JP3203172B2 - MPEG video decoder - Google Patents

MPEG video decoder

Info

Publication number
JP3203172B2
JP3203172B2 JP30778595A JP30778595A JP3203172B2 JP 3203172 B2 JP3203172 B2 JP 3203172B2 JP 30778595 A JP30778595 A JP 30778595A JP 30778595 A JP30778595 A JP 30778595A JP 3203172 B2 JP3203172 B2 JP 3203172B2
Authority
JP
Japan
Prior art keywords
error
picture
slice
macroblock
circuit
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
Application number
JP30778595A
Other languages
Japanese (ja)
Other versions
JPH09200743A (en
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.)
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 JP30778595A priority Critical patent/JP3203172B2/en
Publication of JPH09200743A publication Critical patent/JPH09200743A/en
Application granted granted Critical
Publication of JP3203172B2 publication Critical patent/JP3203172B2/en
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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はMPEG(Moving
Picture Expert Group )ビデオデコーダに関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an MPEG (Moving)
Picture Expert Group) relates to a video decoder.

【0002】[0002]

【従来の技術】マルチメディアで扱われる情報は、膨大
な量で且つ多種多様であり、これらの情報を高速に処理
することがマルチメディアの実用化を図る上で必要とな
ってくる。情報を高速に処理するためには、データの圧
縮・伸長技術が不可欠となる。そのようなデータの圧縮
・伸長技術として「MPEG」方式が挙げられる。この
MPEG方式は、ISO(International Organization
for Standardization)/IEC(International Elec
trotechnical Commission )傘下のMPEG委員会(IS
O/IEC JTC1/SC29/WG11)によって標準化されつつある。
2. Description of the Related Art The information handled by multimedia is enormous and diverse, and it is necessary to process such information at high speed in order to put multimedia into practical use. In order to process information at high speed, data compression / decompression technology is indispensable. As such data compression / decompression technology, the “MPEG” method is exemplified. This MPEG system is based on the ISO (International Organization).
for Standardization) / IEC ( International Elec)
trotechnical Commission)
It is being standardized by O / 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)
では、オーディオデータの高能率符号化方式およびオー
ディオデータのフォーマットが規定される。
[0003] MPEG is composed of three parts. Part 1 “MPEG System Part” (ISO / IEC
IS 11172 Part1: Systems) defines a multiplex structure (multiplex structure) of video data and audio data and a synchronization method. Part 2 "MPE
In the "G video part" (ISO / IEC IS 11172 Part2: Video), a high-efficiency encoding method of video data and a format of the video data are specified. Part 3, "MPEG
Audio Part ”(ISO / IEC IS 11172 Part3: Audio)
Defines a high-efficiency encoding method of audio data and a format of audio data.

【0004】MPEGビデオパートで取り扱われるビデ
オデータは動画に関するものであり、その動画は1秒間
に数十枚(例えば、30枚)のフレーム(静止画、コ
マ)によって構成されている。図8に示すように、ビデ
オデータは、シーケンス(Sequence)、GOP(Group
Of Pictures )、ピクチャ(Picture )、スライス(Sl
ice )、マクロブロック(Macroblock)、ブロック(Bl
ock )の順に6層の階層構造から成る。1枚のピクチャ
を構成するスライスの個数は一定ではなく、1個のスラ
イスを構成するマクロブロックの個数も一定ではない。
尚、図8では、マクロブロック層およびブロック層につ
いては省略してある。
[0004] The video data handled by the MPEG video part relates to a moving image, and the moving image is composed of several tens (eg, 30) frames (still images, frames) per second. As shown in FIG. 8, video data includes a sequence (Sequence) and a GOP (Group).
Of Pictures), Pictures (Picture), Slices (Sl
ice), macroblock (Macroblock), block (Bl
ock) in the order of six layers. The number of slices constituting one picture is not constant, and the number of macroblocks constituting one slice is not constant.
In FIG. 8, the macro block layer and the block layer are omitted.

【0005】また、MPEGには主にエンコードレート
の違いにより、現在のところ、MPEG−1,MPEG
−2の2つの方式がある。MPEG−1においてフレー
ムはピクチャに対応している。MPEG−2において
は、フレームまたはフィールドをピクチャに対応させる
こともできる。フィールドは、2枚で1枚のフレームを
構成している。ピクチャにフレームが対応している構造
はフレーム構造と呼ばれ、ピクチャにフィールドが対応
している構造はフィールド構造と呼ばれる。
[0005] At present, MPEG-1 and MPEG-1 are mainly used due to differences in encoding rates.
-2. In MPEG-1, a frame corresponds to a picture. In MPEG-2, a frame or a field can correspond to a picture. Two fields constitute one frame. The structure in which a frame corresponds to a picture is called a frame structure, and the structure in which a field corresponds to a picture is called a field structure.

【0006】MPEGでは、フレーム間予測と呼ばれる
圧縮技術を用いる。フレーム間予測は、フレーム間のデ
ータを時間的な相関に基づいて圧縮する。フレーム間予
測では双方向予測が行われる。双方向予測とは、過去の
再生画像(または、ピクチャ)から現在の再生画像を予
測する順方向予測と、未来の再生画像から現在の再生画
像を予測する逆方向予測とを併用することである。
[0006] MPEG uses a compression technique called inter-frame prediction. Inter-frame prediction compresses data between frames based on temporal correlation. In the inter-frame prediction, bidirectional prediction is performed. The bidirectional prediction is to use both forward prediction for predicting a current reproduced image from a past reproduced image (or picture) and backward prediction for predicting a current reproduced image from a future reproduced image. .

【0007】この双方向予測は、Iピクチャ(Intra-Pi
cture ),Pピクチャ(Predictive-Picture),Bピク
チャ(Bidirectionally predictive-Picture)と呼ばれ
る3つのタイプのピクチャを規定している。
[0007] This bidirectional prediction is based on an I-picture (Intra-Pi
), a P picture (Predictive-Picture), and a B picture (Bidirectionally predictive-Picture).

【0008】Iピクチャは、過去や未来の再生画像とは
無関係に独立して生成される。ランダムアクセスを行う
ために、GOP内には最低1枚のIピクチャが必要であ
る。Iピクチャ内の全てのマクロブロック・タイプは、
フレーム内予測画面(IntraFrame )である。
An I picture is generated independently of a past or future reproduced image. In order to perform random access, at least one I picture is required in a GOP. All macroblock types in an I picture are
This is an intra-frame prediction screen (IntraFrame).

【0009】Pピクチャは順方向予測(過去のIピクチ
ャまたはPピクチャからの予測)により生成される。P
ピクチャ内のマクロブロック・タイプは、フレーム内予
測画面と順方向予測画面(Forward Inter Frame)の両
方を含む。
A P picture is generated by forward prediction (prediction from a past I picture or P picture). P
The macroblock type in the picture includes both an intra prediction picture and a forward prediction picture ( Forward Inter Frame).

【0010】Bピクチャは双方向予測により生成され
る。双方向予測においてBピクチャは、以下に示す3つ
の予測のうちいずれか1つにより生成される。順方向
予測;過去のIピクチャまたはPピクチャからの予測、
逆方向予測;未来のIピクチャまたはPピクチャから
の予測、双方向予測;過去および未来のIピクチャま
たはPピクチャからの予測。Bピクチャ内のマクロブロ
ック・タイプは、フレーム内予測画面、順方向予測画
面、逆方向予測画面(Backward Inter Frame)、内挿的
予測画面(Interpolative Inter Frame )の4つのタイ
プを含む。
A B picture is generated by bidirectional prediction. In bidirectional prediction, a B picture is generated by any one of the following three predictions. Forward prediction; prediction from past I or P pictures,
Backward prediction; prediction from future I or P pictures; bidirectional prediction; prediction from past and future I or P pictures. The macroblock types in the B picture include four types: an intra-frame prediction screen, a forward prediction screen, a backward prediction screen (Backward Inter Frame), and an interpolative prediction screen (Interpolative Inter Frame).

【0011】そして、これらI,P,Bピクチャがそれ
ぞれエンコードされる。つまり、Iピクチャは過去や未
来のピクチャが無くても生成される。これに対し、Pピ
クチャは過去のピクチャが無いと生成されず、Bピクチ
ャは過去または未来のピクチャが無いと生成されない。
但し、PピクチャやBピクチャでも、マクロブロック・
タイプが内挿的予測画面の場合、そのマクロブロックは
過去や未来のピクチャが無くても生成される。
Then, these I, P and B pictures are respectively encoded. That is, an I picture is generated even if there is no past or future picture. In contrast, a P picture is not generated without a past picture, and a B picture is not generated without a past or future picture.
However, even for P pictures and B pictures, macro blocks
When the type is an interpolative prediction screen, the macroblock is generated without any past or future picture.

【0012】フレーム間予測では、まず、Iピクチャが
周期的に生成される。次に、Iピクチャよりも数フレー
ム先のフレームがPピクチャとして生成される。このP
ピクチャは、過去から現在への一方向(順方向)の予測
により生成される。続いて、Iピクチャの前、Pピクチ
ャの後に位置するフレームがBピクチャとして生成され
る。このBピクチャを生成するとき、順方向予測,逆方
向予測,双方向予測の3つの中から最適な予測方法が選
択される。連続した動画では一般的に、現在の画像とそ
の前後の画像とは良く似ており、異なっているのは、そ
のごく一部分に過ぎない。そこで、前のフレーム(例え
ば、Iピクチャ)と次のフレーム(例えば、Pピクチ
ャ)とは同じであると仮定し、両フレーム間に変化があ
ればその差分(Bピクチャのデータ)のみを抽出して圧
縮する。これにより、フレーム間のデータを時間的な相
関に基づいて圧縮することができる。
In the inter-frame prediction, first, an I picture is periodically generated. Next, a frame several frames ahead of the I picture is generated as a P picture. This P
The picture is generated by one-way (forward) prediction from the past to the present. Subsequently, a frame located before the I picture and after the P picture is generated as a B picture. When generating this B picture, an optimal prediction method is selected from three of forward prediction, backward prediction and bidirectional prediction. In a continuous moving image, the current image and the images before and after it are generally very similar, and only a part of the image is different. Therefore, it is assumed that the previous frame (for example, I picture) and the next frame (for example, P picture) are the same, and if there is a change between both frames, only the difference (B picture data) is extracted. Compress. Thus, data between frames can be compressed based on temporal correlation.

【0013】このようにMPEGビデオパートに準拠し
てエンコードされたビデオデータのデータ列(ビットス
トリーム)は、MPEGビデオストリーム(以下、ビデ
オストリームと略す)と呼ばれる。
The data sequence (bit stream) of video data encoded in conformity with the MPEG video part is called an MPEG video stream (hereinafter, abbreviated as video stream).

【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)などの放送メディ
アをも含む伝達メディア全般に対応している。
By the way, MPEG-1 mainly uses video C
D (Compact Disc) and CD-ROM (CD-Read Only Mem)
ory). MPEG-
2 is a video CD, CD-ROM, DVD (Digital Vi
deo Disk), VTR (VideoTape Recorder ) and other storage media, as well as communication media such as LAN (Local Area Network), terrestrial broadcasting, satellite broadcasting and CAT
It supports all transmission media including broadcast media such as V (Community Antenna Television).

【0015】MPEGビデオパートで用いられる技術の
核となるのが、動き補償付予測(MC;Motion Compens
ated prediction )と離散コサイン変換(DCT;Disc
reteCosine Transform )である。MCとDCTを併用
した符号化技術は、ハイブリッド符号化技術と呼ばれ
る。MPEGビデオパートでは、エンコード時にDCT
(別名FDCT;Forward DCT)を用い、画像(ビデ
オ信号)を周波数成分に分解して処理する。そして、デ
コード時にDCTの逆変換(離散コサイン逆変換;ID
CT;Inverse DCT)を用い、周波数成分を再び画像
(ビデオ信号)に戻す。
The core of the technology used in the MPEG video part is motion-compensated prediction (MC).
ated prediction) and discrete cosine transform (DCT; Disc)
reteCosine Transform). An encoding technique using both MC and DCT is called a hybrid encoding technique. In the MPEG video part, when encoding, DCT
The image (video signal) is decomposed into frequency components and processed using FDCT (also known as Forward DCT). Then, at the time of decoding, the inverse transform of DCT (inverse discrete cosine transform; ID
Using CT (Inverse DCT), the frequency component is returned to an image (video signal) again.

【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,
111、制御コア回路112、ハフマンエラー検出回路
113から構成されている。尚、各回路104〜113
は1チップのLSIに搭載されている。
FIG. 9 shows a conventional MPEG video decoder 1.
1 shows a block circuit No. 01. MPEG video decoder 1
01 is the bit buffer 102, the frame buffer 10
3. Picture header detection circuit 104, slice header detection circuit 105, variable length decoder 106, inverse quantization circuit 1
07, IDCT (Inverse Discrete Cosine Transform
) Circuit 108, MC (Motion Compensated prediction)
) Circuit 109, ROM (Read Only Memory) 110,
111, a control core circuit 112, and a Huffman error detection circuit 113. Each of the circuits 104 to 113
Are mounted on a one-chip LSI.

【0017】制御コア回路112は各回路102〜11
1,113を制御する。伝達メディア120から転送さ
れてきたビデオストリームは、ビットバッファ102へ
入力される。尚、伝達メディア120には、蓄積メディ
ア(ビデオCD,CD−ROM,DVD,VTRな
ど)、通信メディア(LANなど)、放送メディア(地
上波放送,衛星放送,CATVなど)などが含まれる。
The control core circuit 112 includes each of the circuits 102 to 11
1 and 113 are controlled. The video stream transferred from the transmission medium 120 is input to the bit buffer 102. The transmission media 120 includes storage media (video CD, CD-ROM, DVD, VTR, etc.), communication media (LAN, etc.), broadcast media (terrestrial broadcast, satellite broadcast, CATV, etc.).

【0018】ビットバッファ102はFIFO(First-
In-First-Out)構成のRAM(Random Access Memory)
から成るリングバッファによって構成され、伝達メディ
ア120から転送されてくるビデオストリームを順次蓄
積する。
The bit buffer 102 has a FIFO (First-
In-First-Out (RAM) Random Access Memory (RAM)
, And sequentially accumulates video streams transferred from the transmission medium 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の各ピクチャのデータ量の相違を吸収しているわ
けである。
The reason why the bit buffer 102 is provided is that the data amounts of the I, P, and B pictures are different. The data amount of the I picture is about 30 kbytes,
The data amount of the P picture is about 10 to 15 kbytes, and the data amount of the B picture is 0 to about 6 kbytes. On the other hand, the bit rate of the video stream transferred from the transmission medium 120 is constant. As described later, each of the circuits 106 to 109 performs processing for each picture, and the processing time varies depending on the data amount of each picture. Therefore, when the video stream transferred from the transmission medium 120 is directly transferred to each of the circuits 106 to 109, a picture that cannot be processed by each of the circuits 106 to 109 appears. In order to prevent this, by providing a bit buffer 102 as a buffer memory for a video stream transferred from the transmission medium 120, I,
That is, the difference in data amount between the P and B pictures is absorbed.

【0020】ピクチャヘッダ検出回路104は、ビット
バッファ102に蓄積されたビデオストリームの各ピク
チャの先頭に付くピクチャヘッダを検出し、その各ピク
チャヘッダに規定されているピクチャのタイプ(I,
P,B)を検出する。
The picture header detection circuit 104 detects a picture header at the head of each picture of the video stream stored in the bit buffer 102, and determines the picture type (I,
P, B) are detected.

【0021】スライスヘッダ検出回路105は、ビット
バッファ102に蓄積されたビデオストリームの各スラ
イスの先頭に付くスライスヘッダを検出する。制御コア
回路112は、ピクチャヘッダ検出回路104の検出結
果に基づいて、ビットバッファ102から1フレーム期
間毎に1枚のピクチャ分ずつのビデオストリームを読み
出す。
The slice header detection circuit 105 detects a slice header at the head of each slice of the video stream stored in the bit buffer 102. The control core circuit 112 reads a video stream for one picture every one frame period from the bit buffer 102 based on the detection result of the picture header detection circuit 104.

【0022】可変長デコーダ106は、ビットバッファ
102から読み出されたピクチャに対して、ROM11
0に記憶されたハフマンテーブルに格納されているハフ
マンコードに基づいた可変長デコードを行う。
The variable length decoder 106 stores the picture read from the bit buffer 102 into the ROM 11
Variable length decoding is performed based on the Huffman code stored in the Huffman table stored in 0.

【0023】逆量子化回路107は、可変長デコーダ1
06のデコード結果に対して、ROM111に記憶され
た量子化テーブルに格納されている量子化閾値に基づい
た逆量子化を行いDCT(Discrete Cosine Transform
)係数を求める。
The inverse quantization circuit 107 is a variable length decoder 1
06 is subjected to inverse quantization based on the quantization threshold stored in the quantization table stored in the ROM 111, and DCT (Discrete Cosine Transform) is performed on the decoding result.
) Find the coefficient.

【0024】IDCT回路108は、逆量子化回路10
7が求めたDCT係数に対してIDCTを行う。MC回
路109は、IDCT回路108の処理結果に対してM
C(Motion Compensated prediction )を行う。
The IDCT circuit 108 includes the inverse quantization circuit 10
7 performs the IDCT on the DCT coefficient obtained. The MC circuit 109 performs M processing on the processing result of the IDCT circuit 108.
Perform C (Motion Compensated prediction).

【0025】MC回路109の処理結果は、フレームバ
ッファ103の各領域103a〜103cへ転送され
る。また、フレームバッファ103の各領域103a〜
103cから読み出されたデータはMC回路109へ転
送される。
The processing result of the MC circuit 109 is transferred to each area 103a to 103c of the frame buffer 103. In addition, each area 103a to
The data read from 103c is transferred to the MC circuit 109.

【0026】フレームバッファ103はRAMから成
り、その内部は3つの領域(前方参照領域103a、後
方参照領域103b、Bピクチャ格納領域103c)に
分けられている。前方参照領域103aには、MC回路
109において逆方向予測を行う際に用いられる未来の
IピクチャまたはPピクチャが格納される。後方参照領
域103bには、MC回路109において順方向予測を
行う際に用いられる過去のIピクチャまたはPピクチャ
が格納される。Bピクチャ格納領域103cにはBピク
チャが格納される。
The frame buffer 103 is composed of a RAM, and its inside is divided into three areas (a forward reference area 103a, a backward reference area 103b, and a B picture storage area 103c). The forward reference area 103a stores a future I picture or P picture used when the MC circuit 109 performs backward prediction. The backward reference area 103b stores a past I picture or P picture used when the MC circuit 109 performs forward prediction. B pictures are stored in the B picture storage area 103c.

【0027】前方参照領域103aおよび後方参照領域
103bに格納されるIピクチャまたはPピクチャは、
順方向予測または逆方向予測を行うための基データとし
て使われるため、必要がなくなるまで、各領域103
a,103bに格納し続けなければならない。Bピクチ
ャ格納領域103cに格納されるBピクチャについては
基データとして扱われないため、ディスプレイ121へ
出力されたら不要になる。尚、各領域103a〜103
cはプレーンと呼ばれる。
The I picture or P picture stored in the forward reference area 103a and the backward reference area 103b is
Each region 103 is used as base data for performing forward prediction or backward prediction until it is no longer necessary.
a, 103b. Since the B picture stored in the B picture storage area 103c is not treated as the base data, it becomes unnecessary when output to the display 121. In addition, each area | region 103a-103
c is called a plane.

【0028】そして、各領域103a〜103cのいず
れか1つに格納されたピクチャのデータ(ビデオ信号)
が、MC回路109を介して、MPEGビデオデコーダ
101の外部に設けられたディスプレイ121へ出力さ
れる。
The picture data (video signal) stored in any one of the areas 103a to 103c
Is output to the display 121 provided outside the MPEG video decoder 101 via the MC circuit 109.

【0029】例えば、図10(a)に示すように原画像
の各ピクチャの順番が構成されている場合、MPEGビ
デオエンコーダでは図10(b)に示すように各ピクチ
ャの順番が並べ替えられる。図10(c)に示すよう
に、伝達メディア120では、MPEGビデオエンコー
ダで並べ替えられた順番のままで各ピクチャが転送され
る。そして、図10(d)(e)に示すように、MPE
Gビデオデコーダ101では、ディスプレイ121の再
生画像の各ピクチャの順番が原画像のそれと同じになる
ように、各ピクチャの順番が並べ替えられる。
For example, when the order of each picture of the original image is configured as shown in FIG. 10A, the order of each picture is rearranged in the MPEG video encoder as shown in FIG. 10B. As shown in FIG. 10C, in the transmission medium 120, each picture is transferred in the order rearranged by the MPEG video encoder. Then, as shown in FIGS.
In the G video decoder 101, the order of the pictures is rearranged so that the order of the pictures in the reproduced image on the display 121 is the same as that of the original image.

【0030】フレームバッファ103は、このMPEG
ビデオデコーダ101における各ピクチャの順番の並べ
替えを行うために設けられている。すなわち、各回路1
06〜109でBピクチャB3を処理し、その処理結果
をBピクチャ格納領域103cへ転送しているとき、デ
ィスプレイ121へは後方参照領域103bに既に格納
されているIピクチャI2が出力される。
The frame buffer 103 stores the MPEG
It is provided to rearrange the order of each picture in the video decoder 101. That is, each circuit 1
When the B picture B3 is processed at 06 to 109 and the processing result is transferred to the B picture storage area 103c, the I picture I2 already stored in the backward reference area 103b is output to the display 121.

【0031】また、各回路106〜109でBピクチャ
B4を処理し、その処理結果をBピクチャ格納領域10
3cへ転送しているとき、ディスプレイ121へはBピ
クチャ格納領域103cに既に格納されているBピクチ
ャB3が出力される。その結果、各回路106〜109
でBピクチャB4を処理しているときには、Bピクチャ
格納領域103cに既に格納されているBピクチャB3
に対して、新たに処理されたBピクチャB4のデータが
上書きされる。
Each of the circuits 106 to 109 processes the B picture B4, and stores the processing result in the B picture storage area 10.
During the transfer to 3c, the B picture B3 already stored in the B picture storage area 103c is output to the display 121. As a result, each of the circuits 106 to 109
Is processing the B picture B4, the B picture B3 already stored in the B picture storage area 103c is processed.
, The data of the newly processed B picture B4 is overwritten.

【0032】また、各回路106〜109でPピクチャ
P8を処理し、その処理結果を後方参照領域103bへ
転送しているとき、ディスプレイ121へはBピクチャ
格納領域103cに既に格納されているBピクチャB4
が出力される。
When the P-picture P8 is processed by each of the circuits 106 to 109 and the processing result is transferred to the backward reference area 103b, the B-picture already stored in the B-picture storage area 103c is displayed on the display 121. B4
Is output.

【0033】尚、フレームバッファ103とビットバッ
ファ102とは、部品点数を少なくしてMPEGビデオ
デコーダ101の部品コストを減少させるため、1つの
RAM内に領域を分けて設けられている。
The frame buffer 103 and the bit buffer 102 are provided separately in one RAM in order to reduce the number of components and reduce the component cost of the MPEG video decoder 101.

【0034】ハフマンエラー検出回路113は、可変長
デコーダ106におけるデコード処理を監視すること
で、スライス毎にエラー検出を行う。すなわち、ハフマ
ンエラー検出回路113は、スライスに対応するデータ
がハフマンテーブルに格納されていない場合や、スライ
スに対応するデータが過去のデコード結果と矛盾する場
合、そのスライス内にエラーが含まれていると判定す
る。
The Huffman error detection circuit 113 detects an error for each slice by monitoring the decoding process in the variable length decoder 106. That is, the Huffman error detection circuit 113 includes an error in the slice when the data corresponding to the slice is not stored in the Huffman table or when the data corresponding to the slice is inconsistent with the past decoding result. Is determined.

【0035】制御コア回路112は、ハフマンエラー検
出回路16によってスライス内にエラーが含まれている
と判定された場合、以下のエラー処理を行う。ここで
は、図8に示すスライスS1内にエラーが含まれている
場合を例にとって説明する。尚、スライスS1はn個の
マクロブロックMB1〜MBnによって構成されている
ものとする。
When the Huffman error detection circuit 16 determines that an error is included in the slice, the control core circuit 112 performs the following error processing. Here, a case where an error is included in the slice S1 shown in FIG. 8 will be described as an example. It is assumed that the slice S1 is composed of n macroblocks MB1 to MBn.

【0036】(1) エラーが含まれていると判定されたス
ライスS1に対する可変長デコーダ106のデコード処
理を停止させ、そのスライスS1のデコード処理結果を
無効にさせる。
(1) The decoding process of the variable length decoder 106 for the slice S1 determined to contain the error is stopped, and the decoding process result of the slice S1 is invalidated.

【0037】(2) スライスヘッダ検出回路105の検出
結果に基づいて、ビットバッファ102からスライスS
1の次のスライスS2を読み出す。そして、可変長デコ
ーダ106にスライスS2の可変長デコードを行わせ
る。
(2) On the basis of the detection result of the slice header detection circuit 105, the slice buffer S
The slice S2 next to 1 is read. Then, the variable-length decoder 106 performs variable-length decoding of the slice S2.

【0038】(3) MC回路109およびフレームバッフ
ァ103を制御して、フレームバッファ103に格納さ
れるスライスS1を、そのスライスS1が含まれている
ピクチャの1つ前にディスプレイ121へ出力されるピ
クチャの対応するマクロブロックMB1′〜MBn′に
よって置き代える。この動作を、図10(d)(e)に
示すように各ピクチャの順番が構成されている場合を例
にとって説明する。
(3) The MC circuit 109 and the frame buffer 103 are controlled so that the slice S1 stored in the frame buffer 103 is output to the display 121 immediately before the picture containing the slice S1. Are replaced by the corresponding macro blocks MB1 'to MBn'. This operation will be described by taking as an example a case where the order of each picture is configured as shown in FIGS.

【0039】(3)-[1] スライスS1を含むピクチャがB
ピクチャB3の場合;BピクチャB3の1つ前にディス
プレイ121へ出力されるピクチャはIピクチャI2で
ある。BピクチャB3をBピクチャ格納領域103cへ
転送しているとき、IピクチャI2は既に後方参照領域
103bに格納されている。
(3)-[1] The picture including slice S1 is B
In the case of the picture B3; the picture output to the display 121 immediately before the B picture B3 is the I picture I2. When the B picture B3 is being transferred to the B picture storage area 103c, the I picture I2 has already been stored in the backward reference area 103b.

【0040】図11に示すように、BピクチャB3のス
ライスS1に対応するIピクチャI2のマクロブロック
MB1′〜MBn′を後方参照領域103bから読み出
す。そして、IピクチャI2のマクロブロックMB1′
〜MBn′をBピクチャ格納領域103cに書き込むこ
とで、BピクチャB3のスライスS1をIピクチャI2
のマクロブロックMB1′〜MBn′に置き代える。
As shown in FIG. 11, macroblocks MB1 'to MBn' of I picture I2 corresponding to slice S1 of B picture B3 are read from backward reference area 103b. Then, the macroblock MB1 'of the I picture I2
.. MBn 'in the B picture storage area 103c, thereby changing the slice S1 of the B picture B3 to the I picture I2.
Macro blocks MB1 'to MBn'.

【0041】(3)-[2] スライスS1を含むピクチャがB
ピクチャB4の場合;BピクチャB4の1つ前にディス
プレイ121へ出力されるピクチャはBピクチャB3で
ある。BピクチャB3をBピクチャ格納領域103cへ
転送しているとき、BピクチャB3は既にBピクチャ格
納領域103cに格納されている。
(3)-[2] The picture including slice S1 is B
In the case of the picture B4; the picture output to the display 121 immediately before the B picture B4 is the B picture B3. When transferring the B picture B3 to the B picture storage area 103c, the B picture B3 is already stored in the B picture storage area 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′に置き代えられる。
As shown in FIG. 12, in the B picture storage area 103c, the macro blocks MB1 'to MB of the B picture B3 corresponding to the slice S1 of the B picture B4.
n 'is not overwritten with the data of B picture B4,
The macro blocks MB1 'to MBn' of the B picture B3 are left as they are. As a result, slice S of B picture B4
1 is the macroblock MB1 'to MB of the B picture B3
n '.

【0043】(3)-[3] スライスS1を含むピクチャがP
ピクチャP5の場合;PピクチャP5の1つ前にディス
プレイ121へ出力されるピクチャはBピクチャB4で
ある。PピクチャP5は前方参照領域103aに格納さ
れ、BピクチャB4はBピクチャ格納領域103cに格
納されている。
(3)-[3] If the picture including slice S1 is P
In the case of the picture P5; the picture output to the display 121 immediately before the P picture P5 is the B picture B4. The P picture P5 is stored in the forward reference area 103a, and the B picture B4 is stored in the B picture storage area 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′に置き代える。
As shown in FIG. 13, macroblocks MB1 'to MBn' of B picture B4 corresponding to slice S1 of P picture B5 are read from B picture storage area 103c. Then, the macroblock M of the B picture B4
By writing B1 'to MBn' in the forward reference area 103a, the slice S1 of the P picture P5 is
Macro blocks MB1 'to MBn'.

【0045】図14に、MC回路109の内部構成を示
す。MC回路109は、逆方向予測メモリ131、順方
向予測メモリ132、平均回路133、加算回路13
4、スイッチSW1〜SW6から構成されている。
FIG. 14 shows the internal configuration of the MC circuit 109. The MC circuit 109 includes a backward prediction memory 131, a forward prediction memory 132, an averaging circuit 133, and an addition circuit 13.
4. It is composed of switches SW1 to SW6.

【0046】スイッチSW6は2つの接点a,bをも
ち、接点aはIDCT回路108の出力に接続され、接
点bはアースされ、各接点a,bのいずれか一方が加算
回路134の入力に接続される。
The switch SW6 has two contacts a and b. The contact a is connected to the output of the IDCT circuit 108, the contact b is grounded, and one of the contacts a and b is connected to the input of the adding circuit 134. Is done.

【0047】スイッチSW1は4つの接点a〜dをも
ち、接点aは逆方向予測メモリ131の出力に接続さ
れ、接点bは平均回路133の出力に接続され、接点c
は順方向予測メモリ132の出力に接続され、接点dは
アースされ、各接点a〜dのいずれか1つが加算回路1
34の入力に接続される。
The switch SW1 has four contacts a to d. The contact a is connected to the output of the backward prediction memory 131, the contact b is connected to the output of the averaging circuit 133, and the contact c
Is connected to the output of the forward prediction memory 132, the contact d is grounded, and one of the contacts a to d is connected to the addition circuit 1
34 inputs.

【0048】スイッチSW2は2つの接点a,bをも
ち、接点aは逆方向予測メモリ131の入力に接続さ
れ、接点bは順方向予測メモリ132の入力に接続さ
れ、各接点a,bのいずれか一方がスイッチSW3に接
続される。
The switch SW2 has two contacts a and b. The contact a is connected to the input of the backward prediction memory 131, and the contact b is connected to the input of the forward prediction memory 132. One of them is connected to the switch 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に接続される。
The switch SW3 has three contacts a to c, and the contact a is a forward reference area 1 of the frame buffer 103.
The switch b is connected to the output of the switch SW5, the contact b is connected to the output of the rear reference area 103b of the frame buffer 103, and the switch S is connected to the output of the switch SW5.
W5 is connected to the contact b, and the contact c is connected to the frame buffer 1
03 and connected to the contact c of the switch SW5.

【0050】スイッチSW5は3つの接点a〜cをも
ち、各接点a〜cのいずれか1つがディスプレイ121
に接続される。スイッチSW4は3つの接点a〜cをも
ち、接点aは前方参照領域103aの入力に接続され、
接点bは後方参照領域103bの入力に接続され、接点
cはBピクチャ格納領域103cの入力に接続され、各
接点a〜dのいずれか1つが加算回路134の出力に接
続される。
The switch SW5 has three contacts a to c, and one of the contacts a to c is connected to the display 121.
Connected to. The switch SW4 has three contacts a to c, and the contact a is connected to the input of the front reference area 103a,
The contact b is connected to the input of the rear reference area 103b, the contact c is connected to the input of the B picture storage area 103c, and one of the contacts a to d is connected to the output of the adding circuit 134.

【0051】逆方向予測メモリ131および順方向予測
メモリ132はそれぞれ、1個のマクロブロック分のデ
ータを格納する。平均回路133は、逆方向予測メモリ
131および順方向予測メモリ132から読み出された
データを平均化する。
Each of the backward prediction memory 131 and the forward prediction memory 132 stores data for one macroblock. The averaging circuit 133 averages the data read from the backward prediction memory 131 and the forward prediction memory 132.

【0052】このように構成されたMC回路109は以
下の動作を行う。 ハフマンエラー検出回路113がエラーを検出しない
場合(通常動作);スイッチSW6を接点aに接続す
る。
The MC circuit 109 configured as described above performs the following operation. When the Huffman error detection circuit 113 does not detect an error (normal operation); the switch SW6 is connected to the contact 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へ転送される。
[1] When an I-picture is output from the IDCT circuit 108: The switch SW1 is connected to the contact d, and the switch SW4 is connected to the contact a or the contact b.
The switch SW5 is connected to contacts a to c different from the contacts to which the switch SW4 is connected. For example, when the switch SW4 is connected to the contact a, the switch SW5
Is connected to the contact b or the contact c. Switch SW2, S
W3 may be connected to any contact. As a result, the output of the adder circuit 134 becomes the same as the output of the IDCT circuit 108. The output of the addition circuit 134 is supplied to the forward reference area 103a or the backward reference area 103 via the switch SW4.
b.

【0054】−[2] IDCT回路108からPピクチ
ャが出力された場合;スイッチSW1をマクロブロック
・タイプに対応した接点c,dに接続する。 −[2]-<1> マクロブロック・タイプがフレーム内予測
画面の場合;上記−[1] と同じである。
-[2] When a P-picture is output from the IDCT circuit 108: The switch SW1 is connected to the contacts c and d corresponding to the macroblock type. -[2]-<1> When the macroblock type is the intra-frame prediction screen; same as-[1] above.

【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へ転送される。
-[2]-<2> When the macroblock type is the forward prediction screen; data of one macroblock read from the rear reference area 103b by connecting the switches SW2 and SW3 to the contact b, respectively. Is stored in the forward prediction memory 132. Then, switch SW1 is connected to contact c.
And the switch SW4 is connected to the contact a or the contact b. The switch SW5 is connected to contacts a to c different from the contacts to which the switch SW4 is connected. as a result,
The adder circuit 134 stores the macroblock data read from the forward prediction memory 132 and the IDCT circuit 108
And the output of. The output of the adding circuit 134 is transferred to the forward reference area 103a or the backward reference area 103b via the switch SW4.

【0056】−[3] IDCT回路108からBピクチ
ャが出力された場合;スイッチSW1をマクロブロック
・タイプに対応した接点a〜dに接続し、スイッチSW
4,SW5をそれぞれ接点cに接続する。その結果、加
算回路134の出力は、スイッチSW4を介して、Bピ
クチャ格納領域103cへ転送される。
-[3] When a B picture is output from the IDCT circuit 108; the switch SW1 is connected to the contacts a to d corresponding to the macro block type, and the switch SW
4 and SW5 are respectively connected to the contact c. As a result, the output of the adding circuit 134 is transferred to the B picture storage area 103c via the switch SW4.

【0057】−[3]-<1> マクロブロック・タイプがフ
レーム内予測画面の場合;スイッチSW1を接点dに接
続する。スイッチSW2,SW3はどの接点に接続して
もよい。その結果、加算回路134の出力はIDCT回
路108の出力と同じになる。
-[3]-<1> When the macroblock type is the intra-frame prediction screen; connect the switch SW1 to the contact point d. The switches SW2 and SW3 may be connected to any contact. As a result, the output of the adder circuit 134 becomes the same as the output of the IDCT circuit 108.

【0058】−[3]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域103bから読み出し
た1個のマクロブロック分のデータを、順方向予測メモ
リ132に格納する。そして、スイッチSW1を接点c
に接続する。その結果、加算回路134は、順方向予測
メモリ132から読み出されたマクロブロックのデータ
と、IDCT回路108の出力とを加算する。
-[3]-<2> When the macroblock type is the forward prediction screen; data of one macroblock read from the rear reference area 103b by connecting the switches SW2 and SW3 to the contact b, respectively. Is stored in the forward prediction memory 132. Then, switch SW1 is connected to contact c.
Connect to As a result, the adding circuit 134 adds the macroblock data read from the forward prediction memory 132 and the output of the IDCT circuit 108.

【0059】−[3]-<3> マクロブロック・タイプが逆
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点aに接続し、前方参照領域103aから読み出し
た1個のマクロブロック分のデータを、逆方向予測メモ
リ131に格納する。そして、スイッチSW1を接点a
に接続する。その結果、加算回路134は、逆方向予測
メモリ131から読み出されたマクロブロックのデータ
と、IDCT回路108の出力とを加算する。
-[3]-<3> When the macroblock type is the backward prediction screen; data of one macroblock read from the forward reference area 103a by connecting the switches SW2 and SW3 to the contact a, respectively. Is stored in the backward prediction memory 131. Then, switch SW1 is connected to contact a
Connect to As a result, the addition circuit 134 adds the macroblock data read from the backward prediction memory 131 and the output of the IDCT circuit 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の
出力とを加算する。
-[3]-<4> When the macroblock type is an interpolation prediction screen; first, the switches SW2 and SW3 are respectively connected to the contact b, and one macroblock read from the rear reference area 103b The data for the minute is stored in the forward prediction memory 132. Next, the switches SW2 and S
W3 are respectively connected to the contacts a, and the front reference area 103a
Are stored in the backward prediction memory 131. The averaging circuit 133 is
Reverse prediction memory 131 and forward prediction memory 132
Averaging the data read from. Then, the switch SW1 is connected to the contact b. As a result, the addition circuit 13
4 adds the output of the averaging circuit 133 and the output of the IDCT circuit 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
へ転送される。
When the Huffman error detection circuit 113 detects an error (error processing operation): the switch SW6 is connected to the contact b, and the switch SW2 is connected to the contact a.
The switch SW4 is set to the contacts a to c corresponding to the areas 103a to 103c in which the picture containing the error is stored.
Connect to The switch SW3 is connected to the contacts a to c corresponding to the areas 103a to 103c in which the picture to be output to the display 121 immediately before the picture containing the error is stored. Then, each area 103a-
One macroblock of data read from any one of the memories 103c is stored in the backward prediction memory 131 via the switches SW2 and SW3. Subsequently, the switch SW1 is connected to the contact a. As a result, the addition circuit 1
The output of 34 becomes the same as the macroblock data read from the backward prediction memory 131. The addition circuit 1
The output of the switch 34 is transmitted through the switch SW4 to the areas 103a to 103c in which the picture containing the error is stored.
Transferred to

【0062】以上のエラー処理動作を、エラーが含まれ
ていると判定されたスライス(前記スライスS1)が、
そのスライスが含まれているピクチャの1つ前にディス
プレイ121へ出力されるピクチャの対応するマクロブ
ロック(前記マクロブロックMB1′〜MBn′)によ
って置き代えられるまで、マクロブロック毎に繰り返し
行う。
The above error processing operation is performed by the slice (the slice S1) determined to contain an error.
The process is repeated for each macro block until the corresponding macro block (the macro blocks MB1 'to MBn') of the picture output to the display 121 immediately before the picture containing the slice is replaced.

【0063】上記のエラー処理動作を、図8に示すスラ
イスS1内にエラーが含まれていると判定され、図10
(d)(e)に示すように各ピクチャの順番が構成され
ている場合を例にとって説明する。
In the above error processing operation, it is determined that an error is included in the slice S1 shown in FIG.
(D) An example in which the order of each picture is configured as shown in (e) will be described.

【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′に置き代える。 −[2] スライスS1を含むピクチャがBピクチャB4
の場合(図12参照);スイッチSW4を、Bピクチャ
B4が格納されるBピクチャ格納領域103cに対応す
る接点cに接続する。スイッチSW3を、BピクチャB
3が格納されるBピクチャ格納領域103cに対応する
接点cに接続する。そして、Bピクチャ格納領域103
cから読み出したマクロブロックMB1′のデータを、
スイッチSW2,SW3を介して、逆方向予測メモリ1
31に格納する。続いて、逆方向予測メモリ131から
読み出したマクロブロックMB1′のデータだけを、加
算回路134を介してBピクチャ格納領域103cへ転
送する。つまり、マクロブロックMB1′に対してはB
ピクチャB4のデータが上書きされず、マクロブロック
MB1′はそのまま残ることになる。このエラー処理動
作を、各マクロブロックMB2′〜MBn′について繰
り返し行い、BピクチャB4のスライスS1をBピクチ
ャB3のマクロブロックMB1′〜MBn′に置き代え
る。
-[1] The picture including the slice S1 is B
In the case of picture B3 (see FIG. 11); switch SW4
In the B picture storage area 1 where the B picture B3 is stored.
03c is connected to the contact c. Switch SW3
To the backward reference area 103b in which the I picture I2 is stored.
To the contact b corresponding to. Then, the rear reference area 1
The data of the macro block MB1 'read from the memory 03b is stored in the backward prediction memory 131 via the switches SW2 and SW3. Subsequently, the backward prediction memory 131
Only the data of the macro block MB1 ′ read from the B picture storage area 103 via the addition circuit 134
c. This error processing operation is repeated for each of the macroblocks MB2 'to MBn', and the slice S1 of the B picture B3 is replaced with the macroblocks MB1 'to MBn' of the I picture I2. -[2] The picture including slice S1 is B picture B4
(See FIG. 12); the switch SW4 is connected to the contact point c corresponding to the B picture storage area 103c in which the B picture B4 is stored. Set switch SW3 to B picture B
3 is connected to the contact point c corresponding to the B picture storage area 103c where 3 is stored. Then, the B picture storage area 103
The data of the macro block MB1 ′ read from c.
Reverse prediction memory 1 via switches SW2 and SW3
31. Subsequently, only the data of the macroblock MB1 ′ read from the backward prediction memory 131 is transferred to the B picture storage area 103c via the addition circuit 134. That is, for the macroblock MB1 ', B
The data of the picture B4 is not overwritten, and the macro block MB1 'remains as it is. This error processing operation is repeated for each of the macroblocks MB2 'to MBn', and the slice S1 of the B picture B4 is replaced with the macroblocks MB1 'to MBn' of the B picture B3.

【0065】−[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′に置き代える。
[3] If the picture including slice S1 is P
In the case of picture P5 (see FIG. 13); switch SW4
To the forward reference area 103a in which the P picture B5 is stored.
Is connected to the contact a corresponding to. The switch SW3 is connected to the contact point c corresponding to the B picture storage area 103c where the B picture B4 is stored. Then, the data of the macro block MB1 ′ read from the B picture storage area 103c is stored in the backward prediction memory 131 via the switches SW2 and SW3. Subsequently, the backward prediction memory 1
Only the data of the macro block MB1 'read from the block 31 is transferred to the forward reference area 103a via the adding circuit 134. This error processing operation is performed in each macro block M
B2 'to MBn' are repeated, and the P picture P
5 slices S1 to macroblock M of B picture B4
B1 'to MBn'.

【0066】このように、従来のMPEGビデオデコー
ダ101では、ハフマンエラー検出回路113によって
スライス毎にエラー検出を行う。そして、スライスS1
内にエラーが含まれている場合には、前記したエラー処
理((1) 〜(3) )を行う。
As described above, in the conventional MPEG video decoder 101, the Huffman error detection circuit 113 detects an error for each slice. And slice S1
If an error is included, the above-described error processing ((1) to (3)) is performed.

【0067】[0067]

【発明が解決しようとする課題】近年、MPEGビデオ
デコーダに対して、エラー検出およびエラー処理の精度
を高めてエラー耐性の強化を図ることが要求されてい
る。
In recent years, there has been a demand for an MPEG video decoder to enhance the accuracy of error detection and error processing to enhance error resistance.

【0068】本発明は上記要求を満足するためになされ
たものであって、その目的は、エラー耐性の強化を図る
ことが可能なMPEGビデオデコーダを提供することに
ある。
The present invention has been made to satisfy the above-mentioned requirements, and an object of the present invention is to provide an MPEG video decoder capable of enhancing error resistance.

【0069】[0069]

【課題を解決するための手段】請求項1のMPEGビデ
オデコーダは、MPEGビデオストリームに含まれるエ
ラーを検出するエラー検出手段と、エラー検出手段の検
出結果に従い、エラーが含まれるデータを、エラーが含
まれているBピクチャの1つ前にディスプレイへ出力さ
れるピクチャの対応するデータに置き代えることでエラ
ーを隠すエラー処理手段とを備え、前記エラー検出手段
は、マクロブロック毎に動きベクトルの復元を行う際
に、動きベクトルを監視することでマクロブロック毎に
エラー検出を行うことをその要旨とする。請求項2のM
PEGビデオデコーダは、MPEGビデオストリームに
含まれるエラーを、スライス毎またはマクロブロック毎
に検出するエラー検出手段と、エラー検出手段の検出結
果に従い、エラーが含まれるスライスまたはマクロブロ
ックを、エラーが含まれているBピクチャの1つ前にデ
ィスプレイへ出力されるピクチャの対応するスライスま
たはマクロブロックに置き代えることでエラーを隠すエ
ラー処理手段とを備え、前記エラー検出手段は、マクロ
ブロック毎に動きベクトルの復元を行う際に、動きベク
トルを監視することでマクロブロック毎にエラー検出を
行うことをその要旨とする。請求項3のMPEGビデオ
デコーダは、MPEGビデオストリームに含まれるエラ
ーを、スライス毎またはマクロブロック毎に検出するエ
ラー検出手段と、エラー検出手段が、あるスライス内に
エラーが含まれていると検出した場合には、そのエラー
が含まれるスライスを、そのスライスが含まれているB
ピクチャの1つ前にディスプレイへ出力されるピクチャ
の対応するスライスに置き代え、エラー検出手段が、あ
るスライス(S1)内のあるマクロブロック(MBm)
内にエラーが含まれていると検出した場合には、そのス
ライス(S1)内のマクロブロック(MBm)以降の全
てのマクロブロック(MBm〜MBn)を、そのスライ
ス(S1)が含まれているBピクチャの1つ前にディス
プレイへ出力されるピクチャの対応するマクロブロック
(MBm′〜MBn′)に置き代えることでエラーを隠
すエラー処理手段とを備え、前記エラー検出手段は、マ
クロブロック毎に動きベクトルの復元を行う際に、動き
ベクトルを監視することでマクロブロック毎にエラー検
出を行うことをその要旨とする。請求項4のMPEGビ
デオデコーダは、MPEGビデオストリームの各スライ
スの先頭に付くスライスヘッダを検出するスライスヘッ
ダ検出回路と、MPEGビデオストリームに対してハフ
マンテーブルに格納されているハフマンコードに基づい
た可変長デコードを行う可変長デコーダと、可変長デコ
ーダのデコード結果に対して量子化テーブルに格納され
ている量子化閾値に基づいた逆量子化を行い離散コサイ
ン変換係数を求める逆量子化回路と、逆量子化回路が求
めた離散コサイン変換係数に対して離散コサイン逆変換
を行う離散コサイン逆変換回路と、離散コサイン逆変換
回路の処理結果に対して動き補償付予測を行う動き補償
付予測回路と、動き補償付予測回路の処理結果の各ピク
チャを一時的に格納し、各ピクチャの順番を動き補償付
予測回路を介して並べ替えて出力するフレームバッファ
と、マクロブロック毎に動きベクトルを復元する動きベ
クトル復元回路と、MPEGビデオストリームに含まれ
るエラーを、スライス毎またはマクロブロック毎に検出
するエラー検出手段と、エラー検出手段の検出結果に従
ってエラーを隠すエラー処理手段とを備え、エラー検出
手段は、マクロブロック毎に動きベクトルの復元を行う
際に、動きベクトルを監視することでマクロブロック毎
にエラー検出を行い、エラー処理手段は、エラー検出手
段が、あるスライス内にエラーが含まれていると検出し
た場合には、エラーが含まれるスライス(S1)に対す
る可変長デコーダのデコード処理を停止させてデコード
処理結果を無効にさせ、スライスヘッダ検出回路の検出
結果に基づいて、次のスライス(S2)の可変長デコー
ドを可変長デコーダに行わせ、フレームバッファに格納
されるエラーが含まれるスライス(S1)を、そのスラ
イスが含まれているBピクチャの1つ前にディスプレイ
へ出力されるピクチャの対応するスライスに置き代え、
エラー検出手段が、あるスライス(S1)内のあるマク
ロブロック(MBm)内にエラーが含まれていると検出
した場合には、エラーが含まれるスライス(S1)内の
マクロブロック(MBm)以降の全てのマクロブロック
(MBm〜MBn)に対する可変長デコーダ,逆量子化
回路,離散コサイン逆変換回路の処理を停止させて処理
結果を無効にさせ、スライスヘッダ検出回路の検出結果
に基づいて、次のスライス(S2)の処理を可変長デコ
ーダ,逆量子化回路,離散コサイン逆変換回路に行わ
せ、フレームバッファに格納される前記全てのマクロブ
ロック(MBm〜MBn)を、そのスライス(S1)が
含まれているBピクチャの1つ前にディスプレイへ出力
されるピクチャの対応するマクロブロック(MBm′〜
MBn′)に置き代えることをその要旨とする。請求項
5のMPEGビデオデコーダは、請求項1〜4のいずれ
か1項に記載のMPEGビデオデコーダにおいて、前記
エラー検出手段は、マクロブロック毎に動きベクトルの
復元を行う際に、動きベクトルがピクチャ内を示してい
るかどうかを検出し、ピクチャ外を示している場合、そ
の動きベクトルを含むマクロブロック内にエラーが含ま
れていると判定することをその要旨とする。請求項6の
MPEGビデオデコーダは、請求項1〜4のいずれか1
項に記載のMPEGビデオデコーダにおいて、前記エラ
ー検出手段に代えて、ハフマンコードに基づいた可変長
デコードを行う際に、デコード処理を監視することでス
ライス毎にエラー検出を行う第1のエラー検出回路と、
量子化閾値に基づいた逆量子化を行う際に、逆量子化処
理を監視することでマクロブロック毎にエラー検出を行
う第2のエラー検出回路と、マクロブロック毎に動きベ
クトルの復元を行う際に、動きベクトルを監視すること
でマクロブロック毎にエラー検出を行う第3のエラー検
出回路とからなるエラー検出手段を備えたことをその要
旨とする。請求項7のMPEGビデオデコーダは、請求
項1〜4のいずれか1項に記載のMPEGビデオデコー
ダにおいて、前記エラー検出手段に代えて、ハフマンコ
ードに基づいた可変長デコードを行う際に、デコード処
理を監視することでスライス毎にエラー検出を行う第1
エラー検出回路と、マクロブロック毎に動きベクトル
の復元を行う際に、動きベクトルを監視することでマク
ロブロック毎にエラー検出を行う第2のエラー検出回路
とからなるエラー検出手段を備えたことをその要旨とす
る。請求項8のMPEGビデオデコーダは、請求項1〜
4のいずれか1項に記載のMPEGビデオデコーダにお
いて、前記エラー検出手段に代えて、量子化閾値に基づ
いた逆量子化を行う際に、逆量子化処理を監視すること
でマクロブロック毎にエラー検出を行う第1のエラー検
出回路と、マクロブロック毎に動きベクトルの復元を行
う際に、動きベクトルを監視することでマクロブロック
毎にエラー検出を行う第2のエラー検出回路とからなる
エラー検出手段を備えたMPEGビデオデコーダ。請求
項9のMPEGビデオデコーダは、請求項1〜4のいず
れか1項に記載のMPEGビデオデコーダにおいて、前
記エラー検出手段に代えて、ハフマンテーブルに格納さ
れているハフマンコードに基づいた可変長デコードを行
う際に、スライスに対応するデータがハフマンテーブル
に格納されていない場合や、スライスに対応するデータ
が過去のデコード結果と矛盾する場合、そのスライス内
にエラーが含まれていると判定することで、スライス毎
にエラー検出を行う第1のエラー検出回路と、量子化閾
値に基づいた逆量子化を行う際に、離散コサイン変換係
数のうち直流係数が所定値内に納まっているかどうかを
マクロブロック毎に検出し、納まっていない場合、その
マクロブロック内にエラーが含まれていると判定する第
2のエラー検出回路と、マクロブロック毎に動きベクト
ルの復元を行う際に、動きベクトルがピクチャ内を示し
ているかどうかを検出し、ピクチャ外を示している場
合、その動きベクトルを含むマクロブロック内にエラー
が含まれていると判定する第3のエラー検出回路とから
なるエラー検出手段を備えたことをその要旨とする。請
求項10のMPEGビデオデコーダは、請求項1〜4の
いずれか1項に記載のMPEGビデオデコーダにおい
て、前記エラー検出手段に代えて、ハフマンテーブルに
格納されているハフマンコードに基づいた可変長デコー
ドを行う際に、スライスに対応するデータがハフマンテ
ーブルに格納されていない場合や、スライスに対応する
データが過去のデコード結果と矛盾する場合、そのスラ
イス内にエラーが含まれていると判定することで、スラ
イス毎にエラー検出を行う第1のエラー検出回路と、マ
クロブロック毎に動きベクトルの復元を行う際に、動き
ベクトルがピクチャ内を示しているかどうかを検出し、
ピクチャ外を示している場合、その動きベクトルを含む
マクロブロック内にエラーが含まれていると判定する
2のエラー検出回路とからなるエラー検出手段を備えた
ことをその要旨とする。請求項11のMPEGビデオデ
コーダは、請求項1〜4のいずれか1項に記載のMPE
Gビデオデコーダにおいて、前記エラー検出手段に代え
て、量子化閾値に基づいた逆量子化を行う際に、離散コ
サイン変換係数のうち直流係数が所定値内に納まってい
るかどうかをマクロブロック毎に検出し、納まっていな
い場合、そのマクロブロック内にエラーが含まれている
と判定する第1のエラー検出回路と、マクロブロック毎
に動きベクトルの復元を行う際に、動きベクトルがピク
チャ内を示しているかどうかを検出し、ピクチャ外を示
している場合、その動きベクトルを含むマクロブロック
内にエラーが含まれていると判定する第2のエラー検出
回路とからなるエラー検出手段を備えたことをその要旨
とする。
According to a first aspect of the present invention, there is provided an MPEG video decoder, comprising: an error detecting means for detecting an error contained in an MPEG video stream; Error processing means for concealing an error by replacing the corresponding data of the picture output to the display immediately before the included B picture, wherein the error detection means restores a motion vector for each macroblock. The point is that the error detection is performed for each macro block by monitoring the motion vector when performing the above. M of claim 2
The PEG video decoder detects an error included in the MPEG video stream for each slice or each macroblock. According to a detection result of the error detection unit, the PEG video decoder determines whether the slice or the macroblock including the error includes the error. Error processing means for concealing an error by replacing a corresponding slice or macroblock of a picture output to the display immediately before the present B picture, wherein the error detection means includes a motion vector for each macroblock. When performing restoration, the gist is to detect an error for each macroblock by monitoring a motion vector. The MPEG video decoder according to claim 3, wherein the error detecting means for detecting an error included in the MPEG video stream for each slice or each macroblock, and the error detecting means detects that an error is included in a certain slice. In this case, the slice containing the error is replaced with the B containing the slice.
The error detection means replaces the corresponding slice of the picture output to the display immediately before the picture by a macro block (MBm) in a slice (S1).
If an error is detected in the slice (S1), all the macroblocks (MBm to MBn) after the macroblock (MBm) in the slice (S1) include the slice (S1). Error processing means for concealing errors by replacing macroblocks (MBm 'to MBn') corresponding to pictures output to the display immediately before the B picture, wherein the error detection means comprises: When restoring a motion vector, the gist is to detect an error for each macroblock by monitoring the motion vector. An MPEG video decoder according to claim 4, wherein a slice header detection circuit detects a slice header attached to the head of each slice of the MPEG video stream, and a variable length based on a Huffman code stored in a Huffman table for the MPEG video stream. A variable-length decoder that performs decoding, an inverse quantization circuit that performs inverse quantization on a decoding result of the variable-length decoder based on a quantization threshold stored in a quantization table to obtain a discrete cosine transform coefficient, A discrete cosine inverse transform circuit that performs an inverse discrete cosine transform on the discrete cosine transform coefficient obtained by the transform circuit, a motion compensated prediction circuit that performs a motion compensated prediction on the processing result of the discrete cosine inverse transform circuit, Each picture of the processing result of the prediction circuit with compensation is temporarily stored, and the order of each picture is motion compensated. A frame buffer for rearranging and outputting via an attached prediction circuit, a motion vector restoration circuit for restoring a motion vector for each macroblock, and error detection for detecting an error included in the MPEG video stream for each slice or each macroblock Means for concealing an error in accordance with the detection result of the error detection means. The error detection means monitors the motion vector when restoring the motion vector for each macroblock, thereby monitoring the error for each macroblock. When the error detection unit detects that an error is included in a certain slice, the error processing unit stops the decoding process of the variable length decoder for the slice (S1) that includes the error. Invalidates the decoding result and uses the detection result of the slice header detection circuit. Causes the variable length decoder to perform variable length decoding of the next slice (S2), and displays the slice (S1) containing the error stored in the frame buffer immediately before the B picture containing the slice. Replaced by the corresponding slice of the picture output to
When the error detection means detects that an error is included in a certain macroblock (MBm) in a certain slice (S1), the error detection means and subsequent macroblocks (MBm) in the slice (S1) in which the error is included are included. The processing of the variable length decoder, the inverse quantization circuit, and the inverse discrete cosine transform circuit for all the macroblocks (MBm to MBn) is stopped to invalidate the processing result, and based on the detection result of the slice header detection circuit, The processing of the slice (S2) is performed by the variable length decoder, the inverse quantization circuit, and the inverse discrete cosine transform circuit, and all the macroblocks (MBm to MBn) stored in the frame buffer include the slice (S1). Corresponding to a macroblock (MBm ′ to MBm ′) of a picture output to the display immediately before the B picture
MBn '). The MPEG video decoder according to claim 5 is the MPEG video decoder according to any one of claims 1 to 4, wherein the error detecting means detects the motion vector when restoring the motion vector for each macroblock. The gist of the present invention is to detect whether an error is included in a macroblock including the motion vector by detecting whether or not the macroblock includes the motion vector. The MPEG video decoder according to claim 6 is any one of claims 1 to 4.
In the MPEG video decoder according to the item, when performing variable length decoding based on a Huffman code instead of the error detection means, a first error detection circuit that performs error detection for each slice by monitoring a decoding process When,
When performing inverse quantization based on a quantization threshold, a second error detection circuit that performs error detection for each macroblock by monitoring the inverse quantization process, and performs a motion vector restoration for each macroblock. In addition, the gist of the present invention is to provide an error detection means including a third error detection circuit for detecting an error for each macroblock by monitoring a motion vector. The MPEG video decoder according to claim 7, wherein the MPEG video decoder according to any one of claims 1 to 4, performs a decoding process when performing a variable length decoding based on a Huffman code instead of the error detection means. the performing error detection for each slice by monitoring 1
An error detection circuit, when performing restoration of the motion vector for each macroblock, further comprising an error detection means and a second error detection circuit which performs error detection for each macro block by monitoring the motion vector Is the gist. The MPEG video decoder according to the eighth aspect is characterized in that:
5. In the MPEG video decoder according to any one of the above items 4, when performing inverse quantization based on a quantization threshold in place of the error detecting means, monitoring an inverse quantization process to provide an error for each macroblock. a first error detection circuit for detecting, when performing restoration of the motion vector for each macroblock, error detection and a second error detection circuit which performs error detection for each macro block by monitoring the motion vector MPEG video decoder with means. An MPEG video decoder according to claim 9, wherein the MPEG video decoder according to any one of claims 1 to 4, wherein the error detection means is replaced with a variable length decoding based on a Huffman code stored in a Huffman table. If the data corresponding to the slice is not stored in the Huffman table or if the data corresponding to the slice is inconsistent with the decoding result in the past, it is determined that the slice contains an error. A first error detection circuit for performing error detection for each slice and a macro for determining whether a DC coefficient among discrete cosine transform coefficients is within a predetermined value when performing inverse quantization based on a quantization threshold value. A second error detection is performed for each block, and if not included, it is determined that an error is included in the macroblock. When performing a motion vector restoration for each circuit and a macroblock, it is detected whether or not the motion vector indicates an inside of the picture, and if the motion vector indicates outside the picture, an error is included in the macroblock including the motion vector. The gist is that an error detecting means including a third error detecting circuit for judging that the error has occurred is provided. An MPEG video decoder according to claim 10, wherein the MPEG video decoder according to any one of claims 1 to 4, wherein the error detection means is replaced with a variable length decoding based on a Huffman code stored in a Huffman table. If the data corresponding to the slice is not stored in the Huffman table or if the data corresponding to the slice is inconsistent with the decoding result in the past, it is determined that the slice contains an error. A first error detection circuit that performs error detection for each slice, and detects whether a motion vector indicates an inside of a picture when restoring a motion vector for each macroblock,
If it indicates outside the picture, it is determined that the macroblock including the motion vector contains an error .
The gist of the present invention is to provide an error detecting means including the second error detecting circuit. An MPEG video decoder according to claim 11, wherein the MPEG video decoder according to any one of claims 1 to 4.
In the G video decoder, when performing inverse quantization based on a quantization threshold in place of the error detection means, whether or not a DC coefficient among discrete cosine transform coefficients is within a predetermined value is detected for each macroblock. If not, the first error detection circuit that determines that an error is included in the macroblock, and when the motion vector is restored for each macroblock, the motion vector indicates the position in the picture. And a second error detection circuit for detecting whether an error is included in the macroblock including the motion vector if the error is outside the picture. Make a summary.

【0070】[0070]

【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面に従って説明する。図1に、本実施形態のM
PEGビデオデコーダ1のブロック回路を示す。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows M of the present embodiment.
2 shows a block circuit of the PEG video decoder 1.

【0071】MPEGビデオデコーダ1は、ビットバッ
ファ2、フレームバッファ3、ピクチャヘッダ検出回路
4、スライスヘッダ検出回路5、可変長デコーダ6、逆
量子化回路7、IDCT(Inverse Discrete Cosine Tr
ansform )回路8、MC(Motion Compensated predict
ion )回路9、ROM(Read Only Memory)10,1
1、制御コア回路12、ハフマンエラー検出回路13、
DC(Direct Current)エラー検出回路41、動き領域
エラー検出回路42から構成されている。尚、各回路4
〜13,41,42は1チップのLSIに搭載されてい
る。
The MPEG video decoder 1 includes a bit buffer 2, a frame buffer 3, a picture header detection circuit 4, a slice header detection circuit 5, a variable length decoder 6, an inverse quantization circuit 7, an IDCT (Inverse Discrete Cosine Tr).
ansform) circuit 8, MC (Motion Compensated predict)
ion) circuit 9, ROM (Read Only Memory) 10, 1
1, control core circuit 12, Huffman error detection circuit 13,
It comprises a DC (Direct Current) error detection circuit 41 and a motion area error detection circuit 42. Each circuit 4
13, 13, and 42 are mounted on a one-chip LSI.

【0072】制御コア回路12は各回路2〜11,1
3,41,42を制御する。伝達メディア20から転送
されてきたビデオストリームは、ビットバッファ2へ入
力される。尚、伝達メディア20には、蓄積メディア
(ビデオCD,CD−ROM,DVD,VTRなど)、
通信メディア(LANなど)、放送メディア(地上波放
送,衛星放送,CATVなど)などが含まれる。
The control core circuit 12 includes the circuits 2 to 11, 1
3, 41 and 42 are controlled. The video stream transferred from the transmission medium 20 is input to the bit buffer 2. The transmission medium 20 includes storage media (video CD, CD-ROM, DVD, VTR, etc.),
This includes communication media (such as LAN) and broadcast media (such as terrestrial broadcasting, satellite broadcasting, and CATV).

【0073】ビットバッファ2はFIFO(First-In-F
irst-Out)構成のRAM(Random Access Memory)から
成るリングバッファによって構成され、伝達メディア2
0から転送されてくるビデオストリームを順次蓄積す
る。
The bit buffer 2 has a FIFO (First-In-F
transmission media 2 which is constituted by a ring buffer composed of a random access memory (RAM) having an irst-out (RAM) structure.
Video streams transferred from 0 are sequentially stored.

【0074】ビットバッファ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の各ピクチャのデータ量の相違を吸
収しているわけである。
The reason why the bit buffer 2 is provided is as follows.
This is because the data amounts of the I, P, and B pictures are different. The data amount of the I picture is about 30 kbytes, the data amount of the P picture is about 10 to 15 kbytes, and the data amount of the B picture is 0 to about 6 kbytes. On the other hand,
The bit rate of the video stream transferred from the transmission medium 20 is constant. As described later, each circuit 6
9 perform processing for each picture, and the processing time varies depending on the data amount of each picture. Therefore, when the video stream transferred from the transmission medium 20 is directly transferred to each of the circuits 6 to 9, a picture that cannot be processed by each of the circuits 6 to 9 appears. In order to prevent this, by providing the bit buffer 2 as a buffer memory for the video stream transferred from the transmission medium 20, the difference in the data amount of each of the I, P, and B pictures is absorbed. .

【0075】ピクチャヘッダ検出回路4は、ビットバッ
ファ2に蓄積されたビデオストリームの各ピクチャの先
頭に付くピクチャヘッダを検出し、その各ピクチャヘッ
ダに規定されているピクチャのタイプ(I,P,B)を
検出する。
The picture header detection circuit 4 detects a picture header at the head of each picture of the video stream stored in the bit buffer 2, and determines the picture type (I, P, B) specified in each picture header. ) Is detected.

【0076】スライスヘッダ検出回路5は、ビットバッ
ファ2に蓄積されたビデオストリームの各スライスの先
頭に付くスライスヘッダを検出する。制御コア回路12
は、ピクチャヘッダ検出回路4の検出結果に基づいて、
ビットバッファ2から1フレーム期間毎に1枚のピクチ
ャ分ずつのビデオストリームを読み出す。
The slice header detection circuit 5 detects a slice header attached to the head of each slice of the video stream stored in the bit buffer 2. Control core circuit 12
Is based on the detection result of the picture header detection circuit 4,
A video stream for one picture is read from the bit buffer 2 every frame period.

【0077】可変長デコーダ6は、ビットバッファ2か
ら読み出されたピクチャに対して、ROM10に記憶さ
れたハフマンテーブルに格納されているハフマンコード
に基づいた可変長デコードを行う。
The variable length decoder 6 performs variable length decoding on the picture read from the bit buffer 2 based on the Huffman code stored in the Huffman table stored in the ROM 10.

【0078】逆量子化回路7は、可変長デコーダ6のデ
コード結果に対して、ROM11に記憶された量子化テ
ーブルに格納されている量子化閾値に基づいた逆量子化
を行いDCT(Discrete Cosine Transform )係数を求
める。
The inverse quantization circuit 7 performs inverse quantization on the decoding result of the variable length decoder 6 based on the quantization threshold stored in the quantization table stored in the ROM 11, and performs DCT (Discrete Cosine Transform). ) Find the coefficient.

【0079】IDCT回路8は、逆量子化回路7が求め
たDCT係数に対してIDCTを行う。MC回路9は、
IDCT回路8の処理結果に対してMC(Motion Compe
nsatedprediction )を行う。
The IDCT circuit 8 performs IDCT on the DCT coefficient obtained by the inverse quantization circuit 7. The MC circuit 9
MC (Motion Compe
nsatedprediction).

【0080】MC回路9の処理結果は、フレームバッフ
ァ3の各領域3a〜3cへ転送される。また、フレーム
バッファ3の各領域3a〜3cから読み出されたデータ
はMC回路9へ転送される。
The processing result of the MC circuit 9 is transferred to each area 3a to 3c of the frame buffer 3. The data read from each of the areas 3 a to 3 c of the frame buffer 3 is transferred to the MC circuit 9.

【0081】フレームバッファ3はRAMから成り、そ
の内部は3つの領域(前方参照領域3a、後方参照領域
3b、Bピクチャ格納領域3c)に分けられている。前
方参照領域3aには、MC回路9において逆方向予測を
行う際に用いられる未来のIピクチャまたはPピクチャ
が格納される。後方参照領域3bには、MC回路9にお
いて順方向予測を行う際に用いられる過去のIピクチャ
またはPピクチャが格納される。Bピクチャ格納領域3
cにはBピクチャが格納される。
The frame buffer 3 is composed of a RAM, and its inside is divided into three areas (a forward reference area 3a, a backward reference area 3b, and a B picture storage area 3c). The forward reference area 3a stores a future I picture or P picture used when the MC circuit 9 performs backward prediction. The backward reference area 3b stores a past I picture or P picture used when the MC circuit 9 performs forward prediction. B picture storage area 3
B picture is stored in c.

【0082】前方参照領域3aおよび後方参照領域3b
に格納されるIピクチャまたはPピクチャは、順方向予
測または逆方向予測を行うための基データとして使われ
るため、必要がなくなるまで、各領域3a,3bに格納
し続けなければならない。Bピクチャ格納領域3cに格
納されるBピクチャについては基データとして扱われな
いため、ディスプレイ21へ出力されたら不要になる。
尚、各領域3a〜3cはプレーンと呼ばれる。
The forward reference area 3a and the rear reference area 3b
Are used as base data for performing forward prediction or backward prediction, and must be kept stored in each of the areas 3a and 3b until they are no longer needed. Since the B picture stored in the B picture storage area 3c is not treated as the base data, it becomes unnecessary when output to the display 21.
Each of the areas 3a to 3c is called a plane.

【0083】そして、各領域3a〜3cのいずれか1つ
に格納されたピクチャのデータ(ビデオ信号)が、MC
回路9を介して、MPEGビデオデコーダ1の外部に設
けられたディスプレイ21へ出力される。
The picture data (video signal) stored in any one of the areas 3a to 3c is the MC data.
The data is output to a display 21 provided outside the MPEG video decoder 1 via the circuit 9.

【0084】例えば、図10(a)に示すように原画像
の各ピクチャの順番が構成されている場合、MPEGビ
デオエンコーダでは図10(b)に示すように各ピクチ
ャの順番が並べ替えられる。図10(c)に示すよう
に、伝達メディア20では、MPEGビデオエンコーダ
で並べ替えられた順番のままで各ピクチャが転送され
る。そして、図10(d)(e)に示すように、MPE
Gビデオデコーダ1では、ディスプレイ21の再生画像
の各ピクチャの順番が原画像のそれと同じになるよう
に、各ピクチャの順番が並べ替えられる。
For example, when the order of each picture of the original image is configured as shown in FIG. 10A, the order of each picture is rearranged in the MPEG video encoder as shown in FIG. 10B. As shown in FIG. 10C, the pictures are transferred on the transmission medium 20 in the order rearranged by the MPEG video encoder. Then, as shown in FIGS.
In the G video decoder 1, the order of the pictures is rearranged so that the order of the pictures in the reproduced image on the display 21 is the same as that of the original image.

【0085】フレームバッファ3は、このMPEGビデ
オデコーダ1における各ピクチャの順番の並べ替えを行
うために設けられている。すなわち、各回路6〜9でB
ピクチャB3を処理し、その処理結果をBピクチャ格納
領域3cへ転送しているとき、ディスプレイ21へは後
方参照領域3bに既に格納されているIピクチャI2が
出力される。
The frame buffer 3 is provided for rearranging the order of each picture in the MPEG video decoder 1. That is, in each of the circuits 6 to 9, B
When processing the picture B3 and transferring the processing result to the B picture storage area 3c, the display 21 outputs the I picture I2 already stored in the backward reference area 3b.

【0086】また、各回路6〜9でBピクチャB4を処
理し、その処理結果をBピクチャ格納領域3cへ転送し
ているとき、ディスプレイ21へはBピクチャ格納領域
3cに既に格納されているBピクチャB3が出力され
る。その結果、各回路6〜9でBピクチャB4を処理し
ているときには、Bピクチャ格納領域3cに既に格納さ
れているBピクチャB3に対して、新たに処理されたB
ピクチャB4のデータが上書きされる。
When the circuits 6 to 9 process the B picture B4 and transfer the processing result to the B picture storage area 3c, the display 21 displays the B picture already stored in the B picture storage area 3c. The picture B3 is output. As a result, when each of the circuits 6 to 9 processes the B picture B4, the newly processed B picture B3 is added to the B picture B3 already stored in the B picture storage area 3c.
The data of picture B4 is overwritten.

【0087】また、各回路6〜9でPピクチャP8を処
理し、その処理結果を後方参照領域3bへ転送している
とき、ディスプレイ21へはBピクチャ格納領域3cに
既に格納されているBピクチャB4が出力される。
When the P-picture P8 is processed by each of the circuits 6 to 9 and the processing result is transferred to the backward reference area 3b, the B-picture already stored in the B-picture storage area 3c is displayed on the display 21. B4 is output.

【0088】尚、フレームバッファ3とビットバッファ
2とは、部品点数を少なくしてMPEGビデオデコーダ
1の部品コストを減少させるため、1つのRAM内に領
域を分けて設けられている。
The frame buffer 3 and the bit buffer 2 are provided in a single RAM so as to be divided into regions in order to reduce the number of components and reduce the component cost of the MPEG video decoder 1.

【0089】ハフマンエラー検出回路13は、可変長デ
コーダ6におけるデコード処理を監視することで、スラ
イス毎にエラー検出を行う。すなわち、ハフマンエラー
検出回路13は、スライスに対応するデータがハフマン
テーブルに格納されていない場合や、スライスに対応す
るデータが過去のデコード結果と矛盾する場合、そのス
ライス内にエラーが含まれていると判定する。
The Huffman error detection circuit 13 detects an error for each slice by monitoring the decoding process in the variable length decoder 6. That is, the Huffman error detection circuit 13 includes an error in the slice when the data corresponding to the slice is not stored in the Huffman table or when the data corresponding to the slice is inconsistent with the past decoding result. Is determined.

【0090】制御コア回路12は、ハフマンエラー検出
回路16によってスライス内にエラーが含まれていると
判定された場合、以下のエラー処理Aを行う。ここで
は、図8に示すスライスS1内にエラーが含まれている
場合を例にとって説明する。尚、スライスS1はn個の
マクロブロックMB1〜MBnによって構成されている
ものとする。
When the Huffman error detection circuit 16 determines that an error is included in the slice, the control core circuit 12 performs the following error processing A. Here, a case where an error is included in the slice S1 shown in FIG. 8 will be described as an example. It is assumed that the slice S1 is composed of n macroblocks MB1 to MBn.

【0091】A−(1) エラーが含まれていると判定され
たスライスS1に対する可変長デコーダ6のデコード処
理を停止させ、そのスライスS1のデコード処理結果を
無効にさせる。
A- (1) The decoding process of the variable length decoder 6 for the slice S1 determined to contain the error is stopped, and the decoding process result of the slice S1 is invalidated.

【0092】A−(2) スライスヘッダ検出回路5の検出
結果に基づいて、ビットバッファ2からスライスS1の
次のスライスS2を読み出す。そして、可変長デコーダ
6にスライスS2の可変長デコードを行わせる。
A- (2) The slice S2 next to the slice S1 is read from the bit buffer 2 based on the detection result of the slice header detection circuit 5. Then, it causes the variable length decoder 6 to perform variable length decoding of the slice S2.

【0093】A−(3) MC回路9およびフレームバッフ
ァ3を制御して、フレームバッファ3に格納されるスラ
イスS1を、そのスライスS1が含まれているピクチャ
の1つ前にディスプレイ21へ出力されるピクチャの対
応するマクロブロックMB1′〜MBn′によって置き
代える。この動作を、図10(d)(e)に示すように
各ピクチャの順番が構成されている場合を例にとって説
明する。
A- (3) The MC circuit 9 and the frame buffer 3 are controlled to output the slice S1 stored in the frame buffer 3 to the display 21 immediately before the picture containing the slice S1. Macroblocks MB1 'to MBn' of the current picture. This operation will be described by taking as an example a case where the order of each picture is configured as shown in FIGS.

【0094】A−(3)-[1] スライスS1を含むピクチャ
がBピクチャB3の場合;BピクチャB3の1つ前にデ
ィスプレイ21へ出力されるピクチャはIピクチャI2
である。BピクチャB3をBピクチャ格納領域3cへ転
送しているとき、IピクチャI2は既に後方参照領域3
bに格納されている。
A- (3)-[1] When the picture including slice S1 is B picture B3; the picture output to display 21 immediately before B picture B3 is I picture I2
It is. When the B picture B3 is transferred to the B picture storage area 3c, the I picture I2 is already
b.

【0095】図11に示すように、BピクチャB3のス
ライスS1に対応するIピクチャI2のマクロブロック
MB1′〜MBn′を後方参照領域3bから読み出す。
そして、IピクチャI2のマクロブロックMB1′〜M
Bn′をBピクチャ格納領域3cに書き込むことで、B
ピクチャB3のスライスS1をIピクチャI2のマクロ
ブロックMB1′〜MBn′に置き代える。
As shown in FIG. 11, macroblocks MB1 'to MBn' of I picture I2 corresponding to slice S1 of B picture B3 are read from rear reference area 3b.
Then, the macroblocks MB1 'to M1 of the I picture I2
By writing Bn 'in the B picture storage area 3c,
The slice S1 of the picture B3 is replaced with the macroblocks MB1 'to MBn' of the I picture I2.

【0096】A−(3)-[2] スライスS1を含むピクチャ
がBピクチャB4の場合;BピクチャB4の1つ前にデ
ィスプレイ21へ出力されるピクチャはBピクチャB3
である。BピクチャB3をBピクチャ格納領域3cへ転
送しているとき、BピクチャB3は既にBピクチャ格納
領域3cに格納されている。
A- (3)-[2] When the picture including slice S1 is B picture B4; the picture output to display 21 immediately before B picture B4 is B picture B3
It is. When transferring the B picture B3 to the B picture storage area 3c, the B picture B3 is already stored in the B picture storage area 3c.

【0097】図12に示すように、Bピクチャ格納領域
3cにおいて、BピクチャB4のスライスS1に対応す
るBピクチャB3のマクロブロックMB1′〜MBn′
に対してはBピクチャB4のデータを上書きせず、Bピ
クチャB3のマクロブロックMB1′〜MBn′をその
まま残す。その結果、BピクチャB4のスライスS1は
BピクチャB3のマクロブロックMB1′〜MBn′に
置き代えられる。
As shown in FIG. 12, in the B picture storage area 3c, the macro blocks MB1 'to MBn' of the B picture B3 corresponding to the slice S1 of the B picture B4.
, The data of the B picture B4 is not overwritten, and the macroblocks MB1 'to MBn' of the B picture B3 are left as they are. As a result, the slice S1 of the B picture B4 is replaced with the macro blocks MB1 'to MBn' of the B picture B3.

【0098】A−(3)-[3] スライスS1を含むピクチャ
がPピクチャP5の場合;PピクチャP5の1つ前にデ
ィスプレイ21へ出力されるピクチャはBピクチャB4
である。PピクチャP5は前方参照領域3aに格納さ
れ、BピクチャB4はBピクチャ格納領域3cに格納さ
れている。
A- (3)-[3] When the picture including slice S1 is P picture P5; the picture output to display 21 immediately before P picture P5 is B picture B4
It is. The P picture P5 is stored in the forward reference area 3a, and the B picture B4 is stored in the B picture storage area 3c.

【0099】図13に示すように、PピクチャB5のス
ライスS1に対応するBピクチャB4のマクロブロック
MB1′〜MBn′をBピクチャ格納領域3cから読み
出す。そして、BピクチャB4のマクロブロックMB
1′〜MBn′を前方参照領域3aに書き込むことで、
PピクチャP5のスライスS1をBピクチャB4のマク
ロブロックMB1′〜MBn′に置き代える。
As shown in FIG. 13, macroblocks MB1 'to MBn' of B picture B4 corresponding to slice S1 of P picture B5 are read from B picture storage area 3c. Then, the macroblock MB of the B picture B4
By writing 1 'to MBn' in the forward reference area 3a,
The slice S1 of the P picture P5 is replaced with the macroblocks MB1 'to MBn' of the B picture B4.

【0100】DCエラー検出回路41は、逆量子化回路
7における逆量子化処理を監視することで、マクロブロ
ック毎にエラー検出を行う。すなわち、DCエラー検出
回路41は、逆量子化回路7の求めたDCT係数のうち
直流(DC;Direct Current)係数が所定値内に納まっ
ているかどうかをマクロブロック毎に検出し、納まって
いない場合、そのマクロブロック内にエラーが含まれて
いると判定する。尚、DC係数はDCT係数の(0、
0)成分である。
The DC error detection circuit 41 detects an error for each macro block by monitoring the inverse quantization processing in the inverse quantization circuit 7. That is, the DC error detection circuit 41 detects, for each macroblock, whether or not a DC (Direct Current) coefficient among the DCT coefficients obtained by the inverse quantization circuit 7 falls within a predetermined value. , It is determined that the macroblock contains an error. Note that the DC coefficient is the DCT coefficient (0,
0) component.

【0101】動き領域エラー検出回路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内にエ
ラーが含まれていると判定する。
The motion area error detection circuit 42 detects an error for each macro block by monitoring the motion vector restored by the motion vector restoration circuit 43 in the MC circuit 9. For example, as shown in FIG. 2, the motion vector restoration circuit 43 restores the motion vectors 52 to 56 for the macroblocks MB11 to MB15 constituting the slice S3 included in the picture 51, respectively. The motion area error detection circuit 42 detects whether each of the motion vectors 52 to 56 indicates the inside of the picture 51, and
If the value is other than 1, it is determined that an error is included in the macroblock including the motion vector. Here, the motion vectors 52 to 55 show the inside of the picture 51, but the motion vector 56 shows the outside of the picture 51. Accordingly, the motion area error detection circuit 42
It is determined that an error is included in the macroblock MB15 including the motion vector 56.

【0102】尚、DCエラー検出回路41または動き領
域エラー検出回路42によって検出されたエラーの原因
には、以下のものがある。 伝達メディア20から転送されてきたビデオストリー
ムのエンコードが元々、MPEGビデオパートの規格通
りに行われていない場合。
The causes of errors detected by the DC error detection circuit 41 or the motion area error detection circuit 42 include the following. A case where the video stream transferred from the transmission medium 20 is not originally encoded according to the MPEG video part standard.

【0103】伝達メディア20内で生じた何らかの事
故により、伝達メディア20から転送されてきたビデオ
ストリームの任意のビットに誤りがある場合。例えば、
伝達メディア20としてビデオCDやDVDを用いた場
合には、ディスクに付いた傷が原因で、ディスクから読
み出されたビデオストリームの任意のビットに誤りが生
じることがある。また、通信メディアや放送メディアで
は、ノイズが原因で、伝送されるビデオストリームの任
意のビットに誤りが生じることがある。
A case where an error occurs in an arbitrary bit of a video stream transferred from the transmission medium 20 due to some accident occurring in the transmission medium 20. For example,
When a video CD or DVD is used as the transmission medium 20, an error may occur in an arbitrary bit of a video stream read from the disk due to a scratch on the disk. In communication media and broadcast media, errors may occur in arbitrary bits of a transmitted video stream due to noise.

【0104】制御コア回路12は、DCエラー検出回路
41または動き領域エラー検出回路42によってマクロ
ブロック内にエラーが含まれていると判定された場合、
以下のエラー処理Bを行う。ここでは、図8に示すスラ
イスS1内のマクロブロックMBm内にエラーが含まれ
ている場合を例にとって説明する。
When the DC error detection circuit 41 or the motion area error detection circuit 42 determines that the macroblock contains an error, the control core circuit 12
The following error processing B is performed. Here, a case where an error is included in the macroblock MBm in the slice S1 shown in FIG. 8 will be described as an example.

【0105】B−(1) エラーが含まれていると判定され
たスライスS1内のマクロブロックMBm以降の全ての
マクロブロックMBm〜MBnに対する各回路6〜8の
処理を停止させ、その各マクロブロックMBm〜MBn
の処理結果を無効にさせる。
B- (1) The processing of each of the circuits 6 to 8 for all the macro blocks MBm to MBn after the macro block MBm in the slice S1 determined to contain an error is stopped, and MBm to MBn
Invalidates the processing result of.

【0106】B−(2) スライスヘッダ検出回路5の検出
結果に基づいて、ビットバッファ2からスライスS1の
次のスライスS2を読み出す。そして、各回路6〜8に
スライスS2の処理を行わせる。
B- (2) The slice S2 next to the slice S1 is read from the bit buffer 2 based on the detection result of the slice header detection circuit 5. Then, each of the circuits 6 to 8 performs the processing of the slice S2.

【0107】B−(3) MC回路9およびフレームバッフ
ァ3を制御して、フレームバッファ3に格納される各マ
クロブロックMBm〜MBnを、そのマクロブロックM
Bm〜MBnが含まれているピクチャの1つ前にディス
プレイ21へ出力されるピクチャの対応する各マクロブ
ロックMBm′〜MBn′によって置き代える。この動
作を、図10(d)(e)に示すように各ピクチャの順
番が構成されている場合を例にとって説明する。
B- (3) The MC circuit 9 and the frame buffer 3 are controlled so that each of the macro blocks MBm to MBn stored in the frame buffer 3 is
The macroblocks corresponding to the macroblocks MBm 'to MBn' which are output to the display 21 immediately before the picture including Bm to MBn are replaced. This operation will be described by taking as an example a case where the order of each picture is configured as shown in FIGS.

【0108】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′に置き代える。
B- (3)-[1] Macro blocks MBm to MB
n is a B picture B3; as shown in FIG. 3, macroblocks MBm to MB of the B picture B3
n of the I-picture I2 corresponding to the macroblock MBm ′
... MBn ′ are read from the backward reference area 3b. And
By writing the macroblocks MBm 'to MBn' of the I picture I2 into the B picture storage area 3c, the macroblocks MBm to MBn of the B picture B3 are stored in the I picture I2.
Of macro blocks MBm 'to MBn'.

【0109】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′に置き代えられる。
B- (3)-[2] Macro blocks MBm to MB
When the picture including n is a B picture B4; as shown in FIG. 4, in the B picture storage area 3c, for the macro blocks MBm 'to MBn' of the B picture B3 corresponding to the macro blocks MBm to MBn of the B picture B4. Without overwriting the data of B picture B4,
3 macroblocks MBm 'to MBn' are left as they are. As a result, the macroblock MBm of the B picture B4
MBn is the macroblock MBm 'of the B picture B3.
MBn '.

【0110】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′に置き代える。
B- (3)-[3] Macro blocks MBm to MB
n is a P picture P5; as shown in FIG. 5, macro blocks MBm to MB of a P picture B5
n macroblock MBm ′ of B picture B4 corresponding to n
.About.MBn 'is read from the B picture storage area 3c. Then, the macro blocks MBm ′ to MB of the B picture B4
By writing n ′ into the forward reference area 3a, the macroblocks MBm to MBn of the P picture P5 are
Of macro blocks MBm 'to MBn'.

【0111】図6に、MC回路9の内部構成を示す。M
C回路9は、逆方向予測メモリ31、順方向予測メモリ
32、平均回路33、加算回路34、スイッチSW1〜
SW6、動きベクトル復元回路43から構成されてい
る。
FIG. 6 shows the internal configuration of the MC circuit 9. M
The C circuit 9 includes a backward prediction memory 31, a forward prediction memory 32, an averaging circuit 33, an adding circuit 34, and switches SW1 to SW1.
SW6 and a motion vector restoration circuit 43.

【0112】スイッチSW6は2つの接点a,bをも
ち、接点aはIDCT回路8の出力に接続され、接点b
はアースされ、各接点a,bのいずれか一方が加算回路
34の入力に接続される。
The switch SW6 has two contacts a and b. The contact a is connected to the output of the IDCT circuit 8 and the contact b
Is grounded, and one of the contacts a and b is connected to the input of the adding circuit 34.

【0113】スイッチSW1は4つの接点a〜dをも
ち、接点aは逆方向予測メモリ31の出力に接続され、
接点bは平均回路33の出力に接続され、接点cは順方
向予測メモリ32の出力に接続され、接点dはアースさ
れ、各接点a〜dのいずれか1つが加算回路34の入力
に接続される。
The switch SW1 has four contacts a to d. The contact a is connected to the output of the backward prediction memory 31,
The contact b is connected to the output of the averaging circuit 33, the contact c is connected to the output of the forward prediction memory 32, the contact d is grounded, and one of the contacts a to d is connected to the input of the adding circuit 34. You.

【0114】スイッチSW2は2つの接点a,bをも
ち、接点aは逆方向予測メモリ31の入力に接続され、
接点bは順方向予測メモリ32の入力に接続され、各接
点a,bのいずれか一方がスイッチSW3に接続され
る。
The switch SW2 has two contacts a and b. The contact a is connected to the input of the backward prediction memory 31,
The contact b is connected to the input of the forward prediction memory 32, and one of the contacts a and b is connected to the switch SW3.

【0115】スイッチSW3は3つの接点a〜cをも
ち、接点aはフレームバッファ3の前方参照領域3aの
出力に接続されると共にスイッチSW5の接点aに接続
され、接点bはフレームバッファ3の後方参照領域3b
の出力に接続されると共にスイッチSW5の接点bに接
続され、接点cはフレームバッファ3のBピクチャ格納
領域3cの出力に接続されると共にスイッチSW5の接
点cに接続される。
The switch SW3 has three contacts a to c. The contact a is connected to the output of the front reference area 3a of the frame buffer 3 and to the contact a of the switch SW5, and the contact b is connected to the rear of the frame buffer 3. Reference area 3b
Of the switch SW5, and the contact c is connected to the output of the B picture storage area 3c of the frame buffer 3 and to the contact c of the switch SW5.

【0116】スイッチSW5は3つの接点a〜cをも
ち、各接点a〜cのいずれか1つがディスプレイ21に
接続される。スイッチSW4は3つの接点a〜cをも
ち、接点aは前方参照領域3aの入力に接続され、接点
bは後方参照領域3bの入力に接続され、接点cはBピ
クチャ格納領域3cの入力に接続され、各接点a〜cの
いずれか1つが加算回路34の出力に接続される。
The switch SW5 has three contacts a to c, and any one of the contacts a to c is connected to the display 21. The switch SW4 has three contacts a to c, the contact a is connected to the input of the front reference area 3a, the contact b is connected to the input of the rear reference area 3b, and the contact c is connected to the input of the B picture storage area 3c. Then, one of the contacts a to c is connected to the output of the adding circuit 34.

【0117】逆方向予測メモリ31および順方向予測メ
モリ32はそれぞれ、1個のマクロブロック分のデータ
を格納する。平均回路33は、逆方向予測メモリ31お
よび順方向予測メモリ32から読み出されたデータを平
均化する。
Each of the backward prediction memory 31 and the forward prediction memory 32 stores data for one macroblock. The averaging circuit 33 averages data read from the backward prediction memory 31 and the forward prediction memory 32.

【0118】動きベクトル復元回路43は、各領域3a
〜3cのいずれか1つから読み出した1個のマクロブロ
ック分のデータをスイッチSW3を介して入力し、その
マクロブロックの動きベクトルを復元する。
The motion vector restoration circuit 43 determines whether each area 3a
The data for one macro block read from any one of the macro blocks 3 to 3c is input via the switch SW3, and the motion vector of the macro block is restored.

【0119】このように構成されたMC回路9は以下の
動作を行う。 各エラー検出回路13,41,42がいずれもエラー
を検出しない場合(通常動作);スイッチSW6を接点
aに接続する。
The MC circuit 9 configured as described above performs the following operation. When none of the error detection circuits 13, 41, 42 detects an error (normal operation); the switch SW6 is connected to the contact a.

【0120】−[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へ転送される。
-[1] When an I picture is output from the IDCT circuit 8: The switch SW1 is connected to the contact d, and the switch SW4 is connected to the contact a or the contact b. The switch SW5 is connected to contacts a to c different from the contacts to which the switch SW4 is connected. For example, switch SW4
Is connected to the contact a, the switch SW5 is connected to the contact b or the contact c. The switches SW2 and SW3 may be connected to any contact. As a result, the output of the adding circuit 34 becomes the same as the output of the IDCT circuit 8. The output of the adding circuit 34 is transferred to the front reference area 3a or the rear reference area 3b via the switch SW4.

【0121】−[2] IDCT回路8からPピクチャが
出力された場合;スイッチSW1をマクロブロック・タ
イプに対応した接点c,dに接続する。 −[2]-<1> マクロブロック・タイプがフレーム内予測
画面の場合;上記−[1] と同じである。
-[2] When a P picture is output from the IDCT circuit 8; Connect the switch SW1 to the contacts c and d corresponding to the macroblock type. -[2]-<1> When the macroblock type is the intra-frame prediction screen; same as-[1] above.

【0122】−[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へ転送
される。
-[2]-<2> When the macroblock type is the forward prediction screen; the switches SW2 and SW3 are respectively connected to the contact b, and 1 is read from the rear reference area 3b.
Data of macroblocks are stored in the forward prediction memory 3
2 is stored. Then, switch SW1 is connected to contact c, and switch SW4 is connected to contact a or contact b.
The switch SW5 is connected to contacts a to c different from the contacts to which the switch SW4 is connected. As a result, the addition circuit 34 adds the macroblock data read from the forward prediction memory 32 and the output of the IDCT circuit 8. The output of the adding circuit 34 is transferred to the front reference area 3a or the rear reference area 3b via the switch SW4.

【0123】−[3] IDCT回路8からBピクチャが
出力された場合;スイッチSW1をマクロブロック・タ
イプに対応した接点a〜dに接続し、スイッチSW4,
SW5をそれぞれ接点cに接続する。その結果、加算回
路34の出力は、スイッチSW4を介して、Bピクチャ
格納領域3cへ転送される。
[3] When a B picture is output from the IDCT circuit 8; the switch SW1 is connected to the contacts a to d corresponding to the macroblock type, and the switches SW4 and SW4 are connected.
SW5 is connected to each of the contacts c. As a result, the output of the adding circuit 34 is transferred to the B picture storage area 3c via the switch SW4.

【0124】−[3]-<1> マクロブロック・タイプがフ
レーム内予測画面の場合;スイッチSW1を接点dに接
続する。スイッチSW2,SW3はどの接点に接続して
もよい。その結果、加算回路34の出力はIDCT回路
8の出力と同じになる。
-[3]-<1> When the macroblock type is the intra-frame prediction screen; connect the switch SW1 to the contact point d. The switches SW2 and SW3 may be connected to any contact. As a result, the output of the adding circuit 34 becomes the same as the output of the IDCT circuit 8.

【0125】−[3]-<2> マクロブロック・タイプが順
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点bに接続し、後方参照領域3bから読み出した1
個のマクロブロック分のデータを、順方向予測メモリ3
2に格納する。そして、スイッチSW1を接点cに接続
する。その結果、加算回路34は、順方向予測メモリ3
2から読み出されたマクロブロックのデータと、IDC
T回路8の出力とを加算する。
-[3]-<2> When the macroblock type is a forward prediction screen; switches SW2 and SW3 are respectively connected to the contact b, and 1 is read from the rear reference area 3b
Data of macroblocks are stored in the forward prediction memory 3
2 is stored. Then, the switch SW1 is connected to the contact c. As a result, the addition circuit 34 outputs the forward prediction memory 3
2 and the macroblock data read from IDC
The output of the T circuit 8 is added.

【0126】−[3]-<3> マクロブロック・タイプが逆
方向予測画面の場合;スイッチSW2,SW3をそれぞ
れ接点aに接続し、前方参照領域3aから読み出した1
個のマクロブロック分のデータを、逆方向予測メモリ3
1に格納する。そして、スイッチSW1を接点aに接続
する。その結果、加算回路34は、逆方向予測メモリ3
1から読み出されたマクロブロックのデータと、IDC
T回路8の出力とを加算する。
-[3]-<3> When the macroblock type is the backward prediction screen; 1 is read from the forward reference area 3a by connecting the switches SW2 and SW3 to the contact a, respectively.
Data of macroblocks are stored in the backward prediction memory 3
1 is stored. Then, the switch SW1 is connected to the contact a. As a result, the addition circuit 34 outputs the backward prediction memory 3
1 and the macroblock data read from IDC
The output of the T circuit 8 is added.

【0127】−[3]-<4> マクロブロック・タイプが内
挿的予測画面の場合;まず、スイッチSW2,SW3を
それぞれ接点bに接続し、後方参照領域3bから読み出
した1個のマクロブロック分のデータを、順方向予測メ
モリ32に格納する。次に、スイッチSW2,SW3を
それぞれ接点aに接続し、前方参照領域3aから読み出
した1個のマクロブロック分のデータを、逆方向予測メ
モリ31に格納する。平均回路33は、逆方向予測メモ
リ31および順方向予測メモリ32から読み出されたデ
ータを平均化する。そして、スイッチSW1を接点bに
接続する。その結果、加算回路34は、平均回路33の
出力と、IDCT回路8の出力とを加算する。
-[3]-<4> When the macroblock type is an interpolation prediction screen; first, the switches SW2 and SW3 are respectively connected to the contact b, and one macroblock read from the rear reference area 3b The data for the minute is stored in the forward prediction memory 32. Next, the switches SW2 and SW3 are connected to the contacts a, respectively, and the data for one macroblock read from the forward reference area 3a is stored in the backward prediction memory 31. The averaging circuit 33 averages data read from the backward prediction memory 31 and the forward prediction memory 32. Then, the switch SW1 is connected to the contact b. As a result, the adding circuit 34 adds the output of the averaging circuit 33 and the output of the IDCT circuit 8.

【0128】各エラー検出回路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へ転送される。
When any one of the error detection circuits 13, 41 and 42 detects an error (error processing operation); the switch SW6 is connected to the contact b, and the switch SW
2 is connected to the contact a. The switch SW4 is connected to the contacts a to c corresponding to the areas 3a to 3c in which the picture containing the error is stored. The switch SW3 is connected to the contacts a to c corresponding to the areas 3a to 3c in which the picture to be output to the display 21 immediately before the picture containing the error is stored. And each area 3a ~
The data for one macroblock read out from any one of 3c is stored in the backward prediction memory 31 via the switches SW2 and SW3. Then, switch SW
1 is connected to the contact a. As a result, the output of the adder circuit 34 becomes the same as the data of the macro block read from the backward prediction memory 31. The output of the adding circuit 34 is
Via the switch SW4, the data is transferred to the areas 3a to 3c in which the picture containing the error is stored.

【0129】−[1] ハフマンエラー検出回路13がエ
ラーを検出した場合;上記のエラー処理動作を、エラー
が含まれていると判定されたスライス(前記スライスS
1)が、そのスライスが含まれているピクチャの1つ前
にディスプレイ21へ出力されるピクチャの対応するマ
クロブロック(前記マクロブロックMB1′〜MB
n′)によって置き代えられるまで、マクロブロック毎
に繰り返し行う。
-[1] When the Huffman error detection circuit 13 detects an error; the above-described error processing operation is performed on the slice determined to contain an error (the slice S
1) corresponds to the corresponding macroblock (the macroblocks MB1 ′ to MB1) of the picture output to the display 21 immediately before the picture containing the slice.
Repeatedly for each macroblock until replaced by n ').

【0130】上記のエラー処理動作を、図8に示すスラ
イスS1内にエラーが含まれていると判定され、図10
(d)(e)に示すように各ピクチャの順番が構成され
ている場合を例にとって説明する。
In the above error processing operation, it is determined that an error is included in the slice S1 shown in FIG.
(D) An example in which the order of each picture is configured as shown in (e) will be described.

【0131】−[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′に置
き代える。
-[1]-<1> When the picture including slice S1 is B picture B3 (see FIG. 11); switch SW
4 is connected to the contact point c corresponding to the B picture storage area 3c in which the B picture B3 is stored. Switch SW3
It connects to the contact point b corresponding to the backward reference area 3b where the I picture I2 is stored. Then, the data of the macro block MB1 'read from the backward reference area 3b is stored in the backward prediction memory 31 via the switches SW2 and SW3. Subsequently, only the data of the macro block MB1 'read from the backward prediction memory 31 is transferred to the B picture storage area 3c via the addition circuit. This error processing operation is repeated for each of the macro blocks MB2 'to MBn', and the slice S1 of the B picture B3 is
Replaced by macroblocks MB1 'to MBn' of picture I2.

【0132】−[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′に置き代え
る。
-[1]-<2> When the picture including slice S1 is B picture B4 (see FIG. 12); switch SW
4 is connected to the contact point c corresponding to the B picture storage area 3c in which the B picture B4 is stored. Switch SW3
It is connected to the contact point c corresponding to the B picture storage area 3c where the B picture B3 is stored. Then, the data of the macroblock MB1 ′ read from the B picture storage area 3c is stored in the backward prediction memory 31 via the switches SW2 and SW3. Subsequently, only the data of the macro block MB1 'read from the backward prediction memory 31 is transferred to the B picture storage area 3c via the addition circuit. That is, the data of the B picture B4 is not overwritten on the macroblock MB1 ', and the macroblock MB1' is not overwritten.
1 'will remain as it is. This error processing operation is repeated for each of the macroblocks MB2 'to MBn', and the slice S1 of the B picture B4 is replaced with the macroblocks MB1 'to MBn' of the B picture B3.

【0133】−[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′に置
き代える。
-[1]-<3> When the picture including slice S1 is P picture P5 (see FIG. 13); switch SW
4 is connected to the contact point a corresponding to the forward reference area 3a in which the P picture B5 is stored. The switch SW3 is connected to the contact c corresponding to the B picture storage area 3c where the B picture B4 is stored. Then, the B picture storage area 3c
The data of the macro block MB1 'read out from the backward prediction memory 31 via the switches SW2 and SW3.
To be stored. Subsequently, only the data of the macro block MB1 ′ read from the backward prediction memory 31 is transferred to the forward reference area 3a via the adder circuit. This error processing operation is repeated for each of the macro blocks MB2 'to MBn', and the slice S1 of the P picture P5 is
Replaced by macroblocks MB1 'to MBn' in picture B4.

【0134】−[2] DCエラー検出回路41または動
き領域エラー検出回路42がエラーを検出した場合;上
記のエラー処理動作を、エラーが含まれていると判定さ
れたスライス(前記スライスS1)内のマクロブロック
(前記マクロブロックMBm)以降の全てのマクロブロ
ック(前記マクロブロックMBm〜MBn)が、そのマ
クロブロックが含まれているピクチャの1つ前にディス
プレイ21へ出力されるピクチャの対応するマクロブロ
ック(前記マクロブロックMBm′〜MBn′)によっ
て置き代えられるまで、マクロブロック毎に繰り返し行
う。
[2] When the DC error detection circuit 41 or the motion area error detection circuit 42 detects an error; the above-described error processing operation is performed in the slice (the slice S1) determined to contain an error. Macroblocks (the macroblocks MBm to MBn) after the macroblock (the macroblock MBm) are the macros corresponding to the macros to be output to the display 21 immediately before the picture containing the macroblock. The process is repeated for each macro block until the block is replaced by the block (the macro blocks MBm 'to MBn').

【0135】上記のエラー処理動作を、図8に示すスラ
イスS1内のマクロブロックMBmにエラーが含まれて
いると判定され、図10(d)(e)に示すように各ピ
クチャの順番が構成されている場合を例にとって説明す
る。
In the above error processing operation, it is determined that an error is included in the macro block MBm in the slice S1 shown in FIG. 8, and the order of each picture is configured as shown in FIGS. 10 (d) and 10 (e). The following is an example of a case in which this is done.

【0136】−[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′に置き代える。
-[2]-<1> When the picture including the macro block MBm is the B picture B3 (see FIG. 3); the switch SW4 is set to the contact c corresponding to the B picture storage area 3c where the B picture B3 is stored. Connect to Switch SW
3 is connected to the contact point b corresponding to the backward reference area 3b where the I picture I2 is stored. And the rear reference area 3b
The data of the macro block MBm ′ read out from the backward prediction memory 31 via the switches SW2 and SW3.
To be stored. Subsequently, only the data of the macroblock MBm ′ read from the backward prediction memory 31 is transferred to the B picture storage area 3c via the addition circuit. This error processing operation is performed by referring to each of the macro blocks MBm + 1 'to M
The processing is repeated for Bn ', and the macroblocks MBm to MBn of the B picture B3 are replaced with the macroblocks MBm' to MBn 'of the I picture I2.

【0137】−[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′に置き代える。
-[2]-<2> When the picture including the macro block MBm is the B picture B4 (see FIG. 4); the switch SW4 is set to the contact c corresponding to the B picture storage area 3c where the B picture B4 is stored. Connect to Switch SW
3 is connected to the contact point c corresponding to the B picture storage area 3c where the B picture B3 is stored. Then, the data of the macro block MBm ′ read from the B picture storage area 3c is stored in the backward prediction memory 31 via the switches SW2 and SW3. Subsequently, the backward prediction memory 3
Only the data of the macro block MBm 'read from 1 is transferred to the B picture storage area 3c via the addition circuit 34. That is, for the macroblock MBm ', B
The data of the picture B4 is not overwritten, and the macroblock MBm 'remains as it is. This error processing operation is repeated for each of the macroblocks MBm + 1 'to MBn' to obtain the macroblock MB of the B picture B4.
m to MBn are the macroblocks MBm 'of the B picture B3
~ MBn '.

【0138】−[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′に置き代える。
-[2]-<3> When the picture including the macro block MBm is the P picture P5 (see FIG. 5); the switch SW4 is set to the contact point a corresponding to the forward reference area 3a where the P picture B5 is stored. Connecting. Switch SW3
It is connected to the contact point c corresponding to the B picture storage area 3c where the B picture B4 is stored. Then, the data of the macro block MBm ′ read from the B picture storage area 3c is stored in the backward prediction memory 31 via the switches SW2 and SW3. Subsequently, only the data of the macro block MBm ′ read from the backward prediction memory 31 is transferred to the forward reference area 3a via the adder circuit. This error processing operation is performed by referring to each of the macro blocks MBm + 1 'to M
This process is repeated for Bn 'to replace the macroblocks MBm to MBn of the P picture P5 with the macroblocks MBm' to MBn 'of the B picture B4.

【0139】このように、本実施形態によれば、以下の
作用および効果を得ることができる。 (1)ハフマンエラー検出回路13によってスライス毎
にエラー検出を行う。そして、あるスライスS1内にエ
ラーが含まれている場合には、前記エラー処理Aを行
う。
As described above, according to the present embodiment, the following operations and effects can be obtained. (1) The Huffman error detection circuit 13 performs error detection for each slice. When an error is included in a certain slice S1, the error processing A is performed.

【0140】(2)上記(1)により、フレームバッフ
ァ3に格納されるエラーを含むスライスS1を、そのス
ライスS1を含むピクチャの1つ前にディスプレイ21
へ出力されるピクチャの対応するマクロブロックMB
1′〜MBn′によって置き代えることができる。ディ
スプレイ21へ連続して出力される各ピクチャにおい
て、あるピクチャと、その前後のピクチャとは良く似て
おり、異なっているのは、そのごく一部分に過ぎない。
つまり、スライスS1とマクロブロックMB1′〜MB
n′とは同じデータ内容である可能性が高い。従って、
エラーを含むスライスS1をマクロブロックMB1′〜
MBn′によって置き代えれば、ほとんどの場合にエラ
ーを隠すことができる。
(2) According to the above (1), the slice S1 containing the error stored in the frame buffer 3 is placed on the display 21 immediately before the picture containing the slice S1.
Macroblock MB of picture output to
1 'to MBn'. In each picture successively output to the display 21, a certain picture is very similar to a picture before and after it, and only a part of the picture is different.
That is, the slice S1 and the macroblocks MB1 'to MB1
There is a high possibility that n 'has the same data content. Therefore,
The slice S1 including the error is replaced with the macroblock MB1 '
In most cases, the error can be hidden by replacing with MBn '.

【0141】(3)DCエラー検出回路41および動き
領域エラー検出回路42によってマクロブロック毎にエ
ラー検出を行う。そして、あるスライスS1内のあるマ
クロブロックMBm内にエラーが含まれている場合に
は、前記エラー処理Bを行う。
(3) The DC error detection circuit 41 and the motion area error detection circuit 42 perform error detection for each macro block. When an error is included in a certain macro block MBm in a certain slice S1, the error processing B is performed.

【0142】(4)上記(3)により、フレームバッフ
ァ3に格納されるエラーを含むスライスS1内のマクロ
ブロックMBm以降の全てのマクロブロックMBm〜M
Bnを、そのマクロブロックMBmを含むピクチャの1
つ前にディスプレイ21へ出力されるピクチャの対応す
るマクロブロックMBm′〜MBn′によって置き代え
ることができる。マクロブロックMBm〜MBnとマク
ロブロックMBm′〜MBn′とは同じデータ内容であ
る可能性が高い。従って、エラーを含むスライスS1内
のマクロブロックMBm以降の全てのマクロブロックM
Bm〜MBnをマクロブロックMBm′〜MBn′によ
って置き代えれば、ほとんどの場合にエラーを隠すこと
ができる。
(4) According to the above (3), all macro blocks MBm to M after the macro block MBm in the slice S1 containing an error stored in the frame buffer 3
Bn is set to 1 of the picture containing the macroblock MBm.
It can be replaced by the corresponding macroblock MBm 'to MBn' of the picture output to the display 21 immediately before. It is highly possible that the macro blocks MBm to MBn and the macro blocks MBm 'to MBn' have the same data content. Therefore, all the macroblocks M after the macroblock MBm in the slice S1 including the error
If Bm to MBn are replaced by macroblocks MBm 'to MBn', errors can be hidden in most cases.

【0143】(5)図9に示す従来例では上記(1)
(2)の作用および効果しか得られない。それに対し
て、本実施形態では、上記(1)(2)に加えて上記
(3)(4)の作用および効果を得ることができる。従
って、本実施形態によれば、従来例に比べて、エラー検
出の精度を高めることが可能になり、エラー耐性の強化
を図ることができる。
(5) In the conventional example shown in FIG.
Only the operation and effect of (2) can be obtained. On the other hand, in the present embodiment, the operations and effects of the above (3) and (4) can be obtained in addition to the above (1) and (2). Therefore, according to the present embodiment, it is possible to increase the accuracy of error detection as compared with the conventional example, and it is possible to enhance error tolerance.

【0144】(6)前記エラー処理Bにおいて、エラー
が含まれるマクロブロックMBmだけでなく、スライス
S1内のマクロブロックMBm以降の全てのマクロブロ
ックMBm〜MBnについてエラー処理を行うのは以下
の理由による。
(6) In the error processing B, the error processing is performed not only on the macroblock MBm containing the error but also on all the macroblocks MBm to MBn after the macroblock MBm in the slice S1 for the following reason. .

【0145】伝達メディア20内で生じた何らかの事故
により、伝達メディア20から転送されてきたビデオス
トリームの任意のビットに誤りがある場合、スライスの
途中でエラー状態が解除されることはほとんどない。
If any bit of the video stream transferred from the transmission medium 20 has an error due to some accident occurring in the transmission medium 20, the error state is hardly released in the middle of the slice.

【0146】例えば、図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…」と表される。つまり、ビデ
オストリームのあるビットが誤っていても、そのビデオ
ストリームはいずれかのハフマンコードと一致する。
For example, as shown in FIG. 7, (a): "0
The code of the video stream “00100101101001...” Is (b): “000110101101”.
001... Will be described as an example. Here, the Huffman code of the Huffman table is “11”: A, “10”:
B, "01": C, "001": D, "0001":
E, other codes: NG. Then, the correct video stream (a) is represented by “EDCBB” in Huffman code.
In contrast, the incorrect video stream (b) is represented as "EBBACD ...". That is, even if a certain bit of the video stream is incorrect, the video stream matches one of the Huffman codes.

【0147】このような場合、ハフマンエラー検出回路
13はエラーを検出することができず、可変長デコーダ
6はでたらめなデコード結果を出力し続けることにな
る。可変長デコーダ6のデコード結果には、DC係数や
動きベクトルに関する情報も含まれている。そのため、
可変長デコーダ6のデコード結果が誤っていると、DC
エラー検出回路41および動き領域エラー検出回路42
もエラーを検出することができなくなる。
In such a case, the Huffman error detection circuit 13 cannot detect an error, and the variable length decoder 6 continues to output random decoding results. The decoding result of the variable length decoder 6 also includes information on DC coefficients and motion vectors. for that reason,
If the decoding result of the variable length decoder 6 is incorrect, DC
Error detection circuit 41 and motion area error detection circuit 42
Cannot detect the error.

【0148】つまり、各エラー検出回路41,42が、
エラーが含まれるマクロブロックMBmの次のマクロブ
ロックMBm+1についてはエラーを検出しない場合で
も、マクロブロックMBm+1にエラーが含まれている
ことがある。従って、エラーが含まれるマクロブロック
MBmだけでなく、スライスS1内のそれ以降の全ての
マクロブロックMBm+1〜MBnについてもエラー処
理を行うことにより、確実なエラー検出を可能にしてい
るわけである。
That is, each of the error detection circuits 41 and 42
Even if no error is detected for the macro block MBm + 1 next to the macro block MBm containing the error, the macro block MBm + 1 may include the error. Therefore, by performing error processing not only on the macroblock MBm containing the error but also on all the subsequent macroblocks MBm + 1 to MBn in the slice S1, it is possible to reliably detect an error.

【0149】尚、上記各実施形態は以下のように変更し
てもよく、その場合でも同様の作用および効果を得るこ
とができる。 〔1〕各エラー検出回路13,41,42のうちいずれ
か1つを省く。また、ハフマンエラー検出回路13を省
くと共に、各エラー検出回路41,42のうちいずれか
1方だけを設ける。これらの場合には、上記実施形態に
比べてエラー検出の精度およびエラー耐性は低下するも
のの、従来例に比べれば強化することができる。
The embodiments described above may be modified as follows, and the same operation and effect can be obtained in such a case. [1] Any one of the error detection circuits 13, 41, 42 is omitted. In addition, the Huffman error detection circuit 13 is omitted, and only one of the error detection circuits 41 and 42 is provided. In these cases, although the accuracy of error detection and error tolerance are reduced as compared to the above embodiment, they can be enhanced as compared with the conventional example.

【0150】〔2〕前記エラー処理動作(−[1] 、
−[2] )において、スイッチSW2を接点bに接続す
る。そして、各領域3a〜3cのいずれか1つから読み
出した1個のマクロブロック分のデータを、スイッチS
W2,SW3を介して、順方向予測メモリ32に格納す
る。続いて、スイッチSW1を接点cに接続する。その
結果、加算回路34の出力は順方向予測メモリ32から
読み出されたマクロブロックのデータと同じになる。
[2] The error processing operation (-[1],
-[2]), switch SW2 is connected to contact b. Then, the data of one macroblock read from any one of the areas 3a to 3c is transferred to the switch S
The data is stored in the forward prediction memory 32 via W2 and SW3. Subsequently, the switch SW1 is connected to the contact c. As a result, the output of the adder circuit 34 becomes the same as the macroblock data read from the forward prediction memory 32.

【0151】〔3〕上記実施形態をCPUを用いたソフ
トウェア的な処理に置き代える。すなわち、各回路(4
〜9,12,13,41,42)における信号処理をC
PUを用いたソフトウェア的な信号処理に置き代える。
[3] The above embodiment is replaced with software processing using a CPU. That is, each circuit (4
, 9, 12, 13, 41, 42) by C
Replace with software-like signal processing using PU.

【0152】以上、各実施形態について説明したが、各
実施形態から把握できる請求項以外の技術的思想につい
て、以下にそれらの効果と共に記載する。 (イ)請求項4に記載のMPEGビデオデコーダにおい
て、フレームバッファを除く各回路を1チップ上に形成
したMPEGビデオデコーダ。
While the embodiments have been described above, technical ideas other than the claims that can be grasped from the embodiments will be described below together with their effects. (A) The MPEG video decoder according to claim 4, wherein each circuit except a frame buffer is formed on one chip.

【0153】このようにすれば、MPEGビデオデコー
ダ全体を小型化することができる。 (ロ)請求項4に記載のMPEGビデオデコーダにおい
て、MPEGビデオストリームを一時的に格納した後に
可変長デコーダへ転送するビットバッファを備えたMP
EGビデオデコーダ。
In this way, the entire MPEG video decoder can be downsized. (B) The MPEG video decoder according to claim 4, further comprising a bit buffer for temporarily storing the MPEG video stream and then transferring the MPEG video stream to a variable length decoder.
EG video decoder.

【0154】このようにすれば、伝送メディアから転送
されてくる各ピクチャのデータ量の相違を吸収すること
ができる。 (ハ)上記(ロ)に記載のMPEGビデオデコーダにお
いて、ビットバッファとフレームバッファとを1つのR
AMで構成したMPEGビデオデコーダ。
In this way, it is possible to absorb the difference in the data amount of each picture transferred from the transmission medium. (C) In the MPEG video decoder described in (b) above, the bit buffer and the frame buffer are
MPEG video decoder composed of AM.

【0155】このようにすれば、MPEGビデオデコー
ダを構成する部品点数が少なくなるため、コストを減少
させることができる。ところで、本明細書において、発
明の構成に係る部材は以下のように定義されるものとす
る。
In this way, the number of components constituting the MPEG video decoder is reduced, so that the cost can be reduced. By the way, in this specification, a member according to the configuration of the invention is defined as follows.

【0156】(a)エラー検出手段は、各エラー検出回
路13,41,42のうち少なくともいずれか1つから
構成される。 (b)エラー処理手段は、MC回路9および制御コア回
路12から構成される。
(A) The error detecting means comprises at least one of the error detecting circuits 13, 41 and 42. (B) The error processing means includes the MC circuit 9 and the control core circuit 12.

【0157】[0157]

【発明の効果】以上詳述したように本発明によれば、エ
ラー耐性の強化を図ることが可能なMPEGビデオデコ
ーダを提供することができる。
As described above in detail, according to the present invention, an MPEG video decoder capable of enhancing error resilience is provided.
It can provide over da.

【図面の簡単な説明】[Brief description of the drawings]

【図1】一実施形態のブロック回路図。FIG. 1 is a block circuit diagram of one embodiment.

【図2】一実施形態の作用を説明するための説明図。FIG. 2 is an explanatory diagram for explaining the operation of the embodiment.

【図3】一実施形態の作用を説明するための説明図。FIG. 3 is an explanatory diagram for explaining the operation of the embodiment.

【図4】一実施形態の作用を説明するための説明図。FIG. 4 is an explanatory diagram for explaining the operation of the embodiment;

【図5】一実施形態の作用を説明するための説明図。FIG. 5 is an explanatory diagram for explaining the operation of the embodiment.

【図6】一実施形態の要部ブロック回路図。FIG. 6 is a main part block circuit diagram of one embodiment.

【図7】一実施形態の作用を説明するための説明図。FIG. 7 is an explanatory diagram for explaining the operation of the embodiment;

【図8】一実施形態および従来例の作用を説明するため
の説明図。
FIG. 8 is an explanatory diagram for explaining the operation of one embodiment and a conventional example.

【図9】従来例のブロック回路図。FIG. 9 is a block circuit diagram of a conventional example.

【図10】一実施形態および従来例の作用を説明するた
めの説明図。
FIG. 10 is an explanatory diagram for explaining the operation of one embodiment and a conventional example.

【図11】一実施形態および従来例の作用を説明するた
めの説明図。
FIG. 11 is an explanatory diagram for explaining the operation of one embodiment and a conventional example.

【図12】一実施形態および従来例の作用を説明するた
めの説明図。
FIG. 12 is an explanatory diagram for explaining the operation of one embodiment and a conventional example.

【図13】一実施形態および従来例の作用を説明するた
めの説明図。
FIG. 13 is an explanatory diagram for explaining the operation of one embodiment and a conventional example.

【図14】従来例の要部ブロック回路図。FIG. 14 is a main part block circuit diagram of a conventional example.

【符号の説明】[Explanation of symbols]

3…フレームバッファ 5…スライスヘッダ検出回路 6…可変長デコーダ 7…逆量子化回路 8…IDCT回路 9…MC回路 12…制御コア回路 13…ハフマンエラー検出回路 41…DCエラー検出回路 42…動き領域エラー検出回路 43…動きベクトル復元回路 DESCRIPTION OF SYMBOLS 3 ... Frame buffer 5 ... Slice header detection circuit 6 ... Variable length decoder 7 ... Inverse quantization circuit 8 ... IDCT circuit 9 ... MC circuit 12 ... Control core circuit 13 ... Huffman error detection circuit 41 ... DC error detection circuit 42 ... Motion area Error detection circuit 43: Motion vector restoration circuit

フロントページの続き (56)参考文献 特開 平6−268992(JP,A) 特開 平6−105285(JP,A) 特開 平5−252055(JP,A) 特開 平4−233388(JP,A) 特開 平7−38888(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 7/24 - 7/68 Continuation of the front page (56) References JP-A-6-268992 (JP, A) JP-A-6-105285 (JP, A) JP-A-5-252055 (JP, A) JP-A-4-233388 (JP) , A) JP-A-7-38888 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H04N 7/ 24-7/68

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 MPEGビデオストリームに含まれるエ
ラーを検出するエラー検出手段と、 エラー検出手段の検出結果に従い、エラーが含まれるデ
ータを、エラーが含まれているBピクチャの1つ前にデ
ィスプレイへ出力されるピクチャの対応するデータに置
き代えることでエラーを隠すエラー処理手段とを備え、 前記エラー検出手段は、マクロブロック毎に動きベクト
ルの復元を行う際に、動きベクトルを監視することでマ
クロブロック毎にエラー検出を行うMPEGビデオデコ
ーダ。
1. An error detecting means for detecting an error contained in an MPEG video stream, and data containing the error is sent to a display immediately before the B picture containing the error according to a detection result of the error detecting means. Error processing means for concealing an error by replacing the data with corresponding data of an output picture, wherein the error detection means monitors a motion vector when performing a motion vector restoration for each macro block. MPEG video decoder that performs error detection for each block.
【請求項2】 MPEGビデオストリームに含まれるエ
ラーを、スライス毎またはマクロブロック毎に検出する
エラー検出手段と、 エラー検出手段の検出結果に従い、エラーが含まれるス
ライスまたはマクロブロックを、エラーが含まれている
Bピクチャの1つ前にディスプレイへ出力されるピクチ
ャの対応するスライスまたはマクロブロックに置き代え
ることでエラーを隠すエラー処理手段とを備え、 前記エラー検出手段は、マクロブロック毎に動きベクト
ルの復元を行う際に、動きベクトルを監視することでマ
クロブロック毎にエラー検出を行うMPEGビデオデコ
ーダ。
2. An error detecting means for detecting an error contained in an MPEG video stream for each slice or each macroblock, and a slice or a macroblock containing an error is detected according to a detection result of the error detecting means. Error processing means for concealing an error by replacing a corresponding slice or macroblock of a picture output to the display immediately before the present B picture, the error detection means comprising: An MPEG video decoder that monitors a motion vector and performs error detection for each macroblock when performing restoration.
【請求項3】 MPEGビデオストリームに含まれるエ
ラーを、スライス毎またはマクロブロック毎に検出する
エラー検出手段と、 エラー検出手段が、あるスライス内にエラーが含まれて
いると検出した場合には、そのエラーが含まれるスライ
スを、そのスライスが含まれているBピクチャの1つ前
にディスプレイへ出力されるピクチャの対応するスライ
スに置き代え、 エラー検出手段が、あるスライス(S1)内のあるマク
ロブロック(MBm)内にエラーが含まれていると検出
した場合には、そのスライス(S1)内のマクロブロッ
ク(MBm)以降の全てのマクロブロック(MBm〜M
Bn)を、そのスライス(S1)が含まれているBピク
チャの1つ前にディスプレイへ出力されるピクチャの対
応するマクロブロック(MBm′〜MBn′)に置き代
えることでエラーを隠すエラー処理手段とを備え、 前記エラー検出手段は、マクロブロック毎に動きベクト
ルの復元を行う際に、動きベクトルを監視することでマ
クロブロック毎にエラー検出を行うMPEGビデオデコ
ーダ。
3. An error detecting means for detecting an error included in an MPEG video stream for each slice or each macroblock, and when the error detecting means detects that an error is included in a certain slice, The slice containing the error is replaced with the corresponding slice of the picture output to the display immediately before the B picture containing the slice, and the error detecting means replaces a macro in a slice (S1) When it is detected that an error is included in the block (MBm), all the macroblocks (MBm to M) after the macroblock (MBm) in the slice (S1) are detected.
Error processing means for concealing an error by replacing Bn) with a corresponding macroblock (MBm 'to MBn') of a picture to be output to a display immediately before a B picture including the slice (S1) An MPEG video decoder, wherein the error detection means monitors a motion vector and performs error detection for each macroblock when restoring a motion vector for each macroblock.
【請求項4】 MPEGビデオストリームの各スライス
の先頭に付くスライスヘッダを検出するスライスヘッダ
検出回路と、 MPEGビデオストリームに対してハフマンテーブルに
格納されているハフマンコードに基づいた可変長デコー
ドを行う可変長デコーダと、 可変長デコーダのデコード結果に対して量子化テーブル
に格納されている量子化閾値に基づいた逆量子化を行い
離散コサイン変換係数を求める逆量子化回路と、 逆量子化回路が求めた離散コサイン変換係数に対して離
散コサイン逆変換を行う離散コサイン逆変換回路と、 離散コサイン逆変換回路の処理結果に対して動き補償付
予測を行う動き補償付予測回路と、 動き補償付予測回路の処理結果の各ピクチャを一時的に
格納し、各ピクチャの順番を動き補償付予測回路を介し
て並べ替えて出力するフレームバッファと、 マクロブロック毎に動きベクトルを復元する動きベクト
ル復元回路と、 MPEGビデオストリームに含まれるエラーを、スライ
ス毎またはマクロブロック毎に検出するエラー検出手段
と、 エラー検出手段の検出結果に従ってエラーを隠すエラー
処理手段とを備え、 エラー検出手段は、マクロブロック毎に動きベクトルの
復元を行う際に、動きベクトルを監視することでマクロ
ブロック毎にエラー検出を行い、 エラー処理手段は、 エラー検出手段が、あるスライス内にエラーが含まれて
いると検出した場合には、エラーが含まれるスライス
(S1)に対する可変長デコーダのデコード処理を停止
させてデコード処理結果を無効にさせ、スライスヘッダ
検出回路の検出結果に基づいて、次のスライス(S2)
の可変長デコードを可変長デコーダに行わせ、フレーム
バッファに格納されるエラーが含まれるスライス(S
1)を、そのスライスが含まれているBピクチャの1つ
前にディスプレイへ出力されるピクチャの対応するスラ
イスに置き代え、 エラー検出手段が、あるスライス(S1)内のあるマク
ロブロック(MBm)内にエラーが含まれていると検出
した場合には、エラーが含まれるスライス(S1)内の
マクロブロック(MBm)以降の全てのマクロブロック
(MBm〜MBn)に対する可変長デコーダ,逆量子化
回路,離散コサイン逆変換回路の処理を停止させて処理
結果を無効にさせ、スライスヘッダ検出回路の検出結果
に基づいて、次のスライス(S2)の処理を可変長デコ
ーダ,逆量子化回路,離散コサイン逆変換回路に行わ
せ、フレームバッファに格納される前記全てのマクロブ
ロック(MBm〜MBn)を、そのスライス(S1)が
含まれているBピクチャの1つ前にディスプレイへ出力
されるピクチャの対応するマクロブロック(MBm′〜
MBn′)に置き代えるMPEGビデオデコーダ。
4. A slice header detection circuit for detecting a slice header attached to the beginning of each slice of the MPEG video stream, and a variable for performing variable length decoding on the MPEG video stream based on a Huffman code stored in a Huffman table. A long decoder, an inverse quantization circuit for performing inverse quantization on the decoding result of the variable length decoder based on the quantization threshold stored in the quantization table to obtain a discrete cosine transform coefficient, and an inverse quantization circuit A discrete cosine inverse transform circuit that performs inverse discrete cosine transform on the discrete cosine transform coefficient, a motion compensated prediction circuit that performs motion compensated prediction on the processing result of the discrete cosine inverse transform circuit, and a motion compensated prediction circuit Are temporarily stored, and the order of each picture is determined via the prediction circuit with motion compensation. A frame buffer for replacing and outputting, a motion vector restoration circuit for restoring a motion vector for each macroblock, an error detection means for detecting an error contained in the MPEG video stream for each slice or each macroblock, and an error detection means Error processing means for concealing an error according to the detection result of the error detection means. The error detection means performs error detection for each macro block by monitoring the motion vector when restoring a motion vector for each macro block. When the error detection unit detects that an error is included in a certain slice, the error detection unit stops the decoding process of the variable length decoder for the slice (S1) including the error and invalidates the decoding process result. The next slice based on the detection result of the slice header detection circuit. S2)
Of the slice containing the error stored in the frame buffer (S
1) is replaced with a corresponding slice of a picture to be output to a display immediately before a B picture including the slice, and the error detecting means determines that a certain macroblock (MBm) in a certain slice (S1) If it is detected that the macro block contains an error, the variable length decoder and the inverse quantization circuit for all macro blocks (MBm to MBn) after the macro block (MBm) in the slice (S1) containing the error , The processing of the discrete cosine inverse transform circuit is stopped to invalidate the processing result, and the processing of the next slice (S2) is performed based on the detection result of the slice header detection circuit, using a variable length decoder, an inverse quantization circuit, a discrete cosine circuit. The slice (S1) includes all the macroblocks (MBm to MBn) stored in the frame buffer, which are performed by the inverse conversion circuit. The corresponding macroblock (MBm′〜) of the picture output to the display immediately before the rare B picture
MPEG video decoder to replace MBn ').
【請求項5】 請求項1〜4のいずれか1項に記載のM
PEGビデオデコーダにおいて、前記エラー検出手段
は、マクロブロック毎に動きベクトルの復元を行う際
に、動きベクトルがピクチャ内を示しているかどうかを
検出し、ピクチャ外を示している場合、その動きベクト
ルを含むマクロブロック内にエラーが含まれていると判
定するMPEGビデオデコーダ。
5. The M according to claim 1, wherein
In the PEG video decoder, when restoring a motion vector for each macroblock, the error detection means detects whether or not the motion vector indicates an inside of a picture. An MPEG video decoder that determines that an error is included in the included macroblock.
【請求項6】 請求項1〜4のいずれか1項に記載のM
PEGビデオデコーダにおいて、前記エラー検出手段に
代えて、 ハフマンコードに基づいた可変長デコードを行う際に、
デコード処理を監視することでスライス毎にエラー検出
を行う第1のエラー検出回路と、 量子化閾値に基づいた逆量子化を行う際に、逆量子化処
理を監視することでマクロブロック毎にエラー検出を行
う第2のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルを監視することでマクロブロック毎にエラー
検出を行う第3のエラー検出回路とからなるエラー検出
手段を備えたMPEGビデオデコーダ。
6. The M according to claim 1, wherein:
In the PEG video decoder, when performing the variable length decoding based on the Huffman code instead of the error detecting means,
A first error detection circuit that detects an error for each slice by monitoring a decoding process; and, when performing inverse quantization based on a quantization threshold, monitors an error in each macroblock by monitoring the inverse quantization process. An error detection circuit comprising: a second error detection circuit for performing detection; and a third error detection circuit for performing error detection for each macroblock by monitoring a motion vector when restoring a motion vector for each macroblock. MPEG video decoder with means.
【請求項7】 請求項1〜4のいずれか1項に記載のM
PEGビデオデコーダにおいて、前記エラー検出手段に
代えて、 ハフマンコードに基づいた可変長デコードを行う際に、
デコード処理を監視することでスライス毎にエラー検出
を行う第1のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルを監視することでマクロブロック毎にエラー
検出を行う第2のエラー検出回路とからなるエラー検出
手段を備えたMPEGビデオデコーダ。
7. The M according to claim 1, wherein:
In the PEG video decoder, when performing the variable length decoding based on the Huffman code instead of the error detecting means,
A first error detection circuit that performs error detection for each slice by monitoring a decoding process, and performs an error detection for each macroblock by monitoring a motion vector when a motion vector is restored for each macroblock. An MPEG video decoder provided with an error detection means including a second error detection circuit.
【請求項8】 請求項1〜4のいずれか1項に記載のM
PEGビデオデコーダにおいて、前記エラー検出手段に
代えて、 量子化閾値に基づいた逆量子化を行う際に、逆量子化処
理を監視することでマクロブロック毎にエラー検出を行
第1のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルを監視することでマクロブロック毎にエラー
検出を行う第2のエラー検出回路とからなるエラー検出
手段を備えたMPEGビデオデコーダ。
8. The M according to claim 1, wherein:
In the PEG video decoder, a first error detection circuit that performs error detection for each macroblock by monitoring the inverse quantization process when performing inverse quantization based on a quantization threshold in place of the error detection means. An MPEG video decoder comprising: an error detection unit comprising: a second error detection circuit that monitors a motion vector when a motion vector is restored for each macroblock and detects an error for each macroblock.
【請求項9】 請求項1〜4のいずれか1項に記載のM
PEGビデオデコーダにおいて、前記エラー検出手段に
代えて、 ハフマンテーブルに格納されているハフマンコードに基
づいた可変長デコードを行う際に、スライスに対応する
データがハフマンテーブルに格納されていない場合や、
スライスに対応するデータが過去のデコード結果と矛盾
する場合、そのスライス内にエラーが含まれていると判
定することで、スライス毎にエラー検出を行う第1のエ
ラー検出回路と、 量子化閾値に基づいた逆量子化を行う際に、離散コサイ
ン変換係数のうち直流係数が所定値内に納まっているか
どうかをマクロブロック毎に検出し、納まっていない場
合、そのマクロブロック内にエラーが含まれていると判
定する第2のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルがピクチャ内を示しているかどうかを検出
し、ピクチャ外を示している場合、その動きベクトルを
含むマクロブロック内にエラーが含まれていると判定す
る第3のエラー検出回路とからなるエラー検出手段を備
えたMPEGビデオデコーダ。
9. The M according to claim 1, wherein:
In the PEG video decoder, when performing variable-length decoding based on the Huffman code stored in the Huffman table instead of the error detection means, when data corresponding to a slice is not stored in the Huffman table,
When data corresponding to a slice is inconsistent with a past decoding result, a first error detection circuit that performs error detection for each slice by determining that an error is included in the slice; When performing inverse quantization based on each of the discrete cosine transform coefficients, it is detected whether or not the DC coefficient is within a predetermined value for each macroblock, and if not, an error is included in the macroblock. A second error detection circuit that determines that the motion vector is present, and, when restoring a motion vector for each macroblock, detects whether the motion vector indicates an inside of a picture. MPEG video data provided with error detection means comprising a third error detection circuit for determining that an error is included in a macroblock including Over da.
【請求項10】 請求項1〜4のいずれか1項に記載の
MPEGビデオデコーダにおいて、前記エラー検出手段
に代えて、 ハフマンテーブルに格納されているハフマンコードに基
づいた可変長デコードを行う際に、スライスに対応する
データがハフマンテーブルに格納されていない場合や、
スライスに対応するデータが過去のデコード結果と矛盾
する場合、そのスライス内にエラーが含まれていると判
定することで、スライス毎にエラー検出を行う第1の
ラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルがピクチャ内を示しているかどうかを検出
し、ピクチャ外を示している場合、その動きベクトルを
含むマクロブロック内にエラーが含まれていると判定す
第2のエラー検出回路とからなるエラー検出手段を備
えたMPEGビデオデコーダ。
10. The MPEG video decoder according to claim 1, wherein, when performing a variable length decoding based on a Huffman code stored in a Huffman table, instead of said error detecting means. , If the data corresponding to the slice is not stored in the Huffman table,
If the data corresponding to the slice is inconsistent with the past decoding result, it is determined that an error is included in the slice, and a first error detection circuit that performs error detection for each slice is provided. When restoring a motion vector for each macroblock, it is detected whether or not the motion vector indicates the inside of the picture. If the motion vector indicates outside the picture, an error is included in the macroblock including the motion vector. An MPEG video decoder comprising an error detection means including a second error detection circuit for determining that there is an error.
【請求項11】 請求項1〜4のいずれか1項に記載の
MPEGビデオデコーダにおいて、前記エラー検出手段
に代えて、 量子化閾値に基づいた逆量子化を行う際に、離散コサイ
ン変換係数のうち直流係数が所定値内に納まっているか
どうかをマクロブロック毎に検出し、納まっていない場
合、そのマクロブロック内にエラーが含まれていると判
定する第1のエラー検出回路と、 マクロブロック毎に動きベクトルの復元を行う際に、動
きベクトルがピクチャ内を示しているかどうかを検出
し、ピクチャ外を示している場合、その動きベクトルを
含むマクロブロック内にエラーが含まれていると判定す
第2のエラー検出回路とからなるエラー検出手段を備
えたMPEGビデオデコーダ。
11. The MPEG video decoder according to claim 1, wherein, when performing inverse quantization based on a quantization threshold instead of said error detecting means, a discrete cosine transform coefficient is used. A first error detection circuit for detecting whether or not the DC coefficient is within a predetermined value for each macroblock, and if not, determining that an error is included in the macroblock; When the motion vector is restored, it is detected whether the motion vector indicates the inside of the picture. If the motion vector indicates the outside of the picture, it is determined that an error is included in the macroblock including the motion vector. An MPEG video decoder provided with an error detection means including a second error detection circuit.
JP30778595A 1994-11-29 1995-11-27 MPEG video decoder Expired - Lifetime JP3203172B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30778595A JP3203172B2 (en) 1994-11-29 1995-11-27 MPEG video decoder

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP29501894 1994-11-29
JP6-295018 1994-11-29
JP29712295 1995-11-15
JP7-297122 1995-11-15
JP30778595A JP3203172B2 (en) 1994-11-29 1995-11-27 MPEG video decoder

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000347212A Division JP3322670B2 (en) 1994-11-29 2000-11-14 MPEG video decoder

Publications (2)

Publication Number Publication Date
JPH09200743A JPH09200743A (en) 1997-07-31
JP3203172B2 true JP3203172B2 (en) 2001-08-27

Family

ID=27337952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30778595A Expired - Lifetime JP3203172B2 (en) 1994-11-29 1995-11-27 MPEG video decoder

Country Status (1)

Country Link
JP (1) JP3203172B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604290B2 (en) 1998-09-25 2004-12-22 沖電気工業株式会社 Moving image decoding method and apparatus
AU743246B2 (en) 1998-11-04 2002-01-24 Mitsubishi Denki Kabushiki Kaisha Image decoder and image encoder
US8379733B2 (en) 2006-09-26 2013-02-19 Qualcomm Incorporated Efficient video packetization methods for packet-switched video telephony applications
US9357233B2 (en) * 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling

Also Published As

Publication number Publication date
JPH09200743A (en) 1997-07-31

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
EP0895694B1 (en) System and method for creating trick play video streams from a compressed normal play video bitstream
US20070153894A1 (en) Picture encoding method and apparatus and picture decoding method and apparatus
US5786858A (en) Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
JP3813444B2 (en) Video decoder
US7245821B2 (en) Image processing using shared frame memory
JPH0759115A (en) Method and apparatus for processing of stereo video signal
US6754274B2 (en) Video data recording method and apparatus for high-speed reproduction
JP2001346165A (en) Image processing method and image processing unit utilizing this method and television receiver
JPH0818979A (en) Image processor
JP4114210B2 (en) Video data compression apparatus and method
JP3203172B2 (en) MPEG video decoder
US6373905B1 (en) Decoding apparatus and decoding method
JP3322670B2 (en) MPEG video decoder
KR20020065908A (en) Image reproducing method and image processing method, and image reproducing device, image processing device, and television receiver capable of using the methods
JP3245496B2 (en) Image encoding method, image encoding circuit, image encoding device, and playback device
JP3568504B2 (en) MPEG video decoder
JP4032446B2 (en) Video data compression apparatus and method
US20040179032A1 (en) Method of intelligent video stream modification
WO1998042139A1 (en) Video decoder with reduced size display buffer
JP3515565B2 (en) Image processing method, image processing apparatus capable of using the method, and television receiver
JP3548167B2 (en) Image processing device
JP2001238167A (en) Image reproducing method, image reproducing apparatus capable of using the method and television receiver

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080622

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090622

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090622

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130622

Year of fee payment: 12

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