(57)【要約】【課題】タッチパネル機能を含む表示部を有する複数の機器に対する共通のプラットフォームに対して、３Ｄエンジンの画素当たりの処理速度が高速であり、個々のアプリケーションにおけるユーザのインタラクティブ操作がスムースに行われ、個々のアプリケーションの開発者に対して提供されるオーサリングソフトウェアが、アプリケーションプログラムの開発を３Ｄエンジンの性能が発揮されるようにサポートできる、３Ｄ描画ミドルウェアを提供する。【解決手段】プラットフォームを構成するＣＰＵに組み込まれ、「３Ｄエンジン」と「インタラクティブ操作ソフトウェア」と「オーサリングソフトウェア」とからなり、ＣＰＵがＶＬＩＷ型であり、プラットフォームのＯＳがリナックスＯＳである場合に最適となるアーキテクチャ／アルゴリズムを有することを特徴とする。【選択図】図１
2006004276.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネル機能を含む表示部を有する、異なる種類の機器に対する共通のプラットフォームを構成するＣＰＵに組み込まれる３Ｄ描画ミドルウェアであって、「３Ｄエンジン」と「インタラクティブ操作ソフトウェア」と「オーサリングソフトウェア」からなり、前記ＣＰＵがＶＬＩＷ型であり、前記プラットフォームのＯＳがリナックスＯＳである場合に最適となるアーキテクチャ／アルゴリズムを有することを特徴とする３Ｄ描画ミドルウェア。
【請求項２】
前記プラットフォーム上で作動するアプリケーションの対象とする機器が、携帯電話端末を含む携帯デジタル機器、ゲーム、インタフェース、オーディオ・ビデオ・３Ｄ、インタネットブラウザ、カーナビ、のいずれかであり、前記アプリケーションが作動する場合に呼出されて作動することを特徴とする請求項１に記載の３Ｄ描画ミドルウェア。
【請求項３】
前記プラットフォーム上で作動するアプリケーションが対象機器の電子マニュアルであり、前記「３Ｄエンジン」を用いて、前記電子マニュアルのメニューが頁を繰るように、もしくはドラムを回転するように表示され、前記頁を繰る動作もしくはドラムを回転する動作を含む前記表示画面上の図形のアニメーション（動画）動作が前記タッチパネル機能により制御することを特徴とする請求項１に記載の３Ｄ描画ミドルウェア。
【請求項４】
前記プラットフォーム上で作動するアプリケーションの対象とする機器がオーディオ・ビデオ・３Ｄであり、前記「３Ｄエンジン」を用いて、ビデオ画像に３Ｄ画像を重畳させることができ、さらに前記重畳された３Ｄ画像が前記ビデオ画像上の指定された図形に同期してアニメーション動作をすることを特徴とする請求項１に記載の３Ｄ描画ミドルウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３Ｄ描画ミドルウェアに係り、より詳しくは、複数の、タッチパネル型表示部を有するデジタル機器に共通のプラットフォームに組み込まれる３Ｄ描画ミドルウェアに関するものである。
【背景技術】
【０００２】
近年のデジタルＡＶ家電機器、モバイル機器、カーナビを始めとする車載ＡＶ機器の発展は著しいが、これらの機器の制御部は、いずれもＣＰＵ、ＡＳＩＣやメモリなどのハードウェアと、ＯＳ、各種ミドルウェア、アプリケーションからなるソフトウェアとから構成され、アプリケーション以外の部分は、通常、複数の機器に共通するものとして一体化されプラットフォームといわれ、ハードウェアの内、ＣＰＵとＡＳＩＣは合せてチップセットといわれる。
【０００３】
最近の、これらの機器の使いやすさを決め、その死命を制するものの一つが３Ｄアニメーションであり、そのための３Ｄ描画機能である。３Ｄ描画機能については、専用のハードウェアチップを組み込む方法と専用のミドルウェアを組み込む方法があり、いずれも「３Ｄエンジン」と言われる。
【０００４】
専用のＡＳＩＣチップを新たにチップセットに追加すると、制御部の製造工程の変更と、製造コスト及び占有体積の増大を招き、それは上述のような機器にあっては致命的であるのに反し、専用のミドルウェアを新たにチップセットに追加することは、制御部の製造工程、製造コスト、占有体積を変えないので、その導入及び更新が容易である。
【０００５】
従って、３Ｄエンジンについても、専用のミドルウェア化したソフトウェア３Ｄエンジンが好んで使われる。
しかしながら、このようなソフトウェア３Ｄエンジンでは、いずれにしても、ある限られたプログラムサイズの範囲内で所定の描画機能が実現されなければならない。
【０００６】
その上で、３Ｄ描画ミドルウェア全体の性能は、第１に、３Ｄエンジンの画素当たりの処理速度で評価され、同一のハードウェア上であっても優劣が生じる。
【０００７】
第２に、個々のアプリケーションにおけるユーザのインタラクティブ操作のスムースな操作性で評価される。
【０００８】
第３に、個々のアプリケーションの開発者に対して開発用キットの一部として提供されるオーサリングソフトウェアが、アプリケーションプログラムの開発を３Ｄエンジンの性能が発揮されるようにサポートするか、で評価される。
【０００９】
このような観点からの評価によれば、従来のソフトウェア３Ｄエンジンは、いずれも必ずしも満足できるレベルには至っていなかった。
【００１０】
例えば特許文献１には、コンピュータ・アニメーション（ａｎｉｍａｔｉｏｎ、動画）に関連する３Ｄ描画プログラムの構成とフローに関する技術が開示されている。
【特許文献１】特開２００３−３３７９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、上記の問題点を解消するために、タッチパネル機能を含む表示部を有する複数の機器に対する共通のプラットフォームに対して、第１に、３Ｄエンジンの画素当たりの処理速度が高速であり、第２に、個々のアプリケーションにおけるユーザのインタラクティブ操作がスムースに行われ、第３に、個々のアプリケーションの開発者に対して開発用キットの一部として提供されるオーサリングソフトウェアが、アプリケーションプログラムの開発を３Ｄエンジンの性能が発揮されるようにサポートできる、３Ｄ描画ミドルウェアを提供することにある。
【課題を解決するための手段】
【００１２】
上記の目的を達成するためになされた本発明による３Ｄ描画ミドルウェアは、前記プラットフォームを構成するＣＰＵに組み込まれる３Ｄ描画ミドルウェアであって、「３Ｄエンジン」と「インタラクティブ操作ソフトウェア」と「オーサリングソフトウェア」とからなり、前記ＣＰＵがＶＬＩＷ型であり、前記プラットフォームのＯＳがリナックスＯＳである場合に最適となるアーキテクチャ／アルゴリズムを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、タッチパネル機能を含む表示部を有する複数のデジタル機器に対応できる共通のプラットフォームを構成するＣＰＵに組み込まれる３Ｄ描画ミドルウェアであって、多種多様なデジタル機器に必要な、個別の高速３Ｄアニメーションアプリケーションが、共通のプラットフォームベースで、製造コストの増大を招かずに実現できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明による３Ｄ描画ミドルウェアの実施例を、詳細に説明する。
従来技術もしくは既述の実施例の説明と同一部分についての説明は省略する場合がある。
【実施例１】
【００１５】
本３Ｄ描画ミドルウェアは、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）型のＣＰＵを含むチップセットとリナックス（Ｌｉｎｕｘ）型のＲＴ（リアルタイム）ＯＳとからなるプラットフォームを想定している。ＶＬＩＷ型のＣＰＵは、３Ｄ描画処理に必要な画素データの高速並列処理に適しており、リナックス型のＲＴＯＳは、３Ｄ描画処理に必要な画素データの高速リアルタイム処理に適しているからである。
【００１６】
図１を参照すると、本３Ｄ描画ミドルウェアが搭載されるプラットフォームを含む、機器の制御部全体のシステム図である。
概括的にいうと、プラットフォームは、図１の中央部をなすハードウェア１００、リアルタイムＯＳ・デバイスドライバ２００、ミドルウェア３００の３ブロックからなり、対象とする機器に共通する。
これに対して、最上部のアプリケーション（ソフトウェア）４００と、最下部のタッチパネル５１０、キイボード５２０、メモリカード５３０、通信回線５４０、音声入出力５５０、画像出力５６０などの周辺ハードウェアは個々の機器に固有であり、通常、プラットフォームに属さない。
本発明では、この内タッチパネルと画像出力を含む表示部を有する機器を前提としている。
【００１７】
図２を参照すると、制御部のハードウェア１００と周辺ハードウェア５１０〜５６０の構成を示すブロック図である。
ハードウェア１００は、ＶＬＩＷ型ＣＰＵ、１１０、ＤＳＰ（デジタルシグナルプロセッサ）１２０、ＲＡＭ、１３０、ＲＯＭ，１４０に加えて、各種のＩ／Ｏ、１５１、１５４、１５５、拡張Ｉ／Ｆ、１５２、通信制御（ＵＳＢ、ＬＡＮなど）１５３などの専用チップからなり、これらの専用チップは図１においてはＡＳＩＣとして扱っており、実際には単数又は複数のチップからなり、場合によっては、ＣＰＵチップ内に組み込まれている。
これらの専用チップは通常、各々、各種の周辺ハードウェア５１０〜５６０に接続される。
【００１８】
次に、再び図１に戻ると、ミドルウェア３００は音声ミドルウェア３１０、２Ｄ描画ミドルウェア３２０に加えて、３Ｄ描画ミドルウェアを含み、さらに本発明による３Ｄ描画ミドルウェア３３０は「３Ｄエンジン」３４０、「インタラクティブ操作」ソフトウェア３５０、「オーサリング」ソフトウェア３６０の３者からなる。
【００１９】
本３Ｄ描画ミドルウェアの核心をなす「３Ｄエンジン」３４０は、個別のアプリケーション４００（図１参照）の、３Ｄシーンを形成すべきデータの集合からアプリケーションプログラムの指定するデータを読取り、それらをリアルタイムでＬＣＤなどの表示部に画像出力５６０として表示できるように描画演算を行う。
【００２０】
表示すべき画像は、３２０列×２４０行の２４ビットピクセルＲＧＢ画像を想定しているが、「３Ｄエンジン」内では、３２ビット／ピクセルとして扱う。３２ビットのうちＲＧＢ用２４ビットを除いた残り８ビットは、制御データビットとして使うこともできる。
【００２１】
また本３Ｄ描画ミドルウェア３３０は、タッチパネル５１０およびキイボード５２０などの端末命令を介したユーザのインタラクティブ操作機能を司る「インタラクティブ操作」ソフトウェア３５０を有し、それは上記の「３Ｄエンジン」３４０を使った３Ｄ描画用専門に限定されており、汎用のインタラクティブ操作ソフトウェアでは得られないスムースな操作性を提供する。
【００２２】
さらに本３Ｄ描画ミドルウェア３３０は、個々のアプリケーション４００の開発者に対して開発用キットの一部として提供されるべき「オーサリング」ソフトウェア３６０を有し、アプリケーション４００用プログラムの開発を「３Ｄエンジン」３４０の性能が十分発揮されるようにサポートする。
【００２３】
以下に、本３Ｄ描画ミドルウェア３３０の詳細を述べる。
図３を参照すると、図３の左側は、本発明による「３Ｄエンジン」３４０を構成する、「シェーダー」３４１、「ポリゴンソート」３４２、「アニメーション」３４３、「２Ｄ投影描画」３４４、「クリッピング」３４５、「照明」３４６、「カメラ位置」３４７、「隠面除去」３４８、「テキスチャマップ」３４９からなるサブルーチンの集合である。
【００２４】
一方、図３の右側は、「３Ｄシーン」ファイル３７０、「テキスチャ」ファイル３７５であり、アプリケーション毎の３Ｄシーンを形成すべきアニメーション（キーフレームデータ）及びテキスチャを含む全てのシーンジオメトリ情報が所定のフォームに従って、格納されている。
なお、「３Ｄシーン」ファイル３７０は、さらに「シーンジオメトリ」ファイル３７１と「オブジェクト」ファイル３７２からなる。
アプリケーション４００の実行に際して、各サブルーチンは、アプリケーションプログラムの指示に従って両データファイル３７０、３７５のデータ処理を行い、最後に所望の表示用データ（３２０列×２４０行の２４ビットピクセルＲＧＢ画像）を作成する。
【００２５】
本発明による「３Ｄエンジン」３４０は、この種のエンジンで利用可能な多くの特性を、サブルーチン毎に表１に示すように組み込んだ、ポリゴンベースの３Ｄ描画アクセラレータであり、基本的にはＡＮＳＩ  Ｃ言語で書かれており、一部選択的に、ＣＰＵのＶＬＩＷアーキテクチャを活かしたカスタムアセンブリ最適化を施している。
【００２６】
【表１】
2006004276.tif 000003
【００２７】
表１において、カラー解像度（ｃｏｌｏｒ  ｄｅｐｔｈ）は、上述の通り８ビット／チャネル（Ｒ、Ｇ、Ｂ）、即ち２４ビット／ピクセルであるが、高速処理のため８ビットのダミーを加えて１ピクセル３２ビットとしている。
【００２８】
シェーダー（ｓｈａｄｅｒ、陰影）３４１で扱うシェーダーの種類としては、平面シェーディング、グーロー（Ｇｏｕｒａｕｄ）シェーディング、テキスチャマッピング、エンバイロメント（ｅｎｖｉｒｏｎｍｅｎｔ）マッピングを扱う。
【００２９】
シェーダーの内挿は、アフィン変換（パースペクティブ（Ｐｅｒｓｐｅｃｔｉｖｅ）修正なし）による。
【００３０】
ポリゴンソート３４２の方法は、Ｚバッファ方式ではなく、最小頂点／最大頂点／平均頂点法のいずれかによるポリゴン距離に従うデプスソート方式を採用することにより、多角形フィラー内の計算時間を減らし、メモリアクセスを減らしている。ポリゴン距離は、各オブジェクト毎に方法選択可能で、ソートアルゴリズム効率は線形である。
【００３１】
アニメーション３４３では、全てのシーン変換用のキーフレームデータ（カメラ移動を含む）の線形内挿が可能である。
【００３２】
階層については、各変換毎に、多数の子変換要素を可能にするように、階層の構造を変更することが可能である。（要素は、カメラ、ライト、オブジェクト、および他の変換を含む。）
【００３３】
描画像の解像度は、任意に設定できるが、テストは３２０×２４０で実施する。
【００３４】
２Ｄ投影描画３４４は、固定視野（ＦＯＶ）型パースペクティブ投影による。
【００３５】
クリッピング３４５は、３Ｄ円錐台型クリッピングにより、描画パイプラインから見えないオブジェクト及びポリゴンを早期の段階で除去し、不要な演算命令の実行を省く。
【００３６】
照明３４６において、光源は、任意位置又は任意のカメラ位置３４７に設定した単一の光源とし、最大光量の白色光として扱う。
【００３７】
また、照明モデルは、フォング（Ｐｈｏｎｇ）照明モデルを採用し、モデルコンポーネント（ｃｏｍｐｏｎｅｎｔ）を各オブジェクトに対して規定する。
【００３８】
隠れた面の除去３４８については、シーングラフでの規定に従い背面部を除去（オブジェクト毎ベース）する。
【００３９】
テキスチャマップ３４９は、２５６×２５６×３２ビットの固定寸法テキスチャとし、テキスチャマッピングの高速化を図っている。
【００４０】
数値形式は数値の桁数範囲が限られているので固定小数点形式のみとし、浮動小数点関数を使用せず演算時間を短縮する。
【００４１】
本発明による「３Ｄエンジン」３４０は、プラットフォームのＶＬＩＷアーキテクチャの特長を色々の方法で活用している。
【００４２】
「３Ｄエンジン」３４０の大部分はＣ言語で書かれており、その部分に関しては、コンパイラが並列実行命令を使用した場合に、間接的にＶＬＩＷの特長である並列実行が行なわれる。エンジンをコンパイルするのに使用されるＧＣＣコンパイラは、適合すると思われる場合に並列実行を可能にするように、”．ｐ”の命令接尾辞を使用している。
【００４３】
しかし「３Ｄエンジン」３４０の一部（特に、多角形フィラー内部ループおよびフレームバッファー除去ルーチンを含む部分）は、さらなる最適化を達成するため、アセンブリ言語で書かれている。その際、内部ＣＰＵレジスタおよび命令の再配列（”．ｐ”命令接尾辞の使用を含む）により命令の平行度を高め、メモリアクセスを減らしている。
【００４４】
さらに、多角形フィラー内部ループのロジックを変更して演算の並列処理度を高めている。
【００４５】
また、「３Ｄエンジン」３４０の他のタイムクリティカルな部分をアセンブリ言語で直接記述し、命令の並べ替えにより平行度を高め、メモリアクセスを減らし、実行速度を上げている。
【００４６】
本発明による「インタラクティブ操作」ソフトウェア３５０では、ユーザの操作性を上げ、よりスムースにするため、上述の「３Ｄエンジン」３４０自身の高速性に加えて、リナックスＲＴＯＳの特長をいくつか活用している。
これらの特長は、ＬＣＤディスプレイドライバ、タッチパネルドライバ、及びスイッチボタンドライバなどのデバイスドライバ（２００の一部）、ファイルシステム、シリアルポートインターフェイス（１５１などの一部）へのアクセスを含む。
【００４７】
本発明による「オーサリング」ソフトウェア３６０は、個別のコンテンツアプリケーションの開発者が「３Ｄエンジン」３４０を最適に駆使して、アプリケーション４００用のプログラムと、３Ｄシーンを形成すべきデータの集合であるカスタム３Ｄシーンファイル３７０及びテキスチャファイル３７５とを作成できるようサポートする。
【００４８】
例えば、開発用キットの表示部にプログラム開発用のメニューを表示する際に、従来のプルダウン方式と並んで、「３Ｄエンジン」３４０自身を活用して、開発者がタッチすると回転するドラム式のメニュー表示とし、メニューを見易くしてある。
【実施例２】
【００４９】
上記実施例１において説明した３Ｄ描画ミドルウェアを含むプラットフォームは、具体的なアプリケーションソフトウェアを搭載して個別のデジタル機器として具現化される。
【００５０】
対象とするデジタル機器としては具体的には、携帯電話端末を含む携帯デジタル機器、ゲーム、インタフェース、オーディオ・ビデオ・３Ｄ、インタネットブラウザ、カーナビ、のいずれかであり、本発明による３Ｄ描画ミドルウェア３３０は各々のアプリケーションが作動する場合に呼出されて作動する。
【実施例３】
【００５１】
本発明による３Ｄ描画ミドルウェア３３０が呼出されて作動するアプリケーション４００は、対象機器の電子マニュアル（電子的な取扱説明書）であってもよい。
さらにその場合、前記「３Ｄエンジン」３４０を用いて、前記電子マニュアルのメニューが頁を繰るように、もしくはドラムを回転するように表示され、前記頁を繰る動作もしくはドラムを回転する動作を含む前記表示画面上の図形のアニメーション動作が前記タッチパネル５１０の機能により制御される。
【実施例４】
【００５２】
本発明による３Ｄ描画ミドルウェア３３０が呼出されて作動するアプリケーション４００は、対象とする機器がオーディオ・ビデオ・３Ｄ機器であって、前記「３Ｄエンジン」３４０を用いて、ビデオ画像に３Ｄ画像を重畳させることができ、さらに前記重畳された３Ｄ画像が前記ビデオ画像上の指定された図形に同期してアニメーション動作をする。
【産業上の利用可能性】
【００５３】
上述のように、本発明により得られた、「３Ｄエンジン」、「インタラクティブ操作」ソフトウェア、「オーサリング」ソフトウェアのセットからなる３Ｄ描画ミドルウェアは、色々なデジタル家電・携帯機器などの制御部の共通のプラットフォームの核心として提供され、個別の機器の表示部に高速で、しかもユーザがスムースにインタラクティブ操作できる３Ｄ描画能力を提供するものである。
【００５４】
さらに、個別の機器ごとに必要になるアプリケーションプログラムの開発者に対して、本「３Ｄエンジン」の性能を最大限に発揮させるプログラムが開発できるように支援するオーサリングソフトウェアを合せて提供することで「３Ｄエンジン」に関する閉じた（それだけで独立できる）サービスを提供するものである。
【００５５】
本３Ｄ描画ミドルウェアは、特定のプラットフォームに合せて最適化することができるので、そのプラットフォームのメーカは製造コストを上げることなく付加価値を増加して、プラットフォームのカスタマである複数の特定機器のメーカに使ってもらうことができる。
また、本３Ｄ描画ミドルウェアは、他のプラットフォーム、特にＶＬＩＷ型ＣＰＵとリナックス系ＯＳを含むプラットフォームに対しても、僅かな変更で同等のサービスを提供できる。
【００５６】
さらに、本３Ｄ描画ミドルウェアは、開発キット又は個別アプリケーション機器の共通プラットフォームにミドルウェアとして組み込まれている（実際には、アセンブラコードでＣＰＵのＲＯＭに書込まれている。）ので、第３者がその内容をコピーすることは難しく、例えコピーできても、特定のハードウェア環境に結び付けられたアセンブラコードであるので、内容を理解できず、異なるプラットフォームに移植することも困難である。
【００５７】
即ち、本発明により得られた３Ｄ描画ミドルウェアは、「３Ｄエンジン」に関して新たなビジネスモデルを同時に提供するものである。
【図面の簡単な説明】
【００５８】
【図１】本発明に係る３Ｄ描画ミドルウェアが搭載されるプラットフォームを含む、機器の制御部全体のシステム図である。
【図２】制御部のハードウェアと周辺ハードウェアの構成を示すブロック図である。
【図３】本発明に係る、「３Ｄエンジン」を構成するサブルーチンの集合（図３の左側）と、データファイルの集合（図３の右側）である。
【符号の説明】
【００５９】
１００      ハードウェア
１１０      ＶＬＩＷ型ＣＰＵ
１２０      ＤＳＰ（デジタルシグナルプロセッサ）
１３０      ＲＡＭ
１４０      ＲＯＭ
１５１、１５４、１５５      Ｉ／Ｏ
１５２      拡張Ｉ／Ｆ
１５３      通信制御（ＵＳＢ、ＬＡＮなど）
２００      リアルタイムＯＳ・デバイスドライバ
３００      ミドルウェア
３１０      音声ミドルウェア
３２０      ２Ｄ描画ミドルウェア
３３０      本発明による３Ｄ描画ミドルウェア
３４０      「３Ｄエンジン」
３５０      「インタラクティブ操作」ソフトウェア
３６０      「オーサリング」ソフトウェア
３７０      「３Ｄシーン」ファイル
３７１      「シーンジオメトリ」ファイル
３７２      「オブジェクト」ファイル
３７５      「テキスチャ」ファイル
４００      アプリケーション（ソフトウェア）
５１０      タッチパネル
５２０      キイボード
５３０      メモリカード
５４０      通信回線
５５０      音声入出力
５６０      画像出力
【図１】
2006004276.tif 000004
【図２】
2006004276.tif 000005
【図３】
2006004276.tif 000006