JP4496935B2 - オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法 - Google Patents

オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法 Download PDF

Info

Publication number
JP4496935B2
JP4496935B2 JP2004337079A JP2004337079A JP4496935B2 JP 4496935 B2 JP4496935 B2 JP 4496935B2 JP 2004337079 A JP2004337079 A JP 2004337079A JP 2004337079 A JP2004337079 A JP 2004337079A JP 4496935 B2 JP4496935 B2 JP 4496935B2
Authority
JP
Japan
Prior art keywords
audio
data
video
amount
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004337079A
Other languages
English (en)
Other versions
JP2006146649A (ja
Inventor
哲 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2004337079A priority Critical patent/JP4496935B2/ja
Publication of JP2006146649A publication Critical patent/JP2006146649A/ja
Application granted granted Critical
Publication of JP4496935B2 publication Critical patent/JP4496935B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、PC(Personal Computer)等にUSB(Universal Serial Bus)やPCI(Peripheral Component Interconnect)等を介して接続して使用されるオーディオ・ビデオ出力デバイス(Audio/Video Output Device:以下、AV出力デバイスという)及びオーディオ・ビデオ出力方法(以下、AV出力方法という)に関する。
図4は従来のAV出力デバイスの一例を使用してなるシステムの一例の概略的構成図である。図4中、1はPC、2はUSB、3は従来のAV出力デバイスの一例、4はMPEG(Moving Picture Experts Group)規格の圧縮オーディオ・ビデオ・データ(以下、圧縮AVデータという)を非圧縮オーディオ・ビデオ・データ(以下、非圧縮AVデータという)にデコードするデコーダ、5はテレビである。
図4に示すシステムは、PC1が出力するMPEG規格の圧縮AVデータをUSB2を介してAV出力デバイス3に転送し、AV出力デバイス3がデコーダ4でMPEG規格の圧縮AVデータの非圧縮AVデータへのデコード処理及びアナログ変換処理を行い、テレビ5にアナログ化されたビデオ信号及びオーディオ信号を与えるというものである。
特開2003−202961号公報 特開2000−90019号公報 特開2002−354051号公報
図4に示すシステムでは、PC1が出力するMPEG規格の圧縮AVデータのデコード処理はAV出力デバイス3で行われるが、PC1で扱われる圧縮データの形式としては、MPEGの他、Divx(digital video express)やAVI(audio video interleaving)等、様々なものがある。しかしながら、AV出力デバイスとして、これら全ての圧縮形式に対応したデコーダを内蔵したものは存在しない。
そこで、PC1上で扱われる様々な形式の圧縮データに対応するために、図4に示すシステムの代わりに、図5に示すようなシステムを構成することが考えられる。図5に示すシステムは、PC1でMPEG規格等の圧縮AVデータの非圧縮AVデータへのデコード処理を行い、非圧縮AVデータをPC1からバス2を介してAV出力デバイス6に転送し、AV出力デバイス6で非圧縮AVデータのアナログ化を行い、テレビ5にアナログ化されたビデオ信号及びオーディオ信号を与えるというものである。
AV出力デバイス6において、7はPC1からUSB2を介して与えられる非圧縮AVデータを格納するバッファ、8はバッファ7から出力される非圧縮AVデータをビデオ・データとオーディオ・データとに分離するデマルチプレクサ、9はデマルチプレクサ8から出力されるビデオ・データをNTSC(National Television System Committee)方式のビデオ信号にエンコードするビデオ・エンコーダ、10はデマルチプレクサ8から出力されるオーディオ・データをアナログ信号化するオーディオDA(digital to analog)コンバータである。
図5に示すシステムによれば、PC1において圧縮AVデータの非圧縮AVデータへのデコード処理を行うとしているので、PC1上で扱われる様々な形式の圧縮データに対応することができる。しかしながら、USB2のバンド幅が十分に確保できないと、十分な非圧縮AVデータをAV出力デバイス6に供給できないことになるが、一般に、バッファ7からの非圧縮AVデータの出力は一定のレートで行われるため、バッファ7内の非圧縮AVデータが枯渇した場合、テレビ5にビデオ信号及びオーディオ信号を与えることができなくなる。
このため、バッファ7内のビデオ・データ又はオーディオ・データが枯渇するおそれがある場合には、ビデオ・データ又はオーディオ・データを補完する必要があるが、ビデオ・データ又はオーディオ・データを補完した場合には、これに対応して、ビデオ・データとオーディオ・データとの同期を取るための何らかの手段を講じないと、ビデオ・データとオーディオ・データとの同期がずれたままになるという不都合が発生してしまう。
本発明は、かかる点に鑑み、所定装置から転送される非圧縮AVデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合において、ビデオ・データの補完を行った場合、非圧縮AVデータを転送する所定装置側でオーディオ・ビデオ同期処理(以下、AV同期処理という)を行うことができるようにしたAV出力デバイス及びAV出力方法を提供することを第1の目的とする。
また、本発明は、所定装置から転送される非圧縮AVデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合において、オーディオ・データの補完を行った場合、非圧縮AVデータを転送する所定装置側でAV同期処理を行うことができるようにしたAV出力デバイス及びAV出力方法を提供することを第2の目的とする。
本発明中、第1の発明は、AV出力デバイスの発明であり、所定装置から転送される非圧縮AVデータを格納するバッファと、該バッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有するというものである。
本発明中、第2の発明は、AV出力デバイスの発明であり、所定装置から転送される非圧縮AVデータを格納するバッファと、該バッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データを補完し、該補完量を前記所定装置に通知する制御手段を有するというものである。
本発明中、第3の発明は、AV出力方法の発明であり、所定装置から転送される非圧縮AVデータをバッファに格納し、該バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、該補完量を前記所定装置に通知する制御を行うというものである。
本発明中、第4の発明は、AV出力方法の発明であり、所定装置から転送される非圧縮AVデータをバッファに格納し、該バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、該補完量を前記所定装置に通知する制御を行うというものである。
第1の発明によれば、所定装置から転送される非圧縮AVデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データの補完を行い、その補完量が非圧縮AVデータを転送する所定装置に通知されるので、所定装置側でAV同期処理を行うことができる。
第2の発明によれば、所定装置から転送される非圧縮AVデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データの補完を行い、その補完量が非圧縮AVデータを転送する所定装置に通知されるので、所定装置側でAV同期処理を行うことができる。
第3の発明によれば、所定装置から転送される非圧縮AVデータを格納するバッファのビデオ・データ格納量が所定量を下回った場合、ビデオ・データの補完を行い、その補完量が非圧縮AVデータを転送する所定装置に通知されるので、所定装置側でAV同期処理を行うことができる。
第4の発明によれば、所定装置から転送される非圧縮AVデータを格納するバッファのオーディオ・データ格納量が所定量を下回った場合、オーディオ・データの補完を行い、その補完量が非圧縮AVデータを転送する所定装置に通知されるので、所定装置側でAV同期処理を行うことができる。
以下、図1〜図3を参照して、本発明のAV出力デバイスの一実施形態について、本発明のAV出力方法の一実施形態を含めて説明する。
(全体構成)
図1は本発明のAV出力デバイスの一実施形態を使用してなるシステムの一例の概略的構成図である。図1中、11はPC、12はUSB2.0規格のUSB、13はPC11からUSB2を介して非圧縮AVデータ又はMPEGストリームが転送される本発明のAV出力デバイスの一実施形態、14は本発明のAV出力デバイスの一実施形態13からNTSC方式のビデオ信号及びアナログ化されたオーディオ信号が供給されるテレビである。
本発明のAV出力デバイスの一実施形態13において、15はPC11と通信を行うUSBコントローラであり、表1はUSB2.0で定義されているエンド・ポイント0〜エンド・ポイント3への機能の割り当てを示している。
Figure 0004496935
即ち、エンド・ポイント0には、コントロール転送機能が割り当てられている。本例では、リクエストタイプ=「ベンダ」として、本発明のAV出力デバイスの一実施形態13をコントロールするためのコマンド(たとえば、AV出力開始コマンド、AV出力停止コマンド等)が定義され、必要なタイミングでホストであるPC11から本発明のAV出力デバイスの一実施形態13に対して発行される。
エンド・ポイント1には、本発明のAV出力デバイスの一実施形態13からPC11に対してメッセージを通知するためのバルクIN転送機能が割り当てられており、定期的にPC11から要求が発行される。
エンド・ポイント2には、PC11からビデオ・データを本発明のAV出力デバイスの一実施形態13に転送するためのバルクOUT転送機能が割り当てられており、PC11でビデオ・データが準備された時点で、PC11から要求が発行される。表2はPC11が転送するビデオ・データのフォーマットを示している。
Figure 0004496935
エンド・ポイント3には、PC11からオーディオ・データを本発明のAV出力デバイスの一実施形態13に転送するためのバルクOUT転送機能が割り当てられており、PC11でオーディオ・データが準備された時点で、PC11から要求が発行される。表3はPC11が転送するオーディオ・データのフォーマットを示している。
Figure 0004496935
16はUSBコントローラ15から非圧縮AVデータ又はMPEGストリームが転送されるMPEGデコーダLSI、17はMPEGデコーダLSI16から与えられる非圧縮AVデータの記憶やMPEGデコーダLSI16でのMPEGストリームのデコード処理等に使用されるSDRAM(Synchronous Random Access Memory)である。
18はMPEGデコーダLSI16が出力するITU−R BT.656で規定されるデジタル・ビデオ・データのNTSC方式のビデオ信号へのエンコードを行うビデオ・エンコーダ、19はMPEGデコーダLSI16が出力するI2Sフォーマットのオーディオ・データのアナログ信号への変換を行うオーディオDAコンバータである。
(MPEGデコーダLSI16の構成)
MPEGデコーダLSI16において、20はUSBコントローラ15との通信やMPEGデコーダLSI16内の全体的制御等を行うCPU(central processing unit)、21はCPUバス、22はUSBコントローラ15から与えられる非圧縮AVデータをビデオ・データとオーディオ・データとに分離するデマルチプレクサである。
23はデマルチプレクサ22が出力する非圧縮のビデオ・データのSDRAM17への書き込み処理(入力処理)を行うビデオ書き込み処理部(ビデオ入力処理部)、24はデマルチプレクサ22が出力する非圧縮のオーディオ・データのSDRAM17への書き込み処理(入力処理)を行うオーディオ書き込み処理部(オーディオ入力処理部)である。
25はSDRAM17に対応して設けられているSDRAMインタフェース、26はSDRAM17から出力されるビデオ・データをITU−R BT.656で規定されるデジタル・ビデオ・データとしてビデオ・エンコーダ18に出力するビデオ出力処理部、27はSDRAM17から出力されるオーディオ・データをI2Sフォーマットのデジタル・オーディオ・データとしてオーディオDAコンバータ19に出力するオーディオ出力処理部である。
(SDRAM17の構成)
SDRAM17において、28はビデオ書き込み処理部23の書き込み処理によりビデオ・データが書き込まれるビデオ・バッファをなすビデオ書き込み領域、29はオーディオ書き込み処理部24の書き込み処理によりオーディオ・データが書き込まれるオーディオ・バッファをなすオーディオ書き込み領域、30はMPEGストリームのデコード処理等に使用されるメモリ領域である。
表4はビデオ書き込み領域28及びオーディオ書き込み領域29のサイズを示しており、この例では、ビデオ書き込み領域28とオーディオ書き込み領域29とで、PC11から転送される非圧縮AVデータを格納する入力バッファが構成されている。
Figure 0004496935
(非圧縮AVデータの流れ)
図1に示すシステムにおける非圧縮AVデータの流れを説明すると、次の通りである。PC11内のデバイス・ドライバの制御により、PC11から非圧縮AVデータがエンド・ポイント2及びエンド・ポイント3を介してUSBコントローラ15に転送される。この場合、USBコントローラ15は、パラレルのビデオ・データ及びオーディオ・データを時分割して、非圧縮AVデータをMPEGデコーダLSI16のデマルチプレクサ22に転送する。
なお、CPU20がビデオ書き込み処理部23及びオーディオ書き込み処理部24に対して書き込み要求を行っていない場合は、USBコントローラ15は、PC11からの非圧縮AVデータを受け入れないで、PC11からのバルクOUT要求に対して、その旨を示すNAK(Negative Acknowledgment)信号を返す。
デマルチプレクサ22は、USBコントローラ15から非圧縮AVデータが転送されてくると、非圧縮AVデータをビデオ・データとオーディオ・データとに分離し、ビデオ・データをビデオ書き込み処理部23に転送し、オーディオ・データをオーディオ書き込み処理部24に転送する。
なお、PC11からUSBコントローラ15にMPEGストリームが与えられる場合には、USBコントローラ15は、MPEGストリームをデータバス(図示せず)に出力してデマルチプレクサ22に供給し、デマルチプレクサ22は、MPEGストリームをMPEGデコード処理部(図示せず)に転送する。
ビデオ書き込み処理部23は、デマルチプレクサ22から与えられるビデオ・データを、CPU20からの書き込み要求により、SDRAMインタフェース25を介してビデオ書き込み領域28にDMA(Direct Memory Access)転送で書き込む。この場合、ビデオ書き込み処理部23は、DMA転送完了毎(1フレーム毎)にCPU20に割り込みを上げる。これにより、CPU20は、ビデオ書き込み領域28に対するビデオ・データの書き込み量を知ることができる。
オーディオ書き込み処理部24は、デマルチプレクサ22から与えられるオーディオ・データを、CPU20からの書き込み要求により、SDRAMインタフェース25を介してオーディオ書き込み領域29にDMA転送で書き込む。この場合、オーディオ書き込み処理部24は、DMA転送完了毎(1152サンプル毎)にCPU20に割り込みを上げる。これにより、CPU20は、オーディオ書き込み領域29に対するオーディオ・データの書き込み量を知ることができる。
ビデオ書き込み領域28に書き込まれたビデオ・データは、CPU20からのDMA転送要求により、SDRAMインタフェース25を介してビデオ出力処理部26に転送される。この場合、ビデオ出力処理部26は、ビデオ・データのDMA転送完了毎(1フレーム毎)にCPU20に割り込みを上げる。これにより、CPU20は、ビデオ書き込み領域28からの出力ビデオ・データ量を知ることができる。
オーディオ書き込み領域29に書き込まれたオーディオ・データは、CPU20からのDMA転送要求により、SDRAMインタフェース25を介してオーディオ出力処理部27に転送される。この場合、オーディオ出力処理部27は、オーディオ・データのDMA転送完了毎(1152サンプル毎)にCPU20に割り込みを上げる。これにより、CPU20は、オーディオ書き込み領域29からの出力オーディオ・データ量を知ることができる。
ビデオ書き込み領域28からビデオ出力処理部26に転送されたビデオ・データは、ITU−R BT.656で規定されるデジタル・ビデオ・データとしてMPEGデコーダLSI16の外部に出力される。また、オーディオ書き込み領域29からオーディオ出力処理部27に転送されたオーディオ・データは、I2Sフォーマットのデジタル・オーディオ・データとしてMPEGデコーダLSI16の外部に出力される。
ビデオ出力処理部26から出力されるビデオ・データは、ビデオ・エンコーダ18によりNTSC方式のビデオ信号に変換されてテレビ14に転送される。また、オーディオ出力処理部27から出力されるオーディオ・データは、オーディオDAコンバータ19によりアナログ信号に変換されてテレビ14に転送される。
(ビデオ書き込み領域28へのビデオ・データの書き込み処理)
デマルチプレクサ22からビデオ書き込み処理部23に転送されるビデオ・データは、ビデオ書き込み領域28に先頭アドレスから順にビデオ書き込み処理部23からのDMA転送によって書き込まれ、最終アドレスまで書き込まれたら、先頭アドレスに戻る。
書き込みアドレスは、CPU20によりライト・ポインタとして管理され、ビデオ書き込み処理部23からビデオ書き込み領域28へのDMA転送開始時に転送開始先として、そのライト・ポインタが指定される。そして、CPU20は、ビデオ書き込み処理部23からのDMA転送完了割り込みを検出したら、ライト・ポインタを転送データ・サイズ分だけ進め、ビデオ書き込み領域28の最終アドレスを超えた場合には、ライト・ポインタをビデオ書き込み領域28の先頭アドレスに戻す。
具体的な転送制御としては、ビデオ書き込み処理部23に存在する「転送先ポインタ・レジスタ」に上記のライト・ポインタを設定し、「転送サイズ・レジスタ」に691200バイトを設定し、「転送開始レジスタ」に1を設定すると、ビデオ書き込み処理部23からビデオ書き込み領域28へのビデオ・データのDMA転送が開始される。また、DMA転送が完了した場合には、ビデオ書き込み処理部23からCPU20に割り込みが上がるので、その時点で、ライト・ポインタを進める。
(オーディオ書き込み領域29へのオーディオ・データの書き込み処理)
デマルチプレクサ22からオーディオ書き込み処理部24に転送されるオーディオ・データは、オーディオ書き込み領域29に先頭アドレスから順にオーディオ書き込み処理部24からのDMA転送によって書き込まれ、最終アドレスまで書き込まれたら、先頭アドレスに戻る。
書き込みアドレスは、CPU20によりライト・ポインタとして管理され、オーディオ書き込み処理部24からオーディオ書き込み領域29へのDMA転送開始時に転送開始先として、そのライト・ポインタが指定される。そして、CPU20は、オーディオ書き込み処理部24からのDMA転送完了割り込みを検出したら、ライト・ポインタを転送データ・サイズ分だけ進め、オーディオ書き込み領域29の最終アドレスを超えた場合には、ライト・ポインタをオーディオ書き込み領域29の先頭アドレスに戻す。
具体的な転送制御としては、オーディオ書き込み処理部24に存在する「転送先ポインタ・レジスタ」に上記のライト・ポインタを設定し、「転送サイズ・レジスタ」に4608バイトを設定し、「転送開始レジスタ」に1を設定すると、オーディオ書き込み処理部24からオーディオ書き込み領域29へのオーディオ・データのDMA転送が開始される。そして、DMA転送が完了すると、オーディオ書き込み処理部24からCPU20に割り込みが上がるので、その時点で、ライト・ポインタを進める。
(ビデオ書き込み領域28からのビデオ・データの読み出し処理)
ビデオ書き込み領域28に書き込まれたビデオ・データは、ビデオ書き込み領域28の先頭アドレスから順にDMA転送でビデオ出力処理部26に転送され、最終アドレスまで読み出されたら、先頭アドレスに戻る。
読み出しアドレスは、CPU20によりリード・ポインタとして管理され、ビデオ書き込み領域28からビデオ出力処理部26へのDMA転送開始時に転送開始元として、そのリード・ポインタが指定される。そして、CPU20は、ビデオ出力処理部26からのDMA転送完了割り込みを検出したら、リード・ポインタを転送データ・サイズ分だけ進め、ビデオ書き込み領域28の最終アドレスを超えた場合には、リード・ポインタをビデオ書き込み領域28の先頭アドレスに戻す。
具体的な転送制御としては、ビデオ出力処理部26に存在する「転送元ポインタ・レジスタ」に上記のリード・ポインタを設定し、「転送サイズ・レジスタ」に691200バイトを設定し、「転送開始レジスタ」に1を設定すると、ビデオ書き込み領域28からビデオ出力処理部26へのビデオ・データのDMA転送が開始される。そして、DMA転送が完了すると、ビデオ出力処理部26からCPU20に割り込みが上がるので、その時点で、リード・ポインタを進める。
(オーディオ書き込み領域29からのオーディオ・データの読み出し処理)
オーディオ書き込み領域29に書き込まれたオーディオ・データは、オーディオ書き込み領域29の先頭アドレスから順にDMA転送でオーディオ出力処理部27に転送され、最終アドレスまで読み出されたら、先頭アドレスに戻る。
読み出しアドレスは、CPU20によりリード・ポインタとして管理され、オーディオ書き込み領域29からオーディオ出力処理部27へのDMA転送開始時に転送開始元として、そのリード・ポインタが指定される。そして、CPU20は、オーディオ出力処理部27からのDMA転送完了割り込みを検出したら、リード・ポインタを転送データ・サイズ分だけ進め、オーディオ書き込み領域29の最終アドレスを超えた場合には、リード・ポインタをオーディオ書き込み領域29の先頭アドレスに戻す。
具体的な転送制御としては、オーディオ出力処理部27に存在する「転送元ポインタ・レジスタ」に上記のリード・ポインタを設定し、「転送サイズ・レジスタ」に4608バイトを設定し、「転送開始レジスタ」に1を設定すると、オーディオ書き込み領域29からオーディオ出力処理部27へのオーディオ・データのDMA転送が開始される。そして、DMA転送が完了すると、オーディオ出力処理部27からCPU20に割り込みが上がるので、その時点で、リード・ポインタを進める。
(AVデータの上書き)
本例では、ビデオ出力処理部26へのDMA転送が完了していないビデオ書き込み領域28のビデオ・データには上書きは行われない。ビデオ書き込み領域28の空き領域が無い場合(ライト・ポインタにリード・ポインタが追いついてしまった場合)には、PC11からのバルクOUT転送を受け入れず、PC11にNAK信号を返す。
また、オーディオ出力処理部27へのDMA転送が完了していないオーディオ書き込み領域29のオーディオ・データには上書きは行われない。オーディオ書き込み領域29の空き領域が無い場合(ライト・ポインタにリード・ポインタが追いついてしまった場合)には、PC11からのバルクOUT転送を受け入れず、PC11にNAK信号を返す。
(本発明のAV出力デバイスの一実施形態13での処理手順)
図2は本発明のAV出力デバイスの一実施形態13での処理手順を示すフローチャートである。本発明のAV出力デバイスの一実施形態13では、USBコントローラ15は、PC11のデバイス・ドライバが発行するAV出力開始コマンド(USBベンダ・リクエストとして定義される)を受信したか否かを判断し(ステップP1)、受信した場合には、受信したAV出力開始コマンドをCPU20に転送する。
CPU20は、USBコントローラ15からのAV出力開始コマンドを受信した場合には、ビデオ書き込み処理部23及びオーディオ書き込み処理部24に対して書き込み指示を行う。そして、ビデオ・データが2フレーム以上、ビデオ書き込み領域28に溜まり、かつ、オーディオ・データが3200サンプル以上、オーディオ書き込み領域29に溜まったら、AV出力を開始する(ステップP2)。
ここに、CPU20は、オーディオ書き込み領域29からオーディオ出力処理部27へのオーディオ・データのDMA転送が停止中(オーディオ出力DMA停止中)であるか否かを判断し(ステップP3)、停止中である場合には、オーディオ書き込み領域29からのオーディオ・データのオーディオ出力処理部27へのDMA転送を開始(オーディオ出力DMA開始)する(ステップP4)。
これに対して、オーディオ書き込み領域29からオーディオ出力処理部27へのオーディオ・データのDMA転送が停止中でない場合(ステップP3でNOの場合)、又は、オーディオ書き込み領域29からオーディオ出力処理部27へのオーディオ・データのDMA転送を開始した場合には、CPUは、ビデオ書き込み領域28からビデオ出力処理部26へのビデオ・データのDMA転送が停止中(ビデオ出力DMA停止中)である否かを判断し(ステップP5)、停止中である場合には、ビデオ書き込み領域28からビデオ出力処理部26へのビデオ・データのDMA転送を開始(ビデオ出力DMA開始)する(ステップP6)。
これに対して、ビデオ書き込み領域28からビデオ出力処理部26へのビデオ・データのDMA転送が停止中である場合(ステップP5でNOの場合)、又は、ビデオ書き込み領域28からビデオ出力処理部26へのビデオ・データのDMA転送を開始した場合には、CPU20は、オーディオ書き込み処理部24からオーディオ書き込み領域29へのオーディオ・データのDMA転送が停止中(オーディオ入力DMA停止中)であるか否かを判断し(ステップP7)、停止中である場合には、オーディオ書き込み領域29に空き領域がある(Audio Buffer not Full)か否かを判断し(ステップP8)、オーディオ書き込み領域29に空き領域がある場合には、オーディオ書き込み処理部24からオーディオ書き込み領域29ヘのオーディオ・データのDMA転送を開始(オーディオ入力DMA開始)する(ステップP9)。
これに対して、オーディオ書き込み処理部24からオーディオ書き込み領域29へのオーディオ・データのDMA転送が停止中でない場合(ステップP7でNOの場合)、又は、オーディオ書き込み領域29に空き領域がない場合(ステップP8でNOの場合)、又は、オーディオ書き込み処理部24からオーディオ書き込み領域29へのオーディオ・データのDMA転送を開始した場合には、CPU20は、ビデオ書き込み処理部23からビデオ書き込み領域28へのビデオ・データのDMA転送が停止中(ビデオ入力DMA停止中)であるか否かを判断し(ステップP10)、停止中である場合には、ビデオ書き込み領域28に空き領域がある(Video Buffer not Full)か否かを判断し(ステップP11)、ビデオ書き込み領域28に空き領域がある場合には、ビデオ書き込み処理部23からビデオ書き込み領域28へのビデオ・データのDMA転送を開始(ビデオ入力DMA開始)する(ステップP12)。
これに対して、ビデオ書き込み処理部23からビデオ書き込み領域28へのビデオ・データのDMA転送が停止中でない場合(ステップP10でNOの場合)、又は、ビデオ書き込み領域28に空き領域がない場合(ステップP11でNOの場合)、又は、ビデオ書き込み処理部23からビデオ書き込み領域28へのビデオ・データのDMA転送を開始した場合には、CPU20は、オーディオ書き込み領域29が殆ど空である(Audio Buffer Almost Empty)か否かを判断する(ステップP13)。なお、オーディオ書き込み領域29内のオーディオ出力処理部27への未転送オーディオ・データが1152サンプルを下回ったことがCPU20により検出された場合には、殆ど空であると判断される。
そして、CPU20は、オーディオ書き込み領域29が殆ど空であると判断した場合には、オーディオ・データの補完処理(オーディオ補完処理)を行う(ステップP14)。即ち、CPU20は、1152サンプル分のオーディオ・データを人工的に増やす処理を行う。たとえば、オーディオ書き込み領域29からオーディオ出力処理部27へのオーディオ・データの次のDMA転送の完了時に、CPU20は、通常時はリード・ポインタを1152サンプル分進めるところを、1回だけ進めないようにする。
次に、CPU20は、オーディオ・データの補完量をPC11に通知(オーディオ補完量通知)する(ステップP15)。即ち、補完したオーディオ・データ量(本例の場合、1152サンプル=4608バイト)をCPU20がUSBコントローラ15に通知し、USBコントローラ15はエンド・ポイント1からPC11に通知する。
これに対して、オーディオ書き込み領域29が殆ど空でないと判断した場合(ステップP13でNOの場合)、又は、オーディオ・データの補完量をPC11に通知した場合には、CPU20は、ビデオ書き込み領域28が殆ど空である(Video Buffer Almost Empty)か否かを判断する(ステップP16)。なお、ビデオ書き込み領域28内のビデオ出力処理部26への未転送ビデオ・データが1フレームを下回ったことがCPU20により検出された場合には、殆ど空であると判断される。
そして、CPU20は、ビデオ書き込み領域28が殆ど空であると判断した場合には、ビデオ・データの補完処理(ビデオ補完処理)を行う(ステップP17)。即ち、CPU20は、1フレーム分のビデオ・データを人工的に増やす処理を行う。たとえば、ビデオ書き込み領域28からビデオ出力処理部26への次のDMA転送の完了時に、CPU20は、通常時はリード・ポインタを1フレーム分進めるところを、1回だけ進めないようにする。
次に、CPU20は、ビデオ・データの補完量をPC11に通知(ビデオ補完量通知)する(ステップP18)。即ち、補完したビデオ・データ量(本例の場合、1フレーム=691200バイト)をCPU20がUSBコントローラ15に通知し、USBコントローラ15はエンド・ポイント1からPC11へ通知する。
これに対して、ビデオ書き込み領域28が殆ど空でないと判断した場合(ステップP16でNOの場合)、又は、ビデオ・データの補完量をPC11に通知した場合には、CPU20は、USBコントローラ15は、PC11のデバイス・ドライバが発行するAV出力停止コマンド(USBベンダ・リクエストとして定義される)を受信したか否かを判断し(ステップP19)、受信しない場合には、処理はステップP3に戻り、受信した場合には、受信したAV出力開始コマンドをCPU20に転送する。
CPU20は、USBコントローラ15からのAV出力停止コマンドを受信した場合には、ビデオ書き込み領域28及びオーディオ書き込み領域29からのビデオ・データ及びオーディオ・データの出力を停止し(ステップP20)、処理はステップP1に戻る。
(PC11での処理手順)
図3はPC11での処理手順を示すフローチャートである。PC11内のデバイス・ドライバは、アプリケーション等の上位のソフトウエアからAV出力開始コマンドを受信したか否かを判断し(ステップS1)、受信した場合には、AV出力開始コマンド(USBベンダ・リクエストとして定義される)を本発明のAV出力デバイスの一実施形態13に発行する(ステップS2)。
次に、PC11のデバイス・ドライバは、アプリケーション等の上位のソフトウエアから指定されたビデオ・データをエンド・ポイント2からバルクOUT転送で転送する(ステップS3)。ビデオ・データの転送サイズは、PC11のデバイス・ドライバが決めた任意のサイズとなり、転送が完了したら、PC11のデバイス・ドライバは、USBコントローラ15からの通知によって完了を認識する。なお、PC11のデバイス・ドライバは、ビデオ・データの転送を開始したら、連続的に転送し続ける。
また、PC11のデバイス・ドライバは、アプリケーション等の上位のソフトウエアから指定されたオーディオ・データをエンド・ポイント3からバルクOUT転送で転送する(ステップS4)。オーディオ・データの転送サイズは、PC11のデバイス・ドライバが決めた任意のサイズとなり、転送が完了したら、PC11のデバイス・ドライバはUSBコントローラ15からの通知によって完了を認識する。なお、PC11のデバイス・ドライバは、オーディオ・データの転送を開始したら、連続的に転送し続ける。
次に、本発明のAV出力デバイスの一実施形態13から、ビデオ・データの補完量通知があるか否かを判断し(ステップS5)、ビデオ・データの補完量通知があった場合には、PC11のデバイス・ドライバがこれから転送するフレームの中から、通知された補完量と同じフレーム数のピクチャを間引く、つまり、転送しないようにする(ステップS6)。
これに対して、本発明のAV出力デバイスの一実施形態13から、ビデオ・データの補完量通知がない場合(ステップS5でNOの場合)、又は、PC11のデバイス・ドライバがこれから転送するフレームの中から、通知されたビデオ・データ補完量分のピクチャを間引いた場合には、本発明のAV出力デバイスの一実施形態13から、オーディオ・データの補完量通知があるか否かを判断し(ステップS7)、オーディオ・データの補完量通知があった場合、その補完量を積算する(ステップS8)。
これに対して、本発明のAV出力デバイスの一実施形態13から、オーディオ・データの補完量通知がない場合(ステップS7でNOの場合)、又は、オーディオ・データ補完量を積算した場合には、オーディオ・データ補完量の積算値Aが1フレーム時間分のオーディオ・データ量に達したか否かを判断し(ステップS9)、達している場合には、フレーム・リピート処理を行う(ステップS10)。即ち、PC11のデバイス・ドライバがこれから転送するビデオ・フレームのうちの1枚をリピート(同じフレームを2回、本発明のAV出力デバイスの一実施形態13に転送)する。
ここで、たとえば、1フレーム時間が33msで、オーディオのサンプリング・レートが48kHzの場合、本例では、1サンプル当たり、4バイト(16ビット×2チャンネル)なので、
Figure 0004496935
のオーディオ・データが1フレーム時間分になる。
次に、[オーディオ・データ補完量の積算値A=オーディオ・データ補完量の積算値A−1フレーム時間分のオーディオ・データ量]なる演算を行い、オーディオ・データ補完量の積算値Aを更新する(ステップS11)。
これに対して、オーディオ・データ補完量の積算値Aが1フレーム時間分のデータ量に達していない場合(ステップS9でNOの場合)、又は、[オーディオ・データ補完量の積算値A=オーディオ・データ補完量の積算値A−フレーム時間分のオーディオ・データ量]なる演算を行った場合には、PC11内のデバイス・ドライバは、アプリケーション等の上位のソフトウエアからAV出力停止コマンドを受信したか否かを判断し(ステップS12)、受信しない場合には、処理はステップS5に戻り、受信した場合には、AV出力停止コマンド(USBベンダ・リクエストとして定義される)を本発明のAV出力デバイスの一実施形態13に発行する(ステップS13)。
次に、連続的に行っているエンド・ポイント2からのバルクOUT転送によるビデオ・データの転送を停止し(ステップS14)、続いて、連続的に行っているエンド・ポイント3からのバルクOUT転送によるオーディオ・データの転送を停止し(ステップS15)、処理はステップS1に戻る。
(本発明のAV出力デバイスの一実施形態13の効果)
以上のように、本発明のAV出力デバイスの一実施形態13によれば、CPU20は、ビデオ書き込み領域28のビデオ・データ格納量が所定量として1フレームを下回った場合、1フレーム分のビデオ・データを補完し、その補完量をUSBコントローラ15を介してPC11に通知するとしているので、PC11において、本発明のAV出力デバイスの一実施形態13が補完した1フレーム分のフレームを間引くことで、AV同期処理を行うことができる。
また、CPU20は、オーディオ書き込み領域29のオーディオ・データ格納量が所定量として1152サンプルを下回った場合、1152サンプル分のオーディオ・データの補完を行い、その補完量をUSBコントローラ15を介してPC11に通知するとしているので、PC11は、オーディオ・データ補完量を積算し、1フレーム分に達したときは、1フレーム分のリピート処理を行うことで、AV同期処理を行うことができる。
なお、本例のように、AV出力デバイス13側でAV同期処理を行わず、PC11側でAV同期処理を行うようにする場合には、PC11が備えるCPUの処理速度やメモリ容量の点からして効果的である。
また、本発明のAV出力デバイスの一実施形態13においては、USB12を介してPC11に接続して使用されるAV出力デバイスを例にして説明したが、本発明のAV出力デバイスは、PCIを介してPC11に接続して使用されるAV出力デバイスに適用することもできる。
また、特許文献1には、圧縮オーディオ・データのデコード処理をPCで行い、PCから非圧縮オーディオ・データを変換ユニットに転送し、変換ユニットからヘッドユニットにオーディオ信号を転送する技術が記載されている。特許文献2には、転送元が転送先の機器情報を認識し、通常の転送か、圧縮もしくは分割しての転送かを選択する技術が記載されている。特許文献3には、空パケットとデータパケットの送信割合を変更してデータ転送量を増減する技術が記載されている。
しかしながら、これら特許文献1、2、3には、本発明のAV出力デバイスのように、非圧縮AVデータが転送されるAV出力デバイスがビデオ・データ又はオーディオ・データの補完を行った場合、これによるAV同期ずれを補正するためのAV同期処理をホスト側で行うことができるようにしたAV出力デバイスを示唆する記載は存在しない。
本発明のオーディオ・ビデオ(AV)出力デバイスの一実施形態を使用してなるシステムの一例の概略的構成図である。 本発明のオーディオ・ビデオ(AV)出力デバイスの一実施形態でのデータの処理手順を示すフローチャートである。 図1に示すシステムが備えるPCでの処理手順を示すフローチャートである。 従来のオーディオ・ビデオ(AV)出力デバイスの一例を使用してなるシステムの一例の概略的構成図である。 オーディオ・ビデオ(AV)出力デバイスの他の例を使用してなるシステムの一例の概略的構成図である。
符号の説明
1…パソコン(PC)
2…USB
3…従来のオーディオ・ビデオ(AV)出力デバイスの一例
4…デコーダ
5…テレビ
6…オーディオ・ビデオ(AV)出力デバイスの他の例
7…バッファ
8…デマルチプレクサ
9…ビデオ・エンコーダ
10…オーディオDAコンバータ
11…パソコン(PC)
12…USB
13…本発明のオーディオ・ビデオ(AV)出力デバイスの一実施形態
14…テレビ
15…USBコントローラ
16…MPEGデコーダLSI
17…SDRAM
18…ビデオ・エンコーダ
19…オーディオDAコンバータ
20…CPU
21…CPUバス
22…デマルチプレクサ
23…ビデオ書き込み処理部
24…オーディオ書き込み処理部
25…SDRAMインタフェース
26…ビデオ出力処理部
27…オーディオ出力処理部
28…ビデオ書き込み領域(ビデオ・バッファ)
29…オーディオ書き込み領域(オーディオ・バッファ)

Claims (4)

  1. 所定装置から転送される非圧縮オーディオ・ビデオ・データを格納するバッファと、
    前記バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、前記所定装置に、これから転送するフレームの中から前記ビデオ・データの補完量と同じフレーム数のフレームを間引かせるために、前記補完量を前記所定装置に通知する制御手段
    を有することを特徴とするオーディオ・ビデオ出力デバイス。
  2. 所定装置から転送される非圧縮オーディオ・ビデオ・データを格納するバッファと、
    前記バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、前記所定装置に、前記オーディオ・データの補完量を積算させ、該積算値が1フレーム分のオーディオ・データ量に達した場合には、これから転送するフレームのうちの1枚をリピート処理させるために、前記補完量を前記所定装置に通知する制御手段
    を有することを特徴とするオーディオ・ビデオ出力デバイス。
  3. 所定装置から転送される非圧縮オーディオ・ビデオ・データをバッファに格納する工程と
    前記バッファのビデオ・データ格納量が所定量を下回った場合、前記ビデオ・データを補完し、前記所定装置に、これから転送するフレームの中から前記ビデオ・データの補完量と同じフレーム数のフレームを間引かせるために、前記補完量を前記所定装置に通知する工程と
    を有することを特徴とするオーディオ・ビデオ出力方法。
  4. 所定装置から転送される非圧縮オーディオ・ビデオ・データをバッファに格納する工程と
    前記バッファのオーディオ・データ格納量が所定量を下回った場合、前記オーディオ・データを補完し、前記所定装置に、前記オーディオ・データの補完量を積算させ、該積算値が1フレーム分のオーディオ・データ量に達した場合には、これから転送するフレームのうちの1枚をリピート処理させるために、前記補完量を前記所定装置に通知する工程と
    を有することを特徴とするオーディオ・ビデオ出力方法。
JP2004337079A 2004-11-22 2004-11-22 オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法 Expired - Fee Related JP4496935B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004337079A JP4496935B2 (ja) 2004-11-22 2004-11-22 オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004337079A JP4496935B2 (ja) 2004-11-22 2004-11-22 オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法

Publications (2)

Publication Number Publication Date
JP2006146649A JP2006146649A (ja) 2006-06-08
JP4496935B2 true JP4496935B2 (ja) 2010-07-07

Family

ID=36626244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004337079A Expired - Fee Related JP4496935B2 (ja) 2004-11-22 2004-11-22 オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法

Country Status (1)

Country Link
JP (1) JP4496935B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5480027B2 (ja) * 2009-06-15 2014-04-23 パトリオット ファンディング エルエルシー デジタルビデオ用のユニバーサルシリアルバス(usb)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07135659A (ja) * 1993-11-12 1995-05-23 Nec Corp 動画像復号制御装置
JPH08102908A (ja) * 1994-10-03 1996-04-16 Canon Inc 再生装置
JPH08163559A (ja) * 1994-12-07 1996-06-21 Graphics Commun Lab:Kk 低遅延モード画像復号方法および装置
JPH0983480A (ja) * 1995-09-08 1997-03-28 Sony Corp 複数の可変レート信号の伝送方法および伝送システム
JPH1022960A (ja) * 1996-07-04 1998-01-23 Fujitsu Ltd メディア符号化装置
JPH10247944A (ja) * 1997-03-05 1998-09-14 Kokusai Denshin Denwa Co Ltd <Kdd> 中継制御装置および方法
JP2000228669A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
JP2002314598A (ja) * 2001-04-16 2002-10-25 Hitachi Ltd データ配送方法
JP2002359818A (ja) * 2001-06-01 2002-12-13 Matsushita Electric Ind Co Ltd 再生画像伝送装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07135659A (ja) * 1993-11-12 1995-05-23 Nec Corp 動画像復号制御装置
JPH08102908A (ja) * 1994-10-03 1996-04-16 Canon Inc 再生装置
JPH08163559A (ja) * 1994-12-07 1996-06-21 Graphics Commun Lab:Kk 低遅延モード画像復号方法および装置
JPH0983480A (ja) * 1995-09-08 1997-03-28 Sony Corp 複数の可変レート信号の伝送方法および伝送システム
JPH1022960A (ja) * 1996-07-04 1998-01-23 Fujitsu Ltd メディア符号化装置
JPH10247944A (ja) * 1997-03-05 1998-09-14 Kokusai Denshin Denwa Co Ltd <Kdd> 中継制御装置および方法
JP2000228669A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
JP2002314598A (ja) * 2001-04-16 2002-10-25 Hitachi Ltd データ配送方法
JP2002359818A (ja) * 2001-06-01 2002-12-13 Matsushita Electric Ind Co Ltd 再生画像伝送装置

Also Published As

Publication number Publication date
JP2006146649A (ja) 2006-06-08

Similar Documents

Publication Publication Date Title
JP3926873B2 (ja) コンピュータシステム
JP2006259898A (ja) I/oコントローラ、信号処理システム、およびデータ転送方法
JPH10154125A (ja) Dmaデータ転送装置および同装置を使用した動画像復号化装置並びにdmaデータ転送制御方法
US7562165B2 (en) USB host system, AV data reproduction apparatus and AV data recording apparatus
JPH10149618A (ja) データ伝送方法、データ伝送装置及び媒体
KR20170113011A (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
JP4496935B2 (ja) オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法
JP2008108100A (ja) 音声データ処理装置
JP2008160804A (ja) データ転送装置及び転送制御方法
CN1725841A (zh) 数字视频储存装置及储存数字视频数据的方法
JPH1079922A (ja) 画像音声復号再生装置
JP2006285300A (ja) 信号転送装置及び信号転送方法
EP2096551A1 (en) Channel device, information processing system and data transfer method
JP2007201705A (ja) 画像処理装置、画像処理方法、プログラム及びコンピュータ読み取り可能な記録媒体
JP2004056376A (ja) 半導体装置及びデータ転送制御方法
JP2009237790A (ja) Dmaコントローラ
JP2003299045A (ja) トランスポートストリーム分離装置及びそれに用いるメモリトラフィック削除処理方法並びにそのプログラム
JP4743110B2 (ja) データ処理装置
JP2942738B2 (ja) データ復号ic
KR100846406B1 (ko) 인코드 중에 추출 화상을 외부에 송신하는 비디오 인코더
US20110119465A1 (en) Data processing system
JP3083788B2 (ja) データ復号装置
JPH10198632A (ja) Pcカード
JP4250170B2 (ja) エンコード中に抽出画像を外部に送信するビデオエンコーダ
JP2006050078A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4496935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees