従来、信号の符号化方式として、信号波形を予測し、予測残差を符号化する手法が知られている。特に、映像信号を符号化する場合においては、あるフレームを符号化する際に、映像をブロックに分割し、その符号化対象ブロック毎に既に符号化済みの別のフレームまたは当該フレーム内の画像から予測処理を行う。そして、予測処理の結果と符号化対象ブロックとの誤差に対して離散コサイン変換等の変換処理を行い、変換処理の結果である変換係数を量子化し、さらに量子化結果をエントロピー符号化する。このようにして、映像信号のデータが圧縮符号化される。
〔従来の映像符号化装置〕
まず、従来の映像符号化装置について説明する。図6は、従来の映像符号化装置の構成例を示すブロック図である。この映像符号化装置100は、ブロック分割手段10、差分手段11、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17、加算手段19、ループフィルタ20、メモリ21、予測手段22及び最適化手段23を備えている。
映像符号化装置100は、映像信号を入力し、映像信号に対し既存の符号化処理を行い符号化ビット列を生成し、符号化ビット列を後述する映像復号装置200へ出力する。
ブロック分割手段10は、映像信号を入力し、映像信号のフレーム毎に、当該フレームをブロック分割する。ブロック分割手段10は、分割したブロックを差分手段11、予測手段22及び最適化手段23に出力する。
ブロック分割は、一定の大きさの正方形で行われることもあれば、MPEG-4 AVC/H.264、MPEG−H HEVC/H.265等で規定されているように、様々な大きさの矩形で行われることもある。
尚、後述する差分手段11、直交変換手段13、逆直交変換手段17及び加算手段19の処理におけるブロック形状と、後述する予測手段22及び最適化手段23の処理におけるブロック形状とが異なる場合もあり得る。この場合、ブロック分割手段10は、差分手段11等用のブロック形状と予測手段22等用のブロック形状とが異なるように、それぞれの分割形状を割り当てる。そして、ブロック分割手段10は、映像信号のフレームを、それぞれのブロック形状のブロックに分割し、一方のブロックを差分手段11に出力し、他方のブロックを予測手段22及び最適化手段23に出力する。
差分手段11は、ブロック分割手段10からブロックを入力すると共に、予測手段22から予測画像を入力し、当該ブロックの位置について、ブロックの画素値列から予測画像の画素値列を減算し、その減算結果である残差値列を求める。差分手段11は、ブロックの残差値列を直交変換手段13に出力する。
直交変換手段13は、差分手段11からブロックの残差値列を入力し、残差値列に対し、所定の複数の基底関数にて直交変換を施し、変換係数列を生成する。直交変換手段13は、ブロックの変換係数列を量子化手段14に出力する。
基底関数には、例えば離散コサイン変換、その整数近似である整数変換が用いられる。また、MPEG−H HEVC/H.265においては、所定の条件下で離散サイン変換も用いられる。変換係数列とは、水平及び垂直の2次元空間周波数のそれぞれについて、異なる基底関数を適用した結果の変換係数を並べたものである。
量子化手段14は、直交変換手段13からブロックの変換係数列を入力し、変換係数列に対し、所定の量子化テーブルに基づき量子化(離散値化)し、量子化インデックス列を生成する。量子化手段14は、ブロックの量子化インデックス列をエントロピー符号化手段15及び逆量子化手段16に出力する。
量子化の幅は、量子化ステップ及び量子化パラメータ(QP:Quantization Parameter)により決定される。また、量子化の幅は、通例、空間周波数により異なるように設定され、空間周波数が高いほど広く(粗く)、空間周波数が低いほど狭く(細かく)設定される。量子化パラメータは、値が大きいほど変換係数列が粗く量子化され、情報圧縮の度合いが大きくなる反面、画質の劣化が大きくなる。
エントロピー符号化手段15は、量子化手段14からブロックの量子化インデックス列を入力し、量子化インデックス列に対し、変換係数列の統計的性質を考慮したモデルに基づきエントロピー符号化を行って符号を割り当て、符号化ビット列を生成する。エントロピー符号化手段15により生成された符号化ビット列は、後述する映像復号装置200へ出力される。
エントロピー符号化には、例えば、ハフマン符号化、算術符号化、ランレングス符号化、CAVLC(Context−adaptive Variable Length Coding)、CABAC(Context−adaptive Binary Arithmetic Coding)等が用いられる。
ここで、エントロピー符号化手段15により、量子化インデックス列に加え、後述する予測手段22にて求めた動きベクトル情報、後述する最適化手段23にて求めた最適モード情報、映像の大きさ等の情報、その他、使用者等により付加された情報等もエントロピー符号化され、符号化ビット列として出力される。
逆量子化手段16は、量子化手段14からブロックの量子化インデックス列を入力し、量子化手段14の逆の処理を行うことで、量子化インデックス列を逆量子化し、量子化インデックス列を変換係数列に戻す。逆量子化手段16は、ブロックの変換係数列を逆直交変換手段17に出力する。
量子化手段14においては、ある量子化インデックス値を与える変換係数値には所定の範囲(幅)があるが、逆量子化手段16は、入力した量子化インデックス値に対する変換係数値として、当該範囲の代表値(例えば、中央値)を出力する。
逆直交変換手段17は、逆量子化手段16からブロックの変換係数列を入力し、直交変換手段13の逆の処理を行うことで、変換係数列に逆直交変換を施し、復号残差値列を生成する。逆直交変換手段17は、ブロックの復号残差値列を加算手段19に出力する。例えば、逆直交変換手段17は、直交変換手段13が離散コサイン変換を行う場合、逆離散コサイン変換を行う。
加算手段19は、逆直交変換手段17からブロックの復号残差値列を入力すると共に、後述する予測手段22から予測画像を入力する。そして、加算手段19は、当該ブロックの位置について、復号残差値列に予測画像の画素値列を加算し、その加算結果である復号画素値列を求める。加算手段19は、復号画素値列をループフィルタ20に出力する。
ループフィルタ20は、加算手段19から復号画素値列を入力し、復号画素値列に対してフィルタ処理を行い、フィルタ処理後の復号画素値列をメモリ21に格納すると共に、最適化手段23に出力する。これにより、ブロック境界の歪み等を抑制することができる。ループフィルタ20には、例えばデブロッキングフィルタ、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)等が用いられる。
メモリ21には、ループフィルタ20によりフィルタ処理後の復号画素値列が格納される。ここで、ループフィルタ20は、復号画素値列を、ブロックの位置を考慮しながら、メモリ21に格納する。これにより、復号画像が順次形成される。順次というのは、ブロック分割手段10により分割されたブロックの領域について順次処理するにあたり、ループフィルタ20がその処理を終える毎に、当該ブロックの領域の復号画素値列が埋め込まれ、復号画像が形成される過程を意図している。
予測手段22は、メモリ21においてこれまでに形成された復号画像(これまでに復号された他の時刻のフレームであってもよい)の画素値列を読み出すと共に、必要に応じてブロック分割手段10から映像信号のフレームのブロックを入力する。そして、予測手段22は、これから処理すべきブロック内の画素値列を予測的に合成し、予測画像を生成する。予測手段22は、予測画像を差分手段11及び加算手段19に出力する。
予測手段22は、例えば、処理対象のブロックの領域において、メモリ21内に既に形成されている他の時刻の復号画像の画素値列と、ブロック分割手段10から入力したブロックにより構成された現フレームの画素値列とを比較し、その画素値列が最も整合する(誤差が小さくなる)空間的な相対位置関係を動きベクトルとして求める(動き探索により動きベクトルを求める)。そして、予測手段22は、当該動きベクトルに基づいて、他の時刻の復号画像の画素値列を空間的に移動させる(動き補償する)ことで、予測画像を生成する。
また、予測手段22は、例えば、処理対象のブロックの領域に空間的に隣接し、かつメモリ21内に既に形成されている画素値列に基づいて、その画素値列を空間的に一定方向に外挿したり、その画素値列間で演算を行った結果で埋めたりすることで、予測画像を生成する。
最適化手段23は、ブロック分割手段10、直交変換手段13(これに対応する逆直交変換手段17)、量子化手段14(これに対応する逆量子化手段16)、エントロピー符号化手段15、ループフィルタ20及び予測手段22にて用いるパラメータを様々に変化させて試行する。そして、最適化手段23は、レート歪特性(より少ない符号量、より少ない誤差を以てより良好とする)が最高または最高を近似するものとなるパラメータ(レート歪み特性を表す値が最高値から所定分低い値までの間に存在する場合のパラメータ)を特定する。
最適化手段23は、特定したパラメータを最適モードのパラメータとし、最適モードのパラメータをブロック分割手段10、直交変換手段13(これに対応する逆直交変換手段17)、量子化手段14(これに対応する逆量子化手段16)、エントロピー符号化手段15、ループフィルタ20及び予測手段22に出力し、当該パラメータに従って動作させる。
これにより、ブロック分割手段10、直交変換手段13(これに対応する逆直交変換手段17)、量子化手段14(これに対応する逆量子化手段16)、エントロピー符号化手段15、ループフィルタ20及び予測手段22は、最適化手段23から入力したパラメータに従った処理を行う。
また、最適化手段23は、最適モードのパラメータを最適モード情報としてエントロピー符号化手段15に出力する。
これにより、最適モード情報は、エントロピー符号化手段15によりエントロピー符号化され、符号化ビット列として後述する映像復号装置200へ出力される。
このように、映像符号化装置100の既存の符号化処理により、量子化インデックス列及び最適モード情報等が符号化ビット列に変換され、後述する映像復号装置200へ出力される。
〔従来の映像復号装置〕
次に、従来の映像復号装置について説明する。図7は、従来の映像復号装置の構成例を示すブロック図である。この映像復号装置200は、エントロピー復号手段31、逆量子化手段32、逆直交変換手段33、加算手段35、ループフィルタ36、メモリ37及び予測手段38を備えている。
映像復号装置200は、映像符号化装置100から量子化インデックス列及び最適モード情報等の符号化ビット列を入力し、最適モード情報の示す最適モードのパラメータに従い既存の復号処理を行い、量子化インデックス列から元の映像信号のフレームを復元する。そして、映像復号装置200は、復号映像信号を出力する。
エントロピー復号手段31は、映像符号化装置100から符号化ビット列を入力し、図6に示したエントロピー符号化手段15の逆の処理を行い、符号化ビット列をエントロピー復号することで、元の情報に可逆的に復号する。元の情報には、量子化インデックス列に加え、図1に示した予測手段22にて求めた動きベクトル情報、最適化手段23にて求めた最適モード情報、映像の大きさ等の情報、その他、使用者等により付加された情報等も含まれる。
エントロピー復号手段31は、エントロピー復号した最適モード情報である最適モードのパラメータを、後述する逆量子化手段32、逆直交変換手段33、ループフィルタ36及び予測手段38に出力し、当該パラメータに従って動作させる。
これにより、後述する逆量子化手段32、逆直交変換手段33、ループフィルタ36及び予測手段38は、エントロピー復号手段31から入力した最適モードのパラメータに従った処理を行う。
また、エントロピー復号手段31は、エントロピー復号したブロックの量子化インデックス列を逆量子化手段32に出力する。
逆量子化手段32は、エントロピー復号手段31からブロックの量子化インデックス列を入力し、図6に示した逆量子化手段16と同様の処理を行うことで、量子化インデックス列を変換係数列に変換する。逆量子化手段32は、ブロックの変換係数列を逆直交変換手段33に出力する。
逆直交変換手段33は、逆量子化手段32からブロックの変換係数列を入力し、図6に示した逆直交変換手段17と同様の処理を行うことで、変換係数列に逆直交変換を施し、復号残差値列を生成する。逆直交変換手段33は、ブロックの復号残差値列を加算手段35に出力する。
加算手段35は、逆直交変換手段33からブロックの復号残差値列を入力すると共に、後述する予測手段38から予測画像を入力する。そして、加算手段35は、図6に示した加算手段19と同様の処理を行うことで、当該ブロックの位置について、復号残差値列に予測画像の画素値列を加算し、その加算結果である復号画素値列を求める。加算手段35は、復号画素値列をループフィルタ36に出力する。
ループフィルタ36は、加算手段35から復号画素値列を入力し、図6に示したループフィルタ20と同様の処理を行うことで、復号画素値列に対してフィルタ処理を行い、フィルタ処理後の復号画素値列をメモリ37に格納する。
メモリ37には、図6に示したメモリ21と同様に、ループフィルタ36によりフィルタ処理後の復号画素値列が、対応するブロックの位置に順次格納される。これにより、メモリ37には、復号画像が順次形成される。
映像復号装置200は、メモリ37内に復号画像が完全に形成された後、メモリ37から復号画像を読み出し、復号映像信号として外部へ出力する。
予測手段38は、メモリ37においてこれまでに形成された復号画像(これまでに復号された他の時刻のフレームであってもよい)の画素値列を読み出し、図6に示した予測手段22と同様に、これから処理すべきブロック内の画素値列を予測的に合成し、予測画像を生成する。予測手段38は、予測画像を加算手段35に出力する。
予測手段38は、例えば、動きベクトル情報を利用する場合、エントロピー復号手段31からパラメータである動きベクトル情報を入力し、動きベクトル情報に基づいて、他の時刻の復号画像の画素値列を空間的に移動させる(動き補償する)ことで、予測画像を生成する。この場合、動き探索は行わない。
このように、映像復号装置200の既存の復号処理により、符号化ビット列が量子化インデックス列及び最適モード情報等に変換され、元の映像信号のフレームが復元される。
図6及び図7にて説明した符号化方式は、ハイブリッド符号化またはMC−DCT(Motion Compensation/Discrete Cosine Transform)符号化と呼ばれている。例えば、MPEG−1、MPEG−2、MPEG−4、MPEG−4 AVC/H.264、及びMPEG−H HEVC/H.265の各映像符号化方式は、MC−DCT符号化に属する方式である。
また、MC−DCT符号化を含む既存の映像符号化方式に、前処理及び後処理を付加することで、符号化効率及び主観画質を向上する手法が開示されている(例えば特許文献1を参照)。特許文献1の手法では、前処理に解像度削減処理を用いることで、既存の映像符号化方式における圧縮率を緩和し、一方、後処理に超解像技術を応用することで、ぼやけの少ない解像度復元を実現している。このとき、解像度復元の処理を調整可能とし、入力映像を最もよく再現できる最適な調整値を送信側で予め求めて、最適な調整値を復号側へ補助情報として伝送することで、高効率な圧縮伝送を可能とする
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔映像符号化装置〕
まず、本発明の実施形態による映像符号化装置について説明する。図1は、本発明の実施形態による映像符号化装置の構成例を示すブロック図である。この映像符号化装置1は、ブロック分割手段10、差分手段11、再標本化手段12、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17、逆再標本化手段18、加算手段19、ループフィルタ20、メモリ21、予測手段22及び最適化手段24を備えている。
図6に示した従来の映像符号化装置100と、図1に示す本発明の実施形態による映像符号化装置1とを比較すると、両映像符号化装置1,100は、ブロック分割手段10、差分手段11、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17、加算手段19、ループフィルタ20、メモリ21及び予測手段22を備えている点で同一である。
一方、映像符号化装置1は、映像符号化装置100の構成に加え、さらに再標本化手段12及び逆再標本化手段18を備え、映像符号化装置100に備えた最適化手段23とは異なる最適化手段24を備えている点で、映像符号化装置100と相違する。図1において、図6と共通する部分には図6と同一の符号を付し、その詳しい説明は省略する。
再標本化手段12は、差分手段11と直交変換手段13の間に設けられ、差分手段11からブロックの残差値列を入力し、ブロック単位に、標本点の数、配置及び残差値を変更することで標本点を再標本化する。そして、再標本化手段12は、再標本化後のブロックの残差値列を直交変換手段13に出力する。
尚、再標本化手段12は、標本点の数のみを変更することで再標本化してもよいし、標本点の配置のみを変更することで再標本化してもよいし、標本点の残差値のみを変更することで再標本化してもよい。要するに、再標本化手段12は、標本点の数、配置及び残差値のうちの1つ、2つまたは全てを変更することで、標本点を再標本化すればよい。
図2は、再標本化手段12による再標本化処理の例を説明する図である。図2において、○印は、再標本化手段12に入力されるブロックの残差値列についての標本点(再標本化前の標本点(入力標本点))を示し、×印は、再標本化手段12が出力するブロックの残差値列についての標本点(再標本化後の標本点(出力標本点))を示す。入力標本点の残差値列を出力標本点の残差値列に変換するための再標本化の規則(再標本化規則)は、図2に示す入力標本点及び出力標本点の数、配置が定義され、出力標本点の残差値を算出するための数式を用いた変換規則として、予め設定されているものとする。
再標本化手段12は、後述する最適化手段24から最適再標本化モードのパラメータを入力し、当該パラメータに基づいて、予め設定された複数の再標本化規則(例えば図2(a)〜(d)の規則)の中から1つの再標本化規則を決定する。そして、再標本化手段12は、決定した再標本化規則に従い、標本点を再標本化する。
図2(a)は、標本化格子を変更しない例であり、再標本化を行わないものと等価である。再標本化手段12は、図2(a)の予め設定された再標本化規則に従い、図2(a)に示す入力標本点を再標本化し、図2(a)に示す出力標本点の残差値列を求める。この場合、再標本化手段12は、再標本化を行わないで、入力した残差値列をそのまま出力する。この再標本化規則は、図2(a)に示すように、入力標本点及び出力標本点の数及び配置を変更せず、かつその残差値も変更しない規則である。
図2(b)は、標本数を削減し(水平方向に1/2倍、垂直方向に1/2倍に削減し)、再標本化後の配置も均一な間隔とする例である。再標本化手段12は、図2(b)の予め設定された再標本化規則に従い、図2(b)に示す入力標本点を再標本化し、図2(b)に示す出力標本点の残差値列を求める。この再標本化規則は、図2(b)に示すように、入力標本点の標本数を水平方向に1/2倍、垂直方向に1/2倍に削減し、入力標本点(の均一な間隔)とは異なる均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の残差値を算出する規則である。
図2(c)は、標本数を保ったまま、再標本化の位置を不均一な間隔に(標本点の粗密を変化させるように)再配置する例である。再標本化手段12は、図2(c)の予め設定された再標本化規則に従い、図2(c)に示す入力標本点を再標本化し、図2(c)に示す出力標本点の残差値列を求める。この再標本化規則は、図2(c)に示すように、入力標本点及び出力標本点の標本数を同一とし、入力標本点と同じまたは異なる位置かつ不均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の残差値を算出する規則である。
図2(d)は、標本数を削減し(水平方向に1/4倍、垂直方向に1/4倍に削減し)、かつ再標本化の位置を不均一な間隔に(標本点の粗密を変化させるように)再配置する例である。再標本化手段12は、図2(d)の予め設定された再標本化規則に従い、図2(d)に示す入力標本点を再標本化し、図2(d)に示す出力標本点の残差値列を求める。この再標本化規則は、図2(d)に示すように、入力標本点の標本数を水平方向に1/4倍、垂直方向に1/4倍に削減し、入力標本点と同じまたは異なる位置かつ不均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の残差値を算出する規則である。
図2(a)〜(d)に示すように、再標本化規則において、出力標本点の位置と入力標本点の位置とは、必ずしも重なる必要はない。また、再標本化規則において、出力標本点の残差値は、当該出力標本点の近傍に存在する1以上の入力標本点(当該出力標本点を基点とした所定範囲に存在する所定数の入力標本点)の残差値に基づいて算出されるように定義されている。
例えば、出力標本点の位置(x,y)における残差値は、当該位置(x,y)からの距離(例えば、ユークリッド距離)が最も近い入力標本点の残差値であると定義してもよい。また、例えば、出力標本点の位置(x,y)における残差値は、当該位置(x,y)に最も近い4つの入力標本点の残差値に基づいて、双一次補間(バイリニア補間)により算出されるように定義してもよい。
出力標本点の位置(x,y)における残差値をL(x,y)、入力標本点の位置(x,y)における残差値をH(x,y)とし、入力標本点の位置における水平及び垂直座標がともに整数の格子点である場合、以下の数式が用いられる。この数式は、4つの入力標本点の残差値に基づいた双一次補間を行う式である。
図3は、4つの入力標本点の残差値に基づいた双一次補間を行う数式(1)を説明する図である。図3において、○印は入力標本点を示し、×印は出力標本点を示す。前記数式(1)のとおり、図3に示す4つの○印の入力標本点a1〜a4における残差値Hを用いて双一次補間を行い、×印の出力標本点b1における残差値Lが算出される。
尚、再標本化手段12は、再標本化の前処理として、間引きフィルタ(例えば低域通過型フィルタ)を適用しても構わない。この場合、再標本化手段12は、差分手段11から残差値列を入力し、間引きフィルタを用いて残差値列にフィルタ処理を施し、フィルタ処理後の標本点を再標本化する。
図1に戻って、逆再標本化手段18は、逆直交変換手段17と加算手段19の間に設けられている。逆再標本化手段18は、逆直交変換手段17からブロックの復号残差値列を入力し、再標本化手段12の逆の処理を行い、ブロック単位に、標本点の数、配置及び復号残差値を変更することで、標本点を逆再標本化する。そして、逆再標本化手段18は、逆標本化後のブロックの復号残差値列を加算手段19に出力する。
尚、逆再標本化手段18は、標本点の数のみを変更することで逆再標本化してもよいし、標本点の配置のみを変更することで逆再標本化してもよいし、標本点の復号残差値のみを変更することで逆再標本化してもよい。要するに、逆再標本化手段18は、標本点の数、配置及び復号残差値のうちの1つ、2つまたは全てを変更することで、標本点を逆再標本化すればよい。
図4は、逆再標本化手段18による逆再標本化処理の例を説明する図である。図4において、×印は、逆再標本化手段18に入力されるブロックの復号残差値列についての標本点(逆再標本化前の標本点(入力標本点))を示し、○印は、逆再標本化手段18が出力するブロックの復号残差値列についての標本点(逆再標本化後の標本点(出力標本点))を示す。入力標本点の復号残差値列を出力標本点の復号残差値列に変換するための逆再標本化の規則(逆再標本化規則)は、図2に示した再標本化規則の逆であり、図4に示す入力標本点及び出力標本点の数と配置が定義され、出力標本点の復号残差値を算出するための所定の数式を用いた変換規則として、予め設定されているものとする。
逆再標本化手段18は、後述する最適化手段24から最適逆再標本化モードのパラメータを入力し、当該パラメータに基づいて、予め設定された複数の再標本化規則(例えば図4(a)〜(d)の規則)の中から1つの逆再標本化規則を決定する。そして、逆再標本化手段18は、決定した逆再標本化規則に従い、標本点を再標本化する。
図4(a)は、図2(a)に対応し、標本化格子を変更しない例であり、逆再標本化を行わないものと等価である。逆再標本化手段18は、図4(a)の予め設定された逆再標本化規則に従い、図4(a)に示す入力標本点を再標本化し、図4(a)に示す出力標本点の復号残差値列を求める。この場合、逆再標本化手段18は、逆再標本化を行わないで、入力した復号残差値列をそのまま出力する。この逆再標本化規則は、図4(a)に示すように、入力標本点及び出力標本点の数及び配置を変更せず、かつその復号残差値も変更しない規則である。
図4(b)は、図2(b)に対応し、標本数を増加し(水平方向に2倍、垂直方向に2倍に増加し)、逆再標本化後の配置を均一な間隔に復元する例である。逆再標本化手段18は、図4(b)の予め設定された逆再標本化規則に従い、図4(b)に示す入力標本点を逆再標本化し、図4(b)に示す出力標本点の復号残差値列を求める。この逆再標本化規則は、図4(b)に示すように、入力標本点の標本数を水平方向に2倍、垂直方向に2倍に増加し、元の均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の復号残差値を算出する規則である。
図4(c)は、図2(c)に対応し、標本数を保ったまま、逆再標本化後の配置を均一な間隔に復元する(標本点の粗密を元に戻す)例である。逆再標本化手段18は、図4(c)の予め設定された逆再標本化規則に従い、図4(c)に示す入力標本点を逆再標本化し、図4(c)に示す出力標本点の復号残差値列を求める。この逆再標本化規則は、図4(c)に示すように、入力標本点及び出力標本点の標本数を同一とし、元の均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の復号残差値を算出する規則である。
図4(d)は、図2(d)に対応し、標本数を増加し(水平方向に4倍、垂直方向に4倍に増加し)、かつ逆再標本化後の位置を均一な間隔に復元する(標本点の粗密を元に戻す)例である。逆再標本化手段18は、図4(d)の予め設定された逆再標本化規則に従い、図4(d)に示す入力標本点を逆再標本化し、図4(d)に示す出力標本点の復号残差値列を求める。この逆再標本化規則は、図4(d)に示すように、入力標本点の標本数を水平方向に4倍、垂直方向に4倍に増加し、元の均一な間隔となるように、出力標本点の配置を設定すると共に、所定の数式にて出力標本点の復号残差値を算出する規則である。
図4(a)〜(d)に示すように、逆再標本化規則において、出力標本点の位置と入力標本点の位置とは、必ずしも重なる必要はない。また、逆再標本化規則において、出力標本点の復号残差値は、当該出力標本点の近傍に存在する1以上の入力標本点の復号残差値に基づいて算出されるように定義されている。
例えば、出力標本点の位置(x,y)における復号残差値は、当該位置(x,y)からの距離(例えば、ユークリッド距離)が最も近い入力標本点の復号残差値であるとしてもよい。また、例えば、出力標本点の位置(x,y)における復号残差値は、当該位置(x,y)に最も近い4つの入力標本点の復号残差値に基づいて、双一次補間により算出されるようにしてもよい。
尚、逆再標本化手段18は、逆再標本化の前処理として、間引きフィルタ(例えば低域通過型フィルタ)を適用しても構わない。この場合、逆再標本化手段18は、逆直交変換手段17から復号残差値列を入力し、間引きフィルタを用いて復号残差値列にフィルタ処理を施し、フィルタ処理後の標本点を逆再標本化する。
また、逆再標本化手段18は、出力標本点の復号残差値を算出する際に、当該出力標本点の近傍に存在する1以上の入力標本点の復号残差値、または必要に応じて以前に処理を行った入力標本点の復号残差値に基づいて、再標本化手段12が再標本化を行ったときに失った高域情報を、超解像技術により復元または合成しても構わない。
図1に戻って、最適化手段24は、ブロック分割手段10、直交変換手段13(これに対応する逆直交変換手段17)、量子化手段14(これに対応する逆量子化手段16)、エントロピー符号化手段15、ループフィルタ20及び予測手段22に加え、再標本化手段12(これに対応する逆再標本化手段18)にて用いるパラメータを様々に変化させて試行する。例えば、最適化手段24は、再標本化手段12に対し、図2(a)〜(d)に対応するパラメータを変化させて試行する。また、最適化手段24は、再標本化手段12に対応する逆再標本化手段18に対し、図4(a)〜(d)に対応するパラメータを変化させて試行する。
最適化手段24は、図6に示した最適化手段23と同様に、レート歪特性が最高または最高を近似するものとなるパラメータ(レート歪み特性を表す値が最高値から所定分低い値までの間に存在する場合のパラメータ)を特定する。特定されたパラメータは、最高または最高を近似するものとなる符号化効率を実現可能なデータである。
すなわち、最適化手段24は、ブロック分割手段10、再標本化手段12等のパラメータを様々に変化させ、符号化効率を表す評価値(例えば、画質の良さの程度及び符号量の少なさの程度を表した値)を算出し、当該評価値が所定範囲に入るときのパラメータを特定する。特定されたパラメータは、例えば、所定の画質を実現する場合に符号量が最も少なくて済み、かつ所定の符号量を用いる場合に画質が最も良くなるパラメータである。
最適化手段24は、特定したパラメータと最適モードのパラメータとし、最適モードのパラメータをブロック分割手段10、再標本化手段12等に出力し、当該パラメータに従って動作させる。これにより、ブロック分割手段10、再標本化手段12等が最適モードのパラメータに従って動作することで、全体としてバランスのとれた所望の符号化効率を実現することができる。
例えば、最適化手段24は、再標本化手段12について、レート歪特性が最高または最高を近似するものとなる再標本化モードのパラメータを、最適再標本化モードのパラメータとして特定する。また、最適化手段24は、逆再標本化手段18について、レート歪特性が最高または最高を近似するものとなる逆再標本化モードのパラメータを、最適逆再標本化モードのパラメータとして特定する。
ブロック分割手段10、再標本化手段12等は、最適化手段24から入力したパラメータに従った処理を行う。例えば、再標本化手段12は、最適化手段24から最適再標本化モードのパラメータを入力し、パラメータが示す再標本化規則(例えば図2(a)〜(d)のうちのいずれかの再標本化規則)に従った処理を行う。逆再標本化手段18は、最適化手段24から最適逆再標本化モードのパラメータを入力し、パラメータが示す逆再標本化規則(例えば図4(a)〜(d)のうちのいずれかの再標本化規則)に従った処理を行う。
また、最適化手段24は、最適モードのパラメータを最適モード情報としてエントロピー符号化手段15に出力する。
これにより、最適モード情報は、エントロピー符号化手段15によりエントロピー符号化され、符号化ビット列として後述する映像復号装置2へ出力される。
このように、映像符号化装置1の符号化処理により、量子化インデックス列及び最適モード情報等が符号化ビット列に変換され、後述する映像復号装置2へ出力される。
尚、最適化手段24は、再標本化手段12及び逆再標本化手段18を最適化の対象に含めるようにしたが、含めないようにしても構わない。この場合、再標本化手段12は、予め設定された再標本化モードのパラメータが示す再標本化規則に従い、再標本化を行う。また、逆再標本化手段18は、予め設定された逆再標本化モードのパラメータが示す逆再標本化規則に従い、逆再標本化を行う。
以上のように、本発明の実施形態の映像符号化装置1によれば、最適化手段24は、ブロック分割手段10、再標本化手段12等にて用いるパラメータを様々に変化させて試行し、レート歪特性が最高または最高を近似するものとなるパラメータを特定し、特定したパラメータ(最適モードのパラメータ)を、ブロック分割手段10、再標本化手段12等に出力し、当該パラメータに従って動作させる。最適化手段24により特定された最適モードのパラメータは、エントロピー符号化手段15にて量子化インデックス列と共にエントロピー符号化され、符号化ビット列として後述する映像復号装置2へ出力される。
再標本化手段12は、ブロックの画素値列から予測画像の画素値列を減算した結果であるブロックの残差値列を入力し、最適化手段24から入力したパラメータ(最適再標本化モードのパラメータ)が示す再標本化規則に従い、入力標本点を再標本化して出力標本点の残差値列を求める。再標本化手段12により、ブロック単位に、標本点の数、配置及び残差値が変更される。
これにより、最適化手段24により特定された最適モードのパラメータは、最高の符号化効率を実現可能なデータであるから、この最適モードのパラメータが示す再標本化規則も、最高の符号化効率を実現可能な規則となる。つまり、再標本化手段12は、最高の符号化効率を実現するように、ブロック分割手段10により分割されたブロックに対する符号化処理の中で、ブロック単位に、標本点の数、配置及び残差値を変更することができる。
例えば、映像信号の残差値が所定の広い範囲で類似値となる場合に、最適化手段24が、最適モードのパラメータとして、ブロック分割手段10について所定の広い範囲でブロック分割を行うパラメータを特定し、再標本化手段12について標本点の数を減少させる最適再標本化モードのパラメータを特定した場合を想定する。この場合、再標本化手段12は、所定の広い範囲のブロックについて、標本点の数を減少させた残差値列を求めることになる。これにより、標本点の数が少なくなるから、後続の処理の演算負荷を低減することができ、符号化効率を改善することができる。
また、例えば、最適化手段24が、最適モードのパラメータとして、再標本化手段12についてブロック内の所定の箇所につき標本点の数を増加させる最適再標本化モードのパラメータを特定した場合、再標本化手段12は、ブロック内の所定の箇所につき標本点の数を増加させた残差値列を求めることになる。これにより、図2(c)及び(d)に示したように、ブロック内の必要な箇所に多くの標本点を配置したり、ブロック内の他の箇所に少ない標本点を配置したり、すなわち標本点の粗密を変化させることができるから、映像信号の近似精度を向上させることができ、符号化効率を改善することができる。
本発明の実施形態は、符号化処理の内部に再標本化手段12の処理を挿入し、再標本化手段12に対し、ブロック分割手段10によるブロック分割処理、直交変換手段13による直交変換処理及び量子化手段14による量子化処理と連動して、ブロック単位に、標本点の数、配置及び残差値を変更させるものである。
本発明の実施形態では、既存の符号化処理の外側に前処理及び後処理を付加する従来技術とは異なり、ブロック単位に再標本化を行うことができる。つまり、本発明の実施形態における再標本化処理は、ブロック分割後の他の処理(直交変換処理、量子化処理等)と連動して、同じフレームの他のブロック及び他のフレームのブロックとの間で符号化効率を考慮したバランスを図ることができ、最適な符号化処理を実現することができる。結果として、映像信号の符号化効率を改善し、映像信号を高画質に圧縮符号化及び復号することが可能となる。
〔映像復号装置〕
次に、本発明の実施形態による映像復号装置について説明する。図5は、本発明の実施形態による映像復号装置の構成例を示すブロック図である。この映像復号装置2は、エントロピー復号手段39、逆量子化手段32、逆直交変換手段33、逆再標本化手段34、加算手段35、ループフィルタ36、メモリ37及び予測手段38を備えている。
図7に示した従来の映像復号装置200と、図5に示す本発明の実施形態による映像復号装置2とを比較すると、両映像復号装置2,200は、逆量子化手段32、逆直交変換手段33、加算手段35、ループフィルタ36、メモリ37及び予測手段38を備えている点で同一である。
一方、映像復号装置2は、映像復号装置200の構成に加え、さらに逆再標本化手段34を備え、映像復号装置200に備えたエントロピー復号手段31とは異なるエントロピー復号手段39を備えている点で、映像復号装置200と相違する。図5において、図7と共通する部分には図7と同一の符号を付し、その詳しい説明は省略する。
映像復号装置2は、映像符号化装置1から量子化インデックス列及び最適モード情報等の符号化ビット列を入力し、最適モード情報のパラメータに従い、逆再標本化を含む復号処理を行い、量子化インデックス列から元の映像信号のフレームを復元する。そして、映像復号装置2は、復号映像信号を出力する。
エントロピー復号手段39は、映像符号化装置1から符号化ビット列を入力し、図1に示したエントロピー符号化手段15の逆の処理を行い、符号化ビット列をエントロピー復号することで、元の情報に可逆的に復号する。元の情報には、量子化インデックス列に加え、図1に示した予測手段22にて求めた動きベクトル情報、最適化手段23にて求めた最適モード情報、映像の大きさ等の情報、その他、使用者等により付加された情報等も含まれる。最適モード情報には、最適逆再標本化モードのパラメータが含まれる。
エントロピー復号手段39は、エントロピー復号した最適モード情報である最適モードのパラメータを、逆量子化手段32、逆直交変換手段33、逆再標本化手段34、ループフィルタ36及び予測手段38に出力し、当該パラメータに従って動作させる。この場合、エントロピー復号手段39は、最適逆再標本化モードのパラメータを逆再標本化手段34に出力する。
これにより、逆量子化手段32、逆直交変換手段33、逆再標本化手段34、ループフィルタ36及び予測手段38は、エントロピー復号手段39から入力した最適モードのパラメータに従った処理を行う。
また、エントロピー復号手段39は、エントロピー復号したブロックの量子化インデックス列を逆量子化手段32に出力する。
逆再標本化手段34は、逆直交変換手段33と加算手段35の間に設けられる。逆再標本化手段34は、逆直交変換手段33からブロックの復号残差値列を入力し、図1に示した逆再標本化手段18と同様の処理を行い、所定の逆再標本化規則に従って、ブロック単位に、標本点の数、配置及び復号残差値を変更することで、標本点を逆再標本化する。そして、逆再標本化手段34は、逆標本化後のブロックの復号残差値列を加算手段35に出力する。
尚、逆再標本化手段34は、標本点の数のみを変更することで逆再標本化してもよいし、標本点の配置のみを変更することで逆再標本化してもよいし、標本点の復号残差値のみを変更することで逆再標本化してもよい。要するに、逆再標本化手段34は、標本点の数、配置及び復号残差値のうちの1つ、2つまたは全てを変更することで、標本点を逆再標本化すればよい。
このように、映像復号装置2の復号処理により、符号化ビット列が量子化インデックス列及び最適モード情報等に変換され、元の映像信号のフレームが復元される。
尚、映像復号装置2が映像符号化装置1から最適逆再標本化モードのパラメータを含む符号化ビット列を入力する場合について説明したが、最適逆再標本化モードのパラメータを含む符号化ビット列を入力しない場合もあり得る。この場合、逆再標本化手段34は、予め設定された逆再標本化モードのパラメータが示す逆再標本化規則に従い、逆再標本化を行う。
以上のように、本発明の実施形態の映像復号装置2によれば、エントロピー復号手段39は、映像符号化装置1から入力した符号化ビット列をエントロピー復号し、量子化インデックス列及び最適モードのパラメータを生成し、当該パラメータを、逆量子化手段32、逆再標本化手段34等に出力し、当該パラメータに従って動作させる。
逆再標本化手段34は、ブロックの画素値列から予測画像の画素値列が減算された結果であるブロックの復号残差値列を入力し、エントロピー復号手段39から入力したパラメータ(最適逆再標本化モードのパラメータ)が示す逆再標本化規則に従い、入力標本点を逆再標本化して出力標本点の復号残差値列を求める。逆再標本化手段34により、ブロック単位に、標本点の数、配置及び復号残差値が変更され、元に戻る。そして、元の映像信号が復号される。
これにより、映像符号化装置1から入力してエントロピー復号手段39により復号された最適モードのパラメータは、最高の符号化効率を実現可能なデータであるから、この最適モードのパラメータが示す逆再標本化規則も、最高の符号化効率を実現可能な規則となる。つまり、逆再標本化手段34は、最高の符号化効率を実現するように、映像復号装置2における復号処理の中で、ブロック単位に、標本点の数、配置及び復号残差値を、元に戻すように変更することができる。
例えば、映像信号の残差値が所定の広い範囲で類似値となる場合に、映像符号化装置1の最適化手段24が、最適モードのパラメータとして、ブロック分割手段10について所定の広い範囲でブロック分割を行うパラメータを特定し、再標本化手段12について標本点の数を減少させる最適再標本化モードのパラメータを特定した場合を想定する。この場合、映像復号装置2のエントロピー復号手段39は、最適モードのパラメータとして、所定の広い範囲でブロック分割が行われたブロックに対するパラメータを復号し、逆再標本化手段34について標本点の数を増加させる最適逆再標本化モードのパラメータを復号する。そして、逆再標本化手段34は、所定の広い範囲のブロックについて、映像符号化装置1の再標本化手段12及び逆再標本化手段18に対応して、標本点の数を増加させた復号残差値列を求めることになる。これにより、標本点の数を元に戻すことができ、符号化効率を改善することができる。
また、例えば、映像符号化装置1の最適化手段24が、最適モードのパラメータとして、再標本化手段12についてブロック内の所定の箇所につき標本点の数を増加させる最適再標本化モードのパラメータを特定した場合を想定する。この場合、映像復号装置2のエントロピー復号手段39は、逆再標本化手段34についてブロック内の所定の箇所につき標本点の数を減少させる最適逆再標本化モードのパラメータを復号する。そして、逆再標本化手段34は、映像符号化装置1の再標本化手段12及び逆再標本化手段18に対応して、図4(c)及び(d)に示したように、ブロック内の所定の箇所につき標本点の数を減少させた復号残差値列を求めることになる。これにより、標本点の数を元に戻すことができ、符号化効率を改善することができる。
本発明の実施形態は、復号処理の内部に逆再標本化手段34の処理を挿入し、逆再標本化手段34に対し、逆量子化手段32による逆量子化処理及び逆直交変換手段33による逆直交変換処理と連動して、ブロック単位に、標本点の数、配置及び復号残差値を元に戻すように変更させるものである。
本発明の実施形態では、従来技術とは異なり、ブロック単位に逆再標本化を行うことができる。つまり、本発明の実施形態における逆再標本化処理は、他の処理(逆量子化処理、逆直交変換処理等)と連動して、同じフレームの他のブロック及び他のフレームのブロックとの間で符号化効率を考慮したバランスを図ることができ、最適な符号化処理に対応した復号処理を実現することができる。結果として、映像信号の符号化効率を改善し、映像信号を高画質に圧縮符号化及び復号することが可能となる。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態において、図1に示した映像符号化装置1はループフィルタ20を備えているが、必ずしもループフィルタ20を備える必要はない。映像符号化装置1がループフィルタ20を備えていない場合、メモリ21には、加算手段19により求められた復号画素値列が格納される。ここで、加算手段19は、復号画素値列を、ブロックの位置を考慮しながら、メモリ21に格納する。これにより、メモリ21には、復号画像が順次形成される。
また、図5に示した映像復号装置2はループフィルタ36を備えているが、必ずしもループフィルタ36を備える必要はない。映像復号装置2がループフィルタ36を備えていない場合、メモリ37には、加算手段35により求められた復号画素値列が、対応するブロックの位置に順次格納される。これにより、メモリ37には、復号画像が順次形成される。
また、前記実施形態では、図1に示した映像符号化装置1の再標本化手段12、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17及び逆再標本化手段18は、ブロックの各標本点について、映像信号の画素値から予測画像の画素値を減算した結果である残差値(復号残差値)を対象にして処理を行うようにした。これに対し、再標本化手段12、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17及び逆再標本化手段18は、標本点の残差値(復号残差値)の代わりに、標本点の画素値(復号画素値)を対象にして処理を行うようにしてもよい。図5に示した映像復号装置2の逆量子化手段32、逆直交変換手段33、逆再標本化手段34等についても同様である。
また、前記実施形態では、図1に示した映像符号化装置1の最適化手段24は、ブロック分割手段10、再標本化手段12(これに対応する逆再標本化手段18)、直交変換手段13(これに対応する逆直交変換手段17)、量子化手段14(これに対応する逆量子化手段16)、エントロピー符号化手段15、ループフィルタ20及び予測手段22にて用いるパラメータを様々に変化させて試行し、最適なパラメータを特定するようにした。これに対し、最適化手段24は、これらの構成部のうちの1以上の構成部にて用いるパラメータを様々に変化させて試行するようにしてもよい。試行の対象でない構成部は、予め設定されたパラメータに従い、処理を行う。
尚、本発明の実施形態による映像符号化装置1及び映像復号装置2のハードウェア構成としては、通常のコンピュータを使用することができる。映像符号化装置1及び映像復号装置2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
映像符号化装置1に備えたブロック分割手段10、差分手段11、再標本化手段12、直交変換手段13、量子化手段14、エントロピー符号化手段15、逆量子化手段16、逆直交変換手段17、逆再標本化手段18、加算手段19、ループフィルタ20、メモリ21、予測手段22及び最適化手段23の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
また、映像復号装置2に備えたエントロピー復号手段39、逆量子化手段32、逆直交変換手段33、逆再標本化手段34、加算手段35、ループフィルタ36、メモリ37及び予測手段38の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。