(57)【要約】【課題】ビデオ画像のコーディングに際して信号の帯域幅を低減する。【解決手段】予測ビデオコーダーが、先行する画像データブロック（Ａ，Ｂ，Ｃ）に基づいて勾配予測を実行する。新しい画像データブロック（Ｘ）について、予測は、新しいブロックより対角線方向に上にある１つのブロック（Ｂ）からの水平勾配及び垂直勾配を決定する。これらの勾配に基づき、符号器は、新しいブロックに対し水平方向に隣接するブロック又は垂直に隣接するブロック又は垂直方向に隣接するブロックのいずれかの画像処理に基づく画像情報を予測する。【選択図】図２
2014053945.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号を複数の垂直方向及び水平方向に隣接する画像データブロックの形にフォーマットするステップ；
新しい画像データの各ブロックについて、
新しい画像データのブロックに垂直方向に隣接する第１の画像データブロックと第１のブロックに水平方向に隣接する第２の画像データブロックの間の水平勾配を決定するステップ；
新しい画像データのブロックに対して水平方向に隣接する第３の画像データブロックと第２の画像データブロック間の垂直勾配を決定するステップ；
水平及び垂直勾配に基づいて新しい画像データブロックについての画像データを予測するステップ；
予測された画像データ及び新しい画像データから新しい画像データのブロックのための残留画像データを生成するステップ；
を含んで成るビデオ信号の符号化方法。
【請求項２】
予測ステップは更に、
垂直勾配が水平勾配よりも小さい場合、第１のブロックの画像データに基づいて新しい画像データのブロックについての画像データを予測するステップ；及び、
水平勾配が垂直勾配よりも小さい場合、第３のブロックの画像データに基づいて新しい画像データのブロックについての画像データを予測するステップ；
が含まれている請求項１に記載のビデオ信号の符号化方法。
【請求項３】
第１、第２及び第３のブロックの画像データ及び新しい画像データの各々が、離散コサイントランスフォームのＤＣ係数を含んでおり；
水平勾配を決定するステップが、第１及び第２の画像データブロックのＤＣ係数に基づいて水平勾配を決定し；
垂直勾配を決定するステップが、第２及び第３の画像データブロックのＤＣ係数に基づいて垂直勾配を決定する；
請求項１に記載の方法。
【請求項４】
第１、第２及び第３のブロックの画像データ及び新しい画像データが各々さらに離散コサイントランスフォームの複数のＡＣ係数を含んでおり；
予測ステップにはさらに、水平及び垂直勾配に基づいて新しい画像データのブロックのＡＣ係数を予測するステップが含まれ；
生成ステップにはさらに、各々の予測されたＡＣ係数について、新しい画像データのブロックの実際のＡＣ係数及び予測されたＡＣ係数に基づいてＡＣ残留信号を生成するステップが含まれている；
請求項３に記載の方法。
【請求項５】
新しい画像データのブロックのコーディングされた信号を復号する方法において、
新しい画像データのブロックに垂直方向に隣接する第１の画像データブロック、第１のブロックに対し水平方向に隣接する第２の画像データブロック、及び新しい画像データのブロックに水平方向に隣接し垂直方向には第２のブロックに隣接している第３の画像データブロックを識別するステップ；
第１のブロックと第２のブロックの間で水平勾配を決定するステップ；
第３のブロックと第２のブロックの間で垂直勾配を決定するステップ；
水平及び垂直勾配に基づいて新しい画像データのブロックについての画像データを予測するステップ；
コーディングされた信号から残留画像信号を識別するステップ；及び、
予測された画像データと残留画像信号から新しい画像データのブロックについての画像信号を生成するステップ；
を含んで成る方法。
【請求項６】
予測ステップは更に、
垂直勾配が水平勾配よりも小さい場合、第１のブロックの画像データに基づいて新しい画像データのブロックについての画像データを予測するステップ；及び、
水平勾配が垂直勾配よりも小さい場合、第３のブロックの画像データに基づいて新しい画像データのブロックについての画像データを予測するステップ；
が含まれている請求項５に記載のビデオ信号の復号化方法。
【請求項７】
第１、第２及び第３のブロックの各々が、離散コサイントランスフォームのＤＣ係数を含んでおり；
水平勾配を決定するステップが、第１及び第２の画像データブロックのＤＣ係数に基づいて水平勾配を決定し；
垂直勾配を決定するステップが、第２及び第３の画像データブロックのＤＣ係数に基づいて垂直勾配を決定する；
請求項５に記載のビデオ信号の復号化方法。
【請求項８】
入力されたビデオ信号を受理するステップ；
デジタル画像データの垂直方向及び水平方向に隣接するブロックの形にビデオ信号を書式化するステップ；
デジタル画像データを表す係数のブロックへと前記ブロックをトランスフォームするステップ；及び、
新しい係数ブロックについて；
新しいブロックに対し垂直方向に隣接する第１の係数ブロックと第１のブロックに対し水平方向に隣接する第２の係数ブロックの間の水平勾配を決定するステップ；
新しいブロックに対し水平方向に隣接する第３の係数ブロックと第２のブロックの間の垂直勾配を決定するステップ；
水平及び垂直勾配に基づいて新しいブロックについての係数を予測するステップ；
予測された係数と新しい係数から新しい画像データの新しいブロックについての残留係数を生成するステップ；
から成る方法に従って生成されるビットストリーム。
【請求項９】
各々ＤＣ係数を収容する複数の垂直方向に隣接する及び水平方向に隣接する画像データブロックとして表されるビデオ情報を符号化するための符号器において、
新しいブロックに対し垂直方向に隣接する第１のブロック、第１のブロックに対し水平方向に隣接する第２のブロック及び新しいブロックに対し水平方向に隣接する第３のブロックのＤＣ係数から新しい画像データブロックについてのＤＣ係数を予測するＤＣ係数予測器；及び、
新しいブロックのＤＣ係数と新しいブロックについて予測されたＤＣ係数の間の差を表す新しいブロックについてのＤＣ残留信号を生成するための減算器；
を含んで成る符号器。
【請求項１０】
各々ＤＣ残留情報を含む複数の垂直方向に隣接する及び水平方向に隣接する符号化データブロックとして表された、受理した符号化信号からビデオ情報を生成するためのビデオ復号器において、
新しいブロックに対し垂直方向に隣接する第１のブロック、第１のブロックに対し水平方向に隣接する第２のブロック及び新しいブロックに対し水平方向に隣接する第３のブロックのＤＣ係数から新しい画像データのブロックについてのＤＣ係数を予測するためのＤＣ係数予測器；及び、
新しいブロックについての受理したＤＣ残留情報及び予測されたＤＣ係数に基づいてＤＣ係数信号を生成するための加算器；
を含んで成る復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、１９９６年９月２０日付けで提出された米国仮出願第６０／０２６，９３３号及び１９９７年２月１４付けで提出された米国仮出願第６０／０３８，０１９号によって付与された優先権に基づくものである。
【背景技術】
【０００２】
ビデオ画像の通信、記憶及び検索のためのプロトコルとしては様々なものが知られている。プロトコルは、常に信号帯域幅を低減させることを特に重視して開発されている。信号帯域幅を低減させることにより、記憶デバイスはより多くの画像を記憶することができ、通信システムは、一定の与えられた通信速度でより多くの画像を送ることができる。信号帯域幅の減少は、信号を用いるシステム全体の容量を増大させる。
【０００３】
しかしながら、帯域幅の減少には特定の欠点が付随する可能性がある。例えば、或る種の既知のコーディングシステムは損失が大きく、又復号された画像の知覚的品質に影響を及ぼしうる誤差を導く。他のコーディングシステムは、或る種のタイプの画像について大幅な帯域幅減少を達成できるが、他のタイプの画像については全く帯域幅減少を達成できない。従って、コーディング体系の選択については注意深い配慮が求められる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、当該技術分野においては、知覚的に有意な誤差を導くことなく信号帯域幅を低減させる画像コーディング体系に対するニーズが存在する。
【課題を解決するための手段】
【０００５】
新しいブロックに先行する３つの画像データブロックから新しい画像データブロックを予測する予測式コーディング体系によって、先行技術の欠点は、大幅に軽減される。この新しいブロックについて、符号器は、新しいブロックに対し水平方向及び垂直方向に隣接するブロックの画像データを検査する。符号器は、２つの隣接するブロックの各々の画像データを、垂直方向に隣接するブロックに対し水平方向に隣接して位置付けされている（新しいブロックより対角線方向に上）第３のブロックの画像データに対し比較する。これらの比較から、水平及び垂直の勾配が決定される。勾配の値に基づき、符号器は、それに最も類似する水平又は垂直方向に隣接するブロックの画像データとなるべき新しいブロックの画像データを予測する。その後、符号器は、新しいブロックについての画像データの実際値と画像データの予測値の間の残留差を決定し、残余を符号化する。復号器は、水平及び垂直勾配に基づき新しいブロックのための画像データを予測しそれに残余を加算して新しいブロックの実際の画像データを再構築する逆予測を実行する。このプロセスには損失が無い。
【発明の効果】
【０００６】
本発明に従うと、係数データのビデオコーディングは、暗黙的勾配予測によって、及び勾配予測方法により得られた結果を利用する走査技術によって、更に効率よく行うことができる。現時点では、本発明のコーディング体系は、ＭＰＥＧ−４ビデオ検証モデル内に採用されており、ＭＰＥＧ−４ビデオ規格のために考慮されつつある。
【図面の簡単な説明】
【０００７】
【図１】（ａ）は、本発明の実施形態に従った符号器の概略図であり、（ｂ）は、本発明の一実施形態に従った復号器の概略図である。
【図２】本発明によって処理された画像データの一例を示す図である。
【図３】図１の予測ブロックダイヤグラムである。
【図４】図１の復元回路のブロックダイヤグラムである。
【図５】ソフトウエアの中で実現された予測回路の流れ図である。
【図６】ソフトウエアの中で実現された予測回路の第２の実施形態の流れ図である。
【発明を実施するための形態】
【０００８】
図１（ａ）は、本発明の第１の実施形態に従って構築された符号器１００を示す。アナログ画像信号が符号器１００に供給される。画像信号は、当該技術分野において既知の技術を用いてサンプリングされ、アナログ−デジタル（「Ａ／Ｄ」）変換器１１０によりデジタル信号に変換される。Ａ／Ｄ変換器１１０は、画像の複数の画素に対してデジタル画像信号を生成する。代替的には、画像信号は、デジタル画像信号として符号器に供給することもできる。この場合、Ａ／Ｄ変換器１１０は削除される。
【０００９】
デジタル画像信号は、処理回路１２０に入力される。処理回路１２０は、多数の機能を実行することができる。標準的には、処理回路１２０は、画像データをフィルタリングし、画像データを１つの輝度信号成分と２つの色信号成分に分割する。付加的には、処理回路１２０は、画像データをデータブロックの形にまとめる。デジタル入力信号が、走査方向における複数の画素についての情報を表す場合、処理回路１２０のデジタル入力は画素ブロックを表し、例えば、データを画像データの８画素×８画素のアレイの形にブロック化することができる。処理回路１２０は、マクロブロックベースで画像データを出力する。マクロブロックは、標準的に４つの輝度データブロックと２つの色データブロックで構成されている。処理回路１２０は同様に、個々の設計基準に適合するよう、フィルタリングといったような付加的な機能も実行する。
【００１０】
処理回路１２０の出力は、トランスフォーム回路１３０に入力される。トランスフォーム回路１３０は、画素ドメインから係数のドメインへの、離散コサイントランスフォーム（「ＤＣＴ」）コーディング又は副帯域コーディングといったような画像データのトランスフォームを実行する。画素ブロックが、等価のサイズを持つ係数ブロックへとトランスフォームされる。ＤＣＴコーディングにより出力された係数は一般に、単一のＤＣ係数を内含する。残りは、一部が非ゼロであるＡＣ係数である。同様にして、副帯域コーディングによって出力された係数は、様々な周波数での画像の特性を表す：標準的には、副帯域コーディングからの数多くの係数は非常に小さいものである。トランスフォーム回路１３０は、係数ブロックを出力する。
【００１１】
量子化器１４０が、一定の又は可変的スカラー値（Ｑｐ）に従って、トランスフォーム回路１３０により生成された信号を基準化(scale)する。量子化器１４０は、信号を符号化するのに利用可能な量子化レベルの数を低減させることによって、画像信号の帯域幅を減少させる。量子化プロセスは損失が大きい。量子化器１４０に入力された数多くの小さい係数は細分されゼロまでで打ち切られる。基準化された信号は、量子化器１４０から出力される。
【００１２】
予測回路１５０は、各ブロックの基準化されたＤＣ係数を予測するため、勾配予測解析を実行する。予測回路１５０は、基準化されたＡＣ係数を通過させることもできるし、代替的にはブロックのＡＣ係数を予測することもできる。好ましい動作モードでは、予測回路１５０は、ＡＣ係数の予測モード又は通過モードの間での選択を行う。この場合、予測回路１５０は、動作モードを識別するべくＡＣ予測フラグを生成する。予測回路１５０は、ＤＣ残留信号、ＡＣ信号（ＡＣ係数又はＡＣ残余のいずれかを表す）及びＡＣ予測フラグを出力する。
【００１３】
可変長コーダー１６０が予測回路１５０の出力を符号化する。可変長コーダー１６０は、標準的に、基準化された信号に対しランレングス（run length)コーディングを実行するハフマン符号器である。可変長コーダー１６０から出力されたビットストリームは、伝送するか、記憶するか、又は当該技術分野において既知の通りのその他の目的で使用することができる。
【００１４】
符号器１００の中で、予測回路１５０及び量子化器１４０は、互いに独立した機能を実行する。従ってその動作順序は重要でない。図１は、予測回路１５０に対する入力としての量子化器１４０の出力を例示しているが、回路の順序を逆転することも可能である。予測回路１５０の出力は、量子化器１４０に入力できる。
【００１５】
図１（ｂ）において、復号器２００は、上述の符号化動作を元に戻す動作を実行する。可変長復号器２６０が、基準化された信号を回復するための相補的プロセスを用いて、ビットストリームを解析する。符号器１００の可変長コーダー１６０がハフマン符号器を使用していた場合は、ハフマン復号器２６０が用いられる。
【００１６】
復元回路２５０は、予測回路１５０内で実行されるものと同一の勾配解析を実行する。ＤＣ残留信号は識別され、ＤＣ係数を得るべく予測された係数に加算される。任意には、復元回路２５０は、ＡＣ予測フラグを識別することができ、このフラグの状態に基づいてＡＣ情報をＡＣ係数情報又はＡＣ残留情報のいずれかとして解釈する。ＡＣ残留情報が存在する場合、復元回路２５０は、残留信号を対応する予測信号に付加してＡＣ係数を得る。復元回路２５０は係数信号を出力する。
【００１７】
スカラー回路２４０が、量子化回路１４０内の除算のためのベースとして用いられたものと同じスカラーを、回復された信号に乗じる。当然のことながら、ゼロまで分割されたこれらの係数は回復されない。
【００１８】
逆トランスフォーム回路２３０は、符号器１００のトランスフォーム回路１３０によって応用されたトランスフォームの逆を実行する。ＤＣＴトランスフォームが実行された場合、逆ＤＣＴトランスフォームが応用される。副帯域コーディングの場合も同様である。逆トランスフォーム回路２３０は、係数情報を画素ドメインにトランスフォームし戻す。
【００１９】
処理回路２２０は、輝度信号及び色信号を組み合わせ、特定のアプリケーションにおいて望まれるような任意の機能を実行することができる。処理回路２２０は、いつでも表示できる状態にある画素のデジタル信号を出力する。この時点で、信号は、デジタルモニター上に表示するのに適合した状態にある。特定のアプリケーションに適合させることが必要である場合、アナログ表示装置上での表示のためデジタル−アナログ変換器２１０で信号を変換することができる。
【００２０】
図２は、予測回路によって処理されたとおりのデータ構造を例示している。トランスフォーム回路から出力されたデータは、マクロブロックの形に組織された複数のブロックを表す。各々のマクロブロックは、標準的には、マクロブロックの輝度成分を表す４つのブロックとマクロブロックの色成分を表す２つのブロックによって占有されている。
【００２１】
各ブロックは、ブロックがそこから誘導された空間的領域の係数を表す。ＤＣＴトランスフォームが応用された場合、ブロックのＤＣxのＤＣ係数が、左上コーナーのブロックの原点にて提供される。水平方向にはＤＣ係数が占有している横列上に又垂直方向にはＤＣ係数が占有している縦行上に最上位係数が提供されている状態で、ブロック全体を通してＡＣ係数が提供されている。
【００２２】
図３は、予測回路１５０の詳細なブロックダイヤグラムを示す。量子化器１４０は、基準化されたＤＣ及びＡＣ係数を生成する。ＤＣ係数は基準化することができ（ＤＣ＝ＤＣ／Ｑｐ、標準的にはＱｐ＝８）、ＤＣ係数予測器３００に入力される。ＤＣ係数予測器は勾配解析を実行する。
【００２３】
任意のブロックＸについて、ＤＣ係数予測器３００は、図２に示されているブロックＸに対し水平方向に隣接するブロックＡ、ブロックＸに対し垂直方向に隣接するブロックＣ及び、即ちブロックＣに対し水平方向に隣接しブロックＡに対し垂直方向に隣接するブロックであるブロックＢのデータを、メモリ内に維持する。ＤＣ係数予測器は、ブロックＡ（ＤＣA）のＤＣ係数をブロックＢのＤＣ係数（ＤＣB）と比較する。ブロックＡ及びブロックＢのＤＣ係数の間の差は、垂直勾配である。ＤＣ係数予測器３００は同様に、ブロックＢのＤＣ係数（ＤＣB）とブロックＣのＤＣ係数（ＤＣC）を比較する。ブロックＣ及びブロックＢの係数の間の差は水平勾配である。
【００２４】
ブロックＢからの最高の勾配と結び付けられたブロックは、予測のベースとして使用される。垂直勾配が水平勾配よりも大きい場合、ブロックＡがブロックＸと高い相関関係をもつことになると予想され、従って、ＤＣ係数予測器３００は、ブロックＸの予測のためのベースとしてそれがブロックＡを用いる水平予測を利用する。水平勾配が垂直勾配よりも大きい場合、従って、ＤＣ係数予測器３００は、ブロックＸの予測のためのベースとしてそれがブロックＣを用いる垂直予測を利用する。ＤＣ係数予測器３００は、減算器３１０に対し予測のために使用されたブロックのＤＣ係数（ＤＣA又はＤＣC）を出力する。ＤＣ係数予測器３００は、同様に、水平予測又は垂直予測のいずれが実行されるかを示すｈｏｒ／ｖｅｒｔ信号３２０も生成する。
【００２５】
減算器３１０は、ブロックＸについてのＤＣ残留信号を得るためブロックＸのＤＣ係数からＤＣ係数予測器３００によって生成されたＤＣ係数を減算する。ＤＣ残余は、予測回路１５０から可変長コーダー１６０へ出力される。
【００２６】
上述のブロセスは、コーディングすべき画像の内部でのブロックの係数を予測するために利用される。しかしながら、ビデオオブジェクト平面の新しい横列の開始点で係数を予測する場合、予測のための先行ブロックは、通常のプロセスのもとで上にあるラインの最後のブロックである。標準的にはこれらのブロック間にはほとんど相関関係がない。
【００２７】
図２中のブロックＹがビデオオブジェクト平面の開始縁にあると仮定する。走査方向では、いかなるブロックも水平方向にブロックＹと隣接していない。上にある横列内の最終ブロックの画像データは、「水平方向に隣接する」ブロックとして使用されるべく利用可能な状態にあるものの、これは予測のためには用いられない。その代わり、ＤＣ係数予測器３００は、水平方向に隣接するブロック及びその上にあるブロックのためのＤＣ係数値を、人工的に半強度信号にセットする。ＤＣ係数が８ビットのワードによって表される場合、これらのゴーストブロックのＤＣ係数は、１２８にセットされる。このとき、ＤＣ係数予測器３００は、上述のプロセスに従って勾配予測を実行する。
【００２８】
上述の通り、予測回路１５０は、予測無しでＡＣ係数を通過させることができる。しかしながら、好ましい一実施形態においては、予測回路１５０は、ＡＣ係数を予測するために勾配解析を用いる。
【００２９】
予測回路１５０がＡＣ係数を予測した時点で、ＡＣ係数の一部分のみがブロック間の高い相関関係を示し得る。ＤＣＴトランスフォームコーディング及び水平予測の場合においては、予測解析に値するほど十分に高い相関関係を示す可能性の高い唯一のＡＣ係数は、ＤＣ係数と同じ縦行内にあるものである（ブロックＡ内で影のついたもの）。従って、ＤＣ係数と同じ縦行内のブロックＸの各々のＡＣ係数（ＡＣX（０，１）〜ＡＣX（０，ｎ））について、ＡＣ係数予測器３３０は、ブロックＡ（ＡＣA（０，１）〜ＡＣA（０，ｎ））の同じ場所に配置されたＡＣ係数に対応する予測を生成する。予測されたＡＣ係数は、ＡＣ予測残留信号を得るべく、減算器３４０においてブロックＸの実際のＡＣ係数から減算される。
【００３０】
ＤＣＴトランスフォームコーディング及び垂直予測の場合では、予測解析に値するほどの充分高い相関関係を示す確率の高い唯一のＡＣ係数は、ＤＣ係数と同じ横列内にあるものである（ブロックＣ内で影がついたもの）。ＤＣ係数と同じ横列内のブロックＸの各々のＡＣ係数（ＡＣX（１，０）〜ＡＣX（ｎ，０））について、ＡＣ係数予測器３３０は、ブロックＣのＡＣ係数（ＡＣC（１，０）〜ＡＣC（ｎ，０））に対応する予測を生成する。予測されたＡＣ係数は、ＡＣ係数残留信号を得るべく減算器３４０においてブロックＸの実際のＡＣ係数から減算される。ＡＣ係数予測器は、水平予測モードと垂直予測モードの間で、ｈｏｒ／ｖｅｒｔ信号３２０によって切り替えられる。上述のもの以外のＡＣ係数の勾配予測は実行する必要がない。
【００３１】
ブロック間のＡＣ係数の相関関係は、発生する可能性はあるものの、必ず発生するわけではない。従って、ＡＣ係数の予測は常に帯域幅効率化を導くわけではない。従って好ましい実施形態においては、予測回路１５０は、ＡＣ係数予測が実行されるモードとＡＣ係数予測が実行されない第２のモードの間の動作モードの選択を可能にする。後者のケースでは、トランスフォーム回路からのＡＣ係数は、変化無く予測回路の中を通過する。
【００３２】
残余がわかった時点で、ＡＣ予測解析器３５０は、予測無しでマクロブロックのＡＣ係数を伝送することによって消費されるはずの帯域幅と、マクロブロックのＡＣ残余信号を伝送することによって消費されるはずの帯域幅を比較する。予測解析器３５０は、比較的小さい帯域幅を消費する伝送モードを選択する。予測解析器３５０は、その選択を表示するべくＡＣ予測フラグ信号３６０を生成する。
【００３３】
「類似種」ブロックに基づいて予測が実行される。輝度データブロックの予測のためのブロックを識別する場合には、輝度データの隣接ブロックのみが考慮される。予測の目的では、介在する色データブロックは全て無視される。色ブロックの係数を予測する場合には、予測のため、類似種の色信号のみが考慮される。色信号の１つのタイプであるＣrデータのブロックのためのデータを予測するときには、Ｃrデータの隣接ブロックが考慮されるが、介在する輝度ブロック及び第２のタイプの色信号ＣDデータは無視される。同様にして、色信号の第２のタイプであるＣDデータのブロックのためのデータを予測するときには、ＣDデータの隣接ブロックが考慮されるが、介在する輝度ブロック及びＣrデータは無視される。
【００３４】
予測回路１５０は、ＤＣ残留信号、ＡＣ係数又はＡＣ残余のいずれかを表す信号及びＡＣ予測フラグ信号を出力することができる。
【００３５】
図４に示されている復元回路２５０の中で逆予測動作が実行される。全てのブロックＸについて、ＤＣ係数予測器４００は、ブロックＸに先行する隣接ブロックＡのデータ、ブロックＸより上の隣接ブロックＣのデータ及びブロックＸより上のブロックであるブロックＣに先行するブロックＢのデータをメモリ内に保持する。ＤＣ係数予測器４００は、ブロックＡのＤＣ係数をブロックＢのＤＣ係数と比較して、垂直勾配を決定する。更に、ＤＣ係数予測器４００は、ブロックＣのＤＣ係数をブロックＢのＤＣ係数と比較して水平勾配を決定する。水平勾配が垂直勾配よりも大きい場合、ＤＣ係数予測器４００は、予測のためのベースとしてブロックＣのＤＣ係数を生成する。そうでなければ、ＤＣ係数予測器４００はブロックＡのＤＣ係数を生成する。ＤＣ係数予測４００は同様に、水平又は垂直のいずれの予測が使用されているかを識別するｈｏｒ／ｖｅｒｔ信号４２０をも生成する。
【００３６】
復元回路２５０は、入力ビットストリームからのＤＣ残留信号を識別する。加算器４１０は、ＤＣ係数予測器４００によって生成されたＤＣ係数に対してＤＣ残余を加算する。加算器４１０は、ブロックＸのＤＣ係数を出力する。
【００３７】
好ましい実施形態においては、復元回路２５０は、入力ビットストリームからＡＣ予測フラグ３６０を識別する。ＡＣ予測フラグ３６０が、ＡＣ予測が使用されたことを表示した場合、復元回路は、入力ビットストリームからのＡＣ残留信号を識別し、ＡＣ係数予測器４３０を動作させる。ＤＣ係数予測器からのｈｏｒ／ｖｅｒｔ信号４２０が、ブロックＡ又はブロックＣのいずれが予測のベースとして用いられるかを識別する。これに応えて、ＡＣ係数予測器４３０は、予測器１５０のＡＣ係数予測器３３０と同じ要領でブロックＡ又はブロックＣのＡＣ係数に対応する信号を生成する。加算器４４０が、予測されたＡＣ係数を、対応する残余に加算し、復元されたＡＣ係数を出力する。
【００３８】
ＡＣ予測フラグが、ＡＣ予測が使用されなかったことを表示したならば、復元回路２５０は、ビットストリームからのＡＣ係数信号を識別する。ＡＣ係数を復元するのにいかなる算術演算も不要である。
【００３９】
ＤＣ予測の高度化は、好ましい実施形態において、予測ブロックからの知覚的に優位なＡＣ係数の一部分のブロックＸの、ＤＣ係数に対する寄与を誘発することによって達成することができる。例えば、予測ベースとしてブロックＡが使用される場合、ブロックＸの予測されたＤＣ係数は、次のものとしてセットされる：
ＤＣX＝ＤＣA＋（４Ｑp／３）＊（ＡＣ02A−ＡＣ01A／４）
尚、式中Ｑpは量の基準化因子であり、ＡＣ02A及びＡＣ01AはＤＣＴトランスフォームによって生成されるブロックＡのＡＣ係数である。
【００４０】
同様にして、予測のためのベースとしてブロックＣが使用される時、ブロックＸの予測されたＤＣ係数は次のようにセットされ得る：
ＤＣX＝ＤＣC＋（４Ｑp／３）＊（ＡＣ20C−ＡＣ10C／４）
尚、式中Ｑpは量の基準化因子であり、ＡＣ20C及びＡＣ10CはＤＣＴトランスフォームによって生成されるブロックＣのＡＣ係数である。
【００４１】
本書に記述されている予測及び復元プロセスは、予測のためにどのブロックが使用されているかを識別するのにいかなるオーバーヘッド信号も必要とされないことから、「暗黙の(implicit)」方法と呼ばれる。動作中、ブロックＡ、Ｂ及びＣの係数値は、符号器１００と復号器２００の両方で知られている。かくして、復号器２００は、付加的な信号伝送無く符号器の予測動作を復元することができる。予測回路がＡＣ予測のモード間の選択を行わなかった実施形態では、ＡＣ予測及び復元は純粋に暗黙のものである。第２の実施形態においてはＡＣ予測フラグの付加に伴って、予測プロセスはもはや純粋に暗黙のものではなくなる。
【００４２】
予測及び復元回路の符号化／復号化動作は、プログラミングされたマイクロプロセッサ又はデジタル信号プロセッサによってソフトウエア内でも実行され得る。
【００４３】
図５は、ソフトウエアで実行された予測回路の動作を例示している。プロセッサは、ブロックＡのＤＣ係数をブロックＢのＤＣ係数に比較して垂直勾配を決定する（ステップ１０００）。プロセッサは同様に、ブロックＣのＤＣ係数をブロックＢのＤＣ係数に比較して水平勾配を決定する（ステップ１０１０）。
【００４４】
プロセッサは、垂直勾配が水平勾配よりも大きいか否かを決定する（ステップ１０２０）。そうである場合、プロセッサは、ブロックＸのＤＣ残余を、ブロックＸの実際のＤＣ係数からブロックＡのＤＣ係数を引いたものとして定義づける（ステップ１０３０）。そうでなければ、プロセッサは、ブロックＸのＤＣ残余を、ブロックＸの実際のＤＣ係数からブロックＣのＤＣ係数を引いたものとして定義づける（ステップ１０４０）。
【００４５】
プロセッサがＡＣ予測も実行する場合、プロセッサは、図６に示されているように作動する。ステップ１０００〜１０４０が、図５に関して前述したとおりに行われる。垂直勾配が水平勾配よりも大きい場合、ＤＣ係数と同じ縦行の中にあるブロックＡからのＡＣ係数は、ブロックＸの対応するＡＣ係数を予測するためのベースとして用いられる。従って、ブロックＸのこのようなＡＣ係数（ＡＣX（０，１）〜ＡＣX（０，ｎ））の各々について、プロセッサは、ブロックＸ内の実際のＡＣ係数からブロックＡ内の対応するＡＣ係数（ＡＣA（０，１）〜ＡＣX（０，ｎ））を引いたものにセットされたＡＣ残余を計算する（ステップ１０３５）。
【００４６】
ブロックＣが予測のベースとして用いられる場合、ＤＣ係数の同じ横列内のＡＣ係数は、ブロック間の相関関係を示す可能性がある。従って、ブロックＸの横列内の各々のＡＣ係数ＡＣ（ｉ）について、プロセッサは、ブロックＸ内の実際のＡＣ係数からブロックＣ内の対応するＡＣ係数を引いたものにセットされた残余（ｉ）を計算する（ステップ１０４５）。
【００４７】
プロセッサは同様に、ＡＣ係数を予測することによって帯域幅節減が達成されたか否かをも決定する。１つのマクロブロックについて全ての予測がひとたび行われると、プロセッサは、より小さい帯域幅が、符号化された係数又は残余のいずれによって達成されているか否かを決定する（ステップ１０５０）。残余がより小さい帯域幅を有しているならば、プロセッサは残余を出力する（ステップ１０６０）。そうでなければ、プロセッサは、係数を出力する（ステップ１０７０）。
【００４８】
好ましい実施形態においては、勾配予測に対し可変長コーダー１６０の走査方向を拘束することによって、付加的な帯域幅係数が得られる。符号器は、ＶＬＣコーディングされたランレベル事象(run-level events)を生成するため、係数ブロックを走査する。しかしながら、自然の画像では、優勢な好ましい走査方向が往々にして存在する。本発明は、ランレングスコーディングを実行するための３つの走査方向の内の１つを選択するべく、勾配予測解析を用いる。
【００４９】
【表１】
2014053945.tif 000003
【００５０】
【表２】
2014053945.tif 000004
【００５１】
走査方向の内の第１のものは、上の表１に示されている水平交互走査である。水平交互サーチは、好ましい走査方向が水平方向である場合に利用される。走査は、ブロックのＤＣ残余の位置である原点から開始する。原点から、走査は水平方向に３つの位置を横断する（０〜３）。４番目の位置から、走査は、第２横列の第１の位置まで下方に飛び越す。第２横列の第１の位置から、走査は水平方向に３位置を横断する。その後、走査は、ブロックの第１横列まで飛び越して戻り、横列の残りを横断する。第１横列が終結した時点で、走査は、第３横列へと飛び越す。
【００５２】
水平交互走査は、同一の要領で、次の５回のパス（横列３〜８）を横断する。ｉ番目の横列内の第１の位置から、走査は水平走査方向に３つの位置を横断する。次に走査は（ｉ−１）横列まで飛び越し、第５の位置から横列の終わりまで走査する。５番目のパスの終結時点で、走査は、第８横列の第５の位置まで飛び越え、その横列の終わりまで横断する。
【００５３】
走査方向の内の第２のものは、表２に示されている垂直交互走査である。垂直交互サーチは、好ましい走査方向が垂直方向であるとき利用される。垂直交互走査は、水平交互走査に対する相補的プロセスである。
【００５４】
原点から、走査は、垂直方向に３つの位置を横断する（０〜３）。第４の位置から、走査は、第２縦行の第１の位置まで飛び越える。第２縦行の第１の位置から、走査は垂直方向に３つの位置を縦断する。その後、走査はブロックの第１縦行まで飛び越えて戻り、縦行の残りを縦断する。第１縦行の終結時点で、走査は、第３横列まで飛び越す。
【００５５】
垂直交互走査は、同じ要領で次の５回のパス（縦行３〜８）を縦断する。ｉ番目の横列の中の第１の位置から、走査は垂直走査方向に３つの位置を縦断する。走査はその後、（ｉ−１）縦行まで飛び越え、第５の位置から縦行の終わりまで走査する。５番目のパスの終結時点で、走査は８番目の縦行の第５の位置まで飛び越え、縦行の終わりまで横断する。
【００５６】
第３の走査方向は、当該技術分野において周知のものである従来のジグザグ走査である。
【００５７】
可変長コーダー１６０は、実行されたＡＣ予測のタイプに従って、走査タイプを選ぶ。いかなるＡＣ予測も実行されていないことをＡＣ予測フラグ３６０が表示した場合、可変長コーダー１６０は、従来のジグザク走査を実行する。ＡＣ予測が実行されていることをＡＣ予測フラグが表示した場合、可変長コーダー１６０は、従来のジグザグ走査を実行する。ＡＣ予測が実行されていることをＡＣ予測フラグが表示した場合、可変長コーダー１６０はｈｏｒ／ｖｅｒｔ信号３２０を参照して、水平予測又は垂直予測のいずれが用いられているかを見極める。水平予測の場合には、垂直対角線方向の走査が利用される。垂直予測が用いられる場合、可変長コーダー１６０は水平−対角線方向走査を利用する。
【００５８】
走査方向を決定するのに付加的なオーバーヘッドは全く必要でない。可変長復号器２６０は、走査方向を決定する。ＡＣ予測フラグ３６０及びｈｏｒｔ／ｖｅｒｔ信号４２０は、復元回路２５０から出力する。ＡＣ予測が実行されなかったことをＡＣ予測フラグ３６０が表示した場合、可変長復号器２６０は、ジグザクパターンに従って係数をアセンブルする。ＡＣ予測が実行されたことをＡＣ予測フラグが表示した場合、可変長復号器２６０は、勾配予測に基づいて残余をアセンブルする。残余は、水平予測の場合には垂直−対角線走査に従って、又垂直予測の場合には水平−対角線方向走査によってアセンブルされる。もう１つの実施形態では、水平交互及び垂直交互走査は、以下の表３及び４の中にそれぞれ示されているように展開することができる。
【００５９】
【表３】
2014053945.tif 000005
【００６０】
【表４】
2014053945.tif 000006
【００６１】
さらにもう１つの実施形態では、水平交互及び垂直交互走査は、それぞれ以下の表５及び６に示されているように展開することができる。
【００６２】
【表５】
2014053945.tif 000007
【００６３】
【表６】
2014053945.tif 000008
【００６４】
表５の水平交互走査は、ブロックのＤＣ残余の位置（位置０）である原点で始まる。この原点から、走査は、水平方向に３つの位置をステップする（位置０〜３）。走査は、原点の下の第２横列の第１の位置まで飛び越す（位置４）。位置４から、水平交互走査は、水平方向に１段ステップし（位置５）、次に、第３横列の第１の位置（位置６）まで飛び越す。走査は水平方向に１位置ステップし（位置７）、第３の位置で第２横列まで戻り（位置８）、横列を横断して１位置だけステップする（位置９）。
【００６５】
位置９から、水平交互走査は第５の位置で最初の横列まで戻る（位置１０）。走査は、第１横列の終わりまで横断してステップする（位置１１〜１３）。走査は横列の最後で（位置１４）第２横列に戻り、第２横列が完了するまで内部に向かって横列を横断して水平方向に走査する（位置１５〜１７）。位置１７から、水平交互走査は、第４の位置で第３横列に戻り（位置１８）、原点に向かって水平方向に１ステップ走査し（位置１９）、第４横列の最初の位置まで飛び越す（位置２０）。
【００６６】
第４横列の第１の位置から、水平交互走査は水平方向に１位置だけステップし（位置２１）、次に第５横列の第１の位置まで飛び越し（位置２２）、再び水平に１位置だけステップする（位置２３）。走査は、第３の位置で第４横列まで戻り（位置２４）、１ステップを横断して走査し（位置２５）、次に、第５の位置で第３横列まで戻る（位置２６）。走査は、第３横列を横断して水平にステップし、横列を完了する（位置２７〜２９）。
【００６７】
第３横列の終わりから、水平交互走査は、第５の位置で第４横列まで戻る（位置３０）。走査は、第４横列を横切って水平にステップして横列を完了する（位置３１〜３３）。
【００６８】
第４横列の終わりから、水平交互走査は第３の位置で第５横列まで戻る（位置３４）。走査は、水平方向に１位置だけステップし（位置３５）、次に、第６横列の第１の位置まで飛び越す（位置３６）。走査は、１位置を横切ってステップし（位置３７）、次に、第７横列の第１の位置まで飛び越す（位置３８）。水平交互走査は１位置を横断してステップし（位置３９）、次に、第３の位置で第６横列まで戻る（位置４０）。走査は、１位置だけ横切ってステップし（位置４１）、次に第５の位置で第５横列まで戻る（位置４２）。水平交互走査は水平に第５横列を横断してステップしてこの横列を完了する（位置４３〜４５）。
【００６９】
第５横列の終わりから、水平交互走査は第５の位置で第６横列まで戻り（位置４６）、水平方向に横断してステップしてその横列を完了する（位置４７〜４９）。
【００７０】
第６横列の終わりから、水平交互走査は、第７横列の第３の位置まで戻る（位置５０）。走査は水平方向に１位置だけステップし（位置５１）、次に、第８横列の最初の位置まで飛び越す（位置５２）。走査は、水平方向に３位置ステップし（位置５３〜５５）、次に、第５の位置で第７横列まで戻る（位置５６）。水平交互走査は、水平に横断してその横列を完了する（位置５７〜５９）。第７横列の終わりから、走査は、第８横列の第５の位置まで飛び越し（位置６０）、水平方向に横切ってステップしてその横列を完了する（位置６１〜６３）。
【００７１】
表６の垂直交互走査は、ブロックのＤＣ残余の位置である原点で始まる（位置０）。走査は、垂直方向に３つの場所だけステップする（位置０〜３）。走査は、原点から縦断して第２縦行の第１の位置まで飛び越す（位置４）。位置４から、垂直交互走査は、垂直方向に１段ステップし（位置５）、次に第３縦行の第１の位置まで飛び越す（位置６）。走査は、垂直方向に１位置だけステップし（位置７）、次に、第３の位置で第２縦行まで戻り（位置８）、垂直方向に１位置だけステップする（位置９）。
【００７２】
位置９から、垂直交互走査は、第１縦行の第５位置まで戻る（位置１０）。走査は、第１縦行の終わりまでステップする（位置１１〜１３）。走査は、縦行の終わりで第２縦行まで戻り（位置１４）、第２縦行が完了するまで縦行の内部に向かって縦行を通って垂直に走査する（位置１５〜１７）。位置１７から、垂直交互走査は、第３縦行、第４位置まで戻り（位置１８）、縦行の最上部に向かって垂直方向に１段走査し（位置１９）、第４縦行の第１の位置まで飛び越す（位置２０）。
【００７３】
第４縦行の中の第１の位置から、垂直交互走査は垂直方向に１位置だけステップし（位置２１）、次に第５縦行内の最初の位置まで飛び越し（位置２２）、再び垂直方向に１位置ステップする（位置２３）。走査は第３の位置で第４縦行（位置２４）まで戻り、垂直方向に１段ステップし（位置２５）、次に、第５の位置で第３縦行まで戻る（位置２６）。走査は、垂直に第３縦行を通ってステップしてその縦行を完了する（位置２７〜２９）。
【００７４】
第３縦行の終わりから、垂直交互走査は、第５の位置で第４縦行まで戻る（位置３０）。走査は、垂直に第４縦行を通してステップしてその縦行を完了する（位置３１〜３３）。
【００７５】
第４縦行の終わりから、垂直交互走査は、第３の位置で第５縦行まで戻る（位置３４）。走査は垂直方向に１位置だけステップし（位置３５）、次に、第６縦行の最初の位置まで飛び越す（位置３６）。走査は垂直に１位置ステップし（位置３７）、次に、第７縦行の最初の位置まで飛び越す（位置３８）。垂直交互走査は、垂直方向に１位置だけステップし（位置３９）、次に、第３の位置で第６縦行まで戻る（位置４０）。走査は垂直方向に１位置ステップし（位置４１）、次に、第５縦行の第５の位置（位置４２）まで戻り、垂直方向に第５縦行を縦断してステップしてその縦行を完了する（位置４３〜４５）。
【００７６】
第５縦行の終わりから、垂直交互走査は、第６縦行の第５の位置まで戻り（位置４６）、垂直方向に第６縦行を縦断してステップしてその縦行を完了する（位置４７〜４９）。
【００７７】
第６縦行の終わりから、垂直交互走査は、第７縦行の第３の位置まで戻る（位置５０）。走査は垂直方向に１位置だけステップし（位置５１）、次に、第８縦行の第１の位置まで飛び越す（位置５２）。走査は３つの位置を垂直にステップし（位置５３〜５５）、次に、第７縦行の第５の位置まで戻る。走査は、第７縦行を通って垂直にステップして縦行を完了する（位置５７〜５９）。第７縦行の終わりから、垂直交互走査は、第８縦行の第５の位置まで飛び越し（位置６０）、垂直に第８縦行を通ってステップしてその縦行を完了する（位置６１〜６３）。
【符号の説明】
【００７８】
１００  符号器、１１０  アナログ−デジタル変換器、１２０  処理回路、１３０  トランスフォーム回路、１４０  量子化器、１５０  予測回路、１６０  可変長コーダー、２００  復号器、２１０  デジタル−アナログ変換器、２２０  処理回路、２３０  逆トランスフォーム回路、２４０  スカラー回路、２５０  復元回路、３２０  適合型ＤＣ係数予測器、３３０  適合型ＡＣ係数予測器、３５０  ＡＣ予測解析器、４００  ＤＣ係数予測器、４３０  ＡＣ係数予測器。
【図１】
2014053945.tif 000009
【図２】
2014053945.tif 000010
【図３】
2014053945.tif 000011
【図４】
2014053945.tif 000012
【図５】
2014053945.tif 000013
【図６】
2014053945.tif 000014
【手続補正書】
【提出日】平成25年11月29日(2013.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ信号を複数の垂直方向及び水平方向に隣接する画像データブロックの形にフォーマットするステップ；
新しい画像データの各ブロックについて、
新しい画像データのブロックに垂直方向に隣接する第１の画像データブロックと第１のブロックに水平方向に隣接する第２の画像データブロックの間の水平勾配を決定するステップ；
新しい画像データのブロックに対して水平方向に隣接する第３の画像データブロックと第２の画像データブロック間の垂直勾配を決定するステップ；
水平及び垂直勾配に基づいて新しい画像データブロックについての画像データを予測するステップ；
予測された画像データ及び新しい画像データから新しい画像データのブロックのための残留画像データを生成するステップ；
を含んで成るビデオ信号の符号化方法。