(58)【調査した分野】(Int.Cl.,DB名)
前記残差ブロック画像復元部は、前記残差ブロック画像に対して、前記復元モード情報によって特定される関数を用いた最適化演算を行うことを特徴とする、請求項3に記載の復号装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のデブロッキングフィルタやサンプルアダプティブオフセットは、ブロック境界で生じる不連続性などを波形整形することで目立たなくする方式であり、真の画像信号の波形に戻す設計とはなっていないことから、画質劣化を補償するには限界がある。また、適応ループフィルタは線形フィルタの畳み込みであり、量子化で生じる非線形な画質劣化を補償するには無理がある。
【0006】
また、特許文献1に記載の手法は、反復演算により非線形的な画質劣化にも適応可能と考えられるが、適応ループフィルタの挿入位置が残差ブロック画像と予測ブロック画像を加算する処理よりも後段にある。画質の劣化は変換処理と量子化処理の組み合わせで生じるものであるから、本来的には残差ブロック画像の段階で劣化を補償すべきところ、特許文献1に記載の手法では加算処理の後で補償を試みることから、予測ブロック画像の性質が混入し劣化補償の効率が低下してしまう。
【0007】
かかる事情に鑑みてなされた本発明の目的は、変換処理と量子化処理の組み合わせで生じる劣化を補償し、復号映像の画質を向上させることが可能な符号化装置、復号装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る符号化装置は、入力画像を分割してブロック画像を生成するブロック分割部と、前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記ブロック画像と前記予測ブロック画像との差を示す第1の残差ブロック画像に対して直交変換を行い第1の変換係数を算出する変換部と、前記第1の変換係数を量子化した量子化インデックスを生成する量子化部と、前記量子化インデックスに量子化ステップを乗ずることにより第2の変換係数を算出する逆量子化部と、前記第2の変換係数に対して逆直交変換を行い第2の残差ブロック画像を算出する逆変換部と、前記第2の残差ブロック画像に対して複数種類の画像処理を行い、前記第1の残差ブロック画像との誤差が最も少ない画像を復元残差ブロック画像として生成する残差ブロック画像復元部と、前記予測ブロック画像及び前記復元残差ブロック画像を加算して復号ブロック画像を生成する加算部と、を備え、前記予測部は、復号済みの前記復号ブロック画像を参照して前記予測ブロック画像を生成することを特徴とする。
【0009】
さらに、本発明に係る符号化装置において、前記残差ブロック画像復元部は、前記第2の残差ブロック画像に対して関数の異なる複数種類の最適化演算を行うことを特徴とする。
【0010】
また、上記課題を解決するため、本発明に係る復号装置は、ブロック画像の量子化インデックス、復元処理を特定するための情報である復元モード情報、及び予測処理に必要な情報である予測情報を取得するエントロピー復号部と、前記量子化インデックスに量子化ステップを乗ずることにより変換係数を算出する逆量子化部と、前記変換係数に対して逆直交変換を行い残差ブロック画像を算出する逆変換部と、前記復元モード情報に従って、前記残差ブロック画像に対して復元処理を行い復元残差ブロック画像を生成する残差ブロック画像復元部と、前記予測情報に従って、前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記復元残差ブロック画像及び前記予測ブロック画像を加算して復号ブロック画像を生成する加算部と、を備え、前記予測部は、復号済みの前記復号ブロック画像を参照して前記予測ブロック画像を生成することを特徴とする。
【0011】
さらに、本発明に係る復号装置において、前記残差ブロック画像復元部は、前記残差ブロック画像に対して、前記復元モード情報によって特定される関数を用いた最適化演算を行うことを特徴とする。
【0012】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記符号化装置として機能させることを特徴とする。
【0013】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記復号装置として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、符号化装置において最適と判定された復元手法によって、復号装置における復元処理を制御するため、残差ブロック画像に含まれる劣化を補償することができる。その結果、復号映像の画質を向上させることができる。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【0017】
(符号化装置)
まず、本発明の一実施形態に係る符号化装置について説明する。
図1に、本発明の一実施形態に係る符号化装置の構成例を示す。
図1に示す例では、符号化装置10は、ブロック分割部11と、減算部12と、変換部13と、量子化部14と、エントロピー符号化部15と、逆量子化部16と、逆変換部17と、残差ブロック画像復元部18と、加算部19と、バッファ20と、予測部21とを備える。
【0018】
ブロック分割部11は、入力された映像のフレーム画像を、以降の処理の単位で空間的に分割してブロック画像を生成し、減算部12及び予測部21に出力する。例えば、ブロック分割部11は、フレーム画像を一定の形状(例えば大きさの固定された矩形)に分割する。あるいは、ブロック分割部11は、大きさや形状の異なる部分領域に分割してもよい。本明細書では、ブロック分割部11で分割されたブロック列のうち、これから処理を行うブロック画像を対象ブロック画像と称する。
【0019】
減算部12は、ブロック分割部11から入力された対象ブロック画像の各画素値から、後述する予測部21から入力された予測ブロック画像の各画素値を減じた残差ブロック画像(第1の残差ブロック画像)を生成し、変換部13に出力する。
【0020】
変換部13は、減算部12から入力された残差ブロック画像に対して直交変換を行って変換係数(第1の変換係数)を算出し、量子化部14に出力する。直交変換は、具体的には離散コサイン変換、離散サイン変換、これらを整数近似したもの(整数変換)、あるいはカルーネン・レーベ変換などである。
【0021】
量子化部14は、変換部13から入力された変換係数を量子化し、量子化インデックスとしてエントロピー符号化部15及び逆量子化部16に出力する。量子化ステップは、変換係数ごとに変化させてもよい。例えば、変換部13が離散コサイン変換や離散サイン変換、あるいはこれらの整数変換による場合に、直流成分や低周波成分に対しては高周波成分に対するものよりも細かい量子化ステップを割り当ててもよい。こうした変換係数ごとの量子化ステップは、表(量子化テーブル)として定義しておいてもよい。
【0022】
エントロピー符号化部15は、量子化部14から入力された量子化インデックス、後述する残差ブロック画像復元部18から入力された復元モード情報、及び後述する予測部21から入力された予測情報に対しエントロピー符号化を適用し、データ圧縮を行って、ビット列(ビットストリーム)を外部に出力する。エントロピー符号化は、例えばハフマン符号化やその派生であるCAVLC(Context-Adaptive Variable Length Coding)、算術符号化やその派生であるCABAC(Context-Adaptive Binary Arithmetic Coding)など、任意のエントロピー符号化方式を用いることができる。
【0023】
逆量子化部16は、量子化部14から入力された量子化インデックスに対し、量子化ステップを乗ずることにより変換係数(第2の変換係数)を算出し、逆変換部17に出力する。逆量子化部16により算出された変換係数は、変換部13により算出された変換係数に対して、量子化ステップに応じた量子化誤差を含む。
【0024】
逆変換部17は、逆量子化部16から入力された変換係数に対し、変換部13の逆変換となる逆直交変換を行って残差ブロック画像(第2の残差ブロック画像)を復元し、残差ブロック画像復元部18に出力する。例えば、変換部13が離散コサイン変換を行う場合には、逆変換部17は逆離散コサイン変換を行う。逆変換部17により算出された残差ブロック画像は、減算部12により算出された残差ブロック画像に対して、量子化に起因する誤差を含む。
【0025】
残差ブロック画像復元部18は、変換部13、量子化部14、逆量子化部16、及び逆変換部17の処理により生じる非可逆な変化(画質劣化)、すなわち、変換部13の入力と逆変換部17の出力間の差異を補償することを目的とする。残差ブロック画像復元部18は、逆変換部17から入力された劣化した残差ブロック画像(劣化残差ブロック画像)と、変換部13への入力である劣化のない残差ブロック画像(無劣化残差ブロック画像)とに基づき、画質劣化を補償するための最適な処理を判断する。そして、最適な処理法を特定するための情報である復元モード情報をエントロピー符号化部15に出力するとともに、最適な処理法によって画質劣化を補償した残差ブロック画像(復元残差ブロック画像)を加算部19に出力する。
【0026】
図2に、残差ブロック画像復元部18の構成例を示す。
図2において、残差ブロック画像復元部18は、複数の復元部22と、最適化部23と、選択切替部24とを備える。
図2では、復元部22の数をN個(Nは2以上の自然数)とし、復元部22−1乃至復元部22−Nを備えるものとする。
【0027】
復元部22は、劣化のある残差ブロック画像に対してそれぞれ画像処理を行い、画像処理後の残差ブロック画像を最適化部23及び選択切替部24に出力する。復元部22の実行する画像処理の種類は、それぞれ任意である。例えば、画像処理として、予め定められた係数を畳み込むディジタルフィルタ処理であってもよいし、まったく処理を行わず入力された残差ブロック画像をそのまま出力するものであってもよい。
【0028】
図3に、変換、量子化、逆量子化、及び逆変換による画像の劣化過程Pを示す。復元部22は、劣化過程Pの逆問題を解き、劣化前の残差ブロック画像xを復元することを意図している。
【0029】
例えば、復元部22−n(nは1以上N以下の自然数)は、入力たる劣化残差ブロック画像の画素値列をラスタスキャンし1次元の列ベクトルとして表現したものをyとし、画像処理後の残差ブロック画像の画素値列をラスタスキャンし1次元の列ベクトルとして表現したものをx
nとおいたとき、最適化演算を行い画像処理後の残差ブロック画像を導出してもよい。
【0030】
最適化演算は式(1)で表される。ベクトル関数Pは劣化過程Pを定式化したものであり、変換T、及び量子化と逆量子化による信号値変化を表すベクトル関数Qによって式(2)で定義される。関数E
n(x,y)は、残差ブロック画像xと劣化残差ブロック画像yとの間の誤差を定量化する関数であり、以下、誤差項という。関数R
n(x)は残差ブロック画像xの特徴量を求める関数であり、以下、正則化項という。
【0032】
式(1)の最適化は、最急降下法やレーベンバーグ・マルカート法といった反復演算により実現可能である。なお、反復演算の打ち切り条件は、例えば、式(1)の右辺中括弧内の絶対値が閾値以下に至った場合、式(1)の右辺中括弧内の反復による変化量の絶対値が閾値以下に至った場合、所定の繰り返し回数(例えば、1回乃至10回の所定の繰り返し回数)に達したとき、あるいはこれら条件を組み合わせた条件を満たしたときとする。
【0033】
復元部22−1乃至復元部22−Nには、(E
1,R
1)乃至(E
N,R
N)の関数対がそれぞれ定義される。好ましくは、m≠n(mは1以上N以下の自然数、nも1以上N以下の自然数)に対し、(E
m,R
m)≠(E
n,R
n)であるものとする。例えば、N=4の場合に、E
1には二乗誤差、R
1には全変動ノルム、E
2には二乗誤差、R
2には分散値、E
3には絶対値誤差、R
3には全変動ノルム、及びE
4には絶対値誤差、R
4には分散値などと、対になるものの組み合わせが全部異なるよう各関数対を定義すればよい。
【0034】
例えば、誤差項E
nが二乗誤差による場合には、式(3)で定義できる。ここで、||c||
2はベクトルcのユークリッドノルム(L2ノルム)を意味する。
【0036】
また、例えば、誤差項E
nが絶対値誤差による場合には、式(4)で定義できる。なお、||c||
1はベクトルcの絶対値ノルム(L1ノルム)を意味する。
【0038】
正則化項R
nは、例えば、残差ブロック画像xが複雑な画素値パターンを有するほどスカラー値が大きくなるよう設定する。例えば、正則化項R
nが全変動ノルム(トータルバリエーションノルム;TVノルム)による場合には、式(5)とする。なお、D
x及びD
yは、画像の水平方向及び垂直方向の微分(差分)をとる作用素(行列)をそれぞれ表す。
【0040】
あるいは、水平h画素、垂直v画素の画像Xを、式(6)によりベクトルxとして表現しているとしたとき、式(5)は、式(7)とも表現できる。
【0043】
また、例えば、正則化項R
nがブロック内の画素値の分散値による場合には、正則化項R
nは式(8)と定義できる。
【0045】
最適化部23は、復元部22−1乃至復元部22−Nから入力された画像処理済みの残差ブロック画像x
1乃至x
Nと、減算部12から入力された残差ブロック画像xとを比較し、いずれの復元部22からの入力が最も減算部12からの入力に類似するかを判定する。類似の判定は、例えば、復元部22−nから入力された画像処理済みの残差ブロック画像x
nと、減算部12から入力された劣化のない残差ブロック画像xとの間の二乗誤差を求め、この二乗誤差を最小化するnを求めることで実行する。二乗誤差を最小化するnを復元モード情報と称し、n^とおくと、復元モード情報n^は式(9)で表される。復元モード情報n^は、選択切替部24及びエントロピー符号化部15へ出力される。
【0047】
選択切替部24は、復元部22−1乃至復元部22−Nから入力された残差ブロック画像から、最適化部23から入力された復元モード情報n^に従って復元部22−n^を選択し、復元部22−n^から入力された残差ブロック画像x
n^を復元残差ブロック画像として出力する。すなわち、復元残差ブロック画像x^は、式(10)で表される。
【0049】
加算部19は、予測部21から入力された予測ブロック画像の各画素値と、残差ブロック画像復元部18から入力された復元残差ブロック画像の各画素値とを加算し、その結果を復号ブロック画像としてバッファ20に出力する。
【0050】
バッファ20は、加算部19から入力された復号ブロック画像を記憶するメモリであって、ブロック分割部11における対象ブロック画像の選定と連動して、対象ブロック画像の位置に復号ブロック画像を追記することにより、順次復号画像を構築してゆく。
【0051】
予測部21は、バッファ20に記憶された復号済みの復号画像(1以上の復号ブロック画像)を参照して、対象ブロック内の画素値列を予測し、予測結果である予測ブロック画像を減算部12及び加算部19に出力する。また、ブロック画像の予測に必要な情報である予測情報(動きベクトルやイントラ予測モード)をエントロピー符号化部15に出力する。
【0052】
ここで、予測部21が参照する復号画像は、対象ブロック画像の属するフレームと同一フレームの復号済みの領域であってもよいし、対象ブロック画像の属するフレームとは異なる符号化済みフレームであってもよい。予測部21としては、例えば、インター予測(動き補償予測)や、イントラ予測(画面内予測)を用いることができる。インター予測には、例えば単方向予測や、双方向予測(あるいは双予測)を用いることができる。イントラ予測には、例えば方向性予測や、平均値予測、平面予測、画面内動き補償予測(イントラブロックコピー)を用いることができる。また、カラー映像(画像)の場合には、対象とする色とは別の色成分からの予測(例えば、輝度−色差予測)を用いてもよい。
【0053】
上述したように、符号化装置10は、劣化残差ブロック画像に複数種類の画像処理を行い、劣化のない残差ブロック画像との誤差が最も少ない画像を復元残差ブロック画像として生成し、復元残差ブロック画像を用いて予測を行う。そのため、符号化装置10は、変換処理と量子化処理の組み合わせで生じる劣化を補償することができる。
【0054】
なお、上述した符号化装置10として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、符号化装置10の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0055】
(復号装置)
つぎに、本発明の一実施形態に係る復号装置について説明する。
図4に、本発明の一実施形態に係る復号装置の構成例を示す。
図4に示す例では、復号装置30は、エントロピー復号部31と、逆量子化部32と、逆変換部33と、残差ブロック画像復元部34と、加算部35と、バッファ36と、予測部37とを備え、上述した符号化装置10からデータを取得する。
【0056】
エントロピー復号部31は、符号化装置10のエントロピー符号化部15と対をなし、エントロピー符号化部15で圧縮されたデータを復元(解凍)し、ブロック画像の量子化インデックス、残差ブロック画像の復元処理を特定するための情報である復元モード情報、及びブロック画像の予測処理に必要な情報である予測情報を取得する。そして、量子化インデックスを逆量子化部32に出力し、復元モード情報を残差ブロック画像復元部34に出力し、予測情報を予測部37に出力する。
【0057】
逆量子化部32は、エントロピー復号部31から入力された量子化インデックスに対し、量子化ステップを乗ずることにより変換係数を算出し、逆変換部33に出力する。
【0058】
逆変換部33は、逆量子化部32から入力された変換係数に対し、逆直交変換を行って残差ブロック画像を復元し、残差ブロック画像復元部34に出力する。
【0059】
残差ブロック画像復元部34は、エントロピー復号部31から入力された復元モード情報に従って、逆変換部33から入力された劣化のある残差ブロック画像に対して復元処理を行い、復元結果である復元残差ブロック画像を加算部35に出力する。例えば、残差ブロック画像復元部34は、残差ブロック画像に対して、復元モード情報によって特定される関数を用いた最適化演算を行う。最適化演算については上述したとおりである。
【0060】
図5に、残差ブロック画像復元部34の構成例を示す。
図5に示す例では、残差ブロック画像復元部34は、複数の復元部38と、選択切替部39とを備える。
図5では、復元部38の数をN個(Nは2以上の自然数)とし、復元部38−1乃至復元部38−Nを備えるものとする。
【0061】
復元部38は、符号化装置10の復元部22と同様に、劣化のある残差ブロック画像に対してそれぞれ画像処理を行い、画像処理後の残差ブロック画像を選択切替部39に出力する。
【0062】
選択切替部39は、残差ブロック画像復元部34の外部から復元モード情報が入力されることを除いては選択切替部24と同様である。すなわち、選択切替部39は、復元部38−1乃至復元部38−Nから入力された残差ブロック画像から、エントロピー復号部31から入力された復元モード情報によって特定される残差ブロック画像を選択し、復元残差ブロック画像として出力する。
【0063】
あるいは、残差ブロック画像復元部34は、逆変換部33から入力された劣化のある残差ブロック画像に対して、復元モード情報によって特定される画像処理のみを行うようにしてもよい。
【0064】
加算部35は、後述する予測部37から入力された予測ブロックの各画素値と、逆変換部33から入力された残差ブロック画像の各画素値とを加算し、その結果を復号ブロック画像としてバッファ36に出力する。
【0065】
バッファ36は、バッファ20の動作と同一である。復号装置30がエントロピー復号部31からの1フレーム分のデータを処理し終えた時点で、バッファ36には当該フレームの復号画像が記憶された状態となる。
【0066】
予測部37は、バッファ36に記憶された復号済みの復号画像(1以上の復号ブロック画像)を参照し、エントロピー復号部31から入力された予測情報に従って予測処理を行って予測ブロック画像を生成し、加算部35に出力する。
【0067】
上述したように、復号装置30は、残差ブロック画像の復元処理に必要な情報を示す復元モード情報を取得し、残差ブロック画像に対して復元モードに従って復元処理を行って復元残差ブロック画像を生成し、復元残差ブロック画像を用いて予測を行う。そのため、復号装置30は、変換処理と量子化処理の組み合わせで生じる劣化を補償することができ、その結果、復号画像の画質を向上させることができる。
【0068】
なお、上述した復号装置30として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、復号装置30の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0069】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。