(57)【特許請求の範囲】
【請求項１】
ビデオシーケンスの現在の部分を処理するビデオ処理システムにおけるコーディングモードを選択する方法であって、
前記ビデオシーケンスの前記現在の部分と関連するサンプルであって、現在の部分を処理する前に再構成されたサンプルを、現在のフレームおよび参照フレームから識別するステップと、
前記現在の部分を処理するために、フレーム内コーディングモードを用いるか、フレーム間コーディングモードを用いるかを選択するステップとを含み、この選択は、識別された前記再構成されたサンプルの少なくとも一部に関連する比較に基づくことのみを必要とし、処理されているビデオシーケンスの現在の部分には基づかないものであり、前記選択するステップは、
前記現在のフレームから識別された前記再構成されたサンプルに関する強度値から、フレーム内差値を計算するステップと、
前記現在のフレームおよび参照フレームから識別された前記再構成されたサンプルに関する強度値から、フレーム間差値を計算するステップと、
前記フレーム内差値とフレーム間差値とを比較するステップとを含む、ことを特徴とする方法。
【請求項２】
前記再構成されたサンプルは、一つあるいは複数のセットの再構成されたサンプルからなることを特徴とする請求項１の方法。
【請求項３】
前記方法が前記処理システムのビデオエンコーダ内で遂行され、前記処理が前記現在の部分の符号化からなることを特徴とする請求項１の方法。
【請求項４】
前記方法が前記処理システムのビデオデコーダ内で遂行され、前記処理が前記現在の部分の復号からなることを特徴とする請求項１の方法。
【請求項５】
ビデオシーケンスの現在の部分を処理するビデオ処理システムにおけるコーディングモードを選択する方法であって、処理されるべきビデオシーケンスの部分はブロック変換および量子化されたブロックからなり、そして現在のブロックはｄｃ係数を含んでおり、前記方法は、
前記ビデオシーケンスの前記現在の部分と関連するサンプルであって、現在の部分を処理する前に再構成されたサンプルを、現在のフレームおよび参照フレームから識別するステップと、
前記現在の部分を処理するために、フレーム内コーディングモードを用いるか、フレーム間コーディングモードを用いるかを選択するステップとを含み、この選択は、識別された前記再構成されたサンプルの少なくとも一部に関連する比較に基づくことのみを必要とし、処理されているビデオシーケンスの現在の部分には基づかないものであり、前記選択するステップは、
ｄｃ係数に対するフレーム内差値を前記現在のフレームから前に再構成されたブロックに関するｄｃ値から計算するステップと、
ｄｃ係数に対するフレーム間差値を前記現在のフレームおよび参照フレームから前に再構成されたブロックに関するｄｃ値から計算するステップと、
前記フレーム内差値と前記フレーム間差値の比較およびペアの閾値に基づいて前記ｄｃ係数に対するコーディングモードを選択するステップとを含む、ことを特徴とする方法。
【請求項６】
前記現在のブロックはａｃ係数を含み、前記ｄｃ係数に対する選択ステップは、ａｃ係数に対するコーディングモードの選択を行なうために、現在のブロックの先行するａｃ係数に関する予測エラーの規模を現在のブロックの対応する前に再構成されたａｃ係数と比較するステップを含むことを特徴とする請求項５の方法。
【請求項７】
ビデオシーケンスの現在の部分を処理するビデオ処理システムにおけるコーディングモードを選択する装置であって、
（ｉ）前記ビデオシーケンスの前記現在の部分と関連するサンプルであって、現在の部分を処理する前に再構成されたサンプルを、現在のフレームおよび参照フレームから識別し、（ｉｉ）前記現在の部分を処理するために、フレーム内コーディングモードを用いるか、フレーム間コーディングモードを用いるかを選択するよう動作する少なくとも一つの処理デバイスを備え、この選択は、識別された前記再構成されたサンプルの少なくとも一部に関連する比較に基づくことのみを必要とし、処理されているビデオシーケンスの現在の部分には基づかないものであり、前記選択は、
前記現在のフレームから識別された前記再構成されたサンプルに関する強度値から、フレーム内差値を計算し、
前記現在のフレームおよび参照フレームから識別された前記再構成されたサンプルに関する強度値から、フレーム間差値を計算し、そして、
前記フレーム内差値とフレーム間差値を比較することを含む、ことを特徴とする装置。
【発明の詳細な説明】
【０００１】
合衆国政府が本発明におけるペイドアップ（支払済）ライセンスおよび限られた状況下において特許権所有者に対して契約当事者にNIST cooperative agreement no.NANB7H3051（proposal no.97-04-0020）:“Enabling Technology for a Digial Video Optical Tape Recorder of High Definition Motion Imagery"において規定される妥当な条件にて本発明の実施を許可することを要請する権利を有するものである。
【０００２】
【関連する特許】
本発明は、本発明と同時に出願された、“Methods And Apparatus For Motion Estimation Using Causal Templates（因果テンプレートを用いてモーションを推定するための方法および装置）"および“Methods And Apparatus For Contest-based Perceptual Quantization（コンテクストベースの知覚量子化のための方法および装置）"とも関連があるため、これらも参照されたい。
【０００３】
【発明の属する技術分野】
本発明はビデオの圧縮、より具体的には、ビデオ圧縮システムにおいて用いるコンテクストベースにてコーディングモードを選択する方法および装置に関する。
【０００４】
【従来の技術】
ハイブリッドコーディング方式がビデオシーケンスを効率的に表現するために広く用いられている。この方式においては、最初に、テンポラル予測がビデオシーケンス内のテンポラル（時間的）冗長を低減するために遂行され、次に、結果としての予測エラーが符号化される。これらに関しては、例えば、Draft of MPEG-2: Test Model 5,ISO/IEC JTC1/SC29/WG11,Apr.1993; Draft of ITU-T Recommendation H.263,ITU-T SG XV,Dec.1995; A.N.Netravali and B.G.Haskell,Digital Pictures:Representation,Compression,and Standards,2nd Ed.,Plenum Press,1995;およびB.Haskell,A.Puri,and A.N.Netravali,“Ditital Video: An Introduction to MPEG-2",Chapman and Hall,1997を参照されたい。テンポラル予測は、しばしば、ビデオ信号の圧縮に非常に効果的である。ただし、テンポラル予測エラーの符号化は、通常、元の信号の符号化より困難であり、特に、テンポラル予測がうまく機能しないフレームの領域においては問題である。例えば、エンコーダは、実際のモーションが探索レンジの外にある場合は、良好なテンポラル予測ブロックを見つけることができない。従って、多くのビデオコーダは、テンポラル予測にて良好な圧縮が達成できる可能性がある場合は、フレーム間コーディング（inter-frame coding）をそのエリア（ブロックあるいは画素）に適用し、そうでない場合は、フレーム内コーディング（intra-frame coding）を適用するフレーム間／内適応コーディングアプローチ（inter/intra adaptive coding approach）を用いる。こうして、フレーム間コーディングモードと、フレーム内コーディングモードの２つの動作モードが用意され、各ブロック（あるいは画素）を符号化するためにどちらのコーディングモードを用いるか決定する過程はコーディングモード選択過程と呼ばれる。
【０００５】
【発明が解決しようとする課題】
ただし、周知のように、従来のコーディングモード選択アプローチでは、コーディングモード情報を表すオーバヘッドビットを、デコーダに送信することが必要となる。これは、デコーダの所に、コーディングモードの選択のために用いる現在のフレーム内のサンプル、とりわけ、後に詳細に説明するように、現在のブロックあるいは現在のサンプルが存在しないためである。このオーバヘッドの負担は、小さなブロックあるいは画素ベースにてモードの選択が遂行される場合は、非常に大きくなる。従って、コーディングモード情報をデコーダに送信することを要求されないコーディングモード選択方法を提供することは非常に有益なことである。
【０００６】
【課題を解決するための手段】
本発明は、ビデオシーケンスに対するコーディングモードを選択するための方法を提供する。本発明による方法においては、特徴として、ビデオシーケンスの現在の部分に関して、フレーム間コーディングを遂行するか、あるいはフレーム内コーディングを遂行するかの決定は、そのビデオシーケンスと関連する前に再生されたサンプルのみに基づいて行なわれる。長所として、本発明の方法を用いるエンコーダは、コーディングモードオーバヘッド情報を対応するデコーダに送信することを必要とされない。
【０００７】
本発明は、一面においては、ビデオ処理システムにおいて用いるビデオシーケンスの現在の部分を処理するためのコーディングモードを選択するための方法として具現される。この方法は、ビデオシーケンスの現在の部分と関連する前に再生されたサンプルを、それぞれ、ビデオサービスの現在のフレームと参照フレームから識別するステップを含む。次に、現在の部分を処理するために、フレーム間コーディングを用いるか、あるいはフレーム内コーディングを用いるかの選択が、これら前に再生されたサンプルに関する比較に基づいて行なわれる。この比較は、本発明の方法を採用するアプリケーションに依存する。例えば、本発明は、画素ベースの予測コーディングシステム内で用いることも、ブロック変換ベースのコーディングシステム内で用いることもできるが、前者の場合は、現在の部分は画素から成り、比較には、前に再生されたサンプルに関する強度値が用いられ；後者の場合は、現在の部分はブロックから成り、比較には、前に再生されたブロックに関するdcおよびａｃ係数が用いられる。さらに、前に再生されたサンプルは、一つの好ましい実施例においては、テンプレートと呼ばれるセットのサンプルから成る。前に再生されたサンプルのみを持つテンプレートは因果テンプレートと呼ばれる。
【０００８】
本発明によると、エンコーダの所で遂行されるコーディングモードの選択も前に再生されたサンプルのみから成るセットのサンプルあるいはテンプレートに基づいて行なわれる。これらセットのサンプルあるいはテンプレートはデコーダの所でも容易に得ることができ、デコーダはエンコーダの所で用いられたのと同一のセットのサンプルあるいは因果テンプレートを用いて同一の決定過程をエンコーダとは独立に遂行することができ、このため、本発明のエンコーダは、コーディングモードに関する情報を対応するデコーダに送信することは必要とされず、長所として、送信帯域幅および／あるいはメモリ容量を節約できる。
【０００９】
【発明の実施の形態】
本発明との関連で用いられる“ビデオ”あるいは“ビデオシーケンス”なる用語には、例えば、H.261、H.263、Motion-JPEG、MPEG-1およびMPEG-2などの標準に従って符号化するのに適する形式の任意のフレームあるいはフィールドシーケンスが含まれ；“ブロック”なる用語には、上述の圧縮標準において定義されるマクロブロックのみでなく、より一般的に、ビデオフレームあるいはフィールドの画素のグループも含まれることに注意する。これらグループには、セットの画素に限らず、単一の画素も含まれ、後に説明では、本発明が、それぞれ、画素ベースの処理を採用する構成と、ブロックベース（例えば、８×８画素ブロック）の処理を採用する構成の両方に対して説明される。さらに、“サンプル”なる用語は、ここでは、画素あるいは情報のサブセット、例えば、画素と関連する成分を指す。さらに、“コンテクスト”なる用語は、画素あるいは画素の周囲を記述するために用いられる値を指し、これは、本発明によると、前に再生されたサンプルから得られる。注意すべき点として、本発明によるコーディングモード選択技法は、ビデオエンコーダと対応するビデオデコーダの両方において遂行され、このため、コーディングモードの選択に関するデータをエンコーダからデコーダに送信する必要はなくなる。
【００１０】
最初に、図１、２Ａおよび２Ｂを用いて、フレーム間コーディングモードとフレーム内コーディングモードとの間の選択を行なうための従来のアプローチについて説明する。従来のビデオエンコーダ１０は、コーディングモードセレクタ１２を備えるが、これは、現在のフレームの現在のブロック全体を符号化し、デコーダに送信すべきか（フレーム内コーディングを用いるべきか）、あるいは現在のブロックに対して生成されるテンポラル（時間）予測エラーを符号化し、これをデコーダに送信すべきか（フレーム間コーディングを用いるべきか）を制御する。コーディングモードセレクタ１２は、この選択を実現するためにスイッチ１２Ａおよびスイッチ１２Ｂを用いる。
【００１１】
フレーム内コーディングが選択された場合は、コーダ１４は、ビデオ入力から直接に受信される現在のブロックをコーディング技法Ａを用いて符号化する。符号化されたブロックは、次に、デコーダ１６によって、コーディング技法Ａの逆、すなわち、Ａ-1を用いて再生される。周知のように、こうして再生されたブロックは、現フレーム用メモリ１８に格納され、これによって、現在のフレームの再生表現が形成される。加えて、参照フレーム用メモリ２２も設けられるが、これは、現在のフレームの前のフレームの再生表現を格納する。現フレーム用メモリ１８と参照フレーム用メモリ２２との間にはフレーム遅延ブロック２０が挿入されるが、これは、単に、現フレーム用メモリ１８内のブロックと、参照フレーム用メモリ２２内のブロックとの間に１フレーム期間の遅延が存在することを示す。
【００１２】
フレーム間コーディングが選択された場合は、残差コーダ２８が、信号減算器２６から受信されるテンポラル（時間）予測エラー信号を、コーディング技法Ｂを用いて符号化する。信号減算器２６は、このテンポラル予測エラー信号を、周知のやり方で、現在のブロックからテンポラル予測器２４によって生成された予測器信号を減算することで生成する。このテンポラル予測エラー（信号）は、現ブロックと、現ブロックを最も良く予測すると期待される参照フレームからのブロックとの間の差を表す。次に、現在のブロックがデコーダ３０内で再生される。つまり、最初に、デコーダ３０内で、テンポラル予測エラー信号に、コーディング技法Ｂの逆、すなわち、逆コーディング技法Ｂ-1が適用され、次に、この出力とテンポラル予測器信号を加えることで、現在のブロックが再生される。次に、再生されたブロックが現在のフレームの処理の最中に、現フレーム用メモリ１８内に格納される。次に、再生された現在のフレームが次のフレームの処理の直前に、テンポラル予測器によって用いるために、参照フレーム用メモリ２２に格納される。
【００１３】
重大な点として、図１の説明から明らかなように、従来のコーディングモードセレクタ１２は、入力として、ビデオ入力から直接に受信される現在のブロックを含む現在のフレームと、参照フレーム用メモリ２２から参照フレームの両方を受信する。つまり、従来のコーディングモードセレクタは、コーディングモードの選択を行なうために、（現在のフレームの）現在のブロックと、参照フレーム内のブロックの両方を用いる。コーディングモードセレクタは、参照フレーム内の現在のブロックと同一空間位置のブロックを用いることも、あるいは、モーション推定／補償が採用される場合は、モーション補償されたブロックを用いることもできる。図２Ａおよび２Ｂにおいて、Ｘnは、現在のフレームＦc内の現在のブロックを表し、Ｘn-1は、参照フレームＦR内の現在のブロックと空間的に対応するブロックを表す。コーディングモードセレクタは、これら入力から、フレーム間コーディングを遂行すべきか、フレーム内コーディングを遂行すべきかを決定する。例えば、現在のブロックと参照フレーム内の空間的に対応するブロックとを比較することで、現在のブロックを直接に符号化すべきか（フレーム内コーディングを用いるべきか）、現在のブロックに対するテンポラル予測エラーを符号化すべきか（フレーム間コーディングを用いるべきか）を決定する。つまり、従来のコーディングモードセレクタは、モード選択に関する決定を行なうために、参照フレームからの現在のブロックと同一空間位置のブロックを用いるかモーション補償されたブロックを用いるかとは関係なく、現在のブロックも用いることを必要とされる。
【００１４】
容易に理解できるように、現在のブロックを正しく復号するためには、デコーダは、エンコーダにおいてどちらのコーディングモードが採用されたかを知る必要がある。つまり、従来のデコーダは、エンコーダの所でコーディング技法ＡとＢのどちらが採用されたかに関する知識を得た上で、対応する復号技法Ａ-1あるいはＢ-1を用いて現在のブロックを復号する。ところが、従来の技術は、上述のように現在のブロックに対するコーディングモードを決定するために現在のブロックを用いるが、デコーダはまだ現在のブロックを処理してないために、従来の技術によるデコーダは、同一の決定をエンコーダとは独立に行なうことはできない。つまり、短所として、従来のコーディングシステムにおいては、エンコーダは、デコーダに、符号化されたブロックを表す信号と共に、コーディングモードに関する情報を送信することで、デコーダに送信された信号を復号するやり方（モード）を知らせることを要求される。
【００１５】
このような従来の技術によるコーディングシステムからの重要な進歩として、本発明によるエンコーダは、コーディングモードの選択を、再生されたサンプルのみに基づいて遂行する。つまり、フレーム間コーディングモードを用いるか、フレーム内コーディングモードを用いるかの決定を現在のブロックに基づいて行なう代わりに、本発明のビデオエンコーダは、この決定を行なうために、現在のブロックに隣接する前に再生されたサンプルを用いて行う。つまり、本発明によると、後により詳細に説明するように、フレーム間コーディングモードを用いるか、フレーム内コーディングモードを用いるかの決定は、現在のフレームからの前に再生されたサンプルと、参照フレームからの適当な前に再生されたサンプルと比較することで行なわれる。この決定は、既に再生されている値（サンプル）のみに基づいて行なわれるために、エンコーダは、コーディングモードに関するオーバヘッド情報をデコーダに送信することを要求されない。こうして、対応するデコーダは、同一のコーディングモード選択過程を用いて、エンコーダの所で現在のブロックに対して行なわれたのと同一の決定を、エンコーダとは独立に行なうことができ、結果として、伝送帯域幅および／あるいはメモリ容量を節約できる。
【００１６】
次に、図３のブロック図を用いて、本発明の一つの実施例によるコーディングモード選択方法を用いるビデオエンコーダを、コンテクスト（画素）ベースの変換が用いられる背景で説明する。図３から明らかなように、本発明のエンコーダ１００は、図１のエンコーダ１０と類似の機能要素を備える。ただし、本発明のエンコーダのコーディングモードセレクタ１１２は、エンコーダ１０のコーディングモードセレクタ１２とは異なり、エンコーダのビデオ入力に直接に接続されるのではなく、現フレーム用メモリ１１８に接続される。こうして、後に説明するように、コーディングモードセレクタ１１２は、コーディングモードの選択を行なうために、現フレーム用メモリからの前に再生された値（サンプル）と、参照フレーム用メモリからの前に再生された値（サンプル）のみを受信する。
【００１７】
次に、図３に示すように相互接続された本発明によるエンコーダ１００の対応する符号化動作について説明する。エンコーダ１００は、ここでは、ビデオシーケンスをブロックベースにて符号化するために用いられるものと想定されるが、ただし、ここで用いられる“ブロック”なる用語は、より一般的に、フレームの画素、セットの画素、あるいは他の部分も指すことに注意する。図５Ａおよび図５Ｂとの関連では、画素ベースの符号化について説明し、図６Ａおよび図６Ｂとの関連では、ブロック変換ベースの符号化について説明する。
【００１８】
図４Ａおよび図４Ｂは、前に再生されたサンプル（値）のみを用いる概念を概略的に示す。図４Ａおよび４Ｂは、それぞれ、コーディングモードの決定を行なうために用いられるセットの前に再生されたサンプルを示す。これらセットは、テンプレートの形式を持つこともできることに注意する。前に再生されたサンプルのみを含むテンプレートは、ここでは、因果テンプレートと呼ばれる。Ｘn（図４Ｂ）は、符号化されるべき現在のフレームＦC内の現在のブロックを表し、Ｘn-1（図４Ａ）は、参照フレームＦR内の空間的に対応するブロックを表す。Ｘn-1は、代わりに、モーション補償されたブロックとすることもできる。図面に示されるように、因果テンプレートＲnは、現在のフレームＦC内の現在のブロックＸnに隣接するサンプルから形成される。現在のフレームのサンプルは、フレームの左上の角から、フレームの右下の角に向かって処理される、例えば、符号化および再生されるものと想定される。こうして、テンプレートＲnは、既に符号化および再生された現在のフレームからのサンプルのみを含む。同様に、テンプレートＲn-1は、参照フレームＦR内のブロックＸn-1に隣接するサンプルから形成され、これ自身は、前に再生されたサンプルのみを含む。こうして、ブロックＸn内の再生されたサンプルは、次のブロックに対する次の符号化サイクルにおいて用いられる因果テンプレートの部分を形成する。
【００１９】
コーディングモードの決定においては、図５Ａと５Ｂおよび図６Ａと６Ｂに一例として示されるような因果テンプレートＲn内の前に再生されたサンプルと、因果テンプレートＲn-1内の前に再生されたサンプルが比較される。これら前に再生されたサンプルは、対応するデコーダ内にも現在のブロックが復号される時点で存在するために、すなわち、これらは、既に復号を終え、デコーダのメモリ内に格納されているために、符号化されたビット流と共に、コーディングモードに関するオーバヘッド情報を送信および／あるいは格納することは必要とされない。
【００２０】
次に、本発明によるエンコーダ１００のコーディングモード選択動作を、図５Ａと５Ｂを用いて、画素ベースの予測符号化の背景で関説明する。この背景では、処理されるべき現フレームの現在の部分は、単一の画素Ｘnとなることに注意する。従って、参照フレームの対応部分も単一の画素Ｘn-1となる。エンコーダ１００は、入力ビデオ信号を受信するが、エンコーダ１００は、画素Ｘnを（コーダ１１４を介して）コーディング技法Ａを用いて符号化すべきか、あるいは画素Ｘnと関連するテンポラル予測エラーを（エンコーダ１２８を介して）残差コーディング技法Ｂを用いて符号化すべきかを決定することを必要とされる。この決定は、コーディングモードセレクタ１１２によって行なわれる。コーディングモードセレクタ１１２は、それぞれ、現フレーム用メモリ１１８と参照フレーム用メモリ１２２からテンプレートＲnとＲn-1を形成し、これら各テンプレート内の画素と関連する画素強度値を比較する。モードの選択が画素ベースで行なわれる説明の例では、モード選択のために、現在のフレーム内の画素Xnと参照フレーム内の画素Ｘn-1に関する４つの前に再生されたサンプルの値が用いられる。こうして、図５Ａおよび５Ｂに示すような因果テンプレートＲnとＲn-1が形成され、これらを用いるコーディングモードセレクタ１１２の場合、モードの選択は、以下のようにフレーム内差とフレーム間差を比較することで行なわれる：
【数１】
0004077135.tif 000002
【００２１】
上述のコーディングモード選択技法において、｜ｘ｜は、ｘの絶対値を表す。こうして、フレーム内差値（intra_difference）が、上に示すように、現在のフレーム内の前に再生された４つのサンプルから計算され、フレーム間差（intra_difference）は、上に示すように、現在のフレーム内の前に再生された４つのサンプルと参照フレーム内の前に再生された４つのサンプルから形成される。次に、フレーム内差値がフレーム間差値と比較され、フレーム間差値がフレーム内差値より小さな場合は、フレーム間コーディングが画素Ｘnに関して遂行され、小さくない場合は、フレーム内コーディングが遂行される。説明の例では、テンプレートＲnとＲn-1は、前に再生された４つのサンプルから形成されるが、ただし、これらサンプルの数は、これより多くすることもあるいは少なくすることもできる。さらに、これらサンプルは、必ずしも符号化されるべき現在の画素に隣接する必要はない。ただし、現在のブロックに隣接するサンプル（あるいはブロック）の方が、隣接しないサンプルより、現在のサンプルとより高い相関を持つために好ましい。
【００２２】
モードセレクタ１１２は、決定されたモードに基づいて、適当なコーダ（１１４あるいは１２８）およびデコーダ（１１６あるいは１３０）に、それぞれ、それによって受信される入力信号を、符号化および復号するように通知する。フレーム内コーディングが選択された場合は、コーダ１１４は、Ｘnを符号化し、モードセレクタ１１２は、スイッチ１１２Ａは、コーダ１１４の出力が送信あるいは格納されるべきビット流として出力される位置にスイッチする。さらに、デコーダ１１６は、符号化された画素を復号することで、再生されたサンプルを形成する。モードセレクタ１１２は、スイッチ１１２Ｂを、再生された現在のサンプルが現フレーム用メモリ１１８内に格納される位置にスイッチする。この再生された現在のサンプルは、エンコーダによって処理すべき次の画素Ｘn+1に対するモード選択過程においてテンプレートを形成するために用いられる。
【００２３】
フレーム間コーディングが選択された場合は、エンコーダ１２８は、Ｘnに対して生成されたテンポラル予測エラーを符号化し、モードセレクタ１１２は、スイッチ１１２Ａは、コーダ１２８の出力が送信あるいは格納すべきビット流として出力される位置にスイッチする。周知のように、現在の画素に対するテンポラル予測エラーを形成するためには、テンポラル予測器１２４が、参照フレーム用メモリ１２２からテンポラル予測器信号を生成し、このテンポラル予測器信号が減算器１２６内で現在の画素から減算される。結果としての信号は、現在の画素と、現在の画素を最も良く予測すると期待される参照ブロック内の画素との間の差を表すテンポラル予測エラーを表す。テンポラル予測器は、さらに、一連のフレーム間に存在するテンポラル相関をより有効に利用するために、モーションの推定および補償を行なうこともできる。さらに、デコーダ１３０は、符号化されたテンポラル予測エラーを復号し、テンポラル予測器信号を復号されたテンポラル予測エラー信号に加えることで、再生サンプルを形成する。モードセレクタ１１２は、スイッチ１１２Ｂを、再生された現在のサンプルが現フレーム用メモリ１１８内に格納される位置にスイッチする。こうして格納された再生された現在のサンプルは、次のモード選択過程において、エンコーダによって処理されるべき次の画素Ｘn+1に対するテンプレートを形成するために用いられる。本発明は、コーダＡおよびＢを用いることに限定されるものではなく、これらコーダＡおよびＢは符号化アルゴリズムを用いて実現することもできる。例えば、コーダＡは、非常に複雑なフレーム内予測器およびこれに続くエントロピーコーディングシステムから実現し、コーダＢはコンテクストベースのエントロピーコーディングシステムから実現することもできる。
【００２４】
次に、図６Ａ〜６Ｃを用いて、本発明のコーディングモード選択技法を、ブロック変換ベースの符号化の背景で説明する。この実施例の目的に対しては、エンコーダ１００へのビデオ入力は、ブロック変換および量子化されているものと想定される。例えば、本発明のモード選択技法は、各フレーム／フィールドが8×8 Hadamard変換を用いてブロック変換および量子化された後に適用されるが、ただし、他の反転可能なブロック変換を用いることもできる。
【００２５】
図６Ａおよび６Ｂは、モード選択のために用いられる因果テンプレートを示す。ここで、Ｘn(.)、Ｒn(.)およびＲn-1(.)は、ブロック変換の適用とこれに続く量子化の結果として得られるブロックを表す。この実施例においては、因果テンプレートは、こうして得られたブロックの、それぞれ、現在のフレームＦC内の現在のブロックＸn(i,j)と前のフレームＦR内の再生されたブロックＲn-1(i,j)に対するセットの相対位置から成る。本発明のモード選択アルゴリズムは、それぞれ、現在のフレームと前のフレーム内の、再生されたブロックＲnとＲn-1を用いる。より具体的には、本発明のこの技法は、変換符号化される係数の現在のブロックが、フレーム間符号化されるべきか、すなわち、前のフレームＦR内の対応するブロックから予測されるべきか、あるいは、フレーム内符号化されるべきかを決定し、ブロックがフレーム内符号化される場合は、さらに、そのブロックが、現在のフレーム内の因果テンプレートから空間的に予測されるべきか、あるいは、空間予測なしに符号化されるべきか決定する。コーディングモードセレクタ１１２によって遂行される本発明のモード選択過程の第一のフェーズにおいては、テンプレート内のブロックのｄｃ値のみを用いて、現在のｄｃ係数ｘndc(i,j)のコーディングモードが決定される。
つまり、
【数２】
0004077135.tif 000003
が計算され（ここで、ｒndc(.)およびｒn-1dc(.)は、それぞれ、現在のフレームおよび前のフレーム内の再生されたブロックのｄｃ値を表すものと）、以下のような選択が行なわれる：
【数３】
0004077135.tif 000004
ここで、ThreshIntraおよびThreshInterは、適当に選択された閾値を表し、ｐndc(i,j)は、ｘndc(i,j)に対するプリディクタを表す。ｘndc(i,j)が、空間的あるいは時間的に予測されない場合は、ブロックの残りの６３個のａｃ係数ｘnk(i,j),k=1,2,...63も予測されない。他方、ｘndc(i,j)を予測することを選択した場合は、本発明の方法の第二のフェーズが遂行される。つまり、ｘnk(i,j)（k=1,2,...63）のコーディングモードが選択される。ａｃ係数ｘnk(i,j)のコーディングモードは、ブロック内の係数の走査順序および直前の係数の予測エラーｅnk-1(i,j)の規模に依存する。走査順序としては、図６Ｃに示すような標準的なジグザグ走査順序が用いられる。ｘnk(i,j)が現在のブロックの（走査順序において）ｋ番目のａｃ係数であり、ｒnk-1(i,j)およびｅnk-1(i,j)が、それぞれ、前のｋ−１番目の係数の再生エラー値および予測エラー値を表すものとすると、本発明のコーディングモード選択方法は、以下を指定する：
【数４】
0004077135.tif 000005
ここで、k=1,2,...,63であり、各ａｃ係数ｘnk(i,j)（k=1,2,...,63）は、予測される場合は、処理されているブロックのｄｃ係数ｘndc(i,j)と同一のタイプの予測、すなわち、空間あるいは時間予測を用いる。この過程の任意のポイントにおいて、ｘnk(i,j)を前に再生された係数から予測する必要はないことが決定された場合は、ブロック内の残りの係数、ｘnm(i,j)（m=k+1,k+2,...,63）も予測されず、かわりに、ＰＣＭ（パルス符号変調）値として直接に符号化される。
【００２６】
本発明のコーディングモード選択過程の各段階において、デコーダは、常に、エンコーダと同一の情報にアクセスし、両方とも、各変換ブロックに対するコーディングモードの選択に関して同一の決定に至り、こうして、各ブロックにおいて用いられたコーディングモードを示す余分なビットを送信する必要はなくなることに注意されたい。
【００２７】
次に、図７を用いて、本発明によるコーディングモード選択方法２００の概要を流れ図にて示す。ステップ２１０において、処理されるべき現在のフレームの部分を表す入力ビデオ信号が受信される。この入力信号は、ここでは、図６Ａ〜６Ｃとの関連で上で説明した例と同様に、受信される前に、ブロック変換され、量子化されているものと想定される。ただし、処理されるべき現在のフレームの部分は、必ずしも典型的なブロック（例えば、8×8要素のブロック）である必要はなく、図５Ａおよび５Ｂとの関連で説明した例のように一つの画素であっても良い。
【００２８】
次に、ステップ２２０において、それぞれ、現フレーム用メモリと参照フレーム用メモリからの前に再生されたサンプルから因果テンプレートが形成される。次に、ステップ２３０において、これらテンプレートからのサンプルを比較することで、フレーム間コーディングを行なうか、あるいはフレーム内コーディングを行なうか決定される。次に、ステップ２４０において、ステップ２３０の比較の結果に従って、現在のフレームの現在の部分が、フレーム内コーディングモード、あるいはフレーム間コーディングモードを用いて符号化される。次に、現在のフレームの符号化された部分が、対応するデコーダによるその後の復号のために、長所としてコーディングモード選択情報を伴うことなしに、送信および／あるいは格納される。上述のように、モードの選択を行なうために、セットの前に再生されたサンプルのみが用いられるために、デコーダは、エンコーダとは独立に、同一のセットの前に再生されたサンプルを用いて同一の決定過程を遂行し、同一の決定に至ることができる。
【００２９】
次に、図８のブロック図を用いて、本発明のコーディングモード選択方法を用いるデコーダを、コンテクスト（画素）ベースの変換が用いられる背景で説明する。デコーダは、図３のエンコーダ１００において用いられている要素と類似の要素から成る。より具体的には、デコーダ３０４、３０６は、図３のデコーダ１１６、１３０に対応する。さらに、現フレーム用メモリ３０８、フレーム遅延ブロック３１０、参照フレーム用メモリ３１２、テンポラル予測器３１４、および信号加算器３１６も、それぞれ、図３の対応する要素と類似する。重要な点は、コーディングモードセレクタ３０２は、図３のセレクタ１１２と同様に、現フレーム用メモリと参照フレーム用メモリから入力を受信し、受信された現在の信号の復号モードを決定（Ａ-1あるいはＢ-1）するために、現在の信号を符号化するために用いられたのと同一の因果テンプレートを形成することができることである。
【００３０】
デコーダは、エンコーダによって用いられのと同一の前に再生されたサンプルをそのフレームメモリ内に持つために、コーディングモードセレクタ３０２は、エンコーダと同一のコーディングモード選択過程を、エンコーダとは独立に遂行することができる。例えば、コーディングモードセレクタ３０２は、モード選択のために、図５Ａおよび５Ｂのテンプレートを既に説明したのと同一のやり方で用いる。他方、ブロック変換符号化が用いられる場合は、モードセレクタ３０２は、モード選択のために、図６Ａおよび図６Ｂのテンプレートを既に説明したのと同一のやり方で用いる。
【００３１】
いったん用いるべきモードが決定されると、モードセレクタ３０２は、該当するデコーダにその決定を通知し、スイッチ３０２Ａおよび３０２Ｂをその決定が実現される位置、つまり、デコーダ３０４あるいは３０６の入力および出力をどちらかを選択する位置にスイッチする。つまり、フレーム内復号が選択された場合は、デコーダ３０４は、受信されたビット流を直接に復号する。加えて、復号されたブロックは、現フレーム用メモリ３０８内に再生されたブロックとして格納され、次の入力部分を復号するためのテンプレートを形成するために用いられる。フレーム間復号が選択され、受信される信号が予測エラーを表す場合は、デコーダ３０６は予測エラー信号を復号し、この復号された信号に加算器３１６内でテンポラル予測器３１４によって生成された予測器信号を加えることで、再生されたブロックが得られる。こうして、再生されたブロックが、次の入力部分を復号するためのテンプレートを形成するために用いられる。
【００３２】
長所として、上述の例から明らかなように、このデコーダは、本発明によるモード選択過程は、前に再生されたサンプルのみを用いて遂行されるために、エンコーダからコーディングモード選択に関するデータを受信することを必要とされず、従って、エンコーダとデコーダ間の伝送帯域幅および／あるいはメモリ容量が節約される。
【００３３】
エンコーダ１００およびデコーダ３００の要素は、それぞれ、中央処理ユニットを用いて実現することも、マイクロプロセッサを用いて実現することも、アプリケーションスペシフィック集積回路を用いて実現することも、あるいは他のデータ処理デバイスを用いて実現することもでき、加えて、これらは、コンピュータ内に実現することも、ビデオ送信機内に実現することも、ケーブルシステムのヘッドエンド内に実現することも、テレビのセットトップボックス内に実現することも、あるいは他のタイプのビデオ信号プロセッサ内に実現することもできる。中央処理ユニット、マイクロプロセッサ、アプリケーションスペシフィック集積回路、あるいは他のタイプのデータ処理デバイスは、必要であれば、各要素の機能と関連するデータおよび結果を格納するための関連するメモリを設けられる。本発明は、様々なタイプのビデオ処理あるいは伝送システムと共に用いることができる。上では、本発明が一例としてのビデオコーディングシステムとの関連で説明されたが、本発明は、特定のタイプのビデオ信号フォーマット、ビデオ符号化標準あるいはコーディングシステムの構成との使用に限定されるものではなく、本発明は、より一般的に、フレーム内コーディングモードとフレーム間コーディングモードの間の選択が行なわれ、しかも、このようなモードの選択をエンコーダの所でモードの選択に関するオーバヘッド情報を対応するデコーダに送信することを要することなく遂行することが望まれるあらゆるタイプのビデオコーディングシステムに適用できるものである。
【００３４】
上では、本発明の様々な実施例が付録の図面を参照しながら説明されたが、本発明は、これらの具体的な実施例に限定されるものではなく、本発明の範囲あるいは精神から逸脱することなく、他の様々な変更および修正が可能である。
【図面の簡単な説明】
【図１】従来のコーディングモード選択方法を用いるビデオエンコーダのブロック図である。
【図２】Ａは、従来のコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームの部分を示す図である。Ｂは、従来のコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームの部分を示す図である。
【図３】本発明の一つの実施例によるコーディングモード選択方法を遂行するビデオエンコーダのブロック図である。
【図４】Ａは、本発明のコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームに対する一例としての因果テンプレートを示す図である。Ｂは、本発明のコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームに対する一例としての因果テンプレートを示す図である。
【図５】Ａは、画素ベースの予測コーディングの背景で本発明によるコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームに対する一例としての因果テンプレートを示す図である。Ｂは、画素ベースの予測コーディングの背景で本発明によるコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームと現フレームに対する一例としての因果テンプレートを示す図である。
【図６Ａ】ブロック変換ベースのコーディングの背景で本発明によるコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームおよび現フレームに対する一例としての因果テンプレートを示す図である。
【図６Ｂ】ブロック変換ベースのコーディングの背景で本発明によるコーディングモード選択方法を遂行するために用いられる、それぞれ、参照フレームおよび現フレームに対する一例としての因果テンプレートを示す図である。
【図６Ｃ】ブロック変換係数を求めるためのジクザグ走査順序を示す図である。
【図７】本発明の一つの実施例によるコーディングモード選択方法を示す流れ図である。
【図８】本発明の一つの実施例によるコーディングモード選択方法を用いるビデオデコーダのブロック図である。
【符号の説明】
１００  エンコーダ
１１２  コーディングモードセレクタ
１１６  デコーダ
１１４、１２８  コーダ
１１８  現フレーム用メモリ
１２２  参照フレーム用メモリ
１２８  エンコーダ
３０４、３０６  デコーダ
３０８  現フレーム用メモリ
３１０  フレーム遅延ブロック
３１２  参照フレーム用メモリ
３１４  テンポラル予測器
３１６  信号加算器
【図１】
0004077135.tif 000006
【図２】
0004077135.tif 000007
【図３】
0004077135.tif 000008
【図４】
0004077135.tif 000009
【図５】
0004077135.tif 000010
【図６Ａ】
0004077135.tif 000011
【図６Ｂ】
0004077135.tif 000012
【図６Ｃ】
0004077135.tif 000013
【図７】
0004077135.tif 000014
【図８】
0004077135.tif 000015