動画データ生成装置、動画像表示装置、動画データ生成方法、動画像表示方法、および動画像ファイルのデータ構造
【課題】データサイズを抑えながら表示領域移動が可能な動画像を表示する。
【解決手段】動画像のフレームを複数の解像度で表す階層構造とする。第0階層30、第1階層32、第2階層34、第3階層36の順で解像度が大きいとすると、時刻t1のフレームを表す階層データでは、第0階層30および第2階層34を元画像階層とし、第1階層32および第3階層36を差分画像階層とする。この場合、第3階層36の解像度で領域124aを表示する場合は、第3階層36が保持する領域124aの差分画像に、第2階層34が保持する、対応する領域126aの画像を第3階層36の解像度まで拡大して各画素値を加算する。時刻の経過(t2、t3、・・・)とともに差分画像階層とする階層を切り替える。
【解決手段】動画像のフレームを複数の解像度で表す階層構造とする。第0階層30、第1階層32、第2階層34、第3階層36の順で解像度が大きいとすると、時刻t1のフレームを表す階層データでは、第0階層30および第2階層34を元画像階層とし、第1階層32および第3階層36を差分画像階層とする。この場合、第3階層36の解像度で領域124aを表示する場合は、第3階層36が保持する領域124aの差分画像に、第2階層34が保持する、対応する領域126aの画像を第3階層36の解像度まで拡大して各画素値を加算する。時刻の経過(t2、t3、・・・)とともに差分画像階層とする階層を切り替える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像のデータを生成する動画データ生成装置、動画像を表示する動画像表示装置、およびそれらで実現される動画データ生成方法、動画像表示方法に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
高精細な画像をユーザの要求に従い応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目したい領域を拡大して表示させたり別の領域に表示を移動させたり、といった、ユーザの視点に対し自由度のある画像表示を応答性よく実現するためには、サイズの大きな画像データを短時間で処理しつつランダムアクセスをも可能にしなければならず、さらなる技術の進歩が求められている。
【0006】
本発明はこのような課題に鑑みてなされたものであり、その目的は、データサイズを抑えながら、ユーザによる表示領域に係る操作入力に対し応答性よく高精細な動画像を表示することのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様は動画データ生成装置に関する。この動画データ生成装置は、動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成装置であって、各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成したうえ、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する階層データ生成部と、階層データ生成部が生成した階層動画データを圧縮符号化し記憶装置に格納する圧縮データ生成部と、を備えたことを特徴とする。
【0008】
本発明の別の態様は動画像表示装置に関する。この動画像表示装置は、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを格納した動画データ記憶部と、表示中の動画における表示領域の移動要求信号を逐次取得する入力情報取得部と、入力情報取得部が取得した移動要求信号によって定まる要求解像度に応じて、階層動画データのうち用いる階層を切り替えながら、移動要求信号に応じた表示画像を画像フレームごとに生成する表示画像処理部と、を備え、階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示画像処理部は、表示に用いるデータが差分画像のデータであった場合に、別階層の画像を拡大して加算することにより画像を復元することを特徴とする。
【0009】
本発明のさらに別の態様は動画データ生成方法に関する。この動画データ生成方法は、動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成方法であって、一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出すステップと、各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成するステップと、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成するステップと、階層動画データを圧縮符号化し記憶装置に格納するステップと、を含むことを特徴とする。
【0010】
本発明のさらに別の態様は動画像表示方法に関する。この動画像表示方法は、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始するステップと、表示中の動画における表示領域の移動要求信号を逐次取得するステップと、移動要求信号によって定まる要求解像度に応じて、階層動画データのうち用いる階層を切り替えながら、移動要求信号に応じた表示画像を画像フレームごとに生成するステップと、生成した表示画像を表示装置に表示するステップと、を含み、階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示画像を生成するステップは、表示に用いるデータが差分画像のデータであった場合に、別階層の画像を拡大して加算することにより画像を復元するステップを含むことを特徴とする。
【0011】
本発明のさらに別の態様は動画像ファイルのデータ構造に関する。このデータ構造は、表示装置に表示するための動画像ファイルのデータ構造であって、ユーザによる表示領域に係る操作入力によって定まる解像度の範囲と、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなり、解像度の範囲に応じて階層を切り替えて用いられる階層データであり、少なくとも1つの階層の画像のデータが、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示時に当該別階層の画像を拡大して加算することにより画像を復元する階層データと、を対応づけたことを特徴とする。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によると、ユーザの表示領域に係る操作入力に対し円滑に応答できる動画像表示を実現できる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態に適用できる画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成例を示す図である。
【図3】本実施の形態において処理対象とする動画像の階層データを概念的に示す図である。
【図4】本実施の形態において画像処理装置の構成を示す図である。
【図5】本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部の構成を詳細に示す図である。
【図6】本実施の形態において階層構造を有する動画像データのうち一部の階層を差分画像で表した様子を模式的に示す図である。
【図7】本実施の形態において元画像階層と差分画像階層の割り当てを切り替える態様を説明するための図である。
【図8】本実施の形態における元画像階層と差分画像階層の割り当てスケジュール例を示す図である。
【図9】本実施の形態における元画像階層と差分画像階層の割り当てスケジュール例を示す図である。
【図10】本実施の形態における元画像階層と差分画像階層の割り当てスケジュールの別の例を示す図である。
【図11】本実施の形態における元画像階層と差分画像階層の割り当てスケジュールの別の例を示す図である。
【図12】本実施の形態において動画像のフレームの順をそのまま動画ストリームのデータ順とする場合の動画ストリームの構成を示す図である。
【図13】本実施の形態においてフレーム列から同じ種類のフレームのデータを抽出してまとめて圧縮する場合の動画ストリームの構成を示す図である。
【図14】本実施の形態において複数の階層の同じ領域を表すタイル画像のデータをまとめて圧縮する場合の動画ストリームの構成を示す図である。
【図15】本実施の形態において、圧縮動画データ生成機能を有する制御部およびハードディスクドライブの構成を詳細に示す図である。
【図16】本実施の形態において圧縮動画データを生成する装置が動画像の圧縮データを生成する処理手順を示すフローチャートである。
【図17】本実施の形態において画像を表示する装置が動画像を表示するための処理手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
本実施の形態では動画像表示において、ユーザの視点移動要求に対応した表示領域の移動を可能にする。ここでの視点移動は、画像平面へ視点を近づけたり離したりすることを含み、それに応じて動画像は、再生されつつ拡大および縮小されることになる。このような態様において、ユーザの操作に対し応答性よく円滑に、要求された領域の動画を表示していくことは、解像度の可変範囲を広げるほど、また、画像サイズが大きくなるほど、困難になってくる。
【0016】
そこで本実施の形態では表示対象の動画像のデータを、動画フレームを複数の解像度で表し解像度順に階層化してなる階層構造とする。また各階層におけるフレームを画像平面で空間分割した単位で動画ストリーム形成する。そして表示領域の移動に応じ、表示に使用する階層および動画ストリームを切り替えることで良好な応答性を得る。以後、このような階層構造を有する動画像データを「階層データ」とも呼ぶ。
【0017】
まず、このような階層データの基本的な表示態様について説明する。図1は、本実施の形態を適用できる画像処理システム1の使用環境を示す。画像処理システム1は、画像処理ソフトウェアを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【0018】
表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、動画像データをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。
【0019】
画像処理装置10は、たとえばゲーム装置やパーソナルコンピュータであってよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。画像処理装置10は、ユーザからの視点移動要求に応じて、表示装置12のディスプレイに表示する動画像の拡大/縮小処理や、上下左右方向へのスクロール処理などを行う。以後、このような拡大/縮小を含めた表示領域の変更を「表示領域の移動」と表現する。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示領域移動要求信号を画像処理装置10に送信する。
【0020】
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
【0021】
画像処理システム1において、入力装置20の操作手段には、表示画像の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。
【0022】
また、スクロール要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、表示領域移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
【0023】
入力装置20は、入力された表示領域移動要求の信号を画像処理装置10に伝送する機能をもち、本実施の形態では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、表示領域移動要求の信号を画像処理装置10に伝送してもよい。
【0024】
また入力装置20は図2に示したものに限らず、ユーザが操作するキーボード、タッチパネル、ボタン、対象物の像を撮影するカメラ、音声を取得するマイクなど、ユーザの意思や対象物の動きなどを電子的な情報として取得できるインターフェースであればその種類や外観は限定されない。
【0025】
図3は、本実施の形態において処理対象とする動画像の階層データを概念的に示している。階層データは、図の上から下へ向かうz軸方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。上述のとおり各階層は1つの動画像を異なる解像度で表した動画データ、すなわち複数の画像フレームを時系列順に並べたデータで構成される。同図においては各階層を4枚の画像フレームで象徴的に表しているが画像フレームの数は動画像の再生時間やフレームレートによって当然異なる。
【0026】
階層データは例えば4分木の階層構造を有し、各階層を構成する画像フレームを同一サイズを有する「タイル画像」に分割した場合、第0階層30は1個のタイル画像、第1階層32は2×2個のタイル画像、第2階層34は4×4個のタイル画像、第3階層は8×8個のタイル画像、などとなる。このとき第N階層の解像度(Nは0以上の整数)は、画像平面上で左右(x軸)方向、上下(y軸)方向ともに、第(N+1)階層の解像度の1/2となる。階層データは、最高解像度をもつ第3階層36の動画像をもとに、画像フレームを複数段階に縮小するなどして生成することができる。
【0027】
動画表示時の視点座標およびそれに対応する表示領域は、図3に示すように、画像の左右方向を表すx軸、上下方向を表すy軸、解像度を表すz軸からなる仮想的な3次元空間で表すことができる。なお上述のとおり本実施の形態では複数の画像フレームが連なる動画像データを階層として準備するため、実際に表示される画像は再生が開始されてからの時間にも依存し、同図では階層ごとに時間軸tを表している。
【0028】
画像処理装置10は、基本的には時間軸tに沿っていずれかの階層の画像フレームを所定のフレームレートで順次描画していく。例えば第0階層30の解像度の動画像を基準画像として表示する。その過程で入力装置20から表示領域移動要求信号が供給されたら、当該信号から表示画像の変更量を導出し、その変更量を用いて次のフレームの、仮想空間における4隅の座標(フレーム座標)を導出する。そして当該フレーム座標に対応する画像フレームを描画する。この際、z軸に対し階層の切り替え境界を設けておくことにより、フレーム座標のzの値に応じて適宜、フレーム描画に用いる動画データの階層を切り替える。
【0029】
なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0030】
画像処理装置10において、階層データは、タイル画像の単位で圧縮された状態で保持されている。そしてフレーム描画に必要なデータが読み出されてデコードされる。なお図3は階層データを概念的に表したものであり、データの格納順やフォーマットを限定するものではない。例えば階層データの仮想空間における位置およびフレーム番号と実際の動画データの格納領域とが対応づけてあれば、動画データは任意の領域に格納することができる。
【0031】
図4は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0032】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、画像サーバから動画データを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された表示領域移動要求の信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0033】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。動画データはハードディスクドライブ50に格納されてもよい。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。動画データはこれらの記録媒体に格納されていてもよい。
【0034】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。制御部100はさらにGPU(Graphics Processing Unit)を備えていてもよい。
【0035】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0036】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0037】
画像処理装置10は、表示画像の拡大/縮小処理やスクロール処理をスムーズに行うために、現在表示されているフレームに対し空間的、時間的に近接した動画データを逐次、ハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした動画データの一部をデコードしてバッファメモリ70に格納しておく。これにより、動画再生を進捗させつつ表示領域を円滑に移動させることが可能となる。このときロードやデコードの対象となるデータは、それまでの表示領域の移動方向に基づき、以後、必要となる領域を先読みすることによって決定してもよい。
【0038】
図3に示す階層データにおいて、z軸方向における位置は解像度を示し、第0階層30に近い位置ほど解像度が低く、第3階層36に近い位置ほど解像度は高い。ディスプレイに表示される画像の大きさに注目すると、z軸方向における位置は、縮尺率に対応し、第3階層36の表示画像の縮尺率を1とすると、第2階層34における縮尺率は1/4、第1階層32における縮尺率は1/16、第0階層30における縮尺率は1/64となる。
【0039】
したがってz軸方向において、表示画像が第0階層30側から第3階層36側へ向かう方向に変化する場合、表示画像は拡大していき、第3階層36側から第0階層30側へ向かう方向に変化する場合は、表示画像は縮小していく。例えば表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は、第2階層34の動画データを用いて作成される。
【0040】
具体的には上述のとおり、各階層の中間の縮尺率などにそれぞれ切り替え境界を設ける。例えば表示する画像の縮尺率が、第1階層32と第2階層34の間の切り替え境界と、第2階層34と第3階層36の間の切り替え境界の間にある場合に、第2階層34の画像データを利用してフレームを描画する。このとき、第1階層32と第2階層34の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを縮尺して表示する。第2階層34と第3階層36の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを拡大して表示する。
【0041】
一方、表示領域移動要求信号から予測される将来必要な領域を特定してデコードする場合は、各階層の縮尺率などを先読み境界として設定しておく。例えば、表示領域移動要求信号による要求縮尺率が第2階層34の縮尺率をまたいだときなどに、縮小方向にある第1階層32の動画データの少なくとも一部をハードディスクドライブ50またはメインメモリ60から先読みしてデコードし、バッファメモリ70に書き込む。
【0042】
画像の上下左右方向の先読み処理についても同様である。具体的には、バッファメモリ70に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。このようにすることで、ユーザの表示領域移動の要求に応じ、円滑に解像度および表示位置を変化させつつ動画再生も進んでいく態様を実現できる。
【0043】
図5は本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部100aの構成を詳細に示している。制御部100aは、入力装置20からユーザが入力した情報を取得する入力情報取得部102、新たに表示すべき領域のフレーム座標を決定するフレーム座標決定部110、新たにロードすべき領域の動画データを決定するロード領域決定部106、必要な領域の動画データをハードディスクドライブ50からロードするロード部108を含む。制御部100aはさらに、動画データをデコードするデコード部112、および画像フレームを描画する表示画像処理部114を含む。
【0044】
図5および後述する図15において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0045】
入力情報取得部102は、ユーザが入力装置20に対して入力した、動画再生の開始/終了、表示領域の移動などの要求内容を取得し、フレーム座標決定部110に通知する。フレーム座標決定部110は、現在の表示領域のフレーム座標とユーザが入力した表示領域移動要求信号に従い、後続のフレーム表示時刻で新たに表示すべき領域のフレーム座標を決定し、ロード領域決定部106、デコード部112、表示画像処理部114に通知する。
【0046】
ロード領域決定部106は、フレーム座標決定部110から通知されたフレーム座標に基づき、ハードディスクドライブ50から新たにロードすべき動画データを特定し、ロード部108にロード要求を発行する。本実施の形態では上述のとおり、各階層のフレーム列を、タイル画像単位で独立した動画ストリームとする。結果として基本的に、階層ごとにタイル画像の個数分の動画ストリームが形成される。あるいは後述するように、複数階層の同じ領域を示すデータや複数のタイル画像を1つの動画ストリームに混在させてもよい。
【0047】
動画データには、タイル画像の階層および位置を表す識別番号と、動画ストリームデータ本体の識別番号とを対応づけた情報を付加しておき、動画再生開始時にメインメモリ60にロードしておく。ロード領域決定部106はフレーム座標に基づきその情報を参照し、必要な領域の動画ストリームの識別番号を取得する。そして該当する動画ストリームのデータがロード済みでなければ、ロード部108にロード要求を発行する。またフレーム座標が変化しない場合であっても、動画の進捗に応じて逐次、必要な動画ストリームのデータがロードされるように要求する。動画ストリームを時間方向に分割しておき、分割後の単位でロードするようにしてもよい。
【0048】
ロード領域決定部106は、その時点のフレーム描画に必要な動画ストリームの他、以後必要と予測される動画ストリームを先に述べた先読み処理などにより特定し、ロード部108にロード要求を発行してよい。ロード部108は、ロード領域決定部106からの要求に従い、ハードディスクドライブ50からの動画ストリームのロード処理を行う。具体的にはロードすべき動画ストリームの識別番号からハードディスクドライブ50における格納領域を特定し、当該格納領域から読み出したデータをメインメモリ60に格納する。
【0049】
デコード部112は各時刻のフレーム座標に基づき、メインメモリ60から必要な動画ストリームのデータを読み出しデコードし、バッファメモリ70に逐次格納していく。デコード対象は動画ストリーム単位でよく、フレーム座標決定部110が決定したフレーム座標の領域が複数の動画ストリームにまたがる場合は当該複数の動画ストリームをデコードしていく。
【0050】
本実施の形態では後述するように、階層データのうち一部の階層のデータを、それより上層の階層の拡大画像との差分値を表す差分画像で保持することにより、階層データのデータサイズを小さくする。そのためデコード部112はさらに、デコードした画像が差分画像であった場合、差分をとるために用いた上層の階層の画像をデコードし、拡大したうえデコード後の差分画像に加算することにより本来の画像データに戻してバッファメモリ70に格納する。表示画像処理部114は、各時刻のフレーム座標に基づきバッファメモリ70から対応するデータを読み出し、表示処理部44のフレームメモリに描画していく。
【0051】
一つの動画再生中に拡大縮小を含め表示領域の移動を許す態様においては、全ての動画ストリームが時間軸を共有し、利用される動画ストリームが切り替えられたか否かに関わらずシームレスにフレーム描画が進捗することが望ましい。そこで上述のとおり、一度の表示に必要な領域やその後に必要と予測される動画ストリームを優先的にロード、デコードし、フレーム描画までに必要な処理の効率を向上させる。また後述するように動画ストリームの構成を工夫することにより、どのタイミングで表示に用いる動画ストリームが切り替えられても、少ないレイテンシでフレーム表示が開始されるようにする。
【0052】
以上述べた構成とすることで、1フレームがギガピクセルのオーダーを有するような大きなサイズの動画像であっても、全体を見渡したり一部の領域を拡大したり、といったことを自由かつ円滑に行える。さらに動画像を階層構造で準備しておくことで、ディスプレイの解像度や表示サイズ、装置の処理性能などに応じて適切な階層を選択することにより、表示装置によらず同様の外観で動画像を表示できる。
【0053】
ここで動画像の階層データに含まれる異なる階層の同時刻の画像は、解像度が異なるもののその内容は同じであるため、階層データは常に階層間に冗長性をもつという性質がある。そこで本実施の形態では上述のように、一部の階層のデータを、それより高階層の画像を拡大した画像との差分画像のデータとする。上記階層データの性質に鑑みれば、階層間で差分をとることにより、データサイズを著しく軽減させることができる。
【0054】
図6は階層構造を有する動画像データのうち一部の階層を差分画像で表した様子を模式的に示している。同図の例では、第0階層30および第2階層34が本来の画像データを保持し、第1階層32と第3階層36が差分画像のデータを保持しており、本来の画像データを白抜き、差分画像のデータを網掛けで表している。以後の説明では、本来の画像データを保持する階層を「元画像階層」、差分画像のデータを保持する階層を「差分画像階層」と呼ぶ。
【0055】
ここで第3階層36の解像度で領域120を表示する場合は、第3階層36が保持する領域120の差分画像に、第2階層34が保持する、対応する領域122の画像を第3階層36の解像度まで拡大して各画素値を加算する。同図の場合、第3階層36の解像度は第2階層34の2×2倍であるため、領域122の画像を2×2倍する。拡大にはニアレストネイバー法、バイリニア法、バイキュービック法など一般的な補間手法を採用してよい。
【0056】
このようなデータ構成とすることにより全体的なデータサイズを軽減できるほか、表示に至るまでにデータが通過する伝送経路、すなわち画像処理装置10における内部バスや、画像サーバと接続するネットワークなどにおいて必要な帯域幅を抑えることができる。これは、表示したい解像度の本来の画像のデータサイズと比較し、当該解像度の差分画像のデータとそれより解像度の低い階層の本来の画像のデータとを足し合わせたデータサイズの方が小さくなるためである。
【0057】
図6の例では、元画像階層と差分画像階層の割り当てを固定としていた。この場合、上記のように差分画像階層の解像度で画像を表示するときはビットレートが小さくなるため、データの伝送に要する帯域幅を節約できる。一方、元画像階層の解像度で画像を表示している期間においては、差分画像階層を設けない場合と同じビットレートとなり、帯域幅削減の効果が得られない。どの階層を用いた解像度でも変わりなく円滑な表示を行うためには、最大ビットレートに合わせた帯域幅を確保する必要があるため、このような態様では確保すべき帯域幅を軽減することにはつながりにくい。
【0058】
そこで、元画像階層と差分画像階層の割り当てを所定の規則で切り替えることによりビットレートを平均化し、切り替え期間より長いスパンでみたときの伝送データサイズを抑えて転送に必要な帯域幅を軽減させる。図7は元画像階層と差分画像階層の割り当てを切り替える態様を説明するための図である。同図において横軸が動画像上の時間軸を示しており、時刻t1、t2、t3のときの各フレームのみからなる階層データの構成をそれぞれ示している。
【0059】
まず時刻t1のフレームを表す階層データでは、第0階層30および第2階層34を元画像階層とし、第1階層32および第3階層36を差分画像階層としている。この場合、第1階層32の解像度の画像は、第1階層32の差分画像と第0階層30の本来の画像とを加算することによって得られる。また第3階層36の解像度の画像は、第3階層36の差分画像と第2階層34の本来の画像とを加算することによって得られる。
【0060】
時刻t1より後の時刻t2のフレームを表す階層データでは、第0階層30、第1階層32、および第3階層36を元画像階層とし、第2階層34を差分画像階層としている。この場合、第2階層34の解像度の画像は、第2階層34の差分画像と第1階層32の本来の画像とを加算することによって得られる。さらに後の時刻t3のフレームを表す階層データは、時刻t1のときと同じ割り当てとなっている。
【0061】
例えば時刻t1のフレームのうち、第3階層36の解像度で領域124aを表示する場合、領域124aの差分画像のデータと、第2階層34の本来の画像のうち対応する領域126aの画像データとを必要とする。時間の経過とともにフレームが進むと同時に表示領域が移動し、時刻t2のフレームのうち、第3階層36の解像度で領域124bを表示するとする。この場合、第3階層36は本来の画像のデータであるから、当該領域124bのデータのみを必要とする。さらに時間が経過し、時刻t3のフレームのうち、第3階層36の解像度で領域124cを表示する場合、領域124cの差分画像のデータと、第2階層34の本来の画像のうち対応する領域126bの画像データとを必要とする。
【0062】
結果として同図下端に示すように、時刻t1、t2、t3のフレームのうち、第3階層36の解像度で領域124a、124b、124cをそれぞれ表示させるためには、第3階層36の差分画像と第2階層34の本来の画像のセットからなるデータ128a、第3階層36の本来の画像のデータ128b、第3階層36の差分画像と第2階層34の本来の画像のセットからなるデータ128cを順次読み出すことになる。
【0063】
このように元画像階層と差分画像階層を時間的に切り替える構成とすることで、本来の画像のデータ128bのようなサイズの大きいデータが継続して伝送される確率を低くし、単位時間あたりに伝送すべきデータのサイズ、すなわちビットレートを抑えることができる。なお同図では理解を容易にするため、表示対象を第3階層36の解像度に固定したが、表示対象の階層を途中で変化させても同様の効果が得られる。
【0064】
図8から図11は、元画像階層と差分画像階層の割り当てスケジュール例を示している。これらの図において横軸は時間経過を表しており、第0階層、第1階層、第2階層、・・・をそれぞれ「Lv0」、「Lv1」、「Lv2」、・・・とする階層データにおける割り当ての時間変化を、元画像階層の期間を白抜き、差分画像階層の期間を網掛けの矩形で表している。1つの矩形で表される期間には1つ以上のフレームが表示される。
【0065】
図8は階層データ全体に渡り、割り当てを切り替えるタイミングを共有する場合を示している。なお第0階層Lv0はそれより上の階層がないため、常時、元画像階層152とする。以後の例も同様である。図8の例では、時刻T0、T1、T2、T3、T4、T5、T6のタイミングで、1つ以上の階層において切り替えがなされている。すなわち時刻T0からT1の期間において、第0階層Lv0、第2階層Lv2が元画像階層152、156、第1階層Lv1、第3階層Lv3、第4階層Lv4が差分画像階層154、160、162であったものを、時刻T1において、第2階層Lv2を差分画像階層164へ、第3階層Lv3を元画像階層166へ切り替えている。
【0066】
時刻T2では第1階層Lv1および第4階層Lv4を元画像階層168、170へ、第3階層Lv3を差分画像階層172へ切り替えている。時刻T3では第1階層Lv1および第4階層Lv4を差分画像174、176へ、第2階層Lv2を元画像階層178へ切り替えている。このような切り替えを以降の時間でも繰り返す。すると第0階層Lv0を別にすると、元画像階層が各時刻で第1階層Lv1→第2階層Lv2→第3階層Lv3→第4階層Lv4、と切り替わり、それ以外の階層は差分画像階層となる。
【0067】
なお図8で示した態様は、元画像階層となる階層と差分画像階層となる階層の組み合わせが全階層に共通のタイミングで変化すれば、同時期に元画像階層となる階層数、差分画像となる階層数、およびそれらの配置は、同図に示したものでなくてもよい。図8の例では、どの期間においても差分画像階層が上下に連続することになる。例えば時刻T2からT3の期間では、上下に連続した階層、第2階層Lv2および第3階層Lv3が差分画像階層179、172である。
【0068】
このように連続する2つ以上の階層が同時期に差分画像階層となるような割り当てとする場合、常にすぐ上の階層からの差分をとって差分画像としてもよいし、元画像階層まで遡り、本来の画像との差分をとって差分画像としてもよい。前者の場合、すぐ上の階層が元画像階層でない限り、差分画像の差分画像を保持することになるため、元画像階層から階層が下になるほど、画像を元に戻すために必要な階層数および加算処理が増えることになるが、データサイズは小さくなる。
【0069】
後者の場合、画像を元に戻すための階層数および加算処理は一定であるが、元画像階層から階層が下になるほど差分値が大きくなるため、前者と比較しデータサイズが大きくなる。どちらの差分画像とするかは、動画像の内容、表示装置の処理能力、使用できる伝送帯域などに鑑み選択する。また、連続した階層に差分画像階層を割り当てないようにスケジュールを決定してもよい。
【0070】
図8における切り替えの時刻T0〜T6は等間隔としてもよい。この場合、所定のフレーム数ごと、例えば8フレームごとに、少なくともいずれかの階層において切り替えがなされることになる。この場合、差分画像階層をフレーム単位であらかじめ確定できるため、動画表示時に、描画に必要な階層の特定や加算処理の要、不要などを容易に決定でき、制御を単純化できる。
【0071】
あるいは切り替え時刻の少なくともいずれかを、動画像の特性によって決定してもよい。例えばシーンが切り替わるタイミングを動画データに埋め込まれたシーンチェンジ情報を参照して特定し、その前後のフレーム間で切り替える。シーンチェンジ情報に代わり、差分の大きいフレーム間で切り替えてもよい。後述するように、フレーム間予測符号化など圧縮符号化によってフレーム間に依存性をもたせる場合には、時間方向の冗長性が低いフレーム間で切り替えると都合がよい。
【0072】
切り替えのタイミングはこれらの他、データサイズの積算量によって決定してもよい。すなわち、第0階層Lv0以外の階層のうちのいずれかの階層で、切り替え後からのフレームのデータサイズの積算量が所定のしきい値に達したときを次の切り替え時刻とする。画像の大きさは階層によって異なるが、実際に伝送されるデータは階層によらず同程度の数のタイル画像であるため、ここで積算量を算出するデータサイズはタイル画像の面積など、単位面積当たりに換算した値とする。この場合、差分画像はそのデータサイズが小さいため、切り替え時刻は実質的に、元画像階層が保持する本来の画像のデータサイズで決定する。このように実際のデータサイズに基づき切り替え時刻を決定することにより、ビットレートの高いデータの伝送を効率的に分散させることがでる。
【0073】
つまりこのように切り替え時刻を決定するということは、本来の画像のビットレートが高いほど切り替え頻度を高くしていることに他ならない。ビットレートの高いデータを継続して伝送させると帯域に余裕のない状態が続くため、結果として常時円滑な伝送を行うには広い帯域幅が必要となる。上記のとおりビットレートの高い画像ほど切り替えを早くすることにより、帯域に定常的に余裕分を作っておき、当該余裕分を利用してビットレートの高いデータを送信するようにする。
【0074】
またビットレートがそれほど高くなく、本来の画像のデータを伝送する場合でも帯域がすぐに逼迫することのない画像は、切り替え頻度を小さくすることにより画像表示時の処理内容の切り替え頻度を小さくし、制御を容易にする。このようにすることで、より直接的かつ効率的に、伝送に必要な帯域幅を減らすことができる。
【0075】
図9は階層データの階層を区分けしてなるグループごとに切り替えのタイミングを共有する場合を示している。同図の例では、第1階層Lv1と第2階層Lv2、第3階層Lv3と第4階層Lv4、第5階層Lv5と第6階層Lv6というように、上下に位置する2つの階層をそれぞれ1グループ(グループ180a、180b、180c)とし、グループ内で切り替えのタイミングを共有している。そしてグループに属する2つの階層に対し、元画像階層と差分画像階層を交互に割り当てる。
【0076】
例えばグループ180aにおいて、時刻T0からT1の間は、第1階層Lv1が元画像階層182、第2階層Lv2が差分画像階層184、時刻T1からT2の間は逆に、第1階層Lv1が差分画像階層186、第2階層Lv2が元画像階層188、さらに時刻T2からT3の間は第1階層Lv1が元画像階層190、第2階層Lv2が差分画像階層192、・・・というように各切り替え時刻で元画像階層と差分画像階層を入れ替える。その他のグループ180b、180cも同様であるが、切り替え時刻はグループごとに異なってよい。このようにするとどの期間においても、差分画像を元の画像に戻すために必要な元画像階層は、必ず直上のグループに存在することになる。
【0077】
同図の例では、2階層を1グループとしているため、差分画像を元の画像に戻すために必要な元画像階層は、最大でも2つ上の階層までとなる。このように差分画像階層から元画像階層までの階層数を制限することにより、元の画像に戻すために必要なデータへのアクセス処理や、画像の加算処理の負荷を抑えることができる。
【0078】
各グループにおける切り替え時刻は、図8で説明した規則のいずれかをグループごとに選択して決定してよい。例えばデータサイズの積算量によって、グループごとに切り替え時刻を決定する。この場合、単位面積当たりのデータサイズは画像が縮小しているほど大きい傾向を有するため、階層が上のグループほどデータサイズの積算量が早くしきい値に達する。
【0079】
そのため図9に示すように、第1階層Lv1と第2階層Lv2のグループ180aの切り替え頻度が最も高く、続いて第3階層Lv3と第4階層Lv4のグループ180b、第5階層Lv5と第6階層Lv6のグループ180c、というように切り替え頻度が低くなる。このように階層ごとの特質を加味してそれぞれの切り替え時刻を細かく設定することにより、図8で説明したのと同様の原理により、必要な帯域幅をより効率的に減らすことができる。
【0080】
なおデータサイズの積算量に対するしきい値をグループごとに変化させてもよい。例えば画像の内容によって、圧縮符号化時に特定の階層のビットレートを他より高く設定する場合がある。特定の階層とは、他の階層より高い頻度で表示に用いられると予測される階層や、ユーザが指定した階層などである。この場合、当該階層を含むグループのしきい値を、設定するビットレートに応じて小さく設定すれば、実際に伝送されるデータのビットレートに即して切り替え頻度を調整できる。
【0081】
図10は階層データの階層を区分けしてなるグループごとに切り替えのタイミングを共有する場合の別の例を示している。同図の例では、第1階層Lv1と第2階層Lv2、第3階層Lv3と第4階層Lv4と第5階層Lv5、第6階層Lv6と第7階層Lv7をそれぞれグループとしており(それぞれグループ194a、194b、および194c)、グループに属する階層数が異なる。この場合も図9で示したのと同様、グループごとに切り替え時刻を決定する。
【0082】
またグループに属する階層が3つ以上であっても、差分画像階層(例えば差分画像階層198)から元画像階層(例えば元画像階層196、199)までの階層数が制限できるように、割り当てスケジュールを工夫する。具体的には、まずグループ内で、同時期に連続して差分画像階層となる階層の数を最大2Nに制限する。さらに、各グループにおいて、グループの境界から数えて同時期に連続して差分画像階層となる階層の数が最大でもN個となるように制限すれば、当該境界を挟む2つのグループを考慮しても、同時期に連続して差分画像階層となる階層の数は最大2N個となる。
【0083】
例えば図10の場合、グループ内で、連続する複数の階層が同時期に差分画像階層となることはない。また、グループの境界から数えて連続する複数の階層が同時期に差分画像階層となることもない。つまりN=1であり、これにより階層データ全体で見ても、連続して差分画像階層となる階層の数は最大で2N=2となる。差分画像階層から元画像階層までの階層数の最大値2Nは、上述のとおり表示装置における処理の負荷に影響する。したがって表示装置の処理性能に応じて2Nを決定し、それに従い割り当てのスケジューリングを行う。
【0084】
図11は図9、図10の態様において生成した、複数の階層ごとのグループを、さらに画像上の領域ごとにグループ化した場合を示している。すなわち複数の階層の画像を画像上の同じ位置で分割し、同じ部分を表す領域ごとにグループを形成する。同図の例では、第3階層Lv3の画像を領域Lv3_0、Lv3_1、・・・などに分割し、第4階層Lv4の画像を領域Lv4_0、Lv4_1、・・・などに分割している。
【0085】
そして、画像上の同じ部分を表す第3階層Lv3の領域Lv3_0と第4階層Lv4の領域Lv4_0を第0領域、第3階層Lv3の領域Lv3_1と第4階層Lv4の領域Lv4_1を第1領域とすると、第3階層Lv3および第4階層Lv4のうちの第0領域、第1領域といった領域ごとにグループを形成し(グループ200b、200c)、グループ内で切り替えのタイミングを共有する。
【0086】
このように複数の階層を領域ごとにまとめたグループを画像全体について形成する。同図では分割対象として第3階層Lv3および第4階層Lv4のみ示しているが、1つのグループに属する階層は3つ以上でもよい。各グループにおける切り替え時刻は、図9と同様、規則をグループごとに選択して決定してよい。そしてグループごとに決定した切り替え時刻において、グループ内の少なくともいずれかの階層の領域を、元画像階層/差分画像階層で切り替える(例えば元画像階層202から差分画像階層204へ切り替える)。
【0087】
例えばデータサイズの積算量によって、グループごとに切り替え時刻を決定する。一つの画像であっても領域によって画像の複雑度が異なるとそのビットレートが異なる。例えば単色に近い青空の領域と車が行き交う道路の領域とではビットレートにも差が生じる。上述のとおりビットレートの高い領域についてはより高頻度に割り当てを切り替えることが望ましいため、結果的に、領域によって適切な切り替え頻度が異なることになる。そこで領域ごとに切り替え時刻を決定することにより、より細かいレベルでの調整が可能となり、画像の内容に即した条件で効率的に使用帯域幅を節約できる。
【0088】
なお図9で説明したのと同様、データサイズの積算量に対して設定するしきい値はグループごとに異ならせてもよい。ビットレートが領域によって異なるためそれを考慮して切り替え時刻を調整する、という立場から、領域ごとにグループ分けを行う階層は、タイル画像によってビットレートに差が生じやすい、比較的高解像度の階層とする。すなわち第0階層Lv0、第1階層Lv1、第2階層Lv2など低解像度の画像については図11で示すように領域分割を行わずに1つのグループ200aを形成してよい。この場合、第3階層Lv3や第4階層Lv4において個別のグループ200b、200cとした第0領域や第1領域は、第2階層Lv2において1つのグループに統合される。あるいは画像の内容によっては、第0階層Lv0を除く全ての階層について領域ごとにグループ分けを行ってもよい。
【0089】
この態様においても、図10で説明したように、同時期に連続して差分画像階層となる階層数の許容範囲2Nを表示装置の処理性能によって決定する。そして、上記のように分割した領域が統合される境界など、階層構造において上下の関係を有するグループの境界から数えて同時期に連続して差分画像階層となる階層の数が最大でもN個となるように割り当てスケジュールを調整する。
【0090】
本実施の形態では上述の通りタイル画像単位など領域単位で圧縮符号化し、独立した動画ストリームを生成する。表示時には、表示領域を含む動画ストリームのみを個別にデコードして表示画像としてつなげることにより動画像の各フレームを描画する。動画ストリームの時間方向のランダムアクセスを可能にする、すなわち、どの動画ストリームに対しても任意のタイミングで再生を開始できるようにすることにより、動画像に対し表示領域を任意に移動させることができる。
【0091】
このような態様において上述のように、1つの動画ストリームに本来の画像データと差分画像データを混在させる場合、その切り替えタイミングを考慮した動画ストリームの構成とすることにより、表示時の処理効率を向上させることができる。図12から図14は、動画ストリームの構成例を示している。図12は動画像のフレームの順をそのまま動画ストリームのデータ順とする場合を示している。同図において上段の矩形が圧縮符号化前のフレーム列における、あるタイル画像の領域を取り出してなるタイル画像列を示しており、横軸が動画像上の時間軸である。下段が圧縮符号化後の動画ストリームであり左端がストリームの先頭となる。圧縮符号化前後において、本来の画像データに対応する部分を白抜きで、差分画像データに対応する部分を網掛けで示している。
【0092】
なお以下の説明において、動画像上の時系列順に並んだ画像という意味が理解しやすいように、フレームから取り出した「タイル画像」も「フレーム」と呼ぶ場合がある。同図の場合、まず圧縮符号化前において、時間方向に本来の画像のフレーム列i1、差分画像のフレーム列d1、本来の画像のフレーム列i2、差分画像のフレーム列d2、・・・が交互に並んでいる。そしてそれぞれを圧縮符号化した圧縮データi’1、d’1、i’2、d’2、・・・を、そのままの順序で動画ストリームとする。フレームごとに独立して圧縮符号化を行う場合、すなわち全てのフレームをイントラフレームとする場合は、圧縮符号化後のデータを、フレーム順に単に連結していくのみでよい。
【0093】
一方、フレーム間予測符号化など画像の時間方向の冗長性を利用して圧縮率を上げる場合は、本来の画像と差分画像という、種類の異なるフレーム列をまたいでデータの依存性が及ばないようにすることが望ましい。すなわち差分画像の圧縮データd’1をデコードするために、その前にある、本来の画像の圧縮データi’1を用いなくてすむようにする。同様に、本来の画像の圧縮データi’2をデコードするために、その前にある、差分画像の圧縮データd’1を用いなくてすむようにする。
【0094】
このようにすることで、どのタイミングでデータアクセスが行われても、当該フレームをデコードするための処理を同じ種類のデータ内で閉じることができ、処理のレイテンシを抑えることができる。そのために、種類が切り替わった直後のフレーム、すなわち圧縮データi’1、d’1、i’2、d’2、・・・のそれぞれの先頭フレームのデータを、独立してデコードが可能なイントラフレームとする。このようにフレーム間におけるデータの依存性をリセットするため、画像の種類によって区切られる圧縮データi’1、d’1、i’2、d’2、・・・は個別の動画ストリームとすることができる。また本来の画像と差分画像では周波数特性等画像の特性が異なるため、圧縮方式も異ならせてもよい。
【0095】
図13はフレーム列から同じ種類のフレームのデータを抽出し、まとめて圧縮することにより1単位の圧縮データを形成する場合を示している。図の示し方はおよそ図12と同様であるが、同図では、圧縮符号化前の本来の画像のフレーム列と差分画像のフレーム列を上下にずらして示している。時間軸は共通である。このような圧縮符号化前のフレーム列において、本来の画像の連続したフレーム列のまとまりを先頭から複数個(図では5個)抽出し、それらをまとめて新たな時系列を有するフレーム列i3とする。次に、抽出した本来の画像の各フレーム列のまとまりの直後に位置する差分画像のフレーム列のまとまりを同数抽出し、それらをまとめて新たな時系列を有するフレーム列d3とする。
【0096】
同様に、本来の画像のフレーム列i4、差分画像のフレーム列d4、・・・というようにまとめていく。画像の種類ごとに抽出してまとめたフレーム列i3、d3、i4、d4、・・・をそれぞれ圧縮符号化してなる圧縮データi’3、d’3、i’4、d’4、・・・をそれぞれ1単位の圧縮データとする。生成した圧縮データを単位ごとに個別の動画ストリームとしてもよいし、それを生成順に連結して動画ストリームとしてもよい。フレーム列をまとめる際の境界は、フレーム数、またはデータサイズの積算量が所定のしきい値を超えたときとしてもよいし、シーンチェンジが起きたときなど、抽出時に前後していたフレーム列のまとまりのうち先頭フレームなどを比較して差分がしきい値を超えていたときなどとしてもよい。
【0097】
図12で説明したように、任意にアクセスされたフレームをデコードする際、デコードに必要なデータが別の種類のフレーム列に及ばないように、圧縮符号化後の動画ストリームにおける各種データの先頭フレームのデータをイントラフレームとすることが望ましい。しかしながら画像のビットレートが高いことなどに起因して、本来の画像と差分画像とを高頻度で切り替えた場合、切り替え直後のフレームを全てイントラフレームとするとイントラフレームの数が増大し圧縮率が低下してしまう。
【0098】
また、被写体の動きがない場合など時間方向の冗長性が長時間にわたり継続する場合も、本来の画像と差分画像との切り替えタイミングに合わせてイントラフレームを入れることにより無駄に圧縮率を下げてしまう可能性がある。このような場合に、上述のように時間的に不連続な同種類のフレーム列をまとめて1単位の圧縮データとし、イントラフレームとすべきフレームの数を減らすことにより、種類の異なるフレーム列へ依存性が及ばないようにすることと圧縮率の向上とを両立させることができる。
【0099】
なおこの態様では、圧縮符号化後のデータの順序が本来の動画像におけるフレームの順序と異なるため、圧縮符号化後のデータには、本来のフレームの順序と、圧縮符号化後のデータにおけるデータの出現順とを対応づけた情報を付加しておく。そして動画像の表示時にはそれを参照してデコード後のフレームを本来の順序に戻したうえで表示する。
【0100】
図14は複数の階層の同じ領域を表すタイル画像のデータをまとめて圧縮することにより1単位の圧縮データを形成する場合を示している。図の示し方はおよそ図12と同様であるが、圧縮符号化前のフレーム列として、第0階層Lv0、第1階層Lv1、第2階層Lv2、第3階層Lv3、第4階層Lv4の5つの階層のフレーム列を同じ時間軸で示している。また各階層の矩形は1つまたは複数のタイル画像列を象徴的に表している。さらにこの態様における圧縮符号化後のデータは本来の画像データと差分画像データを含むため、差分画像データに対する網掛けとは異なる種類の網掛けで示している。
【0101】
1単位の圧縮データとしてまとめる複数の階層の最上層を元画像階層とすることにより、差分画像を元の画像に戻すのに必要なデータを取得するために別の動画ストリームを読み出す必要がなくなり、表示処理を効率的に行える。結果として、どの階層を用いた表示であっても表示までのレイテンシが抑えられ、表示装置において解像度を選択する場合や解像度を可変とする場合に特に有効である。
【0102】
なお複数階層の同じ領域を表す画像は、解像度が異なるためその大きさが異なる。したがって、階層データが2×2倍で拡大していくような階層を有する場合、同図に示すように、2階層をまとめるときは上層の1タイル画像分、下層の4タイル画像分をまとめて1単位の圧縮データとする。3階層をまとめるときは最上層の1タイル画像分、中間層の4タイル画像分、最下層の16タイル画像分をまとめて1単位の圧縮データとする。4つ以上の階層数でも同様である。
【0103】
1単位の圧縮データに含まれるフレームは別階層であっても動画像上の同じ期間のフレームである。同図に示すように、まとめる階層において元画像階層と差分画像階層との切り替えがなされない期間のフレームを全て、1単位の圧縮データとしてもよいし、それより短い期間のフレームとしてもよい。後者の場合、フレーム数やデータサイズの積算量にしきい値を設けることによりフレームを区切ってもよい。圧縮符号化後のデータにおけるデータ順は、圧縮符号化前のフレーム番号、階層、および領域と対応がとれていれば、特に限定されない。
【0104】
図14の態様では上述のとおり、差分画像を元の画像に戻す際に元画像階層のデータへのアクセスが容易である、という利点を有する。一方で、元画像階層の解像度で画像を表示する場合でも、必要のない差分画像のデータが一緒に伝送されてしまうことになる。そこでそのような状態が長期間継続しないよう、元画像階層と差分画像階層との切り替え頻度を高くするなどして、1単位の圧縮データに含まれるフレーム数を調整する。
【0105】
次に、これまでに説明した圧縮動画データを生成する装置について説明する。本装置も、図4で示した画像処理装置10と同様の構成で実現できる。以下、制御部100の構成に主眼を置き説明する。図15は本実施の形態において、圧縮動画データ生成機能を有する制御部100bおよびハードディスクドライブ50の構成を詳細に示している。
【0106】
制御部100bは、元画像階層と差分画像階層の割り当てスケジュールを決定するスケジューリング部130、決定した割り当てスケジュールに従い各階層のデータを生成する階層データ生成部132、階層データを所定の規則で圧縮符号化し動画ストリームを生成する圧縮データ生成部134を含む。ハードディスクドライブ50は、処理対象の動画データを格納する動画データ記憶部136、および圧縮符号化後の動画データを格納する圧縮データ記憶部140を含む。
【0107】
動画データ記憶部136に格納される処理対象の動画データは、一つの解像度で表された各時刻のフレームを時系列順に並べたフレーム列からなる一般的な動画像データでよい。スケジューリング部130は、図8から図11を参照して説明したようなスケジューリングポリシーのいずれかにより、元画像階層と差分画像階層の割り当てスケジュールを決定する。階層数は元の動画フレームの解像度によって決定する。また上述のような様々なスケジューリングポリシーからどのポリシーを選択するかは、あらかじめ装置において設定がなされていてもよいし、入力装置20を介してユーザが選択できるようにしてもよい。また、動画データのメタデータとして付加された画像特性や動画の種類などから判定するようにしてもよい。
【0108】
階層データ生成部132は、動画データ記憶部136から処理対象の動画データを読み出し、フレームごとに所定の複数の解像度へ段階的に縮小して本来の画像からなる階層データを生成する。そして、スケジューリング部130が決定した割り当てスケジュールに則り、差分画像階層とすべき階層をフレームごとに特定し、元画像階層の本来の画像、または直上の差分画像階層の差分画像からの差分をとることにより、特定した階層のデータを差分画像のデータとする。さらに各階層の画像を所定のサイズに分割してタイル画像とする。
【0109】
圧縮データ生成部134は、図12から図14を参照して説明したいずれかの手法により圧縮符号化を行い動画ストリームを生成する。生成した動画ストリームは圧縮データ記憶部140に格納する。この際、動画ストリームの構成に係る情報、例えば動画ストリームにおけるデータの位置と本来の動画フレームの順序とを対応づける情報を動画ストリームのヘッダなどに付加しておく。さらに各階層の画像平面におけるタイル画像の領域と動画ストリームとの対応関係、および、元画像階層と差分画像階層の割り当てスケジュールに係る情報も付加しておく。
【0110】
次に、これまで述べた構成を実現するための各装置の動作について説明する。図16は、圧縮動画データを生成する装置が動画像の圧縮データを生成する処理手順を示している。まずユーザが、ハードディスクドライブ50の動画データ記憶部136に格納された、処理対象の動画データを選択すると(S10)、スケジューリング部130は、生成する階層数やスケジューリングポリシーなどの初期条件を決定し、それに従い元画像階層と差分画像階層の割り当てスケジュールを決定する(S12、S14)。
【0111】
次に階層データ生成部132は、動画データ記憶部136から処理対象の動画データを読み出し、各フレームを段階的に縮小することにより階層データを生成する。さらに、差分画像階層については差分画像を生成して階層データを更新したうえ、全階層の画像をタイル画像に分割する。このような階層データを各時刻のフレームごとに生成することにより、図6で示すようにx、y、zの仮想的な3次元に時間軸が加わった4次元構造の階層データが生成されることになる(S16)。
【0112】
次に圧縮データ生成部134は、図12から図14に示したフレーム列の順に画像データを圧縮符号化し動画ストリームを生成する(S18)。このとき、全てのタイル画像をイントラフレームとしてもよいし、イントラフレームと、他のフレームへの依存性を有する予測フレームや双方向フレームが混在するようにしてもよい。後者の場合、結果として差分画像階層は、解像度方向の差分画像に対し時間方向の差分もとったデータを保持することになる。また上述のとおり、フレーム列において画像の種類が切り替わった直後のフレームはイントラフレームとする。
【0113】
次に圧縮データ生成部134は、各階層の画像平面におけるタイル画像の領域と動画ストリームとの対応関係、元画像階層と差分画像階層との割り当てスケジュールに係る情報、動画ストリームの構成に係る情報、を作成し、動画ストリーム群に付加して最終的な圧縮動画データとしハードディスクドライブ50に格納する(S20)。
【0114】
図17は、画像を表示する装置が動画像を表示するための処理手順を示している。まずユーザが入力装置20を介して動画の再生開始を指示すると、ロード部108、デコード部112、表示画像処理部114、表示処理部44の協働により表示装置12において動画像の表示が開始される(S30)。動画像圧縮データは、ハードディスクドライブ50に格納されたものでもよいし、ネットワークを介して動画サーバから取得したものでもよい。
【0115】
ユーザが入力装置20を介して、表示中の動画内のある箇所をズームインしたり、さらに上下左右に視点を動かしたりする操作入力を行い表示領域の移動を要求すると(S32のY)、フレーム座標決定部110は仮想空間における表示領域の移動速度ベクトルを表示領域移動要求信号から算出し、各フレーム表示時刻におけるフレーム座標を順次決定する(S34)。
【0116】
デコード部112は、表示領域が移動したか否かに関わらず(S34またはS32のN)、次のフレームのフレーム座標のz座標から、動画の階層データのうち表示に用いる階層を決定し、さらにx座標、y座標から、当該階層のうち表示領域に対応するタイル画像の動画ストリームを特定したうえメインメモリ60から読み出してデコードし、バッファメモリ70に格納する(S36)。動画ストリームは、ロード領域決定部106およびロード部108の協働により、メインメモリ60にロードされている。デコード対象のデータが本来の画像のものであっても差分画像のものであっても、デコード手順は同様である。
【0117】
すなわち当該フレームがイントラフレームであればそれを独立にデコードし、それ以外のフレームであれば参照画像を用いてデコードする。また動画ストリームのデータ順が本来の動画のフレーム順と異なっている場合は、動画ストリームに付加された対応情報に基づき対象となるデータを特定しておく。
【0118】
次にデコード部は、デコードした画像が差分画像であるか否かを確認する(S38)。差分画像であるか否かは、上述のとおり動画像圧縮データに付加された割り当てスケジュールの情報を参照して判断する。また所定のフレーム数で切り替えるなど規則的に切り替えを行う態様においては、フレームの番号などから差分画像階層を特定したうえ、デコードした画像が差分画像であるか否かをその場で導出してもよい。
【0119】
差分画像である場合は同じ領域を表す上層の画像をデコードして画素ごとに加算することにより画像を復元し、バッファメモリ70のデータを更新する(S40)。1つ上の階層も差分画像である場合は、階層を上に辿り元画像階層まで遡る。このとき、順次差分画像を加算していくか、直接元画像階層の画像のみを加算するかは、動画データごとに方式として設定してよい。
【0120】
次に表示画像処理部114は、バッファメモリ70に格納されたタイル画像のデータを用いて表示領域の画像を表示処理部44のフレームバッファに描画し、表示処理部44が表示装置12に出力することにより各時刻で画像が更新される(S42)。以上の処理を、フレームごとに繰り返すことにより、表示領域の移動を許容しつつ動画像が進捗する(S44のN、S32〜S42)。動画像の再生が完了したりユーザが再生を停止させたりしたら処理を終了する(S44のY)。
【0121】
以上述べた本実施の形態によれば、動画像の各フレームを複数の解像度で表した階層データとし、階層データをタイル画像ごとの動画ストリームとすることにより、解像度の変更を含めた表示領域の移動に応じて表示に用いる階層および動画ストリームを切り替える。このとき階層データのうち少なくとも1階層を、それより上の階層の画像からの差分画像とする。これにより、動画像を階層データとしてもデータサイズの増大を抑えることができる。
【0122】
さらに本来の画像のデータを保持する元画像階層と、差分画像のデータを保持する差分画像階層の割り当てを、階層データを構成する階層中で切り替える。これにより、動画像の一部のデータのみをハードディスクドライブや画像サーバから伝送する態様においても、伝送されるデータのビットレートを平均化でき、伝送に必要な帯域幅を抑えることができる。結果として、少ない帯域幅でも表示領域移動の応答性に支障のないデータ伝送を実現でき、ギガピクセルオーダーの巨大なサイズの画像であっても少ないメモリ容量で表示が可能である。
【0123】
また元画像階層と差分画像階層の割り当てスケジュールや、動画ストリームの構成を、動画像の特性や表示装置の処理性能などに応じて最適化できるため、本実施の形態の動画データは、携帯端末から汎用コンピュータまで、幅広い環境において同様に導入することができる。
【0124】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0125】
例えば本実施の形態では基本的に、ある階層の画像データを、それより解像度の低い階層の画像を拡大した画像との差分画像として保持した。一方、同じ階層の画像、すなわち単一の解像度の画像を領域分割し、ある領域の画像データを、他の領域の画像との差分画像として保持するようにしてもよい。ここで参照される「他の領域の画像」は元画像でも、さらに別の領域あるいは別の階層の画像を元画像とする差分画像でもよい。この場合も差分画像とする領域、元画像とする領域を時間的に入れ替えることによりビットレートを平均化でき、伝送に必要な帯域幅を抑えることができる。この態様は、単色に近い領域や同じパターンの羅列である領域を含む画像などにおいて特に有効である。
【符号の説明】
【0126】
1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 100 制御部、 100b 制御部、 102 入力情報取得部、 106 ロード領域決定部、 108 ロード部、 110 フレーム座標決定部、 112 デコード部、 114 表示画像処理部、 130 スケジューリング部、 132 階層データ生成部、 134 圧縮データ生成部、 136 動画データ記憶部、 140 圧縮データ記憶部。
【技術分野】
【0001】
本発明は、動画像のデータを生成する動画データ生成装置、動画像を表示する動画像表示装置、およびそれらで実現される動画データ生成方法、動画像表示方法に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
高精細な画像をユーザの要求に従い応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目したい領域を拡大して表示させたり別の領域に表示を移動させたり、といった、ユーザの視点に対し自由度のある画像表示を応答性よく実現するためには、サイズの大きな画像データを短時間で処理しつつランダムアクセスをも可能にしなければならず、さらなる技術の進歩が求められている。
【0006】
本発明はこのような課題に鑑みてなされたものであり、その目的は、データサイズを抑えながら、ユーザによる表示領域に係る操作入力に対し応答性よく高精細な動画像を表示することのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様は動画データ生成装置に関する。この動画データ生成装置は、動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成装置であって、各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成したうえ、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する階層データ生成部と、階層データ生成部が生成した階層動画データを圧縮符号化し記憶装置に格納する圧縮データ生成部と、を備えたことを特徴とする。
【0008】
本発明の別の態様は動画像表示装置に関する。この動画像表示装置は、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを格納した動画データ記憶部と、表示中の動画における表示領域の移動要求信号を逐次取得する入力情報取得部と、入力情報取得部が取得した移動要求信号によって定まる要求解像度に応じて、階層動画データのうち用いる階層を切り替えながら、移動要求信号に応じた表示画像を画像フレームごとに生成する表示画像処理部と、を備え、階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示画像処理部は、表示に用いるデータが差分画像のデータであった場合に、別階層の画像を拡大して加算することにより画像を復元することを特徴とする。
【0009】
本発明のさらに別の態様は動画データ生成方法に関する。この動画データ生成方法は、動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成方法であって、一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出すステップと、各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成するステップと、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成するステップと、階層動画データを圧縮符号化し記憶装置に格納するステップと、を含むことを特徴とする。
【0010】
本発明のさらに別の態様は動画像表示方法に関する。この動画像表示方法は、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始するステップと、表示中の動画における表示領域の移動要求信号を逐次取得するステップと、移動要求信号によって定まる要求解像度に応じて、階層動画データのうち用いる階層を切り替えながら、移動要求信号に応じた表示画像を画像フレームごとに生成するステップと、生成した表示画像を表示装置に表示するステップと、を含み、階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示画像を生成するステップは、表示に用いるデータが差分画像のデータであった場合に、別階層の画像を拡大して加算することにより画像を復元するステップを含むことを特徴とする。
【0011】
本発明のさらに別の態様は動画像ファイルのデータ構造に関する。このデータ構造は、表示装置に表示するための動画像ファイルのデータ構造であって、ユーザによる表示領域に係る操作入力によって定まる解像度の範囲と、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなり、解像度の範囲に応じて階層を切り替えて用いられる階層データであり、少なくとも1つの階層の画像のデータが、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示時に当該別階層の画像を拡大して加算することにより画像を復元する階層データと、を対応づけたことを特徴とする。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によると、ユーザの表示領域に係る操作入力に対し円滑に応答できる動画像表示を実現できる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態に適用できる画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成例を示す図である。
【図3】本実施の形態において処理対象とする動画像の階層データを概念的に示す図である。
【図4】本実施の形態において画像処理装置の構成を示す図である。
【図5】本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部の構成を詳細に示す図である。
【図6】本実施の形態において階層構造を有する動画像データのうち一部の階層を差分画像で表した様子を模式的に示す図である。
【図7】本実施の形態において元画像階層と差分画像階層の割り当てを切り替える態様を説明するための図である。
【図8】本実施の形態における元画像階層と差分画像階層の割り当てスケジュール例を示す図である。
【図9】本実施の形態における元画像階層と差分画像階層の割り当てスケジュール例を示す図である。
【図10】本実施の形態における元画像階層と差分画像階層の割り当てスケジュールの別の例を示す図である。
【図11】本実施の形態における元画像階層と差分画像階層の割り当てスケジュールの別の例を示す図である。
【図12】本実施の形態において動画像のフレームの順をそのまま動画ストリームのデータ順とする場合の動画ストリームの構成を示す図である。
【図13】本実施の形態においてフレーム列から同じ種類のフレームのデータを抽出してまとめて圧縮する場合の動画ストリームの構成を示す図である。
【図14】本実施の形態において複数の階層の同じ領域を表すタイル画像のデータをまとめて圧縮する場合の動画ストリームの構成を示す図である。
【図15】本実施の形態において、圧縮動画データ生成機能を有する制御部およびハードディスクドライブの構成を詳細に示す図である。
【図16】本実施の形態において圧縮動画データを生成する装置が動画像の圧縮データを生成する処理手順を示すフローチャートである。
【図17】本実施の形態において画像を表示する装置が動画像を表示するための処理手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
本実施の形態では動画像表示において、ユーザの視点移動要求に対応した表示領域の移動を可能にする。ここでの視点移動は、画像平面へ視点を近づけたり離したりすることを含み、それに応じて動画像は、再生されつつ拡大および縮小されることになる。このような態様において、ユーザの操作に対し応答性よく円滑に、要求された領域の動画を表示していくことは、解像度の可変範囲を広げるほど、また、画像サイズが大きくなるほど、困難になってくる。
【0016】
そこで本実施の形態では表示対象の動画像のデータを、動画フレームを複数の解像度で表し解像度順に階層化してなる階層構造とする。また各階層におけるフレームを画像平面で空間分割した単位で動画ストリーム形成する。そして表示領域の移動に応じ、表示に使用する階層および動画ストリームを切り替えることで良好な応答性を得る。以後、このような階層構造を有する動画像データを「階層データ」とも呼ぶ。
【0017】
まず、このような階層データの基本的な表示態様について説明する。図1は、本実施の形態を適用できる画像処理システム1の使用環境を示す。画像処理システム1は、画像処理ソフトウェアを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【0018】
表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、動画像データをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。
【0019】
画像処理装置10は、たとえばゲーム装置やパーソナルコンピュータであってよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。画像処理装置10は、ユーザからの視点移動要求に応じて、表示装置12のディスプレイに表示する動画像の拡大/縮小処理や、上下左右方向へのスクロール処理などを行う。以後、このような拡大/縮小を含めた表示領域の変更を「表示領域の移動」と表現する。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示領域移動要求信号を画像処理装置10に送信する。
【0020】
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
【0021】
画像処理システム1において、入力装置20の操作手段には、表示画像の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。
【0022】
また、スクロール要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、表示領域移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
【0023】
入力装置20は、入力された表示領域移動要求の信号を画像処理装置10に伝送する機能をもち、本実施の形態では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、表示領域移動要求の信号を画像処理装置10に伝送してもよい。
【0024】
また入力装置20は図2に示したものに限らず、ユーザが操作するキーボード、タッチパネル、ボタン、対象物の像を撮影するカメラ、音声を取得するマイクなど、ユーザの意思や対象物の動きなどを電子的な情報として取得できるインターフェースであればその種類や外観は限定されない。
【0025】
図3は、本実施の形態において処理対象とする動画像の階層データを概念的に示している。階層データは、図の上から下へ向かうz軸方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。上述のとおり各階層は1つの動画像を異なる解像度で表した動画データ、すなわち複数の画像フレームを時系列順に並べたデータで構成される。同図においては各階層を4枚の画像フレームで象徴的に表しているが画像フレームの数は動画像の再生時間やフレームレートによって当然異なる。
【0026】
階層データは例えば4分木の階層構造を有し、各階層を構成する画像フレームを同一サイズを有する「タイル画像」に分割した場合、第0階層30は1個のタイル画像、第1階層32は2×2個のタイル画像、第2階層34は4×4個のタイル画像、第3階層は8×8個のタイル画像、などとなる。このとき第N階層の解像度(Nは0以上の整数)は、画像平面上で左右(x軸)方向、上下(y軸)方向ともに、第(N+1)階層の解像度の1/2となる。階層データは、最高解像度をもつ第3階層36の動画像をもとに、画像フレームを複数段階に縮小するなどして生成することができる。
【0027】
動画表示時の視点座標およびそれに対応する表示領域は、図3に示すように、画像の左右方向を表すx軸、上下方向を表すy軸、解像度を表すz軸からなる仮想的な3次元空間で表すことができる。なお上述のとおり本実施の形態では複数の画像フレームが連なる動画像データを階層として準備するため、実際に表示される画像は再生が開始されてからの時間にも依存し、同図では階層ごとに時間軸tを表している。
【0028】
画像処理装置10は、基本的には時間軸tに沿っていずれかの階層の画像フレームを所定のフレームレートで順次描画していく。例えば第0階層30の解像度の動画像を基準画像として表示する。その過程で入力装置20から表示領域移動要求信号が供給されたら、当該信号から表示画像の変更量を導出し、その変更量を用いて次のフレームの、仮想空間における4隅の座標(フレーム座標)を導出する。そして当該フレーム座標に対応する画像フレームを描画する。この際、z軸に対し階層の切り替え境界を設けておくことにより、フレーム座標のzの値に応じて適宜、フレーム描画に用いる動画データの階層を切り替える。
【0029】
なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0030】
画像処理装置10において、階層データは、タイル画像の単位で圧縮された状態で保持されている。そしてフレーム描画に必要なデータが読み出されてデコードされる。なお図3は階層データを概念的に表したものであり、データの格納順やフォーマットを限定するものではない。例えば階層データの仮想空間における位置およびフレーム番号と実際の動画データの格納領域とが対応づけてあれば、動画データは任意の領域に格納することができる。
【0031】
図4は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0032】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、画像サーバから動画データを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された表示領域移動要求の信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0033】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。動画データはハードディスクドライブ50に格納されてもよい。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。動画データはこれらの記録媒体に格納されていてもよい。
【0034】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。制御部100はさらにGPU(Graphics Processing Unit)を備えていてもよい。
【0035】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0036】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0037】
画像処理装置10は、表示画像の拡大/縮小処理やスクロール処理をスムーズに行うために、現在表示されているフレームに対し空間的、時間的に近接した動画データを逐次、ハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした動画データの一部をデコードしてバッファメモリ70に格納しておく。これにより、動画再生を進捗させつつ表示領域を円滑に移動させることが可能となる。このときロードやデコードの対象となるデータは、それまでの表示領域の移動方向に基づき、以後、必要となる領域を先読みすることによって決定してもよい。
【0038】
図3に示す階層データにおいて、z軸方向における位置は解像度を示し、第0階層30に近い位置ほど解像度が低く、第3階層36に近い位置ほど解像度は高い。ディスプレイに表示される画像の大きさに注目すると、z軸方向における位置は、縮尺率に対応し、第3階層36の表示画像の縮尺率を1とすると、第2階層34における縮尺率は1/4、第1階層32における縮尺率は1/16、第0階層30における縮尺率は1/64となる。
【0039】
したがってz軸方向において、表示画像が第0階層30側から第3階層36側へ向かう方向に変化する場合、表示画像は拡大していき、第3階層36側から第0階層30側へ向かう方向に変化する場合は、表示画像は縮小していく。例えば表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は、第2階層34の動画データを用いて作成される。
【0040】
具体的には上述のとおり、各階層の中間の縮尺率などにそれぞれ切り替え境界を設ける。例えば表示する画像の縮尺率が、第1階層32と第2階層34の間の切り替え境界と、第2階層34と第3階層36の間の切り替え境界の間にある場合に、第2階層34の画像データを利用してフレームを描画する。このとき、第1階層32と第2階層34の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを縮尺して表示する。第2階層34と第3階層36の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを拡大して表示する。
【0041】
一方、表示領域移動要求信号から予測される将来必要な領域を特定してデコードする場合は、各階層の縮尺率などを先読み境界として設定しておく。例えば、表示領域移動要求信号による要求縮尺率が第2階層34の縮尺率をまたいだときなどに、縮小方向にある第1階層32の動画データの少なくとも一部をハードディスクドライブ50またはメインメモリ60から先読みしてデコードし、バッファメモリ70に書き込む。
【0042】
画像の上下左右方向の先読み処理についても同様である。具体的には、バッファメモリ70に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。このようにすることで、ユーザの表示領域移動の要求に応じ、円滑に解像度および表示位置を変化させつつ動画再生も進んでいく態様を実現できる。
【0043】
図5は本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部100aの構成を詳細に示している。制御部100aは、入力装置20からユーザが入力した情報を取得する入力情報取得部102、新たに表示すべき領域のフレーム座標を決定するフレーム座標決定部110、新たにロードすべき領域の動画データを決定するロード領域決定部106、必要な領域の動画データをハードディスクドライブ50からロードするロード部108を含む。制御部100aはさらに、動画データをデコードするデコード部112、および画像フレームを描画する表示画像処理部114を含む。
【0044】
図5および後述する図15において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0045】
入力情報取得部102は、ユーザが入力装置20に対して入力した、動画再生の開始/終了、表示領域の移動などの要求内容を取得し、フレーム座標決定部110に通知する。フレーム座標決定部110は、現在の表示領域のフレーム座標とユーザが入力した表示領域移動要求信号に従い、後続のフレーム表示時刻で新たに表示すべき領域のフレーム座標を決定し、ロード領域決定部106、デコード部112、表示画像処理部114に通知する。
【0046】
ロード領域決定部106は、フレーム座標決定部110から通知されたフレーム座標に基づき、ハードディスクドライブ50から新たにロードすべき動画データを特定し、ロード部108にロード要求を発行する。本実施の形態では上述のとおり、各階層のフレーム列を、タイル画像単位で独立した動画ストリームとする。結果として基本的に、階層ごとにタイル画像の個数分の動画ストリームが形成される。あるいは後述するように、複数階層の同じ領域を示すデータや複数のタイル画像を1つの動画ストリームに混在させてもよい。
【0047】
動画データには、タイル画像の階層および位置を表す識別番号と、動画ストリームデータ本体の識別番号とを対応づけた情報を付加しておき、動画再生開始時にメインメモリ60にロードしておく。ロード領域決定部106はフレーム座標に基づきその情報を参照し、必要な領域の動画ストリームの識別番号を取得する。そして該当する動画ストリームのデータがロード済みでなければ、ロード部108にロード要求を発行する。またフレーム座標が変化しない場合であっても、動画の進捗に応じて逐次、必要な動画ストリームのデータがロードされるように要求する。動画ストリームを時間方向に分割しておき、分割後の単位でロードするようにしてもよい。
【0048】
ロード領域決定部106は、その時点のフレーム描画に必要な動画ストリームの他、以後必要と予測される動画ストリームを先に述べた先読み処理などにより特定し、ロード部108にロード要求を発行してよい。ロード部108は、ロード領域決定部106からの要求に従い、ハードディスクドライブ50からの動画ストリームのロード処理を行う。具体的にはロードすべき動画ストリームの識別番号からハードディスクドライブ50における格納領域を特定し、当該格納領域から読み出したデータをメインメモリ60に格納する。
【0049】
デコード部112は各時刻のフレーム座標に基づき、メインメモリ60から必要な動画ストリームのデータを読み出しデコードし、バッファメモリ70に逐次格納していく。デコード対象は動画ストリーム単位でよく、フレーム座標決定部110が決定したフレーム座標の領域が複数の動画ストリームにまたがる場合は当該複数の動画ストリームをデコードしていく。
【0050】
本実施の形態では後述するように、階層データのうち一部の階層のデータを、それより上層の階層の拡大画像との差分値を表す差分画像で保持することにより、階層データのデータサイズを小さくする。そのためデコード部112はさらに、デコードした画像が差分画像であった場合、差分をとるために用いた上層の階層の画像をデコードし、拡大したうえデコード後の差分画像に加算することにより本来の画像データに戻してバッファメモリ70に格納する。表示画像処理部114は、各時刻のフレーム座標に基づきバッファメモリ70から対応するデータを読み出し、表示処理部44のフレームメモリに描画していく。
【0051】
一つの動画再生中に拡大縮小を含め表示領域の移動を許す態様においては、全ての動画ストリームが時間軸を共有し、利用される動画ストリームが切り替えられたか否かに関わらずシームレスにフレーム描画が進捗することが望ましい。そこで上述のとおり、一度の表示に必要な領域やその後に必要と予測される動画ストリームを優先的にロード、デコードし、フレーム描画までに必要な処理の効率を向上させる。また後述するように動画ストリームの構成を工夫することにより、どのタイミングで表示に用いる動画ストリームが切り替えられても、少ないレイテンシでフレーム表示が開始されるようにする。
【0052】
以上述べた構成とすることで、1フレームがギガピクセルのオーダーを有するような大きなサイズの動画像であっても、全体を見渡したり一部の領域を拡大したり、といったことを自由かつ円滑に行える。さらに動画像を階層構造で準備しておくことで、ディスプレイの解像度や表示サイズ、装置の処理性能などに応じて適切な階層を選択することにより、表示装置によらず同様の外観で動画像を表示できる。
【0053】
ここで動画像の階層データに含まれる異なる階層の同時刻の画像は、解像度が異なるもののその内容は同じであるため、階層データは常に階層間に冗長性をもつという性質がある。そこで本実施の形態では上述のように、一部の階層のデータを、それより高階層の画像を拡大した画像との差分画像のデータとする。上記階層データの性質に鑑みれば、階層間で差分をとることにより、データサイズを著しく軽減させることができる。
【0054】
図6は階層構造を有する動画像データのうち一部の階層を差分画像で表した様子を模式的に示している。同図の例では、第0階層30および第2階層34が本来の画像データを保持し、第1階層32と第3階層36が差分画像のデータを保持しており、本来の画像データを白抜き、差分画像のデータを網掛けで表している。以後の説明では、本来の画像データを保持する階層を「元画像階層」、差分画像のデータを保持する階層を「差分画像階層」と呼ぶ。
【0055】
ここで第3階層36の解像度で領域120を表示する場合は、第3階層36が保持する領域120の差分画像に、第2階層34が保持する、対応する領域122の画像を第3階層36の解像度まで拡大して各画素値を加算する。同図の場合、第3階層36の解像度は第2階層34の2×2倍であるため、領域122の画像を2×2倍する。拡大にはニアレストネイバー法、バイリニア法、バイキュービック法など一般的な補間手法を採用してよい。
【0056】
このようなデータ構成とすることにより全体的なデータサイズを軽減できるほか、表示に至るまでにデータが通過する伝送経路、すなわち画像処理装置10における内部バスや、画像サーバと接続するネットワークなどにおいて必要な帯域幅を抑えることができる。これは、表示したい解像度の本来の画像のデータサイズと比較し、当該解像度の差分画像のデータとそれより解像度の低い階層の本来の画像のデータとを足し合わせたデータサイズの方が小さくなるためである。
【0057】
図6の例では、元画像階層と差分画像階層の割り当てを固定としていた。この場合、上記のように差分画像階層の解像度で画像を表示するときはビットレートが小さくなるため、データの伝送に要する帯域幅を節約できる。一方、元画像階層の解像度で画像を表示している期間においては、差分画像階層を設けない場合と同じビットレートとなり、帯域幅削減の効果が得られない。どの階層を用いた解像度でも変わりなく円滑な表示を行うためには、最大ビットレートに合わせた帯域幅を確保する必要があるため、このような態様では確保すべき帯域幅を軽減することにはつながりにくい。
【0058】
そこで、元画像階層と差分画像階層の割り当てを所定の規則で切り替えることによりビットレートを平均化し、切り替え期間より長いスパンでみたときの伝送データサイズを抑えて転送に必要な帯域幅を軽減させる。図7は元画像階層と差分画像階層の割り当てを切り替える態様を説明するための図である。同図において横軸が動画像上の時間軸を示しており、時刻t1、t2、t3のときの各フレームのみからなる階層データの構成をそれぞれ示している。
【0059】
まず時刻t1のフレームを表す階層データでは、第0階層30および第2階層34を元画像階層とし、第1階層32および第3階層36を差分画像階層としている。この場合、第1階層32の解像度の画像は、第1階層32の差分画像と第0階層30の本来の画像とを加算することによって得られる。また第3階層36の解像度の画像は、第3階層36の差分画像と第2階層34の本来の画像とを加算することによって得られる。
【0060】
時刻t1より後の時刻t2のフレームを表す階層データでは、第0階層30、第1階層32、および第3階層36を元画像階層とし、第2階層34を差分画像階層としている。この場合、第2階層34の解像度の画像は、第2階層34の差分画像と第1階層32の本来の画像とを加算することによって得られる。さらに後の時刻t3のフレームを表す階層データは、時刻t1のときと同じ割り当てとなっている。
【0061】
例えば時刻t1のフレームのうち、第3階層36の解像度で領域124aを表示する場合、領域124aの差分画像のデータと、第2階層34の本来の画像のうち対応する領域126aの画像データとを必要とする。時間の経過とともにフレームが進むと同時に表示領域が移動し、時刻t2のフレームのうち、第3階層36の解像度で領域124bを表示するとする。この場合、第3階層36は本来の画像のデータであるから、当該領域124bのデータのみを必要とする。さらに時間が経過し、時刻t3のフレームのうち、第3階層36の解像度で領域124cを表示する場合、領域124cの差分画像のデータと、第2階層34の本来の画像のうち対応する領域126bの画像データとを必要とする。
【0062】
結果として同図下端に示すように、時刻t1、t2、t3のフレームのうち、第3階層36の解像度で領域124a、124b、124cをそれぞれ表示させるためには、第3階層36の差分画像と第2階層34の本来の画像のセットからなるデータ128a、第3階層36の本来の画像のデータ128b、第3階層36の差分画像と第2階層34の本来の画像のセットからなるデータ128cを順次読み出すことになる。
【0063】
このように元画像階層と差分画像階層を時間的に切り替える構成とすることで、本来の画像のデータ128bのようなサイズの大きいデータが継続して伝送される確率を低くし、単位時間あたりに伝送すべきデータのサイズ、すなわちビットレートを抑えることができる。なお同図では理解を容易にするため、表示対象を第3階層36の解像度に固定したが、表示対象の階層を途中で変化させても同様の効果が得られる。
【0064】
図8から図11は、元画像階層と差分画像階層の割り当てスケジュール例を示している。これらの図において横軸は時間経過を表しており、第0階層、第1階層、第2階層、・・・をそれぞれ「Lv0」、「Lv1」、「Lv2」、・・・とする階層データにおける割り当ての時間変化を、元画像階層の期間を白抜き、差分画像階層の期間を網掛けの矩形で表している。1つの矩形で表される期間には1つ以上のフレームが表示される。
【0065】
図8は階層データ全体に渡り、割り当てを切り替えるタイミングを共有する場合を示している。なお第0階層Lv0はそれより上の階層がないため、常時、元画像階層152とする。以後の例も同様である。図8の例では、時刻T0、T1、T2、T3、T4、T5、T6のタイミングで、1つ以上の階層において切り替えがなされている。すなわち時刻T0からT1の期間において、第0階層Lv0、第2階層Lv2が元画像階層152、156、第1階層Lv1、第3階層Lv3、第4階層Lv4が差分画像階層154、160、162であったものを、時刻T1において、第2階層Lv2を差分画像階層164へ、第3階層Lv3を元画像階層166へ切り替えている。
【0066】
時刻T2では第1階層Lv1および第4階層Lv4を元画像階層168、170へ、第3階層Lv3を差分画像階層172へ切り替えている。時刻T3では第1階層Lv1および第4階層Lv4を差分画像174、176へ、第2階層Lv2を元画像階層178へ切り替えている。このような切り替えを以降の時間でも繰り返す。すると第0階層Lv0を別にすると、元画像階層が各時刻で第1階層Lv1→第2階層Lv2→第3階層Lv3→第4階層Lv4、と切り替わり、それ以外の階層は差分画像階層となる。
【0067】
なお図8で示した態様は、元画像階層となる階層と差分画像階層となる階層の組み合わせが全階層に共通のタイミングで変化すれば、同時期に元画像階層となる階層数、差分画像となる階層数、およびそれらの配置は、同図に示したものでなくてもよい。図8の例では、どの期間においても差分画像階層が上下に連続することになる。例えば時刻T2からT3の期間では、上下に連続した階層、第2階層Lv2および第3階層Lv3が差分画像階層179、172である。
【0068】
このように連続する2つ以上の階層が同時期に差分画像階層となるような割り当てとする場合、常にすぐ上の階層からの差分をとって差分画像としてもよいし、元画像階層まで遡り、本来の画像との差分をとって差分画像としてもよい。前者の場合、すぐ上の階層が元画像階層でない限り、差分画像の差分画像を保持することになるため、元画像階層から階層が下になるほど、画像を元に戻すために必要な階層数および加算処理が増えることになるが、データサイズは小さくなる。
【0069】
後者の場合、画像を元に戻すための階層数および加算処理は一定であるが、元画像階層から階層が下になるほど差分値が大きくなるため、前者と比較しデータサイズが大きくなる。どちらの差分画像とするかは、動画像の内容、表示装置の処理能力、使用できる伝送帯域などに鑑み選択する。また、連続した階層に差分画像階層を割り当てないようにスケジュールを決定してもよい。
【0070】
図8における切り替えの時刻T0〜T6は等間隔としてもよい。この場合、所定のフレーム数ごと、例えば8フレームごとに、少なくともいずれかの階層において切り替えがなされることになる。この場合、差分画像階層をフレーム単位であらかじめ確定できるため、動画表示時に、描画に必要な階層の特定や加算処理の要、不要などを容易に決定でき、制御を単純化できる。
【0071】
あるいは切り替え時刻の少なくともいずれかを、動画像の特性によって決定してもよい。例えばシーンが切り替わるタイミングを動画データに埋め込まれたシーンチェンジ情報を参照して特定し、その前後のフレーム間で切り替える。シーンチェンジ情報に代わり、差分の大きいフレーム間で切り替えてもよい。後述するように、フレーム間予測符号化など圧縮符号化によってフレーム間に依存性をもたせる場合には、時間方向の冗長性が低いフレーム間で切り替えると都合がよい。
【0072】
切り替えのタイミングはこれらの他、データサイズの積算量によって決定してもよい。すなわち、第0階層Lv0以外の階層のうちのいずれかの階層で、切り替え後からのフレームのデータサイズの積算量が所定のしきい値に達したときを次の切り替え時刻とする。画像の大きさは階層によって異なるが、実際に伝送されるデータは階層によらず同程度の数のタイル画像であるため、ここで積算量を算出するデータサイズはタイル画像の面積など、単位面積当たりに換算した値とする。この場合、差分画像はそのデータサイズが小さいため、切り替え時刻は実質的に、元画像階層が保持する本来の画像のデータサイズで決定する。このように実際のデータサイズに基づき切り替え時刻を決定することにより、ビットレートの高いデータの伝送を効率的に分散させることがでる。
【0073】
つまりこのように切り替え時刻を決定するということは、本来の画像のビットレートが高いほど切り替え頻度を高くしていることに他ならない。ビットレートの高いデータを継続して伝送させると帯域に余裕のない状態が続くため、結果として常時円滑な伝送を行うには広い帯域幅が必要となる。上記のとおりビットレートの高い画像ほど切り替えを早くすることにより、帯域に定常的に余裕分を作っておき、当該余裕分を利用してビットレートの高いデータを送信するようにする。
【0074】
またビットレートがそれほど高くなく、本来の画像のデータを伝送する場合でも帯域がすぐに逼迫することのない画像は、切り替え頻度を小さくすることにより画像表示時の処理内容の切り替え頻度を小さくし、制御を容易にする。このようにすることで、より直接的かつ効率的に、伝送に必要な帯域幅を減らすことができる。
【0075】
図9は階層データの階層を区分けしてなるグループごとに切り替えのタイミングを共有する場合を示している。同図の例では、第1階層Lv1と第2階層Lv2、第3階層Lv3と第4階層Lv4、第5階層Lv5と第6階層Lv6というように、上下に位置する2つの階層をそれぞれ1グループ(グループ180a、180b、180c)とし、グループ内で切り替えのタイミングを共有している。そしてグループに属する2つの階層に対し、元画像階層と差分画像階層を交互に割り当てる。
【0076】
例えばグループ180aにおいて、時刻T0からT1の間は、第1階層Lv1が元画像階層182、第2階層Lv2が差分画像階層184、時刻T1からT2の間は逆に、第1階層Lv1が差分画像階層186、第2階層Lv2が元画像階層188、さらに時刻T2からT3の間は第1階層Lv1が元画像階層190、第2階層Lv2が差分画像階層192、・・・というように各切り替え時刻で元画像階層と差分画像階層を入れ替える。その他のグループ180b、180cも同様であるが、切り替え時刻はグループごとに異なってよい。このようにするとどの期間においても、差分画像を元の画像に戻すために必要な元画像階層は、必ず直上のグループに存在することになる。
【0077】
同図の例では、2階層を1グループとしているため、差分画像を元の画像に戻すために必要な元画像階層は、最大でも2つ上の階層までとなる。このように差分画像階層から元画像階層までの階層数を制限することにより、元の画像に戻すために必要なデータへのアクセス処理や、画像の加算処理の負荷を抑えることができる。
【0078】
各グループにおける切り替え時刻は、図8で説明した規則のいずれかをグループごとに選択して決定してよい。例えばデータサイズの積算量によって、グループごとに切り替え時刻を決定する。この場合、単位面積当たりのデータサイズは画像が縮小しているほど大きい傾向を有するため、階層が上のグループほどデータサイズの積算量が早くしきい値に達する。
【0079】
そのため図9に示すように、第1階層Lv1と第2階層Lv2のグループ180aの切り替え頻度が最も高く、続いて第3階層Lv3と第4階層Lv4のグループ180b、第5階層Lv5と第6階層Lv6のグループ180c、というように切り替え頻度が低くなる。このように階層ごとの特質を加味してそれぞれの切り替え時刻を細かく設定することにより、図8で説明したのと同様の原理により、必要な帯域幅をより効率的に減らすことができる。
【0080】
なおデータサイズの積算量に対するしきい値をグループごとに変化させてもよい。例えば画像の内容によって、圧縮符号化時に特定の階層のビットレートを他より高く設定する場合がある。特定の階層とは、他の階層より高い頻度で表示に用いられると予測される階層や、ユーザが指定した階層などである。この場合、当該階層を含むグループのしきい値を、設定するビットレートに応じて小さく設定すれば、実際に伝送されるデータのビットレートに即して切り替え頻度を調整できる。
【0081】
図10は階層データの階層を区分けしてなるグループごとに切り替えのタイミングを共有する場合の別の例を示している。同図の例では、第1階層Lv1と第2階層Lv2、第3階層Lv3と第4階層Lv4と第5階層Lv5、第6階層Lv6と第7階層Lv7をそれぞれグループとしており(それぞれグループ194a、194b、および194c)、グループに属する階層数が異なる。この場合も図9で示したのと同様、グループごとに切り替え時刻を決定する。
【0082】
またグループに属する階層が3つ以上であっても、差分画像階層(例えば差分画像階層198)から元画像階層(例えば元画像階層196、199)までの階層数が制限できるように、割り当てスケジュールを工夫する。具体的には、まずグループ内で、同時期に連続して差分画像階層となる階層の数を最大2Nに制限する。さらに、各グループにおいて、グループの境界から数えて同時期に連続して差分画像階層となる階層の数が最大でもN個となるように制限すれば、当該境界を挟む2つのグループを考慮しても、同時期に連続して差分画像階層となる階層の数は最大2N個となる。
【0083】
例えば図10の場合、グループ内で、連続する複数の階層が同時期に差分画像階層となることはない。また、グループの境界から数えて連続する複数の階層が同時期に差分画像階層となることもない。つまりN=1であり、これにより階層データ全体で見ても、連続して差分画像階層となる階層の数は最大で2N=2となる。差分画像階層から元画像階層までの階層数の最大値2Nは、上述のとおり表示装置における処理の負荷に影響する。したがって表示装置の処理性能に応じて2Nを決定し、それに従い割り当てのスケジューリングを行う。
【0084】
図11は図9、図10の態様において生成した、複数の階層ごとのグループを、さらに画像上の領域ごとにグループ化した場合を示している。すなわち複数の階層の画像を画像上の同じ位置で分割し、同じ部分を表す領域ごとにグループを形成する。同図の例では、第3階層Lv3の画像を領域Lv3_0、Lv3_1、・・・などに分割し、第4階層Lv4の画像を領域Lv4_0、Lv4_1、・・・などに分割している。
【0085】
そして、画像上の同じ部分を表す第3階層Lv3の領域Lv3_0と第4階層Lv4の領域Lv4_0を第0領域、第3階層Lv3の領域Lv3_1と第4階層Lv4の領域Lv4_1を第1領域とすると、第3階層Lv3および第4階層Lv4のうちの第0領域、第1領域といった領域ごとにグループを形成し(グループ200b、200c)、グループ内で切り替えのタイミングを共有する。
【0086】
このように複数の階層を領域ごとにまとめたグループを画像全体について形成する。同図では分割対象として第3階層Lv3および第4階層Lv4のみ示しているが、1つのグループに属する階層は3つ以上でもよい。各グループにおける切り替え時刻は、図9と同様、規則をグループごとに選択して決定してよい。そしてグループごとに決定した切り替え時刻において、グループ内の少なくともいずれかの階層の領域を、元画像階層/差分画像階層で切り替える(例えば元画像階層202から差分画像階層204へ切り替える)。
【0087】
例えばデータサイズの積算量によって、グループごとに切り替え時刻を決定する。一つの画像であっても領域によって画像の複雑度が異なるとそのビットレートが異なる。例えば単色に近い青空の領域と車が行き交う道路の領域とではビットレートにも差が生じる。上述のとおりビットレートの高い領域についてはより高頻度に割り当てを切り替えることが望ましいため、結果的に、領域によって適切な切り替え頻度が異なることになる。そこで領域ごとに切り替え時刻を決定することにより、より細かいレベルでの調整が可能となり、画像の内容に即した条件で効率的に使用帯域幅を節約できる。
【0088】
なお図9で説明したのと同様、データサイズの積算量に対して設定するしきい値はグループごとに異ならせてもよい。ビットレートが領域によって異なるためそれを考慮して切り替え時刻を調整する、という立場から、領域ごとにグループ分けを行う階層は、タイル画像によってビットレートに差が生じやすい、比較的高解像度の階層とする。すなわち第0階層Lv0、第1階層Lv1、第2階層Lv2など低解像度の画像については図11で示すように領域分割を行わずに1つのグループ200aを形成してよい。この場合、第3階層Lv3や第4階層Lv4において個別のグループ200b、200cとした第0領域や第1領域は、第2階層Lv2において1つのグループに統合される。あるいは画像の内容によっては、第0階層Lv0を除く全ての階層について領域ごとにグループ分けを行ってもよい。
【0089】
この態様においても、図10で説明したように、同時期に連続して差分画像階層となる階層数の許容範囲2Nを表示装置の処理性能によって決定する。そして、上記のように分割した領域が統合される境界など、階層構造において上下の関係を有するグループの境界から数えて同時期に連続して差分画像階層となる階層の数が最大でもN個となるように割り当てスケジュールを調整する。
【0090】
本実施の形態では上述の通りタイル画像単位など領域単位で圧縮符号化し、独立した動画ストリームを生成する。表示時には、表示領域を含む動画ストリームのみを個別にデコードして表示画像としてつなげることにより動画像の各フレームを描画する。動画ストリームの時間方向のランダムアクセスを可能にする、すなわち、どの動画ストリームに対しても任意のタイミングで再生を開始できるようにすることにより、動画像に対し表示領域を任意に移動させることができる。
【0091】
このような態様において上述のように、1つの動画ストリームに本来の画像データと差分画像データを混在させる場合、その切り替えタイミングを考慮した動画ストリームの構成とすることにより、表示時の処理効率を向上させることができる。図12から図14は、動画ストリームの構成例を示している。図12は動画像のフレームの順をそのまま動画ストリームのデータ順とする場合を示している。同図において上段の矩形が圧縮符号化前のフレーム列における、あるタイル画像の領域を取り出してなるタイル画像列を示しており、横軸が動画像上の時間軸である。下段が圧縮符号化後の動画ストリームであり左端がストリームの先頭となる。圧縮符号化前後において、本来の画像データに対応する部分を白抜きで、差分画像データに対応する部分を網掛けで示している。
【0092】
なお以下の説明において、動画像上の時系列順に並んだ画像という意味が理解しやすいように、フレームから取り出した「タイル画像」も「フレーム」と呼ぶ場合がある。同図の場合、まず圧縮符号化前において、時間方向に本来の画像のフレーム列i1、差分画像のフレーム列d1、本来の画像のフレーム列i2、差分画像のフレーム列d2、・・・が交互に並んでいる。そしてそれぞれを圧縮符号化した圧縮データi’1、d’1、i’2、d’2、・・・を、そのままの順序で動画ストリームとする。フレームごとに独立して圧縮符号化を行う場合、すなわち全てのフレームをイントラフレームとする場合は、圧縮符号化後のデータを、フレーム順に単に連結していくのみでよい。
【0093】
一方、フレーム間予測符号化など画像の時間方向の冗長性を利用して圧縮率を上げる場合は、本来の画像と差分画像という、種類の異なるフレーム列をまたいでデータの依存性が及ばないようにすることが望ましい。すなわち差分画像の圧縮データd’1をデコードするために、その前にある、本来の画像の圧縮データi’1を用いなくてすむようにする。同様に、本来の画像の圧縮データi’2をデコードするために、その前にある、差分画像の圧縮データd’1を用いなくてすむようにする。
【0094】
このようにすることで、どのタイミングでデータアクセスが行われても、当該フレームをデコードするための処理を同じ種類のデータ内で閉じることができ、処理のレイテンシを抑えることができる。そのために、種類が切り替わった直後のフレーム、すなわち圧縮データi’1、d’1、i’2、d’2、・・・のそれぞれの先頭フレームのデータを、独立してデコードが可能なイントラフレームとする。このようにフレーム間におけるデータの依存性をリセットするため、画像の種類によって区切られる圧縮データi’1、d’1、i’2、d’2、・・・は個別の動画ストリームとすることができる。また本来の画像と差分画像では周波数特性等画像の特性が異なるため、圧縮方式も異ならせてもよい。
【0095】
図13はフレーム列から同じ種類のフレームのデータを抽出し、まとめて圧縮することにより1単位の圧縮データを形成する場合を示している。図の示し方はおよそ図12と同様であるが、同図では、圧縮符号化前の本来の画像のフレーム列と差分画像のフレーム列を上下にずらして示している。時間軸は共通である。このような圧縮符号化前のフレーム列において、本来の画像の連続したフレーム列のまとまりを先頭から複数個(図では5個)抽出し、それらをまとめて新たな時系列を有するフレーム列i3とする。次に、抽出した本来の画像の各フレーム列のまとまりの直後に位置する差分画像のフレーム列のまとまりを同数抽出し、それらをまとめて新たな時系列を有するフレーム列d3とする。
【0096】
同様に、本来の画像のフレーム列i4、差分画像のフレーム列d4、・・・というようにまとめていく。画像の種類ごとに抽出してまとめたフレーム列i3、d3、i4、d4、・・・をそれぞれ圧縮符号化してなる圧縮データi’3、d’3、i’4、d’4、・・・をそれぞれ1単位の圧縮データとする。生成した圧縮データを単位ごとに個別の動画ストリームとしてもよいし、それを生成順に連結して動画ストリームとしてもよい。フレーム列をまとめる際の境界は、フレーム数、またはデータサイズの積算量が所定のしきい値を超えたときとしてもよいし、シーンチェンジが起きたときなど、抽出時に前後していたフレーム列のまとまりのうち先頭フレームなどを比較して差分がしきい値を超えていたときなどとしてもよい。
【0097】
図12で説明したように、任意にアクセスされたフレームをデコードする際、デコードに必要なデータが別の種類のフレーム列に及ばないように、圧縮符号化後の動画ストリームにおける各種データの先頭フレームのデータをイントラフレームとすることが望ましい。しかしながら画像のビットレートが高いことなどに起因して、本来の画像と差分画像とを高頻度で切り替えた場合、切り替え直後のフレームを全てイントラフレームとするとイントラフレームの数が増大し圧縮率が低下してしまう。
【0098】
また、被写体の動きがない場合など時間方向の冗長性が長時間にわたり継続する場合も、本来の画像と差分画像との切り替えタイミングに合わせてイントラフレームを入れることにより無駄に圧縮率を下げてしまう可能性がある。このような場合に、上述のように時間的に不連続な同種類のフレーム列をまとめて1単位の圧縮データとし、イントラフレームとすべきフレームの数を減らすことにより、種類の異なるフレーム列へ依存性が及ばないようにすることと圧縮率の向上とを両立させることができる。
【0099】
なおこの態様では、圧縮符号化後のデータの順序が本来の動画像におけるフレームの順序と異なるため、圧縮符号化後のデータには、本来のフレームの順序と、圧縮符号化後のデータにおけるデータの出現順とを対応づけた情報を付加しておく。そして動画像の表示時にはそれを参照してデコード後のフレームを本来の順序に戻したうえで表示する。
【0100】
図14は複数の階層の同じ領域を表すタイル画像のデータをまとめて圧縮することにより1単位の圧縮データを形成する場合を示している。図の示し方はおよそ図12と同様であるが、圧縮符号化前のフレーム列として、第0階層Lv0、第1階層Lv1、第2階層Lv2、第3階層Lv3、第4階層Lv4の5つの階層のフレーム列を同じ時間軸で示している。また各階層の矩形は1つまたは複数のタイル画像列を象徴的に表している。さらにこの態様における圧縮符号化後のデータは本来の画像データと差分画像データを含むため、差分画像データに対する網掛けとは異なる種類の網掛けで示している。
【0101】
1単位の圧縮データとしてまとめる複数の階層の最上層を元画像階層とすることにより、差分画像を元の画像に戻すのに必要なデータを取得するために別の動画ストリームを読み出す必要がなくなり、表示処理を効率的に行える。結果として、どの階層を用いた表示であっても表示までのレイテンシが抑えられ、表示装置において解像度を選択する場合や解像度を可変とする場合に特に有効である。
【0102】
なお複数階層の同じ領域を表す画像は、解像度が異なるためその大きさが異なる。したがって、階層データが2×2倍で拡大していくような階層を有する場合、同図に示すように、2階層をまとめるときは上層の1タイル画像分、下層の4タイル画像分をまとめて1単位の圧縮データとする。3階層をまとめるときは最上層の1タイル画像分、中間層の4タイル画像分、最下層の16タイル画像分をまとめて1単位の圧縮データとする。4つ以上の階層数でも同様である。
【0103】
1単位の圧縮データに含まれるフレームは別階層であっても動画像上の同じ期間のフレームである。同図に示すように、まとめる階層において元画像階層と差分画像階層との切り替えがなされない期間のフレームを全て、1単位の圧縮データとしてもよいし、それより短い期間のフレームとしてもよい。後者の場合、フレーム数やデータサイズの積算量にしきい値を設けることによりフレームを区切ってもよい。圧縮符号化後のデータにおけるデータ順は、圧縮符号化前のフレーム番号、階層、および領域と対応がとれていれば、特に限定されない。
【0104】
図14の態様では上述のとおり、差分画像を元の画像に戻す際に元画像階層のデータへのアクセスが容易である、という利点を有する。一方で、元画像階層の解像度で画像を表示する場合でも、必要のない差分画像のデータが一緒に伝送されてしまうことになる。そこでそのような状態が長期間継続しないよう、元画像階層と差分画像階層との切り替え頻度を高くするなどして、1単位の圧縮データに含まれるフレーム数を調整する。
【0105】
次に、これまでに説明した圧縮動画データを生成する装置について説明する。本装置も、図4で示した画像処理装置10と同様の構成で実現できる。以下、制御部100の構成に主眼を置き説明する。図15は本実施の形態において、圧縮動画データ生成機能を有する制御部100bおよびハードディスクドライブ50の構成を詳細に示している。
【0106】
制御部100bは、元画像階層と差分画像階層の割り当てスケジュールを決定するスケジューリング部130、決定した割り当てスケジュールに従い各階層のデータを生成する階層データ生成部132、階層データを所定の規則で圧縮符号化し動画ストリームを生成する圧縮データ生成部134を含む。ハードディスクドライブ50は、処理対象の動画データを格納する動画データ記憶部136、および圧縮符号化後の動画データを格納する圧縮データ記憶部140を含む。
【0107】
動画データ記憶部136に格納される処理対象の動画データは、一つの解像度で表された各時刻のフレームを時系列順に並べたフレーム列からなる一般的な動画像データでよい。スケジューリング部130は、図8から図11を参照して説明したようなスケジューリングポリシーのいずれかにより、元画像階層と差分画像階層の割り当てスケジュールを決定する。階層数は元の動画フレームの解像度によって決定する。また上述のような様々なスケジューリングポリシーからどのポリシーを選択するかは、あらかじめ装置において設定がなされていてもよいし、入力装置20を介してユーザが選択できるようにしてもよい。また、動画データのメタデータとして付加された画像特性や動画の種類などから判定するようにしてもよい。
【0108】
階層データ生成部132は、動画データ記憶部136から処理対象の動画データを読み出し、フレームごとに所定の複数の解像度へ段階的に縮小して本来の画像からなる階層データを生成する。そして、スケジューリング部130が決定した割り当てスケジュールに則り、差分画像階層とすべき階層をフレームごとに特定し、元画像階層の本来の画像、または直上の差分画像階層の差分画像からの差分をとることにより、特定した階層のデータを差分画像のデータとする。さらに各階層の画像を所定のサイズに分割してタイル画像とする。
【0109】
圧縮データ生成部134は、図12から図14を参照して説明したいずれかの手法により圧縮符号化を行い動画ストリームを生成する。生成した動画ストリームは圧縮データ記憶部140に格納する。この際、動画ストリームの構成に係る情報、例えば動画ストリームにおけるデータの位置と本来の動画フレームの順序とを対応づける情報を動画ストリームのヘッダなどに付加しておく。さらに各階層の画像平面におけるタイル画像の領域と動画ストリームとの対応関係、および、元画像階層と差分画像階層の割り当てスケジュールに係る情報も付加しておく。
【0110】
次に、これまで述べた構成を実現するための各装置の動作について説明する。図16は、圧縮動画データを生成する装置が動画像の圧縮データを生成する処理手順を示している。まずユーザが、ハードディスクドライブ50の動画データ記憶部136に格納された、処理対象の動画データを選択すると(S10)、スケジューリング部130は、生成する階層数やスケジューリングポリシーなどの初期条件を決定し、それに従い元画像階層と差分画像階層の割り当てスケジュールを決定する(S12、S14)。
【0111】
次に階層データ生成部132は、動画データ記憶部136から処理対象の動画データを読み出し、各フレームを段階的に縮小することにより階層データを生成する。さらに、差分画像階層については差分画像を生成して階層データを更新したうえ、全階層の画像をタイル画像に分割する。このような階層データを各時刻のフレームごとに生成することにより、図6で示すようにx、y、zの仮想的な3次元に時間軸が加わった4次元構造の階層データが生成されることになる(S16)。
【0112】
次に圧縮データ生成部134は、図12から図14に示したフレーム列の順に画像データを圧縮符号化し動画ストリームを生成する(S18)。このとき、全てのタイル画像をイントラフレームとしてもよいし、イントラフレームと、他のフレームへの依存性を有する予測フレームや双方向フレームが混在するようにしてもよい。後者の場合、結果として差分画像階層は、解像度方向の差分画像に対し時間方向の差分もとったデータを保持することになる。また上述のとおり、フレーム列において画像の種類が切り替わった直後のフレームはイントラフレームとする。
【0113】
次に圧縮データ生成部134は、各階層の画像平面におけるタイル画像の領域と動画ストリームとの対応関係、元画像階層と差分画像階層との割り当てスケジュールに係る情報、動画ストリームの構成に係る情報、を作成し、動画ストリーム群に付加して最終的な圧縮動画データとしハードディスクドライブ50に格納する(S20)。
【0114】
図17は、画像を表示する装置が動画像を表示するための処理手順を示している。まずユーザが入力装置20を介して動画の再生開始を指示すると、ロード部108、デコード部112、表示画像処理部114、表示処理部44の協働により表示装置12において動画像の表示が開始される(S30)。動画像圧縮データは、ハードディスクドライブ50に格納されたものでもよいし、ネットワークを介して動画サーバから取得したものでもよい。
【0115】
ユーザが入力装置20を介して、表示中の動画内のある箇所をズームインしたり、さらに上下左右に視点を動かしたりする操作入力を行い表示領域の移動を要求すると(S32のY)、フレーム座標決定部110は仮想空間における表示領域の移動速度ベクトルを表示領域移動要求信号から算出し、各フレーム表示時刻におけるフレーム座標を順次決定する(S34)。
【0116】
デコード部112は、表示領域が移動したか否かに関わらず(S34またはS32のN)、次のフレームのフレーム座標のz座標から、動画の階層データのうち表示に用いる階層を決定し、さらにx座標、y座標から、当該階層のうち表示領域に対応するタイル画像の動画ストリームを特定したうえメインメモリ60から読み出してデコードし、バッファメモリ70に格納する(S36)。動画ストリームは、ロード領域決定部106およびロード部108の協働により、メインメモリ60にロードされている。デコード対象のデータが本来の画像のものであっても差分画像のものであっても、デコード手順は同様である。
【0117】
すなわち当該フレームがイントラフレームであればそれを独立にデコードし、それ以外のフレームであれば参照画像を用いてデコードする。また動画ストリームのデータ順が本来の動画のフレーム順と異なっている場合は、動画ストリームに付加された対応情報に基づき対象となるデータを特定しておく。
【0118】
次にデコード部は、デコードした画像が差分画像であるか否かを確認する(S38)。差分画像であるか否かは、上述のとおり動画像圧縮データに付加された割り当てスケジュールの情報を参照して判断する。また所定のフレーム数で切り替えるなど規則的に切り替えを行う態様においては、フレームの番号などから差分画像階層を特定したうえ、デコードした画像が差分画像であるか否かをその場で導出してもよい。
【0119】
差分画像である場合は同じ領域を表す上層の画像をデコードして画素ごとに加算することにより画像を復元し、バッファメモリ70のデータを更新する(S40)。1つ上の階層も差分画像である場合は、階層を上に辿り元画像階層まで遡る。このとき、順次差分画像を加算していくか、直接元画像階層の画像のみを加算するかは、動画データごとに方式として設定してよい。
【0120】
次に表示画像処理部114は、バッファメモリ70に格納されたタイル画像のデータを用いて表示領域の画像を表示処理部44のフレームバッファに描画し、表示処理部44が表示装置12に出力することにより各時刻で画像が更新される(S42)。以上の処理を、フレームごとに繰り返すことにより、表示領域の移動を許容しつつ動画像が進捗する(S44のN、S32〜S42)。動画像の再生が完了したりユーザが再生を停止させたりしたら処理を終了する(S44のY)。
【0121】
以上述べた本実施の形態によれば、動画像の各フレームを複数の解像度で表した階層データとし、階層データをタイル画像ごとの動画ストリームとすることにより、解像度の変更を含めた表示領域の移動に応じて表示に用いる階層および動画ストリームを切り替える。このとき階層データのうち少なくとも1階層を、それより上の階層の画像からの差分画像とする。これにより、動画像を階層データとしてもデータサイズの増大を抑えることができる。
【0122】
さらに本来の画像のデータを保持する元画像階層と、差分画像のデータを保持する差分画像階層の割り当てを、階層データを構成する階層中で切り替える。これにより、動画像の一部のデータのみをハードディスクドライブや画像サーバから伝送する態様においても、伝送されるデータのビットレートを平均化でき、伝送に必要な帯域幅を抑えることができる。結果として、少ない帯域幅でも表示領域移動の応答性に支障のないデータ伝送を実現でき、ギガピクセルオーダーの巨大なサイズの画像であっても少ないメモリ容量で表示が可能である。
【0123】
また元画像階層と差分画像階層の割り当てスケジュールや、動画ストリームの構成を、動画像の特性や表示装置の処理性能などに応じて最適化できるため、本実施の形態の動画データは、携帯端末から汎用コンピュータまで、幅広い環境において同様に導入することができる。
【0124】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0125】
例えば本実施の形態では基本的に、ある階層の画像データを、それより解像度の低い階層の画像を拡大した画像との差分画像として保持した。一方、同じ階層の画像、すなわち単一の解像度の画像を領域分割し、ある領域の画像データを、他の領域の画像との差分画像として保持するようにしてもよい。ここで参照される「他の領域の画像」は元画像でも、さらに別の領域あるいは別の階層の画像を元画像とする差分画像でもよい。この場合も差分画像とする領域、元画像とする領域を時間的に入れ替えることによりビットレートを平均化でき、伝送に必要な帯域幅を抑えることができる。この態様は、単色に近い領域や同じパターンの羅列である領域を含む画像などにおいて特に有効である。
【符号の説明】
【0126】
1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 100 制御部、 100b 制御部、 102 入力情報取得部、 106 ロード領域決定部、 108 ロード部、 110 フレーム座標決定部、 112 デコード部、 114 表示画像処理部、 130 スケジューリング部、 132 階層データ生成部、 134 圧縮データ生成部、 136 動画データ記憶部、 140 圧縮データ記憶部。
【特許請求の範囲】
【請求項1】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成装置であって、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成したうえ、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する階層データ生成部と、
前記階層データ生成部が生成した階層動画データを圧縮符号化し記憶装置に格納する圧縮データ生成部と、
を備えたことを特徴とする動画データ生成装置。
【請求項2】
前記階層動画データにおいて、前記差分画像のデータを含む階層を動画上の時間経過とともに切り替えるための切り替えスケジュールを決定するスケジューリング部をさらに備え、
前記階層データ生成部は、前記スケジューリング部が決定した切り替えスケジュールに従い、差分画像とすべき階層および領域を画像フレームごとに特定したうえ、前記階層動画データを生成することを特徴とする請求項1に記載の動画データ生成装置。
【請求項3】
前記スケジューリング部は、前記差分画像のデータを保持するか否かを階層単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、前記階層動画データを構成する階層のうち最も解像度の低い階層を除く全ての階層に共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項4】
前記スケジューリング部は、前記差分画像のデータを保持するか否かを階層単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、前記階層動画データを構成する階層のうち最も解像度の低い階層を除く複数の階層を区分けしてなる複数のグループごとに共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項5】
前記スケジューリング部は、少なくとも一部の階層において、前記差分画像のデータを保持するか否かを階層内の領域単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、領域単位で切り替えを行う複数の階層のうち同じ箇所を表す領域ごとに共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項6】
前記スケジューリング部は、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、所定の画像フレーム数ごとに切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項7】
前記スケジューリング部は、動画におけるシーンチェンジのタイミングに係る情報を取得し、当該シーンチェンジのタイミングで、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項8】
前記スケジューリング部は、共通のタイミングで切り替える複数の階層のうちいずれかの階層で、切り替え単位のデータサイズの単位面積当たりの積算量が所定のしきい値に達したタイミングで、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項9】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データにおける各階層の画像を所定サイズで分割してなるタイル画像の時系列データを、前記差分画像のデータか否かによって分類したうえ、分類ごとに所定の規則でまとめることにより新たな時系列データを生成し、当該データの順序で圧縮符号化することを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項10】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データを、各階層の画像を所定サイズで分割してなるタイル画像の時系列データごとに、前記差分画像のデータか否かに関わらず当該時系列の順序で圧縮符号化することを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項11】
前記圧縮データ生成部は、圧縮対象の時系列データのうち、少なくとも、差分画像のデータか否かが切り替わった後の最初のタイル画像のデータを、独立して復号が可能なイントラフレームとすることを特徴とする請求項9または10に記載の動画データ生成装置。
【請求項12】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データにおける各階層の画像を所定サイズで分割してなるタイル画像の時系列データを、複数の階層における画像上の同じ領域ごとにまとめて圧縮符号化することにより圧縮データ単位を形成し、
一の圧縮データ単位は、それに含まれる複数の階層のうち最も上の階層が、それ以外の階層が保持する差分画像を復元するために必要な本来の画像のデータを保持するように構成されることを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項13】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを格納した動画データ記憶部と、
表示中の動画における表示領域の移動要求信号を逐次取得する入力情報取得部と、
前記入力情報取得部が取得した移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成する表示画像処理部と、
を備え、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像処理部は、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元することを特徴とする動画像表示装置。
【請求項14】
前記階層動画データにおいて、前記差分画像のデータを含む階層は動画上の時間経過とともに切り替わり、
前記表示画像処理部は、前記差分画像のデータを含む階層の切り替えスケジュールに係る情報を取得し、それに基づき表示に用いるデータが差分画像のデータであるか否かを特定することを特徴とする請求項13に記載の動画像表示装置。
【請求項15】
前記階層動画データにおいて、前記差分画像のデータを含む階層は所定の画像フレーム数ごとに切り替わり、
前記表示画像処理部は、前記所定の画像フレーム数に基づき画像フレームごとに前記差分画像のデータを含む階層を特定することにより、表示に用いるデータが差分画像のデータであるか否かを導出することを特徴とする請求項14に記載の動画像表示装置。
【請求項16】
前記動画データ記憶部は、前記階層動画データに対応づけて前記切り替えスケジュールに係る情報をさらに格納し、
前記表示画像処理部は、前記切り替えスケジュールを参照することにより表示に用いるデータが差分画像のデータであるか否かを特定することを特徴とする請求項14に記載の動画像表示装置。
【請求項17】
前記階層動画データは、差分画像のデータか否かによって分類された、動画における画像フレームの時系列と異なる時系列データをそれぞれ圧縮符号化した複数の圧縮データ単位を含み、
前記動画データ記憶部は、前記階層動画データに対応づけて、動画における画像フレームの順序と前記圧縮データ単位におけるデータの順序とを対応づけた対応情報をさらに格納し、
前記表示画像処理部は、前記対応情報に基づき、復号したデータを元の画像フレームの順序に戻すことを特徴とする請求項13から16のいずれかに記載の動画像表示装置。
【請求項18】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成方法であって、
一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出すステップと、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成するステップと、
少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成するステップと、
前記階層動画データを圧縮符号化し記憶装置に格納するステップと、
を含むことを特徴とする動画データ生成方法。
【請求項19】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始するステップと、
表示中の動画における表示領域の移動要求信号を逐次取得するステップと、
前記移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成するステップと、
生成した表示画像を前記表示装置に表示するステップと、
を含み、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像を生成するステップは、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元するステップを含むことを特徴とする動画像表示方法。
【請求項20】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する機能をコンピュータに実現させるコンピュータプログラムであって、
一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出す機能と、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成する機能と、
少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する機能と、
前記階層動画データを圧縮符号化し記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項21】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始する機能と、
表示中の動画における表示領域の移動要求信号を逐次取得する機能と、
前記移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成する機能と、
生成した表示画像を前記表示装置に表示する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムであって、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像を生成する機能は、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元する機能を含むことを特徴とするコンピュータプログラム。
【請求項22】
表示装置に表示するための動画像ファイルのデータ構造であって、
ユーザによる表示領域に係る操作入力によって定まる解像度の範囲と、
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなり、前記解像度の範囲に応じて階層を切り替えて用いられる階層データであり、少なくとも1つの階層の画像のデータが、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示時に当該別階層の画像を拡大して加算することにより画像を復元する階層データと、
を対応づけたことを特徴とする動画像ファイルのデータ構造。
【請求項23】
前記階層データにおいて前記差分画像のデータを含む階層は動画上の時間経過とともに切り替わり、
表示時に参照することにより表示に用いるデータが差分画像のデータであるか否かを特定するための、前記差分画像のデータを含む階層の切り替えスケジュールに係る情報をさらに対応づけたことを特徴とする請求項22に記載の動画像ファイルのデータ構造。
【請求項24】
請求項22または請求項23に記載のデータ構造を有する動画像ファイルを記録した記録媒体。
【請求項1】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成装置であって、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成したうえ、少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する階層データ生成部と、
前記階層データ生成部が生成した階層動画データを圧縮符号化し記憶装置に格納する圧縮データ生成部と、
を備えたことを特徴とする動画データ生成装置。
【請求項2】
前記階層動画データにおいて、前記差分画像のデータを含む階層を動画上の時間経過とともに切り替えるための切り替えスケジュールを決定するスケジューリング部をさらに備え、
前記階層データ生成部は、前記スケジューリング部が決定した切り替えスケジュールに従い、差分画像とすべき階層および領域を画像フレームごとに特定したうえ、前記階層動画データを生成することを特徴とする請求項1に記載の動画データ生成装置。
【請求項3】
前記スケジューリング部は、前記差分画像のデータを保持するか否かを階層単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、前記階層動画データを構成する階層のうち最も解像度の低い階層を除く全ての階層に共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項4】
前記スケジューリング部は、前記差分画像のデータを保持するか否かを階層単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、前記階層動画データを構成する階層のうち最も解像度の低い階層を除く複数の階層を区分けしてなる複数のグループごとに共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項5】
前記スケジューリング部は、少なくとも一部の階層において、前記差分画像のデータを保持するか否かを階層内の領域単位で切り替え、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、領域単位で切り替えを行う複数の階層のうち同じ箇所を表す領域ごとに共通のタイミングで切り替えることを特徴とする請求項2に記載の動画データ生成装置。
【請求項6】
前記スケジューリング部は、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを、所定の画像フレーム数ごとに切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項7】
前記スケジューリング部は、動画におけるシーンチェンジのタイミングに係る情報を取得し、当該シーンチェンジのタイミングで、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項8】
前記スケジューリング部は、共通のタイミングで切り替える複数の階層のうちいずれかの階層で、切り替え単位のデータサイズの単位面積当たりの積算量が所定のしきい値に達したタイミングで、前記差分画像のデータを保持する階層とそれ以外の階層との組み合わせを切り替えることを特徴とする請求項2から5のいずれかに記載の動画データ生成装置。
【請求項9】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データにおける各階層の画像を所定サイズで分割してなるタイル画像の時系列データを、前記差分画像のデータか否かによって分類したうえ、分類ごとに所定の規則でまとめることにより新たな時系列データを生成し、当該データの順序で圧縮符号化することを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項10】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データを、各階層の画像を所定サイズで分割してなるタイル画像の時系列データごとに、前記差分画像のデータか否かに関わらず当該時系列の順序で圧縮符号化することを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項11】
前記圧縮データ生成部は、圧縮対象の時系列データのうち、少なくとも、差分画像のデータか否かが切り替わった後の最初のタイル画像のデータを、独立して復号が可能なイントラフレームとすることを特徴とする請求項9または10に記載の動画データ生成装置。
【請求項12】
前記圧縮データ生成部は、前記階層データ生成部が生成した階層動画データにおける各階層の画像を所定サイズで分割してなるタイル画像の時系列データを、複数の階層における画像上の同じ領域ごとにまとめて圧縮符号化することにより圧縮データ単位を形成し、
一の圧縮データ単位は、それに含まれる複数の階層のうち最も上の階層が、それ以外の階層が保持する差分画像を復元するために必要な本来の画像のデータを保持するように構成されることを特徴とする請求項1から8のいずれかに記載の動画データ生成装置。
【請求項13】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを格納した動画データ記憶部と、
表示中の動画における表示領域の移動要求信号を逐次取得する入力情報取得部と、
前記入力情報取得部が取得した移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成する表示画像処理部と、
を備え、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像処理部は、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元することを特徴とする動画像表示装置。
【請求項14】
前記階層動画データにおいて、前記差分画像のデータを含む階層は動画上の時間経過とともに切り替わり、
前記表示画像処理部は、前記差分画像のデータを含む階層の切り替えスケジュールに係る情報を取得し、それに基づき表示に用いるデータが差分画像のデータであるか否かを特定することを特徴とする請求項13に記載の動画像表示装置。
【請求項15】
前記階層動画データにおいて、前記差分画像のデータを含む階層は所定の画像フレーム数ごとに切り替わり、
前記表示画像処理部は、前記所定の画像フレーム数に基づき画像フレームごとに前記差分画像のデータを含む階層を特定することにより、表示に用いるデータが差分画像のデータであるか否かを導出することを特徴とする請求項14に記載の動画像表示装置。
【請求項16】
前記動画データ記憶部は、前記階層動画データに対応づけて前記切り替えスケジュールに係る情報をさらに格納し、
前記表示画像処理部は、前記切り替えスケジュールを参照することにより表示に用いるデータが差分画像のデータであるか否かを特定することを特徴とする請求項14に記載の動画像表示装置。
【請求項17】
前記階層動画データは、差分画像のデータか否かによって分類された、動画における画像フレームの時系列と異なる時系列データをそれぞれ圧縮符号化した複数の圧縮データ単位を含み、
前記動画データ記憶部は、前記階層動画データに対応づけて、動画における画像フレームの順序と前記圧縮データ単位におけるデータの順序とを対応づけた対応情報をさらに格納し、
前記表示画像処理部は、前記対応情報に基づき、復号したデータを元の画像フレームの順序に戻すことを特徴とする請求項13から16のいずれかに記載の動画像表示装置。
【請求項18】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する動画データ生成方法であって、
一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出すステップと、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成するステップと、
少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成するステップと、
前記階層動画データを圧縮符号化し記憶装置に格納するステップと、
を含むことを特徴とする動画データ生成方法。
【請求項19】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始するステップと、
表示中の動画における表示領域の移動要求信号を逐次取得するステップと、
前記移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成するステップと、
生成した表示画像を前記表示装置に表示するステップと、
を含み、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像を生成するステップは、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元するステップを含むことを特徴とする動画像表示方法。
【請求項20】
動画を表示する画像処理装置において要求される解像度に応じて用いる階層を切り替えて表示画像を生成するために、一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データを生成する機能をコンピュータに実現させるコンピュータプログラムであって、
一の解像度で表された画像フレーム列からなる動画データを記憶装置から読み出す機能と、
各画像フレームを段階的に縮小することによって各階層の画像データを画像フレームごとに生成する機能と、
少なくとも1つの階層の画像データに、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含めて階層動画データを生成する機能と、
前記階層動画データを圧縮符号化し記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項21】
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなる階層動画データの少なくとも一部を記憶装置から読み出し、それを用いて表示装置への動画表示を開始する機能と、
表示中の動画における表示領域の移動要求信号を逐次取得する機能と、
前記移動要求信号によって定まる要求解像度に応じて、前記階層動画データのうち用いる階層を切り替えながら、前記移動要求信号に応じた表示画像を画像フレームごとに生成する機能と、
生成した表示画像を前記表示装置に表示する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムであって、
前記階層動画データを構成する階層のうち少なくとも1つの階層の画像データは、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、
前記表示画像を生成する機能は、表示に用いるデータが差分画像のデータであった場合に、前記別階層の画像を拡大して加算することにより画像を復元する機能を含むことを特徴とするコンピュータプログラム。
【請求項22】
表示装置に表示するための動画像ファイルのデータ構造であって、
ユーザによる表示領域に係る操作入力によって定まる解像度の範囲と、
一の動画を構成する画像フレームを異なる解像度で表した複数の画像列を解像度順に階層化してなり、前記解像度の範囲に応じて階層を切り替えて用いられる階層データであり、少なくとも1つの階層の画像のデータが、同じ画像フレームを当該階層より低い解像度で表した別階層の画像の拡大画像との差分を表す差分画像のデータを含み、表示時に当該別階層の画像を拡大して加算することにより画像を復元する階層データと、
を対応づけたことを特徴とする動画像ファイルのデータ構造。
【請求項23】
前記階層データにおいて前記差分画像のデータを含む階層は動画上の時間経過とともに切り替わり、
表示時に参照することにより表示に用いるデータが差分画像のデータであるか否かを特定するための、前記差分画像のデータを含む階層の切り替えスケジュールに係る情報をさらに対応づけたことを特徴とする請求項22に記載の動画像ファイルのデータ構造。
【請求項24】
請求項22または請求項23に記載のデータ構造を有する動画像ファイルを記録した記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2013−34079(P2013−34079A)
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願番号】特願2011−168785(P2011−168785)
【出願日】平成23年8月1日(2011.8.1)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願日】平成23年8月1日(2011.8.1)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
[ Back to top ]