JP3767007B2 - 符号化装置および符号化方法 - Google Patents
符号化装置および符号化方法 Download PDFInfo
- Publication number
- JP3767007B2 JP3767007B2 JP07285596A JP7285596A JP3767007B2 JP 3767007 B2 JP3767007 B2 JP 3767007B2 JP 07285596 A JP07285596 A JP 07285596A JP 7285596 A JP7285596 A JP 7285596A JP 3767007 B2 JP3767007 B2 JP 3767007B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- data
- picture
- bit amount
- target
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、例えばディジタル・ビデオ・ディスク(DVD)等のオーサリングシステムや、ディジタル放送(Digital Video Broadcasting:DVB)ディジタルデータの伝送システム等に適用して好適な目標符号量制御方法及びその装置に関する。
【0002】
【従来の技術】
映像や音声信号をディジタルデータに変換し、当該ディジタルデータに対して変換符号化処理を施すことにより、記録時におけるディジタルデータのデータ量を減らす技術は、MPEG(Moving Pictures Expert Group)により、標準化されている。映像データはマクロブロック毎にインター若しくはイントラ符号化のための処理が施された後に、符号化処理が施される。上記インター符号化のための処理とは、現在のフレームの画像データと過去のフレームの画像データとの差分を取り、その差分に対して符号化処理を施すことである。つまり、既に過去のフレームの画像データが送られているのならば、その差だけ送れば現在のフレームの当該画像データの復元は簡単に行うことができるのである。
【0003】
差分をとるために必要な処理が、動き検出と動き補償である。動き検出は、現在のフレームの注目マクロブロックとの画素値の差分絶対値和が最も小さいマクロブロックが、過去の参照フレームのどの位置にあるのかを検出する処理である。この検出は、現在のフレームの注目マクロブロックの位置から、X及びY方向に何画素分移動すれば現在のフレームの注目マクロブロックと参照フレームの画素値の差分絶対値和が最小となるのかを見ることにより実現される。通常、このX及びY方向への画素単位の移動量データを動きベクトルデータと称している。
【0004】
動き補償は、過去の参照フレーム上において、注目マクロブロックの位置から、上記動きベクトルデータの指し示す位置を求め、その位置のマクロブロックデータを抽出する処理を言う。そして、抽出された過去の参照マクロブロックと、現在の注目マクロブロックとの差分、即ち、動き予測誤差が求められる。尚、ここで用いられる過去の参照フレームとしては、局部復号器(Local Decoder)からの出力フレームが用いられる。
【0005】
動き予測誤差信号は、空間方向の相関性を取り除くために、例えば離散余弦変換(Discrete Cosine Transform:以下単にDCTと称する)に代表されるような、直交変換をあるブロック単位で施す。変換されたDCT係数は、ある量子化ステップで割算する、量子化と呼ばれる処理で微小な信号の切り捨てを行い、その商の整数値のみを、量子化インデックスと共に出力する。このようにして、量子化されたDCT係数、量子化インデックス、及び上記動きベクトルデータは、可変長符号化(Valiable Length Coding:VLC)されて出力される。
【0006】
一方、イントラ符号化処理においては、上述したような動き検出や動き補償処理が施されず、画素値がそのままブロック単位に直交変換され、同様に量子化、VLCが施されて出力される。
【0007】
以上説明したような処理により、画像データの時間方向、及び空間方向の冗長性を取り除くことによって、情報量の圧縮が実現されるのである。
【0008】
尚、MPEG等において、1枚のイントラ符号化されたフレーム、即ち、I(Intra)ピクチャと、複数の、インター符号化されたフレーム、即ち、P(Predictive)ピクチャやB(Bidirectionaly Predictive)ピクチャとの組み合わせでGOP(Group of Picture)を構成する。
【0009】
このような画像圧縮技術は、例えばDVD(Digital Video Disk)等では、画像及び音声データが1枚の光ディスクに記録できるように、或いは、通信回線や衛星回線を用いた画像音声の伝送においては、回線容量の中で動画像と音声データを伝送できるように用いられているのである。
【0010】
ところで、例えばDVDをROMディスクで構成する場合などのオーサリングにおいては、圧縮符号化された画像データが、ディスクの容量内に収まる必要があるのは勿論のこと、その符号量の範囲内で、最も高い画質が実現するような符号量配分が行われる、可変レート符号化という手法がしばしば用いられる。この方法は、画像データの時間及び空間方向の相関の強さが常に変動することにより、画像圧縮にとっての難しさが時間的に変動することを利用するものである。
【0011】
例えば、時間方向の相関性の変動について例をあげて説明する。動画像中の移動体の移動パターンは、単なる平行移動にとどまらず、例えば移動体の移動速度、移動方向、移動体の形状の変化等のように複雑な移動パターンが存在し、このような場合は、上述したような動き補償では、動き予測誤差データが増大する。また、或いは、ランダムノイズのような完全に時間方向に相関がないような動画像データにおいては、動き補償による圧縮効果が全く失われ、現フレームからのデータ量と大差ないほどの動き予測誤差データを発生する場合がある。このような画像圧縮にとっての難易度(以下、ディフィカルティと称する)の変動は、フレーム単位のみならず、GOP単位、マクロブロック単位等でも当然存在する。
【0012】
このように、ディフィカルティが変動するようなデータを、単位時間あたりに均一のビットレート(以下目標符号レート)で圧縮符号化しようとすると、ディフィカルティが高いような、即ち、時間空間方向の相関性が低く、圧縮効果が現れにくい映像データについては、上記DCT係数を大きめの量子化ステップで粗く量子化して発生符号レートが目標符号レートに近づける必要があり、結果として、量子化誤差が増大し、符号伸長したときの符号化歪が顕著に現れる。一方、ディフィカルティが低いような、即ち、相関性が高いデータについては、DCT係数は低周波数成分側に集中するから、目標符号量に近づけるためには、これを小さめの量子化ステップで細かく量子化することが可能になり、結果として、符号伸長後の歪が少なくなる。
【0013】
そこで、DVDオーサリング等においては、このような、画像の符号化歪が時間単位で変動し、結果として画質の劣化が瞬間的に顕著になるような弊害を回避するために、予め、固定の量子化ステップで全ての画像データを圧縮符号化し、その際に発生した符号量を、ディフィカルティデータと定義して、一旦記憶し(1パス目)、次に、そのディフィカルティデータに基いて2回目に圧縮符号化するときに、難しい画像データのところには多めに符号量を割り当てるといった、いわゆる2パスエンコードを用いた、可変長符号化が用いられていた。尚、ディフィカルティデータという言葉は、ある一定の画質を実現するのに必要なデータ量に比例する量であると定義する。
【0014】
さて、しかしながら、このような2パスエンコードは、全ての映像データを一旦エンコードし終わって始めて、実際のエンコードが始められるので、間断なく供給される画像や音声データに対して、このような制御を行うことは、殆ど不可能に近い。従って、上記制御は、通信時におけるエンコードや、無限に長いデータを間断なく、しかも実時間的にエンコードしなくてはならないような放送のような用途には適応することができなかった。
【0015】
そこで、FIFO(First In First Out)構造のメモリを通ったデータをエンコードする第1のエンコーダと、FIFO構造のメモリを通らない第2のエンコーダの2つ目のエンコーダを用いることが提案された。以下、この2パスエンコードを、予め全てのディフィカルティを求めておく上記2パスエンコードと区別するために、「簡易な2パスエンコード」と称する。この簡易な2パスエンコードは、最初のパスでディフィカルティを求め、次のパスで求めたディフィカルティを用いてエンコードを行う方法である。
【0016】
提案されている簡易2パスエンコードは、2種類ある。1つは、数GOP分のディフィカルティに基いて、各GOPの目標ビット量を決定する。GOP単位のレートコントロールである。もう1つは、更に、上記GOPの中で各ピクチャ単位の目標ビット量を制御するピクチャ単位のレートコントロールである。
【0017】
【発明が解決しようとする課題】
ところで、上記簡易2パスエンコードは、参照しているK個のGOPの中でディフィカルティの情報が完結してしまうので、K個のGOPの前後の絵柄の情報が全く生かされない。K個のGOPの前後の絵柄の情報が全く生かされないでエンコードが行われると、問題が生じる。これについて図5A〜図5Dを参照して説明する。
【0018】
図5は、各レートコントロール方式によるビット量割り当てについて説明するための説明図である。図5Aは、入力素材のディフィカルティの一例を示す説明図、図5Bは理想的なビット量が割り当てられた状態を示す説明図、図5Cは簡易2パスエンコードによるGOP単位のビット量の割り当てを示す説明図、図5Dは、簡易2パスエンコードによるピクチャ単位のビット量の割り当てを示す説明図である。図5においては、ディフィカルティデータを予め測定する長さ、即ち、FIFOメモリの容量が、2GOPである場合の例を示している。
【0019】
入力素材のディフィカルティが、図5Aに示す通りであることを前提とする。ここで、縦軸はディフィカルティ、横軸は時間(単位は1GOPである)である。この図5Aに示されているように、入力素材のディフィカルティは、最初の2GOP分の期間においては徐々に上昇して最高の値となり、次の2GOP分の期間の先頭で最も低くなり、以降、この期間内では同じ値となり、更に次の2GOP分の期間に入ってから最高の値となり、以降、徐々に低い値となっている。尚、図5においてはピクチャタイプによるディフィカルティの差は、簡単のために無視している。
【0020】
この図5Aに示すようなディフィカルティの分布を有する入力素材に対しては、図5Bに示すように、図5Aに示されるディフィカルティの分布に比例したビット量が与えられるべきである。つまり、難しい絵柄には多くのビット量を与え、簡単な絵柄にはビット量を少なく与えることが、画質劣化を招くことなくエンコードできるからである。参考までに、図5Bにおいては、平均レートを破線で示す。
【0021】
図5Cは、簡易な2パスエンコードによるGOP単位のビット量の割り当てを示している。この図5Cに示されているビット量の割り当ては、殆ど平坦であり、図5Aに示されるディフィカルティの分布に正確に比例していないことが分かる。これは、GOP単位でビット量の割り当てが行われるからである。つまり、ビット量は、1つのGOP内では一定となるからである。
【0022】
図5Dは、簡易な2パスエンコードによるピクチャ単位のビット量の割り当てを示している。この図5Dに示されているビット量の割り当ては、図5Aに示されるディフィカルティの分布に正確に比例していることが分かる。ピクチャ単位でビット量の割り当てが行われるからである。しかしながら、図5Bに示されているビット量よりも少ない。これは、割り当てることのできるビット量が2GOP単位で決まっているからである。割り当てることのできるビット量が2GOP単位で決まっていると、難しい絵柄の続く2GOP内では、割り当てるべきビット量が足りなくなり、簡単な絵柄の続く2GOP内では、割り当てるべきビット量が余剰になるからである。
【0023】
以上の説明から分かるように、簡易な2パスエンコードは、予め全てのディフィカルティを求めておく2パスエンコードと比較して、入力素材に対するビット量の割り当ての適切さの点についてはかなり劣る。
【0024】
本発明はこのような点を考慮してなされたもので、簡易な2パスエンコードを用いても、入力素材に対するビット量の割り当てを適切とでき、復元画像の画質を劣化させない目標符号量制御方法及びその装置を提案しようとするものである。
【0025】
【課題を解決するための手段】
本発明は、映像データを符号化処理する符号化装置において、上記画像データの第1の符号化対象ピクチャ以降のL枚のピクチャから構成される第1のピクチャ群をピクチャ単位で符号化処理することによって算出されたピクチャ単位のディフィカルティデータと、上記第1の符号化対象ピクチャと符号化順で連続する第2の符号化対象ピクチャのピクチャからL枚後のピクチャを符号化処理することによって算出されたピクチャ単位のディフィカルティデータとを利用して、上記記第2の符号化対象ピクチャのディフィカルティデータと上記第2の符号化対象ピクチャ以降のL枚のピクチャから構成される第2のピクチャ群のディフィカルティデータとを算出するディフィカルティデータ算出手段と、上記第2のピクチャ群を符号化処理する際に割り当てることのできるデータ量に対して、上記ディフィカルティデータ算出手段により算出された上記第2の符号化対象ピクチャのディフィカルティデータと上記第2のピクチャ群のディフィカルティデータとの比率を乗じることにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出するターゲットビット量データ算出手段と、上記第2の符号化対象ピクチャを符号化処理する符号化手段と、上記ターゲットビット量データ算出手段により算出された上記ターゲットビット量データとなるように符号化処理に伴う発生符号量を制御することにより、上記記符号化手段の符号化処理を制御する符号化制御手段とを備える符号化装置である。
また、本発明は、上記ターゲットビット量データ算出手段は、上記第2のピクチャ群に当てることのできる平均ビット量を示す平均ビット量データから、上記第1の符号化対象ピクチャのターゲットビット量データに従って上記第1の符号化対象ピクチャを符号化処理することによって得られる発生ビット量を減算し、上記第2の符号化対象ピクチャに割り当てることのできる平均ビット量を示す平均ビット量を、上記減算した結果に加算することにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出するものである。
また、本発明は、映像データを符号化処理する符号化方法において、上記画像データの第1の符号化対象ピクチャ以降のL枚のピクチャから構成される第1のピクチャ群をピクチャ単位で符号化処理することによって算出されたピクチャ単位のディフィカルティデータと、上記第1の符号化対象ピクチャと符号化順で連続する第2の符号化対象ピクチャのピクチャからL枚後のピクチャを符号化処理することによって算出されたピクチャ単位のディフィカルティデータとを利用して、上記記第2の符号化対象ピクチャのディフィカルティデータと上記第2の符号化対象ピクチャ以降のL枚のピクチャから構成される第2のピクチャ群のディフィカルティデータとを算出するディフィカルティデータ算出工程と、上記第2のピクチャ群を符号化処理する際に割り当てることのできるデータ量に対して、上記ディフィカルティデータ算出工程により算出された上記第2の符号化対象ピクチャのディフィカルティデータと上記第2のピクチャ群のディフィカルティデータとの比率を乗じることにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出するターゲットビット量データ算出工程と、上記第2の符号化対象ピクチャを符号化処理する符号化工程と、上記ターゲットビット量データ算出工程により算出された上記ターゲットビット量データとなるように符号化処理に伴う発生符号量を制御することにより、上記記符号化工程の符号化処理を制御する符号化制御工程とを含む符号化方法である。
上述せる本発明によれば、1枚分の画像の符号化の都度、以降のL枚の画像の難しさを示すディフィカルティの和に対する上記符号化する画像のディフィカルティの比率に、L枚の画像に割り当てられる平均ビット量を乗じて目標符号量を決定する。
【0026】
【発明の実施の形態】
以下に、図1〜図4を順次参照して本発明の実施の形態について詳細に説明する。
【0027】
先ず、図1を参照して、本発明目標符号量制御方法及びその装置の概念について説明する。図1は、本発明目標符号量制御方法及びその装置の概念を説明するための説明図である。既に説明したように、予めディフィカルティを検出しておくための第1エンコーダと、第1エンコーダで検出されたディフィカルティに基いて実際のエンコード処理を行う第2エンコーダとが用いられることを前提とする。図1Aは、上記第1エンコーダの入力を、図1Bは、第1エンコーダで検出されたディフィカルティデータを、図1Cは、ターゲットビット量(目標符号量)データを得るための数式を、図1Dは、図1Cに示される数式により得られるターゲットビット量データを、図1Eは、上記第2エンコーダの出力を、図1Fは、第2エンコーダによりエンコードされたときの発生ビット量データを夫々示している。
【0028】
第1エンコーダ入力は、図1Aに示す通りである。画像データV1、V2、・・・・は、順次第1エンコーダに入力される。ここで、各画像データV1、V2、・・・・は、夫々、上述したピクチャに相当する。第1エンコーダにおいては、所定の量子化ステップサイズにより、エンコード処理が行われる。ここでいうエンコードは、既に説明したように、インター若しくはイントラ符号化のための処理と、この処理の後に行われる、DCT、量子化、可変長符号化等の処理を意味する。
【0029】
第1エンコーダにより画像データV1、V2、・・・・に対して順次エンコード処理が施されると、図1Bに示すように、ディフィカルティデータD1、D2、・・・・が得られる。1GOPが15ピクチャで構成されている場合、図1Cに示されるように、ディフィカルティデータD1〜D15、ディフィカルティデータD2〜D16、・・・・のように、1ピクチャずつずらされ、且つ、15ピクチャ分ずつディフィカルティデータが用いられて演算が行われる。そして、その結果、図1Dに示されるように、ターゲットビット量データT1、T2、・・・・が得られる。例えばディフィカルティデータD1〜D15が用いられて演算された結果得られるターゲットビット量データは、図1Dに示される“T1”である。また、ディフィカルティデータD2〜D16が用いられて演算された結果得られるターゲットビット量データは、図1Dに示される“T2”である。
【0030】
この図1Dに示されるターゲットビット量データT1、T2、・・・・は、順次第2エンコーダに供給される。図1Aに示される画像データV1、V2、・・・・は、FIFOを介して、第2エンコーダに供給される。よって、第2エンコーダにおいては、図1Aに示される画像データV1、V2、・・・・が、図1Dに示されるターゲットビット量データに基いてエンコードされる。この結果は、図1Eに示す通りであり、発生ビット量データは、図1Fに示される通りである。
【0031】
発生ビット量データS1、S2、・・・・は、図1Cに示される演算で用いられる。例えば発生ビット量データS1は、ディフィカルティデータD2〜D16を用いてターゲットビット量データT2を得るための演算に用いられ、発生ビット量データS2は、ディフィカルティデータD3〜D17を用いてターゲットビット量データT3を得るための演算に用いられる。尚、図1Dに示されるターゲットビット量データT1を得るための演算(図1C参照)においては、発生ビット量データは用いられない。
【0032】
ここで、図1Cに示される演算について説明する。図1Cにおいて、R1、R2、・・・・は15ピクチャ分のシーケンスに割り当てることのできる平均のビット量を示す平均ビット量データである。但し、R1は先頭であるから、このR1だけは初期値となり、R2以降は、1つ前の平均ビット量データを用いる。平均ビット量データR1は、1秒分のビット量であるところのビットレートBrと、1秒分のピクチャ数であるところのピクチャレートPrの比にGOPのピクチャ枚数であるところの15を乗じることによって得られる。また、平均ビット量データR2から後の平均ビット量データは、1つ前の平均ビット量データR1、R2、・・・・から、1つ前に発生した発生ビット量データS1、S2、・・・・を減算し、この結果に、フレームあたりのビット量データF16、F17、・・・・を加算することによって得られる。このフレームあたりのビット量データF16、F17、・・・・は、新たにディフィカルティを求めているピクチャについて、平均ビット量をそのピクチャのピクチャタイプによって割り振ることにより得られる。
【0033】
以上のようにして、平均ビット量データR1、R2、・・・・が順次求められる。そして、これら平均ビット量データR1、R2、・・・・に対し、処理対象であるところのピクチャのディフィカルティと、15枚分のピクチャの各ディフィカルティの合計との比が乗じられる。例えば、初期値であるとことの平均ビット量データR1に対しては、ピクチャV1のディフィカルティD1と、ピクチャV1〜V15までのディフィカルティD1〜D15の合計との比が乗じられる。また、平均ビット量データR2に対しては、ピクチャV2のディフィカルティD2と、ピクチャV2〜V16までのディフィカルティD2〜D16の合計との比が乗じられる。
【0034】
第1エンコーダのエンコード結果から、上述のような演算を行ってターゲットビット量データT1、T2、・・・・を得、このターゲットビット量データT1、T2、・・・・に基いて第2エンコードでエンコードを行うようにしているので、結果的に、リアルタイム性の重視される素材に対応することができる。以下、より具体的な例を、実施の形態として説明する。
【0035】
〔第1の実施の形態〕
図1は、第1の実施の形態としてのエンコーダの構成を示す構成図である。
【0036】
この図1に示すエンコーダは、入力端子1を介して供給される映像データViの動き予測を行う動き予測回路2と、エンコーダコントローラ3と、動き予測回路2からエンコーダコントローラ3を介して供給される動き予測処理後の映像データをエンコードする第1エンコーダ4と、全体の制御を司るホストコンピュータ5と、上記映像データを遅延させるためのFIFO(First In First Out)メモリ6と、FIFOメモリ6から読み出された映像データをホストコンピュータ5からのターゲットビット量データTjに基いてエンコードし、エンコードした映像データを、出力端子8から出力する第2エンコーダ7とで構成される。
【0037】
ここで、上記動き予測回路2は、エンコーダコントローラ3からのピクチャタイプデータIBPに基いて、入力端子1を介して供給される映像データの内、B及びPピクチャに対し、上述した動き検出及び動き補償処理を施す。エンコーダコントローラ3は、ピクチャタイプデータIBPを、動き予測回路2、ホストコンピュータ5に供給する他、Iピクチャはそのまま出力し、Bピクチャ及びPピクチャの場合には、前の映像データとの差分をとりその差分信号を出力する。
【0038】
また、エンコーダコントローラ3からの映像データは、上記FIFOメモリ6により所定時間だけ遅延される。この所定時間は、第1エンコーダ4でディフィカルティデータDkが得られ、このディフィカルティデータDkを用いてホストコンピュータ5が演算を行ってターゲットビット量データTjを得、このターゲットビット量データTjを、第2エンコーダ7に供給するまでの時間に略等しい。
【0039】
また、上記ホストコンピュータ5は、第1エンコーダ4からのディフィカルティデータDkと、第2エンコーダ7からの発生ビット量データSjとに基いて、上述した演算を行い、ターゲットビット量データTjを求め、このターゲットビット量データTjを、第2エンコーダ7に供給する。
【0040】
この第1の実施の形態においては、Lピクチャ分(Lは任意の整数)のディフィカルティデータを用いてターゲットビット量データを求め、このターゲットビット量データに基いて1つのピクチャを符号化する。つまり、ビット量のフィード・フォワード制御が行われる。1ピクチャのターゲットビット量を示すターゲットビット量データは、Lピクチャ分として許容できるビット量に対し、これから符号化するピクチャのディフィカルティと、Lピクチャ分のディフィカルティの和との比率を乗じることで求められる。1ピクチャの符号化が終了すると、次のピクチャの符号化のために、Lピクチャで使用可能なビット量から、発生ビット量が減じられ、更に、そのピクチャタイプに応じた平均ビット量が加算される。尚、Lは例えば“15”等である。以下、上記ホストコンピュータ5が行う演算について詳細に説明する。
【0041】
映像シーケンス全体の中のj番目のピクチャのターゲットビット量データTjは、次の数1で表すことができる。
【0042】
【数1】
【0043】
ここで、Lは、ディフィカルティデータを予め測定するピクチャの数であり、通常はフレームメモリの容量と1フレームの映像データのデータ量で決まる。Djは、ピクチャjのディフィカルティである。Rjは、ピクチャjからLピクチャ分のシーケンスに割り当てることのできる平均ビット量を示す平均ビット量データである。この数1から、ディフィカルティの変化の仕方によっては、ピクチャに対して平均ビット量データRjが示すビット量よりも多くのビット量が割り当てられる場合と、少なく割り当てられる場合とがあることが分かる。平均ビット量データRjの初期値であるところの平均ビット量データR1は、平均のビット量のLフレーム分である。これを数2で表す。
【0044】
【数2】
【0045】
但し、Brは1秒あたりのビット量、Prは1秒あたりのピクチャ数である。初期値としての平均ビット量データR1以外の平均ビット量データRj+1(但し、jは1、2、3、・・・・)は、数3で表される。
【0046】
【数3】
【0047】
ここで、Sjは、ピクチャjが、図2に示した第2エンコーダ7でエンコードされたときに発生したビット量を示す発生ビット量データ、Fj+Lは、第1エンコーダ4で新たにディフィカルティが求められているピクチャj+Lについて、平均ビット量を、ピクチャj+Lのピクチャタイプに応じて割り振ったときの、フレームあたりのビット量である。
【0048】
次に、図3及び図4を参照して、図2に示したエンコーダのホストコンピュータの制御動作を中心に説明する。
【0049】
ステップS1では、ホストコンピュータ5が、フラグFLGに“0”をセットする。
【0050】
ステップS2では、ホストコンピュータ5が、エンコーダコントローラ3からのピクチャタイプデータIBPの受付及び記憶を開始する。
【0051】
ステップS3では、ホストコンピュータ5が、変数i及びjに夫々“1”をセットする。
【0052】
ステップS4では、ホストコンピュータ5が、エンコード処理が終了か否かを判断し、「YES」であれば終了し、「NO」であればステップS5に移行する。
【0053】
ステップS5では、ホストコンピュータ5が、第1エンコーダ4からディフィカルティデータDiが供給されたか否かを判断し、「YES」であればステップS6に移行し、「NO」であれば再びステップS4に移行する。
【0054】
ステップS6では、ホストコンピュータ5が、ディフィカルティデータDiを記憶する。
【0055】
ステップS7では、ホストコンピュータ5が、変数iに“1”を加算する。
【0056】
ステップS8では、ホストコンピュータ5が、変数iが“L”よりも大きいか否かを判断し、「YES」であれば図4に示すステップS16に移行し、「NO」であれば再びステップS4に移行する。
【0057】
ステップS9では、ホストコンピュータ5が、フラグFLGが“0”か否かを判断し、「YES」であればステップS10に移行し、「NO」であればステップS16に移行する。ステップS10〜ステップS12までは、最初のピクチャを第2エンコーダ7で符号化するときに通るステップであり、ステップS16〜S19までは、2番目以降のピクチャを第2エンコーダ7で符号化するときに通るステップである。これで分かるように、上記フラグFLGは、最初のピクチャと、2番目以降のピクチャとで処理経路を変えるためのものである。
【0058】
ステップS10では、ホストコンピュータ5が、1秒あたりのビット量とピクチャ数の比にLを乗じて得られる初期値としての平均ビット量データRjを読み出す。この平均ビット量データRjは、数3に示した式により求められる。
【0059】
ステップS11では、ホストコンピュータ5が、上記平均ビット量データR1に、符号化するフレームのディフィカルティDjの値と、映像データVj〜Vj+l−1の各ディフィカルティDj〜Dj+l−1の合算値との比を乗じ、ターゲットビット量データTjを得る。
【0060】
ステップS12では、ホストコンピュータ5が、フラグFLGに“1”をセットする。
【0061】
ステップS13では、ホストコンピュータ5が、ターゲットビット量データTjを、第2エンコーダ7に供給する。第2エンコーダ7は、上記ターゲットビット量データTjに基いて、FIFO6から供給される映像データVjをエンコードする。第2エンコーダ7は、エンコードによって発生した発生ビット量を示す発生ビット量データSjを、ホストコンピュータ5に供給する。
【0062】
ステップS14では、ホストコンピュータ5が、第2エンコーダ7から発生ビット量データSjが供給されたか否かを判断し、「YES」であればステップS15に移行する。
【0063】
ステップS15では、ホストコンピュータ5が、第2エンコーダ7から供給された発生ビット量データSjを記憶する。
【0064】
ステップS16では、ホストコンピュータ5が、次に第2エンコーダ7で符号化するフレームの映像データについて、フレームあたりのビット量データFj+Lを求める。
【0065】
ステップS17では、ホストコンピュータ5が、1つ前の平均ビット量データRjから、1フレーム前に第2エンコーダ7で符号化により発生した発生ビット量データSjを減じ、この減算結果に、フレームあたりのビット量データFj+Lを加算し、次の平均ビット量データRj+1を求める。
【0066】
ステップS18では、ホストコンピュータ5が、変数jに“1”を加算する。
【0067】
ステップS19では、ホストコンピュータ5が、平均ビット量データRjに対し、第2エンコーダ7で符号化するフレームのディフィカルティDjの値と、ディフィカルティの合算値Dkとの比を乗じてターゲットビット量データTjを得る。そしてステップS13に移行する。
【0068】
〔第1の実施の形態における効果〕
以上説明したように、本形態においては、図2に示したように、エンコーダは、動き予測回路2、エンコーダコントローラ3、第1エンコーダ4、ホストコンピュータ5、FIFOメモリ6及び第2エンコーダ7で構成される。そして、第1エンコーダ4が予めLピクチャ分のエンコードを行い、各ディフィカルティデータをホストコンピュータ5に与え、以降、1ピクチャずつディフィカルティデータをホストコンピュータ5に与える。ホストコンピュータ5は、既に説明したように、第1エンコーダ4からのピクチャjのディフィカルティデータDjと、Lピクチャ分のディフィカルティデータDkとの比にピクチャjからLピクチャ分のシーケンスに対して割り当てることのできる平均ビット量を示す平均ビット量データRjを乗算し、ターゲットビット量データTjを求め、当該ターゲットビット量データTjを、第2エンコーダ7に供給する。これにより、第2エンコーダ7は、上記ターゲットビット量データTjとなるようにエンコード処理を行う。
従って、フィードフォワードの利点を生かしながら、より適切なビット量の割り当てを行うことにより、復元画像の画質を良好とできるといった効果がある。図5Eに示されるように、図5Cや図5Dに示される従来のビット量の割り当て結果と比較して、格段に適切なビット量の割り当てを行うことができる。この図5Eから分かるように、本形態によるビット量の配分は、図5Aに示したディフィカルティの分布に比例し、しかも、最大限にビット量が配分されている。
【0069】
〔第2の実施の形態〕
上記フレームあたりのビット量データFj+Lを、ピクチャタイプによらず、一律にフレームあたりの平均ビット量データとすることが考えられる。即ち、数4で表されているように、1秒あたりのビット量を、1秒あたりのピクチャ数で除することにより、1ピクチャあたりの平均ビット量を得、これを上記Fj+Lとするのである。
【0070】
【数4】
【0071】
しかしながら、通常、発生ビット量は、Iピクチャが最も多く、これにP、Bが続く。従って、上記ビット量データFj+Lを、ピクチャタイプに応じて変えた方が得策である。つまり、より適切なビット配分を実現できる。もしもビット量データFj+Lを一定にしてしまうと、問題が発生する。例えば、ディフィカルティを新たに求めたピクチャj+LがIピクチャの場合で考える。この場合、ディフィカルティの値は非常に大きくなるので、数1の分母、即ち、Dkが大きくなる。しかしながら、平均ビット量データRj+1は大きくならないので、ピクチャj+1のターゲットビット量データTj+1の値が小さくなってしまう。これは、数1を参考にすれば一目瞭然であろう。
【0072】
そこで、この第2の実施の形態では、各ピクチャタイプに対し、或固定の比率でFj+Lを与えるようにする。即ち、I:P:Bピクチャの1ピクチャあたりのビット量の比率を、或固定の比率i:p:bであるものとし、各ピクチャについてビット量データFj+Lを、次の数5、数6、数7に示す式で示される演算により決定する。数5は、jがIピクチャのとき、数6は、jがPピクチャのとき、数7は、jがBピクチャのときのフレームあたりのビット量を夫々求めるための式である。
【0073】
【数5】
【0074】
【数6】
【0075】
【数7】
【0076】
ここで、Nは、GOPあたりのピクチャの枚数(Iピクチャの間隔)、MはPピクチャの間隔である。GOPあたりのPピクチャの枚数は、N/M−1、Bピクチャの枚数は、N(1−1/M)である。
【0077】
〔第2の実施の形態における効果〕
第1の実施の形態に加え、本形態においては、ピクチャタイプによらず、一律にフレームあたりの平均ビットレートをFjとし、更に、より適切なビット量の配分を実現するために、数5〜数7に示されるように、固定の比率で各ピクチャタイプに対してフレームあたりのビット量Fj+Lを決定するようにした。
よって、各ピクチャタイプ毎に決まったビット量が加算されるので、例えばIピクチャのディフィカルティデータの値が大きいことに起因して、ターゲットビット量データTjの値が小さくなり、よって、発生ビット量が少なくエンコードされ、復元画像が劣化するといった不都合を回避することができる。
【0078】
〔第3の実施の形態〕
ところで、各ピクチャタイプ毎のビット量の比率は、絵柄によってかなり変動する。よって、より理想的なビット量の配分を実現するためには、第1エンコーダ4において、これからディフィカルティを求めようとしているピクチャのピクチャタイプ別のビット量の比率を用いることが望ましい。即ち、上述したi:p:bの比率を、絵柄によってダイナミックに変更するのである。より具体的には、ディフィカルティを求めようとしているGOPのビット量の比率は確定していないのであるから、その1つ前のGOPのピクチャタイプ別のビット量の比率を用いる。前のGOPのIピクチャ、Pピクチャ、Bピクチャの発生ビット量を夫々SI-picture 、SP-Picture 、SB-Picture とすると、フレームあたりのビット量Fjは、jがIピクチャのとき、Pピクチャのとき、Bピクチャのときで夫々数8、数9、数10で示す式により求められる。
【0079】
【数8】
【0080】
【数9】
【0081】
【数10】
【0082】
〔第3の実施の形態における効果〕
第2の実施の形態に加え、本形態においては、数8〜数10に示されるように、i:p:bの比率を、絵柄に応じて変えるようにした。
よって、より適切にビット量の配分を行うことができる。
【0083】
〔第4の実施の形態〕
尚、上記形態においては、同一シーン内でのピクチャタイプ別の発生ビット量の相関性を利用した場合について説明した。しかしながら、シーンが変わった場合には、前後の絵柄の相関性はなくなる。そこで、シーンチェンジを検出し、その結果を積極的に利用する。この方法としては、2つの方法がある。
【0084】
1つの方法は、シーンチェンジを検出したときに、シーンチェンジ前後の数ピクチャのビット量は、局所的に大きくなっているので、その部分をピクチャタイプ別のビット量比率の計算に入れない方法である。
もう1つの方法は、シーンチェンジの後の絵柄とその前の絵柄とは相関性がないのであるから、シーンチェンジ以降のピクチャのみについてビット量の比率を計算に用いる方法である。
上記方法のどちらを採用しても、より理想的なビット量の配分に近づけることができることは明かであろう。
【0085】
〔変形例〕
尚、上記数3に示した式において、発生ビット量データSjを用いずに、略その値に近い、ターゲットビット量データTjを用いるようにしても良い。この場合、第2エンコーダからの発生ビット量データSjをホストコンピュータ5に戻さなくても良いので、ホストコンピュータ5だけでビット量の制御を行うことができるといったメリットがある。
【0086】
【発明の効果】
上述せる本発明によれば、1枚分の画像の符号化の都度、以降のL枚の画像の難しさを示すディフィカルティの和に対する上記符号化する画像のディフィカルティの比率に、L枚の画像に割り当てられる平均ビット量を乗じて目標符号量を決定するので、限られた範囲内においてディフィカルティを参照して符号化を行う場合と比較して、より、適切なビット量の割り当てを実現できるので、復元時における画像の画質を向上させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明目標符号量制御方法及びその装置の概念を説明するための説明図である。
【図2】一実施の形態を示すオーサリングシステムや伝送システムのエンコーダの構成図である。
【図3】図2に示したエンコーダの動作を説明するためのフローチャートである。
【図4】図2に示したエンコーダの動作を説明するためのフローチャートである。
【図5】本発明及び従来の2パスエンコードを説明するための説明図である。
〔図5A〕 入力素材のディフィカルティのモデルを示す説明図である。
〔図5B〕 図5Bに示したディフィカルティの分布を有する入力素材に対して最も適切にビット量が与えられた場合を示す説明図である。
〔図5C〕 GOP単位でビット量を与える簡易な2パスエンコードにより、図5Aに示したディフィカルティの分布を有する入力素材に対してエンコード処理を施したときのビット量の分布を示す説明図である。
〔図5D〕 ピクチャ単位でビット量を与える簡易な2パスエンコードにより、図5Aに示したディフィカルティの分布を有する入力素材に対してエンコード処理を施したときのビット量の分布を示す説明図である。
〔図5E〕 本発明目標符号量制御方法及びその装置により、図5Aに示したディフィカルティの分布を有する入力素材に対してエンコード処理を施したときのビット量の分布を示す説明図である。
【符号の説明】
2 エンコーダコントローラ、3 動き予測回路、4 第1エンコーダ、5 ホストコンピュータ、6 FIFO、7 第2エンコーダ
Claims (3)
- 映像データを符号化処理する符号化装置において、
上記画像データの第1の符号化対象ピクチャ以降のL枚のピクチャから構成される第1のピクチャ群をピクチャ単位で符号化処理することによって算出されたピクチャ単位のディフィカルティデータと、上記第1の符号化対象ピクチャと符号化順で連続する第2の符号化対象ピクチャのピクチャからL枚後のピクチャを符号化処理することによって算出されたピクチャ単位のディフィカルティデータとを利用して、上記記第2の符号化対象ピクチャのディフィカルティデータと上記第2の符号化対象ピクチャ以降のL枚のピクチャから構成される第2のピクチャ群のディフィカルティデータとを算出するディフィカルティデータ算出手段と、
上記第2のピクチャ群を符号化処理する際に割り当てることのできるデータ量に対して、上記ディフィカルティデータ算出手段により算出された上記第2の符号化対象ピクチャのディフィカルティデータと上記第2のピクチャ群のディフィカルティデータとの比率を乗じることにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出するターゲットビット量データ算出手段と、
上記第2の符号化対象ピクチャを符号化処理する符号化手段と、
上記ターゲットビット量データ算出手段により算出された上記ターゲットビット量データとなるように符号化処理に伴う発生符号量を制御することにより、上記記符号化手段の符号化処理を制御する符号化制御手段と
を備える符号化装置。 - 上記ターゲットビット量データ算出手段は、上記第2のピクチャ群に当てることのできる平均ビット量を示す平均ビット量データから、上記第1の符号化対象ピクチャのターゲットビット量データに従って上記第1の符号化対象ピクチャを符号化処理することによって得られる発生ビット量を減算し、上記第2の符号化対象ピクチャに割り当てることのできる平均ビット量を示す平均ビット量を、上記減算した結果に加算することにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出する
請求項1に記載の符号化装置。 - 映像データを符号化処理する符号化方法において、
上記画像データの第1の符号化対象ピクチャ以降のL枚のピクチャから構成される第1のピクチャ群をピクチャ単位で符号化処理することによって算出されたピクチャ単位のディフィカルティデータと、上記第1の符号化対象ピクチャと符号化順で連続する第2の符号化対象ピクチャのピクチャからL枚後のピクチャを符号化処理することによって算出されたピクチャ単位のディフィカルティデータとを利用して、上記記第2の符号化対象ピクチャのディフィカルティデータと上記第2の符号化対象ピクチャ以降のL枚のピクチャから構成される第2のピクチャ群のディフィカルティデータとを算出するディフィカルティデータ算出工程と、
上記第2のピクチャ群を符号化処理する際に割り当てることのできるデータ量に対して、上記ディフィカルティデータ算出工程により算出された上記第2の符号化対象ピクチャのディフィカルティデータと上記第2のピクチャ群のディフィカルティデータとの比率を乗じることにより、上記第2の符号化対象ピクチャを符号化処理する際に割り当てるターゲットビット量データを算出するターゲットビット量データ算出工程と、
上記第2の符号化対象ピクチャを符号化処理する符号化工程と、
上記ターゲットビット量データ算出工程により算出された上記ターゲットビット量データとなるように符号化処理に伴う発生符号量を制御することにより、上記記符号化工程の符号化処理を制御する符号化制御工程と
を含む符号化方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07285596A JP3767007B2 (ja) | 1996-03-27 | 1996-03-27 | 符号化装置および符号化方法 |
US08/820,007 US6100931A (en) | 1996-03-19 | 1997-03-18 | Method and apparatus for controlling a target amount of code and for compressing video data |
DE69740013T DE69740013D1 (de) | 1996-03-19 | 1997-03-19 | Kodierung und/oder Komprimierung von Videodaten |
EP97301871A EP0797359B1 (en) | 1996-03-19 | 1997-03-19 | Encoding and/or compressing video data |
US09/201,517 US6198769B1 (en) | 1996-03-19 | 1998-11-30 | Method and apparatus for controlling a target amount of code and for compressing video data |
US09/201,518 US6324214B2 (en) | 1996-03-19 | 1998-11-30 | Method and apparatus for controlling a target amount of code and for compressing video data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07285596A JP3767007B2 (ja) | 1996-03-27 | 1996-03-27 | 符号化装置および符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09261631A JPH09261631A (ja) | 1997-10-03 |
JP3767007B2 true JP3767007B2 (ja) | 2006-04-19 |
Family
ID=13501402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07285596A Expired - Fee Related JP3767007B2 (ja) | 1996-03-19 | 1996-03-27 | 符号化装置および符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3767007B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100469023C (zh) * | 2000-05-12 | 2009-03-11 | 汤姆森特许公司 | 数字电视装置和用于在数字总线中建立通信信道的方法 |
JP4794987B2 (ja) | 2005-11-09 | 2011-10-19 | キヤノン株式会社 | 映像信号処理装置 |
JPWO2008053557A1 (ja) * | 2006-11-02 | 2010-02-25 | パイオニア株式会社 | 動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラムおよび動画像再符号化プログラムを格納した記録媒体 |
-
1996
- 1996-03-27 JP JP07285596A patent/JP3767007B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09261631A (ja) | 1997-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5719632A (en) | Motion video compression system with buffer empty/fill look-ahead bit allocation | |
KR960007264B1 (ko) | 동영상 압축 시스템 | |
EP0677969B1 (en) | Moving picture coding method and an apparatus therefor | |
KR100343352B1 (ko) | 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 | |
JP3533282B2 (ja) | 複数のプロセッサを使用したビデオ圧縮 | |
KR100756596B1 (ko) | 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법 | |
JPH11262018A (ja) | 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体 | |
GB2337392A (en) | Encoder and encoding method | |
KR100227298B1 (ko) | 부호화 화상의 부호량 제어 방법 | |
EP1032212A2 (en) | Transcoder, transcoding system, and recording medium | |
KR20000023504A (ko) | 가변비트율 부호화장치 | |
JP3508916B2 (ja) | 動画像可変ビットレート符号化方法および装置 | |
JPH10191343A (ja) | 映像データ圧縮装置およびその方法 | |
JP3818819B2 (ja) | 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体 | |
JP3767007B2 (ja) | 符号化装置および符号化方法 | |
JP4073541B2 (ja) | 動画像再符号化装置 | |
JPH07131793A (ja) | 映像信号高能率符号化装置 | |
JPH114445A (ja) | 画像符号化装置および方法 | |
JPH11341520A (ja) | ステレオ動画像用符号化装置 | |
JP3779066B2 (ja) | 動画像符号化装置 | |
JPH0514876A (ja) | 動画像符号化方式 | |
JPH11205803A (ja) | 符号化装置及び符号化方法 | |
JPH0993537A (ja) | ディジタル映像信号記録再生装置及びディジタル映像信号符号化方法 | |
JP4404232B2 (ja) | 量子化方法、量子化装置、量子化ステツプ決定方法及び量子化ステツプ決定装置 | |
JP3765129B2 (ja) | 符号化装置および符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051205 |
|
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: 20060110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060123 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |