(57)【要約】プロセッサと画像デコーディングハードウェアブロックの組合せとして画像処理装置と方法が実装されており、ループ内フィルタとスクラッチパッドメモリとを備えた画像デコーディングブロックを提供することで画像データをデコードする。これにより、ループ内フィルタはマクロブロックベースのやり方で区分的オーバーラップスムージングとループ内デブロッキング処理とを効率的に行うことができる。これは、フレームベースの方法よりも効率的なアルゴリズムである。
2008529412.tif 000002
【特許請求の範囲】
【請求項１】
ブロック変換で処理された画像データを複数のマクロブロックにデコードする方法であって、
少なくとも１つの第１の部分的にフィルタリングされたブロックと、少なくとも１つの終了したブロックとを生成するために、選択されたピクセルデータを第１のマクロブロックでスムージングおよびデブロッキングするステップと、
選択されたピクセルデータを第２のマクロブロックでのスムージングおよびデブロッキングで使用するために、前記第１の部分的にフィルタリングされたブロックをスクラッチパッドメモリに格納するステップと、を含む方法。
【請求項２】
前記スムージングおよびデブロッキングステップで使用するために、前のブロックを処理する間にすでに生成済みの、第２の、一部がフィルタリングされたブロックを前記スクラッチパッドメモリからフェッチするステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記スムージングおよびデブロッキングするステップは、ループ内フィルタにより実行される、請求項１に記載の方法。
【請求項４】
前記ループ内フィルタは、１つのマクロブロックを一度にオーバーラップスムージングおよびデブロッキングするために、画像フレームのマクロブロックの各行を連続して処理する、請求項３に記載の方法。
【請求項５】
前記ループ内フィルタは、パイプライン形式で複数のマクロブロックにスムージングおよびデブロッキングを連続して実行する、請求項３に記載の方法。
【請求項６】
複数の、一部がフィルタリングされたブロックを生成するために、選択されたピクセルデータをマクロブロックの第１の行においてスムージングおよびデブロッキングするステップと、
前記スクラッチパッドメモリに、前記複数の一部がフィルタリングされたブロックを格納するステップと、を含む請求項１記載の方法。
【請求項７】
選択されたピクセルデータをマクロブロックの第２の行においてスムージングおよびデブロッキングするときに、スクラッチパッドメモリから、第１の部分的にフィルタリングされたブロックを引き出すステップと、
前記第１の部分的にフィルタリングされたブロックのスムージングおよびデブロッキング処理を完了するために、選択されたピクセルデータを前記第１の部分的にフィルタリングされたブロックにおいてスムージングおよびデブロッキングし、これにより終了したブロックを生成するステップと、を含む請求項６記載の方法。
【請求項８】
前記第１のブロックが第１のフィルタオペレーションで一部が処理され、前記スクラッチパッドメモリに格納され、その後、第２のフィルタオペレーションで完全に処理されるように、前記スムージングおよびデブロッキングステップは各マクロブロックの少なくとも第１のブロックに区分的オーバーラップスムージングおよびデブロッキングするステップを含む、請求項１に記載の方法。
【請求項９】
圧縮された画像データストリームから画像情報をデコードする画像処理システムにおいて、
一部がデコードされた画像データを生成するために、前記圧縮された画像データストリームを一部デコードするプロセッサと、
画像フレームを生成するために前記一部がデコードされた画像データをデコードする画像デコード回路とを含み、前記画像デコード回路は、スクラッチパッドメモリとループ内フィルタとを含み、オーバーラップスムージングとループ内デブロッキングとを連続して前記画像フレームの複数のマクロブロックに行う、装置。
【請求項１０】
前記スクラッチパッドメモリは、マクロブロックの第２の行をオーバーラップスムージングおよびデブロッキングする間に、一部がフィルタリングされたブロックのそれぞれがループ内フィルタによってフェッチされるように、マクロブロックの第１の行から一部がフィルタリングされたブロックを格納する、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ処理技術に関する。一形態においては、本発明はデジタルビデオ情報の解凍技術に関する。
【背景技術】
【０００２】
ビデオ情報は大量の格納スペースを必要とするので、通常、ビデオ情報は圧縮される。したがって、CD-ROMやDVDなどに記録された圧縮されたビデオ情報を表示するには、この圧縮されたビデオ情報を解凍し、解凍されたビデオ情報を供給する必要があ。次に、解凍されたビデオ情報はビットストリームでディスプレイに供給される。この、解凍されたビデオ情報のビットストリームは典型的に、ディスプレイのピクセル位置に対応するメモリ位置のビットマップとして格納される。ディスプレイに一画面の情報を表示するのに必要なビデオ情報をフレームと呼ぶ。多くのビデオシステムが目指しているのは、連続するフレームを表示することで動画ビデオを供給できるよう、圧縮されたビデオ情報を迅速かつ効率的にデコードすることである。
【０００３】
記録媒体、装置、および、データ処理の各種態様（例えば、ビデオ圧縮）を規格化することは、本技術とその応用の継続成長のために非常に望ましい。ビデオ情報を圧縮および解凍するために、多くの圧縮・解凍規格がすでに構築されているか、あるいは、構築段階である。そのような規格としては、画像をエンコーディングおよびデコーディングするための動画の圧縮・伸長の国際標準規格(MPEG)（例えば、MPEG-1, MPEG-2, MPEG-3, MPEG-4, MPEG-7, MPEG-21)、あるいは、Windows Media Video 圧縮規格（例えば、WMV9)が挙げられる。MPEGおよびWMV規格の各々は、本書において十分に説明されているかのごとく全体として参照することにより本書に組み込まれる。
【０００４】
概して、画像圧縮技術には、フレーム内圧縮(intraframe compression)およびフレーム間圧縮（interframe compression)を含む。これは、ビデオフレームに存在する空間および時間冗長性を減らすことで画像情報を圧縮する技術である。フレーム内圧縮技術はフレーム内の情報だけを使ってフレームを圧縮する。これをIフレームと称する。フレーム間圧縮技術は、前および／あるいは後のフレームに関連してフレームを圧縮する。通常、このようなフレームを、予測フレーム、Pフレーム、あるいはBフレームと称する。フレーム内圧縮技術とフレーム間圧縮技術とは通常、空間ベースエンコーディングかブロックベースエンコーディングを使用する。これにより、ビデオフレームがエンコーディングのためにブロックに分割される（ブロック変換処理とも呼ばれる）。
【０００５】
例えば、Iフレームは８×８ブロックに分割される。ブロックは、特定のコサインベース関数の振幅として係数をエンコードする離散コサイン変換(DCT)コーディングスキームか、その他の変換（例えば、積分変換）を使用してコード化される。次に、変換された係数は量子化される。量子化によりゼロではない振幅レベルを有する係数と、ゼロ振幅レベル係数のラン（あるいはサブシーケンス）が生成される。次に、量子化された係数をランレベルエンコード（あるいは、ランレングスエンコード）し、ゼロ係数の長いランを縮小する。次に、この結果を可変長コーダ(VLC)においてエントロピーコード化する。これには、エンコードされる値にコード名を割り当てるか統計的コーディング技術を使用するか、CABAC(Context-based Adaptive Binary Arithmetic Coding)、CAVLC(Context Adaptive Variable Length Coding)、およびこれらに類するものなどの、その他のエントロピーエンコード技術を使用する。出現頻度の高い値には短いコード名が割り当てられ、めったに出現しない値には長いコード名が割り当てられる。
【０００６】
平均すると、より短いコード名の出現頻度が高くなり、その結果、元のデータよりもコード列（code string）が短くなる。従って、空間あるいはブロックベースのエンコーディング技術は、単一のフレームに関連付けられたデジタル情報を圧縮する。連続するフレームに関連付けられたデジタル情報を圧縮するために、画像圧縮技術は、連続するフレーム間に時間的相関関係があることを利用して、Pフレームおよび／あるいはBフレームを使用する。フレーム間圧縮技術により、異なるフレーム間の差分が識別される。次に、この異なる情報を、DCT、量子化、ランレングスおよびエントロピーエンコーディング技術を使用して空間的にエンコードする。異なる実装品では別のブロック構成を用いてもよい。例えば、Pフレームは、（例えば、４つの８×８ルミナンスブロックと２つの８×８クロミナンスブロックで）１６×１６マクロブロックに分割され、これらのマクロブロックは圧縮される。
【０００７】
フレーム内圧縮技術やフレーム間圧縮技術の使用の有無に関わらず、空間ベースあるいはブロックベースのエンコーディング技術を使用して画像データをエンコードするということは、圧縮された画像データがすでに可変長にエンコードされているか、そうでなければ、上述のブロックベースの圧縮技術を使用して圧縮されていることである。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
受信機や再生装置では、圧縮ステップを逆にして、ブロック変換で処理済みの画像データをデコードする。図１に、画像情報を解凍する従来のシステム３０を示す。このシステムは、入力ストリームデコーディング部３５、モーションデコーダ３８、加算器３９、フレームバッファ４０、およびディスプレイ４１を含む。入力ストリームデコーダ３５は、圧縮された画像情報のストリームを入力バッファ３１で受信し、可変長デコーディングをVLCデコーダ３２で行い、ジグザグと量子化(zig-zag and quantization)とを逆量子化器３３で反転（reverse）し、逆DCT変換をIDCT３４で行い、静的に解凍された画像情報を加算器３９に送る。モーションデコーディング部３８では、動き補償ユニット３７はＶＬＣデコーダ３２からモーション情報と、（前のピクチャストアバッファ３６に記録されている）ピクチャデータのコピーを受信し、動き補償ピクセルを加算器３９に送る。加算器３９は静的に解凍された画像情報と動き補償ピクセルとを受信し、解凍されたピクセルをフレームバッファ４０に送り、次にこの情報をディスプレイ４１へと送る。従来の画像エンコーダおよびデコーダ設計では、ブロックベース変換、動き補償、量子化および／あるいはその他の損失の多い処理ステップにより、フレームにブロッキングアーティファクト（ブロック間に生じる顕著な不連続性）が生じるおそれがある。
【０００９】
以前は、ブロッキングアーティファクトを低減するために、オーバーラップスムージングやデブロッキングフィルタリング（ループ内処理か後処理のどちらか一方）を行い、ブロック間の境界を平坦化（スムージング）することでフレームを処理していた。例えば、ＷＭＶ９規格では、オーバーラップスムージングとループ内デブロッキングとをピクチャ全体で処理して、ブロッキングアーティファクトを低減することが明確にされている。ＷＭＶ９デコーディングが可能になると、オーバーラップスムージングは８×８ブロックの境界だけに行われる。オーバーラップスムージングはまず、フレーム全体に対して垂直方向に行われ、次に、フレーム全体に対して水平方向に行われる。次に、ループ内デブロッキングが可能になると、以下の順序で行われる。(i)フレーム中の全８×８ブロック水平境界線をトップラインからフィルタリングする。(ii)フレーム中の全８×４サブブロック水平境界線をトップラインからフィルタリングする。(iii)全８×８ブロック垂直境界線を最も左のラインからフィルタリングする。および、(iv)全４×８サブブロック垂直境界線を最も左のラインからフィルタリングする。前の手法はフレーム全体に２つのパスを使用している。１つ目のパスはオーバーラップスムージングを実行するためのパス、２つ目のパスはループ内デブロッキングを行うためのパスである。
【００１０】
各ステップの処理を行うかどうかを決定するときにも適用されるその他の要件（例えば、パラメータPQUANTおよびブロックタイプ）があってもよいが、これらの処理が目指すところは、１６×１６マクロブロック、８×８ブロック、あるいは４×４サブブロックのエッジをスムーズにし、これにより、2D変換や量子化によって生じるブロックのアーティファクトを取り除くことである。画像を解凍するためのプロセッサベースアプローチにおいては、スムージングやデブロッキング機能の追加は、集中的な演算を必要とするフィルタリング処理である。このオーダーでの処理は、フレームを保持する大きなメモリバッファがあるときに（例えば、VGAサイズが６４０×４８０ピクセルであり、３０７ｋバイトに相当する）行うことができる。
【００１１】
他方では、デコーディングのためのハードウェアベースの手法では、スムージングとデブロッキングを一度に行っておらず、フレーム全体にデブロッキングをしている。これは、大きなローカルメモリを必要とし、かなりのバス帯域幅要件が課せられ、メモリアクセス時間を犠牲にする。この結果、解凍方法に関連付けられた処理要件を低減する必要性と、特にオーバーラップスムージングおよび／またはデブロッキングフィルタオペレーションを含む解凍オペレーションを向上させる必要性が大いに生じる。図面と以下の詳細な説明を参照しつつ、本出願の残りの個所を検討すれば、従来のシステムのさらなる制限や難点が当業者には明らかとなるであろう。
【課題を解決するための手段】
【００１２】
画像を解凍するためにソフトウェアとハードウェアとを組み合わせたものを使用することで、多種多様な画像圧縮スキームを迅速かつ効率的に処理するように構成されるフレキシブルな解凍システムが提供される。このフレキシブル解凍システムは、フロントエンド解凍ステップを実行するためのプロセッサと、バックエンド解凍ステップを実行するためのビデオアクセラレータとを含む。
【００１３】
ビデオフレームデータでオーバーラップスムージングとループ内デブロッキングフィルタオペレーションを実行するためにビデオアクセラレータのメモリ帯域要件を減らすために、ループ内フィルタは、マクロブロックベース形式でオーバーラップスムージングとループ内デブロッキングの区分的処理を容易にするストレージデバイスかスクラッチパッドメモリに接続される。マクロブロックベース形式でフィルタリングオペレーションの区分的処理を実行するためにスクラッチパッドを使用することは、フレームベースの方法よりも効率的である。スクラッチパッドメモリのサイズはフレームの幅に関係していることから、チップメモリ量は低減される。例えば、スクラッチパッドメモリのサイズは、ビデオデータのフレームから一部がフィルタリングされたブロックの行を十分収容できるサイズであってよい。
【００１４】
本発明の一実施形態によれば、画像処理システム、装置および方法が提供されており、これにより、プロセッサと画像デコード回路とは、ブロック変換を使って複数のマクロブロックに処理された画像データをデコードする。このデコードオペレーションに関連して、１つ以上の集積回路に提供されたループ内フィルタとスクラッチパッドとが第１マクロブロックにおいて選択されたピクセルデータをスムージングし、デブロッキングすることで区分的処理を行うために使用され、１つ以上の完成したブロックと、１つ以上の一部がフィルタリングされたブロックとが生成される。少なくとも１つの、一部がフィルタリングされたブロックは、スクラッチパッドメモリに格納されるピクセルデータと制御データとを含む。
【００１５】
この結果、前に処理されたマクロブロックに近接するブロックはいずれも、オーバーラップスムージングとデブロッキングのために完全にフィルタリングされ、第１のフィルタオペレーションの間に完成したブロックとして出力されてもよい。一方で、次に処理されるマクロブロックに近接するブロックは、オーバーラップスムージングとデブロッキングのために一部がフィルタリングされており、その後、一部がフィルタリングされたブロックとしてスクラッチパッドメモリに格納される。スクラッチパッドメモリはフープ内フィルタにより使用され、第１マクロブロックのピクセルデータをスムージングおよびデブロッキングするために使用される。フェッチされた一部がフィルタリングされたブロックは、前のマクロブロックを処理する間にすでに生成済みである。１つのマクロブロックを一度にオーバーラップスムージングおよびデブロッキングするためにビデオフレームのマクロブロックの各行を連続して処理することにより、ループ内フィルタとスクラッチパッドメモリとを使用し、パイプライン形式で複数のマクロブロックにスムージングとデブロッキングとを連続して行ってもよい。本発明の目的、利点、およびその他の新たな特徴は、添付の請求の範囲と添付の図面とあわせて読む場合に、以下の詳細な説明から当業者には明らかとなるであろう。
【発明を実施するための最良の形態】
【００１６】
本発明の実施例を以下に記載しているが、本発明は特定の詳細がなくても実行することができ、また、システム的制限やビジネス的制限との摺り合せなど、開発者における特定の目標を達成するために多くの特定の実施の決定がなされる。それらは各実施形態によって様々に変化するものである。そのような開発努力は複雑で時間を消費するものであるのは当然のことであるが、それでもなお、この開示の恩恵を有する当業者にとっては通常作業の範疇に入るものである。例えば、本発明を不明瞭にしないように、選択された態様は、詳述するのではなくブロック図形式で示している。このような記載および表示は、当業者たちの作業の実態を他の当業者たちに説明し、伝えるために当業者たちによって使用される。本発明は、以下に説明する図面に関連して、以下に記載するものとする。
【００１７】
図２に、本発明に係る例示的画像解凍システム１００のブロック図を示す。図示しているように、画像解凍システム１００は、任意の画像再生装置に実装してもよく、例えば、デスクトップあるいはラップトップコンピュータ、ワイヤレス機器やモバイル機器、携帯端末、携帯電話、およびビデオイメージフィーチャを備えた任意のその他の画像再生装置が任意の画像再生装置として挙げられる。図２に示しているように、画像解凍システム１００はホストまたはアプリケーション処理ユニットとして実装される。このユニットには１つ以上のプロセッサあるいは処理ユニット５０、および、画像あるいはメディアアクセラレーションハードウェアユニット(media acceleration hardware unit)１０１に接続されたバス９５を含む。加えて、画像圧縮システム１００は、メインメモリシステムを含む。
【００１８】
このメインメモリシステムは、DDRコントローラ６０を通じてアクセスされる大きなDDR  SDRAM６２、６４を含む。加えて、あるいは他の形態では、１つ以上のメモリ（例えば、IDE７２、フラッシュメモリユニット７４、ROM７６など）は、スタティックメモリコントローラ７０を介してアクセスされる。どちらか一方のDDR  SDRAMか両方のDDR  SDRAM、あるいはその他のメモリを画像解凍システム１００と一体化してもよいし、あるいは外付けしてもよい。当然、その他の周辺装置およびディスプレイ装置（８２、８４、８６、９２）は、対応するコントローラ８９、９０を介してアクセスされ得る。明瞭化のため、および、理解を容易にするために、この画像解凍システム１００を構築する要素を全て詳細に記載することはしていない。そのような詳細は当業者には周知であるとともに、特定のコンピュータメーカーやマイクロプロセッサのタイプによって変わり得る。さらに、画像圧縮システム１００は、所望する実装品に応じて、その他のバス、装置および／あるいはサブシステムを含んでもよい。例えば、画像圧縮システム１００は、キャッシュ、モデム、パラレルインターフェース、シリアルインターフェース、SCSIインターフェース、ネットワークインターフェースカードおよびこれらに類するものを含んでもよい。例示の実施形態では、CPU５０は、フラッシュメモリ７４および／またはSDRAM６２、６４に記録されたソフトウェアを実行する。
【００１９】
図２に示した画像解凍システムでは、CPU５０は、VLDブロック５２に示すように、初期の可変長デコーディング関数を実行する。一方、メディアアクセラレーションハードウェアユニット１０１は、逆量子化１０４、逆変換１０６、動き補償１０８、ループ内フィルタリング１１０、色空間補正１１２、スケーリング１１４、フィルタリング１１６をデコードデータについて行う。これにより生じるデコードされたデータは、ディスプレイ９２で表示される前に、一時的に出力バッファ１１８に、および／あるいはフレームバッファ（図示せず）に記録してもよい。プロセッサ５０とメディアアクセラレーションハードウェア１０１間でデコード処理関数を分割することで、フロントエンドデコードステップ（例えば、可変長デコーディング）をソフトウェアに実装し、様々な圧縮技術（例えば、MPEG-1,MPEG-2,MPEG-3,MPEG-4,MPEG-7,MPEG-21,WMV9など）に適応させるようにしてもよい。
【００２０】
フロントエンドにより生成されたデコードデータは、メディアアクセラレーションハードウェア１０１に供給される。このハードウェアはさらにデコードデータをデコードし、フレームが完了するまでピクセル値をマクロブロック上の出力バッファ１１８かフレームバッファに供給する。動作では、画像解凍システム１００は、圧縮されたビデオ信号をCD-ROM、DVDあるいはその他のストレージデバイスなどのビデオ信号ソースから受信する。圧縮されたビデオ信号は、圧縮されたビデオ情報のストリームとしてプロセッサ５０に送られる。プロセッサ５０は、可変長にデコードされたデータ（VLDデータ）信号を送るために、圧縮された信号のうち、可変長にコード化された部分をデコードする命令を実行する。可変長デコーディングを実行するためにソフトウェアアシスト(software assist)が使用されると、（ヘッダ、マトリックス重量、動きベクトル、変換された残差係数(transformed residue coefficients)、および様々な動きベクトルでさえも含む）VLDデータは、直接的に、あるいは米国特許出願第11/042,365号（発明の名称："Lightweight Compression Of Input Data"）でさらに詳述しているデータ圧縮技術を用いて、メディアアクセラレーションハードウェア１０１に運ばれる。
【００２１】
メディアアクセラレーションハードウェアユニット１０１では、VLDデータが受信されると、このデータは逆ジグザグおよび量子化回路(zig-zag and quaitizer circuit)１０４に供給される。この回路は、VLDデータ信号をデコードして、ジグザグデコードされた信号を供給する回路である。圧縮されたビデオ信号はジグザグのランレングスコード形式で圧縮されるが、ジグザグデコードされた信号は、この逆ジグザグおよび量子化回路によって、情報のシーケンシャルブロックとして逆DCT回路１０６に供給される。したがって、このジグザグデコードされた信号は、ディスプレイ９２にわたってのラスタスキャンに求められる順序にされたブロックを供給する。次に、このジグザグデコードされた信号は、逆変換回路１０６（例えば、IDCTあるいは逆積分変換回路）に送られる。逆変換回路１０６は、ブロックベースで、ブロックにジグザグデコードされたビデオ信号上で逆離散コサイン変換を行い、スタティックに解凍されたピクセル値か、解凍したエラータームを供給する。スタティックに解凍されピクセル値は、動き補償ユニット１０８を介してブロック単位ベースで処理される。動き補償ユニット１０８は、フレーム内の、予測した、双方向の動き補償を行う。これには、１つ、２つ、および４つの動きベクトル（１６×１６、１６×８、および８×８ブロック）に対するサポートを含む。
【００２２】
以下に詳述するように、ループ内フィルタ１１０は、一部が完了したマクロブロックフィルタデータを格納するためにスクラッチパッドメモリ１１１を使用することで、ＷＭＶ９圧縮規格によるブロッキングアーティファクトを減らすあるいは除去するために、オーバーラップスムージングおよび／あるいはデブロッキングを行う。色空間変換器１１２は、１つ以上の入力データフォーマット（例えば、YCbCr4:2:0）を１つ以上の出力フォーマット（例えば、ＲＧＢ）に変換する。この結果はフィルタ１１６でフィルタリングおよび／あるいはスケーリングされる。
【００２３】
本文に開示しているように、ループ内フィルタ１１０をスムージングし、デブロッキングすることで、近隣のブロック間の境界に生じる不連続性が取り除かれる。これは、第１パスの間にマクロブロックの各行を一部フィルタリングするか処理し、その後、マクロブロックの次の行を処理する間に一部が処理されたブロックの処理を完了することでなされる。この技術を使用すると、小さなスクラッチパッドメモリ１１１を効率的に使用して、一部が処理されたブロックをスクラッチパッドメモリに格納することができる。これは、従来のデブロッキング処理にみられるような、大きなメモリを使用して、フィルタリングのためにフレーム画像全体を格納するものとは大きく異なる。オーバーラップスムージングおよびデブロッキングのための各ブロックの処理が行単位ベースで完了するので、完了したブロックを、CSC１１２へ転送される前にフィルタ１１０からFIFOバッファ（図示せず）へと出力してもよい。
【００２４】
図３は、マクロブロックベースのループ内フィルタリング処理の略図である。この処理では、本発明の選択された実施形態に係るオーバーラップスムージングとデブロッキングとを効率的に行うためにスクラッチパッドメモリを使用する。フィルタリング処理では、マクロブロックの行を通るループ内フィルタの各パスは、（ブロックをスムージングし、かつデブロッキングするために完全にフィルタリングされた）完全に終了したブロックと、（スクラッチパッドメモリに格納されており、マクロブロックの次の行をスムージングおよびデブロッキングする際に使用される）一部が終了したブロックとを生成する。
【００２５】
図示しているように、ループ内フィルタリング処理における１つ１つのマクロブロック（例えば、マクロブロック４つまり"mb4"であり、４つのルマブロック、mb4yo,my4y1,mb4y2,mb4y3、を含む)は、以下の順序の処理を行う。
(i)前のマクロブロック（例えば、マクロブロック１）に近接した８×８ブロック（例えば、mb4y0,mb4y1）のスムージングとデブロッキングとを完全に終了し、次のマクロブロック（例えば、マクロブロック７）に近接した８×８ブロック（例えば、mb4y2,mb4y3)のスムージングとデブロッキングとを一部終了する；
(ii)終了した８×８ブロック(例えば、mb4y0,mb4y1)を出力し、一部が終了した８×８ブロック（例えば、mb4y2,mb4y3)をスクラッチパッドメモリに格納する；
(iii)次のマクロブロック（例えば、マクロブロック７）が処理されているときにスクラッチパッドメモリから一部が完了した８×８ブロック（例えば、mb4y2,mb4y3）をフェッチし、フェッチした８×８ブロック（例えば、mb4y2,mb4y3）の処理を終える；および、
(iv)終了した８×８ブロック（例えば、mb4y2,mb4y3)を、次のマクロブロック（例えば、mb7y0,mb7y1)のうちの終了した８×８ブロックとともに出力する。
【００２６】
実施形態の詳細は応用によって変わり得るが、図３は、ループ内フィルタ１１０によって処理されるイメージフレーム１５０がマクロブロック（例えば、マクロブロックmb0,mb1,mb2,mb3,mb4,mb5,mb6,mb7,mb8など）から構成されて、複数の行（例えば、mb0,mb1およびmb2で構成される第１行１５１）に配置される実施形態を示す。図３Ａに示しているように、ループ内フィルタ１１０は、マクロブロック１５１からなる第１行にわたって第１パスをすでに形成している。第１行１５１にわたって第１パスが形成された結果、上位ブロック（mb0y0,mb0y1,mb1y0,mb1y1,mb2y0,mb2y1）は、（クロスハッチングによって示しているように）完全にオーバーラップスムージングおよびデブロッキング処理されるが、下位ブロック（mb0y2,mb0y3,mb1y2,mb1y3,mb2y2,mb2y3)はオーバーラップスムージングおよびデブロッキング処理が一部しかなされない。マクロブロックの次のパスを処理する間に、第１行１５１からの、一部が処理されたブロックを完了するために、第１行１５１からの、一部が処理されたブロックは、スクラッチパッドメモリ１１１に記録される（ドットパターンによって示しているように）。
【００２７】
図３Ａにさらに示しているように、ループ内フィルタ１１０は、マクロブロック１５２からなる第２行を、ある処理を用いて（第１行１５１からの、一部が処理されたブロックを完了させることになる処理）すでに処理を始めている。この結果、mb0y2ブロックとmb3y0ブロックとは完全にスムージングおよびデブロッキング処理される。またmb3y2ブロックは一部しか処理されない。（また、スクラッチパッドに記録されている）。図３Ａのフィルタ１１０によって処理されるブロック（斜め網掛けされたフィルタリングされたブロック１５４に示すように）に関して、mb0y3,mb3y1およびmb3y3ブロックは、一部がスムージングおよびデブロッキング処理されており、（かつ、フィルタ１１０に保持されている）、mb1y2ブロックは、一部が終了したブロックであって、スクラッチパッドからフェッチされたブロックである。また、残りのブロック（mb4y0およびmb4y2）は現在のマクロブロック（例えば、マクロブロック４）から取得される。ループ内フィルタ１１０はフィルタリングされたブロック１５４を処理すると、１つ以上の、一部が処理されたブロック（例えば、my0y3,my3y1)でスムージングおよびデブロッキングが終了するが、残りのブロック（mb1y2,mb4y0,mb4y2,およびmb3y3）は一部が終了するに過ぎない。
【００２８】
フィルタリングされたブロック１５４を処理した後、ループ内フィルタ１１０は新たなデータにシフトする。これについては、図３Ｂに示すフレーム１５５で示す。該図では、フィルタ１１０がフィルタリングされたブロック１５６を以下のようにすることで得ることを示す。そのようなこととは、任意の終了したブロック（例えば、mb0y3,mb3y1)を出力すること、スクラッチパッドメモリに、１つ以上の一部が終了したブロック（例えば、mb3y3）を格納すること、フィルタの、残りの、一部が終了したブロック（例えば、mb1y2,mb4y0,mb4y2)を１ブロック位置だけ移動させること、一部が終了したブロック（例えば、mb1y3）をマクロブロックの前の行からフェッチすること、および、新たなブロック（mb4y1,my4y3）を現在のマクロブロックからを読み出すこと、である。ループ内フィルタ１１０がフィルタリングされたブロック１５６を処理すると、１つ以上の、一部が処理されたブロック（例えば、mb1y2,mb4y0)でスムージングおよびデブロッキングが終了するが、残りのブロック(mb1y3,mb4y1,mb4y3,およびmb4y2)は一部が終了するに過ぎない。
【００２９】
フィルタリングされたブロック１５６を処理した後、図３Ｃのフレーム１５７で示しているように、ループ内フィルタ１１０は再度新たなデータへとシフトする。具体的には、フィルタ１１０は以下のようにすることでフィルタリングされたブロック１５８を得る。そのようなこととは、任意の終了したブロック（例えば、mb1y2,mb4y0)を出力すること、スクラッチパッドメモリに、１つ以上の一部が終了したブロック（例えば、mb4y2）を格納すること、フィルタの、残りの、一部が完了したブロック（例えば、mb1y3,mb4y1,mb4y3)を１ブロック位置だけ移動させること、一部が完了したブロック（例えば、mb2y2）をマクロブロックの前の行からフェッチすること、および、新たなブロック（例えば、mb5y0,mb5y2）を現在のマクロブロックから読み出すこと、である。
【００３０】
ループ内フィルタ１１０がフィルタリングされたブロック１５８を処理すると、１つ以上の、一部が処理されたブロック（例えば、mb1y3,mb4y1)でスムージングおよびデブロッキングが終了するが、残りのブロック(mb2y2,mb5y0,mb5y2,およびmb4y3)は一部が終了するに過ぎない。この時点で、マクロブロック４の上位ブロック（mb4y0,mb4y1）でのスムージングおよびデブロッキングは終了しているが、下位ブロック（mb4y2,mb4y3）は一部が終了しているに過ぎない。一部が処理(@stored→finishedだと思われます）された下位ブロックをスクラッチパッドメモリに格納することで、フィルタ１１０がマクロブロックの次の行を処理するときにフィルタリングオペレーションが完了できる。本発明の他の実施形態の更なる詳細を図４に示す。該図は、ビデオエンコーダやデコーダのスムージングおよびデブロッキングフィルタを使用して、デコードされたフレームのブロッキネス(blockiness)を低減する技術（２００）を示す。明らかなように、各フレームの周辺では特定のコーナーケースがあり得るが、図示した技術をルマあるいはクロマブロックを処理するために使用してもよく、必要に応じて本発明が当業者によって調整および適用される。しかし、簡素化のために、本発明は主に各フレームの内部のマクロブロックで実行されるループ内フィルタリングステップに重きを置くこととする。
【００３１】
図４を参照すると、ビデオエンコーダ／デコーダがフレームに対して少なくとも第１のマクロブロックを生成すると（２０１）、ループ内フィルタは、マクロブロックのうち、上位の行を一度に処理し、各ブロックの境界を近隣のブロックでフィルタリングする。明らかなように、フレームの周辺ではスムージングやデブロッキングは行われていないので、フレームの外側にはフィルタリング処理で使用するための、一部が終了したブロックは存在しない。しかし、マクロブロックのうち、第１の行がフィルタリングされると、スクラッチパッドメモリは一部が終了したブロックで満たされる。第１のマクロブロックから開始しする。エンコーダ／デコーダは所要のブロックを読み出し、スクラッチパッドから、任意の、一部が終了した近接のブロックを上から引き出す（マクロブロックの第１の行を除く）。マクロブロックが、４つのルマブロック(y0,y1,y2,y3)と２つのクロマブロック(Cb,Cr)から構成される場合、これらのブロックは、y0,y1,y2,y3,Cb,Crの順序でエンコーダ／デコーダハードウェアに入れられる。
【００３２】
次に、ビデオエンコーダ／デコーダは、フィルタに読み出されたブロックの所定の境界を近隣のブロックかサブブロックでフィルタリングする（２１０）。選択された実施形態では、フィルタの各ブロックを部分的に処理するために区分的処理技術を使用してもよい。例えば、ルミナンスプレーンかクロミナンスプレーンのいずれかで８×８ブロックをデコードした後に、全ての、あるいは一部の左および／あるいは右（垂直方向）エッジがスムージングフィルタ処理される（２１１）。加えて、あるいは他の形態では、全ての、あるいは一部の、ブロックの上部および／あるいは底部（水平方向）エッジがスムージングフィルタ処理される（２１２）。オーバーラップスムージングに加えて、デブロッキングフィルタリング処理を、８×８ブロックの全ての水平境界線に、あるいは一部の選択された水平境界線に施してもよいし（２１３）、および／あるいは、８×４サブブロックの全ての水平境界線に、および／あるいは一部の選択された水平境界線に施してもよい（２１４）。加えて、あるいは他の形態では、デブロッキングフィルタリング処理を、８×８ブロックの全ての垂直境界線に、あるいは一部の選択された垂直境界線に施してもよいし（２１５）、および／あるいは、４×８サブブロックの全ての垂直境界線、あるいは一部の選択された垂直境界線に施してもよい（２１６）。
【００３３】
フィルタのブロックが区分的処理されると、その処理結果は、更なる処理用のフィルタに格納されるかシフトされる。具体的には、フィルタが新たなデータを処理することができるよう、フィルタ内の、任意の終了したブロックがフィルタから出力される（２１７）。加えて、新たなブロックで処理されることはない、任意の、一部が終了したブロックは、スクラッチパッドメモリに格納され（２１９）、マクロブロックの次の行を処理する際に使用される。但し、マクロブロックの最後の行が処理されている場合を除く（２１８の結果がＮｏの場合）。この場合、スクラッチパッドに格納するステップ（２１９）をとばしてもよい。選択したブロックを格納することでフィルタ内にスペースを生成すると（２１７、２１９）、フィルタは新たなデータを処理可能になる。具体的には、フレームにさらなるブロックがあれば（２２０の結果がＹｅｓの場合)、フィルタ内の、残りの、一部がフィルタリングされたブロックは左にシフトされる（２２２）。上位の行よりも下にある行に対しては（２２４の結果がＮｏの場合）、フィルタにおける利用可能スペースは、次の、一部が終了したブロックをスクラッチパッドメモリから引き出すことで満たされ（２２６）、フィルタにおける、いずれの残りのスペースが新たなブロックで満たされる（２２８）。
【００３４】
新たなデータでフィルタが読み出されると、ブロックフィルタリング処理２１０は、新たな一連のフィルタブロックで繰り返し行われる。この一連の動作を繰り返し行うことで、フレーム内の各マクロブロックは連続的にフィルタリングされ、マクロブロックの前の行を処理する間に生成された、一部が終了したブロックをスクラッチパッドから引き出すとともに、一部がフィルタリングされたブロックをスクラッチパッドに格納し、マクロブロックの次の行を処理する間に使用する。他方、フィルタリングするブロックが残っていない場合は(２２２の結果がＮｏの場合）、現在のフレームに対するスムージングおよびデブロッキング処理が終了する。この時点で、次のフレームが引き出され（２３０）、新たなフレームの第１のマクロブロックからフィルタリング処理が繰り返し行われる。
【００３５】
図５Ａ〜５Ｋには本発明の例示的実施形態を示しており、マクロブロック４つまり（"mb4"）のルマブロックに、ＷＭＶ９スムージングプロシージャとデブロッキングプロシージャとが区分的処理技術を備えてどのように実装され得るかを示している。フィルタリング処理の開始点を図５Ａに示す。図５Ａでは、フィルタ３２０は、すでに一部がオーバーラップスムージング（例えば、長円形表示３２２を参照のこと）とデブロッキング（例えば、ライン表示３２３を参照のこと）処理済みのブロック（例えば、mb0y3,mb3y1およびmb3y3)で読み出されている。次に、図５Ｂに示すように、フィルタ３２０はさらなるブロックで満たされる。具体的には、一部が終了したブロック（例えば、mb1y2)はスクラッチパッドメモリから引き出されてフィルタに読み出される。加えて、現在のマクロブロック（例えば、mb4)から選択されたブロック（例えば、mb4y0,mb4y2)は、エンコーダ／デコーダに読み出される。マクロブロックローディングシーケンス（例えば、mb4y0,mb4y1,by4y2およびmb4y3)においては、少なくとも１つのブロックが読み出されるが、この時点では３２１に示すようにフィルタ３２０内にはシフトされない。
【００３６】
フィルタブロックが読み出されると、フィルタ３２０は図５Ｃに示すように、区分的オーバーラップスムージングを行う。具体的には、選択された内部の垂直エッジ３０１、３０２で垂直オーバーラップスムージング（V）を行う。次に、選択された内部の水平エッジ（例えば、３０３、３０４、３０５、３０６）で水平オーバーラップスムージング（Ｈ）を行う。
【００３７】
フィルタブロックが一部スムージングされると、フィルタ３２０は図５Ｄに示すように区分的デブロッキングを行う。まず、選択された８×８ブロック境界（例えば、３０７、３０８、３０９、３１０）で水平ループ内デブロッキング（HD）を行い、次に、選択されたサブブロック境界（HDH）（例えば、３１１、３１２、３１３、３２４）で水平ループ内デブロッキングを行う。次に、フィルタは、選択された８×８ブロック境界（例えば、３１５、３１６）で垂直ループ内デブロッキング（ＶＤ）を行い、次に、選択されたサブブロック境界（VDH）（例えば、３１７、３１８）で垂直ループ内デブロッキングを行う。
【００３８】
上述したスムージングおよびデブロッキングステップの各々においては、境界の区画間には従属関係が存在しないことから、境界ピース(boundary piece)がフィルタリングされる順序は重要ではない。図５Ｃおよび５Ｄに示した区分的処理の特定の順序に加えて、他の順番および／またはフィルタリングステップを本発明に従って実装してもよい。例えば、境界エッジピースの様々なシーケンスをフィルタリングしてもよい。加えて、複数のタイプのスムージングあるいはデブロッキングモードが適用でき、また、フィルタリングスキームに応じて、境界のいずれか一方の側に３ピクセルかそれ以上のピクセルまでのフィルタリング動作がなされてもよい。例えば、MPEG-4規格は第１のモードでブロックエッジの一方の側に１ピクセルに対するショートフィルタを適用し、第２のモードで一方の側に２ピクセルに対するロングフィルタを適用するよう、２つのデブロッキングモードを使用する。他の実装品では、フィルタの定義、多種多様なフィルタ、および／またはアダプティブフィルタリングコンディションは、特定の要件を満たすように適応され得る。
【００３９】
スムージングおよびデブロッキングフィルタオペレーションが完了すると、処理されたフィルタブロックは図５Ｅに示すように格納され、シフトされる。具体的には、任意の終了したブロック（例えば、mb0y3,mb3y1)は完了していることから、出力され得る。加えて、１つ以上の、一部が終了したブロック（例えば、mb3y3)は、スクラッチパッドに移動され、下の近接するマクロブロック（例えば、図３のmb3y3に関連するマクロブロック６を参照のこと）を処理するときに使用される。次に、フィルタにおいて、残りの、一部が終了したブロック（例えば、mb1y2,mb4y0,mb4y2)はフィルタにシフトされ、新たなデータ用のスペースが作られる。この出力ステップ、格納ステップ、およびシフトステップの結果を図５Ｆに示す。フィルタ３２０は、図５Ｇに示すように新たなデータで満たされてもよい。特に、一部が終了したブロック（例えば、mb1y3)はスクラッチパッドメモリから引き出され、フィルタに読み出される。加えて、現在のマクロブロック（例えば、mb4)からの、残りのブロック（例えば、mb4y1,mb4y3)は、フィルタ３２０に読み出される。
【００４０】
フィルタブロックが読み出されると、フィルタ３２０は図５Ｈに示すように、区分的オーバーラップスムージングを行う。具体的には、選択された内部の垂直エッジで垂直オーバーラップスムージング（V1,V2)を行う。次に、選択された内部の水平エッジで水平オーバーラップスムージング（H1,H2,H3,H4)を行う。
【００４１】
フィルタブロックが一部スムージングされた後、フィルタ３２０は図５Ｉに示すように区分的デブロッキングを行う。まず、選択された８×８ブロック境界で水平のループ内デブロッキング（HD1,HD2,HD3,HD4)が行われ、次に、選択されたサブブロック境界（HDH1,HDH2,HDH3,HDH4)で水平のループ内デブロッキングが行われる。次に、選択された８×８ブロック境界で垂直のループ内デブロッキング（VD1,VD2)が行われ、次に選択されたサブブロック境界（VDH2,VDH2)で垂直のループ内デブロッキングが行われる。
【００４２】
スムージングおよびデブロッキングフィルタオペレーションが完了すると、処理されたフィルタブロックは、図５Ｊに示すように格納され、シフトされる。具体的には、任意の終了したブロック（例えば、mb1y2,mb4y0）は、完了していることから、出力され得る。加えて、１つ以上の一部が終了したブロック（例えば、mb4y2)はスクラッチパッドに移動され、下の近接するマクロブロックを処理するときに使用されてもよい。次に、フィルタの、残りの、一部が終了したブロック（例えば、mb1y3,mb4y1,mb4y3)は、フィルタにシフトされ、新たなデータ用のスペースが作られる。この出力ステップ、格納ステップ、およびシフトステップの結果を図５Ｋに示す。該図は図５Ａに示す初期のフィルタ状態にぴったりと一致する。この結果、図５Ａ〜５Ｋに示した一連のステップが繰り返して行われ、次のマクロブロック（例えば、マクロブロック５つまりmb5）を含む、フィルタブロックが継続してフィルタリングされる。
【００４３】
図６Ａ〜６Ｆには本発明の例示的実施形態を示しており、マクロブロックのCbあるいはCrブロックに、ＷＭＶ９スムージングプロシージャとデブロッキングプロシージャとが区分的処理技術を備えてどのように実装され得るかを示している。CbおよびCrマクロブロックは類似していることから、例では現在のCbマクロブロックをとりあげている。このマクロブロックはインデックスラベルCb(x,y)で識別される。フィルタリングプロセスの開始地点を図６Ａに示す。図６Ａでは、フィルタ４２０は、すでに一部がオーバーラップスムージング処理（例えば、長円形表示４２２を参照のこと）、およびデブロッキング処理（例えば、ライン表示４２３を参照のこと）されたブロック（例えば、Cb(x-1,y-1）とCb(x-1,y-1)ですでに読み出されている。次に、フィルタ４２０は図６Ｂに示すように、さらなるブロックで満たされる。特に、一部が終了したブロック（例えば、Cb(x,y-1))はスクラッチパッドメモリから引き出され、フィルタに読み出される。加えて、現在のマクロブロックからのブロック（例えば、Cb(x,y))はフィルタ４２０に読み出される。フィルタブロックが読み出されると、フィルタ４２０は図６Ｃに示すように区分的オーバーラップスムージングを行う。具体的には、選択された内部の垂直エッジで垂直オーバーラップスムージング（Ｖ）を行う。次に、選択された内部の水平エッジで水平オーバーラップスムージング（H1,H2)を行う。
【００４４】
フィルタブロックが一部スムージングされると、フィルタ４２０は図６Ｄに示すように、区分的デブロッキングを行う。まず、選択された８×８ブロック境界で水平ループ内デブロッキング(HD1,HD2)を行い、選択されたサブブロック境界（HDH1,HDH2)で水平ループ内デブロッキングを行う。次に、選択された８×８ブロック境界で垂直ループ内デブロッキング(VD)を行い、次に、選択されたサブブロック境界（VDH)で垂直ループ内デブロッキングを行う。
【００４５】
スムージングおよびデブロッキングフィルタオペレーションが完了すると、処理されたフィルタブロックは図６Ｅに示すように格納され、シフトされる。具体的には、終了したブロック（例えば、Cb(x-1,y-1))は、完了していることから、出力され得る。加えて、一部が終了したブロック（例えば、Cb(x-1,y)は、スクラッチパッドに移動され、下の近接するマクロブロックを処理するときに使用されてもよい。フィルタの、いずれの残りの、一部が終了したブロック（例えば、Cb(x,y-1),Cb(x,y))はフィルタにシフトされ、新たなデータ用にスペースが作られる。この出力ステップ、格納ステップ、およびシフトステップの結果を図６Ｆに示す。該図は図６Ａに示した初期のフィルタ状態にぴったりと一致する。この結果、図６Ａ〜６Ｆに示した一連のステップが繰り返し行われ、次のマクロブロックがフィルタリングされる。
【００４６】
これまでの記載から明らかなように、ハードウェアデコーダユニットに小さなスクラッチパッドメモリを提供することで、ループ内フィルタは一時的に、現在のマクロブロック（MB(x,y)として示す）のルマブロックおよびクロマブロックからの、一部が終了したフィルタリング結果をスクラッチパッドメモリに格納できる。次に、格納されたフィルタリング結果を、下の行のマクロブロックに近接したブロックを処理する際に使用してもよい。具体的には、フィルタが真下のマクロブロック、つまりMB(x,y+1)を処理するときには、MB(x,y)の格納されたデータはスクラッチパッドからフェッチされ、MB(x,y+1)の処理のために使用される。
【００４７】
スクラッチパッドメモリに格納された、一部が終了したフィルタリング結果は少なくとも８×８ピクセルデータを含む必要があるが、選択された実施形態では、スクラッチパッドはさらに制御データを格納し、ブロックに境界フィルタリングが必要であるかどうかを判断する。例えば、制御データは、各ブロックに対して、現在のマクロブロックにおいての６つのブロックに対するヘッダ群を含む。そのようはヘッダとしては、１ｍｖあるいは４ｍｖセレクタ、ブロックアドレス、フレームにおけるブロックの位置、マクロブロックモード、変換サイズ、（ゼロあるいはゼロではない）係数、動きベクトル）（正方向においてはｘおよびｙ方向プラス方向の二つ、逆方向においてはｘおよびｙ方向の二つ）、が挙げられる。データは、バーストサイズを効率的に使用できるように圧縮される。
【００４８】
スクラッチパッドメモリのサイズは小さいので、メモリをビデオアクセラレータと同じチップ上に設けてもよい。しかし、一般的なフレームサイズでは、スクラッチパッドはＤＤＲメモリやその他の外部メモリなどの、別のチップ上に設けられ得る。しかし、ビデオアクセラレータハードウェアユニット１０１にスクラッチパッドメモリを設けることにより、メモリアクセスパフォーマンスが向上する。フレーム全体にデータブロックを格納するための大きなメモリバッファを有する場合と比べると、スクラッチパッドメモリサイズを最小にした場合は、メディアアクセラレーションハードウェアユニットの製造コストを引き下げることができる。例えば、一部が終了したフィルタリング結果を格納するために使用されるスクラッチパッドメモリは、制御データとピクセルデータとを含み、以下のように計算することができる。
スクラッチパッドサイズ＝(576バイト)×(フレームにおける、水平方向のマクロブロック数)
フレームサイズが垂直方向において大きいときに、スクラッチパッドのサイズが相対的に小さいことは、これまでの記載から明らかである。換言すれば、スクラッチパッドのサイズは、水平方向のフレームのサイズにより決まる。本明細書に記載した区分的処理技術は、フレーム全体がデコードされる前に第１のマクロブロックでフィルタリングが開始される場合は、フィルタリィングオペレーションの速度を上げるためにフレーム全体を保持する大きなメモリに対して使用できる点で有利である。しかし、スクラッチパッドメモリを使用すると、費用がかかりアクセス時間にオーバーヘッドを追加する、フレーム全体を格納する大きなメモリを使用するよりも費用および速度の点で有利である。
【００４９】
スクラッチパッドの使用は、フィルタリングアルゴリズムのパイプライン処理にもよく適合する。本発明による利益を享受し得る当業者であれば、本発明に関して等価の範囲内で種々の変形及び実施が可能であることは明らかであることから、上述の個々の実施形態は、例示的なものに過ぎない。よって、上述の記載は本発明を特定の形式に限定することを意図するものではなく、むしろ本発明は添付の請求項によって規定されている発明の精神および範囲に含まれる変形、修正および等価物をカバーするものであり、これにより、当業者たちは本発明の精神や範囲から逸脱することなく各種の変更、置換えおよび変更ができることを理解されたい。
【図面の簡単な説明】
【００５０】
【図１】ビデオ情報の解凍システムを示したブロック図。
【図２】本発明に従い構成された例示的ビデオ解凍システムを示したブロック図。
【図３】本発明の選択された実施形態に係る、オーバーラップスムージングとループ内デブロッキングを効率的に処理するスクラッチパッドメモリを使用したループ内フィルタリング処理の概略図。
【図４】ビデオエンコーダあるいはデコーダでスムージングおよびデブロッキングフィルタを使用した、デコードされたフレームのブロッキネスを低減するための例示的技術の説明図。
【図５Ａ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｂ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｃ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｄ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｅ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｆ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｇ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｈ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｉ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｊ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図５Ｋ】ルマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ａ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ｂ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ｃ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ｄ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ｅ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図６Ｆ】クロマブロックに対してスムージングおよびデブロッキングプロシージャを実装するために区分的処理がどのように使用され得るかを示した説明図。
【図１】
2008529412.tif 000003
【図２】
2008529412.tif 000004
【図３】
2008529412.tif 000005
【図４】
2008529412.tif 000006
【図５Ａ】
2008529412.tif 000007
【図５Ｂ】
2008529412.tif 000008
【図５Ｃ】
2008529412.tif 000009
【図５Ｄ】
2008529412.tif 000010
【図５Ｅ】
2008529412.tif 000011
【図５Ｆ】
2008529412.tif 000012
【図５Ｇ】
2008529412.tif 000013
【図５Ｈ】
2008529412.tif 000014
【図５Ｉ】
2008529412.tif 000015
【図５Ｊ】
2008529412.tif 000016
【図５Ｋ】
2008529412.tif 000017
【図６Ａ】
2008529412.tif 000018
【図６Ｂ】
2008529412.tif 000019
【図６Ｃ】
2008529412.tif 000020
【図６Ｄ】
2008529412.tif 000021
【図６Ｅ】
2008529412.tif 000022
【図６Ｆ】
2008529412.tif 000023
【国際調査報告】
2008529412.tif 000024
2008529412.tif 000025
2008529412.tif 000026