(57)【要約】【課題】ＵＳＢカメラ用デバイスドライバを携帯端末にインストールせずに、ＵＳＢカメラからの動画像データを携帯端末でスムーズに表示する。【解決手段】ＵＳＢカメラアプリケーション内のＵＳＢパケット取得機能とビデオデータ変換機能を並列処理化することで、ＵＳＢカメラ用デバイスドライバを携帯端末にインストールせずに、ＵＳＢカメラからの動画像データを携帯端末に高速に取り込み、その動画像を携帯端末にスムーズに表示できるようにする。【選択図】図３
2014093699.tif 000002
【特許請求の範囲】
【請求項１】
一対の通信ケーブルで接続されたカメラと携帯端末からなるカメラ動画像の表示システムにおいて、
前記カメラは撮影している動画像をパケットに分割して携帯端末に送信する機能を備え、
前記携帯端末は前記パケットを受信して前記カメラが撮影した動画像を抽出するパケット受信機能と、前記パケット受信機能が抽出した前記カメラが撮影した動画像をデータ変換するデータ変換機能と、前記データ変換機能が変換した前記カメラが撮影した動画像を表示する表示機能を備え、
前記パケット受信機能とデータ変換機能は並列に動作することを特徴とするデータ転送方法。
【請求項２】
請求項１記載のデータ転送方法であって、前記パケット受信機能は、１枚分の前記動画像が格納された複数の前記パケットを受信した後に１枚分の動画像データを復元して前記データ変換機能に渡し、前記データ変換機能と前記表示機能が１枚分の前記動画像データを変換して表示するのを待たずに、次の１枚分の前記動画像データが格納された複数の前記パケットを受信する機能を備えていることを特徴とするデータ転送方法。
【請求項３】
請求項１記載のデータ転送方法であって、前記パケット受信機能は、前記動画像が格納された複数の前記パケットを受信した後に前記動画像データの一部を復元して前記データ変換機能に逐次渡す機能を備え、
前記データ変換機能は前記パケット受信機能のパケット受信と並列に動作して、１枚分の前記動画像データを受信した後に１枚分の前記動画像データを変換し、前記表示機能で１枚分の前記動画像データを表示する機能を備えていることを特徴とするデータ転送方法。
【請求項４】
請求項１から３記載のデータ転送方法であって、前記通信ケーブルはＵＳＢであることと、前記携帯端末はＡｎｄｒｏｉｄであることを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートフォン・タブレット端末とＵＳＢカメラを接続して、ＵＳＢカメラから出力される動画像を高速にスマートフォン・タブレット端末に引き込み表示する方法に関する。
【背景技術】
【０００２】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）は主にコンピュータとその周辺機器を接続する規格である。１９９６年に登場した最初の規格であるＵＳＢ１．０は１２Ｍｂｐｓ（Ｍｅｇａ  Ｂｉｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）の転送性能で主にマウスやプリンタに使用された。２０００年に登場したＵＳＢ２．０は４８０Ｍｂｐｓの転送性能で、ハードディスクやデジタルカメラ等、幅広いパソコン周辺機器に応用された。そして２００８年に登場したＵＳＢ３．０の転送性能は５Ｇｂｐｓ（Ｇｉｇａ  Ｂｉｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）に達し、超高速ストレージや高性能カメラに応用されている。ＵＳＢは２０１０年、全世界で３０億ユニット以上出荷されたと言われており、他の接続規格を圧倒する普及数を誇る。そして今後もＵＳＢ普及の勢いは衰えないと言われている。
【０００３】
Ａｎｄｒｏｉｄ（登録商標）はスマートフォン・タブレット端末向けのプラットフォームであり、多くのスマートフォン・タブレット端末で採用されている。Ａｎｄｒｏｉｄバージョン３．１からＵＳＢホスト機能がサポートされた。ＵＳＢホスト機能を用いれば、ＵＳＢマウスやＵＳＢキーボード、ＵＳＢメモリを使用することができる。しかしＵＳＢカメラを使用するには技術的な課題がある。ＡｎｄｒｏｉｄにはＵＳＢカメラを使用するためのデバイスドライバが入っておらず、通常の方法ではＵＳＢカメラ用のデバイスドライバをインストールすることもできない。
【０００４】
その解決方法として、アプリケーションからＵＳＢホスト機能を制御してＵＳＢカメラからのデータを引き込む方法がある。しかしこの方法では引き込む速度が低速で、データ量が多いＵＳＢカメラからの動画像データを十分に引き込めない問題がある。そこで従来の方法として、特許文献１のようにＵＳＢ転送に係るバッファ構成を高速化する方法がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２１５５６７公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のように、ＵＳＢ転送に係るバッファ構成を高速化する方法はＡｎｄｒｏｉｄ端末には適用できず、結果としてＵＳＢカメラからの動画像データを十分に高速化できない。
【０００７】
そこで本発明の目的は、ＵＳＢカメラからの動画像をＡｎｄｒｏｉｄ端末へ高速に取り込み表示する方法を提供することにある。
【０００８】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１０】
すなわち、代表的なものの概要は、ＵＳＢカメラアプリケーション内のＵＳＢパケット取得機能とビデオデータ変換機能を並列処理化することにより、ＵＳＢカメラからの動画像データを高速に取り込み表示できるようにすることである。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１２】
すなわち、代表的なものによって得られる効果は、Ａｎｄｒｏｉｄ端末にＵＳＢカメラ用デバイスドライバをインストールせずに、ＵＳＢカメラアプリケーションが高速にＵＳＢカメラからの動画像データを取り込むことによって、ＵＳＢカメラからの動画像をＡｎｄｒｏｉｄ端末にスムーズに表示できるようにすることである。特に、ＵＳＢカメラからの動画像が非圧縮画像の場合には大きな効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る携帯端末とＵＳＢカメラの接続を示す構成図である。
【図２】本発明の実施の形態に係る携帯端末とＵＳＢカメラの構成図である。
【図３】本発明の実施の形態に係る携帯端末内のソフトウェア構成を示す構成図である。
【図４】従来の携帯端末内のソフトウェア挙動を示すシーケンス図である。
【図５】本発明の実施の形態に係る携帯端末内のソフトウェア挙動を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
図１から図５により、本発明の実施の形態に係るＵＳＢカメラからの動画像をＡｎｄｒｏｉｄ端末へ高速に取り込む方法について説明する。図１は本発明の実施の形態に係る携帯端末とＵＳＢカメラの接続を示す構成図、図２は本発明の実施の形態に係る携帯端末とＵＳＢカメラの構成図、図３は本発明の実施の形態に係る携帯端末内のソフトウェア構成を示す構成図、図４は従来の携帯端末内のソフトウェア挙動を示すシーケンス図、図５は本発明の実施の形態に係る携帯端末内のソフトウェア挙動を示すシーケンス図である。
【００１６】
図１において、携帯端末１００はＡｎｄｒｏｉｄを搭載したスマートフォン、またはタブレット、据え置き端末である。ＵＳＢカメラ１０１は、ＵＳＢケーブル１０２を介して、携帯端末１００が備えるＵＳＢホストインターフェースに接続される。図２では、携帯端末内の機能について説明する。
【００１７】
図２において、携帯端末１００は、ＣＰＵ２００と、メモリ２０１、ディスプレイ２０２、ＵＳＢコントローラ２０３を持ち、バス２０４で接続される。ＣＰＵ２００は携帯端末の制御機能、メモリ２０１は主にＣＰＵ２００が使用する一時記憶装置、ディスプレイ２０２は表示機能、ＵＳＢコントローラ２０３は携帯端末１００の外にあるＵＳＢ機器を制御する機能である。ディスプレイ２０２はそれ自体が表示装置であっても、携帯端末１００の外部に接続される表示装置へのインターフェースであっても良い。ＵＳＢカメラ１０１は、ＵＳＢケーブル１０２を介してＵＳＢコントローラ２０３に接続される。ＣＰＵ２００内のソフトウェアは、アプリケーション２１０と、携帯端末フレームワーク２１１、ＯＳカーネル２１２を持つ。Ａｎｄｒｏｉｄでは、携帯端末フレームワーク２１１はＡｎｄｒｏｉｄフレームワーク、ＯＳカーネル２１２はＬｉｎｕｘ（登録商標）カーネルと呼ばれる。ＵＳＢドライバ２１４は、ＵＳＢコントローラ２０３にアクセスすることで、ＵＳＢカメラ１０１を制御する。ディスプレイドライバ２１３は、ディスプレイ２０２にアクセスすることでディスプレイ２０２に動画像を表示する。ＵＳＢカメラ１０１で撮影された動画像は、ＵＳＢケーブル１０２を経てＵＳＢコントローラ２０３で受信され、バス２０４を介してＵＳＢドライバ２１４に渡り、携帯端末フレームワーク２１１またはアプリケーション２１０によってディスプレイドライバ２１３に送信され、ディスプレイドライバ２１３によりディスプレイ２０２に表示される。図３では、ＣＰＵ２００における、ＵＳＢカメラから出力される動画像の制御方法について説明する。
【００１８】
図３において、ＣＰＵ２００内のソフトウェアは、ＯＳカーネル２１２と、携帯端末フレームワーク２１１、アプリケーション３００を持つ。携帯端末フレームワーク２１１は、ＵＳＢライブラリ３０１と表示ライブラリ３０５を持つ。ＵＳＢライブラリ３０１はＵＳＢドライバ２１４を制御し、表示ライブラリ３０５はディスプレイドライバ２１３を制御する。アプリケーション３００はＵＳＢパケット取得機能３０２と、データバッファ３０３、表示機能３０４を持つ。ＵＳＢカメラから出力される動画像は、ビデオデータとしてＵＳＢパケットに分割して出力される。ＵＳＢカメラから出力されたビデオデータであるＵＳＢパケット３１０は、ＵＳＢドライバ２１４を経てＵＳＢライブラリ３０１に渡る。ＵＳＢパケット取得機能３０２は、ＵＳＢパケット３１０を受信してビデオデータ３１１を生成し、データバッファ３０３に渡る。データバッファ３０３では、例えばビデオフォーマットやビデオサイズの変換といった、ビデオデータ３１１のデータ変換を行う。この変換されたビデオデータ３１１は、表示機能３０４に渡り、表示ライブラリ３０５とディスプレイドライバ２１３を経てディスプレイに表示される。ここで、表示機能３０４は、ビデオデータ３１１をネットワークに配信したり、記録装置に録画したり、画像解析したりすることもできる。ネットワーク配信や記録装置への記録、画像解析の際には、ビデオデータ３１１をさらにデータ変換しても良い。図４では、従来のソフトウェアの制御方法について説明する。
【００１９】
図４では、ＵＳＢドライバ２１４が受信したＵＳＢパケットが、ＵＳＢパケット取得機能３０２、データバッファ３０３を経て、表示機能３０４で表示されるまでの従来のシーケンスを示している。ＵＳＢパケット取得機能３０２とデータバッファ３０３は同一スレッドで動作している。ＵＳＢパケット取得機能３０２は複数のＵＳＢパケット３１０を受信した後、複数のＵＳＢパケット３１０から１フレームのビデオデータ３１１をデータバッファ３０３に送信し、データバッファ３０３でＲＧＢフォーマットからＹＵＶフォーマットの変換等の画像変換をし、表示機能３０４によって１枚のビデオデータが表示される。
【００２０】
この図４で示される従来の方法では、データ転送４００、４０１、４０２、及び１フレーム表示４０３が完了するまで、次のデータ転送４０４、４０５、４０６、及び１フレーム表示４０７が開始されず、ＵＳＢ通信が遅いシステムではスムーズにビデオデータを表示することができない。図５では、このスムーズにビデオデータを表示することが出来ない問題を解決できる、ソフトウェアの制御方法について説明する。
【００２１】
図５では、ＵＳＢドライバ２１４が受信したＵＳＢパケットが、ＵＳＢパケット取得機能３０２、データバッファ３０３を経て、表示機能３０４で表示されるまでのシーケンスを示している。ＵＳＢパケット取得機能３０２とデータバッファ３０３は別スレッドで動作している。図４同様に、ＵＳＢパケット取得機能３０２は複数のＵＳＢパケット３１０を受信した後、複数のＵＳＢパケット３１０から１フレームのビデオデータ３１１をデータバッファ３０３に送信し、データバッファ３０３でＲＧＢフォーマットからＹＵＶフォーマットの変換といった画像変換をし、表示機能３０４によって１枚のビデオデータが表示される。
【００２２】
図５の方法では、データ転送５００、５０１、５０２、及び１フレーム表示５０３の完了を待たずに、次のデータ転送５０４、５０５、５０６、及び１フレーム表示５０７を開始することが出来る。この方法を用いることで、ＵＳＢ通信が遅いシステムでは間断なくＵＳＢ通信を継続できるため、スムーズにビデオデータを表示することができる。
【００２３】
さらにＵＳＢパケット取得機能３０２をＡｎｄｒｏｉｄで動作するネイティブコードで実装することで、データ取得５００とデータ取得５０４をさらに高速化することができ、よりスムーズにビデオデータを表示することができる。
【００２４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００２５】
本発明は、ＵＳＢ接続である医療用カメラや顕微鏡、産業用カメラ、コンシューマ用カメラ等に適用可能である。また、本発明を応用することで、ＵＳＢ接続センサ等ＵＳＢカメラ以外のＵＳＢ機器、Ａｎｄｒｏｉｄ以外のＯＳにも適用可能である。
【符号の説明】
【００２６】
１００…携帯端末、１０１…ＵＳＢカメラ、１０２…ＵＳＢケーブル、２００…ＣＰＵ、２０１…メモリ、２０２…ディスプレイ、２０３…ＵＳＢコントローラ、２０４…バス、２１０…アプリケーション、２１１…携帯端末フレームワーク、２１２…ＯＳカーネル、２１３…ディスプレイドライバ、２１４…ＵＳＢドライバ、３００…アプリケーション、３０１…ＵＳＢライブラリ、３０２…ＵＳＢパケット取得機能、３０３…データバッファ、３０４…表示機能、３０５…表示ライブラリ、３１０…ＵＳＢパケット、３１１…ビデオデータ、４００…１フレーム分のＵＳＢパケット３１０のデータ転送、４０１…１フレーム分のビデオデータ３１１のデータ転送、４０２…データ変換されたビデオフレーム、４０３…１フレームの動画像表示、４０４…４００の次のデータ転送、４０５…４０１の次のデータ転送、４０６…４０２の次のデータ転送、４０７…４０３の次の動画像表示、５００…１フレーム分のＵＳＢパケット３１０のデータ転送、５０１…１フレーム分のビデオデータ３１１のデータ転送、５０２…データ変換されたビデオフレーム、５０３…１フレームの動画像表示、５０４…５００の次のデータ転送、５０５…５０１の次のデータ転送、５０６…５０２の次のデータ転送、５０７…５０３の次の動画像表示
【図１】
2014093699.tif 000003
【図２】
2014093699.tif 000004
【図３】
2014093699.tif 000005
【図４】
2014093699.tif 000006
【図５】
2014093699.tif 000007