(57)【要約】  電力削減技術を用いるビデオデコーダが開示されている。ビデオデコーダは、（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、（ｂ）デコードされた上記ビットストリームを変換する逆変換部と、（ｃ）デコードされた上記ビットストリームに基づいて、イントラ予測および動き補償予測を選択的に実行する予測部と、（ｄ）上記動き補償予測に使用される圧縮画像データを含むバッファと、を備え、上記圧縮画像データは、低解像度データと高解像度データとを含んでおり、上記予測部は、上記低解像度データに基づいて、上記高解像度データを用いずに上記ビットストリームからデコードされる高解像度の予測情報を用いて、低解像度データセットと高解像度データセットとの両方を予測するビデオデコーダ。
2013531401.tif 000002
【特許請求の範囲】
【請求項１】
映像をデコードするビデオデコーダであって、
（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、
（ｂ）デコードされた上記ビットストリームを変換する逆変換部と、
（ｃ）デコードされた上記ビットストリームに基づいて、イントラ予測および動き補償予測を選択的に実行する予測部と、
（ｄ）上記動き補償予測に使用される圧縮画像データを含むバッファと、を備え、
上記圧縮画像データは、低解像度データと高解像度データとを含んでおり、
上記予測部は、上記低解像度データに基づいて、上記高解像度データを用いずに上記ビットストリームからデコードされる高解像度の予測情報を用いて、低解像度データセットと高解像度データセットとの両方を予測するビデオデコーダ。
【請求項２】
上記高解像度データセットを参照せずに上記低解像度データセットを処理するデブロッキングモジュールをさらに備えている、請求項１に記載のビデオデコーダ。
【請求項３】
さらに、上記デブロッキングモジュールは、上記低解像度データセットを参照し、上記高解像度データセットを処理する、請求項２に記載のビデオデコーダ。
【請求項４】
上記逆変換部は、低解像度モードで動作している時に、上記ビットストリームに基づいて低解像度画素の位置のみに処理を施す、請求項１に記載のビデオデコーダ。
【請求項５】
上記予測部は、低解像度モードで動作している時に、低解像度画素の位置のみに処理を施す、請求項１に記載のビデオデコーダ。
【請求項６】
上記逆変換部は、上記低解像度モードで動作している時に、低解像度画素の位置のみに処理を施す、請求項５に記載のビデオデコーダ。
【請求項７】
上記予測により得られたデータと上記変換されたビットストリームとに基づいて、再構成された画像データを作成する結合部をさらに備えている、請求項１に記載のビデオデコーダ。
【請求項８】
上記低解像度データは上記高解像度データセットとは独立しており、
上記低解像度データは低解像度モードでのデコードに使用され、
上記低解像度データセットおよび上記高解像度データセットは、両方とも、高解像度モードでのデコード時に使用される、請求項１に記載のビデオデコーダ。
【請求項９】
高解像度画素の位置ではなく低解像度画素の位置のデータに基づいてデブロッキングの決定を行うことで、上記再構成された画像データに選択的にデブロッキング処理を施すデブロッキングモジュールをさらに備えている、請求項７に記載のビデオデコーダ。
【請求項１０】
映像をデコードするビデオデコーダであって、
（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、
（ｂ）デコードされた上記ビットストリームを変換する逆変換部と、
（ｃ）デコードされた上記ビットストリームに対して、イントラ予測および動き補償予測を選択的に実行する予測部と、
（ｄ）上記動き補償予測に使用される圧縮画像データを含むバッファと、を備え、
（ｅ）上記圧縮画像データは、低解像度データセットと高解像度データセットとを含んでおり、
上記低解像度データセットは上記高解像度データセットとは独立しており、
上記低解像度データセットは低解像度モードにおけるデコードに使用され、
上記低解像度データセットおよび上記高解像度データセットは、両方とも、高解像度モードでのデコード時に使用されるビデオデコーダ。
【請求項１１】
上記高解像度データセットは、上記低解像度データセットからの線形予測に基づいている、請求項１０に記載のビデオデコーダ。
【請求項１２】
上記低解像度データセットは、ブロックトランケーション符号化（block truncation coding）を用いてエンコードされている、請求項１０に記載のビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力を削減するビデオデコーダに関する。
【背景技術】
【０００２】
Ｈ．２６４／ＡＶＣといった既存の映像符号化規格は、一般的に、計算複雑性の増大という代償により、相対的に符号化効率を高めている。計算複雑性が相対的に増大することにより電力消費が著しくなるが、このことが、携帯電話のような電力の少ないデバイスにとっては特に問題になる。
【０００３】
一般的に、電力削減は、２つの主要な技術を用いて実現される。電力削減のための１つ目の技術は機会主義的（opportunistic）なものであり、映像符号化システムは、デコードが容易なシーケンスを処理している時にはその処理能力を低下させる。この処理能力の低下は、周波数スケーリング、電圧スケーリング、オンチップデータプリフェッチング（キャッシング）、および／または、系統的なアイドリング方法によって実現できる。多くの場合、結果として、デコーダの処理は規格に準拠したものとなっている。電力削減のための２つ目の技術は、デコード処理中にフレームまたは画像データを破棄するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に、この技術のほうがより一層電力を節約できるものの、画質の低下が目に見えてしまうという代償を払うことになる。さらに、結果として、デコーダの処理は、規格に準拠しなくなってしまう。
【課題を解決するための手段】
【０００５】
本発明の一実施形態が開示しているのは、映像をデコードするビデオデコーダであって、（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、（ｂ）デコードされた上記ビットストリームを変換する逆変換部と、（ｃ）デコードされた上記ビットストリームに基づいて、イントラ予測および動き補償予測を選択的に実行する予測部と、（ｄ）上記動き補償予測に使用される圧縮画像データを含むバッファと、を備え、上記圧縮画像データは、低解像度データと高解像度データとを含んでおり、上記予測部は、上記低解像度データに基づいて、上記高解像度データを用いずに上記ビットストリームからデコードされる高解像度の予測情報を用いて、低解像度データセットと高解像度データセットとの両方を予測するビデオデコーダである。
【０００６】
本発明の別の一実施形態が開示しているのは、映像をデコードするビデオデコーダであって、（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、（ｂ）デコードされた上記ビットストリームを変換する逆変換部と、（ｃ）デコードされた上記ビットストリームに対して、イントラ予測および動き補償予測を選択的に実行する予測部と、（ｄ）上記動き補償予測に使用される圧縮画像データを含むバッファと、を備え、（ｅ）上記圧縮画像データは、低解像度データセットと高解像度データセットとを含んでおり、上記低解像度データセットは上記高解像度データセットとは独立しており、上記低解像度データセットは低解像度モードにおけるデコードに使用され、上記低解像度データセットおよび上記高解像度データセットは、両方とも、高解像度モードでのデコード時に使用されるビデオデコーダである。
【０００７】
本発明の上述およびその他の目的、特徴および利点は、添付の図面を参酌しつつ以降の発明の詳細な説明を考慮すれば、容易に理解できるであろう。
【図面の簡単な説明】
【０００８】
【図１】図１は、デコーダを示している。
【図２】図２は、低解像度における予測を示している。
【図３Ａ】図３Ａは、デコーダ、および、デコーダにおけるデータの流れを示している。
【図３Ｂ】図３Ｂは、デコーダ、および、デコーダにおけるデータの流れを示している。
【図４】図４は、フレームバッファのサンプル構造を示している。
【図５】図５は、デコーダ内のフレームバッファの統合を示している。
【図６Ａ】図６Ａは、２つのブロックの代表画素値を示している。
【図６Ｂ】図６Ｂは、２つのブロックの代表画素値を示している。
【発明を実施するための形態】
【０００９】
一般的にフレームデータの破棄に付随して得られる顕著な電力節約を、得られる画質に目に見える劣化があったり、規格に準拠しなかったりといったことなく可能にすることが望ましい。適切に実装されれば、符号化効率への影響が最小限のシステムを使用できる。画像の劣化および符号化効率のロスを最小限にしつつ、電力の節約を促進するために、システムは、低解像度データおよび高解像度データを択一的に処理するべきである。低解像度データおよび高解像度データの組み合わせは、フル解像度データになり得る。低解像度データの使用は、送信されるコンテンツの解像度よりもディスプレイの解像度が小さい場合に特に適している。
【００１０】
電力は、より高解像度のデコーダを設計する際の１つの要素である。電力の使用に大きく関与しているもののひとつがメモリの帯域幅である。従来から、メモリの帯域幅は、解像度およびフレームレートとともに増加し、システムを設計する上でしばしば顕著なボトルネックおよびコスト要因になっている。電力の使用に大きく関与しているものの２つ目が高解像度画素の数である。高解像度画素の数は、直接的には、画像フレームの解像度により決定され、画素の処理量及び計算量を増大させる。各画素の処理に必要な電力量は、デコード処理の複雑さにより決定される。歴史的に、デコードの複雑さは、映像符号化規格が「改善」されるたびに増大してきた。
【００１１】
図１を参照すると、システムは、エントロピー復号部１０、（逆量子化、IDCTを用いた逆変換のような）逆変換部２０、イントラ予測部３０、動き補償予測部４０、加算器８０、デブロッキングフィルタ５０および電力適応ループフィルタ６０を備え、バッファ７０に関連するメモリ圧縮／伸張モジュールを備えている。ビデオシステムの様々なモジュールの配置および選択は、必要に応じて変更してもよい。一態様では、システムは、バッファの高解像度画素数、および、メモリ帯域幅の両方に関する電力要求を削減することが好ましい。ビデオコーダの設計にフレームバッファ圧縮技術を使用することでメモリ帯域幅は削減される。フレームバッファ圧縮技術の目的は、参照ピクチャのバッファ内のデータにアクセスするのに必要なメモリ帯域幅（および電力）を削減することにある。参照ピクチャのバッファ自体が元の画像データの圧縮版であるものとすると、多くの応用において、著しい符号化ロスを生じることなく参照フレームを圧縮できる。
【００１２】
高解像度画素数に対処するために、ビデオコーデックは、ドリフトのない低解像度処理モードをサポートすべきである。これは、デコーダが低解像度とフル解像度との間で処理ポイントを切り替え、規格に準拠してもよいことを意味している。これは、フル解像度の予測情報を用いるが低解像度の画像データのみを用いて、低解像度データおよび高解像度データの両方を予測することにより実現できる。さらに、これは、低解像度データのみを用いてブロック歪除去を決定するデブロッキング処理を用いて改善できる。デブロッキングは、低解像度データに適用できるが、必要に応じて、高解像度データにも適用できる。低解像度画素のデブロッキングは、高解像度画素には依存しない。低解像度のデブロッキングと高解像度のデブロッキングとは、順番に、および／または、並列的に、実行されてもよい。しかしながら、高解像度画素のデブロッキングは、低解像度画素に依存し得る。この方法では、低解像度の処理が高解像度の処理と独立しているので電力節約モードが有効になる一方、高解像度の処理が低解像度の処理に依存するため必要な時に画質を良好にできる。
【００１３】
図２を参照すると、低解像度モードの処理時に（Ｓ１０）、デコーダは、低解像度予測および改良デブロッキングの特性（properties）を用いて、処理すべき画素数を大きく削減できる。これは、低解像度データのみを予測する（Ｓ１２）ことで、実現できる。そして、低解像度データを予測した後に、低解像度画素（すなわち、画素位置）のみについて残差データを計算し、高解像度画素（すなわち、画素位置）については残差データを計算しない（Ｓ１４）。残差データは、一般的に、ビットストリームの状態で伝送される。低解像度の画素値について計算された残差データは、フル解像度の残差データと同じ画素値を低解像度画素の位置において有している。主な違いは、残差データが、低解像度画素の位置において計算のみが必要のある点である。残差の計算に続き、低解像度の画素値を求めるために、低解像度の残差が、低解像度の予測に加えられる（Ｓ１６）。そして、得られた信号はデブロックされる。電力消費を削減するために、デブロッキングは、低解像度の画素位置のみで実行する（Ｓ１８）ことが望ましい。最後に、将来の予測のために、参照ピクチャのフレームバッファ内に結果が格納される。オプションとして、結果は、適応ループフィルタを用いて処理されてもよい。適応ループフィルタは、フル解像度データの適応ループフィルタに関するものであってもよいし、独立してシグナリングされてもよいし、省略されてもよい。
【００１４】
低解像度モードで動作するシステムの典型的な図が図３Ａおよび図３Ｂに示されている。システムは、同様に、フル解像度モードで動作するモードを備えていてもよい。図３Ａおよび図３Ｂに示すように、エントロピー復号１００は、フル解像度で実行されてもよい。一方、逆量子化・逆ＤＣＴ（逆量子化 IDCT）２００および予測（イントラ予測３００、動き補償予測（ＭＣＰ）４００）は、低解像度で実行されることが望ましい。低解像度画素のデブロッキングがさらなる高解像度データに依存しないように、デブロッキング５００は、段階的に実行されることが望ましい。最後に、メモリ圧縮を含むフレームバッファは、将来の予測のために使用される低解像度データを格納する。
【００１５】
図３Ａに示すエントロピー復号１００によって、フル解像度画素の残差データ（１０１）がエントロピー復号される。残差１０１における影が付された画素は低解像度の位置を表している。一方、影が付されていない画素は、高解像度の位置を表している。逆量子化・逆ＤＣＴ２００は、残差１０１における低解像度画素データのみを逆変換し、逆量子化および逆ＤＣＴ後の残差(residual-after-Dequant-and-IDCT)２０１を生成する。
【００１６】
イントラピクチャの場合、イントラ予測３００によって、（陰影のある画素によって描かれた）低解像度の位置についてのみ予測情報３０１が生成される。加算器８００は、逆量子化および逆ＤＣＴ後の残差２０１の低解像度画素データを予測情報３０１内の低解像度画素データに加算することで、（陰影のある画素によって描かれた）低解像度の位置のみについて再構成データ８０１を生成する。
【００１７】
インターピクチャの場合、図３Ｂに示されているＭＣＰ４００により、参照ピクチャの低解像度画素データ（参照ピクチャデータ７０２内の影が付された画素で描かれた）がメモリ７００から読み出され、既に取り除かれた高解像度画素データが補間により生成される。例えば、補間４０１に示されているように、ＭＣＰ４００によって、補間により、隣接する画素群の低解像度画素データから高解像度画素データＣが生成される。ａ）Ｃの上側および下側に位置する画素群の低解像度画素データの平均値、ｂ）Ｃの左側および右側に位置する画素群の低解像度画素データの平均値、ｃ）Ｃの上側、下側、左側および右側に位置する画素群の低解像度画素データの平均値の各平均値を補間として使用してもよい。
【００１８】
デブロッキング５００は、段階的に実行される。デブロッキング５００は、最初に、低解像度データをフィルタリングする（５０１）。次に、デブロッキング５００は、高解像度データをフィルタリングする（５０２）。より具体的には、デブロッキング５００は、次の方法により実行される。
ステップ１）（５０１）
デブロッキング５００は、低解像度データと補間による高解像度データとを用いて、低解像度データに対してのみ適用される。
ステップ２）（５０２）
デブロッキング５００は、低解像度データと補間による高解像度データとを用いて、高解像度データに対してのみ適用される。
【００１９】
デブロッキング５００の後のピクチャはメモリ７００に格納される。以下は、デブロッキング５００の後にメモリ７００に格納され、ＭＣＰ４００のために読み出されたピクチャ（７０１、７０２、７０３）について説明する。デブロッキング５００の後のピクチャ５０２はフル解像度のピクチャであるが、ピクチャ７０１と称してもよい。デブロッキング５００の後のピクチャ７０１は、チェッカーボードのパターンで間引かれることで、低解像度の位置のみが残されてメモリ７００に格納される。予測に使用されるときに、（７０２の影が付されていない画素で描かれた）間引かれた高解像度画素データは補間され、補間後のピクチャは、予測ピクチャを生成するために使用される。
【００２０】
フレームバッファ圧縮技術は、低解像度機能のコンポーネントであることが望ましい。フレームバッファ圧縮技術は、画素データを、画素データの第１の組が他の組に依存しないような複数の組に分割することが望ましい。一形態では、システムは、図４に示したようなチェッカーボードを用いる。図４では、影が付された画素群の位置が第１の組に属し、影が付されていない画素群が第２の組に属している。必要に応じて、他のサンプル構造を使用してもよい。例えば、列方向に沿った画素群を１列おきに第１の組に割り当ててもよい。あるいは、行方向に沿った画素群を１行おきに第１の組に割り当ててもよい。同様に、列方向に沿った画素群を１列おきに第１の組に割り当てるとともに、行方向に沿った画素群を１行おきに第１の組に割り当ててもよい。画素群の複数の組に分割するために適切な任意の方法が使用可能である。
【００２１】
メモリ圧縮／伸張のために、フレームバッファ圧縮技術では、画素に関する第２の組の画素群が、画素に関する第１の組の画素群から線形予測されることが望ましい。予測は予め定められていてもよい。あるいは、予測は、空間的に変わってもよいし、他の任意の適切な技術を用いて決定されてもよい。
【００２２】
一実施形態では、画素に関する第１の組の画素群は符号化される。この符号化は、任意の適切な技術を用いたものであってよい。そのような技術としては、例えば、以下の文献に記載されたブロックトランケーション符号化（BTC;block truncation coding）、
・ヒーリー（Healy,D.）、ミッシェル（Mitchell,O.）共著の「ブロックトランケーション符号化を用いたデジタルビデオの帯域幅の圧縮（Digital Video Bandwidth Compression Using Block Truncation Coding）」、IEEE Transatcions on Communications[legacy,pre-1988]、第２９巻、第１２番（１８０９ページ〜１８１７ページ）、１９８１年１２月、
以下の文献に記載された絶対モーメントブロックトランケーション符号化（AMBTC;absolute moment block truncation coding）、
・レマ（Lema,M.）、ミッシェル（Mitchell,O.）共著の「絶対モーメントブロックトランケーション符号化とカラー画像に対するその応用（Absolute Moment Block Truncation Coding and Its Application to Color Images）」、IEEE Transatcions on Communications[legacy,pre-1988]、第３２巻、第１０番（１１４８ページ〜１１５７ページ）、１９８４年１０月、
または、スカラー量子化が挙げられる。同様に、画素に関する第２の組の画素群は、任意の適切な技術を用いて符号化および予測が成されてもよい。例えば、フレームバッファ圧縮エンコーダおよびフレームバッファ圧縮デコーダについて知られている線形プロセスを用いて予測がされてもよい。そして、予測値と画素値との差が計算されてもよい。最後に、計算された差分は、圧縮されてもよい。一実施形態では、システムは、ブロックトランケーション符号化（ＢＴＣ）を用いて第１の組の画素群を圧縮してもよい。別の一実施形態では、システムは、絶対モーメントブロックトランケーション符号化（ＡＭＢＴＣ）を用いて第１の組の画素群を圧縮してもよい。別の一実施形態では、システムは、量子化を用いて第１の組の画素群を圧縮してもよい。さらに別の一実施形態では、システムは、バイリニア補間を用いて第２の組の画素群の画素値を予測してもよい。さらに別の実施形態では、システムは、バイキュービック補間を用いて第２の組の画素群の画素値を予測してもよい。別の実施形態では、システムは、バイリニア補間を用いて第２の組の画素群の画素値を予測し、絶対モーメントブロックトランケーション符号化（ＡＭＢＴＣ）を用いて、第２の組の画素値群の予測画素値と第２の組の画素値群との残差を圧縮してもよい。
【００２３】
フレームバッファ圧縮技術の特性は、低解像度処理が可能であることを示すためのフラグを用いた制御にある。一形態において、低解像度処理が可能であることをこのフラグが示していない場合には、フレームバッファデコーダは、場合により圧縮されている第１の組の画素値群（すなわち、低解像度画素データ）と、第１の組の画素値群から予測され、任意選択の残差データによって精緻化された第２の組の画素値群（すなわち、高解像度画素データ）と、を含む出力フレームを生成する。別の一形態において、低解像度処理が可能であることをこのフラグが示している場合には、フレームバッファデコーダは、場合により圧縮されている第１の組の画素値群と、第１の組の画素値群から予測されるが、任意選択の残差データによって精緻化されてはいない第２の組の画素値群と、を含む出力フレームを生成する。したがって、このフラグは、任意選択の残差データを使用するか否かを示している。残差データは、予測画素値の群と、実際の画素値の群と、の差分を示すものであってもよい。
【００２４】
フレームバッファ圧縮エンコーダに関し、低解像度処理が可能でないことをフラグが示している場合、このエンコーダは、場合により圧縮形式で、第１の組の画素値群を保存する。そして、このエンコーダは、第１の組の画素値群から第２の組の画素値群を予測する。いくつかの実施形態では、エンコーダは、予測画素値と実際の画素値との残差を特定し、場合により圧縮形式で、この残差を保存する。いくつかの実施形態では、このエンコーダは、第２の組の画素群に関して好ましい予測方法を複数の予測方法の中から選択する。そして、このエンコーダは、選択された予測方法をフレームバッファに保存する。一実施形態では、複数の予測方法は複数の線形フィルタから構成され、エンコーダは、各線形フィルタについて予測画素値を計算するとともに、実際の画素値に最も近い予測画素値を計算する線形フィルタを選択することで、予測方法を選択する。一実施形態では、複数の予測方法は複数の線形フィルタから構成され、エンコーダは、各線形フィルタについて複数の画素位置からなるブロックにおける予測画素値の群を計算するとともに、予測画素値の群が実際の画素値の群に最も近いブロックにおけるそれらの予測画素値を計算する線形フィルタを選択することで、予測方法を選択する。画素群のブロックは、画像内部の画素の集合である。予測画素値の群が実際の画素値の群に最も近いブロックは、実際の画素値の群と予測画素値の群との差の絶対値の総和が最も小さいブロックを選択することで決定されてもよい。あるいは、ブロックを選択するために平方差の総和を使用してもよい。他の実施形態では、残差はブロックトランケーション符号化（ＢＴＣ）により圧縮される。一実施形態では、残差は絶対モーメントブロックトランケーション符号化（ＡＭＢＴＣ）により圧縮される。一実施形態では、第２の組の画素群を圧縮するために使用されるパラメータ群は、第１の組の画素群を圧縮するために使用されるパラメータ群から決定される。一実施形態では、第１の組の画素群および第２の組の画素群はＡＭＢＴＣを使用し、第１の組の画素群にＡＭＢＴＣ方式で使用される第１のパラメータは、第２の組の画素群にＡＭＢＴＣ方式で使用される第１のパラメータに関係している。一実施形態では、第２の組の画素群に使用される上記第１のパラメータは、第１の組の画素群に使用される上記第１のパラメータと同一であり、保存されていない。別の一実施形態では、第２の組の画素群に使用される上記第１のパラメータは、第１の組の画素群に使用される上記第１のパラメータに関係している。一実施形態では、その関係は、スケール因子として定義されてもよく、第２の組の画素群に使用される上記第１のパラメータの代わりにそのスケール因子が保存されていてもよい。他の実施形態では、その関係は、スケール因子のルックアップテーブルへのインデックスとして定義されてもよく、第２の組の画素群に使用される上記第１のパラメータの代わりにそのインデックスが保存されていてもよい。別の実施形態では、その関係は予め定められていてもよい。別の実施形態では、エンコーダは、選択された予測方法と、残差決定ステップとを結合する。比較すると、低解像度処理が可能であることをフラグが示す場合には、エンコーダは、第１の組の画素群を場合によって圧縮形式で保存する。しかしながら、エンコーダは、残差情報を保存しない。選択された予測方法を特定する上述の実施形態では、エンコーダは、選択された予測方法を再構成されたデータからは計算しない。代わりに、任意の選択された予測方法は、エンコードからデコーダに伝えられる。
【００２５】
フラグの伝達により、低解像度デコードの機能が有効になる。デコーダは、低解像度デコードが可能であることをフラグが示している場合であっても、低解像度シーケンスをデコードする必要はない。代わりに、デコーダは、フル解像度シーケンスか低解像度シーケンスかのいずれかをデコードしてもよい。これらのシーケンスは、低解像度グリッド上の画素位置におけるデコード後の画素値が同一である。これらのシーケンスは、高解像度グリッド上の画素位置におけるデコード後の画素値が同一であっても同一でなくてもよい。フラグの伝達は、フレーム毎に行われてもよいし、シーケンス毎に行われてもいし、他の基準で行われてもよい。
【００２６】
デコーダは、ビットストリーム内にフラグが現れた時に、以下のステップを実行することが好ましい。
（ａ）フレームバッファ圧縮技術による残差計算を無効にする。図５に示すように、この工程には、参照フレームの保存中に残差データの計算を無効にする工程に加え、参照フレームの読み込み中に残差データの計算を無効にする工程が含まれている。
（ｂ）前述したように、低解像度の画素値群を用いて低解像度デブロッキングを行う。前述したように、より高解像度の位置におけるサンプル位置に対しては、別のデブロッキング処理を用いる。
（ｃ）適応ループフィルタを適用する前に参照フレームを保存する。
【００２７】
これらの変更により、デコーダは、フル解像度モードでの処理を継続できる。具体的には、未来のフレームについて、デコーダは、圧縮された参照バッファからフル解像度のフレームを取り出し、動き補償を実行し、残差を加算し、デブロッキング処理を実行し、ループフィルタによるフィルタリングを行うことができる。そして、フル解像度のフレームが得られる。このフレームは、まだ、フル解像度画素のグリッドの全範囲を占める周波数成分を含んでいる。
【００２８】
ただし、代わりに、デコーダは低解像度データのみを処理することを選択してもよい。これが可能であるのは、バッファ圧縮構造において低解像度のグリッドがより高解像度のグリッドと独立しているからである。動き補償に関しては、高解像度画素が低解像度データと線形の関係にあるという事実を活用するように補間プロセスが変更されてもよい。したがって、動き補償処理は、変更後の補間フィルタを用いて低解像度で実行されてもよい。同様に、残差の計算に関しては、システムは、デコーダの後続ステップにおいて低解像度データが高解像度データに依存しないという事実を活用してもよい。したがって、システムは、フル解像度の変換係数から低解像度画素を計算するだけの簡易逆変換処理を使用する。最後に、システムは、高解像度画素とは独立している低解像度データ（高解像度は低解像度に依存している）にデブロッキング処理を施すデブロッキングフィルタを使用する。これは、高解像度データと低解像度データとの間に線形の関係があるためである。
【００２９】
８×８のブロックサイズでは、JCT-VCの検討中テストモデルJCTVC-A119における既存のデブロッキングフィルタが望ましい。輝度デブロッキングフィルタでは、ブロックの境界がデブロッキング処理されているかを判定することによって処理が始まる。これは次式を計算することにより実現できる。
【００３０】
【数１】
2013531401.tif 000003
【００３１】
ここで、ｄは変数であり、pijおよびqijは画素値である。画素値の位置は図６に描かれている。図６では、４×４の符号化ユニットが２つ描かれている。ただし、ブロック境界に関係する画素の位置を考慮することで、任意のブロックサイズから画素値を決定してもよい。
【００３２】
次に、ｄとして求められた値は閾値と比較される。もし値ｄが閾値よりも小さい場合、デブロッキングフィルタが作動する。もし値ｄが閾値以上である場合、フィルタリングは適用されず、デブロッキング処理がされた画素の値は、入力画素値と同じ値になる。なお、閾値は、量子化パラメータの関数であってもよく、beta(QP)と記述してもよい。デブロッキングは、水平方向の境界と垂直方向の境界とで独立して決定される。
【００３３】
境界のｄ値がデブロッキングを決定するような値である場合、プロセスは、続いて、適用するフィルタのタイプを決定する工程に進む。デブロッキング処理で使用されるフィルタのタイプは、強いフィルタであってもよいし弱いフィルタであってもよい。フィルタリングの強度の選択は、すでに計算されたｄ、beta(QP)、さらに、追加の局所差分に基づいている。これは、デブロッキングの境界の各ライン（行または列）について計算される。例えば、図６に示されている画素位置の最初の行については、次式のような計算がされる。
【００３４】
【数２】
2013531401.tif 000004
【００３５】
ここで、tCは閾値であり、一般的に量子化パラメータQPの関数になっている。
【００３６】
輝度サンプルの場合、前述のプロセスにより、境界をデブロッキング処理し、続いて、ライン（行または列）を弱いフィルタでデブロッキング処理することが決定された場合、フィルタリング処理は次のようであってもよい。ここで、図６のブロックＡとブロックＢとの境界に対するフィルタリング処理によって説明する。処理は、
【００３７】
【数３】
2013531401.tif 000005
【００３８】
となる。ここで、Δはオフセットであり、Clip0-255（）は入力値を範囲[0,255]にマッピングするオペレータである。別の実施形態では、オペレータは入力値を別の範囲（[16,235]、[0,1023]、またはその他の範囲）にマッピングするものであってもよい。
【００３９】
輝度サンプルの場合、前述のプロセスにより、境界をデブロッキング処理し、続いて、ライン（行または列）を強いフィルタでデブロッキング処理することが決定された場合、フィルタリング処理は次のようであってもよい。ここで、図６のブロックＡとブロックＢとの境界に対するフィルタリング処理によって説明する。処理は、
【００４０】
【数４】
2013531401.tif 000006
【００４１】
となる。ここで、Clip0-255（）は入力値を範囲[0,255]にマッピングするオペレータである。別の実施形態では、オペレータは入力値を別の範囲（[16,235]、[0,1023]、またはその他の範囲）にマッピングするものであってもよい。
【００４２】
色差サンプルの場合、前述のプロセスにより、境界をデブロッキング処理することが決定された場合、すべてのライン（行もしくは列）または色差成分は弱いフィルタリング処理によって処理される。ここで、図６のブロックＡとブロックＢとの境界に対するフィルタリング処理によって説明する。図６では、これらのブロックが色差の画素値を含んでいるものとする。処理は、
【００４３】
【数５】
2013531401.tif 000007
【００４４】
となる。ここで、本明細書でデルタとも呼称されるΔはオフセットであり、Clip0-255（）は入力値を範囲[0,255]にマッピングするオペレータである。別の実施形態では、オペレータは入力値を別の範囲（[16,235]、[0,1023]、またはその他の範囲）にマッピングするものであってもよい。
【００４５】
画像フレーム内の画素位置は、２以上の組に区分けられてもよい。ビットストリーム内でフラグが伝送されるか、任意の方法で伝達される場合、システムは、第２の組の画素位置の画素値を除外して、第１の組の画素位置に対する処理を有効にする。図４には、この区分けの一例が示されている。図４では、ブロックが画素の２つの組に区分けされている。第１の組は影が付された位置に対応し、第２の組は影が付されていない位置に対応する。
【００４６】
この別のモードが有効になると、システムは、これまでのデブロッキング処理を次のように変更する。
【００４７】
第１に、境界がデブロッキング処理されるべきかを求める際に、システムは、前述の式またはその他の適切な式を使用する。ただし、第１の組の画素群には属していない画素位置に対応する画素値については、第１の組の画素位置から導出した画素値を使用してもよい。図６Ａおよび図６Ｂのp01、p03、p05、p07、q00、q02、q04、q06は、エントロピー復号、逆変換および予測により計算された第１の組の画素である。p00、p02、p04、p06、q01、q03、q05、q07は図３Ｂまたは図５に示したような式で計算され、
【００４８】
【数６】
2013531401.tif 000008
【００４９】
式１、式２、式３、式４および式５は、これらの画素値を用いて計算される。
【００５０】
一実施形態では、システムは、第１の組の画素群の隣接する複数の画素値の線形加重として、画素値を導出する。第２の実施形態では、システムは、第１の組の画素群の複数の画素値のバイリニア補間を用いる。好ましい実施形態では、システムは、第１の組の画素群の画素値であって現在の画素位置よりも上側にある画素値と、第１の組の画素群の画素値であって現在の画素位置よりも下側にある画素値と、の線形平均を算出する。なお、上の説明は、システムが垂直方向のブロック境界を処理し（水平方向のデブロッキング処理を適用している）ことを前提としたものである。システムは、水平方向のブロック境界を処理し（垂直方向のデブロッキング処理を適用している）場合には、現在位置の左方および右方の画素の平均を計算する。別の実施形態では、システムは、同一ブロック内の画素値の平均計算を制限してもよい。例えば、現在の画素の上側に位置する画素値は同一ブロックに属さないが現在の画素の下側に位置する画素値は同一ブロックに属する場合、現在の画素の画素値は、現在の画素の下側に位置する画素値と等しい値にセットされる。
【００５１】
第２に、境界が強いフィルタを使用すべきか弱いフィルタを使用すべきかを計算する際には、システムは、上述の方法と同じ方法を使用してもよい。すなわち、第１の組の画素群に対応しない画素値は、第１の組の画素から導出される。計算により前述の決定を行った後、システムは、その決定に基づいて、第１の組の画素群を処理してもよい。後続の組の画素群を処理しているデコーダは、同じ決定に基づいて、後続の組の画素群を処理する。
【００５２】
前述の処理により、境界をデブロッキング処理し、続いて、ライン（行または列）を弱いフィルタでデブロッキング処理することが決定された場合、システムは、上述の弱いフィルタリング処理を用いてもよい。ただし、Δの値を計算する際には、システムは、第１の組に続く組の画素群に対応する画素値を使用しない。代わりに、システムは、前述のように、画素値を導出してもよい。例を挙げると、Δの値は第１の組の実際の画素値に適用され、デルタ値（Δの値）は第２の組の実際の画素値に適用される。
【００５３】
前述の処理により、境界をデブロッキング処理し、続いて、ライン（行または列）を強いフィルタでデブロッキング処理することが決定された場合、システムは、次の処理を実行してもよい。
【００５４】
すなわち、一実施形態では、システムは、前述の強い輝度フィルタの式を用いてもよい。ただし、第１の組の画素位置にない画素値に関しては、システムは、前述したように、第１の組の画素位置から画素値を導出してもよい。そして、システムは、第１の組の画素位置に対するフィルタ処理の計算結果を保存する。続いて、後続の画素位置を出力として生成するデコーダに関し、システムは、第１の画素位置に関する前に得られた強いフィルタの計算結果、および、後続の画素位置の再構成処理の（フィルタ処理ではない）計算結果に対して、前述の強い輝度フィルタの式を用いる。そして、システムは、後続の画素位置のみにこのフィルタを適用する。出力は、最初のフィルタ処理に対応するフィルタ済の第１の画素位置、および、追加のフィルタパスに対応するフィルタ済の後続の画素位置となる。
【００５５】
まとめると、前述のように、システムは、第１の画素値を使用して、抜けている画素値を補間し、第１の画素値に対する強いフィルタリング処理の結果を計算する。そして、システムは、抜けている画素値を実際の再構成値に更新し、抜けている画素位置に対する強いフィルタリング処理の結果を計算する。
【００５６】
第２の実施形態では、システムは、前述の強い輝度フィルタの式を使用する。システムは、第１の組の画素位置にない画素値については、前述のように、第１の組の画素位置から導出する。そして、システムは、導出した値を用いて、第１の組の画素位置と後続の組の画素位置との両方について、強いフィルタリング処理の結果を計算する。最後に、システムは、後続の位置における再構成された画素値と後続の位置に対する強いフィルタリング処理の出力と、の重み付け平均を計算する。一実施形態では、重みはエンコーダからデコーダに送信される。別の実施形態では、重みは固定値である。
【００５７】
前述の処理により、色差において境界をデブロッキング処理することが決定された場合、システムは、前述のように、弱いフィルタリング処理を使用する。ただし、Δの値を計算する際には、システムは、第１の組に続く組の画素群に対応する画素値を使用しない。代わりに、システムは、前述のように、画素値を導出することが望ましい。例を挙げると、Δの値は第１の組の実際の画素値に適用され、デルタ値（Δの値）は第２の組の実際の画素値に適用される。
【００５８】
これまで明細書で使用してきた用語および表現は、限定ではなく説明の用語として使用されており、かかる用語および表現の使用には、図示および説明された特徴の均等物またはそれらの一部を排除する意図はない。本発明の範囲は、続く特許請求の範囲によってのみ規定および制限されることを認識すべきである。
【図１】
2013531401.tif 000009
【図２】
2013531401.tif 000010
【図３Ａ】
2013531401.tif 000011
【図３Ｂ】
2013531401.tif 000012
【図４】
2013531401.tif 000013
【図５】
2013531401.tif 000014
【図６Ａ】
2013531401.tif 000015
【図６Ｂ】
2013531401.tif 000016
【手続補正書】
【提出日】平成25年1月17日(2013.1.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
一実施形態では、画素に関する第１の組の画素群は符号化される。この符号化は、任意の適切な技術を用いたものであってよい。そのような技術としては、例えば、以下の文献に記載されたブロックトランケーション符号化（BTC;block truncation coding）、
・ヒーリー（Healy,D.）、ミッシェル（Mitchell,O.）共著の「ブロックトランケーション符号化を用いたデジタルビデオの帯域幅の圧縮（Digital Video Bandwidth Compression Using Block Truncation Coding）」、IEEE Transatcions on Communications[legacy,pre-1988]、第２９巻、第１２番（１８０９ページ〜１８１７ページ）、１９８１年１２月、
以下の文献に記載された絶対モーメントブロックトランケーション符号化（AMBTC;absolute moment block truncation coding）、
・レマ（Lema,M.）、ミッシェル（Mitchell,O.）共著の「絶対モーメントブロックトランケーション符号化とカラー画像に対するその応用（Absolute Moment Block Truncation Coding and Its Application to Color Images）」、IEEE Transatcions on Communications[legacy,pre-1988]、第３２巻、第１０番（１１４８ページ〜１１５７ページ）、１９８４年１０月、
または、スカラー量子化が挙げられる。同様に、画素に関する第２の組の画素群は、任意の適切な技術を用いて符号化および予測が成されてもよい。例えば、フレームバッファ圧縮エンコーダおよびフレームバッファ圧縮デコーダについて知られている線形プロセスを用いて予測がされてもよい。そして、予測値と画素値との差が計算されてもよい。最後に、計算された差分は、圧縮されてもよい。一実施形態では、システムは、ブロックトランケーション符号化（ＢＴＣ）を用いて第２の組の画素群を圧縮してもよい。別の一実施形態では、システムは、絶対モーメントブロックトランケーション符号化（ＡＭＢＴＣ）を用いて第２の組の画素群を圧縮してもよい。別の一実施形態では、システムは、量子化を用いて第２の組の画素群を圧縮してもよい。さらに別の一実施形態では、システムは、バイリニア補間を用いて第２の組の画素群の画素値を予測してもよい。さらに別の実施形態では、システムは、バイキュービック補間を用いて第２の組の画素群の画素値を予測してもよい。別の実施形態では、システムは、バイリニア補間を用いて第２の組の画素群の画素値を予測し、絶対モーメントブロックトランケーション符号化（ＡＭＢＴＣ）を用いて、第２の組の画素値群の予測画素値と第２の組の画素値群との残差を圧縮してもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
色差サンプルの場合、前述のプロセスにより、境界をデブロッキング処理することが決定された場合、色差成分のすべてのライン（行もしくは列）は弱いフィルタリング処理によって処理される。ここで、図６のブロックＡとブロックＢとの境界に対するフィルタリング処理によって説明する。図６では、これらのブロックが色差の画素値を含んでいるものとする。処理は、
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
映像をデコードするビデオデコーダであって、
（ａ）上記映像を規定するビットストリームをデコードするエントロピー復号部と、
（ｂ）デコードされた上記ビットストリームを逆量子化及び逆変換する逆量子化逆変換部と、
（ｃ）デコードされた上記ビットストリームに基づいて、イントラ予測および動き補償予測を選択的に実行する予測部と、
（ｄ）上記イントラ予測及び動き補償予測に使用される画像データであって、低解像度データと高解像度データとを含む画像データを含むバッファと、
（ｅ）上記予測部によって生成された予測データ、及び上記逆量子化逆変換部によって逆量子化及び逆変換されたビットストリームに基づいて、再構成画像データを生成する加算器と、
（ｆ）上記再構成画像データに対して、選択的にデブロッキング処理を行うデブロック部と
を備え、
上記エントロピー復号部は、上記ビットストリームから、低解像度モードまたは高解像度モードを示すフラグを受信する
ことを特徴とするビデオデコーダ。
【請求項２】
上記予測部は、上記フラグが上記低解像度モードを示しているときに、低解像度データのみを用いて、低解像度画素位置に処理を施す、請求項１に記載のビデオデコーダ。
【請求項３】
上記予測部は、上記フラグが上記低解像度モードを示しているときに、低解像度データと、当該低解像度データから補間された高解像度データとを用いて、高解像度画素位置に処理を施す、請求項２に記載のビデオデコーダ。
【請求項４】
上記予測部は、上記フラグが上記高解像度モードを示しているときに、高解像度データを用いて、高解像度画素位置に処理を施す、請求項１に記載のビデオデコーダ。
【請求項５】
上記低解像度データは上記高解像度データとは独立であり、
上記フラグが上記低解像度モードを示しているとき、上記低解像度データのみが用いられ、
上記フラグが上記高解像度モードを示しているとき、上記低解像度データと上記高解像度データとが共に用いられる、請求項１に記載のビデオデコーダ。
【請求項６】
上記デブロック部は、上記フラグが上記低解像度モードを示しているとき、低解像度画素位置の再構成画像データのデブロッキング処理のために、上記低解像度画素位置の再構成画像データのみを用いる、請求項１に記載のビデオデコーダ。
【請求項７】
上記デブロック部は、上記フラグが上記低解像度モードを示しているとき、高解像度画素位置の再構成画像データのデブロッキング処理のために、上記高解像度画素位置の補間画像データをも用いる、請求項６に記載のビデオデコーダ。
【請求項８】
上記デブロック部は、上記フラグが上記高解像度モードを示しているとき、高解像度画素位置の再構成画像データのデブロッキング処理のために、上記高解像度画素位置の再構成画像データを用いる、請求項１に記載のビデオデコーダ。
【請求項９】
上記補間された高解像度データは、上記低解像度データから線形予測されたものである、請求項３に記載のビデオデコーダ。
【請求項１０】
上記高解像度画素位置の再構成画像データは、上記低解像度画素位置の再構成画像データから線形予測されたものである、請求項７に記載のビデオデコーダ。
【国際調査報告】
2013531401.tif 000017
2013531401.tif 000018
2013531401.tif 000019
2013531401.tif 000020