(57)【要約】【課題】４：４：４フォーマットのような色成分間にサンプル比の区別のない動画像信号を符号化するにあたり、最適性を高める。【解決手段】予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、該予測画像生成部から出力される予測画像の予測効率を評価して所定の予測モードを判定する予測モード判定部と、該予測モード判定部の出力を可変長符号化する符号化部とを備え、該予測モード判定部は、所定の制御信号に基づいて、前記入力画像信号を構成する各色成分に対して共通の予測モードを使用するか、各色成分ごとに個別の予測モードを使用するかを判断し、該制御信号の情報をビットストリームに多重化するとともに、共通の予測モードを使用する場合は共通の予測モード情報をビットストリームに多重化し、共通の予測モードを使用しない場合は各色成分ごとの予測モード情報をビットストリームに多重化する。【選択図】図１
2010110006.tif 000002
【特許請求の範囲】
【請求項１】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
該予測画像生成部から出力される予測画像の予測効率を評価して所定の予測モードを判定する予測モード判定部と、
該予測モード判定部の出力を可変長符号化する予測モード符号化部とを備え、
前記予測モード判定部は、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行い、
前記予測モード符号化部は、同一色成分上での前記画像領域の近傍の予測モード情報と、異なる色成分における前記画像領域と同一画面内位置の予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて予測モード情報の符号化を行うことを特徴とする画像符号化装置。
【請求項２】
前記予測モード符号化部は、同一色成分上での前記画像領域の近傍の予測モード情報と、異なる色成分における前記画像領域と同一画面内位置の予測モード情報のうち、いずれを予測値として用いるかを指示する識別情報をビットストリームに多重化することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号する予測モード復号部と、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
前記予測モード復号部により定まる各色成分の予測モードに基づいて、前記予測画像生成部により予測画像を生成して画像データへの復号を行う復号部とを備え、
前記予測モード復号部は、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍における予測モード情報と、異なる色成分の同一画面内位置における予測単位に割り当てられた予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて復号を行うことを特徴とする画像復号装置。
【請求項４】
前記予測モード復号部は、同一色成分の近傍における予測モード情報と、異なる色成分の同一画面内位置における予測単位に割り当てられた予測モード情報のうち、いずれを予測値として用いるかを指示する識別情報をビットストリーム中から復号し、該識別情報の値に基づいて予測値を定めることを特徴とする請求項３記載の画像復号装置。
【請求項５】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域の近傍の予測モード情報と、異なる色成分における前記画像領域と同一画面内位置の予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて予測モード情報の符号化を行うステップとを備えることを特徴とする画像符号化方法。
【請求項６】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域の近傍の予測モード情報と、異なる色成分における前記画像領域と同一画面内位置の予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて予測モード情報の符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラム。
【請求項７】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域の近傍の予測モード情報と、異なる色成分における前記画像領域と同一画面内位置の予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて予測モード情報の符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍における予測モード情報と、異なる色成分の同一画面内位置における予測単位に割り当てられた予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとを備えることを特徴とする画像復号方法。
【請求項９】
前記入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍における予測モード情報と、異なる色成分の同一画面内位置における予測単位に割り当てられた予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて復号を行うステップと、  予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、  前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
【請求項１０】
前記入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍における予測モード情報と、異なる色成分の同一画面内位置における予測単位に割り当てられた予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
該予測画像生成部から出力される予測画像の予測効率を評価して所定の予測モードを判定する予測モード判定部と、
該予測モード判定部の出力を可変長符号化する予測モード符号化部とを備え、
前記予測モード判定部は、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行い、
前記予測モード符号化部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と符号化対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて符号化を行うことを特徴とする画像符号化装置。
【請求項１２】
前記予測モード符号化部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と符号化対象の予測モードの値とに基づいて、前記ルックアップテーブル中の予測モード情報の予測値の値を動的に更新することを特徴とする請求項１１記載の画像符号化装置。
【請求項１３】
前記入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号する予測モード復号部と、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
前記予測モード復号部により定まる各色成分の予測モードに基づいて、前記予測画像生成部により予測画像を生成して画像データへの復号を行う復号部とを備え、
前記予測モード復号部は、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍画像領域における複数の予測モード情報の状態と復号対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて復号を行うことを特徴とする画像復号装置。
【請求項１４】
前記予測モード復号部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と復号された予測モードの値とに基づいて、前記ルックアップテーブル中の予測モード情報の予測値の値を動的に更新することを特徴とする請求項１３記載の画像復号装置。
【請求項１５】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
該予測画像生成部から出力される予測画像の予測効率を評価して所定の予測モードを判定する予測モード判定部と、
該予測モード判定部の出力を可変長符号化する予測モード符号化部とを備え、
前記予測モード判定部は、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行い、
前記予測モード符号化部は、符号化対象の予測モードの値を二値系列化し、該二値系列の各ビンを符号化するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術符号化を行うことを特徴とする画像符号化装置。
【請求項１６】
前記予測モード符号化部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストとして、予測モードが画像面垂直方向の予測、画像面水平方向の予測のいずれに分類されるかを示す状態を用いることを特徴とする請求項１５記載の画像符号化装置。
【請求項１７】
前記予測モード符号化部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストとして、予測モードがDC予測か、DC予測以外のいずれかを示す状態を用いることを特徴とする請求項１５記載の画像符号化装置。
【請求項１８】
前記入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号する予測モード復号部と、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、
前記予測モード復号部により定まる各色成分の予測モードに基づいて、前記予測画像生成部により予測画像を生成して画像データへの復号を行う復号部とを備え、
前記予測モード復号部は、ある予測単位に割り当てられた予測モードを復号するにあたって、二値系列として表現される復号対象の予測モードの値を、該二値系列の各ビンごとに復号するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術復号を行うことを特徴とする画像復号装置。
【請求項１９】
前記予測モード復号部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストとして、予測モードが画像面垂直方向の予測、画像面水平方向の予測のいずれに分類されるかを示す状態を用いることを特徴とする請求項１８記載の画像復号装置。
【請求項２０】
前記予測モード復号部は、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストとして、予測モードがDC予測か、DC予測以外のいずれかを示す状態を用いることを特徴とする請求項１８記載の画像復号装置。
【請求項２１】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と符号化対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて符号化を行うステップとを備えることを特徴とする画像符号化方法。
【請求項２２】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と符号化対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラム。
【請求項２３】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態と符号化対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２４】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍画像領域における複数の予測モード情報の状態と復号対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとを備えることを特徴とする画像復号方法。
【請求項２５】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍画像領域における複数の予測モード情報の状態と復号対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
【請求項２６】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、同一色成分の近傍画像領域における複数の予測モード情報の状態と復号対象の予測モードに対する予測値との組み合わせをテーブル化したルックアップテーブルを参照することによって、前記画像領域近傍の複数の予測モード情報の状態から予測モード情報の予測値を一意に定めて復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、符号化対象の予測モードの値を二値系列化し、該二値系列の各ビンを符号化するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術符号化を行うステップとを備えることを特徴とする画像符号化方法。
【請求項２８】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、符号化対象の予測モードの値を二値系列化し、該二値系列の各ビンを符号化するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラム。
【請求項２９】
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
該生成された予測画像の予測効率を評価して所定の予測モードを判定するとともに、予測対象の画像領域の単位に対して、各色成分ごとに個別に予測モードの判定を行うステップと、
前記予測モードの判定を行うステップの出力を可変長符号化するとともに、符号化対象の予測モードの値を二値系列化し、該二値系列の各ビンを符号化するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術符号化を行うステップとをコンピュータに実行させることを特徴とする画像符号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、二値系列として表現される復号対象の予測モードの値を、該二値系列の各ビンごとに復号するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとを備えることを特徴とする画像復号方法。
【請求項３１】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、二値系列として表現される復号対象の予測モードの値を、該二値系列の各ビンごとに復号するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
【請求項３２】
入力画像信号を構成する各色成分に対して個別に符号化された予測モードを復号するとともに、ある予測単位に割り当てられた予測モードを復号するにあたって、二値系列として表現される復号対象の予測モードの値を、該二値系列の各ビンごとに復号するに際して、同一色成分上での前記画像領域近傍の複数の予測モード情報の状態によって定まるコンテクストに応じて生起確率を動的に変更しながら算術復号を行うステップと、
予測画像生成方法を示す複数の予測モードに対応して予測画像を生成するステップと、
前記予測モードの復号を行うステップにより定まる各色成分の予測モードに基づいて、前記予測画像を生成するステップにより予測画像を生成して画像データへの復号を行うステップとをコンピュータに実行させることを特徴とする画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３３】
予測画像生成方法を示す複数のオーバヘッド情報に対応して予測画像を生成する予測画像生成部と、
該予測画像生成部から出力される予測画像の予測効率を評価して所定のオーバヘッド情報を判定する判定部と、
該判定部の出力を可変長符号化する符号化部とを備え、
該判定部は、色成分の数を含む所定の制御信号の情報をビットストリームに多重化するとともに、該制御信号に基づいて各色成分のオーバヘッド情報をビットストリームに多重化することを特徴とする画像符号化装置。
【請求項３４】
入力画像信号を構成する色成分の数の情報を含む所定の制御信号を復号するとともに、該制御信号の値に基づいて各色成分のオーバヘッド情報を復号する復号部と、
該復号部により復号されたオーバヘッド情報と前記色成分の数の情報を含む前記制御信号とに基づいて予測画像を生成する予測画像生成部とを備え、
前記復号部は、前記予測画像生成部により生成された予測画像に基づいて画像データへの復号を行うことを特徴とする画像復号装置。
【請求項３５】
予測画像生成方法を示す複数のオーバヘッド情報に対応して予測画像を生成する予測画像生成部と、
該予測画像生成部から出力される予測画像の予測効率を評価して所定のオーバヘッド情報を判定する判定部と、
該判定部の出力を可変長符号化する符号化部とを備え、
該判定部は、スライスが属するピクチャを識別する情報をビットストリームに多重化するとともに、該スライスが属するピクチャを識別する情報に基づいて各色成分のオーバヘッド情報をビットストリームに多重化することを特徴とする画像符号化装置。
【請求項３６】
スライスが属するピクチャを識別する情報を復号するとともに、該スライスが属するピクチャを識別する情報の値に基づいて各色成分のオーバヘッド情報を復号する復号部と、
該復号部により復号されたオーバヘッド情報に基づいて予測画像を生成する予測画像生成部とを備え、
前記復号部は、前記予測画像生成部により生成された予測画像に基づいて画像データへの復号を行うことを特徴とする画像復号装置。
【請求項３７】
スライス単位に該スライスが属するピクチャを識別する情報を復号して、該スライスが属するピクチャを識別する情報の値に基づいて各色成分の復号画像を生成する復号部を備え、
該復号部は、前記スライスが属するピクチャを識別する情報の値が同一であるスライス符号化データの集合からピクチャの復号を行うことを特徴とする画像復号装置。
【請求項３８】
複数の色成分からなる入力画像信号を圧縮符号化した結果生成されるビットストリームであって、
各色成分の画像信号の圧縮データをスライス単位に構成し、該スライスのヘッダ領域に該スライスデータがいずれの色成分の圧縮データを含むかを示すパラメータが多重されることを特徴とする画像符号化ビットストリーム。
【請求項３９】
複数の色成分からなる入力画像信号を圧縮符号化した結果生成されるビットストリームを記録したコンピュータ読み取り可能な記録媒体であって、  各色成分の画像信号の圧縮データをスライス単位に構成し、該スライスのヘッダ領域に該スライスデータがいずれの色成分の圧縮データを含むかを示すパラメータが多重されることを特徴とする画像符号化ビットストリームを記録したコンピュータ読み取り可能な記録媒体。
【請求項４０】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化する多重化部と、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化することを示す場合は、すべての色成分に共通に用いるイントラ予測モードを定め、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別にイントラ予測モードを定め、該定めたイントラ予測モードに基づいて求めた予測誤差信号を圧縮符号化する符号化部とを備えることを特徴とする画像符号化装置。
【請求項４１】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化する多重化ステップと、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化することを示す場合は、すべての色成分に共通に用いるイントラ予測モードを定め、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別にイントラ予測モードを定め、該定めたイントラ予測モードに基づいて求めた予測誤差信号を圧縮符号化する符号化ステップとを備えることを特徴とする画像符号化方法。
【請求項４２】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として，カラー画像信号を復号する画像復号装置において、
前記ビットストリームから共通符号化・独立符号化識別情報を抽出するヘッダ解析部と、
前記ビットストリームから、1つ以上の前記領域の符号化データをまとめたスライスのデータ単位を特定するスライスデータ検出部と、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合に、前記スライスのヘッダ領域から、該スライスに含まれる符号化データがいずれの色成分の信号かを示す色成分識別子を復号するスライスヘッダ解析部とを備え、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合に、前記色成分識別子に基づいて色成分を特定して各色成分の復号画像を生成することを特徴とする画像復号装置。
【請求項４３】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として，カラー画像信号を復号する画像復号方法において、
前記ビットストリームから共通符号化・独立符号化識別情報を抽出するヘッダ解析ステップと、
前記ビットストリームから、1つ以上の前記領域の符号化データをまとめたスライスのデータ単位を特定するスライスデータ検出ステップと、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合に、前記スライスのヘッダ領域から、該スライスに含まれる符号化データがいずれの色成分の信号かを示す色成分識別子を復号するスライスヘッダ解析ステップとを備え、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合に、前記色成分識別子に基づいて色成分を特定して各色成分の復号画像を生成することを特徴とする画像復号方法。
【請求項４４】
複数の色成分で構成されるカラー画像を入力として，所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別に、1つ以上の前記領域の符号化データをまとめてスライスのデータ単位を構成し、該スライスのヘッダ領域に、スライス中に含まれる符号化データがいずれの色成分の符号化データかを示す色成分識別子を多重化する多重化部を備えることを特徴とする画像符号化装置。
【請求項４５】
複数の色成分で構成されるカラー画像を入力として，所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別に、1つ以上の前記領域の符号化データをまとめてスライスのデータ単位を構成し、該スライスのヘッダ領域に、スライス中に含まれる符号化データがいずれの色成分の符号化データかを示す色成分識別子を多重化する多重化ステップを備えることを特徴とする画像符号化方法。
【請求項４６】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号装置において、
前記ビットストリームから共通符号化・独立符号化識別情報を抽出するヘッダ解析部と、
前記ビットストリームから前記領域ごとにインター予測モード、動きベクトル、参照画像番号を復号するとともに、前記領域の予測誤差信号を復号する復号部と、
前記復号されたインター予測モード、動きベクトル、参照画像番号に基づいて予測画像を生成する予測画像生成部と、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算部を備え、
前記復号部は、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合には、すべての色成分に共通に用いるインター予測モード、動きベクトル、参照画像番号を復号し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに前記領域の単位でインター予測モード、動きベクトル、参照画像番号を復号し、
前記予測画像生成部は、各色成分ごとに、前記復号されたインター予測モード、動きベクトル、参照画像番号を用いて予測画像を生成することを特徴とする画像復号装置。
【請求項４７】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号方法において、
前記ビットストリームから共通符号化・独立符号化識別情報を抽出するヘッダ解析ステップと、
前記ビットストリームから前記領域ごとにインター予測モード、動きベクトル、参照画像番号を復号するとともに、前記領域の予測誤差信号を復号する復号ステップと、
前記復号されたインター予測モード、動きベクトル、参照画像番号に基づいて予測画像を生成する予測画像生成ステップと、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算ステップを備え、
前記復号ステップは、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合には、すべての色成分に共通に用いるインター予測モード、動きベクトル、参照画像番号を復号し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに前記領域の単位でインター予測モード、動きベクトル、参照画像番号を復号し、
前記予測画像生成ステップは、各色成分ごとに、前記復号されたインター予測モード、動きベクトル、参照画像番号を用いて予測画像を生成することを特徴とする画像復号方法。
【請求項４８】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化する多重化部と、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化することを示す場合は、すべての色成分に共通に用いるインター予測モード、動きベクトル、参照画像番号を定め、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別にインター予測モード、動きベクトル、参照画像番号を定め、該定めたインター予測モード、動きベクトル、参照画像番号に基づいて求めた予測誤差信号を圧縮符号化する符号化部とを備えることを特徴とする画像符号化装置。
【請求項４９】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化するか、前記符号化単位となる領域を各色成分個別の予測方法によって符号化するかを指示する共通符号化・独立符号化識別情報を多重化する多重化ステップと、
前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域をすべての色成分の信号の分だけまとめて共通の予測方法によって符号化することを示す場合は、すべての色成分に共通に用いるインター予測モード、動きベクトル、参照画像番号を定め、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに個別にインター予測モード、動きベクトル、参照画像番号を定め、該定めたインター予測モード、動きベクトル、参照画像番号に基づいて求めた予測誤差信号を圧縮符号化する符号化ステップとを備えることを特徴とする画像符号化方法。
【請求項５０】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号装置において、
前記ビットストリームから色差フォーマット指示情報と共通符号化・独立符号化識別情報を抽出するヘッダ解析部と、
前記色差フォーマット指示情報が４：２：０ないしは４：２：２フォーマットを示す場合は、前記ビットストリームから、前記領域ごとに、輝度成分に用いる第1のイントラ予測モードおよび色差成分に用いる第2のイントラ予測モードを復号するとともに、前記色差フォーマット指示情報が４：４：４フォーマットを示す場合は、前記共通符号化・独立符号化識別情報に基づいて、各色成分に対応する第1のイントラ予測モードを復号し、前記領域の予測誤差信号を復号する復号部と、
前記復号された第１のイントラ予測モードに基づいて予測画像を生成する第1の予測画像生成部と、
前記復号された第２のイントラ予測モードに基づいて予測画像を生成する第２の予測画像生成部と、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算部を備え、
前記復号部は、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合には、すべての色成分に共通に用いる第１のイントラ予測モードを復号し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに前記領域の単位で第1のイントラ予測モードを復号し、前記色差フォーマット指示情報に基づいて前記第1または第2の予測画像生成部によって予測画像を生成して加算部への入力とすることを特徴とする画像復号装置。
【請求項５１】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号方法において、
前記ビットストリームから色差フォーマット指示情報と共通符号化・独立符号化識別情報を抽出するヘッダ解析ステップと、
前記色差フォーマット指示情報が４：２：０ないしは４：２：２フォーマットを示す場合は、前記ビットストリームから、前記領域ごとに、輝度成分に用いる第1のイントラ予測モードおよび色差成分に用いる第2のイントラ予測モードを復号するとともに、前記色差フォーマット指示情報が４：４：４フォーマットを示す場合は、前記共通符号化・独立符号化識別情報に基づいて、各色成分に対応する第1のイントラ予測モードを復号し、前記領域の予測誤差信号を復号する復号ステップと、
前記復号された第１のイントラ予測モードに基づいて予測画像を生成する第1の予測画像生成ステップと、
前記復号された第２のイントラ予測モードに基づいて予測画像を生成する第２の予測画像生成ステップと、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算ステップを備え、
前記復号ステップは、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合には、すべての色成分に共通に用いる第１のイントラ予測モードを復号し、前記共通符号化・独立符号化識別情報が、前記符号化単位となる領域を各色成分個別の予測方法によって符号化することを示す場合は、各色成分ごとに前記領域の単位で第1のイントラ予測モードを復号し、前記色差フォーマット指示情報に基づいて前記第1または第2の予測画像生成部によって予測画像を生成して加算部への入力とすることを特徴とする画像復号方法。
【請求項５２】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
各色成分の信号を独立に符号化を行うか否かを示す識別情報をビットストリームに多重するとともに、
該識別情報が、各色成分の信号が独立に符号化されていることを示す場合は、同一フレームないしはフィールドに属する各色成分ピクチャの符号化に際して、符号化順を示す番号をすべての色成分について同一として符号化することを特徴とする画像符号化装置。
【請求項５３】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
各色成分の信号を独立に符号化を行うか否かを示す識別情報をビットストリームに多重するとともに、
該識別情報が、各色成分の信号が独立に符号化されていることを示す場合は、同一フレームないしはフィールドに属する各色成分ピクチャの符号化に際して、符号化順を示す番号をすべての色成分について同一として符号化することを特徴とする画像符号化方法。
【請求項５４】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号装置において、
前記ビットストリームから前記領域ごとにイントラ予測モードを復号するとともに、前記領域の予測誤差信号を復号する復号部と、
前記復号されたイントラ予測モードに基づいて予測画像を生成する予測画像生成部と、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算部を備え、
前記復号部は、前記符号化単位となる領域を各色成分個別のイントラ予測モードで復号する場合に、色成分間の予測に基づいて各色成分のイントラ予測モードを復号することを特徴とする画像復号装置。
【請求項５５】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号方法において、
前記ビットストリームから前記領域ごとにイントラ予測モードを復号するとともに、前記領域の予測誤差信号を復号する復号ステップと、
前記復号されたイントラ予測モードに基づいて予測画像を生成する予測画像生成ステップと、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算ステップを備え、
前記復号ステップは、前記符号化単位となる領域を各色成分個別のイントラ予測モードで復号する場合に、色成分間の予測に基づいて各色成分のイントラ予測モードを復号することを特徴とする画像復号方法。
【請求項５６】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
前記符号化単位となる領域を各色成分個別のイントラ予測モードで予測符号化する場合に、各色成分のイントラ予測モードを、色成分間の予測に基づいて符号化する符号化部を備えることを特徴とする画像符号化装置。
【請求項５７】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
前記符号化単位となる領域を各色成分個別のイントラ予測モードで予測符号化する場合に、各色成分のイントラ予測モードを、色成分間の予測に基づいて符号化する符号化ステップを備えることを特徴とする画像符号化方法。
【請求項５８】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号装置において、
前記ビットストリームから前記領域ごとに動きベクトルを復号するとともに、前記領域の予測誤差信号を復号する復号部と、
前記復号された動きベクトルに基づいて予測画像を生成する予測画像生成部と、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算部を備え、
前記復号部は、前記符号化単位となる領域を各色成分個別の動きベクトルで復号する場合に、色成分間の予測に基づいて各色成分の動きベクトルを復号することを特徴とする画像復号装置。
【請求項５９】
複数の色成分で構成されるカラー画像を所定の領域に分割した単位で圧縮符号化することによって生成されたビットストリームを入力として、カラー画像信号を復号する画像復号方法において、
前記ビットストリームから前記領域ごとに動きベクトルを復号するとともに、前記領域の予測誤差信号を復号する復号ステップと、
前記復号された動きベクトルに基づいて予測画像を生成する予測画像生成ステップと、
前記復号された予測誤差信号と前記予測画像とを加算して復号画像を生成する加算ステップを備え、
前記復号ステップは、前記符号化単位となる領域を各色成分個別の動きベクトルで復号する場合に、色成分間の予測に基づいて各色成分の動きベクトルを復号することを特徴とする画像復号方法。
【請求項６０】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化装置において、
前記符号化単位となる領域を各色成分個別の動きベクトルで予測符号化する場合に、各色成分の動きベクトルを、色成分間の予測に基づいて符号化する符号化部を備えることを特徴とする画像符号化装置。
【請求項６１】
複数の色成分で構成されるカラー画像を入力として、所定の領域に分割した単位で圧縮符号化してビットストリームを生成する画像符号化方法において、
前記符号化単位となる領域を各色成分個別の動きベクトルで予測符号化する場合に、各色成分の動きベクトルを、色成分間の予測に基づいて符号化する符号化ステップを備えることを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮符号化技術や圧縮画像データ伝送技術等に用いられるデジタル画像信号符号化装置、デジタル画像信号復号装置、デジタル画像信号符号化方法、およびデジタル画像信号復号方法に関する。
【背景技術】
【０００２】
従来、MPEGやITU-T H.26xなどの国際標準映像符号化方式では、主として４：２：０フォーマットと呼ばれる標準化された入力信号フォーマットの使用を前提としてきた。４：２：０とは、RGBなどのカラー動画像信号を輝度成分(Y)と２つの色差成分(Cb、Cr)に変換し、水平・垂直ともに色差成分のサンプル数を輝度成分の半分に削減したフォーマットである。色差成分は輝度成分に比べて視認性が落ちることから、従来の国際標準映像符号化方式では、このように符号化を行う前に色差成分のダウンサンプルを行うことで符号化対象の原情報量を削減しておくことを前提としていた。一方、近年のビデオディスプレイの高解像度化、高階調化に伴い、色差成分をダウンサンプルすることなく輝度成分と同一サンプルで符号化する方式についても検討が行われている。輝度成分と色差成分とがまったく同一のサンプル数のフォーマットは４：４：４フォーマットと呼ばれる。MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格(以下、AVC)では、４：４：４フォーマットを入力とする符号化方式として「ハイ４：４：４プロファイル」が策定されている。図１０に示すように、従来の４：２：０フォーマットが色差成分のダウンサンプルを前提としたためにY、Cb、Crという色空間定義にのみ限定されたのに対し、４：４：４フォーマットでは色成分間にサンプル比の区別がないため、Y、Cb、Crのほか、R,G,Bを直接使用したり、その他複数の色空間定義を利用することが可能である。４：２：０フォーマットを用いた映像符号化方式では、その色空間はY、Cb、Crに決まっていたため符号化処理中に色空間の種別を考慮する必要はなかったが、上記のAVCハイ４：４：４プロファイルにおいては色空間定義が符号化処理そのものに影響を与える方式になっている。一方で、現在のハイ４：４：４プロファイルは、Y、Cb、Cr空間で定義された４：２：０フォーマットを符号化対象とするその他のプロファイルとの互換性を考慮するため、４：４：４フォーマットの圧縮効率を最適とする設計になっているとはいえない。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば、AVCの４：２：０フォーマットを符号化対象とするハイ４：２：０プロファイルでは、輝度成分１６ｘ１６画素からなるマクロブロック領域において、対応する色差成分はCb、Crとも各８ｘ８画素ブロックとなる。ハイ４：２：０プロファイルにおけるイントラマクロブロック符号化には、同一ピクチャ中の周辺サンプル値を用いた空間予測(イントラ予測)が採用されており、輝度成分と色差成分は別々のイントラ予測モードを使用することになっている。輝度成分は図３の９種類の中からもっとも予測効率の高いものを、色差成分はCb、Cr共通で図９に示す４種類の中からもっとも予測効率が高いものをイントラ予測モードとして選択する(CbとCrは別々の予測モードを使用することはできない)。また、ハイ４：２：０プロファイルにおける動き補償予測では、輝度成分に対してのみ動き補償予測の単位となるブロックサイズ情報と予測に用いる参照画像情報、各ブロックごとの動きベクトル情報を多重化し、色差成分は輝度成分と同じ情報を用いて動き補償予測を行うことになっている。このような方式は、４：２：０フォーマットが画像の構造(テクスチャ)の表現に大きく寄与する輝度成分に比べ色差成分の寄与が小さいという色空間定義の前提のもとでなりたつものである。しかしながら、現在のハイ４：４：４プロファイルは、マクロブロックあたりの色差信号のブロックサイズが１６ｘ１６画素に拡張された状態においても、４：２：０フォーマットの色差用イントラ予測モードを単純に拡張した方式となっているのみであり、また、４：２：０フォーマットのときと同様、1成分を輝度成分とみなし、1成分の情報のみしか多重化せずに3成分に共通のインター予測モード、参照画像情報および動きベクトル情報で動き補償予測が行われることになっており、画像信号の構造表現に際して各色成分が同等に寄与する４：４：４フォーマットでは必ずしも最適な予測方法とはいえない。
【０００５】
そこで、本発明は、上記従来技術に述べたように、４：４：４フォーマットのような色成分間にサンプル比の区別のない動画像信号を符号化するにあたり、最適性を高めた符号化装置、復号装置、符号化方法、復号方法、およびこれらを実行するプログラムとこれらのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかわる画像符号化装置は、予測画像生成方法を示す複数の予測モードに対応して予測画像を生成する予測画像生成部と、該予測画像生成部から出力される予測画像の予測効率を評価して所定の予測モードを判定する予測モード判定部と、該予測モード判定部の出力を可変長符号化する符号化部とを備え、該予測モード判定部は、所定の制御信号に基づいて、前記入力画像信号を構成する各色成分に対して共通の予測モードを使用するか、各色成分ごとに個別の予測モードを使用するかを判断し、該制御信号の情報をビットストリームに多重化するとともに、共通の予測モードを使用する場合は共通の予測モード情報をビットストリームに多重化し、共通の予測モードを使用しない場合は各色成分ごとの予測モード情報をビットストリームに多重化するものである。
【発明の効果】
【０００７】
本発明の画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、およびこれらを実行するプログラムとこれらのプログラムを記録した記録媒体によれば、Y、Cb、Crなどの固定された色空間に限定せず多様な色空間を利用する符号化を行う場合において、各色成分で用いるイントラ予測モード情報やインター予測モード情報を柔軟に選択できるように構成することができ、色空間の定義が種々に及ぶ場合にも最適な符号化処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１における映像符号化装置の構成を示す説明図
【図２】実施の形態１における映像復号装置の構成を示す説明図
【図３】図１の空間予測部２で評価されるイントラ４ｘ４予測モードの予測画像生成方法を説明する説明図
【図４】図１の空間予測部２で評価されるイントラ１６ｘ１６予測モードの予測画像生成方法を説明する説明図
【図５】図１の映像符号化装置において行われるイントラ予測モード判定処理の手順を説明するフローチャート
【図６】実施の形態１における映像符号化装置から出力されるビデオビットストリームのデータ配列を示す説明図
【図７】図２の映像復号装置において行われるイントラ予測復号処理の手順を説明するフローチャート
【図８】実施の形態１における映像符号化装置から出力されるビデオビットストリームの別のデータ配列の形態を示す説明図
【図９】AVC規格における色差成分対応イントラ予測モードの予測画像生成方法を説明する説明図
【図１０】従来と現在のマクロブロックを説明する説明図
【図１１】実施の形態２における映像符号化装置の構成を示す説明図
【図１２】実施の形態２における映像復号装置の構成を示す説明図
【図１３】図１１の空間予測部２で評価されるイントラ８ｘ８予測モードの予測画像生成方法を説明する説明図
【図１４】図１１の映像符号化装置において行われるイントラ符号化モード判定処理の手順を説明するフローチャート
【図１５】実施の形態２における映像符号化装置から出力されるビデオビットストリームのデータ配列を示す説明図
【図１６】実施の形態２における映像符号化装置から出力されるビデオビットストリームの別のデータ配列を示す説明図
【図１７】図１２の映像復号装置において行われるイントラ予測復号処理の手順を説明するフローチャート
【図１８】実施の形態３におけるC0成分のイントラ予測モード符号化処理のパラメータを説明する説明図
【図１９】実施の形態３におけるC1成分のイントラ予測モード符号化処理のパラメータを説明する説明図
【図２０】実施の形態３におけるC2成分のイントラ予測モード符号化処理のパラメータを説明する説明図
【図２１】実施の形態３におけるイントラ予測モード符号化処理の流れを示すフローチャート
【図２２】実施の形態３におけるイントラ予測モード符号化処理の別の流れを示すフローチャート
【図２３】実施の形態３におけるイントラ予測モード復号処理の流れを示すフローチャート
【図２４】実施の形態４における映像符号化装置から出力されるビデオビットストリームの別のデータ配列を示す説明図
【図２５】実施の形態５におけるイントラ予測モード符号化処理の別の流れを示すフローチャート
【図２６】実施の形態５におけるテーブル化された予測値設定の規則を示す説明図
【図２７】実施の形態６における符号化手順を示すフローチャート
【図２８】実施の形態６におけるCurrIntraPredModeの二値系列構成を示す説明図
【図２９】実施の形態６におけるCurrIntraPredModeの別の二値系列構成を示す説明図
【図３０】実施の形態７における映像符号化装置の構成を示す説明図
【図３１】実施の形態７における映像復号装置の構成を示す説明図
【図３２】マクロブロックの単位を示す説明図
【図３３】実施の形態７におけるインター予測モード判定処理の流れを示すフローチャート
【図３４】実施の形態７における映像符号化装置から出力されるビデオストリームのデータ配列を示す説明図
【図３５】実施の形態７における可変長復号部２５で行われる処理の流れを示すフローチャート
【図３６】実施の形態７における映像符号化装置から出力されるビデオストリームの別のデータ配列を示す説明図
【図３７】実施の形態７における映像符号化装置から出力されるビデオストリームの別のデータ配列を示す説明図
【図３８】実施の形態８におけるインター予測モード判定処理の流れを示すフローチャート
【図３９】実施の形態８におけるマクロブロックのレベルにおけるビットストリームのデータ配列を示す説明図
【図４０】実施の形態８におけるインター予測画像生成処理の流れを示すフローチャート
【図４１】実施の形態８におけるマクロブロックのレベルにおけるビットストリームの別のデータ配列を示す説明図
【図４２】実施の形態８におけるマクロブロックのレベルにおけるビットストリームの別のデータ配列を示す説明図
【図４３】実施の形態９におけるインター予測モード判定処理の流れを示すフローチャート
【図４４】実施の形態９におけるインター予測画像生成処理の流れを示すフローチャート
【図４５】動きベクトル符号化部の構成を示す説明図
【図４６】動きベクトル符号化部の動作を示す説明図
【図４７】動きベクトル復号部の構成を示す説明図
【図４８】ビットストリームシンタックスの様子を示す説明図
【図４９】実施の形態１１におけるマクロブロック符号化データの構成を示す説明図
【図５０】実施の形態１１における図４９中のCn成分ヘッダ情報の符号化データの詳細構成を示す説明図
【図５１】実施の形態１１におけるマクロブロック符号化データの別の構成を示す説明図
【図５２】実施の形態１１におけるビットストリームの構成を示す説明図
【図５３】実施の形態１１におけるスライスの構成を示す説明図
【図５４】実施の形態１２における可変長符号化部１１の算術符号化処理に関わる内部構成を示す説明図
【図５５】実施の形態１２における可変長符号化部１１の算術符号化処理の流れを示すフローチャート
【図５６】実施の形態１２における図５５中のステップＳ１６２の処理の詳細な流れを示す説明図
【図５７】コンテクストモデル(ctx)の概念を示す説明図
【図５８】マクロブロックの動きベクトルに関するコンテクストモデルの例を示す説明図
【図５９】実施の形態１２における可変長復号部２５の算術復号処理に関わる内部構成を示す説明図
【図６０】実施の形態１２における可変長復号部２５の算術復号処理の流れを示すフローチャート
【図６１】実施の形態１２におけるコンテクストモデル１１ｆを示す説明図
【図６２】実施の形態１２におけるカレントマクロブロックのモードの違いを示す説明図
【図６３】実施の形態１３における符号化装置・復号装置の構成を示す説明図
【図６４】実施の形態１３における映像符号化装置の構成を示す説明図
【図６５】実施の形態１３における映像復号装置の構成を示す説明図
【図６６】実施の形態１４における共通符号化処理を示す説明図
【図６７】実施の形態１４における独立符号化処理を示す説明図
【図６８】実施の形態１４の符号化装置・復号装置におけるピクチャ間の時間方向の動き予測参照関係を示す説明図
【図６９】実施の形態１４の符号化装置で生成され実施の形態１４の復号装置が入力・復号処理の対象とするビットストリームの構造の一例を示す説明図
【図７０】共通符号化処理、独立符号化処理それぞれの場合のスライスデータのビットストリーム構成を示す説明図
【図７１】実施の形態１４の符号化装置の概略構成を示す説明図
【図７２】符号化装置側での処理遅延を小さくする様子を示す説明図
【図７３】第１のピクチャ符号化部の内部構成を示す説明図
【図７４】第２のピクチャ符号化部の内部構成を示す説明図
【図７５】実施の形態１４の復号装置の概略構成を示す説明図
【図７６】第１のピクチャ復号部の内部構成を示す説明図
【図７７】第２のピクチャ復号部の内部構成を示す説明図
【図７８】色空間変換処理を施した第１のピクチャ符号化部の内部構成を示す説明図
【図７９】色空間変換処理を施した第１のピクチャ符号化部の内部構成を示す説明図
【図８０】逆色空間変換処理を施した第１のピクチャ符号化部の内部構成を示す説明図
【図８１】逆色空間変換処理を施した第１のピクチャ符号化部の内部構成を示す説明図
【図８２】従来のYUV４：２：０フォーマットのビットストリームに含まれるマクロブロックヘッダ情報の符号化データの構成を示す説明図
【図８３】従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する第１のピクチャ復号部の予測部４６１の内部構成を示す説明図
【図８４】実施の形態１５における多重化する符号化データのビットストリームの構成を示す説明図
【図８５】AUD NALユニットで始まるアクセスユニット内のピクチャデータが符号化される際のピクチャ符号化タイプの情報を示す説明図
【図８６】実施の形態１５における多重化する符号化データのビットストリームの構成を示す説明図
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態１では、４：４：４フォーマットで入力される映像フレームを１６×１６画素の矩形領域(マクロブロック)に均等分割した単位でフレーム内に閉じた符号化を行う符号化装置、および対応する復号装置について説明する。また、本符号化装置、復号装置は非特許文献１であるMPEG-4AVC(ISO/IEC 14496-10)/ITU-T H.264規格で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。
【００１０】
図１に、本実施の形態１における映像符号化装置の構成を、図２に本実施の形態１における映像復号装置の構成を示す。図２において、図１の符号化装置の構成要素と同じ番号が付されている要素は同一の要素であることを示す。
【００１１】
以下、これらの図に基づいて符号化装置ならびに復号装置全体の動作と、本実施の形態１の特徴的な動作であるイントラ予測モード判定処理およびイントラ予測復号処理について説明する。
【００１２】
１．符号化装置の動作概要
図１の符号化装置において、入力映像信号１は、個々の映像フレームが４：４：４フォーマットで入力される。入力される映像フレームは、図１０に示すように、３つの色成分を同一サイズの16画素×16画素のブロックに分割してまとめたマクロブロック単位で符号化装置に入力されるものとする。
【００１３】
まず、空間予測部２において、メモリ１６に格納される局部復号画像１５を用いて、該マクロブロックの単位で、各色成分ごとにイントラ予測処理が行われる。メモリは各色成分ごとに３面用意される（本実施の形態では３面として説明するが、設計により適宜変更してよい）。イントラ予測のモードには、図３に示す4画素×4ラインのブロックの単位でその周辺画素を用いた空間予測を行うイントラ４ｘ４予測モード、図４に示す16画素×16ラインのマクロブロックの単位でその周辺画素を用いた空間予測を行うイントラ１６ｘ１６予測モードがある。
【００１４】
(a)イントラ４ｘ４予測モード
マクロブロック内の輝度信号16×16画素ブロックを4×4画素ブロックで構成される16個のブロックに分割し、図３に示す９つのモードのいずれかを4×4画素ブロック単位に選択する。すでに符号化を終え、局部復号処理されてメモリ１６に格納された周囲のブロック（左上、上、右上、左）の画素を予測画像生成に用いる。
【００１５】
Intra4x4_pred_mode = 0: 隣接する上部の画素をそのまま予測画像として使用する。
Intra4x4_pred_mode = 1: 隣接する左部の画素をそのまま予測画像として使用する。
Intra4x4_pred_mode = 2: 隣接する8つの画素の平均値を予測画像として使用する。
Intra4x4_pred_mode = 3: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(右45度エッジに対応)。
Intra4x4_pred_mode = 4: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左45度エッジに対応)。
Intra4x4_pred_mode = 5: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左22.5度エッジに対応)。
Intra4x4_pred_mode = 6: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左67.5度エッジに対応)。
Intra4x4_pred_mode = 7: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(右22.5度エッジに対応)。
Intra4x4_pred_mode = 8: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左112.5度エッジに対応)。
【００１６】
イントラ４ｘ４予測モードを選択する場合、マクロブロックあたりのモード情報は16個必要となる。したがって、モード情報自体の符号量を削減するため、モード情報は隣接するブロック間との相関が高いことを利用して、隣接するブロックのモード情報から予測符号化を行う。
【００１７】
(b)イントラ１６ｘ１６予測モード
マクロブロックサイズに相当する16×16画素ブロックを一度に予測するモードであり、図４に示す4つのモードのいずれかをマクロブロック単位に選択する。イントラ４ｘ４予測モードと同様、すでに符号化を終え、局部復号処理されてメモリ１６に格納された周囲のマクロブロック（左上、上、左）の画素を予測画像生成に用いる。
【００１８】
Intra16x16_pred_mode = 0: 上マクロブロックの最下辺の16画素を予測画像として使用する。
Intra16x16_pred_mode = 1: 左マクロブロックの最右辺の16画素を予測画像として使用する。
Intra16x16_pred_mode = 2: 上マクロブロックの最下辺の16画素(図４のA部分)と左マクロブロックの最左辺の16画素(図４のB部分)の合計32画素の平均値を予測画像として使用する。
Intra16x16_pred_mode = 3: 左上のマクロブロックの右下隅の画素、上マクロブロックの最下辺の15画素(白抜き画素を除いた部分)、左マクロブロックの最右辺の15画素(白抜き画素を除いた部分)の合計31画素を用いて所定の演算処理（使用する画素と予測する画素位置に応じた重み付け加算処理）により予測画像を得る。
【００１９】
本実施の形態１における映像符号化装置は、イントラ予測モード共通化識別フラグ２３に基づき、３つの色成分に対するイントラ予測処理方法を切り替えることを特徴とする。この点については、下記２で詳しく述べる。
【００２０】
空間予測部２では、図３や図４に示した全モードないしはサブセットに対して予測処理を実行して減算器３により予測差分信号４を得る。予測差分信号４は符号化モード判定部５においてその予測効率が評価され、空間予測部２で実行した予測処理の中から、予測対象のマクロブロックに対して最適な予測効率が得られる予測モードを符号化モード６として出力する。ここで、符号化モード６は、イントラ４ｘ４予測モードを用いるか、イントラ１６ｘ１６予測モードを用いるかの判別情報(図６のイントラ符号化モードに相当)とともに、予測単位領域あたりで使用する個々の予測モード情報(上記Intra4x4_pred_mode ないしはIntra16x16_pred_mode)も含むものとする。予測単位領域は、イントラ４ｘ４予測モードの場合は4x4画素ブロック、イントラ１６ｘ１６予測モードの場合は16x16画素ブロックに相当する。符号化モード６の選定にあたっては、符号化制御部１９の判断で定まる各符号化モードに対する重み係数２０が加味されることもある。符号化モード判定部５において符号化モード６を用いて得られる最適な予測差分信号４は、直交変換部８へ出力される。直交変換部８は入力される予測差分信号４を変換し直交変換係数として量子化部９へ出力する。量子化部９は入力される直交変換係数を、符号化制御部１９によって定まる量子化パラメータ２１に基づいて量子化を行い、量子化済み変換係数１０として可変長符号化部１１へ出力する。量子化済み変換係数１０は、可変長符号化部１１にてハフマン符号化や算術符号化などの手段によりエントロピー符号化される。また、量子化済み変換係数１０は逆量子化部１２、逆直交変換部１３を経て局部復号予測差分信号１４へ復元され、符号化モード６に基づいて生成される予測画像７と加算器１８で加算することで局部復号画像１５が生成される。局部復号画像１５は以降のイントラ予測処理に用いるためメモリ１６へ格納される。また、可変長符号化部１１には、当該マクロブロックに対してデブロッキングフィルタを施すか否かを示すデブロッキングフィルタ制御フラグ２４も入力される(空間予測部２で実施される予測処理には、デブロッキングフィルタが施される前の画素データをメモリ１６に格納して用いるのでデブロッキングフィルタ処理自体は符号化処理には必要はないが、復号装置側ではデブロッキングフィルタ制御フラグ２４の指示によってデブロッキングフィルタを行って最終的な復号画像を得る)。
【００２１】
可変長符号化部１１に入力されるイントラ予測モード共通化識別フラグ２３、量子化済み変換係数１０、符号化モード６、量子化パラメータ２１は所定の規則(シンタックス)に従ってビットストリームとして配列・整形され、送信バッファ１７へ出力される。送信バッファ１７では符号化装置が接続される伝送路の帯域や記録媒体の読み出し速度に合わせてビットストリームを平滑化してビデオストリーム２２として出力する。また、送信バッファ１７中のビットストリーム蓄積状況に応じて符号化制御部１９へフィードバック情報を出力し、以降の映像フレームの符号化における発生符号量を制御する。
【００２２】
２．符号化装置におけるイントラ予測モード判定処理
本実施の形態１の符号化装置の特徴であるイントラ予測モード判定処理について詳述する。本処理は上記3つの色成分をまとめたマクロブロックの単位で実施され、主として、図１の符号化装置における空間予測部２、符号化モード判定部５によって行われる。また、本処理の流れを示すフローチャートを図５に示す。以下、ブロックを構成する3つの色成分の画像データをC0、C1、C2とする。
【００２３】
まず、符号化モード判定部５は、イントラ予測モード共通化識別フラグ２３を受け取り、その値に基づいてC0、C1、C2で共通のイントラ予測モードを使用するか否かを判断する(図５のステップS1)。共通化する場合はステップS2以降へ、共通化しない場合はステップS5以降へ進む。
【００２４】
イントラ予測モードをC0、C1、C2で共通化する場合は、符号化モード判定部５は空間予測部２に対して、選択しうるすべてのイントラ4x4予測モードを通知し、空間予測部２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なイントラ4x4予測モードを選択する(ステップS2)。次いで、符号化モード判定部５は空間予測部２に対して、選択しうるすべてのイントラ16x16予測モードを通知し、空間予測部２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なイントラ16x16予測モードを選択する(ステップS3)。符号化モード判定部５はステップS2、S3で得たモードのうちより予測効率上最適なモードを最終的に選択して(ステップS4)、処理を終了する。
【００２５】
イントラ予測モードをC0、C1、C2で共通化せず、C0、C1、C2でそれぞれ一番よいモードを選択する場合は、符号化モード判定部５は空間予測部２に対して、Ci (i<=0<3)成分で選択しうるすべてのイントラ4x4予測モードを通知し、空間予測部２はそのすべての予測効率を評価して、Ci (i<=0<3)成分における最適なイントラ4x4予測モードを選択する(ステップS6)。同様に最適なイントラ16x16予測モードを選択する(ステップS7)。最後にステップS8にてCi (i<=0<3)成分における最適なイントラ予測モードを判定する。
【００２６】
空間予測部２で行われる予測モードの予測効率評価の規範としてはたとえば、Jm = Dm + λRm(λ：正数)
で与えられるレート・ひずみコストを用いることができる。ここで、Dmはイントラ予測モードmを適用した場合の符号化歪または予測誤差量である。符号化歪とは、イントラ予測モードmを適用して予測誤差を得、予測誤差を変換・量子化した結果から映像を復号して符号化前の信号に対する誤差を計測するものである。予測誤差量は、イントラ予測モードmを適用した場合の予測画像と符号化前の信号との差分を得、その差分の大きさを定量化したもので、たとえば差分絶対値和(Sum of Absolute Distance: SAD)などが用いられる。Rmはイントラ予測モードmを適用した場合の発生符号量である。つまり、Jmはイントラ予測モードmを適用した場合の符号量と劣化度とのトレードオフを規定する値であり、最小のJmを与えるイントラ予測モードmが最適解を与える。
【００２７】
符号化装置がステップS2以降の処理を行った場合、イントラ予測モードの情報は、３つの色成分を含むマクロブロックに対して１つ割り当てられる。一方、ステップS5以降の処理を行った場合は、各色成分に対してそれぞれイントラ予測モード情報が割り当てられる。したがって、マクロブロックに対して割り当てられるイントラ予測モードの情報が異なるため、符号化装置がS2以降の処理過程を行ったか、S5以降の処理過程を行ったかはイントラ予測モード共通化識別フラグ２３をビットストリームに多重化して復号装置側で認識できるようにする必要がある。このようなビットストリームのデータ配列を図６に示す。
【００２８】
同図はマクロブロックのレベルにおけるビットストリームのデータ配列を示しており、イントラ符号化モード２８はイントラ4x4かイントラ16x16かを判別する情報、基本イントラ予測モード２９はイントラ予測モード共通化識別フラグ２３が「C0、C1、C2で共通」であることを示す場合は共通イントラ予測モード情報を示し、「C0、C1、C2で共通」でないことを示す場合はC0に対するイントラ予測モード情報を示す。拡張イントラ予測モード３０は、イントラ予測モード共通化識別フラグ２３が「C0、C1、C2で共通」でないことを示す場合にのみ多重化され、C1、C2に対するイントラ予測モード情報を示す。ついで量子化パラメータ２１、量子化済み変換係数１０が多重化される。図１における符号化モード６は、上記イントラ符号化モード２８とイントラ予測モード(基本・拡張)を総称したものである(図６には図１で可変長符号化部１１に入力されているデブロッキングフィルタ制御フラグ２４が含まれていないが、本実施の形態１の特徴を説明するために必要な構成要素ではないため割愛している)。
【００２９】
従来の映像符号化標準で採用されてきた４：２：０フォーマットでは、色空間の定義がY、Cb、Crに固定されていたが、４：４：４フォーマットではY、Cb、Crに限定せず多様な色空間を利用することができる。図６のようにイントラ予測モード情報を構成することで、入力映像信号１の色空間の定義が種々に及ぶ場合にも最適な符号化処理を行うことができる。たとえば、色空間がRGBで定義される場合はR、G、Bの各成分には均等に映像テクスチャの構造が残存しているため、共通のイントラ予測モード情報を用いることでイントラ予測モード情報自体の冗長性を削減して符号化効率を高めることができる。一方、Y、Cb、Crで色空間が定義される場合、映像テクスチャの構造はYに集約されるため、必ずしも共通のイントラ予測モードが最適な結果を与えるわけではない。そこで、拡張イントラ予測モード３０を適応的に利用することで最適な符号化効率を得ることができる。
【００３０】
３．復号装置の動作概要
図２の復号装置は、図１の符号化装置から出力される図６の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【００３１】
まず、可変長復号部２５はストリーム２２を入力とし、所定の規則(シンタックス)に従ってストリーム２２を解読して、イントラ予測モード共通化識別フラグ２３、量子化済み変換係数１０、符号化モード６、量子化パラメータ２１などの情報を抽出する。量子化済み変換係数１０は量子化パラメータ２１とともに逆量子化部１２へ入力され、逆量子化処理が行われる。ついでその出力が逆直交変換部１３へ入力され、局部復号予測差分信号１４へ復元される。一方、空間予測部２に対しては符号化モード６とイントラ予測モード共通化識別フラグ２３が入力され、これらの情報に従って予測画像７を得る。予測画像７を得る具体的な手順については後述する。局部復号予測差分信号１４と予測画像７は加算器１８により加算され、暫定復号画像１５を得る(これは符号化装置における局部復号画像１５とまったく同じ信号である)。暫定復号画像１５は以降のマクロブロックのイントラ予測に用いられるためメモリ１６へ書き戻される。メモリは各色成分ごとに３面用意される（本実施の形態では３面として説明するが、設計により適宜変更してよい）。また、可変長符号化部２５によって解読されたデブロッキングフィルタ制御フラグ２４の指示に基づいてデブロッキングフィルタ２６を暫定復号画像１５に対して作用させ、最終的な復号画像２７を得る。
【００３２】
４．復号装置におけるイントラ予測復号処理
本実施の形態１の復号装置の特徴であるイントラ予測画像生成処理について詳述する。本処理は上記3つの色成分をまとめたマクロブロックの単位で実施され、主として、図２の復号装置における可変長復号部２５、空間予測部２によって行われる。また、本処理の流れを示すフローチャートを図７に示す。
【００３３】
図７のフローチャートのうち、S10〜S14は可変長復号部２５において行われる。可変長復号部２５への入力であるビデオストリーム２２は、図６のデータ配列に従うものとする。ステップS10では図６のデータのうちイントラ符号化モード２８がまず復号され、ついでイントラ予測モード共通化識別フラグ２３が復号される(ステップS11)。さらに基本イントラ予測モード２９が復号される(ステップS12)。ステップS13では、イントラ予測モード共通化識別フラグ２３の結果を用いてイントラ予測モードをC0、C1、C2で共通化するかどうかを判断し、共通化の場合はC0、C1、C2のすべてに対して基本イントラ予測モード２９を用いることとし、共通化しない場合は基本イントラ予測モード２９をC0のモードとして使用し、さらに拡張イントラ予測モード３０を復号して(ステップS14)、C1,C2のモード情報を得る。以上の処理過程を経て各色成分の符号化モード６が確定するため、これを空間予測部２へ出力し、ステップS15〜S17にしたがって各色成分のイントラ予測画像を得る。イントラ予測画像を得るプロセスは図３、図４の手順に従うもので図１の符号化装置で行う処理と同じである。
【００３４】
図８に、図６のビットストリームデータ配列のバリエーションを示す。図７では、イントラ予測モード共通化識別フラグ２３は、マクロブロックレベルのフラグとしてでなく、スライス、ピクチャ、シーケンスなどの上位データレイヤに位置するフラグとして多重化され、かつ、拡張イントラ予測モード３０の符号語を定義する符号テーブルを複数あるうちのいずれかから選択できるよう、拡張イントラ予測モードテーブル指示フラグ３１を備えるようにした。これにより、スライス以上の上位レイヤでの切り替えで十分な予測効率が確保できる場合は、マクロブロックレベルでイントラ予測モード共通化識別フラグ２３を逐一多重化することなくオーバヘッドビットを削減できる。また、拡張イントラ予測モード３０については、拡張イントラ予測モードテーブル指示フラグ３１を設けることにより、基本イントラ予測モード２９と同一の定義でなく、C1、C2成分に特化した予測モードの定義を選択することが可能となり、色空間の定義に適応した符号化処理を行うことが可能となる。たとえば、AVCの４：２：０フォーマットの符号化では、色差成分(Cb、Cr)に対しては、輝度（Y）とは異なるイントラ予測モードセットが定義されている。４：２：０フォーマットではマクロブロック内の色差信号は8画素×8ラインであり、図９に示す4つのモードのいずれかをマクロブロック単位に選択して復号処理を行う。色差信号はCbとCrの2種類があるが、同じモードを使用する。intra_chroma_pred_mode = 0のDC予測を除いては、図４のイントラ16×16予測モードと同様の予測処理となるが、DC予測では8×8ブロックを4つの4×4ブロックに分割し、それぞれのブロックごとに平均値を求める画素の位置を変更して処理を行う。同図で「a+x, a or x」となっているブロックは、画素aと画素xが共に利用可能な場合にはaとxの8画素、aのみが利用可能な場合にはaの4画素、xのみ利用可能な場合にはxの4画素のみを用いて平均値を求め、予測画像７として使用する。aとxともに利用不可能な場合には値128を予測画像７として使用する。「b or x」となっているブロックは、画像bが利用可能な場合にはbの4画素を、画素xのみが利用可能な場合にはxの4画素を用いて平均値を求める。
【００３５】
このように、色成分の性質に応じてイントラ予測モードのセットに変更を要する場合、図８のシンタックスのような構成により、より最適な符号化効率を得ることができる。
【００３６】
実施の形態２．
本実施の形態２では、４：４：４フォーマットで入力される映像フレームを１６×１６画素の矩形領域(マクロブロック)に均等分割した単位でフレーム内に閉じた符号化を行う別の符号化装置、および対応する復号装置について説明する。本符号化装置、復号装置は実施の形態１と同様、非特許文献１であるMPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。
【００３７】
図１１に、本実施の形態２における映像符号化装置の構成を、図１２に本実施の形態２における映像復号装置の構成を示す。図１１において、図１の符号化装置の構成要素と同じ番号が付されている要素は同一の要素であることを示す。図１２において、図１１の符号化装置の構成要素と同じ番号が付されている要素は同一の要素であることを示す。図１１における３２は変換ブロックサイズ識別フラグであり、３３はイントラ符号化モード共通化識別フラグである。
【００３８】
以下、これらの図に基づいて本実施の形態２の符号化装置ならびに復号装置全体の動作と、本実施の形態２の特徴的な動作であるイントラ符号化・予測モード判定処理およびイントラ予測復号処理について説明する。
【００３９】
１．符号化装置の動作概要
図１１の符号化装置において、入力映像信号１は、個々の映像フレームが４：４：４フォーマットであって、かつ３つの色成分が図１０に示すように同一サイズのマクロブロックに分割してまとめられた単位で符号化装置に入力されるものとする。
【００４０】
空間予測部２においては、メモリ１６に格納される局部復号画像１５を用いて、該マクロブロックの単位で、各色成分ごとにイントラ予測処理が行われる。イントラ予測のモードには、図３に示す４画素×４ラインのブロックの単位でその周辺画素を用いた空間予測を行うイントラ４ｘ４予測モード、図１３に示す８画素×８ラインのブロックの単位でその周辺画素を用いた空間予測を行うイントラ８ｘ８予測モード、図４に示す１６画素×１６ラインのマクロブロックの単位でその周辺画素を用いた空間予測を行うイントラ１６ｘ１６予測モードがある。本実施の形態２における符号化装置では、変換ブロックサイズ識別フラグ３２の状態に従ってイントラ４ｘ４予測モードとイントラ８ｘ８予測モードとを切り替えて用いる。あるマクロブロックを４ｘ４予測、８ｘ８予測、１６ｘ１６予測のいずれのイントラ予測モードを用いて符号化するかは、図６と同様にイントラ符号化モードで表現できる。本実施の形態２における符号化装置では、イントラ符号化モードとして、イントラ４ｘ４予測モードかイントラ８ｘ８予測モードかのいずれかを用いて符号化を行うイントラＮｘＮ予測符号化モード(Ｎは４ないしは８)と、イントラ１６ｘ１６予測モードを用いて符号化を行うイントラ１６ｘ１６予測符号化モードの２種類を設ける。以下、イントラ符号化モード別に説明を進める。
【００４１】
(a)イントラＮｘＮ予測符号化モード
マクロブロック内の輝度信号１６ｘ１６画素ブロックを４ｘ４画素ブロックで構成される１６個のブロックに分割し、各４ｘ４画素ブロックに対して個別に予測モードを選択するイントラ４ｘ４予測モードと、マクロブロック内の輝度信号１６ｘ１６画素ブロックを８ｘ８画素ブロックで構成される４個のブロックに分割し、各８ｘ８画素ブロックに対して個別に予測モードを選択するイントラ８ｘ８予測モードとを選択的に切り替えながら符号化を行うモードである。イントラ４ｘ４予測モードとイントラ８ｘ８予測モードの切り替えは、変換ブロックサイズ識別フラグ３２の状態に連動する。この点は後述する。イントラ４ｘ４予測モードについては、実施の形態１で説明したように、図３に示す９つのモードのいずれかを４ｘ４画素ブロック単位に選択する。すでに符号化を終え、局部復号処理されてメモリ１６に格納された周囲のブロック（左上、上、右上、左）の画素を予測画像生成に用いる。
【００４２】
一方、イントラ８ｘ８予測モードは、図１３に示す９つのモードのいずれかを８ｘ８画素ブロック単位に選択する。図３との対比で明らかなように、イントラ４ｘ４予測モードの予測方法を８ｘ８画素ブロックに適合するように変更を加えたものである。
Intra8x8_pred_mode = 0: 隣接する上部の画素をそのまま予測画像として使用する。
Intra8x8_pred_mode = 1: 隣接する左部の画素をそのまま予測画像として使用する。
Intra8x8_pred_mode = 2: 隣接する8つの画素の平均値を予測画像として使用する。
Intra8x8_pred_mode = 3: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(右45度エッジに対応)。
Intra8x8_pred_mode = 4: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左45度エッジに対応)。
Intra8x8_pred_mode = 5: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左22.5度エッジに対応)。Intra8x8_pred_mode = 6: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左67.5度エッジに対応)。
Intra8x8_pred_mode = 7: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(右22.5度エッジに対応)。
Intra8x8_pred_mode = 8: 隣接する画素から2〜3画素ごとに加重平均を求め予測画像として使用する(左112.5度エッジに対応)。
【００４３】
イントラ４ｘ４予測モードを選択する場合、マクロブロックあたりのモード情報は１６個必要となる。したがって、モード情報自体の符号量を削減するため、モード情報は隣接するブロック間との相関が高いことを利用して、隣接するブロックのモード情報から予測符号化を行う。同様にイントラ８ｘ８予測モードを選択する場合も隣接するブロック間でイントラ予測モードの相関が高いことを利用して、隣接するブロックのモード情報から予測符号化を行う。
【００４４】
(b)イントラ１６ｘ１６予測符号化モード
マクロブロックサイズに相当する１６ｘ１６画素ブロックを一度に予測するモードであり、図４に示す４つのモードのいずれかをマクロブロック単位に選択する。イントラ４ｘ４予測モードと同様、すでに符号化を終え、局部復号処理されてメモリ１６に格納された周囲のマクロブロック（左上、上、左）の画素を予測画像生成に用いる。モード種別は実施の形態１における図４の説明の通りである。イントラ１６ｘ１６予測符号化モードでは、変換ブロックサイズは常に４ｘ４とする。ただし、まず４ｘ４ブロック単位のDC(直流成分、平均値)を１６個分集め、その単位で４ｘ４ブロック変換を行い、DC分を除いた残りの交流成分を４ｘ４ブロックごとに変換する２段階の変換を施す。
【００４５】
本実施の形態２における映像符号化装置は、イントラ符号化モード共通化識別フラグ３３に基づき、３つの色成分に対するイントラ予測・変換・符号化方法を切り替えることを特徴とする。この点については、下記２で詳しく述べる。
【００４６】
空間予測部２では、入力される３つの色成分の信号に対して、イントラ符号化モード共通化識別フラグ３３の指示に基づいてイントラ予測モードの評価を行う。イントラ符号化モード共通化識別フラグ３３は、入力される３つの色成分それぞれについて個別にイントラ符号化モードを割り当てるか、３成分すべてに同じイントラ符号化モードを割り当てるかを指示する。これは以下の背景による。
【００４７】
４：４：４フォーマットでは、従来から符号化に用いられてきたY、Cb、Cr色空間以外に、RGBを直接利用することも可能である。Y、Cb、Cr色空間は、Cb、Crの信号から映像のテクスチャ構造に依存する成分が取り除かれる。Y成分とCb、Cr２成分との間では最適なイントラ符号化方法が変化する確率が高い。(現に、ハイ４：２：０プロファイルなど、AVC/H.264の４：２：０フォーマットを対象とする符号化方式では、Y成分とCb、Cr成分で用いるイントラ予測モードの設計が異なっている)。一方、RGB色空間で符号化を行う場合は、Y、Cb、Cr色空間のように色成分間でのテクスチャ構造の除去を行わず、同一空間上の信号成分は相関が高くなるため、イントラ符号化モードを共通的に選択できるように構成することで符号化効率を高められる可能性がある。この点は、色空間の定義だけでなく、ある特定の色空間を使用したとしても映像の性質によって左右される点であり、符号化方式自体は、そういった映像信号の性質に適応的に対応できることが望ましい。そこで、本実施の形態ではイントラ符号化モード共通化識別フラグ３３を設け、４：４：４フォーマット映像に対する柔軟な符号化を行うことができるよう符号化装置を構成した。
【００４８】
空間予測部２では、以上のように設定されるイントラ符号化モード共通化識別フラグ３３の状態に応じて、図３や図４、図１３に示した全イントラ予測モードないしは所定のサブセットに対して各色成分に対する予測処理を実行して減算器３により予測差分信号４を得る。予測分信号４は符号化モード判定部５においてその予測効率が評価され、空間予測部２で実行した予測処理の中から、対象のマクロブロックに対して最適な予測効率が得られるイントラ予測モードを選択する。ここで、イントラＮｘＮ予測が選ばれた場合、符号化モード６としてイントラＮｘＮ予測符号化モードを出力するとともに、予測モードがイントラ４ｘ４予測であった場合は、変換ブロックサイズ識別フラグ３２を「４ｘ４ブロックサイズでの変換」に設定する。また、予測モードがイントラ８ｘ８予測であった場合は、変換ブロックサイズ識別フラグ３２を「８ｘ８ブロックサイズでの変換」に設定する。変換ブロックサイズ識別フラグ３２の決定方法については様々な方法が考えられるが、本実施の形態２における符号化装置では、イントラＮｘＮ予測によって得られる残差に対して変換を行う場合のブロックサイズを定めるため、符号化モード判定部５において最適なイントラＮｘＮ予測モードが定まった後、そのＮ値にあわせて決定する方法が基本である。例えば、イントラ４ｘ４予測モードを用いる場合に変換ブロックサイズを８ｘ８画素ブロックとすると、予測の結果得られる予測差分信号４において４ｘ４ブロックの単位で予測信号の空間的連続性が断絶される可能性が高くなり、無駄な高周波成分が発生するため、変換による信号電力集中化の効果が薄れる。変換ブロックサイズを予測モードにあわせて４ｘ４画素ブロックとしておけば、このような問題は発生しない。
【００４９】
符号化モード判定部５においてイントラ１６ｘ１６予測が選ばれた場合、符号化モード６としてイントラ１６ｘ１６予測符号化モードを出力する。なお、符号化モード６の選定にあたっては、符号化制御部１９の判断で定まる各符号化モードに対する重み係数２０が加味されることもある。
【００５０】
符号化モード６によって得られる予測差分信号４は直交変換部８へ出力される。直交変換部８は入力される予測差分信号を変換し直交変換係数として量子化部９へ出力する。量子化部９は入力される直交変換係数を、符号化制御部１９によって定まる量子化パラメータ２１に基づいて量子化を行い、量子化済み変換係数１０として可変長符号化部１１へ出力する。
【００５１】
変換ブロックサイズが４ｘ４ブロック単位の場合、直交変換部８に入力される予測差分信号４は、４ｘ４ブロック単位に分割され直交変換され、量子化部９にて量子化が行われる。変換ブロックサイズが８ｘ８ブロック単位の場合、直交変換部８に入力される予測差分信号４は、８ｘ８ブロック単位に分割され直交変換され、量子化部９にて量子化が行われる。
【００５２】
量子化済み変換係数１０は、可変長符号化部１１にてハフマン符号化や算術符号化などの手段によりエントロピー符号化される。また、量子化済み変換係数１０は変換ブロックサイズ識別フラグ３２などに基づくブロックサイズにて逆量子化部１２、逆直交変換部１３を経て局部復号予測差分信号１４へ復元され、符号化モード６に基づいて生成される予測画像７と加算器１８で加算することで局部復号画像１５が生成される。局部復号画像１５は以降のイントラ予測処理に用いるためメモリ１６へ格納される。また、可変長符号化部１１には、当該マクロブロックに対してデブロッキングフィルタを施すか否かを示すデブロッキングフィルタ制御フラグ２４も入力される(空間予測部２で実施される予測処理には、デブロッキングフィルタが施される前の画素データをメモリ１６に格納して用いるのでデブロッキングフィルタ処理自体は符号化処理には必要はないが、復号装置側ではデブロッキングフィルタ制御フラグ２４の指示によってデブロッキングフィルタを行って最終的な復号画像を得る)。
【００５３】
可変長符号化部１１に入力されるイントラ符号化モード共通化識別フラグ３３、量子化済み変換係数１０、符号化モード６、量子化パラメータ２１は所定の規則(シンタックス)に従ってビットストリームとして配列・整形され、送信バッファ１７へ出力される。送信バッファ１７では符号化装置が接続される伝送路の帯域や記録媒体の読み出し速度に合わせてビットストリームを平滑化してビデオストリーム２２として出力する。また、送信バッファ１７中のビットストリーム蓄積状況に応じて符号化制御部１９へフィードバック情報を出力し、以降の映像フレームの符号化における発生符号量を制御する。
【００５４】
２．符号化装置におけるイントラ符号化モード・予測モード判定処理
本実施の形態２の符号化装置の特徴であるイントラ符号化モードおよびイントラ予測モードの判定処理について詳述する。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図１１の符号化装置における空間予測部２、符号化モード判定部５によって行われる。また、本処理の流れを示すフローチャートを図１４に示す。以下、ブロックを構成する３つの色成分の画像データをC0、C1、C2とする。
【００５５】
まず、符号化モード判定部５は、イントラ符号化モード共通化識別フラグ３３を受け取り、その値に基づいてC0、C1、C2で共通のイントラ符号化モードを使用するか否かを判断する(図１４のステップS20)。共通化する場合はステップS21以降へ、共通化しない場合はステップS22以降へ進む。
【００５６】
イントラ符号化モードをC0、C1、C2で共通化する場合は、符号化モード判定部５は空間予測部２に対して、選択しうるすべてのイントラ予測モード(イントラＮｘＮ予測、イントラ１６ｘ１６予測)を通知し、空間予測部２はそのすべての予測効率を評価して、全成分に最適なイントラ符号化モードおよびイントラ予測モードを選択する(ステップS21)。
【００５７】
一方、C0、C1、C2でそれぞれ最適なイントラ符号化モードを選択する場合は、符号化モード判定部５は空間予測部２に対して、Ci(i<=0<3)成分で選択しうるすべてのイントラ予測モード(イントラＮｘＮ予測、イントラ１６ｘ１６予測)を通知し、空間予測部２はそのすべての予測効率を評価して、Ci(i<=0<3)成分における最適なイントラ４ｘ４予測モードを選択する(ステップS23)。
【００５８】
上記ステップS21、S23において、空間予測部２がイントラ４ｘ４予測モードを最適な予測効率を与えるモードとして選択した場合、変換ブロックサイズ識別フラグ３２は「４ｘ４ブロックサイズでの変換」に設定され、空間予測部２がイントラ８ｘ８予測モードを最適な予測効率を与えるモードとして選択した場合、変換ブロックサイズ識別フラグ３２は「８ｘ８ブロックサイズでの変換」に設定される。
【００５９】
空間予測部２で行われる予測モードの予測効率評価の規範としてはたとえば、Jm = Dm  +  λRm(λ：正数)で与えられるレート・ひずみコストを用いることができる。ここで、Dmはイントラ予測モードmを適用した場合の符号化歪または予測誤差量である。符号化歪とは、イントラ予測モードmを適用して予測誤差を得て、予測誤差を変換・量子化した結果から映像を復号して符号化前の信号に対する誤差を計測するものである。予測誤差量は、イントラ予測モードmを適用した場合の予測画像と符号化前の信号との差分を得て、その差分の大きさを定量化したもので、たとえば差分絶対値和(Sum of Absolute Distance: SAD)などが用いられる。Rmはイントラ予測モードmを適用した場合の発生符号量である。つまり、Jmはイントラ予測モードmを適用した場合の符号量と劣化度とのトレードオフを規定する値であり、最小のJmを与えるイントラ予測モードmが最適解を与える。
【００６０】
符号化装置がステップS21以降の処理を行った場合、イントラ符号化モードの情報は、３つの色成分を含むマクロブロックに対して、１つ割り当てられる。一方、ステップS22以降の処理を行った場合は、各色成分に対してそれぞれイントラ符号化モード情報(計３つ)が割り当てられる。したがって、マクロブロックに対して割り当てられるイントラ予測モードの情報が異なるため、符号化装置がS21以降の処理過程を行ったか、S23以降の処理過程を行ったかはイントラ符号化モード共通化識別フラグ２３をビットストリームに多重化して復号装置側で認識できるようにする必要がある。このようなビットストリームのデータ配列を図１５に示す。
【００６１】
図１５において、マクロブロックレベルでビットストリームに多重化されるイントラ符号化モード０(34a)、１(34b)、２(34c)はそれぞれ、C0、C1、C2成分に対する符号化モード６を示す。イントラ符号化モードがイントラＮｘＮ予測符号化モードである場合には、変換ブロックサイズ識別フラグ３２、イントラ予測モードの情報がビットストリームに多重化される。一方、イントラ符号化モードがイントラ１６ｘ１６予測符号化モードである場合には、イントラ予測モードの情報はイントラ符号化モード情報の一部として符号化され、変換ブロックサイズ識別フラグ３２、イントラ予測モードの情報はビットストリームに多重化されない。イントラ符号化モード共通化識別フラグ３３が「C0、C1、C2で共通」であることを示す場合には、イントラ符号化モード１(34b)・２(34c)、変換ブロックサイズ識別フラグ１(32b)・２(32c)、イントラ予測モード１(35b)・２(35c)はビットストリームに多重化されない(図１５中の点線の丸印部分がその分岐を示す)。このときは、イントラ符号化モード0(34a)、変換ブロックサイズ識別フラグ0(32a)、イントラ予測モード0(35a)がそれぞれ全色成分共通の符号化情報として機能する。イントラ符号化モード共通化識別フラグ３３は、図１５においてはスライス、ピクチャ、シーケンスなど、マクロブロックよりも上位レベルのビットストリームデータとして多重化される例を示す。特に、本実施の形態２に挙げた例のように用いる場合は、シーケンスを通じて色空間が変化しないことが多いことから、シーケンスレベルにイントラ符号化モード共通化識別フラグ３３を多重化しておくことで目的を達成できる。
【００６２】
本実施の形態２では、イントラ符号化モード共通化識別フラグ３３を「全成分で共通かどうか」という意味で用いたが、これは入力映像信号１の色空間定義に応じて例えば「C1、C2など特定の２成分で共通かどうか」という意味で使用してもよい(Y、Cb、Crのような場合、CbとCrとでは共通化できる可能性が高い)。さらに、イントラ符号化モード共通化識別フラグ３３の共通化範囲をイントラ符号化モードのみに限定し、イントラＮｘＮ予測モードを使用する場合には、各色成分で独立に変換ブロックサイズやＮｘＮ予測モードを選択できるように構成してもよい(図１６)。図１６のようなシンタックス構成により、ＮｘＮ予測を必要とするような複雑な絵柄の映像に対して、符号化モード情報を共通化しつつも、色成分ごとに予測方法を変更することができ、予測効率を高めることができる。
【００６３】
なお、イントラ符号化モード共通化識別フラグ３３の情報は、符号化装置と復号装置の双方であらかじめ何らかの手段で既知となっていれば、ビデオのビットストリーム中に載せて伝送しなくてもよい。その場合、例えば符号化装置はイントラ符号化モード共通化識別フラグ３３をいずれかの値に固定化して符号化を行うように構成してもよいし、ビデオのビットストリームとは別に伝送してもよい。
【００６４】
３．復号装置の動作概要
図１２の復号装置は、図１１の符号化装置から出力される図１５の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【００６５】
まず、可変長復号部２５はストリーム２２を入力とし、所定の規則(シンタックス)に従ってストリーム２２を解読して、イントラ符号化モード共通化識別フラグ３３、量子化済み変換係数１０、符号化モード６、量子化パラメータ２１などの情報を抽出する。量子化済み変換係数１０は量子化パラメータ２１とともに逆量子化部１２へ入力され、逆量子化処理が行われる。ついでその出力が逆直交変換部１３へ入力され、局部復号予測差分信号１４へ復元される。一方、空間予測部２に対しては符号化モード６とイントラ符号化モード共通化識別フラグ３３が入力され、これらの情報に従って予測画像７を得る。予測画像７を得る具体的な手順については後述する。局部復号予測差分信号１４と予測画像７は加算器１８により加算され、暫定復号画像１５を得る(これは符号化装置における局部復号画像１５とまったく同じ信号である)。暫定復号画像１５は以降のマクロブロックのイントラ予測に用いられるためメモリ１６へ書き戻される。メモリは各色成分ごとに３面用意される。また、可変長符号化部２５によって解読されたデブロッキングフィルタ制御フラグ２４の指示に基づいてデブロッキングフィルタ２６を暫定復号画像１５に対して作用させ、最終的な復号画像２７を得る。
【００６６】
４．復号装置におけるイントラ予測復号処理
本実施の形態２の復号装置の特徴であるイントラ予測画像生成処理について詳述する。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図１２の復号装置における可変長復号部２５、空間予測部２によって行われる。また、本処理の流れを示すフローチャートを図１７に示す。
【００６７】
図１７のフローチャートのうち、S25〜S38は可変長復号部２５において行われる。可変長復号部２５への入力であるビデオストリーム２２は、図１５のデータ配列に従うものとする。ステップS25では図１５のデータのうちイントラ符号化モード0(34a)(C0成分対応)がまず復号される。結果、イントラ符号化モード0(34a)が「イントラＮｘＮ予測」である場合は、変換ブロックサイズ識別フラグ0(32a)とイントラ予測モード0(35a)とが復号される(ステップS26,S27)。次いで、イントラ符号化モード共通化識別フラグ３３の状態に基づき、イントラ符号化・予測モード情報が全色成分で共通と判断された場合は、イントラ符号化モード0(34a)、変換ブロックサイズ識別フラグ0(32a)、イントラ予測モード0(35a)を、C1およびC2成分で用いる符号化情報として設定する(ステップS29、S30)。図１７はマクロブロック単位の処理を図示しており、ステップS29の判断に用いるイントラ符号化モード共通化識別フラグ３３は、図１７のSTARTのプロセスに入る前に、スライス以上のレイヤレベルで可変長復号部２５によってビットストリーム２２から読み出されているものとする。
【００６８】
図１７におけるステップS29にてイントラ符号化・予測モード情報が各色成分ごとに符号化と判断された場合は、続くステップS31〜S38のプロセスにおいて、C1およびC2成分用のイントラ符号化・予測モード情報を復号する。以上の処理過程を経て各色成分の符号化モード６が確定し、これを空間予測部２へ出力して、ステップS39〜S41にしたがって各色成分のイントラ予測画像を得る。イントラ予測画像を得るプロセスは図３、図４、図１３の手順に従うもので図１１の符号化装置で行う処理と同じである。
【００６９】
なお、前述のように、イントラ符号化モード共通化識別フラグ３３の情報は、符号化装置と復号装置の双方であらかじめ何らかの手段で既知となっていれば、復号装置は、ビデオのビットストリーム中からその値を解析するのでなく、例えばあらかじめ固定の値で復号を行うように構成してもよいし、ビデオのビットストリームとは別に伝送してもよい。
【００７０】
従来の映像符号化標準で採用されてきた４：２：０フォーマットでは、色空間の定義がY、Cb、Crに固定されていたが、４：４：４フォーマットではY、Cb、Crに限定せず多様な色空間を利用することができる。図１５や図１６のようにイントラマクロブロックの符号化情報を構成することで、入力映像信号１の色空間の定義や映像信号の性質に応じて最適な符号化処理を行えるとともに、かような符号化処理の結果得られるビットストリームを一意に解釈して映像復号再生処理を行うことができる。
【００７１】
実施の形態３．
本実施の形態３では、図１１の符号化装置、図１２の復号装置の別の構成例を示す。本符号化装置、復号装置は実施の形態１と同様、非特許文献１であるMPEG-4  AVC(ISO/IEC  14496-10)/ITU-T  H.264規格で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。本実施の形態３における映像符号化装置は、図１１で説明した実施の形態２の符号化装置のうち、可変長符号化部１１のみが異なる。本実施の形態３における映像復号装置は、図１２で説明した実施の形態２の復号装置のうち、可変長復号部２５のみが異なる。他は実施の形態２と同様の動作とし、ここでは差異部分のみを説明する。
【００７２】
１．符号化装置におけるイントラ予測モード情報の符号化手順
実施の形態２の符号化装置においては、その可変長符号化部１１では、イントラＮｘＮ予測モードの情報について、ビットストリーム上のデータ配列は示したが、特にその符号化手順を示さなかった。本実施の形態では、その符号化手順の具体的な方法を示す。本実施の形態では特に、イントラＮｘＮ予測モードの値が色成分間で高い相関を有する場合を考慮し、各色成分で得られたイントラＮｘＮ予測モードについて、色成分間での値の相関を利用したエントロピー符号化を行う点に特徴がある。
【００７３】
以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、説明の簡略化のため、イントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定し、イントラ符号化モードをイントラＮｘＮ予測モード、変換ブロックサイズ0〜2を４ｘ４ブロックであるとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ４ｘ４予測モードになる。図１８〜図２０において、符号化の対象となるカレントマクロブロックはＸとする。また、その左隣のマクロブロックはマクロブロックＡ、真上のマクロブロックをマクロブロックＢとする。
【００７４】
C0、C1、C2の各色成分の符号化手順の説明図として、図１８〜図２０を用いる。また、手順のフローチャートを図２１、図２２に示す。
【００７５】
図１８はマクロブロックＸのC0成分の様子を示している。ここで、符号化対象の４ｘ４ブロックをブロックＸ、ブロックＸの左、上の４ｘ４ブロックをそれぞれブロックＡ、ブロックＢと呼ぶこととする。マクロブロックＸのうち、符号化対象の４ｘ４ブロックの位置に応じて２つのケースがある。Case１は、符号化対象の４ｘ４ブロックに対して、その左、上の４ｘ４ブロックがカレントマクロブロックＸの外、すなわち、マクロブロックＡないしはマクロブロックＢに属する場合である。Case２は、符号化対象の４ｘ４ブロックに対して、その左、上の４ｘ４ブロックがカレントマクロブロックＸの内部、すなわち、マクロブロックＸに属する場合である。いずれに場合にせよ、イントラ４ｘ４予測モードはマクロブロックＸ内の個々の４ｘ４ブロックＸに対して１つずつ割り当てられ、これをCurrIntraPredModeとする。また、ブロックＡのイントラ４ｘ４予測モードをIntraPredModeA、ブロックＢのイントラ４ｘ４予測モードをIntraPredModeBとする。IntraPredModeA、IntraPredModeBはともに、ブロックＸを符号化する時点ではすでに符号化済みの情報である。あるブロックＸのイントラ４ｘ４予測モードを符号化するにあたり、まずこれらのパラメータの割り当てを行う(図２１におけるステップS50)。
【００７６】
次に、ブロックＸのCurrIntraPredModeに対する予測値predCurrIntraPredModeを下式で定める(ステップS51)。predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB )
【００７７】
次に、C0成分のCurrIntraPredMode  の符号化を行う。ここでは、CurrIntraPredMode = predCurrIntraPredModeならば、予測値と同じであることを示す１ビットのフラグ(prev_intra_pred_mode_flag)を符号化する。CurrIntraPredMode  !=  predCurrIntraPredModeならば、CurrIntraPredModeとpredCurrIntraPredModeを比較してCurrIntraPredModeのほうが小さい場合、CurrIntraPredModeをそのまま符号化する。CurrIntraPredModeのほうが大きい場合、CurrIntraPredMode-1を符号化する(ステップS52)。
【００７８】
if(CurrIntraPredMode  ==  predCurrIntraPredMode)
{
prev_intra_pred_mode_flag = 1;
}
else
{
prev_intra_pred_mode_flag = 0;
if( CurrIntraPredMode  <  predCurrIntraPredMode)
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
Encode  prev_intra_pred_mode_flag;
If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode;
【００７９】
次に、図１９により、C1成分の符号化手順を示す。まず、C0成分と同様、ブロックＸの位置に応じて、IntraPredModeA、IntraPredModeBなどの近傍の符号化パラメータを設定する(ステップS53)。
【００８０】
次に、ブロックＸのCurrIntraPredModeに対する予測値候補１  predCurrIntraPredMode1  を下式で定める(ステップS54)。predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB )
【００８１】
もしC0成分において、prev_intra_pred_mode_flag＝1ならば、このpredCurrIntraPredMode1をそのままC1成分のブロックXにおけるpredCurrIntraPredMode  に採用する。これは以下の理由による。C0成分の同一ブロック位置でprev_intra_pred_mode_flag＝1が採用されたということは、C0成分においては近傍画像領域において予測モード間の相関が高かったことを意味している。C0成分とC1成分の間でテクスチャ構造の相関を除去し切れていないRGB信号などの場合においては、このような場合、C1成分においてもC0成分と同様、近傍画像領域間に相関が高い可能性がある。したがって、C1成分の予測値はC0成分のイントラ４ｘ４予測モードに依存しないと判断する。
【００８２】
一方、C0成分において、prev_intra_pred_mode_flag＝0、すなわち、rem_intra_pred_modeを符号化した場合(ステップS55)は、C0成分の  CurrIntraPredMode  を予測値候補２とする(ステップS56)。すなわち、predCurrIntraPredMode2 = CurrIntraPredMode_C0これを予測値候補とする背景は以下の通りである。C0成分でrem_intra_pred_modeを符号化するということは、C0成分においては近傍画像領域間でのイントラ予測の相関が低いことを意味する。その場合、C1成分でも同様に近傍画像領域間での相関が低いことが予想され、異なる色成分における同一ブロック位置のイントラ予測モードのほうが、よりよい予測値を与える可能性がある。
【００８３】
C1成分のブロックＸにおける  CurrIntraPredMode  の予測値は最終的に、predCurrIntraPredMode1か、predCurrIntraPredMode2のどちらか一方の値として定める(ステップS57)。どちらの値を用いるかは１ビットのフラグ(pred_flag)で追加符号化する。ただし、pred_flagは、CurrIntraPredModeが予測値に一致するときだけ符号化し、一致しない場合（rem_intra_pred_modeを符号化する場合）予測値はpredCurrIntraPredMode1を用いる。
【００８４】
以上の手順を式で記載すると
If( prev_intra_pred_mode_flag_C0==1 )
{
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;
if( CurrIntraPredMode    ==  predCurrIntraPredMode1 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 0;    //  予測値候補１を使う
}
else  if(CurrIntraPredMode    ==  predCurrIntraPredMode2 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 1;    //  予測値候補２を使う
}
else
{
prev_intra_pred_mode_flag = 0;
if( CurrIntraPredMode  <  predCurrIntraPredMode1 )
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
}
Encode  prev_intra_pred_mode_flag  ;
if(prev_intra_pred_mode_flag  ==  1)
Encode  pred_flag;
else  //  If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode  ;
となる。結果、prev_intra_pred_mode_flag、pred_flag、rem_intra_pred_modeが符号化データとして符号化される(ステップS58)。
【００８５】
次に、図２０により、C2成分の符号化手順を示す。まず、C0、C1成分と同様、ブロックＸの位置に応じて、IntraPredModeA、IntraPredModeBなどの近傍の符号化パラメータを設定する(ステップS59)。
【００８６】
次に、ブロックＸのCurrIntraPredModeに対する予測値候補１  predCurrIntraPredMode1  を下式で定める(ステップS60)。predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB )
【００８７】
もしC0、C1成分の両方において、prev_intra_pred_mode_flag＝1ならば、このpredCurrIntraPredMode1をそのままC1成分のブロックＸにおける  predCurrIntraPredMode  に採用する。これは以下の理由による。C0、C1成分の同一ブロック位置でprev_intra_pred_mode_flag＝1が採用されたということは、C0、C1成分においては近傍画像領域において予測モード間の相関が高かったことを意味している。C0、C1成分とC2成分の間でテクスチャ構造の相関を除去し切れていないRGB信号などの場合においては、このような場合、C2成分においてもC0、C1成分と同様、近傍画像領域間に相関が高い可能性がある。したがって、C2成分の予測値はC0、C1成分のイントラ４ｘ４予測モードに依存しないと判断する。
【００８８】
一方、C0ないしはC1成分において、prev_intra_pred_mode_flag＝0、すなわち、rem_intra_pred_modeを符号化した場合(ステップS61)は、C0ないしはC1成分の  CurrIntraPredMode  を予測値候補２とする(ステップS62)。すなわち、
If( prev_intra_pred_mode_flag_C0  ==  0  &&  pred_intra_pred_mode_flag_C1  ==  1 )predCurrIntraPredMode2 = CurrIntraPredMode_C0;
else  if(prev_intra_pred_mode_flag_C0  ==  1  &&  pred_intra_pred_mode_flag_C1  ==  0 )predCurrIntraPredMode2 = CurrIntraPredMode_C1;
else
predCurrIntraPredMode2 = CurrIntraPredMode_C1;
これを予測値候補とする背景は以下の通りである。C0ないしはC1成分でrem_intra_pred_modeを符号化するということは、C0ないしはC1成分においては近傍画像領域間でのイントラ予測の相関が低いことを意味する。その場合、C2成分でも同様に近傍画像領域間での相関が低いことが予想され、異なる色成分における同一ブロック位置のイントラ予測モードのほうが、よりよい予測値を与える可能性がある。また、この考え方によれば、C0、C1成分ともにrem_intra_pred_modeを符号化する場合には、C0、C1の両方のカレントイントラ予測モードが予測値の候補となりうるが、ここでは、C1成分のカレントイントラ予測モードを予測値として採用する。その理由は、YUV色空間が入力される場合、C0は輝度、C1/C2は色差として扱われる可能性が高く、その場合、C0よりもC1のほうがよりC2の予測モードに近いと考えられるからである。RGB色空間入力の場合においては、C0を選ぶかC1を選ぶかはそれほど大きなファクタにはならず、一般的にC1成分を予測値に採用するのは妥当と考えられる（設計によりC2成分を予測値に採用してもよい）。
【００８９】
C2成分のブロックＸにおける  CurrIntraPredMode  の予測値は最終的に、predCurrIntraPredMode1か、predCurrIntraPredMode2のどちらか一方の値として定める(ステップS63)。どちらの値を用いるかは１ビットのフラグ(pred_flag)で追加符号化する。
【００９０】
以上の手順を式で記載すると
If( prev_intra_pred_mode_flag_C0 == 1  &&  prev_intra_pred_mode_flag == 1 )
{
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );If( prev_intra_pred_mode_flag_C0  ==  0  &&  pred_intra_pred_mode_flag_C1  ==  1 )predCurrIntraPredMode2 = CurrIntraPredMode_C0;else  if(prev_intra_pred_mode_flag_C0  ==  1  &&  pred_intra_pred_mode_flag_C1  ==  0 )predCurrIntraPredMode2 = CurrIntraPredMode_C1;
else
predCurrIntraPredMode2 = CurrIntraPredMode_C1;
if( CurrIntraPredMode    ==  predCurrIntraPredMode1 )            {                  prev_intra_pred_mode_flag = 1;                  pred_flag = 0;    //  予測値候補１を使う            
}            
else  if(CurrIntraPredMode == predCurrIntraPredMode2 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 1;    //  予測値候補２を使う
}
else
{
prev_intra_pred_mode_flag = 0;
if( CurrIntraPredMode  <  predCurrIntraPredMode1 )
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
}
Encode  prev_intra_pred_mode_flag  ;
if(prev_intra_pred_mode_flag  ==  1)
Encode  pred_flag;
else  //  If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode  ;となる。結果、prev_intra_pred_mode_flag、pred_flag、rem_intra_pred_modeが符号化データとして符号化される(ステップS64)。
【００９１】
以上のべた符号化手順は、イントラ８ｘ８予測モードに対しても同様に定義できる。イントラＮｘＮ予測モードをこのような手順で符号化することにより、他の色成分において選択される予測モードとの間の相関を利用することができ、予測モード自体の符号量を削減して、符号化効率を向上することができる。
【００９２】
図２１と図２２の違いは、MBあたりのイントラ予測モードの符号化処理を各色成分ごとに分離して行うか、まとめて行うかの違いである。図２１の場合は４ｘ４ブロックの単位で各色成分の符号化が行われ、それらを16パターン集めたものがビットストリームに配列される（ステップS65）。図２２の場合は、各色成分の16個の４ｘ４ブロックがまとめて符号化され、それを色成分別にビットストリームに配列した形態になる（ステップS66、S67、S68）。
【００９３】
なお、上記述べた手順では、pred_flag  は、prev_intra_pred_mode_flag  が１のときのみ有効な情報としているが、prev_intra_pred_mode_flag  が0の場合も包含するように定めてもよい。すなわち、例えば、C1成分の例をとると、
If( prev_intra_pred_mode_flag_C0  ==  1 )
{
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );if( CurrIntraPredMode    ==  predCurrIntraPredMode )
{
prev_intra_pred_mode_flag = 1;
}
Else{
if( CurrIntraPredMode  <  predCurrIntraPredMode )
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;if( CurrIntraPredMode    ==  predCurrIntraPredMode1 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 0;    //  予測値候補１を使う}else  if(CurrIntraPredMode    ==  predCurrIntraPredMode2 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 1;    //  予測値候補２を使う
}
else
{
prev_intra_pred_mode_flag = 0;
if( |  CurrIntraPredMode  -  predCurrIntraPredMode1  |  <
|  CurrIntraPredMode    predCurrIntraPredMode2  | )
{
pred_flag = 0;
predCurrIntraPredMode = predCurrIntraPredMode1;
}
Else
{
pred_flag = 1;
predCurrIntraPredMode = predCurrIntraPredMode2;
}
if( CurrIntraPredMode  <  predCurrIntraPredMode )
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
}
Encode  prev_intra_pred_mode_flag  ;
If(prev_intra_pred_mode_flag_C0  ==  0)
Encode  pred_flag;
If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode  ;
のような手順で符号化するように構成してもよい。この方法では、C0成分の同一位置のブロックにおけるイントラ予測モードにおいてrem_intra_pred_modeを符号化する場合には常時pred_flagを符号化することになるが、prev_intra_pred_mode_flag = 0の場合でもより精度のよい予測値を使用することができ、符号化効率の改善が期待できる。また、さらに進めて、C0成分の同一位置のブロックにおけるイントラ予測モードにおいてrem_intra_pred_modeを符号化するかどうかに依存せず、pred_flagを符号化するように構成してもよい。この場合は常時C0成分のイントラ予測モードを予測値候補として使用することになる。
【００９４】
すなわち、この場合の式は以下のようになる。
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;
if( CurrIntraPredMode    ==  predCurrIntraPredMode1 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 0;    //  予測値候補１を使う
}
else  if(CurrIntraPredMode    ==  predCurrIntraPredMode2 )
{
prev_intra_pred_mode_flag = 1;
pred_flag = 1;    //  予測値候補２を使う
}
else
{
prev_intra_pred_mode_flag = 0;
if( |  CurrIntraPredMode  -  predCurrIntraPredMode1  |  <
|  CurrIntraPredMode    predCurrIntraPredMode2  | )
{
pred_flag = 0;
predCurrIntraPredMode = predCurrIntraPredMode1;
}
Else
{
pred_flag = 1;
predCurrIntraPredMode = predCurrIntraPredMode2;}
if( CurrIntraPredMode  <  predCurrIntraPredMode )
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;      
}
Encode  prev_intra_pred_mode_flag  ;
Encode  pred_flag;If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode  ;
【００９５】
なお、pred_flag  は、４ｘ４ブロック単位でなく、マクロブロックやシーケンスの単位で設定するようにしてもよい。マクロブロック単位で設定する場合は、マクロブロック内のすべての４ｘ４ブロックについて、予測値候補１ないしは予測値候補２のどちらを使うかを共通化するので、pred_flagとして伝送するオーバヘッド情報をさらに削減できる。また、入力色空間定義に応じて予測値候補１ないしは予測値候補２のどちらを使うかを定めるために、シーケンスの単位で定めるようにすることもできる。この場合はマクロブロックごとにもpred_flagを伝送する必要がなくなり、さらにオーバヘッド情報を削減できる。
【００９６】
２．復号装置におけるイントラ予測モード情報の復号手順
実施の形態２の復号装置においては、その可変長復号部２５では、イントラＮｘＮ予測モードの情報について、ビットストリーム上のデータ配列は示したが、特にその復号手順を示さなかった。本実施の形態３では、その復号手順の具体的な方法を示す。本実施の形態３では特に、イントラＮｘＮ予測モードの値が色成分間で高い相関を有する場合を考慮し、各色成分で得られたイントラＮｘＮ予測モードについて、色成分間での値の相関を利用したエントロピー符号化が行われたビットストリームを復号する点に特徴がある。
【００９７】
以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、説明をイントラ予測モードの復号手順に限定するため、ビットストリーム中のイントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定されているものとする。また、イントラ符号化モードはイントラＮｘＮ予測モード、変換ブロックサイズ0〜2は４ｘ４ブロックが指定されているものとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ４ｘ４予測モードになる。符号化装置と同様、復号装置においても、図１８〜図２０の関係を用いる。復号装置では、復号の対象となるカレントマクロブロックをＸとする。また、その左隣のマクロブロックはマクロブロックＡ、真上のマクロブロックをマクロブロックＢとする。復号手順のフローチャートを図２３に示す。図２３において、図２１、図２２と同じ番号を付与したステップは符号化装置の処理と同じ処理を実行することを示す。
【００９８】
図１８はマクロブロックＸのC0成分の様子を示している。マクロブロックＸのうち、復号対象の４ｘ４ブロックの位置に応じて２つのケースがある。Case１は、復号対象の４ｘ４ブロックに対して、その左、上の４ｘ４ブロックがカレントマクロブロックＸの外、すなわち、マクロブロックＡないしはマクロブロックＢに属する場合である。Case２は、復号対象の４ｘ４ブロックに対して、その左、上の４ｘ４ブロックがカレントマクロブロックＸの内部、すなわち、マクロブロックＸに属する場合である。ここで、復号対象の４ｘ４ブロックをブロックＸ、ブロックＸの左、上の４ｘ４ブロックをそれぞれブロックＡ、ブロックＢと呼ぶこととする。いずれに場合にせよ、イントラ４ｘ４予測モードはマクロブロックＸ内の個々の４ｘ４ブロックＸに対して１つずつ割り当てられ、これをCurrIntraPredModeとする。また、ブロックＡのイントラ４ｘ４予測モードをIntraPredModeA、ブロックＢのイントラ４ｘ４予測モードをIntraPredModeBとする。IntraPredModeA、IntraPredModeBはともに、ブロックＸを符号化する時点ではすでに復号済みの情報である。あるブロックＸのイントラ４ｘ４予測モードを復号するにあたり、まずこれらのパラメータの割り当てを行う(ステップS50)。
【００９９】
次に、ブロックＸのCurrIntraPredModeに対する予測値  predCurrIntraPredMode  を下式で定める(ステップS51)。predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB )
【０１００】
次に、CurrIntraPredMode = predCurrIntraPredModeであるかどうかを示す１ビットのフラグ(prev_intra_pred_mode_flag)を復号する。prev_intra_pred_mode_flag = 1は、CurrIntraPredMode = predCurrIntraPredModeであることを意味する。さもなくば(prev_intra_pred_mode_flag = 0)、rem_intra_pred_mode  の情報をビットストリーム中から復号する。rem_intra_pred_mode  とpredCurrIntraPredModeを比較してrem_intra_pred_modeの方が小さい場合、CurrIntraPredMode = rem_intra_pred_modeとする。CurrIntraPredModeの方が大きい場合、CurrIntraPredMode = rem_intra_pred_mode  ＋1とする(ステップS65)。
【０１０１】
これらの手順をまとめると以下のようになる。
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;}
【０１０２】
次に、図１９により、C1成分の復号手順を示す。まず、C0成分と同様、ブロックＸの位置に応じて、IntraPredModeA、IntraPredModeBなどの近傍の符号化パラメータを設定する(ステップS53)。
【０１０３】
次に、ブロックＸのCurrIntraPredModeに対する予測値候補１  predCurrIntraPredMode1  を下式で定める(ステップS54)。predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB )
【０１０４】
もしC0成分において、prev_intra_pred_mode_flag＝1ならば、このpredCurrIntraPredMode1をそのままC1成分のブロックＸにおける  predCurrIntraPredMode  に採用する。これは符号化装置において説明した理由と同様である。
【０１０５】
一方、C0成分において、prev_intra_pred_mode_flag＝0、すなわち、rem_intra_pred_modeを復号した場合(ステップS55)は、C0成分の  CurrIntraPredMode  を予測値候補２とする(ステップS56)。すなわち、predCurrIntraPredMode2 = CurrIntraPredMode_C0これを予測値候補とする背景も符号化装置において説明した理由と同様である。
【０１０６】
C1成分のブロックＸにおける  CurrIntraPredMode  の予測値は最終的に、predCurrIntraPredMode1か、predCurrIntraPredMode2のどちらか一方の値として定める(ステップS57)。どちらの値を用いるかは１ビットのフラグ(pred_flag)を復号して定める。ただし、pred_flagは、CurrIntraPredModeが予測値に一致するときだけ復号し、一致しない場合（rem_intra_pred_modeを復号する場合）予測値はpredCurrIntraPredMode1を用いる。
【０１０７】
予測値候補１、予測値候補２、prev_intra_pred_mode_flag、pred_flag、rem_intra_pred_modeが与えられた上で、以下の手順により、CurrIntraPredModeを復号する(ステップS66)。if( prev_intra_pred_mode_flag_C0  ==  1 )
{
pred_flag = 0;    //  このときはpred_flagはビットストリームには含まれない
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;
Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{
Decode  pred_flag;
If( pred_flag  ==  0 )
predCurrIntraPredMode = predCurrIntraPredMode1;
Else
predCurrIntraPredMode = predCurrIntraPredMode2;
CurrIntraPredMode  ==  predCurrIntraPredMode;      
}
else
{
predCurrIntraPredMode = predCurrIntraPredMode1;
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;      }}
【０１０８】
次に、図２０により、C2成分の復号手順を示す。まず、C0、C1成分と同様、ブロックＸの位置に応じて、IntraPredModeA、IntraPredModeBなどの近傍の符号化パラメータを設定する(ステップS59)。
【０１０９】
次に、ブロックＸのCurrIntraPredModeに対する予測値候補１  predCurrIntraPredMode1  を下式で定める(ステップS60)。predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB )
【０１１０】
もしC0、C1成分の両方において、prev_intra_pred_mode_flag＝1ならば、このpredCurrIntraPredMode1をそのままC1成分のブロックＸにおける  predCurrIntraPredMode  に採用する。これは符号化装置において説明した理由と同様である。
【０１１１】
一方、C0ないしはC1成分において、prev_intra_pred_mode_flag＝0、すなわち、rem_intra_pred_modeを復号した場合(ステップS61)は、C0ないしはC1成分の  CurrIntraPredMode  を予測値候補２とする(ステップS62)。
【０１１２】
すなわち、
If( prev_intra_pred_mode_flag_C0  ==  0  &&  pred_intra_pred_mode_flag_C1  ==  1 )predCurrIntraPredMode2 = CurrIntraPredMode_C0;else  if(prev_intra_pred_mode_flag_C0  ==  1  &&  pred_intra_pred_mode_flag_C1  ==  0 )predCurrIntraPredMode2 = CurrIntraPredMode_C1;elsepredCurrIntraPredMode2 = CurrIntraPredMode_C1;
これを予測値候補とする背景も符号化装置において説明した理由と同様である。
【０１１３】
C2成分のブロックＸにおける  CurrIntraPredMode  の予測値は最終的に、predCurrIntraPredMode1か、predCurrIntraPredMode2のどちらか一方の値として定める(ステップS63)。どちらの値を用いるかは１ビットのフラグ(pred_flag)を復号して定める。ただし、pred_flagは、CurrIntraPredModeが予測値に一致するときだけ復号し、一致しない場合（rem_intra_pred_modeを復号する場合）は、予測値はpredCurrIntraPredMode1を用いる。
【０１１４】
予測値候補１、予測値候補２、prev_intra_pred_mode_flag、pred_flag、rem_intra_pred_modeが与えられた上で、以下の手順により、CurrIntraPredModeを復号する(ステップS71)。if(prev_intra_pred_mode_flag_C0  ==  1  &&  prev_intra_pred_mode_flag_C1  ==  1 )
{
pred_flag = 0;    //  このときはpred_flagはビットストリームには含まれない
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );If( prev_intra_pred_mode_flag_C0  ==  0  &&  pred_intra_pred_mode_flag_C1  ==  1 )predCurrIntraPredMode2 = CurrIntraPredMode_C0;else  if(prev_intra_pred_mode_flag_C0  ==  1  &&  pred_intra_pred_mode_flag_C1  ==  0 )predCurrIntraPredMode2 = CurrIntraPredMode_C1;elsepredCurrIntraPredMode2 = CurrIntraPredMode_C1;      Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{        Decode  pred_flag;
If( pred_flag  ==  0 )
predCurrIntraPredMode = predCurrIntraPredMode1;
Else
predCurrIntraPredMode = predCurrIntraPredMode2;
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
predCurrIntraPredMode = predCurrIntraPredMode1;
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
}
【０１１５】
以上のべた復号手順は、イントラ８ｘ８予測モードに対しても同様に定義できる。イントラＮｘＮ予測モードをこのような手順で復号することにより、他の色成分において選択される予測モードとの間の相関を利用して、予測モード自体の符号量を削減し、符号化効率を向上させたビットストリームを復号することができる。
【０１１６】
なお、上記述べた手順では、pred_flag  は、prev_intra_pred_mode_flag  が１となっている場合にのみ復号される情報としているが、prev_intra_pred_mode_flag  が０の場合も包含する情報として復号するようにしてもよい。
【０１１７】
すなわち、例えば、C1成分の例をとると、if( prev_intra_pred_mode_flag_C0  ==  1 )
{
predCurrIntraPredMode = Min( IntraPredModeA, IntraPredModeB );
Decode  prev_intra_pred_mode_flag;
if(prev_intra_pred_mode_flag  ==  1)
{        CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
}
else
{
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;
Decode  prev_intra_pred_mode_flag;
Decode  pred_flag;If( pred_flag  ==  0 )
predCurrIntraPredMode = predCurrIntraPredMode1;
Else
predCurrIntraPredMode = predCurrIntraPredMode2;
if(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
}
のような手順で復号するように構成してもよい。この方法の効果は対応する符号化装置側での符号化手順の記載中に述べたとおりである。また、さらに進めて、C0成分の同一位置のブロックにおけるイントラ予測モードにおいてrem_intra_pred_modeを復号するかどうかに依存せず、pred_flagを復号するように構成してもよい。この場合は常時C0成分のイントラ予測モードを予測値候補として使用することになる。
【０１１８】
すなわち、
predCurrIntraPredMode1 = Min( IntraPredModeA, IntraPredModeB );
predCurrIntraPredMode2 = CurrIntraPredMode_C0;
Decode  prev_intra_pred_mode_flag;
Decode  pred_flag;If( pred_flag  ==  0 )
predCurrIntraPredMode = predCurrIntraPredMode1;
Else
predCurrIntraPredMode = predCurrIntraPredMode2;
if(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;
}
となる。
【０１１９】
なお、符号化装置の説明で述べたように、pred_flag  は、４ｘ４ブロック単位でなく、マクロブロックやシーケンスの単位でビットストリームに含まれていてもよい。マクロブロック単位で設定する場合は、マクロブロック内のすべての４ｘ４ブロックについて、予測値候補１ないしは予測値候補２のどちらを使うかを共通化するので、復号するpred_flagのオーバヘッド情報が削減される。また、入力色空間定義に応じて予測値候補１ないしは予測値候補２のどちらを使うかを定めるために、シーケンスの単位で定めるようにすることもできる。この場合はマクロブロックごとにもpred_flagを伝送する必要がなくなり、さらにオーバヘッド情報を削減される。
【０１２０】
実施の形態４．
実施の形態２にて図１６の形式のビットストリームについて説明した。実施の形態２では、イントラ符号化モードが「イントラNxN予測」を示している場合、変換ブロックサイズ識別フラグ0〜2(32a〜32c)の値に応じて、C0、C1、C2各色成分のイントラ予測モードがイントラ4x4予測モードか、イントラ8x8予測モードと認識されることを述べた。本実施の形態４では、このビットストリーム配列を変更して図２４に示すように、C1、C2成分について、イントラ予測モード指示フラグ１、２(36a,36b)をシーケンスレベルで伝送するように構成する。イントラ予測モード指示フラグは、イントラ符号化モードにおいてイントラNxN予測モードが選択される場合で、かつ変換ブロックサイズ識別フラグが4x4変換を指示している場合、すなわちイントラ4x4予測モードの場合に有効であって、この値に応じて、以下の２つの状態を切り替えることを可能とする。状態１：C1ないしはC2成分に対しても、使用するイントラ4x4予測モードは図３の９つから個別に選択し符号化する。状態２：C1ないしはC2成分に対しては、使用するイントラ4x4予測モードをDC予測、つまり図３のintra4x4_pred_mode = 2に限定し、イントラ予測モード情報を符号化しない。
【０１２１】
例えば、Y、Cb、Crのような色空間で符号化を行う場合で、HDTV以上などの高解像度映像の場合、4x4ブロックはきわめて小さい画像領域に対応する。このとき、特にCb、Cr成分といった画像のテクスチャ構造を保持していない成分に対して９つもの予測モードを選択する余地を与えるよりも、予測モード情報自体を１つに固定化してオーバヘッドとなる予測モード情報を伝送しないほうが効率的な場合がある。このようなビットストリーム配列を行うことによって、入力色空間の性質や映像の特性に応じた最適な符号化が可能になる。
【０１２２】
図２４の形式のビットストリームを受ける復号装置は、可変長復号部２５においてイントラ予測モード指示フラグ(36a,36b)を復号し、その値によって、ビットストリームが状態１で符号化されているか、状態２で符号化されているかを識別するように構成しておく。これによって、C1ないしはC2成分に対して、ビットストリームからイントラ4x4予測モードを復号して使用するか、DC予測つまり図３のintra4x4_pred_mode = 2を固定的に適用するかを判断する。
【０１２３】
また、本実施の形態４では、状態２は、C1ないしはC2成分に対して、intra4x4_pred_mode = 2に限定するとしたが、予測モード情報を１つに固定すればよく、他の予測モードでもよい。また、状態２は、C1ないしはC2成分に対して、C0と同じイントラ4x4予測モードを使用する、というように定めてもよい。この場合も、C1ないしはC2成分についてはイントラ4x4予測モードを符号化する必要がないのでオーバヘッドビットを削減できる。
【０１２４】
実施の形態５．
本実施の形態５では、図１１の符号化装置、図１２の復号装置の別の構成例を示す。本実施の形態５における符号化装置、復号装置は上記の他の実施の形態と同様、非特許文献１であるMPEG-4  AVC(ISO/IEC  14496-10)/ITU-T  H.264規格で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。本実施の形態５における映像符号化装置は、実施の形態２、３で説明した図１１の符号化装置の構成のうち、可変長符号化部１１の動作のみが異なる。本実施の形態５における映像復号装置は、実施の形態２、３で説明した図１２の復号装置の構成のうち、可変長復号部２５の動作のみが異なる。他は実施の形態２、３と同様の動作とし、ここでは差異部分のみを説明する。
【０１２５】
１．符号化装置におけるイントラ予測モード情報の符号化手順
実施の形態３の符号化装置においては、その可変長符号化部１１では、図１６の形式によるビットストリームにおいて、イントラNxN予測モード情報の具体的な符号化方法について示した。本実施の形態５では、その符号化手順の別の具体的な方法を示す。本実施の形態５では特に、イントラNxN予測モードの値が画像パターンとしてのテクスチャの構造を反映することに着目し、同一色成分中の近傍画素領域内で適応的な予測を行う方法を与える点に特徴がある。以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、本実施の形態５では、C0、C1、C2の各成分のイントラNxN予測モード情報の符号化は色成分ごとに独立に符号化することとして、C0成分の符号化方法をC1、C2にも同様に適用するものとし、説明の簡略化のため、C0成分についてのみ説明する。イントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定し、イントラ符号化モードをイントラNxN予測モード、変換ブロックサイズ識別フラグ0〜2(32a〜32c)を4x4ブロックであるとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ4x4予測モードになる。C0成分のイントラNxN予測モード情報の符号化手順の説明図として、図１８を用いる。図１８において、符号化の対象となるカレントマクロブロックはＸとする。また、その左隣のマクロブロックはマクロブロックＡ、真上のマクロブロックをマクロブロックＢとする。また、符号化手順のフローチャートを図２５に示す。
【０１２６】
実施の形態３では、図１８において個々の4x4ブロックＸに対して１つずつ割り当てられているイントラ4x4予測モードCurrIntraPredModeに対する予測値  predCurrIntraPredMode  を、IntraPredModeA, IntraPredModeBのうち小さいほうの値を一意に割り当てた。これは、現在のAVC/H.264規格でも採用されている方法であり、イントラNxN予測モードの値が大きくなるほど、予測画像生成方式が画像パターンの方向性を加味した画素補間を伴う複雑なモードになっており、一般的な画像パターンへの適合性が高いモードには小さい値が割り振られることに起因する。ビットレートが低い場合には、歪の増分よりも予測モードの符号量増分のほうがモード選択に大きな影響を及ぼすため、この方式でも全体の符号化効率にとっては有益であるが、逆に、ビットレートが比較的高い場合は、予測モードの符号量の増分よりも歪の増分のほうがモード選択に大きな影響を与えることから、かならずしもIntraPredModeA, IntraPredModeBのうち小さいほうの値が最適とはいえなくなる。このような観察に基づいて、本実施の形態５では、この予測値設定を、以下に説明するようにIntraPredModeA, IntraPredModeBの状態に応じて適応化することで予測値の精度を向上させる。この手順では、画像パターンとしてみた場合にCurrIntraPredModeをもっともよく推定できると判断される値として、IntraPredModeA, IntraPredModeBの状態をもとにpredCurrIntraPredMode  を定める(ステップS73,S74,S75)。
【０１２７】
(1)IntraPredModeA, IntraPredModeBがともに0から2の範囲にあるときは、MIN(IntraPredModeA, IntraPredModeB)をpredCurrIntraPredModeとする。(2)IntraPredModeA, IntraPredModeBのいずれかが3以上のときで、IntraPredModeA, IntraPredModeBの予測の方向がまったく異なるとき  (例：IntraPredModeAが3で、IntraPredModeBが4のとき)は、DC予測(intra4x4_pred_mode = 2)  をpredCurrIntraPredModeとする。(3)IntraPredModeA, IntraPredModeBのいずれかが3以上のときで、予測の方向が同じとき(例：IntraPredModeAが3でIntraPredModeBが7のとき（いずれも右上からの予測）)は、画素を補間する予測モード(上述の例では7)をpredCurrIntraPredModeとする。
【０１２８】
なお、実施の形態３と同様、IntraPredModeA、IntraPredModeBなど符号化のための準備処理は事前に行っておく(ステップS50,S53,S59)。結果、predCurrIntraPredMode  は、IntraPredModeA, IntraPredModeBの値から一意に導かれる。この予測値設定の規則をテーブル化したものを図２６に示す。図２６において網がけされた部分は、従来のMIN(IntraPredModeA, IntraPredModeB)の規則には従わないケースで、画像パターンの連続性からよりよい予測値が判断されるケースである。上記手順(1)では、クラス0のテーブルが使用される。(2)、(3)ではクラス１のテーブルが使用される。
【０１２９】
以上の結果、predCurrIntraPredModeが定まった後は、実施の形態３で述べたC0成分の残りの符号化手順を実行することで符号化を完了する(ステップS52,S58,S64)。
【０１３０】
つまり、
if(CurrIntraPredMode  ==  predCurrIntraPredMode)
{
prev_intra_pred_mode_flag = 1;
}
else
{
prev_intra_pred_mode_flag = 0;
if( CurrIntraPredMode  <  predCurrIntraPredMode)
rem_intra_pred_mode = CurrIntraPredMode;
else
rem_intra_pred_mode = CurrIntraPredMode  -  1;
}
Encode  prev_intra_pred_mode_flag;
If(prev_intra_pred_mode_flag  ==  0)
Encode  rem_intra_pred_mode;
となる。
【０１３１】
以上のべた符号化手順は、イントラ8x8予測モードに対しても同様に定義できる。イントラNxN予測モードをこのような手順で符号化することにより、同一色成分の近傍画素領域における予測モードの相関をよりよく利用することができ、予測モード自体の符号量を削減して、符号化効率を向上することができる。
【０１３２】
２．復号装置におけるイントラ予測モード情報の復号手順
実施の形態３の復号装置においては、図１６の形式によるビットストリームに対して、可変長復号部２５でのイントラNxN予測モードの情報の具体的な復号手順の一つを示した。本実施の形態５では、復号手順の別の具体的な方法を示す。本実施の形態５では特に、イントラNxN予測モードの値が画像パターンとしてのテクスチャの構造を反映することに着目し、同一色成分中の近傍画素領域内で適応的な予測を行って符号化が行われたビットストリームを復号する点に特徴がある。
【０１３３】
以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、説明の簡略化のため、ビットストリーム中のイントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定されているものとする。また、イントラ符号化モードはイントラNxN予測モード、変換ブロックサイズ識別フラグ0〜2(32a〜32c)は4x4ブロックが指定されているものとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ4x4予測モードになる。符号化装置と同様、復号装置においても、図１８の関係を用いてC0成分についてのみ説明する(C1、C2は同等の手順でC0とは独立に復号する)。復号装置では、復号の対象となるカレントマクロブロックをＸとする。また、その左隣のマクロブロックはマクロブロックＡ、真上のマクロブロックをマクロブロックＢとする。
【０１３４】
実施の形態３では、符号化装置の説明にも記したように、図１８において個々の4x4ブロックＸに対して１つずつ割り当てられているイントラ4x4予測モードCurrIntraPredModeに対する予測値  predCurrIntraPredMode  を、IntraPredModeA, IntraPredModeBのうち小さいほうの値を一意に割り当てた。これに対し、本実施の形態５における復号装置では、predCurrIntraPredModeを符号化手順に示した手順と全く同じ手順で、図２６のテーブルを用いて決定する。IntraPredModeA, IntraPredModeBはすでに復号されて既知であるため、符号化手順とまったく同じ処理を行うことが可能である。
【０１３５】
その後の手順は、実施の形態３に述べたC0成分の復号手順と等価である。まとめると以下のようになる。
Decode  prev_intra_pred_mode_flag;i
f(prev_intra_pred_mode_flag  ==  1)
{
CurrIntraPredMode  ==  predCurrIntraPredMode;
}
else
{
Decode  rem_intra_pred_mode;
if(rem_intra_pred_mode  <  predCurrIntraPredMode )
CurrIntraPredMode = rem_intra_pred_mode;
else
CurrIntraPredMode = rem_intra_pred_mode  +  1;}
【０１３６】
以上のべた復号手順は、イントラ8x8予測モードに対しても同様に定義できる。イントラNxN予測モードをこのような手順で復号することにより、同一色成分の近傍画素領域における予測モードの相関をよりよく利用して、予測モード自体の符号量を削減した符号化ビットストリームを復号することができる。
【０１３７】
また、上述の例では図２６のテーブルを固定的に使用してpredCurrIntraPredModeを定めて符号化・復号を行ったが、図２６のテーブルを初期値として、IntraPredModeA, IntraPredModeBの状態に対して最も発生しやすいイントラ予測モードをpredCurrIntraPredModeとして逐次更新しながら符号化・復号するように構成してもよい。例えば、図２６の「クラス＝０、IntraPredModeA＝０、IntraPredModeB＝０、predCurrIntraPredMode＝０」なる組み合わせにおいて、上述の実施の形態ではIntraPredModeA＝０、IntraPredModeB＝０の場合には、常にpredCurrIntraPredModeを0とした。しかし、映像信号自体は非定常信号であるため、映像の内容によっては、この組み合わせが必ずしもベストである保証はない。最悪の場合、映像全体を通じて、ほとんどのケースでpredCurrIntraPredModeが予測値としてヒットしない可能性もゼロではない。したがって、例えば、IntraPredModeA＝０、IntraPredModeB＝０の場合に発生するCurrIntraPredModeの頻度をカウントしておき、CurrIntraPredModeの符号化・復号が終わるたびに、IntraPredModeA、IntraPredModeBの状態に対して最も発生頻度の高い予測モードをもってpredCurrIntraPredModeを更新するように構成する。このような構成により、CurrIntraPredModeの符号化・復号に用いる予測値を映像内容に照らして最適な値に設定することができる。
【０１３８】
実施の形態６．
本実施の形態６では、図１１の符号化装置、図１２の復号装置の別の構成例を示す。本実施の形態６における符号化装置、復号装置は上記の他の実施の形態と同様、非特許文献１であるMPEG-4  AVC(ISO/IEC  14496-10)/ITU-T  H.264規格で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。本実施の形態６における映像符号化装置は、実施の形態２、３、５で説明した図１１の符号化装置の構成のうち、可変長符号化部１１の動作のみが異なる。本実施の形態６における映像復号装置は、実施の形態２、３、５で説明した図１２の復号装置の構成のうち、可変長復号部２５の動作のみが異なる。他は実施の形態２、３、５と同様の動作とし、ここでは差異部分のみを説明する。
【０１３９】
１．符号化装置におけるイントラ予測モード情報の符号化手順
実施の形態３や実施の形態５の符号化装置においては、図１６の形式によるビットストリームについて、イントラNxN予測モード情報の具体的な符号化方法について示した。本実施の形態６では、その符号化手順の別の具体的な方法を示す。本実施の形態６では特に、イントラNxN予測モードの値が画像パターンとしてのテクスチャの構造を反映することに着目し、同一色成分中の近傍画素領域内で適応的な算術符号化を行う方法を与える点に特徴がある。以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、本実施の形態６では、C0、C1、C2の各成分のイントラNxN予測モード情報の符号化は色成分ごとに独立に符号化することとして、C0成分の符号化方法をC1、C2にも同様に適用するものとし、説明の簡略化のため、C0成分についてのみ説明する。イントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定し、イントラ符号化モードをイントラNxN予測モード、変換ブロックサイズ識別フラグ0〜2(32a〜32c)を4x4ブロックであるとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ4x4予測モードになる。C0成分のイントラNxN予測モード情報の符号化手順の説明図として、図１８を用いる。図１８において、符号化の対象となるカレントマクロブロックはXとする。また、その左隣のマクロブロックはマクロブロックA、真上のマクロブロックをマクロブロックBとする。符号化手順のフローチャートを図２７に示す。
【０１４０】
実施の形態３、５では、図１８において個々の4x4ブロックＸに対して１つずつ割り当てられているイントラ4x4予測モードCurrIntraPredModeに対する予測値  predCurrIntraPredMode  を、IntraPredModeA, IntraPredModeBのうち小さいほうの値を一意に割り当て、それと等しい場合にはprev_intra_pred_mode_flagを１としてブロックＸに対するイントラ４x４予測モードの符号化を打ち切り、異なる場合に、rem_intra_pred_modeによって符号を伝送するように構成した。本実施の形態では、IntraPredModeA, IntraPredModeBの状態を利用してCurrIntraPredMode  を直接算術符号化する。この際、AVC/H.264規格に採用されているコンテクスト適応二値算術符号化に従う符号化手順を用いる。
【０１４１】
まず、符号化対象のCurrIntraPredModeを図２８に示す形式にしたがって二値表現化する(ステップS76)。二値系列の第１ビンは、CurrIntraPredModeが縦方向予測か、横方向予測かを分類する符号になっている(図３参照)。この例では、DC予測(intra4x4_pred_mode = 2)を横方向予測に分類しているが、これは縦方向予測に分類するように構成してもよい。第２ビンは、縦方向、横方向のそれぞれで出現頻度が最も高いと考えられる予測モード値に対してTerminateビットを与える。第３ビン以降は、残存する予測モード値の中で出現頻度が高いものから順次Terminateされるように符号構成する。（図２８における二値系列構成の第２ビン以降は実際の画像データ符号化の過程でのシンボル発生確率に応じて設定されることが望ましい）
【０１４２】
算術符号化は、二値系列の各ビンに対し、順次、使用する(0,1)生起確率テーブルを選択しながら実行する。第１ビンの符号化では、算術符号化に用いるコンテクストを以下のように定める(ステップS78)。
【０１４３】
コンテクストA(CA)：イントラ予測モードが縦方向予測か、横方向予測かをバイナリ表現するフラグ  intra_pred_direction_flag  をIntraPredModeA、IntraPredModeBに対して定義し、以下の４状態をコンテクスト値とする。
CA = (intra_pred_direction_flag  for  IntraPredModeA  ==  1)  +  (intra_pred_direction_flag  for  IntraPredModeB  ==  1);
ここで、intra_pred_direction_flagは例えば図３にて、intra4x4_pred_modeが値０、３、５、７をとる場合は縦方向予測(＝０)、値１、２、４、６、８をとる場合は横方向予測（＝１）に分類する。CAの４状態には、それぞれ、あらかじめIntraPredModeA、IntraPredModeBの状態を前提とするCurrIntraPredModeの条件付確率を求めておき、それに基づいて定まる(0,1)の初期生起確率テーブルを割り当てておく。このようにコンテクストを構成することで、第１ビンの条件付生起確率をよりよく推定することが可能となり、算術符号化の効率を高めることができる。CAの値に応じて第１ビンの生起確率テーブルを選択して算術符号化を実行する。また、符号化値をもって生起確率テーブルを更新する(ステップS79)。
【０１４４】
第２ビン以降については、あらかじめ各予測モード値の発生確率に応じて定まる(0,1)の初期生起確率テーブルを割り当てておく(ステップS80)。次いで、第1ビンと同様に二値算術符号化、生起確率テーブル更新を行う(ステップS81)。
【０１４５】
以上のべた符号化手順は、イントラ8x8予測モードに対しても同様に定義できる。イントラNxN予測モードをこのような手順で符号化することにより、同一色成分の近傍画素領域における予測モードの相関を利用して、予測モード情報の符号化に適応算術符号化を適用することができるので、符号化効率を向上することができる。
【０１４６】
２．復号装置におけるイントラ予測モード情報の復号手順
実施の形態３、５の復号装置においては、図１６の形式によるビットストリームに対して、可変長符号部２５でのイントラNxN予測モードの情報の具体的な復号手順の一つを示した。本実施の形態６では、復号手順の別の具体的な方法を示す。本実施の形態６では特に、イントラNxN予測モードの値が画像パターンとしてのテクスチャの構造を反映することに着目し、同一色成分中の近傍画素領域内で適応的な算術符号化を用いて符号化が行われたビットストリームを復号する点に特徴がある。
【０１４７】
以下の説明では、図１６の形式のビットストリーム配列を前提とする。また、説明の簡略化のため、ビットストリーム中のイントラ符号化モード共通化識別フラグ３３の値は、イントラ符号化モードをC0、C1、C2で共通化する、と設定されているものとする。また、イントラ符号化モードはイントラNxN予測モード、変換ブロックサイズ識別フラグ0〜2(32a〜32c)は4x4ブロックが指定されているものとする。この際、イントラ予測モード0〜2(35a〜35c)はすべてイントラ4x4予測モードになる。符号化装置と同様、復号装置においても、図１８の関係を用いてC0成分についてのみ説明する(C1、C2は同等の手順でC0とは独立に復号する)。復号装置では、復号の対象となるカレントマクロブロックをＸとする。また、その左隣のマクロブロックはマクロブロックＡ、真上のマクロブロックをマクロブロックＢとする。
【０１４８】
実施の形態３、５では、符号化装置の説明にも記したように、図１８において個々の4x4ブロックＸに対して１つずつ割り当てられているイントラ4x4予測モードCurrIntraPredModeに対する予測値  predCurrIntraPredMode  を、IntraPredModeA, IntraPredModeBのうち小さいほうの値を一意に割り当て、prev_intra_pred_mode_flagを復号してその値が１の場合にはCurrIntraPredModeとしてpredCurrIntraPredModeを採用し、prev_intra_pred_mode_flagがゼロの場合は、rem_intra_pred_modeを復号することによってブロックＸのイントラ4x4予測モードを復元するように構成した。これに対し、本実施の形態６では、IntraPredModeA, IntraPredModeBの状態を利用してCurrIntraPredMode  を直接算術復号する。この際、AVC/H.264規格に採用されているコンテクスト適応二値算術復号に従う復号手順を用いる。
【０１４９】
復号対象のCurrIntraPredModeは、図２８に示す形式にしたがって二値系列として符号化されているものとし、この系列を左端から順次二値算術復号していく。本実施の形態６の符号化手順で説明したとおり、二値系列の第１ビンは、CurrIntraPredModeが縦方向予測か、横方向予測かを分類する符号になっており(図３参照)、第２ビン以降は予測モード値の中で出現頻度が高いものから順次Terminateされるように符号構成されている。この符号構成の理由については符号化手順で述べたとおりである。
【０１５０】
復号プロセスでは、まず、第１ビンの復号に際して、符号化手順で用いたコンテクストと同じCAを定める。CAの値に応じて第１ビンの生起確率テーブルを選択して算術復号を実行して第１ビンを復元する。また、復号値をもって生起確率テーブルを更新する。
【０１５１】
第２ビン以降については、あらかじめ各予測モード値の発生確率に応じて定まる(0,1)の初期生起確率テーブルを割り当てておく。次いで、第１ビンと同様に二値算術復号、生起確率テーブル更新を行う。図２８の二値系列は各予測モード値を一意に特定できるように構成されているため、所定の数だけビンを復元したところで逐次CurrIntraPredModeが復号される。
【０１５２】
以上のべた復号手順は、イントラ8x8予測モードに対しても同様に定義できる。イントラNxN予測モードをこのような手順で復号することにより、同一色成分の近傍画素領域における予測モードの相関を利用した算術符号化によって予測モード自体の符号量を削減した符号化ビットストリームを復号することができる。
【０１５３】
上述の例において、図２８のテーブルは他にもバリエーションが考えられる。例えば、図２９のような二値系列を構成する方法でもよい。ここでは、第１ビンには以下のコンテクストＢを用いる。
【０１５４】
コンテクストB(CB)：イントラ予測モードがDC予測か、DC予測でないかをバイナリ表現するフラグ  intra_dc_pred_flag  をIntraPredModeA、IntraPredModeBに対して定義し、以下の４状態をコンテクスト値とする。
CA = (intra_dc_pred_flag  for  IntraPredModeA  ==  1)  +  (intra_dc_pred_flag  for  IntraPredModeB  ==  1);
ここで、intra_dc_pred  _flagは図３にて、intra4x4_pred_modeが値2をとる場合は１、その他の値をとる場合は０に設定する。CB  の4状態には、それぞれ、あらかじめIntraPredModeA、IntraPredModeBの状態を前提とするCurrIntraPredModeの条件付確率を求めておき、それに基づいて定まる第１ビンの値(0,1)の初期生起確率テーブルを割り当てておく。図２９では、CurrIntraPredModeがDC予測の場合に、第１ビンは値０を、DC予測以外の場合は第１ビンは値１をとるように設計している。また、第２ビンには、上述のコンテクストA(CA)を用いることとした。このようにコンテクストを構成することで、第１ビンおよび第２ビンのいずれに対しても条件付生起確率をよりよく推定することが可能となり、算術符号化の効率を高めることができる。
【０１５５】
実施の形態７．
本実施の形態７では、４：４：４フォーマットで入力される映像フレームを１６×１６画素の矩形領域(マクロブロック)に均等分割した単位でフレーム間予測を用いて符号化を行う符号化装置、および対応する復号装置について説明する。また、本符号化装置、復号装置はMPEG-4  AVC(ISO/IEC  14496-10)/ITU-T  H.264規格(以下、AVC)で採用される符号化方式をベースとして、本発明に固有の特徴を付与したものとする。
【０１５６】
図３０に、本実施の形態７における映像符号化装置の構成を、図３１に本実施の形態７における映像復号装置の構成を示す。図３１において、図３０の符号化装置の構成要素と同じ番号が付されている要素は同一の要素であることを示す。
【０１５７】
以下、これらの図に基づいて符号化装置ならびに復号装置全体の動作と、本実施の形態７の特徴的な動作であるインター予測モード判定処理と動き補償予測復号処理について説明する。
【０１５８】
１．符号化装置の動作概要
図３０の符号化装置において、入力映像信号１は、個々の映像フレームが４：４：４フォーマットであって、かつ３つの色成分を同一サイズのマクロブロックに分割してまとめた単位で符号化装置に入力されるものとする。
【０１５９】
まず、動き補償予測部１０２において、メモリ１６に格納される１フレーム以上の動き補償予測参照画像データの中から１フレームの参照画像を選択し、該マクロブロックの単位で、各色成分ごとに動き補償予測処理が行われる。メモリは各色成分ごとに３面用意される（本実施の形態では３面として説明するが、設計により適宜変更してよい）。動き補償予測を行うブロックサイズには、７種類用意されており、まずマクロブロック単位に、図３２(a)から(d)に示すように、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８のいずれかのサイズを選択することができる。さらに８ｘ８が選択された場合には、各８ｘ８ブロックごとに、図３２(e)から(h)に示すように、８ｘ８、８ｘ４、４ｘ８、４ｘ４のいずれかのサイズを選択することができる。選択したサイズ情報は、マクロブロック単位のサイズ情報はマクロブロックタイプとして、８ｘ８ブロック単位のサイズ情報はサブマクロブロックタイプとして出力される。なお、それぞれのブロックごとに選択した参照画像の識別番号と動きベクトル情報が出力される。
【０１６０】
本実施の形態７における映像符号化装置は、インター予測モード共通化識別フラグ１２３に基づき、３つの色成分に対する動き補償予測処理方法を切り替えることを特徴とする。この点については、下記２で詳しく述べる。
【０１６１】
動き補償予測部１０２では、図３２に示した全ブロックサイズないしはサブブロックサイズ、および所定の探索範囲のすべての動きベクトル１３７および選択可能な１枚以上の参照画像に対して動き補償予測処理を実行して、動きベクトル１３７と１枚の参照画像と減算器３により予測差分信号４を得る。予測差分信号４は符号化モード判定部５においてその予測効率が評価され、動き補償予測部１０２で実行した予測処理の中から、予測対象のマクロブロックに対して最適な予測効率が得られるマクロブロックタイプ／サブマクロブロックタイプ１０６と動きベクトル１３７と参照画像の識別番号を出力する。マクロブロックタイプ／サブマクロブロックタイプ１０６の選定にあたっては、符号化制御部１９の判断で定まる各タイプに対する重み係数２０が加味されることもある。また、選定されたタイプと動きベクトル１３７と参照画像に基づく動き補償予測によって得られる予測差分信号４を直交変換部８へ出力する。直交変換部８は入力される予測差分信号４を変換し直交変換係数として量子化部９へ出力する。量子化部９は入力される直交変換係数を、符号化制御部１９によって定まる量子化パラメータ２１に基づいて量子化を行い、量子化済み変換係数１０として可変長符号化部１１へ出力する。量子化済み変換係数１０は、可変長符号化部１１にてハフマン符号化や算術符号化などの手段によりエントロピー符号化される。また、量子化済み変換係数１０は逆量子化部１２、逆直交変換部１３を経て局部復号予測差分信号１４へ復元され、選定されたマクロブロックタイプ／サブマクロブロックタイプ１０６と動きベクトル１３７と参照画像に基づいて生成される予測画像７と加算器１８で加算することで局部復号画像１５が生成される。局部復号画像１５は以降の動き補償予測処理に用いるためメモリ１６へ格納される。また、可変長符号化部１１には、当該マクロブロックに対してデブロッキングフィルタを施すか否かを示すデブロッキングフィルタ制御フラグ２４も入力される（動き補償予測部１０２で実施される予測処理には、デブロッキングフィルタが施される前の画素データをメモリ１６に格納して用いるのでデブロッキングフィルタ処理自体は符号化処理には必要はないが、復号装置側ではデブロッキングフィルタ制御フラグ２４の指示によってデブロッキングフィルタを行って最終的な復号画像を得る）。
【０１６２】
可変長符号化部１１に入力されるインター予測モード共通化識別フラグ１２３、量子化済み変換係数１０、マクロブロックタイプ／サブマクロブロックタイプ１０６、動きベクトル１３７、参照画像識別番号、量子化パラメータ２１は所定の規則(シンタックス)に従ってビットストリームとして配列・整形され、送信バッファ１７へ出力される。送信バッファ１７では符号化装置が接続される伝送路の帯域や記録媒体の読み出し速度に合わせてビットストリームを平滑化してビデオストリーム２２として出力する。また、送信バッファ１７中のビットストリーム蓄積状況に応じて符号化制御部１９へフィードバックをかけ、以降の映像フレームの符号化における発生符号量を制御する。
【０１６３】
２．符号化装置におけるインター予測モード判定処理
本実施の形態７の符号化装置の特徴であるインター予測モード判定処理について詳述する。なお以下の記述でインター予測モードとは、上述の動き補償予測の単位となるブロックサイズ、すなわちマクロブロックタイプ／サブマクロブロックタイプを指し、インター予測モード判定処理とは、マクロブロックタイプ／サブマクロブロックタイプと動きベクトルと参照画像を選定する処理のことである。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３０の符号化装置における動き補償予測部１０２、符号化モード判定部５によって行われる。また、本処理の流れを示すフローチャートを図３３に示す。以下、ブロックを構成する３つの色成分の画像データをC0、C1、C2とする。
【０１６４】
まず、符号化モード判定部５は、インター予測モード共通化識別フラグ１２３を受け取り、その値に基づいてC0、C1、C2で共通のインター予測モードと共通の動きベクトル１３７および共通の参照画像を使用するか否かを判断する(図３３のステップS100)。共通化する場合はステップS101以降へ、さもなくばステップS102以降へ進む。
【０１６５】
インター予測モードと動きベクトル１３７および参照画像をC0、C1、C2で共通化する場合は、符号化モード判定部５は動き補償予測部１０２に対して、選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS101)。
【０１６６】
インター予測モードと動きベクトル１３７および参照画像をC0、C1、C2で共通化せず、C0、C1、C2でそれぞれ一番よいモードを選択する場合は、符号化モード判定部５は動き補償予測部１０２に対して、Ci  (i<=0<3)成分で選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、Ci  (i<=0<3)成分における最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS102、S103、S104)。
【０１６７】
動き補償予測部１０２で行われる予測モードの予測効率評価の規範としてはたとえば、
Jm,v,r = Dm,v,r  +  λRm,v,r(λ：正数)
で与えられるレート・ひずみコストを用いることができる。ここで、Dm,v,rはインター予測モードmと所定範囲の動きベクトルvと参照画像rを適用した場合の符号化歪または予測誤差量である。符号化歪とは、インター予測モードmと動きベクトルvと参照画像rを適用して予測誤差を得、予測誤差を変換・量子化した結果から映像を復号して符号化前の信号に対する誤差を計測するものである。予測誤差量は、インター予測モードmと動きベクトルvと参照画像rを適用した場合の予測画像と符号化前の信号との差分を得、その差分の大きさを定量化したもので、たとえば差分絶対値和(Sum  of  Absolute  Distance: SAD)などが用いられる。Rm,v,rはインター予測モードmと動きベクトルvと参照画像rを適用した場合の発生符号量である。つまり、Jm,v,rはインター予測モードmおよび動きベクトルvと参照画像rを適用した場合の符号量と劣化度とのトレードオフを規定する値であり、最小のJm,v,rを与えるインター予測モードmと動きベクトルvと参照画像rが最適解を与える。
【０１６８】
符号化装置がステップS101以降の処理を行った場合、インター予測モードと動きベクトル１３７および参照画像の情報は、３つの色成分を含むマクロブロックに対して１組割り当てられる。一方、ステップS102以降の処理を行った場合は、各色成分に対してそれぞれインター予測モード情報と動きベクトル１３７および参照画像が割り当てられる。したがって、マクロブロックに対して割り当てられるインター予測モードと動きベクトル１３７と参照画像の情報が異なるため、符号化装置がS101以降の処理過程を行ったか、S102以降の処理過程を行ったかはインター予測モード共通化識別フラグ１２３をビットストリームに多重化して復号装置側で認識できるようにする必要がある。このようなビットストリームのデータ配列を図３４に示す。
【０１６９】
図３４はマクロブロックのレベルにおけるビットストリームのデータ配列を示しており、マクロブロックタイプは、イントラかインターかを示し、インターモードのときには動き補償の単位となるブロックサイズを示す情報を含む。サブマクロブロックタイプは、マクロブロックタイプで８ｘ８ブロックサイズが選択された場合にのみ多重化され、各８ｘ８ブロックごとのブロックサイズ情報を含む。基本マクロブロックタイプ１２８と基本サブマクロブロックタイプ１２９はインター予測モード共通化識別フラグ１２３が「C0、C1、C2で共通」であることを示す場合は共通マクロブロックタイプおよび共通サブマクロブロックタイプを示し、さもなくばC0に対するマクロブロックタイプおよびサブマクロブロックタイプを示す。拡張マクロブロックタイプ１３０および拡張サブマクロブロックタイプ１３１は、インター予測モード共通化識別フラグ１２３が「C0、C1、C2で共通」でないことを示す場合にのみC1、C2各々に対して多重化され、C1、C2に対するマクロブロックタイプおよびサブマクロブロックタイプを示す。
【０１７０】
参照画像識別番号は、動き補償単位となる８ｘ８ブロックサイズ以上のブロックごとに選択する参照画像を特定するための情報である。インターフレームのときには、選択できる参照画像は１フレームであるので、１ブロックごとに１つの参照画像識別番号が多重化される。動きベクトル情報は、動き補償単位となるブロックごとに１組の動きベクトル情報を多重化する。参照画像識別番号および動きベクトル情報は、マクロブロックに含まれる動き補償の単位となるブロックの個数分多重化される必要がある。基本参照画像識別番号１３２および基本動きベクトル情報１３３はインター予測モード共通化識別フラグ１２３が「C0、C1、C2で共通」であることを示す場合は、共通の参照画像識別番号および共通の動きベクトル情報を示し、さもなければC0に対する参照画像識別番号および動きベクトル情報を示す。拡張参照画像識別番号１３４および拡張動きベクトル情報１３５は、インター予測モード共通化識別フラグ１２３が「C0、C1、C2で共通」でないことを示す場合にのみC1、C2各々に対して多重化され、C1、C2に対する参照画像識別番号および動きベクトル情報を示す。
【０１７１】
ついで量子化パラメータ２１、量子化済み変換係数１０が多重化される。（図３４には図３０で可変長符号化部１１に入力されているデブロッキングフィルタ制御フラグ２４が含まれていないが、本実施の形態７の特徴を説明するために必要な構成要素ではないため割愛している）
【０１７２】
従来の映像符号化標準で採用されてきた４：２：０フォーマットでは、色空間の定義がY、Cb、Crに固定されていたが、４：４：４フォーマットではY、Cb、Crに限定せず多様な色空間を利用することができる。図３４のようにインター予測モード情報を構成することで、入力映像信号１の色空間の定義が種々に及ぶ場合にも最適な符号化処理を行うことができる。たとえば、色空間がRGBで定義される場合にR、G、Bの各成分に均等に映像テクスチャの構造が残存している領域では、共通のインター予測モード情報と共通の動きベクトル情報を用いることでインター予測モード情報と動きベクトル情報自体の冗長性を削減して符号化効率を高めることができる。これに対し、例えば赤味がまったくない領域(R成分が0)では、R成分に最適なインター予測モードと動きベクトル情報とG,B成分に最適なインター予測モードと動きベクトル情報は異なるはずである。そこで、拡張インター予測モードと拡張参照画像識別情報および拡張動きベクトル情報を適応的に利用することで最適な符号化効率を得ることができる。
【０１７３】
３．復号装置の動作概要
図３１の復号装置は、図３０の符号化装置から出力される図３４の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【０１７４】
まず、可変長復号部２５はストリーム２２を入力とし、所定の規則(シンタックス)に従ってビデオストリーム２２を解読して、インター予測モード共通化識別フラグ１２３、量子化済み変換係数１０、マクロブロックタイプ／サブマクロブロックタイプ１０６、参照画像識別番号、動きベクトル情報、量子化パラメータ２１などの情報を抽出する。量子化済み変換係数１０は量子化パラメータ２１とともに逆量子化部１２へ入力され、逆量子化処理が行われる。ついでその出力が逆直交変換部１３へ入力され、局部復号予測差分信号１４へ復元される。一方、動き補償予測部１０２に対してはマクロブロックタイプ／サブマクロブロックタイプ１０６とインター予測モード共通化識別フラグ１２３と動きベクトル１３７と参照画像識別番号が入力され、これらの情報に従って予測画像７を得る。予測画像７を得る具体的な手順については後述する。局部復号予測差分信号１４と予測画像７は加算器１８により加算され、暫定復号画像１５を得る(これは符号化装置における局部復号画像１５とまったく同じ信号である)。暫定復号画像１５は以降のマクロブロックの動き補償予測に用いられるためメモリ１６へ書き戻される。メモリは各色成分ごとに３面用意される（本実施の形態では３面として説明するが、設計により適宜変更してよい）。また、可変長復号部２５によって解読されたデブロッキングフィルタ制御フラグ２４の指示に基づいてデブロッキングフィルタ２６を暫定復号画像１５に対して作用させ、最終的な復号画像２７を得る。
【０１７５】
４．復号装置におけるインター予測復号処理
図３１の復号装置は、図３０の符号化装置から出力される図３４の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【０１７６】
本実施の形態７の復号装置の特徴であるインター予測画像生成処理について詳述する。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３１の復号装置における可変長復号部２５、動き補償予測部１０２によって行われる。また、本処理のうち可変長復号部２５で行われる処理の流れを示すフローチャートを図３５に示す。
【０１７７】
可変長復号部２５への入力であるビデオストリーム２２は、図３４のデータ配列に従うものとする。ステップS110では図３４のデータのうちインター予測モード共通化識別フラグ１２３が復号される(ステップS110)。さらに基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９が復号される(ステップS111)。ステップS112では、インター予測モード共通化識別フラグ１２３の結果を用いてインター予測モードをC0、C1、C2で共通化するかどうかを判断し、共通化の場合は(ステップS112でYes)C0、C1、C2のすべてに対して基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９を用いることとし、さもなければ(ステップS112でNo)基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９はC0のモードとして使用し、さらにC1、C2の各々に対して拡張マクロブロックタイプ１３０および拡張サブマクロブロックタイプ１３１を復号して(ステップS113)、C1、C2のインター予測モード情報を得る。次に基本参照画像識別番号１３２と基本動きベクトル情報１３３を復号し(ステップS114)、インター予測モード共通化識別フラグ１２３が、「C0、C1、C2で共通化」することを示す場合には(ステップS115でYes)、C0、C1、C2のすべてに対して基本参照画像識別番号１３２および基本動きベクトル情報１３３を用いることとし、さもなければ(ステップS115でNo)基本参照画像識別番号１３２および基本動きベクトル情報１３３はC0の情報として使用し、さらにC1、C2の各々に対して拡張参照画像識別番号１３４および拡張動きベクトル情報１３５を復号する(ステップS116)。以上の処理過程を経て各色成分のマクロブロックタイプ／サブマクロブロックタイプ１０６、参照画像識別番号および動きベクトル情報が確定するため、これらを動き補償予測部１０２へ出力し、各色成分の動き補償予測画像を得る。
【０１７８】
図３６に、図３４のビットストリームデータ配列のバリエーションを示す。図３６では、インター予測モード共通化識別フラグ１２３は、マクロブロックレベルのフラグとしてではなく、スライス、ピクチャ、シーケンスなどの上位データレイヤに位置するフラグとして多重化されるようにした。これにより、スライス以上の上位レイヤでの切り替えで十分な予測効率が確保できる場合は、マクロブロックレベルで予測モード共通化識別フラグ１２３を逐一多重化することなくオーバヘッドビットを削減できる。
【０１７９】
図３４、図３６では、インター予測モード共通化識別フラグ１２３をマクロブロック毎またはスライス、ピクチャ、シーケンスなどの上位データレイヤに多重化したが、インター予測モード共通化識別フラグ１２３を多重化せずに４：４：４フォーマットで符号化する場合には常に各成分に異なるインター予測モードと動きベクトル情報を用いるようにしてもよい。その場合のビットストリームデータの配列を図３７に示す。図３７では、インター予測モード共通化識別フラグ１２３は存在せず、シーケンスなどの上位データレイヤに４：４：４フォーマットの入力画像を扱うことを指示するプロファイル情報１３６が多重化され、このプロファイル情報の復号結果によって、拡張マクロブロックタイプ１３０、拡張サブマクロブロックタイプ１３１、拡張参照画像識別番号１３４、拡張動きベクトル情報１３５が多重化される。
【０１８０】
実施の形態８．
実施の形態７では、マクロブロックタイプ／サブマクロブロックタイプ、動きベクトル、参照画像の各々を色成分ごとに異なるものにすることができるようにしたが、本実施の形態８ではマクロブロックタイプ／サブマクロブロックタイプと参照画像を各成分で共通とし、動きベクトルのみを各成分で異なるものにすることができることを特徴とする映像符号化装置、映像復号装置について記述する。本実施の形態８における映像符号化装置および映像復号装置の構成は実施の形態７における図３０および図３１と同じであるが、インター予測モード共通化識別フラグ１２３の代わりに動きベクトル共通化識別フラグ１２３ｂを使用している点が異なる。
【０１８１】
１．符号化装置におけるインター予測モード判定処理
本実施の形態８の符号化装置の特徴であるインター予測モード判定処理について実施の形態７と異なる処理を中心に詳述する。
【０１８２】
本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３０の符号化装置における動き補償予測部１０２、符号化モード判定部５によって行われる。また、本処理の流れを示すフローチャートを図３８に示す。以下、ブロックを構成する３つの色成分の画像データをC0、C1、C2とする。
【０１８３】
まず、符号化モード判定部５は、動きベクトル共通化識別フラグ１２３ｂを受け取り、その値に基づいてC0、C1、C2で共通の動きベクトル１３７を使用するか否かを判断する(図３７のステップS120)。共通化する場合はステップS121以降へ、さもなくばステップS122以降へ進む。
【０１８４】
動きベクトル１３７をC0、C1、C2で共通化する場合は、符号化モード判定部５は動き補償予測部１０２に対して、選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS121)。
【０１８５】
動きベクトル１３７をC0、C1、C2で共通化せず、C0、C1、C2でそれぞれ一番よい動きベクトルを選択する場合は、符号化モード判定部５は動き補償予測部１０２に対して、選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なインター予測モードと参照画像を選択し(ステップS122)、さらにCi  (i<=0<3)成分において最適な動きベクトルを選択する(ステップS123、S124、S125)。
【０１８６】
動きベクトル共通化識別フラグ１２３ｂは、ビットストリームに多重化して復号装置側で認識できるようにする必要がある。このようなビットストリームのデータ配列を図３９に示す。
【０１８７】
図３９はマクロブロックのレベルにおけるビットストリームのデータ配列を示している。マクロブロックタイプ１２８ｂとサブマクロブロックタイプ１２９ｂおよび参照画像識別番号１３２ｂは、「C0、C1、C2で共通」である。基本動きベクトル情報１３３は、動きベクトル共通化識別フラグ１２３ｂが「C0、C1、C2で共通」であることを示す場合は、共通の動きベクトル情報を示し、さもなければC0に対する動きベクトル情報を示す。拡張動きベクトル情報１３５は、動きベクトル共通化識別フラグ１２３ｂが「C0、C1、C2で共通」でないことを示す場合にのみC1、C2各々に対して多重化され、C1、C2に対する動きベクトル情報を示す。なお、図３０、３１におけるマクロブロックタイプ／サブマクロブロックタイプ１０６は、図３９におけるマクロブロックタイプ１２８ｂとサブマクロブロックタイプ１２９ｂの総称である。
【０１８８】
２．復号装置におけるインター予測復号処理
本実施の形態８の復号装置は、本実施の形態８の符号化装置から出力される図３９の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【０１８９】
本実施の形態８の復号装置の特徴であるインター予測画像生成処理について実施の形態７と異なる処理を中心に詳述する。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３１の復号装置における可変長復号部２５、動き補償予測部１０２によって行われる。また、本処理のうち可変長復号部２５で行われる処理の流れを示すフローチャートを図４０に示す。
【０１９０】
可変長復号部２５への入力であるビデオストリーム２２は、図３９のデータ配列に従うものとする。ステップS126では、C0、C1、C2で共通のマクロブロックタイプ１２８ｂ、サブマクロブロックタイプ１２９ｂを復号する。復号したマクロブロックタイプ１２８ｂまたはサブマクロブロックタイプ１２９ｂによって、動き補償の単位となるブロックサイズが決まるので、次に動き補償の単位となるブロックごとにC0、C1、C2に共通の参照画像識別番号１３２ｂを復号する(ステップS127)。ステップS128では、動きベクトル共通化識別フラグ１２３ｂを復号する。次に動き補償の単位となるブロックごとに基本動きベクトル情報１３３を復号する(ステップS129)。ステップS130では、動きベクトル共通化識別フラグ１２３ｂの結果を用いて動きベクトル１３７をC0、C1、C2で共通化するかどうかを判断し、共通化の場合は(ステップS130でYes)C0、C1、C2のすべてに対して基本動きベクトル情報を用いることとし、さもなければ(ステップS130でNo)基本動きベクトル情報１３３はC0のモードとして使用し、さらにC1、C2の各々に対して拡張動きベクトル情報１３５を復号する(ステップS131)。以上の処理過程を経て各色成分のマクロブロックタイプ／サブマクロブロックタイプ１０６、参照画像識別番号および動きベクトル情報が確定するため、これらを動き補償予測部１０２へ出力し、各色成分の動き補償予測画像を得る。
【０１９１】
図４１に、図３９のビットストリームデータ配列のバリエーションを示す。図３９では、動きベクトル共通化識別フラグ１２３ｂは、マクロブロックレベルのフラグとしてではなく、スライス、ピクチャ、シーケンスなどの上位データレイヤに位置するフラグとして多重化されるようにした。これにより、スライス以上の上位レイヤでの切り替えで十分な予測効率が確保できる場合は、マクロブロックレベルで動きベクトル共通化識別フラグ１２３ｂを逐一多重化することなくオーバヘッドビットを削減できる。
【０１９２】
図３９、図４１では動きベクトル共通化識別フラグ１２３ｂをマクロブロック毎またはスライス、ピクチャ、シーケンスなどの上位データレイヤに多重化したが、動きベクトル共通化識別フラグ１２３ｂを多重化せずに４：４：４フォーマットで符号化する場合には常に各成分に異なる動きベクトル情報を用いるようにしてもよい。その場合のビットストリームデータの配列を図４２に示す。図４２では、動きベクトル共通化識別フラグ１２３ｂが存在せず、シーケンスなどの上位データレイヤに４：４：４フォーマットの入力画像を扱うことを指示するプロファイル情報１３６が多重化され、このプロファイル情報１３６の復号結果によって、拡張動きベクトル情報１３５が多重化される。
【０１９３】
本実施の形態８では、マクロブロックタイプ／サブマクロブロックタイプ１０６と参照画像を各色成分に対して共通とし、動きベクトル１３７のみを色成分ごとに異なるものにすることができるようにした。これにより、各色成分に対して動きベクトル１３７のみを適応化することで十分な予測効率が得られる場合にはマクロブロックタイプ／サブマクロブロックタイプ１０６や参照画像識別番号は色成分ごとに多重化することなくオーバヘッドビットを削減できる。
【０１９４】
実施の形態９．
実施の形態７では、インター予測モード共通化識別フラグ１２３またはプロファイル情報１３６によって、マクロブロックタイプ／サブマクロブロックタイプ１０６、動きベクトル１３７、参照画像の各々を３成分で共通にするか、色成分ごとに異なるものにするかを切り替えることができるようにしたが、本実施の形態９では、Y、Cb、Cr形式などの４：４：４フォーマット画像を想定し、輝度成分(Y)と色差成分(Cb、Cr)に対して異なるものにするかを切り替えることができるようにした(この場合、色差成分の２成分に対しては共通のモードを使用する)。すなわち、３成分で共通にするか、各成分ごとに異なるものにするか、あるいは輝度成分と色差成分に対して異なるものにするかを切り替えることができるようにしたことを特徴とする映像符号化装置および映像復号装置について説明する。本実施の形態９における映像符号化装置および映像復号装置の構成は実施の形態７における図３０および図３１と同じである。
【０１９５】
１．符号化装置におけるインター予測モード判定処理
本実施の形態９の符号化装置の特徴であるインター予測モード判定処理について実施の形態７と異なる処理を中心に詳述する。
【０１９６】
本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３０の符号化装置における動き補償予測部１０２、符号化モード判定部５によって行われる。また、本処理の流れを示すフローチャートを図４３に示す。以下、ブロックを構成する３つの色成分の画像データをC0、C1、C2とする。
【０１９７】
まず、符号化モード判定部５は、インター予測モード共通化識別フラグ１２３を受け取り、その値に基づいてC0、C1、C2で共通のインター予測モードと共通の動きベクトル１３７および共通の参照画像を使用するか否かを判断する(図４３のステップS132)。共通化する場合はステップS133以降へ、さもなくばステップS134以降またはステップS137以降へ進む。
【０１９８】
インター予測モードと動きベクトル１３７および参照画像をC0、C1、C2で共通化する場合は、符号化モード判定部５は動き補償予測部１０２に対して、選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C0、C1、C2で共通の最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS133)。
【０１９９】
インター予測モードと動きベクトル１３７および参照画像をC0、C1、C2で共通化せず、C0、C1、C2でそれぞれ一番よいモードを選択する場合は、符号化モード判定部５は動き補償予測部１０２に対して、Ci  (i<=0<3)成分で選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、Ci  (i<=0<3)成分における最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS134、S135、S136)。
【０２００】
インター予測モードと動きベクトル１３７および参照画像をC1、C2で共通化し、C0(輝度成分相当)とC1,C2(色差成分相当)でそれぞれ一番よいモードを選択する場合は、符号化モード判定部５は動き補償予測部１０２に対して、C0成分で選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C0成分における最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS137)。さらにC1、C2成分で選択しうるすべてのインター予測モードと動きベクトル探索範囲と参照画像を通知し、動き補償予測部１０２はそのすべての予測効率を評価して、C1、C2で共通の最適なインター予測モードと動きベクトル１３７と参照画像を選択する(ステップS138)。
【０２０１】
本実施の形態９における符号化装置が出力するビットストリームのデータ配列は図３４と同じであるが、インター予測モード共通化識別フラグ１２３が、「C1、C2で共通」であることを示す場合は、拡張マクロブロックタイプ１３０、拡張サブマクロブロックタイプ１３１、拡張参照識別番号１３４、拡張動きベクトル情報１３５は、C1、C2に対して共通の情報である。
【０２０２】
２．復号装置におけるインター予測復号処理
本実施の形態９の復号装置は、本実施の形態９の符号化装置から出力される図３４の配列に従うビデオストリーム２２を受信して、３つの色成分が同一サイズ(４：４：４フォーマット)のマクロブロックの単位で復号処理を行い、個々の映像フレームを復元するものとする。
【０２０３】
本実施の形態９の復号装置の特徴であるインター予測画像生成処理について実施の形態７と異なる処理を中心に詳述する。本処理は上記３つの色成分をまとめたマクロブロックの単位で実施され、主として、図３１の復号装置における可変長復号部２５、動き補償予測部１０２によって行われる。また、本処理のうち可変長復号部２５で行われる処理の流れを示すフローチャートを図４４に示す。
【０２０４】
可変長復号部２５への入力であるビデオストリーム２２は、図３４のデータ配列に従うものとする。ステップS140では図３４のデータのうちインター予測モード共通化識別フラグ１２３が復号される(ステップS140)。さらに基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９が復号される(ステップS141)。ステップS142では、インター予測モード共通化識別フラグ１２３の結果を用いてインター予測モードをC0、C1、C2で共通化するかどうかを判断し、共通化の場合はC0、C1、C2のすべてに対して基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９を用いることとし、さもなければ基本マクロブロックタイプ１２８および基本サブマクロブロックタイプ１２９はC0のモードとして使用する。さらにC1、C2で共通の場合には、C1、C2成分で共通の拡張マクロブロックタイプ１３０および拡張サブマクロブロックタイプ１３１を復号する(ステップS143)。C0、C1、C2に対して異なるモードを使用する場合には、C1、C2の各々に対して拡張マクロブロックタイプ１３０および拡張サブマクロブロックタイプ１３１を復号して(ステップS144、S145、S146)、C1、C2のモード情報を得る。次に基本参照画像識別番号１３２と基本動きベクトル情報１３３を復号し(ステップS147)、インター予測モード共通化識別フラグ１２３が、「C0、C1、C2で共通化」することを示す場合には、C0、C1、C2のすべてに対して基本参照画像識別番号１３２および基本動きベクトル情報１３３を用いることとし、さもなければ基本参照画像識別番号１３２および基本動きベクトル情報１３３はC0の情報として使用し、さらにC1、C2で共通の場合には、C1、C2成分で共通の拡張参照画像識別番号１３４および拡張動きベクトル情報１３５を復号する(ステップS149)。C0、C1、C2に対して異なるモードを使用する場合には、C1、C2の各々に対して拡張参照画像識別番号１３４および拡張動きベクトル情報１３５を復号する(ステップS150、S151、S152)。以上の処理過程を経て各色成分のマクロブロックタイプ／サブマクロブロックタイプ１０６、参照画像識別番号および動きベクトル情報が確定するため、これらを動き補償予測部１０２へ出力し、各色成分の動き補償予測画像を得る。
【０２０５】
なおビットストリームのデータ配列が、図３６の場合も同様に、インター予測モード共通化識別フラグ１２３が、「C1、C2で共通」であることを示す場合は、拡張マクロブロックタイプ１３０、拡張サブマクロブロックタイプ１３１、拡張参照識別番号１３４、拡張動きベクトル情報１３５は、C1、C2に対して共通の情報であり、図３６に示すデータの配列に従うビデオストリームを出入力とする映像符号化装置および映像復号装置の動作は図３４の場合と同様である。
【０２０６】
本実施の形態９では、マクロブロックタイプ／サブマクロブロックタイプ１０６、動きベクトル１３７、参照画像の各々を色成分ごとに異なるものにすることができるようにしたが、マクロブロックタイプ／サブマクロブロックタイプ１０６と参照画像は各成分で共通とし、動きベクトル１３７のみ３成分で共通にするか、各成分ごとに異なるものにするか、あるいはC1、C2で共通化し、C0とC1,C2でそれぞれ最適なものを選択するかを切り替えても良い。この場合のビットストリームのデータ配列は図３９または図４１に従い、この場合も、インター予測モード共通化識別フラグ１２３が、「C1、C2で共通」であることを示す場合は、拡張動きベクトル情報１３５は、C1、C2に対して共通の情報である。
【０２０７】
実施の形態１０．
本実施の形態１０では、実施の形態７で述べた符号化装置の可変長符号化部１１において、入力される動きベクトル１３７を符号化し、ビットストリームに多重化する方法と、対応する復号装置の可変長復号部２５において、ビットストリームから動きベクトル１３７を復号する方法を述べる。
【０２０８】
図４５は図３０に示す符号化装置の可変長符号化部１１の一部で、動きベクトル１３７を符号化する動きベクトル符号化部の構成である。
【０２０９】
３つの色成分(C0、C1、C2)の動きベクトル１３７をC0、C1、C2の順番にビットストリームに多重化する方法について述べる。
【０２１０】
C0の動きベクトル１３７をmv0とする。動きベクトル予測部１１１にて、C0の動きベクトル１３７の予測ベクトル(mvp0)を求める。図４６に示すように、符号化対象の動きベクトル(mv0)が位置するブロックに隣接するブロック(図４６のA、B、C)の動きベクトル(mvA0, mvB0, mvC0)をメモリより取得する。なおA、B、Cの動きベクトル１３７はすでにビットストリームに多重化されているものとする。mvA0、mvB0、mvC0の中央値をmvp0として算出する。算出した予測ベクトルmvp0と符号化対象の動きベクトルmv0を差分動きベクトル算出部１１２へ入力する。差分動きベクトル算出部１１２ではmv0とmvp0の差分ベクトル(mvd0)を算出する。算出したmvd0は差分動きベクトル可変長符号化部１１３へ入力され、ハフマン符号化や算術符号化などの手段によりエントロピー符号化される。
【０２１１】
次にC1の動きベクトル(mv1)を符号化する。動きベクトル予測部１１１にて、C1の動きベクトル１３７の予測ベクトル(mvp1)を求める。図４６に示すように、符号化対象の動きベクトル(mv1)が位置するブロックに隣接するブロックの動きベクトル(mvA1、mvB1、mvC1)とmv1が位置するブロックと同位置のC0の動きベクトル(mv0)をメモリ１６より取得する。なおA、B、Cの動きベクトル１３７はすでにビットストリームに多重化されているものとする。mvA1、mvB1、mvC1、mv0の中央値をmvp1として算出する。算出した予測ベクトルmvp1と符号化対象の動きベクトルmv1を差分動きベクトル算出部１１２へ入力し、mv1とmvp1の差分動きベクトル(mvd1=mv1-mvp1)を算出する。算出したmvd1は差分動きベクトル可変長符号化部１１３へ入力され、ハフマン符号化や算術符号化などの手段によりエントロピー符号化される。
【０２１２】
次にC2の動きベクトル(mv2)を符号化する。動きベクトル予測部１１１にて、C2の動きベクトル１３７の予測ベクトル(mvp2)を求める。図４６に示すように、符号化対象の動きベクトル(mv2)が位置するブロックに隣接するブロックの動きベクトル(mvA2、mvB2、mvC2)とmv2が位置するブロックと同位置のC0およびC1の動きベクトル(mv1、mv2)をメモリより取得する。mvA2、mvB2、mvC2、mv0、mv1の中央値をmvp2として算出する。算出した予測ベクトルmvp2と符号化対象の動きベクトルmv2を差分動きベクトル算出部１１２へ入力し、mv2とmvp2の差分動きベクトル(mvd2=mv2-mvp2)を算出する。算出したmvd2は差分動きベクトル可変長符号化部１１３へ入力され、ハフマン符号化や算術符号化などの手段によりエントロピー符号化される。
【０２１３】
図４７に図３１に示す復号装置の可変長復号部２５の一部で、動きベクトル１３７を復号する動きベクトル復号部２５０の構成を示す。
【０２１４】
動きベクトル復号部２５０ではC0、C1、C2の順番にビデオストリーム２２に多重化された３つの色成分の動きベクトル１３７を復号する。
【０２１５】
差分動きベクトル可変長復号部２５１にて、ビデオストリーム２２に多重化された３つの色成分(C0、C1、C2)の差分動きベクトル(mvd0、mvd1、mvd2)を抽出し可変長復号する。
【０２１６】
動きベクトル予測部２５２にて、C0、C1、C2の動きベクトル１３７の予測ベクトル(mvp0、mvp1、mvp2)を算出する。予測ベクトルの算出方法は符号化装置の動きベクトル予測部１１１と同じである。
【０２１７】
次に動きベクトル算出部２５３にて差分動きベクトルと予測ベクトルを加算し動きベクトル(mvi=mvdi+mvpi(i=0,1,2))を算出する。算出した動きベクトル１３７は予測ベクトル候補として用いるためにメモリ１６に格納する。
【０２１８】
本実施の形態１０によれば、動きベクトルを符号化および復号する際に、符号化対象の動きベクトルが位置するブロックに隣接する同一色成分ブロックの動きベクトルと、符号化対象の動きベクトルが位置するブロックと同位置にあって異なる色成分ブロックの動きベクトルを予測ベクトル候補として用いることにしたので、物体の境界領域などで同一色成分内の隣接するブロックの動きベクトルと連続性がない場合などに、異なる色成分の同位置のブロックの動きベクトルを予測ベクトル候補として用いることで動きベクトルの予測効率を高め、動きベクトルの符号量を削減する効果が得られる。
【０２１９】
実施の形態１１．
本実施の形態１１では、実施の形態７で述べた符号化装置および復号装置から派生する別の符号化装置、復号装置の実施例について述べる。本実施の形態１１における符号化装置・復号装置は、マクロブロック中のC0、C1、C2成分を個別のヘッダ情報に従って符号化するか否かを所定の制御信号に応じて判断し、その制御信号の情報をビデオストリーム２２に多重化する。また、当該制御信号に応じてC0、C1、C2成分の復号に必要なヘッダ情報をビデオストリーム２２に多重化するとともに、当該制御信号に応じて伝送すべき動きベクトルや変換係数の情報がない場合のスキップ(またはnot  coded)マクロブロックを効率よく符号化する手段を提供する点を特徴とする。
【０２２０】
AVCも含め従来のMPEG映像符号化方式では、符号化対象のマクロブロックについて伝送すべき符号化情報が存在しないようなケースを特別にシグナリングすることで、当該マクロブロックの符号量を最小限に抑えた高能率符号化を実現している。例えば、あるマクロブロックを符号化しようとする場合、動き補償予測に用いる参照画像上でまったく同じ位置の画像データを予測画像として使用し(すなわち、動きベクトルがゼロ)、なおかつ得られた予測誤差信号を変換、量子化した結果、マクロブロック内の量子化後のすべての変換係数がゼロになる場合、復号側では逆量子化を行っても得られる予測誤差信号は振幅がゼロとなり、復号装置側へ伝送すべき変換係数データがなくなる。さらに、動きベクトルがゼロであることも結合仮定すれば、「動きベクトルゼロ、変換係数データ無し」という特別なマクロブロックタイプを定義することができる。このようなマクロブロックは従来、スキップマクロブロックまたはnot  codedマクロブロックと呼ばれ、特別なシグナリングを行うことで余分な情報を伝送しないようにする工夫がなされている。AVCでは、動きベクトルの仮定を、「図３２(a)の１６ｘ１６予測を行う場合で、かつ動きベクトルの符号化に用いる予測値(予測ベクトルmvp0、mvp1、mvp2が該当)が実際の動きベクトルに等しい場合」という条件とし、その条件に合致し、かつ伝送すべき変換係数データがない場合に、スキップマクロブロックとみなす。従来のAVCでは、このスキップマクロブロックを符号化する場合に、使用する可変長符号化方式に応じて以下の2つの方法のいずれかを選択することになっている。
【０２２１】
方法１：スライス内で連続するスキップマクロブロックの数(RUN長)をカウントし、RUN長を可変長符号化する。方法２：マクロブロックごとに、スキップマクロブロックか否かの指示フラグを符号化する。
【０２２２】
各方法によるビットストリームシンタックスを図４８に示す。図４８(a)は、可変長符号化方式として適応ハフマン符号化を用いた場合(方法１)、図４８(b)は適応算術符号化を用いた場合(方法２)である。方法１の場合はmb_skip_run、方法２の場合は  mb_skip_flagによってスキップマクロブロックのシグナリングを行っている。MB(n)はｎ番目の(スキップでない)マクロブロックの符号化データを指す。ここで、mb_skip_runやmb_skip_flagは、C0、C1、C2成分をひとまとめにしたマクロブロックを単位として割り当てられていることに注意されたい。
【０２２３】
これに対して、本実施の形態１１における符号化装置・復号装置では、上記制御信号、すなわち実施の形態７で述べたインター予測モード共通化識別フラグ１２３相当の信号の状態に応じて、C0、C1、C2の各成分ごとに動きベクトルなどを含むヘッダ情報を変更し、スキップマクロブロックのシグナリングをC0、C1、C2の各成分ごとに行う方法を提供する。具体的なビットストリームシンタックスの例を図４９、図５０に示す。
【０２２４】
図４９は本実施の形態１１の符号化装置が出力し、本実施の形態１１の復号装置の入力となるマクロブロック符号化データの構成を、図５０は図４９中のCn成分ヘッダ情報の符号化データの詳細構成を示す。以下では、このビットストリーム構成の効果を説明するため、ビットストリームを受信して映像信号を復元する復号装置側の動作を中心に説明する。復号装置の動作説明には図３１を参照する。
【０２２５】
実施の形態７におけるインター予測モード共通化識別フラグ１２３は、定義を拡張し、マクロブロックヘッダ共通化識別フラグ１２３ｃと表現する。マクロブロックヘッダ共通化識別フラグ１２３ｃはC0成分ヘッダ情報１３９ａを基本マクロブロックヘッダ情報とみなし、C0成分ヘッダ情報１３９ａのみをC1、C2成分にも共通に用いるヘッダ情報として多重化するか、C1成分ヘッダ情報１３９ｂ、C2成分ヘッダ情報１３９ｃをそれぞれ個別に拡張ヘッダ情報として多重化するかを指示するフラグとする。マクロブロックヘッダ共通化識別フラグ１２３ｃはビデオストリーム２２から可変長復号部２５によって抽出・復号される。同フラグが、C0成分ヘッダ情報１３９ａのみをC1,C2成分にも共通に用いるヘッダ情報として多重化することを示す場合は、マクロブロック中のC0、C1、C2の全成分に対して、C0成分ヘッダ情報１３９aを用いた復号を行い、C1成分ヘッダ情報１３９ｂ、C2成分ヘッダ情報１３９ｃをそれぞれ個別に拡張ヘッダ情報として多重化することを示す場合は、マクロブロック中のC0、C1,C2それぞれの成分に固有のヘッダ情報１３９a〜１３９ｃを用いた復号を行うものとする。以下ではこの点をさらに詳しくマクロブロック単位の処理として説明する。
【０２２６】
１．C0成分ヘッダ情報のみが多重化される場合
マクロブロックヘッダ共通化識別フラグ１２３ｃがC0成分ヘッダ情報１３９ａのみをC1,C2成分にも共通に用いるヘッダ情報として多重化することを示している場合は、C0、C1、C2の全成分に対して、C0成分ヘッダ情報１３９ａに含まれている各種マクロブロックヘッダ情報に基づいてマクロブロックの復号を行う。この場合は、C0成分スキップ指示情報１３８ａとC0成分ヘッダ情報１３９ａをC1、C2成分に対しても共通に適用することとするため、C1、C2成分についてのスキップ指示情報（１３８ｂ、１３８ｃ）、ヘッダ情報（１３９ｂ、１３９ｃ）はビットストリーム中に多重化されない。
【０２２７】
可変長復号部２５はまずC0成分スキップ指示情報１３８ａを復号、評価する。ここでC0成分スキップ指示情報１３８ａが「スキップ」であることを示す場合は、C0成分ヘッダ情報１３９ａは符号化されていないものとみなし、C0成分ヘッダ情報１３９ａのうちの変換係数有効無効指示情報１４２はゼロ(符号化されている変換係数がまったくない)であるとみなす。これにより、C0〜C2成分変換係数データ（１４０ａ〜１４０ｃ）はすべて符号化されていないものとみなされ、マクロブロック中の量子化済み変換係数１０を全てゼロとして出力する。さらに、スキップマクロブロックの定義に従って、C0、C1、C2全成分の動きベクトル１３７を同一値に設定し出力する。
【０２２８】
C0成分スキップ指示情報１３８ａが「スキップ」でないことを示す場合は、C0成分ヘッダ情報１３９ａが存在するものとし、その復号を行う。C0成分ヘッダ情報１３９ａの中で、マクロブロックタイプ１２８ｂがイントラ符号化を示していれば、イントラ予測モード１４１、変換係数有効無効指示情報１４２、(変換係数有効無効指示情報１４２が０でなければ)量子化パラメータを復号する。ここで変換係数有効無効指示情報１４２がゼロでなければ、C0〜C2成分変換係数データ（１４０ａ〜１４０ｃ）を復号して量子化済み変換係数１０の形式で出力する。変換係数有効無効指示情報１４２がゼロの場合は、C0〜C2成分変換係数データ（１４０ａ〜１４０ｃ）はすべてゼロであるとし、マクロブロック中の量子化済み変換係数１０を全てゼロとして出力する。マクロブロックタイプ１２８ｂがインター符号化を示していれば、必要に応じてサブマクロブロックタイプ１２９ｂを復号し、さらに参照画像識別番号１３２ｂ、動きベクトル情報１３３ｂ、変換係数有効無効指示情報１４２、(変換係数有効無効指示情報１４２が０でなければ)量子化パラメータ２１を復号する。ここで変換係数有効無効指示情報１４２がゼロでなければ、C0〜C2成分変換係数データ（１４０ａ〜１４０ｃ）を復号して量子化済み変換係数１０の形式で出力する。変換係数有効無効指示情報１４２がゼロの場合は、C0〜C2成分変換係数データ（１４０ａ〜１４０ｃ）はすべてゼロであるとし、マクロブロック中の量子化済み変換係数１０を全てゼロとして出力する。以上の動作による可変長復号部２５からの出力を用いて所定の処理手順に従ってマクロブロックの復号を行う点は実施の形態７と同様である。
【０２２９】
２．C0、C1、C2成分について各対応ヘッダ情報が多重化される場合
マクロブロックヘッダ共通化識別フラグ１２３ｃがC1成分ヘッダ情報１３９ｂ、C2成分ヘッダ情報１３９ｃをC0成分ヘッダ情報１３９ａとは別にそれぞれ個別に拡張ヘッダ情報として多重化することを示している場合は、C0、C1、C2の各成分に対して、それぞれ対応するヘッダ情報（１３９ａ〜１３９ｃ）に含まれる各種マクロブロックヘッダ情報に基づいて各成分画像の復号を行う。この場合は、C1、C2成分についてのスキップ指示情報（１３８ｂ、１３８ｃ）、ヘッダ情報（１３９ｂ、１３９ｃ）がビットストリームに多重化される。
【０２３０】
可変長復号部２５はまずC0成分スキップ指示情報１３８ａを復号、評価する。ここでC0成分スキップ指示情報１３８ａが「スキップ」であることを示す場合は、C0成分ヘッダ情報１３９ａは符号化されていないものとみなし、C0成分ヘッダ情報１３９ａのうちの変換係数有効無効指示情報１４２はゼロ(符号化されている変換係数がまったくない)であるとみなす。これにより、C0成分変換係数データ１４０ａは符号化されていないものとみなされ、C0成分における量子化済み全変換係数をゼロとする(つまり、マクロブロックヘッダ共通化識別フラグ１２３ｃの値により、C0成分スキップ指示情報１３８ａと変換係数有効無効指示情報１４２の関係が変化する)。さらに、C0成分の動きベクトル１３７をC0成分スキップの場合の定義に従って設定し出力する。
【０２３１】
C0成分スキップ指示情報１３８ａが「スキップ」でないことを示す場合は、C0成分ヘッダ情報１３９ａが存在するものとし、その復号を行う。C0成分ヘッダ情報１３９ａの中で、マクロブロックタイプ１２８ｂがイントラ符号化を示していれば、イントラ予測モード１４１(フレーム内の被予測対象画素の近傍画素を予測値として用いることにする空間画素予測のモード)と、変換係数有効無効指示情報１４２、(変換係数有効無効指示情報１４２が０でなければ)量子化パラメータ２１を復号する。ここで変換係数有効無効指示情報１４２がゼロでなければ、C0成分変換係数データを復号して量子化済み変換係数１０の形式で出力する。変換係数有効無効指示情報がゼロの場合は、C0成分変換係数データはすべてゼロであるとする。マクロブロックタイプがインター符号化を示していれば、必要に応じてサブマクロブロックタイプを復号し、さらに参照画像識別番号、動きベクトル情報、変換係数有効無効指示情報、(変換係数有効無効指示情報が０でなければ)量子化パラメータを復号する。ここで変換係数有効無効指示情報がゼロでなければ、C0成分変換係数データを復号して量子化済み変換係数１０の形式で出力する。変換係数有効無効指示情報がゼロの場合は、C0成分変換係数データはすべてゼロであるとする。以上の処理手順を、C1、C2に対しても同様に行う。
以上の動作による可変長復号部２５からの出力を用いて所定の処理手順に従ってマクロブロック中のC0、C1、C2の各成分の復号を行う点は実施の形態７と同様である。
【０２３２】
以上は復号装置側での動作を中心に述べたが、このようにビットストリームを構成することにより、以下の効果が得られる。まず、従来のAVCではマクロブロックあたりに利用可能なヘッダ情報（図５０）は1組しかなく、このヘッダ情報にしたがってC0〜C2の全成分をひとまとめでイントラ・インター判定を行って符号化を行う必要があった。一方、４：４：４フォーマットのように、画像信号の内容を伝える輝度信号相当の信号成分が3つの色成分に等価に含まれる場合に対しては、各成分への入力映像信号へのノイズの乗り方等に起因する信号特性のばらつきが生じることがあり、必ずしもC0〜C2の全成分をひとまとめで符号化することが最適ではないことがある。本実施の形態１１における図４９、図５０のビットストリーム構成を前提にすることで、符号化装置は、マクロブロックヘッダ共通化識別フラグ１２３ｃによって、C0〜C2の各成分ごとに信号特性に応じた最適な符号化モード(イントラ・インター符号化種別を含むマクロブロックタイプ)、動きベクトルなどを選択して符号化を行うことができ、符号化効率を高めることができる。また、従来はC0〜C2の全成分をひとまとめにしたマクロブロックの単位で符号化を行っていたため、全成分の符号化情報がすべて存在しないことを条件にスキップと判定を行っていたが、本実施の形態１１では、各成分ごとに符号化情報の有無をスキップ指示情報１３８で判別できるように構成したため、ある成分だけがスキップだが、別の成分はスキップでないというような場合に、全成分をスキップでないとする必要がなく、より効率的に符号量の割り当てを行うことが可能となる。なお、符号化装置において、スキップ指示情報１３８の値は、可変長符号化部１１にて、量子化済み変換係数データ１０と動きベクトル１３７・参照画像識別番号１３２ｂ、マクロブロックタイプ／サブマクロブロックタイプ１０６に基づき、
【０２３３】
で述べたような符号化装置・復号装置の双方で一意に規定されるスキップマクロブロックの定義に従って決定される。
【０２３４】
なお、本実施の形態１１による符号化装置・復号装置が扱うビットストリームの構成は、図５１のようにしてもよい。この例では、C0、C1、C2の各成分のスキップ指示情報（１３８）、ヘッダ情報（１３９ａ〜１３９ｃ）、変換係数データ（１４０ａ〜１４０ｃ）をそれぞれまとめて配置するようにした。この際、スキップ指示情報１３８は、C0、C1、C2の各状態をそれぞれ1ビットの符号シンボルで並べてもよいし、8状態を1つの符号シンボルにまとめて符号化するようにしてもよい。色成分間でスキップ状態に相関が高い場合は、符号シンボルをまとめて適切に算術符号化のコンテクストモデル（実施の形態１２で後述）を定義することによって、スキップ指示情報１３８そのものの符号化効率を高めることもできる。
【０２３５】
なお、マクロブロックヘッダ共通化識別フラグ１２３ｃは、マクロブロック、スライス、ピクチャ、シーケンスなどの任意のデータレイヤの単位でビットストリームに多重してもよい。入力信号において定常的に色成分間の信号の性質の違いがある場合には、マクロブロックヘッダ共通化識別フラグ１２３ｃをシーケンスの単位で多重化するように構成すれば、より少ないオーバヘッド情報で効率的な符号化を行うことができる。マクロブロックヘッダ共通化識別フラグ１２３ｃをピクチャの単位で多重化するように構成すれば、マクロブロックタイプのバリエーションが少ないIピクチャではヘッダを共通化し、マクロブロックタイプのバリエーションが多いP、Bピクチャでは色成分ごとに個別のヘッダを使用することで符号化効率と演算負荷のバランスを改善するなどの効果が期待できる。さらにピクチャレイヤでの切り替えは、シーンチェンジなど、ピクチャごとに信号の性質が変化するような映像信号の符号化制御の観点からも望ましいといえる。マクロブロックヘッダ共通化識別フラグ１２３ｃをマクロブロックの単位で多重化することにすると、マクロブロックあたりの符号量が増加する反面、マクロブロックの単位で各色成分の信号状態を踏まえてヘッダ情報の共通化を行うか否かを制御することが可能となり、画像の局所的な信号の変動によりよく追随して圧縮効率を向上させる符号化装置を構成することができる。
【０２３６】
AVCのようにピクチャタイプ相当の符号化タイプがスライスレベルで切り替わる場合は、マクロブロックヘッダ共通化識別フラグ１２３ｃをスライスごとに多重し、同フラグが「C0、C1、C2で共通」であることを示す場合は当該スライスは３つの色成分の符号化情報をすべて含むようにビットストリームを構成し、また、同フラグが「C0、C1、C2で共通」でないことを示す場合は、１つのスライスが１つの色成分の情報を含むようにビットストリームを構成する方法が考えられる。この様子を図５２に示す。図５２において、マクロブロックヘッダ共通化識別フラグ１２３ｃには、「カレントスライスは３つの色成分の符号化情報をすべて含んでいる」か「カレントスライスはある特定の色成分の符号化情報を含んでいる」かのスライス構成識別情報としての意味を持たせている。もちろん、このようなスライス構成識別情報をマクロブロックヘッダ共通化識別フラグ１２３ｃとは別に用意してもよい。「カレントスライスはある特定の色成分の符号化情報を含んでいる」と識別される場合には、それが「C0、C1、C2のうちどれか」という識別を含むものとする。また、このようにしてスライス単位で、一つのマクロブロックヘッダをC0、C1、C2成分で共通に用いるか(C0、C1、C2混在スライス)、C0、C1、C2成分ごとにマクロブロックヘッダを個別に多重するか(C0スライス、C1スライス、C2スライス)を切り替える場合、１ピクチャ内でこれら2種類のスライスが混在する場合においては、C0スライス、C1スライス、C2スライスは常に画面内の同一位置のマクロブロックを符号化したデータとして組にしてビットストリームに多重する制約を設ける。すなわち、スライスヘッダに含まれてスライスの先頭マクロブロックのピクチャ内位置を示すfirst_mb_in_sliceの値は、一組のC0スライス、C1スライス、C2スライスで常に同一の値をとり、かつ、一組のC0スライス、C1スライス、C2スライスに含まれるマクロブロックの個数は同じ数とする。この様子を図５３に示す。ビットストリームの構成にこのような制約を設けることにより、符号化装置では、ピクチャ内の局所的な信号の性質に応じて、C0、C1、C2混在スライスと、C0スライス、C1スライス、C2スライスの組のうち、符号化効率の高い符号化方法を適応的に選択して符号化することができ、復号装置はそのようにして効率的に符号化されたビットストリームを受信して映像信号を再生できる。例えば、図３１の復号装置に入力されるビットストリーム２２がこのような構成であるとすると、可変長復号部２５ではスライスデータが入力されるたびにスライス構成識別情報をビットストリームから復号し、これから復号しようとするスライスが図５２のいずれのスライスかを識別する。スライス構成識別情報から、C0スライス、C1スライス、C2スライスの組として符号化データが構成されると判断される場合は、インター予測モード共通化識別フラグ１２３(またはマクロブロックヘッダ共通化識別フラグ１２３ｃ)の状態を「C0、C1、C2で個別のインター予測モードまたは(マクロブロックヘッダ)を使用」であると定めて復号動作を行うようにすればよい。各スライスのfirst_mb_in_sliceの値とスライス中のマクロブロック個数が等しいことが保証されるため、これに基づいてC0、C1、C2混在スライスとピクチャ上でのオーバラ��プやギャップを発生させることなく復号処理が可能である。
【０２３７】
また、C0、C1、C2の各スライスの信号の性質が大きく異なる場合にこのような制約を設けることによる符号化効率の低下を回避するため、ピクチャ内で異なるスライス構成識別情報の値を持つスライスの混在を許可するかしないかをピクチャレベルまたはシーケンスレベルで選択可能とする識別情報を付与するように構成してもよい。
【０２３８】
実施の形態１２．
本実施の形態１２では、実施の形態１１で述べた符号化装置および復号装置から派生する別の符号化装置、復号装置の実施例について述べる。本実施の形態１２における符号化装置・復号装置は、マクロブロック中のC0、C1、C2各成分の符号化を、適応算術符号化方式を用いて行う場合に、算術符号化に用いるシンボル生起確率ならびにその学習過程を全成分で共有するか、各成分ごとに分離するかを、ビットストリーム中に多重される指示情報によって適応的に切り替えることを特徴とする。
【０２３９】
本実施の形態１２は、符号化装置では図３０の可変長符号化部１１、復号装置では図３１の可変長復号部２５内の処理のみが実施の形態１１と異なり、それ以外の動作は実施の形態１１に順ずる。以下、本実施の形態１２のポイントである算術符号化および復号処理について詳細に説明する。
【０２４０】
１．符号化処理
図５４は可変長符号化部１１における算術符号化処理に関わる内部構成を、図５５及び図５６はその動作フローを示す。
【０２４１】
本実施の形態１２における可変長符号化部１１は、符号化対象データである動きベクトル１３７、参照画像識別番号１３２ｂ、マクロブロックタイプ／サブマクロブロックタイプ１０６、イントラ予測モード１４１、量子化済み変換係数１０などの個々のデータタイプに対して定義されるコンテクストモデル（後述）を定めるコンテクストモデル決定部１１a、各符号化対象データタイプについて定められる二値化規則に従って多値データを二値データに変換する二値化部１１ｂ、二値化後の個々のbinの値(0  or  1)の生起確率を与える生起確率生成部１１ｃ、生成された生起確率に基づいて算術符号化を実行する符号化部１１ｄ、生起確率情報を記憶するメモリ１１ｇから構成される。コンテクストモデル決定部１１aへの入力は、動きベクトル１３７・参照画像識別番号１３２ｂ、マクロブロックタイプ／サブマクロブロックタイプ１０６、イントラ予測モード１４１、量子化済み変換係数１０など、可変長符号化部１１に符号化対象データとして入力される各種データであって、符号化部１１ｄからの出力はビデオストリーム２２のマクロブロックに関わる情報に相当する。
【０２４２】
(1)コンテクストモデル決定処理（図５５におけるステップS160）
コンテクストモデルとは、情報源シンボルの生起確率の変動要因となる他の情報との依存関係をモデル化したものであり、この依存関係に対応して生起確率の状態を切り替えることで、よりシンボルの実際の生起確率に適応した符号化を行うことが可能となる。図５７にコンテクストモデル(ctx)の概念を示す。なお、図５７では情報源シンボルは二値としたが、多値でも構わない。図５７の0〜2というctxの選択肢は、このctxを用いる情報源シンボルの生起確率の状態が、状況に応じて変化するであろうことを想定して定義されている。本実施の形態１２における映像符号化で言えば、あるマクロブロックにおける符号化データとその周辺のマクロブロックの符号化データとの間の依存関係に応じてctxの値が切り替えられる。例えば、図５８に、D.  Marpe他, 「Video  Compression  Using  Context-Based  Adaptive  Arithmetic  Coding」, International  Conference  on  Image  Processing  2001に開示されるマクロブロックの動きベクトルに関するコンテクストモデルの例を示す。図５８において、ブロックCの動きベクトルが符号化対象であり（正確には、ブロックCの動きベクトルを近傍から予測した予測差分値mvdk(C)が符号化される）、ctx_mvd(C,k)がコンテクストモデルを示す。mvdk(A)はブロックAにおける動きベクトル予測差分値、mvdk(B)はブロックBにおける動きベクトル予測差分値をそれぞれ示し、コンテクストモデルの切り替え評価値ek(C)の定義に用いられる。評価値ek(C)は、近傍の動きベクトルのばらつき具合を示すことになり、一般的にはこのばらつきが小さい場合にはmvdk(C)は小さく、逆にek(C)が大きい場合はmvdk(C)も大きくなる傾向がある。したがって、mvdk(C)のシンボル生起確率は、ek(C)に基づいて適応化されることが望ましい。この生起確率のバリエーションセットがコンテクストモデルであり、このケースでは３種類の生起確率バリエーションがある、といえる。
【０２４３】
この他、マクロブロックタイプ／サブマクロブロックタイプ１０６、イントラ予測モード１４１、量子化済み変換係数１０などの符号化対象データそれぞれについてあらかじめコンテクストモデルが定義され、符号化装置と復号装置で共有される。コンテクストモデル決定部１１ａでは、このような符号化対象データの種別に基づいてあらかじめ定められたモデルを選択する処理を行う（コンテクストモデルの中のどの生起確率バリエーションを選択するかは下記(3)の生起確率生成処理に該当する）。
【０２４４】
(2)二値化処理（図５５におけるステップS161）
コンテクストモデルは、符号化対象データを二値化部１１ｂにて二値系列化し、二値系列の各bin(バイナリ位置)に応じて定められる。二値化の規則は、各符号化データの取りうる値のおおまかな分布に従い、可変長の二値系列への変換を行う。二値化は、本来多値を取りうる符号化対象データをそのまま算術符号化するよりもbin単位で符号化することにより確率数直線分割数を削減でき演算を簡略化できる、コンテクストモデルのスリム化が可能になるなどのメリットがある。
【０２４５】
(3)生起確率生成処理（図５５におけるステップS162(ステップS162の詳細は図５６)）  上記(1)、(2)のプロセスで、多値の符号化対象データの二値化と、各binに適用するコンテクストモデルの設定が完了し、符号化準備が整う。次いで生起確率生成部１１ｃにて算術符号化に用いる生起確率状態の生成処理が行われる。各コンテクストモデルには、0/1の各値に対する生起確率のバリエーションが含まれているので、図５４に示すように、ステップS160で決定されたコンテクストモデル１１ｆを参照して処理を行う。図５８のek(C)に示したような生起確率選択のための評価値を定め、これに従って、参照するコンテクストモデルの選択肢の中からどの生起確率バリエーションを現在の符号化に用いるかを決定する（図５６のステップS162a）。さらに、本実施の形態１２における可変長符号化部１１は、生起確率情報記憶メモリ１１ｇを備え、符号化の過程で順次更新される生起確率状態１１ｈを色成分別に記憶する機構を備える。生起確率生成部１１ｃは、生起確率状態パラメータ共通化識別フラグ１４３の値に応じて、現在の符号化に用いる生起確率状態１１ｈをC0〜C2の色成分別に保持されたものから選択するか、C0成分用のものをC1、C2で共有するかを選択して、実際に符号化に用いる生起確率状態１１ｈを決定する(図５６のS162b〜S162d)。
【０２４６】
生起確率状態パラメータ共通化識別フラグ１４３は、復号装置で同様の選択を行うことを可能とするため、ビットストリームに多重化する必要がある。このような構成とすることにより、以下の効果がある。例えば、図５８を例にとると、マクロブロックヘッダ共通化識別フラグ１２３ｃがC0成分ヘッダ情報１３９ａを他の成分でも使用することを示す場合、マクロブロックタイプ１２８ｂが１６ｘ１６予測モードを示していれば、図５８のek(C)はマクロブロックあたり１つだけ定まる。このときは、C0成分用に用意された生起確率状態を常時使用する。一方、マクロブロックヘッダ共通化識別フラグ１２３ｃが各成分に対応するヘッダ情報（１３９ａ〜１３９ｃ）を使用することを示す場合、マクロブロックタイプ１２８ｂがC0、C1、C2のいずれにおいても１６ｘ１６予測モードを示していれば、図５８のek(C)はマクロブロックあたり３つのバリエーションがありうる。後段の符号化部１１ｄでは、それぞれのバリエーションについて、C0成分で用意される生起確率状態１１ｈを共通的に使用、更新するか、または、各色成分別に用意される生起確率状態１１ｈを個別に使用、更新するかという2つの選択肢をとりうる。前者は、C0、C1、C2各成分でほぼ同じような動きベクトル分布をもつ場合、生起確率状態１１ｈを共通的に使用・更新することで学習回数が増え、よりよく動きベクトルの生起確率を学習できる可能性がある。後者は、逆にC0、C1、C2各成分でばらばらの動きベクトル分布をもつ場合、生起確率状態１１ｈを個別に使用・更新することで学習によるミスマッチを削減でき、よりよく動きベクトルの生起確率を学習できる可能性がある。映像信号は非定常であるため、このような適応制御が可能になることにより、算術符号化の効率を高めることができる。
【０２４７】
(4)符号化処理
(3)によって、算術符号化プロセスに必要な確率数直線上の0/1各値の生起確率が得られるため、従来例にあげたプロセスにしたがって符号化部１１ｄにおいて算術符号化を行う（図５５のステップS163）。また、実際の符号化値(0  or  1)１１eは、生起確率生成部１１ｃへフィードバックされ、使用した生起確率状態１１ｈの更新のため、0/1発生頻度のカウントが行われる（ステップS164）。例えば、ある特定の生起確率状態１１ｈを用いて100個のbinの符号化処理が行われた時点で、当該生起確率バリエーションにおける0/1の生起確率が0.25、0.75であったとする。ここで、同じ生起確率バリエーションを用いて1が符号化されると、1の出現頻度が更新され、0/1の生起確率は0.247、0.752に変化する。このメカニズムにより、実際の生起確率に適応した効率的な符号化を行うことが可能となる。符号化値１１ｅは可変長符号化部１１からの出力となり、ビデオストリーム２２として符号化装置から出力される。
【０２４８】
図５９は可変長復号部２５における算術復号処理に関わる内部構成を、図６０はその動作フローを示す。
【０２４９】
本実施の形態１２における可変長復号部２５は、動きベクトル１３７・参照画像識別番号１３２ｂ、マクロブロックタイプ／サブマクロブロックタイプ１０６、イントラ予測モード１４１、量子化済み変換係数１０などの個々の復号対象データのタイプを特定して、それぞれに符号化装置と共通定義されるコンテクストモデルを定めるコンテクストモデル決定部１１a、復号対象データのタイプに基づいて定まる二値化規則を生成する二値化部１１ｂ、二値化規則とコンテクストモデルに従って、個々のbin(0  or  1)の生起確率を与える生起確率生成部１１ｃ、生成された生起確率に基づいて算術復号を実行し、その結果得られる二値系列と、上記二値化規則とから、動きベクトル１３７・参照画像識別番号１３２ｂ、マクロブロックタイプ／サブマクロブロックタイプ１０６、イントラ予測モード１４１、量子化済み変換係数１０などのデータを復号する復号部２５a、生起確率情報を記憶するメモリ１１ｇとから構成される。１１a〜１１ｃ及び１１ｇは図５４の可変長符号化部１１の内部構成要素と同一のものである。
【０２５０】
(5)コンテクストモデル決定処理、二値化処理、生起確率生成処理
これらのプロセスは符号化装置側のプロセス(1)〜(3)に準ずる。なお、図示していないが、生起確率状態パラメータ共通化識別フラグ１４３は、ビデオストリーム２２からあらかじめ抽出されているものとする。
【０２５１】
(6)算術復号処理
これから復号しようとするbinの生起確率が(6)までのプロセスで確定するため、復号部２５aにおいて、所定の算術復号処理プロセスにしたがって、binの値を復元する(図６０におけるステップS166)。binの復元値２５ｂは、生起確率生成部１１ｃへフィードバックされ、使用した生起確率状態１１ｈの更新のため、0/1発生頻度のカウントが行われる（ステップS164）。復号部２５aでは、各binの復元値が確定するごとに、二値化規則で定められる二値系列パターンとの合致を確認し、合致したパターンが指し示すデータ値を復号データ値として出力する(ステップS167)。復号データが確定しない限りは、ステップS166へ戻って復号処理を継続する。
【０２５２】
以上の構成による、算術符号化ならびに算術復号処理を備えた符号化・復号装置によれば、マクロブロックヘッダ共通化識別フラグ１２３ｃに応じて適応的に色成分ごとの符号化情報を算術符号化する場合において、より効率的な符号化が可能となる。
【０２５３】
なお、特に図示していないが、生起確率状態パラメータ共通化識別フラグ１４３を多重する単位はマクロブロック単位、スライス単位、ピクチャ単位、シーケンス単位のいずれでもよい。スライス、ピクチャ、シーケンスなどの上位データレイヤに位置するフラグとして多重化されるようにすることで、スライス以上の上位レイヤでの切り替えで十分な符号化効率が確保できる場合は、マクロブロックレベルで生起確率状態パラメータ共通化識別フラグ１４３を逐一多重化することなくオーバヘッドビットを削減できる。
【０２５４】
また、生起確率状態パラメータ共通化識別フラグ１４３は、それ自体とは別のビットストリーム中に含まれる関連情報に基づいて復号装置の内部で定まる情報であってもよい。
【０２５５】
本実施の形態１２において、マクロブロックヘッダ共通化識別フラグ１２３ｃをマクロブロック単位に算術符号化する際は、コンテクストモデル１１ｆについて図６１に示すモデルを用いる。図６１において、マクロブロックXにおけるマクロブロックヘッダ共通化識別フラグ１２３ｃの値をIDCXとする。マクロブロックCにおけるマクロブロックヘッダ共通化識別フラグ１２３ｃの符号化を行う場合は、マクロブロックAのマクロブロックヘッダ共通化識別フラグ１２３ｃの値IDCAと、マクロブロックBのマクロブロックヘッダ共通化識別フラグ１２３ｃの値IDCBとの値に基づいて、同図の式に基づいて、以下の3つの状態をとる。
・            値０：A、Bの両方とも「C0、C1、C2で共通のマクロブロックヘッダを使用する」モードである
・            値１：A、Bのうちいずれかが「C0、C1、C2で共通のマクロブロックヘッダを使用する」モードで、他方が「C0、C1、C2で個別のマクロブロックヘッダを使用する」モードである
・            値２：A、Bの両方とも「C0、C1、C2で個別のマクロブロックヘッダを使用する」モードである  このようにマクロブロックヘッダ共通化識別フラグ１２３ｃを符号化することにより、近傍のマクロブロックの符号化状態に適合して算術符号化を行うことができ、符号化効率を高めることができる。なお、符号化側でも復号側でも同じ手順でコンテクストモデルを定義して算術復号することは、上記本実施の形態１２の復号装置の動作説明から自明である。
【０２５６】
また、本実施の形態１２において、マクロブロックヘッダ中に含まれる図５０のヘッダ情報(マクロブロックタイプ、サブマクロブロックタイプ、イントラ予測モード、参照画像識別番号、動きベクトル、変換係数有効無効指示情報、量子化パラメータ)については、それぞれ各情報種別ごとに定義されるコンテクストモデルで算術符号化を行うが、いずれのコンテクストモデルも図６２に示すように、カレントマクロブロックCに対して、マクロブロックA、Bの対応する情報を参照して定義される。ここで、図６２(a)のように、マクロブロックCが「C0、C1、C2で共通のマクロブロックヘッダを使用する」モードであって、マクロブロックBが「C0、C1、C2で個別のマクロブロックヘッダを使用する」モードである場合には、コンテクストモデル定義上の参照情報として、C0、C1、C2のいずれか特定の色成分の情報を用いる。
【０２５７】
例えば、C0、C1、C2が、R、G、B色成分に対応する場合は、画像の構造をよく表現する信号として従来から符号化に用いられてきた輝度信号に最も近い成分を持つG成分を選択するといった方法が考えられる。それは「C0、C1、C2で共通のマクロブロックヘッダを使用する」モードでも、G成分を基準にしてマクロブロックヘッダの情報を定めて符号化を行うケースが多いと考えられるからである。
【０２５８】
一方、逆のケースで、図６２(b)のように、マクロブロックCが「C0、C1、C2で個別のマクロブロックヘッダを使用する」モードであって、マクロブロックBが「C0、C1、C2で共通のマクロブロックヘッダを使用する」モードが存在する場合には、マクロブロックCでは、3つの色成分のヘッダ情報を符号化・復号する必要があるが、その際、各色成分のヘッダ情報のコンテクストモデル定義上の参照情報として、マクロブロックBについては3成分共通のヘッダ情報を3成分同じ値として用いることとする。また、自明であるが、マクロブロックAもBもCもすべてマクロブロックヘッダ共通化識別フラグ１２３ｃが同じ値を示す場合は、それぞれ対応する参照情報が常に存在するのでそれらを用いることとする。
【０２５９】
なお、符号化側でも復号側でも同じ手順でコンテクストモデルを定義して算術復号することは、上記本実施の形態１２の復号装置の動作説明から自明である。また、どの成分の情報を参照したコンテクストモデルを用いるかが決まった後は、そのコンテクストモデルに対応付けられている生起確率状態の更新は生起確率状態パラメータ共通化識別フラグ１４３の状態に基づいて実行する。
【０２６０】
また、本実施の形態１２において、C0、C1、C2成分の各変換係数データについても各符号化対象データの生起確率分布に応じた算術符号化が行われる。これらのデータはマクロブロックヘッダを共通化するしないに関わらず、常に3成分分の符号化データがビットストリームに含まれる。本実施の形態１２では、符号化入力信号の色空間上でイントラ予測、インター予測が行われて予測差分信号が得られるので、予測差分信号を整数変換して得られる変換係数データの分布は、図６２のようなマクロブロックヘッダを共通化するしないといった周辺の状態に関わらず、同様の生起確率分布になると考えられる。そこで、本実施の形態１２では、C0、C1、C2の各成分ごとに、マクロブロックヘッダを共通化するしないに関わらず、共通のコンテクストモデルを定義して符号化・復号に用いる。
【０２６１】
なお、符号化側でも復号側でも同じ手順でコンテクストモデルを定義して算術復号することは、上記本実施の形態１２の復号装置の動作説明から自明である。また、どの成分の情報を参照したコンテクストモデルを用いるかが決まった後は、そのコンテクストモデルに対応付けられている生起確率状態の更新は生起確率状態パラメータ共通化識別フラグ１４３の状態に基づいて実行する。
【０２６２】
実施の形態１３．
本実施の形態１３では、実施の形態７〜１２で述べた符号化装置および復号装置から派生する別の符号化装置、復号装置の実施形態について述べる。本実施の形態１３における符号化装置・復号装置は、実施の形態７〜１２に記載の符号化装置の入力段で色空間変換処理を行い、撮像後に符号化装置へ入力される映像信号の色空間を符号化に適した任意の色空間に変換して、復号側で撮像時の色空間へ戻すための逆変換処理を指定する情報をビットストリームに多重化する符号化装置と、逆変換処理を指定する情報をビットストリームから抽出して、実施の形態７〜１２に記載の復号装置によって復号画像を得たのち、逆変換処理を指定する情報に基づいて逆色空間変換を行う構成を特徴とする。
【０２６３】
本実施の形態１３における符号化装置・復号装置の構成を図６３に示す。図６３により本実施の形態１３の符号化装置・復号装置について説明する。
【０２６４】
本実施の形態１３の符号化装置は、実施の形態７〜１２の符号化装置３０３に加えて、その前段に色空間変換部３０１を備える。色空間変換部３０１は、１つまたは複数の色空間変換処理を備え、入力される映像信号の性質やシステムの設定などによって使用する色空間変換処理を選択して入力映像信号に対する色空間変換処理を行い、その結果得られる変換映像信号３０２を符号化装置３０３へ送る。また、同時に使用した色空間変換処理を識別する情報を色空間変換方法識別情報３０４として符号化装置３０３へ出力する。符号化装置３０３は、変換映像信号３０２を符号化対象信号として実施の形態７〜１２に示す方法で圧縮符号化したビットストリーム３０５に、色空間変換方法識別情報３０４を多重して伝送路へ送出、または記録メディアへの記録を行う記録装置へ出力する。
【０２６５】
ここで、用意される色空間変換方法は、例えば、従来標準で用いられているRGBからYUVへの変換  C0 = Y =   0.299  x  R  +  0.587    x  G  +  0.114    x  B  C1 = U = -0.169  x  R  -  0.3316  x  G  +  0.500    x  B  C2 = V =   0.500  x  R  -  0.4186  x  G  -  0.0813  x  Bや、色成分間の予測、  C0 = G' = G  C1 = B' = B    f(G)    (ただし、f(G): G成分に対するフィルタ処理結果)  C2 = R' = R    f(G)や、RGBからYCoCgへの変換  C0 = Y = R/2  +  G/2  +  B/4  C1 = Co = R/2    B/2  C2 = Cg = -R/4  +  G/2    B/4のような変換がある。色空間変換部３０１に対する入力はRGBに限定する必要はなく、また変換処理も上記3種に限定するものではない。
【０２６６】
本実施の形態１３の復号装置は、実施の形態７〜１２の復号装置３０６に加えて、その後段に逆色空間変換部３０８を備える。復号装置３０６はビットストリーム３０５を入力として、色空間変換方法識別情報３０４をビットストリーム３０５から抽出して出力するとともに、実施の形態７〜１２に記載の復号装置の動作により得られる復号画像３０７を出力する。逆色空間変換部３０８は、上記色空間変換部３０１で選択可能な色空間変換方法のそれぞれに対して対応する逆変換処理を備え、復号装置３０６から出力される色空間変換方法識別情報３０４に基づいて色空間変換部３０１で実行された変換を特定して、復号画像３０７に対して逆変換処理を施し、本実施の形態１３の符号化装置に対する入力映像信号の色空間へ戻す処理を行う。
【０２６７】
本実施の形態１３のような符号化装置・復号装置によれば、符号化の前段と復号処理の後段で符号化される映像信号に対して最適な色空間の変換処理を行うことにより、３つの色成分から構成される画像信号中に含まれる相関を符号化前に除去して、冗長度を少なくした状態で符号化を行うことができ、圧縮効率を高めることができる。従来のMPEG等の標準符号化方式では、符号化対象の信号の色空間をYUVの1種類に限定していたが、色空間変換部３０１、逆色空間変換部３０８を備え、色空間変換方法識別情報３０４をビットストリーム３０５に含めることにより、符号化入力される映像信号の色空間に関する制限をなくすことができ、かつ色成分間の相関を取り除く複数種類の手段の中から最適な変換を用いて符号化することが可能になる。
【０２６８】
本実施の形態１３では、色空間変換部３０１、逆色空間変換部３０８を常に動作させるという前提で記載したが、これらの処理部を動作させず、従来の規格との互換性を確保することを指示する情報を、シーケンスなどの上位のレイヤで符号化する構成をとることも可能である。
【０２６９】
また、本実施の形態１３の色空間変換部３０１、逆色空間変換部３０８を、本実施の形態７〜１２の符号化装置、復号装置の内部構成に取り入れるようにして、予測差分信号レベルでの色空間変換を行うように構成することもできる。このように構成した符号化装置を図６４に、復号装置を図６５に示す。図６４の符号化装置では、直交変換部８の代わりに変換部３１０が、逆直交変換部１３の代わりに逆変換部３１２が備えられ、図６５の復号装置では、逆直交変換部１３の代わりに逆変換部３１２が備えられている。
【０２７０】
変換部３１０は、符号化モード判定部５から出力されるC0、C1、C2成分の予測差分信号４に対して、上記色空間変換部３０１の処理として示したように、複数の色空間変換処理の中から最適な変換処理を選択して色空間変換をまず実行する。その後、色空間変換の結果に対して直交変換部８相当の変換を実行する。どの変換を選択したかを示す色空間変換方法識別情報３１１は可変長符号化部１１に送り、ビットストリームに多重してビデオストリーム２２として出力する。また、逆変換部３１２では、まず逆直交変換部１３相当の逆変換を行った後、色空間変換方法識別情報３１１で指定される色空間変換処理を用いて逆色空間変換処理を実行する。
【０２７１】
復号装置では、可変長復号部２５でビットストリームから色空間変換方法識別情報３１１を抽出して、その結果を逆変換部３１２へ送ることで、上述の符号化装置における逆変換部３１２と同様の処理を行う。このように構成することで、色成分の間に残存する相関が予測差分領域で十分に除去できるような場合は、それを符号化処理の一部として実行するようにでき、符号化効率を高める効果がある。ただし、C0、C1、C2成分で個別のマクロブロックヘッダを用いる場合には、そもそもC0成分はイントラ予測、C1成分はインター予測といったように、成分ごとに予測の方法が変化しうるため、予測差分信号４の領域での相関が保持されにくいこともある。したがって、C0、C1、C2成分で個別のマクロブロックヘッダを用いる場合は、変換部３１０、逆変換部３１２は色空間変換を実行しないように動作させるようにしてもよいし、予測差分信号４の領域で色空間変換を実行するかしないかを識別情報としてビットストリームに多重するように構成してもよい。なお、色空間変換方法識別情報３１１はシーケンス、ピクチャ、スライス、マクロブロックのいずれの単位で切り替えられるようにしてもよい。
【０２７２】
図６４、図６５の符号化装置、復号装置の構成では、C0、C1、C2成分の各変換係数データは、色空間変換方法識別情報３１１に応じて符号化対象信号の信号定義ドメインが異なることになる。したがって、色空間変換方法識別情報３１１に応じて、変換係数データの分布は、異なる生起確率分布になるのが一般的と考えられる。そこで、図６４、６５のように符号化装置、復号装置を構成する場合は、C0、C1、C2の各成分ごとに、色空間変換方法識別情報３１１の状態ごとに個別の生起確率状態が対応付けられたコンテクストモデルを用いて符号化・復号を行う。
【０２７３】
なお、符号化側でも復号側でも同じ手順でコンテクストモデルを定義して算術復号することは、上記本実施の形態１２の復号装置の動作説明から自明である。また、どの成分の情報を参照したコンテクストモデルを用いるかが決まった後は、そのコンテクストモデルに対応付けられている生起確率状態の更新は生起確率状態パラメータ共通化識別フラグ１４３の状態に基づいて実行する。
【０２７４】
実施の形態１４．
本実施の形態１４では、上記実施の形態で述べた符号化装置・復号装置につき、さらに具体的な装置構成について言及する。
【０２７５】
上記実施の形態では、符号化装置・復号装置の動作説明を、例えば図１、図２、図３０、図３１等に準ずる図面を用いて実施した。これらの図面では、３つの色成分からなる入力映像信号を符号化装置に一括入力して、装置内部で３つの色成分を共通の予測モードやマクロブロックヘッダに基づいて符号化するか個々の予測モードやマクロブロックヘッダに基づいて符号化するかを選択しながら符号化を行い、その結果得られるビットストリームを復号装置に入力して、復号装置内部で３つの色成分が予測モードやマクロブロックヘッダに基づいて符号化されているか個々の予測モードやマクロブロックヘッダに基づいて符号化されているかを、ビットストリームから復号して取り出したフラグ（例えば、イントラ予測モード共通化識別フラグ２３、インター予測モード共通化識別フラグ１２３等）に基づいて選択しながら復号処理を行い再生映像を得る動作を説明した。上記フラグはマクロブロック、スライス、ピクチャ、シーケンスなどの任意のデータレイヤの単位で符号化・復号してもよい旨はすでに明記したが、本実施の形態１４では、特に、３つの色成分信号を共通のマクロブロックヘッダで符号化するか、個別のマクロブロックヘッダで符号化するかを1フレーム（ないしは１フィールド）の単位で切り分けながら符号化・復号する装置構成・動作を具体的な図面をもとに説明する。以下、特に断らない限り、「１フレーム」と記載した場合は１フレームないしは１フィールドのデータ単位とみなす。
【０２７６】
本実施の形態１４におけるマクロブロックヘッダは、図１５のような変換ブロックサイズ識別フラグ、図５０のようなマクロブロックタイプ・サブマクロブロックタイプ・イントラ予測モードなどの符号化・予測モード情報、参照画像識別番号・動きベクトルなどの動き予測情報、変換係数有効無効指示情報、変換係数に対する量子化パラメータ等、変換係数データ以外のマクロブロックオーバヘッド情報を含むものとする。
【０２７７】
以降、１フレームの３つの色成分信号を共通のマクロブロックヘッダで符号化する処理を「共通符号化処理」、１フレームの３つの色成分信号を個別の独立したマクロブロックヘッダで符号化する処理を「独立符号化処理」と記す。同様に、１フレームの３つの色成分信号が共通のマクロブロックヘッダで符号化されたビットストリームからフレーム画像データを復号する処理を「共通復号処理」、１フレームの３つの色成分信号が個別の独立したマクロブロックヘッダで符号化されたビットストリームからフレーム画像データを復号する処理を「独立復号処理」と記す。本実施の形態１４における共通符号化処理では、図６６に示すように、１フレーム分の入力映像信号を３つの色成分をまとめた形のマクロブロックに分割する。一方、独立符号化処理では、図６７に示すように、１フレーム分の入力映像信号を３つの色成分に分離し、それらを単一の色成分からなるマクロブロックに分割する。つまり、共通符号化処理の対象となるマクロブロックは、C0、C1、C2の３つの色成分のサンプルを含むが、独立符号化処理の対象となるマクロブロックは、C0またはC1またはC2成分のうちのいずれか１つの成分のサンプルのみを含む。
【０２７８】
図６８は、本実施の形態１４の符号化装置・復号装置における、ピクチャ間の時間方向の動き予測参照関係を示す説明図である。この例では、太縦棒線で示されるデータ単位をピクチャとし、ピクチャとアクセスユニットとの関係を囲み点線で示している。共通符号化・復号処理の場合、１ピクチャは、３つの色成分が混在した１フレーム分の映像信号を表すデータであって、独立符号化・復号処理の場合、１ピクチャはいずれか１つの色成分の１フレーム分の映像信号とする。アクセスユニットは、映像信号に対してオーディオ・音声情報などとの同期などを目的とするタイムスタンプを付与する最小データ単位であり、共通符号化・復号処理の場合、１つのアクセスユニットには１ピクチャ分のデータを含む（図６８の４２７ａ）。一方、独立符号化・復号処理の場合は１つのアクセスユニットに３つのピクチャが含まれる（図６８の４２７ｂ）。これは独立符号化・復号処理の場合、３つの色成分すべての同一表示時刻のピクチャがそろってはじめて１フレーム分の再生映像信号が得られるためである。なお、各ピクチャの上部に付与した番号は、ピクチャの時間方向の符号化・復号処理順序（AVCのframe_num）を示す。図６８では、ピクチャ間の矢印は動き予測の参照方向を示している。すなわち、独立符号化・復号処理の場合、同一アクセスユニットに含まれるピクチャの間での動き予測参照、ならびに異なる色成分間での動き予測参照は行わないものとし、C0、C1、C2の各色成分のピクチャを同一色成分の信号に限定して予測参照しながら符号化・復号する。このような構成とすることにより、本実施の形態１４における独立符号化・復号処理の場合は、各色成分の符号化・復号を、他の色成分の符号化・復号処理に全く依存することなく実行でき、並列処理が容易になる。
【０２７９】
なお、AVCでは、自身はイントラ符号化を行うとともに、動き補償予測に用いる参照画像メモリの内容をリセットするIDR（instantaneous  decoder  refresh）ピクチャが定義されている。IDRピクチャは他のいかなるピクチャにも依存せずに復号可能であるためランダムアクセスポイントとして利用される。共通符号化処理の場合のアクセスユニットは、１アクセスユニット＝１ピクチャであるが、独立符号化処理の場合のアクセスユニットでは１アクセスユニットが複数ピクチャで構成されるため、ある色成分ピクチャがIDRピクチャである場合は他の残りの色成分ピクチャもIDRピクチャとして、IDRアクセスユニットを定義し、ランダムアクセス機能を確保する。
【０２８０】
以下、共通符号化処理による符号化を行ったか、独立符号化処理による符号化を行ったかを示す識別情報を、本実施の形態１４では、共通符号化・独立符号化識別信号と呼ぶ。
【０２８１】
図６９は、本実施の形態１４の符号化装置で生成され、本実施の形態１４の復号装置が入力・復号処理の対象とするビットストリームの構造の一例を示す説明図である。図６９は、シーケンスからフレームレベルまでのビットストリーム構成を示したもので、まず、シーケンスレベルの上位ヘッダ（AVCの場合、シーケンスパラメータセットなど）に、共通符号化・独立符号化識別信号４２３を多重しておく。個々のフレームはアクセスユニットの単位で符号化される。AUDとは、AVCにおいてアクセスユニットの切れ目を識別するためのユニークなNALユニットであるAccess  Unit  Delimiter  NALユニットを示す。共通符号化・独立符号化識別信号４２３が「共通符号化処理によるピクチャ符号化」を示す場合は、アクセスユニットには１ピクチャ分の符号化データが含まれる。このときのピクチャは、前述のように３つの色成分が混在した１フレーム分の映像信号を表すデータであるとする。このとき、i番目のアクセスユニットの符号化データはスライスデータ  Slice(i,j)  の集合として構成される。jは、１ピクチャ内のスライスデータのインデックスである。
【０２８２】
一方、共通符号化・独立符号化識別信号４２３が「独立符号化処理によるピクチャ符号化」を示す場合は、１ピクチャはいずれか１つの色成分の１フレーム分の映像信号である。このとき、p番目のアクセスユニットの符号化データは、アクセスユニット内のq番目のピクチャのスライスデータ  Slice(p,q,r)  の集合として構成される。rは、１ピクチャ内のスライスデータのインデックスである。RGBのように色成分が３成分で構成される映像信号の場合、qがとり得る値の個数は３である。また、３原色からなる映像信号に加えて例えばアルファブレンディングのための透過度情報のような付加データを同一アクセスユニットとして符号化・復号する場合や、４成分以上の色成分(例えばカラー印刷で使用されるYMCKなど)で構成される映像信号を符号化・復号する場合などは、qがとり得る値の個数は４以上となるように設定する。本実施の形態１４における符号化装置、復号装置は、独立符号化処理を選択すれば、映像信号を構成する各色成分をまったく独立に符号化するため、原理的に符号化・復号処理を変更することなく、色成分の枚数を自在に変更できる。将来、映像信号の色表現を行うための信号形式が変更された場合にも、本実施の形態１４における独立符号化処理で対応可能となる効果がある。
【０２８３】
このような構成を実現するために、本実施の形態１４では、共通符号化・独立符号化識別信号４２３は「１アクセスユニット内に含まれ、各々が相互に動き予測参照することなく独立に符号化されるピクチャの数」という形で表現する。このとき、共通符号化・独立符号化識別信号４２３は上記パラメータqがとり得る値の個数で表現できることになり、このパラメータがとり得る値の個数を以降、num_pictures_in_auと呼ぶ。つまり、num_pictures_in_au = 1は「共通符号化処理」を示し、num_pictures_in_au = 3は本実施の形態１４における「独立符号化処理」を示す。色成分が４以上となる場合、num_pictures_in_au  >  3なる値に設定すればよい。このようなシグナリングを行うことによって、復号装置はnum_pictures_in_auを復号、参照すれば共通符号化処理による符号化データと独立符号化処理による符号化データの区別ができるだけでなく、１つのアクセスユニット内に何枚の単一色成分ピクチャが存在するかを同時に知ることができ、将来の映像信号の色表現拡張への対応も可能にしつつ、共通符号化処理と独立符号化処理をビットストリーム中でシームレスに扱うことが可能である。
【０２８４】
図７０は、共通符号化処理、独立符号化処理それぞれの場合のスライスデータのビットストリーム構成を示す説明図である。独立符号化処理によって符号化されたビットストリームでは、後述する効果を達成するため、復号装置で受信したスライスデータがアクセスユニット内のどの色成分のピクチャに属するスライスかを識別可能なように、スライスデータの先頭のヘッダ領域に色成分識別フラグ(color_channel_idc)を付与する。color_channel_idcは、その値が同じスライスをグループ化する。つまり、color_channel_idcの値が異なるスライス間では、いかなる符号化・復号の依存性（例えば動き予測参照、CABACのコンテキストモデリング・生起確率学習など）も持たせないものとする。このように規定することで、独立符号化処理の場合のアクセスユニット内の個々のピクチャの独立性が確保される。また、各スライスヘッダに多重されるframe_num（スライスが属するピクチャの符号化・復号処理順序）については、１アクセスユニット内の全色成分ピクチャにおいて同一の値とする。
【０２８５】
図７１は、本実施の形態１４の符号化装置の概略構成を示す説明図である。図７１において、共通符号化処理は第１のピクチャ符号化部５０３ａにおいて実行され、独立符号化処理は第２のピクチャ符号化部５０３ｂ０、５０３ｂ１、５０３ｂ２(３つの色成分分を用意)において実行される。入力映像信号１は、スイッチ(SW)５０１によって第１のピクチャ符号化部５０３ａか、色成分分離部５０２および第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２のいずれかに供給される。スイッチ５０１は、共通符号化・独立符号化識別信号４２３によって駆動され、入力映像信号１を指定されたパスへ供給する。以下では、共通符号化・独立符号化識別信号(num_pictures_in_au)４２３は、入力映像信号が４：４：４フォーマットの場合にシーケンスパラメータセットに多重され、シーケンスの単位で共通符号化処理と独立符号化処理を選択する信号とする場合について説明する。これは上記実施の形態７で述べたインター予測モード共通化識別フラグ１２３や、上記実施の形態１１で述べたマクロブロックヘッダ共通化識別フラグ１２３ｃと概念的に同一である。共通符号化処理を用いた場合は復号装置側では共通復号処理を実行し、独立符号化処理を用いた場合は復号装置側では独立復号処理を実行する必要があるため、共通符号化・独立符号化識別信号４２３はそれを指定する情報としてビットストリームに多重する必要がある。そのため、共通符号化・独立符号化識別信号４２３は多重化部５０４へ入力される。この共通符号化・独立符号化識別信号４２３の多重化単位は、シーケンス内のいくつかのピクチャ群からなるGOP(グループ・オブ・ピクチャ)の単位など、ピクチャよりも上位レイヤであればどのような単位であってもよい。
【０２８６】
第１のピクチャ符号化部５０３ａでは、共通符号化処理を実行するために、入力映像信号１を図６６に示すように３つの色成分のサンプルをまとめた形式のマクロブロックへ分割して、その単位で符号化処理を進める。第１のピクチャ符号化部５０３ａにおける符号化処理は後述する。独立符号化処理が選択された場合は、入力映像信号１は色成分分離部５０２でC0、C1、C2の１フレーム分のデータへ分離され、それぞれ対応する第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２へ供給される。第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２では、色成分ごとに分離された１フレーム分の信号を図６７に示す形式のマクロブロックへ分割して、その単位で符号化処理を進める。第２のピクチャ符号化部における符号化処理は後述する。
【０２８７】
第１のピクチャ符号化部５０３ａには、３つの色成分からなる１ピクチャ分の映像信号が入力され、符号化データはビデオストリーム４２２ａとして出力される。第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２には、単一色成分からなる１ピクチャ分の映像信号が入力され、符号化データはビデオストリーム４２２ｂ０〜４２２ｂ２として出力される。これらビデオストリームは、共通符号化・独立符号化識別信号４２３の状態に基づいて多重化部５０４でビデオストリーム４２２ｃの形式に多重化され、出力される。
【０２８８】
ビデオストリーム４２２ｃの多重化に際しては、独立符号化処理される場合のアクセスユニット中では、スライスデータのビットストリーム中での多重化順、伝送順を、アクセスユニット内のピクチャ（各色成分）間でインタリーブ可能とする（図７２）。この場合、復号装置側では、受信したスライスデータが、アクセスユニット内のどの色成分に属するスライスかを識別する必要がある。そのために、スライスデータの先頭のヘッダ領域に図７０のように多重する色成分識別フラグを利用する。
【０２８９】
このような構成にすることにより、符号化装置では、図７１の符号化装置のように３つの色成分のピクチャをそれぞれ独立な第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２の３セット使用して、並列処理により符号化を行う場合に、他の色成分ピクチャの符号化データの完成を待たずに、自身のピクチャのスライスデータが準備できればすぐに符号化データを送出可能となる。ＡＶＣでは１ピクチャを複数のスライスデータに分割して符号化することができ、スライスデータ長やスライス内に含まれるマクロブロックの個数については、符号化条件に応じて柔軟に変化させることができる。画像空間上で隣り合うスライスの間では、スライスの復号処理の独立性を確保するため、イントラ予測や算術符号化などの近傍コンテクストの利用ができないため、スライスデータ長はできるだけ長いほうが符号化効率は高い。一方、伝送や記録の過程でビットストリームに誤りが混入した場合は、スライスデータ長が短いほど誤りからの復帰が早まり、品質劣化を抑えやすくなる。色成分識別フラグを多重化することなく、スライスの長さや構成、色成分の順序などを固定的にしてしまうと、符号化装置においてビットストリームの生成条件が固定化されてしまい、多様な符号化要求条件に柔軟に対応することができなくなる。
【０２９０】
また、図７２のようにビットストリームを構成することができれば、符号化装置では伝送に必要な送信バッファサイズ、すなわち符号化装置側での処理遅延を小さくすることができる。その様子を図７２に示す。もしピクチャをまたがるスライスデータの多重が許容されない場合、符号化装置は、ある特定の色成分のピクチャの符号化が終了するまでの間、他のピクチャの符号化データをバッファリングさせる必要がある。これはピクチャレベルでの遅延が発生することを意味する。一方、図７２最下部に示すように、スライスレベルでインタリーブ可能とすれば、ある特定の色成分のピクチャ符号化部はスライスデータの単位で符号化データを多重化部に出力することができ、遅延を抑制することができる。
【０２９１】
なお、１つの色成分ピクチャ内においては、それに含まれるスライスデータはマクロブロックのラスタスキャン順で伝送するようにしてもよいし、１つのピクチャ内でもインタリーブ伝送を可能とするように構成してもよい。
【０２９２】
以下、第１および第２のピクチャ符号化部の動作を詳しく説明する。
【０２９３】
第1のピクチャ符号化部の動作概要
第１のピクチャ符号化部５０３ａの内部構成を図７３に示す。図７３において、入力映像信号１は、４：４：４フォーマットで、かつ図６６の形式の３つの色成分をまとめたマクロブロックの単位で入力されるものとする。
【０２９４】
まず、予測部４６１において、メモリ１６ａに格納される動き補償予測参照画像データの中から参照画像を選択し、該マクロブロックの単位で動き補償予測処理が行われる。メモリ１６ａには、複数時刻に渡る、３つの色成分で構成される複数枚の参照画像データが格納され、予測部４６１では、これらの中からマクロブロックの単位で最適な参照画像を選択して動き予測を行う。メモリ１６ａ内の参照画像データの配置は、色成分ごとに面順次で分けて格納してもよいし、各色成分のサンプルを点順次で格納してもよい。動き補償予測を行うブロックサイズは７種類用意されており、まずマクロブロック単位に、図３２(a)から(d)に示すように、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８のいずれかのサイズを選択することができる。さらに８ｘ８が選択された場合には、各８ｘ８ブロックごとに、図３２(e)から(h)に示すように、８ｘ８、８ｘ４、４ｘ８、４ｘ４のいずれかのサイズを選択することができる。
【０２９５】
予測部４６１では、図３２のすべてまたは一部のブロックサイズ・サブブロックサイズ、および所定の探索範囲の動きベクトルおよび利用可能な１枚以上の参照画像に対してマクロブロックごとに動き補償予測処理を実行して、動きベクトル情報と予測に用いる参照画像識別番号４６３と減算器３により、動き補償予測単位となるブロックごとの予測差分信号４を得る。予測差分信号４は符号化モード判定部５においてその予測効率が評価され、予測部４６１で実行した予測処理の中から、予測対象のマクロブロックに対して最適な予測効率が得られるマクロブロックタイプ／サブマクロブロックタイプ１０６と動きベクトル情報・参照画像識別番号４６３を出力する。マクロブロックタイプ、サブマクロブロックタイプ、参照画像インデックス、動きベクトルなどのマクロブロックヘッダ情報はすべて、３つの色成分に対して共通のヘッダ情報として決定され、符号化に使用され、ビットストリームに多重化される。予測効率の最適性の評価にあたっては、演算量を抑制する目的で、ある所定の色成分（たとえばＲＧＢのうちのＧ成分、ＹＵＶのうちのＹ成分など）に対する予測誤差量だけを評価してもよいし、演算量は大きくなるが最適な予測性能を得るべくすべての色成分についての予測誤差量を総合評価するようにしてもよい。また、最終的なマクロブロックタイプ／サブマクロブロックタイプ１０６の選定にあたっては、符号化制御部１９の判断で定まる各タイプに対する重み係数２０が加味されることもある。
【０２９６】
同様に、予測部４６１では、イントラ予測も実行する。イントラ予測実行時は、出力信号４６３には、イントラ予測モード情報が出力される。以降、特にイントラ予測、動き補償予測を区別しない場合には、出力信号４６３はイントラ予測モード情報、動きベクトル情報、参照画像識別番号をまとめて予測オーバヘッド情報と呼ぶ。イントラ予測についても所定の色成分だけの予測誤差量を評価してもよいし、すべての色成分についての予測誤差量を総合評価するようにしてもよい。最後に、マクロブロックタイプをイントラ予測にするか、インター予測にするかを、符号化モード判定部５において予測効率または符号化効率で評価して選定する。
【０２９７】
選定されたマクロブロックタイプ／サブマクロブロックタイプ１０６と、予測オーバヘッド情報４６３に基づくイントラ予測・動き補償予測によって得られる予測差分信号４を変換部３１０へ出力する。変換部３１０は入力される予測差分信号４を変換し変換係数として量子化部９へ出力する。この際、変換を行う単位となるブロックのサイズを４ｘ４か８ｘ８のいずれかから選択するようにしてもよい。変換ブロックサイズを選択可能とする場合は、符号化時に選択されたブロックサイズを、変換ブロックサイズ指定フラグ４６４の値に反映し、同フラグをビットストリームに多重化する。量子化部９は入力される変換係数を、符号化制御部１９によって定まる量子化パラメータ２１に基づいて量子化を行い、量子化済み変換係数１０として可変長符号化部１１へ出力する。量子化済み変換係数１０は、３つの色成分分の情報を含み、可変長符号化部１１にてハフマン符号化や算術符号化などの手段によりエントロピー符号化される。また、量子化済み変換係数１０は逆量子化部１２、逆変換部３１２を経て局部復号予測差分信号１４へ復元され、選定されたマクロブロックタイプ／サブマクロブロックタイプ１０６と予測オーバヘッド情報４６３に基づいて生成される予測画像７と加算器１８で加算することで局部復号画像１５が生成される。局部復号画像１５は、デブロッキングフィルタ４６２でブロックひずみ除去処理を実施した後、以降の動き補償予測処理に用いるためメモリ１６ａへ格納される。可変長符号化部１１には、当該マクロブロックに対してデブロッキングフィルタを施すか否かを示すデブロッキングフィルタ制御フラグ２４も入力される。
【０２９８】
可変長符号化部１１に入力される量子化済み変換係数１０、マクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３、量子化パラメータ２１は所定の規則（シンタックス）に従ってビットストリームとして配列・整形され、図６６の形式のマクロブロックが１つないしは複数個まとまったスライスデータの単位でＮＡＬユニット化された符号化データとして送信バッファ１７へ出力される。送信バッファ１７では符号化装置が接続される伝送路の帯域や記録媒体の読み出し速度に合わせてビットストリームを平滑化してビデオストリーム４２２ａとして出力する。また、送信バッファ１７中のビットストリーム蓄積状況に応じて符号化制御部１９へフィードバックをかけ、以降の映像フレームの符号化における発生符号量を制御する。
【０２９９】
なお、第１のピクチャ符号化部５０３ａの出力は、３成分をまとめた単位のスライスであってアクセスユニットをまとめた単位での符号量と等価であるため、送信バッファ１７はそのまま多重化部５０４内に配置してもよい。
【０３００】
本実施の形態１４における第１のピクチャ符号化部５０３ａでは、共通符号化・独立符号化識別信号４２３によってシーケンス中のすべてのスライスデータがＣ０、Ｃ１、Ｃ２混在スライス（すなわち、３つの色成分の情報が混在するスライス）であることが識別可能であるため、スライスヘッダに色成分識別フラグは多重化しない。
【０３０１】
第２のピクチャ符号化部の動作概要
第２のピクチャ符号化部５０３ｂ０（５０３ｂ１、５０３ｂ２）の内部構成を図７４に示す。図７４において、入力映像信号１は、図６７の形式の単一色成分のサンプルからなるマクロブロックの単位で入力されるものとする。
【０３０２】
まず、予測部４６１において、メモリ１６ｂに格納される動き補償予測参照画像データの中から参照画像を選択し、該マクロブロックの単位で動き補償予測処理を行う。メモリ１６ｂには、複数時刻に渡る、単一色成分で構成される複数枚の参照画像データを格納でき、予測部４６１では、これらの中からマクロブロックの単位で最適な参照画像を選択して動き予測を行う。メモリ１６ｂは３つの色成分分をまとめた単位でメモリ１６ａと共用するようにしてもよい。動き補償予測を行うブロックサイズには７種類用意されており、まずマクロブロック単位に、図３２(a)から(d)に示すように、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８のいずれかのサイズを選択することができる。さらに８ｘ８が選択された場合には、各８ｘ８ブロックごとに、図３２(e)から(h)に示すように、８ｘ８、８ｘ４、４ｘ８、４ｘ４のいずれかのサイズを選択することができる。
【０３０３】
予測部４６１では、図３２のすべてまたは一部のブロックサイズ・サブブロックサイズ、および所定の探索範囲の動きベクトルおよび利用可能な１枚以上の参照画像に対してマクロブロックごとに動き補償予測処理を実行して、動きベクトル情報と予測に用いる参照画像識別番号４６３と減算器３により、動き補償予測単位となるブロックごとの予測差分信号４を得る。予測差分信号４は符号化モード判定部５においてその予測効率が評価され、予測部４６１で実行した予測処理の中から、予測対象のマクロブロックに対して最適な予測効率が得られるマクロブロックタイプ／サブマクロブロックタイプ１０６と動きベクトル情報・参照画像識別番号４６３を出力する。マクロブロックタイプ、サブマクロブロックタイプ、参照画像インデックス、動きベクトルなどのマクロブロックヘッダ情報はすべて、入力映像信号１の単一色成分の信号に対するヘッダ情報として決定され、符号化に使用され、ビットストリームに多重化される。予測効率の最適性の評価にあたっては、符号化処理対象となる単一色成分に対する予測誤差量だけを評価する。また、最終的なマクロブロックタイプ／サブマクロブロックタイプ１０６の選定にあたっては、符号化制御部１９の判断で定まる各タイプに対する重み係数２０が加味されることもある。
【０３０４】
同様に、予測部４６１では、イントラ予測も実行する。イントラ予測実行時は、出力信号４６３には、イントラ予測モード情報が出力される。以降、特にイントラ予測、動き補償予測を区別しない場合には、出力信号４６３はイントラ予測モード情報、動きベクトル情報、参照画像識別番号をまとめて予測オーバヘッド情報と呼ぶ。イントラ予測についても符号化処理対象となる単一色成分に対する予測誤差量だけを評価する。最後に、マクロブロックタイプをイントラ予測にするか、インター予測にするかを予測効率または符号化効率で評価して選定する。
【０３０５】
選定されたマクロブロックタイプ／サブマクロブロックタイプ１０６と、予測オーバヘッド情報４６３によって得られる予測差分信号４を変換部３１０へ出力する。変換部３１０は入力される単一色成分分の予測差分信号４を変換し変換係数として量子化部９へ出力する。この際、変換を行う単位となるブロックのサイズを４ｘ４か８ｘ８のいずれかから選択するようにしてもよい。選択可能とする場合は、符号化時に選択されたブロックサイズを、変換ブロックサイズ指定フラグ４６４の値に反映し、同フラグをビットストリームに多重化する。量子化部９は入力される変換係数を、符号化制御部１９によって定まる量子化パラメータ２１に基づいて量子化を行い、量子化済み変換係数１０として可変長符号化部１１へ出力する。量子化済み変換係数１０は、単一色成分分の情報を含み、可変長符号化部１１にてハフマン符号化や算術符号化などの手段によりエントロピー符号化される。また、量子化済み変換係数１０は逆量子化部１２、逆変換部３１２を経て局部復号予測差分信号１４へ復元され、選定されたマクロブロックタイプ／サブマクロブロックタイプ１０６と予測オーバヘッド情報４６３に基づいて生成される予測画像７と加算器１８で加算することで局部復号画像１５が生成される。局部復号画像１５は、デブロッキングフィルタ４６２でブロックひずみ除去処理を実施した後、以降の動き補償予測処理に用いるためメモリ１６ｂへ格納される。可変長符号化部１１には、当該マクロブロックに対してデブロッキングフィルタを施すか否かを示すデブロッキングフィルタ制御フラグ２４も入力される。
【０３０６】
可変長符号化部１１に入力される量子化済み変換係数１０、マクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３、量子化パラメータ２１は所定の規則（シンタックス）に従ってビットストリームとして配列・整形され、図６７の形式のマクロブロックが１つないしは複数個まとまったスライスデータの単位でＮＡＬユニット化された符号化データとして送信バッファ１７へ出力される。送信バッファ１７では符号化装置が接続される伝送路の帯域や記録媒体の読み出し速度に合わせてビットストリームを平滑化してビデオストリーム４２２ｂ０（４２２ｂ１、４２２ｂ２）として出力する。また、送信バッファ１７中のビットストリーム蓄積状況に応じて符号化制御部１９へフィードバックをかけ、以降の映像フレームの符号化における発生符号量を制御する。
【０３０７】
なお、第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２の出力は、単一色成分のデータのみからなるスライスであって、アクセスユニットをまとめた単位での符号量制御が必要となる場合には、多重化部５０４内に全色成分のスライスを多重した単位での共通送信バッファを設け、同バッファの占有量をもとに各色成分の符号化制御部１９にフィードバックをかけるように構成してもよい。また、この際、全色成分の発生情報量だけを用いて符号化制御を行うようにしてもよいし、各色成分の送信バッファ１７の状態も加味して符号化制御を行うようにしてもよい。全色成分の発生情報量だけを用いて符号化制御を行う場合は、送信バッファ１７相当の機能を多重化部５０４内の共通送信バッファで実現することとして、送信バッファ１７を省略する構成をとることもできる。
【０３０８】
本実施の形態１４における第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２では、共通符号化・独立符号化識別信号４２３によってシーケンス中のすべてのスライスデータが単一色成分スライス（すなわち、Ｃ０スライスまたはＣ１スライスまたはＣ２スライス）であることが識別可能であるため、スライスヘッダに常に色成分識別フラグを多重化し、復号装置側でどのスライスがアクセスユニット内のどのピクチャデータに該当するかを識別できるようにする。このため、各第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２は、それぞれの送信バッファ１７からの出力を１ピクチャ分ためることなく、１スライス分のデータがたまった時点で送出することができる。
【０３０９】
なお共通符号化・独立符号化識別信号(num_pictures_in_au)は、共通符号化処理による符号化データと独立符号化処理による符号化データを区別する情報(共通符号化識別情報)と、１つのアクセスユニット内に何枚の単一色成分ピクチャが存在するかを示す情報(色成分の数)を同時に表現できるようにしたが、上記２つの情報を独立な情報として符号化してもよい。
【０３１０】
なお、第１のピクチャ符号化部５０３ａと第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２とは、マクロブロックヘッダ情報を３成分共通の情報として扱うか、単一の色成分の情報として扱うかの違いと、スライスデータのビットストリーム構成が異なるだけである。図７３や図７４における予測部や変換部・逆変換部、量子化部・逆量子化部、デブロッキングフィルタなどの基本的な処理ブロックの多くは、３つの色成分の情報とまとめて処理するか、単一の色成分の情報だけを扱うかの違いだけで、第１のピクチャ符号化部５０３ａと第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２とで共通の機能ブロックで実現することもできる。したがって、図７１のような完全に独立な符号化処理部としてだけでなく、図７３や図７４の基本構成要素を適宜組み合わせて多様な符号化装置の実装を実現することができる。また、第１のピクチャ符号化部５０３ａにおけるメモリ１６ａの配置を面順次で持つことにすれば、参照画像格納メモリの構成を第１のピクチャ符号化部５０３ａと第２のピクチャ符号化部５０３ｂ０〜５０３ｂ２とで共通にできる。
【０３１１】
なお、図示はしていないが、本実施の形態１４における符号化装置では、図６９、図７０の配列に従うビデオストリーム４２２ｃをバッファリングする仮想的なストリームバッファ（符号化ピクチャバッファ）と、復号画像４２７ａ、４２７ｂをバッファリングする仮想的なフレームメモリ（復号ピクチャバッファ）の存在を想定し、符号化ピクチャバッファのオーバーフロー・アンダーフローや、復号ピクチャバッファの破綻がないようにビデオストリーム４２２ｃを生成する。この制御は主として、符号化制御部１９で行う。これにより、復号装置において、ビデオストリーム４２２ｃを符号化ピクチャバッファと復号ピクチャバッファの動作（仮想バッファモデル）に従って復号する場合に、復号装置に破綻が生じないようにすることを保証する。仮想バッファモデルを以下に規定する。
【０３１２】
符号化ピクチャバッファの動作はアクセスユニット単位で行う。上述のとおり、共通復号処理を行う場合には１アクセスユニットには１ピクチャ分の符号化データが含まれ、独立復号処理を行う場合には１アクセスユニットには色成分数分のピクチャ（３成分ならば３ピクチャ分）の符号化データが含まれている。符号化ピクチャバッファについて規定される動作は、アクセスユニットの最初のビットと最後のビットが符号化ピクチャバッファに入力される時刻とアクセスユニットのビットが符号化ピクチャバッファから読み出される時刻である。なお符号化ピクチャバッファからの読み出しは瞬時に行われると規定し、アクセスユニットのすべてのビットが同じ時刻に符号化ピクチャバッファから読み出されることする。アクセスユニットのビットは符号化ピクチャバッファから読み出されると、上位ヘッダ解析部へ入力され、上述のとおり、第１のピクチャ復号部または第２のピクチャ復号部にて復号処理が行われ、アクセスユニット単位に束ねられたカラー映像フレームとして出力される。なお符号化ピクチャバッファからビットを読み出して、アクセスユニット単位のカラー映像フレームとして出力するまでの処理は、仮想バッファモデルの規定上は瞬時に行われるものとする。アクセスユニット単位に構成されたカラー映像フレームは復号ピクチャバッファへ入力され、復号ピクチャバッファからの出力時刻が算出される。復号ピクチャバッファからの出力時刻は、符号化ピクチャバッファからの読み出し時刻に所定の遅延時間を加えた値である。この遅延時間はビットストリームに多重して復号装置を制御することが可能である。遅延時間が０の場合、すなわち復号ピクチャバッファからの出力時刻が符号化ピクチャバッファからの読み出し時刻に等しい場合には、カラー映像フレームが復号ピクチャバッファへ入力されると同時に復号ピクチャバッファから出力される。それ以外の場合、すなわち復号ピクチャバッファからの出力時刻が符号化ピクチャバッファからの読み出し時刻より遅い場合、復号ピクチャバッファからの出力時刻になるまでカラー映像フレームは復号ピクチャバッファに保存される。上述のとおり、アクセスユニット単位に復号ピクチャバッファからの動作が規定される。
【０３１３】
図７５は、本実施の形態１４の復号装置の概略構成を示す説明図である。図７５において、共通復号処理は第1のピクチャ復号部６０３ａにおいて実行され、独立復号処理は色成分判定部６０２と第２のピクチャ復号部６０３ｂ０、６０３ｂ１、６０３ｂ２（３つの色成分分を用意）において実行される。
【０３１４】
ビデオストリーム４２２ｃは、上位ヘッダ解析部６１０でＮＡＬユニット単位に分割され、シーケンスパラメータセットやピクチャパラメータセットなどの上位ヘッダ情報は、そのまま復号して復号装置内の第１のピクチャ復号部６０３ａ、色成分判定部６０２、第２のピクチャ復号部６０３ｂ０〜６０３ｂ２が参照可能な所定のメモリエリアへ格納しておく。シーケンス単位に多重される共通符号化・独立符号化識別信号４２３（num_pictures_in_au）は、上位ヘッダ情報の一部として復号・保持される。
【０３１５】
復号されたnum_pictures_in_auはスイッチ（SW）６０１に供給され、スイッチ６０１はnum_pictures_in_au = 1ならば、ピクチャごとのスライスＮＡＬユニットを第１のピクチャ復号部６０３ａへ供給し、num_pictures_in_au = 3ならば、色成分判定部６０２に供給する。すなわち、num_pictures_in_au = 1ならば第１のピクチャ復号部６０３ａにより、共通復号処理が行われ、num_pictures_in_au = 3ならば３つの第２のピクチャ復号部６０３ｂ０〜６０３ｂ２により、独立復号処理が行われる。第１および第２のピクチャ復号部の詳細な動作は後述する。
【０３１６】
色成分判定部６０２は、図７０で示した色成分識別フラグの値により、スライスＮＡＬユニットが現在のアクセスユニット内のいずれの色成分ピクチャに相当するかを識別して、適切な第２のピクチャ復号部６０３ｂ０〜６０３ｂ２へ分配供給する。このような復号装置の構成によって、図７２のようにアクセスユニット内でスライスがインタリーブされて符号化されたビットストリームを受信しても、どのスライスがどの色成分ピクチャに属するかを容易に判別し正しく復号できる効果がある。
【０３１７】
第1のピクチャ復号部の動作概要
第１のピクチャ復号部６０３ａの内部構成を図７６に示す。第１のピクチャ復号部６０３ａは、図７１の符号化装置から出力される図６９、図７０の配列に従うビデオストリーム４４２ｃを、上位ヘッダ解析部６１０でＮＡＬユニット単位に分割した後、Ｃ０、Ｃ１、Ｃ２混在スライスの単位で受信して、図６６に示す３つの色成分のサンプルからなるマクロブロックを単位として復号処理を行い、出力映像フレームを復元する。
【０３１８】
可変長復号部２５はＮＡＬユニットに分割されたビデオストリーム４４２ｃを入力とし、所定の規則（シンタックス）に従ってビデオストリーム４４２ｃを解読して、３成分分の量子化済み変換係数１０、および３成分で共通して用いられるマクロブロックヘッダ情報（マクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３、変換ブロックサイズ指定フラグ４６４、量子化パラメータ２１）を抽出する。量子化済み変換係数１０は量子化パラメータ２１とともに、第１のピクチャ符号化部５０３ａと同じ処理を行う逆量子化部１２へ入力され、逆量子化処理が行われる。ついでその出力が第１のピクチャ符号化部５０３ａと同じ処理を行う逆変換部３１２へ入力され、局部復号予測差分信号１４へ復元される（変換ブロックサイズ指定フラグ４６４がビデオストリーム４２２ｃ中に存在すれば、それを逆量子化、逆変換処理過程で参照する）。一方、予測部４６１は、第１のピクチャ符号化部５０３ａ中の予測部４６１のうち、予測オーバヘッド情報４６３を参照して予測画像７を生成する処理だけが含まれ、予測部４６１に対してマクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３が入力され、３成分分の予測画像７を得る。マクロブロックタイプがイントラ予測であることを示す場合は、予測オーバヘッド情報４６３からイントラ予測モード情報に従って３成分分の予測画像７を得、マクロブロックタイプがインター予測であることを示す場合は、予測オーバヘッド情報４６３から動きベクトル、参照画像インデックスに従って３成分分の予測画像７を得る。局部復号予測差分信号１４と予測画像７は加算器１８により加算され、３成分分の暫定復号画像（局部復号画像）１５を得る。暫定復号画像１５は以降のマクロブロックの動き補償予測に用いられるため、第１のピクチャ符号化部５０３ａと同じ処理を行うデブロッキングフィルタ４６２で３成分分の暫定復号画像サンプルに対してブロックひずみ除去処理を実施した後、復号画像４２７ａとして出力されるとともに、メモリ１６ａへ格納される。この際、可変長復号部２５によって解読されたデブロッキングフィルタ制御フラグ２４の指示に基づいてデブロッキングフィルタ処理を暫定復号画像１５に対して作用させる。メモリ１６ａには、複数時刻に渡る、３つの色成分で構成される複数枚の参照画像データが格納され、予測部４６１では、これらの中からマクロブロックの単位でビットストリームから抽出した参照画像インデックスで示される参照画像を選択して予測画像生成を行う。メモリ１６ａ内の参照画像データの配置は、色成分ごとに面順次で分けて格納してもよいし、各色成分のサンプルを点順次で格納してもよい。復号画像４２７ａは３つの色成分を含み、そのまま共通復号処理におけるアクセスユニット４２７ａ０を構成するカラー映像フレームとなる。
【０３１９】
第２のピクチャ復号部の動作概要
第２のピクチャ復号部６０３ｂ０〜６０３ｂ２の内部構成を図７７に示す。第２のピクチャ復号部６０３ｂ０〜６０３ｂ２は、図７１の符号化装置から出力される図６９、図７０の配列に従うビデオストリーム４４２ｃが、上位ヘッダ解析部６１０でＮＡＬユニット単位に分割され、色成分判定部６０２で振り分けられたＣ０ないしは、Ｃ１ないしは、Ｃ２スライスＮＡＬユニット単位で受信して、図６７に示す単一色成分のサンプルからなるマクロブロックを単位として復号処理を行い、出力映像フレームを復元する。
【０３２０】
可変長復号部２５はビデオストリーム４２２ｃを入力とし、所定の規則（シンタックス）に従ってビデオストリーム４２２ｃを解読して、単一色成分の量子化済み変換係数１０、および単一色成分に適用するマクロブロックヘッダ情報（マクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３、変換ブロックサイズ指定フラグ４６４、量子化パラメータ２１）を抽出する。量子化済み変換係数１０は量子化パラメータ２１とともに第２のピクチャ符号化部５０３ｂ０（５０３ｂ１、５０３ｂ２）と同じ処理を行う逆量子化部１２へ入力され、逆量子化処理が行われる。ついでその出力が第２のピクチャ符号化部５０３ｂ０（５０３ｂ１、５０３ｂ２）と同じ処理を行う逆変換部３１２へ入力され、局部復号予測差分信号１４へ復元される（変換ブロックサイズ指定フラグ４６４がビデオストリーム４２２ｃ中に存在すれば、それを逆量子化、逆直交変換処理過程で参照する）。一方、予測部４６１は、第２のピクチャ符号化部５０３ｂ０（５０３ｂ１、５０３ｂ２）中の予測部４６１のうち、予測オーバヘッド情報４６３を参照して予測画像７を生成する処理だけが含まれ、予測部４６１に対してマクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３が入力され、単一色成分の予測画像７を得る。マクロブロックタイプがイントラ予測であることを示す場合は、予測オーバヘッド情報４６３からイントラ予測モード情報に従って単一色成分の予測画像７を得、マクロブロックタイプがインター予測であることを示す場合は、予測オーバヘッド情報４６３から動きベクトル、参照画像インデックスに従って単一色成分の予測画像７を得る。局部復号予測差分信号１４と予測画像７は加算器１８により加算され、単一色成分マクロブロックの暫定復号画像１５を得る。暫定復号画像１５は以降のマクロブロックの動き補償予測に用いられるため、第２のピクチャ符号化部５０３ｂ０（５０３ｂ１、５０３ｂ２）と同じ処理を行うデブロッキングフィルタ２６で単一色成分の暫定復号画像サンプルに対してブロックひずみ除去処理を実施した後、復号画像４２７ｂとして出力されるとともに、メモリ１６ｂへ格納される。この際、可変長復号部２５によって解読されたデブロッキングフィルタ制御フラグ２４の指示に基づいてデブロッキングフィルタ処理を暫定復号画像１５に対して作用させる。復号画像４２７ｂは単一色成分のサンプルのみを含み、図７５における他の並列処理される第２のピクチャ復号部６０３ｂ０〜６０３ｂ２のそれぞれの出力である復号画像４２７ｂをアクセスユニット４２７ｂ０の単位に束ねることで、カラー映像フレームとして構成される。
【０３２１】
以上のことから明らかなように、第１のピクチャ復号部６０３ａと第２のピクチャ復号部６０３ｂ０〜６０３ｂ２とは、マクロブロックヘッダ情報を３成分共通の情報として扱うか、単一の色成分の情報として扱うかの違いと、スライスデータのビットストリーム構成が異なるだけで、図７３や図７４における動き補償予測処理や逆変換、逆量子化などの基本的な復号処理ブロックの多くは第１のピクチャ復号部６０３ａと第２のピクチャ復号部６０３ｂ０〜６０３ｂ２とで共通の機能ブロックで実現できる。したがって、図７５のような完全に独立な復号処理部としてだけでなく、図７６や図７７の基本構成要素を適宜組み合わせて多様な復号装置の実装を実現することができる。また、第１のピクチャ復号部６０３ａにおけるメモリ１６ａの配置を面順次で持つことにすれば、メモリ１６ａ、メモリ１６ｂの構成を第１のピクチャ復号部６０３ａと第２のピクチャ復号部６０３ｂ０〜６０３ｂ２とで共通にできる。
【０３２２】
なお、図７５の復号装置は、図７１の符号化装置の別の形態として、共通符号化・独立符号化識別信号４２３を常に「独立符号化処理」に固定化して、第１のピクチャ符号化部５０３ａを一切使用せず全フレームを独立符号化するように構成された符号化装置から出力されるビットストリームを受信して復号することももちろん可能である。また、図７５の復号装置の別の形態として、常に共通符号化・独立符号化識別信号４２３が「独立符号化処理」に固定化されることを前提とする利用形態では、スイッチ６０１や第１のピクチャ復号部６０３ａを省略した独立復号処理を行うのみの復号装置として構成してもよい。
【０３２３】
なお共通符号化・独立符号化識別信号(num_pictures_in_au)は、共通符号化処理による符号化データと独立符号化処理による符号化データを区別する情報(共通符号化識別情報)と、１つのアクセスユニット内に何枚の単一色成分ピクチャが存在するかを示す情報(色成分の数)を含むようにしたが、上記２つの情報が独立な情報として符号化されていてもよい。
【０３２４】
さらに、第１のピクチャ復号部６０３ａに、従来のYUV４：２：０フォーマットを対象として３成分まとめて符号化されたAVCハイプロファイル準拠のビットストリームの復号機能を備えるようにし、上位ヘッダ解析部６１０において、ビデオストリーム４２２ｃから復号するプロファイル識別子を参照していずれのフォーマットで符号化されたビットストリームかを判定し、判定結果を共通符号化・独立符号化識別信号４２３の信号線の情報の一部としてスイッチ６０１と第１のピクチャ復号部６０３ａに伝える構成をとれば、従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する復号装置を構成することもできる。
【０３２５】
なお、本実施の形態１４における第１のピクチャ符号化部５０３ａでは、スライスデータに３つの色成分の情報が混在し、かつ３つの色成分に対してまったく同じイントラ・インター予測処理を実施するため、予測誤差信号空間で、色成分間での信号相関が残存することがある。これを除去する工夫として、例えば、予測誤差信号に対して、上記実施の形態１３で述べたような色空間変換処理を施すように構成してもよい。このような構成をもつ第１のピクチャ符号化部５０３ａの例を図７８、図７９に示す。図７８は、色空間変換処理を、変換処理を行う前の画素レベルで実施する例であり、色空間変換部４６５を変換部３１０の前に、逆色空間変換部４６６を逆変換部３１２の後に配置する。図７９は、色空間変換処理を、変換処理を行った後で得られた係数データに対して処理対象の周波数成分を適宜選択しながら実施する例であり、色空間変換部４６５を変換部３１０の後に、逆色空間変換部４６６を逆変換部３１２の前に配置する。色空間変換を施す周波数成分を限定することで、特定の色成分に含まれる高周波ノイズ成分がノイズをあまり含まない他の色成分に伝播することを抑制することができる効果がある。色空間変換処理の対象となる周波数成分を適応選択可能とする場合には、復号側で符号化時の選択を判断するためのシグナリング情報４６７をビットストリームに多重化する。
【０３２６】
色空間変換処理は、符号化対象の画像信号の性質に応じて上記実施の形態１３で述べたような複数の変換方式をマクロブロック単位に切り替えて使用するようにしてもよいし、マクロブロックの単位で変換有無を判定するように構成してもよい。選択可能な変換方式の種別をシーケンスレベルなどで指定しておき、それらの中からどれを選ぶかをピクチャ、スライス、マクロブロックなどの単位で指定するようにも構成できる。また、直交変換の前で実施するか、後で実施するかを選択可能なように構成してもよい。これらの適応符号化処理を行う場合は、選択可能なすべての選択肢について、符号化モード判定部５で符号化効率の評価を行ってもっとも符号化効率が高いものを選択するように構成することができる。これらの適応符号化処理を実施する場合は、復号側で符号化時の選択を判断するためのシグナリング情報４６７をビットストリームに多重化する。このようなシグナリングは、スライス、ピクチャ、GOP、シーケンスなどマクロブロックとは異なるレベルで指定してもよい。
【０３２７】
図７８、図７９の符号化装置に対応する復号装置を図８０、図８１に示す。図８０は、図７８の符号化装置によって、変換処理前に色空間変換が行われて符号化されたビットストリームを復号する復号装置である。可変長復号部２５はビットストリームから、逆色空間変換部４６６において変換を行うか行わないかを選択する変換有無の情報や、逆色空間変換部４６６において実行可能な変換方式を選択する情報であるシグナリング情報４６７を復号して、逆色空間変換部４６６へ供給する。図８０の復号装置は、逆色空間変換部４６６において、これらの情報に基づいて逆変換後の予測誤差信号に対する色空間変換処理を実施する。また、図８１は、図７９の符号化装置によって、変換処理後に処理対象の周波数成分を選択して色空間変換を行うことによって符号化されたビットストリームを復号する復号装置である。可変長復号部はビットストリームから、逆色空間変換部４６６において変換を行うか行わないかを選択する変換有無の情報や、逆色空間変換部において実行される変換方式を選択する情報や、色空間変換を施す周波数成分を特定する情報などを含む識別情報であるシグナリング情報４６７を復号して逆色空間変換部４６６に供給する。図８１の復号装置は、逆色空間変換部４６６において、これらの情報に基づいて逆量子化後の変換係数データに対し色空間変換処理を実施する。
【０３２８】
図８０、図８１の復号装置は、図７５の復号装置と同様、第１のピクチャ復号部６０３ａに、従来のYUV４：２：０フォーマットを対象として３成分まとめて符号化されたAVCハイプロファイル準拠のビットストリームの復号機能を備えるようにし、上位ヘッダ解析部６１０において、ビデオストリーム４２２ｃから復号するプロファイル識別子を参照していずれのフォーマットで符号化されたビットストリームかを判定し、判定結果を共通符号化・独立符号化識別信号４２３の信号線の情報の一部としてスイッチ６０１と第１のピクチャ復号部６０３ａに伝える構成をとれば、従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する復号装置を構成することもできる。
【０３２９】
図８２に従来のYUV４：２：０フォーマットのビットストリームに含まれるマクロブロックヘッダ情報の符号化データの構成を示す。図５０に示したCn成分ヘッダ情報と異なる点は、マクロブロックタイプがイントラ予測のときに、イントラ色差予測モード１４４の符号化データが含まれている点のみである。なおマクロブロックタイプがインター予測のときには、マクロブロックヘッダ情報の符号化データの構成は、図５０に示したCn成分ヘッダ情報と同じであるが、マクロブロックヘッダ情報に含まれる参照画像識別番号、動きベクトル情報を用いて輝度成分とは異なる方法で色差成分の動きベクトルが生成される。
【０３３０】
従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する復号装置の動作について説明する。上述のとおり、第１のピクチャ復号部６０３ａが従来のYUV４：２：０フォーマットのビットストリームの復号機能を備えるものとする。第１のピクチャ復号部の内部構成は図７６と同じである。
【０３３１】
従来のYUV４：２：０フォーマットのビットストリームの復号機能を備えた第１のピクチャ復号部の可変長復号部２５の動作を説明する。ビデオストリーム４２２ｃが可変長復号部へ入力されると、色差フォーマット指示フラグを復号する。色差フォーマット指示フラグはビデオストリーム４２２ｃのシーケンスパラメータヘッダに含まれ、入力映像フォーマットが４：４：４か、４：２：２か、４：２：０か、４：０：０かのいずれかのフォーマットを示すフラグである。ビデオストリーム４２２ｃのマクロブロックヘッダ情報の復号処理は色差フォーマット指示フラグの値によって切り替えられる。マクロブロックタイプがイントラ予測を示している場合で、色差フォーマット指示フラグが４：２：０または４：２：２を示している場合にはイントラ色差予測モード１４４をビットストリームから復号する。色差フォーマット指示フラグが４：４：４を示している場合にはイントラ色差予測モード１４４の復号をスキップする。色差フォーマット指示フラグが４：０：０を示している場合、入力映像信号は輝度信号のみで構成されるフォーマット(４：０：０フォーマット)であるため、イントラ色差予測モード１４４の復号をスキップする。イントラ色差予測モード１４４以外のマクロブロックヘッダ情報の復号処理は、従来のYUV４：２：０フォーマットのビットストリームの復号機能を備えていない第１のピクチャ復号部６０３ａの可変長復号部と同じである。以上によりビデオストリーム４２２ｃが可変長復号部２５へ入力されると、色差フォーマット指示フラグ（図示せず）、３成分分の量子化済み変換係数１０、マクロブロックヘッダ情報（マクロブロックタイプ／サブマクロブロックタイプ１０６、予測オーバヘッド情報４６３、変換ブロックサイズ指定フラグ４６４、量子化パラメータ２１）を抽出する。予測部４６１には、色差指示フォーマット指示フラグ（図示せず）と予測オーバヘッド情報４６３が入力され、３成分分の予測画像７を得る。
【０３３２】
図８３に従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する第１のピクチャ復号部の予測部４６１の内部構成を示し、その動作を説明する。
【０３３３】
切替部４６１１ａは、マクロブロックタイプを判別し、マクロブロックタイプがイントラ予測であることを示す場合は、切替部４６１１ｂにて色差フォーマット指示フラグの値を判別する。色差フォーマット指示フラグの値が、４：２：０または４：２：２のいずれかを示す場合には、予測オーバヘッド情報４６３からイントラ予測モード情報とイントラ色差予測モード情報に従って３成分分の予測画像７を得る。３成分のうち、輝度信号の予測画像は、イントラ予測モード情報に従って輝度信号イントラ予測部４６１２にて生成される。色差信号２成分の予測画像は、イントラ色差予測モード情報に従って、輝度成分とは異なる処理を行う色差信号イントラ予測部４６１３にて生成される。色差フォーマット指示フラグの値が、４：４：４を示す場合には、３成分すべての予測画像がイントラ予測モード情報に従って輝度信号イントラ予測部４６１２にて生成される。色差フォーマット指示フラグの値が、４：０：０を示す場合には、４：０：０フォーマットは輝度信号（１成分）のみで構成されるため、輝度信号の予測画像のみがイントラ予測モード情報に従って輝度信号イントラ予測部４６１２にて生成される。
【０３３４】
切替部４６１１ａにてマクロブロックタイプがインター予測であることを示す場合は、切替部４６１１ｃにて色差フォーマット指示フラグの値を判別する。色差フォーマット指示フラグの値が４：２：０または４：２：２のいずれかを示す場合には、輝度信号については、輝度信号インター予測部４６１４にて予測オーバヘッド情報４６３から動きベクトル、参照画像インデックスに従って、AVC規格が定める輝度信号の予測画像生成方法に従って予測画像が生成される。色差信号２成分の予測画像については、色差信号インター予測部４６１５にて、予測オーバヘッド情報４６３から得られる動きベクトルを色差フォーマットに基づいてスケーリングして色差動きベクトルを生成し、予測オーバヘッド情報４６３から得られる参照画像インデックスが指示する参照画像から、上記色差動きベクトルに基づいてAVC規格の定める方法に従って予測画像が生成される。色差フォーマット指示フラグの値が、４：０：０を示す場合には、４：０：０フォーマットは輝度信号（１成分）のみで構成されるため、輝度信号の予測画像のみが動きベクトル、参照画像インデックスに従って輝度信号インター予測部４６１４にて生成される。
【０３３５】
以上のように、従来のYUV４：２：０フォーマットの色差信号の予測画像を生成する手段を設け、ビットストリームから復号した色差フォーマット指示フラグの値に応じて３成分の予測画像の生成に用いる手段を切り替えるようにしたため、従来のYUV４：２：０フォーマットのビットストリームに対する互換性を確保する復号装置を構成することができる。
【０３３６】
なお、図８０、図８１の復号装置に供給するビデオストリーム４２２ｃに、図７５の復号装置のように色空間変換処理をサポートしない復号装置でも復号が可能であるビットストリームかどうかを示す情報をシーケンスパラメータセットなどの単位で付与しておけば、図８０、図８１と図７５いずれの復号装置でもそれぞれの復号性能に応じたビットストリームの復号が可能であり、ビットストリームの互換性を確保しやすい効果がある。
【０３３７】
実施の形態１５．
本実施の形態１５では、図７１や図７５など上記実施の形態１４の符号化装置・復号装置において、その入出力対象となるビットストリームの構成のみが異なる別の実施の形態について述べる。本実施の形態１５における符号化装置は、図８４に示すビットストリーム構成で符号化データの多重化を行う。
【０３３８】
図６９の構成のビットストリームにおいて、AUD  NALユニットは、その要素としてprimary_pic_typeという情報を含む。これは、AUD  NALユニットで始まるアクセスユニット内のピクチャデータが符号化される際のピクチャ符号化タイプの情報を図８５に示す。
【０３３９】
例えば、primary_pic_type = 0の場合は、ピクチャ内すべてがイントラ符号化されていることを示す。primary_pic_type = １の場合は、イントラ符号化されるスライスと、参照ピクチャリストを１つだけ使用して動き補償予測を行うことが可能なスライスとがピクチャ内で混在できることを示す。primary_pic_typeは１つのピクチャがどのような符号化モードを使用して符号化できるか、を規定する情報であるので、符号化装置側ではこの情報を操作することで、入力映像信号の性質やランダムアクセス機能などの種々の条件に適した符号化を行うことができる。上記実施の形態１４では、primary_pic_typeがアクセスユニットあたり１つだけしかないので、独立符号化処理を行う場合のアクセスユニットでは３つの色成分ピクチャでprimary_pic_typeは共通、とする。本実施の形態１５では、各色成分ピクチャの独立符号化を行う場合に、図６９のAUD  NALユニット内に、num_pictures_in_auの値に応じて、追加で残り２つの色成分ピクチャ分のprimary_pic_typeを挿入するか、図８４のビットストリーム構成のように、各色成分ピクチャの符号化データを、色成分ピクチャの開始を示すNALユニット（Color  Channel  Delimiter）から開始するように構成し、このCCD  NALユニット中に、対応するピクチャのprimary_pic_type情報を含むように構成する。この構成では、各色成分ピクチャの符号化データは１ピクチャ分まとめて多重されるので、上記実施の形態１４で述べた色成分識別フラグ（color_channel_idc）はスライスヘッダではなく、CCD  NALユニットに含めるようにする。これにより、各スライスへの多重が必要であった色成分識別フラグの情報をピクチャ単位のデータに集約できるので、オーバヘッド情報を削減できる効果がある。また、バイト列として構成されるCCD  NALユニットを検出してcolor_channel_idcを色成分ピクチャあたり１度だけ検証すればよく、可変長復号処理を行うことなく色成分ピクチャの先頭をすばやく見つけることができるので、復号装置側で、色成分ごとに復号対象のNALユニットを分離するためにスライスヘッダ中のcolor_channel_idcを逐一検証しなくてもよくなり、第２のピクチャ復号部へのデータ供給を円滑に行うことができる。
【０３４０】
一方で、このような構成では、上記実施の形態１４の図７２で述べたような、符号化装置のバッファサイズ、処理遅延を低減する効果が薄れるため、色成分識別フラグはスライス単位に多重するか、色成分ピクチャ単位に多重するかをより上位のレベル（シーケンスやGOP）でシグナリングするように構成してもよい。このようなビットストリーム構成をとることで、符号化装置はその利用形態に応じて柔軟な実装を行うことが可能となる。
【０３４１】
さらに別の実施の形態として、図８６に示すビットストリーム構成で符号化データの多重化を行ってもよい。図８６において、図８４ではCCD  NALユニットに含むようにした  color_channel_idc, primary_pic_typeは各AUDに含むようにする。本実施の形態１５におけるビットストリーム構成では、独立符号化処理の場合にも、１つのアクセスユニットに１つの（色成分）ピクチャが含まれるように構成する。このような構成でも、色成分識別フラグの情報をピクチャ単位のデータに集約できることによるオーバヘッド情報の削減効果、また、バイト列として構成されるAUD  NALユニットを検出してcolor_channel_idcをピクチャあたり１度だけ検証すればよく、可変長復号処理を行うことなく色成分ピクチャの先頭をすばやく見つけることができるので、復号装置側で、色成分ごとに復号対象のNALユニットを分離するためにスライスヘッダ中のcolor_channel_idcを逐一検証することなく第２のピクチャ復号部へのデータ供給を円滑に行うことができる。一方、１フレームないしは１フィールドの画像は３つのアクセスユニットから構成されるため、３つのアクセスユニットが同一時刻の画像データであることを指定する必要がある。このため、図８６のビットストリーム構成では、さらにAUDの中に、各ピクチャのシーケンス番号（時間方向の符号化・復号順序等）を付与するように構成することもできる。このような構成によって、復号装置側では各ピクチャの復号・表示順や色成分属性、IDRの是非などを、スライスデータを一切復号することなく検証可能となり、ビットストリームレベルの編集や特殊再生を効率よく行うことが可能となる。
【０３４２】
また、図６９、８４ないしは図８６のビットストリーム構成において、AUDやCCDの領域に、ひとつの色成分ピクチャに含まれるスライスNALユニットの個数を指定する情報を格納するように構成してもよい。
【０３４３】
なお、上記すべての実施例について、変換処理、逆変換処理は、DCTのように直交性を保証する変換でもよいし、AVCのような、厳密にはDCTのような直交変換でなく、量子化・逆量子化処理と組み合わせて直交性を近似する変換であってもよい。また、変換を行わずに、予測誤差信号を画素レベルの情報として符号化するような構成であってもよい。
【産業上の利用可能性】
【０３４４】
本発明は、画像圧縮符号化技術や圧縮画像データ伝送技術等に用いられるデジタル画像信号符号化装置、デジタル画像信号復号装置に適用することが可能である。
【符号の説明】
【０３４５】
１  入力映像信号、２  空間予測部、３  減算器、４  予測差分信号、５  符号化モード判定部、６  符号化モード、７  予測画像、８  直交変換部、９  量子化部、１０  量子化済み変換係数、１１  可変長符号化部、１１ａ  コンテクストモデル決定部、１１ｂ  二値化部、１１ｃ  生起確率生成部、１１ｄ  符号化部、１１ｅ  符号化値、１１ｆ  コンテクストモデル、１１ｇ  生起確率情報記憶メモリ、１１ｈ  生起確率状態、１２  逆量子化部、１３  逆直交変換部、１４  局部復号予測差分信号、１５  局部復号画像（暫定復号画像）、１６  メモリ、１７  送信バッファ、１８  加算器、１９  符号化制御部、２０  重み係数、２１  量子化パラメータ、２２  ビデオストリーム、２３  イントラ予測モード共通化識別フラグ、２４  デブロッキングフィルタ制御フラグ、２５  可変長復号部、２５ａ  復号部、２５ｂ  bin復元値、２６  デブロッキングフィルタ、２７  復号画像、２８  イントラ符号化モード、２９  基本イントラ予測モード、３０  拡張イントラ予測モード、３１  拡張イントラ予測モードテーブル指示フラグ、３２  変換ブロックサイズ識別フラグ、３３  イントラ符号化モード共通化識別フラグ、３４  イントラ符号化モード、３５  イントラ予測モード、３６  イントラ予測モード指示フラグ、１０２  動き補償予測部、１０６  マクロブロックタイプ／サブマクロブロックタイプ、１２３  インター予測モード共通化識別フラグ、１２３ｂ  動きベクトル共通化識別フラグ、１２３ｃ  マクロブロックヘッダ共通化識別フラグ、１２８  基本マクロブロックタイプ、１２８ｂ  マクロブロックタイプ、１２９  基本サブマクロブロックタイプ、１２９ｂ  サブマクロブロックタイプ、１３０  拡張マクロブロックタイプ、１３１  拡張サブマクロブロックタイプ、１３２  基本参照画像識別番号、１３２ｂ  参照画像識別番号、１３３  基本動きベクトル情報、１３４  拡張参照画像識別番号、１３５  拡張動きベクトル情報、１３６  プロファイル情報、１３７  動きベクトル、１３８、１３８ａ、１３８ｂ、１３８ｃ  スキップ指示情報、１３９ａ、１３９ｂ、１３９ｃ  ヘッダ情報、１４０ａ、１４０ｂ、１４０ｃ  変換係数データ、１４１  イントラ予測モード、１４２  変換係数有効無効指示情報、１４３  生起確率状態パラメータ共通化識別フラグ、１４４  イントラ色差予測モード、１１１  動きベクトル予測部、１１２  差分動きベクトル算出部、１１３  差分動きベクトル可変長符号化部、２５０  動きベクトル復号部、２５１  差分動きベクトル可変長復号部、２５２  動きベクトル予測部、２５３  動きベクトル算出部、３０１  色空間変換部、３０２  変換映像信号、３０３  符号化装置、３０４  色空間変換方法識別情報、３０５  ビットストリーム、３０６  復号装置、３０７  復号画像、３０８  逆色空間変換部、３１０  変換部、３１１  色空間変換方法識別情報、３１２  逆変換部、４２２ａ、４２２ｂ０、４２２ｂ１、４２２ｂ２、４２２ｃ  ビデオストリーム、４２３  共通符号化・独立符号化識別信号、４２７ａ、４２７ｂ  復号画像、４６１  予測部、４６２  デブロッキングフィルタ、４６３  予測オーバヘッド情報、４６４  変換ブロックサイズ指定フラグ、４６５  色空間変換部、４６６  逆色空間変換部��４６７  シグナリング情報、５０１、６０１  スイッチ  ５０２  色成分分離部、５０３ａ  第１のピクチャ符号化部、５０３ｂ０、５０３ｂ１、５０３ｂ２  第２のピクチャ符号化部、５０４  多重化部、６０２  色成分判定部、６０３ａ  第１のピクチャ復号部、６０３ｂ０、６０３ｂ１、６０３ｂ２  第２のピクチャ復号部、６１０  上位ヘッダ解析部、４６１１ａ、４６１１ｂ、４６１１ｃ  切替部、４６１２  輝度信号イントラ予測部、４６１３  色差信号イントラ予測部、４６１４  輝度信号インター予測部、４６１５  色差信号インター予測部。
【図１】
2010110006.tif 000003
【図２】
2010110006.tif 000004
【図３】
2010110006.tif 000005
【図４】
2010110006.tif 000006
【図５】
2010110006.tif 000007
【図６】
2010110006.tif 000008
【図７】
2010110006.tif 000009
【図８】
2010110006.tif 000010
【図９】
2010110006.tif 000011
【図１０】
2010110006.tif 000012
【図１１】
2010110006.tif 000013
【図１２】
2010110006.tif 000014
【図１３】
2010110006.tif 000015
【図１４】
2010110006.tif 000016
【図１５】
2010110006.tif 000017
【図１６】
2010110006.tif 000018
【図１７】
2010110006.tif 000019
【図１８】
2010110006.tif 000020
【図１９】
2010110006.tif 000021
【図２０】
2010110006.tif 000022
【図２１】
2010110006.tif 000023
【図２２】
2010110006.tif 000024
【図２３】
2010110006.tif 000025
【図２４】
2010110006.tif 000026
【図２５】
2010110006.tif 000027
【図２６】
2010110006.tif 000028
【図２７】
2010110006.tif 000029
【図２８】
2010110006.tif 000030
【図２９】
2010110006.tif 000031
【図３０】
2010110006.tif 000032
【図３１】
2010110006.tif 000033
【図３２】
2010110006.tif 000034
【図３３】
2010110006.tif 000035
【図３４】
2010110006.tif 000036
【図３５】
2010110006.tif 000037
【図３６】
2010110006.tif 000038
【図３７】
2010110006.tif 000039
【図３８】
2010110006.tif 000040
【図３９】
2010110006.tif 000041
【図４０】
2010110006.tif 000042
【図４１】
2010110006.tif 000043
【図４２】
2010110006.tif 000044
【図４３】
2010110006.tif 000045
【図４４】
2010110006.tif 000046
【図４５】
2010110006.tif 000047
【図４６】
2010110006.tif 000048
【図４７】
2010110006.tif 000049
【図４８】
2010110006.tif 000050
【図４９】
2010110006.tif 000051
【図５０】
2010110006.tif 000052
【図５１】
2010110006.tif 000053
【図５２】
2010110006.tif 000054
【図５３】
2010110006.tif 000055
【図５４】
2010110006.tif 000056
【図５５】
2010110006.tif 000057
【図５６】
2010110006.tif 000058
【図５７】
2010110006.tif 000059
【図５８】
2010110006.tif 000060
【図５９】
2010110006.tif 000061
【図６０】
2010110006.tif 000062
【図６１】
2010110006.tif 000063
【図６２】
2010110006.tif 000064
【図６３】
2010110006.tif 000065
【図６４】
2010110006.tif 000066
【図６５】
2010110006.tif 000067
【図６６】
2010110006.tif 000068
【図６７】
2010110006.tif 000069
【図６８】
2010110006.tif 000070
【図６９】
2010110006.tif 000071
【図７０】
2010110006.tif 000072
【図７１】
2010110006.tif 000073
【図７２】
2010110006.tif 000074
【図７３】
2010110006.tif 000075
【図７４】
2010110006.tif 000076
【図７５】
2010110006.tif 000077
【図７６】
2010110006.tif 000078
【図７７】
2010110006.tif 000079
【図７８】
2010110006.tif 000080
【図７９】
2010110006.tif 000081
【図８０】
2010110006.tif 000082
【図８１】
2010110006.tif 000083
【図８２】
2010110006.tif 000084
【図８３】
2010110006.tif 000085
【図８４】
2010110006.tif 000086
【図８５】
2010110006.tif 000087
【図８６】
2010110006.tif 000088