(57)【要約】      （修正有）【課題】時間分割並列符号化が実現可能な動画像符号化装置を提供する。【解決手段】入力動画像信号を複数の連続するフレームで構成されるセグメントに分割し（Ｓ１０２）、分割されたセグメント単位で独立して符号化し（Ｓ１０３）、セグメント単位に符号化された符号化データを結合して、最終的な符号化データを生成する（Ｓ１０５）。各分割セグメントは、複数の連続する複数のフレームで構成される画像群ＢＰに分割され符号化する。各分割セグメント終端の画像群ＢＰを構成するフレーム数及びフィールド位相は、全ての分割セグメントで同一となるように、ＢＰ分割制御ステップにより制御する。【選択図】図１
2008109637.tif 000002
【特許請求の範囲】
【請求項１】
入力動画像を時間方向に複数のセグメントに分割する第１分割部と、
前記各セグメント内を、連続する複数のフレームを含む複数の画像群に分割するものであって、前記各セグメントの終端の画像群が予め定められた数のフレームを含むように分割する第２分割部と、
前記各セグメントに含まれる前記複数の画像群を、一つ前の画像群の先頭フレームの時間情報に基づいて復号化及び表示に関するタイミング情報を求めながら符号化を行い、前記各セグメントの符号化データを生成する符号化部と、
前記複数のセグメントの符号化データを結合する結合部と、
を有する動画像符号化装置。
【請求項２】
前記第２分割部は、前記セグメント内のフレームの総数が前記予め定めた数より小さい端数を有する場合には、（１）前記各セグメント内の先頭の画像群から前記終端の一つ前の画像群までの少なくとも一つの画像群のフレームの数に前記端数を加算するか、または、（２）前記各セグメント内の先頭の画像群から前記終端の一つ前の画像群までの少なくとも一つの画像群の前か後ろに前記端数に相当する数のフレームを有する画像群を追加する、
請求項１記載の動画像符号化装置。
【請求項３】
前記入力動画像信号が、３：２プルダウンで表示される動画像信号であって、
前記第２分割部は、前記終端の画像群の符号化フレームにおける表示フィールドの位相が予め定められた値になるように分割する、
請求項１記載の動画像符号化装置。
【請求項４】
前記入力動画像信号のシーンチェンジ点を検出する検出部をさらに有し、
前記第２分割部は、前記シーンチェンジ点を境に前記セグメントを画像群に分割する、
請求項１記載の動画像符号化装置。
【請求項５】
前記入力動画像信号にランダムアクセス点を設定する設定部をさらに有し、
前記第２分割部は、前記ランダムアクセス点を境に前記セグメントを画像群に分割する、
請求項１記載の動画像符号化装置。
【請求項６】
前記入力動画像信号が、複数のストーリで構成される複数の動画像信号で構成されるものであって、
前記セグメントの終端の画像群が、前記複数のストーリの動画像信号への分岐点、または、一つのストーリの動画像信号への結合点である、
請求項１記載の動画像符号化装置。
【請求項７】
前記第２分割部は、
前記端数のフレーム数と前記予め定めた数のフレーム数との和と、閾値を比較し、
前記和が前記閾値より大きい場合には、前記（２）における前記端数に相当する数のフレームを有する画像群を追加し、
前記和が前記閾値より小さい場合には、前記（１）における前記各セグメント内の先頭の画像群から前記終端の一つ前の画像群までの少なくとも一つの画像群のフレームの数に前記端数を加算する、
請求項２記載の動画像符号化装置。
【請求項８】
前記第２分割部は、
前記端数のフレーム数と前記予め定めた数のフレーム数との和と、閾値を比較し、
前記和が閾値より大きい場合には、前記セグメント内の複数の画像群に関して、前記予め定めた数のフレーム数を超えないようにフレーム数を加算する、
請求項２記載の動画像符号化装置。
【請求項９】
前記第２分割部は、前記（２）における前記端数に相当する数のフレームを有する画像群を、前記セグメントの先頭に追加する、
請求項２記載の動画像符号化装置。
【請求項１０】
前記入力動画像の符号化するときの困難性を示す符号化困難度を算出する困難度算出部をさらに有し、
前記第２分割部は、前記（２）における前記端数に相当する数のフレームを有する画像群を、当該セグメント中の前記符号化困難度の低い部分に追加する、
請求項２記載の動画像符号化装置。
【請求項１１】
前記入力動画像の仮想受信バッファ占有量の時間変動を示す占有量推定値を推定する推定部をさらに有し、
前記第２分割部は、前記（２）における前記端数に相当する数のフレームを有する画像群を、前記セグメント中の前記占有量推定値が高い部分に追加する、
請求項２記載の動画像符号化装置。
【請求項１２】
入力動画像を時間方向に複数のセグメントに分割し、
前記各セグメント内を、連続する複数のフレームを含む複数の画像群に分割するものであって、前記各セグメントの終端の画像群が予め定められた数のフレームを含むように分割し、
前記各セグメントに含まれる前記複数の画像群を、一つ前の画像群の先頭フレームの時間情報に基づいて復号化及び表示に関するタイミング情報を求めながら符号化を行い、前記各セグメントの符号化データを生成し、
前記複数のセグメントの符号化データを結合する、
動画像符号化方法。
【請求項１３】
入力動画像を時間方向に複数のセグメントに分割する第１分割機能と、
前記各セグメント内を、連続する複数のフレームを含む複数の画像群に分割するものであって、前記各セグメントの終端の画像群が予め定められた数のフレームを含むように分割する第２分割機能と、
前記各セグメントに含まれる前記複数の画像群を、一つ前の画像群の先頭フレームの時間情報に基づいて復号化及び表示に関するタイミング情報を求めながら符号化を行い、前記各セグメントの符号化データを生成する符号化機能と、
前記複数のセグメントの符号化データを結合する結合機能と、
をコンピュータによって実現する動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続する動画像信号を複数のセグメントに時間分割し、分割された複数のセグメントを独立若しくは並列に符号化する動画像符号化装置及びその方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ−２、ＭＰＥＧ−４やＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０  ＭＰＥＧ−４ＡＶＣ（以下、「Ｈ．２６４」と呼ぶ）などの動画像符号化国際標準方式に準拠した符号化を、複数のプロセッサやハードウエアを用いて並列処理で高速に実現する複数の方法が知られている。
【０００３】
特許文献１に示されるように、代表的な並列化の方法として、各画像フレームを複数の領域に分割して、分割領域毎に並列に符号化を行う空間分割方法と、複数の時間的に連続するフレームを単位として並列化を行う時間分割方法が知られている。
【０００４】
「空間分割方法」は、遅延量が少ないという利点がある。しかし、原画像に起因する画面内での符号化の困難度の違いにより、分割領域毎の処理量が変動し、かつ通常は１フレーム単位で同期を取った処理を行う必要があるため、負荷分散の均一化が困難となり、並列度に見合う高速化が困難となる。また、画面内の相関を使った符号化が、画面内の分割領域内に制限されるため、符号化効率の低下も発生する。
【０００５】
一方、「時間分割方法」で並列に符号化を行う場合は、分割単位間の依存関係を排除し、分割符号化したデータを接続して連続再生が可能となるように符号化する必要がある。
【０００６】
具体的には、特許文献２や特許文献３に示されるように、分割符号化された符号化データが、分割点において、（１）仮想バッファレベルの接続性、（２）フィールド位相の連続性、（３）フレーム間予測の切断、を満たす必要となる。
【０００７】
（１）の仮想バッファレベルの接続性については、特許文献３に示されるように、分割点において所定の仮想バッファレベルとなるように、時間分割点の始点レベル及び終点付近での発生レートを制御することで、分割符号化された符号化データを連続的に接続することが可能となる。
【０００８】
（２）のフィールド位相の連続性についても、分割点の始点及び終点のフィールド位相を予め所定値となるように制御すれば、分割符号化された符号化データを連続的に接続することが可能となる。
【０００９】
（３）のフレーム間予測の切断を行うために、特許文献３に示されるように、フレーム間予測を分割単位内に限定し、分割単位を跨ぐフレーム間予測を禁止すればよい。但し、フレーム間予測を切断することで、一般に符号化効率が低下する。しかし、分割単位（連続して符号化するフレーム数）を大きくとることで、符号化効率の低下は十分小さくなる。時間分割単位を大きくすると、一般に符号化における遅延量が増大するが、ハードディスクなどのランダムアクセスが可能な蓄積メディアに、予め記録され動画像信号を符号化する場合においては、時間分割符号化時の遅延は発生しない。また、上述した時間分割方法は、特許文献２や特許文献３に示されるように、部分的な再符号化や符号化データの切り貼り編集などにも好適なものとなる。
【特許文献１】特開平１１−２５２５４４公報
【特許文献２】特開２００１−５４１１８公報
【特許文献３】特許第３５２９５９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記した通り、ランダムアクセスが可能な蓄積メディアに記録され動画像信号を並列符号化する場合や、符号化後の部分的な再符号化や符号化データの切り貼り編集などを行う場合、時間分割符号化は有効である。従来のＭＰＥＧ−２などの符号化方式での時間分割符号化は、各分割符号化単位の終点で、仮想バッファレベル、フィールド位相、フレーム間予測の切断の制御を行うことで、分割符号化された符号化データを接続して連続再生を行うことが可能となった。
【００１１】
一方、Ｈ．２６４など動画像符号化方式では、各符号化画像の復号化や表示のタイミングに関する情報を、動画像符号化データ中に含めて符号化されるため、上記のような時間分割符号化では、一般に分割符号化された符号化データを接続して連続再生を行うことが困難となる。Ｈ．２６４におけるタイミング情報の符号化は、直前の画像群の最初の符号化画像の復号化時刻から、当該画像群の最初の符号化画像の復号化時刻までの時間に関する情報が符号化される。また、当該画像群における２番目以降の符号化画像の復号化時刻に関する情報は、当該画像群の最初の符号化画像の復号化時刻を基準にした相対的な時間情報として符号化される。また、各符号化画像の表示時刻に関する情報は、当該符号化画像の復号化時刻からの差分として符号化される。つまり、符号化や復号化に関するタイミング情報が、過去のタイミング情報からの差分として符号化されるという因果関係があり、入力される順序に従って、動画像信号を順次符号化することが必要となる。
【００１２】
このような符号化方式を用いた場合は、従来の仮想バッファレベル、フィールド位相、レーム間予測の切断の制御だけでは、動画像信号を時間分割して並列符号化し、符号化後の符号化データを接続して連続再生することや、符号化後に符号化データレベルでの編集などを行うことが困難となる。
【００１３】
そこで本発明は、時間分割並列符号化が実現可能な動画像符号化装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、入力動画像を時間方向に複数のセグメントに分割する第１分割部と、前記各セグメント内を、連続する複数のフレームを含む複数の画像群に分割するものであって、前記各セグメントの終端の画像群が予め定められた数のフレームを含むように分割する第２分割部と、前記各セグメントに含まれる前記複数の画像群を、一つ前の画像群の先頭フレームの時間情報に基づいて復号化及び表示に関するタイミング情報を求めながら符号化を行い、前記各セグメントの符号化データを生成する符号化部と、前記複数のセグメントの符号化データを結合する結合部と、を有する動画像符号化装置である。
【発明の効果】
【００１５】
本発明によれば、時間分割されたセグメント単位の並列符号化を容易に実現することができる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
以下、本発明に係る第１の実施形態の動画像符号化装置における動画像符号化方法について図１〜図２９に基づいて説明する。
【００１７】
［１］動画像符号化方法の処理内容
図１は、本実施形態に係る動画像符号化方法の処理を示すフローチャートである。
【００１８】
符号化が開始されると（ステップＳ１００）、まず初期化処理（ステップＳ１０１）でビットレートなどの符号化パラメータの設定等が行われる。
【００１９】
次に、符号化すべき動画像シーケンス全体を連続する複数のフレームで構成されるセグメントに順次分割される（ステップＳ１０２）。
【００２０】
次に、分割されたセグメント毎に順次符号化が行われる（ステップＳ１０３）。各セグメントの符号化は、１つの符号化手段を用いる場合は逐次的に行い、また同一の符号化手段が複数ある場合は、複数のセグメントを独立かつ並列に符号化する。
【００２１】
次に、符号化すべき動画像シーケンスを分割した全セグメントの符号化が終了すると（ステップＳ１０４）、各分割セグメントの符号化データの結合が行われ（ステップＳ１０５）、途切れなく連続再生が可能な符号化データが生成及び出力され、符号化を終了する（ステップＳ１０６）。
【００２２】
以上により、連続する動画像シーケンスを、複数のセグメントに時間分割し、独立並列符号化することで、並列度に応じて高速な符号化が可能となり、かつ、並列度に依存せずに同一の符号化データを生成することが可能となる。
【００２３】
本実施形態では、セグメント単位で時間分割符号化した符号化データを接続して、途切れのないシームレスな連続再生を可能とするため、特許文献３に示される符号化データの接続点の制約と同様に、下記（１）〜（３）の制御を分割セグメント毎に行う。
【００２４】
（１）セグメント分割点を跨ぐ画像間予測の禁止（クローズドＧＯＰ）、
（２）各セグメント分割点終点での仮想受信バッファモデルのバッファ占有量が所定値以上となる、
（３）各セグメント分割の始点及び終点の表示フィールド位相が所定値となる。
【００２５】
さらに、本実施形態では、上記（１）〜（３）の制御に加えて、各分割セグメント終端の画像群の構成が、全てのセグメントで同一となるように、後述する画像群の分割制御を行う。
【００２６】
［２］セグメント境界の制約条件
以下、動画像符号化方式としてＨ．２６４を例にとって、セグメント境界の制約条件について詳細に説明する。
【００２７】
図１６は、Ｈ．２６４における符号化データ構造の典型例を示した図である。
【００２８】
まず、符号化画像毎に符号化画像の境界を示すAccess unit delimiter（６００）が符号化される。
【００２９】
次に、複数の符号化画像毎に符号化パラメータに関する情報Sequence Parameter Set（６０１）と、復号化側でのバッファリング遅延時間等のタイミング情報であるBuffering Period SEI（６０２）が符号化される。
【００３０】
次に、各符号化画像の符号化パラメータに関する情報Picture Parameter Set（６０３）と、各符号化画像の復号化タイミング及び表示タイミングに関する情報を含むPicture Timing SEI（６０４）が順次符号化され、それに引き続き符号化画像のデータ本体であるCoded Slice Data（６０５）が符号化される。
【００３１】
さらに引き続き、Access unit delimiter（６０６）、Picture Parameter Set（６０７）、Picture Timing SEI（６０８）、Coded Slice Data（６０９）で構成される符号化画像データが複数符号化される。
【００３２】
上記のSequence Parameter Set（６０１）と、復号化側でのバッファリング遅延時間等のタイミング情報であるBuffering Period SEI（６０２）は、一連の符号化画像シーケンスの中で繰り返し符号化される。上記Buffering Period SEI（６０２）が符号化され、次にBuffering Period SEI（６０２）が符号化されるまでの間の一連の符号化画像の集合は、Buffering Periodと呼ばれる（以下、「ＢＰ」と呼ぶ）。
【００３３】
［３］データ構造
図１７は、Buffering Period SEI（６０２）のデータ構造を示す図である。
【００３４】
Buffering Period SEI（６０２）には、復号化時において、各ＢＰの最初の符号化画像データが復号化器の受信バッファに入力されてから、当該画像データの復号化が開始されるまでの遅延時間を示すinitial_cpb_removal_delayなどが符号化されている。
【００３５】
また、図１８はPicture Timing SEI（６０４及び６０８）のデータ構造を示す図である。Picture Timing SEIでは、各符号化画像の復号化時刻に関するタイミング情報cpb_removal_delayと復号化時刻から表示時刻までの遅延時間を示す情報dpb_output_delayなどが符号化されている。
【００３６】
［４］符号化順の説明
図１９は、上記のcpb_removal_delay及びdpb_output_delayについて説明する図である。
【００３７】
図１９（Ａ）の７００〜７１１は、それぞれ符号化画像データを符号化順で表示したものでる。
【００３８】
図１９において、Ｉ２，Ｂ０，Ｂ１等は、符号化画像タイプと表示順序を示すものであり、Ｉはフレーム内符号化画像、Ｐは単方向予測フレーム間符号化画像、Ｂは双方向予測フレーム間符号化画像を示し、また添え字の数字が表示順序を示している。
【００３９】
図１９（Ａ）において、符号化画像７００〜７０５が最初のＢＰ（Buffering Period）を構成し、符号化画像７０６〜７１１が２番目のＢＰを構成するものとする。Ｈ．２６４における各符号化ピクチャのcpb_removal_delayは、各ＢＰ先頭の符号化画像の復号化時刻から、当該ピクチャが復号化されるまでの遅延時間の情報が符号化される。
【００４０】
但し、各ＢＰの最初の符号化画像におけるcpb_removal_delayについては、直前のＢＰの先頭の符号化画像の復号化時刻からの遅延時間が符号化される。なお、唯一の例外として、連続する動画像シーケンスの先頭の符号化画像については、cpb_removal_delayには０が設定される。
【００４１】
このようにすることで、連続する２つのＢＰが途切れなく連続して復号化することが可能となる。各符号化データは、符号化データの順で復号化された後、表示順に並べ替えられて表示される。
【００４２】
図１９（Ｂ）は、図１９（Ａ）の符号化データを復号化後に、表示順序に並べ替えたものである。図１９の例では、Ｂ符号化画像は復号化と同時に表示されるようにdpb_output_delayが０として符号化される。また、Ｉ及びＰ符号化画像は、符号化時刻から３フレーム後に表示されるように、dpb_output_delayに３フレーム期間に相当する遅延量の情報が符号化される。
【００４３】
［５］各セグメントの符号化の処理内容
次に、図２を用いて図１で示した本実施形態における各セグメントの符号化（ステップＳ１０３）の処理フローチャートについて説明する。本実施形態では、各セグメントの符号化は、フレーム単位で順次符号化を行う。
【００４４】
各セグメントの符号化が開始されると（ステップＳ１１０）、まず当該セグメントの符号化パラメータの設定等の初期化処理（ステップＳ１１１）を行う。
【００４５】
次に、当該動画像セグメントを、連続する複数の画像で構成される画像群ＢＰに分割するための制御を行う（ステップＳ１１２）。
【００４６】
次に、ステップＳ１１２のＢＰ分割制御の結果、次に符号化されるフレームがＢＰ先頭の画像となった場合（ステップＳ１１３が「Ｙｅｓ」の場合）、ＢＰ単位のタイミング情報である上述のBuffering Period SEIの符号化が行われる（ステップＳ１１４）。
【００４７】
次に、符号化フレーム単位のタイミング情報であるPicture Timing SEIの符号化を行い（ステップＳ１１５）、引き続き当該フレームの符号化を行う（ステップＳ１１６）。
【００４８】
次に、１フレームの符号化が完了すると、符号化フレームの復号化及び表示タイミングに関する制御パラメータの更新を行い（ステップＳ１１７）、当該セグメント内の全てのフレームの符号化が完了したかどうかの判断を行い（ステップＳ１１８）、当該セグメント内の全てのフレームの符号化が完了するまで、ステップＳ１１２からステップＳ１１８までの処理を繰り返す。
【００４９】
最後に、当該セグメント内の全てのフレームの符号化が完了したら、当該セグメントの符号化を完了する（ステップＳ１１９）。
【００５０】
［６］ＢＰ長制御の概要と作用
次に、図７〜図９を用いて、本実施形態に係るＢＰ長制御の概要と作用について説明する。
【００５１】
図７は、各分割セグメントの動画像シーケンスを、複数のフレームから構成される画像群であるＢＰに分割する例を示しており、横軸が時間を示している。各分割セグメントは独立に符号化され、各分割セグメントの符号化データは、符号化後に接続されて、シームレスに連続再生が可能な符号化データとして、最終的に出力される。
【００５２】
図７の例では、通常のＢＰが固定のＢＰ長（ＢＰを構成するフレーム数）で構成されるが、セグメントｉの総フレーム数が固定のＢＰ長の倍数とならない場合を示している。
【００５３】
［６−１］従来の場合
まず、従来の場合について説明する。
【００５４】
図７の場合、セグメントｉにはＢＰ長が端数となるＢＰが必ず存在することになるが、図７の（Ａ）に示すように、符号化終端のＢＰ（図中１００）でＢＰ長が調整されると、そのＢＰ長に依存して、後段のセグメントｉ＋１の先頭での最初のcpb_removal_delayの値に、前段のセグメントｉの最終ＢＰのフレーム数が反映されるため、前段セグメントの最終ＢＰ長が確定するまでは、後段のセグメントの符号化が開始出来なくなる。
【００５５】
従って、各セグメントのＢＰ長が、各セグメントの符号化が終了するまで確定できない場合、連続するセグメントを並列に符号化し、符号化完了後に各セグメントの符号化データの結合を行おうとすると、各セグメント始点でのcpb_removal_delayの値を正確に符号化することが困難となり、正常に連続再生することが保証されない。
【００５６】
また、前段のセグメントの最終ＢＰ長が確定する前に、各セグメント始点で仮のcpb_removal_delayの値を符号化することで、各セグメントを並列に符号化し、全ての分割セグメントの符号化が完了してから、各セグメントの最初のcpb_removal_delayの値を再計算して、各セグメントの符号化データを上書き修正することにより、連続再生可能な符号化データを生成することは可能となる。但し、この場合、符号化後に符号化データの修正を行う処理ステップの追加が必要となる。
【００５７】
また、修正する符号化データが可変長符号や算術符号などを用いて符号化されている場合、符号化データの修正範囲が局所化されず、広い範囲の符号化データの修正が必要となる。
【００５８】
また、符号化データの修正により、符号化データ量自体が変動し、仮想バッファモデルなどの制約条件を満たさなくなるなどのリスクも伴う。各セグメントの最後のＢＰ長が事前に確定している場合は、連続する複数のセグメントを同時並列で符号化することも可能である。但し、セグメント長（セグメントを構成するフレーム数）が可変となる場合、各セグメントの終端ＢＰ長は一般に一定とはならないため、各セグメント先頭のタイミング情報も固定とはならない。
【００５９】
従って、各セグメントの符号化終了後に、セグメント単位での符号化データの並べ替えにより、符号化データレベルでの編集作業を行う場合、セグメント境界で（１）仮想バッファレベルの接続性、（２）フィールド位相の連続性、（３）フレーム間予測の切断、が保証されていたとしても、タイミング情報の連続性が保証されないため、正常に連続再生が可能な符号化データ生成することが困難となる。
【００６０】
［６−２］本実施形態の場合
次に、本実施形態では、図７（Ｂ）及び（Ｃ）に示すように、各セグメント内のＢＰ長の補正を、各セグメントの最終ＢＰ以外の部分で行い、各分割セグメントの最終ＢＰ長が所定の一定値となるように、セグメント内のＢＰ長の制御を行う。
【００６１】
図７（Ｂ）では、セグメントの先頭ＢＰ（図中１０１）で、ＢＰ長の補正を行う。
【００６２】
また、図７（Ｃ）では、セグメント終端ＢＰ（図中１０４）から１つ手前のＢＰ（図中１０３）で、ＢＰ長の補正を行う。
【００６３】
このようにして、各セグメントの最後のＢＰ（図中１０２及び１０４）のＢＰ長を固定化することで、後段のセグメントのタイミング情報生成への影響を排除すことが可能となる。
【００６４】
これにより、連続する複数のセグメントを、同時並列に符号化し、符号化後に各セグメントの符号化データを、単純に接続するのみで、符号化データの一部書き換えなど無しに、途切れなく連続再生が可能な符号化データの生成を行うことが可能となる。
【００６５】
また、従来の（１）仮想バッファレベルの接続性、（２）フィールド位相の連続性、（３）フレーム間予測の切断、が保証されていれば、各セグメントの符号化データを任意に入れ替えても、符号化データの一部書き換えなど無しに、途切れなく連続再生が可能な符号化データの生成を行うことが可能となり、符号化データレベルでの編集を容易に行うことが可能となる。
【００６６】
［７］シーンチェンジ点などの検出の場合
図８は、各セグメントの符号化中に入力動画像のシーンチェンジ点の検出を行い、検出されたシーンチェンジ点でＢＰを分割する場合、また、外部より与えられるチャプタ点（ランダムアクセスの開始点）の情報に応じて、ＢＰを強制的に分割する場合の例を示している。
【００６７】
Ｈ．２６４規格などでは、ランダムアクセス再生を行う場合、ＢＰの境界点から再生を開始することは、再生時のタイミング情報の初期化が容易となるため好ましい。そこで、シーンチェンジ点やチャプタ点を、ＢＰ境界と一致する様に符号化しておくことで、再生時のランダムアクセスを容易にすることが可能となる。
【００６８】
図８（Ａ）及び（Ｂ）では、シーンチェンジ点やチャプタ点でＢＰを打ち切り（図中のＢＰ（１））、その点から新たなＢＰを開始する（図中ＢＰ（２））ことで、シーンチェンジ点やチャプタ点を、ＢＰ境界と一致させることが可能なる。
【００６９】
このように、セグメント内で、ＢＰ長を動的に変更していくと、セグメント終端のＢＰ長は一般に一定値とはならない（図８（Ａ）の２０１）。
【００７０】
しかし、本実施形態では、セグメント終端から２番目のＢＰ長を調整することで、セグメント終端のＢＰ長が一定値となるように符号化することが可能となる。これにより、図７で説明した通り、セグメント単位の並列符号化や、セグメントの符号化データを単位とした、符号化後の編集などを容易に実現することが可能となる。
【００７１】
［８］シームレス・マルチストーリ符号化の場合
図９は、本実施形態におけるシームレス・マルチストーリ符号化におけるＢＰ長の制御を説明する図である。
【００７２】
「シームレス・マルチストーリ」とは、動画像符号化データの再生において、予め複数の再生パターンを用意しておき、一連の動画像符号化データの再生中に、分岐点において再生する動画像の符号化データに分岐させ、分岐した動画像データの再生が終わると、本編の動画像データの再生に復帰することで、複数のストーリの再生を可能にするというものである。ここで、再生する符号化データの分岐点や本編の動画像データへ復帰する結合点で、途切れなく連続再生が可能となるものをシームレス・マルチストーリと呼ぶ。
【００７３】
図９（Ａ）及び（Ｂ）は、本編映像（図中セグメントｉ−１）から３つのストーリ（図中セグメントｉ、ｉ＋１，ｉ＋２）に分岐し、本編（図中セグメントｉ＋３）に戻る場合の符号化データの例を示している。
【００７４】
本実施形態では、少なくとも分岐単位でセグメントを分割して符号化を行う。Ｈ．２６４などでの符号化では、分岐点や結合点で、シームレスな再生を可能とするためには、従来の（１）仮想バッファレベルの接続性、（２）フィールド位相の連続性、（３）フレーム間予測の切断、を保証すると共に、分岐点及び結合点で、タイミング情報の連続性を保証する必要がある。一方、分岐した各ストーリ（図中セグメントｉ、ｉ＋１，ｉ＋２）に対応する動画像フレーム数が、一定とはならない場合、分岐した各ストーリに対応する符号化データにおける終端のＢＰ長（図中３００，３０１，３０２）は一般に一定とはならない。
【００７５】
複数のストーリから単一の本編ストーリに復帰する場合、どのストーリに対応する符号化データからも、シームレスに本編の符号化データに接続可能とする必要があるが、図９（Ａ）のように、最終ＢＰ長の異なる複数のセグメントの全てから、それぞれシームレスに接続が可能な単一のセグメントの符号化データを生成することは困難である。
【００７６】
一方、図９（Ｂ）に示すように、本実施形態によれば、セグメント内の最終ＢＰ以外のＢＰ、例えば各セグメントの後ろから２番目のＢＰ（図中３０３、３０５）でＢＰ長（フレーム数）を調整することで、分岐した各ストーリ（図中セグメントｉ、ｉ＋１，ｉ＋２）に対応する符号化データにおける終端のＢＰ長（図中３００，３０４，３０６）が一定値とすることが可能となり、複数の符号化データから本編の符号化データへの結合点で、いずれの符号化データからもシームレスに本編の符号化データに復帰して途切れなく連続再生することが可能となる。
【００７７】
［９］ＢＰ長制御の具体的な実施方法
次に、図３〜図６を用いて、本実施形態に係るＢＰ長制御（図２のステップＳ１１２）の具体的な実施方法を説明する。
【００７８】
［９−１］第１の方法
図３は、図７（Ｂ）で示すように、各セグメントの先頭ＢＰでＢＰ長を補正する場合の制御フローチャートである。
【００７９】
ＢＰ分割制御が開始されると（ステップＳ１２０）、まず、セグメントの先頭フレームかどうかの判断を行う（ステップＳ１２１）。
【００８０】
次に、セグメントの先頭であれば、変数RemNumPicBpに０を設定し、変数RemNumPicSegに当該セグメントの総フレーム数を示すNumPicSegを設定し、変数Ｎに所定の標準ＢＰ長を示すStdNumPicBpを設定する（ステップＳ１２２）。ここで、変数RemNumPicBpは、次のＢＰ先頭フレームまでの残りフレーム数を示し、変数RemNumPicSegは、当該セグメント内の残りフレーム数を示している。
【００８１】
次に、変数RemNumPicBpが０かどうかの判断を行い（ステップＳ１２３）、RemNumPicBpが０の場合、次に符号化するフレームがＢＰの先頭フレームとなる。RemNumPicBpが０の場合、RemNumPicBpにＮを設定する（ステップＳ１２４）。さらに現在のフレームがセグメント先頭フレームで、かつ、変数NumPicSegを変数Ｎで割った余りがゼロで無い場合、すなわち当該セグメントの総フレーム数が、標準ＢＰ長で割り切れない場合（ステップＳ１２５が「Ｙｅｓ」の場合）、最初のＢＰ長がNumPicSegをＮで割った余りとなるように、RemNumPicBpを上書き修正する（ステップＳ１２６）。
【００８２】
次に、変数RemNumPicBpとRemNumPicSegからそれぞれ１を減じる（ステップＳ１２７）。
【００８３】
以上の処理により、当該セグメントの総フレーム数が、標準ＢＰ長で割り切れない場合に、当該セグメントの最初のＢＰ長を補正することで、当該セグメントの終端のＢＰ長を標準ＢＰ長にすることが可能となり、上記したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【００８４】
［９−２］第２の方法
図４は、図７（Ｃ）、図８（Ｂ）及び図９（Ｂ）で示すように、各セグメントの終端から２番目のＢＰでＢＰ長を補正する場合の制御フローチャートである。
【００８５】
ＢＰ分割制御が開始されると（ステップＳ１３０）、まず、セグメントの先頭フレームかどうかの判断を行う（ステップＳ１３１）。
【００８６】
次に、セグメントの先頭であれば、変数RemNumPicBpに０を設定し、変数RemNumPicSegに当該セグメントの総フレーム数を示すNumPicSegを設定し、変数Ｎに所定の標準ＢＰ長を示すStdNumPicBpを設定する（ステップＳ１３２）。ここで、変数RemNumPicBpは、次のＢＰ先頭フレームまでの残りフレーム数を示し、変数RemNumPicSegは、当該セグメント内の残りフレーム数を示している。
【００８７】
次に、変数RemNumPicBpが０かどうかの判断を行い（ステップＳ１３３）、RemNumPicBpが０の場合、次に符号化するフレームがＢＰの先頭フレームとなる。RemNumPicBpが０の場合、RemNumPicBpにＮを設定する（ステップＳ１３４）。さらに当該セグメントの残りフレームRemNumPicSegが標準ＢＰ長であるＮより大きく、Ｎの２倍より小さい場合（ステップＳ１３５が「Ｙｅｓ」の場合）、ＢＰ長を示すRemNumPicBpを２N−RemNumPicSeg−Nの値で上書き修正する（ステップＳ１３６）。
【００８８】
次に、変数RemNumPicBpとRemNumPicSegからそれぞれ１を減じる（ステップＳ１３７）。
【００８９】
以上の処理により、当該セグメントの残りフレーム数が、標準ＢＰ長で割り切れない場合に、上記の処理により当該セグメントの最後から２番目のＢＰ長を補正し、当該セグメントの終端のＢＰ長を標準ＢＰ長にすることが可能となり、上記したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【００９０】
［９−３］第３の方法
図５は、図８（Ｂ）で示すように、各セグメントの符号化中に、シーンチェンジ点を検出して、シーンチェンジ点がＢＰ境界となるようにＢＰ長の補正をすると共に、当該セグメントの終端から２番目のＢＰでＢＰ長を補正する場合の制御フローチャートである。
【００９１】
図５の実施形態は、図４の実施形態に加えて、セグメント先頭以外でのシーンチェンジ検出ステップＳ１４０が追加され、また、ＢＰ先頭の判断を行う図４におけるステップＳ１３３が、ＢＰの残りフレーム数を示すRenNumPicBpが０かどうか、またはシーンチェンジ点が検出されたかどうかで、ＢＰ境界を決定するステップＳ１４１に置き換わったものであり、その他の処理は図４と同様である。
【００９２】
シーンチェンジ検出ステップＳ１４０では、入力動画像のフレーム間差分値を計算し、フレーム間差分値が所定以上の大きさのときに、シーンチェンジ点であると判断する。
【００９３】
以上の処理により、シーンチェンジ点でＢＰを打ち切って次のＢＰを開始すると共に、セグメントの終端のＢＰ長を固定とすることが可能となり、シーンチェンジ点からのランダム再生を容易にすると共に、上述したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【００９４】
［９−４］第４の方法
図６は、図８（Ｂ）で示すように、各セグメントの符号化中に、外部より設定されるチャプタ点の情報に基づいて、チャプタ点がＢＰ境界となるようにＢＰ長の補正をすると共に、当該セグメントの終端から２番目のＢＰでＢＰ長を補正する場合の制御フローチャートである。
【００９５】
図６の実施形態は、図５の実施形態におけるシーンチェンジ検出ステップＳ１４０がチャプタ点設定ステップＳ１５０に置き換わり、また、ＢＰ先頭の判断を行うステップＳ１４１が、ＢＰの残りフレーム数を示すRenNumPicBpが０かどうか、または次に符号化されるフレームがチャプタ点のフレームかどうかで、ＢＰ境界を決定するステップＳ１５１に置き換わったものであり、その他の処理は図５と同様である。
【００９６】
チャプタ点設定ステップＳ１５０では、外部より動画像フレームのフレーム番号またはタイムコードでチャプタ点が指定され、次に符号化されるフレームのフレーム番号またはタイムコードと、チャプタ点のフレーム番号またはタイムコードとの照合を行い、チャプタ点の判断を行う。
【００９７】
以上の処理により、チャプタ点でＢＰを打ち切って次のＢＰを開始すると共に、セグメントの終端のＢＰ長を固定とすることが可能となり、チャプタ点からのランダム再生を容易にすると共に、上述したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【００９８】
［１０］フィールド位相の制御
次に、図１０〜図１２を用いて、本実施形態に係るフィールド位相の制御について説明する。
【００９９】
映画などのフィルム素材などのフレームレートが２４ｆｐｓ（Frame Per Second）の素材を符号化して、３０ｆｐｓのインターレースディスプレイで表示する場合、３：２プルダウンが用いられる。
【０１００】
「３：２プルダウン」は、１フレームの映像信号を復号化後に、偶数ラインだけで構成されるフィールド信号（トップフィールド）と奇数ラインでだけで構成されるフィールド信号（ボトムフィールド）の２つのフィールドに分離し、最初のフィールドを繰り返すことで、３フィールド期間表示するフレームと、２フィールド期間のみ表示するフレームを交互に繰り返すことで、１秒当たり２４フレームの信号を、１秒当たり６０フィールドの信号に変換して表示するものである。
【０１０１】
図１０に、３：２プルダウン表示の例を示す。
【０１０２】
９００〜９０９はフレームから分離された各フィールドであり、９０４と９０２、及び、９０９と９０７はそれぞれ同じフィールド信号が繰り返し表示されるものである。
【０１０３】
ここで、トップフィールド、ボトムフィールドの順で２フィールド期間表示されるフレームをＤとする。
【０１０４】
トップフィールド、ボトムフィールド、トップフィールドの順で３フィールド期間表示されるフレームをＡとする。
【０１０５】
ボトムフィールド、トップフィールドの順で２フィールド期間表示されるフレームをＢとする。
【０１０６】
ボトムフィールド、トップフィールド、ボトムフィールド、の順で３フィールド期間表示されるフレームをＣとする。
【０１０７】
３：２プルダウン表示を行う場合は、各符号化画像データに、それぞれ、上記Ａ，Ｂ，Ｃ，Ｄのいずれであるかを示す情報が符号化される。
【０１０８】
このように、フレーム毎に表示期間が異なる場合、図３〜図６を用いて説明した本実施形態での各セグメントの終端ＢＰ長の制御で、終端ＢＰの符号化フレーム数を一定にするだけでは、上述した独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが出来ない場合がある。
【０１０９】
図１１の（Ａ）〜（Ｃ）は、それぞれ３：２プルダウンによる表示及び復号期間が２フィールド期間、３フィールド期間と交互の変わる場合の、各セグメント終端部分を表示順で示している。
【０１１０】
図１１（Ａ）では、１，３，５，７で示したフレームが３フィールド期間表示されるフレームであり、２，４，６，８で示したフレームが２フィールド期間表示されるフレームである。
【０１１１】
図１１（Ｂ）では、２，４，６，８で示したフレームが３フィールド期間表示されるフレームであり、１，３，５，７で示したフレームが２フィールド期間表示されるフレームである。図中、８０２，８０４及び８０６が各セグメントの終端ＢＰを構成する符号化画像であり、この例では、終端ＢＰのフレーム数が５フレームとなるように、調整されたものである。同じ５フレームに調整されていても、図１１（Ａ）と（Ｂ）のように、３：２プルダウンのフィールド位相が異なっていると、そのＢＰの表示及び復号期間が一定とならないため、後段に接続される最初のＢＰにおけるcpb_removal_delayを一定にすることが出来ない。図１１（Ａ）では最終ＢＰの表示時間は１２フィールドとなるが、図１１（Ｂ）では最終ＢＰの表示時間は１３フィールドとなる。各ＢＰの最初の符号化画像におけるcpb_removal_delayについては、直前のＢＰの先頭の符号化画像の復号化時刻からの遅延時間が符号化されるため、図１１（Ａ）或いは（Ｂ）に接続される後続のセグメント先頭のＢＰにおいて、cpb_removal_delayの値が必ずしも一定とはならない。
【０１１２】
一方、本実施形態によれば、各セグメントの最終ＢＰを構成する画像の３：２プルダウンパターンを一致させることで、３：２プルダウンを用いる場合でも、表示及び復号期間が一定となり、最終ＢＰの次に接続されるセグメントの最初のcpb_removal_delayの値を、直前のセグメントの符号化の終了を待たずに、固定的に設定することが可能となる。
【０１１３】
各セグメントの最終ＢＰを構成する画像の３：２プルダウンパターンを一致させるには、各セグメントの最後から２番目のＢＰにおいて、３：２プルダウンパターンを調整すればよく、図１１では、（Ｂ）の終端ＢＰの３：２プルダウンパターンを（Ａ）のそれと同じするため、（Ｂ）の「３」で示した２フィールド期間表示の符号化画像を、図１１（Ｃ）の「３’」のように３フィールド期間表示に変更することで、「３’」に続く「４」〜「８」の符号化画像の３：２プルダウンパターンは、（Ａ）と同様の「４’」〜「８’」のパターンに自動的に設定される。
【０１１４】
３：２プルダウンのフィールド位相は、図１０のＡ〜Ｄで示す４パターンとなるが、トップフィールド同士、あるいはボトムフィールド同士が連続しないという制約化下でのフィールド位相の調整は可能である。
【０１１５】
図１２（ａ）〜（ｄ）は、セグメント終端ＢＰにおいて３：２パターンが異なる４つのセグメント終端例を表示順で示している。図１２中のＡ、Ｂ、Ｃ、Ｄは、各符号化フレームの図１０に示した表示フィールドパターンを示している。
【０１１６】
図１１で示したように、セグメント終端ＢＰにおいて３：２パターンを常に一定にするためには、当該ＢＰ直前のBＰの表示フレームの３：２パターンを調整すればよい。その際に、表示フィールドの連続性を考慮して調整する必要がある。
【０１１７】
図２０は、図１１の３：２パターンを考慮して、連続するフレームをシームレスに再生可能となるように３：２パターンを調整する変換テーブルである。図２０において、「ＯＫ」と記載されたパターンは表示フィールドの連続性が保障された３：２パターンで、例えば「Ａ→Ｄ」と記載されたものは、直前フレームの３：２パターンを「Ａ」から「Ｄ」に変更することで、表示フィールドの連続性が保障されることを示している。
【０１１８】
図２０の制御パターンに従って、図１２（ａ）〜（ｄ）のセグメント終端ＢＰの３：２パターンを一定になるように、その直前ＢＰの最後の表示フレームを調整した例が、図１２（ａ’）〜（ｄ’）である。
【０１１９】
また、図１２（ａ’’）〜（ｄ’’）は、セグメント終端ＢＰの３：２パターンを一定になるように、その直前ＢＰの最後の表示フレームの３：２パターンが一定となるように調整した例である。
【０１２０】
このように、３：２プルダウンの位相パターンを調整することで、最終ＢＰが所定の位相パターンになるように制御することが出来る。
【０１２１】
フィールド位相の制御パターンは、図２０のように予めテーブル化しておき、図２に示した各セグメントの符号化フローチャートにおけるＢＰ分割制御（ステップＳ１１２）で、ＢＰのフレーム数の制御と合わせてフィールド位相調整処理を行い、各セグメントの符号化を行えばよい。
【０１２２】
以上のように、各セグメントの符号化時に、各セグメントの最終ＢＰのフレーム数とフィールド位相が所定値となるように調整を行うことで、３：２プルダウン表示を用いる場合においても、上述したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【０１２３】
［１１］動画像符号化装置の構成
次に、図１３〜図１５を用いて、本実施形態に係る動画像符号化装置の構成について説明する。
【０１２４】
図１３〜図１５は、上記説明した符号化方法を実現する動画像符号化装置の構成を示すものであり、各処理手段は専用ハードウエアで構成されてもよく、また専用プロセッサとソフトウエア、或いは汎用ＣＰＵとソフトウエアで構成されても良い。また、これが混在する構成としてもよい。
【０１２５】
［１１−１］第１の構成
図１３は、図１で示した符号化処理フローチャートを実現する動画像符号化装置の構成を示すブロック図である。
【０１２６】
符号化対象の動画像信号は、ランダム読み出しが可能なハードディスクや大容量メモリなどで構成される蓄積メディア４００に保存されている。
【０１２７】
セグメント分割部４０１は、蓄積メディア４００の動画像信号を複数のセグメントに分割し、分割されたセグメント毎に順次原画像データを読み出し、１つまたは複数の符号化手段４０２から４０３にセグメント毎に振り分けて入力する。
【０１２８】
各符号化手段４０２〜４０３は、その個数に応じて、入力された原画像データをセグメント単位で順次並列に符号化し、各符号化データは、一時保存用のメモリ或いはハードディスクなどの蓄積メディア４０４〜４０５に、セグメント毎に出力される。
【０１２９】
各セグメントの符号化が完了すると、符号化データ接続部４０６が、符号化データの一時保存用の蓄積メディア４０４乃至４０５から、各セグメントの符号化データを表示すべき順序で読み出して結合し、最終的な符号化データを蓄積メディア４０７へ出力する。
【０１３０】
［１１−２］第２の構成
図１４は、図１３の構成に加えて、シーンチェンジ検出部４０９が、原画像が保存されている蓄積メディア４００とセグメント分割部４０１との間に挿入され、また、チャプタ点制御部４０８が、セグメント分割部４０１に接続された構成である。
【０１３１】
図１４で示す第２の構成では、符号化対象の動画像信号のシーンチェンジ点をシーンチェンジ検出部４０９で検出し、また、再生時にランダムアクセスを行いたいチャプタ点を、フレーム番号またはタイムコードとして、チャプタ点制御部４０８に予め設定しておき、シーンチェンジ点或いはチャプタ点で、セグメントを分割して符号化するようにセグメント分割部４０１が制御を行うものである。
【０１３２】
セグメント境界は、フレーム間予測が切断されるため、再生時のランダムアクセスが容易となる。
【０１３３】
また、第２の構成では、セグメント単位での符号化データの編集が可能となるように符号化されるため、シーンチェンジ点やチャプタ点をセグメント境界と一致させることで、符号化後のシーン単位或いはチャプタ単位の編集が容易な符号化データを生成することが可能となる。
【０１３４】
［１１−３］第３の構成
図１５は、図１３の各符号化手段（４０２〜４０３）の内部構成を示すブロック図である。
【０１３５】
図１５で示す符号化手段には、当該セグメントの原画像データ５００がフレーム単位で順次入力され、必要に応じてシーンチェンジ検出手段５０１によりシーンチェンジ点の検出が行われ、また、再生時にランダムアクセスを行いたいチャプタ点を、フレーム番号またはタイムコードとして、チャプタ点制御部５０２に予め設定しておき、ＢＰ分割制御部５０３が、周期的なＢＰ分割に加えて、シーンチェンジ点或いはチャプタ点で、強制的にＢＰの分割を行う制御が行われる。
【０１３６】
画像符号化部５０４では、入力される動画像フレームを順次符号化し、符号化データ５０５が出力される。
【０１３７】
シーンチェンジ点やチャプタ点やＢＰ分割点とすることで、再生時のランダムアクセスなどが容易となり、また、シーンチェンジ検出処理を、各符号化手段（４０２〜４０３）の内部に持つことで、シーンチェンジ検出が符号化手段の並列度に合わせて並列化されるため、図１４に示すように、１つのシーンチェンジ検出手段でシーンチェンジ検出を行う場合と比較して、より高速にシーンチェンジ検出を行うことが可能となる。
【０１３８】
［１１−４］構成のまとめ
以上の図１３〜図１５で示した動画像符号化装置を用いて、図１〜図１２で説明した、本実施形態に係る動画像符号化方法で動画像信号の符号化を行うことで、上記したように、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【０１３９】
また、３：２プルダウン表示を行う場合においても同様に、独立したセグメントの並列符号化や、セグメント単位での符号化データの編集、また、シームレス・マルチストーリへの対応などを容易に行うことが可能となる。
【０１４０】
［１２］各ＢＰがＧＯＰと同じ構造を持つ場合
次に、本実施形態における各ＢＰがＭＰＥＧ２ビデオ規格（ISO/IEC13818-2）で定義されるＧＯＰ（Group of Pictures）と同じ構造を持つ場合を考える。
【０１４１】
ＧＯＰは、符号化順で最初のピクチャは、フレーム内符号化画像であるＩピクチャとして符号化され、当該Ｉピクチャに引き続きＧＯＰ内では、片方向フレーム間予測符号化を行うＰピクチャと双方向フレーム間予測符号化を行うＢピクチャとが組み合わされて符号化される。つまり、各ＧＯＰには必ず１つ以上のＩピクチャが含まれることになる。フレーム間予測を行わず単一フレームでの復号が可能なＩピクチャが必ず入ることで、ＧＯＰ単位でのランダムアクセスや早送り再生が容易となる。
【０１４２】
そして各ＢＰがＧＯＰ構造を取る場合を考えると、各ＢＰには必ず１つ以上のＩピクチャが含まれることになる。Ｉピクチャは、フレーム間相関を用いずに符号化されるため、通常ＰピクチャやＢピクチャより圧縮効率が低くなる。また、ＢＰ先頭（すなわちＧＯＰ先頭）のＩピクチャは、ＢＰ内のフレーム間予測の起点となるため、ＢＰ全体の圧縮画像の画質を高めるため、通常他のＰピクチャやＢピクチャよりもより高画質に圧縮されるケースが多い。
【０１４３】
符号化効率の悪いＩピクチャを、より高画質に圧縮するため、Ｉピクチャでは、非常に多くのデータ量が発生する。そのためＩピクチャが頻繁に符号化されると、一定の画質を得るための符号量が増加し、また一定の符号量下では量子化により画質が低下する。つまり、一般的にはＢＰ長が短いほど平均的な符号化効率は低下し、ＢＰ長が長いほど平均的な符号化効率は向上する。
【０１４４】
しかし、上述したようにＢＰの先頭がＩピクチャとして符号化されることにより、ランダムアクセス性や早送り再生などを容易にしているため、ＢＰ長が長くなると、これらの再生時の機能性が低下する。
【０１４５】
［１２−１］第１のＢＰ長制御方法
図２１は、図３〜図６で示した本実施形態に係る第１のＢＰ長制御方法により補正されたＢＰ長の例を示したものである。
【０１４６】
図３〜図６で示した実施形態では、各セグメントを構成するフレーム数に、標準ＢＰ長に対する端数が生じた場合、端数のフレーム数に相当する短いＢＰを、セグメントの先頭またはセグメント終端から２番目の位置に配置するというものである。
【０１４７】
したがって、図２１に示す第１のＢＰ長制御方法によって補正されるＢＰ長は、標準ＢＰ長より短いものとなる。この場合、ランダムアクセス性の低下は発生しないが、補正された短いＢＰでは符号化効率の低下が発生する。
【０１４８】
［１２−２］第２のＢＰ長制御方法
図２２〜図２４は、本実施形態に係る第２のＢＰ長制御方法を示す図である。
【０１４９】
図２２で示すように、第２のＢＰ長制御方法では、端数フレーム数に相当する短いＢＰを発生させる代わりに、端数フレーム数を標準ＢＰ長に加算した長いＢＰを用いて、端数フレーム数を補償するものである。
【０１５０】
図２２のＢＰ制御は、図３〜図６で示したＢＰ分割制御方法の代わりに、図２３あるいは図２４で示したＢＰ分割制御方法を用いることで実現できる。
【０１５１】
図２３は、セグメント先頭のＢＰで端数フレーム数を補償するものである。図３における制御フローチャートで、ステップＳ１２６の部分を、図２３のステップＳ２２６に置き換えて、セグメント先頭のＢＰ長を端数フレーム数と標準ＢＰ長Ｎとの和とすることで実現できる。
【０１５２】
図２４は、セグメント終端から２番目のＢＰで端数フレーム数を補償するものである。図４における制御フローチャートで、ステップＳ１３５の条件判定部分を、図２４のステップＳ２３５に置き換えて、セグメント内で符号化されていない残りフレーム数が、標準ＢＰ長Ｎの２倍より大きく３倍より小さくなったＢＰ境界で補正ＢＰを設定することで実現できる。
【０１５３】
以上により、端数フレーム数をＢＰ長が標準ＢＰ長よりも長いＢＰで補償することにより、短いＢＰの発生を回避し、端数フレームによる符号化効率の低下を防ぐことが可能となる。
【０１５４】
［１２−３］第３のＢＰ長制御方法
図２５〜図２７は、本実施形態に係る第３のＢＰ長制御方法を示す図である。
【０１５５】
図２５で示すように、第３のＢＰ長制御方法では、図２２と同様に符号化効率の低下を抑制するため、端数フレーム数に相当する短いＢＰを発生させる代わりに、端数フレーム数を標準ＢＰ長に加算した長いＢＰを用いて端数フレーム数の補償を行うが、補正ＢＰ長が予め設定されている最大ＢＰ長を超える場合のみ、図２１と同様の端数フレーム数に相当する短いＢＰを用いるものである。
【０１５６】
図２５に示したＢＰ制御は、図３〜図６で示したＢＰ分割制御方法の代わりに、図２６あるいは図２７で示したＢＰ分割制御方法を用いることで実現できる。
【０１５７】
図２６は、セグメント先頭のＢＰで端数フレーム数を補償するものである。図３における制御フローチャートで、ステップＳ１２６の前段で、補正ＢＰ長が最大ＢＰ長Ｎmaxを超えるかどうかの判断を行う（ステップＳ２２９）。
【０１５８】
最大ＢＰ長を超える場合は、図３と同様に端数フレーム数に相当する短いＢＰをセグメント先頭に設定する（ステップＳ１２６）。
【０１５９】
補正ＢＰ長が最大ＢＰ長Ｎmaxを超えない場合、図２３と同様にセグメント先頭のＢＰ長を端数フレーム数と標準ＢＰ長Ｎとの和とする（ステップＳ２２６）。これにより、図２５のＢＰ長制御が実現できる。
【０１６０】
図２７は、セグメント終端から２番目のＢＰで端数フレーム数を補償するものである。図２４と同様にセグメント内で符号化されていない残りフレーム数が、標準ＢＰ長Ｎの２倍より大きく、３倍より小さくなったＢＰ境界で補正ＢＰ長を計算する。
【０１６１】
補正ＢＰ長が、最大ＢＰ長Ｎmaxを超えない場合（ステップＳ２３６が「Ｙｅｓ」）は、図２４と同様に標準ＢＰ長Ｎよりも長い補正ＢＰ長を設定する（ステップＳ１３６）。
【０１６２】
補正ＢＰ長が、最大ＢＰ長Ｎmaxを超える場合（ステップＳ２３６が「Ｎｏ」）は、長い補正ＢＰ長の配置は行わず標準ＢＰ長Ｎを用いる。さらに、残りフレーム数が、標準ＢＰ長Ｎより大きく、２Ｎより小さくなったＢＰ境界（ステップＳ１３５が「Ｙｅｓ」）で、図４と同様に短い補正ＢＰを用いる。そして、セグメント終端のＢＰ長を固定とし、セグメント終端から２番目のＢＰ長を最大ＢＰ長Ｎmaxを超えない範囲で補正する。これにより、セグメント内のＢＰ長の端数を調整することが実現できる。
【０１６３】
以上により、セグメント内の端数フレーム数補償のための補正ＢＰを、最大ＢＰ長を超えず、かつ、短い補正ＢＰ長の発生を最小限に抑えて設定することが可能となり、ランダムアクセス性や早送り再生の機能性を維持しつつ、符号化効率の低下を抑えることが可能となる。
【０１６４】
［１２−４］第４のＢＰ長制御方法
図２８及び図２９は、本実施形態に係る第４のＢＰ長制御方法を示す図である。
【０１６５】
図２８で示すように、第４のＢＰ長制御方法では、図２２と同様に符号化効率の低下を抑制するため、端数フレーム数に相当する短いＢＰを発生させる代わりに、端数フレーム数を標準ＢＰ長に加算した長いＢＰを用いて端数フレーム数の補償を行う。このときに、補正ＢＰ長が予め設定されている最大ＢＰ長Ｎmaxを超える場合は、複数のＢＰに渡って最大ＢＰ長を超えない範囲で、標準ＢＰ長Ｎより長いＢＰを設定することで、端数フレーム数の補正を行う。
【０１６６】
これにより、端数フレーム数の補償を標準ＢＰ長Ｎより短いＢＰを用いることなく実現できるため、符号化効率の低下が発生しない。
【０１６７】
また、最大ＢＰ長を超えるＢＰも発生しないため、ランダムアクセスや早送り再生などの機能性を低下させることもない。
【０１６８】
図２９は、第４のＢＰ長制御方法を実現するための制御フローチャートである。
【０１６９】
第４のＢＰ長制御方法では、各セグメント内で、複数のＢＰを用いて端数フレーム数の補償を行うため、セグメントの先頭でＢＰの最適な配置を一括して決定する。
【０１７０】
ＢＰ分割制御が開始されると（ステップＳ３００）、まずセグメントの先頭フレームかどうかを判断する（ステップＳ３０1）。
【０１７１】
セグメントの先頭フレームであれば、当該セグメント内のＢＰ構成を一括して決定し、ｉ番目のＢＰを構成するフレーム数をRemNumPicBp[ｉ]として設定し、また、セグメント内ＢＰのカウンタbpnumに０をセットする。ＢＰ構成の一括設定は、まずセグメント内の端数フレーム数を計算し、標準ＢＰ長Ｎと端数フレーム数との和が最大ＢＰ長Ｎmaxを超えなければ、セグメント内の最後のＢＰを除く他のＢＰの何れか１つの長さを、標準ＢＰ長Ｎと端数フレーム数との和として設定する。
【０１７２】
また、標準ＢＰ長Ｎと端数フレーム数との和が最大ＢＰ長Ｎmaxを超える場合、まず、セグメント内の最後のＢＰを除く他のＢＰの何れか１つの長さを最大ＢＰ長とし、残りの端数フレーム数を計算する。さらに残りの端数フレーム数と標準ＢＰ長Ｎとの和が最大ＢＰ長Ｎmaxを超える場合は、セグメント内の最後のＢＰを除く別のＢＰの何れか１つの長さを最大ＢＰ長とする。残りの端数フレーム数と標準ＢＰ長Ｎとの和が最大ＢＰ長Ｎmaxを超えない場合は、残りの端数フレーム数と標準ＢＰ長Ｎとの和となるＢＰを、セグメント内の最後のＢＰを除く他のＢＰの何れか１つに設定する。
【０１７３】
このようにして、端数フレームがなくなるまで繰り返し補正ＢＰを追加していく。
【０１７４】
以上の処理を、セグメントの先頭で一括して行い（ステップＳ３０２）、設定されたＢＰ構成RemNumPicBp[ｉ]に従って、順次符号化を行っていく。bpnum番目のＢＰ符号化中は、１フレーム符号化する毎にRemNumPicBp[bpnum]から１を減じて（ステップＳ３０５）、RemNumPicBp[bpnum]が０となった時点（ステップＳ３０３が「Ｙｅｓ」）で、bpnumに１を加算し（ステップＳ３０４）、次のＢＰの符号化を開始する。
【０１７５】
以上のように制御することで、図２８に示したように端数フレームの数によらず、常に標準ＢＰ長Ｎ以上で最大ＢＰ長Ｎmax以下のＢＰで符号化することが可能となり、符号化効率の低下なく、かつ、ランダムアクセスや早送り再生などの機能性も維持したまま、端数フレーム数の補償を行うことが可能となる。
【０１７６】
（第２の実施形態）
次に、本発明の第２の実施形態を図３０〜図３４に基づいて説明する。
【０１７７】
本実施形態は、仮想受信バッファモデルとの関係においてＢＰ配置を最適化する方法である。
【０１７８】
［１］第１の最適化方法
まず、第１の最適化方法について説明する。
【０１７９】
図３３は、セグメント内のＢＰ配置と仮想受信バッファモデルのバッファ占有量変動を示す図である。
【０１８０】
「仮想受信バッファモデル」とは、デコーダ側の受信バッファのモデルであり、本モデルがオーバーフローやアンダーフローしないように符号化することが必要となる。
【０１８１】
また、セグメント分割エンコードを行い、分割生成された符号化データを接続してシームレスに再生することを保障するためには、仮想バッファモデルの連続性が保障されなければならない。
【０１８２】
本実施形態では、ＭＰＥＧ−２ビデオ規格で規定されるＶＢＶ（Video Buffering Verifier）モデルにおける可変ビットレートモデルを用いた場合の例を示す。
【０１８３】
また、本実施形態では、上述の通り各ＢＰを従来のＧＯＰ構造と対応させ、ＢＰで最初に符号化されるピクチャがＩピクチャであるとする。上述の通りＩピクチャは発生符号量が多いため、通常ＶＢＶバッファモデルではＢＰ先頭でバッファ占有量が急激に低下し、それに引き続くＰピクチャ及びＢピクチャで徐々にバッファ占有量が回復する。図３３（ａ）はその様子を示すものである。
【０１８４】
なお、セグメント間の接続性を保障するためには、例えば、所定の目標バッファレベルを定め、各セグメント始点のＶＢＶバッファ占有量を、所定の目標バッファレベルに合わせ、また各セグメント終端におけるＶＢＶバッファ占有量が目標バッファレベル以上となっていれば、ＶＢＶバッファの破綻なく、セグメント毎に符号化された圧縮データを接続することが可能となる。
【０１８５】
ＭＰＥＧ−２で規定される可変ビットレートのＶＢＶモデルでは、オーバーフローは発生せず、アンダーフローのみが禁止されるため、各セグメント終端のバッファ占有量が所定値以上となっていることで、セグメント毎に符号化された圧縮データを接続しても、バッファ占有量が下がることがないため、アンダーフローは発生しない。
【０１８６】
また、ＭＰＥＧ−２で規定される固定ビットレートのＶＢＶモデルでは、オーバーフロー及びアンダーフローが禁止されるが、各セグメント終端のバッファ占有量が所定値以上となっていれば、セグメント間の接続点においてスタッフィングデータを挿入することで、完全にシームレスな接続が可能となる。
【０１８７】
図３３（ｂ）は、セグメント中の端数フレーム数を補償するために、セグメント終端から２つめのBＰ長が短くなるように制御された例を示す。
【０１８８】
ＢＰ長が短くなると、ＩピクチャでのＶＢＶバッファ占有量の低下が十分回復する前に次のＢＰのＩピクチャが来るため、ＶＢＶバッファ占有量がアンダーフロー方向にずれ込む。セグメント終端付近でＶＢＶバッファレベルの低下が発生すると、セグメント終端までにバッファ占有量を所定値まで回復させることが困難となる場合があり、セグメント終端でバッファ占有量を所定値まで回復できなければ、ＶＢＶの破綻なくセグメント毎の符号化データを接続することが保障されない。
【０１８９】
また、セグメント終端付近で強制的に発生符号量を抑制することで、短時間でＶＢＶバッファ占有量を回復させることは可能であるが、その場合発生符号量を抑制したことによる画質劣化が発生する。
【０１９０】
一方、本実施形態では、図３３（ｃ）のように、端数フレーム数の補償のため、短いＢＰが必要になった場合は、必ずセグメント先頭に配置する構成とすることができる。その場合、短いＢＰにより低下したＶＢＶバッファ占有量を、セグメント内の残りのＢＰの符号化で徐々に回復させることが可能となり、大きな画質劣化を伴わずに、セグメント終端のバッファレベルが所定値以上になるように制御することが容易となる。
【０１９１】
これにより、セグメント毎の符号化データの接続性の補償を、より安定的に行うことが可能となる。
【０１９２】
［２］第２の最適化方法
次に、本実施形態において、仮想受信バッファモデルとの関係においてＢＰ配置を最適化する第２の最適化方法について説明する。
【０１９３】
図３４は、図３３と同様に可変ビットレートのＶＢＶモデルにおける、ＶＢＶバッファ占有量変動とＢＰ長制御との関係を示している。
【０１９４】
図３４（ａ）には、バッファ占有量と共に符号化困難度の例も合わせて記載している。可変ビットレート符号化では、符号化困難度の低いとこでは符号量を抑えて、また符号化困難度の高いところでは符号量を増やして符号化することで、より低い平均符号量で、安定した画質を得ることができる。ＭＰＥＧ−２のＶＢＶモデルに従えば、符号量を抑えた部分では、ＶＢＶバッファ占有量レベルは上昇し、ＶＢＶバッファサイズで飽和する。
【０１９５】
また、発生符号量を増やした部分では、ＶＢＶバッファ占有量は低下し、そのためＶＢＶアンダーフローの危険性が増す。
【０１９６】
図３４（ａ）は、ＢＰ長の制御がなく安定して符号化できた例であるが、図３４（ｂ）のように、同じ映像素材でセグメント終端から２つめのＢＰ長が短く制御されると、図３３（ｂ）と同様にセグメント終端でＶＢＶバッファレベルが所定値以上とならず、セグメント間の接続性が満たせなくなるケースがある。
【０１９７】
一方、図３４（ｃ）で示すように、符号化困難度が低くＶＢＶバッファ占有量が高くなる部分に、端数フレームを補償するための短いＢＰを配置することで、安定してセグメント終端でのＶＢＶバッファレベルが所定値以上となるように制御することが可能となる。
【０１９８】
上述した通り、符号化困難度が低ければ、一般にＶＢＶバッファ占有量は上昇するため、事前に符号化困難度を検出することで、最適なＢＰ配置を設定することが可能となる。また、ＶＢＶバッファレベルを事前に推定することでも、同様に最適なＢＰ配置を決定することが可能である。このような、最適なＢＰ配置の決定は、２パス符号化方式を用いることで容易に実現できる。
【０１９９】
［３］２パス符号化方法
ここで、まず本実施形態に関わる２パス符号化方法について説明する。
【０２００】
図３０は、ＶＴＲやハードディスクドライブなどの記録メディアに保存された動画像信号を、仮符号化と本符号化の２回の符号化を行うことで、最適なビット配分を行う２パス可変ビットレート符号化方式の従来例を示す図である。２パス可変ビットレート符号化方式は、例えば特許第３７３４２８６号公報などの方法により実現することが可能である。
【０２０１】
２パス可変ビットレート符号化方式では、まず動画像シーケンス全体に渡る仮符号化を行い（ステップＳ３１1）、その時の発生符号量などの統計量から、フレームあるいはシーン単位の符号化困難度を計算し（ステップＳ３１２）、得られた符号化困難度に応じて、動画像シーケンス全体に渡りフレームあるいはシーン単位に符号量配分（ビットアロケーション）を行い（ステップＳ３１２）、配分された符号量に基づいて動画像シーケンス全体に渡る本符号化を行う（ステップＳ３１４）。
【０２０２】
［４］最適ＢＰ配置方法
次に、図３１及び図３２を用いて、図３４（ｃ）で示した本実施形態に係る最適ＢＰ配置方法について説明する。
【０２０３】
図３１では、図３０の２パス符号化における符号化困難度計算（ステップＳ３１２）処理の後に、セグメント内または動画像シーケンス全体に渡るＢＰ配置を決定するＢＰマッピング処理（ステップＳ３１６）が追加され、ＢＰマッピング処理では、端数フレーム数を補償するために短いＢＰが必要となった場合に、ステップＳ３１２で計算された符号化困難度が小さくなる位置に、短いＢＰをマッピングする。そして、２パス符号化のためのビットアロケーション（ステップＳ３１２）及びＢＰマッピング処理（ステップＳ３１６）の結果を用いて、本符号化（ステップＳ３１４）を行うことで、最適ビット配分及び最適ＢＰ配置での符号化を行うことが可能となる。
【０２０４】
図３２は、図３１の変形例であり、符号化困難度計算（ステップＳ３１２）の結果に応じて、ＶＢＶバッファ占有量の時間変動を推定し（ステップＳ３１７）、端数フレーム数を補償するために短いＢＰが必要となった場合に、ＢＰマッピング処理（ステップＳ３１６）において、ステップＳ３１７で計算したＶＢＶバッファ占有量推定値が最も高くなる部分に短いＢＰを配置する。これにより、図３１の実施形態と同様に、最適ビット配分及び最適ＢＰ配置での符号化を行うことが可能となる。
【０２０５】
（変更例）
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【０２０６】
例えば、本実施形態は、Ｈ．２６４に限定されるものではなく、Ｈ．２６４と同様の制約のある他の動画像符号化方式についても、適用可能なものである。
【図面の簡単な説明】
【０２０７】
【図１】本発明の第１の実施形態に係る動画像符号化方法の処理フローチャートを示すフローチャートである。
【図２】動画像符号化方法の処理フローチャートを示すフローチャートである。
【図３】動画像符号化方法の処理フローチャートを示すフローチャートである。
【図４】動画像符号化方法の処理フローチャートを示すフローチャートである。
【図５】動画像符号化方法の処理フローチャートを示すフローチャートである。
【図６】動画像符号化方法の処理フローチャートを示すフローチャートである。
【図７】ＢＰ長制御を説明する図である。
【図８】ＢＰ長制御を説明する図である。
【図９】ＢＰ長制御を説明する図である。
【図１０】３：２プルダウンを説明する図である。
【図１１】符号化フィールド位相の制御を説明する図である。
【図１２】符号化フィールド位相の制御を説明する図である。
【図１３】動画像符号化装置の構成を示すブロック図である。
【図１４】動画像符号化装置の構成を示すブロック図である。
【図１５】動画像符号化装置の構成を示すブロック図である。
【図１６】動画像符号化データのデータ構造を示す図である。
【図１７】動画像符号化データのデータ構造を示す図である。
【図１８】動画像符号化データのデータ構造を示す図である。
【図１９】動画像符号化データのタイミング情報を説明する図である。
【図２０】３：２プルダウンパターン修正テーブルである。
【図２１】第１のＢＰ長制御方法のＢＰ長補正を説明する図である。
【図２２】第２のＢＰ長制御方法のＢＰ長補正を説明する図である。
【図２３】第２のＢＰ長制御方法のＢＰ長制御を説明するフローチャートである。
【図２４】第２のＢＰ長制御方法のＢＰ長制御を説明するフローチャートである。
【図２５】第３のＢＰ長制御方法のＢＰ長補正を説明する図である。
【図２６】第３のＢＰ長制御方法のＢＰ長制御を説明するフローチャートである。
【図２７】第３のＢＰ長制御方法のＢＰ長制御を説明するフローチャートである。
【図２８】第４のＢＰ長制御方法のＢＰ長補正を説明する図である。
【図２９】第４のＢＰ長制御方法のＢＰ長制御を説明するフローチャートである。
【図３０】従来の２パス符号化方式を説明する図である。
【図３１】第２の実施形態に係る２パス符号化方式を説明する図である。
【図３２】図３１の変形例であり、２パス符号化方式を説明する図である。
【図３３】ＢＰ長補正を説明する図である。
【図３４】ＢＰ長補正を説明する図である。
【符号の説明】
【０２０８】
Ｓ１０２・・・セグメント分割ステップ
Ｓ１１２・・・画像群分割制御ステップ
Ｓ１１６・・・画像符号化ステップ
Ｓ１１５・・・タイミング情報符号化ステップ
Ｓ１０５・・・セグメント符号化データ結合ステップ
Ｓ１４０・・・シーンチェンジ検出ステップ
Ｓ１５０・・・チャプタ点設定ステップ
４０１・・・セグメント分割部
５０３・・・画像群分割制御部
４０６・・・符号化データ結合部
５０４・・・画像符号化部
４０９，５０１・・・シーンチェンジ検出部
４０８，５０２・・・チャプタ点制御部
【図１】
2008109637.tif 000003
【図２】
2008109637.tif 000004
【図３】
2008109637.tif 000005
【図４】
2008109637.tif 000006
【図５】
2008109637.tif 000007
【図６】
2008109637.tif 000008
【図７】
2008109637.tif 000009
【図８】
2008109637.tif 000010
【図９】
2008109637.tif 000011
【図１０】
2008109637.tif 000012
【図１１】
2008109637.tif 000013
【図１２】
2008109637.tif 000014
【図１３】
2008109637.tif 000015
【図１４】
2008109637.tif 000016
【図１５】
2008109637.tif 000017
【図１６】
2008109637.tif 000018
【図１７】
2008109637.tif 000019
【図１８】
2008109637.tif 000020
【図１９】
2008109637.tif 000021
【図２０】
2008109637.tif 000022
【図２１】
2008109637.tif 000023
【図２２】
2008109637.tif 000024
【図２３】
2008109637.tif 000025
【図２４】
2008109637.tif 000026
【図２５】
2008109637.tif 000027
【図２６】
2008109637.tif 000028
【図２７】
2008109637.tif 000029
【図２８】
2008109637.tif 000030
【図２９】
2008109637.tif 000031
【図３０】
2008109637.tif 000032
【図３１】
2008109637.tif 000033
【図３２】
2008109637.tif 000034
【図３３】
2008109637.tif 000035
【図３４】
2008109637.tif 000036