[go: up one dir, main page]

JP4260747B2 - Moving picture composition method and scene composition method - Google Patents

Moving picture composition method and scene composition method Download PDF

Info

Publication number
JP4260747B2
JP4260747B2 JP2004549857A JP2004549857A JP4260747B2 JP 4260747 B2 JP4260747 B2 JP 4260747B2 JP 2004549857 A JP2004549857 A JP 2004549857A JP 2004549857 A JP2004549857 A JP 2004549857A JP 4260747 B2 JP4260747 B2 JP 4260747B2
Authority
JP
Japan
Prior art keywords
image
scene
computer
opacity value
computer system
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
Application number
JP2004549857A
Other languages
Japanese (ja)
Other versions
JP2006505050A (en
Inventor
マリン、クリストファー、エフ.
マイヤーズ、ロバート、ケー.
アール. ケント、ジェームス、
ブロードウェル、ピーター、ジー.
Original Assignee
ソニー エレクトロニクス インク
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ソニー エレクトロニクス インク filed Critical ソニー エレクトロニクス インク
Publication of JP2006505050A publication Critical patent/JP2006505050A/en
Application granted granted Critical
Publication of JP4260747B2 publication Critical patent/JP4260747B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Studio Circuits (AREA)

Description

本発明は、一般的には、3次元グラフィックスのためのモデリング言語に関し、特に、シーンに対する画像の埋込みに関する。   The present invention relates generally to modeling languages for three-dimensional graphics, and more particularly to embedding images in scenes.

コンピュータグラフィックスにおいて、従来のリアルタイムの3次元シーンの描画は、シーンの3次元ジオメトリの記述を計算することに基づいており、コンピュータディスプレイ上に画像の表現を生成することになる。仮想現実モデリング言語(Virtual Reality Modeling Language:以下、VRMLと略す)において、従来の3次元アプリケーションで一般的に使用されている意味の多くは、例えば階層的変換、光源、視点、ジオメトリ、アニメーション、フォグ、素材特性、テクスチャマッピング等を定義する従来のモデリング言語である。テクスチャマッピング処理は、一般的には、外部から供給される画像データをシーン内の所定のジオメトリに適用するのに使用される。例えば、VRMLによって、外部から供給される画像データ、外部から供給されるビデオデータ、あるいは外部から供給される画素データを面に適用することができる。しかし、VRMLでは、描画されたシーンを、別のシーンに宣言的にマッピングされるテクスチャの画像として用いることはできない。宣言型マークアップ言語において、所望の結果を得るのに必要な意味論は暗黙的であることから、得られる結果の記述は、所望の結果を得るのに十分である。したがって、所望の結果を得るための処理手順(すなわちスクリプトの記述)を準備する必要はない。その結果、宣言を用いてシーンを構成できることが望ましい。宣言型言語の一例は、ハイパーテキストマークアップ言語(Hypertext Markup Language:以下、HTMLと略す)である。   In computer graphics, conventional real-time 3D scene rendering is based on computing a description of the scene's 3D geometry, which produces a representation of the image on a computer display. In the virtual reality modeling language (hereinafter abbreviated as VRML), many of the meanings commonly used in conventional three-dimensional applications are, for example, hierarchical transformation, light source, viewpoint, geometry, animation, fog It is a traditional modeling language that defines material properties, texture mapping, etc. The texture mapping process is generally used to apply externally supplied image data to a predetermined geometry in the scene. For example, image data supplied from the outside, video data supplied from the outside, or pixel data supplied from the outside can be applied to the surface by VRML. However, in VRML, a drawn scene cannot be used as a texture image that is declaratively mapped to another scene. In the declarative markup language, the semantics necessary to obtain the desired result are implicit, so the description of the obtained result is sufficient to obtain the desired result. Therefore, it is not necessary to prepare a processing procedure (that is, script description) for obtaining a desired result. As a result, it is desirable to be able to compose a scene using declarations. An example of a declarative language is a hypertext markup language (hereinafter abbreviated as HTML).

更に、画像データが適用された2つの面を宣言的に組み合わせて、第3の面を生成することが望ましい。また、ある面に適用された画像データを宣言的に再描画して、画像の現在の状態を反映することが望ましい。   Furthermore, it is desirable to generate a third surface by declaratively combining the two surfaces to which the image data is applied. It is also desirable to declaratively redraw image data applied to a surface to reflect the current state of the image.

従来、3次元シーンは一体的に描画され、視聴者に対する最終的なフレームレートは、シーンの複雑さ又はテクスチャの入換えによって決まる最悪の性能によって、定まる。しかし、同じ画面上の異なる要素について異なる描画速度を適用すると、画質が向上し、視聴体験が、よりテレビ視聴に近くなり、ウェブページのような視聴体験ではなくなる。   Conventionally, 3D scenes are drawn together, and the final frame rate for the viewer is determined by the worst performance determined by scene complexity or texture permutation. However, when different drawing speeds are applied to different elements on the same screen, the image quality is improved, and the viewing experience is more like watching a television, and is not a viewing experience like a web page.

本発明に係るコンピュータシステムは、コンピュータと、コンピュータによって実行されるコンピュータプログラムとを備える。このコンピュータプログラムは、第1の画像が描画された第1の面と、第2の画像が描画された第2の面とを用いて、動画像を宣言的に構成するコンピュータインストラクションと、動画像は宣言型マークアップ言語によって生成され、第1の画像は空間におけるオブジェクトの3次元的表現であり、第2の面は空間における3次元的表現を有する突出であり、第1の画像は第1の不透明度の値を有し、第2の画像は第2の不透明度の値を有し、動画像は第3の不透明度の値を有し、第1の面からの第1の画像と第2の面からの第2の画像とを組み合わせて動画像を構成するコンピュータインストラクションと、第1の画像と第2の画像とを組み合わせてトラバースのマット効果を得るときに、第2の画像の不透明度の値を動かすコンピュータインストラクションとを有する。第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択される。   A computer system according to the present invention includes a computer and a computer program executed by the computer. The computer program includes a computer instruction for declaratively configuring a moving image using a first surface on which a first image is drawn and a second surface on which a second image is drawn, and a moving image Is generated by a declarative markup language, the first image is a three-dimensional representation of the object in space, the second surface is a protrusion having a three-dimensional representation in space, and the first image is the first The second image has a second opacity value, the moving image has a third opacity value, and the first image from the first surface and When a computer instruction that forms a moving image by combining the second image from the second surface and the first image and the second image are combined to obtain a traverse mat effect, A computer that moves the opacity value And an instruction. The first and second images are selected from the group consisting of video images, still images, animations, and scenes.

さらに、本発明に係るコンピュータシステムにおけるコンピュータプログラムは、第1の画像を第1の面上に描画するコンピュータインストラクションと、第2の画像を第2の面上に描画するコンピュータインストラクションと、第3の画像を第3の面上に宣言的に描画するコンピュータインストラクションとを有する。第1の画像は第3の画像用のテクスチャとして使用され、第2の画像はテクスチャと混合されて第3の画像を形成し、第3の面は宣言型マークアップ言語によって生成され、第1の画像は空間における3次元的表現を有する突出であり、第2の画像はオブジェクトの3次元的表現である。   Furthermore, a computer program in the computer system according to the present invention includes a computer instruction for drawing a first image on a first surface, a computer instruction for drawing a second image on a second surface, and a third And a computer instruction for declaratively rendering the image on the third surface. The first image is used as a texture for the third image, the second image is mixed with the texture to form a third image, the third surface is generated by a declarative markup language, The image is a protrusion having a three-dimensional representation in space, and the second image is a three-dimensional representation of the object.

本発明に係るコンピュータを用いて動画像を構成する動画像構成方法は、第1の画像を第1の面上に描画し、第2の画像を第2の面上に描画し、動画像は宣言型マークアップ言語によって生成され、第1の画像はオブジェクトの3次元的表現であり、第2の面は空間における3次元的表現を有する突出であり、第1の画像と第2の画像とを組み合わせて動画像を宣言的に構成し、第1の画像の第1の不透明度の値を与え、第2の画像の第2の不透明度の値を与え、動画像の第3の不透明度の値を与え、第1の画像と第2の画像とを組み合わせてマット効果を得るときに、第2の画像の不透明度の値を動かす。   A moving image forming method for forming a moving image using a computer according to the present invention draws a first image on a first surface, draws a second image on a second surface, Generated by a declarative markup language, the first image is a three-dimensional representation of the object, the second surface is a protrusion having a three-dimensional representation in space, the first image and the second image, To declaratively compose a moving image, giving a first opacity value for the first image, giving a second opacity value for the second image, and a third opacity value for the moving image When the matte effect is obtained by combining the first image and the second image, the opacity value of the second image is moved.

本発明に係るコンピュータを用いてシーンを構成するシーン構成方法は、第1の画像を第1の面上に描画し、第2の画像を第2の面上に描画し、第1の画像をシーン用のテクスチャとして使用し、テクスチャを第2の画像に混合して、第1のシーンを、第1のシーンを形成する第3の面上に描画する。第3の面は宣言型マークアップ言語によって生成され、第1の画像は空間における3次元的表現を有する突出であり、第2の画像はオブジェクトの3次元的表現である。   In a scene composition method for composing a scene using a computer according to the present invention, a first image is drawn on a first surface, a second image is drawn on a second surface, and the first image is drawn. Use as a texture for the scene, mix the texture with the second image, and draw the first scene on the third surface forming the first scene. The third surface is generated by a declarative markup language, the first image is a protrusion having a three-dimensional representation in space, and the second image is a three-dimensional representation of the object.

本発明は、効率的な宣言型マークアップ言語により、複雑で、動的で、インタラクティブな体験のリアルタイム構成及び表示を行うためのシステム及び方法を提供する。面構成を用いることにより、制作者は、自分の3次元シーン内で従来のテクスチャマップを使用するような箇所に、画像又はフルモーションビデオデータを埋め込むことができる。また、制作者は、1つのシーン記述の描画結果を、他のシーンにテクスチャマッピングされる画像として用いることができる。特に、面構成により、いずれの描画アプリケーションの結果も、制作者のシーン内のテクスチャとして使用することができる。これにより、ネストされたシーンを宣言的に描画し、コンポーネントサーフェスを有するシーンを異なる描画速度で描画することができる。   The present invention provides a system and method for real-time composition and display of complex, dynamic, interactive experiences with an efficient declarative markup language. By using the surface composition, the creator can embed images or full motion video data in a place where a conventional texture map is used in his 3D scene. Further, the creator can use the drawing result of one scene description as an image that is texture-mapped to another scene. In particular, depending on the surface configuration, the result of any drawing application can be used as a texture in the creator's scene. Thereby, nested scenes can be drawn declaratively and scenes with component surfaces can be drawn at different drawing speeds.

「ブレンド(Blendo)」は、本発明の典型的な実施形態であり、アニメーション及び目に見える画像の制御、現在再生中のメディア資産(media asset)に対するオーディオメディア、ビデオメディア、アニメーション、イベントデータのキューイング等、メディア資産の時間的な操作を可能にする。図1Aは、ブレンドの基本的なアーキテクチャを示すブロック図である。ブレンドのアーキテクチャの中心部には、コアランタイムモジュール10(以下、コアと呼ぶ)があり、コア10は、アプリケーションプログラマインタフェース(Application Programmer Interface:以下、APIと略す)の様々な要素、及びシステム11内に存在するオブジェクトのセットに対するオブジェクトモデルを提供する。通常動作時には、パーサ14によって、ファイルは解析されて、未処理シーングラフ16とされ、コア10に供給され、コア10において、そのオブジェクトはインスタンス化され、ランタイムシーングラフが生成される。オブジェクトは、内蔵オブジェクト18、制作者が定義したオブジェクト20、ネイティブオブジェクト24等とすることができる。これらのオブジェクトは、利用可能なマネージャ26のセットを用いて、プラットフォームサービス32を得る。これらのプラットフォームサービス32には、イベントの処理、メディア資産のローディング、メディアの再生等が含まれる。オブジェクトは、レンダリングレイヤ28を用いて、表示するための中間的な画像又は最終的な画像を構成する。ページ統合コンポーネント30は、ブレンドを、例えばHTML又はXMLページ等の外部環境にインタフェースさせるために使用される。   “Blendo” is an exemplary embodiment of the present invention, which controls animation and visible images, audio media, video media, animation, event data for the currently playing media asset. Allows temporal manipulation of media assets such as queuing. FIG. 1A is a block diagram showing the basic architecture of the blend. At the heart of the blend architecture is a core runtime module 10 (hereinafter referred to as the core), which is comprised of various elements of the application programmer interface (hereinafter abbreviated as API) and within the system 11. Provides an object model for the set of objects that exist in. During normal operation, the parser 14 parses the file into a raw scene graph 16 that is fed into the core 10 where the object is instantiated and a runtime scene graph is generated. The object can be a built-in object 18, an object 20 defined by the producer, a native object 24, or the like. These objects get a platform service 32 using a set of available managers 26. These platform services 32 include event processing, media asset loading, media playback, and the like. The object uses the rendering layer 28 to construct an intermediate or final image for display. The page integration component 30 is used to interface the blend to an external environment such as an HTML or XML page.

ブレンドは、マネージャ26のセットに関するシステムオブジェクトを含んでいる。各マネージャ26は、システム11の何らかの特徴(aspect)を制御するためのAPIのセットを提供する。イベントマネージャ26Dは、ユーザ入力又は環境イベントから生じる入力装置イベントへのアクセスを提供する。ローディングマネージャ26Cは、ブレンドファイルのローディング及びネイティブノード実行を容易にする。メディアマネージャ26Eは、オーディオ、画像及びビデオのメディア資産をローディングし、制御し、再生する能力を提供する。レンダリングマネージャ26Gは、シーンの描画に使用されるオブジェクトを生成及び管理できるようにする。シーンマネージャ26Aは、シーングラフを制御する。サーフェスマネージャ26Fは、その上でシーンの要素及び他の資産が合成される面を生成及び管理できるようにする。スレッドマネージャ26Bは、制作者がスレッドを発生させ、制御し、スレッド間で通信できるようにする。   The blend includes system objects for the set of managers 26. Each manager 26 provides a set of APIs for controlling some aspect of the system 11. Event manager 26D provides access to input device events resulting from user input or environmental events. The loading manager 26C facilitates blend file loading and native node execution. The media manager 26E provides the ability to load, control and play audio, image and video media assets. The rendering manager 26G makes it possible to generate and manage objects used for drawing a scene. The scene manager 26A controls the scene graph. The surface manager 26F allows the generation and management of the faces on which scene elements and other assets are combined. The thread manager 26B allows the producer to generate, control, and communicate between threads.

図1Bは、ブレンドエンジンによるコンテンツの流れを概念的に説明するためのフローチャートである。ステップ50において、パーサ14(図1A)に取り込まれているコンテンツのファイル又はストリーム34(図1A)を含むソースによって表示が始まる。ソースのフォーマットは、ネイティブVRMLのようなテキストフォーマット、ネイティブバイナリフォーマット、XMLベースのフォーマット等とすることができる。ステップ55において、ソースのフォーマットに関わらず、ソースは未処理シーングラフ16(図1A)に変換される。未処理シーングラフ16は、コンテンツ中のノード、フィールド、他のオブジェクトだけではなく、フィールドの初期値を表すことができる。また、オブジェクトプロトタイプ、ストリーム34内の外部プロトタイプ参照及びルート文の記述を含むこともできる。   FIG. 1B is a flowchart for conceptually explaining the flow of content by the blend engine. In step 50, the display begins with a source that includes a file or stream 34 (FIG. 1A) of content that is captured by parser 14 (FIG. 1A). The source format can be a text format such as native VRML, a native binary format, an XML-based format, or the like. In step 55, regardless of the source format, the source is converted to the raw scene graph 16 (FIG. 1A). The unprocessed scene graph 16 can represent initial values of fields as well as nodes, fields, and other objects in the content. It can also include object prototypes, external prototype references in stream 34, and descriptions of root statements.

未処理シーングラフ16の最上位には、ファイルに含まれるノード、最上位フィールド及び機能、プロトタイプ及びルートが含まれる。ブレンドにより、従来の要素に加えて最上位のフィールド及び機能を使用することが可能となる。これらは、外部環境に対するインタフェース、例えばHTMLページ等を提供するのに使用される。また、これらは、ストリーム34が外部プロトタイプのコンテンツとして使用されるときに、オブジェクトインタフェースを提供する。   The top level of the unprocessed scene graph 16 includes nodes, top level fields and functions, prototypes, and routes included in the file. Blending allows the use of top-level fields and functions in addition to conventional elements. These are used to provide an interface to the external environment, such as an HTML page. They also provide an object interface when the stream 34 is used as external prototype content.

各未処理ノードは、そのコンテキスト内で初期化されるフィールドのリストを含んでいる。各未処理フィールドエントリは、そのフィールドの名称、タイプ(あれば)、データ値を含んでいる。各データ値は、明示的に入力されたフィールド値を表すことができる番号、文字列、未処理ノード及び/又は未処理フィールドを含んでいる。   Each unprocessed node contains a list of fields that are initialized within its context. Each raw field entry contains the name, type (if any), and data value of the field. Each data value includes a number, a string, an unprocessed node and / or an unprocessed field that can represent an explicitly entered field value.

ステップ60において、最上位又は未処理シーングラフ16(図1A)からプロトタイプが抽出され、このプロトタイプを用いて、このシーンによってアクセス可能なオブジェクトプロトタイプのデータベースが生成される。   In step 60, a prototype is extracted from the top or raw scene graph 16 (FIG. 1A) and this prototype is used to generate a database of object prototypes accessible by the scene.

そして、未処理シーングラフ16は、構造トラバース(build traversal)によって送られる。この移動の間、オブジェクトプロトタイプのデータベースを用いて、各オブジェクトが構成される(ステップ65)。   The unprocessed scene graph 16 is then sent by a build traversal. During this movement, each object is constructed using the object prototype database (step 65).

ステップ70において、ストリーム34内のルートが確立される。その後、ステップ75において、シーン内の各フィールドが初期化される。フィールドの初期化は、オブジェクトの非デフォルトフィールドに初期イベントを送ることによって行われる。シーングラフ構造はノードフィールドを使用することによって達成されるので、ステップ75において、シーン階層構造も構成される。通りがけ順(in order traversal)を用いてイベントが発せられる。最初に出てきたノードは、ノード内のフィールドを列挙している。フィールドがノードである場合、そのノードは最初に移動される。   In step 70, a route within stream 34 is established. Thereafter, in step 75, each field in the scene is initialized. Field initialization is done by sending an initial event to the non-default field of the object. Since the scene graph structure is achieved by using node fields, in step 75, the scene hierarchy is also constructed. Events are emitted using in order traversal. The first node that appears lists the fields within the node. If the field is a node, that node is moved first.

その結果、ツリーのその特定のブランチにおけるノードが初期化される。そして、1つのイベントが、ノードフィールドの初期値とともに、そのノードフィールドに送られる。   As a result, the nodes in that particular branch of the tree are initialized. One event is sent to the node field together with the initial value of the node field.

特定のノードのフィールドが初期化された後、制作者は、ノードが呼出時間に完全に初期化されていることを確実にするために、初期化論理をプロトタイプオブジェクトに追加する(ステップ80)。上述の各ステップはルートシーン(root scene)を生成する。ステップ85において、シーンは、そのシーン用に生成されたシーンマネージャ26A(図1A)に供給される。ステップ90において、シーンマネージャ26Aを用いて、暗黙的に又は制作者の制御の下で、描画し、行動の処理を実行する。   After the fields for a particular node are initialized, the author adds initialization logic to the prototype object (step 80) to ensure that the node is fully initialized at the call time. Each of the above steps creates a root scene. In step 85, the scene is provided to the scene manager 26A (FIG. 1A) generated for that scene. In step 90, the scene manager 26A is used to perform rendering and action processing, either implicitly or under the control of the producer.

シーンマネージャ26Aによって描画されるシーンは、ブレンドのオブジェクト階層構造からのオブジェクトを用いて構成することができる。オブジェクトは、それらの親オブジェクトから幾つかの機能を取り出して、その機能を拡張又は変更することができる。階層構造の最下部にはオブジェクトがある。オブジェクトから取り出した2つのメインオブジェクトクラスは、ノードとフィールドである。ノードは、特にレンダリング方法を含み、これは、表示トラバース(render traversal)の一部と呼ばれる。ノードのデータ属性はフィールドと呼ばれる。ブレンドのオブジェクト階層構造の中には、タイミングオブジェクトと呼ばれるオブジェクトのクラスがあり、これについては以下に詳細に説明する。以下の各コード部は例示的なものである。なお、各コード部の行番号は、単に特定のコード部の行番号を表しており、元のソースコードにおける行番号を表すものではない。   The scene rendered by the scene manager 26A can be constructed using objects from the blend object hierarchy. Objects can take several functions from their parent object and extend or change their functions. There are objects at the bottom of the hierarchy. The two main object classes extracted from the object are nodes and fields. Nodes specifically include a rendering method, which is referred to as part of a render traversal. The data attribute of a node is called a field. Within the blend object hierarchy, there is a class of objects called timing objects, which will be described in detail below. Each code part below is exemplary. In addition, the line number of each code part simply represents the line number of a specific code part, and does not represent the line number in the original source code.

面オブジェクト(Surface Objects)
面オブジェクトとは、サーフェスノードSurfaceNodeタイプのノードである。サーフェスノードSurfaceNodeのクラスは、2次元画像を色、深さ、不透明度(アルファ)の値の配列として記述する全てのオブジェクトの基本クラスである。サーフェスノードSurfaceNodeは、主としてテクスチャマップとして使用される画像を提供するのに用いられる。サーフェスノードSurfaceNodeのクラスからは、ムービーサーフェスMovieSurface、イメージサーフェスImageSurface、マットサーフェスMatteSurface、ピクセルサーフェスPixelSurface、シーンサーフェスSceneSurfaceが導かれる。なお、各コード部の行番号は、単にそのコード部についての行番号を表しており、元のソースコードにおける行番号を表すものではない。
Surface objects
A surface object is a node of the surface node SurfaceNode type. The surface node SurfaceNode class is the base class for all objects that describe a two-dimensional image as an array of color, depth, and opacity (alpha) values. The surface node SurfaceNode is mainly used to provide an image used as a texture map. A movie surface MovieSurface, an image surface ImageSurface, a matte surface MatteSurface, a pixel surface PixelSurface, and a scene surface SceneSurface are derived from the class of the surface node SurfaceNode. The line number of each code part simply represents the line number for that code part, and does not represent the line number in the original source code.

ムービーサーフェスMovieSurface
以下のコード部は、ムービーサーフェスMovieSurfaceのノードを示している。ムービーサーフェスMovieSurfaceのノードの各フィールドの記述は、以下のようになる。
MovieSurface
The following code part shows the node of the movie surface MovieSurface. The description of each field of the node of the movie surface MovieSurface is as follows.

1) MovieSurface: SurfaceNode TimedNode AudioSourceNode{
2) field MF String url []
3) field TimeBaseNode timeBase NULL
4) field Time duration 0
5) field Time loadTime 0
6) field String loadStatus “NONE”
}
1) MovieSurface: SurfaceNode TimedNode AudioSourceNode {
2) field MF String url []
3) field TimeBaseNode timeBase NULL
4) field Time duration 0
5) field Time loadTime 0
6) field String loadStatus “NONE”
}

ムービーサーフェスMovieSurfaceのノードは、映画を定義する画像シーケンスにアクセスを行うことにより、映画を面上に描画する。ムービーサーフェスMovieSurfaceのタイムドノードTimedNodeの親クラス(parent class)は、一度にどのフレームを面上に描画するのかを定義している。映画はオーディオソースとしても使用することができる。   The movie surface MovieSurface node renders a movie on a surface by accessing an image sequence defining a movie. The parent class (parent class) of the timed node TimedNode of the movie surface MovieSurface defines which frames are drawn on the surface at a time. Movies can also be used as audio sources.

コード部の2行目において、(多値フィールドの)URLフィールドは、面に対する映画データの潜在的位置のリストを提供する。このリストは、要素0がデータの好ましいソースを記述するように順序付けられている。何らかの理由で要素0が利用できないとき、あるいはサポートされないフォーマットである場合、次の要素を使用することができる。   In the second line of the code part, the URL field (of the multi-value field) provides a list of potential locations of the movie data relative to the face. This list is ordered so that element 0 describes the preferred source of data. If for some reason element 0 is not available or is in an unsupported format, the next element can be used.

3行目において、タイムベースtimeBaseのフィールドが指定されている場合、タイムベースtimeBaseのフィールドは、映画に関するタイミング情報を提供するノードを指定する。特に、タイムベースtimeBaseのフィールドは、ある瞬間に映画のどのフレームを面に表示するかを決定するのに必要な情報を、映画に与える。タイムベースtimeBaseが指定されていない場合、面は、映画の最初のフレームを表示する。   In the third line, when the time base timeBase field is designated, the time base timeBase field designates a node that provides timing information about the movie. In particular, the field of the time base timeBase gives the movie the information necessary to determine which frame of the movie is to be displayed on the surface at any given moment. If the timebase timeBase is not specified, the face displays the first frame of the movie.

4行目において、映画データが取り込まれると数秒後に、ムービーサーフェスMovieSurfaceのノードにより、継続時間durationのフィールドが映画の長さに設定される。   On the fourth line, when movie data is captured, a field of duration duration is set to the length of the movie by a node of the movie surface MovieSurface after a few seconds.

5行目及び6行目において、ロードタイムloadTimeのフィールド及びロードステータスloadStatusのフィールドは、ムービーサーフェスMovieSurfaceのノードから、映画データの利用可能性に関する情報を提供する。ロードステータスloadStatusは、5つの値、すなわち「なし(NONE)」、「要求(REQUESTED)」、「失敗(FAILED)」、「中止(ABORTED)」、「ロード(LOADED)」が可能である。   In the 5th and 6th lines, the field of load time loadTime and the field of load status loadStatus provide information on availability of movie data from the node of the movie surface MovieSurface. The load status loadStatus can have five values, that is, “NONE”, “Request (REQUESTED)”, “Failure (FAILED)”, “Abort (ABORTED)”, and “Load (LOADED)”.

「なし(NONE)」は初期状態である。「なし(NONE)」イベントは、値の数を0に設定し、又はURLの最初の文字列を空の文字列に設定することによって、ノードのURLを消去した場合にも送られる。このとき、面の画素は、黒及び不透明に設定される(すなわち、色は0,0,0となり、透明度は0である)。   “NONE” is the initial state. A “NONE” event is also sent when a node URL is cleared by setting the number of values to 0 or by setting the first string of URLs to an empty string. At this time, the surface pixels are set to black and opaque (that is, the color is 0, 0, 0, and the transparency is 0).

「要求(REQUESTED)」イベントは、空でないURL値が設定されると必ず送られる。面の画素は、「要求(REQUESTED)」イベントの後も変化しない。   A “REQUESTED” event is sent whenever a non-empty URL value is set. The face pixels do not change after the “REQUESTED” event.

「失敗(FAILED)」は、映画のローディングが成功しなかった場合に、「要求(REQUESTED)」イベントの後に送られる。これは、例えば、URLが存在しないファイルを参照している場合、又はファイルに有効なデータが含まれていない場合に起こる。面の画素は、「失敗(FAILED)」イベントの後も変化しない。   “FAILED” is sent after the “REQUESTED” event if the movie loading was not successful. This occurs, for example, when a URL refers to a file that does not exist or when the file does not contain valid data. The face pixels do not change after the “FAILED” event.

「中止(ABORTED)」イベントは、現在の状態が「要求(REQUESTED)」であり、URLが変更された場合に送られる。URLが空でない値に変更されると、「中止(ABORTED)」の後に「要求(REQUESTED)」イベントがくる。URLが空の値に変更されると、「中止(ABORTED)」の後に「なし(NONE)」の値がくる。面の画素は、「中止(ABORTED)」イベントの後も変化しない。   The “ABORTED” event is sent when the current state is “REQUESTED” and the URL is changed. When the URL is changed to a non-empty value, a “request (REQUESTED)” event follows “ABORTED”. When the URL is changed to an empty value, a value of “NONE” comes after “ABORTED”. The surface pixels do not change after the “ABORTED” event.

「ロード(LOADED)」イベントは、映画を表示する準備ができると送られる。その後、現在時刻に一致した値のロードタイムloadTimeのイベントがくる。タイムベースtimeBaseのフィールドで示される映画のフレームが、面上に描画される。タイムベースtimeBaseがヌル(NULL)である場合、映画の最初のフレームが面上に描画される。   A “LOADED” event is sent when the movie is ready to be displayed. After that, an event of load time loadTime having a value matching the current time comes. The frame of the movie indicated by the timebase field is drawn on the screen. If the timebase timeBase is null, the first frame of the movie is drawn on the surface.

イメージサーフェスImageSurface
以下のコード部は、イメージサーフェスImageSurfaceのノードを示している。イメージサーフェスImageSurfaceのノードの各フィールドの記述は、以下のようになる。
ImageSurface
The following code section shows the nodes of the image surface ImageSurface. The description of each field of the node of the image surface ImageSurface is as follows.

1) ImageSurface: SurfaceNode {
2) field MF String url []
3) field Time loadTime 0
4) field String loadStatus “NONE”
}
1) ImageSurface: SurfaceNode {
2) field MF String url []
3) field Time loadTime 0
4) field String loadStatus “NONE”
}

イメージサーフェスImageSurfaceのノードは、画像ファイルを面上に描画する。コード部の2行目において、URLフィールドは、面に対する画像データの潜在的位置のリストを提供する。このリストは、要素0がデータの最も好ましいソースを記述するように順序付けられている。何らかの理由で要素0が利用できないとき、あるいはサポートされないフォーマットである場合、次の要素を使用することができる。   The node of the image surface ImageSurface draws an image file on the surface. In the second line of the code part, the URL field provides a list of potential positions of the image data relative to the surface. This list is ordered so that element 0 describes the most preferred source of data. If for some reason element 0 is not available or is in an unsupported format, the next element can be used.

3行目及び4行目において、ロードタイムloadTimeのフィールド及びロードステータスloadStatusのフィールドは、イメージサーフェスImageSurfaceのノードから、画像データの利用可能性に関する情報を提供する。ロードステータスloadStatusは、5つの値、すなわち「なし(NONE)」、「要求(REQUESTED)」、「失敗(FAILED)」、「中止(ABORTED)」、「ロード(LOADED)」が可能である。   In the third and fourth lines, a field for load time loadTime and a field for load status loadStatus provide information on availability of image data from a node of the image surface ImageSurface. The load status loadStatus can have five values, that is, “NONE”, “Request (REQUESTED)”, “Failure (FAILED)”, “Abort (ABORTED)”, and “Load (LOADED)”.

「なし(NONE)」は初期状態である。「なし(NONE)」イベントは、値の数を0に設定し、又はURLの最初の文字列を空の文字列に設定することによって、ノードのURLを消去した場合にも送られる。このとき、面の画素は、黒及び不透明に設定される(すなわち、色は0,0,0となり、透明度は0である)。   “NONE” is the initial state. A “NONE” event is also sent when a node URL is cleared by setting the number of values to 0 or by setting the first string of URLs to an empty string. At this time, the surface pixels are set to black and opaque (that is, the color is 0, 0, 0, and the transparency is 0).

「要求(REQUESTED)」イベントは、空でないURL値が設定されると必ず送られる。面の画素は、「要求(REQUESTED)」イベントの後も変化しない。   A “REQUESTED” event is sent whenever a non-empty URL value is set. The face pixels do not change after the “REQUESTED” event.

「失敗(FAILED)」は、画像のローディングが成功しなかった場合に、「要求(REQUESTED)」イベントの後に送られる。これは、例えば、URLが存在しないファイルを参照している場合、又はファイルに有効なデータが含まれていない場合に起こる。面の画素は、「失敗(FAILED)」イベントの後も変化しない。   “FAILED” is sent after a “REQUESTED” event if image loading was not successful. This occurs, for example, when a URL refers to a file that does not exist or when the file does not contain valid data. The face pixels do not change after the “FAILED” event.

「中止(ABORTED)」イベントは、現在の状態が「要求(REQUESTED)」であり、URLが変更された場合に送られる。URLが空でない値に変更されると、「中止(ABORTED)」の後に「要求(REQUESTED)」イベントがくる。URLが空の値に変更されると、「中止(ABORTED)」の後に「なし(NONE)」の値がくる。面の画素は、「中止(ABORTED)」イベントの後も変化しない。   The “ABORTED” event is sent when the current state is “REQUESTED” and the URL is changed. When the URL is changed to a non-empty value, a “request (REQUESTED)” event follows “ABORTED”. When the URL is changed to an empty value, a value of “NONE” comes after “ABORTED”. The surface pixels do not change after the “ABORTED” event.

「ロード(LOADED)」イベントは、画像が面上に描画されたときに送られる。その後、現在時刻に一致した値のロードタイムloadTimeのイベントがくる。   A “LOADED” event is sent when an image is drawn on a surface. After that, an event of load time loadTime having a value matching the current time comes.

マットサーフェスMatteSurface
以下のコード部は、マットサーフェスMatteSurfaceのノードを示している。マットサーフェスMatteSurfaceのノードの各フィールドの記述は、以下のようになる。
1) MatteSurface: SurfaceNode {
2) field SurfaceNode surface1 NULL
3) field SurfaceNode surface2 NULL
4) field String operation ““
5) field MF Float parameter 0
6) field Bool overwriteSurface2 FALSE
}
Matte surface MatteSurface
The following code part shows the matte surface MatteSurface node. The description of each field of the matte surface MatteSurface node is as follows.
1) MatteSurface: SurfaceNode {
2) field SurfaceNode surface1 NULL
3) field SurfaceNode surface2 NULL
4) field String operation ““
5) field MF Float parameter 0
6) field Bool overwriteSurface2 FALSE
}

マットサーフェスMatteSurfaceのノードは、画像合成操作を用いて、面surface1と面surface2とからの画像データを組み合わせて第3の面とする。合成操作の結果は、面surface2の解像度で計算される。面surface1の大きさが面surface2の大きさと異なる場合、操作実行前に、面surface1の画像データをズームアップ又はズームダウンして、面surface1の大きさを面surface2の大きさと等しくする。   The matte surface MatteSurface node uses the image composition operation to combine the image data from the surface surface1 and the surface surface2 into a third surface. The result of the compositing operation is calculated with the resolution of the surface surface2. When the size of the surface surface1 is different from the size of the surface surface2, the image data of the surface surface1 is zoomed up or down before the operation is performed, so that the size of the surface surface1 is equal to the size of the surface surface2.

コード部の2行目及び3行目において、面surface1及び面surface2のフィールドは、合成操作のための入力画像データを提供する2つの面を指定する。4行目において、オペレーションフィールドは、2つの入力面上で実行する合成関数を指定する。可能な操作を以下に説明する。   In the second and third lines of the code part, the surface surface1 and surface2 fields specify two surfaces that provide input image data for the compositing operation. In the fourth line, the operation field specifies a synthesis function to be executed on the two input surfaces. Possible operations are described below.

「アルファ置換(REPLACE_ALPHA)」操作は、面surface1からのデータで面surface2のアルファチャンネルAを上書きする。面surface1が1つの成分(グレースケール強度のみ)を有している場合、その成分は、アルファ(不透明度の)値として用いられる。面surface1が2つ又は4つの成分(グレースケール強度+アルファ値、すなわちRGBA)を有している場合、アルファ値を得るためにアルファチャンネルAを用いる。面surface1が3つの成分(RGB)を有している場合、操作は未定義である。この操作を用いて、静止画像又は動画像に対する静的な又は動的なアルファマスクを行うことができる。例えば、シーンサーフェスSceneSurfaceは、透明な背景にジェームズ・ボンドのアニメーションキャラクタを描画することができる。そして、この画像のアルファ成分は、ビデオクリップのマスク形状として用いることができる。   The “Alpha Replace (REPLACE_ALPHA)” operation overwrites the alpha channel A of the surface surface2 with data from the surface surface1. If the surface surface1 has one component (greyscale intensity only), that component is used as the alpha (opacity) value. If the surface surface1 has two or four components (grayscale intensity + alpha value, ie RGBA), the alpha channel A is used to obtain the alpha value. If the surface surface1 has three components (RGB), the operation is undefined. This operation can be used to perform static or dynamic alpha masks on still or moving images. For example, the scene surface SceneSurface can draw a James Bond animated character on a transparent background. The alpha component of this image can be used as a mask shape for a video clip.

「アルファ乗算(MULTIPLY_ALPHA)」操作は、面surface1からのアルファ値を面surface2からのアルファ値で乗算することを除いては、アルファ置換操作と同じである。   The “alpha multiplication (MULTIPLY_ALPHA)” operation is the same as the alpha replacement operation except that the alpha value from the surface surface1 is multiplied by the alpha value from the surface surface2.

「クロスフェード(CROSS_FADE)」操作は、2つの面の目に見える割合(percentage)を制御するパラメータ値を用いて、2つの面間でフェードを行う。この操作は、2つの静止画像又は動画像間で動的にフェードを行うことができる。パラメータ値(5行目)を0から1に動かすことにより、面surface1の画像が面surface2の画像にフェードしてゆく。   The “cross fade (CROSS_FADE)” operation fades between two surfaces using a parameter value that controls the visible percentage of the two surfaces. This operation can dynamically fade between two still images or moving images. By moving the parameter value (5th line) from 0 to 1, the image of the surface surface1 fades to the image of the surface surface2.

「混合(BLEND)」操作は、面surface2からの混合率(blending percentage)を制御するアルファチャンネルを用いて、面surface1及び面surface2からの画像データを組み合わせる。この操作により、面surface2のアルファチャンネルは、2つの画像の混合率を制御することができる。シーンサーフェスSceneSurfaceを描画する、あるいはムービーサーフェスMovieSurfaceを再生することによって面surface2のアルファチャンネルを移動させることにより、複雑でトラバースのマット効果が得られる。R1、G1、B1、A1が、面surface1の画素の赤、緑、青、アルファの各値を表し、R2、G2、B2、A2が、面surface2における対応する画素の赤、緑、青、アルファの各値を表しているとき、その画素の赤、緑、青、アルファの各成分について得られる値は、以下のようになる。   The “BLEND” operation combines image data from surfaces surface1 and surface2 using an alpha channel that controls the blending percentage from surface surface2. By this operation, the alpha channel of the surface surface2 can control the mixing ratio of the two images. By moving the alpha channel of the surface surface2 by drawing the scene surface SceneSurface or playing the movie surface MovieSurface, a complex and traverse matte effect is obtained. R1, G1, B1, and A1 represent the red, green, blue, and alpha values of the pixel on the surface surface1, and R2, G2, B2, and A2 represent the corresponding pixels red, green, blue, and alpha on the surface surface2. Are expressed as follows for the red, green, blue, and alpha components of the pixel.

赤=R1*(1−A2)+R2*A2 (1)
緑=G1*(1−A2)+G2*A2 (2)
青=B1*(1−A2)+B2*A2 (3)
アルファ=1 (4)
Red = R1 * (1-A2) + R2 * A2 (1)
Green = G1 * (1-A2) + G2 * A2 (2)
Blue = B1 * (1-A2) + B2 * A2 (3)
Alpha = 1 (4)

「加算(ADD)」操作及び「減算(SUBTRACT)」操作は、面surface1と面surface2のカラーチャンネルの加算又は減算を行う。得られるアルファ値は、面surface2のアルファ値に等しい。   The “ADD” operation and the “SUBTRACT” operation add or subtract the color channels of the surface surface1 and the surface surface2. The resulting alpha value is equal to the alpha value of surface surface2.

5行目において、パラメータフィールドは、合成関数の効果を変更できる1つ以上の浮動小数点パラメータを与える。パラメータ値の具体的な解釈は、どの操作が指定されているかによって異なる。   In line 5, the parameter field gives one or more floating point parameters that can change the effect of the compositing function. The specific interpretation of the parameter value depends on which operation is specified.

6行目において、オーバライトサーフェスoverwriteSurface2のフィールドは、マットサーフェスMatteSurfaceのノードが合成操作の結果を記憶するための新たな面を割り当てるか(overwriteSurface2=FALSE)、あるいは面surface2に記憶されているデータを合成操作によって上書きするか(overwriteSurface2=TRUE)を指示する。   In the sixth line, the field of the overwrite surface overwriteSurface2 assigns a new surface for the matte surface MatteSurface node to store the result of the compositing operation (overwriteSurface2 = FALSE), or the data stored in the surface surface2 Instructs whether to overwrite by overwrite (overwriteSurface2 = TRUE).

ピクセルサーフェスPixelSurface
以下のコード部は、ピクセルサーフェスPixelSurfaceのノードを示している。ピクセルサーフェスPixelSurfaceのノードのフィールドの記述は、以下のようになる。
1) PixelSurface: SurfaceNode {
2) field Image image 0 0 0
}
Pixel surface PixelSurface
The following code part shows a pixel surface PixelSurface node. The description of the field of the node of the pixel surface PixelSurface is as follows.
1) PixelSurface: SurfaceNode {
2) field Image image 0 0 0
}

ピクセルサーフェスPixelSurfaceのノードは、ユーザが指定した画素の配列を面上に描画する。2行目において、画像フィールドは、面上に描画される画素データを記述する。   The node of the pixel surface PixelSurface draws an array of pixels specified by the user on the surface. In the second line, the image field describes pixel data to be drawn on the surface.

シーンサーフェスSceneSurface
以下のコード部は、シーンサーフェスSceneSurfaceのノードを示している。シーンサーフェスSceneSurfaceのノードの各フィールドの記述は、以下のようになる。
1) SceneSurface: SurfaceNode {
2) field MF ChildNode children []
3) field UInt32 width 1
4) field UInt32 height 1
}
SceneSurface
The following code section shows a scene surface SceneSurface node. The description of each field of the node of the scene surface SceneSurface is as follows.
1) SceneSurface: SurfaceNode {
2) field MF ChildNode children []
3) field UInt32 width 1
4) field UInt32 height 1
}

シーンサーフェスSceneSurfaceのノードは、特定の大きさの面に特定の子ノードを描画する。シーンサーフェスSceneSurfaceは、子ノードの現在の状態を反映するように自動的に再描画する。   The node of the scene surface SceneSurface draws a specific child node on a surface of a specific size. The scene surface SceneSurface automatically redraws to reflect the current state of the child nodes.

コード部の2行目において、子フィールドは、描画される子ノードを記述する。概念的には、子フィールドは、シーンサーフェスSceneSurfaceのノードを含むシーングラフとは無関係に描画されるシーングラフ全体を記述する。   In the second line of the code part, the child field describes a child node to be drawn. Conceptually, the child field describes the entire scene graph that is drawn independently of the scene graph that contains the nodes of the scene surface SceneSurface.

3行目及び4行目において、幅フィールド及び高さフィールドは、面の大きさを画素で指定する。例えば、幅が256、高さが512の場合、その面は256×512の画素値の配列を有する。   In the third and fourth lines, the width field and the height field specify the size of the surface in pixels. For example, if the width is 256 and the height is 512, the surface has an array of 256 × 512 pixel values.

ムービーサーフェスMovieSurfaceのノード、イメージサーフェスImageSurfaceのノード、マットサーフェスMatteSurfaceのノード、ピクセルサーフェスPixelSurfaceのノード、シーンサーフェスSceneSurfaceのノードは、シーンの描画に用いられる。   The node of the movie surface MovieSurface, the node of the image surface ImageSurface, the node of the matte surface MatteSurface, the node of the pixel surface PixelSurface, and the node of the scene surface SceneSurface are used for drawing the scene.

シーンの記述の最上位において、「最上位面(top level Surface)」の出力が、ディスプレイにマッピングされる。その結果をディスプレイに描画するのではなく、3次元的に描画されたシーンにより、上述の各サーフェスノードのうちの1つを用いて、その出力を面上に生成することができる。ここで、出力は、制作者が望むような高品位のシーン構成に組み込むことができる。面のコンテンツは、面に埋め込まれたシーン記述を描画することにより生成され、これには、面の画像構成の一部として、色情報、透明度(アルファチャンネル)、深さを含めることができる。この場合の画像とは、ビデオ画像、静止画像像、アニメーション又はシーンを含むものとして定義される。   At the top of the scene description, the output of the “top level surface” is mapped to the display. Rather than rendering the result on the display, the output can be generated on the surface using one of the surface nodes described above, with the scene rendered in three dimensions. Here, the output can be incorporated into a high quality scene structure as desired by the producer. Surface content is generated by drawing a scene description embedded in the surface, which may include color information, transparency (alpha channel), and depth as part of the image configuration of the surface. An image in this case is defined as including a video image, a still image, an animation, or a scene.

また、面は、様々なテクスチャマッピングシステムの特殊化された条件を、一般的な画像管理インタフェースよりも、内部でサポートするものとして定義される。その結果、テクスチャマッピングシステムにおけるあらゆるサーフェスプロデューサ(Surface producer)は、3次元描画処理によりテクスチャとして使用することができる。このようなサーフェスプロデューサの例として、イメージサーフェスImageSurface、ムービーサーフェスMovieSurface、マットサーフェスMatteSurface、シーンサーフェスSceneSurface及びアプリケーションサーフェスApplicationSurfaceがある。   Surfaces are also defined as internally supporting specialized conditions of various texture mapping systems rather than a general image management interface. As a result, any surface producer in the texture mapping system can be used as a texture by a three-dimensional drawing process. Examples of such surface producers include an image surface ImageSurface, a movie surface MovieSurface, a matte surface MatteSurface, a scene surface SceneSurface, and an application surface ApplicationSurface.

アプリケーションサーフェスApplicationSurfaceは、アプリケーション処理により埋め込まれて描画された画像データ、例えば従来のウィンドウシステムにおけるアプリケーションウィンドウに類似した方法で描画された表計算、ワープロ等の画像データを維持する。   The application surface ApplicationSurface maintains image data embedded and drawn by application processing, for example, image data such as a spreadsheet or a word processor drawn by a method similar to an application window in a conventional window system.

面モデルを描画生成(rendering production)と統合するとともに、テクスチャを使用することにより、異なる描画速度の宣言型オーサリングが可能になる。従来、3次元シーンは一体的に描画され、視聴者に対する最終的なフレームレートは、シーンの複雑さ又はテクスチャの入換えに起因した最悪の性能によって定まっていた。フレームワーク(framework)のリアルタイムで連続した構成では、面を抽象化することにより、同じ画面上の異なる要素に対して描画速度を異ならせるメカニズムが得られる。例えば、毎秒1フレームという低速で描画を行うウェブブラウザを描画することも可能であるが、これは、他のアプリケーションによって生成され、ブラウザの出力とともに表示されるビデオフレームレートが、フルフレームレートの毎秒30フレームに維持されている場合に限り可能である。ウェブブラウザアプリケーションがそれ自身に面を描画する場合、画面制作者(screen compositor)は、フルモーションビデオフレームレートに妨げられずに、ウェブブラウザ面の最後に完全に描画された画像を高速画面更新の一部として使用して、描画を行うことができる。   By integrating surface models with rendering production and using textures, declarative authoring at different rendering speeds is possible. Conventionally, 3D scenes are drawn together, and the final frame rate for the viewer is determined by the worst performance resulting from scene complexity or texture replacement. In a continuous configuration of a framework in real time, a mechanism that makes drawing speeds different for different elements on the same screen can be obtained by abstracting surfaces. For example, it is possible to draw a web browser that draws at a low rate of 1 frame per second, but this is generated by other applications and the video frame rate displayed with the browser output is the full frame rate per second. This is possible only if it is maintained at 30 frames. When a web browser application draws a surface on itself, the screen compositor can quickly update the fully rendered image at the end of the web browser surface without being interrupted by the full motion video frame rate. Can be used as part to draw.

図2Aは、画面表示200の複雑な部分202をフルモーションビデオフレームレートで描画する方法を説明するための図である。図2Bは、複雑な部分202を含む画面表示200をフルモーションビデオレートで描画する際の様々な動作を示すフローチャートである。画面表示200は毎秒30フレームで表示することが望ましいが、画面表示200の部分202は、複雑すぎて、毎秒30フレームでは表示することができない。この場合、ステップ210(図2B)において、部分202を第1の面上に描画するとともに、バッファ204に記憶する。ステップ215において、バッファ204に記憶された第1の面を用いることにより、部分202を含む画面表示200を毎秒30フレームで表示する。部分202を含む画面表示200を表示している間、ステップ220において、部分202の次フレームを第2の面上に描画するとともに、バッファ206に記憶する。この部分202の次フレームが一旦利用可能になると、第2の面を用いて画面表示200の次の更新を行うとともに(ステップ225)、部分202の更なる更新バージョンがバッファ204で利用可能になるまで、これを続ける。第2の面を用いて画面表示200を表示している間、ステップ230において、部分202の次フレームを第1の面上に描画する。第1の面への部分202の次フレームの描画が終わると、複雑な部分202を含む画面表示200を毎秒30フレームで表示するために、更新された第1の面を使用する。   FIG. 2A is a diagram for explaining a method of drawing a complicated portion 202 of the screen display 200 at a full motion video frame rate. FIG. 2B is a flowchart showing various operations when the screen display 200 including the complicated portion 202 is drawn at the full motion video rate. The screen display 200 is preferably displayed at 30 frames per second, but the portion 202 of the screen display 200 is too complex to display at 30 frames per second. In this case, in step 210 (FIG. 2B), the portion 202 is drawn on the first surface and stored in the buffer 204. In step 215, the screen display 200 including the portion 202 is displayed at 30 frames per second by using the first surface stored in the buffer 204. While the screen display 200 including the portion 202 is being displayed, the next frame of the portion 202 is drawn on the second surface and stored in the buffer 206 in step 220. Once the next frame of this portion 202 is available, the next update of the screen display 200 is performed using the second surface (step 225) and a further updated version of the portion 202 is available in the buffer 204. Continue this until. While the screen display 200 is displayed using the second surface, the next frame of the portion 202 is drawn on the first surface in step 230. When the drawing of the next frame of the portion 202 on the first surface is completed, the updated first surface is used to display the screen display 200 including the complex portion 202 at 30 frames per second.

面モデルを描画生成と統合するとともに、テクスチャを使用することにより、ネストされたシーンを宣言的に描画することができる。画像として描画されたサブシーンを再合成することにより、オープンエンドなオーサリングが可能になる。特に、アニメーション化され、より大きなビデオコンテキストに画像混合されたサブシーンを用いることにより、エンターテインメント用のコンピュータグラフィックとして、より適切な画質が得られる。例えば、この画像を混合する方法により、ビジュアルアーティストは、ウィンドウシステムによる前世代の粗く、明確な輪郭を有するクリッピングに替わる手段が得られる。   Nested scenes can be declaratively drawn by integrating a surface model with drawing generation and using textures. By recombining the sub-scenes drawn as images, open-end authoring becomes possible. In particular, by using sub-scenes that are animated and image mixed into a larger video context, a more appropriate image quality can be obtained as computer graphics for entertainment. For example, this method of blending images gives visual artists an alternative to the previous generation of rough, well-defined clipping by the window system.

図3Aは、アニメーション化されたサブシーンを含むネストされたシーンを示す。図3Bは、図3Aのネストされたシーンを描画する際に実行される動作を示すフローチャートである。ステップ310において、画面表示200に表示される背景画像を描画し、ステップ315において、画面表示200に表示された背景画像内にキューブ302を配置する。キューブ302の外側の領域は、画面表示200にキューブ302の背景を形成するする面の一部である。キューブ302の面304は、第3の面として定義される。ステップ320において、ムービーサーフェスMovieSurfaceのノードを用いて、第3の面に映画を描画する。これにより、キューブ302の面304は、第3の面上に描画された映画を表示する。キューブ302の面306は、第4の面として定義される。ステップ325において、イメージサーフェスImageSurfaceのノードを用いて、第4の面に画像を描画する。これにより、キューブ302の面306は、第4の面上に描画された画像を表示する。ステップ330において、キューブ302全体が第5の面として定義され、ステップ335において、この第5の面が移動及び/又は回転されることにより、面304に映画を再生するとともに面305に静止画像を表示する移動キューブが構成される。上述の処理手順を行うことにより、キューブ302の各面に別の描画を表示することもできる。なお、ステップ310〜335は、いずれの順序で行ってもよく、ステップ310〜335の全てを同時に開始してもよい。   FIG. 3A shows a nested scene that includes animated sub-scenes. FIG. 3B is a flowchart illustrating operations performed when rendering the nested scene of FIG. 3A. In step 310, the background image displayed on the screen display 200 is drawn, and in step 315, the cube 302 is placed in the background image displayed on the screen display 200. The area outside the cube 302 is a part of the surface that forms the background of the cube 302 on the screen display 200. Surface 304 of cube 302 is defined as the third surface. In step 320, a movie is drawn on the third surface using the movie surface MovieSurface node. Thereby, the surface 304 of the cube 302 displays the movie drawn on the third surface. Surface 306 of cube 302 is defined as the fourth surface. In step 325, an image is drawn on the fourth surface using the node of the image surface ImageSurface. Thereby, the surface 306 of the cube 302 displays the image drawn on the fourth surface. In step 330, the entire cube 302 is defined as the fifth plane, and in step 335, the fifth plane is moved and / or rotated to play a movie on the plane 304 and a still image on the plane 305. The moving cube to be displayed is configured. By performing the processing procedure described above, it is possible to display different drawings on each surface of the cube 302. Steps 310 to 335 may be performed in any order, and all of steps 310 to 335 may be started simultaneously.

なお、本発明は、「ブレンド(Blendo)」から独立しており、「ブレンド」とは別の実施形態の一部とすることができる。また、本発明の説明では、3次元シーンの描画について説明しているが、本発明は、2次元シーンの描画にも同様に適用することができる。面モデルにより、制作者は、画像とビデオ効果を、2次元及び3次元の幾何学的マッピング及びアニメーション化によって、自由に組み合わせることができる。   Note that the present invention is independent of “Blendo” and can be part of another embodiment different from “Blend”. In the description of the present invention, the drawing of a three-dimensional scene is described. However, the present invention can be similarly applied to the drawing of a two-dimensional scene. The surface model allows authors to freely combine images and video effects with 2D and 3D geometric mapping and animation.

本発明を、特定の実施形態について図示し、説明したが、本発明の特徴から逸脱することなく、種々の変更や修正を行えることは、当業者にとって明らかである。したがって、特許請求の範囲は、このような変更や修正が本発明の趣旨及び範囲内であるとして、これらの変更や修正を全て含むものである。   Although the invention has been illustrated and described with respect to specific embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the features of the invention. Therefore, the scope of the claims includes all such changes and modifications as such changes and modifications are within the spirit and scope of the present invention.

ブレンド(Blendo)の基本的なアーキテクチャを示す図である。It is a figure which shows the basic architecture of a blend (Blendo). ブレンドエンジンによるコンテンツの流れを示すフローチャートである。It is a flowchart which shows the flow of the content by a blend engine. 1つのシーンにおける2つの面が、異なる描画速度でどのように描画されるかを示す図である。It is a figure which shows how two surfaces in one scene are drawn at different drawing speeds. 異なる描画速度で図2Aに示す2つの面を描画する際に行われる動作を示すフローチャートである。It is a flowchart which shows the operation | movement performed when drawing two surfaces shown to FIG. 2A at different drawing speeds. ネストされたシーンを示す図である。It is a figure which shows the nested scene. 図3Aのネストされた図を描画するのに行われる動作を示すフローチャートである。3B is a flowchart illustrating operations performed to render the nested diagram of FIG. 3A.

Claims (27)

コンピュータと、該コンピュータによって実行されるコンピュータプログラムとを備えるコンピュータシステムにおいて、
上記コンピュータプログラムは、
第1の画像が第1の速度で描画された第1の面と、第2の画像が第2の速度で描画された第2の面とを用いて、動画像を宣言的に構成する動画像構成用のコンピュータインストラクションと、
上記動画像は宣言型マークアップ言語によって生成され、上記第1の画像は空間におけるオブジェクトの3次元的表現であり、上記第2の面は空間におけるオブジェクトの3次元的表現の1つの面であり、該第1の画像は第1の不透明度の値を有し、該第2の画像は第2の不透明度の値を有し、上記動画像は第3の不透明度の値を有し、上記第1の面からの第1の画像と上記第2の面からの第2の画像とをディスプレイ上で組み合わせて該動画像を構成する動画像構成用のコンピュータインストラクションと、
上記第1の画像と上記第2の画像とを組み合わせてトラベリングマット効果を得るときに、上記第2の画像の不透明度の値を動かす動画像構成用のコンピュータインストラクションとを有し、
上記第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とするコンピュータシステム。
In a computer system comprising a computer and a computer program executed by the computer,
The computer program is
A first surface the first image is drawn at a first rate, videos second image using a second surface drawn at the second speed, declaratively constituting a moving picture Computer instructions for image construction ;
The moving image is generated by a declarative markup language, the first image is a three-dimensional representation of the object in space, and the second surface is one surface of the three-dimensional representation of the object in space. The first image has a first opacity value, the second image has a second opacity value, and the moving image has a third opacity value; A computer instruction for constructing a moving image by combining the first image from the first surface and the second image from the second surface on a display;
A computer instruction for moving image configuration that moves the opacity value of the second image when the first image and the second image are combined to obtain a traveling mat effect,
The computer system according to claim 1, wherein the first and second images are selected from a group consisting of a video image, a still image, an animation, and a scene.
上記第1の画像は、第1の2次元画素配列で描画され、上記第2の画像は、第2の2次元画素配列で描画されることを特徴とする請求項1に記載のコンピュータシステム。  The computer system according to claim 1, wherein the first image is drawn with a first two-dimensional pixel array, and the second image is drawn with a second two-dimensional pixel array. 上記動画像は、宣言型インストラクションによって構成されることを特徴とする請求項1に記載のコンピュータシステム。  The computer system according to claim 1, wherein the moving image is configured by a declarative instruction. 上記動画像は、リアルタイムで構成されることを特徴とする請求項3に記載のコンピュータシステム。  The computer system according to claim 3, wherein the moving image is configured in real time. 上記動画像は、宣言型インストラクションによって構成されることを特徴とする請求項2に記載のコンピュータシステム。  The computer system according to claim 2, wherein the moving image is configured by a declarative instruction. 上記コンピュータプログラムは、上記第1の画像と上記第2の画像とを組み合わせて上記動画像を構成するときに、上記第1の不透明度の値で上記第2の不透明度の値を上書きするコンピュータインストラクションを有することを特徴とする請求項1に記載のコンピュータシステム。  The computer program overwrites the second opacity value with the first opacity value when the moving image is formed by combining the first image and the second image. The computer system according to claim 1, further comprising instructions. 上記コンピュータプログラムは、上記第1の不透明度の値に上記第2の不透明度の値を乗算して上記第3の不透明度の値を得るコンピュータインストラクションを有することを特徴とする請求項1に記載のコンピュータシステム。  2. The computer program according to claim 1, further comprising a computer instruction for multiplying the first opacity value by the second opacity value to obtain the third opacity value. Computer system. コンピュータと、該コンピュータによって実行されるコンピュータプログラムとを備えるコンピュータシステムにおいて、
上記コンピュータプログラムは、
第1の画像を第1の面上に第1の速度で描画するシーン構成用のコンピュータインストラクションと、
第2の画像を第2の面上に第2の速度で描画するシーン構成用のコンピュータインストラクションと、
第3の画像を第3の面上に宣言的に描画するシーン構成用のコンピュータインストラクションとを有し、
上記第1の画像は上記第3の画像用のテクスチャとして使用され、上記第2の画像はディスプレイ上の該テクスチャと混合されて該第3の画像を形成し、上記第3の面は宣言型マークアップ言語によって生成され、上記第1のは空間におけるオブジェクトの3次元的表現の1つの面であり、該第2の画像は上記オブジェクトの3次元的表現であることを特徴とするコンピュータシステム。
In a computer system comprising a computer and a computer program executed by the computer,
The computer program is
Computer instructions for scene composition for rendering a first image on a first surface at a first speed ;
Computer instructions for scene composition for rendering a second image on a second surface at a second speed ;
A computer instruction for scene composition for declaratively rendering a third image on the third surface;
The first image is used as a texture for the third image, the second image is mixed with the texture on the display to form the third image, and the third surface is declarative generated by a markup language, the first surface is one surface of the three-dimensional representation of an object in space, the computer system characterized in that said second image is a three-dimensional representation of the object .
上記第1、第2及び第3の画像は、ユーザからの宣言型インストラクションによって描画されることを特徴とする請求項8に記載のコンピュータシステム。  9. The computer system according to claim 8, wherein the first, second and third images are drawn by a declarative instruction from a user. 上記第2の画像は、時間とともに変化することを特徴とする請求項8に記載のコンピュータシステム。  The computer system according to claim 8, wherein the second image changes with time. 上記コンピュータプログラムは、第4の画像を第4の面上に宣言的に描画するコンピュータインストラクションを有し、上記第3の画像は、上記第4の画像内に混合されて該第4の画像内にサブシーンを形成することを特徴とする請求項8に記載のコンピュータシステム。  The computer program has a computer instruction for declaratively drawing a fourth image on a fourth surface, and the third image is mixed in the fourth image to be included in the fourth image. 9. The computer system according to claim 8, wherein a sub-scene is formed on the computer. 上記サブシーン内の第2の画像は、上記第2の面の第2の画像における変化を反映するように変化することを特徴とする請求項11に記載のコンピュータシステム。  12. The computer system of claim 11, wherein the second image in the sub-scene changes to reflect a change in the second image of the second surface. 上記第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項8に記載のコンピュータシステム。  9. The computer system according to claim 8, wherein the first and second images are selected from the group consisting of a video image, a still image, an animation, and a scene. 上記第1、第2及び第3の画像の描画は、再帰的に行われることを特徴とする請求項8に記載のコンピュータシステム。  9. The computer system according to claim 8, wherein the drawing of the first, second, and third images is performed recursively. コンピュータを用いて動画像を構成する動画像構成方法において、
第1の画像を第1の面上に第1の速度で描画し、
第2の画像を第2の面上に第2の速度で描画し、
上記動画像は宣言型マークアップ言語によって生成され、上記第1の画像はオブジェクトの3次元的表現であり、上記第2の面は空間における3次元的表現を有するオブジェクトの1つの面であり、該第1の画像と該第2の画像とをディスプレイ上で組み合わせて該動画像を宣言的に構成し、
上記第1の画像の第1の不透明度の値を与え、
上記第2の画像の第2の不透明度の値を与え、
上記動画像の第3の不透明度の値を与え、
上記第1の画像と上記第2の画像とを組み合わせてトラベリングマット効果を得るときに、上記第2の画像の不透明度の値を動かす動画像構成方法。
In a moving image composition method for forming a moving image using a computer,
Drawing a first image on a first surface at a first speed ;
Drawing a second image on a second surface at a second speed ;
The moving image is generated by a declarative markup language, the first image is a three-dimensional representation of the object, the second surface is one surface of the object having a three-dimensional representation in space, Combining the first image and the second image on a display to construct the moving image declaratively;
Giving a first opacity value of the first image,
Giving a second opacity value for the second image,
Give a third opacity value for the video,
A moving image constructing method for moving an opacity value of the second image when a traveling mat effect is obtained by combining the first image and the second image.
上記第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項15に記載の動画像構成方法。  The method according to claim 15, wherein the first and second images are selected from a group consisting of a video image, a still image, an animation, and a scene. 上記シーンは、ビデオ画像、静止画像、アニメーション、シーンからなるグループのうちの少なくとも1つを含むことを特徴とする請求項16に記載の動画像構成方法。  The method according to claim 16, wherein the scene includes at least one of a group consisting of a video image, a still image, an animation, and a scene. 更に、上記第1の画像を第1の2次元画素配列で描画し、
上記第2の画像を第2の2次元画素配列で描画する請求項15に記載の動画像構成方法。
Furthermore, the first image is drawn with a first two-dimensional pixel array,
The moving image composition method according to claim 15, wherein the second image is drawn by a second two-dimensional pixel array.
更に、上記動画像を構成するために、宣言型インストラクションを与える請求項15に記載の動画像構成方法。  16. The moving picture composition method according to claim 15, further comprising providing a declarative instruction for constructing the moving picture. 上記動画像は、リアルタイムで構成されることを特徴とする請求項15に記載の動画像構成方法。  The method according to claim 15, wherein the moving image is configured in real time. 上記第1の不透明度の値で上記第2の不透明度の値を上書きすることを特徴とする請求項15に記載の動画像構成方法。  16. The moving image composition method according to claim 15, wherein the second opacity value is overwritten with the first opacity value. 更に、上記第1の不透明度の値に上記第2の不透明度の値を乗算して上記第3の不透明度の値を得る請求項15に記載の動画像構成方法。  The method of claim 15, further comprising multiplying the first opacity value by the second opacity value to obtain the third opacity value. コンピュータを用いてシーンを構成するシーン構成方法において、
第1の画像を第1の面上に第1の速度で描画し、
第2の画像を第2の面上に第2の速度で描画し、
上記第1の画像を第1のシーン用のテクスチャとして使用し、該テクスチャを上記第2の画像にディスプレイ上で混合して、第1のシーンを、該第1のシーンを形成する第3の面上に描画し、
上記第3の面は宣言型マークアップ言語によって生成され、上記第1のは空間におけるオブジェクトの3次元的表現の1つの面であり、上記第2の画像は上記オブジェクトの3次元的表現であることを特徴とするシーン構成方法。
In a scene composition method for composing a scene using a computer,
Drawing a first image on a first surface at a first speed ;
Drawing a second image on a second surface at a second speed ;
The first image is used as a texture for the first scene, the texture is mixed with the second image on the display , and the first scene is formed to form the first scene. Draw on the surface,
Said third surface is generated by the declarative markup language, the first surface is one surface of the three-dimensional representation of an object in space, the second image is a three-dimensional representation of the object A scene composition method characterized by being.
更に、上記第1及び第2の画像、及び上記第1のシーンを描画する宣言型インストラクションを与える請求項23に記載のシーン構成方法。  24. The scene composition method according to claim 23, further comprising declarative instructions for drawing the first and second images and the first scene. 上記第2の画像は、時間とともに変化することを特徴とする請求項23に記載のシーン構成方法。  The scene composition method according to claim 23, wherein the second image changes with time. 上記第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項23に記載のシーン構成方法。  The scene composition method according to claim 23, wherein the first and second images are selected from a group consisting of a video image, a still image, an animation, and a scene. 上記第1及び第2の画像、及び上記第3のシーンの描画は、再帰的に行われることを特徴とする請求項23に記載のシーン構成方法。  The scene composition method according to claim 23, wherein the drawing of the first and second images and the third scene is performed recursively.
JP2004549857A 2002-11-01 2002-11-01 Moving picture composition method and scene composition method Expired - Fee Related JP4260747B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/035212 WO2004042659A1 (en) 2002-11-01 2002-11-01 A unified surface model for image based and geometric scene composition

Publications (2)

Publication Number Publication Date
JP2006505050A JP2006505050A (en) 2006-02-09
JP4260747B2 true JP4260747B2 (en) 2009-04-30

Family

ID=32311631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004549857A Expired - Fee Related JP4260747B2 (en) 2002-11-01 2002-11-01 Moving picture composition method and scene composition method

Country Status (5)

Country Link
EP (1) EP1579391A4 (en)
JP (1) JP4260747B2 (en)
CN (1) CN1695169A (en)
AU (1) AU2002368317A1 (en)
WO (1) WO2004042659A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100463004C (en) * 2006-02-24 2009-02-18 腾讯科技(深圳)有限公司 Method for shading model afterimage effect
JP2007336281A (en) 2006-06-15 2007-12-27 Sony Corp Image recording apparatus, image reproducing apparatus, image recording method, and image reproducing method
US20080158254A1 (en) * 2006-12-29 2008-07-03 Hong Jiang Using supplementary information of bounding boxes in multi-layer video composition
CA2682935C (en) 2007-04-11 2020-01-28 Thomson Licensing Method and apparatus for enhancing digital video effects (dve)
EP2506263A1 (en) 2011-03-31 2012-10-03 Thomson Licensing Stereoscopic scene graph for defining 3D- and 2D-compatible graphical objects
CN102930536B (en) * 2012-10-16 2016-08-03 深圳先进技术研究院 Indoor scene motility analysis based on hierarchical structure and detection method
CN109462771B (en) * 2018-11-26 2021-08-06 广东精鹰传媒股份有限公司 Method for realizing two-dimensional effect of three-dimensional subtitle strip

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993007554A1 (en) * 1991-10-07 1993-04-15 Eastman Kodak Company A compositer interface for arranging the components of special effects for a motion picture production
JP3229042B2 (en) * 1992-11-24 2001-11-12 株式会社ソニー・コンピュータエンタテインメント Image processing apparatus and image processing method
JP3208116B2 (en) * 1998-02-03 2001-09-10 株式会社次世代情報放送システム研究所 Recording medium recording video index information, video information management method using video index information, recording medium recording audio index information, and audio information management method using audio index information
US7139970B2 (en) * 1998-04-10 2006-11-21 Adobe Systems Incorporated Assigning a hot spot in an electronic artwork
JP2002208036A (en) * 2001-01-10 2002-07-26 Toshimitsu Nakanishi System for providing contents and method for the same

Also Published As

Publication number Publication date
JP2006505050A (en) 2006-02-09
WO2004042659A1 (en) 2004-05-21
EP1579391A4 (en) 2009-01-21
AU2002368317A1 (en) 2004-06-07
EP1579391A1 (en) 2005-09-28
CN1695169A (en) 2005-11-09

Similar Documents

Publication Publication Date Title
US7145562B2 (en) Integration of three dimensional scene hierarchy into two dimensional compositing system
US7281200B2 (en) Systems and methods for playing, browsing and interacting with MPEG-4 coded audio-visual objects
RU2324229C2 (en) Visual and three-dimensional graphic interfaces
JP4796499B2 (en) Video and scene graph interface
US7439982B2 (en) Optimized scene graph change-based mixed media rendering
US20100060652A1 (en) Graphics rendering system
US6856322B1 (en) Unified surface model for image based and geometric scene composition
US20050128220A1 (en) Methods and apparatuses for adjusting a frame rate when displaying continuous time-based content
JP4260747B2 (en) Moving picture composition method and scene composition method
US20050035970A1 (en) Methods and apparatuses for authoring declarative content for a remote platform
US20050021552A1 (en) Video playback image processing
US7046732B1 (en) Video coloring book
KR100610689B1 (en) How to insert a video on a 3D screen and a recording medium therefor
US6683613B1 (en) Multi-level simulation
US20050088458A1 (en) Unified surface model for image based and geometric scene composition
Ko Scene Graph for Dynamic Virtual Environment: Spangraph
Jeffery et al. Programming language support for collaborative virtual environments
JP2006523337A (en) Method for managing the depiction of graphics animation for display, and receiver and system for implementing the method
JP2006505049A (en) Media sequence configuration method and media display method
Martinez et al. Unicon 3D Graphics User’s Guide and Reference Manual

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080523

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080530

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080620

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080903

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081203

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: 20090105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees