JP3599185B2 - 画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム - Google Patents
画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム Download PDFInfo
- Publication number
- JP3599185B2 JP3599185B2 JP2001163615A JP2001163615A JP3599185B2 JP 3599185 B2 JP3599185 B2 JP 3599185B2 JP 2001163615 A JP2001163615 A JP 2001163615A JP 2001163615 A JP2001163615 A JP 2001163615A JP 3599185 B2 JP3599185 B2 JP 3599185B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- caption
- subtitle
- image
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、例えばビデオゲームなどの実際のシナリオの進行、並びにそれに先立って表示される映像として、シナリオ中に登場する人物の3D画像などのアニメーションと字幕を表示させる場合に好適な画像描画方法、画像描画装置及びデータ構造並びにこの画像描画処理を実現するプログラムが記録された記録媒体及びプログラム自体に関する。
【0002】
【従来の技術】
近時、隠線処理、隠面消去処理、スムーズシェーディング、テクスチャマッピング等のコンピュータグラフィックス(CG)処理が、ハードウエアの飛躍的な発達と相俟って急速に進歩している。
【0003】
CG処理としては、一般に、CADの3次元モデリングによって複数の3次元形状(オブジェクト)を作成し、これらのオブジェクトに対して色や陰影をつけ、鏡面反射、拡散反射、屈折、透明感などの光学的特性を付加し、表面模様をつけ、更に、まわりの状況(窓や景色の映り込みや光の回り込み等)に応じて描画するというレンダリング処理が行われる。
【0004】
また、ビデオゲーム機を含むエンタテインメント装置のような情報機器(エンタテインメントシステム)として、例えばCD−ROM等の記録媒体に格納されたゲーム内容をテレビジョン受像機の画面上に表示させながら、操作装置で操作してゲームを進行させるものがある。
【0005】
このエンタテインメントシステムにおけるエンタテインメント装置と操作装置との間は、通常、シリアルインターフェースで接続され、エンタテインメント装置からクロックが送られると、そのクロックに同期して操作装置から使用者の操作に対応したキースイッチ情報等を送るようになっている。
【0006】
また、最近では、操作装置内に外部(例えばエンタテインメント装置)からの要求によって使用者に振動を与える振動発生手段を設けるようにして、例えばゲームの進行中において、使用者の操作に応答するように種々の振動を使用者に与えるようにしたシステムが開発され、実用化に至っている。
【0007】
【発明が解決しようとする課題】
ところで、例えばビデオゲーム機を使用して行うゲームとしては、ロールプレイングゲーム、シューティングゲーム、ドライビングゲーム、格闘ゲーム等、様々なものがある。
【0008】
これらのビデオゲームにおいては、実際のシナリオの進行に先立って、時代背景や主人公の置かれている立場などを鮮明な映像で表示し、ユーザをビデオゲームに引き込むようにしている。即ち、シナリオの進行に先立って、鮮明な映像を見せることで、ユーザのシナリオに対する感情移入を行いやすくしている。
【0009】
しかし、いままでのビデオゲームにおいては、実際のシナリオに進行したとき、例えば主人公の画像が、漫画的な画像に変化してしまうことが多い。例えば、シナリオの進行に先立って表示される鮮明な映像では、例えば主人公が8頭身のスラリとした画像となっているが、実際にシナリオが進行すると、例えば主人公は、漫画的な2頭身の画像となってしまい、興ざめするという問題がある。
【0010】
このような映像上のギャップによって、例えばロールプレイングゲームやアドベンチャーゲームにおいては、ユーザの主人公に対する感情移入はほとんど行われず、ひたすらアイテムを見つけることやモンスターを倒すこと、果ては、最後のシナリオまで行き着くまでの時間を競うことなどに専念することとなり、主人公と共に長い旅を楽しんだり、謎を追いかけるというロールプレイングゲームやアドベンチャーゲーム本来の楽しみ方を享受できないという問題がある。
【0011】
そこで、実際のシナリオの進行並びにそれに先立って表示される映像において、共にリアルタイムのポリゴン表示方式で各種オブジェクトを表示することで、上述のような映像上のギャップをなくすことが考えられる。
【0012】
しかし、このようなポリゴン表示方式では、字幕の処理が困難になるおそれがある。2D画像のアニメーション表示の場合は、例えばCD−ROMに記録されたデータをそのまま表示すればよいが、3D画像のアニメーション表示においては、例えばCD−ROMから読み出したモーションデータからオブジェクトデータの頂点データを書き換えて1つひとつ描画する必要があるため、字幕に関するデータとモーションデータとの関連づけや読出しエラーが発生したときの対処をどのようにするかという新たな問題がある。
【0013】
本発明はこのような課題を考慮してなされたものであり、実際のシナリオの進行並びにそれに先立って表示される映像において、共にリアルタイムのポリゴン表示方式で各種オブジェクトを表示することができ、しかも、読出しエラーがあったとしても字幕を鮮明に表示させることができる画像描画方法、画像描画装置、データ構造、記録媒体及びプログラムを提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明に係る画像描画方法は、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出して、各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するためのオブジェクト描画処理を行い、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための字幕描画処理を行うものであって、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕描画処理は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする。
【0015】
また、本発明に係る画像描画装置は、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段と、読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段と、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段とを有する画像描画装置において、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする。
また、本発明に係るデータ構造は、コンピュータのオブジェクト描画処理によって、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出して、各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するように制御し、さらに、前記コンピュータの字幕描画処理によって、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するように制御するために使用されるデータ構造であって、前記ストリーミングデータは、前記字幕描画処理によって、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完するように、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれていることを特徴とする。
また、本発明に係るデータ構造は、コンピュータを、3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムによって使用されるストリーミングデータを有するデータ構造であって、前記ストリーミングデータは、多数のフレームデータから構成され、各フレームデータは、少なくとも3D画像のアニメーションを表示するための画像描画処理に使用されるモーションデータと、字幕を表示するための画像描画処理に使用される字幕に関するデータを含み、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、1つのフレームデータにおける前記複数のパケットデータは、複数のセクタにわたって連続して配置され、前記複数のインデックスデータは、各セクタヘッダに割り付けられていることを特徴とする。
【0016】
また、本発明に係る記録媒体は、コンピュータを、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段、読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする。
また、本発明に係る記録媒体は、コンピュータを、3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムによって使用されるストリーミングデータが少なくとも記録された記録媒体であって、前記ストリーミングデータは、多数のフレームデータから構成され、各フレームデータは、少なくとも3D画像のアニメーションを表示するための画像描画処理に使用されるモーションデータと、字幕を表示するための画像描画処理に使用される字幕に関するデータを含み、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、1つのフレームデータにおける前記複数のパケットデータは、複数のセクタにわたって連続して配置され、前記複数のインデックスデータは、各セクタヘッダに割り付けられていることを特徴とする。
【0017】
また、本発明に係るプログラムは、コンピュータを、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段、読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムにおいて、前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする。
【0018】
まず、オブジェクト描画処理において、ストリーミングデータから順次セクタ単位にデータが読み出され、各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画が行われる。
【0019】
一方、字幕描画処理においては、同一の字幕に関するデータが組み込まれた複数のフレームデータから有効な複数のパケットデータを読み出し、これら複数のパケットデータが示す各字幕画像を、同じく複数のフレームデータから読み出した有効な複数のインデックスデータに基づいて配置して描画する。
【0020】
これにより、ストリーミングデータについて、3D画像のアニメーション表示において使用されるモーションデータと、字幕に関するデータとの共存を可能にすることができる。その結果、例えばビデオゲームなどの実際のシナリオの進行並びにそれに先立って表示される映像において、共にリアルタイムのポリゴン表示方式で各種オブジェクトを表示することができ、しかも、字幕も表示させることが可能となる。
【0021】
また、複数のフレームデータに関し、それぞれ同一の字幕に関するデータを組み込むようにしており、更に、各フレームデータへの字幕に関するデータの組み込みに当たっては、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとして組み込むようにしているため、ストリーミングデータに対する読出しの際のパケット損失の可能性を減らすことができ、表示すべき字幕が表示されない等の不具合を防止することができる。
【0022】
そして、前記各パケットデータは、それぞれ圧縮処理されており、前記字幕描画処理は、前記複数のパケットデータを伸長処理してそれぞれ字幕画像に復元し、これら復元された字幕画像を複数のインデックスデータに基づいて配置して描画するようにしてもよい。これにより、字幕に関するデータを記録するためのデータ容量を効率よく減らすことができる。
【0023】
また、1つのフレームデータにおける前記複数のパケットデータを、複数のセクタにわたって連続して配置し、前記複数のインデックスデータを、各セクタヘッダに割り付けるようにしてもよい。この場合、パケットデータやインデックスに対する読出しエラーの発生を低減することが可能となる。
【0024】
また、前記同一の字幕に関するデータを、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込むようにすることが好ましい。
【0025】
そして、前記ストリーミングデータから順次セクタ単位にデータを読み出す際に、読出しエラーを検出し、前記読出しエラーの情報に基づいて、1つのフレームデータにおける少なくとも前記字幕に関するデータの有効性を判別し、前記字幕に関するデータのうち、有効と判別されなかった前記パケットデータや前記インデックスデータを、前記同一の字幕に関するデータが含まれる他のフレームデータに対する読出しによって補完するようにしてもよい。この場合、1つのフレームデータにおける字幕に関するデータについて読出しエラーがあったとしても、字幕を鮮明に表示させることができる。
また、本発明に係る画像描画方法は、モーションデータと字幕に関するデータとを有するフレームデータに基づいて画像を描画する画像描画方法であって、前記字幕に関するデータは、ディスプレイの画面に表示される字幕画像が複数に分離された画像データと、各画像データの配置を示す情報とを有し、複数の前記フレームデータから順次読み出された前記モーションデータに基づいて前記ディスプレイの画面に動画像を表示するための画像描画を行うモーション描画ステップと、複数の前記フレームデータから順次読み出された前記字幕に関するデータに基づいて前記ディスプレイの画面に字幕画像を表示するための画像描画を行う字幕描画ステップとを有することを特徴とする。
前記字幕描画ステップは、前記読み出された前記字幕に関するデータに含まれる画像データを、該画像データに対応する配置を示す情報に基づいて配置描画するようにしてもよい。
また、前記字幕に関するデータにおける前記画像データは、該画像データを特定するインデックス情報と共に存在し、前記字幕に関するデータにおける前記配置を示す情報は、該配置を示す情報の対象となる画像データを特定するインデックス情報と共に存在し、前記字幕描画ステップは、インデックス情報が共に同じである画像データと配置を示す情報に基づいて、前記画像データを描画するようにしてもよい。
また、本発明に係るプログラムは、モーションデータと字幕に関するデータとを有し、前記字幕に関するデータは、ディスプレイの画面に表示される字幕画像が複数に分離された画像データと、各画像データの配置を示す情報とを有するフレームデータに基づいて画像を描画する画像描画装置を、複数の前記フレームデータから順次読み出された前記モーションデータに基づいて前記ディスプレイの画面に動画像を表示するための画像描画を行うモーション描画手段、複数の前記フレームデータから順次読み出された前記字幕に関するデータに基づいて前記ディスプレイの画面に字幕画像を表示するための画像描画を行う字幕描画手段、として機能させるためのプログラムである。
【0026】
【発明の実施の形態】
以下、本発明に係る画像描画方法、画像描画装置、データ構造、記録媒体及びプログラムを例えば3次元のCG処理を行うエンタテインメント装置に適用した実施の形態例(以下、単に実施の形態に係るエンタテインメント装置と記す)を図1〜図16を参照しながら説明する。
【0027】
本実施の形態に係るエンタテインメント装置10は、図1に示すように、このエンタテインメント装置10を制御するメインCPU12と、各種プログラムの動作や各種データの格納等に使用されるメインメモリ14と、前記メインCPU12の制御に基づいて画像データを生成し、表示装置16(この例ではCRT)に出力する画像処理部18と、外部機器とのデータの送受信を行うための入出力ポート20とを有して構成されている。
【0028】
前記メインCPU12には、バス22を介してメインメモリ14、画像処理部18及び入出力ポート20が接続されている。入出力ポート20には、例えばこのエンタテインメント装置10に対してデータ(キー入力データや座標データ等)を入力するための入出力装置24や、各種プログラムやデータ(オブジェクトに関するデータやテクスチャデータ等)が記録された例えばCD−ROM等の光ディスク26を再生する光ディスク装置28等が接続される。
【0029】
前記画像処理部18は、レンダリングエンジン30、メモリインターフェース32、画像メモリ34、表示制御装置36(例えばプログラマブルCRTコントローラ等)を有する。
【0030】
レンダリングエンジン30は、メインCPU12から供給される描画コマンドに対応して、メモリインターフェース32を介して、画像メモリ34に所定の画像データを描画する動作を実行する。
【0031】
メモリインターフェース32とレンダリングエンジン30との間には第1のバス38が接続され、メモリインターフェース32と画像メモリ34との間には第2のバス40が接続されている。第1及び第2のバス38及び40は、それぞれ例えば128ビットのビット幅を有し、レンダリングエンジン30が画像メモリ34に対して高速に描画処理を実行することができるようになっている。
【0032】
レンダリングエンジン30は、例えばNTSC方式、あるいはPAL方式などの320×240画素の画像データ、あるいは640×480画素の画像データを、リアルタイムに、即ち1/60秒〜1/30秒の間に、10数回〜数10回以上描画できる能力を有する。
【0033】
画像メモリ34は、例えばテクスチャエリア34aと表示エリア34bを同一のエリアに指定することができるユニファイドメモリ構造のものが採用されている。
【0034】
表示制御装置36は、光ディスク装置28を通じて取り込まれたテクスチャデータやメインメモリ14上で作成されたテクスチャデータをメモリインターフェース32を介して画像メモリ34のテクスチャエリア34aに書き込んだり、画像メモリ34の表示エリア34bに描画された画像データをメモリインターフェース32を介して読み取り、これを表示装置16に出力し、画面上に表示させるように構成されている。
【0035】
次に、この実施の形態に係るエンタテインメント装置10が有する特徴的な機能について図2〜図16を参照しながら説明する。
【0036】
この機能は、多数のフレームデータFD1、FD2、FD3・・・から構成されるストリーミングデータから順次セクタ単位にセクタデータSDを読み出して、各フレームデータFD1、FD2、FD3・・・に含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するためのオブジェクト描画処理を行い、更に各フレームデータFD1、FD2、FD3・・・に含まれる字幕に関するデータに基づいて字幕を表示するための字幕描画処理を行うものである。
【0037】
ここで、ストリーミングデータの内訳について説明する。ストリーミングデータは、図2に示すように、多数のフレームデータFD1、FD2、FD3・・・から構成されている。
【0038】
各フレームデータFD1、FD2、FD3・・・は、図3に示すように、カメラデータ(回転マトリクス、回転角度、スクリーン距離、座標)と、点光源データ(座標、色)×光源数と、モーションデータ(内訳は後述する)×モーションデータ数と、字幕テクスチャ圧縮データパーツTDP(内訳は後述する)×ワード数と、字幕テクスチャ情報(フレーム単位:内訳は後述する)とを含む。
【0039】
モーションデータの内訳は、まず、標準タイプ(拡大率が設定されていないタイプ)は、モデル番号、モーションデータ数、口データ、目データ、回転角度、座標、モーションデータ(回転角度及び座標)×モーションデータ数を含み、拡大率つきタイプは、モデル番号、モーションデータ数、口データ、目データ、回転角度、座標、拡大率、モーションデータ(回転角度及び座標)×モーションデータ数を含む。
【0040】
また、字幕テクスチャ圧縮データパーツTDPは、データパーツインデックスPI(ワード単位)と、データパーツサイズ(ワード単位)と、圧縮データパーツDP(データパーツサイズ分)であり、セクタ単位にパケット化されて格納されている。
【0041】
字幕テクスチャ情報(フレーム単位)は、字幕テクスチャIDと、転送幅と、転送高さと、表示時間(フレーム数)を含み、各フレームデータFD1、FD2、FD3・・・にそれぞれ1つの字幕テクスチャ情報が格納されるようになっている。
【0042】
更に、各フレームデータFD1、FD2、FD3・・・は、セクタ単位(例えば2048バイト単位)のセクタデータSDに分割されており、各セクタデータSDの先頭には例えば32バイト構造のセクタヘッダSHが配置される。従って、セクタデータSDの有効なデータ領域は1セクタ当たり、2048−32=2016バイトとなる。
【0043】
セクタヘッダSHの内訳は、図4に示すように、フレーム中でのセクタ番号と、フレームを構成するセクタ数と、ストリーミングデータ中でのフレーム番号と、フレームサイズ(Fmax)と、ユーザ定義領域とを含む。
【0044】
また、ユーザ定義領域の内訳は、光源データ数と、モーショングループ数と、光源演算用拡大率と、字幕テクスチャデータインデックスDI(ワード単位)と、パッド振動データIDと、字幕テクスチャ圧縮データパーツインデックスPI(ワード単位)とを含む。以下の説明では、字幕テクスチャデータインデックスDIを単にデータインデックスDIと記し、字幕テクスチャ圧縮データパーツインデックスPIを単にパーツインデックスPIと記す。
【0045】
ここで、セクタデータSDに格納される字幕テクスチャ圧縮データパーツTDPと、セクタヘッダSHに格納されるデータインデックスDI及びパーツインデックスPIとの関係を図5の表示例及び図6の概念図も参照しながら説明する。
【0046】
図5には、複数のオブジェクト(5人の人物を示すオブジェクトJ、K、L、S、Pとヘリコプタを示すオブジェクト100)が3D画像で表示され、更に、画面102の下部において字幕104(字幕画像ともいう)が表示された例を示している。そして、字幕画像104は、図6に示すように、例えば2行8列のビットマップデータBMDに分割されている。
【0047】
各ビットマップデータBMDは圧縮されて圧縮データパーツDPとしてセクタデータSDの字幕テクスチャ圧縮データパーツTDPに格納されており、それぞれパーツインデックスPIが付与されている。また、ビットマップデータBMDの配置情報は、セクタヘッダSHに登録されたパーツインデックスPIとデータインデックスDIとで示される。つまり、セクタデータSDの字幕テクスチャ圧縮データパーツTDPに含まれるパーツインデックスPIから簡単に実質的な配置情報であるデータインデックスDIが割り出せるようになっている。
【0048】
また、セクタヘッダSHと字幕テクスチャ圧縮データパーツTDPにそれぞれパーツインデックスPIを登録することにより、セクタデータSDに登録すべき圧縮データパーツDPを容易に把握することができ、プログラムデバッグやシステム保守などに要する時間を短縮することができる。
【0049】
そして、字幕画像104を表示する場合には、まず、読み出したセクタデータSDに含まれている字幕テクスチャ圧縮データパーツTDPの圧縮データパーツDPを伸長処理してビットマップデータBMDに復元し、更に、画像メモリ34のテクスチャエリア34aのうち、当該セクタデータSDにおけるセクタヘッダSHに含まれているデータインデックスDIに対応する座標に前記ビットマップデータBMDを描画する。この一連の処理を順次繰り返して、1つのシーンに表示すべき字幕画像104を作成し、該字幕画像104を画像メモリ34の表示エリア34bにおける所定の座標に表示することで、図5に示すように、字幕104が表示されることになる。
【0050】
なお、パーツインデックスPIは、当該パーツインデックスPIが示す圧縮データパーツDPが伸長処理されてビットマップデータBMDとして描画されたかどうかを判別するのに使用してもよい。
【0051】
上述の例では、セクタデータSDに、該セクタデータSDのセクタヘッダSHに格納されたパーツインデックスPIに対応した字幕テクスチャ圧縮データパーツTDPを格納させた場合について説明したが、その他、字幕テクスチャ圧縮データパーツTDPをセクタ単位に格納するのではなく、複数の字幕テクスチャ圧縮データパーツTDPを連続して格納した場合にも適用させることができる。この場合、セクタヘッダSHに格納されたパーツインデックスPIに基づいて、当該インデックスPIに対応する圧縮データパーツDPを検索する、という手法を採用することができる。
【0052】
更に、本実施の形態では、以下のようなデータ構造を採用している。即ち、1つのフレームデータFDに格納された複数の字幕テクスチャ圧縮データパーツTDP、並びに複数のデータインデックスDIや複数のパーツインデックスPIを1つの字幕に関するデータとして定義したとき、複数のフレームデータFD1、FD2、FD3・・・に関し、それぞれ同一の字幕に関するデータが組み込まれるようになっている。特に、本実施の形態では、前記字幕に関するデータが示す字幕を表示する時間(フレーム数)に対応するフレームデータFD1、FD2、FD3・・・に関し、それぞれ同一の字幕に関するデータが組み込まれている。
【0053】
図7では、字幕Aに関するデータが複数のフレームデータFD1、FD2・・・FDjにそれぞれ多重化されて組み込まれ、字幕Bに関するデータが複数のフレームデータFDj+1、FDj+2・・・FDmにそれぞれ多重化されて組み込まれ、字幕Cに関するデータが複数のフレームデータFDm+1、FDm+2・・・FDnにそれぞれ多重化されて組み込まれた例を示す。
【0054】
次に、上述の機能を実現するためのソフトウエア(画像描画手段200)の一例について図8〜図16を参照しながら説明する。
【0055】
この画像描画手段200は、例えば光ディスク26のようなランダムアクセス可能な記録媒体、さらにはネットワークによって、エンタテインメント装置10に提供されるようになっている。ここでは、光ディスク26からエンタテインメント装置10に読み込まれて動作する場合を想定して説明を進める。
【0056】
即ち、この画像描画手段200は、例えば予めエンタテインメント装置10にて再生される特定の光ディスク26から所定の処理を経てエンタテインメント装置10のメインメモリ14に格納されることによって、メインCPU12上で動作されるようになっている。
【0057】
そして、この画像描画手段200は、図8に示すように、多数のフレームデータFD1、FD2、FD3・・・から構成されるストリーミングデータから順次セクタ単位にセクタデータSDを読み出す情報読出し手段202と、読み出されたセクタデータSDから構成される各フレームデータFD1、FD2、FD3・・・に含まれた少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段204と、各フレームデータFD1、FD2、FD3・・・に含まれる字幕に関するデータに基づいて字幕画像104を表示するための画像描画処理を行う字幕描画手段206と、画像メモリ34に描画された画像データを表示装置16の画面102上に表示するための画像表示手段208とを有する。
【0058】
即ち、オブジェクト描画手段204は、1つのフレームデータに基づいて、1つの場面に登場する1つ以上のオブジェクトの3D画像をポリゴン描画方式で画像メモリ34に描画する。また、字幕描画手段206は、字幕104の表示時間に相当する複数のフレームデータから有効な圧縮データパーツDPを読み出し、伸長処理して、元のビットマップ形式の字幕データ(ビットマップデータBMD)に復元し、当該ビットマップデータBMDをデータインデックスに対応する座標に描画するという処理をワード数だけ行って、字幕104を完成させる。
【0059】
前記情報読出し手段202は、具体的には、光ディスク装置28を介して再生される1セクタ単位のデータ(セクタデータSD)を順次メインメモリ14に格納するという処理に加えて、光ディスク装置28から供給される再生エラー信号に基づいて読出し不良を認識し、対応するエラー検出フラグ210の該当ビットをセットする、というエラー検出処理も行うようになっている。
【0060】
また、前記画像描画手段200は、上述の各種手段に加えて、読み出されたセクタデータSDの内容に基づいて情報読出し手段202での読出し処理を制御する読出し制御手段212と、各種エラー検出フラグ210のビット情報に基づいてセクタデータSDの有効/無効を判別する情報有効判別手段214とを有する。
【0061】
一方、字幕描画手段206は、図9に示すように、有効に読み出されたセクタヘッダSDから字幕に関するインデックス(データインデックスDI及びパーツインデックスPI)を読み出すインデックス読出し手段220と、有効に読み出されたセクタデータSDから字幕テクスチャ圧縮データパーツTDPを読み出すパーツ読出し手段222と、読み出された字幕テクスチャ圧縮データパーツTDPのうち、圧縮データパーツDPに対して伸長処理を施してビットマップデータBMDに復元する伸長処理手段224と、復元したビットマップデータBMDを、画像メモリ34のうち、各種インデックスが示す位置に描画するデータ描画手段226とを有する。
【0062】
次に、上述の画像描画手段200の処理動作を図10〜図16のフローチャートを参照しながら説明する。まず、前提事項について説明すると、画像描画手段200と情報有効判別手段214は互いにマルチタスク方式で動作する。情報読出し手段202において1度に読み出すフレーム数は、字幕の表示時間に相当するフレーム数としている。もちろん、これ以外に例えば20フレーム単位に読み出すなどの仕様にしてもよい。
【0063】
情報読出し手段202においてアクセス中のフレームデータと、情報有効判別手段214においてアクセス中のフレームデータが互いに一致しないように、即ち、互いのインターロックをとるために、ワーク領域並びにエラー検出フラグ210を擬似的なダブルバッファ方式としている。
【0064】
この画像描画手段200は、まず、図10のステップS1において、各種パラメータ及びフラグ類の初期化を行う。具体的には、例えばワーク領域の選択に用いられるインデックスレジスタkに初期値「1」を格納し、ワーク領域内でのフレームデータを格納する領域の選択に用いられるインデックスレジスタmに初期値「0」を格納し、各種エラー検出フラグ210を初期化する。また、フレームを構成するセクタ数Aや字幕の表示時間(フレーム数B)をそれぞれ最大値Amax、Bmaxとする。
【0065】
次に、ステップS2において、光ディスクから読み取るべきフレームデータの検索に用いられるインデックスレジスタiに初期値「0」を格納して、該インデックスレジスタiを初期化し、次いで、ステップS3において、セクタの検索に用いられるインデックスレジスタjに初期値「0」を格納して、該インデックスレジスタjを初期化する。
【0066】
次に、ステップS4において、情報読出し手段202を通じて、光ディスク26に記録されているストリーミングデータからiフレームにおけるjセクタ目のセクタデータSDを光ディスク装置28を介して読み出し、次いで、ステップS5において、光ディスク装置28から読出しエラーを受けたか否かが判別される。
【0067】
読出しエラーでなければ、次のステップS6において、情報読出し手段202を通じて、前記読み出したセクタデータSDを、k番目のワーク領域のうち、mフレームに対応する領域のjセクタ目に格納する。
【0068】
読出しエラーであれば、ステップS7において、情報読出し手段202を通じて、k番目のエラー検出フラグ群のうち、mフレームに関するエラー検出フラグ210のjビット目にエラーを示すビット情報、例えば「1」を格納する。即ち、前記jビット目にエラービットをセットする。
【0069】
前記ステップS6あるいはステップS7での処理が終了した段階で、次のステップS8に進み、インデックスレジスタjの値を+1更新した後、ステップS9において、読出し制御手段212を通じて、今回のフレームデータにおける全てのセクタデータSDに対してアクセスしたか否かを判別する。
【0070】
この判別は、正常に読み出したセクタデータSDがあれば、インデックスレジスタjの値が、セクタヘッダSHに登録されている「フレームを構成するセクタ数A」以上であるかどうかで行われ、正常に読み出したセクタデータSDがなければ、初期設定において最大値に設定されたセクタ数Amax以上であるかどうかで行われる。通常、正常に読み出したセクタデータSDが必ず1つ以上存在するため、前者の判別手法で行われる。
【0071】
今回のフレームデータにおける全てのセクタデータSDに対してアクセスしていない場合は、前記ステップS4に戻って、該ステップS4以降の処理を繰り返す。
【0072】
そして、今回のフレームデータにおける全てのセクタデータSDに対してアクセスを行った場合は、次のステップS10において、インデックスレジスタi及びmの値をそれぞれ+1更新した後、ステップS11において、読出し制御手段212を通じて、今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対してアクセスしたか否かを判別する。
【0073】
この判別は、正常に読み出した字幕テクスチャ情報があれば、インデックスレジスタmの値が、字幕テクスチャ情報に登録されている「表示時間(フレーム数)B」以上であるかどうかで行われ、正常に読み出した字幕テクスチャ情報がなければ、初期設定において最大値に設定されたフレーム数Bmax以上であるかどうかで行われる。通常、正常に読み出した字幕テクスチャ情報が必ず1つ以上存在するため、この場合も前者の判別手法で行われる。
【0074】
今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対してアクセスしていない場合は、前記ステップS3に戻って、該ステップS3以降の処理を繰り返す。
【0075】
そして、今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対してアクセスを行った場合は、図11のステップS12に進み、インデックスレジスタpに、現在のインデックスレジスタkの値を保持させ、次のステップS13〜S15において、インデックスレジスタkの値として、前回のワーク領域とは異なる別のワーク領域を指示する値に変更する。
【0076】
次に、ステップS16において、現在、情報有効判別手段214が動作中でないか否かを判別する。この判別は、動作中フラグが「動作中でない」ことを示す例えば「0」であるかどうかで行われる。
【0077】
情報有効判別手段214が動作中でなければ、ステップS17において、情報有効判別手段214を起動し、続いて、ステップS18において、全ての処理が終了したか否かを判別する。この判別は、正常に読み出したセクタデータSDがあれば、インデックスレジスタiの値がセクタヘッダSHに登録されている「フレームサイズFmax」以上であるかどうかで行われる。
【0078】
全ての処理が終了していなければ、次のステップS19において、各種パラメータの初期化を行う。具体的には、例えばインデックスレジスタmを初期化したり、フレームを構成するセクタ数Aや字幕104の表示時間(フレーム数B)をそれぞれ最大値Amax、Bmaxとする。その後、図10の前記ステップS3に戻って、該ステップS3以降の処理を繰り返す。
【0079】
そして、前記ステップS18において、全ての処理が終了したと判別された段階で、この画像描画手段200での処理が終了する。
【0080】
次に、情報有効判別手段214の処理動作について図12〜図16を参照しながら説明する。この情報有効判別手段214は、まず、図12のステップS101において、動作中フラグに動作中を示す「1」をセットする。その後、ステップS102において、フレーム検索に用いられるインデックスレジスタnに初期値「0」を格納して、該インデックスレジスタnを初期化する。
【0081】
次に、ステップS103及びステップS104において、p番目のワーク領域に関するnフレーム目のフレームデータについて、そのカメラに関するデータの有効性を判別する。この判別は、p番目のエラー検出フラグ群のうち、nフレームに関するエラー検出フラグ210の情報、特に、カメラに関するデータに対応するビット位置の情報に基づいて行われる。
【0082】
カメラに関するデータが有効であると判別された場合は、次のステップS105に進み、今回のカメラに関するデータをカメラ設定領域230(図8参照)に格納した後、次のステップS106において、カメラ有効フラグに有効を示す「1」をセットする。
【0083】
次に、ステップS107及びステップS108において、p番目のワーク領域に関するnフレーム目のフレームデータについて、その光源に関するデータの有効性を判別する。この判別も、p番目のエラー検出フラグ群のうち、nフレームに関するエラー検出フラグ210の情報、特に、光源に関するデータに対応するビット位置の情報に基づいて行われる。
【0084】
光源に関するデータが有効であれば、次のステップS109に進み、今回の光源に関するデータを光源設定領域232に格納した後、次のステップS110において、光源有効フラグに有効を示す「1」をセットする。
【0085】
次に、図13のステップS111において、カメラ及び光源が有効であるか否かを判別する。この判別は、カメラ有効フラグ及び光源有効フラグが共に有効を示す「1」がセットされているかどうかで行われる。
【0086】
有効であれば、次のステップS112に進み、オブジェクト描画手段204での処理に入る。このオブジェクト描画手段204は、まず、図14のステップS201において、カメラ設定領域230に格納されているカメラに関するデータに基づいてカメラの位置を設定する。
【0087】
次に、ステップS202において、モーションデータの検索に用いられるインデックスレジスタrに初期値「0」を格納して、該インデックスレジスタrを初期化する。
【0088】
次に、ステップS203及びステップS204において、p番目のワーク領域に関するnフレーム目のフレームデータについて、r番目のモーションデータの有効性を判別する。この判別は、p番目のエラー検出フラグ群のうち、nフレームに関するエラー検出フラグ210の情報、特に、r番目のモーションデータに対応するビット位置の情報に基づいて行われる。
【0089】
r番目のモーションデータが有効であると判別された場合は、次のステップS205に進み、r番目のモーションデータのモデル番号に対応するオブジェクトデータを読み出す。
【0090】
次に、ステップS206において、オブジェクトデータの頂点データを、今回のモーションデータに基づいて書き換え、続いて、ステップS207において、光源に関するデータ等に基づいて光学特性を付与し、更に、テクスチャマッピング等を施して、今回のオブジェクトデータについてレンダリング処理を行って、画像メモリ34の表示エリア34bに当該モデル番号に対応する3D画像データを描画する。このレンダリング処理にあたっては、モーションデータに含まれる口データに基づいてオブジェクトの口が開いたり閉じたりする画像と、目データに基づいてオブジェクトの目が開いたり閉じたりする画像も同時に描画される。
【0091】
次に、ステップS208において、今回のモデル番号に対応するオブジェクトについて特殊効果が必要であるか否かを判別する。この判別は、オブジェクト情報テーブルに基づいてモデル番号が特殊効果を必要とする番号であるかどうかで行われる。この特殊効果としては、例えば煙、炎、霧などが挙げられる。
【0092】
特殊効果が必要なモデル番号であれば、次のステップS209に進み、オブジェクト情報テーブルに登録された特殊効果付与プログラム、例えばモデル番号に対応するレコードに登録された特殊効果付与プログラムが起動される。この特殊効果付与プログラムの起動によって、例えば煙、炎、霧などの特殊効果による画像が描画されることになる。
【0093】
前記ステップS209での処理が終了した段階、又は前記ステップS204においてr番目のモーションデータが有効でないと判別された場合は、次のステップS210において、インデックスレジスタrの値を+1更新した後、次のステップS211において、当該フレームについてのオブジェクト描画が終了したか否かを判別する。この判別は、当該フレームデータ内の全てのモーションデータについてアクセスしたかどうかで行われる。即ち、インデックスレジスタrの値が当該フレームデータに登録されているモーションデータ数以上であるかどうかで行われる。
【0094】
当該フレームについてのオブジェクト描画が終了していない場合は、前記ステップS203に戻り、次のモーションデータについての処理を行う。一方、前記ステップS211において、当該フレームについてのオブジェクト描画が終了したと判別された場合は、このオブジェクト描画手段204での処理が終了する。
【0095】
図13のルーチンに戻り、次のステップS113において、字幕描画手段206での処理に入る。この字幕描画手段206は、まず、図15のステップS301において、有効なワードの検索に用いられるインデックスレジスタuに初期値「0」を格納して、該インデックスレジスタuを初期化する。
【0096】
次に、ステップS302において、新しい字幕104であるか否かを判別する。この判別は、インデックスレジスタnの値が「0」であるかどうかで行われる。新しい字幕104であれば、次のステップS303に進み、フレームの検索に用いられるインデックスレジスタsに初期値「0」を格納して、該インデックスレジスタsを初期化する。
【0097】
次に、ステップS304において、セクタの検索に用いられるインデックスレジスタtに初期値「0」を格納して、該インデックスレジスタtを初期化し、次いで、ステップS305及びステップS306において、p番目のワーク領域に関するsフレーム目のフレームデータについて、t番目のセクタデータの有効性を判別する。
【0098】
この判別は、まず、p番目のエラー検出フラグ群のうち、sフレームに関するエラー検出フラグ210の情報、特に、t番目のセクタデータSDに対応するビット位置の情報に基づいて行われ、更に、このt番目のセクタデータSDに字幕テクスチャ圧縮データパーツTDPが存在するかどうかで行われる。字幕テクスチャ圧縮データパーツTDPの存在如何は、セクタヘッダSHに登録されたデータインデックスDIやパーツインデックスPIが有効な値であるかどうかで判別される。
【0099】
t番目のセクタデータSDが有効である場合は、次のステップS307において、インデックス読出し手段220を通じて、当該セクタヘッダSHから各種インデックス(データインデックスDI及びパーツインデックスPI)を読み出す。
【0100】
次に、ステップS308において、今回の圧縮データパーツDPが既に処理済みであるか否か、即ち、ビットマップデータBMDに復元されて描画されたか否かを判別する。この判別は、今回のパーツインデックスPIが処理済みであるパーツインデックスPIに含まれているかどうかで行われる。
【0101】
処理済みでなければ、次のステップS309に進み、パーツ読出し手段222を通じて、当該セクタデータSDから圧縮データパーツDPを読み出す。その後、ステップS310において、伸長処理手段224を通じて、前記読み出した圧縮データパーツDPをデータパーツサイズ等の情報に基づいて伸長処理を行い、ビットマップタイプのワード単位の字幕データ(ビットマップデータBMD)に復元する。
【0102】
次に、ステップS311において、データ描画手段226を通じて、前記復元したビットマップデータBMDをテクスチャエリア34aのデータインデックスDIに対応する座標に描画する。その後、ステップS312において、インデックスレジスタuの値を+1更新する。
【0103】
前記ステップS312での処理が終了した段階、又は前記ステップS308において当該圧縮データパーツDPが処理済みであると判別された場合、あるいは前記ステップS306において当該セクタデータSDが有効でないと判別された場合は、図16のステップS313に進み、インデックスレジスタtの値を+1更新する。
【0104】
次に、ステップS314において、今回のフレームデータにおける全てのセクタデータSDに対してアクセスしたか否かを判別する。この判別は、インデックスレジスタtの値が、セクタヘッダSHに登録されている「フレームを構成するセクタ数A」以上であるかどうかで行われる。
【0105】
今回のフレームデータにおける全てのセクタデータSDに対してアクセスしていない場合は、図15の前記ステップS305に戻り、次のセクタデータSDに対する処理を行う。そして、今回のフレームデータにおける全てのセクタデータSDに対してアクセスを行った場合は、図16のステップS315に進み、今回の字幕104が完成したか否かを判別する。この判別は、インデックスレジスタuの値が規定のワード数以上であるかどうかで行われる。
【0106】
字幕104が完成していない場合は、次のステップS316に進み、インデックスレジスタsの値を+1更新した後、図15の前記ステップS304に戻り、該ステップS304以降の処理を繰り返す。一方、字幕104が完成している場合は、図16のステップS317に進み、データ描画手段226を通じて、前記テクスチャエリア34aに描画されている規定ワード数の字幕画像104を表示エリア34bの所定の座標に描画する。
【0107】
他方、図15の前記ステップS302において、新しい字幕104でないと判別された場合は、ステップS318に進み、字幕104がすでに完成されているか否か、即ち、処理済みであるかどうかを判別する。処理済みでなければ、前記ステップS303以降の処理に進み、処理済みであれば、図16の前記ステップS317に進んでテクスチャエリア34aに描画されている規定ワード数の字幕画像104を表示エリア34bの所定の座標に描画する。
【0108】
そして、前記ステップS317での処理が終了した段階で、この字幕描画手段206での処理が終了する。
【0109】
図13のルーチンに戻り、次のステップS114において、画像表示手段208を通じて、画像メモリ34に描画された画像データを表示装置16に出力して、該表示装置16の画面上にオブジェクトに関する画像データと字幕104を表示させる。
【0110】
前記ステップS114での処理が終了した段階、又は前記ステップS111においてカメラ又は光源が有効でないと判別された場合は、次のステップS115に進み、インデックスレジスタnの値を+1更新する。
【0111】
次に、ステップS116において、今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対してアクセスしたか否かを判別する。この判別は、インデックスレジスタmの値が、字幕テクスチャ情報に登録されている「表示時間(フレーム数)B」以上であるかどうかで行われる。
【0112】
今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対してアクセスしていない場合は、図12の前記ステップS103に戻り、次のフレームデータに対する処理を行う。
【0113】
そして、今回の字幕104の表示時間(フレーム数)に相当するフレームデータに対して全てアクセスした場合は、図13のステップS117に進み、動作中フラグを「0」にリセットした後、この情報有効判別手段214での処理が終了する。
【0114】
上述の情報読出し手段202、読出し制御手段212、情報有効判別手段214、オブジェクト描画手段204及び字幕描画手段206が動作することによって、まず、画像メモリ34に対し、フレーム単位に1つ以上のオブジェクトの3D画像が描画される。
【0115】
更に、フレーム単位に、同一の字幕に関するデータが組み込まれた複数のフレームデータから有効な複数のセクタデータSDが読み出され、これら複数のセクタデータSDに含まれるワード単位の圧縮データパーツDPが伸長処理されてそれぞれビットマップデータBMDに復元され、該復元されたビットマップデータBMDが、画像メモリ34のうち、同じく複数のフレームデータから読み出した有効な複数のセクタヘッダSHに含まれるインデックス(データインデックスDI及びパーツインデックスPI)に基づく所要位置に描画される。
【0116】
つまり、オブジェクトの描画にあたっては、1つのフレームデータに登録されたモーションデータに基づいてオブジェクトの3D画像が描画され、字幕104の描画にあたっては、該字幕104の表示時間に相当する複数のフレームデータに登録された同一の字幕に関するデータに基づいて字幕104が描画されることになる。
【0117】
このように、本実施の形態においては、フレームデータを構成する複数のセクタデータSDにワード単位に字幕テクスチャ圧縮データパーツTDPを割り当ててパケット化し、各字幕テクスチャ圧縮データパーツTDPに含まれる圧縮データパーツDPを伸長処理した後のビットマップデータBMDの配置を示すインデックス(データインデックスDI及びパーツインデックスPI)をそれぞれセクタヘッダSHに登録したので、ストリーミングデータについて、3D画像のアニメーション表示において使用されるモーションデータと、字幕に関するデータとの共存を可能にすることができる。
【0118】
その結果、例えばビデオゲームなどの実際のシナリオの進行並びにそれに先立って表示される映像において、共にリアルタイムのポリゴン表示方式で各種オブジェクトを表示することができ、しかも、字幕も表示させることが可能となる。
【0119】
特に、本実施の形態では、同一の字幕に関し、該字幕の表示時間(フレーム数)に相当するフレームデータに、それぞれ同じ字幕に関するデータ(パケット化された字幕テクスチャ圧縮データパーツTDPやインデックス(DI、PI))を割り当てるようにし、更に上述のように、各フレームデータFD1、FD2、FD3・・・への字幕に関するデータの組み込みに当たっては、各セクタデータSDに字幕テクスチャ圧縮データパーツTDPをワード単位に登録してパケット化し、伸長処理後のビットマップデータBMDの配置情報を示すインデックス(DI、PI)を各セクタヘッダSHに登録するようにしたので、例えば光ディスク26に記録されたストリーミングデータに対する読出しの際のパケット損失の頻度を減らすことができ、しかも、字幕テクスチャ圧縮データパーツTDPやインデックス(DI、PI)に対する読出しエラーの発生を低減することが可能となり、表示すべき字幕が表示されない等の不具合を防止することができる。
【0120】
更に、本実施の形態では、各字幕テクスチャ圧縮データパーツTDPに含まれる圧縮データパーツDPをそれぞれ圧縮処理するようにしているため、字幕に関するデータを記録するためのデータ容量を効率よく減らすことができる。
【0121】
特に、本実施の形態では、前記ストリーミングデータから順次セクタ単位にセクタデータSDを読み出す際に、読出しエラーを検出し、該読出しエラーの情報に基づいて、1つのフレームデータにおける少なくとも前記字幕に関するデータの有効性を判別し、該字幕に関するデータのうち、有効と判別されなかったセクタデータSDを、同一の字幕に関するデータが含まれる他のフレームデータに対する読出しによって補完するようにしたので、1つのフレームデータにおける字幕に関するデータについて読出しエラーがあったとしても、字幕を鮮明に表示させることができる。
【0122】
なお、この発明に係る画像描画方法、画像描画装置、データ構造、記録媒体及びプログラムは、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0123】
【発明の効果】
以上説明したように、本発明に係る画像描画方法、画像描画装置、データ構造、記録媒体及びプログラムによれば、実際のシナリオの進行並びにそれに先立って表示される映像において、共にリアルタイムのポリゴン表示方式で各種オブジェクトを表示することができ、しかも、読出しエラーがあったとしても字幕を鮮明に表示させることができる。
【図面の簡単な説明】
【図1】本実施の形態に係るエンタテインメント装置の構成を示すブロック図である。
【図2】ストリーミングデータの内訳を示す説明図である。
【図3】フレームデータの内訳を示す説明図である。
【図4】セクタヘッダの内訳を示す説明図である。
【図5】本実施の形態に係るエンタテインメント装置による画像表示例を示す説明図である。
【図6】セクタデータに登録された圧縮データパーツとセクタヘッダに登録された各種インデックスに基づいて字幕を作成する過程を示す概念図である。
【図7】複数のフレームデータに対して同一の字幕に関するデータを多重化して組み込んだ例を示す説明図である。
【図8】本実施の形態に係るエンタテインメント装置にて動作する画像描画手段の構成を示す機能ブロック図である。
【図9】字幕描画手段の構成を示す機能ブロック図である。
【図10】画像描画手段の処理動作を示すフローチャート(その1)である。
【図11】画像描画手段の処理動作を示すフローチャート(その2)である。
【図12】情報有効判別手段の処理動作を示すフローチャート(その1)である。
【図13】情報有効判別手段の処理動作を示すフローチャート(その2)である。
【図14】オブジェクト描画手段の処理動作を示すフローチャートである。
【図15】字幕描画手段の処理動作を示すフローチャート(その1)である。
【図16】字幕描画手段の処理動作を示すフローチャート(その2)である。
【符号の説明】
10…エンタテインメント装置 16…表示装置
18…画像処理部 26…光ディスク
34…画像メモリ 104…字幕(字幕画像)
200…画像描画手段 202…情報読出し手段
204…オブジェクト描画手段 206…字幕描画手段
208…画像表示手段 214…情報有効判別手段
SD…セクタデータ SH…セクタヘッダ
DI…データインデックス PI…パーツインデックス
DP…圧縮データパーツ BMD…ビットマップデータ
Claims (19)
- 多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出して、各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するためのオブジェクト描画処理を行い、
各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための字幕描画処理を行うものであって、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕描画処理は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする画像描画方法。 - 請求項1記載の画像描画方法において、
前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、
前記字幕描画処理は、前記複数のパケットデータが示す各字幕画像を複数のインデックスデータに基づいて配置して描画することを特徴とする画像描画方法。 - 請求項1又は2記載の画像描画方法において、
前記同一の字幕に関するデータは、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込まれていることを特徴とする画像描画方法。 - 請求項1〜3のいずれか1項に記載の画像描画方法において、
前記ストリーミングデータから順次セクタ単位にデータを読み出す際に、読出しエラーを検出し、
前記読出しエラーの情報に基づいて、1つのフレームデータにおける少なくとも前記字幕に関するデータの有効性を判別し、
前記字幕に関するデータのうち、有効と判別されなかった前記パケットデータや前記インデックスデータを、前記同一の字幕に関するデータが含まれる他のフレームデータに対する読出しによって補完することを特徴とする画像描画方法。 - 多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段と、
読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段と、
各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段とを有する画像描画装置において、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする画像描画装置。 - 請求項5記載の画像描画装置において、
前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、
前記字幕描画手段は、前記複数のパケットデータが示す各字幕画像を複数のインデックスデータに基づいて配置して描画することを特徴とする画像描画装置。 - 請求項5又は6記載の画像描画装置において、
前記同一の字幕に関するデータは、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込まれていることを特徴とする画像描画装置。 - 請求項5〜7のいずれか1項に記載の画像描画装置において、
前記情報読出し手段は、前記ストリーミングデータから順次セクタ単位にデータを読み出す際に、前記読出しエラーを検出する手段と、前記読出しエラーの情報に基づいて、1つのフレームデータにおける少なくとも前記字幕に関するデータの有効性を判別する情報有効判別手段とを有し、
前記字幕描画手段は、前記字幕に関するデータのうち、有効と判別されなかった前記パケットデータや前記インデックスデータを、前記同一の字幕に関するデータが含まれる他のフレームデータに対する読出しによって補完することを特徴とする画像描画装置。 - コンピュータのオブジェクト描画処理によって、多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出して、各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するように制御し、さらに、前記コンピュータの字幕描画処理によって、各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するように制御するために使用されるデータ構造であって、
前記ストリーミングデータは、前記字幕描画処理によって、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完するように、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれていることを特徴とするデータ構造。 - 請求項9記載のデータ構造において、
前記字幕に関するデータは、前記字幕描画処理によって、複数のパケットデータが示す各字幕画像を複数のインデックスデータに基づいて配置して描画するように、字幕データをパケット化してなる複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有することを特徴とするデータ構造。 - コンピュータを、3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムによって使用されるストリーミングデータを有するデータ構造であって、
前記ストリーミングデータは、多数のフレームデータから構成され、各フレームデータは、少なくとも3D画像のアニメーションを表示するための画像描画処理に使用されるモーションデータと、字幕を表示するための画像描画処理に使用される字幕に関するデータを含み、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、
1つのフレームデータにおける前記複数のパケットデータは、複数のセクタにわたって連続して配置され、
前記複数のインデックスデータは、各セクタヘッダに割り付けられていることを特徴とするデータ構造。 - 請求項11記載のデータ構造において、
前記同一の字幕に関するデータは、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込まれていることを特徴とするデータ構造。 - コンピュータを、
多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段、
読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、
各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とする記録媒体。 - 請求項13記載の記録媒体において、
前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、
前記字幕描画手段は、前記複数のパケットデータが示す各字幕画像を複数のインデックスデータに基づいて配置して描画することを特徴とする記録媒体。 - 請求項13又は14記載の記録媒体において、
前記同一の字幕に関するデータは、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込まれていることを特徴とする記録媒体。 - 請求項13〜15のいずれか1項に記載の記録媒体において、
前記情報読出し手段は、前記ストリーミングデータから順次セクタ単位にデータを読み出す際に、前記読出しエラーを検出する手段と、前記読出しエラーの情報に基づいて、1つのフレームデータにおける少なくとも前記字幕に関するデータの有効性を判別する情報有効判別手段とを有し、
前記字幕描画手段は、前記字幕に関するデータのうち、有効と判別されなかった前記パケットデータや前記インデックスデータを、前記同一の字幕に関するデータが含まれる他のフレームデータに対する読出しによって補完することを特徴とする記録媒体。 - コンピュータを、3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムによって使用されるストリーミングデータが少なくとも記録された記録媒体であって、
前記ストリーミングデータは、多数のフレームデータから構成され、各フレームデータは、少なくとも3D画像のアニメーションを表示するための画像描画処理に使用されるモーションデータと、字幕を表示するための画像描画処理に使用される字幕に関するデータを含み、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕に関するデータは、字幕データをパケット化した複数のパケットデータと、各パケットデータの配置を示す複数のインデックスデータとを有し、
1つのフレームデータにおける前記複数のパケットデータは、複数のセクタにわたって 連続して配置され、
前記複数のインデックスデータは、各セクタヘッダに割り付けられていることを特徴とする記録媒体。 - 請求項17記載の記録媒体において、
前記同一の字幕に関するデータは、当該字幕を表示すべき時間に相当するフレーム数にわたる複数のフレームデータに組み込まれていることを特徴とする記録媒体。 - コンピュータを、
多数のフレームデータから構成されるストリーミングデータから順次セクタ単位にデータを読み出す情報読出し手段、
読み出された各フレームデータに含まれる少なくともモーションデータに基づいて3D画像のアニメーションを表示するための画像描画処理を行うオブジェクト描画手段、
各フレームデータに含まれる字幕に関するデータに基づいて字幕を表示するための画像描画処理を行う字幕描画手段として機能させるためのプログラムにおいて、
前記ストリーミングデータは、複数のフレームデータに関し、それぞれ同一の字幕に関するデータが組み込まれ、
前記字幕描画手段は、前記ストリーミングデータの読み出し時に、読み出しエラーが検出された場合に、読み出しエラー対象のフレームデータの字幕に関するデータを、他のフレームデータに対する読み出しによって補完して描画することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001163615A JP3599185B2 (ja) | 2000-05-31 | 2001-05-31 | 画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-163545 | 2000-05-31 | ||
JP2000163545 | 2000-05-31 | ||
JP2001163615A JP3599185B2 (ja) | 2000-05-31 | 2001-05-31 | 画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002074393A JP2002074393A (ja) | 2002-03-15 |
JP2002074393A5 JP2002074393A5 (ja) | 2004-09-16 |
JP3599185B2 true JP3599185B2 (ja) | 2004-12-08 |
Family
ID=26593112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001163615A Expired - Fee Related JP3599185B2 (ja) | 2000-05-31 | 2001-05-31 | 画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3599185B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4993334B2 (ja) * | 2005-09-21 | 2012-08-08 | サミー株式会社 | 動画像表示装置 |
US20120128327A1 (en) * | 2009-08-05 | 2012-05-24 | Panasonic Corporation | Video reproducing device |
-
2001
- 2001-05-31 JP JP2001163615A patent/JP3599185B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002074393A (ja) | 2002-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4778865B2 (ja) | 画像ビューワ、画像表示方法及びプログラム | |
JP3725460B2 (ja) | 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス | |
JP5706241B2 (ja) | 画像生成プログラム、画像生成装置、画像生成システム及び画像生成方法 | |
US20070126874A1 (en) | Image processing device, image processing method, and information storage medium | |
JP2008504621A (ja) | データ処理の制御 | |
JP2006518237A (ja) | データ処理の制御 | |
JP3495189B2 (ja) | 描画装置および描画方法 | |
JP4728721B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US7932903B2 (en) | Image processor, image processing method and information storage medium | |
JP3599185B2 (ja) | 画像描画方法、画像描画装置、データ構造、記録媒体及びプログラム | |
US6639600B2 (en) | Image drawing method, image drawing apparatus, recording medium, and program | |
US7362327B2 (en) | Method for drawing object that changes transparency | |
JP3431534B2 (ja) | ゲームシステム及び情報記憶媒体 | |
US11640688B2 (en) | Apparatus and method for data generation | |
US6728420B2 (en) | Image processing apparatus, image processing method, recording medium and its program | |
EP1316343B1 (en) | Video game processing method, video game processing apparatus and computer readable recording medium storing video game program | |
JP3490983B2 (ja) | 画像処理方法及び画像処理用プログラム | |
JP5057378B2 (ja) | 画像処理装置及び方法、遊技機 | |
JP2002306849A (ja) | 電子ゲーム装置 | |
US20230141027A1 (en) | Graphics rendering | |
JP4615252B2 (ja) | 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス | |
JP2003236234A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002306844A (ja) | 電子ゲーム装置 | |
JP2003236235A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2012027699A (ja) | プログラム、情報記憶媒体及び画像生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040712 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |