(57)【特許請求の範囲】
【請求項１】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置において、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成する符号化ブロック予測画像生成部と、
前記符号化ブロックと前記符号化ブロック予測画像の差分である予測誤差画像を生成する予測誤差画像生成部と、
前記予測誤差画像を周波数係数に変換する変換部と、
前記周波数係数を量子化し量子化係数を生成する量子化部と
前記量子化係数を逆量子化し再生周波数係数を生成する逆量子化部と、
前記再生周波数係数を再生予測誤差画像に逆変換する逆変換部と、
前記再生予測誤差画像と前記符号化ブロック予測画像から局部復号画像を生成する局部復号画像生成部と、
前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する境界画素予測値生成部と、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成する境界画素予測誤差推定部と、
前記量子化係数と境界画素予測誤差推定情報から符号化ブロックエントロピー符号化データを生成する量子化係数符号化部と、
を有し、さらに前記量子化係数符号化部は、
前記量子化係数から、値がゼロでないものを有効係数として抽出し、前記有効係数の周波数位置を表す有効係数位置情報、前記有効係数の絶対値である有効係数絶対値情報、前記有効係数の正負の符号を表す有効係数サイン情報を生成する有効係数情報生成部と、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求める有効係数サイン情報予測部と、
前記有効係数位置情報をエントロピー符号化して有効係数位置符号を生成する有効係数位置情報符号化部と、
前記有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成する有効係数絶対値符号化部と、
前記有効係数サイン情報予測値と前記有効係数サイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成する有効係数サイン情報予測符号化部と、
から構成され、前記有効係数位置符号、前記有効係数絶対値符号、及び前記有効係数サイン符号から符号化ブロックエントロピー符号化データを生成する、
ことを特徴とする動画像符号化装置。
【請求項２】
前記有効係数サイン情報予測部は、
前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報で与えられる有効係数の各々に対し、正負いずれかの符号を割り当てた有効係数サイン情報の複数の組合せを有効係数サイン情報候補として生成する有効係数サイン情報候補生成部と、  前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報と前記各有効係数サイン情報候補とから得られる各再生予測誤差信号と、前記境界画素予測誤差推定情報との一致度を計算する一致度計算部と、
前記一致度が最も高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する最尤係数サイン情報決定部と、
からなることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記一致度計算部は、
前記符号化ブロックの前記有効係数位置情報及び前記有効係数絶対値情報を用いて、前記有効係数を、生成される有効係数サイン情報予測値の精度が高いことが期待される有効係数から低い有効係数に並べ替える有効係数並べ替え部と、
前記有効係数並べ替え部で並べ替えられ選択された有効係数に対し、前記各有効係数サイン情報候補の符号を適用し、量子化係数の暫定値である量子化係数暫定値を前記有効係数サイン情報候補毎に生成する量子化係数暫定値生成部と、
前記量子化係数暫定値を逆量子化及び逆直交変換し境界画素のみを選択することで、境界画素の予測誤差暫定値である再生境界画素予測誤差暫定値を前記有効係数サイン情報候補毎に生成する境界画素予測誤算暫定値生成部と、
前記各境界画素予測誤差暫定値と、前記境界画素予測誤差推定値との一致度を計算する予測誤差一致度計算部と、
からなることを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記有効係数サイン情報予測部は、
前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報で与えられる有効係数の各々に対し、正負いずれかの符号を割り当てた有効係数サイン情報の複数の組合せをグレイコードの各ビット位置の０又は１に対応するように有効係数サイン情報候補として生成するグレイコード順有効係数サイン情報候補生成部と、
直前の有効係数サイン情報候補と評価対象の有効係数サイン情報候補との間で、符号が異なる有効係数を特定し、有効係数の符号の変化から一致度のコスト計算の過程に与える影響を求め、前記一致度のコストの計算過程に与える変化のみを考慮して、前記直前の有効係数サイン情報候補の一致度のコストと前記評価対象の有効係数サイン情報候補の一致度のコストとの差分を算出し、前記差分を前記直前の有効係数サイン情報候補の一致度のコストに加算することで前記評価対象の有効係数サイン情報候補の一致度のコストを算出するグレイコード順一致度計算部と、
前記一致度が最も高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する最尤係数サイン情報決定部と、
からなることを特徴とする請求項１に記載の動画像符号化装置。
【請求項５】
前記有効係数サイン情報予測符号化部は、前記エントロピー符号化として、算術符号化を行う、
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項６】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置で符号化された符号化ブロックエントロピー符号化データを、ブロック毎に復号する動画復号装置において、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成する符号化ブロック予測画像生成部と、
前記符号化ブロックに隣接する複数の符号化済みブロックの復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する境界画素予測値生成部と、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成する境界画素予測誤差推定部と、
前記符号化ブロックエントロピー符号化データと前記境界画素予測誤差推定情報から量子化係数を生成する量子化係数復号部と、
前記量子化係数を逆量子化し再生周波数係数を生成する逆量子化部と、
前記再生周波数係数を再生予測誤差画像に逆変換する逆変換部と、
前記再生予測誤差画像と前記符号化ブロック予測画像から復号画像を生成する復号画像生成部と、
を有し、さらに前記量子化係数復号部は、
前記符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号する有効係数位置情報復号部と、
符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号する有効係数絶対値情報復号部と、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求める有効係数サイン情報予測部と、
前記有効係数サイン情報予測値と、前記符号化ブロックエントロピー符号化データから復号したサイン予測値一致情報に基づいて、前記有効係数のサイン情報である有効係数サイン情報を復号する有効係数サイン情報予測復号部と、
から構成され、前記有効係数絶対値情報、前記有効係数位置情報、及び前記有効係数サイン情報から前記符号化ブロックの量子化係数を生成する、
ことを特徴とする動画像復号装置。
【請求項７】
前記有効係数サイン情報予測部は、
前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報で与えられる有効係数の各々に対し、正負いずれかの符号を割り当てた有効係数サイン情報の複数の組合せを有効係数サイン情報候補として生成する有効係数サイン情報候補生成部と、  前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報と前記各有効係数サイン情報候補とから得られる各再生予測誤差信号と、前記境界画素予測誤差推定情報との一致度を計算する一致度計算部と、
前記一致度が最も高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する最尤係数サイン情報決定部と、
からなることを特徴とする請求項６に記載の動画像復号装置。
【請求項８】
前記一致度計算部は、
前記符号化ブロックの前記有効係数位置情報及び前記有効係数絶対値情報を用いて、前記有効係数を、生成される有効係数サイン情報予測値の精度が高いことが期待される有効係数から低い有効係数に並べ替える有効係数並べ替え部と、
前記有効係数並べ替え部で並べ替えられ選択された有効係数に対し、前記各有効係数サイン情報候補の符号を適用し、量子化係数の暫定値である量子化係数暫定値を前記有効係数サイン情報候補毎に生成する量子化係数暫定値生成部と、
前記量子化係数暫定値を逆量子化及び逆直交変換し境界画素のみを選択することで、境界画素の予測誤差暫定値である境界画素予測誤差暫定値を前記有効係数サイン情報候補毎に生成する境界画素予測誤算暫定値生成部と、
前記各境界画素予測誤差暫定値と、前記境界画素予測誤差推定値との一致度を計算する予測誤差一致度計算部と、
からなることを特徴とする請求項７に記載の動画像復号装置。
【請求項９】
前記有効係数サイン情報予測部は、
前記符号化ブロックにおける前記有効係数位置情報及び前記有効係数絶対値情報で与えられる有効係数の各々に対し、正負いずれかの符号を割り当てた有効係数サイン情報の複数の組合せをグレイコードの各ビット位置の０又は１に対応するように有効係数サイン情報候補として生成するグレイコード順有効係数サイン情報候補生成部と、
直前の有効係数サイン情報候補と評価対象の有効係数サイン情報候補との間で、符号が異なる有効係数を特定し、有効係数の符号の変化から一致度のコスト計算の過程に与える影響を求め、前記一致度のコストの計算過程に与える変化のみを考慮して、前記直前の有効係数サイン情報候補の一致度のコストと前記評価対象の有効係数サイン情報候補の一致度のコストとの差分を算出し、前記差分を前記直前の有効係数サイン情報候補の一致度のコストに加算することで前記評価対象の有効係数サイン情報候補の一致度のコストを算出するグレイコード順一致度計算部と、
前記一致度が最も高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する最尤係数サイン情報決定部と、
からなることを特徴とする請求項６に記載の動画像復号装置。
【請求項１０】
対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行なう符号化装置であって、
局部復号により得られる復号済みのブロックに含まれる画像と前記符号化ブロックの予測値である符号化ブロック予測画像とから、前記符号化ブロックの中で前記復号済みのブロックに接する境界画素の予測誤差の推定値を求め、前記符号化ブロックと前記符号化ブロック予測画像との差分である予測誤差画像を周波数変換して得られる周波数係数を量子化して得られる量子化係数のうちで値がゼロでないものである有効係数、該有効係数の絶対値である有効係数絶対値情報、及び、該有効係数の周波数位置を表す有効係数位置情報を求め、前記有効係数絶対値情報及び前記有効係数位置情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数の正負を示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差が前記予測誤差の推定値に最も近い組み合わせを求め、前記最も近い組み合わせを、前記有効係数のサイン情報の予測値として求める処理部と、
前記予測値に基づいて前記サイン情報をエントロピー符号化する処理部と、
を備えることを特徴とする画像符号化装置。
【請求項１１】
対象画像を複数のブロックに分割した符号化ブロック毎に符号化された情報の復号装置であって、
復号済みのブロックに含まれる画像と前記符号化ブロックの予測値である符号化ブロック予測画像とから、前記符号化ブロックの中で前記復号済みのブロックに接する境界画素の予測誤差の推定値を求め、前記符号化ブロックと前記符号化ブロック予測画像との差分である予測誤差画像を周波数変換して得られる周波数係数を量子化して得られる量子化係数のうちで値がゼロでないものである有効係数、該有効係数の絶対値である有効係数絶対値情報、及び、該有効係数の周波数位置を表す有効係数位置情報を求め、前記有効係数絶対値情報及び前記有効係数位置情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数の正負を示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差が前記予測誤差の推定値に最も近い組み合わせを求め、前記最も近い組み合わせを、前記有効係数のサイン情報の予測値として求める処理部と、
前記予測値に基づいて前記サイン情報を復号する処理部と、
を備えることを特徴とする画像復号装置。
【請求項１２】
対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行なう符号化方法であって、
局部復号により得られる復号済みのブロックに含まれる画像と前記符号化ブロックの予測値である符号化ブロック予測画像とから、前記符号化ブロックの中で前記復号済みのブロックに接する境界画素の予測誤差の推定値を求め、前記符号化ブロックと前記符号化ブロック予測画像との差分である予測誤差画像を周波数変換して得られる周波数係数を量子化して得られる量子化係数のうちで値がゼロでないものである有効係数、該有効係数の絶対値である有効係数絶対値情報、及び、該有効係数の周波数位置を表す有効係数位置情報を求め、前記有効係数絶対値情報及び前記有効係数位置情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数の正負を示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差が前記予測誤差の推定値に最も近い組み合わせを求め、前記最も近い組み合わせを、前記有効係数のサイン情報の予測値として求め、
前記予測値に基づいて前記サイン情報をエントロピー符号化する、
ことを特徴とする画像符号化方法。
【請求項１３】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化方法において、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成し、
前記符号化ブロックと前記符号化ブロック予測画像の差分である予測誤差画像を生成し、
前記予測誤差画像を周波数係数に変換し、
前記周波数係数を量子化し量子化係数を生成し、
前記量子化係数を逆量子化し再生周波数係数を生成し、
前記再生周波数係数を再生予測誤差画像に逆変換し、
前記再生予測誤差画像と前記符号化ブロック予測画像から局部復号画像を生成し、
前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成し、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成し、
前記量子化係数と境界画素予測誤差推定情報から符号化ブロックエントロピー符号化データを生成する量子化係数符号化を実行し、
さらに前記量子化係数符号化において、
前記量子化係数から、値がゼロでないものを有効係数として抽出し、前記有効係数の周波数位置を表す有効係数位置情報、前記有効係数の絶対値である有効係数絶対値情報、前記有効係数の正負の符号を表す有効係数サイン情報を生成し、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求め、
前記有効係数位置情報をエントロピー符号化して有効係数位置符号を生成し、
前記有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成し、
前記有効係数サイン情報予測値と前記有効係数サイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成し、
前記有効係数位置符号、前記有効係数絶対値符、及び前記有効係数サイン符号から符号化ブロックエントロピー符号化データを生成する、
ことを特徴とする動画像符号化方法。
【請求項１４】
対象画像を複数のブロックに分割した符号化ブロック毎に符号化された情報の復号方法であって、
復号済みのブロックに含まれる画像と前記符号化ブロックの予測値である符号化ブロック予測画像とから、前記符号化ブロックの中で前記復号済みのブロックに接する境界画素の予測誤差の推定値を求め、前記符号化ブロックと前記符号化ブロック予測画像との差分である予測誤差画像を周波数変換して得られる周波数係数を量子化して得られる量子化係数のうちで値がゼロでないものである有効係数、該有効係数の絶対値である有効係数絶対値情報、及び、該有効係数の周波数位置を表す有効係数位置情報を求め、前記有効係数絶対値情報及び前記有効係数位置情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数の正負を示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差が前記予測誤差の推定値に最も近い組み合わせを求め、前記最も近い組み合わせを、前記有効係数のサイン情報の予測値として求め、
前記予測値に基づいて前記サイン情報を復号する、
ことを特徴とする画像復号方法。
【請求項１５】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置で符号化された符号化ブロックエントロピー符号化データを、ブロック毎に復号する動画復号方法において、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成し、
前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成し、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成し、
前記符号化ブロックエントロピー符号化データと前記境界画素予測誤差推定情報から量子化係数を生成する量子化係数復号を実行し、
前記量子化係数を逆量子化し再生周波数係数を生成し、
前記再生周波数係数を再生予測誤差画像に逆変換し、
前記再生予測誤差画像と前記符号化ブロック予測画像から復号画像を生成し、
さらに前記量子化係数復号において、
前記符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号し、
符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号し、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求め、
前記有効係数サイン情報予測値と、前記符号化ブロックエントロピー符号化データから復号したサイン予測値一致情報に基づいて、前記有効係数のサイン情報である有効係数サイン情報を復号し、
前記有効係数絶対値情報、前記有効係数位置情報、及び前記有効係数サイン情報から前記符号化ブロックの量子化係数を生成する、
ことを特徴とする動画像復号方法。
【請求項１６】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化を行うコンピュータに、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成し、
前記符号化ブロックと前記符号化ブロック予測画像の差分である予測誤差画像を生成し、
前記予測誤差画像を周波数係数に変換し、
前記周波数係数を量子化し量子化係数を生成し、
前記量子化係数を逆量子化し再生周波数係数を生成し、
前記再生周波数係数を再生予測誤差画像に逆変換し、
前記再生予測誤差画像と前記符号化ブロック予測画像から局部復号画像を生成し、
前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成し、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成し、
前記量子化係数と境界画素予測誤差推定情報から符号化ブロックエントロピー符号化データを生成する量子化係数符号化を実行し、
さらに前記量子化係数符号化において、
前記量子化係数から、値がゼロでないものを有効係数として抽出し、前記有効係数の周波数位置を表す有効係数位置情報、前記有効係数の絶対値である有効係数絶対値情報、前記有効係数の正負の符号を表す有効係数サイン情報を生成し、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求め、
前記有効係数位置情報をエントロピー符号化して有効係数位置符号を生成し、
前記有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成し、
前記有効係数サイン情報予測値と前記有効係数サイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成し、
前記有効係数位置符号、前記有効係数絶対値符、及び前記有効係数サイン符号から符号化ブロックエントロピー符号化データを生成する、
機能を実行させるためのプログラム。
【請求項１７】
符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置で符号化された符号化ブロックエントロピー符号化データを、ブロック毎に復号する動画復号を行うコンピュータに、
前記符号化ブロックの予測値である符号化ブロック予測画像を生成し、
前記符号化ブロックに隣接する複数の符号化済みブロックの復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成し、
前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成し、
前記符号化ブロックエントロピー符号化データと前記境界画素予測誤差推定情報から量子化係数を生成する量子化係数復号を実行し、
前記量子化係数を逆量子化し再生周波数係数を生成し、
前記再生周波数係数を再生予測誤差画像に逆変換し、
前記再生予測誤差画像と前記符号化ブロック予測画像から復号画像を生成し、
さらに前記量子化係数復号において、
前記符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号し、
符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号し、
前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求め、
前記有効係数サイン情報予測値と、前記符号化ブロックエントロピー符号化データから復号したサイン予測値一致情報に基づいて、前記有効係数のサイン情報である有効係数サイン情報を復号し、
前記有効係数絶対値情報、前記有効係数位置情報、及び前記有効係数サイン情報から前記符号化ブロックの量子化係数を生成する、
機能を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
直交変換等の周波数変換を用いる画像符号化装置、方法、プログラム及び画像復号装置、方法、プログラムに関する。
【背景技術】
【０００２】
画像データ、特に動画像データは、一般にデータ量が大きいので、送信装置から受信装置へ伝送される際、あるいは記憶装置に格納される際などには、高能率符号化が行われる。ここで、「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。【０００３】
動画像等の高能率画像符号化で用いられている方式として、予測符号化方式がある。予測符号化方式では、符号化対象画像を複数のブロックに分割した符号化対象ブロック毎に、局部復号処理に基づいて生成される符号化対象ブロック予測画像との差分が計算され、予測誤差画像が生成される。そして、その予測誤差画像に対して直交変換を行って得られる周波数係数が量子化され、その結果得られる量子化係数が符号化されて復号側に送られる。【０００４】
このような予測符号化方式に加えて、画像を周波数領域に変換された係数には、低周波に近い係数の頻度への偏りが高いことを利用した例えば画像のエントロピー符号化方式が広く用いられている。【０００５】
しかしながら、近年の画像等の高画質化等に伴い、より高い効率の画像符号化技術が求められてきている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許公報第２，６３２，０５８号
【非特許文献】
【０００７】
【非特許文献１】電子情報通信学会論文誌 B  Vol.J65-B  No.1  pp.23-30，『画面の領域分割に基づく画素適応形DPCM符号化方式の設計手法』
【非特許文献２】Ian H.Witten et.al., “Arithmetic coding for data compression, Communication of the ACM, June 1987, Vol 30, No.6, pp.520-530
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の１つの側面は、画像をより高い能率で符号化し、及びこの符号化された情報を復号することである。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置において、前記符号化ブロックの予測値である符号化ブロック予測画像を生成する符号化ブロック予測画像生成部と、前記符号化ブロックと前記符号化ブロック予測画像の差分である予測誤差画像を生成する予測誤差画像生成部と、前記予測誤差画像を周波数係数に変換する変換部と、前記周波数係数を量子化し量子化係数を生成する量子化部と前記量子化係数を逆量子化し再生周波数係数を生成する逆量子化部と、前記再生周波数係数を再生予測誤差画像に逆変換する逆変換部と、前記再生予測誤差画像と前記符号化ブロック予測画像から局部復号画像を生成する局部復号画像生成部と、前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する境界画素予測値生成部と、前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成する境界画素予測誤差推定部と、前記量子化係数と境界画素予測誤差推定情報から符号化ブロックエントロピー符号化データを生成する量子化係数符号化部と、有し、さらに前記量子化係数符号化部は、前記量子化係数から、値がゼロでないものを有効係数として抽出し、前記有効係数の周波数位置を表す有効係数位置情報、前記有効係数の絶対値である有効係数絶対値情報、前記有効係数の正負の符号を表す有効係数サイン情報を生成する有効係数情報生成部と、前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求める有効係数サイン情報予測部と、前記有効係数位置情報をエントロピー符号化して有効係数位置符号を生成する有効係数位置情報符号化部と、前記有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成する有効係数絶対値符号化部と、前記有効係数サイン情報予測値と前記有効係数サイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成する有効係数サイン情報予測符号化部とから構成され、前記有効係数位置符号、前記有効係数絶対値符号、及び前記有効係数サイン符号から符号化ブロックエントロピー符号化データを生成することを特徴とする動画像符号化装置を提供する。
【００１０】
本発明の他の態様によれば、符号化対象画像を複数のブロックに分割した符号化ブロック毎に符号化を行う動画像符号化装置で符号化された符号化ブロックエントロピー符号化データを、ブロック毎に復号する動画復号装置において、前記符号化ブロックの予測値である符号化ブロック予測画像を生成する符号化ブロック予測画像生成部と、前記符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、前記符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する境界画素予測値生成部と、前記境界画素に対して、前記境界画素予測値と前記符号化ブロック予測画像から境界画素予測誤差推定情報を生成する境界画素予測誤差推定部と、前記符号化ブロックエントロピー符号化データと前記境界画素予測誤差推定情報から量子化係数を生成する量子化係数復号部と、前記量子化係数を逆量子化し再生周波数係数を生成する逆量子化部と、前記再生周波数係数を再生予測誤差画像に逆変換する逆変換部と、前記再生予測誤差画像と前記符号化ブロック予測画像から復号画像を生成する復号画像生成部と、有し、さらに前記量子化係数復号部は、前記符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号する有効係数位置情報復号部と、符号化ブロックエントロピー符号化データから、前記符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号する有効係数絶対値情報復号部と、前記有効係数位置情報及び前記有効係数絶対値情報が既知の条件の下で全ての前記有効係数がとり得る、前記有効係数が正か負かを示すサイン情報の組み合わせから、該組み合わせより生成される再生予測誤差信号が前記境界画素予測誤差推定情報に最も近い組み合わせを求め、前記最も近い組み合わせに含まれている前記サイン情報を、前記有効係数のサイン情報の予測値である有効係数サイン情報予測値として求める有効係数サイン情報予測部と、前記有効係数サイン情報予測値と、前記符号化ブロックエントロピー符号化データから復号したサイン予測値一致情報に基づいて、前記有効係数のサイン情報である有効係数サイン情報を復号する有効係数サイン情報予測復号部とから構成され、前記有効係数絶対値情報、前記有効係数位置情報、及び前記有効係数サイン情報から前記符号化ブロックの量子化係数を生成することを特徴とする動画像復号装置を提供する。
【発明の効果】
【００１１】
本発明の一態様によれば、サイン情報とその予測値が一致することを少なくとも含むサイン情報一致情報に対して適切なエントロピー符号化を行うことにより、画素あたりサイン情報の１シンボルを平均１ビット未満で符号化することができ、サイン情報の情報量をより削減することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】符号化対象画像のマクロブロック及びサブブロックへの分割の説明図である。
【図２】画像符号化装置を示す図である。
【図３】４点 アダマール変換の係数の説明図である。
【図４】4x4ブロックの値の例を示す図である。
【図５】量子化係数のジクザク順の例を示す図である。
【図６】量子化係数をジグザグスキャンして有効係数情報に変換する例を示す図である。
【図７】図２の量子化係数符号化部の詳細構成図である。
【図８】図２に対応する画像復号装置の構成を示す図である。
【図９】第１の実施形態の符号化装置を示す図である。
【図１０】第１の実施形態における図９の量子化係数符号化部の構成を示す図である。
【図１１】第２の実施形態の復号装置を示す図である。
【図１２】第２の実施形態における図１１の量子化係数復号部の構成を示す図である。
【図１３】第１の実施形態および第２の実施形態で共通な、有効係数サイン情報予測部1024を示す図である。、
【図１４】有効係数サイン情報予測部1024の他の実現形態である第３の実施形態を示す図である。、
【図１５】第４の実施形態の符号化装置を示す図である。
【図１６】第４の実施形態の符号化対象ブロックの境界画素の例を示す図である。
【図１７】第４の実施形態における境界画素予測値生成部の処理を説明する図である。
【図１８】第４の実施形態における境界画素予測誤差推定部の処理を示す図である。
【図１９】第４の実施形態における量子化係数符号化部を示す図である。
【図２０】第４の実施形態における有効係数サイン情報予測部を示す図である。
【図２１】第４の実施形態における有効係数並べ替え部の処理を示す図である。
【図２２】第４の実施形態における有効係数サイン情報候補生成部の処理を示す図である。
【図２３】第４の実施形態における量子化係数暫定値生成部の処理を示す図である。
【図２４】第４の実施形態における境界画素予測誤差暫定値生成部、予測誤差一致度計算部、最尤係数サイン情報決定部の処理例を示す図である。
【図２５】第４の実施形態における有効係数サイン情報予測符号化部を示す図である。
【図２６】第４の実施形態におけるサイン予測値一致情報生成部の処理を説明する図である。
【図２７】第４の実施形態における有効係数サイン情報エントロピー符号化部を示す図である。
【図２８】サイン予測値一致情報の例と使用する符号化器の例を示す図である。
【図２９】サイン予測値一致情報の符号化に用いる算術符号選択処理を説明するフローチャートである。
【図３０】符号化ブロックエントロピー符号化データを生成する構成例を説明する図である。
【図３１】第５の実施形態に基づく復号装置を示す図である。
【図３２】第５の実施形態における量子化係数復号部を示す図である。
【図３３】第５の実施形態における有効係数サイン情報予測復号部を示す図である。
【図３４】第５の実施形態におけるサイン予測値一致情報エントロピー復号部を示す図である。
【図３５】サイン予測値一致情報の使用する復号装置の例を示す図である。
【図３６】サイン予測値一致情報の復号に用いる算術復号選択処理を説明するフローチャートである。
【図３７】第５の実施形態におけるサイン情報再生部3302の処理を説明する図である。
【図３８】第６の実施形態の４点アダマール変換を構成する直交基底ベクトルを説明する図である。
【図３９】４点 アダマール変換の累積和表現を説明する図である。
【図４０】再生予測誤差の上境界4画素／左境界4画素と再生周波数係数の関係を説明する図である。
【図４１】境界画素予測誤差推定値の上／左境界画素のベクトル表現の定義を説明する図である。
【図４２】第６の実施形態における有効係数サイン情報予測部を示す図である。
【図４３】４個の係数を検査対象係数とする場合のGrayコードに基づく有効係数サイン情報候補の例を示す図である。
【図４４】第６の実施形態における有効係数サイン情報予測値の導出処理のフローチャートである。
【図４５】第６の実施形態における変数・定数の設定ステップS4401のフローチャートである。
【図４６】第６の実施形態におけるテーブル初期化ステップS4403のフローチャートである。
【図４７】第６の実施形態におけるGrayコード順有効係数サイン情報候補前値差分情報生成ステップS4404のフローチャートである。
【図４８】第６の実施形態におけるコスト更新ステップS4405のフローチャートである。
【図４９】第６の実施形態における有効係数サイン情報予測値生成ステップS4410のフローチャートである。
【図５０】各実施形態及びその変形例を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、国際動画像符号化標準であるITU-T H.264方式の説明図である。図１において、動画像は、入力されたフレーム100を複数のブロックに分割し、ブロック単位、あるいは複数のブロック単位で符号化が行われる。図１は、H.264におけるブロック分割の例を示す。国際動画像符号化標準であるITU-T H.264では、まず、画像のフレーム100を16x16画素からなるマクロブロック103に分割する。そして、このマクロブロックを符号化するために、直交変換として4x4と8x8の一方が選択される。そして、この選択された直交変換に応じて、マクロブロック103をさらに4x4ブロック(102)あるいは8x8ブロック(101)に分割し、このブロックを符号化単位として符号化が行われる。
【００１４】
図２は、画像を複数のブロックに分割し、ブロック単位に符号化する画像符号化装置を示す。ITU-T H.264の場合には、符号化ブロックは4x4あるいは8x8である。
まず、符号化対象ブロックである符号化ブロックを復号するために、符号化ブロックと相関性が高い予測画像である符号化ブロック予測画像が生成される。ITU-T H.264では、インター予測画像生成部とイントラ予測画像生成部等がある。インター予測画像生成部は、過去に復号された復号画像の中から符号化ブロックと類似した領域を選択し符号化ブロック予測画像として出力する。イントラ予測画像生成部は、現符号化画像の既に符号化済みの周辺のブロックの局部復号画像から符号化ブロックと類似した画像を外挿予測により生成し符号化ブロック予測画像として出力する。以後、インター予測画像生成部、およびイントラ予測画像生成部の両方をまとめて符号化ブロック予測画像生成部200とする。ここで、インター予測画像生成部で用いた、符号化対象ブロックと復号画像のブロックの相対位置をしめす動きベクトル情報や、イントラ予測のモードなどのサイド情報は、サイド情報符号化部209によりエントロピー符号化されビットストリームに重畳される。ここでエントロピー符号化とはデータの出現頻度を利用して、データを最適に圧縮する技術である。
【００１５】
次に、予測誤差画像生成部201において、符号化ブロックと符号化ブロック予測画像との差分を計算し、予測誤差画像を生成する。
そして、変換部202において、離散コサイン変換やアダマール変換などの周波数変換をもちいて、予測誤差画像を周波数係数に変換する。
【００１６】
そして、量子化部203において、周波数係数を量子化し量子化係数を生成する。一般に、量子化は、周波数係数を適切な量子化器で除算し整数化した値を量子化係数として出力することで実現される。また、量子化器は、係数の周波数成分位置毎に切り替えることも、他の国際動画像符号化標準であるMPEG-2や前述のH.264では行われている。
【００１７】
そして、逆量子化部204において、量子化係数は逆量子化され、再生周波数係数が生成される。ここでは、一般に量子化部203で用いられた量子化器が量子化係数に乗ずることで逆量子化が実現される。
【００１８】
そして、逆変換部205において、再生予測誤差画像に対し、変換部で用いられた周波数変換に対応する逆周波数変換を適用し、再生予測誤差画像が生成される。
そして、局部復号画像生成部206において、符号化ブロック予測画像と再生予測誤差画像が加算され、局部復号画像が生成さる。
【００１９】
この局部復号画像は、復号画像蓄積部208に蓄積され、次フレーム以降のインター予測画像生成に用いられるとともに、符号化対象フレームのイントラ予測画像生成に用いられる。
そして、量子化係数は、量子化係数符号化部207によりエントロピー符号化され、符号化ブロック単位に符号化ブロックエントロピー符号化データが生成される。
【００２０】
図３は、図２の変換部202の動作説明図である。図３において、変換部202で用いられる変換の例として、301はアダマール直交変換の基底を示したものである。この変換は４点の画像を４点の周波数へ変換する。周波数０の基底の画素０乃至３の係数の値は0.5, 0.5, 0.5, 0.5である。また周波数１の基底の画素０乃至３の係数の値は0.5, 0.5, -0.5, -0.5である。同様に周波数２、３に対しても画素０乃至３の係数の値が301のように定義されている。
【００２１】
4x4ブロックの予測誤差画像の周波数変換は、たとえばアダマール直交変換で垂直及び水平方向に変換することで実現できる。具体的には、垂直方向の周波数変換は、4x4の変換対象の画像を行列表現し、この画像に対しアダマール直交変換行列を左から掛けることで実現できる。また、水平方向の変換は、前記の結果に対し、アダマール直交変換行列を転置したものを右からかけることで実現できる。その結果、4x4ブロックの大きさの予測誤差画像に対して、周波数係数を得ることができる。
【００２２】
図４は、図２に示した符号化装置の処理動作説明図であり、4x4ブロック変換の処理を例として、4x4ブロックの各画素の例におけるデータの値の変化を中心に示したものである。また、ここでは、変換部として、図３のアダマール変換を用いている。
【００２３】
符号化対象ブロック451は、図１の4x4ブロック102を構成する１６個のブロックの一つのブロックに対応し、１６個の画素からなる。符号化対象ブロック（図２の符号化ブロックに対応）451の画素値に対し、例えば時間的に１個前のフレームからあるいは空間的に隣接する画像から符号化対象ブロック予測画像ブロック450の画素値が生成され、これらの画素値の差分が予測誤差画像生成部で計算され、予測誤差画像ブロック452の画素値が生成される。ここで画素値は各画素の階調を示す値である。
【００２４】
この4x4ブロックの予測誤差画像ブロック452の画素値は図３のアダマール変換基底により周波数に変換され、周波数係数ブロック453の値が得られる。この図において周波数係数は、水平方向が水平周波数成分、垂直方向が垂直周波数成分を表し、左および上が水平・垂直成分の低周波、右及び下が水平及び垂直成分の高周波を表す。
【００２５】
次に、この周波数係数ブロック453の値は、量子化部で量子化される。一般に、量子化は、周波数係数を、量子化器という定数で除算することにより行われる。量子化の方法は、各係数をｆ、量子化器をＱ、量子化係数をＣとすると、たとえば以下の式で計算される。
【数１】
0005533886.tif 000002
【００２６】
ここでsign(x)は、xが正ならば１、負ならば-1の値を返す関数である。また、int(x)は、xの小数点以下を切り捨てて整数化する関数、abs(x)はxの絶対値を返す関数である。
この例の場合では、量子化器は３である。よって、DC成分の周波数係数ブロック453の値は値が-7.25であるので
【数２】
0005533886.tif 000003
と計算され、量子化係数として値−２に変換される。他の周波数の係数も同様に量子化され、量子化係数ブロック454の値を得る。
【００２７】
そして、この量子化係数は、量子化係数符号化部で符号化ブロックエントロピー符号化データブロック458の値に変換される。
【００２８】
そして、この量子化係数は、さらに逆量子化部で逆量子化される。逆量子化の方法は、たとえば、逆量子化係数に、量子化で用いた逆量子化器を乗ずることで計算される。すなわち、量子化係数をＣ、量子化器をＱ、再生周波数係数をf’とすると、
【数３】
0005533886.tif 000004
で表される。この式に従えば、たとえば、DC成分の量子化係数ブロック454の値は−２であるので、
【数４】
0005533886.tif 000005
と計算され、再生周波数係数として値−６に変換される。他の周波数の係数も同様に処理され、再生周波数係数ブロック455の値を得る。
【００２９】
そして、逆変換部で、再生周波数係数が逆変換され、再生予測誤差画像ブロック456の画素値が生成される。そして、この再生予測誤差画像は、局部復号画像生成部により符号化対象ブロックの予測画像ブロック450の画素値と加算され、局部復号画像ブロック457の画素値が生成される。再生予測誤差画像ブロック456の各画素値は予測誤差画像ブロック452の各画素値と若干異なる。
【００３０】
次に、量子化係数の符号化方法について説明する。
一般に、周波数に変換された係数は、低周波の値が大きいということがいえる。よって、量子化した係数は、高周波ほど量子化器より小さい周波数が存在する確率が大きくなる。ここで、数１式によれば、周波数係数が量子化器の１／２、すなわちＱ／２より小さいものは、量子化したあとの量子化係数が０となる。実際、図４の量子化係数ブロック454の値においても、高周波の係数が０になっていることがわかる。
【００３１】
この特徴を利用して、量子化係数を符号化するために、低周波から高周波に係数を並べ替え、ゼロでない係数だけを特別に扱って符号化する方法が、多くの画像符号化標準で広く用いられている。この並べ替え順番のことを、一般にジグザグスキャンという。ジグザグスキャンの一例を図５に示す。この例は4x4ブロックの１ブロック（符号化対象ブロック451）を構成する１６画素に対応する１６個の量子化係数の並べ替え順番を示し、図中の１，２，３，・・・１５の順番で、低周波から高周波へジグザグに係数をスキャンして並べ替える。
【００３２】
図６は、図４の量子化係数ブロック454の値をジグザグスキャンし、ゼロでない有効係数情報に変換する例を示す。
ゼロでない係数である有効係数情報を抽出し、各有効係数からジグザグスキャンにおける位置情報、有効係数の絶対値、有効係数の正負を表すサイン情報を取り出す。この図の例では、サイン情報として、量子化係数が正の場合には０、負の場合には１を割り当てる。この図の量子化係数の場合においては、ジグザグスキャン順で有効係数の番号が１番目のものは、有効係数位置情報が１、有効係数絶対値情報が２、有効係数サイン情報が１、となる。同様に２番目の番号の有効係数は有効係数位置情報が２、有効係数絶対値情報が３、有効係数のサイン情報が０となる。順次、同じ要領で変換して、図６のテーブルの情報を得る。
【００３３】
図７は、上記の説明を踏まえた、図２の量子化係数符号化部207の詳細構成図である。
まず、ブロック単位に量子化係数が量子化係数符号化部207に入力される。そして、この量子化係数は、有効係数情報生成部720で、図６で説明した、有効係数位置情報、有効係数絶対値情報、有効係数の正・負を表す有効係数サイン情報に分解される。そして、有効係数位置情報は、より低周波に近い係数の頻度への偏りが高いことを利用して、有効係数位置情報符号化部721にて最適なエントロピー符号が割り当てられ、有効係数位置符号として、効率よく符号化される。同様に、係数の絶対値情報についても、ＤＣ成分に近いほど大きい値が出やすく、逆に高周波に近いほど小さい値が出やすい偏りを利用して、有効係数絶対値情報符号化部722にて最適なエントロピー符号が割り当てられ、有効係数絶対値符号として、効率よく符号化される。たとえば、H.264の算術符号化(CABAC)モードの場合には、有効係数位置情報、有効係数絶対値情報とも、低周波ほど大きい係数が出やすく、高周波ほど係数がでにくいということを反映した、係数のジグザグスキャンの位置に応じて最適な確率テーブルが算術符号に割り当てられ、高効率な符号化を実現している。
【００３４】
一方、係数の正負符号である有効係数サイン情報については、正と負のシンボルがほぼ同じ0.5の確率で発生する。そのため、どのようなエントロピー符号を割り当てても、効率よく符号化することが出来ない。このことから、ITU-T H.261/H.263/H.264、ISO/IEC MPEG-1、MPEG-2、MPEG-4といったすべての動画像符号化標準で、有効係数サイン情報に対しては、１ビットの情報が用いられ、これを有効係数サイン符号として有効係数サイン情報符号化部723より出力する。そして、有効係数位置符号、有効係数絶対値符号、有効係数サイン符号が組み合わされて、符号化ブロックエントロピー符号化データとして出力する。
【００３５】
図８は、図２に対応する画像復号装置の構成を示す図である。
まず量子化係数復号部807で符号化ブロックエントロピー符号化データから逆エントロピー符号化を行なって量子化係数が復号された後、エンコーダと同様に逆量子化部804で逆量子化、逆変換部805で逆変換されて再生予測誤差画像が生成される。そして、符号化ブロック予測画像生成部800で符号化ブロック予測画像が生成され、復号画像生成部806で符号化ブロック予測画像と再生予測誤差画像が加算され復号画像が生成される。そして、この復号画像は復号画像蓄積部808に蓄積され、同時に表示用に出力される。
【００３６】
ここで、動画像符号化では、符号化装置の局部復号部と復号装置の一部とは全く同じ動作をする。よって、図８の復号装置における逆量子化部804、逆変換部805、符号化ブロック予測画像生成部800、復号画像生成部806、復号画像蓄積部808は、図２の符号化装置における逆量子化部204、逆変換部205、符号化ブロック予測画像生成部200、復号画像生成部206、復号画像蓄積部208と同一の動作を行う。
【００３７】
以上説明したように、有効な量子化係数の正負を表すサイン情報については、一般に、それぞれの係数で１ビットを用いるしかなかった。このサイン情報は全対象画像の情報量の10%以上を占めるため、更なる圧縮率向上を実現するためには、サイン情報の削減が不可欠である。
【００３８】
そこで以下に説明する各実施形態では、すでに復号済みのブロックに含まれる画像の中で、符号化対象のブロックの境界画素に接する画素と、符号化対象画素が類似しているということを利用し、有効係数サイン情報の予測値を生成し、この予測値と実際のサイン情報が一致したかどうかを符号化することで、サイン情報を効率よく符号化するものである。
【００３９】
一般に、量子化係数が存在するということは、原画像と予測画像の間に差分が存在する、すなわち予測画像の精度が悪いということである。
ここで、一般に画像では、空間的に接する画素同士は値が類似していることが知られている。よって、符号化対象ブロックの中で符号化済みブロックに接する境界画素は、符号化済みブロックの中で符号化対象ブロックに接する画素に値が近いことが期待される。よって、符号化対象ブロックの原画像の境界画素の値は、符号化ブロックの中で符号化対象ブロックに接する画素から推定できる。
【００４０】
同様に、符号化ブロックの境界画素における原画像と予測画像の差分も、符号化済みブロックの中で符号化対象ブロックに接する画素と予測画像から推定できる。いま、この境界画素における差分の推定値を境界画素予測誤差推定値とする。
【００４１】
よって、符号化対象ブロックに対応する量子化係数を逆量子化、逆変換した再生予測誤差における境界画素値は、前記の境界画素予測誤差推定値に近いことが期待できる。ここで、量子化係数のうち、絶対値と位置（周波数）が既知であれば、生成した再生予測誤差の境界画素と境界画素予測誤差推定値が近い値となる各係数のサイン情報の組は限定されることとなる。よって、再生予測誤差の境界画素と境界画素予測誤差推定値が最も近くなる各係数のサイン情報は、実際の各係数のサイン情報の良い予測値となる。そして、良い予測値を求めることができれば、サイン情報を効率よく符号化することができる。
【００４２】
以下の各実施形態では、まず符号化ブロックに接する符号化ブロックを符号化する前に符号化が完了した符号済みブロックの局部復号画像と、符号化ブロックの予測値である符号化ブロック予測画像から、符号化ブロックの中で符号化済みブロックに接する境界画素の予測誤差の推定値を求める。次に、有効係数の絶対値と位置(周波数)が既知の条件で、すべての有効係数がとりうるサイン情報の組み合わせの中で、この予測誤差の推定値にもっとも近い再生予測誤差を生成するサイン情報の組み合わせを有効係数のサイン情報予測値とする。そして、この有効係数のサイン情報予測値と、符号化対象の実際の有効係数のサイン情報が一致したかどうかの情報(一致情報)として「一致」「不一致」の情報を生成し、一致情報をエントロピー符号化する。これにより、サイン情報を効率よく符号化する符号化装置、および、この符号化装置で符号化されたエントロピー符号を復号する復号装置が実現される。有効係数のサイン情報予測値の精度が高ければ高いほど、一致情報として「一致」の確率が高くなる。一般にエントロピー符号化では、特定のシンボルの発生確率が高くなればなるほど効率よく符号化できる。よって一般にはサイン情報一つあたり１ビット必要ところを、以下の各実施形態においては、サイン情報の一致情報を符号化することで１ビット以下で効率よくエントロピー符号化することができる。
【００４３】
図９は、第１の実施形態に基づく符号化装置を示す図である。
第１の実施形態は、符号化対象画像を複数のブロック画像に分割し、符号化ブロック毎に符号化を行う動画像符号化装置に関するものである。
【００４４】
第１の実施形態では、まず、図２の符号化装置と同様に、予測画像と符号化対象ブロックである符号化ブロックから、量子化係数と局部復号画像を生成する。
すなわち、まず符号化ブロック予測画像生成部900にて、符号化ブロックの予測値である符号化ブロック予測画像を符号化で生成する。次に、符号化ブロックと前記符号化ブロック予測画像の差分である予測誤差画像を予測誤差画像生成部901で生成する。続いて、変換部902にて、前記予測誤差画像を周波数係数に変換する。さらに、量子化部903で、前記周波数係数を量子化し量子化係数を生成する。
【００４５】
また、逆量子化部904で前記量子化係数を逆量子化し再生周波数係数を生成する。次に、逆変換部905で前記再生周波数係数を再生予測誤差画像に逆変換する。続いて、局部復号画像生成部906にて、前記再生予測誤差画像と前記符号化ブロック予測画像から局部復号画像を生成する。
【００４６】
一方、境界画素予測値生成部910において、符号化ブロックに隣接する複数の符号化済みブロックの局部復号画像から、符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する。
【００４７】
そして、さらに、境界画素予測誤差推定部911において、境界画素予測値と前記符号化ブロック予測画像から、前記境界画素に対して、符号化ブロック予測画素のうちの境界画素の値と境界画素予測値との差分として、境界画素予測誤差推定値を生成する。
【００４８】
最後に、前記量子化係数と境界画素予測誤差推定値(境界画素予測誤差推定情報)を用いて、量子化係数符号化部907において、符号化ブロックエントロピー符号化データを生成する。
【００４９】
図１０は、第１の実施形態における図９の量子化係数符号化部907の構成を示す図である。
量子化係数符号化部907では、まず、有効係数情報生成部1020において、量子化係数から、値がゼロでない量子化係数を有効係数として抽出し、この有効係数の周波数位置を表す有効係数位置情報、有効係数の数絶対値である有効係数絶対値情報、有効係数の正負のサインを表す有効係数サイン情報を生成する。この動作は図７の有効係数情報生成部720と同一である。
【００５０】
そして、有効係数サイン情報予測部1024において、前記の境界画素予測誤差推定値と、前記の有効係数位置情報、及び有効係数絶対値情報から、前記有効係数が正か負かを示すサイン情報の予測値である有効係数サイン情報予測値を生成する。ここで、有効係数サイン情報予測値を生成する有効係数は、符号化ブロックのすべての有効係数であってもよいし、あらかじめ決められたルールで選択された一部の有効係数であってもよい。あらかじめ決められたルールで選択された一部の有効係数のみ有効係数サイン情報予測値を生成する構成については、第４から第６の実施形態にて詳細を説明する。
【００５１】
そして、有効係数位置情報符号化部1021において有効係数位置情報をエントロピー符号化して有効係数位置符号を生成し、有効係数絶対値符号化部1022において有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成する。これらは、図７の有効係数位置情報符号化部721、有効係数絶対値符号化部722と同一の処理である。
【００５２】
最後に、有効係数サイン情報予測符号化部1023において、前記有効係数サイン情報予測値と有効係数のサイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成する。そして、有効係数位置符号、有効係数絶対値符、有効係数サイン符号から符号化ブロックエントロピー符号化データを生成する。
【００５３】
以上の第１の実施形態によれば、有効係数位置情報、有効係数絶対値情報、予測画像、及び復号画像から、有効係数サイン情報の精度の高い予測値を生成できる。その結果、この予測値と有効係数サイン情報が一致したかどうかの一致情報は、『一致』シンボルが多数を占めることになり、この一致情報をエントロピー符号化することにより、サイン情報の情報量をより削減することが可能である。
【００５４】
図１１は、第２の実施形態に基づく復号装置を示す図である。第２の実施形態における動画像復号化装置は、符号化対象画像を複数のブロック画像に分割し、符号化ブロック毎に符号化を行う図９の動画像符号化装置で符号化された符号化ブロックエントロピー符号化データを、ブロック毎に復号するものである。
【００５５】
第２の実施形態では、まず、図８の復号装置と同様に、符号化ブロックエントロピー符号化データから復号画像を生成する。
すなわち、符号化ブロック予測画像生成部1100で符号化ブロックの予測値である符号化ブロック予測画像を生成する。また、量子化係数復号部1107でビットストリームと境界画素予測誤差推定値から量子化係数を復号する。そして、この量子化係数を逆量子化部1104で逆量子化して再生周波数係数を生成し、逆変換部1105で再生周波数係数を再生予測誤差画像に逆変換し、復号画像生成部1106において再生予測誤差画像と前記符号化ブロック予測画像から復号画像を生成する。
【００５６】
次に、境界画素予測値生成部1110において、符号化ブロックに隣接する複数の符号化済みブロックの復号画像から、符号化ブロックの中で前記符号化済みブロックと境界を接する境界画素の予測値である境界画素予測値を生成する。
【００５７】
そして、さらに、境界画素予測誤差推定部1111において、境界画素予測値と前記符号化ブロック予測画像から、前記境界画素に対して、境界画素予測誤差推定値を生成し、量子化係数復号部1107に入力し、先に述べたように、量子化係数復号部1007において、符号化ブロックエントロピー符号化データと境界画素予測誤差推定値から量子化係数を生成する。
【００５８】
図１２は、第２の実施形態における図１１の量子化係数復号部1007の構成を示す図である。
まず、有効係数位置情報復号部1231において、符号化ブロックエントロピー符号化データから有効係数位置符号を取り出し、符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号する。
【００５９】
次に、有効係数絶対値情報復号部1232において、符号化ブロックエントロピー符号化データから有効係数絶対値符号を取り出し、符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号する。
【００６０】
そして、有効係数サイン情報予測部1024において、前記の境界画素予測誤差推定値と、前記の有効係数位置情報、及び有効係数絶対値情報から、前記有効係数が正か負かを示すサイン情報の予測値である有効係数サイン情報予測値を生成する。ここで、図１２の有効係数サイン情報予測部1024は、第１の実施形態における符号化装置の図1０の有効係数サイン情報予測部1024と全く同一である。
【００６１】
そして、有効係数サイン情報予測復号部1233において、有効係数サイン情報予測値と、符号化ブロックエントロピー符号化データの有効係数サイン情報から復号したサイン予測値一致情報に基づいて、有効係数サイン有効係数のサイン情報である有効係数サイン情報が復号され出力される。ここでは、サイン予測値一致情報が「一致」の場合には有効係数サイン情報予測値のサイン情報が、「不一致」の場合には、有効係数サイン情報予測値と反対の正負符号をしめすサイン情報が出力される。
【００６２】
最後に、有効係数絶対値情報、有効係数位置情報、有効係数サイン情報からブロックの量子化係数が生成される。そして、この量子化係数を図８の復号装置と同様の方法で処理し、復号画像を生成する。
【００６３】
このように第２の実施形態によれば、第１の実施形態で符号化した、サイン情報の情報量をより削減した符号化ブロックエントロピー符号化データを、復号することが可能となる。
【００６４】
図１３は、第１の実施形態および第２の実施形態で共通な、有効係数サイン情報予測部1024を示す図である。有効係数サイン情報予測値は、以下により求められる。まず、有効係数サイン情報候補生成部1340で、符号化ブロックにおける有効係数位置情報、及び有効係数絶対値情報で与えられる係数に対し、各有効係数に対する有効係数サイン情報が、それぞれ正・負のいずれかを暫定的に割り当てた複数のサイン情報の組み合わせを生成する。これを、有効係数サイン情報候補とする。各有効係数の符号を示すサイン情報は正・負の2通りであるため、たとえば、Ｎ個の有効係数に対して有効係数サイン情報候補を生成する場合には、組み合わせとして、最大２のＮ乗通りの組み合わせがある。
【００６５】
次に、一致度計算部1341で、各有効係数サイン情報候補と有効係数位置情報、有効係数絶対値情報から得られる再生予測誤差信号と、前記の境界画素予測誤差推定値との一致度を計算する。そして、最尤係数サイン情報決定部1342において、最も一致度が高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する。この有効係数サイン情報予測値は、高い確率で有効係数サイン情報と一致する。このことから、有効係数サイン情報とその予測値との差を符号化することにより、両者が『一致』したシンボルの確率が高くなり、最適なエントロピー符号化を行うことで有効係数サイン情報の情報量の削減が可能となる。
【００６６】
図１４は、第１、第２の実施形態における有効係数サイン情報予測部1024（図１０、図１２）の他の実現形態である第３の実施形態を示す図である。
有効係数サイン情報予測値は、以下により求められる。まず、Grayコード（グレイコード）順有効係数サイン情報候補生成部1440で、符号化ブロックにおける有効係数位置情報、及び有効係数絶対値情報で与えられる係数に対し、各有効係数に対する有効係数サイン情報が、それぞれ正・負のいずれかを暫定的に割り当てた複数のサイン情報の組み合わせを、Grayコードの各ビット位置の０／１に対応するように生成する。ここでは、特許文献１に記載された技術を、広く使われている呼称に従い、Grayコードと呼ぶ。Grayコードでは、連続する二つのコードで高々一つしか符号が異ならないため、有効係数サイン情報候補をGrayコード順で処理することにより、直前の有効係数サイン情報候補と一つの有効係数しかサイン符号が異ならない有効係数サイン情報候補が生成できる。
【００６７】
そして、Grayコード順一致度計算部 1441で、一致度のコストを計算する際に、直前の有効係数サイン情報候補と評価対象の有効係数サイン情報候補との間で、符号が異なる有効係数を特定する。次に、有効係数の符号の変化から、一致度のコスト計算の過程に与える影響を求める。続いて、その一致度のコストの計算過程に与える変化のみを考慮して、直前の有効係数サイン情報候補の一致度のコストと、評価対象の有効係数サイン情報候補の一致度のコストとの差分を求める。さらに、この差分を直前の有効係数サイン情報候補の一致度のコストに加算することで、評価対象の有効係数サイン情報候補の一致度のコストを求める。
【００６８】
最後に、最尤係数サイン情報決定部1442において、最も一致度が高い有効係数サイン情報候補を有効係数サイン情報予測値として出力する。
以上の第３の実施形態によれば、一致度のコストを毎回計算することなく、符号が変化したこの有効係数サイン情報から一致度のコスト差分のみを求め、この値を前の候補の一致度のコストに反映させるため、より計算量の削減が可能となる。
【００６９】
一般的には、サイン情報として一つの有効係数あたり１ビットの情報が必要である。これに対して上述の第１から第３の実施形態では、有効係数サイン情報予測部において、有効係数のサイン情報の予測値を用い、予測と実際の値が一致したかどうかを符号化する信号を生成する。各実施形態によれば、高い予測精度の有効係数のサイン情報が生成され、その結果、サイン情報とその予測値が一致する確率が高くなる。一般にエントロピー符号では、シンボルの発生確率が偏ったほうが、より高効率に符号化できる。適切なエントロピー符号化を行うことで、この一致情報を平均１シンボル１ビット未満で符号化可能である。このことから、このサイン情報一致情報を適切なエントロピー符号化を行うことにより、サイン情報の情報量をより削減することが可能となる。
【００７０】
図１５は、第４の実施形態に基づく符号化装置を示す図である。図１５に示される第４の実施形態は、図９に示される第１の実施形態をベースとして、量子化係数符号化部１５０７、境界画素予測誤差推定部１５１１、及び境界画素予測値生成部１５１０を更に詳細に開示するものである。１５０７、１５１１、及び１５１０の各処理部は、図９のそれぞれ同じ名称の各処理部９０７、９１１、及び９１０に対応する。図１５において、図９の場合と同じ名称を有する各処理部は、図９の場合と同じ処理を実行する。
【００７１】
第４の実施形態では、図４に示した符号化対象ブロック451、符号化対象ブロック予測画像450の値をもつブロックを図４と同等の変換部、量子化部、逆量子化部、逆変換部、局部復号生成部をもちいて符号化する例を示す。これらの演算処理は一般的な方式と同等であるため、図１５に示した量子化係数も図４の量子化係数454と同一である。また図１５の局部復号画像も図４の局部復号画像457と同一である。以下、第４の実施形態において、境界画素予測値生成部1510、境界画素予測誤差推定部1511、量子化係数符号化部1507の詳細について説明する。
【００７２】
図１６は、H.264等の直交変換の基底サイズが４×４の場合の、４×４のサイズの符号化対象ブロック1661(符号化ブロック)の境界画素の例を示す図である。一般に動画像符号化は、左上から右下の方向に、ブロック単位で符号化処理を進めていく。このため、符号化ブロックの左及び上のブロックは、符号化ブロックの符号化前に符号化が完了している。これらの、符号化ブロックの符号化時に、すでに符号化が完了しているブロックを符号済みブロック(1662)と呼ぶことにする。この際、符号化ブロックの上、及び左の端の画素は、符号済みブロックと接することになる。このことから、図１６の符号化対象ブロックの中で、上および左の端の画素を境界画素(1660)と定義する。
【００７３】
図１７は、第４の実施形態における境界画素予測値生成部1510の処理例を説明する図である。境界画素予測値生成部1510では、符号化ブロックの左・左上・上の境界の近傍の局部復号画像が入力され、境界画素予測値が生成される。図１７において、境界画素に接する局部復号画像の符号済みブロックの画素は図１６と同一である。図１７中では、入力された局部復号画像の画素に対して、左に接する画素はＬ０からＬ３、上に接する画素はＵ０からＵ３、左上に接する画素はＵＬとする。また、符号化ブロックの境界画素における境界画素予測値を、左下から右上に、順にＥ０、Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６とする。
【００７４】
第４の実施形態では、境界画素予測値Ｅ０〜Ｅ６は、境界画素近傍の符号化済みブロックの局部復号画像の画素Ｌ０〜Ｌ３、Ｕ０〜Ｌ３、ＵＬより、以下の式で求められる。
Ｅ０＝Ｌ３
Ｅ１＝Ｌ２
Ｅ２＝Ｌ１
Ｅ３＝（Ｌ０＋ＵＬ＋Ｕ０）／３
Ｅ４＝Ｕ１
Ｅ５＝Ｕ２
Ｅ６＝Ｕ３
そして、これらの境界画素予測値が出力される。
【００７５】
なお、第４の実施形態では、最近傍の画素の値をそのまま、あるいは平均して使う例を示したが、他にも、非特許文献１で開示されているように、予測対象画素の近傍の複数の画素を用いる、一般的な画素適応型ＤＰＣＭ符号化における画素の予測方法等を、境界画素予測値の生成に用いることも可能である。
【００７６】
図１８は、第４の実施形態における境界画素予測誤差推定部1511の実現例を示す図である。この実現例では、図１７で生成した境界画素予測値と、図4の符号化対象ブロック予測画像450の値から、境界画素予測誤差推定値を生成する例を示す。ここで、境界画素予測値Ｅ０〜Ｅ６は、図１７に対応する、符号化ブロックの境界画素の境界画素予測値である。また、画素Ｐ０〜Ｐ６は符号化ブロック予測画像の境界画素の値である。また、画素Ｄ０〜Ｄ６は、境界画素予測誤差推定値である。この実現例では、ｎを０〜６の数として、
Ｄｎ＝Ｅｎ−Ｐｎ
で各画素の境界画素予測誤差推定値が求められる。たとえば、画素Ｄ３は、画素Ｅ３の値が５７、画素Ｐ３の値が５５なので、５７から５５を減算することにより、２という値が求められる。
【００７７】
図１９は、第４の実施形態における量子化係数符号化部1507の実現例を示す図である。
この実現例では、すべての有効係数ではなく、有効係数サイン情報予測値をもちいる係数を選択し、サイン情報予測値をもちいて予測符号化する係数と、一般的な１ビット固定長符号をもちいる係数とを組み合わせる例を記載する。
【００７８】
量子化係数符号化部1507では、まず、有効係数情報生成部1920において、量子化係数から、値がゼロでない量子化を有効係数として抽出し、この有効係数の周波数位置を表す有効係数位置情報、有効係の数絶対値である有効係数絶対値情報、有効係数の正負のサインを表す有効係数サイン情報を生成する。図４の量子化係数454が入力された場合、有効係数位置情報、有効係数絶対値情報、有効係数サイン情報の値は図６と同等となる。
【００７９】
そして、有効係数サイン情報予測部1924において、前記の有効係数位置情報、及び有効係数絶対値情報から、まず、有効係数サイン情報予測値を用いてサイン情報を予測符号化する有効係数と、固定長符号化を用いてサイン情報を符号化する有効係数を決定し、後者の固定長符号化を用いてサイン情報を符号化する有効係数のインデックス（固定長符号化サイン情報インデックス）を出力する。
【００８０】
そして、有効係数サイン情報予測値を用いてサイン情報を予測符号化する有効係数に対し、固定長符号化サイン情報インデックスに対応する有効係数のサイン情報、境界画素予測誤差推定値、有効係数位置情報、及び有効係数絶対値情報から、各係数が正か負かを示すサイン情報の予測値である有効係数サイン情報予測値を生成する。
【００８１】
そして、有効係数位置情報符号化部1921において有効係数位置情報をエントロピー符号化して有効係数位置符号を生成し、有効係数絶対値符号化部1922において有効係数絶対値情報をエントロピー符号化して有効係数絶対値符号を生成する。
【００８２】
そして、最後に、有効係数サイン情報予測符号化部1923において、有効係数サイン情報を符号化する。まず、固定長符号化サイン情報インデックスで示された有効係数サイン情報は、固定長符号化を用いて符号化する。そして、それ以外の有効係数については、前記有効係数サイン情報予測値と有効係数のサイン情報が一致したかどうかのサイン予測値一致情報をエントロピー符号化して有効係数サイン符号を生成する。
【００８３】
そして、有効係数位置符号、有効係数絶対値符、有効係数サイン符号を組み合わせて符号化ブロックエントロピー符号化データを生成する。
【００８４】
図２０は第４の実施形態における有効係数サイン情報予測部1924の実現例を示す図である。
まず、有効係数サイン情報候補生成部2040で、符号化ブロックにおける有効係数位置情報、及び有効係数絶対値情報で与えられる係数に対し、各有効係数に対する有効係数サイン情報が、それぞれ正・負のいずれかを割り当てた、複数の組み合わせを生成する。これを、有効係数サイン情報候補とする。各有効係数の符号をしめすサイン情報は正・負の2通りであるため、たとえば、Ｎ個の有効係数に対して有効係数サイン情報候補を生成する場合には、組み合わせとして、最大２のＮ乗通りの組み合わせある。
【００８５】
そして、一致度計算部2041は、有効係数並べ替え部2070、量子化係数暫定値生成部2071、境界画素予測誤差暫定値生成部2722、予測誤差一致度計算部2073から構成される。
【００８６】
まず、有効係数並べ替え部2070に、符号化ブロックの各有効係数位置情報、有効係数絶対値情報を用いて、有効係数を並べ替える。この並べ替えは、生成される有効係数サイン情報予測値の精度が高いことが期待される有効係数から低い有効係数に並べ替える。そして、有効係数の数が大きいときは、必要に応じて、有効係数サイン情報予測値により予測値をもちいて符号化する係数を、精度が高いものから選択する。
【００８７】
次に、量子化係数暫定値生成部2071で、有効係数並べ替え部2070で並べ替えられ選択された有効係数に対し、それぞれの有効係数サイン情報候補の符号を適用し、量子化係数の暫定値である量子化係数暫定値を有効係数サイン情報候補毎に生成する。
【００８８】
次に、境界画素予測誤算暫定値生成部2072において、生成された量子化係数暫定値を逆量子化・逆変換し境界画素のみを選択することで、境界画素の予測誤差暫定値である境界画素予測誤差暫定値を有効係数サイン情報候補毎に生成する。
【００８９】
次に、予測誤差一致度計算部2073において、有効係数サイン情報候補毎に生成された界画素予測誤差暫定値と、境界画素予測誤差推定値との一致度を計算する。
【００９０】
そして、最尤係数サイン情報決定部2042において、予測誤差一致度計算部で生成された一致度がもっとも高い有効係数サイン情報候を、有効係数サイン情報予測値として出力する。この有効係数サイン情報予測値と、原画像の符号化対象ブロックの予測誤差画像の周波数係数の量子化係数から生成される有効係数サイン情報との差分が少ないので、図１９に示されるようにその差分を有効係数サイン情報予測符号化部1923で符号化することによって、最適にエントロピー符号化した有効係数サイン符号が得られる。
【００９１】
図２１は、第４の実施形態における有効係数並べ替え部2070の処理例を示す図である。この例では、有効係数並べ替え部2070への入力は、図６における符号化ブロックの有効係数位置情報、及び有効係数絶対値情報と同じものとする。
【００９２】
まず、入力された有効係数位置情報と有効係数絶対値情報 2100を元に、その係数の符号を正・負で反転したときに、符号を反転させる前後で境界画素予測誤差暫定値と境界画素予測誤差推定値の一致度を大きく変化させるものを優先して係数を並べ替える。これは、一致度を大きく変化させるものは、一致度に対する影響度、あるいは感度が大きく、このため、有効係数サイン情報予測値の精度も高いことが期待されるからである。
【００９３】
第４の実施形態では、まず、符号の正負反転による一致度への影響度が大きいものとして、有効係数絶対値が大きいものを優先とする。その理由は以下の通りである。境界画素予測誤差暫定値は、有効係数に対応する直交変換の基底に対して、逆量子化した値を乗じた値を符号化ブロックのすべての有効係数に対して求め、これを累積加算することで求められる。よって、有効係数絶対値が大きいほど、境界画素予測誤差暫定値に対する影響が大きい。
【００９４】
また、第４の実施形態では図示されないが、H.264等では有効係数が対応する有効係数位置毎に異なる量子化器を使用するので、有効係数絶対値の代わりに、有効係数絶対値を逆量子化した値をもとに優先度を決定することも可能である。
【００９５】
次に、有効係数に対する直交変換の基底が高周波成分を含むほど、符号反転に対する影響が高いと考えられるので、複数の有効係数で、絶対値を逆量子化した値が等しいものは、ジグザグスキャン順で係数位置が大きいものを優先とする。この2番目の尺度は、性能には大きく影響しないが、二個以上の係数の逆量子化値が同じ場合でも、論理的に優劣を定義するために便宜上設ける側面も有する。
【００９６】
よって、第４の実施形態では、上記のルールに従って、並べ替え処理2110にて有効係数を並べ替え、並べ替えられた有効係数位置情報と有効係数絶対値情報2101が得られる。
【００９７】
ここで、有効係数の個数が大きいと、有効係数サイン情報候補の数が指数関数的に大きくなり、一致度計算も多数回行わなくてはならない。一般に、Ｎ個の係数に対して有効係数サイン情報予測値をつかって符号化する際には、有効係数サイン情報候補は２のＮ乗となる。このことから、第４の実施形態では、選択処理2111にて、並び替えられた係数の中で先頭の６個の係数を選択して、有効係数サイン情報予測値をもちいて符号化する係数として決定する。残りの二個の有効係数位置情報が５と４の係数については、固定長符号化サイン情報インデックス2103として、“５”と“４”の有効係数位置情報を出力する。これらの係数は、一般的な手法、たとえば１符号１ビットの固定長符号をもちいて符号化する。一部の有効係数サイン情報を固定長符号を用いて符号化する理由は、並べ替えられた係数の中で後半の係数は、一致度の感度が低く、有効係数サイン情報予測値の精度も低いため、仮に有効係数サイン情報予測値をもちいて符号化しても情報量削減にはあまり貢献しない上に、サイン情報予測値を用いる係数の数を無制限に増やすと、有効係数サイン情報候補の数が指数関数的に増加してしまうからである。
【００９８】
そして、最終的に、並べ替えられ、有効係数サイン情報予測値を用いる係数として、６個の有効係数2102が出力される。
【００９９】
図２２は、第４の実施形態における有効係数サイン情報候補生成部2040の処理例を示す図である。
この図では、選択した６個の有効係数に対し、有効係数サイン情報候補を生成する例をしめす。有効係数は、各有効係数の位置情報をインデックスとして図の上に記載している。係数は６個あるので、６個の係数に対する正負のサイン情報の組み合わせは、２の６乗である６４個存在することになる。よって、まず、有効係数サイン情報候補のインデックスを０〜６３として用意し、このインデックスを二進数表記したものを、各有効係数に対しするサイン情報の候補として定義する。こここで、各有効係数のサイン情報候補は、値が０ならば符号は正、１ならば負と定義する。そして、生成した６４個の有効係数のサイン情報候補2201に関連付けられた有効係数サイン情報候補インデックス2200を量子化係数暫定値生成部2071へ出力する。
【０１００】
ここで、第４の実施形態では、図６の情報を有する有効係数サイン情報を符号化するので、正しい符号をしめす有効係数サイン情報候補のインデックスは８である。
【０１０１】
図２３は、第４の実施形態における量子化係数暫定値生成部2071の処理例を示す図である。
ここでは、各有効係数位置情報に対応する有効係数絶対値情報に対し、有効係数サイン情報候補インデックス2200に対応した図２２の有効係数サイン情報候補2201の各符号を係数に設定したものを量子化係数暫定値として生成する処理を記載している。たとえば、有効係数サイン情報候補インデックス０に対しては、すべての符号が正のものを量子化係数暫定値として生成する。また、候補インデックスが１３のものは、有効係数位置情報が２，３，９の係数は正、有効係数位置情報が１，１０，７のものは負の符号をそれぞれ設定する。
【０１０２】
一方、有効係数位置情報が５と４の係数については、サイン情報として固定符号長のものを用いるので、常に各係数の元のサイン情報を固定的に設定する。この場合、図６より、有効係数位置が５の係数は負であるので常に−１、有効係数位置が４の係数は正であるので常に１を設定する。
【０１０３】
図２４は、第４の実施形態における境界画素予測誤差暫定値生成部2072、予測誤差一致度計算部2073、最尤係数サイン情報決定部2042の処理例を示す図である。
まず、境界画素予測誤差暫定値生成部2072では、各有効係数サイン情報候補毎に生成された量子化係数暫定値2400a〜2400nに対し、通常の符号化で用いるのと同等相当の逆量子化、逆変換を施す。ここで、すべての量子化係数暫定値において、図２１で示した有効係数位置情報５と４の有効係数サイン情報予測値を用いない係数については、本来の符号をもった係数を設定する。そして、逆変換した値から境界画素を選択して、境界画素予測誤差暫定値2401a〜2401nを生成する。なお、ここで同等ではなく同等相当としたのは、この計算は高い精度が必ずしも必要でないため、演算量削減のために演算精度を落とした演算で代用してもよいためである。
【０１０４】
次に、予測誤差一致度計算部2073では、各有効係数サイン情報候補毎に、境界画素予測誤差暫定値2401a〜2401nと、境界画素予測誤差推定部1511で生成された境界画素予測誤差推定値との差分2402a〜2402nを生成し、この値を自乗して累積加算したコスト値2403a〜2403nを一致度とする。この一致度のコスト値が小さいほど、本来の有効係数サイン情報と、検査した有効係数サイン情報候補の両者が一致している確率は高くなる。
【０１０５】
そして、最尤係数サイン情報決定部2042では、すべての各有効係数サイン情報候補毎の一致度(自乗誤差コスト) 2403a〜2403nを集計し、最小コストを与える有効係数サイン情報候補インデックスに対応する有効係数サイン情報を、有効係数サイン情報予測値として出力する。すなわち、符号化対象ブロックと符号化ブロック予測画像との差分(予測誤差)に対応した周波数係数の量子化係数の有効係数（量子化係数ブロック内の非零要素）から有効係数の絶対値を降べき順に並べてできる先頭６個の各値に付加される２６個のパターンと先頭６個に含まれなかった２個の有効係数を含む６４個の４×４ブロックの各値を逆量子化と周波数逆変換の処理を行なってできる再生予測誤差暫定値を作成し、その境界画素についてその再生予測誤差暫定値が境界画素予測誤差推定値ともっとも近いものに対応するサインパターンを有効係数サイン情報予測値とする。したがって、境界画素を含むブロック内の全ての有効係数についてのサイン情報の予測値が得られるので符号化対象ブロックの全ての画素のサイン情報をエントロピー符号化できる。  
【０１０６】
第４の実施形態の場合は、有効係数サイン情報候補インデックスが１３である有効係数サイン情報候補が有効係数サイン情報予測値として出力される。
【０１０７】
図２５は、第４の実施形態における有効係数サイン情報予測符号化部1923を示す図である。
まず、有効係数サイン情報のうち、固定長符号化サイン情報インデックスにより、スイッチ2501で、有効係数サイン情報予測値を用いない、すなわち固定長でサイン情報を符号化する有効係数サイン情報を選択する。第４の実施形態では、図２１で説明した有効係数位置情報が５と４の係数である。これらの有効係数サイン情報は、有効係数サイン情報固定長符号化部2503で、1係数あたり１ビットの情報を用いて固定長で符号化される。たとえば、正符号のサイン情報に対しては “０”、負符号のサイン情報には“１”の１ビット符号を割り当て符号化する。図２１の係数の場合には、図６より有効係数位置情報が５の係数は負、有効係数位置情報が４の係数は正であるので、符号はそれぞれ“１”, “０”が符号化される。第４の実施形態では、固定長の可変長符号の例を示したが、その代わりに、正／負のいずれのサイン情報のシンボルの発生確率も0.5と設定した算術符号化等も固定長符号の代わりに用いることができる。１ビットの固定長符号と、正／負の両者のシンボルの発生確率が0.5と設定した場合の算術符号も、実質上は等価である。なお、算術符号化の例として、非特許文献２に示された方法等が適用可能である。さらに、2個のシンボルが発生確率0.5の情報を符号化する算術符号化の例として、動画像国際標準ITU-T
H.264のCABAC符号化におけるBypass符号化／復号化モード等があり、これらの一般的な技術が適用可能である。
【０１０８】
次に、スイッチ2501で有効係数サイン情報予測値を用いて符号化すると判定された有効係数サイン情報に対して、サイン予測値一致情報生成部2500において、有効係数サイン情報予測値と、有効係数サイン情報が一致したかどうかの一致情報を生成する。
【０１０９】
次に、有効係数サイン情報エントロピー符号化部2502で、一致情報をエントロピー符号化する。
【０１１０】
図２６は、第４の実施形態におけるサイン予測値一致情報生成部2500の処理を説明する図である。この図において、上段が有効係数の位置情報、下段がその有効係数位置情報に対応する有効係数サイン情報、有効係数サイン情報予測値、サイン予測値一致情報を表す。
【０１１１】
本実施形態では、選択された６個の有効係数の有効係数サイン情報2601と有効係数サイン情報予測値2600が一致したかどうかを各有効係数毎に判断し、一致した場合には“０”、不一致の場合には“１”として、サイン予測値一致情報2602を出力する。有効係数サイン情報予測値2600の期待される予測精度が高い順から有効係数を並べているため、最初の順番の係数ほど両者が一致し、後半の順番の係数ほど一致度が低下する。このため、前半ほど「一致」のシンボルの確率が高いことが期待される。第４の実施形態では、「一致」を０、「不一致」を１とする。
【０１１２】
図２７は、第４の実施形態における有効係数サイン情報エントロピー符号化部2502を示す図である。
符号化ブロック毎に、順番が絶対値順に並べ替えられ、選択された係数のサイン予測値一致情報2602の符号化に対し、並べ替えられた順番にサイン情報予測値一致情報を符号化する。すなわち、第４の実施形態においては、図２６のサイン予測値一致情報に示したとおり、係数位置２，３，１，１０，８，７のサイン予測値一致情報である０，０，０，１，０，１の順に符号化し、サイン予測値一致情報エントロピー符号2700を生成する。
【０１１３】
このサイン予測値一致情報を符号化するため、算術符号１ (2701)と算術符号２ (2702)を用意する。この算術符号１は、一致シンボル“０”の確率(一致確率)が0.8、不一致シンボル“１”の確率が0.2の際に最適となるような符号であり、算術符号２は一致シンボル“０”の確率(一致確率)が0.6、不一致シンボル“１”の確率が0.4の際に最適となる算術符号化方法である。
【０１１４】
そして、サイン予測値一致情報を符号化する前に不一致シンボルの有無を判定する判定部2703にて、算術符号１と算術符号２を切り替える。
ここで算術符号については、非特許文献２に記載された一般的な算術符号が利用可能である。あるいは、動画像符号化国際標準ITU-T H.264で使用されているCABACのように、シンボルの符号化毎に確率テーブルを更新していくような算術符号方法も使用可能である。
【０１１５】
この算術符号１と算術符号２の選択方法について、図２８を用いて説明する。並べ替えられたサイン予測値一致情報のうち、最初の有効係数２のものから順番に算術符号１で符号化する。直前のサイン予測値一致情報が「一致」、すなわち“０”である限り、算術符号１で符号化する。そして、直前の有効係数のサイン予測値一致情報が「不一致」すなわち“１”となった場合には、その次以降のすべてのサイン予測値一致情報を算術符号２を用いて符号化する。図２８の場合には、最初の有効係数（有効係数の位置が２）は算術符号１を用いる。また、有効係数の位置が３，１，１０までは、直前の有効係数のサイン予測値一致情報が「一致」“０”であるため、符号化器は算術符号１を用いる。そして、有効係数の位置が８の符号の直前に符号化した、有効係数位置が１０のサイン予測値一致情報は「不一致」“１”であるため、有効係数の位置が８および９のサイン情報予測値一致情報を、算術符号２で符号化する。
【０１１６】
これは、サイン情報予測値の精度が高いと期待される有効係数から符号化した際、その予測がはずれた予測係数以降は、サイン予測値一致情報が「不一致」、すなわち“１”と「一致」すなわち“０”の発生確率が同等になりやすいという事実に基づく。
【０１１７】
図２９は、サイン予測値一致情報の符号化に用いる算術符号選択処理を説明するフローチャートである。
ステップS2900でこの処理が開始された後、ステップS2901で、ｎ個のサイン予測値一致情報を入力する。そして、ステップS2902で、状態変数Stateを１に初期化する。この変数は、State=1の場合に算術符号１、State=2の場合に算術符号２を使用するように制御するものである。また、このステップでカウンタｉを１に初期化しておく。
【０１１８】
ステップS2903で、変数Stateが１かどうかをチェックする。１の場合には、ステップS2904にてｉ番目のサイン予測値一致情報 Ｓ［ｉ］を算術符号１で符号化する。そして、ステップS2905で、Ｓ［ｉ］が『一致』か『不一致』かを判定する。そして『不一致』の場合のみ、ステップS2907で状態変数Stateを２に設定する。
【０１１９】
また、ステップS2903でStateが１でない、すなわち２と判定された場合には、ステップS2906でｉ番目のサイン予測値一致情報 Ｓ［ｉ］を算術符号２で符号化する。
【０１２０】
そして、ステップS2903でStateが１と判定された場合も２と判定された場合も、ステップS2906でカウンタｉをインクリメントする。そして、S2909でカウンタｉがｎより大きいかどうかを判定し、大きい場合には、符号化を終了し、それ以外の場合にはステップS2903に遷移する。
【０１２１】
図３０は、有効係数位置符号3001、有効係数絶対値符号3002、有効係数サイン符号3005を組み合わせて符号化ブロックエントロピー符号化データ3000を生成する実施形態を説明する図である。
【０１２２】
第４の実施形態では、図１９の有効係数サイン情報予測部1924において、有効係数位置情報と有効係数絶対値情報から、固定長符号化インデックスを生成し、次に、固定長符号化サイン情報、有効係数位置情報、有効係数絶対値情報、境界画素予測誤差推定値から有効係数サイン情報予測値を生成する。このことから、復号装置側でも上記の固定長符号化インデックスと有効係数サイン情報予測値を生成するために、符号の順番に制約が生じる。
【０１２３】
すなわち、固定長符号化インデックスと有効係数サイン情報予測値とを復号装置側で生成可能とするために、有効係数位置符号3001と有効係数絶対値符号3002は有効係数サイン符号3005より先に存在していればよい。
【０１２４】
そして、最終的に、第４の実施形態における符号化ブロックエントロピー符号化データは、図３０のような値の有効係数位置情報、有効係数絶対値情報の値を有する有効係数位置符号3001、有効係数絶対値符号3002と、固定長符号3003で符号化された有効係数位置５と４のサイン情報 “1”、“０”、及びサイン予測値一致情報エントロピー符号3005から構成される。そして、さらにサイン予測値一致情報エントロピー符号3005は、算術符号１で符号化された有効係数位置２，３，１，１０の一致情報“０”、 “０”、 “０”、 “1”、 算術符号２で符号化された有効係数位置８，７の一致情報 “０”、 “1”から構成される。
【０１２５】
ここで、有効係数位置情報、有効係数絶対値情報は、ITU-T H.264と同様の通常の符号化方法が適用可能である。
【０１２６】
図３１は、第５の実施形態に基づく復号装置を示す図である。図３１に示される第５の実施形態は、図１１に示される第２の実施形態をベースとして、量子化係数復号部３１０７、境界画素予測誤差推定部３１１１、及び境界画素予測値生成部３１１０を更に詳細に開示するものである。３１０７、３１１１、及び３１１０の各処理部は、図１１のそれぞれ同じ名称の各処理部１１０７、１１１１、及び１１１０に対応する。図３１において、図１１の場合と同じ名称を有する各処理部は、図１１の場合と同じ処理を実行する。また、第５の実施形態の復号装置は、図１５の第４の実施形態の符号化装置で生成した図３０の符号化ブロックエントロピー符号化データ3000を復号するものであり、いくつかのブロックは第４の実施形態で説明したブロックと同等である。
【０１２７】
第５の実施形態では、逆量子化部、逆変換部、復号画像生成部、符号化ブロック予測画像生成部はそれぞれ、図１５の第４の実施形態で説明した逆量子化部、逆変換部、局部復号画像生成部、符号化ブロック予測画像生成部、境界画素予測値生成部、境界画素予測誤差推定部と同一である。よって、各部の動作の例も第４の実施形態と同等である。また、第４の実施形態で説明した局部復号画像を、第５の実施形態では、復号画像と置き換えることとする。これは、上記の各部は、いわゆる局部復号器と呼ばれ、符号化装置と復号装置で同一のものであることによる。
【０１２８】
また、境界画素予測値生成部3110、境界画素予測誤差推定部3111の構成、及び動作例も第４の実施形態と同等である。以下、第５の実施形態で、図１１の一般的な復号装置、及び図１５の第４の実施形態と異なる量子化係数復号部3107について説明する。
【０１２９】
図３２は、第５の実施形態における量子化係数復号部3107を示す図である。第５の実施形態では、第４の実施形態による図３０の符号化ブロックエントロピー符号化データ3000を復号する過程を通して動作を説明する。
【０１３０】
まず、有効係数位置情報復号部3231において、符号化ブロックエントロピー符号化データ3000から有効係数位置符号3001を取り出し、符号化ブロックの有効係数の周波数位置である有効係数位置情報を復号する。その結果、図３０より、有効係数位置として、
１，２，３，４，５，７，９，１０
を得る。同時に、有効係数の個数（８個）も取得する。
【０１３１】
次に、有効係数絶対値情報復号部3232において、符号化ブロックエントロピー符号化データ3000から有効係数絶対値符号3002を取り出し、符号化ブロックの有効係数の絶対値である有効係数絶対値情報を復号する。その結果、図３０より、有効係数絶対値情報として、
２，３，２，１，１，１，１，１
を得る。
【０１３２】
次に、有効係数サイン情報予測部1924において、まず、固定長符号化サイン情報インデックスを生成する。第５の実施形態においては、第４の実施形態と全く同等の有効係数サイン情報予測部1924を用いる。これは、符号化装置と復号装置で全く同一の有効係数サイン情報予測値を生成する必要があるためである。よって有効係数サイン情報予測部1924の動作説明は省略する。
【０１３３】
第４の実施形態の図２０及び図２１で説明したとおり、有効係数サイン情報予測部1924には、有効係数位置情報と有効係数絶対値情報が入力され、固定長符号化サイン情報インデックスとして
５、４
が出力される。
【０１３４】
次に、有効係数サイン情報予測復号部3233において、有効係数サイン符号3005のうち、有効係数サイン情報固定長符号3003を復号する。図３３は、第５の実施形態における有効係数サイン情報予測復号部3233を示す図である。
【０１３５】
まず、有効係数サイン符号3005のうち、固定長符号サイン情報インデックスによりスイッチ3301で有効係数サイン情報固定長符号3003を選択し、有効係数サイン情報固定長復号部3303にて復号する。この際、符号化対象の符号化ブロックの有効係数の個数は８個であり、かつ、第４の実施形態の符号化装置では、6個の有効係数を、サイン予測値一致情報エントロピー符号3004を用いて符号化することが決められている。この６個という情報は符号化装置と復号装置で予め決められたルールとすることで、有効係数サイン情報固定長符号で復号する有効係数は８−６＝２個であることがわかる。このことから、係数２個分の有効係数サイン情報固定長符号を復号し、固定長符号化サイン情報として、
１，０
を得る。
【０１３６】
そして、同様に、有効係数サイン符号3005の中から、固定長符号サイン情報インデックスによりスイッチ3301でサイン予測値一致情報エントロピー符号3004を選択する。そして、サイン予測値一致情報エントロピー復号部3300において、サイン予測値一致情報エントロピー符号3004を復号し、サイン予測値一致情報として、
０，０，０，１，０，１
を得る。
【０１３７】
そして、サイン情報再生部3302において、有効係数サイン情報予測値と一致情報とを比較し、有効係数サイン情報「０，０，０，１，０，１」を生成する。これにより、図６に対応する有効係数サイン情報３７０３が復号されたことになる。
【０１３８】
この有効係数サイン情報予測値３７０１「０，０．１，１，０，１」は、図３２に示した有効係数サイン情報予測部1924により生成される。有効係数サイン情報予測部1924は、有効係数サイン情報固定長復号部3303で得られた固定長符号化サイン情報と、境界画素予測誤差推定部3111で生成された境界画素予測誤差推定値から、第４の実施形態で図２０から図２４を用いて説明したのと全く同一の方法で有効係数サイン情報予測値を生成する。また、有効係数サイン情報予測部に入力される境界画素予測誤差推定値も、境界画素予測誤差推定部3111において、第４の実施形態で図１６から図１８を用いて説明したのと同一の方法で生成される。
【０１３９】
図３４は、第５の実施形態におけるサイン予測値一致情報エントロピー復号部3300を示す図であり、図２７の第４の実施形態におけるサイン予測値一致情報エントロピー符号化部3502に対応するものである。本実施形態では、サイン予測値一致情報エントロピー符号化部の算術符号１ (2701)と算術符号２ (2072)にそれぞれ対応する算術復号１ (3401)と算術復号２ (3402)から構成される。算術復号１は、「一致」シンボルの確率が０．８のときに、算術復号２は「一致」シンボルの確率が０．６のときに、それぞれ最も効率が高くなるよう設計されているものである。
【０１４０】
この算術復号１と算術復号２の選択方法は、第４の実施形態におけるサイン予測値一致情報エントロピー符号化部2502と同等のものである。この動作について、図３５を用いて説明する。入力されたサイン予測値一致情報エントロピー符号のうち、最初の有効係数位置が２のものから順番に算術復号１で復号し、サイン予測値一致情報を得る。直前に復号されたサイン予測値一致情報が「一致」、すなわち“０”である限り、算術復号１で復号する。そして、直前に復号された有効係数のサイン予測値一致情報が「不一致」すなわち“１”となった場合には、その次以降のすべてのサイン予測値一致情報エントロピー符号は、算術復号２を用いて復号する。図３５の場合には、最初のサイン予測値一致情報エントロピー符号（有効係数の位置が２）は算術復号１を用いる。また、有効係数の位置が３，１，１０までは、直前に復号された有効係数のサイン予測値一致情報が「一致」“０”であるため、復号器は算術復号１を用いる。そして、有効係数の位置が８のサイン予測値一致情報エントロピー符号の直前に復号した、有効係数位置が１０のサイン予測値一致情報は「不一致」“１”であるため、有効係数の位置が８および９のサイン予測値一致情報エントロピー符号を、算術復号２で符号化する。
【０１４１】
図３６は、サイン予測値一致情報の復号に用いる算術復号選択処理を説明するフローチャートである。
ステップS3601で、ｎ個のサイン予測値一致情報エントロピー符号を入力する。また、同時に、サイン予測値一致情報のｎ個の記憶領域S[i]を用意する。そして、ステップS3602で、状態変数Stateを１に初期化する。この変数は、State=1の場合に算術復号１、State=2の場合に算術復号２を使用するように制御するものである。また、このステップでカウンタｉを１に初期化しておく。
【０１４２】
ステップS3603で、変数Stateが１かどうかをチェックする。１の場合には、ステップS3604にてｉ番目のサイン予測値一致情報エントロピー符号を算術復号１で復号し、得られたサイン予測値一致情報をＳ［ｉ］に格納する。そして、ステップS3605で、復号したＳ［ｉ］が『一致』か『不一致』かを判定する。そして『不一致』の場合のみ、ステップS3607で状態変数Stateを２に設定する。
【０１４３】
また、ステップS3603でStateが１でない、すなわち２と判定された場合には、ステップS3606でｉ番目のサイン予測値一致情報エントロピー符号を算術復号２で復号し、得られたサイン予測値一致情報をＳ［ｉ］に格納する。
【０１４４】
そして、ステップS3603でStateが１と判定された場合も２と判定された場合も、ステップS3606でカウンタｉをインクリメントする。そして、S3609でカウンタｉがｎより大きいかどうかを判定し、大きい場合には、復号処理を終了し、それ以外の場合にはステップS3603に遷移する。
【０１４５】
図３７は、第５の実施形態におけるサイン情報再生部3302の処理を説明する図である。この図において、上段が有効係数の位置情報、下段がその有効係数位置情報に対応する有効係数サイン情報、有効係数サイン情報予測値、サイン予測値一致情報を表す。
サイン予測値一致情報3702は、有効係数サイン情報予測値とサイン情報が一致の場合は０、不一致の場合は１の値を有する。このことから、サイン情報再生部3302では、有効係数サイン情報予測値3701とサイン予測値一致情報3702を、各係数のサイン情報毎に排他的論理和計算することで、各有効係数のサイン情報3703が再生される。
【０１４６】
そして、図３２の有効係数サイン情報予測復号部3233では、有効係数サイン情報固定長復号部3303とサイン情報再生部3302で生成された有効係数サイン情報が纏められて、符号化ブロックの有効係数サイン情報として出力される。
【０１４７】
そして、図３２の有効係数情報生成部3230において、最終的に図６に示した値を有する有効係数位置情報、有効係数絶対値情報、有効係数サイン情報が入力され、図４に示した量子化係数ブロック454の値と同一の量子化係数を出力する。
【０１４８】
そして、量子化係数を図３１の逆量子化部に入力し、一般的な復号装置と同様の方法で画像を復号する。
【０１４９】
第５の実施形態によれば、以上に説明したとおり、第４の実施形態で効率よく符号化した符号化ブロックエントロピーデータを正しく復号することができる。
【０１５０】
次に、第６の実施形態について説明する。第６の実施形態は、第４、第５の実施形態で共通な有効係数サイン情報予測部1924（図１９、図３２）の別の実施形態である。第６の実施形態では、第４及び第５の実施形態で共通に説明した４点アダマール変換を変換部902／逆変換部905に適用した際の有効係数サイン情報予測部の別の実施形態について説明する。ここで４点アダマール変換は最も基本的な直交変換の一つである。
【０１５１】
第６の実施形態の説明に入る前に、準備として図３８から図４１において、再生周波数係数と再生予測誤差画像の上／左端の画素の関係、及びいくつかの定義を説明する。
図３８は、第６の実施形態の４点アダマール変換を構成する直交基底ベクトルを説明する図である。周波数０の基底ベクトルをT0(3800)、周波数１の基底ベクトルをT1(3801)、周波数２の基底ベクトルをT2(3802)、周波数３の基底ベクトルをT3(3803)と定義する。この４点アダマール変換は、この4個の横ベクトルである直交基底ベクトルを用いて表現できる。
【０１５２】
また、第６の実施形態の説明のため、周波数０の基底ベクトルT0(3800)の中で画素０に対応する係数をt00(3850)、周波数１の基底ベクトルT1(3801)の中で画素０に対応する係数をt01(3851)、周波数２の基底ベクトルT2(3802)の中で画素０に対応する係数をt02(3852)、周波数３の基底ベクトルT3(3803)の中で画素０に対応する係数をt03(3853)と定義する。
【０１５３】
図３９は、図９の逆変換部905で行われる二次元４点アダマール変換において、再生周波数係数行列3955と再生予測誤差行列3956の関係を、水平周波数ｉ、垂直周波数ｊをもつ４×４二次元直交基底3922の再生周波数係数行列3955の各周波数係数3921による重み付け累積和表現3920を説明するものである。
【０１５４】
図９の逆変換部905の出力である再生予測誤差行列3956は、一般には、再生周波数係数行列3955に対し、右からはアダマール直交変換行列3910、左からはアダマール直交変換行列の転置行列3911を乗ずることにより求められる。ここで、アダマール直交変換行列3910は、図３８で説明したアダマール変換の周波数０から周波数３の各基底T0(3800)、T1(3801)、T2(3802)、T3(3803)から構成される。また、アダマール変換の転置行列3911は、図３８で説明したアダマール変換の周波数０から周波数３の各基底を転置したT0t(3900)、T1t(3901)、T2t(3902)、T3t(3903)の各縦ベクトルから構成される。
【０１５５】
よって、この式を、アダマール変換基底T0〜T4およびその転置ベクトルT0t〜T4tと再生周波数係数の各係数から、再生予測誤差行列3956は、４点 アダマール変換の累積和表現 3920のように表現できる。ここで、４点 アダマール変換の累積和表現 3920 は、水平周波数ｉ、垂直周波数ｊをもつ4x4二次元直交基底3922に対し、水平周波数ｉ、垂直周波数ｊをもつ再生周波数係数 Ｘij (3921)を乗じたものを、すべての水平／垂直周波数で累積加算したものである。
【０１５６】
図４０は、再生予測誤差行列4056の上端4画素／左端4画素と再生周波数係数の関係を説明する図である。再生予測誤差行列の左端の境界4画素をLeftDiffベクトル4000、再生予測誤差行列の上端の境界4画素をTopDiffベクトル4001と定義する。
【０１５７】
ここで、LeftDiffベクトル4000は、図３９の４点 アダマール変換の累積和表現 3920の左端の4画素を取り出して、LeftDiffベクトルの累積和表現 4010のように表すことが出来る。
【０１５８】
また、TopDiffベクトル4001は、図３９の４点 アダマール変換の累積和表現 3920の上端の4画素を取り出して、TopDiffベクトルの累積和表現 4011のように表すことが出来る。
【０１５９】
図４１は、第４の実施形態における図１８の境界画素予測誤差推定部1511等で作成された境界画素予測誤差推定値の上／左境界画素のベクトル表現の定義を説明する図である。
ここでは、境界画素予測誤差推定値4100の左端の４画素をLeftEstベクトル4100と定義する。また、境界画素予測誤差推定値4100の上端の４画素をTopEstベクトル4101と定義する。
【０１６０】
上記の前提を踏まえ、有効係数サイン情報予測部に関する第６の実施形態について、以下に説明する。
図４２は、第６の実施形態における有効係数サイン情報予測部を示す図である。この構成は、図１４で説明した第３の実施形態の構成を更に具体化したものである。グレイコード順有効係数サイン情報候補生成部4240が、図１４の1440を具体化した構成である。また、有効係数並べ替え部4270と初期化部4271とGrayコード順予測誤差一致度更新部4272とからなるグレイコード順一致度計算部4141が、図４の1441を具体化した構成となっている。さらに、最尤係数サイン情報決定部4242は、図４の1442と同じである。      まず、有効係数並べ替え部4270において、有効係数位置情報と有効係数絶対値情報から、サイン情報予測値を用いて符号化されるべき有効係数位置情報と有効係数絶対値情報、及び固定長符号化サイン情報インデックスを生成する。ここでは、図２０、２１で説明した第４の実施形態の有効係数並べ替え部と同等の処理であればよい。
【０１６１】
そして、初期化部4271で、サイン情報予測値を用いて符号化されるべき有効係数、固定長符号を用いて符号化される係数情報から、後述する方法で計算に用いるいくつかの初期値を初期化する。
【０１６２】
そして、Grayコード順有効係数サイン情報候補生成部4240において、Grayコード順にサイン情報候補のインデックスを生成する。ここでは、前述した特許文献１で開示されたコードを、広く呼称として使われているGrayコード（グレイコード）と呼ぶことにする。
【０１６３】
次に、Grayコード順予測誤差一致度更新部4272で、Grayコード順に予測誤差一致度を求めていく。Grayコードの特徴として、連続する二つのGrayコードの間で高々１ビットしか異ならないため、この順番で評価したサイン情報候補は、直前に評価したサイン情報候補と高々１つの有効係数の符号しか異ならないこととなる。よって、後述のとおり、前の評価と符号が異なる有効係数の符号変化の前後でのコスト差分を、前に評価したサイン情報候補の一致度のコストに順次加算するのみで、次に評価するサイン情報候補の一致度のコストを求めることができるため、一致度の計算が格段に小さくなる。
【０１６４】
そして、最尤係数サイン情報決定部4242で最も尤もらしい有効係数サイン情報候補を有効係数サイン情報予測値として出力する。この動作は図２０で説明した最尤係数情報決定部2042と同等の処理であればよい。
【０１６５】
以下に、初期化部4271、Grayコード有効係数サイン情報候補生成部4240、Grayコード順予測誤差一致度更新部4272の処理を説明する。
まず、第６の実施形態の説明では、前提として、図２０、図２１、図２３等で言及した固定長符号でサイン情報を符号化する係数が存在しない条件で説明する。後述の通り、固定符号長符号で符号化するサイン情報が存在する場合は、本実施形態の説明に帰着できるためである。
【０１６６】
まず、有効係数並べ替え部2070でサイン情報予測値をもちいて符号化される有効係数の数をｎ個とし、以下、サイン情報予測値をもちいて符号化される有効係数を「検査対象係数」と定義する。
【０１６７】
そして、それぞれの有効係数があらわす水平周波数、垂直周波数を以下の数５式で定義する。
【数５】
0005533886.tif 000006
【０１６８】
また、上記の検査対象係数のうち、水平、垂直周波数が(ik, ｊｋ)であるk番目の有効係数を以下の数６式で定義する。
【数６】
0005533886.tif 000007
【０１６９】
また、上記の検査対象係数のうち、水平、垂直周波数が(ik, ｊｋ)であるk番目の有効係数に対する、Grayコード順有効係数サイン情報候補生成部4240で生成したサイン情報候補の符号を以下の数７式で定義する。
【数７】
0005533886.tif 000008
【０１７０】
なお、第６の実施形態の説明で用いる数７式でのサイン情報の定義は、第４及び第５の実施形態のサイン情報定義(正：０／負：１)とは異なることに注意する。
一例として、量子化係数が下記数８式の値を有するとする。
【数８】
0005533886.tif 000009
【０１７１】
この場合、検査対象係数の個数 ｎ＝５である。また係数を図２１で説明した手法で大きい順番に並べ替えるとすると、検査対象係数の周波数は、係数の絶対値から大きいほうから順に、(i0,j0)=(0,0)、(i1,j1)=(1,1)、(i2,j2)=(1,0)、(i3,j3)=(3,0)、(i5,j5)=(0,2)となる。また、水平、垂直周波数が(ik, ｊｋ)であるk番目の有効係数の絶対値CikjkはCi0j0= 5、Ci1j1= 4、Ci2j2= 3、Ci3j3= 2、Ci4j4=1となる。
【０１７２】
また、検査対象係数のすべての水平・垂直係数の組 (ｉ，ｊ)からなる集合を以下の数９式で定義する。
【数９】
0005533886.tif 000010
【０１７３】
量子化係数が数８式の場合、集合SHVは、
SHV ={(0,0), (1,1), (1,0), (3,0), (0,2)}
となる。
【０１７４】
上記の式から、図２４の符号2400a〜2400n等で示される量子化係数暫定値は、水平周波数ｉ、垂直周波数ｊの量子化係数暫定値の各係数をｚｉｊとすると、以下の数１０式で表現することができる。
【数１０】
0005533886.tif 000011
【０１７５】
また、符号化対象ブロックにおいて、量子化部、逆量子化部で用いた量子化器をＱとする。図２４で説明したとおり、再生予測誤差暫定値は、量子化係数暫定値を逆量子化、逆変換したものである。この値は、再生周波数係数に量子化係数暫定値を代入し、逆変換することで求められる。
【０１７６】
ここで、図３９の再生周波数係数xｉｊに量子化係数暫定値を逆量子化したものを代入すると、以下の数１１式で表される。
【数１１】
0005533886.tif 000012
【０１７７】
よって、再生予測誤差の左端の境界4画素であるLeftDiffベクトル4000、再生予測誤差の上端の境界4画素であるTopDiffベクトル4001再生予測誤差暫定値は、数１１式を図４０のLeftDiffベクトルの累積和表現 4010とTopDiffベクトルの累積和表現 4011に代入すると、下記の数１２式と数１３式でそれぞれ表現できる。
【数１２】
0005533886.tif 000013
【数１３】
0005533886.tif 000014
【０１７８】
ここで、Tx、t0xは前述の通り、以下のように定義することとする。
【数１４】
0005533886.tif 000015
【数１５】
0005533886.tif 000016
【０１７９】
ここで、図２４で示したとおり、コストは境界画素予測誤差推定値と再生予測誤差暫定値との差分の二乗値の累積和として表現できる。よって、サイン情報として、(si0 j0, si1 j1, si2 j2, ．．．, sin-1 jn-1)を有する量子化係数暫定値に対する一致度（境界画素予測誤差推定値と再生予測誤差暫定値との差分の二乗値の累積和）は、再生予測誤差推定値と再生予測誤差暫定値をあらわす両ベクトルの差分ベクトルの絶対値二乗値として、以下の数１６式で定義できる。
【数１６】
0005533886.tif 000017
【０１８０】
ここで、TopEstとLeftEstは図４１で説明したとおり、以下の通り定義される。
【数１７】
0005533886.tif 000018
【数１８】
0005533886.tif 000019
【０１８１】
次に、以下の４種類の集合SH, SV, SH|FreqV=x, SV|FreqH=xを新たに定義する。
【数１９】
0005533886.tif 000020
【数２０】
0005533886.tif 000021
【数２１】
0005533886.tif 000022
【数２２】
0005533886.tif 000023
【０１８２】
量子化係数が数８式の場合、集合SH、SHは、それぞれ、
SH ={0, 1, 3}
SV ={0, 1, 2}
となる。同様に量子化係数が数８の場合、集合SH|FreqV=x、SV|FreqH=xは、x=0,1,2,3において、それぞれ、
SH|FreqV=0= {0, 1, 2},  SH|FreqV=1= {1},  SH|FreqV=2 = {0},  SH|FreqV=3 = φ 
SV|FreqH=0= {0, 2},  SV|FreqH=1 = {0, 1},  SV|FreqH=2 = φ,  SV|FreqH=3= {0} 
である。なお、φは空集合とする。
【０１８３】
数１６式は、数１９式から数２２式の集合定義を用いて直交基底ベクトルTi、Tjへ乗じられる係数を一つにまとめる形で変形し、その後、ベクトルの絶対値二乗計算を展開することで、以下の数２３式のように変形できる。
【数２３】
0005533886.tif 000024
【０１８４】
ここで、＜Ａ，Ｂ＞はベクトルＡ，Ｂの内積とする。また、Txは正規直交基底をなすので、数１６式から数２３式への展開には、以下の数２４式の関係を用いた。
【数２４】
0005533886.tif 000025
【０１８５】
ここで、前述の通り、Ｇｒａｙコードは、連続する二つの値が高々１ビットしか異ならない。図４３に、４個の係数を検査対象係数とする場合のGrayコードに基づく有効係数サイン情報候補の例を示す。有効係数サイン情報候補インデックスに対して、そのGrayコード表現のｋビット目の値がｋ番目の有効係数の有効係数サイン情報候補となるように定義している。この図の斜線の部分が、直前の有効係数サイン情報候補と異なる符号である。図のように、常に、連続する有効係数サイン情報候補の間では、高々一つの有効係数の符号しか変化しないことが分かる。また、この図の右に、直前の有効係数サイン情報候補との差がある係数について、変化がある有効係数の位置(4300)と、そのサイン情報変化が正から負なのか、負から正なのかの符号変化(4301)を記載する。
上記のように、Grayコード順に評価することで、高々一つの係数しかサイン情報が変化しない。
【０１８６】
ここで、いま、idx番目と(idx+1)番目の有効係数サイン情報候補との間で、m番目の検査対象係数の符号が反転したとする。数７式で説明したとおり、第６の実施形態でのサイン情報の定義は正のサイン情報が１、負のサイン情報が-1なので、符号反転はsimjmからへ-simjmサイン情報が変化したとみなすことがきる。よって、idx番目の有効係数サイン情報候補のサイン情報を(si0j0, si1j1, si2j2, ..., simjm, ..., sin-1 jn-1)とすると、(idx+1)番目の有効係数サイン情報候補のサイン情報は、(si0j0, si1j1, si2j2, ..., -simjm, ..., sin-1 jn-1)と表現できる。よって、(idx+1)のサイン情報候補の一致度のコストとidx番目のサイン情報候補の一致度のコストの差分は、それぞれのサイン情報を式２３式に代入し、その差分をとることで、以下の数２５式で表現できる。
【数２５】
0005533886.tif 000026
【０１８７】
更に、この数２５式は展開して以下の数２６式のように簡略化できる。
【数２６】
0005533886.tif 000027
【０１８８】
この数２６式では、両者の差分は、サイン情報が反転した係数の水平周波数成分 im、垂直周波数成分jmに関連する情報しか有しないことがわかる。よって、数２６式によるidx番目と(idx+1)番目の有効係数サイン情報候補の一致度のコストの差分の計算は、数２３式の一致度のコストをすべて求める場合に比べ、計算量が大幅に少ない。(idx+1)番目の一致度のコストは、idx番目の一致度のコストに式２６で求めた値を加算するだけで求めることができる。よって、idx番目の一致度のコストに式２６の値を加算する方法は、一致度のコストを式２３に基づいて毎回計算する方法に比べ、大幅に少ない計算量で(idx+1)番目の一致度のコストを求めることができる。
【０１８９】
さらに、数２６式において (Am)項、(Bm)項、及び(Cm)項は、m番目の検査対象係数に関する定数である。よって、すべての検査対象係数に関連する(Am)項、(Bm)項、及び(Cm)項の値を、検査対象係数の番号ｍと関連付けて、予めテーブル化しておくことで、一致度コストの差分計算を、さらに少ない計算量で求めることができる。
【０１９０】
また、シグマΣを含む(X)項と(Y)項は、それぞれ、数２３式より、有効係数サイン情報候補インデックスがidxの場合の、水平周波数がimの直交基底ベクトルTimの重み付け係数、及び垂直周波数がjmの直交基底ベクトルTjmの重み付け係数である。よって、この（X）項、(Y)項は、(idx+1)の一致度のコストの計算のあとで、有効係数サイン情報候補が(idx+1)の重み付け係数に更新する必要がある。
【０１９１】
今、有効係数サイン情報候補インデックスがidxの場合の水平情報周波数imの（X）の値を数２７式のとおり、Weight_H(idx)[im]と定義する。
【数２７】
0005533886.tif 000028
【０１９２】
また、次に求めるべき有効係数サイン情報候補インデックスが(idx+1)の場合の水平情報周波数imの（X）の値を同様にWeight_H(idx+1)[im]と定義する。すると、数２７式に示したとおり、Weight_H(idx+1)[im]は、有効係数サイン情報候補インデックスがidx の場合の（X）の値Weight_H(idx)[im]と検査対象係数の番号ｍに関連付けられた定数(Am)より、以下の数２８式で表させる。
【数２８】
0005533886.tif 000029
【０１９３】
すなわち、Weight_H(idx+1)[im]はWeight_H(idx)[im]に対し、(Am)にidx番目のサイン情報候補インデックスの係数ｍのサイン情報Simjm(正：１／負：-1)を乗じたものを引けばよい。
【０１９４】
同様に、有効係数サイン情報候補インデックスがidxの場合の水平情報周波数jmの（Y）の値を数２９式のとおり、Weight_V(idx)[im]と定義する。
【数２９】
0005533886.tif 000030
【０１９５】
同様に、有効係数サイン情報候補インデックスが(idx+1)の場合の垂直情報周波数jmの（Y）の値をWeight_V(idx+1)[jm]と定義する。すると、数２９式に示したとおり、Weight_V(idx+1)[jm]は、有効係数サイン情報候補インデックスがidx の場合の（Y）の値Weight_V(idx)[jm]と検査対象係数の番号ｍに関連付けられた定数(Bm)より、以下の数３０式で表させる。
【数３０】
0005533886.tif 000031
【０１９６】
すなわち、Weight_V(idx+1)[jm]はWeight_V(idx)[jm]に対し、(Bm)にidx番目のサイン情報候補インデックスの係数ｍのサイン情報simjm(正：１／負：-1)を乗じたものを引けばよい。
【０１９７】
よって、数２８式、数３０式によれば、サイン情報候補インデックスが(idx+1)番目の (X)項、(Y)項の値は、それぞれサイン情報候補インデックスがidx番目の(X)項、(Y)項の値に、それぞれ定数(Am)、(Bm)の値をサイン情報simjmに応じて加減算するだけでよいので、非常に少ない計算で（X）項、(Y)項を計算することが可能となる。
【０１９８】
通常は、前述した図２４等で説明したように、サイン情報候補毎に、誤差画像領域の境界画素予測誤差暫定値への演算量の多い逆周波数変換を行い、境界画素予測誤差推定値との差分によるコスト計算を実行する必要がある。これに対して、第６の実施形態では、Grayコード順のサイン情報候補インデックスが採用される。この条件で、数２６式、数２８式、数３０式は、各サイン情報候補インデックスのコスト計算が、直前のサイン情報候補インデックスのコスト計算値にコスト差分値を加算する漸化式によって算出できることを示している。従って、第６の実施形態では、先頭のサイン情報候補インデックスに対してのみ逆量子化及び逆周波数変換処理に基づくコスト計算が実行され、２番目以降のサイン情報候補インデックスに対するコスト計算では漸化式計算のみが実行される。これにより、全てのサイン情報候補インデックスに対するコスト計算を完了させることができる。
【０１９９】
よって、(Am)、 (Bm)及び(Cm)のテーブル化 と、数２８式、数３０式の(X)と(Y)の更新方法を用いることにより、数２６式に基づく一致度のコストを順次加算していく方法は、数２３式に基づき毎回一致度のコストを計算する方法に比べ、計算量を大幅に削減できる。
【０２００】
前述の原理に従って、テーブル等を使って一致度のコストを順次更新する、初期化部4271、Grayコード有効係数サイン情報候補生成部4240、Grayコード順予測誤差一致度更新部4272の処理を説明する。
【０２０１】
図４４は、第６の実施形態における有効係数サイン情報予測値の導出処理のフローチャートである。
ステップS4401において、計算に必要な変数、定数の設定を行う。図４５は、このステップS4401の詳細な動作を説明する図である。
【０２０２】
ステップS4501は、各変数・定数の定義を行うステップである。
Lは、直交基底の次数である。第６の実施形態では４であるが、４に限定するものではない。また、水平、垂直で異なる直交基底の次数であってもよい。
【０２０３】
またQは量子化器の値である。t0xは周波数ｘの直交基底の画素０の係数である。ｎは検査対象係数の個数である。(ik, jk)は検査対象のk番目の検査対象係数の水平／垂直周波数であり、ｋは１からｎの値をとる。Cikjｋ はn個の検査対象係数のうちk番目の検査対象係数の量子化値の絶対値である。
【０２０４】
Weight_H[0...L-1]およびWeight_V[0...L-1] = 0は、水平／垂直の各直交基底の重みを格納するサイズＬのテーブルである。ここでWeight_H[0...L-1]は、各水平周波数に対する数２６式の（X）項、Weight_V[0...L-1]は各垂直周波数に対する数２６式の（Y）項の値を保持するためのものである。
【０２０５】
Table_H[1...n]、 Table_V[1...n]、 及びTable_HV[1...n]は、それぞれmを検査対象係数の番号(kは１からｎ)として、数２６式の(Ak)、(Bk)、(Ck)項を記録するテーブルである。
【０２０６】
mは、直前の有効係数サイン情報候補インデックス(idx)と次の有効係数サイン情報候補インデックス(idx+1)において、サイン情報が異なる検査対象係数の位置を格納する変数である。また、sは上記のm番目の検査対象係数の符号がどのような変化をするかをあらわす情報であり、サイン情報が負から正に変化した場合を０、正から負に変化した場合を１と定義する。このmとsのn=4の場合の一例は、それぞれ図４３の変化のある有効係数(4300)と符号変化(4301)である。
【０２０７】
idxは、検査する有効係数サイン情報候補のインデックスを保持するための変数である。min_idxは、順番に評価していく過程で最小の一致度のコストを与える有効係数サイン情報候補のインデックスを保持するための変数である。
【０２０８】
また、costは検査対象の有効係数サイン情報候補のインデックスにおける一致度のコストを保持するための変数である。そして、min_costは、順番に評価していく中で、min_idxに対応する最小の一致度のコストを保持するための変数である。
そして、PredSign[1...n]は、図４２の有効係数サイン情報予測部4224から出力される有効係数サイン情報予測値である。
【０２０９】
次に、図４４の、ステップ４４０２で、有効係数サイン情報候補インデックスidxを１に設定する。また一致度のコストであるcostを０に設定する。このコストはidxが０、すなわちｎ個の検査対象係数のすべてのサイン情報が正のものに対応する。本来のidx=0の一致度のコストは、数２３式で求まる。しかし、数２６式で説明したとおり、一致度のコストはすべて差分、すなわち相対値をベースに更新できることと、及び、コストの最小値を与えるidxさえ求めれば充分であること、の二点により、costの初期値を０としても、コスト最小を与えるidxの導出には影響を与えない。
また、min_costとmin_idxは、idx=0に相当する０をそれぞれ設定する。
【０２１０】
次に、図４４のステップS4403において、テーブル初期化を行う。図４６は第６の実施形態におけるテーブル初期化ステップS4403を説明する図である。このステップS4403は図４２における初期化部4271の処理に対応する。
【０２１１】
ステップS4601においては、テーブルWeight_H[0…L-1]及びWeight_V[0…L-1]を０に初期化する。また、カウンタ変数ｋを１に初期化する。
【０２１２】
ステップS4602で、Table_H[1...n]、 Table_V[1...n]、 Table_HV[1...n]を初期化する。それぞれTable_H[k]、 Table_V[k]、 及びTable_HV[k]に対し、初期化する値は数２６式の(Ak)、(Bk)、(Ck)の値、すなわち、数３１式、数３２式、数３３式にしたがって値を設定する。
【数３１】
0005533886.tif 000032
【数３２】
0005533886.tif 000033
【数３３】
0005533886.tif 000034
【０２１３】
なお、数３１式、数３２式、数３３式で各テーブルに設定する値は、値を記憶するのに必要なビット幅を削減するために、それぞれの式を適切なビット幅で丸めた近似値を用いてもよい。
【０２１４】
また、Weithg_H[0...L-1]及びWeight_V[0...L-1]は、数２３式、あるいは数２６式の(X)項、(Y)項の定義より、それぞれの係数の各周波数の直交基底ベクトルへの重みの寄与分を加算したものである。最初はidx=0、すなわちすべての検査対象係数の符号が正であるので、k番目の検査対象周波数においては、その検査対象係数の水平周波数ik、垂直周波数jkについて、サイン情報が正の場合の寄与分をそれぞれWeithg_H[ik]及びWeight_V[jk]に累積加算すればよい。よって、Weithg_H[ik]、及びWeight_V[jk]の値は、ｋ番目の検査対象係数については、それぞれ数３４式、数３５式により更新することにより、すべての検査対象係数の符号が正の場合(idx=0)における数２６式の(X)項、(Y)項が求められる。
【数３４】
0005533886.tif 000035
【数３５】
0005533886.tif 000036
【０２１５】
次にステップS4603でカウンタｋをインクリメントする。そしてステップS4604でｋがｎより大きい場合には処理を完了し、そうでない場合には、まだ設定していない検査対象係数についてステップS4602の処理を行う。
【０２１６】
次に、図４４のステップS4404において、Grayコード順有効係数サイン情報候補のインデックスのidxと、前のインデックス(idx-1)との間で、有効係数サイン情報候補のサイン情報が変化する係数mと、その符号変化の情報sを生成する。このステップS4404は、図４２のGrayコード順有効係数サイン情報候補生成部4240の処理に対応するものである。
【０２１７】
図４７は、第６の実施形態におけるステップS4404の処理を説明する図である。
まず、ステップS4702において、各変数の設定を行う。前の有効係数サイン情報候補インデックスprev_idxを、現在のidxを１減じることで求める。そして、現在の有効係数サイン情報候補のGrayコードの二進数表現CandGrayCodeを求める。ここで、C言語の記法に従い、排他的論理和を”^”、ｘのｎビット右シフトを”x>>n”とすると、CandGrayCodeは以下の数３６式で求めることができる。
【数３６】
0005533886.tif 000037
【０２１８】
そして、求まった結果に対し、kビットの値が０のものは、検査対象係数のうちk番目の係数のサイン情報候補が正、１のものはサイン情報候補が負と対応づける。数３６式による値の生成例を図４３を用いて説明する。図４３において、「有効係数サイン情報候補インデックス」列の値が与えられたときに、数３６式で求まるGrayコードの二進数表現は、「候補インデックスのグレイコード」の列に記載されている値となる。
【０２１９】
同様に、prev_idxに対応するグレーコードをPrevCandGrayCodeとし、同様に以下の数３７式で求める。
【数３７】
0005533886.tif 000038
【０２２０】
そして、ステップS4703で、CandGrayCode とPrevCandGrayCodeを２進数表現し、値が異なるビット位置ｍを算出する。たとえば図４３で有効係数サイン情報候補インデックス idx＝6のとき、CandGrayCode =” 0101”、prev_idx=４なので、PrevCandGrayCode=”0111”となる。この場合は、１ビット目の値が異なるので、ｍ＝１となる。
【０２２１】
そして、ステップS4704において、CandGrayCodeのmビット目の値が０かどうかを検査する。そして、０の場合には、ステップS4705でs=0とし、そうでない場合には、ステップS4706でs=1とする。ここでs=0はm番目の係数のサイン情報が負から正に、s=1の場合には正から負に変化したことを表す。
【０２２２】
前述の例の場合、m=1なので、CandGrayCodeの1ビット目を検査すると０である。このため、この場合にはs=0と出力する。そして、ステップS4707で、このステップを終了する。
なお、このステップS4404は、図４３等に従って、有効係数サイン情報候補インデックスをキーとし、図中の変化のある有効係数4300と符号変化4301に相当の値を有するｍとｓのテーブルとしても実現可能である。
【０２２３】
図４４のステップS4405は、有効係数サイン情報候補インデックスがidxの値の一致度のコストを求めるステップである。このステップは、図４２のGrayコード順予測誤差一致度更新部4272の処理に対応するものである。
【０２２４】
図４８に、ステップS4405における一致度のコストを更新するフローチャートを説明する。まず、ステップS4801で、sが１がどうかを判定する。s=1の場合には、前の有効係数サイン情報候補インデックスに対し、符号が正から負に反転したことが分かる。この場合には、ステップS4802の処理で一致度のコストと変数Weight_H[0....L-1]、Weight_V[0...L-1]の更新を行う。
【０２２５】
S4802では、まず、一致度のコストの計算を行う。この更新は数３８式のように行われる。
【数３８】
0005533886.tif 000039
【０２２６】
この式は、数２６式において、前のm番目の係数のサイン情報候補simjmが１(正)であり、それぞれ項(Am)、(Bm)、(Cm)としてTable_H[m]、Table_V[m]、Table_HV[m]を用い、項(X)としてWeight_H[im]、項(Y)として、Weight_V[jm]を代入したものである。また、imおよびjmは、m番目の検査対象係数の水平周波数と垂直周波数である。
【０２２７】
また、基底ベクトルの重み係数の更新処理として、数２７式、及び数３０式相当においてsimjmに１を代入することにより得られる数３９式、数４０式の計算を行う。
【数３９】
0005533886.tif 000040
【数４０】
0005533886.tif 000041
【０２２８】
また、s=0の場合には、前の有効係数サイン情報候補インデックスに対し、符号が負から正に反転したことが分かる。この場合には、ステップS4803の処理で一致度のコストと変数Weight_H[0....L-1]、Weight_V[0...L-1]の更新を行う。
【０２２９】
このステップS4803では、まず、一致度のコストの計算を行う。この更新は数４１式のように行われる。
【数４１】
0005533886.tif 000042
【０２３０】
この式は、数２６式において、前のm番目の係数のサイン情報候補simjmが-1(負)であり、それぞれ項(Am)、(Bm)、(Cm)としてTable_H[m]、Table_V[m]、Table_HV[m]を用い、項(X)としてWeight_H[im]、項(Y)として、Weight_V[jm]を代入したものである。また、imおよびjmは、m番目の検査対象係数の水平周波数と垂直周波数である。
【０２３１】
また、基底ベクトルの重み係数の更新処理として、数２７式、及び数３０式相当においてsimjmに-１を代入することにより得られる数４２式、数４３式の計算を行う。
【数４２】
0005533886.tif 000043
【数４３】
0005533886.tif 000044
【０２３２】
このステップS4802あるいはS4803による一致度のコストの更新計算は、加算７回と乗算２回、算術シフト2回（Weight_H[im]とWeight_V[jm]を2倍する演算を算術シフトで実現した場合）で更新できるため、計算量が非常に小さい。
【０２３３】
そして、図４４のステップS4406でステップS4405で求めたコストがmin_costより小さいかどうかを判定し、小さい場合のみ、ステップS4407にて、min_costにcostを代入して最小コストの更新を行い、min_idxにidxを代入することで、最小の一致度のコストを与えるサイン情報候補インデックスを更新する。
【０２３４】
そして、ステップS4408にて有効係数サイン情報候補インデックスidxをインクリメントし、ステップS4409でこの値を２のｎ乗と比べることで、すべての有効係数サイン情報候補インデックスについて評価したかどうかを判定する。
【０２３５】
そして、すべての有効係数サイン情報候補インデックスについて評価が完了した場合には、ステップS4410にて、有効係数サイン情報予測値の生成を行う。
【０２３６】
図４９は、ステップS4410における有効係数サイン情報予測値の生成方法を説明するフローチャートである。
まずステップS4901において、最小の一致度のコストを与える有効係数サイン情報候補インデックスmin_idxより、対応するGrayコードを求め、変数MinGrayCodeに設定する。この計算方法は、ステップS4404で説明したものと同一である。
そして、ステップS4902でカウンタｋを１に初期化する。このｋは検査対象係数の番号に対応する。
【０２３７】
S4903では、MinGrayCodeのkビット目の値が０かどうかを判定し、０の場合には、ステップS4904で有効係数サイン情報予測値テーブルPredSignのk番目のエントリPredSign [k]に0を、そうでない場合にはステップS4905にて１を設定する。そして、ステップS4906でカウンタをインクリメントし、ステップS4907で、すべての検査対象係数の有効係数サイン情報予測値を求めたかどうかを判定する。そして、すべての検査対象係数の有効係数サイン情報予測値を設定した場合には、このステップを終了する。
【０２３８】
そして、図４４のS4411にて、有効係数サイン情報予測値の処理を終了し、求まったn個の有効係数サイン情報予測値PredSign[1...n]を、図４２にて有効係数サイン情報予測値として出力する。
【０２３９】
なお、図４２の最尤係数サイン情報決定部4242の処理は、図４４のS4406、S4407、S4408、S4409、S4410の各ステップに対応する。
【０２４０】
なお、固定長符号を使う場合は、固定長符号が再生予測誤差に与える影響を予め計算し、その寄与分に基づいて再生予測誤差推定値を予め補正するればよい。その補正方法の一例について、以下に説明する。固定長符号を使う係数の水平・垂直周波数の集合をSHV_Fixとして数４４式に定義する。
【数４４】
0005533886.tif 000045
すると、LeftDiffベクトルの累積和表現4010は、以下の数４５式で表される。
【数４５】
0005533886.tif 000046
同様に、TopDiffベクトルの累積和表現4010は、以下の数４６式で表される。
【数４６】
0005533886.tif 000047
【０２４１】
そして、一致度のコストとして、再生予測誤差推定値と再生予測誤差暫定値をあらわす両ベクトルの差分ベクトルの絶対値二乗値を、数１６式と同等のように求めると、数４７式が得られる。
【数４７】
0005533886.tif 000048
【０２４２】
ここで、数４８式のようにベクトルTopEst’とベクトルLeftEst’を定義する。
【数４８】
0005533886.tif 000049
【０２４３】
このベクトルTopEst’とベクトルLeftEst’を数２３式以降にベクトルTopEstとベクトルLeftEstの代わりに用いれば、固定長符号を使う係数が存在しない場合と同じ方法で有効係数サイン情報予測値を求めることができる。
【０２４４】
また、第６の実施形態の数２６式で説明した項(Am)、(Bm)、(Cm)は、これらの値が大きいと、対応する係数のサイン情報が変化したときに、数２６式の値の変化も大きい、すなわち、一致度のコストに対する影響が大きいことが期待される。ここで、第４の実施形態に説明したように、一致度を大きく変化させる係数を優先して係数を並べ替えることで、より大きな情報量の削減が期待できる。そのため、第6の実施形態における有効係数並べ替え部4270(図４２)では、予めすべての係数で項(Am)、(Bm)、(Cm)の値を求め、それらの絶対値の全部、一部、あるいはいくつかを重み付けて加算した値が大きい係数ほど、優先して並べ替える実施形態も可能である。
【０２４５】
以上説明した第６の実施形態による有効係数サイン情報予測部の実現方法は、第４、第５の実施形態における符号化装置、復号装置のいずれにも適用可能である。また、第６の実施形態は、4点アダマール変換を例に説明したが、ITU-T H.264で使用されている4点直交変換や他の直交変換でも一般性を失うことなく、第６の実施形態で説明した方法が適用可能である。さらに、第６の実施形態で開示した方法は、各数式、たとえば数３１式、数３２式、数３３式等が、水平／垂直のいずれの方向も直交変換の特定の次数に依存しないことからも明らかなように、8点や16点等、他の次数の直交変換に対しても、一般性を失うことなく適用可能である。また、同様に、当業者には、水平、垂直で異なる次数をもつ直交変換を用いる符号化への適用も容易に実現できる。また、第６の施形態で開示した方法は、ノルムが１でない、すなわち正規でない直交基底を用いた符号化に適用する場合にも、この基底を定数倍することで簡単に正規直交基底とすることができるので、当業者には、上記の方法を補正して適用することは容易に実現可能である。また、当業者には、第６の実施形態中において数式で示した計算をテーブル化すること、あるは第６の実施形態でテーブル化したデータを毎回計算で求めるなどの変形による他の実現も容易である。また、第６の実施形態では、すべての係数に同じ量子化器をもちいる例を説明したが、各周波数係数で異なる量子化器を用いる場合も、数２６式等でQを周波数に応じた量子化器に変更するだけであるため、当業者には実施は容易である。
【０２４６】
更に上記第１〜第６の実施形態及びその変形例は動画像符号化、復号化のみならず静止画像の符号化／復号化に適用することは当業者なら容易である。本実施態様の各変形例も及び本実施形態から当業者に容易な他の変形例も本発明の技術思想に含まれる。
【０２４７】
図５０は、上述の第１〜第６の実施形態の符号化装置又は復号装置とそれらの変形例を実現するコンピュータのハードウェア構成の一例を示す図である。
図５０に示されるコンピュータは、ＣＰＵ５００１、メモリ５００２、入力装置５００３、出力装置５００４、外部記憶装置５００５、可搬記録媒体５００９が挿入される可搬記録媒体駆動装置５００６、及び通信ネットワーク５００７を有し、これらがバス５００８によって相互に接続された構成を有する。
【０２４８】
ＣＰＵ５００１は、当該コンピュータ全体の制御を行う。メモリ５００２は、プログラムの実行、データ更新等の際に、外部記憶装置５００５（或いは可搬記録媒体５００９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ５００１は、プログラムをメモリ５００２に読み出して実行することにより、全体の制御を行う。
【０２４９】
入出力装置５００３は、ユーザによる入力操作を検出し、その検出結果をＣＰＵ５００１に通知し、ＣＰＵ５００１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０２５０】
外部記憶装置５００５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置５００６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体５００９を収容するもので、外部記憶装置５００５の補助の役割を有する。
【０２５１】
通信インターフェース５００７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
前述した第１ないし第６の実施形態は、各実施形態の機能を実現する機能ブロックやフローチャートに対応する各制御プログラムを、ＣＰＵ５００１が実行することで実現される。そのプログラムは、例えば外部記憶装置５００５や可搬記録媒体５００９に記録して配布してもよく、或いは通信インターフェース５００７によりネットワークから取得できるようにしてもよい。各データは、例えば外部記憶装置５００５又はメモリ５００２上に記憶して運用される。また、メモリ５００２上には、必要に応じて各制御プログラムを実行するためのワーク領域が展開される。
【図１】
0005533886.tif 000050
【図２】
0005533886.tif 000051
【図３】
0005533886.tif 000052
【図４】
0005533886.tif 000053
【図５】
0005533886.tif 000054
【図６】
0005533886.tif 000055
【図７】
0005533886.tif 000056
【図８】
0005533886.tif 000057
【図９】
0005533886.tif 000058
【図１０】
0005533886.tif 000059
【図１１】
0005533886.tif 000060
【図１２】
0005533886.tif 000061
【図１３】
0005533886.tif 000062
【図１４】
0005533886.tif 000063
【図１５】
0005533886.tif 000064
【図１６】
0005533886.tif 000065
【図１７】
0005533886.tif 000066
【図１８】
0005533886.tif 000067
【図１９】
0005533886.tif 000068
【図２０】
0005533886.tif 000069
【図２１】
0005533886.tif 000070
【図２２】
0005533886.tif 000071
【図２３】
0005533886.tif 000072
【図２４】
0005533886.tif 000073
【図２５】
0005533886.tif 000074
【図２６】
0005533886.tif 000075
【図２７】
0005533886.tif 000076
【図２８】
0005533886.tif 000077
【図２９】
0005533886.tif 000078
【図３０】
0005533886.tif 000079
【図３１】
0005533886.tif 000080
【図３２】
0005533886.tif 000081
【図３３】
0005533886.tif 000082
【図３４】
0005533886.tif 000083
【図３５】
0005533886.tif 000084
【図３６】
0005533886.tif 000085
【図３７】
0005533886.tif 000086
【図３８】
0005533886.tif 000087
【図３９】
0005533886.tif 000088
【図４０】
0005533886.tif 000089
【図４１】
0005533886.tif 000090
【図４２】
0005533886.tif 000091
【図４３】
0005533886.tif 000092
【図４４】
0005533886.tif 000093
【図４５】
0005533886.tif 000094
【図４６】
0005533886.tif 000095
【図４７】
0005533886.tif 000096
【図４８】
0005533886.tif 000097
【図４９】
0005533886.tif 000098
【図５０】
0005533886.tif 000099