JP2009105986A - Decoder - Google Patents

Decoder Download PDF

Info

Publication number
JP2009105986A
JP2009105986A JP2009032808A JP2009032808A JP2009105986A JP 2009105986 A JP2009105986 A JP 2009105986A JP 2009032808 A JP2009032808 A JP 2009032808A JP 2009032808 A JP2009032808 A JP 2009032808A JP 2009105986 A JP2009105986 A JP 2009105986A
Authority
JP
Japan
Prior art keywords
reference frame
error
decoding
slice
decoded
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.)
Pending
Application number
JP2009032808A
Other languages
Japanese (ja)
Inventor
Michiyo Morimoto
美智代 森本
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009032808A priority Critical patent/JP2009105986A/en
Publication of JP2009105986A publication Critical patent/JP2009105986A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform error concealment processing by determining an optimum reference frame when carrying out error concealment. <P>SOLUTION: When a decode error is detected in macro block information that resides in slice information in a bit stream and error concealment processing is performed, a frame having the display time closest to a slice with the decode error detected is used as a reference frame for error concealment in the reproduction images accumulated in a reference frame buffer. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、エラーコンシールメントの参照フレーム決定方法およびそれを備えた復号器
に関する。
The present invention relates to a method for determining a reference frame for error concealment and a decoder including the same.

近年、画像圧縮の研究・開発が進み、MPEG4(ISO/IEC14496−2)、
H.264(ISO/IEC14496−10)などの動画像符号化方法が規格化されて
いる。そして、この方法は、ディジタル放送、インターネット通信、携帯電話通信等とい
ったような様々な分野で用いられている。
In recent years, research and development of image compression has progressed, MPEG4 (ISO / IEC14496-2),
H. Video encoding methods such as H.264 (ISO / IEC 14496-10) are standardized. This method is used in various fields such as digital broadcasting, Internet communication, mobile phone communication and the like.

データ通信において、画像データをMPEG4符号化方式等にてエンコードした符号化
データが送られてきた場合、受信側は、その送られてきた符号化データを復号器にてデコ
ードして出力することが一般的である。符号化データを復号器にてデコードする際、無線
通信の状態の悪化等で、「0」データが「1」データに変化するといったような異なった
データになるといったエラーが起きる事がある。そして、そのエラーが原因でデコードエ
ラーが発生し、それを復号器が検出した際は、その部分の画像フレームデータの再送を送
信元に要求する対策が講じられる。しかし、画像データの再送を要求する方法は、再送す
るのに更に時間を要するため、あまり有効な方法ではない。
In data communication, when encoded data obtained by encoding image data by the MPEG4 encoding method or the like is sent, the receiving side can decode and output the sent encoded data by a decoder. It is common. When the encoded data is decoded by the decoder, an error such as “0” data changing to “1” data may occur due to deterioration of the wireless communication state or the like. When a decoding error occurs due to the error and the decoder detects the decoding error, a countermeasure is taken to request the transmission source to retransmit the image frame data of that portion. However, the method of requesting retransmission of image data is not very effective because it takes more time to retransmit.

また、デコードエラーの対策として、復号器においてエラーコンシールメントと呼ばれ
ているエラー画像補完を行うことが提案されている(例えば、特許文献1参照)。
As a countermeasure against decoding errors, it has been proposed to perform error image interpolation called error concealment in a decoder (see, for example, Patent Document 1).

このエラーコンシールメント処理では、デコードエラーが検出された画像フレームはそ
のままでは使用できないため、他の画像フレームデータ(以下参照フレームという)を参
照して疑似データを作成する必要がある。そして、MPEG4符号化方式等では、その参
照フレームは直前にデコードしたフレームと規格されていたため、その直前にデコードし
たフレームまたは最も表示時刻が近いフレームを参照してエラーコンシールメント処理を
行っていた。
In this error concealment process, since an image frame in which a decoding error is detected cannot be used as it is, it is necessary to create pseudo data with reference to other image frame data (hereinafter referred to as a reference frame). In the MPEG4 encoding method and the like, the reference frame is standardized as the frame decoded immediately before, and the error concealment process is performed with reference to the frame decoded immediately before or the frame with the closest display time.

特開2001−309388号公報(2頁、3頁、6頁乃至9頁、図1)JP 2001-309388 A (page 2, page 3, pages 6 to 9, page 1)

H.264符号化方式で符号化されたデータの復号化において、デコードエラーが検出
された場合は、MPEG4符号化方式等と同様にエラーコンシールメント処理を行う必要
がある。しかしながら、H.264符号化方式の規格ではMPEG4符号化方式等とは異
なり、エラーコンシールメント処理の際の参照フレームについては何ら規定されていない
。そのため、H.264符号化方式においては、エラーコンシールメント処理する際に、
どのフレームを参照してエラーコンシールメント処理をするかという課題があり、参照フ
レームの選択によっては、符号化前の画像データとは全く違う画像データにデコードされ
てしまうという問題点がある。
H. In the decoding of data encoded by the H.264 encoding method, when a decoding error is detected, it is necessary to perform error concealment processing as in the MPEG4 encoding method. However, H.C. In the H.264 coding standard, unlike the MPEG4 coding system, no reference frame is specified for error concealment processing. Therefore, H.H. In the H.264 encoding method, when error concealment processing is performed,
There is a problem of which frame is used for error concealment processing, and depending on the selection of the reference frame, there is a problem that the image data is decoded to completely different from the image data before encoding.

したがって、本発明は以上の問題点を解決するためになされたもので、エラーコンシー
ルメント処理を行う際に参照フレームを複数のフレームの中から選択する例えばH.26
4符号化方式の復号器において最適な参照フレームを決定してエラーコンシールメント処
理ができるエラーコンシールメントの参照フレーム決定方法、およびその機能を備えた復
号器を提供することを目的とする。
Accordingly, the present invention has been made to solve the above-described problems, and a reference frame is selected from a plurality of frames when performing error concealment processing. 26
It is an object of the present invention to provide an error concealment reference frame determination method capable of determining an optimal reference frame in a four-coding decoder and performing error concealment processing, and a decoder having the function.

上記目的を達成するために、本発明による復号器は、・・・を特徴としている。   In order to achieve the above object, a decoder according to the present invention is characterized by the following.

本発明によれば、エラーコンシールメント処理の参照フレームを複数のフレームの中か
ら選択する例えばH.264符号化方式にて符号化された符号化データを復号器でデコー
ドする際に、最適な参照フレームを決定してエラーコンシールメント処理を行うため、よ
り画質のよい再生画像データを得ることができる。
According to the present invention, a reference frame for error concealment processing is selected from a plurality of frames. When decoding the encoded data encoded by the H.264 encoding method by the decoder, the optimum reference frame is determined and error concealment processing is performed, so that reproduced image data with better image quality can be obtained. .

本発明の実施例における、H.264復号器の内部構造を示したブロック図。In an embodiment of the present invention, H.P. The block diagram which showed the internal structure of H.264 decoder. 本発明の実施例における、参照フレームバッファ部9の内部状態を示した図。The figure which showed the internal state of the reference frame buffer part 9 in the Example of this invention. 本発明の実施例における、スライス情報の構成を示す図。The figure which shows the structure of the slice information in the Example of this invention. 本発明の実施例における、イントラマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示す図。The figure which shows the reference frame determination method when the decoding error is detected in the intra macroblock in the Example of this invention. 本発明の実施例における、イントラマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示したフローチャート。The flowchart which showed the reference frame determination method when the decoding error is detected by the intra macroblock in the Example of this invention. インターマクロブロックにおけるパーティション分割を示す図。The figure which shows the partition division | segmentation in an intermacroblock. 本発明の実施例における、イントラマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示す図。The figure which shows the reference frame determination method when the decoding error is detected in the intra macroblock in the Example of this invention. 本発明の実施例における、パーティションに分かれていないインターマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示したフローチャート。The flowchart which showed the reference frame determination method when a decoding error is detected in the inter macroblock which is not divided into partitions in the Example of this invention. 本発明の実施例における、パーティションに分かれていないインターマクロブロックでデコードエラーが検出された場合の参照フレーム決定における隣接ブロックを示す図。The figure which shows the adjacent block in reference frame determination when the decoding error is detected in the inter macroblock which is not divided into the partitions in the Example of this invention. 本発明の実施例における、パーティションに分かれているインターマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示したフローチャート。The flowchart which showed the reference frame determination method when the decoding error is detected in the inter macroblock divided into the partitions in the Example of this invention. 本発明の実施例における、パーティションに分かれているインターマクロブロックでデコードエラーが検出された場合の参照フレーム決定方法を示す図。The figure which shows the reference frame determination method when a decoding error is detected in the inter macroblock divided into the partitions in the Example of this invention. 本発明の実施例における、「隣接するスライス」を説明した図。The figure explaining the "adjacent slice" in the Example of this invention.

以下に、本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described.

本発明をH.264符号化方式の復号器に適用した実施例を図1乃至11を参照して説
明する。図1は、本発明の実施例におけるH.264復号器の内部構造を示したブロック
図である。
The present invention is described in H.C. An embodiment applied to a decoder of the H.264 encoding method will be described with reference to FIGS. FIG. It is the block diagram which showed the internal structure of H.264 decoder.

復号器1は、解読部2と、逆量子化部3と、逆DCT変換部4と、復号加算部5と、イ
ントラ予測部6と、フィルタ7と、動き補償部8と、参照フレームバッファ部9と、スイ
ッチ10とを備えている。そして、解読部2と、逆量子化部3と、逆DCT変換部4と、
復号加算部5と、イントラ予測部6と、フィルタ7と、動き補償部8と、参照フレームバ
ッファ部9と、スイッチ10とは、それぞれ制御部11によって動作制御が行われている
The decoder 1 includes a decoding unit 2, an inverse quantization unit 3, an inverse DCT conversion unit 4, a decoding addition unit 5, an intra prediction unit 6, a filter 7, a motion compensation unit 8, and a reference frame buffer unit. 9 and a switch 10. And the decoding part 2, the inverse quantization part 3, the inverse DCT transformation part 4,
The decoding adder 5, the intra predictor 6, the filter 7, the motion compensator 8, the reference frame buffer 9, and the switch 10 are controlled by the controller 11, respectively.

まず、各部の動作を説明する。解読部2は、復号器1に送られてきたデータD1をビッ
トストリームシンタックスにしたがってビットストリームを解読し、符号化データを復元
する機能を有する。また、解読部2の内部にはビットストリーム解析部12とエラー処理
部13を有し、更にビットストリーム解析部12の内部にはエラー検出部14が設けられ
ている。解読部2の詳細な動作は後述する。
First, the operation of each unit will be described. The decrypting unit 2 has a function of decrypting the bit stream of the data D1 sent to the decoder 1 according to the bit stream syntax and restoring the encoded data. The decoding unit 2 includes a bit stream analysis unit 12 and an error processing unit 13, and an error detection unit 14 is provided inside the bit stream analysis unit 12. The detailed operation of the decoding unit 2 will be described later.

逆量子化部3は、解読部2からのデータD2の逆量子化を行う。そして、逆量子化され
たデータD3は、逆DCT変換部4へ送られる。
The inverse quantization unit 3 performs inverse quantization on the data D2 from the decryption unit 2. Then, the inversely quantized data D3 is sent to the inverse DCT transform unit 4.

逆DCT変換部4は、データD3の逆DCT変換を行う。そして、逆DCT変換された
データD4(予測残差信号)は、復号加算部5に送られる。
The inverse DCT conversion unit 4 performs inverse DCT conversion of the data D3. Then, the inverse DCT-transformed data D4 (prediction residual signal) is sent to the decoding adder 5.

復号加算部5は、スイッチ10の接続状態によって処理が異なる。このスイッチ10は
、解読部2からのモード信号によってイントラ(フレーム内)予測モードと、インター(
フレーム間)予測モードとに切り替わる。そして、イントラ予測モードのときは、スイッ
チ10はイントラ予測部6に接続され、復号加算部5はイントラ予測部6からのデータD
7と逆DCT変換部4からのデータD4(予測残差信号)を加算する。また、インター予
測モードのときは、スイッチ10は動き補償部8に接続され、復号加算部5は動き補償部
8からのデータD9と逆DCT変換部4からのデータD4(予測残差信号)を加算する。
The decoding and adding unit 5 is different in processing depending on the connection state of the switch 10. The switch 10 is operated by an intra (intra-frame) prediction mode and an inter (
Switch to prediction mode (between frames). In the intra prediction mode, the switch 10 is connected to the intra prediction unit 6, and the decoding and adding unit 5 receives the data D from the intra prediction unit 6.
7 and data D4 (prediction residual signal) from the inverse DCT transform unit 4 are added. In the inter prediction mode, the switch 10 is connected to the motion compensation unit 8, and the decoding and adding unit 5 receives the data D9 from the motion compensation unit 8 and the data D4 (prediction residual signal) from the inverse DCT conversion unit 4. to add.

それぞれのモードにおいて、復号加算部5で加算処理されたデータD5はイントラ予測部
6またはフィルタ7に送られる。
In each mode, the data D5 added by the decoding and adding unit 5 is sent to the intra prediction unit 6 or the filter 7.

イントラ予測部6は、イントラ予測モードの時に動作し、復号加算部5から送られてき
たデータD5からイントラ予測を行う。イントラ予測が完了して出力されたデータD7は
スイッチ10を介して復号加算部5に送出される。
The intra prediction unit 6 operates in the intra prediction mode, and performs intra prediction from the data D5 sent from the decoding addition unit 5. The data D7 output after the completion of the intra prediction is sent to the decoding addition unit 5 via the switch 10.

フィルタ7は、復号データの歪み等を減らす機能を有する。ここで、フィルタ7でフィ
ルタがかけられたデータは、フレームデータD6として出力され、また、参照フレームの
候補として参照フレームバッファ部9に蓄積される。
The filter 7 has a function of reducing the distortion of the decoded data. Here, the data filtered by the filter 7 is output as frame data D6, and is stored in the reference frame buffer unit 9 as reference frame candidates.

動き補償部8は、インター予測モードのときに動作する。動き補償部8は解読部2から
動き情報D10または暫定動きベクトルデータD11が入力されて、その動き情報D10
または暫定動きベクトルデータD11によって参照フレームバッファ部9から参照フレー
ムデータD8を読み出し、動き補償を行う機能を有する。動き補償が完了して出力された
データD9はスイッチ10を介して復号加算部5に送出される。
The motion compensation unit 8 operates in the inter prediction mode. The motion compensation unit 8 receives the motion information D10 or the provisional motion vector data D11 from the decoding unit 2, and the motion information D10
Alternatively, it has a function of reading the reference frame data D8 from the reference frame buffer unit 9 using the provisional motion vector data D11 and performing motion compensation. Data D9 output after completion of motion compensation is sent to the decoding and adding unit 5 via the switch 10.

参照フレームバッファ部9には、フィルタ7から出力される画像のフレームデータD6
が順次蓄積されている。図2は、参照フレームバッファ部9に記憶されたフレームデータ
の状態を示した図である。フィルタ7にてフィルタがかけられたデータD6は、復号器1
から出力されると共に、参照フレームバッファ部9へフレームデータD6として送られる
。参照フレームバッファ部9ではフレームデータD6毎に図2に示すようにヘッダが順番
に付されて、記憶蓄積されて行く。図2の再生画像F1、F2、…は、順番に蓄積された
フレームデータである。
The reference frame buffer unit 9 stores image frame data D6 output from the filter 7.
Are sequentially accumulated. FIG. 2 is a diagram showing the state of the frame data stored in the reference frame buffer unit 9. The data D6 filtered by the filter 7 is the decoder 1
Is sent to the reference frame buffer unit 9 as frame data D6. In the reference frame buffer unit 9, headers are sequentially attached to each frame data D6 as shown in FIG. Reproduced images F1, F2,... In FIG. 2 are frame data accumulated in order.

ヘッダには、参照フレームデータD8として参照されるときに区別するリスト番号の情
報や、復号化時に長期にわたって参照されるフレームであると符号化側が指定したlong-t
erm-pictureと呼ばれるフラッグの有無などの情報(図示せず)が含まれている。リスト
番号は、H.264の規格上0〜15までの最大16個の番号までしか付すことができな
いため、リスト番号の存在しないフレームも存在する(リスト番号を割り当てるのは16
個以下でもよい)。
The header includes information on a list number to be distinguished when referred to as reference frame data D8, or a long-t specified by the encoding side as a frame to be referred to for a long time at the time of decoding.
Information (not shown) such as the presence or absence of a flag called erm-picture is included. The list number is H.264. According to the H.264 standard, only a maximum of 16 numbers from 0 to 15 can be assigned, so that there is a frame having no list number (the list number is assigned to 16).
Or less).

また、ヘッダは復号する符号化データのスライスが変わる毎に変更することも可能であ
る。例えば、スライス1を復号しているときは、図2の(1)のように「ヘッダ1」は「
リスト番号1」、「ヘッダ2」は「リスト番号0」、「ヘッダ3」は「リスト番号なし」
、「ヘッダ4」は「リスト番号2」と設定する。また、スライス2を復号するときには、
図2の(2)のように「ヘッダ1」は「リスト番号0」、「ヘッダ2」は「リスト番号な
し」、「ヘッダ3」は「リスト番号1」、「ヘッダ4」は「リスト番号2」と設定すると
いった様に、復号するスライスが変わる毎にヘッダのリスト番号が設定可能である。
The header can be changed every time the slice of encoded data to be decoded changes. For example, when decoding slice 1, “header 1” is “
List number 1” and “Header 2” are “List number 0”, “Header 3” is “No list number”
Header 4” is set as “List number 2”. When decoding slice 2,
As shown in (2) of FIG. 2, “header 1” is “list number 0”, “header 2” is “no list number”, “header 3” is “list number 1”, and “header 4” is “list number”. The list number of the header can be set every time the slice to be decoded changes, such as “2”.

以上のように、復号器1は、データD1を受け取ると、解読部2によってデータD1を
イントラ予測と解読したときは、逆量子化部3、逆DCT変換部4、復号加算部5、イン
トラ予測部6によって復号され、フィルタ7をかけたあと、データD6として出力、およ
び参照フレームバッファ部9に蓄積される。通常、イントラ予測のときには動き補償部8
は作動しない。
As described above, when the decoder 1 receives the data D1, when the decoding unit 2 decodes the data D1 as intra prediction, the decoder 1 performs inverse quantization unit 3, inverse DCT conversion unit 4, decoding addition unit 5, intra prediction. The data is decoded by the unit 6, filtered, and output as data D 6 and stored in the reference frame buffer unit 9. Normally, the motion compensation unit 8 is used for intra prediction.
Does not work.

また、解読部2の解読結果がインター予測のときは、解読部2からの動き情報D10、
および参照フレームバッファ9からの参照フレームデータD8に基づき動き補償部8は動
き補償のフレーム画像を求めてデータD9として出力する。そして、逆量子化部3および
逆DCT変換部4によって得られた差分のデータD4と動き補償部8からの動き補償のデ
ータD9が復号加算部5にて加算される。その後、フィルタ7がかけられデータD6とし
て出力、および参照フレームバッファ部9に蓄積される。
When the decoding result of the decoding unit 2 is inter prediction, motion information D10 from the decoding unit 2,
Based on the reference frame data D8 from the reference frame buffer 9, the motion compensation unit 8 obtains a motion compensation frame image and outputs it as data D9. Then, the difference addition data D 4 obtained by the inverse quantization unit 3 and the inverse DCT conversion unit 4 and the motion compensation data D 9 from the motion compensation unit 8 are added by the decoding addition unit 5. Thereafter, the filter 7 is applied and output as data D6 and stored in the reference frame buffer unit 9.

また、解読部2のエラー検出部14で符号化データのスライス情報のデコードエラーが
検出された場合は、エラーコンシールメント処理が行われ、エラー処理部13からの暫定
動きベクトルデータD11、および参照フレームバッファ9からの参照フレームデータD
8に基づき、動き補償部8は動き補償のフレーム画像を求めてデータD9として出力する
。そして、逆量子化部3と逆DCT変換部4は制御部11により逆量子化処理及び逆DC
T変換処理を行わないように制御され、それぞれデータD2,D3が入力され、復号加算
部5にてデータD4とデータD9が加算される。この場合、復号後の差分のデータD4は
全て0となるため、データD9がそのまま出力される。その後、フィルタ7でフィルタが
かけられデータD6として出力、および参照フレームバッファ部9に蓄積される。なお、
フィルタ7は制御部11によりフィルタ処理を行わないように制御される場合もある。
When the error detection unit 14 of the decoding unit 2 detects a decoding error in the slice information of the encoded data, an error concealment process is performed, and the provisional motion vector data D11 from the error processing unit 13 and the reference frame Reference frame data D from buffer 9
8, the motion compensation unit 8 obtains a motion compensation frame image and outputs it as data D9. Then, the inverse quantization unit 3 and the inverse DCT transform unit 4 are controlled by the control unit 11 to perform inverse quantization processing and inverse DC.
Control is performed so as not to perform the T conversion process, and data D2 and D3 are input, respectively, and data D4 and data D9 are added by the decoding / adding unit 5. In this case, since the difference data D4 after decoding is all 0, the data D9 is output as it is. Thereafter, the data is filtered by the filter 7 and output as data D6 and stored in the reference frame buffer unit 9. In addition,
The filter 7 may be controlled not to perform the filter process by the control unit 11.

次に、解読部2の詳細な動きについて図3乃至図11を用いて説明する。まず、解読部
2にデータD1が送られると、そのデータD1のナルユニットタイプ(NAL unit type)
を検出し、ビットストリーム解析部12へ送る。ビットストリーム解析部12では、ナル
ユニットタイプに基づきデータを解析し、符号化データを抽出する。そして、ビットスト
リーム解析部12のエラー検出部14は、予め定められた条件を元に符号化データのスラ
イス情報に含まれるスライスヘッダ情報のデコードエラー、及びマクロブロック情報のデ
コードエラーを検出する。ここで、ナルユニットタイプ(NAL unit type)とは、それぞ
れ送られて来るナルユニット(NAL unit)の内部情報がどのような種類のものか(Slice
dataであるのか、Picture parameterであるのか、付加情報であるのか等)を示すデータ
である。
Next, the detailed operation of the decoding unit 2 will be described with reference to FIGS. First, when the data D1 is sent to the decoding unit 2, the null unit type of the data D1 (NAL unit type)
Is sent to the bitstream analysis unit 12. The bit stream analysis unit 12 analyzes data based on the null unit type and extracts encoded data. Then, the error detection unit 14 of the bitstream analysis unit 12 detects a decoding error of slice header information and a decoding error of macroblock information included in slice information of encoded data based on a predetermined condition. Here, the NAL unit type is what kind of internal information of each NAL unit that is sent (Slice)
data, picture parameter, additional information, etc.).

図3は、スライス情報の構成を示したものである。図3のようにスライスヘッダ情報は
、スライス固有情報1、画像表示順序情報、参照フレーム数情報、参照フレームリスト情
報、参照フレーム属性情報、スライス固有情報2などの情報が含まれている。
FIG. 3 shows the structure of slice information. As shown in FIG. 3, the slice header information includes information such as slice specific information 1, image display order information, reference frame number information, reference frame list information, reference frame attribute information, and slice specific information 2.

スライス固有情報1には、スライス情報に含まれる最初のマクロブロックデータ1のア
ドレス、スライス情報のタイプ(IスライスかPスライスか)、スライス情報が参照する
ピクチャーパラメータセットのID、フレーム番号等が設定される。
In the slice specific information 1, the address of the first macroblock data 1 included in the slice information, the type of slice information (I slice or P slice), the ID of the picture parameter set referred to by the slice information, the frame number, etc. are set. Is done.

また、画像表示順序情報には、デコードした画像に対する表示順序のオフセット番号が
設定される。さらに、参照フレーム属性情報には、参照フレームリスト情報の各フレーム
に関する属性(たとえばlong-term-pictureであるといったような情報)が設定される。
Further, the display order offset number for the decoded image is set in the image display order information. Further, in the reference frame attribute information, an attribute relating to each frame of the reference frame list information (for example, information such as long-term-picture) is set.

また、スライス固定情報2には、スライス単位での量子化係数のオフセット値などが設
定される。そして、1つのスライス情報には少なくとも1つのマクロブロックデータが存
在する。そして、エラー検出部14におけるスライスヘッダ情報のデコードエラーは、以
下の場合に検出される。
In addition, the slice fixed information 2 is set with an offset value of a quantization coefficient in units of slices. One slice information includes at least one macroblock data. The decoding error of the slice header information in the error detection unit 14 is detected in the following case.

(1)スライスヘッダ情報のデコードした結果に対応するデータが存在しない
これは、例えば、デコードするビットストリームのパラメータとして最大参照フレーム枚
数を3枚までとしているのに、スライスヘッダ情報をデコードした結果の最大参照フレー
ム枚数が5枚となっていた場合などを意味する。
(1) There is no data corresponding to the result of decoding the slice header information. This is because, for example, the maximum number of reference frames is 3 as the parameter of the bitstream to be decoded, but the result of decoding the slice header information is This means that the maximum number of reference frames is five.

(2)スライスヘッダ情報をデコードした結果の値が符号化対応表に存在しない
これは、例えば、スライスヘッダ情報をデコードした結果が「10」という値になったが
、符号化対応表には「0」〜「9」までの値しか定義されていない場合を意味する。なお
、ここで言う符号化対応表に存在するとは、デコード結果に対して返す値が存在すること
を意味し、ビットストリーム解析部12内で判定される。
(2) The result of decoding the slice header information does not exist in the encoding correspondence table. For example, the result of decoding the slice header information has a value of “10”. It means a case where only values from “0” to “9” are defined. The presence in the encoding correspondence table here means that there is a value to be returned for the decoding result, and the determination is made in the bitstream analysis unit 12.

(3)スライスヘッダ情報をデコードした結果に対してデコーダが対応していない
これは、例えば、スライス情報のタイプがイントラマクロブロックのみで構成されている
「Iスライス」とインターマクロブロックを含む「Pスライス」しかデコーダが対応して
いないのに、デコードしたスライスヘッダ情報によるスライスのタイプが「Bスライス」
となっていた場合を意味する。
(3) The decoder does not support the result of decoding the slice header information. This is because, for example, the slice information type includes “I slice” composed of only intra macroblocks and “P” including inter macroblocks. Although only the “slice” is supported by the decoder, the slice type based on the decoded slice header information is “B slice”.
Means the case.

これらのデコードエラー検出は上記方法に限定されず、他の検出方法であっても良い。   The decoding error detection is not limited to the above method, and other detection methods may be used.

また、検出方法によっては、デコードエラーが正しく検出されない場合もある。このよう
に、スライスヘッダ情報でのデコードエラーが発生したときは、そのスライス情報に存在
するマクロブロック情報に対し誤った復号が行われないように、逆量子化部3へのデータ
D2、逆DCT変換部4へのデータD3は制御部11により逆量子化処理及び逆DCT処
理されずにそれぞれ出力される。そして、エラー検出部14でデコードエラーの検出が行
われると、解読部2のエラー処理部13にエラー信号が送られる。
Further, depending on the detection method, a decoding error may not be detected correctly. As described above, when a decoding error occurs in the slice header information, the data D2 and the inverse DCT to the inverse quantization unit 3 are prevented so that the macroblock information existing in the slice information is not erroneously decoded. Data D3 to the conversion unit 4 is output by the control unit 11 without being subjected to inverse quantization processing and inverse DCT processing. When the error detection unit 14 detects a decoding error, an error signal is sent to the error processing unit 13 of the decoding unit 2.

また、エラー検出部14におけるマクロブロック情報のデコードエラーは、以下の場合
に検出される。
In addition, a macroblock information decoding error in the error detection unit 14 is detected in the following case.

(1)マクロブロック情報をデコードした結果、対応するデータが存在しない
これは、例えば、マクロブロック情報をデコードした後、ある参照フレームを参照して再
現する場合、その参照フレームが「リスト10」を指していた場合で、参照フレームリス
トが「リスト0」から「リスト8」までしか存在しなかった場合などである。
(1) As a result of decoding the macroblock information, the corresponding data does not exist. For example, when the macroblock information is decoded and then reproduced with reference to a certain reference frame, the reference frame indicates “list 10”. This is the case when the reference frame list only exists from “list 0” to “list 8”.

(2)マクロブロック情報をデコードした結果の値が符号化対応表に存在しない
これは、例えば、デコードした結果が「40」という値になったが、符号化対応表には「
0」から「30」までの値しか定義されていない場合などである。
(2) The value of the result of decoding the macroblock information does not exist in the encoding correspondence table. This is because, for example, the decoding result has a value of “40”.
This is the case when only the values from “0” to “30” are defined.

これらのデコードエラー検出は上記方法に限定されず、他の検出方法であっても良い。   The decoding error detection is not limited to the above method, and other detection methods may be used.

また、検出方法によっては、デコードエラーが正しく検出されない場合もある。このよう
に、マクロブロック情報でのデコードエラーが発生したときは、そのマクロブロック情報
に対する誤った復号が行われないように、逆量子化部3へのデータD2、逆DCT変換部
4へのデータD3は制御部11により逆量子化処理及び逆DCT処理されずに出力される
。そして、エラー検出部14でデコードエラーの検出が行われると、解読部2のエラー処
理部13にエラー信号が送られる。
Further, depending on the detection method, a decoding error may not be detected correctly. As described above, when a decoding error occurs in the macroblock information, the data D2 to the inverse quantization unit 3 and the data to the inverse DCT conversion unit 4 are performed so that erroneous decoding is not performed on the macroblock information. D3 is output by the control unit 11 without being subjected to inverse quantization processing and inverse DCT processing. When the error detection unit 14 detects a decoding error, an error signal is sent to the error processing unit 13 of the decoding unit 2.

エラー検出部14によってデコードエラーが検出され、エラー信号が送られてきた場合
、エラー処理部13はエラーコンシールメント処理を行う。以下に、エラー処理部13で
エラーコンシールメント処理が行われる際に、どのように参照フレームを決定するかを、
検出されたデコードエラーが、(a)マクロブロック情報でデコードエラーが検出された
場合と、(b)スライスヘッダ情報でのデコードエラーが検出された場合とに分けて説明
する。
When a decoding error is detected by the error detection unit 14 and an error signal is sent, the error processing unit 13 performs an error concealment process. The following describes how to determine a reference frame when error concealment processing is performed in the error processing unit 13.
The detected decoding error will be described separately for (a) when a decoding error is detected with macroblock information and (b) when a decoding error is detected with slice header information.

(a)マクロブロック情報でデコードエラーが検出された場合
デコードエラーが発生したマクロブロックがイントラマクロブロックの場合(a−1)
と、インターマクロブロックの場合(a−2)とに更に分けて説明する。
(A) When a decoding error is detected in the macroblock information When the macroblock in which the decoding error has occurred is an intra macroblock (a-1)
And the case of the inter macroblock (a-2) will be further described.

(a−1)イントラマクロブロックのデコードエラーが検出された場合
イントラマクロブロックにおいてデコードエラーが検出された場合は、以下のような処
理によってエラーコンシールメント処理の参照フレームを決定する。
(A-1) When a decoding error of an intra macroblock is detected When a decoding error is detected in an intra macroblock, a reference frame for error concealment processing is determined by the following processing.

図4、図7は、イントラマクロブロックにおいてデコードエラーが検出されたときにエ
ラーコンシールメント処理を行うための参照フレームについて示したものである。なお、
H.264の規格では参照フレームに関して以下のように定められている。
4 and 7 show a reference frame for performing error concealment processing when a decoding error is detected in an intra macroblock. In addition,
H. In the H.264 standard, the reference frame is defined as follows.

(ア)イントラマクロブロックには参照フレームは存在せず、イントラ予測部内での処理
を除き、図4に示すように常に16画素×16画素を1つの単位として処理される。
(A) There is no reference frame in an intra macroblock, and processing is always performed with 16 pixels × 16 pixels as one unit as shown in FIG. 4 except for processing in the intra prediction unit.

(イ)インターマクロブロックは、7種類のパーティションと呼ばれる図6に示すような
マクロブロックを分割した領域を処理単位とすることができる。
(B) Inter macroblocks can be set as processing units in areas obtained by dividing macroblocks as shown in FIG. 6 called seven types of partitions.

(ウ)インターマクロブロックにおいて、参照フレームを8画素×8画素単位で設定する
ことができる。
(C) In an inter macro block, a reference frame can be set in units of 8 pixels × 8 pixels.

(エ)一つのパーティション内で複数の参照フレームを設定することはできない。 (D) Multiple reference frames cannot be set in one partition.

次に、イントラマクロブロックXにデコードエラーが発生した場合のエラーコンシール
メント処理における参照フレームの選択方法を図4、図5を用いて説明する。図5は、エ
ラーコンシールメント処理する際の、参照フレームの選択方法を示した動作フローチャー
トである。
Next, a reference frame selection method in the error concealment process when a decoding error occurs in the intra macroblock X will be described with reference to FIGS. FIG. 5 is an operation flowchart showing a method of selecting a reference frame when performing error concealment processing.

まず、デコードエラーが発生したイントラマクロブロックXの左隣の隣接マクロブロッ
クAがインターマクロブロックか(隣接マクロブロックAがイントラマクロブロックXと
同じスライスでない場合を除く)、それ以外か(隣接マクロブロックAがない場合や隣接
マクロブロックAがイントラマクロブロックXと同じスライスでない場合も含む)を判断
する(ステップ51、図4の(1))。
First, whether the adjacent macroblock A adjacent to the left of the intra macroblock X in which the decoding error has occurred is an inter macroblock (unless the adjacent macroblock A is not the same slice as the intra macroblock X), or otherwise (the adjacent macroblock A case where there is no A or a case where the adjacent macroblock A is not the same slice as the intra macroblock X is determined (step 51, (1) in FIG. 4).

隣接マクロブロックAがインターマクロブロックならば(ステップ51のYes)、次
に隣接マクロブロックAが7つのパーティションのいずれかに分かれているか否かを判断
する(ステップ52)。そして、マクロブロックAが上記パーティションに分かれていな
いならば(ステップ52のNo)、マクロブロックAが参照しているフレームa1を参照
フレームとする(ステップ53a、図4の(2))。また、マクロブロックAが7つのパ
ーティションのいずれかに分かれているならば(ステップ52のYes)、マクロブロッ
クAのパーティションのうち、右上のパーティション(イントラマクロブロックXの左上
のピクセルに左に隣接しているパーティション)が参照しているフレームa2(図7の(
1)参照)を参照フレームとする(ステップ53b)。
If the adjacent macroblock A is an inter macroblock (Yes in step 51), it is next determined whether or not the adjacent macroblock A is divided into any of the seven partitions (step 52). If the macro block A is not divided into the partitions (No in step 52), the frame a1 referred to by the macro block A is set as a reference frame (step 53a, (2) in FIG. 4). If the macroblock A is divided into any of the seven partitions (Yes in step 52), the upper right partition (the upper left pixel of the intra macroblock X is adjacent to the left among the macroblock A partitions). Frame a2 (in FIG. 7 (
1) is used as a reference frame (step 53b).

ここで、ステップ53bにおける参照フレームの決定方法の他の例を図7の(2)を用
いて説明する。図7の(2)のAP1乃至AP4はインターマクロブロックAの8画素×
8画素のパーティションを示している。参照フレームは、8画素×8画素の単位(以下、
この単位をサブマクロブロック単位という)でそれぞれ別々のフレームを参照することが
できる(但し前述の通り、1つのパーティションで複数の参照フレームを設定することは
できない)。例えば、パーティションAP1が参照フレームa3を、パーティションAP
2が参照フレームa4を、パーティションAP3が参照フレームa5を、パーティション
AP4が参照フレームa3をそれぞれ参照していたとする。更に、パーティションAP1
に重み1、パーティションAP2に重み2、パーティションAP3に重み1、パーティシ
ョンAP4に重み2を設定していたとする。そうすると、パーティションAP1乃至AP
4はマクロブロックの4分の1ずつの画素を占めているため、参照しているフレームの重
みを(占める画素数)×(重み)で求めるとすると、その比は参照フレームa3:参照フ
レームa4:参照フレームa5=3:2:1となる。よって、イントラマクロブロックX
がエラーコンシールメント処理する際の参照フレームは、一番重みのあった参照フレーム
a3に決定される。
Here, another example of the reference frame determination method in step 53b will be described with reference to (2) of FIG. AP1 to AP4 in (2) of FIG. 7 are 8 pixels of inter macroblock A ×
An 8-pixel partition is shown. The reference frame is a unit of 8 pixels × 8 pixels (hereinafter,
This unit can be referred to as a sub macroblock unit) (however, as described above, a plurality of reference frames cannot be set in one partition). For example, partition AP1 assigns reference frame a3 to partition AP
Assume that 2 refers to the reference frame a4, the partition AP3 refers to the reference frame a5, and the partition AP4 refers to the reference frame a3. Furthermore, partition AP1
, Weight 1 is set for partition AP2, weight 1 is set for partition AP3, and weight 2 is set for partition AP4. Then, partitions AP1 to AP
4 occupies one-fourth of the pixels of the macroblock, so if the weight of the frame being referenced is determined by (number of occupied pixels) × (weight), the ratio is the reference frame a3: reference frame a4 : Reference frame a5 = 3: 2: 1. Therefore, intra macroblock X
The reference frame for the error concealment processing is determined to be the reference frame a3 having the highest weight.

もし、一番重みのあった参照フレームが複数あった場合は、その複数の参照フレームを
参照しているパーティションのうち、デコードエラーの検出されたイントラマクロブロッ
クXの左上のピクセルに最も近いパーティションが参照しているフレームを参照フレーム
とする。例えば、パーティションAP1が参照フレームa5を、パーティションAP2が
参照フレームa4を、パーティションAP3が参照フレームa5を、パーティションAP
4が参照フレームa3をそれぞれ参照していたとし、更にパーティションAP1に重み1
、パーティションAP2に重み2、パーティションAP3に重み1、パーティションAP
4に重み2を設定していたとする。そうすると、重みの比は参照フレームa3:参照フレ
ームa4:参照フレームa5=1:1:1となる。そして、デコードエラーの検出された
イントラマクロブロックXの左上に最も近いパーティションはパーティションAP2であ
るから、イントラマクロブロックXの参照フレームはパーティションAP2が参照してい
る参照フレームa4に決定される。
If there are a plurality of reference frames having the highest weight, the partition closest to the upper left pixel of the intra macroblock X in which the decoding error is detected among the partitions that refer to the plurality of reference frames. The frame being referred to is set as a reference frame. For example, the partition AP1 has the reference frame a5, the partition AP2 has the reference frame a4, the partition AP3 has the reference frame a5, and the partition AP
4 refers to the reference frame a3, and the partition AP1 has a weight of 1
, Weight 2 for partition AP2, weight 1 for partition AP3, partition AP
Assume that the weight 2 is set to 4. Then, the weight ratio becomes reference frame a3: reference frame a4: reference frame a5 = 1: 1: 1. Since the partition closest to the upper left of the intra macroblock X in which the decoding error is detected is the partition AP2, the reference frame of the intra macroblock X is determined as the reference frame a4 referred to by the partition AP2.

次に、隣接マクロブロックAがイントラマクロブロック以外であるならば(ステップ5
1のNo)、デコードエラーが発生したイントラマクロブロックXの上に隣接する隣接マ
クロブロックBがインターマクロブロックか、それ以外か(隣接マクロブロックBがない
場合や隣接マクロブロックBがイントラマクロブロックXと同じスライスでない場合も含
む)を判断する(ステップ54)。
Next, if the adjacent macro block A is other than the intra macro block (step 5).
1), whether the adjacent macroblock B adjacent to the intra macroblock X in which the decoding error has occurred is an inter macroblock or other than that (when there is no adjacent macroblock B or the adjacent macroblock B is the intra macroblock X) (Including the case where the slice is not the same slice) (step 54).

隣接マクロブロックBがインターマクロブロックならば(ステップ54のYes)、そ
のマクロブロックBが7つのパーティションのいずれかに分かれているかを判断する(ス
テップ55)。そして、マクロブロックBが上記パーティションに分かれていないならば
(ステップ55のNo)、マクロブロックBが参照しているフレームb1を参照フレーム
とする(ステップ56a、図4の(3))。また、マクロブロックBが7つのパーティシ
ョンのいずれかに分かれているならば(ステップ55のYes)、マクロブロックBのパ
ーティションのうち、左下のパーティション(イントラマクロブロックXの左上のピクセ
ルに上に隣接しているパーティション)が参照しているフレームb2(図7の(3)参照
)を参照フレームとする(ステップ56b)。
If the adjacent macroblock B is an inter macroblock (Yes in step 54), it is determined whether the macroblock B is divided into any of the seven partitions (step 55). If the macroblock B is not divided into the partitions (No in step 55), the frame b1 referred to by the macroblock B is set as a reference frame (step 56a, (3) in FIG. 4). If the macro block B is divided into any of the seven partitions (Yes in step 55), the lower left partition (the upper left pixel of the intra macro block X) is adjacent to the upper left of the macro block B partitions. The frame b2 (see (3) in FIG. 7) referred to by the current partition) is set as the reference frame (step 56b).

ここで、ステップ56bにおける参照フレームの決定方法の他の例を図7の(4)を用
いて説明する。図7の(4)のBP1乃至BP4はインターマクロブロックBの8画素×
8画素のパーティションを示している。同様に参照フレームは、サブマクロブロック単位
でそれぞれ別々のフレームを参照することができる。例えば、パーティションBP1が参
照フレームb3を、パーティションBP2が参照フレームb4を、パーティションBP3
が参照フレームb5を、パーティションBP4が参照フレームb3をそれぞれ参照してい
たとする。更に、パーティションBP1に重み1、パーティションBP2に重み1、パー
ティションBP3に重み2、パーティションBP4に重み2を設定していたとする。そう
すると、パーティションBP1乃至BP4はマクロブロックの4分の1ずつの画素をしめ
ているため、参照しているフレームの重みを(占める画素数)×(重み)で求めるとする
と、その比は参照フレームb3:参照フレームb4:参照フレームb5=3:1:2とな
る。よって、イントラマクロブロックXがエラーコンシールメント処理する際の参照フレ
ームは一番重みのあった参照フレームb3に決定される。
Here, another example of the reference frame determination method in step 56b will be described with reference to FIG. BP1 to BP4 in (4) of FIG.
An 8-pixel partition is shown. Similarly, a reference frame can refer to a different frame for each sub macroblock. For example, the partition BP1 uses the reference frame b3, the partition BP2 uses the reference frame b4, and the partition BP3.
Assume that reference frame b5 and partition BP4 refer to reference frame b3, respectively. Further, assume that weight 1 is set for partition BP1, weight 1 is set for partition BP2, weight 2 is set for partition BP3, and weight 2 is set for partition BP4. Then, since the partitions BP1 to BP4 indicate one-fourth of the pixels of the macroblock, if the weight of the frame being referred to is calculated by (number of occupied pixels) × (weight), the ratio is the reference frame b3 : Reference frame b4: Reference frame b5 = 3: 1: 2. Therefore, the reference frame when the intra macroblock X performs the error concealment process is determined as the reference frame b3 having the highest weight.

もし、一番重みのあった参照フレームが複数あった場合は、その複数の参照フレームを
参照しているパーティションのうち、デコードエラーの検出されたイントラマクロブロッ
クXの左上のピクセルに最も近いパーティションが参照しているフレームを参照フレーム
とする。例えば、パーティションBP1が参照フレームb5を、パーティションBP2が
参照フレームb4を、パーティションBP3が参照フレームb6を、パーティションBP
4が参照フレームb3をそれぞれ参照していたとし、更にパーティションBP1に重み1
、パーティションBP2に重み1、パーティションBP3に重み2、パーティションBP
4に重み2を設定していたとする。そうすると、重みの比は参照フレームb3:参照フレ
ームb4:参照フレームb5:参照フレームb6=2:1:1:2となるが、デコードエ
ラーの検出されたマクロブロックXの左上のピクセルに最も近いパーティションはパーテ
ィションBP3であるから、マクロブロックXの参照フレームはパーティションBP3が
参照している参照フレームa6に決定される。
If there are a plurality of reference frames having the highest weight, the partition closest to the upper left pixel of the intra macroblock X in which the decoding error is detected among the partitions that refer to the plurality of reference frames. The frame being referred to is set as a reference frame. For example, the partition BP1 has the reference frame b5, the partition BP2 has the reference frame b4, the partition BP3 has the reference frame b6, and the partition BP.
4 refers to the reference frame b3, and further assigns a weight of 1 to the partition BP1.
, Weight 1 for partition BP2, weight 2 for partition BP3, partition BP
Assume that the weight 2 is set to 4. Then, the weight ratio is the reference frame b3: reference frame b4: reference frame b5: reference frame b6 = 2: 1: 1: 2, but the partition closest to the upper left pixel of the macroblock X in which the decoding error is detected. Is the partition BP3, the reference frame of the macroblock X is determined to be the reference frame a6 referenced by the partition BP3.

次に、隣接マクロブロックBがイントラマクロブロック以外であるならば(ステップ5
4のNo)、デコードエラーが発生したイントラマクロブロックXの右上の隣接マクロブ
ロックCがインターマクロブロックかそれ以外か(隣接マクロブロックCがない場合や隣
接マクロブロックCがイントラマクロブロックXと同じスライスでない場合も含む)を判
断する(ステップ57)。
Next, if the adjacent macro block B is other than the intra macro block (step 5).
4 No), whether the adjacent macroblock C at the upper right of the intra macroblock X in which the decoding error has occurred is an inter macroblock or other than that (when there is no adjacent macroblock C or the adjacent macroblock C is the same slice as the intra macroblock X) (Including the case where it is not)) (step 57).

隣接マクロブロックCがインターマクロブロックならば(ステップ57のYes)、そ
のマクロブロックCが7つのパーティションのいずれかに分かれているかを判断する(ス
テップ58)。そして、マクロブロックCが上記パーティションに分かれていないならば
(ステップ58のNo)、マクロブロックCが参照しているフレームc1を参照フレーム
とする(ステップ59a、図4の(4))。また、マクロブロックCが7つのパーティシ
ョンのいずれかに分かれている(ステップ58のYes)ならば、マクロブロックCのパ
ーティションのうち、左下のパーティションが参照しているフレームc2(図7の(5)
参照)を参照フレームとする(ステップ59b)。
If the adjacent macroblock C is an inter macroblock (Yes in step 57), it is determined whether the macroblock C is divided into any of seven partitions (step 58). If the macroblock C is not divided into the partitions (No in step 58), the frame c1 referred to by the macroblock C is set as a reference frame (step 59a, (4) in FIG. 4). If the macro block C is divided into any of the seven partitions (Yes in step 58), the frame c2 ((5) in FIG. 7) referred to by the lower left partition among the macro block C partitions.
Reference) is set as a reference frame (step 59b).

次に、隣接マクロブロックCがイントラマクロブロック以外であるならば(ステップ5
7のNo)、デコードエラーが発生したイントラマクロブロックXの右上の隣接マクロブ
ロックDがインターマクロブロックかそれ以外か(隣接マクロブロックDがない場合や隣
接マクロブロックDがイントラマクロブロックXと同じスライスでない場合も含む)を判
断する(ステップ60)。
Next, if the adjacent macroblock C is other than the intra macroblock (step 5)
7), whether the adjacent macroblock D in the upper right of the intra macroblock X in which the decoding error has occurred is an inter macroblock or other than that (if there is no adjacent macroblock D or the adjacent macroblock D is the same slice as the intra macroblock X (Including the case where it is not) (step 60).

隣接マクロブロックDがインターマクロブロックならば(ステップ60のYes)、そ
のマクロブロックDが7つのパーティションのいずれかに分かれているかを判断する(ス
テップ61)。そして、マクロブロックDが上記パーティションに分かれていないならば
(ステップ61のNo)、マクロブロックDが参照しているフレームd1を参照フレーム
とする(ステップ62a、図4の(5))。また、マクロブロックDが7つのパーティシ
ョンのいずれかに分かれているならば(ステップ61のYes)、マクロブロックDのパ
ーティションのうち、右下のパーティションが参照しているフレームd2(図7の(6)
参照)を参照フレームとする(ステップ62b)。
If the adjacent macroblock D is an inter macroblock (Yes in step 60), it is determined whether the macroblock D is divided into any of the seven partitions (step 61). If the macroblock D is not divided into the partitions (No in step 61), the frame d1 referenced by the macroblock D is set as a reference frame (step 62a, (5) in FIG. 4). Further, if the macroblock D is divided into any of the seven partitions (Yes in step 61), the frame d2 ((6 in FIG. 7) referred to by the lower right partition among the macroblock D partitions). )
Reference) is set as a reference frame (step 62b).

隣接ブロックDがインターマクロブロック以外であるならば(ステップ60のNo)、
イントラマクロブロックXを含むフレームの一つ前にデコードされたフレームを参照する
(ステップ63)。なお、ステップ63はこれに限定することなく、イントラマクロブロ
ックXを含むフレームの一つ前に表示されるフレームを参照フレームとしてもよい。
If the adjacent block D is other than the inter macroblock (No in step 60),
A frame decoded immediately before the frame including the intra macroblock X is referred to (step 63). The step 63 is not limited to this, and the frame displayed immediately before the frame including the intra macroblock X may be used as the reference frame.

なお、ステップ51、ステップ54、ステップ57、ステップ60において、イントラ
マクロブロックXの隣接ブロックがイントラマクロブロックXと同じスライスでない場合
は、それぞれステップ54、ステップ57、ステップ60、ステップ63に進むものとし
ていたが、イントラマクロブロックXと異なるスライスでも隣接するマクロブロックが存
在し、そのマクロブロックがインターマクロブロックならば、それぞれステップ52、ス
テップ55、ステップ68、ステップ61に進むものとしてもよい。
In step 51, step 54, step 57, and step 60, if the adjacent block of the intra macroblock X is not the same slice as the intra macroblock X, the flow proceeds to step 54, step 57, step 60, and step 63, respectively. However, if there is an adjacent macroblock even in a slice different from the intra macroblock X and the macroblock is an inter macroblock, the process may proceed to step 52, step 55, step 68, and step 61, respectively.

また、復号器1の処理速度を重要視する場合は、少なくともステップ51〜ステップ5
4を実行し、ステップ54、及びステップ57でNoと判断された段階でその後の処理を
省略してステップ63を実行するようにしても良い。例えば、ステップ54でNoと判断
された場合、直ちにステップ63を実行するようにしても良い(図5の点線部分)。
When importance is attached to the processing speed of the decoder 1, at least step 51 to step 5
4 may be executed, and the subsequent processing may be omitted at the stage where No is determined in Step 54 and Step 57, and Step 63 may be executed. For example, if it is determined No in step 54, step 63 may be executed immediately (dotted line portion in FIG. 5).

以上のようにして参照フレームが決定すると、エラー処理部13はイントラマクロブロ
ックXと同じアドレスに位置する参照フレーム内のマクロブロックを用いて、エラーコン
シールメント処理を行い、(例えば、図4の(2)乃至(5)のX1乃至X4)暫定動き
ベクトルデータD11は全て0として動き補償部8に送る。なお、この参照フレームが決
定した後のエラーコンシールメント処理はこの方法に限定することなく、決定した参照フ
レームを用いてエラーコンシールメント処理が行われていれば、どのような方法でも良い
When the reference frame is determined as described above, the error processing unit 13 performs error concealment processing using the macroblock in the reference frame located at the same address as the intra macroblock X (for example, ( 2) to (5) X1 to X4) All the temporary motion vector data D11 are sent to the motion compensation unit 8 as 0. The error concealment process after the determination of the reference frame is not limited to this method, and any method may be used as long as the error concealment process is performed using the determined reference frame.

(a−2)インターマクロブロックのデコードエラーが検出された場合
インターマクロブロックにおいてデコードエラーが検出された場合、エラー処理部13
は以下のような処理によってエラーコンシールメント処理の参照フレームを決定する。
(A-2) When a decoding error of an inter macro block is detected When a decoding error is detected in an inter macro block, the error processing unit 13
Determines the reference frame for the error concealment process by the following process.

まず、パーティションに分かれていないインターマクロブロック(以下、パーティショ
ンY1と称する)でデコードエラーが発生した場合の動作を図8、図9を用いて説明する
First, an operation when a decoding error occurs in an inter macro block (hereinafter referred to as partition Y1) that is not divided into partitions will be described with reference to FIGS.

図8は、インターマクロブロックのパーティションY1でデコードエラーが検出され、
それをエラーコンシールメント処理する際の、参照フレームの選択方法を示したフローチ
ャートである。また、図9は、デコードエラーが発生したパーティションY1の隣接ブロ
ックについて説明したものである。なお、以下隣接ブロックとは原則として隣接するマク
ロブロックを意味し、隣接するマクロブロックがパーティションに分かれていれば、隣接
するパーティションを意味するものとする。
FIG. 8 shows that a decoding error is detected in the partition Y1 of the inter macroblock,
It is the flowchart which showed the selection method of the reference frame at the time of carrying out error concealment processing of it. FIG. 9 illustrates an adjacent block of the partition Y1 in which a decoding error has occurred. In the following description, the adjacent block means an adjacent macroblock in principle, and if the adjacent macroblock is divided into partitions, it means an adjacent partition.

まず、デコードエラーが発生したパーティションY1の左上のピクセルに左隣接する隣
接ブロックEが、
(ア)イントラマクロブロックであるか、
(イ)存在しない場合か、
(ウ)他のスライスである場合か、
のいずれかに該当するかを判断する(ステップ81、図9参照)。前記ステップ81の条
件に該当しないときは、隣接ブロックEが参照しているフレームe1を参照フレームとす
る(ステップ82)。
First, an adjacent block E left adjacent to the upper left pixel of the partition Y1 in which a decoding error has occurred is
(A) Intra macroblock or
(I) If it does not exist,
(C) If it is another slice,
(Step 81, see FIG. 9). When the condition of step 81 is not satisfied, the frame e1 referred to by the adjacent block E is set as a reference frame (step 82).

次に、前記ステップ81における上記(ア)〜(ウ)の条件に該当するならば、デコー
ドエラーが発生したパーティションY1の左上のピクセルに上隣接する隣接ブロックF(
パーティションに分かれていてもよい)が、上記(ア)〜(ウ)のいずれかに該当するか
を判断する(ステップ83、図9参照)。前記ステップ83の条件に該当しないときは、
隣接ブロックFが参照しているフレームf1を参照フレームとする(ステップ84)。
Next, if the above conditions (a) to (c) in step 81 are satisfied, the adjacent block F (upper adjacent to the upper left pixel of the partition Y1 where the decoding error has occurred is described.
It may be determined whether any of the above (a) to (c) is applicable (step 83, see FIG. 9). If the condition of step 83 is not met,
The frame f1 referred to by the adjacent block F is set as a reference frame (step 84).

次に、前記ステップ83における上記(ア)〜(ウ)の条件に該当するならば、デコー
ドエラーが発生したパーティションY1の右上のピクセルに右上隣接する隣接ブロックG
(パーティションに分かれていてもよい)が、上記(ア)〜(ウ)のいずれかに該当する
かを判断する(ステップ85、図9参照)。前記ステップ85の条件に該当しないときは
、隣接ブロックGが参照しているフレームg1を参照フレームとする(ステップ86)。
Next, if the above conditions (a) to (c) in step 83 are satisfied, the adjacent block G adjacent to the upper right side of the upper right pixel of the partition Y1 in which the decoding error has occurred.
It is determined whether (which may be divided into partitions) corresponds to any one of the above (a) to (c) (step 85, see FIG. 9). When the condition of step 85 is not satisfied, the frame g1 referred to by the adjacent block G is set as a reference frame (step 86).

次に、前記ステップ85における上記(ア)〜(ウ)の条件に該当するならば、デコー
ドエラーが発生したパーティションY1の左上のピクセルに左上隣接する隣接ブロックH
(パーティションに分かれていてもよい)が、上記(ア)〜(ウ)のいずれかに該当する
かを判断する(ステップ87、図9参照)。前記ステップ87の条件に該当しないときは
、隣接ブロックHが参照しているフレームh1を参照フレームとする(ステップ88)。
Next, if the above conditions (a) to (c) in step 85 are satisfied, the adjacent block H adjacent to the upper left of the upper left pixel of the partition Y1 in which the decoding error has occurred.
It is determined whether (which may be divided into partitions) corresponds to any one of the above (a) to (c) (step 87, see FIG. 9). When the condition of step 87 is not satisfied, the frame h1 referred to by the adjacent block H is set as a reference frame (step 88).

次に、前記ステップ87における上記(ア)〜(ウ)の条件に該当するならば、インタ
ーマクロブロックY1を含むフレームの一つ前にデコードされたフレームを参照する(ス
テップ89)。なお、ステップ89はこれに限定することなく、インターマクロブロック
Y1を含むフレームの一つ前に表示されるフレームを参照フレームとしてもよい。
Next, if the above conditions (a) to (c) are satisfied in step 87, the frame decoded immediately before the frame including the inter macroblock Y1 is referred to (step 89). Note that step 89 is not limited to this, and the frame displayed immediately before the frame including the inter macroblock Y1 may be used as the reference frame.

なお、ステップ81、ステップ83、ステップ85、ステップ87において、(ア)〜
(ウ)の条件に該当しないならば、それぞれステップ82、ステップ84、ステップ86
、ステップ88に進むものとしていたが、ステップ81、ステップ83、ステップ85、
ステップ87の判断条件は上記(ア)と上記(イ)だけに限定してもよい。
In Step 81, Step 83, Step 85, and Step 87, (A) to (A) to
If the condition of (c) is not met, Step 82, Step 84, Step 86, respectively.
, Proceed to step 88, but step 81, step 83, step 85,
The determination condition in step 87 may be limited to the above (a) and (b).

また、復号器1の処理速度を重要視する場合は、少なくともステップ81〜ステップ8
3を実行し、ステップ83、及びステップ85で該当すると判断された段階でその後の処
理を省略してステップ89を実行するようにしても良い。例えば、ステップ83で該当す
ると判断された場合、直ちにステップ89を実行するようにしても良い(図8の点線部分
)。
When the processing speed of the decoder 1 is important, at least step 81 to step 8
3 may be executed, and the subsequent processing may be omitted at the stage where it is determined to be applicable in Step 83 and Step 85, and Step 89 may be executed. For example, if it is determined in step 83 that this is the case, step 89 may be immediately executed (dotted line portion in FIG. 8).

次に、図6のような、7つのパーティションのうちいずれかのパーティションに分かれ
ているインターマクロブロック(以下、パーティションY2と称する)でデコードエラー
が発生した場合の動作を図10、図11を用いて説明する。
Next, FIG. 10 and FIG. 11 are used when a decoding error occurs in an inter macro block (hereinafter referred to as partition Y2) divided into one of seven partitions as shown in FIG. I will explain.

図10は、インターマクロブロックのパーティションY2にデコードエラーが検出され
、それをエラーコンシールメント処理する際の、参照フレームの選択方法を示したフロー
チャートである。また、図11は、インターマクロブロックのパーティションY2にデコ
ードエラーが検出され、エラーコンシールメント処理する際の、参照フレームの選択方法
を示した図である。
FIG. 10 is a flowchart showing a method of selecting a reference frame when a decoding error is detected in the partition Y2 of the inter macroblock and error concealment processing is performed on the decoding error. FIG. 11 is a diagram illustrating a reference frame selection method when a decoding error is detected in the partition Y2 of the inter macroblock and error concealment processing is performed.

まず、デコードエラーの検出されたパーティションY2が、8画素×8画素未満か、8
画素×8画素以上かを判断する(ステップ101)。パーティションY2が8画素×8画
素未満であると判断された場合(ステップ101の未満)、参照フレームが正しくデコー
ドされているかを判断する(ステップ102)。パーティションY2を含むサブマクロブ
ロック(マクロブロックの4分の1である8画素×8画素単位のブロック、以下同じ)の
参照フレームが正しくデコードされている場合(ステップ102のYes)、パーティシ
ョンY2を含むサブマクロブロックが参照しているフレームkを参照フレームとする(ス
テップ103a、図11の(1)参照)。また、パーティションY2が8画素×8画素以
上と判断された場合(ステップ101の以上)、及びパーティションY2を含むサブマク
ロブロックの参照フレームが正しくデコードされていない場合(ステップ102のNo)
、パーティションY2のあるインターマクロブロックでパーティションY2を含まないサ
ブマクロブロックの参照しているフレームを全て(1つ乃至3つになる)挙げ、図11の
(2)に示すように、該インターマクロブロックで参照しているフレームの割合を求める
(ステップ103b)。
First, the partition Y2 where the decoding error is detected is less than 8 pixels × 8 pixels, or 8
It is determined whether or not the pixel × 8 pixels or more (step 101). If it is determined that the partition Y2 is less than 8 pixels × 8 pixels (less than step 101), it is determined whether the reference frame is correctly decoded (step 102). If the reference frame of the sub-macroblock including the partition Y2 (a block of 8 pixels × 8 pixels, which is a quarter of the macroblock, the same applies hereinafter) is decoded correctly (Yes in step 102), the partition Y2 is included. The frame k referred to by the sub macroblock is set as the reference frame (step 103a, see (1) in FIG. 11). Further, when it is determined that the partition Y2 is 8 pixels × 8 pixels or more (from step 101) and when the reference frame of the sub macroblock including the partition Y2 is not correctly decoded (No in step 102).
, All the frames (one to three) that are referred to by sub-macroblocks that do not include partition Y2 in the inter-macroblock with partition Y2 are listed. As shown in (2) of FIG. The ratio of the frames referred to in the block is obtained (step 103b).

例えば、図11の(2)において、パーティションY2は8画素×8画素であったとす
ると、パーティションY2を含むインターマクロブロックでパーティションY2を含まな
いサブマクロブロックとして、サブマクロブロックSMB1、SMB2、SMB3がある
。そして、サブマクロブロックSMB1はフレームk1を参照していたとし、サブマクロ
ブロックSMB2はフレームk1を参照していたとし、サブマクロブロックSMB3はフ
レームk2を参照していたとすると、該インターマクロブロックで参照しているフレーム
の割合は、フレームk1が2分の1となり、フレームk2が4分の1となる。
For example, in (2) of FIG. 11, if the partition Y2 is 8 pixels × 8 pixels, the sub macroblocks SMB1, SMB2, and SMB3 are inter macroblocks that include the partition Y2 and do not include the partition Y2. is there. If the sub macroblock SMB1 refers to the frame k1, the sub macroblock SMB2 refers to the frame k1, and the sub macroblock SMB3 refers to the frame k2, the sub macroblock SMB1 refers to the frame k1. The ratio of the frames being framed is 1/2 for the frame k1 and 1/4 for the frame k2.

次に、ステップ103bで求めた該インターマクロブロックで参照しているフレームの
割合が一番多いフレームは一つか二つ以上かを判断する(ステップ104)。そして、割
合が一番多いフレームが一つの場合は(ステップ104のYes)、そのフレームを参照
フレームとする(ステップ105)。例えば、図11の(2)ならば、フレームk1がパ
ーティションY2の参照フレームとなる。
Next, it is determined whether the number of frames referred to in the inter macroblock obtained in step 103b is the highest or one or more (step 104). If there is one frame with the highest ratio (Yes in step 104), that frame is set as a reference frame (step 105). For example, in the case of (2) in FIG. 11, the frame k1 becomes the reference frame of the partition Y2.

また、割合が一番多いフレームが二つ以上の場合は(ステップ104のNo)、パーテ
ィションY2の動きベクトルの値、および同じマクロブロック内のサブマクロブロックS
MB1乃至SMB3の動きベクトルの値をビットストリーム解析部12より受け取る(ス
テップ106)。そして、パーティションY2、サブマクロブロックSMB1、SMB2
、SMB3それぞれの動きベクトルの値を動きベクトルUY2(uy1、uy2)、動き
ベクトルUS1(u11、u12)、動きベクトルUS2(u21、u22)、動きベク
トルUS3(u31、u32)とし、動きベクトルUS1乃至US3のなかで、動きベク
トルUY2に最も類似している動きベクトルを探す(ステップ107)。例えば、それぞ
れの差分ベクトルを求め、その大きさが一番小さいものを候補とする(図11の(3)参
照)。そして、ステップ107で求めた動きベクトルUY2に最も類似している動きベク
トルを持っているサブマクロブロックの参照しているフレームをパーティションY2の参
照フレームとする(ステップ108)。
If there are two or more frames having the largest ratio (No in step 104), the value of the motion vector of the partition Y2 and the sub macroblock S in the same macroblock are used.
The values of motion vectors MB1 to SMB3 are received from the bitstream analysis unit 12 (step 106). Then, partition Y2, sub macroblocks SMB1, SMB2
, SMB3, the motion vectors UY2 (uy1, uy2), the motion vector US1 (u11, u12), the motion vector US2 (u21, u22), the motion vector US3 (u31, u32), and the motion vectors US1 to US32 A motion vector that is most similar to the motion vector UY2 is searched for in US3 (step 107). For example, each difference vector is obtained and the smallest one is set as a candidate (see (3) in FIG. 11). Then, the frame referenced by the sub macroblock having the motion vector most similar to the motion vector UY2 obtained in step 107 is set as the reference frame of the partition Y2 (step 108).

なお、動きベクトルの値を用いて参照フレームを決定する処理はこの方法に限定するこ
となく、動きベクトルを用いて参照フレームを決定する処理であれば、どのような方法で
もよい。
The process for determining the reference frame using the value of the motion vector is not limited to this method, and any process may be used as long as it is a process for determining the reference frame using the motion vector.

以上のようにして参照フレームが決定すると、パーティションY1またはパーティショ
ンY2を含むマクロブロックと同じアドレスに位置する参照フレーム内のマクロブロック
を用いて、エラーコンシールメント処理が行われ(例えば、図9のフレームe1乃至フレ
ームh1の斜線部分)、暫定動きベクトルデータD11は全て0として動き補償部8に送
られる。
When the reference frame is determined as described above, error concealment processing is performed using the macroblock in the reference frame located at the same address as the macroblock including the partition Y1 or the partition Y2 (for example, the frame in FIG. 9). e1 to the hatched portion of the frame h1), the provisional motion vector data D11 are all sent to the motion compensation unit 8 as 0.

(b)スライスヘッダ情報でデコードエラーが検出された場合 スライスヘッダ情報で
デコードエラーが検出され、エラー処理部13がエラー検出部14からそのエラー信号を
受け取ると、以下に説明する方法のいずれかによって参照フレームを決定する。
(B) When a decoding error is detected in the slice header information When a decoding error is detected in the slice header information and the error processing unit 13 receives the error signal from the error detection unit 14, any of the methods described below is used. Determine the reference frame.

例えば、エラー処理部13は「リスト0」で指定されるフレームを参照フレームとする。 For example, the error processing unit 13 sets a frame specified by “list 0” as a reference frame.

これは、「リスト0」で指定されるフレームは、元々符号化側で設定されるものであるが
、その設定で「リスト0」となるフレームは、最も参照されるフレームとする場合が多い
と考えられるからである。
This is because the frame specified in “list 0” is originally set on the encoding side, but the frame that becomes “list 0” in that setting is often the most referenced frame. It is possible.

また例えば、エラー処理部13は参照フレームバッファ部9に蓄積されている再生画像
の再現時間情報T(STCなどの情報)をそれぞれ制御部11から得る。そして、更にデ
コードエラーの検出されたフレームの再現時間情報T1(PTSなどの情報)を復号器1
や、DEMUX(図示せず)など、データ受信機全体の時間情報を制御する機能を持つ制
御部から得る。そして、エラー処理部13は得られた再現時間情報Tの中のうち、デコー
ドエラーが検出されたフレームの再現時間情報の時刻T1に表示時刻が最も近い再現時間
情報T(時刻T1より前でも後でもよい)をもつ再生画像を参照フレームとする。これは
、デコードエラーが検出されたフレームの再現時間情報の時刻T1に再現時間が最も近い
再現時間情報Tをもつ画像がデコードエラーの検出された画像に近いと考えられるからで
ある。
Further, for example, the error processing unit 13 obtains reproduction time information T (information such as STC) of the reproduction image stored in the reference frame buffer unit 9 from the control unit 11. Further, the reproduction time information T1 (information such as PTS) of the frame in which the decoding error is detected is obtained from the decoder 1.
Or a control unit having a function of controlling time information of the entire data receiver such as DEMUX (not shown). Then, the error processing unit 13 among the obtained reproduction time information T, the reproduction time information T (before or after the time T1) whose display time is closest to the time T1 of the reproduction time information of the frame where the decoding error is detected. A reference image is a reproduced image having (or may be). This is because an image having the reproduction time information T closest to the reproduction time information T1 of the reproduction time information of the frame in which the decoding error is detected is considered to be close to the image in which the decoding error is detected.

また例えば、デコードエラーの検出されたフレームの一つ前に復号器1でデコードされ
たフレームを参照フレームとする方法でも良い。これは、直前にデコードされたフレーム
はデコードエラーの検出された画像に近いと考えられるからである。
Alternatively, for example, a method may be used in which a frame decoded by the decoder 1 immediately before a frame in which a decoding error is detected is used as a reference frame. This is because the frame decoded immediately before is considered to be close to an image in which a decoding error is detected.

また例えば、参照フレームバッファ部9に蓄積されている全ての再生画像のフレームの
種類を検索し、Iピクチャーがあるか否かを検索し、更にそのフレームの表示時刻(ST
Cなどの情報)を検索する。もし、Iピクチャーがあれば、その中でデコードエラーを検
出したフレームの表示時刻に最も表示時刻の近いフレームを参照フレームとする方法でも
良い。
Further, for example, the frame types of all reproduced images stored in the reference frame buffer unit 9 are searched, whether or not there is an I picture, and the display time (ST of the frame)
C) (information such as C). If there is an I picture, a method may be used in which a frame having the display time closest to the display time of the frame in which the decoding error is detected is used as a reference frame.

また例えば、参照フレームバッファ部9に蓄積されている全ての再生画像に対して、ヘ
ッダ内に長期にわたって参照されるフレームに付されるlong-term-pictureが付されてい
るか否かを検索し、もし、long-term-pictureが付されている再生画像があれば、その画
像の中で、最もデコード時刻デコードエラーを検出したフレームに最も表示時刻の近いフ
レームを参照フレームとする方法でも良い。
Also, for example, for all the playback images stored in the reference frame buffer unit 9, it is searched whether or not a long-term-picture attached to a frame to be referred to for a long time is attached in the header, If there is a reproduced image to which long-term-picture is attached, a method may be used in which a frame having the closest display time to the frame in which the decoding time decoding error is detected is the reference frame.

また、例えば、次のような方法でも良い。なお以下の記載で「左に隣接するスライス」
とは、当該スライス(図12(A)のスライスX)の左の辺に接するスライスを指し(図
12(A)の例ではスライスAを指す)、「上に隣接するスライス」とは、当該スライス
の上の辺に接するスライスを指し(図12(A)の例ではスライスB1、スライスB2、
スライスB3を指す)、「右上に隣接するスライス」とは当該スライスの右上の頂点に右
上隣接するスライスを指し(図12(A)の例ではスライスB3を指す)、「左上に隣接
するスライス」とは当該スライスの左上の頂点に左上隣接するスライスを指す(図12(
A)の例ではスライスDを指す)ものとする。
For example, the following method may be used. In the following description, “Slices adjacent to the left”
Refers to a slice that touches the left side of the slice (slice X in FIG. 12A) (refers to slice A in the example of FIG. 12A), and “slice adjacent to the top” Refers to the slice that touches the upper side of the slice (in the example of FIG. 12A, slice B1, slice B2,
“Slice adjacent to the upper right” refers to a slice adjacent to the upper right corner of the slice (in the example of FIG. 12A, refers to the slice B3), and “slice adjacent to the upper left”. Indicates the slice that is adjacent to the upper left vertex of the slice (see FIG. 12 (
In the example of A), it refers to slice D).

左に隣接するスライスがデコードされている場合、そのスライス内で最も多い割合で参
照されているフレームを参照フレームとする。もし、スライス内で最も多い割合で参照さ
れているフレームが複数ある場合は、その複数のフレームのうち、デコードエラーの検出
されたスライスに最も近いマクロブロックが参照しているフレームを参照フレームとする
When a slice adjacent to the left is decoded, a frame that is referenced at the highest rate in the slice is set as a reference frame. If there are a plurality of frames that are referenced at the highest rate in the slice, the frame that is referenced by the macroblock closest to the slice in which the decoding error is detected is used as the reference frame. .

そして、左に隣接するスライスがデコードされていない場合は、上に隣接するスライス
がデコードされているかを判断し、上に隣接するスライスがデコードされている場合には
、そのスライス内で最も多い割合で参照されているフレームを参照フレームとする。もし
、スライス内で最も多い割合で参照されているフレームが複数ある場合は、その複数のフ
レームのうち、デコードエラーの検出されたスライスに最も近いマクロブロックが参照し
ているフレームを参照フレームとする。なおここでは、上に隣接するスライスが複数存在
する場合は全てのスライスがデコードされているかを判断してから、上記のように参照フ
レームを決定するが、このように上に隣接するスライスが複数存在する場合は、左上から
順にデコードされているかを判断し、デコードされているスライスが1つ検出された時点
で参照フレームを決定しても良い。
If the left adjacent slice has not been decoded, it is determined whether the upper adjacent slice has been decoded. If the upper adjacent slice has been decoded, the largest percentage of that slice is decoded. The frame referred to in (1) is set as a reference frame. If there are a plurality of frames that are referenced at the highest rate in the slice, the frame that is referenced by the macroblock closest to the slice in which the decoding error is detected is used as the reference frame. . Here, when there are a plurality of adjacent slices above, it is determined whether all the slices are decoded, and then the reference frame is determined as described above. If it exists, it may be determined whether it is decoded in order from the upper left, and a reference frame may be determined when one decoded slice is detected.

そして、上に隣接するスライスがデコードされていない場合は、右上に隣接するスライ
スがデコードされているかを判断し、右上に隣接するスライスがデコードされている場合
、そのスライス内で最も多い割合で参照されているフレームを参照フレームとする。もし
、スライス内で最も多い割合で参照されているフレームが複数ある場合は、その複数のフ
レームのうち、デコードエラーの検出されたスライスに最も近いマクロブロックが参照し
ているフレームを参照フレームとする。
If the upper adjacent slice has not been decoded, it is determined whether the upper right adjacent slice has been decoded. If the upper right adjacent slice has been decoded, the highest percentage of the slice is referenced. The frame that has been set as the reference frame. If there are a plurality of frames that are referenced at the highest rate in the slice, the frame that is referenced by the macroblock closest to the slice in which the decoding error is detected is used as the reference frame. .

そして、右上に隣接するスライスがデコードされていない場合は、左上に隣接するスラ
イスがデコードされているかを判断し、左上に隣接するスライスがデコードされている場
合、そのスライス内で最も多い割合で参照されているフレームを参照フレームとする。も
し、スライス内で最も多い割合で参照されているフレームが複数ある場合は、その複数の
フレームのうち、デコードエラーの検出されたスライスに最も近いマクロブロックが参照
しているフレームを参照フレームとする方法でも良い。
If the slice adjacent to the upper right is not decoded, it is determined whether the slice adjacent to the upper left is decoded. If the slice adjacent to the upper left is decoded, it is referenced at the highest rate in the slice. The frame that has been set as the reference frame. If there are a plurality of frames that are referenced at the highest rate in the slice, the frame that is referenced by the macroblock closest to the slice in which the decoding error is detected is used as the reference frame. The method is fine.

なお、ここで定義した「隣接するスライス」をそれぞれ、「左に隣接するスライス」は
、当該スライス(図12(B)のスライスY)の左の辺に接するスライス(図12(B)
の例のスライスa)、「上に隣接するスライス」は、当該スライスに属する先頭のマクロ
ブロックの上の辺に接するスライス(図12(B)の例のスライスb)、「右上に隣接す
るスライス」は当該スライスに属する先頭のマクロブロックの右上の頂点に右上隣接する
スライス(図12(B)の例のスライスc)、「左上に隣接するスライス」は当該スライ
スに属する先頭のマクロブロックの左上の頂点に左上隣接するスライス(図12(B)の
例のスライスb)と定義しても良い。
Note that the “adjacent slices” defined here are “slices adjacent to the left”, respectively, and slices that are in contact with the left side of the slice (slice Y in FIG. 12B) (FIG. 12B)
In the example of slice a), “slice adjacent on top” is a slice in contact with the upper side of the first macroblock belonging to the slice (slice b in the example of FIG. 12B), “slice adjacent on top right” "Is the upper right adjacent slice to the upper right vertex of the first macroblock belonging to the slice (slice c in the example of FIG. 12B), and" the upper left adjacent slice "is the upper left of the first macroblock belonging to the slice It may be defined as a slice that is adjacent to the top of the top left corner (slice b in the example of FIG. 12B).

なお、デコードされているかを判断する場合において、重複して2度判断しないように
設定しても良い。
It should be noted that when determining whether or not decoding has been performed, it may be set so that it is not determined twice.

以上のようにして参照フレームが決定すると、エラー処理部13はデコードエラーが検
出されたスライスのマクロブロックと同じアドレスに位置する参照フレーム内のマクロブ
ロックを用いてエラーコンシールメント処理を行い、暫定動きベクトルデータD11を全
て0として動き補償部8に送る。
When the reference frame is determined as described above, the error processing unit 13 performs error concealment processing using the macroblock in the reference frame located at the same address as the macroblock of the slice in which the decoding error is detected, and provisional motion The vector data D11 is all set to 0 and sent to the motion compensation unit 8.

c 本発明の実施例によれば、デコードエラーが検出され、エラーコンシールメントを行
う際に、最適な参照フレームを決定することができる。なお、参照フレームが決定された
後、エラーコンシールメント処理が行われるが、この処理は、本実施例に記載されたもの
に限定されることなく、他のエラーコンシールメント処理を行ってもよい。
c According to an embodiment of the present invention, an optimum reference frame can be determined when a decoding error is detected and error concealment is performed. Note that after the reference frame is determined, error concealment processing is performed, but this processing is not limited to that described in the present embodiment, and other error concealment processing may be performed.

1 復号器
2 解読部
3 逆量子化部
4 逆DCT変換部
5 復号加算部
6 イントラ予測部
7 フィルタ
8 動き補償部
9 参照フレームバッファ部
10 スイッチ
11 制御部
12 ビットストリーム解析部
13 エラー処理部
14 エラー検出部
DESCRIPTION OF SYMBOLS 1 Decoder 2 Decoding part 3 Inverse quantization part 4 Inverse DCT conversion part 5 Decoding addition part 6 Intra prediction part 7 Filter 8 Motion compensation part 9 Reference frame buffer part 10 Switch 11 Control part 12 Bit stream analysis part 13 Error processing part 14 Error detector

Claims (4)

符号化された符号化情報を解読する解読手段と、
前記解読手段によって解読されたビットストリームの中から、デコードエラーを検出する
エラー検出手段と、
復号した再生画像を順次蓄積する参照フレームバッファと、
前記エラー検出手段によって前記ビットストリーム内のスライス情報に存在するマクロブ
ロック情報にデコードエラーが検出され、エラーコンシールメント処理を行う場合に、前
記参照フレームバッファに蓄積されている前記復号した再生画像の中で、前記デコードエ
ラーが検出されたスライスに最も表示時刻が近いフレームをエラーコンシールメントの参
照フレームとする参照フレーム決定手段と、
前記参照フレーム決定手段によって決定された参照フレームを用いてエラーコンシールメ
ント処理を行うエラー処理手段と
を有することを特徴とする復号器。
A decoding means for decoding the encoded information,
Error detection means for detecting a decoding error from the bitstream decoded by the decoding means;
A reference frame buffer for sequentially storing decoded reproduced images;
When the decoding error is detected in the macroblock information existing in the slice information in the bitstream by the error detection means and error concealment processing is performed, the decoded reproduction image stored in the reference frame buffer Then, a reference frame determination means that uses a frame having the closest display time to the slice where the decoding error is detected as a reference frame for error concealment,
And an error processing means for performing an error concealment process using the reference frame determined by the reference frame determining means.
符号化された符号化情報を解読する解読手段と、
前記解読手段によって解読されたビットストリームの中から、デコードエラーを検出する
エラー検出手段と、
復号した再生画像を順次蓄積する参照フレームバッファと、
前記エラー検出手段によって前記ビットストリーム内のスライス情報に存在するマクロブ
ロック情報にデコードエラーが検出され、エラーコンシールメント処理を行う場合に、前
記参照フレームバッファに蓄積されている前記復号した再生画像の中からIピクチャーを
含むフレームを探索し、前記Iピクチャーを含むフレームの中で、前記デコードエラーが
検出されたスライスに最もデコード時刻が近いフレームをエラーコンシールメントの参照
フレームとする参照フレーム決定手段と、
前記参照フレーム決定手段によって決定された参照フレームを用いてエラーコンシールメ
ント処理を行うエラー処理手段と
を有することを特徴とする復号器。
A decoding means for decoding the encoded information,
Error detection means for detecting a decoding error from the bitstream decoded by the decoding means;
A reference frame buffer for sequentially storing decoded reproduced images;
When the decoding error is detected in the macroblock information existing in the slice information in the bitstream by the error detection means and error concealment processing is performed, the decoded reproduction image stored in the reference frame buffer A frame including an I picture from the frame, and a reference frame determining unit using a frame having a decoding time closest to a slice in which the decoding error is detected as a reference frame of an error concealment among the frames including the I picture;
And an error processing means for performing an error concealment process using the reference frame determined by the reference frame determining means.
符号化された符号化情報を解読する解読手段と、
前記解読手段によって解読されたビットストリームの中から、デコードエラーを検出する
エラー検出手段と、
復号した再生画像を順次蓄積する参照フレームバッファと、
前記エラー検出手段によって前記ビットストリーム内のスライス情報に存在するマクロブ
ロック情報にデコードエラーが検出され、エラーコンシールメント処理を行う場合に、前
記参照フレームバッファに蓄積されている前記復号した再生画像の中からそれぞれのヘッ
ダに長期参照情報が存在するフレームを探索し、
前記長期参照情報が存在するフレームの中で、前記デコードエラーが検出されたスライス
に最も表示時刻が近いフレームをエラーコンシールメントの参照フレームとする参照フレ
ーム決定手段と、
前記参照フレーム決定手段によって決定された参照フレームを用いてエラーコンシールメ
ント処理を行うエラー処理手段と
を有することを特徴とする復号器。
A decoding means for decoding the encoded information,
Error detection means for detecting a decoding error from the bitstream decoded by the decoding means;
A reference frame buffer for sequentially storing decoded reproduced images;
When the decoding error is detected in the macroblock information existing in the slice information in the bitstream by the error detection means and error concealment processing is performed, the decoded reproduction image stored in the reference frame buffer To search for frames with long-term reference information in each header,
A reference frame determination unit that uses a frame having a display time closest to a slice in which the decoding error is detected among frames in which the long-term reference information exists, as a reference frame for error concealment;
And an error processing means for performing an error concealment process using the reference frame determined by the reference frame determining means.
符号化された符号化情報を解読する解読手段と、
前記解読手段によって解読されたビットストリームの中から、デコードエラーを検出する
エラー検出手段と、
復号した再生画像を順次蓄積する参照フレームバッファと、
前記エラー検出手段によって前記ビットストリーム内のスライス情報に存在するマクロブ
ロック情報にデコードエラーが検出され、エラーコンシールメント処理を行う際に、隣接
する第1のスライスがデコードされている場合は、前記第1のスライス内にある複数のマ
クロブロックのうち、最も多い割合で参照されている第1のフレームをエラーコンシール
メントの参照フレームとし、前記隣接する第1のスライスがデコードされていなく、かつ
隣接する第2のスライスがデコードされている場合は、前記第2のスライス内にある複数
のマクロブロックのうち、最も多い割合で参照されている第2のフレームをエラーコンシ
ールメントの参照フレームとし、前記第2のスライスがデコードされていなく、かつ隣接
する第3のスライスがデコードされている場合は、前記第3のスライス内にある複数のマ
クロブロックのうち、最も多い割合で参照されている第3のフレームをエラーコンシール
メントの参照フレームとし、前記第3のスライスがデコードされていなく、かつ隣接する
第4のスライスがデコードされている場合は、前記第4のスライス内にある複数のマクロ
ブロックのうち、最も多い割合で参照されている第4のフレームをエラーコンシールメン
トの参照フレームとする参照フレーム決定手段と
符号化された符号化情報を解読する解読手段と、
前記解読手段によって解読されたビットストリームの中から、デコードエラーを検出する
エラー検出手段と、
復号した再生画像を順次蓄積する参照フレームバッファと、
前記エラー検出手段によって前記ビットストリーム内のスライス情報に存在するマクロブ
ロック情報にデコードエラーが検出され、エラーコンシールメント処理を行う場合に、前
記参照フレームバッファに蓄積されている前記復号した再生画像の中からそれぞれのヘッ
ダに長期参照情報が存在するフレームを探索し、
前記長期参照情報が存在するフレームの中で、前記デコードエラーが検出されたスライス
に最も表示時刻が近いフレームをエラーコンシールメントの参照フレームとする参照フレ
ーム決定手段と、
前記参照フレーム決定手段によって決定された参照フレームを用いてエラーコンシールメ
ント処理を行うエラー処理手段と
を有することを特徴とする復号器。
A decoding means for decoding the encoded information,
Error detection means for detecting a decoding error from the bitstream decoded by the decoding means;
A reference frame buffer for sequentially storing decoded reproduced images;
When a decoding error is detected in the macroblock information existing in the slice information in the bitstream by the error detection means, and the adjacent first slice is decoded when performing error concealment processing, the first Among the plurality of macroblocks in one slice, the first frame that is referred to in the largest proportion is set as a reference frame for error concealment, and the adjacent first slice is not decoded and is adjacent. When the second slice is decoded, the second frame that is referenced in the largest proportion among the plurality of macroblocks in the second slice is set as a reference frame for error concealment, and 2 slices are not decoded and the adjacent 3rd slice is decoded The third frame referenced in the highest proportion among the plurality of macroblocks in the third slice is used as the error concealment reference frame, and the third slice is decoded. If the fourth slice adjacent to the fourth slice is not decoded, the fourth frame that is referenced in the largest proportion among the plurality of macroblocks in the fourth slice is selected as the error concealment. A reference frame determining means as a reference frame, a decoding means for decoding the encoded information,
Error detection means for detecting a decoding error from the bitstream decoded by the decoding means;
A reference frame buffer for sequentially storing decoded reproduced images;
When the decoding error is detected in the macroblock information existing in the slice information in the bitstream by the error detection means and error concealment processing is performed, the decoded reproduction image stored in the reference frame buffer To search for frames with long-term reference information in each header,
A reference frame determination unit that uses a frame having a display time closest to a slice in which the decoding error is detected among frames in which the long-term reference information exists, as a reference frame for error concealment;
And an error processing means for performing an error concealment process using the reference frame determined by the reference frame determining means.
JP2009032808A 2009-02-16 2009-02-16 Decoder Pending JP2009105986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009032808A JP2009105986A (en) 2009-02-16 2009-02-16 Decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009032808A JP2009105986A (en) 2009-02-16 2009-02-16 Decoder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004058865A Division JP4309784B2 (en) 2004-03-03 2004-03-03 Decoder

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011164096A Division JP2011239464A (en) 2011-07-27 2011-07-27 Decoder

Publications (1)

Publication Number Publication Date
JP2009105986A true JP2009105986A (en) 2009-05-14

Family

ID=40707160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009032808A Pending JP2009105986A (en) 2009-02-16 2009-02-16 Decoder

Country Status (1)

Country Link
JP (1) JP2009105986A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788300A (en) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 Error-detecting method and device in a kind of HEVC decoder

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0346481A (en) * 1989-07-14 1991-02-27 Kokusai Denshin Denwa Co Ltd <Kdd> Movement compensation error correction system
JPH0479689A (en) * 1990-07-20 1992-03-13 Matsushita Electric Ind Co Ltd Method for correcting error of picture
JPH1023424A (en) * 1996-06-28 1998-01-23 Sanyo Electric Co Ltd Device for decoding compression data of moving image
JP2000236522A (en) * 1999-02-12 2000-08-29 Sony Corp Image information processing unit, its method and served medium
JP2001309388A (en) * 2000-04-25 2001-11-02 Oki Electric Ind Co Ltd Error image supplementing method in image decoder
WO2002067591A2 (en) * 2001-02-23 2002-08-29 Telefonaktiebolaget Lm Ericsson (Publ) Video bitstream washer
JP2003179937A (en) * 2002-10-22 2003-06-27 Mitsubishi Electric Corp Device and method for decoding digital image

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0346481A (en) * 1989-07-14 1991-02-27 Kokusai Denshin Denwa Co Ltd <Kdd> Movement compensation error correction system
JPH0479689A (en) * 1990-07-20 1992-03-13 Matsushita Electric Ind Co Ltd Method for correcting error of picture
JPH1023424A (en) * 1996-06-28 1998-01-23 Sanyo Electric Co Ltd Device for decoding compression data of moving image
JP2000236522A (en) * 1999-02-12 2000-08-29 Sony Corp Image information processing unit, its method and served medium
JP2001309388A (en) * 2000-04-25 2001-11-02 Oki Electric Ind Co Ltd Error image supplementing method in image decoder
WO2002067591A2 (en) * 2001-02-23 2002-08-29 Telefonaktiebolaget Lm Ericsson (Publ) Video bitstream washer
JP2003179937A (en) * 2002-10-22 2003-06-27 Mitsubishi Electric Corp Device and method for decoding digital image

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788300A (en) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 Error-detecting method and device in a kind of HEVC decoder

Similar Documents

Publication Publication Date Title
US10271048B2 (en) Method of background residual prediction for video coding
KR100930850B1 (en) Method, apparatus, processor, and computer readable medium for temporal error concealment for bi-directionally predicted frames
US8559506B2 (en) Method and apparatus for scalable video coding
US20160366436A1 (en) Method for inducing prediction motion vector and apparatuses using same
US20070223585A1 (en) Video decoding apparatus and video decoding method
US20110051812A1 (en) Video Transmitting Apparatus, Video Receiving Apparatus, Video Transmitting Method, and Video Receiving Method
JP2011501542A (en) Method and apparatus for interframe predictive coding
CN106341622B (en) Method and device for encoding multi-channel video stream
JP2020150313A (en) Image decoder, image decoding method, and program
CN111937389B (en) Apparatus and method for video encoding and decoding
US11445212B2 (en) Moving picture decoding device, moving picture decoding method, and moving picture decoding program
JP4509809B2 (en) Digital image decoding apparatus and method
JP4309784B2 (en) Decoder
JP2009105986A (en) Decoder
JP2011239464A (en) Decoder
JP2008005197A (en) Decoding device and decoding method
KR20230145097A (en) Spatial local illumination compensation
WO2012000379A1 (en) Method and decoder for improving quality of video decoding image
US11812052B2 (en) Moving picture decoding device, moving picture decoding method, and moving picture decoding program
JP6493592B2 (en) Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
JP6311816B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
TW202145783A (en) Inter-frame prediction method, encoder, decoder, and computer storage medium capable of enhancing variety of motion information from a list of candidate motion information
JP2019201438A (en) Moving image processing apparatus, processing method, and computer-readable storage medium
JP2008061045A (en) Motion picture decoding apparatus and decoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090305

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004