(57)【要約】【課題】  画像に補間などの加工を施すことなく、また継ぎ目を目立たせることなく、全方位画像を効率よく符号化する画像符号化装置及び方法を提供すること。【解決手段】  複数の平面画像が多面体を構成してなる全方位画像を平面に展開した有効領域を含んだ展開画像２００を生成し、展開画像をブロック毎に符号化する際、有効領域の境界を含むブロック（Ａ〜Ｔ）の領域の、有効領域以外の領域の画素を、有効領域で多面体を構成した場合に隣接する領域（ａ〜τ）内の画素により補填して符号化を行う。【選択図】  図４
2006014174.tif 000002
【特許請求の範囲】
【請求項１】
複数の平面画像が多面体を構成してなる全方位画像を入力する画像入力手段と、
前記全方位画像を平面に展開した有効領域を含んだ展開画像を生成する展開手段と、
前記展開画像を複数のブロックに分割するブロック形成手段と、
前記複数のブロックのうち、前記有効領域の境界を含むブロックの、前記有効領域以外の領域の画素を、前記有効領域で前記多面体を構成した場合に隣接する領域内の画素により補填する補填手段と、
前記複数のブロックを符号化して符号化データを生成する符号化手段と、
前記符号化データを出力する出力手段を有することを特徴とする画像符号化装置。
【請求項２】
前記補填に用いる画素を含むブロックが符号化済みであるかどうかを判定する判定手段をさらに有するとともに、前記符号化手段が局所復号画像を用いた予測符号化を行い、
前記補填手段が、前記判定手段により符号化済みであると判定されたブロックから画素を補填する場合には、前記局所復号画像から前記補填に用いる画素を取得し、前記判定手段により符号化済みでないと判定されたブロックから画素を補填する場合には、前記展開画像から前記補填に用いる画素を取得することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記符号化手段が、前記複数のブロックの各々に含まれる画素情報を符号化する第１の符号化器と、前記複数のブロックの各々と前記有効領域の関係についての情報に関する符号化を行う第２の符号化器とを有することを特徴とする請求項１又は請求項２記載の画像符号化装置。
【請求項４】
前記第２の符号化器が、前記複数のブロックの各々と前記有効領域の関係についての情報として、前記ブロック全体が前記有効領域内にある、前記ブロック全体が前記有効領域外にある、前記ブロックに前記有効領域の境界が含まれるのいずれかの情報と、前記ブロックに前記有効領域の境界が含まれる場合には、さらに当該境界の形状情報とを符号化することを特徴とする請求項３記載の画像符号化装置。
【請求項５】
前記符号化手段が、前記複数のブロックの各々に含まれる画素情報を符号化する第１の符号化器と、前記展開画像から前記多面体を構成するために必要な構成情報とを符号化する第３の符号化器とを有することを特徴とする請求項１又は請求項２記載の画像符号化装置。
【請求項６】
複数の平面画像が多面体を構成してなる全方位画像を平面に展開した有効領域を含んだ展開画像と、前記有効領域の形状に関する情報が符号化された符号化データを入力する符号化データ入力手段と、
前記有効領域の形状に関する情報を用いて前記符号化データを復号化し、前記展開画像を生成する復号化手段と、
前記展開画像から前記全方位画像を構成する全方位画像生成手段とを有することを特徴とする画像復号化装置。
【請求項７】
前記展開画像を前記複数の平面画像に分割し、保存する分割手段と、
視線方向をユーザが入力するための指示手段とをさらに有し、
前記全方位画像生成手段が、前記指示手段から入力された視線方向に対応する予め定められた大きさの表示画像を生成するために必要な平面画像を前記保存された複数の平面画像から取得し、前記表示画像を生成することを特徴とする請求項６記載の画像復号化装置。
【請求項８】
前記有効領域の形状に関する情報が、前記多面体の構成を表す構成情報であることを特徴とする請求項６又は請求項７記載の画像復号化装置。
【請求項９】
複数の平面画像が多面体を構成してなる全方位画像を入力する画像入力工程と、
前記全方位画像を平面に展開した有効領域を含んだ展開画像を生成する展開工程と、
前記展開画像を複数のブロックに分割するブロック形成工程と、
前記複数のブロックのうち、前記有効領域の境界を含むブロックの、前記有効領域以外の領域の画素を、前記有効領域で前記多面体を構成した場合に隣接する領域内の画素により補填する補填工程と、
前記複数のブロックを符号化して符号化データを生成する符号化工程と、
前記符号化データを出力する出力工程を有することを特徴とする画像符号化方法。
【請求項１０】
複数の平面画像が多面体を構成してなる全方位画像を平面に展開した有効領域を含んだ展開画像と、前記有効領域の形状に関する情報が符号化された符号化データを入力する符号化データ入力工程と、
前記有効領域の形状に関する情報を用いて前記符号化データを復号化し、前記展開画像を生成する復号化工程と、
前記展開画像から前記全方位画像を構成する全方位画像生成工程とを有することを特徴とする画像復号化方法。
【請求項１１】
コンピュータ装置を請求項１乃至請求項５の何れか１項に記載の画像符号化装置、請求項６乃至請求項８のいずれか１項に記載の画像復号化装置の少なくとも１つとして機能させるプログラム。
【請求項１２】
請求項１１記載のプログラムを格納したコンピュータ装置が読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全方位画像、特に複数の平面領域画像により構成される全方位画像を符号化及び復号化するための技術に関する。
【背景技術】
【０００２】
近年、特殊な光学レンズを使用したり、複数のカメラを使用したりして全方位の画像データを取得し、任意視点の画像や臨場感の高い画像を提供することが提案されている。
【０００３】
例えば、全方位ビデオを取得するカメラとして、特許文献１（特開２００１−２９８６５２号公報）の図１に全天球カメラが開示されており、特許文献２（米国特許５，０２３，７２５号公報）には正十二面体の各面に配置されたカメラを用いる撮影システムが開示されている。
【０００４】
しかしながら、全方位ビデオはその撮影面積が大きくなることから符号化による情報の圧縮が不可欠である。従来の符号化方式として、特許文献１においては、その図５、図６に示されるように、矩形でない領域を矩形に補間し、矩形符号化であるＪＰＥＧやＭＰＥＧ符号化方式で符号化する方式が開示されている。
【０００５】
さらには、非特許文献１（波部，山澤，野村，松山「多面体モデルを用いた全方位ビデオの圧縮」（２００３年画像符号化シンポジウム（ＰＣＳＪ２００３）−４．０１,pp.57-58））に記載されているように、球面状に撮影される全方位ビデオを正２０面体モデルに投影し、正２０面体を構成する平面三角形状領域をＭＰＥＧ−４の任意形状オブジェクト符号化を利用して符号化することも開示されている。また、非特許文献１においては、正２０面体を構成する三角形領域を複数集めて矩形状となるよう変換し（５７ページ図１（ｄ））、矩形符号化により符号化することも示されている。
【０００６】
【特許文献１】特開２００１−２９８６５２号公報
【特許文献２】米国特許５，０２３，７２５号公報
【非特許文献１】波部，山澤，野村，松山、「多面体モデルを用いた全方位ビデオの圧縮」（２００３年画像符号化シンポジウム（ＰＣＳＪ２００３）  Ｐ−４．０１,pp57-58）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の方式では画像の補間が行われるため、本来の画像データに歪みが生じてしまうことになる。また、特許文献１は矩形の符号化方式を適用するため、正５角形で構成されるような画像を直接符号化することができなかった。また、非特許文献１においては、任意形状オブジェクト符号化に際し、境界を含んだマクロブロックの領域外画素部分に補填する画素について領域内画素値の複写で行っており、実際の画像のつながりについては留意していないため、全方位画像を構成した場合に継ぎ目が目立つ虞がある。
【０００８】
従って、本発明はこのような課題を考慮して、画像に補間などの加工を施すことなく、また継ぎ目を目立たせることなく、全方位画像を効率よく符号化する画像符号化装置及び方法を提供することを目的とする。
【０００９】
また、このように符号化された画像を復号化するための画像復号化装置及び方法を提供することを本発明の別の目的としている。
【課題を解決するための手段】
【００１０】
上述の目的は、複数の平面画像が多面体を構成してなる全方位画像を入力する画像入力手段と、全方位画像を平面に展開した有効領域を含んだ展開画像を生成する展開手段と、展開画像を複数のブロックに分割するブロック形成手段と、複数のブロックのうち、有効領域の境界を含むブロックの、有効領域以外の領域の画素を、有効領域で多面体を構成した場合に隣接する領域内の画素により補填する補填手段と、複数のブロックを符号化して符号化データを生成する符号化手段と、符号化データを出力する出力手段を有することを特徴とする画像符号化装置によって達成される。
【００１１】
また、上述の目的は、複数の平面画像が多面体を構成してなる全方位画像を平面に展開した有効領域を含んだ展開画像と、有効領域の形状に関する情報が符号化された符号化データを入力する符号化データ入力手段と、有効領域の形状に関する情報を用いて符号化データを復号化し、展開画像を生成する復号化手段と、展開画像から全方位画像を構成する全方位画像生成手段とを有することを特徴とする画像復号化装置によっても達成される。
【００１２】
また、上述の目的は、複数の平面画像が多面体を構成してなる全方位画像を入力する画像入力工程と、全方位画像を平面に展開した有効領域を含んだ展開画像を生成する展開工程と、展開画像を複数のブロックに分割するブロック形成工程と、複数のブロックのうち、有効領域の境界を含むブロックの、有効領域以外の領域の画素を、有効領域で多面体を構成した場合に隣接する領域内の画素により補填する補填工程と、複数のブロックを符号化して符号化データを生成する符号化工程と、符号化データを出力する出力工程を有することを特徴とする画像符号化方法によっても達成される。
【００１３】
また、上述の目的は、複数の平面画像が多面体を構成してなる全方位画像を平面に展開した有効領域を含んだ展開画像と、有効領域の形状に関する情報が符号化された符号化データを入力する符号化データ入力工程と、有効領域の形状に関する情報を用いて符号化データを復号化し、展開画像を生成する復号化工程と、展開画像から全方位画像を構成する全方位画像生成工程とを有することを特徴とする画像復号化方法によっても達成される。
【００１４】
また、上述の目的は、コンピュータ装置を本発明の画像符号化装置及び画像復号化装置の少なくとも１つとして機能させるプログラム、及びこのプログラムを格納したコンピュータ装置が読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１５】
このような構成により、本発明によれば、全方位画像をつなぎ目に関して自然にかつ効率よく符号化することが可能になる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明のその好適な実施形態に基づき詳細に説明する。
●〈第１の実施形態〉
（符号化装置）
図１は本発明の第１の実施形態に係る画像符号化装置の構成例を示すブロック図である。
図１において、１―１から１−１２は画像を撮像するカメラであり、個々のカメラは正十二面体を構成する正五角形領域の１つを含む矩形領域を撮像するように配置、構成されている。つまり、１２台のカメラが撮像する画像から、正十二面体状の全方位画像を構成することができる。このようなカメラ及びその配置方法については任意であるが、例えば米国特許５，０２３，７２５号に記載される方法を用いて実現することができる。また、本実施形態に係る符号化装置においてこれらカメラは必須でなく、予め撮影して記憶しておいた画像を用いても良い。
【００１７】
なお、第１の実施形態では、画像符号化装置およびその符号化データを復号する画像復号化装置の両方において、全方位画像の構成がわかっているものとする。すなわち、全方位画像を構成するぞれぞれの正五角形の形状と大きさ及び位置関係についての情報が予め画像符号化装置及び画像復号化装置に設定されているものとする。
【００１８】
画像合成器２は、全方位画像を構成する個々の画像（単位画像）を１枚の画像にまとめる。フレームメモリ３は合成された画像を蓄積する。メモリ制御器４はフレームメモリ３の書き込み、読み出しを画素単位で制御する。領域フレームメモリ５は画像の有効領域を表す形状情報を蓄積する。ブロック形成器６は領域フレームメモリ５からブロック単位で画素を読み出す。領域判定器７はブロック形成器６で形成されたブロックにおける有効領域の状態を判定する。８、９はセレクタであり、入出力を領域判定器７の出力に基づいて切換える。画素補填器１０については後述する。
【００１９】
符号化器１１は生成されたブロックを符号化する。ここでは説明を簡単にするため、ＭＰＥＧ―４符号化方式のテクスチャ符号化を例にとって説明するが、他の符号化方式を利用することも可能である。また、説明を容易にするため、イントラ符号化のみを使用するものとする。領域符号化器１２は有効領域の形状情報を符号化する。多重化器１３は符号化器１１と領域符号化器１２の出力を多重化し、必要なヘッダを付加して符号化データを生成する。制御部１００は、画像符号化装置の構成要素を制御し、符号化処理を実現する。
【００２０】
このように構成された画像符号化装置における符号化動作を以下で説明する。
カメラ１−１〜１−１２は矩形の画像情報を撮像し、そこから予め設定された正五角形の領域画像（単位画像）を切り出して画像合成器２に入力する。画像合成器２は各カメラから入力された正五角形状の画像を正十二面体を展開した画像として合成する。この際の各領域画像の大きさ、合成の位置関係は予め決められている。図２にその合成の様子を示す。カメラ１−１〜１−１２から入力された画像を２０１−１〜２０１−１２とすると、合成した画像は画像２００のようになる。位置関係としては予め図２の画面２０１−３を頂面とし、画面２０１−１０が底面とし、画面２０１−５と画面２０１−７の接線の中心を正面の点と定義しておく。合成された画像はフレームメモリ３に蓄積される。なお、フレームメモリ３は処理を開始する際に全ての値を０にリセットされている。
【００２１】
また、画像合成器２は領域画像を生成する。画像２００において、画像２０１−１〜２０１−１２の画素で構成される部分（有効領域）と、それ以外の部分を分離して、領域画像を生成する。図３はこの領域画像を表した図である。領域画像２０２において白で示される部分が画像２０１−１〜２０１−１２の画素で合成される部分（有効領域内）、残りの黒で示される部分が有効領域外を表している。生成された領域画像は領域フレームメモリ５に格納される。
【００２２】
ブロック形成器６はメモリ制御器４の指示に従って、フレームメモリ３に記憶される画像データから、ＭＰＥＧ−４符号化方式の符号化単位であるマクロブロック（例えば縦横１６画素）を切り出し、領域判定器７及びセレクタ８に出力する。
【００２３】
領域判定器７は領域フレームメモリ５に蓄積された領域画像２０２と、ブロック形成器６からのマクロブロックとから、マクロブロックが完全に有効領域外（以下、単に領域外という）、完全に有効領域内（以下、単に領域内という）、境界を含むの何れの状態であるかを判定する。ここでは説明のため、完全に領域外であれば０を、完全に領域内であれば１を、境界を含む場合を２を、それぞれ判定結果としてメモリ制御器４、セレクタ８、９、画素補填器１０及び符号化器１１に出力する。
【００２４】
セレクタ８、９は領域判定器７の出力が０（領域外）であれば全く動作せず、１（領域内）であればセレクタ８の出力がセレクタ９に直接入力されるように動作する。領域判定器７の出力が２（境界を含む）であるとき、セレクタ８の出力先とセレクタ９の入力先が画素補填器１０となるように動作する。
【００２５】
画素補填器１０は、マクロブロック内に有効領域の境界が存在する場合に動作する。画素補填器１０はセレクタ８からブロック形成器６が出力したマクロブロックを入力する。入力されたマクロブロックでは、領域外の画素には０が入っている。
【００２６】
一方、メモリ制御器４は領域判定器７からの出力を受けて、境界を含むマクロブロックにおける領域外の部分に対応する画素データをフレームメモリ３から読み出し、画素補填器１０に入力する。ここで、補填に用いられる画素は、全方位画像を構成した際に隣接する領域から読み出される。つまり、本実施形態では、図２に示す展開状態の合成画像から正十二面体の全方位画像を構成したときに隣接する画素群から選択される。図４は、補填が必要なマクロブロックが存在すると考えられる境界部の画素群（灰色の領域（小文字）で示されている）と、補填に用いる画素を取得する領域（境界部の画素群の外側に隣接して示した領域（大文字で示される））の位置関係を示した図である。図において、大文字で示される領域（有効領域外）の画素群は対応する小文字で示される領域（有効領域内）の画素群から補填される。すなわち、Ａの領域はａの領域から補填される。同様に、Ｂ〜Ｚ、Δ、Φ、Γ、Ψ、Λ、Σ、Π、Μ、Ξ、Ν、Τの領域はｂ〜ｚ、δ、φ、γ、ψ、λ、σ、π、μ、ξ、η、τの領域から補填される。
【００２７】
符号化器１１は入力されたマクロブロックに対して、ＭＰＥＧ−４符号化のテクスチャ符号化を行う。すなわち、入力されたマクロブロックをブロックに分割して、ＤＣＴ変換を施し、その係数を量子化し、ハフマン符号を用いて符号化する。符号化されたデータは多重化器１３に入力される。また、領域符号化器１２でもＭＰＥＧ−４符号化の形状符号化が行われ、多重化器１３に入力される。多重化器１３は必要なヘッダを付加して、ＭＰＥＧ−４符号化方式の書式に整えて、出力する。
【００２８】
次に、符号化の処理の簡単な流れを説明する。
図５は、第１実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。
まずステップＳ１にて、制御部１００は、ＭＰＥＧ−４符号化方式に準拠したヘッダを生成して出力する。この時、従来のＭＰＥＧ−４形状オブジェクト符号化方式と区別するため、プロファイルまたはオブジェクトを新たに定義したものとする。例えば、プロファイルで識別する場合はＭＰＥＧ−４ビジュアルオブジェクトビットストリームのＶＯＳ階層におけるprofile_and_level_indicaion符号やvideo_object_type符号について予備とされていた値を使用し、オブジェクトで識別する場合はvisual_object_type符号について予備とされていた値を使用する。
【００２９】
ステップＳ２にて、制御部１００は、全てのフレームの処理が終了したか否かの終了判定を行う。全てのフレームの処理が終了したと判断された場合は、動作を終了する。そうでなければステップＳ３に進む。
ステップＳ３にて、各カメラが出力するビデオ画像（正五角形）を画像合成部２へ入力する。
【００３０】
ステップＳ４にて、画像合成部２が、入力された各単位画像を予め決められた位置関係で合成し、符号化画像（図２の画像２００）を生成する。
ステップＳ５にて、フレーム（ＶＯＰ:Video Object Plane）の符号化データのヘッダデータを生成して出力する。
【００３１】
ステップＳ６にて、制御部１００は、フレーム内の全てのブロックについて処理が終了したか否かの終了判定を行う。全てのブロックの処理が終了したと判断された場合は、ステップＳ２に進み、次のフレームの処理を行う。そうでなければステップＳ７に進む。
【００３２】
ステップＳ７にて、フレーム画像から所定サイズのブロックデータ（この場合はマクロブロックである）を切り出す。
ステップＳ８にて、領域判定部７は、領域画像２０２を用い、切出したブロックが領域の外か否かを判定する。領域の外と判断された場合は、ステップＳ９に進み、そうでなければステップＳ１０に進む。
【００３３】
ステップＳ９にて、領域符号化器１２は、形状符号化の符号化モードを表すデータとして、領域外（透明）を表すＢＡＢ(Binary Alpha Block)  Ｔｙｐｅの値「２」を符号化して出力し、次のブロックの処理を行うため、ステップＳ６に戻る。
ステップＳ１０にて、ブロックに領域の境界が含まれるか否かを判定し、含まれる場合はステップＳ１２に進み、そうでなければステップＳ１１に進む。
【００３４】
ステップＳ１１にて、領域内（不透明）を表すＢＡＢ  Ｔｙｐｅの値「３」を符号化して出力し、切出されたブロックを符号化するためにステップＳ１５に進む。
ステップＳ１２にて、領域符号化器１２は、符号化モードとして画面内ＣＡＥ符号化(Intra CAE)を表すＢＡＢ  Ｔｙｐｅの値「４」を符号化し、その境界の形状を算術符号化して出力する。
【００３５】
ステップＳ１３にて、画素補填器１０は、図４に示す位置関係に基づき、境界を含むマクロブロックの領域外画素に補填する画素の位置をフレームメモリ上のアドレスとして計算する。
ステップＳ１４にて、画素補填器１０は、ステップＳ１３にて計算されたアドレスに従って、補填に用いる画素を読み込み、領域外画素として補填する。
【００３６】
ステップＳ１５にて、符号化器１１は、領域内のマクロブロック又は境界を含むマクロブロック（画素補填済み）の画素をＤＣＴ変換と量子化とエントロピー符号化によるテクスチャ符号化して出力して、次のブロックの処理を行うためにステップＳ６に進む。
このようにして、全方位画像の符号化データを得ることができる。
【００３７】
（復号化装置）
図６は本発明の第１の実施形態に係る画像復号化装置の構成例を示すブロック図である。
図６において、分離器６０１は図１における多重化器１３の逆の動作を行い、符号化データストリームのヘッダを解析して、テクスチャ符号化データと形状符号化データとを分離して出力する。領域復号器６０２は形状符号化データを復号してマクロブロックが領域内のブロック、領域外のブロック、境界を含むブロックであるかを判別し、境界を含むブロックの場合には境界の形状を復号して、領域フレームメモリ６０３に蓄積する。復号器６０４は領域復号器６０２の判別結果を用いてテクスチャ符号化データを復号し、復号結果をフレームメモリ６０５に蓄積する。
【００３８】
画像分離器６０６は画像合成器２の逆の動作を行い、合成画像（展開画像）から予め決められた合成の位置関係と大きさに基づいて単位画像を分割し、フレームメモリ６０７−１〜６０７−１２の対応する位置に格納する。視線指示器６０８は例えばジョイスティックなどで構成され、全方位画像の中から表示する方向を指示し、レンダラ６０９はその視線方向と所定の視野（もしくは表示画素数）とから、表示に必要な単位画像を判別し、対応するフレームメモリから単位画像を読み出し、合成してディスプレイ６１０に表示する。制御部６００は、画像復号化装置の各構成要素を制御し、復号化処理を実現させる。
【００３９】
次に、復号化処理の簡単な流れを説明する。
図１６は、第１実施形態に係る画像復号化装置における復号化処理を示すフローチャートである。
まずステップＳ１６０１にて、制御部６００は、ＭＰＥＧ−４ビデオオブジェクトビットストリームとして与えられる符号化データのヘッダを解析して、装置内の初期化を行う。
【００４０】
ステップＳ１６０２にて、制御部６００は、全てのフレームの処理が終了したか否かの終了判定を行う。全てのフレームの処理が終了したと判断された場合は、動作を終了する。そうでなければステップＳ１６０３に進む。
ステップＳ１６０３にて、制御部６００は、フレーム単位の符号化データを分離部６０１へ入力する。
【００４１】
ステップＳ１６０４にて、分離部６０１は、フレームごとのヘッダを復号・解析する。
ステップＳ１６０５にて、分離部６０１は、フレーム内の全マクロブロックの処理が終了したか否かの終了判定を行う。全てのマクロブロックの処理が終了したと判断された場合は、ステップＳ１６１１に進む。そうでなければステップＳ１６０６に進む。
【００４２】
ステップＳ１６０６にて、領域復号器６０２は、形状符号化の符号化モードを表すＢＡＢ  Ｔｙｐｅの符号化データを復号して、その値から復号化対象のマクロブロックが領域外か、領域内か、境界を含むかを判定する。
ステップＳ１６０７にて、ステップＳ１６０６の復号結果が領域外（ＢＡＢ  Ｔｙｐｅの値が２）であるか否かを判定し、値が２であれば、ステップＳ１６０５に進み、次のマクロブロックの処理を行う。そうでなければステップＳ１６０８に進む。
【００４３】
ステップＳ１６０８にて、ステップＳ１６０６の復号結果が領域内（ＢＡＢ  Ｔｙｐｅの値が３）であるか否かを判定し、値が３であれば、ステップＳ１６１０に進み、そうでなければステップＳ１６０９に進む。
ステップＳ１６０９にて、領域復号器６０２は境界の形状を復号して領域画像を得て、領域フレームメモリ６０３に格納する。
【００４４】
ステップＳ１６１０にて、復号器６０４はテクスチャ符号化を復号して画素値を得て、フレームメモリ６０５に格納する。
ステップＳ１６１１にて、画像分離器６０６は、領域フレームメモリ６０３に格納された領域画像と、復号器６０４が復号した画素値とを用いて合成画像（図２、２００）を得、さらに１２個の正五角形状の単位画像に分離して、全方位画像構成時に占める位置が同じ単位画像が同じフレームメモリに格納されるようにフレームメモリ６０７−１〜６０７−１２へ格納する。
【００４５】
ステップＳ１６１２にて、レンダラ６０９は、視線指示器６０８から指示された視線に対応する表示画像を生成するために必要な単位画像をフレームメモリ６０７−１〜６０７−１２から読み出す。予め図２の画面２０１−３を頂面とし、画面２０１−１０が底面とし、画面２０１−５と画面２０１−７の接線の中心を正面の点と定義しておく。その位置関係から視線の方向を計算して読み出しを行い、合成し、ディスプレイ６１０の表示領域に合わせてレンダリングし、ディスプレイ６１０に表示する。その後、次のフレームの処理を行うため、ステップＳ１６０２に戻る。
【００４６】
以上説明したように、本実施形態に係る画像符号化装置においては、多面体で表される全方位画像を構成する複数の単位画像を平面に展開し、展開画像をブロック単位で符号化するとともに、境界を含むブロックに対しては全方位画像を構成した際に隣接する領域の画素を補填して符号化を行う。そのため、従来のＭＰＥＧ−４符号化におけるパディングとは異なり、実際に隣接する領域の画像データを補填するためつなぎが自然になるといった効果がある。また、画像と異なる画素データを補填して符号化するのに比べ、領域内の画像と相関が高い隣接領域の画像データを補填するため、符号化効率の改善が見込まれる。
【００４７】
なお、本実施形態においては、領域符号化器をマクロブロックごとに動作させて形状符号化を行ったが、同一位置のマクロブロックにおける有効領域形状は常に同じであるため、１度符号化した結果をマクロブロック毎にバッファに格納しておき、その符号化結果を適宜読み出して利用する構成であってもよい。
【００４８】
なお、本実施形態においては、ＭＰＥＧ−４符号化方式のイントラ符号化のみを使用したが、フレーム間符号化を用いてももちろんかまわないし、他の符号化方式、たとえば、ＪＰＥＧ符号化方式やＪＰＥＧ２０００符号化方式でももちろんかまわない。
【００４９】
また、本実施形態における画像符号化装置や画像復号化装置の一部または全部の機能を汎用的なマイクロプロセッサとソフトウェアの組合せによって実現してもよい。
【００５０】
●（第２の実施形態）
図７は、本発明の第２の実施形態に係る画像符号化装置の構成例を示すブロック図である。図２において、第１の実施形態（図１）と同様の機能を果たす部分に関しては同じ参照数字を付与し、説明を省略する。
【００５１】
図２において、画像補填器７０１は、境界を含むマクロブロックに補填するデータが第１の実施形態の画像補填器１０と異なる。符号化器７０２は動き補償を行う点で第１の実施形態の符号化器１１と異なる。復号器７０３は、動き補償のための局所復号画像を生成する。フレームメモリ７０４は局所復号画像を格納し、メモリ制御器７０５はフレームメモリ７０４を制御する。領域判定器７０６は、マクロブロックが領域内、領域外又は境界を含むかを判定するとともに、境界を含むマクロブロックについて、そのマクロブロックの補填に用いる画素を含む同一フレーム中の領域が既に符号化済みであるか否かを判定する点で第１の実施形態の領域判定器７と異なる。セレクタ７０７は領域判定器７０６の出力に応じて、フレームメモリ３またはフレームメモリ７０４の何れかを入力として選択する。符号バッファ７０８は、領域符号化器１２の出力をマクロブロック単位で蓄積する。
【００５２】
このように構成された画像符号化装置における符号化動作について説明する。
第１の実施形態と同様に、カメラ１−１〜１−１２は矩形の画像情報を撮像し、矩形画像中の所定位置の正五角形状領域を出力する。画像合成器２で各カメラからの画像を、多面体（ここでは正十二面体）で表される全方位画像を平面に展開した画像として、第１の実施形態と同様に予め決められた位置関係と大きさで合成し、領域画像も生成する。生成された合成画像はフレームメモリ３に、領域画像は領域フレームメモリ５に蓄積される。
ブロック形成器６でフレームメモリ３の画像からマクロブロックを切り出し、領域判定器７０６、セレクタ８に出力する。
【００５３】
領域判定器７０６は、第１実施形態と同様に、領域フレームメモリ５に格納された領域画像を用い、マクロブロックが完全に有効領域外、完全に有効領域内、境界を含むの何れの状態にあるかを判定する。さらに、境界を含む場合に、その境界の外側の領域（領域外の部分）に補填すべき画素を含んだ領域、換言すれば全方位画像を構成した際に隣接する領域が符号化済みか否かを判定する。図８において、斜線で表わされた領域は、符号化を左上のマクロブロックからラスタスキャン順に行った場合に、その対応する領域が既に符号化済みと考えられる領域である。
【００５４】
従って、領域判定器７０６は、各マクロブロックについての判定結果を、完全に領域外であれば０を、完全に領域内であれば１を、境界を含む場合で隣接領域の符号化が終わっていない場合を２、境界を含む場合で隣接領域の符号化が終わっている場合を３として、メモリ制御器４、セレクタ８、９、画素補填器７０１、符号化器７０２、メモリ制御器７０５、セレクタ７０７に出力する。
【００５５】
第１実施形態と同様に、セレクタ８、９は領域判定器７０６の出力が０であれば全く動作せず、出力が１であればセレクタ８の出力が直接セレクタ９の入力になるように動作する選択する。領域判定器７０６の出力が２または３であるとき、セレクタ８の出力とセレクタ９の入力に画素補填器７０１を選択する。
【００５６】
画素補填器７０１は、第１実施形態と同様にマクロブロックに境界が存在する場合に動作する。画素補填器７０１は、ブロック形成器６が出力したマクロブロックをセレクタ８を介して取得する。
【００５７】
一方、メモリ制御器４は第１実施形態と同様に、領域判定器７０６からの出力を受けて、境界を含むマクロブロックにおける領域外の部分に対応する画素データをフレームメモリ３から読み出し、画素補填器７０７に入力する。
【００５８】
さらにメモリ制御器７０５は領域判定器７０６の出力が３である場合（マクロブロックが境界を含み、隣接領域の符号化が済んでいる場合）に動作する。領域判定器７０６からの出力を受けて、境界を含むマクロブロックにおける領域外の部分に対応する画素データを局所復号画像が格納されているフレームメモリ７０４から読み出し、セレクタ７０７に入力する。
【００５９】
セレクタ７０７は領域判定器７０６の出力が２（隣接領域が未符号化）であればフレームメモリ３の出力を、出力が３（隣接領域が符号化済）であればフレームメモリ７０４の出力を選択して、画素補填器７０１に出力する。
【００６０】
画素補填器７０１はセレクタ７０７から入力された画素データで、セレクタ８から入力されたマクロブロック画像の領域外の画素を補填する。従って、境界を含むマクロブロックにおいて、領域外の画素は、隣接領域の符号化が済んでいない場合にはフレームメモリ３から、符号化が済んでいる場合にはフレームメモリ７０４からの画素が補填される。
【００６１】
符号化器７０２は入力されたマクロブロックに対して、ＭＰＥＧ−４符号化のテクスチャ符号化を行う。イントラ符号化の場合は、第１実施形態と同様に符号化する。フレーム間予測を行う符号化では、入力されたマクロブロックとフレームメモリ７０４の画像（局所復号画像）を比較して動き予測を行い、動き予測誤差（予測した動きベクトルと実際の動きベクトルの差ＭＶＤＳ）を求め、予測誤差をブロックに分割して、ＤＣＴ変換を施し、その係数を量子化し、ハフマン符号化で符号化する。符号化されたデータは多重化器１３と復号器７０３に入力される。復号器７０３では符号化データを復号してその結果をフレームメモリ７０４に蓄積する。
【００６２】
また、領域符号化器１２でも第１実施形態と同様にＭＰＥＧ−４符号化方式における形状符号化が行われ、符号化データは符号バッファ７０８にマクロブロックごとに蓄積され、適宜、読み出される。
多重化器１３は形状符号化データとテクスチャ符号化データを多重化し、必要なヘッダを付加し、ＭＰＥＧ−４符号化方式の書式に整えて、出力する。
【００６３】
このようにして符号化された全方位画像データの復号化は、第１の実施形態で説明した図６の復号化装置と同じ構成によって実現できる。但し、図６における復号器６０４には動き補償復号化を行う機能と動き補償復号化に必要な参照画像を蓄積するフレームメモリが追加される。
【００６４】
次に、符号化処理の簡単な流れを説明する。
図９は、第２の実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。図９において第１の実施形態で説明した図５と同様の機能を果たすステップに関しては同じ参照番号を付与し、説明を省略する。
【００６５】
第１の実施形態と同様に、ステップＳ１にて、制御部６００は、ＭＰＥＧ−４符号化方式に準拠したヘッダを生成して出力する。
ステップＳ９０１にて、領域符号化器１２は、領域フレームメモリ５に格納された領域画像をＭＰＥＧ−４符号化の形状符号化を用いてイントラ符号化する。形状符号化された符号化データはマクロブロック単位で符号バッファ７０８に蓄積される。
【００６６】
第１の実施形態と同様に、ステップＳ２からＳ８にて、フレームデータを読み込み、ヘッダを生成してブロックに切出し、該当するマクロブロックが領域外にあるか否かを判定する。
ステップＳ９にて、領域符号化器１２は、領域外のマクロブロックの形状符号化データとして、領域外（透明）を表すＢＡＢ(Binary Alpha Block)  Ｔｙｐｅの値「２」を符号化して出力し、次のブロックの処理を行うため、ステップＳ６に戻る。
【００６７】
ステップＳ１０にて、境界の有無を判定し、境界を含まない場合にはステップＳ１１に進み、ここで領域符号化器１２は、領域内に完全に含まれるマクロブロックの形状符号化データとしてＢＡＢ  Ｔｙｐｅの値３を符号化して出力する。
【００６８】
ステップＳ１０で境界を含むと判定された場合、ステップＳ９０２にて、符号化するマクロブロックがイントラ符号化か否かを判定し、イントラ符号化であればステップＳ９０３に、そうでなければステップＳ９０４に進む。
【００６９】
ステップＳ９０３にて、イントラ符号化を行うので、ＢＡＢ Ｔｙｐｅの値を４(Intra CAE:Context-based Arithmetic Encoding)とし、ステップＳ９０１で生成した形状符号化データの該当するマクロブロックの符号化データを符号バッファ７０８から読み出し、多重化器１３へ出力する。
【００７０】
ステップＳ９０４にて、フレーム間符号化（インター符号化）を行うが、形状に変化は無いので、ＢＡＢ  Ｔｙｐｅの値０（形状の動きベクトルの予測誤差が０）を符号化する。
ステップＳ９０５にて、領域外を補填するための画素位置を計算し、その画素位置が符号化済みか否かを判定する。符号化済みであれば、ステップＳ９０６に進み、そうでなければステップＳ１３に進む。
【００７１】
ステップＳ９０６にて、補填に用いる画素の位置を、復号画像を格納したフレームメモリ７０４上のアドレスとして計算する。
ステップＳ９０７にて、ステップＳ９０６にて計算されたアドレスに従って、フレームメモリ７０４内の復号画像から画素を読み出し、マクロブロック内の領域外画素を補填する。
【００７２】
ステップＳ１３、１４では、第１の実施形態と同様に、符号化していない補填用画素をフレームメモリ３から読み出し、マクロブロック内の領域外画素を補填する。
ステップＳ１５にて、符号化器１２が、領域内のマクロブロック又は境界を含むマクロブロックをテクスチャ符号化して出力して、次のブロックの処理を行うためにステップＳ６に進む。
【００７３】
本実施形態によっても、第１の実施形態と同様、従来のＭＰＥＧ−４符号化におけるパディングとは異なり、実際に隣接する領域の画像データを補填するためつなぎが自然になるといった効果がある。また、画像と異なる画素データを補填して符号化するのに比べ、領域内の画像と相関が高い隣接領域の画像データを補填するため、符号化効率の改善が見込まれる。
【００７４】
なお、本実施形態における形状符号化において、ＢＡＢ  Ｔｙｐｅが２、３（領域外、領域内）はそのままの値を符号化して出力するが、ＢＡＢ  Ｔｙｐｅが４（境界を含む）であったものはＢＡＢ  Ｔｙｐｅを０（形状の動きベクトルの予測誤差無し）として符号化することも可能である。つまり、イントラ符号化された形状符号化結果を用いてどのように符号化を行うかを判断しても構わない。すなわち、フレーム間符号化により形状符号化した場合でも各ブロックの符号化結果は変わらないので、ステップＳ９０１にてフレーム間符号化時の形状情報を符号化した結果を同様に保持しておき、読み出すだけにしてもかまわない。
【００７５】
なお、本実施形態で符号化方式としてＭＰＥＧ−４符号化方式を例にとって説明したが、これに限定されず、テクスチャの符号化方式にＭｏｔｉｏｎ  ＪＰＥＧやＭＰＥＧ−２などの他の符号化方式を採用してもかまわない。形状情報の符号化方式もこれに限定されず、２値符号化方式の他の符号化方式を用いてももちろんかまわない。
【００７６】
また、本実施形態における符号化装置及び復号化装置の一部または全部の機能を汎用的なマイクロプロセッサとソフトウェアの組合せによって実現してもよい。
【００７７】
●（第３の実施形態）
図１０は、本発明の第３の実施形態に係る画像符号化復号化装置の構成例を示すブロック図である。図１０において、３００は装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）、３０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は種々の装置をつなぎ、データ、制御信号をやり取りするバスである。３０３は装置の起動、各種条件の設定、再生の指示を行うための端末（キーボード、マウス等の入力装置）である。３０４はソフトウェアを蓄積する記憶装置である。３０５はデータストリームを蓄積する記憶装置である。
【００７８】
記憶装置３０４および３０５は、装置から取り外して移動できるメディア（リムーバブルメディア）とその読み書きを行うドライブとの組合せによって構成することもできる。３０６は多眼カメラであり、ここでは第１の実施形態で使用した正十二面体全方位画像を撮影可能なカメラシステムであるとする。３０７は画像を表示するディスプレイであり、３０９は通信回路であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０８は通信回路３０９を介してデータストリームを送受信する通信インターフェースである。
【００７９】
メモリ３０１には、図１２に示すように、中央演算装置３００が実行することによって装置全体を制御し、符号化復号化処理を実現するためのＯＳやアプリケーションソフトウェアを格納するエリア、画像データを格納する画像エリア、生成した符号化データを格納する符号エリア、各種演算や符号化の際のパラメータ等や透かしに関するデータ等を格納しておくワーキングエリアが存在する。
【００８０】
（符号化処理）
このような構成を有する画像符号化復号化装置における符号化処理と、符号化データの通信回路３０９への送出処理について説明する。
処理に先立ち、端末３０３から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【００８１】
本実施形態に係る画像符号化装置の動作時におけるメモリ３０１の使用状況例を図１２に示す。
メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ、多面体で表される全方位画像を後述する方法で符号化する多面画像符号化ソフトウェア、多面画像符号化ソフトウェアにより符号化された画像を復号する多面画像復号ソフトウェア、多眼カメラ３０６を制御する多眼カメラ制御ソフトウェア、端末３０３からの入力に従って視線方向を変化させ、視線方向を画像合成ソフトウェアに与える視線指示ソフトウェア、単位画像を合成して多面体全方位画像を生成する画像合成ソフトウェア、生成した符号化データを通信する通信ソフトウェア、符号化データを多重化する多重化ソフトウェアが格納されている。
【００８２】
このような構成において、まず、多眼カメラ制御ソフトウェアは多眼カメラ３０６を構成する各カメラのホワイトバランス等の調整を行い、同期を取って（正十二面体を構成する正五角形の）単位画像データの出力を開始する。また、通信ソフトウェアを起動し、メモリ３０１上の符号エリアのデータを適宜読み出し、データを読み出した符号エリアをリセットして開放するように動作させる。その後、多面画像符号化ソフトウェアを起動する。
【００８３】
ＣＰＵ３００による符号化処理動作について図１１に示すフローチャートに従って説明する。図１１において第１の実施形態で説明した図５のステップと同様の処理を行うステップには同じ参照番号を付与し、説明を省略する。
【００８４】
第１の実施形態と同様に、ステップＳ１にて、ヘッダを生成して出力して、メモリ３０１上の符号エリアに格納する。
ステップＳ１１０１にて多面体の構成情報を符号化する。本実施形態では第１の実施形態と同様、正五角形の単位画像が正十二面体になるように構成されている。このような多面体の展開図（図２の画像２００もしくは図３の領域画像２０２）、すなわち形状情報は、多面体を構成する面の形状（又は単位画像の形状）、面の数（又は単位画像の数）、面のサイズ（又は単位画像のサイズ）、展開方法といった構成情報がわかれば一意に決めることができ、形状符号化を行わなくても構成情報があれば形状情報を計算によって得ることができる。
【００８５】
展開方法は多面体を構成する面の形状と面の数の組合せで展開方法を限定できる。例えば、第１実施形態の図２において画面２０１−３を頂面とし、画面２０１−１０を底面とすることと決めておく。画面２０１−５と画面２０１−７が接した位置関係を０とする。この接した線の中心を正面と決めておく。図１７にその他の位置関係を示す。図１７（ａ）の画面２０１−５と画面２０１−７が接した位置関係を１、図１７（ｂ）の画面２０１−２と画面２０１−１１が接した位置関係を２とする。同様にこのような構成では１０通りの展開方法が存在する。その展開方法を４ビットの符号で表して展開方法を送ることができる。さらにはこの組合せを限定することで伝送ビット数を減じることができる。
【００８６】
そこで、本実施形態におけるＭＰＥＧ−４ビジュアルオブジェクトのビットストリームでは、図１４に示すようにＶＯＳ階層ではProfile&Level符号で立体ビデオ（全方位画像）の符号化であることを指定し、ObjectType符号で立体ビデオのオブジェクトであることを指定する。それに続く、3D-V階層では立体ビデオスタートコード(3D-V_start_code(3D-V_ST))、面の形状（本実施形態では正五角形）を表すShapeType符号、面の数（１２）を表すNo.ofPlane符号、面のサイズを表すPlaneSize符号、面の展開方法を表すExpandMethod符号が続き、各フレームを表すＶＯＰ符号が続く。
【００８７】
このような構成を有するビットストリームとして生成された構成情報の符号化データをメモリ３０１上の符号エリアに格納する。生成されたヘッダと構成情報の符号化データは通信ソフトウェアが読み出し、通信インターフェース３０８を介して通信回路３０９に送出する。
【００８８】
ステップＳ１１０２にて、形状情報を構成情報から計算して、ワーキングエリアに格納する。
以下、第１の実施形態と同様にステップＳ２〜Ｓ４にて、フレームデータの読込みと展開方法に従ったビデオフレームの合成が行われ、メモリ３０１上の画像エリアに格納される。ステップＳ５にて生成されたフレームのヘッダもメモリ３０１上の符号エリアに格納される。
【００８９】
ステップＳ７にて、ブロックを切り出し、ステップＳ８にて領域の内外の判定を行う。メモリ３０１上のワーキングエリア内に格納した形状情報を参照して、領域外であれば、何も出力せず、ステップＳ６に進み、次のマクロブロックの処理を行う。領域外で無ければ、ステップＳ１０に進み、メモリ３０１上の形状情報を参照して、境界を含むか否かを判定し、含む場合はステップＳ１３に進み、含まない場合はステップＳ１１０３に進む。ステップＳ１３及びＳ１４では第１の実施形態と同様にして画素の補填を行い、ステップＳ１１０３に進む。
【００９０】
ステップＳ１１０３にて、イントラ符号化またはフレーム間符号化によるテクスチャ符号化を行い、生成された符号化データをメモリ３０１上の符号エリアに格納する。そしてステップＳ６へ戻る。
【００９１】
ステップＳ６にて、１フレーム分の符号化処理が終了したら、通信ソフトウェアはメモリ３０１上の符号エリアの符号を読み出して、通信インターフェース３０８を介して通信回路３０９に送出する。
【００９２】
全てのフレームの符号化が終了したら、多面画像符号化ソフトウェア、多眼カメラ制御ソフトウェア、通信ソフトウェアを終了し、全てのソフトウェアを停止する。
【００９３】
本実施形態によれば、上述の実施形態と同様、多面体全方位画像を構成する画像を効率よく符号化することが可能になる。また、形状情報を符号化せずに、形状情報を生成するために必要な多面体の構成情報を符号化することで、符号化効率を大幅に向上させる効果がある。
【００９４】
本実施形態では通信インターフェース３０８を介して通信回線３０９に送信する例について説明したが、符号エリア内の符号化データを、記憶装置３０４又は３０５に蓄積してももちろんかまわない。
【００９５】
なお、本実施形態では多面体の構成情報である面の形状、数、サイズ、展開方法を個別に符号化したが、これに限定されず、例えばこれらの特定の組合せ毎にコードを割り当て、コードを符号化してもかまわないし、これ以外の情報を構成情報として付加してももちろんかまわない。
【００９６】
また、本実施形態では、多面体構成情報から形状情報を生成してマクロブロックの状態（領域内外、境界の有無）の判定を行ったが、ブロックの位置から逐一計算して状態を求めてももちろんかまわない。
また、本実施形態に係る符号化装置の一部又は全部の機能を専用のハードウェアで構成してももちろんかまわない。
【００９７】
また、本実施形態においては、予め底面と頂面と正面の位置を決定しておいたが、これに限定されず、それぞれを符号化して送ることも可能である。例えば、左上から番号付けを行い、その番号を符号化することで自由に設定できる。例えば、図２において画面２０１−１を番号１、画面２０１−２を番号２、画面２０１−３を番号３、画面２０１−４を番号４、画面２０１−５を番号５、画面２０１−８を番号６、画面２０１−６を番号７、画面２０１−７を番号８、画面２０１−９を番号９、画面２０１−１０を番号１０、画面２０１−１１を番号１１、画面２０１−１２を番号１２として、底面、頂面、正面の接点を含む面の番号をそれぞれ３ビットずつの情報として伝送することで実現できる。図２の場合は１０、３、５を伝送する。
【００９８】
（復号化処理）
次に、本実施形態の画像符号化復号化装置において、上述の符号化処理で得られた符号化データを通信回路３０９から読み込み、復号して、ディスプレイ３０７に表示する処理について説明する。
【００９９】
まず、符号化時と同様、端末３０３から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【０１００】
復号化処理に先立ち、通信ソフトウェアを起動し、通信回路３０９から通信インターフェース３０８を介して受信されるデータをメモリ３０１上の符号エリアのデータを適宜書き込むように動作させ、符号化エリアに復号化対象の符号化データが書き込まれているものとする。
また、視線指示ソフトウェアを起動し、端末３０３のジョイスティックなどで指示される視線の方向を取得する。その後、復号化処理を行う多面画像復号ソフトウェアを起動する。
【０１０１】
この、多面画像復号ソフトウェアによる復号化処理について、図１３に示すフローチャートに従って説明する。まず、ステップＳ１３０１にて、メモリ３０１の符号エリアに格納された符号化データのヘッダを解析し、処理するオブジェクトを確認する。本実施形態では図１４のObjectType符号までの復号をこのステップで行い、解析結果から各部に所定の値を設定する。
【０１０２】
ステップＳ１３０２にて、3D-V_start_code符号(3D-V_ST)以下を復号する。
そして、多面体の構成情報、本実施形態では多面体を構成する面（単位画像）の形状を表すShapeType符号、面の数を表すNo.ofPlane符号、面のサイズを表すPlaneSize符号、面の展開方法を表すExpandMethod符号を読み込む。これを復号し、メモリ３０１上のワーキングエリアに格納する。
【０１０３】
ステップＳ１３０３にて、形状情報をメモリ３０１上のワーキングエリア内に格納された構成情報から計算して、やはりメモリ３０１上のワーキングエリアに格納する。
ステップＳ１３０４にて、全てのフレームの処理が終了したか否かの終了判定を行う。全てのフレームの処理が終了したと判断された場合は、動作を終了する。そうでなければステップＳ１３０５に進む。
【０１０４】
ステップＳ１３０５にて、メモリ３０１上の符号エリアから１フレーム分の符号化データを読み出す。
ステップＳ１３０６にて、フレーム（ＶＯＰ）の符号化データのヘッダデータを復号して各種のパラメータを設定する。
【０１０５】
ステップＳ１３０７にて、フレーム内の全てのマクロブロックについて処理が終了したか否かの終了判定を行う。全てのマクロブロックの処理が終了したと判断された場合は、ステップＳ１３１０に進む。そうでなければステップＳ１３０８に進む。
【０１０６】
ステップＳ１３０８にて、復号するブロックが領域外か否かをメモリ３０１上の形状情報を参照して判定し、領域外と判断された場合は、何もせずにステップＳ１３０７に進み、次のブロックの処理を行う。そうでなければステップＳ１３０９に進む。
ステップＳ１３０９にて、イントラ符号化またはフレーム間符号化されたテクスチャデータを復号し、生成された画像データをメモリ３０１上の画像エリアに格納する。
【０１０７】
１フレーム分のマクロブロックの復号が終了したら（ステップＳ１３０７がＹｅｓ）、ステップＳ１３１０にて、展開方法に従って、復号画像（展開画像）を単位画像に分離する。展開方法は例えば上述した４ビットの情報で表される方法から図２の関係を復号し、その位置関係に従って、分離した単位画像を、全方位画像構成時に占める位置が同じ単位画像を関連付けてメモリ３０１上の画像エリアもしくは記憶装置３０４又は３０５に格納する。
【０１０８】
ステップＳ１３１１にて、端末３０３のジョイスティックが指示する方向を視線として、表示すべき画像を作成するのに必要な単位画像を決定し、読み出して合成、レンダリングして、ディスプレイ３０７に表示する。
【０１０９】
全てのフレームの復号・表示が終了したら、多面画像復号ソフトウェア、視線指示ソフトウェア、通信ソフトウェアを終了し、全てのソフトウェアを停止する。
このような一連の選択動作により、効率よく符号化された多面画像を復号化することが可能になる。
【０１１０】
また、本実施形態では、多面構成情報から形状情報を生成して領域内外、境界の有無の判定を行ったが、マクロブロックの位置から逐一計算で求めてももちろんかまわない。
【０１１１】
本実施形態では通信インターフェース３０８を介して通信回線３０９に受信する例について説明したが、記憶装置３０５に格納された符号化データを復号してももちろんかまわない。
また、本実施形態の画像復号化装置の一部または全部の機能をハードウェアで構成してももちろんかまわない。
【０１１２】
（他の実施形態）
上述の実施形態においては、複数の単位画像が全方位画像を構成した際の多面体形状として、正十二面体を例として説明を行ったが、本発明はこれに限定されず、図１５（ａ）に示すように正三角形の単位画像から正二十面体形状の全方位画像を構成してもよい。このときの形状情報（領域画像）は図１５（ｂ）のようになる。さらにその他の構成、例えば単位画像の形状や大きさが複数種存在してもよい。これらの情報を表す符号を定義することで同様の符号化・復号化が可能であることは当業者において自明である。
【０１１３】
また、上述の実施形態においては、復号化時に展開画像を単位画像に分割して保存し、視線方向に応じて合成する構成についてのみ説明したが、展開画像から全方位画像を生成し、全方位画像の状態で保存しておいて、視線方向に応じて切り出すように構成しても良い。
【０１１４】
上述の実施形態においては、１つの機器から構成される符号化装置、復号化装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【０１１５】
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【０１１６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【０１１７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１１８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１１９】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【０１２０】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【０１２１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１２３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図２】第１の実施形態における多面画像の合成状態を表す図である。
【図３】第１の実施形態における領域画像を表す図である。
【図４】第１の実施形態において境界を含むマクロブロックとそこに補填する画素の位置関係を説明する図である。
【図５】第１の実施形態に係る画像符号化装置の符号化動作を示すフローチャートである。
【図６】第１の実施形態に係る画像復号化装置の構成例を示すブロック図である。
【図７】本発明の第２の実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図８】第２の実施形態において境界を含むマクロブロックとそこに補填する画素の位置関係を説明する図である。
【図９】第２の実施形態に係る画像符号化装置の符号化動作を示すフローチャートである。
【図１０】本発明の第３の実施形態に係る画像符号化復号化装置の構成例を示すブロック図である。
【図１１】第３の実施形態に係る画像符号化復号化装置の符号化動作を示すフローチャートである。
【図１２】第３の実施形態に係る画像符号化復号化装置の使用時におけるメモリ３０１の状況を表す図である。
【図１３】第３の実施形態に係る画像符号化復号化装置の復号化動作を示すフローチャートである。
【図１４】第３の実施形態における符号化データの構成例を示す図である。
【図１５】本発明を適用可能な他の多面体とその領域画像の例を表す図である。
【図１６】第１の実施形態に係る画像復号化装置の復号化動作を示すフローチャートである。
【図１７】第３の実施形態における展開方法の例を表す図である。
【図１】
2006014174.tif 000003
【図２】
2006014174.tif 000004
【図３】
2006014174.tif 000005
【図４】
2006014174.tif 000006
【図５】
2006014174.tif 000007
【図６】
2006014174.tif 000008
【図７】
2006014174.tif 000009
【図８】
2006014174.tif 000010
【図９】
2006014174.tif 000011
【図１０】
2006014174.tif 000012
【図１１】
2006014174.tif 000013
【図１２】
2006014174.tif 000014
【図１３】
2006014174.tif 000015
【図１４】
2006014174.tif 000016
【図１５】
2006014174.tif 000017
【図１６】
2006014174.tif 000018
【図１７】
2006014174.tif 000019