(用語の定義)
まず、動きベクトルに関して、MPEG−2/H.262方式のように動きベクトルそのものを伝送する場合や、MPEG−H HEVC/H.265方式のように予測ベクトルと差分ベクトルの和として伝送する場合などがある。そこで、本発明に係る映像符号化装置1及び映像復号装置2にて用いる動きベクトルに関して、一般化して述べるために、式(1)を満たすものとして説明する。
動きベクトル = 予測ベクトル + 差分ベクトル(1)
式(1)の「予測ベクトル」は、そのベクトルそのものを伝送せずに、所定の番号等を伝送し、その番号等から予め定められた規則によりベクトルを算出するデータを意味する。また、式(1)の「差分ベクトル」は、ベクトルそのものを伝送するデータを意味する。
本発明は式(1)の予測ベクトルには直接関連せず、差分ベクトルの正負符号に直接関連するものであるため、図1及び図2を参照して後述する本発明による一実施形態の映像符号化装置1及び映像復号装置2では、差分ベクトルの正負符号の伝送に関する主要な構成要素のみを図示して説明する。
尚、MPEG−H HEVC/H.265方式の場合、式(1)の予測ベクトルはMPEG−H HEVC/H.265方式の予測ベクトル(PMV)、式(1)の差分ベクトルはMPEG−H HEVC/H.265方式の差分ベクトル(MVD)にそのまま対応し、本発明に係る映像符号化装置1及び映像復号装置2を適用可能である。
また、予測ベクトルを用いない映像符号化方式の場合、式(1)の予測ベクトルを0、式(1)の差分ベクトルを当該方式の動きベクトルとして扱うことができ、一般性を失わずに、本発明に係る映像符号化装置1及び映像復号装置2を適用可能である。
また、近年では、動きベクトルを算出するために、予測ベクトル、差分ベクトルに加え、予測ベクトルの算出に関する第三のベクトルを加算する映像符号化方式についても検討されているが、この場合でも、式(1)の予測ベクトルを、当該方式の予測ベクトル+当該方式の第三のベクトルとし、式(1)の差分ベクトルを当該方式の差分ベクトルとして扱うことができ、一般性を失わずに、本発明に係る映像符号化装置1及び映像復号装置2を適用可能である。
以下、図1及び図2を参照して、本発明による一実施形態の映像符号化装置1及び映像復号装置2について説明する。
(映像符号化装置)
図1は、本発明による一実施形態の映像符号化装置1の概略構成を示すブロック図である。映像符号化装置1は、画像符号化部10、差分ベクトル符号推定部13、正誤フラグ生成部14、コンテキスト適応型可逆圧縮部15、正負二値化部16、切替部17、設定制御部18、及びストリーム生成部19を備える。画像符号化部10は、動き補償予測部11及び差分ベクトル生成部12を含む。
画像符号化部10は、符号化対象の映像におけるフレーム画像を入力してブロック分割し、ブロック単位でイントラ予測及びインター予測を行う機能部である。本発明は、インター予測に係る動き補償予測に基づく差分ベクトルの正負符号の圧縮/復号に関する。そこで、図1では、簡潔に、画像符号化部10は、着目ブロックについて動き補償予測に基づく差分ベクトルを生成する機能を有するとして、動き補償予測部11及び差分ベクトル生成部12のみ図示し、予測ベクトルの伝送処理や局部復号処理を含むその他の処理の図示及びその説明は省略している。
尚、動き補償予測部11は、入力画像の着目ブロックと局部復号済の参照ブロックとを用いた動き検出に基づいて動き補償予測を行い、予測画像のブロックを生成し差分ベクトル生成部12に出力する。
また、差分ベクトル生成部12は、当該動き検出によって生成される動きベクトルについて、式(1)に示したように、予測画像のブロックの位置を示す動きベクトルについてインデックス等の所定の番号で近似される予測ベクトルに対しベクトル加算する差分ベクトルを生成する。
ここで、画像符号化部10は、差分ベクトル生成部12によって生成した差分ベクトルについて、その差分ベクトルの絶対値と差分ベクトルの正負符号とに分けて出力する。
差分ベクトル符号推定部13は、画像符号化部10から、当該着目ブロックに関する着目ブロック情報(着目ブロックの位置、サイズ、及びフレーム画像のサイズを含む)、予測ベクトル、及び差分ベクトルの絶対値を入力し、予め定めた規則(即ち、後述する「差分ベクトルの正負符号の推定処理」)に基づいて、当該差分ベクトルの正負符号を推定し、その推定した正負符号を示す差分ベクトル推定符号を正誤フラグ生成部14に出力する。
正誤フラグ生成部14は、差分ベクトル符号推定部13から得られる差分ベクトル推定符号と、画像符号化部10から得られる差分ベクトルの正負符号とを比較して、両者が等しい場合は「真」、異なる場合は「偽」を示す正誤フラグを生成し、コンテキスト適応型可逆圧縮部15に出力する。
コンテキスト適応型可逆圧縮部15は、画像符号化部10から当該着目ブロック情報を入力し、且つ正誤フラグ生成部14から正誤フラグを入力し、当該着目ブロック情報に基づいてコンテキストモデルを指定し、当該正誤フラグに対してコンテキスト適応型の可逆圧縮符号化処理を施すことにより、可逆圧縮した正誤フラグを生成し切替部17に出力する。尚、コンテキスト適応型の可逆圧縮符号化処理は、例えばMPEG−H HEVC/H.265方式に準じる映像符号化方式とする場合ではCABAC(Context-based Adaptive Binary Arithmetic Coding)を、AVC/H.264方式に準じる映像符号化方式とする場合ではCABAC又はCAVLC(Context-based Adaptive Variable Length Coding)を利用できる。即ち、コンテキスト適応型可逆圧縮部15は、コンテキストモデルに従い、当該着目ブロックの位置における周囲の状況(コンテキスト)に応じて適応的に2値化する符号化を行う。
ただし、本実施形態における映像符号化装置1では、正誤フラグの可逆圧縮に係るコンテキストモデルとして、図9を参照して詳細は後述するが、着目ブロック周辺におけるどのブロックをコンテキストとして参照するかについての好適例がある。
正負二値化部16は、従来技法と同様に、正負符号の+/−を1/0のビット表現とする二値化処理を行って切替部17に出力する。
切替部17は、設定制御部18の制御により、当該着目ブロックの差分ベクトルの正負符号の伝送について、コンテキスト適応型可逆圧縮部15によって可逆圧縮した正誤フラグにより伝送するか、正負二値化部16によって単純に二値化した正負符号により伝送するかを切り替えて、ストリーム生成部19に出力する機能部である。
設定制御部18は、フレーム画像における当該着目ブロックの位置に応じて、本発明に係る「差分ベクトルの正負符号の推定処理」に係るコンテキストモデルを指定する領域と、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域を予め定めた設定情報を有し、当該設定情報に基づいて切替部17における切り替えを制御する。本例では、設定制御部18が当該設定情報をストリーム生成部19に出力する例を説明するが、当該設定情報について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はない。
尚、図1において、設定制御部18は、切替部17における切り替えを制御しコンテキスト適応型可逆圧縮部15と正負二値化部16の出力の切り替えを行う構成例を示しているが、差分ベクトル符号推定部13、正誤フラグ生成部14及びコンテキスト適応型可逆圧縮部15の動作と、正負二値化部16の動作の切り替えを行うよう構成してもよい。
ストリーム生成部19は、画像符号化部10から得られる当該着目ブロックに対応する差分ベクトルの絶対値に対し、切替部17から得られる当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号を対応付けて伝送するためのストリームを生成し外部に出力する。本例では、設定制御部18から得られる当該設定情報が、着目ブロック情報(着目ブロックの位置、サイズ、及びフレーム画像のサイズを含む)とともに、当該ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込まれる。尚、ストリーム中には予測ベクトル等の復号に必要な情報も含まれる。差分ベクトルの正負符号以外の伝送に関しては従来技法に基づく任意の方法が利用できるため、その説明は省略する。
このように、映像符号化装置1は、着目ブロックについて動き補償予測に基づく差分ベクトルを生成し、その差分ベクトルの正負符号について、着目ブロック情報、差分ベクトルの絶対値、及び差分ベクトルに係る予測ベクトルを基にした予め定めた規則(即ち、後述する「差分ベクトルの正負符号の推定処理」)に従って当該差分ベクトルの正負符号を推定する。そして、映像符号化装置1は、当該差分ベクトルについて推定した正負符号(差分ベクトル推定符号)が差分ベクトル生成時に得られる差分ベクトルの正負符号と等しければ真とし、異なっていれば偽とする正誤フラグを生成し、コンテキスト適応型の可逆圧縮処理を行って伝送する。
これにより、発生確率に偏りが生じるフレーム画像内の着目ブロックの場合に、その差分ベクトルの正負符号(+,−)について正誤フラグで表現し、その圧縮(可逆圧縮)が可能となり、より映像符号化に係る圧縮効率を向上させることが可能となる。
(映像復号装置)
図2は、本発明による一実施形態の映像復号装置2の概略構成を示すブロック図である。映像復号装置2は、ストリーム読込部20、画像復号部21、設定制御部24、切替部25、コンテキスト適応型可逆復号部26、差分ベクトル符号推定部27、差分ベクトル符号決定部28、及び正負決定部29を備える。画像復号部21は、差分ベクトル復元部22及び動き補償予測部23を含む。
ストリーム読込部20は、映像符号化装置1から伝送されたストリームを読み込み、着目ブロックにおける差分ベクトルの絶対値に関する信号については画像復号部21及び差分ベクトル符号推定部27に出力し、当該差分ベクトルの絶対値に対応付けて伝送されている、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号については切替部25に出力する。
画像復号部21は、ブロック単位でイントラ予測及びインター予測を行って復号を行う機能部である。本発明は、インター予測に係る動き補償予測に基づく差分ベクトルの正負符号の圧縮/復号に関する。そこで、図2では、簡潔に、画像復号部21は、着目ブロックについて復元した差分ベクトル、予測ベクトル、及び復号済の参照ブロックを用いて動き補償予測を行い、伝送された画像を復元する機能を有するとして、差分ベクトル復元部22及び動き補償予測部23のみ図示し、予測ベクトルの復号処理を含むその他の処理の図示及びその説明は省略している。
尚、差分ベクトル復元部22は、ストリーム読込部20から入力される差分ベクトルの絶対値と、当該差分ベクトルの絶対値に対応付けて伝送されていた、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号とを用いて、差分ベクトルを復元する。
また、動き補償予測部23は、差分ベクトル復元部22によって復元した差分ベクトル、伝送される予測ベクトル、及び復号済の参照ブロックを用いて動き補償予測を行い、当該着目ブロックの画像を復元する。
設定制御部24は、フレーム画像における当該着目ブロックの位置に応じて、本発明に係る「差分ベクトルの正負符号の推定処理」に係るコンテキストモデルを指定する領域と、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域を予め定めた設定情報に基づいて切替部25における切り替えを制御する。本例では、当該設定情報が当該ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込まれている。そこで、設定制御部24は、当該設定情報を抽出し、その抽出した設定情報に基づいて、切替部25における切り替えを制御する。尚、当該設定情報について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
切替部25は、設定制御部24の制御により、可逆圧縮した正誤フラグと単純に二値化した差分ベクトルの正負符号を切り替えて、それぞれコンテキスト適応型可逆復号部26及び正負決定部29に出力する機能部である。
本例では、図2において、設定制御部24は、切替部25における切り替えを制御し、それぞれ後述するコンテキスト適応型可逆復号部16と正負決定部29への入力の切り替えを行う構成例を示しているが、それぞれ後述するコンテキスト適応型可逆復号部26、差分ベクトル符号推定部27、及び差分ベクトル符号決定部28の動作と、正負決定部29の動作の切り替えを行うよう構成してもよい。
コンテキスト適応型可逆復号部26は、ストリーム読込部20から、当該着目ブロック情報、及び切替部25を介して映像符号化装置1側で可逆圧縮された正誤フラグを入力し、当該着目ブロック情報に基づいてコンテキストモデルを指定し、当該正誤フラグに対してコンテキスト適応型の可逆復号処理を施すことにより、復号した正誤フラグを生成し差分ベクトル符号決定部28に出力する。尚、コンテキスト適応型の可逆復号処理は、例えば、MPEG−H HEVC/H.265方式に準じる映像符号化方式とする場合ではCABACを利用でき、一方、AVC/H.264方式に準じる映像符号化方式とする場合ではCABAC又はCAVLCを利用できる。即ち、コンテキスト適応型可逆復号部26は、コンテキストモデルに従い、当該着目ブロックの位置における周囲の状況(コンテキスト)に応じて適応的に2値化する復号を行う。また、当該着目ブロック情報(着目ブロックの位置、サイズ、及びフレーム画像のサイズを含む)は、当該ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込まれている。
ただし、本実施形態における映像復号装置2では、正誤フラグの可逆圧縮に係るコンテキストモデルとして、図9を参照して詳細は後述するが、着目ブロック周辺におけるどのブロックをコンテキストとして参照するかについての好適例がある。
差分ベクトル符号推定部27は、映像符号化装置1側の差分ベクトル符号推定部13と同様の処理を行う。差分ベクトル符号推定部27は、ストリーム読込部20から当該着目ブロック情報及び差分ベクトルの絶対値を入力し、画像復号部21から予測ベクトルを入力し、当該予め定めた規則(即ち、後述する「差分ベクトルの正負符号の推定処理」)に基づいて、当該差分ベクトルの正負符号を推定し、その推定した正負符号を示す差分ベクトル推定符号を差分ベクトル符号決定部28に出力する。
差分ベクトル符号決定部28は、コンテキスト適応型可逆復号部26から得られる正誤フラグが「真」を示すときは、差分ベクトル符号推定部27から得られる差分ベクトル推定符号をそのまま差分ベクトルの正負符号として決定して画像復号部21に出力し、当該正誤フラグが「偽」を示すときは、差分ベクトル推定符号を反転した符号を差分ベクトルの正負符号として決定して画像復号部21に出力する。
正負決定部29は、切替部25を介して得られる単純に二値化された差分ベクトルの正負符号の0/1のビット表現に対応して、従来技法と同様に、当該差分ベクトルの正負符号の+/−を決定し、画像復号部21に出力する。
これにより、画像復号部21における差分ベクトル復元部22は、ストリーム読込部20から入力される差分ベクトルの絶対値と、当該差分ベクトルの絶対値に対応付けて伝送されていた、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号とを用いて、差分ベクトルを復元する。
このように、映像復号装置2は、ストリームから読み込んだ着目ブロックに関する差分ベクトルの正負符号について、当該予め定めた規則(即ち、後述する「差分ベクトルの正負符号の推定処理」)に基づいて当該差分ベクトルの正負符号を推定し、ストリームから読み込んだコンテキスト適応型の可逆圧縮が施された正誤フラグを可逆復号する。そして、映像復号装置2は、当該正誤フラグが真を示すときは、当該推定した正負符号(差分ベクトル推定符号)を差分ベクトルの正負符号とし、偽を示すときは、当該推定した正負符号(差分ベクトル推定符号)を反転した符号を差分ベクトルの正負符号として決定する。
これにより、発生確率に偏りが生じるフレーム画像内の着目ブロックの場合に、その差分ベクトルの正負符号(+,−)について圧縮(可逆圧縮)された正誤フラグの復号(可逆復号)が可能となり、映像符号化に係る圧縮効率をより向上させることが可能となる。
(実施例1:差分ベクトルの正負符号の推定処理)
図3は、本発明による一実施形態の映像符号化装置1(差分ベクトル符号推定部13)、及び映像復号装置2(差分ベクトル符号推定部27)における実施例1の差分ベクトルの正負符号の推定処理を示すフローチャートである。
まず、差分ベクトル符号推定部13,27は、着目ブロックについて、差分ベクトルの絶対値を入力(読み込み)(ステップS11)、差分ベクトルの絶対値=0であるか否かを判定する(ステップS12)。
差分ベクトルの絶対値のビットストリームからの読み込み方法については、従来技法と同様の方法を用いればよい。例えば、ビットストリームからゴロム符号化された差分ベクトルの絶対値を読み込むことや、HEVC/H.265方式のように差分ベクトルの絶対値が0より大きいことを示すフラグ、1より大きいことを示すフラグ、ゴロム符号化された差分ベクトルの絶対値などの組合せで読み込んでもよい。
差分ベクトルの絶対値=0であるとき(ステップS12:Y)、差分ベクトル符号推定部13,27は、差分ベクトルの正負符号なしとして推定処理を終了する(ステップS13)。読み込んだ差分ベクトルの絶対値が0の場合は正負符号を決める必要がないため、これ以降の処理は行わずに、差分ベクトル=0となり、差分ベクトルの正負符号なしとして推定処理を終了する。
一方、差分ベクトルの絶対値≠0であるとき(ステップS12:N)、差分ベクトル符号推定部13,27は、まず、当該着目ブロックに関する正側及び負側の候補ベクトルVA,VBを算出する(ステップS14)。
候補ベクトルVA=予測ベクトル+差分ベクトルの絶対値
候補ベクトルVB=予測ベクトル−差分ベクトルの絶対値
尚、予測ベクトルはHEVC/H.265方式等の従来技法通りの方法で求めることができる。予測ベクトルは、差分ベクトルの絶対値や正誤フラグより先に求めてもよい。
続いて、差分ベクトル符号推定部13,27は、着目ブロックBKnを候補ベクトルVA、候補ベクトルVBにそれぞれ移動したブロックBKA、ブロックBKBを算出する(ステップS15)。
続いて、差分ベクトル符号推定部13,27は、ブロックBKA,BKBが双方とも完全に画面内であるかを判定する(ステップS16)。
ブロックBKA,BKBが双方とも完全に画面内であるとき(ステップS16:Y)、差分ベクトル符号推定部13,27は、差分ベクトルの正負符号をデフォルト値として推定し、差分ベクトル推定符号=デフォルト値として決定する(ステップS17)。本例では“正”をデフォルト値として説明するが、“負”をデフォルト値としてもよい。
尚、ステップS17に係る差分ベクトル推定符号のデフォルト値は、本例では設定情報として、ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込まれる。ただし、当該デフォルト値について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
ブロックBKA,BKBが双方とも完全に画面内でないとき(ステップS16:N)、差分ベクトル符号推定部13,27は、続いてブロックBKA,BKBが双方とも完全に画面外であるかを判定する(ステップS18)。
ブロックBKA,BKBが双方とも完全に画面外であるとき(ステップS18:Y)、差分ベクトル符号推定部13,27は、「ブロックBKAとその最近接の画面端との距離」と、「ブロックBKBとその最近接の画面端との距離」とを比較する(ステップS19)。
ブロックBKAとその最近接の画面端との距離が、ブロックBKBとその最近接の画面端との距離より大きいとき(ステップS19:Y)、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=負として決定する(ステップS21)。
また、ブロックBKAとその最近接の画面端との距離が、ブロックBKBとその最近接の画面端との距離より小さいとき(ステップS19:N)、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正として決定する(ステップS20)。
例えば図4(a)に示すように、差分ベクトルの正符号が右方向、差分ベクトルの負符号が左方向を示すとして、候補ベクトルVAに対応するブロックBKAと候補ベクトルVBに対応するブロックBKBが双方とも画面外にある例を説明する。ブロックBKAとその最近接の画面端との距離DAが、候補ベクトルVBに対応するブロックBKBとその最近接の画面端との距離DBより小さいときには、差分ベクトル推定符号=正として決定することで、ブロックBKAの方がブロックBKBよりも予測確度が高いとして判断する。
また、ブロックBKAとその最近接の画面端との距離が、ブロックBKBとその最近接の画面端との距離と等しいとき、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正又は負の予め指定された方(図3に示すステップS19では差分ベクトル推定符号=正)として決定する。
尚、ステップS19に係る比較で、差分ベクトル推定符号=正又は負の予め指定された方として決定するにあたり、第2のデフォルト値として(或いは共通に用いるデフォルト値として)示す設定情報を、ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込んで伝送する形態とすることもできる。ただし、当該第2のデフォルト値について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
一方、ブロックBKA,BKBが双方とも完全に画面内でも画面外でもないとき(ステップS18:N)、即ち、ブロックBKA,BKBのうち少なくとも一方が部分的に画面外であるとき、差分ベクトル符号推定部13,27は、ブロックBKA, BKBの画面外の領域の面積を算出する(ステップS22)。
面積SA=ブロックBKAの画面外にはみ出す面積
面積SB=ブロックBKBの画面外にはみ出す面積
続いて、差分ベクトル符号推定部13,27は、面積SAと面積SBとを比較する(ステップS23)。
面積SAが、面積SBより大きいとき(ステップS23:Y)、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=負として決定する(ステップS25)。
面積SAが、面積SBより小さいとき(ステップS23:N)、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正として決定する(ステップS24)。
例えば図4(b)に示すように、差分ベクトルの正符号が右方向、差分ベクトルの負符号が左方向を示すとして、候補ベクトルVAに対応するブロックBKAと候補ベクトルVBに対応するブロックBKBとの双方の一部が画面外にある例を説明する。面積SBが、面積SAより大きいときには、差分ベクトル推定符号=正として決定することで、ブロックBKAの方がブロックBKBよりも予測確度が高いとして判断する。
面積SAが、面積SBと等しいとき、差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正又は負の予め指定された方(図3に示すステップS23では差分ベクトル推定符号=正)として決定する。
尚、ステップS23に係る比較で、差分ベクトル推定符号=正又は負の予め指定された方として決定するにあたり、第3のデフォルト値として(或いは共通に用いるデフォルト値として)示す設定情報を、ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込んで伝送する形態とすることもできる。ただし、当該第3のデフォルト値について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
ステップS17,S20,S21,S24,S25を経て決定した差分ベクトル推定符号は、図1に示す映像符号化装置1側では正誤フラグ14へ、図2に示す映像復号装置2側では差分ベクトル符号決定部28へ出力される(ステップS26)。
このようにして、差分ベクトル符号推定部13,27は、当該着目ブロック情報、差分ベクトルの絶対値、及び予測ベクトルを用いて、正側及び負側の候補ベクトルVA,VBを算出し、候補ベクトルVA,VBのそれぞれに対応するブロックBKA,BKBの位置と画面端との位置関係に応じて場合分けした予め定めた規則に基づいて差分ベクトルの正負符号を推定し、差分ベクトル推定符号を決定する。
そして、映像符号化装置1側では、正誤フラグ生成部14は、差分ベクトル符号推定部13から得られる差分ベクトル推定符号と、画像符号化部10から得られる差分ベクトルの正負符号とを比較して、両者が等しい場合は「真」、異なる場合は「偽」を示す正誤フラグを生成する。
また、映像復号装置2側では、差分ベクトル符号決定部28は、正誤フラグが「真」を示すときは当該差分ベクトル推定符号をそのまま差分ベクトルの正負符号として決定し、「偽」を示すときは、当該差分ベクトル推定符号を反転した符号を差分ベクトルの正負符号として決定する。
(本発明の原理)
ここで、実施例1の差分ベクトルの正負符号の推定処理に係る原理を説明する。図5(a),(b),(c)は、本発明による一実施形態の映像復号装置2における実施例1の差分ベクトルの正負符号の推定処理に係る着目ブロックBKnと候補ベクトルVA,VB、及び候補ベクトルVA,VBにそれぞれ対応するブロックBKA,BKBに関する説明図である。
図5を参照して本発明の原理説明を簡単にするために、予測ベクトル=0とし、更に差分ベクトルのうち水平成分の符号のみに着目し、映像復号装置2により差分ベクトルの正負符号を求める復号動作と、本発明の効果を説明する。図5に示す説明では、差分ベクトルの正符号が右方向、差分ベクトルの負符号が左方向を示すとする。
図5(a)に示すように、着目ブロックBKnが画面内における画面端に存在するとする。この着目ブロックBKnに対して、所定長さを有する差分ベクトルの絶対値を入力(読み込み)したとする。
図5(b)に示すように、まず、差分ベクトル符号推定部13,27は、当該着目ブロックBKnに関する正側及び負側の候補ベクトルVA,VBを算出する(図3:ステップS14)。
図5(c)に示すように、次に、差分ベクトル符号推定部13,27は、着目ブロックBKnを候補ベクトルVA、候補ベクトルVBにそれぞれ移動したブロックBKA、ブロックBKBを算出する(図3:ステップS15)。
図5(c)に示す例では、ブロックBKAは画面内、ブロックBKBは画面外に位置しているため、差分ベクトル符号推定部13,27は、ブロックBKA, BKBの画面外の領域の面積SA,SBを算出する(図3:ステップS22)。
そして、差分ベクトル符号推定部13,27は、面積SAと、面積SBとを比較する(図3:ステップS23)。図5(c)に示す例では、ブロックBKBの画面外にはみ出す面積SB(=ブロックBKBの面積)が、ブロックBKAの画面外にはみ出す面積SA(=0)より大きいため、この着目ブロックBKnの差分ベクトル推定符号は“正”となる(図3:ステップS24)。
映像符号化装置1側では、差分ベクトル符号推定部13による推定処理で得られた当該差分ベクトル推定符号が、実際の当該差分ベクトルの正負符号と等しければ真とし、異なっていれば偽とする正誤フラグを生成し、コンテキスト適応型の可逆圧縮処理を行って伝送する。例えば映像符号化装置1は、真を示す正誤フラグを映像復号装置2に伝送する。
映像復号装置2側では、当該正誤フラグが真を示すときは、当該差分ベクトル推定符号を差分ベクトルの正負符号とし、偽を示すときは、当該推定した正負符号を反転した符号を差分ベクトルの正負符号として決定する。例えば映像符号化装置1が真を示す正誤フラグを映像復号装置2に伝送していた場合、映像復号装置2は、当該差分ベクトル推定符号を差分ベクトルの正負符号とする。このため、図5を参照した本例では、映像復号装置2は、最終的にこの着目ブロックBKnの差分ベクトルの正負符号は正と決定する。
このように、本発明に係る映像符号化装置1及び映像復号装置2では、差分ベクトルの正負符号を正誤フラグで表現しており、以下に示す2つの理由により、コンテキスト適応型の可逆圧縮により圧縮が可能である。
第1の理由として、一般に、候補ベクトルが示すブロックが画面外にはみ出すとき、その画面外にはみ出す面積が大きいと動き補償予測の効果が低下する。このため、多くの動きベクトルは画面外を指さない場合が多い。そこで、本発明に係る「差分ベクトルの正負符号の推定処理」では、着目ブロックBKnの差分ベクトルの正負符号が“正”と仮定した場合(候補ベクトルVA,ブロックBKA)と、“負”と仮定した場合(候補ベクトルVB,ブロックBKB)とを比較し、各ブロックBKA, BKBの画面外にはみ出す面積が少ない方の符号を推定符号とする。このため、推定符号の正誤を表す正誤フラグは「真」となる確率が高くなり、圧縮(可逆圧縮)が可能となる。
第2の理由として、上記の第1の理由における「多くの動きベクトルは画面外を指さない場合が多い」とする仮定が成り立たないシーンの場合も、圧縮(可逆圧縮)が可能であり、その例を図6に示す。
図6はカメラをパンした映像の例であり、被写体に対し着目フレームFNが前フレームFN−1に対し相対的に画像が全体的に左方シフトした様子を示している。着目フレームFNにて例えば図示するように画面端に位置する着目ブロックBKnに対し、この着目ブロックBKnの動き補償予測の参照先として適切なブロックは、前フレームFN−1におけるブロックBKAである。即ち、着目ブロックBKnの動きベクトルは画面外を指し示している。説明を簡単にするために、予測ベクトルを全て0とすると、差分ベクトルの正負符号は正となる。
本発明に係る「差分ベクトルの正負符号の推定処理」では、差分ベクトル符号推定部13,27は、正側及び負側の候補ベクトルVA,VBを算出し(図3:ステップS14)、着目ブロックBKnを候補ベクトルVA、候補ベクトルVBにそれぞれ移動したブロックBKA、ブロックBKBを算出する(図3:ステップS15)。
このとき、ブロックBKAは画面外にはみ出す領域を持つのに対し、ブロックBKBは画面内に留まるため、差分ベクトル符号推定部13,27は、差分ベクトル符号推定部13,27は、ブロックBKA, BKBの画面外の領域の面積SA,SBを算出する(図3:ステップS22)。
続いて、差分ベクトル符号推定部13,27は、面積SAと、面積SBとを比較する(図3:ステップS23)。図6に示す例では、ブロックBKBの画面外にはみ出す面積SBが、ブロックBKAの画面外にはみ出す面積SAより小さいため、この着目ブロックBKnの差分ベクトル推定符号は“負” (候補ベクトルVB,ブロックBKB)となる(図3:ステップS25)。
従って、映像符号化装置1側では、差分ベクトル符号推定部13による推定処理で得られた当該差分ベクトル推定符号が、実際の当該差分ベクトルの正負符号と異なっているため、「偽」とする正誤フラグを生成しコンテキスト適応型の可逆圧縮処理を行って伝送する。
そして、映像復号装置2側では、当該正誤フラグが「偽」を示すため、同様に推定した“負”を示す当該差分ベクトル推定符号を反転し、最終的にこの着目ブロックBKnの差分ベクトルの正負符号は“正” (候補ベクトルVA,ブロックBKA)と決定する。
このように、着目フレームFNにおける着目ブロックBKnに対し、差分ベクトルの正負符号として、最終的には正確な “正”(候補ベクトルVA,ブロックBKA)を決定しつつ、差分ベクトル推定符号としては各ブロックBKA, BKBの画面外にはみ出す面積が少ない方の符号である“負” (候補ベクトルVB,ブロックBKB)を推定符号とし、正誤フラグは「偽」としている。
同様に、着目フレームFNにて画面端に位置する着目ブロックBKnの上方に位置するブロックBKn(1),BKn(2),BKn(3),BKn(4)を着目ブロックとするときも、それぞれの動きベクトルは画面外を指し、いずれも正誤フラグは「偽」となる。
そして、映像符号化装置1及び映像復号装置2では着目ブロックBKnに関する差分ベクトルの正負符号に係る正誤フラグに対しコンテキスト適用型の可逆圧縮/復号処理を施す。コンテキスト適用型の可逆圧縮/復号処理では、着目ブロックBKnの周辺(例えば、直上、右上、左上のブロックなど予め定めたコンテキストモデルに従う)の値(即ち、正誤フラグの値)に応じて適応的にビット値を決定することで可逆圧縮符号化/復号を行う。図6に示す例では、周辺に「偽」となる正誤フラグのブロックが多数並んでいるため、正誤フラグは「偽」の方が圧縮の効果が高まり、圧縮(可逆圧縮)が可能となる。特に、映像復号装置2側では、コンテキスト適用型の可逆復号処理により当該着目ブロックBKnについて正誤フラグが「偽」である旨を復元でき、最終的には正確な “正”(候補ベクトルVA,ブロックBKA)を決定することができる。
従って、本発明に係る映像符号化装置1及び映像復号装置2によれば、正誤フラグが「真」となる確率が高まることにより正誤フラグの可逆圧縮が可能になるか、或いは、多数の「偽」が出現する場合では周辺に「偽」となるブロックが集まる傾向があるためコンテキスト適応型の可逆圧縮により正誤フラグの圧縮が可能となる。
特に、図3に示す実施例1における差分ベクトルの正負符号の推定処理では、着目ブロックBKnを動きベクトルで動き補償した位置が画面外にはみ出る際のはみ出し具合の比較(実施例1では、はみ出る面積SA, SBの比較)を利用していることに相当するため、画面端の周辺に位置するブロックに限定して適用すると圧縮効果の観点で有効である。
(フレーム画像内で正誤フラグを使用する領域)
本実施形態の映像符号化装置1及び映像復号装置2の一実施例として、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、フレーム画像における当該着目ブロックの位置に応じて、正誤フラグを使用する領域と、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域を、予め定めた設定情報に基づいて制御することができる。
そして、上述したように、本実施形態の映像符号化装置1及び映像復号装置2では、当該設定情報に基づいて当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号を切り替えることができる。
以下、より具体的に、一実施例として、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、当該設定情報に従い、着目ブロックBKnが画面端の領域AR1〜AR8のいずれかに収まっているか否かに基づいて、差分ベクトルの正負符号の表現について正誤フラグ又は当該単純に二値化した正負符号を切り替える動作を説明する。
図7は、本発明による一実施形態の映像符号化装置1及び映像復号装置2に係る正誤フラグを利用する領域と、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域を持つフレーム画像の説明図である。
図7に示すように、フレーム画像を構成するフレームFNは、画面中央の領域AR0と、画面端の所定範囲内の領域AR1〜AR8の領域に分離できる。領域AR0は、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域である。画面端の領域AR1〜AR8の領域は、正誤フラグのコンテキスト適用型の可逆圧縮/復号処理を行う領域である。また、画面端の領域AR1〜AR8の領域ごとに、異なるコンテキストモデルが設定される。
これらの領域は、フレームFNのサイズや符号化処理を行う基本単位(マクロブロックやCTUなどと呼ばれるブロック)のサイズに応じて可変とするか、又は固定とする幅D1,D2,D3,D4の指定で特定でき、映像符号化装置1及び映像復号装置2間で予め定めておくか、設定情報を伝送する形態では、その設定情報によって指定する構成とすることもできる。また、D1,D2,D3,D4はそれぞれ異なる値としてもよいし、同一値としてもよい。尚、幅D1,D2,D3,D4は、「真」又は「偽」を示す正誤フラグが集まりやすい領域として、符号化処理を行う基本単位(マクロブロックやCTUなどと呼ばれるブロック)のサイズに対し1〜3倍の幅とするのが好適である。
差分ベクトルは2次元ベクトルのため、水平成分と垂直成分の2つのベクトルで表現される。そこで、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、当該設定情報の一実施例として、着目ブロックBKnが画面端の領域AR1〜AR8のいずれかに収まっているか否かに基づいて、差分ベクトルの成分ごとに、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号を切り替えることができる。
例えば、映像符号化装置1における設定制御部18は、着目ブロックBKnが画面の左右辺近傍の領域AR3,AR4にある場合、差分ベクトルの水平成分のみ正誤フラグを使用しコンテキスト適応型の可逆圧縮処理を行い、垂直方向の正負符号は従来技法と同様に正負符号の+/−を1/0のビット表現とするように制御する。
また、映像符号化装置1における設定制御部18は、映像符号化装置1における設定制御部18は、着目ブロックBKnが画面の上下辺近傍の領域AR1,AR2にある場合、差分ベクトルの垂直成分のみ正誤フラグを使用しコンテキスト適応型の可逆圧縮処理を行い、水平方向の正負符号は従来技法と同様に正負符号の+/−を1/0のビット表現とするように制御する。
また、映像符号化装置1における設定制御部18は、着目ブロックBKnが画面の四隅の領域AR5,AR6,AR7,AR8にある場合、水平成分、及び垂直成分ともに正誤フラグを使用しコンテキスト適応型の可逆圧縮処理を行うように制御する。
映像復号装置2における設定制御部24においても同様に、着目ブロックBKnが画面端の領域AR1〜AR8のいずれかの領域に収まっているか否かに基づいて、差分ベクトルの成分ごとに、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号を切り替えることができる。
例えば、図8を参照して、映像復号装置2における設定制御部24により、一実施例の差分ベクトルの正負符号の決定処理を説明する。図8は、本発明による一実施形態の映像復号装置2における一実施例の差分ベクトルの正負符号の決定処理を示すフローチャートである。
まず、設定制御部24は、着目ブロックBKnが、画面左右端の所定範囲内(即ち、図7に示す画面の左右辺近傍の領域AR3,AR4,AR5,AR6,AR7,AR8内)に収まっているかを判定する(ステップS31)。
そして、着目ブロックBKnが画面左右端の所定範囲内(領域AR3,AR4,AR5,AR6,AR7,AR8内)に収まっていないとき(ステップS31:N)、従来技法と同様に当該単純に二値化した正負符号とするように差分ベクトルの水平成分の正負符号を決定する(ステップS32)。
一方、着目ブロックBKnが画面左右端の所定範囲内(領域AR3,AR4,AR5,AR6,AR7,AR8内)に収まっているとき(ステップS31:Y)、本発明に係る「差分ベクトルの正負符号の推定処理」により差分ベクトルの水平成分の正負符号を推定し、正誤フラグを用いて、差分ベクトルの水平成分の正負符号を決定する(ステップS33)。
続いて、設定制御部24は、着目ブロックBKnが、画面上下端の所定範囲内(即ち、図7に示す画面の左右辺近傍の領域AR1,AR2,AR5,AR6,AR7,AR8内)に収まっているかを判定する(ステップS34)。
そして、着目ブロックBKnが画面左右端の所定範囲内(領域AR3,AR4,AR5,AR6,AR7,AR8内)に収まっていないとき(ステップS34:N)、従来技法と同様に当該単純に二値化した正負符号とするように差分ベクトルの水平成分の正負符号を決定する(ステップS35)。
一方、着目ブロックBKnが画面左右端の所定範囲内(領域AR3,AR4,AR5,AR6,AR7,AR8内)に収まっているとき(ステップS34:Y)、本発明に係る「差分ベクトルの正負符号の推定処理」により差分ベクトルの水平成分の正負符号を推定し、正誤フラグを用いて、差分ベクトルの水平成分の正負符号を決定する(ステップS36)。
従って、差分ベクトルの水平成分と垂直成分のいずれか片方のみに正誤フラグを使用するブロックの場合はビットストリームから正誤フラグを1つ読み込み、水平成分と垂直成分の両方に正誤フラグを使用するブロック場合は正誤フラグを2つ読み込むことになる。
尚、図8に示す例では、差分ベクトルの水平成分の正負符号を決定した後、差分ベクトルの垂直成分の正負符号を決定するように制御する例を説明したが、垂直成分の正負符号の決定後、水平成分の正負符号を決定するように制御する構成とすることもできる。
このように、着目ブロックBKnが画面端の領域AR1〜AR8のうちいずれかに収まっているかに基づいて、差分ベクトルの水平成分と垂直成分のそれぞれで、正誤フラグを使用する成分を切り替える構成とすることができる。差分ベクトルの水平成分と垂直成分のそれぞれで、正誤フラグを使用する成分を映像符号化装置1及び映像復号装置2間で予め定めておくか、又は当該設定情報に含めるようにして、当該ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込み、映像符号化装置1から映像復号装置2へ伝送する構成とすることができる。
尚、着目ブロックBKnが画面端の領域AR1〜AR8の領域内にあるときに、着目ブロックBKnの位置に応じて、差分ベクトルの水平又は垂直成分の決定順序を指定するように当該設定情報に定めておくこともできる。これは、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号の切り替えに関係して、着目ブロックBKnの位置に応じて正誤フラグが使用されている成分を一意に判別でき、逐次いずれが用いられているかを判別するような余分な処理を省くことができ、処理動作が速くなる利点がある。
例えば、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、差分ベクトルの正負符号の推定処理として、着目ブロックBKnが画面端の領域AR1〜AR8の領域内に収まっているときに、画面の上下辺より左右辺に近い場合は、まず差分ベクトルの水平成分の正負符号を決定した後に、垂直成分の正負符号を決定するように制御する。
また、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、差分ベクトルの正負符号の推定処理として、着目ブロックBKnが画面端の領域AR1〜AR8の領域内に収まっているときに、着目ブロックBKnが画面の左右辺より上下辺に近い場合は、まず差分ベクトルの垂直成分の正負符号を決定した後に、水平成分の正負符号を決定するように制御する。
また、映像符号化装置1における設定制御部18、及び映像復号装置2における設定制御部24は、差分ベクトルの正負符号の推定処理として、着目ブロックBKnが画面端の領域AR1〜AR8の領域内に収まっているときに、着目ブロックが、画面の左右辺及び上下辺から等距離にある場合は、予め定めた順序(例えば、先に水平成分の符号を先に求めた後に、垂直成分の符号を求める)で差分ベクトルの水平成分及び垂直成分の正負符号を決定するように制御する。
また、さらなる変形として、画面端の所定範囲のかわりに、着目ブロックBKnが画面上下左右辺に隣接するか否かに基づいて、差分ベクトルの成分ごとに、当該可逆圧縮後の正誤フラグ又は当該単純に二値化した正負符号を切り替えることができる。
特に、着目ブロックBKnが画面上辺のみに接している場合はAR1、画面下辺のみに接している場合はAR2、画面左辺のみに接している場合はAR3、画面右辺のみに接している場合はAR4、画面上辺および左辺の両方に接している場合はAR5、画面上辺および右辺の両方に接している場合はAR6、画面下辺および左辺の両方に接している場合はAR7、画面下辺および右辺の両方に接している場合はAR8、それ以外の場合はAR0の領域内に収まっているブロックとして制御すると好適である。
(コンテキストとして参照するブロック)
上述したように、本実施形態の映像符号化装置1及び映像復号装置2では、フレーム画像における当該着目ブロックの位置に応じて、正誤フラグを使用する領域と、従来技法と同様に正負符号の+/−を1/0のビット表現とする領域を、予め定めた設定情報に基づいて制御することができる。そして、正誤フラグの伝送には、コンテキスト適応型の可逆圧縮/復号処理を適用する。
即ち、上述したように、本実施形態の映像符号化装置1におけるコンテキスト適応型可逆圧縮部15、及び映像復号装置2におけるコンテキスト適応型可逆復号部26は、着目ブロック情報に基づいてコンテキストモデルを指定し、当該正誤フラグに対してコンテキスト適応型の可逆圧縮符号化/復号処理を施す。
コンテキスト適応型の可逆圧縮符号化/復号処理は、例えばMPEG−H HEVC/H.265方式に準じる映像符号化方式とする場合ではCABACを、AVC/H.264方式に準じる映像符号化方式とする場合ではCABAC又はCAVLCを利用できる。
ただし、本実施形態に係る正誤フラグの可逆圧縮/復号に係るコンテキストモデルは、着目ブロック周辺におけるどのブロックをコンテキストとして参照するかについて好適例がある。
即ち、本実施形態に係るコンテキストモデルにおいて、着目ブロックBKnの画面内の位置に応じてコンテキストとして参照するブロックの位置を予め定めておくようにする。これにより、より圧縮効率の向上が期待できる。
より具体的には、着目ブロックBKnの画面内の位置に応じてコンテキストとして参照するブロックとして、着目ブロックBKnが画面上下辺よりも画面左右辺に近い場合、当該着目ブロックBKnの直上のブロックを参照する。例えば、図9(a)に示すように、着目ブロックBKnが画面下辺(距離d2)よりも画面左辺(距離d1)に近い場合(d1<d2)、当該着目ブロックBKnの直上のブロックRBKを参照する。
また、着目ブロックBKnの画面内の位置に応じてコンテキストとして参照するブロックとして、着目ブロックBKnが画面左右辺よりも画面上下辺に近い場合、当該着目ブロックBKnの直左のブロックを参照する。例えば、図9(b)に示すように、着目ブロックBKnが画面左辺(距離d1)よりも画面下辺(距離d2)に近い場合(d1>d2)、当該着目ブロックBKnの直左のブロックRBKを参照する。
また、着目ブロックBKnの画面内の位置に応じてコンテキストとして参照するブロックとして、着目ブロックBKnが画面左右辺よりも画面上下辺から等距離にある場合、当該着目ブロックBKnの直左、直左上、直上、及び直右上のうち予め定めた1以上のブロックを参照する。例えば、図9(c)に示すように、着目ブロックBKnが画面左辺(距離d1)と画面下辺(距離d2)から等距離にある場合(d1=d2)、当該着目ブロックBKnの直左のブロックRBK1、直左上のブロックRBK2、直上のブロックRBK3、及び直右上のブロックRBK4のうち予め定めた1以上のブロックを参照する。
このように当該可逆圧縮/復号処理に係るコンテキストとして1つ又は複数のブロックを参照し、参照した各ブロックの値(即ち、正誤フラグの値)に応じて、CABAC又はCAVLCの方式に準じて適応的に可逆圧縮/復号を行うことができる。
(実施例2:差分ベクトルの正負符号の推定処理)
図3に示す実施例1の「差分ベクトルの正負符号の推定処理」では、差分ベクトル符号推定部13,27が、着目ブロックBKnに関する正側及び負側の候補ベクトルVA,VBを算出し、これらに対応するブロックBKA、ブロックBKBを算出して、その位置関係や画面外にはみ出す面積SA,SBを基に差分ベクトル推定符号を決定する例を説明した。
この変形例として、ブロックの座標のみを用いて差分ベクトルの正負符号の推定処理を行い、これにより、その処理をより高速かつ処理負担を軽減することもできる。以下、図10を参照して、処理負担を軽減し、より高速化することができる。図10は、本発明による一実施形態の映像符号化装置1及び映像復号装置2における実施例2の差分ベクトルの正負符号の推定処理を示すフローチャートである。
ここでは、差分ベクトルの水平成分の正負符号の推定処理について説明する。
まず、実施例2に係る差分ベクトル符号推定部13,27は、実施例1と同様に、着目ブロックについて、差分ベクトルの絶対値を入力(読み込み)(ステップS11)、差分ベクトルの絶対値=0であるか否かを判定する(ステップS12)。
差分ベクトルの絶対値=0であるとき(ステップS12:Y)、実施例2に係る差分ベクトル符号推定部13,27は、実施例1と同様に、差分ベクトルの正負符号なしとして推定処理を終了する(ステップS13)。
一方、差分ベクトルの絶対値≠0であるとき(ステップS12:N)、実施例2に係る差分ベクトル符号推定部13,27は、実施例1と同様に、当該着目ブロックに関する正側及び負側の候補ベクトルVA,VBを算出する(ステップS14)。
候補ベクトルVA=予測ベクトル+差分ベクトルの絶対値
候補ベクトルVB=予測ベクトル−差分ベクトルの絶対値
続いて、実施例2に係る差分ベクトル符号推定部13,27は、実施例1における正側及び負側の候補ベクトルVA,VBにそれぞれ対応するブロックBKA,BKBを算出する代わりに、着目ブロックBKnの左上画素の座標x、着目ブロックBKnの幅w、フレーム画像の幅(画面幅)Wを設定する(ステップS15’)。
続いて、実施例2に係る差分ベクトル符号推定部13,27は、『x+VA≧0、且つx+w+VA≦W、且つx+VB≧0、且つx+w+VB≦W』を満たすかを判定する(ステップS16’)。この処理は、実施例1におけるブロックBKA,BKBが双方とも完全に画面内であるかの判定(図3:ステップS16)に対応する代替処理である。
『x+VA≧0、且つx+w+VA≦W、且つx+VB≧0、且つx+w+VB≦W』を満たすとき(ステップS16’:Y)、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトルの正負符号をデフォルト値として推定し、差分ベクトル推定符号=デフォルト値として決定する(ステップS17)。本例では“正”をデフォルト値として説明するが、“負”をデフォルト値としてもよい。
『x+VA≧0、且つx+w+VA≦W、且つx+VB≧0、且つx+w+VB≦W』を満たさないとき(ステップS16’:N)、実施例2に係る差分ベクトル符号推定部13,27は、続いて『“x+w+VA≦0、又はx+VA≧W”、且つ“x+w+VB≦0、又はx+VB≧W”』を満たすかを判定する(ステップS18’)。この処理は、実施例1におけるブロックBKA,BKBが双方とも完全に画面外であるかの判定(図3:ステップS18)に対応する代替処理である。
『“x+w+VA≦0、又はx+VA≧W”、且つ“x+w+VB≦0、又はx+VB≧W”』を満たすとき(ステップS18’:Y)、実施例2に係る差分ベクトル符号推定部13,27は、「min(abs(x+w+VA), abs(x+VA−W))」と、「min(abs(x+w+VB), abs(x+VB−W)」とを比較する(ステップS19’)。abs()は絶対値を算出する関数であり、min()は最小値を算出する関数である。この処理は、実施例1における「ブロックBKAとその最近接の画面端との距離」、及び、「ブロックBKBとその最近接の画面端との距離」の比較(図3:ステップS19)に対応する代替処理である。
「min(abs(x+w+VA), abs(x+VA−W))」が、「min(abs(x+w+VB), abs(x+VB−W)」より大きいとき(ステップS19’:Y)、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=負として決定する(ステップS21)。
また、「min(abs(x+w+VA), abs(x+VA−W))」が、「min(abs(x+w+VB), abs(x+VB−W)」より小さいとき(ステップS19’:N)、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正として決定する(ステップS20)。
また、「min(abs(x+w+VA), abs(x+VA−W))」が、「min(abs(x+w+VB), abs(x+VB−W)」と等しいとき、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正又は負の予め指定された方(図10に示す例では差分ベクトル推定符号=正)として決定する。
尚、ステップS19’に係る比較で、差分ベクトル推定符号=正又は負の予め指定された方として決定するにあたり、第2のデフォルト値として(或いは共通に用いるデフォルト値として)示す設定情報を、ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込んで伝送する形態とすることができる。ただし、当該第2のデフォルト値について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
一方、ステップS16’,17’の双方を満たさないとき、実施例2に係る差分ベクトル符号推定部13,27は、「max(abs(min(0, x+VA)), max(W, x+w+VA)−W)」と、「max(abs(min(0, x+VB)), max(W, x+w+VB)−W)」とを比較する(ステップS23’)。max()は最大値を算出する関数である。この処理は、実施例1における面積SAと面積SBとの比較(図3:ステップS23)に対応する代替処理である。
「max(abs(min(0, x+VA)), max(W, x+w+VA)−W)」が、「max(abs(min(0, x+VB)), max(W, x+w+VB)−W)」より大きいとき(ステップS23’:Y)、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=負として決定する(ステップS25)。
「max(abs(min(0, x+VA)), max(W, x+w+VA)−W)」が、「max(abs(min(0, x+VB)), max(W, x+w+VB)−W)」より小さいとき(ステップS23’:N)、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正として決定する(ステップS24)。
「max(abs(min(0, x+VA)), max(W, x+w+VA)−W)」が、「max(abs(min(0, x+VB)), max(W, x+w+VB)−W)」と等しいとき、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトル推定符号=正又は負の予め指定された方(図10に示す例では差分ベクトル推定符号=正)として決定する。
尚、ステップS23’に係る比較で、差分ベクトル推定符号=正又は負の予め指定された方として決定するにあたり、第3のデフォルト値として(或いは共通に用いるデフォルト値として)示す設定情報を、ストリーム中のヘッダ(スライス又はタイルのヘッダ、ピクチャのヘッダ、及びシーケンスのヘッダのいずれか1つ以上を含む)に埋め込んで伝送する形態とすることができる。ただし、当該第3のデフォルト値について映像符号化装置1及び映像復号装置2間で予め定めておくときは映像符号化装置1から映像復号装置2へと伝送する必要はなく、当該設定情報をヘッダに埋め込む必要もない。
ステップS17,S20,S21,S24,S25を経て決定した差分ベクトル推定符号は、図1に示す映像符号化装置1側では正誤フラグ14へ、図2に示す映像復号装置2側では差分ベクトル符号決定部28へ出力される(ステップS26)。
このようにして、実施例2に係る差分ベクトル符号推定部13,27は、差分ベクトルの絶対値と予測ベクトルとを用いて、正側及び負側の候補ベクトルVA,VBを算出し、着目ブロックBKnの座標及び大きさ、候補ベクトルVA,VB、及び画面幅の位置関係に応じて場合分けした予め定めた規則に基づいて差分ベクトルの正負符号を推定し、差分ベクトル推定符号を決定する。そして、実施例1と比較して、実施例2では、面積を求める代わりに座標計算で済むため、当該規則を簡素化できる。尚、図10において、関数abs()、min()及びmax()を用いる代わりにif文で分類する構成としてもよい。
そして、映像符号化装置1側では、正誤フラグ生成部14は、差分ベクトル符号推定部13から得られる差分ベクトル推定符号と、画像符号化部10から得られる差分ベクトルの正負符号とを比較して、両者が等しい場合は「真」、異なる場合は「偽」を示す正誤フラグを生成する。
また、映像復号装置2側では、差分ベクトル符号決定部28は、正誤フラグが「真」を示すときは当該差分ベクトル推定符号をそのまま差分ベクトルの正負符号として決定し、「偽」を示すときは、当該差分ベクトル推定符号を反転した符号を差分ベクトルの正負符号として決定する。
従って、実施例2に係る差分ベクトル符号推定部13,27をそれぞれ備える映像符号化装置1及び映像復号装置2は、実施例1に係る差分ベクトル符号推定部13,27をそれぞれ備える映像符号化装置1及び映像復号装置2と同様の作用・効果を得ることができる。
(実施例3:差分ベクトルの正負符号の推定処理)
実施例2の更なる変形例として、図11に示すように、図10のステップS16’,S18’,S19’をスキップし、ステップS15’の直後にステップS23’を実行して処理を簡略化しても、多くの場合、差分ベクトルの正負符号に関する可逆圧縮/復号として同様の効果を得ることができる。
以上の各実施形態における映像符号化装置1、又は映像復号装置2は、コンピューターにより構成することができ、映像符号化装置1、又は映像復号装置2の各処理部を機能させるためのプログラムを好適に用いることができる。具体的には、映像符号化装置1、又は映像復号装置2の各処理部を制御するための制御部をコンピューター内の中央演算処理装置(CPU)で構成でき、且つ、各処理部を動作させるのに必要となるプログラムを適宜記憶する記憶部を少なくとも1つのメモリで構成させることができる。即ち、そのようなコンピューターに、CPUによって該プログラムを実行させることにより、映像符号化装置1、又は映像復号装置2の各処理部の有する機能を実現させることができる。更に、映像符号化装置1、又は映像復号装置2の各処理部の有する機能を実現させるためのプログラムを、前述の記憶部(メモリ)の所定の領域に格納させることができる。そのような記憶部は、装置内部のRAM又はROMなどで構成させることができ、或いは又、外部記憶装置(例えば、ハードディスク)で構成させることもできる。また、そのようなプログラムは、コンピューターで利用されるOS上のソフトウェア(ROM又は外部記憶装置に格納される)の一部で構成させることができる。更に、そのようなコンピューターに、映像符号化装置1、又は映像復号装置2の各処理部として機能させるためのプログラムは、コンピューター読取り可能な記録媒体に記録することができる。また、映像符号化装置1、又は映像復号装置2の各処理部をハードウェア又はソフトウェアの一部として構成させ、各々を組み合わせて実現させることもできる。
以上、特定の実施形態の例を挙げて本発明を説明したが、本発明は前述の実施形態の例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、上述した実施形態の例では、差分ベクトル符号推定処理に関する規則について、特定の順序・計算方法を例示して説明したが、順序の入れ替えやより簡易な演算式(if文等)、或いはより高精度の演算式(座標・面積の組み合わせ等)など種々の変形例が想定される。
また、上述した実施形態の例では、画面中央(図7:領域AR0)については従来技法の正負符号の+/−を1/0のビット表現とする二値化処理を行い、切り替えを行う例を説明したが、画面中央(図7:領域AR0)についても本発明に係る正誤フラグを用いた圧縮伝送としてもよい。即ち、画面中央(図7:領域AR0)について正誤フラグを用いた圧縮伝送としても発生確率に偏りが生じにくいことが多いと想定されることから圧縮効率の向上が望めない可能性があるが、換言すると著しい悪化もしない。その代わり、差分ベクトルの正負符号の伝送に関して統一した処理となる点で処理の簡単化(実装容量の低減)等の利点が生じる。従って、本発明に係る映像符号化装置及び映像復号装置は、上述した実施形態の例に限定されるものではなく、特許請求の範囲の記載によってのみ制限される。