特許第6191609号(P6191609)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6191609映像符号化装置、映像符号化方法および映像符号化プログラム
<>
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000008
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000009
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000010
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000011
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000012
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000013
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000014
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000015
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000016
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000017
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000018
  • 特許6191609-映像符号化装置、映像符号化方法および映像符号化プログラム 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6191609
(24)【登録日】2017年8月18日
(45)【発行日】2017年9月6日
(54)【発明の名称】映像符号化装置、映像符号化方法および映像符号化プログラム
(51)【国際特許分類】
   H04N 19/119 20140101AFI20170828BHJP
   H04N 19/147 20140101ALI20170828BHJP
   H04N 19/176 20140101ALI20170828BHJP
   H04N 19/96 20140101ALI20170828BHJP
【FI】
   H04N19/119
   H04N19/147
   H04N19/176
   H04N19/96
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2014-536569(P2014-536569)
(86)(22)【出願日】2013年8月16日
(86)【国際出願番号】JP2013004876
(87)【国際公開番号】WO2014045515
(87)【国際公開日】20140327
【審査請求日】2016年7月8日
(31)【優先権主張番号】特願2012-203879(P2012-203879)
(32)【優先日】2012年9月18日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】蝶野 慶一
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 国際公開第2012/077332(WO,A1)
【文献】 特開平11−164305(JP,A)
【文献】 特表2000−511366(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
再帰的クアッドツリー構造に基づいた映像符号化を行う映像符号化装置であって、
処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定する手段と、
処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定する手段と、
処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択する手段と、
前記選択した1つ以上の代表子ノード数に基づいてノード符号化コストを正規化する手段と、
前記正規化したノード符号化コストと前記代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する手段とを備えた
ことを特徴とする映像符号化装置。
【請求項2】
前記代表子ノードを選択する手段が、子ノード符号化コストが小さい順に1以上4以下の個数の代表子ノードを選択する
請求項1記載の映像符号化装置。
【請求項3】
処理対象ノードに対応するノード画像ブロックの大きさに応じて、前記代表子ノード数を調整する
請求項2記載の映像符号化装置。
【請求項4】
再帰的クアッドツリー構造に基づいた映像符号化を行う映像符号化方法であって、
処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定し、
処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定し、
処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択し、
選択された1つ以上の代表子ノード数に基づいてノード符号化コストを正規化し、
正規化されたノード符号化コストと前記代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する
ことを特徴とする映像符号化方法。
【請求項5】
前記代表子ノードを選択する際、子ノード符号化コストが小さい順に1以上4以下の個数の代表子ノードを選択する
請求項4記載の映像符号化方法。
【請求項6】
処理対象ノードに対応するノード画像ブロックの大きさに応じて、代表子ノード数を調整する
請求項5記載の映像符号化方法。
【請求項7】
再帰的クアッドツリー構造に基づいた映像符号化を行うコンピュータに適用される映像符号化プログラムであって、
前記コンピュータに、
処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定する処理、
処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定する処理、
処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択する処理、
前記選択した1つ以上の代表子ノード数に基づいてノード符号化コストを正規化する処理、および、
前記正規化したノード符号化コストと前記代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する処理
を実行させるための映像符号化プログラム。
【請求項8】
コンピュータに、
前記代表子ノードを選択する処理で、子ノード符号化コストが小さい順に1以上4以下の個数の代表子ノードを選択させる
請求項7記載の映像符号化プログラム。
【請求項9】
コンピュータに、
処理対象ノードに対応するノード画像ブロックの大きさに応じて、代表子ノード数を調整させる
請求項8記載の映像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、HEVCなどの再帰的クアッドツリー構造に基づいた映像符号化方式のクアッドツリー構造決定技術であって、例えば映像符号化装置に好適に適用される。
【背景技術】
【0002】
非特許文献1の記載に基づいた映像符号化方式は、ディジタル化された映像の各フレームを符号化ツリーユニット(CTU :Coding Tree Unit)に分割し、ラスタスキャン順に各CTU を符号化する。各CTU は、クアッドツリー構造で、符号化ユニット(CU:Coding Unit )に分割されて符号化される。各CUは、予測ユニット(PU:Prediction Unit )に分割されて予測される。また、各CUの予測誤差は、クアッドツリー構造で、変換ユニット(TU:Transform Unit)に分割されて周波数変換される。
【0003】
CUは、イントラ予測/フレーム間予測の符号化単位である。以下では、イントラ予測およびフレーム間予測を説明する。
【0004】
イントラ予測は、符号化対象フレームの再構築画像から生成する予測である。非特許文献1には、図6に示す33種類の角度イントラ予測などが定義されている。角度イントラ予測では、符号化対象ブロック周辺の再構築画素を図6に示す33種類の方向のいずれかに外挿して、イントラ予測信号が生成される。以後、イントラ予測に用いられるCUをイントラCUと呼ぶ。
【0005】
フレーム間予測は、符号化対象フレームと表示時刻が異なる再構築フレーム(参照ピクチャ)の画像に基づく予測である。以下、フレーム間予測をインター予測とも呼ぶ。図7は、フレーム間予測の例を示す説明図である。動きベクトルMV=(mvx, mvy)は、符号化対象ブロックに対する参照ピクチャの再構築画像ブロックの平行移動量を示す。インター予測では、参照ピクチャの再構築画像ブロックに基づいて(必要であれば画素補間を用いて)、インター予測信号を生成する。以後、インター予測を用いるCUをインターCUと呼ぶ。
【0006】
なお、イントラCUのみで符号化されたフレームはIフレーム(もしくはIピクチャ)と呼ばれる。イントラCUだけでなくインターCUも含めて符号化されたフレームはPフレーム(もしくはPピクチャ)と呼ばれる。ブロックのインター予測に1枚の参照ピクチャだけでなく、さらに同時に2枚の参照ピクチャを用いるインターCUを含めて符号化されたフレームはBフレーム(もしくはBピクチャ)と呼ばれる。
【0007】
以上で、イントラ予測およびフレーム間予測の説明を終了する。
【0008】
次に、図8を参照して、ディジタル化された映像の各フレームの各CUを入力画像としてビットストリームを出力する一般的な映像符号化装置の構成と動作を説明する。
【0009】
図8に示す映像符号化装置は、周波数変換/量子化器101 、エントロピー符号化器102 、逆周波数変換/逆量子化器103 、バッファ104 、予測器105 、および推定器106 を備える。
【0010】
図9は、フレームの空間解像度がCIF (CIF :Common Intermediate Format)、CTU サイズが64の場合のフレームt のCTU 分割例、および、フレームt のCTU8のCU分割例を示す説明図である。また、図10は、CTU8のCU分割例に対応する、クアッドツリー構造を示す説明図である。
【0011】
CTU8のクアッドツリー構造は、64x64 領域を分割することを示すCUDepth=0 のcu_split_flag=1 、最初の3つの32x32 CU(CU0, CU1、およびCU2 )を分割しないことを示す3つのCUDepth=1 のcu_split_flag=0 、最後の32x32 CUを分割することを示すCUDepth=1 のcu_split_flag=1 、最初の3つの16x16 CU(CU3, CU4, およびCU5 )を分割しないことを示す3つのCUDepth=2 のcu_split_flag=0 、最後の16x16 CUを分割することを示すCUDepth=2 のcu_split_flag=1 、すべての8x8 CU(CU6, CU7, CU8 、およびCU9 )を分割しないことを示す4つのCUDepth=3 のcu_split_flag=0 で表現できる。
【0012】
図11は、CUのPU分割形状を示す説明図である。CUがイントラ予測の場合、正方形のPU分割を選択できる(ただし、CUが最小サイズよりも大きい場合、2Nx2N のみを選択できる)。CUがインター予測の場合、CUが8よりも大きい場合、NxN 以外のPU分割を選択できる(ただし、CUが8の場合、2Nx2N 、2NxN、およびNx2Nのいずれかのみを選択できる)。
【0013】
図12は、CUのTU分割例を示す説明図である。上段は、イントラ予測2Nx2N PUのCUのTU分割例を示す。CUがイントラ予測の場合、クアッドツリーの根(Root)をPUに配置し、予測誤差をクアッドツリー構造で表現する。下段は、インター予測 2NxN PUのCUのTU分割例を示す。CUがインター予測の場合、クアッドツリーの根(Root)をCUに配置し、予測誤差をクアッドツリー構造で表現する。
【0014】
推定器106 は、CTU 毎に、符号化コストを最小とするCUクアッドツリー構造/PU分割形状/TUクアッドツリー構造を決定する。
【0015】
以下では、非特許文献2に記載されたCUクアッドツリー構造/PU分割形状決定プロセスを説明する。
【0016】
非特許文献2の4.8.3 Intra/Inter/PCM mode decisionには、CUレベルモード決定プロセスが開示されている。CUレベルモード決定プロセスは、CUのPU分割形状およびイントラ予測/インター予測を決定するプロセスである。また、上記箇所には、CUクアッドツリーのデプス(CUDepth )毎にCUレベルモード決定プロセスを再帰的に実行する、CUクアッドツリー構造決定プロセスが開示されている。
【0017】
まず、CUレベルモード決定プロセスを説明する。インター予測のPU分割形状候補の集合InterCandidate、イントラ予測のPU分割形状候補の集合IntraCandidate、あるモード(mode)の2乗誤差和(SSE :Sum of Square Error )符号化コストJSSE(mode)を以下のように定義する。
【0018】
InterCandidate = { INTER_2Nx2N, INTER_2NxN, INTER_Nx2N, INTER_2NxN, INTER_Nx2N, INTER_2NxnU, INTER_2NxnD, INTER_nLx2N, INTER_nRx2N, INTER_NxN }.
IntraCandidate = {INTRA_2Nx2N, INTRA_NxN}.
JSSE(mode) = DSSE(mode) + λmode・Rmode (mode)
λmode = 2(QP-12)/3
【0019】
ただし、DSSE(mode)、Rmode(mode)、QPは、それぞれ、CUの入力画像信号とmodeを用いた再構築画像信号との2乗誤差和、modeを用いて符号化したCUのビット数(後述する変換量子化値のビット数も含む)、量子化パラメータを示す。
【0020】
CUレベルモード決定プロセスでは、InterCandidateおよびIntraCandidateから、SSE 符号化コストJSSE(mode)を最小とするPU分割形状およびイントラ予測/インター予測bestPUmodeを選択する。定式的には、CUレベルモード決定プロセスを以下のように表現できる。
【0021】
【数1】
【0022】
PUCandidate = { InterCandidate, IntraCandidate }
【0023】
以上で、CUレベルモード決定プロセスの説明を終了する。続いて、CUクアッドツリー構造決定プロセスを説明する。
【0024】
CUDepth のCU(以後、ノードと呼ぶ)のSSE 符号化コストは、そのCUのbestPUmodeのSSE 符号化コストである。つまり、ノードSSE 符号化コストJSSE(node, CUDepth) を以下のように定義する。
【0025】
【数2】
【0026】
CUDepth のCUのi 番目(1≦i ≦4)の子CU(以後、子ノードやリーフなどと呼ぶ)のSSE 符号化コストは、CUDepth+1 のCUのSSE 符号化コストである。つまり、i 番目のリーフSSE 符号化コストJSSE(leaf(i), CUDepth)を以下で定義する。
【0027】
JSSE(leaf(i), CUDepth) = JSSE(node, CUDepth+1)
【0028】
ノードのSSE 符号化コストがそのリーフのSSE 符号化コストの和よりも大きいか否かを比較することによって、CUを子CUに分割するか否かを決定できる。JSSE(node, CUDepth) が以下に示す式1の値よりも大きい場合、CUを子CUに分割すると決定する(cu_split_flag=1 とする)。
【0029】
【数3】
【0030】
そうでない場合(JSSE(node, CUDepth)が上記に示す式1の値以下の場合)、CUを子CUに分割しないと決定する(cu_split_flag=0 とする)。
【0031】
CUクアッドツリー構造決定プロセスでは、上述した比較をCUDepth 毎に再帰的に実行し、CTU のクアッドツリー構造を決定する(つまり、CUDepth 毎にリーフのcu_split_flag を決定する)。
【0032】
以上で、CUクアッドツリー構造決定プロセスの説明を終了する。
【0033】
なお、TUクアッドツリー構造は、上述したCUクアッドツリー構造決定プロセスと同様のプロセスによって決定できる。
【0034】
予測器105 は、推定器106 が決定したCUクアッドツリー構造およびPU形状に基づいて、CUの入力画像信号に対する予測信号を生成する。予測信号は、上述したイントラ予測もしくはインター予測に基づいて生成される。
【0035】
周波数変換/量子化器101 は、推定器106 が決定したTUクアッドツリー構造に基づいて、入力画像信号から予測信号を減じた予測誤差画像を周波数変換する。
【0036】
さらに、周波数変換/量子化器101 は、周波数変換した予測誤差画像(周波数変換係数)を量子化する。以下、量子化された周波数変換係数を変換量子化値と呼ぶ。
【0037】
エントロピー符号化器102 は、CTU のクアッドツリー構造を示すcu_split_flag 、予測パラメータ、および変換量子化値をエントロピー符号化する。
【0038】
逆周波数変換/逆量子化器103 は、変換量子化値を逆量子化する。さらに、逆周波数変換/逆量子化器103 は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、バッファ104 に供給される。
【0039】
バッファ104 は、再構築画像を格納する。
【0040】
上述した動作に基づいて、一般的な映像符号化装置はビットストリームを生成する。
【先行技術文献】
【非特許文献】
【0041】
【非特許文献1】High efficiency video coding (HEVC) text specification draft 7, JCTVC-I1003_d9, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April-7 May 2012.
【非特許文献2】HM7: High Efficiency Video Coding (HEVC) Test Model 7 Encoder Description, JCTVC-I1002, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April-7 May 2012.
【発明の概要】
【発明が解決しようとする課題】
【0042】
ノードCUの予測誤差に局所的に大きな値が含まれる場合、周波数変換と量子化によってノードCU全体の再構築画像(2Nx2N サイズ)に量子化雑音が拡散してリンギングノイズが発生することが知られている。
【0043】
あるノードCUのSSE 符号化コストJSSE(node, CUDepth) とそのリーフCUのSSE 符号化コストの和(上記に示す式1参照。)を単純に比較する技術は、局所的に大きな予測誤差を考慮しないでCUクアッドツリー構造を決定するため、誤って非分割を多く選択し、リンギングノイズを発生させる。
【0044】
リンギングノイズ発生は、SSE 符号化コストの代わりに、再構築画像を用いない以下に示すSAD 符号化コストJSAD(mode)やSATD符号化コストJSATD(mode)を利用した場合に、より顕著になる。
【0045】
JSAD(mode) = DSAD(mode) + λmotion・Rmotion(mode)
JSATD(mode) = DSATD(mode) + λmotion・Rmotion(mode)
λmotion = 2(QP-12)/6
【0046】
ただし、DSAD(mode)、Rmode(mode)、DSATD(mode) は、それぞれ、CUの入力画像信号とmodeを用いた予測信号との絶対誤差和(SAD :Sum of Absolute Difference)、modeを用いて符号化したCUのヘッダビット数(変換量子化値のビット数を含まない)、CUの入力画像信号とmodeを用いた予測信号との絶対誤差アダマール変換和(SATD:Sum of Absolute Hadamard Transformed Difference )を示す。
【0047】
本発明は、リンギングノイズ発生を防止できる映像符号化装置、映像符号化方法および映像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0048】
本発明による映像符号化装置は、再帰的クアッドツリー構造に基づいた映像符号化を行う映像符号化装置であって、処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定する手段と、処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定する手段と、処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択する手段と、選択した1つ以上の代表子ノード数に基づいてノード符号化コストを正規化する手段と、正規化したノード符号化コストと代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する手段とを備えたことを特徴とする。
【0049】
本発明による映像符号化方法は、再帰的クアッドツリー構造に基づいた映像符号化を行う映像符号化方法であって、処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定し、処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定し、処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択し、選択された1つ以上の代表子ノード数に基づいてノード符号化コストを正規化し、正規化されたノード符号化コストと代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定することを特徴とする。
【0050】
本発明による映像符号化プログラムは、再帰的クアッドツリー構造に基づいた映像符号化を行うコンピュータに適用される映像符号化プログラムであって、コンピュータに、処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定する処理、処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定する処理、処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択する処理、選択した1つ以上の代表子ノード数に基づいてノード符号化コストを正規化する処理、および、正規化したノード符号化コストと代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する処理を実行させることを特徴とする。
【発明の効果】
【0051】
本発明によれば、処理対象ノードの4つの子ノードの代表子ノードの符号化コストと、代表子ノード数に基づいて正規化された処理対象ノードの符号化コストとを比較して、処理対象ノードの分割/非分割を決定する。処理対象ノードの予測誤差に局所的に大きな値が含まれている場合、代表子ノードの符号化コスト和は正規化された符号化コストよりも小さくなる。すなわち、処理対象ノードの予測誤差に局所的に大きな値が含まれている場合、処理対象ノードの分割を選択する。本発明を用いた映像符号化装置は、局所的に大きな予測誤差を考慮してCUクアッドツリー構造を決定するため、リンギングノイズ発生を防止できる。
【図面の簡単な説明】
【0052】
図1】本発明による映像符号化装置の一実施形態を示すブロック図である。
図2】本発明の推定器の構成例を示す説明図である。
図3】本発明の推定器の動作例を示す説明図である。
図4】本発明によるプログラムを用いた情報処理システムの例を示すブロック図である。
図5】本発明による映像符号化装置の主要部を示すブロック図である。
図6】33種類の角度イントラ予測の例を示す説明図である。
図7】フレーム間予測の例を示す説明図である。
図8】一般的な映像符号化装置の構成を示す説明図である。
図9】フレームt のCTU 分割例、および、フレームt のCTU8のCU分割例を示す説明図である。
図10】クアッドツリー構造を示す説明図である。
図11】CUのPU分割形状を示す説明図である。
図12】CUのTU分割例を示す説明図である。
【発明を実施するための形態】
【0053】
図1を参照して、ディジタル化された映像の各フレームを入力画像としてビットストリームを出力する本実施形態の映像符号化装置の構成と動作を説明する。
【0054】
図1に示す映像符号化装置は、図6に示された映像符号化装置と同様に、周波数変換/量子化器101 、エントロピー符号化器102 、逆周波数変換/逆量子化器103 、バッファ104 、および予測器105を備える。さらに、本実施形態の映像符号化装置は、推定器1060を備える。
【0055】
図2を参照して、本発明の特徴を示す推定器1060の構成および動作を説明する。
【0056】
推定器1060は、ノードコスト計算器10601、第1リーフコスト計算器10602 、第2リーフコスト計算器10603 、第3リーフコスト計算器10604 、第4リーフコスト計算器10605 、代表リーフ選択器10606 、ノードコスト正規化器10607 、および、ノード分割判定器10608 によって構成される。推定器1060は、CTU のCUクアッドツリー構造/PU分割形状を決定する。
【0057】
ノードコスト計算器10601 は、現在のCUDepth のCUに対して、上述したSATD符号化コストJSATD(mode) を最小とするPU分割形状およびイントラ予測/インター予測bestPUmodeを選択する。定式的には以下のように示される。
【0058】
【数4】
【0059】
さらに、ノードコスト計算器10601 は、CUのSATD符号化コストJSATD(node, CUDepth)にbestPUmodeのSATD符号化コストを設定する。定式的には以下のように示される。
【0060】
【数5】
【0061】
なお、CUのi 番目(1≦i ≦4)の子CU(以後、子ノードやリーフなどと呼ぶ)のSATD符号化コストは、CUDepth+1 のCUのSATD符号化コストである。i 番目(1≦i ≦4)のリーフCUのSATD符号化コストJSATD(leaf(i), CUDepth) を以下のように定義する。
【0062】
JSATD(leaf(i), CUDepth) = JSATD(node, CUDepth+1)
【0063】
第1リーフコスト計算器10602 は、CUの最初のリーフ(i=1) のSATD符号化コストJSATD(leaf(1), CUDepth) を計算する。すなわち、CUの最初のリーフ(i=1) に対して、SATD符号化コストJSATD(mode) を最小とするPU分割形状およびイントラ予測/インター予測bestPUmodeを選択する。
【0064】
同様に、第2リーフコスト計算器10603 、第3リーフコスト計算器10604 、第4リーフコスト計算器10605 は、それぞれ、CUの第2リーフ(i=2) 、第3リーフ(i=3) 、第4リーフ(i=4) のSATD符号化コストJSATD(leaf(i), CUDepth) を計算する。
【0065】
例を用いて、ノードとリーフの関係(CUと子CUの関係)を補足する。CTU サイズを64と仮定すると、CUDepth=0 のノードの最初のリーフは、64x64 画像ブロック内の左上32x32 画像ブロックに対応する。同様に、CUDepth=0 のノードの第2リーフ、第3リーフ、第4リーフは、それぞれ、64x64 画像ブロック内の右上32x32 画像ブロック、左下32x32 画像ブロック、右下32x32 画像ブロックに対応する。
【0066】
代表リーフ選択器10606 は、各リーフのSATD符号化コストJSATD(leaf(i), CUDepth) に基づいて、K 個(1≦K ≦4)の代表リーフを選択する。具体的には、代表リーフ選択器10606 は、SATD符号化コストが小さい順で第L 番目(1≦L <4)から第M 番目(L<M ≦4)のリーフを代表リーフとして選択する。以後の説明のために、小さい順でソートされたSATD符号化コストをJ'SATD(leaf(i), CUDepth)と定義する。
【0067】
さらに、代表リーフ選択器10606 は、代表リーフ個数K と代表リーフのJ'SATD(leaf(i), CUDepth) (L≦i ≦M)をノードコスト正規化器10607 とノード分割判定器10608 にそれぞれ供給する。
【0068】
ノードコスト正規化器10607 は、ノードコスト計算器10601 から供給されるノードSATD符号化コストJSATD(node, CUDepth) を代表リーフ個数K で正規化する。以後の説明のために、正規化されたノードSATD符号化コストをJ'SATD(node, CUDepth)と定義する。定式的には以下のように示される。
【0069】
J'SATD(leaf(i), CUDepth) = JSATD(leaf(i), CUDepth) / K
【0070】
ノード分割判定器10608 は、正規化されたノードSATD符号化コストと代表リーフのSATD符号化コストを比較して、現在のCUDepth のCUを分割するか否かを決定する(cu_split_flag を決定する)。具体的には、ノード分割判定器10608 は、J'SATD(node, CUDepth) が以下に示す式2の値よりも大きい場合、CUを分割すると決定する(cu_split_flag=1 )。
【0071】
【数6】
【0072】
そうでない場合(J'SATD(node, CUDepth) が上記に示す式2の値以下の場合)、ノード分割判定器10608 は、CUを分割しないと決定する(cu_split_flag=0 )。
【0073】
推定器1060は、上述した比較をCUDepth 毎に再帰的に実行し、CTU のCUクアッドツリー構造/PU分割形状を決定する。
【0074】
続いて、図3を参照して、推定器1060の動作を説明する。
【0075】
ステップS101にて、ノードコスト計算器10601 は、現在のCUDepth のCUのSATD符号化コストJSATD(node, CUDepth)を計算する。
【0076】
ステップS102にて、第1リーフコスト計算器10602 、第2リーフコスト計算器10603 、第3リーフコスト計算器10604 、第4リーフコスト計算器10605 は、CUの子CU(リーフ)のSATD符号化コストJSATD(leaf(i), CUDepth) (1≦i ≦4)をそれぞれ計算する。
【0077】
ステップS103にて、代表リーフ選択器10606 は、各リーフのSATD符号化コストJSATD(leaf(i), CUDepth) (1≦i ≦4)に基づいて、K 個(1≦K ≦4)の代表リーフを選択する。
【0078】
ステップS104にて、ノード分割判定器10608 は、代表リーフのSATD符号化コストの和(上記に示す式2参照。)を計算する。
【0079】
ステップS105にて、ノードコスト正規化器10607 は、代表リーフ個数K に基づいて正規化ノードSATD符号化コストJ'SATD(node, CUDepth) を計算する。
【0080】
ステップS106にて、ノード分割判定器10608 は、J'SATD(node, CUDepth) が上記に示す式2の値よりも大きいか否かを判断する。大きい場合、ステップS107に進む。そうでない場合、ステップS108に進む。
【0081】
ステップS107にて、ノードコスト正規化器10607 は、現在のCUDepth のCUを分割すると決定し(cu_split_flag=1 )、現在のCUDepth のCUに対する分割/非分割決定を終了する。
【0082】
ステップS108にて、ノードコスト正規化器10607 は、現在のCUDepth のCUを分割しないと決定し(cu_split_flag=0 )、現在のCUDepth のCUに対する分割/非分割決定を終了する。
【0083】
以上で、発明の特徴を示す推定器1060の構成および動作の説明を終了する。
【0084】
上述した本実施形態の推定器1060は、処理対象ノードの4つの子ノード(リーフ)の代表子ノード(代表リーフ)の符号化コストと、代表子ノード数に基づいて正規化された処理対象ノードの符号化コストとを比較して、処理対象ノードの分割/非分割を決定する。処理対象ノードの予測誤差に局所的に大きな値が含まれている場合、代表リーフの符号化コスト和(上記に示す式2参照。)は正規化された符号化コスト(J'SATD(node, CUDepth) )よりも小さくなる。すなわち、処理対象ノードの予測誤差に局所的に大きな値が含まれている場合、処理対象ノードの分割を選択する(cu_split_flag=1 を選択する)。本実施形態の映像符号化装置は、局所的に大きな予測誤差を考慮してCUクアッドツリー構造を決定するため、リンギングノイズ発生を防止できる。
【0085】
なお、上述した実施形態において、CUサイズ(2Nx2N) とは関係なく、SATD符号化コストJSATD(mode) の計算に用いるアダマール変換のブロックサイズを8x8 もしくは4x4 に固定しても同等の効果が得られることは言うまでもない。
【0086】
また、上述した実施形態において、SATD符号化コストJSATD(mode) の代わりに、SAD 符号化コストJSAD(mode)やSSE 符号化コストJSSE(mode)を用いても同等の効果が得られることは言うまでもない。
【0087】
また、上述した実施形態において、代表リーフの個数K を現在のCUDepth のCUの大きさによって変えてもよい。例えば、より大きなCUほどリンギングノイズが目立つことを考慮して、所定サイズよりも大きなCUにおいてはK=1 (L=1 およびM=1 )、所定サイズよりも小さなCUにおいてはK=3 (L=1 およびM=3 )としてもよい。なお、K=1 (L=1 およびM=1 )は、代表リーフ選択器10606 が、最小のリーフ符号化コストに関連づけられたリーフを選択することと等価であることは言うまでもない。
【0088】
また、上述した推定器1060のCUクアッドツリー構造決定をTUクアッドツリー構造決定に用いることによって、局所的に大きな予測誤差を考慮してTUクアッドツリー構造を決定できることは言うまでもない。
【0089】
また、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【0090】
図4に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体1003及びビットストリームを格納するための記憶媒体1004を備える。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。
【0091】
図4に示された情報処理システムにおいて、プログラムメモリ1002には、図1に示された各ブロックの機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、図1に示された映像符号化装置の機能を実現する。
【0092】
図5は、本発明による映像符号化装置の主要部を示すブロック図である。図5に示すように、本発明による映像符号化装置は、再帰的クアッドツリー構造に基づいた映像符号化を行う映像符号化装置であって、処理対象ノードに対応するノード画像ブロックのノード符号化コストを決定する符号化コスト決定部11と、処理対象ノードの4つの子ノードに対応する子ノード画像ブロックそれぞれの子ノード符号化コストを決定する子ノード符号化コスト決定部12と、処理対象ノードの4つの子ノードから1つ以上の代表子ノードを選択する代表子ノード選択部13と、選択した1つ以上の代表子ノード数に基づいてノード符号化コストを正規化する正規化部14と、正規化したノード符号化コストと代表子ノードの子ノード符号化コストを比較して、処理対象ノードを分割するか否かを決定する分割決定部15とを備える。
【0093】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0094】
この出願は、2012年9月18日に出願された日本特許出願2012−203879を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0095】
11 符号化コスト決定部
12 子ノード符号化コスト決定部
13 代表子ノード選択部
14 正規化部
15 分割決定部
101 周波数変換/量子化器
102 エントロピー符号化器
103 逆周波数変換/逆量子化器
104 バッファ
105 予測器
106,1060 推定器
10601 ノードコスト計算器
10602 第1リーフコスト計算器
10603 第2リーフコスト計算器
10604 第3リーフコスト計算器
10605 第4リーフコスト計算器
10606 代表リーフ選択器
10607 ノードコスト正規化器
10608 ノード分割判定器
1001 プロセッサ
1002 プログラムメモリ
1003 記憶媒体
1004 記憶媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12