(57)【特許請求の範囲】
【請求項１】
スレーブ装置と所定のインターフェースを経由して通信し、前記スレーブ装置から送信されるデータを受信するホスト装置であって、
前記スレーブ装置に対し、ストリームデータを要求するためのデータ転送要求を送信する送信手段と、
前記ホスト装置のクロックに基づき、前記データ転送要求の間隔を測定する測定手段と、
前記スレーブ装置から、前記スレーブ装置のクロックに基づき測定された前記データ転送要求の間隔を受信する受信手段と、
前記測定手段により測定されたデータ転送要求の間隔と、前記受信手段により受信されたデータ転送要求の間隔とに基づき、受信した前記ストリームデータに関るデータ処理のための同期処理を実行する制御手段とを有するホスト装置。
【請求項２】
前記測定手段により測定されたデータ転送要求の間隔が、前記受信手段により受信されたデータ転送要求の間隔よりも大きい場合、前記制御手段は前記ストリームデータのアップサンプリング処理を行うことを特徴とする請求項１に記載のホスト装置。
【請求項３】
前記測定手段により測定されたデータ転送要求の間隔が、前記受信手段により受信されたデータ転送要求の間隔よりも小さい場合、前記制御手段は前記ストリームデータのダウンサンプリング処理を行うことを特徴とする請求項１または２に記載のホスト装置。
【請求項４】
前記データ処理は、前記ストリームデータのデコード及び表示処理の少なくとも１つを含むことを特徴とする請求項１乃至３のいずれか１項に記載のホスト装置。
【請求項５】
前記スレーブ装置のクロックに基づき測定された前記データ転送要求の間隔は、前記スレーブ装置から送信されるストリームデータに含まれることを特徴とする請求項１乃至４のいずれか１項に記載のホスト装置。
【請求項６】
前記所定のインターフェースはＵＳＢであることを特徴とする請求項１乃至５のいずれか１項に記載のホスト装置。
【請求項７】
スレーブ装置と所定のインターフェースを経由して通信し、前記スレーブ装置から送信されるデータを受信するホスト装置の制御方法であって、
前記スレーブ装置に対し、ストリームデータを要求するためのデータ転送要求を送信する送信工程と、
前記ホスト装置のクロックに基づき、前記データ転送要求の間隔を測定する測定工程と、
前記スレーブ装置から、前記スレーブ装置のクロックに基づき測定された前記データ転送要求の間隔を受信する受信工程と、
前記測定工程において測定されたデータ転送要求の間隔と、前記受信工程により受信されたデータ転送要求の間隔とに基づき、受信した前記ストリームデータに関るデータ処理のための同期処理を実行する制御工程とを有するホスト装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ２．０又はこれに類似する規格に準拠した通信インターフェースを用いた、ストリーミングデータ転送技術に関する。
【背景技術】
【０００２】
異なるシステムクロックに基づくサンプリングレートに従った、異なるメディア間のデータ送受信において、ストリームデータの送信側がマスター、受信側がスレーブとなり、マスター（送信器）のクロックとスレーブ（受信器）のクロックの差を受信するパケットタイムスタンプに基づいてスレーブ（受信器）側が算出し、算出値に基づいてスレーブ（受信器）のクロックをマスター（送信器）のクロックに同期させ、受信側のバッファのオーバーラン、アンダーランを回避するデータ通信システムがある（例えば特許文献１参照）。
【特許文献１】特開２００３−１７９６６２号公報
【非特許文献１】Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  ２．０，Ａｐｒｉｌ  ２７，２０００
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来技術では、マスターが送信側になりスレーブが受信側になる場合しか述べられていない。すなわち、ＵＳＢのように、その逆のマスターが受信側になりスレーブが送信側になるよう構成できる転送システムにおいては、何らの解も与えていないことから、受信側のバッファのオーバーラン、アンダーランを解決させることができない。
【０００４】
本発明は上述した問題点を解決するためのものであり、受信データのデコード及び表示等データ処理の同期をとることができ、バッファのオーバーラン、アンダーランを回避することができるデータ転送システム及びデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明にかかる装置は、スレーブ装置と所定のインターフェースを経由して通信し、前記スレーブ装置から送信されるデータを受信するホスト装置であって、前記スレーブ装置に対し、ストリームデータを要求するためのデータ転送要求を送信する送信手段と、前記ホスト装置のクロックに基づき、前記データ転送要求の間隔を測定する測定手段と、前記スレーブ装置から、前記スレーブ装置のクロックに基づき測定された前記データ転送要求の間隔を受信する受信手段と、前記測定手段により測定されたデータ転送要求の間隔と、前記受信手段により受信されたデータ転送要求の間隔とに基づき、受信した前記ストリームデータに関るデータ処理のための同期処理を実行する制御手段とを有する。
【発明の効果】
【０００７】
本発明によれば、マスターが受信、スレーブが送信になるＵＳＢまたはそれに類する通信インターフェースを用いたストリーミング転送において、受信データのデコード及び表示等データ処理の同期をとることができ、バッファのオーバーラン、アンダーランを回避することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の実施の形態を説明する。
【０００９】
本実施形態は、パソコンとデジタルビデオカメラから構成されるシステムにおいて、本発明を適用した場合について説明するものである。本実施形態におけるデジタルビデオカメラは、ＣＣＤからの入力画像及びマイクからの入力音声をパソコンに転送してストリーミング再生を行う機能を備えた複合装置である。
【００１０】
図１は、実施の形態に係るパソコンとデジタルビデオカメラとを接続したシステムの構成を示すブロック図である。図１において、１００はパソコンを示し、ＵＳＢホストとして機能している。１０１はＵＳＢケーブルである。１０２はＵＳＢポートを備えたＵＳＢデバイスであるデジタルビデオカメラ（ＤＶＣ）である。このシステムでは、パソコン１００とビデオカメラ１０２とがＵＳＢケーブル１０１により直接接続され、ビデオカメラ１０２で撮影中の動画像及び音声がストリーム再生用データとしてパソコンに転送される。
【００１１】
本実施形態では、パソコン１００がマスター（ホスト）、ビデオカメラ１０２がスレーブである。また、データの転送方向は、ビデオカメラ１０２（スレーブ）からパソコン１００（ホスト）への方向をＵｐ  Ｓｔｒｅａｍと呼び、実施形態における転送システムではＵｐ  Ｓｔｒｅａｍのストリーミング機能を有するものとし、これについて説明する。
【００１２】
図２は、実施形態に係るデジタルビデオカメラ１０２の構成を示すブロック図である。図２において、２００は被写体からの光を通すレンズ、２０１は撮像素子（ＣＣＤ）で、この撮像面上にレンズ２００からの光が結像され、その結像した画像に応じた電気信号を出力する。２０２はカメラ信号処理部で、撮像素子２０１からの光電変換画像を標準的な画像信号になるように信号処理を行う。２０３は画像圧縮伸長部で、画像信号をＭＰＥＧ２等により符号化して圧縮する。２０４は音声圧縮伸長部で、マイクロフォン２０６から発生される音声信号を、例えばＡＣ３符号化等により圧縮して音声処理を行う。２０５は多重化処理部で、画像圧縮伸長部２０３及び音声圧縮伸長部２０４で圧縮された画像データ及び音声データを、例えばＭＰＥＧ２−ＴＳ（Ｔｒａｎｓｆｅｒ  Ｓｔｒｅａｍ）フォーマット等のパケット化を行い多重化させる。マイクロフォン２０６は、音声を取得するために使用される。２０７は音声信号処理部で、マイクロフォン２０６からの音声信号を標準的な音声信号になるように信号処理を行う。２０８はＣＰＵで、メモリ２０９に記憶された制御プログラムに従って、このデジタルビデオカメラ全体の動作を制御している。メモリ２０９はまた、一時的に画像データや音声データを蓄積するメモリとしても使用される。２１０はＵＳＢコントローラである。２１１はＵＳＢケーブルを着脱するためのコネクタである。
【００１３】
図３は、パソコン１００（ホスト）におけるストリーミング時の処理の流れを説明するフローチャートである。
【００１４】
Ｓ１０００において、ビデオカメラ１０２（スレーブ）に対し、Ｓｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを投げストリーミングを開始する。Ｓ１００１において、ビデオカメラ１０２（スレーブ）にＩｎトークンを発行し、同時にＳ１００２においてパソコン（ホスト）でＩｎトークンを発行した時間を記録する。Ｓ１００３でビデオカメラ１０２（スレーブ）からストリーミングデータを取得する。
【００１５】
Ｓ１００４で次のＵＳＢパケットの為のＩｎトークンを発行し、Ｓ１００５においてＳ１００４の発行時間をパソコン（ホスト）内に記録する。Ｓ１００６において、Ｓ１００２とＳ１００５で記憶したＩｎトークンの発行時間から、パソコン（ホスト）のクロックで測定したＩｎトークン間の発行間隔を計算する。Ｓ１００７でストリーミングデータを受信し、Ｓ１００８においてＳ１００７で受信したストリーミングパケットデータのヘッダー部にあるビデオカメラ１０２（スレーブ）において測定したＩｎトークン間隔の情報を取得する。
【００１６】
Ｓ１００９において、Ｓ１００６で計算したパソコン（ホスト）のクロックで測定したＩｎトークン間隔とＳ１００８で受信したビデオカメラ（スレーブ）のクロックで測定したＩｎトークン間隔とを比較する。
【００１７】
パソコン（ホスト）のＩｎトークン間隔よりビデオカメラ（スレーブ）のＩｎトークン間隔が狭い場合、Ｓ１０１０においてストリーミングされた画像又は音声の一方あるいは両方のデータをＵｐ  Ｓａｍｐｌｉｎｇする。
【００１８】
逆に、パソコン（ホスト）のＩｎトークン間隔よりビデオカメラ（スレーブ）のＩｎトークン間隔が広い場合、Ｓ１０１１においてストリーミングされた画像又は音声の一方あるいは両方のデータをｄｏｗｎ  Ｓａｍｐｌｉｎｇする。Ｓ１００４からＳ１０１１のステップをストリーミングが終了するまで繰り返し行う。
【００１９】
図４は、ビデオカメラ１０２（スレーブ）におけるストリーミング時の処理の流れを説明するフローチャートである。
【００２０】
Ｓ２０００によりＵＳＢ接続を行う。Ｓ２００１でパソコン（ホスト）から発行されたＩｎトークンを受信し、Ｓ２００２においてＳ２００１でＩｎトークンを受信した時間をビデオカメラ（スレーブ）内に記憶する。Ｓ２００３においてＳ２００１で受信したＩｎトークンの要求に応じてストリーミングデータをパソコン（ホスト）に送信する。
【００２１】
Ｓ２００４において次のストリーミング転送の為のＩｎトークンを受信する。Ｓ２００５において、Ｓ２００４で受信したＩｎトークンの時間をビデオカメラ（スレーブ）内に記憶する。Ｓ２００６において、Ｓ２００２で記録したＩｎトークンの時間とＳ２００５で記憶したＩｎトークンの時間から、ビデオカメラ（スレーブ）のクロックで測定したＩｎトークン間隔を計算する。Ｓ２００７において、Ｓ２００６で計算したビデオカメラ（スレーブ）のクロックで測定したＩｎトークン間隔をＳ２００８で送信するストリームのヘッダーに書き込む。Ｓ２００８において、Ｓ２００４で要求のあったＩｎトークンに応じてストリーミングを送信する。Ｓ２００４からＳ２００８までのステップをストリーミングが終了するまで繰り返し行う。
【００２２】
図５は、ビデオカメラ（スレーブ）における、パソコン（ホスト）へのデータ転送のタイミング関係を説明したものである。
【００２３】
尚、本実施の形態では、デジタルビデオカメラを例に説明したが本発明はこれに限定されるものでなく、ＵＳＢもしくは、これに類するインターフェースにより接続可能な電子機器であれば良い。
【００２４】
また、本実施の形態では、デジタルビデオカメラとパソコン間のＵＳＢによるデータ転送について説明したが、ＵＳＢもしくは、これに類するインターフェースによるデータ転送方式であれば良い。
【００２５】
以上説明したように、本実施形態によれば、マスターが受信、スレーブが送信になるＵＳＢまたはそれに類する通信インターフェースを用いたストリーミング転送において、スレーブにおいて、データの記憶と記憶したデータ間の引き算という単純な構成で送受信間の同期に必要なデータを構成することができ、ホストにおいて、データの記憶と記憶したデータ間の引き算の値とスレーブから受信した同期データの比較という単純なデータによって、データのｕｐ／ｄｏｗｎ  ｓａｍｐｌｉｎｇを行うことができ、受信データのデコードと表示の同期をとることにより、バッファのオーバーラン、アンダーランを回避することができる。
【図面の簡単な説明】
【００２６】
【図１】デジタルビデオカメラとパソコンとを接続したイメージ図である。
【図２】デジタルビデオカメラの構成を示すブロック図である。
【図３】パソコン（ホスト）の動作を説明するフローチャートである。
【図４】デジタルビデオカメラの動作を説明するフローチャートである。
【図５】ビデオカメラ（スレーブ）における、パソコン（ホスト）へのデータ転送のタイミング関係を説明したものである。
【符号の説明】
【００２７】
１００  ＵＳＢ  ホスト（パソコン）
１０１  ＵＳＢケーブル
１０２  ＵＳＢデバイス（デジタルビデオカメラ）
２００  レンズ
２０１  ＣＣＤ
２０２  カメラ信号処理部
２０３  画像圧縮伸長部
２０４  音声圧縮伸長部
２０５  多重化処理部
２０６  マイク
２０７  音声信号処理部
２０８  ＣＰＵ
２０９  メモリ
２１０  ＵＳＢコントローラ
２１１  ＵＳＢコネクタ
【図１】
0004537169.tif 000002
【図２】
0004537169.tif 000003
【図３】
0004537169.tif 000004
【図４】
0004537169.tif 000005
【図５】
0004537169.tif 000006