(57)【要約】【課題】発生符号量を目標符号量に近づけるよう量子化制御を実行する画像符号化装置及び画像符号化プログラムを提供する。【解決手段】量子化部における所定単位時間あたりの発生符号量を計測する発生符号量計測部と、所定単位時間あたりの目標符号量を保持する目標符号量設定部と、発生符号量計測部によって計測された値と目標符号量との差分値を算出する差分符号量算出部と、所定単位時間毎にバッファ部のバッファ残量を計測するバッファ残量計測部と、量子化パラメータを算出して、前記量子化部に設定する量子化パラメータ算出部とを備え、量子化パラメータ算出部は、算出された差分値と、計測されたバッファ残量との少なくとも一方に基づいて、次に符号化する画像データの量子化パラメータを算出する。【選択図】  図１
2006352198.tif 000002
【特許請求の範囲】
【請求項１】
設定された量子化パラメータに基づいて画像データを符号化する量子化部と、前記符号化されたデータを出力するためのバッファメモリを含むバッファ部とを備えた画像符号化装置であって、
前記量子化部における所定単位時間あたりの発生符号量を計測する発生符号量計測部と、
所定単位時間あたりの目標符号量を保持する目標符号量設定部と、
前記発生符号量計測部によって計測された符号量と前記目標符号量との差分値を算出する差分符号量算出部と、
前記バッファ部のバッファ残量を所定単位時間毎に計測するバッファ残量計測部と、
量子化パラメータを算出して、前記量子化部に設定する量子化パラメータ算出部と
を備え、
前記量子化パラメータ算出部は、前記算出された差分値と、前記計測されたバッファ残量との少なくとも一方を用いて、次に符号化する画像データの量子化パラメータを算出することを特徴とする画像符号化装置。
【請求項２】
前記計測されたバッファ残量に基づいて、前記算出された差分値と前記計測されたバッファ残量との少なくとも一方を、前記量子化パラメータ算出部が用いる値として選択する量子化制御切替部を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記量子化パラメータ算出部によって算出された量子化パラメータの変動幅を制御して、前記量子化部に量子化パラメータを設定する量子化パラメータ変動幅制御部と、
直前に符号化した画像データに設定された量子化パラメータを保持する量子化パラメータ保持部とを備え、
前記量子化パラメータ変動幅制御部は、直前に符号化した画像データに設定された量子化パラメータを前記量子化パラメータ保持部から読み出して、前記量子化部に設定される量子パラメータを、当該読み出した量子化パラメータに対する所定の変動幅に制限して設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記量子化パラメータ算出部は、
前記算出された差分値を用いて第１の量子化パラメータを算出する第１の量子化パラメータ算出部と、
前記計測されたバッファ残量を用いて第２の量子化パラメータを算出する第２の量子化パラメータ算出部と、
次に符号化する画像データに設定する第３の量子化パラメータを決定する第３の量子化パラメータ決定部と
を備え、
前記第３の量子化パラメータ決定部は、前記第１の量子化パラメータと前記第２の量子化パラメータとを用いて、第３の量子化パラメータを算出することを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記第３の量子化パラメータ決定部は、前記算出されたバッファ残量に基づいて、前記第１の量子化パラメータと前記第２の量子化パラメータとの重み付けを算出し、前記重み付けを用いて前記第３の量子化パラメータを算出することを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記バッファ残量に基づいて増減するカウンタ値を設定するカウンタ部を備え、
前記第３の量子化パラメータ決定部は、前記設定されたカウンタ値に基づいて、前記第１の量子化パラメータと前記第２の量子化パラメータとの重み付けを算出し、前記重み付けを用いて前記第３の量子化パラメータを算出することを特徴とする請求項４に記載の画像符号化装置。
【請求項７】
設定した量子化パラメータに基づいて画像データを符号化する画像符号化方法を実行する画像符号化プログラムであって、
前記画像符号化方法は、
画像データを符号化する量子化部における所定単位時間あたりの発生符号量を計測する第１のステップと、
所定単位時間あたりの目標符号量を保持する第２のステップと、
前記発生符号量計測部によって計測された符号量と予め保持された所定単位時間あたりの目標符号量との差分値を算出する第３のステップと、
量子化されたデータを出力するためのバッファメモリを含むバッファ部のバッファ残量を所定単位時間毎に計測する第４のステップと、
前記算出された差分値と、前記計測されたバッファ残量との少なくとも一方を用いて、次に符号化する画像データの量子化パラメータを算出して、前記量子化部に設定する第５のステップと
を備えることを特徴とする画像符号化プログラム。
【請求項８】
前記第５のステップは、前記バッファ残量に基づいて、前記差分値と前記バッファ残量との少なくとも一方を選択して、当該選択した値を用いて、次に符号化する画像データの量子化パラメータを算出して、前記量子化部に設定することを特徴とする請求項７に記載の画像符号化プログラム。
【請求項９】
直前に符号化した画像データに設定した量子化パラメータを保持する第６のステップと、
前記量子化部に設定する量子化パラメータを、直前に符号化された画像データに設定した量子化パラメータに対する所定の変動幅に制限して設定する第７のステップと
を備えることを特徴とする請求項７に記載の画像符号化プログラム。
【請求項１０】
前記第５のステップは、
前記算出された差分値を用いて第１の量子化パラメータを算出する第８のステップと、
前記計測されたバッファ残量を用いて第２の量子化パラメータを算出する第９のステップと、
前記第１の量子化パラメータと、前記第２の量子化パラメータとを用いて、第３の量子化パラメータを算出する第１０のステップと
を備えることを特徴とする請求項７に記載の画像符号化プログラム。
【請求項１１】
前記第１０のステップは、前記算出されたバッファ残量に基づいて、前記第１の量子化パラメータと前記第２の量子化パラメータとの重み付けを算出し、前記重み付けを用いて前記第３の量子化パラメータを算出することを特徴とする請求項１０に記載の画像符号化プログラム。
【請求項１２】
前記バッファ残量に基づいて増減するカウンタ値を設定する第１１のステップを備え、
前記第１０のステップは、前記設定されたカウンタ値に基づいて、前記第１の量子化パラメータと前記第２の量子化パラメータとの重み付けを算出し、前記重み付けを用いて前記第３の量子化パラメータを算出することを特徴とする請求項１０に記載の画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を高能率に符号化する画像符号化装置に関し、特に、発生符号量を目標符号量に近づけるよう量子化制御を実行する画像符号化装置及び画像符号化プログラムに関する。
【背景技術】
【０００２】
テレビジョン信号などの動画像データを高能率に符号化して、記録又は伝送する手法として、ＭＰＥＧ（Moving Picture Experts Group）方式等の符号化方式が策定されている。このＭＰＥＧの国際標準化規格として、ＭＰＥＧ−１規格、ＭＰＥＧ−２規格、ＭＰＥＧ−４規格等の符号化方式が用いられている。また、さらに圧縮率を向上させる方式として、H.264/AVC（Advanced Video Coding）規格等が定められている。
【０００３】
一般に、動画像を符号して圧縮する手法には、時間的な相関を利用した圧縮と空間的な相関を利用した圧縮とを組み合わせたハイブリッド符号化と呼ばれる手法が用いられる。
【０００４】
時間的な相関を利用した圧縮は、前後の画面が似ている（相関性が高い）ことを利用する。具体的には、前フレームと現フレームとの変化がない場合は、情報を送らない又は前フレームの最も似た絵柄を見つけてその部分の動き量と差分情報だけを送る。このようにすることで情報量を圧縮する。これを、動き補償予測手法と呼ぶ。
【０００５】
また、空間的な相関を利用した圧縮は、画面内で隣接する画素間の値が近い（相関性が高い）ことを利用する。具体的には、画面内のある領域単位に、ＤＣＴ（Discrete Cosine Transform）を用いて周波数変換する手法が用いられる。
【０００６】
そして、動き補償予測とＤＣＴ変換とによって画像データの持つ冗長性が取り除かれた信号に対して、量子化によってデータを圧縮する。量子化とは、ＤＣＴ係数を量子化ステップ値で除算して小さい値に変換し、整数に丸める処理である。これによって、小さい数値の多い高周波成分が０に抑えられ、発生する符号量を大幅に削減できる。
【０００７】
従来の量子化制御方法としては、例えば、フレーム単位量子化制御部は、現画像フレームで用いられる量子化特性を、前画像フレームの発生情報量に基づいて決定する。ブロック単位発生情報量算出部は、現画像フレームでの現時点までの累積発生情報量から、１ブロック当たりの発生情報量を算出する。最大許容情報量算出部は、現画像フレーム内の１ブロック符号化毎に、１ブロック当たりの最大許容情報量を算出する。比較部は、現画像フレーム内の１ブロック符号化毎に、１ブロック当たりの発生情報量と最大許容情報量とを比較する。ブロック単位量子化制御部は、比較結果に基づいて、フレーム単位量子化制御部で決定した量子化特性を中心とした予め定めた範囲で、次ブロックの量子化特性を決定する符号化制御装置がある（特許文献1参照。）。
【０００８】
この特許文献１に記載の発明によると、これから処理される画像フレーム又は画像フレームを構成するブロックの符号化に用いられる基準となる量子化ステップを、１つ前の画像フレームの符号化によって生成されたデータ量である発生符号量に基づいて決定する。すなわち、予め定めた目標符号量と発生符号量との差分値に応じて、目標符号量が発生符号量よりも大きい場合は量子化パラメータを大きくして発生符号量を減らすように制御する。また、目標符号量が発生符号量よりも小さい場合は、量子化パラメータを小さくして発生符号量を増やすように制御する。このようにすることによって、発生符号量を目標符号量に近づけるように制御する。
【特許文献１】特開２００２−７７９０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、発生符号量に基づいた量子化制御は、エンコーダの送信バッファあるいはデコーダの受信バッファが破綻する可能性があるという問題点がある。
【００１０】
この問題点について具体的な例を説明する。
【００１１】
図１５及び図１６は、発生符号量に基づいて量子化制御するエンコーダの一例の説明図である。図１５は、単位時間あたりの発生符号量を示し、図１６は、単位時間あたりの仮想バッファ占有量を示す。
【００１２】
図１５において、時刻＝Ｔ１では急激な入力画像の変化又はシーンチェンジ等によって、発生符号量が目標符号量を大きく上回っている。そこでエンコーダは、次の時刻＝Ｔ２で量子化パラメータを大きくして発生符号量を減らす制御を実行する。同様に、時刻＝Ｔｎ＋１でも発生符号量が目標符号量を大きく上回っており、時刻＝Ｔｎ＋２では量子化パラメータを大きくして発生符号量を減らす制御を実行する。
【００１３】
なお、エンコーダの送信バッファにおける符号化データの充足度合いを示す評価値として、仮想バッファ占有量を用いる。仮想バッファ占有量とは、単位時間あたりの発生符号量から単位時間あたりに伝送回線に出力されたデータ量を減算した値の累積値として定義される。発生符号量が伝送回線に出力されたデータ量よりも多ければ、仮想バッファ残量は０よりも大きくなる。逆に、発生符号量が伝送回線に出力されたデータ量よりも少なければ、仮想バッファ残量は０よりも小さくなる。
【００１４】
図１６において、発生符号量が目標符号量を大きく上回っているのと同期して、時刻Ｔ１、Ｔｎ＋１で仮想バッファ残量が大きく増え、その後、徐々に増加している。
【００１５】
このように、発生符号量に基づいた量子化制御では、エンコーダの送信バッファサイズは有限値（図１６のバッファ残量上限値）であるにも関わらず、仮想バッファ占有量が考慮されない。図１５及び図１６の例では、時刻＝Ｔｎ＋４でバッファ破綻が発生する。
【００１６】
このバッファ破綻という問題に対して、前記特許文献１に記載の発明では、仮想バッファ占有量が０よりも大きい場合は量子化パラメータを大きくして発生符号量を減らすように制御する。また、仮想バッファ占有量が０よりも小さい場合は量子化パラメータを小さくして発生符号量を増やすように制御する。このようにすることによって、発生符号量を目標符号量に近づけるように制御する。しかしながら、仮想バッファ占有量に基づいた量子化制御方法は、目標符号量への収束時間が長くなり、発生符号量の変動幅が大きくなるために主観上の画質劣化が目に付きやすくなるという問題点がある。
【００１７】
この問題点について具体的な例を説明する。
【００１８】
図１７及び図１８は、仮想バッファ占有量に基づいて量子化制御するエンコーダの一例の説明図である、図１７は単位時間あたりの発生符号量を示し、図１８は、単位時間当たりの仮想バッファ占有量を示す。
【００１９】
図１７において、前述の図１５と同様に、時刻＝Ｔ１で急激な入力画像の変化又はシーンチェンジ等により発生符号量が目標符号量を大きく上回っている。このときエンコーダは、時刻＝Ｔ１で仮想バッファ占有量＞０となるため、次の時刻＝Ｔ２で量子化パラメータを大きくして発生符号量を減らすように制御する。
【００２０】
より具体的には、時刻＝Ｔ２では、発生符号量が目標符号量に近づいているが、このときの仮想バッファ占有量は、＞０のため、さらに量子化パラメータを大きくして発生符号量を減らすように制御する。そのため、時刻＝Ｔ３では、発生符号量が目標符号量に対して減少している。
【００２１】
このように、仮想バッファ残量に基づいた量子化制御では、発生符号量に基づいた量子化制御と比較するとバッファ破綻が起こりにくい。しかし、目標符号量への収束に時間がかかり、また発生符号量の変動も大きくなる。そのため視覚上の画質劣化が目に付きやすいという問題点がある。
【００２２】
本発明はこのような従来技術の問題点を鑑みて、発生符号量に基づく量子化制御とバッファ残量に基づく量子化制御とを設け、これらの量子化制御手段を適応的に組み合わせることによって、目標符号量への収束時間を短縮できると共に、バッファ破綻を抑制することのできる画像符号化装置及び画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明は、設定された量子化パラメータに基づいて画像データを符号化する量子化部と、符号化された画像データを出力するためのバッファメモリを含むバッファ部とを備えた画像符号化装置であって、量子化部における所定単位時間あたりの発生符号量を計測する発生符号量計測部と、所定単位時間あたりの目標符号量を保持する目標符号量設定部と、発生符号量計測部によって計測された値と目標符号量の差分値を算出する差分符号量算出部と、所定単位時間毎にバッファ部のバッファ残量を計測するバッファ残量計測部と、量子化パラメータを算出して前記量子化部に設定する量子化パラメータ算出部とを備え、量子化パラメータ算出部は、算出された差分値と、計測されたバッファ残量との少なくとも一方に基づいて、次に符号化する画像データの量子化パラメータを算出することを特徴とする。
【発明の効果】
【００２４】
本発明によると、発生符号量に基づく量子化制御とバッファ残量に基づく量子化制御を適応的に選択する、又は、組み合わせることによって、目標符号量への収束時間を短くすると共に、発生符号量が目標符号量から大きく異なることによるバッファの破綻を抑制する効果がある。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態を図面を参照して説明する。
（第１実施形態）
図１は、本発明の第１の実施形態の画像符号化装置の構成ブロック図である。
【００２６】
図１に示す画像符号化装置は、量子化部１０１、可変長符号化部１０２、バッファ部１０３、目標符号量設定部１０４、発生符号量計測部１０５、差分符号量算出部１０６、バッファ残量計測部１０７、量子化制御切替部１０８、量子化パラメータ算出部１０９、減算器１１０、フレームメモリ１１１、ＤＣＴ部１１２、逆量子化部１１３、ＩＤＣＴ部１１４、加算器１１５を備える。
【００２７】
なお、これら各部はハードウェアによって構成されていてもよいし、ソフトウェアによって構成されていてもよい。また、ハードウェアとソフトウェアとを組み合わせたモジュールであってもよい。
【００２８】
以下に、図１に示した画像符号化装置の動作について説明する。
【００２９】
映像信号は図示しない画像ブロック分割装置によって分割される。分割された画像ブロックは、減算器１１０を経由してＤＣＴ部１１２に入力される。ＤＣＴ部１１２は、入力データを画像ブロック毎に直交変換して、量子化部１０１に出力する。
【００３０】
量子化部１０１は、量子化パラメータ算出部１０９によって算出された量子化パラメータを用いて、入力されたＤＣＴ変換データを量子化する。量子化されたデータは、可変長符号化部１０２に入力される。可変長符号化部１０２は、入力データを可変長符号化する。可変長符号化部１０２によって符号化された符号化データは、バッファ部１０３に一旦格納される。バッファ部１０３は、入力された符号化データを、伝送回線速度にあわせて出力する。
【００３１】
一方、量子化部１０１によって生成された量子化データは、逆量子化部１１３に入力される。逆量子化部１１３は、量子化データを逆量子化する。逆量子化された画像ブロックはＩＤＣＴ部１１４に入力される。ＩＤＣＴ部１１４は、このデータを逆直交変換して差分ブロックとして復元する。復元された差分ブロックは、加算器１１５を経由して局部復号画像ブロックとして一旦フレームメモリ１１１に格納される。そして、この局部復号画像ブロックと入力された画像ブロックとが減算器１１０に入力され、その結果がＤＣＴ部１１２に出力される。
【００３２】
本発明の画像符号化装置は、ハイブリッド符号化を用いて、動き補償予測とＤＣＴ変換とによって画像データの持つ冗長性が取り除かれた信号に対して、量子化によってデータを圧縮する。量子化後のデータは動き補償情報や符号化モード情報等のサイド情報とともに可変長符号化する。この符号化データは送信バッファに一旦蓄積されて、伝送回線速度にあわせて出力される。
【００３３】
画像の空間的相関性や時間的相関性は入力画像の変化により刻々と変化するため、ＤＣＴ変換後の符号量も刻々と変化する。そこで、発生符号量を所望の目標符号量に合致させるためには、量子化部１０１の量子化パラメータを適宜変更する量子化制御が必要となる。
【００３４】
量子化パラメータと発生符号量の関係については、一般に、量子化パラメータを大きくするほど発生符号量が少なくなるが、逆に量子化パラメータを小さくするほど発生符号量が多くなるという性質がある。この量子化制御が適切に実行されない場合には、シーンチェンジ等、入力画像が急激に変化した場合には、発生符号量が目標符号量から大きく外れたり、発生符号量の変動補正に時間がかかることによって画質劣化が検知されやすくなる。
【００３５】
さらに、目標符号量に対する発生符号量の差によっては、アンダフロー、オーバーフロー等のバッファ破綻を生じ、復号画像に著しい画質劣化を生ずることがある。そのため、適切な量子化制御は、画質向上及び安定した符号化・復号化動作を継続するために重要な機能である。
【００３６】
次に、本実施形態の量子化パラメータを算出する量子化制御について説明する。
【００３７】
発生符号量計測部１０５は、可変長符号化部１０２から出力される所定単位時間あたりの符号量を計測しており、その結果を差分符号量算出部１０６に出力する。また、目標符号量設定部１０４は、予め所定単位時間あたりの目標符号量が設定され、設定された目標符号量を格納している。これを差分符号量算出部１０６に出力する。
【００３８】
差分符号量算出部１０６は、発生符号量計測部１０５によって計測された発生符号量と、目標符号量設定部１０４に格納されている所定単位時間あたりの目標符号量との差分値を算出して、量子化制御切替部１０８に出力する。
【００３９】
バッファ残量計測部１０７は、所定単位時間毎にバッファ部１０３のバッファ残量を計測しており、その結果を量子化制御切替部１０８に出力する。
【００４０】
量子化制御切替部１０８は、差分符号量算出部１０６によって算出された差分値と、バッファ残量計測部１０７によって計測されたバッファ残量とのいずれを、次に符号化する画像データに設定する量子化パラメータを決定するために用いるかを決定する。
【００４１】
量子化パラメータ算出部１０９は、量子化制御切替部１０８によって決定された結果に基づいて、バッファ残量と差分値とのいずれかを用いて、次に符号化する画像データに設定する量子化パラメータを決定する。
【００４２】
すなわち、画像符号化装置は、量子化切替部１０８によってバッファ残量が決定された場合は、バッファ残量に基づいた量子化制御をし、量子化切替部１０８によって差分値が決定された場合は、発生符号量に基づいた量子化制御をする。
【００４３】
なお、前述の所定単位時間は、１フレームを単位とする。また、入力画像がインタレース信号の場合には１フィールドを単位としてもよい。又は、１フレームを複数のブロックに分割した際のブロックを所定単位時間としてもよい。さらに、フレーム単位で符号化モード（Ｉピクチャ、Ｐピクチャ、Ｂピクチャ）を変更する場合には、１ＧＯＰ（Group Of Pictures）を所定時間単位としてもよい。
【００４４】
次に、量子化制御切替部１０８の詳細な動作を説明する。
【００４５】
図２は、量子化制御切替部１０８の処理を示すフローチャートである。
【００４６】
量子化制御切替部１０８は、バッファ残量計測部１０７によって所定時間毎に計測されたバッファ残量が入力される。これをバッファ残量Ｂｕｆｆとする。
【００４７】
量子化制御切替部１０８は、まず、入力されたバッファ残量Ｂｕｆｆと、予め定めた下限閾値Ｂｔｈ１との大小関係を比較する（Ｓ２０１）。比較の結果、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ１よりも大きいと判定した場合は、Ｓ２０２に移行する。一方、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ１以下であると判定した場合は、Ｓ２０４に移行する。
【００４８】
次に、量子化制御切替部１０８は、入力されたバッファ残量Ｂｕｆｆと、予め定めた上限閾値Ｂｔｈ２との大小関係を比較する（Ｓ２０２）。比較の結果、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ２よりも小さいと判定した場合は、Ｓ２０３に移行する。一方、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ２以上であると判定した場合は、Ｓ２０４に移行する。
【００４９】
なお、この下限閾値Ｂｔｈ１及び上限閾値Ｂｔｈ２は、次の数式１に示す大小関係を満たす。
【００５０】
【数１】
2006352198.tif 000003
【００５１】
Ｓ２０１及びＳ２０２の結果として、Ｂｔｈ１＜Ｂｕｆｆ＜Ｂｔｈ２の条件を満たす場合は、Ｓ２０３に移行する。Ｓ２０３では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを０に設定する。
【００５２】
Ｓ２０１及びＳ２０２の結果として、Ｂｕｆｆ≦Ｂｔｈ１又はＢｔｈ２≦Ｂｕｆｆの条件を満たす場合は、Ｓ２０４に移行する。Ｓ２０４では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを１に設定する。
【００５３】
この量子化制御フラグＱｃｔｒｌ＿ｆｌａｇは、量子化パラメータ算出部１０９が量子化パラメータを決定する際に、バッファ残量と発生符号量とのいずれを用いるかを選択するためのフラグである。
【００５４】
量子化パラメータ算出部１０９は、量子化制御切替部１０８によって決定した量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを参照する。そして、Ｑｃｔｒｌ＿ｆｌａｇ＝０の場合は、発生符号量に基づいて量子化制御をする。一方、Ｑｃｔｒｌ＿ｆｌａｇ＝１の場合は、バッファ残量の値に基づいて量子化制御をする。
【００５５】
この図２の処理によって、バッファ部１０３のバッファ残量が、予め定めた下限閾値より大きく、かつ、予め定めた上限閾値より小さい場合には、画像符号化装置は、発生符号量に基づいて量子化制御する。これによって、目標符号量への収束時間を短くできる。また、バッファ残量が、予め定めた下限閾値より小さい、又は、予め定めた上限閾値より大きい場合には、画像符号化装置は、バッファ残量に基づいて量子化制御する。これによって、バッファ破綻を防ぐことができる。
【００５６】
図３は、量子化制御切替部１０８の処理の別の例を示すフローチャートである。
【００５７】
図３の例では、図２で用いた下限閾値Ｂｔｈ１、上限閾値Ｂｔｈ２に加えて、下限閾値Ｂｔｈ３と上限閾値Ｂｔｈ４とを追加して用いる。
【００５８】
なお、この四つの閾値は、次の数式２に示す大小関係を満たす。
【００５９】
【数２】
2006352198.tif 000004
【００６０】
量子化制御切替部１０８は、バッファ残量計測部１０７によって所定時間毎に計測されたバッファ残量が入力される。これをバッファ残量Ｂｕｆｆとする。
【００６１】
まず、量子化制御切替部１０８は、量子化制御フラグＱｃｔｒｌ＿ｆｌａｇが０であるか否かを判定する（Ｓ３０１）。Ｑｃｔｒｌ＿ｆｌａｇが０であると判定した場合はＳ３０２に移行し、Ｑｃｔｒｌ＿ｆｌａｇが０でない、すなわちＱｃｔｒｌ＿ｆｌａｇが１であると判定した場合は、Ｓ３０４に移行する。
【００６２】
次に、量子化制御切替部１０８は、入力されたバッファ残量Ｂｕｆｆと、予め定めた下限閾値Ｂｔｈ１との大小関係を比較する（Ｓ３０２）。比較の結果、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ１よりも大きいと判定した場合は、Ｓ３０３に移行する。一方、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ１以下であると判定した場合は、Ｓ３０７に移行する。
【００６３】
次に、量子化制御切替部１０８は、入力されたバッファ残量Ｂｕｆｆと、予め定めた上限閾値Ｂｔｈ２との大小関係を比較する（Ｓ３０３）。比較の結果、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ２よりも小さいと判定した場合は、Ｓ３０６に移行する。一方、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ２以上であると判定した場合は、Ｓ３０７に移行する。
【００６４】
Ｓ３０２及びＳ３０３の結果として、Ｂｔｈ１＜Ｂｕｆｆ＜Ｂｔｈ２の条件を満たす場合は、Ｓ３０６に移行する。Ｓ３０６では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを０に設定する。
【００６５】
Ｓ３０２及びＳ３０３の結果として、Ｂｕｆｆ≦Ｂｔｈ１又はＢｔｈ２≦Ｂｕｆｆの条件を満たす場合は、Ｓ３０７に移行する。Ｓ３０７では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを１に設定する。
【００６６】
一方、Ｓ３０４では、量子化制御切替部１０８は、入力されたバッファ残量Ｂｕｆｆと、予め定めた下限閾値Ｂｔｈ３との大小関係を比較する。比較の結果、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ３よりも大きいと判定した場合は、Ｓ３０５に移行する。一方、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ３以下であると判定した場合は、Ｓ３０９に移行する。
【００６７】
次に、量子化制御切替部１０８は、入力されたバッファ残量Ｂｕｆｆと、予め定めた上限閾値Ｂｔｈ４との大小関係を比較する（Ｓ３０５）。比較の結果、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ４よりも小さいと判定した場合は、Ｓ３０８に移行する。一方、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ４以上であると判定した場合は、Ｓ３０９に移行する。
【００６８】
Ｓ３０４及びＳ３０５の結果として、Ｂｔｈ３＜Ｂｕｆｆ＜Ｂｔｈ４の条件を満たす場合は、Ｓ３０８に移行する。Ｓ３０８では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを０に設定する。
【００６９】
Ｓ３０４及びＳ３０５の結果として、Ｂｕｆｆ≦Ｂｔｈ３又はＢｔｈ４≦Ｂｕｆｆの条件を満たす場合は、Ｓ３０９に移行する。Ｓ３０９では、量子化制御切替部１０８は、量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇを１に設定する。
【００７０】
この図３の処理によって、バッファ残量がＢｔｈ１を下回ったことで、発生符号量による量子化制御からバッファ残量による量子化制御に切り替えるときに、バッファ残量がＢｔｈ３を越えるまでバッファ残量による量子化制御を継続する。そのため、バッファ残量による制御から発生符号量による量子化制御に切り替わった後において、少なくとも（Ｂｔｈ３−Ｂｔｈ１）分のバッファの余裕度があり、発生符号量による量子化制御とバッファ残量による量子化制御とが頻繁に切り替わることを抑制できる。
【００７１】
一方、バッファ残量がＢｔｈ２を上回ったことで、発生符号量による量子化制御からバッファ残量による量子化制御に切り替わった場合についても同様に（Ｂｔｈ２−Ｂｒｈ４）分のバッファの余裕度があり、発生符号量による量子化制御とバッファ残量による量子化制御とが頻繁に切り替わることを抑制できる。
【００７２】
なお、前述の上限閾値Ｂｔｈ１及び下限閾値Ｂｔｈ２について、例えばＨ．２６４／ＡＶＣ規格では、入力画像の解像度を示すレベルの値に応じて最大ＣＰＢ（Coded Picture Buffer）サイズが規定されている。最大ＣＰＢサイズはデコーダ側で復号を行う前に符号化データを蓄積する最大バッファサイズを規定したものである。そのため、Ｈ．２６４／ＡＶＣ規格に基づいた符号化装置においては、Ｂｔｈ１＝０、Ｂｔｈ２＝最大ＣＰＢサイズとすることで規格への適合性が保証される。又は、最大ＣＰＢサイズより小さい値をＢｔｈ２に設定し、０よりも大きい値をＢｔｈ１に設定することで、バッファ破綻をより起きにくくする効果が得られる。
【００７３】
図４及び図５は、本実施の形態の画像符号化装置の動作の一例の説明図である。図４は単位時間あたりの発生符号量を示し、図５は単位時間あたりの仮想バッファ占有量を示す。
【００７４】
図４において、時刻＝Ｔ１では急激な入力画像の変化又はシーンチェンジ等によって発生符号量が目標符号量を大きく上回っている。また、図５において、時刻＝Ｔ１では仮想バッファ占有量は、バッファ残量上限と比較して小さい。そこで、量子化制御切替部１０８は、図２のフローチャートに基づいて、Ｓ２０３において量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇに０を設定する。これによって、量子化パラメータ算出部１０９は、発生符号量に基づいた量子化パラメータを算出し、量子化部１０１において画像データを符号化する。結果として、時刻Ｔ２では、発生符号量が目標符号量に近くなる。
【００７５】
時刻Ｔｎ＋１でも同様の制御によって、発生符号量を目標符号量に近づける。
【００７６】
また、時刻＝Ｔｎ＋３では、発生符号量が目標符号量に近くなっている。しかし、仮想バッファ占有量は、バッファ残量上限に近くなっている。そこで、量子化制御切替部１０８は、図２のフローチャートに基づいて、Ｓ２０４において量子化制御識別フラグＱｃｔｒｌ＿ｆｌａｇに１を設定する。これによって、量子化パラメータ算出部１０９は、バッファ残量に基づいた量子化パラメータを算出し、量子化部１０１において画像データを符号化する。結果として、時刻Ｔｎ＋４では、仮想バッファ占有量がバッファ残量上限と比較して小さくなっている。
【００７７】
以上のように、本発明の第１の実施形態の画像符号化装置では、発生符号量に基づいて量子化制御をする、又は、バッファ残量に基づいて量子化制御をする。より具体的には、バッファ部１０３のバッファ残量が、予め定めた下限閾値より大きく、かつ、予め定めた上限閾値より小さい場合には、画像符号化装置は発生符号量に基づいて量子化制御する。これによって、目標符号量への収束時間を短くできる。また、バッファ残量が、予め定めた下限閾値より小さい、又は、予め定めた上限閾値より大きい場合には、画像符号化装置は、バッファ残量に基づいて量子化制御する。これによって、バッファ破綻を防ぐことができる。
（第２実施形態）
次に、本発明の第２の実施形態を説明する。
【００７８】
図６は、本発明の第２の実施形態の画像符号化装置の構成ブロック図である。
【００７９】
なお、第１の実施形態と同一の作用をする構成には同一の符号を付し、その説明は省略する。
【００８０】
図６に示す画像符号化装置１は、量子化部１０１、可変長符号化部１０２、バッファ部１０３、目標符号量設定部１０４、発生符号量計測部１０５、差分符号量算出部１０６、バッファ残量計測部１０７、量子化パラメータ算出部４０８、４０９、量子化パラメータ決定部４１０、減算器１１０、フレームメモリ１１１、ＤＣＴ部１１２、逆量子化部１１３、ＩＤＣＴ部１１４、加算器１１５を備える。
【００８１】
以下に、第２の実施形態の画像符号化装置の量子化制御について説明する。
【００８２】
前述の第１の実施形態と同様に、発生符号量計測部１０５は、可変長符号化部１０２から出力される所定単位時間あたりの符号量を計測している。また、目標符号量設定部１０４は、予め設定された所定単位時間あたりの目標符号量が格納されている。
【００８３】
差分符号量算出部１０６は、発生符号量計測部１０５によって計測された発生符号量と、目標符号量設定部１０４によって設定された所定単位時間あたりの目標符号量との差分値を算出する。
【００８４】
バッファ残量計測部１０７は、所定単位時間毎にバッファ部１０３のバッファ残量を計測する。
【００８５】
量子化パラメータ算出部４０８は、目標符号量設定部１０４によって設定された目標符号量と、差分符号量計側部１０６によって算出された差分値とに基づいて、次に符号化する映像の量子化パラメータを算出する。
【００８６】
量子化パラメータ算出部４０９は、目標符号量設定部１０４によって設定された目標符号量とバッファ残量計測部１０７によって計測されたバッファ残量とに基づいて、次に符号化する映像の量子化パラメータを算出する。
【００８７】
量子化パラメータ決定部４１０は、バッファ残量計測部１０７によって計測されたバッファ残量に基づいて、量子化パラメータ算出部４０８によって算出された量子化パラメータと、量子化パラメータ算出部４０９によって算出された量子化パラメータとを、どのように用いて映像を量子化するかを決定する。
【００８８】
次に、量子化パラメータ決定部４１０の動作を説明する。
【００８９】
まず、量子化パラメータ算出部４０８によって算出された量子化パラメータをＱＰ＿ｂｉｔとし、量子化パラメータ算出部４０９によって算出された量子化パラメータをＱＰ＿ｂｕｆとする。また、量子化パラメータ決定部４１０が決定する最終的な量子化パラメータ、すなわち、次に符号化する画像データに設定する量子化パラメータをＱＰ＿ｆｉｎａｌとする。
【００９０】
このとき、量子化パラメータ決定部４１０は、量子化パラメータＱＰ＿ｆｉｎａｌを、次の数式３を用いて決定する。
【００９１】
【数３】
2006352198.tif 000005
【００９２】
なお、αは、ＱＰ＿ｂｉｔとＱＰ＿ｂｕｆの割合を決定する重み付け係数である。
【００９３】
この重み付け係数αの値は、バッファ残量計測部１０７によって計測されたバッファ残量を用いて決定する。
【００９４】
図７は、量子化パラメータ決定部４１０の重み付け係数αの設定の一例の説明図である。
【００９５】
量子化パラメータ決定部４１０は、バッファ残量の下限閾値を０、上限閾値をＢｔｈ５と予め設定する。バッファ残量が下限閾値と上限閾値との中間（Ｂｔｈ５／２）の場合は、重み付け係数αを０にする。そして、バッファ残量が下限閾値０又は上限閾値Ｂｔｈ５に近づくほど、αの値を大きく設定する。
【００９６】
結果として、量子化パラメータ決定部４１０は、バッファ残量が、下限閾値又は上限閾値に近づくほど、バッファ残量による量子化制御の重み付けを大きくして、量子化パラメータを決定するように制御する。
【００９７】
図８は、量子化パラメータ決定部４１０の重み付け係数αの設定の別の例の説明図である。
【００９８】
図８では、重み付け係数αの特性について、図７で用いた下限閾値０、上限閾値Ｂｔｈ５に加えて、下限閾値Ｂｔｈ６、上限閾値Ｂｔｈ７を用いる。
【００９９】
この結果、量子化パラメータ決定部４１０は、バッファ残量がＢｔｈ６より大きく、Ｂｔｈ７より小さい期間は、α＝０と設定する。結果として、図７の制御と比較して、バッファ残量の変化に対して、量子化パラメータの変動が小さくなる。
【０１００】
以上のように、第２の実施形態の画像符号化装置では、バッファ残量の値に基づいて、発生符号量に基づいて算出した量子化パラメータと、バッファ残量に基づいて設定した量子化パラメータとを組み合わせて、次に符号化する画像データに設定する量子化パラメータを決定する。より具体的には、バッファ残量に基づいて、この２つの量子化パラメータの重み付けを変更して、次に符号化する画像データに設定する量子化パラメータを決定する。
【０１０１】
この結果、バッファ残量が上限閾値と下限閾値との中間値に近い場合は、発生符号量に基づいて算出した量子化パラメータの重み付けを大きくすることによって、目標符号量への収束時間を短くできる。一方、バッファ残量が上限閾値又は下限閾値に近くなるほどバッファ残量に基づいた量子化パラメータの重み付けを大きくすることによって、エンコーダ又はデコーダでのバッファ破綻を抑制できる。
【０１０２】
なお、前述の第１の実施形態では、発生符号量に基づいた量子化制御と、バッファ残量に基づいた量子化制御とを切り替えて制御する。これに対して第２の実施形態では、バッファ残量の値によって重み付け係数を制御するので、第１の実施形態と比較すると、切り替え時の量子化パラメータの変動がより滑らかになり、急激な量子化パラメータの変動を抑制できる。従って、主観画質の急激な変動が抑制できる。
（第３実施形態３）
次に、本発明の第３の実施形態を説明する。
【０１０３】
図９は、本発明の第３の実施形態の画像符号化装置の構成ブロック図である。
【０１０４】
なお、第１又は第２の実施形態と同一の作用をする構成には同一の符号を付し、その説明は省略する。
【０１０５】
図９に示す画像符号化装置１は、量子化部１０１、可変長符号化部１０２、バッファ部１０３、目標符号量設定部１０４、発生符号量計測部１０５、差分符号量算出部１０６、バッファ残量計測部１０７、量子化パラメータ算出部７０８、７０９、カウンタ部７１０、量子化パラメータ決定部７１１、減算器１１０、フレームメモリ１１１、ＤＣＴ部１１２、逆量子化部１１３、ＩＤＣＴ部１１４、加算器１１５を備える。
【０１０６】
以下に、第３の実施形態の画像符号化装置の動作について説明する。
【０１０７】
前述の第１の実施形態と同様に、発生符号量計測部１０５は、可変長符号化部１０２から出力される所定単位時間あたりの符号量を計測している。また、目標符号量設定部１０４は、予め設定された所定単位時間あたりの目標符号量が格納されている。
【０１０８】
差分符号量算出部１０６は、発生符号量計測部１０５によって計測された発生符号量と、目標符号量設定部１０４によって設定された所定単位時間あたりの目標符号量との差分値を算出する。
【０１０９】
バッファ残量計測部１０７は、所定単位時間毎にバッファ部１０３のバッファ残量を計測する。
【０１１０】
量子化パラメータ算出部７０８は、目標符号量設定部１０４によって設定された目標符号量と、差分符号量計側部１０６によって計測された差分値とに基づいて、次に符号化する映像の量子化パラメータを算出する。
【０１１１】
量子化パラメータ算出部７０９は、目標符号量設定部１０４によって設定された目標符号量とバッファ残量計測部１０７によって計測されたバッファ残量とに基づいて、次に符号化する映像の量子化パラメータを算出する。
【０１１２】
カウンタ部７１０は、バッファ残量計測部１０７によって計測されたバッファ残量に基づいて、カウンタ値に１を加算する、又は、１を減算する。
【０１１３】
量子化パラメータ決定部７１１は、カウンタ部７１０から出力されたカウンタ値に基づいて、量子化パラメータ算出部７０８によって算出された量子化パラメータと、量子化パラメータ算出部７０９によって算出された量子化パラメータとを、どのように用いて映像を量子化するかを決定する。
【０１１４】
図１０は、カウンタ部７１０の処理のフローチャートである。
【０１１５】
カウンタ部７１０には、バッファ残量計測部１０７によって所定時間毎に計測されたバッファ残量が入力される。これをバッファ残量Ｂｕｆｆとする。
【０１１６】
カウンタ部７１０は、まず、入力されたバッファ残量Ｂｕｆｆと、予め定めた下限閾値Ｂｔｈ８との大小関係を比較する（Ｓ８０１）。
【０１１７】
比較の結果、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ８よりも大きいと判定した場合は、Ｓ８０２に移行する。一方、バッファ残量Ｂｕｆｆが、下限閾値Ｂｔｈ８以下であると判定した場合は、Ｓ８０４に移行する。
【０１１８】
次に、入力されたバッファ残量Ｂｕｆｆと、予め定めた上限閾値Ｂｔｈ９との大小関係を比較する（Ｓ８０２）。
【０１１９】
比較の結果、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ９よりも小さいと判定した場合は、Ｓ８０３に移行する。一方、バッファ残量Ｂｕｆｆが上限閾値Ｂｔｈ９以上であると判定した場合は、Ｓ８０４に移行する。
【０１２０】
なお、この二つの閾値は、次の数式４に示す大小関係を満たす。
【０１２１】
【数４】
2006352198.tif 000006
【０１２２】
Ｓ８０１及びＳ８０２の結果として、Ｂｔｈ８＜Ｂｕｆｆ＜Ｂｔｈ９の条件を満たす場合は、Ｓ８０３に移行する。
【０１２３】
Ｓ８０３では、現在のカウンタ値ｃｏｕｎｔｅｒが０よりも大きいか否かを判定する。現在のカウンタ値ｃｏｕｎｔｅｒ＞０であると判定した場合は、Ｓ８０５に移行し、カウンタ値ｃｏｕｎｔｅｒから１を減算して処理を終了する。
【０１２４】
一方、現在のカウンタ値ｃｏｕｎｔｅｒ＝０であると判定した場合は、Ｓ８０５を実行することなく処理を終了する。
【０１２５】
Ｓ８０１及びＳ８０２の結果として、Ｂｕｆｆ≦Ｂｔｈ８又はＢｔｈ９≦Ｂｕｆｆの条件を満たす場合は、Ｓ８０４に移行する。
【０１２６】
Ｓ８０４では、現在のカウンタ値ｃｏｕｎｔｅｒが、予め定めた最大値Ｎよりも小さいか否かを判定する。現在のカウンタ値ｃｏｕｎｔｅｒ＜Ｎであると判定した場合は、Ｓ８０６に移行して、カウンタ値ｃｏｕｎｔｅｒに１を加算して処理を終了する。
【０１２７】
一方、現在のカウンタ値ｃｏｕｎｔｅｒ≧Ｎであると判定した場合は、Ｓ８０６を実行することなく処理を終了する。
【０１２８】
この図１０の処理によって、カウンタ部７１０は、バッファ部１０３のバッファ残量が、予め定めた下限閾値より大きく、かつ、予め定めた上限閾値より小さい場合であって、さらに現在のカウンタ値が０よりも大きい場合は、カウンタ値から１減算する。また、バッファ残量が、予め定めた下限閾値より小さい、又は、予め定めた上限閾値より大きい場合であって、さらに現在のカウンタ値が最大値Ｎよりも小さい場合は、カウンタ値に１を加算する。
【０１２９】
次に、量子化パラメータ決定部７１１の動作を説明する。
【０１３０】
まず、量子化パラメータ算出部７０８によって算出された量子化パラメータをＱＰ＿ｂｉｔとし、量子化パラメータ算出部７０９によって算出された量子化パラメータをＱＰ＿ｂｕｆとする。また、量子化パラメータ決定部７１１が決定する最終的な量子化パラメータＱＰ＿ｆｉｎａｌとする。
【０１３１】
このとき、量子化パラメータ決定部７１１は、量子化パラメータＱＰ＿ｆｉｎａｌを、次の数式５を用いて決定する。
【０１３２】
【数５】
2006352198.tif 000007
【０１３３】
なお、αは、ＱＰ＿ｂｉｔとＱＰ＿ｂｕｆの割合を決定する重み付け係数である。
【０１３４】
この重み付け係数αの値は、カウンタ部７１０によって設定されたカウンタ値を用いて決定する。
【０１３５】
図１１は、量子化パラメータ決定部７１１の重み付け係数αの設定の一例の説明図である。
【０１３６】
量子化パラメータ決定部７１１は、カウンタ設定部７１０によって設定されたカウンタ値に応じて、重み付け計数αを決定する。より具体的には、カウンタ値ｃｏｕｎｔｅｒの値が小さいほどαの値を小さくし、カウンタ値ｃｏｕｎｔｅｒの値が大きいほどαの値を大きくするように制御する。
【０１３７】
以上のように、第３の実施形態の画像符号化装置では、第２の実施形態と同様に、バッファ残量が上限閾値と下限閾値との中間値に近い場合は、発生符号量に基づいて算出した量子化パラメータの重み付けを大きくすることによって、目標符号量への収束時間を短くできる。一方、バッファ残量が上限閾値又は下限閾値に近くなるほどバッファ残量に基づいた量子化パラメータの重み付けを大きくすることによって、エンコーダ又はデコーダでのバッファ破綻を抑制できる。
【０１３８】
特に、本実施形態の場合は、カウンタ値を用いて、バッファ残量の変化に応じて所定単位時間毎に段階的に重み付を制御する。そのため、第２の実施形態と比較して、切り替え時の量子化パラメータの変動がより滑らかになり、急激な量子化パラメータの変動を抑制できる。従って、主観画質の急激な変動が、より抑制できる。
（第４実施形態）
次に、本発明の第４の実施形態を説明する。
【０１３９】
図１２は、本発明の第４の実施形態の画像符号化装置の構成ブロック図である。
【０１４０】
なお、第１の実施形態と同一の作用をする構成には同一の符号を付し、その説明は省略する。
【０１４１】
図１２に示す画像符号化装置は、量子化部１０１、可変長符号化部１０２、バッファ部１０３、目標符号量設定部１０４、発生符号量計測部１０５、差分符号量算出部１０６、バッファ残量計測部１０７、量子化制御切替部１０８、量子化パラメータ決定部１０９、量子化パラメータ変動幅制御部１０１０、量子化パラメータ保持部１０１１、減算器１１０、フレームメモリ１１１、ＤＣＴ部１１２、逆量子化部１１３、ＩＤＣＴ部１１４、加算器１１５を備える。
【０１４２】
以下に、第４の実施形態の画像符号化装置の量子化制御について説明する。
【０１４３】
前述の第１の実施形態と同様に、発生符号量計測部１０５は、可変長符号化部１０２から出力される所定単位時間あたりの符号量を計測している。また、目標符号量設定部１０４は、予め設定された所定単位時間あたりの目標符号量が格納されている。
【０１４４】
差分符号量算出部１０６は、発生符号量計測部１０５によって計測された発生符号量と、目標符号量設定部１０４によって設定された所定単位時間あたりの目標符号量との差分値を算出する。
【０１４５】
バッファ残量計測部１０７は、所定単位時間毎にバッファ部１０３のバッファ残量を計測する。
【０１４６】
量子化制御切替部１０８は、差分符号量算出部１０６によって算出された差分値と、バッファ残量計測部１０７によって計測されたバッファ残量とのいずれを、次に符号化する画像データに設定する量子化パラメータを決定するために用いるかを決定する。
【０１４７】
量子化パラメータ算出部１０９は、量子化制御切替部１０８によって決定された結果に基づいて、バッファ残量と差分値とのいずれかを用いて、次に符号化する画像データに設定する量子化パラメータを決定する。
【０１４８】
量子化パラメータ変動幅制御部１０１０は、直前の画像データに設定した量子化パラメータを量子化パラメータ保持部１０１１から読み出して、量子化パラメータ算出部１０９によって算出された量子化パラメータを、直前の量子化パラメータに対して所定の変動幅以内となるように制御して、その結果を、次に符号化する画像データの量子化パラメータとして決定する。
【０１４９】
量子化パラメータ保持部１０１１は、量子化パラメータ変動幅制御部１０１０で最終決定した量子化パラメータを保持する。
【０１５０】
次に、量子化パラメータ変動幅制御部１０１０の動作を説明する。
【０１５１】
図１３及び図１４は、量子化パラメータ変動幅制御部１０１０の処理の説明図である。
【０１５２】
量子化パラメータ変動幅制御部１０１０は、次の画像を符号化するための量子化パラメータ（ＱＰ＿ｆｉｎａｌ）を、次のような制御で決定する。すなわち、直前の画像を符号化した量子化パラメータに対して変動許容幅を設け、この許容幅を超えて量子化パラメータが変動しないように制御する。
【０１５３】
図１３は差分符号量算出部１０６によって算出された差分値（差分符号量）を用いた量子化パラメータの変動許容幅を示す。この図１３において、横軸は差分符号量を示す。差分符号量は、発生符号量から目標符号量を減算した値である。
【０１５４】
図１４はバッファ残量計測部１０７によって計測されたバッファ残量を用いた量子化パラメータの変動許容幅を示す。この図１４において、Ｂｕｆｆ＿ｔａｒは、予め定めたバッファ残量の目標値である。
【０１５５】
量子化制御切替部１０８は、前述した第１の実施形態と同様に、発生符号量に基づいた量子化制御をするか、バッファ残量に基づいた量子化制御をするかを決定する。
【０１５６】
そして、量子化パラメータ変動幅制御部１０１０は、量子化制御切替部１０８の決定に基づいて、量子化制御を実行する。
【０１５７】
具体的には、量子化制御切替部１０８によって発生符号量による量子化制御が決定された場合は、入力された発生符号量を元に、図１３を用いて量子化パラメータ変動許容幅ΔＱＰを算出する。
【０１５８】
また、量子化制御切替部１０８によってバッファ残量による量子化制御が決定された場合は、入力されたバッファ残量を元に、図１４を用いて量子化パラメータ変動許容幅ΔＱＰを算出する。
【０１５９】
次に、量子化パラメータ変動幅制御部１０１０は、次の画像を符号化する量子化パラメータＱＰ＿ｆｉｎａｌを、算出した量子化パラメータ変動許容幅ΔＱＰ、量子化パラメータ保持部１０１１から読み出した直前の画像データの量子化パラメータＱＰ＿ｐｒｅｖ、及び、量子化パラメータ算出部１０９によって算出された量子化パラメータＱ＿ｃａｌを用いて、次の数式６を用いて算出する。
【０１６０】
【数６】
2006352198.tif 000008
【０１６１】
量子化パラメータ変動幅制御部１０１０は、この数式６によって算出された量子化パラメータＱＰ＿ｆｉｎａｌを、次に符号化する画像データに設定する量子化パラメータとして決定し、これを量子化部１０１に出力する。また、この量子化パラメータＱＰ＿ｆｉｎａｌを量子化パラメータ保持部１０１１に出力する。
【０１６２】
以上のように、第４の実施形態の画像符号化装置では、発生符号量に基づく量子化制御手段と、バッファ残量に基づく量子化制御手段を持ち、バッファ残量が予め定めた下限閾値より大きくかつ、予め定めた上限閾値より小さい場合には発生符号量に基づいた量子化制御を行うことにより目標符号量への収束時間を短くし、また、バッファ残量が予め定めた下限閾値より小さい、あるいは予め定めた上限閾値より大きい場合にはバッファ残量に基づいた量子化制御を行うことによりエンコーダ又はデコーダでのバッファ破綻を抑制することが可能になる。
【０１６３】
前述の第１の実施形態では、量子化パラメータ算出部１０９によって算出された量子化パラメータが、次に符号化する画像データに設定する量子化パラメータとしてそのまま反映される。これに対して、第４の実施形態では、直前の画像データに設定した量子化パラメータに対して、段階的な変動許容幅を設ける。このようにすることによって、発生符号量又はバッファ残量の微小な変動によって、次に符号化される画像データに設定する量子化パラメータが急激に変化することを防ぐ。そのため、主観画質が大きく変化することによる画質劣化を抑制することができる。
【０１６４】
なお、直前の画像データとしては、１フレーム前又は入力画像がインタレース信号の場合は１フィールド前の画像としてもよい。又は、１フレームを複数のブロックに分割した際の１ブロック前の画像としてもよい。さらに、例えばフレーム単位で符号化モード（Ｉピクチャ、Ｐピクチャ、Ｂピクチャ）を変更する場合は、各符号化モードごとの直前フレームとしてもよい。
【図面の簡単な説明】
【０１６５】
【図１】本発明の第１の実施形態の画像符号化装置の構成ブロック図である。
【図２】本発明の第１の実施形態の量子化制御切替部の処理を示すフローチャートである。
【図３】本発明の第１の実施形態の量子化制御切替部の処理の別の例を示すフローチャートである。
【図４】本発明の第１の実施形態の単位時間あたりの発生符号量の説明図である。
【図５】本発明の第１の実施形態の単位時間あたりの仮想バッファ占有量の説明図である。
【図６】本発明の第２の実施形態の画像符号化装置の構成ブロック図である。
【図７】本発明の第２の実施形態の重み付け係数αの設定の一例の説明図である。
【図８】本発明の第２の実施形態の重み付け係数αの設定の別の例の説明図である。
【図９】本発明の第３の実施形態の画像符号化装置の構成ブロック図である。
【図１０】本発明の第３の実施形態のカウンタ部の処理のフローチャートである。
【図１１】本発明の第３の実施形態の重み付け係数αの設定の一例の説明図である。
【図１２】本発明の第４の実施形態の画像符号化装置の構成ブロック図である。
【図１３】本発明の第４の実施形態の量子化パラメータ変動幅制御部の処理の説明図である。
【図１４】本発明の第４の実施形態の量子化パラメータ変動幅制御部の処理の説明図である。
【図１５】従来の発生符号量に基づいて量子化制御するエンコーダの単位時間あたりの発生符号量の説明図である。
【図１６】従来の発生符号量に基づいて量子化制御するエンコーダの単位時間あたりの仮想バッファ占有量の説明図である。
【図１７】従来の発生符号量に基づいて量子化制御するエンコーダの単位時間あたりの発生符号量の他の例の説明図である。
【図１８】従来の発生符号量に基づいて量子化制御するエンコーダの単位時間あたりの仮想バッファ占有量の他の例の説明図である。
【符号の説明】
【０１６６】
１０１  量子化部
１０２  可変長符号化部
１０３  バッファ部
１０４  目標符号量設定部
１０５  発生符号量計測部
１０６  差分符号量算出部
１０７  バッファ残量計測部
１０８  量子化制御切替部
１０９、４０８、４０９、７０８、７０９  量子化パラメータ算出部
１１０  減算部
１１１  フレームメモリ
１１２  ＤＣＴ部
１１３  逆量子化部
１１４  ＩＤＣＴ部
１１５  加算器
４１０、７１１  量子化パラメータ決定部
７１０  カウンタ部
１０１０  量子化パラメータ変動幅制御部
１０１１  量子化パラメータ保持部
【図１】
2006352198.tif 000009
【図２】
2006352198.tif 000010
【図３】
2006352198.tif 000011
【図４】
2006352198.tif 000012
【図５】
2006352198.tif 000013
【図６】
2006352198.tif 000014
【図７】
2006352198.tif 000015
【図８】
2006352198.tif 000016
【図９】
2006352198.tif 000017
【図１０】
2006352198.tif 000018
【図１１】
2006352198.tif 000019
【図１２】
2006352198.tif 000020
【図１３】
2006352198.tif 000021
【図１４】
2006352198.tif 000022
【図１５】
2006352198.tif 000023
【図１６】
2006352198.tif 000024
【図１７】
2006352198.tif 000025
【図１８】
2006352198.tif 000026