KR20030065694A - Error concealment method of Itra coded frame by spatio-temporal information - Google Patents

Error concealment method of Itra coded frame by spatio-temporal information Download PDF

Info

Publication number
KR20030065694A
KR20030065694A KR1020020005414A KR20020005414A KR20030065694A KR 20030065694 A KR20030065694 A KR 20030065694A KR 1020020005414 A KR1020020005414 A KR 1020020005414A KR 20020005414 A KR20020005414 A KR 20020005414A KR 20030065694 A KR20030065694 A KR 20030065694A
Authority
KR
South Korea
Prior art keywords
frame
macroblock
error
information
motion vector
Prior art date
Application number
KR1020020005414A
Other languages
Korean (ko)
Other versions
KR100454526B1 (en
Inventor
유철
Original Assignee
유철
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 유철 filed Critical 유철
Priority to KR10-2002-0005414A priority Critical patent/KR100454526B1/en
Publication of KR20030065694A publication Critical patent/KR20030065694A/en
Application granted granted Critical
Publication of KR100454526B1 publication Critical patent/KR100454526B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A method of hiding an error in intra frame using spatio-temporal information is provided to effectively hide even an error that is generated in continuous macro blocks. CONSTITUTION: A macro block I having an error is detected from intra frame(S1). A macro block B of B-frame corresponding to the detected macro block is found from neighboring B-frame of the previous group of picture(S2). A backward motion vector is found from information about the macro block of B-frame, to search for a macro black B' that has been moved from the position of the macro block of B-frame by the backward motion vector(S3). A macro block is selected from macro blocks of B-frame including the macro block B' and a forward motion vector is found from information of the selected macro block, to search for a reference macro block P of a corresponding anchor frame(S6). Each pixel data of the reference macro block of the anchor frame is copied as pixel data of the macro block I having the error(S8).

Description

시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법{ Error concealment method of Itra coded frame by spatio-temporal information }Error concealment method of Itra coded frame by spatio-temporal information}

본 발명은 MPEG-2 알고리즘에 따른 영상 부호화기술에서 에러를 은닉하기 위한 에러은닉 기술에 관한 것으로, 더욱 상세하게는 인트라 프레임(Intra frame)에서 발생된 에러를 시공간 정보를 이용하여 은닉하는 방법에 관한 것이다.The present invention relates to an error concealment technique for concealing an error in an image encoding technique according to an MPEG-2 algorithm, and more particularly, to a method of concealing an error generated in an intra frame using space-time information. will be.

일반적으로, 디지탈 TV/HDTV 신호는 제한된 채널 대역폭으로 인해 MPEG-2 알고리즘을 이용한 높은 압축율로 압축된 신호를 사용한다. MPEG-2에서는 움직임보상(Motion compensation), 혼합 이산코사인변환(Hybrid Discrete Cosine Transform), 가변장부호화(Variable Length Coding), 적응 양자화(Adaptive Quantization) 등으로 압축된 신호를 계층구조의 비트 스트림으로 형성하여 전송채널로 보낸다. 이때 전송채널로 보내진 압축 데이터는 채널잡음이나 물리적인 채널의 손상등과 같은 전송에러로 인하여 손실되거나 손상될 수 있으며, 압축된 데이터에 손상을 주는 전송에러는 크게 랜덤 비트 에러(random bit error)와 이레이져 에러(erasure error)가 있다.In general, digital TV / HDTV signals use signals compressed at high compression rates using the MPEG-2 algorithm due to limited channel bandwidth. In MPEG-2, a compressed signal is formed into a hierarchical bit stream by motion compensation, hybrid discrete cosine transform, variable length coding, and adaptive quantization. Send it to the transmission channel. At this time, the compressed data sent to the transmission channel may be lost or damaged due to transmission error such as channel noise or physical channel damage. The transmission error that damages the compressed data is mainly caused by random bit error and There is an erasure error.

랜덤 비트 에러는 물리적 채널의 결함에 의해서 생성되며, 고정길이 부호화를 사용할 때에는 단 하나의 코드워드에만 영향을 미치지만 가변장 부호화를 사용하게 되면 코드화된 정보의 동기화를 잃어버리게 할 수도 있다. 이레이져 에러는 패킷 네트워크에서 패킷손실, 물리적 결함에 의한 저장 미디어에서의 버스트 에러(burst error), 짧은 시간동안의 시스템 결함등에 의해 야기되며, 비트의 연속적인 세그먼트의 손실 혹은 손상 등으로 인하여 랜덤 비트보다 훨씬 심한 손상을 발생시킨다.Random bit errors are generated by defects in the physical channel. When using fixed-length coding, only one codeword is affected, but variable-length coding can cause loss of synchronization of coded information. Eraser errors are caused by packet loss in packet networks, burst errors in storage media due to physical faults, system faults for short periods of time, and random bits due to loss or corruption of consecutive segments of bits. Cause much more serious damage.

이러한 전송에러에 의한 데이터의 손실이나 손상으로부터 화질의 열화를 방지하기 위하여 MPEG-2에서 주로 사용하는 종래의 에러은닉기술은 디코더에서 전송에러에 의해 손실된 정보를 복구하거나 추정하는 것이다. 이러한 종래의 에러은닉기술은 크게 시간적인 에러은닉과 공간적인 에러은닉 2가지 방식으로 나누어 볼 수 있다.The conventional error concealment technique mainly used in MPEG-2 to prevent deterioration of image quality from data loss or damage due to such transmission error is to recover or estimate information lost by transmission error in the decoder. This conventional error concealment technique can be largely divided into two types of temporal error concealment and spatial error concealment.

시간적인 에러은닉 방식은 하나의 시퀀스에서의 시간 중복성(temporal redundancy)을 이용하는 것으로, 움직임 정보를 가지고 있는 인터코딩(inter coding) 프레임에서 사용되는 반면에, 공간적인 에러은닉 방식은 하나의 프레임에서의 공간적 중복성(spatial redundancy)을 이용하는 것으로, 움직임 정보를 가지고 있지 않은 인트라코딩(intra coding) 프레임을 위해서 사용된다.The temporal error concealment scheme uses temporal redundancy in one sequence, which is used in intercoding frames with motion information, while the spatial error concealment scheme is used in one frame. By using spatial redundancy, it is used for an intra coding frame having no motion information.

또한, 시간적인 에러 은닉 기술은 단순한 시간적 에러 은닉 방식과 움직임 보상 시간적 에러 은닉방식으로 나뉜다. 단순한 시간적 에러 은닉방식은 현재 프레임에서 에러가 발견된 부분과 일치하는 이전에 전송된 앵커 프레임(anchor frame)에서의 값을 그대로 사용하는 방식이다. 따라서 이 방식의 경우에는 구현이 간단하지만 현재 프레임과 이전의 앵커 프레임간에 움직임이 있을 경우, 프레임간의 움직임으로 인한 시각적인 오류가 보일 수 있다는 단점이 있다. 움직임보상 시간적 에러은닉 방식은 위의 단순 시간적 에러은닉 방식에서의 단점을 보완한 방식으로서, 현재 프레임의 움직임 벡터가 존재한다면 에러가 난 부분의 주변 매크로블록의 움직임 벡터를 사용하여 에러를 처리하는 방식이다. 이러한 움직임보상 시간적 에러은닉 방식은 단순 시간적 에러은닉 방식보다 효과적이어서 널리 사용되고 있으나 주변 매크로블록의 움직임 벡터가 손상된 경우, 정확하지 않은 움직임 벡터의 예측으로 인하여 복원된 이미지에서 큰 오류가 생길 수 있다는 문제점이 있다.In addition, the temporal error concealment technique is divided into a simple temporal error concealment scheme and a motion compensation temporal error concealment scheme. Simple temporal error concealment is a method of using a value in a previously transmitted anchor frame that matches the part where an error is found in the current frame. Therefore, this method is simple to implement, but there is a drawback that if there is movement between the current frame and the previous anchor frame, visual errors due to the movement between the frames may be seen. The motion compensation temporal error concealment method is a method that compensates for the shortcomings of the simple temporal error concealment method. If the motion vector of the current frame exists, the error processing method is performed by using the motion vector of the neighboring macroblock of the error part. to be. The motion compensation temporal error concealment method is more effective than the simple temporal error concealment method. However, if the motion vector of the neighboring macroblock is damaged, a large error may occur in the reconstructed image due to incorrect prediction of the motion vector. have.

공간적인 에러은닉 방식은 에러가 발생한 매크로 블록을 블록단위로 에러를 은닉하는 방식과 하나의 매크로블록 단위로 에러를 은닉하는 방식 2가지가 있다. 블록단위로 에러를 은닉하는 방식은 에러가 발생한 매크로 블록을 구성하는 4개 블록의 픽셀들을 각 블록과 인접하는 픽셀들을 이용하여 에러를 은닉하는 것이다. 이 기술은 에러가 발생한 매크로블록의 주변 4개 매크로블록에 에러가 존재하지 않을 때는 좋은 결과를 얻을 수 있으나, 주변의 매크로블록이 손상되었을 경우에는 에러를 제대로 은닉할 수 없다. 예를 들어, 연속적인 매크로블록의 에러가 발생한경우(슬라이스 에러), 왼쪽과 오른쪽의 매크로블록에도 에러가 발생하게 되어 위쪽과 아래쪽의 매크로블록의 픽셀들만을 이용하여 에러를 은닉하기 때문에 제대로 에러를 은닉할 수 없게 된다. 그리고 매크로블록 단위로 에러를 은닉하는 방식은 에러가 발생한 주변 4개의 매크로블록을 가지고 전체 매크로블록의 각 픽셀을 복원하는 방식으로서, MPEG-2 비디오에서 주로 사용된다. 즉, MPEG-2에서 비디오 전송단위인 슬라이스(slice)에 에러가 발생하여 여러개의 연속적인 매크로블록이 손상된 경우, 왼쪽과 오른쪽의 매크로블록은 에러은닉에 사용할 수 없게 된다. 그래서 에러가 발생한 매크로블록의 위, 아래 매크로블록만을 사용하여 에러를 은닉하게 되는데, 이때에 주로 사용되는 방식이다.There are two methods of spatial error concealment: a method of concealing an error in block units of a macroblock in which an error occurs, and a method of concealing an error in units of one macroblock. A method of concealing errors on a block-by-block basis is to conceal the error by using pixels adjacent to each block of the four blocks of pixels constituting the macro block in which the error occurs. This technique achieves good results when there are no errors in the four surrounding macroblocks of the macroblock where the error occurs. However, if the surrounding macroblocks are damaged, the error cannot be concealed properly. For example, if an error of a continuous macroblock occurs (slice error), an error also occurs in the left and right macroblocks, and the error is correctly hidden because only the pixels of the upper and lower macroblocks conceal the error. You cannot hide it. The method of concealing errors in units of macroblocks is a method of restoring each pixel of the entire macroblock with four macroblocks around which an error occurs and is mainly used in MPEG-2 video. That is, when an error occurs in a slice, which is a video transmission unit in MPEG-2, and several consecutive macroblocks are damaged, the left and right macroblocks cannot be used for error concealment. Therefore, the error is concealed using only the macroblocks above and below the macroblock in which the error occurs.

이러한 공간적 에러 은닉방식은 에러가 발생한 매크로블록의 주변 매크로블록들이 제대로 존재할 때에는 좋은 결과를 얻을 수 있다. 그러나 블록에 기초한 에러 은닉방식은 이웃한 블록의 색상과 현재 블록의 색상이 같을 경우는 거의 정확하게 에러가 복원되지만 이웃한 블록간에 색상차가 있을 경우 흐려짐(blur)현상이 발생할 수 있다. 또한 매크로블록에 기초한 에러 은닉방식은 블록에 기반한 에러은닉방식에서의 blur 현상은 보이지 않지만 하나의 매크로블록에 경계가 있을 경우에는 역시 blur 현상이 발생할 수 있고, 하나의 슬라이스가 아닌 연속적인 여러개의 슬라이스에 에러가 발생했을 경우에 화질이 열화되는 문제점이 있다.This spatial error concealment method can achieve good results when the neighboring macroblocks of the macroblock in which the error occurs are present properly. However, in the block-based error concealment method, when the color of the neighboring block is the same as the color of the current block, the error is almost exactly restored, but when there is a color difference between the neighboring blocks, blur may occur. In addition, the error concealment method based on macroblocks does not show the blur phenomenon in the error concealment method based on the block, but when there is a boundary in one macroblock, a blur phenomenon may also occur. There is a problem that image quality deteriorates when an error occurs.

본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 제안된 것으로, 시공간 정보를 이용하여 인트라 프레임에 에러가 발생한 것을 은닉하기 위한 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above-described problems, and an object thereof is to provide an error concealment method for an intra frame using spatiotemporal information for concealing that an error has occurred in an intra frame using spatiotemporal information.

도 1은 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 부호화기의 개략도,1 is a schematic diagram of a typical MPEG-2 video encoder to which the present invention may be applied;

도 2는 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 복호화기의 개략도,2 is a schematic diagram of an exemplary MPEG-2 video decoder to which the present invention may be applied;

도 3은 본 발명의 실시예에 따른 GOP의 구조,3 is a structure of a GOP according to an embodiment of the present invention,

도 4는 본 발명에 따른 에러 은닉방법을 도시한 순서도,4 is a flowchart showing an error concealment method according to the present invention;

도 5는 본 발명에 따라 B프레임에서 I프레임의 에러발생 대응블록을 찾는 개념을 설명하기 위한 개략도,5 is a schematic diagram illustrating a concept of finding an error occurrence corresponding block of an I frame in a B frame according to the present invention;

도 6은 본 발명에 따라 B프레임의 대응블록에 역방향 움직임벡터를 적용한 것을 설명하기 위한 개략도,6 is a schematic diagram illustrating the application of a backward motion vector to a corresponding block of a B frame according to the present invention;

도 7은 본 발명에 따라 B프레임의 매크로블록의 순방향 움직임벡터로 P프레임의 레퍼런스 매크로블록을 찾는 것을 설명하기 위한 개략도,7 is a schematic diagram for explaining finding a reference macroblock of a P frame with a forward motion vector of a macroblock of a B frame according to the present invention;

도 8은 본 발명에 따라 P프레임의 레퍼런스 매크로블록에 거리를 보상하여 I프레임의 에러를 은닉하는 개념을 설명하기 위한 개략도이다.8 is a schematic diagram illustrating a concept of concealing an error of an I frame by compensating a distance to a reference macroblock of a P frame according to the present invention.

☞도면의 주요부분에 대한 부호의 설명☜☞ Explanation of symbols for main parts of drawing

102,124,212: 프레임메모리104,122,210: 가산기102,124,212: frame memory 104,122,210: adder

106: 이산코사인변환기108: 양자화기106: Discrete Cosine Converter 108: Quantizer

110: 가변장부호화 및 다중화기112,202: 버퍼110: variable-length encoding and multiplexer 112, 202: buffer

114: 레이트제어기116: 복잡도 계산부114: rate controller 116: complexity calculator

118,206: 역양자화기120,208: 역이산코사인변환기118,206 Inverse Quantizer 120,208 Inverse Discrete Cosine Converter

126,214: 적응 예측부128: 움직임추정부126,214: Adaptive Prediction 128: Motion Estimation

204: 역다중화 및 가변장복호기204 demultiplexing and variable length decoder

상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 시계열상에 연속되는 일련의 픽쳐그룹으로 이루어진 영상 프레임이 MPEG-2 부호화 방식으로 부호화되어 전송되는 비트스트림을 디코딩하면서 인트라 프레임에서 검출된 에러를 은닉하기 위한 방법에 있어서, 인트라 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출하는 단계; 이전 GOP의 인접 B프레임에서 매크로블록 I(i,j)와 대응하는 B프레임의 매크로블록 B(i,j)를 찾는 단계; 상기 B프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는 단계; 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)을 보정하여 보정된 매크로블록 B"(i,j)를 구하는 단계; 상기 보정된 매크로블록 B"(i,j)와 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구하는 단계; 상기 베이스 매크로블록에 대한 정보에서 순방향 움직임벡터 MVF(i,j)를 찾아 해당 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는 단계; 상기 앵커 프레임의 레퍼런스 매크로블록의 위치를 상기 거리만큼 보정하여 보정된레퍼런스 매크로블록 P'(i,j)을 구하는 단계; 및 상기 보정된 레퍼런스블록의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the method of the present invention provides a method for detecting an error detected in an intra frame while decoding a bitstream in which an image frame consisting of a series of picture groups consecutive on a time series is encoded and transmitted by MPEG-2 encoding. CLAIMS 1. A method for concealing, the method comprising: detecting a macroblock I (i, j) in which an error occurs in an intra frame; Finding the macroblock B (i, j) of the B frame corresponding to the macroblock I (i, j) in the adjacent B frame of the previous GOP; Backward motion vector by the information for the macroblock of the B frame, B (i, j) MV B (i, j) to find the B-frame macro-block B (i, j) reverse motion vector macro of the moved position as from the position Finding block B '(i, j); Macroblock B corrected by finding and averaging each backward motion vector from information on macroblocks of frame B including macroblock B '(i, j) and correcting macroblock B' (i, j) obtaining ((i, j); distance d between base corrected macroblocks of macroblocks of frame B including the corrected macroblock B " (i, j) and the macroblock B '(i, j) obtaining (m, n); Finding a reference macroblock P (i, j) of the anchor frame by finding a forward motion vector MV F (i, j) in the information on the base macroblock; Obtaining a corrected reference macroblock P '(i, j) by correcting the position of the reference macroblock of the anchor frame by the distance; And copying each pixel data of the corrected reference block as pixel data of the macroblock I (i, j) in which the error occurs.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 부호화기의 개략도로서, 부호화기는 프레임 메모리(102)와, 가산기(104), 이산코사인변환기(106: DCT), 적응 양자화기(108: Q), 가변장부호화 및 다중화기(110: VLC & MUX), 버퍼(112), 레이트(Rate) 제어기(114), 복잡도(Activity) 계산부(116), 역양자화기(118: DeQ), 역이산코사인변환기(120: IDCT), 가산기(122), 프레임메모리(124), 적응예측부 (126), 움직임추정부(128)로 구성된다.1 is a schematic diagram of a typical MPEG-2 video encoder to which the present invention may be applied, the encoder comprising a frame memory 102, an adder 104, a discrete cosine transformer 106 (DCT), and an adaptive quantizer 108 (Q). Variable length coding and multiplexer 110 (VLC & MUX), buffer 112, rate controller 114, complexity calculator 116, dequantizer 118 (DeQ), inverse discrete The cosine transformer 120 includes an IDCT, an adder 122, a frame memory 124, an adaptive predictor 126, and a motion estimation 128.

MPEG 비디오 알고리즘은 시간적 중복성(temporal redundancy)을 줄이기 위한 블록기반 움직임 보상(block based motion compensation) 방식과 공간적인 중복성(spatial redundancy)을 줄이기 위한 이산코사인변환(Discrete Cosine Transform) 방식 등 2가지 기본기술에 의존한다. MPEG-2 비디오 소스 코딩의 경우 움직임 보상 혼합 이산코사인 변환을 기반으로 하는 코딩방식을 사용하는데, 여기에는 인트라 코딩(Intra coding) 프레임이라 불리우는 I 프레임과 인터 코딩(Inter coding) 프레임이라 불리우는 P, B 프레임 등 3가지 형태의 프레임이 사용된다.MPEG video algorithms are based on two basic techniques: block based motion compensation to reduce temporal redundancy and discrete cosine transform to reduce spatial redundancy. Depends. In the case of MPEG-2 video source coding, a coding scheme based on motion-compensated mixed discrete cosine transform is used, which includes an I frame called an intra coding frame and a P and B called an inter coding frame. Three types of frames are used, including frames.

I 프레임은 다른 프레임의 참조없이 자기 자신의 정보를 이용하여 코딩되며, 비트 스트림에서의 랜덤 억세스 지점으로 사용되고, P, B 프레임의 참조 프레임으로 사용된다. P 프레임은 이전의 I 프레임 혹은 P 프레임으로부터 순방향 움직임 보상 예측(Forward motion prediction)을 사용하며, B 프레임은 이전의 I 혹은 P 프레임으로부터 순방향 움직임 보상 예측(Forward motion prediction)과 다음의 I 혹은 P 프레임으로부터의 역방향 움직임 보상 예측(Backward motion prediction) 등 쌍방향 움직임 보상 예측 (Bidirectional motion prediction)을 사용한다. 이때 I 프레임과 P 프레임을 앵커 프레임(anchor frame)이라 한다.An I frame is coded using its own information without reference to another frame, used as a random access point in the bit stream, and used as a reference frame of P and B frames. P frames use forward motion prediction from previous I or P frames, and B frames use forward motion prediction and next I or P frames from previous I or P frames. Bidirectional motion prediction is used, such as backward motion prediction from. In this case, the I frame and the P frame are called anchor frames.

또한 몇개의 프레임을 하나의 그룹으로 묶어서 픽처 그룹(GOP:Group Of Picture)이라 부르며, 하나의 GOP에는 단지 하나의 I 프레임이 포함된다. 각 프레임들은 슬라이스(slice)로 구성되며, 하나의 슬라이스(slice)는 여러개의 매크로블록(macro block)으로 구성되고, 각 매크로블록(macro block)은 8 x 8 픽셀의 형태를 가지는 4개의 블록(block)으로 구성된다.In addition, several frames are grouped into one group and called a picture group (GOP: Group Of Picture), and one GOP includes only one I frame. Each frame consists of a slice, one slice consists of several macroblocks, and each macroblock consists of four blocks (8 x 8 pixels). block).

도 1을 참조하면, 프레임 메모리(102)로는 GOP를 형성할 일련의 픽쳐들이 순차적으로 저장된다. 프레임 메모리(102)에 저장된 프레임을 I 프레임으로 인트라 코딩할 경우, I 프레임 코딩은 움직임 예측이 없으므로 가산기(104)를 지나 이산코사인변환기(106)와 적응 양자화기(108)와 가변장부호기(110)를 거치면서 블록 혹은 매크로블록 단위로 인트라 코딩이 이루어진다.Referring to FIG. 1, a series of pictures for forming a GOP are sequentially stored in the frame memory 102. In the case of intra coding a frame stored in the frame memory 102 into I frames, since I frame coding has no motion prediction, the discrete cosine transformer 106, the adaptive quantizer 108, and the variable length encoder 110 pass through the adder 104. Intra coding is performed in units of blocks or macroblocks.

이산 코사인 변환기(106)에서 이산 코사인 변환은 8 x 8 블록단위로 이루어지는데, 블록의 모든 에너지가 이 블록의 DC값에 집중되도록 주파수 도메인으로프레임의 정보를 이동시키는 것이다. 여기서, 이산코사인 변환과정에 의하여 얻어진 이산코사인 변환계수는 저주파(DC) 성분과 고주파(AC) 성분으로 나누어 독립적으로 양자화하되는데, 저주파(DC) 성분은 바로 이전 매크로블록의 저주파(DC) 성분을 예측치로 한 차이값이 부호화되고, 고주파(AC) 성분은 블록마다 지그재그 스캔하여 일렬로 나열된 후 부호화된다. 양자화기(108)는 인간의 시각적 특성과 부호화 효율을 고려하여 가중치 메트릭스(weighting matrix)와 적절한 크기의 양자화 스텝으로 이산코사인 변환계수를 양자화하는데, 부호화할 프레임의 복잡도(activity)와 전송속도를 고려하여 양자화 스텝을 조절한다. 즉, MPEG-2에서는 피드백(feed-back) 방식과 피드포워드(feed-forward)방식을 결합하여 전송율을 조정하는데, 이를 위해 레이트 제어기(114)는 버퍼(112)의 충만도와 복잡도 계산부(116)의 복잡도를 고려하여 양자화 스텝 사이즈를 가변한다.The discrete cosine transform in the discrete cosine transformer 106 consists of 8 x 8 block units, which move the information of the frame to the frequency domain so that all the energy of the block is concentrated on the DC value of the block. Here, the discrete cosine transform coefficient obtained by the discrete cosine transform process is divided into a low frequency (DC) component and a high frequency (AC) component and independently quantized. The low frequency (DC) component is a low frequency (DC) component of the previous macroblock. The difference value as the predicted value is encoded, and the high frequency (AC) component is encoded after zigzag scanning for each block and arranged in a line. The quantizer 108 quantizes the discrete cosine transform coefficient using a weighting matrix and an appropriately sized quantization step in consideration of human visual characteristics and coding efficiency, taking into account the complexity and transmission rate of a frame to be encoded. To adjust the quantization step. In other words, in MPEG-2, the feed rate is adjusted by combining a feed-back method and a feed-forward method. To this end, the rate controller 114 performs the fullness and complexity calculation unit 116 of the buffer 112. The quantization step size is varied in consideration of the complexity of

한편, 프레임 메모리(102)에 저장된 프레임 데이터를 P나 B 프레임으로 인터 코딩할 경우, 블록매칭알고리즘(Block Matching Algorithm: BMA)에 의해 예측된 움직임 벡터(Motion Vector)를 사용한다. P 프레임의 경우에는 이전 I나 P프레임으로부터 예측된 순방향 움직임 벡터를 사용하고, B 프레임의 경우에는 이전 I나 P프레임과 다음 I나 P 프레임으로부터 예측된 순방향 및 역방향 움직임 벡터를 사용한다.On the other hand, when inter-coding frame data stored in the frame memory 102 into P or B frames, a motion vector predicted by a block matching algorithm (BMA) is used. For the P frame, the forward motion vector predicted from the previous I or P frame is used, and for the B frame, the forward and backward motion vectors predicted from the previous I or P frame and the next I or P frame are used.

또한, MPEG-2는 프레임 단위와 필드 단위 등 2가지 방식의 움직임 보상 예측방식을 사용하는데, 프레임 단위의 경우 하나의 프레임은 하나의 전체 픽쳐가 되고, 각 매크로 블록당 하나의 움직임 벡터를 갖게 된다. 반면에, 필드 단위의 경우 하나의 필드는 인터레이스드 하프 프레임(interlaced half frame)이 되며, 필드당 하나씩 매크로블록 하나에 2개의 움직임 벡터를 가지게 된다. 인코더에서는 움직임 보상 예측 방식에 의하여 발생된 예측에러를 계산하여 비트 스트림에 삽입하게 되고, 예측에러는 인트라 코딩 매크로블록처럼 이산코사인변환을 사용하여 시간중복성 감소를 가지고 압축하게 된다. 이때 움직임과 관련된 정보는 16x16 블록에 기반하여 공간정보와 함께 전송되며, 움직임 정보는 최대 효율성을 위하여 가변장 부호화를 사용하여 압축된다. 이와 같이 MPEG-2방식의 영상 예측에러, 움직임벡터 등의 정보를 코딩할 때 가변장 부호화를 사용하므로 전송시에 발생되는 에러에 매우 민감하게 된다.In addition, MPEG-2 uses two methods of motion compensation prediction, that is, a frame unit and a field unit. In the case of a frame unit, one frame becomes one entire picture and one motion vector is included for each macro block. . On the other hand, in a field unit, one field becomes an interlaced half frame, and two motion vectors are included in one macroblock, one per field. In the encoder, the prediction error generated by the motion compensation prediction method is calculated and inserted into the bit stream, and the prediction error is compressed using a discrete cosine transform, like an intra coding macroblock, with a reduction in time redundancy. At this time, the motion-related information is transmitted along with the spatial information based on the 16x16 block, and the motion information is compressed using variable length coding for maximum efficiency. As such, variable length coding is used when coding information such as MPEG-2 type video prediction errors and motion vectors, thereby being very sensitive to errors generated during transmission.

다시 도 1을 참조하면, I프레임에 대한 인트라 코딩이 진행된 후 프레임 메모리(102)에는 역양자화기(118)에서 역양자화되고 역이산코사인변환기(120)에서 역이산코사인변환되어 복원된 참조 프레임의 데이터가 저장되어 있다. 인터 코딩할 경우 움직임 추정은 통상 매크로블록 단위로 이루어지는데, 움직임 추정부(128)는 코딩할 매크로블록과 가장 유사한 매크로블록을 이전 참조 프레임에서 찾아 움직임 벡터를 구하고, 적응 예측부(126)는 움직임벡터에 의해 지정된 레퍼런스 블록을 찾아 가산기(104)로 출력한다. 가산기(104)는 코딩할 프레임의 해당 매크로블록과 레퍼런스 블록의 차(예측에러)를 출력하고, 이산코사인변환기(106)를 이를 이산코사인변환한다. 양자화기(108)는 이산코사인 변환계수를 양자화하고, 가변장 부호화 및 다중화기(110)는 양자화기(108)가 출력하는 양자화된 예측에러와 부가적인 여러 정보(움직임벡터, 양자화정보 등)를 가변장 부호화한 후 다중화하여 출력한다.Referring back to FIG. 1, after intra coding of an I frame is performed, in the frame memory 102, an inverse quantized by an inverse quantizer 118 and an inverse discrete cosine transformed by an inverse discrete cosine transformer 120 to restore a reference frame. The data is stored. In the case of inter coding, motion estimation is generally performed in units of macroblocks. The motion estimation unit 128 finds a macroblock most similar to a macroblock to be coded in a previous reference frame, and obtains a motion vector. The reference block designated by the vector is found and output to the adder 104. The adder 104 outputs a difference (prediction error) between the corresponding macroblock and the reference block of the frame to be coded, and the discrete cosine transformer 106 performs discrete cosine transform on it. The quantizer 108 quantizes the discrete cosine transform coefficient, and the variable length encoder and multiplexer 110 outputs the quantized prediction error and additional information (motion vector, quantization information, etc.) output from the quantizer 108. After variable length coding, multiplexing is performed.

이와 같이 MPEG-2 부호화기에서 코딩된 비트 스트림은 전송매체를 통해 전송되어 도 2에 도시된 비와 같은 MPEG-2 비디오 복호화기에서 복호화된다.The bit stream coded in the MPEG-2 encoder is transmitted through the transmission medium and decoded in the MPEG-2 video decoder as shown in FIG.

도 2를 참조하면, MPEG-2 비디오 복호화기는 버퍼(202), 역다중화 및 가변장복호기(204: DeMUX & VLD), 역양자화기(206: DeQ), 역이산여현변환기(208: IDCT), 가산기(210), 프레임 메모리(212), 적응예측부(214)로 구성된다. 버퍼(202)로 수신된 I 프레임의 비디오 데이터는 역다중화 및 가변장 복호기(204)에서 역다중화 및 가변장 복호화된 후 역양자화기(206)에서 역양자화되고, 역이산코사인변환기(208)에서 역이산코사인변환되어 가산기(210)를 거쳐 프레임 메모리(212)에 저장된다. 인터코딩된 P나 B프레임의 데이터는 예측에러는 I 프레임과 같이 역양자화기(206)와 역이산여현변환기(208)를 거쳐 가산기(210)로 전달되고, 수신된 움직임벡터(MV)에 의해 적응 예측부(214)에서 예측된 레퍼런스 블록과 가산되어 원래의 소스 데이터로 복원된다.Referring to FIG. 2, the MPEG-2 video decoder includes a buffer 202, a demultiplexer and a variable length decoder 204 (DeMUX & VLD), an inverse quantizer 206 (DeQ), an inverse discrete cosine transformer 208 (IDCT), The adder 210, the frame memory 212, and the adaptive prediction unit 214. The video data of the I frame received by the buffer 202 is demultiplexed and variable-length decoded by the demultiplexer and variable length decoder 204, and then dequantized by the dequantizer 206, and deintersected by the inverse discrete cosine transformer 208. The inverse discrete cosine transform is performed and stored in the frame memory 212 via the adder 210. The data of the intercoded P or B frame is transmitted to the adder 210 through the inverse quantizer 206 and the inverse discrete cosine transformer 208 like the I frame, and received by the received motion vector (MV). The adaptive prediction unit 214 adds the predicted reference block and restores the original source data.

도 3은 본 발명의 실시예에 따른 GOP(Group Of Picture)의 구조로서, 하나의 GOP는 I, B1, B2, P, B1, B2, P, B1, B2, P, B1, B2로 이루어지는 12개의 픽쳐로 이루어진다. 여기서, I 픽쳐는 I 프레임이고, B1 및 B2 픽쳐는 B 프레임이며, P 픽쳐는 P 프레임이다. 그리고 I 혹은 P 프레임 사이에 2개의 B 프레임이 포함되는 것을 알 수 있다.3 is a structure of a group of picture (GOP) according to an embodiment of the present invention, one GOP is composed of I, B1, B2, P, B1, B2, P, B1, B2, P, B1, B2 It consists of two pictures. Here, the I picture is an I frame, the B1 and B2 pictures are B frames, and the P picture is a P frame. And it can be seen that two B frames are included between I or P frames.

도 3을 참조하면, 본 발명의 실시예에서는 시계열상에 순차적으로 배열되는 GOP에서 이전 GOP에 이어 수신되는 현재 GOP의 첫번째 프레임인 I 프레임에서 에러가 발생된 경우 이전 GOP에서 현재 GOP의 I 프레임에 시간적으로 가장 가까운 B1이나 B2 프레임의 움직임벡터를 이용하여 이전 앵커 프레임(이전 GOP의 마지막 P프레임)의 해당 매크로블록을 I프레임으로 복사하여 에러를 은닉하는 것을 보여준다. 즉, 본 발명은 MPEG-2에 기반하여 움직임 정보를 가지고 있지 않은 I프레임에서의 슬라이스 에러를 처리하기 위한 것이다. 일반적인 코딩 스킴의 경우 I 프레임은 움직임 예측을 사용하지 않지만 H.263+와 MPEG-4의 경우 움직임을 예측할 수 있는 옵션이 설정되어 있다.Referring to FIG. 3, in the embodiment of the present invention, when an error occurs in an I frame that is a first frame of a current GOP received after a previous GOP in a GOP arranged sequentially on a time series, an I frame of the current GOP is displayed in the previous GOP. Using the motion vector of the nearest B1 or B2 frame in time, the corresponding macroblock of the previous anchor frame (the last P frame of the previous GOP) is copied to the I frame to conceal the error. That is, the present invention is to process the slice error in the I frame that does not have motion information based on MPEG-2. In general coding schemes, I frames do not use motion prediction, but in H.263 + and MPEG-4, there are options for predicting motion.

이와 같이 본 발명에 따라 I 프레임에서 발생된 에러를 은닉하는 방법은 도 4에 도시된 바와 같이, 현재 I프레임에서 에러를 검출하는 단계(S1)와, 인접 B프레임에서 대응 매크로블록을 찾는 단계(S2), 역방향 움직임 보상하는 단계(S3), 움직임벡터를 보정하는 단계(S4), 거리를 산출하는 단계(S5), 앵커 프레임에서 레퍼런스 매크로블록을 찾는 단계(S6), 산출된 거리만큼 보정하는 단계(S7), 앵커 프레임에서 I프레임으로 복사하여 에러를 은닉하는 단계(S8) 등으로 이루어진다.As described above, the method for concealing an error generated in an I frame according to the present invention includes detecting an error in a current I frame (S1) and finding a corresponding macroblock in an adjacent B frame (as shown in FIG. 4). S2), compensating the backward motion (S3), compensating the motion vector (S4), calculating the distance (S5), finding a reference macroblock in the anchor frame (S6), compensating for the calculated distance Step S7 is followed by copying from the anchor frame to the I frame to conceal the error (S8).

도 4를 참조하면, 단계 S1에서는 인트라(I) 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출한다.Referring to FIG. 4, in step S1, the macroblock I (i, j) in which an error occurs in an intra (I) frame is detected.

단계 S2에서는 도 5에 도시된 바와 같이, 이전 GOP의 인접 B 프레임에서 매크로블록 I(i,j)와 대응하는 B 프레임의 매크로블록 B(i,j)를 찾는다.In step S2, as shown in FIG. 5, the macroblock B (i, j) of the B frame corresponding to the macroblock I (i, j) is found in the adjacent B frame of the previous GOP.

도 5를 참조하면, 현재 GOP의 I프레임과 이전 GOP의 마지막 P프레임 사이에는 B1, B2 2개의 B프레임이 있기 때문에 I 프레임의 I(i,j)에 대응하는 B1 프레임의 매크로블록과 B2 프레임의 매크로블록을 찾을 수 있다. 이와 같이 본 발명은 2개의 B 프레임중 어느 것이나 이용할 수 있지만 I 프레임에 시간적으로 보다 가까운 B2 프레임을 이용하는 것이 보다 효율적이다. 본 발명의 실시예에서는 이전 GOP의 마지막 프레임인 B2 프레임을 이용한다.Referring to FIG. 5, since there are two B frames B1 and B2 between the I frame of the current GOP and the last P frame of the previous GOP, the macroblock and the B2 frame of the B1 frame corresponding to I (i, j) of the I frame. You can find the macroblock of. As described above, although the present invention can use either of the two B frames, it is more efficient to use the B2 frame that is closer to the I frame in time. The embodiment of the present invention uses a B2 frame, which is the last frame of the previous GOP.

단계 S3에서는 도 6에 도시된 바와 같이, B 프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B 프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는다.In step S3, as shown in FIG. 6, the backward motion vector MV B (i, j) is found from the information on the macroblock B (i, j) of the B frame, and the macroblock B (i, j) position of the B frame is found. Find the macroblock B '(i, j) at the position shifted by the backward motion vector from.

앞서 설명한 바와 같이 인코딩시 B 프레임은 B 프레임보다 앞선 P 프레임으로부터 순방향 움직임을 예측할 뿐만 아니라 앵커 프레임인 다음 GOP의 I 프레임으로부터도 역방향 움직임을 예측한다. 따라서 에러가 발생된 I프레임의 매크로블록 I(i,j)은 이전 프레임인 B 프레임의 동일한 위치의 매크로블록에서 역방향 움직임 벡터만큼 이동된 곳에 위치할 것이다. 이를 위해 B 프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B 프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는다.As described above, in encoding, the B frame not only predicts the forward motion from the P frame before the B frame but also predicts the backward motion from the I frame of the next GOP, which is an anchor frame. Therefore, the macroblock I (i, j) of the frame in which the error occurs is located at the position moved by the backward motion vector in the macroblock at the same position of the frame B, which is the previous frame. For this backward motion vector by the information for the macroblock in B-frame B (i, j) MV B (i, j) found in the moved position vector by a reverse motion from the macroblock of the B frame, B (i, j) where the Find the macroblock B '(i, j).

이와 같이 I(i,j)에 상응하는 위치의 매크로블록 B'(i,j)는 다음 수학식1과 같이 표현된다.As such, the macroblock B '(i, j) at the position corresponding to I (i, j) is expressed by Equation 1 below.

이어 단계 S4에서는 매크로블록 B'(i,j)를 포함하는 B 프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)를 보정하여 보정된 매크로블록 B"(i,j)를 구한다. 즉, 단계 S3에서 구한I(i,j)에 상응하는 위치의 매크로블록 B'(i,j)는 도 6에 도시된 바와 같이 주위의 4개 매크로블록 B(i-1,j-1), B(i,j-1), B(i-1,j), B(i,j)에 의하여 표현되기 때문에 이 4개의 매크로블록의 역방향 움직임 벡터를 구해 평균함으로써 세부 보정할 필요가 있다. 본 발명의 실시예에서는 4개의 매크로블록으로 표현되지만 역방향 움직임벡터값에 따라 매크로블록 B'(i,j)가 임의의 하나의 매크로 블록과 일치할 경우에는 하나의 매크로블록에 의해 표현될 수도 있다. 그리고 평균은 B'(i,j)가 포함된 정도에 따른 가중평균이나 메디안 등 다른 방법으로 구할 수도 있다.Subsequently, in step S4, each backward motion vector is found from the information on the macroblocks of the B frame including the macroblocks B '(i, j), averaged, and corrected to correct the macroblocks B' (i, j). Macroblock B " (i, j) is obtained. That is, macroblocks B '(i, j) corresponding to I (i, j) obtained in step S3 have four surroundings as shown in FIG. The backward motion of these four macroblocks is represented by macroblocks B (i-1, j-1), B (i, j-1), B (i-1, j), and B (i, j). In the present embodiment, macroblocks B '(i, j) may correspond to any one macroblock according to the backward motion vector value. In this case, it may be represented by one macroblock, and the mean may be a weighted average or another method such as median depending on the degree to which B '(i, j) is included. As it may be obtained.

이와 같이 세부 보정된 매크로블록 B"(i,j)는 다음 수학식 2와 같이 구해진다.The macroblock B " (i, j), thus corrected in detail, is obtained as in Equation 2 below.

단계 S5에서는 보정된 매크로블록 B"(i,j)의 위치와 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구한다. 매크로블록 B'(i,j)를 포함하는 주위의 4개 매크로블록 B(i-1,j-1), B(i,j-1), B(i-1,j), B(i,j) 중에서 이전 P프레임에 대한 참조에 이용될 매크로 블록을 '베이스 매크로블록'이라 하고, 본 발명의 실시예에서는 B(i-1,j-1)를 베이스 매크로블록으로 한다. 따라서 베이스 매크로블록 B(i-1,j-1)와 보정된 매크로블록 B"(i,j)의 거리 d(m,n)을 다음 수학식 3과 같이 구한다.In step S5, the distance d (m, n) of the corrected macroblock B " (i, j) and the base macroblock among the macroblocks of the B frame including the macroblock B '(i, j) is obtained. Four surrounding macroblocks B (i-1, j-1), B (i, j-1), B (i-1, j), B (containing macroblocks B '(i, j) The macro block to be used for reference to the previous P frame among i, j) is called a 'base macroblock', and in the embodiment of the present invention, B (i-1, j-1) is used as the base macroblock. The distance d (m, n) between the macroblock B (i-1, j-1) and the corrected macroblock B " (i, j) is obtained as shown in Equation 3 below.

단계 S6에서는 도 7에 도시된 바와 같이, 베이스 매크로블록에 대한 정보에서 순방향 움직임벡터 MVF(i,j)를 찾아 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는다.In step S6, as shown in FIG. 7, the forward motion vector MV F (i, j) is found in the information on the base macroblock to find the reference macroblock P (i, j) of the anchor frame.

에러가 발생한 I(i,j)에 상응하는 B프레임의 매크로블록 B"(i,j)는 앵커 프레임의 매크로블록이 아니므로 앵커 프레임인 이전 GOP의 마지막 P프레임을 이용하여 위치를 파악해야 한다. 이는 B 프레임이 I 프레임과 더불어 사용되는 P프레임으로부터 순방향 움직임 예측값과 예측에러가 같이 인코딩되기 때문이다. 따라서 평균값만큼 이동된 매크로블록 B"(i,j)의 참조지점을 포함하고 있는 B 프레임의 매크로블록 B(i-1,j-1)의 순방향 움직임벡터 MVF(i-1,j-1)를 이용하여 바로 이전의 앵커 프레임인 P프레임에서 I(i,j)에 상응하는 매크로블록 P(i,j)를 찾아낸다.Since the macroblock B "(i, j) of the B frame corresponding to the error I (i, j) is not a macroblock of the anchor frame, the position must be determined using the last P frame of the previous GOP, which is an anchor frame. This is because the B frame is encoded together with the forward motion prediction value and the prediction error from the P frame used together with the I frame. Therefore, the B frame including the reference point of the macroblock B " (i, j) shifted by an average value. A macro corresponding to I (i, j) in the P frame, which is the previous anchor frame, by using the forward motion vector MV F (i-1, j-1) of the macroblock B (i-1, j-1) of Find block P (i, j).

이어 단계 S7에서는 앵커 프레임의 매크로블록 P(i,j)을 단계 S5에서 구한 거리 d(m,n)만큼 보정하여 보정된 매크로블록 P'(i,j)을 구하고, 단계 S8에서는 도 8에 도시된 바와 같이 보정된 매크로블록 P'(i,j)의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하여 I프레임의 매크로블록 I(i,j)에서 발생된 에러를 은닉한다.Subsequently, in step S7, the macroblock P (i, j) of the anchor frame is corrected by the distance d (m, n) obtained in step S5, and the corrected macroblock P '(i, j) is obtained. As shown, each pixel data of the corrected macroblock P '(i, j) is copied as pixel data of the macroblock I (i, j) in which the error is generated, thereby macroblock I (i, j) of I frame. Conceal an error from

이와 같이 에러가 발생된 I프레임의 매크로블록 I(i,j)를 P프레임의 매크로블록으로부터 에러은닉하는 것은 다음 수학식 4와 같이 표현된다.The error concealment of the macroblocks I (i, j) of the I-frame in which the error is generated from the macroblock of the P-frame is expressed by Equation 4 below.

상기 수학식 4에서와 같이 P프레임에 있는 B프레임으로부터 찾아진 매크로블록을 순방향 움직임 벡터만큼 이동하고 거리 d(m,n)만큼 다시 이동하여 매크로블록 I(i,j)에 상응하는 P프레임의 매크로블록 P'(i,j)을 찾은 후 이를 I프레임의 I(i,j) 위치로 복사한다.As shown in Equation 4, the macroblock found from the B frame in the P frame is moved by the forward motion vector and moved again by the distance d (m, n) to determine the P frame corresponding to the macroblock I (i, j). Find the macroblock P '(i, j) and copy it to the I (i, j) position of the I frame.

이상에서 설명한 바와 같이, 본 발명에 따르면 움직임 정보를 가지고 있지 않은 I 프레임에서 에러가 발생된 경우 I 프레임에 인접한 이전 GOP의 B 프레임의 양방향 움직임 벡터를 이용하여 이전 앵커 프레임에서 I프레임의 에러발생 매크로블록에 상응하는 매크로블록을 I 프레임의 해당 위치로 복사하여 에러를 은닉함으로써 종래 공간적 에러 은닉방식에서의 흐려짐(blur) 현상을 막을 수 있고, 특히 연속적인 매크로블록(예컨대, 슬라이스)에서 에러가 발생할 경우에도 효과적으로 에러를 감출 수 있는 효과가 있다.As described above, according to the present invention, when an error occurs in an I frame that does not have motion information, an error occurrence macro of an I frame in a previous anchor frame using a bidirectional motion vector of a B frame of a previous GOP adjacent to the I frame. By copying the macroblock corresponding to the block to the corresponding position of the I frame to conceal the error, it is possible to prevent blur in the conventional spatial error concealment method, and in particular, errors occur in successive macroblocks (for example, slices). In this case, there is an effect that can effectively hide the error.

Claims (6)

시계열상에 연속되는 일련의 픽쳐그룹으로 이루어진 영상 프레임이 MPEG-2 부호화 방식으로 부호화되어 전송되는 비트스트림을 디코딩하면서 인트라 프레임에서 검출된 에러를 은닉하기 위한 방법에 있어서,A method for concealing an error detected in an intra frame while decoding a bitstream in which an image frame consisting of a series of picture groups consecutive in time series is encoded and transmitted by MPEG-2 encoding method, 인트라(I) 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출하는 제1 단계;Detecting a macroblock I (i, j) having an error in an intra (I) frame; 이전 GOP의 인접 B프레임에서 상기 매크로블록 I(i,j)와 대응하는 B프레임의 매크로블록 B(i,j)를 찾는 제2 단계;Finding a macroblock B (i, j) of a B frame corresponding to the macroblock I (i, j) in a neighboring B frame of a previous GOP; 상기 B프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는 제3 단계;Backward motion vector by the information for the macroblock of the B frame, B (i, j) MV B (i, j) to find the B-frame macro-block B (i, j) reverse motion vector macro of the moved position as from the position Finding a block B '(i, j); 상기 매크로블록 B'(i,j)를 포함하는 B 프레임의 매크로블록들중 임의의 한 매크로블록을 선택하여 그 매크로블록의 정보에서 순방향 움직임벡터 MVF를 찾아 해당 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는 제4 단계; 및By selecting any one of the macroblocks of the frame B including the macroblock B '(i, j), the forward motion vector MV F is found from the information of the macroblock, and the reference macroblock P ( i, j) finding a fourth step; And 상기 앵커 프레임의 레퍼런스 매크로블록의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하는 제5 단계를 포함하는 것을 특징으로 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.And copying each pixel data of the reference macroblock of the anchor frame as pixel data of the macroblock I (i, j) in which the error occurs, wherein the error concealment method of an intra frame using spatiotemporal information is included. . 제1항에 있어서, 상기 제4단계는The method of claim 1, wherein the fourth step 상기 매크로블록 B'(i,j)를 포함하는 B 프레임의 각 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)을 보정하여 보정된 매크로블록 B"(i,j)를 구하는 단계와,A macroblock corrected by finding and averaging each backward motion vector from information on each macroblock of a B frame including the macroblock B '(i, j) and correcting the macroblock B' (i, j) Obtaining B "(i, j), 상기 보정된 매크로블록 B"(i,j)와 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구하는 단계를 더 포함하는 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.Obtaining a distance d (m, n) between a base macroblock among macroblocks of frame B including the corrected macroblock B " (i, j) and the macroblock B '(i, j); An error concealment method for an intra frame using spatiotemporal information, characterized in that it comprises. 제2항에 있어서, 상기 역방향 움직임벡터들의 평균은 가중 평균인 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.The error concealment method of an intra frame according to claim 2, wherein the average of the backward motion vectors is a weighted average. 제2항에 있어서, 상기 베이스 매크로블록은 상기 매크로블록 B'(i,j)를 포함하는 B 프레임의 4개의 매크로블록들 중에서 첫번째 매크로블록인 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.The error concealment of an intra frame using spatiotemporal information according to claim 2, wherein the base macroblock is the first macroblock among four macroblocks of a B frame including the macroblock B '(i, j). Way. 제2항에 있어서, 상기 제5단계는The method of claim 2, wherein the fifth step 상기 앵커 프레임의 레퍼런스 매크로블록 P(i,j)를 상기 거리 d(m,n)만큼 보정하여 보정된 레퍼런스 매크로블록 P'(i,j)를 구하고, 상기 보정된 레퍼런스블록의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하는 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.The reference macroblock P (i, j) of the anchor frame is corrected by the distance d (m, n) to obtain a corrected reference macroblock P '(i, j), and each pixel data of the corrected reference block is obtained. And copying as pixel data of the macroblock I (i, j) in which the error occurs. 제1항 내지 제5항중 어느 한 항에 있어서, 상기 B 프레임은 현재 GOP의 I프레임과 이전 GOP의 P프레임 사이에 위치하는 B1 혹은 B2 프레임중 어느 하나이고, 상기 앵커 프레임은 상기 P 프레임인 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.The method according to any one of claims 1 to 5, wherein the B frame is any one of a B1 or B2 frame located between an I frame of a current GOP and a P frame of a previous GOP, and the anchor frame is the P frame. An error concealment method for intra frames using spatiotemporal information.
KR10-2002-0005414A 2002-01-30 2002-01-30 Error concealment method of Itra coded frame by spatio-temporal information KR100454526B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005414A KR100454526B1 (en) 2002-01-30 2002-01-30 Error concealment method of Itra coded frame by spatio-temporal information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005414A KR100454526B1 (en) 2002-01-30 2002-01-30 Error concealment method of Itra coded frame by spatio-temporal information

Publications (2)

Publication Number Publication Date
KR20030065694A true KR20030065694A (en) 2003-08-09
KR100454526B1 KR100454526B1 (en) 2004-11-05

Family

ID=32219933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0005414A KR100454526B1 (en) 2002-01-30 2002-01-30 Error concealment method of Itra coded frame by spatio-temporal information

Country Status (1)

Country Link
KR (1) KR100454526B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671871B1 (en) * 2004-08-31 2007-01-19 중앙대학교 산학협력단 Motion flow analysis method in mpeg compressed domain
US7653136B2 (en) 2004-01-14 2010-01-26 Samsung Electronics Co., Ltd. Decoding method and decoding apparatus
US8478056B2 (en) 2007-03-29 2013-07-02 Samsung Electronics Co., Ltd. Method of and apparatus for detecting error in image data stream
WO2014039148A1 (en) * 2012-09-07 2014-03-13 Intel Corporation Motion and quality adaptive rolling intra refresh
KR20200093212A (en) * 2019-01-28 2020-08-05 건국대학교 산학협력단 Apparatus and method for bi-sequential video error concealment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587280B1 (en) * 1999-01-12 2006-06-08 엘지전자 주식회사 apparatus and method for concealing error
KR100587274B1 (en) * 1999-07-22 2006-06-08 엘지전자 주식회사 method for concealing error in MPEG-2 decompression system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653136B2 (en) 2004-01-14 2010-01-26 Samsung Electronics Co., Ltd. Decoding method and decoding apparatus
KR100671871B1 (en) * 2004-08-31 2007-01-19 중앙대학교 산학협력단 Motion flow analysis method in mpeg compressed domain
US8478056B2 (en) 2007-03-29 2013-07-02 Samsung Electronics Co., Ltd. Method of and apparatus for detecting error in image data stream
WO2014039148A1 (en) * 2012-09-07 2014-03-13 Intel Corporation Motion and quality adaptive rolling intra refresh
US9100636B2 (en) 2012-09-07 2015-08-04 Intel Corporation Motion and quality adaptive rolling intra refresh
US9398311B2 (en) 2012-09-07 2016-07-19 Intel Corporation Motion and quality adaptive rolling intra refresh
KR20200093212A (en) * 2019-01-28 2020-08-05 건국대학교 산학협력단 Apparatus and method for bi-sequential video error concealment

Also Published As

Publication number Publication date
KR100454526B1 (en) 2004-11-05

Similar Documents

Publication Publication Date Title
US7929608B2 (en) Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
US6744924B1 (en) Error concealment in a video signal
US20060002466A1 (en) Prediction encoder/decoder and prediction encoding/decoding method
WO2007091601A1 (en) Encoding device, encoding method, and program
KR100827091B1 (en) Method and apparatus?for video decoding error concealment
JP3519441B2 (en) Video transmission equipment
Liu et al. Error concealment for whole frame loss in HEVC
KR100454526B1 (en) Error concealment method of Itra coded frame by spatio-temporal information
KR100364748B1 (en) Apparatus for transcoding video
KR20090064375A (en) Method and apparatus for encoding groups of pictures of a video sequence, each of said groups including an intra encoded picture and more than two predicted encoded pictures
JP4004597B2 (en) Video signal error concealment device
Tsai et al. H. 264 error resilience coding based on multi-hypothesis motion-compensated prediction
KR100689216B1 (en) Temporal Error Concealment Method of Intra Frame Using Subblocks
KR20070090494A (en) Inter frame error concealment method and apparatus using the average motion vector
JP4485409B2 (en) Video decoding device
KR100238087B1 (en) Method of insertion of intra block and moving image encoder using it
KR100590328B1 (en) Moving picture decoder and method for decoding using the same
JP3862479B2 (en) How to prevent drift errors in video downconversion
KR100312418B1 (en) Intra mode code selection method in video coder
KR100557118B1 (en) Moving picture decoder and method for moving picture decoding
KR20040047045A (en) Method for moving picture decoding
KR100827094B1 (en) Method and apparatus for video decoding error concealment
KR0128876B1 (en) Apparatus for interpolating error block
JP3590976B2 (en) Video compression device
KR20050089457A (en) Error concealment method in decoding motion picture

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080416

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee