(57)【特許請求の範囲】
【請求項１】
入力画像を符号化するエンコーダであって、
出力ストリームの過去の制御単位期間における目標符号量と発生符号量との関係を示す第１関係値を算出する第１関係値算出手段と、
出力ストリームの現在の制御単位期間内における目標符号量と発生符号量との関係を示す第２関係値を算出する第２関係値算出手段と、
前記第１関係値と前記第２関係値との間に所定の関係が生じている場合、現在の制御単位期間内の処理対象のピクチャフレームにスタッフィングビットを付加する符号量調整手段と、
を備え、
前記第１関係値算出手段は、
出力ストリームの先頭の制御単位期間から前回の制御単位期間までの目標符号量を積算することで第１累積目標符号量を算出する手段と、
出力ストリームの先頭の制御単位期間から前回の制御単位期間までの発生符号量を積算することで第１累積発生符号量を算出する手段と、
前記第１累積目標符号量と前記第１累積発生符号量との関係を前記第１関係値として算出する手段と、
を含み、
前記第２関係値算出手段は、
出力ストリームの現在の制御単位期間内における先頭のピクチャフレームから処理対象のピクチャフレームまでのピクチャフレームごとの目標符号量を積算することで第２累積目標符号量を算出する手段と、
出力ストリームの現在の制御単位期間内における先頭のピクチャフレームから処理対象のピクチャフレームまでのピクチャフレームごとの発生符号量を積算することで第２累積発生符号量を算出する手段と、
前記第２累積目標符号量と前記第２累積発生符号量との関係を前記第２関係値として算出する手段と、
を含み、
前記第１関係値は、
前記第１累積発生符号量から前記第１累積目標符号量を減算することで算出される基準差分値、
を含み、
前記第２関係値は、
前記第２累積目標符号量から前記第２累積発生符号量を減算することで算出される累積差分値、
を含み、
前記符号量調整手段は、
前記累積差分値が前記基準差分値より大きい場合、現在の制御単位期間内の処理対象のピクチャフレームにスタッフィングビットを付加する手段、
を含むことを特徴とするエンコーダ。
【請求項２】
請求項１に記載のエンコーダにおいて、
前記符号量調整手段は、
前記累積差分値が前記基準差分値より大きい場合、スタッフィングビットとして、前記累積差分値から前記基準差分値を減算した符号量を現在の制御単位期間内の処理対象のピクチャフレームに付加する手段、
を含むことを特徴とするエンコーダ。
【請求項３】
請求項１または請求項２に記載のエンコーダにおいて、
前記第２累積発生符号量を算出する手段は、
前記累積差分値が前記基準差分値より大きい場合、前記累積差分値から前記基準差分値を減算した符号量を前記第２累積発生符号量に加算する手段、
を含むことを特徴とするエンコーダ。
【請求項４】
請求項１ないし請求項３のいずれかに記載のエンコーダにおいて、
前記制御単位期間は、
１ＧＯＰ期間、
を含むことを特徴とするエンコーダ。
【請求項５】
請求項４に記載のエンコーダにおいて、
前記符号量調整手段は、現在のＧＯＰの符号化処理の完了を待つことなく、処理対象のピクチャフレームの符号化が完了した後に、スタッフィングを行うことを特徴とするエンコーダ。
【請求項６】
請求項１ないし請求項５のいずれかに記載のエンコーダを備えることを特徴とするトランスコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランスコーダなどにおいて画像を符号化するエンコーダに関する。詳しくは、エンコーダから出力される発生符号量を平均化する技術に関する。
【背景技術】
【０００２】
デジタル放送で配信される画像や、ＤＶＤ、ハードディスクなどに格納される画像などは、エンコーダにおいて各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
【０００３】
画像の符号化方式には、ＭＰＥＧ２やＨ．２６４など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダ（あるいはトランスレータ）は、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式（あるいは同じ符号化方式。）で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御する。
【０００４】
エンコーダでは、単位時間内の出力ストリームの発生符号量を平均化するためにスタッフィングが行われる。エンコーダは、発生符号量が目標符号量に満たない場合には、スタッフィングビットというダミーデータを付加することで、出力ストリームの符号量を調整する。
【０００５】
具体的には、出力ストリーム全体の目標ビットレートはユーザにより設定されることから、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）単位の目標符号量が算出できる。そして、ＧＯＰ単位で出力ストリームの発生符号量を取得し、ＧＯＰごとに目標符号量と発生符号量の差を求め、不足する符号量をスタッフィングビットで補うのである。
【０００６】
下記特許文献１では、２ＧＯＰごとに、スタッフィングビットを付加することで、出力ストリームの発生符号量を平均化するようにしている。
【０００７】
下記特許文献２では、ＧＯＰ内の発生符号量をカウントし、カウント値が目標符号量よりも小さい場合には、スタッフィングを行い、目標符号量よりも大きい場合には、ＤＣＴ係数の高次の非０係数を０に置換するようにしている。
【０００８】
【特許文献１】特開平１０−１９１３３１号公報
【特許文献２】特開２０００−３２４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したように、従来から出力ストリームのビットレートを平均化するためにスタッフィングが行われている。しかし、スタッフィングはＧＯＰ単位で行われているため、次のＧＯＰのトランスコード処理に遅延が生じる。つまり、リアルタイムでの処理を行うことができず、トランスコーダにおける入力ストリームと出力ストリームとの間で遅延が生じることになる。
【００１０】
あるいは、特定のＧＯＰにおいて発生符号量が目標符号量を下回ったためにスタッフィングビットを付加したが、他のＧＯＰでは発生符号量が目標符号量を超える場合がある。この場合、出力ストリーム全体のビットレートは、ユーザが設定した目標ビットレートを超える可能性がある。出力ストリームの全体ビットレートが、目標ビットレートを超えた場合、たとえば、記録媒体に記録できないといった問題が生じる。
【００１１】
上記特許文献２では、出力ストリームの全体ビットレートが、目標ビットレートを上回らないように配慮されている。しかし、発生符号量が目標符号量を上回った場合に、ＤＣＴ係数の高次の非０係数を０に置換するため、画像の高周波成分が削除されることになる。一方のＧＯＰでは、スタッフィングビットによりダミーデータを付加しつつ、他方のＧＯＰでは、画像情報を削除するという処理を行っていることになり、改善の余地が残る。
【００１２】
そこで、本発明は、入力ストリームと出力ストリームとの間での遅延を生じさせることなく、且つ、出力ストリームが目標ビットレートを超えることのないよう、出力ストリームの単位時間内のビットレートを平均化する技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、請求項１記載の発明は、入力画像を符号化するエンコーダであって、出力ストリームの過去の制御単位期間における目標符号量と発生符号量との関係を示す第１関係値を算出する第１関係値算出手段と、出力ストリームの現在の制御単位期間内における目標符号量と発生符号量との関係を示す第２関係値を算出する第２関係値算出手段と、前記第１関係値と前記第２関係値との間に所定の関係が生じている場合、現在の制御単位期間内の処理対象のピクチャフレームにスタッフィングビットを付加する符号量調整手段と、を備え、前記第１関係値算出手段は、出力ストリームの先頭の制御単位期間から前回の制御単位期間までの目標符号量を積算することで第１累積目標符号量を算出する手段と、出力ストリームの先頭の制御単位期間から前回の制御単位期間までの発生符号量を積算することで第１累積発生符号量を算出する手段と、前記第１累積目標符号量と前記第１累積発生符号量との関係を前記第１関係値として算出する手段と、を含み、前記第２関係値算出手段は、出力ストリームの現在の制御単位期間内における先頭のピクチャフレームから処理対象のピクチャフレームまでのピクチャフレームごとの目標符号量を積算することで第２累積目標符号量を算出する手段と、出力ストリームの現在の制御単位期間内における先頭のピクチャフレームから処理対象のピクチャフレームまでのピクチャフレームごとの発生符号量を積算することで第２累積発生符号量を算出する手段と、前記第２累積目標符号量と前記第２累積発生符号量との関係を前記第２関係値として算出する手段と、を含み、前記第１関係値は、前記第１累積発生符号量から前記第１累積目標符号量を減算することで算出される基準差分値、を含み、前記第２関係値は、前記第２累積目標符号量から前記第２累積発生符号量を減算することで算出される累積差分値、を含み、前記符号量調整手段は、前記累積差分値が前記基準差分値より大きい場合、現在の制御単位期間内の処理対象のピクチャフレームにスタッフィングビットを付加する手段、を含むことを特徴とする。
【００１７】
請求項２記載の発明は、請求項１に記載のエンコーダにおいて、前記符号量調整手段は、前記累積差分値が前記基準差分値より大きい場合、スタッフィングビットとして、前記累積差分値から前記基準差分値を減算した符号量を現在の制御単位期間内の処理対象のピクチャフレームに付加する手段、を含むことを特徴とする。
【００１８】
請求項３記載の発明は、請求項１または請求項２に記載のエンコーダにおいて、前記第２累積発生符号量を算出する手段は、前記累積差分値が前記基準差分値より大きい場合、前記累積差分値から前記基準差分値を減算した符号量を前記第２累積発生符号量に加算する手段、を含むことを特徴とする。
【００１９】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載のエンコーダにおいて、前記制御単位期間は、１ＧＯＰ期間、を含むことを特徴とする。
【００２０】
請求項５記載の発明は、請求項４に記載のエンコーダにおいて、前記符号量調整手段は、現在のＧＯＰの符号化処理の完了を待つことなく、処理対象のピクチャフレームの符号化が完了した後に、スタッフィングを行うことを特徴とする。
【００２１】
請求項６記載の発明は、トランスコーダに関する発明であって、請求項１ないし請求項５のいずれかに記載のエンコーダを備える。また、請求項１ないし請求項５のいずれかに記載のエンコーダを備えたトランスレータにも本発明を適用可能である。もちろん、通常のエンコーダにも適用可能である。
【発明の効果】
【００２２】
本発明のエンコーダは、出力ストリームの過去および現在の制御単位期間内における目標符号量と発生符号量との関係に基づいて、処理対象のピクチャフレームにスタッフィングビットを付加する。これにより、出力ストリーム全体のビットレートが目標ビットレートを上回るといった事態を引き起こすことなく、出力ストリームの単位時間内のビットレートを平均化させることが可能である。
【００２３】
また、本発明のエンコーダは、累積差分値が基準差分値より大きい場合、累積差分値から基準差分値を減算した符号量を処理対象のピクチャフレームに付加する。これにより、過剰なスタッフィングビットの付加を抑制することができる。
【００２４】
また、本発明のエンコーダは、現在のＧＯＰの符号化処理の完了を待つことなく、処理対象のピクチャフレームの符号化が完了した後に、スタッフィングを行う。これにより、出力ストリームに遅延を生じさせることなく、リアルタイム処理が可能となる。
【発明を実施するための最良の形態】
【００２５】
｛１．トランスコーダの全体構成｝
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本実施の形態に係るトランスコーダ１のブロック図である。このトランスコーダ１は、デコーダ２とエンコーダ３とを備えている。また、トランスコーダ１は、目標符号量設定部４、発生符号量取得部５、ビット調整部６を備えている。
【００２６】
デコーダ２は、第１ストリームを入力する。第１ストリームは、符号化画像のストリームである。デコーダ２は、第１ストリームをデコードし、非圧縮の画像データをエンコーダ３に出力する。エンコーダ３は、デコーダ２においてデコードされた非圧縮の画像データを再び符号化し、第２ストリームを出力する。
【００２７】
たとえば、トランスコーダ１は、ＭＰＥＧ２で符号化された第１ストリームを入力し、Ｈ．２６４で符号化された第２ストリームを出力するなど、ストリームの符号化方式を変換する処理を行う。そして、変換処理を行う際、出力する第２ストリームのレート制御を最適に行えるよう本発明は工夫されている。あるいは、トランスコーダ１は、ＭＰＥＧ２で符号化された第１ストリームを入力し、再びＭＰＥＧ２で符号化された第２ストリームを出力するなど、同じ符号化方式のストリームを出力する。このときにも、出力する第２ストリームのレート制御を最適に行えるよう本発明は工夫されている。
【００２８】
なお、上述した各処理部２、３、４、５、６は、本実施の形態においては、ハードウェアで構成されているが、各処理部２、３、４、５、６の演算処理がソフトウェア処理により実現されていてもよい。つまり、これらの処理部が、ハードウェア回路として構成されていてもよいし、ＣＰＵとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
【００２９】
｛２．ストリームの情報｝
図２は、トランスコーダ１が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ１は、処理時間軸を制御単位期間Ｌｎ（ｎ＝１，２・・・）に区分し、この制御単位期間Ｌｎを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Ｌｎを第ｎ期間と呼ぶことにする。本実施の形態においては、１ＧＯＰが制御単位期間Ｌｎとして設定される。ただし、制御単位期間Ｌｎとしては、複数のＧＯＰ、１フレーム、連続する複数フレームなどを設定することが可能である。
【００３０】
第１ストリームの入力全体ビットレートＳは、シーケンスヘッダなどから取得される。入力平均ビットレートＳｎは、第ｎ期間における第１ストリームの平均ビットレートである。デコーダ２は、入力した第１ストリームから、入力全体ビットレートＳ、入力平均ビットレートＳｎ、第ｎ期間における量子化ステップ値などの情報を取得し、これらの情報をエンコーダ３に与える。
【００３１】
第２ストリームの全体目標ビットレートＴは、ユーザにより設定される。たとえば、ユーザが、トランスコーダ１に設けられた図示せぬ操作部を用いて全体目標ビットレートＴを設定する。目標設定ビットレートＴｎは、第ｎ期間における第２ストリームの目標ビットレートである。出力平均ビットレートＣｎは、第ｎ期間における変換済みの第２ストリームの平均ビットレートである。
【００３２】
なお、目標設定ビットレートＴｎは、全体目標ビットレートＴから算出される場合や、第１ストリームの情報、変換済みの過去の第２ストリームの情報などから算出される場合がある。
【００３３】
｛３．ＧＯＰ内のピクチャフレームの情報｝
図３は、第ｎ期間におけるＧＯＰの構成、目標符号量および発生符号量を示す図である。図に示すように、ＧＯＰは、Ｉピクチャ、Ｂピクチャ、Ｐピクチャからなる複数のピクチャで構成されている。ここでは、１つのＧＯＰが、「ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢ」という１５枚のピクチャフレームで構成されている場合を例に説明する。
【００３４】
ＧＯＰの各ピクチャフレームについて、それぞれ目標符号量Ｔｐｋ（ｋ＝０，１，２，・・・１４）を算出することが可能である。ここでは、目標符号量設定部４が、第ｎ期間の目標ビットレートＴｎに基づいて算出した第ｎ期間の目標符号量Ｔｇｎをピクチャフレーム数（上述したように、ここでは、ピクチャフレーム数は１５）で除算することで、Ｔｐｋを算出する。つまり、この実施の形態においては、目標符号量Ｔｐｋは、制御単位期間Ｌｎ内においては、ｋの値に関わらず一定の値を採用することとしている。ただし、目標符号量Ｔｐｋとして、ピクチャタイプごとに重み付けをするなど異なる値を設定してもよい。目標符号量設定部４は、算出した目標符号量Ｔｐｋをビット調整部６に与える。
【００３５】
また、発生符号量Ｃｐｋ（ｋ＝０，１，２，・・・１４）は、実際に符号化処理が実行された第２ストリームのピクチャフレームごとの発生符号量である。発生符号量取得部５は、エンコーダ３における符号化処理をモニタリングし、ピクチャフレームごとの発生符号量Ｃｐｋを取得する。そして、発生符号量取得部５は、取得した発生符号量Ｃｐｋをビット調整部６に与える。
【００３６】
｛４．スタッフィング判定処理｝
次に、図４、図５を参照しつつ、本実施の形態におけるスタッフィング判定処理について説明する。図４は、ビット調整部６のブロック図を示す。図５は、ビット調整部６において実行される処理のフローチャートである。
【００３７】
図４に示すように、ビット調整部６は、基準差分値算出部６１、目標符号量積算部６２、発生符号量積算部６３、減算器６４、比較部６５、スタッフィングビット生成部６６を備えている。また、図５のフローチャートは、ビット調整部６が、第ｎ期間のＧＯＰにおけるｍ番目のピクチャフレームに対して実行する処理を示している。
【００３８】
ビット調整部６は、まず、処理対象であるピクチャフレームが、ＧＯＰの先頭ピクチャフレームであるかどうかを判定する（ステップＳ１）。エンコーダ３による符号化処理が完了したピクチャフレームに対して、図５のフローチャートが実行されるので、処理対象のピクチャフレームとは、符号化処理が完了した直後のピクチャフレームを示している。正確には、処理対処のピクチャフレームとは、エンコーダ３による符号化が完了し、スタッフィング判定処理の対象となっているピクチャフレームを示している。
【００３９】
ビット調整部６において、処理対象であるピクチャフレームが、ＧＯＰの先頭ピクチャフレームであると判定された場合（ステップＳ１でＹｅｓ）、基準差分値算出部６１が、基準差分値Ｄｎ−１を算出する（ステップＳ２）。基準差分値Ｄｎ−１は、先頭ＧＯＰ（第１期間のＧＯＰ）から第（ｎ−１）期間のＧＯＰまでの発生符号量の積算値から目標符号量の積算値を減算した値である。つまり、先頭ＧＯＰから前回のＧＯＰまでの全体の発生符号量から全体の目標符号量を減算した値である。基準差分値Ｄｎ−１は、数１式で表される。
【００４０】
【数１】
0005050159.tif 000002
【００４１】
基準差分値算出部６１は、図示せぬバッファに格納されている第１期間から第（ｎ−１）期間までの発生符号量Ｃｇ１〜Ｃｇ（ｎ−１）と目標符号量Ｔｇ１〜Ｔｇ（ｎ−１）を取得することで基準差分値Ｄｎ−１を算出する。このように、本実施の形態においては、第ｎ期間におけるスタッフィング判定処理において、過去の発生符号量の状態を加味する。
【００４２】
基準差分値Ｄｎ−１を算出した後、目標符号量積算部６２が、累積目標符号量ＴＧを初期化し、発生符号量積算部６３が、累積発生符号量ＣＧを初期化する（ステップＳ３）。
【００４３】
累積目標符号量ＴＧは、数２式で表される。累積目標符号量ＴＧは、ＧＯＰ内の目標符号量を積算した値である。具体的には、第ｎ期間のＧＯＰにおいて、ＧＯＰの先頭ピクチャフレームから、現在の処理対象であるピクチャフレーム（ｍ番目のピクチャフレーム）までの目標符号量Ｔｐｋを積算した値である。
【００４４】
【数２】
0005050159.tif 000003
【００４５】
上述したように、本実施の形態においては、目標符号量Ｔｐｋとしては、一定の値を採用しているので、累積目標符号量ＴＧは、目標符号量Ｔｇｎをピクチャフレーム数（１５）で除算した値に、ピクチャフレーム数（ｍ＋１）を乗算した値となる。
【００４６】
累積発生符号量ＣＧは、数３式で表される。累積発生符号量ＣＧは、ＧＯＰ内の発生符号量を積算した値である。具体的には、第ｎ期間のＧＯＰにおいて、ＧＯＰの先頭ピクチャフレームから、現在の処理対象であるピクチャフレーム（ｍ番目のピクチャフレーム）までの発生符号量Ｃｐｋを積算した値である。
【００４７】
【数３】
0005050159.tif 000004
【００４８】
ステップＳ３においては、累積目標符号量ＴＧおよび累積発生符号量ＣＧが、それぞれ０に初期化される。このように、ＧＯＰの切り替わりのタイミングで、まず、累積目標符号量ＴＧおよび累積発生符号量ＣＧが初期化される。
【００４９】
一方、ステップＳ１において、処理対象のピクチャフレームがＧＯＰの先頭ピクチャフレームでないと判定された場合（ステップＳ１でＮｏ）、ステップＳ４に処理が遷移する。
【００５０】
続いて、目標符号量積算部６２が、処理対象のピクチャフレーム（符号化処理済みのピクチャフレーム）の目標符号量ＴＰｍを累積目標符号量ＴＧに加算する（ステップＳ４）。この処理により、ＧＯＰ内の先頭ピクチャフレームから処理対象のピクチャフレームであるｍ番目のピクチャフレームまでの目標符号量Ｔｐｋが積算される。
【００５１】
続いて、発生符号量積算部６３が、処理対象のピクチャフレーム（符号化処理済みのピクチャフレーム）の発生符号量Ｃｐｍを累積目標符号量ＣＧに加算する（ステップＳ５）。この処理により、ＧＯＰ内の先頭ピクチャフレームから処理対象のピクチャフレームであるｍ番目のピクチャフレームまでの発生符号量Ｃｐｋが積算される。
【００５２】
次に、減算器６４において、累積目標符号量ＴＧから累積発生符号量ＣＧが減算され、比較部６５において、減算器６４における減算値（累積差分値）と基準差分値Ｄｎ−１との比較処理が行われる（ステップＳ６）。数４式は、比較部６５における比較演算式を示す。
【００５３】
【数４】
0005050159.tif 000005
【００５４】
減算器６４における減算値（ＴＧ−ＣＧ）が基準差分値Ｄｎ−１より大きい場合（ステップＳ６でＹｅｓ）、つまり、数４式の条件を満たす場合、比較部６５は、スタッフィングビット生成部６６に対してスタッフィングを有効とする信号を出力する。これに応答して、スタッフィングビット生成部６６は、数５式に示す演算を行うことにより、スタッフィングビットサイズＳＢを算出する（ステップＳ７）。そして、スタッフィングビット生成部６６は、スタッフィングビットサイズＳＢをエンコーダ３に出力する（ステップＳ８）。
【００５５】
【数５】
0005050159.tif 000006
【００５６】
エンコーダ３では、スタッフィングビットサイズＳＢを入力すると、スタッフィングビットサイズＳＢ分だけ処理対象のピクチャフレームにスタッフィングビットを付加する。
【００５７】
このように、本実施の形態においては、ピクチャフレームごとに符号量の判定を行い、スタッフィングを行う。そして、符号量の判定を行う際、現在のＧＯＰ（第ｎ期間のＧＯＰ）における発生符号量のみならず、過去のＧＯＰ（第１期間から第（ｎ−１）期間までのＧＯＰ）の発生符号量を加味してスタッフィングを行うか否かの判定を行うので、ストリーム全体の発生符号量が目標ビットレートＴを上回ることがないよう制御可能である。
【００５８】
たとえば、第ｎ期間の発生符号量が少なく、目標符号量を下回った場合であって、数４式の関係を満たす場合に、スタッフィングが行われる。そのようなケースとしては、第ｎ期間の発生符号量が目標符号量より小さく、第１期間から第（ｎ−１）期間までの発生符号量も目標符号量を下回っているようなケースが考えられる。あるいは、第１期間から第（ｎ−１）期間までの発生符号量が目標符号量を上回っているが、第ｎ期間の発生符号量の目標符号量に対する不足量が、第１期間から第（ｎ−１）期間における超過量より大きい場合などがある。
【００５９】
一方、第ｎ期間の発生符号量が少なく、目標符号量を下回った場合でも、第１期間から第（ｎ−１）期間までの発生符号量が目標符号量を上回っており、数４式の関係を満たさない場合には、スタッフィングは行われない。たとえば、第１期間から第（ｎ−１）期間までの発生符号量が目標符号量を上回っており、第ｎ期間の発生符号量の目標符号量に対する不足量が、第１期間から第（ｎ−１）期間における発生符号量の超過量より小さい場合などがある。
【００６０】
また、第ｎ期間の発生符号量が小さく、目標符号量を下回った場合で、数４式の関係を満たす場合であっても、不足する符号量をそのままスタッフィングするのではなく、第１期間から第（ｎ−１）期間までの符号量を加味した上でスタッフィングビットサイズＳＢを決定する。つまり、数５式に示すように、累積差分値（ＴＧ−ＣＧ）から基準差分値Ｄｎ−１を減算した符号量だけをスタッフィングするので、出力ストリーム全体として見たときに、過剰なスタッフィングが行われることがない。
【００６１】
再び、図５のフローチャートを参照する。スタッフィングビット生成部６６は、また、スタッフィングビットサイズＳＢを発生符号量積算部６３に出力する。発生符号量積算部６３は、累積発生符号量ＣＧにスタッフィングビットサイズＳＢを付加する（ステップＳ９）。数６式にステップＳ９の処理に対応する演算式を示す。
【００６２】
【数６】
0005050159.tif 000007
【００６３】
数６式中、Ｃ’Ｇは、スタッフィング後の累積発生符号量を示しており、ＣＧは、スタッフィング前の累積発生符号量を示している。このように、スタッフィングビットサイズＳＢも累積発生符号量ＣＧに加算することで、ピクチャフレームごとに詳細に符号量の過不足を判定し、適切なレート制御が行われる。
【００６４】
一方、ステップＳ６において、数４式の条件を満たさなかった場合、つまり、減算器６４における減算値（ＴＧ−ＣＧ）が基準差分値Ｄｎ−１以下である場合、スタッフィングは行われず、ステップＳ７、ステップＳ８、ステップ９の処理は実行されない。
【００６５】
処理対象のピクチャフレームについて、スタッフィングが終了すると、ビット調整部６は、処理対象のピクチャフレームについてのスタッフィング判定処理を終了する。ビット調整部６は、次のピクチャフレームの符号化が完了した時点で、再び次のピクチャフレームについて図５で示すスタッフィング判定処理を実行する。このとき、同一のＧＯＰ内であれば、ステップＳ３は実行されないので、累積目標符号量ＴＧと累積発生符号量ＣＧは、ＧＯＰ内で累積される。そして、累積発生符号量ＣＧは、数６式で示したように、スタッフィングビットサイズＳＢが加算された上で累積される。したがって、過剰なスタッフィングが行われることがない。
【００６６】
以上説明したように、本実施の形態のエンコーダ３によれば、第２ストリームのビットレートが目標ビットレートＴを超えてしまうようなケースを回避し、制御単位期間Ｌｎ内のビットレートを平均化することが可能である。これにより、出力されたストリームが記録媒体に格納できないといった問題を生じさせることはない。
【００６７】
また、エンコーダ３は、ピクチャフレームの符号化が完了するたびにスタッフィング判定処理を行い、必要であればスタッフィングを行う。このスタッフィングに関わる処理は、次のピクチャフレームの符号化処理中に平行して実行することが可能である。これにより、スタッフィングによる処理遅延を生じさせることなく、リアルタイムで第２ストリームを出力可能である。
【図面の簡単な説明】
【００６８】
【図１】本実施の形態に係るトランスコーダのブロック図である。
【図２】ストリームの情報を示す図である。
【図３】ＧＯＰ内のピクチャフレームの情報を示す図である。
【図４】ビット調整部のブロック図である。
【図５】スタッフィング判定処理を示すフローチャートである。
【符号の説明】
【００６９】
３    エンコーダ
４    目標符号量設定部
５    発生符号量取得部
６１    基準差分値算出部
６２    目標符号量積算部
６３    発生符号量積算部
ＣＧ    累積発生符号量
Ｃｐｋ    発生符号量
Ｄｎ−１    基準差分値
ＴＧ    累積目標符号量
Ｔｐｋ    目標符号量
ＳＢ    スタッフィングビットサイズ
【図１】
0005050159.tif 000008
【図２】
0005050159.tif 000009
【図３】
0005050159.tif 000010
【図４】
0005050159.tif 000011
【図５】
0005050159.tif 000012