JP3918208B2 - 映像データ圧縮装置およびその方法 - Google Patents
映像データ圧縮装置およびその方法 Download PDFInfo
- Publication number
- JP3918208B2 JP3918208B2 JP22964896A JP22964896A JP3918208B2 JP 3918208 B2 JP3918208 B2 JP 3918208B2 JP 22964896 A JP22964896 A JP 22964896A JP 22964896 A JP22964896 A JP 22964896A JP 3918208 B2 JP3918208 B2 JP 3918208B2
- Authority
- JP
- Japan
- Prior art keywords
- picture
- value
- data
- video data
- data amount
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Description
【発明の属する技術分野】
本発明は、非圧縮映像データを圧縮符号化する映像データ圧縮装置およびその方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
非圧縮のディジタル映像データをMPEG(moving picture experts group)等の方法により、Iピクチャー(intra coded picture) 、Bピクチャー(bi-directionaly predictive coded picture)およびPピクチャー(predictive coded picture)から構成されるGOP(group of pictures) 単位に圧縮符号化して光磁気ディスク(MOディスク;magneto-optical disc)等の記録媒体に記録する際には、圧縮符号化後の圧縮映像データのデータ量(ビット量)を、伸長復号後の映像の品質を高く保ちつつ記録媒体の記録容量以下、あるいは、通信回線の伝送容量以下にする必要がある。
【0003】
このために、まず、非圧縮映像データを予備的に圧縮符号化して圧縮符号化後のデータ量を見積もり(1パス目)、次に、見積もったデータ量に基づいて圧縮率を調節し、圧縮符号化後のデータ量が記録媒体の記録容量以下になるように圧縮符号化する(2パス目)方法が採られる(以下、このような圧縮符号化方法を「2パスエンコード」とも記す)。
【0004】
しかしながら、2パスエンコードにより圧縮符号化を行うと、同じ非圧縮映像データに対して同様な圧縮符号化処理を2回施す必要があり、時間がかかってしまう。また、1回の圧縮符号化処理で最終的な圧縮映像データを算出することができないために、撮影した映像データをそのまま実時間的(リアルタイム)に圧縮符号化し、記録することができない。
【0005】
本発明は上述した従来技術の問題点に鑑みてなされたものであり、2パスエンコードによらずに、所定のデータ量以下に音声・映像データを圧縮符号化することができる映像データ圧縮装置およびその方法を提供することを目的とする。
また、本発明は、ほぼ実時間的に映像データを圧縮符号化することができ、しかも、伸長復号後に高品質な映像を得ることができる映像データ圧縮装置およびその方法を提供することを目的とする。
また、本発明は、2パスエンコードによらずに、圧縮符号化後のデータ量を見積もって圧縮率を調節し、圧縮符号化処理を行うことができる映像データ圧縮装置およびその方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明の第1の観点に係る映像データ圧縮装置は、VBVバッファの制約条件を満たすように非圧縮映像データを圧縮して圧縮映像データを生成する映像データ圧縮装置であって、前記圧縮映像データから、映像の複雑さを示す難度データをピクチャーごとに算出する難度データ算出手段と、前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む圧縮前の所定数のピクチャーに対して圧縮後のデータ量(割当データ量)を割り当てるデータ量割当手段と、前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む前記所定数のピクチャーの割当データ量に比例して値が大きくなるように、当該1のピクチャーの圧縮後のデータ量の目標値を算出する目標値算出手段と、前記圧縮映像データの各ピクチャーのデータ量が前記目標値算出手段において算出された目標値になるように、前記非圧縮映像データを圧縮する圧縮手段とを有する。前記データ量割当手段は、前記VBVバッファにバッファリングされている前記圧縮映像データのデータ量(占有データ量)が所定のマージン値より多い場合、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と第1のしきい値との比較結果に基づいて、前記1のピクチャーの映像が複雑か否か判定し、複雑であると判定した場合は、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を初期値から第1の値だけ増やすとともに当該増加分の第1の値を累加算し、前記1のピクチャーの映像が複雑でないと判定した場合は、前記第1の値の累加算結果が正であるならば当該所定数のピクチャーの割当データ量を前記初期値から第2の値だけ減らすとともに前記第1の値の累加算結果から前記第2の値を減算し、前記VBVバッファの占有データ量が前記マージン値より少ない場合、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を前記初期値から第3の値だけ減らすとともに前記第1の値の累加算結果から前記第3の値を減算し、前記1のピクチャーが前記圧縮手段によって圧縮されると、その圧縮後のデータ量と所定の基準データ量との差を前記初期値に加算し、当該加算後の初期値を、次に圧縮するピクチャーを含む前記所定数のピクチャーの割当データ量の初期値として使用する。
【0010】
本発明の第2の観点は、動画像の非圧縮映像データを圧縮するとともに、その圧縮後の映像データ(圧縮映像データ)をバッファリングするVBVバッファに基づいて定まる条件を満たすように前記圧縮映像データのデータレートを制御する映像データ圧縮方法であって、映像の複雑さを示す難度データを前記圧縮映像データのピクチャーごとに算出し、前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む圧縮前の所定数のピクチャーに対して圧縮後のデータ量(割当データ量)を割り当て、前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む前記所定数のピクチャーの割当データ量に比例して値が大きくなるように、当該1のピクチャーの圧縮後のデータ量の目標値を算出し、前記圧縮映像データの各ピクチャーのデータ量が前記算出された目標値になるように、前記非圧縮映像データを所定の圧縮方法で圧縮する。前記データ量の割り当てにおいては、前記VBVバッファにバッファリングされている前記圧縮映像データのデータ量(占有データ量)が所定のマージン値より多い場合、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と第1のしきい値との比較結果に基づいて、前記1のピクチャーの映像が複雑か否か判定し、複雑であると判定した場合は、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を初期値から第1の値だけ増やすとともに当該増加分の第1の値を累加算し、前記1のピクチャーの映像が複雑でないと判定した場合は、前記第1の値の累加算結果が正であるならば当該所定数のピクチャーの割当データ量を前記初期値から第2の値だけ減らすとともに前記第1の値の累加算結果から前記第2の値を減算し、前記VBVバッファの占有データ量が前記マージン値より少ない場合、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を前記初期値から第3の値だけ減らすとともに前記第1の値の累加算結果から前記第3の値を減算し、前記1のピクチャーの圧縮を行った後、その圧縮後のデータ量と所定の基準データ量との差を前記初期値に加算し、当該加算後の初期値を、次に圧縮するピクチャーを含む前記所定数のピクチャーの割当データ量の初期値として使用する。
【0023】
【発明の実施の形態】
第1実施形態
以下、本発明の第1の実施形態を説明する。
MPEG方式といった映像データの圧縮符号化方式により、高い周波数成分が多い絵柄、あるいは、動きが多い絵柄といった難度(difficulty)が高い映像データを圧縮符号化すると、一般的に圧縮に伴う歪みが生じやすくなる。このため、難度が高い映像データは低い圧縮率で圧縮符号化する必要があり、難度が高いデータを圧縮符号化して得られる圧縮映像データに対しては、難度が低い絵柄の映像データの圧縮映像データに比べて、多くの目標データ量を配分する必要がある。
【0024】
このように、映像データの難度に対して適応的に目標データ量を配分するためには、従来技術として示した2パスエンコード方式が有効である。しかしながら、2パスエンコード方式は、実時間的な圧縮符号化に不向きである。
第1の実施形態として示す簡易2パスエンコード方式は、かかる2パスエンコード方式の問題点を解決するためになされたものであり、非圧縮映像データを予備的に圧縮符号化して得られる圧縮映像データの難度データから非圧縮映像データの難度を算出し、予備的な圧縮符号化により算出した難度に基づいて、FIFOメモリ等により所定の時間だけ遅延した非圧縮映像データの圧縮率を適応的に制御することができる。
【0025】
図1は、本発明に係る映像データ圧縮装置1の構成を示す図である。
図1に示すように、映像データ圧縮装置1は、圧縮符号化部10およびホストコンピュータ20から構成され、圧縮符号化部10は、エンコーダ制御部12、動き検出器(motion estimator)14、簡易2パス処理部16、第2のエンコーダ(encoder) 18から構成され、簡易2パス処理部16は、FIFOメモリ160および第1のエンコーダ162から構成される。
映像データ圧縮装置1は、これらの構成部分により、編集装置およびビデオテープレコーダ装置等の外部機器(図示せず)から入力される非圧縮映像データVINに対して、上述した簡易2パスエンコードを実現する。
【0026】
映像データ圧縮装置1において、ホストコンピュータ20は、映像データ圧縮装置1の各構成部分の動作を制御する。また、ホストコンピュータ20は、簡易2パス処理部16のエンコーダ162が非圧縮映像データVINを予備的に圧縮符号化して生成した圧縮映像データのデータ量、DCT処理後の映像データの直流成分(DC成分)の値および直流成分(AC成分)の電力値を制御信号C16を介して受け、受けたこれらの値に基づいて圧縮映像データの絵柄の難度を算出する。さらに、ホストコンピュータ20は、算出した難度に基づいて、エンコーダ18が生成する圧縮映像データの目標データ量Tj を制御信号C18を介してピクチャーごとに割り当て、エンコーダ18の量子化回路166(図3)に設定し、エンコーダ18の圧縮率をピクチャー単位に適応的に制御する。
【0027】
エンコーダ制御部12は、非圧縮映像データVINのピクチャーの有無をホストコンピュータ20に通知し、さらに、非圧縮映像データVINのピクチャーごとに圧縮符号化のための前処理を行う。つまり、エンコーダ制御部12は、入力された非圧縮映像データを符号化順に並べ替え、ピクチャー・フィールド変換を行い、非圧縮映像データVINが映画の映像データである場合に3:2プルダウン処理(映画の24フレーム/秒の映像データを、30フレーム/秒の映像データに変換し、冗長性を圧縮符号化前に取り除く処理)等を行い、映像データS12として簡易2パス処理部16のFIFOメモリ160およびエンコーダ162に対して出力する。
動き検出器14は、非圧縮映像データの動きベクトルの検出を行し、エンコーダ制御部12およびエンコーダ162,18に対して出力する。
【0028】
簡易2パス処理部16において、FIFOメモリ160は、エンコーダ制御部12から入力された映像データS12を、例えば、非圧縮映像データVINが、L(Lは整数)ピクチャー入力される時間だけ遅延し、遅延映像データS16としてエンコーダ18に対して出力する。
【0029】
図2は、図1に示した簡易2パス処理部16のエンコーダ162の構成を示す図である。
エンコーダ162は、例えば、図2に示すように、加算回路164、DCT回路166、量子化回路(Q)168、可変長符号化回路(VLC)170、逆量子化回路(IQ)172、逆DCT(IDCT)回路174、加算回路176および動き補償回路178から構成される一般的な映像データ用圧縮符号化器であって、入力される映像データS12をMPEG方式等により圧縮符号化し、圧縮映像データのピクチャーごとのデータ量等をホストコンピュータ20に対して出力する。
【0030】
加算回路164は、加算回路176の出力データを映像データS12から減算し、DCT回路166に対して出力する。
DCT回路166は、加算回路164から入力される映像データを、例えば、16画素×16画素のマクロブロック単位に離散コサイン変換(DCT)処理し、時間領域のデータから周波数領域のデータに変換して量子化回路168に対して出力する。また、DCT回路166は、DCT後の映像データのDC成分の値およびAC成分の電力値をホストコンピュータ20に対して出力する。
【0031】
量子化回路168は、DCT回路166から入力された周波数領域のデータを、固定の量子化値Qで量子化し、量子化データとして可変長符号化回路170および逆量子化回路172に対して出力する。
可変長符号化回路170は、量子化回路168から入力された量子化データを可変長符号化し、可変長符号化の結果として得られた圧縮映像データのデータ量を、制御信号C16を介してホストコンピュータ20に対して出力する。
逆量子化回路172は、可変長符号化回路168から入力された量子化データを逆量子化し、逆量子化データとして逆DCT回路174に対して出力する。
【0032】
逆DCT回路174は、逆量子化回路172から入力される逆量子化データに対して逆DCT処理を行い、加算回路176に対して出力する。
加算回路176は、動き補償回路178の出力データおよび逆DCT回路174の出力データを加算し、加算回路164および動き補償回路178に対して出力する。
動き補償回路178は、加算回路176の出力データに対して、動き検出器14から入力される動きベクトルに基づいて動き補償処理を行い、加算回路176に対して出力する。
【0033】
図3は、図1に示したエンコーダ18の構成を示す図である。
図3に示すように、エンコーダ18は、図2に示したエンコーダ162に、量子化制御回路180を加えた構成になっている。エンコーダ18は、これらの構成部分により、ホストコンピュータ20から設定される目標データ量Tj に基づいて、FIFOメモリ160によりLピクチャー分遅延された遅延映像データS16に対して動き補償処理、DCT処理、量子化処理および可変長符号化処理を施して、MPEG方式等の圧縮映像データVOUTを生成し、外部機器(図示せず)に出力する。
【0034】
エンコーダ18において、量子化制御回路180は、可変長量子化回路170が出力する圧縮映像データVOUTのデータ量を順次、監視し、遅延映像データS16の第j番目のピクチャーから最終的に生成される圧縮映像データのデータ量が、ホストコンピュータ20から設定された目標データ量Tj に近づくように、順次、量子化回路168に設定する量子化値Qj を調節する。
また、可変長量子化回路170は、圧縮映像データVOUTを外部に出力する他に、遅延映像データS16を圧縮符号化して得られた圧縮映像データVOUTの実際のデータ量Sj を制御信号C18を介してホストコンピュータ20に対して出力する。
【0035】
以下、第1の実施形態における映像データ圧縮装置1の簡易2パスエンコード動作を説明する。
図4(A)〜(C)は、第1の実施形態における映像データ圧縮装置1の簡易2パスエンコードの動作を示す図である。
エンコーダ制御部12は、映像データ圧縮装置1に入力された非圧縮映像データVINに対して、エンコーダ制御部12により符号化順にピクチャーを並べ替える等の前処理を行い、図4(A)に示すように映像データS12としてFIFOメモリ160およびエンコーダ162に対して出力する。
なお、エンコーダ制御部12によるピクチャーの順番並べ替えにより、図4等に示すピクチャーの符号化の順番と伸長復号後の表示の順番とは異なる。
【0036】
FIFOメモリ160は、入力された映像データS12の各ピクチャーをLピクチャー分だけ遅延し、エンコーダ18に対して出力する。
エンコーダ162は、入力された映像データS12のピクチャーを予備的に順次、圧縮符号化し、第j(jは整数)番目のピクチャーを圧縮符号化して得られた圧縮符号化データのデータ量、DCT処理後の映像データのDC成分の値、および、AC成分の電力値をホストコンピュータ20に対して出力する。
【0037】
例えば、エンコーダ18に入力される遅延映像データS16は、FIFOメモリ160によりLピクチャーだけ遅延されているので、図4(B)に示すように、エンコーダ18が、遅延映像データS16の第j(jは整数)番目のピクチャー(図4(B)のピクチャーa)を圧縮符号化している際には、エンコーダ162は、映像データS12の第j番目のピクチャーからLピクチャー分先の第(j+L)番目のピクチャー(図4(B)のピクチャーb)を圧縮符号化していることになる。従って、エンコーダ18が遅延映像データS16の第j番目のピクチャーの圧縮符号化を開始する際には、エンコーダ162は映像データS12の第j番目〜第(j+L−1)番目のピクチャー(図4(B)の範囲c)の圧縮符号化を完了しており、これらのピクチャーの圧縮符号化後の実難度データDj ,Dj+1 ,Dj+2 ,…,Dj+L-1 は、ホストコンピュータ20により既に算出されている。
【0038】
ホストコンピュータ20は、下に示す式1により、エンコーダ18が遅延映像データS16の第j番目のピクチャーを圧縮符号化して得られる圧縮映像データに割り当てる目標データ量Tj を算出し、算出した目標データ量Tj を量子化制御回路180に設定する。
【0039】
【数1】
【0040】
但し、式1において、Dj は映像データS12の第j番目のピクチャーの実難度データであり、R’j は、映像データS12,S16の第j番目〜第(j+L−1)番目のピクチャーに割り当てることができる目標データ量の平均であり、R’j の初期値(R’1 )は、圧縮映像データの各ピクチャーに平均して割り当て可能な目標データ量であり、下に示す式2で表され、エンコーダ18が圧縮映像データを1ピクチャー分生成する度に、式3に示すように更新される。
【0041】
【数2】
【0042】
【数3】
【0043】
なお、式3中の数値ビットレート(Bit rate)は、通信回線の伝送容量や、記録媒体の記録容量に基づいて決められる1秒当たりのデータ量(ビット量)を示し、ピクチャーレート(Picture rate)は、映像データに含まれる1秒当たりのピクチャーの数(30枚/秒(NTSC),25枚/秒(PAL))を示し、数値Fj+Lは、ピクチャータイプに応じて定められるピクチャー当たりの平均データ量を示し、本発明の所定の基準データ量に対応している。
エンコーダ18のDCT回路166は、入力される遅延映像データS16の第j番目のピクチャーをDCT処理し、量子化回路168に対して出力する。
量子化回路168は、DCT回路166から入力された第j番目のピクチャーの周波数領域のデータを、量子化制御回路180が目標データ量Tjに基づいて調節する量子化値Qjにより量子化し、量子化データとして可変長符号化回路170に対して出力する。
可変長符号化回路170は、量子化回路168から入力された第j番目のピクチャーの量子化データを可変長符号化して、ほぼ、目標データ量Tjに近いデータ量の圧縮映像データVOUTを生成して出力する。
【0044】
同様に、図4(B)に示すように、エンコーダ18が、遅延映像データS16の第(j+1)番目のピクチャー(図4(C)のピクチャーa’)を圧縮符号化している際には、エンコーダ162は、映像データS12の第(j+1)番目〜第(j+L)番目のピクチャー(図4(C)の範囲c’)の圧縮符号化を完了し、これらのピクチャーの実難度データDj+1 ,Dj+2 ,Dj+3 ,・・・,Dj+L は、ホストコンピュータ20により既に算出されている。
【0045】
ホストコンピュータ20は、式1により、エンコーダ18が遅延映像データS16の第(j+1)番目のピクチャーを圧縮符号化して得られる圧縮映像データに割り当てる目標データ量Tj+1 を算出し、エンコーダ18の量子化制御回路180に設定する。
【0046】
エンコーダ18は、ホストコンピュータ20から量子化制御回路180に設定された目量データ量Tj に基づいて第(j+1)番目のピクチャーを圧縮符号化し、目標データ量Tj+1 に近いデータ量の圧縮映像データVOUTを生成して出力する。
さらに以下、同様に、映像データ圧縮装置1は、遅延映像データS16の第k番目のピクチャーを、量子化値Qk (k=j+2,j+3,…)をピクチャーごとに変更して順次、圧縮符号化し、圧縮映像データVOUTとして出力する。
【0047】
以上説明したように、第1の実施形態に示した映像データ圧縮装置1によれば、短時間で非圧縮映像データVINの絵柄の難度を算出し、算出した難度に応じた圧縮率で適応的に非圧縮映像データVINを圧縮符号化することができる。つまり、第1の実施形態に示した映像データ圧縮装置1によれば、2パスエンコード方式と異なり、ほぼ実時間的に、非圧縮映像データVINの絵柄の難度に基づいて適応的に非圧縮映像データVINを圧縮符号化をすることができ、実況放送といった実時間性を要求される用途に応用可能である。
なお、第1の実施形態に示した他、本発明に係るデータ多重化装置1は、エンコーダ162が圧縮符号化した圧縮映像データのデータ量を、そのまま難度データとして用い、ホストコンピュータ20の処理の簡略化を図る等、種々の構成を採ることができる。
【0048】
第2実施形態
以下、本発明の第2の実施形態を説明する。
第1の実施形態に示した簡易2パスエンコード方式は、入力される非圧縮映像データに、ほぼ1GOP分(例えば、0.5秒)程度の遅延を与えるだけで圧縮符号化し、適切なデータ量の圧縮映像データを生成することができる優れた方式である。
【0049】
しかしながら、これらの方式は、エンコーダーを2つ必要とする。一般に、映像データを圧縮符号化するエンコーダーは大規模のハードウェアを必要とし、集積回路化しても非常に高価であり、しかも、サイズが大きい。従って、これらの方式がエンコーダーを2つ必要とすることは、これらの方式を実現する装置の低コスト化、小型化および省電力化を妨げる。また、圧縮符号化に要する時間遅延は、短ければ短いほど望ましいが、実難度データDj および予測難度データDj ’の算出処理および予備的な圧縮符号化処理そのものが数ピクチャー分の処理時間を要するので、これらの処理自体が、時間遅延の短縮化を妨げる原因となる。
【0050】
第2の実施形態は、かかる問題点を解決するためになされたものであって、1つのエンコーダを用いるのみで、簡易2パスエンコード方式および予測簡易2パスエンコード方式と同等に適切なデータ量の圧縮映像データを生成することができ、しかも、処理に要する時間遅延がより短い映像データ圧縮方式を提供することを目的とする。
【0051】
図5は、第2の実施形態における本発明に係る映像データ圧縮装置2の構成の概要を示す図である。
図6は、図5に示した映像データ圧縮装置2の圧縮符号化部24の詳細な構成を示す図である。
なお、図5および図6において、映像データ圧縮装置2の構成部分のうち、第1の実施形態において説明した映像データ圧縮装置1(図1〜図3)の構成部分と同一のものには同一の符号を付して示してある。
【0052】
図5に示すように、映像データ圧縮装置2は、映像データ圧縮装置1(図1〜図3)の圧縮符号化部10を、圧縮符号化部10からエンコーダ162を除いた圧縮符号化部24で置換し、エンコーダ制御部12をエンコーダ制御部22で置換し、バッファメモリ(buffer)182を付加した構成を採る。
図6に示すように、圧縮符号化部24は、映像並び替え回路220、走査変換・マクロブロック化回路222および統計量算出回路224から構成され、圧縮符号化部24の他の構成部分は、圧縮符号化部10と同一の構成を採る。
【0053】
エンコーダ制御部22は、エンコーダ制御部12と同様に、非圧縮映像データVINのピクチャーの有無をホストコンピュータ20に通知し、さらに、非圧縮映像データVINのピクチャーごとに圧縮符号化のための前処理を行う。
エンコーダ制御部22において、映像並び替え回路220は、入力された非圧縮映像データを符号化順に並べ替える。
【0054】
走査変換・マクロブロック化回路222は、ピクチャー・フィールド変換を行い、非圧縮映像データVINが映画の映像データである場合に3:2プルダウン処理等を行う。
統計量算出回路224は、映像並び替え回路220および走査変換・マクロブロック化回路222により処理され、Iピクチャーに圧縮符号化されるピクチャーからフラットネス(flatness)およびイントラAC(intra AC)等の統計量を算出する。
【0055】
映像データ圧縮装置2は、これらの構成部分により、非圧縮映像データの統計量(フラットネス,イントラAC)および動き予測の予測誤差量(ME残差)を非圧縮映像データVINの絵柄の難度の代わりに用いて、映像データ圧縮装置1(図1,図2)と同様に適応的に目標データ量Tj を算出して、高精度なフィードフォワード制御を行うことにより、非圧縮映像データVINを適切なデータ量の圧縮映像データに圧縮符号化する。
なお、映像データ圧縮装置2においては、動き検出器14およびエンコーダ制御部22の統計量算出回路224により、予め検出された指標データに基づいて目標データ量Tj が定めるられることから、以下、映像データ圧縮装置2における圧縮符号化方式を、フィード・フォワード・レート・コントロール(FFRC; feed foward rate control)方式と呼ぶことにする。
【0056】
なお、ME残差は、圧縮されるピクチャーと、参照ピクチャーの映像データとの差分値の絶対値和あるいは自乗値和として定義され、動き検出器14により、圧縮後にPピクチャーおよびBピクチャーとなるピクチャーから算出され、映像の動きの速さおよび絵柄の複雑さを表し、フラットネスと同様に、難度および圧縮後のデータ量と相関性を有する。
【0057】
Iピクチャーについては、他のピクチャーの参照なしに圧縮符号化されるため、ME残差を求めることができず、ME残差に代わるパラメータとして、フラットネスおよびイントラACを用いる。
また、フラットネスは、映像データ圧縮装置2を実現するために、映像の空間的な平坦さを表す指標として新たに定義されたパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさ(難度)および圧縮後のデータ量と相関性を有する。
また、イントラACは、映像データ圧縮装置2を実現するために、MPEG方式におけるDCT処理単位のDCTブロックごとの映像データとの分散値の総和として新たに定義したパラメータであって、フラットネスと同様に、映像の複雑さを指標し、映像の絵柄の難しさおよび圧縮後のデータ量と相関性を有する。
【0058】
以下、ME残差、フラットネスおよびイントラACについて説明する。
第1の実施形態において説明した簡易2パスエンコード方式および予測簡易2パスエンコード方式において、実難度データDj は映像の絵柄の難しさを示し、目標データ量Tj は実難度データDj に基づいて算出される。
【0059】
また、エンコーダ18が生成する圧縮映像データのデータ量を、目標データ量Tj が示す値に近づけるために、量子化回路168(図2,図6)において量子化値Qj の制御が行われる。従って、映像データを圧縮符号化せずに得られ、実難度データDj と同様に映像データの絵柄の複雑さ(難しさ)を適切に示すパラメータを、エンコーダ18の量子化回路168における量子化処理以前に得ることができれば、エンコーダ162(図1,図2)を省略し、処理遅延時間の短縮するという目的を達成することができる。ME残差、フラットネスおよびイントラACは、実難度データDj と強い相関を有するので、このような目的を達成するために適切である。
【0060】
ME残差と実難度データD j との関係
他のピクチャーを参照して圧縮符号化処理し、PピクチャーおよびBピクチャーを生成する際には、動き検出器14は、圧縮対象となるピクチャー(入力ピクチャー)の注目マクロブロックと、参照されるピクチャー(参照ピクチャー)との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックを探し、動きベクトルを求める。ME残差は、このように、動きベクトルを求める際に、最小になった各マクロブロックの差分値の絶対和または自乗和を、ピクチャー全体について総和した値として定義される。
【0061】
図7は、映像データ圧縮装置1,2により、Pピクチャーを生成する際のME残差と実難度データDj との相関関係を示す図である。
図8は、映像データ圧縮装置1,2により、Bピクチャーを生成する際のME残差と実難度データDj との相関関係を示す図である。
なお、図7および図8においては、実難度データDj として、エンコーダ18が固定の量子化値を用いて圧縮符号化して得られた圧縮映像データのデータ量を用いており(以下、図10,図11において同じ)、図7および図8は、CCIRにより規格化された標準画像[cheer (cheer leaders), mobile (mobile and calender), tennis (table tennis), diva(diva with noise)] およびその他の画像(resort)を実際にMPEG2方式により圧縮符号化した場合に得られるME残差と実難度データDj との関係を示すグラフであり、図7および図8において、グラフの縦軸(difficulty)が実難度データDj を示し、横軸(me resid)がME残差を示す。
図7および図8を参照して分かるように、ME残差は実難度データDj と非常に強い相関関係を有する。従って、圧縮後にPピクチャーまたはBピクチャーとなるピクチャーの実難度データDj の代わりに、ME残差は、目標データ量Tj の生成に用いられ得る。
【0062】
フラットネスと実難度データD j との関係
図9は、フラットネスの計算方法を示す図である。
フラットネスは、まず、図9に示すように、MPEG方式においてDCT処理の単位となるDCTブロックそれぞれを、2画素×2画素の小ブロックに分割し、次に、これらの小ブロック内の対角の画素のデータ(画素値)の差分値を算出し、差分値を所定の閾値と比較し、さらに、差分値が閾値よりも小さくなる小ブロック総数をピクチャーごとに求めることにより算出される。なお、フラットネスの値は、映像の絵柄が空間的に複雑であるほど小さくなり、平坦であれば大きくなる。
【0063】
図10は、映像データ圧縮装置1,2により、Iピクチャーを生成する際のフラットネスと実難度データDj との相関関係を示す図である。
なお、図10は、図7および図8と同様に、CCIRにより規格化された標準画像およびその他の画像を実際にMPEG2方式により圧縮符号化した場合に得られるフラットネスと実難度データDj との関係を示すグラフであり、図10において、グラフの縦軸(difficulty)が実難度データDj を示し、横軸(flatness)がフラットネスを示す。
図10に示すように、フラットネスと実難度データDj には、強い負の相関関係があり、実難度データDj は、フラットネスを一次関数に代入する等の方法により近似可能であることがわかる。
【0064】
イントラACと実難度データD j との関係
イントラACは、DCTブロックごとに、DCTブロック内の画素それぞれの画素値と、DCTブロック内の画素値の平均値との差分の絶対値の総和として算出される。つまり、イントラACは、下の式4により求めることができる。
【0065】
【数4】
【0066】
図11は、映像データ圧縮装置1,2により、Iピクチャーを生成する際のイントラACと実難度データDj との相関関係を示す図である。
なお、図11は、図7および図8と同様に、CCIRにより規格化された標準画像およびその他の画像を実際にMPEG2方式により圧縮符号化した場合に得られるイントラACと実難度データDj との関係を示すグラフであり、図11において、グラフの縦軸(difficulty)が実難度データDj を示し、横軸(intra AC)がイントラACを示す。
図11に示すように、イントラACと実難度データDj には、強い正の相関関係があり、実難度データDj は、イントラACを一次関数に代入する等の方法により近似可能であることがわかる。
【0067】
ここまでに説明したように、各指標データ(統計量)により実難度データDj を一次関数等により近似可能であることが分かる。従って、各ピクチャータイプの実難度データDj は、以下に示すように算出可能である。
【0068】
Pピクチャーについては下に示す式5により、Bピクチャーについては下に示す式6により、実難度データDj はME残差により近似される。また、Iピクチャーについては、式5,6と同様の近似式により実難度データDj は、フラットネスおよびイントラACまたはこれらのいずかにより近似される。
【0069】
【数5】
【0070】
【数6】
【0071】
さらに、第1の実施形態に示した簡易2パスエンコード方式においては、これらの近似により得られた実難度データDj を、式1に代入することにより目標データ量Tj が算出される。
【0072】
以下、実難度データDj をME残差、フラットネスおよびイントラACで近似し、簡易2パスエンコード方式により非圧縮映像データを圧縮符号化する場合を例に、映像データ圧縮装置2の動作を説明する。
エンコーダ制御部22において、映像並び替え回路220は、非圧縮映像データVINを符号化順にピクチャーを並べ替え、走査変換・マクロブロック化回路222は、ピクチャー・フィールド変換等を行い、統計量算出回路224は、Iピクチャーに圧縮符号化されるピクチャーに対して、図9および式4に示した演算処理を行い、フラットネスおよびイントラAC等の統計量を算出する。
【0073】
動き検出器14は、PピクチャーおよびBピクチャーに圧縮符号化されるピクチャーについて動きベクトルを生成し、さらに、ME残差を算出する。
FIFOメモリ160は、入力された映像データをLピクチャー分だけ遅延する。
【0074】
ホストコンピュータ20は、動き検出器14が生成したME残差に対して式5および式6に示した演算処理を行って実難度データDj を近似し、式5および式6と同様な演算処理を行って、フラットネスおよびイントラACにより実難度データDj を近似する。
さらに、ホストコンピュータ20は、近似した実難度データDj を式1に代入し、目標データ量Tj を算出し、算出した目標データ量Tj をエンコーダ18の量子化制御回路180に設定する。
【0075】
エンコーダ18のDCT回路166は、遅延した映像データの第j番目のピクチャーをDCT処理する。
量子化回路168は、DCT回路166から入力された第j番目のピクチャーの周波数領域のデータを、量子化制御回路180が目標データ量Tj に基づいて調節する量子化値Qj により量子化する。
可変長符号化回路170は、量子化回路168から入力された第j番目のピクチャーの量子化データを可変長符号化して、ほぼ、目標データ量Tj に近いデータ量の圧縮映像データVOUTを生成して、バッファメモリ182を介して外部に出力する。
【0076】
なお、TM5方式等においては、マクロブロックの量子化値(MQUANT)を算出するために、下の式7に示すアクティビティ(activity)という統計量が用いられる。アクティビティは、フラットネスおよびイントラACと同様に、実難度データDj と強い相関関係を有するので、これらパラメータの代わりにアクティビティを用いて、実難度データDj を近似し、圧縮符号化を行うように映像データ圧縮装置2を構成してもよい。
【0077】
【数7】
【0078】
また、以上、第1の実施形態に示した簡易2パスエンコードを行う場合を例に、映像データ圧縮装置2の動作を説明したが、映像データ圧縮装置2は、予測簡易2パスエンコードを行いうることはいうまでもない。
また、第2の実施形態に示した映像データ圧縮装置2に対しても、第1の実施形態示した映像データ圧縮装置1に対してと同様の変形が可能である。
【0079】
第3実施形態
本発明の第3の実施形態の説明に先立ち、図12を参照して、第3の実施形態における本発明に係る映像データ圧縮装置の背景および目的等を説明する。
図12は、MPEGのMP@ML方式によりTM5に示された圧縮アルゴリズムを用いて、映像データ圧縮装置1,2(図1〜図3,図5,図6)が、圧縮映像データのGOPのデータ量(発生ビット量)をほぼ一定に保って固定長符号化を行った場合のVBVバッファの占有量Bn の経時的な変化の評価結果を示す図である。なお、図12においては、縦軸はVBVバッファにバッファリングされている圧縮映像データのデータ量を示し、横軸は時間経過を示す。
【0080】
TM5に示された圧縮アルゴリズムは、圧縮映像データのGOP当たりのデータ量を、ほぼ一定にすることができる点で優れている。しかしながら、圧縮映像データのデータレートを固定値にするMPEGの固定レート符号化方式においては、必ずしもGOP単位にデータ量を一定にする必要はない。
【0081】
この固定レート符号化方式は、圧縮符号化後の映像データをバッファリングする仮想的なVBVバッファ(video buffering verifier buffer) が要求する制約条件を満たすこと、つまり、VBVバッファにバッファリングされている圧縮映像データのデータ量(占有量Bn )が規定値を上回ったり(オーバーフローを生じたり)、逆に、規定値以下になったり(アンダーフローを生じたり)しないことのみを圧縮映像データに要求する。
【0082】
MP@ML方式により、TM5に示される圧縮アルゴリズムを用いて圧縮符号化を行うと、バッファリング容量1.8MbitのVBVバッファにおける圧縮映像データの占有量Bn を評価すると、例えば、図12に示すように、占有量Bn は高い値で推移し、VBVバッファを必ずしも有効に利用できないことが分かる。
【0083】
VBVバッファを有効利用しえないのは、VBVバッファにおける占有量Bn が高い値で推移するのは、VBVバッファのバッファリング容量が約1.8Mbitと大きいにもかかわらず、VBVバッファの入出力の単位となる圧縮映像データのピクチャーのデータ量が少ないためである。
このように、低いデータレートの圧縮映像データを生成する際に、非圧縮映像データの映像の複雑さのいかんにかかわらず、所定の枚数のピクチャー(GOP)のデータ量をほぼ一定にすると、複雑な絵柄の部分の非圧縮映像データを圧縮符号化して得られる圧縮映像データを伸長復号して得られる映像の品質が極端に劣化し、逆に、簡単な絵柄の部分から得られる圧縮映像データの品質が比較的よくなる。従って、全体として見た場合には、圧縮映像データに多くのむらが生じ、しかも、絵柄が不安定になり、品質が悪くなる。
【0084】
第3の実施形態に示すフィードバックレート制御方式は、かかる問題点に鑑みてなされたものであり、VBVバッファが要求する制約条件の範囲内でVBVバッファのバッファリング容量を有効に利用し、非圧縮映像データの部分ごとに、絵柄に応じたデータ量を割り当てることにより、圧縮映像データの品質を全体として向上させることを目的とする。
【0085】
図13は、第3の実施形態における本発明に係るエンコーダ26の構成を示す図である。
なお、図13においては、エンコーダ26の構成部分の内、図1〜図3および図5,図6に示したエンコーダ18の構成部分と同一のものには同一の符号を付してある。
【0086】
エンコーダ26は、映像データ圧縮装置2(図5,図6)のエンコーダ18の代わりに用いられる装置であって、図13に示すように、エンコーダ26は、量子化制御回路180の代わりに、グローバルコンプレクシティ算出回路(GC算出回路)262、目標データ量算出(Tj 算出)回路264および量子化インデックス生成回路266を含む量子化制御部260を有し、ホストコンピュータ20によらずに、VBVバッファにおける圧縮映像データの占有量Bn 、および、実難度データDj またはグローバルコンプレクシティXI ,Xp ,XB に基づいて目標データ量Tj および量子化値Qj (量子化インデックスQIND)を算出可能に構成されている。
【0087】
エンコーダ26は、これらの構成部分により、1つのエンコーダのみにより圧縮映像データのデータ量により量子化回路168の量子化処理に対するフィードバック制御を行い、非圧縮映像データの部分ごとに絵柄に応じたデータ量を割り当てて圧縮映像データを生成し、圧縮映像データの品質を向上させる。
【0088】
エンコーダ26の各構成部分の動作
以下、エンコーダ26の各構成部分の内、映像データ圧縮装置1,2(図1〜図3,図5,図6)のエンコーダ18と異なる部分(量子化制御部260)の動作を説明する。
GC算出回路262の動作
GC算出回路262は、可変長符号化回路170から出力される圧縮映像データのデータ量SI ,Sp ,SB と、量子化回路168が量子化に用いた量子化値の平均値QI ,Qp ,QB とに基づいて、各ピクチャータイプのグローバルコンプレクシティXI ,Xp ,XB を算出し、目標データ量算出回路264、量子化インデックス生成回路266、および、必要に応じてホストコンピュータ20に対して出力する。
【0089】
なお、グローバルコンプレクシティXI ,Xp ,XB は、MPEGのTM5方式の第1段階(ステップ1)においてピクチャータイプごとに算出され、〔X(I,P,B);XI =SI QI ,Xp =Sp Qp ,XB =SB QB と定義され、グローバルコンプレクシティXI ,Xp ,XB は、それぞれIピクチャー、PピクチャーおよびBピクチャーの実難度データDI ,Dp ,DB とほぼ同値(XI ,Xp ,XB ≒DI ,Dp ,DB )になる。
【0090】
目標データ量算出回路264の動作
動作(処理)の概要
目標データ量算出回路264は、GC算出回路262から入力されたグローバルコンプレクシティXI ,Xp ,XB 各ピクチャータイプの実難度データDj を近似し、さらに、VBVバッファの占有量Bn に基づいて各ピクチャータイプのピクチャーそれぞれの目標データ量Tj を算出してレート制御を行う。なお、目標データ量算出回路264が算出した目標データ量Tj は、量子化インデックス生成回路266に対して出力される。
【0091】
目標データ量T j の算出方法
まず、目標データ量算出回路264における目標データ量Tj の基本的な算出方法を説明する。
上述のように、各ピクチャータイプの実難度データDj はそれぞれ、グローバルコンプレクシティXI ,Xp ,XB とほぼ同値である。従って、目標データ量算出回路264は、グローバルコンプレクシティXI ,Xp ,XB から各ピクチャータイプの目標データ量Tj を算出することができる。
なお、上記各関係式において、重み付け係数Kp ,KB は、ピクチャータイプごとに目標データ量Tj に異なった重み付けを行うために導入された係数であり、重み付け係数Kp ,KB の値をそれぞれ大きくすればするほど、Iピクチャーの目標データ量Tj と比較して、PピクチャおよびBピクチャーの目標データ量Tj が少なくなる。例えば、MPEG方式のTM5方式においては、重み付け係数Kp ,KB は固定値であり、それぞれ1.0,1.4(Kp =1.0,KB =1.4、デフォルト値)である。
【0092】
このように、MPEG方式のTM5方式においては、Pピクチャーには、IピクチャーのグローバルコンプレクシティXI に対するPピクチャーのグローバルコンプレクシティXp の比率の通りの目標データ量Tj が与えられ、Bピクチャーには、IピクチャーのグローバルコンプレクシティXI に対するBピクチャーのグローバルコンプレクシティXB の比率よりも意図的に小さい目標データ量Tj が与えられる。
【0093】
レート制御方法
次に、目標データ量算出回路264におけるレート制御方法を説明する。
MPEGのTM5方式のレート制御において、重要な役割を果たすパラメータとしてパラメータRがある。このパラメータRは、MPEG方式において、レート制御の制御単位(例えばGOP)の残りのピクチャーに割り当てることができるデータ量を示す。
【0094】
ここで、映像データ圧縮装置1,2(図1〜図3,図5,図6)においては、例えば、GOPの前半のピクチャーの映像が複雑である(実難度データDj およびグローバルコンプレクシティXI ,Xp ,XB 等の値が大きい)場合等に、GOPの前半のピクチャーに多くのデータ量を割り当てると、GOPの後半のピクチャーに対するパラメータRが極端に少ない値になったり、さらには、負数となったりして、GOPの後半のピクチャーに割り当てるべきデータ量が不足してしまうことがある。
【0095】
このように、映像データ圧縮装置1,2において、パラメータRの値が極端に小さくなったり負数になってしまうことがあるのは、ホストコンピュータ20(図1,図5)が、レート制御の制御単位であるGOPそれぞれのデータ量を一定に保つように、GOPの前半のピクチャーに対して多く割り当てすぎたデータ量を、GOPの後半のピクチャーに対してデータ量を少なく割り当てることにより補償するようにデータ量を割り当てるからである。ホストコンピュータ20において、パラメータRは、このように、GOPといった比較的短い期間におけるデータ量の補償処理に用いられる。
【0096】
一方、エンコーダ26の目標データ量算出回路264においては、このような短い制御単位でデータ量を一定にするためのパラメータRのみでレート制御を行うのではなく、VBVバッファの制約条件の範囲内で、長期間におけるデータ量が一定になるように、残りのデータ量を均等に割り当てるパラメータRj ’を制御する。
【0097】
つまり、目標データ量算出回路264はパラメータRj ’を制御し、非圧縮映像データのある期間に含まれるピクチャーに対して過剰に割り当てデータ量を、データ量を少なく割り当てると圧縮映像データの品質が劣化しそうな期間では補償せず、絵柄が簡単で、少ないデータ量を割り当てても圧縮映像データの品質の劣化が少ない期間で補償するように目標データ量Tj を調節する。
さらに、目標データ量算出回路264は、エンコーダ26が1枚のピクチャーを圧縮符号化するたびに、式3と同様の処理を行ってパラメータRj ’の値を更新する。
【0098】
VBVバッファに対する考慮
しかしながら、パラメータRj ’を圧縮映像データのデータ量が多く(データレートが高く)なるように調節する場合、圧縮映像データのデータ量の増加量を予測することが難しく、VBVバッファにアンダーフローが生じる可能性がある。従って、圧縮映像データのデータ量を多くするようにレート制御を行う場合には、未来のVBVバッファの占有量Bn を考慮して、目標データ量算出回路264は、VBVバッファの占有量Bn (圧縮映像データの残りデータ量)が多い場合にのみ、パラメータRj ’の調節を行う。
【0099】
なお、以上説明したVBVバッファの占有量Bn を考慮したレート制御を実現するために、目標データ量算出回路264は、以下に説明する処理をさらに行う。
つまり、目標データ量算出回路264は、映像データの映像が複雑な部分に多く割り当てるデータ量を、エンコーダ26が出力する圧縮映像データのデータレートではなく、VBVバッファがアンダーフローするまでのデータ量に基づいて求める。
【0100】
また、目標データ量算出回路264は、映像データの映像が複雑な部分に、所定のデータレートよりも多く割り当てるデータ量の合計値(借金額)をパラメータsum-supplement(初期値0)として記憶し、所定数のピクチャーの実難度データDj の値の合計が小さくなった際にパラメータsum-supplementの値を減ずるようにレート制御を行い、非圧縮映像データの圧縮符号化が終了した時点でのパラメータsum-supplementの値が0にごく近い負値になるようにレート制御を行う。ただし、目標データ量算出回路264は、VBVバッファの占有量Bn が少ない場合には、実難度データDj の値にかかわらず、映像データの各ピクチャーの目標データ量Tj の値が小さくなるようにレート制御を行い、アンダーフローの発生を防ぐ。
【0101】
目標データ量算出回路264の処理内容のまとめ
以下、さらに、図14および数式を参照して、目標データ量算出回路264による目標データ量Tj を詳細に説明する。
図14は、図13に示した目標データ量算出回路264の処理を示すフローチャート図である。
図14に示すように、ステップ500(S500)において、目標データ量算出回路264は、VBVバッファの占有量Bn をチェックし、VBVバッファに十分な量の圧縮映像データがバッファリングされており、アンダーフローが生じない余裕があるか否かを判断し、余裕がある場合にはS502の処理に進み、余裕がない場合にはS512の処理に進む。
【0102】
なお、VBVバッファの占有量Bn の判断には、下の式8に示す閾値VBV-R'j-Marginが用いられる。
【0103】
【数8】
【0104】
なお、式8において、last-I-genbit は、最新のIピクチャーのデータ量であり、VBV-Marginは、目標データ量Tj の計算の際のアンダーフロー対策のための定数であり、frame-bit は1ピクチャー当たりのデータ量である。式8に示したように、閾値VBV-R'j-Marginの算出に最近のIピクチャーのデータ量last-I-genbit を用いることにより、エンコーダ26が次に、データ量が多いIピクチャーの圧縮映像データを生成する場合にも、アンダーフローの発生を、ほぼ、完全に防止することができる。目標データ量算出回路264は、VBVバッファの占有量Bn と閾値VBV-R'j-Marginとを比較することにより、S500の処理においてVBVバッファに余裕があるか否かの判断を行う。
【0105】
また、目標データ量算出回路264は、S500の処理におけるVBVバッファの占有量Bn の判断を、エンコーダ26がピクチャを圧縮符号化するごとに行う必要は必ずしもなく、例えば、エンコーダ26がPピクチャーを生成した直後にのみ行ってもよい。
【0106】
これは、以下の理由による。つまり、エンコーダ26がIピクチャーを生成した直後はVBVバッファの占有量が低くなるが、次にIピクチャーを生成するまでに、通常、占有量が回復するので、エンコーダ26がIピクチャーを生成した直後には、目標データ量算出回路264はS500の処理における判断を行う必要がなく、逆に、エンコーダ26がデータ量が少ないBピクチャーを生成した直後に、目標データ量算出回路264がS500の処理における判断を行うと、VBVバッファがアンダーフローを生じるまでに十分な余裕があると誤って判断し、却ってVBVバッファにアンダーフローを生じさせてしまう可能性が生じるからである。
【0107】
ステップ502(S502)において、目標データ量算出回路264は、下の式9−1に示すN枚のピクチャーのグローバルコンプレクシティXI ,Xp ,XB の総和の値が閾値Th1より大きいか否かを判断する。総和sum-difficultyの値が閾値Th1より大きい場合にはS504の処理に進み、閾値Th1以下である場合にはS508の処理に進む。なお、閾値Th1は、パラメータRj ’の値を大きくして圧縮映像データのデータ量を増やすか、あるいは逆に、パラメータRj ’の値を小さくして圧縮映像データのデータ量を減らすかを定めるために重要である。
【0108】
ステップ504(S504)において、目標データ量算出回路264は、下の式9−2に示すように、パラメータRj ’が閾値(G+Th2)よりも多いか否かを判断する。パラメータRj ’の値が閾値(G+Th2)よりも大きい場合にはS506の処理に進み、閾値(G+Th2)よりも小さい場合にはS516の処理に進む(G= N x bit-rate / picture-rate)。
【0109】
【数9】
【0110】
ステップ506(S506)において、目標データ量算出回路264は、例えば、下の式10−1により、パラメータRj ’に加算(補給)するデータ量(補給データ量)supplementを算出する。なお、式10−1中のパラメータβ(0<β<1)は、式10−2に示すように定義され、VBVバッファがアンダーフローを生じるまでのデータ量を判断するためのパラメータであり、パラメータβの値が大きく、VBVバッファのアンダーフローに対する余裕が大きければ大きいほどほど、補給データ量supplementの値は大きくなる。
【0111】
【数10】
【0112】
また、式10−1中の閾値Th3は、補給データ量supplementの値を決定するための定数であり、MAX-supplementは、補給データ量supplementを制限するための制限値である。
【0113】
総和sum-difficultyの値が(Th1+Th3)よりも大きくなると、式10−1の右辺の分数項の値が1より大きくなってしまうので、下の式11に示すように、補給データ量supplementの値を補正する。
【0114】
【数11】
【0115】
ステップ508(S508)において、目標データ量算出回路264は、パラメータsum-supplementが正値であり、映像データの絵柄が複雑な部分に補給した補給データ量supplementが、完全には補償されていない(借金がある)状態にあるか否かを判断する。借金がある場合にはS510の処理に進み、借金がない場合にはS512の処理に進む。
【0116】
ステップ510(S510)において、目標データ量算出回路264は、映像データの絵柄が複雑な部分に補給した補給データ量supplementを補償するために、式10−1のパラメータβの値を1とし、下の式12に示す負値の補給データ量supplementを算出する。負値の補給データ量supplementをパラメータRj ’に加算する(S514)ことにより、圧縮映像データのデータ量が減少してパラメータsum-supplementを0に近づけること(借金の返済)ができる。
【0117】
【数12】
【0118】
ステップ512(S512)において、目標データ量算出回路264は、VBVバッファにアンダーフローが生じる可能性があると判断し、下の式13により負値の補給データ量supplementを算出する。負値の補給データ量supplementをパラメータRj ’に加算する(S514)ことにより、圧縮映像データのデータ量が減少し、VBVバッファのアンダーフローが防止される。
【0119】
【数13】
【0120】
ステップ514(S514)において、目標データ量算出回路264は、下の式14,式15によりパラメータRj ’,sum-supplementを更新する。
【0121】
【数14】
【0122】
【数15】
【0123】
ステップ516(S516)において、目標データ量算出回路264は、下式16に示すように目標データ量Tj を算出し、量子化インデックス生成回路266に対して出力する。
【0124】
【数16】
【0125】
ただし、式16において、NI ,Np ,NB はそれぞれ、1GOP中に現れるIピクチャー、PピクチャーおよびBピクチャーの数を示し、1GOPの構成がN=1,M=3である場合には、NI =1,Np =4,NB =10である。
【0126】
ステップ518(S518)において、量子化インデックス生成回路266は、目標データ量算出回路264が生成した目標データ量Tj に基づいて量子化インデックスQINDを生成し、量子化回路168に対して出力する。
【0127】
ステップ520(S520)において、エンコーダ26の量子化制御部260以外の構成部分は、量子化インデックス生成回路266が生成した量子化インデックスQINDに基づいて非圧縮映像データを圧縮符号化する。
ステップ522(S522)において、目標データ量算出回路264は、変数jをインクリメントする。
【0128】
量子化インデックス生成回路266の動作
以下、再び図13を参照して、量子化インデックス生成回路266の動作(処理)を説明する。
量子化インデックス生成回路266は、例えば、MPEG方式のTM5の第2段階および第3段階(ステップ2,ステップ3)と同様に、目標データ量算出回路264から入力された目標データ量Tj 、および、GC算出回路262から入力されたグローバルコンプレクシティXI ,Xp ,XB から量子化インデックスQINDを生成し、量子化回路168に対して出力する。
【0129】
なお、量子化インデックスは、量子化回路168において、量子化処理の単位となるマクロブロックごとに変化する量子化値Qj の組み合わせを示すインデックスとして用いられるデータであって、量子化値Qj と等価である。つまり、量子化インデックス生成回路266から量子化インデックスを受けた量子化回路168は、受けた量子化インデックスが示す量子化値Qj の組み合わせに変換し、DCT回路166から入力される映像データを量子化する。
【0130】
以下、エンコーダ26(図13)の動作を説明する。
動き検出器14は、第1の実施形態においてと同様に、動きベクトルの生成等の処理を行う。
エンコーダ制御部22は、第1の実施形態と同様に、ピクチャーの並び替え処理等を行う。
【0131】
エンコーダ26(図13)が、1ピクチャー分の圧縮符号化を終了するたびに、量子化制御部260のGC算出回路262は、量子化インデックス生成回路266の量子化インデックスから量子化値Qj の平均値を算出し、量子化値Qj の平均値および圧縮映像データのデータ量Sj からグローバルコンプレクシティXI ,Xp ,XB を算出する。
目標データ量算出回路264は、圧縮映像データの目標データ量算出回路264は、図14を参照して説明したように、最も新しく生成された各ピクチャータイプの目標データ量Tj を算出する。
【0132】
量子化インデックス生成回路266は、算出された目標データ量Tj およびグローバルコンプレクシティXI ,Xp ,XB に基づいて、量子化インデックスを算出し、エンコーダ26の量子化回路168に設定する。
DCT回路166は、第1の実施形態および第2の実施形態においてと同様に、次のピクチャーに対してDCT処理を行う。
【0133】
量子化回路168は、DCT処理された映像データを、設定された量子化インデックスを量子化値Qj に変換し、得られた量子化値Qj により量子化処理を行う。
可変長符号化回路170は、第1の実施形態および第2の実施形態においてと同様に、変長符号化を行い、ほぼ、目標データ量Tj に近いデータ量の圧縮映像データを生成し、バッファメモリ182を介して出力する。
【0134】
なお、第3の実施形態として示したエンコーダ26の処理の内容は、第1の実施形態および第2の実施形態に示した映像データ圧縮装置1,2(図1〜図3,図5,図6)にも応用可能である。
また、エンコーダ26の目標データ量算出回路264は、実難度データDj を用いて目標データ量Tj を算出するように構成しても、グローバルコンプレクシティXI ,Xp ,XB を用いて目標データ量Tj を算出してもよい。
【0135】
また、エンコーダ26において量子化制御部260が行った処理を、映像データ圧縮装置1,2(図1〜図3,図5,図6)においてホストコンピュータ20が行うことも可能である。
また、第3の実施形態に示した各パラメータを定義する式は例示であり、エンコーダ26の構成・用途に合わせて、各式を変更することができる。
また、第3の実施形態に示したエンコーダ26に対しては、第1の実施形態および第2の実施形態に示した変形が可能である。
【0136】
図15は、MPEGのMP@ML方式により、エンコーダ26(図13)が、圧縮映像データのGOPのデータ量をほぼ一定に保って固定長符号化を行った場合のVBVバッファの占有量Bn の経時的な変化の評価結果を示す図である。なお、図15においては、縦軸はVBVバッファにバッファリングされている圧縮映像データのデータ量を示し、横軸は時間経過を示す。
【0137】
以上説明したエンコーダ26により圧縮映像データのGOPのデータ量をほぼ一定に保って固定長符号化を行うと、VBVバッファの占有量Bn の占有量Bn は、図15に示すように大きな範囲で変化し、図12に示した映像データ圧縮装置1,2(図1〜図3,図5,図6)を圧縮映像データを生成した場合に比べて、VBVバッファが要求する制約条件の範囲内でVBVバッファを有効に利用していることが分かる。
また、エンコーダ26によれば、非圧縮映像データの部分ごとに、絵柄に応じたデータ量を割り当てることにより、圧縮映像データの品質を全体として向上させることができる。
【0138】
第4実施形態
以下、本発明の第4の実施形態として、フィードフォワードレート制御方式を説明する。フィードフォワードレート制御方式は、VBVバッファが要求する制約条件の範囲内でVBVバッファのバッファリング容量を有効に利用し、非圧縮映像データの部分ごとに、絵柄に応じたデータ量を割り当てることにより、圧縮映像データの品質を全体として向上させることを目的とする。
【0139】
図16は、第4の実施形態における本発明に係る映像データ圧縮装置4の構成を示す図である。
図17は、図16に示したエンコーダ28の構成を示す図である。
図18は、図17に示した量子化制御部280の構成を示す図である。
なお、図16〜図18においては、映像データ圧縮装置4の構成部分の内、図1〜図3,図5,図6,図13に示した映像データ圧縮装置1〜2およびエンコーダ26の構成部分と同一のものには同一の符号を付してある。
【0140】
図16に示すように、映像データ圧縮装置4は、映像データ圧縮装置2,3(図5,図6,図13)のエンコーダ18を、エンコーダ28で置換した構成を採る。
また、図17に示すように、エンコーダ28は、量子化制御回路180を量子化制御部280で置換した構成を採り、図18に示すように、量子化制御部280は、実難度データ(Dj )算出回路282、目標データ量(Tj )算出回路284、パラメータ(Rj ’)算出回路286および量子化インデックス生成回路288から構成される。
【0141】
量子化制御部280は、エンコーダ26(図13)においてと同様に、ホストコンピュータ20によらずに、指標データ〔統計量;第2の実施形態において説明したフラットネス(図9,図10)、イントラAC(図11)、アクティビティ(式7)およびME残差(図7,図8)〕、および、VBVバッファにおける圧縮映像データの占有量Bn に基づいて目標データ量Tj および量子化値Qj (量子化インデックスQIND)を算出可能に構成されている。
【0142】
映像データ圧縮装置4は、これらの構成部分により、1つのエンコーダのみにより圧縮映像データのデータ量により量子化回路168の量子化処理に対するフィードフォワード制御を行い、非圧縮映像データの部分ごとに絵柄に応じたデータ量を割り当てて圧縮映像データを生成し、圧縮映像データの品質を向上させる。
【0143】
映像データ圧縮装置4の各構成部分の動作
以下、映像データ圧縮装置4の各構成部分の内、映像データ圧縮装置1,2,3(図1〜図3,図5,図6,図13)と異なる部分(量子化制御部280)の動作を説明する。
実難度データ算出回路282算出回路
実難度データ算出回路282は、動き検出器14から入力される指標データ(ME残差による近似により、式5,式6に示したように、PピクチャーおよびBピクチャーの実難度データDj を算出し、また、エンコーダ制御部22の統計量算出回路224から入力される指標データ(フラットネス、イントラACおよびアクティビティ)による近似により、式5,式6と同様にIピクチャーの実難度データDj を算出し、パラメータ算出回路286およびパラメータ算出回路286に対して出力する。
【0144】
目標データ量算出回路284の動作
目標データ量算出回路284は、エンコーダ26(図13)の目標データ量算出回路264と同様に、第1の実施形態において式1に示した処理を行い、実難度データ算出回路282から入力された実難度データDj 、および、パラメータ算出回路286から入力されるパラメータRj ’に基づいて、各ピクチャータイプのピクチャーそれぞれの目標データ量Tj を算出してレート制御を行う。
【0145】
パラメータ算出回路286の動作
パラメータ算出回路286は、エンコーダ26の目標データ量算出回路264(図13)と同様に、式8〜式15および図14に示した処理を行ってパラメータRj ’を調節し、更新する。ただし、パラメータ算出回路286は、図14に示したS516の処理において、式16の代わりに式1により、目標データ量Tj を算出し、量子化インデックス生成回路288に対して出力する。
【0146】
量子化インデックス生成回路288の動作
量子化インデックス生成回路288は、エンコーダ26の量子化インデックス生成回路266(図13)と同様に、目標データ量算出回路284から入力された目標データ量Tj に基づいて量子化インデックスQINDを生成し、量子化回路168に対して出力する。
【0147】
以下、映像データ圧縮装置4の動作を説明する。
量子化制御部280の実難度データ算出回路282は、動き検出器14およびエンコーダ制御部22から入力される指標データ(ME残差、フラットネス、イントラACおよびアクティビティ)から、式5,式6に示したように、実難度データDj を算出する。
【0148】
パラメータ算出回路286は、式8〜式15に示したように、VBVバッファの占有量および映像データの絵柄の複雑さに応じてパラメータRj ’を調節し、レート制御を行う。
目標データ量算出回路284は、パラメータ算出回路286が調節したパラメータRj ’を、式1に代入し、目標データ量Tj を算出する。
【0149】
量子化インデックス生成回路288は、算出された目標データ量Tj から量子化インデックスQINDを算出する。
エンコーダ28の量子化制御部280以外の部分は、パラメータ算出回路286が算出した量子化インデックスQINDを用いて非圧縮映像データを圧縮符号化する。
【0150】
なお、第4の実施形態として示した映像データ圧縮装置4の処理の内容は、第1の実施形態〜第3の実施形態に示した映像データ圧縮装置1,2(図1〜図3,図5,図6)にも応用可能である。
また、映像データ圧縮装置4において量子化制御部280が行った処理を、映像データ圧縮装置1,2(図1〜図3,図5,図6)においてホストコンピュータ20が行うことも可能である。
また、第4の実施形態に示した映像データ圧縮装置4に対しても、第1の実施形態〜第3の実施形態に示した変形が可能である。
【0151】
第5実施形態
以下、本発明の第5の実施形態として、第3の実施形態に示したエンコーダ26の動作の変形例を説明する。
ここまで、第1の実施形態において簡易2パスエンコード方式、第2の実施形態においてFFRC方式を説明し、さらに、第3の実施形態および第4の実施形態において、VBVバッファの占有量に応じて圧縮映像データのデータ量を調節するフィードバックレート制御方式およびフィードフォワードレート制御方式を説明した。
【0152】
MPEG方式のTM5はパラメータRを、第1の実施形態〜第4の実施形態に示した各方式はパラメータRj ’(式1等)を用いて目標データ量Tj を算出する。これらの各方式により、非圧縮映像データの非常に映像の絵柄が難しい(符号化難度が高い)部分を、低いデータレートの圧縮映像データに圧縮符号化しようとする場合、いかに量子化値Qj (量子化インデックスQIND)の値を大きくして圧縮率を上げ、データ量を少なくしようとしても、実際に生成した圧縮映像データのデータ量が目標データ量Tj を上回り、パラメータR,Rj ’の値が急速に減少し、レート制御の単位(例えばGOP)の最後の方のピクチャーでは、パラメータR,Rj ’の値が0以下になってしまうことがある。
【0153】
例えば、MPEGのTM5においては、パラメータRの値が0以下になると、各ピクチャーには最低のデータ量(frame-bit/8 ;但し、frame-bit は圧縮映像データの所望の1ピクチャー当たりのデータ量)が割り当てられることになる。このように、最低のデータ量が割り当てられたピクチャーを、所望のデータレートの1/8という低いデータレートの圧縮映像データに圧縮符号化すると、かかる部分から得られる圧縮映像データの品質は顕著に低下してしまう。
【0154】
また、例えば、映像の絵柄が難しい非圧縮映像データの圧縮符号化処理を長い間、続けると、パラメータR,Rj ’の値が非常に小さくなり、非圧縮映像データの映像の絵柄が簡単になった後も、しばらくの間、パラメータR,Rj ’の値がある程度大きな正値に回復せず、パラメータR,Rj ’の値が回復するまでの間ずっと、最低データ量が各GOPに割り当てられてしまい、圧縮映像データの歪みが多くなってしまう。
一方、パラメータRj ’は、本来、FIFOメモリ160の遅延時間に対応するL枚のピクチャーに割り当てるデータ量の平均値であるため、その値は、(frame-bit ×L)から大きく外れることはない。
【0155】
本発明の第5の実施形態は、上述した問題点に鑑みてなされたものであり、非圧縮映像データの映像の絵柄が複雑で(実難度データDj の値が大きく)、目標データ量Tj に対して、実際に生成される圧縮映像データのデータ量Sj の値が多い場合であっても、圧縮映像データの品質を高く保つことができ、しかも、映像が複雑な絵柄から簡単な絵柄に変化した場合のパラメータRj ’の値が速やかに回復可能であることを目的とし、第3の実施形態に示したエンコーダ26の量子化制御部260の目標データ量算出回路264(図13)の処理内容を変更したものである。
【0156】
第5の実施形態において、エンコーダ26は、第3の実施形態においてと同様に、VBVバッファの占有量Bn およびグローバルコンプレクシティXI ,Xp ,XB に基づいて目標データ量Tj をフィードバック制御し、さらに、パラメータRj ’が所定の下限値以下になることを制限することにより、第3の実施形態におけるレート制御と同様な効果を得るとともに、圧縮映像データの品質の著しい低下を防ぐ。
【0157】
目標データ量算出回路264の動作
以下、エンコーダ26の各構成部分の内、映像データ圧縮装置1,2およびエンコーダ26(図1〜図3,図5,図6,図13)と処理内容が異なる目標データ量算出回路264の動作(処理内容)を説明する。
目標データ量算出回路264は、第3の実施形態においてと同様に、GC算出回路262から入力されたグローバルコンプレクシティXI ,Xp ,XB 各ピクチャータイプの実難度データDj を近似し、さらに、VBVバッファの占有量Bn に基づいて各ピクチャータイプのピクチャーそれぞれの目標データ量Tj を算出してレート制御を行う。
【0158】
レート制御方法
目標データ量算出回路264は、第3の実施形態においてと同様に、VBVバッファの占有量を考慮してパラメータRj ’を調節し、パラメータRj ’に、グローバルコンプレクシティXI ,Xp ,XB 等から算出される乗数を乗算して目標データ量Tj を調節する。
但し、第3の実施形態においてと異なり、第5の実施形態においては、目標データ量算出回路264は、パラメータRj ’に対して下限値Rmin を設定し、第3の実施形態においてと同様に算出したパラメータRj ’が、下限値Rmin 以下〔Rj ’<Rmin 〕になった場合に〔Rj ’=Rmin 〕とし、パラメータRj ’が下限値Rmin 以下にならないように制限する。下限値Rmin としては、例えば、〔Rmin =frame-bit ×L×3/4〕あるいは〔Rmin =frame-bit ×L×1/4〕といった値が用いられる。
【0159】
第1の実施形態において式3に示したように、第j番目のピクチャーのデータ量がSj であり、第j+L番目のピクチャーのデータ量がSj+L であり、ピクチャータイプに応じてパラメータRj ’に加算されるデータ量がFj+L である場合には、次のパラメータRj+1 ’の値は、(Rj ’−Sj +Fj+L )〔Rj+1 ’=Rj ’−Sj +Fj+L 〕となる。しかしながら、次のパラメータRj+1 ’(=Rj ’−Sj +Fj+L )もまた下限値Rmin 以下〔Rj+1 ’<Rmin 〕となる可能性がある。この場合には、次のパラメータRj+1 ’を、下式17に示すように下限値Rmin に制限する。
【0160】
【数17】
【0161】
また、目標データ量算出回路264は、第3の実施形態においてと同様に、映像データの映像が複雑な部分に多く割り当てるデータ量の合計値(借金額)をパラメータsum-supplementとして記憶する。従って、パラメータRj ’の値を上述のように下限値Rmin に制限しない場合には、式15に示したようにパラメータsum-supplementの更新を行い、パラメータRj ’の値を下限値Rmin に制限した場合には、下式18に示すように補給データ量supplementを累加算してパラメータsum-supplementの更新を行う。
【0162】
【数18】
【0163】
目標データ量算出回路264の処理内容のまとめ
以下、さらに、図19を参照して、第5の実施形態における目標データ量算出回路264によるレート制御処理を詳細に説明する。
図19は、第5の実施形態における目標データ量算出回路264の処理を示すフローチャート図である。
図19に示すように、目標データ量算出回路264は、第3の実施形態において図14に示した各処理と同様の処理を行う。
【0164】
ステップ600(S600)において、目標データ量算出回路264は、VBVバッファの占有量Bn に応じてS602またはS612の処理に進む。なお、目標データ量算出回路264は、S600の処理におけるVBVバッファの占有量Bn の判断を、エンコーダ26がPピクチャーを生成した直後にのみ行ってもよい。
【0165】
ステップ602(S602)において、目標データ量算出回路264は、式9−1によりN枚のピクチャーの実難度データDj の総和sum-difficultyの値が閾値Th1より大きいか否かを判断し、判断結果に応じてS604またはS608の処理に進む。
ステップ604(S604)において、目標データ量算出回路264は、式9−2によりパラメータRj ’が閾値(G+Th2)よりも多いか否かを判断し、判断結果に応じてS606またはS616の処理に進む。
【0166】
ステップ606(S606)において、目標データ量算出回路264は、例えば式10−1、式10−2および式11により補給データ量supplementを算出する。
ステップ608(S608)において、目標データ量算出回路264は、補給データ量supplementが補償されているか否かを判断し、判断結果に応じてS610またはS612の処理に進む。
ステップ610(S610)において、目標データ量算出回路264は、補給データ量supplementの補償のために、式12により負値の補給データ量supplementを算出する。
【0167】
ステップ612(S612)において、目標データ量算出回路264は、式13により負値の補給データ量supplementを算出し、VBVバッファのアンダーフローを防止する。
ステップ614(S614)において、目標データ量算出回路264は、式14,式15によりパラメータRj ’,sum-supplementを算出し、パラメータRj ’が下限値Rmin 以下になる場合には、パラメータRj ’を下限値Rmin に制限する。
【0168】
ステップ616(S616)において、目標データ量算出回路264は、式16に示したように目標データ量Tj を算出する。
ステップ618(S618)において、エンコーダ26は、量子化インデックスQINDを用いて圧縮符号化処理を行う。
ステップ620(S620)において、目標データ量算出回路264は、式3により、次のパラメータRj+1 ’を算出し、更新する。
【0169】
ステップ622(S622)において、目標データ量算出回路264は、次のパラメータRj+1 ’が下限値Rmin より大きいか否かを判断する。次のパラメータRj+1 ’が下限値Rmin より大きい場合にはS628の処理に進み、大きくない場合にはS624の処理に進む。
ステップ624(S624)において、目標データ量算出回路264は、次のパラメータRj+1 ’を下限値Rmin に制限する。
【0170】
ステップ626(S626)において、目標データ量算出回路264は、式18によりパラメータsum-supplementを更新する。
ステップ628(S628)において、目標データ量算出回路264は、変数jをインクリメントする。
【0171】
以下、第5の実施形態におけるエンコーダ26(図13)の動作を説明する。動き検出器14は、第1の実施形態および第3の実施形態においてと同様に、動きベクトルの生成等の処理を行う。
エンコーダ制御部22は、第1の実施形態等においてと同様に、ピクチャーの並び替え処理等を行う。
FIFOメモリ160は、第1の実施形態等においてと同様に、入力された映像データをLピクチャー分だけ遅延する。
【0172】
エンコーダ26(図13)が、1ピクチャー分の圧縮符号化を終了するたびに、量子化制御部260のGC算出回路262は、量子化インデックス生成回路266の量子化インデックスから量子化値Qj の平均値を算出し、量子化値Qj の平均値および圧縮映像データのデータ量Sj からグローバルコンプレクシティXI ,Xp ,XB を算出する。
目標データ量算出回路264は、圧縮映像データの目標データ量算出回路264は、最も新しく生成された各ピクチャータイプのグローバルコンプレクシティXI ,Xp ,XB に基づいて、図19を参照して説明したように、次のピクチャーの目標データ量Tj を算出する。
【0173】
量子化インデックス生成回路266は、算出された目標データ量Tj およびグローバルコンプレクシティXI ,Xp ,XB に基づいて、量子化インデックスを算出し、エンコーダ26の量子化回路168に設定する。
DCT回路166は、第1の実施形態等においてと同様に、次のピクチャーに対してDCT処理を行う。
【0174】
量子化回路168は、DCT処理された映像データを、設定された量子化インデックスを量子化値Qj に変換し、得られた量子化値Qj により量子化処理を行う。
可変長符号化回路170は、第1の実施形態等においてと同様に、変長符号化を行い、ほぼ、目標データ量Tj に近いデータ量の圧縮映像データを生成し、バッファメモリ182を介して出力する。
【0175】
変形例
以下、第5の実施形態の変形例を説明する。
第5の実施形態において示した改良フィードバックレート制御方式は、第1の実施形態、第2の実施形態および第4の実施形態に示した映像データ圧縮装置1,2,4(図1〜図3,図5,図6,図16〜図18)にも応用可能である。また、第5の実施形態においては、目標データ量算出回路264が、VBVバッファを考慮して目標データ量Tj を算出する場合について説明したが、VBVバッファを考慮せずに目標データ量Tj を生成するように目標データ量算出回路264の動作を変更してもよい。
【0176】
以下、図20を参照して、映像データ圧縮装置1(図1〜図3)の動作を変更し、第5の実施形態に示した改良フィードバックレート制御を応用する変形例を説明する。
図20は、映像データ圧縮装置1(図1〜図3)の動作を変更し、第5の実施形態に示した改良フィードバックレート制御を行う場合の処理を示すフローチャート図である。
図20に示すように、映像データ圧縮装置1のホストコンピュータ20は、VBVバッファを考慮したレート制御を行わないので、図19に示したS600〜S614に対応する処理を行わず、S616〜628に対応する処理のみを行う。
【0177】
ステップ700(S700)において、映像データ圧縮装置1のホストコンピュータ20は、式1により目標データ量Tj を算出する。
ステップ702(S702)において、エンコーダ18は、量子化インデックスQINDを用いて圧縮符号化処理を行う。
ステップ704(S704)において、ホストコンピュータ20は、式3により、次のパラメータRj+1 ’を算出し、更新する。
【0178】
ステップ706(S706)において、ホストコンピュータ20は、次のパラメータRj+1 ’が下限値Rmin より大きいか否かを判断し、判断結果に応じてS712またはS608の処理に進む。
ステップ708(S708)において、ホストコンピュータ20は、次のパラメータRj+1 ’を下限値Rmin に制限する。
【0179】
ステップ710(S710)において、ホストコンピュータ20は、式18によりパラメータsum-supplementを更新する。
ステップ712(S712)において、ホストコンピュータ20は、変数jをインクリメントする。
なお、映像データ圧縮装置4(図16〜図18)において、第4の実施形態に示したフィードフォーワードレート制御を改良し、第5の実施形態に示した改良フィードフォーワードレート制御と同等の効果を得るためには、映像データ圧縮装置4のパラメータ算出回路286の動作を変更し、図14に示した各処理を実行すればよい。但し、この場合、S616の処理において、式16の代わりに式1により目標データ量Tj を算出する必要がある。
【0180】
また、図20に示した処理において、パラメータRj ’を、MPEGのTM5におけるパラメータRに置換することにより、改良フィードバックレート制御方式を、MPEGのTM5自体に応用することも可能である。
しかしながら、MPEGのTM5におけるパラメータRは、GOPの最初の部分のピクチャーに対しては大きな値をとるが、GOPの終わりの部分に対しては殆ど0に近い値になる。このような性質を有するパラメータRに、負値の固定の下限値Rmin 〔例えば、Rmin =−2×frame-bit 〕を設定することも可能であるが、効果が薄い。
【0181】
そこで、改良フィードバックレート制御方式を、MPEGのTM5自体に応用する場合には、図21に示すように、下限値Rmin を定める関数を導入することにより、第5の実施例においてと同様の効果を得ることができる。
【0182】
つまり、MPEGのTM5においては、GOPの最初の部分のピクチャーに対してパラメータRが大きくなるように、終わりの部分のピクチャーに対してパラメータRの値が0に近づくので、図21において点線で例示するように、GOPの最初で下限値Rmin の値が(N/2×frame-bit)となり、GOPの最後で下限値Rmin の値が(-N/2 ×frame-bit)となるような直線を引き、パラメータRがこの直線を下回る場合に、第5の実施形態に示した改良フィードバックレート制御方式と同様に、パラメータRを直線上の下限値Rmin に制限し、差分値を別パラメータとして記憶しておけばよい。
【0183】
また、第5の実施形態においてエンコーダ26の量子化制御部260が行った処理を、ホストコンピュータ20が行うことも可能である。
また、第5の実施形態に示した各パラメータを定義する式は例示であり、エンコーダ26の構成・用途に合わせて、各式を変更することができる。
【0184】
以上説明したように、第5の実施形態に示した改良フィードバックレート制御方式によれば、入力映像データの映像の絵柄が、圧縮後のデータレートに対して難しく、データ量が大きくなりすぎる場合においても、ピクチャタイプに応じたデータ量の配分を保ったレート制御が可能であり、圧縮映像データの品質を向上させることができる。
また、下限値を設けたため、難しい入力映像データの映像の絵柄が簡単になった場合にも、短い時間の内に圧縮映像データに多くのデータ量を配分するようにパラメータR,Rj ’を回復することができ、圧縮映像データの品質のムラの発生を防ぐことができる。
【0185】
第6実施形態
以下、本発明の第6の実施形態として、第4の実施形態に示した映像データ圧縮装置4(図16)の動作の変形例(改良フィードフォワードレート制御方式)を説明する。
改良フィードフォワードレート制御方式は、第4の実施形態に示したフィードフォワードレート制御方式を、目標データ量Tj に対して実際に生成される圧縮映像データのデータ量Sj の値が多い場合であっても、圧縮映像データの品質を高く保つことができ、しかも、映像が複雑な絵柄から簡単な絵柄に変化した場合のパラメータRj ’の値が速やかに回復するように改良したものである。
【0186】
第6の実施形態において、映像データ圧縮装置4は、VBVバッファの占有量Bn および指標データ(ME残差、フラットネス、イントラACおよびアクティビティ)に基づいて目標データ量Tj をフィードフォワード制御し、さらに、パラメータRj ’が所定の下限値以下になることを制限することにより、第4の実施形態におけるレート制御と同様な効果を得るとともに、圧縮映像データの品質の著しい低下を防ぐ。
【0187】
各構成部分の動作
以下、映像データ圧縮装置4の各構成部分の内、映像データ圧縮装置4においてと処理内容が異なる量子化制御部280(図17)の目標データ量算出回路284およびパラメータ算出回路286(図18)の動作(処理内容)を説明する。
目標データ量算出回路284の動作
目標データ量算出回路284は、実難度データ算出回路282が指標データから算出した実難度データDj (DI ,Dp ,DB )と、パラメータ算出回路286がVBVバッファの占有量Bn および実難度データDj から算出したパラメータRj ’とに基づいて各ピクチャータイプの目標データ量Tj を算出する。
【0188】
パラメータ算出回路286の動作
レート制御方法
パラメータ算出回路286は、第4の実施形態においてと同様に、VBVバッファの占有量を考慮してパラメータRj ’の値を調節することによりレート制御を行う。
但し、パラメータ算出回路286は、パラメータRj ’に対して下限値Rmin を設定し、パラメータRj ’が下限値Rmin 以下〔Rj ’<Rmin 〕になった場合に〔Rj ’=Rmin 〕とし、パラメータRj ’が下限値Rmin 以下にならないように制限する。下限値Rmin としては、例えば、〔Rmin =frame-bit ×L×3/4〕あるいは〔Rmin =frame-bit ×L×1/4〕といった値が用いられる。
【0189】
式3に示したように、第j番目のピクチャーのデータ量がSj であり、第j+L番目のピクチャーのデータ量がSj+L であり、ピクチャータイプに応じてパラメータRj ’に加算されるデータ量がFj+L である場合には、次のパラメータRj+1 ’の値は、〔Rj+1 ’=Rj ’−Sj +Fj+L 〕となる。しかしながら、次のパラメータRj+1 ’(=Rj ’−Sj +Fj+L )もまた下限値Rmin 以下〔Rj+1 ’<Rmin 〕となる可能性がある。この場合には、次のパラメータRj+1 ’を、式17に示したように下限値Rmin に制限する。
【0190】
また、パラメータ算出回路286は、借金額をパラメータsum-supplementとして記憶する。従って、パラメータRj ’の値を上述のように下限値Rmin に制限しない場合には、式15に示したようにパラメータsum-supplementの更新を行い、パラメータRj ’の値を下限値Rmin に制限した場合には、式18に示したように補給データ量supplementを累加算してパラメータsum-supplementの更新を行う。
【0191】
パラメータ算出回路286の処理内容のまとめ
以下、再び図19を参照して、第6の実施形態におけるパラメータ算出回路286によるレート制御処理および関連部分の処理の内容を詳細に説明する。
ステップ600(S600)において、パラメータ算出回路286は、VBVバッファの占有量Bn に応じてS602またはS612の処理に進む。なお、パラメータ算出回路286は、S600の処理におけるVBVバッファの占有量Bn の判断を、エンコーダ28がPピクチャーを生成した直後にのみ行ってもよい。
【0192】
ステップ602(S602)において、パラメータ算出回路286は、式9−1によりN枚のピクチャーの実難度データDj の総和sum-difficultyの値が閾値Th1より大きいか否かを判断し、判断結果に応じてS604またはS608の処理に進む。
ステップ604(S604)において、パラメータ算出回路286は、式9−2によりパラメータRj ’が閾値(G+Th2)よりも多いか否かを判断し、判断結果に応じてS606またはS616の処理に進む。
【0193】
ステップ606(S606)において、パラメータ算出回路286は、例えば式10−1、式10−2および式11により補給データ量supplementを算出する。
ステップ608(S608)において、パラメータ算出回路286は、補給データ量supplementが補償されているか否かを判断し、判断結果に応じてS610またはS612の処理に進む。
ステップ610(S610)において、パラメータ算出回路286は、補給データ量supplementの補償のために、式12により負値の補給データ量supplementを算出する。
【0194】
ステップ612(S612)において、パラメータ算出回路286は、式13により負値の補給データ量supplementを算出し、VBVバッファのアンダーフローを防止する。
ステップ614(S614)において、パラメータ算出回路286は、式14,式15によりパラメータRj ’,sum-supplementを算出し、パラメータRj ’が下限値Rmin 以下になる場合には、パラメータRj ’を下限値Rmin に制限する。
【0195】
ステップ616(S616)において、目標データ量算出回路284は、第5の実施形態に示したエンコーダ26の目標データ量算出回路264とは異なり、式16の代わりに式1を用いて目標データ量Tj を算出する。
ステップ618(S618)において、エンコーダ28は、量子化インデックスQINDを用いて圧縮符号化処理を行う。
ステップ620(S620)において、パラメータ算出回路286は、式3により次のパラメータRj+1 ’を算出し、更新する。
【0196】
ステップ622(S622)において、パラメータ算出回路286は、次のパラメータRj+1 ’が下限値Rmin より大きいか否かを判断する。次のパラメータRj+1 ’が下限値Rmin より大きい場合にはS628の処理に進み、大きくない場合にはS624の処理に進む。
ステップ624(S624)において、パラメータ算出回路286は、次のパラメータRj+1 ’を下限値Rmin に制限する。
【0197】
ステップ626(S626)において、パラメータ算出回路286は、式18によりパラメータsum-supplementを更新する。
ステップ628(S628)において、パラメータ算出回路286は、変数jをインクリメントする。
【0198】
以下、第6の実施形態における映像データ圧縮装置4(図16)の動作を説明する。
動き検出器14は、動きベクトルおよびME残差の生成等の処理を行う。
エンコーダ制御部22は、ピクチャーの並び替え処理および指標データ(フラットネス、イントラACおよびアクティビティ)の生成等の処理を行う。
FIFOメモリ160は、入力された映像データをLピクチャー分だけ遅延する。
【0199】
エンコーダ28(図16)が、1ピクチャー分の圧縮符号化を終了するたびに、量子化制御部280の実難度データ算出回路282は、実難度データDj を算出する。
パラメータ算出回路286は、図19に示したようにパラメータRj ’の算出を行い、目標データ量算出回路284は、最も新しく生成された各ピクチャータイプのピクチャーの実難度データDj (DI ,Dp ,DB )に基づいて、式1により目標データ量Tj を算出する。
【0200】
量子化インデックス生成回路288は、算出された目標データ量Tj に基づいて、量子化インデックスを算出し、エンコーダ28の量子化回路168に設定する。
DCT回路166は、第1の実施形態等においてと同様に、次のピクチャーに対してDCT処理を行う。
【0201】
量子化回路168は、DCT処理された映像データを、設定された量子化インデックスを量子化値Qj に変換し、得られた量子化値Qj により量子化処理を行う。
可変長符号化回路170は、第1の実施形態等においてと同様に、変長符号化を行い、ほぼ、目標データ量Tj に近いデータ量の圧縮映像データを生成し、バッファメモリ182を介して出力する。
【0202】
変形例
以下、再び図20を参照して、映像データ圧縮装置1(図1〜図3)の動作を変更し、第6の実施形態に示した改良フィードフォワードレート制御を応用する変形例を説明する。
映像データ圧縮装置1のホストコンピュータ20は、VBVバッファを考慮したレート制御を行わないので、図19に示したS600〜S614に対応する処理を行わず、S616〜628に対応する処理のみを行う。
【0203】
ステップ700(S700)において、映像データ圧縮装置1のホストコンピュータ20は、式1により目標データ量Tj を算出する。
ステップ702(S702)において、エンコーダ18は、量子化インデックスQINDを用いて圧縮符号化処理を行う。
ステップ704(S704)において、ホストコンピュータ20は、式3により、次のパラメータRj+1 ’を算出し、更新する。
【0204】
ステップ706(S706)において、ホストコンピュータ20は、次のパラメータRj+1 ’が下限値Rmin より大きいか否かを判断し、判断結果に応じてS712またはS608の処理に進む。
ステップ708(S708)において、ホストコンピュータ20は、次のパラメータRj+1 ’を下限値Rmin に制限する。
【0205】
ステップ710(S710)において、ホストコンピュータ20は、式18によりパラメータsum-supplementを更新する。
ステップ712(S712)において、ホストコンピュータ20は、変数jをインクリメントする。
【0206】
また、図20に示した処理において、パラメータRj ’を、MPEGのTM5におけるパラメータRに置換することにより、改良フィードフォワードレート制御方式を、MPEGのTM5自体に応用することも可能である。
しかしながら、MPEGのTM5におけるパラメータRは、GOPの最初の部分のピクチャーに対しては大きな値をとるが、GOPの終わりの部分に対しては殆ど0に近い値になる。このような性質を有するパラメータRに、負値の固定の下限値Rmin 〔例えば、Rmin =−2×frame-bit 〕を設定することも可能であるが、効果が薄い。
【0207】
そこで、改良フィードフォワードレート制御方式を、MPEGのTM5自体に応用する場合には、図21に示したように、下限値Rmin を定める関数を導入することにより、第6の実施例においてと同様の効果を得ることができる。
【0208】
つまり、MPEGのTM5においては、GOPの最初の部分のピクチャーに対してパラメータRが大きくなるように、終わりの部分のピクチャーに対してパラメータRの値が0に近づくので、図21に例示したように、GOPの最初で下限値Rmin の値が(N/2×frame-bit)となり、GOPの最後で下限値Rmin の値が(-N/2 ×frame-bit)となるような直線を引き、パラメータRがこの直線を下回る場合に、第6の実施形態に示した改良フィードフォワードレート制御方式と同様に、パラメータRを直線上の下限値Rmin に制限し、差分値を別パラメータとして記憶しておけばよい。
また、第6の実施形態に示した各パラメータを定義する式は例示であり、映像データ圧縮装置4の構成・用途に合わせて、各式を変更することができる。
【0209】
以上説明したように、第6の実施形態に示した改良フィードフォワードレート制御方式によれば、入力映像データの映像の絵柄が、圧縮後のデータレートに対して難しく、データ量が大きくなりすぎる場合においても、ピクチャタイプに応じたデータ量の配分を保ったレート制御が可能であり、圧縮映像データの品質を向上させることができる。
また、下限値を設けたため、難しい入力映像データの映像の絵柄が簡単になった場合にも、短い時間の内に圧縮映像データに多くのデータ量を配分するようにパラメータR,Rj ’を回復することができ、圧縮映像データの品質のムラの発生を防ぐことができる。
【0210】
【発明の効果】
以上説明したように、本発明に係る映像データ圧縮装置およびその方法によれば、2パスエンコードによらずに、所定のデータ量以下に音声・映像データを圧縮符号化することができる。
また、本発明に係る映像データ圧縮装置およびその方法によれば、ほぼ実時間的に映像データを圧縮符号化することができ、しかも、伸長復号後に高品質な映像を得ることができる。
また、本発明に係る映像データ圧縮装置およびその方法によれば、2パスエンコードによらずに、圧縮符号化後のデータ量を見積もって圧縮率を調節し、圧縮符号化処理を行うことができる。
【図面の簡単な説明】
【図1】本発明に係る映像データ圧縮装置の構成を示す図である。
【図2】図1に示した簡易2パス処理部のエンコーダの構成を示す図である。
【図3】図1に示したエンコーダの構成を示す図である。
【図4】(A)〜(C)は、第1の実施形態における映像データ圧縮装置の簡易2パスエンコードの動作を示す図である。
【図5】第2の実施形態における本発明に係る映像データ圧縮装置の構成の概要を示す図である。
【図6】図5に示した映像データ圧縮装置2の圧縮符号化部の詳細な構成を示す図である。
【図7】映像データ圧縮装置(図1〜図3,図5,図6)により、Pピクチャーを生成する際のME残差と実難度データDj との相関関係を示す図である。
【図8】映像データ圧縮装置(図1〜図3,図5,図6)により、Bピクチャーを生成する際のME残差と実難度データDj との相関関係を示す図である。
【図9】フラットネスの計算方法を示す図である。
【図10】映像データ圧縮装置(図1〜図3,図5,図6)により、Iピクチャーを生成する際のフラットネスと実難度データDj との相関関係を示す図である。
【図11】映像データ圧縮装置(図1〜図3,図5,図6)により、Iピクチャーを生成する際のイントラACと実難度データDj との相関関係を示す図である。
【図12】MPEGのMP@ML方式により、映像データ圧縮装置(図1〜図3,図5,図6)が、圧縮映像データのGOPの発生ビット量をほぼ一定に保って固定長符号化を行った場合のVBVバッファの占有量Bn の経時的な変化の評価結果を示す図である。
【図13】図13に示したエンコーダの構成を示す図である。
【図14】図13に示した目標データ量算出回路の処理を示すフローチャート図である。
【図15】MPEGのMP@ML方式により、エンコーダ(図13)が、圧縮映像データのGOPのデータ量をほぼ一定に保って固定長符号化を行った場合のVBVバッファの占有量Bn の経時的な変化の評価結果を示す図である。
【図16】第4の実施形態における本発明に係る映像データ圧縮装置の構成を示す図である。
【図17】図16に示したエンコーダの構成を示す図である。
【図18】図17に示した量子化制御部の構成を示す図である。
【図19】第5の実施形態における目標データ量算出回路の処理を示すフローチャート図である。
【図20】映像データ圧縮装置(図1〜図3)の動作を変更し、第5の実施形態に示した改良フィードバックレート制御を行う場合の処理を示すフローチャート図である。
【図21】第5の実施形態に示した改良フィードバックレート制御方式を、MPEGのTM5自体に応用する場合に用いる下限値Rmin を定める関数を示す図である。
【符号の説明】
1,2,4…映像データ圧縮装置、10,24…圧縮符号化部、12,22…エンコーダ制御部、14…動き検出器、16…簡易2パス処理部、160…FIFOメモリ、162,18,26,28…エンコーダ、260,280…量子化制御部、262…GC算出回路、282…実難度データ算出回路、284,264…目標データ量算出回路、286…パラメータ算出回路、266,288…量子化インデックス生成回路、164…加算回路、166…DCT回路、168…量子化回路、170…可変長符号化回路、172…逆量子化回路、174…逆DCT回路、176…加算回路、178…動き補償回路、180…量子化制御回路、182…バッファメモリ、20…ホストコンピュータ。
Claims (14)
- VBVバッファの制約条件を満たすように非圧縮映像データを圧縮して圧縮映像データを生成する映像データ圧縮装置であって、
前記圧縮映像データから、映像の複雑さを示す難度データをピクチャーごとに算出する難度データ算出手段と、
前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む圧縮前の所定数のピクチャーに対して圧縮後のデータ量(割当データ量)を割り当てるデータ量割当手段と、
前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む前記所定数のピクチャーの割当データ量に比例して値が大きくなるように、当該1のピクチャーの圧縮後のデータ量の目標値を算出する目標値算出手段と、
前記圧縮映像データの各ピクチャーのデータ量が前記目標値算出手段において算出された目標値になるように、前記非圧縮映像データを圧縮する圧縮手段と
を有し、
前記データ量割当手段は、
前記VBVバッファにバッファリングされている前記圧縮映像データのデータ量(占有データ量)が所定のマージン値より多い場合、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と第1のしきい値との比較結果に基づいて、前記1のピクチャーの映像が複雑か否か判定し、複雑であると判定した場合は、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を初期値から第1の値だけ増やすとともに当該増加分の第1の値を累加算し、前記1のピクチャーの映像が複雑でないと判定した場合は、前記第1の値の累加算結果が正であるならば当該所定数のピクチャーの割当データ量を前記初期値から第2の値だけ減らすとともに前記第1の値の累加算結果から前記第2の値を減算し、
前記VBVバッファの占有データ量が前記マージン値より少ない場合、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を前記初期値から第3の値だけ減らすとともに前記第1の値の累加算結果から前記第3の値を減算し、
前記1のピクチャーが前記圧縮手段によって圧縮されると、その圧縮後のデータ量と所定の基準データ量との差を前記初期値に加算し、当該加算後の初期値を、次に圧縮するピクチャーを含む前記所定数のピクチャーの割当データ量の初期値として使用する、
映像データ圧縮装置。 - 前記データ量割当手段は、前記VBVバッファの占有データ量が前記マージン値より多くなるほど前記第1の値を大きくする、
請求項1に記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と前記第1のしきい値との差に基づいて、当該複数のピクチャーの映像が複雑になるほど前記第1の値を大きくする、
請求項1または2に記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記第1の値が所定の最大値より大きくならないように制限する、
請求項2又は3に記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と前記第1のしきい値との差に基づいて、当該複数のピクチャーの映像が簡単になるほど前記第2の値を大きくする、
請求項1乃至4の何れか1つに記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記VBVバッファの占有データ量と前記マージン値との差に基づいて、前記占有データ量が前記マージン値より少なくなるほど前記第3の値を大きくする、
請求項1乃至5の何れか1つに記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記割当データの初期値が所定の最小値以下にならないように制限する、
請求項1乃至6の何れか1つに記載の映像データ圧縮装置。 - 前記データ量割当手段は、前記占有データ量が前記マージン値より多く、かつ、前記1のピクチャーの映像が複雑であると判定したとき、前記初期値が所定の平均値より大きい場合には、その超過分が第2のしきい値よりも小さいならば、前記割当データ量を当該初期値から第1の値だけ増やすとともに当該増加分の第1の値を累加算する、
請求項1乃至7の何れか1つに記載の映像データ圧縮装置。 - 前記圧縮手段は、前記非圧縮映像データを、複数の種類のピクチャー(Iピクチャー、PピクチャーおよびBピクチャーまたはこれらの組み合わせ)を所定の順番で含むピクチャータイプシーケンスに圧縮し、
前記データ量割当手段は、前記VBVバッファの前記マージン値として、最新のIピクチャーのデータ量に、前記圧縮映像データの1ピクチャーあたりの所望のデータ量に応じた加算値、および、固定の加算値を加算した数値を用いる
請求項1乃至8の何れか1つに記載の映像データ圧縮装置。 - 前記圧縮手段は、前記非圧縮映像データを、複数の種類のピクチャー(Iピクチャー、PピクチャーおよびBピクチャーまたはこれらの組み合わせ)を所定の順番で含むピクチャータイプシーケンスに圧縮し、
前記データ量割当手段は、前記VBVバッファの占有データ量が前記マージン値より多いか否かの判断を、前記圧縮手段が、前記非圧縮映像データをPピクチャーに圧縮した直後に行う、
請求項1乃至9の何れか1つに記載の映像データ圧縮装置。 - 前記目標量算出手段は、前記1のピクチャーの難度データを当該1のピクチャーを含む前記所定数のピクチャーの難度データの総和で除算した値に、当該所定数のピクチャーの割当データ量を乗算することにより、当該1のピクチャーの目標値を算出する、
請求項1乃至9の何れか1つに記載の映像データ圧縮装置。 - 前記圧縮手段は、前記非圧縮映像データを、複数の種類のピクチャー(Iピクチャー、PピクチャーおよびBピクチャーまたはこれらの組み合わせ)を所定の順番で含むピクチャータイプシーケンスに圧縮し、
前記難度データ算出手段は、前記難度データとして、PピクチャーまたはBピクチャーに圧縮されるピクチャーについてはME残差を算出し、Iピクチャーに圧縮されるピクチャーについてはフラットネス、イントラACデータ、またはアクティビティを算出する、
請求項1乃至11の何れか1つに記載の映像データ圧縮装置。 - 前記圧縮手段は、前記非圧縮映像データを、複数の種類のピクチャー(Iピクチャー、PピクチャーおよびBピクチャーまたはこれらの組み合わせ)を所定の順番で含むピクチャータイプシーケンスに圧縮し、
前記難度データ算出手段は、前記難度データとしてグローバルコンプレクシティを算出する
請求項1乃至11の何れか1つに記載の映像データ圧縮装置。 - 動画像の非圧縮映像データを圧縮するとともに、その圧縮後の映像データ(圧縮映像データ)をバッファリングするVBVバッファに基づいて定まる条件を満たすように前記圧縮映像データのデータレートを制御する映像データ圧縮方法であって、
映像の複雑さを示す難度データを前記圧縮映像データのピクチャーごとに算出し、
前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む圧縮前の所定数のピクチャーに対して圧縮後のデータ量(割当データ量)を割り当て、
前記圧縮映像データの1のピクチャーを圧縮する場合、当該1のピクチャーを含む前記所定数のピクチャーの割当データ量に比例して値が大きくなるように、当該1のピクチャーの圧縮後のデータ量の目標値を算出し、
前記圧縮映像データの各ピクチャーのデータ量が前記算出された目標値になるように、前記非圧縮映像データを所定の圧縮方法で圧縮し、
前記データ量の割り当てにおいては、
前記VBVバッファにバッファリングされている前記圧縮映像データのデータ量(占有データ量)が所定のマージン値より多い場合、前記1のピクチャーに連なる複数のピクチャーについて算出された難度データの総和と第1のしきい値との比較結果に基づいて、前記1のピクチャーの映像が複雑か否か判定し、複雑であると判定した場合は、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を初期値から第1の値だけ増やすとともに当該増加分の第1の値を累加算し、前記1のピクチャーの映像が複雑でないと判定した場合は、前記第1の値の累加算結果が正であるならば当該所定数のピクチャーの割当データ量を前記初期値から第2の値だけ減らすとともに前記第1の値の累加算結果から前記第2の値を減算し、
前記VBVバッファの占有データ量が前記マージン値より少ない場合、前記1のピクチャーを含む前記所定数のピクチャーの割当データ量を前記初期値から第3の値だけ減らすとともに前記第1の値の累加算結果から前記第3の値を減算し、
前記1のピクチャーの圧縮を行った後、その圧縮後のデータ量と所定の基準データ量との差を前記初期データ量に加算し、当該加算後の初期値を、次に圧縮するピクチャーを含む前記所定数のピクチャーの割当データ量の初期値として使用する、
映像データ圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22964896A JP3918208B2 (ja) | 1996-08-30 | 1996-08-30 | 映像データ圧縮装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22964896A JP3918208B2 (ja) | 1996-08-30 | 1996-08-30 | 映像データ圧縮装置およびその方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006270958A Division JP2007053788A (ja) | 2006-10-02 | 2006-10-02 | 映像データ圧縮装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1075443A JPH1075443A (ja) | 1998-03-17 |
JP3918208B2 true JP3918208B2 (ja) | 2007-05-23 |
Family
ID=16895497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22964896A Expired - Fee Related JP3918208B2 (ja) | 1996-08-30 | 1996-08-30 | 映像データ圧縮装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3918208B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4203707B2 (ja) * | 2001-01-31 | 2009-01-07 | 日本電気株式会社 | 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。 |
JP2005311559A (ja) | 2004-04-20 | 2005-11-04 | Sony Corp | データ処理装置およびその方法と符号化装置 |
CN110213585B (zh) * | 2018-10-31 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机可读存储介质和计算机设备 |
-
1996
- 1996-08-30 JP JP22964896A patent/JP3918208B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1075443A (ja) | 1998-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100756596B1 (ko) | 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법 | |
US7881373B2 (en) | Video data compression apparatus and method of same | |
US5933532A (en) | Video data compression apparatus and method of same | |
JP2963416B2 (ja) | 量子化活動度を用いてビット発生量を制御する映像符号化方法及び装置 | |
JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP2006295449A (ja) | レート変換方法及びレート変換装置 | |
JPH10191343A (ja) | 映像データ圧縮装置およびその方法 | |
JP2001028753A (ja) | 動画像符号化装置及びその方法 | |
JP3918208B2 (ja) | 映像データ圧縮装置およびその方法 | |
JP2007053788A (ja) | 映像データ圧縮装置およびその方法 | |
JP3149673B2 (ja) | 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク | |
JP4186543B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3765129B2 (ja) | 符号化装置および符号化方法 | |
JP3800965B2 (ja) | データレート変換装置 | |
JPH1075444A (ja) | 映像データ圧縮装置およびその方法 | |
JP3765130B2 (ja) | 符号化装置および符号化方法 | |
JP4228739B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP2001186519A (ja) | 動画像の伝送レート変換装置 | |
JP4273386B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4273385B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3934772B2 (ja) | 可変転送レート符号化方法および装置 | |
JP3922581B2 (ja) | 可変転送レート符号化方法および装置 | |
JP4186544B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP2003264839A (ja) | 符号化動画像データのビットレート変換装置 | |
JP2006136010A (ja) | 映像データ圧縮装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061002 |
|
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: 20070123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070205 |
|
LAPS | Cancellation because of no payment of annual fees |