以下、本発明の実施の形態について説明する。
本実施の形態に係る画像圧縮符号化装置は、入力された画像信号を、例えばDCT(Discrete Cosine Transform)変換した上で量子化することにより非可逆的な画像圧縮を実現し、或いは入力された画像信号を、例えばDPCM(Differential Pulse Code Modulation)等に基づき可逆的な符号化を実現する。
画像圧縮符号化装置1には、図1に示すように端子11を介して輝度信号Y、色差信号Pb,Prからなる画像信号が入力される。ブロック分割部12は、入力された1フレームの画像信号を、符号化方式選択単位で選択し、本線系2及び予測系4へ送信する。この符号化方式選択単位とは、例えば8×8のブロック単位、16×16のマクロブロック単位、スライス単位、又は複数の画素からなる画像領域に分割する場合を示すが、以下では、8×8のブロック単位で分割した場合を例にとり説明する。
本線系2は、FIFO(First In First Out)メモリ21,DCT部22,FIFOメモリ23,二分探索部24,量子化部25,第1の可変長符号化部26からなるDCTパスと、FIFOメモリ27,DPCM部28,第2の可変長符号化部29からなるDPCMパスと、セレクタ30と、バッファ31とを備える。
先ずDCTパスについて説明する。本線系2に供給されたデータは、予測系4から後述するセレクト信号と符号量が供給されるまでのインターバルを調整するためにFIFOメモリ21に一時格納される。このFIFOメモリ21に格納されたデータは、DCT部22及びFIFOメモリ27へ供給される。
DCT部22は、8×8のブロック毎にDCTを施すことによりDCT係数を生成し、FIFOメモリ23及び二分探索部24へ送信する。FIFOメモリ23に一時格納されたDCT係数は量子化部25へ出力される。量子化部25は、DCT部22から入力されたDCT係数を、ブロック単位で二分探索部24により決められた量子化ステップにより量子化する。量子化部25は、この量子化されたデータ(以下、量子化レベルと称する)を第1の可変長符号化部26へ供給する。第1の可変長符号化部26は、量子化部25から供給された量子化レベルを、例えば2次元ハフマン符号化や、算術符号化等の方法により可変長符号化する。ちなみに本実施の形態に係る画像圧縮符号化装置1では、この第1の可変長符号化部26を省略した構成を適用してもよい。
すなわち、このDCTパスを経ることにより、二分探索部24を介して各ブロック毎に供給される量子化ステップに基づき、画像信号を符号化することができるため、1フレームの総符号量が目標符号量を越えないように制御することが可能となる。この二分探索部24を用いる方法は、一例に過ぎず、他の方式を用いてもよい。
次にDPCMパスについて説明をする。DPCM部28は、上述したDCTパスにおける遅延素子的な役割を担うFIFOメモリ27上に格納されたデータが供給され、当該データに対してブロック毎にDPCMを施して第2の可変長符号化部29へ供給する。第2の可変長符号化部29は、DPCMが施されたデータに対して、例えば2次元ハフマン符号化や、算術符号化等の方法により可変長符号化する。なお、この第2の可変長符号化部29における可変長符号化の方法は、上述の第1の可変長符号化部26における方法と同様である必要はない。また、本実施の形態に係る画像圧縮符号化装置1では、この第2の可変長符号化部29を省略した構成を適用してもよい。
セレクタ30は、第1の可変長符号化部26、又は第2の可変長符号化部29により可変長符号化された各種データを適宜切り替え、当該切替情報とともにバッファ31へ出力する。ちなみに、このセレクタ30は、予測系4から供給されるセレクト信号に基づき切り替えられる。
すなわち、このDPCMパスを経ることにより、何らかの歪みが付加されることなく、完全にもとの画像品質を保つことができるように可逆符号化することができる。
予測系4は、DCT部41,n個の量子化器42−1〜42−n,n個の符号量変換器43−1〜43−nからなるDCTパスと、DPCM部45,符号量変換器46からなるDPCMパスと、演算部44とを備える。この予測系4は、等長化単位で発生する総符号量を計算し、本線系2が目標符号量を越えない範囲で適切なDCTパス或いはDPCMパスを選択できるように設けられたものである。この等長化単位とは、本実施の形態では1フレームを意味するが、係る場合に限定されるものではなく、例えば8×8のブロック、16×16のマクロブロック、それらの組み合わせたスライス単位としてもよい。またこの等長化単位は、複数の画素からなるいかなる画像領域であってもよく、さらにフレームを組み合わせたGOP単位としてもよい。
先ずDCTパスについて説明をする。このDCTパスは、例えば入力された画像信号をDCT変換した上で量子化するDCT符号化方式に基づき、非可逆的な画像圧縮を実現するものであり、DPCMパスと比較して高圧縮率でロスが大きい。またこのDCTパスにおける変換符号化は、DCTに限定されるものではなく、他の変換符号化方式を用いてもよい。またこのDCTパスでは、8×8のブロック単位で変換符号化を行うが、かかる場合に限定されるものではなく、上述のマクロブロック単位でもよいし、また複数の画素からなる画像領域を一単位とするものであってもよい。
DCT部41は、DCT部22と同様に、8×8のブロック毎にDCTを施すことによりDCT係数を生成し、各量子化器42−1〜42−nへ送信する。量子化器42−1〜42−nは、DCT部41から供給されたDCT係数を夫々異なる量子化ステップで量子化する。これにより、生成したDCT係数をn個の量子化ステップにより試すことが可能となる。また、各量子化器42−1〜42−nは、生成した量子化レベルを夫々符号量変換器43−1〜43−nへ供給する。符号量変換器43−1〜43−nは、供給される量子化レベルを夫々ブロック毎の符号量に変換し、演算部44へ送信する。即ち、この符号量変換器43−1〜43−nにおける符号量の変換では、量子化器42−1〜42−nにより生成された量子化レベルを可変長符号化して、その符号長を出力するようにしてもよい。
次にDPCMパスについて説明をする。このDPCMパスは、例えばDPCMのように、圧縮、伸張の過程を経てもとの情報を保存可能な可逆符号化(Lossless)方式に基づき、可逆的な画像圧縮を実現するものであり、DCTパスと比較して低圧縮率でロスが小さい。またこのDPCMパスでは、8×8のブロック単位で符号化を行うが、かかる場合に限定されるものではなく、上述のマクロブロック単位でもよいし、また複数の画素からなる画像領域を一単位とするものであってもよい。
DPCM部45は、ブロック分割部12からデータを受給し、これらについてブロック毎にDPCMを施し、符号量変換器46へ送信する。符号量変換器46は、これらDPCM化された信号についてブロック毎に符号化して演算部44へ送信する。即ち、この符号量変換器46においても、DPCM化された信号を可変長符号化して、その符号長を出力するようにしてもよい。
演算部44には、符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量が入力され、また符号量変換器46からDPCM処理された符号量が入力される。演算部44は、入力される各ブロック毎の符号量に基づき、各ブロック毎の割当符号量とセレクト信号とを求めて本線系2へ出力する。ちなみにこの演算部44において等長化単位の総符号量を求める場合には、ブロック毎の符号量の累積値を求める必要があるため、1フレーム分の計算時間を要することになる。
次に、この演算部44による割当符号量の算出について説明をする。図2は、演算部44の構成例を示している。演算部44は、n個の比較部101−1〜101−nと、n個のセレクタ102−1〜102−nと、n個のメモリ103−1〜103−nと、n個の加算器104−1〜104−nと、n個の累積回路105−1〜105−nと、演算処理部106とを備える。
比較部101−1〜101−nは、k番目のブロックに関して、DCTパスを介して符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量length(1,k)〜length(n,k)が入力され、またDPCMパスを介して符号量変換器46からDPCM処理された符号量dpcm(k)が入力される。例えば、比較部101−1には、符号量変換部43−1からの符号量length(1,k)と、DPCM処理された符号量dpcm(k)が入力される。この比較部101−1〜101−nは、DCTパスを介して入力された符号量length(1,k)〜length(n,k)、とDPCMパスを介して入力された符号量dpcm(k)との間で、それぞれ小さい方を選択する。そして、この比較部101−1〜101−nは、DCTパスを介して入力された符号量length(1,k)〜length(n,k)、及びDPCMパスを介して入力された符号量dpcm(k)のうち、いずれを選択したかを示すセレクト信号を出力する。
セレクタ102−1〜102−nは、比較部101−1〜101−nから供給されるセレクト信号に応じて、DCTパスから供給される符号量或いはDPCMパスから供給される符号量を夫々選択する。例えば、DCTパスを選択した旨の情報がセレクト信号に含まれていた場合には、セレクタ102−1〜102−nは、DCT側にONされることとなる。このセレクタ102−1〜102−nにより選択された符号量は、そのままメモリ103−1〜103−n、加算器104−1〜104−nへ供給される。
メモリ103−1〜103−nは、各ブロック毎に、何れの符号量を選択したかを識別するためのセレクト信号と、セレクタ102−1〜102−nにおいて選択された符号量を格納する。すなわち等長化単位、例えば1フレーム分の処理が終了した段階で、各メモリ103−1〜103−nには、ブロック単位で選択した符号量とセレクト信号が、1フレーム分格納されている状態となっている。換言すれば、各メモリ103−1〜103−nには、ブロック単位で選択した符号量として、DCTパスを介して入力された符号量length(1,k)〜length(n,k)、又はDPCMパスを介して入力された符号量dpcm(k)のうち、いずれかが格納されている状態となる。従って、各メモリ103−1〜103−nを合わせると、ブロック単位で選択した符号量とセレクト信号が、量子化ステップ数であるn個分格納されている状態となっている。
加算器104−1〜104−n及び累積回路105−1〜105−nは、セレクタ102−1〜102−nにより選択された符号量を1フレーム分、順次累積加算する。この1フレーム分加算した符号量を夫々総符号量total(1)〜total(n)とする。累積回路105−1〜105−nは、得られた総符号量total(1)〜total(n)を順次演算処理部106へ送信する。
演算処理部106は、各累積回路105−1〜105−nから夫々総符号量total(1)〜total(n)を受信した場合に、以下の図3に示す手順を実行する。先ずステップS1において、演算処理部106は、等長化単位の目標符号量とこれらの総符号量total(1)〜total(n)を比較する。そして、この演算処理部106は、目標符号量を超える総符号量のうち、目標符号量に最も近い総符号量total(j-1)を特定する。即ち、この総符号量total(j-1)は、目標符号量の直上の符号量であり、換言すれば、目標符号量を超える総符号量のうち最小の符号量からなる。また、この演算処理部106は、目標符号量以下の総符号量のうち、目標符号量に最も近い総符号量total(j)を特定する。即ち、この総符号量total(j-1)は、目標符号量の直下の符号量であり、換言すれば、目標符号量以下の総符号量のうち最大の符号量からなる。
次にステップS2へ移行し、演算処理部106は、この識別したtotal(j-1)と、total(j)に基づき、メモリ103−j−1、メモリ103−jに格納されている各ブロック毎の符号量とセレクト信号を読み出す。なお、メモリ103−j−1には、k番目のブロックの符号量として、DCTパスを介して入力された符号量length(j-1,k)、又はDPCMパスを介して入力された符号量dpcm(k)が格納されている。このため、このステップS2において、メモリ103−j−1から読み出される符号量は、length(j-1,k)又はdpcm(k)となる。またメモリ103−jには、k番目のブロックの符号量として、DCTパスを介して入力された符号量length(j,k)、又はDPCMパスを介して入力された符号量dpcm(k)が格納されている。このため、このステップS2においてメモリ103−jから読み出される符号量は、length(j,k)又はdpcm(k)となる。ちなみに、以後のステップでは、メモリ103−j−1、メモリ103−jから読み出した各ブロック毎の符号量とセレクト信号を用いる。
次にステップS3へ移行し、この演算処理部106は、線形補間を用いることにより、各ブロックに対する割当符号量assign(k)を算出する。
ここで、等長化単位の目標符号量をMとし、またメモリ103−j−1から読み出された符号量がlength(j-1,k)であり、メモリ103−jから読み出された符号量がlength(j,k)である場合において、割当符号量assign(k)は、以下の式(1)により求められる。
assign(k) ={(total(j-1)−M)*length(j,k)+(M−total(j))*length(j-1,k)}/{total(j-1)−total(j)}・・・・・・(1)
またメモリ103−j−1から読み出された符号量がdpcm(k)であり、メモリ103−jから読み出された符号量がlength(j,k)である場合において、割当符号量assign(k)は、以下の式(2)により求められる。
assign(k) ={(total(j-1)−M)*length(j,k)+(M−total(j))*dpcm(k)}/{total(j-1)−total(j)}・・・・・・・・・(2)
またメモリ103−j−1から読み出された符号量がdpcm(k)であり、メモリ103−jから読み出された符号量がdpcm(k)である場合において、割当符号量assign(k)は、以下の式(3)により求められる。
assign(k) ={(total(j-1)−M)*dpcm(k)+(M−total(j))*dpcm(k)}/{total(j-1)−total(j)}・・・・・・・・・・・(3)
上述のように各ブロック毎に割り当てる割当符号量assign(k)を求めることにより目標符号量に対して符号量のロスが少ない、高効率の符号量制御を実現することができる。
次にステップS4へ移行し、演算処理部106は、各ブロック毎に求めたassign(k)を、最後に各ブロック毎のdpcm(k)と比較する。その結果、assign(k)がdpcm(k)以上であれば、ステップS5へ移行し、またassign(k)がdpcm(k)を下回る場合には、ステップS6へ移行する。
ステップS5へ移行した場合には、ステップ当該ブロックkについて、画像品質の高いDPCMパスを介して符号化しても、総符号量を目標符号量以下に抑えることができることを意味する。かかる場合において、演算処理部106は、セレクト信号をDPCM側に切り替え、assign(k)をdpcm(k)に置き換えて出力する。
ステップS6へ移行した場合には、当該ブロックkについては上述の如くassign(k)を求めることにより見積もった符号量よりも、DPCMパスによる符号量の方が多いため、DCT側を選択した方が、総符号量を目標符号量に対して低く抑えることができる。このため演算処理部106は、セレクト信号をDCT側にして、求めたassign(k)をそのまま出力する。
この演算処理部106において、このassign(k)と、dpcm(k)を、DCTパス又はDPCMパスの何れを選択するかについての優先度と考えることができる。この優先度に基づいて、DCTパス或いはDPCMパスの何れかを選択するものであれば、いかなる選択方法を適用してもよい。例えば、この優先度が等しい場合には、DCTパス或いはDPCMパスの何れかを選択するようにしてもよいし、DPCMパスを選択するようにしてもよい。
またステップS4における優先度は、assign(k)、dpcm(k)に基づく場合に限定されるものではない。即ち、ステップS4における比較において、所定の優先度に基づくものであれば、例えば、assign(k)がdpcm(k)以上であっても、ステップS6へ移行する場合もある。
予測系4からは、この演算処理部から出力される割当符号量assign(k)と、セレクト信号が出力される。この出力された割当符号量assign(k)は、二分探索部24へ供給される。
二分探索部24は、セレクト信号がDCT側になっている場合において、ブロックの発生符号量が目標符号量に収まるように量子化ステップを決定する。二分探索部24は、この量子化ステップを決定する際に、特願平4−110858号公報に提案した方法を採用しても良い。発生符号量が量子化ステップの増大に対して単調減少することを利用して二分探索法によって量子化ステップを決定する。この決定された量子化ステップにより、量子化器25により量子化される。なお二分探索法は一例に過ぎず、ブロックの発生符号量が目標符号量に収まるように量子化ステップが決定されるのであればどのような方式であってもよい。
一方、セレクト信号がDPCM側に切り替わっている場合には、セレクタ30がDPCMパスに切り替えられ、当該ブロックについては、DPCMを介した符号化が行なわれることになる。
なお、演算処理部106は、それぞれ目標符号量の直上、直下にあるtotal(j-1)と、total(j)を識別することができない場合には、total(j-1)と、total(j)の間に目標符号量を挟み込むいわゆる内挿により割当符号量assign(k)を求めることができない。かかる場合には、目標符号量を挟まず、かつ目標符号量に最も近い、二つのtotal(j-1)とtotal(j)を用いるいわゆる外挿により、assign(k)を求める。かかる外挿においても、割当符号量assign(k)は、上式(1)〜(3)を用いて計算する。しかしながら、この場合においてDPCMパスの符号量が小さいという理由で、DPCMパスを介して符号化しても、却って符号量が余る場合がある。かかる場合には、図4に示すフローチャートの如くassign(k)と総符号量total_tmp(assign(k)の1フレーム分の総数)を、total(j-1)及びtotal(j)の2つのうち、目標符号量からより遠い方と置き換えてassign(k)を計算するようにしてもよい。
この図4に示すフローチャートにおいて、先ずステップS11で処理ループllを初期値に設定し、ステップS12へ移行する。ステップS12では、目標符号量に最も近いtotal(j-1)とtotal(j)を用いてassign(k)を上式により計算し、ステップS13へ移行する。ステップS13において全てのブロックにつきassign(k)を求めることにより、1フレーム分の総符号量total_tmpを求めることができたか判定する。総符号量total_tmpを求められている場合のみステップS14へ移行し、それ以外はステップS12の処理を繰り返す。
次にステップS14へ移行し、現在のループllが処理ループの総数に達したか判断する。ここで現在のループllが処理ループの総数に達した場合は、繰り返し処理の末、所望のassign(k)が求められたことが示され、ループから抜ける。一方、現在のループllが処理ループの総数に達していない場合には、ステップS15へ移行する。なお、この処理ループの総数は、例えば5回等任意に設定することができる。
ステップS15において、抽出したtotal(j-1)とtotal(j)において、いずれが目標符号量に近いかを判定する。具体的には、abs(M-total(j))とabs(M-total(j-1))とを比較し、いずれが大きいか判定する。その結果、abs(M-total(j))>abs(M-total(j-1))の場合には、変数jjをjに置き換える。一方、abs(M-total(j))≦abs(M-total(j-1))の場合には、変数jjをj−1に置き換える(なおこのabs()は絶対値を意味する)。すなわち、抽出したtotal(j-1)とtotal(j)のうち、総符号量Mと遠い方の値が選択され、変数jjにそれぞれ代入されることとなる。
次にステップS16において、1フレーム分の総符号量total_tmpを、total(jj)とする。これにより、1フレーム分の総符号量total_tmpを、総符号量Mと遠い方のtotal(j-1)或いはtotal(j)に置き換えることができる。
次に、ステップS17へ移行し、各ブロックについて求めたassign(k)を、各ブロック毎にlength(jj,k)へ割り振る。これにより、次のループllへ移行して再度assign(k)を求める場合には、値の割り振られたlength(jj,k)を参酌することが可能となる。
以上詳細に説明したように、本実施の形態に係る画像符号化圧縮装置1は、ブロック毎に、DCTパス或いはDPCMパスからの符号量を効率良く、目標符号量を満たすように選択することができる。また、DPCMパスからの符号量を優先的に選択することにより、画像品質の劣化を防止することができる。これによりVTR等のような記録メディアの容量をオーバーすることなく、効率的な符号量制御を実現でき、更には画像の圧縮過程における歪みを低減させることが可能となる。また、二分探索法を用いて量子化ステップを決定することができるため、予測部4における量子化ステップの数を抑えることができ、回路構成を簡単にできる分においてハード的に有利となる。
なお、本実施の形態は、上記記載に限定されるものではない。例えば図5に示す画像圧縮符号化装置5のように、二分探索部等の探索部を用いない構成にも適用可能である。以下、画像圧縮符号化装置5の詳細を説明する。なお、上述した画像圧縮符号化装置1と同一の回路構成要素は、画像圧縮符号化装置1の説明を引用し、説明を省略する。
この画像圧縮符号化装置5は、端子11を介して輝度信号Y、色差信号Pb,Prからなる画像信号が入力される。ブロック分割部12は、入力された1フレームの画像信号を例えば8×8のブロックに分割し、本線系2及び予測系4へ送信する。
本線系2は、FIFO(First In First Out)メモリ21,DCT部,量子化部35,第1の可変長符号化部26からなるDCTパスと、DPCM部28,第2の可変長符号化部29からなるDPCMパスと、セレクタ30と、バッファ31とを備える。
量子化部35は、DCT部22から入力されたDCT係数を、ブロック単位で決定された量子化ステップに基づき量子化する。この量子化部35は、この量子化されたデータ(以下、量子化レベルと称する)を可変長符号化部26へ供給する。
セレクタ30は、第1の可変長符号化部26、及び/又は第2の可変長符号化部29により可変長符号化された各種データを適宜切り替え、当該切替情報とともにバッファ31へ出力する。ちなみに、このセレクタ30は、予測系4から供給されるセレクト信号に基づき切り替えられる場合もある。
予測系4は、DCT部41,n個の量子化器42−1〜42−n,n個の符号量変換器43−1〜43−nからなるDCTパスと、DPCM部45,符号量変換器46からなるDPCMパスと、演算部48とを備える。ちなみに、この予測系4におけるDCTパスの処理段数nは、量子化ステップの総数に相当する。これは二分探索法を採用する画像圧縮符号化装置1と比較して多くの量子化ステップにより予測を試みることができるため、精度の高い量子化コントロールを実現するためである。
演算部48は、符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量が入力され、また符号量変換器46からDPCM処理された符号量が入力される。演算部48は、これらの入力される各ブロック毎の符号量に基づき、各ブロック毎の割当符号量とセレクト信号とを求めて、本線系2へ出力する。本線系2に出力された割当符号量は量子化部35へ送られ、またセレクト信号はセレクタ30へ送られる。ちなみにこの演算部48において、例えば1フレーム分の総符号量を求める場合にブロック毎の符号量の累積値を求める必要があるため、1フレーム分の計算時間を要することになる。
次に、この演算部48による割当符号量の算出について説明をする。図6は、演算部48の構成例を示している。演算部48は、n個の比較部201−1〜201−nと、n個のセレクタ202−1〜202−nと、n個のメモリ203−1〜203−nと、n個の加算器204−1〜204−nと、n個の累積回路205−1〜205−nと、演算処理部206とを備える。
比較部201−1〜201−nは、DCTパスを介して符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量length(1,k)〜length(n,k)が入力され、またDPCMパスを介して符号量変換器46からDPCM処理された符号量dpcm(k)が入力される。例えば、比較部201−1には、符号量変換部43−1からの符号量length(1,k)と、DPCM処理された符号量dpcm(k)が入力される。この比較部201−1〜201−nは、DCTパスを介して入力された符号量length(1,k)〜length(n,k)、及びDPCMパスを介して入力された符号量dpcm(k)について小さい方を選択し、選択した情報を含むセレクト信号を出力する。
セレクタ202−1〜202−nは、比較部201−1〜201−nから供給されるセレクト信号に応じて、DCTパスから供給される符号量或いはDPCMパスから供給される符号量を夫々選択する。例えば、DCTパスを選択した旨の情報がセレクト信号に含まれていた場合には、セレクタ202−1〜202−nは、DCT側にONされることとなる。このセレクタ202−1〜202−nにより選択された符号量は、そのままメモリ203−1〜203−n、加算器204−1〜204−nへ供給される。
メモリ203−1〜203−nは、各ブロック毎に、セレクト信号と符号量を格納する。すなわち1フレーム分の処理が終了した段階で、このメモリ203−1〜203−nには、ブロック単位で選択した符号量とセレクト信号が、量子化ステップ数であるn個分格納されている状態となっている。
加算器204−1〜204−n及び累積回路205−1〜205−nは、セレクタ202−1〜202−nにより選択された符号量を1フレーム分、順次累積加算する。この1フレーム分加算した符号量を夫々総符号量total(1)〜total(n)とする。累積回路205−1〜205−nは、得られた総符号量total(1)〜total(n)を順次演算処理部206へ送信する。
演算処理部206は、各累積回路205−1〜205−nから夫々総符号量total(1)〜total(n)を受信する。この演算処理部206は、1フレーム分の目標符号量とこれらの総符号量total(1)〜total(n)を比較し、目標符号量以上である総符号量total(j-1)と、目標符号量以下である総符号量total(j)とを特定する。すなわち、このtotal(j-1)とtotal(j)は、目標符号量を挟むように存在するものを指し、jは、total(j-1)>目標符号量を満たすjのうち、最大のものを示す。
演算処理部206は、演算した総符号量に基づき、n個の量子化ステップを参照しつつ、ブロック毎に最適な符号量を見積もる。そして当該ブロック毎に見積もった符号量に基づき、assign(k)を決定して上述した量子化部35へ送信する。
以上詳細に説明したように、本実施の形態に係る画像符号化圧縮装置5は、ブロック毎に、複数の量子化ステップにより量子化されたDCTパス或いはDPCMパスからの符号量を効率良くまた目標符号量を満たすように選択することができる。また、この演算処理部106において、assign(k)、dpcm(k)をいわゆる優先度とし、この優先度が同レベルの場合には、DPCMパスを優先的に選択することにより、画像品質の劣化を防止することができる。これによりVTR等のような記録メディアの容量をオーバーすることなく、効率的な符号量制御を実現でき、画像の圧縮過程における歪みを低減させることが可能となり、更にDCTパスにより符号化する際に、精度の良い量子化コントロールを期待することができる。なお、本実施の形態では、優先度に基づいて選択する場合に限定されるものではない。
なお、本実施の形態は、更に図7に示す画像圧縮符号化装置6のように、DPCMについて量子化を伴う構成にも適用可能である。以下、画像圧縮符号化装置6の詳細を説明する。なお、上述した画像圧縮符号化装置1と同一の回路構成要素は、画像圧縮符号化装置1の説明を引用し、説明を省略する。
この画像圧縮符号化装置6は、端子11を介して輝度信号Y、色差信号Pb,Prからなる画像信号が入力される。ブロック分割部12は、入力された1フレームの画像信号を例えば8×8のブロックに分割し、本線系2及び予測系4へ送信する。
本線系2は、FIFO(First In First Out)メモリ21,DCT部22,FIFOメモリ23,二分探索部24,量子化部25,第1の可変長符号化部26からなるDCTパスと、FIFOメモリ27,量子化部35,DPCM部28,第2の可変長符号化部29,二分探索部36からなるDPCMパスと、セレクタ30と、バッファ31とを備える。
量子化部35は、FIFOメモリ27に格納されたデータを受給し、ブロック単位で二分探索部36により決められた量子化ステップにより量子化する。量子化部35は、この量子化されたデータをDPCM部28へ供給する。
すなわち、この量子化を伴うDPCMパスを経ることにより、画像の圧縮の過程において何らかの歪みが付加されることになる。このためDCTパスとDPCMパスのいずれかを選択する場合には、画像圧縮符号化装置1と同様に、符号量の小さい方を優先することに加え、圧縮の過程における歪みが小さい方をも優先的に選択する必要がある。具体的には、圧縮による歪みは、量子化により左右されるものであり、DCTとDPCMそれぞれに対して量子化ステップに応じて生じる。このため予測系4は、量子化を伴うDCTパスからの符号量と、同じく量子化を伴うDPCMパスからの符号量に加え、画像の歪みを比較して、本線系2にセレクト信号を送る必要がある。
かかる予測系4の実現例について以下説明する。この予測系4は、図7に示すように、DCT部41,n個の量子化器42−1〜42−n,n個の符号量変換器43−1〜43−nからなるDCTパスと、m個の量子化器51−1〜51−m,m個のDPCM部52−1〜52−m,m個の符号量変換部53−1〜53−mからなるDPCMパスと、演算部54とを備える。
m個の量子化器51−1〜51−mは、ブロック単位で画像信号を受給し、夫々異なる量子化ステップで量子化する。すなわち、DPCMパスにおいてもm個の量子化ステップによりサンプリングすることが可能となる。
DPCM部52−1〜52−mは、量子化された画像信号についてブロック毎にDPCMを施し、符号量変換部53−1〜53−mへ供給する。符号量変換部53−1〜53−mは、これらのDPCM化された信号についてブロック毎に符号化して演算部54へ出力する。
演算部54は、DCTパス側からは、符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量等が入力され、DPCMパス側からは、異なる量子化ステップにより量子化されDPCM処理された符号量等が入力される。演算部54は、これらの入力される各ブロック毎の符号量や画像の歪みを比較して、各ブロック毎の割当符号量とセレクト信号とを求め、本線系2へ出力する。なお、この予測系4においてDPCM部52−1〜52−mと、量子化器51−1〜51−mとを入れ換えて構成してもよい。これにより、先ずDPCM部52−1〜52−mにおいて、DPCM化された信号を夫々異なる量子化ステップで量子化することができる。
次に、この演算部54による割当符号量の算出について説明をする。図8は、演算部54の構成例を示している。演算部54は、n個の比較部301−1〜301−nと、n個のセレクタ302−1〜302−nと、n個のメモリ303−1〜303−nと、n個の加算器304−1〜304−nと、n個の累積回路305−1〜305−nと、演算処理部306とを備える。
比較部301−1〜301−nは、DCTパスを介して符号量変換器43−1〜43−nから異なる量子化ステップで処理された符号量length(1,k)〜length(n,k)が入力され、またDPCMパスを介して符号量変換器53−1〜53−mからDPCM処理された符号量dpcm(1,k)〜dpcm(m,k)が入力される。なお、この比較部301−1〜301−nは、DCTパスにおける符号量と、当該DCTパスにおける符号量よりも歪みが小さくなるDPCMパスにおける符号量とを比較するようにする。ちなみに図8に示す例において、比較部301−1や比較部301−2に入力されるdpcm(1,k)は、length(1,k)やlength(2,k)よりも歪みが小さく、また比較部301−3に入力されるdpcm(2,k)は、length(3,k)よりも歪みが小さい。
比較部301−1〜301−nは、この入力されたDCTパスからの符号量と、DPCMパスからの符号量について小さい方を選択し、選択した情報を含むセレクト信号を出力する。これにより、画像の圧縮による歪みを抑えつつ、目標符号量を満たすように、セレクト信号を出力することが可能となる。
セレクタ302−1〜302−nは、比較部301−1〜301−nから供給されるセレクト信号に応じて、DCTパスから供給される符号量或いはDPCMパスから供給される符号量を夫々選択する。例えば、DCTパスを選択した旨の情報がセレクト信号に含まれていた場合には、セレクタ302−1〜302−nは、DCT側にONされることとなる。このセレクタ302−1〜302−nにより選択された符号量は、そのままメモリ303−1〜303−n、加算器304−1〜304−nへ供給される。
メモリ303−1〜303−nは、各ブロック毎に、セレクト信号と符号量を格納する。すなわち1フレーム分の処理が終了した段階で、このメモリ303−1〜303−nには、ブロック単位で選択した符号量とセレクト信号が、量子化ステップ数であるn個分格納されている状態となっている。
加算器304−1〜304−n及び累積回路305−1〜305−nは、セレクタ302−1〜302−nにより選択された符号量を1フレーム分、順次累積加算する。この1フレーム分加算した符号量を夫々総符号量total(1)〜total(n)とする。累積回路305−1〜305−nは、得られた総符号量total(1)〜total(n)を順次演算処理部306へ送信する。
演算処理部306は、各累積回路305−1〜305−nから夫々総符号量total(1)〜total(n)を受信する。この演算処理部306は、1フレーム分の目標符号量とこれらの総符号量total(1)〜total(n)を比較し、目標符号量以上である総符号量total(j-1)と、目標符号量以下である総符号量total(j)とを特定する。これらの特定した符号量に基づく割当符号量assign(k)の計算については、画像圧縮符号化装置1における演算部44の説明を引用し、説明を省略する。
このようにして予測系4からは、この演算処理部から出力される割当符号量assign(k)と、セレクト信号が出力される。この出力された割当符号量assign(k)は、二分探索部24,36へ供給される。
二分探索部24,36は、セレクト信号がDCT側になっている場合において、ブロックの発生符号量が目標符号量に収まるように量子化ステップを決定する。決定された量子化ステップに基づき、本線系2における量子化部25,35はブロック単位で量子化を施す。
なおこの画像圧縮符号化装置6は、図7に示す構成に限定されるものではなく、例えば図9に示すように、二分探索法を用いない構成にも適用可能である。
この図9に示す画像圧縮符号化装置6の例では、量子化部35は、DCT部22から入力されたDCT係数を、ブロック単位で決定された量子化ステップに基づき量子化する。この量子化部35は、この量子化されたデータを可変長符号化部26へ供給する。
演算処理部306は、演算した総符号量に基づき、n個の量子化ステップを参照しつつ、ブロック毎に最適な符号量を見積もる。そして当該ブロック毎に見積もった符号量に基づき、量子化ステップを決定して上述した量子化部35へ送信する。これにより、二分探索法を採用する図7に示す画像圧縮符号化装置6と比較して多くの量子化ステップにより予測を試みることができるため、精度の高い量子化コントロールを実現することが可能となる。
以上詳細に説明したように、本実施の形態に係る画像符号化圧縮装置6は、ブロック毎に、複数の量子化ステップにより量子化されたDCTパス或いはDPCMパスからの符号量を効率良くまた目標符号量を満たすように選択することができる。また、DPCMパスからの符号量を優先的に選択した場合には、画像品質の劣化を防止することができる。これによりVTR等のような記録メディアの容量をオーバーすることなく、効率的な符号量制御を実現でき、画像の圧縮過程における歪みを低減させることが可能となる。
なお、本実施の形態は、画像圧縮符号化装置1,5,6に適用される場合に限定されるものではない。例えば、この画像圧縮符号化装置1,5,6の各構成要素を伝送路上に配設することにより、伝送路上においても、効率的な符号量制御を実現でき、画像の圧縮過程における歪みを低減させることが可能となる。
なお、本実施の形態ではブロック毎にDCTを施すことによりDCT係数を生成することにより可逆的な画像圧縮を行うが、かかる場合に限定されるものではない。また、非可逆的な画像圧縮方式についてもDPCMに限定されるものではない。即ち、第1の圧縮方式と、第1の圧縮方式より低圧縮率でありロスの小さい第2の圧縮方式を用いるものであればよい。
またこの第1の圧縮方式と第2の圧縮方式とを切り替えることができる画像圧縮符号化装置及び方法、プログラムに対しても適用可能である。
この画像圧縮符号化装置は、第1の圧縮方式、或いは上記第1の圧縮方式より低圧縮率でありロスの小さい第2の圧縮方式、を符号化方式選択単位で選択して画像信号を圧縮符号化する画像圧縮符号化装置において、上記第1の圧縮方式により得られる符号量、又は上記第2の圧縮方式により得られる符号量のいずれかを符号化方式選択単位毎に加算することにより、上記符号化方式選択単位の総符号量を演算する演算手段と、上記演算手段により演算された総符号量と、等長化単位における目標符号量とに基づき、上記第1の圧縮方式、或いは上記第2の圧縮方式を符号化方式選択単位毎に選択する選択手段と、上記選択手段によって選択された圧縮方式を用いて上記各符号化方式選択単位の画像信号を圧縮符号化する圧縮符号化手段とを備える。
このような画像圧縮符号化装置において、上記第1の圧縮方式及び/又は上記第2の圧縮方式は、上記画像信号を夫々複数の異なる量子化ステップにより量子化する方式としてもよい。また、上記演算手段により演算された総符号量と、上記等長化単位における目標符号量とを比較し、当該比較結果に応じて上記第1の圧縮方式における量子化ステップを決定する決定手段をさらに備え、上記選択手段は、上記決定手段により決定された量子化ステップにより上記量子化する第1の圧縮方式、或いは上記第2の圧縮方式の一方を符号化方式選択単位毎に選択するようにしてもよい。上記選択手段は、上記第1の圧縮方式、或いは上記第2の圧縮方式を所定の優先度に基づいて選択するようにしてもよい。また上記選択手段は、上記第1の圧縮方式、或いは上記第2の圧縮方式の優先度が等しい場合には、上記第1の圧縮方式、或いは上記第2の圧縮方式のうちいずれか一方を選択するようにしてもよい。また、上記選択手段は、上記第2の圧縮方式を優先的に選択するようにしてもよい。また、上記第1の圧縮方式は、上記画像信号をDCT(Discrete Cosine Transform)変換し、上記DCT変換された画像信号を量子化する方式としてもよい。また上記第2の圧縮方式は、可逆符号化(Lossless)方式としてもよい。また、上記第2の圧縮方式は、上記画像信号をDPCM(Differential Pulse Code Modulation)によって符号化する方式としてもよい。また、上記演算手段は、上記第1の圧縮方式により得られる符号量、又は上記第2の圧縮方式により得られる符号量のうち小さい方の符号量を上記符号化方式選択単位毎に加算することにより、等長化単位の総符号量を演算してもよい。
この画像圧縮符号化方法は、第1の圧縮方式、或いは上記第1の圧縮方式より低圧縮率でありロスの小さい第2の圧縮方式、を上記符号化方式選択単位で選択して画像信号を圧縮符号化する画像圧縮符号化方法において、上記第1の圧縮方式により得られる符号量、又は上記第2の圧縮方式により得られる符号量のいずれかを上記符号化方式選択単位毎に加算することにより、上記符号化方式選択単位の総符号量を演算する演算工程と、上記演算工程において演算された総符号量と、上記等長化単位における目標符号量とに基づき、上記第1の圧縮方式、或いは上記第2の圧縮方式を符号化方式選択単位毎に選択する選択工程と、上記選択工程において選択された圧縮方式を用いて上記各符号化方式選択単位の画像信号を圧縮符号化する圧縮符号化工程とを有する。
このような画像圧縮符号化方法において、上記第1の圧縮方式及び/又は上記第2の圧縮方式は、上記画像信号を夫々複数の異なる量子化ステップにより量子化する方式であり、上記演算した総符号量と、上記等長化単位における目標符号量とを比較し、当該比較結果に応じて上記第1の圧縮方式における量子化ステップを決定する決定工程をさらに備え、上記選択工程では、上記決定工程で決定された量子化ステップにより上記第1の圧縮方式、或いは上記第2の圧縮方式が、上記符号化方式選択単位毎に選択されるようにしてもよい。また、上記選択工程では、上記第1の圧縮方式、或いは上記第2の圧縮方式が所定の優先度に基づいて選択されるようにしてもよい。また、上記選択工程では、上記第1の圧縮方式、或いは上記第2の圧縮方式の優先度が等しい場合には、第1の圧縮方式或いは上記第2の圧縮方式のうちいずれか一方が選択されるようにしてもよい。また上記選択工程では、上記第2の圧縮方式が優先的に選択されるようにしてもよい。また、上記第1の圧縮方式は、上記画像信号をDCT(Discrete Cosine Transform)変換し、上記DCT変換された画像信号を量子化する方式としてもよい。また上記第2の圧縮方式は、可逆符号化(Lossless)方式により符号化する方式としてもよい。また、上記第2の圧縮方式は、入力画像信号をDPCM(Differential Pulse Code Modulation)によって符号化する方式としてもよい。また、上記演算工程では、上記第1の圧縮方式により得られる符号量、又は上記第2の圧縮方式により得られる符号量のうち小さい方の符号量が上記符号化方式選択単位毎に加算されることにより、等長化単位の総符号量が演算されるようにしてもよい。
また、このプログラムでは、第1の圧縮方式、或いは上記第1の圧縮方式より低圧縮率でありロスの小さい第2の圧縮方式、を上記符号化方式選択単位単位で選択して画像信号を圧縮符号化することをコンピュータに実行させるプログラムにおいて、上記第1の圧縮方式により得られる符号量、又は上記第2の圧縮方式により得られる符号量のいずれかを上記符号化方式選択単位毎に加算することにより、上記符号化方式選択単位の総符号量を演算し、演算した総符号量と、上記等長化単位における目標符号量とに基づき、上記第1の圧縮方式、或いは上記第2の圧縮方式を符号化方式選択単位毎に選択し、上記選択した圧縮方式を用いて上記各符号化方式選択単位の画像信号を圧縮符号化することをコンピュータに実行させる。
このような構成からなる画像圧縮符号化装置及び方法、プログラムでは、ブロック毎に、複数の量子化ステップにより量子化された第1の圧縮方式、或いは第1の圧縮方式より低圧縮率でありロスの小さい第2の圧縮方式からの符号量を効率よく、また目標符号量を満たすように選択することができる。また、第2の圧縮方式からの符号量を優先的に選択することにより、画像品質の劣化を防止することができる。これによりVTR等のような記録メディアの容量をオーバーすることなく、効率的な符号量制御を実現でき、画像の圧縮過程における歪みを低減させることが可能となる。
以上詳細に説明したように、本発明に係る実施の形態の画像圧縮符号化装置及び方法によれば、ブロック毎に、多くの量子化ステップにより量子化されたDCTパス或いはDPCMパスからの符号量を効率良く、また目標符号量を満たすように選択することができる。これによりVTR等のような記録メディアの容量をオーバーすることなく、効率的な符号量制御を実現でき、画像の圧縮過程における歪みを低減させることが可能となる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
1,5,6 画像圧縮符号化装置、2 本線系、4 予測系、11 端子、12ブロック分割部、21,23,27 FIFOメモリ、22 DCT部、24 二分探索部、25 量子化部、26 第1の可変長符号化部、28 DPCM部、29 第2の可変長符号化部、30 セレクタ、31 バッファ