(58)【調査した分野】(Int.Cl.,DB名)
前記近似曲面は、近似曲面の絶対値の減衰度合いを表す減衰係数、及び近似曲面の振動度合いを表す位相係数を用いて生成されることを特徴とする、請求項1から3のいずれか一項に記載の符号化装置。
前記近似曲面は、近似曲面の絶対値の減衰度合いを表す減衰係数と、近似曲面の振動度合いを表す位相係数とを用いて生成されることを特徴とする、請求項6から8のいずれか一項に記載の復号装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来の符号化方式では、予測残差が多い場合、変換係数の絶対値が大きくなり、それに伴って量子化処理後の量子化係数の絶対値も大きく残ってしまう。そのため、符号化後のデータ量が増加するという課題があった。
【0006】
かかる事情に鑑みてなされた本発明の目的は、量子化係数の絶対値を減少させ、符号化効率を改善することが可能な符号化装置、復号装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る符号化装置は、入力画像を符号化する符号化装置であって、入力画像を複数のブロックに分割してブロック画像を生成するブロック分割部と、前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記ブロック画像と前記予測ブロック画像との差を示す残差ブロック画像に対して変換処理を行い、ブロックごとの変換係数を算出する変換部と、前記ブロックごとの変換係数と、該変換係数を近似する近似曲面との差分値である変換係数差分値を求める近似曲面減算部と、前記変換係数差分値を量子化ステップで除算して量子化することによりブロックごとの量子化係数を生成する量子化部と、前記量子化係数、及び前記予測ブロック画像の予測に必要な予測情報のエントロピー符号化を行ってビットストリームを出力するエントロピー符号化部と、を備えることを特徴とする。
【0008】
さらに、本発明に係る符号化装置において、前記近似曲面は、前記ブロックの基準成分の量子化係数及び量子化ステップを用いて生成されることを特徴とする。
【0009】
さらに、本発明に係る符号化装置において、前記基準成分は、直流成分、又は前記ブロック内で量子化係数の絶対値が最も大きい成分であることを特徴とする。
【0010】
さらに、本発明に係る符号化装置において、前記近似曲面は、近似曲面の絶対値の減衰度合いを表す減衰係数、及び近似曲面の振動度合いを表す位相係数を用いて生成されることを特徴とする。
【0011】
さらに、本発明に係る符号化装置において、前記近似曲面は、
近似曲面の絶対値の減衰度合いを表す減衰係数、及び近似曲面の振動度合いを表す位相係数を用いて生成され、前記減衰係数及び前記位相係数により、前記減衰度合い及び前記振動度合いがそれぞれ前記基準成分からの距離のみに依存するように設定されるか、あるいは、前記減衰度合い及び前記振動度合いがそれぞれ前記基準成分を中心として水平方向及び垂直方向に個別に設定されることを特徴とする。
【0012】
また、上記課題を解決するため、本発明に係る復号装置は、変換係数と該変換係数を近似する近似曲面との差分である変換係数差分値の量子化係数を符号化したビットストリームを復号する復号装置であって、前記ビットストリームを復号して、前記変換係数差分値の量子化係数、及びブロック画像の予測に必要な予測情報を取得するエントロピー復号部と、前記変換係数差分値の量子化係数に量子化ステップを乗算してブロックごとの変換係数差分値を復元する逆量子化部と、前記変換係数差分値に前記近似曲面を加算して変換係数を復元する変換係数復元部と、前記変換係数に対して逆変換を行って残差ブロック画像を復元する逆変換部と、前記予測情報に従って前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記残差ブロック画像及び前記予測ブロック画像を加算して復号ブロック画像を生成する加算部と、を備えることを特徴とする。
【0013】
さらに、本発明に係る復号装置において、前記近似曲面は、前記ブロックの基準成分の量子化係数及び量子化ステップを用いて生成されることを特徴とする。
【0014】
さらに、本発明に係る復号装置において、前記基準成分は、直流成分、又は前記ブロック内で量子化係数の絶対値が最も大きい成分であることを特徴とする。
【0015】
さらに、本発明に係る復号装置において、前記近似曲面は、近似曲面の絶対値の減衰度合いを表す減衰係数と、近似曲面の振動度合いを表す位相係数とを用いて生成されることを特徴とする。
【0016】
さらに、本発明に係る復号装置において、前記近似曲面は、
近似曲面の絶対値の減衰度合いを表す減衰係数と、近似曲面の振動度合いを表す位相係数とを用いて生成され、前記減衰係数及び前記位相係数により、前記減衰度合い及び前記振動度合いがそれぞれ前記基準成分からの距離のみに依存するように設定されるか、あるいは、前記減衰度合い及び前記振動度合いがそれぞれ前記基準成分を中心として水平方向及び垂直方向に個別に設定されることを特徴とする。
【0017】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記符号化装置として機能させることを特徴とする。
【0018】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記復号装置として機能させることを特徴とする。
【発明の効果】
【0019】
本発明によれば、量子化係数の絶対値を減少させ、符号化効率を改善することができるようになる。
【発明を実施するための形態】
【0021】
以下、本発明の一実施形態について、符号化装置について説明した後、復号装置について説明する。
【0022】
(符号化装置)
本発明の一実施形態に係る符号化装置について、以下に説明する。
図1に、本発明の一実施形態に係る符号化装置の構成例を示す。
図1に示す符号化装置1は、ブロック分割部11と、減算部12と、変換部13と、近似曲面減算部14と、量子化部15と、逆量子化部16と、第1加算部17と、逆変換部18と、第2加算部19と、記憶部20と、予測部21と、エントロピー符号化部22とを備える。
【0023】
ブロック分割部11は、入力画像を複数のブロックに分割し、ブロック画像を減算部12及び予測部21に出力する。ブロックのサイズは可変サイズであってもよく、例えば32×32画素、16×16画素、8×8画素、又は4×4画素とする。
【0024】
減算部12は、ブロック分割部11から入力されたブロック画像の各画素値から、後述する予測部21から入力された予測ブロック画像の各画素値を減算して、ブロック画像と予測ブロック画像との差を示す残差ブロック画像を生成し、変換部13に出力する。
【0025】
変換部13は、減算部12から入力された残差ブロック画像に対して直交変換などの変換処理を行って二次元変換処理された変換係数を算出し、ブロックごとの変換係数を近似曲面減算部14に出力する。また、ブロック内の1つの成分(要素)を基準成分とし、基準成分の変換係数を量子化部15に出力する。なお、変換部13は直交変換以外の変換を行ってもよい。
【0026】
近似曲面減算部14は、変換部13から入力されたブロックごとの変換係数を曲面近似した近似曲面を生成し、近似曲面の成分(要素)ごとの値を第1加算部17に出力する。また、変換係数と近似曲面の成分(要素)ごとの差分値である変換係数差分値を量子化部15に出力する。近似曲面減算部14の詳細については後述する。
【0027】
量子化部15は、近似曲面減算部14から入力されたブロックごとの変換係数差分値を量子化ステップで除算して量子化することにより量子化係数を生成し、逆量子化部16及びエントロピー符号化部22に出力する。ただし、視覚的な画質調整に用いる量子化重み付け係数も量子化ステップに含まれるものとする。
【0028】
また、量子化部15は、変換部13から入力された変換係数のうち、基準成分の変換係数を量子化ステップで除算して基準成分の量子化係数を生成し、基準成分の変換係数及び量子化係数を量子化情報として近似曲面減算部14に出力する。
【0029】
逆量子化部16は、量子化部15から入力された量子化係数に対して、量子化ステップを乗ずることによりブロックごとの変換係数差分値を復元し、第1加算部17に出力する。
【0030】
第1加算部17は、逆量子化部16から入力された変換係数差分値に、近似曲面減算部14から入力された近似曲面の値を加算してブロックごとの変換係数を復元し、逆変換部18に出力する。
【0031】
逆変換部18は、第1加算部17から入力された変換係数に対して、変換部13で行った変換の逆変換を行って残差ブロック画像を復元し、第2加算部19に出力する。例えば、変換部13が離散コサイン変換を行った場合には、逆変換部18は逆離散コサイン変換を行う。
【0032】
第2加算部19は、逆変換部18から入力された残差ブロック画像と、予測部21から入力された予測ブロック画像の各画素値とを加算し、その結果を復号ブロック画像として記憶部20に出力する。
【0033】
記憶部20は、第2加算部19から入力された復号ブロック画像を記憶するメモリである。
【0034】
予測部21は、記憶部20に記憶された復号済みの復号画像を参照して、対象ブロック内の画素値を予測して予測ブロック画像を生成し、減算部12及び第2加算部19に出力する。また、予測ブロック画像の生成に必要な情報である予測情報(動きベクトルやイントラ予測モード)をエントロピー符号化部22に出力する。
【0035】
エントロピー符号化部22は、量子化部15から入力された量子化係数、及び予測部21から入力された予測情報に対してエントロピー符号化を行い、データ圧縮を行ってビットストリームを生成し、符号化装置1の外部に出力する。エントロピー符号化は、0次指数ゴロム符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)など、任意のエントロピー符号化方式を用いることができる。
【0036】
(近似曲面減算部)
つぎに、近似曲面減算部14の詳細について説明する。
図2に、近似曲面減算部14の構成例を示す。
図2に示す近似曲面減算部14は、近似曲面生成部141と、変換係数差分値生成部142とを備える。
【0037】
近似曲面生成部141は、量子化部15から入力された量子化情報に基づき、ブロックごとに変換係数を曲面近似する近似曲面を生成し、近似曲面の各成分の値を変換係数差分値生成部142及び第1加算部17に出力する。
【0038】
ここで、量子化情報は、各ブロックの基準成分の量子化係数及び量子化ステップを示す情報である。基準成分は、符号化側と復号側であらかじめ決められた成分(例えば、直流成分)としてもよい。あるいは、基準成分を量子化係数の絶対値が最も大きい成分としてブロックごとに決めてもよい。量子化係数の絶対値を基準成分決定の根拠にする場合には、復号可能とするために、基準成分以外の成分の量子化係数の絶対値が基準成分の量子化係数の絶対値以上になることがないように近似曲面を生成することが必須になる。
【0039】
近似曲面生成部141は、近似曲面を数式で決定するものとする。近似曲面の数式の例を、式(1)に示す。
【0041】
ここで、xはブロック内の水平周波数成分方向の座標の値であり、yはブロック内の垂直周波数成分方向の座標の値である。基準成分(i,j)は直流成分(0,0)を基準として水平方向i番目、垂直方向j番目の座標を表す。C
ijは基準成分(i,j)における量子化係数及び量子化ステップから生成した変換係数であり、正負どちらも取り得る。例えば、C
ijは基準成分(i,j)における量子化係数及び量子化ステップの乗算値である。
【0042】
αは近似曲面における減衰係数であり、βは近似曲面における位相係数を表す。係数α,βの値はブロックのサイズや予測種別によって変えてもよい。減衰係数αは近似曲面の絶対値の減衰度合いを表しており、値が大きくなるほど減衰も大きくなる。また、位相係数βは単調に減衰するときは0であり、値が大きくなるほど近似曲面は振動しながら減衰する。式(1)により生成される近似曲面は、減衰係数αにより減衰度合いが基準成分(i,j)からの距離のみに依存するように設定され、位相係数βにより振動度合いが基準成分(i,j)からの距離のみに依存するように設定される。
【0043】
また、式(2)に、減衰係数及び位相係数を水平方向及び垂直方向で個別に設定可能とする近似曲面の数式の例を示す。
【0045】
このとき、α
x,α
yはそれぞれ水平方向、垂直方向の減衰係数となり、β
x,β
yはそれぞれ水平方向、垂直方向の位相係数となる。式(2)により生成される近似曲面は、減衰係数α
x,α
yにより減衰度合いが基準成分(i,j)を中心として水平方向及び垂直方向に個別に設定され、位相係数β
x,β
yにより振動度合いが基準成分(i,j)を中心として水平方向及び垂直方向に個別に設定される。したがって、より方向性の偏りをもった近似曲面を生成することができるが、式(1)に比べて符号化する係数情報が増えるためにデータ量が増加する。
【0046】
近似曲面の減衰係数及び位相係数はあらかじめ符号化側・復号側で一意に決めておいてもよい。この場合には、近似曲面の生成に用いた係数を示す近似曲面係数情報を復号側に出力する必要が無く、データ量を削減することができる。また、複数の減衰係数及び位相係数の組み合わせを用いて複数の近似曲面を生成した場合には、例えば、エントロピー符号化部22にて、試行した減衰係数及び位相係数の組み合わせごとに、符号化データ情報量と復号画像の歪み量を用いたコスト計算を行い、客観指標となるコスト値を算出して比較し、最適な減衰係数及び位相係数を決定する。そして、該減衰係数及び位相係数を示す近似曲面係数情報をエントロピー符号化部22に出力する。
【0047】
図3から
図6に、ブロック画像のサイズが4×4画素の場合の変換係数及びその近似曲面の例を示す。
図3(a)に示す変換係数は、直流成分が最も大きな絶対値を持ち、他の成分もおおよそが正側に偏っている。
図3(a)の変換係数を近似する近似曲面は、式(1)を用い、基準成分を直流成分とし、減衰係数α=1、位相係数β=0とした場合、
図3(b)の左側に示すように単調減衰する曲面となる。
図3(b)の右側は、近似曲面の各成分の値を示している。
【0048】
図4(a)に示す変換係数は、直流成分が最も大きな絶対値を持ち、他の成分は正負に分散している。
図4(a)の変換係数を近似する近似曲面は、式(1)を用い、基準成分を直流成分とし、減衰係数α=2、位相係数β=1とした場合、
図4(b)の左側に示すように振動減衰する曲面となる。
図4(b)の右側は、近似曲面の各成分の値を示している。
【0049】
図5(a)に示す変換係数は、直流成分以外の成分が最も大きな絶対値を持ち、他の成分はこの成分を中心として方向性のない分散の仕方をしている。
図5(a)の変換係数を近似する近似曲面は、式(1)を用い、基準成分を量子化係数の絶対値が最も大きい成分とし、減衰係数α=0.5、位相係数β=0.75とした場合、
図5(b)の左側に示すような振動減衰する曲面となる。
図5(b)の右側は、近似曲面の各成分の値を示している。
【0050】
図6(a)に示す変換係数は、直流成分以外の成分が最も大きな絶対値を持ち、他の成分はこの成分を中心として水平方向と垂直方向で偏りのある分散の仕方をしている。
図6(a)の変換係数を近似する近似曲面は、式(2)を用い、基準成分を量子化係数の絶対値が最も大きい成分とし、水平方向の減衰係数α
x=2、垂直方向の減衰係数α
y=1,水平方向の位相係数β
x=0、垂直方向の位相係数β
y=1とした場合、
図6(b)の左側に示すような振動減衰する曲面となる。
図6(b)の右側は、近似曲面の各成分の値を示している。
【0051】
変換係数差分値生成部142は、ブロックの成分ごとに、各変換係数から、近似曲面生成部141により生成された近似曲面の値を減算し、その結果の変換係数差分値を量子化部15に出力する。復号側では変換係数差分値の量子化係数と近似曲面係数情報が得られるので、成分ごとに変換係数差分値と近似曲面の値を加算することで、ブロック全体の変換係数が得られる。ただし、基準成分として利用した変換係数だけは復号側でも近似曲面生成時に使用するため、変換係数差分値生成部142による減算を行わないものとする。
【0052】
なお、上述した符号化装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、符号化装置1の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0053】
上述したように、符号化装置1及びそのプログラムは、ブロックごとの変換係数の各成分と、該変換係数を近似する近似曲面の各成分との差分である変換係数差分値を求め、変換係数差分値の量子化係数をエントロピー符号化する。そのため、量子化係数の絶対値が少なくなり零付近に偏らせることができ、すなわち有意係数(非ゼロ係数)の数を減らすことができ、符号化効率を高めることが可能となる。
【0054】
ここで例として、
図3に示した例における単調減衰の近似曲面を利用して量子化係数を求めたときの、従来法により生成される量子化係数を
図7(a)に示し、本発明に係る符号化装置1により生成される量子化係数を
図7(b)に示す。
図7から、本発明によれば、量子化係数の絶対値が小さくなり、非零係数の数が減っている様子が分かる。なお、直流成分の量子化係数については、従来法と本発明による手法とで同一の値となり、
図7ではともに6である。
【0055】
また、一般的なブロックの変換係数は、統計的には低周波数成分の絶対値が大きく、高周波数成分の絶対値が小さくなる。しかし変換係数は正負が混在するため、単純に低域側から高域側へスキャンしても、その統計的特性の利用が難しい。そこで、符号化装置1は、減衰パターンの異なる近似曲面を複数通り作成し、近似曲面との残差の変換係数が最も少なくなるものを選択してブロックごとに最適化処理を行うようにしてもよい。これにより、大域的には絶対値の統計性を追従しながら、正負のランダム性にも対応するような近似曲面を作成でき、更に符号化劣化を改善することができるようになる。
【0056】
(復号装置)
つぎに、本発明の一実施形態に係る復号装置について説明する。
図8に、本発明の一実施形態に係る復号装置の構成例を示す。
図8に示す復号装置2は、エントロピー復号部31と、逆量子化部32と、変換係数復元部33と、逆変換部34と、加算部35と、記憶部36と、予測部37とを備える。
【0057】
復号装置2は、符号化装置1により符号化されたビットストリームを復号する。すなわち、変換係数と該変換係数を近似する近似曲面との差分である変換係数差分値の量子化係数を符号化したビットストリームを復号する。
【0058】
エントロピー復号部31は、符号化装置1のエントロピー符号化部22と対をなし、エントロピー符号化部22で符号化されたビットストリームを復号し、変換係数差分値の量子化係数、及びブロック画像の予測処理に必要な情報である予測情報を取得する。そして、量子化係数を逆量子化部32に出力し、予測情報を予測部37に出力する。また、符号化装置1から近似曲面係数情報を受信した場合には、近似曲面係数情報を復号し、変換係数復元部33に出力する。
【0059】
逆量子化部32は、エントロピー復号部31から入力された変換係数差分値の量子化係数に量子化ステップを乗算してブロックごとの変換係数差分値を復元し、変換係数復元部33に出力する。量子化ステップは符号化装置1から取得してもよいし、予め符号化装置1と共通の量子化テーブルを有していてもよい。
【0060】
変換係数復元部33は、符号化装置1によりにより生成された近似曲面を生成し、逆量子化部32から入力された変換係数差分値に近似曲面の値を成分ごとに加算して、二次元に配列してブロックごとの変換係数を復元し、逆変換部34に出力する。変換係数復元部33の詳細については後述する。
【0061】
逆変換部34は、変換係数復元部33から入力された変換係数に対して逆変換を行って残差ブロック画像を復元し、加算部35に出力する。逆変換は符号化装置1の逆変換部18と同じ処理である。
【0062】
加算部35は、逆変換部34から入力された残差ブロック画像と、予測部37から入力された予測ブロック画像の各画素値とを加算し、その結果を復号ブロック画像として記憶部36、及び復号装置2の外部に出力する。
【0063】
記憶部36は、加算部35から入力された復号ブロック画像を記憶するメモリである。
【0064】
予測部37は、記憶部36に記憶された復号済みの復号ブロック画像を参照し、エントロピー復号部31から入力された予測情報に従って予測処理を行って予測ブロック画像を生成し、加算部35に出力する。
【0065】
(変換係数復元部)
つぎに、変換係数復元部33の詳細について説明する。
図9に、変換係数復元部33の構成例を示す。
図9に示す例では、変換係数復元部33は、近似曲面生成部331と、近似曲面加算部332とを備える。
【0066】
近似曲面生成部331は、あらかじめ符号化側・復号側で一意に決められている近似曲面を生成する。あるいは、近似曲面生成部331は、エントロピー復号部31から近似曲面係数情報が入力される場合には、近似曲面係数情報に基づいて近似曲面を生成し、近似曲面加算部332に出力する。近似曲面は、例えば上述したように、変換係数の基準成分の量子化係数及び量子化ステップと、近似曲面の絶対値の減衰度合いを表す減衰係数と、近似曲面の振動度合いを表す位相係数とを用いて、例えば式(1)又は(2)により生成される。すなわち、近似曲面生成部331は、符号化装置1の近似曲面生成部141と同一の近似曲面を生成する。
【0067】
近似曲面加算部332は、近似曲面生成部331から入力された近似曲面に変換係数差分値を加算して変換係数を復元し、逆変換部34に出力する。
【0068】
なお、上述した復号装置2として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、復号装置2の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0069】
上述したように、復号装置2及びそのプログラムは、変換係数と該変換係数を近似する近似曲面との差分である変換係数差分値の量子化係数を符号化したビットストリームを復号し、変換係数差分値に近似曲面を加算した変換係数を復元する。変換係数差分値の量子化係数は絶対値が少なく、有意係数(非ゼロ係数)の数を減らすことができるため、符号化効率を高めることが可能となる。
【0070】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。