JP2002185963A - Mpegビデオデコーダ - Google Patents

Mpegビデオデコーダ

Info

Publication number
JP2002185963A
JP2002185963A JP2001321239A JP2001321239A JP2002185963A JP 2002185963 A JP2002185963 A JP 2002185963A JP 2001321239 A JP2001321239 A JP 2001321239A JP 2001321239 A JP2001321239 A JP 2001321239A JP 2002185963 A JP2002185963 A JP 2002185963A
Authority
JP
Japan
Prior art keywords
picture
error
circuit
slice
macroblock
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.)
Granted
Application number
JP2001321239A
Other languages
English (en)
Other versions
JP3568504B2 (ja
Inventor
Shigeyuki Okada
茂之 岡田
Naoki Tanahashi
直樹 棚橋
Isato Nakajima
勇人 中島
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2001321239A priority Critical patent/JP3568504B2/ja
Publication of JP2002185963A publication Critical patent/JP2002185963A/ja
Application granted granted Critical
Publication of JP3568504B2 publication Critical patent/JP3568504B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 MPEGビデオデコーダのエラー耐性を高め
る。 【解決手段】 動き領域エラー検出回路42は動きベク
トルがマクロブロックの領域外を示しているか否かを検
出する。制御コア回路12は、エラーが含まれている
スライスS1内のマクロブロックMBm以降のマクロブ
ロックMBm〜MBnに対する可変長デコーダ6のデコ
ード処理を停止させ、マクロブロックMBm〜MBnの
デコード処理結果を無効にさせ、スライスヘッダ検出
回路5の検出結果により、ビットバッファ2からスライ
スS1の次のスライスS2を読み出し、MC回路9お
よびフレームバッファ3を制御し、各マクロブロックM
Bm〜MBnを、エラーが含まれるピクチャの1つ前に
ディスプレイ21へ出力されるピクチャの対応する各マ
クロブロックMBm′〜MBn′によって置き換える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はMPEG(Moving P
icture Expert Group)ビデオデコーダに関するもので
ある。
【0002】
【従来の技術】マルチメディアで扱われる情報は、膨大
な量で且つ多種多様であり、これらの情報を高速に処理
することがマルチメディアの実用化を図る上で必要とな
ってくる。情報を高速に処理するためには、データの圧
縮・伸長技術が不可欠となる。そのようなデータの圧縮
・伸長技術として「MPEG」方式が挙げられる。この
MPEG方式は、ISO(International Organization
for Standardization)/IEC(International Elec
trotechnical Commission)傘下のMPEG委員会(ISO
/IEC JTC1/SC29/WG11)によって標準化されつつある。
【0003】MPEGは3つのパートから構成されてい
る。パート1の「MPEGシステムパート」(ISO/IEC
IS 11172 Part1:Systems)では、ビデオデータとオーデ
ィオデータの多重化構造(マルチプレクス・ストラクチ
ャ)および同期方式が規定される。パート2の「MPE
Gビデオパート」(ISO/IEC IS 11172 Part2:Video)で
は、ビデオデータの高能率符号化方式およびビデオデー
タのフォーマットが規定される。パート3の「MPEG
オーディオパート」(ISO/IEC IS 11172 Part3:Audio)
では、オーディオデータの高能率符号化方式およびオー
ディオデータのフォーマットが規定される。
【0004】MPEGビデオパートで取り扱われるビデ
オデータは動画に関するものであり、その動画は1秒間
に数十枚(例えば、30枚)のフレーム(静止画、コ
マ)によって構成されている。図8に示すように、ビデ
オデータは、シーケンス(Sequence)、GOP(Group
Of Pictures)、ピクチャ(Picture)、スライス(Slic
e)、マクロブロック(Macroblock)、ブロック(Bloc
k)の順に6層の階層構造から成る。1枚のピクチャを
構成するスライスの個数は一定ではなく、1個のスライ
スを構成するマクロブロックの個数も一定ではない。
尚、図8では、マクロブロック層およびブロック層につ
いては省略してある。
【0005】また、MPEGには主にエンコードレート
の違いにより、現在のところ、MPEG−1,MPEG
−2の2つの方式がある。MPEG−1においてフレー
ムはピクチャに対応している。MPEG−2において
は、フレームまたはフィールドをピクチャに対応させる
こともできる。フィールドは、2枚で1枚のフレームを
構成している。ピクチャにフレームが対応している構造
はフレーム構造と呼ばれ、ピクチャにフィールドが対応
している構造はフィールド構造と呼ばれる。
【0006】MPEGでは、フレーム間予測と呼ばれる
圧縮技術を用いる。フレーム間予測は、フレーム間のデ
ータを時間的な相関に基づいて圧縮する。フレーム間予
測では双方向予測が行われる。双方向予測とは、過去の
再生画像(または、ピクチャ)から現在の再生画像を予
測する順方向予測と、未来の再生画像から現在の再生画
像を予測する逆方向予測とを併用することである。
【0007】この双方向予測は、Iピクチャ(Intra-Pi
cture),Pピクチャ(Predictive-Picture),Bピク
チャ(Bidirectionally predictive-Picture)と呼ばれ
る3つのタイプのピクチャを規定している。
【0008】Iピクチャは、過去や未来の再生画像とは
無関係に独立して生成される。ランダムアクセスを行う
ために、GOP内には最低1枚のIピクチャが必要であ
る。Iピクチャ内の全てのマクロブロック・タイプは、
フレーム内予測画面(IntraFrame)である。
【0009】Pピクチャは順方向予測(過去のIピクチ
ャまたはPピクチャからの予測)により生成される。P
ピクチャ内のマクロブロック・タイプは、フレーム内予
測画面と順方向予測画面(Forward Inter Frame)の両
方を含む。
【0010】Bピクチャは双方向予測により生成され
る。双方向予測においてBピクチャは、以下に示す3つ
の予測のうちいずれか1つにより生成される。順方向
予測;過去のIピクチャまたはPピクチャからの予測、
逆方向予測;未来のIピクチャまたはPピクチャから
の予測、双方向予測;過去および未来のIピクチャま
たはPピクチャからの予測。Bピクチャ内のマクロブロ
ック・タイプは、フレーム内予測画面、順方向予測画
面、逆方向予測画面(Backward Inter Frame)、内挿的
予測画面(Interpolative Inter Frame)の4つのタイ
プを含む。
【0011】そして、これらI,P,Bピクチャがそれ
ぞれエンコードされる。つまり、Iピクチャは過去や未
来のピクチャが無くても生成される。これに対し、Pピ
クチャは過去のピクチャが無いと生成されず、Bピクチ
ャは過去または未来のピクチャが無いと生成されない。
但し、PピクチャやBピクチャでも、マクロブロック・
タイプが内挿的予測画面の場合、そのマクロブロックは
過去や未来のピクチャが無くても生成される。
【0012】フレーム間予測では、まず、Iピクチャが
周期的に生成される。次に、Iピクチャよりも数フレー
ム先のフレームがPピクチャとして生成される。このP
ピクチャは、過去から現在への一方向(順方向)の予測
により生成される。続いて、Iピクチャの前、Pピクチ
ャの後に位置するフレームがBピクチャとして生成され
る。このBピクチャを生成するとき、順方向予測,逆方
向予測,双方向予測の3つの中から最適な予測方法が選
択される。連続した動画では一般的に、現在の画像とそ
の前後の画像とは良く似ており、異なっているのは、そ
のごく一部分に過ぎない。そこで、前のフレーム(例え
ば、Iピクチャ)と次のフレーム(例えば、Pピクチ
ャ)とは同じであると仮定し、両フレーム間に変化があ
ればその差分(Bピクチャのデータ)のみを抽出して圧
縮する。これにより、フレーム間のデータを時間的な相
関に基づいて圧縮することができる。
【0013】このようにMPEGビデオパートに準拠し
てエンコードされたビデオデータのデータ列(ビットス
トリーム)は、MPEGビデオストリーム(以下、ビデ
オストリームと略す)と呼ばれる。
【0014】ところで、MPEG−1は主に、ビデオC
D(Compact Disc)やCD−ROM(CD-Read Only Mem
ory)などの蓄積メディアに対応している。MPEG−
2は、ビデオCD,CD−ROM,DVD(Digital Vi
deo Disk),VTR(VideoTape Recorder)などの蓄積
メディアだけでなく、LAN(Local Area Network)な
どの通信メディア、地上波放送や衛星放送およびCAT
V(Community Antenna Television)などの放送メディ
アをも含む伝達メディア全般に対応している。
【0015】MPEGビデオパートで用いられる技術の
核となるのが、動き補償付予測(MC;Motion Compens
ated prediction)と離散コサイン変換(DCT:Discr
eteCosine Transform)である。MCとDCTを併用し
た符号化技術は、ハイブリッド符号化技術と呼ばれる。
MPEGビデオパートでは、エンコード時にDCT(別
名FDCT;Forward DCT)を用い、画像(ビデオ信
号)を周波数成分に分解して処理する。そして、デコー
ド時にDCTの逆変換(離散コサイン逆変換;IDC
T;Inverse DCT)を用い、周波数成分を再び画像
(ビデオ信号)に戻す。
【0016】図9に、従来のMPEGビデオデコーダ1
01のブロック回路を示す。MPEGビデオデコーダ1
01は、ビットバッファ102、フレームバッファ10
3、ピクチャヘッダ検出回路104、スライスヘッダ検
出回路105、可変長デコーダ106、逆量子化回路1
07、IDCT(Inverse Discrete CosineTransform)
回路108、MC(Motion Compensated prediction)
回路109、ROM(Read Only Memory)110,11
1、制御コア回路112、ハフマンエラー検出回路11
3から構成されている。尚、各回路104〜113は1
チップのLSIに搭載されている。
【0017】制御コア回路112は各回路102〜11
1,113を制御する。伝達メディア120から転送さ
れてきたビデオストリームは、ビットバッファ102へ
入力される。尚、伝達メディア120には、蓄積メディ
ア(ビデオCD,CD−ROM,DVD,VTRな
ど)、通信メディア(LANなど)、放送メディア(地
上波放送,衛星放送,CATVなど)などが含まれる。
【0018】ビットバッファ102はFIFO(First-
In-First-Out)構成のRAM(Random Access Memory)
から成るリングバッファによって構成され、伝達メディ
ア120から転送されてくるビデオストリームを順次蓄
積する。
【0019】ビットバッファ102が設けられているの
は、I,P,Bの各ピクチャのデータ量が異なっている
ためである。Iピクチャのデータ量は約30kバイト、
Pピクチャのデータ量は約10〜15kバイト、Bピク
チャのデータ量は0〜約6kバイトである。それに対し
て、伝達メディア120から転送されてくるビデオスト
リームのビットレートは一定である。後記するように各
回路106〜109は各ピクチャ毎に処理を行い、その
処理時間は各ピクチャのデータ量によって異なる。その
ため、伝達メディア120から転送されてきたビデオス
トリームを各回路106〜109へ直接転送すると、各
回路106〜109において処理できないピクチャがで
てくる。これを防止するため、伝達メディア120から
転送されてくるビデオストリームに対するバッファメモ
リとしてのビットバッファ102を設けることで、I,
P,Bの各ピクチャのデータ量の相違を吸収している。
【0020】ピクチャヘッダ検出回路104は、ビット
バッファ102に蓄積されたビデオストリームの各ピク
チャの先頭に付くピクチャヘッダを検出し、その各ピク
チャヘッダに規定されているピクチャのタイプ(I,
P,B)を検出する。
【0021】スライスヘッダ検出回路105は、ビット
バッファ102に蓄積されたビデオストリームの各スラ
イスの先頭に付くスライスヘッダを検出する。制御コア
回路112は、ピクチャヘッダ検出回路104の検出結
果に基づいて、ビットバッファ102から1フレーム期
間毎に1枚のピクチャ分ずつのビデオストリームを読み
出す。
【0022】可変長デコーダ106は、ビットバッファ
102から読み出されたピクチャに対して、ROM11
0に記憶されたハフマンテーブルに格納されているハフ
マンコードに基づいた可変長デコードを行う。
【0023】逆量子化回路107は、可変長デコーダ1
06のデコード結果に対して、ROM111に記憶され
た量子化テーブルに格納されている量子化閾値に基づい
た逆量子化を行いDCT(Discrete Cosine Transfor
m)係数を求める。
【0024】IDCT回路108は、逆量子化回路10
7が求めたDCT係数に対してIDCTを行う。MC回
路109は、IDCT回路108の処理結果に対してM
C(Motion Compensated prediction)を行う。
【0025】MC回路109の処理結果は、フレームバ
ッファ103の各領域103a〜103cへ転送され
る。また、フレームバッファ103の各領域103a〜
103cから読み出されたデータはMC回路109へ転
送される。
【0026】フレームバッファ103はRAMから成
り、その内部は3つの領域(前方参照領域103a、後
方参照領域103b、Bピクチャ格納領域103c)に
分けられている。前方参照領域103aには、MC回路
109において逆方向予測を行う際に用いられる未来の
IピクチャまたはPピクチャが格納される。後方参照領
域103bには、MC回路109において順方向予測を
行う際に用いられる過去のIピクチャまたはPピクチャ
が格納される。Bピクチャ格納領域103cにはBピク
チャが格納される。
【0027】前方参照領域103aおよび後方参照領域
103bに格納されるIピクチャまたはPピクチャは、
順方向予測または逆方向予測を行うための基データとし
て使われるため、必要がなくなるまで、各領域103
a,103bに格納し続けなければならない。Bピクチ
ャ格納領域103cに格納されるBピクチャについては
基データとして扱われないため、ディスプレイ121へ
出力されたら不要になる。尚、各領域103a〜103
cはプレーンと呼ばれる。
【0028】そして、各領域103a〜103cのいず
れか1つに格納されたピクチャのデータ(ビデオ信号)
が、MC回路109を介して、MPEGビデオデコーダ
101の外部に設けられたディスプレイ121へ出力さ
れる。
【0029】例えば、図10(a)に示すように原画像
の各ピクチャの順番が構成されている場合、MPEGビ
デオエンコーダでは図10(b)に示すように各ピクチ
ャの順番が並べ替えられる。図10(c)に示すよう
に、伝達メディア120では、MPEGビデオエンコー
ダで並べ替えられた順番のままで各ピクチャが転送され
る。そして、図10(d)(e)に示すように、MPE
Gビデオデコーダ101では、ディスプレイ121の再
生画像の各ピクチャの順番が原画像のそれと同じになる
ように、各ピクチャの順番が並べ替えられる。
【0030】フレームバッファ103は、このMPEG
ビデオデコーダ101における各ピクチャの順番の並べ
替えを行うために設けられている。すなわち、各回路1
06〜109でBピクチャB3を処理し、その処理結果
をBピクチャ格納領域103cへ転送しているとき、デ
ィスプレイ121へは後方参照領域103bに既に格納
されているIピクチャI2が出力される。
【0031】また、各回路106〜109でBピクチャ
B4を処理し、その処理結果をBピクチャ格納領域10
3cへ転送しているとき、ディスプレイ121へはBピ
クチャ格納領域103cに既に格納されているBピクチ
ャB3が出力される。その結果、各回路106〜109
でBピクチャB4を処理しているときには、Bピクチャ
格納領域103cに既に格納されているBピクチャB3
に対して、新たに処理されたBピクチャB4のデータが
上書きされる。
【0032】また、各回路106〜109でPピクチャ
P8を処理し、その処理結果を後方参照領域103bへ
転送しているとき、ディスプレイ121へはBピクチャ
格納領域103cに既に格納されているBピクチャB4
が出力される。
【0033】尚、フレームバッファ103とビットバッ
ファ102とは、部品点数を少なくしてMPEGビデオ
デコーダ101の部品コストを減少させるため、1つの
RAM内に領域を分けて設けられている。
【0034】ハフマンエラー検出回路113は、可変長
デコーダ106におけるデコード処理を監視すること
で、スライス毎にエラー検出を行う。すなわち、ハフマ
ンエラー検出回路113は、スライスに対応するデータ
がハフマンテーブルに格納されていない場合や、スライ
スに対応するデータが過去のデコード結果と矛盾する場
合、そのスライス内にエラーが含まれていると判定す
る。
【0035】制御コア回路112は、ハフマンエラー検
出回路16によってスライス内にエラーが含まれている
と判定された場合、以下のエラー処理を行う。ここで
は、図8に示すスライスS1内にエラーが含まれている
場合を例にとって説明する。尚、スライスS1はn個の
マクロブロックMB1〜MBnによって構成されている
ものとする。
【0036】(1) エラーが含まれていると判定されたス
ライスS1に対する可変長デコーダ106のデコード処
理を停止させ、そのスライスS1のデコード処理結果を
無効にさせる。
【0037】(2) スライスヘッダ検出回路105の検出
結果に基づいて、ビットバッファ102からスライスS
1の次のスライスS2を読み出す。そして、可変長デコ
ーダ106にスライスS2の可変長デコードを行わせ
る。
【0038】(3) MC回路109およびフレームバッフ
ァ103を制御して、フレームバッファ103に格納さ
れるスライスS1を、そのスライスS1が含まれている
ピクチャの1つ前にディスプレイ121へ出力されるピ
クチャの対応するマクロブロックMB1′〜MBn′に
よって置き換える。この動作を、図10(d)(e)に
示すように各ピクチャの順番が構成されている場合を例
にとって説明する。
【0039】(3)-[1] スライスS1を含むピクチャがB
ピクチャB3の場合;BピクチャB3の1つ前にディス
プレイ121へ出力されるピクチャはIピクチャI2で
ある。BピクチャB3をBピクチャ格納領域103cへ
転送しているとき、IピクチャI2は既に後方参照領域
103bに格納されている。
【0040】図11に示すように、BピクチャB3のス
ライスS1に対応するIピクチャI2のマクロブロック
MB1′〜MBn′を後方参照領域103bから読み出
す。そして、IピクチャI2のマクロブロックMB1′
〜MBn′をBピクチャ格納領域103cに書き込むこ
とで、BピクチャB3のスライスS1をIピクチャI2
のマクロブロックMB1′〜MBn′に置き換える。
【0041】(3)-[2] スライスS1を含むピクチャがB
ピクチャB4の場合;BピクチャB4の1つ前にディス
プレイ121へ出力されるピクチャはBピクチャB3で
ある。BピクチャB3をBピクチャ格納領域103cへ
転送しているとき、BピクチャB3は既にBピクチャ格
納領域103cに格納されている。
【0042】図12に示すように、Bピクチャ格納領域
103cにおいて、BピクチャB4のスライスS1に対
応するBピクチャB3のマクロブロックMB1′〜MB
n′に対してはBピクチャB4のデータを上書きせず、
BピクチャB3のマクロブロックMB1′〜MBn′を
そのまま残す。その結果、BピクチャB4のスライスS
1はBピクチャB3のマクロブロックMB1′〜MB
n′に置き換えられる。
【0043】(3)-[3] スライスS1を含むピクチャがP
ピクチャP5の場合;PピクチャP5の1つ前にディス
プレイ121へ出力されるピクチャはBピクチャB4で
ある。PピクチャP5は前方参照領域103aに格納さ
れ、BピクチャB4はBピクチャ格納領域103cに格
納されている。
【0044】図13に示すように、PピクチャB5のス
ライスS1に対応するBピクチャB4のマクロブロック
MB1′〜MBn′をBピクチャ格納領域103cから
読み出す。そして、BピクチャB4のマクロブロックM
B1′〜MBn′を前方参照領域103aに書き込むこ
とで、PピクチャP5のスライスS1をBピクチャB4
のマクロブロックMB1′〜MBn′に置き換える。
【0045】図14に、MC回路109の内部構成を示
す。MC回路109は、逆方向予測メモリ131、順方
向予測メモリ132、平均回路133、加算回路13
4、スイッチSW1〜SW6から構成されている。
【0046】スイッチSW6は2つの接点a,bをも
ち、接点aはIDCT回路108の出力に接続され、接
点bはアースされ、各接点a,bのいずれか一方が加算
回路134の入力に接続される。
【0047】スイッチSW1は4つの接点a〜dをも
ち、接点aは逆方向予測メモリ131の出力に接続さ
れ、接点bは平均回路133の出力に接続され、接点c
は順方向予測メモリ132の出力に接続され、接点dは
アースされ、各接点a〜dのいずれか1つが加算回路1
34の入力に接続される。
【0048】スイッチSW2は2つの接点a,bをも
ち、接点aは逆方向予測メモリ131の入力に接続さ
れ、接点bは順方向予測メモリ132の入力に接続さ
れ、各接点a,bのいずれか一方がスイッチSW3に接
続される。
【0049】スイッチSW3は3つの接点a〜cをも
ち、接点aはフレームバッファ103の前方参照領域1
03aの出力に接続されると共にスイッチSW5の接点
aに接続され、接点bはフレームバッファ103の後方
参照領域103bの出力に接続されると共にスイッチS
W5の接点bに接続され、接点cはフレームバッファ1
03のBピクチャ格納領域103cの出力に接続される
と共にスイッチSW5の接点cに接続される。
【0050】スイッチSW5は3つの接点a〜cをも
ち、各接点a〜cのいずれか1つがディスプレイ121
に接続される。スイッチSW4は3つの接点a〜cをも
ち、接点aは前方参照領域103aの入力に接続され、
接点bは後方参照領域103bの入力に接続され、接点
cはBピクチャ格納領域103cの入力に接続され、各
接点a〜dのいずれか1つが加算回路134の出力に接
続される。
【0051】逆方向予測メモリ131および順方向予測
メモリ132はそれぞれ、1個のマクロブロック分のデ
ータを格納する。平均回路133は、逆方向予測メモリ
131および順方向予測メモリ132から読み出された
データを平均化する。
【0052】このように構成されたMC回路109は以
下の動作を行う。 ハフマンエラー検出回路113がエラーを検出しない
場合(通常動作);スイッチSW6を接点aに接続す
る。
【0053】−[1] IDCT回路108からIピクチ
ャが出力された場合;スイッチSW1を接点dに接続
し、スイッチSW4を接点aまたは接点bに接続する。
スイッチSW5を、スイッチSW4の接続されている接
点とは異なる接点a〜cに接続する。例えば、スイッチ
SW4が接点aに接続されている場合、スイッチSW5
は接点bまたは接点cに接続する。スイッチSW2,S
W3はどの接点に接続してもよい。その結果、加算回路
134の出力はIDCT回路108の出力と同じにな
る。その加算回路134の出力は、スイッチSW4を介
して、前方参照領域103aまたは後方参照領域103
bへ転送される。
【0054】−[2] IDCT回路108からPピクチ
ャが出力された場合;スイッチSW1をマクロブロック
・タイプに対応した接点c,dに接続する。 −[2]-<1> マクロブロック・タイプがフレーム内予測
画面の場合;上記−[1] と同じである。
【0055】−[2]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域103bから読み出し
た1個のマクロブロック分のデータを、順方向予測メモ
リ132に格納する。そして、スイッチSW1を接点c
に接続し、スイッチSW4を接点aまたは接点bに接続
する。スイッチSW5を、スイッチSW4の接続されて
いる接点とは異なる接点a〜cに接続する。その結果、
加算回路134は、順方向予測メモリ132から読み出
されたマクロブロックのデータと、IDCT回路108
の出力とを加算する。その加算回路134の出力は、ス
イッチSW4を介して、前方参照領域103aまたは後
方参照領域103bへ転送される。
【0056】−[3] IDCT回路108からBピクチ
ャが出力された場合;スイッチSW1をマクロブロック
・タイプに対応した接点a〜dに接続し、スイッチSW
4,SW5をそれぞれ接点cに接続する。その結果、加
算回路134の出力は、スイッチSW4を介して、Bピ
クチャ格納領域103cへ転送される。
【0057】−[3]-<1> マクロブロック・タイプがフ
レーム内予測画面の場合;スイッチSW1を接点dに接
続する。スイッチSW2,SW3はどの接点に接続して
もよい。その結果、加算回路134の出力はIDCT回
路108の出力と同じになる。
【0058】−[3]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域103bから読み出し
た1個のマクロブロック分のデータを、順方向予測メモ
リ132に格納する。そして、スイッチSW1を接点c
に接続する。その結果、加算回路134は、順方向予測
メモリ132から読み出されたマクロブロックのデータ
と、IDCT回路108の出力とを加算する。
【0059】−[3]-<3> マクロブロック・タイプが逆
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点aに接続し、前方参照領域103aから読み出し
た1個のマクロブロック分のデータを、逆方向予測メモ
リ131に格納する。そして、スイッチSW1を接点a
に接続する。その結果、加算回路134は、逆方向予測
メモリ131から読み出されたマクロブロックのデータ
と、IDCT回路108の出力とを加算する。
【0060】−[3]-<4> マクロブロック・タイプが内
挿的予測画面の場合;まず、スイッチSW2,SW3を
それぞれ接点bに接続し、後方参照領域103bから読
み出した1個のマクロブロック分のデータを、順方向予
測メモリ132に格納する。次に、スイッチSW2,S
W3をそれぞれ接点aに接続し、前方参照領域103a
から読み出した1個のマクロブロック分のデータを、逆
方向予測メモリ131に格納する。平均回路133は、
逆方向予測メモリ131および順方向予測メモリ132
から読み出されたデータを平均化する。そして、スイッ
チSW1を接点bに接続する。その結果、加算回路13
4は、平均回路133の出力と、IDCT回路108の
出力とを加算する。
【0061】ハフマンエラー検出回路113がエラー
を検出した場合(エラー処理動作);スイッチSW6を
接点bに接続し、スイッチSW2を接点aに接続する。
スイッチSW4を、エラーが含まれているピクチャが格
納される領域103a〜103cに対応する接点a〜c
に接続する。スイッチSW3を、エラーが含まれている
ピクチャの1つ前にディスプレイ121へ出力されるピ
クチャが格納されている領域103a〜103cに対応
する接点a〜cに接続する。そして、各領域103a〜
103cのいずれか1つから読み出した1個のマクロブ
ロック分のデータを、スイッチSW2,SW3を介し
て、逆方向予測メモリ131に格納する。続いて、スイ
ッチSW1を接点aに接続する。その結果、加算回路1
34の出力は逆方向予測メモリ131から読み出された
マクロブロックのデータと同じになる。その加算回路1
34の出力は、スイッチSW4を介して、エラーが含ま
れているピクチャが格納される領域103a〜103c
へ転送される。
【0062】以上のエラー処理動作を、エラーが含まれ
ていると判定されたスライス(前記スライスS1)が、
そのスライスが含まれているピクチャの1つ前にディス
プレイ121へ出力されるピクチャの対応するマクロブ
ロック(前記マクロブロックMB1′〜MBn′)によ
って置き換えられるまで、マクロブロック毎に繰り返し
行う。
【0063】上記のエラー処理動作を、図8に示すスラ
イスS1内にエラーが含まれていると判定され、図10
(d)(e)に示すように各ピクチャの順番が構成され
ている場合を例にとって説明する。
【0064】−[1] スライスS1を含むピクチャがB
ピクチャB3の場合(図11参照);スイッチSW4
を、BピクチャB3が格納されるBピクチャ格納領域1
03cに対応する接点cに接続する。スイッチSW3
を、IピクチャI2が格納される後方参照領域103b
に対応する接点bに接続する。そして、後方参照領域1
03bから読み出したマクロブロックMB1′のデータ
を、スイッチSW2,SW3を介して、逆方向予測メモ
リ131に格納する。続いて、逆方向予測メモリ131
から読み出したマクロブロックMB1′のデータだけ
を、加算回路134を介してBピクチャ格納領域103
cへ転送する。このエラー処理動作を、各マクロブロッ
クMB2′〜MBn′について繰り返し行い、Bピクチ
ャB3のスライスS1をIピクチャI2のマクロブロッ
クMB1′〜MBn′に置き換える。
【0065】−[2] スライスS1を含むピクチャがB
ピクチャB4の場合(図12参照);スイッチSW4
を、BピクチャB4が格納されるBピクチャ格納領域1
03cに対応する接点cに接続する。スイッチSW3
を、BピクチャB3が格納されるBピクチャ格納領域1
03cに対応する接点cに接続する。そして、Bピクチ
ャ格納領域103cから読み出したマクロブロックMB
1′のデータを、スイッチSW2,SW3を介して、逆
方向予測メモリ131に格納する。続いて、逆方向予測
メモリ131から読み出したマクロブロックMB1′の
データだけを、加算回路134を介してBピクチャ格納
領域103cへ転送する。つまり、マクロブロックMB
1′に対してはBピクチャB4のデータが上書きされ
ず、マクロブロックMB1′はそのまま残ることにな
る。このエラー処理動作を、各マクロブロックMB2′
〜MBn′について繰り返し行い、BピクチャB4のス
ライスS1をBピクチャB3のマクロブロックMB1′
〜MBn′に置き換える。
【0066】−[3] スライスS1を含むピクチャがP
ピクチャP5の場合(図13参照);スイッチSW4
を、PピクチャB5が格納される前方参照領域103a
に対応する接点aに接続する。スイッチSW3を、Bピ
クチャB4が格納されるBピクチャ格納領域103cに
対応する接点cに接続する。そして、Bピクチャ格納領
域103cから読み出したマクロブロックMB1′のデ
ータを、スイッチSW2,SW3を介して、逆方向予測
メモリ131に格納する。続いて、逆方向予測メモリ1
31から読み出したマクロブロックMB1′のデータだ
けを、加算回路134を介して前方参照領域103aへ
転送する。このエラー処理動作を、各マクロブロックM
B2′〜MBn′について繰り返し行い、PピクチャP
5のスライスS1をBピクチャB4のマクロブロックM
B1′〜MBn′に置き換える。
【0067】このように、従来のMPEGビデオデコー
ダ101では、ハフマンエラー検出回路113によって
スライス毎にエラー検出を行う。そして、スライスS1
内にエラーが含まれている場合には、前記したエラー処
理((1) 〜(3))を行う。
【0068】
【発明が解決しようとする課題】近年、MPEGビデオ
デコーダに対して、エラー検出およびエラー処理の精度
を高めてエラー耐性の強化を図ることが要求されてい
る。
【0069】本発明は上記要求を満足するためになされ
たものであって、その目的は、エラー耐性の強化を図る
ことが可能なMPEGビデオデコーダを提供することに
ある。
【0070】
【課題を解決するための手段】本発明のMPEGビデオ
デコーダのある態様は、MPEGビデオストリームに含
まれるエラーを検出するエラー検出手段を含む。該エラ
ー検出手段は、マクロブロック毎に動きベクトルの復元
を行う際に、動きベクトルを監視することでマクロブロ
ック毎にエラー検出を行う。
【0071】本発明のMPEGビデオデコーダの別の態
様は、MPEGビデオストリームに含まれるエラーを検
するエラー検出手段を含む。また、当該エラー検出手段
は、マクロブロック毎に動きベクトルの復元を行う際
に、動きベクトルがピクチャ内を示しているかどうかを
出し、ピクチャ外を示している場合、その動きベクトル
を含むマクロブロック内にエラーが含まれていると判定
する。
【0072】本発明のMPEGビデオデコーダの別の態
様は、MPEGビデオストリームに含まれるエラーを検
出するエラー検出手段を含む。該エラー検出手段は、ハ
フマンコードに基づいた可変長デコードを行う際に、デ
コード処理を監視することでスライス毎にエラー検出を
行う第1のエラー検出回路と、量子化閾値に基づいた逆
量子化を行う際に、逆量子化処理を監視することでマク
ロブロック毎にエラー検出を行う第2のエラー検出回路
と、マクロブロック毎に動きベクトルの復元を行う際
に、動きベクトルを監視することでマクロブロック毎に
エラー検出を行う第3のエラー検出回路とを備える。
【0073】本発明のMPEGビデオデコーダの別の態
様は、MPEGビデオストリームに含まれるエラーを検
出するエラー検出手段を含む。当該エラー検出手段は、
ハフマンテーブルに格納されているハフマンコードに基
づいた可変長デコードを行う際に、スライスに対応する
データがハフマンテーブルに格納されていない場合や、
スライスに対応するデータが過去のデコード結果と矛盾
する場合、そのスライス内にエラーが含まれていると判
定することで、スライス毎にエラー検出を行う第1のエ
ラー検出回路と、量子化閾値に基づいた逆量子化を行う
際に、離散コサイン変換係数のうち直係数が所定値内に
納まっているかどうかをマクロブロック毎に検出し、納
まっていない場合、そのマクロブロック内にエラーが含
まれていると判定する第2のエラー出回路と、マクロブ
ロック毎に動きベクトルの復元を行う際に、動きベクト
ルがピクチャ内を示しているかどうかを検出し、ピクチ
ャ外を示している場合、その動きベクトルを含むマクロ
ブロック内にエラーが含まれていると判定する第3のエ
ラー検出回路とを備える。
【0074】
【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面に従って説明する。図1に、本実施形態のM
PEGビデオデコーダ1のブロック回路を示す。
【0075】MPEGビデオデコーダ1は、ビットバッ
ファ2、フレームバッファ3、ピクチャヘッダ検出回路
4、スライスヘッダ検出回路5、可変長デコーダ6、逆
量子化回路7、IDCT(Inverse Discrete Cosine Tr
ansform)回路8、MC(Motion Compensated predicti
on)回路9、ROM(Read Only Memory)10,11、
制御コア回路12、ハフマンエラー検出回路13、DC
(Direct Current)エラー検出回路41、動き領域エラ
ー検出回路42から構成されている。尚、各回路4〜1
3,41,42は1チップのLSIに搭載されている。
【0076】制御コア回路12は各回路2〜11,1
3,41,42を制御する。伝達メディア20から転送
されてきたビデオストリームは、ビットバッファ2へ入
力される。尚、伝達メディア20には、蓄積メディア
(ビデオCD,CD−ROM,DVD,VTRなど)、
通信メディア(LANなど)、放送メディア(地上波放
送,衛星放送,CATVなど)などが含まれる。
【0077】ビットバッファ2はFIFO(First-In-F
irst-Out)構成のRAM(Random Access Memory)から
成るリングバッファによって構成され、伝達メディア2
0から転送されてくるビデオストリームを順次蓄積す
る。
【0078】ビットバッファ2が設けられているのは、
I,P,Bの各ピクチャのデータ量が異なっているため
である。Iピクチャのデータ量は約30kバイト、Pピ
クチャのデータ量は約10〜15kバイト、Bピクチャ
のデータ量は0〜約6kバイトである。それに対して、
伝達メディア20から転送されてくるビデオストリーム
のビットレートは一定である。後記するように各回路6
〜9は各ピクチャ毎に処理を行い、その処理時間は各ピ
クチャのデータ量によって異なる。そのため、伝達メデ
ィア20から転送されてきたビデオストリームを各回路
6〜9へ直接転送すると、各回路6〜9において処理で
きないピクチャがでてくる。これを防止するため、伝達
メディア20から転送されてくるビデオストリームに対
するバッファメモリとしてのビットバッファ2を設ける
ことで、I,P,Bの各ピクチャのデータ量の相違を吸
収している。
【0079】ピクチャヘッダ検出回路4は、ビットバッ
ファ2に蓄積されたビデオストリームの各ピクチャの先
頭に付くピクチャヘッダを検出し、その各ピクチャヘッ
ダに規定されているピクチャのタイプ(I,P,B)を
検出する。
【0080】スライスヘッダ検出回路5は、ビットバッ
ファ2に蓄積されたビデオストリームの各スライスの先
頭に付くスライスヘッダを検出する。制御コア回路12
は、ピクチャヘッダ検出回路4の検出結果に基づいて、
ビットバッファ2から1フレーム期間毎に1枚のピクチ
ャ分ずつのビデオストリームを読み出す。
【0081】可変長デコーダ6は、ビットバッファ2か
ら読み出されたピクチャに対して、ROM10に記憶さ
れたハフマンテーブルに格納されているハフマンコード
に基づいた可変長デコードを行う。
【0082】逆量子化回路7は、可変長デコーダ6のデ
コード結果に対して、ROM11に記憶された量子化テ
ーブルに格納されている量子化閾値に基づいた逆量子化
を行いDCT(Discrete Cosine Transform)係数を求
める。
【0083】IDCT回路8は、逆量子化回路7が求め
たDCT係数に対してIDCTを行う。MC回路9は、
IDCT回路8の処理結果に対してMC(Motion Compe
nsatedprediction)を行う。
【0084】MC回路9の処理結果は、フレームバッフ
ァ3の各領域3a〜3cへ転送される。また、フレーム
バッファ3の各領域3a〜3cから読み出されたデータ
はMC回路9へ転送される。
【0085】フレームバッファ3はRAMから成り、そ
の内部は3つの領域(前方参照領域3a、後方参照領域
3b、Bピクチャ格納領域3c)に分けられている。前
方参照領域3aには、MC回路9において逆方向予測を
行う際に用いられる未来のIピクチャまたはPピクチャ
が格納される。後方参照領域3bには、MC回路9にお
いて順方向予測を行う際に用いられる過去のIピクチャ
またはPピクチャが格納される。Bピクチャ格納領域3
cにはBピクチャが格納される。
【0086】前方参照領域3aおよび後方参照領域3b
に格納されるIピクチャまたはPピクチャは、順方向予
測または逆方向予測を行うための基データとして使われ
るため、必要がなくなるまで、各領域3a,3bに格納
し続けなければならない。Bピクチャ格納領域3cに格
納されるBピクチャについては基データとして扱われな
いため、ディスプレイ21へ出力されたら不要になる。
尚、各領域3a〜3cはプレーンと呼ばれる。
【0087】そして、各領域3a〜3cのいずれか1つ
に格納されたピクチャのデータ(ビデオ信号)が、MC
回路9を介して、MPEGビデオデコーダ1の外部に設
けられたディスプレイ21へ出力される。
【0088】例えば、図10(a)に示すように原画像
の各ピクチャの順番が構成されている場合、MPEGビ
デオエンコーダでは図10(b)に示すように各ピクチ
ャの順番が並べ替えられる。図10(c)に示すよう
に、伝達メディア20では、MPEGビデオエンコーダ
で並べ替えられた順番のままで各ピクチャが転送され
る。そして、図10(d)(e)に示すように、MPE
Gビデオデコーダ1では、ディスプレイ21の再生画像
の各ピクチャの順番が原画像のそれと同じになるよう
に、各ピクチャの順番が並べ替えられる。
【0089】フレームバッファ3は、このMPEGビデ
オデコーダ1における各ピクチャの順番の並べ替えを行
うために設けられている。すなわち、各回路6〜9でB
ピクチャB3を処理し、その処理結果をBピクチャ格納
領域3cへ転送しているとき、ディスプレイ21へは後
方参照領域3bに既に格納されているIピクチャI2が
出力される。
【0090】また、各回路6〜9でBピクチャB4を処
理し、その処理結果をBピクチャ格納領域3cへ転送し
ているとき、ディスプレイ21へはBピクチャ格納領域
3cに既に格納されているBピクチャB3が出力され
る。その結果、各回路6〜9でBピクチャB4を処理し
ているときには、Bピクチャ格納領域3cに既に格納さ
れているBピクチャB3に対して、新たに処理されたB
ピクチャB4のデータが上書きされる。
【0091】また、各回路6〜9でPピクチャP8を処
理し、その処理結果を後方参照領域3bへ転送している
とき、ディスプレイ21へはBピクチャ格納領域3cに
既に格納されているBピクチャB4が出力される。
【0092】尚、フレームバッファ3とビットバッファ
2とは、部品点数を少なくしてMPEGビデオデコーダ
1の部品コストを減少させるため、1つのRAM内に領
域を分けて設けられている。
【0093】ハフマンエラー検出回路13は、可変長デ
コーダ6におけるデコード処理を監視することで、スラ
イス毎にエラー検出を行う。すなわち、ハフマンエラー
検出回路13は、スライスに対応するデータがハフマン
テーブルに格納されていない場合や、スライスに対応す
るデータが過去のデコード結果と矛盾する場合、そのス
ライス内にエラーが含まれていると判定する。
【0094】制御コア回路12は、ハフマンエラー検出
回路16によってスライス内にエラーが含まれていると
判定された場合、以下のエラー処理Aを行う。ここで
は、図8に示すスライスS1内にエラーが含まれている
場合を例にとって説明する。尚、スライスS1はn個の
マクロブロックMB1〜MBnによって構成されている
ものとする。
【0095】A−(1) エラーが含まれていると判定され
たスライスS1に対する可変長デコーダ6のデコード処
理を停止させ、そのスライスS1のデコード処理結果を
無効にさせる。
【0096】A−(2) スライスヘッダ検出回路5の検出
結果に基づいて、ビットバッファ2からスライスS1の
次のスライスS2を読み出す。そして、可変長デコーダ
6にスライスS2の可変長デコードを行わせる。
【0097】A−(3) MC回路9およびフレームバッフ
ァ3を制御して、フレームバッファ3に格納されるスラ
イスS1を、そのスライスS1が含まれているピクチャ
の1つ前にディスプレイ21へ出力されるピクチャの対
応するマクロブロックMB1′〜MBn′によって置き
換える。この動作を、図10(d)(e)に示すように
各ピクチャの順番が構成されている場合を例にとって説
明する。
【0098】A−(3)-[1] スライスS1を含むピクチャ
がBピクチャB3の場合;BピクチャB3の1つ前にデ
ィスプレイ21へ出力されるピクチャはIピクチャI2
である。BピクチャB3をBピクチャ格納領域3cへ転
送しているとき、IピクチャI2は既に後方参照領域3
bに格納されている。
【0099】図11に示すように、BピクチャB3のス
ライスS1に対応するIピクチャI2のマクロブロック
MB1′〜MBn′を後方参照領域3bから読み出す。
そして、IピクチャI2のマクロブロックMB1′〜M
Bn′をBピクチャ格納領域3cに書き込むことで、B
ピクチャB3のスライスS1をIピクチャI2のマクロ
ブロックMB1′〜MBn′に置き換える。
【0100】A−(3)-[2] スライスS1を含むピクチャ
がBピクチャB4の場合;BピクチャB4の1つ前にデ
ィスプレイ21へ出力されるピクチャはBピクチャB3
である。BピクチャB3をBピクチャ格納領域3cへ転
送しているとき、BピクチャB3は既にBピクチャ格納
領域3cに格納されている。
【0101】図12に示すように、Bピクチャ格納領域
3cにおいて、BピクチャB4のスライスS1に対応す
るBピクチャB3のマクロブロックMB1′〜MBn′
に対してはBピクチャB4のデータを上書きせず、Bピ
クチャB3のマクロブロックMB1′〜MBn′をその
まま残す。その結果、BピクチャB4のスライスS1は
BピクチャB3のマクロブロックMB1′〜MBn′に
置き換えられる。
【0102】A−(3)-[3] スライスS1を含むピクチャ
がPピクチャP5の場合;PピクチャP5の1つ前にデ
ィスプレイ21へ出力されるピクチャはBピクチャB4
である。PピクチャP5は前方参照領域3aに格納さ
れ、BピクチャB4はBピクチャ格納領域3cに格納さ
れている。
【0103】図13に示すように、PピクチャB5のス
ライスS1に対応するBピクチャB4のマクロブロック
MB1′〜MBn′をBピクチャ格納領域3cから読み
出す。そして、BピクチャB4のマクロブロックMB
1′〜MBn′を前方参照領域3aに書き込むことで、
PピクチャP5のスライスS1をBピクチャB4のマク
ロブロックMB1′〜MBn′に置き換える。
【0104】DCエラー検出回路41は、逆量子化回路
7における逆量子化処理を監視することで、マクロブロ
ック毎にエラー検出を行う。すなわち、DCエラー検出
回路41は、逆量子化回路7の求めたDCT係数のうち
直流(DC;Direct Current)係数が所定値内に納まっ
ているかどうかをマクロブロック毎に検出し、納まって
いない場合、そのマクロブロック内にエラーが含まれて
いると判定する。尚、DC係数はDCT係数の(0、
0)成分である。
【0105】動き領域エラー検出回路42は、MC回路
9内の動きベクトル復元回路43が復元した動きベクト
ルを監視することで、マクロブロック毎にエラー検出を
行う。例えば、図2に示すように、動きベクトル復元回
路43は、ピクチャ51に含まれるスライスS3を構成
する各マクロブロックMB11〜MB15について、そ
れぞれ動きベクトル52〜56を復元する。動き領域エ
ラー検出回路42は、各動きベクトル52〜56がピク
チャ51内を示しているかどうかを検出し、ピクチャ5
1外を示している場合、その動きベクトルを含むマクロ
ブロック内にエラーが含まれていると判定する。ここ
で、動きベクトル52〜55についてはピクチャ51内
を示しているが、動きベクトル56はピクチャ51外を
示している。従って、動き領域エラー検出回路42は、
動きベクトル56を含むマクロブロックMB15内にエ
ラーが含まれていると判定する。
【0106】尚、DCエラー検出回路41または動き領
域エラー検出回路42によって検出されたエラーの原因
には、以下のものがある。 伝達メディア20から転送されてきたビデオストリー
ムのエンコードが元々、MPEGビデオパートの規格通
りに行われていない場合。
【0107】伝達メディア20内で生じた何らかの事
故により、伝達メディア20から転送されてきたビデオ
ストリームの任意のビットに誤りがある場合。例えば、
伝達メディア20としてビデオCDやDVDを用いた場
合には、ディスクに付いた傷が原因で、ディスクから読
み出されたビデオストリームの任意のビットに誤りが生
じることがある。また、通信メディアや放送メディアで
は、ノイズが原因で、伝送されるビデオストリームの任
意のビットに誤りが生じることがある。
【0108】制御コア回路12は、DCエラー検出回路
41または動き領域エラー検出回路42によってマクロ
ブロック内にエラーが含まれていると判定された場合、
以下のエラー処理Bを行う。ここでは、図8に示すスラ
イスS1内のマクロブロックMBm内にエラーが含まれ
ている場合を例にとって説明する。
【0109】B−(1) エラーが含まれていると判定され
たスライスS1内のマクロブロックMBm以降の全ての
マクロブロックMBm〜MBnに対する各回路6〜8の
処理を停止させ、その各マクロブロックMBm〜MBn
の処理結果を無効にさせる。
【0110】B−(2) スライスヘッダ検出回路5の検出
結果に基づいて、ビットバッファ2からスライスS1の
次のスライスS2を読み出す。そして、各回路6〜8に
スライスS2の処理を行わせる。
【0111】B−(3) MC回路9およびフレームバッフ
ァ3を制御して、フレームバッファ3に格納される各マ
クロブロックMBm〜MBnを、そのマクロブロックM
Bm〜MBnが含まれているピクチャの1つ前にディス
プレイ21へ出力されるピクチャの対応する各マクロブ
ロックMBm′〜MBn′によって置き換える。この動
作を、図10(d)(e)に示すように各ピクチャの順
番が構成されている場合を例にとって説明する。
【0112】B−(3)-[1] マクロブロックMBm〜MB
nを含むピクチャがBピクチャB3の場合;図3に示す
ように、BピクチャB3のマクロブロックMBm〜MB
nに対応するIピクチャI2のマクロブロックMBm′
〜MBn′を後方参照領域3bから読み出す。そして、
IピクチャI2のマクロブロックMBm′〜MBn′を
Bピクチャ格納領域3cに書き込むことで、Bピクチャ
B3のマクロブロックMBm〜MBnをIピクチャI2
のマクロブロックMBm′〜MBn′に置き換える。
【0113】B−(3)-[2] マクロブロックMBm〜MB
nを含むピクチャがBピクチャB4の場合;図4に示す
ように、Bピクチャ格納領域3cにおいて、Bピクチャ
B4のマクロブロックMBm〜MBnに対応するBピク
チャB3のマクロブロックMBm′〜MBn′に対して
はBピクチャB4のデータを上書きせず、BピクチャB
3のマクロブロックMBm′〜MBn′をそのまま残
す。その結果、BピクチャB4のマクロブロックMBm
〜MBnはBピクチャB3のマクロブロックMBm′〜
MBn′に置き換えられる。
【0114】B−(3)-[3] マクロブロックMBm〜MB
nを含むピクチャがPピクチャP5の場合;図5に示す
ように、PピクチャB5のマクロブロックMBm〜MB
nに対応するBピクチャB4のマクロブロックMBm′
〜MBn′をBピクチャ格納領域3cから読み出す。そ
して、BピクチャB4のマクロブロックMBm′〜MB
n′を前方参照領域3aに書き込むことで、Pピクチャ
P5のマクロブロックMBm〜MBnをBピクチャB4
のマクロブロックMBm′〜MBn′に置き換える。
【0115】図6に、MC回路9の内部構成を示す。M
C回路9は、逆方向予測メモリ31、順方向予測メモリ
32、平均回路33、加算回路34、スイッチSW1〜
SW6、動きベクトル復元回路43から構成されてい
る。
【0116】スイッチSW6は2つの接点a,bをも
ち、接点aはIDCT回路8の出力に接続され、接点b
はアースされ、各接点a,bのいずれか一方が加算回路
34の入力に接続される。
【0117】スイッチSW1は4つの接点a〜dをも
ち、接点aは逆方向予測メモリ31の出力に接続され、
接点bは平均回路33の出力に接続され、接点cは順方
向予測メモリ32の出力に接続され、接点dはアースさ
れ、各接点a〜dのいずれか1つが加算回路34の入力
に接続される。
【0118】スイッチSW2は2つの接点a,bをも
ち、接点aは逆方向予測メモリ31の入力に接続され、
接点bは順方向予測メモリ32の入力に接続され、各接
点a,bのいずれか一方がスイッチSW3に接続され
る。
【0119】スイッチSW3は3つの接点a〜cをも
ち、接点aはフレームバッファ3の前方参照領域3aの
出力に接続されると共にスイッチSW5の接点aに接続
され、接点bはフレームバッファ3の後方参照領域3b
の出力に接続されると共にスイッチSW5の接点bに接
続され、接点cはフレームバッファ3のBピクチャ格納
領域3cの出力に接続されると共にスイッチSW5の接
点cに接続される。
【0120】スイッチSW5は3つの接点a〜cをも
ち、各接点a〜cのいずれか1つがディスプレイ21に
接続される。スイッチSW4は3つの接点a〜cをも
ち、接点aは前方参照領域3aの入力に接続され、接点
bは後方参照領域3bの入力に接続され、接点cはBピ
クチャ格納領域3cの入力に接続され、各接点a〜cの
いずれか1つが加算回路34の出力に接続される。
【0121】逆方向予測メモリ31および順方向予測メ
モリ32はそれぞれ、1個のマクロブロック分のデータ
を格納する。平均回路33は、逆方向予測メモリ31お
よび順方向予測メモリ32から読み出されたデータを平
均化する。
【0122】動きベクトル復元回路43は、各領域3a
〜3cのいずれか1つから読み出した1個のマクロブロ
ック分のデータをスイッチSW3を介して入力し、その
マクロブロックの動きベクトルを復元する。
【0123】このように構成されたMC回路9は以下の
動作を行う。 各エラー検出回路13,41,42がいずれもエラー
を検出しない場合(通常動作);スイッチSW6を接点
aに接続する。
【0124】−[1] IDCT回路8からIピクチャが
出力された場合;スイッチSW1を接点dに接続し、ス
イッチSW4を接点aまたは接点bに接続する。スイッ
チSW5を、スイッチSW4の接続されている接点とは
異なる接点a〜cに接続する。例えば、スイッチSW4
が接点aに接続されている場合、スイッチSW5は接点
bまたは接点cに接続する。スイッチSW2,SW3は
どの接点に接続してもよい。その結果、加算回路34の
出力はIDCT回路8の出力と同じになる。その加算回
路34の出力は、スイッチSW4を介して、前方参照領
域3aまたは後方参照領域3bへ転送される。
【0125】−[2] IDCT回路8からPピクチャが
出力された場合;スイッチSW1をマクロブロック・タ
イプに対応した接点c,dに接続する。
【0126】−[2]-<1> マクロブロック・タイプがフ
レーム内予測画面の場合;上記−[1] と同じである。
【0127】−[2]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域3bから読み出した1
個のマクロブロック分のデータを、順方向予測メモリ3
2に格納する。そして、スイッチSW1を接点cに接続
し、スイッチSW4を接点aまたは接点bに接続する。
スイッチSW5を、スイッチSW4の接続されている接
点とは異なる接点a〜cに接続する。その結果、加算回
路34は、順方向予測メモリ32から読み出されたマク
ロブロックのデータと、IDCT回路8の出力とを加算
する。その加算回路34の出力は、スイッチSW4を介
して、前方参照領域3aまたは後方参照領域3bへ転送
される。
【0128】−[3] IDCT回路8からBピクチャが
出力された場合;スイッチSW1をマクロブロック・タ
イプに対応した接点a〜dに接続し、スイッチSW4,
SW5をそれぞれ接点cに接続する。その結果、加算回
路34の出力は、スイッチSW4を介して、Bピクチャ
格納領域3cへ転送される。
【0129】−[3]-<1> マクロブロック・タイプがフ
レーム内予測画面の場合;スイッチSW1を接点dに接
続する。スイッチSW2,SW3はどの接点に接続して
もよい。その結果、加算回路34の出力はIDCT回路
8の出力と同じになる。
【0130】−[3]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域3bから読み出した1
個のマクロブロック分のデータを、順方向予測メモリ3
2に格納する。そして、スイッチSW1を接点cに接続
する。その結果、加算回路34は、順方向予測メモリ3
2から読み出されたマクロブロックのデータと、IDC
T回路8の出力とを加算する。
【0131】−[3]-<3> マクロブロック・タイプが逆
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点aに接続し、前方参照領域3aから読み出した1
個のマクロブロック分のデータを、逆方向予測メモリ3
1に格納する。そして、スイッチSW1を接点aに接続
する。その結果、加算回路34は、逆方向予測メモリ3
1から読み出されたマクロブロックのデータと、IDC
T回路8の出力とを加算する。
【0132】−[3]-<4> マクロブロック・タイプが内
挿的予測画面の場合;まず、スイッチSW2,SW3を
それぞれ接点bに接続し、後方参照領域3bから読み出
した1個のマクロブロック分のデータを、順方向予測メ
モリ32に格納する。次に、スイッチSW2,SW3を
それぞれ接点aに接続し、前方参照領域3aから読み出
した1個のマクロブロック分のデータを、逆方向予測メ
モリ31に格納する。平均回路33は、逆方向予測メモ
リ31および順方向予測メモリ32から読み出されたデ
ータを平均化する。そして、スイッチSW1を接点bに
接続する。その結果、加算回路34は、平均回路33の
出力と、IDCT回路8の出力とを加算する。
【0133】各エラー検出回路13,41,42のい
ずれか1つがエラーを検出した場合(エラー処理動
作);スイッチSW6を接点bに接続し、スイッチSW
2を接点aに接続する。スイッチSW4を、エラーが含
まれているピクチャが格納される領域3a〜3cに対応
する接点a〜cに接続する。スイッチSW3を、エラー
が含まれているピクチャの1つ前にディスプレイ21へ
出力されるピクチャが格納されている領域3a〜3cに
対応する接点a〜cに接続する。そして、各領域3a〜
3cのいずれか1つから読み出した1個のマクロブロッ
ク分のデータを、スイッチSW2,SW3を介して、逆
方向予測メモリ31に格納する。続いて、スイッチSW
1を接点aに接続する。その結果、加算回路34の出力
は逆方向予測メモリ31から読み出されたマクロブロッ
クのデータと同じになる。その加算回路34の出力は、
スイッチSW4を介して、エラーが含まれているピクチ
ャが格納される領域3a〜3cへ転送される。
【0134】−[1] ハフマンエラー検出回路13がエ
ラーを検出した場合;上記のエラー処理動作を、エラー
が含まれていると判定されたスライス(前記スライスS
1)が、そのスライスが含まれているピクチャの1つ前
にディスプレイ21へ出力されるピクチャの対応するマ
クロブロック(前記マクロブロックMB1′〜MB
n′)によって置き換えられるまで、マクロブロック毎
に繰り返し行う。
【0135】上記のエラー処理動作を、図8に示すスラ
イスS1内にエラーが含まれていると判定され、図10
(d)(e)に示すように各ピクチャの順番が構成され
ている場合を例にとって説明する。
【0136】−[1]-<1> スライスS1を含むピクチャ
がBピクチャB3の場合(図11参照);スイッチSW
4を、BピクチャB3が格納されるBピクチャ格納領域
3cに対応する接点cに接続する。スイッチSW3を、
IピクチャI2が格納される後方参照領域3bに対応す
る接点bに接続する。そして、後方参照領域3bから読
み出したマクロブロックMB1′のデータを、スイッチ
SW2,SW3を介して、逆方向予測メモリ31に格納
する。続いて、逆方向予測メモリ31から読み出したマ
クロブロックMB1′のデータだけを、加算回路34を
介してBピクチャ格納領域3cへ転送する。このエラー
処理動作を、各マクロブロックMB2′〜MBn′につ
いて繰り返し行い、BピクチャB3のスライスS1をI
ピクチャI2のマクロブロックMB1′〜MBn′に置
き換える。
【0137】−[1]-<2> スライスS1を含むピクチャ
がBピクチャB4の場合(図12参照);スイッチSW
4を、BピクチャB4が格納されるBピクチャ格納領域
3cに対応する接点cに接続する。スイッチSW3を、
BピクチャB3が格納されるBピクチャ格納領域3cに
対応する接点cに接続する。そして、Bピクチャ格納領
域3cから読み出したマクロブロックMB1′のデータ
を、スイッチSW2,SW3を介して、逆方向予測メモ
リ31に格納する。続いて、逆方向予測メモリ31から
読み出したマクロブロックMB1′のデータだけを、加
算回路34を介してBピクチャ格納領域3cへ転送す
る。つまり、マクロブロックMB1′に対してはBピク
チャB4のデータが上書きされず、マクロブロックMB
1′はそのまま残ることになる。このエラー処理動作
を、各マクロブロックMB2′〜MBn′について繰り
返し行い、BピクチャB4のスライスS1をBピクチャ
B3のマクロブロックMB1′〜MBn′に置き換え
る。
【0138】−[1]-<3> スライスS1を含むピクチャ
がPピクチャP5の場合(図13参照);スイッチSW
4を、PピクチャB5が格納される前方参照領域3aに
対応する接点aに接続する。スイッチSW3を、Bピク
チャB4が格納されるBピクチャ格納領域3cに対応す
る接点cに接続する。そして、Bピクチャ格納領域3c
から読み出したマクロブロックMB1′のデータを、ス
イッチSW2,SW3を介して、逆方向予測メモリ31
に格納する。続いて、逆方向予測メモリ31から読み出
したマクロブロックMB1′のデータだけを、加算回路
34を介して前方参照領域3aへ転送する。このエラー
処理動作を、各マクロブロックMB2′〜MBn′につ
いて繰り返し行い、PピクチャP5のスライスS1をB
ピクチャB4のマクロブロックMB1′〜MBn′に置
き換える。
【0139】−[2] DCエラー検出回路41または動
き領域エラー検出回路42がエラーを検出した場合;上
記のエラー処理動作を、エラーが含まれていると判定さ
れたスライス(前記スライスS1)内のマクロブロック
(前記マクロブロックMBm)以降の全てのマクロブロ
ック(前記マクロブロックMBm〜MBn)が、そのマ
クロブロックが含まれているピクチャの1つ前にディス
プレイ21へ出力されるピクチャの対応するマクロブロ
ック(前記マクロブロックMBm′〜MBn′)によっ
て置き換えられるまで、マクロブロック毎に繰り返し行
う。
【0140】上記のエラー処理動作を、図8に示すスラ
イスS1内のマクロブロックMBmにエラーが含まれて
いると判定され、図10(d)(e)に示すように各ピ
クチャの順番が構成されている場合を例にとって説明す
る。
【0141】−[2]-<1> マクロブロックMBmを含む
ピクチャがBピクチャB3の場合(図3参照);スイッ
チSW4を、BピクチャB3が格納されるBピクチャ格
納領域3cに対応する接点cに接続する。スイッチSW
3を、IピクチャI2が格納される後方参照領域3bに
対応する接点bに接続する。そして、後方参照領域3b
から読み出したマクロブロックMBm′のデータを、ス
イッチSW2,SW3を介して、逆方向予測メモリ31
に格納する。続いて、逆方向予測メモリ31から読み出
したマクロブロックMBm′のデータだけを、加算回路
34を介してBピクチャ格納領域3cへ転送する。この
エラー処理動作を、各マクロブロックMBm+1′〜M
Bn′について繰り返し行い、BピクチャB3のマクロ
ブロックMBm〜MBnをIピクチャI2のマクロブロ
ックMBm′〜MBn′に置き換える。
【0142】−[2]-<2> マクロブロックMBmを含む
ピクチャがBピクチャB4の場合(図4参照);スイッ
チSW4を、BピクチャB4が格納されるBピクチャ格
納領域3cに対応する接点cに接続する。スイッチSW
3を、BピクチャB3が格納されるBピクチャ格納領域
3cに対応する接点cに接続する。そして、Bピクチャ
格納領域3cから読み出したマクロブロックMBm′の
データを、スイッチSW2,SW3を介して、逆方向予
測メモリ31に格納する。続いて、逆方向予測メモリ3
1から読み出したマクロブロックMBm′のデータだけ
を、加算回路34を介してBピクチャ格納領域3cへ転
送する。つまり、マクロブロックMBm′に対してはB
ピクチャB4のデータが上書きされず、マクロブロック
MBm′はそのまま残ることになる。このエラー処理動
作を、各マクロブロックMBm+1′〜MBn′につい
て繰り返し行い、BピクチャB4のマクロブロックMB
m〜MBnをBピクチャB3のマクロブロックMBm′
〜MBn′に置き換える。
【0143】−[2]-<3> マクロブロックMBmを含む
ピクチャがPピクチャP5の場合(図5参照);スイッ
チSW4を、PピクチャB5が格納される前方参照領域
3aに対応する接点aに接続する。スイッチSW3を、
BピクチャB4が格納されるBピクチャ格納領域3cに
対応する接点cに接続する。そして、Bピクチャ格納領
域3cから読み出したマクロブロックMBm′のデータ
を、スイッチSW2,SW3を介して、逆方向予測メモ
リ31に格納する。続いて、逆方向予測メモリ31から
読み出したマクロブロックMBm′のデータだけを、加
算回路34を介して前方参照領域3aへ転送する。この
エラー処理動作を、各マクロブロックMBm+1′〜M
Bn′について繰り返し行い、PピクチャP5のマクロ
ブロックMBm〜MBnをBピクチャB4のマクロブロ
ックMBm′〜MBn′に置き換える。
【0144】このように、本実施形態によれば、以下の
作用および効果を得ることができる。 (1)ハフマンエラー検出回路13によってスライス毎
にエラー検出を行う。そして、あるスライスS1内にエ
ラーが含まれている場合には、前記エラー処理Aを行
う。
【0145】(2)上記(1)により、フレームバッフ
ァ3に格納されるエラーを含むスライスS1を、そのス
ライスS1を含むピクチャの1つ前にディスプレイ21
へ出力されるピクチャの対応するマクロブロックMB
1′〜MBn′によって置き換えることができる。ディ
スプレイ21へ連続して出力される各ピクチャにおい
て、あるピクチャと、その前後のピクチャとは良く似て
おり、異なっているのは、そのごく一部分に過ぎない。
つまり、スライスS1とマクロブロックMB1′〜MB
n′とは同じデータ内容である可能性が高い。従って、
エラーを含むスライスS1をマクロブロックMB1′〜
MBn′によって置き換えれば、ほとんどの場合にエラ
ーを隠すことができる。
【0146】(3)DCエラー検出回路41および動き
領域エラー検出回路42によってマクロブロック毎にエ
ラー検出を行う。そして、あるスライスS1内のあるマ
クロブロックMBm内にエラーが含まれている場合に
は、前記エラー処理Bを行う。
【0147】(4)上記(3)により、フレームバッフ
ァ3に格納されるエラーを含むスライスS1内のマクロ
ブロックMBm以降の全てのマクロブロックMBm〜M
Bnを、そのマクロブロックMBmを含むピクチャの1
つ前にディスプレイ21へ出力されるピクチャの対応す
るマクロブロックMBm′〜MBn′によって置き換え
ることができる。マクロブロックMBm〜MBnとマク
ロブロックMBm′〜MBn′とは同じデータ内容であ
る可能性が高い。従って、エラーを含むスライスS1内
のマクロブロックMBm以降の全てのマクロブロックM
Bm〜MBnをマクロブロックMBm′〜MBn′によ
って置き換えれば、ほとんどの場合にエラーを隠すこと
ができる。
【0148】(5)図9に示す従来例では上記(1)
(2)の作用および効果しか得られない。それに対し
て、本実施形態では、上記(1)(2)に加えて上記
(3)(4)の作用および効果を得ることができる。従
って、本実施形態によれば、従来例に比べて、エラー検
出の精度を高めることが可能になり、エラー耐性の強化
を図ることができる。
【0149】(6)前記エラー処理Bにおいて、エラー
が含まれるマクロブロックMBmだけでなく、スライス
S1内のマクロブロックMBm以降の全てのマクロブロ
ックMBm〜MBnについてエラー処理を行うのは以下
の理由による。
【0150】伝達メディア20内で生じた何らかの事故
により、伝達メディア20から転送されてきたビデオス
トリームの任意のビットに誤りがある場合、スライスの
途中でエラー状態が解除されることはほとんどない。
【0151】例えば、図7に示すように、(a):「0
00100101101001…」というビデオストリ
ームのコードが、(b):「000110101101
001…」のように、先頭から5ビット目だけ1ビット
誤った場合を例にとって説明する。ここで、ハフマンテ
ーブルのハフマンコードを、「11」:A、「10」:
B、「01」:C、「001」:D、「0001」:
E、それ以外のコード:NGとする。すると、正しいビ
デオストリーム(a)はハフマンコードで「EDCBB
C…」と表されるのに対し、誤ったビデオストリーム
(b)は「EBBACD…」と表される。つまり、ビデ
オストリームのあるビットが誤っていても、そのビデオ
ストリームはいずれかのハフマンコードと一致する。
【0152】このような場合、ハフマンエラー検出回路
13はエラーを検出することができず、可変長デコーダ
6はでたらめなデコード結果を出力し続けることにな
る。可変長デコーダ6のデコード結果には、DC係数や
動きベクトルに関する情報も含まれている。そのため、
可変長デコーダ6のデコード結果が誤っていると、DC
エラー検出回路41および動き領域エラー検出回路42
もエラーを検出することができなくなる。
【0153】つまり、各エラー検出回路41,42が、
エラーが含まれるマクロブロックMBmの次のマクロブ
ロックMBm+1についてはエラーを検出しない場合で
も、マクロブロックMBm+1にエラーが含まれている
ことがある。従って、エラーが含まれるマクロブロック
MBmだけでなく、スライスS1内のそれ以降の全ての
マクロブロックMBm+1〜MBnについてもエラー処
理を行うことにより、確実なエラー検出を可能にしてい
る。
【0154】尚、上記各実施形態は以下のように変更し
てもよく、その場合でも同様の作用および効果を得るこ
とができる。 〔1〕各エラー検出回路13,41,42のうちいずれ
か1つを省く。また、ハフマンエラー検出回路13を省
くと共に、各エラー検出回路41,42のうちいずれか
1方だけを設ける。これらの場合には、上記実施形態に
比べてエラー検出の精度およびエラー耐性は低下するも
のの、従来例に比べれば強化することができる。
【0155】〔2〕前記エラー処理動作(−[1] 、
−[2])において、スイッチSW2を接点bに接続す
る。そして、各領域3a〜3cのいずれか1つから読み
出した1個のマクロブロック分のデータを、スイッチS
W2,SW3を介して、順方向予測メモリ32に格納す
る。続いて、スイッチSW1を接点cに接続する。その
結果、加算回路34の出力は順方向予測メモリ32から
読み出されたマクロブロックのデータと同じになる。
【0156】〔3〕上記実施形態をCPUを用いたソフ
トウェア的な処理に置き換える。すなわち、各回路(4
〜9,12,13,41,42)における信号処理をC
PUを用いたソフトウェア的な信号処理に置き換える。
【0157】ところで、本明細書において、発明の構成
に係る部材は以下のように定義されるものとする。 (a)エラー検出手段は、各エラー検出回路13,4
1,42のうち少なくともいずれか1つから構成され
る。 (b)エラー処理手段は、MC回路9および制御コア回
路12から構成される。
【0158】
【発明の効果】以上詳述したように本発明によれば、エ
ラー耐性の強化を図ることが可能なMPEGビデオデコ
ーダを提供することができる。
【図面の簡単な説明】
【図1】 一実施形態のブロック回路図である。
【図2】 一実施形態の作用を説明するための図であ
る。
【図3】 一実施形態の作用を説明するための図であ
る。
【図4】 一実施形態の作用を説明するための図であ
る。
【図5】 一実施形態の作用を説明するための図であ
る。
【図6】 一実施形態の要部ブロック回路図である。
【図7】 一実施形態の作用を説明するための図であ
る。
【図8】 一実施形態および従来例の作用を説明するた
めの図である。
【図9】 従来例のブロック回路図である。
【図10】 一実施形態および従来例の作用を説明する
ための図である。
【図11】 一実施形態および従来例の作用を説明する
ための図である。
【図12】 一実施形態および従来例の作用を説明する
ための図である。
【図13】 一実施形態および従来例の作用を説明する
ための図である。
【図14】 従来例の要部ブロック回路図である。
【符号の説明】
3…フレームバッファ 5…スライスヘッダ検出回路 6…可変長デコーダ 7…逆量子化回路 8…IDCT回路 9…MC回路 12…制御コア回路 13…ハフマンエラー検出回路 41…DCエラー検出回路 42…動き領域エラー検出回路 43…動きベクトル復元回路
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成13年11月1日(2001.11.
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【請求項MPEGビデオストリームに含まれるエ
ラーを検出するエラー検出手段を含み、 当該エラー検出手段は、 ハフマンコードに基づいた可変長デコードを行ったと
き、そのデコード処理の結果をもとにスライス毎にエラ
ー検出を行う信号処理部と、 マクロブロック毎に動きベクトルの復元を行ったとき、
復元した動きベクトルの示す位置をもとにマクロブロッ
ク毎にエラー検出を行う信号処理部と、 を備えたことを特徴とするMPEGビデオデコーダ。
【請求項前記スライス毎にエラー検出を行う信号
処理部は、可変長デコードの結果得られたスライスに対
応するデータに注目してエラーを検出することを特徴と
する請求項3に記載のMPEGビデオデコーダ。
【請求項MPEGビデオストリームに含まれるエ
ラーを検出するエラー検出手段を含み、 当該エラー検出手段は、 量子化閾値に基づいた逆量子化を行ったとき、その逆量
子化処理の結果をもとにマクロブロック毎にエラー検出
を行う信号処理部と、 マクロブロック毎に動きベクトルの復元を行ったとき、
復元した動きベクトルの示す位置をもとにマクロブロッ
ク毎にエラー検出を行う信号処理部と、 を備えたことを特徴とするMPEGビデオデコーダ。
【請求項前記逆量子化処理の結果をもとにマクロ
ブロック毎にエラー検出を行う信号処理部は、逆量子化
によって得られた離散コサイン変換係数に注目してエラ
ーを検出することを特徴とする請求項5に記載のMPE
Gビデオデコーダ。
【請求項スライス内の第mマクロブロックにエラ
ーが検出されたとき、前記マクロブロック毎のエラー検
出を停止することにより、そのスライス内にて第mマク
ロブロック以降のすべてのマクロブロックに関するエラ
ー検出結果を無効化することを特徴とする請求項3から
6のいずれかに記載のMPEGビデオデコーダ。
【請求項前記第mマクロブロック以降のすべての
マクロブロックを、それらのマクロブロックが含まれる
ピクチャのひとつ前に表示されるピクチャにおいてそれ
ぞれ対応するマクロブロックに置き換えることを特徴と
する請求項7に記載のMPEGビデオデコーダ。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】
【課題を解決するための手段】本発明のMPEGビデオ
デコーダのある態様は、MPEGビデオストリームに含
まれるエラーを検出するエラー検出手段を含む。該エラ
ー検出手段は、マクロブロック毎に動きベクトルの復元
を行う際に、動きベクトルの示す位置をもとにマクロブ
ロック毎にエラー検出を行う。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正内容】
【0071】本発明のMPEGビデオデコーダの別の態
様は、MPEGビデオストリームに含まれるエラーを検
出するエラー検出手段を含む。このエラー検出手段は、
ハフマンコードに基づいた可変長デコードを行ったと
き、そのデコード処理の結果をもとにスライス毎にエラ
ー検出を行う第1のエラー検出回路と、量子化閾値に基
づいた逆量子化を行ったとき、その逆量子化処理の結果
をもとにマクロブロック毎にエラー検出を行う第2のエ
ラー検出回路と、マクロブロック毎に動きベクトルの復
元を行ったとき、復元した動きベクトルの示す位置をも
とにマクロブロック毎にエラー検出を行う第3のエラー
検出回路とを備える。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0072
【補正方法】変更
【補正内容】
【0072】本発明のMPEGビデオデコーダの別の態
様は、MPEGビデオストリームに含まれるエラーを検
出するエラー検出手段を含む。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正内容】
【0073】当該エラー検出手段は、ハフマンテーブル
に格納されているハフマンコードに基づいた可変長デコ
ードを行う際に、スライスに対応するデータがハフマン
テーブルに格納されていない場合や、スライスに対応す
るデータが過去のデコード結果と矛盾する場合、そのス
ライス内にエラーが含まれていると判定することで、ス
ライス毎にエラー検出を行う第1のエラー検出回路と、
量子化閾値に基づいた逆量子化を行う際に、離散コサイ
ン変換係数のうち直流係数が所定値内に収まっているか
どうかをマクロブロック毎に検出し、収まっていない場
合、そのマクロブロック内にエラーが含まれていると判
定する第2のエラー出回路と、マクロブロック毎に動き
ベクトルの復元を行う際に、動きベクトルがピクチャ内
を示しているかどうかを検出し、ピクチャ外を示してい
る場合、その動きベクトルを含むマクロブロック内にエ
ラーが含まれていると判定する第3のエラー検出回路と
を備える。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中島 勇人 大阪府守口市京阪本通2丁目5番5号 三 洋電機株式会社内 Fターム(参考) 5C059 KK00 MA00 MA04 MA14 MA23 MC11 MC38 ME02 NN21 PP05 PP06 PP07 RF01 RF09 SS02 SS06 SS12 TA00 TB06 TB07 TC04 TC06 TC22 TC27 TD11 UA05 UA32 UA33 UA38 5J064 AA01 BA09 BA16 BB03 BB08 BC01 BC16 BD01

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 MPEGビデオストリームに含まれるエ
    ラーを検出するエラー検出手段を含み、 当該エラー検出手段は、マクロブロック毎に動きベクト
    ルの復元を行う際に、動きベクトルを監視することでマ
    クロブロック毎にエラー検出を行うことを特徴とするM
    PEGビデオデコーダ。
  2. 【請求項2】 MPEGビデオストリームに含まれるエ
    ラーを検出するエラー検出手段を含み、 当該エラー検出手段は、 ハフマンコードに基づいた可変長デコードを行う際に、
    デコード処理を監視することでスライス毎にエラー検出
    を行う第1のエラー検出回路と、 量子化閾値に基づいた逆量子化を行う際に、逆量子化処
    理を監視することでマクロブロック毎にエラー検出を行
    う第2のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
    きベクトルを監視することでマクロブロック毎にエラー
    検出を行う第3のエラー検出回路と、 を備えたことを特徴とするMPEGビデオデコーダ。
JP2001321239A 1994-11-29 2001-10-18 Mpegビデオデコーダ Expired - Lifetime JP3568504B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001321239A JP3568504B2 (ja) 1994-11-29 2001-10-18 Mpegビデオデコーダ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP29501894 1994-11-29
JP6-295018 1995-11-15
JP7-297122 1995-11-15
JP29712295 1995-11-15
JP2001321239A JP3568504B2 (ja) 1994-11-29 2001-10-18 Mpegビデオデコーダ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000347212A Division JP3322670B2 (ja) 1994-11-29 2000-11-14 Mpegビデオデコーダ

Publications (2)

Publication Number Publication Date
JP2002185963A true JP2002185963A (ja) 2002-06-28
JP3568504B2 JP3568504B2 (ja) 2004-09-22

Family

ID=27337954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001321239A Expired - Lifetime JP3568504B2 (ja) 1994-11-29 2001-10-18 Mpegビデオデコーダ

Country Status (1)

Country Link
JP (1) JP3568504B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108377359A (zh) * 2018-03-14 2018-08-07 苏州科达科技股份有限公司 视频抗误码方法、装置、电子设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108377359A (zh) * 2018-03-14 2018-08-07 苏州科达科技股份有限公司 视频抗误码方法、装置、电子设备、存储介质
CN108377359B (zh) * 2018-03-14 2020-08-04 苏州科达科技股份有限公司 视频抗误码方法、装置、电子设备、存储介质

Also Published As

Publication number Publication date
JP3568504B2 (ja) 2004-09-22

Similar Documents

Publication Publication Date Title
US6449311B1 (en) Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US5854799A (en) Video decoder with functions to detect and process errors in encoded video data
US8660190B2 (en) Image processing apparatus implemented in IC chip
JP3365771B2 (ja) ビデオ信号圧縮装置
JP3813444B2 (ja) ビデオデコーダ
US5739862A (en) Reverse playback of MPEG video
JP2001292451A (ja) 動画像信号圧縮装置及び方法
US5838265A (en) Method, encoder and decoder for resynchronization to a data stream which contains errors
US7245821B2 (en) Image processing using shared frame memory
JPH0759115A (ja) ステレオビデオ信号処理方法および装置
US5991445A (en) Image processing apparatus
US6754274B2 (en) Video data recording method and apparatus for high-speed reproduction
JP2001346165A (ja) 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機
JP3203172B2 (ja) Mpegビデオデコーダ
JP3322670B2 (ja) Mpegビデオデコーダ
US6128340A (en) Decoder system with 2.53 frame display buffer
JP3568504B2 (ja) Mpegビデオデコーダ
JP2824024B2 (ja) 画像復号方法および装置
JP2003052020A (ja) 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機
JP3548167B2 (ja) 画像処理装置
JP2001238167A (ja) 画像再生方法とこの方法を利用可能な画像再生装置およびテレビジョン受像機
JP2001339726A (ja) 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機
JP2001238166A (ja) 画像再生方法とこの方法を利用可能な画像再生装置およびテレビジョン受像機
JP2001333384A (ja) 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機
JP2001157211A (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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term