(57)【要約】  画像符号化方法は、１画面に対応する入力画像信号を複数の画素ブロック信号に分割するステップと、予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って予測画素を外挿する画面内予測を行い、予測画像信号と予測モード情報を生成する予測信号生成ステップと、画素ブロック信号と前記予測画像信号とから予測誤差信号を計算するステップと、予測誤差信号を用いて１つの予測モードを選択する予測モード選択ステップと、選択予測モードに基づく予測誤差信号を用いて符号化を行う符号化ステップとを含む。
2007063808.tif 000002
【特許請求の範囲】
【請求項１】
１画面に対応する入力画像信号を複数の画素ブロック信号に分割するステップと、
予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って前記予測画素を外挿する画面内予測を行い、予測画像信号と予測モード情報を生成する予測信号生成ステップと、
前記画素ブロック信号と前記予測画像信号とから予測誤差信号を計算するステップと、
前記予測誤差信号を用いて１つの予測モードを選択する予測モード選択ステップと、
前記選択されている予測モードに基づく予測誤差信号を用いて符号化を行う符号化ステップと、
を含む、画像符号化方法。
【請求項２】
予測信号生成ステップにおいて、 予測画素と符号化済み参照画素との距離が大きいほど多くの数の参照画素を用いて予測画素を外挿する、請求項１記載の画像符号化方法。
【請求項３】
予測モード毎に対応する予測画素ブロック信号のブロックサイズを特定の画素ブロックサイズ内で切り替えるブロックサイズ選択ステップを含む、請求項１又は２記載の画像符号化方法。 
【請求項４】
予測モード情報を符号化するか、符号化しないかを特定の画素ブロックサイズ内で切り替えるモード情報選択ステップを含む、請求項１又は２記載の画像符号化方法。
【請求項５】
予測信号生成ステップにおいて、参照画素と予測画素との距離に従って、予測に用いるフィルタ係数の重み付けテーブルを変更するステップを含む、請求項１乃至４のいずれか１記載の画像符号化方法。
【請求項６】
符号化ステップにおいて、予測誤差信号を変換係数に変換し、量子化することによって変換係数データを生成する変換量子化ステップを含む、請求項１乃至４のいずれか１記載の画像符号化方法。 
【請求項７】
予測信号生成ステップにおいて、画素単位で外挿を行う際に、外挿予測済み予測画像信号を利用するか、利用しないか、を適応的に切り替えるステップを含む、請求項１乃至４のいずれか１記載の画像符号化方法。
【請求項８】
予測信号生成ステップにおいて、画素単位で外挿を行う際、符号化済み参照画像を利用するか、利用しないか、を適応的に切り替えるステップを含む、請求項１乃至４のいずれか１記載の画像符号化方法。
【請求項９】
予測信号生成ステップにおいて、画素単位で外挿を行う際、シーケンス毎、ピクチャ毎、もしくはスライス毎に予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って予測画素を外挿する画面内予測を行うか、行わないかを切り替えるステップを含むことを特徴とする、請求項１乃至４のいずれか１記載の画像符号化方法。
【請求項１０】
画素ブロック信号の量子化ブロックサイズに応じて予測モードを切り替えるステップを含むことを特徴とする、請求項１乃至４及び６のいずれか１記載の画像符号化方法。
【請求項１１】
入力画像信号の解像度が高いか、或いは低いか、に応じて予測モードを切り替えるステップを含むことを特徴とする、請求項１乃至４のいずれか１記載の画像符号化方法。
【請求項１２】
予測モード選択ステップにおいて、選択されている予測モードに基づく予測誤差信号を符号化するときの符号量を算出する符号量算出ステップと、選択されている予測モードに基づく予測誤差信号を局所復号して局所復号画像を生成し，入力画像信号との差を表す符号化歪みを算出する符号化歪み算出ステップとを含む、請求項１乃至４及び６のいずれか１記載の画像符号化方法。
【請求項１３】
予測信号生成ステップにおいて、画素単位で外挿を行う際、予測モードで定められた予測方向に従って予測画素生成順を変更し、符号化済みの参照画素とともに、外挿済み予測画素を一時メモリに保存し、次の予測を行う際に利用するステップを含む、請求項１乃至４及び６のいずれか１記載の画像符号化方法。
【請求項１４】
予測モード情報を含む復号化画像信号を生成するため入力符号化画像信号を復号するステップと、
復号化画像信号の予測モード情報に基づき選択予測モードに従って符号化済み参照画素と予測画素との距離に応じて予測に用いる参照画素の数及び予測画素生成順を変更するステップと、
画素単位で外挿を行う画面内予測を行うことによって予測画像信号を生成する予測信号生成ステップと、
前記復号化画像信号を基に予測誤差信号を生成する予測誤差信号生成ステップと、
予測画像信号と予測誤差信号を加算して、復号画像を生成する復号画像生成ステップと、
を含む、画像復号化方法。
【請求項１５】
予測モード毎に対応する予測画素ブロックのサイズを特定の画素ブロックサイズ内で切り替えるブロックサイズ選択ステップを含む、請求項１４記載の画像復号化方法。
【請求項１６】
予測モードの予測を行い、予測されている予測モード情報を復号するか、復号しないか、を特定の画素ブロックサイズ内で切り替えるモード情報選択ステップを含む、請求項１４記載の画像復号化方法。
【請求項１７】
予測信号生成ステップは、画素単位で外挿を行う画面内予測を行う際、参照画素と予測画素の距離に従って、予測に用いるフィルタの重み付けテーブルを変更するステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項１８】
予測誤差信号生成ステップは、復号されている係数を基に逆量子化処理を行い、逆量子化されている変換係数に対して逆変換処理を行って、予測誤差信号を生成する逆量子化逆変換ステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項１９】
予測信号生成ステップは、予測済み予測画像信号を利用するか、利用しないか、と適応的に切り替えるステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項２０】
予測信号生成ステップは、復号化済み参照画像を利用するか、利用しないか、を適応的に切り替えるステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項２１】
予測信号生成ステップは、シーケンス毎、ピクチャ毎、もしくはスライス毎に請求項１３記載の画面内予測を行うか、行わないか、を切り替えるステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項２２】
画像ブロック信号の量子化パラメータの値が大きいか、或いは小さいか、に応じて予測モードを切り替えるステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項２３】
入力画像信号の解像度が高いか、或いは低いか、に応じて予測モードを切り替えるステップを含む、請求項１４，１５又は１６記載の画像復号化方法。
【請求項２４】
予測信号生成ステップは、画素単位で外挿を行う際、予測モードで定められた予測方向に従って予測画素生成順を変更し、予測済み予測画素を一時メモリに保存し、次の予測を行う際に利用するステップを含む、１４，１５又は１６記載の画像復号化方法。
【請求項２５】
１画面に対応する入力画像信号を複数の画素ブロック信号に分割する画面分割部と、
予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って前記予測画素を外挿する画面内予測を行い、予測画像信号と予測モード情報を生成する予測信号生成部と、
前記画素ブロック信号と前記予測画像信号とから予測誤差信号を計算し、前記予測誤差信号を用いて１つの予測モードを選択する予測モード選択部と、
前記選択されている予測モードに基づく予測誤差信号を用いて符号化を行う符号化部と、
を具備する、画像符号化装置。
【請求項２６】
入力符号化画像信号を復号する復号部と、
復号化画像信号の予測モード情報に基づき選択予測モードに従って符号化済み参照画素と予測画素との距離に応じて予測に用いる参照画素の数及び予測画素生成順を変更し、画素単位で外挿を行う画面内予測を行うことによって予測画像信号を生成する予測信号生成部と、
前記復号化画像信号を基に予測誤差信号を生成する予測誤差信号生成部と、
予測画像信号と予測誤差信号を加算して、復号画像を生成する復号画像生成部と、
を具備する、画像復号化装置。
【請求項２７】
１画面に対応する入力画像信号を複数の画素ブロック信号に分割する命令と、
予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って前記予測画素を外挿する画面内予測を行い、予測画像信号と予測モード情報を生成する命令と、
前記画素ブロック信号と前記予測画像信号とから予測誤差信号を計算する命令と、
この予測誤差信号を用いて１つの予測モードを選択する命令と、
前記選択されている予測モードに基づく予測誤差信号を用いて符号化を行う命令と、
をコンピュータに実行させる画像符号化プログラム。
【請求項２８】
入力符号化画像信号を復号する命令と、
復号化画像信号の予測モード情報に基づき選択予測モードに従って符号化済み参照画素と予測画素との距離に応じて予測に用いる参照画素の数及び予測画素生成順を変更する命令と、
画素単位で外挿を行う画面内予測を行うことによって予測画像信号を生成する命令と、
前記復号化画像信号を基に予測誤差信号を生成する命令と、
予測画像信号と予測誤差信号を加算して、復号画像を生成する命令と、
をコンピュータに実行させる画像復号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像または静止画像のための画像符号化方法及び画像復号化方法及び画像符号化装置及び画像復号化装置に関する。
【背景技術】
【０００２】
近年、従来より大幅に符号化効率を向上させた動画像符号化方法が、ＩＴＵ−ＴとＩＳＯ／ＩＥＣとの共同で、ＩＴＵ−ＴＲｅｃ．Ｈ．２６４及びＩＳＯ／ＩＥＣ１４４９６−１０(以下、「Ｈ．２６４」という)として勧告されている。ＩＳＯ／ＩＥＣＭＰＥＧ−１，２，４、ＩＴＵ−ＴＨ．２６１、Ｈ．２６３といった従来の符号化方式は直交変換後の周波数領域（DCT係数）上でのフレーム内予測を行い，変換係数の符号量削減を図っているのに対して、Ｈ．２６４は空間領域（画素領域）での方向予測（非特許文献１）を取り入れることにより，従来（ＩＳＯ／ＩＥＣＭＰＥＧ−１，２，４）の動画像符号化方式のフレーム内予測と比較して高い予測効率を実現している。【０００３】
Ｈ．２６４ハイプロファイルなどでは、輝度信号に対して３種類のフレーム内予測方式が規定されており、そのうちの１つをマクロブロック（１６ｘ１６画素ブロック）単位に選択できる方式となっている。予測方式はそれぞれ４ｘ４画素予測、８ｘ８画素予測、１６ｘ１６画素予測と呼ばれている。【０００４】
１６ｘ１６画素予測では、４つの符号化モードが規定されており、垂直予測、水平予測、ＤＣ予測、平面予測と呼ばれている。復号処理を終えたデブロッキングフィルタ適用前の周囲のマクロブロックの画素値を参照画素値として用い、予測処理に使用する。【０００５】
４ｘ４画素予測は、マクロブロック内の輝度信号を１６個の４ｘ４画素ブロックに分割し、それぞれの４ｘ４画素ブロックに対して、９つのモードのいずれかをブロック単位に選択する。９つのモードは、利用可能な参照画素の平均値で予測するＤＣ予測（モード２）を除いて、それぞれ２２．５度づつの予測方向を持っており、参照画素を用いて予測方向に外挿補間を行って予測値を生成する。４ｘ４画素予測のモード情報は１つのマクロブロック当たり１６個必要になる。４ｘ４画素予測は予測処理の単位が小さいために、複雑なテクスチャを持つ画像に対しても比較的効率の高い予測が行えるが、予測方向に対して単純に補間値をコピーするだけの予測であり、参照画素からの距離が離れるほど、予測誤差が増大するという問題点がある。【０００６】
８ｘ８画素予測は、マクロブロック内の輝度信号を４個の８ｘ８画素ブロックに分割し、それぞれの８ｘ８画素ブロックに対して９つのモードのいずれかをブロック単位に選択する。予測モードは、４ｘ４画素予測と同じ枠組みで設計されているが、既に符号化済みの参照画素に対して３タップのフィルタリングを行い、予測に用いる参照画素の平坦化を行うことで符号化歪みを平均化する処理が含まれている。しかし、４ｘ４画素予測と同様、参照画素から距離が離れるに従って、予測値が当たらなくなる問題がある。特に参照画素からの距離が４ｘ４画素予測より遠くなるため、複雑なテクスチャを持つ画像では予測精度が期待できないという問題がある。【０００７】
８ｘ８画素予測は、Ｈ．２６４ハイプロファイルにのみ規定されている予測単位であり、特に高解像度画像での符号化効率向上のために導入されている。４ｘ４画素予測では、４ｘ４画素変換量子化ブロックサイズが適用され、８ｘ８画素予測では８ｘ８画素変換量子化ブロックサイズが適用される。つまり、予測ブロック形状によって変換量子化ブロックサイズが規定されている。予測ブロック形状は、メインプロファイルとハイプロファイルの互換性を考慮したため、マクロブロック内で４ｘ４画素予測と８ｘ８画素予測を混在することが規格上出来ない構造となっている。【０００８】
Ｈ．２６４の４ｘ４画素予測又は８ｘ８画素予測ではモード情報の符号量を削減するために、隣接ブロックのモード情報の相関の高さを利用して、モード情報の予測を行うことで符号量の削減を行っている。モード情報の予測が当たった時は１ビットのフラグを符号化し、予測が当たらなかった時にはさらに３ビットのデータを符号化することで、モード情報の符号量を削減している。しかし、マクロブロック内で誤差信号がほとんど発生しない時に、４ｘ４画素予測が選択されている場合、最低でも１６ビット（最大６４ビット）を符号化しなければならず、符号化効率が大幅に低下することがある。【０００９】
特開２００５−１５９９４７は、フレーム内予測方法の予測効率を向上させる手法として、画面内でのブロックマッチングを行い、符号化済みの参照画像から予測ブロックの予測値を補填して予測を行う方式を提案している。この方式は画面内の既に符号化済みの任意のブロックの画像と予測対象とするブロックの画像とが似ていることを前提にした予測方法であり、画面内の相関が低い時に予測精度が悪いという問題がある。また、予測に用いる参照画像の位置を示す、位置ずれ量を符号化せねばならず、モード情報の符号量が増加する場合がある。
【発明の開示】
【００１０】
以上説明したように、Ｈ．２６４ハイプロファイルに規定されている方法で、符号化済みの参照画像から予測モードに応じた補間画素を生成し、予測モードで規定されている方向に対して補間画素をコピーして予測画像信号を生成する場合、予測方向に対して距離が離れた予測画素ほど予測誤差が増大する、マクロブロック内で予測ブロック形状の混在が出来ない、モード情報の符号量を削減できない、という問題があった。
【００１１】
本発明の形態は、１画面に対応する入力画像信号を複数の画素ブロック信号に分割するステップと、予測画素と符号化済み参照画素との距離に応じて変更される数の参照画素を用いて複数の予測モード毎に規定されている方向に従って前記予測画素を外挿する画面内予測を行い、予測画像信号と予測モード情報を生成する予測信号生成ステップと、前記画素ブロック信号と前記予測画像信号とから予測誤差信号を計算するステップと、前記予測誤差信号を用いて１つの予測モードを選択する予測モード選択ステップと、前記選択されている予測モードに基づく予測誤差信号を用いて符号化を行う符号化ステップと、を含む、画像符号化方法を提供する。
【００１２】
本発明の第２の形態は、予測モード情報を含む復号化画像信号を生成するため入力符号化画像信号を復号するステップと、復号化画像信号の予測モード情報に基づき選択予測モードに従って符号化済み参照画素と予測画素との距離に応じて予測に用いる参照画素の数及び予測画素生成順を変更するステップと、画素単位で外挿を行う画面内予測を行うことによって予測画像信号を生成する予測信号生成ステップと、前記復号化画像信号を基に予測誤差信号を生成する予測誤差信号生成ステップと、予測画像信号と予測誤差信号を加算して、復号画像を生成する復号画像生成ステップと、を含む画像復号化方法を提供する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１の実施形態に従う動画像符号化装置の構成を示すブロック図である。
【図２】図２は、同実施形態に従うフレーム内予測部の構成を示すブロック図である。
【図３】図３は、同実施形態に従う画像符号化装置のフローチャートである。
【図４Ａ】図４Ａは、同実施形態に係わる予測順序の概略を示す図である。
【図４Ｂ】図４Ｂは、同実施形態に係わるブロック形状の概略を示す図である。
【図４Ｃ】図４Ｃは、同実施形態に係わるブロック形状の概略を示す図である。
【図４Ｄ】図４Ｄは、同実施形態に係わるブロック形状の概略を示す図である。
【図４Ｅ】図４Ｅは、同実施形態に係わるブロック形状の概略を示す図である。
【図５Ａ】図５Ａは、同実施形態に係わる方向予測を示す図である。
【図５Ｂ】図５Ｂは、同実施形態に係わる方向予測における予測ブロックと参照画像の関係を示す図である。
【図５Ｃ】図５Ｃは、同実施形態に係わる予測方法を示す図である。
【図５Ｄ】図５Ｄは、同実施形態に係わる予測方法を示す図である。
【図６Ａ】図６Ａは、同実施形態に係わる画素適応予測における予測ブロックと参照画像の関係を示す図である。
【図６Ｂ】図６Ｂは、同実施形態に係わる画素適応垂直予測を示す図である。
【図６Ｃ】図６Ｃは、同実施形態に係わる画素適応予測を示す図である。
【図７】図７は、同実施形態に係わる画素適応垂直予測時に利用される参照画像の数とフィルタ係数の重み付けテーブルを示す図である。
【図８】図８は、同実施形態に係わる予測モードの予測に利用される隣接ブロックを示す図である。
【図９】図９は、同実施形態に係わる方向予測と画素適応予測のモード名称を示す図である。
【図１０】図１０は、本発明の第２の実施形態に係わる動画像符号化装置の構成を示す図である。
【図１１】図１１は、同実施形態に従うフレーム内予測部の構成を示すブロック図である。
【図１２】図１２は、同実施形態に従う画像符号化装置のフローチャートである。
【図１３】図１３は、同実施形態に従うシンタクス構造の概略図である。
【図１４】図１４は、同実施形態に従うシーケンスパラメータセットシンタクスのデータ構造を示す図である。
【図１５】図１５は、同実施形態に従うピクチャパラメータセットシンタクスのデータ構造を示す図である。
【図１６】図１６は、同実施形態に従うスライスヘッダシンタクスのデータ構造を示す図である。
【図１７】図１７は、同実施形態に従うマクロブロックレイヤーシンタクスのデータ構造を示す図である。
【図１８】図１８は、同実施形態に従うシーケンスパラメータセットシンタクスのデータ構造を示す図である。
【図１９】図１９は、同実施形態に従うピクチャパラメータセットシンタクスのデータ構造を示す図である。
【図２０】図２０は、同実施形態に従うスライスヘッダシンタクスのデータ構造を示す図である。
【図２１Ａ】図２１Ａは、同実施形態に従うマクロブロックレイヤーシンタクスのデータ構造を示す図である。
【図２１Ｂ】図２１Ｂは、同実施形態に従うマクロブロックプレディクションシンタクスのデータ構造を示す図である。
【図２２】図２２は、本発明の第３の実施形態に従う動画像符号化装置の構成を示すブロック図である。
【図２３】図２３は、同実施形態に従うシーケンスパラメータセットシンタクスのデータ構造を示す図である。
【図２４】図２４は、同実施形態に従うピクチャパラメータセットシンタクスのデータ構造を示す図である。
【図２５】図２５は、同実施形態に従うスライスヘッダシンタクスのデータ構造を示す図である。
【図２６】図２６は、同実施形態に従うマクロブロックレイヤーシンタクスのデータ構造を示す図である。
【図２７】図２７は、同実施形態に従うｍｂ＿ｔｙｐｅのデータ構造を示す図である。
【図２８Ａ】図２８Ａは、同実施形態に従うブロックサイズ切替のデータ構造を示す図である。
【図２８Ｂ】図２８Ｂは、同実施形態に従うブロックサイズ切替のデータ構造を示す図である。
【図２９】図２９は、本発明の第４の実施形態に従う動画像復号化装置の構成を示すブロック図である。
【図３０】図３０は、同実施形態に従う動画像復号化装置内のフレーム内予測部を示すブロック図である。
【図３１】図３１は、本発明の第５の実施形態に従う動画像復号化装置の構成を示すブロック図である。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明に係る動画像符号化方法及び動画像符号化装置、動画像復号化方法及び動画像復号化装置の最良な実施形態を詳細に説明する。【００１５】
（第１の実施の形態）
図１に示す動画像符号化装置１００は、動画像信号を複数の小画素ブロックに分割して符号化するように構成される。この動画像符号化装置１００には、ブロックサイズや予測画像信号の生成方法が異なる複数のフレーム予測モードが用意されている。フレーム内予測は、フレーム内で予測が閉じている予測方式であり、既に符号化済みの参照画素を利用して予測対象ブロックを予測する。本実施の形態では、図４Ａに示されているように左上から右下に向かって符号化処理がなされていくものとする。【００１６】
動画像符号化装置１００に入力されている動画像信号は、画面分割部１０１によって入力画像信号１１５として複数の小画素ブロックに分割される。分割されている入力画像信号１１５の一部がフレーム内予測部１０２へと入力され、モード選択部１０３、変換及び量子化部１０７を介して、最終的に符号化処理部１０７によって符号化され、符号化データ１１３として出力される。【００１７】
画面分割部１０１は、各画素ブロックが図４（ｂ）に示される１６ｘ１６画素のブロックになる目的で動画像信号を複数の画素ブロックに分割する。この１６ｘ１６画素ブロックはマクロブロックと呼ばれ、以下の符号化処理の基本的な処理ブロックサイズとなっている。動画像符号化装置１００は、このマクロブロック毎に符号化処理を行う。【００１８】
フレーム内予測部１０２は、参照画像メモリ１０６に一時保存されている参照画素を用いて、マクロブロック単位で選択可能な全ての予測モードについて外挿し、予測画像信号１１４を生成する。即ち、フレーム内予測部１０２では、画面内予測、例えばフレーム内予測により予測画素ブロックで取り得るモードの全ての予測画像信号１１４が生成される。ただし、Ｈ．２６４のフレーム内予測（４ｘ４画素予測（図４Ｃ参照）又は８ｘ８画素予測（図４Ｄ参照））のようにマクロブロック内で局所復号画像を作成しないと次の予測が行えないような場合には、フレーム内予測部１０２内部で変換及び量子化、逆量子化及び逆変換を行っても良いが、予測画像信号はフレーム内予測部１０２のみで生成される。【００１９】
フレーム内予測部１０２で生成されている予測画像信号１１４は、モード選択部１０３へ送られる。モード選択部１０３は、入力画像信号１１５から予測画像信号１１４を差し引いた予測誤差信号１１６を生成する。更に、モード選択部１０３は、フレーム内予測部１０２で予測されているモード情報と生成されている予測誤差信号１１６を基に予測モードを選択する。より具体的に説明すると本実施の形態では次式のようなコストを用いる。【００２０】
Ｋ＝ＳＡＤ＋λ×ＯＨ（１）
但し、モード情報をＯＨ、予測誤差信号の絶対和をＳＡＤとすると次式を用いる。λは定数で与えられ、量子化幅や量子化パラメータの値に基づいて決められる。このようにして得られたコストを基に予測モードが決定される。コストＫがもっとも小さい値を与える予測モードが最適予測モードとして選択される。【００２１】
本実施の形態では、モード情報と予測誤差の絶対和を用いたが、モード情報のみ、または予測誤差の絶対和のみを用いて予測モードを選択しても良い。モード情報と予測誤差の絶対和をアダマール変換したり、これらに近似した値を利用しても良い。更に、入力画像信号のアクテビティを用いてコストを作成しても良いし、量子化幅、量子化パラメータを利用してコスト関数を作成しても良い。【００２２】
モード選択部１０３は変換及び量子化部１０４に接続されており、モード選択部１０３で選択されているモード情報と予測誤差信号は、変換及び量子化部１０４へ入力される。変換及び量子化部１０４は、入力されている予測誤差信号を直交変換し、変換係数データを生成する。本実施形態では、変換及び量子化部１０４は、離散コサイン変換などを用いて予測誤差信号を係数に変換しているが、ウェーブレット変換や独立成分解析などの手法を用いて予測誤差信号を係数に変換しても良い。変換及び量子化部１０４は、変換係数を量子化する。量子化に必要とされる量子化パラメータは、符号化制御部１０８によって設定されている。【００２３】
量子化後の変換係数１１７は、予測情報１０９、量子化パラメータなどの予測方法に関する情報とともに符号化処理部１０７へと出力される。符号化処理部１０７は、入力されている予測情報等とともに、量子化後の変換係数１１７をエントロピー符号化（例えばハフマン符号化若しくは算術符号化など）する。符号化処理部１０７でエントロピー符号化されているデータは多重化部１１１により多重化され、出力バッファ１１２を通して符号化データ１１３として出力される。【００２４】
逆量子化及び逆変換部１０５は、変換及び量子化部１０４によって量子化されている変換係数１１７を、符号化制御部１０８にて設定されている量子化パラメータに従って逆量子化し、得られた変換係数に対して逆変換（例えば逆離散コサイン変換など）を行い、変換係数を予測誤差信号１１６に復号する。【００２５】
逆量子化及び逆変換部１０５によって復号されている予測誤差信号１１６は、加算器１１８によりモード選択部１０３から供給される選択予測モードの予測画像信号１１４と加算される。加算信号は復号画像信号１１９となり、参照画像メモリ１０６へ入力される。参照画像メモリ１０６は復号画像信号１１９を参照画像として蓄積する。このように参照画像メモリ１０６に蓄積されている参照画像が、フレーム内予測部１０２による予測誤差信号等の生成の際に参照される。【００２６】
符号化ループ（図１におけるフレーム内予測部１０２→モード選択部１０３→変換及び量子化部１０４→逆変換及び逆量子化部１０５→参照画像メモリといった順序で流れる処理）は、そのマクロブロックで選択可能な全ての予測モードに対して処理を行った場合に１回のループになる。予測マクロブロックに対して当該符号化ループが終了すると、次のブロックの入力画像信号１１５が入力され、符号化が行われる。【００２７】
符号化制御部１０８は発生符号量のフィードバック制御及び量子化特性制御、モード制御などを行う。また、符号化制御部１０８は発生符号量の制御を行うレート制御や、予測部の制御、符号化全体の制御を行う。【００２８】
上述した各部の機能は、コンピュータに記憶されているプログラムによって実現できる。【００２９】
本発明にかかる動画像符号化方法を動画像符号化装置１００が実施する例を図２を参照して説明する。図2に示されるように、図１と共通する構成要素には同一の符号を付けてその説明を省略する。【００３０】
フレーム内予測部１０２は、マクロブロックサイズより小さいブロックサイズの予測も行うために、内部モード選択部２０４、内部変換及び量子化部２０６、内部逆量子化及び逆変換部２０７、内部参照画像メモリ２０９を有する。画素適応予測部２０１と方向予測部２０２はそれぞれ複数の予測モードを有するが、予測方法が異なる。固定モード予測部２０３は、画素適応予測部２０１と方向予測部２０２の予測方法を利用して予測を行っているが、マクロブロックレベルでモード情報を送らない予測モードの１つを実行する。【００３１】
方向予測部２０２と画素適応予測部２０１について詳細に説明する。これらの予測部は参照画像メモリ１０６に保持されている既に復号済みの参照画素を用いて、予測対象になるブロックを予測する。予測モードは９通りあり、図５Aに示されるように、モード２を除いてそれぞれ２２．５度づつ異なる予測方向を持っている。モード２を除くモード０からモード８まで規定されており、モード２は、方向予測部２０２ではＤＣ予測となっている。方向予測部２０２で行われる方向予測のモードと画素適応予測部２０１で行われる画素適応予測のモードの名称が図９で示されている。４ｘ４画素予測の予測ブロックと参照画素との関係が図５Bに示されている。大文字ＡからＭまでの画素が参照画素であり、小文字ａからｐまでの画素が予測画素である。【００３２】
最初に、方向予測部２０２による予測方法を説明する。方向予測部２０２は、モード２のＤＣ予測が選択されている場合、次式（２）に従って予測画素を計算する。【００３３】
Ｈ＝（Ａ＋Ｂ＋Ｃ＋Ｄ）、Ｖ＝（Ｉ＋Ｊ＋Ｋ＋Ｌ）（２）
ａ〜ｐ＝（Ｈ＋Ｖ＋４）＞＞３
参照画素が利用できない時は、予測画素は利用できる参照画素の平均値で予測される。利用できる参照画素が１つも存在しない場合は、符号化装置の最大輝度値の半分の値（８ビットなら１２８）で予測値が計算される。その他のモードが選択されている場合、方向予測部２０２は、図５Aで示される予測方向に対して、参照画素から補間されている予測値をコピーする予測方法を用いる。具体的には、モード０（垂直予測）が選択されている場合の予測値生成方法を次式（３）に基づいて説明する。【００３４】
ａ，ｅ，ｉ，ｍ＝Ａ
ｂ，ｆ，ｊ，ｎ＝Ｂ
ｃ，ｇ，ｋ，ｏ＝Ｃ
ｄ，ｈ，ｌ，ｐ＝Ｄ                         （３）
この予測モードは、参照画素ＡからＤまで利用できるときだけ、選択することが可能である。予測方法の詳細を図５（ｃ）に示す。参照画素Ａ〜Ｄの輝度値がそのまま垂直方向に予測画素にコピーされ、予測値として補填される。【００３５】
予測モード４（直交右下予測）が選択されているときの予測方法を次式（４）に基づいて説明する。【００３６】
ｄ＝（Ｂ＋（Ｃ＜＜１）＋Ｄ＋２）＞＞２
ｃ，ｈ＝（Ａ＋（Ｂ＜＜１）＋Ｃ＋２）＞＞２
ｂ，ｇ，ｌ＝（Ｍ＋（Ａ＜＜１）＋Ｂ＋２）＞＞２
ａ，ｆ，ｋ，ｐ＝（Ｉ＋（Ｍ＜＜１）＋Ａ＋２）＞＞２
ｅ，ｊ，ｏ＝（Ｊ＋（Ｉ＜＜１）＋Ｍ＋２）＞＞２
ｉ，ｎ＝（Ｋ＋（Ｊ＜＜１）＋Ｉ＋２）＞＞２
ｍ＝（Ｌ＋（Ｋ＜＜１）＋Ｊ＋２）＞＞２（４）
この予測モードは、参照画素ＡからＤ並びにＩからＭまで利用できるときにのみ選択することが可能である。本予測モードの詳細を図５（ｄ）に示す。３タップのフィルタによって生成されている値を右下４５度方向へ予測画素にコピーし、予測値として補填する。【００３７】
予測モード０，２，４以外の予測方法に関してもほぼ同様の形態が用いられており、予測方向に対して利用できる参照画素から補間値を生成し、その値を予測方向に応じて予測画素にコピーするという予測を行う。【００３８】
画素適用予測部２０１について説明する。画素適応予測部２０１は、予測画素と参照画素の距離に応じて、利用する参照画素の数を変える予測を行っており、画素単位に予測値が変わる。フレーム内予測は、画像の空間相関を利用した予測であり、隣接画素間の輝度値は似ている、という前提の下で予測値を作成している。予測画素と利用可能な参照画素との距離が離れるとこの前提が成り立たなくなり、予測誤差が増大する傾向がある。そこで、予測画素と参照画素との距離が離れた場合、その離れた距離に応じて、利用する参照画素を増やすことで、予測誤差の低下を軽減する。さらに、利用する参照画素の重み付けテーブルを、距離に応じて変更することでより、精度の高い予測値生成が可能になる。【００３９】
予測モードに関しては図５Aで説明したものと同一である。図６Aに参照画素と予測ブロックの関係を示している。図６Aと図５Bで示される参照画素と予測画素は１対１に対応しているが、予測式の説明をしやすくするため、異なるインデックスを与えている。参照画素は画素ｘ００からｘ０８までと、画素ｘ０９、ｘ１８、ｘ２７、ｘ３６の１３個である。予測画素は画素ｘ１０からｘ１３、ｘ１９からｘ２２、ｘ２８からｘ３１、ｘ３７からｘ４０までの１６個である。画素ｘ１４からｘ１７、ｘ２３からｘ２６、ｘ３２からｘ３５、ｘ４１からｘ４４までの１６画素は、予測補助画素であり、予測精度を高めるために利用される。【００４０】
画素適応垂直予測（モード０）に関して予測値生成方法を詳細に説明する。図６Bに画素適応垂直予測の予測方法を示している。図から判るとおり、参照画素と予測画素との距離が離れるほど、多くの参照画素を利用して予測値が決定される。例えば、参照画素と予測画素の距離が予測方向に対して１つ離れたｘ１０では、ｘ００、ｘ０１、ｘ０２の３つの参照画素を用いて予測値が生成される。参照画素から予測方向に対して２つ離れた予測画素ｘ２０では、ｘ００、ｘ０１、ｘ０２、ｘ０３、ｘ０４の５つの参照画素を用いて予測値が生成される。参照画素から予測方向に対して３つ離れた予測画素ｘ３０では、ｘ００、ｘ０１、ｘ０２、ｘ０３、ｘ０４、ｘ０５、ｘ０６の７つの参照画素を用いて予測値が生成される。参照画素から予測方向に対して４つ離れた予測画素ｘ４０では、ｘ００、ｘ０１、ｘ０２、ｘ０３、ｘ０４、ｘ０５、ｘ０６、ｘ０７、ｘ０８の９つの参照画素を用いて予測値が生成される。【００４１】
具体的に予測値生成方法を次式（５）で説明する。画素適応垂直予測では、次式（５）を用いて予測画素を計算する。【００４２】
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ−１）＋（Ｘ（ｎ−ｄ）＜＜１）＋Ｘ（ｎ−ｄ＋１）＋２）＞＞２（５）
ここで、ｎは図６Aで示される予測画素位置（ｘ１０からｘ１３、ｘ１９からｘ２２、ｘ２８からｘ３１、ｘ３７からｘ４０）に対応するインデックスを示す。ｄは次式で与えられる。【００４３】
ｄ＝（ｂｌｋ＿ｎｕｍ＜＜１）＋１（６）
ｂｌｋ＿ｎｕｍは４ｘ４画素ブロックのときは４、そして８ｘ８画素ブロックのときは８を取る。【００４４】
この予測方式は、既に符号化済みの参照画素を用いて予測するだけでなく、既に予測済みの予測画素を利用して次の画素の予測を行っていると考えることも出来る。図６Ｃはこの概念を示している。対象とする予測画素を求めるためには、参照画素と予測画素の距離が１つ小さい予測画素を用いて予測することに等しく、式（５）に予測値を代入して展開していくと図６Ｂで示される予測方法が得られる。【００４５】
実際に、参照画素と予測画素の距離に応じて式（５）を展開すると次のような予測式（７）になる。
【数１】
2007063808.tif 000003
【００４６】
Ｌは参照画素と予測画素の距離を表している。Ｖｉは対応する予測モードに応じて決定されるインデックスである。ｈｉはフィルタ係数を表しており、Ｌによってタップ数が変化する。具体的に画素適応垂直予測に関してｈｉ、Ｖｉを説明する。図７は４ｘ４画素予測のときの参照画素と予測画像の距離に応じて使用する重みフィルタ係数ｈｉ（重み付けテーブル）の１例を示す。【００４７】
参照画素から予測方向に対して１つ離れた予測画素は、３つの参照画素を用い次式（８）で予測される。【００４８】
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ−１）＋（Ｘ（ｎ−ｄ）＜＜１）＋Ｘ（ｎ−ｄ＋１）＋２）＞＞２（８）
ここでｎにはＬ＝１（ｘ１０からｘ１３）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、２、１）であり、Ｖｉ＝（ｄ＋１、ｄ、ｄ−１）が対応する。【００４９】
参照画素から予測方向に対して２つ離れた予測画素は５つの参照画素を用い次式（９）で予測される。【００５０】
Ｘ（ｎ）＝（Ｘ（ｎ−（ｄ＜＜１）−２）＋（Ｘ（ｎ−（ｄ＜＜１）−１）＜＜２）＋（６Ｘ（ｎ−（ｄ＜＜１）））＋（Ｘ（ｎ−（ｄ＜＜１）＋１）＜＜２）＋Ｘ（ｎ−（ｄ＜＜１）＋２）＋８）＞＞４（９）
ここでｎにはＬ＝２（ｘ１９からｘ２２）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、４、６、４、１）であり、Ｖｉ＝（２ｄ＋２、２ｄ＋１、２ｄ、２ｄ−１、２ｄ−２）が対応する。【００５１】
参照画素から予測方向に対して３つ離れた予測画素は７つの参照画素を用い次式（１０）で予測される。【００５２】
Ｘ（ｎ）＝（Ｘ（ｎ−３ｄ−３）＋（６Ｘ（ｎ−３ｄ−２））＋（１５Ｘ（ｎ−３ｄ−１））＋（２０Ｘ（ｎ−３ｄ））＋（１５Ｘ（ｎ−３ｄ＋１））＋（６Ｘ（ｎ−３ｄ＋２））＋Ｘ（ｎ−３ｄ＋３）＋３２）＞＞６（１０）
ここでｎにはＬ＝３（ｘ２８からｘ３１）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、６、１５、２０、１５、６、１）であり、Ｖｉ＝（３ｄ＋３、３ｄ＋２、３ｄ＋１、３ｄ、３ｄ−１、３ｄ−２、３ｄ−３）に対応する。【００５３】
参照画素から予測方向に対して４つ離れた予測画素は９つの参照画素を用い次式（１１）で予測される。【００５４】
Ｘ（ｎ）＝（Ｘ（ｎ−（ｄ＜＜２）−４）＋（Ｘ（ｎ−（ｄ＜＜２）−３）＜＜３）＋（２８Ｘ（ｎ−（ｄ＜＜２）−２））＋（５６Ｘ（ｎ−（ｄ＜＜２）−１））＋（７０Ｘ（ｎ−（ｄ＜＜２）））＋（５６Ｘ（ｎ−（ｄ＜＜２）＋１））＋（２８Ｘ（ｎ−（ｄ＜＜２）＋２））＋（Ｘ（ｎ−（ｄ＜＜２）＋３）＜＜３）＋Ｘ（ｎ−（ｄ＜＜２）＋４）＋１２８）＞＞８（１１）
ここでｎにはＬ＝４（ｘ３７からｘ４０）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、８、２８、５６、７０、５６、２８、８、１）であり、Ｖｉ＝（４ｄ＋4、４ｄ＋３、４ｄ＋２、４ｄ＋１、４ｄ、４ｄ−１、４ｄ−２、４ｄ−３、４ｄ−４）に対応する。【００５５】
予測に用いる参照画素及び参照画素の数と重み付けテーブルは式（５）を展開していけば得られる。このテーブルを用いて予測画素の補間値を計算する。例として、ｘ３１の補間値を計算すると、図７のテーブルより、Ｌ＝３でフィルタ係数ｈｉ＝（１、６、１５、２０、１５、６、１）を用いる。式（９）より以下の予測式（１２）が成り立つ。【００５６】
Ｘ（３１）＝（Ｘ（０１）＋（６Ｘ（０２））＋（１５Ｘ（０３））＋（２０Ｘ（０４））＋（１５Ｘ（０５））＋（６Ｘ（０６））＋Ｘ（０７）＋３２）＞＞６（１２）
対応する参照画素が存在しない場合は、その最後の参照画素値を予測式に補填することで予測を行う。例えば、ｘ１９を予測するとき、ｘ００の左の参照画素が利用できない。しかし、ｘ０９の参照画素が利用できるため、次式（１３）のように予測する。【００５７】
Ｘ（１９）＝（Ｘ（０９）＋（Ｘ（００）＜＜１）＋（５Ｘ（０１））＋（Ｘ（０２）＜＜２）＋Ｘ（０３）＋８）＞＞４（１３）
この場合も同様に式（５）で予測に使われる画素を割り出し、必要な予測値を展開することで式（１２）が導き出せる。【００５８】
画素適応水平予測（モード１）の予測式は次式（１４）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ−１）＋（Ｘ（ｎ−１）＜＜１）＋Ｘ（ｎ＋ｄ−１）＋２）＞＞２（１４）
画素適応隣接予測（モード２）の予測式は次式（１５）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−１）＋Ｘ（ｎ＋ｄ）＋１）＞＞１（１５）
画素適応直交左下予測（モード３）の予測式は次式（１６）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ）＋（Ｘ（ｎ−d＋１）＜＜１）＋Ｘ（ｎ−ｄ＋２）＋２）＞＞２（１６）
画素適応直交右下予測（モード４）の予測式は次式（１７）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ）＋（Ｘ（ｎ−d−１）＜＜１）＋Ｘ（ｎ−１）＋２）＞＞２（１７）
画素適応垂直左予測（モード５）の予測式は次式（１８）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ）＋Ｘ（ｎ−d−１）＋１）＞＞１（１８）
画素適応水平下予測（モード６）の予測式は次式（１９）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ−１）＋Ｘ（ｎ−１）＋１）＞＞１（１９）
画素適応垂直左予測（モード７）の予測式は次式（２０）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−ｄ）＋Ｘ（ｎ−ｄ＋１）＋１）＞＞１（２０）
画素適応水平上予測（モード８）の予測式は次式（２１）で表される。  
Ｘ（ｎ）＝（Ｘ（ｎ−１）＋Ｘ（ｎ＋ｄ−１）＋１）＞＞１（２１）
画素適応垂直予測の時と同様、予測画素値を求めるためには、必要な予測済み画像を代入して展開することで、必要になる参照画素及び参照画素数、重み付けテーブルが割り出せる。【００５９】
参照画素が存在しない場合には、画素適応垂直方向予測と同様、参照画素の補填を行う。例えば、画素適応水平予測でｘ３７を予測する場合、ｘ４５の参照画素が利用できない。よって次式（２２）で示すようにこの参照画素をｘ３６で補填する。【００６０】
Ｘ（３７）＝（Ｘ（３６）＋（Ｘ（３６）＜＜１）＋Ｘ（２７）＋２）＞＞２＝（３Ｘ（３６）＋Ｘ（２７）＋２）＞＞２（２２）
このように予測画素と参照画素との距離に応じて、利用する参照画素の数を変え、より精度の高い予測を行っているので、符号化効率を向上させることが可能と成る。予測精度の向上により、予測画像がより入力画像に近くなり、視覚的にも効果の高い予測方式である。【００６１】
次に、固定モード予測部２０３に関して詳細に説明を行う。固定モード予測部２０３は、モード情報の予測を行い、決められた予測モードで、画素適応予測もしくは方向予測を行う。モード情報の予測は、隣接する予測ブロックのモード情報を利用する。図８に４ｘ４画素予測の場合の隣接ブロックの関係を示す。予測ブロックＣの左の隣接ブロックをＡ、上の隣接ブロックをＢとする。これら２つの予測モードがｐｒｅｖ＿ｌｅｆｔ＿ｍｏｄｅ及びｐｒｅｖ＿ｕｐｐｅｒ＿ｍｏｄｅとして与えられると当該ブロックＣの予測モードは次式（２３）で決定される。【００６２】
ｃｕｒｒｅｎｔ＿ｍｏｄｅ＝ｍｉｎ（ｐｒｅｖ＿ｌｅｆｔ＿ｍｏｄｅ，ｐｒｅｖ＿ｕｐｐｅｒ＿ｍｏｄｅ）（２３）
ここでｃｕｒｒｅｎｔ＿ｍｏｄｅは予測ブロックＣの予測モードである。関数ｍｉｎ（Ａ，Ｂ）はＡとＢの小さい方の値を返す。このように周囲のブロックの予測モード情報から予測ブロックの予測モード情報を予測するので、このモードは予測モード情報を符号化するための符号量を大幅に減らすことが可能な符号化モードの１つである。ここで、画素適応予測部２０１を用いて予測画像を生成するか、方向予測部２０２を用いて予測画像を生成するか、は後述するｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａフラグで決められており、符号化制御部１０８から与えられたｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａフラグ情報に基づいて決定される。【００６３】
本実施形態では、現在の予測ブロックの予測モード情報は隣接予測ブロックＡおよびＢの予測モード情報に基づいて決定された。本実施形態の変形例として、周囲の予測ブロックの予測モード情報に基づいて決定しても構わない。例えば、予測ブロックＢの右側のブロック、予測ブロックＢの上側のブロック、予測ブロックＡの左側のブロック、および、予測ブロックＡの上側のブロック、の予測モード情報を利用して、現在の予測ブロックの予測モードを決定しても構わない。例えば、周辺予測ブロックの予測モードのうち最も頻度が高い予測モード、周辺予測ブロックの予測モードのメディアン値あるいは周辺予測ブロックの予測モードの平均値を、現在の予測ブロックの予測モードとして決定しても構わない。【００６４】
図２で示されるフレーム内予測部１０２の詳細な動作について説明を行う。フレーム内予測部１０２に入力画像信号１１５が入力されると、その信号は、画素適応予測部２０１と方向予測部２０２及び固定モード予測部２０３に入力される。予測モードと予測ブロック形状に従って、画素適応予測部２０１と方向予測部２０２及び固定モード予測部２０３にて、対応する予測画像信号１１４が生成される。【００６５】
このとき、符号化制御部１０８から、予測禁止情報が入力されている場合には、対応する予測部は予測画像信号を生成しない。具体的には、画素適応予測部２０１に対して予測禁止情報が入力されている場合には、画素適応予測部２０１で予測画像信号１１４の生成処理が行われない。方向予測部２０２に対して予測禁止情報が入力されている場合には、方向予測部２０２では、予測画像信号１１４が生成されない。固定モード予測部２０３に対して予測禁止情報が入力されている場合には、固定モード予測部２０３で予測画像信号１１４が生成されない。【００６６】
予測禁止情報が送られた場合、対応する予測部と予測切替スイッチ２０５が接続されることは無い。画素適応予測部２０１と方向予測部２０２に同時に予測禁止情報が入力されることは許されない。【００６７】
それぞれの予測部によって予測されている予測画像信号１１４及び予測モード情報は内部モード選択部２０４へ入力される。内部モード選択部２０４は、入力画像信号１１５から予測画像信号１１４を差し引いた予測誤差信号１１６の生成を行う。内部モード選択部２０４は、それぞれの予測部で予測されているモード情報と生成されている予測誤差信号１１６を基にモード選択を行う。【００６８】
ここでも、式（１）で用いられたコストを用いて予測モードを選択する。選択されている予測モードが、画素適応予測部２０１で予測されている予測モードであるか、方向予測部２０２で予測されている予測モードであるか、を表すモード情報を、内部モード選択部２０４は符号化制御部１０８に伝達する。画素適応予測が用いられている場合には、後述するｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇがＴＲＵＥであり、方向予測が用いられる時は、フラグがＦＡＬＳＥとなっている。符号化制御部１０８は、与えられたモード情報に従って、予測切替スイッチ２０５を制御する。固定モード予測が行われているかどうかは、ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇによって判断する。当該フラグがＴＲＵＥの時は、固定モード予測が行われており、ＦＡＬＳＥの場合は、この予測は行われていない。【００６９】
ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇがＴＲＵＥの場合、予測切替スイッチ２０５は、画素適応予測部２０１へと接続される。ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇがＦＡＬＳＥのとき、予測切替スイッチ２０５は、方向予測部２０２へと接続される。ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇがＴＲＵＥならば、符号化制御部１０８は切替スイッチ２０５を、固定モード判定部２０３へと夫々接続する。【００７０】
全ての小画素ブロックにおける予測が完了している場合、内部モード選択部２０４はマクロブロック分の予測画像信号１１４及びモード情報をフレーム内予測部１０２から出力する。【００７１】
予測切替スイッチ２０５は内部変換及び量子化部２０６に接続されており、内部モード選択部２０４で選択されているモード情報と予測誤差信号１１４は、予測切替スイッチ２０５を経て、内部変換及び量子化部２０６へと入力される。内部変換及び量子化部２０６は、入力されている予測誤差信号１１４を離散コサイン変換などを用いて変換係数に変換し、変換係数データを生成する。予測誤差信号１１４はウェーブレット変換や独立成分解析などの手法を用いて変換しても良い。内部変換及び量子化部２０６は、変換係数を量子化する。量子化に必要とされる量子化パラメータは、符号化制御部１０８によって設定されている。【００７２】
内部逆量子化及び逆変換部２０７は、内部変換及び量子化部２０６によって量子化されている変換係数１１７を、符号化制御部１０８にて設定されている量子化パラメータに従って逆量子化し、得られた変換係数に対して逆変換（例えば逆離散コサイン変換など）を行い、予測誤差信号１１６を出力する。内部逆量子化及び逆変換部２０７によって復号されている予測誤差信号１１６は、内部加算器２０８により内部モード選択部２０４から供給される当該モードの予測画像信号１１４と加算される。加算信号は復号画像信号１１９として、内部参照画像メモリ２０９へ入力される。【００７３】
内部参照画像メモリ２０９は復号画像信号１１９を参照画像として蓄積する。このように内部参照画像メモリ２０９に蓄積されている参照画像が、画素適応予測部２０１或いは方向予測部２０２、固定モード予測部２０３による予測画像信号１１４等の生成の際に参照される。内部予測ループ（図２における画素適応予測部２０１或いは方向予測部２０２、固定モード予測２０３→内部モード選択部２０４→予測切替スイッチ２０５→内部変換及び量子化部２０６→内部逆変換及び逆量子化部２０７→内部参照画像メモリ２０９といった順序で流れる処理）は、そのマクロブロック内の小画素ブロックで選択可能な全ての予測モードに対して処理を行った場合に１回のループになる。【００７４】
例えば、４ｘ４画素予測に対して、画素適応予測と方向予測と固定モード予測を切り替える場合、合計１６ｘ３回の内部予測ループを行うことになる。この場合、符号化制御部１０８は、最初に予測切替スイッチ２０５を画素適応予測部２０１に接続して、１６回の内部予測ループを行い、画素適応予測のマクロブロック単位の最適なモードの組み合わせを決定する。【００７５】
符号化制御部１０８は、予測切替スイッチ２０５を方向予測部２０２へと接続し、同様に１６回の内部予測ループを行う。符号化制御部１０８は、予測切替スイッチ２０５を固定モード予測部２０３に接続し、内部フラグの状態から固定モード予測がどちらの予測方法で予測されているかを判断し、決定された予測方法で予測を行う。ここで得られた３つのモードはモード選択部１０３に入力され、当該マクロブロックの最適モードが選択される。【００７６】
同様に８ｘ８画素予測の場合では、４ｘ３回の内部予測ループを行うことになる。１６ｘ１６画素予測では、局所復号画像を生成する必要がないので、内部予測ループを行う必要が無い。よって、画素適応予測部２０１又は方向予測部２０２で予測されているモード及び予測画像信号がそのままフレーム内予測部１０２から出力される。マクロブロックに対して内部予測ループが終了すると、次のマクロブロックの入力画像信号１１５が入力され、符号化が行われる。【００７７】
動画像符号化装置１００によって実施される動画像符号化方法が図３を参照して説明される。  
動画像符号化装置１００に動画像信号の１フレームが入力されると（ステップＳ１）、画像分割部１０１は、１フレームを複数のマクロブロックに分割し、更に複数の小画素ブロックに分割する（ステップＳ２）。分割されている１つのマクロブロックを入力画像信号１１５としてフレーム内予測部１０２へ入力される。このとき、モード選択部１０３は、モードを示すインデックスやコストを初期化する（ステップＳ３）。【００７８】
フレーム内予測部１０２は入力画像信号１１５を用いて、予測ブロックで選択可能な１つの予測モードに対する予測画像信号１１４を生成する（ステップＳ４）。モード選択部１０３は、予測画像信号１１４と入力画像信号１１５との差分を取って、予測誤差信号１１６を生成する。予測モードの符号量ＯＨと予測誤差信号１１６の絶対値和ＳＡＤからコストｃｏｓｔを計算する（ステップＳ５）。【００７９】
モード選択部１０３は、計算されているコストｃｏｓｔが、最小コストｍｉｎ＿ｃｏｓｔより小さいか否かを判別し（ステップＳ６）、小さい場合（ＹＥＳ）にはそのコストで最小コストを更新するとともに、その際の符号化モードをｂｅｓｔ＿ｍｏｄｅインデックスとして保持する（ステップＳ７）。計算されているコストｃｏｓｔが、最小コストｍｉｎ＿ｃｏｓｔより大きい場合（ＮＯ）、モード番号を示すｉｎｄｅｘをインクリメントし、インクリメント後のｉｎｄｅｘがモードの最後かどうかを判定する（ステップＳ８）。【００８０】
ｉｎｄｅｘがモードの最後の番号であるＭＡＸより大きい場合（ＹＥＳ）、ｂｅｓｔ＿ｍｏｄｅの符号化モード情報及び予測誤差信号１１６が変換及び量子化部１０４へと送られ、変換及び量子化が行われる（ステップＳ９）。量子化されている変換係数１１７が符号化処理部１０７へと入力され、予測情報１０９、予測切替情報１１０とともに符号化処理部１０７でエントロピー符号化される（ステップＳ１０）。ｉｎｄｅｘがモードの最後の番号であるＭＡＸより小さい場合（ＮＯ）、次のｉｎｄｅｘで示される符号化モードの予測画像信号１１４が生成される（ステップＳ４）。【００８１】
ｂｅｓｔ＿ｍｏｄｅでの符号化が行われると、量子化されている変換係数１１７は逆量子化及び逆変換部１０５へ入力され、逆量子化及び逆変換され、予測誤差信号１１６に復号される。この復号化予測誤差信号１１６はモード選択部１０３から提供されるｂｅｓｔ＿ｍｏｄｅの予測画像信号１１４と加算器１１８により加算され、復号画像信号１１９が生成される。この復号画像信号１１９が、参照画像として参照画像メモリ１０６に保存される。【００８２】
１フレームの符号化が終了しているかどうかが判定される（ステップＳ１１）。符号化処理が完了している場合（ＹＥＳ）、次のフレームが入力され、再び符号化処理が行われる。１フレームの符号化処理が完了していない場合（ＮＯ）、次の小画素ブロックの入力信号がフレーム内予測部１０２に入力され、符号化処理が継続される。  
上述のようにして本実施の形態の動画像符号化装置１００が動画像を符号化する。【００８３】
上記の実施の形態においては、画素適応予測において、図７で示されるフィルタの重み付けテーブルを用いて、予測画素の計算を行っている。この場合、参照画素と予測画素の距離が小さい予測画素から予測を行い、予測後の画素値をメモリに保存しておくと、この画素値は参照画素と予測画素の距離が増加とたとき参照画素として利用できる。そこで、予測方向に応じて、予測画素の生成順を参照画素と予測画素の距離が小さい方向から大きい方向へと進めてもよい。例えば、図６Aにおいて、画素適応垂直予測（モード０）では、上から下方向に予測画素を生成すると、Ｌ＝２の予測時にＬ＝１で生成されている予測画素を参照することが可能である。同様に、画素適応水平予測（モード１）では、左から右方向へ予測画素を生成する。生成されている予測画素はメモリに保存され、随時、次の予測の参照画素として利用される。これによって、参照画素と予測画素の距離が大きい画素の予測値を生成するための演算コストを抑えることができ、ハードウェアコストを低減することができる。【００８４】
本実施の形態においては、４ｘ４画素予測に関して詳細な画素適応フレーム内予測について説明を行ったが、８ｘ８画素ブロックや１６ｘ１６画素ブロック、及び色差信号に関して同様の予測を行っても良い。特に画素ブロックサイズが大きくなるにつれて、参照画素と予測画素との距離が遠くなるため、画素適応予測の効果が高い。予測で使用する参照画素の数は、距離に応じて増やしていたが、演算コストを抑えるために減らしても良い。予測に利用するフィルタの組み合わせは予測画素毎に複数あっても良い。【００８５】
本実施の形態においては、処理対象フレームを１６ｘ１６画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって、順に符号化する場合について説明しているが、符号化順は他の順序であっても良い。符号化は、右下から左上に行っても良いし、画面中央から渦巻状に行っても良い。右上から左下に行っても良いし、画面の周辺部から中心部に向かって処理を行っても良い。【００８６】
本実施の形態においては、処理対象フレームを１６ｘ１６画素単位のマクロブロックとして分割し、さらにフレーム内予測の処理単位として、８ｘ８画素ブロックや４ｘ４画素ブロックの場合について説明しているが、処理対象ブロックは均一なブロック形状にする必要は無く、１６ｘ８画素、８ｘ１６画素、８ｘ４画素、４ｘ８画素、などのブロックサイズに関しても適用可能である。例えば、８ｘ４画素予測や２x２画素予測も、同様の枠組みで実現が可能である。【００８７】
また、変換量子化ブロックサイズは均一なブロックサイズである必要は無く、１６ｘ８画素、８ｘ１６画素、８ｘ４画素、４ｘ８画素、などのブロックサイズにしても適用可能である。更に、１つのマクロブロック中で、均一なブロックサイズを取る必要はなく、それぞれ異なるブロックの大きさを選択しても良い。例えば、図４Eで示されるように、マクロブロック内で８ｘ８画素予測と４ｘ４画素予測を混在させても良い。この場合、分割ブロック数が増えると、分割ブロックを符号化するための符号量が増加するが、より予測効率の高いフレーム内予測が実現可能であり、予測誤差を削減することが可能である。よって、変換係数の符号量と局所復号画像とのバランスを考慮して、ブロックサイズを選択すればよい。【００８８】
本実施の形態においては、予測モードをフレーム内予測のみで説明した。しかし、画面間の相関を用いて予測するフレーム間予測を用いても良く、フレーム間符号化におけるスライス符号化中で選択されるフレーム内予測方法として本方式を用いても良い。この場合、フレーム内予測とフレーム間予測の切替は、マクロブロック単位である必要は無く、８ｘ８画素ブロック毎に切り替えても良いし、８ｘ４画素ブロックで分けるなどしても良い。【００８９】
本実施の形態においては、変換及び量子化部１０４、逆量子化及び逆変換部１０５が設けられているが、必ずしも全ての予測誤差信号に対して変換量子化及び逆量子化逆変換を行う必要は無く、予測誤差信号をそのまま符号化処理部１０７で符号化してもよいし、量子化及び逆量子化処理を省略しても良い。同様に、変換処理と逆変換処理を行わなくても良い。【００９０】
画素適応予測と方向予測を切り替えるｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇと、固定モード予測を行うｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇの符号化方法について説明する。【００９１】
図１３に本実施の形態で用いられるシンタクスの構造の概略を示す。シンタクスは主に３つのパート、即ちハイレベルシンタクス（１３０１）、スライスレベルシンタクス（１３０４）、マクロブロックレベルシンタクス（１３０７）からなる。ハイレベルシンタクス（１３０１）はスライス以上の上位レイヤのシンタクス情報が詰め込まれている。スライスレベルシンタクス（１３０４）では、スライス毎に必要な情報が明記されており、マクロブロックレベルシンタクス（１３０７）では、マクロブロック毎に必要とされる量子化パラメータの変更値やモード情報などが明記されている。【００９２】
それぞれのシンタックスは、さらに詳細なシンタクスで構成されており、ハイレベルシンタクス（１３０１）は、シーケンスパラメータセットシンタクス（１３０２）とピクチャパラメータセットシンタクス（１３０３）などのシーケンス、ピクチャレベルのシンタクスから構成されている。スライスレベルシンタクス（１３０４）は、スライスヘッダーシンタクス（１３０５）、スライスデータシンタクス（１３０６）などから成る。マクロブロックレベルシンタクス（１３０７）は、マクロブロックレイヤーシンタクス（１３０８）、マクロブロック プレディクション シンタクス（１３０９）などから構成されている。【００９３】
本実施の形態で、必要になるシンタクス情報はシーケンスパラメータセットシンタクス（１３０２）、ピクチャパラメータセットシンタクス（１３０３）、スライスヘッダーシンタクス（１３０５）、マクロブロックレイヤーシンタクス（１３０８）であり、それぞれのシンタクスを以下で説明する。【００９４】
図１４のシーケンスパラメータセットシンタクス内に示されるｅｘ_ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｓｅｑ＿ｆｌａｇは、画素適応予測をシーケンス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、画素適応予測と方向予測を、シーケンス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、シーケンス内では画素適応予測を用いることが出来ない。【００９５】
図１５のピクチャーパラメータセットシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｐｉｃ＿ｆｌａｇは、画素適応予測をピクチャ毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、画素適応予測と方向予測を、ピクチャ単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、ピクチャ内では画素適応予測を用いることが出来ない。【００９６】
図１６のスライスヘッダーシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇは、画素適応予測をスライス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、画素適応予測と方向予測を、スライス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、スライス内では画素適応予測を用いることが出来ない。【００９７】
図１７のマクロブロックレイヤーシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇは、画素適応予測を当該マクロブロックで利用するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、画素適応予測を利用する。フラグがＦＡＬＳＥであるときは、方向予測を利用する。このフラグは、ｅｘ_ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｓｅｑ＿ｆｌａｇ、ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｐｉｃ＿ｆｌａｇ、ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇの少なくとも１つ以上のフラグがＴＲＵＥであるときにのみ有効である。マクロブロックの予測タイプがフレーム内予測のときのみ利用できる。【００９８】
図１８のシーケンスパラメータセットシンタクス内に示されるｅｘ_ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｓｅｑ＿ｆｌａｇは、固定モード予測をシーケンス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、固定モード予測の使用可否を、シーケンス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、シーケンス内では固定モード予測を用いることが出来ない。【００９９】
図１９のピクチャーパラメータセットシンタクス内に示されるｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｐｉｃ＿ｆｌａｇは、固定モード予測をピクチャ毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、固定モード予測の使用可否をピクチャ単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、ピクチャ内では固定モード予測を用いることが出来ない。【０１００】
図２０のスライスヘッダーシンタクス内に示されるｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇは、固定モード予測をスライス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、固定モード予測の使用可否を、スライス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、スライス内では固定モード予測を用いることが出来ない。【０１０１】
図２１Ａのマクロブロックレイヤーシンタクス内に示されるｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇは、固定モード予測を当該マクロブロックで利用するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、固定モード予測を利用する。フラグがＦＡＬＳＥであるときは、固定モード予測が利用できない。このフラグは、ｅｘ_ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｓｅｑ＿ｆｌａｇ、ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｐｉｃ＿ｆｌａｇ、ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇの少なくとも１つ以上のフラグがＴＲＵＥであるときにのみ有効である。マクロブロックの予測タイプがフレーム内予測のときのみ利用できる。【０１０２】
図２１Ｂはマクロブロックプレディクションシンタックスを示している。本シンタクス内には、対応するマクロブロック内の予測モード情報が格納される。固定モード予測以外の予測モードが選択されているときは本シンタクスによって、夫々対応する予測モード情報が設定される。【０１０３】
本シンタクス内に示されるｐｒｅｖ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇは、ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇがＴＲＵＥのときには利用されない。当該ｐｒｅｖ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇは隣接予測ブロックから推定された予測モード（ｃｕｒｒｅｎｔ＿ｍｏｄｅ）と、当該予測対象ブロックで実際に選択された予測モード（ｐｒｅｄ＿ｍｏｄｅ）が一致しているかどうかを示すフラグである。一致している（ＴＲＵＥ）場合は、ｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅは利用されない。一方、一致していない場合は更にｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅが利用される。当該ｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅは、ｃｕｒｒｅｎｔ＿ｍｏｄｅと当該予測対象ブロックで実際に選択された予測モード（ｐｒｅｄ＿ｍｏｄｅ）とのずれ量を現している。ｐｒｅｄ＿ｍｏｄｅがｃｕｒｒｅｎｔ＿ｍｏｄｅよりも大きいときは
ｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ＝ｃｕｒｒｅｎｔ＿ｍｏｄｅ
一方、ｐｒｅｄ＿ｍｏｄｅがｃｕｒｒｅｎｔ＿ｍｏｄｅに等しいか、小さいときは
ｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ＝ｃｕｒｒｅｎｔ＿ｍｏｄｅ＋１
の値が格納されている。【０１０４】
ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇとｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇがどちらもＴＲＵＥの場合は、画素適応予測でモード情報を送らない符号化モードになる。ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇがＴＲＵＥでｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇがＦＡＬＳＥの場合は、方向予測でモード情報を送らない符号化モードになる。  
本実施形態により、参照画素から離れた予測画素に対する予測精度が向上し、予測誤差が改善される。【０１０５】
（第２の実施の形態（符号化））
図１０に示される第２の実施形態に係る動画像符号化部１０００では、第１の実施の形態に加えて、仮符号化／符号量計測部１００１、符号化歪み計測部１００２、符号化切替スイッチ１００３が更に設けられている。フレーム内予測部及びモード選択部の機能が第1の実施形態とは異なるために第1の実施形態とは異なる参照番号が割り当てられている。本実施形態においては、図１と共通する構成要素には同一の符号を付けてその説明を省略する。【０１０６】
動画像符号化装置１０００に入力されている動画像信号は、画面分割部１０１によって、複数の小画素ブロックに分割され、各ブロックが入力画像信号１１５としてフレーム内予測部１００４へ入力される。フレーム内予測部１００４は、参照画像メモリ１０６に一時保存されている参照画像を用いて、マクロブロックで選択可能な全ての予測モードで予測画像信号１１４を生成する。ただし、Ｈ．２６４のフレーム内予測（４ｘ４画素予測（図４C）又は８ｘ８画素予測（図４D））のようにマクロブロック内で局所復号画像を作成しないと次の予測が行えないような場合には、フレーム内予測部１００４は変換及び量子化、逆量子化及び逆変換を行っても良い。【０１０７】
フレーム内予測部１００４で生成されている予測画像信号１１４は、モード選択部１００５へ送られる。モード選択部１００５は、入力画像信号１１５から予測画像信号１１４を差し引いた予測誤差信号１１６を生成する。モード選択部１００５は、仮符号化／符号量計測部１００１で累積加算されている符号量１００６と符号化歪み計測部１００２で計算されている符号化歪み１００７を入力として受け取り、符号化コストを計算する。符号化コストは、符号量をＲ、符号化歪みをＤとすると次式（２４）で表される。【０１０８】
Ｊ＝Ｄ＋λ×Ｒ（２４）
λは定数で与えられ、量子化幅や量子化パラメータの値に基づいて決められる。このようにして得られた符号化コストを基にモードが選択される。コストＪがもっとも小さい値を与えるモードが最適モードとして選択される。【０１０９】
本実施の形態では、符号量１００６と符号化歪み１００７を用いたが、別の実施の形態として、符号量のみ、又は符号化歪みのみを用いてモードを選択しても良い。入力画像信号１１５のアクテビティを用いてコストを作成しても良いし、量子化幅、量子化パラメータを利用してコスト関数を作成しても良い。更に符号化歪みに視覚的な周波数特性や感度などの重み付けを行い、符号化コストとしても良い。【０１１０】
モード選択部１００５は変換及び量子化部１０４に接続されており、モード選択部１００５で選択されているモード情報と予測誤差信号１１６は、変換及び量子化部１０４へ入力される。変換及び量子化部１０４は、予測誤差信号１１６を変換及び量子化することによって量子化変換係数１１７を出力する。【０１１１】
変換係数１１７は仮符号化切替スイッチ１００３へと送られる。符号化制御部１０８で仮符号化フラグがＴＲＵＥに設定されている場合には、仮符号化切替スイッチ１００３は、変換及び量子化部１０４の出力を仮符号化／符号量計測部１００１へ接続する。変換係数１１７が仮符号化／符号量計測部１００１に入力され、仮のエントロピー符号化が行われる。この場合、仮符号化／符号量計測部１００１は符号量を累積加算し、実際の符号化で発生する総符号量の見積もりを行い、符号化データを出力しない。仮符号化／符号量計測部１００１で計測されている符号量１００６は、符号化歪み計測部１００２へ送られる。【０１１２】
符号化歪み計測部１００２は、逆量子化及び逆変換部１０５で復号されている予測誤差信号１１６と予測画像信号１１４との和によって生成されている復号画像信号１１９を入力として受けるだけでなく、入力画像信号１１５を受け、復号画像信号１１９と入力画像信号１１５との二乗誤差（符号化歪み１００７）を計算する。符号化歪み計測部１００２は、入力として受ける符号量１００６と計算により得られる符号化歪み１００７をモード判定部１００５に送る。【０１１３】
仮符号化ループ（図１０におけるフレーム内予測部１００４→モード選択部１００５→変換及び量子化部１０４→仮符号化切替スイッチ１００３→仮符号化／符号量計測部１００１→符号化歪み計測部1002といった順序で流れる処理）は、そのマクロブロックで選択可能な１つのモードに対して処理を行った場合に１回のループになる。モードが１０種類存在する場合は、仮符号化ループが１０回繰り返される。マクロブロックで選択可能な全てのモードに対して仮符号化ループが終了すると、モード選択部１００５は、符号化制御部１０８の仮符号化フラグをＦＡＬＳＥに設定する。【０１１４】
符号化制御部１０８で仮符号化フラグがＦＡＬＳＥに設定されている場合、仮符号化切替スイッチ１００３は、変換及び量子化部１０４の出力を符号化処理部１０７に接続する。この時、モード判定部１００５は全てのモードに対する符号化コストを計算しおり、その中で最も小さい符号化コストを与えるモードの変換係数１１７及びモード情報が符号化処理部１０７へと送られる。符号化処理部１０７は、入力されているモード情報に規定されている方法で実際に量子化変換係数１１７を符号化する。この場合、最終的に符号化されるデータは、仮符号化時に既に一度符号化されているので、仮符号化時に符号化コストが良かったモードの、変換係数及びモード情報をメモリに保持しておき、符号化処理部１０７は、符号化を実行せずに、メモリに保持されている符号化データを呼び出してコピーする、という処理を行っても良い。【０１１５】
対象マクロブロックに対して当該符号化ループが終了すると、次のブロックの入力画像信号１１５がフレーム内予測部１００４に入力され、次のブロックの符号化が行われる。符号化制御部１０８は発生符号量のフィードバック制御及び量子化特性制御、モード制御などを行い、発生符号量の制御を行うレート制御や、予測部の制御、符号化全体の制御を行う。  
上述した各部の機能は、コンピュータに記憶されているプログラムによって実現できる。【０１１６】
本実施形態にかかる動画像符号化方法を、図１１に示されるフレーム内予測部１００４を参照して説明する。本実施の形態において、図２と同じ構成要素には同一の符号を付けてその説明を省略する。  
フレーム内予測部１００４に入力画像信号１１５が入力されると、その信号は、画素適応予測部２０１と方向予測部２０２及び固定モード予測部２０３に入力される。予測モードと予測ブロック形状に対応する予測画像信号１１４が、画素適応予測部２０１と方向予測部２０２及び固定モード予測部２０３にて生成される。【０１１７】
予測部２０１，２０２，２０３によってそれぞれ予測されている予測画像信号１１４及び予測モード情報は内部モード選択部１１０４へ入力される。内部モード選択部１１０４は、入力画像信号１１５から予測画像信号１１４を差し引いた予測誤差信号１１６を生成する。内部モード選択部１１０４は、内部仮符号化／符号量計測部１１０１で算出されている内部符号量１１０５と内部符号化歪み計測部１１０２で算出されている内部符号化歪み１１０６を基に式（２４）を用いて内部符号化コストを算出し、符号化コストＪが最も小さい値を与えるモードを最適モードとして選択する。【０１１８】
本実施の形態では、内部符号量１１０５と内部符号化歪み１００６を用いたが、符号量のみ、又は符号化歪みのみを用いてモードを判定しても良い。入力画像信号のアクテビティを用いてコストを作成しても良いし、量子化幅、量子化パラメータを利用してコスト関数を作成しても良い。符号化歪みに視覚的な周波数特性や感度などの重み付けを行い、符号化コストとしても良い。【０１１９】
選択されているモードが、画素適応予測部２０１で予測されているモードであるか、方向予測部２０２で予測されているモードであるか、固定モード予測部２０３で予測されているモードであるか、を示すモード情報を内部モード選択部１１０４は符号化制御部１０８に伝達する。符号化制御部１０８は、与えられたモード情報に従って、予測切替スイッチ２０５を制御する。【０１２０】
内部モード選択部１１０４で選択されているモード情報と予測誤差信号は、内部変換及び量子化部２０６へ入力される。変換及び量子化部２０６は、入力されている予測誤差信号１１６を直交変換し、変換係数データ１１７を生成する。変換及び量子化部２０６は、変換係数を量子化する。量子化に必要とされる量子化パラメータは、符号化制御部１０８によって設定される。【０１２１】
符号化制御部１０８は、仮符号化フラグを参照し、このフラグがＴＲＵＥであれば、内部仮符号化切替スイッチ１１０３を内部仮符号化／符号量計測部１１０１へ接続する。これにより、当該モードの変換係数とモード情報が内部仮符号化／符号量計測部１１０１へ入力される。内部仮符号化／符号量計測部１１０１は、これら入力されているデータのエントロピー符号化を行う。この場合、内部仮符号化／符号量計測部１１０１は、符号量を累積加算し、実際の符号化で発生する総符号量の見積もりを行い、符号化データを出力しない。内部仮符号化／符号量計測部１１０１で計測されている内部符号量１１０５は、内部符号化歪み計測部１１０２へ送られる。【０１２２】
内部符号化歪み計測部１１０２は、内部逆量子化及び逆変換部２０７で復号される予測誤差信号１１６と予測画像信号１１４とを加算して生成されている復号画像信号１１９を入力として受けるだけでなく、入力画像信号１１５を受け、復号画像信号１１９と入力画像信号１１５との二乗誤差（内部符号化歪み１１０６）を計算する。内部符号化歪み計測部１１０２は、入力として受ける内部符号量１１０５と計算により得られる内部符号化歪み１１０６を内部モード判定部１１０４に送る。【０１２３】
内部仮符号化ループ（図１１におけるそれぞれの予測部→内部モード選択部１１０４→予測切替スイッチ２０５→内部変換及び量子化部２０６→内部仮符号化切替スイッチ１１０３→内部仮符号化／符号量計測部１１０１→内部符号化歪み計測部１１０２といった順序で流れる処理）は、マクロブロック以下の小画素ブロックで選択可能な１つのモードに対して処理を行った場合に１回のループになる。モードが１０種類存在する場合は、内部仮符号化ループが１０回繰り返される。当該小画素ブロックで選択可能な全てのモードに対して内部仮符号化ループが終了すると、内部モード選択部１１０４は、符号化制御部１０８の仮符号化フラグをＦＡＬＳＥに設定する。【０１２４】
例えば、４ｘ４画素予測を行う場合、１つの４ｘ４画素ブロックに対して、画素適応予測、方向予測、固定モード予測が行われる。この場合、９＋９＋１回の仮符号化ループが繰り返される。４ｘ４画素予測では１６個ブロックに対して上記予測が行われることになり、合計１６ｘ（９＋９＋１）回内部仮符号化ループが繰り返される。【０１２５】
符号化制御部１０８で仮符号化フラグがＦＡＬＳＥに設定されている場合、内部仮符号化切替スイッチ１１０３は、内部変換及び量子化部２０６の出力をフレーム内予測部１００４の外部に接続する。この時、内部モード判定部１１０４内では全てのモードに対する符号化コストが計算されており、その中で最も小さい符号化コストを与えるモードの変換係数１１７及びモード情報がフレーム内予測部１００４の外部へ送られる。【０１２６】
動画像符号化装置１０００が実施する動画像符号化方法を図１２を参照して説明する。  
動画像符号化装置１０００に動画像が入力されると（ステップＳ００１）、画像分割部１０１は、動画像の１フレームを複数のマクロブロックに分割する。分割されている１つのマクロブロックが入力画像信号１１５としてフレーム内予測部１０２へ入力される（ステップＳ００２）。このとき、モード選択部１００５、内部モード選択部１１０４は、モードを示すインデックスやコストを初期化する（ステップＳ００３）。【０１２７】
フレーム内予測部１００４は、入力画像信号１１５を用いて、予測ブロックで選択可能な１つのモードに対する予測画像信号１１４を生成する（ステップＳ００４）。モード選択部１００５は、予測画像信号１１４と入力画像信号１１５の差分を計算し、予測誤差信号１１６を生成する。変換及び量子化部１０４が予測誤差信号１１６を変換・量子化し、量子化されている変換係数１１７が仮符号化／符号量計測部１００１へと入力される。仮符号化／符号量計測部１００１は変換係数を仮符号化し（ステップＳ００５）、符号量を累積加算する。変換係数は局所復号され、符号化歪み計測部１００２にて入力画像信号と復号画像信号との二乗誤差を計算する。得られた符号量Ｒと符号化歪みＤに基づいて符号化コストを計算する（ステップＳ００６）。【０１２８】
モード選択部１００５は、計算されている符号化コストｃｏｓｔが、最小符号化コストｍｉｎ＿ｃｏｓｔより小さいか否かを判別し（ステップＳ００７）、小さい場合（ＹＥＳ）にはその符号化コストで最小符号化コストを更新するとともに、対応する符号化モードをｂｅｓｔ＿ｍｏｄｅインデックスとして保持し、仮符号化データを一時メモリに保存する（ステップＳ００８）。計算されている符号化コストｃｏｓｔが、最小符号化コストｍｉｎ＿ｃｏｓｔより大きい場合（寸zわち、判定がＮＯ）、モード選択部１００５は、モード番号を示すｉｎｄｅｘをインクリメントし、インクリメント後のｉｎｄｅｘがモードの最後かどうかを判定する（ステップＳ００９）。【０１２９】
ｉｎｄｅｘがモードの最後の番号であるＭＡＸより大きい場合（ＹＥＳ）、ｉｎｄｅｘはｂｅｓｔ＿ｍｏｄｅの符号化モード情報、予測情報１０９、予測切替情報１１０とともに符号化処理部１０７によってエントロピー符号化される（ステップＳ０１０）。ｉｎｄｅｘがモードの最後の番号であるＭＡＸより小さい場合（ＮＯ）、次のｉｎｄｅｘで示される符号化モードの予測画像信号１１５が生成される（ステップＳ００４）。【０１３０】
ｂｅｓｔ＿ｍｏｄｅでの符号化が行われると、量子化されている変換係数１１７が逆量子化及び逆変換部１０５へと入力され、逆量子化及び逆変換が行われる。復号されている予測誤差信号１１６がモード選択部１００４から提供されるｂｅｓｔ＿ｍｏｄｅの予測画像信号１１４と加算器１１８により加算され、復号画像信号１１９として、参照画像メモリ１０６へ保存される。【０１３１】
１フレームの符号化が終了しているかどうかの判定が行なわれる（ステップＳ１１）。符号化が完了している場合（ＹＥＳ）、次のフレームの入力画像信号が画面分割部１０１に入力され、次のフレームの符号化処理が行われる。１フレームの符号化処理が完了していない場合（ＮＯ）、次のマクロブロックの入力信号が入力され、符号化処理が継続される。【０１３２】
以上のように本実施の形態の動画像符号化方法が動画像符号化装置１０００により実行される。本実施形態のように仮符号化及びインデックスの利用により符号量がブロック毎に適切に割り付けることができ符号化効率が改善される。【０１３３】
（第３の実施の形態（符号化））
図２２に示す第３の実施形態では、第２の実施の形態に加えて、第１フレーム内予測部２２０２、第２フレーム内予測部２２０３が更に設けられている。画面分割部２２０１の機能が第2の実施形態とは異なるために異なる参照番号を与えている。図１０の実施形態では、図１の実施形態と共通する構成要素には同一の符号を付けてその説明を省略する。【０１３４】
図２２に示される動画像符号化装置２２００では、第１フレーム内予測部２２０２と第２フレーム内予測部２２０３は、予測ブロックサイズが異なるだけで、予測方法は図１１で示されるフレーム内予測部１００４と同一である。画面分割部２２０１は入力動画像信号を小画素ブロックに分割する。この時、マクロブロックを異なるブロック形状で分割する。一方は４ｘ４画素ブロックを１６個組み合わせたブロック形状で分割し、もう一方は、８ｘ８画素ブロックを４個組み合わせたブロック形状で分割する。それぞれ分割したブロックを入力画像信号１１５として第１フレーム内予測部２２０２及び第２フレーム内予測部２２０３へ入力する。第１フレーム内予測部２２０２は、４ｘ４画素予測を行う。ここで、４ｘ４画素ブロックを４つ集めて８ｘ８画素ブロック単位の予測画像を４つ生成する。第２フレーム内予測部２２０３は、８ｘ８画素予測を行う。即ち、第２フレーム内予測部２２０３は、１つの８ｘ８画素予測を４回行う。最初の８ｘ８画素ブロックの予測が完了した時点で、４ｘ４画素予測による予測画像信号と８ｘ８画素予測による予測画像信号がモード選択部１００５へ入力される。モード選択部１００５は所定の方式に従って符号化コストを計算し、算出された符号化コストから符号化コストが最も小さい予測モードを選択する。選択されているモードに対応する復号画像が変換及び量子化部１０４、逆量子化及び逆変換部１０５を経て、参照画像メモリ１０６に蓄積される。【０１３５】
最初の８ｘ８画素ブロックのモードが決定されると、次の８ｘ８画素ブロックの予測を同様に行う。つまり、マクロブロック内の８ｘ８画素単位で４ｘ４画素予測と８ｘ８画素予測を切り替えることが可能である。図４Eは、マクロブロック内で予測ブロックサイズを切り替える例を示す。８ｘ８画素ブロック４つのモードが全て決定されると、符号化制御部１０８は、仮符号化切替スイッチ１００３を符号化処理部１０７へ接続し、符号化が行われる。このとき、８ｘ８画素ブロックが、４ｘ４画素予測で符号化されているか、８ｘ８画素予測で符号化されているか、の情報も同時に符号化される。この情報はマクロブロックに対して４ビットのデータとして、符号化処理部１０７で符号化される。【０１３６】
以下に予測情報を切り替えるときに必要とされるブロックサイズ切り替え情報のシンタクスについて説明する。  
図２３のシーケンスパラメータセットシンタクス内に示されるｅｘ_ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｓｅｑ＿ｆｌａｇは、ブロックサイズ切替予測をシーケンス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、ブロックサイズ切替予測の使用可否を、シーケンス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、シーケンス内ではブロックサイズ切替予測を用いることが出来ない。【０１３７】
図２４のピクチャーパラメータセットシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｐｉｃ＿ｆｌａｇは、ブロックサイズ切替予測をピクチャ毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、ブロックサイズ切替予測の使用可否をピクチャ単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、ピクチャ内ではブロックサイズ切替予測を用いることが出来ない。【０１３８】
図２５のスライスヘッダーシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇは、ブロックサイズ切替予測をスライス毎に変更するかどうかを示すフラグであり、当該フラグがＴＲＵＥであるときは、ブロックサイズ切替予測の使用可否を、スライス単位で切り替えることが可能である。フラグがＦＡＬＳＥであるときは、スライス内ではブロックサイズ切替予測を用いることが出来ない。【０１３９】
図２６のマクロブロックレイヤーシンタクス内に示されるｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｍｏｄｅは、４ビットのデータであり、ブロックサイズ切替情報に対応する。図２８AはＡ，Ｂ，Ｃ，Ｄの順で８ｘ８画素ブロックが４ｘ４画素予測であるか、８ｘ８画素予測であるか、を示している。例えば、ｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｍｏｄｅが１１００を示している時、図２８Bにあるように、ブロックＡ，Ｂが８ｘ８画素予測で符号化され、ブロックＣ，Ｄが４ｘ４画素予測で符号化されていることが判る。このデータは、ｅｘ_ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｓｅｑ＿ｆｌａｇ、ｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｐｉｃ＿ｆｌａｇ、ｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｉｎ＿ｓｌｉｃｅ＿ｆｌａｇの少なくとも１つ以上のフラグがＴＲＵＥであるときにのみ有効である。【０１４０】
マクロブロックレイヤーでシンタクスを送るのではなく、マクロブロックタイプで送っても良い。図２７はマクロブロックタイプにブロックサイズ切替情報を付与する例である。ｍｂ＿ｔｙｐｅが０の場合は４ｘ４画素予測のみでマクロブロックの予測を行う。ｍｂ＿ｔｙｐｅが１の場合は８ｘ８画素予測のみでマクロブロックの予測を行う。ｍｂ＿ｔｙｐｅが１から５の場合はブロックサイズ切替予測を行う。ここでＩｎｔｒａ＿Ａ＿Ｂ＿Ｃ＿Ｄはどのブロックが８ｘ８画素予測を用いているかを示している。図２８AにそれぞれＡ，Ｂ，Ｃ，Ｄのブロック位置を示す。例えば、ｍｂ＿ｔｙｐｅが３であるとき、ＡとＢのブロックが８ｘ８画素予測で予測されていることを示している。ｍｂ＿ｔｙｐｅが６である時は１６ｘ１６画素予測が行われることを示している。このようにｍｂ＿ｔｙｐｅにブロックサイズ切替情報を付与し、選択頻度の高いモードに小さいインデックスを与えることで、効率の良い予測が可能になる。【０１４１】
以上説明したように本実施の形態では、複数の選択可能な符号化モードの各々について、８ｘ８画素単位で実際に仮符号化処理がなされ、８ｘ８画素ごとのモードの符号化データの符号量と符号化歪みから得られた符号化コストの最も小さいモードが選択され、選択されているモードに基づいて、符号化データが出力される。このようにマクロブロック内の８ｘ８画素ブロック毎に予測ブロックサイズを切り替えてモード選択を行っているので、予測方法に応じて符号化効率の高い符号化を行うことができるブロック形状を選択できる、つまり画素ブロックの内容等に応じて好適な符号化をなすことができる。【０１４２】
このように、各モードすべてについて負担の大きい符号化処理を行う必要がなく、選択されているモードでの符号化のみ行うようにすればよいので、演算負担の増加も抑制することができる。すなわち、本実施の形態では、高速かつ好適なモード選択と、高速で圧縮効率の高い動画像符号化を実現することが可能になる。【０１４３】
上述したように選択されているモードでの符号化の際、復号画像信号の生成は、選択されているモードについてのみ行えばよく、予測モード判定のためのループ内では、必ずしも実行しなくてもよい。【０１４４】
上記動画像符号化装置に対応する動画像復号化装置を説明する。  
（第４の実施の形態（復号化））
図２９に示す動画像復号化装置によると、動画像符号化装置から送出され、伝送系または蓄積系を経て送られてきた符号化データは、入力バッファ９０１に一度蓄えられ、多重化分離器９０２により１フレーム毎にシンタクスに基づいて複数の画素ブロックに分離された後、それらが符号列復号部９０３に入力される。符号列復号部９０３は、図１３に示されるシンタクス構造に従って、ハイレベルシンタクス、スライスレベルシンタクス、マクロブロックレベルシンタクスの夫々に対して、順次符号化データの各シンタクスの符号列を復号する。量子化されている変換係数、量子化マトリクス、量子化パラメータ、予測モード情報、予測切替情報などが復元される。【０１４５】
量子化されている変換係数は、復元されている各情報のうちの量子化マトリクス、量子化パラメータを用いて、逆量子化及び逆変換部９０４で逆量子化され、逆直交変換（例えば逆離散コサイン変換など）される。ここでは、逆直交変換について説明したが、符号化器でウェーブレット変換などが行われている場合、逆量子化及び逆変換部９０４は、対応する逆量子化及び逆ウェーブレット変換などが実行されても良い。逆量子化及び逆変換部９０４で変換されている係数は、誤差信号９１１として、加算器９０５へ送られる。加算器９０５は、フレーム内予測部９０７から出力される予測信号９１６と当該誤差信号９１１を加算し、加算信号を復号信号９１２として参照画像メモリ９０６へ入力する。復号信号９１２は更に出力バッファ９１３へ送られ、復号化制御部９０８が管理するタイミングで出力される。【０１４６】
符号列復号部９０３で復号されている予測モード情報９０９及び予測切替情報９１０がフレーム内予測部９０７に入力される。既に符号化されている参照信号９１４が参照画像メモリ９０６からフレーム内予測部９０７へ読み込まれる。フレーム内予測部９０７は、入力されている情報を基に、予測信号９１６を生成し、それを加算器９０５に入力する。【０１４７】
復号化制御部９０８は、入力バッファ９０１、出力バッファ９１３の制御や、復号化タイミングの制御などを行う。  
本実施形態にかかる動画像復号化方法を動画像復号装置９００のフレーム内予測部９０７が図３０を参照して説明する。図３０の実施形態では、図２９の実施形態と同じ構成要素には同一の符号を付けてその説明を省略する。【０１４８】
符号列復号部９０３によって復号されている予測モード情報９０９及び予測切替情報９１０がフレーム内予測部９０７に入力されると、これらの情報は一旦予測制御部３００７へ送られる。予測切替スイッチ３００１が予測切替情報９１０に基づいて操作される。具体的には、予測切替情報としてｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇとｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇが予測制御部３００７へ入力される。ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇは画像が画素適応予測で予測されているか、方向予測で予測されているか、を示すフラグであり、当該フラグがＴＲＵＥの場合は、予測切替スイッチ３００１を画素適応予測部３００２へ接続する。当該フラグがＦＡＬＳＥの場合は、予測切替スイッチ３００１を方向予測部３００３へ接続する。ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇは固定モード予測が行われているか、行われていないか、を示すフラグであり、当該フラグがＴＲＵＥの場合、ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇの状態に係わらず、予測切替スイッチ３００１は固定モード予測部へ接続される。夫々の情報によって予測切替スイッチ３００１が切り替わると、参照信号９１４がフレーム内予測部９０７に入力される。【０１４９】
参照信号９１４は、予測切替スイッチ３００１を介して、フラグに対応する予測部へと入力される。参照信号９１４が画素適応予測部３００２へ入力されると、予測制御部３００７は、予測モード情報９０９を画素適応予測部３００２へ入力する。この情報を基に、画素適応予測部３００２は、画素適応予測を行い、予測信号９１３を生成する。参照信号９１４が方向予測部３００３へ入力されると、予測制御部３００７は、予測モード情報９０９を方向予測部３００３へ入力する。この情報を基に、方向予測部３００３は、方向予測を行い、予測信号９１３を生成する。参照信号９１４が固定モード予測部３００４へ入力されると、予測制御部３００７は、予測モード情報９０９を固定モード予測部３００４へ入力する。この情報を基に、固定モード予測３００４は、固定モード予測を行い、予測信号９１３を生成する。このようにして、予測部３００２，３００３，３００４で予測されている予測信号９１６は、フレーム内予測部９０７の外部へと出力される。【０１５０】
続いて、各予測部３００２，３００３，３００４の予測方法について説明する。これらの予測部は参照画像メモリ９０６に保持されている既に復号済みの参照信号９１４を用いて、予測対象になるブロックの予測を行う。予測モードは９通りあり、図５Aに示されるそれぞれ２２．５度づつ異なる予測方向を持っている。モード０からモード８まで規定されており、モード２は、方向予測部３００３ではＤＣ予測となっている。方向予測部３００３で行われる方向予測モードと画素適応予測部３００２で行われる画素適応予測モードの名称が図９で示されている。４ｘ４画素予測の予測ブロックと参照画素との関係が図５Bに示されている。大文字ＡからＭまでの画素が参照画素であり、小文字ａからｐまでの画素が予測画素である。【０１５１】
最初に方向予測部３００３による予測方法を説明する。方向予測部３００３では、モード２のＤＣ予測が選択されている場合、式（２）を用いて予測画素が計算される。参照画素が利用できない時は、利用できる参照画素の平均値で予測される。利用できる参照画素が１つも存在しない場合は、当該符号化装置の最大輝度値の半分の値（８ビットなら１２８）で予測値が計算される。その他のモードが選択されている場合、方向予測部３００３は、図５Aで示される予測方向に対して、参照画素から補間されている予測値をコピーする予測方法を用いる。例えば、モード０（垂直予測）が選択されている場合の予測値生成方法は式（３）を用いる。このモードは、参照画素ＡからＤまでが利用できるときだけ、選択することが可能である。この予測方法では図５Cに示されるように参照画素Ａ〜Ｄの輝度値がそのまま垂直方向にコピーされ、予測値として補填される。【０１５２】
予測モード０，２以外の予測方法に関してもほぼ同様の枠組みが用いられており、予測方向に対して利用できる参照画素から補間値を生成し、その値を予測方向に応じてコピーするという予測を行う。【０１５３】
画素適応予測部３００２について説明する。予測モードは図５Aで説明したものと同一である。画素適応予測部３００２は、予測画素と参照画素の距離に応じて、利用する参照画素の数が変わる予測を行い、画素単位に予測値が変わる。利用する参照画素の重み付けテーブルを、距離に応じて変更することでより、精度の高い予測値の生成が可能になる。【０１５４】
図６Ａに参照画素と予測ブロックの関係を示している。図６Ａと図５Ｂで示される参照画素と予測画素は１対１に対応しているが、予測式の説明をし易くするために、異なるインデックスをこれら画素に与えている。参照画素はｘ００からｘ０８までと、ｘ０９、ｘ１８、ｘ２７、ｘ３６の１３個である。予測画素はｘ１０からｘ１３、ｘ１９からｘ２２、ｘ２８からｘ３１、ｘ３７からｘ４０までの１６個である。ｘ１４からｘ１７、ｘ２３からｘ２６、ｘ３２からｘ３５、ｘ４１からｘ４４までの１６画素は、予測補助画素であり、予測精度を高めるために利用される。【０１５５】
画素適応垂直予測（モード０）に関して予測値生成方法を詳細に説明する。図６Bに画素適応垂直予測の予測方法を示している。図６Ｂから分かるように、参照画素と対象予測画素との距離が離れるほど、多くの参照画素を利用して予測値が決定される。【０１５６】
具体的に予測値生成方法を説明する。画素適応垂直予測では、式（５）を用いて予測画素を計算する。ｎは図６Ａで示される予測画素位置（ｘ１０からｘ１３、ｘ１９からｘ２２、ｘ２８からｘ３１、ｘ３７からｘ４０）に対応するインデックスを示す。ｄは式（６）で与えられる。参照画素と予測画素の距離に応じて式（５）を展開すると式（７）のような予測式になる。Ｌは参照画素と予測画素の距離を表している。Ｖｉは対応する予測モードに応じて決定されるインデックスである。ｈｉはフィルタ係数を表しており、Ｌによってタップ数が変化する。【０１５７】
参照画素から予測方向に対して１つ離れた予測画素は、３つの参照画素を用い式（８）で予測される。ここでｎにはＬ＝１（ｘ１０からｘ１３）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、２、１）であり、Ｖｉ＝（ｄ＋１、ｄ、ｄ−１）が対応する。【０１５８】
参照画素に対して予測方向に対して２つ離れた予測画素は５つの参照画素を用い式（９）で予測される。ｎにはＬ＝２（ｘ１９からｘ２２）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、４、６、４、１）であり、Ｖｉ＝（２ｄ＋２、２ｄ＋１、２ｄ、２ｄ−１、２ｄ−２）が対応する。【０１５９】
参照画素から予測方向に対して３つ離れた予測画素は７つの参照画素を用い式（１０）で予測される。ｎにはＬ＝３（ｘ２８からｘ３１）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、６、１５、２０、１５、６、１）であり、Ｖｉ＝（３ｄ＋３、３ｄ＋２、３ｄ＋１、３ｄ、３ｄ−１、３ｄ−２、３ｄ−３）が対応する。【０１６０】
参照画素から予測方向に対して４つ離れた予測画素は９つの参照画素を用い式（１０）で予測される。ここでｎにはＬ＝４（ｘ３７からｘ４０）に対応するインデックスが入る。フィルタ係数はｈｉ＝（１、８、２８、５６、７０、５６、２８、８、１）であり、Ｖｉ＝（４ｄ＋4、４ｄ＋３、４ｄ＋２、４ｄ＋１、４ｄ、４ｄ−１、４ｄ−２、４ｄ−３、４ｄ−４）が対応する。【０１６１】
それぞれのモードに対する予測式を説明する。画素適応水平予測（モード１）は式（１４）を用いて予測を行う。画素適応左上予測（モード２）は式（１５）を用いて予測を行う。画素適応直交左下予測（モード３）は式（１６）を用いて予測を行う。画素適応直交右下予測（モード４）は式（１７）を用いて予測を行う。画素適応垂直左予測（モード５）は式（１８）を用いて予測を行う。画素適応水平下予測（モード６）は式（１９）を用いて予測を行う。画素適応垂直左予測（モード７）は式（２０）を用いて予測を行う。画素適応水平上予測（モード８）は式（２１）を用いて予測を行う。当該予測画素値を求めるためには、必要な予測済み画像を代入して展開することで、必要になる参照画素及び参照画素数、重み付けテーブルが割り出せる。【０１６２】
参照画素が存在しない場合には、画素適応垂直方向予測と同様、参照画素の補填を行う。例えば、画素適応水平予測でｘ３７を予測する場合、ｘ４５の参照画素が利用できない。よってこの参照画素をｘ３６で補填する。  
上述したように、画素適応予測部３００２により予測画像生成方法が実行される。【０１６３】
固定モード予測部３００４に関して詳細に説明を行う。固定モード予測部３００４は、モード情報の予測を行い、決められた予測モードで、画素適応予測もしくは方向予測を行う。モード情報の予測は、予測対象ブロックに隣接する予測ブロックのモード情報を利用する。【０１６４】
図８に４ｘ４画素予測の場合の予測対象ブロックと隣接ブロックの関係を示す。予測対象ブロックCの左の隣接ブロックをＡとし、上の隣接ブロックをＢとする。これら２つの予測モードがｐｒｅｖ＿ｌｅｆｔ＿ｍｏｄｅ、ｐｒｅｖ＿ｕｐｐｅｒ＿ｍｏｄｅとして与えられたとき、当該ブロックの予測モードは式（２３）で決定される。ｃｕｒｒｅｎｔ＿ｍｏｄｅは予測ブロックの予測モードである。関数ｍｉｎ（Ａ，Ｂ）はＡとＢの小さい方の値を返す。このように周囲のブロックの予測モード情報から予測ブロックの予測モード情報を予測するため、予測モード情報を符号化するための符号量を大幅に減らすことが可能な符号化モードの１つである。【０１６５】
画素適応予測部２０１を用いて予測画像を生成するか、方向予測部２０２を用いて予測画像を生成するか、はｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａフラグで決められており、符号化制御部１０８から与えられたｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａフラグ情報に基づいて決定される。【０１６６】
本実施形態では、現在の予測ブロックの予測モード情報は隣接予測ブロックＡおよびＢの予測モード情報に基づいて決定された。本実施形態の変形例として、周囲の予測ブロックの予測モード情報に基づいて決定しても構わない。例えば、予測ブロックＢの右側のブロック、予測ブロックＢの上側のブロック、予測ブロックＡの左側のブロック、および、予測ブロックＡの上側のブロック、の予測モード情報を利用して、現在の予測ブロックの予測モードを決定しても構わない。例えば、周辺予測ブロックの予測モードのうち最も頻度が高い予測モード、周辺予測ブロックの予測モードのメディアン値あるいは周辺予測ブロックの予測モードの平均値を、現在の予測ブロックの予測モードとして決定しても構わない。【０１６７】
画素適応予測と方向予測を切り替える予測切替情報のシンタクス、ｅｘ＿ａｄａｐｔｉｖｅ＿ｉｎｔｒａ＿ｆｌａｇと、固定モード予測を行うシンタクス、ｅｘ＿ｄｉｒｅｃｔ＿ｉｎｔｒａ＿ｆｌａｇの復号化方法は、図１３乃至図２１Ａに示される符号化方法と同じである。【０１６８】
（第５の実施の形態（復号化））
図３１を参照して第２の実施形態に係る復号化装置３１００を説明する。本実施の形態では、第４の実施の形態に対して、フレーム内予測部９０７が第１フレーム内予測部３１０２、第２フレーム内予測部３１０３に変更されている。さらに、ブロックサイズ切替スイッチ３１０１が新たに導入されている。本実施形態では、図２９と同じ構成要素には同一の符号を付けてその説明を省略する。【０１６９】
符号列復号部９０３で復号されている、予測モード情報９０９、予測切替情報９１０、ブロックサイズ切替情報９１５などがブロックサイズ切替スイッチ３１０１及び復号化制御部９０８へ送られる。復号化制御部９０８は、ブロックサイズ切替情報を基に、ブロックサイズ切替スイッチ３１０１を適切な端点へ接続する。【０１７０】
より具体的に説明すると、符号列復号部９０３から与えられるｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｍｏｄｅから、ブロックサイズを判断する。【０１７１】
この情報は４ビットで構成されており、マクロブロック内の８ｘ８画素内で４ｘ４画素予測を行うか、８ｘ８画素予測を行うかを示している。ビットは左上から右下に順に割り振られており、図２８Aに示されるように、Ａ，Ｂ，Ｃ，Ｄの順となっている。ｅｘ＿ａｄａｐｔｉｖｅ＿ｂｌｏｃｋｓｉｚｅ＿ｍｏｄｅの値が１１００であるとき、図２８Bに示されるように、ブロックＡ，Ｂに８ｘ８画素予測が割り当てられており、ブロックＣ，Ｄに４ｘ４画素予測が割り当てられていることが判る。【０１７２】
各ビットの値が０であれば、復号化制御部９０３は、ブロックサイズ切替スイッチ３１０１の出力端を第１フレーム内予測部３１０２へ接続する。第１フレーム内予測部３１０２は、４ｘ４画素予測を４つの４ｘ４画素ブロックに対して行い、予測画像を加算器９０５へ送出する。【０１７３】
当該８ｘ８画素ブロックに対応するビットの値が１であれば、復号化制御部９０８は、ブロックサイズ切替スイッチ３１０１の出力端を第２フレーム内予測部３１０３へ接続する。第２フレーム内予測部３１０３は、８ｘ８画素予測を１つの８ｘ８画素ブロックに対して行い、予測画像を加算器９０５へ送出する。【０１７４】
第１フレーム内予測部３１０２及び第２フレーム内予測部３１０３は、内部構造において図３０に等しく、入力されている予測切替情報を基に、決められたブロックサイズの予測を行い予測信号を出力する。【０１７５】
復号化制御部９０８は、入力バッファ９０１、出力バッファ９１３の制御や、復号化タイミングの制御などのほかに、ブロックサイズ切替スイッチの制御も行う。本実施の形態における予測情報を切り替えるときに必要とされるブロックサイズ切り替え情報のシンタクスは、図２４乃至図２６と同じである。マクロブロックレイヤーからブロックサイズ切替情報を得るのではなく、マクロブロックタイプから当該情報を得ても良い。【０１７６】
図２７はマクロブロックタイプからブロックサイズ切替情報を得る例である。ｍｂ＿ｔｙｐｅが０の場合は４ｘ４画素予測のみでマクロブロックの予測を行う。ｍｂ＿ｔｙｐｅが１の場合は８ｘ８画素予測のみでマクロブロックの予測を行う。ｍｂ＿ｔｙｐｅが１から５の場合はブロックサイズ切替予測を行う。ここでＩｎｔｒａ＿Ａ＿Ｂ＿Ｃ＿Ｄはどのブロックが８ｘ８画素予測を用いているかを示している。図２８ＡにそれぞれＡ，Ｂ，Ｃ，Ｄのブロック位置を示す。【０１７７】
このように本実施形態によると、ブロック毎に精度の高い予測画像生成が可能となり、フレーム内予測を行う場合に、使用する予測モードを、シーケンス、スライス毎或いはマクロブロック毎に変更できるため、主観画質をも考慮した予測画像生成が可能になる。【０１７８】
本実施形態においては動画像符号化を例にとり説明したが、静止画像符号化にも本発明を適用することができる。【０１７９】
本発明によれば、ハードウェアコストを削減しつつ、画面内予測において予測誤差を軽減し、符号化効率を向上させ、十分に視覚特性等も考慮した予測画像を生成できる。
【産業上の利用可能性】
【０１８０】
ビデオ、オーディオ装置、モバイル機器、放送、情報端末、ネットワークなどの各分野に渡り動画像、静止画像、音声などの符号化及び復号化に適用できる。
【図１】
2007063808.tif 000004
【図２】
2007063808.tif 000005
【図３】
2007063808.tif 000006
【図４Ａ】
2007063808.tif 000007
【図４Ｂ】
2007063808.tif 000008
【図４Ｃ】
2007063808.tif 000009
【図４Ｄ】
2007063808.tif 000010
【図４Ｅ】
2007063808.tif 000011
【図５Ａ】
2007063808.tif 000012
【図５Ｂ】
2007063808.tif 000013
【図５Ｃ】
2007063808.tif 000014
【図５Ｄ】
2007063808.tif 000015
【図６Ａ】
2007063808.tif 000016
【図６Ｂ】
2007063808.tif 000017
【図６Ｃ】
2007063808.tif 000018
【図７】
2007063808.tif 000019
【図８】
2007063808.tif 000020
【図９】
2007063808.tif 000021
【図１０】
2007063808.tif 000022
【図１１】
2007063808.tif 000023
【図１２】
2007063808.tif 000024
【図１３】
2007063808.tif 000025
【図１４】
2007063808.tif 000026
【図１５】
2007063808.tif 000027
【図１６】
2007063808.tif 000028
【図１７】
2007063808.tif 000029
【図１８】
2007063808.tif 000030
【図１９】
2007063808.tif 000031
【図２０】
2007063808.tif 000032
【図２１Ａ】
2007063808.tif 000033
【図２１Ｂ】
2007063808.tif 000034
【図２２】
2007063808.tif 000035
【図２３】
2007063808.tif 000036
【図２４】
2007063808.tif 000037
【図２５】
2007063808.tif 000038
【図２６】
2007063808.tif 000039
【図２７】
2007063808.tif 000040
【図２８Ａ】
2007063808.tif 000041
【図２８Ｂ】
2007063808.tif 000042
【図２９】
2007063808.tif 000043
【図３０】
2007063808.tif 000044
【図３１】
2007063808.tif 000045
【国際調査報告】
2007063808.tif 000046
2007063808.tif 000047
2007063808.tif 000048
2007063808.tif 000049