(57)【要約】【課題】  ハードウェア規模の増大を最小限におさえつつ、最適なエントロピー符号化を選択して一定の処理時間内で画像符号化を行う画像符号化装置を提供する。【解決手段】  符号量制御部７では一定処理単位の符号化後に発生する符号量の目標値となる割り当て符号量を生成し処理時間予測部９に入力する。処理時間予測部９では割り当て符号量からＣＡＢＡＣ符号化を行う際にかかる処理時間を予測する。比較部１０では処理時間予測部９で予測した処理時間と予め定められた設定値とを比較し、予測した処理時間が設定値を超えていればＣＡＶＬＣを選択する選択情報を、そうでなければＣＡＢＡＣを選択する選択情報を、エントロピー符号化部４に送る。【選択図】      図１
2007088678.tif 000002
【特許請求の範囲】
【請求項１】
所定の単位毎に２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する画像符号化装置において、
所定符号化単位における割り当て符号量を算出し、前記所定符号化単位における発生符号量を前記割り当て符号量となるように制御する符号量制御手段と、
前記割り当て符号量から前記所定符号化単位の符号化処理時間を予測する処理時間予測手段と、
前記予測された符号化処理時間と予め定められた設定処理時間とを比較して、その比較結果に応じて前記２種類のエントロピー符号化の内の一方を選択するための選択情報を生成する選択情報生成手段と、
前記選択情報に応じて、前記所定符号化単位毎に前記２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する符号化手段と、
を備えたことを特徴とする画像符号化装置。
【請求項２】
所定の単位毎に２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する画像符号化装置において、
所定符号化単位における割り当て符号量を算出し、前記所定符号化単位における発生符号量を前記割り当て符号量となるように制御する符号量制御手段と、
前記割り当て符号量と符号化対象入力画像の画素数とから、前記所定符号化単位の符号化処理時間を予測する処理時間予測手段と、
前記入力画像の画素数と前記入力画像のフレームレートとから、前記所定符号化単位の符号化処理時間の上限値を計算する処理時間上限値計算手段と、
前記予測された符号化処理時間と前記上限値とを比較して、その比較結果に応じて前記２種類のエントロピー符号化の内の一方を選択するための選択情報を生成する選択情報生成手段と、
前記選択情報に応じて、前記所定符号化単位毎に前記２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する符号化手段と、
を備えたことを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の単位毎に２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する画像符号化装置に関するものである。
【背景技術】
【０００２】
近年、画像情報のデジタル化に伴い、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ  １３８１８−２）に代表される画像符号化方式が標準化され普及している。ＭＰＥＧ２では直交変換と動き補償を行った後エントロピー符号化を行うことにより画像の冗長性を取り除き画像を圧縮符号化している。
【０００３】
図７はＭＰＥＧ２符号化装置の一例を示した図である。この図を用いてＭＰＥＧ２符号化処理を説明する。入力画像が入力端子３１より入力されフレームメモリ３２に蓄積される。動き予測部３３は参照画像メモリ３４に蓄積されている複数の参照画像から最適な参照画像と動きベクトルを求める。動き補償部３５は求められた動きベクトルにしたがって参照画像を生成する。
【０００４】
動き補償によって求められた参照画像と符号化する画像の差分を変換部３６で直行変換した後、量子化部３７で量子化を行う。量子化後のデータは逆量子化部３８で逆量子化され逆変換部３９により逆変換され、動き補償部３５で求まった参照画像に足し合わされ参照画像として参照画像メモリ３３に蓄積される。それと同時に量子化後のデータは動き予測部３５により求まった参照画像のインデックスと動きベクトルとともにエントロピー符号化部４０で符号化を行い符号化ビットストリームがストリームバッファ４１に送られる。
【０００５】
符号量制御部４２はストリームバッファを監視することにより量子化パラメータを制御し量子化部４７に制御信号を送る。符号化ビットストリームが出力端子４１より出力される。以上のように符号化処理が行われる。
【０００６】
さらに高圧縮率の要求から、Ｈ．２６４（ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４  ：  ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ）が標準化された。ＭＰＥＧ２に比べ多くの演算量が要求されるがより高い符号化効率が実現されており、ＭＰＥＧ２と同様に直交変換と動き補償を行った後２種類のエントロピー符号化から選択して符号化を行うことが可能となった。
【０００７】
２種類のエントロピー符号化のうち一方はＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）と呼ばれる可変長符号化であり、もう一方はＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）と呼ばれる算術符号化である。
【０００８】
図８はＣＡＶＬＣ符号化処理を示した図である。この図を用いてＣＡＶＬＣ符号化処理について説明する。変換量子化を行った後のデータが多値シンボルとして入力端子５１から入力される。入力シンボルのうちその後の符号化に必要なデータはコンテキスト情報としてコンテキストメモリ５２に保存される。
【０００９】
ＣＡＶＬＣ符号化部５３では符号化処理に必要なコンテキスト情報をコンテキストメモリ５２から読み出し、入力シンボルに対し可変長符号テーブルを適用して符号化を行い、符号化ビットストリームが出力端子５４から出力される。
【００１０】
図９はＣＡＢＡＣ符号化処理を示した図である。この図を用いてＣＡＢＡＣ符号化処理について説明する。変換量子化を行った後のデータが多値シンボルとして入力端子６１から入力される。二値化部６２は入力シンボルに対し予め決められた一定の規則に基づいて任意長の２値化データ列に変換する。入力シンボルと２値化データのうちその後の符号化に必要なデータはコンテキスト情報としてコンテキストメモリ６３に保存される。
【００１１】
ＣＡＢＡＣ符号化部６４では符号化処理に必要なコンテキスト情報をコンテキストメモリ６３から読み出し、入力シンボルに対し２値算術符号化を適用して符号化を行い、符号化ビットストリームが出力端子６５から出力される。
【００１２】
以上のようにＣＡＶＬＣ符号化とＣＡＢＡＣ符号化ではその処理が異なっており、ＣＡＶＬＣ符号化処理が多値シンボルに対して繰り返し行われるのに対し、ＣＡＢＡＣ符号化処理は２値化データ列の各ビットに対して繰り返し行われる。ＣＡＢＡＣ符号化における２値化データ列の長さは１つの多値シンボルに対し数ビットとなり、繰り返し行われる処理回数だけを比べても、ＣＡＢＡＣ符号化処理はＣＡＶＬＣ符号化処理に比べ数倍となる。
【００１３】
ＣＡＢＡＣ符号化はＣＡＶＬＣ符号化に比べより高い符号化効率を達成できるが、より多くの演算量が要求される。
【特許文献１】特開２００４−１３５２５１号公報
【非特許文献１】Ｄｒａｆｔ  ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｎｄ  Ｆｉｎａｌ  Ｄｒａｆｔ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ｏｆ  Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  （ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４  ｜  ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ）：２００３
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ＣＡＢＡＣのような算術符号化を用いて符号化を行う場合、一定の符号化単位における入力シンボル数は不定であり、そのシンボルに対する２値化データ量も不定である。このことから、ある符号化単位における符号化処理時間は不定であり、２値化データ量が膨大になった場合、処理時間も膨大になる可能性がある。
【００１５】
画像符号化装置において、一定の処理時間を保証する必要がある場合、処理時間が膨大になることにより補償が不可能となる。
【００１６】
この問題を解決するため特開２００４−１３５２５１号では、算術符号化に入力されるデータ量を監視することにより、フィードバック制御を行うか或いは複数の符号化処理を同時に行い選択することで処理時間を保証する方法が提案されている。しかし、この方法では処理後のデータ発生量を監視して処理後のデータを無効化するため、処理時間の増大或いはハードウェアで実装した場合の規模の増大を招く。
【００１７】
そこで本発明は、符号化にかかる処理時間を予測することで、ハードウェア規模の増大を最小限におさえつつ、一定の処理時間内で最適なエントロピー符号化を選択して画像符号化を行う画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
そこで、上記課題を解決するために本発明は、以下の画像符号化装置を提供するものである。
（１）  所定の単位毎に２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する画像符号化装置において、
所定符号化単位における割り当て符号量を算出し、前記所定符号化単位における発生符号量を前記割り当て符号量となるように制御する符号量制御手段と、
前記割り当て符号量から前記所定符号化単位の符号化処理時間を予測する処理時間予測手段と、
前記予測された符号化処理時間と予め定められた設定処理時間とを比較して、その比較結果に応じて前記２種類のエントロピー符号化の内の一方を選択するための選択情報を生成する選択情報生成手段と、
前記選択情報に応じて、前記所定符号化単位毎に前記２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する符号化手段と、
を備えたことを特徴とする画像符号化装置。
（２）  所定の単位毎に２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する画像符号化装置において、
所定符号化単位における割り当て符号量を算出し、前記所定符号化単位における発生符号量を前記割り当て符号量となるように制御する符号量制御手段と、
前記割り当て符号量と符号化対象入力画像の画素数とから、前記所定符号化単位の符号化処理時間を予測する処理時間予測手段と、
前記入力画像の画素数と前記入力画像のフレームレートとから、前記所定符号化単位の符号化処理時間の上限値を計算する処理時間上限値計算手段と、
前記予測された符号化処理時間と前記上限値とを比較して、その比較結果に応じて前記２種類のエントロピー符号化の内の一方を選択するための選択情報を生成する選択情報生成手段と、
前記選択情報に応じて、前記所定符号化単位毎に前記２種類のエントロピー符号化の内の一方を選択適用し画像信号を符号化する符号化手段と、
を備えたことを特徴とする画像符号化装置。
【発明の効果】
【００１９】
本発明の画像符号化装置によれば、一定の処理時間内で効率の良いエントロピー符号化を選択して画像符号化を行うことにより、符号化効率の高い符号化ビットストリームを生成できる、という効果を得ることができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら本発明の実施の形態について実施例に基づき説明する。
［実施例１］
図１は、本発明における画像符号化装置の第１実施例の構成を示すブロック図である。入力画像が入力端子１より入力されフレームメモリ２に蓄積される。変換処理部３ではフレームメモリ２に蓄積された画像データに対し所定符号化単位である一定処理単位で処理を行い、量子化後のデータをエントロピー符号化部４に送る。エントロピー符号化部４では符号化を行って符号化されたデータをストリームバッファ５に送り、出力端子６から符号化ビットストリームが出力される。
【００２１】
符号量制御部７はストリームバッファ５を監視することで変換処理部３の量子化パラメータを制御し発生符号量の制御を行うとともに、一定処理単位の割り当て符号量を選択情報決定部８に送る。選択情報決定部８は割り当て符号量を基にエントロピー符号化を選択する選択情報を生成しエントロピー符号化部４に送る。
【００２２】
次に選択情報決定部８の処理について説明する。符号量制御部７では一定処理単位の符号化後に発生する符号量の目標値となる割り当て符号量を生成し処理時間予測部９に入力する。処理時間予測部９では割り当て符号量からＣＡＢＡＣ符号化を行う際にかかる処理時間を予測する。比較部１０では処理時間予測部８で予測した処理時間と予め定められた設定値とを比較し、予測した処理時間が設定値を超えていればＣＡＶＬＣを選択する選択情報を、そうでなければＣＡＢＡＣを選択する選択情報を、エントロピー符号化部４に送る。
【００２３】
続いてエントロピー符号化部４の処理について説明する。選択情報決定部８から送られてきた選択情報が入力選択部１１と出力選択部１４に入力される。入力選択部１１では変換処理部３から送られてきた量子化後のデータを選択情報に応じてＣＡＶＬＣ符号化部１２あるいはＣＡＢＡＣ符号化部１３に送る。
【００２４】
ＣＡＶＬＣが選択された場合、ＣＡＶＬＣ符号化部１２はＣＡＶＬＣ符号化を行って符号化データを出力する。ＣＡＢＡＣが選択された場合、ＣＡＢＡＣ符号化部１３はＣＡＢＡＣ符号化を行って符号化データを出力する。出力選択部１４では選択情報に応じてＣＡＶＬＣ符号化部１２あるいはＣＡＢＡＣ符号化部１３からの符号化データを選択してストリームバッファ５に送る。
【００２５】
ここで処理時間予測部９において、割り当て符号量から処理時間を予測する方法について一定処理単位をピクチャとして説明する。図２はＣＡＢＡＣ符号化を行った際のピクチャ単位での符号化ビットストリームの発生符号量（Ｃｏｄｅ）と２値化データ量（Ｂｉｎ）の関係を示すグラフである。発生符号量と２値化データ量との間には相関があり、
Ｂｉｎ  ＝  α  ×  Ｃｏｄｅ
と近似することが可能である。図３はＣＡＢＡＣ符号化を行った際のピクチャ単位での２値化データ量（Ｂｉｎ）とその処理にかかる時間（Ｃｙｃｌｅ）の関係を示すグラフである。符号化処理においては２値化データ量に依存してほぼ比例関係にある部分と、ピクチャ単位で行う初期化にかかる部分があり、
Ｃｙｃｌｅ  ＝  β  ＋  γ  ×  Ｂｉｎ
と近似することが可能である。符号量制御部７ではストリームバッファ５の発生符号量を監視することにより、符号化するピクチャに割り当てる符号量を決定し、マクロブロック単位で実際に符号化によって発生した発生符号量を監視して量子化パラメータを制御する。これにより、ピクチャの発生符号量を割り当て符号量に近くなるように制御を行う。
【００２６】
図４はこのときの割り当て符号量（Ｂｕｄｇｅｔ）に対する発生符号量（Ｃｏｄｅ）の変化を示したグラフである。このように符号量制御部７によって発生符号量が制御されるためピクチャの発生符号量は割り当て符号量に近い値となり、
Ｃｏｄｅ  ＝  Ｂｕｄｇｅｔ
と近似することが可能である。以上から、
Ｃｙｃｌｅ  ＝  β  ＋  α  ×  γ  ×  Ｂｕｄｇｅｔ
という近似式が成り立つ。ここで入力画像が１秒あたり３０ピクチャで、符号化装置の基準クロックが３０ＭＨｚだとすると、１ピクチャの符号化にかけられる時間つまり比較部９に入力される設定値（ＭＡＸ）を、
ＭＡＸ  ＝  ３０００００００／３０  ＝  １００００００
と設定する。ピクチャ単位で行う初期化にかかる時間（β）がＭＡＸに比べて無視できる程度に十分小さい値であれば、
β  ＝  ０
と近似しても良い。ここで  Ｃｙｃｌｅ´  ＞  ＭＡＸ  となる十分大きなＢｕｄｇｅｔの値に対して  Ｃｙｃｌｅ´  ＞  Ｃｙｃｌｅ  となるような係数δを定め、
Ｃｙｃｌｅ´  ＝  δ  ×  Ｂｕｄｇｅｔ
とする。例えば、α＝１．３、β＝１０００、γ＝１．２の場合、δ＝１．６  とすることで上記条件を満たす。以上のようにして処理時間予測部９では割り当て符号量（Ｂｕｄｇｅｔ）から処理時間（Ｃｙｃｌｅ´）を予測することができる。
【００２７】
次に、比較部１０でＣｙｃｌｅ´とＭＡＸと比較することにより、Ｃｙｃｌｅ´  ＞  ＭＡＸ  の場合にはＣＡＶＬＣを選択する選択情報を送出し、そうでなければＣＡＢＡＣを選択する選択情報を送出する。なお、ＣＡＶＬＣが選択された場合、ＣＡＶＬＣ符号化部はＭＡＸに比べ十分短い時間で符号化を行えるものとする。
【００２８】
以上のようにして、符号化するピクチャがＣＡＢＡＣ符号化を行って処理時間が確保される場合にはＣＡＢＡＣ符号化を行い、処理時間が確保されない場合にはＣＡＶＬＣを選択することが可能となる。これにより、処理時間を保証しつつ最適な符号化を選択し効率よい符号化ビットストリームを生成することができる。
【００２９】
ピクチャを一定の符号化単位として説明したが、スライスやマクロブロック単位でも同様に適用することが可能である。また、処理時間予測部９において  Ｂｕｄｇｅｔ  から  Ｃｙｃｌｅ´を求めたが、設定値を予め  ＭＡＸ／δ  として設定することで、比較部１０において  Ｂｕｄｇｅｔ  と設定値とを直接比較することも可能である。
［実施例２］
図６は、本発明における第２の実施の形態である符号化装置の選択情報決定部の構成を示すブロック図である。端子２１から符号化するピクチャの割り当て符号量が入力される。端子２２から符号化するマクロブロック数が入力される。ここでマクロブロック数（ＮＭＢ）は符号化するピクチャの横方向の画素数（ＨＯＲ）と縦方向の画素数（ＶＥＲ）から、
ＮＭＢ  ＝  ＨＯＲ／１６  ×  ＶＥＲ／１６
として計算されるものとする。
【００３０】
処理時間予測部２３では割り当て符号量とマクロブロック数からマクロブロックの処理時間を予測する。上限値計算部２５では端子２４から入力されるフレームレートとマクロブロック数から１マクロブロックあたりの符号化にかけられる時間を計算し上限値とする。比較部２６では予測された処理時間と計算された上限値を比較し端子２７から選択情報を出力する。
【００３１】
ここで処理時間予測部２３において、割り当て符号量とマクロブロック数から処理時間を予測する方法について説明する。１マクロブロックの割り当て符号量（ＢｕｄｇｅｔＭＢ）は１ピクチャの割り当て符号量（Ｂｕｄｇｅｔ）から、
ＢｕｄｇｅｔＭＢ  ＝  Ｂｕｄｇｅｔ  ／  ＮＭＢ
と計算される。実施例１で説明した  δ  と同様な方法で  ε  を求め  １マクロブロックあたりの処理時間（ＣｙｃｌｅＭＢ）は、
ＣｙｃｌｅＭＢ  ＝  ε  ×  Ｂｕｄｇｅｔ  ／  ＮＭＢ
となる。
【００３２】
上記で求めた１マクロブロックあたりの処理時間はピクチャ内のマクロブロックの平均値であり、実際の１マクロブロックあたりの処理時間はこれより大きくなる場合があるが、ＣＡＢＡＣ符号化部の内部にバッファを持つことにより、１ピクチャでの処理時間が補償される。また、ＣＡＢＡＣ符号化部の内部に持つバッファを小さくとる場合には、それを考慮してバッファをオーバーフローさせないようεの値を大きくとっておくことにより１ピクチャでの処理時間が補償される。
【００３３】
次に上限値計算部２５において、マクロブロック数（ＮＭＢ）とフレームレートから1マクロブロックあたりの処理時間の上限値（ＭａｘＭＢ）を求める方法について説明する。まず、符号化装置の基準クロック（ＣＬＯＣＫ）とフレームレート（ＦｒａｍｅＲａｔｅ）から１ピクチャあたりの処理時間の上限値（ＭａｘＰｉｃ）が、
ＭａｘＰｉｃ  ＝  ＣＬＯＣＫ  ／  ＦｒａｍｅＲａｔｅ
として求まる。次に、１マクロブロックあたりの処理時間の上限値（ＭａｘＭＢ）は、
ＭａｘＭＢ  ＝  ＭａｘＰｉｃ  ／  ＮＭＢ
となり、
ＭａｘＭＢ  ＝  ＣＬＯＣＫ  ／  （ＦｒａｍｅＲａｔｅ  ×  ＭａｘＰｉｃ）
として計算することができる。
【００３４】
比較部２６ではＣｙｃｌｅＭＢとＭａｘＭＢとを比較することにより、ＣｙｃｌｅＭＢ  ＞  ＭａｘＭＢ  の場合にはＣＡＶＬＣを選択する選択情報を送出し、そうでなければＣＡＢＡＣを選択する選択情報を送出する。
【００３５】
この選択情報に基づいてエントロピー符号化を選択し符号化を行うことにより入力画像の画素数やフレームレートに合わせた最適な符号化を選択して符号化を行うことが可能となる。
【００３６】
なお、上記した画像符号化装置の機能をプログラムによりコンピュータに実現させるようにしいもよい。このプログラムは、記録媒体から読みとられてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【００３７】
【図１】本発明になる画像符号化装置の第１実施例の構成を示す図である。
【図２】ＣＡＢＡＣ符号化時の発生符号量と２値化データ量との関係を示す図である。
【図３】ＣＡＢＡＣ符号化時の２値化データ量と処理時間との関係を示す図である。
【図４】ピクチャ符号化時の割り当て符号量と発生符号量との関係を示す図である。
【図５】割り当て符号量と処理時間との関係を示す図である。
【図６】本発明になる画像符号化装置の第２実施例における選択情報決定部の構成を示す図である。
【図７】従来の符号化装置の構成を示す図である。
【図８】ＣＡＶＬＣ符号化器の構成を示す図である。
【図９】ＣＡＢＡＣ符号化器の構成を示す図である。
【符号の説明】
【００３８】
１  画像入力端子
２  フレームメモリ
３  変換処理部
４  エントロピー符号化部
５  ストリームバッファ
６  符号化ビットストリーム出力端子
７  符号量制御部
８  選択情報決定部
９  処理時間予測部
１０  比較部
１１  入力選択部
１２  ＣＡＶＬＣ符号化部
１３  ＣＡＢＡＣ符号化部
１４  出力選択部
２１  割り当て符号量入力端子
２２  マクロブロック数入力端子
２３  処理時間予測部
２４  フレームレート入力端子
２５  上限値計算部
２６  比較部
２７  選択情報出力端子
３１  画像入力端子
３２  フレームメモリ
３３  動き予測部
３４  参照画像メモリ
３５  動き補償部
３６  変換部
３７  量子化部
３８  逆量子化部
３９  逆変換部
４０  エントロピー符号化部
４１  ストリームバッファ
４２  符号量制御部
４３  符号化ビットストリーム出力端子
５１  多値シンボル入力部
５２  コンテキストメモリ
５３  ＣＡＶＬＣ符号化部
５４  符号化ビットストリーム出力端子
６１  多値シンボル入力端子
６２  二値化部
６３  コンテキストメモリ
６４  ＣＡＢＡＣ符号化部
６５  符号化ビットストリーム出力端子
【図１】
2007088678.tif 000003
【図２】
2007088678.tif 000004
【図３】
2007088678.tif 000005
【図４】
2007088678.tif 000006
【図５】
2007088678.tif 000007
【図６】
2007088678.tif 000008
【図７】
2007088678.tif 000009
【図８】
2007088678.tif 000010
【図９】
2007088678.tif 000011