JP2006505050A - 動画像構成方法及びシーン構成方法 - Google Patents

動画像構成方法及びシーン構成方法 Download PDF

Info

Publication number
JP2006505050A
JP2006505050A JP2004549857A JP2004549857A JP2006505050A JP 2006505050 A JP2006505050 A JP 2006505050A JP 2004549857 A JP2004549857 A JP 2004549857A JP 2004549857 A JP2004549857 A JP 2004549857A JP 2006505050 A JP2006505050 A JP 2006505050A
Authority
JP
Japan
Prior art keywords
image
scene
computer
computer system
opacity value
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.)
Granted
Application number
JP2004549857A
Other languages
English (en)
Other versions
JP4260747B2 (ja
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/ja
Application granted granted Critical
Publication of JP4260747B2 publication Critical patent/JP4260747B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Abstract

効率的な宣言型マークアップ言語(図1A中の12)により、複雑、ダイナミックでインタラクティブな視聴体験のリアルタイム作成及び表示を行うためのシステム及び方法(図1A中の11)。面構成を用いることにより、制作者は、自分の3次元シーン内で従来のテクスチャマップを用いるような箇所に、画像又はフルモーションビデオデータ(図1A中の20)を埋め込むことができる。また、制作者は、1つのシーン記述の描画結果を、他のシーンにテクスチャマッピングされる画像として使用することができる(図1A中の28)。特に、面構成により、いずれの描画アプリケーションの結果も、制作者のシーン内のテクスチャとして使用することが可能となる(図1A中の28)。これにより、ネストされたシーンの宣言型描画や、コンポーネントサーフェイスを有するシーンを異なる描画速度で描画することが可能となる(図1A中の26F)。

Description

本発明は、一般的には、3次元グラフィックスのためのモデリング言語に関し、特に、シーンに対する画像の埋込みに関する。
コンピュータグラフィックスにおいて、従来のリアルタイムの3次元シーンの描画は、シーンの3次元ジオメトリの記述を計算することに基づいており、コンピュータディスプレイ上に画像の表現を生成することになる。仮想現実モデリング言語(Virtual Reality Modeling Language:以下、VRMLと略す)において、従来の3次元アプリケーションで一般的に使用されている意味の多くは、例えば階層的変換、光源、視点、ジオメトリ、アニメーション、フォグ、素材特性、テクスチャマッピング等を定義する従来のモデリング言語である。テクスチャマッピング処理は、一般的には、外部から供給される画像データをシーン内の所定のジオメトリに適用するのに使用される。例えば、VRMLによって、外部から供給される画像データ、外部から供給されるビデオデータ、あるいは外部から供給される画素データを面に適用することができる。しかし、VRMLでは、描画されたシーンを、別のシーンに宣言的にマッピングされるテクスチャの画像として用いることはできない。宣言型マークアップ言語において、所望の結果を得るのに必要な意味論は暗黙的であることから、得られる結果の記述は、所望の結果を得るのに十分である。したがって、所望の結果を得るための処理手順(すなわちスクリプトの記述)を準備する必要はない。その結果、宣言を用いてシーンを構成できることが望ましい。宣言型言語の一例は、ハイパーテキストマークアップ言語(Hypertext Markup Language:以下、HTMLと略す)である。
更に、画像データが適用された2つの面を宣言的に組み合わせて、第3の面を生成することが望ましい。また、ある面に適用された画像データを宣言的に再描画して、画像の現在の状態を反映することが望ましい。
従来、3次元シーンは一体的に描画され、視聴者に対する最終的なフレームレートは、シーンの複雑さ又はテクスチャの入換えによって決まる最悪の性能によって、定まる。しかし、同じ画面上の異なる要素について異なる描画速度を適用すると、画質が向上し、視聴体験が、よりテレビ視聴に近くなり、ウェブページのような視聴体験ではなくなる。
本発明に係るコンピュータシステムは、コンピュータと、コンピュータによって実行されるコンピュータプログラムとを備える。このコンピュータプログラムは、第1の画像が描画された第1の面と、第2の画像が描画された第2の面とを用いて、動画像を宣言的に構成するコンピュータインストラクションと、動画像は宣言型マークアップ言語によって生成され、第1の画像は空間におけるオブジェクトの3次元的表現であり、第2の面は空間における3次元的表現を有する突出であり、第1の画像は第1の不透明度の値を有し、第2の画像は第2の不透明度の値を有し、動画像は第3の不透明度の値を有し、第1の面からの第1の画像と第2の面からの第2の画像とを組み合わせて動画像を構成するコンピュータインストラクションと、第1の画像と第2の画像とを組み合わせてトラバースのマット効果を得るときに、第2の画像の不透明度の値を動かすコンピュータインストラクションとを有する。第1及び第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択される。
さらに、本発明に係るコンピュータシステムにおけるコンピュータプログラムは、第1の画像を第1の面上に描画するコンピュータインストラクションと、第2の画像を第2の面上に描画するコンピュータインストラクションと、第3の画像を第3の面上に宣言的に描画するコンピュータインストラクションとを有する。第1の画像は第3の画像用のテクスチャとして使用され、第2の画像はテクスチャと混合されて第3の画像を形成し、第3の面は宣言型マークアップ言語によって生成され、第1の画像は空間における3次元的表現を有する突出であり、第2の画像はオブジェクトの3次元的表現である。
本発明に係るコンピュータを用いて動画像を構成する動画像構成方法は、第1の画像を第1の面上に描画し、第2の画像を第2の面上に描画し、動画像は宣言型マークアップ言語によって生成され、第1の画像はオブジェクトの3次元的表現であり、第2の面は空間における3次元的表現を有する突出であり、第1の画像と第2の画像とを組み合わせて動画像を宣言的に構成し、第1の画像の第1の不透明度の値を与え、第2の画像の第2の不透明度の値を与え、動画像の第3の不透明度の値を与え、第1の画像と第2の画像とを組み合わせてマット効果を得るときに、第2の画像の不透明度の値を動かす。
本発明に係るコンピュータを用いてシーンを構成するシーン構成方法は、第1の画像を第1の面上に描画し、第2の画像を第2の面上に描画し、第1の画像をシーン用のテクスチャとして使用し、テクスチャを第2の画像に混合して、第1のシーンを、第1のシーンを形成する第3の面上に描画する。第3の面は宣言型マークアップ言語によって生成され、第1の画像は空間における3次元的表現を有する突出であり、第2の画像はオブジェクトの3次元的表現である。
本発明は、効率的な宣言型マークアップ言語により、複雑で、動的で、インタラクティブな体験のリアルタイム構成及び表示を行うためのシステム及び方法を提供する。面構成を用いることにより、制作者は、自分の3次元シーン内で従来のテクスチャマップを使用するような箇所に、画像又はフルモーションビデオデータを埋め込むことができる。また、制作者は、1つのシーン記述の描画結果を、他のシーンにテクスチャマッピングされる画像として用いることができる。特に、面構成により、いずれの描画アプリケーションの結果も、制作者のシーン内のテクスチャとして使用することができる。これにより、ネストされたシーンを宣言的に描画し、コンポーネントサーフェスを有するシーンを異なる描画速度で描画することができる。
「ブレンド(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ページ等の外部環境にインタフェースさせるために使用される。
ブレンドは、マネージャ26のセットに関するシステムオブジェクトを含んでいる。各マネージャ26は、システム11の何らかの特徴(aspect)を制御するためのAPIのセットを提供する。イベントマネージャ26Dは、ユーザ入力又は環境イベントから生じる入力装置イベントへのアクセスを提供する。ローディングマネージャ26Cは、ブレンドファイルのローディング及びネイティブノード実行を容易にする。メディアマネージャ26Eは、オーディオ、画像及びビデオのメディア資産をローディングし、制御し、再生する能力を提供する。レンダリングマネージャ26Gは、シーンの描画に使用されるオブジェクトを生成及び管理できるようにする。シーンマネージャ26Aは、シーングラフを制御する。サーフェスマネージャ26Fは、その上でシーンの要素及び他の資産が合成される面を生成及び管理できるようにする。スレッドマネージャ26Bは、制作者がスレッドを発生させ、制御し、スレッド間で通信できるようにする。
図1Bは、ブレンドエンジンによるコンテンツの流れを概念的に説明するためのフローチャートである。ステップ50において、パーサ14(図1A)に取り込まれているコンテンツのファイル又はストリーム34(図1A)を含むソースによって表示が始まる。ソースのフォーマットは、ネイティブVRMLのようなテキストフォーマット、ネイティブバイナリフォーマット、XMLベースのフォーマット等とすることができる。ステップ55において、ソースのフォーマットに関わらず、ソースは未処理シーングラフ16(図1A)に変換される。未処理シーングラフ16は、コンテンツ中のノード、フィールド、他のオブジェクトだけではなく、フィールドの初期値を表すことができる。また、オブジェクトプロトタイプ、ストリーム34内の外部プロトタイプ参照及びルート文の記述を含むこともできる。
未処理シーングラフ16の最上位には、ファイルに含まれるノード、最上位フィールド及び機能、プロトタイプ及びルートが含まれる。ブレンドにより、従来の要素に加えて最上位のフィールド及び機能を使用することが可能となる。これらは、外部環境に対するインタフェース、例えばHTMLページ等を提供するのに使用される。また、これらは、ストリーム34が外部プロトタイプのコンテンツとして使用されるときに、オブジェクトインタフェースを提供する。
各未処理ノードは、そのコンテキスト内で初期化されるフィールドのリストを含んでいる。各未処理フィールドエントリは、そのフィールドの名称、タイプ(あれば)、データ値を含んでいる。各データ値は、明示的に入力されたフィールド値を表すことができる番号、文字列、未処理ノード及び/又は未処理フィールドを含んでいる。
ステップ60において、最上位又は未処理シーングラフ16(図1A)からプロトタイプが抽出され、このプロトタイプを用いて、このシーンによってアクセス可能なオブジェクトプロトタイプのデータベースが生成される。
そして、未処理シーングラフ16は、構造トラバース(build traversal)によって送られる。この移動の間、オブジェクトプロトタイプのデータベースを用いて、各オブジェクトが構成される(ステップ65)。
ステップ70において、ストリーム34内のルートが確立される。その後、ステップ75において、シーン内の各フィールドが初期化される。フィールドの初期化は、オブジェクトの非デフォルトフィールドに初期イベントを送ることによって行われる。シーングラフ構造はノードフィールドを使用することによって達成されるので、ステップ75において、シーン階層構造も構成される。通りがけ順(in order traversal)を用いてイベントが発せられる。最初に出てきたノードは、ノード内のフィールドを列挙している。フィールドがノードである場合、そのノードは最初に移動される。
その結果、ツリーのその特定のブランチにおけるノードが初期化される。そして、1つのイベントが、ノードフィールドの初期値とともに、そのノードフィールドに送られる。
特定のノードのフィールドが初期化された後、制作者は、ノードが呼出時間に完全に初期化されていることを確実にするために、初期化論理をプロトタイプオブジェクトに追加する(ステップ80)。上述の各ステップはルートシーン(root scene)を生成する。ステップ85において、シーンは、そのシーン用に生成されたシーンマネージャ26A(図1A)に供給される。ステップ90において、シーンマネージャ26Aを用いて、暗黙的に又は制作者の制御の下で、描画し、行動の処理を実行する。
シーンマネージャ26Aによって描画されるシーンは、ブレンドのオブジェクト階層構造からのオブジェクトを用いて構成することができる。オブジェクトは、それらの親オブジェクトから幾つかの機能を取り出して、その機能を拡張又は変更することができる。階層構造の最下部にはオブジェクトがある。オブジェクトから取り出した2つのメインオブジェクトクラスは、ノードとフィールドである。ノードは、特にレンダリング方法を含み、これは、表示トラバース(render traversal)の一部と呼ばれる。ノードのデータ属性はフィールドと呼ばれる。ブレンドのオブジェクト階層構造の中には、タイミングオブジェクトと呼ばれるオブジェクトのクラスがあり、これについては以下に詳細に説明する。以下の各コード部は例示的なものである。なお、各コード部の行番号は、単に特定のコード部の行番号を表しており、元のソースコードにおける行番号を表すものではない。
面オブジェクト(Surface Objects)
面オブジェクトとは、サーフェスノードSurfaceNodeタイプのノードである。サーフェスノードSurfaceNodeのクラスは、2次元画像を色、深さ、不透明度(アルファ)の値の配列として記述する全てのオブジェクトの基本クラスである。サーフェスノードSurfaceNodeは、主としてテクスチャマップとして使用される画像を提供するのに用いられる。サーフェスノードSurfaceNodeのクラスからは、ムービーサーフェスMovieSurface、イメージサーフェスImageSurface、マットサーフェスMatteSurface、ピクセルサーフェスPixelSurface、シーンサーフェスSceneSurfaceが導かれる。なお、各コード部の行番号は、単にそのコード部についての行番号を表しており、元のソースコードにおける行番号を表すものではない。
ムービーサーフェスMovieSurface
以下のコード部は、ムービーサーフェスMovieSurfaceのノードを示している。ムービーサーフェスMovieSurfaceのノードの各フィールドの記述は、以下のようになる。
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)は、一度にどのフレームを面上に描画するのかを定義している。映画はオーディオソースとしても使用することができる。
コード部の2行目において、(多値フィールドの)URLフィールドは、面に対する映画データの潜在的位置のリストを提供する。このリストは、要素0がデータの好ましいソースを記述するように順序付けられている。何らかの理由で要素0が利用できないとき、あるいはサポートされないフォーマットである場合、次の要素を使用することができる。
3行目において、タイムベースtimeBaseのフィールドが指定されている場合、タイムベースtimeBaseのフィールドは、映画に関するタイミング情報を提供するノードを指定する。特に、タイムベースtimeBaseのフィールドは、ある瞬間に映画のどのフレームを面に表示するかを決定するのに必要な情報を、映画に与える。タイムベースtimeBaseが指定されていない場合、面は、映画の最初のフレームを表示する。
4行目において、映画データが取り込まれると数秒後に、ムービーサーフェスMovieSurfaceのノードにより、継続時間durationのフィールドが映画の長さに設定される。
5行目及び6行目において、ロードタイムloadTimeのフィールド及びロードステータスloadStatusのフィールドは、ムービーサーフェスMovieSurfaceのノードから、映画データの利用可能性に関する情報を提供する。ロードステータスloadStatusは、5つの値、すなわち「なし(NONE)」、「要求(REQUESTED)」、「失敗(FAILED)」、「中止(ABORTED)」、「ロード(LOADED)」が可能である。
「なし(NONE)」は初期状態である。「なし(NONE)」イベントは、値の数を0に設定し、又はURLの最初の文字列を空の文字列に設定することによって、ノードのURLを消去した場合にも送られる。このとき、面の画素は、黒及び不透明に設定される(すなわち、色は0,0,0となり、透明度は0である)。
「要求(REQUESTED)」イベントは、空でないURL値が設定されると必ず送られる。面の画素は、「要求(REQUESTED)」イベントの後も変化しない。
「失敗(FAILED)」は、映画のローディングが成功しなかった場合に、「要求(REQUESTED)」イベントの後に送られる。これは、例えば、URLが存在しないファイルを参照している場合、又はファイルに有効なデータが含まれていない場合に起こる。面の画素は、「失敗(FAILED)」イベントの後も変化しない。
「中止(ABORTED)」イベントは、現在の状態が「要求(REQUESTED)」であり、URLが変更された場合に送られる。URLが空でない値に変更されると、「中止(ABORTED)」の後に「要求(REQUESTED)」イベントがくる。URLが空の値に変更されると、「中止(ABORTED)」の後に「なし(NONE)」の値がくる。面の画素は、「中止(ABORTED)」イベントの後も変化しない。
「ロード(LOADED)」イベントは、映画を表示する準備ができると送られる。その後、現在時刻に一致した値のロードタイムloadTimeのイベントがくる。タイムベースtimeBaseのフィールドで示される映画のフレームが、面上に描画される。タイムベースtimeBaseがヌル(NULL)である場合、映画の最初のフレームが面上に描画される。
イメージサーフェスImageSurface
以下のコード部は、イメージサーフェスImageSurfaceのノードを示している。イメージサーフェスImageSurfaceのノードの各フィールドの記述は、以下のようになる。
1) ImageSurface: SurfaceNode {
2) field MF String url []
3) field Time loadTime 0
4) field String loadStatus “NONE”
}
イメージサーフェスImageSurfaceのノードは、画像ファイルを面上に描画する。コード部の2行目において、URLフィールドは、面に対する画像データの潜在的位置のリストを提供する。このリストは、要素0がデータの最も好ましいソースを記述するように順序付けられている。何らかの理由で要素0が利用できないとき、あるいはサポートされないフォーマットである場合、次の要素を使用することができる。
3行目及び4行目において、ロードタイムloadTimeのフィールド及びロードステータスloadStatusのフィールドは、イメージサーフェスImageSurfaceのノードから、画像データの利用可能性に関する情報を提供する。ロードステータスloadStatusは、5つの値、すなわち「なし(NONE)」、「要求(REQUESTED)」、「失敗(FAILED)」、「中止(ABORTED)」、「ロード(LOADED)」が可能である。
「なし(NONE)」は初期状態である。「なし(NONE)」イベントは、値の数を0に設定し、又はURLの最初の文字列を空の文字列に設定することによって、ノードのURLを消去した場合にも送られる。このとき、面の画素は、黒及び不透明に設定される(すなわち、色は0,0,0となり、透明度は0である)。
「要求(REQUESTED)」イベントは、空でないURL値が設定されると必ず送られる。面の画素は、「要求(REQUESTED)」イベントの後も変化しない。
「失敗(FAILED)」は、画像のローディングが成功しなかった場合に、「要求(REQUESTED)」イベントの後に送られる。これは、例えば、URLが存在しないファイルを参照している場合、又はファイルに有効なデータが含まれていない場合に起こる。面の画素は、「失敗(FAILED)」イベントの後も変化しない。
「中止(ABORTED)」イベントは、現在の状態が「要求(REQUESTED)」であり、URLが変更された場合に送られる。URLが空でない値に変更されると、「中止(ABORTED)」の後に「要求(REQUESTED)」イベントがくる。URLが空の値に変更されると、「中止(ABORTED)」の後に「なし(NONE)」の値がくる。面の画素は、「中止(ABORTED)」イベントの後も変化しない。
「ロード(LOADED)」イベントは、画像が面上に描画されたときに送られる。その後、現在時刻に一致した値のロードタイムloadTimeのイベントがくる。
マットサーフェス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
}
マットサーフェスMatteSurfaceのノードは、画像合成操作を用いて、面surface1と面surface2とからの画像データを組み合わせて第3の面とする。合成操作の結果は、面surface2の解像度で計算される。面surface1の大きさが面surface2の大きさと異なる場合、操作実行前に、面surface1の画像データをズームアップ又はズームダウンして、面surface1の大きさを面surface2の大きさと等しくする。
コード部の2行目及び3行目において、面surface1及び面surface2のフィールドは、合成操作のための入力画像データを提供する2つの面を指定する。4行目において、オペレーションフィールドは、2つの入力面上で実行する合成関数を指定する。可能な操作を以下に説明する。
「アルファ置換(REPLACE_ALPHA)」操作は、面surface1からのデータで面surface2のアルファチャンネルAを上書きする。面surface1が1つの成分(グレースケール強度のみ)を有している場合、その成分は、アルファ(不透明度の)値として用いられる。面surface1が2つ又は4つの成分(グレースケール強度+アルファ値、すなわちRGBA)を有している場合、アルファ値を得るためにアルファチャンネルAを用いる。面surface1が3つの成分(RGB)を有している場合、操作は未定義である。この操作を用いて、静止画像又は動画像に対する静的な又は動的なアルファマスクを行うことができる。例えば、シーンサーフェスSceneSurfaceは、透明な背景にジェームズ・ボンドのアニメーションキャラクタを描画することができる。そして、この画像のアルファ成分は、ビデオクリップのマスク形状として用いることができる。
「アルファ乗算(MULTIPLY_ALPHA)」操作は、面surface1からのアルファ値を面surface2からのアルファ値で乗算することを除いては、アルファ置換操作と同じである。
「クロスフェード(CROSS_FADE)」操作は、2つの面の目に見える割合(percentage)を制御するパラメータ値を用いて、2つの面間でフェードを行う。この操作は、2つの静止画像又は動画像間で動的にフェードを行うことができる。パラメータ値(5行目)を0から1に動かすことにより、面surface1の画像が面surface2の画像にフェードしてゆく。
「混合(BLEND)」操作は、面surface2からの混合率(blending percentage)を制御するアルファチャンネルを用いて、面surface1及び面surface2からの画像データを組み合わせる。この操作により、面surface2のアルファチャンネルは、2つの画像の混合率を制御することができる。シーンサーフェスSceneSurfaceを描画する、あるいはムービーサーフェスMovieSurfaceを再生することによって面surface2のアルファチャンネルを移動させることにより、複雑でトラバースのマット効果が得られる。R1、G1、B1、A1が、面surface1の画素の赤、緑、青、アルファの各値を表し、R2、G2、B2、A2が、面surface2における対応する画素の赤、緑、青、アルファの各値を表しているとき、その画素の赤、緑、青、アルファの各成分について得られる値は、以下のようになる。
赤=R1*(1−A2)+R2*A2 (1)
緑=G1*(1−A2)+G2*A2 (2)
青=B1*(1−A2)+B2*A2 (3)
アルファ=1 (4)
「加算(ADD)」操作及び「減算(SUBTRACT)」操作は、面surface1と面surface2のカラーチャンネルの加算又は減算を行う。得られるアルファ値は、面surface2のアルファ値に等しい。
5行目において、パラメータフィールドは、合成関数の効果を変更できる1つ以上の浮動小数点パラメータを与える。パラメータ値の具体的な解釈は、どの操作が指定されているかによって異なる。
6行目において、オーバライトサーフェスoverwriteSurface2のフィールドは、マットサーフェスMatteSurfaceのノードが合成操作の結果を記憶するための新たな面を割り当てるか(overwriteSurface2=FALSE)、あるいは面surface2に記憶されているデータを合成操作によって上書きするか(overwriteSurface2=TRUE)を指示する。
ピクセルサーフェスPixelSurface
以下のコード部は、ピクセルサーフェスPixelSurfaceのノードを示している。ピクセルサーフェスPixelSurfaceのノードのフィールドの記述は、以下のようになる。
1) PixelSurface: SurfaceNode {
2) field Image image 0 0 0
}
ピクセルサーフェスPixelSurfaceのノードは、ユーザが指定した画素の配列を面上に描画する。2行目において、画像フィールドは、面上に描画される画素データを記述する。
シーンサーフェスSceneSurface
以下のコード部は、シーンサーフェスSceneSurfaceのノードを示している。シーンサーフェスSceneSurfaceのノードの各フィールドの記述は、以下のようになる。
1) SceneSurface: SurfaceNode {
2) field MF ChildNode children []
3) field UInt32 width 1
4) field UInt32 height 1
}
シーンサーフェスSceneSurfaceのノードは、特定の大きさの面に特定の子ノードを描画する。シーンサーフェスSceneSurfaceは、子ノードの現在の状態を反映するように自動的に再描画する。
コード部の2行目において、子フィールドは、描画される子ノードを記述する。概念的には、子フィールドは、シーンサーフェスSceneSurfaceのノードを含むシーングラフとは無関係に描画されるシーングラフ全体を記述する。
3行目及び4行目において、幅フィールド及び高さフィールドは、面の大きさを画素で指定する。例えば、幅が256、高さが512の場合、その面は256×512の画素値の配列を有する。
ムービーサーフェスMovieSurfaceのノード、イメージサーフェスImageSurfaceのノード、マットサーフェスMatteSurfaceのノード、ピクセルサーフェスPixelSurfaceのノード、シーンサーフェスSceneSurfaceのノードは、シーンの描画に用いられる。
シーンの記述の最上位において、「最上位面(top level Surface)」の出力が、ディスプレイにマッピングされる。その結果をディスプレイに描画するのではなく、3次元的に描画されたシーンにより、上述の各サーフェスノードのうちの1つを用いて、その出力を面上に生成することができる。ここで、出力は、制作者が望むような高品位のシーン構成に組み込むことができる。面のコンテンツは、面に埋め込まれたシーン記述を描画することにより生成され、これには、面の画像構成の一部として、色情報、透明度(アルファチャンネル)、深さを含めることができる。この場合の画像とは、ビデオ画像、静止画像像、アニメーション又はシーンを含むものとして定義される。
また、面は、様々なテクスチャマッピングシステムの特殊化された条件を、一般的な画像管理インタフェースよりも、内部でサポートするものとして定義される。その結果、テクスチャマッピングシステムにおけるあらゆるサーフェスプロデューサ(Surface producer)は、3次元描画処理によりテクスチャとして使用することができる。このようなサーフェスプロデューサの例として、イメージサーフェスImageSurface、ムービーサーフェスMovieSurface、マットサーフェスMatteSurface、シーンサーフェスSceneSurface及びアプリケーションサーフェスApplicationSurfaceがある。
アプリケーションサーフェスApplicationSurfaceは、アプリケーション処理により埋め込まれて描画された画像データ、例えば従来のウィンドウシステムにおけるアプリケーションウィンドウに類似した方法で描画された表計算、ワープロ等の画像データを維持する。
面モデルを描画生成(rendering production)と統合するとともに、テクスチャを使用することにより、異なる描画速度の宣言型オーサリングが可能になる。従来、3次元シーンは一体的に描画され、視聴者に対する最終的なフレームレートは、シーンの複雑さ又はテクスチャの入換えに起因した最悪の性能によって定まっていた。フレームワーク(framework)のリアルタイムで連続した構成では、面を抽象化することにより、同じ画面上の異なる要素に対して描画速度を異ならせるメカニズムが得られる。例えば、毎秒1フレームという低速で描画を行うウェブブラウザを描画することも可能であるが、これは、他のアプリケーションによって生成され、ブラウザの出力とともに表示されるビデオフレームレートが、フルフレームレートの毎秒30フレームに維持されている場合に限り可能である。ウェブブラウザアプリケーションがそれ自身に面を描画する場合、画面制作者(screen compositor)は、フルモーションビデオフレームレートに妨げられずに、ウェブブラウザ面の最後に完全に描画された画像を高速画面更新の一部として使用して、描画を行うことができる。
図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の面を使用する。
面モデルを描画生成と統合するとともに、テクスチャを使用することにより、ネストされたシーンを宣言的に描画することができる。画像として描画されたサブシーンを再合成することにより、オープンエンドなオーサリングが可能になる。特に、アニメーション化され、より大きなビデオコンテキストに画像混合されたサブシーンを用いることにより、エンターテインメント用のコンピュータグラフィックとして、より適切な画質が得られる。例えば、この画像を混合する方法により、ビジュアルアーティストは、ウィンドウシステムによる前世代の粗く、明確な輪郭を有するクリッピングに替わる手段が得られる。
図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の全てを同時に開始してもよい。
なお、本発明は、「ブレンド(Blendo)」から独立しており、「ブレンド」とは別の実施形態の一部とすることができる。また、本発明の説明では、3次元シーンの描画について説明しているが、本発明は、2次元シーンの描画にも同様に適用することができる。面モデルにより、制作者は、画像とビデオ効果を、2次元及び3次元の幾何学的マッピング及びアニメーション化によって、自由に組み合わせることができる。
本発明を、特定の実施形態について図示し、説明したが、本発明の特徴から逸脱することなく、種々の変更や修正を行えることは、当業者にとって明らかである。したがって、特許請求の範囲は、このような変更や修正が本発明の趣旨及び範囲内であるとして、これらの変更や修正を全て含むものである。
ブレンド(Blendo)の基本的なアーキテクチャを示す図である。 ブレンドエンジンによるコンテンツの流れを示すフローチャートである。 1つのシーンにおける2つの面が、異なる描画速度でどのように描画されるかを示す図である。 異なる描画速度で図2Aに示す2つの面を描画する際に行われる動作を示すフローチャートである。 ネストされたシーンを示す図である。 図3Aのネストされた図を描画するのに行われる動作を示すフローチャートである。

Claims (40)

  1. コンピュータと、上記コンピュータにより実行されるコンピュータプログラムとを備えるコンピュータシステムにおいて、
    上記コンピュータプログラムは、
    第1の画像が描画された第1の面と、第2の画像が描画された第2の面とを用いて動画像を構成するためのコンピュータインストラクションを有し、
    上記第1の面からの上記第1の画像と、上記第2の面からの上記第2の画像とを組み合わせて、上記動画像を構成することを特徴とするコンピュータシステム。
  2. 上記第1の画像及び上記第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項1に記載のコンピュータシステム。
  3. 上記第1の画像は、第1の2次元画素列に描画され、上記第2の画像は、第2の2次元画素列に描画されることを特徴とする請求項2に記載のコンピュータシステム。
  4. 上記動画像は、宣言型インストラクションに従って作成されることを特徴とする請求項2に記載のコンピュータシステム。
  5. 上記動画像は、リアルタイムで作成されることを特徴とする請求項4に記載のコンピュータシステム。
  6. 上記動画像は、リアルタイムで作成されることを特徴とする請求項2に記載のコンピュータシステム。
  7. 上記第1の画像は、第1の不透明値を有し、上記第2の画像は、第2の不透明値を有し、上記動画像は、第3の不透明値を有することを特徴とする請求項2に記載のコンピュータシステム。
  8. 上記第1の画像と上記第2の画像とを組み合わせて上記動画像を構成するときに、上記第1の不透明値を用いて上記第2の不透明値を上書きするためのコンピュータインストラクションを、さらに有することを特徴とする請求項7に記載のコンピュータシステム。
  9. 上記第1の不透明値に上記第2の不透明値を乗算して上記第3の不透明値を得るためのコンピュータインストラクションを、さらに有することを特徴とする請求項7に記載のコンピュータシステム。
  10. 上記第1の画像と上記第2の画像とを組み合わせることによりトラバースのマット効果を得るときに、上記第2の画像の不透明値を動かすためのコンピュータインストラクションを、さらに有することを特徴とする請求項7に記載のコンピュータシステム。
  11. コンピュータと、上記コンピュータにより実行されるコンピュータプログラムとを備えるコンピュータシステムにおいて、上記コンピュータプログラムは、
    第1の画像を第1の面上に描画し、
    第2の画像を第2の面上に描画し、
    第3のシーンを第3の面上に描画するためのコンピュータインストラクションを有し、
    上記第1の画像は上記第3のシーン用のテクスチャとして使用され、上記第2の画像は上記テクスチャと混合されて上記第3のシーンを形成することを特徴とするコンピュータシステム。
  12. ユーザは、上記第1の画像、上記第2の画像及び上記第3のシーンを描画するための宣言型インストラクションを与えることを特徴とする請求項11に記載のコンピュータシステム。
  13. 上記第2の画像は時間とともに変化することを特徴とする請求項11に記載のコンピュータシステム。
  14. 第4のシーンを第4の面に宣言的に描画するためのコンピュータインストラクションをさらに有し、上記第3のシーンは、上記第4のシーン内に混合されて上記第4のシーン内にサブシーンを形成することを特徴とする請求項11に記載のコンピュータシステム。
  15. 上記サブシーン内の上記第2の画像は、上記第2の面の上記第2の画像における変化を反映するように変化することを特徴とする請求項14に記載のコンピュータシステム。
  16. 上記第1の画像及び上記第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択することができることを特徴とする請求項11に記載のコンピュータシステム。
  17. コンピュータと、上記コンピュータにより実行されるコンピュータプログラムとを備えるコンピュータシステムにおいて、上記コンピュータプログラムは、
    第1のシーンを第1の描画速度にて描画し、
    第2のシーンを第2の描画速度にて描画するためのコンピュータインストラクションを有し、
    上記第2のシーンは上記第1のシーン内にサブシーンを形成することを特徴とするコンピュータシステム。
  18. 上記第1のシーン及び上記第2のシーンは、宣言型インストラクションに基づいて描画されることを特徴とする請求項17に記載のコンピュータシステム。
  19. 上記第2のシーンの第1の画像は第1のバッファに記憶され、上記第2のシーンの第2の画像は第2のバッファに記憶され、上記第1の画像及び上記第2の画像は連続的に更新され、一度にいずれか一方の描画が更新されることを特徴とする請求項17に記載のコンピュータシステム。
  20. 上記サブシーンは、上記第1の画像と上記第2の画像とからなるグループから選択される最後の描画を用いて更新されることを特徴とする請求項19に記載のコンピュータシステム。
  21. 上記第1の描画速度は上記第2の描画速度に等しいことを特徴とする請求項20に記載のコンピュータシステム。
  22. コンピュータを用いて動画像を構成する方法において、
    第1の画像を第1の面上に描画し、
    第2の画像を第2の面上に描画し、
    上記第1の画像と上記第2の画像とを組み合わせて、上記動画像を構成することを特徴とする方法。
  23. 上記第1の画像及び上記第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項22に記載の方法。
  24. 上記シーンは、ビデオ画像、静止画像、アニメーション、シーンからなるグループのうちの少なくとも1つからなることを特徴とする請求項23に記載の方法。
  25. さらに、上記第1の画像を第1の2次元画素列に描画し、上記第2の画像を第2の2次元画素列に描画することを特徴とする請求項22に記載の方法。
  26. さらに、上記動画像を構成するための宣言型インストラクションを与えることを特徴とする請求項22に記載の方法。
  27. 上記動画像はリアルタイムで作成されることを特徴とする請求項22に記載の方法。
  28. さらに、上記第1の画像に第1の不透明値を与え、
    上記第2の画像に第2の不透明値を与え、
    上記動画像に第3の不透明値を与えることを特徴とする請求項22に記載の方法。
  29. さらに、上記第1の不透明値を用いて上記第2の不透明値を上書きすることを特徴とする請求項28に記載の方法。
  30. さらに、上記第1の不透明値と上記第2の不透明値とを乗算して上記第3の不透明値を得ることを特徴とする請求項28に記載の方法。
  31. さらに、上記第1の画像と上記第2の画像とを組み合わせることによりマット効果を得るときに、上記第2の画像の不透明値を動かすことを特徴とする請求項28に記載の方法。
  32. コンピュータを用いてシーンを作成する方法において、
    第1の画像を第1の面上に描画し、
    第2の画像を第2の面上に描画し、
    第1の画像を上記シーン用のテクスチャとして使用し、上記第2の画像と上記テクスチャとを混合して第1のシーンを形成する第3の面に、第1のシーンを描画することを特徴とする方法。
  33. 上記第1の画像、上記第2の画像及び上記第1のシーンを描画するための宣言型インストラクションを与えることを特徴とする請求項32に記載の方法。
  34. 上記第2の画像は時間とともに変化することを特徴とする請求項32に記載の方法。
  35. 上記第1の画像及び上記第2の画像は、ビデオ画像、静止画像、アニメーション、シーンからなるグループから選択されることを特徴とする請求項32に記載の方法。
  36. コンピュータを用いてシーンを表示する方法において、
    第1のシーンを第1の描画速度にて描画し、
    第2のシーンを第2の描画速度にて描画し、
    上記第2のシーンは上記第1のシーン内にサブシーンを形成することを特徴とする方法。
  37. さらに、上記第1のシーン及び上記第2のシーンを描画するための宣言型インストラクションを与えることを特徴とする請求項36に記載の方法。
  38. さらに、上記第2のシーンの第1の画像を第1のバッファに記憶し、上記第2のシーンの第2の画像を第2のバッファに記憶し、
    上記第1の画像及び上記第2の画像について、一度にいずれか一方の描画を更新して、これらを連続的に更新することを特徴とする請求項36に記載の方法。
  39. 上記第1の画像と上記第2の画像とからなるグループから選択される最後の描画を用いて、上記サブシーンを更新することを特徴とする請求項36に記載の方法。
  40. 上記第1の描画速度は上記第2の描画速度とは異なることを特徴とする請求項36に記載の方法。
JP2004549857A 2002-11-01 2002-11-01 動画像構成方法及びシーン構成方法 Expired - Fee Related JP4260747B2 (ja)

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 true JP2006505050A (ja) 2006-02-09
JP4260747B2 JP4260747B2 (ja) 2009-04-30

Family

ID=32311631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004549857A Expired - Fee Related JP4260747B2 (ja) 2002-11-01 2002-11-01 動画像構成方法及びシーン構成方法

Country Status (5)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524393A (ja) * 2007-04-11 2010-07-15 トムソン ライセンシング デジタルビデオエフェクト(dve)を高める方法及び装置
KR101295430B1 (ko) 2006-06-15 2013-08-09 소니 주식회사 화상 기록 장치, 화상 재생 장치, 화상 기록 방법 및 화상재생 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100463004C (zh) * 2006-02-24 2009-02-18 腾讯科技(深圳)有限公司 一种渲染模型残影效果的方法
US20080158254A1 (en) * 2006-12-29 2008-07-03 Hong Jiang Using supplementary information of bounding boxes in multi-layer video composition
EP2506263A1 (en) 2011-03-31 2012-10-03 Thomson Licensing Stereoscopic scene graph for defining 3D- and 2D-compatible graphical objects
CN102930536B (zh) * 2012-10-16 2016-08-03 深圳先进技术研究院 基于层次化结构的室内场景运动性分析与检测方法
CN109462771B (zh) * 2018-11-26 2021-08-06 广东精鹰传媒股份有限公司 一种立体字幕条的二维效果实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162165A (ja) * 1992-11-24 1994-06-10 Sony Corp 画像処理装置
JPH11288424A (ja) * 1998-02-03 1999-10-19 Jisedai Joho Hoso System Kenkyusho:Kk 映像インデックス情報を記録した記録媒体、映像インデックス情報を用いた映像情報管理方法、音声インデックス情報を記録した記録媒体および音声インデックス情報を用いた音声情報管理方法
JP2002208036A (ja) * 2001-01-10 2002-07-26 Toshimitsu Nakanishi コンテンツ提供システム及びコンテンツ提供方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0560979A1 (en) * 1991-10-07 1993-09-22 Eastman Kodak Company A compositer interface for arranging the components of special effects for a motion picture production
US7139970B2 (en) * 1998-04-10 2006-11-21 Adobe Systems Incorporated Assigning a hot spot in an electronic artwork

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162165A (ja) * 1992-11-24 1994-06-10 Sony Corp 画像処理装置
JPH11288424A (ja) * 1998-02-03 1999-10-19 Jisedai Joho Hoso System Kenkyusho:Kk 映像インデックス情報を記録した記録媒体、映像インデックス情報を用いた映像情報管理方法、音声インデックス情報を記録した記録媒体および音声インデックス情報を用いた音声情報管理方法
JP2002208036A (ja) * 2001-01-10 2002-07-26 Toshimitsu Nakanishi コンテンツ提供システム及びコンテンツ提供方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WOO ET AL., OPEN GL PROGRAMMING GUIDE, vol. 第3版, JPN7008004645, October 1999 (1999-10-01), US, pages 20 - 27, ISSN: 0001057898 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101295430B1 (ko) 2006-06-15 2013-08-09 소니 주식회사 화상 기록 장치, 화상 재생 장치, 화상 기록 방법 및 화상재생 방법
JP2010524393A (ja) * 2007-04-11 2010-07-15 トムソン ライセンシング デジタルビデオエフェクト(dve)を高める方法及び装置
US8914725B2 (en) 2007-04-11 2014-12-16 Gvbb Holdings S.A.R.L. Method and apparatus for enhancing digital video effects (DVE)
US10088988B2 (en) 2007-04-11 2018-10-02 Gvbb Holdings S.A.R.L. Method and apparatus for enhancing digital video effects (DVE)
US11079912B2 (en) 2007-04-11 2021-08-03 Grass Valley Canada Method and apparatus for enhancing digital video effects (DVE)

Also Published As

Publication number Publication date
JP4260747B2 (ja) 2009-04-30
AU2002368317A1 (en) 2004-06-07
EP1579391A4 (en) 2009-01-21
WO2004042659A1 (en) 2004-05-21
CN1695169A (zh) 2005-11-09
EP1579391A1 (en) 2005-09-28

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
JP4796499B2 (ja) 映像およびシーングラフインターフェイス
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
US7336280B2 (en) Coordinating animations and media in computer display output
WO2003102874A1 (en) Optimized mixed media rendering
KR100610689B1 (ko) 3차원 화면에 동영상을 삽입하는 방법 및 이를 위한 기록매체
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 (ja) 動画像構成方法及びシーン構成方法
US20050021552A1 (en) Video playback image processing
US20050035970A1 (en) Methods and apparatuses for authoring declarative content for a remote platform
US7046732B1 (en) Video coloring book
US6683613B1 (en) Multi-level simulation
US20050088458A1 (en) Unified surface model for image based and geometric scene composition
Jeffery et al. Programming language support for collaborative virtual environments
JP2006505049A (ja) メディアシーケンスの構成方法及びメディア表示方法
Martinez et al. Unicon 3D Graphics User’s Guide and Reference Manual
JP2006523337A (ja) 表示のためのグラフィックスアニメーションの描写を管理する方法、および該方法を実施するための受信機およびシステム
Hunt et al. Graphical Java Media
Hammel Graphics Tools for Linux

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