(57)【要約】【課題】ビデオ画像のサイズを円滑に他のサイズに変更できるようにする。【解決手段】コンピュータに供給されたビデオファイルを、このコンピュータ内に設けられたズーミング領域内にズーミングオブジェクトとして変換する。ユーザは、コンピュータ入力装置を介してズーミングオブジェクトを拡大及びパンする。ビデオファイルがコンピュータ内のビデオ再生ライブラリ内で再生されると、ズーミングエンジンがコンピュータ内で起動し、続いてズーミング領域がズーミングエンジンによって起動される。ビデオ再生ライブラリ内で再生されるビデオファイルのフレームは、ズーミング領域内に、ズーミングビデオオブジェクトとしてコピーされ、表示される。ユーザは、コンピュータ入力装置を介してズーミングビデオオブジェクトを囲んでいる文字枠のパラメータを操作することにより、ズーミング領域内のビデオ画像を拡大又は縮小及びパンすることができる。【選択図】図３
2011141559.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ処理装置上で再生することができるビデオデータファイルとして構成されたビデオデータストリームに関する画像を所望の大きさに拡大／縮小する方法であって、
前記ビデオデータファイルのインスタンスを前記コンピュータ処理装置上で動作するビデオ再生ライブラリ内で再生させるステップと、
前記コンピュータ処理装置と関連して動作するズーミングエンジンを提供するステップと、
オブジェクト指向グラフィック環境において前記ズーミングエンジンを実行するステップと、
前記ビデオ再生ライブラリ内で再生されているビデオデータファイルのフレームを前記ズーミングエンジンによって設けられるズーミングオブジェクトにコピーするステップと、
前記ズーミングオブジェクトを所望のレベルに拡大／縮小するステップと、を備え、
前記ズーミングオブジェクト及び１又はそれ以上の追加のズーミングオブジェクトを別々に更新の対象とすることを特徴とする方法。
【請求項２】
前記追加のズーミングオブジェクトは、前記ズーミングエンジンのイベントマネージャによってズーミングオブジェクトモジュールへ直接供給されるイベント情報に応じて別々に更新の対象とされる、請求項１に記載の方法。
【請求項３】
前記ズーミングオブジェクト及び前記１又はそれ以上の追加のズーミングオブジェクトのそれぞれは、それぞれの文字枠によって定義され、前記ズーミングオブジェクト及び前記１又はそれ以上の追加のズーミングオブジェクトのためのそれぞれの文字枠が交差すると、そのズーミングオブジェクトについての操作が実行される、請求項２に記載の方法。
【請求項４】
前記ズーミングオブジェクトを含む前記ビデオデータファイルのフレームの外側の表示内容は、前記ズーミングオブジェクトに重なり、さらに、ユーザの指示に従って前記外側の表示内容を拡大／縮小せずに前記ズーミングオブジェクトを拡大／縮小するステップを有する、請求項１に記載の方法。
【請求項５】
前記外側の表示内容はテキストである、請求項４に記載の方法。
【請求項６】
前記ズーミングオブジェクトは周期的にダメージを受けて、前記ビデオデータファイルのフレームの再ペイントを行う、請求項１に記載の方法。
【請求項７】
前記ズーミングオブジェクトの周期的なダメージングは、見ている人が、このビデオデータファイルを連続的なものと認識できる十分な頻度で繰り返し行われる、請求項６に記載の方法。
【請求項８】
前記ズーミングオブジェクトの周期的なダメージングは、リフレッシュレートで行われる、請求項６に記載の方法。
【請求項９】
前記ビデオデータファイルのフレームの再ペイントは、すべてのズーミングオブジェクトの正しいＺ面平面の順番が維持されるように行われる、請求項６に記載の方法。
【請求項１０】
プロセッサと、
オペレーティングシステムとして構成されるコンピュータインストラクションのセット、及び、前記プロセッサによって操作されるグラフィカル画像データを表示する表示手段と、
前記プロセッサによって処理されるビデオ画像を、元の画像サイズから所望の拡大レベルで拡大して表示するビデオイメージング手段と、を備え、
前記ビデオイメージング手段は、
前記オペレーティングシステムのもとで動作するビデオ再生ソフトウェアライブラリと、
オブジェクト指向グラフィック環境における使用に適合する前記オペレーティングシステムと関連して動作するズーミングエンジンとを含み、
データファイルとして構成されたビデオデータストリームが前記ビデオ再生ソフトウェアライブラリ内で再生され、再生された前記ビデオデータストリームのフレームがズーミングオブジェクトにコピーされ、前記ズーミングオブジェクト及び１又はそれ以上の追加のズーミングオブジェクトが別々に更新の対象とされることを特徴とするコンピュータシステム。
【請求項１１】
さらに、データファイルとして構成されたビデオデータストリームの選択されたフレームを、ダメージを受けるズーミングオブジェクトに、選択された繰り返し頻度でコピーさせる手段を備える、請求項１０に記載のコンピュータシステム。
【請求項１２】
さらに、モニタ受像機と、前記モニタ受像機と前記プロセッサとの間に協働するよう接続され、前記ビデオプロセッサによって与えられる前記オブジェクト指向グラフィック環境の視野を前記モニタ受像機に再現するビデオドライバカードとを含み、
前記プロセッサは、ソフトウェアの制御のもとで、複数のグラフィックオブジェクトを有するオブジェクト指向グラフィック環境を提供するよう構成され、
前記ビデオ再生ソフトウェアライブラリは、前記オブジェクト指向グラフィック環境内で前記グラフィックオブジェクトの１つに対して、ビデオデータのフレームをストリーム再生するよう動作し、
前記ズーミングエンジンは、前記オブジェクト指向グラフィック環境内でズーミング特性を生成するよう構成され、
前記ズーミングエンジンは、前記ズーミング特性に従って、前記オブジェクト指向環境の視野を拡大／縮小するよう構成されている、請求項１０に記載のコンピュータシステム。
【請求項１３】
ズーミングオブジェクト及び１又はそれ以上の追加のズーミングオブジェクトは、前記ズーミングエンジンのイベントマネージャによってズーミングオブジェクトモジュールへ直接供給されるイベント情報に応じて、別々に更新の対象とされることを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１４】
前記各ズーミングオブジェクトはその文字枠によって定義され、前記ズーミングオブジェクトのそれぞれのための文字枠が交差すると、そのズーミングオブジェクトについての操作が実行される、請求項１０に記載のコンピュータシステム。
【請求項１５】
前記データファイルのフレームの外側の表示内容は前記ズーミングオブジェクトに重なり、ユーザの指示に従って前記外側の表示内容を拡大／縮小せずに前記ズーミングオブジェクトを拡大／縮小する、請求項１０に記載のコンピュータシステム。
【請求項１６】
前記外側の表示内容はテキストである、請求項１５に記載のコンピュータシステム。
【請求項１７】
前記ズーミングオブジェクトは、周期的にダメージを受けて前記データファイルのフレームの再ペイントを行わせる、請求項１０に記載のコンピュータシステム。
【請求項１８】
前記ズーミングオブジェクトの周期的なダメージングは、見ている人が、このビデオデータファイルを連続的なものと認識できる十分な頻度で繰り返し行われる、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記ズーミングオブジェクトの周期的なダメージングは、リフレッシュレートで行われる、請求項１７に記載のコンピュータシステム。
【請求項２０】
前記データファイルのフレームの再ペイントは、すべてのズーミングオブジェクトの正しいＺ面平面の順番が維持されるように行われる、請求項１７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には画像表示方法及び装置に関し、特に、ビデオ表示に用いられる画像のズーミング技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータの処理能力は著しく向上しており、これにより、パーソナルコンピュータを用いて、非常に複雑な図形画像を生成して、表示することができるようになっている。また、ビデオ信号を圧縮するための効率的なアルゴリズムが開発されたことにより、ビデオストリームをデジタル化して、コンピュータファイルに変換し、比較的制限された帯域幅の伝送路を介してこのコンピュータファイルを伝送し、パーソナルコンピュータ上に画像を表示させることができることができるようになっている。しかしながら、伝送路及び処理装置には限界があり、このため、コンピュータ上に表示することのできるビデオ画像は、通常、利用可能な表示領域の例えば２４０×１６０画素等の狭い部分に制限されている。ユーザの観点から言えば、受信したビデオ画像をより大きいサイズで見ることができる方が好ましい。しかしながら、従来の技術では、限定された範囲内でのサイズ変更は可能であるが、あるサイズのビデオ画像を円滑に他のサイズに変更したり、パニングとサイズ変更を同時に行うことはできない。
【発明の概要】
【０００３】
コンピュータに供給されるビデオファイルを、そのコンピュータ内に設けられたズーミング領域（zooming universe）内のズーミングオブジェクト（zooming object）に変換する方法を提供する。ユーザは、コンピュータ入力装置を介して操作を行い、このズーミングオブジェクトを拡大及びパニングすることができる。具体的には、ビデオファイルを、コンピュータ内にある既知のビデオ再生ライブラリ内で開き、同時に、ズーミングエンジンをコンピュータ内で起動させる。これにより、ズーミング領域が使用可能になる。ビデオ再生ライブラリ内でビデオファイルを再生するとき、そのビデオファイルのフレームは、ズーミングビデオオブジェクトとして、ズーミング領域にコピーされ、このズーミング領域内に表示される。ユーザは、コンピュータ入力装置を用いて、ズーミングビデオオブジェクトを囲む文字枠（bounding box）のパラメータを操作することにより、ズーミング領域内のビデオ画像を、所望の大きさ及び位置になるように、拡大又は縮小、及び上下にパンすることができる。
【０００４】
本発明の他の実施例では、ユーザの操作に基づき、ズーミング領域内において、ビデオ画像に重なる（overlay）が、ビデオ画像ではないテキスト（text）又はその他の要素を拡大又は縮小せずに、そのビデオ画像のみを拡大又は縮小する方法を提供する。この実施例では、ズーミング領域内のビデオ画像オブジェクトに、ビデオ画像を再ペイント（repaint）してビデオ画像を表示する「ペイント（paint）」プログラムの動作を起こさせる「ダメージ（damage）」を周期的に与える。このようなビデオオブジェクトに対する周期的なダメージングは、見ている人が、このビデオ画像を連続的な画像として十分に認識できる頻度で繰り返し行われる。
【図面の簡単な説明】
【０００５】
【図１】ＦＩＧ．１は、従来のコンピュータシステムの構成を示す図である。
【図２】ＦＩＧ．２は、ズーミングエンジンを備えるコンピュータシステムを示すブロック図である。
【図３】ＦＩＧ．３は、ズーミングエンジンの構成を示すブロック図である。
【図４】ＦＩＧ．４は、ズーミングスペース内に含まれる、ズーミングビデオオブジェクト等の様々なズーミング表示オブジェクトを示す図である。
【図５Ａ】ＦＩＧ．５Ａは、拡大又は縮小される前のビデオ画像の一例を示す図である。
【図５Ｂ】ＦＩＧ．５Ｂは、拡大されたビデオ画像の一例を示す図である。
【図５Ｃ】ＦＩＧ．５Ｃは、縮小されたビデオ画像の一例を示す図である。
【図６】ＦＩＧ．６は、本発明に係るビデオズーミング方法を説明するためのフローチャートである。
【発明を実施するための形態】
【０００６】
本発明の更なる目的、特徴及び効果は、以下に述べる詳細な説明及びそれに付随した図面により、当該分野の技術者にとって明らかとなるであろう。
【０００７】
コンピュータ上で実行されるビデオファイルは、「ＡＶＩ（Audio Video Interleaved）」、「Quick Time」、「ＭＰＥＧ（Motion Picture Expert Group）」等の様々な符号化フォーマットで利用可能であり、これらの全ては、当該分野の技術者にとっては周知である。これらのビデオファイルをコンピュータ上で再生するためには、リアルネットワークス社（Real Networks, Inc.）のRealVideoやマイクロソフト社（Microsoft , Inc.）のDirectShow等の特殊なソフトウェアが必要でなる。以下に述べる本発明の実施例においては、グラフィックアプリケーションであるMicrosoft DirectXファミリの構成要素であるDirectShowを、ネイティブ（native）ビデオ再生ライブラリとして用いることとする。なお、その他のいかなるネイティブビデオ再生ライブラリを用いて本発明に係るビデオズーミング方法を実現してもよいことは、当該分野の技術者にとっては明らかである。
【０００８】
本発明を適用したズーミングビデオインターフェースは、選択されたビデオオブジェクトを様々な倍率で表示することができる。このズーミングビデオインターフェースは、格納されている情報からビデオ（及びその他の）オブジェクトのグラフィック表示を構成し、ユーザは、このグラフィック表示を拡大、縮小及びパンすることができる。拡大、すなわち「ズームイン」することにより、オブジェクト又は複数のオブジェクトからなるオブジェクトグループを、大きく及び／又は詳細に表示することができる。また、縮小、すなわち「ズームアウト」することにより、オブジェクト及び複数のオブジェクトからなるオブジェクトグループを小さく及び／又は概略的に表示することができる。
【０００９】
この実施例においては、本発明を適用したズーミングビデオインターフェースを実現するインストラクションは、JAVA（登録商標）でコーディング（coding）されている。なお、他の実施例として、このインストラクションを、PERL（登録商標）等のプラットフォームに依存しない言語、あるいはC++又はフォートラン等のプラットフォームに依存した言語を用いて実現してもよい。
【００１０】
本発明に係るビデオズーミング方法を詳細に説明する前に、本発明を適用したコンピュータ環境及び本発明に係るズーミング方法を実現するための基本的なインフラストラクチャを提供するズーミングエンジンについて簡単に説明する。
【００１１】
＜コンピュータアーキテクチャ＞
ＦＩＧ．１は、本発明を適用したズーミングビデオインターフェースを実現するために適用されるコンピュータシステム１００の具体例を示す図である。コンピュータシステム１００は、本体１２０と、本体１２０に接続されたモニタ受像機１３０と、キーボード１５０及びマウス１６０等の対話形（interactive）入力装置とを備え、マウス１６０は、コンピュータシステム１００に対する信号を生成するための正がオン及び負がオフの位置を有するマウススイッチ１５５，１６５を備える。本体１２０は、コンピュータシステム１００において通常用いられている様々な構成要素（図示せず）を備える。これらの構成要素としては、例えばプロセッサ、ＲＯＭ及びＲＡＭからなるメモリ、キャッシュメモリ、ハードディスクストレージ装置、フロッピー（登録商標）ディスクドライブ、ストレージテープドライブ、グラフィックカード及びオーディオカード、ネットワークインターフェースカード、電源等があり、これらは、従来のアーキテクチャを用いて相互接続されている。
【００１２】
コンピュータシステム１００は、モニタ受像機１３０を介して映像を出力し、スピーカ（図示せず）を介して音声を出力し、キーボード１５０、マウス１６０、及び可能な場合はマイクロフォン（図示せず）を介して、ユーザからの入力を受信する。ユーザは、従来の方法、例えばマウス１６０等の対話形入力装置を用いて所望のオブジェクト上にスクリーンカーソルを移動させ、その対話形入力装置をクリックする（ボタンを押す）ことにより、コンピュータシステム１００とインターフェースすることができる。このような操作を通じて、コンピュータシステム１００は、所望のオブジェクトを識別／選択し、次の動作に備える。例えば、ユーザは、マウス１６０を用いて、スクリーンカーソルを、モニタ受像機１３０上のグラフィック表示画面上で動かして、グラフィック表示画面上の特定の画像に関連するに位置させる。そして、ユーザは、スクリーンカーソルを位置決めした状態で、マウススイッチ１６５をダブルクリックすることにより、コンピュータシステム１００に入力を行う。このような操作により、通常、スクリーンカーソルが位置決めされた画像に対する所望の動作に関する情報を、コンピュータシステム１００に供給することができる。このような表示と機能は、グラフィカルユーザインターフェースと呼ばれる。
【００１３】
ＦＩＧ．１に示すコンピュータシステム１００は、デスクトップ型であるが、本発明は、ラップトップ型、パーム型等のその他の型のコンピュータシステムに対しても同様に適用することができる。また、この実施例では、スクリーンカーソルを移動して、入力を行うためにマウス１６０を用いているが、今後、入力を受け付け、出力を表示するための新たな技術が開発されることが予想され、本発明は、このような新たな技術も意図しているものである。例えば、マウス及びキーボードによるコマンドの代わりに、音声コマンドを用いて、表示を更新することもできる。このような及び他の代替例は、当該分野の技術者にとっては明らかである。
【００１４】
ＦＩＧ．２は、コンピュータ２００（通常、本体１２０内に設けられ、コンピュータシステム１００の一部をなす）の具体的な構成を示すブロック図であり、コンピュータ２００は、ＣＰＵ２０２と、ＲＯＭ２０４と、メモリ２０６と、データストレージ装置２０８と、ビデオカード２１０と、オーディオカード２１２と、キーボード／マウスコントローラ２１４と、ネットワークインターフェース２１６とを備え、これらの各回路は、従来のバス２１８に接続されている。ＣＰＵ２０２は、例えばカリフォルニア州、サンタクララのインテル社から供給されるペンティアム（登録商標）等の、従来のマイクロプロセッサからなる。ＣＰＵ２０２は、ＲＯＭ２０４及び／又はメモリ２０６に記憶されているインストラクションを実行する。ＲＯＭ２０４は、読出専用メモリからなり、電源が切断されている間でも、格納している情報を保持する。ＲＯＭ２０４は、例えばブートアップシーケンス用のインストラクションを記憶している。メモリ２０６は、例えば揮発性メモリからなり、コンピュータオペレーティングシステムにおいて実行される通常の動作中に用いられるインストラクション及び情報を記憶する。データストレージ装置２０８は、データを長期間保存するものであり、例えば磁気ディスク装置、光磁気ディスク装置等のハードディスク装置からなる。ビデオカード２１０は、コンピュータ２００とモニタ受像機１３０とのインターフェースをとり、オーディオカード２１２は、コンピュータ２００とスピーカとのインターフェースをとる。キーボード／マウスコントローラ２１４は、コンピュータ２００と、コンピュータ２００に入力を供給するキーボード１５０及びマウス１６０とのインターフェースをとる。ネットワークインターフェース２１６は、従来のネットワークインターフェースカードからなり、ローカルネットワークの線とコンピュータ２００とのインターフェースをとる。このネットワークインターフェースカード２１６は、従来のイーサネット（登録商標）カード、あるいはイーサネット（登録商標）、ＩＳＤＮ及び／又はその他のネットワークと通信を行う多目的インターフェースであってもよい。インターネットへの接続は、このネットワークインターフェース２１６を介して行うことができる。
【００１５】
なお、コンピュータ２００は、上述した回路以外の構成要素を備えていてもよい。例えばプリンタやプロッタとのインターフェースをとる入出力ポート、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、その他様々な機能の回路を備えていてもよく、また、様々な回路はなくてもよい。同様に、インターネットへの接続をネットワークインターフェースカードを用いて行うと説明したが、モデムを従来の電話回線に接続し、インターネットサービスプロバイダを介して、インターネットに接続してもよい。このように、コンピュータ２００に関しては、様々な代替例が考えられるが、それら代替例は、当該分野の技術者にとっては明らかである。
【００１６】
また、ＦＩＧ．２に示すように、メモリ２０６には、オペレーティングシステム２２０と、ズーミングエンジン２２２とが記憶される。オペレーティングシステム２２０は、通常、ブート中に、データストレージ装置（例えばハードディスク装置）２０８からメモリ２０６にロードされるプログラムである。オペレーティングシステム２２０は、コンピュータ２００内のアプリケーションと呼ばれる他のプログラムを管理するとともに、直接又はアプリケーションプログラムインターフェースを介してアプリケーションによって用いられる特定のインストラクション及び動作を備えている。また、オペレーティングシステム２２０は、コンピュータ２００に接続されている機器（例えばプリンタ、ディスクドライブ等）の交換を処理したり、メモリ２０６の使用状態を管理したり、あるいはマルチタスク環境における処理リソース（computing resource）の割当を行う。
【００１７】
ズーミングエンジン２２２は、後述するように、ユーザ入力及びシステム入力に基づいてモニタ受像機１３０を更新するためのインストラクションを備えている。ズーミングエンジン２２２は、例えば、ズーミングスペース（zooming space）内に表示される様々なズーミングオブジェクトを管理し、利用可能な表示スペースを判別し、その利用可能な表示スペース内に表示されるズーミングオブジェクトを決定し、ユーザがズーミングスペースを指示することによって生成されるマウス及びキーボードイベント（event）等の様々なイベントに応じてモニタ受像機１３０を更新する。ズーミングエンジン２２２は、ソフトウェアからなることが好ましいが、ズーミングエンジン２２２の全て又は一部は、ハードウェア、ファームウェア、あるいはソフトウェア、ハードウェア及びファームウェアを組み合わせたものであってもよい。
【００１８】
この実施例においては、コンピュータシステム１００は、UNIX（登録商標）、WINDOWS（登録商標）95又はWINDOWS（登録商標）98等の既存のオペレーティングシステムを用い、これらは、メモリ２０６内のオペレーティングシステム２２０の領域に常駐する。本発明を適用したズーミングエンジン２２２は、コンピュータプロセッサ用のインストラクションセットとして実装されるときは、JAVAプログラミング言語によって書かれており、JAVA仮想マシン（JAVA virtual machine）を含むこれらのインストラクションは、コンピュータシステム１００のメモリ２０６内のオペレーティングシステム２２０の領域に常駐している。JAVA仮想マシンは、演算機器用の抽象仕様（abstract specification）であり、JAVAアプリケーションと、JAVAアプリケーションが実行される特定のプラットフォーム（インテル、アップル）との間のインターフェースとして機能する。周知のように、JAVAは、プラットフォームに依存せず、オブジェクト指向プログラミング言語であり、その詳細は、サンマイクロシステムズ社（Sun Micro Systems, Inc.）によって、インターネットウェブサイトに掲載されている。ワールドワイドウェブ（World Wide Web：WWW）におけるサンマイクロシステムズ社のウェブサイトのユニフォームリソースロケータ（Uniform Resource Locator：URL）は、www.java.sun.comであり、JAVA、JAVA開発キット（development kit）及び関連する商品に関する情報も、このウェブサイト内に記載されている。
【００１９】
また、コンピュータシステム１００は、ワールドワイドウェブ又はローカルネットワークとの通信を行うハードウェア及びソフトウェアを備えてもよい。この場合、ソフトウェアは、Netscape Navigator（登録商標）等のJAVAを使用することのできるブラウザを備える。このようなソフトウェアを用いることにより、コンピュータシステム１００は、ネットワークインターフェース２１６を介して、プラットフォームに依存しない言語で書かれたインストラクションを備えるウェブサイトからインストラクションを受信し、受信したインストラクションを実行することができる。
【００２０】
＜ズーミングエンジン＞
ＦＩＧ．３は、本発明に係るビデオズーミング方法を実現するズーミングビデオインターフェース機能を働かせるズーミングエンジン２２２の構成を示すブロック図である。例えば、ズーミングエンジン２２２は、上述したように、オペレーティングシステム２２０によって動作し、ズーミンググラフィカルユーザインターフェース機能を提供するためのＣＰＵ２０２によって実行される様々なインストラクションを含んでいる。
【００２１】
また、ズーミングエンジン２２２は、プラットフォームに依存したインストラクションを含むインストラクションを実行する環境において動作してもよいが、ズーミングエンジン２２２は、通常、プラットフォームに依存しないインストラクションを実行する環境において、仮想マシン３０２上で動作するものであることが好ましい。この実施例においては、ズーミングエンジン２２２は、JAVAプログラミング言語によって書かれており、仮想マシン３０２は、JAVA仮想マシンからなる。ズーミングエンジン２２２とオペレーティングシステム２２０との間には、オペレーティングシステム２２０を用いてレンダリングを行うＯＳレンダリングインターフェース３０４とＯＳビデオインターフェース３０６が設けられている。これらのインターフェース３０４，３０６は、ダイナミックリンクライブラリ（ＤＤＬ）ファイル、及び／又はWINDOWS（登録商標）の環境においてはマイクロソフト社のDirectDraw及びDirectShowのソフトウェア開発キット（software development kit：以下、ＳＤＫという。）等のオペレーティングシステム２２０とインターフェースするための従来の機能を備えている。
【００２２】
ズーミングエンジン２２２は、領域モジュール（universe module）３０８を備え、領域モジュール３０８は、所定のズーミングスペースに対応する最上位（highest level module）のモジュールである。領域モジュール３０８は、ビューモジュール（view module）３１０と、オブジェクト管理モジュール３１２（object manager module）と、イベント管理モジュール（event manager module）３１４とを備える。これらのモジュール３０８〜３１４は、実行時において、それらに関連して記述された様々な機能を実行するインストラクションを含んでいる。これらのモジュール３０８〜３１４（これらのモジュールに直接的又は間接的に関連する付加的なサブモジュール（sub-module））は、ソフトウェアよりなることが好ましいが、これらの機能をハードウェア又はファームウェアを用いて実現してもよい。これらのモジュール３０８〜３１４は、例えば、１つの領域に対して１つだけ生成することができるクラスのインスタンス（instance of a class）用のJAVA単一クラス定義(Java（登録商標） singleton class definition)を用いて実現される。
【００２３】
ＦＩＧ．３に示す領域モジュール３０８及びそのサブモジュールの全ては、１つのズーミングスペースに関連している。複数のズーミングスペースのインスタンスを、自身の領域モジュール３０８とそれに適したサブモジュールからそれぞれなる複数のズーミングスペースを含むマルチバース（multiverse）３２８としてを設けてもよい。
【００２４】
オブジェクト管理モジュール３１２は、ズーミングスペース内の全てのズーミングオブジェクト、すなわちズーミングオブジェクトモジュール３１６（zooming object module）によって定義される円形モジュール（circle module）３１８、矩形モジュール（rectangle module）３２０、テキストモジュール（text module）３２２、ビデオプレーヤモジュール（video player module）３２４等のそのサブクラスモジュールを含むズーミングオブジェクトを制御する。ズーミングオブジェクトモジュール３１６と、各サブクラスモジュール３１８〜３２４との間に示す分岐（branch）は、１対多（one-to-many）の関係を表している。例えば、円形モジュール３１８が複数存在するときは、それぞれの円形モジュール３１８は、スーパークラス（superclass）であるズーミングオブジェクトモジュール３１６の特性を継承している。
【００２５】
ズーミングエンジン２２２は、様々な種類のオペレーティングシステム２２０とインターフェースをとることができる。この実施例においては、グラフィックモジュール３２３は、ズーミングエンジン２２２をＯＳレンダリングインターフェース３０４にインターフェースさせる。同様に、様々なオペレーティングシステムインターフェースに対するポートとして機能する様々な種類のビデオプレーヤモジュール３２４を設けてもよい。
【００２６】
イベント管理モジュール３１４は、ユーザの操作によるマウス／キーボードイベント等のシステムイベント（system event、矢印３３０）に応答するイベントオブジェクト（event object）３２６を生成する。そして、イベントオブジェクト３２６は、イベント処理情報（event handling information）とともに、矢印３３２に示すようにビューモジュール３１０に送られ、及び／又は矢印３３４に示すようにオブジェクトモジュール３１６に送られ、表示が適切に更新される。
【００２７】
ビューモジュール３１０は、オブジェクト管理モジュール３１２からのズーミングオブジェクトに関する情報の要求及び受信（矢印３３６）によって、ズーミングスペース内のズーミングオブジェクトから選択されたズーミングオブジェクトの少なくとも１組を含む。典型的には、ビューモジュール３１０は、これらのズーミングオブジェクトを含み、これらのズーミングオブジェクトは、主ズーミング表示領域（main zooming view）内に存在する。これらのズーミングオブジェクトは、オブジェクト管理モジュール３１２によって用いられる同一のインデックスに結び付けられる。これにより、ビュー内の様々なズーミングオブジェクトを、ビューモジュール３１０内で分離して編成することができ、したがって、ズーミングオブジェクトモジュール３１６を別々に呼び出す必要がなくなる。例えば、ビューモジュール３１０は、矢印３３８に示すように、コマンドを発行し、このコマンドは、オブジェクトモジュール３１６及び幾つかの関連するサブクラスモジュールを介して伝搬し、主ズーミング表示領域内に含まれる多くのズーミングオブジェクトのレンダリングに影響を与える。
【００２８】
個々のズーミングオブジェクト又はズーミングオブジェクトのグループは、互いに独立して、イベント管理モジュール３１４によってズーミングオブジェクトモジュール３１６に直接供給されるイベント情報に応じた更新の対象とされ、レンダリングコマンドは、矢印３４０，３４２，３４４に示すように、各オブジェクトによってより直接的に発行される。このように行われる更新には、例えば、
【００２９】
＜ズーミングスペース＞
ＦＩＧ．４は、ズーミングスペース４０２に含まれる情報を表す様々な幾何学オブジェクトを示す図であり、ズーミングスペース４０２は、ズーミングオブジェクト４０６，４０８，４１０，４１２，４１４を含んでいる。ＦＩＧ．４に示す外枠は、ズーミングスペース４０２を表している。図を簡単にするために、ズーミングスペース４０２の境界を示しているが、ズーミングスペース４０２は、必ずしも境界を有さなくてもよい。ズーミングスペース４０２は、利用可能なビュースペース（available view space）４０４を含んでいる。利用可能なビュースペース４０４は、典型的には、モニタ受像機１３０及びその構成に応じて変化する。したがって、利用可能なビュースペース４０４は、モニタ受像機１３０の最大表示領域であってもよい。また、ズーミングエンジン２２２がオペレーティングシステム２２０と関連して動作する場合、利用可能なビュースペース４０４は、オペレーティングシステム２２０によって提供される特徴（feature）に一致する。例えば、WINDOWS（登録商標）オペレーティングシステム２２０内で開かれているウィンドウの利用可能な表示領域が、利用可能なビュースペース４０４である。したがって、利用可能なビュースペース４０４は、ウィンドウを最大化したり、又はウィンドウのサイドの位置を変える等の従来の制御を用いることにより、変えることができる。
【００３０】
ズーミングスペース４０２内のズーミング可能なオブジェクトには、円４０６、三角形４０８、星形４１０、四角形４１２及びＭＰＥＧビデオ画像４１４が含まれ、このようなオブジェクトは、特定のサイズ、形状及び色彩を有するグラフィカルオブジェクトである。ビデオオブジェクトは、ＭＰＥＧ、ＡＶＩ、ストリーミングビデオ等の標準的なビデオフォーマットからなる。上述したズーミングオブジェクト及びオブジェクトフォーマットは、一具体例であり、これらに限定されるものではない。上述したズーミングオブジェクト及びオブジェクトフォーマットに代えて、他のズーミングオブジェクト及びフォーマットを用いてもよいことは、当該分野の技術者にとっては明らかである。
【００３１】
ズーミングスペース４０２は、全てのズーミングオブジェクト４０６〜４１４を含んでおり、ユーザは、ズーミングスペース４０２を操作している間に、これらのズーミングオブジェクトを見ることができる。なお、利用可能なビュースペース４０４が全体のズーミングスペース４０２を囲むのに十分な大きさを有しないときは、ユーザは、ズーミングオブジェクト４０６〜４１４の全てを同時に見ることができない。例えば、この実施例においては、利用可能なビュースペース４０４には、三角形４０８、円４０６及びＭＰＥＧビデオオブジェクト４１４が含まれるが、他のオブジェクトは、オブジェクトの尺度及びパンされる位置に応じて、見えたり、見えなかったりする。
【００３２】
ユーザは、ズーミングスペース４０２内において、マウス１６０を用いてオブジェクトを選択することにより、グラフィカルオブジェクトと直接対話することができる。この動作により、ズーミングエンジン２２２内でイベントが生成され、利用可能なビュースペース４０４内の見ることができる各オブジェクトに対して交差テスト（intersection test）が開始される。線、矩形又は楕円等の基本的なオブジェクト（primitive object）は、マウスカーソルの下のポイントがオブジェクトの形状と交差するかを調べるための単純な数学的テストを行う。文字枠によって定義されるオブジェクトがマウスカーソルの下のポイントと交差するときは、ユーザは、そのオブジェクトに対して次の操作を行うことができる。ズーミングオブジェクトのクラスは、それ自体の形状を有していないので、文字枠とマウスカーソルの下のポイントとが交差するかを判定するのには、様々な形状の文字枠を選択することができるが、特に、矩形の文字枠を用いることが好ましい。
【００３３】
ユーザは、ズーミングスペース４０２を三次元的に操作することができる。例えば、表示装置の利用可能なビュースペースの二次元面に対応したＸ方向及びＹ方向の移動は、パニングと呼ばれ、これに対して、Ｚ方向の操作は、「ズーミング」と呼ばれる。Ｚ方向（表示画面の中へ又は外へ）の操作によって、利用可能なビュースペース４０４の視点（perspective）が、ズーミングスペース４０２内のズーミングオブジェクトに向かってズームインしたり、又はズーミングオブジェクトからズームアウトするように見える。
【００３４】
表示画面の中へ（＋Ｚ方向）の操作を行うことにより、ズーミングオブジェクトは、見る者に近づくように、すなわちより大きく現れる。この操作を「ズームイン」と呼ぶ。また、この操作により、ズーミングオブジェクトの感知される間隔は増し、これによって、ズーミングオブジェクトは利用可能なビュースペース４０４から外れる。「ズーミングイン」を行うためには、ユーザは、マウスカーソルを用いて、より詳細に詳細に見たい情報をマークするとともに、所望の情報を拡大させる入力装置を操作する。
【００３５】
表示画面の外へ（−Ｚ方向）の操作を行うことにより、ズーミングオブジェクトは、ユーザから遠ざかるように、すなわちより小さく現れる。この操作を「ズームアウト」と呼ぶ。ユーザのズームアウトと同様に、ズーミングオブジェクトの感知される間隔は減少し、新たなズームオブジェクトが利用可能なビュースペース４０４内に入ってくる。「ズームアウト」を行うためには、ユーザは、マウスカーソルを用いて、小さく見たい情報をマークするとともに、所望の情報の大きさを縮小させる操作を行い、それによって、選択された情報のより広範囲な部分が表示される。全てのズーミング操作は、従来の対話形の入力コマンドを用いて行われる。例えば、マウス１６０を左クリックすることにより、ズームインを行い、キーボード１５０のシフトキーを押しながらマウス１６０を左クリックすることにより、ズームアウトを行う。
【００３６】
ＦＩＧ．５Ａ乃至ＦＩＧ．５Ｃは、本発明に基づいて操作されるビデオの表示画像の一例を示す図である。ＦＩＧ．５Ａ乃至ＦＩＧ．５Ｃに示す各画像は、同一のズーミング領域上に表示される。ＦＩＧ．５Ａに示すズーミングビデオ画像（zooming video image）１は、ユーザがビデオファイルを開き、再生したときに表示される画像である。この実施例において、画像の左上にあるメニューの１つをプルダウンし、「再生」を選択することにより、再生コマンドが発行される（なお、このようなメニュープルダウン操作は、当該分野の技術者にとって周知の技術であり、ここでは、その詳細な説明を省略する。）。ＦＩＧ．５Ｂに示すズーミングビデオ画像２は、同じビデオ画像をズームインしたときに表示される画像である。例えば、ユーザは、表示されているビデオ画像の任意の位置にマウスカーソルを置き、マウス１６０を左クリックすることにより、ズームイン機能を実行させる。なお、ズームインされる位置は、マウスカーソルの位置である。ＦＩＧ．５Ｃに示すズーミングビデオ画像３は、同じビデオ画像をズームアウトしたときに表示される画像である。例えば、ユーザは、表示されているビデオ画像の任意の位置にマウスカーソルを置き、シフトキーを押しながらマウス１６０を左クリックすることにより、ズームアウト機能を実行させる。
【００３７】
＜ビデオズーミング方法（zooming video methodology）＞
本発明に係るビデオズーミング方法に基ついて、ビデオ再生ライブラリ（video player library）は、オペレーティングシステム２２０のネイティブコード（native code）に設定され、選択されたビデオファイルは、このビデオ再生ライブラリ内で開かれる。また、ズーミングエンジン２２２は、例えばJAVAプログラミング言語で書かれており、コンピュータ２００内で起動されており、ズーミングエンジン２２２のズーミング領域がコンピュータ２００の表示装置（又は、このような表示装置上のアクティブウィンドウ内）に表示される。この実施例においては、ビデオ再生ライブラリはマイクロソフト社のDirectShowからなり、ビデオファイルフレームは、Microsoft DirectX固有の言語で、DirectDraw surfaceとしてメモリ領域に記憶される。
【００３８】
JAVAに基づくズーミングエンジン２２２において、ズーミングエンジン２２２のＯＳビデオインターフェース３０６を介して、ズーミングビデオオブジェクトに再生が指示されると、ビデオフレームが記憶されるDirectDraw surfaceに関するキャプチャループ（capture loop）を生成するスレッド（thread）が生成され、このスレッドは、ビデオ再生ソフトウェアのネイティブコードに引き継がれる。この実施例においては、ビデオキャプチャは、ビデオストリームのフレームレート（frame rate）で実行され、ビデオフレームは、ループ毎にDirectDraw surfaceにコピーされて、記憶される。そして、コピーされたビデオフレームは、ズーミング領域内のビデオオブジェクトに変換され、このビデオオブジェクトは、ビデオフレームが表示されるズーミング領域内の画面（surface）を表している。従来のコンピュータ入力装置を用いて、ズーミング領域内のビデオオブジェクトを囲む文字枠の寸法及び位置を操作することにより、ビデオオブジェクトを拡大することができ、これにより、再生中のビデオファイルが、パン及び拡大された状態で、ユーザに表示される。なお、ビデオキャプチャループのコピーレートは、基本的には、見る者の目に連続した動きとして感知される視点から選択される。
【００３９】
また、本発明の他の実施例は、テキスト等の他のオブジェクトと重なり合ったビデオオブジェクトのズーミング方法に関する。多くの場合、ユーザは、ビデオオブジェクトの大きさを、対応するテキストオブジェクトをズーミングせずに、ズーミングすることを欲する。ビデオオブジェクトは、フレームレート、例えば１秒間に３０回の割合で、常にリフレッシュされる一方、重なり合っているテキストはリフレッシュされないので、この実施例におけるビデオズーミング方法では、ズーミング領域内にアニメーションが生成され、ビデオオブジェクトが、リフレッシュレートで、「ダメージング（damaging）」される。このようなビデオオブジェクトの「ダメージング」とは、画像を表示装置上で再ペイント（repaint）する動作も含むことを意図するものである。このようにズーミング領域内のビデオオブジェクトにダメージを与えることにより、ビデオオブジェクトを囲む文字枠は常にリフレッシュされるが、そのビデオオブジェクトの上部に他のオブジェクトがある場合、ズーミング領域は、その領域の部分、すなわちビデオオブジェクトをダメージを受けるものと認識して、（ダメージレート）で再ペイントしなくてはならず、ズーミング領域内の全ズーミングオブジェクトの正しいＺ面平面の順番が維持されるように、再ペイントが行われる。
【００４０】
ＦＩＧ．６は、本発明に係るビデオズーミング方法を説明するためのフローチャートである。ＦＩＧ．６に示すように、上述した動作は、境界線６０１を境に、JAVAプログラミング言語を用いて実装されるズーミングエンジン２２２内で実行される機能と、コンピュータシステム１００のオペレーションシステムのネイティブコード（native code）を用いて実行される機能とに分けられる。ズーミングエンジン２２２は、JAVA仮想マシン６００の制御の下で動作し、ズーミングエンジン２２２は、初期ステップとして、ビデオ再生が指示されると、ブロック６０３で示されるズーミングビデオ再生スレッド（zooming video play thread）を起動させる（ステップ６０２）。次のステップにおいて、ズーミングビデオ再生スレッドは、ネイティブコードに引き継がれ（descend）、ネイティブコード内で実行されるビデオストリームからのデータを用いてDirectDraw surfaceを生成するループに送られる（ステップ６０４）。そのネイティブコードのDirectDraw surfaceからのビデオフレームは、ズーミング領域内のビデオオブジェクトを構成するビデオDirectDraw surface６０６にコピーされる。このビデオDirectDraw surface６０６は、ビデオファイルの元の大きさを有している（なお、ＦＩＧ．６において、図を簡単にするために、ビデオDirectDraw surface６０６は、ネイティブコードの一部として図示されているが、実際には、JAVAズーミング領域内のオブジェクトに含まれる。）。ビデオDirectDraw surface６０６のオブジェクトを囲む文字枠の大きさが、（ユーザからの入力により）、ズーミング領域内で縮小又は拡大されると、ビデオオブジェクトをペイントするように要求が発行され、これにより、ズーミング領域内のDirectDraw surfaceの、ズーミングビデオオブジェクトから要求される座標（coordinates）に、ビデオデータがコピーされ（ステップ６０５）、ズーミング領域ディスプレイ（zooming universe display）６０７上に、縮小又は拡大されたビデオ画像（video image）が表示される。
【００４１】
また、ＦＩＧ．６は、上述した他の実施例、すなわちズーミングビデオオブジェクトに、テキストオブジェクト等の他のオブジェクトが重なっていて、この他のオブジェクトを、ビデオオブジェクトと同じリフレッシュレートでリフレッシュする必要がない場合のビデオズーミング方法を、説明するためのフローチャートを示している。ＦＩＧ．６に示すように、新たなスレッドが、ズーミングエンジン２２２によって、ブロック６０９内に示されるズーミングビデオダメージスレッド（zooming video damage thread）として起動される（ステップ６０８）。上述したようなビデオオブジェクトに関するアニメーション効果を実現するために、ズーミングビデオダメージスレッド６０９は、例えば１秒間に３０回の割合で、ズーミングビデオオブジェクト６１１にダメージを与える（ステップ６１０）。このようにズーミングビデオオブジェクトにダメージを与えることによって、ネイティブビデオオブジェクトから、ダメージング毎に、ペイントが要求され（ステップ６１２）、ズーミングされるビデオオブジェクトの座標が、ビデオDirectDraw surface６０６上で再ペイント（repaint）を行うためのペイントプログラムに供給される。このとき、本発明に係る基本的なビデオズーミング方法によれば、このペイント要求により、ビデオデータは、ズーミング領域内のDirectDraw surface上のズーミングビデオオブジェクトの座標にコピーされ（ステップ６０５）、その結果、ズーミング領域ディスプレイ６０７上に、縮小又は拡大されたビデオ画像が表示される。
【００４２】
以上、オペレーティングシステムのネイティブコードを用いて再生されるビデオファイルを、コンピュータ上で動作するズーミング領域に変換し、ビデオファイルの画像を、ユーザによって、ユーザが所望する大きさに拡大又は縮小する方法を説明した。ズーミングエンジンは、変換されたズーミングビデオオブジェクトが拡大及び縮小されるズーミング領域を備え、例えばJAVAプログラミングコードで実現される。また、本発明の他の実施例では、ズーミングビデオオブジェクトに所望のリフレッシュレートでダメージを与えることによって、アニメーションが生成され、ズーミングビデオオブジェクトと、ズーミングビデオオブジェクトの上部に重なるテキストオブジェクト等の他のオブジェクトとの間の適切なＺ面平面の順番が維持される。
【００４３】
以上、本発明に係るビデオズーミング方法及びビデオズーミング方法の具体例を詳述したが、特許請求の範囲に示す本発明の思想を逸脱することなく、上述の実施の形態を様々に変形及び修正することができる。
【図１】
2011141559.tif 000003
【図２】
2011141559.tif 000004
【図３】
2011141559.tif 000005
【図４】
2011141559.tif 000006
【図５Ａ】
2011141559.tif 000007
【図５Ｂ】
2011141559.tif 000008
【図５Ｃ】
2011141559.tif 000009
【図６】
2011141559.tif 000010