(57)【要約】  ３Ｄ符号化装置は、入力画像を符号化し、複数の画像群を含む基本ストリームおよび拡張ストリームを含む３次元ストリームを生成して出力する。３Ｄ符号化装置は、基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値および３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定する設定部を備える。設定部は、特定のＤｅｌａｙ値として、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１仮想バッファ部および第２仮想バッファ部は、基本ストリームおよび３次元ストリームにおけるｎ番目の画像群について設定部が設定した特定のＤｅｌａｙ値に基づく情報を基に、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。
2012023248.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を符号化し、複数の画像群を含む基本ストリームおよび拡張ストリームを含む３次元ストリームを生成して出力する符号化部と、
前記符号化部から出力される前記基本ストリームを復号化する際のバッファシミュレーションを行う第１仮想バッファ部と、
前記符号化部から出力される前記３次元ストリームを復号化する際のバッファシミュレーションを行う第２仮想バッファ部と、
前記第１仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１算出部と、
前記第２仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２算出部と、
前記算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定する設定部と、を備え、
前記設定部は、特定のＤｅｌａｙ値として、前記第１Ｄｅｌａｙ値と前記第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定し、
前記第１仮想バッファ部および前記第２仮想バッファ部は、基本ストリームおよび３次元ストリームにおけるｎ番目の画像群について前記設定部が設定した特定のＤｅｌａｙ値に基づく情報を基に、ｎ＋１番目の画像群についてのバッファシミュレーションを行う、
３Ｄ符号化装置。
【請求項２】
前記第１仮想バッファ部および前記第２仮想バッファ部は、前記入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として前記第１算出部および前記第２算出部にそれぞれ出力する請求項１に記載の３Ｄ符号化装置。
【請求項３】
前記第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第１算出部に出力し、
前記第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第２算出部に出力する請求項１に記載の３Ｄ符号化装置。
【請求項４】
前記第１仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第２仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行う請求項３に記載の３Ｄ符号化装置。
【請求項５】
前記３Ｄ符号化装置は、
前記符号化部から出力される拡張ストリームを復号化処理する際のバッファシミュレーションを行う第３仮想バッファ部と、
前記第３仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３算出部と、をさらに備え、
前記設定部は、前記第１Ｄｅｌａｙ値、前記第２Ｄｅｌａｙ値および前記第３Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定し、
前記設定部は、特定のＤｅｌａｙ値として、前記第１Ｄｅｌａｙ値、前記第２Ｄｅｌａｙ値および前記第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の同一の値を設定し、
前記第１仮想バッファ部、前記第２仮想バッファ部および前記第３仮想バッファ部は、基本ストリーム、３次元ストリームおよび拡張ストリームにおける前記ｎ＋１番目の画像群について、前記設定部が設定した特定のＤｅｌａｙ値に基づく情報を基にバッファシミュレーションを行う、
請求項１に記載の３Ｄ符号化装置。
【請求項６】
前記第１仮想バッファ部、前記第２仮想バッファ部および前記第３仮想バッファ部は、前記入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として前記第１算出部、前記第２算出部および前記第３算出部にそれぞれ出力する請求項５に記載の３Ｄ符号化装置。
【請求項７】
前記第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第１算出部に出力し、
前記第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第２算出部に出力し、
前記第３仮想バッファ部は、当該第３仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第３算出部に出力する請求項５に記載の３Ｄ符号化装置。
【請求項８】
前記第１仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第２仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第３仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第３仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行う請求項７に記載の３Ｄ符号化装置。
【請求項９】
前記基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、
前記拡張ストリームは、３Ｄ映像における他方の画像について前記一方の画像との差分を考慮して符号化したストリームである請求項１に記載の３Ｄ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄ映像信号を符号化する３Ｄ符号化装置に関する。
【背景技術】
【０００２】
特許文献１には、符号化された複数のピクチャをランダムアクセス可能なアクセス単位ごとに含んで構成される１つ又は複数の符号化ストリームを生成する生成装置が記載されている。具体的には、その生成装置は、連続的に復号を行う何れか２つのアクセス単位において、復号順で先頭のピクチャが復号されてから表示順で先頭のピクチャが表示されるまでの遅延量が同一となるように、その遅延量を決定する第１の決定手段と、第１の決定手段において決定された遅延量となるように、前記２つのアクセス単位に含まれる複数のピクチャを符号化し、符号化ストリームを生成する生成手段と、を備える。この生成装置は、遅延量を予め定めた値以下に制限する。【０００３】
この構成によれば、特殊再生の対象となる２つのアクセス単位（例えば、クリップ）の遅延量（フレーム遅延）が等しくなるように符号化ストリームが生成される。そのため、これらのアクセス単位が連続的に復号される際には、それらのアクセス単位の接続点でピクチャ間にギャップが生ずることなく、フレームレートが一定になる。つまり、特殊再生時においてこれらのアクセス単位がシームレス接続される。その結果、それらのアクセス単位に基づく動画像を見るユーザに対してギャップ等により生じる不快感をなくすことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０１５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、入力画像を基本ストリームおよび拡張ストリームを含む３次元ストリームに符号化する規格として、Ｈ．２６４／ＭＶＣ符号化規格がある。例えば、基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、拡張ストリームは、３Ｄ映像における他方の画像について前記一方の画像との差分を考慮して符号化したストリームである。入力される入力画像を、基本ストリームおよび拡張ストリームを含む３次元ストリームに符号化する際、ＢＤ規格（System Description Blu-ray Disc Read-Only Format part 3 Audio Visual Basic Specifications）に記載される内容を満たす必要がある。具体的には、所定のＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  ｐｉｃｔｕｒｅｓ）に付加される基本ストリームのＤｅｌａｙ値と、このＧＯＰに付加される３次元ストリームのＤｅｌａｙ値は同一としなければならない。また、所定のＧＯＰに付加される基本ストリームのＤｅｌａｙ値と、このＧＯＰに付加される３次元ストリームのＤｅｌａｙ値と、このＧＯＰに付加される拡張ストリームのＤｅｌａｙ値は同一でなければならない。【０００６】
ここで、Ｄｅｌａｙ値とは、デコーダのバッファに最初のデータが到着してから、デコーダでの復号処理のため先頭ピクチャの符号をバッファから引き抜くまでの時間である。Ｄｅｌａｙ値は、基本ストリームおよび拡張ストリームの符号量に依存する。そこで、基本ストリームおよび拡張ストリームのＤｅｌａｙ値を同一とするために、入力画像の符号化時における量子化値を制御することが考えられる。【０００７】
しかし、量子化値を制御する方法では、適切な画質を得ることが困難となる。また、基本ストリームと拡張ストリームの符号量を完全に同一にするよう量子化値を制御するためには、３Ｄ符号化装置の構成が複雑となる。【０００８】
本発明は、上記の課題を考慮してなされたものであり、簡易な構成で、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することを目的とする。また、簡易な構成で、基本ストリームと、３次元ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の３Ｄ符号化装置は、入力画像を符号化し、複数の画像群を含む基本ストリームおよび拡張ストリームを含む３次元ストリームを生成して出力する符号化部と、符号化部から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１仮想バッファ部と、符号化部から出力される３次元ストリームを復号化する際のバッファシミュレーションを行う第２仮想バッファ部と、第１仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１算出部と、第２仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２算出部と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定する設定部と、を備える。設定部は、特定のＤｅｌａｙ値として、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１仮想バッファ部および第２仮想バッファ部は、基本ストリームおよび３次元ストリームにおけるｎ番目の画像群について設定部が設定した特定のＤｅｌａｙ値に基づく情報を基に、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。【００１０】
上記構成の３Ｄ符号化装置によれば、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値と、から特定のＤｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定のＤｅｌａｙ値を、基本ストリームを生成する際のバッファシミュレーション（以下、「第１ＢＳ」と称す。）と、３次元ストリームを生成する際のバッファシミュレーション（以下、「第２ＢＳ」と称す。）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値に基づく情報を基に、次の画像群についての第１ＢＳおよび第２ＢＳを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値とを同一とすることができる。【００１１】
また、特定のＤｅｌａｙ値は、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションを行う場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。【００１２】
また好ましくは、第１仮想バッファ部および第２仮想バッファ部は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１算出部および第２算出部にそれぞれ出力する。【００１３】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。【００１４】
また好ましくは、第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第１算出部に出力し、第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第２算出部に出力する。【００１５】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と３次元ストリームに付加するＤｅｌａｙ値とを同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションをした場合であっても、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。【００１６】
また好ましくは、第１仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第２仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。【００１７】
このようにすれば、特定のＤｅｌａｙ値を設定するのに伴い、第１仮想バッファ部および第２仮想バッファ部におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を特定のＤｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。【００１８】
また好ましくは、３Ｄ符号化装置は、符号化部から出力される拡張ストリームを復号化処理する際のバッファシミュレーションを行う第３仮想バッファ部と、第３仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３算出部と、をさらに備える。設定部は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定し、設定部は、特定のＤｅｌａｙ値として、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を設定する。第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ＋１番目の画像群について、設定部が設定した特定のＤｅｌａｙ値に基づく情報を基にバッファシミュレーションを行う。【００１９】
このようにすれば、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値から特定のＤｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定のＤｅｌａｙ値を、第１ＢＳと、第２ＢＳと、拡張ストリームを生成する際のバッファシミュレーション（以下、「第３ＢＳ」と称す）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、ｎ＋１番目の画像群についての第１ＢＳ、第２ＢＳおよび第３ＢＳを行うことが出来る。また、簡単な構成で、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値、および第３Ｄｅｌａｙ値とを同一とすることができる。【００２０】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。【００２１】
また好ましくは、第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１算出部、第２算出部および第３算出部にそれぞれ出力する。【００２２】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。【００２３】
また好ましくは、第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第１算出部に出力し、第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第２算出部に出力し、第３仮想バッファ部は、当該第３仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第３算出部に出力する。【００２４】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と、３次元ストリームに付加するＤｅｌａｙ値と、拡張ストリームに付加するＤｅｌａｙ値を同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。【００２５】
また好ましくは、第１仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第２仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第３仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第３仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。【００２６】
このようにすれば、３Ｄ符号化装置において特定のＤｅｌａｙ値を設定するのに伴い、第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値を特定のＤｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。【００２７】
また好ましくは、基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、拡張ストリームは、３Ｄ映像における他方の画像について一方の画像との差分を考慮して符号化したストリームである。
【発明の効果】
【００２８】
本発明の３Ｄ符号化装置によれば、簡易な構成で、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することができる。また、簡易な構成で、基本ストリームと、３次元ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】実施形態１に係る３Ｄ符号化装置の構成を示す図
【図２】実施形態１に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【図３】バッファアンダーフローの状況を説明する図
【図４】実施形態２における３Ｄ符号化装置の構成を示す図
【図５】実施形態２における第１簡易ＣＰＢ３０１における仮想バッファ制御を示す図
【図６】実施形態２における第２簡易ＣＰＢ３０３の仮想バッファ制御の動作を説明するための図
【図７】実施形態２に係る３Ｄ動画像符号化方法の動作の一例を示すフローチャート
【図８】実施形態３における３Ｄ符号化装置の構成を示す図
【図９】実施形態３に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【図１０】実施形態４における３Ｄ符号化装置の構成を示す図
【図１１】実施形態４に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【発明を実施するための形態】
【００３０】
以下、本発明に係る３Ｄ符号化装置および３Ｄ符号化方法の実施の形態に関して、図面を用いて詳細に説明する。
【００３１】
（実施形態１）
１．概要
実施形態１に係る３Ｄ符号化装置は、３Ｄ映像信号を符号化する装置である。実施形態１に係る３Ｄ符号化装置は、入力画像を符号化し、立体視する際に用いる基本ストリームと、基本映像とは異なる拡張ストリームを生成する符号化装置である。さらに、基本ストリームのみを用いた仮想バッファ制御と、基本ストリームと拡張ストリームを合わせた３次元ストリームを用いた仮想バッファ制御とを行う。
【００３２】
この３Ｄ符号化装置の特徴は、これら２つの仮想バッファ制御にて求まる２つのＤｅｌａｙ値を基に、特定のＤｅｌａｙ値（以下、「特定Ｄｅｌａｙ値」という）を求めることにある。そして、求めた特定Ｄｅｌａｙ値を、このＤｅｌａｙ値を求めた後に入力される入力画像を符号化し基本ストリームおよび拡張ストリームを生成する際の仮想バッファ制御に用いることにある。
【００３３】
以下では、特定Ｄｅｌａｙ値は、一例として２つの仮想バッファ制御で求めたＤｅｌａｙ値のうち、小さいほうのＤｅｌａｙ値とする。なお、特定Ｄｅｌａｙ値は、この値に限定されるものではなく、２つのＤｅｌａｙ値よりも小さい値を用いることも出来る。
【００３４】
また、符号化方式としては、Ｈ．２６４／ＡＶＣを用いる構成を説明する。なお、用いる符号化方式は、Ｈ．２６４／ＡＶＣに限定されるものではなく、他の動画像符号化方式でもよい。つまり、入力画像から基本ストリームと３次元ストリームを符号化する符号化形式であればどのようなものでも構わない。
【００３５】
２．構成
以下、本実施形態１における３Ｄ符号化装置に関して、図面を参照しながら説明する。
【００３６】
図１は、本実施形態１に係る３Ｄ符号化装置の構成を示す図である。
【００３７】
図１に示すように、３Ｄ符号化装置は、第１符号化部１０１、第１ＣＰＢ１０２、第１Ｄｅｌａｙ値算出部１０３、第２符号化部１０４、第２ＣＰＢ１０５、第２Ｄｅｌａｙ値算出部１０６、特定Ｄｅｌａｙ値決定部１０７および多重化部１０８を備える。ここで、ＣＰＢとは、Ｃｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒの略称である。
【００３８】
第１符号化部１０１は、入力される入力画像を、Ｈ．２６４／ＡＶＣを用いて符号化して、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は、入力画像を符号化した際に生成される符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。また、第１符号化部１０１は入力画像を基本ストリームに符号化した際の符号量を第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。なお、入力画像を基本ストリームに符号化する際、ＭＶＣ（ｍｕｌｔｉ  ｖｉｅｗ  ｃｏｄｉｎｇ）を適用するのが好ましい。
【００３９】
第１ＣＰＢ１０２は、第１符号化部１０１から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。第１ＣＰＢ１０２は、次の６つの数式に基づき、基本ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。第１ＣＰＢ１０２は、算出した時間情報を第１Ｄｅｌａｙ値算出部１０３に出力する。なお、上記時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）、および下記６つの数式は、Ｈ．２６４／ＡＶＣ符号化規格で規定されている。ｔａｉ（ｎ）は、initial arrival time、つまり、復号器に１ピクチャを構成する最初のデータが到着した時間に関する情報である。ｔａｆ（ｎ）は、final arrival time、つまり復号器に１ピクチャを構成する最後のデータが到着した時間に関する情報である。ｔｒ，ｎ（ｎ）とは、nominal removal time、つまり復号器のバッファから１ピクチャを構成するデータを引き抜く時間に関する情報である。
【００４０】
（数１）  ｔａｆ（ｎ）＝ｔａｉ（ｎ）＋ｂ（ｎ）÷ＢｉｔＲａｔｅ［ＳｃｈｅｄＳｅｌＩｄｘ］
（数２）  ｔａｉ（ｎ）＝Ｍａｘ（ｔａｆ（ｎ−１）、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ））
（数３）  ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）＝ｔｒ，ｎ（ｎ）−（ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］＋ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ＿ｏｆｆｓｅｔ［ＳｃｈｅｄＳｅｌＩｄｘ］）÷９００００
（数４）  ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）＝ｔｒ，ｎ（ｎ）−（ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］÷９００００）
（数５）  ｔｒ，ｎ（０）＝ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］÷９００００
（数６）  ｔｒ，ｎ（ｎ）＝ｔｒ，ｎ（ｎｂ）＋ｔｃ＊ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ（ｎ）
【００４１】
ここで、ｂ（ｎ）は、基本ストリームの、第ｎ番目における入力画像の発生符号量である。上記６つの数式における各符号化パラメータは、第１符号化部１０１の符号化過程において取得できる。
【００４２】
さらに、第１ＣＰＢ１０２は、特定Ｄｅｌａｙ値決定部１０７から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。具体的には、第１ＣＰＢ１０２は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１０７から受け取った特定Ｄｅｌａｙ値を代入する。そして、第１ＣＰＢ１０２は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以後の仮想バッファ制御を行う。
【００４３】
第１Ｄｅｌａｙ値算出部１０３は、第１ＣＰＢ１０２が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を以下の式で算出する。
（数７）  Δｔｇ、９０（ｎ）＝９００００＊（ｔｒ，ｎ（ｎ）−ｔａｆ（ｎ−１））
なお、上記の数式は、Ｈ．２６４／ＡＶＣ符号化規格で規定される数式である。
【００４４】
第１Ｄｅｌａｙ値算出部１０３は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００４５】
第２符号化部１０４は、入力される入力画像を、Ｈ．２６４／ＡＶＣ規格に基づいて符号化し、拡張ストリームを生成し、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は、入力画像を符号化した際に生成される符号化パラメータを第２ＣＰＢ１０５に出力する。また、第２符号化部１０４は入力画像を拡張ストリームに符号化した際の符号量を第２ＣＰＢ１０５に出力する。なお、入力画像を拡張ストリームに符号化する際、ＭＶＣ（ｍｕｌｔｉ  ｖｉｅｗ  ｃｏｄｉｎｇ）を適用するのが好ましい。
【００４６】
第２ＣＰＢ１０５は、第１符号化部１０１および第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。第２ＣＰＢ１０５は、上記数式１から数式６に基づき、３次元ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。第２ＣＰＢ１０５は、数式１から数式６に対して、３次元ストリームに関する符号化パラメータを代入する。ｂ（ｎ）は、拡張ストリームの第ｎ番目における入力画像の発生符号量と、基本ストリームの第ｎ番目における入力画像の発生符号量との和である。
【００４７】
さらに、第２ＣＰＢ１０５は、特定Ｄｅｌａｙ値決定部１０７から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。第２ＣＰＢ１０５は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１０７から受け取った特定Ｄｅｌａｙ値を代入する。そして、第２ＣＰＢ１０５は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以後の仮想バッファ制御を行う。
【００４８】
第２Ｄｅｌａｙ値算出部１０６は、第２ＣＰＢ１０５が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を（数式７）で算出する。第２Ｄｅｌａｙ値算出部１０６は、算出したＤｅｌａｙ値Δｔｇ、９０（ｎ）を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００４９】
特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６が出力する各Ｄｅｌａｙ値から、特定Ｄｅｌａｙ値を決定（算出）する。例えば、第１Ｄｅｌａｙ値算出部１０３が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部１０６が求めたＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定する。なお、特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３が出力する第１Ｄｅｌａｙ値、および第２Ｄｅｌａｙ値算出部１０６が出力する第２Ｄｅｌａｙ値より小さい値を算出して特定Ｄｅｌａｙ値として決定してもよい。特定Ｄｅｌａｙ値決定部１０７は、決定した特定Ｄｅｌａｙ値を、多重化部１０８へ出力する。さらに、特定Ｄｅｌａｙ値決定部１０７は、決定した特定Ｄｅｌａｙ値を、第１ＣＰＢ１０２および第２ＣＰＢ１０５へ出力する。
【００５０】
多重化部１０８は、基本ストリームと拡張ストリームを連結して、３次元ストリームを生成する。その際、多重化部１０８は、３次元ストリーム中に特定Ｄｅｌａｙ値決定部１０７が出力する特定Ｄｅｌａｙ値を書込む。つまり、多重化部１０８は基本ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１０７が決定した特定Ｄｅｌａｙ値を書込む。さらに、多重化部１０８は３次元ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１０７が決定した特定Ｄｅｌａｙ値を書込む。その結果、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる。なお、Ｈ．２６４／ＡＶＣにおいて、基本ストリームのＤｅｌａｙ値は、「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」に書き込まれる。さらに、３次元ストリームのＤｅｌａｙ値は、「ｓｃａｌａｂｌｅ  ｎｅｓｔｉｎｇ  ＳＥＩ」中の「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」に書き込まれる。なお、上記の「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」、「ｓｃａｌａｂｌｅ  ｎｅｓｔｉｎｇ  ＳＥＩ」および「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」は、Ｈ．２６４／ＡＶＣ規格に規定されるシンタックス情報である。
【００５１】
３．動作
次に、本実施形態１に係る３Ｄ符号化装置の動作の一例を、図２に示すフローチャートを用いて説明する。
【００５２】
（ステップＳ２０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は生成した基本ストリームの符号量および符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【００５３】
（ステップＳ２０２）次に、第１ＣＰＢ１０２は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、仮想バッファ制御を行う。第１ＣＰＢ１０２は、仮想バッファ制御の過程で生成される時間情報を第１Ｄｅｌａｙ値算出部１０３に出力する。
【００５４】
（ステップＳ２０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２ＣＰＢ１０５に出力する。
【００５５】
（ステップＳ２０４）次に、第２ＣＰＢ１０５は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基に仮想バッファ制御を行う。第２ＣＰＢ１０５は、仮想バッファ制御の過程で生成される時間情報を第２Ｄｅｌａｙ値算出部１０６に出力する。
【００５６】
（ステップＳ２０５）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象の入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、ステップＳ２０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、ステップＳ２０６に移行する。
【００５７】
（ステップＳ２０６）第１Ｄｅｌａｙ値算出部１０３は、第１ＣＰＢ１０２から出力される時間情報を基に、基本ストリームのＤｅｌａｙ値Δｔｇ、９０（ｎ）（以下、適宜「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１０７で算出される。第１Ｄｅｌａｙ値算出部１０３は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００５８】
（ステップＳ２０７）また、第２Ｄｅｌａｙ値算出部１０６は、第２ＣＰＢ１０５から出力される時間情報を基に、３次元ストリームに適用するＤｅｌａｙ値Δｔｇ、９０（ｎ）（以下、適宜「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１０７で算出される。第２Ｄｅｌａｙ値算出部１０６は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００５９】
（ステップＳ２０８）そして、特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値のうち小さいほうのＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定し、第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【００６０】
（ステップＳ２０９）最後に、第１ＣＰＢ１０２および第２ＣＰＢ１０５は、特定Ｄｅｌａｙ値決定部１０７から出力される特定Ｄｅｌａｙ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰの次のＧＯＰについての仮想バッファ制御を行う。
【００６１】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ２０８において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力されるＤｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【００６２】
４．本発明と、本実施形態との対応
本実施形態における「仮想バッファ制御」は、本発明における「バッファシミュレーション」の一例である。本実施形態における「第１符合化部１０１」および「第２符合化部１０４」は、本発明における「符号化部」の一例である。本実施形態における「第１ＣＰＢ１０２」は、本発明における「第１仮想バッファ部」の一例である。本実施形態における「第２ＣＰＢ１０５」は、本発明における「第２仮想バッファ部」の一例である。本実施形態における「第１Ｄｅｌａｙ値算出部１０３」は、本発明における「第１算出部」の一例である。本実施形態における「第２Ｄｅｌａｙ値算出部１０６」は、本発明における「第２算出部」の一例である。本実施形態における「特定Ｄｅｌａｙ値決定部１０７」は、本発明における「設定部」の一例である。
【００６３】
５．まとめ
上記のように、本実施形態の３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１ＣＰＢ１０２と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２ＣＰＢ１０５と、第１ＣＰＢ１０２で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部１０３と、第２ＣＰＢ１０５で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部１０６と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定Ｄｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部１０７とを備える。特定Ｄｅｌａｙ値決定部１０７は、特定Ｄｅｌａｙ値として、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１ＣＰＢ１０２および第２ＣＰＢ１０５は、基本ストリームおよび３次元ストリームにおける、ｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部１０７が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。
【００６４】
このようにすれば、３Ｄ符号化装置は、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とから特定Ｄｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定Ｄｅｌａｙ値を、基本ストリームを生成する際のバッファシミュレーション（以下、第１ＢＳと称す。）と、３次元ストリームを生成する際のバッファシミュレーションにフィードバック（以下、第２ＢＳと称す。）することが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての第１ＢＳおよび第２ＢＳを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とを同一の値に設定することが出来る。
【００６５】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００６６】
また、第１ＣＰＢ１０２および第２ＣＰＢ１０５は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６にそれぞれ出力する。
【００６７】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００６８】
（実施形態２）
１．概要
実施形態１は、第１ＣＰＢ１０２および第２ＣＰＢ１０５から出力される時間情報を基に、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６においてＤｅｌａｙ値を算出した。さらに、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を同一の値に置き換えたとしても仮想バッファ制御を調整することにより、Ｈ．２６４／ＡＶＣ規格の制約を破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成する。このように実施形態１では、時間情報を用いて仮想バッファ制御を行っていた。
【００６９】
第１ＣＰＢ１０２および第２ＣＰＢ１０５が実行する仮想バッファ制御は、Ｈ．２６４／ＡＶＣ規格において規定されるバッファアンダーフローが生じないことを保証するためにも用いられる。
【００７０】
図３は、バッファアンダーフローの状況を説明する図である。バッファアンダーフローとは、仮想バッファ制御におけるバッファ滞留量(以下、「ｃｐｂ値」と称す)が負値となることを意味する。第１符号化部１０１および第２符号化部１０４において、入力画像の符号化開始時点でのｃｐｂ値を超える符号量が発生すると、換言すれば、復号器の入力バッファを模した仮想バッファにおいて、入力画像の符号化開始時点でのｃｐｂ値を超える引き抜き量が発生すると（入力画像の符号化開始時点での引き抜き可能量以上の符号量が発生すると）、バッファアンダーフローが発生する。そのため、第１符号化部１０１および第２符号化部１０４は、入力画像の符号化開始時点でのｃｐｂ値よりも小さい符号量を入力画像の最大符号量として設定する。そして、第１符号化部１０１および第２符号化部１０４は、実際の符号化時にこの最大符号量を超えることがないように、符号化パラメータを調整する。
【００７１】
上記の点を考慮すると、時間情報を用いた仮想バッファ制御ではなく、ｃｐｂ値を用いるほうが制御しやすい。また、Ｈ．２６４／ＡＶＣ規格でＣＡＢＡＣ（context adaptive binary arithmetic coding)処理を行う場合、入力画像毎の発生符号量の確定まで、遅延が生じる。そのため、適切なタイミングでｃｐｂ値を得ることができない。この理由でも、Ｄｅｌａｙ値による時間表現での仮想バッファ制御ではなく、ｃｐｂ値に基づく簡易な仮想バッファ制御が必要になる。以上の理由により、仮想バッファ制御として、ｃｐｂ値による仮想バッファ制御を用いる場合がある。この実装でのｃｐｂ値についても、ＢＤ規格制限を守るためｃｐｂ値を修正する必要が生じる。
【００７２】
実施形態２の目的は、仮想バッファ制御としてｃｐｂ値を用いた場合であっても、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることができる３Ｄ符号化装置を提供することを目的とする。
【００７３】
実施形態２では、基本ストリームおよび３次元ストリームの符号化レートおよびｃｐｂ値を基に、基本ストリームにおけるＤｅｌａｙ値および３次元ストリームにおけるＤｅｌａｙ値を算出する。そして、算出した２つのＤｅｌａｙ値から特定のＤｅｌａｙ値を設定する。
【００７４】
２．構成
以下、実施形態２における３Ｄ符号化装置の構成について図面を参照しながら説明する。
【００７５】
図４は、実施形態２における３Ｄ符号化装置の構成を示す図である。なお、実施形態１と同様の構成については、同じ番号を付し、その詳細な説明を省略する。
【００７６】
第１簡易ＣＰＢ３０１は、第１符号化部１０１から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第１符号化部１０１が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第１簡易ＣＰＢ３０１は基本ストリームにおけるｃｐｂ値（以下、「ｃｐｂ１」と称す）を算出する。第１簡易ＣＰＢ３０１は第ｎ番目の入力画像におけるｃｐｂ１（ｎ）を次式より算出する。
【００７７】
（数８）ｃｐｂ１（ｎ）＝ｃｐｂ１（ｎ−１）＋（ＢＲ１＊Ｔ）−ｂ１（ｎ）
ここで、ＢＲ１は基本ストリームの最大ビットレートを示し、例えば１２Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、基本ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ１（ｎ）は基本ストリームにおける第ｎ番目の入力画像の符号量である。なお、基本ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部４００から与えられる。なお、基本ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【００７８】
また、第１簡易ＣＰＢ３０１はｃｐｂ１（ｎ）を第１Ｄｅｌａｙ値算出部３０２に出力する。なお、第１簡易ＣＰＢ３０１は例えばＧＯＰ終端においてｃｐｂ１（ｎ）を第１Ｄｅｌａｙ値算出部３０２に出力する。
【００７９】
さらに、第１簡易ＣＰＢ３０１はＣＰＢ値逆換算部３０６が出力するｃｐｂ値を、特定Ｄｅｌａｙ値の算出に用いた第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御に使用する。つまり、現在処理中のＧＯＰの次のＧＯＰについての仮想バッファ制御においては現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第１簡易ＣＰＢ３０１が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【００８０】
第１Ｄｅｌａｙ値算出部３０２は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ１および３Ｄ符号化装置全体を制御する制御部４００から与えられる基本ストリームの最大ビットレートを基に、基本ストリームに対するＤｅｌａｙ値を算出する。
【００８１】
図５は、第１簡易ＣＰＢ３０１における仮想バッファ制御を示す図である。
【００８２】
図５に示すグラフにおいて、破線で示す傾きは最大ビットレートである。この場合、ｃｐｂ値とＤｅｌａｙ値との関係は図５に示すようになる。例えば、ｃｐｂ値として１５００ビットが与えられ、最大ビットレートが１２Ｍｂｐｓと与えられるとする。この場合、第１Ｄｅｌａｙ値算出部３０２は、次式よりＤｅｌａｙ値を０．１２５ｍｓと算出する。
【００８３】
（数１０）  （Ｄｅｌａｙ値）＝（ｃｐｂ値）／（最大ビットレート）
第１Ｄｅｌａｙ値算出部３０２は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【００８４】
第２簡易ＣＰＢ３０３は、第１符号化部１０１および第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第１符号化部１０１および第２符号化部１０４が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第２簡易ＣＰＢ３０３は３次元ストリームにおけるｃｐｂ値（以下、ｃｐｂ２と称す）を算出する。第２簡易ＣＰＢ３０３は第ｎ番目における入力画像のｃｐｂ２（ｎ）を次式より算出する。
【００８５】
（数１１）ｃｐｂ２（ｎ）＝ｃｐｂ２（ｎ−１）＋（ＢＲ２＊Ｔ）−ｂ２（ｎ）
ここで、ＢＲ２は３次元ストリームの最大ビットレートを示し、例えば２４Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、３次元ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ２（ｎ）は３次元ストリームの第ｎ番目における入力画像の符号量である。つまり、ｂ２（ｎ）は、第１符号化部１０１から出力される基本ストリームにおける第ｎ番目における入力画像の符号量と、第２符号化部１０４から出力される拡張ストリームにおける第ｎ番目の入力画像の符号量との和である。なお、３次元ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部４００から与えられる。なお、３次元ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【００８６】
また、第２簡易ＣＰＢ３０３はｃｐｂ２（ｎ）を第２Ｄｅｌａｙ値算出部３０４に出力する。なお第２簡易ＣＰＢ３０３は例えばＧＯＰ終端においてｃｐｂ２を第２Ｄｅｌａｙ値算出部３０４に出力する。
【００８７】
さらに、第２簡易ＣＰＢ３０３はＣＰＢ値逆換算部３０６が出力するｃｐｂ値を次のＧＯＰについての仮想バッファ制御に使用する。つまり、特定Ｄｅｌａｙ値の算出に用いた第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御においては、現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第２簡易ＣＰＢ３０３が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【００８８】
第２Ｄｅｌａｙ値算出部３０４は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ２および３Ｄ符号化装置全体を制御する制御部４００から与えられる３次元ストリームの最大ビットレートを基に、３次元ストリームに対するＤｅｌａｙ値を算出する。
【００８９】
第２Ｄｅｌａｙ値算出部３０４は、（数式１０）の関係を基に、３次元ストリームのＤｅｌａｙ値を算出する。例えば、ｃｐｂ２として３２００ビットが与えられ、最大ビットレートが２４Ｍｂｐｓと与えられるとする。この場合、第２Ｄｅｌａｙ値算出部３０４は次式よりＤｅｌａｙ値を０．１３３ｍｓと算出する。
【００９０】
第２Ｄｅｌａｙ値算出部３０４は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【００９１】
特定Ｄｅｌａｙ値決定部３０５は、第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を決定（算出）する。例えば、第１Ｄｅｌａｙ値算出部３０２が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０４が求めたＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値に決定して出力する。なお、特定Ｄｅｌａｙ値決定部３０５は、求めたＤｅｌａｙ値より小さい値を算出して出力するようにしてもよい。特定Ｄｅｌａｙ値決定部３０５は、決定（算出）したＤｅｌａｙ値を、ＣＰＢ値逆換算部３０６へ出力する。さらに、特定Ｄｅｌａｙ値決定部３０５は、決定（算出）した特定Ｄｅｌａｙ値を、多重化部１０８へ出力する。
【００９２】
ＣＰＢ値逆換算部３０６は、特定Ｄｅｌａｙ値決定部３０５から出力される特定Ｄｅｌａｙ値ならびに、３Ｄ符号化装置全体を制御する制御部４００から与えられる基本ストリームの最大ビットレートおよび３次元ストリームの最大ビットレートを基に、第１簡易ＣＰＢ３０１において適用するｃｐｂ値および第２Ｄｅｌａｙ値算出部３０４において適用するｃｐｂ値を算出する。ＣＰＢ値逆換算部３０６は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【００９３】
例えば、ＣＰＢ値逆換算部３０６は特定Ｄｅｌａｙ値決定部３０５から特定Ｄｅｌａｙ値として０．１２５ｍｓを取得するとする。また、基本ストリームの最大ビットレートを１２Ｍｂｐｓとし、３次元ストリームの最大ビットレートを２４Ｍｂｐｓとする。このとき、ＣＰＢ値逆換算部３０６は、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３において適用するｃｐｂ値を次式から算出する。
【００９４】
（数１２）  （ｃｐｂ値）＝（Ｄｅｌａｙ値）＊（最大ビットレート）
つまり、ＣＰＢ値逆換算部３０６は第１簡易ＣＰＢ３０１において適用するｃｐｂ値を、１５００ビットと算出する。さらに、ＣＰＢ値逆換算部３０６は第２簡易ＣＰＢ３０３において適用するｃｐｂ値を、３０００ビットと算出する。この場合、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値は第１Ｄｅｌａｙ値算出部３０２が算出したＤｅｌａｙ値であるため、ＣＰＢ値逆換算部３０６が第１簡易ＣＰＢ３０１に出力するｃｐｂ値は元々第１簡易ＣＰＢ３０１が出力したｃｐｂ値と変わりない。しかし、ＣＰＢ値逆換算部３０６が第２簡易ＣＰＢ３０３に出力するｃｐｂ値は第１Ｄｅｌａｙ値算出部３０２で算出したＤｅｌａｙ値を基に算出されることになる。
【００９５】
３．動作
３−１．第２簡易ＣＰＢ３０３の動作
まず、全体動作の説明の前に図面を参照しながら第２簡易ＣＰＢ３０３の動作について説明する。
【００９６】
図６は、第２簡易ＣＰＢ３０３の仮想バッファ制御の動作を説明するための図である。
【００９７】
図６に示すｃｐｂ６０１は、ＧＯＰ終端におけるｃｐｂ値を示す。第２簡易ＣＰＢ３０３はこのｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力する。第２簡易ＣＰＢ３０３は、このｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力すると、第２Ｄｅｌａｙ値算出部３０４、特定Ｄｅｌａｙ値決定部３０５およびＣＰＢ値逆換算部３０６を介して、補正後のｃｐｂ値が入力される。補正後のｃｐｂ値は、例えば図６に示すｃｐｂ６０２となる。第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値が決定されたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）における仮想バッファ制御においてｃｐｂ６０２を用いることになる。要するに、特定Ｄｅｌａｙ値決定部３０５におけるＤｅｌａｙ値の変更に伴って、第２簡易ＣＰＢ３０３のｃｐｂ値の補正を行う。
【００９８】
このようにすれば、容易に基本ストリームと３次元ストリームのＤｅｌａｙ値を同一に設定することができる。さらに、仮想バッファ制御から得られるＤｅｌａｙ値を変更しても、その後の仮想バッファ制御を破綻させることなく入力画像を符号化することができる。また、バッファアンダーフロー回避のために用いられるｃｐｂ値についても、ＢＤ規格上必要となるＤｅｌａｙ値変更の影響を反映することができる。これにより、バッファアンダーフローを抑制するとともに、ＢＤ規格を満たす符号化動作を実現することが出来る。
【００９９】
３−２．３Ｄ符号化装置の動作
次に、本実施形態２に係る３Ｄ動画像符号化方法の動作の一例を、図７に示すフローチャートを用いて説明する。
【０１００】
（ステップＳ７０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は、生成した基本ストリームの符号量および符号化パラメータを第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１０１】
（ステップＳ７０２）次に、第１簡易ＣＰＢ３０１は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、ｃｐｂ値による仮想バッファ制御を行う。
【０１０２】
（ステップＳ７０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２簡易ＣＰＢ３０３に出力する。
【０１０３】
（ステップＳ７０４）次に、第２簡易ＣＰＢ３０３は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基にｃｐｂ値による仮想バッファ制御を行う。
【０１０４】
（ステップＳ７０５）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ７０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、第１簡易ＣＰＢ３０１は、ＧＯＰの終端の時刻におけるｃｐｂ値を第１Ｄｅｌａｙ値算出部３０２に出力する。さらに、第２簡易ＣＰＢ３０３は、ＧＯＰの終端の時刻におけるｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力する。そして、Ｓ７０６に移行する。
【０１０５】
（ステップＳ７０６）次に、第１Ｄｅｌａｙ値算出部３０２は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ値を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３０５で算出される。第１Ｄｅｌａｙ値算出部３０２は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【０１０６】
（ステップＳ７０７）また、第２Ｄｅｌａｙ値算出部３０４は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ値を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３０５で算出される。第２Ｄｅｌａｙ値算出部３０４は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【０１０７】
（ステップＳ７０８）そして、特定Ｄｅｌａｙ値決定部３０５は、第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値のうち小さいほうのＤｅｌａｙ値を特定Ｄｅｌａｙ値とし、ＣＰＢ値逆換算部３０６に出力する。
【０１０８】
（ステップＳ７０９）そしてＣＰＢ値逆換算部３０６は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値を基に、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３で利用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３０６は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１０９】
（ステップＳ７１０）最後に、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、ＣＰＢ値逆換算部３０６から出力されるｃｐｂ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１１０】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ７０８において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１１１】
４．まとめ
上記のように、本実施形態における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１簡易ＣＰＢ３０１と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２簡易ＣＰＢ３０３と、第１簡易ＣＰＢ３０１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部３０２と、第２簡易ＣＰＢ３０３で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部３０４と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部３０５と、を備える。特定Ｄｅｌａｙ値決定部３０５は、特定Ｄｅｌａｙ値として、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、基本ストリームおよび３次元ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部３０５が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。ここで、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１１２】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と３次元ストリームに付加するＤｅｌａｙ値とを簡単な構成で同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１３】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１４】
また、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１１５】
このようにすれば、特定Ｄｅｌａｙ値を設定するのに伴い、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１６】
（第３実施形態）
１．概要
実施形態１においては、時間情報を基に算出される基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値が同一となるように、特定Ｄｅｌａｙ値を算出する構成について説明した。
【０１１７】
実施形態３では、時間情報を基に算出される基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値と、が同一となるように、特定Ｄｅｌａｙ値を算出する。
【０１１８】
２．構成
以下、実施形態３の３Ｄ符号化装置の構成について図面を参照しながら説明する。
【０１１９】
図８は、実施形態３における３Ｄ符号化装置の構成を示す図である。なお、本実施形態１と同様のものについては同じ番号を付し、その詳細な説明を省略する。
【０１２０】
第１Ｄｅｌａｙ値算出部１０９は、実施形態１の第１Ｄｅｌａｙ値算出部１０３と基本的に同様の動作を行う。ただし、第１Ｄｅｌａｙ値算出部１０９は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する点で第１Ｄｅｌａｙ値算出部１０３と異なる。
【０１２１】
第２Ｄｅｌａｙ値算出部１１０は、実施形態１の第２Ｄｅｌａｙ値算出部１０６と基本的に同様の動作を行う。ただし、第２Ｄｅｌａｙ値算出部１１０は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する点で第２Ｄｅｌａｙ値算出部１０６と異なる。
【０１２２】
第３ＣＰＢ１１１は、第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。第３ＣＰＢ１１１は、数式１から数式６に基づき、拡張ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。なお、上記時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）、および数式１から数式６は、実施形態１で説明した通り、Ｈ．２６４／ＡＶＣ規格で規定されている。なお、第３ＣＰＢ１１１は数式１から数式６に対して、第２符号化部１０４から出力される拡張ストリームに関する符号化パラメータを代入する。なお、ｂ（ｎ）は、拡張ストリームの第ｎ番目における入力画像の発生符号量である。
【０１２３】
さらに、第３ＣＰＢ１１１は、特定Ｄｅｌａｙ値決定部１１３から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。第３ＣＰＢ１１１は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１１３から受け取った特定Ｄｅｌａｙ値を代入する。そして、第３ＣＰＢ１１１は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以降の仮想バッファ制御を行う。
【０１２４】
第３Ｄｅｌａｙ値算出部１１２は、第３ＣＰＢ１１１が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を（数式７）で算出する。第３Ｄｅｌａｙ値算出部１１２は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１２５】
特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を算出する。例えば、第１Ｄｅｌａｙ値算出部１０９が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部１１０が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部１１２が求めたＤｅｌａｙ値のうち小さい方のＤｅｌａｙ値を特定Ｄｅｌａｙ値として出力する。なお、特定Ｄｅｌａｙ値決定部１１３は、求めたＤｅｌａｙ値より小さい値を出力するようにしてもよい。特定Ｄｅｌａｙ値決定部１１３は、算出した特定Ｄｅｌａｙ値を、多重化部１１４へ出力する。さらに、特定Ｄｅｌａｙ値決定部１１３は、算出した特定Ｄｅｌａｙ値を、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１へ出力する。
【０１２６】
多重化部１１４は、実施形態１の多重化部１０８と基本的に同じ動作を行う。ただし、多重化部１１４は、拡張ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１１３が算出した特定Ｄｅｌａｙ値を書込む点で実施形態１の多重化部１０８と異なる。多重化部１１４は上記の動作をすることにより、基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる。なお、Ｈ．２６４／ＡＶＣ規格において、拡張ストリームのＤｅｌａｙ値は、「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」等、Ｈ．２６４／ＡＶＣに規定されるシンタックスのうち適当な場所に書き込まれる。つまり、再生側において拡張ストリームのＤｅｌａｙ値を読み取れる格納場所であれば、どのような場所でも構わない。
【０１２７】
３．動作
次に、本実施形態３に係る３Ｄ符号化装置の動作の一例を、図９に示すフローチャートを用いて説明する。
【０１２８】
（ステップＳ９０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１１４に出力する。さらに、第１符号化部１０１は生成した基本ストリームの符号量および符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【０１２９】
（ステップＳ９０２）次に、第１ＣＰＢ１０２は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、仮想バッファ制御を行う。第１ＣＰＢ１０２は、仮想バッファ制御の過程で生成される時間情報を第１Ｄｅｌａｙ値算出部１０９に出力する。
【０１３０】
（ステップＳ９０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１１４に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２ＣＰＢ１０５および第３ＣＰＢ１１１に出力する。
【０１３１】
（ステップＳ９０４）次に、第２ＣＰＢ１０５は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基に仮想バッファ制御を行う。第２ＣＰＢ１０５は、仮想バッファ制御の過程で生成される時間情報を第２Ｄｅｌａｙ値算出部１１０に出力する。
【０１３２】
（ステップＳ９０５）次に、第３ＣＰＢ１１１は、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータを基に仮想バッファ制御を行う。第３ＣＰＢ１１１は、仮想バッファ制御の過程で生成される時間情報を第３Ｄｅｌａｙ値算出部１１２に出力する。
【０１３３】
（ステップＳ９０６）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ９０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、Ｓ９０７に移行する。
【０１３４】
（ステップＳ９０７）次に、第１Ｄｅｌａｙ値算出部１０９は、第１ＣＰＢ１０２から出力される時間情報を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第１Ｄｅｌａｙ値算出部１０９は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３５】
（ステップＳ９０８）また、第２Ｄｅｌａｙ値算出部１１０は、第２ＣＰＢ１０５から出力される時間情報を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第２Ｄｅｌａｙ値算出部１１０は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３６】
（ステップＳ９０９）また、第３Ｄｅｌａｙ値算出部１１２は、第３ＣＰＢ１１１から出力される時間情報を基に、拡張ストリームに適用するＤｅｌａｙ値（以下、「第３Ｄｅｌａｙ値」と称す）を算出する。この第３Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第３Ｄｅｌａｙ値算出部１１２は、算出した第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３７】
（ステップＳ９１０）そして、特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち、最も小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定し第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１に出力する。
【０１３８】
（ステップＳ９１１）最後に、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、特定Ｄｅｌａｙ値決定部１１３から出力される特定Ｄｅｌａｙ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１３９】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、特定Ｄｅｌａｙ値決定部１１３が生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２から出力されるＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１４０】
４．まとめ
上記のように、本実施形態３における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１ＣＰＢ１０２と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２ＣＰＢ１０５と、拡張ストリームを復号化する際のバッファシミュレーションを行う第３ＣＰＢ１１１と、第１ＣＰＢ１０２で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部１０９と、第２ＣＰＢ１０５で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部１１０と、第３ＣＰＢ１１１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３Ｄｅｌａｙ値算出部１１２と、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部１１３と、を備える。特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を決定する。第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部１１３が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。
【０１４１】
このような実施形態３における３Ｄ符号化装置によれば、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値から特定Ｄｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定Ｄｅｌａｙ値を、第１ＢＳと、第２ＢＳと、拡張ストリームを生成する際のバッファシミュレーション（以下、第３ＢＳと称す）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、次のＧＯＰについての第１ＢＳと、第２ＢＳと、第３ＢＳとを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値と、第３のＤｅｌａｙ値とを同一の値に設定することが出来る。
【０１４２】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１４３】
また好ましくは、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２にそれぞれ出力する。
【０１４４】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１４５】
（第４実施形態）
１．概要
実施形態２においては、ｃｐｂ値を基に算出される基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値が同一となるように、特定Ｄｅｌａｙ値を算出する構成について説明した。
【０１４６】
実施形態４では、ｃｐｂ値を基に算出される基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値と、が同一となるように、特定Ｄｅｌａｙ値を算出する。
【０１４７】
２．構成
以下、実施形態４における３Ｄ符号化装置について図面を参照しながら説明する。
【０１４８】
図１０は、実施形態４における３Ｄ符号化装置の構成を示す図である。なお、実施形態２と同様の構成については同じ番号を付し、その詳細な説明を省略する。
【０１４９】
第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、ＣＰＢ値逆換算部３０６が出力するｃｐｂ値の代わりに、ＣＰＢ値逆換算部３１２が出力する特定のｃｐｂ値を用いて仮想バッファ制御を行う。
【０１５０】
第１Ｄｅｌａｙ値算出部３０７は、実施形態２の第１Ｄｅｌａｙ値算出部３０２と基本的に同様の動作を行う。ただし、第１Ｄｅｌａｙ値算出部３０７は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する点で実施形態２の第１Ｄｅｌａｙ値算出部３０２と異なる。
【０１５１】
第２Ｄｅｌａｙ値算出部３０８は、実施形態２の第２Ｄｅｌａｙ値算出部３０４と基本的に同様の動作を行う。ただし、第２Ｄｅｌａｙ値算出部３０８は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する点で実施形態２の第２Ｄｅｌａｙ値算出部３０４と異なる。
【０１５２】
第３簡易ＣＰＢ３０９は、第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第２符号化部１０４が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第３簡易ＣＰＢ３０９は拡張ストリームにおけるｃｐｂ値（以下、「ｃｐｂ３」と称す）を算出する。第３簡易ＣＰＢ３０９は第ｎ番目における入力画像のｃｐｂ３（ｎ）を次式より算出する。
【０１５３】
（数１２）ｃｐｂ３（ｎ）＝ｃｐｂ３（ｎ−１）＋（ＢＲ３＊Ｔ）−ｂ３（ｎ）
ここで、ＢＲ３は拡張ストリームの最大ビットレートを示し、例えば１２Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、拡張ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ３（ｎ）は拡張ストリームにおける第ｎ番目の入力画像の符号量である。つまり、ｂ３（ｎ）は、第２符号化部１０４から出力される拡張ストリームにおける第ｎ番目における入力画像の符号量となる。なお、拡張ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部（図示せず）から与えられる。なお、拡張ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【０１５４】
また、第３簡易ＣＰＢ３０９はｃｐｂ３（ｎ）を第３Ｄｅｌａｙ値算出部３１０に出力する。なお、第３簡易ＣＰＢ３０９は例えばＧＯＰ終端においてｃｐｂ３（ｎ）を第３Ｄｅｌａｙ値算出部３１０に出力する。
【０１５５】
さらに、第３簡易ＣＰＢ３０９はＣＰＢ値逆換算部３１２が出力するｃｐｂ値を次のＧＯＰについての仮想バッファ制御に使用する。つまり、次のＧＯＰについての仮想バッファ制御においては、現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第３簡易ＣＰＢ３０９が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値と拡張ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【０１５６】
第３Ｄｅｌａｙ値算出部３１０は、第３簡易ＣＰＢ３０９から出力されるｃｐｂ３および３Ｄ符号化装置全体を制御する制御部４００から与えられる拡張ストリームの最大ビットレートを基に、拡張ストリームに対するＤｅｌａｙ値を算出する。
【０１５７】
第３Ｄｅｌａｙ値算出部３１０は、（数式１０）の関係を基に、拡張ストリームのＤｅｌａｙ値を算出する。例えば、ｃｐｂ３として３２００ビットが与えられ、最大ビットレートが１２Ｍｂｐｓと与えられるとする。この場合、第３Ｄｅｌａｙ値算出部３１０は（数式１０）よりＤｅｌａｙ値を０．２６６ｍｓと算出する。
【０１５８】
第３Ｄｅｌａｙ値算出部３１０は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１５９】
特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を算出する。例えば、第１Ｄｅｌａｙ値算出部３０７が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０８が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部３１０が求めたＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値をＣＰＢ値逆換算部３１２に出力する。なお、特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０８が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部３１０が求めたＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値より小さい値を出力するようにしてもよい。特定Ｄｅｌａｙ値決定部３１１は、算出したＤｅｌａｙ値を、ＣＰＢ値逆換算部３１２へ出力する。さらに、特定Ｄｅｌａｙ値決定部３１１は、算出した特定Ｄｅｌａｙ値を、多重化部１１４へ出力する。
【０１６０】
ＣＰＢ値逆換算部３１２は、特定Ｄｅｌａｙ値決定部３１１から出力される特定Ｄｅｌａｙ値ならびに、３Ｄ符号化装置全体を制御する制御部から与えられる基本ストリームの最大ビットレート、３次元ストリームの最大ビットレートおよび拡張ストリームの最大ビットレートを基に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９において適用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３１２は、算出したｃｐｂ値を第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９にそれぞれ出力する。
【０１６１】
例えば、ＣＰＢ値逆換算部３１２は特定Ｄｅｌａｙ値決定部３１１から特定Ｄｅｌａｙ値として０．１２５ｍｓを取得するとする。また、基本ストリームの最大ビットレートを１２Ｍｂｐｓとし、３次元ストリームの最大ビットレートを２４Ｍｂｐｓとし、拡張ストリームの最大ビットレートを１２Ｍｂｐｓとする。このとき、ＣＰＢ値逆換算部３１２は第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９において適用するｃｐｂ値を（数式１２）から算出する。
【０１６２】
つまり、ＣＰＢ値逆換算部３１２は第１簡易ＣＰＢ３０１において適用するｃｐｂ値を、１５００ビットと算出する。さらに、ＣＰＢ値逆換算部３１２は第２簡易ＣＰＢ３０３において適用するｃｐｂ値を、３０００ビットと算出する。また、ＣＰＢ値逆換算部３１２は第３簡易ＣＰＢ３０９において適用するｃｐｂ値を、１５００ビットと算出する。
【０１６３】
３．動作
次に、本実施形態４に係る３Ｄ符号化装置の動作の一例を、図１１に示すフローチャートを用いて説明する。
【０１６４】
（ステップＳ１１０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は生成した基本ストリームを多重化部１１４に出力する。さらに、第１符号化部１０１は、生成した基本ストリームの符号量および符号化パラメータを第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１６５】
（ステップＳ１１０２）次に、第１簡易ＣＰＢ３０１は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、ｃｐｂ値による仮想バッファ制御を行う。
【０１６６】
（ステップＳ１１０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１１４に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９に出力する。
【０１６７】
（ステップＳ１１０４）次に、第２簡易ＣＰＢ３０３は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基にｃｐｂ値による仮想バッファ制御を行う。
【０１６８】
（ステップＳ１１０５）さらに、第３簡易ＣＰＢ３０９は、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータを基にｃｐｂ値による仮想バッファ制御を行う。
【０１６９】
（ステップＳ１１０６）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ１１０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、第１簡易ＣＰＢ３０１はＧＯＰの終端の時刻におけるｃｐｂ値を第１Ｄｅｌａｙ値算出部３０７に出力する。さらに、第２簡易ＣＰＢ３０３はＧＯＰの終端の時刻におけるｃｐｂ値を第２Ｄｅｌａｙ値算出部３０８に出力する。さらに、第３簡易ＣＰＢ３０９はＧＯＰの終端の時刻におけるｃｐｂ値を第３Ｄｅｌａｙ値算出部３１０に出力する。そして、第２Ｄｅｌａｙ値算出部１１０７に移行する。
【０１７０】
（ステップＳ１１０７）次に、第１Ｄｅｌａｙ値算出部３０７は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ値を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第１Ｄｅｌａｙ値算出部３０７は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７１】
（ステップＳ１１０８）また、第２Ｄｅｌａｙ値算出部３０８は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ値を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第２Ｄｅｌａｙ値算出部３０８は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７２】
（ステップＳ１１０９）さらに、第３Ｄｅｌａｙ値算出部３１０は、第３簡易ＣＰＢ３０９から出力されるｃｐｂ値を基に、拡張ストリームに適用するＤｅｌａｙ値（以下、「第３Ｄｅｌａｙ値」と称す）を算出する。この第３Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第３Ｄｅｌａｙ値算出部３１０は、算出した第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７３】
（ステップＳ１１１０）そして、特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値と決定し、ＣＰＢ値逆換算部３１２に出力する。
【０１７４】
（ステップＳ１１１１）そしてＣＰＢ値逆換算部３１２は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値を基に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９で利用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３１２は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９に出力する。
【０１７５】
（ステップＳ１１１２）最後に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９は、ＣＰＢ値逆換算部３１２から出力されるｃｐｂ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１７６】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ１１１０において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１７７】
４．まとめ
上記のように、本実施形態における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、基本ストリームを復号化する際のバッファシミュレーションを行う第１簡易ＣＰＢ３０１と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化処理する際のバッファシミュレーションを行う第２簡易ＣＰＢ３０３と、拡張ストリームを復号化する際のバッファシミュレーションを行う第３簡易ＣＰＢ３０９と、第１簡易ＣＰＢ３０１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部３０７と、第２簡易ＣＰＢ３０３で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部３０８と、第３簡易ＣＰＢ３０９で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に、拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３Ｄｅｌａｙ値算出部３１０と、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部３１１と、を備える。特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を決定する。第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部３１１が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。ここで、第１簡易ＣＰＢ３０１は、当該第１簡易ＣＰＢ３０１におけるバッファ滞留量をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部３０７に出力し、第２簡易ＣＰＢ３０３は、当該第２簡易ＣＰＢ３０３におけるバッファ滞留量をバッファシミュレーションの結果として第２Ｄｅｌａｙ値算出部３０８に出力し、第３簡易ＣＰＢ３０９は、当該第３簡易ＣＰＢ３０９におけるバッファ滞留量をバッファシミュレーションの結果として第３Ｄｅｌａｙ値算出部３１０に出力する。
【０１７８】
このようにすれば、本実施形態４における３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と、３次元ストリームに付加するＤｅｌａｙ値と拡張ストリームに付加するＤｅｌａｙ値を簡単な構成で同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１７９】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１８０】
また好ましくは、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第３簡易ＣＰＢ３０９は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第３簡易ＣＰＢ３０９のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１８１】
このようにすれば、３Ｄ符号化装置において特定Ｄｅｌａｙ値を設定するのに伴い、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【産業上の利用可能性】
【０１８２】
本発明に係る３Ｄ符号化装置は、映像信号を符号化するデジタルテレビ、ビデオプレイヤー、パーソナルコンピュータ、携帯電話機等に適用できる。
【符号の説明】
【０１８３】
１０１  第１符号化部
１０２  第１ＣＰＢ
１０３、１０９、３０２、３０７  第１Ｄｅｌａｙ値算出部
１０４  第２符号化部
１０５  第２ＣＰＢ
１０６、１１０、３０４、３０８  第２Ｄｅｌａｙ値算出部
１０７、３０５、３１１  特定Ｄｅｌａｙ値決定部
１０８、１１４  多重化部
１１１  第３ＣＰＢ
１１２  第３Ｄｅｌａｙ値算出部
３０１  第１簡易ＣＰＢ
３０３  第２簡易ＣＰＢ
３０６、３１２  ＣＰＢ値逆変換部
３０９  第３簡易ＣＰＢ
３１０  第３Ｄｅｌａｙ値算出部
４００  制御部
６０１、６０２  ｃｐｂ
【図１】
2012023248.tif 000003
【図２】
2012023248.tif 000004
【図３】
2012023248.tif 000005
【図４】
2012023248.tif 000006
【図５】
2012023248.tif 000007
【図６】
2012023248.tif 000008
【図７】
2012023248.tif 000009
【図８】
2012023248.tif 000010
【図９】
2012023248.tif 000011
【図１０】
2012023248.tif 000012
【図１１】
2012023248.tif 000013
【手続補正書】
【提出日】平成23年10月11日(2011.10.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄ映像信号を符号化する３Ｄ符号化装置に関する。
【背景技術】
【０００２】
特許文献１には、符号化された複数のピクチャをランダムアクセス可能なアクセス単位ごとに含んで構成される１つ又は複数の符号化ストリームを生成する生成装置が記載されている。具体的には、その生成装置は、連続的に復号を行う何れか２つのアクセス単位において、復号順で先頭のピクチャが復号されてから表示順で先頭のピクチャが表示されるまでの遅延量が同一となるように、その遅延量を決定する第１の決定手段と、第１の決定手段において決定された遅延量となるように、前記２つのアクセス単位に含まれる複数のピクチャを符号化し、符号化ストリームを生成する生成手段と、を備える。この生成装置は、遅延量を予め定めた値以下に制限する。
【０００３】
この構成によれば、特殊再生の対象となる２つのアクセス単位（例えば、クリップ）の遅延量（フレーム遅延）が等しくなるように符号化ストリームが生成される。そのため、これらのアクセス単位が連続的に復号される際には、それらのアクセス単位の接続点でピクチャ間にギャップが生ずることなく、フレームレートが一定になる。つまり、特殊再生時においてこれらのアクセス単位がシームレス接続される。その結果、それらのアクセス単位に基づく動画像を見るユーザに対してギャップ等により生じる不快感をなくすことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０１５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、入力画像を基本ストリームおよび拡張ストリームを含む３次元ストリームに符号化する規格として、Ｈ．２６４／ＭＶＣ符号化規格がある。例えば、基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、拡張ストリームは、３Ｄ映像における他方の画像について前記一方の画像との差分を考慮して符号化したストリームである。入力される入力画像を、基本ストリームおよび拡張ストリームを含む３次元ストリームに符号化する際、ＢＤ規格（System Description Blu-ray Disc Read-Only Format part 3 Audio Visual Basic Specifications）に記載される内容を満たす必要がある。具体的には、所定のＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  ｐｉｃｔｕｒｅｓ）に付加される基本ストリームのＤｅｌａｙ値と、このＧＯＰに付加される３次元ストリームのＤｅｌａｙ値は同一としなければならない。また、所定のＧＯＰに付加される基本ストリームのＤｅｌａｙ値と、このＧＯＰに付加される３次元ストリームのＤｅｌａｙ値と、このＧＯＰに付加される拡張ストリームのＤｅｌａｙ値は同一でなければならない。
【０００６】
ここで、Ｄｅｌａｙ値とは、デコーダのバッファに最初のデータが到着してから、デコーダでの復号処理のため先頭ピクチャの符号をバッファから引き抜くまでの時間である。Ｄｅｌａｙ値は、基本ストリームおよび拡張ストリームの符号量に依存する。そこで、基本ストリームおよび拡張ストリームのＤｅｌａｙ値を同一とするために、入力画像の符号化時における量子化値を制御することが考えられる。
【０００７】
しかし、量子化値を制御する方法では、適切な画質を得ることが困難となる。また、基本ストリームと拡張ストリームの符号量を完全に同一にするよう量子化値を制御するためには、３Ｄ符号化装置の構成が複雑となる。
【０００８】
本発明は、上記の課題を考慮してなされたものであり、簡易な構成で、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することを目的とする。また、簡易な構成で、基本ストリームと、３次元ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の３Ｄ符号化装置は、入力画像を符号化し、複数の画像群を含む基本ストリームおよび拡張ストリームを含む３次元ストリームを生成して出力する符号化部と、符号化部から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１仮想バッファ部と、符号化部から出力される３次元ストリームを復号化する際のバッファシミュレーションを行う第２仮想バッファ部と、第１仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１算出部と、第２仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２算出部と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定する設定部と、を備える。設定部は、特定のＤｅｌａｙ値として、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１仮想バッファ部および第２仮想バッファ部は、基本ストリームおよび３次元ストリームにおけるｎ番目の画像群について設定部が設定した特定のＤｅｌａｙ値に基づく情報を基に、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。
【００１０】
上記構成の３Ｄ符号化装置によれば、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値と、から特定のＤｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定のＤｅｌａｙ値を、基本ストリームを生成する際のバッファシミュレーション（以下、「第１ＢＳ」と称す。）と、３次元ストリームを生成する際のバッファシミュレーション（以下、「第２ＢＳ」と称す。）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値に基づく情報を基に、次の画像群についての第１ＢＳおよび第２ＢＳを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値とを同一とすることができる。
【００１１】
また、特定のＤｅｌａｙ値は、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションを行う場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００１２】
また好ましくは、第１仮想バッファ部および第２仮想バッファ部は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１算出部および第２算出部にそれぞれ出力する。
【００１３】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００１４】
また好ましくは、第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第１算出部に出力し、第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第２算出部に出力する。
【００１５】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と３次元ストリームに付加するＤｅｌａｙ値とを同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションをした場合であっても、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００１６】
また好ましくは、第１仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第２仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。
【００１７】
このようにすれば、特定のＤｅｌａｙ値を設定するのに伴い、第１仮想バッファ部および第２仮想バッファ部におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を特定のＤｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００１８】
また好ましくは、３Ｄ符号化装置は、符号化部から出力される拡張ストリームを復号化処理する際のバッファシミュレーションを行う第３仮想バッファ部と、第３仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３算出部と、をさらに備える。設定部は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定し、設定部は、特定のＤｅｌａｙ値として、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を設定する。第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ＋１番目の画像群について、設定部が設定した特定のＤｅｌａｙ値に基づく情報を基にバッファシミュレーションを行う。
【００１９】
このようにすれば、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値から特定のＤｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定のＤｅｌａｙ値を、第１ＢＳと、第２ＢＳと、拡張ストリームを生成する際のバッファシミュレーション（以下、「第３ＢＳ」と称す）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、ｎ＋１番目の画像群についての第１ＢＳ、第２ＢＳおよび第３ＢＳを行うことが出来る。また、簡単な構成で、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値、および第３Ｄｅｌａｙ値とを同一とすることができる。
【００２０】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【００２１】
また好ましくは、第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１算出部、第２算出部および第３算出部にそれぞれ出力する。
【００２２】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【００２３】
また好ましくは、第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第１算出部に出力し、第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第２算出部に出力し、第３仮想バッファ部は、当該第３仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として第３算出部に出力する。
【００２４】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と、３次元ストリームに付加するＤｅｌａｙ値と、拡張ストリームに付加するＤｅｌａｙ値を同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【００２５】
また好ましくは、第１仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第２仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行い、第３仮想バッファ部は、設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第３仮想バッファ部のバッファ滞留量を補正し、ｎ＋１番目の画像群についてのバッファシミュレーションを行う。
【００２６】
このようにすれば、３Ｄ符号化装置において特定のＤｅｌａｙ値を設定するのに伴い、第１仮想バッファ部、第２仮想バッファ部および第３仮想バッファ部におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値を特定のＤｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００２７】
また好ましくは、基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、拡張ストリームは、３Ｄ映像における他方の画像について一方の画像との差分を考慮して符号化したストリームである。
【発明の効果】
【００２８】
本発明の３Ｄ符号化装置によれば、簡易な構成で、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することができる。また、簡易な構成で、基本ストリームと、３次元ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値を同一とすることができる３次元符号化装置を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】実施形態１に係る３Ｄ符号化装置の構成を示す図
【図２】実施形態１に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【図３】バッファアンダーフローの状況を説明する図
【図４】実施形態２における３Ｄ符号化装置の構成を示す図
【図５】実施形態２における第１簡易ＣＰＢ３０１における仮想バッファ制御を示す図
【図６】実施形態２における第２簡易ＣＰＢ３０３の仮想バッファ制御の動作を説明するための図
【図７】実施形態２に係る３Ｄ動画像符号化方法の動作の一例を示すフローチャート
【図８】実施形態３における３Ｄ符号化装置の構成を示す図
【図９】実施形態３に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【図１０】実施形態４における３Ｄ符号化装置の構成を示す図
【図１１】実施形態４に係る３Ｄ符号化装置の動作の一例を示すフローチャート
【発明を実施するための形態】
【００３０】
以下、本発明に係る３Ｄ符号化装置および３Ｄ符号化方法の実施の形態に関して、図面を用いて詳細に説明する。
【００３１】
（実施形態１）
１．概要
実施形態１に係る３Ｄ符号化装置は、３Ｄ映像信号を符号化する装置である。実施形態１に係る３Ｄ符号化装置は、入力画像を符号化し、立体視する際に用いる基本ストリームと、基本映像とは異なる拡張ストリームを生成する符号化装置である。さらに、基本ストリームのみを用いた仮想バッファ制御と、基本ストリームと拡張ストリームを合わせた３次元ストリームを用いた仮想バッファ制御とを行う。
【００３２】
この３Ｄ符号化装置の特徴は、これら２つの仮想バッファ制御にて求まる２つのＤｅｌａｙ値を基に、特定のＤｅｌａｙ値（以下、「特定Ｄｅｌａｙ値」という）を求めることにある。そして、求めた特定Ｄｅｌａｙ値を、このＤｅｌａｙ値を求めた後に入力される入力画像を符号化し基本ストリームおよび拡張ストリームを生成する際の仮想バッファ制御に用いることにある。
【００３３】
以下では、特定Ｄｅｌａｙ値は、一例として２つの仮想バッファ制御で求めたＤｅｌａｙ値のうち、小さいほうのＤｅｌａｙ値とする。なお、特定Ｄｅｌａｙ値は、この値に限定されるものではなく、２つのＤｅｌａｙ値よりも小さい値を用いることも出来る。
【００３４】
また、符号化方式としては、Ｈ．２６４／ＡＶＣを用いる構成を説明する。なお、用いる符号化方式は、Ｈ．２６４／ＡＶＣに限定されるものではなく、他の動画像符号化方式でもよい。つまり、入力画像から基本ストリームと３次元ストリームを符号化する符号化形式であればどのようなものでも構わない。
【００３５】
２．構成
以下、本実施形態１における３Ｄ符号化装置に関して、図面を参照しながら説明する。
【００３６】
図１は、本実施形態１に係る３Ｄ符号化装置の構成を示す図である。
【００３７】
図１に示すように、３Ｄ符号化装置は、第１符号化部１０１、第１ＣＰＢ１０２、第１Ｄｅｌａｙ値算出部１０３、第２符号化部１０４、第２ＣＰＢ１０５、第２Ｄｅｌａｙ値算出部１０６、特定Ｄｅｌａｙ値決定部１０７および多重化部１０８を備える。ここで、ＣＰＢとは、Ｃｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒの略称である。
【００３８】
第１符号化部１０１は、入力される入力画像を、Ｈ．２６４／ＡＶＣを用いて符号化して、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は、入力画像を符号化した際に生成される符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。また、第１符号化部１０１は入力画像を基本ストリームに符号化した際の符号量を第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。なお、入力画像を基本ストリームに符号化する際、ＭＶＣ（ｍｕｌｔｉ  ｖｉｅｗ  ｃｏｄｉｎｇ）を適用するのが好ましい。
【００３９】
第１ＣＰＢ１０２は、第１符号化部１０１から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。第１ＣＰＢ１０２は、次の６つの数式に基づき、基本ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。第１ＣＰＢ１０２は、算出した時間情報を第１Ｄｅｌａｙ値算出部１０３に出力する。なお、上記時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）、および下記６つの数式は、Ｈ．２６４／ＡＶＣ符号化規格で規定されている。ｔａｉ（ｎ）は、initial arrival time、つまり、復号器に１ピクチャを構成する最初のデータが到着した時間に関する情報である。ｔａｆ（ｎ）は、final arrival time、つまり復号器に１ピクチャを構成する最後のデータが到着した時間に関する情報である。ｔｒ，ｎ（ｎ）とは、nominal removal time、つまり復号器のバッファから１ピクチャを構成するデータを引き抜く時間に関する情報である。
【００４０】
（数１）  ｔａｆ（ｎ）＝ｔａｉ（ｎ）＋ｂ（ｎ）÷ＢｉｔＲａｔｅ［ＳｃｈｅｄＳｅｌＩｄｘ］
（数２）  ｔａｉ（ｎ）＝Ｍａｘ（ｔａｆ（ｎ−１）、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ））
（数３）  ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）＝ｔｒ，ｎ（ｎ）−（ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］＋ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ＿ｏｆｆｓｅｔ［ＳｃｈｅｄＳｅｌＩｄｘ］）÷９００００
（数４）  ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）＝ｔｒ，ｎ（ｎ）−（ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］÷９００００）
（数５）  ｔｒ，ｎ（０）＝ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ［ＳｃｈｅｄＳｅｌＩｄｘ］÷９００００
（数６）  ｔｒ，ｎ（ｎ）＝ｔｒ，ｎ（ｎｂ）＋ｔｃ＊ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ（ｎ）
【００４１】
ここで、ｂ（ｎ）は、基本ストリームの、第ｎ番目における入力画像の発生符号量である。上記６つの数式における各符号化パラメータは、第１符号化部１０１の符号化過程において取得できる。
【００４２】
さらに、第１ＣＰＢ１０２は、特定Ｄｅｌａｙ値決定部１０７から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。具体的には、第１ＣＰＢ１０２は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１０７から受け取った特定Ｄｅｌａｙ値を代入する。そして、第１ＣＰＢ１０２は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以後の仮想バッファ制御を行う。
【００４３】
第１Ｄｅｌａｙ値算出部１０３は、第１ＣＰＢ１０２が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を以下の式で算出する。
（数７）  Δｔｇ、９０（ｎ）＝９００００＊（ｔｒ，ｎ（ｎ）−ｔａｆ（ｎ−１））
なお、上記の数式は、Ｈ．２６４／ＡＶＣ符号化規格で規定される数式である。
【００４４】
第１Ｄｅｌａｙ値算出部１０３は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００４５】
第２符号化部１０４は、入力される入力画像を、Ｈ．２６４／ＡＶＣ規格に基づいて符号化し、拡張ストリームを生成し、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は、入力画像を符号化した際に生成される符号化パラメータを第２ＣＰＢ１０５に出力する。また、第２符号化部１０４は入力画像を拡張ストリームに符号化した際の符号量を第２ＣＰＢ１０５に出力する。なお、入力画像を拡張ストリームに符号化する際、ＭＶＣ（ｍｕｌｔｉ  ｖｉｅｗ  ｃｏｄｉｎｇ）を適用するのが好ましい。
【００４６】
第２ＣＰＢ１０５は、第１符号化部１０１および第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。第２ＣＰＢ１０５は、上記数式１から数式６に基づき、３次元ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。第２ＣＰＢ１０５は、数式１から数式６に対して、３次元ストリームに関する符号化パラメータを代入する。ｂ（ｎ）は、拡張ストリームの第ｎ番目における入力画像の発生符号量と、基本ストリームの第ｎ番目における入力画像の発生符号量との和である。
【００４７】
さらに、第２ＣＰＢ１０５は、特定Ｄｅｌａｙ値決定部１０７から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。第２ＣＰＢ１０５は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１０７から受け取った特定Ｄｅｌａｙ値を代入する。そして、第２ＣＰＢ１０５は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以後の仮想バッファ制御を行う。
【００４８】
第２Ｄｅｌａｙ値算出部１０６は、第２ＣＰＢ１０５が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を（数式７）で算出する。第２Ｄｅｌａｙ値算出部１０６は、算出したＤｅｌａｙ値Δｔｇ、９０（ｎ）を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００４９】
特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６が出力する各Ｄｅｌａｙ値から、特定Ｄｅｌａｙ値を決定（算出）する。例えば、第１Ｄｅｌａｙ値算出部１０３が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部１０６が求めたＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定する。なお、特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３が出力する第１Ｄｅｌａｙ値、および第２Ｄｅｌａｙ値算出部１０６が出力する第２Ｄｅｌａｙ値より小さい値を算出して特定Ｄｅｌａｙ値として決定してもよい。特定Ｄｅｌａｙ値決定部１０７は、決定した特定Ｄｅｌａｙ値を、多重化部１０８へ出力する。さらに、特定Ｄｅｌａｙ値決定部１０７は、決定した特定Ｄｅｌａｙ値を、第１ＣＰＢ１０２および第２ＣＰＢ１０５へ出力する。
【００５０】
多重化部１０８は、基本ストリームと拡張ストリームを連結して、３次元ストリームを生成する。その際、多重化部１０８は、３次元ストリーム中に特定Ｄｅｌａｙ値決定部１０７が出力する特定Ｄｅｌａｙ値を書込む。つまり、多重化部１０８は基本ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１０７が決定した特定Ｄｅｌａｙ値を書込む。さらに、多重化部１０８は３次元ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１０７が決定した特定Ｄｅｌａｙ値を書込む。その結果、基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる。なお、Ｈ．２６４／ＡＶＣにおいて、基本ストリームのＤｅｌａｙ値は、「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」に書き込まれる。さらに、３次元ストリームのＤｅｌａｙ値は、「ｓｃａｌａｂｌｅ  ｎｅｓｔｉｎｇ  ＳＥＩ」中の「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」に書き込まれる。なお、上記の「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」、「ｓｃａｌａｂｌｅ  ｎｅｓｔｉｎｇ  ＳＥＩ」および「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」は、Ｈ．２６４／ＡＶＣ規格に規定されるシンタックス情報である。
【００５１】
３．動作
次に、本実施形態１に係る３Ｄ符号化装置の動作の一例を、図２に示すフローチャートを用いて説明する。
【００５２】
（ステップＳ２０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は生成した基本ストリームの符号量および符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【００５３】
（ステップＳ２０２）次に、第１ＣＰＢ１０２は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、仮想バッファ制御を行う。第１ＣＰＢ１０２は、仮想バッファ制御の過程で生成される時間情報を第１Ｄｅｌａｙ値算出部１０３に出力する。
【００５４】
（ステップＳ２０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２ＣＰＢ１０５に出力する。
【００５５】
（ステップＳ２０４）次に、第２ＣＰＢ１０５は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基に仮想バッファ制御を行う。第２ＣＰＢ１０５は、仮想バッファ制御の過程で生成される時間情報を第２Ｄｅｌａｙ値算出部１０６に出力する。
【００５６】
（ステップＳ２０５）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象の入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、ステップＳ２０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、ステップＳ２０６に移行する。
【００５７】
（ステップＳ２０６）第１Ｄｅｌａｙ値算出部１０３は、第１ＣＰＢ１０２から出力される時間情報を基に、基本ストリームのＤｅｌａｙ値Δｔｇ、９０（ｎ）（以下、適宜「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１０７で算出される。第１Ｄｅｌａｙ値算出部１０３は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００５８】
（ステップＳ２０７）また、第２Ｄｅｌａｙ値算出部１０６は、第２ＣＰＢ１０５から出力される時間情報を基に、３次元ストリームに適用するＤｅｌａｙ値Δｔｇ、９０（ｎ）（以下、適宜「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１０７で算出される。第２Ｄｅｌａｙ値算出部１０６は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１０７に出力する。
【００５９】
（ステップＳ２０８）そして、特定Ｄｅｌａｙ値決定部１０７は、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値のうち小さいほうのＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定し、第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【００６０】
（ステップＳ２０９）最後に、第１ＣＰＢ１０２および第２ＣＰＢ１０５は、特定Ｄｅｌａｙ値決定部１０７から出力される特定Ｄｅｌａｙ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰの次のＧＯＰについての仮想バッファ制御を行う。
【００６１】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ２０８において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力されるＤｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【００６２】
４．本発明と、本実施形態との対応
本実施形態における「仮想バッファ制御」は、本発明における「バッファシミュレーション」の一例である。本実施形態における「第１符号化部１０１」および「第２符号化部１０４」は、本発明における「符号化部」の一例である。本実施形態における「第１ＣＰＢ１０２」は、本発明における「第１仮想バッファ部」の一例である。本実施形態における「第２ＣＰＢ１０５」は、本発明における「第２仮想バッファ部」の一例である。本実施形態における「第１Ｄｅｌａｙ値算出部１０３」は、本発明における「第１算出部」の一例である。本実施形態における「第２Ｄｅｌａｙ値算出部１０６」は、本発明における「第２算出部」の一例である。本実施形態における「特定Ｄｅｌａｙ値決定部１０７」は、本発明における「設定部」の一例である。
【００６３】
５．まとめ
上記のように、本実施形態の３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１ＣＰＢ１０２と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２ＣＰＢ１０５と、第１ＣＰＢ１０２で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部１０３と、第２ＣＰＢ１０５で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部１０６と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定Ｄｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部１０７とを備える。特定Ｄｅｌａｙ値決定部１０７は、特定Ｄｅｌａｙ値として、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１ＣＰＢ１０２および第２ＣＰＢ１０５は、基本ストリームおよび３次元ストリームにおける、ｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部１０７が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。
【００６４】
このようにすれば、３Ｄ符号化装置は、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とから特定Ｄｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定Ｄｅｌａｙ値を、基本ストリームを生成する際のバッファシミュレーション（以下、第１ＢＳと称す。）と、３次元ストリームを生成する際のバッファシミュレーションにフィードバック（以下、第２ＢＳと称す。）することが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての第１ＢＳおよび第２ＢＳを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と第２のＤｅｌａｙ値とを同一の値に設定することが出来る。
【００６５】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００６６】
また、第１ＣＰＢ１０２および第２ＣＰＢ１０５は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６にそれぞれ出力する。
【００６７】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【００６８】
（実施形態２）
１．概要
実施形態１は、第１ＣＰＢ１０２および第２ＣＰＢ１０５から出力される時間情報を基に、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６においてＤｅｌａｙ値を算出した。さらに、第１Ｄｅｌａｙ値算出部１０３および第２Ｄｅｌａｙ値算出部１０６から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を同一の値に置き換えたとしても仮想バッファ制御を調整することにより、Ｈ．２６４／ＡＶＣ規格の制約を破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成する。このように実施形態１では、時間情報を用いて仮想バッファ制御を行っていた。
【００６９】
第１ＣＰＢ１０２および第２ＣＰＢ１０５が実行する仮想バッファ制御は、Ｈ．２６４／ＡＶＣ規格において規定されるバッファアンダーフローが生じないことを保証するためにも用いられる。
【００７０】
図３は、バッファアンダーフローの状況を説明する図である。バッファアンダーフローとは、仮想バッファ制御におけるバッファ滞留量(以下、「ｃｐｂ値」と称す)が負値となることを意味する。第１符号化部１０１および第２符号化部１０４において、入力画像の符号化開始時点でのｃｐｂ値を超える符号量が発生すると、換言すれば、復号器の入力バッファを模した仮想バッファにおいて、入力画像の符号化開始時点でのｃｐｂ値を超える引き抜き量が発生すると（入力画像の符号化開始時点での引き抜き可能量以上の符号量が発生すると）、バッファアンダーフローが発生する。そのため、第１符号化部１０１および第２符号化部１０４は、入力画像の符号化開始時点でのｃｐｂ値よりも小さい符号量を入力画像の最大符号量として設定する。そして、第１符号化部１０１および第２符号化部１０４は、実際の符号化時にこの最大符号量を超えることがないように、符号化パラメータを調整する。
【００７１】
上記の点を考慮すると、時間情報を用いた仮想バッファ制御ではなく、ｃｐｂ値を用いるほうが制御しやすい。また、Ｈ．２６４／ＡＶＣ規格でＣＡＢＡＣ（context adaptive binary arithmetic coding)処理を行う場合、入力画像毎の発生符号量の確定まで、遅延が生じる。そのため、適切なタイミングでｃｐｂ値を得ることができない。この理由でも、Ｄｅｌａｙ値による時間表現での仮想バッファ制御ではなく、ｃｐｂ値に基づく簡易な仮想バッファ制御が必要になる。以上の理由により、仮想バッファ制御として、ｃｐｂ値による仮想バッファ制御を用いる場合がある。この実装でのｃｐｂ値についても、ＢＤ規格制限を守るためｃｐｂ値を修正する必要が生じる。
【００７２】
実施形態２の目的は、仮想バッファ制御としてｃｐｂ値を用いた場合であっても、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることができる３Ｄ符号化装置を提供することを目的とする。
【００７３】
実施形態２では、基本ストリームおよび３次元ストリームの符号化レートおよびｃｐｂ値を基に、基本ストリームにおけるＤｅｌａｙ値および３次元ストリームにおけるＤｅｌａｙ値を算出する。そして、算出した２つのＤｅｌａｙ値から特定のＤｅｌａｙ値を設定する。
【００７４】
２．構成
以下、実施形態２における３Ｄ符号化装置の構成について図面を参照しながら説明する。
【００７５】
図４は、実施形態２における３Ｄ符号化装置の構成を示す図である。なお、実施形態１と同様の構成については、同じ番号を付し、その詳細な説明を省略する。
【００７６】
第１簡易ＣＰＢ３０１は、第１符号化部１０１から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第１符号化部１０１が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第１簡易ＣＰＢ３０１は基本ストリームにおけるｃｐｂ値（以下、「ｃｐｂ１」と称す）を算出する。第１簡易ＣＰＢ３０１は第ｎ番目の入力画像におけるｃｐｂ１（ｎ）を次式より算出する。
【００７７】
（数８）ｃｐｂ１（ｎ）＝ｃｐｂ１（ｎ−１）＋（ＢＲ１＊Ｔ）−ｂ１（ｎ）
ここで、ＢＲ１は基本ストリームの最大ビットレートを示し、例えば１２Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、基本ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ１（ｎ）は基本ストリームにおける第ｎ番目の入力画像の符号量である。なお、基本ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部４００から与えられる。なお、基本ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【００７８】
また、第１簡易ＣＰＢ３０１はｃｐｂ１（ｎ）を第１Ｄｅｌａｙ値算出部３０２に出力する。なお、第１簡易ＣＰＢ３０１は例えばＧＯＰ終端においてｃｐｂ１（ｎ）を第１Ｄｅｌａｙ値算出部３０２に出力する。
【００７９】
さらに、第１簡易ＣＰＢ３０１はＣＰＢ値逆換算部３０６が出力するｃｐｂ値を、特定Ｄｅｌａｙ値の算出に用いた第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御に使用する。つまり、現在処理中のＧＯＰの次のＧＯＰについての仮想バッファ制御においては現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第１簡易ＣＰＢ３０１が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【００８０】
第１Ｄｅｌａｙ値算出部３０２は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ１および３Ｄ符号化装置全体を制御する制御部４００から与えられる基本ストリームの最大ビットレートを基に、基本ストリームに対するＤｅｌａｙ値を算出する。
【００８１】
図５は、第１簡易ＣＰＢ３０１における仮想バッファ制御を示す図である。
【００８２】
図５に示すグラフにおいて、破線で示す傾きは最大ビットレートである。この場合、ｃｐｂ値とＤｅｌａｙ値との関係は図５に示すようになる。例えば、ｃｐｂ値として１５００ビットが与えられ、最大ビットレートが１２Ｍｂｐｓと与えられるとする。この場合、第１Ｄｅｌａｙ値算出部３０２は、次式よりＤｅｌａｙ値を０．１２５ｍｓと算出する。
【００８３】
（数１０）  （Ｄｅｌａｙ値）＝（ｃｐｂ値）／（最大ビットレート）
第１Ｄｅｌａｙ値算出部３０２は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【００８４】
第２簡易ＣＰＢ３０３は、第１符号化部１０１および第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第１符号化部１０１および第２符号化部１０４が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第２簡易ＣＰＢ３０３は３次元ストリームにおけるｃｐｂ値（以下、ｃｐｂ２と称す）を算出する。第２簡易ＣＰＢ３０３は第ｎ番目における入力画像のｃｐｂ２（ｎ）を次式より算出する。
【００８５】
（数１１）ｃｐｂ２（ｎ）＝ｃｐｂ２（ｎ−１）＋（ＢＲ２＊Ｔ）−ｂ２（ｎ）
ここで、ＢＲ２は３次元ストリームの最大ビットレートを示し、例えば２４Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、３次元ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ２（ｎ）は３次元ストリームの第ｎ番目における入力画像の符号量である。つまり、ｂ２（ｎ）は、第１符号化部１０１から出力される基本ストリームにおける第ｎ番目における入力画像の符号量と、第２符号化部１０４から出力される拡張ストリームにおける第ｎ番目の入力画像の符号量との和である。なお、３次元ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部４００から与えられる。なお、３次元ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【００８６】
また、第２簡易ＣＰＢ３０３はｃｐｂ２（ｎ）を第２Ｄｅｌａｙ値算出部３０４に出力する。なお第２簡易ＣＰＢ３０３は例えばＧＯＰ終端においてｃｐｂ２を第２Ｄｅｌａｙ値算出部３０４に出力する。
【００８７】
さらに、第２簡易ＣＰＢ３０３はＣＰＢ値逆換算部３０６が出力するｃｐｂ値を次のＧＯＰについての仮想バッファ制御に使用する。つまり、特定Ｄｅｌａｙ値の算出に用いた第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御においては、現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第２簡易ＣＰＢ３０３が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【００８８】
第２Ｄｅｌａｙ値算出部３０４は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ２および３Ｄ符号化装置全体を制御する制御部４００から与えられる３次元ストリームの最大ビットレートを基に、３次元ストリームに対するＤｅｌａｙ値を算出する。
【００８９】
第２Ｄｅｌａｙ値算出部３０４は、（数式１０）の関係を基に、３次元ストリームのＤｅｌａｙ値を算出する。例えば、ｃｐｂ２として３２００ビットが与えられ、最大ビットレートが２４Ｍｂｐｓと与えられるとする。この場合、第２Ｄｅｌａｙ値算出部３０４は次式よりＤｅｌａｙ値を０．１３３ｍｓと算出する。
【００９０】
第２Ｄｅｌａｙ値算出部３０４は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【００９１】
特定Ｄｅｌａｙ値決定部３０５は、第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を決定（算出）する。例えば、第１Ｄｅｌａｙ値算出部３０２が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０４が求めたＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値に決定して出力する。なお、特定Ｄｅｌａｙ値決定部３０５は、求めたＤｅｌａｙ値より小さい値を算出して出力するようにしてもよい。特定Ｄｅｌａｙ値決定部３０５は、決定（算出）したＤｅｌａｙ値を、ＣＰＢ値逆換算部３０６へ出力する。さらに、特定Ｄｅｌａｙ値決定部３０５は、決定（算出）した特定Ｄｅｌａｙ値を、多重化部１０８へ出力する。
【００９２】
ＣＰＢ値逆換算部３０６は、特定Ｄｅｌａｙ値決定部３０５から出力される特定Ｄｅｌａｙ値ならびに、３Ｄ符号化装置全体を制御する制御部４００から与えられる基本ストリームの最大ビットレートおよび３次元ストリームの最大ビットレートを基に、第１簡易ＣＰＢ３０１において適用するｃｐｂ値および第２Ｄｅｌａｙ値算出部３０４において適用するｃｐｂ値を算出する。ＣＰＢ値逆換算部３０６は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【００９３】
例えば、ＣＰＢ値逆換算部３０６は特定Ｄｅｌａｙ値決定部３０５から特定Ｄｅｌａｙ値として０．１２５ｍｓを取得するとする。また、基本ストリームの最大ビットレートを１２Ｍｂｐｓとし、３次元ストリームの最大ビットレートを２４Ｍｂｐｓとする。このとき、ＣＰＢ値逆換算部３０６は、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３において適用するｃｐｂ値を次式から算出する。
【００９４】
（数１２）  （ｃｐｂ値）＝（Ｄｅｌａｙ値）＊（最大ビットレート）
つまり、ＣＰＢ値逆換算部３０６は第１簡易ＣＰＢ３０１において適用するｃｐｂ値を、１５００ビットと算出する。さらに、ＣＰＢ値逆換算部３０６は第２簡易ＣＰＢ３０３において適用するｃｐｂ値を、３０００ビットと算出する。この場合、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値は第１Ｄｅｌａｙ値算出部３０２が算出したＤｅｌａｙ値であるため、ＣＰＢ値逆換算部３０６が第１簡易ＣＰＢ３０１に出力するｃｐｂ値は元々第１簡易ＣＰＢ３０１が出力したｃｐｂ値と変わりない。しかし、ＣＰＢ値逆換算部３０６が第２簡易ＣＰＢ３０３に出力するｃｐｂ値は第１Ｄｅｌａｙ値算出部３０２で算出したＤｅｌａｙ値を基に算出されることになる。
【００９５】
３．動作
３−１．第２簡易ＣＰＢ３０３の動作
まず、全体動作の説明の前に図面を参照しながら第２簡易ＣＰＢ３０３の動作について説明する。
【００９６】
図６は、第２簡易ＣＰＢ３０３の仮想バッファ制御の動作を説明するための図である。
【００９７】
図６に示すｃｐｂ６０１は、ＧＯＰ終端におけるｃｐｂ値を示す。第２簡易ＣＰＢ３０３はこのｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力する。第２簡易ＣＰＢ３０３は、このｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力すると、第２Ｄｅｌａｙ値算出部３０４、特定Ｄｅｌａｙ値決定部３０５およびＣＰＢ値逆換算部３０６を介して、補正後のｃｐｂ値が入力される。補正後のｃｐｂ値は、例えば図６に示すｃｐｂ６０２となる。第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値が決定されたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）における仮想バッファ制御においてｃｐｂ６０２を用いることになる。要するに、特定Ｄｅｌａｙ値決定部３０５におけるＤｅｌａｙ値の変更に伴って、第２簡易ＣＰＢ３０３のｃｐｂ値の補正を行う。
【００９８】
このようにすれば、容易に基本ストリームと３次元ストリームのＤｅｌａｙ値を同一に設定することができる。さらに、仮想バッファ制御から得られるＤｅｌａｙ値を変更しても、その後の仮想バッファ制御を破綻させることなく入力画像を符号化することができる。また、バッファアンダーフロー回避のために用いられるｃｐｂ値についても、ＢＤ規格上必要となるＤｅｌａｙ値変更の影響を反映することができる。これにより、バッファアンダーフローを抑制するとともに、ＢＤ規格を満たす符号化動作を実現することが出来る。
【００９９】
３−２．３Ｄ符号化装置の動作
次に、本実施形態２に係る３Ｄ動画像符号化方法の動作の一例を、図７に示すフローチャートを用いて説明する。
【０１００】
（ステップＳ７０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は生成した基本ストリームを多重化部１０８に出力する。さらに、第１符号化部１０１は、生成した基本ストリームの符号量および符号化パラメータを第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１０１】
（ステップＳ７０２）次に、第１簡易ＣＰＢ３０１は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、ｃｐｂ値による仮想バッファ制御を行う。
【０１０２】
（ステップＳ７０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１０８に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２簡易ＣＰＢ３０３に出力する。
【０１０３】
（ステップＳ７０４）次に、第２簡易ＣＰＢ３０３は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基にｃｐｂ値による仮想バッファ制御を行う。
【０１０４】
（ステップＳ７０５）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ７０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、第１簡易ＣＰＢ３０１は、ＧＯＰの終端の時刻におけるｃｐｂ値を第１Ｄｅｌａｙ値算出部３０２に出力する。さらに、第２簡易ＣＰＢ３０３は、ＧＯＰの終端の時刻におけるｃｐｂ値を第２Ｄｅｌａｙ値算出部３０４に出力する。そして、Ｓ７０６に移行する。
【０１０５】
（ステップＳ７０６）次に、第１Ｄｅｌａｙ値算出部３０２は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ値を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３０５で算出される。第１Ｄｅｌａｙ値算出部３０２は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【０１０６】
（ステップＳ７０７）また、第２Ｄｅｌａｙ値算出部３０４は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ値を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３０５で算出される。第２Ｄｅｌａｙ値算出部３０４は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３０５に出力する。
【０１０７】
（ステップＳ７０８）そして、特定Ｄｅｌａｙ値決定部３０５は、第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値のうち小さいほうのＤｅｌａｙ値を特定Ｄｅｌａｙ値とし、ＣＰＢ値逆換算部３０６に出力する。
【０１０８】
（ステップＳ７０９）そしてＣＰＢ値逆換算部３０６は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値を基に、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３で利用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３０６は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１０９】
（ステップＳ７１０）最後に、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、ＣＰＢ値逆換算部３０６から出力されるｃｐｂ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１１０】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ７０８において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部３０２および第２Ｄｅｌａｙ値算出部３０４から出力される第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１１１】
４．まとめ
上記のように、本実施形態における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１簡易ＣＰＢ３０１と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２簡易ＣＰＢ３０３と、第１簡易ＣＰＢ３０１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部３０２と、第２簡易ＣＰＢ３０３で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部３０４と、算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部３０５と、を備える。特定Ｄｅｌａｙ値決定部３０５は、特定Ｄｅｌａｙ値として、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定する。第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、基本ストリームおよび３次元ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部３０５が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。ここで、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１１２】
このようにすれば、３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と３次元ストリームに付加するＤｅｌａｙ値とを簡単な構成で同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１３】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値と第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値であるので、第１ＢＳおよび第２ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳおよび第２ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１４】
また、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３０５が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１１５】
このようにすれば、特定Ｄｅｌａｙ値を設定するのに伴い、第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【０１１６】
（第３実施形態）
１．概要
実施形態１においては、時間情報を基に算出される基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値が同一となるように、特定Ｄｅｌａｙ値を算出する構成について説明した。
【０１１７】
実施形態３では、時間情報を基に算出される基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値と、が同一となるように、特定Ｄｅｌａｙ値を算出する。
【０１１８】
２．構成
以下、実施形態３の３Ｄ符号化装置の構成について図面を参照しながら説明する。
【０１１９】
図８は、実施形態３における３Ｄ符号化装置の構成を示す図である。なお、本実施形態１と同様のものについては同じ番号を付し、その詳細な説明を省略する。
【０１２０】
第１Ｄｅｌａｙ値算出部１０９は、実施形態１の第１Ｄｅｌａｙ値算出部１０３と基本的に同様の動作を行う。ただし、第１Ｄｅｌａｙ値算出部１０９は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する点で第１Ｄｅｌａｙ値算出部１０３と異なる。
【０１２１】
第２Ｄｅｌａｙ値算出部１１０は、実施形態１の第２Ｄｅｌａｙ値算出部１０６と基本的に同様の動作を行う。ただし、第２Ｄｅｌａｙ値算出部１１０は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する点で第２Ｄｅｌａｙ値算出部１０６と異なる。
【０１２２】
第３ＣＰＢ１１１は、第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、仮想バッファ制御を行う仮想バッファである。第３ＣＰＢ１１１は、数式１から数式６に基づき、拡張ストリームに関する時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）を算出する。なお、上記時間情報ｔａｉ（ｎ）、ｔａｆ（ｎ）、ｔｒ，ｎ（ｎ）、および数式１から数式６は、実施形態１で説明した通り、Ｈ．２６４／ＡＶＣ規格で規定されている。なお、第３ＣＰＢ１１１は数式１から数式６に対して、第２符号化部１０４から出力される拡張ストリームに関する符号化パラメータを代入する。なお、ｂ（ｎ）は、拡張ストリームの第ｎ番目における入力画像の発生符号量である。
【０１２３】
さらに、第３ＣＰＢ１１１は、特定Ｄｅｌａｙ値決定部１１３から入力される特定Ｄｅｌａｙ値を用いて仮想バッファ制御を行う。第３ＣＰＢ１１１は、（数４）におけるｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙに、特定Ｄｅｌａｙ値決定部１１３から受け取った特定Ｄｅｌａｙ値を代入する。そして、第３ＣＰＢ１１１は、ｔａｉ，ｅａｒｌｉｅｓｔ（ｎ）を算出し、以降の仮想バッファ制御を行う。
【０１２４】
第３Ｄｅｌａｙ値算出部１１２は、第３ＣＰＢ１１１が算出した時間情報に基づき、ＧＯＰ毎にＤｅｌａｙ値Δｔｇ、９０（ｎ）を（数式７）で算出する。第３Ｄｅｌａｙ値算出部１１２は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１２５】
特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を算出する。例えば、第１Ｄｅｌａｙ値算出部１０９が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部１１０が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部１１２が求めたＤｅｌａｙ値のうち小さい方のＤｅｌａｙ値を特定Ｄｅｌａｙ値として出力する。なお、特定Ｄｅｌａｙ値決定部１１３は、求めたＤｅｌａｙ値より小さい値を出力するようにしてもよい。特定Ｄｅｌａｙ値決定部１１３は、算出した特定Ｄｅｌａｙ値を、多重化部１１４へ出力する。さらに、特定Ｄｅｌａｙ値決定部１１３は、算出した特定Ｄｅｌａｙ値を、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１へ出力する。
【０１２６】
多重化部１１４は、実施形態１の多重化部１０８と基本的に同じ動作を行う。ただし、多重化部１１４は、拡張ストリームのＤｅｌａｙ値として特定Ｄｅｌａｙ値決定部１１３が算出した特定Ｄｅｌａｙ値を書込む点で実施形態１の多重化部１０８と異なる。多重化部１１４は上記の動作をすることにより、基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値を同一とすることができる。なお、Ｈ．２６４／ＡＶＣ規格において、拡張ストリームのＤｅｌａｙ値は、「Ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ」等、Ｈ．２６４／ＡＶＣに規定されるシンタックスのうち適当な場所に書き込まれる。つまり、再生側において拡張ストリームのＤｅｌａｙ値を読み取れる格納場所であれば、どのような場所でも構わない。
【０１２７】
３．動作
次に、本実施形態３に係る３Ｄ符号化装置の動作の一例を、図９に示すフローチャートを用いて説明する。
【０１２８】
（ステップＳ９０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は、生成した基本ストリームを多重化部１１４に出力する。さらに、第１符号化部１０１は生成した基本ストリームの符号量および符号化パラメータを第１ＣＰＢ１０２および第２ＣＰＢ１０５に出力する。
【０１２９】
（ステップＳ９０２）次に、第１ＣＰＢ１０２は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、仮想バッファ制御を行う。第１ＣＰＢ１０２は、仮想バッファ制御の過程で生成される時間情報を第１Ｄｅｌａｙ値算出部１０９に出力する。
【０１３０】
（ステップＳ９０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１１４に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２ＣＰＢ１０５および第３ＣＰＢ１１１に出力する。
【０１３１】
（ステップＳ９０４）次に、第２ＣＰＢ１０５は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基に仮想バッファ制御を行う。第２ＣＰＢ１０５は、仮想バッファ制御の過程で生成される時間情報を第２Ｄｅｌａｙ値算出部１１０に出力する。
【０１３２】
（ステップＳ９０５）次に、第３ＣＰＢ１１１は、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータを基に仮想バッファ制御を行う。第３ＣＰＢ１１１は、仮想バッファ制御の過程で生成される時間情報を第３Ｄｅｌａｙ値算出部１１２に出力する。
【０１３３】
（ステップＳ９０６）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ９０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、Ｓ９０７に移行する。
【０１３４】
（ステップＳ９０７）次に、第１Ｄｅｌａｙ値算出部１０９は、第１ＣＰＢ１０２から出力される時間情報を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第１Ｄｅｌａｙ値算出部１０９は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３５】
（ステップＳ９０８）また、第２Ｄｅｌａｙ値算出部１１０は、第２ＣＰＢ１０５から出力される時間情報を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第２Ｄｅｌａｙ値算出部１１０は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３６】
（ステップＳ９０９）また、第３Ｄｅｌａｙ値算出部１１２は、第３ＣＰＢ１１１から出力される時間情報を基に、拡張ストリームに適用するＤｅｌａｙ値（以下、「第３Ｄｅｌａｙ値」と称す）を算出する。この第３Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部１１３で算出される。第３Ｄｅｌａｙ値算出部１１２は、算出した第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部１１３に出力する。
【０１３７】
（ステップＳ９１０）そして、特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち、最も小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値として決定し第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１に出力する。
【０１３８】
（ステップＳ９１１）最後に、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、特定Ｄｅｌａｙ値決定部１１３から出力される特定Ｄｅｌａｙ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１３９】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、特定Ｄｅｌａｙ値決定部１１３が生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２から出力されるＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１４０】
４．まとめ
上記のように、本実施形態３における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、第１符号化部１０１から出力される基本ストリームを復号化する際のバッファシミュレーションを行う第１ＣＰＢ１０２と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化する際のバッファシミュレーションを行う第２ＣＰＢ１０５と、拡張ストリームを復号化する際のバッファシミュレーションを行う第３ＣＰＢ１１１と、第１ＣＰＢ１０２で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部１０９と、第２ＣＰＢ１０５で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部１１０と、第３ＣＰＢ１１１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３Ｄｅｌａｙ値算出部１１２と、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部１１３と、を備える。特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を決定する。第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部１１３が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。
【０１４１】
このような実施形態３における３Ｄ符号化装置によれば、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値から特定Ｄｅｌａｙ値を設定することが出来る。そして、３Ｄ符号化装置は、設定した特定Ｄｅｌａｙ値を、第１ＢＳと、第２ＢＳと、拡張ストリームを生成する際のバッファシミュレーション（以下、第３ＢＳと称す）にフィードバックすることが出来る。よって、３Ｄ符号化装置は、同一のＤｅｌａｙ値を基に、次のＧＯＰについての第１ＢＳと、第２ＢＳと、第３ＢＳとを行うことが出来る。また、簡単な構成で、第１のＤｅｌａｙ値と、第２のＤｅｌａｙ値と、第３のＤｅｌａｙ値とを同一の値に設定することが出来る。
【０１４２】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１４３】
また好ましくは、第１ＣＰＢ１０２、第２ＣＰＢ１０５および第３ＣＰＢ１１１は、入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部１０９、第２Ｄｅｌａｙ値算出部１１０および第３Ｄｅｌａｙ値算出部１１２にそれぞれ出力する。
【０１４４】
このようにすれば、３Ｄ符号化装置は、符号化する際の時刻に関する情報を基にＤｅｌａｙ値を算出することができる。これにより、正確なＤｅｌａｙ値を算出しバッファシミュレーションを行うことが出来るため、映像劣化を抑制しながらＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１４５】
（第４実施形態）
１．概要
実施形態２においては、ｃｐｂ値を基に算出される基本ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値が同一となるように、特定Ｄｅｌａｙ値を算出する構成について説明した。
【０１４６】
実施形態４では、ｃｐｂ値を基に算出される基本ストリームのＤｅｌａｙ値と、拡張ストリームのＤｅｌａｙ値と、３次元ストリームのＤｅｌａｙ値と、が同一となるように、特定Ｄｅｌａｙ値を算出する。
【０１４７】
２．構成
以下、実施形態４における３Ｄ符号化装置について図面を参照しながら説明する。
【０１４８】
図１０は、実施形態４における３Ｄ符号化装置の構成を示す図である。なお、実施形態２と同様の構成については同じ番号を付し、その詳細な説明を省略する。
【０１４９】
第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３は、ＣＰＢ値逆換算部３０６が出力するｃｐｂ値の代わりに、ＣＰＢ値逆換算部３１２が出力する特定のｃｐｂ値を用いて仮想バッファ制御を行う。
【０１５０】
第１Ｄｅｌａｙ値算出部３０７は、実施形態２の第１Ｄｅｌａｙ値算出部３０２と基本的に同様の動作を行う。ただし、第１Ｄｅｌａｙ値算出部３０７は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する点で実施形態２の第１Ｄｅｌａｙ値算出部３０２と異なる。
【０１５１】
第２Ｄｅｌａｙ値算出部３０８は、実施形態２の第２Ｄｅｌａｙ値算出部３０４と基本的に同様の動作を行う。ただし、第２Ｄｅｌａｙ値算出部３０８は、算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する点で実施形態２の第２Ｄｅｌａｙ値算出部３０４と異なる。
【０１５２】
第３簡易ＣＰＢ３０９は、第２符号化部１０４から出力される符号化パラメータおよび符号量に基づいて、ｃｐｂ値を用いた仮想バッファ制御を行う仮想バッファである。ここで、符号化パラメータとはシンタックス情報を含む符号化に関する情報を示す。なお、符号量は第２符号化部１０４が入力画像を実際に符号化して得られる符号量または予測値としての符号量である。第３簡易ＣＰＢ３０９は拡張ストリームにおけるｃｐｂ値（以下、「ｃｐｂ３」と称す）を算出する。第３簡易ＣＰＢ３０９は第ｎ番目における入力画像のｃｐｂ３（ｎ）を次式より算出する。
【０１５３】
（数１２）ｃｐｂ３（ｎ）＝ｃｐｂ３（ｎ−１）＋（ＢＲ３＊Ｔ）−ｂ３（ｎ）
ここで、ＢＲ３は拡張ストリームの最大ビットレートを示し、例えば１２Ｍｂｐｓ等となる。また、Ｔはピクチャレートの逆数である。要するにＴは、拡張ストリームに含まれる第（ｎ−１）番目の入力画像から第ｎ番目の入力画像までの時間を示す値である。さらに、ｂ３（ｎ）は拡張ストリームにおける第ｎ番目の入力画像の符号量である。つまり、ｂ３（ｎ）は、第２符号化部１０４から出力される拡張ストリームにおける第ｎ番目における入力画像の符号量となる。なお、拡張ストリームの最大ビットレートおよびピクチャレートは３Ｄ符号化装置全体を制御する制御部（図示せず）から与えられる。なお、拡張ストリームの最大ビットレートはＧＯＰ毎に変化する値としても構わない。また、入力画像に対して固定の最大ビットレートが与えられる構成でも構わない。
【０１５４】
また、第３簡易ＣＰＢ３０９はｃｐｂ３（ｎ）を第３Ｄｅｌａｙ値算出部３１０に出力する。なお、第３簡易ＣＰＢ３０９は例えばＧＯＰ終端においてｃｐｂ３（ｎ）を第３Ｄｅｌａｙ値算出部３１０に出力する。
【０１５５】
さらに、第３簡易ＣＰＢ３０９はＣＰＢ値逆換算部３１２が出力するｃｐｂ値を次のＧＯＰについての仮想バッファ制御に使用する。つまり、次のＧＯＰについての仮想バッファ制御においては、現状のｃｐｂ値に置き換えてＣＰＢ値逆換算部３０６が出力するｃｐｂ値を用いる。第３簡易ＣＰＢ３０９が上記の動作をすることにより、現状のｃｐｂ値を置き換えたとしても仮想バッファ制御を破綻させることなく、基本ストリームのＤｅｌａｙ値と３次元ストリームのＤｅｌａｙ値と拡張ストリームのＤｅｌａｙ値を同一にすることが可能となる。
【０１５６】
第３Ｄｅｌａｙ値算出部３１０は、第３簡易ＣＰＢ３０９から出力されるｃｐｂ３および３Ｄ符号化装置全体を制御する制御部４００から与えられる拡張ストリームの最大ビットレートを基に、拡張ストリームに対するＤｅｌａｙ値を算出する。
【０１５７】
第３Ｄｅｌａｙ値算出部３１０は、（数式１０）の関係を基に、拡張ストリームのＤｅｌａｙ値を算出する。例えば、ｃｐｂ３として３２００ビットが与えられ、最大ビットレートが１２Ｍｂｐｓと与えられるとする。この場合、第３Ｄｅｌａｙ値算出部３１０は（数式１０）よりＤｅｌａｙ値を０．２６６ｍｓと算出する。
【０１５８】
第３Ｄｅｌａｙ値算出部３１０は算出したＤｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１５９】
特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０が出力するＤｅｌａｙ値から、特定Ｄｅｌａｙ値を算出する。例えば、第１Ｄｅｌａｙ値算出部３０７が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０８が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部３１０が求めたＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値をＣＰＢ値逆換算部３１２に出力する。なお、特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７が求めたＤｅｌａｙ値と、第２Ｄｅｌａｙ値算出部３０８が求めたＤｅｌａｙ値と、第３Ｄｅｌａｙ値算出部３１０が求めたＤｅｌａｙ値のうち最も小さいＤｅｌａｙ値より小さい値を出力するようにしてもよい。特定Ｄｅｌａｙ値決定部３１１は、算出したＤｅｌａｙ値を、ＣＰＢ値逆換算部３１２へ出力する。さらに、特定Ｄｅｌａｙ値決定部３１１は、算出した特定Ｄｅｌａｙ値を、多重化部１１４へ出力する。
【０１６０】
ＣＰＢ値逆換算部３１２は、特定Ｄｅｌａｙ値決定部３１１から出力される特定Ｄｅｌａｙ値ならびに、３Ｄ符号化装置全体を制御する制御部から与えられる基本ストリームの最大ビットレート、３次元ストリームの最大ビットレートおよび拡張ストリームの最大ビットレートを基に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９において適用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３１２は、算出したｃｐｂ値を第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９にそれぞれ出力する。
【０１６１】
例えば、ＣＰＢ値逆換算部３１２は特定Ｄｅｌａｙ値決定部３１１から特定Ｄｅｌａｙ値として０．１２５ｍｓを取得するとする。また、基本ストリームの最大ビットレートを１２Ｍｂｐｓとし、３次元ストリームの最大ビットレートを２４Ｍｂｐｓとし、拡張ストリームの最大ビットレートを１２Ｍｂｐｓとする。このとき、ＣＰＢ値逆換算部３１２は第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９において適用するｃｐｂ値を（数式１２）から算出する。
【０１６２】
つまり、ＣＰＢ値逆換算部３１２は第１簡易ＣＰＢ３０１において適用するｃｐｂ値を、１５００ビットと算出する。さらに、ＣＰＢ値逆換算部３１２は第２簡易ＣＰＢ３０３において適用するｃｐｂ値を、３０００ビットと算出する。また、ＣＰＢ値逆換算部３１２は第３簡易ＣＰＢ３０９において適用するｃｐｂ値を、１５００ビットと算出する。
【０１６３】
３．動作
次に、本実施形態４に係る３Ｄ符号化装置の動作の一例を、図１１に示すフローチャートを用いて説明する。
【０１６４】
（ステップＳ１１０１）まず、入力画像が入力されると、第１符号化部１０１は、当該入力画像を符号化し、基本ストリームを生成する。第１符号化部１０１は生成した基本ストリームを多重化部１１４に出力する。さらに、第１符号化部１０１は、生成した基本ストリームの符号量および符号化パラメータを第１簡易ＣＰＢ３０１および第２簡易ＣＰＢ３０３に出力する。
【０１６５】
（ステップＳ１１０２）次に、第１簡易ＣＰＢ３０１は、第１符号化部１０１が生成した基本ストリームの符号化パラメータおよび符号量を基に、ｃｐｂ値による仮想バッファ制御を行う。
【０１６６】
（ステップＳ１１０３）一方、入力画像が入力されると、第２符号化部１０４は、当該入力画像を符号化し、拡張ストリームを生成する。第２符号化部１０４は、生成した拡張ストリームを多重化部１１４に出力する。さらに、第２符号化部１０４は生成した拡張ストリームの符号量および符号化パラメータを第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９に出力する。
【０１６７】
（ステップＳ１１０４）次に、第２簡易ＣＰＢ３０３は、第１符号化部１０１が生成した基本ストリームの符号量および符号化パラメータと、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータと、を基にｃｐｂ値による仮想バッファ制御を行う。
【０１６８】
（ステップＳ１１０５）さらに、第３簡易ＣＰＢ３０９は、第２符号化部１０４が生成した拡張ストリームの符号量および符号化パラメータを基にｃｐｂ値による仮想バッファ制御を行う。
【０１６９】
（ステップＳ１１０６）ここで、第１符号化部１０１および第２符号化部１０４は、符号化対象に係る入力画像がＧＯＰの終端に位置する入力画像（以下、「終端画像」と称す）か否かを判定する。終端画像でないと判定した場合、Ｓ１１０１に移行し、第１符号化部１０１および第２符号化部１０４は、ＧＯＰ内の残りの入力画像を符号化する。終端画像と判定した場合、第１簡易ＣＰＢ３０１はＧＯＰの終端の時刻におけるｃｐｂ値を第１Ｄｅｌａｙ値算出部３０７に出力する。さらに、第２簡易ＣＰＢ３０３はＧＯＰの終端の時刻におけるｃｐｂ値を第２Ｄｅｌａｙ値算出部３０８に出力する。さらに、第３簡易ＣＰＢ３０９はＧＯＰの終端の時刻におけるｃｐｂ値を第３Ｄｅｌａｙ値算出部３１０に出力する。そして、第２Ｄｅｌａｙ値算出部１１０７に移行する。
【０１７０】
（ステップＳ１１０７）次に、第１Ｄｅｌａｙ値算出部３０７は、第１簡易ＣＰＢ３０１から出力されるｃｐｂ値を基に、基本ストリームのＤｅｌａｙ値（以下、「第１Ｄｅｌａｙ値」と称す）を算出する。この第１Ｄｅｌａｙ値は、実際に基本ストリームに付加する特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第１Ｄｅｌａｙ値算出部３０７は、算出した第１Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７１】
（ステップＳ１１０８）また、第２Ｄｅｌａｙ値算出部３０８は、第２簡易ＣＰＢ３０３から出力されるｃｐｂ値を基に、３次元ストリームに適用するＤｅｌａｙ値（以下、「第２Ｄｅｌａｙ値」と称す）を算出する。この第２Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第２Ｄｅｌａｙ値算出部３０８は、算出した第２Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７２】
（ステップＳ１１０９）さらに、第３Ｄｅｌａｙ値算出部３１０は、第３簡易ＣＰＢ３０９から出力されるｃｐｂ値を基に、拡張ストリームに適用するＤｅｌａｙ値（以下、「第３Ｄｅｌａｙ値」と称す）を算出する。この第３Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値ではない。実際に付加する特定Ｄｅｌａｙ値は、特定Ｄｅｌａｙ値決定部３１１で算出される。第３Ｄｅｌａｙ値算出部３１０は、算出した第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値決定部３１１に出力する。
【０１７３】
（ステップＳ１１１０）そして、特定Ｄｅｌａｙ値決定部３１１は、第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値と決定し、ＣＰＢ値逆換算部３１２に出力する。
【０１７４】
（ステップＳ１１１１）そしてＣＰＢ値逆換算部３１２は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値を基に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９で利用するｃｐｂ値をそれぞれ算出する。ＣＰＢ値逆換算部３１２は、算出したｃｐｂ値をそれぞれ第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９に出力する。
【０１７５】
（ステップＳ１１１２）最後に、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９は、ＣＰＢ値逆換算部３１２から出力されるｃｐｂ値に基づいて、特定Ｄｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についての仮想バッファ制御を行う。
【０１７６】
なお、上記の動作フローは一例であり、各ステップに関しては相互に入れ替えることが出来る。また、Ｓ１１１０において生成する特定Ｄｅｌａｙ値は上記の値に限定されるものではなく、例えば第１Ｄｅｌａｙ値算出部３０７、第２Ｄｅｌａｙ値算出部３０８および第３Ｄｅｌａｙ値算出部３１０から出力される第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値よりも小さいＤｅｌａｙ値を特定Ｄｅｌａｙ値とする構成にしても構わない。
【０１７７】
４．まとめ
上記のように、本実施形態における３Ｄ符号化装置は、入力画像を符号化し、基本ストリームと拡張ストリームとを生成して出力する第１符号化部１０１および第２符号化部１０４と、基本ストリームを復号化する際のバッファシミュレーションを行う第１簡易ＣＰＢ３０１と、第１符号化部１０１から出力される基本ストリームと第２符号化部１０４から出力される拡張ストリームとから得られる３次元ストリームを復号化処理する際のバッファシミュレーションを行う第２簡易ＣＰＢ３０３と、拡張ストリームを復号化する際のバッファシミュレーションを行う第３簡易ＣＰＢ３０９と、第１簡易ＣＰＢ３０１で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１Ｄｅｌａｙ値算出部３０７と、第２簡易ＣＰＢ３０３で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２Ｄｅｌａｙ値算出部３０８と、第３簡易ＣＰＢ３０９で行われたバッファシミュレーションの結果に基づいて、１ＧＯＰ毎に、拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３Ｄｅｌａｙ値算出部３１０と、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値に基づいて、１ＧＯＰ毎に特定のＤｅｌａｙ値を設定する特定Ｄｅｌａｙ値決定部３１１と、を備える。特定Ｄｅｌａｙ値決定部１１３は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値を決定する。第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９は、基本ストリーム、３次元ストリームおよび拡張ストリームにおけるｎ番目のＧＯＰについて特定Ｄｅｌａｙ値決定部３１１が設定した特定Ｄｅｌａｙ値を基に、ｎ＋１番目のＧＯＰについてのバッファシミュレーションを行う。ここで、第１簡易ＣＰＢ３０１は、当該第１簡易ＣＰＢ３０１におけるバッファ滞留量をバッファシミュレーションの結果として第１Ｄｅｌａｙ値算出部３０７に出力し、第２簡易ＣＰＢ３０３は、当該第２簡易ＣＰＢ３０３におけるバッファ滞留量をバッファシミュレーションの結果として第２Ｄｅｌａｙ値算出部３０８に出力し、第３簡易ＣＰＢ３０９は、当該第３簡易ＣＰＢ３０９におけるバッファ滞留量をバッファシミュレーションの結果として第３Ｄｅｌａｙ値算出部３１０に出力する。
【０１７８】
このようにすれば、本実施形態４における３Ｄ符号化装置がバッファ滞留量を用いてバッファシミュレーションを行う場合であっても、基本ストリームに付加するＤｅｌａｙ値と、３次元ストリームに付加するＤｅｌａｙ値と拡張ストリームに付加するＤｅｌａｙ値を簡単な構成で同一の値にすることができる。これにより、簡易な構成でバッファシミュレーションを行った場合であっても、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１７９】
また、特定Ｄｅｌａｙ値は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の値であるので、第１ＢＳ、第２ＢＳおよび第３ＢＳのＤｅｌａｙ値を同一のＤｅｌａｙ値に置き換えてバッファシミュレーションする場合でも、常に第１ＢＳ、第２ＢＳおよび第３ＢＳを破綻させることなく、ＢＤ規格を満たす基本ストリーム、３次元ストリームおよび拡張ストリームを生成することが可能となる。
【０１８０】
また好ましくは、第１簡易ＣＰＢ３０１は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第１簡易ＣＰＢ３０１のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第２簡易ＣＰＢ３０３は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第２簡易ＣＰＢ３０３のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行い、第３簡易ＣＰＢ３０９は、特定Ｄｅｌａｙ値決定部３１１が出力する特定Ｄｅｌａｙ値が入力された場合、当該特定Ｄｅｌａｙ値をもとに入力時点における当該第３簡易ＣＰＢ３０９のバッファ滞留量を補正し、特定のＤｅｌａｙ値が求められたＧＯＰ（ｎ番目のＧＯＰ）の次のＧＯＰ（ｎ＋１番目のＧＯＰ）についてのバッファシミュレーションを行う。
【０１８１】
このようにすれば、３Ｄ符号化装置において特定Ｄｅｌａｙ値を設定するのに伴い、第１簡易ＣＰＢ３０１、第２簡易ＣＰＢ３０３および第３簡易ＣＰＢ３０９におけるバッファ滞留量を補正することができる。これにより、３Ｄ符号化装置は、第１Ｄｅｌａｙ値、第２Ｄｅｌａｙ値および第３Ｄｅｌａｙ値を特定Ｄｅｌａｙ値に変更した場合でも、バッファ滞留量を用いたバッファシミュレーションを破綻させることなく、ＢＤ規格を満たす基本ストリームおよび３次元ストリームを生成することが可能となる。
【産業上の利用可能性】
【０１８２】
本発明に係る３Ｄ符号化装置は、映像信号を符号化するデジタルテレビ、ビデオプレイヤー、パーソナルコンピュータ、携帯電話機等に適用できる。
【符号の説明】
【０１８３】
１０１  第１符号化部
１０２  第１ＣＰＢ
１０３、１０９、３０２、３０７  第１Ｄｅｌａｙ値算出部
１０４  第２符号化部
１０５  第２ＣＰＢ
１０６、１１０、３０４、３０８  第２Ｄｅｌａｙ値算出部
１０７、３０５、３１１  特定Ｄｅｌａｙ値決定部
１０８、１１４  多重化部
１１１  第３ＣＰＢ
１１２  第３Ｄｅｌａｙ値算出部
３０１  第１簡易ＣＰＢ
３０３  第２簡易ＣＰＢ
３０６、３１２  ＣＰＢ値逆変換部
３０９  第３簡易ＣＰＢ
３１０  第３Ｄｅｌａｙ値算出部
４００  制御部
６０１、６０２  ｃｐｂ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力画像を符号化し、複数の画像群を含む基本ストリームおよび拡張ストリームを含む３次元ストリームを生成して出力する符号化部と、
前記符号化部から出力される前記基本ストリームを復号化する際のバッファシミュレーションを行う第１仮想バッファ部と、
前記符号化部から出力される前記３次元ストリームを復号化する際のバッファシミュレーションを行う第２仮想バッファ部と、
前記第１仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記基本ストリームのＤｅｌａｙ値である第１Ｄｅｌａｙ値を算出する第１算出部と、
前記第２仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記３次元ストリームのＤｅｌａｙ値である第２Ｄｅｌａｙ値を算出する第２算出部と、
前記算出された第１Ｄｅｌａｙ値および第２Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定する設定部と、を備え、
前記設定部は、特定のＤｅｌａｙ値として、前記第１Ｄｅｌａｙ値と前記第２Ｄｅｌａｙ値とのうち小さい方のＤｅｌａｙ値以下の値を設定し、
前記第１仮想バッファ部および前記第２仮想バッファ部は、基本ストリームおよび３次元ストリームにおけるｎ番目の画像群について前記設定部が設定した特定のＤｅｌａｙ値に基づく情報を基に、ｎ＋１番目の画像群についてのバッファシミュレーションを行う、
３Ｄ符号化装置。
【請求項２】
前記第１仮想バッファ部および前記第２仮想バッファ部は、前記入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として前記第１算出部および前記第２算出部にそれぞれ出力する請求項１に記載の３Ｄ符号化装置。
【請求項３】
前記第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第１算出部に出力し、
前記第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第２算出部に出力する請求項１に記載の３Ｄ符号化装置。
【請求項４】
前記第１仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第２仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行う請求項３に記載の３Ｄ符号化装置。
【請求項５】
前記３Ｄ符号化装置は、
前記符号化部から出力される拡張ストリームを復号化処理する際のバッファシミュレーションを行う第３仮想バッファ部と、
前記第３仮想バッファ部で行われたバッファシミュレーションの結果に基づいて、１画像群毎に前記拡張ストリームのＤｅｌａｙ値である第３Ｄｅｌａｙ値を算出する第３算出部と、をさらに備え、
前記設定部は、前記第１Ｄｅｌａｙ値、前記第２Ｄｅｌａｙ値および前記第３Ｄｅｌａｙ値に基づいて、１画像群毎に特定のＤｅｌａｙ値を設定し、
前記設定部は、特定のＤｅｌａｙ値として、前記第１Ｄｅｌａｙ値、前記第２Ｄｅｌａｙ値および前記第３Ｄｅｌａｙ値のうち最も小さいＤｅｌａｙ値以下の同一の値を設定し、
前記第１仮想バッファ部、前記第２仮想バッファ部および前記第３仮想バッファ部は、基本ストリーム、３次元ストリームおよび拡張ストリームにおける前記ｎ＋１番目の画像群について、前記設定部が設定した特定のＤｅｌａｙ値に基づく情報を基にバッファシミュレーションを行う、
請求項１に記載の３Ｄ符号化装置。
【請求項６】
前記第１仮想バッファ部、前記第２仮想バッファ部および前記第３仮想バッファ部は、前記入力画像を符号化する際の時刻に関する情報をバッファシミュレーションの結果として前記第１算出部、前記第２算出部および前記第３算出部にそれぞれ出力する請求項５に記載の３Ｄ符号化装置。
【請求項７】
前記第１仮想バッファ部は、当該第１仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第１算出部に出力し、
前記第２仮想バッファ部は、当該第２仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第２算出部に出力し、
前記第３仮想バッファ部は、当該第３仮想バッファ部におけるバッファ滞留量をバッファシミュレーションの結果として前記第３算出部に出力する請求項５に記載の３Ｄ符号化装置。
【請求項８】
前記第１仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第１仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第２仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第２仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行い、
前記第３仮想バッファ部は、前記設定部が出力する特定のＤｅｌａｙ値が入力された場合、当該特定のＤｅｌａｙ値に基づく情報をもとに入力時点における当該第３仮想バッファ部のバッファ滞留量を補正し、前記ｎ＋１番目の画像群についてのバッファシミュレーションを行う請求項７に記載の３Ｄ符号化装置。
【請求項９】
前記基本ストリームは、３Ｄ映像における左目用画像及び右目用画像のいずれか一方の画像を符号化したストリームであり、
前記拡張ストリームは、３Ｄ映像における他方の画像について前記一方の画像との差分を考慮して符号化したストリームである請求項１に記載の３Ｄ符号化装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2012023248.tif 000014
【図２】
2012023248.tif 000015
【図３】
2012023248.tif 000016
【図４】
2012023248.tif 000017
【図５】
2012023248.tif 000018
【図６】
2012023248.tif 000019
【図７】
2012023248.tif 000020
【図８】
2012023248.tif 000021
【図９】
2012023248.tif 000022
【図１０】
2012023248.tif 000023
【図１１】
2012023248.tif 000024
【国際調査報告】
2012023248.tif 000025
2012023248.tif 000026
2012023248.tif 000027