JP3899552B2 - 画像データ圧縮装置およびその方法 - Google Patents
画像データ圧縮装置およびその方法 Download PDFInfo
- Publication number
- JP3899552B2 JP3899552B2 JP15457596A JP15457596A JP3899552B2 JP 3899552 B2 JP3899552 B2 JP 3899552B2 JP 15457596 A JP15457596 A JP 15457596A JP 15457596 A JP15457596 A JP 15457596A JP 3899552 B2 JP3899552 B2 JP 3899552B2
- Authority
- JP
- Japan
- Prior art keywords
- code amount
- image data
- unit
- upper limit
- carry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、単位時間長あたりの画像データの圧縮後の符号量が等しくなるように画像データを圧縮し、編集処理に適した圧縮画像データを供給する画像データ圧縮装置およびその方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
MPEG(motion picture coding experts group) 方式等の画像圧縮技術を、通信および読み出し専用の記録媒体(光ディスク等)に対する記録に応用する場合には、TM5(Test Model 5)方式等に代表されるように、マクロブロックそれぞれから発生される圧縮画像データのデータ量(符号量)は、仮想的バッファの残り容量等に基づいて、平均して目標符号量以下になるようにすれば足りる。
【0003】
一方、画像圧縮技術を、高画質が要求される放送局用のデジタルビデオテープレコーダ(VTR装置)に応用する場合には、通信等に応用する場合と異なり、インサート編集および早送り再生等を実現する必要性から、圧縮画像データの符号量に関する制限が存在する。つまり、例えば、単位時間長(等符号長時間)の画像データから得られる圧縮画像データは、ビデオテープの所定長の範囲に記録され得るように、一定の目標符号量以下とされる必要がある。通常、圧縮画像データの符号量の制限に用いられる等符号長時間は、例えば、フレーム(ピクチャー)単位に定められ、あるいは、複数のピクチャーから構成され、圧縮符号化の単位となるGOP(group of pictures) 単位に定められる。
【0004】
このように、放送用VTR装置に圧縮画像データを供給するためには、発生する圧縮画像データの符号量を厳しく制限する必要があるため、量子化レベルQを高精度に制御しなければならない。量子化レベルQの制御のための方式としては、例えば、特開平6−319112号公報および特開平5−284458号公報に開示されているように、発生した圧縮画像データの符号量(発生符号量)が、目標符号量Tjを越えないような量子化レベルQを算出する二分木探索方式(binary search) 、あるいは、固定の量子化レベルQで画像データを予備的に圧縮符号化し、この圧縮符号化の結果に基づいて、最適な量子化レベルQを算出するバックサーチ(back search) 方式が知られている。
【0005】
これらの方式は、各マクロブロックごとに、発生する圧縮画像データの符号量の最大値が、目標符号量を超えないように量子化レベルQを制御するという点で一致し、発生する圧縮画像データの符号量が、全てのマクロブロックについて目標符号量以下となり、等符号長時間ごとに発生する圧縮画像データを等長化するという目的を達成することができる。
しかしながら、これらの方式においては、等符号長時間ごとの目標符号量と、実際に発生した圧縮画像データの符号量の差が無駄になり、無駄にした符号量の分だけ、圧縮画像データを伸長復号して得られる画像の品質が劣化してしまうことになる。
【0006】
二分木探索方式およびバックサーチ方式の問題点を解決する方法として、マクロブロックごとに、実際に発生した圧縮画像データの符号量と目標符号量との差(余り符号量)を、続くいくつかのマクロブロックに対して分配し、これらのマクロブロックに割り当てて目標符号量を増やす方法がある。
しかしながら、余り符号量を、1つのマクロブロックに対してのみ分配すると、配分したマクロブロックの画像の品質が際立って良くなったり、あるいは逆に、他のブロックの画像の品質が際立って劣化するといったように、1つの画面内の画像の品質にムラが生じてしてしまうことがある。
【0007】
本発明は上述した従来技術の問題点に鑑みてなされたものであり、単位時間長の画像データを圧縮符号化し、所定の目標符号量以下の圧縮画像データを得ることができ、しかも、目標符号量と、実際に発生した圧縮画像データの符号量との差を非常に少なくすることができる画像データ圧縮装置およびその方法を提供することを目的とする。
また、本発明は、目標符号量と実際に発生した圧縮画像データの符号量との差を非常に少なくすることができるにもかかわらず、全てのマクロブロックに対して均一な符号量を割り当てることができ、伸長復号後の画面の部分ごとに生じる画像品質のムラをなくすことができる画像データ圧縮装置およびその方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明によれば、画像データを所定ブロック単位で圧縮する画像データ圧縮装置であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出する繰り越し符号量算出手段と、
前記繰り越し符号量算出手段によって算出された繰り越し符号量が、所定の固定符号量より大きいことを条件として前記上限値を増加させ、前記所定の固定符号量より小さいことを条件として前記上限値を減少させるように、前記ブロック単位で前記上限値を更新する上限値更新手段と、
前記繰り返し符号量算出手段により算出された前記繰り越し符号量を、前記上限値更新手段により更新された上限値以下に制限する上限値制限手段と、
前記上限値制限手段により前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出する目標符号量設定手段と、
前記目標符号量算出手段により算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮する圧縮手段と
を有する画像データ圧縮装置が提供される。
【0009】
また本発明によれば、画像データを所定ブロック単位で圧縮する画像データ圧縮装置であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出する繰り越し符号量算出手段と、
前記繰り越し符号量算出手段によって算出された繰り越し符号量が、所定の範囲外である場合にのみ前記上限値を更新する上限値更新手段と、
前記繰り返し符号量算出手段により算出された前記繰り越し符号量を、前記上限値更新手段により更新された上限値以下に制限する上限値制限手段と、
前記上限値制限手段により前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出する目標符号量設定手段と、
前記目標符号量算出手段により算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮する圧縮手段と
を有する画像データ圧縮装置が提供される。
【0010】
本発明によれば、画像データを所定ブロック単位で圧縮する画像データ圧縮方法であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出するステップと、
算出された繰り越し符号量が、所定の固定符号量より大きいことを条件として前記上限値を増加させ、前記所定の固定符号量より小さいことを条件として前記上限値を減少させるように、前記ブロック単位で前記上限値を更新するステップと、
算出された前記繰り越し符号量を、更新された上限値以下に制限するステップと、
前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出するステップと、
前記算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮するステップと
を有する画像データ圧縮方法が提供される。
【0011】
また本発明によれば、画像データを所定ブロック単位で圧縮する画像データ圧縮方法であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出するステップと、
算出された繰り越し符号量が、所定の範囲外である場合にのみ前記上限値を更新するステップと、
算出された前記繰り越し符号量を、更新された上限値以下に制限するステップと、
前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出するステップと、
前記算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮するステップと
を有する画像データ圧縮方法が提供される。
【0012】
【発明の実施の形態】
第1実施形態
以下、本発明の第1の実施形態を説明する。
図1は、本発明に係る画像データ圧縮装置1の構成を示す図である。
図1に示すように、画像データ圧縮装置1は、圧縮符号化部2および予備符号化部4および目標符号量制御部5から構成される。
【0013】
圧縮符号化部2は、画像並べ替え部10、ピクチャタイプ制御部12、走査変換ブロック化部14、動き検出部16、FIFO18,38、減算部19、DCT(discrete cosine transform) 部20、量子化部22、可変長符号化部24、逆量子化部30、IDCT(inverse discrete cosine transform) 部32、加算部34および動き補償部36から構成され、外部から入力される画像データを、予備符号化部4により設定される量子化インデックスQIに基づいて圧縮符号化し、圧縮画像データを生成する。
【0014】
予備符号化部4は、動き補償部26、減算部28、DCT部42、予測部44、バックサーチ(back search) 部46D 構成され、目標符号量Tに圧縮画像データの符号量(発生符号量G)を近付けるための量子化レベル(レート)Qの制御に用いられる量子化インデックスQIを高い精度で求める。
目標符号量制御部5は、減算部48、加算部50,56、上限値制限部(limitter)52および配分符号量生成部54から構成される。
画像データ圧縮装置1は、これらの構成部分により、非圧縮画像データを、所定の画像圧縮符号化方式、例えば、MPEG方式により圧縮符号化し、所定の単位時間長(等符号長時間TE)、例えば、GOPごとにほぼ等しい発生符号量Gの圧縮画像データを生成する。
【0015】
以下、画像データ圧縮装置1の各構成部分を説明する。
圧縮符号化部2において、画像並べ替え部10は、ピクチャタイプ制御部12からのピクチャータイプ信号に基づいて、画像データ圧縮装置1に接続された編集装置あるいはディジタルビデオテープレコーダ(VTR装置)等の画像機器(図示せず)から入力される非圧縮画像データに含まれるピクチャーを、MPEG方式による圧縮符号化に適した順序に並び替えて、走査変換ブロック化部14に対して出力する。
【0016】
ピクチャタイプ制御部12は、非圧縮画像データのピクチャーそれぞれに対して圧縮後のフレーム(ピクチャー)の種類、つまり、各ピクチャーが圧縮符号化後にIピクチャー(intra picture) 、Pピクチャー(predictive picture)およびBピクチャー(bidirectionally predictive picture)のいずれになるかを示すピクチャータイプ信号を生成し、画像並べ替え部10に対して出力する。
【0017】
図2は、図1に示した走査変換ブロック化部14におけるマクロブロック(MB)化処理を示す図である。
走査変換ブロック化部14は、画像並べ替え部10から入力された画像データのピクチャーそれぞれに対して、フィールド/フレーム変換処理およびマクロブロック化処理を行ない、動き検出部16および動き補償部26に対して出力する。
【0018】
なお、走査変換ブロック化部14におけるマクロブロック化処理は、画像データの輝度信号(輝度データ;Y)および色差信号(色差データ;Cr,Cb)を、それぞれ所定数の画素を含むブロックに分割する処理であって、図2に示すように、1ピクチャー分の輝度データ(Y)を、1マクロブロック当たり16×16画素の画像データ(輝度データ)を含むマクロブロックに分割し、1ピクチャー分の色差データ(Cr,Cb)を、それぞれ1マクロブロック当たり8×16画素の画像データ(色差データ)を含むマクロブロックに等分割する。
【0019】
つまり、輝度データ(Y)のマクロブロックは、1マクロブロックあたり8×8画素の画像データを含む4個のブロック(部分)から構成され、色差データ(Cr,Cb)それぞれのマクロブロックは、輝度データ(Y)に比べて水平方向を1/2にサブサンプリングし、1つあたり8×8画素の画像データを含む2個のブロックから構成される。
【0020】
動き検出部16(図1)は、走査変換ブロック化部14から入力された画像データに対して、マクロブロック単位で動き検出を行い、動き検出の結果として得られる動きベクトルを、動き補償部26、および、図1中に点線で示すように、FIFO38に対して出力し、走査変換ブロック化部14から入力された画像データを減算部28の正入力端子およびFIFO18に対して出力する。
【0021】
FIFO18は、動き検出部16から入力された画像データを、予備符号化部4のDCT部42、予測部44およびバックサーチ部46の処理に要する時間だけ遅延し、減算部19の正入力端子に対して出力する。
FIFO38は、動き検出部16から入力された動きベクトルを、FIFO18と同様に、予備符号化部4のDCT部42、予測部44およびバックサーチ部46の処理に要する時間だけ遅延し、動き補償部36に対して出力する。
【0022】
減算部19は、圧縮後にBピクチャーおよびPピクチャーになるピクチャーの画像データから、動き補償部36の動き補償の結果として得られた画像データを減算して予測誤差データを算出し、圧縮後にIピクチャーになる画像データそのもの、および、算出した予測誤差データをDCT部20に対して出力する。
【0023】
DCT部20は、減算部19から圧縮後にIピクチャーになるピクチャーの画像データが入力される場合は、画像データそのものに対してマクロブロック単位に離散余弦変換(DCT)処理を行い、圧縮後にBピクチャーおよびPピクチャーになるピクチャーの画像データが入力される場合には、予測誤差データに対してマクロブロック単位にDCT処理を行い、これらのDCT処理の結果(DCT係数)を量子化部22に対して出力する。
【0024】
量子化部22は、バックサーチ部46から入力される量子化インデックスQIが示す量子化レベルQを用いて、1マクロブロック(MB)あたりの発生符号量Gjが目標符号量Tj以下であって、目標符号量Tjに近い値になるように、DCT部20から入力されるDCT係数を量子化し、量子化の結果として得られたデータを可変長符号化部24および逆量子化部30に対して出力する。
【0025】
ここで、量子化レベルQと量子化インデックスQIとの関係を説明する。量子化レベル(レート)Qとは、量子化部22においてDCT係数に対して除算を行う際に、あるいは、逆量子化部30において量子化されたデータに対して乗算を行う際に用いられるデータであって、量子化部22においては、発生符号量G5jを目標符号量Tjに近づけるために、量子化レベルQとして、非線形に変化する複数の値の組み合わせが、画像の複雑さ等に応じて複数、使い分けられる。
【0026】
一方、量子化インデックスQIは、複数の量子化レベルQの組み合わせに付された番号であり、量子化インデックスQIを参照することにより、量子化レベルQとして用いられた複数の値の組み合わせを識別することができる。なお、量子化インデックスQIは、通常、量子化レベルQそのものよりも符号量が少ないので、VTR装置等においては、量子化レベルQの代わりに量子化インデックスQIが、画像データとともに記録媒体に記録されることが多い。
【0027】
可変長符号化部24は、量子化部22から入力されるデータを可変長符号化して圧縮画像データを生成し、画像データ圧縮装置1に接続された画像機器に対して出力するとともに、圧縮画像データの1マクロブロック(MB)あたりの発生符号量Gjを算出して減算部48に対して出力する。
逆量子化部30は、量子化部22と逆の処理を行い、量子化部22が出力するデータに、量子化インデックスQIが示す量子化レベルQを乗算してDCT部20が生成したDCT係数に対応するDCT係数を再生し、IDCT部32に対して出力する。
【0028】
IDCT部32は、逆量子化部30から入力されるDCT係数に対して逆離散余弦変換(IDCT)処理を行い、DCT部20に入力された、加算部19に入力された画像データに対応する画像データを再生して加算部34に対して出力する。
加算部34は、動き補償部36から入力される画像データと、IDCT部32から入力される画像データを加算して、動き補償部36に対して出力する。
【0029】
動き補償部36は、FIFO38を経由して入力される、動き検出部16で求めた動きベクトルに基づいて、加算部34から入力される画像データに対して動き補償処理を行い、減算部19の負入力端子および加算部34に対して出力する。
動き補償部26、減算部28、DCT部42、予測部44、バックサーチ部46を有する予備符号化部4において、動き補償部26は、動き検出部16における動き検出の結果に基づいて、動き検出部16から入力される画像データに対して動き補償を行い、動き補償の結果として得られた画像データを減算部28の負入力端子に対して出力する。
【0030】
減算部28は、動き検出部16で求めた動きベクトルから動き補償部26で求めた動き補償の結果を減じて、圧縮後にBピクチャーおよびPピクチャーになるピクチャーの画像データから、動き補償部26の動き補償の結果として得られたデータを減算して予測誤差データを算出し、圧縮後にIピクチャーになる画像データそのもの、および、算出した予測誤差データをDCT部42に対して出力する。
DCT部42は、減算部28から圧縮後にIピクチャーになるピクチャーの画像データが入力される場合は、画像データそのものに対してマクロブロック単位にDCT処理を行い、圧縮後にBピクチャーおよびPピクチャーになるピクチャーの画像データが入力される場合には、予測誤差データに対してマクロブロック単位にDCT処理を行い、DCT係数を予測部44に対して出力する。
【0031】
予測部44は、DCT部42から入力されたDCT処理の結果(DCT係数)を、例えば、固定値の量子化レベルQ(Fix-Q) により量子化し、量子化処理の結果として得られたデータの符号量、および、加算部56から入力される目標符号量Tjに基づいて、量子化インデックスQIを算出し、DCT部42から入力されたDCT係数とともにバックサーチ部46に対して出力する。
【0032】
なお、予測部44において、二分木探索方式により量子化インデックスQIを算出することも可能である。以下、図3を参照して、予測部44において、二分木探索方式により、量子化インデックスQIを求める場合の処理を説明する。
図3は、図1に示した予測部44において、二分木探索方式により量子化インデックスQIを求める処理を、量子化インデックスQIの数が16である場合について例示する図である。
等符号長時間TEにおいて、目標符号量以下であって、目標符号量に近い値の圧縮映像データを得るためには、通常、等符号長時間TE単位で、刻々と生成される圧縮画像データの符号量に基づいて、量子化レート(レベル)Qを動的に(ダイナミックに)制御するフィードバック制御が用いられる。
【0033】
しかしながら、動的なフィードバック制御により発生符号量を制御する方法を採った場合、長い時間において、発生符号量を一定以下に収めることができるものの、等符号長時間TEごとに発生符号量を一定に保つことは難しい。二分木探索方式は、量子化インデックスQIの値が量子化レートQの刻みを粗くする方向に大きくなる、発生符号量は量子化インデックスQIの値に応じて単調に減少することに着目し、フィードフォワード制御により、等符号長時間TEごとの発生符号量を目標符号量以下であって、目標符号量に近い値とするために考案された方式である。
【0034】
予測部44は、図3に示すように、第1段階(1st stage)で、量子化インデックスQIの中央値〔図3の例においては、QI=7(0〜15の中央値)〕とし、この量子化インデックス7に対応する量子化レートQで、DCT部42から入力されたDCT係数を量子化し、発生符号量を求める。
【0035】
予測部44は、第1段階において、量子化による発生符号量が目標符号量を超えた場合には、第2段階(2nd stage) において、量子化インデックスQIを11として、量子化インデックス11(7〜15の中央値)に対応する量子化レートQで、DCT部42から入力されたDCT係数を量子化し、発生符号量を求める。反対に、発生符号量が目標符号量より少ない場合には、予測部44は、第二段階において、量子化インデックスQIを3(0〜7の中央値)として、量子化インデックス3に対応する量子化レートQで、DCT部42から入力されたDCT係数を量子化し、発生符号量を求める。
【0036】
以下、予測部44は、第3段階および第4段階において、同様な処理を行い、最適な量子化インデックスの値を求める。
二分木探索方式によれば、n個の量子化インデックスQIから最適な量子化インデックスQIを求めるための演算はlog2n回で済み、全ての量子化インデックスQIを用いてDCT係数に対する量子化を行い、最適な値を求める場合に比べて、演算量および演算を実行するハードウェア量を大幅に少なくすることができる。
【0037】
バックサーチ部46は、画像データをダビングすることにより量子化インデックスQI(量子化レートQ)が不明になった画像データから、正しい量子化インデックスQIを求める手段であって、予測部44から入力されたマクロブロックごとのDCT係数および量子化インデックスQIに基づいて、バックサーチにより、目標符号量Tjと発生符号量Gjとの差を、予測部44が算出した符号化インデックスQIよりもさらに少なくすることができる量子化インデックスQI’を算出して、図1中に点線で示すように量子化部22に対して出力する。
【0038】
以下、図4を参照して、バックサーチ部46の構成および動作をさらに説明する。
図4は、図1に示したバックサーチ部46の構成を示す図である。
図4に示すように、バックサーチ部46は、絶対値回路460、(n+1)個の16ビット×16ビットの乗算を行う乗算器462、(n+1)個のシフト回路464、(n+1)個の絶対値回路466、(n+1)個の総和回路468、最大値検出・最小値検出セレクタ470および除算回路472から構成される。
【0039】
絶対値回路460は、予測部44を経由して入力されるDCT部42で生成したDCT係数の絶対値を算出し、(n+1)個の乗算器462に対して出力する。絶対値回路460によりDCT係数の絶対値を算出するのは、乗算器462〜最大値検出・最小値検出セレクタ470の各構成部分の処理においては数値の倍数関係のみが問題となり、数値の正負が問題とならず、また、絶対値とすることにより、これらの構成部分における演算が容易になるからである。
【0040】
(n+1)個の乗算器462および(n+1)個の絶対値回路466はそれぞれ、実質的に除算回路を構成し、絶対値回路460から入力されるDCT係数の絶対値を、予測部44から入力された量子化インデックスQIに0,1,2,…,nを加えた値で除算し、量子化する。具体的には、例えば、乗算器462およびシフト回路464が、DCT係数を量子化レベル=3で量子化する場合には、乗算器462がDCT係数に、16進数表記で「0AAABh」を乗算し、シフト回路464が乗算結果を18ビットシフトする。このような構成するのは、除算器の構成は複雑であり、乗算器462およびシフト回路464を用いて実質的に除算器を構成した方が、ハードウェア量が少なくて済むからである。
【0041】
(n+1)個の絶対値回路466は、それぞれ(n+1)個の乗算器462および(n+1)個のシフト回路464による量子化結果の小数部に対して、下の式1に示す演算を行い、実質的に絶対値を算出する。
【0042】
【数1】
f(x) = x (x<0.5)
f(x) = 1−x (x≧0.5) …(1)
【0043】
式1に示した演算により、(n+1)個の絶対値回路466はそれぞれ、例えば、(n+1)個の乗算器462および(n+1)個のシフト回路464の量子化結果の絶対値化された小数部が0.9である場合には、実際には−0.1であったとみなして、小数部の絶対値の値を0.1とするためである。
(n+1)個の総和回路468はそれぞれ、(n+1)個の絶対値回路466により絶対値化された量子化結果の小数部の絶対値の総和値を算出し、最大値検出・最小値検出セレクタ470に対して出力する。
【0044】
最大値検出・最小値検出セレクタ470は、(n+1)個の総和回路468が算出した総和値の内、最大の値を求めて、除算回路472に対して出力する。
除算回路472は、シフト回路から構成され、最大値検出・最小値検出セレクタ470が求めた2進数で表記される総和値を1ビットシフトすることにより、2で除算し、最大値検出・最小値検出セレクタ470に対して出力する。
(n+1)個の総和回路468それぞれから入力される総和値の最小値が、最大値の1/2以下である場合には、明らかに小さいと見なして倍数関係があると判断することができ、1/2より大きい場合には特定の倍数関係がないと判断することができる。
【0045】
したがって、バックサーチ部46の最大値検出・最小値検出セレクタ470は、(n+1)個の総和回路468それぞれから入力される総和値の最小値が、最大値の1/2以下である場合には、この最小値を与える量子化インデックスQIを最終的な量子化インデックスQI’として量子化部22に対して出力し、最大値の1/2より大きい場合には、最大値の1/2の値を与える量子化インデックスQIを最終的な量子化インデックスQI’として量子化部22に対して出力する。
以上説明したバックサーチ部46の処理により、ダビングされ、元の量子化レート(レベル)Qが不明になった画像データに対しても、最適な量子化インデックスQI’が求められる。このようにして、最適な量子化インデックスQI’を求めることができる理由は、一度、記録・再生された画像データをDCT処理して得られるDCT係数は、元の量子化レベルの倍数になっているためである。
【0046】
目標符号量制御部5において、減算部48は、配分符号量生成部54からマクロブロックごとに入力される配分符号量D j から、可変長符号化部24からマクロブロックごとに入力される発生符号量Gjを減算して剰余符号量Rjを算出し、加算部50に対して出力する。
加算部50は、上限値制限部52からマクロブロックごとに入力される繰り越し符号量Sj の上限値ULIMと、減算部48からマクロブロックごとに入力される剰余符号量Rjとを加算して生成した、現在のマクロブロックをj番目とした場合に、(j+1)番目のマクロブロックへの新たな繰り越し符号量Sj+1を算出して上限値制限部52に対して出力する。
このように、減算部48において、配分符号量生成部54から入力される配分符号量D j から発生符号量G j を減算して生成する剰余符号量R j を算出し、加算部50において、算出した剰余符号量R j を用いて繰り越し符号量S j 〔S j+1 =S j −min(LIM,S j )+R j )〕を算出する。
【0047】
上限値制限部52は、予め設定される繰り越し符号量の上限値LIMと、加算部50から入力される新たな繰り越し符号量S j+1 の内、いずれか小さい方の値を符号量の上限値ULIMとして加算部56に対して出力する。
配分符号量生成部54は、マクロブロックそれぞれに予め配分されている配分符号量Djを加算部56に対して出力する。
【0048】
ここで、配分符号量Djは、等符号長時間TEごとに圧縮画像データに割り当てられる符号量を、等符号長時間TEに含まれる画像データのピクチャーのマクロブロックそれぞれに、ピクチャーの種類(ピクチャータイプ)等に応じて配分した符号量である。また、上限値LIMは、マクロブロックそれぞれの配分符号量Djに、繰り越し符号量Sjの値に応じて加算する符号量の上限値である。
なお、上限制限部52から出力される符号量の上限値ULIMは、予め設定される繰り越し符号量の上限値LIMと、新たな繰り越し符号量S j+1 のいずれか小さいほうが選択されたものであり、加算部56において、配分符号量生成フィルタ54から出力されるマクロブロックそれぞれの配分符号量D j に加算する符号量の上限値である。
加算部56は、配分符号量生成部54から入力された配分符号量D j と、上限値制限部52から入力された符号量の上限値ULIMとを加算し、目標符号量Tjとして予測部44に対して出力する。
【0049】
以下、画像データ圧縮装置1の動作を説明する。
まず、図5を参照して、減算部48、加算部50、上限値制限部52および加算部56による目標符号量Tjの制御を行わない場合の画像データ圧縮装置1(図1)における発生符号量の制御を説明する。
図5は、第1の実施形態における画像データ圧縮装置1の目標符号量Tjの制御を行わない場合の発生符号量制御を示す図である。なお、実際には、例えば、525/60形式の画像データの1ピクチャーは1440個のマクロブロックから構成されるが、図5においては、図示の簡略化のために、1ピクチャーが3×4個(1〜12)の画素のマクロブロックから構成されている場合を示してある(以下、図6,図8等において同様)。
【0050】
図5において、配分符号量生成部54が、等符号長時間TEに割り当てられた目標符号量T j を、各マクロブロックに均等に配分した配分符号量Djが、例えば、1,000ビットである場合、予測部44が生成した量子化インデックスQIまたはバックサーチ部46が生成した量子化インデックスQI’に基づいて、圧縮符号化部2に入力された各マクロブロックの画像データから、1,000ビット以下であって、1,000ビットに近い値の発生符号量の圧縮画像データが、最終的に可変長符号化部24から出力される。
【0051】
しかしながら、例えば、第1のマクロブロック〜第12のマクロブロックから、可変長符号化部24から実際に生成された圧縮画像データの発生符号量G1〜G12がそれぞれ、例えば、図5に示すように、950ビット、980ビット、1,000ビット…である場合、配分符号量D j と発生符号量G j の差〔剰余符号量Rj(=D j −Gj)〕は、50ビット、20ビット、0ビット…となり、このピクチャー全体で、350ビットの繰り越し符号量S(=ΣRj)が生じ、無駄になる。
【0052】
次に、図6を参照して、減算部48、加算部50、上限値制限部52、配分符号量生成部54および加算部56による目標符号量Tjの制御を行い、繰り越し符号量Sjを減少させた画像データ圧縮装置1(図1)における発生符号量G 5jの制御を説明する。
図6は、第1の実施形態における画像データ圧縮装置1の目標符号量Tjの制御を行なう場合の発生符号量制御を示す図である。
【0053】
図6に示すように、目標符号量Tjの制御は、減算部48〜加算部56により、第j番目のマクロブロックで生じた剰余符号量Rjを、それ以降のマクロブロックに再配分することにより行われる。
図6において、配分符号量生成部54が、等符号長時間TEに割り当てられた目標符号量T j を、各マクロブロックに均等に配分した配分符号量Djが、図5と同様に、例えば、1,000ビットである場合、予測部44が生成した量子化インデックスQIまたはバックサーチ部46が生成した量子化インデックスQI’に基づいて、圧縮符号化部2に入力された各マクロブロックの画像データから、1,000ビット以下であって、1,000ビットに近い値の発生符号量の圧縮画像データが、最終的に可変長符号化部24から出力される。
【0054】
例えば、第1のマクロブロックから、実際に生成された圧縮画像データの発生符号量G1が950ビットである場合、減算部48が、配分符号量生成部54から入力される配分符号量D1から発生符号量G1を減算して得る剰余符号量R51は50ビット、加算部50が算出した繰り越し符号量S1〔Sj=Sj−1−min(LIM,Sj−1)+Rj、但し、S0,R0=0〕は50ビットになる。
なお、繰り越し符号量S1は、ピクチャー(等符号長時間TE)ごとに初期化され、初期値S0は0ビットとなる。
【0055】
上限値制限部52は、加算部50で算出された繰り越し符号量S1 か、予め設定された符号量の上限値LIM(図6においては40ビット)のいずれか値が小さいほうを選択することにより、第2のマクロブロックに再配分する目標符号量の値〔再配分値{=min(Sj−1,LIM)}〕を制限し、加算部56に対して出力する。
加算部56は、配分符号量生成部54が生成する配分符号量Djと、上限値制限部52から入力される再配分値を加算し、第2のマクロブロックに対する目標符号量T2(1,040ビット)を生成し、予測部44に対して出力する。
【0056】
予測部44は、DCT部42から入力されるDCT係数、および、加算部56から入力される目標符号量T2に基づいて量子化インデックスQIを生成し、バックサーチ部46が量子化インデックスQIを最適化して、最終的な量子化インデックスQI’を生成し、量子化部22に対して出力する。
予備符号化部4は、入力される第2のマクロブロックの画像データを、量子化インデックスQI’に基づいて量子化し、可変長符号化部24は、最終的に発生符号量G 2 が1,020ビットの圧縮画像データを生成し、出力する。
【0057】
画像データ圧縮装置1は、以下同様に、第3のマクロブロック〜第12のマクロブロックの目標符号量T3〜T12をそれぞれ、1,030ビット、1010ビット、…、1,040ビットとして圧縮符号化を行い、可変長符号化部24から、それぞれ発生符号量Gjが1,020ビット、970ビット、…、1030ビットの圧縮画像データを生成し、出力する。
図6に示した画像データ圧縮装置1の動作によれば、図5に示した画像データ圧縮装置1の動作によって生じていた350ビットの繰り越し符号量S12を、20ビットに減らすことができ、しかも、各マクロブロックから生成される圧縮画像データの符号量を増やすことができるので、伸長復号後の画像の品質が向上する。
【0058】
なお、上限値制限部52において、各マクロブロックの画像データに対する符号量の再配分値を制限する理由は、再配分する符号量に制限を設けないと、特定のマクロブロックの画像データだけに多くの符号量を再配分したり、逆に、他の特定のマクロブロックの画像データには全く符号量を再配分できなくなったりして、伸長復号後の画像にむらが生じ、画像の品質(画質)が劣化するからである。
【0059】
なお、図6においては、説明の簡略化のために、可変長符号化部24が出力した第j番目のマクロブロックの圧縮画像データの発生符号量Gjが、次の第(j+1)番目のマクロブロックの目標符号量Tj+1に反映される場合を示したが、実際には、目標符号量の算出を行うためのハードウェア的な遅延、あるいは、ソフトウェア的な遅延が存在し、あるマクロブロックの画像データから生成される発生符号量は、数個後のマクロブロックの目標符号量に反映されることになる。
【0060】
第2実施形態
以下、本発明の第2の実施形態を説明する。
第1の実施形態に示した目標符号量Tjの制御(図6)によれば、無駄な最終的な繰り越し符号量Sjの値を少なくすることができ、圧縮画像データの発生符号量Tjを増加させることができるので、伸長復号後の画像の品質を向上させることができる。しかしながら、図6に示した目標符号量Tjの制御によると、各マクロブロックの画像データに対する目標符号量Tjの値にばらつきが生じてしまい、伸長復号後の画像にむらが残ってしまうことになる。
【0061】
また、バックサーチ部46におけるバックサーチにより量子化インデックスQIを最適化するシステムにおいて、第1の実施形態に示した目標符号量Tjの制御(図6)を行うと、1回目の圧縮符号化において多くの目標符号量Tjを割り当てたマクロブロックに、2回目の圧縮符号化に少ない目標符号量Tjが割り当てられた場合、バックサーチにより求める量子化インデックスQI’が、本来の1回目の量子化インデックスQI’ではなく、それよりも大きい値となることが生じ、さらに画質が劣化してしまう。
【0062】
目標符号量Tjと発生符号量Gjとの誤差が一定であれば、画像を劣化させることがない最適な符号量の上限値ULIMを求めることができる。しかしながら、実際には、画像データ圧縮装置1に入力される動画像の絵柄より、目標符号量Tjと発生符号量Gjの関係は動的に変化するので、このような最適な符号量の上限値ULIMを求めることはできない。
【0063】
第2の実施形態に示す目標符号量Tjの制御方法は、等符号長時間TEにおける最終的な繰り越し符号量Sj一定の目標範囲に収めるように、各マクロブロックに対する目標符号量Tjを制御すれば、各マクロブロックに対する目標符号量の再配分をほぼ一定にできるという性質と、画像データの時間方向の相関性に着目してなされたものであって、各マクロブロックの画像データに対して均等な目標符号量Tjを割り当て、複数の画像データ圧縮・伸長装置を直列に接続して画像の圧縮・伸長を繰り返しても、常に正しい量子化レート(レベル)で画像データを圧縮することができ、画像にむらを生させることがないように目標符号量Tjを制御する。
【0064】
図7は、第2の実施形態における本発明に係る画像データ圧縮装置6の構成を示す図である。なお、図7においては、画像データ圧縮装置6の各構成部分のうち、第1の実施形態に示した画像データ圧縮装置1(図1等)と同じものには、同一の符号を付してある。
図7に示すように、画像データ圧縮装置6は、圧縮符号化部2および目標符号量制御部62から構成される。つまり、画像データ圧縮装置6は、画像データ圧縮装置1(図1)の予備符号化部4と目標符号量制御部5を、目標符号量制御部62で置換した構成をとる。
目標符号量制御部62は、減算部620,626、目標符号量生成部624、目標剰余符号量生成部628および上限値算出部630から構成される。
【0065】
まず、画像データ圧縮装置6における目標符号量の制御の原理を説明する。
図7に示すように、図1を参照して述べた予備符号化部4および目標符号量制御部5を、目標符号量Tと、符号量の再配分値の上限値ULIM、あるいは、固定の再配分値そのものに基づいて、圧縮符号化を行い、ある発生符号量の圧縮画像データを出力するブラックボックスとして考えると、画像データ圧縮装置6全体を、繰り越し符号量Sを制御する制御系としてとらえることができる。
画像データ圧縮装置6は、等符号長時間TE(例えば、1以上のピクチャーあるいはGOP)の画像データに対する圧縮符号化が終了したときに、その目標符号量Tと発生符号量Gとの差の総和〔最終的な繰り越し符号量S{=Σ(Tj−Gj)}〕と、所定の固定目標値Aとの差分(S−A)に対して所定の伝達関数Fによる演算あるいは変換を行って、符号量の上限値ULIMを決定し、次の等符号長時間TEにおける圧縮符号化に用いるというフィードバックループ制御を行うように構成されている。
【0066】
さらに詳しく説明する。画像データ圧縮装置6において、圧縮符号化部2(図実際の構成は図1に示した通り)には、各マクロブロックの画像データに対する配分符号量Djと符号量の再配分値の上限値ULIMが与えられ、画像データを等符号長時間TEごとに符号量が等しくなるように圧縮符号化する。
画像データ圧縮装置6は、等符号長時間TEごとに、最終的な繰り越し符号量Sを算出することできる。
【0067】
画像データ圧縮装置において、等符号長時間TEそれぞれにおける最終的な繰り越し符号量Sの値が大きいということは、等符号長時間TEそれぞれにおいて多くの符号量を無駄にして捨てており、結果として伸長復号後の画質を劣化させていることを意味する。
【0068】
逆に、等符号長時間TEそれぞれにおける最終的な繰り越し符号量Sの値が小さく、0に近いということは、等符号長時間TEそれぞれにおいて無駄にしている符号量が少なく、伸長復号後の画質の劣化が少ないことを意味するが、一方、例えば、第1の実施形態において図6に示した目標符号量の制御を行う場合には、各マクロブロックの画像データに対する目標符号量Tjの値にばらつきが生じており、伸長復号後の画像にむらが生じていることをも意味する。
【0069】
そこで、画像データ圧縮装置6は、最終的な繰り越し符号量Sに対して適切な値を固定符号量Aを設定し、等符号長時間TEそれぞれにおいて、最終的な繰り越し符号量Sが固定符号量Aより多い場合には、符号量の上限値ULIMを大きく変更して符号量を無駄にしないようにし、逆に、最終的な繰り越し符号量Sが固定符号量Aより少ない場合には、上限値ULIMを小さく変更して、各マクロブロックに対する再配分値を確保できるように制御を行う。
【0070】
なお、画像データ圧縮装置6において、符号量の上限値ULIMは、等符号長時間TEごとに変更され、ある等符号長時間TEにおいて設定された上限値ULIMは、他の等符号長時間TEにおいては有効でないことに留意する必要がある。
しかしながら、画像データは時間方向に強い相関性を有し、特に、通常、数ピクチャーの等符号長時間TEにおいては相関性が強いので、ある等符号長時間TEにおける最終的な繰り越し符号量Sに基づいて算出した目標符号量Tjを、次の等符号長時間TEにおいて用いても、実際上、不都合は生じない。
【0071】
以下、画像データ圧縮装置6(図7)の各構成部分を説明する。
減算部620は、目標符号量生成部624から入力される目標符号量Tjから図1に図解した圧縮符号化部2の可変長符号化部24(図1、図7において図示せず)から入力される発生符号量Gjを減算して、剰余符号量Rj(=Tj−Gj)を算出し、減算部626に対して出力する。また減算部620は、等符号長時間TEあたりの目標符号量Tjから発生した発生符号量Gjを引き等符号長時間TEあたりの剰余符号量Rj=Tj−Gjを求める。
目標符号量生成部624は、画像データ圧縮装置1の予備符号化部4(図1)を構成する動き補償部26、減算部28、DCT部42、バックサーチ部46、、および、目標符号量制御部5を構成する減算部48、加算部50、上限値制限部52、配分符号量生成部54および加算部56に対応する回路を含み(いずれも図7において図示せず)、上限値制限部52に上限値算出部630から各マクロブロックに設定される符号量の上限値ULIMに基づいて、圧縮符号化部2の走査変換ブロック化部14(図1、図7において図示せず)から入力される画像データを処理し、マクロブロックの画像データそれぞれに対する目標符号量T5jを生成し、圧縮符号化部2および減算部620に対して出力する。
【0072】
目標剰余符号量生成部628は、固定符号量Aを生成して減算部626に対して出力する。
減算部626は、減算部620から入力される等符号長時間TEあたりの剰余符号量Rから、目標剰余符号量生成部628から入力される固定符号量Aを減算し、(R j −A)を出力する。
上限値算出部630は、減算部626から入力される減算結果(R j −A)の等符号長時間TEごとの総和(S−A)を算出し、所定の関数Fによる演算を行ってΔLIM〔F(R−A)〕を算出し、元の上限値ULIMからΔLIMを加算して、新たな上限値ULIMを算出し、目標符号量生成部624の上限値制限部52(図1、図7において図示せず)に対して出力する。
【0073】
以下、図8を参照し、符号量の上限値ULIMが40ビットであり、図8に示すピクチャー(等符号長時間TE)全体に対する目標符号量が12,000ビット(各マクロブロックに配分される配分符号量Dj=1,000ビット)であり、目標剰余符号量生成部628が生成する固定符号量Aが70ビットであり、上限値算出部630が用いる関数F〔=0.2(R−A)〕である場合を例に、画像データ圧縮装置6の動作を説明する。
【0074】
例えば、この条件下、圧縮符号化部2が、図5に示した通りの発生符号量G5jの圧縮画像データを生成すると、図5に示した例における最終的な繰り越し符号量Sは20ビットとなる。
目標符号量制御部62は、減算部626から入力される減算結果(R−A)に基づいて、繰り越し符号量S(20ビット)から固定符号量A(70ビット)を減算し、減算結果に0.2を乗算してΔLIM〔−10ビット{=0.2(20−70)}〕を算出し、元(前回)の上限値ULIM(40ビット)にΔLIMを加算して、新たな上限値ULIM(30ビット)を算出し、圧縮符号化部2に対して出力する。圧縮符号化部2は、目標符号量制御部62から入力される上限値ULIMを用いて、第1の実施形態においてと同様に、図8に示した次のピクチャー(等符号長時間TE)の画像データを圧縮符号化する。
【0075】
以上説明したように、図5に示したピクチャー(等符号長時間TE)の次のピクチャー(図8)における上限値ULIMは、目標符号量制御部62により、30ビットに変更される。
この上限値ULIMの変更により、図8に示したピクチャーの各マクロブロックに対する目標符号量Tjは、1,030ビット一定になる。しかも、最終的な繰り越し符号量Sは50ビットになり、図5に示した前のピクチャーの最終的な繰り越し符号量(40ビット)よりも、固定符号量A(70ビット)に近づいていることが分かる。
【0076】
さらに、目標符号量制御部62は、図8に示したピクチャーに対する圧縮符号化の結果に基づいて、次のピクチャーの圧縮符号化に用いる新たな上限値ULIMを算出する。つまり、目標符号量制御部62は、元の上限値ULIM(30ビット)にΔLIM〔=0.2(50−70)=14〕を加えて、図8に示したピクチャーの次のピクチャーの圧縮符号化に用いる新たな上限値ULIM(26ビット)を算出する。
【0077】
以下同様に、目標符号量制御部62は、圧縮符号化結果に基づいて、各ピクチャーに対する上限値ULIMを算出し、圧縮符号化部2は、目標符号量制御部62が算出した上限値を用いて各ピクチャーを圧縮符号化する。
【0078】
このように、目標符号量制御部62が、マクロブロックの画像データを圧縮符号化するたびに、上限値ULIMを、最終的な繰り越し符号量Sに応じて変更することにより、圧縮符号化部2は、常に、最終的な繰り越し符号量Sの値を一定の範囲内に収めて画像データを圧縮符号化することができ、伸長復号化後の画像の品質を一定以上に保つことができる。
【0079】
以上説明したように、第2の実施形態に示した画像データ圧縮装置6によれば、等符号長時間TE単位で圧縮符号化を行う画像データ圧縮装置において、無駄になる符号量を減らし、伸長復号後の画像の品質を向上させることができる。
また、等符号長時間TE内のほとんど全てのマクロブロックに対して等しい目標符号量Tjを割り当てることができ、同一ピクチャー内のマクロブロックに対して割り当てられる目標符号量Tjの不均一性に起因して生じる画面のむらを防ぐことができる。
また、第2の実施系形態に示した目標符号量の制御とバックサーチ方式とを組み合わせることにより、量子化インデックスQIを正しく求めることが可能になり、画像データをダビングすることを重ねた場合に生じる伸長復号後の画像の品質低下を防ぐことができる。
また、画像データ圧縮装置6における目標符号量Tjの制御方法は、圧縮符号化部2から動き補償を行う部分を除いた圧縮符号化部にも適用可能である。
【0080】
以下、画像データ圧縮装置6の変形例を説明する。
第1の変形例
図9は、画像データ圧縮装置6(図7)の第1の変形例(画像データ圧縮装置64)の構成を示す図である。
図9に示すように、画像データ圧縮装置64は、圧縮符号化部2、および、マイクロプロセッサ、メモリおよびこれらの周辺回路を有する目標符号量制御部640から構成される。つまり、画像データ圧縮装置64は、画像データ圧縮装置6の目標符号量制御部62を、目標符号量制御部640で置換した構成になっている。
【0081】
画像データ圧縮装置6(図7)において、減算部620,626、目標符号量生成部624、目標剰余符号量生成部628および上限値算出部630が行った目標符号量Tjの算出処理を、画像データ圧縮装置64においては、画像データ圧縮装置640がソフトウェア的な処理により行う。
このように、目標符号量制御部62を目標符号量制御部640に置換することにより、目標符号量Tjを生成するための演算方法の変更が容易になる。
【0082】
第2の変形例
画像データ圧縮装置6において、固定符号量Aの値は、必ずしも一定である必要はなく、一定の幅が許される。
従って、各等符号長時間TEにおける最終的な繰り越し符号量Sの値がA1〜A2(A1>A2)の範囲内である場合には、上限値算出部630が上限値ULIMの変更を行わず、A1〜A2の範囲外である場合にのみ、上限値算出部630が上限値ULIMの変更を行うように画像データ圧縮装置6の動作を変形してもよい。
【0083】
第3の変形例
第2の実施形態に示した画像データ圧縮装置6における目標符号量Tjの制御(図8)においては、符号量の再配分値の上限値ULIMを変更して、各マクロブロックに対して目標符号量Tjを再配分する場合を示したが、均一に目標符号量Tjの再配分が可能である限り、ピクチャー全体に共通な目標符号量Tjの再配分を行うことが可能である。
【0084】
従って、第2の実施形態において説明したように、繰り越し符号量Sj または上限値ULIMのいずれか小さい方を再配分値として各マクロブロックに与えるのではなく、予め、予測再配分値Lを、ピクチャーに含まれるマクロブロックの目標符号量に加えた上で目標符号量制御部62が上限値ULIMを生成し、圧縮符号化部2がこの上限値ULIMを用いて圧縮符号化を行うことも可能である。
【0085】
図10は、画像データ圧縮装置6(図8)の第3の変形例による動作を例示する図である。
この変形例においては、目標符号量制御部62は、ピクチャーに含まれるマクロブロック全てについて、予め、予測再配分値L(30ビット)を設定し、第1のマクロブロックに対する配分符号量D1に加え、第1のマクロブロックに対する目標符号量T1の値を1,030ビットにする。このように、予測再配分値Lを設定することにより、図8に示した例においては、他のマクロブロックと異なる目標符号量Tj(1,000ビット)が割り当てられる第1のマクロブロックに対しても、図8に示した例においては、他と同じ目標符号量T1(1,030ビット)が割り当てることが可能になる。
【0086】
しかしながら、予測再配分値Lを大きく設定しすぎると、ピクチャー(等符号長時間TE)において符号量が不足する可能性があり、図8に示した例においては、第1のマクロブロック〜第3のマクロブロックまでは、繰り越し符号量が不足し、さらに、最終的な繰り越し符号量S12の値が0になっている。従って、第3の変形例に示した予測再配分値Lの値は、実際には、もう少し小さい値とする方が望ましい。
【0087】
第3実施形態
以下、第3の実施形態を説明する。
第1の実施形態および第2実施形態(図5,図6,図8,図10)において説明したように、繰り越し符号量Sjを続くマクロブロックに再配分し、各等符号長時間TEにおける最終的な繰り越し符号量Sを少なくするように、マクロブロックそれぞれに対する目標符号量Tjを制御することにより、無駄になる符号量を少なくすることができる。
この目標符号量Tjの制御方法を、例えば、画像データ圧縮装置1(図1)において、2枚のピクチャー(IピクチャーおよびBピクチャー)から構成されるGOPを等符号長時間TEとし、このGOP単位で画像データを圧縮符号化する場合の目標符号量Tjと発生符号量Gjとの関係を図11に例示する。なお、説明の簡略化のために、図11においては、図5等と同様に、1つのピクチャーが3×4個のマクロブロックから構成されている場合を示す。
【0088】
図11に示すように、画像データ圧縮装置1の予備符号化部4(図1)において、配分符号量生成部54は、発生符号量に応じて、IピクチャーおよびBピクチャーそれぞれに、1,000ビットおよび500ビットの配分符号量Djを与える。
予備符号化部4は、まず、Iピクチャーの第jのマクロブロックまでの目標符号量Tjと発生符号量Gjとの差〔余剰符号量Rj(=Tj−Gj)〕の総和〔繰り越し符号量Sj{=Σ(Tj−Gj)}〕を、続く第(j+1)のマクロブロックに再配分し、圧縮符号化部2の量子化部22(図1)に設定する。
【0089】
なお、予備符号化部4は、第1の実施形態(図5)においてと同様に、第jのマクロブロックまでの画像データについて繰り越し符号号量Sjの全てを、第(j+1)のマクロブロック1つだけに再配分すると、目標符号量Sj+1の値が非常に大きくなったり、反対に、他のマクロブロックに対する再配分値が非常に小さくなったりして、マクロブロックごとの再配分値の差が顕著になりやすい。したがって、予備符号化部4は、符号量の再配分値に上限値ULIM(40ビット)を設け、繰り越し符号量Sj または上限値ULIMのいずれか少ない方〔min(Sj,ULIM)〕を、続く第(j+1)のマクロブロックに分配する。
以上説明したように、予備符号化部4は、Iピクチャーのマクロブロックそれぞれに対する目標符号量Tjを生成し、圧縮符号化部2に設定する。
【0090】
Iピクチャーのマクロブロックそれぞれに対する目標符号量Tjの生成が終了すると、次に、予備符号化部4は、Bピクチャーのマクロブロックそれぞれに対する目標符号量Tjの生成を行う。
図11に示すように、Iピクチャーの第12のマクロブロックの圧縮符号化が終了するまでに、20ビットの繰り越し符号量Sjが生じている。
【0091】
予備符号化部4は、Iピクチャーからの繰り越し符号量Sjを、Bピクチャーの第1のマクロブロックに対する配分符号量Dj(500ビット)に配分し、Bピクチャーの第1のマクロブロックの目標符号量T1を520ビットとして圧縮符号化部2の量子化部22(図2)に設定する。
【0092】
図11に示すように、例えば、Bピクチャーの第1のマクロブロックの圧縮画像データの発生符号量G1が450ビットであり、70ビットの余剰符号量R51が生じた場合、予備符号化部4は、余剰符号量R1(=繰り越し符号量S51)が上限値ULIM(40ビット)より多いため、上限値ULIM(40ビット)を第2のマクロブロックに再配分し、第2のマクロブロックの目標符号量T2を1,040ビットとして圧縮符号化部2に設定する。
以下、同様に、予備符号化部4は、Bピクチャーのマクロブロックそれぞれに対する目標符号量Tjを生成し、圧縮符号化部2に設定する。
【0093】
第3の実施形態に示したように、第1の実施形態(図5)に示した目標符号量Tjの制御方法は、複数の種類のピクチャーを含むGOPを等符号長時間TEとして画像データを圧縮符号化する場合にも適用可能である。
なお、第3の実施形態に示した目標符号量Tjの制御方法は、他のピクチャータイプシーケンスのGOP(等符号長時間TE)の画像データの圧縮符号化にも適用可能である。
また、同様に、第1の実施形態および第2の実施形態(図6,図8,図10)に示した他の目標符号量Tjの制御方法を、複数の種類のピクチャーを含むGOPを等符号長時間TEとして画像データを圧縮符号化する場合にも適用可能であことはいうまでもない。
【0094】
第4実施形態
以下、本発明の第4の実施形態を説明する。
第3の実施形態に示した目標符号量Tjの制御方法(図11)によれば、第1の実施形態および第2の実施形態(図6,図8,図10)に示した目標符号量Tjの制御方法を、複数の種類のピクチャーを含む画像データの圧縮符号化に応用することができる。
しかしながら、第3の実施形態に示した目標符号量Tjの制御方法(図11)によれば、図11においてIピクチャーの部分に示すように、Iピクチャーのマクロブロックそれぞれの目標符号量Tjが一定にならず、伸長復号後の画像がマクロブロック単位でばらつき、画像にむらが生じる。
【0095】
また、図11において、Bピクチャーの部分に示すように、目標符号量Tjに対して発生符号量Gjが比較的小さくなる場合、等符号長時間TEにおける最終的な繰り越し符号量Sが大きくなり、多くの符号量が無駄になる(図11においては210ビット)。
つまり、第3の実施形態に示した目標符号量Tjの制御方法においては、等符号長時間TEごとに多くの符号量を無駄にし、Iピクチャーの伸長復号後の画像が、マクロブロックごとにばらつき、無駄が生じてしまう。
【0096】
さらに、第2の実施形態(図6)おいて、等符号長時間TEごとに、最終的な繰り越し符号量Sの値が目標符号値Aに近づくようにする目標符号量Tjの制御方法(第1の変形例)を、等符号長時間TE(GOP)が複数の種類のピクチャーを含む画像データに対する圧縮符号化処理に適応しようとすると、図11に示すように、等符号長時間TE(GOP)ごとに、繰り越し符号量Sの値が目標値符号量Aに近づいていても、Iピクチャーの各マクロブロックに再配分する繰り越し符号量Sjが不足してしまう。
【0096】
第4の実施形態において説明する目標符号量Tjの制御方法は、かかる問題点を解決するためになされたものであり、等符号長時間TE(GOP)の最初の方のピクチャーでは、マクロブロックに再配分する符号量を少なめにして繰り越し符号量を貯蓄し、後ろの方のピクチャーでは、マクロブロックに再配分する符号量を多めにすることにより、GOP内の各ピクチャーのマクロブロックそれぞれに再分配する符号量を一定にするとともに、等符号長時間TEそれぞれにおける最終的な繰り越し符号量Sも少なくすることができる。
【0097】
図12は、第4の実施形態における目標符号量Tjの制御方法により、2枚のピクチャー(IピクチャーおよびBピクチャー)から構成されるGOP単位で画像データを圧縮符号化する場合の目標符号量Tjと発生符号量Gjとの関係を例示する図である。なお、説明の簡略化のために、図12においては、図11等と同様に、1つのピクチャーが3×4個の画素のマクロブロックから構成されている場合を示す。
第4の実施形態における目標符号量Tjの制御方法は、画像データ圧縮装置1の予備符号化部4(図1)が、最初のIピクチャーの各マクロブロックに再配分する符号量の上限値ULIM Iを、次のBピクチャーの各マクロブロックに再配分する符号量の上限値ULIM Bよりも小さく設定することを特徴としている。
【0098】
例えば、図12に示すように、最初のIピクチャーの各マクロブロックに再配分する符号量の上限値ULIM Iを30ビット、次のBピクチャーの各マクロブロックに再配分する符号量の上限値ULIM Bを50ビットとすると、Iピクチャーの各マクロブロックに再配分される符号量が減少するとともに、均等になる。
【0099】
また、Iピクチャーの最後のマクロブロック(第12のマクロブロック)までの繰り越し符号量Sjが160ビットと、比較的大きい量になり、上限値ULIM Bの値が50ビットと大きいBピクチャーの各マクロブロックに対して、充分な符号量を供給することができる。
さらに、Bピクチャーの第12のマクロブロックまでの繰り越し符号量S12(最終的な繰り越し符号量S)の値は、100ビットになり、第3の実施形態(図11)に示した目標符号量Tjの制御方法を用いた場合(210ビット)よりも、無駄になる符号量が少なくなる。
【0100】
以下、図13を参照して、第4の実施形態に示した目標符号量Tj(図12)の制御方法を実行する画像データ圧縮装置7を説明する。
図13は、第4の実施形態に示した目標符号量Tjの制御方法(図12)を実現する画像データ圧縮装置7の構成を示す図である。なお、図12に示した画像データ圧縮装置7の各構成部分の内、画像データ圧縮装置1,6(図1,7)等と同じものには、同一の符号を付してある。
【0101】
図13に示すように、画像データ圧縮装置7は、第2の実施形態に示した画像データ圧縮装置6(図7)に、上限値変更部70,72および切り換え部74を加え、目標符号量生成部624を目標符号量生成部76で置換した構成になっている。
画像データ圧縮装置7において、上限値変更部70,72は、それぞれ補正値C,−Cを発生し、切り換え部74に対して出力する。
【0102】
切り換え部74は、圧縮符号化部2から入力されるピクチャータイプを示す信号が、例えば、図12に示した場合において、圧縮符号化部2がIピクチャーを圧縮符号化していることを示す場合は、上限値変更部72から入力される補正値−C(図12においてはC=10ビット)を目標符号量生成部76に対して出力し、Bピクチャーを圧縮符号化していることを示す場合は、上限値変更部70から入力される補正値Cを目標符号量生成部76に対して出力する。
目標符号量生成部76は、画像データ圧縮装置6の目標符号量生成部624と同様に、上限値算出部630から入力された上限値ULIMに、切り換え部74から入力された補正値C,−Cを加算し、この加算結果に基づいて目標符号量Tjを算出し、圧縮符号化部2の量子化部22(図1)に設定する。
【0103】
なお、第4の実施形態に示した目標符号量Tjの制御方法(図11)は、図13に示した画像データ圧縮装置7の他に、例えば、画像データ圧縮装置1,6(図1,図7)に対して適切に変形を加えることにより、あるいは、図14に示すように、画像データ圧縮装置64(図9)のソフトウェアを変更することにより実現可能である。
また、第4の実施形態に示した目標符号量Tjの制御方法は、3個以上のピクチャーから構成されるGOPを等符号長時間TEとして画像データを圧縮符号化する場合にも、適用可能であることはいうまでもない。
また、第1〜第4の実施形態に示した各目標符号量Tjの制御方法は、相互に矛盾を生じない限り、組み合わせて用いることが可能である。
【0104】
【発明の効果】
以上説明したように、本発明に係る画像データ圧縮装置およびその方法によれば、単位時間長の画像データを圧縮符号化し、所定の目標符号量以下の圧縮画像データを得ることができ、しかも、目標符号量と、実際に発生した圧縮画像データの符号量との差を非常に少なくすることができる。
また、本発明に係る画像データ圧縮装置およびその方法によれば、目標符号量Tjと実際に発生した圧縮画像データの符号量との差を非常に少なくすることができるにもかかわらず、全てのマクロブロックに対して均一な符号量を割り当てることができ、伸長復号後の画面の部分ごとに生じる画像品質のムラをなくすことができる。
しかも、本発明に係る画像データ圧縮装置およびその方法によれば、画像データをダビングした後の、元の量子化値が不明になった画像データを正しい量子化インデックスを用いて圧縮符号化することができ、伸長復号後の画像の品質を大きく劣化させることがない。
【図面の簡単な説明】
【図1】 本発明に係る画像データ圧縮装置の構成を示す図である。
【図2】 図1に示した走査変換ブロック化部におけるマクロブロック化処理を示す図である。
【図3】 図1に示した予測部において、二分木探索方式により量子化インデックスQIを求める処理を、量子化インデックスQIの数が16である場合について例示する図である。
【図4】 図1に示したバックサーチ部の構成を示す図である。
【図5】 第1の実施形態における画像データ圧縮装置の目標符号量Tjの制御を行わない場合の発生符号量制御を示す図である。
【図6】 第1の実施形態における画像データ圧縮装置1の目標符号量Tjの制御を行なう場合の発生符号量制御を示す図である。
【図7】 第2の実施形態における本発明に係る画像データ圧縮装置の構成を示す図である。
【図8】 図7に示した画像データ圧縮装置における目標符号量Tjの制御動作を示す図である。
【図9】 画像データ圧縮装置(図7)の第1の変形例(画像データ圧縮装置)の構成を示す図である。
【図10】 画像データ圧縮装置(図8)の第3の変形例による動作を例示する図である。
【図11】 画像データ圧縮装置(図1)において、2枚のピクチャー(IピクチャーおよびBピクチャー)から構成されるGOPを等符号長時間TEとし、このGOP単位で画像データを圧縮符号化する場合の目標符号量Tjと発生符号量Gjとの関係を例示する図である。
【図12】 第4の実施形態における目標符号量Tjの制御方法により、2枚のピクチャー(IピクチャーおよびBピクチャー)から構成されるGOP単位で画像データを圧縮符号化する場合の目標符号量Tjと発生符号量Gjとの関係を例示する図である。
【図13】 図13を参照して、第4の実施形態に示した目標符号量Tj(図12)の制御方法を実行する画像データ圧縮装置を説明する。
【図14】 第4の実施形態に示した目標符号量Tjの制御方法(図11)を、画像データ圧縮装置(図9)により実現する場合を示す図である。
【符号の説明】
1…画像データ圧縮装置、2…圧縮符号化部、10…画像並べ替え部、12…ピクチャタイプ制御部、14…走査変換ブロック化部、16…動き検出部、18…FIFO、20…制御信号I/F、22…量子化部、24…可変長符号化部、26…動き補償部、28…減算部、30…逆量子化部、32…IDCT部、34…加算部、36…動き補償部、38…FIFO、4…予備符号化部、42…DCT部、44…予測部、46…バックサーチ部、48…減算部、50…加算部、52…上限値制限部、54…配分符号量生成部54、56…加算部、6…画像データ圧縮装置、620…目標符号量制御部、624…目標符号量生成部、626…減算部、628…目標剰余符号量生成部、630…上限値算出部、64…画像データ圧縮装置、640…目標符号量制御部、7…画像データ圧縮装置、70,72…上限値変更部、74…切り換え部74、76…目標符号量生成部
Claims (4)
- 画像データを所定ブロック単位で圧縮する画像データ圧縮装置であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出する繰り越し符号量算出手段と、
前記繰り越し符号量算出手段によって算出された繰り越し符号量が、所定の固定符号量より大きいことを条件として前記上限値を増加させ、前記所定の固定符号量より小さいことを条件として前記上限値を減少させるように、前記ブロック単位で前記上限値を更新する上限値更新手段と、
前記繰り返し符号量算出手段により算出された前記繰り越し符号量を、前記上限値更新手段により更新された上限値以下に制限する上限値制限手段と、
前記上限値制限手段により前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出する目標符号量設定手段と、
前記目標符号量算出手段により算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮する圧縮手段と
を有する画像データ圧縮装置。 - 画像データを所定ブロック単位で圧縮する画像データ圧縮装置であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出する繰り越し符号量算出手段と、
前記繰り越し符号量算出手段によって算出された繰り越し符号量が、所定の範囲外である場合にのみ前記上限値を更新する上限値更新手段と、
前記繰り返し符号量算出手段により算出された前記繰り越し符号量を、前記上限値更新手段により更新された上限値以下に制限する上限値制限手段と、
前記上限値制限手段により前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出する目標符号量設定手段と、
前記目標符号量算出手段により算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮する圧縮手段と
を有する画像データ圧縮装置。 - 画像データを所定ブロック単位で圧縮する画像データ圧縮方法であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出するステップと、
算出された繰り越し符号量が、所定の固定符号量より大きいことを条件として前記上限値を増加させ、前記所定の固定符号量より小さいことを条件として前記上限値を減少させるように、前記ブロック単位で前記上限値を更新するステップと、
算出された前記繰り越し符号量を、更新された上限値以下に制限するステップと、
前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出するステップと、
前記算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮するステップと
を有する画像データ圧縮方法。 - 画像データを所定ブロック単位で圧縮する画像データ圧縮方法であって、
所定の単位時間長の前記画像データを圧縮することによって得られる前記ブロック単位の発生符号量と、予め配分される前記ブロック単位の配分符号量との差である剰余符号量を、前記ブロック単位の繰り越し符号量のうち予め設定された上限値で制限された結果として再配分することができなかった値に加算することにより、前記繰り越し符号量を前記ブロック単位で算出するステップと、
算出された繰り越し符号量が、所定の範囲外である場合にのみ前記上限値を更新するステップと、
算出された前記繰り越し符号量を、更新された上限値以下に制限するステップと、
前記上限値以下に制限された繰り越し符号量と、前記配分符号量とに基づいて、前記画像データに対する目標符号量を前記ブロック単位で算出するステップと、
前記算出された前記目標符号量に基づいて、画像データを前記ブロック単位で圧縮するステップと
を有する画像データ圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15457596A JP3899552B2 (ja) | 1996-06-14 | 1996-06-14 | 画像データ圧縮装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15457596A JP3899552B2 (ja) | 1996-06-14 | 1996-06-14 | 画像データ圧縮装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH104546A JPH104546A (ja) | 1998-01-06 |
JP3899552B2 true JP3899552B2 (ja) | 2007-03-28 |
Family
ID=15587230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15457596A Expired - Fee Related JP3899552B2 (ja) | 1996-06-14 | 1996-06-14 | 画像データ圧縮装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3899552B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001169281A (ja) | 1999-12-13 | 2001-06-22 | Matsushita Electric Ind Co Ltd | 動画像符号化装置、および動画像符号化方法 |
JP5032936B2 (ja) * | 2007-10-04 | 2012-09-26 | キヤノン株式会社 | 動画像符号化装置及びその制御方法 |
JP4582141B2 (ja) | 2007-11-27 | 2010-11-17 | カシオ計算機株式会社 | 符号量制御装置、符号量制御方法、符号量制御プログラム、動画記録装置 |
JP5847199B2 (ja) * | 2012-01-11 | 2016-01-20 | 日立マクセル株式会社 | 符号化動画像の生成方法、画像符号化方法および画像符号化装置 |
-
1996
- 1996-06-14 JP JP15457596A patent/JP3899552B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH104546A (ja) | 1998-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU703049B2 (en) | Method and device for transcoding video signals | |
US5606371A (en) | Video signal coding with proportionally integrating quantization control | |
KR100667607B1 (ko) | 가변 비트레이트 비디오 코딩 방법 및 대응하는 비디오 코더 | |
US6414992B1 (en) | Optimal encoding of motion compensated video | |
KR100756596B1 (ko) | 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법 | |
US20020131498A1 (en) | Reference frame prediction and block mode prediction for fast motion searching in advanced video coding | |
CA2688249A1 (en) | A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding | |
JP3785199B2 (ja) | 画像信号を符号化するためのデバイス | |
US20030016878A1 (en) | Dynamic image compression coding apparatus | |
JP3899552B2 (ja) | 画像データ圧縮装置およびその方法 | |
KR20000070810A (ko) | 부호화 장치 및 부호화 방법 | |
JP4081727B2 (ja) | 画像符号化装置および画像符号化方法、並びに記録装置および記録方法 | |
EP0520789B1 (en) | Video coder and coding method | |
JP3899553B2 (ja) | 画像データ圧縮装置およびその方法 | |
US5838375A (en) | Method and apparatus for coding an image and reducing bit generation by HVS (human visual sensitivity) | |
CN1708991B (zh) | 利用拉格朗日乘子和视觉掩蔽来控制速率-失真折中的方法和装置 | |
JP2004056677A (ja) | 画像情報符号化装置及び画像情報符号化方法 | |
JP3765129B2 (ja) | 符号化装置および符号化方法 | |
JP3765130B2 (ja) | 符号化装置および符号化方法 | |
JP4604757B2 (ja) | 画像符号化装置および画像符号化方法 | |
JPH10248072A (ja) | 動画像の色差信号変化補償方法、動画像符号化装置および動画像復号装置 | |
JP2002218471A (ja) | 画像符号化データのレート変換方法、及び画像符号化レート変換装置 | |
JP2003204553A (ja) | 画像信号の符号化装置および符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060526 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060821 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060904 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061218 |
|
LAPS | Cancellation because of no payment of annual fees |