【誤訳訂正書】
【提出日】平成19年2月22日(2007.2.22)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】      明細書
【発明の名称】  改善された効率のためにスキュードタイル記憶フォーマットを用いる動き補償を行うシステム及び方法
【特許請求の範囲】
【請求項１】
時間的に符号化されたＰ又はＢフレームデータを受け取り、爾前に復号されたＩ又はＰフレームのビデオデータを用いて、前記時間的に符号化されたＰまたはＢフレームを復号する手段と、
少なくとも１つの前記ビデオデータであって、前記ビデオデータの画素を碁盤目状に分割した、複数のマクロブロックからなるビデオデータを記憶するために前記時間的に符号化されたＰまたはＢフレームを復号する手段に接続されたフレームメモリを含み、
前記フレームメモリがページメモリであり、
該ページメモリの各ページは、前記碁盤目の各行の隣接する２以上のマクロブロックを記憶し、
前記碁盤目の隣接する行のマクロブロックを記憶するページ同士は、少なくとも前記マクロブロックの幅だけページ区切りが互いにずれている、システム。
【請求項２】
前記時間的に符号化されたＰ又はＢフレームデータが、前記フレームメモリに格納された前記少なくとも１つの、前記ビデオデータにおけるマクロブロックを指し示す１つ以上の動きベクトルを含み、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、前記１つ以上の動きベクトルを分析し、及び前記１つ以上の動きベクトルに応じて前記フレームメモリから１つ以上のマクロブロックを取り出す、請求項１記載のシステム。
【請求項３】
前記フレームメモリが、少なくとも第１及び第２のページにマクロブロックを記憶し、前記第１のページに第１のマクロブロックを格納し、前記第２のページに第２のマクロブロックを格納し、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、局部メモリを含み、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、前記１つ以上の動きベクトルに応じて前記フレームメモリから１つ以上のマクロブロックを読み出し且つ前記１つ以上のマクロブロックを前記局部メモリに格納するところのメモリコントローラーを含み、
前記メモリコントローラーが、前記第２のマクロブロックを前記第２のページから読み出す前に、前記第１のマクロブロック全体を前記第１のページから読み出す、請求項１または２記載のシステム。
【請求項４】
前記フレームメモリの各ページが、１行中の隣接する２つのマクロブロックを格納し、
隣接する行のマクロブロックを記憶するページ同士は、前記マクロブロックの幅だけページ区切りが互いにずれている、請求項１〜３のいずれか１項記載のシステム。
【請求項５】
前記フレームメモリの各ページに、１行中の隣接する２つの輝度マクロブロックを格納する請求項４記載のシステム。
【請求項６】
前記フレームメモリの各ページに、２つ以上の行の隣接する４つの色差マクロブロックを格納する請求項４記載のシステム。
【請求項７】
符号化データを受信して可変長復号データを生成する可変長復号ブロックと、
前記可変長復号データを受信して逆走査データを生成する逆走査ブロックと、
前記逆走査データを受信して逆量子化データを生成する逆量子化ブロックと、
前記逆量子化データを受信して時間的に符号化されたフレームデータを生成する逆ＤＣＴブロックと、
前記時間的に符号化されたＰ又はＢフレームデータを受け取り、爾前に復号されたＩ又はＰフレームのビデオデータを用いて、前記時間的に符号化されたＰまたはＢフレームを復号する手段と、及び
少なくとも１つの前記ビデオデータを記憶するために前記時間的に符号化されたＰまたはＢフレームを復号する手段に接続されたフレームメモリであって、前記ビデオデータの画素を碁盤目状に分割した、複数のマクロブロックからなるビデオデータを記憶するフレームメモリを含み、
前記フレームメモリがページメモリであり、
該ページメモリの各ページは、前記碁盤目の各行の隣接する２以上のマクロブロックを記憶し、
前記碁盤目の隣接する行のマクロブロックを記憶するページ同士は、少なくとも前記マクロブロックの幅だけページ区切りが互いにずれている、改善されたメモリ格納機構を備えたＭＰＥＧ復号器。
【請求項８】
前記時間的に符号化されたＰ又はＢフレームデータが、前記フレームメモリに格納された前記少なくとも１つの、前記ビデオデータにおけるマクロブロックを指し示す１つ以上の動きベクトルを含み、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、前記１つ以上の動きベクトルを分析し、前記１つ以上の動きベクトルに応じて前記フレームメモリから前記１つ以上のマクロブロックを取り出す、請求項７記載のＭＰＥＧ復号器。
【請求項９】
前記フレームメモリが、少なくとも第１及び第２のページにマクロブロックを記憶し、前記第１のページに第１のマクロブロックを格納し、前記第２のページに第２のマクロブロックを格納し、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、局部メモリを含み、
前記時間的に符号化されたＰまたはＢフレームを復号する手段が、前記１つ以上の動きベクトルに応じて前記フレームメモリから１つ以上のマクロブロックを読み出し且つ前記の１つ以上のマクロブロックを前記局部メモリに格納するところのメモリーコントローラーを含み、
前記メモリーコントローラーが、前記第２のマクロブロックを前記第２のページから読み出す前に、前記第１のマクロブロック全体を前記第１のページから読み出す、請求項７又は８記載のＭＰＥＧ復号器。
【請求項１０】
前記フレームメモリの各ページが、１行中の隣接する２つのマクロブロックを格納し、
隣接する行のマクロブロックを記憶するページ同士は、前記マクロブロックの幅だけページ区切りが互いにずれている、請求項７〜９のいずれか１項記載のＭＰＥＧ復号器。
【請求項１１】
前記フレームメモリの各ページに、１行中の隣接する２つの輝度マクロブロックを格納する請求項１０記載のＭＰＥＧ復号器。
【請求項１２】
前記フレームメモリの各ページに、２つ以上の行の隣接する４つの色差マクロブロックを格納する請求項１０記載のＭＰＥＧ復号器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広くデジタルビデオの圧縮に関し、特にブロックアクセス中のページ間の交差を減らして性能を改善するためにマクロブロックをスキュードタイル構造で記憶する動き補償を行うＭＰＥＧ復号器に関する。
【０００２】
【従来の技術】
自然な動きのデジタルビデオは、大量のメモリとデータ転送帯域幅を必要とする。従って、ビデオシステムでは、いろいろな種類のビデオ圧縮アルゴリズムを用いて、必要な記憶容量や転送帯域幅の量を減らそうとする。一般に、静止画像と自然な動きのビデオ（以下、「自然動画」と言う）に対しては、異なるビデオ圧縮方式が存在する。静止画像又は単一のフレームのデータを、そのフレーム内の空間的冗長性を用いて圧縮するには、フレーム内圧縮方式を用いる。フレーム間の時間的冗長性を用いて多数のフレーム、即ち動画を圧縮する場合は、フレーム間圧縮方式を用いる。フレーム間圧縮方式は、動画専用であり、単独で用いることもフレーム内圧縮方式と関連付けて用いることもできる。
【０００３】
フレーム内又は静止画像圧縮技法には、離散コサイン変換（ＤＣＴ;discrete cosine transform）などの周波数範囲技法を一般に用いる。フレーム内圧縮においては、空間的冗長性を除去してフレームを効率よく符号化するために、一般に画像フレームの周波数特性を用いる。静止画像に対するビデオデータ圧縮の例としては、ＪＰＥＧ(Joint Photographic Experts Group）圧縮方式及びＲＬＥ（Run Length Encoding）がある。ＪＰＥＧ圧縮方式は、無損失性の（画像品質の劣化のない）圧縮及び（激しい劣化が知覚できないような）損失性の圧縮の何れも可能な離散コサイン変換（ＤＣＴ）を用いる一群の関連規格である。ＪＰＥＧ圧縮方式は、本来、ビデオと言うよりは静止画像の圧縮のために設計されたものであるが、一部の動画用途にも用いられる。ＲＬＥ圧縮方式は、ビットマップ中の１つの行において重複する画素があるかどうか検査し、画素自体のデータではなく重複して出現する連続する画素の個数を記憶するように作用する。
【０００４】
静止画像用の圧縮アルゴリズムに対して、大半のビデオ圧縮アルゴリズムは、自然動画を圧縮するために設計されたものである。前述のように、動画用のビデオ圧縮アルゴリズムは、フレーム間の時間的冗長性を取り除くフレーム間圧縮と称する概念を用いる。フレーム間圧縮においては、連続するフレーム間の差のみをデータファイルに格納することが必須である。また、基準となるキーフレーム又は基準フレームの画像全体を、一般には中程度に圧縮したフォーマットで、格納する。連続するフレームをキーフレームと比較し、キーフレームと連続する各フレームとの差のみを記憶する。周期的に、例えば新たな場面が表示される度に、新たなキーフレームを記憶し、続いてこの新たな基準点から比較を開始する。なお、ビデオ品質を変化させながらフレーム間圧縮比を一定に保ってもよい。ま
た、これに代わって、フレーム間圧縮比を内容によって変化させてもよく、この場合圧縮中のビデオ部分が１つの画像から他の画像への場面の急変を多く含む場合は、この圧縮の効率は低くなる。フレーム間圧縮技法を用いたビデオ圧縮の例としては、特にＭＰＥＧ、ＤＶＩ（Digital Video Interactive)及びＩｎｄｅｏ（インデオ）がある。
【０００５】
ＭＰＥＧの背景
ＭＰＥＧ（Moving Pictures Experts Group)圧縮という圧縮規格は、前述のフレーム間及びフレーム内の圧縮技法を用いる自然動画像の圧縮・伸張方式の集合である。ＭＰＥＧ圧縮は、特に動き補償処理と離散コサイン変換（ＤＣＴ）処理とを併用するもので、とりわけ２００：１を超える圧縮比を得ることができる。
【０００６】
主なＭＰＥＧ規格には、ＭＰＥＧ−１及びＭＰＥＧ−２という２つがある。概して、ＭＰＥＧ−１規格は、ブロックを基本とする動き補償予測（ＭＣＰ）［これは、時間差分パルス符号変調（ＤＰＣＭ）を一般に用いる］を用いたフィールド間のデータ削減に関する。ＭＰＥＧ−２規格は、ＭＰＥＧ−１規格と似ているが、高品位テレビ（ＨＤＴＶ）などのインタレース式デジタルビデオを含む一層広範な用途に対応する数々の拡張を含むものである。
【０００７】
ＭＰＥＧのようなフレーム間圧縮方式は、大半のビデオシーケンスにおいて、前景で動作が起こっても、背景は比較的安定したままであるという事実に基づく。背景が動く場合もあるが、ビデオシーケンスにおいて連続するフレームの大部分は冗長である。
【０００８】
ＭＰＥＧストリームは、イントラ（Ｉ；Intra）フレーム、予測（Ｐ；predicted）フレーム及び双方向補間（Ｂ；bi-directionally interpolated）フレームと称する３種類の画像を含む。Ｉ、即ちイントラフレームは、１フレーム全体のビデオデータを含み、一般に１０〜１５フレーム毎に配置される。イントラフレームは、ファイルへのランダムアクセス可能な入口点となり、一般に圧縮率は中程度にとどまる。予測（Ｐ）フレームは、過去のフレーム、即ち、前のイントラフレーム又は予測フレームに関連付けて符号化される。従って、Ｐフレームは、前のＩ又はＰフレームに対する変化のみを含む。概して、Ｐフレームは、かなり大きい量の圧縮を受け、後の予測フレームの基準として使用される。このように、Ｉ及びＰの両フレームは、後続のフレームの基準として使用される。双方向補間（Ｂ）フレームは、大量の圧縮を含み、その符号化には前後の基準が共に必要となる。双方向フレームは、他のフレームの基準として用いられることはない。
【０００９】
一般に、基準フレームに続くフレーム、即ち基準となるＩ又はＰフレームに続くＰ又はＢフレームに関して言えば、これらのフレームの僅かな部分だけが、それぞれの基準フレームの対応する部分と異なる。従って、これらのフレームについては、その差のみを捕らえて圧縮、記憶する。これらのフレーム間の差は、一般に、以下で述べるように動きベクトル評価論理を用いて生成される。
【００１０】
ＭＰＥＧ符号器が、ビデオファイル又はビデオビットストリームを受信すると、先ずＩフレームを生成するのが一般的である。ＭＰＥＧ符号器は、各Ｉフレームをフレーム内無損失圧縮技法を用いて圧縮してもよい。Ｉフレームを生成した後、ＭＰＥＧ符号器は、各フレームをマクロブロックと称する１６ｘ１６画素の正方形から成る碁盤目状に分割する。各フレームをマクロブロックに分割するのは、動きの評価／補正を行うためである。符号器は、目的（ターゲット）の画像又はフレーム、即ち符号化中のフレームに対し、目的画像のマクロブロックと検索フレームという隣接する画像の中の１つのブロックとの間の正確な一致又はほぼ正確な一致を探す。目的フレームがＰフレームの場合、符号器は、前のＩ又はＰフレームの中を検索する。目的フレームがＢの場合、前か、後か、又は前と後の両方のＩ又はＰフレームの中を検索する。一致が見つかると、符号器は、ベクトル運動符号すなわち動きベクトルを送り出す。ベクトル運動符号すなわち動きベクトルは、検索フレームと各目的画像との間の差に関する情報のみを含む。目的画像のブロックのうち、基準画像又はＩフレームの該ブロックに対して変化がないブロックは無視される。このようにして、これらのフレームに対して実際に記憶されるデータ量は、かなり削減される。
【００１１】
符号器は、動きベクトルを生成した後、空間的冗長性を用いて前記の変化を符号化する。このようにして、各マクロブロックの位置の変化を調べた後、ＭＰＥＧアルゴリズムは、さらに、対応するマクロブロック間の変化を計算し、符号化する。変化の符号化は、離散コサイン変換すなわちＤＣＴと称する数学的処理によって行われる。この処理により、マクロブロックをサブブロックに分割し、色と明るさの変化を求める。人の知覚は、色の変化より明るさの変化の方に敏感であるため、ＭＰＥＧアルゴリズムでは、明るさより色のスペースを削減することに多くの努力が払われる。
【００１２】
このように、ＭＰＥＧ圧縮は、ビデオシーケンスにおける空間と時間の２種類の冗長性に基づくものである。空間的冗長性は、個々のフレームにおける冗長性であり、時間的冗長性は、連続するフレーム間の冗長性である。空間的圧縮は、画像フレームの周波数特性を考慮することによって達成される。各フレームを重なり合わないブロックに分割し、各ブロックを離散コサイン変換（ＤＣＴ）によって変換する。変換したブロックを「ＤＣＴ領域（domain）」に変換した後、変換したブロック内の各項目（entry）を１組の量子化テーブルに関して量子化する。各項目に対する量子化のステップは、周波数に対する人視覚系（ＨＶＳ；human visual system）の感度を考慮して変化させる。ＨＶＳは、低い周波数に対して敏感なので、周波数の高い項目は大抵０に量子化される。このように各項目を量子化するステップにおいて情報が失われ、再生された画像に誤差が持ち込まれる。量子化された値（以降、「量子化値」と言う）を送るにはランレングス符号化を用いる。圧縮をさらに高めるために、周波数の低い方の項目からジグザグ順序でブロックを走査し、ゼロでない量子化値をゼロ・ランレングスと共にエントロピー符号化する。
【００１３】
前述のように、物体の殆どは連続する画像フレーム間において不変であり、連続するフレームにおける物体すなわちブロックの間の差は、（物体の動き、カメラの動き、又はこれらの両方に起因する）動きの結果としての、フレームにおけるそれらの位置であるという事実が、時間的な圧縮のために利用される。この相対的な符号化で重要なことは、動きの評価である。一般に、動きの評価(estimation)は、大抵のビデオ圧縮アルゴリズムにおける必須の処理要件である。既に述べたとおり、動きの評価は、ビデオシーケンスのフレーム間の時間的冗長性を識別する作業である。
【００１４】
ＭＰＥＧ復号器は、符号化されたストリームを受信すると、上記走査の逆を行う。すなわち、ＭＰＥＧ復号器は、逆走査をしてジグザグ順序性を除去し、逆量子化により量子化データの量子化を解除し、逆ＤＣＴによりデータを周波数領域から画素の領域へと復元する。また、ＭＰＥＧ復号器は、送出された動きベクトルを用いて動き補償を行い、時間的に圧縮されたフレームを再生成する。
【００１５】
Ｉ又はＰフレームのような、他のフレームの基準として用いられるフレームが受信されると、これらのフレームは、復号されてメモリに記憶される。Ｐ又はＢフレームのような時間的に圧縮されたフレームすなわち符号化されたフレームが受信されると、前に復号されたＩ又はＰの基準フレームを用いて、受信されたフレームに対して動き補償を行う。時間的に圧縮されたフレーム又は符号化されたフレームは、目的フレームと言い、前に復号されたＩ又はＰ基準フレーム（それはメモリに記憶されている）中のブロックへの参照をする動きベクトルを含む。ＭＰＥＧ復号器は、その動きベクトルを調べて、基準フレーム内の各基準ブロックを決定し、その動きベクトルによって指し示される基準ブロックをメモリからアクセス（読み出し）する。
【００１６】
一般に、ＭＰＥＧ復号器には、局部メモリ又はオンチップメモリを含む動作補正論理回路が含まれる。また、ＭＰＥＧ復号器には、既に復号した基準フレームを格納する外部メモリも含まれる。この外部メモリは、一般に複数のページにデータを格納するページメモリである。公知のとおり、１ページの範囲内でデータがアクセスされる場合には、行アドレスが共通であるため、メモリアクセスは迅速に、即ち、待ち状態なしに、行われる。しかし、ページミス（ページ外れ）叉はページ交差が発生した場合、即ち、現在アクセス中のページとは異なるページ上に位置するデータが要求された場合、新たなＲＡＳとＣＡＳが必要となり、従って待ち状態が必要となる。これにより、メモリアクセスの待ち時間が増大するため、システムの性能が低下する。
【００１７】
【発明が解決しようとする課題】
従って、ＭＰＥＧ復号器において動き補償を効率的に行う新たなシステム及び方法が望まれる。動き補償において用いるための基準ブロックデータの取り出しにおけるメモリページ交差の最大数を最小にする新たなシステム及び方法が求められる。性能特性を保証する新たなシステム及び方法が、さらに求められる。
【００１８】
【課題を解決するための手段】
本発明は、ビデオシーケンスのフレームを復号するためのＭＰＥＧ復号システム及び方法である。本ＭＰＥＧ復号器は、ＭＰＥＧストリームの符号化されたフレームにおける動きベクトルを分析し、前に復号した基準ブロックを用いて、動きベクトルによって符号化されたデータを再生する動き補償論理回路を含む。本ＭＰＥＧ復号器は、新奇なスキュードタイル構造に従い基準ブロックデータを記憶することにより、このデータをメモリから取り出す際に必要となるページ交差の最大数を最小化する。本発明により、性能が補正され且つ効率が改善される。
【００１９】
本発明においては、圧縮されたビデオファイル又はビデオビットストリームを受け取り、圧縮されていない又は復号されたビデオストリームを生成するビデオ復号器すなわちＭＰＥＧ復号器を含むコンピュータシステムを備えることが好ましい。ＰＭＥＧ復号器は、局部メモリを含む動き補償ブロックを含む。動き補償ブロックには、基準となるフレーム又は目的フレームのデータを格納する外部のフレーム記憶メモリが接続される。ＭＰＥＧ符号化されたストリームは、動きベクトルを含む時間的に符号化されたフレームデータを含む。各動きベクトルは、フレーム記憶メモリ（以降、「フレームメモリ」と称する）に記憶されているビデオデータの基準フレーム内の１基準ブロックを指し示す。動き補償システム（又は、動き補償ブロック）は、基準ブロック又は検索ブロックと称するところの前に復号されたブロックへの動きベクトルを用いて、目的ブロックを復号するように動作する。動き補償ブロックは、動きベクトルを分析し、動きベクトルに応じてフレームメモリからそれぞれの基準ブロックを取り出す。
【００２０】
基準ブロックは、外部メモリに格納され、動き補償論理回路により必要に応じてアクセスされる。通常、動き補償論理回路は、基準フレームの何れの基準ブロックが動き補償に必要であるかについて事前には知らない。該メモリは、１つ以上のページにデータを記憶するページメモリである。本発明によれば、基準フレームの各基準ブロックは、新奇なスキュードタイル構造（配置）に従って該メモリに格納される。このスキュードタイルメモリ記憶構造により、外部メモリからの基準ブロックの取り出し時に発生するページ交差の最大数が制限される。
【００２１】
フレームメモリは、複数行のマクロブロックを格納し、フレームメモリの各ページが各行の１つ以上のマクロブロックを記憶することが好ましい。本発明によれば、フレームメモリから基準ブロックのデータを取り出す時のページ交差の最大数を最小にするために、隣接する行のマクロブロックを格納するページを互いにスキュー(skew)する。好ましい実施形態においては、１行中で隣接する２つのマクロブロックをフレームメモリの各ページに格納し、隣接する行に格納されたマクロブロックを１マクロブロック分の幅だけ互いにスキューして、予測されるフィールドのマクロブロックの内部でページ交差の最大数を最小にしている。
【００２２】
このように、本発明は、メモリアクセス効率の改善、性能特性の保証、又はこれらの両方を実現しつつ動き補償を行うものである。
【００２３】
【発明の実施の形態】
ビデオ圧縮システム
図１には、本発明による動き補償システムを含む、ビデオの復号又は伸張を行うシステムを示す。本発明のシステムは、ビデオ復号又はビデオ伸張の処理中にビデオシーケンスの時間的に圧縮されたフレーム間の動き補償を行うものである。換言すれば、本発明のシステムは、１つのビデオフレームのブロックを表す動き評価ベクトルを受け取り、ビデオ伸張中に圧縮データを復元するものである。しかしながら、本発明のシステムは、要望により種々のアプリケーションの種類を問わず動き補償を行うために用いることができる。
【００２４】
図示したとおり、一実施形態のビデオ復号又はビデオ伸張のシステムは、汎用コンピュータシステム６０を備えている。このビデオ復号システムは、コンピュータシステム、セットトップ（重ね置き用の）装置、テレビ又はその他の装置を含む種々のシステムの何れで構成してもよい。
【００２５】
コンピュータシステム６０は、これによって伸張又は復号されるべきデジタルビデオファイルを格納する媒体記憶ユニット６２に接続することが好ましい。媒体記憶ユニット６２は、結果的に得られる復号又は伸張されたビデオファイルも格納することができる。好ましい実施形態では、コンピュータシステム６０が、圧縮されたビデオファイル又はビットストリームを受け取り、正規の圧縮されていないデジタルビデオファイルを生成する。ここでは、「圧縮されたビデオファイル」と言う用語は、特にＭＰＥＧ規格を含む、動き予測技術を用いる種々のビデオ圧縮アルゴリズムの何れかによって圧縮されたビデオファイルを指す。また、「圧縮されていないデジタルビデオファイル」と言う用語は、復号又は伸張されたビデオストリームを指す。
【００２６】
図示したとおり、コンピュータシステム６０は、ビデオの復号又は伸張の動作を行うビデオ復号器７４を含むことが好ましい。ビデオ復号器７４は、ＭＰＥＧ復号器であることが好ましい。また、コンピュータシステム６０は、ＭＰＥＧ符号器７６を随意に含んでもよい。ＭＰＥＧ復号器７４及びＭＰＥＧ符号器７６は、コンピュータシステム内のバスに結合されるアダプタカードであることが好ましいが、説明のためにコンピュータシステム６０の外側に示してある。また、コンピュータシステム６０は、ソフトウェア（フロッピィディスク７２で表した）を含む。このソフトウェアにより、ビデオの伸張すなわち復号の動作の部分を行っても良く、また希望によりその他の処理を行うことも可能である。
【００２７】
コンピュータシステム６０は、１つ以上のプロセッサ、１つ以上のバス、ハードディスク装置及びメモリを含む種々の標準的な構成要素を含むことが好ましい。ここで、図２に、図１のコンピュータシステムに含まれる構成要素を図解するブロック図を示す。なお、図２は単に説明を目的としているだけであり、要望に応じてその他のコンピュータアーキテクチャを用いてもよい。同図より、コンピュータシステム６０は、チップセット論理回路８２を介してシステムメモリ８４に接続された少なくとも１つのプロセッサ８０を含む。チップセット８２は、バス８６へのインターフェイスのためのＰＣＩ（Peripheral Component Interconnect）ブリッジか、又は別の種類の拡張バスへのインターフェイスのための別の種類のバスブリッジを含むことが望ましい。図２において、ＭＰＥＧ復号器７４及びＭＰＥＧ符号器７６は、ＰＣＩバス８６に接続されて示されている。コンピュータシステム６０には、ビデオ８８及びハードディスク装置９０のような、その他の種々の要素を含めることができる。
【００２８】
前述のように、図１の好ましい実施形態では、コンピュータシステム６０は、１つ又はそれ以上のデジタル記憶装置又は媒体記憶装置を含むか、又はこれに接続される。例えば、図１の実施形態では、コンピュータシステム６０は、ケーブル６４を通して媒体記憶ユニット６２に接続されている。媒体記憶ユニット６２は、伸張するべきデジタルビデオの格納又は結果的に得られる復号されたビデオデータの格納又はこれら両方のために、ＲＡＩＤ［redundant array of inexpensive Disks（廉価ドライブ冗長アレイ）］ディスクアレイを備えるか、叉は１つ以上のＣＤ−ＲＯＭ装置もしくは１つ以上のデジタルビデオディスク（ＤＶＤ）記憶ユニット、若しくはこれらの両方、又はその他の媒体を含むことが好ましい。また、コンピュータシステム６０は、１つ又はそれ以上の内部ＲＡＩＤアレイやＣＤ−ＲＯＭ装置を含んでも良く、１つ又はそれ以上の別個のデジタルビデオディスク（ＤＶＤ）記憶ユニットを接続しても良く、或いはこれらの両方を行ってもよい。コンピュータシステム６０は、要望に応じて、他の種類のデジタル又はアナログの記憶装置又は媒体を接続してもよい。
【００２９】
また、圧縮されたデジタルビデオは、離れた記憶装置、離れたコンピュータシステム、衛星、又はケーブル網などの外部の情報源から受け取るようにしてもよい。このような実施形態では、コンピュータシステムは、デジタルビデオファイルを受信するために、ＡＴＭ（非同期転送モード）アダプタカード、ＩＳＤＮ（統合サービスデジタル網）端末アダプタ又はその他のデジタルデータ受信装置のような入力装置を含むことが好ましい。デジタルビデオファイルは、アナログ形式で受信・格納し、コンピュータシステム６０の外部又は内部の何れかにおいてデジタルデータに変換してもよい。
【００３０】
前述のように、コンピュータシステム６０のＭＰＥＧ復号器７４は、ビデオ復号又はビデオ伸張の機能を果たす。ビデオ復号又はビデオ伸張を行う場合、ＭＰＥＧ復号器７４は、動きベクトルを含む時間的に圧縮されたフレームをデジタルビデオファイルとして受け取り、それらの圧縮されたフレームを動き補償技法を用いて伸張又は復号する。さらに後述するように、コンピュータシステム６０のＭＰＥＧ復号器７４は、ページ間交差を減らしながら所望の基準ブロックの効率的アクセスを可能とするために、前に復号されたフレームをタイル形式でメモリに格納する。このようにして、ＭＰＥＧ復号器７４は、本発明にしたがい効率良く且つ保証された性能で動き補償を行う。
【００３１】
なお、ビデオデータを復号又は伸張する本システムは、希望に応じて２台以上の相互接続されたコンピュータを含んでもよい。ビデオデータを復号又は伸張する本システムは、また、セットトップ装置のような他のハードウェアを、単独で、又は汎用のプログラム可能なコンピュータと供に用いて、備えてもよい。なお、本発明に従いビデオデータを復号又は伸張するものであれば、希望により種々のシステムの何れを用いてもよい。
【００３２】
図３−ＭＰＥＧ復号器ブロック図
ここで、図３に、本発明に従い動き補償を行うＭＰＥＧ復号器７４を説明するブロック図を示す。同図のように、ビデオ復号器７４は、符号化又は圧縮されたデジタルビデオストリームを受け取り、圧縮されていないデジタルビデオストリームを出力する。圧縮されたデジタルビデオストリームとは、テレビ又はコンピュータシステムなどの画面上にテレビ画像又は動画などのビデオシーケンスを映し出すのに用いられる圧縮ビデオデータのビットストリームである。好ましい実施形態においては、圧縮デジタルビデオストリームは、ＭＰＥＧ−２圧縮アルゴリズムを用いて圧縮されるので、ビデオ復号器７４は、ＭＰＥＧ−２復号器であることが好ましい。ＭＰＥＧ復号器の動作は、当業界において公知であるから、その動作の詳細（本発明の動作には不要である）は、簡単のため省略する。
【００３３】
図３に示すとおり、ＭＰＥＧ復号器７４は、逆走査ブロック１０４に出力を与えるように接続された可変長復号ブロック１０２を備え、逆走査ブロック１０４は、逆量子化ブロック１０６に出力を与えるように接続され、これが、逆ＤＣＴブロック１０８に出力を与えるように接続され、これが、動き補償ブロック１１０に出力を与えるように接続されている。動き補償ブロック１１０は、復号された標本を含む出力を与える。動き補償ブロック１１０の出力には、復号されたフレームデータを受信及び格納するフレームメモリ１１２が接続される。動き補償ブロック１１０は、フレームメモリ１１２の出力に接続され、動き補償の間にフレームメモリ１１２から基準ブロックデータを受け取る。
【００３４】
図３に示すとおり、可変長復号ブロック１０２は、符号化されたデータ（以降、「符号化データ」のように表す）を受信し、可変長復号を行う。公知のとおり、ＭＰＥＧ規格の規定では、データは、可変長符号を用いて伝送できるように圧縮される。このため、可変長復号ブロック１０２は、前記のデータを復号してＱＦＳ［ｎ］という出力を生成する。可変長復号ブロック１０２のＱＦＳ［ｎ］出力は、逆走査ブロック１０４に与えられる。逆走査ブロック１０４は、受信したデータのジグザグな走査順（これは、ここまで適切である）を逆にし、ＱＦ［ｖ］［ｕ］という出力を生成する。この出力ＱＦ［ｖ］［ｕ］は、逆量子化ブロック１０６に与えられる。逆量子化ブロック１０６は、逆量子化、又はデクウオンタイズ（de-quantize）して、Ｆ［ｖ］［ｕ］という逆量子化されたデータを生成する。逆量子化ブロック１０６の出力Ｆ［ｖ］［ｕ］は、逆ＤＣＴブロック１０８に与えられ、この逆ＤＣＴブロック１０８は、逆離散コサイン変換を行い、データを周波数領域から画素領域へと戻す。逆ＤＣＴブロック１０８は、ｆ［ｙ］［ｘ］と言う出力を生成する。逆ＤＣＴブロック１０８の出力ｆ［ｙ］［ｘ］は、動き補償ブロック１１０に与えられる。
【００３５】
逆ＤＣＴブロック１０８からの出力ｆ［ｙ］［ｘ］は、画素データの時間的に符号化されたフレームからなる。動き補償ブロック１１０は、動き補償技法を用いて時間的に圧縮されたフレームを伸張する。前述のように、ＭＰＥＧ符号化ストリームは、Ｉ、Ｐ及びＢのフレームから成る。Ｐ及びＢは、他のフレームに対して時間的に圧縮されている。Ｐフレームは、前のＩ又はＰフレームに対して時間的に圧縮され、Ｂフレームは、前又は後のＩ又はＰフレームに対して時間的に圧縮されている。フレームを時間的に圧縮する際、該フレームを目的ブロックというマクロブロックへと区分し、さらにこの圧縮方法は、符号化中のブロックに最も似たブロックを求めて近隣のフレームを探す。最も適合するブロックが見つかると、各目的ブロックは、基準フレーム内の該最も適合する基準ブロックを指し示す動きベクトルにより符号化される。また、符号化中のブロックと最も適合するブロックとの間の差を計算してＭＰＥＧストリームに転送する。
【００３６】
動き補償ブロック１１０からの出力画素値は、フレームメモリ１１２に与えられる。フレームメモリ１１２は、このように動き補償ブロック１１０に接続されて、ビデオデータの１つ以上の基準フレームを格納する。これらのビデオデータの基準フレームは、Ｐ及びＢフレームのような時間的に圧縮されたフレームに対して動き補償を行う際に使用される。一般に、ＭＰＥＧストリームは、前に送られた基準フレームのデータに依存する時間的に圧縮されたデータの前に送られるところの符号化された基準フレームデータを含む。従って、到来するＰ及びＢフレームのデータ等の時間的に符号化されたフレームのデータは、前に送られた基準フレームビデオデータ中の基準ブロック（それはフレームメモリ１１２に格納されている）を指し示すところの動きベクトルを含む。動き補償ブロック１１０は、到来する時間的に圧縮されたデータから得た各動きベクトルを分析し、各動きベクトルに応じてフレームメモリ１１２から基準ブロックを１つ取り出す。動作補正ブロック１１０は、取り出した基準ブロックを格納する局部メモリ即ちオンチップメモリ１１６を含む。次に、動き補償ブロック１１０は、この取り出した基準ブロックを用いて、時間的に圧縮されたデータを伸張する。
【００３７】
好ましい実施形態では、フレームメモリ１１２は、１Ｍｘ１６ＳＤＲＡＭ(同期ダイナミックＲＡＭ) である。この例としては、韓国三星電子のＫＭ４１６Ｓ１１２０ＡＴ−１２があり、動作周波数６７．５ＭＨｚ、バーストサイズ４ワードである。フレームメモリ１１２は、データを複数のページに記憶するページメモリであることが好ましい。公知のことであるが、パージメモリは、一般に、行アドレスストローブ（ＲＡＳ）と列アドレスストローブ（ＣＡＳ）とを利用して、それぞれのページ内のデータをアクセスする。また公知のように、１つのページの中でデータがアクセスされると、行アドレスが共通で、待ち状態が必要でないので、メモリアクセスは迅速になる。しかし、ページミス又はページ交差が発生した場合、つまり現在アクセスされているページと異なるページ上に位置するデータが要求された場合、新たなＲＡＳとＣＡＳが必要となるので、待ち状態が必要となる。これにより、メモリアクセスの待ち時間が増大するため、システムの性能が低下する。
【００３８】
本発明によれば、基準フレームの各基準ブロックが、新奇なスキュードタイル構造でフレームメモリ１１２に格納される。このスキュードタイルメモリ記憶構造により、フレームメモリ１１２から基準ブロックを取り出す時に発生するページ交差の最大数を制限する。
【００３９】
図３に示すとおり、動き補償ブロック１１０は、時間的に圧縮されたフレーム中の受信した動きベクトルに基づいてフレームメモリ１１２の基準ブロックにアクセスするメモリコントローラ１２０を含む。さらに後述するように、メモリコントローラ１２０は、必要とされるページ交差の最大数を最小にするようにデータが配置された各メモリページから基準ブロックの全体を知能的にアクセスする。
【００４０】
図４−スキュードタイルメモリ記憶
ここで、図４に、本発明の好ましい実施形態に従い、基準マクロブロック又は基準ブロックがフレームメモリ１１２にスキュードタイル構造で格納される様子を説明する図を示す。同図に示すとおり、フレームメモリ１１２の各ページが、各行に１つ以上のマクロブロックを格納して、フレームメモリ１１２に複数行のマクロブロックを格納することが好ましい。本発明によれば、基準ブロックのデータをフレームメモリ１１２から取り出すときのページ交差の最大数が最小となるように、隣接する行のマクロブロックを格納しているページを互いにスキューする。
【００４１】
図４に示すとおり、基準フレームは、複数行のマクロブロックとして考えることができる。隣接する行のマクロブロックは、（ａ）〜（ｄ）に示すようにスキューし、予測されるフィールドのマクロブロック内のページ交差すなわちページミスを減らすようにする。好ましい実施形態では、フレームメモリ１１２の各ページは、１行中の２つの隣接する輝度ブロックを格納し、隣接する行に格納される輝度ブロックを互いにマクロブロックの幅だけスキューして、予測されるフィールドのマクロブロック内でのページ交差の最大数を最小にする。
【００４２】
図４の（ａ）は、１行にマクロブロックを奇数個有する、輝度ブロックの基準フィールド／フレームのマップであり、（ｃ）は、１行にマクロブロックを偶数個有する、輝度ブロックの基準フィールド／フレームのマップである。同様に、図４の（ｂ）は、１行にマクロブロックを奇数個有する、色差ブロックの基準フィールド／フレームのマップであり、（ｄ）は、１行にマクロブロックを偶数個有する、色差ブロックの基準フィールド／フレームのマップである。
【００４３】
図４の（ａ）及び（ｃ）は、輝度ブロックが本発明のスキュードタイル構造で記憶される様子を示す。同図に示すように、好ましい実施形態では、好ましくは同じ行又は列のマクロブロックからの２つの隣接するマクロブロックからなる輝度ブロックが、ＳＤＲＡＭの１ページ（それは、好ましい実施形態では、２５６ワードから成る）を占める。図４の（ｂ）及び（ｄ）に示すように、１つのメモリページには、４個の隣接する色差ブロックが、好ましくは２ｘ２の配列で格納される。このように、１つのメモリページには、４つの隣接する色差マクロブロックが、隣接する２行から２ブロックずつ格納される。
【００４４】
図４の（ａ）及び（ｃ）において、輝度予測ブロック又は基準ブロックは陰付きで示した。同図に示すように、輝度予測ブロックは、フレームメモリ１１２から取り出すのに、３回のページ交差を必要とするだけである。なお、輝度予測ブロック又は基準ブロックがフレームメモリ１１２の基準フレームに置かれている位置に関わらず、その輝度基準ブロックをフレームメモリ１１２から取り出すのに、最大３回のページ交差を必要とするだけである点が、注目される。同様に、図４の（ｂ）及び（ｄ）において、色差の予測ブロック又は基準ブロックは陰付きで示した。色差予測ブロック又は基準ブロックがフレームメモリ１１２の基準フレームに置かれている位置に関わらず、その色差基準ブロックをフレームメモリ１１２から取り出すのに、最大３回のページ交差を必要とするだけである。
【００４５】
本発明の好ましい実施形態において、動き補償ブロック１１０は、フレームメモリ１１２から基準ブロック又は予測ブロックを読む動作を行うメモリコントローラ１２０を含む。フレームメモリ１１２からの基準ブロックの取り出しが、一回以上のページ交差を必要とする場合、メモリコントローラ１２０は、ページ交差又はページミスが起こる前に、即ちメモリコントローラ１２０がもう１つの基準ブロック部分を別のページから読み始める前に、各ページから関係する部分全体を読む。図４の例では、読み出し動作を行うメモリコントローラ１２０は、予測ブロック（図４の（ａ）乃至（ｃ）の陰付きの領域）を、各々が異なるページに在るような３つの領域に細分して読むために十分知的である。メモリコントローラ１２０は、これらの細分されたブロックを１つずつ順に読む。このように、メモリコントローラ１２０は、最初のマクロブロック即ち最初のページから陰付きの部分を総て読み、次に、第２のマクロブロック即ち第２のページから陰付きの部分を総て読み、さらに第３のマクロブロック即ち第３のページから陰付きの部分を総て読む。
【００４６】
本発明の好ましい実施形態において、基準フレームのメモリマップは、上方のフィールドが第１のバンクＡに置かれ、下方のフィールドが第２のバンクＢに置かれるように構成される。あるいは、基準フレーム全体が、メモリの隣接するバンクに格納される。
【００４７】
図５及び６−フレームに基づく予測
ここで、図５及び６に、１フレーム内での動き補償、即ちフレームに基づく予測を示す。図５は、フレームＤＣＴの実施形態を示す。この実施形態では、復号中のＤＣＴブロック即ち目的ブロックの各行が、基準フレーム内部の交互のフィールドからの行に対応する。換言すれば、前述のとおり、フレームメモリ１１２が、１基準フレームのデータを、好ましくは奇数及び偶数の画素走査線からなる２つのフィールドとして記憶している。図５のフレームＤＣＴの実施形態において、目的ブロック即ちＤＣＴブロックは、図示したように両方のフィールド、即ち交互のフィールド、からの線を含む。なお、この実施形態では、ページ区切り即ちページ交差が、各フィールドに対して発生する。しかし、フィールドがそれぞれ異なるバンクに在り、且つ動きベクトルが両フィールドに対して同じであるから、ページ交差が、各バンク即ち各フィールドに対して同じ位置で発生するため、ページミスの数は、２倍にはならない。
【００４８】
オンチップメモリ又は局部メモリの効率を最高にするためには、オンチップメモリ１１６は、大きさを最小に止め、予測ブロック即ち基準ブロックのみを読むようにすることが好ましい。従って、１つの実施形態では、オンチップメモリの効率を最高にするために、オンチップメモリ１１６を８ｘ８の下位ブロックを１つだけ記憶するに足る大きさとする方が好ましい。このような実施形態では、オンチップメモリ１１６は、基準マクロブロックを、順次読み出される４個の８ｘ８下位ブロックとしてフレームメモリ１１２から読み取る。これには、多くのページ交差が必要となるが、オンチップメモリ１１６の量は少なくて済む。なお、オンチップメモリ１１６が、８ｘ８の下位ブロックを１個記憶するに足る大きさしかない場合、読み出される各下位ブロックに対してページ交差が必要となる点が、注目される。そこで、図５の例の場合、ページ交差の数は、Ｙ０：３、Ｙ１：：１、Ｙ２：＋２、Ｙ３：０、ＣＲ：３、そしてＣＢ：＋２となる。これにより、ページ交差は合計１１となり、ワード読取りの総数は、６ｘ９ｘ５＝２７０となる。
【００４９】
チップ外のメモリ（オフチップメモリ）即ちフレームメモリのアクセス効率を最大にするためには、オンチップメモリ１１６は、１つのマクロブロックを完全に格納するに足る容量を持つことが好ましい。従って、マクロブロック全体をフレームメモリ１１２から読み出して、オンチップメモリ１１６に一度で渡すことができる。このように、オフチップメモリのアクセス効率を最大にするためには、即ちフレームメモリ１１２に対するメモリアクセス効率を最大にするためには、メモリコントローラ１２０が、輝度ブロック全体を読み、次いで色差ブロック全体を読むことが好ましい。輝度ブロック及び色差ブロックに対するページ交差の数は、それぞれ３であるから、合計６のページ交差が生じることになる。ワード読取りの総数は、１７ｘ９＋９ｘ９＝２３４である。
【００５０】
図６は、各ＤＣＴ輝度ブロックの総ての線が１つのフィールドからの線に対応するフィールドＤＣＴの実施形態を示す。なお、図６に示すページ区切りは、その基準ブロックの各フィールドに対するものである。フィールドがそれぞれ異なるバンクにあり、且つ動きベクトルが両フィールドに対して同じであるから、ページ交差が同じ位置で発生し、ページミスの数は２倍にはならない。
【００５１】
図６の実施形態においてオンチップメモリの効率を最大にするには、メモリコントローラ１２０が、この場合も、一度に予測ブロックを１つだけ読み、局部メモリ即ちオンチップメモリを最小容量とすることが好ましい。従って、前述のように、この実施形態においては、オンチップメモリ１１６は、８ｘ８の下位ブロックを１つ記憶するに足る容量に止めることが好ましい。所望のマクロブロックを読む場合、８ｘ８の下位ブロックを一度に１つずつ読んでオンチップメモリ１１６に与える。このように、オンチップメモリ１１６は、８ｘ８の下位ブロックを１つ記憶するに足る容量しか必要とされず、１つのマクロブロック全体を一度に格納する必要はない。図６の実施形態では、オンチップメモリが１ｘ８ブロックを格納するだけで済み、フレームメモリ１１２から基準マクロブロックを１つ読むのに必要とされるページ交差の数は、Ｙ０：３、Ｙ１：＋１、Ｙ２：＋２、Ｙ３：＋１、ＣＲ：３、そしてＣＢ：＋２となる。これにより、この実施形態のページ交差の総数は１２となる。これは、図５とは異なるが、図５及び６に示すとおりＹ３が余分なページミスを招いたためである。ワード読取りの総数は、６ｘ１７ｘ５＝５１０となる。なお、半画素補間を行うには、両方のフィールドを読む必要がある点に注意を要する。
【００５２】
オフチップメモリのアクセス効率を最大にするには、オンチップメモリ１１６は、１つのマクロブロックを完全に格納できる。この実施形態では、メモリコントローラ１２０が、１つの輝度ブロック全体を読み、次いで色差ブロック全体を読む。この実施形態は、輝度ブロック及び色差ブロックを読むのに、それぞれ３のページ交差を必要とし、合計６のページ交差が必要となる。この実施形態では、ワード読取りの総数は、１７ｘ９＋９ｘ９＝２３４ワードである。
【００５３】
【発明の効果】
本発明は、圧縮デジタルビデオストリームに動き補償を行うシステム及び方法を含む。本発明によれば、基準フレームをスキュードタイル構造に記憶することにより、データの取り出し時のページ交差又はページミスの最大数を最小にすることができる。これにより、動き補償システムの性能の改善、保証又はこれらの両方が実現される。
【００５４】
本発明のシステム及び方法は以上の実施形態に関して説明したが、これは、ここに述べた特定の形式に制限するものではなく、むしろ請求項記載の本発明の原理及び範囲に無理なく含めることができるような代案、修正及び均等物を包含するためである。
【図面の簡単な説明】
【図１】
本発明に従い、基準ブロックデータを新奇なスキュードタイル構造で格納するフレームメモリを有する動き補償論理回路を含み、ビデオの復号を行うコンピュータシステムの外観図である。
【図２】
図１のコンピュータシステムを説明するブロック図
【図３】
本発明に従うＭＰＥＧ復号器を示すブロック図である。
【図４】
本発明に従う新奇なスキュードタイル構造による基準ブロックの格納状態を示す図である。
【図５】
交互のフィールドからの行を含むフレームモードでＤＣＴブロックにデータを格納する、フレームベースの予測を用いる動き補償を説明する図である。
【図６】
単一のフィールドからの行を含むフィールドモードでＤＣＴブロックにデータを格納する、フレームベースの予測を用いる動き補償を説明する図である。
【誤訳訂正２】
【訂正対象書類名】図面
【訂正対象項目名】図３
【訂正方法】変更
【訂正の内容】
【図３】
1998294947.tif 000001