説明

画像符号化装置

【課題】1パスの処理でも、符号量の制御誤差の発生を抑制して、高精度なレート制御を実現することができるようにする。
【解決手段】目標符号量BT(n)と統計量E(n)から量子化ステップサイズΔを算出し、その量子化ステップサイズΔを量子化部13に与える量子化ステップサイズ算出部20と、エントロピ符号化部15から出力バッファ部17に出力される符号データの符号量B(n)が目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる下位ビット切捨部16とを設ける。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、符号データの符号量が一定値になるように制御して、所望の符号化レートで伝送を実現する画像符号化装置に関するものである。
【背景技術】
【0002】
高解像度の画像を定レートで伝送するために画像を適当なサイズに分割し、各分割画像が一定の符号量になるように、分割画像毎に、量子化ステップサイズを制御して符号化する技術が一般的に採用されている。
図13は量子化ステップサイズを制御して符号化する技術が採用されている一般的な画像符号化装置を示す構成図である。
以下、複数ライン×画像幅からなるストライプn(n=1,2,・・・,N)をレート制御単位として、ストライプnの量子化ステップを制御する手法について説明する(例えば、特許文献1を参照)。
【0003】
(1)ストライプnの目標符号量の算出処理
この算出処理では、既に符号化済みのストライプの符号量から、符号化対象のストライプnの目標符号量を算出する。
このとき、過去のストライプにおいて、符号量が多く発生しすぎている場合には、次のストライプで目標符号量を小さくし、逆に、符号量が少ない場合には、次のストライプで目標符号量を大きくする。
【0004】
(2)ストライプnの統計量の算出処理
この算出処理では、符号化対象のストライプで生成される符号量を予測するために、ストライプnの情報量を示す統計量を算出する。
例えば、ストライプnの統計量として、ストライプnの分散や、隣接画素間の差分電力などを算出する。
【0005】
(3)ストライプnに対する量子化ステップサイズの算出処理
この算出処理では、ストライプnの統計量を参照して、ストライプnの符号量が目標符号量になると予測される量子化ステップサイズを決定する。
例えば、複雑な絵柄のストライプであれば、量子化ステップサイズを大きめに取り、逆に、単純なストライプであれば、量子化ステップサイズを小さめに取るようにする。
これにより、ストライプ毎に適切な値の量子化ステップサイズが設定されて、各ストリップでの発生符号量が制御される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】EP0631443A1
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の画像符号化装置は以上のように構成されているので、ストライプnの符号量が目標符号量になると予測される量子化ステップサイズが決定されるが、ストライプnの正確な符号量は、実際にハフマン符号化を実施してみないとわからない。このため、1パスの処理では、ある程度の符号量の制御誤差が発生してしまう課題があった。
なお、マルチパスの処理を行うようにすれば、適切な量子化ステップサイズを探すことができるが、何度もハフマン符号化を実施することになるため、処理量の増大を伴うことになる。
【0008】
この発明は上記のような課題を解決するためになされたもので、1パスの処理でも、符号量の制御誤差の発生を抑制して、高精度なレート制御を実現することができる画像符号化装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
この発明に係る画像符号化装置は、既に符号化済みのストライプの符号量から目標符号量を算出する目標符号量算出手段と、画像分割手段により分割されたストライプの統計量を算出する統計量算出手段と、目標符号量算出手段により算出された目標符号量と統計量算出手段により算出された統計量から量子化ステップサイズを算出し、その量子化ステップサイズを量子化手段に与える量子化ステップサイズ算出手段と、エントロピ符号化手段から出力バッファ手段に出力される符号データの符号量が、目標符号量算出手段により算出された目標符号量を上回る場合、エントロピ符号化手段から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる下位ビット切捨手段とを設けるようにしたものである。
【発明の効果】
【0010】
この発明によれば、既に符号化済みのストライプの符号量から目標符号量を算出する目標符号量算出手段と、画像分割手段により分割されたストライプの統計量を算出する統計量算出手段と、目標符号量算出手段により算出された目標符号量と統計量算出手段により算出された統計量から量子化ステップサイズを算出し、その量子化ステップサイズを量子化手段に与える量子化ステップサイズ算出手段と、エントロピ符号化手段から出力バッファ手段に出力される符号データの符号量が、目標符号量算出手段により算出された目標符号量を上回る場合、エントロピ符号化手段から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる下位ビット切捨手段とを設けるように構成したので、1パスの処理でも、符号量の制御誤差の発生を抑制して、高精度なレート制御を実現することができる効果がある。
【図面の簡単な説明】
【0011】
【図1】この発明の実施の形態1による画像符号化装置を示す構成図である。
【図2】この発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
【図3】この発明の実施の形態1による画像符号化装置の下位ビット切捨部16の処理内容を示すフローチャートである。
【図4】ストライプ分割部11により分割されるストライプの一例を示す説明図である。
【図5】QP=3,10,25,150の場合のストライプの統計量と発生符号量の関係を示す説明図である。
【図6】「JPEG XR」の変換係数を示す説明図である。
【図7】予測誤差の絶対値を自然2進数で表現した場合のMSB(Most Significant Bit)からLSB(Least Significant Bit)までのビットプレーンを模式的に表す説明図である。
【図8】下位ビットの削減ビット数と削減符号量の対応関係を示すテーブル図である。
【図9】タイルが64×2個のマクロブロックで構成されている例を示す説明図である。
【図10】この発明の実施の形態3による画像符号化装置を示す構成図である。
【図11】下位ビットの非圧縮伝送を示す説明図である。
【図12】下位ビットの削減ビット数とサインビットの削減の有無と削減符号量の対応関係を示すテーブル図である。
【図13】量子化ステップサイズを制御して符号化する技術が採用されている一般的な画像符号化装置を示す構成図である。
【発明を実施するための形態】
【0012】
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、符号化処理部1は、例えば、静止画像の標準符号化方式である「JPEG XR(ISO/IEC 29199−2)」を使用して、画像データの符号化処理を実施する処理部である。
符号化処理部1のストライプ分割部11は符号化対象の画像をストライプ(n)(n=1,2,・・・,N)単位に分割する処理を実施する。なお、ストライプ分割部11は画像分割手段を構成している。
【0013】
例えば、「JPEG XR」では、画像をタイルと称する矩形領域に分割し、タイル毎に量子化ステップサイズなどの符号化パラメータを設定して符号化することができる。
ここで、図4はストライプ分割部11により分割されるストライプの一例を示す説明図である。
図4の例では、符号化対象の画像が32ラインからなるストライプに分割されており、このストライプが符号量の制御単位とされる。
図4の例では、符号化対象の画像が水平方向に分割されているが、符号化対象の画像が垂直方向に分割されるものであってもよい。
【0014】
変換処理部12はストライプ分割部11により分割されたストライプ(n)の画像信号に対する変換処理を実施し、その画像信号の変換係数を出力する処理を実施する。
量子化部13は量子化ステップサイズ算出部20から与えられる量子化ステップサイズΔで、変換処理部12から出力される変換係数を量子化し、その変換係数の量子化値を出力する処理を実施する。
なお、変換処理部12及び量子化部13から量子化手段が構成されている。
【0015】
予測処理部14は量子化部13から出力された量子化値の予測誤差を算出する処理を実施する。
エントロピ符号化部15は予測処理部14により算出された予測誤差の絶対値を示す複数のビットのうち、下位ビットについては圧縮せずに出力し、上位ビットについてはハフマン符号化して出力する処理を実施する。予測誤差絶対値が非0の場合には、予測誤差の正負を示す1ビットの情報も伝送する。
なお、予測処理部14及びエントロピ符号化部15からエントロピ符号化手段が構成されている。
【0016】
下位ビット切捨部16はエントロピ符号化部15から出力されたストライプ(n)の符号データ(ハフマン符号化された上位ビットの符号データのほか、圧縮されずに出力された下位ビットの非圧縮符号データを含む)の符号量B(n)が、目標符号量算出部18により算出された目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる処理を実施する。なお、下位ビット切捨部16は下位ビット切捨手段を構成している。
【0017】
出力バッファ部17は下位ビット切捨部16により切り捨て処理が実施された符号データ(n)を一時的に蓄積し、一定速度で符号データ(n)を出力する処理を実施する。なお、出力バッファ部17は出力バッファ手段を構成している。
目標符号量算出部18は既に符号化済みのストライプの符号量から目標符号量BT(n)を算出する処理を実施する。なお、目標符号量算出部18は目標符号量算出手段を構成している。
【0018】
統計量算出部19はストライプ分割部11により分割されたストライプ(n)の統計量E(n)を算出する処理を実施する。なお、統計量算出部19は統計量算出手段を構成している。
量子化ステップサイズ算出部20は目標符号量算出部18により算出された目標符号量BT(n)と統計量算出部19により算出された統計量E(n)から量子化パラメータQP(1〜255の値をとるパラメータ)を算出して、その量子化パラメータQPに対応する量子化ステップサイズΔを算出し、その量子化ステップサイズΔを量子化部13に与える処理を実施する。なお、量子化ステップサイズ算出部20は量子化ステップサイズ算出手段を構成している。
【0019】
図1の例では、画像符号化装置の構成要素であるストライプ分割部11、変換処理部12、量子化部13、予測処理部14、エントロピ符号化部15、下位ビット切捨部16、出力バッファ部17、目標符号量算出部18、統計量算出部19及び量子化ステップサイズ算出部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコン)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、ストライプ分割部11、変換処理部12、量子化部13、予測処理部14、エントロピ符号化部15、下位ビット切捨部16、出力バッファ部17、目標符号量算出部18、統計量算出部19及び量子化ステップサイズ算出部20の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0020】
図2はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
また、図3はこの発明の実施の形態1による画像符号化装置の下位ビット切捨部16の処理内容を示すフローチャートである。
【0021】
次に動作について説明する。
この実施の形態1では、符号化処理部1が、静止画像の標準符号化方式である「JPEG XR(ISO/IEC 29199−2)」を使用して、画像データの符号化処理を実施する例を説明するが、符号化方式は「JPEG XR(ISO/IEC 29199−2)」に限るものではなく、他の符号化方式を使用するものであってもよい。
【0022】
符号化処理部1のストライプ分割部11は、符号化対象の画像を示す画像データを入力すると、図4に示すように、符号化対象の画像を水平方向に分割することによって、32ラインからなるN個のストライプ(n)(n=1,2,・・・,N)に分割する(図2のステップST1)。
ここでは、符号化対象の画像を水平方向に分割しているが、符号化対象の画像を垂直方向に分割するようにしてもよい。
以後、画像符号化装置では、ストライプが符号量の制御単位となる。
【0023】
目標符号量算出部18は、符号化処理部1によって、既に符号化されたストライプ(符号化対象のストライプより前のストライプ)の符号量から目標符号量BT(n)を算出する(ステップST2)。
即ち、目標符号量算出部18は、符号化処理部1がn番目のストライプであるストライプ(n)の符号化処理に使用する量子化ステップサイズΔを算出するために、既に符号化されたストライプの符号量から目標符号量BT(n)を算出する。
【0024】
目標符号量算出部18は、過去のストライプにおいて、符号量が多く発生しすぎている場合、ストライプ(n)の目標符号量BT(n)が小さくなるように算出し、逆に、符号量が少ない場合、ストライプ(n)の目標符号量BT(n)が大きくなるように算出する。
具体的には、ストライプ(n)の目標符号量を下記の式(1)で算出する。

ただし、式(1)において、BSはストライプ当りの目標平均符号量、ストライプ(n)で実際に発生する符号量である。
式(1)によれば、過去の5つのストライプで発生したレート制御の誤差がストライプ(n)で補償されるように、目標符号量BT(n)が算出される。
【0025】
統計量算出部19は、ストライプ分割部11が符号化対象の画像をN個のストライプに分割すると、ストライプ(n)の情報量を示す統計量E(n)を算出する(ステップST3)。
ストライプ(n)の統計量E(n)として、ストライプ(n)の分散や隣接画素間の差分電力などを算出してもよいが、ここでは、ストライプ(n)において、「JPEG XR」における変換係数のLP成分(詳細は後述するが、図6のLP係数が該当する)の絶対値の平均値を算出し、その平均値をストライプ(n)の統計量E(n)として使用するものとする。
【0026】
量子化ステップサイズ算出部20は、目標符号量算出部18が目標符号量BT(n)を算出し、統計量算出部19が統計量E(n)を算出すると、その目標符号量BT(n)と統計量E(n)から量子化パラメータQP(1〜255の値をとるパラメータ)を算出する。
具体的には、以下のようにして、量子化パラメータQPを算出する。
【0027】
まず、量子化ステップサイズ算出部20は、一般的な画像を使用して、「JPEG XR」の量子化パラメータQPを変更しながら、ストライプの統計量と発生符号量の関係を調査する。
図5はQP=3,10,25,150の場合のストライプの統計量と発生符号量の関係を示す説明図である。
量子化ステップサイズ算出部20は、ストライプの統計量と発生符号量の関係を調査すると、統計量と発生符号量の関係をテーブル化する。
【0028】
量子化ステップサイズ算出部20は、統計量と発生符号量の関係をテーブル化すると、そのテーブルを参照して、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPを特定する。
例えば、図5に示す関係がテーブル化されているとき、目標符号量BT(n)が“bt1”で、統計量E(n)が“e1”であれば、QP=3,10,25,150の中で、QP=10が最も近い量子化パラメータとなるため、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPが“10”であると特定する。
また、目標符号量BT(n)が“bt2”で、統計量E(n)が“e2”であれば、QP=3,10,25,150の中で、QP=150が最も近い量子化パラメータとなるため、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPが“150”であると特定する。
【0029】
量子化ステップサイズ算出部20は、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPを特定すると、その量子化パラメータQPに対応する量子化ステップサイズΔを算出する(ステップST4)。
即ち、量子化ステップサイズ算出部20は、下記の式(2)を用いて、量子化パラメータQPに対応する量子化ステップサイズΔを算出する。

式(2)において、A%Bは、AをBで除算したときの余りを示す演算記号である。
また、C<<Dは、CをDビットだけ左にシフトする旨を示す演算記号であり、E>>Fは、EをFビットだけ右にシフトする旨を示す演算記号である。
量子化ステップサイズ算出部20は、量子化パラメータQPに対応する量子化ステップサイズΔを算出すると、その量子化ステップサイズΔを量子化部13に与える。
【0030】
変換処理部12は、ストライプ分割部11が符号化対象の画像をN個のストライプに分割すると、ストライプ(n)の画像信号に対する変換処理を実施することで、その画像信号の変換係数を生成し、その変換係数を量子化部13に出力する。
即ち、変換処理部12は、ストライプ(n)の画像を16×16からなるマクロブロックに分割し、各マクロブロックに対して2段階のLBT(Lapped Biorthogonal Transform)を実行することにより、図6に示すような3段の階層構造を有する変換係数(DC係数、LP係数、HP係数)を生成する。
【0031】
具体的には、以下のようにして、画像信号の変換係数(DC係数、LP係数、HP係数)を生成する。
最初に、マクロブロック(16×16画素)を4×4画素からなるブロックに分割して、LBTを実行する。
この第一段階のLBTにより、各ブロックで15個のAC係数と1個のDC係数が生成される。以下、そのAC係数を「HP係数」と称し、マクロブロック当り、HP係数の個数が240個(=15係数×16ブロック)となる。
次に、各ブロックから集められた16個のDC係数に対して再度LBTを実行する。以下、このLBTにより生成される15個のAC係数を「LP係数」と称する。
マクロブロック当り、LP係数の個数は15個となり、さらに、1個のDC係数が生成される。
以後、第二段階で生成されたDC成分の係数を「DC係数」と称し、マクロブロック当りのDC係数の個数は1個となる。
【0032】
量子化部13は、変換処理部12からストライプ(n)の画像信号の変換係数を受けると、量子化ステップサイズ算出部20から与えられる量子化ステップサイズΔで、その変換係数を量子化し、その変換係数の量子化値を予測処理部14に出力する。
【0033】
予測処理部14は、量子化部13から変換係数の量子化値を受けると、その量子化値の予測誤差を算出する。
即ち、予測処理部14は、既に変換処理部12の変換処理によって、ある程度、画素間の相関が除去されているが、変換係数の量子化値に対して更に予測を適用することで、圧縮の効率化を図るようにしている。
変換係数がDC係数である場合、符号化対象のマクロブロックの周辺に位置している近傍のマクロブロックのDC係数を参照して予測を行う。
例えば、符号化対象のマクロブロックの上側に位置しているマクロブロックのDC係数の値をT、左側に位置しているマクロブロックの値をL、左上側に位置しているマクロブロックの値をDとする場合、符号化対象のマクロブロックのDC係数の予測値Pは、下記の式(3)から算出される。

【0034】
エントロピ符号化部15は、予測処理部14が量子化値の予測誤差を算出すると、エントロピ符号化の簡略化を図るために、その予測誤差の絶対値を示す複数のビットのうち、下位ビットについては圧縮せずに下位ビット切捨部16に出力し、上位ビットについてはハフマン符号化して下位ビット切捨部16に出力する(ステップST5)。
具体的には、以下のようにして、量子化値の予測誤差をエントロピ符号化する。
【0035】
LP係数とHP係数は、ブロック(15係数)を単位として、15個の係数を所定の順にスキャンし、非0の係数値とゼロ係数の連続数(ゼロラン)を対象として、ハフマン符号化を適用する。ハフマン符号テーブルは、複数の候補を用意しておき、使う符号テーブルを符号化済みの係数から学習して決定する。
ここで、図7は予測誤差の絶対値を自然2進数で表現した場合のMSB(Most Significant Bit)からLSB(Least Significant Bit)までのビットプレーンを模式的に表す説明図である。
図7に示すように、上位ビットは、ハフマン符号化によって圧縮するが、下位ビットは、ランダムに近い信号であるため、ハフマン符号化しても効率的な圧縮が期待できないので、信号値を非圧縮でそのまま伝送する。
【0036】
ただし、予測誤差の絶対値が非0の値の場合には、予測誤差の正負を示す1ビット情報(サインビット)を下位ビットに付加して伝送する。
下位ビットのビット数は、ハフマン符号化対象となる上位ビットのすべての値が“0”をとる係数の割合が全体のほぼ3/4になるように決定される。
また、HP成分については、非圧縮伝送する下位ビットから指定したビット数だけ削減することができる。削減するビット数は、タイル毎に指定でき、タイル内の全てのHP係数で指定されたビット数が最下位から削減される。
【0037】
下位ビット切捨部16は、エントロピ符号化部15からストライプ(n)の符号データ(ハフマン符号化された上位ビットの符号データのほか、圧縮されずに出力された下位ビットの非圧縮符号データを含む)を受けると、その符号データの符号量B(n)を目標符号量算出部18により算出された目標符号量BT(n)と比較する。
下位ビット切捨部16は、その符号データの符号量B(n)が目標符号量BT(n)を上回らなければ、下位ビットの切り捨て処理を実施しないが、その符号データの符号量B(n)が目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる処理を実施する(ステップST6)。
【0038】
量子化部13では、目標符号量BT(n)に対応する量子化ステップサイズΔを用いて、変換係数を量子化する処理を実施しているが、実際にハフマン符号化を実施しなければ、正確な符号量を把握することができないため、1パスの処理では、ある程度の符号量の制御誤差が発生する。
そこで、各ストライプの発生符号量が目標符号量を超える場合には、HP係数のうち、非圧縮で伝送する下位ビットの全部、あるいは、一部を切り捨てることで、より正確に符号量を制御することができる。
以下、下位ビット切捨部16の処理内容を具体的に説明する。
【0039】
図8は下位ビットの削減ビット数と削減符号量の対応関係を示すテーブル図である。
図8において、削減ビット数kは、切り捨て対象となる下位ビットの数(最下位ビットからのビット数)を示し、削減符号量b(k)は、削減ビット数kだけ下位ビットを切り捨てたときに、削減される符号量を示している。
まず、下位ビット切捨部16は、エントロピ符号化部15からストライプ(n)の符号データを受けると、削減ビット数kを表すカウンタを用意し、そのカウンタのカウント値k(削減ビット数k)を“0”に初期化する(図3のステップST11)。
【0040】
次に、下位ビット切捨部16は、未だ切り捨てていない下位ビットの中で、最も下位のビットを切り捨てる処理を実施する。
このとき、図8のテーブルを参照して、符号データの符号量B(n)からカウンタのカウント値k(削減ビット数k)に対応する削減符号量b(k)を減算し、減算後の符号量(=符号量B(n)−削減符号量b(k))を目標符号量BT(n)と比較する(ステップST12)。
【0041】
下位ビット切捨部16は、減算後の符号量(=符号量B(n)−削減符号量b(k))が目標符号量BT(n)以下である場合、あるいは、カウンタのカウント値k(削減ビット数k)が最大値kmaxに到達していれば、下位ビットの切り捨て処理を終了する。
一方、減算後の符号量(=符号量B(n)−削減符号量b(k))が目標符号量BT(n)を上回っている場合、切捨対象の下位ビットを増やすため、カウンタのカウント値k(削減ビット数k)を1だけインクリメントして(ステップST13)、ステップST12の処理に戻る。
これにより、出力バッファ部17に出力される符号データの符号量が目標符号量BT(n)を下回るまで、最下位のビットから順番に切り捨てられることになる。
【0042】
なお、静止画像の標準符号化方式である「JPEG XR(ISO/IEC 29199−2)」を使用して、画像データの符号化処理を実施する場合、タイル内の全HP係数から、同一の削減ビット数kだけ、非圧縮データである下位ビットが削減される。
したがって、あるタイルが、図9に示すように、64×2個のマクロブロックで構成されている場合において、例えば、削減ビット数がk=3であるとすると、64×2個のマクロブロックにおいて、全HP係数から3ビット分の非圧縮データが削減されることになる。
【0043】
出力バッファ部17は、下位ビット切捨部16により切り捨て処理が実施された符号データ(n)を受けると、その符号データ(n)を一時的に蓄積し、一定速度で符号データ(n)を出力する。
ステップST1〜ST6の処理は、最後のストライプの符号化処理が終了するまで繰り返し実施される(ステップST7)。
【0044】
以上で明らかなように、この実施の形態1によれば、既に符号化済みのストライプの符号量から目標符号量BT(n)を算出する目標符号量算出部18と、ストライプ分割部11により分割されたストライプ(n)の統計量E(n)を算出する統計量算出部19と、目標符号量算出部18により算出された目標符号量BT(n)と統計量算出部19により算出された統計量E(n)から量子化ステップサイズΔを算出し、その量子化ステップサイズΔを量子化部13に与える量子化ステップサイズ算出部20と、エントロピ符号化部15から出力バッファ部17に出力される符号データの符号量B(n)が、目標符号量算出部18により算出された目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる下位ビット切捨部16とを設けるように構成したので、1パスの処理でも、符号量の制御誤差の発生を抑制して、高精度なレート制御を実現することができる効果を奏する。
即ち、量子化ステップサイズΔのみならず、符号データの非圧縮部分を削減することにより、量子化ステップサイズΔのみによって符号量を制御する場合よりも、高い精度で符号量を制御することが可能になる。
【0045】
実施の形態2.
上記実施の形態1では、全てのマクロブロックにおいて、全HP係数から同一の削減ビット数k分の非圧縮データが削減されるものについて示したが、マクロブロック単位で削減ビット数を変えることも可能である(この場合、「JPEG XR」の規格からは外れる)。
したがって、全てのマクロブロックではなく、特定のマクロブロックのHP係数から削減ビット数k分の非圧縮データが削減されるものであってもよい。
【0046】
例えば、あるタイルが、図9に示すように、64×2個のマクロブロックで構成されている場合において、全てのマクロブロックの中の全HP係数から最下位2ビットを削減し、その後、マクロブロック(0,0)からラスタスキャン順に、各マクロブロックの最下位から3ビット目を削減する場合を考える。
このとき、マクロブロック(0,0)〜(1,1)の最下位から3ビット目を削減した段階で、符号データの符号量B(n)が目標符号量BT(n)を下回ったとする。
この場合、下位ビットの切り捨て処理をこの段階で止めて、削減ブロック数2ビット、最下位から3ビット目で伝送境界となるマクロブロックのインデックス(1,1)をコードストリームのヘッダに記録するようにする。
このように、マクロブロック単位で下位ビットを削減することにより、より高い精度でレート制御が可能になる。
【0047】
実施の形態3.
図10はこの発明の実施の形態3による画像符号化装置を示す構成図であり、図において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
下位ビット切捨部21は図1の下位ビット切捨部16と同様に、エントロピ符号化部15から出力されたストライプ(n)の符号データの符号量B(n)が、目標符号量算出部18により算出された目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる処理を実施する。また、切り捨てた下位ビットのビット数を示す削減ビット数mを量子化ステップサイズ算出部22に出力する処理を実施する。なお、下位ビット切捨部21は下位ビット切捨手段を構成している。
【0048】
量子化ステップサイズ算出部22は目標符号量算出部18により算出された目標符号量BT(n)と統計量算出部19により算出された統計量E(n)から量子化パラメータQP(1〜255の値をとるパラメータ)を算出するとともに、その量子化パラメータQPから下位ビット切捨部21より出力された削減ビット数mを減算し、減算後の量子化パラメータQP−mに対応する量子化ステップサイズΔを算出し、その量子化ステップサイズΔを量子化部13に与える処理を実施する。なお、量子化ステップサイズ算出部22は量子化ステップサイズ算出手段を構成している。
【0049】
図10の例では、画像符号化装置の構成要素であるストライプ分割部11、変換処理部12、量子化部13、予測処理部14、エントロピ符号化部15、下位ビット切捨部21、出力バッファ部17、目標符号量算出部18、統計量算出部19及び量子化ステップサイズ算出部22のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコン)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、ストライプ分割部11、変換処理部12、量子化部13、予測処理部14、エントロピ符号化部15、下位ビット切捨部21、出力バッファ部17、目標符号量算出部18、統計量算出部19及び量子化ステップサイズ算出部22の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0050】
次に動作について説明する。
下位ビット切捨部21及び量子化ステップサイズ算出部22以外は、上記実施の形態1と同様であるため、この実施の形態2では、下位ビット切捨部21及び量子化ステップサイズ算出部22の処理内容について説明する。
【0051】
下位ビット切捨部21は、エントロピ符号化部15からストライプ(n)の符号データを受けると、図1の下位ビット切捨部16と同様に、その符号データの符号量B(n)が、目標符号量算出部18により算出された目標符号量BT(n)を上回る場合、エントロピ符号化部15から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる処理を実施する。
ただし、下位ビット切捨部21は、図1の下位ビット切捨部16と異なり、切り捨てた下位ビットのビット数を示す削減ビット数mを量子化ステップサイズ算出部22に出力する。
【0052】
量子化ステップサイズ算出部22は、図1の量子化ステップサイズ算出部20と同様に、ストライプの統計量と発生符号量の関係を調査して、統計量と発生符号量の関係をテーブル化する。
【0053】
量子化ステップサイズ算出部22は、統計量と発生符号量の関係をテーブル化すると、そのテーブルを参照して、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPを特定する。
例えば、図5に示す関係がテーブル化されているとき、目標符号量BT(n)が“bt1”で、統計量E(n)が“e1”であれば、QP=3,10,25,150の中で、QP=10が最も近い量子化パラメータとなるため、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPが“10”であると特定する。
また、目標符号量BT(n)が“bt2”で、統計量E(n)が“e2”であれば、QP=3,10,25,150の中で、QP=150が最も近い量子化パラメータとなるため、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPが“150”であると特定する。
【0054】
量子化ステップサイズ算出部22は、目標符号量BT(n)と統計量E(n)に対応する量子化パラメータQPを特定すると、その量子化パラメータQPから下位ビット切捨部21より出力された削減ビット数mを減算する。
そして、量子化ステップサイズ算出部22は、上述した式(2)を用いて、減算後の量子化パラメータQP−mに対応する量子化ステップサイズΔを算出する。
量子化ステップサイズ算出部22は、減算後の量子化パラメータQP−mに対応する量子化ステップサイズΔを算出すると、その量子化ステップサイズΔを量子化部13に与える。
【0055】
以上で明らかなように、この実施の形態3によれば、量子化ステップサイズ算出部22が、下位ビット切捨部21により直前のストライプで切り捨てられた下位ビットのビット数を考慮して、量子化ステップサイズΔを算出するように構成したので、更に高い精度でレートを制御することができる効果を奏する。
【0056】
実施の形態4.
上記実施の形態1では、エントロピ符号化部15が、予測誤差の正負を示すサインビットを下位ビットに付加するものについて示したが(図7を参照)、全ての上位ビットが“0”である場合において、予測誤差の絶対値の最下位ビットを除く全ての下位ビットが“0”であり、最下位ビットが“1”であれば、最下位ビットを“0”に変更して、下位ビットに付加されているサインビットを削減するようにしてもよい。
即ち、この実施の形態4では、サインビットの伝送を回避することで符号量を削減する方法について説明する。
【0057】
「JPEG XR」における下位ビットの非圧縮伝送では、図11(a)に示すように、予測誤差の絶対値のうち、ハフマン符号化を行う全ての上位ビットが“0”である場合、非圧縮伝送する下位ビットに対して、予測誤差の正負を表すサインビットを付加し、そのサインビットを符号としている。
ただし、上位ビットだけでなく、全ての下位ビットが“0”の場合には、サインビットを付加する必要はない。
【0058】
そこで、この実施の形態4では、図11(b)に示すように、予測誤差の絶対値の最下位ビットを除く、全てのビットが“0”であり、最下位ビットが“1”である場合には、図11(c)に示すように、強制的に最下位ビットを“0”に変更して、サインビットの伝送を回避することで、符号量の削減を図るようにする。
このように、最下位ビットを“0”に変更することにより、符号化誤差が発生するが、最下位ビットを全て削減するよりも、符号の削減量を少なくすることができる。
【0059】
具体的には、下位ビット切捨部16(または、下位ビット切捨部21)は、図12に示すような下位ビット符号量テーブルを用意する。
図8の下位ビット符号量テーブルでは、下位ビットの削減ビット数と削減符号量の対応関係を示しているが、図12の下位ビット符号量テーブルでは、サインビットを削減した場合の削減符号量と、サインビットを削減しない場合の削減符号量とを載せている。
即ち、削減ビット数とサインビットの削減の有無の組み合わせをパラメータkで表しており、例えば、パラメータk=3では、最下位2ビットを削減するとともに、最下位のビットで生じたサインビットを削減する場合の削減符号量も載せている。
下位ビット切捨部16(または、下位ビット切捨部21)は、図3の下位ビットの切り捨て処理を実施する際、図12の下位ビット符号量テーブルを適用して、ビット量を削減した時の符号量B−b(k)が所望の符号量を満たすパラメータkを算出し、適切な削減ビット数とサインビットの削減の有無を選択するようにする。
【0060】
以上で明らかなように、この実施の形態4によれば、予測誤差の絶対値の最下位ビットを除く全ての下位ビットが“0”であり、最下位ビットが“1”であれば、最下位ビットを“0”に変更して、下位ビットに付加されているサインビットを削減するように構成したので、非圧縮データのビットプレーン全体を切り捨てるよりも高い精度で符号量を制御することができる効果を奏する。
【0061】
なお、この実施の形態4では、ストライプ内の全てのHP係数から最下位のサインビットを削減する例を示したが、必ずしもストライプ内の全てのサインビットを削減する必要はなく、任意の変換係数から削減して、より精度の高いレート制御を実現することも可能である。
【符号の説明】
【0062】
1 符号化処理部、11 ストライプ分割部(画像分割手段)、12 変換処理部(量子化手段)、13 量子化部(量子化手段)、14 予測処理部(エントロピ符号化手段)、15 エントロピ符号化部(エントロピ符号化手段)、16,21 下位ビット切捨部(下位ビット切捨手段)、17 出力バッファ部(出力バッファ手段)、18 目標符号量算出部(目標符号量算出手段)、19 統計量算出部(統計量算出手段)、20,22 量子化ステップサイズ算出部(量子化ステップサイズ算出手段)。

【特許請求の範囲】
【請求項1】
符号化対象の画像をストライプ単位に分割する画像分割手段と、上記画像分割手段により分割されたストライプの画像信号に対する変換処理を実施し、与えられる量子化ステップサイズで、上記画像信号の変換係数を量子化して、上記変換係数の量子化値を出力する量子化手段と、上記量子化手段から出力された量子化値の予測誤差を算出し、上記予測誤差の絶対値を示す複数のビットのうち、下位ビットについては圧縮せずに出力し、上位ビットについてはハフマン符号化して出力するエントロピ符号化手段と、上記エントロピ符号化手段から出力された符号データを一時的に蓄積し、一定速度で上記符号データを出力する出力バッファ手段と、既に符号化済みのストライプの符号量から目標符号量を算出する目標符号量算出手段と、上記画像分割手段により分割されたストライプの統計量を算出する統計量算出手段と、上記目標符号量算出手段により算出された目標符号量と上記統計量算出手段により算出された統計量から量子化ステップサイズを算出し、上記量子化ステップサイズを上記量子化手段に与える量子化ステップサイズ算出手段と、上記エントロピ符号化手段から上記出力バッファ手段に出力される符号データの符号量が、上記目標符号量算出手段により算出された目標符号量を上回る場合、上記エントロピ符号化手段から圧縮されずに出力された下位ビットの全部又は一部を切り捨てる下位ビット切捨手段とを備えた画像符号化装置。
【請求項2】
下位ビット切捨手段は、エントロピ符号化手段から出力バッファ手段に出力される符号データの符号量が、目標符号量算出手段により算出された目標符号量を上回る場合、上記符号データの符号量が上記目標符号量を下回るまで、最下位のビットから順番に切り捨てることを特徴とする請求項1記載の画像符号化装置。
【請求項3】
下位ビット切捨手段は、ストライプを構成している複数のマクロブロックのうち、特定のマクロブロックに係る下位ビットを切り捨てることを特徴とする請求項2記載の画像符号化装置。
【請求項4】
量子化ステップサイズ算出手段は、下位ビット切捨手段により直前のストライプで切り捨てられた下位ビットのビット数を考慮して、量子化ステップサイズを算出することを特徴とする請求項2記載の画像符号化装置。
【請求項5】
下位ビット切捨手段は、エントロピ符号化手段により予測誤差の正負を表すサインビットが下位ビットに付加される場合、上記予測誤差の絶対値を示す複数のビットのうち、最下位ビットを除く全ての下位ビットが“0”であり、かつ、最下位ビットが“1”であれば、最下位ビットを“0”に変更して、下位ビットに付加されているサインビットを削減することを特徴とする請求項2記載の画像符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−109385(P2011−109385A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−261970(P2009−261970)
【出願日】平成21年11月17日(2009.11.17)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】