以下、図面について、本発明の一実施の形態を詳述する。なお、説明は以下の順序で行う。
1.実施の形態(符号化方法の詳細)
2.他の実施の形態
<1.実施の形態>
[1−1.画像処理装置の構成]
1は、全体として画像処理装置を示している。なお、図1〜図4に示した従来と対応する箇所に同一符号を附して示している。
画像処理部2は、外部から供給される画像データBLに対してエンコード処理や編集処理などの各種画像処理を実行して処理ストリームESを生成し、図示しない外部装置に供給するようになされている。
画像処理部2は、画像処理の際、後から参照したい画像データBLを符号化部3に供給する。符号化部3は、画像データBLに対して符号化処理(詳しくは後述する)を実行してビットストリームBSを生成し、これをメモリ4に供給する。
ここで、メモリ4は、画像データBLをバス転送単位(例えば128[byte])ごとに読み出し及び書き込みするよう構成されている。
図6に示すように、仮に、符号化部3がバス転送単位未満のビットストリームBSをメモリ4に供給した場合、ビットストリームBSに対してダミーデータDDがパディングされる。言い換えると、符号化部3は、ダミーデータDD分だけ無駄にバスの帯域及びメモリ4の記憶容量を消費してしまうことになる。
符号化部3は、画像データBLをM×N画素でなる処理ブロックごとに符号化してビットストリームBSを生成し、これをメモリ4に供給する。これにより、符号化部3は、符号化によってビットストリームBSのデータ量を削減できるため、メモリ4の記憶容量を小さく設定することができる。
このとき、符号化部3は、バス転送単位と同一符号量でなる符号ブロックを連ねることにより、ビットストリームBSを生成する。これにより、符号化部3は、バス転送単位と同一符号量でなる符号ブロックごとにビットストリームBSを伝送することができ、バス帯域を最大限に有効活用することができる。
この結果、メモリ4には、読み出し及び書き込みを行う領域ごとに符号ブロックが記憶される。これにより、符号化部3は、メモリ4の記憶容量が無駄に消費されることがないため、メモリ4の記憶容量を小さく設定することが可能となる。
そして、画像処理部2は、復号化部5を介してメモリ4から画像データBLを受け取る。このとき、復号化部5は、符号ブロックごとに供給されるビットストリームBSを復号化し、画像処理部2に供給するようになされている。
すなわち、図7に示すように、画像処理装置1は、参照したい画像データBLを一時記憶する際、画像データ一時記憶処理手順RT1に従って、画像データ一時記憶処理を実行する。
画像処理装置1は、画像データ一時記憶処理手順RT1を開始すると、ステップSP1に移り、画像処理部2から供給される画像データBLを処理ブロックごとに符号化し、符号ブロックが連なるビットストリームBSを生成すると、次のステップSP2へ移る。
ステップSP2において、画像処理装置1は、ビットストリームBSをメモリ4及びバスなどのネットワークを介して符号ブロックごとに復号化部5に伝送すると、次のステップSP3へ移る。
ステップSP3において、画像処理装置1は、ビットストリームBSを符号ブロックごとに復号化することにより、処理ブロックごとに画像データBLを生成し、これを画像処理部2に供給すると、終了ステップに移って画像データ一時記憶処理手順RT1を終了する。
これにより、画像処理装置1は、バス帯域及びメモリ4の記憶容量を有効活用しつつ、ビットストリームBSのデータ量を削減し得るようになされている。
[1−2.符号化部の概略]
図8に、符号化部3の構成を示している。符号化部3は、供給される画像データBLを処理ブロックごとに符号化することにより、固定符号量(バス転送単位)でなる符号ブロックが連なるビットストリームBSを生成するようになされている。
具体的に、符号化部3は、画像データBLが供給されると、当該画像データBLを信号変換部31に供給する。信号変換部31は、画像データBLをM×N画素でなる処理ブロックごとに分離する。さらに、信号変換部31は、当該処理ブロックでなる画像データBLから輝度信号PY(例えばY信号)と、色差信号PVU(例えばV信号及びU信号)とを生成する。
このとき、信号変換部31は、輝度信号PYと色差信号PVUとが多重化された画像データBLが供給された場合には、画像データBLを単純に輝度信号PYと色差信号PVUとに分解する。また、信号変換部31は、画像データBLがRGB信号のように色空間を表す信号であれば、色空間処理により当該画像データBLから輝度信号PYと色差信号PVUとを生成する。また、信号変換部31は、例えば4:4:4方式でなる画像データBLを4:2:2方式に変換するようなサブサンプリング処理も実行する。
そして、信号変換部31は、輝度信号PYを信号解析部32及び輝度信号符号化部34に供給する一方、色差信号PVUを信号解析部32及び色差信号符号化部33に供給する。
信号解析部32は、信号変換部31から供給される輝度信号PY及び色差信号PVUを解析し、画像データBLが劣化の目立ちやすい特定色を多く含む画像であるか否かを表す色指定情報IE及び画像データBLの符号化による圧縮の難易度を表す符号化難易度IDを生成する。信号解析部32は、色指定情報IEを色差信号符号化部33及び色差信号符号化モード再選択部35に供給する一方、符号化難易度IDを色差信号符号化部33及び輝度信号符号化部34に供給する。なお、信号解析部32の詳しい構成については後述する。
色差信号符号化部33は、信号変換部31から供給される色差信号PVUをDPCM(Differential Pulse Code Modulation)方式を一部用いて符号化する。ここで、色差信号符号化部33は、2つの色差信号符号化モード(比較的圧縮率の高い高圧縮モードと比較的圧縮率の低い低圧縮モード)を有している。色差信号符号化部33は、2つの色差信号符号化モードによって2つの色差信号ビットストリームBSc(色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2)を生成し、色差信号符号化モード再選択部35に供給する。
さらに、色差信号符号化部33は、画像データBLの符号難易度ID及び色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2の画質から一の色差信号符号化モードを選択色差モードとして選択する。このとき、色差信号符号化部33は、画像データBLが特定色を多く含む場合には、低圧縮モードを選択することにより、画質を劣化させにくくする。
色差信号符号化部33は、選択色差モードによって生成された色差信号ビットストリームBSc(以下、これを選択色差信号ビットストリームBScSと呼ぶ)における符号量を色差信号使用ビット数IBcとして算出し、これを輝度信号符号化部34に供給する。なお、色差信号符号化部33の詳しい構成については後述する。
輝度信号符号化部34は、色差信号符号化部33から供給される色差信号使用ビット数IBcと、信号解析部32から供給される符号化難易度IDとを用いることにより、符号量を調整しながら輝度信号ビットストリームBSyを生成する。すなわち、輝度信号符号化部34は、輝度信号ビットストリームBSyの符号量と色差信号ビットストリームBScの符号量とを加算した符号量が目標符号量(すなわち、バス転送単位である128[byte])に収まるよう輝度信号ビットストリームBSyの符号量を調整する。
ここで、輝度信号符号化部34は、輝度信号符号化モードとして、色差信号符号化モードと同様の高圧縮モード及び低圧縮モードに加え、ポスト量子化モードを有している。このポスト量子化モードは、符号量に応じたビットプレーンを切り捨てることにより、より目標符号量に近い符号量に輝度信号PYを符号化し得るモードである。
輝度信号符号化部34は、3つの輝度信号符号化モードから画質が最も良好となる一の輝度信号符号化モードを選択輝度モードとして選択する。輝度信号符号化部34は、選択輝度モードによって生成された輝度信号ビットストリームBSy(以下、これを選択輝度信号ビットストリームBSySと呼ぶ)の符号量を輝度信号使用ビット数IByとして算出する。
そして、輝度信号符号化部34は、輝度信号使用ビット数IByを色差信号符号化モード再選択部35に供給する一方、選択輝度信号ビットストリームBSySを多重化部36に供給する。なお、輝度信号符号化部34の詳しい構成については後述する。
色差信号符号化モード再選択部35は、輝度信号符号化部34から供給される輝度信号使用ビット数IByに基づいて色差信号ビットストリームBScを再選択する。
すなわち、色差信号符号化モード再選択部35は、輝度信号ビットストリームBSyの符号量を加算した符号量がバス転送単位に収まる範囲内で、画質がより良好となる一方の色差信号符号化モードを再選択する。以下、この再選択色差モードによって生成された色差信号ビットストリームBScを、再選択色差信号ビットストリームBScRと呼ぶ。なお、色差信号符号化モード再選択部35の詳しい構成については後述する。
多重化部36は、選択輝度信号ビットストリームBSySと再選択色差信号ビットストリームBScRとを多重化して固定符号量の符号ブロックからなるビットストリームBSを生成する。このとき、多重化部36は、選択輝度信号ビットストリームBSySと再選択色差信号ビットストリームBScRとを加算した符号量が固定符号量(転送バス単位)とならない場合には、ダミーデータをパディングするようになされている。
ここで、上述したように、輝度信号ビットストリームBSyは、輝度信号ビットストリームBSyの符号量と色差信号ビットストリームBScの符号量とを加算した符号量がほぼバス転送単位になるように生成されている。このため、多重化部36は、選択輝度信号ビットストリームBSyS及び再選択色差信号ビットストリームBScRに対してと小さいデータ量でなるダミーデータを加えるだけで符号量がバス転送単位でなる固定符号量の符号ブロックを容易に生成し得るようになされている。
すなわち、図9に示すように符号化部3は、画像データBLを符号化する際、符号化処理手順RT2を実行する。
符号化部3は、画像処理部2から画像データBLが供給されると、符号化処理手順RT2を開始し、ステップSP11へ移る
ステップSP11において、符号化部3は、M×N画素でなる処理ブロックごとに画像データBLから輝度信号PY及び色差信号PVUを生成すると、次のステップSP12へ移る。
ステップSP12において、符号化部3は、輝度信号PY及び色差信号PVUを解析し、符号化難易度ID及び色指定情報IEを生成すると、次のステップSP13へ移る。
ステップSP13において、符号化部3は、符号化難易度IDを用いて符号量を調整しながら2つの色差信号符号化モードによって画像データBLを符号化する。そして、符号化部3は、符号化難易度ID及び色指定情報IEに基づいて色差信号符号化モードを選択すると、次のステップSP14へ移る。
ステップSP14において、符号化部3は、選択色差信号ビットストリームBScSとの加算値がバス転送単位に収まるようポスト量子化モードを含んだ3つの輝度信号符号化モードによって輝度信号PYを符号化する。そして、符号化部3は、画質に基づいて一の輝度信号符号化モードを選択すると、次のステップSP15へ移る。
ステップSP15において、符号化部3は、輝度信号ビットストリームBSyの符号量を加算した符号量がバス転送単位の範囲内に収まる範囲内で、画質がより良好となる一方の色差信号符号化モードを再選択すると、次のステップSP16へ移る。
ステップSP16において、符号化部3は、再選択色差信号ビットストリームBScR及び選択輝度信号ビットストリームBSySを多重化することによりバス転送単位でなる符号ブロックを生成すると、終了ステップへ移って符号化処理手順RT2を終了する。
このように、符号化部3は、選択色差信号ビットストリームBScSの符号量を加算した加算値がバス転送単位の範囲内に収まるよう、輝度信号ビットストリームBSyを生成する。さらに、符号化部3は、最も画質が良好となる選択輝度信号ビットストリームBSySの符号量との加算値がバス転送単位に収まる範囲内で、画質が良好となる色差信号ビットストリームBScを再選択するようにした。
これにより、符号化部3は、選択輝度信号ビットストリームBSySの符号量が想定よりも小さかった場合に、画質がより良好な色差信号ビットストリームBScを用いてビットストリームBSを生成することができる。この結果、符号化部3は、ビットストリームBSにおける符号ブロックの符号量を固定したままビットストリームBSにおける画質の低下を極力抑制し得るようになされている。
[1−3.信号解析部の構成]
次に、信号解析部32の構成について、図10を用いて説明する。信号解析部32は、信号変換部31から供給される輝度信号PY及び色差信号PVUを符号化難易度計算部101及び色領域指定部102にそれぞれ供給する。
符号化難易度計算部101は、輝度信号PY及び色差信号PVUを解析することにより色差信号符号化モードの選択や色差信号ビットストリームBSc及び輝度信号ビットストリームBSyの符号量の調整に使用される符号化難易度IDを生成する。また、色領域指定部102は、輝度信号PY及び色差信号PVUを解析することにより劣化の目立ちやすい特定色を多く含む画像か否かを表す色指定情報IEを生成するようになされている。
[1−3−1.符号化難易度の生成]
詳しくは後述するが、色差信号符号化部33及び輝度信号符号化部34では、DPCM方式による非線形量子化モードと、線形量子化モードを有している。非線形量子化モードでは、各画素値を隣接する画素間の差分値として表して非線形量子化する。一方線形量子化モードでは、各画素をそのまま線形量子化する。
非線形量子化モードでは、隣接する画素間の画像が近いほど差分値が小さくなり、量子化による画質の劣化を小さくすることができる。このため、色差信号符号化部33及び輝度信号符号化部34は、差分値が小さい場合には、非線形量子化モードを用いて各画素を符号化するようになされている。
符号化難易度計算部101は、物体の輪郭部分など、隣接する画素間の差分値が大きい、いわゆるエッジに基づいて、処理ブロックを符号化したときの圧縮の難易度を表す符号化難易度IDを生成する符号化難易度判別処理を実行する。符号化難易度計算部101は、エッジが少ない場合には、非線形量子化モードを用いて画像データBLを符号化することができ、符号化の難易度が低いと判別する。一方、符号化難易度計算部101は、エッジが多い場合には、非線形量子化モードを用いて画像データBLを符号化すると画質の劣化を引き起こすことになり、符号化の難易度が高いと判別する。
すなわち、画素間の差分値に基づいて、色差信号ビットストリームBSc及び輝度信号ビットストリームBSyの符号量を予測することができる。なお、説明を分かり易くするために、以下、M×N画素におけるN=1とし、M×1でなる処理ブロックについて説明するが、本発明はこれに限られるものではない。
具体的に、図11に示すように、符号化難易度計算部101は、処理ブロックにおける輝度信号PYにおいて中心の画素(M/2番目)から両端に向けて隣接する画素間の差分値を算出する。このように、中心の画素からの差分値を算出することにより、2方向へ向けて差分値を算出することができるため、差分算出器などのハードウェアの並列化が可能となる。
また、一端から差分値を算出する場合と比較して、基準となる画素から最後に差分値が算出される画素までの画素数を約半数にすることができるため、差分値の誤差の伝搬を小さくすることができる。
符号化難易度計算部101は、エッジ検出閾値Th0よりも絶対値が大きい差分値を有する画素をエッジとして検出すると共に、処理ブロックが有するエッジの大小及び個数に基づいて符号化難易度を判別する。
すなわち、符号化難易度計算部101は、検出されたエッジに対応する差分値の絶対値(以下、これをエッジ差分値と呼ぶ)の平均値の大きさから、エッジの大小を判別する。また、符号化難易度計算部101は、処理ブロックにおけるエッジの個数を算出する。
符号化難易度計算部101は、エッジ差分値の平均値がエッジ大小閾値Th1未満でなる場合には、エッジ差分値が平均的に小さい値でなり符号化の難易度が低いため、「低い」を表す符号化難易度IDを生成する。
また、符号化難易度計算部101は、エッジ差分値の平均値がエッジ大小閾値Th1より大きく、かつエッジの個数がエッジ個数閾値Th2よりも多い場合には、符号化による難易度が高いため、「高い」を表す符号化難易度IDを生成する。
さらに、符号化難易度計算部101は、エッジ差分値の平均値がエッジ大小閾値Th1より大きく、かつエッジの個数がエッジ個数閾値Th2よりも小さい場合には、さらに、色差信号PVUにおけるエッジの個数を用いて符号化の難易度を判別する。
すなわち、符号化難易度計算部101は、色差信号PVUのうち、U信号及びV信号の中心から両端に向けて隣接する画素間の差分値を算出する。そして、符号化難易度計算部101は、エッジ検出閾値Th3よりも絶対値が大きい差分値を有する画素をエッジとして検出する。
そして、符号化難易度計算部101は、色差信号PVUにおけるエッジの個数がエッジ個数閾値Th4よりも大きい場合には、符号化の難易度が高いと判別し、「高い」を表す符号化難易度IDを生成する。一方、符号化難易度計算部101は、エッジの個数がエッジ個数閾値Th4未満である場合には、符号化の難易度が低いと判別し、「低い」を表す符号化難易度IDを生成する。
このように、符号化難易度計算部101は、まず、輝度信号PYにおけるエッジに基づいて、輝度信号に対する符号化の難易度を判別し、判別できない場合には、色差信号PVUにおけるエッジに基づいて符号化の難易度を判別するようにした。すなわち、符号化難易度IDは、主に輝度信号PYに対する符号化の難易度を表し、輝度信号PYの符号化の難易度が中間のグレーゾーンである場合のみ色差信号PVUの難易度を表すことができる。
次に、符号化難易度IDを生成する際に実行される符号化難易度判別処理手順RT3について、図12のフローチャートを用いて説明する。
符号化難易度計算部101は、輝度信号PY及び色差信号PVUが供給されると、ステップSP101へ移る。
ステップSP101において、符号化難易度計算部101は、輝度信号PYから差分値を算出すると共に、当該差分値の絶対値がエッジ検出閾値Th0よりも大きくなる画素をエッジとして検出すると、次のステップSP102へ移る。
ステップSP102において、符号化難易度計算部101は、エッジ差分値の平均値がエッジ大小閾値Th1未満であるか否かについて判別する。ここで、肯定結果が得られると、このことはエッジ差分値が際立って大きい数値でないため符号化による難易度が低いことを表している。このとき、符号化難易度計算部101は、次のステップSP107へ移る。
これに対して、ステップSP102において否定結果が得られた場合、このことは符号化による難易度が高い可能性があることを表しており、このとき、符号化難易度計算部101は、次のステップSP104へ移る。
ステップSP104において、符号化難易度計算部101は、輝度信号PYにおけるエッジの個数がエッジ個数閾値Th2未満であるか否かについて判別する。ここで、否定結果が得られた場合、このことはエッジ差分値の平均値も大きくかつエッジの個数自体も多いため符号化の難易度が高いことを表している。このとき、符号化難易度計算部101は、次のステップSP108へ移る。
これに対して、ステップSP104において肯定結果が得られた場合、このことは輝度信号PYが大きな値のエッジ差分値でなる画素を有するものの、その画素数がさほど多くなく、符号化の難易度が中間レベルである(高くも低くもない)ことを表している。このとき、符号化難易度計算部101は、次のステップSP105へ移る。
ステップSP105において、符号化難易度計算部101は、色差信号PVUから差分値を算出すると共に、当該差分値の絶対値がエッジ検出閾値Th3よりも大きくなる画素をエッジとして検出すると、次のステップSP106へ移る。
ステップSP106において、符号化難易度計算部101は、色差信号PVUにおけるエッジの個数がエッジ個数閾値Th4未満であるか否かについて判別する。ここで、肯定結果が得られた場合、このことは輝度信号PYに対する符号化の難易度が中間レベルであるものの、色差信号PVUに対する符号化の難易度が高いことを表している。このとき、符号化難易度計算部101は、次のステップSP107へ移る。
これに対して、ステップSP108において否定結果が得られた場合、輝度信号PYに対する符号化の難易度が中間レベルであるものの、色差信号PVUに対する符号化の難易度が低いことを表している。このとき、符号化難易度計算部101は、次のステップSP108へ移る。
ステップSP107において、符号化難易度計算部101は、符号化の難易度が低いことを表す符号化難易度IDを生成すると、終了ステップへ移って符号化難易度判別処理手順RT3を終了する。
また、ステップSP108において、符号化難易度計算部101は、符号化の難易度が高いことを表す符号化難易度IDを生成すると、終了ステップへ移って符号化難易度判別処理手順RT3を終了する。
このように、符号化難易度計算部101は、主に輝度信号PYに対する符号化の難易度を表し、輝度信号PYの符号化の難易度が中間のグレーゾーンである場合のみ色差信号PVUの難易度を表す符号化難易度IDを生成するようになされている。
[1−3−2.色指定情報の生成]
色領域指定部102は、特定色ブロック判別処理により輝度信号PY及び色差信号PVUを解析し、処理ブロックが視覚的に劣化の目立ち易い特定色を多く含む画像であるか否かを判別するようになされている。
すなわち、色領域指定部102は、視覚的に劣化の目立つ色(以下、これを特定色と呼ぶ)を定義している。例えば図13に示すように、Y信号、V信号及びU信号の値の3軸で座標をとる。そして、特定色を含む信号値の領域(以下、これを色指定領域と呼ぶ)を複数の立方体及び直方体の組み合わせによって定義する。この色指定領域内に入る画素が特定色と判別されることになる。
色領域指定部102は、輝度信号PY及び色差信号PVUの組み合わせにより、処理ブロックにおける各画素が色指定領域内に存在するか否かにより、特定色であるか否かについて判別する。そして、色領域指定部102は、処理ブロック内に特定色であると判別された数が特定色ブロック閾値Th5よりも多い場合には、当該処理ブロックが視覚的に劣化の目立ち易い画像である特定色ブロックであると判別する。
次に、特定色ブロック判別処理手順RT4について、図14に示すフローチャートを用いて説明する。
色領域指定部102は、輝度信号PY及び色差信号PVUが供給されると、特定色ブロック判別処理手順RT4を開始し、次のステップSP110へ移る。
ステップSP110において、色領域指定部102は、輝度信号PY及び色差信号PVUの組み合わせにより、予め定義されている色指定領域に属する画素数をカウントすると、次のステップSP111へ移る。
ステップSP111において、色領域指定部102は、色指定領域に属する画素数が特定色ブロック閾値Th5よりも多いか否かについて判別する。ここで、肯定結果が得られた場合、このことは処理ブロックが特定色を多く含んでおり、特定色ブロックであることを表している。このとき、色領域指定部102は、次のステップSP113へ移る。
ステップSP113において、色領域指定部102は、処理ブロックが特定色ブロックであることを表す色指定情報IEを生成すると、終了ステップへ移って処理を終了する。
これに対して、ステップSP111において否定結果が得られた場合、このことは処理ブロックが特定色を多く含んでおらず、特定色ブロックでないことを表している。このとき、色領域指定部102は、次のステップSP114へ移る。
ステップSP114において、色領域指定部102は、処理ブロックが特定色ブロックでないことを表す色指定情報IEを生成すると、終了ステップへ移って処理を終了する。
このように、色領域指定部102は、処理ブロックが視覚的に劣化の目立ち易い特定色を多く含む画像である特定色ブロックであるか否かを判別し、色指定情報IEを生成する。これにより、色指定情報IEは、処理ブロックが特定色ブロックであるか否かを表すことができる。
[1−4.色差信号符号化部の構成]
次に、色差信号符号部33の構成について説明する。図15に示すように、色差信号符号部33は、色差高圧縮処理部111及び色差低圧縮処理部112により、2つの色差信号符号化モードで色差信号PVUを符号化して2つの色差信号ビットストリームBScを生成する。色差信号符号化部33は、色差信号符号化モード選択部113によって、当該2つの色差信号ビットストリームBSc(色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2)から、一の色差信号符号化モードを選択するようになされている。
[1−4−1.色差信号符号化処理]
図16に、色差高圧縮処理部111及び色差低圧縮処理部112の構成を示している。色差高圧縮処理部111及び色差低圧縮処理部112はほぼ同一構成でなる。
まず、色差高圧縮処理部111が実行する色差信号符号化処理について説明し、同様の処理を行う色差低圧縮処理部112についての説明を省略する。そして、後に色差高圧縮処理部111及び色差低圧縮処理部112の相違点を述べる。
[1−4−1−1.色差符号化処理]
色差高圧縮処理部111は、M×N画素でなる処理ブロックごとに供給される色差信号PVUを符号化することにより、色差高圧縮ビットストリームBSc1を生成するようになされている。
色差高圧縮処理部111は、信号解析部32から供給される符号化難易度ID及び信号変換部31から供給される色差信号PVUをサブブロックサイズ決定部121に供給する。
サブブロックサイズ決定部121は、処理ブロックごとの色差信号PVUを、符号化難易度IDに応じたサブブロックサイズに分割する。ここで、上述したように、符号化難易度IDは、主に輝度信号PYに対する符号化の難易度を表し、輝度信号PYの符号化の難易度が中間のグレーゾーンである場合のみ色差信号PVUの難易度を表している。
ここで、サブブロックサイズ決定部121は、サブブロックのサイズを小さくしてその数を増大させた場合、サブブロックごとに実行される非線形量子化処理及び線形量子化処理(詳しくは後述する)において適切な非線形テーブル又は量子化係数を適用することができ、画質を向上させることができる。しかしながら、サブブロックの数を増大させた場合、サブブロックサイズ決定部121は、使用されたテーブルや量子化係数の情報が増大し、符号量を増大させてしまう。
一方、サブブロックサイズ決定部121は、サブブロックサイズを大きくしてその数を減少させた場合、適切な非線形テーブル又は量子化係数を適用することができないため画質を低下させる。しかしながら、サブブロックの数を減少させた場合、サブブロックサイズ決定部121は、使用されたテーブルや量子化係数の情報を減少させることができるため、符号量を低下させることができる。
処理ブロックにおいて生成された色差高圧縮ビットストリームBSc1は、処理ブロックにおいて後に生成される輝度信号ビットストリームBSyと組み合わされ、固定符号量(バス転送単位)でなる符号ブロックが生成されることになる。
サブブロックサイズ決定部121は、符号化難易度IDが高い場合には、サブブロックサイズを大きくして少ない数のサブブロックを生成する。サブブロックサイズ決定部121は、輝度信号PYの符号化の難易度が高いことが予想される場合に、色差高圧縮ビットストリームBSc1の符号量を抑制し輝度信号PYに対して多くの符号量を割り当てる。この結果、サブブロックサイズ決定部121は、輝度信号PYの劣化による画質の低下を防止することができる。
また、サブブロックサイズ決定部121は、輝度信号PYの符号化の難易度が中程度でありかつ色差信号PVUの符号化の難易度が高いと予想される場合に、色差高圧縮ビットストリームBSc1の符号量が増大するのを防止することができる。
また、サブブロックサイズ決定部121は、符号化難易度IDが低い場合にはサブブロックサイズを小さくして多くのサブブロックを生成する。サブブロックサイズ決定部121は、輝度信号PYの符号化の難易度が低いことが予想される場合に、色差高圧縮ビットストリームBSc1に比較的多くの符号量を割り当てることができ、色差信号PVUの劣化による画質の低下を防止することができる。
さらに、サブブロックサイズ決定部121は、輝度信号PYの符号化の難易度が中程度でありかつ色差信号PVUの符号化の難易度が低いと予想される場合に、輝度信号ビットストリームBSyに一段と多くの符号量を割り当てて一段と確実に画質の低下を防止することができる。
具体的に、サブブロックサイズ決定部121は、符号化難易度IDの高低に対応してサブブロックの数が割り当てられたブロック数割当テーブルを有している。サブブロックサイズ決定部121は、符号化難易度IDの高低に応じてブロック数割当テーブルからサブブロックの数を選択し、色差信号PVUをサブブロックに分割する。
そして、サブブロックサイズ決定部121は、サブブロックごとの色差信号PVUを減算器122及び第1のメモリ部125へ供給する。この結果、第1のメモリ部125には、色差信号PVUが順次記憶される。
減算器122には、サブブロックサイズ決定部121から色差信号PVUが供給されると共に、切替部134から前回処理された(すなわち、隣接する画素の)色差信号PVU(以下、これをローカル色差信号LVUと呼ぶ)が供給される。
減算器122は、色差信号PVUからローカル色差信号LVUを減算することにより、差分値を生成し、これを非線形量子化部123A及び量子化モード判定部129に供給する。
なお、色差信号PVUが処理ブロックにおける1画素目である場合には、差分値を生成し得ない。この場合サブブロックサイズ決定部121は、色差信号PVUをエントロピー符号化部127にも供給するようになされている。すなわち、処理ブロックにおける1画素目の色差信号PVUは、そのままエントロピー符号化部127に供給される。
ここで、色差高圧縮処理部111は、非線形量子化部123Aと線形量子化部124Aとを有している。非線形量子化部123Aは、減算器122から供給される差分値を量子化することにより、非線形量子化モードによって非線形量子化値を生成する。非線形量子化モードでは、画質が低下するものの、符号量を低下させることができる。
一方、線形量子化部124Aは、サブブロックサイズ決定部121から供給される色差信号PVUをそのまま量子化することにより、線形量子化モードによって線形量子化値を生成する。線形量子化モードでは、非線形量子化モードと比して画質を向上させることができるものの、符号量が増大する。そして線形量子化モード及び非線形量子化モードから、一の量子化モードが選択され、エントロピー符号化される。
具体的に、非線形量子化部123Aは、量子化に使用する非線形テーブルとして図17(B)及び(C)のように、差分値が量子化されてなる量子化ビットの最大値が小さい値(図では「3」)でなる非線形テーブルを複数有している。
非線形量子化部123Aは、図17(A)に示すように、サブブロックにおける差分値の最大値(以下、これを差分最大値と呼ぶ)が、非線形テーブルが有する最大の量子化ビットに割り当てられるように使用する非線形テーブルを選択する。
例えば非線形量子化部123Aは、差分最大値が「13」であった場合には、非線形テーブルとして図17(B)を選択する。また、非線形量子化部123Aは、差分最大値が「9」であった場合には、非線形テーブルとして図17(C)を選択する。
これにより、非線形量子化部123Aは、サブブロックに有する差分値に応じた非線形テーブルを使用することができるため、差分最大値よりも大きい値に割り当てられる量子化ビットを減少させて量子化に伴う画質の劣化を抑制するようになされている。
そして、非線形量子化部123Aは、サブブロックごとに使用した非線形テーブルを表す非線形テーブル識別子を付加するようになされている。
また、線形量子化部124Aには、色差信号PVUがそのまま供給される。線形量子化部124Aは、符号化されたサブブロックが記憶される第2のメモリ部128を監視することにより、これから符号化されるサブブロックに許容される残りの符号量を算出する。
すなわち、線形量子化部124Aは、符号化難易度IDに基づいて設定される色差目標符号量からサブブロックごとに実際に生成された符号量を減算した残りの符号量に応じて量子化精度(すなわち、量子化された線形量子化値のビット数)を決定する。そして、線形量子化部124Aは、決定された量子化精度で色差信号PVUを線形量子化し、生成された線形量子化値に対して量子化精度を表す量子化精度識別子を付加する。
量子化モード判定部129は、非線形量子化モード及び線形量子化モードから一方の量子化モードを選択する量子化モード選択処理を実行する。以下、選択された非線形量子化モード又は線形量子化モードを選択量子化モードと呼ぶ。
量子化モード判定部129は、選択量子化モードによって生成された量子化値(以下、これを選択量子化値と呼ぶ)をエントロピー符号化部127に送出するよう、切替部126を制御する。
エントロピー符号化部127は、選択量子化値をVLC(Variable Length Coding:可変長符号)テーブルを用いてエントロピー符号化して色差高圧縮ビットストリームBSc1を生成する。
そして、エントロピー符号化部127は、色差高圧縮ビットストリームBSc1を第2のメモリ部128に供給すると共に、色差信号符号化モード選択部113に供給する。この結果、第2のメモリ部128には、色差高圧縮ビットストリームBSc1が記憶される。
また、色差高圧縮処理部111は、選択量子化値をローカルデコードしてローカル色差信号LVUを生成する。色差高圧縮処理部111は、ローカル色差信号LVUを前の画素に対応する色差信号PVUとして差分値を算出するのに利用する。また、色差高圧縮処理部111は、元の色差信号PVUとローカル色差信号LVUとを比較することにより、選択量子化値がどの程度劣化しているかを表す色差画質評価値EVc1を算出するようになされている。
具体的に、非線形量子化値及び線形量子化値は、非線形逆量子化部131及び線形逆量子化部132にそれぞれ供給される。線形逆量子化部132は、線形量子化値を量子化精度識別子が表す精度で線形逆量子化してローカル色差信号LVUを生成する。
非線形逆量子化部131は、非線形量子化値を非線形テーブル識別子が表す非線形テーブルを用いて非線形逆量子化して差分値を生成し、これを加算器133に供給する。加算器133は、第1のメモリ部125から供給される前のローカル色差信号LVUに対して差分値を加算し、ローカル色差信号LVUを生成する。このとき、非線形逆量子化部131は、ローカル色差信号LVUを減算器122に供給する。
切替部134は、量子化モード判定部129の制御により、選択されている量子化値を逆量子化して生成されたローカル色差信号PVUを第1のメモリ部125に供給する。
この結果、第1のメモリ部125には、サブブロックサイズ決定部121から随時供給される色差信号PVUと、選択量子化値が復号化されてなるローカル色差信号LVUが記憶される。
画質評価値算出部135は、処理ブロックでなる色差信号PVUに対するローカル色差信号LVUが全て生成されると、色差信号PVUに対するローカル色差信号LVUの画質劣化の度合いを表す色差画質評価値EVc1を算出し、色差信号符号化モード選択部113に供給する。画質評価値算出部135は、例えば平均二乗誤差(MSE:Mean Square Error)を色差画質評価値EVc1として算出することができる。
ここで、色差信号符号化部33は、サブブロックサイズ決定部121によってサブブロックの数を可変にすることにより、色差高圧縮ビットストリームBSc1の符号量が符号化難易度IDに応じた色差目標符号量に収まるように調整している。
しかしながら、色差信号符号化部33は、エントロピー符号化部127による可変長符号化を実行するため、サブブロックの数のみによっては色差高圧縮ビットストリームBScの符号量を制御することができない。
そこで色差信号符号化部33は、実際に符号化されたサブブロックの符号量を量子化モード判定部129によって監視し、当該符号量に応じてサブブロックごとに非線形量子化モード及び線形量子化モードを切り替える。これにより、色差信号符号化部33は、色差高圧縮ビットストリームBSc1が処理ブロックごとに符号化難易度IDに応じた符号量に収まるよう制御する。
量子化モード判定部129は、符号化難易度ID及び実際に符号化された色差高圧縮ビットストリームBSc1の符号量に基づいて、非線形量子化モード及び線形量子化モードから一方の量子化モードを選択量子化モードとして選択する量子化モード選択処理を実行する。
量子化モード判定部129は、第2のメモリ部128を確認することによりサブブロックごとに色差高圧縮ビットストリームBSc1の符号量を監視し、量子化モード選択処理を実行する。これにより、量子化モード判定部129は、実際に生成される色差高圧縮ビットストリームBSc1の符号量を調整するようになされている。
具体的に、量子化モード判定部129は、画質を維持したまま少ない符号量で色差高圧縮ビットストリームBSc1を生成するため、以下の特徴を満たすように動作する。
(1)サブブロックにおける色差信号PVUの差分最大値が小さい場合には、非線形量子化モードを使用した場合であっても画質の劣化が小さくなる。このため、量子化モード判定部129は、色差信号PVUの差分最大値が小さい場合には、非線形量子化モードを選択することにより符号量を低減させる。
(2)符号化難易度IDが「高い」を表す場合には、これから符号化される輝度信号PYにおいて非線形量子化モードによる画質の劣化が大きいと予測されるため、符号量が大きくなる線形量子化モードを使用させる必要がある。または、色差信号PVUにおいて、(1)で非線形量子化モードが選択されないサブブロックが多く存在することから線形量子化モードが多く使用され、色差信号ビットストリームBScの符号量が想定以上になる可能性がある。このため、量子化モード判定部129は、輝度信号ビットストリームBSyに対して符号量を確実に割り当てるため、非線形量子化モードを使用する。言い換えると、符号化難易度IDが「高い」を表す場合には、常に非線形量子化モードが使用されることになる。
(3)サブブロックにおける色差信号PVUの差分最大値が大きく、かつ符号化難易度IDが「低い」を表す場合には、色差信号ビットストリームBScの符号量の割り当てに余裕がある一方、非線形量子化モードによる画質の劣化が大きい。このため、量子化モード判定部129は、画質を維持できる線形量子化モードを選択する。
(4)処理ブロックにおいて色差信号ビットストリームBScに割り当て可能な符号量が十分でない場合には、符号量を優先する。すなわち、量子化モード判定部129は、(3)において線形量子化モードを選択すべき場合であっても非線形量子化モードを選択する。
すなわち、量子化モード判定部129は、輝度信号ビットストリームBSyに十分な符号量を割り当てることを第1優先とし、非線形量子化モードを使用して色差高圧縮ビットストリームBScの符号量を極力低減させる。そして、量子化モード判定部129は、輝度信号ビットストリームBSyに十分な符号量を割り当てた後に余剰な符号量が存在する場合にのみ、線形量子化モードを使用して色差高圧縮ビットストリームBScの画質を向上させるようになされている。
このように、色差高圧縮処理部111は、符号化難易度IDに基づいてサブブロックの数を変化させることにより、輝度信号PYを含めたビットストリームBS総体として画質を極力劣化させないように色差信号PVUを符号化する。そして、色差高圧縮処理部111は、実際に生成された色差高圧縮ビットストリームBSc1の符号量に基づいて量子化モードを選択する。
これにより、色差高圧縮処理部111は、実際に生成された色差高圧縮ビットストリームBSc1の符号量を量子化モードの選択にフィードバックすることにより当該符号量を再調整することができる。このため、色差高圧縮処理部111は、色差高圧縮ビットストリームBSc1を符号化難易度IDに応じた色差目標符号量で確実に生成し得るようになされている。
[1−4−1−2.色差高圧縮処理部及び色差低圧縮処理部の相違点]
次に、色差高圧縮処理部111及び色差低圧縮処理部112の相違点について説明する色差高圧縮処理部111の非線形量子化部123Aは、量子化に使用する非線形テーブルとして図17(B)及び(C)のように、差分値が量子化されてなる量子化ビットの最大値が小さい値(図では「3」)でなる非線形テーブルを複数有していた。
これに対して、色差低圧縮処理部112の非線形量子化部123Bは、量子化に使用する非線形テーブルとして図17(D)及び(E)のように、最大の量子化ビットが大きい値(図では「5」)でなる非線形テーブルを複数有している。
これにより、非線形量子化部123Bは、非線形量子化部123Aと比して多くの量子化ビットを用いて差分値を表すことができるため、符号化されたサブブロックの符号量を大きくしてしまう(すなわち、圧縮率が低くなる)ものの、画質の低下を抑制することができる。
また、色差低圧縮処理部112の線形量子化部124Bは、線形量子化部124Aよりも量子化の精度を高める(線形量子化値のビット数を増大させる)ようにする。
これにより、線形量子化部124Bは、線形量子化部124Aと比して符号化されたサブブロックの符号量を大きくしてしまう(すなわち、圧縮率が低くなる)ものの、画質の低下を抑制し得るようになされている。
すなわち、色差低圧縮処理部112は、信号変換部31から色差信号PVUが供給され、信号解析部32から符号化難易度ID及び色指定情報IEが供給されると、色差高圧縮処理部111と同様にして色差符号化処理を実行し、色差低圧縮ビットストリームBSc2及び色差画質評価値EVc2を生成する。
なお、色差高圧縮処理部111及び色差低圧縮処理部112では、量子化モード判定部129に同一の色差目標符号量が設定されるようになされている。
そして、色差低圧縮処理部112は、色差低圧縮ビットストリームBSc2及び色差画質評価値EVc2を色差信号符号化モード選択部113に供給するようになされている。
[1−4−2.色差信号符号化モード選択処理]
色差信号符号部33(図15)の色差信号符号化モード選択部113は、高圧縮モード及び低圧縮モードのうち、色指定情報IE及び符号化難易度IDに応じた色差信号符号化モードを選択するようになされている。
具体的に、色差信号符号化モード選択部113は、色指定情報IEに基づいて処理ブロックが劣化の目立ち易い特定色を多く含む特定色ブロックであるか否かを判別する。色差信号符号化モード選択部113は、処理ブロックが特定色ブロックである場合には、画質の劣化を極力抑制するため、低圧縮モードを選択色差モードとして選択する。
この低圧縮モードでは、例えば非線形テーブル及び量子化の精度を特定色に対して最適になるように予め設定しておくことにより、特定色に対する色差低圧縮ビットストリームBSc2の劣化を極力抑制し得るようになされている。
すなわち、色差信号符号化モード選択部113は、特定色ブロックに対し、色差信号ビットストリームBScに比較的大きな符号量を割り当てるよう、ビットストリームBSにおける符号量の割当を調整する。さらに、色差信号符号化モード選択部113は、低圧縮モードにおいて、予め特定色に対する画質の劣化が抑制されるよう設定しておくことにより、特定色に対する色差低圧縮ビットストリームBSc2の劣化を抑制する。
これにより、色差信号符号化モード選択部113は、特定色を極力劣化させないようにでき、視覚的な画質の劣化を目立たないようにできる。
一方、色差信号符号化モード選択部113は、処理ブロックが特定色ブロックでない場合には、符号化難易度IDに基づいて選択色差モードを選択する。
ここで、符号化難易度IDが「高い」を表していた場合、輝度信号PYの符号化の難易度が高く、非線形モードを多く使用させるべきでないと予測されるため、輝度信号ビットストリームBSyに多くの符号量を割り当てる必要がある。または、色差信号ビットストリームBScの符号量が大きくなる可能性がある。このとき、色差信号符号化モード選択部113は、色差信号ビットストリームBScの符号量を抑制する。
すなわち、色差信号符号化モード選択部113は、符号化難易度IDが「高い」を表していた場合には、色差高圧縮モードを選択色差モードとして選択する。
一方、符号化難易度IDが「低い」を表していた場合、輝度信号PYの符号化の難易度が低く、非線形モードを多く使用させても画質の劣化が少ないと予測されるため、輝度信号ビットストリームBSyに多くの符号量を割り当てる必要がない。または、色差信号ビットストリームBScの符号量が小さくなると予測される。このとき、色差信号符号化モード選択部113は、色差信号ビットストリームBScの符号量を増大させる。
すなわち、色差信号符号化モード選択部113は、符号化難易度IDが「低い」を表していた場合には、色差低圧縮モードを選択色差モードとして選択する。
ここで、色差信号符号化部33では、サブブロックの数や線形量子化及び非線形量子化を変化させながら色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2を生成している。このため、画像によっては、色差高圧縮ビットストリームBSc1の符号量が色差低圧縮ビットストリームBSc2の符号量よりも大きくなる逆転現象が生じる可能性がある。
そこで色差信号符号化モード選択部113は、色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2を比較する。色差信号符号化モード選択部113は、一方の色差信号ビットストリームBScにおいて符号量が少なくかつ画質が良好な場合には、当該一方の色差信号ビットストリームBScを選択色差信号ビットストリームBScSとして選択する。
すなわち、色差信号符号化モード選択部113は、符号化難易度IDに拘らず、色差高圧縮ビットストリームBSc1の符号量が色差低圧縮ビットストリームBSc2よりも小さく、かつ色差画質評価値EVc1が色差画質評価値EVc2よりも良好(値が小さい)であった場合には、高圧縮モードを選択する。
また、色差信号符号化モード選択部113は、符号化難易度IDに拘らず、色差低圧縮ビットストリームBSc2の符号量が色差高圧縮ビットストリームBSc1よりも小さく、かつ色差画質評価値EVc2が色差画質評価値EVc1よりも良好(値が小さい)であった場合には、低圧縮モードを選択する。
これにより、色差信号符号化モード選択部113は、符号量が少なくかつ画質が良好な色差信号ビットストリームBScを選択色差信号ビットストリームBScSとして選択することができる。この結果、色差信号符号化モード選択部113は、当該選択色差信号ビットストリームBScSの符号量を増大させることなく画質を極力向上させ得るようになされている。
そして、色差信号符号化モード選択部113は、選択色差信号ビットストリームBScSの符号量を表す色差信号使用ビット数IBcを生成する。さらに、色差信号符号化モード選択部113は、選択色差モードを表す色差信号モード選択情報IScを生成する。色差信号符号化モード選択部113は、色差信号使用ビット数IBc及び色差信号モード選択情報IScを色差信号符号化モード再選択部35に供給する一方、色差信号使用ビット数IBcを輝度信号符号化部34に供給する。
このように、色差信号符号化モード選択部113は、画質の劣化が目立ち易い特定色ブロックについては、低圧縮モードを選択する。これにより、色差信号符号化モード選択部113は、特定色ブロックについて画質の劣化を極力抑制することができ、画質の劣化をユーザに認識させ得ないようになされている。
また、色差信号符号化モード選択部113は、画質の劣化が目立ちにくい特定色ブロック以外のブロックについては、符号化難易度IDに基づいて色差信号符号化モードを選択するようにした。
これにより、色差信号符号化モード選択部113は、視覚的に劣化の目立ち易い輝度信号PYに十分な符号量を割り当てた上でさらに、符号量に余裕がある場合には、色差信号PVUに比較的大きな符号量を割り当てることができる。この結果、色差信号符号モード選択部113は、輝度信号PYを優先した上で、かつ符号量を余すことなく輝度信号PY及び色差信号PVUに割り当てることができ、ビットストリームBS総体としての画質の劣化を極力抑制し得るようになされている。
[1−4−3.具体的な処理手順]
次に、色差信号符号化処理手順RT5について、図18〜図25のフローチャートを用いて説明する。
色差信号符号化部33は、信号変換部31から色差信号PVUが供給されると、色差信号符号化処理を開始し、次のステップSP121へ移る。
ステップSP121において、色差信号符号化部33は、サブルーチンSRT11へ移り、色差信号PVUを高圧縮モードで符号化し、色差高圧縮ビットストリームBSc1を生成すると、次のステップSP122へ移る。
ステップSP122において、色差信号符号化部33は、サブルーチンSRT11へ移り、色差信号PVUを低圧縮モードで符号化し、色差低圧縮ビットストリームBSc2を生成すると、次のステップSP123へ移る。
ステップSP123において、色差信号符号化部33は、サブルーチンSRT17へ移り、高圧縮モード及び低圧縮モードのいずれかの符号化モードを選択する色差信号符号化モード選択処理を実行すると、終了ステップへ移り、色差信号符号化処理手順RT5を終了する。
ステップSP121及びステップSP122において、色差信号符号化部33は、色差信号圧縮処理手順を示すサブルーチンSRT11(図19)のステップSP141へ移る。
ステップSP141において、色差信号符号化部33は、符号化難易度IDに基づいてサブブロックサイズを決定すると共に、当該サブブロックサイズに従って、処理ブロックごとの色差信号PVUをサブブロックに分割すると、次のステップSP142へ移る。
ステップSP142において、色差信号符号化部33は、処理対象となる色差信号PVUの画素が処理ブロックにおける最初の画素か否かについて判別する。ここで、肯定結果が得られた場合、色差信号符号化部33は、前の画素との差分値を算出できないため、次のステップSP143へ移る。
ステップSP143において、色差信号符号化部33は、最初の画素をエントロピー符号化部127に供給し、次のステップSP144へ移る。
ステップSP144において、色差信号符号化部33は、最初の画素を第1のメモリ部125に格納し、ステップSP142へ戻る。
これに対して、ステップSP142において否定結果が得られた場合、色差信号符号化部33は、次のステップSP146へ移る。
ステップSP146において、色差信号符号化部33は、サブブロックごとに処理対象の画素と第1のメモリ部125に格納された一つ前の画素との差分値を算出すると、次のステップSP147へ移る。
ステップSP147において、色差信号符号化部33は、色差信号符号化部における量子化モード選択処理手順を示すサブルーチンSRT12(図20)のステップSP171へ移り、差分最大値、符号化難易度ID、残りの符号量に基づいて量子化モードの選択を実行する。
ステップSP171において、色差信号符号化部33は、サブブロックにおける差分最大値が非線形閾値Th6未満であるか否かについて判別する。
ここで、肯定結果が得られた場合、このことは符号量を小さくできる非線形量子化処理を実行しても画質の劣化が小さいことを表しており、このとき、色差信号符号化部33は、次のステップSP174へ移る。
これに対して、ステップSP171において否定結果が得られた場合、このことは非線形量子化処理により画質が劣化する可能性があることを表しており、このとき、色差信号符号化部33は、次のステップSP172へ移る。
ステップSP172において、色差信号符号化部33は、符号化難易度IDが「高い」か否かについて判別する。ここで、肯定結果が得られた場合、輝度信号ビットストリームBSyに対して非線形モードを多く使用すると画質が劣化する恐れがある、又はステップSP171において多くのサブブロックについて肯定結果が得られ、非線形モードが選択される。このため、輝度信号ビットストリームBSyに大きな符号量を割り当てるべきことを表している。このとき、色差信号符号化部33は、次のステップSP174へ移る。
これに対して、ステップSP172において否定結果が得られた場合、このことは輝度信号ビットストリームBSyの符号量が小さくなる、又は色差信号ビットストリームBScの符号量が大きくなるため、輝度信号ビットストリームBSyに大きな符号量を割り当てなくても良いことを表している。このとき、色差信号符号化部33は、次のステップSP173へ移る。
ステップSP173において、色差信号符号化部33は、符号化難易度IDに応じて処理ブロックに設定されている色差信号目標符号量から既に符号化されたサブブロックの符号量を減算した残りの符号量が十分でないか否かについて判別する。
ここで、肯定結果が得られた場合、このことはこれから符号化されるサブブロックの符号量を抑制すべきことを表しており、このとき、色差信号符号化部33は、次のステップSP174へ移る。
ステップSP174において、色差信号符号化部33は、非線形量子化モードを選択すると、サブルーチンSRT11(図19)のステップSP148へ移る。
これに対して、ステップSP173において否定結果が得られた場合、このことは非線形量子化モードによって画質が劣化する可能性があり、輝度信号ビットストリームBSyに大きな符号量を割り当てる必要はなく、かつ残りの符号量が十分であることを表している。このとき、色差信号符号化部33は、ステップSP175へ移り、色差信号ビットストリームBScに多くの符号量を割り当てるべきであるため、線形量子化モードを選択し、サブルーチンSRT11(図19)のステップSP148へ移る。
ステップSP148において、色差信号符号化部33は、非線形量子化モードが選択されたか否かについて判別する。ここで、肯定結果が得られた場合、色差信号符号化部33は、非線形量子化処理を実行するべきであるため、次のステップSP149から非線形量子化処理手順を示すサブルーチンSRT13(図21)のステップSP181へ移る。
ステップSP181において、色差信号符号化部33は、サブブロックにおける差分最大値を検出すると、次のステップSP182へ移る。
ステップSP182において、色差信号符号化部33は、差分最大値に応じて非線形テーブルを選択すると、次のステップSP183へ移る。
ステップSP183において、色差信号符号化部33は、ステップSP182において選択された非線形テーブルを用いてサブブロックを非線形量子化すると、次のステップSP184へ移る。
ステップSP184において、色差信号符号化部33は、非線形量子化されたサブブロックに対して選択した非線形テーブルの非線形テーブル識別子を付加すると、サブルーチンSRT11(図19)のステップSP151へ移る。
これに対して、ステップSP148(図19)において否定結果が得られた場合、色差信号符号化部33は、線形量子化処理を実行すべきであるため、次のステップSP150から線形量子化処理手順を示すサブルーチンSRT14(図22)のステップSP191へ移る。
ステップSP191において、色差信号符号化部33は、処理ブロックごとに設定された色差信号目標符号量から既に符号化されたサブブロックの符号量を減算した残りの符号量に応じて線形量子化の精度(すなわち、量子化値のビット数)を選択すると、次のステップSP192へ移る。
ステップSP192において、色差信号符号化部33は、ステップSP191において選択された精度でサブブロックを線形量子化すると、次のステップSP193へ移る。
ステップSP193において、色差信号符号化部33は、線形量子化されたサブブロックに対して選択された精度を表す量子化精度識別子を付加すると、サブルーチンSRT11(図19)のステップSP151へ移る。
ステップSP151において、色差信号符号化部33は、ステップSP149又はステップSP150において量子化された量子化値に対し、エントロピー符号化(すなわち、可変長符号化)を実行すると、次のステップSP152へ移る。
ステップSP152において、色差信号符号化部33は、非線形量子化モードが選択されたか否かについて判別する。
ここで、肯定結果が得られると、色差信号符号化部33は、非線形逆量子化処理を実行すべきであるため、次のステップSP154へ移る。
ステップSP154において、色差信号符号化部33は、非線形逆量子化処理手順を示すサブルーチンSRT15(図23)のステップSP201へ移る。
ステップSP201において、色差信号符号化部33は、非線形テーブル識別子から、非線形量子化値が量子化されたときに用いられた非線形テーブルを解読すると、次のステップSP202へ移る。
ステップSP202において、色差信号符号化部33は、ステップSP201において解読された非線形テーブルを用いて非線形量子化値に対する非線形逆量子化を実行すると、サブルーチンSRT11(図19)のステップSP155へ移る。
ステップSP155において、色差信号符号化部33は、一つ前の画素に対応するローカル色差信号LVUに対し、ステップSP201において生成された非線形逆量子化された非線形量子化値を加算することにより処理対象となる画素のローカル色差信号LVUを生成すると、次のステップSP157へ移る。
これに対して、ステップSP152において否定結果が得られた場合、色差信号符号化部33は、線形逆量子化処理を実行すべきであるため、線形逆量子化処理手順を表すサブルーチンSRT16(図24)のステップSP211へ移る。
ステップSP211において、色差信号符号化部33は、量子化精度識別子から、線形量子化の精度を解読すると、次のステップSP212へ移る。
ステップSP212において、色差信号符号化部33は、ステップSP211において解読された線形量子化の精度で線形量子化値に対する線形逆量子化を実行することにより、ローカル色差信号LVUを生成すると、サブルーチンSRT11(図19)のステップSP157へ移る。
ステップSP157において、色差信号符号化部33は、ローカル色差信号LVUを第1のメモリ部125に格納し、次のステップSP158へ移る。
ステップSP158において、色差信号符号化部33は、処理ブロックにおける全てのサブブロックに対する符号化が終了したか否かについて判別する。
ここで、否定結果が得られた場合、このことは次のサブブロックの符号化を実行すべきであることを表しており、このとき、色差信号符号化部33は、次のステップSP159へ移る。
ステップSP159において、色差信号符号化部33は、ステップSP151において実行したエントロピー符号化の符号化結果を第2のメモリ部128に格納すると、ステップSP142へ戻って色差信号圧縮処理手順を継続する。
これに対して、ステップSP158において肯定結果が得られた場合、このことは処理ブロックに対する色差信号圧縮処理が終了したことを表しており、このとき、色差信号符号化部33は、次のステップSP160へ移る。
ステップSP160において、色差信号符号化部33は、色差信号PVUに対するローカル色差信号LVUの劣化の度合いを表す色差画質評価値EVcを算出すると、色差信号符号化処理手順RT5(図18)のステップSP123へ戻る。
ステップSP123において、色差信号符号化部33は、色差信号符号化モード選択処理手順を示すサブルーチンSRT17(図25)のステップSP171へ移り、高圧縮モード及び低圧縮モードのいずれかを選択する。
ステップSP171において、色差信号符号化部33は、色指定情報IEに基づき、処理ブロックが特定色ブロックであるか否かについて判別する。
ここで、肯定結果が得られた場合、このことは処理ブロックが画質の劣化が目立ち易い特定色を多く含むため、色差信号ビットストリームBScにおける画質の劣化を抑制する必要があることを表している。このとき、色差信号符号化部33は、次のステップSP175へ移る。
これに対して、ステップSP171において否定結果が得られた場合、色差信号符号化部33は、特定色に対する配慮が不要であるため、次のステップSP172へ移る。
ステップSP172において、色差信号符号化部33は、処理ブロックに対する符号化難易度IDが「低い」を表すか否かについて判別する。
ここで、肯定結果が得られた場合、このことは色差信号ビットストリームBScに大きな符号量を割り当てるべきであることを表しており、このとき、色差信号符号化部33は、次のステップSP173へ移る。
ステップSP173において、色差信号符号化部33は、高圧縮モード及び低圧縮モードを比較する。このとき、色差信号符号化部33は、色差画質評価値EVcが高圧縮モードよりも低圧縮モードの方が小さくて良好である、又は色差信号ビットストリームBScの符号量が高圧縮モードよりも低圧縮モードの方が小さくて良好であるか否かについて判別する。
ここで、肯定結果が得られた場合、画質又は符号量の少なくともいずれか一方が高圧縮モードよりも低圧縮モードの方が良好であり、色差低圧縮モードを選択すべきであることを表している。このとき、色差信号符号化部33は、次のステップSP175へ移る。
これに対して、ステップSP173において否定結果が得られた場合、このことは高圧縮モードが画質及び符号量共に良好であり、色差高圧縮モードを選択すべきであることを表しており、このとき、色差信号符号化部33は、次のステップSP176へ移る。
これに対して、ステップSP172において否定結果が得られた場合、このことは色差信号ビットストリームBScに小さな符号量を割り当てるべきであることを表しており、このとき、色差信号符号化部33は、次のステップSP174へ移る。
ステップSP174において、色差信号符号化部33は、高圧縮モード及び低圧縮モードを比較する。このとき、色差信号符号化部33は、色差画質評価値EVcが低圧縮モードよりも高圧縮モードの方が小さくて良好である、又は色差信号ビットストリームBScの符号量が低圧縮モードよりも高圧縮モードの方が小さくて良好であるか否かについて判別する。ここで、肯定結果が得られた場合、画質又は符号量の少なくともいずれか一方が低圧縮モードよりも高圧縮モードの方が良好であり、色差高圧縮モードを選択すべきであることを表している。このとき、色差信号符号化部33は、次のステップSP176へ移る。
これに対して、ステップSP174において否定結果が得られた場合、このことは低圧縮モードが画質及び符号量共に良好であり、色差低圧縮モードを選択すべきであることを表しており、このとき、色差信号符号化部33は、次のステップSP175へ移る。
ステップSP175において、色差信号符号部33は、選択色差信号ビットストリームBScSとして色差低圧縮モードに対応する色差低圧縮ビットストリームBSc2を選択すると、次のステップSP177へ移る。
ステップSP176において、色差信号符号化部33は、選択色差信号ビットストリームBScSとして色差高圧縮モードに対応する色差高圧縮ビットストリームBSc1を選択すると、次のステップSP177へ移る。
ステップSP177において、色差信号符号化部33は、選択色差信号ビットストリームBScSの符号量を表す色差信号使用ビット数IBcを生成すると、次のステップSP178へ移る。
ステップSP178において、色差信号符号化部33は、選択色差モードを表す色差信号モード選択情報IScを生成すると、色差信号符号化処理手順RT5(図18)のステップSP123へ戻る。そして、色差信号符号化部33は、ステップSP123から終了ステップへ移って色差信号符号化処理手順RT5を終了する。
[1−5.輝度信号符号化部の構成]
次に、輝度信号符号部34の構成について説明する。図26に示すように、輝度信号符号部34は、輝度高圧縮処理部201、輝度低圧縮処理部202及びポスト量子化部203により、3つの輝度信号符号化モードで輝度信号PYを符号化して3つの輝度信号ビットストリームBSyを生成する。そして、輝度信号符号化部34は、輝度信号符号化モード選択部204によって一の輝度信号符号化モードを選択するようになされている。
なお、輝度信号符号化部34は、バス転送単位から、色差信号使用ビット数IBcが表す選択色差信号ビットストリームBScSの符号量及びヘッダに必要となる符号量を減算した値を輝度目標符号量として設定するようになされている。
[1−5−1.輝度信号の符号化処理]
図27に示すように、輝度高圧縮処理部201は、図16に示した色差高圧縮処理部111とほぼ同一構成でなる。また、輝度低圧縮処理部202は、色差低圧縮処理部112と同様、量子化の精度が相違する点以外は輝度高圧縮処理部201とほぼ同一構成でなるため、説明を省略する。
なお、図27では、図16に対応する箇所を図16における符号に100を加算した符号を附して示している。以下、輝度高圧縮処理部201について、色差高圧縮処理部111と相違する点のみについて説明し、色差高圧縮処理部111と同様の処理についての説明を省略する。
輝度高圧縮処理部201には、信号変換部31から輝度信号PYが、信号解析部32から符号化難易度IDが、色差信号符号化部33から色差信号使用ビット数IBcが供給される。輝度圧縮処理部201は、輝度信号PY、符号化難易度ID及び色差信号使用ビット数IBcをサブブロックサイズ決定部221に供給すると共に、符号化難易度ID及び色差信号ビット数IBcを量子化モード判定部229へ供給する。
サブブロックサイズ決定部221は、処理ブロックごとの輝度信号PYを、色差信号使用ビット数IBc及び符号化難易度IDに応じたサブブロックサイズに分割する。
すなわち、サブブロックサイズ決定部221は、色差信号使用ビット数IBcが大きい場合には、輝度信号ビットストリームBSyに割当可能な輝度信号目標符号量を小さく設定する必要があるため、サブブロックサイズを大きく設定してサブブロックの数を低減させる。
また、サブブロックサイズ決定部221は、色差信号使用ビット数IBcが小さい場合には、輝度信号ビットストリームBSyに割当可能な輝度信号目標符号量を大きく設定する必要があるため、サブブロックサイズを小さく設定してサブブロックの数を増大させる。
さらに、サブブロックサイズ決定部221は、符号化難易度IDが高い場合には、輝度信号PYの符号化の難易度が高い又は中程度であり、生成される輝度信号ビットストリームBSyの符号量が大きくなることが予想されるため、サブブロックサイズを大きく設定する。
さらに、サブブロックサイズ決定部221は、符号化難易度IDが低い場合には、輝度信号PYの符号化の難易度が低い又は中程度であり、生成される輝度信号ビットストリームBSyの符号量が小さくなることが予想されるため、サブブロックサイズを小さく設定する。
具体的に、サブブロックサイズ決定部221は、色差信号使用ビット数IBc及び符号化難易度IDに対してブロック数が対応付けられたブロック数割当テーブルを有している。サブブロックサイズ決定部221は、色差信号使用ビット数IBc及び符号化難易度IDから対応するブロック数を選択する。
そして、ブロックサイズ決定部221は、処理ブロックごとに供給される輝度信号PYを、選択されたブロック数でなるサブブロックに分割し、減算器222、線形量子化部224、及び第1のメモリ部225にそれぞれ供給するようになされている。
この結果、輝度高圧縮処理部201は、色差信号使用ビット数IBc及び符号化難易度IDに応じたサブブロックごとに輝度信号PYを非線形量子化処理及び線形量子化処理することができる。このため、輝度高圧縮処理部201は、処理ブロックごとの輝度高圧縮ビットストリームBSy1の符号量が輝度信号目標符号量に収まるよう調整し得るようになされている。
ここで、色差高圧縮処理部111は、量子化モードを選択する際、輝度信号ビットストリームBSyに優先的に符号量を割り当てるため、符号化難易度IDを用いていた。これに対して、輝度高圧縮処理部201は、かかる符号量を考慮する必要がない。このため、輝度高圧縮処理部201では、量子化モードを選択する際、符号化難易度IDを考慮しないようになされている。
具体的に、輝度高圧縮処理部201の量子化モード判定部229は、サブブロックにおける差分最大値が小さく、非線形量子化モード閾値Th7未満である場合には、サブブロックに対して非線形量子化処理を実行しても画質が大きく劣化しないため、非線形量子化モードを選択する。
さらに、量子化モード判定部229は、差分最大値が大きく、非線形量子化モード閾値Th7以上である場合には、輝度信号目標符号量から、既に符号化されたサブブロックの符号量を減算した残りの符号量を確認する。量子化モード判定部229は、残りの符号量が十分である場合には符号量が大きくなる線形量子化モードを選択する一方、残りの符号量が不十分な場合には、符号量が小さくなる非線形量子化モードを選択する。
これにより、輝度高圧縮処理部201は、残りの符号量に応じて量子化モードを選択することにより、輝度信号ビットストリームBSyが輝度信号目標符号量に収まるよう、当該輝度信号ビットストリームBSyの符号量を調整しうるようになされている。
[1−5−2.ポスト量子化処理]
ポスト量子化部203は、輝度信号PYを重要度の高いビットから輝度目標符号量になるまで符号化し、当該目標符号量に到達した時点で残りのビットを切捨てるポスト量子化処理を実行することにより、輝度量子化ビットストリームBSy3を生成する。
具体的に、図28に示すように、ポスト量子化部203は、色差使用ビット数IBc及び輝度信号PYが供給されると、色差使用ビット数IBcをRB(Refinement Bit)符号化部254に供給し、輝度信号PYを画質評価値算出部258及びDWT(Discrete Wavelet Transform)部251に供給する。
DWT部251は、輝度信号PYを元の輝度信号PYよりも1[bit]少ないビット数及び正負符号で表すDCレベルシフト処理を実行する。DWT部251は、当該DCシフトレベル処理された輝度信号PYに対してDWT処理を実行し、DWT係数の絶対値(以下、これをDWT絶対値と呼ぶ)及び正負符号を算出する。以下、DWT絶対値及び正負符号をまとめてDWT係数と呼ぶ)。
このとき、DWT部251は、例えば図29に示すように、DCシフトレベル処理された処理ブロックごとの輝度信号PYに対してDWT処理を実行することにより、低周波成分である3L領域と、高周波成分である3H領域、2H領域及び1H領域とに分解する。なお、各領域の名称において先頭の数値が小さくなるにつれて高周波の度合いは大きくなることを表している。
DWT部251は、DWT絶対値をZBP(Zero Bit Plane)符号化部252及びDWT係数切捨部256に供給する。また、正負符号をSB(Significant Bit)符号化部253、RB符号化部254、IDWT(Inverse DWT)部257にそれぞれ供給する。
図30に示すように、ZBP符号化部252は、DWT絶対値をQ×R画素のコーディングブロックに分割し、ビットプレーンに分解する。以下、ビットプレーンに分解されたDWT絶対値をプレーン化DWT絶対値と呼ぶ。図30では、ビット深度が「0」のビットを最も上位であるMSB(Most Significant Bit)、ビット深度が「8」のビットを最も下位であるLSB(Least Significant Bit)として表している。
なお、図30において、ビット深度「0」から「8」で表される9つのブロックをひとまとめにしたものがコーディングブロックであり、当該コーディングブロックにおける1つのビット深度ごとのブロックをコーディングプレーンと呼ぶ。このポスト量子化処理においては、コーディングブロックのサイズ(すなわち、Q×R画素の値)を小さくすることにより、分解能を向上させることが可能である。
なお、図30において「斜線なし」で表されているコーディングプレーンは、自身を含む上位のコーディングブロックにおいてDWT絶対値の上位ビットが全て「ゼロ」を示すコーディングプレーン(以下、これをゼロプレーンと呼ぶ)である。また、「斜線」で表されているコーディングプレーンは、自身のコーディングプレーンにおいて少なくともひとつの「1」が出現した、又は上位のコーディングプレーンにおいて少なくともひとつの「1」が出現したコーディングプレーンを表している。
ZBP符号化部252は、ゼロプレーンがMSB側からLBS側に向けてどのビット深度まで続いているのか、コーディングプレーンごとに検出する。そして、図31に示すように、ZBP符号化部252は、最もLSB側に位置するゼロプレーンをゼロビットプレーン(縦線で示す)と定義する。
ZBP符号化部252は、VLCテーブルを用いてゼロビットプレーンの位置を可変長符号化し、ゼロビット符号化情報を生成する。可変長符号化の方式としては、例えばハフマン符号化やJPEG(Joint Photographic Experts Group)2000で採用されているタグツリー符号化などが使用される。そして、ZBP符号化部252は、プレーン化DWT値及びゼロビット符号化情報をSB符号化部253に供給する。
SB符号化部253には、ZBP符号化部252からプレーン化DWT値及びゼロビット符号化情報が供給されると共に、DWT部251から正負符号が供給される。SB符号化部253は、ゼロビット符号化情報が表すゼロビットプレーンの位置からSIGブロックを特定する。
ここで、図32に示すように、ゼロビットプレーンの一つ下位のブロック、すなわち、MSB側からみて最も上位に「1」が出現したコーディングプレーン(横線で示す)をSIGプレーンと呼ぶ。このSIGプレーンは、各DWT絶対値の中で最も上位に位置する「1」を包含していることから最も重要度が高い。
SB符号化部253は、VLCテーブルを用いてSIGプレーンが有する各ビットを符号化する。また、SB符号化部253は、SIGプレーンを1ビット単位で確認し、「1」のビットが出現した場合には、そのビットが属するDWT絶対値に対応する正負符号を符号化する。なお、SB符号化部253は、「0」のビットに対応する正負符号を符号化しない。
そして、SB符号化部253は、符号化されたSIGプレーンが有するSIGビット及び「1」に対応する正負符号をSIG符号化情報とし、プレーン化DWT値及びゼロビット符号化情報と共にRB符号化部254に供給する。
RB符号化部254は、SB符号化部253からプレーン化DWT値及びSIGビット符号化情報が供給されると共に、DWT部251から正負符号が供給される。RB符号化部254は、ゼロビット符号化情報が表すゼロビットプレーンの位置からRFプレーンを特定する。
ここで、SIGプレーンよりも下位のプレーン(斜線で示す)をRFプレーンと呼ぶ。ところで、上述したように、DWT絶対値では、低周波ほど重要度が高く、高周波ほど重要度は低い。また、プレーン化DWT値では、ビット深度が低いMSB側ほど重要度が高く、ビット深度が深いLSB側ほど重要度が低い。
すなわち、図33にイメージを示すように、プレーン化DWT値では、左上へいくほど重要度が高く、右下へいくほど重要度が低くなる。従って、RB符号化部254は、プレーン化DWT値において重要度が高いコーディングプレーンから順次コーディングプレーンを符号化する。
具体的に、RB符号化部254は、プレーン化DWT値において重要度の高いプレーン化DWT値から順にスキャンをし、SIG符号化情報に基づいてゼロプレーン及びSIGプレーンをスキップすることにより、RFプレーンの各RFビットのみを符号化する。
このとき、RB符号化部254は、VLCテーブルを用いてRFプレーンが有する各ビットを符号化する。また、RB符号化部254は、RFプレーンを1ビット単位で(すなわち、RFビットごとに)確認し、「1」のビットが出現した場合には、上位ビットを確認する。RB符号化部254は、上位ビットに「1」が存在しない場合にはRFビットが属するDWT絶対値に対応する正負符号を符号化する。以下、符号化されたRFプレーン及び正負符号をRF符号化情報と呼ぶ。
言い換えると、SB符号化部253及びRB符号化部254は、DWT絶対値を上位ビットから確認していき、初めて「1」が出現したときにのみDWT絶対値に対応する正負符号を符号化する。
このとき、RB符号化部254は、固定符号量(バス転送単位)でなる符号ブロックの符号量から色差信号使用ビット数IBc及びヘッダに必要となる符号量を減算した値を輝度目標符号量に設定する。そして、RB符号化部254は、ゼロビット符号化情報、SIG符号化情報及びRF符号化情報の合計の符号量である輝度合計符号量が輝度目標符号量に到達すると、当該輝度目標符号量に収まる範囲内をRF符号化情報とする。そして、RB符号化部254は、符号化を終了した位置を表す切捨情報を生成する。
なお、RB符号化部254は、合計符号量が輝度目標符号量に到達する前に全てのRFプレーンを符号化し終えた場合には、その時点で符号化を終了し、切捨情報を生成する。
すなわち、図34に示すように、RB符号化部254は、全てのRFプレーンを符号化し終える前に輝度合計符号量が輝度目標符号量に到達した場合には、符号化し終えていないRFプレーンを切り捨てる。これにより、RB符号化部254は、重要性の低いビットのみを切り捨てることができるため、画質を極力劣化させないようになされている。
また、RB符号化部254は、輝度合計符号量が輝度目標符号量に到達するまでにRFプレーンを符号化し、輝度目標符号量に収まる範囲内でRF符号化情報を生成する。これにより、RB符号化部254は、選択色差信号ビットストリームBScSと輝度量子化ビットストリームBSy3とを加算した符号量をバス転送単位でなる符号ブロックの符号量に極力近づけることができる。
そして、RB符号化部254は、ゼロビット符号化情報、SIG符号化情報、RF符号化情報及び切捨情報をヘッダ生成部255に供給する一方、切捨情報をDWT切捨部256へ供給する。
ヘッダ生成部255は、切捨情報をヘッダとして並べ替えることにより、輝度量子化ビットストリームBSy3を生成し、これを輝度信号符号化モード選択部204に供給する。
ここで、ポスト量子化部203は、画質評価部258によりポスト量子化処理によってどの程度輝度信号PYの画質が劣化したかを表す輝度画質評価値EVy3を生成する。
ところで、ポスト量子化処理において画質を劣化させる可能性のある非可逆的な符号化は、RFプレーンの切り捨てのみである。そこでポスト量子化部203は、DWT部251によって生成されたプレーン化DWT値から、輝度量子化ビットストリームBSy3において切り捨てられたRFプレーンに対応するビットプレーンを切り捨てる。そして、ポスト量子化部203は、ビットプレーンの切り捨てられたプレーン化DWT値(以下、これを切捨DWT値と呼ぶ)に基づいてローカル輝度信号LYを生成する。
これにより、ポスト量子化部203は、符号化された情報(ゼロビット符号化情報、SIG符号化情報及びRF符号化情報)をわざわざ復号化しなくても、当該符号化された情報を復号化した場合と同様の画質劣化を示すローカル輝度信号LYを生成することができる。
すなわち、ポスト量子化部203は、単に切り捨てたRFプレーンに対応するプレーン化DWT値を切り捨てれば良いため、輝度量子化ビットストリームBSy3を復号化する場合と比して、ローカル輝度信号LYを生成する処理負荷を低減し得るようになされている。
具体的に、DWT切捨部256は、DWT部251から供給されるプレーン化DWT値を一時記憶する。そして、DWT切捨部256は、RB符号化部254から切捨情報が供給されると、プレーン化DWT値のうち、RB符号化部254において切り捨てられたRFプレーンに対応するビットプレーンを切り捨てて切捨DWT値を生成し、IDWT部257に供給する。
さらに、DWT切捨部256は、図35に示すように、切捨てられたRFプレーンのうち、最上位のビットプレーン(格子で示す)に対し、「1」を付加する。このとき、DWT切捨部256は、RFビットごとに上位のビットプレーンにおいて「1」が存在する場合のみ「1」を付加する。これに対して、DWT切捨部256は、上位のビットプレーンにおいて「1」が存在しない場合には「1」を付加しない。
すなわち、上位のビットプレーンにおいて「1」が存在するビットにのみ「1」を付加することにより、切捨てられたビットを四捨五入するのと同様の効果を得ることができ、プレーン化DWT値における画質を向上させることができる。この処理が復号化の際に実行されることにより、輝度量子化ビットストリームBSy3の画質を向上させることができる。
すなわち、DWT切捨部256は、復号化の際と同様の処理を行うことにより、復号化されたときの画質を表すローカル輝度信号LYを生成するようになされている。
図36に示すようにIDWT部257は、ビットの付加された切捨DWT値が供給されると、当該ビットの付加された切捨DWT値に対してIDWT処理を実行することにより、3L、3H、2H及び1Hの4つの帯域でなる切捨DWT値を空間領域に変換する。
さらに、IDWT部257は、空間領域に変換された切捨DWT値に対し、DCレベルシフトで差し引かれた値と同じ値を加算することにより、IDCレベルシフト処理を実行し、ローカル輝度信号LYを生成する。そして、IDWT部257は、ローカル輝度信号LYを画質評価値算出部258に供給する。
画質評価値算出部258には、輝度信号PY及びローカル輝度信号LYが供給される。画質評価値算出部258は、例えば輝度信号PY及びローカル輝度信号LYの平均二乗誤差を算出することにより、輝度信号PYに対するローカル輝度信号LYの画質劣化の度合いを表す値を算出し、これを輝度画質評価値EVy3として輝度信号符号化モード選択部204に供給するようになされている。
このように、ポスト量子化部203は、重要度の高いビットプレーンから順次符号化を実行し、色差使用ビット数IBcに基づいた輝度信号目標符号量内に収まらない場合には、重要度の低いビットプレーンから順に当該ビットプレーンを切り捨てるようにした。
これにより、ポスト量子化部203は、輝度量子化ビットストリームBSy3と選択色差信号ビットストリームBScSとの合計符号量を目標符号量(バス転送単位)に極力近づけることができる。このため、ポスト量子化部203は、輝度量子化ビットストリームBSy3を用いて符号ブロックを生成させた場合に、当該符号ブロックにおいて殆どダミーデータを付加させなくて済むようになされている。
[1−5−3.輝度信号符号化モード選択部の構成]
次に、輝度信号符号化モード選択部204について説明する。
図26に示したように、輝度信号符号化モード選択部204には、輝度高圧縮ビットストリームBSy1及び輝度画質評価値EVy1、輝度低圧縮ビットストリームBSy2及び輝度画質評価値EVy2、並びに輝度量子化ビットストリームBSy3及び輝度画質評価値EVy3が供給される。
輝度信号符号化モード選択部204は、輝度画質評価値EVy1、EVy2及びEVy3を比較し、最も良好(値の小さい)な輝度画質評価値EVyに対応する輝度信号符号化モードを選択輝度モードとして選択する。
そして、輝度信号符号化モード選択部204は、選択輝度モードに対応する輝度信号ビットストリームBSyに対し当該輝度信号符号化モードを表す輝度モード識別子を付加し、これを選択輝度信号ビットストリームBSySとして多重化部36に供給する。また、輝度信号符号化モード選択部204は、選択輝度信号ビットストリームBSySの符号量を表す輝度信号使用ビット数IByを生成し、色差信号符号化モード再選択部35に供給するようになされている。
ここで、輝度信号符号化部34は、ポスト量子化部203により、輝度高圧縮処理部201及び輝度低圧縮処理部202とは大きく相違する手法により量子化を実現している。このため、輝度信号符号化モード選択部204は、画質の劣化度合いの異なる3種類の輝度信号ビットストリームBSyから、最も画質の良好な輝度信号ビットストリームBSyを選択輝度信号ビットストリームBSySとして選択することができる。
すなわち、輝度信号符号化モード選択部204は、相違する量子化処理を多数実行することにより、様々な画質でなる輝度信号PYに対して画質の劣化を極力抑制し得るようになされている。
なお、輝度信号符号化モード選択部204は、輝度画質評価値EVyの値が同一となる輝度信号符号化モードが複数存在する場合には、輝度信号ビットストリームBSyの符号量が小さい輝度信号符号化モードを選択するようになされている。
これにより、輝度信号符号化モード204は、複数の輝度信号ビットストリームBSyにおける画質が同等である場合には輝度信号ビットストリームBSyの符号量を抑制し得るようになされている。
[1−5−4.具体的な処理手順]
次に、輝度信号符号化処理手順RT6について、図38〜図41のフローチャートを用いて説明する。
輝度信号符号化部34は、輝度信号PY、符号化難易度ID及び色差信号使用ビット数IBcが供給されると、基礎信号符号化処理手順RT6を開始し、ステップSP201へ移る。
ステップSP201において、輝度信号符号化部34は、サブルーチンSRT11のステップSP141(図19)へ移り、輝度信号PYを高圧縮モードで符号化すると、次のステップSP202へ移る。
ステップSP202において、輝度信号符号化部34は、サブルーチンSRT11のステップSP141(図19)へ移り、輝度信号PYを低圧縮モードで符号化すると、次のステップSP203へ移る。
なお、サブルーチンSRT11において、色差信号符号化部33を輝度信号符号化部34に、色差信号PVUを輝度信号PYに、ローカル色差信号LVUをローカル輝度信号LYに、色差信号ビットストリームBScを輝度信号ビットストリームBSyにそれぞれ読み替えるものとする。
また、輝度信号符号化部34は、ステップSP147において、輝度信号符号化部における量子化モード選択処理手順を表すサブルーチンSRT21(図39)におけるステップSP211へ移る。
ステップSP211において、輝度信号符号化部34は、差分最大値が非線形量子化閾値Th7未満であるか否かについて判別する。
ここで、肯定結果が得られると、このことはサブブロックに対して非線形量子化処理を実行しても画質が大きく劣化しないため、選択量子化モードとして線形量子化モードを選択すべきことを表している。このとき、輝度信号符号化部34は、次のステップSP213へ移る。
これに対して、ステップSP211において否定結果が得られると、このことはサブブロックに対して非線形量子化処理を実行すると画質が大きく劣化する可能性があることを表している。このとき、輝度信号符号化部34は、次のステップSP212へ移る。
ステップSP212において、輝度信号符号化部34は、輝度信号目標符号量と既に符号化されたサブブロックの符号量とを比較し、残りの符号量が十分でないか否かについて判別する。
ここで、肯定結果が得られた場合、このことはこれから符号化されるサブブロックの符号量を抑制するため、非線形量子化モードを選択すべきことを表している。このとき、輝度信号符号化部34は、次のステップSP213へ移る。
これに対して、ステップSP212において否定結果が得られた場合、このことはサブブロックの符号量を抑制する必要がないため、線形量子化モードを選択すべきことを表している。このとき、輝度信号符号化部34は、次のステップSP214へ移る。
ステップSP213において、輝度信号符号化部34は、量子化モードとして非線形量子化モードを選択すると、サブルーチンSRT11のステップSP148(図19)へ移る。
同様にステップSP214において、輝度信号符号化部34は、量子化モードとして線形量子化モードを選択すると、サブルーチンSRT11のステップSP148(図19)へ移る。
そして、輝度信号符号化部34は、サブルーチンSRT11を終了すると、輝度信号符号化処理手順RT6(図38)のステップSP203へ戻る。
ステップSP203において、輝度信号符号化部34は、サブルーチンSRT22(図40)のステップSP221へ移り、輝度信号PYに対しポスト量子化処理を実行する。
ステップSP221において、輝度信号符号化部34は、処理ブロックごとの輝度信号PYに対し、DCレベルシフト及びDWT処理を実行し、DWT絶対値及び正負符号を算出する。さらに、輝度信号符号化部34は、DWT絶対値をビットプレーンに分解し、プレーン化DWT値を生成すると、次のステップSP222へ移る。
ステップSP222において、輝度信号符号化部34は、プレーン化DWT値において、自身を含め上位全てのビットプレーンにおけるビットが全て「0」である最後のビットプレーンをゼロビットプレーンとして検出する。輝度信号符号化部34は、ゼロビットプレーンの位置を符号化すると、次のステップSP223へ移る。
ステップSP223において、輝度信号符号化部34は、上位のビットプレーンから数えて初めて「1」が存在するビットプレーンをSIGプレーンとして検出し、当該SIGプレーンにおけるSIGビットを符号化すると、次のステップSP224へ移る。
ステップSP224において、輝度信号符号化部34は、SIGプレーンよりも下位に存在するRFプレーンを検出する。そして、輝度信号符号化部34は、当該RFプレーンにおけるRFビットを輝度信号目標符号量に到達又は全てのRFビットを符号化するまで符号化すると、次のステップSP225へ移る。
ステップSP225において、輝度信号符号化部34は、ヘッダを生成し、ステップSP222、SP223及びSP224において符号化された符号化情報に対して当該ヘッダを付加することにより、輝度量子化ビットストリームBSy3を生成すると、次のステップSP226へ移る。
ステップSP226において、輝度信号符号化部34は、ステップSP221において生成されたプレーン化DWT値に対し、ステップSP224において符号化されなかったRFプレーンに対応するビットプレーンの切り捨てを実行し、切捨DWT値を生成する。さらに、輝度信号符号化部34は、切捨てられたビットプレーンのうち最上位のビットプレーンにおいて、上位に「1」が存在するビットに対し「1」を付加すると、次のステップSP227へ移る。
ステップSP227において、輝度信号符号化部34は、ステップSP226においてビットの付加された切捨DWT値に対し、IDWT処理及びIDCレベルシフト処理を実行し、ローカル輝度信号LYを生成すると、次のステップSP228へ移る。
ステップSP228において、輝度信号符号化部34は、輝度信号PYに対するローカル輝度信号LYの劣化の度合いを輝度画質評価値EVy3として算出すると、輝度信号符号化処理手順RT6(図38)のステップSP204へ移る。
ステップSP204において、輝度信号符号化部34は、輝度信号符号化モード選択処理手順を表すサブルーチンSRT23(図41)のステップSP231へ移り、3つの輝度信号符号化モードのいずれかを選択する。
ステップSP231において、輝度信号符号化部34は、3つの輝度信号符号化モードのうち、最も良好な輝度画質評価値EVyに対応する輝度信号符号化モードを選択すると、次のステップSP232へ移る。
ステップSP232において、輝度信号符号化部34は、ステップSP231において選択された輝度モードが2つ以上存在するか否かについて判別する。
ここで、肯定結果が得られた場合、このことは輝度信号符号化モードから一つを選択するべきであることを表している。このとき、輝度信号符号化部34は、次のステップSP233へ移る。
ステップSP233において、輝度信号符号化部34は、ステップSP231において選択輝度モードのうち、符号量の最も少ない一の輝度信号符号化モードを選択信号符号化モードとして選択すると、次のステップSP234へ移る。なお、符号量が同一の場合には、どの輝度信号符号化モードを選択しても良い。
これに対して、ステップSP232において否定結果が得られた場合、このことは既に一の輝度信号符号化モードが選択されていることを表している。このとき、輝度信号符号化部34は、当該選択された一の輝度信号符号化モードを選択輝度モードとして選択すると、次のステップSP234へ移る。
ステップSP234において、輝度信号符号化部34は、選択輝度モードに対応する輝度信号ビットストリームBSyに対し、輝度モード識別子をヘッダとして付加することにより、選択輝度信号ビットストリームBSySを生成する。そして、輝度信号符号化部34は、輝度信号符号化処理手順RT6(図38)のステップSP204へ戻り、終了ステップへ移って輝度信号符号化処理手順RT6を終了する。
[1−6.色差信号符号化モード再選択部の構成]
次に、色差信号符号化モード再選択部35の構成について説明する。色差信号符号化モード再選択部35は、選択輝度信号ビットストリームBSySの実際の符号量に基づいて、色差信号ビットストリームBScを再選択するようになされている。
図42に示すように、色差信号符号化モード再選択部35には、色指定情報IE、色差信号モード選択情報ISc、色差信号使用ビット数IBc、輝度信号使用ビット数IBy、色差高圧縮ビットストリームBSc1、色差画質評価値EVc1、色差低圧縮ビットストリームBSc2及び色差画質評価値EVc2が供給される。
上述したように、輝度信号符号化部34は、符号量が輝度信号目標符号量に収まるように3つの輝度信号符号化モードで輝度信号ビットストリームBSyを生成すると共に、一の輝度信号符号化モードを選択する。言い換えると、輝度信号ビットストリームBSyの符号量が輝度信号目標符号量を超えないよう制御されているものの、輝度信号目標符号量に近くなるよう符号量を増大させる高精度なレート制御はなされていない。
輝度高圧縮ビットストリームBSy1及び低圧縮ビットストリームBSy2では、例えばサブブロックにおける差分最大値が小さく非線形量子化モードばかりが選択された場合には、処理ブロックごとの符号量が輝度信号目標符号量を下回る可能性がある。
また、輝度量子化ビットストリームBSy3では、DWT絶対値が小さく、RFプレーンの数が少ない場合には、当該RFプレーンを全て符号化したとしても、処理ブロックごとの符号量が輝度信号目標符号量を大きく下回る可能性がある。
ここで、選択輝度信号ビットストリームBSySは、最も画質の良好なものが選択されているため、再選択の余地はない。
そこで色差信号符号化モード再選択部35は、輝度信号使用ビット数IByに基づいて色差信号ビットストリームBScを再選択する。これにより、色差信号符号化モード再選択部35は、固定符号量(バス転送単位)でなる符号ブロックに許容される符号量を余すことなく使用して画質の劣化を最小限に抑制するようになされている。
具体的に、色差信号符号化モード再選択部35の色差信号符号化モード再判定部301は、色指定情報IEに基づいて、処理ブロックが特定色ブロックであるか否かを確認する。色差信号符号化モード選択部35は、処理ブロックが特定色ブロックである場合には、色差信号符号化モードとして当該特定色ブロックに適した低圧縮モードを選択する。
また、色差信号符号化モード再判定部301は、処理ブロックが特定色ブロックでない場合には、バス転送単位から輝度信号使用ビット数IByが表す符号量を減算した値を再選択目標符号量に設定する。
そして、色差信号符号化モード再判定部301は、再選択目標符号量に収まる範囲内で、画質のより良好な色差信号符号化モードを再選択し、再選択色差モードとするようになされている。
まず、色差信号符号化モード再判定部301は、色差信号モード選択情報IScに基づいて、色差信号符号化モード選択部113によって選択色差モードを特定する。
そして、色差信号符号化モード再判定部301は、低圧縮モードが選択されている場合には、既に画質の良好な色差信号符号化モードが選択されていることを確認する。色差信号符号化モード再判定部301は、低圧縮モードの色差画質評価値EVc2が高圧縮モードの色差画質評価値EVc1よりも良好であることを確認すると、低圧縮モードをそのまま再選択する。
色差信号符号化モード再判定部301は、低圧縮モードの色差画質評価値EVc2が高圧縮モードの色差画質評価値EVc1よりも良好でない場合であっても、高圧縮モードによる符号量が再選択目標符号量以内に収まらない場合には、低圧縮モードをそのまま再選択する。
一方、色差信号符号化モード再判定部301は、高圧縮モードの色差画質評価値EVc1が低圧縮モードの色差画質評価値EVc2よりも良好でなく、かつ高圧縮モードによる符号量が再選択目標符号量以内に収まる場合には、画質の良好な高圧縮モードを再選択する。
また、色差信号符号化モード再判定部301は、高圧縮モードが選択されている場合、高圧縮モードの色差画質評価値EVc1が低圧縮モードの色差画質評価値EVc2よりも良好であると、高圧縮モードをそのまま再選択する。
色差信号符号化モード再判定部301は、高圧縮モードの色差画質評価値EVc1が低圧縮モードの色差画質評価値EVc2よりも良好でない場合であっても、低圧縮モードによる符号量が再選択目標符号量以内に収まらない場合には、高圧縮モードをそのまま再選択する。
一方、色差信号符号化モード再判定部301は、高圧縮モードの色差画質評価値EVc1が低圧縮モードの色差画質評価値EVc2よりも良好でなく、かつ低圧縮モードによる符号量が再選択目標符号量以内に収まる場合には、画質の良好な低圧縮モードを再選択する。
そして、色差信号符号化モード再判定部301は、再選択した色差信号符号化モードに対応する色差信号ビットストリームBScを表す再選択情報を切替部302及び色差信号モード識別子付加部303に供給する。
切替部302は、色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2が供給される。切替部302は、再選択情報に従い、再選択された色差信号符号モードに対応する色差信号ビットストリームBScを色差信号モード識別子付加部303に供給する。
色差信号モード識別子付加部303は、供給された色差信号ビットストリームBScに対して、再選択情報が表す再選択色差モードを表す再選択色差モード識別子を付加することにより、再選択色差信号ビットストリームBScSを生成する。色差信号モード識別子付加部303は、再選択色差信号ビットストリームBScSを多重化部36に供給するようになされている。
上述したように、色差信号符号化部33における色差高圧縮処理部111及び色差低圧縮処理部112には、色差目標符号量として、符号化難易度IDに応じた同一の値が設定される。
色差信号符号化部33は、符号化難易度IDが「高い」を示していた場合には、非線形量子化モードのみを選択量子化モードとし、異なる非線形テーブルを用いて非線形量子化値からなる色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2をそれぞれ生成する。
この場合、非線形テーブルの差異により、色差高圧縮ビットストリームBSc1の符号量が色差低圧縮ビットストリームBSc2の符号量よりも小さくなる。色差信号符号化部33は、符号量の小さい色差高圧縮ビットストリームBSc1を選択色差信号ビットストリームBScSとして選択している。
このため、色差信号符号化モード再選択部35は、符号化難易度IDが「高い」を示しており、符号量が再選択目標符号量以内に収まる場合には、画質の良好な色差低圧縮ビットストリームBSc2を再選択色差信号ビットストリームBScRとして再選択することができる。
また、色差信号符号化部33は、符号化難易度IDが「低い」を示していた場合には、非線形量子化による画質の劣化が小さいサブブロックを非線形量子化する。色差信号符号化部33は、色差信号ビットストリームBScの符号量が色差目標符号量を超えない範囲内で、非線形量子化による画質の劣化が大きいサブブロックを線形量子化する。
この場合、非線形テーブルや量子化精度の差異により、原則的に色差高圧縮ビットストリームBSc1の符号量が色差低圧縮ビットストリームBSc2の符号量よりも小さくなる。また原則的に色差高圧縮ビットストリームBSc1の画質が色差低圧縮ビットストリームBSc2の画質よりも劣化する。
このため、色差信号符号化部33は、符号量が大きく及び画質が良好な可能性の高い色差高圧縮ビットストリームBSc1を選択色差信号ビットストリームBScSとして原則的に選択している。ただし、符号量又は画質、並びにその両方の関係が色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2で逆転する場合がある。
色差信号符号化部33は、原則を優先し、符号量又は画質の一方が逆転していた場合には、色差低圧縮ビットストリームBSc2を選択している。言い換えると、色差信号符号化部33は、色差高圧縮ビットストリームBSc1よりも画質が低く、符号量の小さい色差低圧縮ビットストリームBSc2を選択色差信号ビットストリームBScSとして選択している可能性がある。
このため、色差信号符号化モード再選択部35は、符号化難易度IDが「低い」を示している場合であっても、符号量が再選択目標符号量以内に収まる範囲内において、画質の良好な色差高圧縮ビットストリームBSc1を再選択色差信号ビットストリームBScRとして再選択することができる。
このように、色差信号符号化モード再選択部35は、選択輝度信号ビットストリームBSySの符号量が確定した後に、選択輝度信号ビットストリームBSySの符号量との合計符号量がバス転送単位に収まる範囲内で画質が最も良好となる色差信号ビットストリームBScを再選択するようにした。
これにより、色差信号符号化モード再選択部35は、符号ブロックとして許容される符号量(バス転送単位)を最大限利用しつつ、画質を極力低下させずに済むようになされている。
次に、色差信号符号化モード再選択処理手順RT7について、図43のフローチャートを用いて説明する。
色差信号符号化モード再選択部35は、色指定情報IE、色差信号モード選択情報ISc、色差信号使用ビット数IBc及び輝度信号使用ビット数IByなどが供給されると、色差信号符号化モード再選択処理手順RT7を開始し、次のステップSP301へ移る。
ステップSP301において、色差信号符号化モード再選択部35は、処理ブロックが特定色ブロックであるか否かについて判別する。
ここで、肯定結果が得られた場合、このことは色差信号ビットストリームBScに対する画質の劣化が目立つため、画質の低下が小さい低圧縮モードを選択すべきことを表している。このとき、色差信号符号化モード再選択部35は、次のステップSP305へ移る。
これに対して、ステップSP301において否定結果が得られた場合、色差信号符号化モード再選択部35は、次のステップSP302へ移る。
ステップSP302において、色差信号符号化モード再選択部35は、色差信号モード選択情報IScに基づいて、選択色差モードとして低圧縮モードが選択されているか否かについて判別する。
ここで、肯定結果が得られた場合、このことはすでに画質が良好な色差信号符号化モードが選択されている可能性が高いことを表している。このとき、色差信号符号化モード再選択部35は、次のステップSP303へ移る。
ステップSP303において、色差信号符号化モード再選択部35は、低圧縮モードに対応する色差画質評価値EVc2が高圧縮モードに対応する色差画質評価値EVc1よりも良好である、又は高圧縮モードにおける符号量が再選択目標符号量内に収まらない、のいずれかであるか否かを判別する。
ここで、肯定結果が得られた場合、このことは低圧縮モードの画質が高圧縮モードよりも良好であること、又は高圧縮モードの画質が低圧縮モードより良好であっても再選択目標符号量に収まらないため、低圧縮モードをそのまま選択すべきであることを表している。このとき、色差信号符号化モード再選択部35は、次のステップSP305へ移る。
これに対して、ステップSP303において否定結果が得られると、このことは高圧縮モードの画質が低圧縮モードよりも良好であり、かつ高圧縮モードによって生成される色差高圧縮ビットストリームBSc2の符号量が再選択目標符号量に収まるため、高圧縮モードを選択すべきであることを表している。このとき、低色差信号符号化モード再選択部35は、次のステップSP306へ移る。
これに対して、ステップSP302において否定結果が得られた場合、色差信号符号化モード再選択部35は、次のステップSP304へ移る。
ステップSP304において、色差信号符号化モード再選択部35は、高圧縮モードに対応する色差画質評価値EVc1が低圧縮モードに対応する色差画質評価値EVc2よりも良好である、又は低圧縮モードにおける符号量が再選択目標符号量内に収まらない、のいずれかであるか否かを判別する。
ここで、肯定結果が得られた場合、このことは高圧縮モードの画質が低圧縮モードよりも良好であること、又は低圧縮モードの画質が高圧縮モードより良好であっても再選択目標符号量に収まらないため、高圧縮モードをそのまま選択すべきであることを表している。このとき、色差信号符号化モード再選択部35は、次のステップSP306へ移る。
これに対して、ステップSP304において否定結果が得られると、このことは低圧縮モードの画質が高圧縮モードよりも良好であり、かつ低圧縮モードによって生成される色差低圧縮ビットストリームBSc1の符号量が再選択目標符号量に収まるため、低圧縮モードを選択すべきであることを表している。このとき、低色差信号符号化モード再選択部35は、次のステップSP305へ移る。
ステップSP305において、色差信号符号化モード再選択部35は、再選択色差モードとして低圧縮モードを選択すると、次のステップSP307へ移る。
ステップSP306において、色差信号符号化モード再選択部35は、再選択色差モードとして高圧縮モードを選択すると、次のステップSP307へ移る。
ステップSP307において、色差信号符号化モード再選択部35は、再選択色差モードに対応する色差信号ビットストリームBScに対し、色差信号符号化モードを表す再選択色差モード識別子を付加することにより、再選択色差信号ビットストリームBScRを生成すると、終了ステップへ移って色差信号符号化モード再選択処理手順RT7を終了する。
なお、上述した一連の符号化処理は、ハードウェアにより実行させることもでき、また、ソフトウェアにより実行させることも可能である。符号化処理をソフトウェアによって実現する場合、CPU及びRAMに仮想的に符号化部3が形成される。そして、ROMに格納された符号化プログラムをRAMに展開することにより、符号化処理が実行される。
[1−7.動作及び効果]
以上の構成において、画像処理装置1の符号化部3は、処理ブロックごとの色差信号PVUを複数の色差信号符号化モード(高圧縮モード及び低圧縮モード)でそれぞれ符号化し、複数の色差信号ビットストリームBSc(色差高圧縮ビットストリームBSc1及び色差低圧縮ビットストリームBSc2)を生成する。符号化部3は、高圧縮モード及び低圧縮モードから一の色差信号符号化モードを選択色差モードとして選択する。
符号化部3は、選択された選択色差モードにより符号化された色差信号ビットストリームBScである選択色差信号ビットストリームBScSの符号量を固定符号量であるバス転送単位から減算して輝度目標符号量を算出する。そして、符号化部3は、処理ブロックごとの輝度信号PYを当該輝度目標符号量以下になるよう符号化して輝度信号ビットストリームとしての選択輝度信号ビットストリームBSySを生成する。
符号化部3は、選択輝度信号ビットストリームBSySの符号量との合計の符号量がバス転送単位以下となり、かつ色差信号PYに対する劣化が少ない一の色差信号ビットストリームBScに対応する色差信号符号化モードを再選択色差モードとして選択する。
符号化部3は、選択輝度信号ビットストリームBSySと、再選択色差モードによって符号化された再選択色差信号ビットストリームBScRとを多重化し、バス転送単位の符号ブロックからなるビットストリームBSを生成する。
言い換えると、符号化部3は、予め複数の色差信号ビットストリームBScを生成しておき、好ましいと思われる色差信号ビットストリームBScを選択色差信号ビットストリームBScとして仮設定する。符号化部3は、バス転送単位から選択色差信号ビットストリームBScの符号量を減算した減算値に基づいて輝度目標符号量を算出し、当該輝度目標符号量内に収まるよう、選択輝度信号ビットストリームBSySを生成する。符号化部3は、バス転送単位から選択輝度信号ビットストリームBSySの符号量を減算した再選択目標符号量の範囲内で、最適な画質を有する色差信号ビットストリームBScを再選択色差信号ビットストリームBScRとして選択する。
これにより、符号化部3は、選択輝度信号ビットストリームBSySの符号量との合計の符号量がバス転送単位以下となる範囲で劣化の最も少ない色差信号ビットストリームBScを用いて符号ブロックを生成することができる。この結果、符号化部3は、ビットストリームBSに使用される再選択色差信号ビットストリームBScRの劣化を極力抑制することができるため、ビットストリームBS総体としての画質を向上させ得る。
符号化部3は、色差信号PVUに対する色差信号ビットストリームBScの劣化の度合いを表す色差画質評価値EVcを生成する。符号化部3は、色差画質評価値EVcに基づいて、各色差信号符号化モード(高圧縮モード及び低圧縮モード)における、色差信号PVUに対する色差信号ビットストリームBScの劣化の度合いを認識する。
これにより、符号化部3は、色差画質評価値EVcを比較することにより、劣化の最も少ない色差信号ビットストリームBScを選択することができる。
符号化部3は、色差信号PVU及び輝度信号PYを解析することにより、色差信号PVUが劣化の目立ち易い特定色を多く含むか否か(すなわち、特定色ブロックであるか否か)を判別する。符号化部3は、処理ブロックが特定色ブロックであると判別された場合には、複数の色差信号符号化モードから、色差信号PVUに対する劣化が少ない色差低圧縮ビットストリームBSc2に対応する低圧縮モードを選択色差モードとして選択する。
すなわち、符号化部3は、特定色ブロックに対する色差信号ビットストリームBScに符号量を多く割り当てるよう、符号量の割当を調整する。これによりビットストリームBS総体として画質の劣化を抑制することができるため、ビットストリームBSにおける画質の低下を極力目立たないようにできる。
符号化部3は、特定色ブロックであると判別された色差信号PVUに対し、色差モード選択部である色差信号符号化モード選択部113によって選択された選択色差モードを再選択色差モードとして選択する。
これにより、符号化部3は、色差信号PVUに対する劣化が少ない選択色差モードをそのまま再選択するだけの簡易な処理で、特定色ブロックに対する再選択色差信号ビットストリームBScRの画質の劣化を抑制することができる。
符号化部3は、特定色を劣化させにくい色差符号化モードとして低圧縮モードを有している。符号化部3は、特定ブロックであると判別された場合には、低圧縮モードを選択色差モードとして選択する。
これにより、符号化部3は、色指定領域として限定された特定色に特化して画質の劣化を抑制することができるため、特定色に対する画質の劣化を効果的に抑制することができる。
符号化部3は、輝度信号PYをビットプレーンに分解し、輝度目標符号量になるよう重要度の低いビットプレーンを切り捨てるポスト量子化処理により、輝度信号PYを符号化する。
符号化部3は、ビットプレーンに分解された輝度信号PYであるプレーン化DWT絶対値を重要度の高いビットプレーンから順に符号化し、符号化されたプレーン化DWT絶対値が輝度目標符号量に到達すると、残りのビットプレーンを切り捨てる。
これにより、符号化部3は、重要度の低いビットプレーンのみを切り捨てることができるため、量子化による画質の劣化を極力抑制することができる。また、符号化部3は、プレーン化DWT絶対値の全てを符号化できた場合には、量子化しないため画質を劣化させずに済む。一方、符号化部3は、符号化されたプレーン化DWT絶対値が輝度目標符号量に到達するまで符号化することができるため、輝度目標符号量を最大限利用して画質の劣化を極力抑制することができる。また、符号化部3は、輝度量子化ビットストリームBSy3の符号量をほぼ輝度目標符号量にすることができる。
符号化部3は、ポスト量子化処理を行うポスト量子化モードを含む複数の輝度信号符号化モード(高圧縮モード、低圧縮モード及びポスト量子化モード)によって輝度信号PYを符号化する。符号化部3は、高圧縮モード、低圧縮モード及びポスト量子化モードから、輝度信号PYに対して劣化の最も少ない輝度信号ビットストリームBSyに対応する輝度信号符号化モードを選択輝度モードとして選択する。
これにより、符号化部3は、ほぼ同一の符号化方式でなる高圧縮モード及び低圧縮モードとは相違する符号化方式で輝度信号PYを符号化することができる。この結果、符号化部3は、一方の符号化方式で極端に画質が低下する場合であっても、他方の符号化方式によって符号化すれば良いため、様々な画像でなる輝度信号PYに対して効果的に画質の劣化を抑制することができる。
符号化部3は、輝度信号PYに対する輝度信号ビットストリームBSyの劣化の度合いを表す輝度画質評価値EVyを生成する。符号化部3は、輝度画質評価値EVyに基づいて、輝度信号符号化モードにおける、輝度信号PYに対する輝度信号ビットストリームBSyの劣化の度合いを認識する。
これにより、符号化部3は、輝度画質評価値EVyを比較することにより、劣化の最も少ない輝度信号ビットストリームBSyを選択することができる。
プレーン化DWT絶対値において、輝度信号符号化部34によって切り捨てられた残りのビットプレーンに対応するビットプレーンを切り捨てて切捨ビットプレーンとしての切捨DWT値を生成し、輝度信号PYに対する当該切捨DWT値の劣化の度合いを輝度画質評価値EVy3として算出する。
これにより、符号化部3は、ビットプレーンを切り捨てた量子化による画質の劣化を切捨DWT値として正確に表すことができる。このため、符号化部3は、輝度量子化ビットストリームBSy3を復号化して輝度信号PYに対する劣化度合いを算出する場合と比較して、簡易な処理でかつ正確に輝度画質評価値EVy3を算出することができる。
符号化部3は、切捨DWT値において切り捨てられたビットプレーンのうち最上位に位置するビットプレーンにおいて、上位に「1」が存在する場合には、「1」を付加し、ビットの付加された切捨DWT値に基づいて輝度画質評価値EVy3を生成する。
これにより、符号化部3は、復号化部5によって復号化することにより生成される輝度信号PYと同様の処理を実行することができるため、復号化時における画質の劣化度合いを正確に輝度画質評価値EVy3に反映させることができる。
符号化部3は、直交変換された輝度信号PYであるDWT絶対値をビットプレーンに分解する。
これにより、符号化部3は、低周波数領域にビットを偏らせることができるため、ビットプレーンを切り捨てたときに生じる画質の劣化を低減することができる。
符号化部3は、DCレベルシフトを実行することにより、輝度信号PYを正負符号と輝度信号より1[bit]少ない値で表し、DCレベルシフトされた輝度信号PYを直交変換して生成された直交変換値であるDWT絶対値を、輝度信号PYとしてビットプレーンに分解する。
これにより、符号化部3は、DWT絶対値を1[bit]少ない値として処理することができるため、ビットプレーンにおけるビット深度を1階層低減させることができ、切捨てるビットプレーンの数を低減させることができる。
符号化部3は、直交変換としてDWTを用いることにより、効果的に低周波数領域にビットを偏らせてビットプレーンを切り捨てたときに生じる画質の劣化を一段と低減することができる。
符号化部3は、複数の輝度信号符号化モードとして、圧縮符号化モードである低圧縮モード及び高圧縮モードを有している。当該低圧縮モード及び高圧縮モードにおいて、符号化部3は、処理ブロックを当該処理ブロックよりも小さいサブブロックに分割する。
符号化部3は、符号量を小さくできる第1のモードである非線形量子化モードによってサブブロックの画質の劣化が小さいと予測される場合には、当該サブブロックを非線形量子化モードによってサブブロックを符号化する。
符号化部3は、非線形量子化モードによってサブブロックの画質の劣化が大きいと予測され、輝度目標符号量から既に符号化したサブブロックの符号量を減算した残りの符号量が十分でなく当該残りの符号量に余裕がない場合には、当該サブブロックを非線形量子化モードによって符号化する。
符号化部3は、非線形量子化モードによってサブブロックの画質の劣化が大きいと予測され、残りの符号量が十分であり当該残りの符号量に余裕がある場合には、符号量が大きくなる線形量子化モードによってサブブロックを符号化する。
これにより、符号化部3は、処理ブロックごとの輝度信号PYを輝度目標符号量以下になるよう符号化する。
すなわち、符号化部3は、残りの符号量に拘らず、符号量を小さくできる非線形量子化モードにおいて画質の劣化が少ない場合には、非線形モードによってサブブロックを符号化する。符号化部3は、画質を劣化させることなく、かつ極力少ない符号量で輝度信号ビットストリームBSyを生成することができる。
そして、符号化部3は、色差信号符号化モード再選択部35によって色差信号ビットストリームBScを再選択することにより、輝度信号ビットストリームBSyの符号量を低減できた分を、色差信号ビットストリームBScに割り当てることができる。
これにより、符号化部3は、輝度信号ビットストリームBSyの画質を極力低下させることなく、かつ再選択色差信号ビットストリームBScRに対し極力大きな符号量を割り当てることができ、ビットストリームBS総体としての画質を向上させることができる。
符号化部3は、画素間の差分値の最大値が小さいか否かにより非線形量子化モードによってサブブロックの画質の劣化が小さいか否かを判別する。符号化部3は、非線形量子化モードにおいて、サブブロックにおける画素間の差分値を符号化し、線形量子化モードにおいて、サブブロックにおける画素を符号化する。
これにより、符号化部3は、非線形モードによる画質の劣化を的確に判別し、適切な量子化モードを選択することができる。
符号化部3は、非線形量子化モードにおいて、画素間の差分値を非線形量子化することにより符号化する一方、線形量子化モードにおいて、画素値を線形量子化することにより符号化する。
これにより、符号化部3は、非線形量子化モードにおいて効果的に符号量を減少させる一方、非線形量子化モードにおいて画質の劣化しやすい画像に対し、画質を極力劣化させないように符号化することができる。
符号化部3は、信号解析部32によって輝度信号PYを解析することにより、処理ブロックについて高圧縮モード及び低圧縮モードによって符号化したときの輝度信号ビットストリームBSyの符号量を予測する。
符号化部3は、複数の色差信号符号化モードとして色差圧縮符号化モードとしての高圧縮モード及び低圧縮モードを有している。高圧縮モード及び低圧縮モードにおいて、符号化部3は、処理ブロックごとの色差信号PVUを当該処理ブロックよりも小さいサブブロックに分割する。
符号化部3は、符号量を小さくできる第3のモードである非線形量子化モードによってサブブロックの画質の劣化が小さいと予測される場合には、当該サブブロックを非線形量子化モードによって符号化する。
符号化部3は、非線形量子化モードによってサブブロックの画質の劣化が大きいと予測され、色差目標符号量から既に符号化したサブブロックの符号量を減算した残りの符号量が十分でなく、当該残りの符号量に余裕がない場合には、サブブロックを非線形量子化モードによって符号化する。
符号化部3は、非線形量子化モードによってサブブロックの画質の劣化が大きいと予測され、残りの符号量が十分であり残りの符号量に余裕がある場合には、符号量が大きくなる量子化モードによってサブブロックを符号化する。
符号化部3は、輝度信号PYを符号化したときの符号量が大きいと予測された場合、処理ブロックにおける全てのサブブロックを、非線形量子化モードによって符号化する。
これにより、符号化部3は、色差信号ビットストリームBScの符号量を極力小さくでき、画質に対して影響の大きい輝度信号ビットストリームBSyに対して極力大きな符号量を割り当てることができる。
符号化部3は、輝度信号PYを解析することにより、輝度信号ビットストリームBSyの符号量を符号化難易度IDとして予測する。符号化部3は、符号化難易度IDに基づいて、色差信号ビットストリームBScの目標符号量となる色差目標符号量を設定し、色差信号ビットストリームBScの符号量が色差目標符号量以下になるよう色差信号PVUを符号化する。
これにより、符号化部3は、輝度信号ビットストリームBSyの符号量と色差信号ビットストリームBScの符号量とのバランスを調整することができる。
符号化部3は、輝度信号ビットストリームBSyに対して優先的に符号量を割り当てるよう、色差目標符号量を設定する。
これにより、符号化部3は、劣化の目立ち易い輝度信号ビットストリームBSyにより多くの符号量を割り当てることができるため、ビットストリームBS総体としての画質の劣化を目立ちにくくできる。
また、画像処理装置1は、符号化部3によって生成されたビットストリームBSを符号ブロックごとにメモリ4に格納し、復号化部5によって復号化して画像処理部2に供給する。
ここで、例えばJPEG(Joint Photographic Experts Group)やAVC(Advanced Video Coding)などの一般的な符号化方式では、圧縮効率は大きいものの処理負荷が非常に大きく、メモリアクセス効率を低下させてしまう。また、これらの符号化方式では、ピクチャ単位での符号化を前提としており、メモリに合わせた小さなブロック単位若しくはバス転送単位で符号化することはそもそも困難である。
画像処理装置1は、簡易な構成でなる符号化部3によって迅速に画像データBLを符号化することができる。このため、画像処理装置1は、メモリ4の容量を低減させることができると共に、メモリアクセス効率を低下させることなく、かつ画像データを極力劣化させることなく当該画像データBLを符号化することができる。
以上の構成によれば、符号化部3は、複数の色差信号符号化モードによって複数の色差信号ビットストリームBScを生成する。符号化部3は、バス転送単位から当該色差信号ビットストリームBScの符号量を差し引いた残りを輝度信号ビットストリームBSyの輝度目標符号量に設定して、当該輝度信号ビットストリームBSyを生成する。
符号化部3は、輝度信号ビットストリームBSyを生成すると、バス転送単位から実際に生成された輝度信号ビットストリームBSyの符号量を差し引いた残りの符号量に合わせて、複数の色差符号化モードから色差符号化モードを再選択するようにした。
これにより、符号化部3は、輝度信号ビットストリームBSyを生成する際、選択輝度信号ビットストリームBSyS及び再選択色差信号ビットストリームBScRを加算した符号量をほぼバス転送単位にすることができる。このため、符号化部3は、輝度信号ビットストリームBSyの符号量を輝度目標符号量に合わせ込む高精度なレート制御を実行しなくても済み、構成を簡易にし得るようになされている。
[2.他の実施の形態]
なお、上述した実施の形態においては、複数の色差信号符号化モードとして、高圧縮モード及び低圧縮モードを有するようにした場合について述べた。本発明はこれに限らず、その数に制限はなく、その他種々の方式でなる色差信号符号化モードを有するようにしても良い。
また、上述した実施の形態においては、輝度信号符号化部34が3つの輝度信号符号化モードを有するようにした場合について述べた。本発明はこれに限らず、少なくとも1つの輝度信号符号化モードを有していれば良く、その数に制限はない。また、輝度信号符号化モードとしては、高圧縮モード、低圧縮モード及びポスト量子化モードに限らず、種々の方式でなる輝度信号符号化モードを有していても良い。
さらに、上述した実施の形態においては、符号化難易度ID及び色指定情報IEに応じて選択色差信号ビットストリームBScSを選択するようにした場合について述べた。本発明はこれに限らず、選択色差信号ビットストリームBScSの選択方法について特に制限はない。例えば符号化難易度ID及び色指定情報IEのいずれかに応じて選択したり、他の因子に応じて選択するようにしても良い。
さらに、上述した実施の形態においては、高圧縮モード及び低圧縮モードにおいて、符号化された輝度信号PYの符号量に応じて線形量子化モードと非線形量子化モードとを切り替えることにより、輝度目標符号量以下になるよう輝度信号を符号化するようにした場合について述べた。本発明はこれに限らず、符号量の調整方法について、特に制限はない。例えば非線形テーブルを切り替えることにより符号量を調整するようにしても良い。また、色差信号PVUについても同様である。
さらに、上述した実施の形態においては、平均二乗法により色差画質評価値EVc及び輝度画質評価値EVyを生成するようにした場合について述べた。本発明はこれに限らず、その他種々の方法で色差画質評価値EVc及び輝度画質評価値EVyを算出するようにしても良い。また、本発明は、画質の劣化の度合いを評価できれば良く、色差画質評価値EVc及び輝度画質評価値EVyを生成する必要はない。
さらに、上述した実施の形態においては、信号変換部31によって画像データを輝度信号PY及び色差信号PVUに分離するようにした場合について述べた。本発明はこれに限らず、例えば予め輝度信号PY及び色差信号PVUに分離されてなる画像データが入力されるようにしても良い。
さらに、上述した実施の形態においては、画質の劣化が目立つ特定色を特定ブロックに対し、低圧縮モードを選択するようにした場合について述べた。本発明はこれに限らず、例えば高圧縮モード及び低圧縮モードのうち、画質の良好な一方の色差信号符号化モードを選択するようにしても良い。また、低圧縮モードでは、必ずしも特定色が劣化させにくいよう調整されている必要はない。
さらに、上述した実施の形態においては、切捨DWT値に基づいて輝度画質評価値EVy3を生成するようにした場合について述べた。本発明はこれに限らず、復号化された輝度量子化ビットストリームBSy3に基づいて輝度画質評価値EVy3を生成するようにしても良い。
さらに、上述した実施の形態においては、DWT処理された輝度信号PYをビットプレーンに分解するようにした場合について述べた。本発明はこれに限らず、輝度信号PYをそのままビットプレーンに分解するようにしても良い。また、直交変換として種々の方式を用いることができ、例えばDCT(Discrete Cosine Transform)処理を施しても良い。
さらに、上述した実施の形態においては、輝度信号PYにDCレベルシフト処理を施す
ようにした場合について述べた。本発明はこれに限らず、DCレベルシフト処理は必ずしも必要ではない。
さらに、上述した実施の形態においては、128[byte]のバス転送単位でなる符号ブロックを生成するようにした場合について述べた。本発明はこれに限らず、そのサイズに制限はない。また、必ずしも符号ブロックをバス転送単位と同一にする必要はない。
さらに、上述した実施の形態においては、輝度信号ビットストリームBSyの符号量及び色差信号PVUの符号量を符号化難易度IDとして予測するようにした場合について述べた。本発明はこれに限らず、輝度信号ビットストリームBSyの符号量のみを予測しても良く、また、必ずしも輝度信号ビットストリームBSyの符号量を予測する必要はない。また、差分最大値の大きさ以外の方法で符号化難易度IDを算出することも可能である。
さらに、上述した実施の形態においては、輝度信号ビットストリームBSyに対して優先的に符号量を割り当てるようにした場合について述べた。本発明はこれに限らず、例えば色差信号ビットストリームBScに対して優先的に符号量を割り当てるようにしても良い。
さらに、上述した実施の形態においては、差分値を算出する最初の画素を中心の画素(図11)とする場合について述べた。本発明はこれに限らず、例えば端部の画素から開始しても良い。
さらに、上述した実施の形態においては、色指定領域を立方体で表現した。本発明はこれに限らず、色指定領域の形状は限定されるものではなく、球体や楕円体、各種多角形体などで定義しても良い。また、Y信号、V信号及びU信号以外の信号で定義されても良い。輝度信号、色差信号に合わせて定義することが好ましい。
さらに、上述した実施の形態においては、輝度信号符号化部における量子化モード選択処理において、符号化難易度IDを考慮しないようにした場合について述べた。本発明はこれに限らず、符号化難易度IDを考慮しても良い。
さらに、上述した実施の形態においては、ポスト量子化処理の際、ビットプレーンを可変長符号化するようにした場合について述べた。本発明はこれに限らず、FLC(Fixed Length Coding)方式を用いても良い。また、可変長符号化に使用されるVLCテーブルは、共通のものを使用しても良く、また、各処理に適応させたVLCテーブルを用いるようにしても良い。
さらに、上述の実施の形態においては、ポスト量子化処理の際、RB符号化部254は、符号化済みのビットプレーンをスキップしながら全てのビットプレーンをスキャンするようにした場合について述べた。本発明はこれに限らず、例えば符号化していないビットプレーンのみをスキャンするようにしても良い。また、符号情報から特定しなくても例えば処理済みか否かを表すDONEプレーンを用いて符号化済みか否かを判別することができる。
さらに、上述した実施の形態においては、サブブロックサイズを変更することにより、予め符号量を調整するようにした場合について述べた。本発明はこれに限らず、例えば非線形テーブルを変更しても良い。
さらに、上述した実施の形態においては、色差符号化モード再選択処理手順RT7に従って、再選択色差信号ビットストリームBScRを選択するようにした場合について述べた。本発明はこれに限らず、例えば色差信号ビットストリームBScの符号量が再選択目標符号量に収まるか否かを判別した後に、画質評価値EVcの良好な一方の色差信号ビットストリームBScを選択しても良い。要は、符号量が再選択目標符号量に収まる範囲内で画質が良好なものを選択すれば良い。
さらに、上述した実施の形態においては、符号化プログラム等をROM又はハードディスクドライブなどに予め格納するようにした場合について述べたが、本発明はこれに限らず、メモリースティック(ソニー株式会社の登録商標)などの外部記憶媒体からフラッシュメモリなどにインストールするようにしても良い。また、データベース生成プログラムなどをUSB(Universal Serial Bus)やEthernet(登録商標)(Institute of Electrical and Electronics Engineers)802.11a/b/gなどの無線LAN(Local Area Network)を介して外部から取得し、さらに、は地上ディジタルテレビジョン放送やBSディジタルテレビジョン放送により配信されるようにしても良い。
さらに、上述の実施の形態においては、色差信号符号化部としての色差信号符号化部33と、色差モード選択部としての色差信号符号化モード選択部113と、輝度信号符号化部としての輝度信号符号化部34と、色差モード再選択部としての色差信号符号化モード再選択部35と、多重化部としての多重化部36とによって符号化装置としての符号化部3を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる色差信号符号化部と、色差モード選択部と、輝度信号符号化部と、色差モード再選択部と、多重化部とによって本発明の符号化装置を構成するようにしても良い。
さらに、上述の実施の形態においては、符号化部としての符号化部3と、メモリとしてのメモリ4と、復号化部としての復号化部5と、画像処理部としての画像処理部2とによって画像処理装置としての画像処理装置1を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる符号化部と、メモリと、復号化部と、画像処理部とによって本発明の画像処理装置を構成するようにしても良い。