(57)【要約】【課題】より適応的な符号量割り当てを実現する。【解決手段】この動画像符号化装置は、情報取得モジュールと、符号化複雑度算出モジュールと、符号化複雑度変換モジュールと、トランスコードモジュールを具備している。情報取得モジュール１０１は、入力ストリームからＭＰＥＧのヘッダ情報を読み込んで各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得する。符号化複雑度算出モジュール１０２は、取得した情報を用いて、量子化スケールと発生符号量の積の形で表される符号化複雑度をフレーム毎に算出する。符号化複雑度変換モジュール１０３は、ピクチャタイプ毎に用意された線形関数を用いて、算出した符号化複雑度をＨ．２６４／ＡＶＣの符号化複雑度へ変換する。そして、トランスコードモジュール１０４〜１１３は、変換したＨ．２６４／ＡＶＣの符号化複雑度を用いて、入力ストリームを出力ストリームにトランスコードする。【選択図】図２
2011015220.tif 000002
【特許請求の範囲】
【請求項１】
入力ストリームを出力ストリームにトランスコードする動画像符号化装置において、
前記入力ストリームから各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得する情報取得モジュールと、
前記情報取得モジュールで取得した情報を用いて、前記量子化スケールと前記発生符号量の積の形で表される符号化複雑度を、前記フレーム毎に算出する符号化複雑度算出モジュールと、
前記ピクチャタイプ毎に用意された所定の関数を用いて、前記符号化複雑度算出モジュールで算出した前記符号化複雑度を、前記出力ストリームの符号化複雑度へ変換する符号化複雑度変換モジュールと、
前記符号化複雑度変換モジュールで変換した前記出力ストリームの符号化複雑度を用いて、前記入力ストリームを前記出力ストリームに再符号化するトランスコードモジュールを具備した動画像符号化装置。
【請求項２】
前記所定の関数は前記入力ストリームの符号化複雑度と前記出力ストリームの符号化複雑度との間の関係を表し、この所定の関数が線形関数により代表される請求項１に記載の動画像符号化装置。
【請求項３】
前記トランスコードモジュールによる前記再符号化は、前記ピクチャタイプ毎に用意された前記線形関数を用いて、前記フレーム毎に行われる請求項２に記載の動画像符号化装置。
【請求項４】
前記トランスコードモジュールが、前記入力ストリームのシーケンス内に含まれるグループオブピクチャあるいは符号化対象の所定区間に対して符号量を割り当てる符号量割当モジュールを含む請求項２に記載の動画像符号化装置。
【請求項５】
前記トランスコードモジュールが、前記グループオブピクチャあるいは前記符号化対象の所定区間に割り当てられた符号量を、そのグループオブピクチャあるいはその符号化対象の所定区間内の複数ピクチャ各々に割り当てるピクチャ符号量割当モジュールを含む請求項４に記載の動画像符号化装置。
【請求項６】
過去の同一ピクチャタイプに対する前記出力ストリームの符号化複雑度を現時点における当該フレームの符号化複雑度とみなすことで、前記ピクチャに対する符号量割り当てを行う請求項５に記載の動画像符号化装置。
【請求項７】
前記トランスコードモジュールは、前記入力ストリームを復号する復号モジュールと、この復号モジュールで復号されたストリームを再度符号化して前記出力ストリームに変換する符号化モジュールを含み、
前記トランスコードモジュールが、前記ピクチャに割り当てられた符号量から前記符号化モジュールにおける量子化スケールを決定する量子化スケール決定モジュールを含む請求項６に記載の動画像符号化装置。
【請求項８】
入力ストリームを出力ストリームにトランスコードする動画像符号化装置において、
前記入力ストリームから各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得する情報取得モジュールと、
前記情報取得モジュールで取得した情報を用いて、前記量子化スケールと前記発生符号量の積の形で表される符号化複雑度を、前記フレーム毎に算出する符号化複雑度算出モジュールと、
前記ピクチャタイプ毎に用意され、前記入力ストリームの符号化複雑度と前記出力ストリームの符号化複雑度との間の関係を表す所定の関数を用いて、前記符号化複雑度算出モジュールで算出した前記符号化複雑度を、前記出力ストリームの符号化複雑度へ変換する符号化複雑度変換モジュールと、
前記符号化複雑度変換モジュールで変換した前記出力ストリームの符号化複雑度を用いて、前記入力ストリームを前記出力ストリームに再符号化するトランスコードモジュールと、
前記トランスコードモジュールにより再符号化された前記出力ストリームの画像を表示する表示モジュールを具備した映像機器。
【請求項９】
入力ストリームを出力ストリームにトランスコードする動画像符号化方法において、
前記入力ストリームからＭＰＥＧのヘッダ情報を読み込んで各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得し、
取得した前記情報を用いて、前記量子化スケールと前記発生符号量の積の形で表される符号化複雑度を前記フレーム毎に算出し、
前記ピクチャタイプ毎に用意され、前記入力ストリームの符号化複雑度と前記出力ストリームの符号化複雑度との間の関係を表す所定の関数を用いて、算出した前記符号化複雑度を前記出力ストリームの符号化複雑度へ変換し、
変換した前記出力ストリームの符号化複雑度を用いて、前記入力ストリームを前記出力ストリームに再符号化する動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、第１の符号化ストリーム（ＭＰＥＧ−２のストリームなど）を第２の符号化ストリーム（Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣのストリームなど）にトランスコードする、動画像符号化装置と動画像符号化方法、およびトランスコードされたストリームの映像を扱う映像機器に関する。
【背景技術】
【０００２】
デジタル動画情報を扱う分野では、情報圧縮が行われる。その圧縮技術の代表的なものに、ＭＰＥＧ（ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣなど）がある。旧世代のパッケージメディア（ビデオＣＤなど）ではＭＰＥＧ−１が用いられてきたが、デジタルＴＶ放送や現世代のビデオパッケージメディア（ＤＶＤなど）ではＭＰＥＧ−２が用いられている。また、ハイビジョン映像などの高品位デジタル動画情報をより効率良く圧縮しようとする場合には、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣなどが用いられる。
【０００３】
デジタルＴＶ放送などのハイビジョン映像にはＭＰＥＧ−２が使用されているが、ＭＰＥＧ−２では圧縮効率が十分とはいえなくなってきた。例えば４．７ＧＢ容量の片面１層ＤＶＤ−Ｒディスクに衛星デジタル放送のハイビジョン映像（ビットレートは２４Ｍｂｐｓの固定レート）を録画しようとした場合、２０分強しか録画できない。しかし、このハイビジョン映像をＨ．２６４／ＭＰＥＧ−４  ＡＶＣなどで再エンコードして新たなハイビジョン映像（ビットレートは平均４Ｍｂｐｓ程度の可変レート）に変換（トランスコード）すれば、４．７ＧＢ容量のディスクにデジタルＴＶ放送のハイビジョン映像を２時間程録画できるようになる。
【０００４】
このような状況下、第１の符号化ストリーム（ＭＰＥＧ−２のストリームなど）を第２の符号化ストリーム（Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣのストリームなど）にトランスコードする動画像符号化技術の開発が進められている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、符号化複雑度と発生符号量の遷移は同じとみなすことで適応的な符号量割り当てを行っている。すなわち、シーケンスを通じて量子化パラメータが同じ場合は、入力画像ストリームの発生符号量遷移はシーケンスを通じての符号化複雑度遷移と同じと見なすことができ、各フレームの符号化複雑度に応じて符号量を割り当てることが可能である。しなしながら、デジタルＴＶ放送などで用いられる固定ビットレート制御では、量子化パラメータを変化させてビットレートを一定に保つために、発生符号量遷移が必ずしも符号化複雑度遷移と同じであると見なすことはできない。つまり、入力画像ストリームの内容に応じた適応的な符号量割り当てを実現することは難しい。
【０００７】
この発明の課題の１つは、適応的な符号量割り当てを実現することである。
【課題を解決するための手段】
【０００８】
この発明の一実施の形態に係る動画像符号化装置では、ＭＰＥＧエンコードされた入力ストリーム（例えばＭＰＥＧ−１，−２のＰＳ（program stream）またはＭＰＥＧ−２のＴＳ（transport stream））がＨ．２６４／ＭＰＥＧ−４  ＡＶＣの出力ストリームにトランスコードされる。この動画像符号化装置は、情報取得モジュール（１０１）と、符号化複雑度算出モジュール（１０２）と、符号化複雑度変換モジュール（１０３、１０３ａ）と、トランスコードモジュール（１０４〜１１３）を具備している。ここで、情報取得モジュール（１０１）は、前記入力ストリームからＭＰＥＧのヘッダ情報を読み込んで各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得する。符号化複雑度算出モジュール（１０２）は、前記情報取得モジュール（１０１）で取得した情報を用いて、前記量子化スケールと前記発生符号量の積（発生符号量×量子化スケール）の形で表される符号化複雑度を、前記フレーム毎に算出する。
【０００９】
符号化複雑度変換モジュール（１０３、１０３ａ）は、前記ピクチャタイプ毎に用意された所定の関数（例えば図６〜図８などに例示される一次関数）を用いて、前記符号化複雑度算出モジュール（１０２）で算出した前記符号化複雑度（Ｘmpeg2）を、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣなどの符号化複雑度（Ｘh.264）へ変換する。そして、トランスコードモジュール（１０４〜１１３）は、前記符号化複雑度変換モジュール（１０３、１０３ａ）で変換した前記Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣなどの符号化複雑度（Ｘh.264）を用いて、前記入力ストリームを前記出力ストリームに再符号化（トランスコード）する。
【発明の効果】
【００１０】
この発明によれば、より適応的な符号量割り当てを実現し、トランスコードに伴う画質劣化を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】この発明の一実施の形態に係る動画像符号化装置の概念図。
【図２】この発明の一実施の形態に係る動画像符号化装置の具体的な構成を説明する図。
【図３】図２の構成における復号部１０９の詳細を説明する図。
【図４】図２の構成における符号化部１１０の詳細を説明する図。
【図５】図２の装置動作の一例を説明するフローチャート図。
【図６】図２の符号化複雑度変換部１０３においてＩピクチャのＭＰＥＧ−２／Ｈ．２６４変換に用いられる関数の一例を説明する図。
【図７】図２の符号化複雑度変換部１０３においてＰピクチャのＭＰＥＧ−２／Ｈ．２６４変換に用いられる関数の一例を説明する図。
【図８】図２の符号化複雑度変換部１０３においてＢピクチャのＭＰＥＧ−２／Ｈ．２６４変換に用いられる関数の一例を説明する図。
【図９】ＧＯＰ単位における、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣの推定符号化複雑度とその実測符号化複雑度との間の対応関係の一例を説明する図。
【図１０】ピクチャ単位で符号量割り当てを行う際に用いる符号化複雑度の推定結果の例を説明する図。
【図１１】ピクチャ単位とＧＯＰ単位でのＨ．２６４符号化複雑度の実測値と推定値の相関係数を例示する図。
【発明を実施するための形態】
【００１２】
以下、図面を参照してこの発明の種々な実施の形態を説明する。図１は、この発明の一実施の形態に係る動画像符号化装置の概念図である。記録媒体（デジタルＴＶ放送番組を録画したＤＶＤ−Ｒ，−ＲＷ，−ＲＡＭあるいはＢＤ−Ｒ，−ＲＷ、もしくは大容量のメモリカードなど）から取り出されたビットストリームは、入力ストリームとして図１の動画像符号化装置に与えられる。この装置の入力ストリーム解析部１０は、１パス目の解析処理として、入力ストリーム（例えばＭＰＥＧ−２のＰＳあるいはＴＳ）のヘッダから符号化情報（各フレームの量子化スケール、発生符号量、ピクチャタイプなどの情報）を取得し、取得した情報を解析し評価する。評価された解析結果は符号量割当部２０に送られる。
【００１３】
符号量割当部２０では、１パス目の解析結果からトランスコード時に参照する量子化テーブルが設定され、このテーブルの設定内容からＧＯＰ（あるいは、符号化対象の所定区間毎に）に割り当てる符号量が決定されて、全ＧＯＰ分の割当符号量データが一旦バッファリングされる。バッファリングされたデータから、１ＧＯＰ分ずつ（あるいは、例えば１５フレーム分相当の所定区間毎に）割当符号量データが復号／符号化部３０に送られる。
【００１４】
復号／符号化部３０では、２パス目の処理として、１フレーム毎に入力ストリームがデコードされ、デコード結果がＦＩＦＯバッファに一旦記憶される。ＦＩＦＯバッファからは、デコードされた画像ストリームが記憶順に取り出される。取り出された画像ストリームに対して、ピクチャ単位の割当符号量に基づく量子化スケールで、再符号化が行われる。ここで、ピクチャ単位の割当符号量は、符号量割当部２０から送られてきた１ＧＯＰ分（あるいは、例えば１５フレーム相当の所定区間分）の割当符号量データから算出される（具体的な算出例については後述する）。復号／符号化部３０で再符号化された画像ストリームは、出力ビットストリームとして装置外部に送出される。
【００１５】
図２は、この発明の一実施の形態に係る動画像符号化装置の具体的な構成を説明する図である。図２の構成において、１０１〜１０２は図１の入力ストリーム解析部１０に対応し、１０３〜１０６は符号量割当部２０に対応し、１０７〜１１３は復号／符号化部３０に対応している。
【００１６】
ＭＰＥＧエンコードされた入力ストリーム（ＭＰＥＧ−２のＰＳ／ＴＳなど）は、符号化情報取得部（情報取得モジュール）１０１に入力される。符号化情報取得部１０１は、入力ストリームからＭＰＥＧのヘッダ情報を読み込んで、各フレームの量子化スケール（Ｑ）、発生符号量（Ｂｉｔ）、およびピクチャタイプ（Picture Type）の情報を取得する。この取得情報は符号化複雑度算出部（符号化複雑度算出モジュール）１０２に入力される。符号化複雑度算出部１０２は、入力された取得情報を用いて、量子化スケールと前記発生符号量の積（発生符号量×量子化スケール）の形で表される符号化複雑度を、シーケンス（ＭＰＥＧエンコードされた動画像全体）内のフレーム毎に算出する。具体的には、符号化複雑度算出部１０２は、後述する式１の関係を用いて、当該フレームの符号量（Ｓ）と当該フレームの平均量子化スケール（Ｑ）から、入力ストリームの符号化複雑度（Ｘmpeg2）を算出する。算出された符号化複雑度（Ｘmpeg2）は符号化複雑度変換部１０３に入力される。
【００１７】
符号化複雑度変換部１０３には、変換関数メモリ１０３ａが接続されている。この変換関数メモリ１０３ａには、入力ストリームに対して算出された符号化複雑度（Ｘmpeg2）を新たな符号化複雑度（Ｘh.264）に変換するための関数が、ピクチャタイプ（Ｉピクチャ、Ｐピクチャ、Ｂピクチャなど）毎に予め格納されている（その関数の具体例は図６〜図８を参照して後述する）。符号化複雑度変換部１０３は、変換関数メモリ１０３ａに格納された関数を用いて、入力ストリームに対して算出された符号化複雑度（Ｘmpeg2）を新たな符号化複雑度（Ｘh.264）に変換する。符号化複雑度変換部１０３および変換関数メモリ１０３ａは、符号化複雑度変換モジュールを構成している。
【００１８】
符号化複雑度変換部１０３による関数変換で得られた新たな符号化複雑度（Ｘh.264）は、入力ストリームをトランスコードした後の出力ストリームに対する符号化複雑度を予測するものであるが、この予測符号化複雑度（Ｘh.264）と実際の出力ストリームに対する符号化複雑度とは略１対１で対応している（この対応例は図９を参照して後述する）。
【００１９】
符号化複雑度変換部１０３による関数変換で得られた新たな符号化複雑度（Ｘh.264）、すなわち実際の出力ストリームに対する符号化複雑度と略１対１で対応している予測符号化複雑度（Ｘh.264）は、シーケンス内のフレームの予測符号化複雑度として、バッファ１０４に一時格納される。バッファ１０４から取り出された予測符号化複雑度（Ｘh.264）は、ＧＯＰ単位割当符号量算出部１０５に入力される。
【００２０】
ＧＯＰ単位割当符号量算出部１０５では、後述する式２の関係に基づき、所定のビットレート（Bitrate）とフレームレート（FrameRate）とシーケンス内の全フレーム数（Ｍ）から、シーケンス内の全てのフレームに与える符号量（Ｓall）が算出される。そして、この算出された符号量（Ｓall）とバッファ１０４から入力された予測符号化複雑度（Ｘh.264）を用いて、後述する式３の関係に基づき、各ＧＯＰ（あるいは、例えば１５フレーム相当の所定区間分）の割当符号量が算出される。
【００２１】
この算出された各ＧＯＰの割当符号量は、バッファ１０６に一時格納される。バッファ１０６からは、トランスコードの対象となる符号化対象ＧＯＰ（あるいは符号化対象の所定区間分）の割当符号量が取り出される。この取り出された符号化対象ＧＯＰの割当符号量は、ピクチャ単位割当符号量算出部１０７に入力される。
【００２２】
ピクチャ単位割当符号量算出部１０７では、符号化対象ＧＯＰ（あるいは符号化対象の所定区間分）内の該当フレームに対して、後述する式４の関係に基づき、ピクチャ単位の割当符号量が算出される。この算出されたピクチャ単位の割当符号量は、量子化スケール決定部１０８に入力される。
【００２３】
量子化スケール決定部１０８では、入力されたピクチャ単位の割当符号量と、推定符号化複雑度（符号化複雑度変換部１０３による関数変換で得られた新たな符号化複雑度（Ｘh.264）に対応）を用いて、後述する式５の関係に基づき、トランスコード対象画像に対する量子化スケールが決定される。
【００２４】
一方、ＭＰＥＧエンコードされた入力ストリーム（ＭＰＥＧ−２）は復号部（ＭＰＥＧ−２デコーダ）１０９でデコードされ、デコードされた画像情報は符号化部（Ｈ．２６４／ＡＶＣエンコーダ）１１０によりＨ．２６４／ＭＰＥＧ−４  ＡＶＣの出力ストリームにトランスコードされる。このトランスコードにおいて、量子化スケール決定部１０８で決定された量子化スケールが用いられる。
【００２５】
符号化部１１０によりトランスコードされた出力ストリームは、ＨＤＭＩなどのデジタルインターフェイスを介して外部の表示装置１２０に送られ、あるいは図示しないデジタルレコーダ（またはＡＶ仕様のパソコン）に送られて録画される。
【００２６】
符号化部１１０によりトランスコードされた出力ストリームはさらに、符号化情報取得部１１１に入力される。符号化情報取得部１１１は、出力ストリームからＨ．２６４／ＭＰＥＧ−４  ＡＶＣのヘッダ情報を読み込んで、各フレームの量子化スケール（Ｑ）、発生符号量（Ｂｉｔ）、およびピクチャタイプ（Picture Type）の情報を取得する。この取得情報は符号化複雑度算出部１１２に入力される。符号化複雑度算出部１１２は、入力された取得情報を用いて、前述したと同様に符号化複雑度を算出する。算出された符号化複雑度はバッファ１１３に一時格納され、ここに格納された符号化複雑度はその後の量子化スケール決定時に適宜利用される。
【００２７】
以上の構成において、１０４〜１１３は、符号化複雑度変換モジュール（１０３、１０３ａ）で変換した符号化複雑度（Ｘh.264）を用いて、入力ストリームを出力ストリームに再符号化（トランスコード）するトランスコードモジュールを構成している。
【００２８】
図３は、図２の構成における復号部１０９の詳細を説明する図である。この復号部１０９は、ＭＰＥＧ−２に準拠した復号を行うもので、可変長復号化器３０１、逆量子化器３０２、逆離散コサイン変換器３０３、動き補償器３０４、フレームメモリ３０５から構成されている。
【００２９】
図４は、図２の構成における符号化部１１０の詳細を説明する図である。この符号化部１１０は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに準拠した符号化を行うもので、動き検出器２０１、動き補償器２０２、減算器２０３、離散コサイン変換器２０４、量子化器２０５、エントロピー符号化器２０６、フレームメモリ２０７、加算器２０８、逆離散コサイン変換器２０９、逆量子化器２１０から構成されている。この構成では、図２を参照して説明した量子化スケール決定部１０８から出力される量子化スケールに応じて、量子化器２０５において、離散コサイン変換器２０４の出力である離散コサイン変換係数が量子化される。この量子化スケールに応じた量子化により、符号化された画像が所望の符号量となるような制御が行われる。
【００３０】
図５は、図２の装置動作の一例を説明するフローチャートである。ここでは、入力ストリームがＭＰＥＧ−２ストリームであり、出力ストリームがＨ．２６４／ＭＰＥＧ−４  ＡＶＣである場合を例にとって説明する。まず、入力されるＭＰＥＧ−２ストリームを全フレーム分読み込む（ＳＴ１０）。続いて、読み込んだ各フレームのヘッダ情報を解析することで、各フレームのＭＰＥＧ−２ストリームの符号化形式での発生符号量、量子化スケール、ピクチャタイプを取得する（ＳＴ１１）。
【００３１】
なお、ここで取得する符号化情報は、入力画像ストリームであるＭＰＥＧ−２ビットストリームを可変長復号（ＶＬＤ：Variable Length Decode）などにより完全に解読する必要はない。例えば、ＭＰＥＧ−２のスライスヘッダには当該スライスで用いる量子化スケールの初期値が記述されているので、各フレーム全てのスライスヘッダを参照することで、そのフレームの平均量子化スケールを近似的に算出することができる。同様に、フレームの符号量は、ピクチャヘッダ間の符号量をカウントすれば算出することができる。
【００３２】
次に、取得した符号化情報を基に、符号化複雑度算出部１０２において、各フレームの実際の符号化複雑度を算出する（ＳＴ１２）。各フレームの符号化複雑度（Ｘ）は、当該フレームの平均量子化スケール（Ｑ）と当該フレームの符号量（Ｓ）を用いて、式１より求められる。
【数１】
2011015220.tif 000003
【００３３】
ここで、ｇｉ（ｉ＝Ｉ，Ｐ，Ｂ）はピクチャタイプ（Ｉピクチャ、Ｐピクチャ、またはＢピクチャ）毎に決定される固定値であり、同一のピクチャタイプであれば、画像によらずほぼ一定となることが知られている（例えば特開平１０−０２３４１２号公報の段落００２３〜００２４参照）。 
次に、ＳＴ１２の処理で求めたＭＰＥＧ−２形式での実測符号化複雑度を、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ形式での予測符号化複雑度に変換する（ＳＴ１３）。ここでの変換関数には、ピクチャタイプ毎に予め用意しておいた線形関数を用いることができる（この変換関数は図２の変換関数メモリ１０３ａに予め格納しておく）。
【００３４】
例えば、ピクチャタイプがＩピクチャの場合には図６に示すような一次関数（ｙ＝ａｘ）を変換関数として用いることができる。ピクチャタイプがＰピクチャの場合には図７に示すような一次関数（ｙ＝ｂｘ）を変換関数として用いることができる。また、ピクチャタイプがＢピクチャの場合には図８に示すような一次関数（ｙ＝ｃｘ）を変換関数として用いることができる。図８の例ではやや非線形の様相を呈しているが、このような場合は実情に応じて適宜非線形関数を変換関数として用いてもよい。変換関数により変換された予測符号化複雑度のデータは、シーケンス内の全フレーム分、図２のバッファ１０４に一時格納される。
【００３５】
図６〜図８の例示において、Ａ〜Ｆは異なるシーケンスを表している。シーケンスが異なっても、変換前の実測符号化複雑度（Ｘmpeg2）と変換後の予測符号化複雑度（Ｘh.264）との間の関係は、略同じ線形関数で代表できる。
【００３６】
以下の変数を用いてさらに図５の説明を続ける。
【００３７】
Ｆ(t)：入力画像ストリームのｔ番目のフレーム
ｘ(t)：Ｆ(t)に対応するＭＰＥＧ−２符号化複雑度
Ｘ(t)：Ｆ(t)に対応するＨ．２６４へのトランスコードによって得られた符号化複雑度
ｐ(t)：Ｆ(t)に対応するＭＰＥＧ−２ピクチャタイプ；ｐ(t)＝（Ｉ，Ｐ，Ｂ）
予測符号化複雑度（Ｘh.264）のバッファリングが済んだあと、図２のＧＯＰ単位割当符号量算出部１０５において、所定のビットレート（Bitrate）で動画像を符号化するために必要なシーケンス内の各ＧＯＰ（あるいは符号化対象の所定区間分）へ割り当てる符号量を、算出する（ＳＴ１４）。
【００３８】
この符号量算出処理では、始めにシーケンス内のすべてのフレーム全体に与える符号量（Ｓall）を算出し、次にシーケンス内の各ＧＯＰ（あるいは符号化対象の所定区間分）に割り当てる符号量（Ｓgop）を算出し、その後にＧＯＰ内の各ピクチャの割当符号量を算出する。まず、未トランスコードフレーム全体に割り当てる符号量を、式２で与えることとする。
【数２】
2011015220.tif 000004
【００３９】
ここで、FrameRateはフレームレートを示し、Ｍはシーケンス内の全フレーム数を示す。
【００４０】
次に、式２で求めた符号量Ｓallを各ＧＯＰ（あるいは符号化対象の所定区間分）に割り当てていく。ここでは、各ＧＯＰにおける各フレームでの符号化複雑度の総和（ΣＸ）を算出し、この総和を用いて比例配分することとする。つまり、Ｎ番目のＧＯＰ（あるいはＮ番目の符号化対象所定区間）に与える符号量（ＳNth_gop）は、ＧＯＰ内の全フレームであるＶ枚のフレームの符号化複雑度の総和“〜Ｘgop”を用いて、式３で与えることとする（式中の記載では“〜”が“Ｘ”の頭に配置されているが、明細書の説明文中ではこれを“〜Ｘ”のように表記する）。
【数３】
2011015220.tif 000005
【００４１】
式３を用いて算出した各ＧＯＰ（あるいは符号化対象の所定区間分）の符号量（ＳNth_gop、Ｎ＝１，２，…．）は、図２のバッファ１０６に保存する（ＳＴ１５）。こうして保存された符号量を利用して、トランスコードにおける符号化処理（ＳＴ１６）が行われる。この符号化処理（ＳＴ１６）では、バッファ１０６に保存されたた各ＧＯＰの割当符号量を元に、ＭＰＥＧ−２の入力ストリームをＨ．２６４／ＭＰＥＧ−４  ＡＶＣの出力ストリームにフレーム1枚ずつトランスコードしていく。この処理は、シーケンス内の最後のフレームのトランスコードが終わるまで反復実行される。
【００４２】
すなわち、まずシーケンス内の最初のフレームの復号（ＭＰＥＧ−２デコード）が行われる（ＳＴ１７）。このＳＴ１７で復号したフレームが符号化対象ＧＯＰ（あるいは符号化対象の所定区間）内の先頭フレームであれば（ＳＴ１８のｙｅｓ）、符号化対象ＧＯＰの割当符号量を図２のバッファ１０６から読み込む（ＳＴ１９）。ＳＴ１７で復号したフレームが符号化対象ＧＯＰ内の先頭フレームでなければ（ＳＴ１８のｎｏ）、ＳＴ１９の読み込み処理はスキップされる。
【００４３】
次に、ＳＴ１７で復号したフレームにピクチャ単位の符号量を割り当てる（ＳＴ２０）。今、ＳＴ１７で復号したフレームがＮ番目のＧＯＰ（あるいはＮ番目の符号化対象所定区間）内にある（シーケンス内ではｋ番目のフレームに該当する）場合、ＳＴ２０で割り当てる符号量Ｔ（ｋ）は、ＳＴ１９で読み込んだＮ番目のＧＯＰ（あるいはＮ番目の符号化対象所定区間）に割り当てられた符号量（ＳNth_gop）と、後述するＳＴ２５で算出されたＨ．２６４／ＭＰＥＧ−４  ＡＶＣの実測符号化複雑度（Ｘh.264＝Ｘｉ、Ｘｐ、Ｘｂ）を用いて、式４から求められる。
【数４】
2011015220.tif 000006
【００４４】
ここで、Ｋｐ、Ｋｂは、各ピクチャに対する符号量割当の重みを規定する定数を表している。Ｘｉ、Ｘｐ、Ｘｂは、直前にトランスコードが終わった各ピクチャタイプにおけるＨ．２６４／ＭＰＥＧ−４  ＡＶＣでの符号化複雑度を表している。ＳNth_gop_remainは、ＧＯＰ（あるいは符号化対象所定区間）内に割り当てた符号量（ＳＴ１４で求めたもの）と、ＧＯＰ（あるいは符号化対象所定区間）内の符号化が終了したフレームで発生した符号量との差分を示す。さらに、Ｎｐ、Ｎｂは、それぞれ、当該ＧＯＰ（あるいは当該符号化対象所定区間）内で未だ符号化が終了していないＰピクチャ、Ｂピクチャの枚数を示している。ＳＴ２０の処理では、式４から求めたピクチャ単位割当符号量Ｔ（ｋ）が図２のピクチャ単位割当符号量算出部１０７で一時記憶される。
【００４５】
ピクチャ単位の符号量割当（ＳＴ２０）が済むと、量子化スケールが決定される（ＳＴ２１）。この決定は、図２の量子化スケール決定部１０８において行われる。ＳＴ２１の処理では、図２の符号化複雑度変換部１０３から得られる推定符号化複雑度“〜Ｘ（ｋ）”と、図２のピクチャ単位割当符号量算出部１０７から得られるピクチャ単位割当符号量Ｔ（ｋ）を用いて、式５により、トランスコード対象画像に対する量子化スケール（Ｑ（ｋ））を算出する。ここでは、式１を変形した式５を用いて量子化パラメータが決定される。
【数５】
2011015220.tif 000007
【００４６】
量子化スケール（Ｑ（ｋ））が決定されたら、この量子化スケールに基づいて、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに準拠した方式で１フレーム分の符号化を行い（ＳＴ２２）、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣにトランスコードされた符号化画像のストリームを出力する。
【００４７】
こうしてトランスコードされたＨ．２６４／ＭＰＥＧ−４  ＡＶＣ出力ストリームのヘッダからその符号化情報（各フレームでの量子化スケール、発生符号量、ピクチャタイプ）が取り出され（ＳＴ２４）、ＳＴ１２の処理と同様な方法（式１を用いる）で出力ストリームの実測符号化複雑度が算出される（ＳＴ２５）。算出された実測符号化複雑度は図２のバッファ１１３に一時格納される。
【００４８】
以上の処理（ＳＴ１７〜ＳＴ２５の処理）は、対象ＧＯＰ（あるいは符号化対象所定区間）内の複数フレームに対して繰り返し実行される（ＳＴ２３のｎｏのループ）。その際、バッファ１１３に一時格納された「過去の同一ピクチャタイプに対する符号化複雑度」を、これから行う符号化（ＳＴ２２）で利用する。すなわち、ＧＯＰ単位（あるいは符号化対象所定区間の単位）での符号量割当（ＳＴ１４）の場合と異なり、過去の同一ピクチャタイプ（例えばＩピクチャ）に対するＨ．２６４／ＭＰＥＧ−４  ＡＶＣ出力ストリームの符号化複雑度（Ｘh.264）を現時点における当該フレームの符号化複雑度とみなすことで、ピクチャに対する符号量割り当てを簡単に行うことができる。この「みなし符号量割り当て」により、ＭＰＥＧ−２とＨ．２６４／ＡＶＣのピクチャタイプが異なる場合でも素早い符号化（トランスコード）が可能となる。
【００４９】
全てのフレームに対してＳＴ１６の処理が済めば（ＳＴ２３のｙｅｓ）、図５の処理は終了する。ここで、バッファ１１３には、トランスコード終了出力画像に対応するフレームの符号化複雑度が、少なくとも１ＧＯＰ（あるいは少なくとも１つの符号化対象所定区間）に対応するフレーム分（例えば１５フレーム分）格納される。このバッファ１１３に格納されたトランスコード後の出力ストリームの実測符号化複雑度のデータは、その後の処理で適宜参照される。
【００５０】
図９は、ＧＯＰ単位における、Ｈ．２６４／ＡＶＣの推定符号化複雑度とその実測符号化複雑度との間の対応関係を例示している。この対応関係は、大筋一次関数（ｙ＝ｄｘ）で代表される。このことは、図２の符号化複雑度変換部１０３による変換結果あるいは図５のＳＴ１３における予測符号化複雑度算出結果を「実際のトランスコードに用いる符号化複雑度」とすることが妥当であったことを、裏付けている。
【００５１】
図１０は、ピクチャ単位で符号量割り当てを行う際に用いる符号化複雑度の推定結果の例を説明する図である。この図は、ピクチャ単位での符号量割り当ての際に用いる符号化複雑度を直前のトランスコード結果（Ｈ．２６４符号化結果）から推定した場合（グラフ＜１＞）と入力ストリームのＭＰＥＧ−２から推定した場合（グラフ＜２＞）に分けて、実測符号化複雑度と推定符号化複雑度の絶対相対誤差の比較結果を例示している。ここで、実測符号化複雑度と推定符号化複雑度の絶対相対誤差は、「｜推定値−実測値｜／実測値」で表される。
【００５２】
図１０は、直前のトランスコード結果（図２のバッファ１１３に格納されている）から推定する場合（グラフ＜１＞）は、入力ストリームのＭＰＥＧ−２から推定した場合（グラフ＜２＞）と比べて、絶対相対誤差がずっと小さいことを示している。このことは、図２のバッファ１１３に格納されている「符号化複雑度算出部１１２による算出結果」を「ＧＯＰ（あるいは符号化対象所定区間）内フレームのトランスコードに用いる符号化複雑度」とみなすことが妥当であったことを、裏付けている。
【００５３】
図１１は、ピクチャ単位とＧＯＰ単位（あるいは符号化対象所定区間単位）での、Ｈ．２６４符号化複雑度の実測値と推定値の相関係数を例示している。この例示から、Ｉピクチャ、Ｐピクチャ、Ｂピクチャ、およびＧＯＰ（あるいは符号化対象所定区間）のいずれの場合で見ても、Ｈ．２６４符号化複雑度の実測値と推定値の間には、比較的高い相関性があることが分かる。
【００５４】
＜変形例＞
（01）上記例ではＭＰＥＧ−２の符号化複雑度からＨ．２６４／ＭＰＥＧ−４  ＡＶＣの複雑度を算出する際、各ピクチャタイプ毎に線形関数を用いて算出したが、必ずしもこれに限定されるものではない。入力ビットストリームの圧縮形式と出力ビットストリームの圧縮形式の特性に応じて種々の変換関数が適用できる。
【００５５】
（02）上記例では入力をＭＰＥＧ−２、出力をＨ．２６４／ＭＰＥＧ−４  ＡＶＣとしたが、必ずしもこれに限定されるものではない。例えば、デジタルビデオカメラなどで使用さるＤＶ形式の入力ストリームをパソコンなどで使用されるＶＣ−１の出力ストリームにトランスコードする場合に、本願の符号化複雑度変換を適用できる。
【００５６】
（03）上記例では、量子化スケールを式５のように算出することとしたが、各フレームのトランスコード中に「予測発生符号量と実測発生符号量のずれ（差分）」を量子化スケール決定部１０８にフィードバックして、このずれに応じて量子化スケールを変化させてもよい。
【００５７】
＜実施の形態の効果＞
符号量変動だけを見て符号量割り当てを行う場合と比べ、以下の効果が得られる。
【００５８】
（11）入力ビットストリームであるＭＰＥＧ−２の符号化複雑度から、出力ビットストリームであるＨ．２６４／ＭＰＥＧ−４  ＡＶＣの符号化複雑度を推定することで、量子化スケール一定で符号化を行わなくても、シーケンスを通じて適応的な符号量割り当てが可能となる。そのため、出力のビットレートを入力のビットレートより小さくしても、画質劣化を防ぐことが可能となる。
【００５９】
（12）ＧＯＰ単位（あるいは符号化対象所定区間単位）での符号量割り当てに関しては、ＭＰＥＧ−２の符号化複雑度から推定したＨ．２６４／ＭＰＥＧ−４  ＡＶＣの符号化複雑度を用い、ピクチャ単位での符号量割り当てでは、過去の符号化結果を用いることで、シーケンスを通じて適応的な符号量割り当てが可能となり、出力のビットレートを入力のビットレートより小さくしても、画質劣化を防ぐことが可能となる。
【００６０】
（13）ＧＯＰ単位（あるいは符号化対象所定区間単位）での符号量割り当てと、ピクチャ単位での符号量割り当てに上記のような手法を用いることで、入力ストリームと出力ストリームのピクチャタイプが完全に一致する必要がなくなる。
【００６１】
＜実施の形態のまとめ＞
１．ＭＰＥＧ−２のヘッダ情報を読み込むことで、各フレームの量子化スケール、発生符号量、ピクチャタイプを取得し、これらを用いてＭＰＥＧ−２での各フレームの符号化複雑度（符号化複雑度＝発生符号量×量子化スケールｇ：ｇはピクチャタイプ毎に決定される値）を算出し、ピクチャタイプ毎に用意した線形関数を用いて、Ｈ．２６４の符号化複雑度を各フレーム算出する。
【００６２】
２．符号化する際には、まず上記の手法で算出したＨ．２６４の符号化複雑度を用いて、シーケンス内の全ＧＯＰ（あるいは全ての符号化対象所定区間）に符号量を割り当てる。次に、各ＧＯＰ（あるいは符号化対象所定区間）に割り当てた符号量をＧＯＰ内の各ピクチャに割り当てる。その際、ＧＯＰ単位（あるいは符号化対象所定区間単位）での符号量割り当てと異なり、過去の同一ピクチャタイプの符号化複雑度を当該フレームの符号化複雑度とみなすことで符号量割り当てを行う。これにより、ＭＰＥＧ−２とＨ．２６４のピクチャタイプが異なる場合でも符号化が可能となる。
【００６３】
換言すると、入力画像ストリームの符号化複雑度からある関数を用いて出力画像ストリームの符号化複雑度を推定し、推定した符号化複雑度を用いてシーケンス内の全ＧＯＰに符号量を割り当て、各ＧＯＰに割り当てた符号量をＧＯＰ内のピクチャに割り当てる。その割り当ての際は、過去の同一ピクチャタイプの符号化結果を用いる。
【００６４】
なお、この発明は前述した実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００６５】
１０１…符号化情報取得部、１０２…符号化複雑度算出部、１０３…符号化複雑度変換部、１０３ａ…変換関数メモリ、１０４…バッファ、１０５…ＧＯＰ単位割当符号量算出部、１０６…バッファ、１０７…ピクチャ単位割当符号量算出部、１０８…量子化スケール決定部、１０９…復号部（ＭＰＥＧ−２デコーダ）、１１０…符号化部（Ｈ．２６４／ＡＶＣエンコーダ）、１１１…符号化情報取得部、１１２…符号化複雑度算出部、１１３…バッファ、１２０…表示装置、１０…入力ストリーム解析部（１パス目）、２０…符号量割当部、３０…復号／符号化部（２バス目）。
【図１】
2011015220.tif 000008
【図２】
2011015220.tif 000009
【図３】
2011015220.tif 000010
【図４】
2011015220.tif 000011
【図５】
2011015220.tif 000012
【図６】
2011015220.tif 000013
【図７】
2011015220.tif 000014
【図８】
2011015220.tif 000015
【図９】
2011015220.tif 000016
【図１０】
2011015220.tif 000017
【図１１】
2011015220.tif 000018
【手続補正書】
【提出日】平成22年10月12日(2010.10.12)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力ストリームを出力ストリームにトランスコードする動画像符号化装置において、
前記入力ストリームから各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得する情報取得モジュールと、
前記情報取得モジュールで取得した情報を用いて、前記量子化スケールと前記発生符号量の積の形で表される符号化複雑度を、前記フレーム毎に算出する符号化複雑度算出モジュールと、
前記ピクチャタイプ毎に用意され、前記入力ストリームの符号化複雑度と前記出力ストリームの符号化複雑度との間の関係を表す線形関数を用いて、前記符号化複雑度算出モジュールで算出した前記符号化複雑度を、前記出力ストリームの符号化複雑度へ変換する符号化複雑度変換モジュールと、
前記符号化複雑度変換モジュールで変換した前記出力ストリームの符号化複雑度を用いて、前記入力ストリームを前記出力ストリームに再符号化するトランスコードモジュールを具備し、
前記トランスコードモジュールによる前記再符号化は、前記ピクチャタイプ毎に用意された前記線形関数を用いて前記フレーム毎に行われ、
前記トランスコードモジュールが、前記入力ストリームのシーケンス内に含まれるグループオブピクチャの単位で前記再符号化において用いられる符号量を割り当てる符号量割当モジュールを含む動画像符号化装置。
【請求項２】
前記トランスコードモジュールが、前記グループオブピクチャに割り当てられた符号量を、そのグループオブピクチャ内の複数ピクチャ各々に割り当てるピクチャ符号量割当モジュールを含む請求項１に記載の動画像符号化装置。
【請求項３】
過去の同一ピクチャタイプに対する前記出力ストリームの符号化複雑度を現時点における当該フレームの符号化複雑度とみなすことで、前記ピクチャに対する符号量割り当てを行う請求項２に記載の動画像符号化装置。
【請求項４】
前記トランスコードモジュールは、前記入力ストリームを復号する復号モジュールと、この復号モジュールで復号されたストリームを再度符号化して前記出力ストリームに変換する符号化モジュールを含み、
前記トランスコードモジュールが、前記ピクチャに割り当てられた符号量から前記符号化モジュールにおける量子化スケールを決定する量子化スケール決定モジュールを含む請求項３に記載の動画像符号化装置。
【請求項５】
入力ストリームを出力ストリームにトランスコードする動画像符号化方法であって、
前記入力ストリームからＭＰＥＧのヘッダ情報を読み込んで各フレームの量子化スケール、発生符号量、およびピクチャタイプの情報を取得し、
取得した前記情報を用いて、前記量子化スケールと前記発生符号量の積の形で表される符号化複雑度を前記フレーム毎に算出し、
前記ピクチャタイプ毎に用意され、前記入力ストリームの符号化複雑度と前記出力ストリームの符号化複雑度との間の関係を表す線形関数を用いて、算出した前記符号化複雑度を前記出力ストリームの符号化複雑度へ変換し、
変換した前記出力ストリームの符号化複雑度を用いて前記入力ストリームを前記出力ストリームに再符号化するにあたり、前記入力ストリームのシーケンス内に含まれるグループオブピクチャの単位で前記再符号化において用いられる符号量を割り当てるように構成した動画像符号化方法。