(57)【要約】本発明は、カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法であって、カメラ付き携帯電話をコンピュータにおけるビデオ捕獲装置に仮想化するステップＡと、ステップＡでビデオ捕獲装置に仮想化された携帯電話を、コンピュータの当面のビデオ捕獲装置として選択するステップＢと、コンピュータから当面のビデオ捕獲装置とされた携帯電話へビデオデータ獲得命令を送信し、前記携帯電話は、受信した命令に基づいて、ビデオデータを獲得し、無線接続を介してコンピュータに転送するステップＣと、コンピュータが、携帯電話から転送されたビデオデータを受信するステップＤと、を含む方法を提供する。
2008526143.tif 000002
【特許請求の範囲】
【請求項１】
カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法であって、
カメラ付き携帯電話をコンピュータにおけるビデオ捕獲装置に仮想化するステップＡと、
ステップＡでビデオ捕獲装置に仮想化された携帯電話を、コンピュータの当面のビデオ捕獲装置として選択するステップＢと、
コンピュータから当面のビデオ捕獲装置とされた携帯電話へ、ビデオデータ獲得命令を送信し、前記携帯電話は、受信した命令に基づいて、ビデオデータを獲得し、無線接続を介してコンピュータに転送するステップＣと、
コンピュータが、携帯電話から転送されたビデオデータを受信するステップＤと、を含むことを特徴とする方法。
【請求項２】
前記ステップＡが、
カメラ装置の登録を行うための機能関数と、カメラ装置の属性設定・読み出しを行うための機能関数と、カメラ装置の付加／除去を実現するための機能関数と、携帯電話からビデオデータを獲得するための機能関数とを少なくとも含む一つの仮想カメラドライバを設定するステップＡ１と、
ステップＡ１の前記仮想ドライバを実行させ、このプログラム中に提供された関数を利用して、カメラ付き携帯電話をオペレーティングシステムに登録し、このカメラ付き携帯電話に支持されている属性を設定するステップＡ２と、を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記仮想ドライバが、ビデオ・マイクロポートドライバであり、このマイクロポートドライバが、ビデオ・クラスドライバにコールバック・ルーチンを提供する、ここで、ビデオ・クラスドライバは、異なる種類のストリーム装置の一般的特徴を封装して、アプリケーション・プログラムでビデオ捕獲装置を制御・操作するように前記アプリケーション・プログラムに提供する、ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ステップＡ２の前記携帯電話に支持されている属性を設定することが、
カメラ装置の属性設定を行うための機能関数を呼び出して、前記この携帯電話に対して支持されている画像解像度、画像フォーマット、画像圧縮フォーマット、ビデオ符号化フォーマット、及び／或はビデオデータの捕獲周波数を設定することを含む、ことを特徴とする請求項２に記載の方法。
【請求項５】
前記ステップＢが、
前記カメラ装置の付加を実現するための機能関数を呼び出して、この仮想ドライバに対応する携帯電話をコンピュータに付加した後、アプリケーション・プログラムによって、この携帯電話をコンピュータの当面のビデオ捕獲装置として選択することを含む、ことを特徴とする請求項２に記載の方法。
【請求項６】
前記ステップＣが、
コンピュータのアプリケーション・プログラムが、オペレーティングシステムを介して、仮想ドライバへビデオデータを獲得する命令を送信し、また、前記カメラ装置の属性読み出しを行うための機能関数を呼び出して、携帯電話に支持されている属性の中から特定の属性を読み出して、当面のビデオデータを獲得する装置の属性とするステップＣ１と、
前記仮想ドライバが、読み出された当面のビデオデータを獲得する装置の属性に基づいて、ビデオデータを獲得する命令を携帯電話への対応する制御命令に変換した後、コンピュータと携帯電話との間の無線通信を介して、この変換された命令を携帯電話に送信するステップＣ２であって、前記制御命令が当面のビデオデータを獲得する装置の属性を表す、ステップＣ２と、
前記携帯電話が、受信した前記制御命令に基づいて、ビデオデータを獲得する操作を実行するステップＣ３と、
前記仮想ドライバが、コンピュータと携帯電話との間の無線通信を介して、前記携帯電話からビデオデータを獲得するための機能関数を呼び出すことによって、前記携帯電話からビデオデータを獲得して、コンピュータのアプリケーション・プログラムに転送するステップＣ４と、を含むことを特徴とする請求項２に記載の方法。
【請求項７】
ビデオ捕獲装置ごとに別々に一つの独立的メモリブロックを予め割り当てることをさらに含み、
ステップＣ４で、前記仮想ドライバが、ビデオデータをアプリケーション・プログラムに転送することは、
前記仮想ドライバが、前記独立的なメモリブロックに格納されたビデオデータを、仮想ドライバ自体に備えられた読み出し装置を介して、アプリケーション・プログラムにアップロードさせることを含む、ことを特徴とする請求項６に記載の方法。
【請求項８】
前記仮想ドライバが、ビデオデータをアプリケーション・プログラムにアップロードさせる前に、
ビデオデータのフォーマットに対して、フォーマット、及び／或はサイズを含む変換を行うことをさらに含む、ことを特徴とする請求項７に記載の方法。
【請求項９】
前記ステップＣで、前記ビデオデータをコンピュータに転送する前に、転送待ちのビデオデータを圧縮した後、圧縮されたビデオデータをコンピュータへ転送することをさらに含み、
前記ステップＤが、コンピュータが受信した圧縮ビデオデータを原始のビデオデータに還元させることをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ステップＤが、
コンピュータにおけるアプリケーション・プログラムが前記受信したビデオデータをデータ源とし、このビデオデータを再生または格納することをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記アプリケーション・プログラムが、ビデオ・チャット・アプリケーション・プログラムまたはネットワーク会議アプリケーション・プログラムである、ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ステップＤの後、この方法は、
前記カメラ装置の除去を実現するための機能関数を呼び出して、この仮想ドライバに対応する携帯電話をコンピュータから除去することをさらに含む、ことを特徴とする請求項２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ応用技術分野に属し、特に、カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法に関する。
【背景技術】
【０００２】
現在、コンピュータの各種の実際的応用において、カメラが多くの分野に適用されつつある。例えば、カメラによって実時間に画像を獲得可能なので、コンピュータを利用してビデオチャット及びビデオ会議を実現し、またカメラによってコンピュータで周囲環境を実時間監視制御することも可能である。
【０００３】
従来の技術において、カメラは、一つの独立的なビデオ捕獲装置として、コンピュータがカメラからビデオ映像を獲得できるように、ＵＳＢラインを介してコンピュータのＵＳＢインターフェースに挿入される。このため、カメラは単独でコンピュータの１ＵＳＢインターフェースを占用すべきなので、本来非常に限りがあるインターフェース資源がより逼迫される。また、必ずＵＳＢラインを介してコンピュータとカメラとの間の接続を実現しなければならないので、カメラ装置を利用して実際的応用を行うとき、カメラと共にＵＳＢラインを携帯すべきであって、ビデオ捕獲装置に対する要求を増加し、接続に一定の制限を与えた。次に、カメラは一つの独立的なハードウェア装置として、使用者が別途に購買すべきであって、使用者の実際費用が増え、カメラ装置を採用した各種のコンピュータの実際的応用を速やかに推進するに不利である。
【０００４】
しかも、携帯電話は通信機器であって、その機能は通信技術の発展につれて豊かになり、撮影機能を実現する携帯電話が増えつつあるばかりでなく、且つ、一部の携帯電話の画素と解像度もますますより高くなり、ひいては普通のコンピュータのカメラを超えた。しかし、携帯電話のメモリカードの容量には限りがあるため、使用者が撮影したビデオファイルの長さと写真の数が制限されて、携帯電話がビデオ捕獲装置として適用される場合に、一定の容量制限を受ける。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明はこれに鑑みてなされたもので、カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法を提供することを目的とする。これによって、携帯電話をビデオ捕獲装置として利用してビデオデータを捕獲し、且つ上記ビデオデータを無線通信によってコンピュータへ転送することが可能であるので、コンピュータのインターフェース資源を節減し、ビデオ捕獲装置に対する要求、及び接続に対する制限を低くにし、ユーザーの実際費用を節減し、且つ、撮影機能を有する携帯電話は、容量制限を突破して、ビデオデータを獲得する操作をよりよく行うことが可能になる。
【課題を解決するための手段】
【０００６】
上記した目的を達成するために、本発明は、カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法を提供するが、この方法は、
カメラ付き携帯電話をコンピュータにおけるビデオ捕獲装置に仮想化する（as a virtual video capture device）ステップＡと、
ステップＡでビデオ捕獲装置として仮想化された携帯電話を、コンピュータの当面のビデオ捕獲装置として選択するステップＢと、
コンピュータから当面のビデオ捕獲装置とされた携帯電話へビデオデータ獲得命令を送信し、前記携帯電話が、受信した命令に基づいて、ビデオデータを獲得し、無線接続を介してコンピュータに転送するステップＣと、
コンピュータが、携帯電話から転送されたビデオデータを受信するステップＤと、を含むことを特徴とする方法である。
【０００７】
ここで、ステップＡは、
カメラ装置の登録を行うための機能関数と、カメラ装置属性設定・読み出しを行うための機能関数と、カメラ装置の付加／除去を実現するための機能関数と、携帯電話からビデオデータを獲得するための機能関数とを少なくとも含む一つの仮想カメラドライバを設定するステップＡ１と、
ステップＡ１の前記仮想ドライバを実行させ、このプログラム中に提供された関数を利用して、カメラ付き携帯電話をオペレーティングシステムに登録し、このカメラ付き携帯電話に支持されている属性を設定するステップＡ２と、を含む。
【０００８】
ここで、前記仮想ドライバは、ビデオ・マイクロポートドライバであり、このマイクロポートドライバが、ビデオ・クラスドライバにコールバック・ルーチンを提供し、ここで、ビデオ・クラスドライバは、異なる種類のストリーム装置の一般的特徴を封装して、アプリケーション・プログラムでビデオ捕獲装置を制御・操作するように前記アプリケーション・プログラムに提供する。
【０００９】
ここで、ステップＡ２の前記携帯電話に支持されている属性を設定することは、
カメラ装置の属性設定を行うための機能関数を呼び出して、前記この携帯電話に対して、支持されている画像解像度、画像フォーマット、画像圧縮フォーマット、ビデオ符号化フォーマット、及び／或はビデオデータの捕獲周波数を設定することを含む。
【００１０】
ここで、ステップＢは、
前記カメラ装置の付加を実現するための機能関数を呼び出して、この仮想ドライバに対応する携帯電話をコンピュータに付加した後、アプリケーション・プログラムによって、この携帯電話をコンピュータの当面のビデオ捕獲装置として選択することを含む。
【００１１】
ここで、ステップＣは、
コンピュータのアプリケーション・プログラムが、オペレーティングシステムを介して、カメラドライバへビデオデータを獲得する命令を送信し、また、前記カメラ装置の属性読み出しを行うための機能関数を呼び出して、携帯電話に支持されている属性の中から特定の属性を読み出して、当面のビデオデータを獲得する装置の属性とするステップＣ１と、
仮想ドライバが、読み出された当面のビデオデータを獲得する装置の属性に基づいて、ビデオデータを獲得する命令を携帯電話への対応する制御命令に変換した後、コンピュータと携帯電話との間の無線通信を介して、この変換された命令を携帯電話に送信するステップＣ２であって、前記制御命令が当面のビデオデータを獲得する装置の属性を表す、ステップＣ２と、
携帯電話が、受信した前記制御命令に基づいて、ビデオデータを獲得する操作を実行するステップＣ３と、
仮想ドライバが、コンピュータと携帯電話との間の無線通信を介して、前記携帯電話からビデオデータを獲得するための機能関数を呼び出すことによって、携帯電話からビデオデータを獲得して、コンピュータのアプリケーション・プログラムに転送するステップＣ４と、を含む。
【００１２】
ここで、この方法は、ビデオ捕獲装置ごとに別々に一つの独立的メモリブロックを予め割り当てることをさらに含み、
ステップＣ４で、前記仮想ドライバがビデオデータをアプリケーション・プログラムに転送することは、
仮想ドライバが、前記独立的なメモリブロックに格納されたビデオデータを、仮想ドライバ自体に備えている読み出し装置を介して、アプリケーション・プログラムにアップロードさせることを含む。
【００１３】
ここで、前記方法は、仮想ドライバが、ビデオデータをアプリケーション・プログラムにアップロードさせる前に、
ビデオデータのフォーマットに対して、フォーマット、及び／或はサイズを含む変換を行うことをさらに含む。
【００１４】
ここで、前記方法は、ステップＣで、前記ビデオデータをコンピュータに転送する前に、
転送待ちのビデオデータを圧縮した後、圧縮されたビデオデータをコンピュータへ転送することをさらに含み、
ステップＤは、コンピュータが受信した圧縮ビデオデータを原始のビデオデータに還元させることをさらに含む。
【００１５】
ここで、ステップＤが、
コンピュータにおけるアプリケーション・プログラムが前記受信したビデオデータをデータ源とし、このビデオデータを再生または格納することをさらに含む。
【００１６】
ここで、前記アプリケーション・プログラムは、ビデオ・チャット・アプリケーション・プログラムまたはネットワーク会議アプリケーション・プログラムである。
【００１７】
この方法は、
前記カメラ装置の除去を実現するための機能関数を呼び出して、この仮想ドライバに対応する携帯電話をコンピュータから除去することをさらに含む。
【発明の効果】
【００１８】
本発明は下記の有益な効果がある。
【００１９】
（１）本発明によれば、携帯電話とコンピュータとの間の無線通信を介して、携帯電話によって獲得されたビデオデータをコンピュータに転送することで、コンピュータのポート資源を節減させることができる。
【００２０】
（２）本発明によれば、携帯電話をカメラ装置として用いることから、一つの専用カメラ装置を購買する所要費用を節減させることができ、また、携帯電話は、専用カメラより便利に使用でき、必ずしもＵＳＢライン用意して携帯電話とコンピュータを接続する必要がなく、無線通信方式を利用してビデオデータの転送を実現することができるので、接続方式がより自由になる。
【００２１】
（３）本発明によれば、携帯電話によって獲得されたビデオデータをコンピュータに格納するので、携帯電話で写真を撮る場合または撮影する場合にメモリカードの容量の少ない欠陥を補うことが可能であり、携帯電話がビデオの応用を行うとき受けられる容量制限を破ることが可能である。
【発明を実施するための最良の形態】
【００２２】
本発明は、カメラ付き携帯電話をコンピュータのカメラとして用いて、ビデオデータを獲得する方法であって、この方法では、撮影機能を有する携帯電話を一つのカメラ装置に仮想化してコンピュータに登録させ、且つ、この携帯電話に対して、ビデオデータを獲得するに関する属性を設定した後、この登録された携帯電話をカメラ装置として選択し、仮想化した結果と設定された相関属性を利用して、この携帯電話がビデオを獲得する操作を行うことを制御・操作し、獲得されたビデオデータを無線通信によってコンピュータに転送し、コンピュータがこのデータを処理した後、受信されたビデオデータを格納または表示することによって、携帯電話をカメラ装置に仮想化する機能を実現して、対応する操作を完成するようにする。
【００２３】
以下、本発明について、図面を結合して詳細に説明する。
【００２４】
図１を参照すれば、本発明を実現するには、以下のステップを実行する必要がある。
【００２５】
ステップ１０１：カメラ付き携帯電話をコンピュータにおけるビデオ捕獲装置に仮想化する。
【００２６】
ステップ１０２：ステップ１０１においてビデオ捕獲装置として扱った携帯電話を、コンピュータの当面のビデオ捕獲装置として選択する。
【００２７】
ステップ１０３：コンピュータから当面のビデオ捕獲装置である携帯電話へ、ビデオデータ獲得命令を送信し、この携帯電話が受信された命令に基づいてビデオデータを獲得し無線接続を介してコンピュータに転送する。
【００２８】
ステップ１０４：コンピュータが携帯電話からのビデオデータを受信して、このビデオデータをデータ源として、格納または再生するようにアプリケーション・プログラムに提供する。
【００２９】
以下、具体例を結合し図面を参照しながら、以上のステップの具体的実現を詳細に説明する。
【００３０】
図２は一実施例において、カメラ付き携帯電話で具体的応用を行うモジュール構成図である。この具体的応用において、コンピュータ側には通常、アプリケーション・プログラム、オペレーティングシステム、及び仮想カメラドライバを含んでいるが、本実施例では、仮想カメラドライバは、オペレーティングシステムにカメラ装置に関する各種属性及び操作を提供するためのものである。初期化のとき、このカメラドライバは、オペレーティングシステムに登録され、且つカメラ装置の属性設定を完成することで、カメラ付き携帯電話をカメラ装置に仮想化することを実現する。実際の実行過程において、アプリケーション・プログラムはオペレーティングシステムを介して、カメラ装置に仮想化された携帯電話を当面のカメラ装置とした後、仮想カメラドライバから提供された各操作機能を利用して、無線通信モジュールを介して、対応する制御命令を携帯電話側に送信することで、携帯電話でビデオデータを獲得することに対する制御を実現し、且つ、仮想カメラドライバから提供された操作機能をさらに利用して、無線通信モジュールを介して携帯電話側からビデオデータを受信し、このビデオデータに対して、例えば圧縮、フォーマット変換のような処理を行った後、アプリケーション・プログラムへ転送して実際的応用を行う。
【００３１】
さらに、カメラ付き携帯電話側には、通常、無線通信モジュール、制御操作モジュール及びカメラ付き携帯電話機器自体を含み、無線通信モジュールを介して、コンピュータとの両方向通信を実現することで、コンピュータから送信された制御命令を受信し、且つコンピュータへ携帯電話の獲得したビデオデータを送信する。制御操作モジュールは、受信した制御命令に基づいて、カメラ付き携帯電話を、ビデオデータを獲得する操作を実行するように制御する。カメラ付き携帯電話は、実際的にビデオデータを獲得するためのものである。
【００３２】
以下、図２に示すモジュールの構成を例とし、具体的な一実施例を結合して、本発明を実現する具体的フローを説明する。図３を参照すれば、この具体的な実施例は、下記のステップを含む。
【００３３】
ステップ３０１：カメラ装置の登録を行うための機能関数と、カメラ装置の属性設定・読み出しを行うための機能関数と、カメラ装置の付加／除去を実現するための機能関数と、携帯電話からビデオデータを獲得するための機能関数とを少なくとも含む一つの仮想カメラドライバを設定する。
【００３４】
ここで、Windowsオペレーティングシステムにおいて、各種のビデオ捕獲装置はストリーム装置であって、オペレーティングシステムは、これらのストリーム装置に一つの汎用のビデオ・クラスドライバ(class driver)を提供し、このプログラムをStream.sysファイルに格納することで、このプログラム中にこれらのストリーム装置の一般特徴を封装して、アプリケーション・プログラムに前記ビデオ捕獲装置を制御・操作できるように提供する。そして、各種類のビデオ捕獲装置に対しては、それぞれ具体的なビデオ・マイクロポート(micro port)ドライバを有し、このマイクロポートドライバが、前記クラスドライバにコールバック・ルーチン(callback routine)を提供することで、各々の種類のビデオ捕獲装置の特性操作を実現する。このため、本発明の実施例では、カメラ付き携帯電話に対して一つのマイクロポートドライバを設計し、且つ、このプログラムに以上の各機能関数を含ませることで、カメラドライバの設定を実現することができる。本実施例において、このマイクロドライバは下記の機能関数を含む。
【００３５】
（１）駆動エントリ関数：ビデオ・クラスドライバが、マイクロポートドライバを呼び出すことができるように、ビデオ・クラスドライバにこのビデオ・マイクロポート・ドライバを登録することで、このエントリ関数を、ビデオ・クラスドライバがビデオ・マイクロポートドライバを呼び出すエントリにする。この関数についての具体的な説明は、下記のとおりである。
【００３６】
関数名：DriverEntry
【００３７】
入力パラメータ：DriverObject,RegistryPath
【００３８】
出力パラメータ：登録結果をリターンする。
【００３９】
この関数において、その呼び出しのために、一つのハードウェア初期化データ構造HW_INITIALIZATION_DATA  HwInitDataを宣言し、このHwInitData中に処理要求に関する関数のアドレスと、ハードウェアに関するいくつかのパラメータを書き入れた後、HwInitDataをパラメータとして用いて、ビデオ・クラスドライバのStreamClassRegisterAdapter()関数を呼び出して登録する。
【００４０】
説明：駆動エントリ関数は、HwInitData中書き入れた処理要求に関する関数のアドレスと、ハードウェアに関するいくつかのパラメータによって、ビデオ・クラスドライバのStreamClassRegisterAdapter()関数を呼び出して、登録機能を完成する。
【００４１】
（２）装置属性設定関数及び装置属性読み出し関数：ここで、装置属性設定関数が初期化されるとき、ビデオ捕獲装置に支持されている属性を設定する。装置属性読み出し関数は、ビデオデータを獲得するときの必要に応じて、このビデオ捕獲装置に支持されている属性から特定の属性を読み出して、このビデオ捕獲装置が当面のビデオデータを獲得する時の属性にする。
【００４２】
ここで、前記カメラ装置属性は、画像解像度、画像フォーマット、画像圧縮フォーマット、ビデオ符号化フォーマット、及び／或はビデオデータの捕獲周波数を含むが、本発明の他の実施例では、その他の属性を含んでもよく、本発明の実現に影響を及ぼすことはない。
【００４３】
装置属性設定関数についての具体的な説明は下記のとおりである。
【００４４】
関数名：VideoSetFormat
【００４５】
説明：一つのビデオ・ストリームのフォーマットを設定して、ストリームが最初オープンされるとき、このような操作を行う。
【００４６】
入力パラメータ：
この装置に支持されているビデオ映像の幅、
この装置に支持されているビデオ映像の高さ、
この装置に支持されているビデオ映像画素のバイト数、
この装置に支持されているビデオサイズ、このパラメータは320×240、640×480、1024×768の中から選択され、デフォルト値は320×240である。
【００４７】
この装置に支持されている画素のビット数について、ここで、パラメータ１は８ビットの画素を代表し、２は１６ビットの画素を代表し、３は２４ビットの画素を代表しているが、このパラメータのデフォルト値は３である。
【００４８】
出力パラメータ：このビデオフォーマットが設定可能であると、TRUEをリターンし、そうではなければFALSEをリターンする。
【００４９】
このVideoSetFormat関数によって、このビデオ捕獲装置は、最大サイズを1024×768とし、最小サイズを160×120とし、支持する画素のビット数は8bit、16bit、24bitとして設定することができる。
【００５０】
装置属性読み出し関数についての具体的な説明は下記のとおりである。
【００５１】
関数名：VideoGetProperty
【００５２】
説明：ビデオ属性要求を処理する関数である。
【００５３】
入力パラメータ：ｐSrbは、属性設定のビデオ要求パッケージを指して、結果をこの構造に格納してリターンする。
【００５４】
出力パラメータ：成功または失敗。
【００５５】
ここで、関数VideoSetFormatの機能は、装置属性を設定することであり、これに対応する関数VideoGetPropertyは、装置の各種の装置属性の値の範囲を取得するためのものである。設定関数の機能は、各種の装置属性の値の範囲内で一つの値を設定することであるが、例えばこの装置に支持されるビデオサイズの値の範囲は、320×240、640×480、1024×768であって、装置関数を呼び出す場合には、320×240をパラメータとすることが可能であり、当面の装置のビデオサイズであるこの属性の値は、320×240であることを表す。
【００５６】
（３）装置付加・除去関数：この関数は、カメラ装置をコンピュータから付加・除去すること実現する。この関数は具体的に、
【００５７】
関数名：VCamInit
【００５８】
説明：初期化するとき、カメラ装置をコンピュータに付加する。
【００５９】
入力パラメータ：なし。
【００６０】
出力：成功または失敗コード
【００６１】
を含み、さらに、
【００６２】
関数名：VCamFinish
【００６３】
説明：コンピュータからカメラ装置を除去する機能をする。
【００６４】
入力パラメータ：なし。
【００６５】
出力：成功または失敗コード。
【００６６】
を含む。
【００６７】
（４）ビデオデータ獲得関数：この関数は、カメラ付き携帯電話を制御するためのものであり、設定されたビデオ装置が当面ビデオデータを獲得する属性に従って、携帯電話からビデオデータを獲得する。この関数についての具体的な説明は下記のとおりである。
【００６８】
関数名：VideoCaptureRoutine
【００６９】
説明：１フレーム画像を獲得する。
【００７０】
入力パラメータ：pStrmExは、ビデオ・ストリームの拡張構造を指す。
【００７１】
出力パラメータ：なし。
【００７２】
以上は、ステップ３０１において前記一つの仮想カメラドライバを設定する具体的実現であり、以下、図３を再参照しながら、この具体的実施例について説明し続ける。
【００７３】
ステップ３０２〜ステップ３０３：ステップ３０１の前記仮想ドライバを実行させて、オペレーティングシステムにカメラ付き携帯電話を登録した後、このカメラ付き携帯電話に支持されている属性を設定する。本発明の実施例では、初期化の時、DriverEntry関数を呼び出して、ビデオ・マイクロポートプログラムをビデオ・クラスドライバに登録することによって、ステップ３０２を実現することが可能であり、VideoSetFormat関数を呼び出すことによって、ステップ３０３を実現することができる。
【００７４】
ステップ３０４：この仮想ドライバが提供する機能関数を利用して、この仮想ドライバに対応するカメラ付き携帯電話をコンピュータに付加した後、アプリケーション・プログラムは、この携帯電話をコンピュータの当面のビデオ捕獲装置として選択する。ここで、カメラ付き携帯電話を付加するステップは、上記のようなVcamInit関数を呼び出すことで実現することができる。
【００７５】
ステップ３０５：アプリケーション・プログラムは、オペレーティングシステムを介して、仮想ドライバへビデオデータ獲得命令を送信し、且つ、携帯電話に支持されている属性から特定の属性を読み出して、当面のビデオデータを獲得する装置の属性とする。ここで、アプリケーション・プログラムは、上記VideoSetProperty関数を呼び出すことで、当面のビデオデータの装置属性を設定することができる。
【００７６】
ステップ３０６：仮想ドライバは、アプリケーション・プログラムからのビデオデータ獲得命令を受信した後、読み出した当面のビデオデータを獲得する装置属性に基づいて、ビデオデータ獲得命令を携帯電話への対応する制御命令に変換した後、コンピュータと携帯電話との間の無線通信を介して、この変換された命令を携帯電話に送信する。ここで、この制御命令にVideoSetProperty関数を呼び出して取得した設定結果を具体的に表している。
【００７７】
ステップ３０７：携帯電話の制御モジュールは、無線通信モジュールからコンピュータからの制御命令を受信して、この命令に基づきビデオデータを獲得する操作を実行する。
【００７８】
ステップ３０８：仮想ドライバは、コンピュータと携帯電話との間の無線通信を介して、携帯電話からビデオデータを獲得する。本発明の実施例では、上記VideoCaptureRoutine関数を呼び出すことで、ステップ３０８を実現することができる。
【００７９】
ステップ３０９：仮想ドライバは、自身が有している読み出し装置のルーチンを呼び出して、携帯電話によって獲得されたビデオデータを上位層のアプリケーション・プログラムに伝送して、このアプリケーションの使用に提供する。ここで、仮想ドライバは、携帯電話からビデオデータを獲得した後、このデータをコンピュータのメモリに格納するが、携帯電話側から伝送されたビデオデータを格納するために、クラスドライバからビデオ捕獲装置ごとに一つの独立的メモリブロックを割り当てる。このメモリブロックは、1024×768×3＋sizeof（BITMAPINFOHEADER）サイズのバイト配列を定義することで、各ビデオ捕獲装置がそれぞれ独立的なメモリユニットを有するようにする。携帯電話からのビデオデータは、ビットマップ情報と共に、ビットマップデータをこのメモリエリアにコーピーし、仮想ドライバは、ユーザーが要求する採取フォーマット及びこのメモリエリアにおけるビットマップフォーマットに基づいて、このビデオデータに対して、フォーマット、及び／或はサイズを含む変換を行った後、この適当なフォーマット、及び／或はサイズのビデオデータを上位層のアプリケーションに提供して使用されるようにし、上位層のアプリケーションは、このビデオデータを再生してもよいし、このビデオデータをハードディスクに格納してもよい。
【００８０】
以上に述べたものは、本発明の具体的な一実施例であって、ここで、ビデオデータを無線通信を介して携帯電話からコンピュータに転送する過程において、まず、ビデオデータを、例えばMJPEGフォーマットに圧縮した後、圧縮されたビデオデータを無線通信を介してコンピュータに転送することで、無線通信の帯域幅を節減して、この技術の具体的応用に有利であり、コンピュータは、圧縮されたビデオデータを受信した後、このデータを解凍（decompress）して、最初のビデオデータに還元する。
【００８１】
本発明では、上位層のアプリケーションは、ビデオチャットアプリケーション・プログラム又はネットワーク会議のアプリケーション・プログラムであってもよいが、その他のビデオデータを用いるアプリケーションを本発明のアプリケーション・プログラムとしても、本発明の実現に影響を及ぼすことはない。
【００８２】
本発明の実施例では、アプリケーション・プログラムの実行が完了された後、仮想ドライバ中のカメラ装置を除去するための関数を呼び出すことで、カメラとしての携帯電話をコンピュータから除去することができる。
【００８３】
以上に述べたものは、本発明の好ましい実施例に過ぎず、本発明を限定するものではない。本発明の精神と原則内にあるものであれば、いかなる修正、均等交換、改良等があっても、本発明の保護範囲内に含まれるべきである。
【図面の簡単な説明】
【００８４】
【図１】本発明を実現するフローチャートである。
【図２】本発明の一実施例のモジュール構成図である。
【図３】本発明の一実施例のフローチャートである。
【図１】
2008526143.tif 000003
【図２】
2008526143.tif 000004
【図３】
2008526143.tif 000005
【国際調査報告】
2008526143.tif 000006
2008526143.tif 000007
2008526143.tif 000008
2008526143.tif 000009