JP4770023B2 - デジタル信号処理装置および方法、並びにデジタル信号処理プログラム - Google Patents
デジタル信号処理装置および方法、並びにデジタル信号処理プログラム Download PDFInfo
- Publication number
- JP4770023B2 JP4770023B2 JP2000604614A JP2000604614A JP4770023B2 JP 4770023 B2 JP4770023 B2 JP 4770023B2 JP 2000604614 A JP2000604614 A JP 2000604614A JP 2000604614 A JP2000604614 A JP 2000604614A JP 4770023 B2 JP4770023 B2 JP 4770023B2
- Authority
- JP
- Japan
- Prior art keywords
- video data
- decoding
- frame
- input
- processing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、デジタル信号処理装置および方法、並びにデジタル信号処理プログラムに関し、特に、ソフトウェア処理により、ビデオデータやオーディオデータを符号化または復号化するデジタル信号処理装置および方法、並びにデジタル信号処理プログラムに関する。
【0002】
【従来の技術】
最近、衛星を介して、TV番組のデジタルビデオデータやデジタルオーディオデータを伝送するシステムが普及しつつある。このようなシステムにおいては、データ量を圧縮するために、デジタルビデオデータやデジタルオーディオデータは、例えば、MPEG(MovingPicture Experts Group)方式により符号化(エンコード)されて伝送される。
【0003】
ソフトウェア処理による符号化装置では、ビデオデータの入力周期に同期して符号化が行われる。入力周期は、さまざまな規格により定められており、例えば、NTSC(NationalTelevision System Committee)方式では、33.36msecと定められている。1画像に対して割り当てられている最大の処理時間(符号化時間)は、この規格により定められているビデオデータの入力周期に束縛される。換言すれば、入力周期内に、入力されたビデオデータを符号化し終わらなくてはならない。このようにして符号化されたビデオデータは、所定の記録媒体などに記録されたり、衛星を介して伝送される。
【0004】
また衛星を介して伝送されてくるデジタルデータを受信する受信装置は、受信したデータをMPEG方式でデコードする。デジタルビデオデータをソフトウェア処理によってデコード(復号)する場合、デコードに必要な複数の処理を逐次実行していく必要がある。また、出力をリアルタイムで行うには、デコードに必要な全ての処理を、出力で要求される周期に間に合う時間内に完了する必要がある。例えば、NTSC方式の場合、フレームレートは30フレーム/秒であるため、その1周期は、33.36msecとなる。従って、1フレーム分のデジタルビデオデータは、33.36msec内にデコード処理する必要がある。
【0005】
【発明が解決しようとする課題】
ところで、入力されるストリームの状況や、デコードするビデオ画像の状況によって、それらの処理を実行するために必要な時間が変動する。例えば、MPEG方式のビデオ画像の場合、ビットストリームのビットレートによって、可変長符号の復号処理に必要な時間が変化し、Iピクチャ、Bピクチャ、またはPピクチャといったピクチャコーディングタイプの種類や、ハーフペル、またはフルペルといった動き補償精度の違いによっても、動き補償の処理時間が変化する。さらに、ビデオ画像だけではなく、デジタルオーディオデータの復号、あるいはデマルチプレクスといった処理にも時間がかかる。その他、それらの処理全体を管理するOSが消費する時間も変動する。
【0006】
そこで、パーソナルコンピュータを用いて、ソフトウェア処理によりデコードを行う場合、デコードが出力周期に間に合わない場合、一部のデータの処理をスキップして、出力を間引くようにして、リアルタイム性を維持するようにしている。
【0007】
上述したように、従来の符号化装置は、ビデオデータの入力周期と同期して符号化が行われるため、各画像に対して、その周期内で最大限の精度で符号化が完了するようにしなくてはならない。ここで、付号化における精度とは、符号化前の画像と、その符号化された画像を復号した画像とが、どれだけ似ているかによるものであり、その精度の善し悪しは、符号化の処理時間や符号化の手法などにかかわってくる。
【0008】
時間軸で、符号化処理が代わる場合(例えばMPEG(Moving Picture Experts Group)2)や、それぞれの画像をできるだけ等しい精度で符号化しなくてはならない場合(時間軸で符号化の精度が異なると、復号された画像は、ちらちらとして見づらくなってしまうのを防ぐため)、符号化装置の設計は、符号化の精度を高くするために、その符号化処理にかける時間に余裕があるように設定して設計しなくてはならない。
【0009】
また、ソフトウェア処理による符号化装置は、符号化処理の他に、ビデオデータの入力の制御や出力の制御などをしなくてはならず、それらの処理を、内蔵されているプロセッサで同時に行う必要があった。その為、符号化処理以外の処理との関係により、符号化処理に割り当てられる最大の処理時間を算出する事が困難であるという課題があった。そのため、プロセッサが処理を行わない無駄な時間が発生するという課題もあった。また、このように、複数の処理を1つのプロセッサにより行わせる場合、そのプロセッサは、高い処理能力を持つ必要があり、コスト高になるという課題があった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、1画像の符号化処理を他の処理を優先しながら行うようにすることにより、処理能力の低いプロセッサにおいても高精度の符号化が行えるようにすることを目的とする。
【0011】
また、例えば、衛星放送を受信する専用の受信装置において、ソフトウェア処理により受信信号をデコードする場合においても、リアルタイム性を維持するために、一部のデータの処理をスキップして、出力を間引くことは、その装置が、本来衛星を介して送信されてくるデジタルビデオ信号をデコードする専用の装置であることを考慮すれば、許容されることではない。
【0012】
そこで、ソフトウェア処理によりデコードを短時間で完了できるようにするには、非常に高い処理能力を有するプロセッサが必要となり、コスト高となる課題があった。
【0013】
本発明はこのような状況に鑑みてなされたものであり、通常の処理能力を有するプロセッサを用いて、ソフトウェア処理により低コストでデコード処理ができるようにするものである。
【0014】
【課題を解決するための手段】
請求項1に記載のデジタル信号処理装置は、エンコードされているビデオデータを入力する入力手段と、
入力手段により入力されたビデオデータをデコードするソフトウェアよりなるデコード手段と、
デコード手段によりデコードされたビデオデータを、N個のフレーム単位分だけ記憶し、各フレーム単位がIDで区別される記憶手段と、
記憶手段に記憶されているフレーム単位のビデオデータの出力の順番をFIFO形式で管理する管理手段と
を備え、
デコード手段による処理は、記憶手段において空いているフレーム単位を次のデコード出力用に割り当てる割り当て処理と、入力手段から入力されてきた1フレーム分のビデオデータをデコードし、割り当て処理で割り当てられたフレーム単位に記憶するデコード処理と、記憶手段の次に読み出すべきフレーム単位のIDを管理手段に登録する登録処理とを含み、
1フレーム期間内に1フレーム分のビデオデータに対するデコード手段による処理が終了しない場合には、次のフレーム期間において、一旦中断した後に再開し、デコード手段による該処理が終了した後に、入力手段から続いて入力されてきた1フレーム分のビデオデータのデコード手段による処理を行うデジタル信号処理装置である。
【0015】
請求項3に記載のデジタル信号処理方法は、入力手段を通じてエンコードされているビデオデータを入力する入力ステップと、
入力ステップにより入力されたビデオデータをソフトウェアでデコードするデコードステップと、
デコードステップの処理によりデコードされたビデオデータを、各フレーム単位がIDで区別される記憶手段に対して、N個のフレーム単位分だけ記憶する記憶ステップと、
管理手段によって、記憶ステップの処理で記憶されているフレーム単位のビデオデータの出力の順番をFIFO形式で管理する管理ステップと
を有し、
デコードステップにおける処理は、記憶手段において空いているフレーム単位を次のデコード出力用に割り当てる割り当て処理と、入力ステップで入力されてきた1フレーム分のビデオデータをデコードし、割り当て処理で割り当てられたフレーム単位に記憶するデコード処理と、記憶手段の次に読み出すべきフレーム単位のIDを管理手段に登録する登録処理とを含み、
1フレーム期間内に1フレーム分のビデオデータに対するデコードステップによる処理が終了しない場合には、次のフレーム期間において、一旦中断した後に再開し、デコードステップによる該処理が終了した後に、入力手段から続いて入力されてきた1フレーム分のビデオデータのデコードステップによる処理を行うデジタル信号処理方法である。
【0017】
請求項1に記載のデジタル信号処理装置および請求項3に記載のデジタル信号処理方法においては、1フレーム期間内にデコードステップによる処理が終了しない場合には、次のフレーム期間において、一旦中断した後に再開し、デコードステップによる該処理が終了した後に、入力手段から続いて入力されてきた1フレーム分のビデオデータのデコードステップによる処理を行う。
【0018】
【発明の実施の形態】
まずソフトウェア処理によるデコードを行うデジタル信号処理装置について説明する。図1は、本発明を適用した、デジタル信号処理装置の構成例を表している。プログラムメモリ2には、入力されたストリームのデコード(復号)処理を行うデコードプログラム、並びに各部を制御する処理プログラムなどが記憶されている。CPU 1は、プログラムメモリ2に記憶されているプログラムをバス7を介して適宜読み出し実行する。ビデオフレームバッファ3は、デコードされた画像データを一時的に記憶する記憶装置であり、複数フレーム分の画像データを保持する容量を有している。
【0019】
出力FIFO(First In First Out)4は、出力するフレームの画像が記憶されているバッファ1乃至バッファNの管理IDを、出力する順番に記憶する。ストリーム入力インタフェース(I/F)5は、衛星等を介して伝送されてくる、例えば、MPEG方式でエンコードされているトランスポートストリームを入力するためのインタフェース処理を実行する。ディスプレイコントローラ6は、デコードされた画像データを、図示せぬディスプレイに出力し、表示させるための処理を行う。
【0020】
ビデオフレームバッファ3は、図2に示すように、Nフレーム分の画像データを記憶するための領域として、バッファ1乃至バッファNを有している。これらのバッファは、必ずしも連続したアドレス領域に定義する必要はない。また、各バッファは、それぞれデコード出力用としての割当、デコード結果の保持、およびデータの出力の順序で使用され、出力が終了したバッファは、再び、デコード出力用として再利用される。さらに、各バッファは、全て等価的に使用され、特定のバッファが限定された用途に使用されることはない。
【0021】
なお、出力FIFO4は、ビデオフレームバッファ3内に形成してもよい。
【0022】
図3は、出力FIFO4の原理的な構成を表している。この出力FIFO4は、デコード結果を出力するバッファの順番と、出力するまでの遅延を管理するものである。出力FIFO4には、図2に示したビデオフレームバッファ3のバッファ1乃至バッファNの管理IDまたはポインタが、出力する順番に入力、記憶される。
【0023】
次に、図4のタイミングチャートを参照して、図1に示す装置の動作について説明する。図4において、時刻t1乃至t4は、それぞれデコードした画像データを出力するタイミングを表している。すなわち、各時刻t1乃至t4の間隔は、1フレーム分の周期(33.36msec)とされる。CPU 1は、プログラムメモリ2より読み出したプログラムに従って、時刻t1のタイミングで処理1を実行し、その処理1の処理が終了したとき、次に、処理2を実行する。そして、処理2の処理が完了したとき、処理3を実行する。このように、処理の優先順位は、処理1が最も高く、次に処理2が続き、処理3は最も優先順位が低い。
【0024】
次に、図5のフローチャートを参照して、処理1について説明する。ステップS11において、CPU 1は、次に出力するバッファのIDを出力FIFO4より取得する。そして、ステップS12において、CPU 1は、ステップS11で取得したIDに対応するビデオデータをビデオフレームバッファ3から読み出し、バス7を介して、ディスプレイコントローラ6に出力する。ディスプレイコントローラ6は、入力されたデータを図示せぬディスプレイに出力し、表示させる。
【0025】
例えば、図4に示す時刻t1において、出力FIFO4には、その先頭に管理IDとしてAが保持されている。そこで、CPU 1は、ステップS11において、出力FIFO4から管理IDとしてAを読み出し、ビデオフレームバッファ3のバッファ1乃至バッファNのうち、Aの管理IDに対応するバッファのビデオデータを読み出し、出力する。
【0026】
次に、CPU 1は、処理2を実行する。この処理2は、例えば、オーディオデータのデコード処理である。処理されたオーディオデータは、ディスプレイコントローラ6から出力される所定のタイミング信号に同期して、図示せぬスピーカに出力される。
【0027】
処理2が終了したとき、次に、CPU 1は、処理3を実行する。次に、図6のフローチャートを参照して、この処理3の詳細について説明する。
【0028】
最初に、ステップS21において、CPU 1は、次のデコード出力用バッファの割当処理を実行する。すなわち、図2に示すビデオフレームバッファ3のバッファ1乃至バッファNのうち、空いている(既に読み出した)バッファを、デコードしたビデオデータを記憶させるバッファとして割り当てる。次に、ステップS22において、CPU 1は、ストリーム入力インタフェース5より入力されてきた1フレーム分のビデオデータを、プログラムメモリ2より読み出したデコードプログラムにより、MPEG方式でデコードする。デコードされたデータは、ステップS21で割り当てられたバッファに記憶される。さらに、ステップS23において、CPU 1は、次に出力する(読み出す)べきバッファのIDを出力FIFO4に登録する。
【0029】
図4の時刻t1から時刻t2の間のタイミングにおいては、このような処理3により、管理IDがDであるフレームのデコード処理が行われたので、CPU 1は、出力FIFO4に管理IDとして、Dを登録する。図4の例では、時刻t1から時刻t2までの時間に、処理3は完了することが可能であった。
【0030】
これに対して、時刻t2から時刻t3までの時間においては、処理1として管理IDがBであるフレームのビデオデータが出力された後、処理2として、オーディオデータなどの処理が行われ、その後、処理3が開始されているのであるが、処理3は、時刻t4までの間に、完了することができていない。
【0031】
このような場合、従来においては、時刻t3において、直前の時刻t2において出力した、管理IDがBであるフレームの画像を、再度出力するようにしている。しかしながら、本発明においては、時刻t3において、処理3の処理を一旦中断した後、処理1として出力FIFO4に記憶されている管理IDがCであるフレームの画像を出力する。その後、さらに、処理2を実行した後、それが終了したとき、処理3として、一旦中断した処理を再開する。そして、その後、続いて、次のフレームのビデオデータの処理を実行する。図4の例では、このようにして、時刻t3から時刻t4までの間に、管理IDがEとFの2つのフレームのビデオデータを処理することができ、それらのフレームの管理IDであるEとFが、出力FIFO4に記憶されている。
【0032】
このように、出力FIFO4により、バッファ1乃至バッファNの管理を行うようにすることで、処理3の実行時間が、出力周期を一時的に越えてしまったような場合や、各処理の実行時間の伸縮によって、処理1と処理3の実行タイミングが非同期になってしまったような場合にも、処理1においては、一定周期で出力するバッファを常に確保することが可能となる。
【0033】
このようにして、CPU 1に要求されるソフトウェアの処理能力を、1フレームのデコードに要する処理時間が最長となる場合に対応させる必要はなく、数フレームのデコードに要する平均的処理時間に対応すれば良いため、CPU 1として、より安価なプロセッサを用いることが可能となる。
【0034】
次にソフトウェア処理によるエンコードを行うデジタル信号処理装置について説明する。図7は、本発明を適用したデジタル信号処理装置の内部構成を示すブロック図である。CPU(Central Processing Unit)11は、ROM(Read Only Memory)やRAM(Random Access Memory)などから構成されるメモリ12に記憶されているプログラムに従って、所定の処理を行う。ビデオフレームバッファ13は、入出力インターフェース14を介して入力されたビデオデータを一旦記憶する。エンコーダ15は、ビデオフレームバッファ13に記憶されているビデオデータをエンコードし、コードバッファ16に出力する。コードバッファ16は、エンコードされたビデオデータを一旦記憶する。コードバッファ16に記憶されているビデオデータは、入出力インターフェース14を介して他の装置、例えば、図示されていない記録装置に出力される。これらの各部は、バス17により、相互に接続されている。
【0035】
ビデオフレームバッファ13は、複数のフレームのビデオデータを記憶できる容量をもち、図8に示すように、複数のバッファが定義されている。すなわち、ビデオフレームバッファ13内には、N個のバッファ13−1乃至13−Nが定義されており、ビデオデータ1はバッファ13−1に、ビデオデータ2はバッファ13−2に、ビデオデータNはバッファ13−Nに、それぞれ記憶されるようにされている。バッファ13−1乃至13−Nは、それらを一意に規定するIDまたはポインタで管理されている。ここでは、IDで管理されているとして以下の説明をする。なお、各バッファ1乃至Nは、必ずしも連続したアドレス領域に定義される必要はない。
【0036】
CPU 11により行われる、ビデオフレームバッファ13へのビデオデータの書き込み処理について、図9のフローチャートを参照して説明する。ステップS31において、入出力インターフェース14を介して、ビデオデータが符号化装置10に入力されると、ステップS32において、CPU 11は、ビデオフレームバッファ13内の空きバッファを調査する。ビデオフレームバッファ13内の各バッファは、一意に規定できるIDにより管理されており、CPU 11は、そのIDを参照することにより、空きバッファを調査する。
【0037】
すなわち、例えば、FIFO(First In First Out)を用い、ビデオデータが記憶されたバッファのIDを順次書き込み、そのFIFOに書き込まれていないIDを調査することにより、空きバッファを調査できるようにする。このように、FIFOを用いて、ビデオフレームバッファ13内の各バッファが管理されている場合、後述する読み出し処理は、書き込まれた順に出力されることになる。FIFOには、同一IDは書き込まれることはないので、出力されたID(従って、FIFOには書き込まれていないID)は、空きバッファを示すIDとなる。
【0038】
ステップS33において、ステップS32により空きバッファであると調査されたバッファに、ステップS31において入力されたビデオデータが書き込まれる。このようにして書き込まれたビデオデータは、エンコーダ15によるエンコードが行われる際に読み出される。その読み出し処理について、図10のフローチャートを参照して説明する。ビデオフレームバッファ13にビデオデータが記憶されており、かつ、CPU 11が、他の処理を行っていないとき、ステップS41において、ビデオフレームバッファ13に記憶されている1フレーム分の画像をエンコードした場合のエンコード量が予測される。エンコードの対象となるビデオデータは、その時点で、上述したFIFOに一番初めに書き込まれたIDに対応するバッファに記憶されているビデオデータである。
【0039】
ステップS41において、エンコード量が予測されると、ステップS42において、そのエンコード量を記憶するだけの空き容量が、コードバッファ16にあるか否かが判断される。コードバッファ16に、予測されたエンコード量を記憶する空き容量がないと判断された場合、エンコードしたビデオデータを記憶する事できないので、このフローチャートの処理は終了される。
【0040】
一方、ステップS42において、コードバッファ16に、予測されたエンコード量を記憶する容量があると判断された場合、ステップS43に進み、ステップS41においてエンコード量が予測されたビデオデータが、ビデオフレームバッファ13から読み出され、エンコーダ15によりエンコードされる。エンコーダ15によりエンコードされたビデオデータは、コードバッファ16に記憶される。コードバッファ16にビデオデータが記憶されると、ステップS44において、ステップS43においてエンコードされたビデオデータがビデオフレームバッファ13から削除される。同時にエンコードされたビデオデータが記憶されていたビデオフレームバッファ13内のバッファのIDが、FIFOから破棄(出力)される。
【0041】
このように、エンコーダ15によるエンコードは、CPU 11が他の処理を行っていないとき、ビデオフレームバッファ13にビデオデータが記憶されているとき、かつ、コードバッファ16にエンコードされたビデオデータを記憶するだけの空き容量があるときに行われる。
【0042】
このような符号化装置10の一連の処理を、図11と図12を参照してさらに説明する。時刻tにおいて、ビデオデータaが符号化装置10に入力されると、図9のフローチャートを参照して説明した処理が行われ、入力されたビデオデータaは、ビデオフレームバッファ13内の割り当てられたバッファに記憶される。時刻t+1において、ビデオデータbが入力されると、ビデオデータaが入力された場合と同様の処理により、ビデオフレームバッファ13内の割り当てられたバッファに、入力されたビデオデータbが記憶される。また、時刻t+1においては、ビデオフレームバッファ13に記憶されているビデオデータaに対して、図4のフローチャートのステップS41の処理、すなわち、ビデオデータaをエンコードしたときのエンコード量が予測される。時刻tと時刻t+1の時間間隔は、例えば、NTSC方式の場合、33.36msecである。他の時間間隔も同じである。
【0043】
ステップS42における処理により、コードバッファ16に、ビデオデータaをエンコードしたときのエンコード量が記憶できると判断された場合、エンコーダ15によるエンコードが開始される。いまの場合、コードバッファ16には何も記憶されていないので、エンコードしたビデオデータaが記憶するだけの空き容量があると判断される。時刻t+2において、ビデオデータcが入力され、ビデオフレームバッファ13に記憶されると、CPU 1は、エンコーダ5にビデオデータaをエンコードさせる。ステップS43の処理として、ビデオデータaがビデオフレームバッファ13から読み出され、エンコーダ15によりエンコードされ、コードバッファ16に記憶されると、ステップS44の処理として、ビデオフレームバッファ13に記憶されていたビデオデータa(ビデオデータaが記憶されていたバッファに対応するID)が削除される。
【0044】
また、時刻t+2においては、ビデオデータcの記憶とビデオデータaのエンコードが終了された時点で、まだ、次の時刻t+3まで時間があり、エンコードしたビデオデータbを記憶するだけの空き容量がコードバッファ16にあるので、画像データaのエンコードだけでなく、ビデオデータbのエンコードも開始される。しかしながら、ビデオデータbのエンコードの途中で、ビデオデータdの入力時刻t+3になり、ビデオデータdの入力が行われると、そのビデオデータdが入力(記憶)されている間は、ビデオデータbのエンコードは中断される。そして、ビデオデータdの入力が終了されると、再び、ビデオデータbのエンコードが再開される。時刻t+4までに、ビデオデータbのエンコードが終了されるとともに、ビデオデータcのエンコードも完了される。そのため、時刻t+4の直前では、ビデオフレームバッファ13には新たに入力されたビデオデータdのみが記憶されている状態となり、コードバッファ16には、既にエンコードされたビデオデータa、ビデオデータb、およびビデオデータcが記憶されている状態となる。
【0045】
このように、ビデオフレームバッファ13に記憶されているビデオデータをエンコードした際、そのエンコード量が、ビデオデータ毎に異り、そのため、エンコードにかかる時間も異なるような場合でも、所定の処理時間内(ビデオデータが入力される入力周期内)に処理を終わらせる必要がないため、エンコードの精度を上げることが可能となる。
【0046】
時刻t+4において、ビデオデータeが入力され、ビデオフレームバッファ13に記憶される。この時点では、既に、ビデオフレームバッファ13にビデオデータdが記憶されており、CPU 1は、他の処理を起こっていないので、エンコード処理を行うことができるが、コードバッファ16の空き容量が充分でないため、エンコードは行われない。時刻t+5(図12)において、ビデオデータfが入力されるとともに、他の装置、例えば、記録装置などに、コードバッファ16に記憶されているビデオデータが一定量で、継続的に出力される。この出力処理は、DMAC(Direct Memory Access Controller)などを備え、DMA転送させるようにすることにより、CPU 11は、読み出しの処理の開始だけ指示すれば良いので、CPU 1自体に負担をかけずにビデオデータの出力を行うことができる。
【0047】
コードバッファ16に記憶されているビデオデータが出力されることにより、コードバッファ16自体に空き容量ができる。そこで、時刻t+6において、再び、エンコードが開始される。以後、同様に、図9と図10のフローチャートを参照して説明したように、ビデオフレームバッファ13への記憶処理とエンコード処理が行われる。
【0048】
このように、1つのビデオデータに対するエンコード処理を、コードバッファ6の空き容量やCPU 11の空き時間を考慮して行うようにすることにより、画像データの入力周期内に処理を終了させなくてはならないという条件に拘束されることなく、エンコード処理を行うことが可能となる。その結果、符号化装置10に処理能力の低いプロセッサ(CPU 11)を用いたとしても、精度の高いエンコードを行うことが可能となるとともに、ビデオデータの入力とともにエンコードを行うことが可能となる。
【0049】
次に、図13を参照して、上述した一連のエンコードまたはデコード処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられる媒体について説明する。
【0050】
プログラムは、図13Aに示すように、パーソナルコンピュータ21に内蔵されている記録媒体としてのハードディスク22や半導体メモリ23(メモリ2に相当する)に予めインストールした状態でユーザに提供することができる。
【0051】
あるいはまた、プログラムは、図13Bに示すように、フロッピーディスク31、CD−ROM32、MOディスク33、DVD 34、磁気ディスク35、半導体メモリ36などの記録媒体に、一時的あるいは永続的に格納し、パッケージソフトウエアとして提供することができる。
【0052】
さらに、プログラムは、図13Cに示すように、ダウンロードサイト41から、無線で衛星42を介して、パーソナルコンピュータ43に転送したり、ローカルエリアネットワーク、インターネットといったネットワーク51を介して、有線または無線でパーソナルコンピュータ43に転送し、パーソナルコンピュータ43において、内蔵するハードディスクなどにダウンロードさせるようにすることができる。
【0053】
本明細書における媒体とは、これら全ての媒体を含む広義の概念を意味するものである。
【0054】
以上においては、アクセス単位をフレームとしたが、フィールドでもよい。また、MPEG方式でエンコードされているデジタル信号をデコードする場合を例としたが、符号化(圧縮)とその復号(伸長)処理は、他の方式でもよいことは勿論である。
【0055】
【発明の効果】
以上の如く、請求項1に記載のデジタル信号処理装置、請求項3に記載のデジタル信号処理方法、および請求項4に記載のデジタル信号処理プログラムによれば、記憶されているアクセス単位のデジタル信号の出力の順番をFIFO形式で管理するようにしたので、安価な装置で、ソフトウェアによりリアルタイム性を確保しつつ、デコード処理することが可能となる。
【0056】
この発明は、上述した実施例等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【図面の簡単な説明】
【図1】 本発明を適用したデジタル信号処理装置(デコーダ)の構成例を示すブロック図である。
【図2】 図1のビデオフレームバッファ3の構成を示す図である。
【図3】 図1の出力FIFO4の構成を示す図である。
【図4】 図1の装置の動作を説明するタイミングチャートである。
【図5】 図4の処理1の動作を説明するフローチャートである。
【図6】 図4の処理3の動作を説明するフローチャートである。
【図7】 本発明を適用したデジタル信号処理装置(エンコーダ)の構成例を示すブロック図である。
【図8】 ビデオフレームバッファ13を説明する図である。
【図9】 ビデオフレームバッファ13へのビデオデータの書き込み処理について説明するフローチャートである。
【図10】 エンコードについて説明するフローチャートである。
【図11】 ビデオデータの入力から出力されるまでの処理を説明する図である。
【図12】 図11の続きを示す図である。
【図13】 媒体を説明する図である。
【符号の説明】
1 CPU
2 プログラムメモリ
3 ビデオフレームバッファ
4 出力FIFO
Claims (3)
- エンコードされているビデオデータを入力する入力手段と、
前記入力手段により入力されたビデオデータをデコードするソフトウェアよりなるデコード手段と、
前記デコード手段によりデコードされたビデオデータを、N個のフレーム単位分だけ記憶し、各フレーム単位がIDで区別される記憶手段と、
前記記憶手段に記憶されているフレーム単位の前記ビデオデータの出力の順番をFIFO形式で管理する管理手段と
を備え、
前記デコード手段による処理は、前記記憶手段において空いているフレーム単位を次のデコード出力用に割り当てる割り当て処理と、前記入力手段から入力されてきた1フレーム分のビデオデータをデコードし、前記割り当て処理で割り当てられたフレーム単位に記憶するデコード処理と、前記記憶手段の次に読み出すべきフレーム単位のIDを前記管理手段に登録する登録処理とを含み、
1フレーム期間内に1フレーム分のビデオデータに対する前記デコード手段による処理が終了しない場合には、次のフレーム期間において、一旦中断した後に再開し、前記デコード手段による該処理が終了した後に、前記入力手段から続いて入力されてきた1フレーム分のビデオデータの前記デコード手段による処理を行うデジタル信号処理装置。 - 前記デコード手段は、前記ビデオデータをMPEG方式でデコードする請求項1に記載のデジタル信号処理装置。
- 入力手段を通じてエンコードされているビデオデータを入力する入力ステップと、
前記入力ステップにより入力されたビデオデータをソフトウェアでデコードするデコードステップと、
前記デコードステップの処理によりデコードされたビデオデータを、各フレーム単位がIDで区別される記憶手段に対して、N個のフレーム単位分だけ記憶する記憶ステップと、
管理手段によって、前記記憶ステップの処理で記憶されているフレーム単位の前記ビデオデータの出力の順番をFIFO形式で管理する管理ステップと
を有し、
前記デコードステップにおける処理は、前記記憶手段において空いているフレーム単位を次のデコード出力用に割り当てる割り当て処理と、前記入力ステップで入力されてきた1フレーム分のビデオデータをデコードし、前記割り当て処理で割り当てられたフレーム単位に記憶するデコード処理と、前記記憶手段の次に読み出すべきフレーム単位のIDを前記管理手段に登録する登録処理とを含み、
1フレーム期間内に1フレーム分のビデオデータに対する前記デコードステップによる処理が終了しない場合には、次のフレーム期間において、一旦中断した後に再開し、前記デコードステップによる該処理が終了した後に、前記入力手段から続いて入力されてきた1フレーム分のビデオデータの前記デコードステップによる処理を行うデジタル信号処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000604614A JP4770023B2 (ja) | 1999-03-08 | 2000-03-08 | デジタル信号処理装置および方法、並びにデジタル信号処理プログラム |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6031699 | 1999-03-08 | ||
JP1999060316 | 1999-03-08 | ||
JP17201399 | 1999-06-18 | ||
JP1999172013 | 1999-06-18 | ||
PCT/JP2000/001384 WO2000054509A1 (fr) | 1999-03-08 | 2000-03-08 | Dispositif et procede de traitement de signaux numeriques et support associe |
JP2000604614A JP4770023B2 (ja) | 1999-03-08 | 2000-03-08 | デジタル信号処理装置および方法、並びにデジタル信号処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP4770023B2 true JP4770023B2 (ja) | 2011-09-07 |
Family
ID=26401385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000604614A Expired - Fee Related JP4770023B2 (ja) | 1999-03-08 | 2000-03-08 | デジタル信号処理装置および方法、並びにデジタル信号処理プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7103100B1 (ja) |
EP (1) | EP1079632A1 (ja) |
JP (1) | JP4770023B2 (ja) |
KR (1) | KR100726695B1 (ja) |
WO (1) | WO2000054509A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9307262B2 (en) * | 2011-01-13 | 2016-04-05 | Texas Instruments Incorporated | Methods and systems for facilitating multimedia data encoding utilizing configured buffer information |
US10390010B1 (en) | 2013-06-12 | 2019-08-20 | Ovics | Video coding reorder buffer systems and methods |
US9472168B2 (en) * | 2014-03-07 | 2016-10-18 | Apple Inc. | Display pipe statistics calculation for video encoder |
US10062405B2 (en) * | 2015-05-06 | 2018-08-28 | Samsung Electronics Co., Ltd. | Electronic device and method for operating the same |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03154490A (ja) * | 1989-11-13 | 1991-07-02 | Olympus Optical Co Ltd | 画像再生装置 |
JPH04326281A (ja) * | 1991-04-25 | 1992-11-16 | Hitachi Ltd | フレーム間予測符号化復号化装置 |
JPH0654320A (ja) * | 1992-07-31 | 1994-02-25 | Oki Electric Ind Co Ltd | 画像圧縮符号化装置 |
JPH089383A (ja) * | 1994-06-20 | 1996-01-12 | Oki Electric Ind Co Ltd | 画像符号化装置 |
JPH0818953A (ja) * | 1994-07-01 | 1996-01-19 | Hitachi Ltd | 動画像復号表示装置 |
JPH09205651A (ja) * | 1996-01-26 | 1997-08-05 | Rohm Co Ltd | 画像データ復号方法およびこの方法を用いた画像データ復号装置 |
JPH10210484A (ja) * | 1997-01-24 | 1998-08-07 | Nec Corp | フレーム・バッファ管理方式 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6201536B1 (en) * | 1992-12-09 | 2001-03-13 | Discovery Communications, Inc. | Network manager for cable television system headends |
DE69525424T2 (de) * | 1994-11-25 | 2002-10-02 | Koninkl Philips Electronics Nv | Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen |
JP3824678B2 (ja) * | 1995-05-09 | 2006-09-20 | 株式会社ルネサステクノロジ | 画像復号表示装置 |
KR970707686A (ko) * | 1995-09-20 | 1997-12-01 | 요트. 게. 아. 롤페즈 | 부호화된 디지털 비디오 신호 디코딩 방법 및 장치(Method and device for decoding coded video signals) |
FR2780186B1 (fr) * | 1998-06-23 | 2000-08-11 | St Microelectronics Sa | Procede et dispositif de decodage d'une image, comprimee notamment selon les normes mpeg, en particulier une image bidirectionnelle |
FR2780184B1 (fr) * | 1998-06-23 | 2000-08-11 | St Microelectronics Sa | Procede et dispositif de decodage d'images, permettant un nombre reduit d'ouvertures de pages-memoire dans le traitement de prediction |
JP3110390B2 (ja) * | 1998-08-28 | 2000-11-20 | 日本電気アイシーマイコンシステム株式会社 | 画像再生装置 |
US6229852B1 (en) * | 1998-10-26 | 2001-05-08 | Sony Corporation | Reduced-memory video decoder for compressed high-definition video data |
JP2001016593A (ja) * | 1999-06-25 | 2001-01-19 | Mitsubishi Electric Corp | 画像復号表示装置 |
-
2000
- 2000-03-08 EP EP20000907932 patent/EP1079632A1/en not_active Withdrawn
- 2000-03-08 WO PCT/JP2000/001384 patent/WO2000054509A1/ja active IP Right Grant
- 2000-03-08 KR KR1020007012252A patent/KR100726695B1/ko not_active IP Right Cessation
- 2000-03-08 JP JP2000604614A patent/JP4770023B2/ja not_active Expired - Fee Related
- 2000-03-08 US US09/674,887 patent/US7103100B1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03154490A (ja) * | 1989-11-13 | 1991-07-02 | Olympus Optical Co Ltd | 画像再生装置 |
JPH04326281A (ja) * | 1991-04-25 | 1992-11-16 | Hitachi Ltd | フレーム間予測符号化復号化装置 |
JPH0654320A (ja) * | 1992-07-31 | 1994-02-25 | Oki Electric Ind Co Ltd | 画像圧縮符号化装置 |
JPH089383A (ja) * | 1994-06-20 | 1996-01-12 | Oki Electric Ind Co Ltd | 画像符号化装置 |
JPH0818953A (ja) * | 1994-07-01 | 1996-01-19 | Hitachi Ltd | 動画像復号表示装置 |
JPH09205651A (ja) * | 1996-01-26 | 1997-08-05 | Rohm Co Ltd | 画像データ復号方法およびこの方法を用いた画像データ復号装置 |
JPH10210484A (ja) * | 1997-01-24 | 1998-08-07 | Nec Corp | フレーム・バッファ管理方式 |
Also Published As
Publication number | Publication date |
---|---|
EP1079632A1 (en) | 2001-02-28 |
WO2000054509A1 (fr) | 2000-09-14 |
KR100726695B1 (ko) | 2007-06-13 |
US7103100B1 (en) | 2006-09-05 |
KR20010043292A (ko) | 2001-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2186340B1 (en) | A video data reproduction system | |
JP2005510981A (ja) | 複数チャネル・ビデオトランスコーディング・システムおよび方法 | |
KR19980042224A (ko) | 트랜스포트, 복호화, 시스템 제어기 기능용 통합 메모리를 가지는 엠피이지 복호화기 시스템 및 방법 | |
WO2007136093A1 (ja) | 画像復号装置 | |
TW450004B (en) | Programmable filter for removing selected user data from an MPEG-2 bit-stream | |
US7609768B2 (en) | Video buffer control apparatus for dual video decoding and digital broadcasting receiver thereof | |
US5828425A (en) | Apparatus for decoding video data | |
JP3438223B2 (ja) | 多重化装置および多重化方法、並びに伝送装置および伝送方法 | |
JP2006259898A (ja) | I/oコントローラ、信号処理システム、およびデータ転送方法 | |
JP4770023B2 (ja) | デジタル信号処理装置および方法、並びにデジタル信号処理プログラム | |
US20030190144A1 (en) | Recording apparatus, special playback system, medium and information object | |
JP4217934B2 (ja) | トランスポートストリーム記録装置および方法、並びに記録媒体 | |
US6298091B1 (en) | Method to play audio and video clips through MPEG decoders | |
JPH11239348A (ja) | 映像音声処理装置 | |
JP5361577B2 (ja) | 映像復号化装置及び映像復号化方法 | |
JP5589654B2 (ja) | 映像音声再生装置、および映像音声再生方法 | |
JP3532796B2 (ja) | 単一の外部記憶メモリを備えたマルチメディア復号化装置 | |
JP2001324998A (ja) | 映像音声処理装置 | |
JP2003163890A (ja) | データ転送制御装置及び電子機器 | |
JP3083788B2 (ja) | データ復号装置 | |
JP2006050078A (ja) | データ転送制御装置及び電子機器 | |
JP2002034037A (ja) | Jpegによる動画像符号化方法 | |
JPH08223218A (ja) | マルチメディア通信端末装置 | |
JPH09233466A (ja) | 多重符号化映像/音声信号の分離復号装置 | |
JP2005341248A (ja) | ネットワーク型映像送信装置、ネットワーク型映像受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110414 |
|
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: 20110524 |
|
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: 20110606 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |