(57)【要約】【課題】動画表示時のメモリコスト、演算コストを抑えランダムアクセスを容易にする。【解決手段】フレームを所定サイズに分割したタイル画像列２５０を、画像平面上で所定サイズにさらに分割し、ボクセル（例えばボクセル２５２）を生成する（Ｓ１０）。空間方向、時間方向に冗長性がある場合はその方向に対しデータを縮小したうえ（Ｓ１２）、時間方向の列を２次元平面に展開する（Ｓ１４）。各ボクセル画像を所定サイズの画像平面に並べて１つの統合画像２５８を生成する（Ｓ１６）。ボクセルごとに最も量子化誤差の少ないグループ化パターンで、各ボクセル画像の領域内で画素をグループごとにまとめて配置する（統合画像２６２）（Ｓ１８）。再配置後の統合画像２６２を所定の圧縮方式で圧縮し、圧縮画像２６６と、必要な画素の位置を求めるための参照情報２６４を生成する（Ｓ２０）。【選択図】図４
2014064142.tif 000002
【特許請求の範囲】
【請求項１】
動画データを構成するフレーム列を、画像平面を構成する空間方向に分割してなるタイル画像列を生成するタイル画像列生成部と、
前記タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成し、１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を圧縮する画像圧縮部と、
圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて出力する圧縮データ生成部と、
を備えることを特徴とする動画圧縮装置。
【請求項２】
前記画像圧縮部はさらに、あらかじめ準備した、前記ボクセルを区分けして画素のグループを形成するための複数の区分けのパターンのうち、形成される画素のグループをそれぞれ一領域にまとめて圧縮した際、誤差が最も小さいパターンをボクセルごとに選択し、当該パターンに則り各ボクセル画像内で画素の再配置を行うことを特徴とする請求項１に記載の動画圧縮装置。
【請求項３】
前記画像圧縮部は前記画像列を２次元平面に展開する前に、前記ボクセルに含まれる各画像を空間方向および時間方向またはいずれか一方に縮小することによる誤差がしきい値以下となる場合、そのときの縮小方向および倍率で前記ボクセルに含まれる画像を縮小し、
前記統合画像を生成する際、前記タイル画像列におけるボクセルの位置と前記統合画像におけるボクセル画像の位置とを対応づけたインデックス情報も生成することを特徴とする請求項１または２に記載の動画圧縮装置。
【請求項４】
前記画像圧縮部は、前記ボクセル画像の縦方向の大きさが統一されるように前記画像列の２次元平面における配置を決定することを特徴とする請求項１から３のいずれかに記載の動画圧縮装置。
【請求項５】
前記画像圧縮部は、空間方向に縮小した前記タイル画像列を参照画像列として圧縮し、
前記タイル画像列を構成する各タイル画像と、圧縮された参照画像列をデコードして得られる、各タイル画像に対応する画像と、の差分を表す差分画像からなる差分画像列を生成する差分画像生成部をさらに備え、
前記画像圧縮部はさらに、前記差分画像列に対応する前記統合画像を生成して圧縮し、
前記圧縮データ生成部はさらに、同一のタイル画像を表す前記参照画像列に対応する前記統合画像と前記差分画像列に対応する前記統合画像とを統合し、１つの統合画像の圧縮データとすることを特徴とする請求項１から４のいずれかに記載の動画圧縮装置。
【請求項６】
前記圧縮データ生成部は、前記参照画像列と前記差分画像列の前記統合画像を統合する際、参照画像における１つのボクセルとそれに対応する差分画像のボクセルのボクセル画像を一格納単位として連続した領域に配置し、前記参照画像列および差分画像列におけるボクセルの位置と当該統合画像における前記ボクセル画像の位置とを対応づけたインデックス情報を、前記統合画像の圧縮データに対応づけて出力し、
前記インデックス情報において、一格納単位に属する先頭のボクセル以外のボクセル画像の位置は、先頭のボクセル画像の位置座標からのオフセット値で表現されることを特徴とする請求項５のいずれかに記載の動画圧縮装置。
【請求項７】
前記画像圧縮部は、前記差分画像列に対応する前記統合画像を生成する際、前記ボクセルごとに選択した倍数を、当該ボクセル画像を構成する全ての画素に乗算し、前記ボクセルと乗算した倍率とを対応づけたゲイン情報を生成することを特徴とする請求項５または６に記載の動画圧縮装置。
【請求項８】
前記画像圧縮部は、ボクセルの全ての画素が所定のしきい値以下の画素値を有するとき、当該ボクセルの画素値を全て０とみなすことにより、そのボクセル画像を前記統合画像に含めないことを特徴とする請求項１から７のいずれかに記載の動画圧縮装置。
【請求項９】
動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出する情報処理部と、
前記フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを読み込む圧縮データ読み込み部と、
前記情報処理部が算出した情報に基づき表示に必要なボクセル画像のデータを前記圧縮データから読み出してデコードするデコード部と、
デコードされたデータを時空間方向に再構築することにより表示画像を描画する描画部と、
を備えることを特徴とする画像処理装置。
【請求項１０】
前記圧縮データ読み込み部は、動画データを構成する各フレームにおける位置と、前記統合画像におけるボクセル画像の位置とを対応づけた参照情報をさらに読み込み、
前記情報処理部が算出した情報に基づき前記参照情報を参照し、前記統合画像のうち必要なボクセル画像の位置を特定するデータ特定部をさらに備え、
前記デコード部は、前記データ特定部が特定した情報に従い、必要なボクセル画像のデータを読み出すことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記圧縮データ読み込み部は、フレーム列を空間方向に縮小した参照画像列に対するボクセル画像と、前記参照画像列に対する前記統合画像の圧縮データをデコードして得られる画像と元のフレーム画像との差分を表す差分画像からなる差分画像列に対するボクセル画像とを統合した統合画像の圧縮データを読み込み、
前記描画部は、デコードされた参照画像および差分画像のデータを対応する画素ごとに加算することにより表示画像を描画することを特徴とする請求項９または１０に記載の画像処理装置。
【請求項１２】
動画圧縮装置が動画データを圧縮する動画圧縮方法であって、
記憶装置に格納された動画データを構成するフレーム列を読み出し、画像平面を構成する空間方向に分割してなるタイル画像列を生成するステップと、
前記タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成するステップと、
１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を生成するステップと、
前記統合画像を圧縮するステップと、
圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて記憶装置に出力するステップと、
を含むことを特徴とする動画圧縮方法。
【請求項１３】
画像処理装置が、動画の圧縮データを用いて表示画像を生成する画像処理方法であって、
動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出するステップと、
前記フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを記憶したメモリから、算出した情報に基づき表示に必要なボクセル画像のデータを読み出してデコードするステップと、
デコードされたデータを時空間方向に再構築することにより表示画像を描画し、表示装置に出力するステップと、
を含むことを特徴とする画像処理方法。
【請求項１４】
記憶装置に格納された動画データを構成するフレーム列を読み出し、画像平面を構成する空間方向に分割してなるタイル画像列を生成する機能と、
前記タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成する機能と、
１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を生成する機能と、
前記統合画像を圧縮する機能と、
圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて記憶装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１５】
動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出する機能と、
前記フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを記憶したメモリから、算出した情報に基づき表示に必要なボクセル画像のデータを読み出してデコードする機能と、
デコードされたデータを時空間方向に再構築することにより表示画像を描画し、表示装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１６】
記憶装置に格納された動画データを構成するフレーム列を読み出し、画像平面を構成する空間方向に分割してなるタイル画像列を生成する機能と、
前記タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成する機能と、
１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を生成する機能と、
前記統合画像を圧縮する機能と、
圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて記憶装置に出力する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【請求項１７】
動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出する機能と、
前記フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを記憶したメモリから、算出した情報に基づき表示に必要なボクセル画像のデータを読み出してデコードする機能と、
デコードされたデータを時空間方向に再構築することにより表示画像を描画し、表示装置に出力する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【請求項１８】
動画のフレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データと、各フレームにおける位置と前記統合画像における対応するボクセル画像の位置とを対応づけた参照情報と、を対応づけた動画圧縮ファイルのデータ構造であって、
前記動画圧縮ファイルを用いて前記動画を表示する画像処理装置が、前記フレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域に基づき前記参照情報を参照することにより、表示に必要なボクセル画像の位置が特定され、それに基づき当該ボクセル画像のデータがメモリから読み出されることにより、表示すべき領域の画像が順次描画されることを特徴とする動画圧縮ファイルのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を含む画像を表示するための画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリゴンを用いた三次元画像を生成する（例えば特許文献１参照）。動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザによる視点移動やゲームの進捗による画角の変化などに対し、高精細な画像を応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目したい領域を拡大して表示させたり別の領域に移動したり、といった、視点に対し自由度のある画像表示を応答性よく実現するためには、サイズの大きな画像データを短時間で処理しつつランダムアクセスをも可能にしなければならない。
【０００５】
特に時間経過に対し多数のフレームを順次表示させる動画像の場合、データサイズが増大するため圧縮率を優先することが一般的である。しかし圧縮率を上げるほどデコード時の演算コストが高くなるうえ、データアクセスの粒度が大きくなる傾向となる。結果として、限定的な領域のみを表示したい場合であっても、フレームの全領域をデコードしたりメモリに展開したりする必要が生じ、演算コスト、メモリコストの面では不利となる。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は様々な要求に対し応答性よく動画像表示できる画像処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は動画圧縮装置に関する。この動画圧縮装置は、動画データを構成するフレーム列を、画像平面を構成する空間方向に分割してなるタイル画像列を生成するタイル画像列生成部と、タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成し、１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を圧縮する画像圧縮部と、圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて出力する圧縮データ生成部と、を備えることを特徴とする。
【０００８】
本発明の別の態様はデータ画像処理装置に関する。この画像処理装置は、動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出する情報処理部と、フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを読み込む圧縮データ読み込み部と、情報処理部が算出した情報に基づき表示に必要なボクセル画像のデータを圧縮データから読み出してデコードするデコード部と、デコードされたデータを時空間方向に再構築することにより表示画像を描画する描画部と、を備えることを特徴とする。
【０００９】
本発明のさらに別の態様は動画圧縮方法に関する。この動画圧縮方法は、動画圧縮装置が動画データを圧縮する動画圧縮方法であって、記憶装置に格納された動画データを構成するフレーム列を読み出し、画像平面を構成する空間方向に分割してなるタイル画像列を生成するステップと、タイル画像列を空間方向、および時間方向に分割して所定サイズの複数のボクセルを形成するステップと、１つのボクセルに含まれる時間方向の画像列を２次元平面に展開したボクセル画像を連結してなる統合画像を生成するステップと、統合画像を圧縮するステップと、圧縮した統合画像を元のタイル画像の動画フレーム上の位置およびフレーム列上の位置に対応づけて記憶装置に出力するステップと、を含むことを特徴とする。
【００１０】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、画像処理装置が、動画の圧縮データを用いて表示画像を生成する画像処理方法であって、動画データを構成するフレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域とを算出するステップと、フレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データを記憶したメモリから、算出した情報に基づき表示に必要なボクセル画像のデータを読み出してデコードするステップと、デコードされたデータを時空間方向に再構築することにより表示画像を描画し、表示装置に出力するステップと、を含むことを特徴とする。
【００１１】
本発明のさらに別の態様は動画圧縮ファイルのデータ構造に関する。このデータ構造は、動画のフレーム列を、空間方向、および時間方向に分割してなる所定サイズのボクセルごとに、時間方向の画像列を２次元平面に展開したボクセル画像で構成される統合画像の圧縮データと、各フレームにおける位置と統合画像における対応するボクセル画像の位置とを対応づけた参照情報と、を対応づけた動画圧縮ファイルのデータ構造であって、当該動画圧縮ファイルを用いて動画を表示する画像処理装置が、フレーム列のうち表示すべきフレームと当該フレーム内の表示すべき領域に基づき参照情報を参照することにより、表示に必要なボクセル画像の位置が特定され、それに基づき当該ボクセル画像のデータがメモリから読み出されることにより、表示すべき領域の画像が順次描画されることを特徴とする。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によると、ランダムアクセスが可能でスループットの高い３次元データ出力を行える。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態における画像処理装置の構成を示す図である。
【図２】本実施の形態における動画データの処理単位を説明するための図である。
【図３】本実施の形態において動画データ圧縮機能を有する画像処理装置の制御部およびハードディスクドライブの構成を詳細に示す図である。
【図４】本実施の形態において画像圧縮部が実施する基本的な圧縮手順を模式的に示す図である。
【図５】本実施の形態において生成したボクセルデータを冗長性判定により縮小する手順を模式的に示す図である。
【図６】本実施の形態において各ボクセルに含まれる時間方向の画像を２次元平面に展開してボクセル画像を生成する様子を模式的に示す図である。
【図７】本実施の形態においてボクセル画像を接続して１つの統合画像とする様子を模式的に示す図である。
【図８】本実施の形態においてボクセル画像内で画像をグループごとにまとめる様子を模式的に示す図である。
【図９】本実施の形態においてボクセルの各データ構造に対し選択できるグループ化パターンを示す図である。
【図１０】本実施の形態においてあるボクセルに対応づけられた、インデックス情報とグループ化パターン情報を含む参照情報のデータ構造例を示す図である。
【図１１】本実施の形態において画像表示機能を有する画像処理装置の制御部の構成を詳細に示す図である。
【図１２】本実施の形態において、表示画像処理部が行う表示画像生成処理の手順を示すフローチャートである。
【図１３】本実施の形態において、動画データを参照画像と差分画像に分けて圧縮する機能を有する画像処理装置における制御部およびハードディスクドライブの構成を詳細に示す図である。
【図１４】本実施の形態において、動画データを参照画像と差分画像に分けて圧縮する機能を有する画像処理装置が実施する動画データの圧縮手順を模式的に示す図である。
【図１５】本実施の形態において生成される、参照画像の参照情報と圧縮された統合画像、差分画像の参照情報と圧縮された統合画像の関係を説明するための図である。
【図１６】本実施の形態において参照画像のデータと差分画像のデータを統合し、参照情報と圧縮された統合画像を１つずつ生成する処理を説明するための図である。
【図１７】本実施の形態において動画像を階層データとする場合のデータ構造を概念的に示す図である。
【発明を実施するための形態】
【００１５】
本実施の形態では、演算コストやメモリコストを増大させずに、画像平面上および時間軸に対しランダムアクセス可能に動画像を表示する。ここで表示対象とする動画は、映画、アニメーション、ユーザが撮影した動画などそれ自体を主たるコンテンツとするものでもよいし、ゲームなどのコンピュータグラフィックスにおいてマッピングされるビデオテクスチャなど画像の部材として表されるものでもよい。
【００１６】
静止画像の場合、圧縮方式としてＪＰＥＧ（Joint Photographic Experts Group）やＳ３ＴＣ（S3 Texture Compression）などが実用化されている。前者は表示時にデコード対象のデータをメモリに展開する必要があるためメモリコストが比較的大きくなるが高圧縮率である。後者は圧縮率が比較的低い代わりにデコードデータの展開が必要ないため、局所的な画像を表示する場合は特にメモリコストが小さくなる。したがって、表示環境などによって定まる圧縮率とメモリ負荷の優先順位に応じて、適宜圧縮方式を選択することができる。
【００１７】
一方、動画像の圧縮方式は従来より、ＭＰＥＧ(Moving Picture Experts Group）やＡＶＣ（Advanced Video Coding）など圧縮率を上げることに重点が置かれてきたため、次のような問題が生じる。すなわち動画像をビデオテクスチャとして用いる場合、一部分のみをマッピングする場合であっても、全ての領域をメモリに展開する必要があり無駄なメモリコストがかかる。このことはビデオテクスチャのみならず、動画像を拡大してその一部のみを表示するような場合も同様である。
【００１８】
特にフレーム間予測符号化方式の場合、参照画像も全領域をメモリに展開する必要がある。また高い圧縮率に起因して、全領域のデータをデコードするための演算コストも大きい。さらに当該ビデオテクスチャで表現する領域が画角から外れている期間であっても、次に画角に入ったときに備えてデコードし続けなければいけないため、この点でもデコードのための処理コスト、メモリコストが無駄にかかることになる。
【００１９】
そこで本実施の形態では、動画像のデータを圧縮したままメモリに格納しても、必要な領域のデータのみを取り出して独立にデコードし表示できるように圧縮することで、演算コストとメモリコストを軽減させる。このときフレーム内やフレーム間の冗長性を考慮して圧縮することにより、画像の内容を考慮したうえで高画質、高圧縮率を実現する。
【００２０】
まず本実施の形態において動画像の圧縮データを生成する技術について説明する。図１は本実施の形態の画像処理装置の構成を示している。画像処理装置１０は、無線インタフェース４０、入力装置２０、表示処理部４４、表示装置１２、ハードディスクドライブ５０、記録媒体装着部５２、ディスクドライブ５４、メインメモリ６０、および制御部１００を有して構成される。
【００２１】
表示装置１２は液晶ディスプレイ、ＥＬ（Electronic Luminescence）ディスプレイ、プラズマディスプレイなど一般的なディスプレイのいずれかを備えており、画像処理装置１０のその他のモジュールと一体的に設けられてもよいし、有線ケーブルや無線ＬＡＮ（Local Area Network）などにより有線接続または無線接続されてもよい。表示処理部４４は、表示装置１２のディスプレイに表示するデータをバッファするフレームメモリ（図示せず）を有する。
【００２２】
無線インタフェース４０は、所定の無線通信プロトコルで外部の機器やネットワークと無線で接続することによりサーバから画像データなど各種データを受信できるように構成される。入力装置２０はジョイスティック、タッチパネル、マウス、キーボード、ボタンなど一般的な入力装置で構成される。入力装置２０は、処理対象の画像データの選択、圧縮データ生成開始などのユーザの要求を受け付ける操作手段を備える。入力装置２０においてユーザから入力された各種要求信号は、制御部１００に供給される。
【００２３】
ハードディスクドライブ５０は、データを記憶する記憶装置として機能する。サーバから受信した各種データは、一旦、ハードディスクドライブ５０に格納される。記録媒体装着部５２は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ５４は、読み出し専用のＲＯＭディスクが装着されると、ＲＯＭディスクを駆動して認識し、データを読み出す。ＲＯＭディスクは、光ディスクや光磁気ディスクなどであってよい。画像データなど各種データはこれらの記録媒体に格納されていてもよい。
【００２４】
制御部１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（PowerPC Processor Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic Processor Unit）と呼ばれる。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。
【００２５】
メインメモリ６０は記憶装置であり、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、表示処理部４４におけるフレームメモリとメインメモリ６０の間で高速なデータ転送を実現できる。本実施の形態の制御部１００は、複数のＳＰＵを並列動作させることで、高速な画像処理機能を実現する。表示処理部４４は表示装置１２に接続されて、表示画像のデータを出力する。
【００２６】
図２は本実施の形態における動画データの処理単位を説明するための図である。本実施の形態では、圧縮対象の動画を構成する画像フレーム８０をそれぞれ、所定のサイズで分割して複数のタイル画像（例えばタイル画像８２）とする。動画像の画像フレーム８０は図２の縦方向に表される時間軸に対して画像列を構成するため、タイル画像もそれに対応する画像列となる（例えばタイル画像列８４）。
【００２７】
本実施の形態では、当該タイル画像列を処理単位として圧縮データを生成する。画像表示時には、必要に応じてデコードしたタイル画像をつなげることにより画像を表示する。なお以後の説明では、タイル画像列を構成する各タイル画像も「フレーム」と呼ぶ。また元の画像フレームの画素数が所定値より小さい場合などは、画像フレーム全体を１枚のタイルとみなすことにより、タイル画像への分割を行わなくてもよい。
【００２８】
図３は本実施の形態において、動画データ圧縮機能を有する画像処理装置１０における制御部１００およびハードディスクドライブ５０の構成を詳細に示している。同図および図１１、図１３において制御部１００は、それぞれ制御部１００ａ、１００ｂ、１００ｃとすることにより異なる態様を区別している。制御部１００ａは、圧縮対象の動画データからタイル画像列を生成するタイル画像列生成部１２０、タイル画像列を所定フレーム数ごとに圧縮する画像圧縮部１２２、および最終的な圧縮データを出力する圧縮データ生成部１２８を含む。
【００２９】
図３および後述する図１１、図１３において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部１００は１つのＰＰＵと複数のＳＰＵとを有し、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３０】
ハードディスクドライブ５０は、圧縮対象の動画データを格納した動画データ記憶部１３０、画像圧縮部１２２における圧縮処理時に、画像領域のグループ化のパターンを記憶するグループ化パターン記憶部１３２、および圧縮データ生成部１２８が出力した圧縮データを格納する圧縮データ記憶部１３４を含む。タイル画像列生成部１２０は、ユーザが指定した、圧縮対象の動画データに係る情報を入力装置２０から取得し、動画データ記憶部１３０から当該動画データを構成するフレームのデータを順次読み出す。そして各フレームを所定サイズに分割してタイル画像列を生成する。
【００３１】
画像圧縮部１２２は、処理単位形成部１４０、縮小部１４２、平面展開部１４４、再配置部１４６、および圧縮部１４８を含む。処理単位形成部１４０は、タイル画像列生成部１２０が生成したタイル画像列を、さらに空間方向、時間方向に所定のサイズに分割する。以後、これによりできる部分画像列を「ボクセル」、そのデータを「ボクセルデータ」と呼ぶ。縮小部１４２は、各ボクセルデータの冗長性により平均画像で表すことが可能なボクセルデータについては当該平均画像で代替することにより、時間方向または空間方向、あるいは双方向に縮小する。
【００３２】
平面展開部１４４は、各ボクセルに含まれる時間方向のデータを２次元平面に展開し、さらにタイル画像列に含まれるボクセルデータを接続していくことにより、１枚の統合画像とする。縮小部１４２による縮小処理により、ボクセルデータのサイズは様々となっている。そのため平面展開部１４４は、統合画像中でのボクセルデータの位置を、元のタイル画像におけるボクセルの位置に対応づけたインデックス情報も生成する。
【００３３】
再配置部１４６は、当該統合画像中、各ボクセルデータの領域内で画素のグループを形成し、グループ単位で配置を入れ替える。このとき再配置部１４６は、ハードディスクドライブ５０のグループ化パターン記憶部１３２から最適なグループ化のパターンを選択する。ここで「最適なグループ化のパターン」とは、次に圧縮部１４８が行う統合画像の圧縮処理によって生じる量子化誤差を最小とする、画素のグループの区切り方を意味する。再配置部１４６は選択したパターンを表すグループ化パターン情報も生成する。
【００３４】
圧縮部１４８は、配置が入れ替えられた統合画像を所定の方式で圧縮する。例えばＳ３ＴＣを採用すると、必要なボクセルデータの統合画像中での位置が判明すれば、その領域のみをデコードすることができる。圧縮された画像から、指定された位置のデータを取り出し、デコードする処理は、ＧＰＵなどに装備されている一般的なグラフィックスハードウェアをそのまま利用することができる。したがって本実施の形態における画像表示は、必要なボクセルデータの位置を適切に指定する機能、デコードされた画素の配置を適切に復元する機能、を導入することにより、既存のハードウェアを利用して低コストで実現が可能である。なお圧縮方式はＳ３ＴＣに限らず、ＪＰＥＧなど実用化されている方式のいずれでもよい。
【００３５】
圧縮データ生成部１２８は、圧縮部１４８による統合画像の圧縮後のデータ、および平面展開部１４４が生成したインデックス情報、再配置部１４６が生成したグループ化パターン情報を対応づける。この処理をタイル画像列ごとに行ったうえ、元の動画のフレームにおけるタイル画像列の位置やフレーム番号などとさらに対応づけることにより、最終的な圧縮データとする。生成した圧縮データは圧縮データ記憶部１３４に出力する。
【００３６】
図４は、画像圧縮部１２２が実施する基本的な圧縮手順を模式的に示している。まず横方向にＸ画素、縦方向にＹ画素のサイズを有するタイル画像４フレーム分（タイル画像列２５０）を圧縮単位とする。処理単位形成部１４０は、このような４フレーム分のタイル画像列２５０を、画像平面上で所定サイズにさらに分割し、ボクセル（例えばボクセル２５２）を生成する（Ｓ１０）。ボクセルは例えば８画素×８画素×４フレームからなる部分画像列とする。以後、この例に則り説明するが、処理単位のフレーム数やボクセルのサイズ、後段でなされる各処理の単位は様々に変化させることができる。
【００３７】
次に縮小部１４２は、ボクセルごとに空間方向、時間方向の冗長性の有無を確認し、冗長性があると判定された場合はその方向に対しデータを縮小する（Ｓ１２）。つまり空間方向あるいは時間方向、もしくは双方向で画像を平均化しても元の画像との差が小さい場合、平均画像としてまとめることにより画像を縮小する（例えば縮小画像列２５４）。平面展開部１４４は、縮小されたか否かに関わらず、ボクセルデータの時間方向の列を２次元平面に展開する（Ｓ１４）。図４においてボクセル画像２５６は縮小画像列２５４に含まれる４フレームを右方向に並べたものであり、各矩形内の「０」〜「３」の数字がフレーム番号を表している。その他のボクセル画像も同様であるが、時間方向の平均画像は平均化されたフレーム番号を１つの矩形内に示している。
【００３８】
次に平面展開部１４４は、各ボクセル画像を所定サイズの画像平面に並べていくことにより１つの統合画像２５８を生成する（Ｓ１６）。このとき、各ボクセルの元の画像上の位置と、そのデータの統合画像２５８上での位置とを対応づけるインデックス情報２６０も生成する。次に再配置部１４６は、ボクセルごとに最も量子化誤差の少ないグループ化パターンを選択し、各ボクセル画像の領域内で画素をグループごとにまとめて配置することにより統合画像を更新する（統合画像２６２）（Ｓ１８）。このとき、上記のインデックス情報に、選択したグループ化パターンの情報を加え、参照情報２６４とする。
【００３９】
次に圧縮部１４８は、再配置後の統合画像２６２を所定の圧縮方式で圧縮し、圧縮画像２６６を生成する（Ｓ２０）。結果として、入力された４フレーム分のタイル画像列２５０に対し、圧縮画像２６６および参照情報２６４が生成されることになる。圧縮データ生成部１２８はそれらのデータを対応づける。このような処理を、その他の全タイル画像列の４フレーム分に対し繰り返す。さらにその処理を、以後の４フレームごとに繰り返すことにより、動画データ全体が圧縮される。
【００４０】
図５は図４のＳ１０で生成したボクセルデータをＳ１２で冗長性判定により縮小する手順を模式的に示している。上述のように８×８画素×４フレームのボクセルを生成する場合、タイル画像を２５６×２５６画素とすると、ボクセル２７２は、当該タイル画像を縦方向横方向にそれぞれ３２分割した画像４フレーム分からなる。図中、各データブロックの下には「横の画素数×縦の画素数×フレーム数」の形式でデータサイズが示されている。以後の図も同様である。
【００４１】
そのようにして形成したボクセル２７２ごとに冗長性を判定する。同図ではまず、空間方向の冗長性判定を行う（Ｓ１２ａ）。具体的には画像を縦方向、横方向に所定倍率で縮小し、それを元のサイズに戻した画像と、縮小前の画像とをフレームごとに比較し、画素値の差の合計がしきい値以下であれば空間方向に冗長性があると判定する。そしてしきい値以下となった縮小倍率のうち、より縮小量の大きい倍率へ縮小することにより圧縮する。同図の例では、縮小倍率の候補として縦方向に１／２倍、横方向に１／２倍、縦横双方向に１／２倍が設定されている。
【００４２】
したがって図に示すように、Ｓ１２ａの判定によって、元の画像に冗長性がなく８×８画素の画像のままとなる場合のほか、８×４画素、４×８画素、４×４画素に縮小される場合が発生する。判定は４フレームごとのグループで行うため、１フレームごとに画素値の差の合計をしきい値と比較し４フレーム全てについてしきい値以下であることを条件に縮小可能としてもよいし、４フレーム分の画素値の差の合計に対してしきい値判定を行ってもよい。
【００４３】
次に上記４つのいずれかの状態となった画像について時間方向の冗長性判定を行う（Ｓ１２ｂ）。具体的には連続する所定数のフレームを平均化した画像を生成し、それを元のフレームの画像とそれぞれ比較して、画素値の差の合計がしきい値以下であれば時間方向に冗長性があると判定する。この場合、複数のフレームをまとめて１枚の平均画像で表せると判断されたことになるため、しきい値以下となった平均画像のうち最も多くのフレームをまとめることのできる平均画像で当該フレームを代替することにより圧縮する。図５の例では、２フレームごとに平均化して２枚の平均画像とする場合と、４フレームを平均化して１枚の平均画像とする場合が設定されている。
【００４４】
ただし同図の例では８×８画素の画像についてのみ、４フレーム分を平均画像１枚で表す場合を設定している。また４×４画素の画像については時間方向には圧縮しない。この場合、Ｓ１２ｂの判定によって、時間方向に圧縮しない場合も含め、８×８画素×４フレーム、８×８画素×２フレーム、８×８画素×１フレーム、８×４画素×４フレーム、８×４画素×２フレーム、４×８画素×４フレーム、４×８画素×２フレーム、および４×４画素×４フレーム、の８種類データ構造となる場合が発生する。
【００４５】
判定は空間方向の冗長性と同様、元の画像の１フレームごとに画素値の差の合計をしきい値と比較し、４フレーム全てについてしきい値以下であることを条件に圧縮可能としてもよいし、４フレーム分の画素値の差の合計に対してしきい値判定を行ってもよい。なお縮小倍率やフレームの削減枚数の選択肢は同図に示したものに限定されず、例えば元のボクセルのサイズや２次元平面に展開したときのデータサイズの制限などに応じて適宜決定する。また空間方向の冗長性判定と時間方向の冗長性判定の順序についても、同図と逆でもよいし、空間方向の縮小と時間方向の縮小を様々な組み合わせで一度に行うことにより判定を同時にしてもよい。またどちらか一方のみを行ってもよい。
【００４６】
図６は図４のＳ１４において、各ボクセルに含まれる時間方向の画像を２次元平面に展開してボクセル画像を生成する様子を模式的に示している。図５で示したように、各ボクセルは８種類のデータ構造のいずれかとなっており、図６ではそれらを左側に示している。このようなデータ構造ごとに、（ａ）〜（ｈ）の矢印右側に示すようにボクセル画像における各画像の配置方向を決めておく。
【００４７】
ボクセル画像はどのパターンでも縦方向のサイズが等しくなるようにする。同図の場合、縦方向を８画素とし、その制限のもとで各画像をラスタ順に配置している。なお各矩形内の数字は図４と同様、フレーム番号を表し、矩形内に複数の数字がある場合は複数のフレームの平均画像であることを表している。（ａ）に示すように、８×８画素×４フレームのデータは、そのままフレーム順に右方向に並べる。（ｂ）、（ｆ）、（ｇ）のデータも、フレームの縦方向のサイズが８画素であるため、そのまま右方向に並べる。
【００４８】
（ｄ）の８×４画素×４フレームのデータは、縦方向が４画素であるため、０番目、１番目のフレームを右方向に並べた後、２番目、３番目のフレームをその下に右方向に並べる。（ｈ）の４×４画素×４フレームのデータも同様である。（ｅ）の８×４画素×２フレームのデータは、上下に並べる。（ｃ）の８×８画素×１フレームのデータはそのままボクセル画像とする。このような規則とすることで、全てのデータ構造に対し、縦方向が８画素のボクセル画像を生成できる。ただしフレーム番号とその位置との対応がとれていれば、配置方向は図６に示したパターンに限らない。
【００４９】
図７は図４のＳ１６において、ボクセル画像を接続して１つの統合画像とする様子を模式的に示している。ボクセルはタイル画像４フレーム分を空間分割したものであるため、各ボクセル画像は元のタイル画像における２次元配列を表す位置座標（０，０）、（１，０）、（２，０）、・・・と対応づけられる（２次元配列２８０）。当該２次元配列２８０のラスタ順に、対応するボクセル画像を同様の順序で所定サイズの画像平面上に並べることにより、統合画像２８２を生成する。ボクセル画像の縦方向のサイズを上述のように統一することにより、並べた際の１行の高さを統一でき、データを隙間なく敷き詰められるうえ、表示時の参照が容易になる。
【００５０】
ボクセル画像の横幅は、上記の展開規則により８画素の倍数となるものの可変長であるため、元のタイル画像におけるボクセルの位置と統合画像２８２におけるボクセル画像の位置を対応づけるインデックス情報も生成する。例えば同図に示すように、２次元配列２８０の左上のボクセルの位置座標（０，０）に対し、統合画像２８２における対応するボクセル画像の左上の座標を対応づける（矢印２８４ａ）。同様に、以降のボクセルの位置座標（１，０）、（２，０）、・・・に対し、矢印２８４ｂ、２８４ｃ、・・・で示される対応情報を記録する。
【００５１】
図８は図４のＳ１８において、ボクセル画像内で画像をグループごとにまとめる様子を模式的に示している。本実施の形態では動画において時間方向に近接した部分的な画像、すなわち変化の少ない部分画像を２次元平面に並べる、という独特の特徴を有する。したがって並べた結果得られるボクセル画像には、画素値の差の小さい、すなわち類似の画像領域が周期的に表れると考えられる。この特質を利用することにより、圧縮時に発生する量子化誤差を抑え画質の劣化を防止する。
【００５２】
Ｓ３ＴＣの場合、４×４画素の領域ごとに、それに含まれる１６画素の画素値を量子化する。具体的には、それらの画素の代表色２色とそれを線形補間して得られる中間色のいずれかを示す値で画素値を表す。このとき、本来の画素値が代表色を補間する線からずれるほど、つまり本来の画素値が分散するほど、量子化誤差が生じることになる。逆に１６画素の画素値が近接するほど量子化誤差が小さくなり画質の劣化を抑えることができる。そこで統合画像の上記特質を利用し、画素値の近い画素を４×４画素の領域にまとめる方針で画素のグループを形成する。
【００５３】
図８の上段はあるボクセル画像２９０、下段は再配置後の画像２９６である。ボクセル画像２９０は、例えば図７の統合画像２８２において最初（左上）に並べられたボクセル画像に対応する。対応するボクセルの８×８画素の領域が、例えば元の画像における青空の一部を表しているとすると、網掛けした微少領域２９２ａ、２９２ｂ、２９２ｃ、２９２ｄに含まれる画素は全て、青を表す近接した画素値を有すると考えられる。そこでこのような微少領域２９２ａ、２９２ｂ、２９２ｃ、２９２ｄをグループとし、１つの領域２９４にまとめる。
【００５４】
図示するように再配置後の画像２９６において、再配置先の領域２９４が４×４画素となるように元の微少領域２９２ａ、２９２ｂ、２９２ｃ、２９２ｄを２×２画素とすると、量子化単位である１６画素が近接した値を有することになり、量子化誤差を抑えることができる。別の領域についても同じように、２×２画素ごとに各フレームの同じ位置から領域を抽出し、それぞれ４×４画素の領域にまとめることにより、量子化単位に含まれる画素の画素値の分散を抑えられる。
【００５５】
図８の左側には、このときのグループ化パターンを示している。ボクセルデータ２９８は、８×８画素の画像平面を前面とし、４フレーム分の時間方向を奥行き方向とする直方体で表されている。上述した処理は、このようなボクセルデータ２９８のうち、画像平面を縦横方向にそれぞれ４分割してなる１６領域を、時間方向に４フレーム分まとめて１グループとしたことを意味する。ボクセルデータ２９８において「０」〜「１５」の番号を付した直方体がそれぞれ１グループを表す。
【００５６】
例えばグループ「０」は微少領域２９２ａ、２９２ｂ、２９２ｃ、２９２ｄで構成され、再配置画像２９６の領域２９４にまとめる。その他のグループの再配置先は、再配置画像２９６における４×４画素の各領域に付した同じ番号の領域とする。ただし圧縮処理は各領域で独立になされるため、再配置先の並び順は特に限定されない。図８は２×２画素の領域４フレーム分を１グループとして４×４画素の領域にまとめる例であったが、グループ化にはそのほか、様々なパターンが考えられる。そして図６で示したボクセルのデータ構造、および画像の内容に依存して、可能かつ最適なパターンが異なる。
【００５７】
そこでグループ化パターンのバリエーションを準備しグループ化パターン記憶部１３２に格納しておく。そしてボクセルのデータ構造に対し可能なパターンを全て適用してボクセル画像を圧縮し、それをデコードしたときに最も劣化の小さいパターンを選択する。例えばデコードしたボクセル画像と元のボクセル画像を画素ごとに比較し、差分の合計が最も小さいパターンを選択する。図９はボクセルの各データ構造に対し選択できるグループ化パターンを示している。上述のように全てのパターンは４×４画素の領域にまとめられる１６画素を１グループとする。
【００５８】
まず８×８画素×４フレームのボクセルデータに対し、図８で説明したように、２×２画素×４フレームを１グループとして合計１６グループを形成するパターン（Ｄ）のほか、４×４画素×１フレームごとのグループとするパターン（Ａ）、４×２画素×２フレームごとのグループとするパターン（Ｂ）、２×４画素×２フレームごとのグループとするパターン（Ｃ）を準備する。８×４画素×４フレームのデータに対し、４×２画素×２フレームごとのグループを８グループ形成するパターン（Ｅ）、２×２画素×４フレームごとのグループとするパターン（Ｆ）を準備する。
【００５９】
４×８画素×４フレームのデータに対し、２×４画素×２フレームごとのグループを８グループ生成するパターン（Ｇ）、２×２画素×４フレームごとのグループとするパターン（Ｈ）を準備する。８×８画素×２フレームのデータに対し、４×４画素×１フレームごとのグループを８グループ生成するパターン（Ｉ）、４×２画素×２フレームごとのグループとするパターン（Ｊ）、２×４画素×２フレームごとのグループとするパターン（Ｋ）を準備する。
【００６０】
４×４画素×４フレームのデータに対し、２×２画素×４フレームごとのグループを４グループ生成するパターン（Ｌ）を準備する。４×８画素×２フレームのデータに対し、２×４画素×２フレームごとのグループを４グループ生成するパターン（Ｍ）を準備する。８×４画素×２フレームのデータに対し、４×２画素×２フレームごとのグループを４グループ生成するパターン（Ｎ）を準備する。８×８画素×１フレームのデータに対し、４×４画素×１フレームごとのグループを４グループ生成するパターン（Ｏ）を準備する。
【００６１】
各パターンには識別番号「０」〜「１４」を付与し、選択したパターンを上述のインデックス情報とともに参照情報として記録しておく。これにより、ボクセルのデータ構造とグループ化した画素の再配置先を同時に特定することができ、結果として表示に必要な画素の位置をボクセル画像内で特定することができる。なお圧縮部１４８が行う統合画像の圧縮方式によって圧縮処理の単位や特性が異なるため、好適には望ましいグループ化パターンのバリエーションを圧縮方式ごとに準備する。
【００６２】
図１０は、あるボクセルに対応づけられた、インデックス情報とグループ化パターン情報を含む参照情報のデータ構造例を示している。参照情報３００は、インデックス情報３０２、グループ化パターン情報３０４、ゲイン情報３０６を含む。インデックス情報３０２は、統合画像における対応するボクセル画像の位置座標を示す。図８で説明した再配置は各ボクセル画像内で閉じているため、当該位置座標は図７で示した統合画像２８２における位置座標から変化しない。つまりインデックス情報３０２は、図７における矢印２８４ａ、２８４ｂ、２８４ｃ、・・・のそれぞれが表す情報である。
【００６３】
グループ化パターン情報３０４は、図９で説明したグループ化パターンのバリエーションうち、選択したパターンの識別番号、すなわち「パターンＩＤ」を示す。ゲイン情報３０６は、後述するように元の動画の各フレームを参照画像と差分画像で分けて圧縮する際に、差分画像に対してのみ記録されるゲインの値を示す。ただしこのような構成としない場合は無効領域としてもよいし、他の情報のデータ長を増やしてもよい。いずれにしろ同図に示すように、インデックス情報３０２のＸ座標、Ｙ座標をそれぞれ１２ビット、グループ化パターン情報３０４を４ビット、ゲイン情報３０６を４ビットというように領域を割り当て、１ボクセルあたり３２ビット＝４バイトとすると、ＲＧＢＡ画像の１画素に相当する情報となる。
【００６４】
１ボクセルを８×８画素×４フレームとすると、２５６×２５６画素のタイル画像４フレーム分の参照情報を、３２×３２画素×１フレームの画像とすることができる。なおこのような画像を後続の４フレーム分ごとに生成し、８×８枚の２次元配列として接続すると、４×８×８＝２５６フレーム分のタイル画像列の参照情報を、タイル画像のサイズに等しい２５６×２５６画素の画像１枚とすることができる。圧縮データ生成部１２８は、このような参照情報の画像と圧縮した統合画像とを対応づけ、さらに元のタイル画像の位置などに対応づけて圧縮データ記憶部１３４に格納する。
【００６５】
次に、これまで述べた手法により圧縮されたデータを用いて画像を表示する技術について説明する。本技術において画像表示を行う装置も、図１で示した画像処理装置１０と同様の構成で実現できる。以下、制御部１００の構成に主眼を置き説明する。図１１は本実施の形態において、画像表示機能を有する制御部１００ｂの構成を詳細に示している。制御部１００ｂを含む画像処理装置１０は、基本的には上記のように圧縮された動画像データの少なくとも一部を用いて動画像表示を行う装置であるが、動画を表示する目的や表示態様は特に制限されない。
【００６６】
例えばハードディスクドライブ５０などに格納された映画や撮影動画、リアルタイムで配信される動画ストリーム、コンピュータグラフィックスにおけるビデオテクスチャなどのいずれでもよい。また同時に複数の動画を表示してもよいし、表示画像の一部の領域のみに用いられるのでもよい。従ってハードディスクドライブ５０には、上述のように圧縮した統合画像および参照情報のほか、様々な機能を実現するためのプログラムやその他の画像データなど各種データが格納されていてよい。
【００６７】
制御部１００ｂは、入力装置２０からユーザが入力した情報を取得する入力情報取得部５０２、ユーザの入力などに応じて情報処理を行う情報処理部５０４、必要な動画像の圧縮データをロードするロード部５０６、画像フレームを描画する表示画像処理部５０８を含む。
【００６８】
入力情報取得部１０２は、ユーザが入力装置２０に対して入力した、画像処理装置１０が備える機能の開始／終了、当該機能によって受け付けられる各種入力情報を取得し、情報処理部５０４に通知する。画像処理装置１０が備える機能は上記の通り、動画像表示機能のほかゲームや通信など様々考えられる。したがって入力情報取得部５０２が取得する入力情報も当該機能に応じて様々変化する。
【００６９】
本実施の形態では動画像における空間方向、時間方向のランダムアクセスを容易に実現する。したがって、表示中の動画像の拡大、縮小、スクロールなどユーザの視点移動操作や、ビデオテクスチャをマッピングしたコンピュータグラフィックスを表示するゲームに対する操作など、動画の表示領域変化を伴う操作を受け付ける態様は特に有効である。
【００７０】
情報処理部５０４は、画像処理装置が備える機能に応じた情報処理を、入力情報取得部５０２が取得した入力情報に基づき実施する。例えば視点移動操作を受け付ける場合は、その操作量に基づき表示領域の移動量を時間ステップごとに求め、次の表示領域の座標を順次算出する。ゲームを実行する場合はその内容に応じて３次元オブジェクトを発生させたりゲームプログラムに則りステージを進捗させたりする。これらの処理は一般的な技術を適用できるため、以後、動画像の表示に係る処理に着目し、その他の処理については適宜説明を省略する。
【００７１】
情報処理部５０４は上記のような情報処理を行った結果、動画像を表示する必要が生じた場合や、動画像における表示領域を変化させる必要が生じた場合などに、表示領域のフレーム座標を計算し、ロード部５０６および表示画像処理部５０８に通知する。本実施の形態では、タイル画像単位、所定フレーム数単位で個別の圧縮データを生成しているため、ハードディスクドライブ５０からメインメモリ６０へのロードもこの単位で行える。
【００７２】
そのため情報処理部５０４は、動画像の表示を開始した時点からの経過時間を計測し、フレーム座標の情報とともに、経過時間に基づくフレーム番号も通知する。これによりロード部５０６および表示画像処理部５０８は、ロード対象やデコード対象の圧縮データを、それまで当該タイル画像が処理対象であったか否かに関わらず特定できる。ここで圧縮データとは圧縮された統合画像のデータと参照情報のデータを含む。ロード部５０６は、情報処理部５０４からの通知に基づき、必要な圧縮データがメインメモリ６０に格納されているか否かを確認する。
【００７３】
ここで必要な圧縮データとは、次の表示に必要な圧縮データのほか、以後必要と予測される圧縮データも含む。後者のデータは、画角が一定の場合、時間軸上で後のフレームのうち、同じ表示領域とその周囲の所定範囲の領域を表すデータである。一方、視点が移動するなどして画角が変化している場合は、後のフレームのうち、当該画角の変化から予測される移動先の表示領域とその周囲の所定範囲の領域を表すデータである。ロード部５０６は、必要なデータがメインメモリ６０に格納されていない場合、当該圧縮データをハードディスクドライブ５０からロードし、メインメモリ６０に格納する。なお必要な圧縮データを含むデータを、ネットワークを介して接続したサーバ（図示せず）から直接、取得するようにしてもよい。この場合、ロード部５０６またはサーバのいずれかの判断により、必要な圧縮データが直接メインメモリ６０に格納されることになる。
【００７４】
表示画像処理部５０８は、データ特定部５１０、デコード部５１２、描画部５１４を含む。データ特定部５１０は、情報処理部５０４から通知されたフレーム座標に基づき、次の表示領域の表示に必要な圧縮データを、メインメモリ６０にロードされた参照情報を参照して特定する。ここで特定する情報は、フレーム座標に含まれる画素の、統合画像における位置である。デコード部５１２は、データ特定部５１０から指定された位置情報に基づき、メインメモリ６０から必要な部分の圧縮データを読み出しデコードする。
【００７５】
描画部５１４は、デコードされたデータを、参照情報に基づき元の位置に戻す再構築の処理を行うことで、表示処理部４４のフレームメモリに表示画像を描画する。この処理はフレーム座標で表される領域からなる表示画像を描画する処理でもよいし、ビデオテクスチャのマッピング処理を含む描画処理でもよい。なお制御部１００ｂの機能の一部、または全てを、ユーザが操作する画像処理装置と接続したサーバ（図示せず）に設けてもよい。このときサーバの描画部５１４が、描画した表示画像のデータを、ユーザが操作する画像処理装置へネットワークを介して送信することにより、ユーザの入力に応じた表示画像が表示装置１２に表示されるようにしてもよい。
【００７６】
図１２は表示画像処理部５０８が行う表示画像生成処理の手順を示すフローチャートである。まずデータ特定部５１０は、通知されたフレーム番号およびフレーム座標から、必要なデータを含むボクセルを特定する（Ｓ６０）。次に当該ボクセルに対応する参照情報のうちインデックス情報を参照し、対応する統合画像のうち対応するボクセル画像の位置を特定する（Ｓ６２）。なお参照情報は上述のとおり、ボクセルの２次元配列に対応する２次元画像上の画素値として得られる。
【００７７】
次に参照情報のうちグループ化パターン情報を参照し、当該ボクセル画像のうち、表示に必要な画素の配置先を特定する（Ｓ６４）。デコード部５１２は、圧縮された統合画像から、特定された位置の画素データを量子化単位で読み出し、デコードする（Ｓ６６、Ｓ６８）。この処理を、フレーム座標が示す領域内の全ての画素がデコードされるまで繰り返す（Ｓ７０のＮ）。全ての画素がデコードされたら（Ｓ７０のＹ）、描画部５１４は、参照情報に基づきまずボクセルの８×８画素の画像を復元し、それをボクセルデータ単位でつなげ、さらにタイル画像単位でつなげることにより、元の画像を復元する（Ｓ７２）。
【００７８】
ボクセルの画像を復元する際は、まずボクセル画像内でグループ化された画素を元の位置に戻し、ボクセル画像をフレームごとに分割したうえ、冗長性により平均値で表された画像をそのまま用いるか補間するなどして、８×８画素×４フレーム分のボクセルデータに戻す。そしてゲームなどその他の情報処理に応じて描画した画像に貼り付けるなどして最終的な表示画像を描画する（Ｓ７４）。上述のようにデコード部５１２が行うＳ６６、Ｓ６８の処理は、Ｓ３ＴＣなどによる圧縮データをデコードするための一般的なハードウェアをそのまま利用することができる。
【００７９】
次に元の動画像のフレームを参照画像と差分画像に分けて圧縮する手法について説明する。図１３は動画データを参照画像と差分画像に分けて圧縮する機能を有する画像処理装置１０における制御部１００ｃおよびハードディスクドライブ５０の構成を詳細に示している。制御部１００ｃは、圧縮対象の動画データからタイル画像列を生成するタイル画像列生成部３２０、タイル画像列を縮小した参照画像を圧縮する参照画像圧縮部３２２、参照画像に基づき差分画像を生成する差分画像生成部３２４、差分画像を圧縮する差分画像圧縮部３２６、および、参照画像の圧縮データと差分画像の圧縮データを対応付け最終的な圧縮データを生成する圧縮データ生成部３２８を含む。
【００８０】
ハードディスクドライブ５０に含まれる、動画データ記憶部３３０、グループ化パターン記憶部３３２、圧縮データ記憶部３３４はそれぞれ、図３の動画データ記憶部１３０、グループ化パターン記憶部１３２、圧縮データ記憶部１３４と同様の役割を有する。またタイル画像列生成部３２０も、図３のタイル画像列生成部１２０と同様にしてタイル画像列を生成する。
【００８１】
参照画像圧縮部３２２は、図３の画像圧縮部１２２の各機能を含む。ただし圧縮前に、タイル画像列生成部３２０が生成したタイル画像列を所定の割合で空間方向に縮小して参照画像を生成する。差分画像生成部３２４は、タイル画像列生成部１２０が生成したタイル画像列の各フレームと、参照画像圧縮部３２２が圧縮した参照画像のデータをデコードすることにより復元した対応するフレームとの差分を、対応する画素ごとに求めて、タイル画像列に対する差分画像列を生成する。
【００８２】
差分画像圧縮部３２６は、図３の画像圧縮部１２２の各機能を含み、差分画像生成部３２４が生成した差分画像列を圧縮する。ただし差分画像は画素値の範囲が限定的であることから、その特性がデータサイズや描画処理の効率に利点として反映されるようにする。具体的には、絶対値が所定のしきい値以下の画素値のみから構成されるボクセルは全ての画素値を０とみなす。
【００８３】
圧縮データ生成部３２８は、参照画像圧縮部３２２が圧縮した統合画像と、差分画像圧縮部３２６が圧縮した統合画像をまとめて１つの圧縮画像とするとともに、それぞれの参照情報もまとめて、互いに対応づける。これをタイル画像列ごとに行い、元のタイル画像の位置やフレーム番号などにさらに対応づけて、動画像の圧縮データとし圧縮データ記憶部３３４に格納する。
【００８４】
図１４は、制御部１００ｃを含む画像処理装置１０が実施する動画データの圧縮手順を模式的に示している。まず動画データ記憶部３３０から読み出した動画データのフレーム列を、タイル画像列生成部３２０がタイル画像列３５０に分割する。ここでタイル画像は２５６×２５６画素のサイズとし、以後の圧縮処理はタイル画像４フレームごとに行う。図４と同様、タイル画像の画素数や処理単位のフレーム数、および後段でなされる処理の単位は様々に変化させることができる。
【００８５】
次に参照画像圧縮部３２２は、タイル画像列の各フレームを縦横１／２倍に縮小することにより、１２８×１２８画素の参照画像列３５２を生成する（Ｓ８２）。さらに参照画像圧縮部３２２は、図３の画像圧縮部１２２と同様に圧縮処理を行い、参照情報３５４と圧縮した統合画像３５６を生成する（Ｓ８４）。
【００８６】
一方、差分画像生成部３２４は、参照画像の圧縮した統合画像３５６を、画像表示時と同様にデコードし参照情報３５４に基づき再構築したうえで縦横２倍に拡大することにより、２５６×２５６画素の画像を復元する。そしてタイル画像列生成部３２０が生成した２５６×２５６画素のタイル画像列３５０の対応するフレームとの差分をとることにより、２５６×２５６画素の差分画像列３５８を生成する（Ｓ８６）。
【００８７】
次に差分画像圧縮部３２６は、図３の画像圧縮部１２２と同様に圧縮処理を行い、参照情報３６０と圧縮した統合画像３６２を生成する（Ｓ８８）。そして圧縮データ生成部３２８は、参照画像の圧縮された統合画像、差分画像の圧縮された統合画像をまとめて１つの統合画像３６６とする。さらに参照画像の参照情報３５４、差分画像の参照情報３６０もまとめて、１つの参照情報３６４とする（Ｓ９０）。この処理を、その他の全タイル画像列の４フレーム分に対し繰り返す。さらにその処理を、以後の４フレームごとに繰り返すことにより、動画データ全体が圧縮される。
【００８８】
差分画像は参照画像の圧縮による誤差を表す画像であるため、一般的な画像と比較し、その画素値が小さくなる特性がある。このような画素値の小さい画像を圧縮した場合、画素値に対する１階調の割合が大きくなるため、圧縮誤差による影響が顕著になりやすい。そこで差分画像圧縮部３２６は、統合画像の圧縮前に、画素値を一時的に大きくして誤差による影響を抑える。具体的には、ボクセル単位で選択した数値を、当該ボクセルに含まれる画素の画素値全てに乗算したうえで圧縮を行う。
【００８９】
例えば１、２、４、８、１６、３２、６４、１２８の８種類の数値を準備しておき、圧縮誤差の最も小さい値を選択する。例えばボクセルごとに、各値を乗算して圧縮したうえでデコードし、乗算した値の逆数をデコードされた画素値に乗算して画像を復元し、元の差分画像との差が最も小さい値を選択する。このようにして選択した乗算値の識別番号を、図１０で示した参照情報３００のうちゲイン情報３０６として記録する。
【００９０】
また差分画像圧縮部３２６は、ボクセル画像に含まれる画素値が全て所定のしきい値以下となるか否かを確認する。しきい値以下となる場合、画素値を０とみなし、当該ボクセルのデータを、特殊タイプであるＮＵＬＬタイプとする。データがＮＵＬＬタイプのボクセルは、画像表示時のデコード処理において、全ての画素値が０とされるようにする。この場合、当該ボクセルがＮＵＬＬタイプであることを記録しておけば、実際のデータを統合画像に配置する必要がなくなる。そこで参照情報のグループ化パターンの識別番号として、新たに「１５」をＮＵＬＬタイプのボクセルに与える。表示時にグループ化パターンが「１５」であることが判明したら、当該ボクセルは全ての画素値を０とする。したがってこのようなボクセルの参照情報のうち、その他のデータは無効とする。
【００９１】
図１５は、図１４のＳ８４で生成される参照画像の参照情報３５４と圧縮された統合画像３５６、Ｓ８８で生成される差分画像の参照情報３６０と圧縮された統合画像３６２の関係を説明するための図である。なお圧縮後の統合画像からのデータ読みだしは、圧縮前の座標を指定することによってなされるため、以後の説明においてもインデックス情報で示される座標は圧縮前の統合画像に対するものである。
【００９２】
まず参照画像列３５２における、あるボクセル３７０のデータは、縮小処理、２次元平面への展開を経て統合画像３５６の領域３７２ａに配置されるとする。このとき、元の参照画像列３５２におけるボクセル３７０の２次元配列上の位置（ｘ＿ｒｅｆ， ｙ＿ｒｅｆ）に対応づけて、インデックス情報として領域３７２ａの左上の座標（Ｘ０，Ｙ０）、およびグループ化パターン情報（Ｇｒ）が参照情報３５４として記録される。
【００９３】
参照画像列３５２は元のタイル画像を縦横双方向に１／２倍に縮小した画像である。したがって差分画像列３５８において、参照画像列３５２のボクセル３７０に対応する領域３７４は、縦横に２つずつの４つのボクセルで構成される。これらのボクセルのデータは、統合画像３６２中の領域３７６ａ、３７８ａ、および３８０ａに配置されるとする。このとき、元の差分画像列３５８における４つのボクセルの２次元配列上の位置、（ｘ＿ｄｉｆ， ｙ＿ｄｉｆ）、（ｘ＿ｄｉｆ＋１， ｙ＿ｄｉｆ）、（ｘ＿ｄｉｆ， ｙ＿ｄｉｆ＋１）、（ｘ＿ｄｉｆ＋１， ｙ＿ｄｉｆ＋１）のそれぞれに対応づけて、インデックス情報、グループ化パターン情報、ゲイン情報が参照情報３６０として記録される。
【００９４】
同図では位置（ｘ＿ｄｉｆ＋１， ｙ＿ｄｉｆ）のボクセルのグループ化パターン情報としてＮＵＬＬタイプを示す値、例えば「１５」が記録されているため、当該ボクセルに対応するデータの実体は統合画像３６２には含まれていない。したがって、位置（ｘ＿ｄｉｆ， ｙ＿ｄｉｆ）に対応づけられた領域３７６ａの左上の座標（Ｘ１，Ｙ１）、位置（ｘ＿ｄｉｆ， ｙ＿ｄｉｆ＋１）に対応づけられた領域３７８ａの左上の座標（Ｘ３，Ｙ３）、位置（ｘ＿ｄｉｆ＋１， ｙ＿ｄｉｆ＋１）に対応づけられた領域３８０ａの左上の座標（Ｘ４，Ｙ４）が有効なインデックス情報となる。
【００９５】
図１６は図１４のＳ９０において、参照画像のデータと差分画像のデータを統合し、参照情報３６４と圧縮された統合画像３６６を１つずつ生成する処理を説明するための図である。参照画像と差分画像をまとめた統合画像３６６は、ＮＵＬＬタイプを除いて、[差分画像の４つのボクセルデータ］［それに対応する参照画像の１つのボクセルデータ］を１つの格納単位として、所定サイズの画像平面にラスタ順に並べた構成とする。したがって図１５において差分画像の統合画像３６２で領域３７６ａ、３７８ａ、３８０ａに配置された３つのボクセル画像、参照画像の統合画像３５６で領域３７２ａに配置された１つのボクセル画像は、統合後の画像３６６において、領域３７６ｂ、３７８ｂ、３８０ｂ、３７２ｂなる連結した領域にそれぞれ配置される。
【００９６】
このように格納単位をまとめた場合、差分画像の最初のボクセル画像の位置のみ明示すれば、その他のボクセル画像の位置はそこからのオフセット値で表現できる。そこで統合後の参照情報３６４は、まず差分画像の左上のボクセルの位置（ｘ＿ｄｉｆ， ｙ＿ｄｉｆ）に対応づけて、領域３７６ｂの左上の座標（Ｘ５，Ｙ５）、グループ化パターン情報３０４、ゲイン情報３０６を、通常通り記録する。そしてその他のボクセルについては、ＮＵＬＬタイプを除き、座標（Ｘ５，Ｙ５）からのオフセット値を、インデックス情報として記録する。
【００９７】
図６で示したように各ボクセル画像は縦方向が８画素、横方向が８画素の倍数の幅を有する。したがってボクセル画像の左上の座標は常に８の倍数となる。そこでその倍率をオフセット値として記録する。これによりインデックス情報に必要なデータ領域のサイズを圧縮できる。これを利用し、差分画像における残りの３つのボクセルに本来対応づけられる３２ビットの参照情報内に参照画像の参照情報を埋め込む。
【００９８】
そのため図１６の参照情報３６４において、３つのボクセルの位置（ｘ＿ｄｉｆ＋１，ｙ＿ｄｉｆ）、（ｘ＿ｄｉｆ，ｙ＿ｄｉｆ＋１）、（ｘ＿ｄｉｆ＋１，ｙ＿ｄｉｆ＋１）にそれぞれ対応する参照情報は、自身の参照情報３９０に、参照画像の対応するボクセルの参照情報を３９２を接続した構造を有する。ここで（ｏｆｆ  Ｘ１，ｏｆｆ  Ｙ１）、（ｏｆｆ  Ｘ２，ｏｆｆ  Ｙ２）、（ｏｆｆ  Ｘ３，ｏｆｆ  Ｙ３）は、差分画像の各ボクセルのオフセット値である。ただし同図の場合、（ｏｆｆ  Ｘ１，ｏｆｆ  Ｙ１）はＮＵＬＬタイプのため無効である。（ｏｆｆ  Ｘｒｅｆ，ｏｆｆ  Ｙｒｅｆ）は参照画像のボクセルのオフセット値である。
【００９９】
なお参照画像の参照情報３９２は、差分画像の３つのボクセルに対し同じ情報を記録する。これにより、差分画像のどのボクセルに対応する画像が必要な場合でも、格納単位に属する４つのボクセルのうち最初のボクセルに対応する参照情報を含め、最大２回の参照情報の読み出し処理で、参照画像、差分画像の必要な画素の位置を特定することができる。図１６に示すように、Ｘ方向のオフセット値を５ビット、Ｙ方向のオフセット値を３ビットとすると、データ構造によらず参照情報を常に３２ビット以内で構成することができる。したがって、参照画像と差分画像を分けない場合と同様、ＲＧＢＡ画像のデータ構造をそのまま利用して、参照情報を画像として扱える。
【０１００】
なお１つの格納単位に属する最大５つのボクセル画像は、基本的には横１行に格納するが、参照情報のうち縦方向のオフセット値を利用して縦方向の位置を指定することにより、複数行に分割してもよい。また１つのボクセル画像の途中で統合画像の右端に到達した場合は、残りの部分をその直下の行に配置する。表示時には、インデックス情報およびグループ化パターン情報に基づきその旨が判明したら当該残りの部分のみ縦方向のオフセット値に１を加えて読み出す、といった規則をあらかじめ設定しておく。
【０１０１】
この態様により圧縮されたデータを用いた画像表示は、基本的には図１１の制御部１００ｂを含む画像処理装置を用いて、図１２に示した手順と同様に実現できる。ただしＳ６６においては参照画像と差分画像のボクセル画像をセットで読み出す。またＳ６８でボクセルデータをデコードした後、差分画像についてはゲイン情報に基づき、圧縮時に画素値に乗算した値の逆数を乗算して画素値を復元する。ＮＵＬＬタイプのボクセルデータは全画素値を０とする。またＳ７２において画像を復元する際は、デコードした画素の配置を元の位置に戻したあと、参照画像については縦方向、横方向に２倍に拡大する。そして差分画像を加算することによって元の画像を生成する。
【０１０２】
これまでの説明において処理対象とした動画データは、各時刻に対してフレームを１つとしていたが、各時刻の画像を異なる解像度で表す複数のフレーム列で構成してもよい。そしてユーザの視点移動要求に応じて用いるフレーム列を切り替えるようにすると、動画像でありながら解像度の可変範囲を格段に広げることができる。このとき複数の解像度のフレーム列を、解像度順に階層化してなる階層構造とする。以後、このような階層構造を有する動画像データを「階層データ」とも呼ぶ。
【０１０３】
図１７は動画像を階層データとする場合のデータ構造を概念的に示している。階層データは、図の上から下へ向かうｚ軸方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６からなる階層構造を有する。なお同図においては４階層のみ示しているが、階層数はこれに限定されない。上述のとおり各階層は１つの動画像を異なる解像度で表したフレームを時系列順に並べたフレーム列で構成される。同図においては各階層を４枚のフレームで象徴的に表しているが、フレームの数は動画像の再生時間やフレームレートによって当然異なる。
【０１０４】
階層データは例えば４分木の階層構造を有し、第０階層３０は１個のタイル画像、第１階層３２は２×２個のタイル画像、第２階層３４は４×４個のタイル画像、第３階層は８×８個のタイル画像、などとする。このとき第Ｎ階層の解像度（Ｎは０以上の整数）は、画像平面上で左右（ｘ軸）方向、上下（ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２となる。階層データは、最高解像度をもつ第３階層３６の動画像をもとに、各フレームを複数段階に縮小するなどして生成することができる。
【０１０５】
動画表示時の視点座標およびそれに対応する表示領域は、図１７に示すように、画像の左右方向を表すｘ軸、上下方向を表すｙ軸、解像度を表すｚ軸からなる仮想的な３次元空間で表すことができる。なお各階層はそれぞれが動画像を表すフレーム列で構成されるため、実際に表示される画像は表示が開始されてからの時間にも依存し、同図では階層ごとに時間軸ｔを表している。
【０１０６】
画像処理装置１０は、基本的には時間軸ｔに沿っていずれかの階層のフレーム列を所定のフレームレートで順次描画していく。例えば第０階層３０の解像度の動画像を基準画像として表示する。その過程で入力装置２０から表示領域移動要求信号が供給されたら、当該信号から表示画像の変更量を導出し、その変更量を用いて次のフレームの、仮想空間における４隅の座標（フレーム座標）を導出する。そして当該フレーム座標に対応する画像フレームを描画する。この際、ｚ軸に対し階層の切り替え境界を設けておくことにより、フレーム座標のｚの値に応じて適宜、フレーム描画に用いる動画データの階層を切り替える。
【０１０７】
例えば表示画像に求められる解像度が、第１階層３２と第２階層３４の間の切り替え境界と、第２階層３４と第３階層３６の間の切り替え境界の間にある場合に、第２階層３４の画像データを利用して表示領域を描画する。第１階層３２と第２階層３４の間の切り替え境界と、第２階層３４の間の解像度では、第２階層３４の画像フレームを縮小して表示する。第２階層３４と第３階層３６の間の切り替え境界と、第２階層３４の間の解像度では、第２階層３４の画像フレームを拡大して表示する。
【０１０８】
階層データは、上述と同様にタイル画像列単位で圧縮して圧縮データとする。ただしこの場合、タイル画像列の圧縮データは、画像平面上の位置のみならず、解像度方向の位置とも対応づけておく。
【０１０９】
このような階層データを用いて、表示中の動画の表示領域の移動要求を拡大縮小を含めて受け付ける場合、本実施の形態のデータ圧縮技術を適用すると、必要なタイル画像の圧縮データのみをロードし、必要な領域のみをデコードすればよくなる。そのため画像全体をロードしたりデコードしたりするのと比較し、ロード処理、デコード処理のコスト、転送コスト、メモリコストの無駄を省くことができる。例えば第３階層３６のデータを用いて画像表示を行う場合、表示領域はそのごく一部となるため、上記コストの節約効果が特に高い。結果として、表示する解像度によらず常に同じコストで処理を進捗させることができ、円滑な動画表示を行える。
【０１１０】
また階層データを用いて動画像を表示中、視点移動要求によって用いる階層を切り替える場合、それまでデコード対象とされていなかった切り替え後の階層に対して次の時刻のデータを瞬時に取得する必要がある。本実施の形態の圧縮データは４フレームごとなど所定のフレーム数ごとに独立した圧縮データであるため、時間方向のランダムアクセス性にも優れ、このような階層切り替えをシームレスに行える。
【０１１１】
動画像をこのような階層データとした場合、ある階層の画像を参照画像としてその下の階層の画像を差分画像のみとすることもできる。つまり上の階層の画像を拡大して加算することにより下の階層の解像度の表示画像を生成する。例えば第３階層３６を差分画像とし、第２階層３４の画像を参照画像として利用すれば、データサイズは格段に小さくなる。この場合、差分画像については上述のように、ゲイン情報を参照情報に含めたりＮＵＬＬタイプのデータを導入したりする。一方、参照画像／差分画像の圧縮データの統合は行わないことにより、第２階層３４を独立して復号できるようにできる。差分画像の階層の表示に必要な参照画像の階層を参照情報に含めておくことにより、直上の階層以外の階層でも参照画像とすることができる。
【０１１２】
さらにある階層のデータを、上述のように参照画像と差分画像で統合した圧縮データとしてもよい。この場合、この圧縮データに含まれる参照画像は、直上の階層の画像と同じであるため、この直上の階層の解像度を表示する際には、統合されたデータの一部を抽出することにより流用できる。差分画像を保持する階層が下層になるほど、またそのような階層が増えるほど、データの圧縮率を高めることができる。画質とデータ圧縮率はトレードオフの関係にあるため、画像処理装置に求められる画質、圧縮率のバランスに応じて、差分画像とする階層、参照画像と差分画像を統合するか否か、を決定する。同様の構成でミップマップを実現してもよい。
【０１１３】
以上述べた本実施の形態によれば、動画像を構成するフレームを所定のサイズで分割してなるタイル画像列を時間方向、空間方向にさらに分割したボクセルの単位で圧縮処理を行う。その際、ボクセルに属する時間方向のフレームを２次元平面に展開したボクセル画像を連結させてタイル画像ごとに１つの統合画像を生成し、それを圧縮する。このように圧縮対象を画像とすることにより、従来の画像圧縮技術を利用できる。例えばＳ３ＴＣのデコード用ハードウェアを利用することにより、表示に必要な時刻および画像領域のデータのみを容易に読み出し、デコードすることができる。
【０１１４】
結果として、空間方向および時間方向におけるランダムアクセスを、安価かつ容易に実現できる。また部分的なデータのみをデコード対象とできるため、ロード処理やデコード処理のコストが軽減されるうえ、画像をメモリ上に展開する必要がなくなるため、メモリコストも軽減される。
【０１１５】
従来の動画圧縮技術では、動画をビデオテクスチャとしてマッピングした画像を表示する際、そのテクスチャ領域がごく僅かであったり、ユーザの操作やゲームの進捗で画角から外れても、次の表示に備えて表示されない動画をデコードし続ける必要があった。本実施の形態では実際の表示面積に応じた分のデータのみを処理すればよいため、処理効率を格段に向上させることができる。したがって、スタジアムの広告看板、ディスプレイ、空、遠くの風景など、ゲームや映像の背景として動画を合成させたい場合などには特に効果的である。
【０１１６】
さらに圧縮対象となる統合画像を構成するボクセル画像は、冗長性に鑑み可能な限り空間方向、時間方向に縮小しておく。また１つのボクセル画像内には類似の画像領域が存在するという特性を利用して、画素値の近い画素が１つの領域にまとまり量子化誤差が小さくなるようなパターンで画素をグループ化して再配置する。これらの処理により、実際の画像に応じて圧縮率を向上させるとともに画像の劣化を抑えることができる。また表示に必要な画素の、統合画像上の位置を求めるための参照情報をボクセルごとに記録する。当該参照情報を３２ビットなどとすることにより、参照情報自体を画像のデータ構造で保持することができる。
【０１１７】
また各タイル画像列を、それを縮小した参照画像と、参照画像の圧縮データをデコードした画像と元のタイル画像との差を表す差分画像とに分けて圧縮し、統合したうえで圧縮データとしてもよい。この場合、２つの画像上の同じ領域を表すボクセル画像をセットとして連結する。さらに差分画像の参照情報のデータ領域に、同じセットの参照画像の参照情報を埋め込む。これらのことにより、少ない読み出し回数で表示画像の生成が可能になるとともに、高い圧縮率で画質の劣化の少ない動画表示を実現できる。
【０１１８】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１１９】
例えば動画に限らず、相互に冗長性があるような画像列を圧縮対象としてもよい。例えばカメラアレイを用いて撮影されたデータ（Light Fieldデータ）においては、隣接するカメラの撮影画像間に冗長性が期待できる。よって、複数の撮影画像を時間軸上に配置した動画として、効率的な圧縮が期待できる。また、見える角度によって表示するテクスチャ画像を変更する技術（View Dependent Texture）にも応用可能である。すなわち、表示される可能性のある画像を時間軸上に配置した動画として圧縮し、レンダリング時には任意の画像をランダムアクセスして表示する。
【符号の説明】
【０１２０】
１０  画像処理装置、  １２  表示装置、  ２０  入力装置、  ４４  表示処理部、  ５０  ハードディスクドライブ、  ６０  メインメモリ、  １００  制御部、  １２０  タイル画像列生成部、  １２２  画像圧縮部、  １２８  圧縮データ生成部、  １３０  動画データ記憶部、  １３２  グループ化パターン記憶部、  １３４  圧縮データ記憶部、１４０  処理単位形成部、  １４２  縮小部、  １４４  平面展開部、  １４６  再配置部、  １４８  圧縮部、  ５０２  入力情報取得部、  ５０４  情報処理部、  ５０６  ロード部、  ５０８  表示画像処理部、  ５１０  データ特定部、  ５１２  デコード部、  ５１４  描画部、  ３２０  タイル画像列生成部、  ３２２  参照画像圧縮部、  ３２４  差分画像生成部、  ３２６  差分画像圧縮部、  ３２８  圧縮データ生成部。
【図１】
2014064142.tif 000003
【図２】
2014064142.tif 000004
【図３】
2014064142.tif 000005
【図４】
2014064142.tif 000006
【図５】
2014064142.tif 000007
【図６】
2014064142.tif 000008
【図７】
2014064142.tif 000009
【図１０】
2014064142.tif 000010
【図１１】
2014064142.tif 000011
【図１２】
2014064142.tif 000012
【図１３】
2014064142.tif 000013
【図１４】
2014064142.tif 000014
【図１５】
2014064142.tif 000015
【図１６】
2014064142.tif 000016
【図１７】
2014064142.tif 000017
【図８】
2014064142.tif 000018
【図９】
2014064142.tif 000019