(57)【特許請求の範囲】
【請求項１】
サービスの異なるコンポーネントを運ぶトランスポートパケットを含むパケット化データストリームから所望のサービス用のビデオデータを取り込むための方法であり、該コンポーネントがそのコンポーネントに対するパケット識別子(PID)により識別されている特定のトランスポートパケットにより運ばれるところの方法であって、
前記サービスのビデオコンポーネントを運ぶトランスポートパケットを回復するためにトランスポートパケットのPIDをモニターする段階と、
パケット化エレメンタリストリーム(PES)ヘッダ及び画像情報を有するPESパケットを回復するために、回復されたトランスポートパケットからのヘッダ情報を処理する段階であって、前記画像情報は復号化されるべき連続ビデオイメージの間の境界に画像ヘッダを含むところの段階と、
前記PESパケットの少なくともひとつのPESヘッダからタイムスタンプ情報を得る段階と、
前記PESヘッダから得られた前記タイムスタンプ情報が、前記パケット化データストリーム内のPESヘッダより後の次画像ヘッダ内であって、前記次画像ヘッダに含まれる画像開始コードの後ろに挿入されるように、前記タイムスタンプ情報を対応する画像情報に付加してメモリに格納する段階と、
間に画像開始コードを含まないで、タイムスタンプを有する２つのPESパケットヘッダの受信を検出するべく、前記PESパケットをモニターする段階と、
間に画像開始コードを含まないで、タイムスタンプを有する２つのPESパケットヘッダの受信が検出されるような場合に、前記２つのPESパケットヘッダの最初の方からのタイムスタンプを無視しながら、２番目のPESパケットヘッダからのタイムスタンプを次の画像開始コードの後に挿入する段階と、
から成り、
前記画像情報が、前記タイムスタンプ情報に対する前記PESヘッダを再アクセスせずとも、前記メモリから読み出され、付加されたタイムスタンプ情報を使って復号化される、
ところの方法。
【請求項２】
請求項１に記載の方法であって、さらに
間に画像開始コードを含まないで、タイムスタンプを有する２つのPESパケットヘッダを受信したことを示すコードを与える段階と、
前記２つのPESパケットヘッダの内２番目の方からのタイムスタンプが無効であるとして無視されることを防止するために前記コードを使用する段階と、
から成る方法。
【請求項３】
前記画像情報が画素データ及び該画素データが如何に復号化されるかに関する情報を与えるビデオシーケンスヘッダを含むところの請求項１に記載の方法であって、さらに
前記シーケンスヘッダからの情報に応答して、前記メモリをマッピングする段階と、
メモリがマッピングされている間に、当該メモリへの読み書きのアクセス要求が拒否される段階と、
から成る方法。
【請求項４】
請求項１に記載された方法であって、さらに
画像ヘッダの損失の発生を検出するべく、前記画像情報をモニターする段階と、
そのような検出と同時に、後続画像ヘッダの後ろの新しい完全フレームが表示に有効であるまで、前記メモリ内にまだ含まれている画像情報の最近表示された完全フレームの表示を繰り返す段階と、
から成る方法。
【請求項５】
前記コンポーネントのひとつが前記所望のサービス用のタイミング情報を与えるプログラムクロックリファレンス(PCR)を含むところの請求項１に記載の方法であって、さらに
前記データストリーム内でPCRを運ぶコンポーネントから前記所望のサービス用のPCRを検出する段階と、
タイムスタンプ情報により表された時間がデコーダタイムクロックの値より先んじているかどうかを決定するために、前記タイムスタンプ情報を前記PCRで同期されたデコーダタイムクロックの値と比較する段階と、
もし先んじていれば、そのタイムスタンプ情報に関連する画像情報を破棄する段階と、
から成る方法。
【請求項６】
前記画像情報が連続ビデオ映像の間の境界に画像ヘッダを含み、各画像ヘッダが以下のビデオ映像用のリファレンス番号を有するところの請求項１に記載の方法であって、さらに
特定のビデオ映像がそれに関連するリファレンス番号を参照することにより復号化用に選択されることを可能とする段階と、
選択された映像を復号化し、かつ同一リファレンス番号の後続の選択映像が表示準備されるまでそれを静止映像として表示する段階と、
から成る方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオデコンプレッションプロセッサに関し、特に、パケット化データストリームから復号化されるべきビデオデータのような所望のデータを要求するための効果的な方法に関する。
【０００２】
【従来の技術】
テレビ信号のデジタル送信はアナログ技術より非常に高い品質のビデオ及びオーディオサービスを与える。デジタル送信は、特にケーブルテレビネットワークまたは衛星によりケーブルテレビ加入者に及び／または直接的に家庭衛星テレビ受信機に送信される放送に対して有効である。デジタルテレビ送信機及び受信機装置は、オーディオ業界でデジタルコンパクトディスクがアナログレコードに取って替わったように、現在のアナログ装置に取って替わることが期待されている。
【０００３】
実質的な量のデジタルデータがあらゆるデジタルテレビ装置内で送信されなければならない。デジタルテレビ装置において、加入者はビデオ、オーディオ及びデータを加入者に与えるレシーバ／デスクランブラを介してデジタルデータストリームを受信する。有効なラジオ周波数スペクトルを最も効果的に使用するために、送信すべきデジタルデータの量を最小化するべくデジタルテレビ信号を圧縮することが有利である。
【０００４】
テレビ信号のビデオ部分は、一緒になって動画を与えるビデオ“フレーム”の連続から成る。デジタルテレビ装置において、ビデオフレームの各ラインは“画素”と呼ばれる一連のデジタルデータビットにより画成される。大量のデータテレビ信号が各ビデオフレームを画成するのに要求される。例えば、NTSC(National Television System Committee)解像度で、ひとつのビデオフレームを与えるためには７.４メガビットのデータが要求される。これは、６４０画素×４８０本ラインのディスプレイが赤、緑及び青の各３原色に対して８ビットの強度値で使用されることを仮定している。PAL(phase alternating line)解像度では、ひとつのビデオフレームを与えるのに９.７メガビットのデータが必要である。この例では、７０４画素×５７６本ラインのディスプレイが赤、緑及び青の各３原色に対して８ビットの強度値で使用される。この大量のデータを扱うためには、データは圧縮されねばならない。
【０００５】
ビデオ圧縮技術は従来の通信チャネルを通じてデジタルビデオ信号の効果的送信を可能にする。そのような技術は、ビデオ信号内の重要情報のより効果的な表現を引き出すために、隣接画素間の相関関係を利用する圧縮アルゴリズムを使用する。最も強力な圧縮技術は空間的相関関係のみではなく、データをさらに圧縮するために隣接フレームの類似関係をも利用する。そのような装置において、実フレームと実フレームの予測との間の差のみを送信するよう、しばしば差分符号化が使用される。該予測は同一ビデオシーケンスの先行フレームから引き出された情報に基づく。
【０００６】
動き補償を使用したビデオ圧縮装置の例が、Krauseらによる、米国特許第5,057,916号、5,068,724号、5,091,782号、5,093,720号、及び5,235,419号に見られる。概して、そのような動き補償装置はブロックマッチング動き推定アルゴリズムを利用する。この場合、特定のカレントブロックに最も良く類似する先行フレーム内のひとつのブロックを識別することによって、イメージのカレントフレーム内の各ブロックに対してひとつの動きベクトルが決定される。その後、全カレントフレームは対応するブロック対の差を送ることによって、対応する対を識別するのに必要な動きベクトルとともに、デコーダにおいて再構成される。しばしば、送信されたデータ量は置換されたブロック差及び動きベクトル信号の両方を圧縮することによってさらに減少される。ブロックマッチング動き推定アルゴリズムは、離散コサイン変換(DCT)のようなブロックベースの空間圧縮技術と結合された時、特に効果的である。
【０００７】
圧縮されたビデオデータをレシーバへ送信する方法のひとつに、パケット化されたデータストリーム内に含まれるパケット形式がある。典型的に、圧縮ビデオデータを運ぶパケットは、テレビ信号を再構成するのに必要な対応するオーディオデータ及び制御情報を運ぶ他のパケットとともに多重化される。この方法でデジタルテレビ信号を送信するためのひとつの標準規格はMPEG-2規格であり、その詳細はここに参考文献として組み込む、the Telecommunications Standardization Sector、Study Group 15, Experts Group 4ATM-Video Coding of the International Organization for Standardization、 ISO-IEC/JTC1/SC29/WG11により出版された、AVC-491、version 1、April、1993発行の “Coded Representation of Picture and Audio Information”に記載されている。MPEG-2ビデオに対するさらに詳細なビデオシンタックス及びセマンティクスは、同じくここに参考文献として組み入れるInternational Organization for Standardization document ISO/IEC 13818-2 international standard、1995発行の “Generic Cording of Moving Pictures and Associated Audio Information :Video”に記載されている。興味あるものとして、同様に参考文献として組み入れるのはMotorola Microprocessor and Memory Technologies Group、 1994発行のドキュメントMC68VDP/Dの予備データシートの"MPEG-2/DCII Video Decompression Processor"であり、それはMPEG-2及びDigiCipher II規格を使用するビデオデコンプレッションプロセッサを説明する。
【０００８】
MPEG-2装置（及びジェネラル・インスツルメント・コーポレーションの所有の類似DigiCipher II装置）において、トランスポートストリームまたはトランスポートマルチプレクスは、固定長パケットの連続セットから成る。各パケットは長さが全部で１８８バイトあり、その内の最初の４バイトがパケットヘッダとして定義される。したがって各パケットのペイロード(payload)部分は通常１８４バイトである。しかし、可変長付加フィールドが必要に応じヘッダを拡張するのに与えられる。付加フィールドが存在するとき、パケットのペイロード部分は対応して短くなる。
【０００９】
さまざまなタイミング及び識別情報がトランスポートストリームの異なる部分に与えられる。これらは、特定のサービスコンポーネントを運ぶトランスポートパケットを識別するための参照番号を与えるよう各トランスポートパケットのトランスポートヘッド内にあるパケット識別子(PID)を含む。この番号には、テレビ番組信号を再構成するのに要求されるそれらのトランスポートパケットを識別するために、レシーバで使用されるサービス定義またはサービスマップ内に含まれている。PIDはまたさまざまなグルーミング(grooming)及び再多重化機能に対しても参照される。ビデオ、オーディオまたは等時性データにおいて、単一のPIDで表示されたパケットのストリームは、それぞれ単一のビデオ、オーディオまたは等時性データサービスのエレメンタリストリームを表す。
【００１０】
トランスポートストリームにより運ばれたタイミング情報は、サービスマップ内で参照されるPIDから成るサービスの基礎となるシステムタイムクロック(STC)タイムベースのサンプルを効果的に表すプログラムクロックリファレンス(PCR)を含む。PCRとともにパケットを運ぶPIDもまたサービスマップ内で参照される。サービスのビデオ、オーディオ及び等時性データコンポーネントは定義された関係に従ってシステムタイムクロックにロックされる。PCRは転送速度を定義するように機能し、すなわちひとつのPID内のあらゆる２つの連続PCRの間で転送速度は、システムタイムクロックの一単位の時間のPCR内の差で割り算されたPCR間の全トランスポートビット数の比の倍数であるシステムタイムクロック速度と名目的に等しいかまたは定数である。
【００１１】
トランスポートストリームにより運ばれたタイミング情報もまた表示用データの復号化及び表示の開始のためのタイムスタンプを含む。表示タイムスタンプ(PTS)は、サービスコンポーネントの獲得並びにタイミング及びバッファ制御がデコーダにおいて適正に動作しているかどうかを検討するために使用される。デコーダタイムスタンプ(DTS)は、該デコーダがヘッダにDTSを含むパケット化エレメンタリストリーム(PES)パケットのペイロード内のどこからか始まる最初のアクセスユニット（例えば、ビデオフレーム）を復号化し始める時間を示すのに使用される。パケット化エレメンタリデータストリームは可変長でありかつ典型的に固定長トランスポートパケットよりかなり長い端末PESパケットから成るデータストリームである。したがって、典型的にPESパケットは単一PIDを有する複数のトランスポートパケットからのデータから成る。
【００１２】
【発明が解決しようとする課題】
DSTは、ビデオ復号化の開始時間を適正に取るために、ビデオデコンプレッションプロセッサにより要求される。DSTはPESヘッダ内にパッケージ化されているため、レシーバのビデオデコンプレッションプロセッサにとって、解析されるべき関連ビデオデータを受信すると同時にDSTを得ることは困難であり複雑であった。解析前に、ビデオデータは、トランスポートストリームから検索された後に定期的にデータを格納するビデオメモリから検索される。必要なDSTを含むPESヘッダが放棄された後のある時点まで、ビデオデータはビデオデコンプレッションプロセッサによる復号化用に準備されない。
【００１３】
最初にDSTを運んだPESヘッダに再アクセスすることなく、またオーバーヘッドとして残りのPESヘッダを運ぶことなく、ビデオデコンプレッションプロセッサに対しDSTを与えるための方法をもたらすことが有利である。さらに、画像情報が失われた場合にデコーダの迅速な回復を可能にするべく、解圧されるべきビデオデータのフルセットではなく、２つのタイムスタンプの受信を検出するための方法を与えることが有利である。さらに、トランスポートストリームから検索されたビデオデータを格納するべくメモリマップが初期化される時、データが消失しないことを保証するための方法を与えることが有利である。
【００１４】
トランスポートストリームにより運ばれた画像データ内で画像ヘッダの喪失の発生を検知し、かつそのような喪失情報を回復するための方法を与えることが有利である。トランスポートストリームからの静止画像を選択的に復号化し表示するための方法もまた有利である。新規画像がすぐに有効でなければプロセッサのビデオ出力を沈黙させ、新規画像が有効になるまで前の画像を表示するための方法を与えることが所望される。
【００１５】
本発明は、トランスポートストリームからのビデオデータのトラッキング及び取り込み、並びに取り込まれたストリーム内のエラーの検出、マスキング、及び回復のための方法を与える。上記利点を有する本発明について以下に詳細に説明する。
【００１６】
【課題を解決するための手段】
本発明にしたがって、パケット化されたデータストリームから所望のサービス用のビデオデータを取り込むための方法が与えられる。該データストリームは、ビデオコンポーネント、オーディオコンポーネント及び制御コンポーネントのような異なるサービスのコンポーネントを運ぶトランスポートパケットを含む。特定のトランスポートパケットにより運ばれるコンポーネントは当該コンポーネントに対するパケット識別子(PID)により識別される。ひとつのコンポーネントは所望のサービスに対するタイミング情報を与えるプログラムクロックリファレンス(PCR)を含む。方法は、データストリームでPCRを運ぶコンポーネントから、所望のサービス用のPCRを検出する工程から成る。回復されたPCRはエンコーダタイミングに対応するデコーダタイムクロックを取り込みかつトラッキングするのに使用される。その際、トランスポートパケットのPIDは所望のサービスのビデオコンポーネントを運ぶそれらのパケットを回復するべくモニターされる。回復されたトランスポートパケットからのヘッダ情報は、PESヘッダ及び画像情報を有するパケット化エレメンタリストリーム(PES)パケットを回復するべく処理される。タイムスタンプ情報は、少なくとも一つのPESパケットのPESヘッダから得られる。該タイムスタンプ情報はバッファされ、その後メモリに格納するべく関係画像情報へ追加される。このようにして、画像情報はメモリから読み出され、タイムスタンプ情報用のPESヘッダに再アクセスしなくとも追加タイムスタンプ情報を使って復号化され得る。
【００１７】
典型的に画像情報は復号化されるべき連続ビデオイメージ間の境界に画像ヘッダを含む。PESヘッダから得られたタイムスタンプ情報はパケット化データストリーム内のPESヘッダに続く次画像ヘッダ内に挿入される。特に、タイムスタンプ情報は次画像ヘッダ内に含まれる画像開始コードの後に挿入される。
【００１８】
タイムスタンプ情報は復号化されるべき各連続ビデオイメージに対して与えられる。この例において、PESパケットは、エラー発生を示す状態を知るために、介在画像開始コード無しで、タイムスタンプを有する２つのPESヘッダの獲得を検出するためにモニターされる。介在画像開始コード無しで２つのそのようなPESヘッダの受信が検出されるとき、２つのタイムスタンプのうちの最初が無視された状態で、第２のタイムスタンプが次画像開始コードの後に挿入される。後続の処理セクションにエラーの発生を示すため、デコーダによって制御ビットが第２タイムスタンプに関連付けられる。
【００１９】
効果的方法でタイムスタンプ情報の処理に加え、取り込みはメモリの再構成を要求する。画像情報は画素データ及び画素データが如何に復号化されるべきかに関する情報を与えるビデオシーケンスヘッダを含むところの実行において、画像情報を格納するメモリはシーケンスヘッダからの情報に応答して特定のマッピングを獲得すると同時に再構成される。メモリが再構成されている間は、メモリマップの初期化の間にデータが喪失しないことを保証するためにメモリ内に格納されたデータへのアクセスの要求は拒絶される。
【００２０】
所望の静止画像の取り込み、選択及び表示もまたサポートされる。特に、画像情報が連続ビデオ画像の間の境界に画像ヘッダを含む場合、各画像ヘッダは後続ビデオ画像のためのリファレンス番号を含む。特定のビデオ画像がそれに関連するリファレンス番号を参照することによって復号化するために選択される。選択された画像は復号化され、同一のリファレンス番号を有する他の画像が選択され受信され表示されるまで静止画像として表示される。
【００２１】
トランスポートストリームにより運ばれた画像情報は、表示用ビデオプロセッサにより復号化されるべきビデオイメージの終了を示すシーケンスエンドコードを含む。シーケンスエンドコードが検出され、後続ビデオイメージはシーケンスエンドコードに続いて復号化し表示するのに現に有効であるか否かに関する決定が為される。もし、そのような有効な後続ビデオイメージが存在しなければ、ビデオプロセッサのビデオ出力は新規ビデオイメージが有効になるまで沈黙される。替わって、ビデオプロセッサの出力には、新規ビデオ画像が有効になるまで処理された最後のビデオ画像が与えられる。損失画像ヘッダから回復するために、トランスポートストリームから受信された画像情報が画像ヘッダの損失の発生を検知するべくモニターされる。検出と同時に、メモリ内に含まれる最近表示された画像情報の全フレームの表示が、後続画像ヘッダの後に受信されるビデオデータの新規全フレームが表示用に有効になるまで繰り返される。
【００２２】
エラーにより発生するものではないが、エンコーダでスキップされた画像は類似の方法で扱われる。スキップされた画像から回復するために、メモリはフレームの復号化が開始される時、完全なビデオフレーム用のデータがメモリ内に存在するか否かを検出するべくモニターされる。完全なビデオフレームが存在しないと検出されると同時に、メモリ内に含まれている最近表示された復号化画像情報の完全フレームの表示が繰り返される。
【００２３】
無効なタイムスタンプ情報からの回復もまた与えられる。特に、ひとたび有効なDTSに応答して復号化プロセスが開始されると、デコーダは一度にひとつの入力フレームを復号化し続ける。DTSの間、フレームは過去の復号化時間から導かれる時間で復号化される。新規DTSが受信されると、そのDTSにより示された時間は、復号化時間でのデコーダタイムクロックの値と比較される。もしDTSにより示された時間がデコーダタイムクロックの値に先んじたら、（すなわち、DTSがすでに通過してしまったら）同期がくずれかつビデオデコンプレッションプロセッサ(VDP)は復号化処理において後ろにあることが仮定される。したがってそのタイムスタンプ情報に関連する画像情報は放棄され、VDPはその画像を復号化しない。
【００２４】
【発明の実施の形態】
図１は、レシーバでのテレビ番組を再構成するために必要なビデオデータを格納しかつ検索するための外部DRAM22をアドレスするメモリマネージャ30を伴うビデオデコンプレッションプロセッサのブロック図である。符号20で表されるプロセッサは、トランスポートレイヤ（すなわち、制御及びその他のビデオ以外の情報）及び、ビデオプロセッサのトランスポートパケットインタフェースと呼ばれる端子10を通じて入力される圧縮ビットストリームのビデオレイヤの両方を復号化するために設計されたパイプラインプロセッサである。
【００２５】
ユーザプロセッサインタフェースは、プロセッサ20内にさまざまなレジスタを形成するＭバスコントローラ50を通じて、端子14においてビデオデータプロセッサの制御用に与えられる。Ｍバスは、単純でかつ効果的な素子間データ交換のための手段を与える２線式両方向シリアルバスであって、I2Cバス規格と完全にコンパチブルである。
【００２６】
DRAM22へのひとつのインタフェースがアドレスライン24及びデータライン26を通じて与えられる。図１に示された例では、DRAM22は９ビットアドレスポート及び３２ビットデータポートを有する。
【００２７】
ビデオ出力インタフェース38は、例えば、CCIR規格(International Radio Consultive committee)656で、８ビット、２７メガヘルツの多重化ルミナンス(Y)及びクロミナンス(Cr、 Cb)信号として出力される解圧され再構成されるビデオ用に与えられる。
【００２８】
テストインタフェースが端子62を通じて、従来のJTAG(Joint Test Action Group)コントローラ60へ与えられる。JTAGは、内部回路同様にパッケージ及びボード結合における欠陥を検出するためのボードレベル試験用に使用される標準化された境界スキャン方法論である。
【００２９】
ビデオデコンプレッションプロセッサ20は端子12を通じてクロック信号を受信する。該クロックは、トランスポート構文パーザ32が、端子10を通じて入力されたパケット化データストリーム内に含まれるトランスポートパケットからタイミング情報及びビデオ情報を回復可能になるように使用されるタイミング情報を与える。取り込み及びエラーマネージメント回路34は、プログラムクロックリファレンス(PCR)を利用し、画像の復号化の開始と同期化させるべくビデオ構文パーザ40により検出されたタイムスタンプ(DTS)を復号化する。この回路は垂直同期を設定し、すべてのビデオ及び表示機能に対し全体的な同期化を与える。
【００３０】
ビデオレイヤは、メモリマネージャ30により外部DRAM22内に形成された入力バッファ(FIFO)内にバッファされる。ビデオ構文パーザ40はDRAM FIFOから出力された圧縮ビデオデータをメモリマネージャ30を通じて受信し、動きベクトル情報をビデオ情報をもたらす係数から分離する。該係数は、ハフマン(Huffman)デコーダ52、逆量子化器54、及び逆離散コサイン変換(IDCT)プロセッサ56により処理される。
【００３１】
動きベクトルは回復され、カレントビデオフレームを再構成するために必要な先行の復号化ビデオフレームをアドレスするために使用される。特に、動きベクトルデコーダ42はビデオ構文パーザ40から受信された動きベクトルを復号化し、それらを予測アドレスジェネレータ44に送信する。該予測アドレスジェネレータは、予測計算機46がカレントフレームブロックを再構成するのに必要な予測信号を与えることができるように、メモリマネージャ30を通じて必要なアンカーフレーム（すなわち、フレーム内(I)または予測(P)フレーム）データを検索するのに必要なアドレス情報を与える。差分デコーダ48は、デコンプレッションビデオデータを与えるべく、予測データを復号化係数データと結合する。デコンプレッションデータはメモリマネージャ30を通じて、DRAM22の適当なバッファ内に格納される。動きベクトルデコーダ42、予測アドレスジェネレータ44、予測計算機46、差分デコーダ48、ハフマンデコーダ52、逆量子化器54及びIDCT56により実行されるビデオデコンプレッション処理工程は、一般的なものであり当業者に周知の技術であることを認識すべきである。
【００３２】
メモリマネージャ30は、外部DRAMアドレス及びデータバス24、26上のすべての動作を予定し、かつDRAM22を効果的にアドレスする。メモリマネージャは、DRAM22の入力FIFO部分、ビデオ構文パーザ40及びビデオ再構成回路36（予測計算機46及び差分デコーダ48と同様）のデータ送信条件が一致することを保証する。ビデオ再構成回路36はカレント画像を立ち上げ、クローズドキャプション、垂直インターバルテスト信号(VITS)及び/またはテストパターンデータをビデオ出力ライン38への出力用に挿入する。ビデオデータの圧縮フレームのための復号化プロセスは、デコーダタイムクロックにより特定化される時間を、ビデオフレームが復号化されるべき時間を示すデコードタイムスタンプ(DTS)と比較することによって同期化される。デコンプレッションフレームのための表示プロセスはデコーダタイムクロックにより特定化された時間を、ビデオフレームが表示用に与えられるべき時間を示すプレゼンテーションタイムスタンプ(PTS)と比較することにより同期化される。
【００３３】
メモリマネージャはまた、両方向予測フレーム（Ｂフレーム）を伴うかまたは伴わない、例えばNTSCまたはPALの復号化モードに依存するDRAM22のFIFO部分に対し可変サイズをもたらす。ビデオバッファ制御はDRAM22によって与えられるFIFOがオーバーフローまたはアンダーフローしないことを確認する。バッファ制御はPCR及びDTSを含むシステムタイミングパラメータの機能である。
【００３４】
DRAM22は外部メモリとして図示され、８メガビット実行用には２つの４メガビットDRAMを、１６メガビット実行用には４つの４メガビットDRAMを、というように複数のDRAMチップによりもたらされる。将来的には、メモリ技術の進歩によりDRAM22はビデオデコンプレッションプロセッサ内の内部メモリとして与えられるであろう。DRAMは圧縮された入力ビデオビットストリームに対する循環FIFOバッファと同様に、さまざまなデコード及び出力ビデオバッファを与えるべくマッピングされる。DRAMはまた、復号化されたビデオフレームを適正に表示するのに必要なさまざまな画像組立データを格納するとともに、テストパターンバッファ、VITSバッファ、及びクローズドキャプション表示並べ替えバッファを与えるためにも使用される。DRAMは、PALまたはNTSCビデオか、８または１６メガビットメモリ形式か、またBフレームが存在するか否か等により変数が修正されたときに要求されるような異なるメモリマップを与えるために、メモリマネージャ30を通じて再初期化される。
【００３５】
上記したように、メモリマネージャ30は、入力FIFO、ビデオパーザ及びビデオ再構成回路のデータトランスポート条件を含む外部DRAMバス上のすべての動作を予定する。メモリマネージャはまた、従来の方法で、要求されたDRAMをリフレッシュする。例えば、各２つまたは４つの外部DRAM内の同一行が同時にリフレッシュされる。
【００３６】
圧縮ビデオデータを含むパケット化ビットストリームがビデオデコンプレッションプロセッサ20の端子10に入力されるとき、圧縮データにより表されたビデオフレームが一度にひとつずつ再構成される。最初に、完全フレームのビデオデータが受信されDRAM22内に格納されなければならない。後続ビデオフレーム用の情報は、先行ビデオフレーム（DRAM22内に格納された）からの予測データに加えられれば完全フレームを再構成するであろう完全ビデオフレームのサブセットから成る。
【００３７】
図２(A)は、各々がヘッダ(PES-HDR)72及びPESペイロード74を有する連続のPESパケットを運ぶパケット化されたエレメンタリストリームの一部を示す。PESパケット70は可変長である。
【００３８】
典型的に、PESパケットの長さは数千バイトである。それらは、トランスポートパケットペイロード内で分割されたとき、各PESヘッダの最初のバイトがあるトランスポートパケットの最初のペイロード位置に配置されるような方法で並べられるよう要求される。整列PESヘッダを運ぶすべてのトランスポートパケットに対し、ペイロードユニット開始インジケータがトランスポートパケット用のトランスポートヘッダ内にセットされる。MPEG-2及びDigiCipher IIシステムにおいて、PESフォーマットは固有の同期状態にあるすべてのサービスコンポーネントに対して使用される。特に、ビデオ、オーディオ及び等時性データコンポーネントがパケット化エレメンタリストリームとして運ばれ、PESヘッダ72はパケット開始コードプレフィクス、ストリーム識別、及びPESパケット長を含むペイロードを画成するのに必要なさまざまな情報を運ぶ。ヘッダはまたプレゼンテーションタイムスタンプ(PTS)またはPTSとデコードタイムスタンプ(DTS)の両方を含む。ヘッダがPTSのみを運ぶとき、DTSはPTSと同一であると推定される。最初のプレゼンテーションユニット（すなわち、ビデオフレーム、オーディオ同期化フレーム、等時性データアクセスユニット）であってそのアクセスユニットがこのPESパケットのペイロード内のどこかで開始するものが存在するとき、PTSはデコーダ装置タイムクロックリファレンスの対応するバイトが有すべき値を示すフィールドである。ビデオに対して、もし画像開始コードの最初のバイトがPESパケットのペイロード内に存在すれば、アクセスユニットが開始する。オーディオに対して、もしオーディオ同期ワードがこのPESパケットのペイロード内に存在すれば、アクセスユニットが始まる。等時性データに対して、アクセスユニットはPESパケットペイロードの最初のバイトで開始する。PTSフィールドはサービスコンポーネントの取り込みに使用され、タイミング及びバッファ制御がデコーダにおいて適正に動作しているかどうかを評価するために使用される。
【００３９】
デコーダがPESパケットのペイロード内のどこかで開始された最初のアクセスユニットを復号化し始めたとき、DTSは、再構成されたデコーダタイムクロックリファレンスの対応ビットとして持つべき値を示すフィールドである。PTS及びDTSは、ビデオに対してのみ、及びBフレームとともにIフレーム及びPフレームが送信されるようなケースでのみ異なるものである。
【００４０】
PESペイロードはレシーバへ送信されるのを所望される情報データを含む。例えば、ペイロードはレシーバにとってデジタルテレビ信号を復号化し再構成するために必要なすべてのビデオまたはオーディオ情報を一緒に含む。
【００４１】
粗さ及び単純さの要求に合わせるために、固定パケット長アプローチが可変長PESパケットに対し好適である。図２(B)に示されるように、PESパケット70を含むパケット化エレメンタリストリームは固定長トランスポートパケット80のストリームへフォーマットされる。図２(B)に示されたトランスポートパケットは、デジタルテレビ送信のビデオコンポーネントのような同一のサービスコンポーネントに対応している。MPEG-2及びDigiCipher IIの例において、各パケットは全部で１８８バイトの長さを有し、内最初の４バイトがトランスポートパケットヘッダ(XPT HDR)82を構成する。したがって、各パケット80のペイロード部分84は通常１８４バイトである。しかし、トランスポートパケット80’で示されるような付加的なフィールド機構が必要に応じてヘッダを拡張するべく与えられる。付加フィールド86は、すべてのトランスポートパケットに対しては必要でない付加的情報を与える。付加的フィールド(ADPT FIELD)86は、付加フィールドが与えられるときはいつでも１８４バイト以下であるペイロードを犠牲にして標準的トランスポートヘッダ82を拡張する。付加的フィールド86は、そこに含まれる情報量によって可変長である。典型的に、付加フィールドはタイムベースリカバリその他の機能に対する付加的情報をサポートし、またペイロードが１８４バイトすべてを占めないときにペイロードを水増しするための機構も与える。例えば、そのような、水増しは、可変長ビデオPESパケットを固定数のトランスポートパケット内に納めるために使用される。
【００４２】
図２(B)に示されるように、各トランスポートパケットのトランスポートヘッダはトランスポートパケットにより運ばれる特定のサービスコンポーネントを識別するためのPIDを含む。PCRは、所望のサービス用のタイミング情報を与えるべく付加的フィールドにより運ばれる。レシーバにおいて、所望のサービスに対するPCRが付加的フィールドから検出される。特定のPIDのトランスポートパケットは処理中のサービスの特定のコンポーネントを回復するべくモニターされる。図１のビデオデコンプレッションプロセッサはビデオ情報を処理するので、処理中のビデオコンポーネントを示すPIDを有するすべてのトランスポートパケットを探すためにトランスポートパケットをモニターする。ビデオコンポーネントの処理は図３との関係でさらに詳細に説明される。
【００４３】
さまざまなサービスコンポーネントからのトランスポートパケットは図２(C)に示されるようにトランスポートマルチプレクス90で多重化される。トランスポートマルチプレクスは、レシーバにおいてサービスを再構成するのに必要な各異なるコンポーネント（例えば、ビデオ、オーディオ及び制御）からの散在パケットを運ぶ。図２(C)に示された転送多重化の例において、ビデオトランスポートパケット80(A1、A2、A3.....)の次にオーディオトランスポートパケット92(B1、B2、B3......)が続き、その次にさらにトランスポートパケットストリームにより運ばれた他のサービスまたはデータであるコンポーネントパケット94(C1、C2、C3......)が続いている。
【００４４】
図３は、図１に示されたようなビデオデコンプレッションプロセッサによるビデオトランスポートパケットの処理を示したものである。複数のトランスポートパケット80は、連続トランスポートパケットからPESペイロードを再構成するのに必要なペイロード情報を取り去るトランスポート構文パーザ32により受信される。トランスポートヘッダ82内の情報はペイロード情報を識別するのに使用され、その結果PESヘッダ72と同様にPESペイロードデータ74の再構成も可能となる。上記したように、PESパケットは、それらがトランスポートペイロードに分割されたとき、各PESヘッダの最初のバイトがあるトランスポートパケットの最初のペイロード位置で見つかるように並べられる。ペイロードユニット開始インジケータをトランスポートヘッダ内で検出すると同時に、トランスポート構文パーザはそのトランスポートパケット内の最初のペイロード位置にはPESヘッダが含まれていることを知る。
【００４５】
PESヘッダ72内に含まれるアイテムのひとつ（または、PESヘッダ内のPTSから推定されるもの）は、適正に画像データを復号化するためにビデオ構文パーザ40で必要なデコードタイムスタンプ(DTS)104である。本発明にしたがって、DTSはPESヘッダ72から抽出され、DRAM22のFIFO部分内に格納されたビデオ情報（画像データ）102内の画像ヘッダ100の後に再挿入される。DRAM22内に格納されたビデオ情報内へDTSを挿入することによって、デコンプレッションプロセッサがDRAM外のソースからDTSを検索しなくてもビデオ情報を処理することができるようになる。PTSもまた、もしDTSと異なる場合にはDRAM22内に格納される。
【００４６】
本発明の最大の特徴は、DTSが検出され、次に前のDTSがDRAM22に書き込まれることなく２番目のDTSが検出されるような特別のケースにおいて、ビデオ構文パーザに対しこのような状況を指示するべく特別のコードが与えられることである。より詳細には、ビデオ構文パーザはパケットが画像ヘッダを損失したことを知らせ、受信された２番目のDTSが次の画像として適当であろう旨を知らせる。パーザは、画像ヘッダの損失を検出すると、次画像に関連するDTSを捨てる。しかし、状況を識別する特別コードを受信すると同時に、ビデオ構文パーザ40はカレントDTSが先行の未使用DTSを上書きし、カレントDTSが有効であると仮定されていることを知る。
【００４７】
トランスポートストリームのビデオコンポーネントが上記したように取得されている間、ビデオ構文パーザ４０は続けてメモリマネージャ30からデータを要求し続ける。パケットインタフェースによりデータが書き込まれる速度は、それが解析される速度より非常に遅い為、DRAM22内のFIFOはパケットインタフェースがそこにデータを書き込んだ後すぐにはほぼ空白である。それから構文パーザは、DRAM22内のメモリマップを初期化するためにシーケンスヘッダ内で必要な情報のためのデータを解析する。シーケンスヘッダはPESペイロード内で運ばれるビデオ構文の一部であり、新しい一連のビデオ情報（画像）が続くことを示す。シーケンスヘッダは、DRAM22が圧縮されたビデオの解圧用のデータを格納するべく適正にマッピングされるように使用されるビデオコード（例えば、水平サイズ、垂直サイズ、サンプルアスペクト比、フレームレート、ビットレート、及びフレーム内／非フレーム内量子化等）及び画像のパラメータを識別する。シーケンスヘッダに付加されたシーケンス拡張部を検出すると同時に、メモリマップが初期化される。シーケンス拡張部は、ビデオがインタレース方式かプログレッシブ方式のいずれによりスキャンされたかというような付加的情報を与える。メモリマップの初期化中には、DRAM22へのアクセスはすべて拒否される。メモリマップが初期化された後は、DRAMへのアクセスが可能になる。この操作により、メモリマップが初期化される際、DRAM22のFIFO部分内に格納されたデータは喪失しないことが保証される。その後、ビデオ構文パーザ40はビデオデータのデコンプレッションを開始するために有効なDTSを有する最初の画像ヘッダを探し始める。
【００４８】
あらゆるデジタル通信方法において、時々データはトランスポートチャネルを通じて失われることが予想される。ビデオデータがビデオデコンプレッションプロセッサへ通信されるとき、画像ヘッダが損失することは有り得る。また受信ビデオデータを処理している最中に、DRAM22のFIFO部分がオーバーフローまたはアンダーフローすることも有り得る。このような場合には、エラー処理は、テレビスクリーン上で視聴者が気付く程の歪みの可能性を最小化させるように働かねばならない。スキップ画像も処理されねばならない。スキップ画像は送信チャネルから生じたエラーではないが、他のエラー同様に処理される。
【００４９】
MPEG-2及びDigiCipher II規格において、基本的ビデオのユニットはマクロブロックである。マクロブロックは１６×１６のビデオ画素のグループである。ビデオは階層的に符号化される。シーケンスはビデオシーケンスである。シーケンスは画像の集合から作られている。画像の集合は個別の画像から作られている。各画像は動きビデオの単一フレームに対応する。画像はスライス状に分解される。各スライスはマクロブロックから成る。マクロブロックは、１６×１６のルミナンス画素及び８×８のクロミナンス画素の２つのブロックを含む、計６つの８×８ブロックから成る。ブロックとは画素のあらゆる８×８ブロックを説明するのに使用される用語である。
【００５０】
画像ヘッダの損失を検出するために、図１に示されるデコンプレッションプロセッサのビデオ構文パーザ４０は各画像スライスの垂直位置をモニターする。もし、スライス垂直位置ｎ＜スライス垂直位置ｎ−１でありかつスライス垂直位置ｎ及びスライス垂直位置ｎ−１との間に画像ヘッダが存在しないならば、スライス垂直位置ｎは新規画像に属し、画像ヘッダが損失したと仮定される。もしパーザが損失画像ヘッダを検出すれば、それは次の画像ヘッダ上に発見でき取得できるが、もしそれがひとつのDTSを持っており、カレントDTSが有効であると仮定された上書き済みDTSであると知らされていなければ、そのDTSを無視する。もし、DTSが存在しなければ、ビデオ構文パーザは前のタイミング情報に基づいてひとつを予測する。もしエラーのため予測が間違っていたら、次の有効DTSが生まれるまでの短時間の間、装置は非同期状態にある。パケットインタフェースとビデオ構文パーザがいずれも損失した画像ヘッダで画像をカウントしていなかったため、DRAM22のFIFO部分内の画像のカウントは正しいままの状態を保つ。
【００５１】
画像が失われたときはいつでも、前の画像の表示が繰り返される。特に、DRAM22内で有効な最近表示された完全フレームが繰り返される。典型的に、これは最近表示されたIまたはPフレームである。最近のBフレームはDRAM22がBフレームを保持するのに十分に大きくなければ繰り返されず、それは無駄であり好適実施例ではない。
【００５２】
トランスポート構文パーザ32は画像開始コード及びシーケンスエンドコードの発生をモニターすることにより、DRAM22内のFIFO部分に完全画像の存在を検出する。FIFO内の画像数を調べると同時に、もしデコーダが復号化開始時間にFIFO内に完全な画像が存在しないと決定したら、エンコーダにおいてスキップ画像が発生したことが仮定される。
【００５３】
もしスキップ画像が検出されたら、現にFIFO内の不完全画像に関連するDTSが無効であると定義されるため無視される。ビデオプロセッサはDTSを予測しFIFOの状態を調べ続ける。完全画像がFIFO内に存在するとき、復号化が開始される。完全画像がFIFO内に生じるのを待つ間、最近表示された画像が繰り返される。
【００５４】
もしDTSが過去において、すなわち再構成されたデコーダタイムクロックにより指定されたカレント時間以前に存在することを検出されたら、同期はいくらかずれていて復号化処理が遅れてしまったことが仮定される。これが起きると、誤ったDTSに関連する画像データは復号化されず破棄される。もし、次の画像がDTSを持っていなければ、同期のずれは１画像以下であると仮定されてそれは復号化される。もし次の画像がDTSを持っていたら、DTSは過去に存在したか、その場合それは破棄されたかを確かめるべくチェックする必要がある。もしDTSが過去に存在しなければ、該DTSがカレントのとき関連する画像が復号化される。
【００５５】
FIFOがオーバーフローの場合、パケットは破棄され、オーバーフローが止んだあと最初にFIFOに書き込まれるのはシーケンスエラーコードである。復号化処理はこのような場合も他のパケットエラーと同様に扱い、エラーを隠そうとしながら破棄されたパケット内のデータに対しビデオ固定を適用する。アンダーフローは上記したスキップ画像と同じに扱われる。
【００５６】
静止映像は高速または低速モードでサポートされる。高速静止映像モードは、例えばユーザインタフェース14（図１）を通じてビデオプロセッサ内に、例えばカタログショッピングバイトをセットするユーザにより始められる。一度プロセッサがこのモードになると、時間リファレンスがページ番号レジスタ内の時間リファレンスと一致するような画像のみを復号化し表示する。ユーザプロセッサは、このレジスタを設定することによりどのページ（静止映像）が復号化されかつ表示されるかを選択しなければならない。
【００５７】
低速静止映像モードは低速画像ソースを表示するために、スライドショーに似たビデオプロセッサのスキップ画像性質のMPEG-2を使用する。取り込みの後、ビデオプロセッサがFIFO内に完全な画像が存在することを発見するときは常に、バッファ内に次の完全画像が存在するまでこの画像が復号化されかつ表示される。
【００５８】
もし新しい画像がすぐに続いていなければ、ビデオプロセッサはシーケンスエンドコードの後ビデオ出力を遮断するべく実行される。ビデオ再構成回路36のビデオ出力を遮断することは、ユーザのテレビスクリーンを黒くさせることになる。新しい画像が受信されるまでビデオ出力を遮断する替わりに、次の画像が受信されるまでシーケンスの最後の画像が繰り返される。それはケーブルテレビのヘッドエンドなどにコマーシャルを挿入する際に便利である。
【００５９】
本発明は、パケット化されたデータストリームからのビデオデータをトラッキングしかつ取り込むための、並びにそのようなデータ内のエラーを検出し、隠し及び回復するための改良された方法を与えることを認識すべきである。PESヘッダから引き出されたタイミング情報は、画像情報の復号化を容易にするためにビデオメモリ内に画像情報とともに格納される。トランスポートエラーを隠しかつ回復するためのさまざまな技術が与えられる。
【００６０】
発明は特定の実施例に関して説明されてきたが、特許請求の範囲に記載された発明の思想及び態様から離れることなく、さまざまな修正及び変更が可能であることは、当業者の知るところである。
【図面の簡単な説明】
【図１】  本発明の方法において使用するビデオデコンプレッションプロセッサのブロック図である。
【図２】  いかに可変長PESパケットが送信用の転送多重化を与える際に使用するために固定長トランスポートパケット内に再編成されるかを示す図である。
【図３】  いかに受信されたトランスポートパケットがデコーダにおいて、図１のDRAM内に格納するべく、画像情報及びタイムスタンプ情報を回復するために処理されるかを示した図である。
【符号の説明】
70                  PESパケット
72                  PESヘッダ
74                  PESペイロード
80                  ビデオトランスポートパケット
80’                トランスポートパケット
82                  トランスポートパケットヘッダ
84                  ペイロード
86                  付加的フィールド
90                  トランスポートマルチプレスクス
92                  オーディオトランスポートパケット
94                  他のコンポーネントパケット
【図１】
0003839089.tif 000002
【図２】
0003839089.tif 000003
【図３】
0003839089.tif 000004