(57)【特許請求の範囲】
【請求項１】
複数の画像データで構成される画像データセットを符号化する画像符号化装置であって、
前記複数の画像データにおける符号化対象の着目画像データから、Ｍ×Ｎ画素で構成される符号化対象の着目ブロックを入力し、当該着目ブロックに近似する近似ブロックを既符号化画像データ内から探索し、探索した近似ブロックに対する前記着目ブロックの相対位置をベクトルとして抽出する抽出手段と、
前記着目ブロック外の符号化済みの画素を含む拡張領域と前記着目ブロックで構成される（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の拡張ブロックと、前記近似ブロックを包含する（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の参照拡張ブロックとから、差分拡張ブロックを生成する生成手段と、
該差分拡張ブロックにおける前記拡張領域内の差分画素データを参照してコンテキストを生成し、前記差分拡張ブロック内の前記着目ブロックと前記近似ブロックとの差分である差分ブロックを構成する各差分画素データを、生成した前記コンテキストに基づき予測符号化する符号化手段と
を有することを特徴とする画像符号化装置。
【請求項２】
符号化手段は、前記差分ブロックを構成する各差分画素データを可逆符号化することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記Ｐ、Ｑは１であって、前記符号化手段はＪＰＥＧ−ＬＳに準拠して予測符号化することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
前記符号化手段は、前記拡張領域の差分画素データに基づき、予め用意された複数のコンテキストセットの中から前記着目ブロックで利用するコンテキストセットを選択し、予測符号化を行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記符号化手段は、
前記着目ブロックに隣接し既符号化の複数の隣接ブロックを符号化した際に求めたベクトルそれぞれと、前記着目ブロックのベクトルとの比較する比較手段と、
該比較手段の比較結果に基づき、前記着目ブロックに対応する差分ブロックを、当該差分ブロックの前記拡張領域内のコンテキストを利用して予測符号化するか、前記隣接ブロックを符号化した際に利用したコンテキストを利用した予測符号化するかを切り換える手段と
を含むことを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記画像データセットは、ＣＴまたはＭＲＩによって得られた被検体の体軸に沿った複数の断層画像データであることを特徴とする請求項１乃至５のいずれか１項に記載の画像符号化装置。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータに、請求項１乃至６のいずれか１項に記載の画像符号化装置が有する各手段として機能させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納した、コンピュータが読み込み可能な記憶媒体。
【請求項９】
複数の画像データで構成される画像データセットを符号化する画像符号化装置の制御方法であって、
抽出手段が、前記複数の画像データにおける符号化対象の着目画像データから、Ｍ×Ｎ画素で構成される符号化対象の着目ブロックを入力し、当該着目ブロックに近似する近似ブロックを既符号化画像データ内から探索し、探索した近似ブロックに対する前記着目ブロックの相対位置をベクトルとして抽出する抽出工程と、
生成手段が、前記着目ブロック外の符号化済の画素を含む拡張領域と前記着目ブロックで構成される（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の拡張ブロックと、前記近似ブロックを包含する（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の参照拡張ブロックとから、差分拡張ブロックを生成する生成工程と、
符号化手段が、該差分拡張ブロックにおける前記拡張領域内の差分画素データを参照してコンテキストを生成し、前記差分拡張ブロック内の前記着目ブロックと前記近似ブロックとの差分である差分ブロックを構成する各差分画素データを、生成した前記コンテキストに基づき予測符号化する符号化工程と
を有することを特徴とする画像符号化装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの符号化技術に関するものである。
【背景技術】
【０００２】
近年、ＣＴ(Computed Tomography)やＭＲＩ(Magnetic Resonance Imaging)などの医療機器の撮影技術の発達により、撮影時間の短縮や、スライスの高密度化、撮影条件の多様化が進んでおり、断層画像（以下、スライス画像データとも呼ぶ）の枚数が増大している。人体の胸部や腹部など、ある一つの部位の撮影だけでも、２０００枚から３０００枚の断層画像が生成されるようなケースも増えてきている。そのため、断層画像の総データ量も膨大になるため、圧縮技術が重要になる。
【０００３】
従来、撮影で得られた断層画像の１枚１枚は、ＪＰＥＧの可逆方式やＪＰＥＧ２０００などの、国際標準の可逆符号化技術を用いて圧縮している。しかしながら、各断層画像を個別に可逆符号化したのでは、圧縮効果はそれほど期待できない。
【０００４】
近年の撮影技術の発達により、１ｍｍ厚や２ｍｍ厚など、断層画像がかなり高密度になっている。そのため、符号化対象の断層画像と、それに隣接する断層画像との差分画像を生成し、生成した差分画像を符号化することで、圧縮性能を更に向上させる技術が提案されている（特許文献１）。
【０００５】
また、動画符号化の標準技術であるＨ．２６４などでは、ブロック単位に動き補償予測を行うことで、フレーム間相関を除去し、符号化効率を向上させる技術を採用している。一般的に、動き補償予測を行ったブロックに対しては周波数変換を行って符号化するなど、ブロック独立で処理がなされる（非特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１３６４３号公報
【非特許文献】
【０００７】
【非特許文献１】ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding
【発明の概要】
【発明が解決しようとする課題】
【０００８】
動き補償予測と、着目画素の周囲画素から予測値を生成して予測符号化するような方式を組み合わせで符号化を行う場合には、動き補償予測の処理単位であるブロック間の境界で画素値が不連続となり、予測誤差が大きくなり、その結果、符号化効率が低下する。
【０００９】
本発明はかかる点に鑑みてなされたものであり、ＣＴやＭＲＩなど、被検体の体軸に沿って得られた複数の画像データで構成される画像データセットを、高い圧縮率で符号化する技術を提供しようとするものである。
【課題を解決するための手段】
【００１０】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
複数の画像データで構成される画像データセットを符号化する画像符号化装置であって、
前記複数の画像データにおける符号化対象の着目画像データから、Ｍ×Ｎ画素で構成される符号化対象の着目ブロックを入力し、当該着目ブロックに近似する近似ブロックを既符号化画像データ内から探索し、探索した近似ブロックに対する前記着目ブロックの相対位置をベクトルとして抽出する抽出手段と、
前記着目ブロック外の符号化済みの画素を含む拡張領域と前記着目ブロックで構成される（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の拡張ブロックと、前記近似ブロックを包含する（Ｍ＋Ｐ）×（Ｎ＋Ｑ）画素の参照拡張ブロックとから、差分拡張ブロックを生成する生成手段と、
該差分拡張ブロックにおける前記拡張領域内の差分画素データを参照してコンテキストを生成し、前記差分拡張ブロック内の前記着目ブロックと前記近似ブロックとの差分である差分ブロックを構成する各差分画素データを、生成した前記コンテキストに基づき予測符号化する符号化手段とを有する。
【発明の効果】
【００１１】
本発明によれば、ＣＴやＭＲＩなど、被検体の体軸に沿って得られた複数の画像データで構成される画像データセットを、高い圧縮率で符号化することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る画像処理装置の機能構成を示すブロック図。
【図２】符号化対象画像データとブロックの関係を表す図。
【図３】符号化対象ブロックと拡張領域の画素の位置関係を示す図。
【図４】差分画像ブロックデータの例と、着目画素Ｘを予測符号化の際の参照画素との関係を示す図。
【図５】符号化対象ブロックと拡張領域との関係を示す図。
【図６】参照拡張ブロック、拡張ブロック周辺、差分拡張ブロックとの関係を示す図。
【図７】第１の実施形態に係る参照ブロックの特定方法の一例を示す図。
【図８】第１の実施形態に係る参照ブロックの設定エリアについて示す図。
【図９】コンテキスト生成時の量子化閾値の説明図。
【図１０】第４の実施形態に係るタイプ分類を示す図。
【図１１】第４の実施形態に係る予測誤差のヒストグラムを表す図。
【図１２】第５の実施形態に係る各ブロックの動きベクトルの例を示す図。
【図１３】第１の実施形態の変形例における符号化処理のフローチャート。
【図１４】第１の実施形態の変形例の情報処理装置のブロック図。
【図１５】第２の実施形態に係る画像処理装置のブロック図。
【図１６】本画像処理装置の出力符号列の構成を示す図。
【図１７】実施形態における画像データセットの例を示す図。
【発明を実施するための形態】
【００１３】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［第１の実施形態］
図１は、本第１の実施形態に係る画像処理装置の機能構成を示すブロック図である。図１に示すように、本実施形態に係る画像処理装置は、バッファ１０１、ブロック分割部１０２、ブロックバッファ１０３、動き補償部１０４、拡張ブロック生成部１０５、差分画像生成部１０６、予測符号化部１０７、符号列形成部１０８を有する。同図において１０９、１１０は信号線を示す。
【００１５】
以下、図１を参照して、本実施形態に係る画像処理装置が行う処理について説明する。本第１の実施形態に係る画像処理装置の符号化対象は、複数枚の画像データからなる画像データセットである。画像データセットを構成する画像データは、水平方向Ｗ画素、垂直方向Ｈ画素、モノクロ多値で構成されているものとする。本実施形態では、画素値は２バイト（１６ビット）のデータ形式であり、そのうち１２ビットが有効ビットとする。つまり、１画素は４０９６（＝２12）階調の輝度値で表されるものとする。ただし、これらの数値は、あくまで理解を容易にするための具体例であると認識されたい。
【００１６】
次に、本実施形態の画像処理装置での各部の動作について説明する。符号化対象画像データセットは信号線１０９を介してバッファ１０２に一旦格納される。符号化対象画像データの供給源は特に問わない。また、本実施形態における符号化対象画像データは、ＣＴやＭＲＩなどの医療機器で撮影されたデータ（生データ）を再構成して得られる画像データとする。なお、医療におけるデジタル画像と通信の標準規格としてＤＩＣＯＭ（Digital Imaging and Communication in Medicine）が知られている。ＤＩＣＯＭでは各画像データセットのスライス間間隔やスライス厚さの情報に関しては、ファイル内のタグデータなどから取得できる。実施形態における符号化対象の画像データセットは、このＤＩＣＯＭに準拠したものとして説明する。図１７は、バッファ１０２に格納されＤＩＣＯＭのファイル内に含まれる画像データセットの概念図である。画像データセットは、被検体の体軸に沿った複数の画像（スライス画像データ、もしくは断層画像データ）で構成され、画像のスライス間隔、スライス厚さは、ファイル内のタグから得られる。図示の場合、画像データセットは被験者の体軸に沿った１０００枚の画像で構成され、個々の画像Ｓ（０）、Ｓ（１）、…Ｓ（９９９）として特定する。互いに隣り合う画像は、被験者の体軸に対して近接した位置の画像であるので、互いに高い相関があるとみなせる。つまり、本願発明者は、被験者の体軸方向のベクトルが、動画像における時間軸のベクトルと同じであると考えた。それ故、実施形態では、動画像における動き補償符号化の思想を用いて、これら画像データセットを符号化する。
【００１７】
ここで先頭の画像Ｓ（０）は、その画像を単独に可逆符号化を行う。そして、可逆符号化であれば、特にその種類は問わないが、例えばＪＰＥＧ−ＬＳの可逆モードを利用する。そして、先頭以外の画像Ｓ（ｋ）（ｋ＝１、２、…、９９９のいずれか）を符号化する際には、その直前に符号化した画像Ｓ（ｋ−１）を参照画像として、可逆の予測符号化を行う。なお、上記の通りなので、バッファ１０１は最低でも符号化対象の着目画像と参照する画像（実施形態では直前に符号化した画像）の２つの画像が格納できればよく、画像データセットに含まれる全画像をバッファ１０１に保持する必要はない。また、先頭画像Ｓ（０）を符号化する際には、全画素値が所定値（例えば０”）の仮想的な画像Ｓ（−１）を参照画像として符号化しても構わない。
【００１８】
ブロック分割部１０２は、バッファ１０１へ格納された符号化対象画像データＳ（ｋ）を複数の矩形ブロックに分割する。１つの矩形ブロックのサイズは水平方向Ｍ画素、垂直方向Ｎ画素とする。そして、ブロック分割部１０２は、バッファ１０１から、分割された矩形ブロック単位に読み出してブロックバッファ１０３へと格納する。ブロック分割部１０２がバッファ１０１からブロックを読み出す順番は、ブロックを単位とするラスタースキャン順とする。説明の便宜上、符号化対象の各画像データＳ（）の水平方向の画素数ＷはＭの整数倍であり、画像データＳ（）の垂直方向の画素数ＨもＮの整数倍であるとする。つまり、符号化対象画像データを矩形ブロックに分割した場合に不完全な矩形ブロックが発生しないものとする。また、この水平方向Ｍ画素、垂直方向Ｎ画素で構成される矩形ブロックを、以降、単にブロックもしくはブロックデータと呼ぶ。
【００１９】
図２に符号化対象画像データとブロックの関係を図示する。図のように符号化対象画像データＳ（ｋ）において、左上隅を原点とし、水平方向ｉ番目、垂直方向ｊ番目のブロックをＢ（ｉ，ｊ）と記す。そして、ブロックＢ（ｉ，ｊ）内の水平方向ｍ番目、垂直方向ｎ番目の画素をＢi.j（ｍ，ｎ）と記す。例えば、ブロックＢ（２，３）内の左上隅の画素は、Ｂ2,3（０，０）と表す。
【００２０】
ブロック分割部１０２は、ブロックバッファ１０３に、符号化対象のブロックデータを順次格納していく。このとき、ブロックバッファ１０３に格納するデータは、着目ブロックを構成するＭ×Ｎ画素に加えて、着目ブロック外の、当該着目ブロックに接する上１ラインと左１列の画素データも格納する。つまり、ブロックバッファ１０３に必要とされる最低容量は（Ｍ＋１）×（Ｎ＋１）×２（各画素２バイトのため）＋２バイトとなる。最後に２バイト（１画素）が追加されている理由は、実施形態ではＪＰＥＧ−ＬＳを用いることを前提にしているからである。ＪＰＥＧ−ＬＳでは、図４に示すように、符号化対象画素をＸとしたとき、画素Ｘに隣接する、符号化済みの画素値ａ，ｂ，ｃ，ｄを参照する。この場合の隣接画素ｄは、着目画素Ｘの水平右方向の座標より１つ先行した位置にあるためである。
【００２１】
実施形態では説明をより単純化するため、Ｍ＝Ｎ＝８として説明する。図３は、ブロックバッファ１０３に格納されるブロックと、図示の斜線部で示すブロック外の画素データとの関係を示している。以降、この斜線部を拡張領域という。なお、着目ブロック内の左上隅の画素の、さらに左上の拡張領域内の画素はＢij（−１、−１）と表すものとする。そして、拡張領域と着目ブロックとを合わせたブロックを以降、拡張ブロックと呼ぶ。Ｂij（８、−１）は先の説明における最後に追加されている２バイト分にあたる。符号化対象ブロックＢ（ｉ，ｊ）を符号化する際には、既に符号化済の領域となっているため、これを拡張領域内の画素と同様に扱うことができる。
【００２２】
なお、着目ブロックが符号化対象画像の左端や上端等に位置するとき、拡張領域の画素の一部または全部が実在しないことになる。この場合、その実在しない画素値は所定値であると見なす。この所定値は、符号化装置と復号装置との間で共通であればよいので、特に制限はないが、ここでは“０”であるものとする。
【００２３】
動き補償部１０４は、バッファ１０１に格納された画像データセットの中から、着目画像データＳ（ｋ）の直前に符号化した既符号化画像データＳ（ｋ−１）を読み出す。そして、動き補償部１０４は、ブロックバッファ１０３内の格納された符号化対象のブロックＢ（ｉ，ｊ）との差分が最小となるブロックの位置を既符号化画像データ内からから探索もしくは特定する。そして、動き補償部１０４は、探索したブロックに対する着目ブロックの相対位置を動きベクトルとして抽出する。なお、既符号化画像データＳ（ｋ−１）は、着目画像データＳ（ｋ）を符号化する際に参照することになるので、以降、参照画像データと言う。
【００２４】
具体的には、差分の絶対値和が最小となるブロックを探索する。参照画像データＳ（ｋ−１）内の座標（ｐ、ｑ）の画素をＰ（ｐ、ｑ）と表し、ｒ、ｓそれぞれを０乃至７の範囲で変化させたとき、差分の絶対値和Ｄは、
Ｄ＝Σ｜Ｐ（ｐ+r，ｑ+s）−Ｂi,j(r,s)｜
と表される。そこで、絶対値和Ｄが最小となるｐ，ｑを求める。ブロックＢ（ｉ，ｊ）の左上隅の画素の座標は（ｉ×Ｍ、ｊ×Ｎ）で表される。よって、動き補償部１０４が生成するベクトル情報（相対位置）は、『（ｉ×Ｍ−ｐ、ｊ×Ｍ−ｑ）』となる。
【００２５】
なお、上記では差分の絶対値和を求めるものであったが、ブロックＢ（ｉ，ｊ）に近似する度合いを評価できればよいので、例えば次式のように２乗和を計算し、Ｄの最小値となった際のｐ，ｑを求めても良い。
Ｄ＝Σ｛Ｐ（ｐ+r，ｑ+s）−Ｂi,j(r,s)｝2
【００２６】
また、ＣＴやＭＲＩでの断層像の場合、隣接する断層像間のスライス間隔（２枚の画像の体軸方向の距離）は、ＤＩＣＯＭにて規定されるので、符号化に先立ち、スライス間隔を示す情報を取得することは可能である。スライス間隔が小さいほど、隣り合う画像は相関が高いと考えてよいので、スライス間隔に応じて近似ブロックの探索する範囲を決めてもよい。この結果、スライス間隔が小さいほど、近似ブロックの探索範囲を狭くすることで、上記最小のＤを求める処理が短時間となり、符号化に係る時間短縮が期待できる。
【００２７】
拡張ブロック生成部１０５は、動き補償部１０４からのベクトル情報に基づき、参照画像データＳ（ｋ−１）から、差分が最小となったブロックと、当該ブロックの上、左に隣接する拡張領域の画素群で構成される拡張ブロックを、参照用拡張ブロックとして読み出す。要するに、拡張ブロック生成部１０５は、参照画像データＳ（ｋ−１）における座標（ｐ−１，ｑ−１）を左上隅の画素とする「（Ｍ＋１）×（Ｎ＋１）」画素で構成される参照用拡張ブロックを読み出し、差分画像生成部１０６に供給する。実施形態では、Ｍ＝Ｎ＝８としているので、拡張ブロック生成部１０５は、画像データＳ（ｋ−１）から９×９画素で構成される参照用拡張ブロックを読み出すことになる。なお、差分が最小となったブロック内の左上隅の画素が、参照画像データＳ（ｋ−１）の上端や左端に位置しているとき、拡張領域の画素の一部または全部の画素が実在しない。このように実在しない画素値は、既に説明したように所定値（実施形態では“０”）であるものとみなす。
【００２８】
差分画像生成部１０６は、符号化対象の着目拡張ブロックと参照用拡張ブロックの各画素の画素値の差分を算出し、差分拡張ブロックデータを生成する。
【００２９】
予測符号化部１０７は、差分画像生成部１０６が生成した差分拡張画像データ内の、差分ブロックを構成する８×８個の差分画素データに対して、ラスタースキャン順に予測符号化を行う。本実施形態では符号化方式として、国際標準で可逆符号化として規格化されているＪＰＥＧ−ＬＳ符号化方式（ＩＳＯ／ＩＥＣ  １４４９５−１）を適用する。ただし、これに限らず、着目画素の周囲画素から予測を生成し、予測誤差を符号化するような方式であれば、ＪＰＥＧの可逆符号化方式など他の符号化方式を適用しても構わない。予測符号化部１０７で符号化するのは、図４に示す差分拡張画像ブロックデータのうちの太枠内８×８個の画素（実施形態ではＭ＝Ｎ＝８としている）の画素である。太枠外の拡張領域の画素値（正確には差分画素値）については、符号化対象領域の画素を符号化する際の予測画素、あるいは、コンテキスト生成（状態判別）を行うため参照画素として利用する。この点は、符号化対象画像の周囲に、符号化側、復号側で共通の仮想的な画素を設定するＪＰＥＧ−ＬＳとは異なる。例えば、着目画素が図４のＸに位置する場合、Ｘの周囲４画素ａ，ｂ，ｃ，ｄを参照して符号化する。つまり、符号化対象領域内の先頭ラインＭ画素と左端一列のＮ画素を符号化する際には、拡張領域の画素が利用される。ＪＰＥＧ−ＬＳ符号化方式では、符号化対象領域の各画素に対してａ，ｂ，ｃに位置する画素から予測値ｐを算出し、予測値ｐと着目画素Ｘの差分値（予測誤差値ｅ）をエントロピー符号化する。なお、着目画素Ｘがブロックの右端の画素であり、かつ、ブロックの先頭ラインでない場合、周囲画素ｄは未符号化ブロックに属し、利用できない。この場合は、ＪＰＥＧ−ＬＳ標準と同様にして仮想的な画素を設定して用いるものとする。こうして予測符号化部１０７は、符号化対象領域Ｍ×Ｎ画素の符号化データを生成し出力する。このとき、予測符号化部１０７は、動き補償部１０４からの動きベクトルも併せて符号列形成部１０８に供給する。
【００３０】
符号列形成部１０８は、復号に必要な付加情報と、予測符号化部１０７から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線１１０に出力する。図１６に符号列形成部１０８から出力される符号列の構成の一例を示す。先頭のＨｅａｄｅｒ部分に付加情報が格納され、続いて各ブロックの符号化データが並ぶ。付加情報としては、画像データセットに含まれる画像データの枚数、各画像の水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度、ブロックの水平方向／垂直方向の画素数などを格納する。なお、先頭の画像データＳ（０）は先に説明したように、単独で可逆符号化したデータとなり、２枚目以降が直前に符号化した画像を参照した可逆符号化データとなる。そして、２枚目以降の各ブロックには、その動きベクトルデータを含むことになる。動きベクトルデータについては、符号列形成部１０８にて符号化データに含んでも構わない。例えば、Ｈｅａｄｅｒに付加情報として格納してもよいし、ブロック符号化データの先頭にブロックヘッダとして付加してもよい。
【００３１】
なお、動き補償を行なう際に符号化対象ブロックのサイズで動きブロック探索を行うとしたが、探索のブロックサイズについてはこれに限るものではない。拡張ブロックのサイズで動き補償を行った方が参照画素も含めた上で差分が最小となるブロックが探索できるため、符号化性能が良くなる可能性もある。そのため、拡張ブロックのサイズで動き探索を行っても構わない。また、上記説明では同一サイズのブロックに分割して動き補償を行う例について述べたが、これに限らず、異なるサイズのブロックが混在しても構わない。例えば、動きベクトル探索で得られた参照ブロックとの差分が大きい場合には着目ブロックを４分割して、より小さいブロックで動き補償を行うなどしても良い。また、本実施形態では、符号化対象ブロックに対する参照ブロック特定の方法として動き補償を行ったが、他の方法により参照ブロックを特定しても構わない。例えば、医用スライス画像の場合には撮影する体の部位によって、外形が拡張や縮小など特定の変化をする場合がある。この場合には、スライス厚さなどの情報から画像の領域毎にブロック単位に動かす方向や距離を予め設定しておき、その設定値に基づいて参照ブロックを特定してもよい。具体的には図７の（ａ）（ｂ）（ｃ）に示すように、頭部（斜線部）の外形が広がっていくように変化する場合、太枠内が似たブロックとなることがわかる。このような例では、図８に示すように、画像をエリアに分割し、右上のエリア１に位置するブロックについては右下ブロックを参照するなど、エリアごとに参照ブロック位置を予め設定しておいてもよい。
【００３２】
以上の説明のように実施形態によれば、着目ブロックと参照ブロックの双方の拡張ブロックの差分を求め、その差分拡張ブロックから、符号化対象の着目ブロック内の画素を予測符号化する。この結果、着目ブロック境界において画素値の不連続性を抑制できる。つまり、差分画像の冗長性を除去しつつ、予測符号化の符号化効率を向上させることが可能となる。よって本第１の実施形態によれば、ＣＴやＭＲＩなどの多数のスライス画像で構成される画像データセットを、効率よく可逆符号化するこが可能となる。なお、実施形態での符号化対象の画像データは、モノクロ多値であるものとして説明したが、これに限られるものではなく、他の色空間でも構わないし、１画素が１２ビット以外のビット数であっても構わない。また、実施形態では、画像データセットの着目画像データＳ（ｋ）を符号化する際、直前に符号化した画像データＳ（ｋ−１）を参照画像として用いる例を示したが、符号化済みの画像データであれば特に直前の画像データでなくても構わない。ただし、符号化速度を高速化するためには、比較的狭い範囲の探索処理で参照ブロックを決定できることが望ましい。それ故、ＭＲやＣＴなどでは、隣り合った位置のスライス画像ほど互いに高い相関を有することが期待できるので、上記実施形態のように、直前の画像データを参照画像データとすることが望ましい。色空間、ビット数、並びに、参照画像データの決め方については、以下に説明する変形例、他の実施形態でも同様である。
【００３３】
また、上記実施形態では、符号化対象の画像データＳ（ｋ）、並びに、既符号化画像データＳ（ｋ−１）におけるブロックのサイズをＭ×Ｎ（実施形態ではＭ＝Ｎ＝８）、拡張ブロックのサイズを（Ｍ＋１）×（Ｎ＋１）画素とした。これは、着目ブロックを符号化する際の予測符号化の際に参照する画素群が、図４に示すように、着目画素の上に位置する１水平ラインと、左に位置する１垂直ライン上に存在するからである。参照する画素が複数ラインに存在する場合、拡張ブロックのサイズは（Ｍ＋Ｐ）×（Ｎ＋Ｑ）（Ｐ，Ｑは１以上の整数）と表現できる。
【００３４】
［変形例の説明］
上記第１の実施形態では、図１の構成に基づいて説明したが、上記第１の実施形態と同等の処理をパーソナルコンピュータ（以下、ＰＣ）等に代表される情報処理装置にて実行されるコンピュータプログラム（ソフトウェア）でもって実現させても構わない。図中、１４０１はＣＰＵで、ＲＡＭ１４０２やＲＯＭ１４０３に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理、復号処理を実行する。
【００３５】
１４０２はＲＡＭである。このＲＡＭ１４０２は、外部記憶装置１４０７、記憶媒体ドライブ１４０８から、あるいは、Ｉ／Ｆ１４０９等を介して外部装置からダウンロードされたプログラムやデータを記憶するために利用される。また、このＲＡＭ１４０２は、ＣＰＵ１４０１が各種の処理を実行する際のワークエリアとしても使用される。１４０３はＲＯＭで、ブートプログラムや本装置の設定プログラムやデータを格納する。１４０４、１４０５は夫々キーボード、マウス等のポインティングデバイスで、ＣＰＵ１４０１に対して各種の指示を入力することができる。１４０６は表示装置で、ＣＲＴや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。１４０７は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置である。ここにＯＳや前述の画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象画像の符号化データなどが保存されており、ＣＰＵ１４０１による制御によって、これらのプログラムやデータはＲＡＭ１４０２上の所定のエリアにロードされる。
【００３６】
１４０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出してＲＡＭ１４０２や外部記憶装置１４０７に出力するものである。なお、この記憶媒体には、オペレーティングシステム（ＯＳ）をはじめ、前述の画像符号化、復号処理の為のプログラムが格納されている。この記憶媒体に、符号化対象の画像データ、復号対象の画像の符号化データなどを記録しておいても良い。
【００３７】
１４０９はＩ／Ｆで、このＩ／Ｆ１４０９によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えば符号化対象の画像データや、復号対象の画像の符号化データなどを本装置のＲＡＭ１４０２や外部記憶装置１４０７、あるいは記憶媒体ドライブ１４０８に入力することもできる。１４１０は上述の各部を繋ぐバスである。
【００３８】
上記構成において、本装置の電源をＯＮにすると、ＣＰＵ１４０１はＲＯＭ１４０３に格納されたＯＳをＲＡＭ１４０２にロードし、起動することになる。ＯＳ起動後、本変形例における画像符号化アプリケーションプログラムをＯＳを介して外部記憶装置１４０７からＲＡＭ１４０２にロードし、実行する。
【００３９】
ここでは、説明を簡単なものとするため、インターフェース１４０９にＣＴやＭＲＩなどの撮影装置が接続されていているものとする。そして、その撮影装置で撮影されたデータ（生データ）を再構成してえられた画像データセット（例えば１０００枚のスライス画像）がインターフェース１４０９を介して本装置に入力されるものとする。本装置は、画像データセットの構成する各画像を符号化し、外部記憶装置１４０７にファイルとして格納する。説明を簡単なものとするため、入力する画像セットは上記第１の実施形態と同じく、モノクロ多値の１２ビット（各画素２バイトで格納）で表わされているものとする。
【００４０】
図１３は、画像符号化アプリケーションを実行した際の、ＣＰＵ１４０１の処理手順を示すフローチャートである。以下、同図に従って、本変形例の符号化処理を説明する。なお、以下の説明において、画像データセット中のｋ番目の符号化対象の着目画像データをＳ（ｋ）と表す。そして、着目画像データＳ（ｋ）内の符号化対象のブロックをＢ（実施形態では８×８画素）、符号化対象ブロックＢとその拡張領域で構成される拡張ブロックをＥＢと表す。そして、着目ブロックＢとの差が最小となる、参照画像データＳ（ｋ−１）内の参照ブロックをＲＢ，参照ブロックＲＢとその拡張領域で構成される参照用拡張ブロックをＲＥＢと表す。
【００４１】
まず、ＣＰＵ１４０１は、Ｓ１にて、変数ｋを０で初期化する。そして、Ｓ２にて、ＣＰＵ１４０１は、画像データＳ（ｋ）（画像データセットの先頭の画像データ）を、単独で可逆符号化する。実施形態では、ＪＰＥＧ−ＬＳに従って符号化するものとする。符号化して得られた符号化データは、ＲＡＭ１４０２内に予め確保された出力バッファに格納する。この出力バッファが、ある程度の未書き込みデータで占められた場合、ＣＰＵ１４０１は外部記憶媒体１４０７に書き込み処理を行う。以下の説明での符号化処理で生成された符号化データも同様に、この出力バッファに蓄積されるものとして説明する。
【００４２】
画像データセットの先頭画像データＳ（０）の符号化処理を終えると、Ｓ３にて、ＣＰＵ１４０１は変数ｋを“１”増加させる。そして、ＣＰＵ１４０１は、Ｓ４乃至Ｓ９のるループにて、画像データＳ（ｋ）の符号化処理を行う。
【００４３】
まず、Ｓ４にて、ＣＰＵ１４０１は、符号化対象の画像データＳ（ｋ）から、着目ブロックを包含する拡張ブロックＥＢを読み出す。次いでＣＰＵ１４０１は、Ｓ５にて、参照画像データＳ（ｋ−１）内から、拡張ブロックＥＢ内の着目ブロックＢとの差が最も小さい参照ブロックＲＢを探し出す。そして、ＣＰＵ１４０１は、参照ブロックＲＢに対する着目ブロックＢの相対座標を動きベクトルとして求める。そして、Ｓ６にて、ＣＰＵ１４０１は、参照ブロックＲＢとその拡張領域で構成される参照拡張ブロックＲＥＢを、参照画像データＳ（ｋ−１）から読み出す。そして、Ｓ７にて、ＣＰＵ１４０１は、拡張ブロックＥＢと参照拡張ブロックＲＥＢとの差分を、差分拡張ブロックＤＥＢとして算出する。そして、ＣＰＵ１４０１は、Ｓ８にて、差分拡張ブロックＤＥＢを参照して、差分ブロックＤＢ（着目ブロックＢと参照ブロックＲＢの差分）内の各画素の差分値を予測符号化する。このとき、符号化データの先頭には、Ｓ５で求めた動きベクトル情報が付加されるものとする。そして、ＣＰＵ１４０１は、Ｓ９にて、着目画像データＳ（ｋ）内の全ブロックの符号化を終えたか否かを判定し、否の場合には、次のブロックの符号化を行うため、Ｓ４に処理を戻す。
【００４４】
一方、着目画像データＳ（ｋ）内の全ブロックの符号化を終えたと判断した場合、ＣＰＵ１４０１は、Ｓ１０にて、画像データセットの全画像についての符号化を終えたか否かを判断する。否の場合には、次の画像データを符号化するため、Ｓ３以降の処理を繰り返す。一方、全画像データの符号化を終えたと判断した場合には、ＣＰＵ１４０１は、この画像符号化処理を終える。
【００４５】
以上説明したように、先に説明した第１の実施形態と同様の処理を、ＰＣ等の汎用の情報処理装置上で実行するアプリケーションプログラムとしても実現できることになり、第１の実施形態と同様の作用効果を得ることが可能である。
【００４６】
［第２の実施形態］
次に、上記第１の実施形態またはその変形例で示された装置で得られた符号化データを復号する画像処理装置を第２の実施形態として説明する。図１５は、本第１の実施形態における復号処理を行う画像処理装置のブロック構成図である。図示のように、この画像処理装置は、符号バッファ１５０１、ヘッダ解析部１５０２、動き補償部１５０３、周辺画素設定部１５０４、差分画像復号部１５０５、原画像ブロック復号部１５０６、画像形成部１５０７とを備える。同図において１５０８、１５０９は信号線である。
【００４７】
以下、図１５を参照して、本実施形態に係る画像処理装置が行う復号処理について説明する。なお、画像データセットの先頭画像Ｓ（０）は、ＪＰＥＧ−ＬＳに従って既に復号済みであるものとする。以下の説明は、先頭の画像データＳ（０）以外の、ｋ番目（ｋ≧１）の画像データＳ（ｋ）の復号処理である。
【００４８】
信号線１５０８を介して、復号対象となる符号化データとこの復号対象符号化データに対応する動きベクトルデータが本画像処理装置に入力される。符号化データの供給源は特に問わないが、ここではメモリカードなどの記憶媒体として説明する。
【００４９】
ヘッダ解析部１５０２は符号バッファ１５０１に格納される符号化データのヘッダ部分を解析する。そして、ヘッダ解析部１５０２は、画像の水平方向／垂直方向の画素数、ブロックの水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度（ビット数と有効ビット数）などの付加情報を得る。これらの付加情報は復号の過程で利用されるものとする。
【００５０】
動き補償部１５０３は既に復号済みの参照画像データＳ（ｋ−１）と、動きベクトルデータを受け取る。そして、動き補償部１５０３は、参照画像データＳ（ｋ−１）から、動きベクトルで示される参照ブロックＲＢを包含する参照拡張ブロックＲＥＢを読み出し、差分画像復号部１５０５に供給する。
【００５１】
周辺画素設定部１５０４は、参照拡張ブロックＲＥＢ内の拡張領域の画素と、復号対象の画像データＳ（ｋ）の着目ブロックＢの拡張領域の画素を読み出し、それらの差分を算出する。そして、算出した拡張領域の各画素の差分値を、着目ブロックＢの差分画像を復号する際の周辺画素として、差分画像復号部１５０５に設定する。復号対象ブロックＢが画像端に位置するブロックの場合には、復号済みの隣接画素が存在しない位置の画素について符号化時に設定したのと同じ初期値を設定し、差分を生成する。
【００５２】
具体的な例を図６に示し説明する。図６（ａ）は参照拡張ブロックＲＥＢの例を示す。図６（ａ）の太枠内が動き補償部１５０３にて特定された参照ブロックＲＢ（８×８画素）であり、参照ブロックＲＢに隣接する上１ラインと左１列の画素が拡張領域の画素である。また、図６（ｂ）に、着目画像データＳ（ｋ）の着目ブロックＢの例を示す。図示の太枠が復号対象の着目ブロックＢであり、まだ復号されていないため画素値はこの段階では不明である。太枠外の格子パターンで示されるのが、拡張領域の画素であり、これらは既に復号済みである。よって、差分画像復号部１５０５は、図６（ａ）の拡張領域の画素と、図６（ｂ）の拡張領域の画素とのの差分を演算し、その結果（図６（ｃ）の斜線部分の画素）を、復号対象の着目ブロックＢの周辺画素値として設定する。
【００５３】
差分画像復号部１５０５は、周辺画素設定部１５０４により設定された周辺画素と、復号対象ブロックの符号化データとを受け取り、復号対象の着目ブロックの復号処理を行う。着目ブロックの左上隅の画素を予測復号する場合、その予測値は図４に示すように、画素ａ，ｂ，ｃを必要とする。本実施形態の場合、画素ａ，ｂ，ｃは、周辺画素設定部１５０４により設定された周辺画素を参照すればよいで、予測値は正しく算出できる。着目ブロックの左上隅の画素を除く先頭ラインの画素も同様に正しく復号できる。
【００５４】
なお、差分画像復号部１５０５から生成されるデータは、着目ブロックＢ内の画素と、参照ブロックＲＢ内の画素との差分画素データである。それ故、原画像ブロックは、着目ブロックＢの差分画素データそれぞれに、参照ブロックＲＢの各画素を加算することで、着目ブロックＢの画像データを生成し、生成した着目ブロックＢの画像データを画像系シェーディング部１５０７に供給する。
【００５５】
画像形成部１５０７は、復号された全てのブロックデータを画像データとして構成し、信号線１５０９により出力する。出力対象は、ハードディスク等の外部記憶装置とするが表示装置であっても良く、その種類は問わない。復号済みの画像データＳ（ｋ）は、その次の画像データを復号する際の、参照画像データとして利用されることになる。以上の動作により、符号化データから完全に元の画像データを復元することができる。
【００５６】
以上説明したように、本第２の実施形態によれば、第１の実施形態、並びに、その変形例で示した装置で生成された符号化データから、画像データセットの各画像を復号することができる。なお、本第２の実施形態での、復号処理は、先に説明した第１の実施形態の変形例と同様に、コンピュータプログラムでもって実現できるのは明らかである。この場合、その復号プログラムは、図１５の各機能部に相当する関数やサブルーチンを有することで実現できる。
【００５７】
［第３の実施形態］
第１の実施形態では、符号化対象ブロックと、そのブロックに隣接し、既符号化の画素を含めた拡張ブロックと参照拡張ブロックとの差分を求めて、予測符号化する方法について説明を行った。
【００５８】
この場合、ブロック端の差分画素を符号化する場合に、拡張領域の差分画素を参照画素として利用できるため、符号化効率を向上できる。しかしながら、符号化対象となる差分画像ブロックを符号化する際のコンテキスト情報として、符号化済みブロックで生成された情報を利用して予測符号化している。この場合には、必ずしも符号化対象の差分画像ブロックと、これまでに符号化したブロックの特性が近いとは限らず、適切な確率モデルの推定ができていない可能性がある。そこで、本第３の実施形態では、符号化対象ブロックに隣接する、より広い既符号化ブロック内の画素領域を含む拡張ブロックを生成し、拡張領域の画素について、符号化対象ブロック用のコンテキスト生成を行う方法について以下に説明を行う。
【００５９】
なお、本第３の実施形態に係る画像処理装置の符号化対象とする画像データは、第１の実施形態と同様に、グレイスケール画像データであり、１コンポーネント１２ビットで０〜４０９５の範囲の輝度値を表現した画素データにより構成されるものとする。以下の説明に成分値という表現が出てくるが、本実施形態においては１成分のみが入力されるため、成分値＝画素値として説明を行う。また、画像は水平方向Ｗ画素、垂直方向Ｈ画素により構成される点も第１の実施形態と同じとする。
【００６０】
本第３の実施形態に係る画像処理装置のブロック図は、第１の実施形態で説明した図１のブロック構成図と同じであるため、新たに図示しない。本実施形態において、第１の実施形態と異なるのは、拡張ブロック生成部１０５と予測符号化部１０７の動作のみであるので、動作の異なる拡張ブロック生成部１０５と予測符号化部１０７の処理の流れについて以下に説明を行う。
【００６１】
まず、本実施形態に係る拡張ブロック生成部１０５は拡張領域の画素として符号化対象ブロックＢと隣接する上１ラインと左１列のみでなく、任意の範囲の領域を設定する。例えば、図５に示す斜線部分のように、着目ブロックの上に位置する数ラインおよび左に位置する数列を拡張領域とする。本第３の実施形態では、符号化対象領域の左上、上、左に位置する領域の画素（図５の斜線部分）を拡張領域の画素とした。しかし、図５の二重線で示す枠内エリア１の上方数ラインのみや、左側数列（図５のエリア２）のみ、左上（図５のエリア３）のみを拡張画素としても構わない。また、符号化済み画素や符号化対象領域の画素配置から、ブロック毎に拡張画素のエリアを切り替えても構わない。ここでは説明を単純なものとするため、図５に示すように符号化対象ブロックＢが８×８画素のときに、それを包含する１２×１２画素を拡張ブロックとする。
【００６２】
続いて、本第３の実施形態に係る予測符号化部１０７の符号化処理について以下に説明する。本第３の実施形態においても、予測符号化として第１の実施形態と同様に、ＪＰＥＧ−ＬＳ符号化方式を適用するものとする。ただし、これに限らず、コンテキストモデルを利用して符号化するような方式であれば他の符号化方式を適用しても構わない。第１の実施形態では、符号化対象領域についてのみ予測符号化処理を行ったが、本実施形態においては拡張領域の画素についてもＪＰＥＧ−ＬＳにて予測符号化を行う。
【００６３】
具体的な方法について図５を用いて説明する。まず、斜線で示す拡張領域の画素について、ラスタースキャン順に予測符号化処理を行う。ＪＰＥＧ−ＬＳでは着目画素Ｘの周囲４画素ａ，ｂ，ｃ，ｄから、画素ペアａ，ｃの差分、画素ペアｃ、ｂの差分、画素ペアｂ、ｄの差分（画素勾配とも言う）から３６５種類のコンテキストを生成する。コンテキストによって、予測誤差値ｅの補正値やＧｏｌｏｍｂ符号により予測誤差値ｅを符号化する際に用いるパラメータ変数ｋの値を決定する。Ｇｏｌｏｍｂ符号は非負の整数値を符号化対象とし、パラメータ変数ｋによって異なる複数の確率モデルによる符号化が可能であるという特徴を持つ。ＪＰＥＧ−ＬＳ符号化方式でのコンテキスト生成やＧｏｌｏｍｂ符号化の詳細な方法については、勧告書に記載があるため、ここでは説明を省略する。
【００６４】
拡張領域の画素について予測符号化処理を終了した時点でのコンテキスト情報を、符号化対象領域の画素を符号化する際に用いる。ここで、拡張領域の画素については、更新されたコンテキスト情報のみ用いられ、符号化データについては不要のため出力しない。なお、本実施形態においては、拡張領域について符号化処理を行ったうえでコンテキスト情報のみ利用するものとしたが、拡張領域についてはＧｏｌｏｍｂ符号化の処理を省略しても構わない。
【００６５】
以上の説明のように、隣接領域の画素についてコンテキストを生成し、符号化対象画素の符号化に利用することで、符号化対象ブロックの特性にあった確率モデルの推定が可能となり、更なる符号化効率の向上が実現できる。
【００６６】
[第４の実施形態]
第３の実施形態においては、拡張領域について生成したコンテキスト情報（以下、単にコンテキストと）を用いて予測符号化する例について説明を行った。本第４の実施形態では拡張領域についてコンテキスト生成する際に得られる情報を基に、符号化パラメータを選択する方法について説明を行う。
【００６７】
なお、本第４の実施形態に係る画像処理装置の符号化対象とする画像データは、第１の実施形態と同様に、グレイスケール画像データであり、１コンポーネント１２ビットで０〜４０９５の範囲の輝度値を表現した画素データにより構成されるものとする。また、画像は水平方向Ｗ画素、垂直方向Ｈ画素により構成されるものとする。
【００６８】
本第４の実施形態に係る画像処理装置のブロック図は、第３の実施形態で説明した図１のブロック構成図と同じであるため、新たに図示しない。本第４の実施形態において、第１の実施形態と異なるのは、予測符号化部１０７の動作のみであるので、動作の異なる予測符号化部１０７の処理の流れについて以下に説明を行う。
【００６９】
第３の実施形態では、主にｋパラメータの更新方法について説明を行った。本実施形態の符号化処理の説明の前に、ＪＰＥＧ−ＬＳでのコンテキスト生成の詳細な方法について説明しておく。ＪＰＥＧ−ＬＳでは着目画素の周囲４画素ａ，ｂ，ｃ，ｄの画素勾配から、コンテキストを３６５状態に分け、各コンテキストに対するコンテキストパラメータの更新を行う。具体的には、まず差分値ｄ１、ｄ２、ｄ３を生成する。各差分値は、ｄ１＝ｄ−ｂ、ｄ２＝ｂ−ｃ、ｄ３＝ｃ−ａで求められる。次に、差分値ｄ１、ｄ２、ｄ３を各々−４〜４までの９値に量子化する。量子化の閾値をＴ１、Ｔ２、Ｔ３として、図９に示すように、入力ｄに対して出力Ｑｕａｎｔｉｚｅ（ｄ）が決まる。差分値ｄ１、ｄ２、ｄ３を量子化して得た値をＤ１、Ｄ２、Ｄ３と表現するものとする。
【００７０】
通常、ブロック単位に符号化する際には、画像に対してコンテキスト３６５状態を１セットとして保持して、ブロック毎に生成するか、符号化済みブロックで更新したコンテキスト情報を着目ブロックで利用するかの方法で用いることが考えられる。１枚の画像データに対して、１セットのコンテキスト情報を利用する場合には、画像内で特性の異なる領域が混在している場合に、領域毎に適したコンテキストが適用されず、符号化効率が低下する可能性がある。これを解決するために、ブロックなどの決められた領域ごとにコンテキストを生成し、符号化済みの画像のブロック毎のコンテキスト情報を符号化対象の画像データのブロックに適用する方法も考えられる。この場合には、複数のコンテキストセットを保持する必要があり、符号化や復号処理の際にメモリ使用量が膨大になってしまう。例えば、５１２×５１２の画像データを８×８サイズのブロックに分割して、各ブロックに対してコンテキストを生成した場合には、６４×６４＝４０９６セットのコンテキスト情報を保持することになる。
【００７１】
本実施形態において、予測符号化部１０７は拡張領域の画素配置から、符号化対象領域を符号化する際に適用するコンテキスト情報を選択する。例えば、拡張領域における画素値のヒストグラムを基に平坦な領域であるか、エッジの多い領域であるかなどを判断する。領域のタイプ分類の方法については、ヒストグラムの取得に限らず、エッジ検出やコンテキスト生成を行うなど、どんな方法を用いても構わない。
【００７２】
本実施形態においては、拡張領域について予測誤差の頻度分布を生成し、このヒストグラムから画像のタイプを選択する。図１０に示すタイプＡ、Ｂ、Ｃの３種類を設ける場合の例について、以下に説明する。図１１には、ヒストグラムの例を示す。
【００７３】
図１１（ａ）に示すようなヒストグラムのブロックは平坦領域であり、タイプＡを選択する。コンテキストセットはＣＳ１、コンテキスト生成のための量子化閾値はＴ１＿ａ、Ｔ２＿ａ、Ｔ３＿ａとする。平坦領域については予測誤差値が０に集中するため、ＪＰＥＧ−ＬＳ符号化方式のデフォルトの量子化閾値を利用すると、発生するコンテキストが偏る可能性ある。そのため、出現する予測誤差値の範囲内に閾値を設定して、３６５状態を有効利用できるようにする。
【００７４】
コンテキストセットについては、予めタイプに適したコンテキスト情報を用意しておいて固定値のコンテキストセットを適用してもよいし、これまでに出現したタイプ毎にコンテキストを更新してもよい。また、タイプ毎に適していると思われる初期値を設定しておいて、その値から符号化時にコンテキストの更新を行っても構わない。
【００７５】
続いて、図１１（ｂ）に示すようなヒストグラムのブロックは自然画領域であり、タイプＢを選択する。この場合もタイプＡと同様に出現した予測誤差値のレンジから、閾値Ｔ１＿ｂ、Ｔ２＿ｂ，Ｔ３＿ｂを設定すればよい。図１１（ｃ）に示すようなヒストグラムのブロックはエッジ領域であり、タイプＣを選択する。コンテキストセットはＣＳ３，量子化閾値はＴ１＿ｃ，Ｔ２＿ｃ，Ｔ３＿ｃを選択する。
【００７６】
以上の説明のように、拡張領域の予測誤差の頻度分布から、適したコンテキストセットやコンテキスト生成時の量子化閾値を選択することで、メモリ使用量を抑制しつつ、符号化効率を向上できる。
【００７７】
[第５の実施形態]
本実施形態は、符号化対象ブロックＢに隣接する既符号化のブロックの動きベクトルによって、符号化済みブロックで生成したコンテキストを利用する、符号化対象ブロックの拡張領域の画素で生成したコンテキスト情報を利用するかを切り替える。
【００７８】
まず、符号化対象ブロックＢの動きベクトルと、それに符号化済の隣接ブロックの動きベクトルの比較を行う。動きベクトルの距離や方向を比較した結果、ブロック間の相関が高いと判断された場合には、符号化済み隣接ブロックにて生成したコンテキストを利用する。一方、ブロック間の相関が低い状態であると判断された場合には、符号化対象ブロックの拡張領域の画素でコンテキストを生成し、そのコンテキストを利用するものとする。
【００７９】
図１２を参照して、より分かりやすく説明する。着目ブロックＢｘと、符号化済みの隣接ブロックＢａ、Ｂｂ、Ｂｃ各ブロックの動きベクトルが図１２に示すような方向であった場合、各ブロックに対する参照ブロックは空間的に離れた位置のブロックである。そのため差分画像ブロックを比較した場合に、画素配置の特性が異なる可能性がある。ブロック内の画素配置の特性が異なれば、隣接ブロックで生成したコンテキスト情報を利用して予測符号化を行うことで、符号化効率が低下することが考えられる。このような場合には、隣接ブロックを符号化する際に生成したコンテキストではなく、符号化対象ブロックの拡張領域について生成したコンテキストを利用して符号化する。
【００８０】
具体的には、着目ブロックの動きベクトルをＶｘ、ブロックＢａ、Ｂｂ、Ｂｃの動きベクトルをＶａ，Ｖｂ，Ｖｃ、閾値をＴｈと定義したとき、次式が満足するとき、着目ブロックＢｘについては、拡張領域について生成したコンテキストを利用して符号化する。
｜Ｖｘ−Ｖａ｜＞Ｔｈ  かつ
｜Ｖｘ−Ｖｂ｜＞Ｔｈ  かつ
｜Ｖｘ−Ｖｃ｜＞Ｔｈ
ここで｜ｖ｜は、ベクトルｖの大きさ（スカラー）を表すものとする。
【００８１】
一方、上記の比較結果、隣接ブロックと符号化対象ブロックの動きベクトルの方向や距離が近ければ、隣接ブロックを符号化する際に生成したコンテキストをそのまま利用する。ブロック単位に利用するコンテキストセットを切り替える場合には、ブロックごと独立でコンテキスト生成してもよいし、隣接ブロックのコンテキストを利用するブロックでは、利用したコンテキストセットを更新しても構わない。また、符号化済みの隣接ブロックＢａ、Ｂｂ、Ｂｃのうち、１つでも近い動きベクトルを持つブロックがあれば、近い動きベクトルを持つブロックで生成されたコンテキストを利用しても構わない。
【００８２】
以上の説明のように、隣接ブロックの動きベクトルと、符号化対象ブロックに対する動きベクトルの比較を行い、ベクトル方向が異なる場合には、拡張領域でコンテキスト生成を行い、符号化対象ブロックの符号化に利用する。この判定を行うことで、適切なコンテキスト情報を符号化対象ブロックに対して適用できる。
【符号の説明】
【００８３】
１０１…バッファ、１０２…ブロック分割部、１０３…ブロックバッファ、１０４…動き補償部、１０５…拡張ブロック生成部、１０６…差分画像生成部、１０７…予測符号化部、１０８…符号列形成部
【図１】
0006635751.tif 000002
【図２】
0006635751.tif 000003
【図３】
0006635751.tif 000004
【図４】
0006635751.tif 000005
【図５】
0006635751.tif 000006
【図６】
0006635751.tif 000007
【図７】
0006635751.tif 000008
【図８】
0006635751.tif 000009
【図９】
0006635751.tif 000010
【図１０】
0006635751.tif 000011
【図１１】
0006635751.tif 000012
【図１２】
0006635751.tif 000013
【図１３】
0006635751.tif 000014
【図１４】
0006635751.tif 000015
【図１５】
0006635751.tif 000016
【図１６】
0006635751.tif 000017
【図１７】
0006635751.tif 000018