(57)【特許請求の範囲】
【請求項１】
入力信号を直交変換処理して係数データを出力する直交変換部と、
前記係数データを量子化処理する量子化部と、
前記量子化部の出力データを算術符号化処理して符号化データを出力する算術符号化部と、
前記量子化部の量子化スケールを制御してレート制御の処理を実行する制御部とを備え、
前記算術符号化部は、
前記量子化部の出力データを２値化シンボルに変換する２値化部と、
前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化部と、
前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測部と、を有し、
前記制御部は、
前記予測ビット量に基づいて、前記量子化部の量子化スケールを制御してレート制御の処理を実行し、
前記符号量予測部は、
前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、
前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式である、符号化装置。
【請求項２】
入力信号を直交変換処理して係数データを出力する直交変換ステップと、
前記係数データを量子化処理する量子化ステップと、
前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、
前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップと、を備え、
前記算術符号化ステップは、
前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、
前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、
前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップと、を有し、
前記制御ステップは、
前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行し、
前記符号量予測ステップは、
前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、
前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式である、符号化方法。
【請求項３】
前記予測関数が、
前記ｂｉｎ量の増大により二次関数から一次関数に次数が変化する多項式である、請求項２に記載の符号化方法。
【請求項４】
前記符号量予測ステップは、
前記ｂｉｎ量を、前記レート制御の制御単位で累積して累積値を得、
前記累積値を前記予測関数で演算処理して前記予測ビット量を出力する、請求項２に記載の符号化方法。
【請求項５】
前記符号量予測ステップは、
前記ｂｉｎ量と対応する前記予測ビット量とを順次記録したメモリをアクセスして前記予測ビット量を出力する、請求項２に記載の符号化方法。
【請求項６】
前記制御ステップは、
前記入力信号に設定された一定の判定単位で、前記予測ビット量を累積して判定単位の予測ビット量を検出し、
前記判定単位の予測ビット量を判定基準値で判定して、仮想デコーダの入力段に設けられるバッファメモリのアンダーフローの発生を予測し、
前記バッファメモリのアンダーフローの発生が予測される場合には、アンダーフローの発生を回避する処理を実行する、請求項２に記載の符号化方法。
【請求項７】
前記制御ステップは、
前記２値算術符号化ステップにおいて、前記２値化シンボルの処理に要する時間を判定し、
前記処理に要する時間が一定時間以下の場合、前記予測ビット量に代えて、前記符号化データのビット量により前記レート制御の処理を実行する、請求項２に記載の符号化方法。
【請求項８】
入力信号を符号化処理する符号化機能をコンピュータにより実現させるためのプログラムにおいて、
前記符号化機能は、
前記入力信号を直交変換処理して係数データを出力する直交変換ステップと、
前記係数データを量子化処理する量子化ステップと、
前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、
前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップと、をコンピュータに実行させるものであり、
前記算術符号化ステップは、
前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、
前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、
前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップと、を含み、
前記制御ステップは、
前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行するものであり、
前記符号量予測ステップは、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力するものであり、
前記予測関数は、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式である、前記符号化機能をコンピュータにより実現させるためのプログラム。
【請求項９】
入力信号を符号化処理する符号化機能をコンピュータにより実現させるためのプログラムを記録した記録媒体において、
前記符号化機能は、
前記入力信号を直交変換処理して係数データを出力する直交変換ステップと、
前記係数データを量子化処理する量子化ステップと、
前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、
前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップと、をコンピュータに実行させるものであり、
前記算術符号化ステップは、
前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、
前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、
前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップと、を含み、
前記制御ステップは、前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行するものであり、
前記符号量予測ステップは、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力するものであり、
前記予測関数は、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式である、前記符号化機能をコンピュータにより実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、例えばH.264 ISO/IEC 14496-10 AVC (以下、ＡＶＣと呼ぶ）の符号化方式によりビデオデータを符号化処理する場合に適用することができる。本発明は、ｂｉｎ量の増大によりしきい値を境にして次数が変化する予測関数を用いて、ｂｉｎ量から発生ビット量を予測してレート制御することにより、算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減する。
【背景技術】
【０００２】
従来、各種映像機器では、ＭＰＥＧ（Moving Picture Experts Group）２、ＭＰＥＧ４、ＡＶＣ等の符号化方式によりビデオデータを符号化処理している。これらの符号化方式のうち、ＡＶＣの符号化方式は、ＭＰＥＧ２、ＭＰＥＧ４の符号化方式に比して、符号化処理、復号化処理の演算量が多くなる。しかしながらＡＶＣの符号化方式は、ＭＰＥＧ２、ＭＰＥＧ４の符号化方式に比して、高い符号化効率を得ることができる。
【０００３】
ここでＡＶＣの符号化方式は、ＣＡＶＬＣ (Context-Adaptive Variable Length Coding ：コンテキスト適応型可変長符号化方式) と、ＣＡＢＡＣ (Context-Adaptive Binary
Arithmetic Coding ：コンテキスト適応型２値算術符号化方式) との２種類の高能率符号化方式が用意されており、これら２種類の方式の何れかを用いてシンタックス要素をエントロピー符号化処理する。ＡＶＣの符号化方式は、これら２つの方式のうちの何れの方式を使用した場合でも、周囲のブロックの状況に応じて適応的に符号語を割り当てることができ、ＭＰＥＧ２、ＭＰＥＧ４の符号化方式に比して、高い符号化効率を得ることができる。またＣＡＢＡＣは、算術符号化処理であることから、ＣＡＶＬＣに比して効率的に符号を割り当てることができる。従ってＣＡＢＡＣを使用した場合、ＣＡＶＬＣを使用する場合に比べ符号化効率を改善することができる。
【０００４】
ここで図９は、従来のＡＶＣ方式の符号化装置を示すブロック図である。この符号化装置１は、ＣＡＢＡＣを採用した符号化装置である。この符号化装置１は、予測符号化部２において予測値を用いて入力画像データＤ１を符号化処理した後、算術符号化部３において各シンタックス要素をＣＡＢＡＣにより符号化処理する。
【０００５】
ここで予測符号化部２は、図示しない並替回路において、ＧＯＰ構造に応じたフレーム単位で入力画像データＤ１を並べ替えて入力する。予測符号化部２において、減算部５は、この入力画像データＤ１から予測値Ｄ２を減算して予測誤差値を出力する。直交変換部６は、ディスクリートコサイン変換回路等により構成され、この予測誤差値を直交変換処理して係数データを出力する。量子化部７は、制御部８に設けられたレート制御部８Ａの制御により量子化スケールを切り換え、直交変換部６から出力される係数データを量子化処理して出力する。
【０００６】
逆量子化部９は、量子化部７の出力データＤ３を逆量子化処理し、量子化部７の入力データを復号する。逆直交変換部１０は、この逆量子化部９の出力データを逆直交変換処理し、直交変換部６の入力データを復号する。加算部１１は、この逆直交変換部１０の出力データに予測値Ｄ２を加算し、入力画像データＤ１を復号する。フレームメモリ１２は、この復号した入力画像データＤ１を参照画像データとして格納して保持する。予測符号化部２は、インター予測において、このフレームメモリ１２に保持した参照画像データを動き補償部１３で動き補償して予測値Ｄ２を生成する。また予測符号化部２は、イントラ予測では、図示しないイントラ予測部で予測値Ｄ２を生成する。予測符号化部２は、量子化部７の出力データを動きベクトル、予測モードのデータ等と共に算術符号化部３に入力する。
【０００７】
算術符号化部３において、２値化部１５は、これら量子化部７の出力データ、動きベクトル、予測モードのデータ等による多値のシンタックス要素を、それぞれシンタックス要素の種類に応じた規則に従って２値化し、可変長の２値化シンボル系列を出力する。
【０００８】
コンテキスト計算部１６は、符号化すべきデータの周囲の情報、既に符号化された２値化シンボル値等に基づいて、算術符号化部３から出力される２値化シンボルの１ビット毎にコンテキスト計算を行い、処理対象の２値化シンボルの各２値が取り得る確率状態変数を求める。コンテキスト計算部１６は、確率状態変数を例えば確率テーブルの形式により保持し、求めた確率状態変数をこの確率テーブルにより２値算術符号化部１７に通知する。またコンテキスト計算部１６は、１つの２値化シンボルについて確率状態変数を求め終わると、確率テーブルに記録した確率状態変数を更新する。
【０００９】
２値算術符号化部１７は、コンテキスト計算部１６から通知される確率テーブルにより処理対象の２値化シンボルを符号化処理して出力する。バッファ１８は、この２値算術符号化部１７の出力データをヘッダ情報等と共に格納し、ビットストリームによる符号化データＤ４を出力する。
【００１０】
制御部８は、この符号化装置１の動作を制御する制御手段であり、入力画像データＤ１を処理して最適予測モードを選択し、この最適予測モードに応じた予測値Ｄ２の生成を動き補償部１３、イントラ予測部に指示する。またレート制御部８Ａにより量子化部７の量子化スケールを切り換えてレート制御の処理を実行する。
【００１１】
ここで図１０は、制御部８におけるレート制御の処理に関する符号化装置１のブロック図である。なおこの図１０において、ＭＥは、動きベクトル検出回路である。制御部８は、ステップＳＰ１のビット量割り当て処理において、割り当て可能な目標ビット量を各ピクチャーに配分して符号化処理対象ピクチャーの目標ビット量を計算し、さらにこの符号化処理対象ピクチャーからレート制御単位の目標ビット量を計算する。なおここでレート制御単位は、この符号化装置１の符号化処理単位であるマクロブロックである。
【００１２】
すなわち制御部８は、この符号化装置１から出力する符号化データＤ４の目標ビットレートを単位時間当たりのＧＯＰ数で割り算し、１ＧＯＰに割り当て可能な目標ビット量を計算する。またピクチャータイプ毎に設定された比率によりこの計算した１ＧＯＰ当たりの目標ビット量を各ピクチャーに配分し、符号化処理対象ピクチャーの目標ビット量を計算する。またこの符号化処理対象ピクチャーの目標ビット量を、１つのピクチャーを構成するマクロブロック数で割り算し、１つのマクロブロックの目標ビット量を計算する。制御部８は、この計算したマクロブロックの目標ビット量をレート制御部８Ａに通知する。
【００１３】
また符号化処理単位ブロックの目標ビット量を計算する際に、制御部８は、バッファ１８の空き容量を監視して符号化処理で発生する符号化データＤ４のビット量を監視し、１つのピクチャーの符号化処理を完了する毎に、この１つのピクチャーの符号化データＤ４のビット量から、１ＧＯＰを構成する残りのピクチャーに割り当て可能な目標ビット量を計算し直す。またこの計算し直した目標ビット量をピクチャータイプに応じて各ピクチャーに配分し、続く符号化処理対象ピクチャーの目標ビット量を計算する。またこの符号化処理対象ピクチャーの目標ビット量から１つのマクロブロックの目標ビット量を計算し直し、レート制御部８Ａに通知する。
【００１４】
また制御部８は、ステップＳＰ２で示すレート制御部８Ａによる処理において、符号化データＤ４のビット量がステップＳＰ１で計算した目標ビット量となるように、レート制御部８Ａによるフィードバック制御により量子化部７の量子化スケールを制御する。すなわち制御部８は、このステップＳＰ１のビット量割り当て処理から通知される目標ビット量に応じて、量子化部７の量子化スケールを指示する量子化スケールのデータＤＱを出力する。このとき制御部８は、直前マクロブロックにおける符号化データＤ４のビット量に応じてこの量子化スケールのデータＤＱを補正して出力する。具体的に、目標ビット量に対して符号化データＤ４のビット量が大きい場合、量子化ステップサイズを大きくして発生ビット量が少なくなるように、量子化スケールのデータＤＱを補正する。またこれとは逆に目標ビット量に対して符号化データＤ４のビット量が少ない場合には、量子化ステップサイズを小さくして発生ビット量が増大するように、量子化スケールのデータＤＱを補正する。なおこの場合、バッファ１８の監視による符号化データＤ４のビット量に代えて、２値算術符号化部１７で検出される実ビット量による符号化データＤ４のビット量により量子化スケールのデータＤＱを補正してもよい。
【００１５】
符号化装置１は、図示しないアクティビティー検出部により、入力画像データＤ１から符号化処理の困難度を示すアクティビティーをマクロブロック単位で検出する。なおアクティビティーは、例えば入力画像データＤ１の高域成分の２乗和又は絶対値和、若しくは減算部５から出力される予測誤差値の２乗和又は絶対値和等を適用することができる。
【００１６】
制御部８は、ステップＳＰ３の補正処理において、レート制御部８Ａで計算された量子化スケールのデータＤＱをアクティビティーにより補正して量子化部７に出力する。具体的に、アクティビティーが大きく、視覚的に画像劣化が目立ち易い部分では、量子化ステップサイズを小さくするように、量子化スケールのデータＤＱを補正する。またこれとは逆にアクティビティーが小さく、視覚的に画像劣化が目立ち難い部分では、量子化ステップサイズを大きくするように、量子化スケールのデータＤＱを補正する。
【００１７】
ＡＶＣの符号化処理に関して、特開２００５−３１８２９６号公報、東芝レビューVol.60 No1.(2005) 17〜20頁には、最適予測モードの選択基準としての発生符号量を簡易に検出する方法が提案されている。この特開２００５−３１８２９６号公報に開示の手法は、算術符号化部３から出力される２値化シンボルのｂｉｎ量を累積加算して発生符号量を検出している。また東芝レビューVol.60 No1.(2005) 17〜20頁では、２値化シンボルのｂｉｎ量の累積加算値を用いた１次近似式の演算処理により発生符号量を検出している。なおここでｂｉｎ量は、２値化シンボルのビット数である。
【００１８】
ところで図１０について上述したレート制御は、算術符号化処理で発生する発生ビット量によるフィードバック制御である。従って符号化装置１は、リアルタイムで入力画像データＤ１を符号化処理する場合、算術符号化部３において、高速度で２値化シンボルを処理することが必要になる。しかしながら算術符号化部３の処理には、多大な演算量を要する。従ってリアルタイムで入力画像データＤ１を符号化処理する場合、従来の符号化装置１は、算術符号化部３の構成が複雑になることで回路規模が増大し、さらには消費電力が増大する問題があった。
【特許文献１】特開２００５−３１８２９６号公報
【非特許文献１】東芝レビューVol.60 No1.(2005) 17〜20頁
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は以上の点を考慮してなされたもので、算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減することができる符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体を提案しようとするものである。
【課題を解決するための手段】
【００２０】
上記の課題を解決するため請求項１の発明は、符号化装置に適用して、入力信号を直交変換処理して係数データを出力する直交変換部と、前記係数データを量子化処理する量子化部と、前記量子化部の出力データを算術符号化処理して符号化データを出力する算術符号化部と、前記量子化部の量子化スケールを制御してレート制御の処理を実行する制御部とを備え、前記算術符号化部は、前記量子化部の出力データを２値化シンボルに変換する２値化部と、前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化部と、前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測部とを有し、前記制御部は、前記予測ビット量に基づいて、前記量子化部の量子化スケールを制御してレート制御の処理を実行し、前記符号量予測部は、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式であるようにする。
【００２１】
また請求項２の発明は、符号化方法に適用して、入力信号を直交変換処理して係数データを出力する直交変換ステップと、前記係数データを量子化処理する量子化ステップと、前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップとを備え、前記算術符号化ステップは、前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップとを有し、前記制御ステップは、前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行し、前記符号量予測ステップは、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式であるようにする。
【００２２】
また請求項１１の発明は、入力信号を符号化処理する符号化方法のプログラムに適用して、前記入力信号を直交変換処理して係数データを出力する直交変換ステップと、前記係数データを量子化処理する量子化ステップと、前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップとを備え、前記算術符号化ステップは、前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップとを有し、前記制御ステップは、前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行し、前記符号量予測ステップは、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式であるようにする。
【００２３】
また請求項１２の発明は、入力信号を符号化処理する符号化方法のプログラムを記録した記録媒体に適用して、前記符号化方法のプログラムは、前記入力信号を直交変換処理して係数データを出力する直交変換ステップと、前記係数データを量子化処理する量子化ステップと、前記量子化ステップの出力データを算術符号化処理して符号化データを出力する算術符号化ステップと、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行する制御ステップとを備え、前記算術符号化ステップは、前記量子化ステップの出力データを２値化シンボルに変換する２値化ステップと、前記２値化シンボルを２値算術符号化処理して前記符号化データを出力する２値算術符号化ステップと、前記２値化シンボルのｂｉｎ量に基づいて、前記符号化データの予測ビット量を出力する符号量予測ステップとを有し、前記制御ステップは、前記予測ビット量に基づいて、前記量子化ステップの量子化スケールを制御してレート制御の処理を実行し、前記符号量予測ステップは、前記ｂｉｎ量を所定の予測関数で演算処理して前記予測ビット量を出力し、前記予測関数が、前記ｂｉｎ量の増大により前記予測ビット量が増大し、所定のしきい値より前記ｂｉｎ量が増大すると次数が変化する多項式であるようにする。
【００２４】
請求項１、請求項２、請求項１１、又は請求項１２の構成によれば、２値算術符号化処理する前の段階で発生ビット量をある一定範囲内で予測することができる。従って２値算術符号化処理した後の符号化データのビット量によりレート制御する場合に比して、低速度で２値算術符号化処理することができる。従って、２値算術符号化処理する構成を簡略化し、回路規模及び消費電力を低減するようにしても、十分に高速度でレート制御することができる。従って算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減することができる。
【発明の効果】
【００２５】
本発明によれば、算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減することができる。
【発明を実施するための最良の形態】
【００２６】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００２７】
（１）実施例の構成
図１は、本発明の実施例１の符号化装置を示すブロック図である。この符号化装置２１は、算術符号化部３、制御部８に代えて算術符号化部２３、制御部２８が設けられる点を除いて、図９について上述した符号化装置１と同一に構成される。また算術符号化部２３は、２値化部１５に代えて、２値化部２５、符号量予測部２６、２値化バッファ２７が設けられる点を除いて、図９について上述した符号化装置１の算術符号化部３と同一に構成される。
【００２８】
ここで算術符号化部２３において、２値化部２５は、２値化部１５と同様に、量子化部７の出力データ、動きベクトル、予測モードのデータ等による多値のシンタックス要素を、それぞれシンタックス要素の種類に応じた規則に従って２値化し、可変長の２値化シンボル系列を出力する。また２値化部２５は、マクロブロック単位で、この２値化シンボル系列のｂｉｎ量を累積加算し、累積加算したｂｉｎ量ｘを符号量予測部２６に出力する。
【００２９】
符号量予測部２６は、所定の予測関数ｙ＝ｆ（ｘ）を用いてこのｂｉｎ量ｘから符号化データＤ４のビット量の予測値ｙ（以下、予測ビット量と呼ぶ）を計算する。符号量予測部２６は、この計算した予測ビット量ｙを制御部２８に通知する。
【００３０】
ここで予測関数ｙ＝ｆ（ｘ）は、ｂｉｎ量ｘが変数に設定された予測ビット量ｙを計算する多項式である。この実施例において、予測関数ｙ＝ｆ（ｘ）は、図２に示すように、ｂｉｎ量ｘの増大により予測ビット量ｙが増大する単調増加関数であって、所定のしきい値ＴＨを境にしてｂｉｎ量ｘの増大により次数が変化する多項式が適用される。
【００３１】
ここで図３は、発生ビット量とｂｉｎ量ｘとの関係を示す特性曲線図である。この図３において、符号Ｌ１は、発生ビット量の実測結果を１次近似した特性曲線である。また符号Ｌ２は、しきい値ＴＨ以下で発生ビット量の実測結果を２次近似し、しきい値ＴＨ以上で発生ビット量の実測結果を１次近似した特性曲線図である。実際に測定した結果によれば、ｂｉｎ量ｘがしきい値ＴＨ以下の場合、ｂｉｎ量ｘを変数とした１次近似の場合に比して、ｂｉｎ量ｘを変数とした２次近似により精度良く発生ビット量を表し得ることが判った。しかしながらｂｉｎ量ｘがしきい値ＴＨ以上の場合には、ｂｉｎ量ｘを変数とした２次近似では近似精度が劣化し、ｂｉｎ量ｘを変数とした１次近似により近似精度が向上することが判った。
【００３２】
そこでこの実施例では、次式により示すように、しきい値ＴＨ以下の第１関数及びしきい値ＴＨ以上の第２関数にそれぞれ２次関数及び１次関数を適用して予測関数ｙ＝ｆ（ｘ）を定義し、この予測関数ｙ＝ｆ（ｘ）を用いて予測ビット量ｙを計算する。なおここで（１）式において、ｄはしきい値ＴＨであり、ａ〜ｃ、ｅ、ｆは係数である。これらしきい値ｄ、係数ａ〜ｃ、ｅ、ｆは、図３において符号Ｌ２で示す特性曲線を定義する定数である。
【００３３】
【数１】
0004513841.tif 000002
【００３４】
符号量予測部２６は、図４に示すように、ｂｉｎ量と予測ビット量との対応関係を順次記録したテーブルを有し、２値化部２５から出力されるｂｉｎ量によりこのテーブルを参照して対応する予測ビット量を求めることにより、（１）式の演算処理による予測ビット量ｙを出力する。
【００３５】
２値化バッファ２７は、２値化部２５から出力される２値化シンボル系列を一時格納し、続く２値算術符号化部１７の処理に応じて格納した２値化シンボル系列を順次出力する。
【００３６】
図５は、図１０との対比により符号化装置２１のレート制御に係る構成を示すブロック図である。この符号化装置２１において、制御部２８は、この符号化装置２１の動作を制御する制御手段であり、入力画像データＤ１を処理して最適予測モードを選択し、この最適予測モードに応じた予測値Ｄ２の生成を動き補償部１３、イントラ予測部に指示する。またレート制御部２８Ａにより量子化部７の量子化スケールを切り換えてレート制御の処理を実行する。
【００３７】
このレート制御に関する構成において、制御部２８は、ステップＳＰ１１のビット量割り当て処理、ステップＳＰ１２のレート制御部２８Ａの処理が異なる点を除いて、図１０について上述した制御部８と同一に構成される。制御部２８は、このステップＳＰ１１のビット量割り当て処理において、符号量予測部２６から通知される予測ビット量ｙを基準にして目標ビット量を計算する。
【００３８】
すなわち制御部２８は、符号化データＤ４の目標ビットレートを単位時間当たりのＧＯＰ数で割り算し、１ＧＯＰに割り当て可能な目標ビット量を計算する。またピクチャータイプ毎に設定された比率によりこの計算した１ＧＯＰ当たりの目標ビット量を各ピクチャーに配分し、符号化処理対象ピクチャーの目標ビット量を計算する。
【００３９】
この符号化処理対象ピクチャーの目標ビット量を計算する際に、制御部２８は、符号量予測部２６から通知される予測ビット量ｙをピクチャー単位で累積加算し、２値化部２５で１つのピクチャーの処理を完了する毎に、１ＧＯＰの残りのピクチャーに割り当て可能な目標ビット量を計算し直す。すなわち例えば符号化データＤ４の目標ビットレートを単位時間当たりのＧＯＰ数で割り算して得られる１ＧＯＰの目標ビット量がＭの場合であって、このＭが得られる場合において、１ＧＯＰを構成する１５ピクチャーのうちの１つのピクチャーを２値化部２５で処理し、この１つのピクチャーの予測ビット量ｙの累積加算値がＹの場合、Ｍ−Ｙのビット量をピクチャータイプに応じて残り１４のピクチャーに割り当て直し、続く処理対象ピクチャーの目標ビット量を計算する。
【００４０】
また制御部２８は、この続く処理対象ピクチャーの目標符号量を算出する際に使用した予測ビット量ｙの累積加算値Ｙを図示しないメモリに記録して保持する。制御部２８は、バッファ１８の空き容量の監視により、このメモリに保持した累積加算値Ｙを算出したピクチャーについて、実際の符号化データＤ４のビット量が検出されると、予測ビット量ｙの累積加算値Ｙと符号化データＤ４のビット量との差分値を計算する。制御部２８は、続く処理対象ピクチャーの目標ビット量をこの差分値により補正して計算する。
【００４１】
具体的に、例えば１ＧＯＰ（１５ピクチャー）の２つのピクチャーを２値化部２５で処理して予測ビット量の累積値がそれぞれＹ１及びＹ２の場合、制御部２８は、Ｍ−Ｙ１−Ｙ２のビット量をピクチャータイプに応じて残り１３のピクチャーに割り当て直し、続く処理対象ピクチャーの目標ビット量ｍを計算する。またこのとき先頭のピクチャーにおける符号化データＤ４のビット量がＺ１の場合、ピクチャータイプに応じてこの先頭ピクチャーの処理を完了した時点の残りの１４のピクチャーに差分値Ｙ１−Ｚ１を配分して差分値処理対象ピクチャーの補正値ｚ２を計算し、先に計算した続く処理対象ピクチャーの目標ビット量ｍからこの補正値ｚ２を減算して補正する。なおこの予測ビット量ｙの累積加算値Ｙと実際の符号化データＤ４のビット量との差分値により目標ビット量の補正にあっては、例えば１ＧＯＰを構成する残りのピクチャーに割り当て可能な符号量から減算して補正する場合等、種々の補正方法を適用することができる。
【００４２】
制御部２８は、１つのピクチャーを処理する毎に計算される続く処理対象ピクチャーの目標ビット量を１つのピクチャーを構成するマクロブロック数で割り算し、１つのマクロブロックの目標ビット量を計算する。またこの計算したマクロブロックの目標ビット量をレート制御部２８Ａに通知する。
【００４３】
制御部２８は、ステップＳＰ１２で示すレート制御部２８Ａによる処理において、レート制御部２８Ａによるフィードバック制御により量子化部７の量子化スケールをマクロブロック単位で制御する。制御部２８は、符号化データＤ４のビット量に代えて、符号量予測部２６から通知される予測ビット量ｙを基準にして量子化部７の量子化スケールを制御する。
【００４４】
すなわち制御部２８は、予測ビット量ｙがステップＳＰ１１で計算した目標ビット量となるように、ステップＳＰ１１のビット量割り当て処理から通知される目標ビット量に応じて、量子化部７の量子化スケールを指示する量子化スケールのデータＤＱを出力する。このとき制御部２８は、直前のマクロブロックの予測ビット量ｙに応じてこの量子化スケールのデータＤＱを補正して出力する。具体的に、目標ビット量に対して予測ビット量ｙが大きい場合には、量子化ステップサイズを大きくして発生ビット量が低下するように、量子化スケールのデータＤＱを補正する。またこれとは逆に目標ビット量に対して予測ビット量ｙが少ない場合には、量子化ステップサイズを小さくして発生ビット量が増大するように、量子化スケールのデータＤＱを補正する。
【００４５】
さらにこのステップＳＰ１２の処理において、制御部２８は、２値化バッファ２７の空き容量を監視し、２値化バッファ２７のオーバーフローを予測する。具体的に、制御部２８は、１マクロブロック毎に、２値化バッファ２７の空き容量を所定の判定基準値で判定し、２値化バッファ２７の空き容量が判定基準値以下となると、２値化バッファ２７のオーバーフローの発生を予測する。なおこの判定基準値は、固定値としてもよく、また可変値としてもよい。なお可変値とする場合は、例えばアクティビティーが大きくなると値を小さくする場合等である。
【００４６】
制御部２８は、２値化バッファ２７のオーバーフローが予測される場合、目標ビット量、予測ビット量ｙから求める量子化部７の量子化スケールに対して、量子化ステップサイズが大きくなるように、量子化スケールのデータＤＱを補正して出力する。従ってこの場合、制御部２８は、発生ビット量が目標ビット量以下となるように量子化スケールを設定して２値化バッファ２７のオーバーフローを防止する。
【００４７】
また制御部２８は、符号量予測部２６から通知される予測ビット量を所定の判定単位で累積加算し、仮想デコーダ（ＨＲＤ：Hypothetical Reference Decoder) の入力バッファであるＣＰＢ (Coded Picture Buffer) のバッファ占有量を計算する。なおこの判定単位は、例えばマクロブロック単位である。また制御部２８は、この累積加算値を所定の判定基準値で判定し、ＣＰＢのアンダーフローの発生を予測する。制御部２８は、ＣＰＢのアンダーフローが予測される場合、ＣＰＢのアンダーフローを回避する処理を実行する。ここでこのＣＰＢのアンダーフローを回避する処理は、例えば続くマクロブロックの符号化処理を中止し、当該マクロブロックについて、直前マクロブロックと同一の画像データ出力を指示する制御コードをバッファ１８に設定して出力する処理等である。
【００４８】
（２）実施例の動作
以上の構成において、この符号化装置２１では（図１及び図５）、ＧＯＰ構造に応じてフレームが並べ替えられて入力画像データＤ１が入力され、この入力画像データＤ１の最適予測モードが順次検出される。入力画像データＤ１は、この最適予測モードによる予測値Ｄ２が動き補償部１３又はイントラ予測部により生成され、この予測値Ｄ２との予測誤差値が減算部５で求められる。入力画像データＤ１は、この予測誤差値が直交変換部６で直交変換処理されて係数データが生成され、この係数データが量子化部７で量子化処理される。入力画像データＤ１は、この量子化部７の出力データが逆量子化部９、逆直交変換部１０で順次処理されて参照画像データが復号され、この参照画像データがフレームメモリ１２に格納される。またこの参照画像データにより続くマクロブロックの予測値Ｄ２が生成される。またこの量子化部７の出力データが動きベクトル、予測モードのデータ等と共に算術符号化部２３に入力され、ＣＡＢＡＣにより算術符号化処理される。
【００４９】
すなわち入力画像データＤ１は、この算術符号化部２３の２値化部２５において、シンタックス要素の種類に応じた規則に従ってシンタックス要素が２値化処理され、可変長の２値化シンボル系列が生成される。入力画像データＤ１は、この２値化シンボル系列を構成する２値化シンボルの１ビット毎に、コンテキスト計算部１６でコンテキスト計算が実行されて確率状態変数が求められ、２値算術符号化部１７において、この確率状態変数により２値化シンボルが符号化処理される。入力画像データＤ１は、この２値算術符号化部１７の出力データがバッファ１８に格納され、ヘッダ情報等が設定されてビットストリームによる符号化データＤ４が出力される。
【００５０】
符号化装置２１では、この符号化データＤ４を目標ビットレートにより出力するように、制御部２８のレート制御部２８Ａにより量子化部７の量子化スケールが制御されて発生ビット量が制御される。
【００５１】
ここで従来の符号化装置１では（図９）、バッファ１８の空き容量の監視により把握される実際の符号化データＤ４のビット量を基準にしたマクロブロック単位のフィードバック制御によりレート制御の処理を実行していることから、リアルタイムで入力画像データＤ１を符号化処理する場合には、処理の複雑な算術符号化部３を高速度で処理可能に構成することが必要であり、その結果、算術符号化部３の構成が複雑になることで回路規模が増大し、消費電力が増大する。
【００５２】
そこでこの実施例の符号化装置２１では、２値化部２５から出力される２値化シンボルにおけるｂｉｎ量から符号化データのビット量を予測して予測ビット量を計算し、この予測ビット量が目標ビット量となるようにマクロブロック単位のフィードバック制御により量子化部７の量子化スケールが制御される。
【００５３】
その結果、この符号化装置２１では、２値算術符号化処理する前の段階である２値化部２５で１マクロブロックの処理を完了すると、続くマクロブロックについて量子化スケールの設定処理を開始することができ、２値算術符号化部１７の処理速度を高速度化しなくても、リアルタイムで入力画像データを符号化処理してレート制御の処理を実行することができる。また２値算術符号化部１７については、処理速度を高速度化しなくてもよいことにより、構成を簡略化し、消費電力の増大を防止することができる。
【００５４】
しかしながらｂｉｎ量から予測ビット量を計算する場合、精度よく予測ビット量を算出しなければ、目標ビットレートにより符号化データＤ４を送出できなくなる恐れがある。そこでこの符号化装置２１では、符号量予測部２６において、ｂｉｎ量の増大により予測ビット値が増大し、かつしきい値を境にしてｂｉｎ量の増大により次数が変化する予測関数を用いてｂｉｎ量から予測ビット量が計算され、この予測ビット量によりレート制御の処理が実行される。その結果、この符号化装置２１では、ｂｉｎ量により発生ビット量を予測してレート制御する場合でも、精度よくレート制御して目標ビットレートにより符号化データＤ４を送出することができる。またその結果、高画質の符号化データＤ４を出力することができる。
【００５５】
より具体的に、符号化装置２１では、ｂｉｎ量の増大により２次から１次に次数が変化する予測関数を用いてｂｉｎ量から予測ビット量が計算され、その結果、ｂｉｎ量により発生ビット量を予測してレート制御する場合でも、精度良くレート制御して目標ビットレートにより符号化データＤ４を送出することができる。また高画質の符号化データＤ４を出力することができる。
【００５６】
すなわち符号化装置２１では、２値化部２５において、マクロブロック単位でｂｉｎ量が累積加算される。符号化装置２１では、この累積加算値が符号量予測部２６に入力され、ここで予測関数によりマクロブロック単位で予測ビット量ｙが計算される。
【００５７】
また符号化装置２１では、制御部２８において、１ＧＯＰに割り当て可能なビット量が各ピクチャーに配分されて処理対象ピクチャーの目標ビット量が計算される。このとき当該ＧＯＰにおいて２値化処理の完了したピクチャーの予測発生符号量が予測ビット量ｙの累積加算により求められる。またこの２値化処理の完了したピクチャーの予測発生符号量により、当該ＧＯＰの残りのピクチャーに割り当て可能なビット量が求められ、この残りのピクチャーに割り当て可能なビット量が配分されて処理対象ピクチャーの目標ビット量が計算される。その結果、この実施例では、各ピクチャーの目標ビット量を算出する処理においても、実際の発生ビット量に代えて予測ビット量が適用され、レート制御の処理を高速度化することができる。
【００５８】
またバッファ１８を介して実際の符号化データＤ４のビット量が検出され、この符号化データＤ４のビット量に対する予測ビット量の誤差値により処理対象ピクチャーの目標ビット量が補正される。その結果、この符号化装置２１では、実際の符号化データＤ４のビット量に代えて予測ビット量を適用して目標ビット量を計算する場合の誤差の累積を防止することができ、レート制御の精度を向上することができる。符号化装置２１では、この処理対象ピクチャーの目標ビット量がマクロブロック数で割り算されて、１マクロブロックの目標ビット量が計算される。
【００５９】
符号化装置２１では、符号量予測部２６で求められる予測ビット量ｙがこの目標ビット量となるように、量子化部７の量子化スケールが設定される。またアクティビティー検出部で検出されたアクティビティーにより、この量子化スケールが補正され、量子化部７に設定される。
【００６０】
この一連のレート制御の処理において、この符号化装置２１では、ｂｉｎ量をマクロブロック単位で累積加算した後、予測関数により予測ビット量ｙを求めていることにより、予測関数により予測ビット量を求める処理をマクロブロック単位で実行して処理を簡略化することができる。
【００６１】
またこの予測関数により予測ビット量ｙを求める処理にあっては、符号量予測部２６に設けられたテーブルをアクセスして予測ビット量ｙが求められ、簡易な処理により予測ビット量を求めることができる。
【００６２】
またさらにこの符号化装置２１では、２値化バッファ２７を介して２値化部２５の出力データが２値算術符号化部１７に入力される。すなわち上述したように、ｂｉｎ量から予測ビット量を計算し、この予測ビット量によりレート制御する場合、２値算術符号化部１７については高速処理を要しないものの、２値化部２５にあっては、高速度で符号化処理することが求められる。従ってこの場合、２値化部２５から２値算術符号化部１７の処理能力を超える２値化データが瞬間的に出力され、２値算術符号化部１７の処理が破綻する恐れがある。
【００６３】
しかしながらこの実施例のように、２値化バッファ２７を介して２値化部２５の出力データを２値算術符号化部１７に入力すれば、２値算術符号化部１７に入力する２値化データのビットレートの変動をこの２値化バッファ２７で緩和することができる。その結果、２値算術符号化部１７の構成を簡略化して２値算術符号化部１７のスループットを低く設定する場合でも、２値算術符号化部１７の処理の破綻を回避することができる。従って符号化装置２１は、この２値化バッファ２７を介して２値化部２５の出力データを２値算術符号化部１７に入力する構成によっても、２値算術符号化部１７の回路規模を簡略化し、回路規模及び消費電力を低減することができる。
【００６４】
しかしながらこのように２値化バッファ２７を介して２値化部２５の出力データを２値算術符号化部１７に入力する場合、この２値化バッファ２７のオーバーフローにより、連続する２値データを正しく算術符号化処理することが困難になる。そこでこの符号化装置２１では、制御部２８により２値化バッファ２７の空き容量が判定されてオーバーフローの発生が予測される。またオーバーフローの発生が予測される場合には、量子化ステップサイズが大きくなるように量子化部７の量子化スケールが設定されて２値化データのｂｉｎ量が抑圧され、２値化バッファ２７のオーバーフローが防止される。
【００６５】
ところでＡＶＣでは、仮想デコーダが定義され、この仮想デコーダの入力バッファであるＣＰＢがアンダーフローしないようにレート制御することが求められる。従来の符号化装置１では、このＣＰＢに係るレート制御においても、実際の符号化データＤ４のビット量を基準にして実行していた。
【００６６】
この実施例では、このＣＰＢに係る制御に関して、ｂｉｎ量により予測ビット量を求める構成を有効に利用して、アンダーフローの判定単位であるスライスを単位にして、予測ビット量が制御部２８で累積加算される。またこの累積加算値が判定基準値で判定され、ＣＰＢのアンダーフローの発生が予測される。またこのアンダーフローの発生の予測により、アンダーフローを回避する処理が実行される。
【００６７】
この実施例では、ｂｉｎ量により予測ビット量を求めていることから、従来の符号化データＤ４のビット量を基準にした処理に比して、アンダーフローの発生予測をアンダーフローが実際に発生する直前で確実に実行することができる。言い換えるならば、従来に比して早期にアンダーフローの発生を予測することができる。従って従来に比して、不必要にアンダーフローの発生を回避する処理を実行しないようにすることができ、その結果、従来に比して高画質の符号化データＤ４を出力することができる。
【００６８】
（３）実施例の効果
以上の構成によれば、ｂｉｎ量の増大によりしきい値を境にして次数が変化する予測関数を用いてｂｉｎ量から発生ビット量を予測してレート制御することにより、算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減することができる。
【００６９】
より具体的に、ｂｉｎ量の増大により二次関数から一次関数に次数が変化する予測関数を用いてｂｉｎ量から発生ビット量を予測することにより、十分な精度でレート制御の処理を実行して、算術符号化処理に係る構成を従来に比して簡略化し、回路規模及び消費電力を低減することができる。
【００７０】
またｂｉｎ量をレート制御の単位で累積して累積値を得、この累積値を予測関数で演算処理して予測値を検出することにより、簡易な処理で予測値を検出することができる。
【００７１】
またｂｉｎ量と対応する予測ビット量とを順次記録したメモリをアクセスして予測ビット量を出力することにより、簡易な構成で予測値を検出することができる。
【００７２】
またこの予測ビット量を用いて仮想デコーダの入力段に設けられるバッファメモリのアンダーフローの発生を予測し、アンダーフローの発生を回避する処理を実行することにより、従来に比して高画質の符号化データＤ４を出力することができる。
【実施例２】
【００７３】
図６は、図５との対比により本発明の実施例２の符号化装置を示すブロック図である。この符号化装置３１は、制御部２８に代えて制御部３８が設けられる。ここでこの制御部３８は、レート制御部２８Ａに代えて、レート制御部３８Ａが設けられる点を除いて、上述の実施例と同一に構成される。
【００７４】
この実施例の制御部３８は、このレート制御部３８Ａにより、アクティビティー検出部で検出されるアクティビティーに応じて予測関数を動的に可変する。レート制御部３８Ａは、このアクティビティーに応じて予測関数を動的に可変する構成が異なる点を除いて、レート制御部２８Ａと同一に構成される。
【００７５】
具体的に、レート制御部３８Ａは、アクティビティーが所定の判定基準値より大きくなると、線型の特性に近づくように、予測関数を可変する。なお線型の特性に近づくように予測関数を可変する場合には、例えば（１）式における係数ａの値を小さくする場合、さらにはしきい値ＴＨ（ｄ）を小さくすると共に、このしきい値ＴＨの変更に対応するように、係数ｅ及びｆを変更する場合等である。
【００７６】
すなわち種々に検討した結果によれば、ノイズ画像のようなアクティビティーの高い入力画像データでは、近似曲線を線型に近づけて、予測ビット量ｙの精度が向上することが判った。そこでこの実施例では、アクティビティーに応じて予測関数を動的に可変してレート制御の精度を向上し、画質を向上する。
【００７７】
この実施例によれば、入力画像データのアクティビティーに応じて予測関数を可変することにより、レート制御の精度を向上し、画質を向上することができる。
【実施例３】
【００７８】
図７は、図５との対比により本発明の実施例３の符号化装置を示すブロック図である。この符号化装置４１は、制御部２８に代えて制御部４８が設けられる。ここでこの制御部４８は、レート制御部２８Ａに代えて、レート制御部４８Ａが設けられる点を除いて、上述の実施例と同一に構成される。
【００７９】
この実施例の制御部４８は、このレート制御部４８Ａにより、量子化部７から出力される出力データの値に応じて予測関数を動的に可変する。レート制御部４８Ａは、この量子化部７から出力される出力データＤ３の値に応じて予測関数を動的に可変する構成が異なる点を除いて、レート制御部２８Ａと同一に構成される。
【００８０】
具体的に、制御部４８は、マクロブロック単位で、量子化部７から出力される出力データの絶対値和を計算する。なお絶対値和に代えて２乗和を適用するようにしてもよい。制御部４８は、この絶対値和を所定の判定基準値で判定し、この絶対値和が判定基準値より小さい場合、線型の特性に近づくように予測関数を可変する。
【００８１】
すなわち種々に検討した結果によれば、量子化部７から出力される出力データの値が小さい場合には、近似曲線を線型に近づけて、予測ビット量ｙの精度が向上することが判った。そこでこの実施例では、量子化部７から出力される出力データの値に応じて予測関数を動的に可変してレート制御の精度を向上し、画質を向上する。
【００８２】
この実施例によれば、量子化部から出力される出力データの値に応じて予測関数を可変することにより、レート制御の精度を向上し、画質を向上することができる。
【実施例４】
【００８３】
図８は、図５との対比により本発明の実施例４の符号化装置を示すブロック図である。この符号化装置５１は、制御部２８に代えて制御部５８が設けられる。ここでこの制御部５８は、レート制御部２８Ａに代えて、レート制御部５８Ａが設けられる点を除いて、上述の実施例と同一に構成される。
【００８４】
この実施例の制御部５８は、このレート制御部５８Ａにより、符号化データＤ４のデータ圧縮率に応じて予測関数を動的に可変する。レート制御部５８Ａは、この符号化データＤ４のデータ圧縮率に応じて予測関数を動的に可変する構成が異なる点を除いて、レート制御部２８Ａと同一に構成される。
【００８５】
具体的に制御部５８は、マクロブロック単位で、符号化データＤ４の１マクロブロックのビット量により、又は予測ビット量ｙにより、符号化データＤ４のデータ圧縮率を検出する。また制御部５８は、この１マクロブロックのビット量又は予測ビット量ｙを所定の判定基準値で判定し、１マクロブロックのビット量又は予測ビット量ｙが判定基準値より小さく、データ圧縮率がこの判定基準値で決まる値より大きい場合、線型の特性に近づくように予測関数を可変する。
【００８６】
すなわち種々に検討した結果によれば、符号化データＤ４のデータ圧縮率が大きい場合には、近似曲線を線型に近づけて、予測ビット量ｙの精度が向上することが判った。そこでこの実施例では、符号化データＤ４のデータ圧縮率に応じて予測関数を動的に可変し、レート制御の精度を向上して画質を向上する。
【００８７】
この実施例によれば、符号化データＤ４のデータ圧縮率に応じて予測関数を動的に可変することにより、レート制御の精度を向上し、画質を向上することができる。
【実施例５】
【００８８】
この実施例では、制御部において、２値算術符号化部における１マクロブロック分の２値化シンボルの処理に要する時間を判定し、この時間が一定時間以上短い場合に、予測ビット量に代えて実際の符号化データＤ４のビット量によりレート制御の処理を実行する。この実施例の符号化装置は、このレート制御の基準の切り換えに関する構成を除いて、上述の各実施例と同一に構成される。
【００８９】
この実施例によれば、２値算術符号化部における２値化シンボルの処理に要する時間が一定時間以上短い場合、予測ビット量に代えて実際の符号化データＤ４のビット量によりレート制御の処理を実行することにより、予測ビット量と実際の符号化データＤ４のビット量との誤差によるレート制御の精度の劣化を有効に回避して、上述の実施例と同様の効果を得ることができる。
【実施例６】
【００９０】
なお上述の実施例においては、マクロブロック単位でｂｉｎ量を累積加算した後、予測ビット量を求める場合について述べたが、本発明はこれに限らず、これとは逆に各２値化データのｂｉｎ量から予測ビット量を求め、この予測ビット量をマクロブロック単位で累積加算してもよい。
【００９１】
また上述の実施例においては、しきい値を境にして２次から１次に次数が変化する多項式により予測関数を生成する場合について述べたが、本発明はこれに限らず、これら以外の次数の多項式により予測関数を生成するようにしてもよく、要はしきい値を境にして次数が変化する多項式により予測関数を生成して、上述の実施例と同様の効果を得ることができる。
【００９２】
また上述の実施例においては、レート制御の単位を、符号化処理単位であるマクロブロックとする場合について述べたが、本発明はこれに限らず、例えばレート制御の単位を２マクロブロック単位とする場合等、レート制御の単位は種々に設定することができる。
【００９３】
また上述の実施例２、３、４では、予測関数を２段階で可変する場合について述べたが、本発明はこれに限らず、３段階以上の多段階で可変してもよい。
【００９４】
また上述の実施例２、３、４では、マクロブロック単位で予測関数を可変する場合について述べたが、本発明はこれに限らず、複数のマクロブロック単位で予測関数を可変してもよい。
【００９５】
また上述の実施例２等は、それぞれアクティビティーにより予測関数を可変する場合等について述べたが、本発明はこれに限らず、上述の実施例の構成を組み合わせるようにしてもよい。
【００９６】
また上述の実施例では、予測ビット量により処理対象ピクチャーの目標ビット量を計算すると共に、レート制御の処理を実行する場合について述べたが、本発明はこれに限らず、処理対象ピクチャーの目標ビット量の計算については、符号化データＤ４の符号量により計算してもよい。なおこの場合に、２値算術符号化部で処理に時間を要する場合には、処理対象ピクチャーの２フレーム前のピクチャーで検出される符号化データのビット量により、処理対象ピクチャーの１フレーム前のピクチャーを含む残りのピクチャーに割り当て可能なビット量を配分して処理対象ピクチャーの目標ビット量を計算することになる。
【００９７】
また上述の実施例では、入力画像データをリアルタイムで処理することを前提とする場合について述べたが、本発明はこれに限らず、入力画像データをリアルタイムで処理しない場合にも広く適用することができる。
【００９８】
また上述の実施例では、本発明をＡＶＣの符号化装置に適用する場合について述べたが、本発明はこれに限らず、ＡＶＣ以外の各種算術符号化方法による符号化装置にも広く適用することができる。
【００９９】
また上述の実施例では、ハードウエアにより符号化装置を構成する場合について述べたが、本発明はこれに限らず、例えばコンピュータにおける編集プログラム等、ソフトウエアにより符号化装置を構成する場合にも広く適用することができる。この場合、このソフトウエアに係るプログラムは、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、またインターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
【産業上の利用可能性】
【０１００】
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、例えばＡＶＣの符号化方式によりビデオデータを符号化処理する場合に適用することができる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施例１の符号化装置を示すブロック図である。
【図２】図１の符号化装置における予測関数の説明に供する特性曲線図である。
【図３】発生ビット量とｂｉｎ量との関係を示す特性曲線図である。
【図４】テーブルの説明に供する図表である。
【図５】レート制御の説明に供するブロック図である。
【図６】本発明の実施例２の符号化装置の説明に供するブロック図である。
【図７】本発明の実施例３の符号化装置の説明に供するブロック図である。
【図８】本発明の実施例４の符号化装置の説明に供するブロック図である。
【図９】従来の符号化装置を示すブロック図である。
【図１０】従来の符号化装置のレート制御の説明に供するブロック図である。
【符号の説明】
【０１０２】
１、２１、３１、４１、５１……符号化装置、２……予測符号化部、３、２３……算術符号化部、６……直交変換部、７……量子化部、８、２８、３８、４８、５８……制御部、８Ａ、２８Ａ、３８Ａ、４８Ａ、５８Ａ……レート制御部、１５、２５……２値化部、１６……コンテキスト計算部、１７……２値算術符号化器、１８……バッファ、２６……符号量予測部、２７……２値化バッファ
【図１】
0004513841.tif 000003
【図２】
0004513841.tif 000004
【図３】
0004513841.tif 000005
【図４】
0004513841.tif 000006
【図５】
0004513841.tif 000007
【図６】
0004513841.tif 000008
【図７】
0004513841.tif 000009
【図８】
0004513841.tif 000010
【図９】
0004513841.tif 000011
【図１０】
0004513841.tif 000012