JP3568503B2 - Mpegビデオデコーダ - Google Patents
Mpegビデオデコーダ Download PDFInfo
- Publication number
- JP3568503B2 JP3568503B2 JP2001321236A JP2001321236A JP3568503B2 JP 3568503 B2 JP3568503 B2 JP 3568503B2 JP 2001321236 A JP2001321236 A JP 2001321236A JP 2001321236 A JP2001321236 A JP 2001321236A JP 3568503 B2 JP3568503 B2 JP 3568503B2
- Authority
- JP
- Japan
- Prior art keywords
- picture
- bit buffer
- video
- circuit
- mpeg video
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、MPEG(Moving Picture Expert Group )ビデオデコーダに関するものである。
【0002】
【従来の技術】
CD(Compact Disk)は高音質の音楽情報を提供するメディアとして全世界に普及しているが、近年、音楽情報だけでなく画像情報や音声情報を中心とするマルチメディアにおける利用が進められている。マルチメディアで利用される様々なCDは総括してCDファミリーと呼ばれる。CDファミリーには、いわゆる音楽用CDであるCD−DA(CD−Digital Audio)ファミリーのほかに、いわゆるデータ用CDであるCD−ROM(CD−Read Only Memory )ファミリーなどがある。CD−ROMファミリーにはCD−IFMV(CD−Interactive Full MotionVideo)またはCD−IDV(CD−Interactive Digital Video)などがある。CD−IFMVにはビデオCDやカラオケCDなどがある。
【0003】
マルチメディアで扱われる情報は、膨大な量で且つ多種多様であり、これらの情報を高速に処理することがマルチメディアの実用化を図る上で必要となってくる。情報を高速に処理するためには、データの圧縮・伸長技術が不可欠となる。そのようなデータの圧縮・伸長技術として「MPEG(Moving Picture ExpertGroup )」方式が挙げられる。このMPEG方式は、ISO(International Organization for Standardization)/IEC(International ElectrotechnicalCommission )傘下のMPEG委員会(ISO/IEC JTC1/SC29/WG11)によって標準化されつつある。MPEGは3つのパートから構成されている。パート1の「MPEGシステムパート」(ISO/IEC IS 11172 Part1:Systems)では、ビデオデータとオーディオデータの多重化構造(マルチプレクス・ストラクチャ)および同期方式が規定される。パート2の「MPEGビデオパート」(ISO/IEC IS 11172Part2:Video)では、ビデオデータの高能率符号化方式およびビデオデータのフォーマットが規定される。パート3の「MPEGオーディオパート」(ISO/IECIS 11172 Part3:Audio)では、オーディオデータの高能率符号化方式およびオーディオデータのフォーマットが規定される。
【0004】
MPEG方式を利用することにより、CD−ROMファミリーにおいても動画再生が可能になる。カラオケCDは、CD−IFMVフォーマットからMPEG方式に関する部分だけを取り出し、動画再生だけを行わせるものである。ビデオCDは、動画再生に加え、静止画再生および静止画再生と動画再生を組み合わせた表現が可能になるPBC(Play Back Control )と呼ばれるメニュー再生機能を付加したものである。従って、ビデオCDはCD−IFMVと互換性があり、CD−IFMVプレーヤでビデオCDフォーマットのディスクを再生することができる。
【0005】
尚、MPEGには主にエンコードレートの違いにより、現在のところ、MPEG−1,MPEG−2の2つの方式がある。MPEG−1は主にCD−ROMファミリーなどの蓄積メディアに対応しており、MPEG−2はMPEG−1をも含む幅広い範囲のアプリケーションに対応している。
MPEGビデオパートで取り扱われるビデオデータは動画に関するものであり、その動画は1秒間に数十個(例えば、30個)のフレーム(画面)によって構成されている。ビデオデータは、シーケンス(Sequence)、GOP(Group Of Pictures )、ピクチャ、スライス(Slice) 、マクロブロック(Macroblock)、ブロックの順に6層の階層構造から成る。MPEG−1においてフレームはピクチャに対応している。MPEG−2においては、フレームまたはフィールドをピクチャに対応させることもできる。フィールドは、2個で1つのフレームを構成している。ピクチャにフレームが対応している構造はフレーム構造と呼ばれ、ピクチャにフィールドが対応している構造はフィールド構造と呼ばれる。
【0006】
MPEGでは、フレーム間予測と呼ばれる圧縮技術を用いる。フレーム間予測は、フレーム間のデータを時間的な相関に基づいて圧縮する。フレーム間予測では、双方向予測が行われる。双方向予測とは、過去の再生画像(ピクチャ)から現在の再生画像を予測する順方向予測と、未来の再生画像から現在の再生画像を予測する逆方向予測とを併用することである。
【0007】
この双方向予測は、Iピクチャ(Intra−Picture ),Pピクチャ(Predictive−Picture),Bピクチャ(Bidirectionally predictive−Picture)と呼ばれる3つのタイプのピクチャを規定している。Iピクチャは、過去や未来の再生画像とは無関係に、独立して生成される。Pピクチャは順方向予測(過去のIピクチャまたはPピクチャからの予測)により生成される。Bピクチャは双方向予測により生成される。双方向予測においてBピクチャは、以下に示す3つの予測のうちいずれか1つにより生成される。▲1▼過去のIピクチャまたはPピクチャからの予測、▲2▼未来のIピクチャまたはPピクチャからの予測、▲3▼過去および未来のIピクチャまたはPピクチャからの予測。そして、これらI,P,Bピクチャがそれぞれエンコードされる。つまり、Iピクチャは過去や未来のピクチャが無くても生成される。これに対し、Pピクチャは過去のピクチャが無いと生成されず、Bピクチャは過去または未来のピクチャが無いと生成されない。
【0008】
フレーム間予測では、まず、Iピクチャが周期的に生成される。次に、Iピクチャよりも数フレーム先のフレームがPピクチャとして生成される。このPピクチャは、過去から現在への一方向(順方向)の予測により生成される。続いて、Iピクチャの前、Pピクチャの後に位置するフレームがBピクチャとして生成される。このBピクチャを生成するとき、順方向予測,逆方向予測,双方向予測の3つの中から最適な予測方法が選択される。一般的に連続した動画では、現在の画像とその前後の画像とは良く似ており、異なっているのはその一部分に過ぎない。そこで、前のフレーム(例えば、Iピクチャ)と次のフレーム(例えば、Pピクチャ)とは同じであると仮定し、両フレーム間に変化があればその差分(Bピクチャのデータ)のみを抽出して圧縮する。これにより、フレーム間のデータを時間的な相関に基づいて圧縮することができる。
【0009】
このようにMPEGビデオパートに準拠してエンコードされたビデオデータのデータ列(ビットストリーム)は、MPEGビデオストリーム(以下、ビデオストリームと略す)と呼ばれる。
図5に、従来のMPEGビデオデコーダ101の要部ブロック回路を示す。MPEGビデオデコーダ101は、ビットバッファ102、ピクチャヘッダ検出回路103、MPEGビデオデコードコア回路(以下、デコードコア回路と略す)104、オーバーフロー検出回路105、ピクチャスキップ回路106から構成されている。
【0010】
伝達メディア(図示略)から転送されてきたMPEGビデオストリーム(以下、ビデオストリームと略す)は、ビットバッファ102へ入力される。ビットバッファ102はFIFO(First−In−First−Out)構成のRAM(Random Access Memory)から成るリングバッファによって構成され、ビデオストリームを順次蓄積する。
【0011】
尚、伝達メディアには、LAN(Local Area Network)などの通信メディア、ビデオCDやDVD(Digital Video Disk)およびVTR(Video Tape Recorder)などの蓄積メディア、地上波放送や衛星放送およびCATV(Community Antenna Television)などの放送メディアが含まれる。
ピクチャヘッダ検出回路103は、ビットバッファ102に蓄積されたビデオストリームからピクチャヘッダを検出する。そのピクチャヘッダ検出回路103の検出結果に基づいて、ビットバッファ102からは、一定の周期毎に1ピクチャ分のビデオストリームが読み出される。
【0012】
ビットバッファ102から読み出された各ピクチャは、ピクチャスキップ回路106を介してデコードコア回路104へ転送される。
ピクチャスキップ回路106は2つのノード106a,106bを備えている。そして、ピクチャスキップ回路106は、ノード106a側に接続されると、ビットバッファ102から読み出された各ピクチャをそのままデコードコア回路104へ転送する。また、ノード106b側に接続されると、ビットバッファ102から読み出された各ピクチャをデコードコア回路104へ転送せずにピクチャ単位でスキップする。このピクチャスキップ回路106の各ノード106a,106bの切り換え動作は、ピクチャヘッダ検出回路103およびオーバーフロー検出回路105によって制御される。
【0013】
デコードコア回路104は、ピクチャスキップ回路106から転送されてくる各ピクチャをMPEGビデオパートに準拠してデコードすることで各ピクチャ毎のビデオ出力を生成し、そのビデオ出力を外部に設けられたディスプレイ(図示略)へ出力する。そして、ディスプレイにおいて、ビデオ出力に基づいた動画が再生される。
【0014】
オーバーフロー検出回路105は、ビットバッファ102がオーバーフローを起こしているかどうかを検出する。そして、オーバーフロー検出回路105は、ビットバッファ102がオーバーフローしていることを検出すると、ピクチャスキップ回路106を制御してノード106b側に接続を切り換え、ビットバッファ102がオーバーフローしなくなるまでビットバッファ102から読み出された各ピクチャをスキップさせる。その後、オーバーフロー検出回路105は、ビットバッファ102のオーバーフローが解除されたことを検出すると、ピクチャスキップ回路106を制御してノード106a側に接続を切り換え、ビットバッファ102から読み出された各ピクチャをデコードコア回路104へ転送させる。
【0015】
ここで、伝達メディアから転送されてくるビデオストリームのビットレートRB は固定されている。そのため、1ピクチャ分のデータ量が多すぎたり少なすぎたりして、ビットバッファ102がオーバーフローしたりアンダーフローしたりしないように、ビットバッファ102の占有率を制御する必要がある。そこで、MPEGビデオパートでは、仮想的なMPEGビデオデコーダが想定され、それに対する規定がなされている。
【0016】
図6に、通常の再生時におけるビットバッファ102の占有量の変化を示す。ビットバッファ102の占有量Bm はビットレートRB をグラフの傾きとして上昇する。ビットレートRB は、シーケンスの先頭に付くシーケンスヘッダのBR(Bit Rate)に従って式(1)に示すように規定される。また、伝達メディアから転送されてくるビデオストリームのピクチャレートRP はシーケンスヘッダのPR(Picture Rate)によって規定される。そして、ビットバッファ102の容量Bは、シーケンスヘッダのVBV(Vbv[Video Buffering Verifier] BufferSize)に従って式(2)に示すように規定される。そして、1フレーム期間毎に、デコードコア回路104がそのときデコードしようとする1ピクチャ分のビデオストリームが、ビットバッファ102から一気に読み出される。ここで、1フレーム期間に伝達メディアから転送されてビットバッファ102に入力されるビデオストリームのデータ量Xは、ビットレートRB およびピクチャレートRPに従って式(3)に示すように規定される。従って、ビットバッファ102から1ピクチャ分のビデオストリームが一気に読み出された直後のビットバッファ102の占有量Bm (=B0 〜B6 )は、データ量Xとビットバッファ102の容量Bとに基づいて、式(4)に示す条件を満たすように規定される。
【0017】
RB =400×BR ・・・(1)
B=16×1024×VBV ・・・(2)
X=RB /RP ・・・(3)
0<Bm <B−X=B−(RB /RP )・・・(4)
式(4)に示す条件を満たすようにビットバッファ102の占有量Bm が規定されていれば、ビットバッファ102がオーバーフローしたりアンダーフローしたりすることはない。逆に言えば、ビットバッファ102の占有量Bm が閾値(B−X)を越えると、次の1フレーム期間にビットバッファ102に入力されるビデオストリームによってビットバッファ102がオーバーフローする可能性が極めて高くなる。
【0018】
通常の再生時においては、式(4)が満たされるように、ビットレートRB 、ピクチャレートRP 、容量Bの各値が規定されている。従って、式(2)に示すようにビットバッファ102の容量Bを設定しておけば、ビットバッファ102がオーバーフローしたりアンダーフローしたりすることはないはずである。
しかし、上記のようにビットバッファ102の占有率(Bm /B)を制御していても、ビットバッファ102がオーバーフローすることがある。オーバーフロー検出回路105およびピクチャスキップ回路106が設けられているのはそのためである。
【0019】
すなわち、ビットバッファ102がオーバーフローしているかどうかをオーバーフロー検出回路105によって検出し、オーバーフローしている場合には、ビットバッファ102から読み出された各ピクチャをピクチャスキップ回路106を介してスキップさせる。その結果、ビットバッファ102のオーバーフローは解除される。
【0020】
【発明が解決しようとする課題】
ビットバッファ102はリングバッファによって構成されているため、オーバーフローすると、ビットバッファ102に既に蓄積されていたビデオストリームに対して、新たに入力されたビデオストリームが上書きされることになる。その結果、ビットバッファ102に既に蓄積されていたビデオストリームが破壊されて失われてしまう。
【0021】
例えば、デコードコア回路104において任意のピクチャをデコードしている途中でビットバッファ102がオーバーフローすると、デコード処理中のピクチャのビットバッファ102に残っている部分に対して、新たに入力されたビデオストリームが上書きされる。その結果、デコード処理中のピクチャのビットバッファ102に残っている部分が破壊されて失われる。すると、デコードコア回路104では、そのピクチャのデコードを完了することが不可能になり、そのピクチャのビデオ出力を生成することができなくなる。
【0022】
前記したように、Pピクチャは過去のピクチャ無しには生成することができず、Bピクチャは過去または未来のピクチャ無しには生成することができない。過去や未来のピクチャ無しに生成することができるのはIピクチャだけである。そのため、ビットバッファ102がオーバーフローした時点でデコード処理中のピクチャがIピクチャまたはPピクチャの場合には、ビットバッファ102に蓄積されているビデオストリームの各ピクチャのうち、そのデコード処理中のピクチャから次に読み出されるIピクチャまでの全てのPピクチャおよびBピクチャをデコードすることができなくなる。つまり、デコードコア回路104では、ビットバッファ102から次のIピクチャが読み出されるまでデコード処理を再開することができなくなる。
【0023】
このように、ビットバッファ102がオーバーフローすると、多数のピクチャがデコード不可能になるため、それらのピクチャの分だけ再生される動画にコマ落ちが生じる。その結果、動画の動きが滑らかにならずギクシャクしたものになって画質が劣化し見辛くなる。
ところで、ピクチャスキップ回路106は、ビットバッファ102から読み出されたピクチャをピクチャのタイプに関係なくスキップする。そのため、ピクチャスキップ回路106からスキップされたピクチャがIピクチャやPピクチャである場合もでてくる。その場合には、ビットバッファ102のオーバーフローが解除されてデコードコア回路104におけるデコード動作が再開されたとき、スキップされたピクチャに続く数ピクチャについてはデコード処理を行うことができず、ビデオ出力の生成がしばらく停止することになる。その結果、ディスプレイにおいて再生される動画にコマ落ちが生じ、動画の動きがギクシャクしたものになって画質が劣化し見辛くなる。
【0024】
また、上記したようにビットバッファ102の占有率を制御していても、ビットバッファ102がアンダーフローすることがある。例えば、伝達メディアとしてビデオCDを用いた場合には、ディスクの傷や振動により、ディスクに記録されているビデオストリームを読み取ることができないことがある。その場合には、ビデオCDから新たなビデオストリームが転送されてきてビットバッファ102のアンダーフローが解除されるまでの間、デコードコア回路104におけるデコード動作は停止を余儀なくされ、ビデオ出力の生成も停止されることになる。その結果、ディスプレイにおいて再生される動画にコマ落ちが生じ、動画の動きがギクシャクしたものになって画質が劣化し見辛くなる。
【0025】
本発明は上記問題点を解決するためになされたものであって、再生される動画に生じるコマ落ちを少なくして見易さを向上させることが可能なMPEGビデオデコーダを提供することをその目的とする。
【0026】
【課題を解決するための手段】
本発明に係るMPEGビデオデコーダのある態様は、ビットバッファの占有量が閾値を越えた場合には、前記ビットバッファから読み出されたピクチャをMPEGビデオデコードコア回路に転送することに先だってそのピクチャのタイプを判定し、その判定結果をもとに、前記ビットバッファから読み出されたピクチャのうちBピクチャを優先してスキップすることをその要旨とする。
【0027】
本発明に係るMPEGビデオデコーダの別の態様は、ビットバッファから読み出されたビデオストリームに含まれるピクチャのタイプを判定するピクチャタイプ判定部と、各ピクチャをMPEGビデオパートに準拠してデコードするMPEGビデオデコードコアと、前記ピクチャタイプ判定部による判定の結果に従って、前記ピクチャを前記ビデオデコードコアへ転送するか否かを決定するピクチャスキップ部と、を備えたことをその要旨とする。
【0028】
本発明に係るMPEGビデオデコーダのさらに別の態様は、ビットバッファから読み出されたビデオストリームに含まれるピクチャのタイプを判定するピクチャタイプ判定部と、各ピクチャをMPEGビデオパートに準拠してデコードするMPEGビデオデコードコアと、前記ピクチャタイプ判定部による判定の結果に従って、前記ピクチャを前記ビデオデコードコアへ転送するか否かを決定するピクチャスキップ部と、を備えたことをその要旨とする。
【0029】
本発明に係るMPEGビデオデコーダのさらに別の態様は、前記ピクチャタイプ判定部、前記MPEGビデオデコードコア、および前記ピクチャスキップ部の各回路を1チップのLSI上に実装したことをその要旨とする。
【0030】
【発明の実施の形態】
(第1実施形態)
以下、本発明を具体化した第1実施形態を図1および図2に従って説明する。図1に、本実施形態のMPEGビデオデコーダ1の要部ブロック回路を示す。MPEGビデオデコーダ1は、ビットバッファ2、ピクチャヘッダ検出回路3、MPEGビデオデコードコア回路(以下、デコードコア回路と略す)4、オーバーフロー判定回路5、ピクチャスキップ回路6から構成されている。
【0031】
伝達メディア(図示略)から転送されてきたMPEGビデオストリーム(以下、ビデオストリームと略す)は、ビットバッファ2へ入力される。
尚、伝達メディアには、LAN(Local Area Network)などの通信メディア、ビデオCDやDVD(Digital Video Disk)およびVTR(Video Tape Recoder)などの蓄積メディア、地上波放送や衛星放送およびCATV(Community Antenna Television)などの放送メディアが含まれる。
【0032】
ビットバッファ2はFIFO構成のRAMから成るリングバッファによって構成され、ビデオストリームを順次蓄積する。ここで、ビットバッファ2の容量BAは、式(2)で規定される容量Bに、式(3)で規定されるデータ量Xと、適宜な余裕分ΔBとを加えた値に設定しておく(BA=B+X+ΔB)。例えば、ビデオCDでは、容量Bが46kバイト、データ量Xが6kバイトに規定されている。また、余裕分ΔBは容量Bおよびデータ量Xに基づいて2kバイト程度に設定されている。従って、ビットバッファ2の容量BAは、約54k(=46k+6k+2k)バイトに設定される。
【0033】
ピクチャヘッダ検出回路3は、ビットバッファ2に蓄積されたビデオストリームからピクチャヘッダを検出する。そのピクチャヘッダ検出回路3の検出結果に基づいて、ビットバッファ2からは、一定の周期毎に1ピクチャ分のビデオストリームが読み出される。また、ピクチャヘッダ検出回路3は、ピクチャヘッダに基づいてビットバッファ2から読み出されたピクチャのタイプを判定する。
【0034】
ビットバッファ2から読み出された各ピクチャは、ピクチャスキップ回路6を介してデコードコア回路4へ転送される。
ピクチャスキップ回路6は2つのノード6a,6bを備えている。そして、ピクチャスキップ回路6は、ノード6a側に接続されると、ビットバッファ2から読み出された各ピクチャをそのままデコードコア回路4へ転送する。また、ノード6b側に接続されると、ビットバッファ2から読み出された各ピクチャをデコードコア回路4へ転送せずにピクチャ単位でスキップする。このピクチャスキップ回路6の各ノード6a,6bの切り換え動作は、ピクチャヘッダ検出回路3およびオーバーフロー判定回路5によって制御される。
【0035】
デコードコア回路4は、ピクチャスキップ回路6から転送されてくる各ピクチャをMPEGビデオパートに準拠してデコードすることで各ピクチャ毎のビデオ出力を生成し、そのビデオ出力を外部に設けられたディスプレイ(図示略)へ出力する。そして、ディスプレイにおいて、ビデオ出力に基づいた動画が再生される。
【0036】
オーバーフロー判定回路5は、ビットバッファ2の占有量Bm を検出し、その占有量Bm と第1の閾値BTH1 および第2の閾値BTH2 とを比較する。ここで、第1の閾値BTH1 は容量Bと同じ値に設定されている(BTH1 =B)。また、第2の閾値BTH2 は容量Bにデータ量Xを加えた値に設定されている(BTH2 =B+X)。つまり、ビットバッファ2の容量BAは、第2の閾値BTH2 に余裕分ΔBを加えた値となる。
【0037】
次に、ピクチャスキップ回路6の各ノード6a,6bの切り換え動作を、図2に示すフローチャートに従って説明する。
まず、ステップ(以下、Sという)1において、オーバーフロー判定回路5により、占有量Bm が第1の閾値BTH1 を越えていると判定された場合(Bm >BTH1 )にはS2へ移行し、越えていないと判定された場合(Bm ≦BTH1 )にはS3へ移行する。
【0038】
S2において、オーバーフロー判定回路5により、占有量Bm が第2の閾値BTH2 を越えていると判定された場合(Bm >BTH2 )にはS5へ移行し、越えていないと判定された場合(Bm ≦BTH2 )にはS4へ移行する。
S4において、ピクチャヘッダ検出回路3により、ビットバッファ2から読み出されたピクチャのタイプを判定し、そのピクチャがBピクチャの場合はS5へ移行し、IピクチャまたはPピクチャの場合はS6へ移行する。
【0039】
S5において、ピクチャスキップ回路6はノード6b側に切り換えられ、ビットバッファ2から読み出されたピクチャはスキップされる。そして、S1へ戻る。
S3において、ピクチャスキップ回路6はノード6a側に切り換えられ、ビットバッファ2から読み出されたピクチャはデコードコア回路4へ転送される。そして、S1へ戻る。
【0040】
このように、本実施形態によれば、以下の作用および効果を得ることができる。
▲1▼ビットバッファ2の占有量Bm が第1の閾値BTH1 を越えない場合、ビットバッファ2から読み出されたピクチャはタイプに関係なくデコードコア回路4へ転送される。また、占有量Bm が第1の閾値BTH1 と第2の閾値BTH2 との間にある場合、ビットバッファ2からIピクチャまたはPピクチャが読み出されると当該ピクチャはデコードコア回路4へ転送され、Bピクチャが読み出されると当該ピクチャはスキップされる。そして、占有量Bm が第2の閾値BTH2 を越えた場合、ビットバッファ2から読み出されたピクチャはタイプに関係なくスキップされる。
【0041】
▲2▼上記▲1▼より、占有量Bm が第1の閾値BTH1 と第2の閾値BTH2 との間にある場合には、ビットバッファ2から読み出されたピクチャのうち、Bピクチャが優先してスキップされる。その結果、ビットバッファ2の占有量Bm が低下してオーバーフローが起こり難くなる。ここで、前記したように、Bピクチャは双方向予測によって生成され、その重要度はIピクチャやPピクチャに比べて低い。
【0042】
従って、ビットバッファ2から読み出されたBピクチャをスキップしても、次にビットバッファ2から読み出されるピクチャについては、そのタイプに関係なく、デコードコア回路4においてデコード処理を行うことができる。
▲3▼上記▲1▼より、占有量Bm が第2の閾値BTH2 を越えた場合、ビットバッファ2から読み出されたピクチャはタイプに関係なくスキップされる。その結果、ビットバッファ2の占有量Bm が低下してオーバーフローは起こらなくなる。
【0043】
▲4▼ビットバッファ2の容量BAに余裕分ΔBが設けられているため、ビットバッファ2のオーバーフローがさらに起こり難くなる。ここで、余裕分ΔBが大きいほどビットバッファ2のオーバーフローは起こり難くなるが、ビットバッファ2の容量BAが大きくなるためコストが増大して経済効率が悪化する。従って、実際に様々なビデオストリームを処理する実験を行うことで、最適な余裕分ΔBを定める必要がある。
【0044】
▲5▼本実施形態においては、ビットバッファ2がオーバーフローを起こす前に、ビットバッファ2から読み出されたピクチャを、そのタイプと占有量Bm とに基づいてスキップすることで、オーバーフローの発生を未然に防止している。それに対して、従来例では、ビットバッファ2がオーバーフローを起こした後に、ビットバッファ2から読み出されたピクチャを、そのタイプに関係なくスキップすることで、オーバーフローを解除している。従って、本実施形態によれば、ディスプレイにおいて再生される動画に生じるコマ落ちが従来例に比べて少なくなり、動画の動きは滑らかなものになって見易さを向上させることができる。
【0045】
(第2実施形態)
以下、本発明を具体化した第2実施形態を図3および図4に従って説明する。図3に、本実施形態のMPEGビデオデコーダ11の要部ブロック回路を示す。尚、本実施形態において、第1実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【0046】
MPEGビデオデコーダ11は、ビットバッファ2、フレームバッファ22、ピクチャヘッダ検出回路3、デコードコア回路4、アンダーフロー制御回路12から構成されている。
デコードコア回路4で生成された各ピクチャのデコード結果(ビデオ出力)は、フレームバッファ22の各領域22a〜22cへ転送される。また、フレームバッファ22の各領域22a〜22cから読み出された各ピクチャのデコード結果は、デコードコア回路4へ転送される。
【0047】
フレームバッファ22はRAMから成り、その内部は3つの領域(前方参照領域22a、後方参照領域22b、Bピクチャ格納領域22c)に分けられている。前方参照領域22aには、デコードコア回路4において逆方向予測を行う際に用いられる未来のIピクチャまたはPピクチャのデコード結果(ビデオ出力)が格納される。後方参照領域22bには、デコードコア回路4において順方向予測を行う際に用いられる過去のIピクチャまたはPピクチャのデコード結果が格納される。Bピクチャ格納領域22cにはBピクチャのデコード結果が格納される。そして、各領域22a〜22cのいずれか一つに格納されたビデオ出力が、ディスプレイ(図示略)へ出力される。
【0048】
フレームバッファ22とビットバッファ2とは、部品点数を少なくしてMPEGビデオデコーダ11のコストを減少させるため、1つのRAM内に領域を分けて設けられている。ところで、前方参照領域22aおよび後方参照領域22bに格納されるIピクチャまたはPピクチャは、順方向予測または逆方向予測を行うための基データとして使われるため、必要がなくなるまで、各領域22a,22bに格納し続けなければならない。Bピクチャについては基データとして扱われないため、ディスプレイ8へ出力されたら不用になる。尚、各領域22a〜22cはプレーンと呼ばれる。
【0049】
尚、MPEGビデオデコーダとMPEGオーディオデコーダとを1つのLSIに搭載した場合には、MPEGオーディオデコーダ用のビットバッファ(オーディオビットバッファ)についても、MPEGビデオデコーダ用のフレームバッファ22およびビットバッファ(ビデオビットバッファ)2と1つのRAM内に領域を分けて設けている。例えば、伝達メディアとしてビデオCDを用いた場合には、4MDRAMを用い、ビデオビットバッファ2の容量を54kバイト、フレームバッファ22の各領域22a〜22cの容量をそれぞれ148.5kバイト、オーディオビットバッファの容量を6.5kバイト、ユーザ用領域の容量を8kバイトに設定している。ちなみに、ユーザ用領域は、ビデオCDv2.0規格のセクタバッファなどに用いられる。
【0050】
アンダーフロー制御回路12は、ビットバッファ2の占有量Bm と第3の閾値BTH3 とを比較すると共に、ビットバッファ2がアンダーフローしているかどうかを検出する。ここで、第3の閾値BTH3 はビットレートRB にVD(Vbv[Video Buffering Verifier] Delay)を乗じた値に設定されている(BTH3 =RB ×VD)。尚、VDはピクチャヘッダによって規定されている。そして、アンダーフロー制御回路12は、ビットバッファ2から読み出されたピクチャのタイプと、前記比較結果および検出結果とに基づいて、デコードコア回路4のデコード動作とビットバッファ2からのピクチャの読み出し動作とを制御する。
【0051】
次に、本実施形態の動作を図4に示すフローチャートに従って説明する。
まず、S11において、アンダーフロー制御回路12により、占有量Bm が第3の閾値BTH3 を下回っていると判定された場合(Bm <BTH3 )にはS12へ移行し、下回っていないと判定された場合(Bm ≧BTH3 )にはS13へ移行する。ここで、占有量Bm が第3の閾値BTH3 を下回っている場合、ビットバッファ2から次のピクチャが読み出されるとアンダーフローが発生する恐れが高いことになる。
【0052】
S12において、エラー処理が行われる。すなわち、アンダーフロー制御回路12は、ビットバッファ2からのピクチャの読み出しを停止させる。それと同時に、アンダーフロー制御回路12は、そのときに処理しているピクチャではなく、それ以前にビットバッファ2から読み出されたピクチャのデコード結果であるビデオ出力をデコードコア回路4から引き続き出力(リピート)させる。そして、S11へ戻る。
【0053】
S13において、ビットバッファ2から次のピクチャが読み出される。そして、デコードコア回路4は、そのピクチャをデコードしてビデオ出力を生成する。そして、S14へ移行する。
S14において、アンダーフロー制御回路12により、ビットバッファ2がアンダーフローしていないと判定された場合にはS11へ戻り、アンダーフローを起こしていると判定された場合にはS15へ移行する。すなわち、デコードコア回路4において、1つのピクチャのデコード処理が正常に終了した場合にはS11へ戻り、1つのピクチャのデコード処理の途中でビットバッファ2がアンダーフローを起こした場合にはS15へ移行する。
【0054】
S15において、S12と同様のエラー処理が行われる。そして、S16へ移行する。
S16において、ピクチャヘッダ検出回路3により、ビットバッファ2から読み出されたピクチャのタイプを判定し、そのピクチャがBピクチャの場合はS17へ移行し、IピクチャまたはPピクチャの場合はS18へ移行する。
【0055】
S17において、デコードコア回路4において途中までデコード処理が行われたBピクチャはスキップされる。そして、S11へ戻る。
S18において、アンダーフロー制御回路12により、ビットバッファ2のアンダーフローが解除されたと判定された場合にはS13へ戻る。すなわち、伝達メディアから新たなビデオストリームが転送されてきてビットバッファ2のアンダーフローが解除されるまで待った後でS13へ戻る。
【0056】
このように、本実施形態によれば、以下の作用および効果を得ることができる。
▲1▼ビットバッファ2の占有量Bm が第3の閾値BTH3 を下回った場合(すなわち、アンダーフローが発生する恐れが高い場合)に、エラー処理が行われる。その結果、ビットバッファ2の占有量Bm が増大してアンダーフローが起こり難くなる。
【0057】
▲2▼ビットバッファ2がアンダーフローを起こした場合にもエラー処理が行われる。その結果、ビットバッファ2がアンダーフローを起こした場合でも、デコードコア回路4からディスプレイへビデオ出力が中断することなく継続して出力され、ディスプレイにおける画面表示も継続して行われる。
▲3▼ビットバッファ2がアンダーフローを起こした場合、デコードコア回路4においてBピクチャをデコード処理している途中であれば、そのBピクチャはスキップされる。ここで、前記したように、Bピクチャは双方向予測によって生成され、その重要度はIピクチャやPピクチャに比べて低い。従って、ビットバッファ2から読み出されたBピクチャをスキップしても、次にビットバッファ2から読み出されるピクチャについては、そのタイプに関係なく、デコードコア回路4においてデコード処理を行うことができる。
【0058】
▲4▼ビットバッファ2がアンダーフローを起こした場合、デコードコア回路4においてIピクチャまたはPピクチャをデコード処理している途中であれば、ビットバッファ2のアンダーフローが解除されるまで待った後で、残りのデコード処理が続行される。そのため、重要度の高いIピクチャおよびPピクチャを有効に生かすことができる。
【0059】
▲5▼上記▲1▼〜▲4▼より、ディスプレイにおいて再生される動画に生じるコマ落ちが従来例に比べて少なくなり、動画の動きは滑らかなものになって見易さを向上させることができる。
▲6▼本実施形態は、フレームバッファ22に3つの領域22a〜22cしか設けられていない場合に適用することで上記効果を得ることができる。従って、フレームバッファ22が3つの領域22a〜22cに加えて、ディスプレイへの出力専用の領域を備えている場合には、本実施例を適用する必要はない。
【0060】
前記したように、フレームバッファ22とビットバッファ2とを1つの4MDRAM内に設けた場合、フレームバッファ22としては3つの領域22a〜22c分の容量しか確保することができない。
そのため、デコードコア回路4でBピクチャ(以下、第2のBピクチャという)をデコードし、そのデコード結果をBピクチャ格納領域22cへ転送しているときには、ディスプレイへはBピクチャ格納領域22cに既に格納されているBピクチャ(以下、第1のBピクチャという)が出力される。その結果、デコードコア回路4で第2のBピクチャをデコードしているときには、Bピクチャ格納領域22cに既に格納されている第1のBピクチャに対して、新たにデコードコア回路4でデコードされた第2のBピクチャが上書きされることになる。
【0061】
つまり、ビットバッファ2がアンダーフローを起こしてデコードコア回路4におけるデコード動作が中断すると、Bピクチャ格納領域22cにデコード途中の第2のBピクチャと、上書きされていない残りの第1のBピクチャとが共存し合うことになる。その結果、ディスプレイの表示画面が、前の画面とデコード途中の画面に2分割されてしまう。しかし、上記のようにデコード途中のBピクチャをスキップすれば、このような画面の分割は回避される。
【0062】
ところで、デコードコア回路4でIピクチャまたはPピクチャをデコードし、そのデコード結果を前方参照領域22aへ転送しているときには、ディスプレイへは後方参照領域22bまたはBピクチャ格納領域に既に格納されているピクチャが出力される。また、デコードコア回路4でIピクチャまたはPピクチャをデコードし、そのデコード結果を後方参照領域22bへ転送しているときには、ディスプレイへは前方参照領域22aまたはBピクチャ格納領域に既に格納されているピクチャが出力される。そのため、デコードコア回路4でIピクチャまたはPピクチャをデコードしているときには、Bピクチャの場合のような問題は起こらない。
【0063】
従って、ビットバッファ2がアンダーフローを起こしても、伝達メディアから新たなビデオストリームが転送されてきてビットバッファ2のアンダーフローが解除されるまで待てば、IピクチャまたはPピクチャを有効に生かすことができる。つまり、ビットバッファ2がアンダーフローを起こした時点でデコード途中のIピクチャまたはPピクチャは、アンダーフローが解除された後で、残りのデコード処理が引き続き行われる。その結果、前方参照領域22aまたは後方参照領域22bは、デコードが完全に終了したIピクチャまたはPピクチャを格納することができる。
【0064】
尚、上記各実施形態は以下のように変更してもよく、その場合でも同様の作用および効果を得ることができる。
(1)第1実施形態と第2実施形態とを併用する。この場合、両実施形態の効果を兼ね備えることができる。
(2)第1実施形態において、第2の閾値BTH2 およびそれに関する動作を省く。この場合は、第1の閾値BTH1 に関する作用および動作を得ることができる。
【0065】
(3)第1および第2実施形態をCPUを用いたソフトウェア的な処理に置き代える。すなわち、各回路(3〜6,12)における信号処理をCPUを用いたソフトウェア的な信号処理に置き代える。
以上、各実施形態について説明したが、各実施形態から把握できる請求項以外の技術的思想について、以下にそれらの効果と共に記載する。
【0066】
(イ)請求項1〜4のいずれか1項に記載のMPEGビデオデコーダにおいて、ビットバッファはFIFO構成のRAMから成るMPEGビデオデコーダ。このようにすれば、MPEGビデオストリームの書き込み及び読み出しを簡単に行うことができる。
(ロ)請求項1〜4のいずれか1項に記載のMPEGビデオデコーダにおいて、ビットバッファを除く回路が1チップ上に形成されたMPEGビデオデコーダ。
【0067】
このようにすれば、MPEGビデオデコーダを小型化することができる。ところで、本明細書において、発明の構成に係る部材は以下のように定義されるものとする。
(a)ビットバッファ制御手段はオーバーフロー判定回路5およびピクチャスキップ回路6から構成される。
【0068】
(b)外部とは伝達メディアを指し、伝達メディアには、LAN(Local Area Network)などの通信メディア、ビデオCDやDVD(Digital Video Disk)およびVTR(Video Tape Recorder)などの蓄積メディア、地上波放送や衛星放送およびCATV(Community Antenna Television)などの放送メディアが含まれる。
【0069】
【発明の効果】
本発明によれば、再生される動画に生じるコマ落ちを少なくして見易さを向上させることが可能なMPEGビデオデコーダを提供することができる。
【図面の簡単な説明】
【図1】第1実施形態のブロック回路図。
【図2】第1実施形態の動作を説明するためのフローチャート。
【図3】第2実施形態のブロック回路図。
【図4】第2実施形態の動作を説明するためのフローチャート。
【図5】従来例のブロック回路図。
【図6】従来例を説明するためのグラフ。
【符号の説明】
2 ビットバッファ、 3 ピクチャヘッダ検出回路、 4 MPEGビデオデコードコア回路、 5 オーバーフロー判定回路、 6 ピクチャスキップ回路、 12 アンダーフロー制御回路。
Claims (4)
- ビットバッファの占有量が閾値を越えた場合には、前記ビットバッファから読み出されたピクチャをMPEGビデオデコードコア回路に転送することに先だってそのピクチャのタイプを判定し、その判定結果をもとに、前記ビットバッファから読み出されたピクチャのうちBピクチャを優先してスキップすることを特徴としたMPEGビデオデコーダ。
- ビットバッファから読み出されたビデオストリームに含まれるピクチャのタイプを判定するピクチャタイプ判定部と、
各ピクチャをMPEGビデオパートに準拠してデコードするMPEGビデオデコードコアと、
前記ピクチャタイプ判定部による判定の結果に従って、前記ピクチャを前記ビデオデコードコアへ転送するか否かを決定するピクチャスキップ部と、
を備えたことを特徴とするMPEGビデオデコーダ。 - 前記ピクチャタイプ判定部、前記MPEGビデオデコードコア、および前記ピクチャスキップ部の各機能をCPUおよびそれによって実行されるソフトウエアにて実現したことを特徴とする請求項2に記載のMPEGビデオデコーダ。
- 前記ピクチャタイプ判定部、前記MPEGビデオデコードコア、および前記ピクチャスキップ部の各回路を1チップのLSI上に実装したことを特徴とする請求項2に記載のMPEGビデオデコーダ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001321236A JP3568503B2 (ja) | 1994-11-30 | 2001-10-18 | Mpegビデオデコーダ |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29734794 | 1994-11-30 | ||
JP7-66471 | 1995-03-24 | ||
JP6-297347 | 1995-03-24 | ||
JP6647195 | 1995-03-24 | ||
JP2001321236A JP3568503B2 (ja) | 1994-11-30 | 2001-10-18 | Mpegビデオデコーダ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000347863A Division JP3322671B2 (ja) | 1994-11-30 | 2000-11-15 | Mpegビデオデコーダ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002209218A JP2002209218A (ja) | 2002-07-26 |
JP3568503B2 true JP3568503B2 (ja) | 2004-09-22 |
Family
ID=27299143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001321236A Expired - Lifetime JP3568503B2 (ja) | 1994-11-30 | 2001-10-18 | Mpegビデオデコーダ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3568503B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102280170B1 (ko) * | 2013-10-04 | 2021-07-21 | 삼성전자주식회사 | 프레임의 특성에 따라 부하를 분배하는 방법 및 장치 |
-
2001
- 2001-10-18 JP JP2001321236A patent/JP3568503B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002209218A (ja) | 2002-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5754241A (en) | Video decoder capable of controlling encoded video data | |
JP4769717B2 (ja) | 画像復号化方法 | |
US7343083B2 (en) | Digital video signal record and playback device and method for selectively reproducing desired video information from an optical disk | |
US7706445B2 (en) | Image processing employing picture type conversion | |
JP3825719B2 (ja) | 画像再生方法、画像再生装置、および画像記録装置 | |
JPH06261303A (ja) | 画像信号符号化方法、復号化方法および画像信号記録媒体 | |
JP2008278423A (ja) | 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム | |
KR20070103374A (ko) | 화상 부호화 장치 및 화상 복호화 장치 | |
JP3203168B2 (ja) | Mpegビデオデコーダ | |
JP4440863B2 (ja) | 符号化復号化装置、符号化復号化方法、符号化復号化集積回路、および符号化復号化プログラム | |
US6891547B2 (en) | Multimedia data decoding apparatus and method capable of varying capacity of buffers therein | |
JP2001346165A (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 | |
JP3668556B2 (ja) | ディジタル信号符号化方法 | |
JP3338425B2 (ja) | Mpegビデオデコーダ | |
JP4902854B2 (ja) | 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置 | |
JP3568503B2 (ja) | Mpegビデオデコーダ | |
KR100376904B1 (ko) | 인코드된비디오데이타를제어할수있는비디오디코딩장치 | |
JP2003244641A (ja) | 画像再生装置、及び画像再生方法 | |
JP3322671B2 (ja) | Mpegビデオデコーダ | |
JP3515565B2 (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 | |
JP3338426B2 (ja) | Mpegビデオデコーダ | |
JP3203169B2 (ja) | Mpegビデオデコーダ | |
JPH08223531A (ja) | ディジタル映像信号記録再生装置並びにその記録再生方法およびディジタル映像信号再生装置並びにその再生方法 | |
JP3652994B2 (ja) | データ入出力装置 | |
JPH06217251A (ja) | 画像信号記録装置および画像信号記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040615 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |