(57)【要約】【課題】互いに関連した情報を含む複数の入力画像に対して、圧縮効率および圧縮品質の両方がより高いエンコーディング技術を実現する。【解決手段】互いに関連した情報を含む複数の入力画像をエンコーディングする方法が提供される。当該方法は、先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定するステップと、後続の入力画像と推定された、動き画像との差分から残差画像を生成するステップと、残差画像の画素値に基づいて、残差画像のうちその画素値を剰余で定義すべき領域を特定するステップと、特定された、剰余で定義すべき領域についての画素値を剰余に変換するステップと、変換後の残差画像と、剰余で定義すべき領域を特定する付加情報とをエンコーディングするステップとを含む。【選択図】図４
2014192701.tif 000002
【特許請求の範囲】
【請求項１】
互いに関連した情報を含む複数の入力画像をエンコーディングする方法であって、
先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定するステップと、
前記後続の入力画像と推定された前記動き画像との差分から残差画像を生成するステップと、
前記残差画像の画素値に基づいて、前記残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定するステップと、
特定された前記剰余で定義すべき領域についての画素値を剰余に変換するステップと、
変換後の残差画像と、前記剰余で定義すべき領域を特定する付加情報とをエンコーディングするステップとを含む、方法。
【請求項２】
前記変換後の残差画像を構成する画素のうち前記剰余で定義された画素に対して逆モジュロ演算を実行することで、前記残差画像をデコーディングするステップをさらに含み、
前記推定するステップは、デコーディングされた残差画像に基づいて、前記動き画像を推定するステップを含む、請求項１に記載の方法。
【請求項３】
前記特定するステップは、前記残差画像を構成する各画素の画素値の大きさに基づいて、前記剰余で定義すべき領域を画素単位で決定するステップを含み、
前記付加情報は、前記残差画像を構成する画素のうち、剰余で定義された画素をそれぞれ特定するための情報を含む、請求項１または２に記載の方法。
【請求項４】
前記特定するステップは、前記残差画像を所定サイズの分割した各ブロックについて、当該ブロックを構成するそれぞれの画素の画素値についての評価を結合した結果に基づいて、前記剰余で定義すべき領域をブロック単位で決定するステップを含み、
前記付加情報は、前記残差画像に含まれるブロックのうち、剰余で定義されたブロックを特定するための情報を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記変換するステップは、
前記剰余で定義すべき領域についての画素値に対してモジュロ演算を実行するステップと、
前記動き画像の勾配情報を取得するステップと、
勾配強度とモジュロ演算の法となる値との予め定められた対応関係を参照して、取得した前記勾配情報に基づいてモジュロ演算の法となる値を決定するステップとを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
互いに関連した情報を含む複数の入力画像をエンコーディングするプログラムであって、当該プログラムは、コンピュータに、
先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定するステップと、
前記後続の入力画像と推定された前記動き画像との差分から残差画像を生成するステップと、
前記残差画像の画素値に基づいて、前記残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定するステップと、
特定された前記剰余で定義すべき領域についての画素値を剰余に変換するステップと、
変換後の残差画像と、前記剰余で定義すべき領域を特定する付加情報とをエンコーディングするステップとを実行させる、プログラム。
【請求項７】
互いに関連した情報を含む複数の入力画像をエンコーディングする装置であって、
先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定する手段と、
前記後続の入力画像と推定された前記動き画像との差分から残差画像を生成する手段と、
前記残差画像の画素値に基づいて、前記残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定する手段と、
特定された前記剰余で定義すべき領域についての画素値を剰余に変換する手段と、
変換後の残差画像と、前記剰余で定義すべき領域を特定する付加情報とをエンコーディングする手段とを備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに関連した情報を含む複数の入力画像をエンコーディングする方法、プログラムおよび装置に関する。
【背景技術】
【０００２】
従来から、時間領域に配置されたフレーム列で構成される動画像に対して、そのフレーム間の冗長性を考慮した映像符号化（video coding）方法が知られている（例えば、非特許文献１を参照）。典型的な映像符号化方法では、入力されるオリジナル画像に代えて、Ｐフレーム（predicted frame）および／またはＢフレーム（bi-directional predicted frame）が伝送される。Ｐフレームは、前方向予測によって算出されたフレームであり、Ｂフレームは、前方向予測、後方向予測、および両方向予測のうちいずれかによって算出されたフレームである。
【０００３】
非特許文献２は、このような映像符号化の技術を、時間領域および空間領域に拡張して適用する方法を開示する。すなわち、非特許文献２の教示内容によれば、時間領域および空間領域に配置された複数のフレームに対して、Ｐフレームおよび／またはＢフレームを生成することができる。
【０００４】
空間領域に配置されたフレーム列の一例として、多視点画像を用いて高精細な立体映像を提供する三次元映像技術に用いられるフレーム列を挙げることができる。このような立体映像は、非常に多数の視点（例えば、２００視点）で被写体をそれぞれ撮像して得られる多視点画像によって実現される。距離マップといった３次元情報を用いてＰフレームおよび／またはＢフレームを生成するといった視点補間を用いることで、時間領域に配置されたフレーム列に対するエンコーディングと同様の方法を空間領域に配置されたフレーム列に対しても適用できる。
【０００５】
なお、本明細書では、データを目的に応じた符号に圧縮（変換）することをエンコーディング（encoding）と記し、変換された符号を元のデータに復元（復号）することをデコーディング（decoding）と記す。また、符号化（coding）という用語は、エンコーディング単体、および、エンコーディングおよびデコーディングの両方を意味するものとする。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, and Ajay Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 560-576, July 2003
【非特許文献２】P. Merkle, K. Muller, A. Smolic, and T. Wiegand, "Efficient Compression of Multi-view Video Exploiting inter-view dependencies based on H.264/MPEG-AVC," Proc. ICME 2006, pp. 1717-1720
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１および２に開示される方法によれば、生成されたＰフレームおよびＢフレームは、残差（residual value）の形で伝送される。ここで、残差の情報に対して、さらにデータ圧縮処理が実行される。このデータ圧縮処理では、画像変換（典型的には、離散コサイン変換）、量子化、エントロピー符号化（entropy coding）などが実行される。データ圧縮率が高い場合には、量子化を実行することで、データサイズ低減によるデータの著しいロスが発生する。つまり、その値が小さい残差の情報は、データ圧縮処理によって失われてしまう。
【０００８】
一方で、エッジ情報（edge information）や境界情報（boundary information）といったいくつかの画像の特徴量については、データ圧縮率が高められたとしても、失われないようにしなければならない。
【０００９】
そのため、互いに関連した情報を含む複数の入力画像に対して、圧縮効率および圧縮品質の両方のバランスが取れたエンコーディング技術が要求されている。
【課題を解決するための手段】
【００１０】
本発明のある局面に従えば、互いに関連した情報を含む複数の入力画像をエンコーディングする方法が提供される。当該方法は、先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定するステップと、後続の入力画像と推定された、動き画像との差分から残差画像を生成するステップと、残差画像の画素値に基づいて、残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定するステップと、特定された、剰余で定義すべき領域についての画素値を剰余に変換するステップと、変換後の残差画像と、剰余で定義すべき領域を特定する付加情報とをエンコーディングするステップとを含む。
【００１１】
好ましくは、変換後の残差画像を構成する画素のうち、剰余で定義された画素に対して逆モジュロ演算を実行することで、残差画像をデコーディングするステップをさらに含み、推定するステップは、デコーディングされた残差画像に基づいて、動き画像を推定するステップを含む。
【００１２】
好ましくは、特定するステップは、残差画像を構成する各画素の画素値の大きさに基づいて、剰余で定義すべき領域を画素単位で決定するステップを含み、付加情報は、残差画像を構成する画素のうち、剰余で定義された画素をそれぞれ特定するための情報を含む。
【００１３】
好ましくは、特定するステップは、残差画像を所定サイズの分割した各ブロックについて、当該ブロックを構成するそれぞれの画素の画素値についての評価を結合した結果に基づいて、剰余で定義すべき領域をブロック単位で決定するステップを含み、付加情報は、残差画像に含まれるブロックのうち、剰余で定義されたブロックを特定するための情報を含む。
【００１４】
好ましくは、変換するステップは、剰余で定義すべき領域についての画素値に対してモジュロ演算を実行するステップと、動き画像の勾配情報を取得するステップと、勾配強度とモジュロ演算の法となる値との予め定められた対応関係を参照して、取得した勾配情報に基づいてモジュロ演算の法となる値を決定するステップとを含む。
【００１５】
好ましくは、付加情報は、残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定するための判断基準を含む。
【００１６】
本発明の別の局面に従えば、互いに関連した情報を含む複数の入力画像をエンコーディングするプログラムが提供される。当該プログラムは、コンピュータに、先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定するステップと、後続の入力画像と推定された、動き画像との差分から残差画像を生成するステップと、残差画像の画素値に基づいて、残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定するステップと、特定された、剰余で定義すべき領域についての画素値を剰余に変換するステップと、変換後の残差画像と、剰余で定義すべき領域を特定する付加情報とをエンコーディングするステップとを実行させる。
【００１７】
本発明のさらに別の局面に従えば、互いに関連した情報を含む複数の入力画像をエンコーディングする装置が提供される。当該装置は、先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像を推定する手段と、後続の入力画像と推定された、動き画像との差分から残差画像を生成する手段と、残差画像の画素値に基づいて、残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定する手段と、特定された、剰余で定義すべき領域についての画素値を剰余に変換する手段と、変換後の残差画像と、剰余で定義すべき領域を特定する付加情報とをエンコーディングする手段とを含む。
【発明の効果】
【００１８】
本発明によれば、互いに関連した情報を含む複数の入力画像に対して、圧縮効率および圧縮品質の両方のバランスが取れたエンコーディング技術を実現できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係るエンコーディング／デコーディングシステムを含む立体映像再生システムを示す図である。
【図２】本発明の関連技術に係るエンコーダーの機能ブロック図である。
【図３】本発明の関連技術に係るデコーダーの機能ブロック図である。
【図４】本発明の実施の形態に係るエンコーダーの機能ブロック図である。
【図５】本発明の実施の形態に係る剰余と残差との組み合わせ手法を説明するための図である。
【図６】本発明の実施の形態に係るデータフォーマット変換部の機能ブロック図である。
【図７】本発明の実施の形態に係る剰余の算出に用いられる係数を決定するためのＬｏｏｋｕｐテーブルの一例を示す図である。
【図８】本発明の実施の形態に係るデータフォーマット変換部の別の機能ブロック図である。
【図９】本発明の実施の形態に係るデータフォーマット逆変換部の機能ブロック図である。
【図１０】本発明の実施の形態に係るデコーダーの機能ブロック図である。
【図１１】送信機として機能する情報処理装置のハードウェア構成を示す模式図である。
【図１２】受信機として機能する情報処理装置のハードウェア構成を示す模式図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２１】
［Ａ．応用例］
まず、本発明の実施の形態に係るエンコーディング／デコーディングシステムについての理解を容易化するために、典型的な応用例について説明する。本発明の実施の形態に係るエンコーディング／デコーディングシステムの応用範囲は、以下に示す構成に限定されるものではなく、任意の構成に応用できる。また、エンコーディングおよびデコーディングのいずれか一方のみを実行する方法、装置、プログラム、そのプログラムを格納する記憶媒体などについても、本願発明の範囲に含まれ得る。
【００２２】
図１は、本発明の実施の形態に係るエンコーディング／デコーディングシステムを含む立体映像再生システム１を示す図である。図１を参照して、立体映像再生システム１では、複数のカメラ１０からなるカメラアレイを用いて被写体２を撮像することで多視点画像が生成される。多視点画像は、複数の視点からそれぞれ被写体２を撮像して得られた画像群に相当する。この多視点画像は、送信機として機能する情報処理装置１００においてエンコーディングされた上で伝送される。そして、受信機として機能する情報処理装置２００においてエンコーディングによって生成されたデータがデコーディングされて、立体表示装置３００でその被写体２が再現される。すなわち、立体表示装置３００は、被写体２の立体映像を表示する。なお、送信機から受信機へのデータ伝送については、有線および無線を問わず任意の媒体を用いることができる。
【００２３】
送信機として機能する情報処理装置１００は、入力される画像に対する前処理を実行するプリプロセッサー１１０と、エンコーディングを実行するエンコーダー１２０とを含む。情報処理装置１００において実行されるエンコーディングは、後述するように、データフォーマット変換およびデータ圧縮の処理を含む。すなわち、本発明の実施の形態に係るエンコーダーは、データフォーマット変換およびデータ圧縮を並列的に実行する。
【００２４】
一方、受信機として機能する情報処理装置２００は、受信したデータに対してデコーディングを実行するデコーダー２１０と、後処理を実行するポストプロセッサー２２０とを含む。情報処理装置２００において実行されるデコーディングは、後述するように、データフォーマット逆変換およびデータ復元の処理を含む。すなわち、本発明の実施の形態に係るデコーダーは、データフォーマット逆変換およびデータ復元を並列的に実行する。
【００２５】
立体表示装置３００は、主として拡散フィルム３１２および集光レンズ３１４で構成される表示スクリーン３１０と、表示スクリーン３１０に多視点画像を投影するプロジェクターアレイ３０２とを含む。プロジェクターアレイ３０２を構成する各プロジェクターは、情報処理装置２００から出力される多視点画像の対応する視点の画像を表示スクリーン３１０へ投影する。
【００２６】
このような立体映像再生システム１によれば、表示スクリーン３１０の前にいる観察者には被写体２の再生立体像が提供される。このとき、表示スクリーン３１０と観察者との相対的な位置に応じて、観察者の視野に入る視点の画像が変化するようになっており、観察者は、あたかも被写体２の前にいるような体験が得られる。
【００２７】
このような立体映像再生システム１は、一般用途としては、映画館やアミューズメント施設などで利用され、産業用途としては、遠隔医療システム、工業デザイン設計システム、パブリックビューイング等の電子広告システムとして利用されることが期待されている。
【００２８】
［Ｂ．関連技術］
まず、本発明の実施の形態に係るエンコーディング／デコーディングシステムに関連する技術について説明する。動画像の圧縮規格の一つである、ＭＰＥＧ−４  ＡＶＣ（ITU-T Recommendation H.264|ISO/IEC 14496-10 Advanced Video Coding）のエンコーディングおよびデコーディングについて説明する。
【００２９】
図２は、本発明の関連技術に係るエンコーダー８２０の機能ブロック図である。図３は、本発明の関連技術に係るデコーダー９１０の機能ブロック図である。
【００３０】
先に、図２を参照してエンコーディングについて説明する。図２に示すエンコーダー８２０では、入力ソースからの動画像（すなわち、時間領域に配置されたフレーム列）である映像信号の各フレームが複数のマクロブロック（Macroblock）に分割され、各マクロブロックは、イントラフレーム予測（intra flame prediction）、または、インターフレーム予測（inter flame prediction）を用いて補間される。イントラフレーム予測は、同一フレームの他のマクロブロックから対象のマクロブロックを補間する方法である。一方、インターフレーム予測は、前方向予測、後方向予測、および両方向予測のいずれかを用いて、他のフレームの情報から対象のマクロブロックを補間する方法である。
【００３１】
すなわち、エンコーダー８２０は、同一または近似するフレームの情報との関連性（つまり、冗長性）に注目して、データ圧縮を行なう。
【００３２】
より具体的には、エンコーダー８２０は、入力バッファ８２０２と、分割部８２０４と、減算部８２０６と、直交変換・量子化部８２０８と、ローカルデコーダー８２１０と、制御部８２３０と、動き推定部８２４０と、出力バッファ８２４２と、エントロピー符号化部８２５０とを含む。
【００３３】
入力バッファ８２０２は、入力ソースからの映像信号を一時的に格納する。分割部８２０４は、入力バッファ８２０２に格納された映像信号を複数のマクロブロック（Ｎ×Ｎ画素）に分割する。分割部８２０４からの出力は、減算部８２０６、制御部８２３０、および動き推定部８２４０へ与えられる。
【００３４】
減算部８２０６は、分割部８２０４からの各マクロブロックに対して、先に算出されている補間情報（イントラフレーム予測またはインターフレーム予測）を減じることで、残差の情報を算出する。すなわち、減算部８２０６は、オリジナル画像（original image）から予測画像（predicted image）を減じることで、残差画像（residual image）を生成する。この残差画像の生成処理は、典型的には、マクロブロック単位で実行される。
【００３５】
直交変換・量子化部８２０８は、減算部８２０６からの残差画像に対して、直交変換（典型的には、離散フーリエ変換）および量子化を実行する。直交変換・量子化部８２０８は、スケーリングも実行する。直交変換・量子化部８２０８からの量子化後の変換係数は、ローカルデコーダー８２１０およびエントロピー符号化部８２５０へ出力される。
【００３６】
ローカルデコーダー８２１０は、後続のフレーム（のマクロブロック）に対する補間情報を算出する。より具体的には、ローカルデコーダー８２１０は、逆直交変換・スケーリング部８２１２と、加算部８２１４と、デブロックフィルター８２１６と、イントラフレーム予測部８２１８と、動き補償部８２２０と、切換部８２２２とを含む。
【００３７】
逆直交変換・スケーリング部８２１２は、直交変換・量子化部８２０８からの量子化後の変換係数に対して、逆直交変換およびスケーリングを実行する。すなわち、逆直交変換・スケーリング部８２１２は、減算部８２０６から出力される残差画像を復元する。加算部８２１４は、逆直交変換・スケーリング部８２１２からの残差画像と、先に算出されている予測画像（補間情報）とを加算する。デブロックフィルター８２１６は、加算部８２１４からの加算結果に対して、ブロックノイズの発生を抑制するためにブロック境界を平滑化する。
【００３８】
すなわち、逆直交変換・スケーリング部８２１２、加算部８２１４、およびデブロックフィルター８２１６によって、入力バッファ８２０２から与えられたオリジナル画像が復元される。そして、この復元されたオリジナル画像の情報がイントラフレーム予測部８２１８および動き補償部８２２０へ与えられる。
【００３９】
イントラフレーム予測部８２１８は、隣接するマクロブロックに基づいて予測画像を生成する。
【００４０】
動き補償部８２２０は、インターフレーム予測（フレーム間予測）を用いて、予測画像を生成する。より具体的には、動き補償部８２２０は、復元されたオリジナル画像と動き推定部８２４０からの動きデータとに基づいて、予測画像を生成する。
【００４１】
イントラフレーム予測部８２１８および動き補償部８２２０のそれぞれで生成された予測画像は、切換部８２２２によっていずれか一方が適宜選択されて、減算部８２０６へ与えられる。
【００４２】
動き推定部８２４０は、分割部８２０４からの各マクロブロックと、復元されたオリジナル画像の情報とに基づいて、動きデータ（典型的には、動きベクトル）を算出する。この算出される動きデータは、動き補償部８２２０およびエントロピー符号化部８２５０へ出力される。
【００４３】
制御部８２３０は、直交変換・量子化部８２０８、逆直交変換・スケーリング部８２１２、切換部８２２２、および、動き推定部８２４０における処理を制御する。また、制御部８２３０は、制御データとして、符号化に係るパラメータや各コンポーネントに対する符号化の順序などを指示する。
【００４４】
エントロピー符号化部８２５０は、直交変換・量子化部８２０８からの量子化後の変換係数、動き補償部８２２０からの動きデータ、および制御部８２３０からの制御データに対して、エントロピー符号化を行ない、その結果としてビットストリームを出力する。この出力されるビットストリームが入力された映像信号についてのエンコーディング結果となる。
【００４５】
出力バッファ８２４２は、必須の構成ではないが、デブロックフィルター８２１６からの復元されたオリジナル画像（映像信号）を一時的に格納する。
【００４６】
次に、図３を参照してデコーディングについて説明する。図３に示すデコーダー９１０では、図２に示すエンコーダー８２０からのビットストリームからオリジナル画像を復元する。基本的には、図２に示すエンコーダー８２０におけるエンコーディングの逆変換を行なう。より具体的には、デコーダー９１０は、入力バッファ９１０２と、エントロピー復号部９１０４と、逆直交変換・スケーリング部９１１２と、加算部９１１４と、デブロックフィルター９１１６と、イントラフレーム予測部９１１８と、動き補償部９１２０と、切換部９１２２と、制御部９１３０と、出力バッファ９１４２とを含む。
【００４７】
入力バッファ９１０２は、エンコーダー８２０からのビットストリームを一時的に格納する。エントロピー復号部９１０４は、入力バッファ９１０２からのビットストリームに対してエントロピー復号を行ない、その結果として、動きデータ、量子化後の変換係数、および制御データを出力する。
【００４８】
逆直交変換・スケーリング部９１１２は、エントロピー復号部９１０４で復号された量子化後の変換係数に対して、逆直交変換（典型的には、離散フーリエ逆変換）およびスケーリングを実行する。これらの処理によって、残差画像が復元される。
【００４９】
加算部９１１４は、逆直交変換・スケーリング部９１１２からの残差画像と、先に算出されている予測画像（補間情報）とを加算する。デブロックフィルター９１１６は、加算部９１１４からの加算結果に対して、ブロックノイズの発生を抑制するためにブロック境界を平滑化する。
【００５０】
イントラフレーム予測部９１１８は、隣接するマクロブロックに基づいて予測画像を生成する。
【００５１】
動き補償部９１２０は、インターフレーム予測（フレーム間予測）を用いて、予測画像を生成する。より具体的には、動き補償部９１２０は、復元されたオリジナル画像と、エントロピー復号部９１０４で復号された動きデータとに基づいて、予測画像を生成する。
【００５２】
イントラフレーム予測部９１１８および動き補償部９１２０のそれぞれで生成された予測画像は、切換部９１２２によっていずれか一方が適宜選択されて、加算部９１１４へ与えられる。
【００５３】
制御部９１３０は、エントロピー復号部９１０４で復号された制御データに基づいて、逆直交変換・スケーリング部９１１２および切換部９１２２における処理を制御する。
【００５４】
出力バッファ９１４２は、デブロックフィルター９１１６からの復元されたオリジナル画像（映像信号）を一時的に格納する。
【００５５】
動画像の圧縮規格の一つであるＭＰＥＧ−４  ＡＶＣにおいては、上述のような、エンコーディング／デコーディングシステムによって、データ圧縮した状態で動画像の伝送を実現する。
【００５６】
［Ｃ．概要］
本発明の実施の形態に係るエンコーディング／デコーディングシステムは、上述したような既存の規格に組み込むことができるデータフォーマット変換処理を含む。本発明の実施の形態に係るエンコーディング／デコーディングシステムでは、剰余画像（remainder image）という概念を導入してデータ圧縮効率をより高める。すなわち、本発明の実施の形態においては、既存の規格で用いられる残差だけではなく、剰余を用いることで、データ圧縮の効率を高めるとともに、その品質も向上させることができる。
【００５７】
本発明の実施の形態に係るエンコーディング／デコーディングシステムは、時間領域および／または空間領域に配置された複数のフレームからなる任意の映像信号に対して適用可能である。すなわち、本発明の実施の形態に係るエンコーディング／デコーディングシステムは、時間的および／または空間的に互いに関連した情報を含む複数の入力画像を対象とする。
【００５８】
一例として、（１）図１に示すカメラアレイによって被写体を撮像することで生成される複数の静止画像（空間領域に配置）、（２）図１に示すカメラアレイによって被写体を撮像することで生成される複数の動画像（時間領域および空間領域に配置）、（３）単一のカメラによって被写体を連続的に撮像することで生成される動画像（時間領域に配置）、（４）ステレオカメラによって被写体を撮像することで生成される輝度情報と距離画像（空間領域に配置）、（５）ステレオカメラによって被写体を連続的に撮像することで生成される動画像（輝度情報と距離画像）（時間領域および空間領域に配置）などを挙げることができる。
【００５９】
これらの処理対象の画像間には、視野（view）の類似性に伴って、冗長性が存在する。上述の図２および図３に示す構成では、このような冗長性に対処してデータ圧縮を実現するために、オリジナル画像と予測画像との間の差分に相当する残差で各画素値を定義したデータフォーマットを採用している。
【００６０】
これに対して、本発明の実施の形態においては、「剰余」で各画素値を定義したデータフォーマットを採用する。この剰余は、ある算出された値を所定の整数値で除算して得られる余り（整数値）として定義される。このとき、商も整数になる。より具体的には、剰余は、モジュロ（modulo）演算によって算出される。剰余の算出手順などについては、後に詳述する。
【００６１】
本発明の実施の形態においては、代表的には、残差に代えて剰余のみで定義するデータフォーマット、または、剰余と残差とを組み合せて定義するデータフォーマットを採用し得る。
【００６２】
以下、典型例として、図２および図３に示すＭＰＥＧ−４  ＡＶＣ規格に従うエンコーディング／デコーディングシステムに本発明の実施の形態に係るデータフォーマット変換およびデータ圧縮の処理を組み込んだ構成を示す。但し、本発明の実施の形態に係る構成は、これに限らず任意のエンコーダーおよびデコーダーに組み込むことができる。
【００６３】
［Ｄ．エンコーダー１２０の機能構成］
まず、本発明の実施の形態に係るエンコーディング／デコーディングシステムを構成するエンコーダー１２０の機能構成について説明する。図４は、本発明の実施の形態に係るエンコーダー１２０の機能ブロック図である。図４を参照して、エンコーダー１２０は、入力バッファ１２０２と、分割部１２０４と、データフォーマット変換部１２０６と、直交変換・量子化部１２０８と、ローカルデコーダー１２１０と、制御部１２３０と、動き推定部１２４０と、出力バッファ１２４２と、エントロピー符号化部１２５０とを含む。また、ローカルデコーダー１２１０は、逆直交変換・スケーリング部１２１２と、データフォーマット逆変換部１２１４と、デブロックフィルター１２１６と、イントラフレーム予測部１２１８と、動き補償部１２２０と、切換部１２２２とを含む。
【００６４】
概略すると、エンコーダー１２０は、図２に示すエンコーダー８２０に比較して、残差画像を生成する減算部８２０６に代えてデータフォーマット変換部１２０６が設けられ、オリジナル画像を復元するための加算部８２１４に代えてデータフォーマット逆変換部１２１４が設けられている点が主として異なっている。但し、この構造の変更に伴って、制御部１２３０の動作も制御部８２３０とは異なったものとなっている。
【００６５】
すなわち、入力バッファ１２０２、分割部１２０４、直交変換・量子化部１２０８、動き推定部１２４０、出力バッファ１２４２、および、エントロピー符号化部１２５０の機能は、図２に示す入力バッファ８２０２、分割部８２０４、直交変換・量子化部８２０８、動き推定部８２４０、出力バッファ８２４２、および、エントロピー符号化部８２５０に類似したものとなっている。また、ローカルデコーダー１２１０の逆直交変換・スケーリング部１２１２、デブロックフィルター１２１６、イントラフレーム予測部１２１８、動き補償部１２２０、および、切換部１２２２の機能は、図２に示すローカルデコーダー８２１０の逆直交変換・スケーリング部８２１２、デブロックフィルター８２１６、イントラフレーム予測部８２１８、動き補償部８２２０、および、切換部８２２２に類似したものとなっている。
【００６６】
［Ｅ．エンコーダー１２０における処理手順］
次に、エンコーダー１２０における処理手順について説明する。図４を参照して、入力ソースからの映像信号が入力バッファ１２０２へ与えられる。この映像信号としては、複数のカメラ１０（カメラアレイ）によって撮像された多視点画像、複数のＤｅｐｔｈカメラから出力される多視点距離画像、一連の静止画像あるいは静止画像、および、任意の形式の画像データを含む。入力バッファ１２０２には、これらの映像信号が一時的に格納され、これらの全部または一部が入力データとして分割部１２０４へ与えられる。以下では、説明の簡略化のため、時間領域および空間領域のいずれか一方の領域に配置されたフレーム列（すなわち、単一のカメラで撮像された動画像や多視点の静止画像など）を処理対象とする。もちろん、時間領域および空間領域の両方に配置されたフレーム列に対しても同様に適用できる。但し、この場合には、各フレーム（または、マクロブロック）について、時間領域および空間領域のそれぞれにおける関連性を考慮して、補間情報を算出することになる。
【００６７】
分割部１２０４は、入力バッファ１２０２から出力される映像信号（入力データ）を複数のマクロブロック（Ｎ×Ｎ画素）に分割する。これは、適切なサイズの部分画像を処理単位とすることで、予測画像の生成処理などを高速化するものである。但し、情報処理装置の演算能力や要求される処理時間などを考慮して、マクロブロックに分割することなく、１フレームをそのまま処理してもよい。分割された各マクロブロックは、データフォーマット変換部１２０６へ与えられる。
【００６８】
データフォーマット変換部１２０６は、分割部１２０４からのマクロブロックと、イントラフレーム予測部１２１８または動き補償部１２２０からの動き補償マクロブロックとを用いて、データフォーマット変換を行なう。
【００６９】
より具体的には、動き補償マクロブロックは、先行の１つ以上の入力画像から後続の入力画像に含まれる変化成分を示す動き画像に相当し、イントラフレーム予測部１２１８または動き補償部１２２０は、この動き画像を推定する。まず、データフォーマット変換部１２０６は、後続の入力画像と推定された動き画像との差分から残差画像を生成する。そして、データフォーマット変換部１２０６は、残差画像の画素値に基づいて、残差画像を構成する画素のうちその画素値を剰余で定義すべき領域を特定する。データフォーマット変換部１２０６は、特定された剰余で定義すべき領域についての画素値を剰余に変換する。このような手順によって、変換後の残差画像がデータフォーマット変換後の画像として出力される。
【００７０】
このデータフォーマット変換において、一部または全部の画素値を剰余で定義したマクロブロックが生成される。このデータフォーマット変換の詳細な手順については、後述する。
【００７１】
イントラフレーム予測部１２１８または動き補償部１２２０から与えられる対応する動き補償マクロブロックは、データフォーマット変換部１２０６によって生成されるマクロブロックからオリジナルマクロブロックを再構成するためのサイド情報（side information）として利用される。
【００７２】
データフォーマット変換後のマクロブロックが直交変換・量子化部１２０８へ与えられる。直交変換・量子化部１２０８は、直交変換、量子化、およびスケーリングを実行することで、入力されたデータフォーマット変換後のマクロブロックをさらに最適化する。直交変換としては、典型的には、離散フーリエ変換が採用される。量子化において用いられる量子化テーブルおよびスケーリングにおいて用いられるスケーリング係数については、データフォーマットタイプ（ｔｙｐｅ）に応じて最適化されてもよい。直交変換・量子化部８２０８からの量子化後の変換係数は、ローカルデコーダー１２１０（逆直交変換・スケーリング部１２１２）およびエントロピー符号化部１２５０へ出力される。
【００７３】
逆直交変換・スケーリング部１２１２は、直交変換・量子化部１２０８からの量子化後の変換係数に対して、逆直交変換およびスケーリングを実行する。すなわち、逆直交変換・スケーリング部１２１２は、直交変換・量子化部１２０８における変換処理とは逆の処理を実行し、データフォーマット変換後のマクロブロックを復元する。さらに、データフォーマット逆変換部１２１４は、復元されたデータフォーマット変換後のマクロブロックに対して、データフォーマット逆変換を実行し、分割された各マクロブロックを復元する。
【００７４】
デブロックフィルター１２１６は、データフォーマット逆変換部１２１４からの復元されたマクロブロックに対して、ブロックノイズの発生を抑制するためにブロック境界を平滑化する。
【００７５】
すなわち、逆直交変換・スケーリング部１２１２、データフォーマット逆変換部１２１４、およびデブロックフィルター１２１６によって、入力バッファ１２０２から与えられたオリジナル画像が復元される。そして、この復元されたオリジナル画像がイントラフレーム予測部１２１８および動き補償部１２２０へ与えられる。
【００７６】
イントラフレーム予測部１２１８は、隣接するマクロブロックに基づいて予測画像（以下「イントラマクロブロック」とも称す。）を生成する。動き補償部１２２０は、インターフレーム予測（フレーム間予測）を用いて、予測画像（以下「インターマクロブロック」とも称す。）を生成する。これらの予測画像が動き補償マクロブロックとなる。動き推定部１２４０は、分割部１２０４からの各マクロブロックと、復元されたオリジナル画像とに基づいて、動きデータ（典型的には、動きベクトル）を算出する。この算出される動きデータは、動き補償部１２２０およびエントロピー符号化部１２５０へ出力される。
【００７７】
制御部１２３０は、データフォーマット変換部１２０６、直交変換・量子化部１２０８、逆直交変換・スケーリング部１２１２、データフォーマット逆変換部１２１４、切換部８２２２、および、動き推定部８２４０における処理を制御する。また、制御部１２３０は、制御データとして、符号化に係るパラメータや各コンポーネントに対する符号化の順序などを出力する。さらに、制御部１２３０は、データフォーマット変換に係るパラメータ（データフォーマットタイプ（ｔｙｐｅ）、しきい値、フラグ（ｆｌａｇ１，ｆｌａｇ２）など）をエントロピー符号化部１２５０へ出力する。
【００７８】
エントロピー符号化部１２５０は、変換後の残差画像と、剰余で定義すべき領域を特定する付加情報とをエンコーディングする。より具体的には、エントロピー符号化部１２５０は、直交変換・量子化部１２０８からの量子化後の変換係数、動き推定部１２４０からの動きデータ、および制御部１２３０からの制御データおよびパラメータに対して、エントロピー符号化を行ない、その結果としてビットストリームを出力する。この出力されるビットストリームが入力された映像信号についてのエンコーディング結果となる。
【００７９】
出力バッファ１２４２は、必須の構成ではないが、デブロックフィルター１２１６からの復元されたオリジナル画像（映像信号）を一時的に格納する。
【００８０】
以下、上述の機能構成のうち主要なコンポーネントについて、より詳細に説明する。
［Ｆ．データフォーマット変換部１２０６における処理］
次に、本発明の実施の形態に係るデータフォーマット変換部１２０６（図４）における処理について詳述する。
【００８１】
（ｆ１：データフォーマットタイプ）
上述したように、本発明の実施の形態においては、剰余のみで定義する構成、および剰余と残差とを組み合せて定義する構成の両方を採用し得る。後者の場合には、さらに、（１）画素単位での剰余と残差との組み合わせ、および、（２）マクロブロック単位での剰余と残差（あるいは、すべてゼロ）との組み合わせの両方を採用し得る。
【００８２】
図５は、本発明の実施の形態に係る剰余と残差との組み合わせ手法を説明するための図である。図５（ａ）には、画素単位で剰余と残差との組み合わせを行なう手法を示し、図５（ｂ）には、マクロブロック単位で剰余と残差との組み合わせを行なう手法を示す。なお、図５において、「Ｒｅｍ」は剰余を示し、「Ｒｅｓ」は残差を示す。
【００８３】
図５（ａ）に示すように、各フレームは複数のマクロブロックに分割されて処理される。各マクロブロックを構成する複数の画素の各々について、所定の判断基準（典型的には、後述するようなしきい値ＴＨ１）を適用して、剰余および残差のいずれで定義すべきかが判断される。
【００８４】
一方、図５（ｂ）に示すように、フレームを構成する複数のマクロブロックの各々について、所定の判断基準（典型的には、後述するようなしきい値ＴＨ１およびＴＨ２）を適用して、剰余（剰余マクロブロック）および残差（残差マクロブロック）のいずれを用いるのかが判断される。
【００８５】
剰余で定義すべきと判断された画素またはマクロブロックについては、後述するようなモジュロ演算を用いて、その画素値が算出される。
【００８６】
なお、剰余のみで定義される場合には、上述のような判断基準の適用を省略して、各画素／マクロブロックについて剰余が算出される。
【００８７】
（ｆ２：データフォーマット変換部における処理概要）
上述したように、データフォーマット変換部１２０６から出力されるデータフォーマット変換後のマクロブロックには複数のタイプがあるので、サイド情報の一部として、このデータフォーマット変換の手順を示す情報（データフォーマットタイプ（ｔｙｐｅ））が用いられる。但し、残差で定義される領域については、サイド情報を含めないようにしてもよい。つまり、対応するサイド情報が存在する領域（画素またはマクロブロック）について剰余で定義されていることが暗示される。
【００８８】
データフォーマット変換部１２０６は、同一フレームにおける、オリジナルマクロブロックと動き補償マクロブロック（イントラフレーム予測部１２１８で生成されるイントラマクロブロック、または、動き補償部１２２０で生成されるインターマクロブロック）との差分（つまり、残差画像）に対して、データフォーマット変換を実行する。剰余で定義された領域については、動き補償マクロブロックもサイド情報として用いられる。
【００８９】
また、剰余を算出するモジュロ演算に用いる係数（分母）を決定するために、動き補償マクロブロック（イントラマクロブロック、または、インターマクロブロック）についての疑似勾配マクロブロック、またはそれに類する情報を有するマクロブロックが生成される。なお、勾配の情報については、フレーム単位で算出してもよい。
【００９０】
以下、画素単位で剰余と残差とを組み合せるデータフォーマット（以下「第１データフォーマット」とも称す。）、および、マクロブロック単位で剰余と残差とを組み合せるデータフォーマット（以下「第２データフォーマット」とも称す。）について、それぞれその詳細な処理について説明する。なお、以下の説明において、残差の算出に係る処理を除くことで、剰余のみで画素値を定義するデータフォーマットを実現できることは自明である。
【００９１】
（ｆ３：データフォーマット変換部１２０６（第１データフォーマット用））
図６は、本発明の実施の形態に係るデータフォーマット変換部１２０６の機能ブロック図である。図６を参照して、データフォーマット変換部１２０６は、減算部１２６０と、比較部１２６２と、マスク生成部１２６４と、処理選択部１２６６と、勾配画像生成部１２７０と、係数選択部１２７２と、Ｌｏｏｋｕｐテーブル１２７４と、モジュロ演算部１２７８と、合成部１２８０とを含む。
【００９２】
減算部１２６０は、分割部１２０４（図４）から入力されるオリジナルマクロブロック（図６においては「Original MB」と表記される。）から、動き補償マクロブロック（イントラマクロブロック、または、インターマクロブロック）（図６においては「Inter/Intra MB」と表記される。）を減算することで、残差マクロブロック（図６においては「Res MB」と表記される。）を生成する。
【００９３】
比較部１２６２およびマスク生成部１２６４は、対象のマクロブロックにおいて残差で定義された画素を特定する。すなわち、比較部１２６２は、残差画像（残差マクロブロック）を構成する各画素の画素値の大きさに基づいて、剰余で定義すべき領域を画素単位で決定する。マスク生成部１２６４は、残差画像を構成する画素のうち、剰余で定義された画素をそれぞれ特定するための情報を付加情報として出力する。
【００９４】
より具体的には、比較部１２６２は、対象のマクロブロックを構成する各画素の画素値とサイド情報の一部であるしきい値ＴＨ１とを比較する。マスク生成部１２６４は、その画素値がしきい値ＴＨ１未満である画素について剰余で定義すべきと決定し、それ以外の画素について残差で定義すべきと決定する。つまり、残差マクロブロックのうち、その画素値が小さい領域の情報は大きく失われることがあるので、残差ではなく、剰余で定義するデータフォーマットに変換した上で、データ圧縮が行われる。
【００９５】
この各画素についての剰余および残差のいずれで定義するのかという情報は、フラグｆｌａｇ１としてサイド情報に含められる。マスク生成部１２６４は、対象のフレーム内において、各画素についてのフラグｆｌａｇ１の値を展開したマスク（マップ）を生成し、処理選択部１２６６へ出力するとともに、制御部１２３０へ出力する。マスク生成部１２６４からのフラグｆｌａｇ１の値に基づいて、エンコーディングおよびデコーディングにおいて、各画素に適用される手順が決定される。
【００９６】
データフォーマット変換部１２０６においては、処理選択部１２６６がフラグｆｌａｇ１の値に基づいて、対象のマクロブロックを構成する各画素に対する処理を選択する。具体的には、処理選択部１２６６は、残差（図６においては「Residual」と表記される。）で定義すべきと判断された画素については、その画素値をそのまま合成部１２８０へ出力する一方で、剰余（図６においては「Remainder」と表記される。）で定義すべきと判断された画素については、その画素値をモジュロ演算部１２７８へ出力する。
【００９７】
モジュロ演算部１２７８は、剰余で定義すべき領域についての画素値に対してモジュロ演算を実行する。より具体的には、モジュロ演算部１２７８は、係数選択部１２７２によって設定される係数Ｄ（整数）を分母とするモジュロ演算を行ない、剰余を算出する。この算出された剰余が合成部１２８０へ出力される。合成部１２８０は、画素毎に入力される剰余または残差を結合して、データフォーマット変換後のマクロブロック（図６においては「Converted MB」と表記される。）を出力する。
【００９８】
データフォーマット変換部１２０６では、動き補償マクロブロックに基づいて、モジュロ演算部１２７８におけるモジュロ演算に用いられる係数（分母）Ｄを動的に変化させてもよい。動き補償マクロブロックのうちその画素値が大きい領域は、フレーム間の冗長性が相対的に低い領域を意味し、このような領域については、データフォーマット変換後においてもそれに含まれる情報が維持されることが好ましい。そのため、フレーム間の冗長性の大きさに応じて、適切な係数Ｄが選択される。
【００９９】
このような係数Ｄを動的に変化させる方法としては任意の方法を採用できる。図６には、動き補償マクロブロック（動き画像）の勾配情報を取得し、取得した勾配情報に基づいてモジュロ演算の法となる値を決定する処理例を示す。より具体的には、動き補償マクロブロックについての疑似勾配マクロブロック（gradient-like macro-block）を生成し、この疑似勾配マクロブロックの各画素における画素値の大きさに応じて、法となる係数Ｄを決定する。
【０１００】
具体的には、勾配画像生成部１２７０は、動き補償マクロブロックについての疑似勾配マクロブロックを生成する。そして、勾配強度とモジュロ演算の法となる値との予め定められた対応関係を参照して、モジュロ演算の法となる値を決定してもよい。より具体的には、係数選択部１２７２は、生成された疑似勾配マクロブロックの各画素の画素値（勾配強度）に基づいて、Ｌｏｏｋｕｐテーブル１２７４を参照することで、各画素についての係数Ｄを決定する。Ｌｏｏｋｕｐテーブル１２７４を用いることで、疑似勾配マクロブロックに対して係数Ｄを非線形に決定できる。このように、係数Ｄを非線形に決定することで、デコード後の画像品質を向上させることができる。
【０１０１】
図７は、本発明の実施の形態に係る剰余の算出に用いられる係数Ｄを決定するためのＬｏｏｋｕｐテーブル１２７４の一例を示す図である。図７に示すように、勾配強度に応じて複数の段階（Gradient Range）に離散化されており、各段階についての係数Ｄが定義される。勾配画像生成部１２７０は、Ｌｏｏｋｕｐテーブル１２７４を参照して、対象のマクロブロックの各画素に対応する係数Ｄを選択する。ここで、係数Ｄは、対象のマクロブロックに含まれる各カラーコンポーネントの各画素について決定される。
【０１０２】
図７に示すＬｏｏｋｕｐテーブル１２７４では、モジュロ演算の法となる値（係数Ｄ）が２のべき乗になるように設計されている。このように係数Ｄの割当てを行なうことで、モジュロ演算を高速化できる。Ｌｏｏｋｕｐテーブル１２７４は、任意に設計できるので、段階数がより少ない、あるいは、段階数がより多くＬｏｏｋｕｐテーブルを採用してもよい。
【０１０３】
あるいは、Ｌｏｏｋｕｐテーブルを必ずしも使用する必要はなく、予め定められた関数などを用いて係数Ｄを決定してもよい。例えば、疑似勾配マクロブロックの各画素における画素値をそのまま係数Ｄとしてもよい。
【０１０４】
モジュロ演算部１２７８は、処理選択部１２６６から順次出力される画素に対して、対応する係数Ｄを法としてその画素値に対するモジュロ演算を行なう。より具体的には、各画素の画素値Ｖａｌｕｅ＝ｑ×Ｄ＋ｍ（但し、ｑ≧０，Ｄ＞０）が成立する最小のｍが決定される。ここで、ｑは商であり、ｍは剰余である。
【０１０５】
後述するマクロブロックの再構成処理（デコーディング）においては、「画素値Ｐ＝ｋ×Ｄ＋ｍ」が算出されるので、各画素について算出されるカラーコンポーネント別の剰余ｍ（Remainder）が出力される。
【０１０６】
ここで、勾配画像生成部１２７０における疑似勾配マクロブロックの生成方法について説明する。より具体的には、勾配画像生成部１２７０は、サイド情報としての動き補償マクロブロック（イントラマクロブロック、または、インターマクロブロック）から画像空間上の変化の度合いを示す疑似勾配マクロブロックを生成する。疑似勾配マクロブロックは、動き補償マクロブロック内において、そのテクスチャー変化がより大きな領域がより大きな輝度をもつ画像を意味する。疑似勾配マクロブロックの生成処理としては、任意のフィルタリング処理を用いることができる。また、疑似勾配マクロブロックを構成する各画素値は、所定範囲内（例えば、０〜２５５）のいずれかの整数値をとるように正規化される。典型的には、以下のような処理手順で疑似勾配マクロブロックが生成される。
【０１０７】
（ｉ）疑似勾配マクロブロックに対してノイズ除去のためにガウシアンフィルタを適用する（ガウシアンスムージング処理）。
【０１０８】
（ｉｉ）フィルタ後のサイド情報をカラーコンポーネント別に分離する（すなわち、カラーコンポーネントの別にグレイスケール画像を生成する）。
【０１０９】
（ｉｉｉ）各カラーコンポーネントのグレイスケール画像について、（ｃ１）〜（ｃ４）の処理を実行する。
【０１１０】
（ｉｉｉ−１）エッジ検出処理
（ｉｉｉ−２）（１回以上の）ガウシアンスムージング処理（あるいは、メディアンフィルタ処理）
（ｉｉｉ−３）一連のモルフォロジカル処理（例えば、（１回以上の）膨脹処理、（１回以上の）収縮処理、（１回以上の）膨脹処理）
（ｉｉｉ−４）（１回以上の）ガウシアンスムージング処理
以上のような処理によって、動き補償マクロブロックを構成するカラーコンポーネント別に疑似勾配マクロブロックが生成される。
【０１１１】
ここに示した処理手順は一例であって、ガウシアンスムージング処理やモルフォロジカル処理の処理内容や処理手順などは適宜設計できる。
【０１１２】
さらに、動き補償マクロブロック内でより大きな輝度変化が生じている領域に対して、より大きな画素値（輝度）を割り当てるようなマクロブロックを生成できれば、どのような方法を採用してもよい。一例として、ｘ方向およびｙ方向のそれぞれについてｓｏｂｅｌフィルタを適用し、その適用結果の平均値をマクロブロックとしてもよい。
【０１１３】
（ｆ４：データフォーマット変換部１２０６（第２データフォーマット用））
図８は、本発明の実施の形態に係るデータフォーマット変換部１２０６の別の機能ブロック図である。図８を参照して、データフォーマット変換部１２０６は、図６に示すデータフォーマット変換部１２０６に比較して、マスク生成部１２６４、処理選択部１２６６、および合成部１２８０に代えて、積算部１２６５、評価部１２６７、および切換部１２６９を設けたものである。その他のコンポーネントの詳細については、上述したのでその内容は繰り返さない。
【０１１４】
比較部１２６２、積算部１２６５、および評価部１２６７は、対象のマクロブロックに対して、残差および剰余のいずれで定義すべきかを決定する。すなわち、比較部１２６２、積算部１２６５、および評価部１２６７は、残差画像（残差マクロブロック）を所定サイズの分割した各ブロックについて、当該ブロックを構成するそれぞれの画素の画素値についての評価を結合した結果に基づいて、剰余で定義すべき領域をブロック単位で決定する。評価部１２６７は、残差画像に含まれるブロックのうち、剰余で定義されたブロックを特定するための情報を付加情報として出力する。
【０１１５】
より具体的には、比較部１２６２は、残差マクロブロックを構成する各画素の画素値とサイド情報の一部であるしきい値ＴＨ１とを比較する。そして、比較部１２６２は、その画素値がしきい値ＴＨ１を超える画素については、その画素値としきい値ＴＨ１との差分を積算部１２６５へ出力する。つまり、積算部１２６５は、各残差マクロブロックについて、その画素値がしきい値ＴＨ１を超える画素についての「画素値−しきい値ＴＨ１」の総和（Σ（画素値−しきい値ＴＨ１））を算出する。
【０１１６】
評価部１２６７は、算出された総和としきい値ＴＨ２とを比較して、対象の残差マクロブロックに対して、残差および剰余のいずれで定義すべきかを決定する。具体的には、算出された総和がしきい値ＴＨ２以上であれば、評価部１２６７は、その対象の残差マクロブロックをそのまま出力すると決定する。一方、算出された総和がしきい値ＴＨ２未満であれば、評価部１２６７は、その対象の残差マクロブロックを剰余マクロブロックに変換した上で出力すると決定する。つまり、残差マクロブロックが相対的に画素値の小さい画素から構成されていると判断される場合には、当該マクロブロックの情報は大きく失われる可能性があるので、残差ではなく、剰余で定義するデータフォーマットに変換される。
【０１１７】
さらに、評価部１２６７は、この決定に基づいて、切換部１２６９へ指令を与える。より具体的には、対象の残差マクロブロックをそのまま出力すると決定された場合には、切換部１２６９は、モジュロ演算部１２７８をバイパスする経路を有効化する。これに対して、対象の残差マクロブロックを剰余マクロブロックに変換した上で出力すると決定された場合には、切換部１２６９は、残差マクロブロックをモジュロ演算部１２７８へ与える経路を有効化する。
【０１１８】
このマクロブロックについての剰余および残差のいずれで定義するのかという情報は、フラグｆｌａｇ２としてサイド情報に含められる。マスク生成部１２６４からのフラグｆｌａｇ２の値に基づいて、エンコーディングおよびデコーディングにおいて、各マクロブロックに適用される手順が決定される。
【０１１９】
なお、データフォーマット変換後のマクロブロックとして、剰余マクロブロックを用いた場合には、不可逆圧縮の形式になるので、このマクロブロックをローカルデコーダー１２１０（図４）において復元する際には、デブロックフィルター１２１６での処理をバイパスするようにしてもよい。これによって、ノイズの発生を低減できる。
【０１２０】
［Ｇ．直交変換・量子化部１２０８］
次に、本発明の実施の形態に係る直交変換・量子化部１２０８（図４）における処理について詳述する。直交変換・量子化部１２０８は、データフォーマット変換部１２０６からのデータフォーマット変換後のマクロブロックに対して、直交変換、量子化、およびスケーリングを実行する。
【０１２１】
この直交変換および量子化のタイプについては、データフォーマット変換部１２０６から出力されるマクロブロックのデータフォーマットタイプに応じて、動的に変更されてもよい。例えば、残差で定義された領域については、関連技術において用いられるのと同様の手法を適用する一方で、剰余で定義された領域については、直交変換、量子化、およびスケーリングに係るパラメータをさらに調整してもよい。
【０１２２】
［Ｈ．データフォーマット逆変換部１２１４における処理］
次に、本発明の実施の形態に係るデータフォーマット逆変換部１２１４（図４）における処理について詳述する。
【０１２３】
（ｈ１：データフォーマット逆変換部における処理概要）
上述したように、データフォーマット変換部１２０６から出力されるデータフォーマット変換後のマクロブロックには複数のタイプがあるので、サイド情報に含まれるデータフォーマットタイプに基づいて、データフォーマット逆変換の手順が選択される。
【０１２４】
データフォーマット逆変換部１２１４は、残差で定義された領域については、同一フレームにおける、動き補償マクロブロック（イントラフレーム予測部１２１８で生成されるイントラマクロブロック、または、動き補償部１２２０で生成されるインターマクロブロック）を加算することで、オリジナルマクロブロックを復元する。
【０１２５】
一方、剰余で定義された領域については、動き補償マクロブロックもサイド情報として用いられる。より具体的には、剰余から本来の画素値を推定するための逆モジュロ演算に用いる係数（分母）を決定するために、動き補償マクロブロックについての疑似勾配マクロブロック、またはそれに類する情報を有するマクロブロックが生成される。
【０１２６】
上述したように、データフォーマット変換後のマクロブロックとしては、画素単位で剰余と残差とを組み合せた第１データフォーマット、および、マクロブロック単位で剰余と残差とを組み合せた第２データフォーマットとが存在し得るが、いずれのマクロブロックに対しても、基本的には同様のデータフォーマット逆変換（復元処理）が適用される。なお、以下の説明において、残差の算出に係る処理を除くことで、剰余のみで定義されたデータフォーマット変換後のマクロブロックに対するデータフォーマット逆変換（復元処理）を実現できることは自明である。
【０１２７】
（ｈ２：データフォーマット逆変換部１２１４）
図９は、本発明の実施の形態に係るデータフォーマット逆変換部１２１４の機能ブロック図である。図９を参照して、データフォーマット逆変換部１２１４は、処理選択部１２９０と、加算部１２９２と、勾配画像生成部１２７０と、係数選択部１２７２と、Ｌｏｏｋｕｐテーブル１２７４と、逆モジュロ演算部１２９８と、合成部１２９４とを含む。なお、図６に示すデータフォーマット変換部１２０６を構成するコンポーネントと同様の処理を実行するコンポーネントについては、同じ参照符号を付している。
【０１２８】
処理選択部１２９０は、サイド情報の一部であるフラグｆｌａｇ１および／またはフラグｆｌａｇ２に基づいて、（逆直交変換・スケーリング部１２１２によって復元された）データフォーマット変換後のマクロブロックについてのデータフォーマットタイプを判断するとともに、剰余および残差のそれぞれによって定義されている領域（画素／マクロブロック）を特定する。そして、処理選択部１２９０は、残差によって定義されている領域に含まれる画素値を加算部１２９２へ出力するとともに、剰余によって定義されている領域に含まれる画素値を逆モジュロ演算部１２９８へ出力する。
【０１２９】
加算部１２９２は、処理選択部１２９０から画素値が出力された画素の画素位置に対応する動き補償マクロブロックでの画素値を、出力された画素値に加算する。この加算処理によって、オリジナルマクロブロックの対応する画素値が復元される。加算部１２９２は、この算出結果を合成部１２９４へ出力する。
【０１３０】
一方、逆モジュロ演算部１２９８は、処理選択部１２９０から出力された画素値（剰余）と、その剰余を算出する際に用いられた係数Ｄとから、オリジナルマクロブロックの対応する画素値を逆モジュロ演算によって推定する。この逆モジュロ演算に必要な係数Ｄは、データフォーマット変換部１２０６における剰余の算出処理と同様の処理に従って決定される。すなわち、勾配画像生成部１２７０が動き補償マクロブロックについての疑似勾配マクロブロックを生成し、係数選択部１２７２が生成された疑似勾配マクロブロックの各画素の画素値（勾配強度）に基づいて、Ｌｏｏｋｕｐテーブル１２７４を参照することで、各画素についての係数Ｄを決定する。この勾配画像生成部１２７０、係数選択部１２７２、およびＬｏｏｋｕｐテーブル１２７４に係る処理は、図６を参照して説明したので、詳細な説明は繰り返さない。
【０１３１】
逆モジュロ演算部１２９８は、各画素について選択された係数Ｄおよび剰余（Remainder）、ならびに動き補償マクロブロックの対応する画素値ＳＩを用いて、逆モジュロ演算を行なう。より具体的には、逆モジュロ演算部１２９８は、オリジナルマクロブロックの対応する画素値についての候補値Ｃ（ｑ’）のリストをＣ（ｑ’）＝ｑ’×Ｄ＋Ｒｅｍａｉｎｄｅｒ（但し、ｑ’≧０，Ｃ（ｑ’）＜２５６）に従って算出し、この算出された候補値Ｃ（ｑ’）のうち、動き補償マクロブロックの対応する画素値ＳＩに対する差が最も小さいものを、オリジナルマクロブロックの対応する画素値として決定する。
【０１３２】
例えば、係数Ｄ＝８、剰余ｍ＝３、動き補償マクロブロックの対応する画素値ＳＩ＝８の場合を考えると、候補値Ｃ（ｑ’）としては、以下のようになる。
【０１３３】
候補値Ｃ（０）＝０×８＋３＝３    （ＳＩとの差＝５）
候補値Ｃ（１）＝１×８＋３＝１１  （ＳＩとの差＝３）
候補値Ｃ（２）＝２×８＋３＝１９  （ＳＩとの差＝１１）
…
これらの候補値Ｃ（ｑ’）のうち、動き補償マクロブロックの対応する画素値ＳＩとの差が最も小さくなる候補値Ｃ（１）が選択され、オリジナルマクロブロックの対応する画素値は「１１」に決定される。このようにして、オリジナルマクロブロックの各画素の画素値がカラーコンポーネント別にそれぞれ決定される。この算出された画素値が合成部１２９４へ出力される。合成部１２９４は、画素毎に入力される剰余または残差を結合して、オリジナルマクロブロック（Original MB）を出力する。
【０１３４】
［Ｉ．デコーダー２１０の機能構成］
次に、本発明の実施の形態に係るエンコーディング／デコーディングシステムを構成するデコーダー２１０（図１）の機能構成について説明する。
【０１３５】
図１０は、本発明の実施の形態に係るデコーダー２１０の機能ブロック図である。図１０を参照して、デコーダー２１０は、入力バッファ２１０２と、エントロピー復号部２１０４と、逆直交変換・スケーリング部２１１２と、データフォーマット逆変換部２１１４と、デブロックフィルター２１１６と、イントラフレーム予測部２１１８と、動き補償部２１２０と、切換部２１２２と、制御部２１３０と、出力バッファ２１４２とを含む。
【０１３６】
概略すると、デコーダー２１０は、図３に示すデコーダー９１０に比較して、残差画像と先に算出されている予測画像（補間情報）とを加算する加算部９１１４に代えてデータフォーマット逆変換部２１１４が設けられている点が主として異なっている。但し、この構造の変更に伴って、制御部２１３０の動作も制御部９１３０とは異なったものとなっている。
【０１３７】
すなわち、入力バッファ２１０２、エントロピー復号部２１０４、逆直交変換・スケーリング部２１１２、デブロックフィルター２１１６、イントラフレーム予測部２１１８、動き補償部２１２０、切換部２１２２、制御部２１３０、および、出力バッファ２１４２の機能は、図３に示す入力バッファ９１０２、エントロピー復号部９１０４、逆直交変換・スケーリング部９１１２、デブロックフィルター９１１６、イントラフレーム予測部９１１８、動き補償部９１２０、切換部９１２２、制御部９１３０、および、出力バッファ９１４２に類似したものとなっている。
【０１３８】
［Ｊ．デコーダー２１０における処理手順］
次に、デコーダー２１０における処理手順について説明する。デコーダー２１０では、図４に示すエンコーダー１２０からのビットストリームからオリジナル画像を復元する。図１０を参照して、ビットストリームが入力バッファ２１０２へ与えられる。入力バッファ２１０２は、与えられたビットストリームを一時的に格納する。エントロピー復号部２１０４は、入力バッファ２１０２からのビットストリームに対してエントロピー復号を行ない、その結果として、動きデータ、量子化後の変換係数、ならびに、制御データおよびパラメータを出力する。動きデータは、動き補償部２１２０へ与えられる。
【０１３９】
逆直交変換・スケーリング部２１１２は、エントロピー復号部２１０４で復号された量子化後の変換係数に対して、逆直交変換（典型的には、離散フーリエ逆変換）およびスケーリングを実行する。これらの処理によって、データフォーマット変換後のマクロブロックが復元される。そして、データフォーマット逆変換部２１１４によって、データフォーマット変換後のマクロブロックに対して、データフォーマット逆変換が実行されるとともに、デブロックフィルター２１１６がその結果に対して、ブロックノイズの発生を抑制するためにブロック境界を平滑化する。これらの処理によって、オリジナル画像が復元される。
【０１４０】
イントラフレーム予測部２１１８は、隣接するマクロブロックに基づいて予測画像を生成する。
【０１４１】
動き補償部２１２０は、インターフレーム予測（フレーム間予測）を用いて、予測画像を生成する。より具体的には、動き補償部２１２０は、復元されたオリジナルマクロブロックと、エントロピー復号部２１０４で復号された動きデータとに基づいて、予測画像を生成する。
【０１４２】
イントラフレーム予測部２１１８および動き補償部２１２０のそれぞれで生成された予測画像は、切換部２１２２によっていずれか一方が適宜選択されて、データフォーマット逆変換部２１１４へ与えられる。
【０１４３】
制御部２１３０は、エントロピー復号部２１０４で復号された制御データおよびパラメータに基づいて、逆直交変換・スケーリング部２１１２、データフォーマット逆変換部２１１４および切換部２１２２における処理を制御する。
【０１４４】
出力バッファ２１４２は、デブロックフィルター２１１６からの復元されたオリジナル画像（映像信号）を一時的に格納する。
【０１４５】
［Ｋ．パラメータおよびサイド情報］
次に、本発明の実施の形態に係るエンコーディング／デコーディングシステムにおいて用いられるパラメータおよびサイド情報について詳述する。
【０１４６】
まず、上述したように、本発明の実施の形態においては、フラグｆｌａｇ１および／またはフラグｆｌａｇ２を用いて、データフォーマット変換後のマクロブロックにおいて剰余で定義される領域が特定される。言い換えれば、フラグｆｌａｇ１およびフラグｆｌａｇ２をいずれも無効化することで、すべての領域が残差で定義されることが特定される。このようなすべての領域が残差で定義される、つまりデータフォーマット変換が実施されない場合には、エンコーダー１２０（より具体的には、制御部１２３０）およびデコーダー２１０（より具体的には、制御部２１３０）は、例えば、ＭＰＥＧ−４  ＡＶＣのような規格に従った動作を行なう。
【０１４７】
一方、本発明の実施の形態に係るデータフォーマット変換が実施された場合には、上述のフラグｆｌａｇ１，ｆｌａｇ２に加えて、タイプｔｙｐｅ、しきい値ＴＨ１，ＴＨ２、剰余演算用パラメータａなどのパラメータが用いられる。
【０１４８】
まず、タイプｔｙｐｅは、画素単位で剰余と残差との組み合せる第１データフォーマット（図５（ａ））と、マクロブロック単位で剰余と残差との組み合せる第２データフォーマット（図５（ｂ））とのいずれが選択されているかを示すパラメータに相当する。
【０１４９】
タイプｔｙｐｅは、いずれかのデータフォーマットが選択されているかを特定できればよいので、単一ビット（１ビット）の情報が割り当てられれば十分である。選択されるデータフォーマットに応じて、以下のようなパラメータが用いられる。
【０１５０】
（ｉ）第１データフォーマット
（Ａ）フラグｆｌａｇ１
マクロブロックを構成する画素毎にフラグｆｌａｇ１が割り当てられ、フラグｆｌａｇ１の各々は、対応する画素が剰余および残差のいずれで定義されるのかを示す。代替の構成として、剰余および残差の一方にのみフラグｆｌａｇ１を割当て、他方にはフラグｆｌａｇ１を割り当てないようにすることで、各画素について、剰余および残差のいずれで定義されるのかを特定できる。
【０１５１】
（Ｂ）しきい値ＴＨ１
しきい値ＴＨ１は、各マクロブロックを構成する複数の画素の各々について、剰余および残差のいずれで定義すべきかを判断するための判断基準として用いられる。つまり、しきい値ＴＨ１は、残差画像（残差マクロブロック）を構成する画素のうちその画素値を剰余で定義すべき領域を特定するための判断基準であり、このしきい値ＴＨ１は、付加情報としてデコーダー側へ送信される。
【０１５２】
（Ｃ）剰余演算用パラメータａ
剰余演算用パラメータａは、モジュロ演算部１２７８（図６）において用いられる係数Ｄを決定するためのパラメータである。一例として、勾配画像生成部１２７０（図４）において生成される疑似勾配マクロブロックに対するしきい値を、剰余演算用パラメータａとしてもよい。つまり、図７に示すようなＬｏｏｋｕｐテーブル１２７４における各階調を決定するしきい値が剰余演算用パラメータａになる。
【０１５３】
あるいは、図７に示すようなＬｏｏｋｕｐテーブルを複数用意しておき、いずれのＬｏｏｋｕｐテーブルを選択するのかを示す識別子を剰余演算用パラメータａとしてもよい。
【０１５４】
（ｉｉ）第１データフォーマット
（Ａ）フラグｆｌａｇ２
マクロブロック毎にフラグｆｌａｇ２が割り当てられ、フラグｆｌａｇ２の各々は、対応するマクロブロックが剰余および残差のいずれで定義されるのかを示す。代替の構成として、剰余および残差の一方にのみフラグｆｌａｇ２を割当て、他方にはフラグｆｌａｇ２を割り当てないようにすることで、各マクロブロックについて、剰余および残差のいずれで定義されるのかを特定できる。
【０１５５】
（Ｂ）しきい値ＴＨ２
しきい値ＴＨ２は、マクロブロックの各々について、剰余および残差のいずれで定義すべきかを判断するための判断基準として用いられる。この判断においては、しきい値ＴＨ１も用いられる。
【０１５６】
（Ｃ）剰余演算用パラメータａ
上述の第１データフォーマットに対して用いられる剰余演算用パラメータａと同様に、疑似勾配マクロブロックに対するしきい値、あるいは、使用するＬｏｏｋｕｐテーブルを選択するのかを示す識別子を含む。
【０１５７】
なお、エンコーダー１２０においては、速度歪みに応じた最適化（rate-distortion optimization）が実行されてもよい。このとき、剰余および残差のいずれで定義すべきかを判断するためのしきい値ＴＨ１および／またはしきい値ＴＨ２についても、この最適化の対象とすることが好ましい。この最適化によって、性能をより向上させることができる。
【０１５８】
［Ｌ．ハードウェア構成］
次に、上述の送信機および受信機を実現するためのハードウェア構成の一例について説明する。図１１は、送信機として機能する情報処理装置１００のハードウェア構成を示す模式図である。図１２は、受信機として機能する情報処理装置２００のハードウェア構成を示す模式図である。
【０１５９】
図１１を参照して、情報処理装置１００は、プロセッサ１０４と、メモリ１０６と、カメラインターフェイス１０８と、通信インターフェイス１１２と、ハードディスク１１４と、入力部１１６と、表示部１１８とを含む。これらの各コンポーネントは、バス１２２を介して互いにデータ通信可能に構成されている。
【０１６０】
プロセッサ１０４は、ハードディスク１１４などに格納されているプログラムを読出してメモリ１０６に展開して実行することで、本発明の実施の形態に係るエンコーディング処理を実現する。メモリ１０６は、プロセッサ１０４が処理を実行するためのワーキングメモリとして機能する。
【０１６１】
カメラインターフェイス１０８は、複数のカメラ１０と接続され、それぞれのカメラ１０が撮像した画像を取得する。取得された画像は、ハードディスク１１４やメモリ１０６に格納されてもよい。ハードディスク１１４は、上述したエンコーディング処理を実現するためのエンコーディングプログラム１１４ａを不揮発的に保持している。
【０１６２】
入力部１１６は、典型的には、マウスやキーボードなどを含み、ユーザからの操作を受付ける。表示部１１８は、処理結果などをユーザへ通知する。
【０１６３】
通信インターフェイス１１２は、無線伝送装置１０２などと接続され、プロセッサ１０４による処理の結果出力されるデータを無線伝送装置１０２へ出力する。
【０１６４】
図１２を参照して、情報処理装置２００は、プロセッサ２０４と、メモリ２０６と、プロジェクタインターフェイス２０８と、通信インターフェイス２１２と、ハードディスク２１４と、入力部２１６と、表示部２１８とを含む。これらの各コンポーネントは、バス２２２を介して互いにデータ通信可能に構成されている。
【０１６５】
プロセッサ２０４、メモリ２０６と、入力部２１６、および、表示部２１８は、図１１に示すプロセッサ１０４、メモリ１０６と、入力部１１６、および、表示部１１８とそれぞれ同様であるので、詳細な説明は繰り返さない。
【０１６６】
プロジェクタインターフェイス２０８は、立体表示装置３００と接続され、プロセッサ２０４によって復元された多視点画像などを立体表示装置３００へ出力する。
【０１６７】
通信インターフェイス２１２は、無線伝送装置２０２などと接続され、情報処理装置１００から伝送されるビットストリームを受信し、プロセッサ２０４へ出力する。
【０１６８】
ハードディスク２１４は、デコーディングを実現するためのデコーディングプログラム２１４ａと、復元されたオリジナル画像を含む画像データ２１４ｂとを不揮発的に保持している。
【０１６９】
図１０および図１１にそれぞれ示す情報処理装置１００および２００のハードウェア自体およびその動作原理は一般的なものであり、本発明の実施の形態に係るエンコーディング／デコーディングを実現するための本質的な部分は、ハードディスクなどの記憶媒体に格納されたエンコーディングプログラム１１４ａやデコーディングプログラム２１４ａなどのソフトウェア（命令コード）である。このようなエンコーディングプログラム１１４ａやデコーディングプログラム２１４ａは、光学記憶媒体、磁気記憶媒体、半導体記憶媒体といった記憶媒体に格納されて流通する。このようなプログラムを格納する記憶媒体についても本願発明の範囲に含まれ得る。
【０１７０】
エンコーディングプログラム１１４ａおよび／またはデコーディングプログラム２１４ａは、ＯＳ（Operating System）が提供するモジュールを用いて処理を実行するように構成してもよい。この場合には、エンコーディングプログラム１１４ａおよび／またはデコーディングプログラム２１４ａは、一部のモジュールを含まないことになるが、このような場合であっても、本願発明の技術的範囲に含まれる。
【０１７１】
情報処理装置１００および／または情報処理装置２００の全部または一部の機能をＡＳＩＣ（Application Specific Integrated Circuit）などの専用の集積回路を用いて実現してもよいし、ＦＰＧＡ（Field-Programmable Gate Array）やＤＳＰ（Digital Signal Processor）などのプログラム可能なハードウェアを用いて実現してもよい。
【０１７２】
［Ｍ．その他の実施の形態］
本発明の実施の形態においては、オリジナルマクロブロックから動き補償マクロブロック（イントラマクロブロック、または、インターマクロブロック）を減じた残差マクロブロックに対して、しきい値が適用されることで、剰余および残差のそれぞれで定義される領域が決定される。このしきい値およびデータフォーマット変換に必要な他のパラメータは、速度最適化ループを用いて動的または静的に最適化されてもよい。
【０１７３】
本発明の実施の形態においては、剰余を算出するためにモジュロ演算を行なう。このモジュロ演算において分母（法）となる係数Ｄは、対象のマクロブロックと同一の動き補償マクロブロック（または、動き補償フレーム）の勾配画像に基づいて、決定される。この勾配画像（（疑似）勾配マクロブロック、または、（疑似）勾配フレーム）は、イントラマクロブロック（あるいは、イントラフレーム）、または、インターマクロブロック（あるいは、インターフレーム）から生成される。このとき、複数のフレームにわたるマクロブロック間で勾配を算出してもよい。すなわち、勾配画像は、時間領域および／または空間領域にわたって算出されてもよい。このように算出される勾配画像に応じて、モジュロ演算において用いられる係数Ｄが決定される。
【０１７４】
本発明の実施の形態においては、モジュロ演算において用いられる係数Ｄは、各領域を剰余および残差のいずれで定義すべきかが判断するための（疑似）勾配マクロブロック（または、勾配フレーム）に適用されるしきい値と同じに設定してもよい。
【０１７５】
上述の実施の形態においては、マクロブロックまたはフレームについてのデータフォーマットとして、（１）剰余のみで各領域が定義されるデータフォーマット、および、（２）剰余と残差との組み合わせで各領域が定義されるデータフォーマットについて説明したが、さらに別のデータフォーマットを採用することもできる。そのため、マクロブロックまたはフレームは、すべてゼロ、残差とゼロとの組み合わせ、すべて残差、剰余とゼロとの組み合わせ、すべて剰余、剰余と残差との組み合わせ、剰余と残差とゼロとの組み合わせ、といった様々なコンポーネントを含み得る。
【０１７６】
上述の実施の形態においては、動画像の圧縮規格の一つである、ＭＰＥＧ−４  ＡＶＣに適用した構成例を示した。この構成例において、データフォーマット変換後のデータ圧縮の処理については、規格に沿った手順で実行される。一方、データフォーマット変換の処理については、データ圧縮に係るパラメータに従って最適化される。エンコーディングの最終段階において、静止画像／動画像／多視点画像に対する任意のデータ圧縮ツールを適用することもできる。
【０１７７】
デコーディング処理（すなわち、データ復元処理）においても、本発明の実施の形態に係るデータフォーマットに応じたデコーダーが用いられる。例えば、データフォーマットタイプ（ｔｙｐｅ）に関する情報がエンコーダーからデコーダーへ伝送される。このような情報を付加することによって、従来の装置および既存の規格との互換性を確保できる。剰余と残差とを組み合せたデータフォーマットのデータが伝送される場合には、そのビットストリームには、規格上必要なパラメータに加えて、符号化に関するパラメータおよびデータフォーマットに関するパラメータが含められる。
【０１７８】
ＭＰＥＧ−４  ＡＶＣ規格に従ってエンコーディングされた場合には、時間領域および空間領域においてエンコードされたマクロブロック／フレームをデコーディングするためには、各ポジションにおける動きデータ（典型的には、動きベクトル）が必要になる。エンコーディングされたマクロブロック／フレームにおいて、剰余で定義された領域と残差で（または、ゼロとして）定義された領域とを区別するために、データフォーマット変換に係るパラメータが用いられる。
【０１７９】
デコーディングにおいても、イントラマクロブロック（あるいは、イントラフレーム）、または、インターマクロブロック（あるいは、インターフレーム）から勾配画像が生成される。この勾配画像に基づいて、剰余で定義された領域を復元するための逆モジュロ演算に用いる係数（分母）が決定される。
【０１８０】
デコーディングにおいて、残差で定義された領域に対しては、動き補償マクロブロック／フレームあるいは合成マクロブロック／フレームに基づいてさらに補償するようにしてもよい。
【０１８１】
ゼロが設定されている領域に対しては、動き補償マクロブロック／フレームの対応する値が割り当てられてもよい。剰余で定義される領域については、上述したような逆モジュロ演算によって復元される。
【０１８２】
上述の実施の形態においては、不可逆圧縮（非可逆圧縮）のエンコーディング／デコーディングシステムへの適用例について説明したが、可逆圧縮のエンコーディング／デコーディングシステムにも適用可能である。この場合には、図４に示す直交変換・量子化部１２０８および逆直交変換・スケーリング部１２１２、ならびに、図１０に示す逆直交変換・スケーリング部２１１２などが不要になる。すなわち、エンコーディングにおいて、直交変換や量子化といったデータ損失を生じるような処理は実行されない。
【０１８３】
本発明の実施の形態によれば、画像のデータ圧縮処理において用いられる画像のデータフォーマット変換の方法が提供される。この方法は、複数のカメラによって撮像された多視点画像、複数のＤｅｐｔｈカメラによって撮像された多視点距離画像、一連の静止画像あるいは静止画像、または、任意の形式の画像データに対して、既存の規格を改良した符号化ツール（静止画像／動画像／多視点画像に対する改良されたデータ圧縮ツール）でデータ圧縮する工程を含む。ここで、データフォーマット変換は、複数の画素からなるブロック（マクロブロック）単位で実行される。データフォーマット変換の処理は、以下の工程を含む。
【０１８４】
（ａ）インターマクロブロック（前方向予測、後方向予測、および両方向予測のうちいずれかを用いてエンコーディングされたマクロブロック）、または、イントラマクロブロックに基づいて、ブロックデータフォーマットの各画素を所定のパラメータに従って、剰余、残差、ゼロのいずれかに変換する工程
（ｂ）インターマクロブロック、または、イントラマクロブロック、ならびにオリジナルマクロブロックに基づいて、差分ブロック、すなわち残差マクロブロックを生成する工程
（ｃ）所定のパラメータおよび残差マクロブロックに基づいて、その値を剰余に変換すべきと判断された画素にフラグを有効化する工程
（ｄ）所定のパラメータに基づいて、残差マクロブロックを構成する画素のうち、その値をゼロにすべきと判断された画素について、ゼロに変換する工程（これらの画素は、残差がゼロの画素として取り扱われる）
（ｅ）インターマクロブロック、または、イントラマクロブロックに基づいて、疑似勾配画像を生成する工程
（ｆ）当該疑似勾配画像に基づいて、モジュロ演算によって剰余を決定するためのパラメータを設定する工程
（ｇ）オリジナルマクロおよびモジュロ演算について設定されたパラメータセットに基づいて、その値を剰余に変換すべきと判断された画素について、剰余に変換する工程
（ｈ）静止画像／動画像／多視点画像に対するデータ圧縮に係る既存の規格に類似したデータ圧縮に係る処理を、新たなデータフォーマット変換後のマクロブロックに対して実行する工程
（ｉ）データフォーマット変換のためのパラメータを規格に従う最適化処理に追加して、当該パラメータのデータ圧縮を実行する工程
（ｊ）新たなデータフォーマットの規格に従うデータ圧縮パラメータおよびデータフォーマット変換のためのパラメータに対して、既存の最適化処理を用いて、その圧縮効率および圧縮品質をより高くするための最適化処理を実行する工程
（ｋ）静止画像／動画像／多視点画像に対する改良されたデータ圧縮ツールを用いて圧縮された画像データのビットストリーム、各圧縮されたマクロブロックについての情報、ならびに、データフォーマット逆変換のための対応するパラメータをデータ復元ツールに提供する工程
（ｌ）インターマクロブロック、または、イントラマクロブロック、ならびに残差およびゼロ画素に基づいて、フラグが有効化されていない画像について、残差からオリジナルの画素値を復元する工程
（ｍ）インターマクロブロック、または、イントラマクロブロック、ならびにフラグによって示される剰余の画素に基づいて、逆モジュロ演算を実行する工程（逆モジュロ演算の実行にあたって、受信したビットストリームから抽出されたモジュロ演算のための対応するパラメータが利用される）
上述の説明においては、データフォーマット変換およびデータフォーマット逆変換をマクロブロック単位で実行する場合について説明したが、画像全体に適用できることはいうまでもない。具体的には、オリジナル画像全体についての残差画像を先に生成し、当該生成した残差画像に対して、上述した処理を画像単位で実行してもよい。
【０１８５】
［Ｎ．利点］
本発明の実施の形態は、データフォーマット変換およびデータ圧縮の両方が単一のシステムに組み込まれた構成を提供する。このような構成を採用することで、システムの複雑化を回避できる。さらに、既存の圧縮規格との互換性を維持できるので、本発明の実施の形態に係る新たなデータフォーマット変換（エンコーディング）の組み込みが容易化できる。上述したように、本発明の実施の形態に係るエンコーディング／デコーディングシステムにおいては、剰余の情報を用いなければ、既存の規格での処理と同一の処理を実現することもできる。そのため、互換性を維持できる。
【０１８６】
本発明の実施の形態に係るエンコーディング／デコーディングシステムは、例えば、分散ソース符号化（distributed source coding）、分散映像符号化（distributed video coding）、静止画像／動画像／多視点画像に対するデータ圧縮といった、各種の画像システムに適用可能である。
【０１８７】
本発明の実施の形態に係るエンコーディング／デコーディングシステムによれば、静止画像／動画像／多視点画像に対するデータ圧縮に係る既存の規格の枠内で、新たなデータフォーマットを用いることで、データ圧縮効率をより高めることができる。
【０１８８】
本発明の実施の形態に係るエンコーディング／デコーディングシステムの実装にあたって、既存の規格に沿った静止画像／動画像／多視点画像に対するデータ圧縮ツールに対する変更はわずかで済む。また、本発明の実施の形態に係るエンコーディング／デコーディングシステムを実装した、静止画像／動画像／多視点画像に対するデータ圧縮ツールは、本発明の実施の形態に係る処理を無効化することで、既存の規格との互換性を依然として維持できる。
【０１８９】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１９０】
１  立体映像再生システム、２  被写体、１０  カメラ、１００，２００  情報処理装置、１０２，２０２  無線伝送装置、１０４，２０４  プロセッサ、１０６，２０６  メモリ、１０８  カメラインターフェイス、１１０  プリプロセッサー、１１２，２１２  通信インターフェイス、１１４，２１４  ハードディスク、１１４ａ  エンコーディングプログラム、１１６，２１６  入力部、１１８，２１８  表示部、１２０，８２０  エンコーダー、１２２，２２２  バス、２０８  プロジェクタインターフェイス、２１０，９１０  デコーダー、２１４ａ  デコーディングプログラム、２１４ｂ  画像データ、２２０  ポストプロセッサー、３００  立体表示装置、３０２  プロジェクターアレイ、３１０  表示スクリーン、３１２  拡散フィルム、３１４  集光レンズ、１２０２，２１０２，８２０２，９１０２  入力バッファ、１２０４，８２０４  分割部、１２０６  データフォーマット変換部、１２０８，８２０８  直交変換・量子化部、１２１０，８２１０  ローカルデコーダー、１２１２，２１１２，８２１２，９１１２  逆直交変換・スケーリング部、１２１４，２１１４  データフォーマット逆変換部、１２１６，２１１６，８２１６，９１１６  デブロックフィルター、１２１８，２１１８，８２１８，９１１８  イントラフレーム予測部、１２２０，２１２０，８２２０，９１２０  動き補償部、１２２２，１２６９，２１２２，８２２２，９１２２  切換部、１２３０，２１３０，８２３０，９１３０  制御部、１２４０，８２４０  動き推定部、１２４２，２１４２，８２４２，９１４２  出力バッファ、１２５０，８２５０  エントロピー符号化部、１２６０，８２０６  減算部、１２６２  比較部、１２６４  マスク生成部、１２６５  積算部、１２６６，１２９０  処理選択部、１２６７  評価部、１２７０  勾配画像生成部、１２７２  係数選択部、１２７４  Ｌｏｏｋｕｐテーブル、１２７８  モジュロ演算部、１２８０，１２９４  合成部、１２９２，８２１４，９１１４  加算部、１２９８  逆モジュロ演算部、２１０４，９１０４  エントロピー復号部。
【図１】
2014192701.tif 000003
【図５】
2014192701.tif 000004
【図６】
2014192701.tif 000005
【図７】
2014192701.tif 000006
【図８】
2014192701.tif 000007
【図９】
2014192701.tif 000008
【図１１】
2014192701.tif 000009
【図１２】
2014192701.tif 000010
【図２】
2014192701.tif 000011
【図３】
2014192701.tif 000012
【図４】
2014192701.tif 000013
【図１０】
2014192701.tif 000014