(57)【要約】【課題】  マスタからの要求に応答してスレイブ側でパケットサイズを自由に変更することができないインターフェイスを用いて動画データなどをリアルタイムに送受信する場合にも、良好にデータの送受信が可能な装置を提供する。【解決手段】  ＵＳＢインターフェイスを経由して動画像データの通信を行うシステムにて用いられるデータ送信装置であって、受信装置との間で前記動画像データの通信を行う通信パイプにより送信する送信データパケット内に、前記動画像データの生成タイミングに関する付加情報を付加して送信する。【選択図】  図１
2006005854.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢインターフェイスを経由して動画像データの通信を行うシステムにて用いられるデータ送信装置であって、
受信装置との間で前記動画像データの通信を行う通信パイプにより送信する送信データパケット内に、前記動画像データの生成タイミングに関する付加情報を付加して送信することを特徴とするデータ送信装置。
【請求項２】
前記付加情報を送信データパケットのヘッダ内に付加して送信することを特徴とする請求項１記載のデータ送信装置。
【請求項３】
前記付加情報は前記動画像データのフレーム周期を示す情報であることを特徴とする請求項１記載のデータ送信装置。
【請求項４】
前記動画像データはＭＰＥＧ符号化されたデータであり、前記付加情報はＭＰＥＧデータのＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）の先頭を示す情報であることを特徴とする請求項１記載のデータ送信装置。
【請求項５】
被写体を撮影して前記動画像データを生成する撮像手段を備えたことを特徴とする請求項１記載のデータ送信装置。
【請求項６】
請求項１から５の何れかに記載のデータ送信装置により送信された送信データを受信する装置であって、
前記受信した前記送信データパケットから前記付加情報を検出し、この付加情報に基づいて、受信した前記動画像データの処理タイミングを変更することを特徴とするデータ受信装置。
【請求項７】
前記データ送信装置から送信された動画像データを蓄積するバッファメモリと、前記バッファメモリに蓄積された動画像データを読み出して処理する処理手段と、前記受信した送信データ中の付加情報に基づいて前記処理手段に対する前記バッファメモリからの前記動画像データの読み出しタイミングを制御する制御手段とを備えることを特徴とする請求項６記載のデータ受信装置。
【請求項８】
請求項４記載のデータ送信装置により送信された送信データを受信する装置であって、
前記データ送信装置から送信された送信データを受信する受信手段と、
前記受信した送信データ中の動画像データを蓄積するバッファメモリと、
前記バッファメモリに蓄積された動画像データを読み出してデコードするデコーダと、
前記受信した送信データ中の付加情報を検出したことに応じて、現在デコード中のＧＯＰの動画像データのデコードを中止し、新たに次のＧＯＰの動画像データを前記バッファメモリから読み出してデコードを開始するよう前記でコーダを制御する制御手段とを備えたことを特徴とするデータ受信装置。
【請求項９】
ＵＳＢインターフェイスを経由して動画像データの通信を行うシステムであって、
前記動画像データの通信を行う通信パイプにより送信する送信データパケット内に、前記動画像データの生成タイミングに関する付加情報を付加して送信する送信装置と、
前記受信した前記送信データパケットから前記付加情報を検出し、この付加情報に基づいて、受信した前記動画像データの処理タイミングを変更する受信装置とを有するデータ通信システム。
【請求項１０】
送信側装置が、受信側装置における受信データの転送要求に対応して送信データのパケットサイズを変更することができない伝送フォーマットに従って情報データの送受信を行うシステムにて用いられるデータ送信装置であって、
受信装置との間で前記情報データの通信を行う通信パイプにより送信する送信データパケット内に、前記情報データの生成タイミングに関する付加情報を付加して送信することを特徴とするデータ送信装置。
【請求項１１】
前記情報データは動画像データまたは音声データを含むことを特徴とする請求項１０記載のデータ送信装置。
【請求項１２】
請求項１１または１２の何れかに記載のデータ送信装置により送信された情報データを受信する装置であって、
前記受信した送信データパケットから前記付加情報を検出し、この付加情報に基づいて、受信した前記情報データの処理タイミングを変更することを特徴とするデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置に関し、特にＵＳＢなどの伝送路を介して情報データの通信を行う装置に関する。
【背景技術】
【０００２】
互いに異なるシステムクロックに基づいて動作する複数のデバイス間でデータを送受信するシステムとして、従来、マスタデバイスのクロックと、スレイブデバイスのクロックの差を、受信するパケットタイムスタンプに基づいて算出し、算出値を転送レート変更用データとして格納した転送レート変更メッセージを生成して、スレイブに送信し、スレイブはメッセージに従って転送レートを変更することで、マスタとスレイブ間のクロック差を吸収し、バッファのオーバーラン、アンダーランを回避するデータ通信システムが知られている（例えば特許文献１参照）。
【特許文献１】特開２００３−１７９６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来技術では、ＵＳＢのようにマスタからの転送要求に対してスレイブが応答し、またパケットサイズをパケット毎に自由に再設定できないような転送インターフェイスを用いて、動画データや音声データをリアルタイムに送受信する場合には、受信側に設けられたバッファメモリに蓄積されるデータのオーバーラン、アンダーランを根本的に解決させることができない。
【０００４】
そのため、受信した画像データや音声データを良好に視聴することができないという問題があった。
【０００５】
本発明はこの様な問題を解決し、ＵＳＢの様にマスタからの要求に応答してスレイブ側でパケットサイズを自由に変更することができないインターフェイスを用いて動画データなどをリアルタイムに送受信する場合にも、良好にデータの送受信が可能な装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、ＵＳＢインターフェイスを経由して動画像データの通信を行うシステムにて用いられるデータ送信装置であって、受信装置との間で前記動画像データの通信を行う通信パイプにより送信する送信データパケット内に、前記動画像データの生成タイミングに関する付加情報を付加して送信する構成とした。
【発明の効果】
【０００７】
本発明のデータ送受信装置によれば、ＵＳＢまたはそれに類する通信インターフェイスを用いたストリーミング転送においても、バッファのオーバーラン、アンダーランを回避し、デコーダに必要なバッファメモリ容量を削減し、ストリーミングのリアルタイム性を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態を説明する。本実施形態におけるＤＶＣは、ＣＣＤからの入力画像及びマイクからの入力音声をＵＳＢに従う伝送路を介してＰＣ（ＰＣ）に転送してストリーミング再生を行う機能を備えた複合装置である。
【０００９】
図１は、第１の実施の形態に係るＰＣとＤＶＣとを接続したシステムの構成を示すブロック図である。図１において、１００はＰＣを示し、ＵＳＢホストとして機能している。１０１はＵＳＢケーブルである。１０２はＵＳＢポートを備えたＵＳＢデバイスであるＤＶＣ（ＤＶＣ）である。このシステムでは、ＰＣ１００とＤＶＣ１０２とがＵＳＢケーブル１０１により直接接続され、ＤＶＣ１０２で撮影中の動画像及び音声がストリーム再生用データとしてＰＣに転送される。
【００１０】
また、データの転送方向は、ＤＶＣ１０２からＰＣ１００への方向をＵｐ  Ｓｔｒｅａｍと呼び、ＰＣ１００からＤＶＣ１０２への方向をＤｏｗｎ  Ｓｔｒｅａｍと呼ぶこととし、第一の実施形態におけるＤＶＣ１０２ではＵｐ  Ｓｔｒｅａｍのストリーミング機能を有するものとし、これについて説明する。
【００１１】
図２は、第１の実施形態に係るＤＶＣ１０２の構成を示すブロック図である。図２において、２００は被写体からの光を通すレンズ、２０１は撮像素子（ＣＣＤ）で、この撮像面上にレンズ２００からの光が結像され、その結像した画像に応じた電気信号を出力する。２０２はカメラ信号処理部で、撮像素子２０１からの光電変換画像を標準的な画像信号になるように信号処理を行う。２０３は画像圧縮伸長部で、画像信号をＭＰＥＧ２等により符号化してその情報量を圧縮する。画像圧縮伸長部２０３はまた、符号化時において、１フレームの最大ビット長を任意に設定できる。２０４は音声圧縮伸長部で、マイクロフォン２０６から発生される音声信号を、例えばＡＣ３符号化等により圧縮して音声処理を行う。２０５は多重化処理部で、画像圧縮伸長部２０３及び音声圧縮伸長部２０４で圧縮された画像データ及び音声データを、例えばＭＰＥＧ２−ＴＳ（Ｔｒａｎｓｆｅｒ  Ｓｔｒｅａｍ）フォーマットに従って多重化し、ＭＰＥＧ２−ＴＳデータを出力する。
【００１２】
マイクロフォン２０６は、音声を取得するために使用される。２０７は音声信号処理部で、マイクロフォン２０６からの音声信号を標準的な音声信号になるように信号処理を行う。２０８はＣＰＵで、メモリ２０９に記憶された制御プログラムに従って、このＤＶＣ全体の動作を制御している。メモリ２０９はまた、一時的に画像データや音声データを蓄積するメモリとしても使用される。２１０はＵＳＢコントローラである。２１１はＵＳＢケーブルを着脱するためのコネクタである。
【００１３】
図３は、第１の実施形態に係るＵＳＢストリームのヘッダ構成である。
ＭＰＥＧ２−ＴＳフォーマットをＵＳＢで転送する場合のＵＳＢストリームヘッダについての詳細は、「Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ２．０」、「Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｄｅｆｉｎｉｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｄｅｖｉｃｅｓ」、「Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｄｅｆｉｎｉｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｄｅｖｉｃｅｓ  ＭＰＥＧ２−Ｐａｙｌｏａｄ」に記載されている。
【００１４】
本形態におけるＵＳＢストリームヘッダの構成は、これらの文献に示されているＵＳＢストリームヘッダのＨｅａｄｅｒ  Ｄｅｆｉｎｉｔｏｎ  ｆｏｒ  ＭＰＥＧ２−ＴＳ  Ｆｏｒｍａｔにおいて、ＲＥＳ（Ｒｅｓｅｖｅｄ）をＳＯＧ（Ｓｔａｒｔ  ｏｆ  ＧＯＰ）として割り当てる。即ち、ＵＳＢパケットのうち、ＭＰＥＧ２−ＴＳにおけるＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）の先頭データを転送するＵＳＢパケットの場合には、ストリームヘッダのＳＯＧフィールドを１に設定する。
【００１５】
図４は、第１の実施形態に係るＤＶＣ１０２において、Ｕｐ  ＳｔｒｅａｍによりＰＣ１００に対して画像、音声データを送信した場合のＤＶＣ１０２のエンコードタイミング及びＵＳＢの転送タイミングと、ＰＣ１００のＵＳＢ受信タイミング及びデコードタイミングを示した図である。
【００１６】
ＤＶＣ１０２は、データ転送時にＧＯＰの先頭データを含むＵＳＢパケットのストリームヘッダのＳＯＧを１に設定し、ＰＣ１００へ転送する。
【００１７】
ＰＣ１００は、受信したＵＳＢパケットのストリームヘッダのＳＯＧが１と判断された場合に、それ以前に、受信バッファ（ＵＳＢ  Ｂｕｆｆｅｒ）に蓄積されているデータのデコードを開始する。ＳＯＧが１と判断された時点で、デコードされていないデータが存在した場合には、デコードされていないデータは破棄する。
【００１８】
図５は、第１の実施形態に係るＤＶＣ１０２において、ストリーミング機能を実現する場合のフローチャートである。図２のブロック図及び図５のフローチャートを参照して動作を説明する。また、起動時には図示しないフラッシュメモリに記憶さているプログラムが、メモリ２０９に解凍／展開される。そしてＣＰＵ２０８が、このメモリ２０９に格納されたプログラムに従って動作する。
【００１９】
まず、ＵＳＢケーブル１０１がＵＳＢコネクタ２１１に挿入されたことを検知する（Ｓ５０１）。ＵＳＢコントローラ２１０はＣＰＵ２０８にケーブルが挿入された旨を通知する。これによりＣＰＵ２０８は、ＵＳＢコントローラ２１２に必要な初期化を行い、この初期化終了後、ＵＳＢコントローラ２１０を制御して接続用のＰｕｌｌ−Ｕｐを行う（Ｓ５０２）。Ｓ５０２の動作によってＵＳＢデバイスであるＤＶＣ１０２からＰｕｌｌ−Ｕｐを受けたＵＳＢホストであるＰＣ１００は、ＤＶＣ１０２に対するネゴシエーション動作に入る。ネゴシエーション要求を受けたＤＶＣ１０２は、要求に応じた情報を転送する（Ｓ５０３）。ＰＣ１００はストリーミング開始時にＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを発行してＡｌｔｅｒｎａｔｅ設定を変更し、ＤＶＣ１０２は、Ｓ５０５〜Ｓ５０７に示すフレーム周波数に応じた符号化処理と、Ｓ５０８〜Ｓ５１４に示すＵＳＢアイソクロナス転送の周波数に応じた転送処理を並列で行い、ＰＣ１００から再びＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドによってストリーミング終了が告げられるまでこれらを繰り返す（Ｓ５０４）。
【００２０】
まず、Ｓ５０５〜Ｓ５０７に示すフレーム周波数に応じた符号化処理について説明する。次に、フレームの開始タイミングか判断する（Ｓ５０５）。Ｓ５０５においてＮｏと判断された場合はＳ５０５に戻る。Ｓ５０５においてＹｅｓと判断された場合はレンズ２００により得られた被写体像は、撮像素子２０１により光電変化され、この電気信号はカメラ信号処理部２０２に入力され光電変換画像を標準的な画像信号に変換してメモリ２０９に一時的に保管され、画像圧縮伸張部２０３において、ＭＰＥＧ画像圧縮符号化処理を行い、メモリ２０９の先程とは異なった影らに一時的に保管される。
【００２１】
一方、マイクロフォン２０６から得られた音声信号は、音声信号処理部２０７により標準的な音声信号に変換され、メモリ２０９の上旬画像信号を保管するエリアへ一時的に保管し、音声圧縮伸張部２０４によってＡＣ３の音声圧縮符号化を行い、メモリ２０９の、所定のエリアに一時的に保管される。その後、多重化処理部２０５は符号化された画像データと音声データを多重化してＭＰＥＧ２−ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットを生成し、メモリ２０９へ一時的に保管する（Ｓ５０６）。Ｓ５０６で生成されたＭＰＥＧ２＿ＰＥＳパケットを１８８バイトの固定長に分割し、ＭＰＥＧ２−ＴＳパケットを生成し、メモリ２０９へ一時的に保管する（Ｓ５０７）。
【００２２】
以上、Ｓ５０５〜Ｓ５０７を繰り返すことでメモリ２０９にＭＰＥＧ２−ＴＳパケットを順次生成可能となる。
【００２３】
次に、Ｓ５０８〜Ｓ５１４に示すＵＳＢアイソクロナス転送の周波数に応じた転送処理について説明する。
【００２４】
Ｓ５０４においてストリーミングが開始されると、ＰＣ１００は、ＤＶＣ１０２に対してＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを発行後、ＵｐＳｔｒｅａｍデータ転送用エンドポイントに対してＩＮトークン（データ転送命令）を発行し始めＤＶＣ１０２はそのＩＮトークンを受理する（Ｓ５０８）。ＣＰＵ２０８はＳ５０７で生成した転送可能なＭＰＥＧ２−ＴＳパケットがメモリ２０９に存在するかを確認する（Ｓ５０９）。Ｎｏと判断された場合はＣＰＵ２０８はＵＳＢコントローラ２１０によりＰＣ１００へＮｕｌｌパケットを送信する（Ｓ５１４）。Ｓ５０９でＹｅｓと判断された場合は、ＣＰＵ２０８はメモリ２０９上でＭＰＥＧ２−ＴＳパケットに所定の処理を加えＵＳＢパケット化を行う（Ｓ５１０）。次にＳ５１０で生成したパケットのＭＰＥＧ２−ＴＳパケット内にＧＯＰの先頭データが含まれているか判断する（Ｓ５１１）。ＮｏならばＳ５１０で生成したＵＳＢパケットをＵＳＢコントローラ２１０により転送する（Ｓ５１３）。Ｓ５１１でＹｅｓと判断された場合は、図３に示すＵＳＢパケットのストリームヘッダのＳＯＧフラグに１を設定する（Ｓ５１２）。
【００２５】
以上、Ｓ５０８〜Ｓ５１４を繰り返すことでストリーミングデータをＰＣ１００へ転送することが可能となる。
【００２６】
次に、ＵＳＢホストであるＰＣ１００の動作について説明する。
【００２７】
図６は、第１の実施形態に係るＰＣ１００のストリーミング時における処理の流れを説明するフローチャートである。以下、図６のフローチャートを参照して動作を説明する。
【００２８】
まず、ＵＳＢケーブル１０１が接続されると、ＰＣ１００はケーブル上のＶＢＵＳに電圧を印加する（Ｓ６０１）。このＶＢＵＳ印加を検知したＤＶＣ１０２が、Ｐｕｌｌ−Ｕｐ動作を行ってくるため、所定のネゴシエーション動作を行う（Ｓ６０２）。次に図示しないアプリケーションからストリーミング起動要求を受けると、ＤＶＣ１０２に対し、Ｓｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを投げストリーミング開始を告げる（Ｓ６０３）。ストリーミングを開始したＰＣ１００はＵＳＢアイソクロナス転送周波数に合わせたステップＳ６０４〜Ｓ６０８のストリーミングデータ取得処理と、ステップＳ６０９〜Ｓ６１３のストリーミングデータのデコード処理を並列で行い、図示しないアプリケーションから終了要求を受けるまでそれらを繰り返す。
【００２９】
まず、ＵＳＢアイソクロナス転送周波数で動作するステップＳ６０４〜Ｓ６０８について説明する。
【００３０】
ストリーミング再生が開始されると、ＤＶＣ１０２に対してＩＮトークンを発行し、ストリーミングデータの転送を要求する（Ｓ６０４）。次にＤＶＣ１０２からＵＳＢパケット形式で転送されたストリーミングデータを取得する（Ｓ６０５）。取得したストリーミングデータを所定のＵＳＢバッファエリアにバッファリングする（Ｓ６０６）。Ｓ６０５において取得したＵＳＢパケットにおいて、図３に示すＵＳＢパケットのストリームヘッダのＳＯＧフラグが１か判断する（Ｓ６０７）。ＮｏならばＳ６０４へ戻る。Ｓ６０７でＹｅｓならばデコーダにバッファクリア要求を出し、Ｓ６０４へ戻る。
【００３１】
以上、Ｓ６０４〜Ｓ６０８を繰り返すことでビデオカメラ１０２からストリーミングデータを取得することが可能となる。
【００３２】
次に、ストリーミングデータのデコード処理を行うステップＳ６０９〜Ｓ６１３について説明する。
【００３３】
まず、デコーダのバッファエリアにデコードしていないデータが存在するか判断する（Ｓ６０９）。ＮｏならばＳ６０９に戻る。Ｙｅｓならばデコードデータをデコードする（Ｓ６１０）。Ｓ６１０でデコードした画像を表示しＳ６０９に戻る（Ｓ６１１）。Ｓ６０９〜Ｓ６１１はデコードデータ内に存在するタイムスタンプの周期に合わせて繰り返す。
また、Ｓ６０９〜Ｓ６１１を実行している場合にＳ６０８によりデコーダバッファクリア要求をされるとデコーダのバッファエリアをクリアする（Ｓ６１２）。次にＳ６０６でＵＳＢ通信用バッファにバッファリングされているストリーミングデータをデコーダバッファへコピーしＳ６０９に戻る（Ｓ６１３）。
【００３４】
以上、Ｓ６０９〜Ｓ６１３を繰り返すことでＤＶＣのＧＯＰ生成タイミングにほぼ一致したタイミングでストリーミングデータをデコード、表示することが可能になり、デコーダのバッファエリアをクリアし、新たなストリームデータをコピーすることでデコーダのバッファエリアのオーバーラン、アンダーランを回避することが可能になる。
【００３５】
次に、Ｄｏｗｎ  Ｓｔｒｅａｍによるストリーミングについて述べる。
【００３６】
図７はＤＶＣ１０２のストリーミング時（Ｄｏｗｎ  Ｓｔｒｅａｍ）における処理の流れを説明するフローチャートである。以下、図２のブロック図及び図７のフローチャートを参照して動作を説明する。
【００３７】
まず、ＵＳＢケーブル１０１がＵＳＢコネクタ２１１に挿入される（Ｓ７０１）。ＵＳＢコントローラ２１０は、ケーブル１０１が挿入されたことを検知し、ＣＰＵ２０８にケーブルが挿入された旨を通知する。これによりＣＰＵ２０８はＵＳＢコントローラ２１０に必要な初期化を行い、ＵＳＢコントローラ２１０を制御して接続用のＰｕｌｌ−Ｕｐを行う（Ｓ７０２）。ＵＳＢデバイスであるＤＶＣ１０２からＰｕｌｌ−Ｕｐを受けたＵＳＢホストであるＰＣ１００は、そのＵＳＢデバイス１０２に対するネゴシエーション動作に入る。ネゴシエーション要求を受けたＤＶＣ１０２は接続モードに合わせたディスクリプタ情報（ＵＳＢ接続情報）を、メモリ２０９条に作成し、ＰＣ１００のネゴシエーション要求に応じて転送する（Ｓ７０３）。ＰＣ１００はストリーミング開始時にＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを発行してＡｌｔｅｒｎａｔｅ設定を変更し、ＤＶＣ１０２にストリーミング開始を告げる。ストリーミング開始を告げられたＤＶＣ１０２は、ステップＳ７０５〜Ｓ７０９に示す、ＵＳＢアイソクロナス転送の周波数に応じた転送処理と、ステップＳ７１０〜Ｓ７１４に示す、フレーム周波数に応じた伸張表示処理を並列で行い、ＰＣ１００から再びＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドによってストリーミング終了が告げられるまでこれを繰り返す（Ｓ７０４）。
【００３８】
ＵＳＢアイソクロナス転送の周波数で動作するＳ７０５〜Ｓ７０９について説明する。
Ｓ７０４においてストリーミングが開始されると、ＰＣ１００は、ＤＶＣ１０２に対してＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを発行後、Ｄｏｗｎ  Ｓｔｒｅａｍデータ転送用エンドポイントに対してＩＮトークン（データ受信命令）を発行し始めＤＶＣ１０２はそのＩＮトークンを受理する（Ｓ７０５）。
【００３９】
次にＰＣ１００からＵＳＢパケット形式で転送されたストリーミングデータを取得する（Ｓ７０６）。取得したストリーミングデータをメモリ２０９にあらかじめ確保してある所定のＵＳＢバッファエリアにバッファリングする（Ｓ７０７）。Ｓ７０６において取得したＵＳＢパケットにおいて、図３に示すＵＳＢパケットのストリームヘッダのＳＯＧフラグが１か判断する（Ｓ７０８）。ＮｏならばＳ７０５へ戻る。Ｓ７０８でＹｅｓならば画像圧縮伸張部２０３にバッファクリア要求を出し、Ｓ７０５へ戻る。
【００４０】
以上、Ｓ７０５〜Ｓ７０９を繰り返すことでＰＣ１００からストリーミングデータを取得することが可能となる。
【００４１】
次に、Ｓ７１０〜Ｓ７１４に示す、フレーム周波数に応じた伸張表示処理について説明する。
【００４２】
メモリ２０９上にあらかじめ用意されている所定のバッファエリアに画像圧縮伸張部２０３によってデコードしていないデータが存在するか判断する（Ｓ７１０）。
【００４３】
ＮｏならばＳ７１０に戻る。Ｙｅｓならば画像圧縮伸張部２０３を制御しデコードデータをデコードする（Ｓ７１１）。Ｓ７１１でデコードした画像を表示しＳ７１０に戻る（Ｓ７１２）。Ｓ７１０〜Ｓ７１２はデコードデータ内に存在するタイムスタンプの周期に合わせて繰り返す。
【００４４】
また、Ｓ７１０〜Ｓ７１２を実行している場合にＳ７０９により画像圧縮伸張部２０３のバッファクリア要求をされると、メモリ２０９上にある画像圧縮伸張部２０３のバッファエリアをクリアする（Ｓ７１３）。次にＳ７０７でメモリ２０９上にあるＵＳＢ通信用バッファにバッファリングされているストリーミングデータを画像圧縮伸張部２０３のバッファへコピーしＳ７１０に戻る（Ｓ７１４）。
【００４５】
以上、Ｓ７１０〜Ｓ７１４を繰り返すことでＰＣ１００のＧＯＰ生成タイミングにほぼ一致したタイミングでストリーミングデータをデコード、表示することが可能になり、メモリ２０９上にある画像圧縮伸張部２０３のバッファエリアをクリアし、新たなストリームデータをコピーすることで画像圧縮伸張部２０３のバッファエリアのオーバーラン、アンダーランを回避することが可能になる。
【００４６】
次に、ＵＳＢホストであるＰＣ１００の動作について説明する。
【００４７】
図８は、ＰＣ１００のストリーミング時（Ｄｏｗｎ  Ｓｔｒｅａｍ）における処理の流れを説明するフローチャートである。以下、図８のフローチャートを参照して動作を説明する。
【００４８】
ＵＳＢケーブル１０１が接続されると、ＰＣ１００はケーブル上のＶＢＵＳに電圧を印加する（Ｓ８０１）。このＶＢＵＳ印加検知したＤＶＣ１０２が、Ｐｕｌｌ−Ｕｐ動作を行ってくるため、所定のネゴシエーション動作を行う（Ｓ８０２）。図示しないアプリケーションからストリーミング起動要求を受けると、ＤＶＣ１０２に対し、Ｓｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを投げストリーミング開始を告げる。ストリーミングを開始したＰＣ１００はＳ８０４〜Ｓ８０６に示すストリーミングデータ生成処理と、ＵＳＢアイソクロナス転送周波数に合わせたＳ８０７〜Ｓ８１３のストリーミングデータ送信処理を並列で行い、図示しないアプリケーションから終了要求を受けるまでこれらを繰り返す（Ｓ８０３）。
【００４９】
まず、Ｓ８０４〜Ｓ８０６に示すストリーミングデータ生成処理について説明する。
【００５０】
フレームの開始タイミングか判断する（Ｓ８０４）。Ｓ８０４においてＮｏと判断された場合はＳ８０４に戻る。Ｓ８０４においてＹｅｓと判断された場合は、図示しないＰＣのメモリ上にあるＭＰＥＧ−ＰＥＳデータを取得する（Ｓ８０５）。Ｓ８０５で生成されたＭＰＥＧ２＿ＰＥＳパケットを１８８バイトの固定長に分割し、ＭＰＥＧ２−ＴＳパケットを生成し、図示しないＰＣ１００のメモリへ一時的に保管する（Ｓ８０６）。
【００５１】
以上、Ｓ８０４〜Ｓ８０６を繰り返すことで図示しないＰＣのメモリ上にＭＰＥＧ２−ＴＳパケットを順次生成可能となる。
【００５２】
次にＵＳＢアイソクロナス転送周波数に合わせたＳ８０７〜Ｓ８１３のストリーミングデータ送信処理について説明する。
【００５３】
Ｓ８０３においてストリーミングが開始されると、ＰＣ１００は、ＤＶＣ１０２に対してＳｅｔ＿Ｉｎｔｅｒｆａｃｅコマンドを発行後、Ｄｏｗｎ  Ｓｔｒｅａｍデータ転送用エンドポイントに対してＩＮトークン（データ転送命令）を発行する（Ｓ８０７）。ＰＣ１００はＳ８０６で生成した転送可能なＭＰＥＧ２−ＴＳパケットが図示しないＰＣ１００のメモリに存在するかを確認する（Ｓ８０８）。Ｎｏと判断された場合はＤＶＣ１０２へＮｕｌｌパケットを送信する（Ｓ８１３）。Ｓ８０８でＹｅｓと判断された場合は、図示しないＰＣ１００のメモリ上でＭＰＥＧ２−ＴＳパケットに所定の処理を加えＵＳＢパケット化を行う（Ｓ８０９）。次にＳ８０９で生成したパケットのＭＰＥＧ２−ＴＳパケット内にＧＯＰの先頭データが含まれているか判断する（Ｓ８１０）。Ｓ８１０でＮｏと判断された場合は、Ｓ８１２へ移る。Ｓ８１０でＹｅｓと判断された場合は、図３に示すＵＳＢパケットのストリームヘッダのＳＯＧフラグに１を設定する（Ｓ８１１）。Ｓ８０９またはＳ８１１で生成したＵＳＢパケットをＤＶＣ１０２へ転送する（Ｓ８１２）。
【００５４】
以上、Ｓ８０７〜Ｓ８１３を繰り返すことでストリーミングデータをＤＶＣ１０２へ転送することが可能となる。
【００５５】
尚、本実施の形態では、ＭＰＥＧ２−ＴＳフォーマットを例に説明したが、本発明はこれに限定するものではなく、ＭＰＥＧ１フォーマット、ＭＰＥＧ２−ＰＳフォーマット、ＭＰＥＧ４フォーマットなど、他の画像フォーマットであっても構わない。
【００５６】
これは、動画像データの転送元と転送先でフレーム周波数さえ一致すれば、画像符号フォーマットによらず、バッファのオーバーラン、アンダーランを回避できるためであり、本実施の形態で記載したＵＳＢパケットにＳＯＧ（Ｓｔａｒｔ  ｏｆ  ＧＯＰ）、または、それに類するクロックの授受が行えれば、転送元と転送先のフレーム周波数をほぼ一致させることができ、バッファのオーバーラン、アンダーランは回避可能である。
【００５７】
また、本実施例では、画像データ及び音声データから成るＭＰＥＧ２−ＴＳフォーマットで説明したが、画像のみ、または、音声のみの転送であっても良い。音声のみの場合は、本実施形態で示したＳＯＧ（Ｓｔａｒｔ  ｏｆ  ＧＯＰ）ではなく、音声のサンプリング周波数等を同様にＵＳＢパケットのヘッダに盛り込み転送することで、両者のサンプリングクロックを一致させることができ、同様の効果が得られる。
【００５８】
また、本字しいの形態では、ＤＶＣを例に説明したが本発明はこれに限定されるものではなく、ＵＳＢもしくは、これに類するインターフェイスにより接続可能な電子機器であれば良い。
【００５９】
また、本実施の形態では、ＤＶＣとＰＣ間のＵＳＢによるデータ転送について説明したが、ＵＳＢもしくはこれに類するインターフェイスによるデータ転送方式であれば良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態に係るデジタルビデオカメラとパーソナルコンピュータとからなる送信システムの構成を示す図である。
【図２】本発明の実施形態に係るデジタルビデオカメラの構成を示すブロック図である。
【図３】本発明の実施形態に係るＵＳＢストリームヘッダの構成を示す図である。
【図４】本発明の実施形態におけるＵｐＳｔｒｅａｍのストリーミング時のエンコードタイミング及びＵＳＢの転送タイミングと、ＵＳＢ受信タイミング及びデコードタイミングを示す図である。
【図５】本発明の実施形態におけるＵｐＳｔｒｅａｍのストリーミング時におけるデジタルビデオカメラの動作を示すフローチャートである。
【図６】本発明の実施形態におけるＵｐＳｔｒｅａｍのストリーミング時におけるパーソナルコンピュータの動作を示すフローチャートである。
【図７】本発明の実施形態におけるＤｏｗｎＳｔｒｅａｍのストリーミング時におけるデジタルビデオカメラの動作を示すフローチャートである。
【図８】本発明の実施形態におけるＤｏｗｎＳｔｒｅａｍのストリーミング時におけるパーソナルコンピュータの動作を示すローチャートである。
【図１】
2006005854.tif 000003
【図２】
2006005854.tif 000004
【図３】
2006005854.tif 000005
【図４】
2006005854.tif 000006
【図５】
2006005854.tif 000007
【図６】
2006005854.tif 000008
【図７】
2006005854.tif 000009
【図８】
2006005854.tif 000010