(57)【要約】【課題】ＰＣ等の所定装置にＵＳＢやＰＣＩ等を介して接続されるＡＶ（オーディオ・ビデオ）出力デバイスに関し、所定装置から転送される非圧縮ＡＶデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合において、ビデオ・データの補完を行った場合、所定装置側でＡＶ同期処理ができるようにする。【解決手段】ＣＰＵ２０は、ビデオ書き込み領域２８が殆ど空である（ビデオ書き込み領域２８内のビデオ出力処理部２６への未転送ビデオ・データが1フレームを下回った）か否かを判断し、ビデオ書き込み領域２８が殆ど空であると判断した場合には、ビデオ補完処理を行い（ビデオ書き込み領域２８からビデオ出力処理部２６への次のＤＭＡ転送の完了時に、１回だけ、リード・ポインタを1フレーム分進めないようにし）、補完量をＵＳＢコントローラ１５を介してＰＣ１１に通知する。【選択図】          図１
2006146649.tif 000002
【特許請求の範囲】
【請求項１】
所定装置から転送される非圧縮オーディオ・ビデオ・データを格納するバッファと、
該バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有する
ことを特徴とするオーディオ・ビデオ出力デバイス。
【請求項２】
所定装置から転送される非圧縮オーディオ・ビデオ・データを格納するバッファと、
該バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有する
ことを特徴とするオーディオ・ビデオ出力デバイス。
【請求項３】
所定装置から転送される非圧縮オーディオ・ビデオ・データをバッファに格納し、
該バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、該補完量を前記所定装置に通知する制御を行う
ことを特徴とするオーディオ・ビデオ出力方法。
【請求項４】
所定装置から転送される非圧縮オーディオ・ビデオ・データをバッファに格納し、
該バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、該補完量を前記所定装置に通知する制御を行う
ことを特徴とするオーディオ・ビデオ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ（Personal Computer）等にＵＳＢ（Universal Serial Bus）やＰＣＩ（Peripheral Component Interconnect）等を介して接続して使用されるオーディオ・ビデオ出力デバイス（Audio／Video Output Device：以下、ＡＶ出力デバイスという）及びオーディオ・ビデオ出力方法（以下、ＡＶ出力方法という）に関する。
【背景技術】
【０００２】
図４は従来のＡＶ出力デバイスの一例を使用してなるシステムの一例の概略的構成図である。図４中、１はＰＣ、２はＵＳＢ、３は従来のＡＶ出力デバイスの一例、４はＭＰＥＧ（Moving Picture Experts Group）規格の圧縮オーディオ・ビデオ・データ（以下、圧縮ＡＶデータという）を非圧縮オーディオ・ビデオ・データ（以下、非圧縮ＡＶデータという）にデコードするデコーダ、５はテレビである。
【０００３】
図４に示すシステムは、ＰＣ１が出力するＭＰＥＧ規格の圧縮ＡＶデータをＵＳＢ２を介してＡＶ出力デバイス３に転送し、ＡＶ出力デバイス３がデコーダ４でＭＰＥＧ規格の圧縮ＡＶデータの非圧縮ＡＶデータへのデコード処理及びアナログ変換処理を行い、テレビ５にアナログ化されたビデオ信号及びオーディオ信号を与えるというものである。
【特許文献１】特開２００３−２０２９６１号公報
【特許文献２】特開２０００−９００１９号公報
【特許文献３】特開２００２−３５４０５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図４に示すシステムでは、ＰＣ１が出力するＭＰＥＧ規格の圧縮ＡＶデータのデコード処理はＡＶ出力デバイス３で行われるが、ＰＣ１で扱われる圧縮データの形式としては、ＭＰＥＧの他、Ｄivx（digital video express）やＡＶＩ（audio video interleaving）等、様々なものがある。しかしながら、ＡＶ出力デバイスとして、これら全ての圧縮形式に対応したデコーダを内蔵したものは存在しない。
【０００５】
そこで、ＰＣ１上で扱われる様々な形式の圧縮データに対応するために、図４に示すシステムの代わりに、図５に示すようなシステムを構成することが考えられる。図５に示すシステムは、ＰＣ１でＭＰＥＧ規格等の圧縮ＡＶデータの非圧縮ＡＶデータへのデコード処理を行い、非圧縮ＡＶデータをＰＣ１からバス２を介してＡＶ出力デバイス６に転送し、ＡＶ出力デバイス６で非圧縮ＡＶデータのアナログ化を行い、テレビ５にアナログ化されたビデオ信号及びオーディオ信号を与えるというものである。
【０００６】
ＡＶ出力デバイス６において、７はＰＣ１からＵＳＢ２を介して与えられる非圧縮ＡＶデータを格納するバッファ、８はバッファ７から出力される非圧縮ＡＶデータをビデオ・データとオーディオ・データとに分離するデマルチプレクサ、９はデマルチプレクサ８から出力されるビデオ・データをＮＴＳＣ（National Television System Committee）方式のビデオ信号にエンコードするビデオ・エンコーダ、１０はデマルチプレクサ８から出力されるオーディオ・データをアナログ信号化するオーディオＤＡ（digital to analog）コンバータである。
【０００７】
図５に示すシステムによれば、ＰＣ１において圧縮ＡＶデータの非圧縮ＡＶデータへのデコード処理を行うとしているので、ＰＣ１上で扱われる様々な形式の圧縮データに対応することができる。しかしながら、ＵＳＢ２のバンド幅が十分に確保できないと、十分な非圧縮ＡＶデータをＡＶ出力デバイス６に供給できないことになるが、一般に、バッファ７からの非圧縮ＡＶデータの出力は一定のレートで行われるため、バッファ７内の非圧縮ＡＶデータが枯渇した場合、テレビ５にビデオ信号及びオーディオ信号を与えることができなくなる。
【０００８】
このため、バッファ７内のビデオ・データ又はオーディオ・データが枯渇するおそれがある場合には、ビデオ・データ又はオーディオ・データを補完する必要があるが、ビデオ・データ又はオーディオ・データを補完した場合には、これに対応して、ビデオ・データとオーディオ・データとの同期を取るための何らかの手段を講じないと、ビデオ・データとオーディオ・データとの同期がずれたままになるという不都合が発生してしまう。
【０００９】
本発明は、かかる点に鑑み、所定装置から転送される非圧縮ＡＶデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合において、ビデオ・データの補完を行った場合、非圧縮ＡＶデータを転送する所定装置側でオーディオ・ビデオ同期処理（以下、ＡＶ同期処理という）を行うことができるようにしたＡＶ出力デバイス及びＡＶ出力方法を提供することを第１の目的とする。
【００１０】
また、本発明は、所定装置から転送される非圧縮ＡＶデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合において、オーディオ・データの補完を行った場合、非圧縮ＡＶデータを転送する所定装置側でＡＶ同期処理を行うことができるようにしたＡＶ出力デバイス及びＡＶ出力方法を提供することを第２の目的とする。
【課題を解決するための手段】
【００１１】
本発明中、第１の発明は、ＡＶ出力デバイスの発明であり、所定装置から転送される非圧縮ＡＶデータを格納するバッファと、該バッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有するというものである。
【００１２】
本発明中、第２の発明は、ＡＶ出力デバイスの発明であり、所定装置から転送される非圧縮ＡＶデータを格納するバッファと、該バッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有するというものである。
【００１３】
本発明中、第３の発明は、ＡＶ出力方法の発明であり、所定装置から転送される非圧縮ＡＶデータをバッファに格納し、該バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、該補完量を前記所定装置に通知する制御を行うというものである。
【００１４】
本発明中、第４の発明は、ＡＶ出力方法の発明であり、所定装置から転送される非圧縮ＡＶデータをバッファに格納し、該バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、該補完量を前記所定装置に通知する制御を行うというものである。
【発明の効果】
【００１５】
第１の発明によれば、所定装置から転送される非圧縮ＡＶデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データの補完を行い、その補完量が非圧縮ＡＶデータを転送する所定装置に通知されるので、所定装置側でＡＶ同期処理を行うことができる。
【００１６】
第２の発明によれば、所定装置から転送される非圧縮ＡＶデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データの補完を行い、その補完量が非圧縮ＡＶデータを転送する所定装置に通知されるので、所定装置側でＡＶ同期処理を行うことができる。
【００１７】
第３の発明によれば、所定装置から転送される非圧縮ＡＶデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データの補完を行い、その補完量が非圧縮ＡＶデータを転送する所定装置に通知されるので、所定装置側でＡＶ同期処理を行うことができる。
【００１８】
第４の発明によれば、所定装置から転送される非圧縮ＡＶデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データの補完を行い、その補完量が非圧縮ＡＶデータを転送する所定装置に通知されるので、所定装置側でＡＶ同期処理を行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、図１〜図３を参照して、本発明のＡＶ出力デバイスの一実施形態について、本発明のＡＶ出力方法の一実施形態を含めて説明する。
【００２０】
（全体構成）
図１は本発明のＡＶ出力デバイスの一実施形態を使用してなるシステムの一例の概略的構成図である。図１中、１１はＰＣ、１２はＵＳＢ２.０規格のＵＳＢ、１３はＰＣ１１からＵＳＢ２を介して非圧縮ＡＶデータ又はＭＰＥＧストリームが転送される本発明のＡＶ出力デバイスの一実施形態、１４は本発明のＡＶ出力デバイスの一実施形態１３からＮＴＳＣ方式のビデオ信号及びアナログ化されたオーディオ信号が供給されるテレビである。
【００２１】
本発明のＡＶ出力デバイスの一実施形態１３において、１５はＰＣ１１と通信を行うＵＳＢコントローラであり、表１はＵＳＢ２.０で定義されているエンド・ポイント０〜エンド・ポイント３への機能の割り当てを示している。
【００２２】
【表１】
2006146649.tif 000003
【００２３】
即ち、エンド・ポイント０には、コントロール転送機能が割り当てられている。本例では、リクエストタイプ＝「ベンダ」として、本発明のＡＶ出力デバイスの一実施形態１３をコントロールするためのコマンド（たとえば、ＡＶ出力開始コマンド、ＡＶ出力停止コマンド等）が定義され、必要なタイミングでホストであるＰＣ１１から本発明のＡＶ出力デバイスの一実施形態１３に対して発行される。
【００２４】
エンド・ポイント１には、本発明のＡＶ出力デバイスの一実施形態１３からＰＣ１１に対してメッセージを通知するためのバルクＩＮ転送機能が割り当てられており、定期的にＰＣ１１から要求が発行される。
【００２５】
エンド・ポイント２には、ＰＣ１１からビデオ・データを本発明のＡＶ出力デバイスの一実施形態１３に転送するためのバルクＯＵＴ転送機能が割り当てられており、ＰＣ１１でビデオ・データが準備された時点で、ＰＣ１１から要求が発行される。表２はＰＣ１１が転送するビデオ・データのフォーマットを示している。
【００２６】
【表２】
2006146649.tif 000004
【００２７】
エンド・ポイント３には、ＰＣ１１からオーディオ・データを本発明のＡＶ出力デバイスの一実施形態１３に転送するためのバルクＯＵＴ転送機能が割り当てられており、ＰＣ１１でオーディオ・データが準備された時点で、ＰＣ１１から要求が発行される。表３はＰＣ１１が転送するオーディオ・データのフォーマットを示している。
【００２８】
【表３】
2006146649.tif 000005
【００２９】
１６はＵＳＢコントローラ１５から非圧縮ＡＶデータ又はＭＰＥＧストリームが転送されるＭＰＥＧデコーダＬＳＩ、１７はＭＰＥＧデコーダＬＳＩ１６から与えられる非圧縮ＡＶデータの記憶やＭＰＥＧデコーダＬＳＩ１６でのＭＰＥＧストリームのデコード処理等に使用されるＳＤＲＡＭ（Synchronous Random Access Memory）である。
【００３０】
１８はＭＰＥＧデコーダＬＳＩ１６が出力するＩＴＵ−Ｒ  ＢＴ.６５６で規定されるデジタル・ビデオ・データのＮＴＳＣ方式のビデオ信号へのエンコードを行うビデオ・エンコーダ、１９はＭＰＥＧデコーダＬＳＩ１６が出力するＩ２Ｓフォーマットのオーディオ・データのアナログ信号への変換を行うオーディオＤＡコンバータである。
【００３１】
（ＭＰＥＧデコーダＬＳＩ１６の構成）
ＭＰＥＧデコーダＬＳＩ１６において、２０はＵＳＢコントローラ１５との通信やＭＰＥＧデコーダＬＳＩ１６内の全体的制御等を行うＣＰＵ（central processing unit）、２１はＣＰＵバス、２２はＵＳＢコントローラ１５から与えられる非圧縮ＡＶデータをビデオ・データとオーディオ・データとに分離するデマルチプレクサである。
【００３２】
２３はデマルチプレクサ２２が出力する非圧縮のビデオ・データのＳＤＲＡＭ１７への書き込み処理（入力処理）を行うビデオ書き込み処理部（ビデオ入力処理部）、２４はデマルチプレクサ２２が出力する非圧縮のオーディオ・データのＳＤＲＡＭ１７への書き込み処理（入力処理）を行うオーディオ書き込み処理部（オーディオ入力処理部）である。
【００３３】
２５はＳＤＲＡＭ１７に対応して設けられているＳＤＲＡＭインタフェース、２６はＳＤＲＡＭ１７から出力されるビデオ・データをＩＴＵ−Ｒ  ＢＴ.６５６で規定されるデジタル・ビデオ・データとしてビデオ・エンコーダ１８に出力するビデオ出力処理部、２７はＳＤＲＡＭ１７から出力されるオーディオ・データをＩ２Ｓフォーマットのデジタル・オーディオ・データとしてオーディオＤＡコンバータ１９に出力するオーディオ出力処理部である。
【００３４】
（ＳＤＲＡＭ１７の構成）
ＳＤＲＡＭ１７において、２８はビデオ書き込み処理部２３の書き込み処理によりビデオ・データが書き込まれるビデオ・バッファをなすビデオ書き込み領域、２９はオーディオ書き込み処理部２４の書き込み処理によりオーディオ・データが書き込まれるオーディオ・バッファをなすオーディオ書き込み領域、３０はＭＰＥＧストリームのデコード処理等に使用されるメモリ領域である。
【００３５】
表４はビデオ書き込み領域２８及びオーディオ書き込み領域２９のサイズを示しており、この例では、ビデオ書き込み領域２８とオーディオ書き込み領域２９とで、ＰＣ１１から転送される非圧縮ＡＶデータを格納する入力バッファが構成されている。
【００３６】
【表４】
2006146649.tif 000006
【００３７】
（非圧縮ＡＶデータの流れ）
図１に示すシステムにおける非圧縮ＡＶデータの流れを説明すると、次の通りである。ＰＣ１１内のデバイス・ドライバの制御により、ＰＣ１１から非圧縮ＡＶデータがエンド・ポイント２及びエンド・ポイント３を介してＵＳＢコントローラ１５に転送される。この場合、ＵＳＢコントローラ１５は、パラレルのビデオ・データ及びオーディオ・データを時分割して、非圧縮ＡＶデータをＭＰＥＧデコーダＬＳＩ１６のデマルチプレクサ２２に転送する。
【００３８】
なお、ＣＰＵ２０がビデオ書き込み処理部２３及びオーディオ書き込み処理部２４に対して書き込み要求を行っていない場合は、ＵＳＢコントローラ１５は、ＰＣ１１からの非圧縮ＡＶデータを受け入れないで、ＰＣ１１からのバルクＯＵＴ要求に対して、その旨を示すＮＡＫ（Negative Acknowledgment）信号を返す。
【００３９】
デマルチプレクサ２２は、ＵＳＢコントローラ１５から非圧縮ＡＶデータが転送されてくると、非圧縮ＡＶデータをビデオ・データとオーディオ・データとに分離し、ビデオ・データをビデオ書き込み処理部２３に転送し、オーディオ・データをオーディオ書き込み処理部２４に転送する。
【００４０】
なお、ＰＣ１１からＵＳＢコントローラ１５にＭＰＥＧストリームが与えられる場合には、ＵＳＢコントローラ１５は、ＭＰＥＧストリームをデータバス（図示せず）に出力してデマルチプレクサ２２に供給し、デマルチプレクサ２２は、ＭＰＥＧストリームをＭＰＥＧデコード処理部（図示せず）に転送する。
【００４１】
ビデオ書き込み処理部２３は、デマルチプレクサ２２から与えられるビデオ・データを、ＣＰＵ２０からの書き込み要求により、ＳＤＲＡＭインタフェース２５を介してビデオ書き込み領域２８にＤＭＡ（Direct Memory Access）転送で書き込む。この場合、ビデオ書き込み処理部２３は、ＤＭＡ転送完了毎（１フレーム毎）にＣＰＵ２０に割り込みを上げる。これにより、ＣＰＵ２０は、ビデオ書き込み領域２８に対するビデオ・データの書き込み量を知ることができる。
【００４２】
オーディオ書き込み処理部２４は、デマルチプレクサ２２から与えられるオーディオ・データを、ＣＰＵ２０からの書き込み要求により、ＳＤＲＡＭインタフェース２５を介してオーディオ書き込み領域２９にＤＭＡ転送で書き込む。この場合、オーディオ書き込み処理部２４は、ＤＭＡ転送完了毎（１１５２サンプル毎）にＣＰＵ２０に割り込みを上げる。これにより、ＣＰＵ２０は、オーディオ書き込み領域２９に対するオーディオ・データの書き込み量を知ることができる。
【００４３】
ビデオ書き込み領域２８に書き込まれたビデオ・データは、ＣＰＵ２０からのＤＭＡ転送要求により、ＳＤＲＡＭインタフェース２５を介してビデオ出力処理部２６に転送される。この場合、ビデオ出力処理部２６は、ビデオ・データのＤＭＡ転送完了毎（１フレーム毎）にＣＰＵ２０に割り込みを上げる。これにより、ＣＰＵ２０は、ビデオ書き込み領域２８からの出力ビデオ・データ量を知ることができる。
【００４４】
オーディオ書き込み領域２９に書き込まれたオーディオ・データは、ＣＰＵ２０からのＤＭＡ転送要求により、ＳＤＲＡＭインタフェース２５を介してオーディオ出力処理部２７に転送される。この場合、オーディオ出力処理部２７は、オーディオ・データのＤＭＡ転送完了毎（１１５２サンプル毎）にＣＰＵ２０に割り込みを上げる。これにより、ＣＰＵ２０は、オーディオ書き込み領域２９からの出力オーディオ・データ量を知ることができる。
【００４５】
ビデオ書き込み領域２８からビデオ出力処理部２６に転送されたビデオ・データは、ＩＴＵ−Ｒ  ＢＴ.６５６で規定されるデジタル・ビデオ・データとしてＭＰＥＧデコーダＬＳＩ１６の外部に出力される。また、オーディオ書き込み領域２９からオーディオ出力処理部２７に転送されたオーディオ・データは、Ｉ２Ｓフォーマットのデジタル・オーディオ・データとしてＭＰＥＧデコーダＬＳＩ１６の外部に出力される。
【００４６】
ビデオ出力処理部２６から出力されるビデオ・データは、ビデオ・エンコーダ１８によりＮＴＳＣ方式のビデオ信号に変換されてテレビ１４に転送される。また、オーディオ出力処理部２７から出力されるオーディオ・データは、オーディオＤＡコンバータ１９によりアナログ信号に変換されてテレビ１４に転送される。
【００４７】
（ビデオ書き込み領域２８へのビデオ・データの書き込み処理）
デマルチプレクサ２２からビデオ書き込み処理部２３に転送されるビデオ・データは、ビデオ書き込み領域２８に先頭アドレスから順にビデオ書き込み処理部２３からのＤＭＡ転送によって書き込まれ、最終アドレスまで書き込まれたら、先頭アドレスに戻る。
【００４８】
書き込みアドレスは、ＣＰＵ２０によりライト・ポインタとして管理され、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのＤＭＡ転送開始時に転送開始先として、そのライト・ポインタが指定される。そして、ＣＰＵ２０は、ビデオ書き込み処理部２３からのＤＭＡ転送完了割り込みを検出したら、ライト・ポインタを転送データ・サイズ分だけ進め、ビデオ書き込み領域２８の最終アドレスを超えた場合には、ライト・ポインタをビデオ書き込み領域２８の先頭アドレスに戻す。
【００４９】
具体的な転送制御としては、ビデオ書き込み処理部２３に存在する「転送先ポインタ・レジスタ」に上記のライト・ポインタを設定し、「転送サイズ・レジスタ」に６９１２００バイトを設定し、「転送開始レジスタ」に１を設定すると、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのビデオ・データのＤＭＡ転送が開始される。また、ＤＭＡ転送が完了した場合には、ビデオ書き込み処理部２３からＣＰＵ２０に割り込みが上がるので、その時点で、ライト・ポインタを進める。
【００５０】
（オーディオ書き込み領域２９へのオーディオ・データの書き込み処理）
デマルチプレクサ２２からオーディオ書き込み処理部２４に転送されるオーディオ・データは、オーディオ書き込み領域２９に先頭アドレスから順にオーディオ書き込み処理部２４からのＤＭＡ転送によって書き込まれ、最終アドレスまで書き込まれたら、先頭アドレスに戻る。
【００５１】
書き込みアドレスは、ＣＰＵ２０によりライト・ポインタとして管理され、オーディオ書き込み処理部２４からオーディオ書き込み領域２９へのＤＭＡ転送開始時に転送開始先として、そのライト・ポインタが指定される。そして、ＣＰＵ２０は、オーディオ書き込み処理部２４からのＤＭＡ転送完了割り込みを検出したら、ライト・ポインタを転送データ・サイズ分だけ進め、オーディオ書き込み領域２９の最終アドレスを超えた場合には、ライト・ポインタをオーディオ書き込み領域２９の先頭アドレスに戻す。
【００５２】
具体的な転送制御としては、オーディオ書き込み処理部２４に存在する「転送先ポインタ・レジスタ」に上記のライト・ポインタを設定し、「転送サイズ・レジスタ」に４６０８バイトを設定し、「転送開始レジスタ」に１を設定すると、オーディオ書き込み処理部２４からオーディオ書き込み領域２９へのオーディオ・データのＤＭＡ転送が開始される。そして、ＤＭＡ転送が完了すると、オーディオ書き込み処理部２４からＣＰＵ２０に割り込みが上がるので、その時点で、ライト・ポインタを進める。
【００５３】
（ビデオ書き込み領域２８からのビデオ・データの読み出し処理）
ビデオ書き込み領域２８に書き込まれたビデオ・データは、ビデオ書き込み領域２８の先頭アドレスから順にＤＭＡ転送でビデオ出力処理部２６に転送され、最終アドレスまで読み出されたら、先頭アドレスに戻る。
【００５４】
読み出しアドレスは、ＣＰＵ２０によりリード・ポインタとして管理され、ビデオ書き込み領域２８からビデオ出力処理部２６へのＤＭＡ転送開始時に転送開始元として、そのリード・ポインタが指定される。そして、ＣＰＵ２０は、ビデオ出力処理部２６からのＤＭＡ転送完了割り込みを検出したら、リード・ポインタを転送データ・サイズ分だけ進め、ビデオ書き込み領域２８の最終アドレスを超えた場合には、リード・ポインタをビデオ書き込み領域２８の先頭アドレスに戻す。
【００５５】
具体的な転送制御としては、ビデオ出力処理部２６に存在する「転送元ポインタ・レジスタ」に上記のリード・ポインタを設定し、「転送サイズ・レジスタ」に６９１２００バイトを設定し、「転送開始レジスタ」に１を設定すると、ビデオ書き込み領域２８からビデオ出力処理部２６へのビデオ・データのＤＭＡ転送が開始される。そして、ＤＭＡ転送が完了すると、ビデオ出力処理部２６からＣＰＵ２０に割り込みが上がるので、その時点で、リード・ポインタを進める。
【００５６】
（オーディオ書き込み領域２９からのオーディオ・データの読み出し処理）
オーディオ書き込み領域２９に書き込まれたオーディオ・データは、オーディオ書き込み領域２９の先頭アドレスから順にＤＭＡ転送でオーディオ出力処理部２７に転送され、最終アドレスまで読み出されたら、先頭アドレスに戻る。
【００５７】
読み出しアドレスは、ＣＰＵ２０によりリード・ポインタとして管理され、オーディオ書き込み領域２９からオーディオ出力処理部２７へのＤＭＡ転送開始時に転送開始元として、そのリード・ポインタが指定される。そして、ＣＰＵ２０は、オーディオ出力処理部２７からのＤＭＡ転送完了割り込みを検出したら、リード・ポインタを転送データ・サイズ分だけ進め、オーディオ書き込み領域２９の最終アドレスを超えた場合には、リード・ポインタをオーディオ書き込み領域２９の先頭アドレスに戻す。
【００５８】
具体的な転送制御としては、オーディオ出力処理部２７に存在する「転送元ポインタ・レジスタ」に上記のリード・ポインタを設定し、「転送サイズ・レジスタ」に４６０８バイトを設定し、「転送開始レジスタ」に１を設定すると、オーディオ書き込み領域２９からオーディオ出力処理部２７へのオーディオ・データのＤＭＡ転送が開始される。そして、ＤＭＡ転送が完了すると、オーディオ出力処理部２７からＣＰＵ２０に割り込みが上がるので、その時点で、リード・ポインタを進める。
【００５９】
（ＡＶデータの上書き）
本例では、ビデオ出力処理部２６へのＤＭＡ転送が完了していないビデオ書き込み領域２８のビデオ・データには上書きは行われない。ビデオ書き込み領域２８の空き領域が無い場合（ライト・ポインタにリード・ポインタが追いついてしまった場合）には、ＰＣ１１からのバルクＯＵＴ転送を受け入れず、ＰＣ１１にＮＡＫ信号を返す。
【００６０】
また、オーディオ出力処理部２７へのＤＭＡ転送が完了していないオーディオ書き込み領域２９のオーディオ・データには上書きは行われない。オーディオ書き込み領域２９の空き領域が無い場合（ライト・ポインタにリード・ポインタが追いついてしまった場合）には、ＰＣ１１からのバルクＯＵＴ転送を受け入れず、ＰＣ１１にＮＡＫ信号を返す。
【００６１】
（本発明のＡＶ出力デバイスの一実施形態１３での処理手順）
図２は本発明のＡＶ出力デバイスの一実施形態１３での処理手順を示すフローチャートである。本発明のＡＶ出力デバイスの一実施形態１３では、ＵＳＢコントローラ１５は、ＰＣ１１のデバイス・ドライバが発行するＡＶ出力開始コマンド（ＵＳＢベンダ・リクエストとして定義される）を受信したか否かを判断し（ステップＰ１）、受信した場合には、受信したＡＶ出力開始コマンドをＣＰＵ２０に転送する。
【００６２】
ＣＰＵ２０は、ＵＳＢコントローラ１５からのＡＶ出力開始コマンドを受信した場合には、ビデオ書き込み処理部２３及びオーディオ書き込み処理部２４に対して書き込み指示を行う。そして、ビデオ・データが２フレーム以上、ビデオ書き込み領域２８に溜まり、かつ、オーディオ・データが３２００サンプル以上、オーディオ書き込み領域２９に溜まったら、ＡＶ出力を開始する（ステップＰ２）。
【００６３】
ここに、ＣＰＵ２０は、オーディオ書き込み領域２９からオーディオ出力処理部２７へのオーディオ・データのＤＭＡ転送が停止中（オーディオ出力ＤＭＡ停止中）であるか否かを判断し（ステップＰ３）、停止中である場合には、オーディオ書き込み領域２９からのオーディオ・データのオーディオ出力処理部２７へのＤＭＡ転送を開始（オーディオ出力ＤＭＡ開始）する（ステップＰ４）。
【００６４】
これに対して、オーディオ書き込み領域２９からオーディオ出力処理部２７へのオーディオ・データのＤＭＡ転送が停止中でない場合（ステップＰ３でＮＯの場合）、又は、オーディオ書き込み領域２９からオーディオ出力処理部２７へのオーディオ・データのＤＭＡ転送を開始した場合には、ＣＰＵは、ビデオ書き込み領域２８からビデオ出力処理部２６へのビデオ・データのＤＭＡ転送が停止中（ビデオ出力ＤＭＡ停止中）である否かを判断し（ステップＰ５）、停止中である場合には、ビデオ書き込み領域２８からビデオ出力処理部２６へのビデオ・データのＤＭＡ転送を開始（ビデオ出力ＤＭＡ開始）する（ステップＰ６）。
【００６５】
これに対して、ビデオ書き込み領域２８からビデオ出力処理部２６へのビデオ・データのＤＭＡ転送が停止中である場合（ステップＰ５でＮＯの場合）、又は、ビデオ書き込み領域２８からビデオ出力処理部２６へのビデオ・データのＤＭＡ転送を開始した場合には、ＣＰＵ２０は、オーディオ書き込み処理部２４からオーディオ書き込み領域２９へのオーディオ・データのＤＭＡ転送が停止中（オーディオ入力ＤＭＡ停止中）であるか否かを判断し（ステップＰ７）、停止中である場合には、オーディオ書き込み領域２９に空き領域がある（Audio Buffer not Full）か否かを判断し（ステップＰ８）、オーディオ書き込み領域２９に空き領域がある場合には、オーディオ書き込み処理部２４からオーディオ書き込み領域２９ヘのオーディオ・データのＤＭＡ転送を開始（オーディオ入力ＤＭＡ開始）する（ステップＰ９）。
【００６６】
これに対して、オーディオ書き込み処理部２４からオーディオ書き込み領域２９へのオーディオ・データのＤＭＡ転送が停止中でない場合（ステップＰ７でＮＯの場合）、又は、オーディオ書き込み領域２９に空き領域がない場合（ステップＰ８でＮＯの場合）、又は、オーディオ書き込み処理部２４からオーディオ書き込み領域２９へのオーディオ・データのＤＭＡ転送を開始した場合には、ＣＰＵ２０は、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのビデオ・データのＤＭＡ転送が停止中（ビデオ入力ＤＭＡ停止中）であるか否かを判断し（ステップＰ１０）、停止中である場合には、ビデオ書き込み領域２８に空き領域がある（Video Buffer not Full）か否かを判断し（ステップＰ１１）、ビデオ書き込み領域２８に空き領域がある場合には、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのビデオ・データのＤＭＡ転送を開始（ビデオ入力ＤＭＡ開始）する（ステップＰ１２）。
【００６７】
これに対して、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのビデオ・データのＤＭＡ転送が停止中でない場合（ステップＰ１０でＮＯの場合）、又は、ビデオ書き込み領域２８に空き領域がない場合（ステップＰ１１でＮＯの場合）、又は、ビデオ書き込み処理部２３からビデオ書き込み領域２８へのビデオ・データのＤＭＡ転送を開始した場合には、ＣＰＵ２０は、オーディオ書き込み領域２９が殆ど空である（Audio Buffer Almost Empty）か否かを判断する（ステップＰ１３）。なお、オーディオ書き込み領域２９内のオーディオ出力処理部２７への未転送オーディオ・データが１１５２サンプルを下回ったことがＣＰＵ２０により検出された場合には、殆ど空であると判断される。
【００６８】
そして、ＣＰＵ２０は、オーディオ書き込み領域２９が殆ど空であると判断した場合には、オーディオ・データの補完処理（オーディオ補完処理）を行う（ステップＰ１４）。即ち、ＣＰＵ２０は、１１５２サンプル分のオーディオ・データを人工的に増やす処理を行う。たとえば、オーディオ書き込み領域２９からオーディオ出力処理部２７へのオーディオ・データの次のＤＭＡ転送の完了時に、ＣＰＵ２０は、通常時はリード・ポインタを１１５２サンプル分進めるところを、1回だけ進めないようにする。
【００６９】
次に、ＣＰＵ２０は、オーディオ・データの補完量をＰＣ１１に通知（オーディオ補完量通知）する（ステップＰ１５）。即ち、補完したオーディオ・データ量（本例の場合、１１５２サンプル＝４６０８バイト）をＣＰＵ２０がＵＳＢコントローラ１５に通知し、ＵＳＢコントローラ１５はエンド・ポイント１からＰＣ１１に通知する。
【００７０】
これに対して、オーディオ書き込み領域２９が殆ど空であると判断した場合（ステップＰ１３でＮＯの場合）、又は、オーディオ・データの補完量をＰＣ１１に通知した場合には、ＣＰＵ２０は、ビデオ書き込み領域２８が殆ど空である（Video Buffer Almost Empty）か否かを判断する（ステップＰ１６）。なお、ビデオ書き込み領域２８内のビデオ出力処理部２６への未転送ビデオ・データが1フレームを下回ったことがＣＰＵ２０により検出された場合には、殆ど空であると判断される。
【００７１】
そして、ＣＰＵ２０は、ビデオ書き込み領域２８が殆ど空であると判断した場合には、ビデオ・データの補完処理（ビデオ補完処理）を行う（ステップＰ１７）。即ち、ＣＰＵ２０は、１フレーム分のビデオ・データを人工的に増やす処理を行う。たとえば、ビデオ書き込み領域２８からビデオ出力処理部２６への次のＤＭＡ転送の完了時に、ＣＰＵ２０は、通常時はリード・ポインタを1フレーム分進めるところを、1回だけ進めないようにする。
【００７２】
次に、ＣＰＵ２０は、ビデオ・データの補完量をＰＣ１１に通知（ビデオ補完量通知）する（ステップＰ１８）。即ち、補完したビデオ・データ量（本例の場合、１フレーム＝６９１２００バイト）をＣＰＵ２０がＵＳＢコントローラ１５に通知し、ＵＳＢコントローラ１５はエンド・ポイント１からＰＣ１１へ通知する。
【００７３】
これに対して、ビデオ書き込み領域２８が殆ど空であると判断した場合（ステップＰ１６でＮＯの場合）、又は、ビデオ・データの補完量をＰＣ１１に通知した場合には、ＣＰＵ２０は、ＵＳＢコントローラ１５は、ＰＣ１１のデバイス・ドライバが発行するＡＶ出力停止コマンド（ＵＳＢベンダ・リクエストとして定義される）を受信したか否かを判断し（ステップＰ１９）、受信しない場合には、処理はステップＰ３に戻り、受信した場合には、受信したＡＶ出力開始コマンドをＣＰＵ２０に転送する。
【００７４】
ＣＰＵ２０は、ＵＳＢコントローラ１５からのＡＶ出力停止コマンドを受信した場合には、ビデオ書き込み領域２８及びオーディオ書き込み領域２９からのビデオ・データ及びオーディオ・データの出力を停止し（ステップＰ２０）、処理はステップＰ１に戻る。
【００７５】
（ＰＣ１１での処理手順）
図３はＰＣ１１での処理手順を示すフローチャートである。ＰＣ１１内のデバイス・ドライバは、アプリケーション等の上位のソフトウエアからＡＶ出力開始コマンドを受信したか否かを判断し（ステップＳ１）、受信した場合には、ＡＶ出力開始コマンド（ＵＳＢベンダ・リクエストとして定義される）を本発明のＡＶ出力デバイスの一実施形態１３に発行する（ステップＳ２）。
【００７６】
次に、ＰＣ１１のデバイス・ドライバは、アプリケーション等の上位のソフトウエアから指定されたビデオ・データをエンド・ポイント２からバルクＯＵＴ転送で転送する（ステップＳ３）。ビデオ・データの転送サイズは、ＰＣ１１のデバイス・ドライバが決めた任意のサイズとなり、転送が完了したら、ＰＣ１１のデバイス・ドライバは、ＵＳＢコントローラ１５からの通知によって完了を認識する。なお、ＰＣ１１のデバイス・ドライバは、ビデオ・データの転送を開始したら、連続的に転送し続ける。
【００７７】
また、ＰＣ１１のデバイス・ドライバは、アプリケーション等の上位のソフトウエアから指定されたオーディオ・データをエンド・ポイント３からバルクＯＵＴ転送で転送する（ステップＳ４）。オーディオ・データの転送サイズは、ＰＣ１１のデバイス・ドライバが決めた任意のサイズとなり、転送が完了したら、ＰＣ１１のデバイス・ドライバはＵＳＢコントローラ１５からの通知によって完了を認識する。なお、ＰＣ１１のデバイス・ドライバは、オーディオ・データの転送を開始したら、連続的に転送し続ける。
【００７８】
次に、本発明のＡＶ出力デバイスの一実施形態１３から、ビデオ・データの補完量通知があるか否かを判断し（ステップＳ５）、ビデオ・データの補完量通知があった場合には、ＰＣ１１のデバイス・ドライバがこれから転送するフレームの中から、通知された補完量と同じフレーム数のピクチャを間引く、つまり、転送しないようにする（ステップＳ６）。
【００７９】
これに対して、本発明のＡＶ出力デバイスの一実施形態１３から、ビデオ・データの補完量通知がない場合（ステップＳ５でＮＯの場合）、又は、ＰＣ１１のデバイス・ドライバがこれから転送するフレームの中から、通知されたビデオ・データ補完量分のピクチャを間引いた場合には、本発明のＡＶ出力デバイスの一実施形態１３から、オーディオ・データの補完量通知があるか否かを判断し（ステップＳ７）、オーディオ・データの補完量通知があった場合、その補完量を積算する（ステップＳ８）。
【００８０】
これに対して、本発明のＡＶ出力デバイスの一実施形態１３から、オーディオ・データの補完量通知がない場合（ステップＳ７でＮＯの場合）、又は、オーディオ・データ補完量を積算した場合には、オーディオ・データ補完量の積算値Ａが１フレーム時間分のオーディオ・データ量に達したか否かを判断し（ステップＳ９）、達している場合には、フレーム・リピート処理を行う（ステップＳ１０）。即ち、ＰＣ１１のデバイス・ドライバがこれから転送するビデオ・フレームのうちの１枚をリピート（同じフレームを２回、本発明のＡＶ出力デバイスの一実施形態１３に転送）する。
【００８１】
ここで、たとえば、１フレーム時間が３３ｍｓで、オーディオのサンプリング・レートが４８ｋＨzの場合、本例では、１サンプル当たり、４バイト（１６ビット×２チャンネル）なので、
【００８２】
【数１】
2006146649.tif 000007
【００８３】
のオーディオ・データが１フレーム時間分になる。
【００８４】
次に、［オーディオ・データ補完量の積算値Ａ＝オーディオ・データ補完量の積算値Ａ−１フレーム時間分のオーディオ・データ量］なる演算を行い、オーディオ・データ補完量の積算値Ａを更新する（ステップＳ１１）。
【００８５】
これに対して、オーディオ・データ補完量の積算値Ａが１フレーム時間分のデータ量に達していない場合（ステップＳ９でＮＯの場合）、又は、［オーディオ・データ補完量の積算値Ａ＝オーディオ・データ補完量の積算値Ａ−フレーム時間分のオーディオ・データ量］なる演算を行った場合には、ＰＣ１１内のデバイス・ドライバは、アプリケーション等の上位のソフトウエアからＡＶ出力停止コマンドを受信したか否かを判断し（ステップＳ１２）、受信しない場合には、処理はステップＳ５に戻り、受信した場合には、ＡＶ出力停止コマンド（ＵＳＢベンダ・リクエストとして定義される）を本発明のＡＶ出力デバイスの一実施形態１３に発行する（ステップＳ１３）。
【００８６】
次に、連続的に行っているエンド・ポイント２からのバルクＯＵＴ転送によるビデオ・データの転送を停止し（ステップＳ１４）、続いて、連続的に行っているエンド・ポイント３からのバルクＯＵＴ転送によるオーディオ・データの転送を停止し（ステップＳ１５）、処理はステップＳ１に戻る。
【００８７】
（本発明のＡＶ出力デバイスの一実施形態１３の効果）
以上のように、本発明のＡＶ出力デバイスの一実施形態１３によれば、ＣＰＵ２０は、ビデオ書き込み領域２８のビデオ・データ格納量が所定量として１フレームを下回った場合、１フレーム分のビデオ・データを補完し、その補完量をＵＳＢコントローラ１５を介してＰＣ１１に通知するとしているので、ＰＣ１１において、本発明のＡＶ出力デバイスの一実施形態１３が補完した１フレーム分のフレームを間引くことで、ＡＶ同期処理を行うことができる。
【００８８】
また、ＣＰＵ２０は、オーディオ書き込み領域２９のオーディオ・データ格納量が所定量として１１５２サンプルを下回った場合、１１５２サンプル分のオーディオ・データの補完を行い、その補完量をＵＳＢコントローラ１５を介してＰＣ１１に通知するとしているので、ＰＣ１１は、オーディオ・データ補完量を積算し、１フレーム分に達したときは、１フレーム分のリピート処理を行うことで、ＡＶ同期処理を行うことができる。
【００８９】
なお、本例のように、ＡＶ出力デバイス１３側でＡＶ同期処理を行わず、ＰＣ１１側でＡＶ同期処理を行うようにする場合には、ＰＣ１１が備えるＣＰＵの処理速度やメモリ容量の点からして効果的である。
【００９０】
また、本発明のＡＶ出力デバイスの一実施形態１３においては、ＵＳＢ１２を介してＰＣ１１に接続して使用されるＡＶ出力デバイスを例にして説明したが、本発明のＡＶ出力デバイスは、ＰＣＩを介してＰＣ１１に接続して使用されるＡＶ出力デバイスに適用することもできる。
【００９１】
また、特許文献１には、圧縮オーディオ・データのデコード処理をＰＣで行い、ＰＣから非圧縮オーディオ・データを変換ユニットに転送し、変換ユニットからヘッドユニットにオーディオ信号を転送する技術が記載されている。特許文献２には、転送元が転送先の機器情報を認識し、通常の転送か、圧縮もしくは分割しての転送かを選択する技術が記載されている。特許文献３には、空パケットとデータパケットの送信割合を変更してデータ転送量を増減する技術が記載されている。
【００９２】
しかしながら、これら特許文献１、２、３には、本発明のＡＶ出力デバイスのように、非圧縮ＡＶデータが転送されるＡＶ出力デバイスがビデオ・データ又はオーディオ・データの補完を行った場合、これによるＡＶ同期ずれを補正するためのＡＶ同期処理をホスト側で行うことができるようにしたＡＶ出力デバイスを示唆する記載は存在しない。
【図面の簡単な説明】
【００９３】
【図１】本発明のオーディオ・ビデオ（ＡＶ）出力デバイスの一実施形態を使用してなるシステムの一例の概略的構成図である。
【図２】本発明のオーディオ・ビデオ（ＡＶ）出力デバイスの一実施形態でのデータの処理手順を示すフローチャートである。
【図３】図１に示すシステムが備えるＰＣでの処理手順を示すフローチャートである。
【図４】従来のオーディオ・ビデオ（ＡＶ）出力デバイスの一例を使用してなるシステムの一例の概略的構成図である。
【図５】オーディオ・ビデオ（ＡＶ）出力デバイスの他の例を使用してなるシステムの一例の概略的構成図である。
【符号の説明】
【００９４】
１…パソコン（ＰＣ）
２…ＵＳＢ
３…従来のオーディオ・ビデオ（ＡＶ）出力デバイスの一例
４…デコーダ
５…テレビ
６…オーディオ・ビデオ（ＡＶ）出力デバイスの他の例
７…バッファ
８…デマルチプレクサ
９…ビデオ・エンコーダ
１０…オーディオＤＡコンバータ
１１…パソコン（ＰＣ）
１２…ＵＳＢ
１３…本発明のオーディオ・ビデオ（ＡＶ）出力デバイスの一実施形態
１４…テレビ
１５…ＵＳＢコントローラ
１６…ＭＰＥＧデコーダＬＳＩ
１７…ＳＤＲＡＭ
１８…ビデオ・エンコーダ
１９…オーディオＤＡコンバータ
２０…ＣＰＵ
２１…ＣＰＵバス
２２…デマルチプレクサ
２３…ビデオ書き込み処理部
２４…オーディオ書き込み処理部
２５…ＳＤＲＡＭインタフェース
２６…ビデオ出力処理部
２７…オーディオ出力処理部
２８…ビデオ書き込み領域（ビデオ・バッファ）
２９…オーディオ書き込み領域（オーディオ・バッファ）
【図１】
2006146649.tif 000008
【図２】
2006146649.tif 000009
【図３】
2006146649.tif 000010
【図４】
2006146649.tif 000011
【図５】
2006146649.tif 000012