(57)【特許請求の範囲】
【請求項１】
符号化されたビデオイメージを表すビデオデータのビットストリームを復号・表示するシステムであって、
前記ビデオデータのビットストリームを復号する復号器と、
前記復号器に連結された多数のビデオメモリマネージャであって、前記多数のメモリマネージャの各々は、参照フレームデータおよび双方向フレームデータからなる復号されたビデオデータグループ毎にカスタマイズされたメモリ管理のポリシーを使用して前記復号されたビデオデータの異なるグループを取り扱い、そして前記多数のビデオメモリマネージャは、前記復号されたビデオデータの参照フレームデータを取り扱う第１メモリマネージャと、前記復号されたビデオデータの双方向フレームデータを取り扱う第２メモリマネージャとからなる、ビデオメモリマネージャと、
対応する多数のビデオメモリであって、前記多数のビデオメモリの各々は、前記多数のビデオメモリマネージャに対応するようにそれぞれ連結され、これにより前記復号されたビデオデータグループ毎に異なるメモリ管理を行い、そして前記対応する多数のビデオメモリは、前記参照フレームデータを格納するために、前記第１ビデオメモリマネージャに連結された第１ビデオメモリと、前記双方向フレームデータを格納するために、前記第２ビデオメモリマネージャに連結された第２ビデオメモリとからなり、前記第１ビデオメモリの記憶容量は、２つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分であり、前記第２ビデオメモリの記憶容量は、１つの完全なフレーム用の復号されたビデオイメージ情報を格納するのに十分な記憶容量よりも小さい、対応する多数のビデオメモリと、
前記ビデオイメージを表示するために、前記多数のビデオメモリマネージャに連結された表示サブシステムと、
からなるシステム。
【請求項２】
請求項１記載のシステムにおいて、
前記第１ビデオメモリマネージャにトップ・フィールド・ファースト信号およびリピート・トップ・フィールド信号が供給されることを特徴とするシステム。
【請求項３】
請求項１記載のシステムにおいて、
前記第２ビデオメモリマネージャに前記トップ・フィールド・ファースト信号を供給するシステム。
【請求項４】
請求項１記載のシステムにおいて、
前記第１ビデオメモリマネージャにトップ・フィールド・ファースト信号およびリピート・トップ・フィールド信号を供給し、前記第２ビデオメモリマネージャに前記トップ・フィールド・ファースト信号を供給するシステム。
【請求項５】
請求項１記載のシステムにおいて、
前記第２ビデオメモリマネージャおよび前記第２ビデオメモリに連結されたデータ圧縮器であって、前記第２ビデオメモリ中に格納されるべき前記双方向フレームデータを圧縮する、データ圧縮器と、
前記第２ビデオメモリマネージャおよび前記第２ビデオメモリに連結されたデータ復元器であって、前記第２ビデオメモリから読み出された前記圧縮された双方向フレームデータを復元する、データ復元器と、
からさらになるシステム。
【請求項６】
請求項５記載のシステムにおいて、
前記データ圧縮器は、前記ビデオデータを圧縮するエラー拡散機構および画素切り捨て機構からなり、前記データ復元器は、前記第２ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元する画素再構築機構およびビット連接機構からなるシステム。
【請求項７】
請求項１記載のシステムにおいて、
前記第１ビデオメモリマネージャおよび前記第１ビデオメモリに連結されたデータ圧縮器であって、前記第１ビデオメモリ中に格納されるべき前記参照フレームデータを圧縮する、データ圧縮器と、
前記第１ビデオメモリマネージャおよび前記第１ビデオメモリに連結されたデータ復元器であって、前記第１ビデオメモリから読み出された前記圧縮された参照フレームデータを復元する、データ復元器と、
からさらになるシステム。
【請求項８】
請求項１記載のシステムにおいて、
前記第１ビデオメモリマネージャおよび前記第１ビデオメモリに連結された第１データ圧縮器であって、前記第１ビデオメモリ中に格納されるべき前記参照フレームデータを圧縮する、第１データ圧縮器と、
前記第１ビデオメモリマネージャおよび前記第１ビデオメモリに連結された第１データ復元器であって、前記第１ビデオメモリから読み出された前記圧縮された参照フレームデータを復元する、第１データ復元器と、
前記第２ビデオメモリマネージャおよび前記第２ビデオメモリに連結された第２データ圧縮器であって、前記第２ビデオメモリ中に格納されるべき前記双方向フレームデータを圧縮する、第２データ圧縮器と、
前記第２ビデオメモリマネージャおよび前記第２ビデオメモリに連結された第２データ復元器であって、前記第２ビデオメモリから読み出された前記圧縮された双方向フレームデータを復元する、第２データ復元器と、
からさらになるシステム。
【請求項９】
請求項７記載のシステムにおいて、
前記データ圧縮器は、前記ビデオデータを圧縮するエラー拡散機構および画素切り捨て機構からなり、前記データ復元器は、前記第１ビデオメモリ中に格納されている前記圧縮されたビデオデータを復元する画素再構築機構およびビット連接機構からなるシステム。
【請求項１０】
請求項１記載のシステムにおいて、
前記多数のビデオメモリマネージャのうちの少なくとも１つのビデオメモリマネージャおよびそれと対応する連結されているビデオメモリに連結された少なくとも１つのデータ圧縮器であって、前記対応する連結されているビデオメモリ中に格納されるべき復号されたビデオデータを圧縮する、少なくとも１つのデータ圧縮器と、
前記多数のビデオメモリマネージャのうちの少なくとも１つのビデオメモリマネージャおよびそれと対応する連結されているビデオメモリに連結された少なくとも１つのデータ復元器であって、前記対応する連結されているビデオメモリから読み出されたビデオデータを復元する、少なくとも１つのデータ復元器と、
からさらになるシステム。
【請求項１１】
請求項１０記載のシステムにおいて、
少なくとも１つのデータ圧縮器は、損失性であるシステム。
【請求項１２】
請求項１０記載のシステムにおいて、
少なくとも１つのデータ圧縮器は、非損失性であるシステム。
【請求項１３】
請求項１０記載のシステムにおいて、
前記少なくとも１つのデータ圧縮器は、前記ビデオデータを圧縮するエラー拡散機構および画素切り捨て機構からなり、前記少なくとも１つのデータ復元器は、前記対応する連結されているビデオメモリ中に格納されている前記圧縮されたビデオデータを復元する画素再構築機構およびビット接合機構からなるシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＥＧ（"Moving Picture Experts Groups"）復号・表示システムに関し、より詳細には、ビデオイメージの復号・表示用のＭＰＥＧ復号・表示システムで必要とされるビデオメモリサイズの減少に関する。
【０００２】
【従来の技術】
１９８０年代末期、モーションビデオおよびそれに関連する音声を第１世代ＣＤ−ＲＯＭ上に１．４Ｍビット／秒で載せる必要が生じた。この目的のため、１９８０年代末期および１９９０年代初頭、ＩＳＯ（「国際標準化機構」）ＭＰＥＧ委員会は、ビデオおよび２チャンネルステレオ音声のためのデジタル圧縮規格を開発した。この規格は、通称ＭＰＥＧ−１、公式にはＩＳＯ１１１７２として知られている。
【０００３】
ＭＰＥＧ−１に続き、衛星、カセットテープ、放送およびＣＡＴＶなどの伝送媒体用のエンターテインメントテレビを圧縮する必要が生じた。従って、フル解像度の標準解像度テレビ（ＳＤＴＶ）画像または高品位テレビ（ＨＤＴＶ）画像用のデジタル圧縮方法を利用可能にするため、ＩＳＯは通称ＭＰＥＧ−２、公式にはＩＳＯ１３８１８として知られる第２の規格を開発した。ＭＰＥＧ−２を最適化するために選ばれたビットレートは、ＳＤＴＶについては４Ｍビット／秒および９Ｍビット／秒、ＨＤＴＶについては２０Ｍビット／秒であった。
【０００４】
ＭＰＥＧ−１規格もＭＰＥＧ−２規格も、どの符号化方法を使用するか、符号化プロセス、または符号器の詳細について規定していない。これらの規格は、復号器へのデータ入力を表現するためのフォーマット、およびこれらのデータを解釈するためのルールセットを規定しているのみである。データを表すためのこれらのフォーマットは、構文と呼ばれ、ビットストリームと称される種々の有効なデータストリームを構築するのに用いることができる。データを解釈するためのルールは、復号意味論と呼ばれる。復号意味論の順序集合は、復号プロセスと呼ばれる。
【０００５】
ＭＰＥＧ構文は、空間的冗長性と時間的冗長性の両方を利用する種々の符号化方法をサポートしている。空間的冗長性は、８×８画素ブロックのブロックベースの離散コサイン変換（「ＤＣＴ」）符号化を用いて利用され、その後に量子化、ジグザグスキャン、および０量子化されたインデックスおよびこれらインデックスの振幅の可変長符号化が行なわれる。ＤＣＴ係数の知覚的重み付け量子化を可能にする量子化行列は、知覚的に無関係の情報を捨てるために用いることができ、従って、符号化効率がさらに向上する。一方、時間的冗長性は、動き補償予測、順方向予測、逆方向予測および双方向予測を用いて利用される。
【０００６】
ＭＰＥＧは２タイプのビデオデータ圧縮方法、すなわちフレーム内符号化およびフレーム間符号化を提供する。
【０００７】
フレーム内符号化は、空間的冗長性を利用するためのものである。対話的要件の多くは、フレーム内符号化のみで満たし得る。しかしながら、低ビットレートのいくつかのビデオ信号においては、フレーム内符号化のみで達成できる画像品質は十分ではない。
【０００８】
従って、時間的冗長は、予測エラーと呼ばれるフレーム間差信号を計算するＭＰＥＧアルゴリズムにより利用される。予測エラーの計算において、動き補償の技術は、動きについての予測を補正するために使用される。Ｈ.２６１におけるように、マクロブロック（ＭＢ）アプローチは、ＭＰＥＧにおける動き補償に採用されている。前方向予測と呼ばれる一方向の運動評価において、符号化しようとするピクチャ内の目標ＭＢは、参照ピクチャと呼ばれる過去のピクチャ内の同サイズの移動されたマクロブロックのセットと突き合わせられる。Ｈ.２６１におけるように、目標マクロブロックに最もよく一致する参照ピクチャ内のマクロブロックが予測ＭＢとして用いられる。予測エラーは、次に目標マクロブロックと予測マクロブロックとの差として計算される。
【０００９】
Ｉ．ピクチャバッファサイズ
（１）２つの参照フレーム
要約すれば、ＭＰＥＧ−２はビデオピクチャを３タイプのピクチャ（すなわち、イントラ「Ｉ」、予測「Ｐ」および双方向予測「Ｂ」）に分割する。定義により、Ｉピクチャ内のすべてのマクロブロックは、（ベースラインＪＰＥＧピクチャのように）符号化イントラでなければならない。さらに、Ｐピクチャ内のマクロブロックはイントラあるいは非イントラとして符号化し得る。Ｐピクチャの非イントラ符号化の間に、Ｐピクチャは、前に再構築されたピクチャから一時的に予測され、それにより直前のＩまたはＰピクチャについて符号化される。最後に、Ｂ（すなわち双方向的予測）ピクチャ内のマクロブロックは、独立して、イントラあるいは順方向予測、逆方向予測または順方向および逆方向（補間）予測などの非イントラとして選択され得る。Ｂピクチャの非イントラ符号化の間に、ピクチャは、直後のＩまたはＰピクチャだけでなく、直前のＩまたはＰピクチャを基準として符号化される。符号化順序については、Ｐピクチャは因果的であるのに対し、Ｂピクチャは因果的ではなく、予測用に偶然に符号化された２つの包囲するピクチャを使う。圧縮効率については、Ｉピクチャは効率が最も低く、Ｐピクチャは多少よく、Ｂピクチャは最も効率的である。
【００１０】
すべてのマクロブロックヘッダーは、マクロブロックタイプと呼ばれる要素を含み、これはスイッチのようにこれらのモードをオンおよびオフにできる。マクロブロック（または、ＭＰＥＧ−２におけるようなモーションタイプ）タイプは、ことによると、ビデオ構文全体の中で単独で最も強力な要素である。ピクチャタイプ（Ｉ、ＰおよびＢ）は、単に、意味論の範囲を広げてマクロブロックモードを可能にする。
【００１１】
ピクチャのシーケンスは、Ｉ、ＰおよびＢピクチャのほとんどどのようなパターンからでも成り得る。固定パターン（例えば、ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢ）を持つことは工業的には一般的であるけれども、より進化した符号器は、よりグローバルな特徴の文脈中のローカルなシーケンスの特徴に従って３つのピクチャタイプの配置を最適化することを試みるであろう。
【００１２】
上記で説明したように、Ｂピクチャを再構築するためには復号器は２つの参照フレーム（すなわち、２つのＰフレーム、ＰおよびＩフレーム各１つ、または２つのＩフレーム）を必要とするので、ビデオ復号・表示システムは、２つの参照フレームを格納するために、ビデオメモリの少なくとも２つのフレームを割り当てなければならない。
【００１３】
（２）２つの半フレーム
（Ｉ）インターレースビデオ
さらに、ＭＰＥＧ−２は、フレームがプログレッシブに符号化、またはインターレースされ「プログレッシブフレーム」変数により信号で伝えられ得ることを定義する。
【００１４】
プログレッシブフレームは、フィルムから組織されたビデオ材料のための論理選択であり、そこではすべての「画素」が統合、すなわちほとんど同じ瞬間にキャプチャされる。ピクチャ上の場面の光学的イメージは、１度に１ラインが、左から右そして上から下へ走査される。垂直方向に表し得る細部は、走査線数により制限される。従って、ラスタ走査低下の結果として、垂直解像度の細部のいくらかが失われる。同様に、各走査線のサンプリングのため、水平方向の細部のいくらかが失われる。
【００１５】
走査線の選択は、帯域幅、フリッカおよび解像度の矛盾した要件間のトレードオフを伴う。インターレースフレーム走査は、異なる時間にサンプリングされた２つのフィールドのラインで構成されたフレームを用いてこれらのトレードオフを達成しようとし、２つのフィールドのラインはインターリーブされており、それにより、フレームの２つの連続するラインは交互のフィールドに属する。これは空間的および時間的解像度における垂直−時間的トレードオフである。
【００１６】
インターレースされたピクチャのために、ＭＰＥＧ−２は２つの「ピクチャ構造」の選択を提供する。「フィールドピクチャ」では、各々がマクロブロックに分割されて、かつ別々に符号化される個々のフィールドから構成される。他方、「フレームピクチャ」で、各インターレースされたフィールドペアは、１つのフレームに共にインターリーブされ、そのフレームは次にマクロブロックに分割され、符号化される。ＭＰＥＧ−２は、インターレースされたビデオが交互のトップおよびボトムフィールドとして表示されることを必要とする。しかしながら、フレーム内では、トップまたはボトムフィールドの一方が、一時的に最初に符号化され、フレームの第１フィールドピクチャとして送られる。フレーム構造の選択は、ＭＰＥＧ−２パラメータの１つにより示される。
【００１７】
インターレースされたフレームピクチャを処理する従来の復号・表示システムにおいては、たとえトップフィールドおよびボトムフィールドのために再構築された両方のデータが復号器により同時に生成されたとしても、ボトムフィールドはトップフィールドの表示完了後にやっと表示されるか、あるいは逆の場合も同じである。ボトムフィールド表示においては、この遅延のため、遅延したものについてボトムフィールドを格納するために、１フィールド（半フレーム）サイズのバッファが必要である。付加的な１フィールド（半フレーム）のこの付加的なビデオメモリ要件が、２つの参照フレーム（すなわち、Ｉおよび／またはＰフレーム）を格納するために必要な２つのフレームの上述の要件に加えられることに留意されたい。
【００１８】
（ｉｉ）３：２プルダウン
リピート・ファースト・フィールドは、現在のフレームからのフィールドまたはフレームが、フレームレート変換の目的のために繰り返されるべきである（３０Ｈｚ表示対２４Ｈｚ符号化の下記例のように）ことを信号で伝えるために、ＭＰＥＧ−２に導入された。平均して、２４フレーム／秒符号化シーケンスにおいて、１つおきの符号化されたフレームは、リピート・ファースト・フィールドフラッグを信号で伝えるであろう。従って、２４フレーム／秒（または４８フィールド／秒）符号化シーケンスは、３０フレーム／秒（６０フィールド／秒）表示シーケンスになるであろう。このプロセスは数十年来、３：２プルダウンとして知られている。テレビ出現以来、ＮＴＳＣディスプレイ上で見られたほとんどの映画は、この方法で表示されてきた。ＭＰＥＧ−２フォーマットにおいては、リピート・ファースト・フィールドフラッグはあらゆるフレーム構造化ピクチャにおいて独立して決定されるので、実際のパターンは不規則となり得る（それは、文字どおり１つ置きのフレームである必要はない）。
【００１９】
ＭＰＥＧ−２ビデオについては、ビデオディスプレイおよびメモリコントローラは、復号されたビデオデータと共に来るフラッグをチェックすることにより、いつ３：２プルダウンを実行するかを自身で決定しなければならない。ＭＰＥＧ−２は、フレームまたはフィールドが繰り返されるべきかどうかを明示的に記述する２つのフラッグ（リピート・ファースト・フィールドおよびトップ・フィールド・ファースト）を提供する。プログレッシブシーケンスにおいては、フレームは２ないし３回繰り返され得る。一方、シンプルおよびメインプロファイルは、繰り返されたフィールドにのみ限定される。さらに、リピート・ファースト・フィールドは、プログレッシブフレーム構造化ピクチャにおいてのみ信号で伝えられ得る（値＝１）ということは一般的な構文上の制限である。
【００２０】
例えば、最も一般的なシナリオでは、１つのフィルムシーケンスは毎秒２４フレームを含む。しかしながら、シーケンスヘッダー中のフレームレートエレメントは、３０フレーム／秒を示すであろう。平均して、１つおきの符号化されたフレームは、フレームレートを２４Ｈｚから３０Ｈｚまで水増しするために、リピートフィールド（リピート・ファースト・フィールド＝１）の信号を送る。すなわち、（２４符号化フレーム／秒）＊（２フィールド／符号化フレーム）＊（５表示フィールド／４符号化フィールド）＝６０表示フィールド／秒＝３０表示フレーム／秒。
【００２１】
３：２プルダウン能力を有するシステムについては、ビデオメモリの別の余分な１フィールド（半フレーム）が、最初に表示されたフィールドを後に繰り返す目的で格納するために必要とされる（３：２プルダウンプロトコルによる）。なぜならば、最初に表示されたフィールドは、第２フィールドの表示終了後に表示用に再度必要とされるからである。この要件を説明すると、復号中にトップフィールドが表示されると、次にボトムフィールドはトップフィールドの表示完了に続いて表示されるであろう。しかしながら、このトップフィールドは、システムがボトムフィールド表示を終了した後に再び表示用に必要とされるであろう（すなわち、３：２プルダウン）。トップフィールドは、２つの異なる瞬間（すなわち、ボトムフィールド表示の前後）に表示用に必要とされるので、トップフィールドを格納するためにビデオメモリの別の半フレーム（１フィールド）が必要になる。２つの参照フレームを格納するのに必要な上記の２．５フレームに、インターレースされたピクチャを表示するためにの半フレームを加えて、ＭＰＥＧ−２ビデオピクチャを表示するために、従来システムは合計３フレームのビデオメモリを必要とする。
【００２２】
（ｉｉｉ）静止フレーム
いくつかの新設計のＭＰＥＧ−２ビデオ復号・表示システムでは、現在表示中のフレームを利用者が静止させることもできる。「静止フレーム」条件下では、ビデオ復号・表示システムは、利用者からさらに指示があるまで現在表示中のピクチャを繰り返し表示する。停止中はそれ以上の復号および３：２プルダウンが必要とされないので、上述の２つの半フレーム（すなわち、インターレースされたピクチャの表示と３：２プルダウン用）は要求されない。しかしながら、もし表示中のフリーズされたフレームがプログレッシブＢフレームであれば、Ｂフレーム全体がビデオシステム中に格納される必要があるので、現在表示中のＢフレームを格納するために、ビデオメモリの余分なフレームが必要である。フリーズされたフレームがＩまたはＰフレームであれば、余分なビデオメモリが全く必要とされないことは真実である。なぜなら、これら２つの参照フレームはすでにビデオメモリ中に（順方向予測フレームおよび逆方向予測フレームとして）格納されているからである。しかしながら、通常Ｂフレームは参照用にビデオメモリ中に格納されないので、ビデオメモリの余分なフレームがＢフレーム表示用に必要である。従って、Ｂフレームピクチャの正確なイメージを表示するためには、参照フレームを格納するために必要な２つのフレームに加え、ビデオメモリの別のフルフレームが必要である。
【００２３】
ＩＩ．従来のビデオ復号・表示システムが直面する問題
ＭＰＥＧ−２メインプロファイル・メインレベルシステムは、ＣＣＩＲ６０１パラメータにおいてサンプリング限界（ＮＴＳＣについては７２０×４８０×３０Ｈｚ、ＰＡＬについては７２０×５７６×２４Ｈｚ）を有すると規定されている。用語「プロファイル」は、ＭＰＥＧにおいて使われる構文（すなわち、アルゴリズム）を限定するために用いられ、用語「レベル」は、符号化パラメータ（サンプルレート、フレーム寸法、符号化されたビットレート等）を限定するために用いられる。それと共に、ビデオメインプロファイル・メインレベルは、複雑さを１９９４ＶＬＳＩ技術の実現可能な制限で標準化し、それでもやはり大半のアプリケーションの要求を満たす。
【００２４】
ＣＣＩＲ６０１レートビデオについては、ＰＡＬ／ＳＥＣＡＭ復号・表示システムに必要な３フレームが、復号器のビデオメモリ要件を、通常の１６Ｍビット（２Ｍバイト）限界を越えて、３２−Ｍビットの次のレベルのメモリデザインへと押しやる。このメモリ制約は、アメリカ特許第５，６４６，６９３号（１９９７年７月８日、Ｃｉｓｍａｓに対し発行され、本出願と同じ譲受人に譲渡された）中で論じられている。Ｃｉｓｍａｓ引例はこれにより、参照により完全に含まれる。従来技術においてよく立証されてきたように、ビデオメモリを１６−Ｍビット以上に増大させると、メモリコントローラのデザインを複雑にし、また別の１６Ｍビットビデオメモリの製造費用が加わることになるであろう。
【００２５】
【発明が解決しようとする課題】
Ｃｉｓｍａｓは、サイズが通常のビデオメモリ要件よりも小さい（すなわち、メモリの３フレーム）フレームバッファを用いて、ＭＰＥＧビデオの復号・表示を行なうシステムおよび方法を開示している。復号・表示の間、Ｃｉｓｍａｓのシステムは、完全な第２のフィールドを格納する代わりに、第１のフィールドが表示されつつある時は、第２のフィールドの一部のみを格納する。表示のために第２のフィールドが必要になると、復号器は、第２のフィールドの足りない部分を再度復号して、第２のフィールド表示用の残りのデータを生成する。第２のフィールドを表示するために、最初に表示されたフィールドについて割り当てられた同じ格納場所を再度利用することによって、復号・表示システムは、メモリの半フレームまでの節約をする（パーティションの数による）。しかしながら、表示中のビデオメモリ不足の問題をＣｉｓｍａｓシステムがたとえ解決したとしても、Ｃｉｓｍａｓシステムは、第２のフィールドの足りない部分を２度目に復号するための付加的な復号パワーを必要とする。従って、ビデオメモリの要件を低減する一方で、第２の復号段階を無くすというＣｉｓｍａｓと同じ目的を達成できる新しいビデオメモリ管理システムが望まれている。
【００２６】
本発明の付加的な目的および利点は、以下の説明中で述べられ、またその説明からある程度明らかになるか、あるいは本発明の実施により学ばれ得る。本発明の目的および利点は、特に特許請求の範囲において指摘される手段および組合せによって実現および達成され得る。
【００２７】
【発明の要約】
本発明は、圧縮されたビデオデータのビットストリームの復号・表示に用いられるビデオメモリを取り扱うための改良されたビデオメモリコントロールシステムに向けられている。詳細には、本発明は、圧縮されたビデオデータのビットストリームの受信、圧縮されたビデオデータの復号、およびその中に含まれているイメージの表示のためのビデオメモリ管理システムに向けられている。
【００２８】
このメモリ管理システムの１つの側面は、ビデオメモリ管理を取り扱うためのモジュール式メモリ管理システムまたは装置を提供することである。より詳細には、本発明のビデオ復号・表示システムは、２つの別個のメモリマネージャを有する分割メモリマネージャから成る。これらのメモリマネージャの各々は、特定のメモリ管理機能を取り扱う。メモリ管理機能を種々のメモリマネージャ間で分けることにより、ビデオデータの復号・表示はより効率的に実行できる。
【００２９】
本発明の別の側面は、ビデオメモリの斬新な処理および取り扱方法を提供することで、これによりＭＰＥＧ−２データストリームの効率的な取り扱い方法が提供される。特に、セグメント化された再利用可能なビデオメモリ管理システムが開示されている。
【００３０】
本発明の別の側面は、ビデオ復号・表示システムに必要とされるビデオメモリのサイズをさらに減らすことが可能なフレーム内ビデオデータ圧縮システムを提供することである。
【００３１】
添付図面は、本明細書中に含まれかつその一部を構成しており、本発明の好ましい実施態様を例示するもので、上述の全般的説明および以下に示される好ましい実施態様の詳細な説明と共に、本発明の原理の説明を助けるものである。
【００３２】
【発明の実施の形態】
本発明は、いくつかの好ましい実施態様について説明される。好ましい実施態様は、ビデオデータの取り扱いおよび処理のための装置および方法である。以下の本発明の３つの側面が詳細に論じられる。すなわち、（１）分割ビデオメモリマネージャ、（２）セグメント化再利用可能メモリデザイン（本発明者により「ローリングメモリデザイン」と名付けられている）、および（３）方法および用途を考慮しないシンプル固定低ビットレート補助圧縮技術（本発明者により「ＦｌｅｘｉＲａｍ」と名付けられている）である。本発明のこれら３つの側面すべては、ビデオメモリデータの効率的取り扱いについて開示され、単独のビデオ復号・表示システムにおいて実行できる。
【００３３】
１．分割ビデオメモリマネージャ
図１は、従来のビデオ復号・表示システムを示すもので、復号器１１０、メモリマネージャ１２０、ビデオメモリ１３０、および表示サブシステム１４０から成っている。符号化されたビデオデータの連続したビットストリームは、復号および表示のため復号器１１０に供給される。ビデオデータの連続したビットストリームは、全体的なシステムデザインに応じて、一定または可変ビットレートで供給される。復号器１１０はビットストリームを復元し、次に復元されたデータをメモリマネージャ１２０に供給する。メモリマネージャ１２０は、復元されたビデオデータをビデオメモリ１３０中に格納し、そのビデオデータを表示サブシステム１４０に供給する役割を果たしている。
【００３４】
ビデオメモリ１３０は基本的に、２つの主要な機能を果たしている。すなわち、第１に、これはビデオデータの入り来るビットストリームの復号と復号されたビデオイメージの表示との間で異なる処理測度を緩衝するためのビデオデータバッファとして働く。ビデオイメージ表示のいかなる中断も防止するため、復号器１１０は、表示サブシステム１４０からの要求よりも速くビデオデータを復元することが一般に要求される。第２に、ビデオメモリ１３０は、参照フレームデータ（すなわち、ＩおよびＰフレーム）を格納し、データの入り来るビットストリームからビデオイメージを再構築するために復号器１１０に提供することが必要である。従って、図１に示すように、復号器１１０とメモリマネージャ１２０との間のデータバスは双方向であり、それにより復元されたデータは、メモリマネージャ１２０へおよびそこから流れている。
【００３５】
図２は、本発明により開示される斬新な分割メモリマネージャデザインを説明するものである。図１に示すような従来のシングルメモリマネージャデザインの代わりに、本発明のメモリマネージャは２つの別個のメモリマネージャから成っている。すなわち、第１メモリマネージャ２１０と第２メモリマネージャ２２０である。各メモリマネージャはビデオメモリ（すなわち、第１メモリ２３０および第２メモリ２４０）に連結されている。
【００３６】
前の段落で論じたように、基本的に、ビデオメモリに格納される２つのビデオデータグループがある。参照フレームデータ（すなわち、ＩおよびＰフレーム）と、双方向フレームデータ（すなわち、Ｂフレーム）である。ビデオデータのこれら２つのグループは、復号および表示両方において異なって処理されるので、ビデオデータのこれら２つのグループ間のビデオメモリの取り扱いはまったく異なる。
【００３７】
本発明の好ましい実施態様において、第１メモリマネージャ２１０および結合第１メモリ２３０は、参照フレーム（すなわち、ＩおよびＰフレーム）を取り扱いかつ格納するために割り当てられるのに対し、第２メモリマネージャ２２０および結合第２メモリ２４０は、双方向フレーム（すなわち、Ｂフレーム）データを取り扱いかつ格納するために割り当てられる。ビデオメモリコントローラを２つの分離された別個のメモリコントローラに分割することにより、各種類のビデオデータを取り扱うのに最も効率的なメモリ管理および／または圧縮方法を実行するために、２つのコントローラの各々を特別にデザインできる。従来のメモリマネージャを２つの別個のマネージャに分割することにより、従来のビデオ復号・表示システムに優る、ビデオデータをより効率的に取り扱うことができる一方で、単純なシステムデザインを有するという利点が本発明によりもたらされる。
【００３８】
例えば、Ｃｉｓｍａｓが開示したビデオメモリ管理システムにおいては、メモリ管理方法はＢフレームに向けられる。分割メモリマネージャデザインを用いた好ましい実施態様においては、第１メモリマネージャ２１０または３１０および付属する第１メモリ２３０または３３０が従来のビデオメモリ管理機能を実行するのに対して、第２メモリマネージャ２２０または３２０および付属する第２メモリ２４０または３４０のみがＣｉｓｍａｓのメモリ管理技術を実行するようにデザインすることができる。従って、個々の種類のビデオデータ用に特定のビデオメモリ管理技術をカスタマイズできるという本発明の能力は、従来デザインに優るより大きなデザイン柔軟性をビデオシステム設計者にもたらす。
【００３９】
さらに、別の好ましい実施態様においては、本発明は３つのメモリマネージャから成る。第１メモリマネージャはＩフレームを取り扱う。第２マネージャはＰフレームを取り扱う。さらに、第３メモリマネージャはＢフレームのみを取り扱う。
【００４０】
別の好ましい実施態様においては、本発明は３つメモリマネージャから成る。３つのメモリマネージャの各々は、３つの色成分（例えば、Ｙ、Ｕ、およびＶ）の１つを取り扱う。
【００４１】
多数のメモリマネージャを有するさらなる好ましい実施態様においては、メモリマネージャの各々は、ビデオデータのタイプ（例えば、色成分）および／またはグループ（例えば、参照フレームまたは双方向フレーム）の異なる組合せを取り扱うことができる。例えば、好ましい実施態様においては、ビデオ復号・表示システムは、Ｉピクチャ用のＹクロマ成分を取り扱うための第１メモリマネージャ、Ｂピクチャ用のＵおよびＶクロマ成分を取り扱うための第２メモリマネージャ、ＩおよびＰピクチャ用のＵおよびＶクロマ成分を取り扱うための第３メモリマネージャ、および残りのビデオデータを取り扱うための第４メモリマネージャから成る。４つのメモリマネージャの各々は、異なるメモリ管理技術を利用できる。
【００４２】
本発明の分割メモリマネージャデザインによりもたらされるデザイン柔軟性はほとんど無制限なので、ビデオデータの特定の種類または定義に適合するように、個々のメモリマネージャをカスタマイズし得る。
【００４３】
図３は、本発明の別の好ましい実施態様を示すものである。ＭＰＥＧ−２のメインプロファイル・メインレベルの定義の下では、リピート・ファースト・フィールドは、ＰＡＬ規格についてのＢフレームについては許されない。従って、ＭＰＥＧ−２メインプロファイル・メインレベルＰＡＬシステムについてデザインされた好ましい実施態様においては、リピート・ファースト・フィールドは第２メモリマネージャ３２０に供給される必要はない。なぜならば、第２メモリマネージャ３２０はＢフレームピクチャのみを処理するからである。しかしながら、トップ・フィールド・ファースト信号は、インターレースされたピクチャを取り扱うための第１メモリマネージャ３１０および第２メモリマネージャ３２０の両方にとり依然として必要である。
【００４４】
２．セグメント化された再利用可能なビデオメモリデザイン
本発明の別の側面は、フィールドピクチャおよびフレームピクチャ両方を取り扱うことができるビデオ復号・表示システムのためのビデオメモリ割り当てを取り扱う方法に向けられている。
【００４５】
前に説明したように、ＭＰＥＧ−２は、インターレースされたピクチャに対し２つのピクチャ構造の選択を提供する。フィールドピクチャは、各々がマクロブロックに分割され、個別に符号化された個々のフィールドから成る。一方、フレームピクチャでは、インターレースされた各フィールドペアは一緒に１つのフレームにインターリーブされ、そのフレームは次にマクロブロックに分割され、符号化される。ＭＰＥＧ−２は、インターレースされたビデオが交互のトップおよびボトムフィールドとして表示されることを必要とする。しかしながら、フレーム内では、トップまたはボトムフィールドの一方が一時的に先に符号化され、あらかじめ定められた定義に従ってフレームの第１フィールドピクチャとして送られ得る。２つのピクチャ構造についての復号されたデータのシーケンスにおける違いのため、これらの２つのフォーマットにより定義されたビデオデータの読み取りおよび書き込みは、異なる２つの順番で実行される。
【００４６】
図４は、本発明の好ましい実施態様を説明するものである。図に示されるように、ビデオメモリ４１０は多数のメモリセグメントに区切られている。メモリセグメントの各々は、２つのフィールドのうちの１つのビデオデータの８本の連続するラインを格納することができる。メモリマネージャは、２つのリスト、ＭＳ（メモリセグメント）４２０およびＤＳ（表示セグメント）４３０を作り出しかつ維持する。各メモリセグメントは、メモリセグメントリスト４２０のエントリを介して、表示セグメントリスト４３０のエントリにより間接的にアドレス指定される。ＭＳリスト４２０は、ビデオメモリセグメントと同数のエントリを有し、ＭＳリストの各エントリは１つのメモリセグメントに対応している。好ましい実施態様においては、ＭＳリスト４２０は、４８個のメモリセグメントをビデオメモリ４１０中にアドレスするための４８個のエントリを有している。ＰＡＬのケースについては、ビデオメモリ中の４８個のメモリセグメントがフレームの２／３に対応している。ＭＳリスト４２０の各エントリは、ビデオメモリ４１０中のメモリセグメントの第１セルアドレスを定義する２０ビットアドレスを含んでいる。これらのアドレスは、システム設計に応じて、静的または動的とし得る。例えば、ＭＰＥＧ−２ビデオデータの復号・表示用に特にデザインされた専用システムにおいては、システムオーバーヘッドを減らすため、アドレスは、好ましくは静的であって動的ではない。しかしながら、ＭＰＥＧ−１およびＭＰＥＧ−２ビデオデータ両方を表示可能なシステムのような多目的デジタル式復号・表示システムにおいては、これらのアドレスは、種々のビデオメモリ管理方法に対処できるように、好ましくは動的に維持される。
【００４７】
図４に示されるような好ましい実施態様においては、ＤＳリスト４３０は、表示スクリーンへビデオメモリ４１０をマッピングする。表示スクリーンは多数のセグメントに論理的に分割されており、ＤＳリスト４３０の各エントリは表示スクリーンの１つのセグメントに対応している。好ましい実施態様においては、ＤＳリスト４３０は７２個のエントリを含み、１つが各表示セグメントに対応している。７２という数が選ばれたのは、ＰＡＬフォーマットにおいては、５７６本のラインが表示され、かつ各セグメントなビデオデータの８本のラインを含んでいるからである。従って、数７２＝５７６／８が選択される。
【００４８】
図４と図５に示されるように、ＭＳリスト４２０の各エントリは、ビデオメモリの特定のメモリセグメントがビジーであるかどうかを示すために、１つの付加的なビジービット５１０（「ビジービット」）を含んでいる。具体的には、あるメモリセグメントに書き込まれてそれが表示されなければ、それはビジーとして示される。同様に、ビジーでないメモリセグメントとは、そのメモリセグメントが表示されたが、新しいデータはなんらその中に含まれていないことを意味する。本発明にとり、ビジービット５１０を用いることは非常に重要である。なぜならば、ＭＳリスト４２０中の各エントリ上のビジービット５１０のスイッチングは、ビデオメモリ４１０中の論理的スライディングウインドウを定義することと特徴付け得るからである。データがビデオメモリセグメントに書き込みされおよびそこから読み出された時にビジービット５１０を「オン」および「オフ」に設定することにより、論理的スライディングウインドウは、ビジービットが「オン」のＭＳリスト中の対応するエントリを有するすべてのメモリセグメントとして定義される。さらに、論理的スライディングウインドウは、図７に示されるように、２つのＤＳ書き込みポインタ（すなわち、７１０および７２０、または７３０および７４０）および読み取りポインタ（すなわち、７５０または７６０）のインクリメントおよび更新によっても維持される。
【００４９】
ビデオメモリ４１０中のメモリセグメントおよびＭＳリスト４２０中のエントリの物理的位置が、ＤＳリスト４３０中のエントリのように連続して割り当てられなくても、論理的スライディングウインドウは、ＤＳリスト４３０中の連続しているエントリにより定義される。ビデオメモリ４１０中のメモリセグメントにより多くの復号データが格納された後に論理的スライディングウインドウはサイズが増大するのに対し、ビデオメモリ４１０中のメモリセグメントから復号データが読み出された後では、サイズが減少する。さらに、ビデオデータがビデオメモリから読み出されおよびそれに書き込まれると、論理的スライディングウインドウは位置がシフトする（すなわち、ＤＳリスト４３０下方へ）。本発明のキーコンセプトは、表示スクリーンの一部に対応する論理的に連続するメモリスペースを定義できることあり、対応する復号されたビデオデータは、たとえそのビデオデータが物理的ビデオメモリにランダムに格納されることがあったとしても、現在ビデオメモリに書き込まれており、かつ表示されていない。本発明の利点は、物理的ビデオメモリのサイズをフルピクチャより小さくできることである。理論上は、物理的メモリサイズはフルピクチャの格納に必要なサイズの半分（すなわち、フレームの半分）まで小さくし得る。
【００５０】
図４は、本発明の好ましい実施態様により用いられる間接的アドレッシングスキームを示すものである。ＤＳリスト４３０の各エントリは、ＭＳリスト４２０の１つのエントリを指すインデックスを格納するのに対し、ＭＳリスト４２０の各エントリは、ビデオメモリ４１０のメモリセグメントのアドレスを格納する。
【００５１】
好ましい実施態様において、本発明のビデオ復号・表示システムは、フレームピクチャフォーマットおよびフィールドピクチャフォーマット両方におけるインターレースされたピクチャを取り扱う。従って、図６に示されるように、ＤＳリスト４３０は、論理的に２つの部分に区切られる。すなわち、トップフィールドに対応するトップポーション６１０およびボトムフィールドに対応するボトムポーション６２０である。０から３５まで索引を付けられたエントリはトップフィールドに属し、３６から７１まで索引を付けられたエントリはボトムフィールドに属する。ＤＳリスト４３０を対応するビデオメモリセグメント４２０に一致させるため、ＤＳリスト４３０の各エントリは、ＭＳリスト４２０への６ビットインデックス（０から４７）を含む。従って、ＤＳリスト４３０の各エントリはＭＳリスト４２０のエントリを参照し、かつビデオメモリの１つのセグメントに間接的にアドレスする（図４参照）。
【００５２】
図７に示されるように、好ましい実施態様において、ＤＳリスト４３０用に３つのポインタが維持される。すなわち、読み取り・表示用の読み取りポインタ（すなわち、７５０または７６０）１つ、およびビデオメモリ書き込み用の書き込みポインタ（すなわち、７１０、７２０または７３０、７４０）２つである。
【００５３】
フィールドピクチャおよびフレームピクチャについては、これら３つのＤＳポインタは異なる位置に割り当てられる。
【００５４】
図７（ａ）は、ビデオシステムがフレームピクチャを取り扱っている時のこれら３つのポインタの位置を示すものである。データが２つのフィールド間でインターリーブ的に復号される、フレームピクチャ用ビデオデータのビットストリームを取り扱うため、２つの書き込みポインタ７１０、７２０は、間に３６のインタバルを有する２つのＤＳエントリを指すように設定され、それにより、２つの書き込みポインタの各々は、異なるフィールド中の同じオフセット位置にあるエントリを指している（すなわち、トップフィールドおよびボトムフィールド）。さらに、読み取りポインタ７５０は、次に表示されるべきＤＳリスト４３０のエントリを指している。フレームピクチャのトップフィールドおよびボトムフィールド両方に対応するため、論理的スライディングウインドウは、論理的トップウインドウおよび論理的ボトムウインドウからさらに成っている。論理的トップウインドウは、トップウインドウ内にスライディングウインドウを定義し、これはビデオメモリ中のメモリセグメントに間接的にアドレッシングしているＤＳリストのトップポーション中の連続するエントリにより示され、このメモリセグメントは書き込まれたがまだ表示されていないものである。同様に、論理的ボトムウインドウは、スライディングウインドウをボトムフィールド中に定義し、これはビデオメモリ中のメモリセグメントに間接的にアドレッシングしているＤＳリストのボトムポーション中の連続するエントリにより示され、このメモリセグメントは書き込まれたがまだ表示されていないものである。
【００５５】
図７（ｂ）は、ビデオ復号・表示システムがフィールドピクチャを取り扱っている時のこれらのポインタの位置を示すものである。フィールドピクチャのビデオデータは復号器により逐次復号および供給されるので、２つの書き込みポインタは７３０、７４０は、それらの間に１の固定インタバルを有するように設定されている。さらに、読み取りポインタ７６０は、次に表示されるべきＤＳリスト４３０のエントリを指している。フィールドピクチャ中では、ビデオデータは逐次復号および供給され、フレームピクチャにおけるように、論理的スライディングウインドウを論理的トップおよびボトムウインドウにさらに分割する必要は全く無い。従って、前の段落において論じられたような論理的スライディングウインドウが維持される。
【００５６】
図８は本発明のためのフローチャートを示すものである。
【００５７】
最初に、ビデオ復号・表示システムの初期化中に、ＭＳエントリのすべてのビジービットは、メモリマネージャによりＮＯＴビジー（すなわち、ＭＳエントリの全ビジービットを論理０にセットする）初期化される（段階８１０）。
【００５８】
メモリマネージャが、符号化されたビデオデータの入り来るストリーム中に新しいピクチャを検出すると、図９に示されるように、メモリマネージャはＤＳリスト４３０を初期化する（段階８２０）。
【００５９】
図９は、各ピクチャについてＤＳリスト４３０を初期化する段階を詳しく示すものである（段階８２０）。最初に、メモリコントローラが入り来るビットストリーム中のピクチャのフォーマットをチェックし、ピクチャ構造パラメータ値をチェックすることによりそのピクチャがフィールドピクチャかフレームピクチャかを決定する（段階９１０）。
【００６０】
もしビデオデータがフレームピクチャフォーマットであれば、メモリコントローラは次にトップ・フィールド・ファースト変数をチェックしてフラッグが立てられているどうかを決定する（段階９３０）。もしトップフィールドが最初に復号される必要があれば、ＤＳ読み取りポインタ７５０は３６に初期化され、第１ＤＳ書き込みポインタ７１０は０にセットされ、第２ＤＳ書き込みポインタ７２０は３６にセットされる（段階９６０）。一方、もしボトムフィールドが最初に復号される必要があれば、ＤＳ読み取りポインタ７５０は０にセットされ、第１ＤＳ書き込みポインタ７１０は０にセットされ、第２ＤＳ書き込みポインタ７２０は３６にセットされる（段階９７０）。
【００６１】
図９に示されるように、もしビデオデータがフィールドピクチャフォーマットであれば、メモリコントローラはピクチャ構造パラメータをチェックして、入り来るビデオデータがトップフィールドピクチャかボトムフィールドピクチャかを決定する（段階９２０）。もしトップフィールドが復号される必要があれば、３つのＤＳポインタは以下の通りセットされる。すなわち、ＤＳ読み取りポインタ７６０は３６にセットされ、第１ＤＳ書き込みポインタ７３０は０にセットされ、第２ＤＳ書き込みポインタ７４０は１にセットされる（段階９４０）。一方、もしボトムフィールドが復号される必要があれば、ＤＳ読み取りポインタ７６０は０にセットされ、第１ＤＳ書き込みポインタ７３０は３６にセットされ、第２ＤＳ書き込みポインタ７４０は３７にセットされる（段階９５０）。
【００６２】
図８に示されるように、ＤＳリストが初期化された後、メモリマネージャは、ＭＳリスト４２０をスキャンして、ＭＳリスト４２０のエントリのビジービット５１０をチェックすることにより、ビデオメモリ４１０中の利用可能なスペースを調べる（段階８３０）。メモリマネージャは、ＭＳリスト４２０をインデックス０からインデックス４７まで順番にスキャンし、ビジービット５１０がセットされていない最初の２つのエントリを見つける。もしそのような「ビジーでない」セグメントが全く無いか、あるいはそのようなセグメントが１つしか無いのであれば、条件が満たされるまで復号は停止される。復号器はそれにより、２つの「ビジーでない」ビデオメモリセグメントを待つ待機ステージに入る。ビデオメモリセグメント中のデータが読み出されかつ表示されると、メモリマネージャは、メモリセグメントの対応するビジービット５１０を論理０にセットすることにより、新たに復号されたビデオデータを格納するためにメモリセグメントを解放する。
【００６３】
２つのビジーでないメモリセグメントが見つかった時は、第１ＤＳ書き込みポインタ（すなわち、７１０または７２０）により指し示されるＤＳリスト４３０に、第１の利用可能メモリセグメントのＭＳインデックス４２０（すなわち、０、１、２、…または４７）が書き込まれ、第２ＤＳ書き込みポインタ（すなわち、７２０または７４０）により指し示されるＤＳエントリに第２の利用可能メモリセグメントが書き込まれる、それにより２つのＤＳ書き込みポインタは、ビデオメモリ４１０中の２つの「ビジーでない」メモリセグメントに間接的にアドレスしている。
【００６４】
ＤＳエントリが更新された後、復号器はビデオデータの１６本のラインを含む新しいマクロブロック行を復号する（段階８３０）。
【００６５】
ビデオデータのマクロブロック行が復号された後、メモリマネージャは、復号されたビデオデータを段階８４０においてビデオメモリに保存する。図１０は段階８４０の詳細を示すものである。
【００６６】
図１０に示されるように、ピクチャがフィールドピクチャであれば、メモリマネージャは、各マクロブロック行のトップ８ラインのビデオデータを、第１ＤＳ書き込みポインタ７３０により間接的にアドレスされたＭＳセグメントのエントリによりアドレスされたメモリセグメントに書き込む（段階１０３０）。次にメモリマネージャは、各マクロブロック行のボトム８ラインのビデオデータを、第２ＤＳ書き込みポインタ７４０により間接的にアドレスされたＭＳセグメントのエントリによりアドレスされたメモリセグメントへ書き込む（段階１０３０）。
【００６７】
一方、もしピクチャがフレームピクチャであれば、復号器が入り来るビットストリームのビデオデータのライン１６本（すなわち、１マクロブロック行）を復号した後、メモリマネージャは、現在復号しているフレームのトップフィールドに対応するビデオデータのライン８本を、第１ＤＳ書き込みポインタ７１０により間接的にアドレスされた第１ＭＳセグメントのエントリによりアドレスされたメモリセグメントへ書き込む。次にメモリマネージャは、現在復号中のフレームのボトムフィールドに対応するビデオデータのライン８本を、第２ＤＳ書き込みポインタ７２０により間接的にアドレスされた第２ＭＳセグメントのエントリによりアドレスされたメモリセグメントへ書き込む（段階１０２０）。
【００６８】
図８に示されるように、対応するメモリセグメントへのビデオデータの書き込みに続き、ＤＳポインタ（すなわち、７１０、７２０、および７５０または７３０、７４０、および７６０）が次に、図１１に示されるような段階（段階８６０）により更新される。
【００６９】
図１１は、ＤＳポインタ（すなわち、７１０、７２０、および７５０または７３０、７４０、および７６０）の更新操作（段階８６０）の詳細を示すものである。メモリマネージャは最初に、ビデオデータがフィールドピクチャフォーマットであるかフレームピクチャフォーマットであるかをチェックし（段階１１１０）、次にそれに応じてメモリマネージャが２つのＤＳ書き込みポインタを更新する（段階１１２０および１１３０）。
【００７０】
もしビデオデータがフレームピクチャフォーマットであれば、２つのＤＳ書き込みポインタ７１０、７２０のどちらも１進められる（段階１１２０）。一方、もしビデオデータがフィールドピクチャフォーマットであれば、２つのＤＳ書き込みポインタ７３０、７４０のどちらも２進められる（段階１１３０）。
【００７１】
ＤＳポインタが更新された後、メモリマネージャは、現在のピクチャ用にそれ以上入り来るビデオデータがあるかどうかをチェックする。もし入り来るビデオビットストリームがまだあるなら、その操作は、図８に示されるようなＭＳリストスキャニング段階に戻る（段階８７０）。
【００７２】
もし現在のピクチャ用の入り来るビットストリームが終結すれば、次にビデオシステムは、さらに復号・表示されるピクチャがさらにあるかどうかをチェックする（段階８８０）。もし復号・表示のために入り来るピクチャがさらにあれば、全体の操作は段階８２０に戻る。全体の操作は、表示用に入り来るピクチャがもはやなくなれば完了する（段階８９０）。
【００７３】
システムが表示用に付加的なビデオデータを必要とする時は、データの次のライン８本が、ＤＳ読み取りポインタ（すなわち、７５０または７６０）によりアドレスされたＭＳインデックスを用いて、ビデオメモリ４１０のメモリセグメントから取り出される。ＭＳリストエントリ中に格納されているアドレスは、ビデオメモリ４１０から次に表示されるメモリセグメントの位置を特定するのに用いられる。表示用に特定のメモリセグメントが読み出された後、そのＭＳエントリ４２０のビジービット５１０は非ビジーにセットされ、ＤＳ読み出しポインタは次に１増大される（７２を法として）。ポインタが７１に達した後、ＤＳ読み取りポインタは「０」位置にリセットされる。
【００７４】
本発明の１実施態様において、もしメモリコントローラが、上記の「間接的アドレッシング」スキームを処理するのに十分な速度を有していなければ、ＤＳリスト４３０のエントリは６ビットから２６ビットに増大され、それにより、メモリセグメントのアドレスがＭＳエントリ中で選択されると、それはＭＳリスト４２０インデックスと共にＤＳエントリにコピーされる。メモリセグメントのアドレスをＭＳリスト４２０エントリと共にＤＳリストに書き込むことにより、アドレッシングおよびＭＳリスト４２０からのデータ取り出しの余分な段階が回避できる。
【００７５】
３．ＦＬＥＸＩＲＡＭデザイン
本発明の別の側面は、フレーム内ビデオメモリ圧縮／復元方法に向けられている。
【００７６】
本発明においては、ビデオデータは、ビデオメモリに格納される前に、損失性または非損失性に圧縮され、圧縮されたデータは、それがビデオメモリから読み出される時に復元される。このビデオデータ圧縮・復元装置は、本発明者らにより「ＦｌｅｘｉＲａｍ」と名付けられている。
【００７７】
図１２は、本発明の３つの異なる実施態様を示す。
【００７８】
図１２（ａ）に示されるような好ましい実施態様において、本発明のＦｌｅｘｉＲａｍ１２２０ａは、メモリマネージャ１２１０ａに組み込まれており、ビデオデータのすべての圧縮および復元はメモリマネージャ１２１０ａ内で実行される。この実施態様の利点は、ビデオメモリ１２３０ａのための特別なハードウェア要件が全く無いことおよびビデオデータの圧縮および復元のどちらもビデオメモリ１２３０ａに対してトランスペアレントであることである。
【００７９】
図１２（ｂ）は本発明の別の好ましい実施態様を示すもので、ＦｌｅｘｉＲａｍ１２２０ｂは、メモリマネージャ１２１０ｂおよびビデオメモリ１２３０ｂの両方から分離されている。この実施態様の利点は、ビデオ復号・表示システム全体の実質的な修正なしで本発明の実行が可能なことである。
【００８０】
図１２（ｃ）は本発明の別の実施態様を示すもので、ＦｌｅｘｉＲａｍ１２２０ｃはビデオメモリ１２３０ｃに組み入れられている。この実施態様の利点は、データ圧縮および復元の操作全体がメモリマネージャ１２１０ｃに対してトランスペアレントであり、メモリマネージャ１２１０ｃに対しオーバーヘッドが全く付加されないことである。
【００８１】
本発明がすべてのピクチャタイプ（Ｉ、ＰおよびＢ）で作用し、かつどのようなタイプのピクチャに対しても限定されないことは留意すべきである。従って、もし所望されれば、本発明は、分割メモリマネージャデザインにおいて、（ａ）第２メモリマネージャ２４０、あるいは（ｂ）第１メモリマネージャ２３０と第２メモリマネージャ２４０両方を用いて実行し得る（図２参照）。
【００８２】
図１３ａ、１３ｂおよび１３ｃは、ＦｌｅｘｉＲａｍデザインと分割メモリマネージャデザインとを組み合せた、本発明の３つの異なる実施態様を示すものである。図１３ａは、本発明の２つの好ましい実施態様の１つを示す。この実施態様においては、２つのＦｌｅｘｉＲａｍ圧縮器／復号器が用いられる。第１ＦｌｅｘｉＲａｍ１３７０ａは、第１メモリマネージャ１３１０ａと第１メモリ１３３０ａとの間に置かれている。第２ＦｌｅｘｉＲａｍ１３８０ａは、第２メモリマネージャ１３２０ａと第２メモリ１３４０ａとの間に置かれ、ＦｌｅｘｉＲａｍ技術を用いて、格納されたすべてのビデオメモリデータが圧縮・復元される。図１３ｂは、本発明の別の実施態様を示すものである。ＦｌｅｘｉＲａｍ１３７０ｂは、第２メモリマネージャ１３２０ｂと第２メモリ１３４０ｂとの間に置かれ、双方向フレーム（すなわち、Ｂ）のためのビデオデータのみが、ビデオメモリに格納される時に圧縮される。最後に、図１３ｃは本発明のさらに別の実施態様を示すものである。ＦｌｅｘｉＲａｍ１３７０ｃは、第１メモリマネージャ１３１０ｃと第１メモリ１３３０ｃとの間に置かれ、予測フレーム（すなわち、２Ｉ；１Ｉおよび１Ｐ；または２Ｐ）用ビデオデータのみが、ビデオメモリに格納される時に圧縮される。本発明はメモリマネージャの数を２または３に限定するものではないことに留意すべきである。メモリマネージャは、ビデオデータの種々のタイプおよび／またはグループを処理するため、多数（すなわち、３を超える）の別個のメモリマネージャに分割し得る。
【００８３】
特定のシステムについてどの実施態様を実施すべきかを考慮する場合に最も重要な因子は、利用可能なビデオメモリ量、利用可能な処理速度、および所望の画質等である
【００８４】
例えば、上記の実施態様に加え、ＦｌｅｘｉＲａｍデザインは、３つの色成分すべて、あるいは２つのクロマ色成分のみの圧縮および復元に適用できる。
【００８５】
デザインは、上記で開示されたすべての実施態様および側面を組み合せることによりさらに改善し得る。例えば、１つの実施態様においては、Ｂピクチャ中のＵおよびＶ色成分のみがＦｌｅｘｉＲａｍデザインにより圧縮される。あるいは、別の実施態様においては、２つのピクチャグループ（すなわち、参照フレーム、または双方向フレーム）すべてについての３つの色成分すべてが、ＦｌｅｘｉＲａｍデザインにより圧縮される。
【００８６】
分割メモリマネージャ、ＦｌｅｘｉＲａｍ、および原色の分割を組み合せる上での本発明のデザイン柔軟性により、種々のビデオシステム要件、ビデオメモリサイズ、および所望の画質等に応じて、システムデザイナーが最も適切かつ効果的な組み合わせを選択できるようになるという、デザイン自由度におけるたいへんな利点がもたらされる。
【００８７】
図１４は、ＦｌｅｘｉＲａｍデザインの好ましい実施態様の概要を示すものである。図に示されるように、データ圧縮は２つの段階から成る。すなわち、（１）エラー拡散（段階１４１０）、および（２）カルテットあたり１画素切り捨て（段階１４２０）である。
【００８８】
最初、ビデオデータがエラー拡散アルゴリズムに従って圧縮される（段階１４１０）。好ましい実施態様においては、基本的圧縮単位は、４つの連続した水平画素を含む「カルテット」と定義される。エラー拡散圧縮段階（段階１４１０）は、カルテットの各画素を個別に圧縮する。１ビットエラー拡散アルゴリズムを用いることにより、本来３２ビット（４画素＊８ビット／画素）を有する画素のカルテットは、２８ビットに圧縮される（４画素＊７ビット／画素）。本発明は１ビットエラー拡散アルゴリズムに限定されるものではなく、多ビットエラー拡散アルゴリズムも同様に、ただし知覚可能な画質低下のトレードオフを伴って実施し得ることに留意すべきである。
【００８９】
ビデオデータ圧縮の第２段階は、「カルテットあたり１画素切り捨て」である（段階１４２０）。カルテットあたり１画素切り捨てアルゴリズムは、４つの７ビット画素のカルテットを２４ビットカルテットに圧縮するものである。データ圧縮器は、切り捨てされるカルテットの最良の画素を計算し、再構築記述子（「ＲＤ」）としてカルテットの最後の３ビットに再構築方法を格納する。この圧縮段階の後、画素の圧縮されたカルテットは２４ビットを有する（３画素＊７ビット／画素＋３ビットＲＤ）。このカルテットあたり１画素切り捨ての詳細なアルゴリズムは後述する。
【００９０】
ビデオデータがビデオメモリから必要とされる時は、ＦｌｅｘｉＲａｍは、メモリから読み出された圧縮データに復元を実行する。復元段階は、図１４に示される圧縮段階の逆である。
【００９１】
最初に、１つの画素が、カルテットあたり１画素再構築アルゴリズムにより２４ビットカルテットに加え戻されるが、このアルゴリズムはカルテットあたり１画素切り捨てアルゴリズムの逆である（段階１４３０）。この復元段階は、カルテットを表す２４ビットの最後の３ビットとして格納されたＲＤにより供給された再構築方法に従って、７ビットの切り捨てられた画素を再構築する。この復元段階（段階１４３０）の後、カルテットは再形成されて、４つの７ビット画素を持つ。好ましい再構築アルゴリズムは後に詳述する。
【００９２】
次に、各７ビット画素に「０」が連接され、圧縮前の４つの８ビット画素カルテットに戻る（段階１４４０）。この復元段階（段階１４４０）は、すべての画素に最も有意でないビットとして「０」を１つ連接して４つの８ビット画素を再形成する。
【００９３】
図１５は、圧縮・復元段階における種々のプロセス中のビデオデータのカルテット（すなわち、４つの８ビット画素）のデータフォーマットを示すものである。
【００９４】
最初、カルテット１５１０の各８ビット画素が、エラー拡散アルゴリズム１５２０を用いて個別に圧縮される。中間的な圧縮データは、４つの７ビット画素１５３０から成る。次に、これら４つの７ビット画素１５３０は、カルテットあたり１画素切り捨てアルゴリズム１５４０によりさらに圧縮される。最終的な圧縮データは、３つの７ビット画素１５５１と１つの３ビットＲＤ１５５２とから成る。圧縮されたデータの全長は２４ビットである。
【００９５】
ビデオデータがビデオメモリから必要とされる時は、圧縮されたデータは以下の２つの連続的段階により復元される。
【００９６】
最初、１つの付加的画素が、カルテットあたり１画素再構築アルゴリズム１５６０に従って生成される。このアルゴリズムは、２４ビット圧縮データ１５５０の３ビットＲＤ１５５２に基づくカルテットあたり１画素切り捨てアルゴリズム１５４０の逆である。中間的な復元データ１５７０は４つの７ビット画素から成る。次に、４つの７ビット画素の各々が、最も有意でないビット１５８０としての「０」と連接され、圧縮前の４つの８ビット画素が再形成される。
【００９７】
エラー拡散およびカルテットあたり１画素切り捨てアルゴリズムの詳細は以下で説明する。
【００９８】
Ａ．エラー拡散
この圧縮段階に様々なエラー拡散アルゴリズムが使用し得ることは留意すべきである。以下に開示される好ましい実施態様は、１ビットエラー拡散アルゴリズムを利用している。しかしながら、本発明は、エラー拡散処理に用いられるどのような特定のアルゴリズムにも限定されない。さらに、前に論じたように、もしより多くの画質劣化が許されるならば、複数のビット（１を超える）がエラー拡散アルゴリズムにより除去され得る。従って、以下の特定の１ビットエラー拡散アルゴリズムは、説明目的だけのために開示されている。
【００９９】
本発明のこの好ましい実施態様においては、エラー拡散（ＥＤ）アルゴリズムはピクチャ中のすべてのラインに独立して作用する。ラインの最初では、「ｅ」と表示された１ビットレジスターが１にセットされる。「ｅ」は、現在走っているエラーを格納し、画素ベースで更新される。１ビットＥＤアルゴリズムは、以下の２つの方程式により説明される。
Ｉout （ｊ）＝２＊ｆｌｏｏｒ［（Ｉin（ｊ）＋ｅ（ｊ））／２］
ただし、Ｉin（ｊ）＝２５５およびｅ（ｊ）＝１であれば、Ｉｏｕｔ（ｊ）＝２５５
ｅ（ｊ＋１）＝Ｉin（ｊ）＋ｅ（ｊ）＋Ｉout （ｊ）
式中、
ｊ：行中の現在の画素のインデックス
Ｉin（ｊ）：画素の本来の値
Ｉout （ｊ）：画素の新しい値（ＥＤ後）
ｅ（ｊ）：画素ｊの時間におけるエラーアキュムレータ
ｆｌｏｏｒ（ｘ）：ｘ以下で最も近い整数
【０１００】
Ｉout （ｊ）が計算された後、Ｉout （ｊ）の最も有意でないビットが切り捨てられ、このアルゴリズムにより８ビット画素が７ビット画素へ量子化される一方で、擬似的輪郭効果が除去される。
【０１０１】
このアルゴリズムは例えば以下のように説明し得る。すなわち、１つのケースにおいて、Ｉin（ｊ）が１８２、２進数１００１０１１１であり、ｅ（ｊ）が１であると仮定すると、
Ｉout （ｊ）＝２＊ｆｌｏｏｒ（（１００１０１１１＋１／２）
＝２＊ｆｌｏｏｒ（１００１１０００／２）
＝２＊ｆｌｏｏｒ０１００１１００
＝１００１１００
ｅ（ｊ＋１）            ＝１００１０１１１＋１−１００１１００
＝０
【０１０２】
最も有意でないビットを切り捨てることにより、格納された量子化画素は＝１００１１０である。
【０１０３】
「ｅ」値は次に、ラインの終わりに伝播される。本発明のＥＤアルゴリズムがラスタ構造に作用し、ピクチャがブロック構造のメモリに書き込まれるので、e(j)をブロックラインの終わりに格納することが必要である。この値は、ＥＤが同じライン（これは次のブロックに属している）中の次の画素と続いている時に、使われる。従って、８ビットラッチが、すべての「中断」ブロックに使用されなければならない。（ｅは０または１にしかなれないので、すべての中断ラインあたり１ビットで十分である）。
【０１０４】
復元段階１５８０は、上記の圧縮段階の逆である。好ましい実施態様においては、データは、「０」と共にあらゆる画素に連接され、４つの８ビット画素を再形成する。
【０１０５】
各７ビット画素は次に最も有意でないビットとして「０」が連接される。例えば、「１１０１１０１」は「１１０１１０１０」に再形成される。従って、結果として得られるデータは、オリジナルな未圧縮データと同様に４つの８ビット画素である。
【０１０６】
データが、１ビットエラー拡散アルゴリズムを用いて圧縮された後、４ビットが切り捨てられ、それにより４つの８ビット画素を有するカルテットが４つの７ビット画素に圧縮される。４つの８ビット画素を有するカルテットを４つの６ビット画素に圧縮できる「２」ビットエラー拡散アルゴリズムを実行することにより、より高い圧縮率が達成できることは真実である。２ビットエラー拡散アルゴリズムを用いた時の圧縮率は、２４／３２×１００％（すなわち、７５％）である。しかしながら、２ビットエラー拡散技術を用いた圧縮および復元後に知覚可能な画質劣化があることが見出される。従って、２ビットエラー圧縮技術を用いる代わりに、本発明では２段階の圧縮／復元プロセス、すなわち（１）１ビットエラー拡散、および（２）カルテットあたり１画素切り捨てを開示している。たとえ２つの技術の圧縮率が同一（すなわち、７５％）であっても、本発明として開示される２段階圧縮／復元プロセスの結果得られる画質は、２ビットエラー拡散技術に対し知覚可能な改善をもたらす。
【０１０７】
Ｂ．１カルテットあたり１画素切り捨て
本発明の好ましい実施態様の第２圧縮段階は、カルテットあたり１画素切り捨てである。カルテットあたり１画素切り捨てアルゴリズム１５４０は、４つの７ビット画素を３つの７ビット画素プラス３ビット再構築記述子（「ＲＤ」）（すなわち、総計で２４ビット）に圧縮するものである。
【０１０８】
ビデオメモリ中に格納される画素数を減らすため、種々の画素切り捨てアルゴリズムが使用し得ることに留意すべきである。本発明は、圧縮および復元プロセス中に用いられるどのような特定の画素切り捨てアルゴリズムおよび方程式にも限定されない。さらに、多画素（１を超える）は、画質劣化とのトレードオフで切り捨てられ得る。以下のカルテットあたり１画素切り捨ては、メモリ節約と画質への知覚可能な影響がほとんど無いという最良のバランスを備えた、本発明の好ましい実施態様として開示される。
【０１０９】
好ましい実施態様において、カルテットの４画素は各々Ｐ０、Ｐ１、Ｐ２、またはＰ３と連続的に名付けられる。画素Ｐ１およびＰ２は、切り捨てられる２つの候補である。このアルゴリズムは、（１）どちらの画素が切捨てにより適しているか、および（２）切り捨てられた画素を推定するために、復元においてどのような再構築方法を用いるべきかを予測する。各候補について５つの再構築方法が考えらえる。すなわち、
１．左隣りのものをコピーする。
２．右隣りのものをコピーする。
３．左隣りのものと右隣りのものを平均する。
４．左隣りのものの１／４と右隣りのものの３／４を合計する。
５．左隣りのものの３／４と右隣りのものの１／４を合計する。
【０１１０】
理論的には、Ｐ１を切り捨ててＰ２のコピーによりそれを推定することと、Ｐ２を切り捨ててＰ１のコピーによりそれを推定することとは等価である。従って２つの候補（すなわち、Ｐ１およびＰ２）については、考えられる推定量は９つ（１０ではない）しかない。さらに、カルテットから１画素を切り捨てた後、残る３画素を表すために２１ビットが残されることになる。好ましい実施態様においては、各カルテットについての最終的な圧縮データの目標サイズは２４ビットである（２５％圧縮）。このことは、選択され推定量を記述するために３ビットのみが割り当てられ得ることを意味し、従って、実際は８つの推定量のみが考慮し得る。考慮から省略される推定量は、左隣りのものの３／４と右隣りのものの１／４によりＰ２を再構築することである。この特定の推定量を省略する理由は、ＭＰＥＧピクチャの統計学により、これが最善のものとして選ばれることが最も少ないとことが示されるからである（４つの１／４、３／４推定量の中で選択は恣意的である）。
【０１１１】
最初に、８つの推定量が計算される。
Ｐ01=Ｐ０（P k j はｋ法を用いたＰｉの推定量を表す）
Ｐ01=Ｐ２
Ｐ21=０．５Ｐ０＋０．５Ｐ２
Ｐ31=０．２５Ｐ０＋０．７５Ｐ２
Ｐ41=０．７５Ｐ０＋０．２５Ｐ２
Ｐ12=Ｐ３
Ｐ22=０．５Ｐ１＋０．５Ｐ３
Ｐ32=０．２５Ｐ１＋０．７５Ｐ３
【０１１２】
すべての推定量について、推定誤差の絶対値は、Ｅk i = ｜Ｐk i - Ｐｉ｜と定義される。最小誤差は、ｍｉｎi,k ｛Ｅk l ｝である。１を超える最小誤差があれば、選択は恣意的である。（決定は実行のために未決のままにされる）。最後に、最小誤差に従って、Ｐｊiminが切り捨てられ、３ビットの再構築記述子（ＲＤ）が設定されて選択された推定量、Ｐkminiminが示される。３ビットＲＤは、残る３つの７ビット画素に連接され、一緒になって２４ビットの圧縮されたカルテットを形成する。連接方法は実行のために未決のままにされる。
【０１１３】
圧縮されたデータの復元は、単純に圧縮アルゴリズムの逆である。欠けている７ビットの切り捨てられた画素は、（１）再構築にどの画素（すなわち、Ｐ１またはＰ２）を、および（２）再構築にどの再構築方法を選択するかのために各カルテットの最後にあるＲＤを用いて再構築される。
【０１１４】
図１５に示されるように、データ圧縮器は、ＲＤの３ビットにより提供される再構築方法を得る。次に、再構築のための画素（Ｐ１またはＰ２）が決定され、上記の８つの方程式の逆に従って、画素再構築が実行される。
【０１１５】
本発明は（１）エラー拡散、および（２）画素切り捨てのビデオデータ圧縮段階において用いられるどのような特定の方法および方程式にも限定されないことは指摘されるべきである。本発明として開示されたＦｌｅｘｉＲａｍデザインの重要な特徴は、これら２つのデータ圧縮／復元段階の特定のシーケンスである。すなわち、ビデオデータは最初に、エラー拡散アルゴリズムを用いて画素あたりのビット数を減らして圧縮される。次に、中間的な圧縮ビデオデータは、特定の画素グループから１つの画素を切り捨てる画素切り捨てアルゴリズムを用いてさらに圧縮される。前に論じたように、復元プロセスはまさに圧縮プロセスの逆である。
【０１１６】
本発明が上記で好ましい特定の実施態様と共にされる一方で、説明および実施例は例示を意図するものであって、かつ本発明の範囲を限定するものではなく、それは添付の特許請求の範囲により規定されるものであるということは理解されるべきである。
【図面の簡単な説明】
【図１】  従来のビデオ復号・表示システムを示す。
【図２】  本発明の分割メモリマネージャデザインの好ましい実施態様を示す。
【図３】  本発明の分割メモリマネージャデザインの別の好ましい実施態様を示す。
【図４】、表示セグメントリストとメモリセグメントリストとを用いた、ビデオメモリを間接的にアドレスする方法を示す。
【図５】  メモリセグメントリストの詳細を示す。
【図６】  表示セグメントリストの詳細を示す。
【図７】  （ａ）フレームピクチャフォーマットおよび（ｂ）フィールドピクチャフォーマットのための表示セグメントリスト上の２つの書き込みポインタおよび読み取りポインタの位置決めを示す。
【図８】  セグメント化された再利用可能なビデオメモリデザインの詳細を示すブロック図である（本発明者によりローリングメモリデザインと名付けられている）。
【図９】  各ピクチャについての表示セグメントリストの初期化の詳細を示す。
【図１０】  各マクロブロック行の復号されたビデオデータのビデオメモリへの書き込みを示す。
【図１１】  表示セグメントリストの更新の詳細を示す。
【図１２】  ＦｌｅｘｉＲａｍデザインの３つの好ましい実施態様を示す。
【図１３ａ】  ＦｌｅｘｉＲａｍデザインの別の３つの好ましい実施態様を示す。
【図１３ｂ】  ＦｌｅｘｉＲａｍデザインの別の３つの好ましい実施態様を示す。
【図１３ｃ】  ＦｌｅｘｉＲａｍデザインの別の３つの好ましい実施態様を示す。
【図１４】  ビデオデータ圧縮・復元の段階を示すブロック図である。
【図１５】  圧縮および復元の種々の段階の間のカルテットのビデオデータフォーマットを示す。
【図１】
0004486755.tif 000002
【図２】
0004486755.tif 000003
【図３】
0004486755.tif 000004
【図４】
0004486755.tif 000005
【図５】
0004486755.tif 000006
【図６】
0004486755.tif 000007
【図７】
0004486755.tif 000008
【図８】
0004486755.tif 000009
【図９】
0004486755.tif 000010
【図１０】
0004486755.tif 000011
【図１１】
0004486755.tif 000012
【図１２】
0004486755.tif 000013
【図１３ａ】
0004486755.tif 000014
【図１３ｂ】
0004486755.tif 000015
【図１３ｃ】
0004486755.tif 000016
【図１４】
0004486755.tif 000017
【図１５】
0004486755.tif 000018