IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特許7521168カメラ制御方法およびシステム、ならびに電子デバイス
<>
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図1
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図2
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図3A
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図3B
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図4A
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図4B
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図5A
  • 特許-カメラ制御方法およびシステム、ならびに電子デバイス 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】カメラ制御方法およびシステム、ならびに電子デバイス
(51)【国際特許分類】
   H04N 23/66 20230101AFI20240717BHJP
   G03B 17/56 20210101ALI20240717BHJP
   H04N 5/222 20060101ALI20240717BHJP
   H04N 23/60 20230101ALI20240717BHJP
【FI】
H04N23/66
G03B17/56 A
H04N5/222 100
H04N23/60 300
【請求項の数】 13
(21)【出願番号】P 2022564093
(86)(22)【出願日】2021-03-30
(65)【公表番号】
(43)【公表日】2023-05-31
(86)【国際出願番号】 CN2021083773
(87)【国際公開番号】W WO2021218527
(87)【国際公開日】2021-11-04
【審査請求日】2022-11-28
(31)【優先権主張番号】202010340544.8
(32)【優先日】2020-04-26
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202010690972.3
(32)【優先日】2020-07-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】エルブイ、フェイ
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2019-161507(JP,A)
【文献】中国特許出願公開第108924290(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/66
G03B 17/56
H04N 5/222
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
電子デバイスに適用されるカメラ制御方法であって、前記電子デバイスは表示装置、撮影装置、前記撮影装置を上昇または退避させるよう構成される昇降装置、および、前記表示装置と前記撮影装置との間に存在する第1チャネル及び第2チャネルを含み、前記表示装置と前記撮影装置との間に前記第1チャネルを通じて継続的接続が維持され、前記カメラ制御方法は、
前記撮影装置によって、前記第1チャネルまたは前記第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオン命令を受信する段階であって、前記第1アプリケーションは前記電子デバイス上で実行するアプリケーションであり、前記第2チャネルは、前記表示装置と前記撮影装置との間のチャネルであり、前記第1ストリームオン命令は、イメージを収集するよう、および、収集された前記イメージを前記第1アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオン命令を受信した後、前記撮影装置によって、前記第1チャネルを通じて第1ストリームオン状態を前記表示装置におけるプロキシモジュールに報告する段階と、
前記表示装置における前記プロキシモジュールによって、前記第1ストリームオン状態に基づいて、前記撮影装置を上昇させるよう前記昇降装置を制御する段階と、
上昇した後の前記撮影装置によって、イメージを収集することを開始し、前記第2チャネルを通じて、収集された前記イメージを前記第1アプリケーションに出力する段階であって、上昇するとき、前記撮影装置は、イメージを収集でき、退避するとき、前記撮影装置は、イメージのキャプチャを中止する、段階と
を備えるカメラ制御方法。
【請求項2】
上昇した後の前記撮影装置がイメージの収集を開始した後に、前記カメラ制御方法は更に、
前記撮影装置によって、前記第1チャネルまたは前記第2チャネルを通じて、前記第1アプリケーションによってトリガされた第1ストリームオフ命令を受信する段階であって、前記第1ストリームオフ命令は、イメージを収集することを中止するよう、および、収集された前記イメージを前記第1アプリケーションへ出力することを中止するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第1ストリームオフ状態を前記プロキシモジュールに報告する段階と、
前記プロキシモジュールによって、前記第1ストリームオフ状態に基づいて、前記撮影装置を退避するよう前記昇降装置を制御する段階と
を備える、請求項1に記載のカメラ制御方法。
【請求項3】
上昇した後の前記撮影装置によって、イメージの収集を開始し、前記第2チャネルを通じて、収集された前記イメージを前記第1アプリケーションへ出力するプロセスにおいて、前記カメラ制御方法は更に、
前記撮影装置を使用する必要がある第2アプリケーションを起動する段階であって、前記第2アプリケーションは、前記電子デバイス上で実行するアプリケーションである、段階と、
前記第2アプリケーションの起動に応答して、前記第1アプリケーションを閉じるか、または、前記第1アプリケーションをバックグラウンドに切り替えて実行する段階と、
前記撮影装置によって、前記第1チャネルまたは前記第2チャネルを通じて、前記第1アプリケーションによってトリガされる第1ストリームオフ命令を受信する段階であって、前記第1ストリームオフ命令は、イメージの収集を中止するよう、および、前記第1アプリケーションへの収集された前記イメージの出力を中止するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第1ストリームオフ状態を前記プロキシモジュールに報告する段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第2チャネルを通じて、予め設定された冗長時間内に、前記第2アプリケーションによってトリガされた第2ストリームオン命令を受信する段階であって、前記第2ストリームオン命令は、イメージを収集するよう、および、収集された前記イメージを前記第2アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記第2ストリームオン命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第2ストリームオン状態を前記プロキシモジュールに報告する段階と、
前記第1ストリームオフ状態および前記第2ストリームオン状態が前記予め設定された冗長時間内に連続的に受信されたと前記プロキシモジュールが決定した場合、前記プロキシモジュールによって、前記第1ストリームオフ状態および前記第2ストリームオン状態を破棄する段階であって、前記プロキシモジュールは、前記第1ストリームオフ状態および前記第2ストリームオン状態に基づいて、前記撮影装置を上昇または退避させるように前記昇降装置を制御しない、段階と
を備え、
前記第1アプリケーションおよび前記第2アプリケーションは非バックグラウンド常駐アプリケーションであり、前記非バックグラウンド常駐アプリケーションは、フォアグラウンドにおいて実行しているときに前記撮影装置によって収集されたイメージを使用し、前記バックグラウンドにおいて実行しているときに前記撮影装置によって収集された前記イメージを使用しないアプリケーションである、
請求項1または2に記載のカメラ制御方法。
【請求項4】
前記第1アプリケーションはバックグラウンド常駐アプリケーションであり、前記バックグラウンド常駐アプリケーションは、前記電子デバイスのバックグラウンドで実行し、かつ、前記撮影装置によって収集されたイメージを使用するアプリケーションであり、前記バックグラウンド常駐アプリケーションが前記撮影装置によって収集された前記イメージを使用するとき、収集された前記イメージは、前記表示装置に表示されず、
前記第1ストリームオン命令は、イメージを収集し、収集された前記イメージを前記第1アプリケーションに出力するよう前記撮影装置に命令するために使用される命令、および、前記第1アプリケーションがバックグラウンド常駐アプリケーションであることを示すために使用される識別子を含み、
上昇した後の前記撮影装置によってイメージを収集することを開始した後に、前記カメラ制御方法は更に、
前記撮影装置を使用する必要がある第2アプリケーションを起動する段階であって、前記第2アプリケーションは、前記電子デバイス上で実行する非バックグラウンド常駐アプリケーションである、段階と、
前記撮影装置によって、前記第2チャネルを通じて、前記第2アプリケーションによってトリガされる第2ストリームオン命令を受信する段階であって、前記第2ストリームオン命令は、イメージの収集を開始するよう、および、収集された前記イメージを前記第2アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記撮影装置によって、前記第1ストリームオン命令における前記識別子、および、前記第2ストリームオン命令に基づいて、前記第2ストリームオン命令に従って、ストリームオン状態を前記プロキシモジュールへ送信することをスキップする段階と、
前記第2アプリケーションが閉じられる、または、前記バックグラウンドに切り替えられるとき、前記撮影装置によって、前記第2チャネルを通じて、前記第2アプリケーションによってトリガされる第2ストリームオフ命令を受信する段階であって、前記第2ストリームオフ命令は、イメージの収集を中止するよう、および、前記第2アプリケーションへの収集された前記イメージの出力を中止するよう前記撮影装置に命令するために使用される、段階と、
前記撮影装置によって、前記第1ストリームオン命令における前記識別子、および、前記第2ストリームオフ命令に基づいて、前記第2ストリームオフ命令に従って、ストリームオフ状態を前記プロキシモジュールへ送信することをスキップする段階と、
前記第2アプリケーションを起動してから、前記第2アプリケーションを閉じる、または、前記第2アプリケーションを前記バックグラウンドに切り替えるプロセスにおいて、前記撮影装置によって、前記第1チャネルおよび前記第2チャネルを通じて、収集された前記イメージを前記第1アプリケーションおよび前記第2アプリケーションに出力する段階と
を備える、請求項1または2に記載のカメラ制御方法。
【請求項5】
前記第1チャネルは、リモートネットワークのドライバインタフェース仕様(RNDIS)プロトコルを使用し、前記第2チャネルはUSBビデオクラスUVCプロトコルを使用する、請求項1から4のいずれか一項に記載のカメラ制御方法。
【請求項6】
前記継続的接続は、前記RNDISプロトコルを使用することによって確立されたソケット継続的接続である、請求項5に記載のカメラ制御方法。
【請求項7】
前記カメラ制御方法は更に、
前記継続的接続が中断された場合に、前記表示装置と前記撮影装置との間の前記継続的接続を再確立する段階を備える、請求項1から6のいずれか一項に記載のカメラ制御方法。
【請求項8】
前記カメラ制御方法は更に、
前記表示装置が起動された後に、前記第1チャネルを通じて、前記表示装置と前記撮影装置との間に前記継続的接続を確立する段階を備える、請求項1から7のいずれか一項に記載のカメラ制御方法。
【請求項9】
前記カメラ制御方法は更に、
前記表示装置が前記撮影装置との前記継続的接続を確立した後に、前記撮影装置によって、前記第1チャネルを通じて、現在のストリームオン/オフ状態を前記プロキシモジュールに報告する段階と、
前記プロキシモジュールによって、前記ストリームオン/オフ状態に基づいて、上昇または退避させるよう前記撮影装置を制御する段階を備える、請求項8に記載のカメラ制御方法。
【請求項10】
前記電子デバイスは、大画面デバイスまたはスマートテレビであり、
前記表示装置は、ディスプレイ画面およびコントローラを含み、
前記撮影装置はカメラであり、または、
前記昇降装置はモータを含む、
請求項1から9のいずれか一項に記載のカメラ制御方法。
【請求項11】
表示装置、撮影装置、および、前記撮影装置を上昇または退避させるよう構成される昇降装置を備える電子デバイスであって、第1チャネルを通じて、前記表示装置と前記撮影装置との間に継続的接続が維持され、前記表示装置、前記撮影装置、および前記昇降装置は互いに協働し、前記電子デバイスは、請求項1から10のいずれか一項に記載のカメラ制御方法を実行する、電子デバイス。
【請求項12】
プログラム命令を含むコンピュータ可読記憶媒体であって、前記プログラム命令がコンピュータデバイス上で実行されるとき、前記コンピュータデバイスは、請求項1から10のいずれか一項に記載のカメラ制御方法を実行することが可能である、コンピュータ可読記憶媒体。
【請求項13】
コンピュータデバイスに、請求項1から10のいずれか一項に記載のカメラ制御方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、参照によって全体が本明細書に組み込まれる、「端末カメラ制御方法、システム、および端末デバイス」と題する、2020年4月26日に中国国家知識産権局に出願された中国特許出願第CN202010340544.8号、および、「カメラ制御方法およびシステム、ならびに電子デバイス」と題する、2020年7月17日に中国国家知識産権局に出願された中国特許出願第CN202010690972.3号に対する優先権を主張する。
【0002】
本願は、モバイル通信技術、特に、カメラ制御方法およびシステム、ならびに電子デバイスの分野に関する。
【背景技術】
【0003】
現在、大画面デバイスには通常、カメラが設けられ、カメラは昇降コンポーネント上に設置される。大画面デバイス(略して大画面と称される)は、昇降コンポーネントの上昇または下降を制御することによって、カメラの上昇または退避を制御する。大画面デバイスは、直観カラーテレビまたは背後投影テレビにおける大画面、例えば、大画面LEDディスプレイまたは大画面LCDディスプレイである。通常、大画面デバイスの対角サイズは40インチより大きい。以下において、昇降コンポーネントはモータとも称される。
【0004】
大画面のカメラは、USB(Universal Serial Bus、ユニバーサルシリアルバス)を通じてメインボードに接続され、外部USBカメラと類似している。大画面およびカメラは2つの異なるシステムである。
【0005】
カメラがイメージを収集する必要があるとき、大画面は、カメラを上昇させる必要がある。カメラの動作が停止した、すなわち、イメージの収集を停止したとき大画面はカメラを退避させる。
【0006】
現在、大画面は、以下の方式でイメージを収集するようカメラを制御する。
【0007】
1.アプリケーションが、Android(登録商標)(Androidモバイルフォンオペレーティングシステム)ネイティブカメラ(camera)インタフェースを通じて、カメラを有効化または無効化する(すなわち、上昇または退避するようカメラを制御する)。ネイティブカメラインタフェースは、標準UVC(USB Video-Class、USBビデオ仕様)プロトコルを使用し得る。
【0008】
2.アプリケーションは、カメラの動的パラメータを調節でき、かつ、大画面のためにカスタマイズされる高速インタフェースを通じて、カメラを有効化または無効化する(すなわち、上昇または退避するようカメラを制御する)。このインタフェースはまた、UVCプロトコルを使用でき、UVCプロトコルは拡張される。
【0009】
従来技術において、異なるアプリケーションは、異なるインタフェースまたは異なるモジュールを通じて、上昇または退避するようカメラを制御し得る。カメラを使用する2つのアプリケーション間で迅速に切り替えるシナリオにおいて、カメラは、繰り返し上昇および退避し得る。例えば、アプリケーションAがデータを収集するためにカメラを使用するとき、ユーザはアプリケーションBを起動し、起動されたアプリケーションBも、データを収集するためにカメラを使用する必要がある。この場合、アプリケーションAはまず、インタフェースまたはモジュールを通じて、退避するようカメラを制御し、アプリケーションBは次に、別のインタフェースまたは別のモジュールを通じて、上昇するようカメラを制御する。その結果、カメラは上昇および退避を繰り返す。
【発明の概要】
【0010】
これに鑑み、本願の実施形態は、カメラ制御方法およびシステム、ならびに電子デバイスを提供して、従来技術における、カメラを使用する複数のアプリケーション間の迅速な切り替えのシナリオにおいてカメラが上昇および退避を繰り返すという技術的問題を解決する。
【0011】
第1態様によれば、本願の実施形態は、電子デバイスに適用されるカメラ制御方法を提供する。電子デバイスは、表示装置、撮影装置、および、撮影装置を上昇または退避させるよう構成される昇降装置を備え、表示装置と撮影装置との間に、第1チャネルを通じて継続的接続が維持され、方法は、撮影装置が、第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされる第1ストリームオン命令を受信する段階であって、第1アプリケーションは、電子デバイス上で実行するアプリケーションであり、第2チャネルは、表示装置と撮影装置との間のチャネルであり、第1ストリームオン命令は、イメージを収集して収集イメージを第1アプリケーションに出力するよう撮影装置に命令するために使用される、段階を備える。第1ストリームオン命令を受信した後、撮影装置は、第1チャネルを通じて、第1ストリームオン状態を表示装置におけるプロキシモジュールに報告する。表示装置におけるプロキシモジュールは、第1ストリームオン状態に基づいて、撮影装置を上昇するよう昇降装置を制御する。上昇した後、撮影装置は、イメージの収集を開始し、第2チャネルを通じて収集イメージを第1アプリケーションに出力する。上昇しているとき、撮影装置は、イメージを収集でき、退避しているとき、撮影装置は、イメージの収集を中止する。
【0012】
可能な実装において、撮影装置が上昇し、イメージの収集を開始した後、方法は更に、撮影装置が、第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオフ命令を受信する段階であって、第1ストリームオフ命令は、イメージの収集を中止するよう、および、収集イメージを第1アプリケーションに出力するのを中止するよう撮影装置に命令するために使用される、段階を備える。第1ストリームオフ命令を受信した後、撮影装置は、第1チャネルを通じて、第1ストリームオフ状態をプロキシモジュールに報告する。プロキシモジュールは、第1ストリームオフ状態に基づいて、撮影装置を退避させるよう昇降装置を制御する。
【0013】
可能な実装では、撮影装置が上昇し、イメージの収集を開始し、第2チャネルを通じて収集イメージを第1アプリケーションに出力するプロセスにおいて、方法は更に、撮影装置を使用する必要がある第2アプリケーションが起動される段階であって、第2アプリケーションは、電子デバイス上で実行するアプリケーションである、段階を備える。第2アプリケーションの起動に応答して、第1アプリケーションは閉じられるか、または、バックグラウンドに切り替えられる。撮影装置は、第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオフ命令を受信し、第1ストリームオフ命令は、イメージの収集を中止するよう、および、収集イメージを第1アプリケーションに出力するのを中止するよう撮影装置に命令するために使用される。第1ストリームオフ命令を受信した後、撮影装置は、第1チャネルを通じて、第1ストリームオフ状態をプロキシモジュールに報告する。第1ストリームオフ命令を受信した後に、撮影装置は、予め設定された冗長時間内に第2チャネルを通じて、第2アプリケーションによってトリガされる第2ストリームオン命令を受信し、第2ストリームオン命令は、イメージを収集して収集イメージを第2アプリケーションに出力するよう撮影装置に命令するために使用される。第2ストリームオン命令を受信した後に、撮影装置は、第1チャネルを通じて第2ストリームオン状態をプロキシモジュールに報告する。第1ストリームオフ状態および第2ストリームオン状態が、予め設定された冗長時間内に連続的に受信されたとプロキシモジュールが決定した場合、プロキシモジュールは、第1ストリームオフ状態および第2ストリームオン状態を破棄し、プロキシモジュールは、第1ストリームオフ状態および第2ストリームオン状態に基づいて、撮影装置を上昇または退避させるよう昇降装置を制御しない。第1アプリケーションおよび第2アプリケーションは非バックグラウンド常駐アプリケーションであり、非バックグラウンド常駐アプリケーションは、フォアグラウンドで実行しているとき撮影装置によって収集されたイメージを使用し、バックグラウンドで実行しているとき撮影装置によって収集されたイメージを使用しないアプリケーションである。
【0014】
可能な実装において、第1アプリケーションはバックグラウンド常駐アプリケーションであり、バックグラウンド常駐アプリケーションは、電子デバイスのバックグラウンドで実行し、かつ、撮影装置によって収集されたイメージを使用するアプリケーションである。バックグラウンド常駐アプリケーションが、撮影装置によって収集されたイメージを使用するとき、収集イメージは表示装置上に表示されない。第1ストリームオン命令は、イメージを収集し収集イメージを第1アプリケーションに出力するよう撮影装置に命令するために使用される命令、および、第1アプリケーションがバックグラウンド常駐アプリケーションであることを示すために使用される識別子を含む。撮影装置が上昇してイメージの収集を開始した後に、方法は更に、撮影装置を使用する必要がある第2アプリケーションが起動される段階であって、第2アプリケーションは、電子デバイス上で実行する非バックグラウンド常駐アプリケーションである、段階を備える。撮影装置は、第2アプリケーションによってトリガされた第2ストリームオン命令を、第2チャネルを通じて受信し、第2ストリームオン命令は、イメージの収集を開始して収集イメージを第2アプリケーションに出力するよう撮影装置に命令するために使用される。撮影装置は、第1ストリームオン命令における識別子および第2ストリームオン命令に基づいて、第2ストリームオン命令に従って、ストリームオン状態をプロキシモジュールへ送信することをスキップする。第2アプリケーションが閉じられる、またはバックグラウンドに切り替えられるとき、撮影装置は、第2チャネルを通じて、第2アプリケーションによってトリガされた第2ストリームオフ命令を受信し、第2ストリームオフ命令は、イメージの収集を中止して第2アプリケーションへの収集イメージの出力を中止するよう撮影装置に命令するために使用される。撮影装置は、第1ストリームオン命令における識別子および第2ストリームオフ命令に基づいて、第2ストリームオフ命令に従って、ストリームオフ状態をプロキシモジュールへ送信することをスキップする。第2アプリケーションを起動してから第2アプリケーションを閉じる、または、第2アプリケーションをバックグラウンドに切り替えるまでのプロセスにおいて、撮影装置は、第1チャネルを通じて、収集イメージを第1アプリケーションおよび第2アプリケーションへ出力する。
【0015】
可能な実装において、第1チャネルは、リモートネットワークのドライバインタフェース仕様RNDISプロトコルを使用し、第2チャネルは、USBビデオクラスUVCプロトコルを使用する。
【0016】
可能な実装において、継続的接続は、RNDISプロトコルを使用することによって確立されたソケットsocket継続的接続である。
【0017】
可能な実装において、方法は更に、継続的接続が中断された場合に、表示装置と撮影装置との間に継続的接続が再確立される段階を備える。
【0018】
可能な実装において、表示装置が起動された後に、第1チャネルを通じて、表示装置と撮影装置との間の継続的接続が確立される。
【0019】
可能な実装において、表示装置が撮影装置との継続的接続を確立した後に、撮影装置は、第1チャネルを通じて、現在のストリームオン/オフ状態をプロキシモジュールに報告し、プロキシモジュールは、ストリームオン/オフ状態に基づいて、上昇または退避するよう撮影装置を制御する。
【0020】
可能な実装において、電子デバイスは、大画面デバイスまたはスマートテレビであり、表示装置は、ディスプレイ画面およびコントローラを含み、撮影装置はカメラであり、または、昇降装置はモータを含む。
【0021】
第2態様によれば、本願の実施形態は、撮影装置を上昇または退避させるよう構成される表示装置、撮影装置、および昇降装置を備える電子デバイスを提供し、第1チャネルを通じて、表示装置と撮影装置との間に継続的接続が維持される。表示装置、撮影装置、および昇降装置は互いに協働して、その結果、電子デバイスは、第1態様による方法を実行する。
【0022】
第3態様によれば、本願の実施形態はカメラ制御システムを提供する。装置は記憶媒体および中央処理装置を備え、記憶媒体は不揮発性記憶媒体であり得、記憶媒体はコンピュータ実行可能プログラムを格納する。中央処理装置は不揮発性記憶媒体に接続され、第1態様または第1態様の任意の可能な実装における方法を実装するためにコンピュータ実行可能プログラムを実行する。
【0023】
第4態様によれば、本願の実施形態は、カメラ制御システムを提供し、装置は電子デバイスに含まれる。装置は、第1態様および可能な設計による任意の方法における電子デバイスの挙動を実装する機能を有する。この機能は、ハードウェアで実装されてもよく、または、対応するソフトウェアを実行するハードウェアで実装されてもよい。ハードウェアまたはソフトウェアは、上記の機能に対応する少なくとも1つのモジュールまたはユニットを含む。
【0024】
第5態様によれば、本願の本実施形態はチップを提供する。チップは、プロセッサと、データインタフェースとを備える。プロセッサは、データインタフェースを通じて、メモリに格納された命令を読み取り、第1態様、または、第1態様における可能な実装のいずれか1つによる方法を実行する。
【0025】
任意選択的に、ある実装において、チップはメモリを更に含み得る。メモリは命令を格納する。プロセッサは、メモリに格納される命令を実行するように構成される。命令が実行されるとき、プロセッサは、第1態様、または、第1態様の可能な実装のいずれか1つによる方法を実行するよう構成される。
【0026】
第6態様によれば、本願の実施形態は、プログラム命令を含むコンピュータ可読記憶媒体を提供する。プログラム命令がコンピュータデバイス上で実行するとき、コンピュータデバイスは、第1態様、または、第1態様の可能な実装のいずれか1つにおいて説明される方法を実行することが可能である。
【0027】
第7態様によれば、本願の実施形態はコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で実行するとき、コンピュータは、上記の態様の任意の可能な設計における電子デバイスによって実行されるカメラ制御方法を実行することが可能である。
【0028】
従来技術と比較して、技術的解決手段は、少なくとも以下の有利な効果を有する。
【0029】
本願の実施形態において開示されるカメラ制御方法およびシステム、ならびに電子デバイスによれば、カメラの上昇または退避は、カメラのストリームオン状態に関連付けられ、上昇または下降させるようモータを制御するためにオペレーティングシステムのネイティブカメラインタフェースを呼び出す必要がなく、アプリケーションは、モータを呼び出すために追加のロジックを必要とせず、その結果、カメラの上昇または退避を制御するために呼び出されるモジュールが少なくなり、時系列制御が単純になる。加えて、カメラが無効化された後に使用される冗長制御ロジックが追加され、その結果、複数のアプリケーション間での切り替中にカメラの上昇および退避を繰り返すという問題を回避できる。
【図面の簡単な説明】
【0030】
図1】本願の実施形態1による電子デバイスの構造の概略図である。
【0031】
図2】本願の実施形態1によるカメラ制御システムのモジュールの概略図である。
【0032】
図3A】本願の実施形態3によるカメラ制御方法の概略フローチャートである。
図3B】本願の実施形態3によるカメラ制御方法の概略フローチャートである。
【0033】
図4A】本願の実施形態4によるカメラ制御方法の概略フローチャートである。
図4B】本願の実施形態4によるカメラ制御方法の概略フローチャートである。
【0034】
図5A】本願の実施形態5によるカメラ制御方法の概略フローチャートである。
図5B】本願の実施形態5によるカメラ制御方法の概略フローチャートである。
【0035】
参照番号:
1 表示装置
11 プロキシモジュール/カメラプロキシモジュール
111 制御ユニット
112 送信ユニット
113 受信ユニット
114 モニタリングユニット
2 撮影装置
21 カメラ
22 ストリームオン/オフ検出モジュール
23 情報送信モジュール
24 情報受信モジュール
3 昇降装置
31 モータ
32 エレベータ
【発明を実施するための形態】
【0036】
本願の実施形態で用いられる用語は、単に特定の実施形態の説明を目的としたものに過ぎず、本願の限定を意図するものではない。本願の実施形態および添付の特許請求の範囲において使用される単数形の用語「ある」、「上記」、および「前記」は、文脈上明確な別段の定めが無い限り、複数形も含むことが意図される。
[実施形態1]
【0037】
図1および図2に示されるように、本願の実施形態1は電子デバイスを開示する。電子デバイスは、表示装置1、撮影装置2、および昇降装置3を含む。
【0038】
表示装置1はプロキシモジュール11を有し、プロキシモジュール11はカメラプロキシモジュール(camera proxy module)11である。カメラプロキシモジュール11は、制御ユニット111、送信ユニット112、受信ユニット113およびモニタリングユニット114を含み得る。撮影装置2は、カメラ21、ストリームオン/オフ検出モジュール22、情報送信モジュール23および情報受信モジュール24を含む。昇降装置3は、モータ31によって制御されるエレベータ32を含む。
【0039】
表示装置1は、USB(Universal Serial Bus、ユニバーサルシリアルバス)ケーブルを通じて撮影装置2に接続される。撮影装置2は、昇降装置3に機械的に接続される。
【0040】
カメラ制御の観点から、電子デバイスは、カメラ制御システムを含み得る。カメラ制御システムは、表示装置1に位置するプロキシモジュール11、ストリームオン/オフ検出モジュール22、情報送信モジュール23、撮影装置2に位置する情報受信モジュール24、および、昇降装置3に位置するモータ31を含み得る。
【0041】
表示装置1は、液晶ディスプレイ、LED画面(Light Emitting Diode、発光ダイオード画面)、およびAMOLED画面(Active Matrix/Organic Light Emitting Diode、アクティブマトリクス有機発光ダイオード画面)などのイメージ表示コンポーネントを含み得る。
【0042】
制御ユニット111は、送信ユニット112および受信ユニット113と別々に通信する。制御ユニット111はカメラプロキシモジュール11に統合され得るか、または、カメラプロキシモジュール11の外に位置する独立のユニットであり得る。説明および理解を容易にするべく、本明細書において、制御ユニット111がカメラプロキシモジュール11に統合される例が説明のために使用される。UVCプロトコル(USB video class、ユニバーサルシリアルバスビデオクラスプロトコル、USBビデオキャプチャデバイスの標準プロトコルである)およびRNDISプロトコル(Remote Network Driver Interface Specification、リモートネットワークのドライバインタフェース仕様プロトコル)のデュアルプロトコル方式が、撮影装置2における情報受信モジュール24と、送信ユニット112との間の通信、および、撮影装置2における情報送信モジュール23と受信ユニット113との間の通信に使用される。UVCプロトコルおよびRNDISプロトコルは、カメラプロキシモジュール11において統合され、これにより、デュアルドライバがデュアルプロトコル通信を通じて表示装置1のカメラプロキシモジュール11と撮影装置2のカメラ21との間で実装されることを確実にする。これにより、UVCプロトコルのスケーラビリティが低いという短所を補償する。このように、カメラプロキシモジュール11とカメラ21との間の通信のスケーラビリティが改善され、カメラプロキシモジュール11とカメラ21との間で様々な種類のメッセージが伝送され得る。RNDISは、TCP/IP(Transmission Control Protocol/Internet Protocol、伝送制御プロトコル/インターネットプロトコル)over USBであり、すなわち、TCP/IPはUSBデバイス上で実行し、その結果、USBデバイスは、ネットワークアダプタのように見える。このように、カメラプロキシモジュール11は、単純なソケットプログラミングを通じて、TCP/IPプロトコルを使用することによって、カメラ21と通信できる。この場合、ソケットチャネルは、実施形態1におけるRNDISプロトコルの実装である。
【0043】
モニタリングユニット114は、カメラプロキシモジュール11とカメラ21との間の接続が接続されているかどうかをモニタリングするよう構成される。
【0044】
撮影装置2におけるカメラ21は、カメラまたはスキャナなどのイメージキャプチャコンポーネントであり得る。カメラ21は情報受信モジュール24と通信し、情報受信モジュール24は、受信されたストリームオン命令またはストリームオフ命令をカメラ21へ送信する。カメラ21は、命令に基づいて、ストリームオンまたはストリームオフを実行する。ストリームオン/オフ検出モジュール22は、カメラ21のストリームオン/オフ状態をモニタリングするよう構成される。ストリームオン/オフ検出モジュール22は、情報送信モジュール23と通信し、カメラ21のストリームオン状態またはストリームオフ状態を情報送信モジュール23へ送信するよう構成される。情報送信モジュール23は、カメラ21のストリームオン状態またはストリームオフ状態をカメラプロキシモジュール11における受信ユニット113へ送信する。受信ユニット113は、カメラ21のストリームオン状態またはストリームオフ状態を制御ユニット111へ送信し、制御ユニット111は、ストリームオン状態またはストリームオフ状態に基づいて、上昇または下降するようモータ31を制御する。
【0045】
本願の実施形態1における電子デバイスにおいて、電子デバイスがオンになったとき、表示装置1が起動され、カメラプロキシモジュール11のプロセスが開始され、ソケットチャネルを通じてカメラプロキシモジュール11とカメラ21との間で継続的接続が確立される。例えば、カメラプロキシモジュール11は、ソケットチャネルを通じて、カメラ21によって指定されたステータス同期インタフェースに接続され、それにより継続的接続を確立する。カメラプロキシモジュール11が初めてカメラ21に接続された後、カメラ21は、ストリームオン状態またはストリームオフ状態をカメラプロキシモジュール11に報告し、カメラプロキシモジュール11は、カメラ21によって報告されたストリームオン状態またはストリームオフ状態に基づいて、昇降コンポーネントインタフェースを呼び出し、上昇または下降するようエレベータ32を制御し得る。初めての接続とは、表示装置1が初めてオンになったときにカメラプロキシモジュール11とカメラ21との間で確立される接続、および、カメラプロキシモジュール11またはカメラ21が、動作中の例外に起因して切断された後に再接続されるときに確立される接続である。2つの場合、特に、切断後の再接続である第2の場合において、カメラ21は、切断前にストリームオンを実行し得る。この場合、カメラ21は、ストリームオン状態またはストリームオフ状態をカメラプロキシモジュール11に報告する必要があり、これにより、カメラプロキシモジュール11が初めてカメラ21に接続されるときに存在するカメラ21の状態がリセットされることを確実にする。
【0046】
カメラプロキシモジュール11と撮影装置2との間の接続における例外を防止するべく、ソケットチャネルの信頼性は、キープアライブ機構を使用することによって確実にされる必要がある。キープアライブ機構とは、接続が接続されているかどうかをカメラプロキシモジュール11におけるモニタリングユニット114がリアルタイムでモニタリングし、接続例外が見つかったら再接続が実行され、それによりソケットチャネルの安定性を確実にすることを意味する。
【0047】
カメラプロキシモジュール11とカメラ21との間で継続的接続が確立された後、カメラプロキシモジュール11は、カメラ21のストリームオン/オフ状態に基づいて、上昇または下降するようモータ31を制御する。
【0048】
電子デバイスがカメラを使用することによってイメージを収集する必要があるとき、カメラプロキシモジュール11または別のモジュールは、UVCチャネルまたはソケットチャネルを通じて、撮影装置2における情報受信モジュール24へストリームオン命令を送信する。情報受信モジュール24は、ストリームオン命令をカメラ21に通知し、カメラ21はビデオストリームオンを実行する。次に、ストリームオン/オフ検出モジュール22は、カメラ21がストリームオンを実行していることを検出し、カメラ21のストリームオン状態を情報送信モジュール23へ送信する。情報送信モジュール23は、ソケットチャネル(ソケット継続的接続)を通じて、ストリームオン状態をカメラプロキシモジュール11における受信ユニット113へ送信する。受信ユニット113は、カメラ21のストリームオン状態を制御ユニット111へ送信し、制御ユニット111は、ストリームオン状態に基づいて、エレベータ32を動作させるようモータ31を制御し、それによりカメラ21を上昇させる。電子デバイスがイメージを収集する必要がないとき、カメラプロキシモジュール11または別のモジュールは、UVCチャネルまたはソケットチャネルを通じて、ストリームオフ命令を撮影装置2における情報受信モジュール24へ送信する。情報受信モジュール24は、ストリームオフ命令をカメラ21に通知し、カメラ21はビデオストリームオフを実行する。次に、ストリームオン/オフ検出モジュール22は、カメラ21がストリームオフを実行していることを検出し、カメラ21のストリームオフ状態を情報送信モジュール23へ送信する。情報送信モジュール23は、ソケットチャネルを通じて、ストリームオフ状態をカメラプロキシモジュール11における受信ユニット113へ送信する。受信ユニット113は、カメラ21のストリームオフ状態を制御ユニット111へ送信し、制御ユニット111は、ストリームオン状態に基づいて、エレベータ32を動作させるようモータ31を制御し、それによりカメラ21を退避させる。
【0049】
本願の実施形態1における電子デバイスによれば、カメラ21がビデオストリームオンまたはストリームオフを実行した後に、カメラプロキシモジュール11と撮影装置2との間の2回の通信を通じて、モータ31の上昇または下降が制御され、モータ31の上昇または下降は、カメラ21のストリームオン状態またはストリームオフ状態に基づいて決定される。これは、撮影装置2を上昇または退避させるためにモータ31を呼び出すときに従来の電子デバイスがオペレーティングシステムにおけるカメラインタフェース(camera interface)を呼び出す必要があるときに使用される方法と異なる。本願の実施形態1による電子デバイスにおいて、ネイティブカメラインタフェースモジュール、拡張インタフェースモジュール、または、カメラのストリームオンまたはストリームオフを制御する別のモジュールは、カメラのストリームオンまたはストリームオフを制御することのみを担当し得、モータ上昇または下降ロジックをモニタリングする必要はない。代わりに、撮影装置2におけるモジュール(例えばストリームオン/オフ検出モジュール22)は、カメラ21のビデオストリームオンまたはストリームオフをモニタリングするために使用され、これにより、上昇または下降するようにモータ31を均一に制御する。すなわち、モータ31の上昇または下降は、カメラ21のビデオストリームオンまたはストリームオフに関連付けられる。これにより時系列制御ロジックを単純化する。
【0050】
複数のアプリケーション間で迅速に切り替えるシナリオにおいて、すなわち、アプリケーションAが起動され、カメラ21を使用し、ユーザが(例えば、音声制御を通じて)アプリケーションBを起動し、アプリケーションBがカメラ21を使用するシナリオにおいて、冗長制御ロジックがカメラプロキシモジュール11または撮影装置2に追加され得、時間冗長性が設定される。時間冗長性は、実際の要件に基づいて調節され得、例えば、500msに設定される。時間冗長性がカメラプロキシモジュール11に追加される場合、時間冗長性の範囲内において、カメラプロキシモジュール11がストリームオフメッセージおよびストリームオンメッセージを連続的に受信した場合、具体的には、カメラプロキシモジュール11が、ストリームオフメッセージを受信し、次に、500ms以内にストリームオンメッセージを受信した場合、カメラプロキシモジュール11は、ストリームオフメッセージおよびストリームオンメッセージに基づいて、下降してから上昇するようモータ3を制御することなく、モータを上昇させ続ける。具体的な実装において、カメラプロキシモジュールは、時間冗長性の範囲内にあるストリームオフメッセージおよびストリームオンメッセージを破棄する。時間冗長性が撮影装置2に追加される場合、時間冗長性範囲内において、カメラ21がストリームオフおよびストリームオンを実行することをストリームオン/オフ検出モジュール22が連続的に検出し、かつ、カメラ21がまだストリームオン状態にあることをストリームオン/オフ検出モジュール22が決定する場合、カメラ21のストリームオフ状態およびストリームオン状態は、連続的にカメラプロキシモジュール11に報告されない。
【0051】
バックグラウンド常駐アプリケーションがカメラ21を使用しているときにフォアグラウンド非常駐アプリケーションがカメラ21を使用するシナリオにおいて、ユーザがフォアグラウンド非常駐アプリケーションを開くとき、カメラ21は上昇させられる。冗長制御に起因して、カメラ21は上昇を続ける。ユーザがフォアグラウンド非常駐アプリケーションを閉じるとき、バックグラウンド常駐アプリケーションがカメラ21を使用していない場合、カメラ21は、カメラ21がストリームオフ状態にあることをカメラプロキシモジュール11に報告する。ユーザがフォアグラウンド非常駐アプリケーションを閉じるとき、バックグラウンド常駐アプリケーションがまだカメラ21を使用している場合、カメラ21は、カメラ21がまだストリームオン状態にあると決定する。この場合、カメラ21は、ストリームオフ状態をカメラプロキシに報告せず、したがって、カメラ21は退避されない。この場合、表示装置1におけるモニタリングユニット114は、現在のフォアグラウンド非常駐アプリケーションが閉じられた後に、別のバックグラウンド常駐アプリケーションがカメラ21を使用する必要があるかどうかをモニタリングするために使用され得る。別のバックグラウンド常駐アプリケーションがカメラ21を使用する必要がある場合、カメラ21は、ストリームオン状態をカメラプロキシモジュール11に報告しない。カメラプロキシモジュール11は、再び上昇するようモータ31を制御する必要はない。代替的に、バックグラウンド常駐アプリケーションがカメラの使用を開始するとき、カメラによって受信されたストリームオン制御コマンドは、バックグラウンド常駐アプリケーションの識別子を保持し、カメラは、バックグラウンド常駐アプリケーションの識別子を保持するストリームオフ制御コマンドをカメラが受信したときのみストリームオフを実行する。他の場合、カメラは、ストリームオン状態を維持する。本願の本実施形態において、バックグラウンド常駐アプリケーションがカメラを使用することは、アプリケーションがバックグラウンドで実行し、カメラを使用することによってビデオストリームを収集する必要があるが、ビデオストリームは表示インタフェース上に表示されないことがあり得ることを意味する。
【0052】
本願の実施形態1における電子デバイスによれば、オペレーティングシステムのネイティブカメラインタフェースを呼び出す必要はなく、または、モータ31の上昇を制御するためにカメラインタフェースを呼び出すためのロジックを時系列制御に書き込む必要はない。代わりに、カメラ21のストリームオン/オフ状態は、モータ31の上昇または下降に関連付けられる。これにより、上昇または下降させるためにモータ31を呼び出すためのモジュールを低減し、時系列制御を単純化する。加えて、複数のアプリケーション間で迅速に切り替えるシナリオにおいて、モータ31は、上昇および下降を繰り返さず、フォアグラウンドアプリケーションおよびバックグラウンドアプリケーションが交互にカメラ21を使用するシナリオにおいて、モータ31の上昇または下降が混乱しない。
【0053】
本願の本実施形態において提供される大画面デバイスにおいて、表示装置はUSBを通じてカメラ(撮影装置)に接続される。2つの仮想伝送プロトコルチャネル、例えば、第1伝送プロトコルチャネルおよび第2伝送プロトコルチャネルが表示装置とカメラとの間で確立され、異なるタイプまたは異なる内容のデータを伝送するために使用される。
【0054】
第1伝送プロトコルチャネルは、例えば、非ビデオデータを伝送するために使用されるリモートネットワークのドライバインタフェース仕様(remote network driver interface specification, RNDIS)チャネルであり得る。RNDISは通信プロトコルであり、USBを通じたTCP/IPプロトコルスイート(TCP/IP protocol suite)接続などのイーサネット(登録商標)接続を実装できる。TCP/IPプロトコルによれば、RNDISは、ソケットプログラミングインタフェースを使用できる。ソケットプログラミングインタフェースの軽量性および優れたポータビリティなどの長所を利用することによって、RNDISは、表示装置とカメラとの間で、信頼でき、安定的で、効率的な伝送能力を提供し得る。これは非ビデオデータの伝送に好適である。例えば、本願の本実施形態において、カメラは、RNDISチャネル(ソケットチャネル)を通じてストリームオン/オフ状態をカメラプロキシに報告し得るか、または、いくつかのアプリケーションは、RNDISチャネルを通じて、ストリームオン/オフ命令をカメラへ送信し得る。
【0055】
第2伝送プロトコルチャネルは、例えば、USBビデオクラス(USB video class, UVC)チャネルであり得、ビデオデータを伝送するために使用されか、または、各アプリケーションによって送信されたストリームオン/オフ命令を、インタフェースを通じてカメラへ伝送するために使用され得る。UVCは、ビデオ伝送プロトコル規格であり、いかなるドライバもインストールすることなくカメラが表示装置に接続してビデオを伝送することを可能にする。カメラによって収集されたイメージデータは、UVCチャネルを通じて表示装置へ伝送される。
[実施形態2]
【0056】
本願の本実施形態はカメラ制御方法を開示する。本願の実施形態1において開示される電子デバイスにおける表示装置1、撮影装置2、昇降装置3、および、3つの装置における複数のモジュールを含むカメラ制御システムは、本願の実施形態2におけるカメラ制御方法を実行するために使用される。
【0057】
カメラ制御方法は電子デバイスに適用される。電子デバイスにおいて、表示装置1はイメージを表示するよう構成され、撮影装置2は、カメラ21を使用することによってイメージをキャプチャするよう構成され、昇降装置3は、撮影装置2を上昇または退避させるよう構成される。第1チャネルを通じて表示装置1と撮影装置2との間で継続的接続が維持され、方法は、撮影装置2が、第1チャネルまたは第2チャネルを通じて第1アプリケーションによってトリガされた第1ストリームオン命令を受信する段階を備え、第1アプリケーションは、電子デバイス上で実行するアプリケーションであり、第2チャネルは、表示装置1と撮影装置2との間のチャネルであり、第1ストリームオン命令は、イメージを収集して収集イメージを第1アプリケーションに出力するよう撮影装置2に命令するために使用される。第1ストリームオン命令を受信した後、撮影装置2は、第1チャネルを通じて、第1ストリームオン状態を表示装置1におけるプロキシモジュール11に報告する。表示装置1におけるプロキシモジュール11は、第1ストリームオン状態に基づいて、撮影装置2を上昇させるよう昇降装置3を制御する。上昇した後、撮影装置2は、イメージの収集を開始し、第2チャネルを通じて収集イメージを第1アプリケーションに出力する。上昇しているとき、撮影装置2は、イメージを収集でき、退避しているとき、撮影装置2は、イメージの収集を中止する。
【0058】
撮影装置2が上昇し、イメージの収集を開始した後、方法は更に、撮影装置2が、第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオフ命令を受信する段階であって、第1ストリームオフ命令は、イメージの収集を中止するよう、および、収集イメージを第1アプリケーションに出力するのを中止するよう撮影装置2に命令するために使用される、段階を備える。第1ストリームオフ命令を受信した後、撮影装置2は、第1チャネルを通じて、第1ストリームオフ状態をプロキシモジュール11に報告する。プロキシモジュール11は、第1ストリームオフ状態に基づいて、撮影装置2を退避させるよう昇降装置3を制御する。
【0059】
撮影装置2が上昇し、イメージの収集を開始し、第2チャネルを通じて収集イメージを第1アプリケーションに出力するプロセスにおいて、方法は更に、以下の段階、すなわち、撮影装置2を使用する必要がある第2アプリケーションが起動される段階であって、第2アプリケーションは、電子デバイス上で実行するアプリケーションである、段階を備える。第2アプリケーションの起動に応答して、第1アプリケーションは閉じられるか、または、バックグラウンドに切り替えられる。撮影装置2は、第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオフ命令を受信する段階であって、第1ストリームオフ命令は、イメージの収集を中止するよう、および、収集イメージを第1アプリケーションに出力するのを中止するよう撮影装置2に命令するために使用される。第1ストリームオフ命令を受信した後、撮影装置2は、第1チャネルを通じて、第1ストリームオフ状態をプロキシモジュール11に報告する。第1ストリームオフ命令を受信した後に、撮影装置2は、予め設定された冗長時間内に第2チャネルを通じて、第2アプリケーションによってトリガされる第2ストリームオン命令を受信し、第2ストリームオン命令は、イメージを収集して収集イメージを第2アプリケーションに出力するよう撮影装置2に命令するために使用される。第2ストリームオン命令を受信した後に、撮影装置2は、第1チャネルを通じて第2ストリームオン状態をプロキシモジュール11に報告する。第1ストリームオフ状態および第2ストリームオン状態が予め設定された冗長時間内に連続的に受信されたとプロキシモジュール11が決定した場合、プロキシモジュール11は、第1ストリームオフ状態および第2ストリームオン状態を破棄し、プロキシモジュール11は、第1ストリームオフ状態および第2ストリームオン状態に基づいて撮影装置2を上昇または退避させるよう昇降装置3を制御しない。第1アプリケーションおよび第2アプリケーションは非バックグラウンド常駐アプリケーションであり、非バックグラウンド常駐アプリケーションは、フォアグラウンドで実行しているとき撮影装置2によって収集されたイメージを使用し、バックグラウンドで実行しているとき撮影装置2によって収集されたイメージを使用しないアプリケーションである。
【0060】
第1アプリケーションはバックグラウンド常駐アプリケーションであり、バックグラウンド常駐アプリケーションは、電子デバイスのバックグラウンドで実行し、かつ、撮影装置2によって収集されたイメージを使用するアプリケーションである。バックグラウンド常駐アプリケーションが、撮影装置2によって収集されたイメージを使用するとき、収集イメージは表示装置1上に表示されない。第1ストリームオン命令は、イメージを収集し収集イメージを第1アプリケーションに出力するよう撮影装置2に命令するために使用される命令、および、第1アプリケーションがバックグラウンド常駐アプリケーションであることを示すために使用される識別子を含む。撮影装置2が上昇してイメージの収集を開始した後に、方法は更に、撮影装置2を使用する必要がある第2アプリケーションが起動される段階であって、第2アプリケーションは、電子デバイス上で実行する非バックグラウンド常駐アプリケーションである、段階を備える。撮影装置2は、第2アプリケーションによってトリガされた第2ストリームオン命令を、第2チャネルを通じて受信し、第2ストリームオン命令は、イメージの収集を開始して収集イメージを第2アプリケーションに出力するよう撮影装置2に命令するために使用される。撮影装置2は、第1ストリームオン命令における識別子および第2ストリームオン命令に基づいて、第2ストリームオン命令に従って、ストリームオン状態をプロキシモジュール11へ送信することをスキップする。第2アプリケーションが閉じられる、またはバックグラウンドに切り替えられるとき、撮影装置2は、第2チャネルを通じて、第2アプリケーションによってトリガされた第2ストリームオフ命令を受信し、第2ストリームオフ命令は、イメージの収集を中止して第2アプリケーションへの収集イメージの出力を中止するよう撮影装置2に命令するために使用される。撮影装置2は、第1ストリームオン命令における識別子および第2ストリームオフ命令に基づいて、第2ストリームオフ命令に従って、ストリームオフ状態をプロキシモジュール11へ送信することをスキップする。第2アプリケーションを起動してから第2アプリケーションを閉じる、または、第2アプリケーションをバックグラウンドに切り替えるまでのプロセスにおいて、撮影装置2は、第1チャネルを通じて、収集イメージを第1アプリケーションおよび第2アプリケーションへ出力する。
【0061】
本願の本実施形態において開示される方法において、第1チャネルは、リモートネットワークのドライバインタフェース仕様RNDISプロトコルを使用し、第2チャネルはUSBビデオクラスUVCプロトコルを使用する。
【0062】
本願の本実施形態において開示される方法において、継続的接続は、RNDISプロトコルを使用することによって確立されるソケットsocket継続的接続である。表示装置1と撮影装置2との間の継続的接続の安定性を確実にするために、キープアライブ機構が方法に導入される。具体的には、表示装置1と撮影装置2との間の接続ステータスがリアルタイムにモニタリングされる。継続的接続が中断された場合、表示装置1と撮影装置2との間で継続的接続が再確立される。
【0063】
本願の本実施形態において開示される方法において、表示装置1が起動された後に、第1チャネルを通じて表示装置1と撮影装置2との間で継続的接続が確立される。表示装置1が撮影装置2との継続的接続を確立した後に、撮影装置2は、第1チャネルを通じて現在のストリームオン/オフ状態をプロキシモジュール11に報告し、プロキシモジュール11は、ストリームオン/オフ状態に基づいて撮影装置2の上昇または退避を制御する。
【0064】
本願の本実施形態において開示される方法において、電子デバイスは、大画面デバイスまたはスマートテレビであり、表示装置1は、ディスプレイ画面およびコントローラを含み、撮影装置2はカメラ21であり、または、昇降装置3はモータ31を含む。
[実施形態3]
【0065】
図3Aおよび図3Bに示されるように、本願の本実施形態はカメラ制御方法を開示する。本願の実施形態3において開示される電子デバイスにおける表示装置1、撮影装置2、昇降装置3、および、3つの装置における複数のモジュールを含むカメラ制御システムは、本願の実施形態1におけるカメラ制御方法を実行するために使用される。
【0066】
カメラ制御方法は、カメラのストリームオン状態またはストリームオフ状態に基づいて、モータの上昇または退避を制御することを主に決定し、方法は具体的には、以下の段階において実装される。
【0067】
S101:大画面を起動する、すなわち、大画面をオンにする。
【0068】
S102:大画面側のカメラプロキシモジュールのプロセスが開始され、カメラプロキシモジュールは、ソケットチャネルを通じてカメラとの継続的接続を確立する。
【0069】
S103:カメラプロキシモジュールがカメラとの継続的接続を確立した後に、カメラはストリームオン状態またはストリームオフ状態をカメラプロキシモジュールに報告する。
【0070】
S104:カメラプロキシモジュールが制御ユニットを使用して、カメラによって報告されたストリームオン状態またはストリームオフ状態に基づいてエレベータの上昇または下降を制御する。ストリームオン状態は、カメラが、イメージをキャプチャして出力する状態にあることを示し、ストリームオフ状態は、カメラが、イメージをキャプチャも出力もしない状態にあることを示す。カメラがストリームオン状態を報告する場合、カメラプロキシモジュールは、インタフェースを呼び出して、上昇するようエレベータを制御する。カメラがストリームオフ状態を報告する場合、カメラプロキシモジュールは、インタフェースを呼び出し、下降するようエレベータを制御する。カメラが元々退避状態にある場合、カメラプロキシモジュールがインタフェースを通じて、下降するようエレベータを制御するとき、カメラは移動しないことに留意されたい。カメラが元々上昇状態にある場合、カメラプロキシモジュールがインタフェースを通じて、下降するようエレベータを制御するとき、カメラは移動しない。通常、大画面がオンになるとき、カメラはストリームオフ状態にある。
【0071】
カメラプロキシモジュールとカメラとの間の継続的接続は、有効な状態に維持する必要がある。継続的接続が切断された場合、継続的接続は再確立される必要がある。継続的接続が再確立された後に、S103およびS104が更に実行される必要がある。
【0072】
S104の後、カメラの上昇または退避が、ユーザの使用に基づいて制御され得る。
【0073】
S105:ユーザがアプリケーションAを起動してカメラを使用するか、または、アプリケーションAにおけるカメラを使用する機能を有効化する。
【0074】
S106:アプリケーションAが、システムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じて、カメラのストリームオンを制御する、すなわち、ストリームオン命令をカメラへ送信する。ストリームオン命令はUVCプロトコルに従って送信され得る。
【0075】
アプリケーションが、カメラを使用してデータを収集する必要があるとき、アプリケーションは、ストリームオン命令をカメラへ送信して、イメージを収集し収集データをアプリケーションに報告するようカメラに命令することに留意されたい。アプリケーションがそれ以上カメラを使用しないとき、アプリケーションは、ストリームオフ命令をカメラへ送信して、アプリケーションへのイメージデータの送信を中止するようカメラに命令する。
【0076】
S107:ストリームオン命令を受信した後に、カメラはストリームオンを実行し、前に確立されたソケットチャネルを通じてストリームオン状態をカメラプロキシモジュールに報告する。
【0077】
S108:カメラプロキシモジュールが、カメラによって報告されたストリームオン状態に基づいて、カメラを上昇させるようモータを制御する。
【0078】
S109:ユーザがアプリケーションAを閉じるか、または、アプリケーションAにおけるカメラを使用する機能を無効化する。
【0079】
S110:アプリケーションAが、システムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じて、カメラのストリームオンを制御する、すなわち、ストリームオフ命令をカメラへ送信する。ストリームオフ命令がUVCプロトコルに従って送信され得る。
【0080】
S111:ストリームオフ命令を受信した後に、カメラはストリームオンを中止し、前に確立されたソケットチャネルを通じて、ストリームオフ状態をカメラプロキシモジュールに報告する。
【0081】
S112:カメラプロキシモジュールが、カメラによって報告されたストリームオフ状態に基づいて、カメラを退避させるようにモータを制御する。
【0082】
本願の本実施形態において、カメラと大画面側のカメラプロキシモジュールとの間でソケットチャネルを通じて継続的接続が確立される。カメラのストリームオン/オフ状態が変化したとき、カメラはソケットチャネルを通じてカメラプロキシモジュールに通知する。カメラプロキシモジュールは、ストリームオン/オフ状態に基づいて、昇降コンポーネントによって提供されたインタフェースを呼び出し、制御ユニットを使用して、上昇または下降させるようモータを制御し、それにより、上昇または退避するようカメラを正確に制御する。これにより、モータの上昇を呼び出すモジュールを低減し、時系列制御ロジックを単純化する。従来技術において、カメラを使用するとき、異なるアプリケーションは、異なるモジュールまたはプロセスを使用して、カメラの有効化または無効化を制御し、異なるモジュールまたはプロセスを使用して、カメラの上昇または退避を別々に制御し得る。結果として、カメラを上昇または退避させるための時系列制御ロジックが複雑になる。本願の本実施形態において、異なるモジュールまたはプロセスが、カメラの有効化または無効化(すなわち、ストリームオンまたはストリーム無効化)を制御するために使用され得るが、カメラのストリームオン/オフ状態に基づいて、カメラの上昇または退避を制御するために同一のモジュールが使用される。このように、カメラを上昇または退避させるための制御ロジックは単純である。
[実施形態4]
【0083】
図4Aおよび図4Bに示されるように、本願の本実施形態はカメラ制御方法を開示する。図3Aおよび図3Bに示される実施形態と同様に、カメラ制御方法はまた、カメラ制御システムにおけるカメラプロキシモジュールを使用して表示装置、撮影装置、および昇降装置を制御することによって実装される。
【0084】
しかしながら、図3Aおよび図3Bに示される本実施形態における方法との相違点として、本願の本実施形態は更に、従来技術における、(例えば、アプリケーションAが起動されてアプリケーションBが音声によってウェイクアップされたときに)撮影装置を使用する2つのサードパーティのアプリケーションの間で直接的かつ迅速に切り替えるシナリオにおいて撮影装置が上昇および退避を繰り返すという問題を解決する。
【0085】
図4Aおよび図4Bに示されるように、本願の本実施形態において提供される方法は以下の段階を備える。
【0086】
S101~S108:これらの段階についての詳細は、図3Aおよび図3Bに示される実施形態における説明を参照されたい。
【0087】
S209:アプリケーションAがカメラを使用しているとき、ユーザがアプリケーションBを起動するか、または、アプリケーションBにおけるカメラを使用する機能を有効化する。
【0088】
すなわち、アプリケーションを迅速に切り替えるシナリオにおいて、例えば、アプリケーションAがカメラを使用しているとき、ユーザは、キーを押すことによって、音声によって、または、別の方式でアプリケーションBを起動し得る。
【0089】
S210:アプリケーションAがシステムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じて、カメラのストリームオフを制御する、すなわち、ストリームオフ命令をカメラへ送信する。ストリームオフ命令は、UVCプロトコルに従って送信され得る。
【0090】
アプリケーションBが起動されたので、アプリケーションAがバックグラウンドに切り替えられるか、または、アプリケーションAが閉じられる。この場合、アプリケーションAは、ストリームオフ命令をカメラへ送信する必要がある。すなわち、アプリケーションAはそれ以上カメラを使用しない。
【0091】
S211:ストリームオフ命令を受信した後に、カメラはストリームオンを中止し、前に確立されたソケットチャネルを通じて、ストリームオフ状態をカメラプロキシモジュールに報告する。
【0092】
S212:S210の後の短期間、例えば、500ms以内に、アプリケーションBは、システムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じてカメラのストリームオンを制御する、すなわち、ストリームオン命令をカメラへ送信する。ストリームオン命令は、UVCプロトコルに従って送信され得る。
【0093】
S213:S211後の短期間、例えば、500ms以内に、アプリケーションBによって送信されたストリームオン命令を受信した後、カメラはストリームオンを開始し、前に確立されたソケットチャネルを通じてストリームオン状態をカメラプロキシモジュールに報告する。
【0094】
S214:カメラプロキシモジュールが、S211においてカメラによって報告されたストリームオフ状態、および、S213においてカメラによって報告されたストリームオン状態を連続的に受信する。2つの状態が予め設定された冗長時間(例えば500ms)内に連続的に受信されたと決定したとき、カメラプロキシモジュールは、2つの状態に基づいて、上昇または下降するようモータを制御しない。
【0095】
すなわち、ストリームオフ状態およびストリームオン状態が冗長時間内に連続的に受信されたとカメラプロキシモジュールが決定したとき、カメラプロキシモジュールは、上昇または下降するようモータを制御するのではなく、カメラを上昇させ続ける。これにより、カメラの上昇および退避を繰り返すことを回避できる。
【0096】
具体的には、カメラプロキシモジュールは冗長制御ロジックを有する。ストリームオフメッセージ(ストリームオフ状態)を受信後500ms(この時間は調節できる)にストリームオンメッセージ(ストリームオン状態)を受信したとき、カメラプロキシモジュールは、昇降コンポーネントインタフェースを呼び出さないか、または、上昇もしくは下降するようモータを制御しない。
【0097】
代替的な実装の解決手段において、S214における冗長制御ロジックはまた、カメラにおいて構成され得る。カメラが短期間(冗長時間)内にストリームオフおよびストリームオンコマンドを受信した場合、カメラは、ストリームオフ状態をカメラプロキシモジュールに報告する必要がない。この場合、カメラプロキシモジュールは、上昇または下降するようモータを制御しない。具体的には、S211からS214は、S211'によって置き換えられ得る。アプリケーションAによってトリガされたストリームオフ命令を受信した後、カメラは、ストリームオフ状態をカメラプロキシモジュールに報告しない。代わりに、カメラは冗長時間(例えば500ms)待機する。アプリケーションBによってトリガされたストリームオン命令が冗長時間内に受信された場合、カメラは、ストリームオンを維持し、ストリームオフ状態およびストリームオン状態をカメラプロキシモジュールに報告しない。
【0098】
本願の本実施形態において、アプリケーション間で迅速に切り替えるシナリオにおいて、上昇または退避するようカメラを正確に制御できることを確実にできる。これにより、上昇または下降するようモータを呼び出すために使用されるモジュールを低減し、時系列制御ロジックを単純化し、カメラが上昇および退避を繰り返す問題を解決する。
[実施形態5]
【0099】
図5Aおよび図5Bに示されるように、本願の本実施形態はカメラ制御方法を開示する。図3Aおよび図3Bに示される実施形態と同様に、カメラ制御方法はまた、カメラ制御システムにおけるカメラプロキシモジュールを使用して表示装置、撮影装置、および昇降装置を制御することによって実装される。
【0100】
図3Aおよび図3Bに示される実施形態との相違点として、本願の本実施形態は更に、従来技術における、バックグラウンド常駐アプリケーションおよびフォアグラウンドアプリケーションがカメラを使用するときにモータの上昇または下降が混乱し得るという問題を解決できる。従来技術において、バックグラウンド常駐アプリケーションが起動され、ストリームオンのためにカメラを使用するとき、ユーザがフォアグラウンドアプリケーションを起動する場合、フォアグラウンドアプリケーションは、ユーザがフォアグラウンドアプリケーションを閉じるときにカメラを退避させるよう制御する。したがって、バックグラウンド常駐アプリケーションは、カメラを引き続き使用できない。
【0101】
ジェスチャ認識アプリケーションなどのバックグラウンド常駐アプリケーションは、実際には、ビデオをメインボードへ伝送してフォアグラウンドに表示させるためにカメラを必要とせず、ジェスチャ認識などの処理のためにイメージを収集するためだけにカメラを必要とする。この場合、バックグラウンドアプリケーションはカメラを有効化するが、ホームカメラおよびビデオ通話などのフォアグラウンドアプリケーションは依然としてカメラを使用できる。フォアグラウンドアプリケーションがカメラを使用することは、フォアグラウンドアプリケーションがカメラを使用するとき、アプリケーションがビデオストリーム表示のためにフォアグラウンドインタフェースを占有することを意味する。アプリケーションが閉じられるとき、インタフェースは消失し、カメラはそれ以上使用されない。
【0102】
本願の本実施形態における方法の具体的な適用は、バックグラウンド常駐アプリケーションが開始されるときにフォアグラウンドアプリケーションが通常使用されるケースである。この場合の動作プロセスは以下の通りであり、このプロセスは主に、モータの上昇または下降が混乱するという問題を解決する。図5Aおよび図5Bに示されるように、本願の本実施形態において提供される方法は以下を備える。
【0103】
S101~S104:これらの段階の詳細については、図3Aおよび図3Bに示される実施形態における説明を参照されたい。
【0104】
S305:ユーザはバックグラウンド常駐アプリケーションCを起動し、カメラの使用を開始する。
【0105】
S306:バックグラウンド常駐アプリケーションCが、カメラプロキシモジュールにおけるインタフェースを通じてカメラのストリームオンを制御する、すなわち、ストリームオン命令をカメラへ送信する。ストリームオン命令は、UVCプロトコルに従って送信され得るか、または、ソケットチャネルを通じて送信され得る。
【0106】
ストリームオン命令は、ストリームオンを開始するようカメラに命令する命令、および、アプリケーションCがバックグラウンド常駐アプリケーションであることを示す識別子を含む。
【0107】
S307:S306においてストリームオン命令を受信した後、カメラはストリームオンを開始して、前に確立されたソケットチャネルを通じてストリームオン状態をカメラプロキシモジュールに報告する。
【0108】
アプリケーションCはバックグラウンド常駐アプリケーションであるので、カメラによって収集されたイメージは、大画面の表示インタフェース上に表示される必要がない。
【0109】
S308:アプリケーションCが実行している(すなわち、アプリケーションCがカメラを使用している)とき、ユーザはアプリケーションDを起動するか、または、アプリケーションDにおけるカメラを使用する機能を有効化する。
【0110】
S309:アプリケーションDが、システムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じて、カメラのストリームオンを制御する、すなわち、ストリームオン命令をカメラへ送信する。ストリームオン命令は、UVCプロトコルに従って送信され得る。
【0111】
S310:アプリケーションDによって送信されたストリームオン命令を受信した後、カメラは、収集イメージをアプリケーションDへ送信することを開始する。アプリケーションDによって送信されたストリームオン命令を受信するとき、カメラは既にストリームオン状態にあることに留意されたい。したがって、カメラは、ストリームオン状態をカメラプロキシモジュールに報告しないことがあり得る。
【0112】
アプリケーションCはバックグラウンド常駐アプリケーションであるので、アプリケーションDが起動され、カメラを使用するとき、アプリケーションCもカメラのデータを使用する。したがって、アプリケーションDが起動されたとき、アプリケーションCは、ストリームオフ命令をカメラへ送信する必要がない。
【0113】
S311:ユーザがアプリケーションDを閉じるか、または、アプリケーションDにおけるカメラを使用する機能を無効化する。
【0114】
S312:アプリケーションDがシステムネイティブのカメラインタフェース、または、カメラプロキシモジュールにおけるインタフェースを通じて、カメラのストリームオフを制御する、すなわち、ストリームオフ命令をカメラへ送信する。
【0115】
S313:アプリケーションDによって送信されたストリームオフ命令を受信した後、カメラは、収集イメージをアプリケーションDへ送信することを中止する。加えて、カメラは、アプリケーションCが依然としてカメラを使用していること、すなわち、カメラがアプリケーションCによって送信されたストリームオフ命令(バックグラウンド常駐アプリケーションの識別子が保持され得る)を受信していないことを決定する。この場合、カメラは、ストリームオフ状態をカメラプロキシモジュールに報告しない。
【0116】
したがって、アプリケーションDが閉じられるので、カメラプロキシモジュールは、退避するようカメラを制御しない。
【0117】
S313の後に、カメラが、アプリケーションCによって送信されたストリームオフ命令を受信した場合、カメラは、ソケットチャネルを通じて、ストリームオフ状態をカメラプロキシモジュールに報告し、その結果、カメラプロキシモジュールは、退避するようカメラを制御する。
[実施形態6]
【0118】
本願の実施形態6は更に、プロセッサおよびデータインタフェースを含むチップを提供する。プロセッサは、データインタフェースを通じて、メモリに格納された命令を読み取り、本願の実施形態3、実施形態4、および実施形態5に開示される任意の可能な実装におけるカメラ制御方法を実行する。
【0119】
任意選択的に、実装において、チップは更にメモリを含み得る。メモリは命令を格納する。プロセッサは、メモリに格納される命令を実行するように構成される。命令が実行されたとき、プロセッサは、本願の実施形態3、実施形態4、および実施形態5において開示された任意の可能な実装におけるカメラ制御方法を実行するよう構成される。
【0120】
従来技術と比較して、技術的解決手段は、少なくとも以下の有益な効果を有する。
【0121】
本願の実施形態において開示されるカメラ制御方法およびシステム、ならびに電子デバイスによれば、複数のアプリケーション間で迅速に切り替るシナリオにおいてモータが上昇および下降を繰り返すという問題を解決でき、一方で、モータを上昇または下降させるために呼び出されるモジュールが少なくなり、時系列制御のステップが単純化される。これにより更に、フォアグラウンドアプリケーションおよびバックグラウンドアプリケーションが交互に使用されるときにモータの上昇または下降が混乱し得るという問題を解決する。
【0122】
前述の実施形態のすべてまたはいくつかは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することにより実装され得る。これらの実施形態を実装するためにソフトウェアが用いられる場合、これらの実施形態の全てまたはいくつかは、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は1または複数のコンピュータ命令を含む。コンピュータ上でコンピュータプログラム命令がロードおよび実行されると、本願に係る手順または機能が全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラム可能型装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光学ファイバ、またはデジタル加入者線)または無線(例えば、赤外線、無線およびマイクロ波)方式において、ウェブサイト、コンピュータ、サーバまたはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタへ伝送され得る。コンピュータ可読記憶媒体は、コンピュータからアクセス可能な任意の使用可能な媒体、または、1または複数の使用可能な媒体を統合するサーバまたはデータセンタなどのデータ記憶デバイスであってよい。使用可能な媒体は、磁気媒体(例えば、フロッピディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、または半導体媒体(例えば、ソリッドステートドライブ(Solid State Disk)などであり得る。
【0123】
上記の実施形態において、プロセッサは、例えば、中央処理装置(central processing unit、CPU)、マイクロプロセッサ、マイクロコントローラ、またはデジタル信号プロセッサを含み得、更に、GPU、NPU、およびISPを含み得る。プロセッサは更に、必要なハードウェアアクセラレータ、またはロジック処理ハードウェア回路、例えば、特定用途向け集積回路(application-specific integrated circuit, ASIC)、または、本願における技術的解決手段を実行するようにプログラムを制御するよう構成される1または複数の集積回路を含み得る。更に、プロセッサは、1または複数のソフトウェアプログラムを動作させる機能を有してよく、ソフトウェアプログラムは、メモリに格納されてよい。
【0124】
メモリは、リードオンリメモリ(read-only memory、ROM)、スタティック情報および命令を格納できる別のタイプのスタティックストレージデバイス、または、ランダムアクセスメモリ(random access memory、RAM)、または、情報および命令を格納できる別のタイプのダイナミックストレージデバイスであり得るか、または、電気的消去可能プログラマブルリードオンリメモリ(electrically erasable programmable read-only memory, EEPROM)、コンパクトディスクリードオンリメモリ(compact disc read-only memory, CD-ROM)、または、別のコンパクトディスク記憶媒体、光ディスク記憶媒体(コンパクト光ディスク、レーザディスク、光ディスク、デジタルバーサタイル光ディスク、ブルーレイディスクおよび同様のものを含む)、磁気ディスク記憶媒体または別の磁気ストレージデバイス、命令もしくはデータ構造の形態である所望のプログラムコードを保持もしくは格納するために使用でき、かつ、コンピュータまたは同様のものによってアクセスできる任意の他の媒体であり得る。
【0125】
本願の実施形態では、「少なくとも1つ」が1または複数を意味しており、「複数の」は2つまたはそれより多くを意味している。用語「および/または」は、関連する対象物を説明するための対応関係を述べており、3つの関係が存在し得ることを示している。例えば、Aおよび/またはBは、Aのみが存在する場合、AおよびBの両方が存在する場合、および、Bのみが存在する場合の3つの場合を示し得る。AおよびBは、単数形であっても複数形であってもよい。文字「/」は一般に、関連付けられた対象間の「または」の関係を示す。以下に挙げる項目のうちの少なくとも1つおよび類似表現が、1つの項目または複数の項目の任意の組み合わせを含むこれらの項目の任意の組み合わせを意味している。例えば、a、bおよびcのうち少なくとも1つとは、a、b、c、aおよびb、aおよびc、bおよびc、または、a、bおよびcを含み得、a、bおよびcは単一または複数を示し得る。
【0126】
当業者であれば、本明細書に開示される実施形態において説明される例を参照して、ユニットおよびアルゴリズムステップが、電子ハードウェア、または、コンピュータソフトウェアおよび電子ハードウェアの組み合わせによって実装され得ることに気付き得る。当該機能がハードウェアにより実行されるのか、または、ソフトウェアにより実行されるのかは、特定の用途および技術的解決手段の設計上の制約条件によって決まる。当業者は、異なる方法を用いて、説明された機能を特定の用途ごとに実装してよいが、このような実装が本願の範囲を超えるとみなされるべきではない。
【0127】
当業者であれば、好都合で簡単な説明の目的で、上記のシステム、装置、およびユニットの動作プロセスの詳細について、上記の方法の実施形態における対応するプロセスを参照することを明確に理解し得る。ここでは詳細について改めて説明しない。
【0128】
本願の実施形態において、機能のいずれかがソフトウェア機能ユニットの形態で実装され、独立の製品として販売または使用されるとき、機能はコンピュータ可読記憶媒体に格納され得る。こうした理解に基づいて、本願の技術的解決手段が本質的に、または従来技術に寄与する部分が、またはこれらの技術的解決手段のうちの幾つかが、ソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は記憶媒体に格納され、本願の実施形態において説明される方法の段階の全部または一部を実行するようコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に命令するための複数の命令を含む。上記の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスクドライブ、リードオンリメモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスクまたはコンパクトディスクなどのプログラムコードを格納できる任意の媒体を含む。前述の説明は、本発明の特定の実装例に過ぎないが、本発明の保護範囲を限定することを意図したものではない。本発明において開示される技術的範囲内で、当業者が容易に考えつくあらゆる変形または置換は、本発明の保護範囲に含まれるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
[他の可能な項目]
(項目1)
電子デバイスに適用されるカメラ制御方法であって、前記電子デバイスは表示装置、撮影装置、および、前記撮影装置を上昇または退避させるよう構成される昇降装置を含み、前記表示装置と前記撮影装置との間に第1チャネルを通じて継続的接続が維持され、前記方法は、
前記撮影装置によって、前記第1チャネルまたは第2チャネルを通じて、第1アプリケーションによってトリガされた第1ストリームオン命令を受信する段階であって、前記第1アプリケーションは前記電子デバイス上で実行するアプリケーションであり、前記第2チャネルは、前記表示装置と前記撮影装置との間のチャネルであり、前記第1ストリームオン命令は、イメージを収集するよう、および、収集された前記イメージを前記第1アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオン命令を受信した後、前記撮影装置によって、前記第1チャネルを通じて第1ストリームオン状態を前記表示装置におけるプロキシモジュールに報告する段階と、
前記表示装置における前記プロキシモジュールによって、前記第1ストリームオン状態に基づいて、前記撮影装置を上昇させるよう前記昇降装置を制御する段階と、
上昇した後の前記撮影装置によって、イメージを収集することを開始し、前記第2チャネルを通じて、収集された前記イメージを前記第1アプリケーションに出力する段階であって、上昇するとき、前記撮影装置は、イメージを収集でき、退避するとき、前記撮影装置は、イメージのキャプチャを中止する、段階と
を備える方法。
(項目2)
上昇した後の前記撮影装置がイメージの収集を開始した後に、前記方法は更に、
前記撮影装置によって、前記第1チャネルまたは前記第2チャネルを通じて、前記第1アプリケーションによってトリガされた第1ストリームオフ命令を受信する段階であって、前記第1ストリームオフ命令は、イメージを収集することを中止するよう、および、収集された前記イメージを前記第1アプリケーションへ出力することを中止するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第1ストリームオフ状態を前記プロキシモジュールに報告する段階と、
前記プロキシモジュールによって、前記第1ストリームオフ状態に基づいて、前記撮影装置を退避するよう前記昇降装置を制御する段階と
を備える、請求項1に記載の方法。
(項目3)
上昇した後の前記撮影装置によって、イメージの収集を開始し、前記第2チャネルを通じて、収集された前記イメージを前記第1アプリケーションへ出力するプロセスにおいて、前記方法は更に、
前記撮影装置を使用する必要がある第2アプリケーションを起動する段階であって、前記第2アプリケーションは、前記電子デバイス上で実行するアプリケーションである、段階と、
前記第2アプリケーションの起動に応答して、前記第1アプリケーションを閉じるか、または、前記第1アプリケーションをバックグラウンドに切り替えて実行する段階と、
前記撮影装置によって、前記第1チャネルまたは前記第2チャネルを通じて、前記第1アプリケーションによってトリガされる第1ストリームオフ命令を受信する段階であって、前記第1ストリームオフ命令は、イメージの収集を中止するよう、および、前記第1アプリケーションへの収集された前記イメージの出力を中止するよう前記撮影装置に命令するために使用される、段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第1ストリームオフ状態を前記プロキシモジュールに報告する段階と、
前記第1ストリームオフ命令を受信した後に、前記撮影装置によって、前記第2チャネルを通じて、予め設定された冗長時間内に、前記第2アプリケーションによってトリガされた第2ストリームオン命令を受信する段階であって、前記第2ストリームオン命令は、イメージを収集するよう、および、収集された前記イメージを前記第2アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記第2ストリームオン命令を受信した後に、前記撮影装置によって、前記第1チャネルを通じて、第2ストリームオン状態を前記プロキシモジュールに報告する段階と、
前記第1ストリームオフ状態および前記第2ストリームオン状態が前記予め設定された冗長時間内に連続的に受信されたと前記プロキシモジュールが決定した場合、前記プロキシモジュールによって、前記第1ストリームオフ状態および前記第2ストリームオン状態を破棄する段階であって、前記プロキシモジュールは、前記第1ストリームオフ状態および前記第2ストリームオン状態に基づいて、前記撮影装置を上昇または退避させるように前記昇降装置を制御しない、段階と
を備え、
前記第1アプリケーションおよび前記第2アプリケーションは非バックグラウンド常駐アプリケーションであり、前記非バックグラウンド常駐アプリケーションは、フォアグラウンドにおいて実行しているときに前記撮影装置によって収集されたイメージを使用し、前記バックグラウンドにおいて実行しているときに前記撮影装置によって収集された前記イメージを使用しないアプリケーションである、
請求項1に記載の方法。
(項目4)
前記第1アプリケーションはバックグラウンド常駐アプリケーションであり、前記バックグラウンド常駐アプリケーションは、前記電子デバイスのバックグラウンドで実行し、かつ、前記撮影装置によって収集されたイメージを使用するアプリケーションであり、前記バックグラウンド常駐アプリケーションが前記撮影装置によって収集された前記イメージを使用するとき、収集された前記イメージは、前記表示装置に表示されず、
前記第1ストリームオン命令は、イメージを収集し、収集された前記イメージを前記第1アプリケーションに出力するよう前記撮影装置に命令するために使用される命令、および、前記第1アプリケーションがバックグラウンド常駐アプリケーションであることを示すために使用される識別子を含み、
上昇した後の前記撮影装置によってイメージを収集することを開始した後に、前記方法は更に、
前記撮影装置を使用する必要がある第2アプリケーションを起動する段階であって、前記第2アプリケーションは、前記電子デバイス上で実行する非バックグラウンド常駐アプリケーションである、段階と、
前記撮影装置によって、前記第2チャネルを通じて、前記第2アプリケーションによってトリガされる第2ストリームオン命令を受信する段階であって、前記第2ストリームオン命令は、イメージの収集を開始するよう、および、収集された前記イメージを前記第2アプリケーションに出力するよう前記撮影装置に命令するために使用される、段階と、
前記撮影装置によって、前記第1ストリームオン命令における前記識別子、および、前記第2ストリームオン命令に基づいて、前記第2ストリームオン命令に従って、ストリームオン状態を前記プロキシモジュールへ送信することをスキップする段階と、
前記第2アプリケーションが閉じられる、または、前記バックグラウンドに切り替えられるとき、前記撮影装置によって、前記第2チャネルを通じて、前記第2アプリケーションによってトリガされる第2ストリームオフ命令を受信する段階であって、前記第2ストリームオフ命令は、イメージの収集を中止するよう、および、前記第2アプリケーションへの収集された前記イメージの出力を中止するよう前記撮影装置に命令するために使用される、段階と、
前記撮影装置によって、前記第1ストリームオン命令における前記識別子、および、前記第2ストリームオン命令に基づいて、前記第2ストリームオフ命令に従って、ストリームオフ状態を前記プロキシモジュールへ送信することをスキップする段階と、
前記第2アプリケーションを起動してから、前記第2アプリケーションを閉じる、または、前記第2アプリケーションを前記バックグラウンドに切り替えるプロセスにおいて、前記撮影装置によって、前記第1チャネルを通じて、収集された前記イメージを前記第1アプリケーションおよび前記第2アプリケーションに出力する段階と
を備える、請求項1に記載の方法。
(項目5)
前記第1チャネルは、リモートネットワークのドライバインタフェース仕様RNDISプロトコルを使用し、前記第2チャネルはUSBビデオクラスUVCプロトコルを使用する、請求項1から4のいずれか一項に記載の方法。
(項目6)
前記継続的接続は、前記RNDISプロトコルを使用することによって確立されたソケットsocket継続的接続である、請求項1から5のいずれか一項に記載の方法。
(項目7)
前記方法は更に、
前記継続的接続が中断された場合に、前記表示装置と前記撮影装置との間の前記継続的接続を再確立する段階を備える、請求項1から6のいずれか一項に記載の方法。
(項目8)
前記方法は更に、
前記表示装置が起動された後に、前記第1チャネルを通じて、前記表示装置と前記撮影装置との間に前記継続的接続を確立する段階を備える、請求項1から7のいずれか一項に記載の方法。
(項目9)
前記方法は更に、
前記表示装置が前記撮影装置との前記継続的接続を確立した後に、前記撮影装置によって、前記第1チャネルを通じて、現在のストリームオン/オフ状態を前記プロキシモジュールに報告する段階と、
前記プロキシモジュールによって、前記ストリームオン/オフ状態に基づいて、上昇または退避させるよう前記撮影装置を制御する段階を備える、請求項8に記載の方法。
(項目10)
前記電子デバイスは、大画面デバイスまたはスマートテレビであり、
前記表示装置は、ディスプレイ画面およびコントローラを含み、
前記撮影装置はカメラであり、または、
前記昇降装置はモータを含む、
請求項1から9のいずれか一項に記載の方法。
(項目11)
表示装置、撮影装置、および、前記撮影装置を上昇または退避させるよう構成される昇降装置を備える電子デバイスであって、第1チャネルを通じて、前記表示装置と前記撮影装置との間に継続的接続が維持され、前記表示装置、前記撮影装置、および前記昇降装置は互いに協働し、その結果、前記電子デバイスは、請求項1から10のいずれか一項に記載の方法を実行する、電子デバイス。
(項目12)
プログラム命令を含むコンピュータ可読記憶媒体であって、前記プログラム命令がコンピュータデバイス上で実行されるとき、前記コンピュータデバイスは、請求項1から10のいずれか一項に記載の方法を実行することが可能である、コンピュータ可読記憶媒体。
図1
図2
図3A
図3B
図4A
図4B
図5A
図5B