(57)【要約】【課題】バッファモデルに準拠し、バッファの使用効率の向上を図ることができる画像処理装置、画像処理方法およびプログラムを提供する。【解決手段】画像処理装置１は、エンコーダＩＰ装置１１と、コントロール装置１２と、付加情報追加装置１３とを有する。エンコーダＩＰ装置１１は、動画像データをエンコードする。付加情報追加装置１３は、エンコーダＩＰ装置１１の出力データに付加データを付加する。コントロール装置１２は、エンコーダＩＰ装置１１が出力すべき出力データの容量を監視し、付加情報追加装置１３が出力データに付加データを付加したときに、付加データを含む出力データの容量が規定値以下となるように、エンコーダＩＰ装置１１の出力を制御する。【選択図】図１
2010141479.tif 000002
【特許請求の範囲】
【請求項１】
動画像データをエンコードするエンコード処理部と、
上記エンコード処理部の出力データに付加データを付加する付加部と、
上記エンコード処理部が出力すべき上記出力データの容量を監視し、上記付加部が上記出力データに上記付加データを付加したときに、当該付加データを含む当該出力データの容量が規定値以下となるように、上記エンコード処理部の出力を制御する制御部と
を有する画像処理装置。
【請求項２】
上記エンコード処理部は、
上記出力すべき上記出力データを格納するバッファを有し、
上記制御部は、
上記エンコード処理部が出力した上記バッファの状態に関するバッファ情報と、上記付加データの容量とに基づいて、上記バッファの容量が上記規定値以下となるように上記バッファを制御する
請求項１記載の画像処理装置。
【請求項３】
上記バッファ情報は、
上記規定値を規定する仮想バッファの容量に関する情報を含み、
上記制御部は、
上記バッファ情報が含む上記仮想バッファの容量と、上記付加データの容量との差分に基づいて、上記エンコード処理部が上記動画像データをエンコードする際のビットレートを設定する
請求項２記載の画像処理装置。
【請求項４】
上記エンコード処理部が行うエンコードに関する初期設定情報が格納された記憶部を有し、
上記エンコード処理部は、
上記動画像データをフレーム単位でエンコードし、
上記制御部は、
上記エンコード処理部が初めのフレームに対してエンコードを行う場合には、上記記憶部に格納された初期設定情報を参照して上記設定すべきビットレートを設定し、
上記エンコード処理部が以後のフレームに対してエンコードを行う場合には、上記バッファの容量とフレームレートとの積を算出し、当該算出結果に基づいて上記設定すべきビットレートを設定する
請求項３記載の画像処理装置。
【請求項５】
上記制御部は、
上記エンコード処理部が設定しているビットレートと、上記算出結果としての算出ビットレートとの大きさを比較し、
上記ビットレートが上記算出ビットレート以下の場合には、設定すべきビットレートを当該ビットレートに設定し、
上記ビットレートが上記算出ビットレート以上の場合には、設定すべきビットレートを当該算出ビットレートに設定する
請求項４記載の画像処理装置。
【請求項６】
上記エンコード処理装置は、
上記バッファの容量が上記規定値を超えた場合には、エンコード対象のフレームに対するエンコードを停止し、
上記制御部は、
上記エンコード処理部のエンコードが停止した旨の停止信号を取得した場合には、上記設定すべきビットレートを設定されているビットレートよりも下げる
請求項５記載の画像処理装置。
【請求項７】
上記制御部は、
上記エンコード処理部による上記出力データの出力後、上記付加データの容量の変更を検知した場合には、当該付加データの容量の増減量を算出し、上記エンコード処理部が次のフレームに対するエンコードを行うときに、当該増減量に基づいて上記設定すべきビットレートを設定する
請求項６記載の画像処理装置。
【請求項８】
動画像データをエンコードする第１のステップと、
上記エンコードしたデータの容量を監視する第２のステップと、
上記エンコードしたデータに付加データを付加したときに、当該付加データを含む当該エンコードしたデータの容量が規定値以下となるように、出力すべき当該エンコードしたデータの容量を制御する第３のステップと、
上記エンコードしたデータに上記付加データを付加する第４のステップと
を有する画像処理方法。
【請求項９】
動画像データをエンコードする第１の処理と、
上記エンコードしたデータの容量を監視する第２の処理と、
上記エンコードしたデータに付加データを付加したときに、当該付加データを含む当該エンコードしたデータの容量が規定値以下となるように、出力すべき当該エンコードしたデータの容量を制御する第３の処理と、
上記エンコードしたデータに上記付加データを付加する第４の処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、動画像データをエンコード可能な画像処理装置、画像処理方法およびプログラムに関するものである。
【背景技術】
【０００２】
動画像データをエンコード（符号化）する画像処理装置が周知である（例えば、特許文献１〜３参照）。このような画像処理装置では、エンコードデータにヘッダ情報などの付加データが付加されて、最終的なエレメンタリストリーム（Elementary Stream）が生成される。以下、一般的な画像処理装置の概略について説明する。
【０００３】
図８および図９は、一般的な画像処理装置の構成例を示すブロック図である。
図８に図示する画像処理装置３のエンコーダＩＰ装置３１は、付加情報Ｓ３１のサイズ（データ容量）を示すサイズ情報Ｓ３２をフレームごとに取得する。そして、レートコントロール部３１２は、これを基に、ＶＢＶバッファが破綻しないように、ビットレートを制御する。このとき、出力バッファ固定情報Ｓ３４によって、ＶＢＶバッファのバッファサイズ（ＶＢＡバッファサイズ）が最大となるように制御される。
【０００４】
その後、エンコーダ部３１１は、エンコード処理に使用される初期情報Ｓ３５やレートコントロール部３１２の制御に基づいて、入力信号Ｓ３３をエンコードする。付加情報追加装置３１３は、このエンコードデータに付加情報Ｓ３１を付加する。これによって、エンコード処理が完了し、エレメンタリストリームＳ３６が生成される。
【０００５】
図８に図示する画像処理装置３では、エンコーダＩＰ装置３１の内部にて、エンコードデータに付加情報Ｓ３１が付加される。即ち、エンコーダＩＰ装置は、付加情報Ｓ３１を付加したエンコードデータを出力する。
【０００６】
これに対し、図９に図示する画像処理装置３ａでは、付加情報Ｓ３１の付加を行う付加情報追加装置３１３がエンコーダＩＰ装置３１の外部に配置されている。この装置では、エンコーダＩＰ装置３１の出力したエンコードデータＳ３７には付加情報Ｓ３１が付加されない。このため、エンコーダＩＰ装置３１によるエンコード処理後に、付加情報追加装置３１３がエンコードデータＳ３７に付加情報Ｓ３１を付加する。
【特許文献１】ＷＯ２００４／０７１０８５
【特許文献２】特開２００３−２９９０９１号公報
【特許文献３】特開平１１−２０５２６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図１０は、図８および図９に図示する一般的な画像処理装置によるＶＢＶバッファサイズと、出力バッファサイズとの関係を示す図である。
なお、破線ａは、ＶＢＶバッファサイズを示す。破線ｂは、付加情報Ｓ３１が付加されていないエンコードデータＳ３７を示す。破線ｃは、付加情報Ｓ３１が付加されたエレメンタリストリームＳ３６を示す。
【０００８】
バッファモデルでは、ＶＢＶバッファが破綻しないように、出力バッファ（不図示）に入力されるビット量を制御する必要がある。図１０に図示するように、１フレーム画像に対するエンコード処理は、期間Δｔに行われる。このような装置３，３ａでは、図１０の破線ｂ、ｃで示されるように、付加情報Ｓ３１を含むエンコードデータと付加情報Ｓ３１を含まないエンコードデータのビット量が等しくなる。
【０００９】
一般的な画像処理装置３、３ａでは、出力バッファのサイズをエンコード処理ごとに把握することができない。このため、例えば、出力バッファ固定情報Ｓ３４によって、出力バッファサイズがＶＢＶバッファサイズを超えない最大のサイズを予め与える必要があり、出力バッファの使用効率が悪い。
【００１０】
本発明は、バッファモデルに準拠し、バッファの使用効率の向上を図ることができる画像処理装置、画像処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、動画像データをエンコードするエンコード処理部と、上記エンコード処理部の出力データに付加データを付加する付加部と、上記エンコード処理部が出力すべき上記出力データの容量を監視し、上記付加部が上記出力データに上記付加データを付加したときに、当該付加データを含む当該出力データの容量が規定値以下となるように、上記エンコード処理部の出力を制御する制御部とを有する。
【００１２】
本発明の画像処理方法は、動画像データをエンコードする第１のステップと、上記エンコードしたデータの容量を監視する第２のステップと、上記エンコードしたデータに付加データを付加したときに、当該付加データを含む当該エンコードしたデータの容量が規定値以下となるように、出力すべき当該エンコードしたデータの容量を制御する第３のステップと、上記エンコードしたデータに上記付加データを付加する第４のステップとを有する。
【００１３】
本発明のプログラムは、動画像データをエンコードする第１の処理と、上記エンコードしたデータの容量を監視する第２の処理と、上記エンコードしたデータに付加データを付加したときに、当該付加データを含む当該エンコードしたデータの容量が規定値以下となるように、出力すべき当該エンコードしたデータの容量を制御する第３の処理と、上記エンコードしたデータに上記付加データを付加する第４の処理とをコンピュータに実行させる。
【００１４】
本発明によれば、エンコード処理部は、動画像データをエンコードする。
このとき、制御部は、エンコード処理部が出力すべき出力データの容量を監視している。そして、制御部は、付加部が出力データに付加データを付加したときに、付加データを含む出力データの容量が規定値以下となるように、エンコード処理部の出力を制御する。
その後、付加部は、エンコード処理部の出力データに付加データを付加する。
【発明の効果】
【００１５】
本発明によれば、バッファモデルに準拠し、バッファの使用効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態を図面に関連付けて説明する。なお、説明は以下の順序で行う。
１．実施形態
１．１．画像処理装置１の構成例
１．２．画像処理装置１の動作例
１．３．出力バッファサイズとＶＢＶバッファサイズとの関係
１．４．画像処理装置１の例外処理
【００１７】
〈１．実施形態〉
［１．１．画像処理装置１の構成例］
図１は、本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
図１に図示する画像処理装置１は、エンコーダＩＰ装置１１、コントロール装置１２、付加情報追加装置１３および初期設定記憶装置１４を有する。
エンコーダＩＰ装置１１は、エンコーダ部１１１、レートコントロール部１１２、ＶＢＶバッファ１１３および出力バッファ１１４を有する。
コントロール装置１２は、ビットレート部１２１およびバッファ部１２２を有する。
【００１８】
なお、エンコーダＩＰ装置１１は、本発明のエンコード制御部に対応する。コントロール装置１２は、本発明の制御部に対応する。付加情報追加装置１３は、本発明の付加部に対応する。初期設定記憶装置１４は、本発明の記憶部に対応する。
ＶＢＶバッファ１１３は、本発明の仮想バッファに対応する。出力バッファ１１４は、本発明のバッファに対応する。
【００１９】
画像処理装置１は、入力信号Ｓ０をエンコード（符号化または圧縮符号化）し、エレメンタリストリームＳ２をＩＰ（Internet Protocol）ネットワーク上に出力可能なエンコード機能を有する。この入力信号Ｓ０は、エンコードの対象となる動画像データである。これは、複数のフレームで構成され、フレーム単位でエンコードされる。
具体的には、画像処理装置１は、ビットレートを制御することで、バッファモデルに準拠するように、出力バッファ１１４のバッファサイズ（バッファ容量）を制御する。以後、出力バッファ１１４のバッファサイズを単に「出力バッファサイズ」と表記する。
そして、画像処理装置１は、エンコーダＩＰ装置１１の出力データＳ１に付加情報（付加データ）Ｓ８を付加し、所望するエンコードフォーマットの規格に準拠したエレメンタリストリームＳ２を生成する。この付加情報Ｓ８は、例えば、ヘッダ情報やユーザデータに関する情報である。
【００２０】
画像処理装置１は、例えば、ＭＰＥＧ−２（Moving Picture Experts Group 2）や、ＭＰＥＧ−４等、種々の形式のエンコードフォーマットに対応している。エンコードフォーマットは、エンコード処理後のデータ容量や画質などの条件に合わせて好適に選択可能である。なお、前述のＭＰＥＧ−２およびＭＰＥＧ−４は、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization Sector；国際電気通信連合電気通信標準化部門）等の機関によって、標準化されている。
【００２１】
エンコーダＩＰ装置１１は、入力信号Ｓ０を所望するエンコードフォーマットでエンコードし、これを出力データＳ１として出力する。
詳細には、エンコーダＩＰ装置１１は、初期設定記憶装置１４から入力された初期情報Ｓ３と、コントロール装置１２から入力された出力バッファ情報Ｓ４と、同装置１２から入力されたビットレート情報Ｓ５とに基づいて、入力信号Ｓ０をフレーム単位でエンコードする。エンコーダＩＰ装置１１が行う処理をエンコード処理という。
【００２２】
この初期情報Ｓ３は、例えば、エンコードフォーマット、プロファイル、レベル、ビットレート、フレームレート、遅延量に関する情報によって構成されている。
プロファイルは、エレメンタリストリームＳ２をデコーダ（不図示）にて復号化するために必要なツール（要素技術）の集合を指す。これは、エンコードフォーマットの規格によって定められている。
レベルは、エンコードフォーマットの規格ごとに異なるが、画像の解像度に応じて、例えば、レベル１〜レベル５に分類されている。
【００２３】
エンコード処理の終了後、エンコーダＩＰ装置１１は、１フレームのエンコード処理済のデータを出力データＳ１として付加情報追加装置１３に出力する。このとき、エンコーダＩＰ装置１１は、出力結果情報Ｓ６をコントロール装置１２に出力する。
この出力結果情報Ｓ６は、エンコーダＩＰ装置１１から付加情報追加装置１３への出力データＳ１の出力が成功したか否かを表す情報と、エンコーダＩＰ装置１１の出力バッファサイズに関する情報とによって構成される。
【００２４】
エンコーダ部１１１は、レートコントロール部１１２から入力されたレート情報Ｓ１０と、初期情報Ｓ３とに基づいて、入力信号Ｓ０をエンコードする。エンコードの際には、所望するエンコードフォーマットに応じたエンコード処理が施される。エンコード処理後、エンコーダ部１１１は、エンコード処理の結果を出力結果情報Ｓ９としてレートコントロール部１１２に出力する。この出力結果情報Ｓ９は、出力結果情報Ｓ６と同様のものである。
【００２５】
レートコントロール部１１２は、ビットレートを制御することによって出力バッファサイズを制御する。このとき、レートコントロール部１１２は、出力結果情報Ｓ９と、出力バッファ情報Ｓ４と、ビットレート情報Ｓ５とに基づいて、レート情報Ｓ１０を生成し、これをエンコーダ部１１１に出力する。
このレート情報Ｓ１０は、１フレームのエンコード時の量子化係数、ビットレートに関する情報である。
【００２６】
ＶＢＶバッファ１１３は、デコーダ側（不図示）がエレメンタリストリームＳ２を受信する時に、デコーダ側のバッファ状態を制御するために設けられている仮想的なバッファである。そのバッファサイズは、バッファモデルで定められ、プロファイルとレベルとによって設定される。以後、ＶＢＶバッファ１１３のバッファサイズを単に「ＶＢＶバッファサイズ」と表記する。
このＶＢＶバッファ１１３が破綻した場合には、デコーダ側でのデコード（復号化）処理が正常に行われない場合がある。したがって、ＶＢＶバッファサイズを、オーバーフローやアンダーフローといった、破綻が生じないように制御する必要がある。
そこで、付加情報Ｓ８が付加された出力データＳ１がＶＢＶバッファサイズを超えないように、このバッファに入力されるビット量、即ちビットレートがレートコントロール部１１２によって制御される。
【００２７】
出力バッファ１１４は、エンコード処理後の出力データＳ１を付加情報追加装置１３に出力する前に、格納するためのバッファである。
【００２８】
コントロール装置１２は、サイズ情報Ｓ７と、初期設定記憶装置１４から読み出した初期情報Ｓ３と、エンコーダＩＰ装置１１から入力された出力結果情報Ｓ６とに基づいて、エンコーダＩＰ装置１１を制御する。
エンコーダＩＰ装置１１の出力データＳ１には、付加情報Ｓ８が付加情報追加装置１３によって付加される。コントロール装置１２は、出力バッファ１１４を監視し、この付加情報Ｓ８を含む出力データＳ１がＶＢＶバッファサイズを超えないように、出力バッファサイズを算出し、ビットレートを制御することで、ＶＢＶバッファサイズを制御する。このとき、コントロール装置１２は、出力バッファ情報Ｓ４と、ビットレート情報Ｓ５とを生成し、これらをエンコーダＩＰ装置１１に出力する。
出力バッファ情報Ｓ４は、１フレームのエンコード時の出力バッファサイズに関する情報である。ビットレート情報Ｓ５は、１フレームのエンコード時のビットレートに関する情報である。
【００２９】
コントロール装置１２の詳細について説明する。
ビットレート部１２１は、バッファ部１２２から入力された出力バッファ情報Ｓ１１に基づいて、エンコーダＩＰ装置１１によるエンコード処理時のビットレートを制御する。なお、出力バッファ情報Ｓ１１は、出力バッファ情報Ｓ４と同様のものである。
【００３０】
バッファ部１２２は、出力結果情報Ｓ６に基づいて、出力バッファサイズを算出し、この算出結果を出力バッファ情報Ｓ１１としてビットレート部１２１に出力する。
【００３１】
付加情報追加装置１３は、予め、サイズ情報Ｓ７を取得し、付加すべき付加情報Ｓ８のサイズ（データ容量）を取得しておく。サイズ情報Ｓ７は、付加情報Ｓ８のサイズを示すものである。
その後、付加情報追加装置１３は、エンコーダＩＰ装置１１が出力した１フレームのエンコード結果としての出力データＳ１に、付加情報Ｓ８を付加する。そして、付加情報追加装置１３は、付加情報Ｓ８が付加された出力データＳ１をエレメンタリストリームＳ２として出力する。
【００３２】
初期設定記憶装置１４は、初期情報Ｓ３を記憶する。この初期情報Ｓ３は、エンコーダＩＰ装置１１と、コントロール装置１２とによって、適宜読み出される。
【００３３】
［１．２．画像処理装置１の動作例］
上記画像処理装置１の動作例について説明する。
図２は、本発明の実施形態に係る画像処理装置の動作例を示すシーケンス図である。
図３は、本発明の実施形態に係るコントロール装置の詳細な動作例を示すフローチャートである。
【００３４】
画像処理装置１は、（１）初めてエレメンタリストリームＳ２を生成する場合と（Ｎ＝０枚目のフレーム）、（２）Ｎ＝Ｋ枚目のフレームに対してエレメンタリストリームＳ２を生成する場合とで、その処理が異なる。初めに、（１）Ｎ＝０枚目のフレームの場合について説明し、次に、（２）Ｎ＝Ｋ枚目のフレームの場合について説明する。
【００３５】
［（１）Ｎ＝０枚目のフレームに対するエレメンタリストリームＳ２の生成］
図２に図示するように、付加情報追加装置１３は、入力信号Ｓ０、即ち、Ｎ＝０枚目のフレームがエンコーダＩＰ装置１１に入力されたタイミングで、このフレームのサイズ情報Ｓ７と、付加情報Ｓ８とを取得する（ステップＳＴ１）。
【００３６】
その後、コントロール装置１２は、以下に述べる情報生成処理を行う（ステップＳＴ２）。
詳細には、図３に図示するように、コントロール装置１２は、Ｎ＝０枚目のフレームに対するサイズ情報Ｓ７が入力されると、初期設定記憶装置１４から初期情報Ｓ３を読み出す。そして、コントロール装置１２のバッファ部１２２は、次式を用いて、このフレームに対する出力バッファサイズを算出する（ステップＳＴ２１）。
【００３７】
（数１）
ＢＵＦ＝ＶＢＶ−ＨＳ  …（式１）
【００３８】
（式１）において、ＢＵＦは出力バッファサイズを示し、ＶＢＶはＶＢＶバッファサイズを示し、ＨＳは付加情報サイズを示す。
コントロール装置１２のバッファ部１２２は、（式１）に示すように、ＶＢＶバッファサイズＶＢＶからサイズ情報Ｓ７に示される付加情報サイズＨＳを減算することで、現段階での出力バッファサイズＢＵＦを算出する。そして、バッファ部１２２は、この算出結果を出力バッファ情報Ｓ１１としてビットレート部１２１に出力する。
【００３９】
その後、ビットレート部１２１は、バッファ部１２２から出力バッファ情報Ｓ１１を受けて、出力バッファサイズを取得する。そして、ビットレート部１２１は、次式に基づいて、設定すべきビットレートを設定する（ステップＳＴ２２）。
【００４０】
（数２）
ＢＲ＝ＴＢＲ  …（式２）
【００４１】
（式２）において、ＢＲはビットレートを示し、ＴＢＲはターゲットビットレートを示す。（式２）の右辺に示すターゲットビットレートＴＢＲは、レートコントロール部１１２が設定している前のフレームに対するエンコード処理時のビットレートである。
初めてエレメンタリストリームＳ２を生成する場合には、ビットレート部１２１は、設定すべきビットレートをターゲットビットレートＴＢＲに設定する。ただし、Ｎ＝０枚目のフレームに対するエンコード処理においては、前のフレームに対するビットレートが設定されていないため、レートコントロール部１１２は、初期情報Ｓ３に基づいてビットレートを設定している。
【００４２】
その後、コントロール装置１２は、出力バッファ情報Ｓ１１を出力バッファ情報Ｓ４とし、ビットレート部１２１によって算出されたビットレートをビットレート情報Ｓ５として、これらをエンコーダＩＰ装置１１に出力する（ステップＳＴ２３）。
【００４３】
その後、エンコーダＩＰ装置１１は、初期設定記憶装置１４から初期情報Ｓ３を読み出す。図２に図示するように、エンコーダＩＰ装置１１は、コントロール装置１２から出力バッファ情報Ｓ４と、ビットレート情報Ｓ５とが入力されると、入力信号Ｓ０、即ち、Ｎ＝０枚目のフレームに対してエンコード処理を行う（ステップＳＴ３）。
【００４４】
詳細には、レートコントロール部１１２は、ビットレートを制御するため、出力結果情報Ｓ９と、出力バッファ情報Ｓ４と、ビットレート情報Ｓ５とに基づいて、レート情報Ｓ１０を生成し、これをエンコーダ部１１１に出力する。
【００４５】
そして、エンコーダ部１１１は、レートコントロール部１１２から入力されたレート情報Ｓ１０と、初期情報Ｓ３とに基づいて、１フレームの入力信号Ｓ０をエンコードする。エンコード処理後、エンコーダ部１１１は、１フレームのエンコードデータを出力データＳ１として付加情報追加装置１３に出力する。
これと同時に、エンコーダ部１１１は、エンコード結果としての出力結果情報Ｓ６をコントロール装置１２に出力し、かつ、これと同様の出力結果情報Ｓ９をレートコントロール部１１２に出力する。
【００４６】
その後、付加情報追加装置１３は、エンコーダＩＰ装置１１から入力された１フレームのエンコード結果としての出力データＳ１に、付加情報Ｓ８を付加する。そして、付加情報追加装置１３は、付加情報Ｓ８が付加された出力データＳ１をエレメンタリストリームＳ２として出力する。
【００４７】
［（２）ｋ枚目のフレームに対するエレメンタリストリームＳ２の生成］
以後、画像処理装置１は、Ｎ＝１，２，…枚目のフレームに対しても順次エンコード処理を行って、エレメンタリストリームＳ２を生成する。
ただし、Ｎ＝ｋ枚目のフレームでは、Ｎ＝（Ｋ−１）枚目までのデータが出力バッファ１１４に保存されているので、出力バッファサイズとビットレートの算出方法とが、前述のものと異なる。以下、（１）Ｎ＝０枚目のフレームの場合と異なる点について説明する。
【００４８】
具体的には、ステップＳＴ２１において、コントロール装置１２のバッファ部１２２は、次式を用いて、Ｎ＝ｋ枚目のフレームに対する出力バッファサイズを算出する。
【００４９】
（数３）
ＢＵＲ＝ＶＢＶ−ＳＢ−ＨＳ  …（式３）
【００５０】
（式３）において、ＳＢは、前回（ｋ−１）の情報生成処理までの出力バッファ１１４の保存量を示し、これは次式によって算出される。
【００５１】
【数４】
2010141479.tif 000003
【００５２】
なお、（式４）において、Ｄｙｌａｙは、エンコード処理の遅延量を示し、ＦＲはフレームレートを示す。Ｂ（ｎ）は、ｎ枚目のフレームに対するビットレートを示す。Ｓ（ｎ）は、ｎ枚目のフレームに対するエレメンタリストリームＳ２の出力サイズを示す。
コントロール装置１２のバッファ部１２２は、（式３）に示すように、ＶＢＶバッファサイズＶＢＶから、前回（ｋ−１）の情報生成処理までの出力バッファ１１４の保存量ＳＢと、付加情報サイズＨＳとを減算する。これにより、現段階での出力バッファサイズＢＵＲが算出される。
【００５３】
次のステップＳＴ２２において、ビットレート部１２１は、次式に基づいて、設定すべきビットレートを算出する。
【００５４】
（数５）
ＢＲ＝ＢＵＲ×ＦＲ  …（式５）
【００５５】
Ｎ＝ｋ枚目のフレームでは、ビットレート部１２１は、出力バッファサイズＢＵＲとフレームレートＦＲとの積により、（式５）に示すビットレートＢＲを算出する。このビットレートを算出ビットレートＢＲと呼ぶ。更に、現在レートコントロール部１１２が設定しているビットレートを現在のビットレートＢＲαと呼ぶ。
【００５６】
ビットレート部１２１は、現在のビットレートＢＲαと、算出ビットレートＢＲとを比較する。
現在のビットレートＢＲαが算出ビットレートＢＲよりも小さい場合には（ＢＲα≦ＢＲ）、ビットレート部１２１は、設定すべきビットレートを現在のビットレートＢＲαに設定する。
逆に、現在のビットレートＢＲαが算出ビットレートＢＲよりも大きい場合には（ＢＲα＞ＢＲ）、ビットレート部１２１は、設定すべきビットレートを算出ビットレートＢＲに設定する。
【００５７】
［１．３．出力バッファサイズとＶＢＶバッファサイズとの関係］
以上説明した画像処理装置１によれば、出力バッファサイズとＶＢＶバッファサイズとの関係は、以下のように示される。
【００５８】
図４は、本発明の実施形態に係る出力バッファサイズとＶＢＶバッファサイズとの関係を示す図である。
なお、図４の縦軸は出力バッファサイズを示し、横軸は時間を示す。破線ａは、ＶＢＶバッファサイズを示す。実線ｂは、エンコーダＩＰ装置１１による出力データＳ１を示す。破線ｃは、付加情報追加装置１３によるエレメンタリストリームＳ２を示す。
【００５９】
図４の破線ａに図示するように、ＶＢＶバッファサイズは、バッファモデルにより一定に定められている。１フレームのエンコード処理は、図４に示すΔｔの期間に行われる。１フレームに対するエンコード処理が開始すると、出力バッファ１１４に格納されるビット量の増加に伴い、出力バッファサイズが線形に増加する。
【００６０】
エンコーダＩＰ装置１１は、図４の実線ｂに図示するように、エンコードデータとしての出力データＳ１を付加情報追加装置１３に出力する。そして、付加情報追加装置１３は、この出力データＳ１に付加情報Ｓ８を付加する。その結果、エレメンタリストリームＳ２は、図４の破線ｃに図示するものとなる。
エンコード処理の際に、コントロール装置１２は、出力データＳ１に付加情報Ｓ８が付加されたとき、エレメンタリストリームＳ２がＶＢＶバッファサイズを超えないように、実線ｂおよび破線ｃの傾きで示されるビットレートを制御する。
このため、ＶＢＶバッファ１１３が破綻することなく、エンコードフォーマットの規格に準拠した付加情報を含むエレメンタリストリームを生成することができる。
【００６１】
［１．４．画像処理装置１の例外処理］
ところで、エンコーダＩＰ装置１１は、Ｎ＝Ｋ枚目のフレームに対するエンコード処理に失敗する場合がある。以下、このような場合における画像処理装置１の例外処理について説明する。
【００６２】
図５は、本発明の実施形態に係るエンコード処理が失敗した場合のコントロール装置の動作例について説明するための図である。図５の破線ｄは、エンコーダＩＰ装置１１によるエンコード処理が失敗した場合の出力データＳ１を示す。図５に図示する他の符号やパラメータは、図４と同様のものである。
【００６３】
期間Δｔにおいて、エンコーダＩＰ装置１１がエンコード処理に失敗し、図５の破線ｄに図示するように、出力データＳ１の容量が他の期間のものよりも大きくなる場合がある。この場合、出力データＳ１に付加情報Ｓ８が付加されると、出力バッファサイズがＶＢＶバッファサイズを超える恐れがある。
【００６４】
この場合には、エンコーダＩＰ装置１１は、このフレームに対するエンコード処理を停止（スキップ）する。そして、エンコーダＩＰ装置１１は、エンコードに失敗した旨の出力結果情報（停止信号）Ｓ６をコントロール装置１２に出力する。
コントロール装置１２が、出力結果情報Ｓ６を受けると、ビットレート部１２１は、図５ｃに図示するように、（式２）または（式５）に基づいて算出したビットレートよりも低いビットレートを設定する。期間Δｔ以後、Ｎ＝（Ｋ＋１）枚目のフレームに対するエンコード処理が再開される。
このように、コントロール装置１２がエンコーダＩＰ装置１１を制御するため、図５の破線ｃに図示するように、最終的なエンコードデータがＶＢＶバッファサイズを超えることなく、バッファモデルに準拠したエンコード処理を行うことができる。
【００６５】
Ｎ＝Ｋ枚目のフレームに対するエンコード処理の際に、エンコーダＩＰ装置１１が出力データＳ１を付加情報追加装置１３に出力した後、サイズ情報Ｓ７および付加情報Ｓ８が変更される場合がある。
【００６６】
この場合には、コントロール装置１２は、サイズ情報Ｓ７に基づいて付加情報Ｓ８の増減量を算出する。この増減量は、次式によって算出される。
【００６７】
（数６）
ＨＳ（Ｋ＋１）＝ＨＳ（Ｋ）＋ΔＨＳ（Ｋ）  …（式６）
【００６８】
（式６）において、ＨＳ（Ｋ＋１）は、（Ｋ＋１）枚目のフレームにおける付加情報サイズを示す。ＨＳ（Ｋ）は、Ｋ枚目のフレームにおける付加情報サイズを示す。ΔＨＳ（Ｋ）は、Ｋ枚目のフレームにおける付加情報の増減分を示す。
（式６）に示すように、コントロール装置１２は、付加情報サイズＨＳ（Ｋ）に付加情報の増減分ΔＨＳを加算することによって、（Ｋ＋１）枚目のフレームにおける付加情報サイズをＨＳ（Ｋ＋１）を算出する。
【００６９】
その後、コントロール装置１２のビットレート部１２１は、（Ｋ＋１）枚目のフレームのエンコード処理時に、（式６）によって算出された増減量分を考慮して、（式３）および（式５）からビットレートを算出する。具体的には、（式６）に示すＨＳ（Ｋ＋１）を（式３）に示す付加情報サイズＨＳに代入すればよい。コントロール装置１２は、この算出結果を基にエンコーダＩＰ装置１１を制御する。
【００７０】
以下、本発明の実施形態に係る画像処理装置１と一般的な画像処理装置とを対比させることにより、本発明の実施形態に係る画像処理装置１の効果について説明する。
【００７１】
図６は、一般的な画像処理装置の構成例を示すブロック図である。
図７は、図６の画像処理装置における出力バッファサイズとＶＢＶバッファサイズとの関係を示す図である。
【００７２】
図６に示す一般的な画像処理装置２は、エンコーダＩＰ装置１１、付加情報追加装置１３および初期設定記憶装置１４を有する。符号が図１に図示するものと同一の装置は、画像処理装置１の装置と同様の機能を有する。
【００７３】
ただし、図６に図示するように、画像処理装置２には、本発明の実施形態の特徴であるコントロール装置１２が搭載されていない。
このため、画像処理装置２では、出力バッファサイズを監視することができず、あらかじめ出力バッファサイズを固定しておく必要がある。出力バッファサイズは、例えば、エンコーダＩＰ装置１１に入力される出力バッファ固定情報Ｓ１２によって、最大のサイズに固定される。
【００７４】
その結果、１フレームのエンコード処理ごとに、ビットレートを制御することができず、図７の破線ｃに図示するように、最終的なエンコードデータが、破線ａで示されるＶＢＶバッファサイズを超える場合がある。この場合には、ＶＢＶバッファ１１３が破綻し、バッファモデルに準拠したエレメンタリストリームを生成することができない。
【００７５】
これに加え、エンコード処理が失敗した場合や、エンコード処理後にサイズ情報Ｓ７および付加情報Ｓ８が変更されるという事態が発生した場合には、状況に応じて出力バッファサイズを制御することができず、このような事態に対応することができない。
【００７６】
これに対し、コントロール装置１２を搭載した画像処理装置１では、コントロール装置１２が出力バッファサイズを監視し、ビットレートを制御するため、バッファモデルに準拠したエレメンタリストリームを生成することができる。
これに加え、コントロール装置１２がビットレートを制御するため、出力バッファサイズを固定する必要がなく、そのサイズを最小限にすることができる。
上述した事態に対しては、例外処理を行うことにより、ＶＢＶバッファ１１３を破綻させることなく、エレメンタリストリームを生成することができる。
【００７７】
以上、実施形態によれば、付加情報追加装置１３によって、エンコードフォーマットの規格に準拠した付加情報を含むエレメンタリストリームを生成することができる。
付加情報は、エンコード処理後に付加されるため、エンコーダＩＰ装置１１を好適に構成することが可能である。このため、エンコーダＩＰ装置１１の構成に左右されず、種々の構成のデコーダにてエレメンタリストリームをデコードすることができる。
【００７８】
以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等を有するコンピュータで実行するように構成することも可能である。このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし、上記プログラムを実行するように構成可能である。
【００７９】
実施形態に係る画像処理装置は、エンコード機能に加え、エレメンタリストリームＳ２をデコードするためのデコード機能を搭載することができる。実施形態に係る画像処理装置が有する機能は、ソフトウェアによって処理されるが、その一部あるいはその全てをハードウェアによって処理することもできる。
本発明に係る画像処理装置および画像処理方法は、例えば、ビデオカメラ、監視カメラ、テレビジョン、パーソナルコンピュータ、種々の映像記録再生機器等、動画像データを扱う種々の電子機器に適用することができる。
【図面の簡単な説明】
【００８０】
【図１】図１は、本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】図２は、本発明の実施形態に係る画像処理装置の動作例を示すシーケンス図である。
【図３】図３は、本発明の実施形態に係るコントロール装置の詳細な動作例を示すフローチャートである。
【図４】図４は、本発明の実施形態に係る出力バッファサイズとＶＢＶバッファサイズとの関係を示す図である。
【図５】図５は、本発明の実施形態に係るエンコード処理が失敗した場合のコントロール装置の動作例について説明するための図である。
【図６】図６は、一般的な画像処理装置の構成例を示すブロック図である。
【図７】図７は、図６の画像処理装置における出力バッファサイズとＶＢＶバッファサイズとの関係を示す図である。
【図８】図８は、一般的な画像処理装置の構成例を示すブロック図である。
【図９】図９は、一般的な画像処理装置の構成例を示すブロック図である。
【図１０】図１０は、図８および図９に図示する一般的な画像処理装置によるＶＢＶバッファサイズと、出力バッファサイズとの関係を示す図である。
【符号の説明】
【００８１】
１…画像処理装置、１１…エンコーダＩＰ装置、１２…コントロール装置、１３…付加情報追加装置、１４…初期設定記憶装置、１１１…エンコーダ部、１１２…レートコントロール部、１１３…ＶＢＶバッファ、１１４…出力バッファ、１２１…ビットレート部、１２２…バッファ部
【図１】
2010141479.tif 000004
【図２】
2010141479.tif 000005
【図３】
2010141479.tif 000006
【図４】
2010141479.tif 000007
【図５】
2010141479.tif 000008
【図６】
2010141479.tif 000009
【図７】
2010141479.tif 000010
【図８】
2010141479.tif 000011
【図９】
2010141479.tif 000012
【図１０】
2010141479.tif 000013