(58)【調査した分野】(Int.Cl.,DB名)
ピクチャ中の画像ブロックの測定値ベクトルを生成し、前記測定値ベクトルを符号化し、前記符号化された測定値ベクトルに応じた前記画像ブロックの信号希薄性を最小化して前記画像ブロックを再構成することにより、前記画像ブロックを符号化するビデオエンコーダを有し、前記測定値ベクトルは前記画像ブロックに関する変換係数を含み、
前記画像ブロックの信号希薄性は、量子化パラメータに適応した重み付けファクタによる前記信号希薄性と測定誤差との重み付け和として定式化された最小化関数を用いて最小化され、前記測定誤差は再構成された画像ブロックの測定値と画像ブロックの推定された測定値との間の差を表し、前記信号希薄性は画像ドメインにおいて決定され、
前記測定値ベクトルは、画像ブロックに対して決定された、元の画像ブロックと画像ブロックの予測との間の差を表す残差に応じて決定され、
信号希薄性は、画像ブロック中の連続する画素間の差の関数である全変動により測定される、
装置。
前記測定値ベクトルは前記画像ブロック対して決まる残差に応じて決まり、前記残差は前記画像ブロックの元のものと前記画像ブロックの予測との間の差を表す、請求項2に記載の方法。
ピクチャの画像ブロックの測定値ベクトルを受け取り、前記測定値ベクトルを復号し、前記復号された測定値ベクトルに応じた前記画像ブロックの信号希薄性を最小化して前記画像ブロックを再構成することにより、前記画像ブロックを復号するビデオデコーダを有し、前記測定値ベクトルは前記画像ブロックに関する変換係数を含み、
前記画像ブロックの信号希薄性は、量子化パラメータに適応した重み付けファクタによる前記信号希薄性と測定誤差との重み付け和として定式化された最小化関数を用いて最小化され、前記測定誤差は再構成された画像ブロックの測定値と画像ブロックの推定された測定値との間の差を表し、前記信号希薄性は画像ドメインにおいて決定され、
前記測定値ベクトルは、画像ブロックに対して決定された、元の画像ブロックと画像ブロックの予測との間の差を表す残差に応じて決定され、
信号希薄性は、画像ブロック中の連続する画素間の差の関数である全変動により測定される、
装置。
【背景技術】
【0002】
[関連出願との相互参照]
この出願は、2010年1月15日に出願した米国仮出願第61/295,258号の利益を主張するものである。この文献はその全体をここに参照援用する。
[背景技術]
圧縮センシング(compressive sensing、compressive sampling、compressed sensingとも呼ぶ)は、信号が希薄な又は圧縮可能なことが事前に分かっている場合に信号を取得及び再構成する手法である。圧縮センシングの理論を用いると、ナイキストのサンプリングレートより非常に低いレートで信号をサンプリングできる。圧縮センシングは、データ圧縮、磁気共鳴映像法(MRI)などのいろいろなアプリケーションに利用できる。文献では、圧縮センシングは、残差コーディングを改善するビデオ圧縮のフレームワークに組み込まれている。残差はあまり希薄でないことが多いので、改善には限界がある。
【0003】
圧縮センシング(CS)フレームワークの概要
xを長さNの信号であるとする。ある線形変換Ψ(例えば、離散余弦変換(DCT)や離散ウェーブレット変換(DWT)):
【数1】
で、K<<N個の計数を用いてxをよく近似できるとき、xはKスパース(K-sparse又は圧縮可能)であると言う。ここで、Ψは希薄化変換(sparsifying
transform)であり、αは変換係数ベクトルであり、αのうちK個の計数のみが非ゼロである。
図1を参照して、参照数字100で希薄信号の表示を示した。表示100は、長さNの信号xと、希薄化変換Ψと、変換係数ベクトルαとを含む。
【0004】
圧縮センシング理論によると、かかる信号は次の非コヒーレント線形予測
【数2】
により取得できる。ここで、yはM個のエントリーを有する測定ベクトルであり、ΦはM×N非コヒーレントセンシング行列であり、M<<Nである。
図2を参照して、参照数字200で、圧縮センシングにおける測定取得方法を示した。方法200は、長さNの信号xと、M個のエントリーを有する測定ベクトルyと、M×N非コヒーレントセンシング行列Φとを含む。
【0005】
圧縮センシングフレームワークは、次の最適化問題
【数3】
を解くことにより、xをM≧cKlogN(cは小さい定数)個の測定値のみから正確に回復できるということを主張するものである。ここで、入力信号はx
*=Ψα
*により近似できる。式(3)において、測定ベクトルyとセンシング行列Φと希薄化行列Ψは既知である。しかし、信号xとその変換係数ベクトルαは未知である(求めねばならない)。この場合、αは最適化変数である。
【0006】
<外1>
文献中最も使われている非コヒーレントセンシング行列Φは、ランダム予測又はランダム行列である。これは各エントリーが、独立かつ同じ分布をしたランダム変数を含む(例えば、各エントリーはガウス分布又はベルヌーイ分布を有する)。かかるランダム行列は、希薄化Ψと最適に非コヒーレントであり、そのため最適な性能を与えることが示せる。
【0007】
式(3)の目的関数は他の希薄度(sparsity measures)で置き換えることもできる。例えば、画像(又は画像ブロック)などの2次元信号では、希薄度として全変動(TV)を用いることが一般的である。全変動は連続した画素間の差の関数である。全変動の一例は
【数4】
である。これは、各画素における水平離散グラジエントDhと垂直離散グラジエントDvの大きさの和である。テクスチャがほとんど無い小さな画像ブロックの全変動は小さいことが多い。言い換えると、かかる画像ブロックはグラジエントドメインでは希薄であることが多い。
【0008】
関連研究
第1の先行技術アプローチでは、ブロック残差のDCT変換係数のサブセットを符号化し、希薄信号回復アルゴリズムを用いて符号化された係数からブロック残差を回復するビデオコーデックが提案されている。希薄信号回復はTV最小化により得られる。式(3)の最適化問題は
【数5】
となる。ここで、xは残差データであり、すなわち元のデータから予測データを引いた結果である。基本的に、このアプローチは、観測データyの制約の下に、再構成される残差のグラジエントを最小化しようとするものである。量子化プロセスが含まれるので、完全な再構成は原理的に不可能である(すなわち、y=Φxの等号は制約のし過ぎである)。そのため、このアルゴリズムでは、次の問題
【数6】
を解くことにより、ある誤差の範囲(式(6)のεで示す)を許容する。
【0009】
このアプローチには以下に説明するように少数だが重大な欠点がある。上記の第1の先行技術アプローチのデコーダは、TV最小化ベースのアルゴリズムを用いてブロック残差を再構成する。このアプローチは、ブロック残差がグラジエントドメインで希薄であるとの前提でうまく機能する。しかし、ブロック残差は、ブロック予測後のグラジエントドメインでは希薄でないことが多く、この前提は空間的冗長性を利用した有向イントラ予測とは互換性が無い。
【0010】
第1の先行技術アプローチでは、係数をトランケート(truncate)する前に、ブロック残差に対して1次元DCT係数が計算される。このトランケーションすなわちサンプリングパターンは、ブロック残差のエネルギーを最適に捕捉せず、そのためエンコーダの符号化効率を低下させる。さらに、第1の先行技術アプローチで用いられる希薄回復アルゴリズムでは、符号化計数の量子化効果を完全には考慮していないため、再構成されるブロックの画質低下につながる。さらに、第1の先行技術アプローチの実装(implementation)では、準最適なl1最小化アルゴリズム(l1-minimization algorithm)を用いる。そのため、得られるエンコーダは実際のアプリケーションに用いるには遅すぎる。
【0011】
図3を参照するに、参照数字300で、ピクチャの画像データの符号化方法を示した。方法300は、ループリミットブロック320に制御を渡す開始ブロック310を含む。ループリミットブロック320は、1からピクチャ中のブロックの数(#)までの範囲を有する変数iを用いるループを開始し、機能ブロック330に制御を渡す。機能ブロック330は、イントラ予測/インター予測を行い、カレントブロックの予測を求め、機能ブロック340に制御を渡す。機能ブロック340は、(元のカレントブロックとカレントブロックの予測との間の差を表す)残差にDCT変換を適用し、その変換係数を求め、機能ブロック350に制御を渡す。機能ブロック350は、変換係数を量子化して、量子化変換係数を求め、機能ブロック360に制御を渡す。機能ブロック360は、量子化変換係数をエントロピー符号化して、機能ブロック370に制御を渡す。機能ブロック370は、量子化変換係数を逆量子化して、機能ブロック380に制御を渡す。機能ブロック380は、逆量子化された変換係数を(例えば、離散余弦変換(DCT)を用いて)逆変換して、カレントブロックの再構成残差を求め、機能ブロック390に制御を渡す。機能ブロック390は、カレントブロックの再構成残差(reconstructed residue)をカレントブロックの予測に加えて、カレントブロックを再構成し、ループリミットブロック395に制御を渡す。機能ブロック395において、エンハンスメントレイヤ画像を描き、終了ブロック399に進む。
【0012】
図4を参照するに、参照数字400で、ピクチャの画像データの復号方法を示した。方法400は、ループリミットブロック420に制御を渡す開始ブロック410を含む。ループリミットブロック420は、1からピクチャ中のブロックの数(#)までの範囲を有する変数iを用いるループを開始し、関数ブロック430に制御を渡す。機能ブロック430は、エントロピー復号をして、量子化された変換係数と、イントラ/インター予測モードと、その他の情報とを求め、機能ブロック440に制御を渡す。機能ブロック440は、カレントブロックの量子化変換係数を逆量子化して、機能ブロック450に制御を渡す。機能ブロック450は、逆量子化された変換係数を(例えば、離散余弦変換(DCT)を用いて)逆変換して、再構成残差を求め、機能ブロック460に制御を渡す。機能ブロック460は、カレントブロックの再構成残差をカレントブロックの予測に加えて、カレントブロックを再構成し、ループリミットブロック470に制御を渡す。機能ブロック470において、エンハンスメントレイヤ画像を描き、終了ブロック499に進む。
【発明を実施するための形態】
【0020】
本原理は、圧縮センシングを用いるビデオエンコーダとビデオデコーダの方法と装置とに関する。
【0021】
この説明は本原理を例示するものである。言うまでもなく、当業者は、ここには明示的に説明や図示はしていないが、本原理を化体し、その精神と範囲内に含まれる様々な構成を工夫することができる。
【0022】
ここに記載したすべての例と条件付きの言葉は、発明者が技術発展に対してなした本原理とコンセプトとを、読者が理解しやすいようにするためのものであり、その解釈は具体的に記載した実施例や条件に限定されるべきではない。
【0023】
さらに、本原理の原理、態様、実施形態、及びその実施例のすべての記載は、その構成的等価物及び機能的等価物の両方を含むものである。また、かかる等価物は、現在知られている等価物及び将来開発される等価物を含み、すなわち、構成にかかわらず同じ機能を発揮する開発されるすべての要素を含む。
【0024】
よって、例えば、当業者には言うまでもなく、ここに説明したブロック図は本原理を化体する回路を概念的に示すものである。同様に、言うまでもなく、フローチャート、フロー図、状態遷移図、擬似コード等は、様々な方法(processes)を表し、これらの方法をコンピュータ読み取り可能媒体に実質的に表しても、(明示的に示していようがいまいが)コンピュータやプロセッサで実行してもよい。
【0025】
図示した様々な要素の機能は、専用ハードウェアを用いても、ソフトウェアを実行可能なハードウェアと適当なソフトウェアとを組み合わせても提供できる。プロセッサを設けるとき、機能を単一の専用プロセッサで提供してもよいし、共有された単一のプロセッサで提供してもよいし、一部が共有された複数の個別プロセッサで提供してもよい。さらに、「プロセッサ」または「コントローラ」という用語を明示的に使用した場合、ソフトウェアを実行できるハードウェアのみをいうと解釈してはならず、限定はされないが、デジタルシグナルプロセッサ(DSP)、ソフトウェアを記憶するROM、RAM、不揮発性記憶装置を黙示的に含んでもよい。
【0026】
その他のハードウェアを従来のものでもカスタムのものであっても含んでもよい。同様に、図面に示したスイッチは概念的なものである。スイッチの機能は、プログラムロジックの動作、専用ロジックの動作、プログラム制御や専用ロジックのインターラクション、またはマニュアルで実行されてもよく、具体的な方法は実施者が文脈から判断して選択できる。
【0027】
請求項において、特定の機能を実行する手段として表した要素は、その機能を実行するいかなる方法も含み、例えば、a)その機能を実行する回路要素の組合せと、b)ファームウェアやマイクロコード等を含む任意の形式のソフトウェア及びそれと組み合わせたその機能を実行する適当な回路とを含む。請求項に記載した本原理は、記載した様々な手段が提供する機能を、請求項に記載したように組み合わせることにある。よって、これらの機能を提供できる手段はどれでも、ここに示したものと等化であると見なせる。
【0028】
明細書において、本発明の「一実施形態」、またはそのバリエーションと言う場合、本発明の少なくとも1つの実施形態に含まれるその実施形態に関して説明する具体的な特徴、構造、特性などを意味する。それゆえ、本明細書を通していろいろなところに記載した「一実施形態において」またはそのバリエーションは、必ずしもすべてが同じ実施形態を参照するものではない。
【0029】
言うまでもなく、例えば、「A/B」、「A及び/又はB」、および「AとBの少なくとも一方」のうちの「及び/又は」および「少なくとも一方」などと言うとき、第1のオプション(A)のみを選択する場合、第2のオプション(B)のみを選択する場合、又は両方のオプション(AとB)を選択する場合を含むものとする。別の例として、例えば、「A、B、及び/又はC」、および「A、B、及びCの少なくとも一方」などと言うとき、第1のオプション(A)のみを選択する場合、第2のオプション(B)のみを選択する場合、第3のオプション(C)のみを選択する場合、第1と第2のオプション(AとB)のみを選択する場合、第2と第3のオプション(BとC)を選択する場合、第1と第3のオプション(AとC)を選択する場合、又は3つすべてのオプション(AとBとC)を選択する場合を含むものとする。本技術分野及び関連技術分野の当業者には明らかなように、これは多数の場合にも拡張できる。
【0030】
また、ここで、「ピクチャ(picture)」と「画像(image)」との用語は、交換可能に使い、静止画像とビデオシーケンスの画像とを言う。知られているように、ピクチャはフレーム又はフィールドであってもよい。
【0031】
さらに、以下を付記する。ここで、「測定ベクトル」とは、変換係数のサブセットを言う。例えば、一実施形態では、次の式を使う。これは以下、式(4)である。すなわち、y=A(x)。ここで、yは測定ベクトルであり、A()は演算子であり、xは信号である。われわれの例では、演算A()において、変換係数はxを変換することにより生成され、変換係数をジグザグの順序でスキャンし、第1の計数をサブセットとして選択する。この変換係数のサブセットを測定ベクトルと呼ぶベクトルに入れる。このように、ここでは、「画像ブロックに関する変換係数」とは、以下にもっと詳しく説明するように、画像ブロックに対して生成された測定ベクトルに関連して用いるとき、その画像ブロックの残差の変換係数のサブセット及び/又はその画像ブロックの予測に対する変換係数のサブセットを言う。残差に対する変換係数のサブセットと予測に対する変換係数のサブセットを組み合わせて、画像ブロックの測定ベクトルを求める(例えば、以下の式(9)を参照)。
【0032】
一実施形態では、(1)残差係数A(x
res)のサブセットと、(2)予測ブロック(X
pred)とが分かっている時に、画像ブロックxをいかに再構成するかを説明する。直感的には、定数A(x)が受け取った情報に近くなければならないという制約の下で、すべての可能なxの値にわたりループを回して、xの希薄性を最小化する値を見つける。定数A(x)はここで「推定された測定値」とも呼ぶ。受け取られる情報はy=A(x
res)+A(x
pred)であり、ここで「再構成された測定値」とも呼ぶ。この問題は重み付けファクタμを用いて式(8)に定式化する。
【0033】
図5を参照して、本原理を適用できるビデオエンコーダを参照数字500で示した。ビデオエンコーダ500は、コンバイナ585の非反転入力と信号通信している出力を有するフレーム順序付けバッファ510を含む。コンバイナ585の出力は変換器及び量子化器525の第1の入力と接続され信号通信している。変換器及び量子化器525の出力は、エントロピーコーダ545の第1の入力及び逆変換器及び逆量子化器550の第1の入力と接続され信号通信している。エントロピーコーダ545の出力は、コンバイナ590の第1の非反転入力と接続され信号通信している。コンバイナ590の出力は出力バッファ535の第1の入力と接続され信号通信している。
【0034】
エンコーダコントローラ505の第1の出力は、フレーム順序付けバッファ510の第2の入力と、逆変換器及び逆量子化器550の第2の入力と、ピクチャタイプ決定モジュール515の入力と、マクロブロックタイプ(MBタイプ)決定モジュール520の第1の入力と、イントラ予測モジュール560の第2の入力と、デブロッキングフィルタ565の第2の入力と、動き補償器570の第1の入力と、動き推定器575の第1の入力と、基準ピクチャバッファ580の第2の入力とに接続され、信号通信している。
【0035】
エンコーダコントローラ505の第2の出力は、サプリメンタルエンハンスメント情報(SEI)挿入器530の第1の入力と、変換器及び量子化器525の第2の入力と、エントロピーコーダ545の第2の入力と、出力バッファ535の第2の入力と、シーケンスパラメータセット(SPS)及びピクチャパラメータセット(PPS)挿入器540の入力とに接続され、信号通信している。
【0036】
SEI挿入器530の出力は、コンバイナ590の第2の非反転入力と接続され信号通信している。
【0037】
ピクチャタイプ決定モジュール515の第1の出力は、フレーム順序付けバッファ510の第3の入力に接続され信号通信している。ピクチャタイプ決定モジュール515の第2の出力は、マクロブロックタイプ決定モジュール520の第2の入力に接続され信号通信している。
【0038】
シーケンスパラメータセット(SPS)及びピクチャパラメータセット(PPS)挿入器540の出力は、コンバイナ590の第3の非反転入力と接続され信号通信している。
【0039】
逆量子化及び逆変換器550の出力は、コンバイナ519の第1の非反転入力と接続され信号通信している。コンバイナ519の出力は、イントラ予測モジュール560の第1の入力と、及びデブロッキングフィルタ565の第1の入力と接続され、信号通信している。デブロッキングフィルタ565の出力は基準ピクチャバッファ580の第1の入力と接続され、信号通信している。基準ピクチャバッファ580の出力は、動き推定器575の第2の入力と、及び動き補償器570の第3の入力と接続され、信号通信している。動き推定器575の第1の出力は動き補償器570の第2の入力と接続され、信号通信している。動き推定器575の第2の出力はエントロピーコーダ545の第3の入力と接続され、信号通信している。
【0040】
動き補償器570の出力はスイッチ597の第1の入力と接続され、信号通信している。イントラ予測モジュール560の出力はスイッチ597の第2の入力と接続され、信号通信している。マクロブロックタイプ決定モジュール520の出力はスイッチ597の第3の入力と接続され、信号通信している。スイッチ597の第3の入力は、スイッチの「データ」入力が、(制御入力すなわち第3の入力と比較して)動き補償器570から提供されるか、又はイントラ予測モジュール560から提供されるか、判断する。スイッチ597の出力は、コンバイナ519の第2の非反転入力と、及びコンバイナ585の反転入力と接続され、信号通信している。
【0041】
フレーム順序付けバッファ510の第1の入力と、エンコーダコントローラ505の入力は、入力ピクチャを受け取る、エンコーダ500の入力としても利用可能である。さらに、サプリメンタルエンハンスメント情報(SEI)挿入器530の第2の入力は、メタデータを受け取る、エンコーダ500の入力としても利用可能である。出力バッファ535の出力は、ビットストリームを出力する、エンコーダ500の出力として利用できる。
【0042】
図6を参照して、本原理を適用できるビデオデコーダの一例を参照数字600で示した。ビデオデコーダ600は入力バッファ610を含む。入力バッファ610の出力は、エントロピーデコーダ645の第1の入力と接続され、信号通信している。エントロピーデコーダ645の第1の出力は逆変換及び逆量子化器650の第1の入力と接続され、信号通信している。逆量子化及び逆変換器650の出力は、コンバイナ625の第2の非反転入力と接続され、信号通信している。コンバイナ625の出力は、デブロッキングフィルタ665の第2の入力と、及びイントラ予測モジュール660の第1の入力と接続され、信号通信している。デブロッキングフィルタ665の第2の出力は基準ピクチャバッファ680の第1の入力と接続され、信号通信している。基準ピクチャバッファ680の出力は動き補償器670の第2の入力と接続され、信号通信している。
【0043】
エントロピーデコーダ645の第2の出力は、動き報償器670の第3の入力と、デブロッキングフィルタ665の第1の入力と、及びイントラ予測器660の第3の入力と接続され、信号通信している。エントロピーデコーダ645の第3の出力はデコーダコントローラ605の入力と接続され、信号通信している。デコーダコントローラ605の第1の出力はエントロピーデコーダ645の第2の入力と接続され、信号通信している。デコーダコントローラ605の第2の出力は逆変換及び逆量子化器650の第2の入力と接続され、信号通信している。デコーダコントローラ605の第3の出力はデブロッキングフィルタ665の第3の入力と接続され、信号通信している。デコーダコントローラ505の第4の出力はイントラ予測モジュール660の第2の入力と、動き補償器670の第1の入力と、基準ピクチャバッファ680の第2の入力と接続され、信号通信している。
【0044】
動き補償器670の出力はスイッチ697の第1の入力と接続され、信号通信している。イントラ予測モジュール660の出力はスイッチ697の第2の入力と接続され、信号通信している。スイッチ697の出力は、コンバイナ625の第1の非反転入力と接続され、信号通信している。
【0045】
入力バッファ610の入力は、入力ビットストリームを受け取る、デコーダ600の入力として利用できる。デブロッキングフィルタ665の第1の出力は、出力ピクチャを出力する、デコーダ600の出力として利用できる。
【0046】
量子化ステップのため、最終的に再構成されるブロックには量子化ノイズがある。すなわち、我々は、現在の技術水準のビデオエンコーダ及びデコーダ(例えば、International Organization for Standardization/International
Electrotechnical Commission (ISO IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10
Advanced Video Coding (AVC) Standard/International
Telecommunication Union, Telecommunication Sector (ITU-T) H.264 Recommendation(以下、「MPEG-4 AVC Standard」と呼ぶ)や、ISO/IEC MPEG-2 Standardなど)では、量子化パラメータが希薄になるとより大きな性能損失が生じることを認識した。かかる量子化ノイズは、ブロック残差の変換係数の量子化及び逆量子化により生じる。
【0047】
本原理では、量子化ノイズの効果を緩和する方法と装置を提案する。一実施形態では、本原理により、量子化ノイズを緩和する非線形再構成法を提供する。提案の再構成は、部分的に、ノイズ除去方法とみなすことができる。また、本原理は、変換係数のサブセットのみを符号化してビットレートを低減する新しい圧縮センシングコーディング法も提供する。新しい非線形再構成法は、量子化ノイズを補償し、トランケート(truncate)された変換係数を回復するために利用できる。
【0048】
我々が提案するアプローチは、先行技術の上記の限界の解決を試み、コーディング効率が高く実行が速いソリューションを提供するものである。
【0049】
ここで、変換係数を符号化する新しい方法と、画像ブロックを回復する新しい再構成アルゴリズムとを提案する。我々が導入する新しいコーディングモード(すなわち、圧縮センシングモード又はCSモード)は、圧縮センシング理論に基づくものである。このモードでは、変換係数のサブセットのみを符号化し、希薄信号回復アルゴリズムを利用して符号化係数からブロックを回復する。エンコーダは既存のコーディングモードと提案のCSモードとを選択して、ブロック残差を符号化する。
【0050】
ブロック残差を符号化する新規のCSコーディングモード
圧縮センシングフレームワークの通常のプラクティスに従えば、非コヒーレンスを保証するには、変換係数のランダムなサブセットの選択又はランダム予測が最適である。しかし、圧縮アプリケーションでは、このセンシング行列はよい性能は得られない。これは以下のように理解できる。圧縮センシングフレームワークの性能基準と画像圧縮の性能基準とはまったく異なる。前者は、再構成信号の品質に対する測定数(PSNR)であり、後者は再構成信号の品質に対するコーディングビット量である。留意点として、コーディングビット量は、符号化された測定の数だけでなく、その測定の統計的分布にも依存する。それゆえ、画像圧縮アプリケーションに対するよいセンシングオペレータは、非コヒーレントであり圧縮率の高い測定をしなければならない。ランダム予測では非コヒーレンスが高くなるが、その測定値はガウス分布しやすく、圧縮するのが困難である。このように、圧縮アプリケーションにとってランダム予測は非効率である。
【0051】
我々は、ランダム予測を利用せず、ブロック残差の変換係数を全部は符号化しない。そのかわり、変換係数のサブセットのみを符号化し、残りの変換係数は無視することを提案する。一実施形態では、ジグザクの順番で変換係数をスキャンして、最初の係数をサブセットとして選択する。この変換係数のサブセットをブロック残差の測定ベクトルと呼ぶベクトルに入れる。測定値の取得は数学的に
【数7】
で表せる。ここで、x
resはブロック残差を示し、y
resはブロック残差の変換係数のサブセットを含むベクトルを示し、Aは(例えば、2次元DCT変換や整数MPEG−4AVC標準変換により)ブロック残差を変換してジグザグのスキャン順序で最初のエントリーのサブセットを選択する演算子を表す。
【0052】
このセンシング演算子Aは、(イ)ブロック残差のエネルギーを最大限捕捉し、(ロ)簡単に統合できるように、現在のMPEG−4AVC標準整数変換と調和する。我々が提案するセンシング方法では、非コヒーレンスと圧縮可能性との間のバランスがよくなり、圧縮性能が高くなる。
【0053】
新規なブロック再構成方法
画像ブロックを再構成するため、ピクセルドメインにおけるTV最小化ブロック再構成を用いる。これは量子化パラメータで適応的に調整できる。言うまでもなく、式(4)又は(5)に関する制約下での最適化は、
【数8】
の無制約下の最適化と等価である。ここで、μはTV重み付け係数と呼ばれることが多い実正数である。この無制約最適化アプローチを用いるのは、制約下でのものよりもずっと速く解けるからである。また、適応的TV重み付け係数μを用いて量子化ノイズを補償する。
【0054】
(カレントブロックの)予測ブロックと、カレントブロックのブロックのブロック残差の測定値ベクトル(カレントブロックのブロック残差y
resの測定値ベクトルはそのブロック残差y
resの変換係数のサブセットを含む)とに基づき、カレントブロックのブロック再構成をする新規な方法を次に提案する。
【0055】
ステップ1:予測ブロックの重要な変換係数のサブセットを含む、予測ブロックの測定値ベクトルを生成し、y
predで示す:
【数9】
ステップ2:(現)再構成ブロックの測定値ベクトルを、ブロック残差の測定値ベクトルを予測ブロックの測定値ベクトルに加えることにより生成する:
【数10】
ステップ3:最終的な再構成ブロックの最適化問題
【数11】
を解く。ここで、x
recは最終的再構成ブロックであり、Ψはxに対する演算子であり、μは重み付けファクタである。Ψはどんな演算子でもよいが、このアルゴリズムは、信号が希薄な空間にΨがマッピングするときに機能する。この点で、トータルバリエーション(TV)がよい例であるのは、ピクチャ中の多くのブロックはグラジエントドメインでは希薄だからである。最適化変数はxである。
【0056】
図7を参照して、参照数字700でブロック再構成方法を示した。方法700は、開始ブロック710を含み、開始ブロック710は機能ブロック720に制御を渡す。機能ブロック720は、予測ブロックの変換係数のサブセットである測定値ベクトルを生成し、制御を機能ブロック730に渡す。機能ブロック730は、予測ブロックの測定ベクトルを、ブロック残差の変換係数のサブセットである(逆量子化した)測定値ベクトルに加えることにより、再構成ブロックの測定値ベクトルを生成し、機能ブロック740に制御を渡す。機能ブロック740は、再構成ブロックの測定値ベクトルで目標関数を最小化して、終了ブロック799に制御を渡す。
【0057】
ブロック残差y
resの測定値ベクトルを量子化(し、再構成のために逆量子化)する時に量子化ノイズが生じる。この量子化ノイズを補正するため、
図8に示したように、ファクタμを量子化ステップに対して適応的に調整する。
図8を参照して、重み付けファクタの適応的調整を含む量子化ノイズ補正方法の一例を参照数字800で示した。方法800は、開始ブロック810を含み、開始ブロック710は機能ブロック815に制御を渡す。機能ブロック815は、信号の希薄性と測定誤差との、重み付けファクタμによる重み付け和として、最小化関数を定式化し、機能ブロック820に制御を渡す。測定誤差は再構成した測定値と推測した測定値との間の差を表す。機能ブロック820は、重み付けファクタμを量子化パラメータに適応するように設定し、機能ブロック830に制御を渡す。機能ブロック830は、適応的重み付けファクタμで目標関数を最小化して、終了ブロック899に制御を渡す。
【0058】
新規なビデオ符号化とビデオ復号
本原理は、既存の(例えば、MPEG−4AVC標準、MPEG−2標準などの)ビデオエンコーダとデコーダに対して、新しい圧縮センシングコーディングモードと新しいブロック再構成アルゴリズムとを組み込む。
図5を参照して、本原理を適用できるビデオエンコーダを説明し、
図6を参照して、本原理を適用できるビデオデコーダを説明する。
【0059】
図9を参照するに、参照数字900で、ピクチャの画像データの符号化方法を示した。方法900は、有利にも、本原理による新規の圧縮センシングモードと新規のブロック再構成とを組み込んだものである。方法900は、ループリミットブロック910に制御を渡す開始ブロック905を含む。ループリミットブロック910は、1からブロックの数(#)までの範囲を有する変数iを用いるループを開始し、機能ブロック915に制御を渡す。機能ブロック915はイントラ/インター予測を行い、機能ブロック920に制御を渡す。機能ブロック920は、残差にDCT変換を適用して、変換係数を求め、機能ブロック925に制御を渡す。機能ブロック925は、係数トランケーションを行い、(変換係数のサブセットのみを残して)測定値ベクトルを求め、機能ブロック930に制御を渡す。機能ブロック930は、(トランケーションされた)変換係数を量子化して、機能ブロック935に制御を渡す。機能ブロック935は、量子化された変換係数をエントロピー符号化して、機能ブロック940に制御を渡す。機能ブロック940は、量子化された変換係数を逆量子化して、機能ブロック945に制御を渡す。機能ブロック945は、例えば、
図7の方法700を用いて、ブロック測定値の生成を行い、機能ブロック950に制御を渡す。機能ブロック950は、式(8)に記載した最適化問題を解いて、TV最小再構成ブロックを求め、機能ブロック955に制御を渡す。機能ブロック955は、レート歪み計算を行い、レート歪み値J1を求め、判断ブロック990に制御を渡す。判断ブロック990は、J1<J2かどうか判断する。そうであれば、制御は機能ブロック992に渡される。そうでなければ、制御は機能ブロック994に渡される。機能ブロック992は、圧縮センシング(CS)コーディング法を選択し、CSフラグ=1を設定し、ループ制限ブロック996に制御を渡す。ループ制限ブロック996は、ループを終了し、終了ブロック999に制御を渡す。機能ブロック960は、変換係数を量子化して、機能ブロック965に制御を渡す。機能ブロック965は、量子化された変換係数をエントロピー符号化して、機能ブロック970に制御を渡す。機能ブロック970は、量子化された変換係数を逆量子化して、機能ブロック975に制御を渡す。機能ブロック975は、量子化された変換係数に逆離散余弦変換(IDCT)を適用して、再構成残差を求め、機能ブロック980に制御を渡す。機能ブロック980は、(機能ブロック980で求めた)再構成残差を(機能ブロック915で求めた)予測値に加えて、予測値で補正した再構成ブロックを求め、機能ブロック985に制御を渡す。機能ブロック985は、レート歪み補正を行い、レート歪み値J2を求め、判断ブロック990に制御を渡す。
【0060】
図10を参照するに、参照数字1000で、ピクチャの画像データの復号方法を示した。方法1000は、有利にも、本原理による新規の圧縮センシングモードと新規のブロック再構成とを組み込んだものである。方法1000は、開始ブロック1005を含み、開始ブロック1005はループリミットブロック1010に制御を渡す。ループリミットブロック1010は、1からブロックの数(#)までの範囲を有する変数iを用いるループを開始し、機能ブロック1015に制御を渡す。機能ブロック1015は、ビットストリームをエントロピー復号して、残差の量子化された変換係数と、イントラ/インター予測モードと、その他の情報とを求め、機能ブロック1020に制御を渡す。機能ブロック1020は、CSフラグを読み、機能ブロック1025に制御を渡す。判断ブロック1025は、CSフラグ=1かどうか判断する。そうであれば、制御は機能ブロック1030に渡される。そうでなければ、制御は機能ブロック1050に渡される。機能ブロック1030は、量子化された変換係数を逆量子化して、残差の変換係数を求め、機能ブロック1035に制御を渡す。機能ブロック1035は、例えば、
図7の方法700を用いて、ブロック測定値の生成を行い、機能ブロック1040に制御を渡す。機能ブロック1040は、式(8)に記載した最適化問題を解いて、TV最小再構成ブロックを求め、機能ブロック1045に制御を渡す。ループ制限ブロック1045は、ループを終了し、終了ブロック1099に制御を渡す。機能ブロック1050は、残差の量子化された変換係数を逆量子化して、その変換係数を求め、機能ブロック1055に制御を渡す。機能ブロック1055は、残差の変換係数に逆変換(例えば、離散余弦変換(IDCT))を適用して、残差を再構成し、機能ブロック1060に制御を渡す。機能ブロック1060は、カレントブロックの再構成残差をカレントブロックの予測値に加えて、予測補正再構成ブロックを求め、ループリミットブロック1045に制御を渡す。
【0061】
我々が提案するブロック再構成に対するアプローチは、上記の先行技術のアプローチのようにブロック残差を再構成するのではなく、画像/ピクセルドメインでブロックを再構成することを試みるものである。これは、自然画像ブロックはその残差よりもグラジエントが希薄である(gradient sparse)との我々の観察に基づく。よって、ピクセルドメインでTV最小化を解くことにより、信号再構成の品質を高くすることができる。また、(イ)従来のアプローチにおける1次元DCTではなく、2次元DCT変換(又は正数MPEG−4AVC標準変換)を用い、(ロ)ジグザグスキャニング順に基づく異なるサンプリングパターンを用いる(すなわち、変換係数をジグザグスキャニング順にソートし、最初のエントリーを用いてサブセットを選択する)。我々の目標は、符号化係数の数を一定にしつつ、より多くのブロック残差エネルギーをキャプチャすることである。信号を再構成するため、より高速で効率的なTV最小化アルゴリズムを用いてブロック再構成をスピードアップする。また、ブロック再構成をノイズ除去プロセス(de-noising process)とみなす。このように、量子化ノイズを補償するため、式(7)のファクタμを、量子化ステップサイズや量子化パラメータに対して適応的に調整する。
【0062】
エンコーダは、レート歪み(RD)最適化に基づき、ブロック残差を、既存のコーディングモードを用いて符号化するか、圧縮センシングコーディングモードを用いて符号化するか決定する。各ブロックについて、エンコーダが圧縮センシングモードを用いるかどうか示すフラグがデコーダに送られる。デコーダは、エンコーダで選択されたコーディングモードの情報をえるためCSフラグを読み、適切な再構成アルゴリズムを実行する。
【0063】
ここで、本発明に付随する多くの利点/特徴を説明する。一部はすでに上記したことである。例えば、一利点/特徴は、装置が、ピクチャ中の画像ブロックの測定値ベクトルを生成し、前記測定値ベクトルを符号化し、前記符号化された測定値ベクトルに応じた前記画像ブロックの信号希薄性を最小化して前記画像ブロックを再構成することにより、前記画像ブロックを符号化するビデオエンコーダを有し、前記測定値ベクトルは前記画像ブロックに関する変換係数を含むことである。
【0064】
他の一利点/特徴は、上記のビデオエンコーダを有する装置において、前記測定値ベクトルは前記画像ブロック対して決まる残差に応じて決まり、前記残差は前記画像ブロックの元のものと前記画像ブロックの予測との間の差を表すことである。
【0065】
さらに他の一利点/特徴は、上記ビデオエンコーダを有する装置において、前記測定値ベクトルは前記画像ブロック対して決まる残差に応じて決まり、前記残差は前記画像ブロックの元のものと前記画像ブロックの予測との間の差を表し、前記測定値ベクトルは、前記残差の変換係数のサブセットを含むことである。
【0066】
他の一利点/特徴は、上記のビデオエンコーダを有する装置において、前記測定ベクトルが量子化とエントロピー符号化とを用いて符号化されていることである。
【0067】
さらに、他の一利点/特徴は、上記のビデオエンコーダを有する装置において、前記信号の希薄性は画像ドメインで決定されることである。
【0068】
さらに他の一利点/特徴は、上記ビデオエンコーダを有する装置において、上記の通り、前記信号の希薄性は画像ドメインで決定される、前記信号の希薄性はトータルバリエーションで測定され、前記トータルバリエーションは前記画像ブロック中の連続するピクセル間の差の関数であることである。
【0069】
さらに、他の一利点/特徴は、上記のビデオエンコーダを有する装置において、前記画像ブロックの信号の希薄性は、信号希薄性と測定誤差の重み付け和として定式化される最小化関数を用いて最小化され、前記測定誤差は前記画像ブロックの再構成された測定値と推定された測定値との間の差を表すことである。
【0070】
本原理の上記その他の特徴と利点は、当業者はここに開示した教示に基づき容易に確認できるであろう。言うまでもなく、本原理の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊用途プロセッサ、またはこれらの組み合わせなどのいろいろな形体で実施することができる。
【0071】
最も好ましくは、本原理の教示をハードウェアとソフトウェアの組合せとして実施する。また、ソフトウェアはプログラム記録装置に実態的に化体されたアプリケーションプログラムとして実施してもよい。そのアプリケーションプログラムは、好適なアーキテクチャを有する機械にアップロードされ、実行される。好ましくは、機械は、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、及び入出力(I/O)インターフェイス等のハードウェアを有するコンピュータプラットフォームで実施される。コンピュータプラットフォームはオペレーティングシステムとマイクロコードも含んでもよい。ここに説明した様々なプロセスや機能は、CPUが実行できる、マイクロ命令コードの一部やアプリケーションプログラムの一部であってもよく、これらのいかなる組合せであってもよい。また、追加的データ記憶装置や印刷装置等その他の様々な周辺装置をコンピュータプラットフォームに接続してもよい。
【0072】
さらに言うまでもなく、添付した図面に示したシステム構成要素や方法の一部はソフトウェアで実施されることが好ましいが、システム構成要素(または方法)間の実際的な結合は本原理をプログラムするそのプログラム方法に応じて異なる。ここに開示された本発明の教示を受けて、関連技術分野の当業者は、本原理の同様な実施形態や構成を考えることができるであろう。
【0073】
例示した実施形態を添付した図面を参照して説明したが、言うまでもなく、本原理はこれらの実施形態には限定されず、当業者は、本原理の範囲と精神から逸脱することなく、様々な変化と修正を施すことができるであろう。かかる変更や修正はすべて添付した請求項に記載した本原理の範囲内に含まれるものである。