(57)【要約】【課題】従来の動画像符号化装置における可変ビットレート制御方式では、ピクチャ単位で量子化幅を制御しているため、ＧＯＰ内でのピクチャ単位での量子化幅が変化することにより、ＧＯＰ内での画質差が大きくなってしまうという課題がある。【解決手段】画像タイプ別量子化ステップ算出部２０６は、Ｉピクチャの基準量子化ステップに、基準目標符号量とこれから符号化する現在のＧＯＰの目標符号量との比率を乗じて、現在のＧＯＰのＩピクチャに関する第１の量子化ステップを算出すると共に、第１の量子化ステップを基準としてＰピクチャに関する第２の量子化ステップとＢピクチャに関する第３の量子化ステップとを算出する。画像タイプ別量子化ステップ算出部２０６で算出された画像タイプ別量子化ステップ（第１〜第３の量子化ステップ）は、画像タイプ別に応じて対応する量子化ステップによる量子化を行わせる。【選択図】図１
2008078978.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象の動画像信号と参照画像信号とから予測手段にて所定の符号化単位で予測信号を生成し、その予測信号と前記動画像信号との差分信号を直交変換手段により直交変換して直交変換係数を生成し、前記直交変換係数を外部から供給される量子化ステップ情報の示す量子化ステップに基づき量子化手段により量子化した信号から、参照画像信号生成手段により前記参照画像信号を生成すると共に、可変長符号化手段で可変長符号化して符号化信号を出力する符号化部と、
前記符号化部における、前記参照画像を用いないで前記動画像信号のみを符号化して得られる１枚の画面内予測符号化画像、１枚の前記参照画像による前記予測信号に基づいて生成される１枚以上の画面間予測符号化画像、及び複数枚の前記参照画像による前記予測信号に基づいて生成される１枚以上の画面間双予測符号化画像からなる所定枚数Ｎの画像群符号化単位毎の発生符号量と予め定められた基準目標符号量との差分である過不足符号量に応じて、前記可変長符号化手段における前記画像群符号化単位毎の発生符号量を前記基準目標符号量とするように、前記量子化手段へ供給する前記量子化ステップ情報を可変制御する符号化制御部と
を設けた動画像符号化装置であって、
前記符号化制御部は、
前記可変長符号化手段における前記画像群符号化単位毎の発生符号量から、予め設定されている基準目標ビットレートに前記所定枚数Ｎを乗じ、かつ、固定のピクチャレートを除算して得られる前記画像群符号化単位毎の基準目標符号量を差し引いて、前記過不足符号量を算出する過不足符号量算出手段と、
前記過不足符号量を積算して得たバッファ充足量と、前記可変長符号化手段内の前記画像群符号化単位毎の符号を蓄積するバッファの許容バッファサイズとの比であるバッファ充足率を算出するバッファ充足率算出手段と、
前記バッファ充足率が０以上で、かつ、前記過不足符号量が０以上のときは、前記バッファ充足率の増加に従い符号量配分率を非線形的に増加させる第１の非線形関数に従って前記バッファ充足率から符号量配分率を算出し、前記バッファ充足率が０以上で、かつ、前記過不足符号量が負のときは、前記バッファ充足率の増加に従い前記符号量配分率を非線形的に減少させる第２の非線形関数に従って前記バッファ充足率から前記符号量配分率を算出し、前記バッファ充足率が負のときは前記符号量配分率を０とする符号量配分率算出手段と、
前記符号量配分率算出手段で算出された前記符号量配分率と前記過不足符号量と前記ピクチャレートを乗算し、かつ、前記所定枚数Ｎを除算して得られた、符号化後に前記画像群符号化単位となるこれから符号化する現在の画像群符号化対象単位の配分レートを、一つ前の画像群符号化対象単位の目標符号量（初期値は前記基準目標符号量）に加算して、前記現在の画像群符号化対象単位の目標符号量を算出する目標符号量算出手段と、
前記画面内予測符号化画像の基準量子化ステップに前記基準目標符号量と前記現在の画像群符号化対象単位の目標符号量との比率を乗じて、前記現在の画像群符号化対象単位の画面内予測符号化対象画像に関する第１の量子化ステップを算出すると共に、該第１の量子化ステップに１より大なる値の所定の第２の量子化ステップ比率を乗算して画面間予測符号化対象画像に関する第２の量子化ステップを算出し、かつ、該第１の量子化ステップに前記第２の量子化ステップ比率より大なる値の所定の第３の量子化ステップ比率を乗算して画面間双予測符号化対象画像に関する第３の量子化ステップを算出する量子化ステップ算出手段と
を有し、前記符号化部において、これから符号化する前記現在の画像群符号化対象単位内の前記画面内予測符号化対象画像、前記画面間予測符号化対象画像、及び前記画面間双予測符号化対象画像の各画像別に、それぞれ前記第１、第２、第３の量子化ステップで量子化させることを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置に係り、特にリアルタイムで可変ビットレート符号化制御を行う際に好適な動画像符号化装置に関する。
【背景技術】
【０００２】
動画像信号を伝送若しくは蓄積する場合、効率化のため圧縮符号化してビットストリームとすることが多い。動画像の圧縮符号化方式としてはＭＰＥＧ（Moving Picture Experts Group）等の方式が標準化され、広く用いられている。よって、動画像信号をＭＰＥＧ等の方式で圧縮符号化し、ビットストリームとして扱うことは、伝送系若しくは蓄積系の効率的な利用において重要である。
【０００３】
ＭＰＥＧ等の方式において、発生符号量をある単位時間内で一定に保つ制御方式として、ＭＰＥＧ−２のテストモデル５（Test Model 5：ＴＭ５）における固定ビットレート（ＣＢＲ）制御方式が知られている。しかし、一般に、動画像信号は定常的ではないため、入力動画像信号の情報量は時間経過に伴って変化する。そのため、入力動画像信号を符号化する場合に、可変ビットレート（ＶＢＲ）制御方式を用いると、同じ符号量で固定ビットレート制御方式に比べて高画質を実現できることが知られている。
【０００４】
上記の可変ビットレート制御方式の従来例として、発生符号量と予め設定された平均ビットレートとの過不足量から画像単位毎に量子化幅を調整することを特徴とする動画像符号化装置が従来から知られている（例えば、特許文献１参照）。具体的には、ピクチャ毎に発生符号量を算出し、目標符号量との差分を求めて、仮想バッファに蓄積し、仮想バッファの蓄積容量が小さい場合はピクチャ単位での量子化幅変化率を小さくなるように設定し、仮想バッファの蓄積容量が大きい場合は、ピクチャ単位での量子化幅変化率を大きくなるように設定するものである。
【０００５】
【特許文献１】特許第３１５１１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の従来の動画像符号化装置における可変ビットレート制御方式では、ピクチャ単位で量子化幅を制御しているため、複数の画像からなる画像群単位（以下、Group Of Picture:GOPと呼ぶ）内でのピクチャ単位での量子化幅が変化することにより、ＧＯＰ内での画質差が大きくなってしまうという課題がある。
【０００７】
本発明は以上の点に鑑みなされたもので、ＧＯＰ内での画像間の画質化を解消し得る可変ビットレート制御方式による動画像符号化を行う動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明は、符号化対象の動画像信号と参照画像信号とから予測手段にて所定の符号化単位で予測信号を生成し、その予測信号と動画像信号との差分信号を直交変換手段により直交変換して直交変換係数を生成し、直交変換係数を外部から供給される量子化ステップ情報の示す量子化ステップに基づき量子化手段により量子化した信号から、参照画像信号生成手段により参照画像信号を生成すると共に、可変長符号化手段で可変長符号化して符号化信号を出力する符号化部と、符号化部における、参照画像を用いないで動画像信号のみを符号化して得られる１枚の画面内予測符号化画像、１枚の参照画像による予測信号に基づいて生成される１枚以上の画面間予測符号化画像、及び複数枚の参照画像による予測信号に基づいて生成される１枚以上の画面間双予測符号化画像からなる所定枚数Ｎの画像群符号化単位毎の発生符号量と予め定められた基準目標符号量との差分である過不足符号量に応じて、可変長符号化手段における画像群符号化単位毎の発生符号量を基準目標符号量とするように、量子化手段へ供給する量子化ステップ情報を可変制御する符号化制御部とを設けた動画像符号化装置であって、
上記の符号化制御部は、可変長符号化手段における画像群符号化単位毎の発生符号量から、予め設定されている基準目標ビットレートに所定枚数Ｎを乗じ、かつ、固定のピクチャレートを除算して得られる画像群符号化単位毎の基準目標符号量を差し引いて、過不足符号量を算出する過不足符号量算出手段と、過不足符号量を積算して得たバッファ充足量と、可変長符号化手段内の画像群符号化単位毎の符号を蓄積するバッファの許容バッファサイズとの比であるバッファ充足率を算出するバッファ充足率算出手段と、バッファ充足率が０以上で、かつ、過不足符号量が０以上のときは、バッファ充足率の増加に従い符号量配分率を非線形的に増加させる第１の非線形関数に従ってバッファ充足率から符号量配分率を算出し、バッファ充足率が０以上で、かつ、過不足符号量が負のときは、バッファ充足率の増加に従い符号量配分率を非線形的に減少させる第２の非線形関数に従ってバッファ充足率から符号量配分率を算出し、バッファ充足率が負のときは符号量配分率を０とする符号量配分率算出手段と、符号量配分率算出手段で算出された符号量配分率と過不足符号量とピクチャレートを乗算し、かつ、所定枚数Ｎを除算して得られた、これから符号化する現在の画像群符号化単位の配分レートを、一つ前の画像群符号化単位の目標符号量（初期値は基準目標符号量）に加算して、これから符号化する現在の画像群符号化単位の目標符号量を算出する目標符号量算出手段と、画面内予測符号化画像の基準量子化ステップに基準目標符号量とこれから符号化する現在の画像群符号化単位の目標符号量との比率を乗じて、現在の画像群符号化単位の画面内予測符号化画像に関する第１の量子化ステップを算出すると共に、第１の量子化ステップに１より大なる値の所定の第２の量子化ステップ比率を乗算して画面間予測符号化画像に関する第２の量子化ステップを算出し、かつ、第１の量子化ステップに第２の量子化ステップ比率より大なる値の所定の第３の量子化ステップ比率を乗算して画面間双予測符号化画像に関する第３の量子化ステップを算出する量子化ステップ算出手段とを有し、符号化部において、これから符号化する現在の画像群符号化単位内の画面内予測符号化画像、画面間予測符号化画像及び画面間双予測符号化画像の各画像別に、それぞれ第１、第２、第３の量子化ステップで量子化させることを特徴とする。
【０００９】
この発明では、これから符号化する現在の画像群符号化単位の目標符号量を算出した後、画面内予測符号化画像の基準量子化ステップに基準目標符号量とこれから符号化する現在の画像群符号化単位の目標符号量との比率を乗じて、現在の画像群符号化単位の画面内予測符号化画像に関する第１の量子化ステップを算出すると共に、この第１の量子化ステップを基準に画面間予測符号化画像に関する第２の量子化ステップと、画面間双予測符号化画像に関する第３の量子化ステップとを算出することで、画像群符号化単位で、画面内予測符号化画像、画面間予測符号化画像及び画面間双予測符号化画像の画像タイプ別に量子化ステップを決定することができる。
【発明の効果】
【００１０】
本発明によれば、画像群符号化単位で、画面内予測符号化画像、画面間予測符号化画像及び画面間双予測符号化画像の画像タイプ別に量子化ステップを決定するようにしたため、画像群符号化単位内での画像タイプが異なる画像間の画質差を解消することができ、全体の画質を従来よりも向上することができる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の実施の形態について図面と共に説明する。図１は本発明になる動画像符号化装置の一実施の形態のブロック図を示す。ただし、本実施の形態では、画像群符号化単位を数枚の画像の集合であるＧＯＰ（Group Of Pictures）とし、画像タイプ別符号化単位を一枚のピクチャであるとする。また、本明細書において、「画像群」とは画像タイプ別符号化単位の集合であり、「画像タイプ」とは、画面内予測符号化画像（I-picture：Ｉピクチャ）、画面間予測符号化画像（P-picture：Ｐピクチャ）、画面間双予測符号化画像（B-picture：Ｂピクチャ）であるものとする。
【００１２】
ここで、本発明が適用される動き補償予測を行う画像圧縮符号化方式としてはＭＰＥＧ−２、ＭＰＥＧ-４  ＡＶＣ（Ｈ.２６４）などがある。これらの画像圧縮符号化方式では周知のように、Ｉピクチャは画面内のみで完結する予測符号化により得られる画面内予測符号化ピクチャで、Ｐピクチャは参照画像最大１枚を用いる予測符号化により得られる画面間予測符号化画像であり、Ｂピクチャは参照画像最大２枚を用いる予測符号化により得られる画面間双予測符号化画像である。
【００１３】
なお、ＭＰＥＧ-４  ＡＶＣ（Ｈ.２６４）ではＰピクチャとＢピクチャは参照画像として使用できる最大枚数（動きベクトル本数）が規定されているのみであり、参照画像間の時間的な関係については自由に選択でき、Ｂピクチャは予測に用いる参照画像として使用できる枚数が符号化対象画像に対してＭＰＥＧ−２のような過去と未来の両方向に限らず、過去のみ又は未来のみを含む最大２枚が規定された双予測ピクチャである。
【００１４】
図１に示すように、本実施の形態の動画像符号化装置は、入力動画像信号を符号化する動画像符号化部１００と、符号化する動画像信号の可変ビットレート制御を行う符号化制御部２００とから構成される。動画像符号化部１００は、予測部１０１、直交変換部１０２、量子化部１０３、可変長符号化部１０４、逆量子化部１０５、逆直交変換部１０６、画像メモリ部１０７とから構成される。符号化制御部２００は、符号化過不足符号量算出部２０１、バッファ充足率算出部２０２、符号配分率算出部２０３、目標ビットレート算出部２０４、画像タイプ別量子化ステップ算出部２０６から構成される。
【００１５】
次に、図１の動画像符号化装置の動作について説明する。まず、動画像符号化部１００の動作について説明する。動画像符号化部１００は、動画像信号と符号化制御部２００からの量子化ステップを入力として受け、符号化ビットストリームを出力とする、ＭＰＥＧ等における符号化装置と同様の構成で動画像信号を符号化する。動画像符号化部１００に入力された動画像信号は、予測部１０１にて後述する参照画像信号を用いて、画面内予測、または過去・未来の復号画像との画面間予測により予測画像信号とされる一方、減算器１０８を通して直交変換部１０２に供給される。
【００１６】
直交変換部１０２は、画面内予測画像を生成するときには、減算器１０８をスルーして入力された動画像信号に対して直交変換を行い、画面間予測画像又は画面間双予測画像を生成するときには、減算器１０８で入力動画像信号（原画像）と予測部１０１で生成された予測画像との差分信号に対して直交変換を行い、それぞれ周波数係数（直交変換係数）に変換する。量子化部１０３は、直交変換部１０２から入力された周波数係数を、後述する符号化制御部２００からの量子化ステップに従って量子化を行い、量子化係数に変換する。
【００１７】
可変長符号化部１０４は、量子化部１０３から入力された量子化係数に対してエントロピー符号化などを行って符号列へと変換し、動画像信号の符号化ビットストリームを生成して外部へ出力する。また、上記の量子化係数は、逆量子化部１０５により逆量子化された後、逆直交変換部１０６により逆直交変換された後、予測部１０１からの予測画像信号と加算器１０９で加算されることにより、復号画像信号とされる。この復号画像信号は、画像メモリ部１０７に蓄積され、予測部１０１における、過去・未来の参照用画像信号として用いられる。
【００１８】
次に、符号化制御部２００の動作について説明する。符号化制御部２００は、符号化発生符号量を入力とし、量子化ステップを出力とする、可変ビットレート制御を行う。符号化過不足符号量算出部２０１は、予め設定されている目標ビットレートと、動画像符号化部１００の可変長符号化部１０４より入力される符号化発生符号量とを基に、発生符号量の目標符号量との差分符号量を求め、その差分符号量をバッファ充足率算出部２０２へ出力する。バッファ充足率算出部２０２は、上記の差分符号量より、可変長符号化部１０４内の符号化バッファの充足量を求め、符号化バッファの大きさに対するバッファ充足率を算出する。
【００１９】
符号配分率算出部２０３は、バッファ充足率算出部２０２により算出されたバッファ充足率より、目標ビットレートから溢れた符号量の次の画像群符号化単位に対する目標ビットレートの変動符号量を算出する。目標ビットレート算出部２０４は、符号配分率算出部２０３で算出された変動符号量と、目標ビットレートとに基づいて、次の画像群符号化単位の目標ビットレートを算出した後、現在の画像群符号化単位の目標ビットレートを用いて、現在の画像群符号化単位の目標符号量を算出する。
【００２０】
画像タイプ別量子化ステップ算出部２０６は、画面内予測符号化画像の基準量子化ステップに、基準目標符号量とこれから符号化する現在の画像群符号化単位の目標符号量との比率を乗じて、現在の画像群符号化単位の画面内予測符号化画像に関する第１の量子化ステップを算出すると共に、第１の量子化ステップを基準として画面間予測符号化画像に関する第２の量子化ステップと画面間双予測符号化画像に関する第３の量子化ステップとを算出する。画像タイプ別量子化ステップ算出部２０６で算出されたこれから符号化される画像群符号化単位の画像タイプ別量子化ステップ（第１〜第３の量子化ステップ）は、動画像符号化部１００の量子化部１０３に入力され、画像タイプ別に応じて対応する量子化ステップによる量子化を行わせる。
【００２１】
次に、符号化制御部２００の動作を更に詳細に説明する。ただし、以下では、画像群符号化単位をＧＯＰと呼ぶ。また、画像を単にピクチャと呼ぶ。また、符号量とバッファの単位は[bits]であり、ビットレートの単位は[bps]である。符号化制御部２００では、まず、符号化過不足符号量算出部２０１により図２のフローチャートに従った動作を行う。
すなわち、符号化過不足符号量算出部２０１は、予め定められた平均ビットレート（基準目標ビットレート：ＴＢ＿ｉｎｔ）に基づいて、次式によりＧＯＰの基準目標符号量（Ｔ＿ｉｎｔ）を算出する（図２のステップＳ１０）。
【００２２】
Ｔ＿ｉｎｔ＝ＴＢ＿ｉｎｔ×Ｎ／ＰＲ          （１）
ただし、（１）式中、ＰＲはピクチャレート（固定値）、Ｎは符号化したＧＯＰを構成するピクチャの枚数である（以下、同じ）。１つのＧＯＰは通常１枚のＩピクチャと、それぞれ１枚以上のＰピクチャ及びＢピクチャから構成される。
【００２３】
続いて、符号化過不足符号量算出部２０１は、算出した基準目標符号量（Ｔ＿ｉｎｔ）と、動画像符号化部１００内の可変長符号化部１０４からのＧＯＰ発生符号量（Ｓ＿ｇｏｐ）とより、ＧＯＰの過不足符号量（ｄＳ＿ｇｏｐ）を求める（図２のステップＳ１１）。このＧＯＰの過不足符号量（ｄＳ＿ｇｏｐ）は、ＧＯＰ発生符号量（Ｓ＿ｇｏｐ）と、ＧＯＰの基準目標符号量（Ｔ＿ｉｎｔ）との差分で与えられる。従って、ＧＯＰの過不足符号量ｄＳ＿ｇｏｐは次式で与えられる。
【００２４】
ｄＳ＿ｇｏｐ＝Ｓ＿ｇｏｐ−Ｔ＿ｉｎｔ          （２）
ただし、（２）中、ｄＳ＿ｇｏｐの初期値は０である。
【００２５】
（２）式から分かるように、上記のＧＯＰの過不足符号量ｄＳ＿ｇｏｐが正ならば、符号化が難しく目標符号量に対して発生符号量が上回ったことを意味し、負ならば符号化が容易で目標符号量に対して発生符号量が下回ったことを意味する。
【００２６】
次に、バッファ充足率算出部２０２が図３のフローチャートに従った動作をする。まず、バッファ充足率算出部２０２は、上記のＧＯＰの過不足符号量（ｄＳ＿ｇｏｐ）より、可変長符号化部１０４内のバッファの充足量（ＢｋｔＦｌｎｓ）を算出する（図３のステップＳ２０）。このバッファ充足量（ＢｋｔＦｌｎｓ）は、ＧＯＰ過不足符号量の積算であるから、次式で与えられる。
【００２７】
BktFlns＝min（BktBufSize,max(−BktBufSize,BktFlns−dS_gop)）      （３）
ただし、（３）式中、ｍｉｎ（ａ，ｂ）はａ≦ｂならばａ，ｂ＜ａならばｂを返し、ｍａｘ（ａ，ｂ）はａ≧ｂならばａ，ａ＜ｂならばｂを返す。また、ＢｋｔＦｌｎｓの初期値は０であり、ＢｋｔＢｕｆＳｉｚｅはバッファの許容バッファサイズを示す。また、次式の不等式が成立する。
【００２８】
−ＢｋｔＢｕｆＳｉｚｅ≦ＢｋｔＦｌｎｓ≦ＢｋｔＢｕｆＳｉｚｅ
続いて、バッファ充足率算出部２０２は、算出したバッファ充足量（ＢｋｔＦｌｎｓ）に基づいて、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）を求める（ステップＳ２１）。ここで、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）は、バッファの許容バッファサイズ（ＢｋｔＢｕｆＳｉｚｅ）に対するバッファ充足量（ＢｋｔＦｌｎｓ）の割合であるから、次式で与えられる。
【００２９】
ＢｋｔＦｌｎｓＲａｔｅ＝ＢｋｔＦｌｎｓ／ＢｋｔＢｕｆＳｉｚｅ      （４）ただし、ＢｋｔＦｌｎｓＲａｔｅの初期値は０である。また、次式の不等式が成立する。
【００３０】
−１≦ＢｋｔＦｌｎｓＲａｔｅ≦１
次に、符号配分率算出部２０３が図４のフローチャートに従った動作をする。符号配分率算出部２０３は、バッファ充足率算出部２０２からの、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）と符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）の関係を表す関数を用いて、符合量の配分率を求める（図４のステップＳ３０〜Ｓ３５）。すなわち、符号配分率算出部２０３は、まず、上記のバッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）が０以上であるかどうか判定し（図４のステップＳ３０）、０以上であるときには、前記ＧＯＰ過不足符号量（ｄＳ＿ｇｏｐ）が０以上であるかどうか判定する（図４のステップＳ３１）。
【００３１】
ＧＯＰ過不足符号量（ｄＳ＿ｇｏｐ）が０以上であるときには、（２）式からバッファが正方向に溜まっている場合、すなわち、可変長符号化部１０４内にあるバッファに蓄積される符号量が、時間の経過につれて増加している場合であり、増加傾向にあるほど符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を大きくする（図４のステップＳ３２）。すなわち、ステップＳ３２では、難しいシーケンスが続いて、バッファに蓄積される符号量（ＧＯＰ発生符号量）が時間の経過につれて増加しているので、レートを上げるために符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を大きくする。
【００３２】
一方、ステップＳ３１でＧＯＰ過不足符号量（ｄＳ＿ｇｏｐ）が負であると判定されたときには、バッファに正方向に符号量が殆ど溜まっていない場合、すなわち、上記バッファに蓄積される符号量（ＧＯＰ発生符号量）が増加していないか、時間の経過につれて減少している場合であり、減少傾向にあるほど符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を小さくする（図４のステップＳ３３）。すなわち、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）が正で絶対値が小さく、ＧＯＰ過不足符号量（ｄＳ＿ｇｏｐ）が負の場合は、バッファに符号量が正方向に溜まっている状態で、簡単なシーケンスによりバッファの符号量が減少する場合であり、このときには、難しいシーケンスを符号化するときに備えてバッファに余裕を持たせるため、上記のステップＳ３３において、符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を小さくしようとする。
【００３３】
また、ステップＳ３０でバッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）が負であると判定されたときには、符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）は０とする（図４のステップＳ３４）。すなわち、ステップＳ３０でバッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ）が負であると判定されたときには、可変長符号化部１０４内のバッファに蓄積される符号の符号量が負方向に溜まる場合、換言すると、バッファに蓄積される符号量が時間の経過と共に減少する場合は、簡単なシーケンスが続いているとみなし、上記のステップ３４にて符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を０とすることで、常に基準目標レートに設定するのである。
【００３４】
これにより、レートを上げる方向に配分しないようにすることで、再び難シーケンスに切り替わるときに多めに符号量を配分させることができる。符号配分率算出部２０３は、上記のステップＳ３２、Ｓ３３又はＳ３４の処理により算出した符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を出力する（図４のステップＳ３５）。
【００３５】
以上のステップＳ３２、Ｓ３３、Ｓ３４において算出する符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を、関数ｆで表現すると、以下のように表される。ここで、関数表記において簡易化のため、ＢｋｔＦｌｎｓＲａｔｅ＝ｘ，ＢｉｔＤｉｓｔＲａｔｅ＝ｙとする。
【００３６】
（i）ＢｋｔＦｌｎｓＲａｔｅ≧０、かつ、ｄＳ＿ｇｏｐ≧０の場合（図４のＳ３０Yes，Ｓ３１Yes，Ｓ３２，Ｓ３５）
ｙ＝ｆ（ｘ）          （５）
（ii）ＢｋｔＦｌｎｓＲａｔｅ≧０、かつ、ｄＳ＿ｇｏｐ＜０の場合（図４のＳ３０Yes，Ｓ３１No，Ｓ３３，Ｓ３５）
ｙ＝ｆ（−ｘ＋１）    （６）
（iii）ＢｋｔＦｌｎｓＲａｔｅ＜０の場合（図４のＳ３０No，Ｓ３４，Ｓ３５）
ｙ＝０                （７）
例えば、上記のｆを線形関数とすると、以下のように表される。
【００３７】
ｆ（ｘ）＝ｘ                （８）
従って、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ＝ｘ）に対する符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ＝ｙ）を線形関係にすると、図６に示すように表される。すなわち、図６に実線で示すｙ＝ｘの直線は、（５）式に（８）式を代入した直線であるため、次式で表される関係を示す。
【００３８】
BitDistRate＝BktFlnsRate   (０≦BitDistRate≦１，dS_gop≧０)      （９）
また、図６に点線で示すｙ＝−ｘ＋１の直線は、（６）式に（８）式を代入した直線であるため、次式で表される関係を示す。
【００３９】
BitDistRate＝−BktFlnsRate＋１  (０≦BitDistRate≦１，dS_gop＜０)  （１０）
これに対し、上記のｆを非線形関数である指数関数とすると、例えば以下のように表される。
【００４０】
ｆ（ｘ）＝α・（βｘ−１）    （β＝（α＋１）／α）          （１１）
バッファに符号があまり溜まっていないときは、レートを減らす方向（ＤＳ＿ＧＯＰ＞０）にあまり分配しないようにし、レートを増やす方向（ＤＳ＿ＧＯＰ＜０）に多めに分配するようにするには、ｆを指数関数とし、適当なαとβを定めることが望ましい。例えば、α＝１とすると、（１１）式からβ＝２となるから、指数関数ｆは以下のように表される。
【００４１】
ｆ（ｘ）＝２ｘ−１          （１２）
従って、バッファ充足率（ＢｋｔＦｌｎｓＲａｔｅ＝ｘ）に対する符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ＝ｙ）を（１２）式に示される非線形関係にすると、図７に示すように表される。すなわち、図７に実線で示すｙ＝２ｘ−１の曲線は、（５）式と（１２）式とから得られる曲線であるため、次式で表される関係を示す。
【００４２】
BitDistRate＝２BktFlnsRate−１  (０≦BitDistRate≦１，dS_gop≧０)    （13）
また、図７に点線で示すｙ＝２(-x＋1)−１の曲線は、（６）式と（１２）式とから得られる曲線であるため、次式で表される関係を示す。
BitDistRate＝２(-BktFlnsRate+1)−１ (0≦BitDistRate≦1，dS_gop＜0)  （14）
本実施の形態では、以上のような、バッファ充足率（BktFlnsRate）と基準目標ビットレート（ＴＢ＿ｉｎｔ）とから、過不足符号量（ｄＳ＿ｇｏｐ）を基にした符号量配分率（BitDistRate）の関数ｆを指数関数に設定することで、目標ビットレート（ＴＢ＿ｇｏｐ）を算出し、可変ビットレート制御を行う。
【００４３】
次に、図１の目標ビットレート算出部２０４の動作について、図５のフローチャートと共に説明する。目標ビットレート算出部２０４は、符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）とＧＯＰの過不足符号量（ｄＳ＿ｇｏｐ）から現ＧＯＰの目標符号量（Ｔ＿ｇｏｐ）を算出する（図５のステップＳ４０〜Ｓ４２）。
【００４４】
すなわち、目標ビットレート算出部２０４は、ＧＯＰの過不足符号量（ｄＳ＿ｇｏｐ）に対して、符号量配分率（ＢｉｔＤｉｓｔＲａｔｅ）を掛けたものが次のＧＯＰの目標符号量（Ｔ＿ｇｏｐ）に加算する配分符号量（ｄＤｉｓｔＢｉｔ）となるので、まず、以下の式により配分符号量（ｄＤｉｓｔＢｉｔ）を算出する（図５のステップＳ４０）。
【００４５】
ｄＤｉｓｔＢｉｔ＝ｄＳ＿ｇｏｐ×ＢｉｔＤｉｓｔＲａｔｅ    （15）
ただし、ｄＤｉｓｔＢｉｔの初期値は０である。
【００４６】
従って、配分レート（dDistRate）は、現（これから符号化する）ＧＯＰのピクチャ枚数Ｎに対して、以下のように表される。
【００４７】
ｄＤｉｓｔＲａｔｅ＝ｄＤｉｓｔＢｉｔ×ＰＲ／Ｎ            （16）
ここで、バッファ充足量（BktFlns）が正で、一つ前のＧＯＰ符号量が目標符号量（T_gop）を超えている場合は、配分レート（dDistRate）は０以下となる。すなわち、一つ前のＧＯＰ符号量（S_gop）が目標符号量（T_gop）を超えている場合（S_gop＞T_gop）は、（２）式よりdS_gopが負となる。符号量配分率（BitDistRate）は（１３）式より常に０以上であるから、（１５）式より配分符号量（dDistBit）は０以下となる。従って、（１６）式より、配分レート（dDistRate）も０以下となる。同様に、バッファ充足量（BktFlns）が正で、一つ前のＧＯＰ符号量が目標符号量（T_gop）を下回った場合は、配分レート（dDistRate）は正となる。
【００４８】
続いて、目標ビットレート算出部２０４は、現ＧＯＰの目標ビットレート（ＴＢ＿ｇｏｐ）を算出する（図５のステップＳ４１）。ここで、現ＧＯＰの目標ビットレート（TB_gop）は、一つ前のＧＯＰの目標ビットレートに配分ビットレート（dDistRate）を加算したものになるので、次式で表される。
【００４９】
ＴＢ＿ｇｏｐ＝ＴＢ＿ｇｏｐ＋ｄＤｉｓｔＲａｔｅ          （17）
そして、目標ビットレート算出部２０４は、ステップＳ４１で算出した現ＧＯＰの目標ビットレート（ＴＢ＿ｇｏｐ）を用いて、現ＧＯＰの目標符号量（Ｔ＿ｇｏｐ）を次式により算出する（図５のステップＳ４２）。
【００５０】
Ｔ＿ｇｏｐ＝ＴＢ＿ｇｏｐ×Ｎ／ＰＲ                      （18）
ただし、上式中、Ｔ＿ｇｏｐの初期値はＴ＿ｉｎｔである。
【００５１】
続いて、画像タイプ別量子化ステップ算出部２０６が、ピクチャタイプ別に現ＧＯＰ内の量子化ステップを決定する。まず、Ｉピクチャの量子化幅を以下のように決定する。現ＧＯＰのＩピクチャの量子化ステップをQstep(I)とし、Ｉピクチャの基準量子化ステップをQstep_int(I)とすると、Ｉピクチャの量子化ステップQstep(I)は、Qstep_int(I)に基準目標ビットレート(TB_int)と（１７）式より算出した現ＧＯＰの目標ビットレート(TB_gop)との比率を乗ずる下記の式によって算出する。
【００５２】
Qstep(I)＝Qstep_int(I)×(TB_int/TB_gop)            (19)
ただし、Ｉピクチャの基準量子化ステップQstep_int(I)は、画像サイズと基準目標ビットレート及びＧＯＰ単位の先頭のＩピクチャの画面内アクティビティから求められるものとする。
【００５３】
（１９）式はＩピクチャの基準量子化ステップQstep_int(I)に対して、現ＧＯＰの目標ビットレート(TB_gop)の変化が小さい場合には、Ｉピクチャの量子化ステップQstep(I)の変化は小さくなり、現ＧＯＰの目標ビットレート(TB_gop)の変化が大きい場合には、Ｉピクチャの量子化ステップQstep(I)の変化は大きくなることを示している。従って、Ｉピクチャの量子化ステップQstep(I)は、現ＧＯＰの目標ビットレート(TB_gop)の変化率に比例するので、バッファ充足率（BktFlnsRate）が小さいときにはTB_gopの変化率も小さいので、Ｉピクチャの量子化ステップQstep(I)の変化率は小さくなり、バッファ充足率（BktFlnsRate）が大きいときにはTB_gopの変化率が大きくなり、Ｉピクチャの量子化ステップQstep(I)の変化率は大きくなる。
【００５４】
次に、画像タイプ別量子化ステップ算出部２０６は、Ｉピクチャの量子化ステップQstep(I)を基準とした場合のＰピクチャの量子化ステップ比率Ｋp、Ｂピクチャの量子化ステップ比率Ｋbを算出する。これらの量子化ステップ比率Ｋｐ及びＫｂは、ＧＯＰ内で一つ決定される数値であり、ＧＯＰ内では固定値である。また、Ｋp、ＫbはQstep(I)の関数であるとし、例えば、以下の式によって算出する。
【００５５】
Ｋp＝ｍａｘ（γp・Qstep(I)＋θp，Ｋp_max）          (20)
Ｋb＝ｍａｘ（γb・Qstep(I)＋θb，Ｋb_max）          (21)
ここで、γp、γbはQstep(I)に依存する定数、θp、θbはQstep(I)に依存しないオフセット部分の定数であり、Ｋp_max、Ｋb_maxはＫp、Ｋbの最大値（定数）である。また、１＜Ｋｐ＜Ｋｂである。（２０）式及び（２１）式の量子化ステップ比率Ｋｐ及びＫｂは、規定値を超えないリミッタとしての役割を果たす。
【００５６】
従って、Ｐピクチャの量子化ステップQstep(P)及びＢピクチャの量子化ステップQstep(B)は、Ｐピクチャの量子化ステップ比率Ｋp及びＢピクチャの量子化ステップ比率Ｋbを用いて以下の式により算出される。
【００５７】
Qstep(P)＝Ｋp×Qstep(I)            (22)
Qstep(B)＝Ｋb×Qstep(I)            (23)
画像タイプ別量子化ステップ算出部２０６が、（１９）式、（２２）式、（２３）式により各ピクチャ別にそれぞれ算出した画像タイプ別量子化ステップは、図１の量子化部１０３に入力され、ここで直交変換部１０２から供給される周波数変換係数の量子化を行わせる。これにより、量子化部１０３で生成された量子化係数は、可変長符号化部１０４にて可変長符号化されて動画像信号の符号化ビットストリームを生成する。
【００５８】
（１９）式、（２２）式、（２３）式より、現ＧＯＰ内の符号化に用いる量子化ステップをピクチャタイプ別に、ＧＯＰ単位で一意に定めることによって、ＧＯＰ内のピクチャ発生符号量の変化によらず、一定の量子化ステップで符号化することができるため、ＧＯＰ内での画質差が解消され、画質が向上する。
【００５９】
なお、以上で求めた量子化ステップをピクチャ内の符号化単位であるマクロブロック毎に算出してもよい。これらの算出方法は、例えば、ＭＰＥＧ−２におけるＴｅｓｔ  Ｍｏｄｅｌ  ５のような方法を適用してもよいし、他の方法であってもよい。
【００６０】
以上説明したように、本実施の形態によれば、複数の画像より構成される画像群（ＧＯＰ）単位での目標符号量と発生符号量との差分符号量を仮想バッファに蓄積し、ＧＯＰ単位でピクチャタイプ毎に量子化幅を決定するため、ＧＯＰ内での画像間の画質差を解消することができ、画質が向上する。
【００６１】
なお、本発明は以上の実施の形態に限定されるものではなく、本発明は上記した装置の機能をプログラムによりコンピュータに実現させるようにしてもよい。このプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。また、本発明は、量子化・符号化を行う信号の圧縮方式に適用可能であり、例えば、動画像信号だけでなくオーディオ信号にも適用可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明の動画像符号化装置の一実施の形態のブロック図である。
【図２】図１中の符号化過不足符号量算出部の動作説明用フローチャートである。
【図３】図１中のバッファ充足率算出部の動作説明用フローチャートである。
【図４】図１中の符号配分率算出部の動作説明用フローチャートである。
【図５】図１中の目標ビットレート算出部の動作説明用フローチャートである。
【図６】図１中の符号配分率算出部におけるバッファ充足率と符号配分率の関係（線形）の一例を表す図である。
【図７】図１中の符号配分率算出部におけるバッファ充足率と符号配分率の関係（非線形）の他の例を表す図である。
【符号の説明】
【００６３】
１００  動画像符号化部
１０１  予測部
１０２  直交変換部
１０３  量子化部
１０４  可変長符号化部
１０５  逆量子化部
１０６  逆直交変換部
１０７  画像メモリ部
２００  符号化制御部
２０１  符号化過不足符号量算出部
２０２  バッファ充足率算出部
２０３  符号配分率算出部
２０４  目標ビットレート算出部
２０６  画像タイプ別量子化ステップ算出部
【図１】
2008078978.tif 000003
【図２】
2008078978.tif 000004
【図３】
2008078978.tif 000005
【図４】
2008078978.tif 000006
【図５】
2008078978.tif 000007
【図６】
2008078978.tif 000008
【図７】
2008078978.tif 000009