(57)【要約】【課題】Ｈ．２６４方式のＣＡＢＡＣを用いて、動画像データをリアルタイムに符号化できるようにする。【解決手段】算術符号化されたマクロブロックの数が０の場合は、二値データのデータ量に算術符号化の予測圧縮率を乗じた値をビットストリーム量として予測し、算術符号化されたマクロブロックの数が全マクロブロックの数より少ない場合は、算術符号量計測部１２３において計測されたデータ量に、全マクロブロックの数に対する算術符号化済みのマクロブロックの数の比率を乗じた値をビットストリーム量として予測するようにして、符号化処理が完了していない状態であっても、次のピクチャの目標符号量を算出できるようにする。【選択図】図１
2009272712.tif 000002
【特許請求の範囲】
【請求項１】
画像データをマクロブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化装置であって、
前記量子化された信号から二値データを生成する二値化手段と、
前記二値化手段によって生成された二値データを算術符号化してビットストリームを生成する算術符号化手段と、
前記二値化手段によって生成された二値データのデータ量を計測する二値データ量計測手段と、
前記算術符号化手段によって生成されたビットストリームのデータ量を計測するビットストリーム量計測手段と、
前記算術符号化の進捗状況に応じて、前記二値データ量計測手段によって計測された二値データのデータ量、および前記ビットストリーム量計測手段によって計測されたビットストリームのデータ量を選択的に用いて、画面中の全マクロブロックが算術符号化されたビットストリームのデータ量を予測するビットストリーム量予測手段と、
前記ビットストリーム量予測手段によって予測されたデータ量に基づいて、次のピクチャに対する目標符号量を決定する目標符号量決定手段とを備えたことを特徴とする画像符号化装置。
【請求項２】
前記ビットストリーム量予測手段は、前記算術符号化手段によって前記画面中の全マクロブロックに対して符号化が完了していない状態であっても、前記全マクロブロックが算術符号化されたビットストリームのデータ量を予測することを特徴する請求項１に記載の画像符号化装置。
【請求項３】
前記ビットストリーム量予測手段は、前記算術符号化手段により算術符号化が行われたマクロブロックの数に応じて、前記ビットストリームのデータ量を予測する方法を変更することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
前記ビットストリーム量予測手段は、前記算術符号化によって算術符号化されたマクロブロックの数が０の場合は、前記二値データ量計測手段によって計測されたデータ量に算術符号化の予測圧縮率を乗じた値を前記画面中の全マクロブロックが算術符号化されたビットストリームのデータ量として予測することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記ビットストリーム量予測手段は、前記算術符号化によって算術符号化されたマクロブロックの数が全マクロブロックの数と同じ場合は、前記ビットストリーム量計測手段によって計測されたデータ量を前記画面中の全マクロブロックが算術符号化されたビットストリームのデータ量とすることを特徴とする請求項３または４に記載の画像符号化装置。
【請求項６】
前記ビットストリーム量予測手段は、前記算術符号化によって算術符号化されたマクロブロックの数が全マクロブロックの数より少ない場合は、前記ビットストリーム量計測手段によって計測されたデータ量に、全マクロブロックの数に対する算術符号化済みのマクロブロックの数の比率を乗じた値を前記画面中の全マクロブロックが算術符号化されたビットストリームのデータ量として予測することを特徴とする請求項３〜５の何れか１項に記載の画像符号化装置。
【請求項７】
前記二値化手段によって生成された二値データを蓄積するバッファを備え、
前記算術符号化手段は、前記バッファに蓄積された二値データを算術符号化してビットストリームを生成することを特徴とする請求項１〜６の何れか１項に記載の画像符号化装置。
【請求項８】
画像データをマクロブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化方法であって、
前記量子化された信号から二値データを生成する二値化工程と、
前記二値化工程において生成した二値データを算術符号化してビットストリームを生成する算術符号化工程と、
前記二値化工程において生成した二値データのデータ量を計測する二値データ量計測工程と、
前記算術符号化工程において生成されたビットストリームのデータ量を計測するビットストリーム量計測工程と、
前記算術符号化の進捗状況に応じて、前記二値データ量計測工程において計測した二値データのデータ量、および前記ビットストリーム量計測工程において計測したビットストリームのデータ量を選択的に用いて、画面中の全マクロブロックが算術符号化されたビットストリームのデータ量を予測するビットストリーム量予測工程と、
前記ビットストリーム量予測工程において予測したデータ量に基づいて、次のピクチャに対する目標符号量を決定する目標符号量決定工程とを備えたことを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、及び画像符号化方法に関し、特に、Ｈ．２６４方式のＣＡＢＡＣによる符号化を行うために用いて好適な技術に関する。
【背景技術】
【０００２】
従来から、画像データを高能率に符号化する符号化方式として、ＭＰＥＧ方式が広く知られている。この符号化方式においては、画像データを直交変換し、その変換係数を量子化して可変長符号することにより画像データの符号圧縮が行われる。発生する符号量は入力される画像の絵柄に大きく依存しており、目標とする圧縮率を得るために符号量制御が必要となっている。
【０００３】
ＭＰＥＧ方式における符号量制御方法の代表的な方式としてＴＭ５（Ｔｅｓｔ  Ｍｏｄｅｌ  ５）が広く知られている。ＴＭ５による符号量制御においては、ピクチャ毎の目標符号量の決定と、マクロブロック毎の量子化パラメータの制御とが行われている。
【０００４】
このＴＭ５による符号量制御において、ピクチャ毎の目標符号量は、主に過去に発生したピクチャ毎の符号量と現ピクチャの複雑度を示すアクティビティーとにより決定される。また、マクロブロック毎の符号量制御においては、現ピクチャの符号化を行いながら、マクロブロック毎に符号量を算出する。そして、次のマクロブロックの量子化パラメータを調整して前記決定したピクチャ毎の目標符号量にピクチャ符号量が到達するように制御する。このような符号量制御は、例えば、特許文献１に示されている。
【０００５】
また、最近では、さらに高能率に符号化する符号化方式として、Ｈ．２６４方式が提案されている。このＨ．２６４方式では、エントロピー符号化において、二値算術符号化を用いたＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）と呼ばれる方式が採用されている。
【０００６】
ＣＡＢＡＣの構成としては、予測画像信号を直交変換して量子化を行った符号値を入力して、二値データを出力する二値化部と、符号化対象のカレントマクロブロックの周辺情報など符号化状態に係わるコンテキストを導出するコンテキスト計算部とがある。さらに、二値データの算術符号化を行う二値算術符号化部があり、３つの構成により算術符号化が行われる。
【０００７】
このＨ．２６４方式においても、入力される画像の絵柄によって符号量が大きく変化するため、ＭＰＥＧ同様に、符号量制御を行う必要がある。
【０００８】
【特許文献１】特開平１０−１６４５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところが、算術符号化処理を行う際に入力される二値データは可変長であり、二値データのデータ量はピクチャによって数倍変動する。そして、算術符号化処理は二値データのデータ量が大きくなると、データ量に比例して処理時間が長くなるので、処理時間も同様にピクチャ毎に数倍変動する。したがって動画像データの１ピクチャの期間で、ＣＡＢＡＣによる符号化処理が完了しない場合がある。
【００１０】
以上のように、従来の符号量制御においては、ピクチャの符号化が完了した後にピクチャの符号量を算出し、次のピクチャの目標符号量を決定するという順序で処理を行っている。このため、ＣＡＢＡＣを用いた符号化においては、ピクチャの算術符号化が完了しないと次のピクチャの符号化を開始できず、動画像データをリアルタイムに符号化することができないという問題があった。
【００１１】
本発明は前述の問題点に鑑み、Ｈ．２６４方式のＣＡＢＡＣを用いて、動画像データをリアルタイムに符号化できるようにすることを目的としている。
【課題を解決するための手段】
【００１２】
本発明の画像符号化装置は、画像データをマクロブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化装置であって、前記量子化された信号から二値データを生成する二値化手段と、前記二値化手段によって生成された二値データを算術符号化してビットストリームを生成する算術符号化手段と、前記二値化手段によって生成された二値データのデータ量を計測する二値データ量計測手段と、前記算術符号化手段によって生成されたビットストリームのデータ量を計測するビットストリーム量計測手段と、前記算術符号化の進捗状況に応じて、前記二値データ量計測手段によって計測された二値データのデータ量、および前記ビットストリーム量計測手段によって計測されたビットストリームのデータ量を選択的に用いて、画面中の全マクロブロックが算術符号化されたビットストリームのデータ量を予測するビットストリーム量予測手段と、前記ビットストリーム量予測手段によって予測されたデータ量に基づいて、次のピクチャに対する目標符号量を決定する目標符号量決定手段とを備えたことを特徴とする。
【００１３】
本発明の画像符号化方法は、画像データをマクロブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化方法であって、前記量子化された信号から二値データを生成する二値化工程と、前記二値化工程において生成した二値データを算術符号化してビットストリームを生成する算術符号化工程と、前記二値化工程において生成した二値データのデータ量を計測する二値データ量計測工程と、前記算術符号化工程において生成されたビットストリームのデータ量を計測するビットストリーム量計測工程と、前記算術符号化の進捗状況に応じて、前記二値データ量計測工程において計測した二値データのデータ量、および前記ビットストリーム量計測工程において計測したビットストリームのデータ量を選択的に用いて、画面中の全マクロブロックが算術符号化されたビットストリームのデータ量を予測するビットストリーム量予測工程と、前記ビットストリーム量予測工程において予測したデータ量に基づいて、次のピクチャに対する目標符号量を決定する目標符号量決定工程とを備えたことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、符号化処理が完了していない状態であってもビットストリームのデータ量を算出することができる。したがって、符号化処理が完了していない状態であっても、次のピクチャの目標符号量を算出して、動画像データをリアルタイムに符号化することができる。
【発明を実施するための最良の形態】
【００１５】
（第１の実施形態）
以下、本発明に係る画像符号化装置及び画像符号化方法の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態に係る画像符号化装置１００の構成例を示すブロック図である。以下、本実施形態の画像符号化装置１００の構成例において、各ブロックの動作について説明する。
【００１６】
図１において、予測処理部１０１は、符号化対象となる画像信号を入力し、１６×１６画素のマクロブロック毎に符号化モードの決定及び動き検出を行う。そして、符号化モードに応じてイントラ予測またはインター予測処理を行って、予測残差信号をＤＣＴ変換部１０２に出力する。ＤＣＴ変換部１０２は、予測残差信号をＤＣＴ係数に変換し、量子化部１０３に出力する。量子化部１０３はＤＣＴ係数を量子化し、二値化部１１１に出力する。この時、量子化に用いられる量子化パラメータは、後述する符号量制御部１２１から入力される。
【００１７】
二値化部１１１は、量子化されたＤＣＴ係数を入力し、ＣＡＢＡＣにおける所定の二値変換方法によりＤＣＴ係数を二値化して、二値データを出力する。この二値データは、二値データバッファ１１２に一旦蓄積され、後述の算術符号化部１１３による符号化処理が行われる際に出力される。なお、二値データバッファ１１２は、前段の二値化部１１１と、後段の算術符号化部１１３とで非同期に動作できるように作用する。
【００１８】
算術符号化部１１３は、二値データバッファ１１２から二値データを読み出し、ＣＡＢＡＣにおける所定の方法により算術符号化を行い、ビットストリームを生成して外部に出力する。
【００１９】
二値符号量計測部１２２は二値データ量計測手段として機能し、二値化部１１１から出力される二値データのデータ量を計測する。そして、マクロブロック毎の累積値「BIN＿MB＿size」とピクチャ毎の累積値（二値符号量）「BIN＿Pict＿size」とを算出する。さらに、算出したマクロブロック毎の累積値「BIN＿MB＿size」についてのデータを符号量制御部１２１に出力し、ピクチャ毎の累積値「BIN＿Pict＿size」についてのデータを目標符号量設定部１２４に出力する。
【００２０】
算術符号量計測部１２３はビットストリーム量計測手段として機能し、算術符号化部１１３から出力されるビットストリームの符号量を計測する。そして、ピクチャ毎の累積値（算術符号量）「AC＿Pict＿size」についてのデータを目標符号量設定部１２４に出力する。
【００２１】
目標符号量設定部１２４は、ビットストリーム量予測部１３１と目標符号量算出部１３２とからなる。まず、ビットストリーム量予測部１３１において、ピクチャ毎のビットストリーム量を算出し、目標符号量算出部１３２において、目標符号量を算出して、符号量制御部１２１に目標符号量についてのデータを出力する。なお、ビットストリーム量の算出方法については後述する。
【００２２】
符号量制御部１２１は、二値データのデータ量が目標符号量に近づくようにマクロブロック毎に量子化パラメータをマクロブロック毎の累積値「BIN＿MB＿size」を用いて算出し、量子化部１０３に出力する。
【００２３】
また、二値化部１１１及び算術符号化部１１３は、図示しないタイミング制御信号として、「BIN＿Pict＿num」、「AC＿Pict＿num」及び「AC＿MB＿num」についてのデータを出力する。「BIN＿Pict＿num」は、二値化部１１１から出力されるタイミング制御信号に含まれるものあり、二値化を行っているピクチャ番号を示すものである。また、「BIN＿Pict＿num」は、ピクチャごとにインクリメントされる。
【００２４】
「AC＿Pict＿num」は、算術符号化部１１３から出力されるタイミング制御信号に含まれるものであり、算術符号化を行っているピクチャ番号を示すものである。「AC＿Pict＿num」も同様に、ピクチャごとにインクリメントされる。
【００２５】
また、「AC＿MB＿num」は、算術符号化部１１３において処理が行われているマクロブロックの番号を示す。算術符号化の処理中の期間は、処理中のマクロブロック番号が出力され、処理を行っていない期間は０が出力される。
【００２６】
ここで、マクロブロック番号とは、マクロブロック毎に付される番号であり、画面中の左上のマクロブロックから右下のマクロブロックに向かって順に１ずつインクリメントされる番号である。例えば、映像信号が水平７２０画素×垂直４８０画素の場合、全マクロブロックの数は水平方向に４５個、垂直方向に３０個の計１３５０個であり、マクロブロック番号は１から１３５０まで付される。
【００２７】
次に、図２を参照しながら二値化部１１１及び算術符号化部１１３の動作タイミングついて説明する。図２は、本実施形態における二値化部１１１及び算術符号化部１１３の動作タイミングの一例を示す図である。
図２において、矢印は二値化部１１１の動作期間及び算術符号化部１１３の動作期間を示している。二値化は固定幅で動作が実行されているのに対し、算術符号化はピクチャによって処理期間が変動している様子を表している。
【００２８】
目標符号量設定部１２４は、ピクチャＰｎの開始ポイントＴｎにおいて、ピクチャＰｎ−１のビットストリーム量の算出を行う。そして、ピクチャＰｎ＋１の開始ポイントＴｎ＋１において、ピクチャＰｎのビットストリーム量の算出を行う。以降、ピクチャＰ＋２、Ｐ＋３でも同様に、それぞれの開始ポイントＴｎ＋２、Ｔｎ＋３において、ビットストリーム量を算出する。
【００２９】
以下、目標符号量設定部１２４によるビットストリーム量の算出方法について具体的な手順を説明する。ビットストリーム量の算出においては、目標符号量設定部１２４は、二値符号量計測部１２２からピクチャ毎の二値符号量「BIN＿Pict＿size」についてのデータを取得する。また、算術符号量計測部１２３からピクチャ毎の算術符号量「AC＿Pict＿size」についてのデータを取得する。さらに、タイミング制御信号として「BIN＿Pict＿num」、「AC＿Pict＿num」及び「AC＿MB＿num」についてのデータを取得して、図３に示すフローチャートに従ってビットストリーム量の算出を行う。
【００３０】
図３は、本実施形態において、目標符号量設定部１２４のビットストリーム量予測部１３１によるビットストリーム量の算出手順の一例を示すフローチャートである。
まず、図３のステップＳ１において、符号化の開始ポイントにおいて算術符号化が開始されているかどうかを判定するために「AC＿Pict＿num」と「BIN＿Pict＿num」との比較を行う。
【００３１】
この比較の結果、ピクチャ番号が同じである場合は、既に算術符号化は開始されていると判定できるため、ステップＳ２に進む。図２に示す例においては、開始ポイントＴｎ、Ｔｎ＋１、Ｔｎ＋３及びＴｎ＋４では、ピクチャ番号が同じである。一方、ステップＳ１の比較の結果、ピクチャ番号が異なる場合は、算術符号化されたマクロブロックの数が０であり、算術符号化は開始されていないと判定できるため、ステップＳ３に進む。図２に示す例においては、開始ポイントＴｎ＋２では、ピクチャ番号が異なっている。
【００３２】
次に、ステップＳ２において、「AC＿MB＿num」を参照し、算術符号化が既に完了しているかどうかを判定する。この判定の結果、「AC＿MB＿num」が０であり算術符号化が既に完了している場合は、ステップＳ５に進む。図２に示す例においては、開始ポイントＴｎ及びＴｎ＋４では、算術符号化が既に完了している。一方、ステップＳ２の判定の結果、信号「AC＿MB＿num」が０以外であり算術符号化が完了していない場合、つまり符号化が途中である場合は、ステップＳ４に進む。図２に示す例においては、開始ポイントＴｎ＋１及びＴｎ＋３では、算術符号化が完了していない。
【００３３】
一方、ステップＳ３においては、算術符号化が開始されていないため、二値データのデータ量からビットストリーム量を算出する。算出方法としては、以下の式１に示すように、二値符号量「BIN＿Pict＿size」に算術符号化での予測圧縮率Ｋを乗じることにより算出することができる。なお、予測圧縮率Ｋは直前の同タイプのピクチャの符号化結果から得ることができる。
ビットストリーム量＝「BIN＿Pict＿size」＊Ｋ  ・・・式１
【００３４】
また、ステップＳ４においては、算術符号化は開始されているが、まだ符号化が途中である。そこで、算術符号化途中の算術符号量「AC＿Pict＿size」と、全マクロブロックの数「MB＿num」及び算術符号化の処理中（算術符号化済み）のマクロブロックの番号を示す「AC＿MB＿num」の比率とを用いて、以下の式２によって算出する。
ビットストリーム量＝「AC＿Pict＿size」＊「AC＿MB＿num」／「MB＿num」  ・・・式２
【００３５】
また、ステップＳ５においては、算術符号化は完了しているので、以下の式３に示すように、算術符号量「AC＿Pict＿size」をそのまま、ビットストリーム量として用いる。
ビットストリーム量＝「AC＿Pict＿size」  ・・・式３
【００３６】
そして、目標符号量設定部１２４の目標符号量算出部１３２は目標符号量決定手段として機能し、前述のように算出したビットストリーム量を用いて次のピクチャの目標符号量を算出する。
【００３７】
以上のように本実施形態によれば、算術符号化処理の進捗状況に応じて、二値データの時点でのデータ量、およびビットストリームの時点でのデータ量を選択的に用いることによって、ビットストリーム量の算出方法を変更するようにした。これにより、符号化処理が完了していない状態であってもビットストリーム量を算出することができる。したがって、符号化処理が完了していない状態であっても、次のピクチャの目標符号量を算出して、動画像データをリアルタイムに符号化することができる。
【００３８】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像符号化装置を構成する各手段、並びに画像符号化方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００３９】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図３に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００４３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００４４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００４５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００４６】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００４７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４８】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図２】本発明の実施形態における二値化部及び算術符号化部の動作タイミングの一例を示す図である。
【図３】本発明の実施形態において、目標符号量設定部のビットストリーム量予測部によるビットストリーム量の算出手順の一例を示すフローチャートである。
【符号の説明】
【００５０】
１００  画像符号化装置
１０１  予測処理部
１０２  ＤＣＴ変換部
１０３  量子化部
１１１  二値化部
１１２  二値データバッファ
１１３  算術符号化部
１２１  符号量制御部
１２２  二値符号量計測部
１２３  算術符号量計測部
１２４  目標符号量設定部
１３１  ビットストリーム予測部
１３２  目標符号量算出部
【図１】
2009272712.tif 000003
【図２】
2009272712.tif 000004
【図３】
2009272712.tif 000005