JP2005045400A - Object generating device and method therefor - Google Patents
Object generating device and method therefor Download PDFInfo
- Publication number
- JP2005045400A JP2005045400A JP2003201158A JP2003201158A JP2005045400A JP 2005045400 A JP2005045400 A JP 2005045400A JP 2003201158 A JP2003201158 A JP 2003201158A JP 2003201158 A JP2003201158 A JP 2003201158A JP 2005045400 A JP2005045400 A JP 2005045400A
- Authority
- JP
- Japan
- Prior art keywords
- bifs
- size
- node name
- source
- information
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明はオブジェクト生成装置およびその方法に関し、例えば、シーン記述により画面中に配置すべき静止画、動画、コンピュータグラフィクスなどのオブジェクトの生成に関する。
【0002】
【従来の技術】
ディジタルデータ処理能力の向上と通信技術の発展によって、いわゆるマルチメディアを簡単に表現することができるようになり、複数の静止画、動画、音声、ベクトルグラフィクスなどを用いた複雑な表現が一般的になった。このような複合的なマルチメディア(あるいはマルチオブジェクト)表現の方法として、オブジェクトベース符号化方式がある。この具体的な例が、MPEG−4システムと呼ばれる標準規格(ISO/IEC14496−1)である(例えば、非特許文献1参照)。
【0003】
ISO/IEC14496−1では、MPEG−4のオーディオビジュアルオブジェクトを空間にどのように配置して表示すべきかを示す、BIFS (Binary Formatfor Scenes)と呼ばれるバイナリ形式が規格化されている。BIFSは、オブジェクト記述子(Object Descriptor)およびその特殊な形式である初期オブジェクト記述子(Initial Object Descriptor)、さらに、音声や映像をエンコードしたMPEG−4ビジュアルやMPEG−4オーディオの定義によるビットストリームとともに、複合化されたいわゆるマルチメディアのシーンを合成する。
【0004】
BIFSは、その定義の根底にVRML (ISO/IEC14772−1 Virtual Reality Modeling Language)を使用したもので、VRMLを拡張したものと考えてよい。
【0005】
規格の詳細はISO/IEC14496−1に定義されているので、ここでは説明しないが、以下では、発明の本質をより簡潔に説明するため、VRMLを基本としたBIFSの表現をBIFSソースとよび、テキスト形式で表現する。BIFSのテキスト表現には、XMT (Extensible MPEG−4 Textual format)とよばれるXML形式の表現があり、以下では、このようなXMTによる表現も含めて、明示的にXMTと表現している場合を除き、BIFSソースとする。すなわち、BIFSソースは、オブジェクトベース符号化方式において、オブジェクトの配置や動作を定義するシーンを符号化するためのシーン記述方式の具体的な例である。
【0006】
図1から3は、VRMLを基本としたBIFSソースの記述例を示す図である。
【0007】
先頭に記述された「#VRML V2.0 utf8」はコメントで、VRMLの規約上定められたものであって発明と直接関係はないが、一般的な記述法の例として記述されている。なお「utf8」は、ISO10646を基準とするUTF−8エンコーディングによる国際文字の指定である。
【0008】
図4は、図1から3に示すBIFSソースをエンコードした場合に、その結果として期待される表示の効果を模式的に示す図である。以下では、図1から3のBIFSソースの例と図4を用いて詳細に説明する。
【0009】
図1に示す二つ目のコメント行「# −−− 背景画像 −−−」以下は、背景の静止画像を示し、urlで指定されるオブジェクト「background.JPG」が図4に示す背景画201になる。
【0010】
同様に、三つ目のコメント行「# −−− 静止画:画像1 −−−」以下は図4に示す静止画202に、四つ目のコメント行「# −−− 動画:画像2 −−−」以下は図4に示す動画203にそれぞれ対応する。
【0011】
図2に示すコメント行「# −−− 動作 −−−」と、図3に示すコメント行「# −−− イベント間の接続 −−−」以下の記述は、ポインティングデバイスによってオブジェクトが選択された際の動作などをそれぞれ定義し、例えば、図4の拡大エリア204に、選択されたオブジェクトが拡大表示される、といった動作を定義する。
【0012】
以下では、図1から3のBIFSソース例についてごく簡単に説明する。
【0013】
まず、Group { … }の部分は、表示されるシーン全体をグルーピングするノードを示す。次のchildren [ … ]はグループの子ノードの集合を示し、次のTransform2D { … }で最初のノードの座標変換を表す。
【0014】
Transform2Dは、さらに子ノードを保持し、Shape { … }によって特定のオブジェクトをシーンに取り込む。これは、Shapeで指定されたオブジェクトをTransform2Dによってシーン中の座標にマッピングすることと等価である。Shapeは、さらにappearance Appearance { … }とgeometry Bitmap { … }を保持し、前者はShapeの視覚特性、後者はその具体的な表示を指定する。視覚特性としては、texture ImageTexture { … }によって具体的な画像オブジェクトを指定し、そのオブジェクトを示すurlが記述される。scaleやtranslationはそれぞれ倍率と座標を記述する。
【0015】
ここで着目すべき点は、Transform2Dとgeometryに記述されたscaleやtranslationの値である。scaleの値は、ROUTEコマンドにより、オブジェクト選択時から一定の時間で、選択されたオブジェクトの拡大と縮小を行う。その動作は、例えばDEF PIC1SCALE(図2)で定義されたPositionInterpolator2D { … }によって値が変化することで行われる。この例では、縦横が0.5(半分)から1.0(等倍)へと変化し、さらに元の0.5へと戻される。
【0016】
同様に、translationの値も変化してオブジェクトの位置が変更される。translationは、対象になるオブジェクトの平行移動を意味し、この値が変化することによって、オブジェクトの位置が移動する。
【0017】
以上では、何ら具体的な説明なしに、オブジェクトという言葉を使って説明を行ったが、このオブジェクトの位置と大きさについてより詳しく説明するため、さらに具体的な表現を用いることにする。
【0018】
図1から3に示すBIFSソースでは、我々が目にする具体的なオブジェクトとして、背景画のbackground.JPG、静止画のpicture1.img、および、動画のpicture2.movieが使用されている。これらのオブジェクトは、urlの記述の後にURL (Uniform ResourceLocator)形式で記述される。この表記は、よく知られたRFCに定義されたものであり、かつ、VRMLの定義形式であるので、ここでは詳しく説明しない。
【0019】
これら三つのオブジェクトは、この例では、background.JPGが横512ピクセル×縦384ピクセル、picture1.imgおよびpicture2.movieが横320ピクセル×縦240ピクセルと仮定されている。上述したscaleは、拡大縮小の割合を示すから、各オブジェクトは、1.0(等倍)で表現された後、それらを包含する領域としての背景画background.JPGを除き、初期値で0.5、すなわち半分のサイズに縮小される。背景画background.JPGはそのままのサイズであるが、静止画と動画は、半分に縮小され、初期段階のサイズは横160ピクセル×縦120ピクセルである。また、縮小された静止画と動画の位置は、translationによって座標(168、76)と座標(168、−76)に指定されるため、表示領域の右上と右下に移動される。
【0020】
このようにして、図4に示すような具体的な位置表現が行われる。注意すべきことは、このようなBIFSソースによって定義された表示の効果は、texture内のurlで指定されたオブジェクトの絶対的な大きさを何ら規定しない状態で表現されることである。ISO/IEC14496−1の定義は、その原型となったVRMLの定義と同様に、その座標系に、いわゆる右手系のデカルト三次元座標を使用し、表現されるテクスチャは、元の大きさに対する比率でのみ表現される。そのため、明示的に、この座標系の中に有限の大きさで定義されるオブジェクトを配置して、そのオブジェクトにテクスチャを貼り付けるといった記述を行わない限り、そのオブジェクトが表示される大きさは、オブジェクトしか知り得ないことになる。
【0021】
図1から3に示すBIFSソースの例では、背景画201が横512ピクセル×縦384ピクセルで、かつ、静止画202が横640ピクセル×縦480ピクセルである場合、背景画201は、その位置は静止画202と完全には重ならないとは言え、いわゆるオーバラップされた状態になり隠されてしまう。このような表示は、おそらく図1から3に示すBIFSソースの作成者の意図とは異なる。言い換えれば、BIFSソースの作成者は、表示されるオブジェクトの絶対的な大きさを認識してソースを記述しているから意図した表現が行われる。この例では、BIFSソースの作成者は、背景画201を横512ピクセル×縦384ピクセル、静止画202と動画203を横320ピクセル×縦240ピクセルと認識していて、それによりBIFSソースの作成者の意図が正しく表現される。
【0022】
ここまでは、図1から3に示すBIFSソースの例に従い、オブジェクトの配置を中心に説明したが、ISO/IEC14496−1の定義によれば、そのBIFSの表示領域については、DecoderConfigDescriptor(復号器設定記述子)内のDecoderSpecificInfo(復号器固有情報)に保持されるBIFSConfigにおいて定義される。BIFSConfigの定義は次のようなものである。
【0023】
もし、hasSizeが真(true)にセットされていれば(すなわちビットが立っていれば)、pixelWidthとpixelHeightによって、表示される具体的な表現(シーン)の領域サイズが指定されることになる。
【0024】
このように、エンコードされたビットストリーム中にサイズが指定されることにより、BIFSソースで指示された表現は、さらに、その表示領域が指定されることになる。
【0025】
このようにして、BIFSソースもしくはシーン記述と、これに記述されないビットストリーム中のデータ表現により、複数のオブジェクトが複雑に表現された、いわゆるマルチメディアのシーンを自在に表現することが可能である。
【0026】
上述したように、BIFSソースの作成者は、オブジェクトの配置と動作に関する定義、すなわちシーン記述を、シーン記述から参照される静止画や動画などの外部参照オブジェクトのサイズなどを予め判断し、意図した状態になるように設計しなければならない。しかし、現実には、それでも不充分な場合がある。任意のあらゆる参照オブジェクトに対して意図が反映されるようにシーン記述を設計することは、全く不可能であるとは言えないが、そのためには、シーン記述であるBIFSソースの作成者の充分な配慮が必須である。例えば、図1から3に例示したBIFSソースは、横320×縦240ピクセルのオブジェクトを参照する場合、図4に示すような表示が行われ得る。しかし、オブジェクトのサイズが異なれば、極端な場合、参照されるオブジェクトのほんの一部が表示されるだけになる。
【0027】
また、BIFSソースの作成者が予め特定の意図をもったBIFSソースを作成し、しかる後、第三者が参照されるオブジェクトを入れ替えると、BIFSソースの意図どおりに表現されない場合がある。この問題は、例えばMPEG−4の規格をよく知るデザイナがある意図をもってBIFSソースを設計し、しかる後、エンコードされたBIFSやBIFSソースと、BIFSを生成するエンコーダを含むMPEG−4データの簡易生成ツールを提供するといった場合に顕著に現れる。このような場合、提供されたBIFSやBIFSソース、あるいは、ツールなどを利用して、その利用者が欲する静止画や動画を埋め込むといったことが想定されるが、その利用者は、提供者の意図に合った大きさのオブジェクトを予め準備しなければならない。
【0028】
上記の問題に対処するため、BIFSソースに期待するオブジェトのサイズなどをコメントとして埋め込む手法や、提供するツールに期待するオブジェトのサイズへの変換機能を埋め込む、といったことが行われる。しかし、これらの手法は、ツールに固有の機能でのみ実現されたり、利用者がBIFSソースを読んで独自に判断する必要が生じるなど、不便である。また、ツールに固有の機能で実現する場合は、BIFS(もしくはBIFSソース)に独自の拡張を施したり、BIFSとは異なる別情報を用意したりする必要があり、さらに互換性の問題も発生する。
【0029】
【非特許文献1】
ISO/IEC 14496−1
【0030】
【発明が解決しようとする課題】
本発明は、上述の問題を個々にまたはまとめて解決するもので、シーン記述の意図に合うオブジェクトの生成を目的とする。
【0031】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0032】
本発明は、オブジェクトベース符号化に関連するオブジェクトを生成する際に、シーンを符号化するためのシーン記述から、任意のノード名を定義する予約語によって定義されたノード名を抽出し、抽出したノード名からオブジェクトのサイズに関する情報、および、オブジェクトの実体の位置を示す情報を抽出し、抽出した位置情報およびサイズ情報に基づき、参照すべきオブジェクトの大きさを変更することを特徴とする。
【0033】
【発明の実施の形態】
以下、本発明にかかる実施形態の画像処理を図面を参照して詳細に説明する。
【0034】
第1実施形態は、任意のノード名称を定義する予約語によって定義する、外部参照オブジェクトに関わるノード名称の文字列を、期待されるオブジェクトの縦横のサイズ(大きさ)の値を付加した文字列として作成する。これにより、予めBIFSソース中に、期待されるオブジェクトサイズ情報を記述しておくことで、サイズ情報に基づき該当する外部参照オブジェクトの大きさを変更し、BIFS作成者が意図したサイズでオブジェクトを表現するMPEG−4データを生成する。
【0035】
第1実施形態において説明するMPEG−4データ生成装置は、オブジェクトベース符号化によるISO/IEC14496 (MPEG−4)に関するオブジェクトデータ生成装置である。ここで説明するMPEG−4データ生成装置は、細部においては異なる構成で表現される場合もあるが、ハードウェアで構成しても、コンピュータ装置にソフトウェアを供給するなどしてソフトウェアで構成しても実現可能で、その構成要素は、本発明の本質に合致する限り、組み替え、統合、再配置が可能である。
【0036】
なお、以下の説明では、簡略化のため、図1から3に示したBIFSソースと、図4に示した期待される表示の効果を説明の前提にする。
【0037】
【第1実施形態】
上述したように、BIFSソースが例えばVRMLを基本とした表現で記述されるものとすると、特定のオブジェクトを貼り付ける部分は、例えば図5に示すように記述される。図1から3に示したBIFSソースの例では、Shapeで記述されたノードを、その配置を行うTransform2Dノードの子ノードとして記述したが、図5には、とくに説明に必要な部分のみを取り出して示す。
【0038】
図6はBIFSソースの一例を示す図で、「DEF」は、VRMLにおいて任意のノード名称を定義する予約語である。BIFSソースの解釈モジュールは、DEFによって定義された名称を参照する場合に備えて、これを保持する。
【0039】
図7はBIFSソース記述方式におけるノード名称の作成方法を説明する図である。
【0040】
この例のノードの名称は、キーワードになる文字列と、BIFS作成者が意図したオブジェクトの表示サイズの情報を基に作成される。キーワードには、文字列「PLACEHOLDER」が使用されている。また、BIFS作成者が意図したオブジェクトの表示サイズは、キーワード文字列「PLACEHOLDER」の直後に、縦横のサイズを示す二つの値を区切り文字「_」(アンダスコア)を使って記述されている。図7に示す「_320_240」は縦240×横320ピクセルを示す。このように、ノード名称は、特定の文字列、期待する縦および横の大きさ、並びに、区切り文字から構成される。
【0041】
なお、ノード名称の作成方法のうち、キーワード文字列および区切り文字の種類は、発明の本質ではなく、変更が可能である。また、キーワード文字列とサイズ情報の並び順も同様に、発明の本質ではなく、たとえ前後が逆であっても構わない。すなわち、DEFで定義するノード名称に、キーワード文字列とBIFS作成者の期待するオブジェクトサイズを含むことが重要である。
【0042】
BIFSソースの文法上、DEFで定義するノード名称は、その名称の有効なスコープがグローバルであることなどにより、規格上一意に定めなければならないが、これは例えば次の方法で解決することができる。
【0043】
図8はノード名称を一意に定める方法の一例を示す図である。
【0044】
図8に示す例では、作成しようとするノード名称が重複する場合、新たに作成するノード名称のキーワードに一意の数を文字列として付加する。これにより、ノード名称の重複を防ぎ、一意性を保つ。例えば、作成しようとするノード名称「PLACEHOLDER_320_240」と同名のノードが既に存在する場合、キーワード文字列の後ろに数字「1」を付加して、文字列「PLACEHOLDER1_320_240」をノード名称にする。もし、以降もノード名称が重複する場合は、付加する数字をインクリメントして「PLACEHOLDER2_320_240」のようなノード名称にすればよい。
【0045】
以下では、この方法によってノード名称が定義されたBIFSソースを例に説明する。
【0046】
[構成]
図9は、ソフトウェアでMPEG−4データ生成装置を構成する場合のコンピュータ装置の構成例を示すブロック図である。
【0047】
CPU 101は、ROM 102やハードディスク(HD)109に記憶されたデータや制御プログラム、オペレーティングシステム(OS)、MPEG−4データ生成用のアプリケーションプログラムなどに従い、RAM 103、操作部104、モニタ106などを制御して、MPEG−4データ生成にかかわる各種の制御や処理を行う。
【0048】
RAM 103は、CPU 101が各種プログラムを実行するための作業領域、操作部104から入力されるデータなどの一時保存領域である。
【0049】
操作部104は、マウスやキーボードなどで、MPEG−4データ生成にかかわる各種の制御や処理の設定データなどを、ユーザが入力するためのものである。
【0050】
モニタ106は、CRTやLCDなどで、画像処理結果や、操作部104による操作の際のユーザインタフェイス画面などが表示される。
【0051】
ネットワークインタフェイスカード(NIC)108は、BIFSデータ、MPEG−4データ、オブジェクトを含む各種データをネットワークを介して他のコンピュータ装置とやり取りするための通信インタフェイスである。
【0052】
なお、図9には示さないが、操作部104、モニタ106、NIC 108およびHD 109は、それぞれ所定のインタフェイスを介して、ホストコンピュータのシステムバス110に接続されている。
【0053】
図10はMPEG−4データ生成装置の機能構成例を示すブロック図である。
【0054】
図10において、BIFSソースエディタモジュール701は、ユーザ操作702により、BIFSソース703を作成する。なお、BIFSソースエディタモジュール701は、説明状記載さするが、第1実施形態には必ずしも必要ではない。
【0055】
BIFSソース解釈モジュール704は、予め作成されたBIFSソース703を読み込み、その内容を解釈する。このようなBIFSソースの解釈を行うモジュールは、MPEG−4の規格としてISOより出版されているリファレンスコードをはじめ、様々な形で一般に使用されている。
【0056】
ノード名称抽出モジュール705は、外部参照オブジェクトに関わるDEFによって定義されたノード名称およびノードをBIFSソース703から抽出する。サイズ情報抽出モジュール707は、ノード名称の文字列からサイズ情報708を抽出する。URL情報抽出モジュール710は、抽出されたノードにかかるURL指定された外部の参照オブジェクト709の実体の位置を示すURL情報711を抽出する。
【0057】
オブジェクトトランスコーダモジュール712は、入力される動画や静止画のオブジェクト709を指定された大きさに変換した参照オブジェクトデータ714を生成する。このようなトランスコーダもまた、様々な形で一般に使用されている。
【0058】
BIFSエンコーダモジュール706は、BIFSソースもしくはBIFSソースを解釈した結果を入力として、BIFSデータ713を生成する。BIFSソース解釈モジュール704と同様に、ISOより出版されているリファレンスコードをはじめとして、様々な形で一般に使用されている。
【0059】
MPEG−4データ生成モジュール715は、最終的に有効なMPEG−4データ716を生成する。
【0060】
なお、上記のモジュール群は、どれ一つを取っても一般的に使用されているモジュールであり、それ自体は発明の本質ではない。本発明の本質は、これらのモジュールとその機能の組み合わせにある。
【0061】
[動作]
図11はMPEG−4データ生成装置の動作を説明するフローチャートである。
【0062】
まず、CPU 101は、BIFSソース703を読み込み、BIFSソース解釈モジュール704によりBIFSソース703を解釈する(S81)。一般に、BIFS解釈モジュール704は、内部的にBIFSソースに記載されたいわゆるシーングラフをメモリ(RAM 103など)上に展開する。あるいは、BIFSソースに記載された内容に従って内部的にイベントを発生させ、イベントドリブンにその処理関数を呼び出す場合もある。
【0063】
次に、ノード名称抽出モジュール705により、DEFで定義され、かつ、キーワードになる文字列を含むノード名称およびそのノードを抽出する(S82)。図12はノード名称の抽出処理例を示す図である。この例では、予め定義されたキーワード「PLACEHOLDER」が含まれるノード名称の「PLACEHOLDER_320_240」およびそのノードが抽出される。
【0064】
次に、サイズ情報抽出モジュール707により、抽出されたノード名称の文字列を分解して、オブジェクトのサイズ情報708を抽出する(S83)。図13はサイズ情報708の抽出処理例を示す図である。この例では、ノード名称「PLACEHOLDER_320_240」から、区切り文字「_」を目印に「320」および「240」というサイズ情報が取得される。
【0065】
次に、URL情報抽出モジュール710により、抽出したノードが参照するノードおよびそれ以下のノードを検索し、外部の参照オブジェクト709自体の位置を示すURL情報711を抽出する(S84)。図14はURL情報711の抽出処理例を示す図である。この例では、抽出したノード「PLACEHOLDER_320_240」にかかるノード「Shape」の子ノードであるノード「ImageTexture」までノードを辿った後、URL情報711として「picture1.img」が抽出される。
【0066】
また、図15は、DEFによって定義されるノードが、外部参照オブジェクトの位置情報を記述するノードを参照するBIFSソースの例を示す図である。この場合も、図14の例と同様に、URL情報の検索は可能で、URL情報抽出モジュール710をそのまま利用することができる。
【0067】
ステップS83およびS84で抽出されたサイズ情報708およびURL情報711は、オブジェクトトランスコーダモジュール712に渡され、動画や静止画の参照オブジェクト709は指定サイズに変換される(S85)。すなわち、オブジェクトトランスコーダモジュール712は、URL情報711に基づき、BIFSソースの利用者が実際に使用したいオブジェクトを読み込み、サイズ情報708に基づき、必要であれば、参照オブジェクト709を変換して、指定されたサイズの参照オブジェクトデータ714を出力する。勿論、もし、オブジェクトトランスコーダモジュール712に入力される参照オブジェクト709のサイズが、サイズ情報708が示すサイズと同じであれば、変換処理を行う必要はない。
【0068】
オブジェクト変換処理(S85)が行われると、参照オブジェクト709のサイズ変換が行われ、BIFSソースの作成者の意図に合った大きさのオブジェクトが生成されることになる。例えば「picture1.img」がJPEG画像であり、BIFSソースの作成者の意図したサイズが縦240×横320ピクセルで、BIFSソースの利用者が使用する参照オブジェクトが縦480×横640ピクセルの画像であれば、参照オブジェクト709は縦横1/2に縮小された縦240×横320ピクセルの画像に変換される。もし、このサイズ変換が実行されなければ、BIFSソース作成者の意図とは異なる縦横二倍のオブジェクトが表示される場合がある。
【0069】
なお、ステップS82からS85の処理は、ステップS86の判定によって、BIFSソース703が終了するまで繰り返し実行される。また、オブジェクト変換処理(S85)は、URL情報の抽出処理(S84)の直後に位置しくなくとも、BIFSデータ生成処理(S87)の直前に行ってもよい。
【0070】
BIFSソース703が終了すると、BIFSエンコーダモジュール706により、BIFSソース解釈モジュール704の解釈に従ってBIFSソース703からBIFSデータ713をエンコード出力する(S87)。
【0071】
そして最終的に、MPEG−4データ生成モジュール715により、BIFSソースの作成者の意図に合うように、参照オブジェクト709から変換された参照オブジェクトデータ714と、BIFSデータ713とから有効なMPEG−4データ716が生成される(S88)。
【0072】
【第2実施形態】
以下、本発明にかかる第2実施形態の画像処理を説明する。なお、第2実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【0073】
第2実施形態は、期待されるオブジェクトサイズ情報をエンコードした文字列を使い、任意のノード名称を定義する予約語によってノード名称を定義し、予めBIFSソースの中にサイズ情報を記述することで、第1実施形態と同様、BIFSソースの作成者が意図したサイズでオブジェクトを表現するMPEG−4データを生成するものである。
【0074】
任意のノード名称を定義する予約語によって定義されるノード名称から、期待されるオブジェクトの縦横のサイズを取得し、外部参照オブジェクトの大きさを変更する点において、第2実施形態は第1実施形態と類似するが、記述するサイズ情報をエンコードすることで、サイズ情報を利用者から隠蔽して、縦横のサイズ以外の方法で表現したいといった要求、規格上名称に要求される一意性のためのより柔軟な配慮、といった利便性を生む、副次的な効果も期待される。
【0075】
第2実施形態は、期待されるオブジェクトのサイズ情報をエンコードした文字列を使い、「DEF」によってノード名称を定義し、予めBIFSソースの中にサイズ情報を記述することで、BIFSソースの作成者が意図するサイズでオブジェクトを表現するMPEG−4データを生成する。
【0076】
第2実施形態で、第1実施形態と異なる点は、オブジェクトのサイズ情報をエンコードする点で、ノード名称の作成方法およびサイズ情報抽出モジュール707の処理が異なるものになる。これ以外は、すべて第1実施形態と同じで、MPEG−4データ生成装置も、第1実施形態で説明した図9および図10の構成がそのまま利用することができる。
【0077】
以下、第1実施形態と異なる、ノード名称の作成方法およびサイズ情報抽出モジュール707の処理を詳細に説明する。
【0078】
図16はBIFSソースの例を示す図、図17から図19はノード名称の作成例を説明する図である。
【0079】
ノード名称は、キーワード、オブジェクトのサイズ情報および区切り文字を使って作成するが、オブジェクトのサイズ情報をエンコードすることが第1実施形態と異なる。
【0080】
図17はオブジェクトのサイズ情報をエンコードする方法例を示すフローチャートである。この例では、オブジェクトのサイズ情報を表す縦・横の数値を四桁の16進数に変換し(S91)、横サイズを上位四桁、縦サイズを下位四桁とする八桁の16進数(に対応する文字列)を作成する(S92)エンコードを行う。
【0081】
図18は、このエンコードを具体的に示す図である。縦240×横320ピクセルを表す数値「240」および「320」をそれぞれ四桁の16進数「00F0」および「0140」に変換し、これをつないで「014000F0」という文字列を作成する。
【0082】
図19はエンコードしたオブジェクトのサイズ情報を使ってノード名称を作成する処理を説明する図である。この例では、縦240×横320ピクセルというサイズ情報、キーワード「PLACEHOLDER」および区切り文字「_」を使用して、ノード名称「PLACEHOLDER_014000F0」を作成する。なお、作成するノード名称を一意に定める処理は、第1実施形態と同様の手法が使えることはいうまでもない。
【0083】
図20および図21はサイズ情報抽出モジュール707の動作を説明する図である。
【0084】
サイズ情報抽出モジュール707は、ノード名称の文字列を分解し、オブジェクトのサイズ情報を抽出する。第1実施形態と異なるのは、サイズ情報の抽出の際にデコード処理が必要な点である。サイズ情報抽出モジュール707は、ノード名称の文字列からサイズ情報を示す文字列を抽出した後、この文字列をデコードしてサイズ情報を抽出する。
【0085】
図20はノード名称からサイズ情報を抽出する具体例を示す図である。この例では、サイズ情報抽出モジュール707により、ノード名称の文字列から文字列「014000F0」を抽出し、この文字列をデコードして、縦240×横320ピクセルのサイズ情報を得る。つまり、抽出した文字列の上位四桁を10進数に変換して横のサイズとして解釈し(S71)、下位四桁を10進数に変換して縦のサイズとして解釈する(S72)。
【0086】
なお、オブジェクトのサイズ情報のエンコード方法として、10進数を16進数に変換する手法を説明したが、これに限られるわけではない。また、より強固な暗号化ルーチンを用いるなどしても、本質には影響しない。このようなエンコードを行うことで、オブジェクトに期待する大きさをBIFSソースの利用者に明確にせず、隠蔽することにより、BIFSソースの作成者の著作物としての保護を行うといった副次的な効果も期待される。例えば、上に説明した文字列「014000F0」は、簡単な処理にも関わらず、オブジェクトの大きさそのものを、それから読み取ることは容易ではない。
【0087】
また、第1実施形態で説明したように、名称の一意性という点でも副次的な効果が期待できる。簡単には、定義名の発現順序に従い、文字列にその順序番号を付加することで、文字列の長さを変えずに一意性を保持することも可能である。この場合、BIFSソースからサイズ情報を抽出する際に、逆に順序番号を引いておけばよい。
【0088】
さらに、エンコードおよびデコード処理が期待する「大きさ」として、縦と横の大きさを使用することを暗黙のうちに前提としたが、縦の大きさと縦横比の組み合わせなどを使用してもよい。あるいは、予め定められた絶対的な大きさに対する縦横比でもよい。これらの指定方法を使用した例の詳細は、方法が単純であるため、詳細な説明は省略する。
【0089】
このように、BIFSソースの作成者が期待するオブジェクトのサイズ情報が何らかの形で符号化されていたとしても、BIFSソースに記述することが可能で、第1実施形態と同様に、BIFSソースの作成者が意図するサイズでオブジェクトを表現するMPEG−4データを生成することができる。
【0090】
【変形例】
上記の実施形態においては、BIFSソース703が参照するオブジェクト709のURLと、それと置き換えられるオブジェクトトランスコーダ712が出力するサイズ変換後の参照オブジェクトデータ714の関連については、何ら説明しなかった。しかし、このような関連付けは、アプリケーションプログラムの制御によって、様々に実現可能なものである。例えば、参照オブジェクト709のURLと置き換えられる参照オブジェクトデータ714の対応リストを何らかの形式で保持することで、これは容易に実現される。あるいは、URL情報711を取り出した後、BIFSソース703を解釈した結果のデータに含まれる参照オブジェクト709のURLを、変換後の参照オブジェクトデータ714のURLに変更してもよい。あるいは、BIFSソース703に含まれる参照オブジェクト709のURL自体を書き換えることによっても実現可能である。さらに、URLはオブジェクトを格納するファイルを示すとは限らず、オブジェクトのビットストリームを参照するIDである可能性もあり、このような場合には、URLを書き換えずとも何ら矛盾しない場合もある。
【0091】
また、本発明によるMPEG−4データ生成装置は、必ずしも上に説明した様々なモジュールが独立したモジュールでなくても動作することは明らかである。このもっとも簡単な例は、BIFSソース解釈モジュール704とBIFSエンコーダモジュール706に顕著である。これら二つのモジュールは、サイズ情報708およびURL情報711の取出機能が実現されていれば、一つのモジュールとして実装可能である。本発明の本質は、BIFSソース703に含まれる参照オブジェクト709を、BIFS作成者が意図したサイズに変換し、参照オブジェクトデータ714を生成する機能を一連の処理によって行うことにより実現され、各モジュールの独立性はその本質ではない。
【0092】
このように、ISO/IEC14496−1の定義に矛盾しない方法によって、期待されるオブジェクトの幅と高さをBIFSソースに記述し、これを解釈することによって、予め作成済み、あるいは、参照されるオブジェクトが未解決のBIFSソースであっても、オブジェクトが決定されたときに、参照されるオブジェクトに期待される幅と高さを利用して、BIFSソースの作成者の意図に合う表現にすることができる。
【0093】
なお、MPEG−4データ生成装置とそのモジュール構成は、必ずしもパーソナルコンピュータ上で動作するアプリケーションプログラムの分野に限定されるものではない。MPEG−4データ生成装置は、ディジタルカメラやカムコーダ、携帯電話、ディジタルレコーダなどのハードウェア機器に適用可能してもよい。
【0094】
さらに、本発明は複数の機器(例えばホストコンピュータ、インタフェイス機器、スキャナ、プリンタなど)から構成されるシステムに適用しても、一つの機器(例えば携帯電話)からなる装置に適用してもよい。MPEG−4データ生成装置を構成するモジュールが、複数の機器に分散されているとしても、適当な通信機能やデータ共有などによりそれらが対話的に通信可能であれば、それら複数の機器が本発明を構成する。あるいは、複数の機器の一部がインターネットやその他の通信機能によって離れた場所にあってもよい。
【0095】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0097】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0098】
【発明の効果】
以上説明したように、本発明によれば、シーン記述の意図に合うオブジェクトを生成することができる。
【図面の簡単な説明】
【図1】VRMLを基本としたBIFSソースの記述例を示す図、
【図2】VRMLを基本としたBIFSソースの記述例を示す図、
【図3】VRMLを基本としたBIFSソースの記述例を示す図、
【図4】図1から3に示すBIFSソースをエンコードした場合に、その結果として期待される表示の効果を模式的に示す図、
【図5】第1実施形態におけるBIFSソースの例を示す図、
【図6】BIFSソースの一例を示す図、
【図7】BIFSソース記述方式におけるノード名称の作成方法を説明する図、
【図8】ノード名称を一意に定める方法の一例を示す図、
【図9】ソフトウェアでMPEG−4データ生成装置を構成する場合のコンピュータ装置の構成例を示すブロック図、
【図10】MPEG−4データ生成装置の機能構成例を示すブロック図、
【図11】MPEG−4データ生成装置の動作を説明するフローチャート、
【図12】ノード名称の抽出処理例を示す図、
【図13】サイズ情報の抽出処理例を示す図、
【図14】URL情報の抽出処理例を示す図、
【図15】DEFによって定義されるノードが、外部参照オブジェクトの位置情報を記述するノードを参照するBIFSソースの例を示す図、
【図16】BIFSソースの例を示す図、
【図17】ノード名称の作成例を説明する図、
【図18】ノード名称の作成例を説明する図、
【図19】ノード名称の作成例を説明する図、
【図20】サイズ情報抽出モジュールの動作を説明する図、
【図21】サイズ情報抽出モジュールの動作を説明する図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an object generation apparatus and method, for example, to generation of objects such as still images, moving images, and computer graphics to be arranged on a screen by scene description.
[0002]
[Prior art]
With the improvement of digital data processing capability and the development of communication technology, so-called multimedia can be expressed easily, and complex expressions using multiple still images, moving images, audio, vector graphics, etc. are generally used. became. There is an object-based encoding method as a method of such complex multimedia (or multi-object) expression. A specific example is a standard (ISO / IEC 14496-1) called MPEG-4 system (see, for example, Non-Patent Document 1).
[0003]
ISO / IEC 14496-1 standardizes a binary format called BIFS (Binary Format for Science) that indicates how to arrange and display MPEG-4 audiovisual objects in space. BIFS includes an object descriptor (Object Descriptor) and an initial object descriptor (Initial Object Descriptor), which is a special form of the object descriptor, and a bit stream defined by MPEG-4 visual and MPEG-4 audio encoding audio and video. The so-called multimedia scene is composed.
[0004]
BIFS uses VRML (ISO / IEC147772-1 Virtual Reality Modeling Language) as the basis of its definition, and can be considered as an extension of VRML.
[0005]
Details of the standard are defined in ISO / IEC 14496-1, and will not be described here, but in the following, in order to explain the essence of the invention more concisely, the representation of BIFS based on VRML is called BIFS source, Express in text format. The BIFS text representation includes an XML format representation called XMT (Extensible MPEG-4 Textual format). In the following, a case where the representation is explicitly expressed as XMT including such representation by XMT will be described. Except for the BIFS source. That is, the BIFS source is a specific example of a scene description method for encoding a scene that defines the arrangement and operation of an object in the object-based encoding method.
[0006]
FIGS. 1 to 3 are diagrams illustrating a description example of a BIFS source based on VRML.
[0007]
“#VRML V2.0 utf8” described at the beginning is a comment, which is defined in the VRML rules and is not directly related to the invention, but is described as an example of a general description method. “Utf8” is an international character designation based on UTF-8 encoding based on ISO10646.
[0008]
FIG. 4 is a diagram schematically showing the expected display effect when the BIFS source shown in FIGS. 1 to 3 is encoded. Hereinafter, a detailed description will be given using the example of the BIFS source of FIGS. 1 to 3 and FIG.
[0009]
The second comment line “# --- background image ---” shown in FIG. 1 shows a background still image, and an object “background” JPG designated by url is a
[0010]
Similarly, the third comment line “# −−− still image:
[0011]
The comment lines "# ---- Operation ---" shown in FIG. 2 and the comment lines "# ---- Connection between events ----" shown in FIG. For example, an operation in which the selected object is enlarged and displayed in the enlarged
[0012]
In the following, the BIFS source example of FIGS.
[0013]
First, the group {...} Indicates a node that groups the entire scene to be displayed. The next child [...] Represents a set of child nodes of the group, and the next Transform2D {.
[0014]
The Transform 2D further holds child nodes, and takes a specific object into the scene by using Shape {...}. This is equivalent to mapping the object specified by Shape to coordinates in the scene by Transform2D. Shape further holds appearance Appearance {...} And geometry Bitmap {...}, The former designates the visual characteristics of Shape and the latter designates its specific display. As a visual characteristic, a specific image object is specified by texture ImageText {...}, And url indicating the object is described. Scale and translation describe the magnification and coordinates, respectively.
[0015]
The points to be noted here are the values of scale and translation described in Transform2D and geometry. The scale value is enlarged or reduced by a ROUTE command in a certain time from the time of object selection. The operation is performed by changing the value by PositionInterpolator2D {...} Defined by, for example, DEF PIC1SCALE (FIG. 2). In this example, the aspect changes from 0.5 (half) to 1.0 (same size), and then returns to the original 0.5.
[0016]
Similarly, the translation value also changes to change the position of the object. “translation” means a parallel movement of a target object, and the position of the object is moved by changing this value.
[0017]
In the above description, the term “object” is used without any specific explanation. However, in order to explain the position and size of the object in more detail, more specific expressions will be used.
[0018]
In the BIFS source shown in FIGS. 1 to 3, the background object background. JPG, still picture picture1. img and picture of the movie 2. movie is being used. These objects are described in the URL (Uniform Resource Locator) format after the description of url. Since this notation is defined in the well-known RFC and is in the VRML definition format, it will not be described in detail here.
[0019]
These three objects, in this example, are bakground. JPG is 512 pixels wide by 384 pixels long, picture1. img and picture2. The movie is assumed to be 320 pixels wide × 240 pixels high. Since the scale described above indicates the ratio of enlargement / reduction, each object is expressed by 1.0 (same size), and then the background background. Except for JPG, the initial value is reduced to 0.5, that is, half the size. Background picture background. JPG is the size as it is, but still images and moving images are reduced in half, and the initial size is 160 pixels wide by 120 pixels high. Further, the positions of the reduced still image and moving image are designated by coordinates (168, 76) and coordinates (168, -76) by translation, and are thus moved to the upper right and lower right of the display area.
[0020]
In this way, a specific position expression as shown in FIG. 4 is performed. It should be noted that the display effect defined by such a BIFS source is expressed in a state that does not define the absolute size of the object specified by url in the texture. The definition of ISO / IEC14496-1 uses a so-called right-handed Cartesian three-dimensional coordinate system for the coordinate system, as in the original VRML definition, and the expressed texture is a ratio to the original size. Expressed only in Therefore, unless you explicitly place an object defined with a finite size in this coordinate system and paste a texture on that object, the size of the displayed object is Only objects will be known.
[0021]
In the example of the BIFS source shown in FIGS. 1 to 3, when the
[0022]
Up to this point, the description has focused on the arrangement of objects according to the example of the BIFS source shown in FIGS. 1 to 3, but according to the definition of ISO / IEC 14496-1, the display area of the BIFS has a DecoderConfigDescriptor (decoder setting). Defined in BIFSConfig held in DecoderSpecificInfo (decoder specific information) in the descriptor). The definition of BIFSConfig is as follows.
[0023]
If hasSize is set to true (that is, if a bit is set), the area size of a specific expression (scene) to be displayed is specified by pixelWidth and pixelHeight.
[0024]
Thus, by specifying the size in the encoded bitstream, the display area of the expression indicated by the BIFS source is further specified.
[0025]
In this way, a so-called multimedia scene in which a plurality of objects are expressed in a complex manner can be freely expressed by a BIFS source or scene description and data expression in a bitstream not described in the BIFS source or scene description.
[0026]
As described above, the creator of the BIFS source intended the definition regarding the arrangement and operation of the object, that is, the scene description in advance by determining the size of an external reference object such as a still image or a moving image referenced from the scene description. It must be designed to be in a state. In reality, however, there are still cases where it is insufficient. Designing a scene description to reflect intent for any given reference object is not impossible at all, but for that purpose, the author of the BIFS source that is the scene description is sufficient. Consideration is essential. For example, when the BIFS source illustrated in FIGS. 1 to 3 refers to an object of horizontal 320 × vertical 240 pixels, the display shown in FIG. 4 can be performed. However, if the object sizes are different, in extreme cases, only a portion of the referenced object is displayed.
[0027]
Also, if the BIFS source creator creates a BIFS source with a specific intention in advance and then replaces an object that is referred to by a third party, the BIFS source may not be expressed as intended. The problem is that, for example, a designer who is familiar with the MPEG-4 standard designs a BIFS source with the intention, and then easily generates MPEG-4 data including an encoded BIFS or BIFS source and an encoder that generates BIFS. This is especially true when providing tools. In such a case, it may be assumed that the user wants to embed a still image or video that the user wants using the provided BIFS or BIFS source, or a tool, etc. It is necessary to prepare in advance an object of a size suitable for.
[0028]
In order to cope with the above problem, a method of embedding the object size expected in the BIFS source as a comment or a function for converting the object size expected in the provided tool is embedded. However, these methods are inconvenient because they are realized only by functions unique to the tool, or the user needs to read the BIFS source and make an independent determination. In addition, when implementing with the function specific to the tool, it is necessary to give the BIFS (or BIFS source) a unique extension, or to prepare different information different from the BIFS, which also causes compatibility problems. .
[0029]
[Non-Patent Document 1]
ISO / IEC 14496-1
[0030]
[Problems to be solved by the invention]
The present invention solves the above-mentioned problems individually or collectively, and aims to generate an object that meets the intention of scene description.
[0031]
[Means for Solving the Problems]
The present invention has the following configuration as one means for achieving the above object.
[0032]
When generating an object related to object-based encoding, the present invention extracts and extracts a node name defined by a reserved word that defines an arbitrary node name from a scene description for encoding a scene. Information regarding the size of the object and information indicating the position of the object entity are extracted from the node name, and the size of the object to be referenced is changed based on the extracted position information and size information.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, image processing according to an embodiment of the present invention will be described in detail with reference to the drawings.
[0034]
In the first embodiment, a character string in which a node name character string related to an external reference object defined by a reserved word that defines an arbitrary node name is added with values of vertical and horizontal sizes (sizes) of expected objects. Create as. Thus, the expected object size information is described in the BIFS source in advance, so that the size of the corresponding external reference object is changed based on the size information, and the object is expressed in the size intended by the BIFS creator. MPEG-4 data to be generated is generated.
[0035]
The MPEG-4 data generation apparatus described in the first embodiment is an object data generation apparatus related to ISO / IEC14496 (MPEG-4) using object-based encoding. The MPEG-4 data generation apparatus described here may be expressed in different configurations in detail, but may be configured by hardware or software by supplying software to a computer apparatus. It is feasible and its components can be rearranged, integrated and rearranged as long as they meet the essence of the present invention.
[0036]
In the following description, for simplification, the BIFS source shown in FIGS. 1 to 3 and the expected display effect shown in FIG.
[0037]
[First Embodiment]
As described above, assuming that the BIFS source is described in an expression based on VRML, for example, a portion to which a specific object is pasted is described as shown in FIG. In the example of the BIFS source shown in FIGS. 1 to 3, the node described in Shape is described as a child node of the Transform2D node that arranges the node. In FIG. Show.
[0038]
FIG. 6 shows an example of a BIFS source. “DEF” is a reserved word that defines an arbitrary node name in VRML. The BIFS source interpretation module retains this in preparation for referencing names defined by DEF.
[0039]
FIG. 7 is a diagram for explaining a method for creating a node name in the BIFS source description method.
[0040]
The name of the node in this example is created based on the character string that becomes the keyword and information on the display size of the object intended by the BIFS creator. The character string “PLACEHOLDER” is used as the keyword. In addition, the display size of the object intended by the BIFS creator is described using two characters indicating vertical and horizontal sizes immediately after the keyword character string “PLACEHOLDER”, and using a delimiter “_” (underscore). “_320 — 240” shown in FIG. 7 represents 240 × 320 pixels. Thus, the node name is composed of a specific character string, expected vertical and horizontal sizes, and a delimiter character.
[0041]
Of the node name creation methods, the types of keyword character strings and delimiters are not the essence of the invention and can be changed. Similarly, the order of arrangement of the keyword character string and the size information is not the essence of the invention, and the order may be reversed. That is, it is important that the node name defined by DEF includes the keyword character string and the object size expected by the BIFS creator.
[0042]
In the BIFS source grammar, the node name defined by DEF must be uniquely defined in the standard because the effective scope of the name is global. This can be solved by the following method, for example. .
[0043]
FIG. 8 is a diagram illustrating an example of a method for uniquely determining a node name.
[0044]
In the example shown in FIG. 8, when the node names to be created overlap, a unique number is added as a character string to the keyword of the newly created node name. This prevents duplication of node names and maintains uniqueness. For example, when a node having the same name as the node name “PLACEHOLDER — 320 — 240” to be created already exists, a number “1” is added after the keyword character string, and the character string “
[0045]
Hereinafter, a BIFS source in which a node name is defined by this method will be described as an example.
[0046]
[Constitution]
FIG. 9 is a block diagram showing a configuration example of a computer apparatus when an MPEG-4 data generation apparatus is configured by software.
[0047]
The
[0048]
A
[0049]
The
[0050]
The
[0051]
A network interface card (NIC) 108 is a communication interface for exchanging various data including BIFS data, MPEG-4 data, and objects with other computer apparatuses via a network.
[0052]
Although not shown in FIG. 9, the
[0053]
FIG. 10 is a block diagram illustrating a functional configuration example of the MPEG-4 data generation apparatus.
[0054]
In FIG. 10, the BIFS
[0055]
The BIFS
[0056]
The node
[0057]
The
[0058]
The
[0059]
The MPEG-4
[0060]
Note that any one of the above module groups is a commonly used module, and is not itself the essence of the invention. The essence of the invention resides in the combination of these modules and their functions.
[0061]
[Operation]
FIG. 11 is a flowchart for explaining the operation of the MPEG-4 data generation apparatus.
[0062]
First, the
[0063]
Next, the node
[0064]
Next, the size
[0065]
Next, the URL
[0066]
FIG. 15 is a diagram illustrating an example of a BIFS source in which a node defined by DEF refers to a node describing position information of an external reference object. Also in this case, similarly to the example of FIG. 14, the URL information can be searched, and the URL
[0067]
The
[0068]
When the object conversion process (S85) is performed, the size of the
[0069]
Note that the processing from step S82 to S85 is repeatedly executed until the
[0070]
When the
[0071]
Finally, the MPEG-4
[0072]
Second Embodiment
The image processing according to the second embodiment of the present invention will be described below. Note that in the second embodiment, the same reference numerals as those in the first embodiment denote the same components, and a detailed description thereof will be omitted.
[0073]
In the second embodiment, a node name is defined by a reserved word that defines an arbitrary node name using a character string obtained by encoding expected object size information, and size information is described in the BIFS source in advance. Similar to the first embodiment, MPEG-4 data representing an object in a size intended by the creator of the BIFS source is generated.
[0074]
The second embodiment is the first embodiment in that the vertical and horizontal sizes of the expected object are obtained from the node name defined by the reserved word that defines an arbitrary node name, and the size of the external reference object is changed. It is similar to the above, but by encoding the size information to be described, the size information is concealed from the user and expressed in a method other than the vertical and horizontal sizes. A secondary effect that produces convenience such as flexible consideration is also expected.
[0075]
The second embodiment uses a character string encoded with expected size information of an object, defines a node name by “DEF”, and describes the size information in the BIFS source in advance, thereby creating the BIFS source creator. MPEG-4 data representing an object in a size intended by the.
[0076]
The second embodiment is different from the first embodiment in that the object size information is encoded, and the node name creation method and the size
[0077]
The node name creation method and the size
[0078]
FIG. 16 is a diagram illustrating an example of a BIFS source, and FIGS. 17 to 19 are diagrams illustrating examples of creating node names.
[0079]
The node name is created using a keyword, object size information, and a delimiter, but the object size information is encoded differently from the first embodiment.
[0080]
FIG. 17 is a flowchart illustrating an example of a method for encoding object size information. In this example, the vertical and horizontal numerical values representing the object size information are converted into a four-digit hexadecimal number (S91), and the horizontal size is the upper four digits and the vertical size is the lower four digits. (Corresponding character string) is created (S92) and encoding is performed.
[0081]
FIG. 18 is a diagram specifically illustrating this encoding. Numerical values “240” and “320” representing vertical 240 × 320 pixels are converted into four-digit hexadecimal numbers “00F0” and “0140”, respectively, and connected to create a character string “014000F0”.
[0082]
FIG. 19 is a diagram illustrating a process for creating a node name using the encoded object size information. In this example, the node name “PLACEHOLDER — 014000F0” is created using size information of vertical 240 × horizontal 320 pixels, the keyword “PLACEHOLDER”, and the delimiter “_”. It goes without saying that the same method as in the first embodiment can be used to uniquely determine the node name to be created.
[0083]
20 and 21 are diagrams for explaining the operation of the size
[0084]
The size
[0085]
FIG. 20 is a diagram showing a specific example of extracting size information from a node name. In this example, the size
[0086]
Although the method for converting decimal numbers into hexadecimal numbers has been described as an encoding method of object size information, the present invention is not limited to this. Even if a stronger encryption routine is used, the essence is not affected. By performing such encoding, the size expected of the object is not made clear to the user of the BIFS source, but it is concealed to protect the BIFS source creator as a copyrighted work. Is also expected. For example, the character string “014000F0” described above is not easy to read from the object size itself despite the simple processing.
[0087]
In addition, as described in the first embodiment, a secondary effect can be expected in terms of uniqueness of names. Simply, it is possible to retain uniqueness without changing the length of the character string by adding the sequence number to the character string in accordance with the order in which the definition names appear. In this case, when extracting size information from the BIFS source, the sequence number may be subtracted.
[0088]
Furthermore, although it is implicitly assumed that the vertical and horizontal sizes are used as the “size” expected by the encoding and decoding process, a combination of the vertical size and the aspect ratio may be used. . Alternatively, it may be an aspect ratio with respect to a predetermined absolute size. Details of examples using these designation methods are simple, and thus detailed description thereof is omitted.
[0089]
As described above, even if the size information of the object expected by the creator of the BIFS source is encoded in some form, it can be described in the BIFS source. Similarly to the first embodiment, the creation of the BIFS source is possible. MPEG-4 data representing an object in a size intended by a person can be generated.
[0090]
[Modification]
In the above embodiment, the relation between the URL of the
[0091]
It is also clear that the MPEG-4 data generation apparatus according to the present invention does not necessarily operate even if the various modules described above are not independent modules. The simplest example of this is evident in the BIFS
[0092]
In this way, an object that has been created or referred to in advance by describing the expected width and height of the object in the BIFS source and interpreting it in a manner consistent with the definition of ISO / IEC 14496-1. Even if is an unresolved BIFS source, when the object is determined, the width and height expected for the referenced object can be used to make the representation fit the intention of the BIFS source creator. it can.
[0093]
Note that the MPEG-4 data generation apparatus and its module configuration are not necessarily limited to the field of application programs operating on a personal computer. The MPEG-4 data generation apparatus may be applicable to hardware devices such as a digital camera, a camcorder, a mobile phone, and a digital recorder.
[0094]
Furthermore, the present invention may be applied to a system composed of a plurality of devices (for example, a host computer, interface device, scanner, printer, etc.) or an apparatus composed of a single device (for example, a mobile phone). . Even if the modules constituting the MPEG-4 data generation apparatus are distributed to a plurality of devices, the plurality of devices can be used as long as they can communicate interactively by an appropriate communication function or data sharing. Configure. Alternatively, some of the plurality of devices may be located away from each other by the Internet or other communication functions.
[0095]
Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0096]
Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0097]
When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
[0098]
【The invention's effect】
As described above, according to the present invention, it is possible to generate an object that meets the intention of the scene description.
[Brief description of the drawings]
FIG. 1 is a diagram showing a description example of a BIFS source based on VRML;
FIG. 2 is a diagram showing a description example of a BIFS source based on VRML;
FIG. 3 is a diagram showing a description example of a BIFS source based on VRML;
FIG. 4 is a diagram schematically showing a display effect expected as a result when the BIFS source shown in FIGS. 1 to 3 is encoded;
FIG. 5 is a diagram showing an example of a BIFS source in the first embodiment;
FIG. 6 is a diagram showing an example of a BIFS source;
FIG. 7 is a diagram for explaining a method for creating a node name in the BIFS source description method;
FIG. 8 is a diagram showing an example of a method for uniquely determining a node name;
FIG. 9 is a block diagram showing a configuration example of a computer device when an MPEG-4 data generation device is configured by software;
FIG. 10 is a block diagram illustrating a functional configuration example of an MPEG-4 data generation device;
FIG. 11 is a flowchart for explaining the operation of the MPEG-4 data generation apparatus;
FIG. 12 is a diagram showing an example of node name extraction processing;
FIG. 13 is a diagram showing an example of size information extraction processing;
FIG. 14 is a diagram showing an example of URL information extraction processing;
FIG. 15 is a diagram illustrating an example of a BIFS source in which a node defined by DEF refers to a node describing position information of an external reference object;
FIG. 16 is a diagram showing an example of a BIFS source;
FIG. 17 is a diagram for explaining an example of creating a node name;
FIG. 18 is a diagram for explaining an example of creating a node name;
FIG. 19 is a diagram for explaining an example of creating a node name;
FIG. 20 is a diagram for explaining the operation of the size information extraction module;
FIG. 21 is a diagram for explaining the operation of the size information extraction module;
Claims (9)
シーンを符号化するためのシーン記述から、任意のノード名を定義する予約語によって定義されたノード名を抽出し、
抽出したノード名からオブジェクトのサイズに関する情報、および、オブジェクトの実体の位置を示す情報を抽出し、
抽出した位置情報およびサイズ情報に基づき、参照すべきオブジェクトの大きさを変更することを特徴とするオブジェクト生成方法。An object generation method for generating an object related to object-based encoding,
From the scene description for encoding the scene, extract the node name defined by the reserved word that defines an arbitrary node name,
Extract information about the size of the object from the extracted node name and information indicating the position of the object's entity,
An object generation method characterized by changing the size of an object to be referred to based on the extracted position information and size information.
シーンを符号化するためのシーン記述から、任意のノード名を定義する予約語によって定義されたノード名を抽出する第一の抽出手段と、
抽出したノード名からオブジェクトのサイズに関する情報、および、オブジェクトの実体の位置を示す情報を抽出する第二の抽出手段と、
抽出した位置情報およびサイズ情報に基づき、参照すべきオブジェクトの大きさを変更する変更手段とを有することを特徴とするオブジェクト生成装置。An object generation device for generating an object related to object-based encoding,
First extraction means for extracting a node name defined by a reserved word that defines an arbitrary node name from a scene description for encoding a scene;
Second extraction means for extracting information on the size of the object from the extracted node name, and information indicating the position of the entity of the object;
An object generating apparatus comprising: changing means for changing the size of an object to be referred to based on the extracted position information and size information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003201158A JP2005045400A (en) | 2003-07-24 | 2003-07-24 | Object generating device and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003201158A JP2005045400A (en) | 2003-07-24 | 2003-07-24 | Object generating device and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005045400A true JP2005045400A (en) | 2005-02-17 |
Family
ID=34261332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003201158A Withdrawn JP2005045400A (en) | 2003-07-24 | 2003-07-24 | Object generating device and method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005045400A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100744259B1 (en) | 2006-01-16 | 2007-07-30 | 엘지전자 주식회사 | Digital multimedia receiver and method for displaying sensor node thereof |
WO2009002005A1 (en) * | 2007-06-22 | 2008-12-31 | Net & Tv Inc. | Method for controlling the selection of object in interactive bifs contents |
KR101377953B1 (en) * | 2007-06-07 | 2014-03-25 | 엘지전자 주식회사 | method for controlling an object and apparatus for outputting an object |
-
2003
- 2003-07-24 JP JP2003201158A patent/JP2005045400A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100744259B1 (en) | 2006-01-16 | 2007-07-30 | 엘지전자 주식회사 | Digital multimedia receiver and method for displaying sensor node thereof |
KR101377953B1 (en) * | 2007-06-07 | 2014-03-25 | 엘지전자 주식회사 | method for controlling an object and apparatus for outputting an object |
WO2009002005A1 (en) * | 2007-06-22 | 2008-12-31 | Net & Tv Inc. | Method for controlling the selection of object in interactive bifs contents |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612040B2 (en) | Automated derivative view rendering system | |
KR100424677B1 (en) | Apparatus and method for authoring of multi-media contents with object-based interactivity | |
JP2006202277A (en) | General application sequence diagram generator driven by nonspecific language | |
WO2009000141A1 (en) | Representation method, system and device of layout file logical structure information | |
JP5653494B2 (en) | Cloud assisted rendering | |
KR100319380B1 (en) | Video image decoding and synthesizing method and video image decoding and synthesizing apparatus | |
Eleftheriadis | Flavor: a language for media representation | |
Flotyński et al. | Building multi-platform 3D virtual museum exhibitions with Flex-VR | |
CN112214622A (en) | Data processing method and device for rapidly displaying AutoCAD drawing | |
Блинова et al. | Steganographic method based on hidden messages embedding into Bezier curves of SVG images | |
CN114677569A (en) | Character-image pair generation method and device based on feature decoupling | |
JP2005045400A (en) | Object generating device and method therefor | |
KR100620897B1 (en) | method and the system for producting BIFSBInary Format for Scenes language for MPEG-4 contents | |
JP2007519068A (en) | Computer-based calculation method and computer system for generating a semantic description using conversion technology | |
JP7218105B2 (en) | File generation device, file generation method, processing device, processing method, and program | |
CN108416824B (en) | DWF file mapping method, device, computing equipment and medium | |
JP2005045399A (en) | Object generating apparatus and method thereof | |
Lemme et al. | The basic building blocks of declarative 3d on the web | |
JP2005045401A (en) | Object generating apparatus and method thereof | |
JP2005045402A (en) | Object generating device and method therefor | |
WO2024004449A1 (en) | Information processing device, information processing method, and computer program | |
CN100496124C (en) | Method for generating input file using meta language regarding graphic data compression | |
Hananto et al. | Comparative study of Web3D standard format to determine the base format for a Web3D framework | |
JP2002300374A (en) | Program to execute electronic watermark information processing | |
CN102043821A (en) | Document displaying method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061003 |