(57)【要約】【課題】ビットストリームをより容易に結合することができるようにする。【解決手段】画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部とを備えるようにする。本開示は、例えば、画像処理装置または画像符号化装置等に適用することができる。【選択図】図１４
2019071665.tif 000002
【特許請求の範囲】
【請求項１】
画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する設定部と、
前記画像データを符号化して、前記設定部により設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する符号化部と
を備える画像符号化装置。
【請求項２】
前記カレントピクチャの位置に関する情報と、仮想参照デコーダの調整を行う区間であるかを示す情報と、発生符号量を示す情報とに基づいて、符号量の目標値を設定するレート制御部をさらに備える
請求項１に記載の画像符号化装置。
【請求項３】
画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定し、
前記画像データを符号化して、設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する
画像符号化方法。
【請求項４】
コンピュータを、
画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する設定部と、
前記画像データを符号化して、前記設定部により設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する符号化部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像符号化装置および方法、並びに、プログラムに関し、特に、ビットストリームをより容易に結合することができるようにした画像符号化装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、動画像の編集において、複数の動画像同士を結合する編集がある。一般的に、デジタル信号処理において動画像データはデータサイズが大きいので、符号化（圧縮）されて利用されることが多い。画像データの汎用的な符号化方式として、例えばMPEG（Moving Picture Experts Group）、AVC（Advanced Video Coding）、HEVC（High Efficiency Video Coding）等がある。
【０００３】
このように符号化された動画像データを用いて、上述したような動画像同士の結合を行う場合、複数本のビットストリームから１本のビットストリームを生成することになる。その際、各ビットストリームをすべて復号して非圧縮の状態にしてから結合し、結合後の動画像を符号化して１本のビットストリームを生成する方法が考えられるが、その場合、ビットストリームのデータサイズが大きくなればなるほど、処理の負荷が大きなものとなってしまうおそれがある。
【０００４】
そこで、このように符号化された動画像データをフレーム精度で切り出し編集する際に、エンコード時間を短くし且つ画質を劣化させない技術としてスマートレンダリング編集が考えられた（例えば、特許文献１および特許文献２参照）。
【０００５】
ところで、AVCやHEVCにおいては、ビットストリームを破綻なく伝送するために、仮想参照デコーダHRD(Hypothetical reference decoder)という概念が導入されている。エンコーダは、仮想参照デコーダを破綻させないようにビットストリームを生成する必要がある。上述したスマートレンダリング編集における符号化においても同様である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２２３６１号公報
【特許文献２】特開２００８−１３１１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、スマートレンダリング編集において、単純に、動画の所定のエンコード区間を符号化しただけでは、結合したビットストリーム同士の関係が考慮されていないため、結合した部分を超えて（結合後のビットストリーム全体において）仮想参照デコーダを破綻させないようにすることを保証することができない。すなわち、結合後のビットストリームが、正しく復号することができないものとなってしまうおそれがあった。
【０００８】
結合後のビットストリームが正しく復号することができるようにするためには、ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換える等の煩雑な作業が必要であった。
【０００９】
本開示は、このような状況に鑑みてなされたものであり、ビットストリームをより容易に結合することができるようにするものである。
【課題を解決するための手段】
【００１０】
本技術の一側面は、画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する設定部と、前記画像データを符号化して、前記設定部により設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する符号化部とを備える画像符号化装置である。
【００１１】
本技術の一側面は、また、画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定し、前記画像データを符号化して、設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する画像符号化方法である。
【００１２】
本技術の一側面は、さらに、コンピュータを、画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記画像データを符号化したビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する設定部と、前記画像データを符号化して、前記設定部により設定された前記ナルユニットタイプを示す情報と前記ビットストリームの結合を示す情報と前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含む前記ビットストリームを生成する符号化部として機能させるプログラムである。
【００１３】
本技術の一側面においては、画像データの処理対象であるカレントピクチャが終端のピクチャである場合、ナルユニットタイプを示す情報が、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定され、その画像データを符号化したビットストリームの結合を示す情報が偽に設定され、そのビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報が最小値に設定され、その画像データが符号化されて、その設定されたナルユニットタイプを示す情報とそのビットストリームの結合を示す情報とそのビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報とを含むビットストリームが生成される。
【発明の効果】
【００１４】
本開示によれば、画像データを符号化若しくは処理することができる。特に、ビットストリームをより容易に結合することができる。
【図面の簡単な説明】
【００１５】
【図１】スマートレンダリング編集の様子の例を説明する図である。
【図２】スマートレンダリング編集の様子の例を説明する図である。
【図３】仮想参照デコーダの例を説明する図である。
【図４】スマートレンダリング編集の様子の例を説明する図である。
【図５】スマートレンダリング編集の様子の例を説明する図である。
【図６】画像符号化装置の主な構成例を示すブロック図である。
【図７】レート制御部の主な構成例を示すブロック図である。
【図８】仮想参照デコーダに関するパラメータについて説明する図である。
【図９】符号化処理の流れの例を説明するフローチャートである。
【図１０】ナルユニットタイプ判定処理の流れの例を説明するフローチャートである。
【図１１】レート制御処理の流れの例を説明するフローチャートである。
【図１２】HRDトレース処理の流れの例を説明するフローチャートである。
【図１３】ターゲットビット決定処理の流れの例を説明するフローチャートである。
【図１４】スマートレンダリング編集の様子の例を説明する図である。
【図１５】ビットストリーム結合装置の主な構成例を示すブロック図である。
【図１６】ビットストリーム結合処理の流れの例を説明するフローチャートである。
【図１７】バッファ判定処理の流れの例を説明するフローチャートである。
【図１８】ナルユニットタイプ書き換え処理の流れの例を説明するフローチャートである。
【図１９】バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。
【図２０】スマートレンダリング編集の様子の例を説明する図である。
【図２１】ビットストリーム結合装置の主な構成例を示すブロック図である。
【図２２】ビットストリーム結合処理の流れの例を説明するフローチャートである。
【図２３】プレブノンディスカーダブルピクチャ探索処理の流れの例を説明するフローチャートである。
【図２４】バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。
【図２５】スマートレンダリング編集の様子の例を説明する図である。
【図２６】ビットストリーム結合装置の主な構成例を示すブロック図である。
【図２７】ビットストリーム結合処理の流れの例を説明するフローチャートである。
【図２８】プレブCpbリムーバブルディレイ探索処理の流れの例を説明するフローチャートである。
【図２９】バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。
【図３０】ピクチャタイミングSEI書き換え処理の流れの例を説明するフローチャートである。
【図３１】スマートレンダリング編集の様子の例を説明する図である。
【図３２】コンピュータの主な構成例を示すブロック図である。
【図３３】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３４】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３５】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３６】撮像装置の概略的な構成の一例を示すブロック図である。
【図３７】ビデオセットの概略的な構成の一例を示すブロック図である。
【図３８】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図３９】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（ビットストリーム結合装置）
３．第３の実施の形態（ビットストリーム結合装置）
４．第４の実施の形態（ビットストリーム結合装置）
５．第５の実施の形態（コンピュータ）
６．第６の実施の形態（応用例）
７．第７の実施の形態（セット・ユニット・モジュール・プロセッサ）
【００１７】
＜１．第１の実施の形態＞
＜スマートレンダリング編集＞
従来、動画像の編集において、複数の動画像同士を結合する編集がある。一般的に、デジタル信号処理において動画像データはデータサイズが大きいので、符号化（圧縮）されて利用されることが多い。画像データの汎用的な符号化方式として、例えばMPEG（Moving Picture Experts Group）、AVC（Advanced Video Coding）、HEVC（High Efficiency Video Coding）等がある。
【００１８】
このように符号化された動画像データを用いて、上述したような動画像同士の結合を行う場合、複数本のビットストリームから１本のビットストリームを生成することになる。その際、各ビットストリームをすべて復号して非圧縮の状態にしてから結合し、結合後の動画像を符号化して１本のビットストリームを生成する方法が考えられるが、その場合、ビットストリームのデータサイズが大きくなればなるほど、処理の負荷が大きなものとなってしまうおそれがある。
【００１９】
そこで、例えば特許文献１や特許文献２に記載のように、このように符号化された動画像データをフレーム精度で切り出し編集する際に、エンコード時間を短くし且つ画質を劣化させない技術としてスマートレンダリング編集が考えられた。
【００２０】
ところで、AVCやHEVCにおいては、ビットストリームを破綻なく伝送するために、仮想参照デコーダ（HRD(Hypothetical reference decoder)）という概念が導入されている。エンコーダは、仮想参照デコーダを破綻させないようにビットストリームを生成する必要がある。上述したスマートレンダリング編集における符号化においても同様である。
【００２１】
しかしながら、スマートレンダリング編集において、単純に、動画の所定のエンコード区間を符号化しただけでは、結合したビットストリーム同士の関係が考慮されていないため、結合した部分を超えて（結合後のビットストリーム全体において）仮想参照デコーダを破綻させないようにすることを保証することができない。結合後のビットストリームが正しく復号することができるようにするためには、ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換える等の煩雑な作業が必要であった。
【００２２】
例えば、図１は、画像データがAVCで符号化されたビットストリーム同士を結合する場合の例を示している。図１のＡは、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図１の結合においては、ストリームBの先頭がストリームAの終端に接続される。図１のＢは、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【００２３】
以下において、このような結合に用いられる、ストリームAを結合されるビットストリーム（ストリーム）とも称し、ストリームBを結合するビットストリーム（ストリーム）とも称する。
【００２４】
図１のＢに示されるように、この例の場合、結合するビットストリームであるストリームB（StreamB）の先頭のCpbRemovalDelayを、結合されるビットストリームであるストリームA（StreamA）の終端のCpbRemovalDelay+1にする必要がある。そのためには、ユーザがストリームA（StreamA）の終端のCpbRemovalDelayを調べ、ストリームB（StreamB）の先頭のCpbRemovalDelayを更新しなければならず、煩雑な作業を必要とした。
【００２５】
図２は、画像データがHEVCで符号化されたビットストリーム同士を結合する場合の例を示している。図２のＡは、図１のＡと同様に、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図２の結合も図１と同様に行われる。すなわち、ストリームBの先頭がストリームAの終端に接続される。図２のＢは、図１のＢと同様に、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【００２６】
図２に示されるように、HEVCでは、ビットストリームを簡単に結合させる目的で、Buffering Period SEI（Supplemental Enhancement Information）にconcatenation_flagが追加された。concatenation_flag=1の場合は、ビットストリームが結合されたことを表しており、Cpb（Coded Picture Buffer（符号化済みピクチャバッファ））の引き抜きタイミングを表す、AuNominalRemovalTimeの計算方法が変更される。この際、Picture Timing SEIに示されるau_cpb_removal_delay_minus1を計算に使用しないことが特徴となる。
【００２７】
HEVCのビットストリームの場合、このconcatenation_flag=1とするだけで日本のビットストリームを結合してもHRD的に破たんのないストリームを生成することが出来る。
【００２８】
図３は、concatenation_flag=1の時のAuNominalRemovalTimeの実際の計算方法の例を表したものである。この計算を見るとpicture timing SEIのau_cpb_removal_delay_minus1を使わずにシームレスな結合が出来ていることが分かる。
【００２９】
このようにHEVCでは、concatenation_flagを使うことで簡単にビットストリームを結合できる場合がある。しかしながら、常に、このように簡単にビットストリームを結合することができるわけではない。
【００３０】
図４は、AVCのビットストリームの結合においてBピクチャ（B-picture）を含むようなリオーダが発生する場合の例である。図４のＡは、図１のＡと同様に、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図４のＢは、図１のＢと同様に、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。この場合、図１と同様の処理でビットストリームを結合することができる。
【００３１】
これに対して、HEVCのビットストリームの結合においてBピクチャ（B-picture）を含むようなリオーダが発生する場合、AVCよりも処理が複雑になるおそれがあった。図５は、その場合の例を示している。図５のＡは、図２のＡと同様に、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図５のＢは、図２のＢと同様に、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【００３２】
図５に示されるように、この例の場合、結合するビットストリームであるストリームB（StreamB）のconcatenation_flag=1とし、IDR（Instantaneous Decoding Refresh）ピクチャでcpb_removal_delay=0として運用し、ユーザは、結合されるビットストリームであるストリームA（StreamA）の終端のprevNonDiscardablePicの位置を確認して、ストリームB（StreamB）のauCpbRemovalDelayDeltaMinus1を書き換える必要があった。つまり、煩雑な作業を必要とした。図５の例の場合、ストリームA（StreamA）の終端のprevNonDiscardablePicは、（n+3）のピクチャ（nal_unit_typeがTRAIL_R）であるので、ストリームB（StreamB）のauCpbRemovalDelayDeltaMinus1=2である。
【００３３】
そこで、HEVCにおいてビットストリームを結合する前にシンタクス（Syntax）を適切に設定することでより容易にビットストリーム同士を結合することができるようにする。
【００３４】
＜画像符号化装置＞
例えば、画像データの符号化の際に、その画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、その画像データを符号化した符号化データと、その設定されたヘッダ情報とを含むビットストリームを生成するようにする。
【００３５】
ヘッダ情報とは、各階層（シーケンス/ピクチャ/スライス/タイル/最大符号化単位/符号化単位等）に対して、各階層に設定されたデータに先立ってパース（参照する）情報又は各階層に設定されたデータとは独立してパース（参照する）情報を意味する。例えば、ビデオパラメータセット（VPS（Video Parameter Set））、シーケンスパラメータセット（SPS（Sequence Parameter Set））、ピクチャパラメータセット（PPS（Picture Parameter Set））、スライスヘッダ（Slice Header）、ナルユニットタイプ（nal_unit_typ）、SEI（Supplemental Enhancement Information）等の情報がヘッダ情報に該当する。ヘッダ情報は、ビットストリームのシンタクスとして明示的に定義された情報だけではなく、各階層の先頭に位置する情報も含む。
【００３６】
図６は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図６に示される画像符号化装置１００は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
【００３７】
図６に示されるように画像符号化装置１００は、画面並べ替えバッファ１１１、演算部１１２、直交変換部１１３、量子化部１１４、可逆符号化部１１５、蓄積バッファ１１６、逆量子化部１１７、および逆直交変換部１１８を有する。また、画像符号化装置１００は、演算部１１９、イントラ予測部１２０、ループフィルタ１２１、フレームメモリ１２２、インター予測部１２３、および予測画像選択部１２４を有する。
【００３８】
さらに、画像符号化装置１００は、レート制御部１２５およびnal_unit_type判定部１２６を有する。
【００３９】
画面並べ替えバッファ１１１は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部１１２に供給する。また、画面並べ替えバッファ１１１は、フレームの順番を並び替えた画像を、イントラ予測部１２０およびインター予測部１２３にも供給する。
【００４０】
演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、予測画像選択部１２４を介してイントラ予測部１２０若しくはインター予測部１２３から供給される予測画像を減算し、その差分情報（残差データ）を直交変換部１１３に供給する。例えば、イントラ符号化が行われる画像の場合、演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、イントラ予測部１２０から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、インター予測部１２３から供給される予測画像を減算する。
【００４１】
直交変換部１１３は、演算部１１２から供給される残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部１１３は、その直交変換により得られた変換係数を量子化部１１４に供給する。
【００４２】
量子化部１１４は、直交変換部１１３から供給される変換係数を量子化する。量子化部１１４は、レート制御部１２５から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部１１４は、量子化された変換係数を可逆符号化部１１５に供給する。
【００４３】
可逆符号化部１１５は、量子化部１１４において量子化された変換係数を任意の符号化方式で符号化する。また、可逆符号化部１１５は、イントラ予測のモードを示す情報などをイントラ予測部１２０から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部１２３から取得する。さらに、可逆符号化部１１５は、nal_unit_type判定部１２６において設定されたconcatenation_flagやnal_unit_type等の情報を取得する。
【００４４】
可逆符号化部１１５は、これらの各種情報を任意の符号化方式で符号化し、符号化データ（符号化ストリームとも称する）のヘッダ情報の一部とする（多重化する）。可逆符号化部１１５は、符号化して得られた符号化データを蓄積バッファ１１６に供給して蓄積させる。
【００４５】
可逆符号化部１１５の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【００４６】
蓄積バッファ１１６は、可逆符号化部１１５から供給された符号化データを、一時的に保持する。蓄積バッファ１１６は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置１００の外部に出力する。すなわち、蓄積バッファ１１６は、符号化データを伝送する伝送部でもある。
【００４７】
また、量子化部１１４において量子化された変換係数は、逆量子化部１１７にも供給される。逆量子化部１１７は、その量子化された変換係数を、量子化部１１４による量子化に対応する方法で逆量子化する。逆量子化部１１７は、その逆量子化により得られた変換係数を、逆直交変換部１１８に供給する。
【００４８】
逆直交変換部１１８は、逆量子化部１１７から供給された変換係数を、直交変換部１１３による直交変換処理に対応する方法で逆直交変換する。逆直交変換部１１８は、逆直交変換された出力（復元された残差データ）を演算部１１９に供給する。
【００４９】
演算部１１９は、逆直交変換部１１８から供給された、復元された残差データに、予測画像選択部１２４を介してイントラ予測部１２０若しくはインター予測部１２３から供給される予測画像を加算し、局所的に再構成された画像（以下、再構成画像と称する）を得る。その再構成画像は、イントラ予測部１２０およびループフィルタ１２１に供給される。
【００５０】
イントラ予測部１２０は、演算部１１９から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１２０は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
【００５１】
イントラ予測部１２０は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ１１１から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部１２０は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１２４に供給する。
【００５２】
また、上述したように、イントラ予測部１２０は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部１１５に供給し、符号化させる。
【００５３】
ループフィルタ１２１は、デブロックフィルタや適応ループフィルタ等を含み、演算部１１９から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ１２１は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ１２１は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた再構成画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【００５４】
なお、ループフィルタ１２１が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ１２１は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部１１５に供給し、それを符号化させるようにすることもできる。
【００５５】
ループフィルタ１２１は、フィルタ処理結果（以下、復号画像と称する）をフレームメモリ１２２に供給する。
【００５６】
なお、ループフィルタ１２１が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ１２１は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部１１５に供給し、それを符号化させるようにすることもできる。
【００５７】
フレームメモリ１２２は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、インター予測部１２３に供給する。
【００５８】
インター予測部１２３は、画面並べ替えバッファ１１１から供給される入力画像と、フレームメモリ１２２から読み出した参照画像とを用いてインター予測処理を行う。より具体的には、インター予測部１２３は、動き予測を行って動きベクトルを検出し、その動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００５９】
インター予測部１２３は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部１２３は、画面並べ替えバッファ１１１から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部１２３は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１２４に供給する。
【００６０】
インター予測部１２３は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部１１５に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
【００６１】
予測画像選択部１２４は、演算部１１２演算部１１９に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部１２４は、予測画像の供給元としてイントラ予測部１２０を選択し、そのイントラ予測部１２０から供給される予測画像を演算部１１２や演算部１１９に供給する。また、例えば、インター符号化の場合、予測画像選択部１２４は、予測画像の供給元としてインター予測部１２３を選択し、そのインター予測部１２３から供給される予測画像を演算部１１２や演算部１１９に供給する。
【００６２】
レート制御部１２５は、蓄積バッファ１１６に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部１１４の量子化動作のレートを制御する。
【００６３】
nal_unit_type判定部１２６は、画面並べ替えバッファ１１１から、当該ピクチャがストリームの先頭のピクチャであるか否かを示す情報（isFirstPicture）、当該ピクチャがストリームの終端のピクチャであるか否かを示す情報（isLastPicture）、並びに、当該ピクチャが参照されるか否か（参照ピクチャであるか否か）を示す情報（isReferencePicture）を取得する。
【００６４】
nal_unit_type判定部１２６は、ビットストリームの結合を示す情報（concatenation_flag）、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報（auCpbRemovalDelayMinus1）、並びに、ナルユニットタイプを示す情報（nal_unit_type）を設定する。
【００６５】
より具体的には、例えば、処理対象であるカレントピクチャがストリームの先頭のピクチャである場合、nal_unit_type判定部１２６は、concatenation_flagを「1（すなわち、真）」に設定し、auCpbRemovalDelayMinus1を「0（すなわち、最小値）」に設定し、nal_unit_typeをIDR_W_RADL若しくはIDR_N_LP（すなわち、IDRピクチャであることを示す値）に設定する。
【００６６】
また、例えば、処理対象であるカレントピクチャがストリームの先頭でなく終端のピクチャである場合、nal_unit_type判定部１２６は、concatenation_flagを「0（すなわち、偽）」に設定し、auCpbRemovalDelayMinus1を「0（すなわち、最小値）」に設定し、nal_unit_typeをTRAIL_R（すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値）に設定する。
【００６７】
さらに、例えば、処理対象であるカレントピクチャがストリームの先頭でも終端でもなく、参照ピクチャである場合、nal_unit_type判定部１２６は、concatenation_flagを「0（すなわち、偽）」に設定し、auCpbRemovalDelayMinus1を「0（すなわち、最小値）」に設定し、nal_unit_typeをTRAIL_R（すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値）に設定する。
【００６８】
また、例えば、処理対象であるカレントピクチャがストリームの先頭でも終端でもなく、参照ピクチャでもない場合、nal_unit_type判定部１２６は、concatenation_flagを「0（すなわち、偽）」に設定し、auCpbRemovalDelayMinus1を「0（すなわち、最小値）」に設定し、nal_unit_typeをTRAIL_N（テンポラルサブレイヤでない非参照ピクチャであることを示す値）に設定する。
【００６９】
nal_unit_type判定部１２６は、以上のように設定したこれらの情報（concatenation_flag、auCpbRemovalDelayMinus1、nal_unit_type等）を可逆符号化部１１５に供給し、それらの情報が、可逆符号化部１１５において生成されるビットストリームに含められるようにする。
【００７０】
＜レート制御部＞
図７は、レート制御部１２５の主な構成例を示すブロック図である。図７に示される世に、レート制御部１２５は、HRDトレース部１４１およびTarget Bit決定部１４２を有する。
【００７１】
HRDトレース部１４１は、画面並べ替えバッファ１１１から、処理対象であるカレントピクチャの位置に関する情報と、仮想参照デコーダの調整を行う区間であるかを示す情報とを取得する。より具体的には、HRDトレース部１４１は、カレントピクチャの位置に関する情報として、例えば、当該ピクチャがストリームの終端のピクチャであるか否かを示す情報（isLastPicture）を取得する。また、HRDトレース部１４１は、仮想参照デコーダの調整を行う区間であるかを示す情報として、例えば、符号化済みピクチャバッファ（CPB）のトレースレート（trace_rate）、フレームレート（frame_rate）、およびCPBサイズ（cpb_size）等を取得する。これらのパラメータは、図８に示されるように、符号化済みピクチャバッファ（CPB）に関する情報である。また、HRDトレース部１４１は、蓄積バッファ１１６から発生符号量（発生ビット量）を示す情報を取得する。
【００７２】
HRDトレース部１４１は、これらの仮想参照デコーダ（HRD）に関する制御情報や発生符号量に基づいて、符号化済みピクチャバッファ（CPB）位置を示す情報（cpb_pos）を算出する。HRDトレース部１４１は、算出したCPB位置を示す情報（cpb_pos）をTarget Bit決定部１４２に供給する。
【００７３】
Target Bit決定部１４２は、HRDトレース部１４１からCPB位置を示す情報（cpb_pos）を取得する。また、Target Bit決定部１４２は、終端で期待されるCPB位置を示す情報（target_cpb_pos）と、CPBの終端を調整する期間であるか否かを示す情報（isAdjustPeriod）とを、HRDトレース部１４１を介して画面並べ替えバッファ１１１から取得する。
【００７４】
Target Bit決定部１４２は、これらの情報に基づいて、発生符号量の目標値を示す情報であるターゲットビット（target bit）を算出する。Target Bit決定部１４２は、算出したターゲットビット（target bit）を量子化部１１４に供給する。
【００７５】
以上のように、画像符号化装置１００は、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
【００７６】
・結合されるビットストリームの終端のnal_unit_typeがprevNonDiscardablePicの条件を満たす（例えば、TRAIL_Rなど）。
・結合されるビットストリームの終端のcpb位置が結合するビットストリーム先頭のcpb位置よりも高い。シンタクス的には、initial_cpb_removal_delayの値が高い。
・結合するビットストリームの先頭がconcatenation_flag=1である。
・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている（例えば、auCpbRemovalDelayDeltaMinus1=0）。
【００７７】
これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、画像符号化装置１００は、エンコードするときに結合することを事前に考慮して符号化を行うので、他のビットストリームとより容易に結合することができる状態のビットストリームを生成することができる。
【００７８】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図９のフローチャートを参照して説明する。
【００７９】
符号化処理が開始されると、画面並べ替えバッファ１１１は、ステップＳ１０１において、入力された動画像の各フレーム（ピクチャ）の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００８０】
ステップＳ１０２において、画面並べ替えバッファ１１１は、ビデオパラメータセット（VPS（Video Parameter Set））、シーケンスパラメータセット（SPS（Sequence Parameter Set））、ピクチャパラメータセット（PPS（Picture Parameter Set））、スライスヘッダ、SEI等の、各種ヘッダ情報を生成する。
【００８１】
ステップＳ１０３において、イントラ予測部１２０は、イントラ予測処理を行い、予測画像を生成する。また、ステップＳ１０４において、インター予測部１２３は、インター予測処理を行い、予測画像を生成する。
【００８２】
ステップＳ１０５において、予測画像選択部１２４は、コスト関数値等に基づいて、ステップＳ１０３のイントラ予測処理により生成された予測画像と、ステップＳ１０４のインター予測処理により生成された予測画像のいずれか一方を選択する。
【００８３】
ステップＳ１０６において、演算部１１２は、ステップＳ１０１の処理によりフレーム順を並び替えられた入力画像と、ステップＳ１０５の処理により選択された予測画像との差分を演算する。つまり、演算部１１２は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【００８４】
ステップＳ１０７において、直交変換部１１３は、ステップＳ１０６の処理により生成された残差データを直交変換する。
【００８５】
ステップＳ１０８において、量子化部１１４は、ステップＳ１０７の処理により得られた直交変換係数を量子化する。
【００８６】
ステップＳ１０９において、逆量子化部１１７は、ステップＳ１０８の処理により生成された量子化された係数（量子化係数とも称する）を、その量子化の特性に対応する特性で逆量子化する。
【００８７】
ステップＳ１１０において、逆直交変換部１１８は、ステップＳ１０９の処理により得られた直交変換係数を逆直交変換する。
【００８８】
ステップＳ１１１において、演算部１１９は、ステップＳ１１０の処理により復元された残差データに、ステップＳ１０５の処理により選択された予測画像を加算することにより、再構成画像の画像データを生成する。
【００８９】
ステップＳ１１２においてループフィルタ１２１は、ステップＳ１１１の処理により生成された再構成画像の画像データにループフィルタ処理を行う。これにより、再構成画像のブロック歪み等が除去される。
【００９０】
ステップＳ１１３において、フレームメモリ１２２は、ステップＳ１１２の処理により得られた復号画像データを記憶する。
【００９１】
ステップＳ１１４において、nal_unit_type判定部１２６は、ナルユニットタイプ（nal_unit_type）判定処理を行い、ビットストリームの結合を示す情報（concatenation_flag）、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報（auCpbRemovalDelayMinus1）、並びに、ナルユニットタイプを示す情報（nal_unit_type）を設定する。
【００９２】
ステップＳ１１５において、可逆符号化部１１５は、ステップＳ１０８の処理により得られた、量子化された係数を符号化する。すなわち、残差データに対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【００９３】
また、このとき、可逆符号化部１１５は、ステップＳ１０５の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部１１５、イントラ予測部１２０から供給される最適イントラ予測モード情報、または、インター予測部１２３から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する（ビットストリームに含めるようにする）。
【００９４】
さらに、可逆符号化部１１５は、ステップＳ１１４において設定された、ビットストリームの結合を示す情報（concatenation_flag）、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報（auCpbRemovalDelayMinus1）、並びに、ナルユニットタイプを示す情報（nal_unit_type）を符号化し、符号化データに付加する（ビットストリームに含めるようにする）。
【００９５】
ステップＳ１１６において蓄積バッファ１１６は、ステップＳ１１５の処理により得られた符号化データ等を蓄積する。蓄積バッファ１１６に蓄積された符号化データ等は、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【００９６】
ステップＳ１１７において、レート制御部１２５は、ステップＳ１１６の処理により蓄積バッファ１１６に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部１１４の量子化動作のレートを制御する。また、レート制御部１２５は、量子化パラメータに関する情報を、量子化部１１４に供給する。
【００９７】
ステップＳ１１７の処理が終了すると、符号化処理が終了する。
【００９８】
＜ナルユニットタイプ判定処理の流れ＞
次に、図９のステップＳ１１４において実行されるナルユニットタイプ判定処理の流れの例を、図１０のフローチャートを参照して説明する。
【００９９】
ナルユニットタイプ判定処理が開始されると、nal_unit_type判定部１２６は、ステップＳ１３１において、ステップＳ１０２において生成されたヘッダ情報の中からisFirstPictureを取得する。ステップＳ１３２において、nal_unit_type判定部１２６は、ステップＳ１０２において生成されたヘッダ情報の中からisLastPictureを取得する。ステップＳ１３３において、nal_unit_type判定部１２６は、ステップＳ１０２において生成されたヘッダ情報の中からisReferencePictureを取得する。
【０１００】
ステップＳ１３４において、nal_unit_type判定部１２６は、concatenation_flagを「0（偽）」に設定する。ステップＳ１３５において、nal_unit_type判定部１２６は、auCpbRemovalDelayMinus1を「0（最小値）」に設定する。
【０１０１】
ステップＳ１３６において、nal_unit_type判定部１２６は、isFirstPictureの値が真（true）であるか否かを判定する。isFirstPictureの値が真（true）、すなわち、処理対象であるカレントピクチャがストリームの先頭のピクチャであると判定された場合、処理は、ステップＳ１３７に進む。
【０１０２】
ステップＳ１３７において、nal_unit_type判定部１２６は、concatenation_flagを「1（真）」に設定する。また、ステップＳ１３８において、nal_unit_type判定部１２６は、カレントピクチャのナルユニットタイプ（nal_unit_type）を、IDR_W_RADL若しくはIDR_N_LP（すなわち、IDRピクチャであることを示す値）に設定する。ステップＳ１３８の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図９に戻る。
【０１０３】
また、ステップＳ１３６において、isFirstPictureの値が偽（false）であり、処理対象であるカレントピクチャがストリームの先頭のピクチャでないと判定された場合、処理は、ステップＳ１３９に進む。
【０１０４】
ステップＳ１３９において、nal_unit_type判定部１２６は、isLastPictureの値が真（true）であるか否かを判定する。isLastPictureの値が真（true）、すなわち、処理対象であるカレントピクチャがストリームの終端のピクチャであると判定された場合、処理は、ステップＳ１４０に進む。
【０１０５】
ステップＳ１４０において、nal_unit_type判定部１２６は、カレントピクチャのナルユニットタイプ（nal_unit_type）を、TRAIL_R（すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値）に設定する。ステップＳ１４０の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図９に戻る。
【０１０６】
また、ステップＳ１３９において、isLastPictureの値が偽（false）であり、処理対象であるカレントピクチャがストリームの終端のピクチャでないと判定された場合、処理は、ステップＳ１４１に進む。
【０１０７】
ステップＳ１４１において、nal_unit_type判定部１２６は、isReferencePictureの値が真（true）であるか否かを判定する。isReferencePictureの値が真（true）、すなわち、処理対象であるカレントピクチャが参照ピクチャであると判定された場合、処理は、ステップＳ１４２に進む。
【０１０８】
ステップＳ１４２において、nal_unit_type判定部１２６は、カレントピクチャのナルユニットタイプ（nal_unit_type）を、TRAIL_R（すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値）に設定する。ステップＳ１４２の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図９に戻る。
【０１０９】
また、ステップＳ１４１において、isReferencePictureの値が偽（false）であり、処理対象であるカレントピクチャが参照ピクチャでないと判定された場合、処理は、ステップＳ１４３に進む。
【０１１０】
ステップＳ１４３において、nal_unit_type判定部１２６は、カレントピクチャのナルユニットタイプ（nal_unit_type）を、TRAIL_N（テンポラルサブレイヤでない非参照ピクチャであることを示す値）に設定する。ステップＳ１４３の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図９に戻る。
【０１１１】
＜レート制御処理の流れ＞
次に、図１１のフローチャートを参照して、図９のステップＳ１１７において実行されるレート制御処理の流れの例を説明する。
【０１１２】
レート制御処理が開始されると、HRDトレース部１４１は、ステップＳ１５１において、HRDトレース処理を行い、CPB位置を算出する。ステップＳ１５２において、Target Bit決定部１４２は、ターゲットビット決定処理を行い、ターゲットビット（Target Bit）を算出する。
【０１１３】
ステップＳ１５２の処理が終了すると、レート制御処理が終了し、処理は図９に戻る。
【０１１４】
＜HRDトレース処理の流れ＞
次に、図１１のステップＳ１５１において実行されるHRDトレース処理の流れの例を、図１２のフローチャートを参照して説明する。
【０１１５】
HRDトレース処理が開始されると、HRDトレース部１４１は、ステップＳ１６１において、ステップＳ１０２において生成されたヘッダ情報の中からtrace_rateを取得する。ステップＳ１６２において、HRDトレース部１４１は、ステップＳ１０２において生成されたヘッダ情報の中からframe_rateを取得する。ステップＳ１６３において、HRDトレース部１４１は、ステップＳ１０２において生成されたヘッダ情報の中からcpb_sizeを取得する。
【０１１６】
ステップＳ１６４において、HRDトレース部１４１は、trace_rateと符号化済みピクチャバッファ（CPB）の初期引き抜き遅延（CBPへのビットストリームの入力開始から、最初のアクセスユニット（AU）の引き抜き時刻までの時間）とに基づいて、CPB位置を以下の式（１）のように初期化する。
【０１１７】
cpb_pos = trace_rate * initial_cpb_removal_delay / 90000  ・・・（１）
【０１１８】
ステップＳ１６５において、HRDトレース部１４１は、各画像で発生する符号量（generated_bits）を取得する。ステップＳ１６６において、HRDトレース部１４１は、ステップＳ１０２において生成されたヘッダ情報の中からisLastPictureを取得する。
【０１１９】
ステップＳ１６７において、HRDトレース部１４１は、ステップＳ１６５においてgenerated_bitsを用いて、以下の式（２）のようにCPB位置（cpb_pos）を更新する（引き抜き分を減算する）。
【０１２０】
cpb_pos -= generated_bits  ・・・（２）
【０１２１】
ステップＳ１６８において、HRDトレース部１４１は、trace_rate およびframe_rateに基づいて、以下の式（３）のようにCPB位置（cpb_pos）を更新する（バッファ流入分を追加する）。
【０１２２】
cpb_pos += trace_rate / frame_rate  ・・・（３）
【０１２３】
ステップＳ１６９において、HRDトレース部１４１は、cpb_sizeを用いて、以下の式（４）のように、クリップ処理を行う。
【０１２４】
cpb_pos = min(cpb_pos, cpb_size)  ・・・（４）
【０１２５】
ステップＳ１７０において、HRDトレース部１４１は、isLastPictureが真（true）であるか否かを判定する。isLastPictureが偽（false）であり、カレントピクチャがストリームの終端のピクチャでないと判定された場合、処理は、ステップＳ１６５に戻り、それ以降の処理が繰り返される。すなわち、各ピクチャについて、ステップＳ１６５乃至ステップＳ１７０の各処理が実行される。
【０１２６】
ステップＳ１７０において、isLastPictureが真（true）であり、カレントピクチャがストリームの終端のピクチャであると判定された場合、HRDトレース処理が終了し、処理は図１１に戻る。
【０１２７】
＜ターゲットビット決定処理の流れ＞
次に、図１３のフローチャートを参照して、図１１のステップＳ１５２において実行されるターゲットビット決定処理の流れの例を説明する。
【０１２８】
ターゲットビット決定処理が開始されると、Target Bit決定部１４２は、ステップＳ１８１において、HRDトレース処理（図１２）において算出されたCPB位置を示す情報（cpb_pos）を取得する。また、ステップＳ１８２において、Target Bit決定部１４２は、ステップＳ１０２において生成されたヘッダ情報の中から、終端で期待されるCPB位置を示す情報（target_cpb_pos）を取得する。さらに、ステップＳ１８３において、Target Bit決定部１４２は、ステップＳ１０２において生成されたヘッダ情報の中から、CPBの終端を調整する期間であるか否かを示す情報（isAdjustPeriod）を取得する。
【０１２９】
ステップＳ１８４において、Target Bit決定部１４２は、発生符号量の目標値を示す情報であるターゲットビット（target bit）を算出する。このtarget bit算出方法は、任意である。
【０１３０】
ステップＳ１８５において、Target Bit決定部１４２は、isAdjustPeriodが真であり、かつ、cpb_posがtarget_cpb_posよりも低い位置にあるか否か（isAdjustPeriod && cpb_pos < target_cpb_pos）を判定する。
【０１３１】
isAdjustPeriodが真であり、かつ、cpb_posがtarget_cpb_posよりも低い位置にあると判定された場合、処理はステップＳ１８６に進む。
【０１３２】
ステップＳ１８６において、Target Bit決定部１４２は、終端で期待されるCPBの位置に収束させるように、target bitを以下の式（５）を用いて算出する。
【０１３３】
target bit -= gain * (target_cpb_pos - cpb_pos)  ・・・（５）
【０１３４】
なお、ここで、gainには、画像終端に近づくに従って大きな値を用いると良い。ここで算出されたターゲットビット（target bit）は、量子化部１１４に供給され利用される。つまり、量子化部１１４は、このターゲットビット（target bit）を用いて量子化を行う。ステップＳ１８６の処理が終了すると、ターゲットビット決定処理が終了し、処理は図１１に戻る。
【０１３５】
また、ステップＳ１８５において、isAdjustPeriodが偽であるか、若しくは、cpb_posがtarget_cpb_posよりも高い位置にある（cpb_pos ≧ target_cpb_pos）と判定された場合、ステップＳ１８６の処理が省略され、ターゲットビット決定処理が終了し、処理は図１１に戻る。
【０１３６】
＜ビットストリームの結合＞
図１４は、上述した各処理を実行する画像符号化装置１００が生成するビットストリームを結合する場合の例を示している。図１４のＡは、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図１４の結合においては、ストリームBの先頭がストリームAの終端に接続される。図１４のＢは、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【０１３７】
図１４に示されるように、この場合、Stream B concatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のピクチャは、prevNonDiscardablePicにするため、そのnal_unit_typeがTRAIL_Rとされる。このようにすることにより、Initial_cpb_removal_delayが正しい値であれば、ビットストリーム同士を単純に接続することができる。つまり、画像符号化装置１００は、上述した各処理を実行することにより、他のビットストリームとより容易に結合することができる状態のビットストリームを生成することができる。
【０１３８】
＜２．第２の実施の形態＞
＜ビットストリーム結合装置＞
以上においては、画像データを符号化してビットストリームを生成する際に、そのビットストリームを、より容易に他のビットストリームと結合することができる状態にするように説明したが、このように、より容易に他のビットストリームと結合することができる状態にするのは、ビットストリームを結合する前であれば、どのようなタイミングであっても可能である。
【０１３９】
例えば、ビットストリームを結合する直前に行うようにしてもよい。以下にその例を説明する。図１５は、ビットストリーム結合装置の主な構成例を示す図である。図１５に示されるビットストリーム結合装置２００は、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置２００は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
【０１４０】
図１５に示されるように、ビットストリーム結合装置２００は、バッファ判定部２１１、nal_unit_type書き換え部２１２、Buffering Period書き換え部２１３、およびビットストリーム結合部２１４を有する。
【０１４１】
バッファ判定部２１１は、バッファ判定処理を行い、ストリームA+BにおいてCPBが破綻しないように適宜再エンコードを行う。nal_unit_type書き換え部２１２は、ストリームAの終端のnal_unit_typeをprevNonDiscardablePicに該当する値に書き換える。Buffering Period書き換え部２１３は、Buffering Period SEIのシンタクスを書き換える。例えば、Buffering Period書き換え部２１３は、ストリームBの先頭のconcatenation_flagを「1（真）」に書き換え、ストリームBの先頭のauCpbRemovalDelayMinus1を「0（最小値）」に書き換える。ビットストリーム結合部２１４は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士（例えばストリームAとストリームB）を結合する。
【０１４２】
このようにすることにより、ビットストリーム結合装置２００は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
【０１４３】
・結合されるビットストリームの終端のnal_unit_typeがprevNonDiscardablePicの条件を満たす（例えば、TRAIL_Rなど）。
・結合されるビットストリームの終端のcpb位置が結合するビットストリーム先頭のcpb位置よりも高い。シンタクスでは、initial_cpb_removal_delayの値が高い。
・結合するビットストリームの先頭がconcatenation_flag=1である。
・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている（例えば、auCpbRemovalDelayDeltaMinus1=0）。
【０１４４】
これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができるようになる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置２００は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
【０１４５】
＜ビットストリーム結合処理の流れ＞
次に、ビットストリーム結合装置２００により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図１６のフローチャートを参照して説明する。
【０１４６】
ビットストリーム結合処理が開始されると、ビットストリーム結合装置２００のバッファ判定部２１１は、ステップＳ２０１においてストリームAを取得し、ステップＳ２０２においてストリームBを取得する。
【０１４７】
ステップＳ２０３において、バッファ判定部２１１は、バッファ判定処理を行い、各ストリームのCPB位置の調整を行う。
【０１４８】
ステップＳ２０４において、nal_unit_type書き換え部２１２は、ナルユニット書き換え処理を行い、結合されるストリームAの終端のnal_unit_typeをprevNonDiscardablePicに該当する値に書き換える。
【０１４９】
ステップＳ２０５において、Buffering Period書き換え部２１３は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「1（真）」に書き換え、ストリームBの先頭のauCpbRemovalDelayMinus1を「0（最小値）」に書き換える。
【０１５０】
ステップＳ２０６において、ビットストリーム結合部２１４は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部２１４は、ストリームAの終端にストリームBの先頭を接続する。
【０１５１】
ステップＳ２０７において、ビットストリーム結合部２１４は、結合したビットストリーム（ストリームA+B）をビットストリーム結合装置２００の外部に出力する。
【０１５２】
ステップＳ２０７の処理が終了すると、ビットストリーム結合処理が終了する。
【０１５３】
＜バッファ判定処理の流れ＞
次に、図１７のフローチャートを参照して、図１６のステップＳ２０３において実行されるバッファ判定処理の流れの例を説明する。バッファ判定処理が開始されると、ステップＳ２２１において、バッファ判定部２１１は、ストリームAの終端のCPB位置（cpb_pos_A）を算出する。ステップＳ２２２において、バッファ判定部２１１は、ストリームBの終端のCPB位置（cpb_pos_B）を算出する。
【０１５４】
ステップＳ２２３において、バッファ判定部２１１は、cpb_pos_A < cpb_pos_Bが真であるか否かを判定する。cpb_pos_A < cpb_pos_Bが真であると判定された場合、処理は、ステップＳ２２４に進む。
【０１５５】
ステップＳ２２４において、バッファ判定部２１１は、仮想参照デコーダが破綻しないように、cpb_pos_Aがcpb_pos_Bより大きくなるように再エンコードする。この再エンコードの仕方は任意である。例えば、バッファ判定部２１１が、ストリームAを再エンコードするようにしてもよい。また、再エンコードするピクチャの範囲は任意である。例えば、ストリームAの終端のピクチャのみを再エンコードするようにしてもよいし、ストリームAの終端から数ピクチャを再エンコードするようにしてもよい。さらにその際、各ピクチャの圧縮率を、終端に向かって徐々に大きくなるようにしてもよい。逆にストリームBを再エンコードするようにしてもよい。
【０１５６】
ステップＳ２２４の処理が終了すると、処理は、図１６に戻る。また、ステップＳ２２３において、cpb_pos_A < cpb_pos_Bが偽であると判定された場合、ステップＳ２２４の処理が省略され、バッファ判定処理が終了し、処理は図１６に戻る。
【０１５７】
＜ナルユニットタイプ書き換え処理の流れ＞
次に、図１８のフローチャートを参照して、図１６のステップＳ２０４において実行されるナルユニットタイプ書き換え処理の流れの例を説明する。ナルユニットタイプ書き換え処理が開始されると、nal_unit_type書き換え部２１２は、ステップＳ２４１において、ストリームAの終端のnal_unit_typeであるnal_unit_type_Aを調べる（参照する）。
【０１５８】
ステップＳ２４２において、nal_unit_type書き換え部２１２は、ステップＳ２４１の調査結果に基づいて、nal_unit_type_AがprevNonDisCardablePicに該当するか否かを判定する。該当しないと判定された場合処理はステップＳ２４３に進む。
【０１５９】
ステップＳ２４３において、nal_unit_type書き換え部２１２は、nal_unit_type_AをprevNonDsicardableに該当するnal_unit_typeに書き換える。ステップＳ２４３の処理が終了すると、ナルユニットタイプ書き換え処理が終了し、処理は図１６に戻る。
【０１６０】
また、ステップＳ２４２において、nal_unit_type_AがprevNonDisCardablePicに該当すると判定された場合、ステップＳ２４３の処理が省略され、ナルユニットタイプ書き換え処理が終了し、処理は図１６に戻る。
【０１６１】
＜バッファリングピリオド書き換え処理の流れ＞
次に、図１９のフローチャートを参照して、図１６のステップＳ２０５において実行されるバッファリングピリオド書き換え処理の流れの例を説明する。
【０１６２】
バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIを調べる。ステップＳ２６１において、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIのconcatenation_flagが「1（真）」であるか否かを判定する。concatenation_flagが「0（偽）」であると反映された場合、処理はステップＳ２６２に進む。
【０１６３】
ステップＳ２６２において、Buffering Period書き換え部２１３は、concatenation_flagを「1（真）」に書き換える。ステップＳ２６２の処理が終了すると、処理は、ステップＳ２６３に進む。
【０１６４】
また、ステップＳ２６１において、concatenation_flagが「1（真）」であると反映された場合、ステップＳ２６２の処理が省略され、処理はステップＳ２６３に進む。
【０１６５】
ステップＳ２６３において、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1が「0（最小値）」であるか否かを判定する。auCpbRemovalDelayDeltaMinus1が「0（最小値）」でないと反映された場合、処理はステップＳ２６４に進む。
【０１６６】
ステップＳ２６４において、Buffering Period書き換え部２１３は、そのauCpbRemovalDelayDeltaMinus1を「0（最小値）」に設定する。ステップＳ２６４の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図１６に戻る。
【０１６７】
また、ステップＳ２６３において、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1が「0（最小値）」であると判定された場合、ステップＳ２６４の処理が省略され、バッファリングピリオド書き換え処理が終了し、処理は図１６に戻る。
【０１６８】
＜ビットストリームの結合＞
図２０は、上述した各処理を実行するビットストリーム結合装置２００がビットストリームを結合する場合の例を示している。図２０のＡは、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図２０の結合においては、ストリームBの先頭がストリームAの終端に接続される。図２０のＢは、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【０１６９】
図２０に示されるように、この場合、Stream Bのconcatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のピクチャは、prevNonDiscardablePicにするため、そのnal_unit_typeがTRAIL_Rとされる。このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置２００は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
【０１７０】
＜３．第３の実施の形態＞
＜ビットストリーム結合装置＞
図２１は、ビットストリーム結合装置の他の構成例を示す図である。図２１に示されるビットストリーム結合装置３００は、ビットストリーム結合装置２００（図１５）の場合と同様に、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置３００は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
【０１７１】
図２１に示されるように、ビットストリーム結合装置３００は、バッファ判定部２１１、prevNonDiscardablePic探索部３１２、Buffering Period書き換え部２１３、およびビットストリーム結合部２１４を有する。
【０１７２】
prevNonDiscardablePic探索部３１２は、prevNonDiscardablePicの位置を探索する。また、Buffering Period書き換え部２１３は、この場合、ストリームBの先頭のconcatenation_flagを「1（真）」に書き換え、ストリームBのauCpbRemovalDelayDeltaMinus1を（auCpbRemovalDelayDelta-1）に書き換える。
【０１７３】
このようにすることにより、ビットストリーム結合装置３００は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
【０１７４】
・結合されるビットストリームの終端のcpb位置が結合するビットストリームの先頭のcpb位置よりも高い。シンタクスとしてはinitial_cpb_removal_delayの値が高い。
・結合するビットストリームの先頭がconcatenation_flag=1である。
・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている（例えばauCpbRemovalDelayDeltaMinus1=2）
【０１７５】
これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置３００は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
【０１７６】
＜ビットストリーム結合処理の流れ＞
次に、ビットストリーム結合装置３００により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図２２のフローチャートを参照して説明する。
【０１７７】
ビットストリーム結合処理が開始されると、ビットストリーム結合装置３００のバッファ判定部２１１は、ステップＳ３０１においてストリームAを取得し、ステップＳ３０２においてストリームBを取得する。
【０１７８】
ステップＳ３０３において、バッファ判定部２１１は、図１６のステップＳ２０３の場合と同様にバッファ判定処理（図１７）を行い、各ストリームのCPB位置の調整を行う。
【０１７９】
ステップＳ３０４において、prevNonDiscardablePic探索部３１２は、プレブノンディスカーダブルピクチャ探索処理を行い、prevNonDiscardablePicの位置を探索する。
【０１８０】
ステップＳ３０５において、Buffering Period書き換え部２１３は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「1（真）」に書き換える等の処理を行う。
【０１８１】
ステップＳ３０６において、ビットストリーム結合部２１４は、図１６のステップＳ２０６の場合と同様に、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部２１４は、ストリームAの終端にストリームBの先頭を接続する。
【０１８２】
ステップＳ３０７において、ビットストリーム結合部２１４は、図１６のステップＳ２０６の場合と同様に、結合したビットストリーム（ストリームA+B）をビットストリーム結合装置２００の外部に出力する。
【０１８３】
ステップＳ３０７の処理が終了すると、ビットストリーム結合処理が終了する。
【０１８４】
＜プレブノンディスカーダブルピクチャ探索処理の流れ＞
次に、図２３のフローチャートを参照して、図２２のステップＳ３０４において実行されるプレブノンディスカーダブルピクチャ探索処理の流れの例を説明する。
【０１８５】
プレブノンディスカーダブルピクチャ探索処理が開始されると、prevNonDiscardablePic探索部３１２は、ステップＳ３２１において、ストリームAの終端のprevNonDiscardablePicの位置を調べる。
【０１８６】
ステップＳ３２２において、prevNonDiscardablePic探索部３１２は、ビットストリーム終端のアクセスユニット（AU）の位置と、prevNonDiscardablePicの差分auCpbRemovalDelayDeltaを算出する。
【０１８７】
ステップＳ３２２が終了すると、プレブノンディスカーダブルピクチャ探索処理が終了し、処理は図２２に戻る。
【０１８８】
＜バッファリングピリオド書き換え処理の流れ＞
次に、図２２のステップＳ３０５において実行されるバッファリングピリオド書き換え処理の流れの例を、図２４のフローチャートを参照して説明する。
【０１８９】
バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIを調べる。ステップＳ３４１において、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIのconcatenation_flagが「1（真）」であるか否かを判定する。concatenation_flagが「0（偽）」であると反映された場合、処理はステップＳ３４２に進む。
【０１９０】
ステップＳ３４２において、Buffering Period書き換え部２１３は、concatenation_flagを「1（真）」に書き換える。ステップＳ３４２の処理が終了すると、処理は、ステップＳ３４３に進む。
【０１９１】
また、ステップＳ３４１において、concatenation_flagが「1（真）」であると反映された場合、ステップＳ３４２の処理が省略され、処理はステップＳ３４３に進む。
【０１９２】
ステップＳ３４３において、Buffering Period書き換え部２１３は、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1を「auCpbRemovalDelayDelta - 1」に書き換える。ステップＳ３４３の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図２２に戻る。
【０１９３】
＜ビットストリームの結合＞
図２５は、上述した各処理を実行するビットストリーム結合装置３００がビットストリームを結合する場合の例を示している。図２５のＡは、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図２５の結合においては、ストリームBの先頭がストリームAの終端に接続される。図２５のＢは、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【０１９４】
図２５に示されるように、この場合、Stream Bのconcatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のprevNonDiscardablePicの位置を確認してauCpbRemovalDelayDeltaMinus1が書き換えられる。このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置３００は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
【０１９５】
＜４．第４の実施の形態＞
＜ビットストリーム結合装置＞
図２６は、ビットストリーム結合装置の他の構成例を示す図である。図２６に示されるビットストリーム結合装置４００は、ビットストリーム結合装置２００（図１５）の場合と同様に、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置４００は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
【０１９６】
図２６に示されるように、ビットストリーム結合装置３００は、バッファ判定部２１１、prevNonDiscardablePic探索部３１２、prevCpbRemovalDelay探索部４１３、Buffering Period書き換え部４１４、Picture Timing SEI書き換え部４１５、およびビットストリーム結合部２１４を有する。
【０１９７】
prevCpbRemovalDelay探索部４１３は、prevCpbRemovalDelayを探索する。Buffering Period書き換え部４１４は、Buffering Period SEIのシンタクスを書き換える。Picture Timing SEI書き換え部４１５は、Picture Timing SEIのシンタクスを書き換える。
【０１９８】
このようにすることにより、ビットストリーム結合装置４００は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
【０１９９】
・結合されるビットストリームの終端のcpb位置が結合するビットストリームの先頭のcpb位置よりも高いこと。シンタクスとしては、initial_cpb_removal_delayの値が高い。
・結合するビットストリームの先頭がconcatenation_flag=0である。
・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている（例えば、auCpbRemovalDelayDeltaMinus1=2）。
・結合するビットストリームの先頭のau_cpb_removal_delay_minus1が、結合されるビットストリームの終端のau_cpb_removal_delay_minus1+1である。
【０２００】
これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができるようになる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置４００は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
【０２０１】
＜ビットストリーム結合処理の流れ＞
次に、ビットストリーム結合装置４００により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図２７のフローチャートを参照して説明する。
【０２０２】
ビットストリーム結合処理が開始されると、ビットストリーム結合装置２００のバッファ判定部２１１は、ステップＳ４０１においてストリームAを取得し、ステップＳ４０２においてストリームBを取得する。
【０２０３】
ステップＳ４０３において、バッファ判定部２１１は、図１６のステップＳ２０３の場合と同様に、バッファ判定処理（図１７）を行い、各ストリームのCPB位置の調整を行う。
【０２０４】
ステップＳ４０４において、prevNonDiscardablePic探索部３１２は、図２２のステップＳ３０４の場合と同様に、プレブノンディスカーダブルピクチャ探索処理を行い、prevNonDiscardablePicの位置を探索する。
【０２０５】
ステップＳ４０５において、prevCpbRemovalDelay探索部４１３は、プレブCpbリムーバルディレイ探索処理を行い、prevCpbRemovalDelayの位置を探索する。
【０２０６】
ステップＳ４０６において、Buffering Period書き換え部４１４は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「0（真）」に書き換え、ストリームBの先頭のauCpbRemovalDelayDeltaMinus1をauCpbRemovalDelayDelta - 1に書き換える。
【０２０７】
ステップＳ４０７において、Picture Timing SEI書き換え部４１５は、ピクチャタイミングSEI書き換え処理を行い、Picture Timing SEIのシンタクスを書き換える。
【０２０８】
ステップＳ４０８において、ビットストリーム結合部２１４は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部２１４は、ストリームAの終端にストリームBの先頭を接続する。
【０２０９】
ステップＳ４０９において、ビットストリーム結合部２１４は、結合したビットストリーム（ストリームA+B）をビットストリーム結合装置２００の外部に出力する。
【０２１０】
ステップＳ４０９の処理が終了すると、ビットストリーム結合処理が終了する。
【０２１１】
＜プレブCpbリムーバルディレイ探索処理の流れ＞
次に、図２７のステップＳ４０５において実行されるプレブCpbリムーバルディレイ探索処理の流れの例を、図２８のフローチャートを参照して説明する。
【０２１２】
プレブCpbリムーバルディレイ探索処理が開始されると、prevCpbRemovalDelay探索部４１３は、ステップＳ４２１において、結合されるストリームAの終端のPicture Timing SEIのau_cpb_removal_delay_minus1をprevCpbRemovalDelayとする。
【０２１３】
ステップＳ４２１の処理が終了すると、プレブCpbリムーバルディレイ探索処理が終了し、処理は図２７に戻る。
【０２１４】
＜バッファリングピリオド書き換え処理の流れ＞
次に、図２７のステップＳ４０６において実行されるバッファリングピリオド書き換え処理の流れの例を、図２９のフローチャートを参照して説明する。
【０２１５】
バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部４１４は、ステップＳ４４１において、結合するストリームBの先頭のBuffering Period SEIのconcatenation_flagの値が「1（真）」であるか否かを判定する。concatenation_flag == 1であると判定された場合、処理はステップＳ４４２に進む。
【０２１６】
ステップＳ４４２において、Buffering Period書き換え部４１４は、concatenation_flagの値を「0（偽）」に書き換える。ステップＳ４４２の処理が終了すると、処理はステップＳ４４３に進む。また、ステップＳ４４１において、concatenation_flag == 1でない（concatenation_flag == 0である）と判定された場合、ステップＳ４４２の処理は省略され、処理はステップＳ４４３に進む。
【０２１７】
ステップＳ４４３において、Buffering Period書き換え部４１４は、auCpbRemovalDelayDeltaMinus1の値を（auCpbRemovalDelayDelta - 1）に書き換える（すなわち、auCpbRemovalDelayDeltaMinus1 = auCpbRemovalDelayDelta - 1とする）。
【０２１８】
ステップＳ４４３の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図２７に戻る。
【０２１９】
＜ピクチャタイミングSEI書き換え処理の流れ＞
次に、図２７のステップＳ４０７において実行されるピクチャタイミングSEI書き換え処理の流れの例を、図３０のフローチャートを参照して説明する。
【０２２０】
ピクチャタイミングSEI書き換え処理が開始されると、Picture Timing SEI書き換え部４１５は、ステップＳ４６１において、結合するストリームBの先頭のPicture Timing SEIのau_cpb_removal_delay_minus1をprevCpbRemovalDelay + 1に書き換える。
【０２２１】
ステップＳ４６１の処理が終了すると、ピクチャタイミングSEI書き換え処理が終了し、処理は図２７に戻る。
【０２２２】
＜ビットストリームの結合＞
図３１は、上述した各処理を実行するビットストリーム結合装置４００がビットストリームを結合する場合の例を示している。図３１のＡは、結合前の各ビットストリーム（ストリームA、ストリームB）の一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。図３１の結合においては、ストリームBの先頭がストリームAの終端に接続される。図３１のＢは、その結合後のビットストリームであるストリームA+Bの一部（接続される部分の近傍の）のフレームについてのパラメータ（例えば仮想参照デコーダに関するパラメータ等）の例を示している。
【０２２３】
図３１に示されるように、この場合、Stream Bのconcatenation_flag=0とし、IDRでau_cpb_removal_delay_minus1=0として運用する。なお、stream Bの先頭のau_cpb_removal_delay_minus1は、Stream Aの終端のprevCpbRemovalDelay + 1にする。そして、Stream Aの終端のprevNonDiscardablePicの位置を確認してauCpbRemovalDelayDeltaMinus1が書き換えられる。
【０２２４】
このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置４００は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
【０２２５】
＜付加情報＞
なお、ビットストリームには、上述したような結合の際に行われる処理に使用される情報を付加するようにしてもよい。例えば、prevNonDiscardablePicは、ビットストリーム中のどこにあるのかわからないため、上述したように探索しなければならならいが、そのためには、ビットストリームの終端から各ピクチャの情報を参照しなければならず、処理の負荷が増大する恐れがある。
【０２２６】
そこで、どのピクチャがprevNonDiscardablePicであるかを示す情報を予めビットストリーム中に含めるようにしてもよい。このようにすることにより、その情報に基づいてprevNonDiscardablePicをより容易に探索することができ、処理の負荷の増大を抑制することができる。
【０２２７】
このようなprevNonDiscardablePicを示す情報は、ビットストリームのどのような位置に付加するようにしてもよい。例えば、アクセスユニット（AU）の先頭に配置するようにしてもよい。また、GOPの先頭に配置するようにしてもよい。また、例えば、AUの先頭とGOPの先頭のように、同一の情報を複数の位置に配置するようにしてもよい。ビットストリームは、編集により、その一部がカットされたりするおそれがあるため、このように同一の情報を複数の位置に配置することにより、そのような編集により情報が欠落することを抑制することができる。
【０２２８】
また、このような付加情報として、例えば、prevNonDiscardablePicを探索する範囲を指定する情報をビットストリームに付加するようにしてもよい。このような情報に基づいて探索範囲を限定することにより、処理の負荷が不要に増大するのを抑制することができる。
【０２２９】
もちろん、ビットストリームに付加する情報は任意であり、上述した例に限定されない。
【０２３０】
本技術の適用範囲は、画像データを符号化可能なあらゆる画像符号化装置並びに画像データのビットストリームを結合可能なあらゆる画像処理装置に適用することができる。
【０２３１】
また、本技術は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる装置に適用することができる。
【０２３２】
＜５．第５の実施の形態＞
＜コンピュータ＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０２３３】
図３２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２３４】
図３２に示されるコンピュータ８００において、CPU（Central Processing Unit）８０１、ROM（Read Only Memory）８０２、RAM（Random Access Memory）８０３は、バス８０４を介して相互に接続されている。
【０２３５】
バス８０４にはまた、入出力インタフェース８１０も接続されている。入出力インタフェース８１０には、入力部８１１、出力部８１２、記憶部８１３、通信部８１４、およびドライブ８１５が接続されている。
【０２３６】
入力部８１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部８１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部８１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部８１４は、例えば、ネットワークインタフェースよりなる。ドライブ８１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８２１を駆動する。
【０２３７】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８１３に記憶されているプログラムを、入出力インタフェース８１０およびバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。RAM８０３にはまた、CPU８０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２３８】
コンピュータ（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア８２１をドライブ８１５に装着することにより、入出力インタフェース８１０を介して、記憶部８１３にインストールすることができる。
【０２３９】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部８１４で受信し、記憶部８１３にインストールすることができる。
【０２４０】
その他、このプログラムは、ROM８０２や記憶部８１３に、あらかじめインストールしておくこともできる。
【０２４１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２４２】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４３】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２４４】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０２４５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２４６】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２４７】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２４８】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２４９】
上述した実施形態に係る画像符号化装置及びビットストリーム結合装置は、例えば、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０２５０】
＜６．第６の実施の形態＞
＜第１の応用例：テレビジョン受像機＞
図３３は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース（I/F）部９０９、制御部９１０、ユーザインタフェース（I/F）部９１１、及びバス９１２を備える。
【０２５１】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０２５２】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０２５３】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０２５４】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０２５５】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０２５６】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０２５７】
外部インタフェース部９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース部９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０２５８】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０２５９】
ユーザインタフェース部９１１は、制御部９１０と接続される。ユーザインタフェース部９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０２６０】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９及び制御部９１０を相互に接続する。
【０２６１】
このように構成されたテレビジョン装置９００において、例えば映像信号処理部９０５が、上述した画像符号化装置１００の機能を有するようにしてもよい。例えば、映像信号処理部９０５が、デコーダ９０４から供給される画像データを上述した方法で符号化するようにしてもよい。映像信号処理部９０５は、その符号化により得られた符号化データ（ビットストリーム）を、例えば、外部インタフェース部９０９に供給し、外部インタフェース部９０９からテレビジョン装置９００の外部に出力させる。したがって、テレビジョン装置９００は、処理対象となる画像を符号化したビットストリームを、より容易に他のビットストリームと結合可能な状態にして出力することができる。
【０２６２】
また、例えば、映像信号処理部９０５が、上述したビットストリーム結合装置（ビットストリーム結合装置２００乃至ビットストリーム結合装置４００のいずれか）の機能を有するようにしてもよい。例えば、映像信号処理部９０５が、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、テレビジョン装置９００（映像信号処理部９０５）は、より容易にビットストリーム同士を結合することができる。映像信号処理部９０５は、例えば、このようにして得られた符号化データ（ビットストリーム）を外部インタフェース部９０９に供給し、外部インタフェース部９０９からテレビジョン装置９００の外部に出力させたりすることができる。
【０２６３】
＜第２の応用例：携帯電話機＞
図３４は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０２６４】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０２６５】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０２６６】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０２６７】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０２６８】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Universal Serial Bus）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０２６９】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０２７０】
さらに、画像表示モードにおいて、記録再生部９２９は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部９２７へ出力する。画像処理部９２７は、記録再生部９２９から入力される符号化ストリームを復号し、画像データを表示部９３０に供給し、その画像を表示させる。
【０２７１】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０２７２】
このように構成された携帯電話機９２０において、例えば画像処理部９２７が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９２７が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機９２０は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
【０２７３】
また、例えば、画像処理部９２７が、上述したビットストリーム結合装置（ビットストリーム結合装置２００乃至ビットストリーム結合装置４００のいずれか）の機能を有するようにしてもよい。例えば、画像処理部９２７が、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、携帯電話機９２０（画像処理部９２７）は、より容易にビットストリーム同士を結合することができる。画像処理部９２７は、例えば、このようにして得られた符号化データ（ビットストリーム）を、記録再生部９２９に供給してその記憶媒体に書き込ませたり、通信部９２２を介して送信させたりすることができる。
【０２７４】
＜第３の応用例：記録再生装置＞
図３５は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データおよび映像データを復号する。
【０２７５】
記録再生装置９４０は、チューナ９４１、外部インタフェース（I/F）部９４２、エンコーダ９４３、HDD（Hard Disk Drive）部９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）部９４８、制御部９４９、およびユーザインタフェース（I/F）部９５０を備える。
【０２７６】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送部としての役割を有する。
【０２７７】
外部インタフェース部９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部９４２は、例えば、IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部９４２を介して受信される映像データおよび音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース部９４２は、記録再生装置９４０における伝送部としての役割を有する。
【０２７８】
エンコーダ９４３は、外部インタフェース部９４２から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０２７９】
HDD部９４４は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD部９４４は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
【０２８０】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVD（Digital Versatile Disc）ディスク（DVD-Video、DVD-RAM（DVD - Random Access Memory）、DVD-R（DVD - Recordable）、DVD-RW（DVD - Rewritable）、DVD+R（DVD + Recordable）、DVD+RW（DVD + Rewritable）等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０２８１】
セレクタ９４６は、映像および音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD部９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD部９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０２８２】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD部９４８へ出力する。また、デコーダ９４７は、生成した音声データを外部のスピーカへ出力する。
【０２８３】
OSD部９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD部９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０２８４】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０２８５】
ユーザインタフェース部９５０は、制御部９４９と接続される。ユーザインタフェース部９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０２８６】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、エンコーダ９４３が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、記録再生装置９４０は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
【０２８７】
また、例えば、エンコーダ９４３が、上述したビットストリーム結合装置（ビットストリーム結合装置２００乃至ビットストリーム結合装置４００のいずれか）の機能を有するようにしてもよい。例えば、エンコーダ９４３が、画像データの符号化だけでなく、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、記録再生装置９４０（エンコーダ９４３）は、より容易にビットストリーム同士を結合することができる。
【０２８８】
＜第４の応用例：撮像装置＞
図３６は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０２８９】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース（I/F）部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、制御部９７０、ユーザインタフェース（I/F）部９７１、およびバス９７２を備える。
【０２９０】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース部９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、および制御部９７０を相互に接続する。
【０２９１】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０２９２】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０２９３】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース部９６６またはメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース部９６６またはメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD部９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０２９４】
OSD部９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０２９５】
外部インタフェース部９６６は、例えばUSB入出力端子として構成される。外部インタフェース部９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース部９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース部９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部９６６は、撮像装置９６０における伝送部としての役割を有する。
【０２９６】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０２９７】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０２９８】
ユーザインタフェース部９７１は、制御部９７０と接続される。ユーザインタフェース部９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０２９９】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９６４が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、撮像装置９６０は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
【０３００】
また、例えば、画像処理部９６４が、上述したビットストリーム結合装置（ビットストリーム結合装置２００乃至ビットストリーム結合装置４００のいずれか）の機能を有するようにしてもよい。例えば、画像処理部９６４が、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、撮像装置９６０（画像処理部９６４）は、より容易にビットストリーム同士を結合することができる。
【０３０１】
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
【０３０２】
＜７．第７の実施の形態＞
＜実施のその他の例＞
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。
【０３０３】
＜ビデオセット＞
本技術をセットとして実施する場合の例について、図３７を参照して説明する。図３７は、本技術を適用したビデオセットの概略的な構成の一例を示している。
【０３０４】
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、１機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する１セットとして実施を行う場合も多く見られるようになってきた。
【０３０５】
図３７に示されるビデオセット１３００は、このような多機能化された構成であり、画像の符号化や復号（いずれか一方でもよいし、両方でも良い）に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
【０３０６】
図３７に示されるように、ビデオセット１３００は、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４等のモジュール群と、コネクティビティ１３２１、カメラ１３２２、およびセンサ１３２３等の関連する機能を有するデバイスとを有する。
【０３０７】
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
【０３０８】
図３７の例の場合、ビデオモジュール１３１１は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム１３３３、およびRFモジュール１３３４を有する。
【０３０９】
プロセッサは、所定の機能を有する構成をSoC（System On a Chip）により半導体チップに集積したものであり、例えばシステムLSI（Large Scale Integration）等と称されるものもある。この所定の機能を有する構成は、論理回路（ハードウエア構成）であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム（ソフトウエア構成）であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路（ハードウエア構成）により実現し、その他の機能をCPUにおいて実行されるプログラム（ソフトウエア構成）により実現するようにしてもよい。
【０３１０】
図３７のアプリケーションプロセッサ１３３１は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ１３３１において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ１３３２等、ビデオモジュール１３１１内外の構成を必要に応じて制御することもできる。
【０３１１】
ビデオプロセッサ１３３２は、画像の符号化・復号（その一方若しくは両方）に関する機能を有するプロセッサである。
【０３１２】
ブロードバンドモデム１３３３は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線（またはその両方）の広帯域通信により送信するデータ（デジタル信号）をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ（デジタル信号）に変換したりする。ブロードバンドモデム１３３３は、例えば、ビデオプロセッサ１３３２が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
【０３１３】
RFモジュール１３３４は、アンテナを介して送受信されるRF（Radio Frequency）信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール１３３４は、ブロードバンドモデム１３３３により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール１３３４は、フロントエンドモジュール１３１４を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
【０３１４】
なお、図３７において点線１３４１に示されるように、アプリケーションプロセッサ１３３１とビデオプロセッサ１３３２を、一体化し、１つのプロセッサとして構成されるようにしてもよい。
【０３１５】
外部メモリ１３１２は、ビデオモジュール１３１１の外部に設けられた、ビデオモジュール１３１１により利用される記憶デバイスを有するモジュールである。この外部メモリ１３１２の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM（Dynamic Random Access Memory）のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
【０３１６】
パワーマネージメントモジュール１３１３は、ビデオモジュール１３１１（ビデオモジュール１３１１内の各構成）への電力供給を管理し、制御する。
【０３１７】
フロントエンドモジュール１３１４は、RFモジュール１３３４に対してフロントエンド機能（アンテナ側の送受信端の回路）を提供するモジュールである。図３７に示されるように、フロントエンドモジュール１３１４は、例えば、アンテナ部１３５１、フィルタ１３５２、および増幅部１３５３を有する。
【０３１８】
アンテナ部１３５１は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部１３５１は、増幅部１３５３から供給される信号を無線信号として送信し、受信した無線信号を電気信号（RF信号）としてフィルタ１３５２に供給する。フィルタ１３５２は、アンテナ部１３５１を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール１３３４に供給する。増幅部１３５３は、RFモジュール１３３４から供給されるRF信号を増幅し、アンテナ部１３５１に供給する。
【０３１９】
コネクティビティ１３２１は、外部との接続に関する機能を有するモジュールである。コネクティビティ１３２１の物理構成は、任意である。例えば、コネクティビティ１３２１は、ブロードバンドモデム１３３３が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
【０３２０】
例えば、コネクティビティ１３２１が、Bluetooth（登録商標）、IEEE 802.11（例えばWi-Fi（Wireless Fidelity、登録商標））、NFC（Near Field Communication）、IrDA（InfraRed Data Association）等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ１３２１が、USB（Universal Serial Bus）、HDMI（登録商標）（High-Definition Multimedia Interface）等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ１３２１が、アナログ入出力端子等のその他のデータ（信号）伝送機能等を有するようにしてもよい。
【０３２１】
なお、コネクティビティ１３２１が、データ（信号）の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ１３２１が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ（リムーバブルメディアのドライブだけでなく、ハードディスク、SSD（Solid State Drive）、NAS（Network Attached Storage）等も含む）を有するようにしてもよい。また、コネクティビティ１３２１が、画像や音声の出力デバイス（モニタやスピーカ等）を有するようにしてもよい。
【０３２２】
カメラ１３２２は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ１３２２の撮像により得られた画像データは、例えば、ビデオプロセッサ１３３２に供給されて符号化される。
【０３２３】
センサ１３２３は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ１３２３により検出されたデータは、例えば、アプリケーションプロセッサ１３３１に供給されてアプリケーション等により利用される。
【０３２４】
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
【０３２５】
以上のような構成のビデオセット１３００において、後述するようにビデオプロセッサ１３３２に本技術を適用することができる。したがって、ビデオセット１３００は、本技術を適用したセットとして実施することができる。
【０３２６】
＜ビデオプロセッサの構成例＞
図３８は、本技術を適用したビデオプロセッサ１３３２（図３７）の概略的な構成の一例を示している。
【０３２７】
図３８の例の場合、ビデオプロセッサ１３３２は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
【０３２８】
図３８に示されるように、ビデオプロセッサ１３３２は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、フレームメモリ１４０５、およびメモリ制御部１４０６を有する。また、ビデオプロセッサ１３３２は、エンコード・デコードエンジン１４０７、ビデオES（Elementary Stream）バッファ１４０８Ａおよび１４０８Ｂ、並びに、オーディオESバッファ１４０９Ａおよび１４０９Ｂを有する。さらに、ビデオプロセッサ１３３２は、オーディオエンコーダ１４１０、オーディオデコーダ１４１１、多重化部（MUX（Multiplexer））１４１２、逆多重化部（DMUX（Demultiplexer））１４１３、およびストリームバッファ１４１４を有する。
【０３２９】
ビデオ入力処理部１４０１は、例えばコネクティビティ１３２１（図３７）等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第１画像拡大縮小部１４０２は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第２画像拡大縮小部１４０３は、画像データに対して、ビデオ出力処理部１４０４を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第１画像拡大縮小部１４０２と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部１４０４は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ１３２１等に出力する。
【０３３０】
フレームメモリ１４０５は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、およびエンコード・デコードエンジン１４０７によって共用される画像データ用のメモリである。フレームメモリ１４０５は、例えばDRAM等の半導体メモリとして実現される。
【０３３１】
メモリ制御部１４０６は、エンコード・デコードエンジン１４０７からの同期信号を受けて、アクセス管理テーブル１４０６Ａに書き込まれたフレームメモリ１４０５へのアクセススケジュールに従ってフレームメモリ１４０５に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル１４０６Ａは、エンコード・デコードエンジン１４０７、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３等で実行される処理に応じて、メモリ制御部１４０６により更新される。
【０３３２】
エンコード・デコードエンジン１４０７は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン１４０７は、フレームメモリ１４０５から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ１４０８Ａに順次書き込む。また、例えば、ビデオESバッファ１４０８Ｂからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ１４０５に順次書き込む。エンコード・デコードエンジン１４０７は、これらの符号化や復号において、フレームメモリ１４０５を作業領域として使用する。また、エンコード・デコードエンジン１４０７は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部１４０６に対して同期信号を出力する。
【０３３３】
ビデオESバッファ１４０８Ａは、エンコード・デコードエンジン１４０７によって生成されたビデオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。ビデオESバッファ１４０８Ｂは、逆多重化部（DMUX）１４１３から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン１４０７に供給する。
【０３３４】
オーディオESバッファ１４０９Ａは、オーディオエンコーダ１４１０によって生成されたオーディオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。オーディオESバッファ１４０９Ｂは、逆多重化部（DMUX）１４１３から供給されたオーディオストリームをバッファリングして、オーディオデコーダ１４１１に供給する。
【０３３５】
オーディオエンコーダ１４１０は、例えばコネクティビティ１３２１等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3（AudioCode number 3）方式等の所定の方式で符号化する。オーディオエンコーダ１４１０は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ１４０９Ａに順次書き込む。オーディオデコーダ１４１１は、オーディオESバッファ１４０９Ｂから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ１３２１等に供給する。
【０３３６】
多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法（すなわち、多重化により生成されるビットストリームのフォーマット）は任意である。また、この多重化の際に、多重化部（MUX）１４１２は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部（MUX）１４１２は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ（ファイルデータ）に変換する。
【０３３７】
逆多重化部（DMUX）１４１３は、多重化部（MUX）１４１２による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部（DMUX）１４１３は、ストリームバッファ１４１４から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する（ビデオストリームとオーディオストリームとを分離する）。つまり、逆多重化部（DMUX）１４１３は、逆多重化によりストリームのフォーマットを変換（多重化部（MUX）１４１２による変換の逆変換）することができる。例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等から供給されたトランスポートストリームを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１により各種記録媒体から読み出されたファイルデータを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
【０３３８】
ストリームバッファ１４１４は、ビットストリームをバッファリングする。例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給する。
【０３３９】
また、例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ１３２１等に供給し、各種記録媒体に記録させる。
【０３４０】
さらに、ストリームバッファ１４１４は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３４１】
また、ストリームバッファ１４１４は、例えばコネクティビティ１３２１等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３４２】
次に、このような構成のビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたビデオ信号は、ビデオ入力処理部１４０１において４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式のデジタル画像データに変換され、フレームメモリ１４０５に順次書き込まれる。このデジタル画像データは、第１画像拡大縮小部１４０２または第２画像拡大縮小部１４０３に読み出されて、４：２：０Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ１４０５に書き込まれる。この画像データは、エンコード・デコードエンジン１４０７によって符号化され、ビデオストリームとしてビデオESバッファ１４０８Ａに書き込まれる。
【０３４３】
また、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたオーディオ信号は、オーディオエンコーダ１４１０によって符号化され、オーディオストリームとして、オーディオESバッファ１４０９Ａに書き込まれる。
【０３４４】
ビデオESバッファ１４０８Ａのビデオストリームと、オーディオESバッファ１４０９Ａのオーディオストリームは、多重化部（MUX）１４１２に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部（MUX）１４１２により生成されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークに出力される。また、多重化部（MUX）１４１２により生成されたファイルデータは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０３４５】
また、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからビデオプロセッサ１３３２に入力されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。また、例えばコネクティビティ１３２１等において各種記録媒体から読み出され、ビデオプロセッサ１３３２に入力されたファイルデータは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。つまり、ビデオプロセッサ１３３２に入力されたトランスポートストリームまたはファイルデータは、逆多重化部（DMUX）１４１３によりビデオストリームとオーディオストリームとに分離される。
【０３４６】
オーディオストリームは、オーディオESバッファ１４０９Ｂを介してオーディオデコーダ１４１１に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ１４０８Ｂに書き込まれた後、エンコード・デコードエンジン１４０７により順次読み出されて復号されてフレームメモリ１４０５に書き込まれる。復号された画像データは、第２画像拡大縮小部１４０３によって拡大縮小処理されて、フレームメモリ１４０５に書き込まれる。そして、復号された画像データは、ビデオ出力処理部１４０４に読み出されて、４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
【０３４７】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、エンコード・デコードエンジン１４０７に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン１４０７が、上述した各実施の形態に係る画像符号化装置の機能を有するようにすればよい。また、例えば、エンコード・デコードエンジン１４０７が、上述した各実施の形態に係るビットストリーム結合装置の機能を有するようにしてもよい。例えば、エンコード・デコードエンジン１４０７が、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図３１を参照して上述した効果と同様の効果を得ることができる。
【０３４８】
なお、エンコード・デコードエンジン１４０７において、本技術（すなわち、上述した各実施形態に係る画像符号化装置やビットストリーム結合装置の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０３４９】
＜ビデオプロセッサの他の構成例＞
図３９は、本技術を適用したビデオプロセッサ１３３２の概略的な構成の他の例を示している。図３９の例の場合、ビデオプロセッサ１３３２は、ビデオデータを所定の方式で符号化・復号する機能を有する。
【０３５０】
より具体的には、図３９に示されるように、ビデオプロセッサ１３３２は、制御部１５１１、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、および内部メモリ１５１５を有する。また、ビデオプロセッサ１３３２は、コーデックエンジン１５１６、メモリインタフェース１５１７、多重化・逆多重化部（MUX DMUX）１５１８、ネットワークインタフェース１５１９、およびビデオインタフェース１５２０を有する。
【０３５１】
制御部１５１１は、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６等、ビデオプロセッサ１３３２内の各処理部の動作を制御する。
【０３５２】
図３９に示されるように、制御部１５１１は、例えば、メインCPU１５３１、サブCPU１５３２、およびシステムコントローラ１５３３を有する。メインCPU１５３１は、ビデオプロセッサ１３３２内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU１５３１は、そのプログラム等に従って制御信号を生成し、各処理部に供給する（つまり、各処理部の動作を制御する）。サブCPU１５３２は、メインCPU１５３１の補助的な役割を果たす。例えば、サブCPU１５３２は、メインCPU１５３１が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ１５３３は、メインCPU１５３１およびサブCPU１５３２が実行するプログラムを指定する等、メインCPU１５３１およびサブCPU１５３２の動作を制御する。
【０３５３】
ディスプレイインタフェース１５１２は、制御部１５１１の制御の下、画像データを例えばコネクティビティ１３２１等に出力する。例えば、ディスプレイインタフェース１５１２は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ１３２１のモニタ装置等に出力する。
【０３５４】
ディスプレイエンジン１５１３は、制御部１５１１の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
【０３５５】
画像処理エンジン１５１４は、制御部１５１１の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
【０３５６】
内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６により共用される、ビデオプロセッサ１３３２の内部に設けられたメモリである。内部メモリ１５１５は、例えば、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６の間で行われるデータの授受に利用される。例えば、内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６から供給されるデータを格納し、必要に応じて（例えば、要求に応じて）、そのデータを、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６に供給する。この内部メモリ１５１５は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM（Static Random Access Memory）のような比較的（例えば外部メモリ１３１２と比較して）小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
【０３５７】
コーデックエンジン１５１６は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン１５１６が対応する符号化・復号の方式は任意であり、その数は１つであってもよいし、複数であってもよい。例えば、コーデックエンジン１５１６は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
【０３５８】
図３９に示される例において、コーデックエンジン１５１６は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video１５４１、AVC/H.264１５４２、HEVC/H.265１５４３、HEVC/H.265(Scalable)１５４４、HEVC/H.265(Multi-view)１５４５、およびMPEG-DASH１５５１を有する。
【０３５９】
MPEG-2 Video１５４１は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.264１５４２は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265１５４３は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)１５４４は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)１５４５は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
【０３６０】
MPEG-DASH１５５１は、画像データをMPEG-DASH（MPEG-Dynamic Adaptive Streaming over HTTP）方式で送受信する機能ブロックである。MPEG-DASHは、HTTP（HyperText Transfer Protocol）を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の１つとする。MPEG-DASH１５５１は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video１５４１乃至HEVC/H.265(Multi-view)１５４５を利用する。
【０３６１】
メモリインタフェース１５１７は、外部メモリ１３１２用のインタフェースである。画像処理エンジン１５１４やコーデックエンジン１５１６から供給されるデータは、メモリインタフェース１５１７を介して外部メモリ１３１２に供給される。また、外部メモリ１３１２から読み出されたデータは、メモリインタフェース１５１７を介してビデオプロセッサ１３３２（画像処理エンジン１５１４若しくはコーデックエンジン１５１６）に供給される。
【０３６２】
多重化・逆多重化部（MUX DMUX）１５１８は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、複数のデータを１つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、１つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部（MUX DMUX）１５１８は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部（MUX DMUX）１５１８は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ（ファイルデータ）に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
【０３６３】
ネットワークインタフェース１５１９は、例えばブロードバンドモデム１３３３やコネクティビティ１３２１等向けのインタフェースである。ビデオインタフェース１５２０は、例えばコネクティビティ１３２１やカメラ１３２２等向けのインタフェースである。
【０３６４】
次に、このようなビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース１５１９を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、例えば、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてファイルデータに変換され、ビデオインタフェース１５２０を介して例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０３６５】
さらに、例えば、コネクティビティ１３２１等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース１５２０を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてトランスポートストリームに変換され、ネットワークインタフェース１５１９を介して例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給され図示せぬ他の装置に伝送される。
【０３６６】
なお、ビデオプロセッサ１３３２内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ１５１５や外部メモリ１３１２を利用して行われる。また、パワーマネージメントモジュール１３１３は、例えば制御部１５１１への電力供給を制御する。
【０３６７】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、コーデックエンジン１５１６に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン１５１６が、上述した各実施の形態に係る画像符号化装置を実現する機能ブロックを有するようにすればよい。また、例えば、コーデックエンジン１５１６が、上述した各実施の形態に係るビットストリーム結合装置の機能を有するようにしてもよい。例えば、コーデックエンジン１５１６が、第２の実施の形態乃至第４の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図３１を参照して上述した効果と同様の効果を得ることができる。
【０３６８】
なお、コーデックエンジン１５１６において、本技術（すなわち、上述した各実施形態に係る画像符号化装置やビットストリーム結合装置の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０３６９】
以上にビデオプロセッサ１３３２の構成を２例示したが、ビデオプロセッサ１３３２の構成は任意であり、上述した２例以外のものであってもよい。また、このビデオプロセッサ１３３２は、１つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する３次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
【０３７０】
＜装置への適用例＞
ビデオセット１３００は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット１３００は、テレビジョン装置９００（図３３）、携帯電話機９２０（図３４）、記録再生装置９４０（図３５）、撮像装置９６０（図３６）等に組み込むことができる。ビデオセット１３００を組み込むことにより、その装置は、図１乃至図３１を参照して上述した効果と同様の効果を得ることができる。
【０３７１】
なお、上述したビデオセット１３００の各構成の一部であっても、ビデオプロセッサ１３３２を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ１３３２のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線１３４１により示されるプロセッサやビデオモジュール１３１１等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４を組み合わせ、本技術を適用したビデオユニット１３６１として実施することもできる。いずれの構成の場合であっても、図１乃至図３１を参照して上述した効果と同様の効果を得ることができる。
【０３７２】
つまり、ビデオプロセッサ１３３２を含むものであればどのような構成であっても、ビデオセット１３００の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ１３３２、点線１３４１により示されるプロセッサ、ビデオモジュール１３１１、または、ビデオユニット１３６１を、テレビジョン装置９００（図３３）、携帯電話機９２０（図３４）、記録再生装置９４０（図３５）、撮像装置９６０（図３６）等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット１３００の場合と同様に、図１乃至図３１を参照して上述した効果と同様の効果を得ることができる。
【０３７３】
また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０３７４】
なお、本技術は以下のような構成も取ることができる。
（１）  画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、
前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部と
を備える画像符号化装置。
（２）  前記設定部は、ナルユニットタイプを示す情報を設定する
（１）、（３）乃至（９）のいずれかに記載の画像符号化装置。
（３）  前記設定部は、ビットストリームの結合を示す情報をさらに設定する
（１）、（２）、（４）乃至（９）のいずれかに記載の画像符号化装置。
（４）  前記設定部は、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報をさらに設定する
（１）乃至（３）、（５）乃至（９）のいずれかに記載の画像符号化装置。
（５）  前記設定部は、前記カレントピクチャが先頭のピクチャである場合、
前記ナルユニットタイプを示す情報を、IDRピクチャであることを示す値に設定し、    前記ビットストリームの結合を示す情報を真に設定し、
前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
（１）乃至（４）、（６）乃至（９）のいずれかに記載の画像符号化装置。
（６）  前記設定部は、前記カレントピクチャが終端のピクチャである場合、
前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
前記ビットストリームの結合を示す情報を偽に設定し、
前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
（１）乃至（５）、（７）乃至（９）のいずれかに記載の画像符号化装置。
（７）  前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャである場合、
前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
前記ビットストリームの結合を示す情報を偽に設定し、
前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
（１）乃至（６）、（８）、（９）のいずれかに記載の画像符号化装置。
（８）  前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャでもない場合、
前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない非参照ピクチャであることを示す値に設定し、
前記ビットストリームの結合を示す情報を偽に設定し、
前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
（１）乃至（７）、（９）のいずれかに記載の画像符号化装置。
（９）  前記カレントピクチャの位置に関する情報と、前記仮想参照デコーダの調整を行う区間であるかを示す情報と、発生符号量を示す情報とに基づいて、符号量の目標値を設定するレート制御部をさらに備える
（１）乃至（８）のいずれかに記載の画像符号化装置。
（１０）  画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、
前記画像データを符号化し、前記画像データの符号化データと、設定されたヘッダ情報とを含むビットストリームを生成する
画像符号化方法。
（１１）  画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する更新部
を備える画像処理装置。
（１２）  前記更新部は、結合されるビットストリームの終端の符号化済みピクチャバッファの位置と、結合するビットストリームの先頭の前記符号化済みピクチャバッファの位置との関係が適切となるように、前記ビットストリームを再符号化する
（１１）、（１３）乃至（１９）のいずれかに記載の画像処理装置。
（１３）  前記更新部は、前記ビットストリームの終端のナルユニットタイプを示す情報を、プレブノンディスカーダブルピクチャに該当する値に更新する
（１１）、（１２）、（１４）乃至（１９）のいずれかに記載の画像処理装置。
（１４）  前記更新部は、符号化済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
（１１）乃至（１３）、（１５）乃至（１９）のいずれかに記載の画像処理装置。
（１５）  前記更新部は、前記ビットストリームの終端のプレブノンディスカーダブルピクチャを探索し、探索結果に基づいて、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を更新する
（１１）乃至（１４）、（１６）乃至（１９）のいずれかに記載の画像処理装置。
（１６）  前記更新部は、前記ビットストリームの終端の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
（１１）乃至（１５）、（１７）乃至（１９）のいずれかに記載の画像処理装置。
（１７）  前記更新部は、前記ビットストリームの先頭の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
（１１）乃至（１６）、（１８）、（１９）のいずれかに記載の画像処理装置。
（１８）  前記更新部は、結合するビットストリームの先頭のアクセスユニットの符号化済みピクチャバッファからの読み出し遅延を示す情報を、結合されるビットストリームの終端の符号化済みピクチャバッファからの読み出し遅延を示す情報に基づく値に更新する
（１１）乃至（１７）、（１９）のいずれかに記載の画像処理装置。
（１９）  前記更新部により更新された前記ビットストリームを他のビットストリームと結合する結合部をさらに備える
（１１）乃至（１８）のいずれかに記載の画像処理装置。
（２０）  画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する
画像処理方法。
【符号の説明】
【０３７５】
１００  画像符号化装置，  １２５  レート制御部，  １２６  nal_unit_type判定部，  １４１  HRDトレース部，  １４２  Target Bit決定部，  ２００  ビットストリーム結合装置，  ２１１  バッファ判定部，  ２１２  nal_unit_type書き換え部，  ２１３  Buffering Period書き換え部，  ２１４  ビットストリーム結合部，  ３００  ビットストリーム結合装置，  ３１２  prevNonDiscardablePic探索部，  ４００  ビットストリーム結合装置，  ４１３  prevCpbRemovalDelay探索部，  ４１４  Buffering Period書き換え部，  ４１５  Picture Timing SEI書き換え部
【図１】
2019071665.tif 000003
【図２】
2019071665.tif 000004
【図３】
2019071665.tif 000005
【図４】
2019071665.tif 000006
【図５】
2019071665.tif 000007
【図６】
2019071665.tif 000008
【図７】
2019071665.tif 000009
【図８】
2019071665.tif 000010
【図９】
2019071665.tif 000011
【図１０】
2019071665.tif 000012
【図１１】
2019071665.tif 000013
【図１２】
2019071665.tif 000014
【図１３】
2019071665.tif 000015
【図１４】
2019071665.tif 000016
【図１５】
2019071665.tif 000017
【図１６】
2019071665.tif 000018
【図１７】
2019071665.tif 000019
【図１８】
2019071665.tif 000020
【図１９】
2019071665.tif 000021
【図２０】
2019071665.tif 000022
【図２１】
2019071665.tif 000023
【図２２】
2019071665.tif 000024
【図２３】
2019071665.tif 000025
【図２４】
2019071665.tif 000026
【図２５】
2019071665.tif 000027
【図２６】
2019071665.tif 000028
【図２７】
2019071665.tif 000029
【図２８】
2019071665.tif 000030
【図２９】
2019071665.tif 000031
【図３０】
2019071665.tif 000032
【図３１】
2019071665.tif 000033
【図３２】
2019071665.tif 000034
【図３３】
2019071665.tif 000035
【図３４】
2019071665.tif 000036
【図３５】
2019071665.tif 000037
【図３６】
2019071665.tif 000038
【図３７】
2019071665.tif 000039
【図３８】
2019071665.tif 000040
【図３９】
2019071665.tif 000041