JP4153817B2 - データ符号化方法およびデータ符号化装置 - Google Patents

データ符号化方法およびデータ符号化装置 Download PDF

Info

Publication number
JP4153817B2
JP4153817B2 JP2003089912A JP2003089912A JP4153817B2 JP 4153817 B2 JP4153817 B2 JP 4153817B2 JP 2003089912 A JP2003089912 A JP 2003089912A JP 2003089912 A JP2003089912 A JP 2003089912A JP 4153817 B2 JP4153817 B2 JP 4153817B2
Authority
JP
Japan
Prior art keywords
data
buffer
encoding
audio
moving image
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
JP2003089912A
Other languages
English (en)
Other versions
JP2004297666A (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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2003089912A priority Critical patent/JP4153817B2/ja
Priority to US10/756,256 priority patent/US7061983B2/en
Publication of JP2004297666A publication Critical patent/JP2004297666A/ja
Application granted granted Critical
Publication of JP4153817B2 publication Critical patent/JP4153817B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Description

【0001】
【発明の属する技術分野】
本発明は、動画像データおよび音声データをMPEG(Moving Picture Expert Group)規格に従って符号化するデータ符号化方法およびデータ符号化装置に関する。
【0002】
【従来の技術】
近時、動画像データおよび音声データをMPEG規格に従って符号化し、DVD(Digital Versatile Disk)やハードディスクなどの記録メディアに記録するビデオレコーダの開発が進んでいる。
ビデオレコーダに搭載されるデータ符号化LSIは、例えば、動画像データおよび音声データをMPEG規格に従って符号化(エンコード)するMPEGエンコーダを有している。MPEGエンコーダは、ビデオエンコーダ、ビデオ用リングバッファ、オーディオエンコーダ、オーディオ用リングバッファ、マルチプレクサ、およびシステム用リングバッファを有している。
【0003】
ビデオエンコーダは、ITU−R656形式の動画像データをMPEG2ビデオMP@ML形式でエンコードし、PES(Packetized Elementary Stream)形式のデータとしてビデオ用リングバッファに書き込む。
オーディオエンコーダは、I2S形式の音声データをMPEG1オーディオLayer2形式でエンコードし、PES形式のデータとしてオーディオ用リングバッファに書き込む。
【0004】
マルチプレクサは、ビデオ用リングバッファおよびオーディオ用リングバッファから読み出したPES形式のデータ同士を所定のタイミングで多重化(マルチプレクス)し、MPEG2システムPS形式のデータストリームとしてシステム用リングバッファに書き込む。なお、マルチプレクサは、新たに多重化して生成するデータストリームを第3バッファに書き込める場合にのみ、多重化を実施する。
【0005】
システム用リングバッファは、外部デバイスから供給されるストリーム出力要求信号の活性化に応答して、同期クロック、ストリーム出力許可信号などと共に、8ビットのパラレルデータストリームを外部デバイスに出力する。
また、MEPG規格に従って符号化されたデータを復号化(再生)するMPEGデコーダにおいて、逆方向再生を実現するためのリングバッファ制御方法が提案されている(例えば、特許文献1、2参照)。
【0006】
【特許文献1】
特開平8−130715号公報
【特許文献2】
特開平8−223538号公報
【0007】
【発明が解決しようとする課題】
前述のようなデータ符号化LSIでは、ストリーム出力要求信号の非活性化期間が長い場合、システム用リングバッファからデータストリームが出力されないため、システム用リングバッファにデータストリームが蓄積され続ける。これにより、マルチプレクサは、新たに多重化して生成するデータストリームを第3バッファに書き込めないと判定し、多重化を停止する場合がある。ビデオ用リングバッファおよびオーディオ用リングバッファからデータが読み出されないため、ビデオ用リングバッファおよびオーディオ用リングバッファにもデータが蓄積され続ける。
【0008】
このため、ビデオ用リングバッファおよびオーディオ用リングバッファの少なくともいずれかがオーバーフローしてしまう場合がある。すなわち、ビデオ用リングバッファおよびオーディオ用リングバッファの少なくともいずれかにおいて、読み出されていないデータに新たに生成されたデータが上書きされてしまう。この結果、マルチプレクサは、多重化するタイミングや多重化するビデオ用リングバッファのデータおよびオーディオ用リングバッファのデータの位置を認識できなくなってしまう。この結果、マルチプレクサは、データストリームを正常に生成できなくなってしまう。すなわち、誤ったデータストリームがシステム用リングバッファから出力されてしまう。
【0009】
本発明の目的は、ビデオ用リングバッファおよびオーディオ用リングバッファのオーバーフローを防止することにある。本発明の別の目的は、誤ったデータストリームが出力されることを防止することにある。
【0010】
【課題を解決するための手段】
本発明の第1の形態では、まず、動画像データが第1規格に従って符号化されることで動画像符号化データが生成される。動画像符号化データは、第1バッファに書き込まれる。また、音声データが第2規格に従って符号化されることで音声符号化データが生成される。音声符号化データは、第2バッファに書き込まれる。次に、第1および第2バッファから読み出されたデータ同士が第3規格に従って所定のタイミングで多重化されることで、多重化データが生成される。多重化データは、第3バッファに書き込まれる。そして、第3バッファに書き込まれた多重化データが外部要求に応答して出力される。以上のような処理を実施する際に、新たに生成される多重化データの第3バッファへの書き込みが実施可能であると判定されたときにのみ、多重化データの生成は実施される。第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、第1〜第3バッファにそれぞれ設定された第1〜第3最大量を超えたとき、符号化処理は停止する。第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、第1〜第3基準量を下回ったとき、符号化処理は再開する。第1〜第3基準量は、第1〜第3バッファに第1〜第3最大量より小さくそれぞれ設定されている。
【0011】
本発明が適用されるデータ符号化装置では、前述のように生成された動画像符号化データを出力する動画像エンコーダと、第1バッファと、前述のように生成された音声符号化データを出力する音声エンコーダと、第2バッファと、前述のように生成された多重化データを出力するマルチプレクサと、書き込まれた多重化データを外部要求に応答して出力する第3バッファと、符号化および多重化を前述のように制御する制御部とを有している。
【0012】
第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが第1〜第3最大量を超えたときに、符号化処理を停止するため、第1および第2バッファのオーバーフローを防止できる。第1および第2バッファにおいて、読み出されていないデータが上書きされることを防止できるため、多重化データが正常に生成されなくなることを防止できる。すなわち、誤った多重化データが出力されることを防止できる。
【0013】
本発明の第2の形態では、第1バッファの容量は、符号化処理を停止してから動画像データの符号化が実際に停止するまでの間に第1バッファに書き込まれる最大のデータ量と第1最大量との和以上である。第2バッファの容量は、符号化処理を停止してから音声データの符号化が実際に停止するまでの間に第2バッファに書き込まれる最大のデータ量と第2最大量との和以上である。第3バッファの容量は、符号化処理を停止してから動画像データと音声データとの符号化が実際に停止するまでの間に第3バッファに書き込まれる最大のデータ量と第3最大量との和以上である。
【0014】
このため、符号化処理を停止してから動画像データの符号化が実際に停止するまでの間に生成された動画像符号化データを第1バッファに確実に書き込むことができる。また、符号化処理を停止してから音声データの符号化が実際に停止するまでの間に生成された音声符号化データを第2バッファに確実に書き込むことができる。同様に、符号化処理を停止してから動画像データおよび音声データの符号化が実際に停止するまでの間に生成された多重化データを第3バッファに確実に書き込むことができる。この結果、符号化処理を停止した後に、第1〜第3バッファにデータが書き込まれる場合でも、第1および第2バッファのオーバーフローを防止できる。
【0015】
本発明の第3の形態では、第3バッファに記憶されているデータ量が、第3バッファに設定された第3最大量を超え、かつ前記第1および第2バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、第1および第2バッファにそれぞれ設定された第1および第2最大量を超えたときに、第3バッファにおいて、読み出されていない多重化データのうち古い多重化データから順に、新たに生成された多重化データを上書きする。
【0016】
第3バッファにおいて多重化データの上書きを許可することで、第3バッファに記憶されているデータ量が第3最大量を超えた後にも、多重化は継続される。すなわち、第1および第2バッファは、第3バッファに記憶されているデータ量が第3最大量を超えた後にも、データを出力し続けることができる。このため、第1および第2バッファのオーバーフローを防止できる。第1および第2バッファにおいて、読み出されていないデータが上書きされることを防止できるため、多重化データが正常に生成されなくなることを防止できる。すなわち、誤った多重化データが出力されることを防止できる。
【0017】
第3バッファにおいて多重化データの上書きを実施することで、第3バッファから出力される多重化データの連続性は、一時的に失われる。しかしながら、第3バッファには、正常な多重化データが書き込まれているため、外部要求が所定のレートで発生するようになった場合、特別な制御をすることなく、第3バッファから多重化データをそのまま出力することができる。
【0018】
本発明の第4の形態では、第3バッファに記憶されているデータ量が、第3バッファに設定された第3最大量を超え、かつ第1バッファに記憶されているデータ量が、第1バッファに設定された第1最大量を超えたときに、第1バッファにおいて、読み出されていない動画像符号化データのうち古い動画像符号化データから順に、新しく生成された動画像符号化データを上書きする。第3バッファに記憶されているデータ量が、第3バッファに設定された第3最大量を超え、かつ第2バッファに記憶されているデータ量が、第2バッファに設定された第2最大量を超えたときに、第2バッファにおいて、読み出されていない音声符号化データのうち古い音声符号化データから順に、新しく生成された音声符号化データを上書きする。
【0019】
第1バッファ(または第2バッファ)において動画像符号化データ(または音声符号化データ)の上書きを許可することで、第1バッファ(または第2バッファ)に記憶されているデータ量が第1最大量(または第2最大量)を超えた後にも、動画像データ(または音声データ)の符号化を継続できる。
また、例えば、動画像符号化データ(または音声符号化データ)の一部が上書きにより消去されたときに、この動画像符号化データ(または音声符号化データ)に対応する音声符号化データ(または動画像符号化データ)も消去する。これにより、第1または第2バッファにおいてデータの上書きを実施しても、マルチプレクサは、多重化する動画像符号化データおよび音声符号化データを正しく認識できる。この結果、第1および第2バッファのオーバーフローを防止した場合と同様に、多重化データが正常に生成されなくなることを防止できる。すなわち、誤った多重化データが出力されることを防止できる。
【0020】
本発明の第5の形態では、第1〜第3規格は、MPEG規格である。
MPEG規格は、動画像データおよび音声データの符号化に用いる規格の主流となっている。このため、本発明を、MPEG規格に基づいたデータ符号化を利用する様々な用途に適用できる。
【0021】
【発明の実施の形態】
以下、図面を用いて本発明の実施形態を説明する。
図1は、本発明の第1の実施形態を示している。本発明は、ビデオレコーディングシステムSYSのデータ変換LSI20に適用される。
ビデオレコーディングシステムSYSは、システムコントローラ10、ROM12、RAM14、データ変換LSI20、USB(Universal Serial Bus)コントローラ30、パーソナルコンピュータ40、システムバスSYSBおよびユニバーサルシリアルバスUSBから構成されている。システムコントローラ10、ROM12、RAM14、データ変換LSI20、およびUSBコントローラ30は、例えば、ビデオレコーディングシステムを構成する基板に搭載されている。
【0022】
システムコントローラ10は、ROM12に記録されているプログラムに従って各部を制御するとともに、各種演算処理を実行する。
RAM14は、システムコントローラ10が実行対象とするプログラムや、演算処理中のデータを一時的に記憶する。バスSYSBは、システムコントローラ10、ROM12、RAM14、データ変換LSI20、USBコントローラ30を相互に接続し、これらの間でデータの授受を可能にする。
【0023】
データ変換LSI20は、ITU−R656形式の動画像データVDIとI2S形式の音声データADIとをデータ変換し、MPEG2システムPS形式のデータストリームSOをUSB30コントローラに出力する。データ変換LSI20は、USBコントローラ30から供給されるMPEG2システムPS形式のデータストリームSIをデータ変換し、ITU−R656形式の動画像データVDOとI2S形式の音声データADOとを出力する。データ変換LSI20の詳細については、図2で説明する。
【0024】
USBコントローラ30は、バスUSBのインタフェースとして機能し、データ変換LSI20から供給されるデータストリームをパーソナルコンピュータ40に出力するとともに、パーソナルコンピュータ40から供給されるデータストリームをデータ変換LSI20に出力する。パーソナルコンピュータ40は、バスUSBを介して、USBコントローラ30との間でデータストリームを授受する。
【0025】
図2は、第1の実施形態におけるデータ変換LSI20の一例を示している。
データ変換LSI20は、CPU20a(制御部)、DMAC(Direct Memory Access Controller)20b、インタフェース回路20c、MPEGエンコーダENC、MPEGデコーダDEC、および内部バスINTBを有している。
システムコントローラ10は、バスSYSBを介して、ROM12に格納されているデータ変換LSI20用のファームウェアを取得し、RAM14の所定の領域に格納する。CPU20aは、このようにしてRAM14に格納されたファームウェアに従って動作する。DMAC20bは、CPU20aを介さずにデータをRAM14との間で直接授受する。インタフェース回路20cは、主に、RAM14との間でデータを授受する際のインタフェースとして機能する。バスINTBは、CPU20a、DMAC20b、インタフェース回路20c、MPEGエンコーダENC内のリングバッファ(ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2、システム用リングバッファBUF3)、MPEGデコーダDEC内のリングバッファ(図示せず)を相互に接続し、これらの間でデータの授受を可能にする。
【0026】
MPEGエンコーダENCは、ビデオエンコーダVENC(動画像エンコーダ)、ビデオ用リングバッファBUF1(第1バッファ)、オーディオエンコーダAENC(音声エンコーダ)、オーディオ用リングバッファBUF2(第2バッファ)、マルチプレクサMPX、およびシステム用リングバッファBUF3(第3バッファ)を有している。
【0027】
ビデオエンコーダVENCは、ITU−R656形式の動画像データVDIをMPEG2ビデオMP@ML形式でエンコードし、PES形式のデータ(動画像符号化データ)としてビデオ用リングバッファBUF1に書き込む。
オーディオエンコーダAENCは、I2S形式の音声データADIをMPEG1オーディオLayer2形式でエンコードし、PES形式のデータ(音声符号化データ)としてオーディオ用リングバッファBUF2に書き込む。
【0028】
マルチプレクサMPXは、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2から読み出したPES形式のデータ同士を所定のタイミングでマルチプレクスし、MPEG2システムPS形式のデータストリーム(多重化データ)としてシステム用リングバッファBUF3に書き込む。なお、マルチプレクサMPXは、新たに多重化して生成するデータストリームをシステム用リングバッファBUF3に書き込める場合にのみ、多重化を実施する。
【0029】
システム用リングバッファBUF3は、USBコントローラ30から供給されるストリーム出力要求信号REQの活性化に応答して、同期クロックCLK、ストリーム出力許可信号ENおよび8ビットのパラレルデータストリームSOをUSBコントローラ30に出力する。
なお、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3は、読み出し要求に応答して、記憶しているデータを最初に書き込まれたデータから順に出力する。すなわち、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3は、FIFO(First In First Out)形式のバッファとして動作する。
【0030】
MPEGデコーダDECは、USBコントローラ30から供給されるMPEG2システムPS形式のデータストリームSIをデコード処理し、ITU−R656形式の動画像データVDOとI2S形式の音声データADOとを出力する。
図3は、第1の実施形態におけるMPEGエンコーダENCのバッファ制御処理の動作を示している。
【0031】
バッファ制御処理は、CPU20aがRAM14に格納されたファームウェアに従って動作することで実施される。
CPU20aは、以下のような動作を、動画像データVDIおよび音声データAVIに対するエンコード処理の実施中に繰り返す。
ステップS110において、CPU20aは、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3にそれぞれ記憶されているデータ量D1、D2、D3を監視する。例えば、ビデオ用リングバッファBUF1は、書き込みポインタと読み出しポインタとを有し、CPU20aは、DMAC20bにより転送された書き込みポインタの値と読み出しポインタの値とを用いてデータ量D1を算出する。CPU20aは、データ量D2、D3も同様に算出する。
【0032】
データ量D1がビデオ用リングバッファBUF1に設定された第1最大量M1を超えた場合、またはデータ量D2がオーディオ用リングバッファBUF2に設定された第2最大量M2を超えた場合、またはデータ量D3がシステム用リングバッファBUF3に設定された第3最大量M3を超えた場合、処理はステップS120に移行する。この条件が満たされない場合、CPU20aは、データ量D1、D2、D3の監視を継続する。
【0033】
ステップS120において、CPU20aは、符号化処理を停止する、すなわち符号化の停止をビデオエンコーダVENCおよびオーディオエンコーダAENCにそれぞれ要求する。このため、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローが防止される。この後、処理はステップS130に移行する。
【0034】
なお、ビデオ用リングバッファBUF1の容量は、CPU20aが符号化の停止を要求してから動画像データVDIの符号化が実際に停止するまでの間にビデオ用リングバッファBUF1に書き込まれる最大のデータ量と第1最大量M1との和以上である。例えば、ビデオリング用バッファBUF1の容量、およびCPU20aが符号化の停止を要求してから動画像データVDIの符号化が実際に停止するまでの間にビデオ用リングバッファBUF1に書き込まれる最大のデータ量は、それぞれ256kbyte、27kbyteである。すなわち、第1最大量が229kbyte以下に予め設定されることで、ビデオ用リングバッファBUF1のオーバーフローが確実に回避される。
【0035】
また、オーディオ用リングバッファBUF2の容量は、CPU20aが符号化の停止を要求してから音声データADIの符号化が実際に停止するまでの間にオーディオ用リングバッファBUF2に書き込まれる最大のデータ量と第2最大量M2との和以上である。
同様に、システム用リングバッファBUF3の容量は、CPU20aが符号化の停止を要求してから動画像データVDIと音声データADIとの符号化が実際に停止するまでの間にシステム用リングバッファBUF3に書き込まれる最大のデータ量と第3最大量M3との和以上である。
【0036】
ステップS130において、CPU20aは、データ量D1、D2、D3を再び監視する。データ量D1、D2、D3のすべてが、第1基準量B1、第2基準量B2、第3基準量B3をそれぞれ下回った場合、処理はステップS140に移行する。ここで、第1基準量B1、第2基準量B2、第3基準量B3は、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3に第1最大量M1、第2最大量M2、第3最大量M3より小さくそれぞれ設定されている。この条件が満たされない場合、CPU20aは、データ量D1、D2、D3の監視を継続する。
【0037】
ステップS140において、CPU20aは、符号化処理を再開する、すなわち符号化の再開をビデオエンコーダVENCおよびオーディオエンコーダAENCにそれぞれ要求する。これにより、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを回避するための処理は、完了する。
【0038】
以上、第1の実施形態では、次の効果が得られる。
データ量D1、D2、D3の少なくともいずれかが第1最大量M1、第2最大量M2、第3最大量M3を超えたときに、符号化処理を停止するため、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを防止できる。ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2において、読み出されていないデータが上書きされることを防止できるため、データストリームが正常に生成されなくなることを防止できる。すなわち、誤ったデータストリームが出力されることを防止できる。
【0039】
CPU20aが符号化の停止を要求した後に生成されたデータを、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3に、確実にそれぞれ書き込むことができる。このため、CPU20aが符号化の停止を要求した後に、ビデオ用リングバッファBUF1、オーディオ用リングバッファBUF2およびシステム用リングバッファBUF3にデータが書き込まれる場合でも、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを防止できる。
【0040】
図4は、第2の実施形態におけるMPEGエンコーダENCのバッファ制御処理の動作を示している。この実施形態のビデオレコーディングシステムは、ROM12に格納されているデータ変換LSI20用のファームウェアが異なることを除き、第1の実施形態(図1)と同一である。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明は省略する。
【0041】
バッファ制御処理は、第1の実施形態と同様に、CPU20aがRAM14に格納されたファームウェアに従って動作することで実施される。
CPU20aは、以下のような動作を、動画像データVDIおよび音声データADIに対するエンコード処理の実施中に繰り返す。
ステップS210において、CPU20aは、データ量D1、D2、D3を監視する。データ量D3が第3最大量M3を超え、かつデータ量D1が第1最大量M1を超えた場合、またはデータ量D3が第3最大量M3を超え、かつデータ量D2が第2最大量M2を超えた場合、処理はステップS220に移行する。この条件が満たされない場合、CPU20aは、データ量D1、D2、D3の監視を継続する。
【0042】
ステップS220において、CPU20aは、マルチプレクサMPXに、システム用リングバッファBUF3のデータ上書きを要求する。マルチプレクサMPXは、システム用リングバッファBUF3において、読み出されていないデータストリームのうち古いデータストリームから順に、新たに生成されたデータストリームを上書きする。
【0043】
システム用リングバッファBUF3においてデータストリームの上書きを許可することで、データ量D3が第3最大量M3を超えた後にも、マルチプレクサMPXは動作し続ける。すなわち、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2は、データ量D3が第3最大量M3を超えた後にも、データを出力し続ける。このため、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローが防止される。これにより、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを回避するための処理は、完了する。
【0044】
以上、第2の実施形態では、第1の実施形態と同様の効果が得られる。さらに、システム用リングバッファBUF3においてデータストリームの上書きを実施することで、システム用リングバッファBUF3から出力されるデータストリームSOの連続性は、一時的に失われる。しかしながら、システム用リングバッファBUF3には、正常なデータストリームが書き込まれている。このため、ストリーム出力要求信号REQが所定のレートで活性化されるようになった場合、特別な制御をすることなく、システム用リングバッファBUF3からデータストリームをそのまま出力できる。
【0045】
図5は、第3の実施形態におけるMPEGエンコーダENCのバッファ制御処理の動作を示している。この実施形態のビデオレコーディングシステムは、ROM12に格納されているデータ変換LSI20用のファームウェアが異なることを除き、第1の実施形態(図1)と同一である。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明は省略する。
【0046】
バッファ制御処理は、第1の実施形態と同様に、CPU20aがRAM14に格納されたファームウェアに従って動作することで実施される。
CPU20aは、以下のような動作を、動画像データVDIおよび音声データADIに対するエンコード処理の実施中に繰り返す。
ステップS310において、CPU20aは、データ量D1、D3を監視する。データ量D3が第3最大量M3を超え、かつデータ量D1が第1最大量M1を超えた場合、処理はステップS320に移行する。この条件を満たさない場合、処理はステップS330に移行する。
【0047】
ステップS320において、CPU20aは、ビデオエンコーダVENCに、ビデオ用リングバッファBUF1のデータ上書きを要求する。ビデオエンコーダVENCは、ビデオ用リングバッファBUF1において、読み出されていないデータのうち古いデータから順に、新しく生成されたデータを上書きする。CPU20aは、上書きにより消去されたビデオ用リングバッファBUF1のデータに対応するオーディオ用リングバッファBUF2のデータを消去する。
【0048】
ビデオ用リングバッファBUF1のデータの一部が上書きにより消去されたときに、このデータに対応するオーディオ用リングバッファBUF2のデータも消去される。このため、ビデオ用リングバッファBUF1においてデータの上書きを実施しても、ビデオ用リングバッファBUF1から出力されるデータおよびオーディオ用リングバッファBUF2から出力されるデータは、対応がとれている。従って、マルチプレクサMPXは、多重化するビデオ用リングバッファBUF1のデータおよびオーディオ用リングバッファBUF2のデータを正しく認識する。この結果、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを防止した場合と同様に、データストリームが正常に生成されなくなることが防止される。これにより、データストリームが正常に生成されなくなることを回避するための処理は、完了する。
【0049】
ステップS330において、CPU20aは、データ量D2、D3を監視する。データ量D3が第3最大量M3を超え、かつデータ量D2が第2最大量M2を超えた場合、処理はステップS340に移行する。この条件を満たさない場合、処理はステップS310に移行する。
ステップS340において、CPU20aは、オーディオエンコーダAENCに、オーディオ用リングバッファBUF2のデータ上書きを要求する。オーディオエンコーダAENCは、オーディオ用リングバッファBUF2において、読み出されていないデータのうち古いデータから順に、新しく生成されたデータを上書きする。CPU20aは、上書きにより消去されたオーディオ用リングバッファBUF2のデータに対応するビデオ用リングバッファBUF1のデータを消去する。
【0050】
オーディオ用リングバッファBUF2のデータの一部が上書きにより消去されたときに、このデータに対応するビデオ用リングバッファBUF1のデータも消去される。このため、オーディオ用リングバッファBUF2においてデータの上書きを実施しても、ビデオ用リングバッファBUF1から出力されるデータおよびオーディオ用リングバッファBUF2から出力されるデータは、対応がとれている。従って、マルチプレクサMPXは、多重化するビデオ用リングバッファBUF1のデータおよびオーディオ用リングバッファBUF2のデータを正しく認識する。この結果、ビデオ用リングバッファBUF1およびオーディオ用リングバッファBUF2のオーバーフローを防止した場合と同様に、データストリームが正常に生成されなくなることが防止される。これにより、データストリームが正常に生成されなくなることを回避するための処理は、完了する。
【0051】
以上、第3の実施形態では、第1の実施形態と同様の効果が得られる。
なお、第1の実施形態では、データ量D1、D2、D3のすべてが、第1基準量B1、第2基準量B2、第3基準量B3をそれぞれ下回った場合、符号化処理が再開される例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、図6に示すように、データ量D1、D2の両方が、第1基準量B1、第2基準量B2をそれぞれ下回った場合、符号化処理が再開されてもよい。なお、符号化処理の再開条件は、データ量D1、D3の両方が、第1基準量B1、第3基準量B3をそれぞれ下回った場合、またはデータ量D2、D3の両方が、第2基準量B2、第3基準量B3をそれぞれ下回った場合であってもよい。
【0052】
また、例えば、図7に示すように、データ量D3が、第3基準量B3を下回った場合、符号化処理が再開されてもよい。なお、符号化処理の再開条件は、データ量D1が、第1基準量B1を下回った場合、またはデータ量D2が、第2基準量B2を下回った場合であってもよい。
第1〜第3の実施形態では、データストリームがUSBコントローラ30およびバスUSBを介して授受される例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、データストリームは、PCI(Peripheral Component Interconnect)バスコントローラおよびPCIバスを介して授受されてもよい。
【0053】
第1〜第3の実施形態では、本発明をMPEGエンコーダENCおよびMPEGデコーダDECが共に搭載されたLSIに適用した例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、本発明をMPEGエンコーダ専用のLSIに適用してもよい。
第1〜第3の実施形態では、システムコントローラ10、ROM12、RAM14、データ変換LSI20、およびUSBコントローラ30が個別のチップとして形成された例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、システムコントローラ10、ROM12、RAM14、データ変換LSI20、およびUSBコントローラ30は、1チップで形成されてもよい。
【0054】
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1) 動画像データを第1規格に従って符号化して動画像符号化データを生成し、
前記動画像符号化データを第1バッファに書き込み、
音声データを第2規格に従って符号化して音声符号化データを生成し、
前記音声符号化データを第2バッファに書き込み、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化して多重化データを生成し、
前記多重化データを第3バッファに書き込み、
前記第3バッファに書き込まれた多重化データを外部要求に応答して出力するデータ符号化方法において、
前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファにそれぞれ設定された第1〜第3最大量を超えたとき、符号化処理を停止し、
前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファに前記第1〜第3最大量より小さくそれぞれ設定された第1〜第3基準量を下回ったとき、符号化処理を再開することを特徴とするデータ符号化方法。
【0055】
(付記2) 付記1記載のデータ符号化方法において、
前記第1バッファの容量は、符号化処理を停止してから前記動画像データの符号化が実際に停止するまでの間に前記第1バッファに書き込まれる最大のデータ量と前記第1最大量との和以上であり、
前記第2バッファの容量は、符号化処理を停止してから前記音声データの符号化が実際に停止するまでの間に前記第2バッファに書き込まれる最大のデータ量と前記第2最大量との和以上であり、
前記第3バッファの容量は、符号化処理を停止してから前記動画像データと前記音声データとの符号化が実際に停止するまでの間に前記第3バッファに書き込まれる最大のデータ量と前記第3最大量との和以上であることを特徴とするデータ符号化方法。
【0056】
(付記3) 動画像データを第1規格に従って符号化して動画像符号化データを生成し、
前記動画像符号化データを第1バッファに書き込み、
音声データを第2規格に従って符号化して音声符号化データを生成し、
前記音声符号化データを第2バッファに書き込み、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化して多重化データを生成し、
前記多重化データを第3バッファに書き込み、
前記第3バッファに書き込まれた多重化データを外部要求に応答して出力するデータ符号化方法において、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第1および第2バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1および第2バッファにそれぞれ設定された第1および第2最大量を超えたときに、前記第3バッファにおいて、読み出されていない多重化データのうち古い多重化データから順に、新たに生成された多重化データを上書きすることを特徴とするデータ符号化方法。
【0057】
(付記4) 動画像データを第1規格に従って符号化して動画像符号化データを生成し、
前記動画像符号化データを第1バッファに書き込み、
音声データを第2規格に従って符号化して音声符号化データを生成し、
前記音声符号化データを第2バッファに書き込み、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化して多重化データを生成し、
前記多重化データを第3バッファに書き込み、
前記第3バッファに書き込まれた多重化データを外部要求に応答して出力するデータ符号化方法において、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第1バッファに記憶されているデータ量が、前記第1バッファに設定された第1最大量を超えたときに、
前記第1バッファにおいて、読み出されていない動画像符号化データのうち古い動画像符号化データから順に、新しく生成された動画像符号化データを上書きし、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第2バッファに記憶されているデータ量が、前記第2バッファに設定された第2最大量を超えたときに、
前記第2バッファにおいて、読み出されていない音声符号化データのうち古い音声符号化データから順に、新しく生成された音声符号化データを上書きすることを特徴とするデータ符号化方法。
【0058】
(付記5) 付記4記載のデータ符号化方法において、
前記新しく生成された動画像符号化データを上書きした場合に、上書きにより消去された動画像符号化データに対応する前記第2バッファの音声符号化データを消去し、
前記新しく生成された音声符号化データを上書きした場合に、上書きにより消去された音声符号化データに対応する前記第1バッファの動画像符号化データを消去することを特徴とするデータ符号化方法。
【0059】
(付記6) 付記1、付記3または付記4のいずれか一項記載のデータ符号化方法において、
前記第1〜第3規格は、MPEG規格であることを特徴とするデータ符号化方法。
(付記7) 動画像データを第1規格に従って符号化し、動画像符号化データとして出力する動画像エンコーダと、
前記動画像符号化データが書き込まれる第1バッファと、
音声データを第2規格に従って符号化し、音声符号化データとして出力する音声エンコーダと、
前記音声符号化データが書き込まれる第2バッファと、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化し、多重化データとして出力するマルチプレクサと、
前記多重化データが書き込まれ、書き込まれた多重化データを外部要求に応答して出力する第3バッファと、
符号化および多重化を制御する制御部とを備え、
前記制御部は、
前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファにそれぞれ設定された第1〜第3最大量を超えたとき、符号化の停止を前記動画像エンコーダおよび前記音声エンコーダに要求し、
前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファに前記第1〜第3最大量より小さくそれぞれ設定された第1〜第3基準量を下回ったとき、符号化の再開を前記動画像エンコーダおよび前記音声エンコーダに要求することを特徴とするデータ符号化装置。
【0060】
(付記8) 付記7記載のデータ符号化装置において、
前記第1バッファの容量は、前記制御部が符号化の停止を要求してから前記動画像データの符号化が実際に停止するまでの間に前記第1バッファに書き込まれる最大のデータ量と前記第1最大量との和以上であり、
前記第2バッファの容量は、前記制御部が符号化の停止を要求してから前記音声データの符号化が実際に停止するまでの間に前記第2バッファに書き込まれる最大のデータ量と前記第2最大量との和以上であり、
前記第3バッファの容量は、前記制御部が符号化の停止を要求してから前記動画像データと前記音声データとの符号化が実際に停止するまでの間に前記第3バッファに書き込まれる最大のデータ量と前記第3最大量との和以上であることを特徴とするデータ符号化装置。
【0061】
(付記9) 動画像データを第1規格に従って符号化し、動画像符号化データとして出力する動画像エンコーダと、
前記動画像符号化データが書き込まれる第1バッファと、
音声データを第2規格に従って符号化し、音声符号化データとして出力する音声エンコーダと、
前記音声符号化データが書き込まれる第2バッファと、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化し、多重化データとして出力するマルチプレクサと、
前記多重化データが書き込まれ、書き込まれた多重化データを外部要求に応答して出力する第3バッファと、
符号化および多重化を制御する制御部とを備え、
前記制御部は、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第1および第2バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1および第2バッファにそれぞれ設定された第1および第2最大量を超えたときに、前記マルチプレクサに、前記第3バッファにおいて、読み出されていない多重化データのうち古い多重化データから順に、新たに生成された多重化データを上書きさせることを特徴とするデータ符号化装置。
【0062】
(付記10) 動画像データを第1規格に従って符号化し、動画像符号化データとして出力する動画像エンコーダと、
前記動画像符号化データが書き込まれる第1バッファと、
音声データを第2規格に従って符号化し、音声符号化データとして出力する音声エンコーダと、
前記音声符号化データが書き込まれる第2バッファと、
前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化し、多重化データとして出力するマルチプレクサと、
前記多重化データが書き込まれ、書き込まれた多重化データを外部要求に応答して出力する第3バッファと、
符号化および多重化を制御する制御部とを備え、
前記制御部は、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第1バッファに記憶されているデータ量が、前記第1バッファに設定された第1最大量を超えたときに、
前記動画像エンコーダに、前記第1バッファにおいて、読み出されていない動画像符号化データのうち古い動画像符号化データから順に、新しく生成された動画像符号化データを上書きさせ、
前記第3バッファに記憶されているデータ量が、前記第3バッファに設定された第3最大量を超え、かつ前記第2バッファに記憶されているデータ量が、前記第2バッファに設定された第2最大量を超えたときに、
前記音声エンコーダに、前記第2バッファにおいて、読み出されていない音声符号化データのうち古い音声符号化データから順に、新しく生成された音声符号化データを上書きさせることを特徴とするデータ符号化装置。
【0063】
(付記11) 付記10記載のデータ符号化装置において、
前記制御部は、
前記動画像エンコーダに、前記新しく生成された動画像符号化データを上書きさせた場合に、上書きにより消去された動画像符号化データに対応する前記第2バッファの音声符号化データを消去し、
前記音声エンコーダに、前記新しく生成された音声符号化データを上書きさせた場合に、上書きにより消去された音声符号化データに対応する前記第1バッファの動画像符号化データを消去することを特徴とするデータ符号化装置。
【0064】
(付記12) 付記7、付記9または付記10のいずれか一項記載のデータ符号化装置において、
前記第1〜第3規格は、MPEG規格であることを特徴とするデータ符号化装置。
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【0065】
【発明の効果】
本発明の第1の形態では、第1および第2バッファのオーバーフローを防止できる。このため、誤った多重化データが出力されることを防止できる。
本発明の第2の形態では、符号化処理を停止した後に生成されたデータを、第1〜第3バッファに確実にそれぞれ書き込むことができる。このため、符号化処理を停止した後に、第1〜第3バッファにデータが書き込まれる場合でも、第1および第2バッファのオーバーフローを防止できる。
【0066】
本発明の第3の形態では、第1および第2バッファのオーバーフローを防止できる。このため、誤った多重化データが出力されることを防止できる。外部要求が所定のレートで発生するようになった場合、特別な制御をすることなく、第3バッファから多重化データをそのまま出力することができる。
【0067】
本発明の第4の形態では、第1または第2バッファにおいてデータの上書きを実施しても、マルチプレクサは、多重化する動画像符号化データおよび音声符号化データを正しく認識できる。このため、第1および第2バッファのオーバーフローを防止した場合と同様に、誤った多重化データが出力されることを防止できる。
【0068】
本発明の第5の形態では、本発明を、MPEG規格に基づいたデータ符号化を利用する様々な用途に適用できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示す構成図である。
【図2】第1の実施形態におけるデータ変換LSIの一例を示すブロック図である。
【図3】第1の実施形態におけるMPEGエンコーダのバッファ制御処理の動作を示すフローチャートである。
【図4】本発明の第2の実施形態を示すフローチャートである。
【図5】本発明の第3の実施形態を示すフローチャートである。
【図6】MPEGエンコーダのバッファ制御処理の第4の動作例を示すフローチャートである。
【図7】MPEGエンコーダのバッファ制御処理の第5の動作例を示すフローチャートである。
【符号の説明】
10 システムコントローラ
12 ROM
14 RAM
20 データ変換LSI
20a CPU
20b DMAC
20c インタフェース回路
30 USBコントローラ
40 パーソナルコンピュータ
SYS ビデオレコーディングシステム
DEC MPEGデコーダ
ENC MPEGエンコーダ
VDI、VDO 動画像データ
ADI、ADO 音声データ
VENC ビデオエンコーダ
AENC オーディオエンコーダ
BUF1 ビデオ用リングバッファ
BUF2 オーディオ用リングバッファ
BUF3 システム用リングバッファ
SI、SO データストリーム
SYSB システムバス
USB ユニバーサルシリアルバス
INTB 内部バス

Claims (6)

  1. 動画像データを第1規格に従って符号化して動画像符号化データを生成し、
    前記動画像符号化データを第1バッファに書き込み、
    音声データを第2規格に従って符号化して音声符号化データを生成し、
    前記音声符号化データを第2バッファに書き込み、
    前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化して多重化データを生成し、
    前記多重化データを第3バッファに書き込み、
    前記第3バッファに書き込まれた多重化データを外部要求に応答して出力するデータ符号化方法において、
    新たに生成される多重化データの前記第3バッファへの書き込みが実施可能であると判定されたときにのみ、多重化データの生成を実施し、
    前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファにそれぞれ設定された第1〜第3最大量を超えたとき、符号化処理を停止し、
    前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファに前記第1〜第3最大量より小さくそれぞれ設定された第1〜第3基準量を下回ったとき、符号化処理を再開することを特徴とするデータ符号化方法。
  2. 請求項1記載のデータ符号化方法において、
    前記第1バッファの容量は、符号化処理を停止してから前記動画像データの符号化が実際に停止するまでの間に前記第1バッファに書き込まれる最大のデータ量と前記第1最大量との和以上であり、
    前記第2バッファの容量は、符号化処理を停止してから前記音声データの符号化が実際に停止するまでの間に前記第2バッファに書き込まれる最大のデータ量と前記第2最大量との和以上であり、
    前記第3バッファの容量は、符号化処理を停止してから前記動画像データと前記音声データとの符号化が実際に停止するまでの間に前記第3バッファに書き込まれる最大のデータ量と前記第3最大量との和以上であることを特徴とするデータ符号化方法。
  3. 請求項1記載のデータ符号化方法において、
    前記第1〜第3規格は、MPEG規格であることを特徴とするデータ符号化方法。
  4. 動画像データを第1規格に従って符号化し、動画像符号化データとして出力する動画像エンコーダと、
    前記動画像符号化データが書き込まれる第1バッファと、
    音声データを第2規格に従って符号化し、音声符号化データとして出力する音声エンコーダと、
    前記音声符号化データが書き込まれる第2バッファと、
    前記第1および第2バッファから読み出したデータ同士を第3規格に従って所定のタイミングで多重化し、多重化データとして出力するマルチプレクサと、
    前記多重化データが書き込まれ、書き込まれた多重化データを外部要求に応答して出力する第3バッファと、
    符号化および多重化を制御する制御部とを備え、
    前記制御部は、
    新たに生成される多重化データの前記第3バッファへの書き込みが実施可能であると判定されたときにのみ、前記マルチプレクサに、多重化データの生成を実施させ、
    前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファにそれぞれ設定された第1〜第3最大量を超えたとき、符号化の停止を前記動画像エンコーダおよび前記音声エンコーダに要求し、
    前記第1〜第3バッファにそれぞれ記憶されているデータ量の少なくともいずれかが、前記第1〜第3バッファに前記第1〜第3最大量より小さくそれぞれ設定された第1〜第3基準量を下回ったとき、符号化の再開を前記動画像エンコーダおよび前記音声エンコーダに要求することを特徴とするデータ符号化装置。
  5. 請求項4記載のデータ符号化装置において、
    前記第1バッファの容量は、前記制御部が符号化の停止を要求してから前記動画像データの符号化が実際に停止するまでの間に前記第1バッファに書き込まれる最大のデータ量と前記第1最大量との和以上であり、
    前記第2バッファの容量は、前記制御部が符号化の停止を要求してから前記音声データの符号化が実際に停止するまでの間に前記第2バッファに書き込まれる最大のデータ量と前記第2最大量との和以上であり、
    前記第3バッファの容量は、前記制御部が符号化の停止を要求してから前記動画像データと前記音声データとの符号化が実際に停止するまでの間に前記第3バッファに書き込まれる最大のデータ量と前記第3最大量との和以上であることを特徴とするデータ符号化装置。
  6. 請求項4記載のデータ符号化装置において、
    前記第1〜第3規格は、MPEG規格であることを特徴とするデータ符号化装置。
JP2003089912A 2003-03-28 2003-03-28 データ符号化方法およびデータ符号化装置 Expired - Fee Related JP4153817B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003089912A JP4153817B2 (ja) 2003-03-28 2003-03-28 データ符号化方法およびデータ符号化装置
US10/756,256 US7061983B2 (en) 2003-03-28 2004-01-14 Data coding method and data coding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003089912A JP4153817B2 (ja) 2003-03-28 2003-03-28 データ符号化方法およびデータ符号化装置

Publications (2)

Publication Number Publication Date
JP2004297666A JP2004297666A (ja) 2004-10-21
JP4153817B2 true JP4153817B2 (ja) 2008-09-24

Family

ID=32985260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003089912A Expired - Fee Related JP4153817B2 (ja) 2003-03-28 2003-03-28 データ符号化方法およびデータ符号化装置

Country Status (2)

Country Link
US (1) US7061983B2 (ja)
JP (1) JP4153817B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274862B2 (en) * 2001-09-27 2007-09-25 Sony Corporation Information processing apparatus
JP2005275643A (ja) * 2004-03-24 2005-10-06 Hitachi Ltd コンテンツデータ処理装置及び方法
JP4661373B2 (ja) * 2004-10-15 2011-03-30 Kddi株式会社 特定メディアデータの破棄を制御する送信装置及び送信プログラム
CN100508603C (zh) * 2006-08-07 2009-07-01 黄山好视达通信技术有限公司 视频图像数据的流控装置和方法
US9276989B2 (en) 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
JP2016158133A (ja) * 2015-02-25 2016-09-01 沖電気工業株式会社 通信装置、遅延回復方法および遅延回復プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU697039B2 (en) * 1993-12-18 1998-09-24 Sony Corporation Data reproduction apparatus and data storage
JPH08130715A (ja) 1994-10-31 1996-05-21 Sony Corp 画像再生装置
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
JP3319209B2 (ja) * 1995-02-17 2002-08-26 ソニー株式会社 データ復号化装置
JP3763153B2 (ja) * 1995-12-13 2006-04-05 ソニー株式会社 データ処理装置及びデータ処理方法
US6212208B1 (en) * 1996-11-11 2001-04-03 Matsushita Electric Industrial Co., Ltd. Method for coding and multiplexing multimedia data, apparatus for coding and multiplexing multimedia data, record media containing program for coding and multiplexing multimedia data
KR100235438B1 (ko) * 1997-02-04 1999-12-15 구자홍 광디스크의 오디오재생신호 보상처리방법 및 장치

Also Published As

Publication number Publication date
US20040190608A1 (en) 2004-09-30
US7061983B2 (en) 2006-06-13
JP2004297666A (ja) 2004-10-21

Similar Documents

Publication Publication Date Title
KR100266196B1 (ko) 멀티미디어 데이터 부호화 다중화 방법 및 그 장치와, 멀티미디어 데이터 부호화 다중화 프로그램 기록 매체
JP5087985B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP4667108B2 (ja) データ処理装置
US20050175321A1 (en) Recording method, recording apparatus, recording medium, reproduction method, reproduction apparatus and image pickup apparatus
JPH10507597A (ja) マルチメディア・システムのためのプログラマブルなオーディオ−ビデオ同期方法および装置
KR20040017773A (ko) 기록 장치 및 방법, 기록 매체 및 프로그램
JP4153817B2 (ja) データ符号化方法およびデータ符号化装置
JPH10154125A (ja) Dmaデータ転送装置および同装置を使用した動画像復号化装置並びにdmaデータ転送制御方法
US20080317139A1 (en) Moving picture coding apparatus
JP4438059B2 (ja) 画像再生装置及びその制御方法
JP2004173069A (ja) 画像データ記録装置及び記録方法
US20080267597A1 (en) Image data recording/playback device, system, and method
JP4289138B2 (ja) データ処理装置およびその方法と符号化装置
JP4900945B2 (ja) 記録装置、及び記録方法
JP4770023B2 (ja) デジタル信号処理装置および方法、並びにデジタル信号処理プログラム
JP2005309606A (ja) データ処理回路およびストリームデータ受信転送方法
US8509597B2 (en) Recording apparatus, imaging and recording apparatus, recording method, and program
JP2004173244A (ja) データ記録装置、そのプログラム、及び記録媒体
JP2008199077A (ja) ビデオ記録再生方法および装置
JP2942738B2 (ja) データ復号ic
JP3083788B2 (ja) データ復号装置
KR100846406B1 (ko) 인코드 중에 추출 화상을 외부에 송신하는 비디오 인코더
EP1711010B1 (en) Video encoder transmitting extracted image outside during encoding
JPH1175171A (ja) マルチメディアデータ符号化多重化方法、マルチメディアデータ符号化多重化装置、およびマルチメディアデータ符号化多重化プログラム記録媒体
JP3992804B2 (ja) 動画像復号方法及び装置並びに動画像再生装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070424

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070628

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: 20080701

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: 20080704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110711

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: 20110711

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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: 20110711

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: 20120711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

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