【実施例】
【0019】
図1に表すように、標準ビデオ復号器は一般的に、参照番号100によって示す。ビデオ復号器100は、逆量子化器120と通信によって接続された可変長復号器(「VLD」)110を含む。逆量子化器120は逆変換器130と通信によって接続される。逆変換器130は加算器すなわち加算ジャンクション140の第1入力端子と通信によって接続され、加算ジャンクション140の出力はビデオ復号器100の出力を備える。加算ジャンクション140の出力は参照ピクチャ記憶機構150と通信によって接続される。参照ピクチャ記憶機構150は動き補償器160と通信によって接続され、この動き補償器は加算ジャンクション140の第2入力端子に通信によって接続される。
【0020】
図2に移れば、適応双方向予測を伴うビデオ復号器を、概括的に参照番号200によって示す。ビデオ復号器200は逆量子化器220と通信によって接続されるVLD210を含む。逆量子化器220は逆変換器230と通信によって接続される。逆変換器230は加算ジャンクション240の第1入力端子と通信によって接続され、加算ジャンクション240の出力はビデオ復号器200の出力を備える。加算ジャンクション240の出力は参照ピクチャ記憶機構250と通信によって接続される。参照ピクチャ記憶機構250は動き補償器260と通信によって接続され、この動き補償器は乗算器270の第1入力と通信によって接続される。
【0021】
VLD210は更に、参照ピクチャ重み付け係数ルックアップ280と通信によって接続されて適応双方向予測(「ABP」)係数インデックスをルックアップ280に備える。ルックアップ280の第1出力は重み付け係数を備えるものであり、乗算器270の第2入力と通信によって接続される。乗算器270の出力は加算ジャンクション290の第1入力と通信によって接続される。ルックアップ280の第2出力はオフセットを備えるものであり、加算ジャンクション290の第2入力と通信によって接続される。加算ジャンクション290の出力は加算ジャンクション240の第2入力端子と通信によって接続される。
【0022】
次に
図3に移れば、参照ピクチャ重み付けを伴うビデオ復号器を参照番号300によって概括的に示す。ビデオ復号器300は逆量子化器320と通信によって接続されたVLD310を含む。逆量子化器320は逆変換器330と通信によって接続される。逆変換器330は加算ジャンクション340の第1入力端子と通信によって接続され、加算ジャンクション340の出力はビデオ復号器300の出力を備える。加算ジャンクション340の出力は参照ピクチャ記憶機構350と通信によって接続される。参照ピクチャ記憶機構350は動き補償器360と通信によって接続され、乗算器370の第1入力と通信によって接続される。
【0023】
VLD310は更に、参照ピクチャ重み付け係数ルックアップ380と通信によって接続されて、参照ピクチャ・インデックスをルックアップ380に備える。ルックアップ380の第1出力は重み付け係数を備えるものであり、乗算器370の第2入力と通信によって接続される。乗算器370の出力は加算ジャンクション390の第1入力に接続される。ルックアップ380の第2出力はオフセットを備えるものであり、加算ジャンクション390の第2入力と通信によって接続される。加算ジャンクション390の出力は、加算ジャンクション340の第2入力端子と通信によって接続される。
【0024】
図4に表すように、標準ビデオ符号器を概括的に参照番号400によって示す。符号器400への入力は加算ジャンクション410の非反転入力と通信によって接続される。加算ジャンクション410の出力はブロック変換器420と通信によって接続される。変換器420は量子化器430と通信によって接続される。量子化器430の出力は可変長符号器(「VLC」)440と通信によって接続され、VLC440の出力は符号器400の外部利用可能出力である。
【0025】
量子化器430の出力は更に、逆量子化器450と通信によって接続される。逆量子化器450は逆ブロック変換器460と通信によって接続され、この逆ブロック変換器460は同様に、参照ピクチャ記憶機構470と通信によって接続される。参照ピクチャ記憶機構470の第1出力は動き補償器480の第1入力と通信によって接続される。符号器400への入力は更に、動き予測器480の第2入力と通信によって接続される。動き予測器480の出力は動き補償器490の第1入力と通信によって接続される。参照ピクチャ記憶機構470の第2出力は動き補償器490の第2入力と通信によって接続される。動き補償器490の出力は加算ジャンクション410の反転入力と通信によって接続される。
【0026】
図5に移れば、参照ピクチャ重み付けを伴うビデオ符号器は概括的に参照番号500によって示す。符号器500への入力は加算ジャンクション510の非反転入力と通信によって接続される。加算ジャンクション510の出力はブロック変換器520と通信によって接続される。変換器520は量子化器530と通信によって接続される。量子化器530の出力はVLC540と通信によって接続され、VLC440の出力は符号器500の外部利用可能出力である。
【0027】
量子化器530の出力は更に、逆量子化器550と通信によって接続される。逆量子化器550は逆ブロック変換器560と通信によって接続され、この逆ブロック変換器560は同様に、参照ピクチャ記憶機構570と通信によって接続される。参照ピクチャ記憶機構570の第1出力は参照ピクチャ重み付け係数割り当て器572の第1入力と通信によって接続される。符号器500への入力は更に、参照ピクチャ重み付け係数割り当て器572の第2入力に通信によって接続される。参照ピクチャ重み付け係数割り当て器572の出力で、重み付け係数を示すもの、は動き予測器580の第1入力と通信によって接続される。参照ピクチャ記憶機構570の第2出力は動き予測器580の第2入力と通信によって接続される。
【0028】
符号器500への入力は更に、動き予測器580の第3入力に通信によって接続される。動き予測器580の出力で、動きベクトルを示すもの、は動き補償器590の第1入力と通信によって接続される。参照ピクチャ記憶機構570の第3出力は動き補償器590の第2入力に通信によって接続される。動き補償器590の出力で、動き補償参照ピクチャを示すもの、は乗算器592の第1入力と通信によって接続される。参照ピクチャ重み付け係数割り当て器572の出力で、重み付け係数を示すもの、は乗算器592の第2入力と通信によって接続される。乗算器592の出力は加算ジャンクション510の反転入力と通信によって接続される。
【0029】
次に
図6に移れば、画像ブロックのビデオ信号データを復号化する例示的処理を概括的に参照番号600によって示す。当該処理は、開始ブロック610を含み、入力ブロック612に制御を渡す。入力ブロック612は画像ブロック圧縮データを受信し、制御を入力ブロック614に渡す。入力ブロック614は少なくとも1つの参照ピクチャ・インデックスを画像ブロックのデータとともに受信し、各参照ピクチャ・インデックスは特定の参照ピクチャに相当する。入力ブロック614は制御を機能ブロック616に渡し、この機能ブロック616は受信参照ピクチャ・インデックス各々に相当する重み付け係数を判定し、制御を任意的な機能ブロック617に渡す。この任意的な機能ブロック617は、受信参照ピクチャ・インデックスの各々に相当するオフセットを判定し、制御を機能ブロック618に渡す。機能ブロック618は受信参照ピクチャ・インデックス各々に相当する参照ピクチャを取り出し、制御を機能ブロック620に渡す。機能ブロック620は同様に、取り出された参照ピクチャの動き補償を行い、制御を機能ブロック622に渡す。機能ブロック622は動き補償参照ピクチャを、相当する重み付け係数によって乗算し、制御を任意的な機能ブロック623に渡す。任意的な機能ブロック623は動き補償参照ピクチャを相当するオフセットに加算して、制御を機能ブロック624に渡す。機能ブロック624は、同様に、重み付け動き補償参照ピクチャを形成し、制御を終了ブロック626に渡す。
【0030】
次に
図7に移れば、画像ブロックのビデオ信号データを符号化する例示的処理を参照番号700によって概括的に示す。当該処理は開始ブロック710を含み、制御を入力ブロック712に渡す。入力ブロック712は実質的に非圧縮の画像ブロック・データを受信し、制御を機能ブロック714に渡す。機能ブロック714は相当するインデックスを有する特定の参照ピクチャに相当する画像ブロックに対して重み付け係数を割り当てる。機能ブロック714は制御を任意的な機能ブロック715に渡す。任意的な機能ブロック715は相当するインデックスを有する特定の参照ピクチャに相当する画像ブロックに対してオフセットを割り当てる。任意的な機能ブロック715は機能ブロック716に制御を渡し、該機能ブロック716は、画像ブロックと特定参照ピクチャとの間の差異に相当する動きベクトルを算定し、制御を機能ブロック718に渡す。機能ブロック718は動きベクトルに相当する特定の参照ピクチャの動き補償を行い、制御を機能ブロック720に渡す。機能ブロック720は同様に、動き補償参照ピクチャを割り当て重み付け係数によって乗算して重み付け動き補償参照ピクチャを形成し、制御を任意的な機能ブロック721に渡す。任意的な機能ブロック721は、同様に、動き補償参照ピクチャを割り当てオフセットに加算して重み付け動き補償参照ピクチャを形成し、制御を機能ブロック722に渡す。機能ブロック722は重み付け動き補償参照ピクチャを実質的に非圧縮の画像ブロックから減算し、制御を機能ブロック724に渡す。機能ブロック724は同様に、信号を、実質的に非圧縮の画像ブロックと重み付け動き補償参照ピクチャとの間の差異、更には、特定の参照ピクチャの相当するインデックス、によって符号化し、制御を終了ブロック726に渡す。
【0031】
本例示的実施例では、符号化ピクチャすなわちスライス毎に、重み付け係数が、それに関して現行ピクチャのブロックを符号化し得るその許容できる参照ピクチャ各々に関連付けられる。現行ピクチャにおける個々のブロック各々の符号化又は復号化が行われる場合、その参照ピクチャに相当する、重み付け係数とオフセットとが、参照予測に適用されて重み付け予測を形成する。同じ参照ピクチャに対して符号化される、スライスにおけるブロック全ては、同じ重み付け係数を参照ピクチャ予測に適用する。
【0032】
ピクチャを符号化する場合に適応重み付けを用いるか否かは、ピクチャ・パラメータ群若しくはシーケンス・パラメータ群、又はスライス若しくはピクチャのヘッダに、示し得る。適応重み付けを用いるスライス又はピクチャ毎に、重み付け係数を、このスライス又はピクチャを符号化するのに用い得る、許容できる参照ピクチャ各々、について送信し得る。許容できる参照ピクチャ数はスライス・ヘッダにおいて送信し得る。例えば、3つの参照ピクチャを、現行スライスを符号化するのに、用い得る場合、3つまでの重み付け係数が送信され、それらは同じインデックスを有する参照ピクチャと関連付けられる。
【0033】
重み付け係数が何ら送信されない場合、デフォルト重み付けを用いる。本発明の一実施例では、(1/2,1/2)のデフォルト重み付けが、重み付け係数が何ら送信されない場合に、用いられる。重み付け係数は固定長符号と可変長符号との何れかを用いて送信し得る。
【0034】
通常のシステムと異なり、各スライス、ブロック又はピクチャとともに送信される重み付け係数各々は特定の参照ピクチャ・インデックスに相当する。以前は、各スライス又はピクチャとともに送信されるいずれかの重み付け係数群は何れの特定の参照ピクチャとも関連付けられていない。その代わりに、適応双方向予測重み付けインデックスが、動きブロックすなわち8x8領域毎に送信されて、この特定の動きブロックすなわち8x8の領域に適用される、送信群からの重み付け係数を選定した。
【0035】
本実施例では、動きブロック又は8X8の領域毎の重み付け係数インデックスは明示的には送信されていない。その代わりに、送信された参照ピクチャ・インデックスと関連した重み付け係数が用いられる。これによって送信ビットストリームにおけるオーバヘッド量を劇的に削減して参照ピクチャの適応重み付けを可能にする。
【0036】
このシステムと手法とは、単一の予測子によって符号化される予測「P」ピクチャと、2つの予測子によって符号化される双方向予測「B」ピクチャ、との何れかに適用し得る。復号化処理は、符号器と復号器との両方に存在するものであり、以下にPピクチャの場合とBピクチャの場合とについて説明する。代替的には、この手法は更に、I、B、及びPの、ピクチャに同様な概念を用いた符号化システムに適用し得る。
【0037】
同じ重み付け係数を、Bピクチャにおける一方向予測と、Bピクチャにおける双方向予測とに用い得る。単一予測子をマクロブロックに、Pピクチャにおいて、又は、Bピクチャにおける一方向予測について、用いる場合、単一の参照ピクチャ・インデックスがブロックについて送信される。動き補償の復号化処理工程が予測子を生成した後、重み付け係数が予測子に適用される。重み付け予測子は更に、符号化残差に加算され、クリッピングがこの和に対して行われて、復号化ピクチャを形成する。Pピクチャにおけるブロックについて用いる場合又はBピクチャにおけるブロックについて用いる場合で、リスト0予測のみを用いるもの、については、重み付け予測子は:
Pred= W0 * Pred0 + D0 (1);
として形成され、W0はリスト0参照ピクチャに関連した重み付け係数であり、D0はリスト0参照ピクチャに関連したオフセットであり、Pred0はリスト0参照ピクチャからの動き補償予測ブロックである。
【0038】
リスト0予測のみを用いるBピクチャにおけるブロックについて用いる場合には、重み付け予測子は:
Pred = W1 * Pred1 + D1 (2);
として形成され、W1はリスト1参照ピクチャと関連した重み付け係数であり、D0はリスト1参照ピクチャと関連したオフセットであり、Pred1はリスト1参照ピクチャからの動き補償予測ブロックである。
【0039】
重み予測子をクリッピングして、結果として生じる値が許容できる画素値範囲内、通常、0から255まで、に収まることを保証し得る。当該重み付け式における当該乗算の精度はいずれかの所定の分解能ビット数に限定し得る。
【0040】
双方向予測の場合、参照ピクチャ・インデックスは2つの予測子毎に送信される。動き補償は、2つの予測子を形成するよう実行される。各予測子はその参照ピクチャ・インデックスと関連した重み付け係数を用いて2つの重み付け予測子を形成する。2つの重み付け予測子は更に、一緒に平均化されて平均化予測子を形成し、その平均化予測子は更に、符号化残差に加算される。
【0041】
リスト0とリスト1との予測を用いる、Bピクチャにおけるブロックに用いるよう、重み付け予測子を:
Pred=(P0*Pred0+D0+P1*Pred1+D1)/2 (3);
として形成する。
【0042】
クリッピングは、重み付け予測子又は重み付け予測子の算定におけるいずれかの中間値に適用して、結果として生じる値が画素値の許容できる範囲内、通常0から255までの間、に収まることを保証し得る。
【0043】
したがって、重み付け係数が、複数の参照ピクチャを用いる、ビデオ圧縮符号器と復号器との参照ピクチャ予測に適用される。重み付け係数は、ピクチャ内の個々の動きブロックに、その動きブロックに用いる参照ピクチャ・インデックスに基づいて、適応される。参照ピクチャ・インデックスは既に、圧縮ビデオ・ストリームにおいて送信されているので、重み付け係数を動きブロックに基づいて適応させるうえでの追加オーバヘッドが劇的に削減される。同じ参照ピクチャに対して符号化される動きブロックは全て、同じ重み付け係数を参照ピクチャ予測に適用する。
【0044】
本発明のこれら並びに他の特徴及び効果は、当該技術分野における当業者によって、本明細書及び特許請求の範囲の開示内容に基づいて容易に確認し得る。本発明の開示内容は、ハードウェア、ソフトウェア、ファームウェア、特殊用途向けプロセッサ、又はそれらの組み合わせの種々の形態において実現し得る。
【0045】
最も好ましくは、本発明の開示内容はハードウェアとソフトウェアとの組み合わせとして実現される。更に、ソフトウェアは、好ましくは、プログラム記憶装置上に目に見える形で実施されたアプリケーション・プログラムとして実現される。アプリケーション・プログラムは、いずれかの適切なアーキテクチャを有するマシンにアップロードし得るものであり、このマシンによって実行し得る。好ましくは、マシンは、1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)、及び入出力(「I/O」)インタフェースのようなハードウェアを有するコンピュータ・プラットフォーム上で実現される。コンピュータ・プラットフォームは更に、オペレーティング・システムとマイクロ命令コードとを含み得る。本明細書並びに特許請求の範囲記載の種々の処理及び機能は、CPUによって実行し得る、マイクロ命令コードの一部とアプリケーション・プログラムの一部とのいずれか、又はそれらのいずれかの組み合わせ、であり得る。更に、種々の別の周辺装置は別のデータ記憶装置と印刷装置のようなコンピュータ・プラットフォームに接続し得る。
【0046】
更に、添付図面において表す、構成するシステム構成部分と工程とのいくつかが好ましくはソフトウェアにおいて実現され、システム構成部分間又は処理機能ブロック間の実際の接続は本発明がプログラムされる方法によってかわってくるものである。本明細書及び特許請求の範囲を考慮に入れると、当該技術分野における当業者は本発明のこれら及び同様な実現方法又は構成を企図することができるものである。
【0047】
上記説明用実施例は添付図面を参照しながら本明細書及び特許請求の範囲に記載したが、本発明はまさにそれらの実施例に限定するものでなく、種々の変更及び修正をそれらの実施例において、当該技術分野における当業者によって本発明の範囲又は趣旨から逸脱することなく、行い得るものとする。そのような変更及び修正は全て、本特許請求の範囲に示す本発明の範囲内に含まれることが意図されている。