KR20050089453A - Error concealment method in decoding motion picture by using multiple frame buffer - Google Patents
Error concealment method in decoding motion picture by using multiple frame buffer Download PDFInfo
- Publication number
- KR20050089453A KR20050089453A KR1020040014876A KR20040014876A KR20050089453A KR 20050089453 A KR20050089453 A KR 20050089453A KR 1020040014876 A KR1020040014876 A KR 1020040014876A KR 20040014876 A KR20040014876 A KR 20040014876A KR 20050089453 A KR20050089453 A KR 20050089453A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- error
- previous
- video
- previous image
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000002123 temporal effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/439—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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/895—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 의한 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법은, 현재 정상적으로 입력되는 현재 영상 프레임(n_frame)에 대한 복호화 수행에 있어, 상기 현재 영상 프레임(n_frame)의 inter 매크로 블록에 대한 움직임 보상의 수행을 준비하는 단계와; 상기 움직임 보상 수행 시 참조하게 되는 이전 영상 프레임(n-1_frame)의 매크로 블록이 에러가 발생했는지 확인하는 단계와; 상기 확인 결과, 상기 이전 영상 프레임에 에러가 발생된 경우, 에러가 발생된 블록 주위의 매크로 블록에 대한 움직임 벡터(MV) 값을 통해 소정의 값을 계산하는 단계와; 상기 계산된 소정의 값을 이용하여 상기 이전 영상 프레임(n-1_frame)에 대한 이전 영상 프레임(n-2_frame)에서 참조할 매크로 블록을 읽어오고, 상기 매크로 블록을 이용하여 상기 현재 영상 프레임(n_frame)의 움직임 보상을 수행하는 단계가 포함되는 것을 특징으로 한다. An error concealment method when decoding a video using a multi-frame buffer according to the present invention includes performing motion compensation on an inter macroblock of the current video frame n_frame in decoding a current video frame n_frame currently input normally. Preparing to perform; Checking whether an error has occurred in the macroblock of the previous image frame (n-1_frame) which is referenced when performing the motion compensation; As a result of the checking, when an error occurs in the previous image frame, calculating a predetermined value based on a motion vector (MV) value of a macro block around the block in which the error occurs; The macro block to be referred to in the previous image frame n-2_frame with respect to the previous image frame n-1_frame is read using the calculated predetermined value, and the current image frame n_frame is read using the macro block. Performing the motion compensation of the characterized in that it comprises a.
Description
본 발명은 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법에 관한 것으로, 특히 패킷 또는 서킷 망을 통한 MPEG-4(Motion Picture Experts Group-4) 비트 스트림 전송 시, 네트워크 에러로 인해 MPEG-4(Motion Picture Experts Group-4) 복호화 할 때 영상 품질 저하를 방지하기 위한 MPEG-4(Motion Picture Experts Group-4) 동영상 복호화 시 에러 은닉 방법에 관한 것이다. The present invention relates to an error concealment method when decoding a video using a multi-frame buffer. In particular, the present invention relates to MPEG-4 (Motion-4) due to a network error when transmitting a Motion Picture Experts Group-4 (MPEG-4) bit stream through a packet or circuit network. Picture Experts Group-4) The present invention relates to a method of error concealment when decoding MPEG-4 (Motion Picture Experts Group-4) video to prevent degradation of video quality when decoding.
디지털 멀티미디어 데이터를 압축 전송하고 또 부호화하는 시스템으로 예를 들면 H.263 이나 MPEG4의 경우 동영상을 압축 부호화함에 있어, 디지털 영상 데이터를 블럭(macro block) 단위로 처리하는데, 부호화(encoding)의 경우는 움직임 추정 및 보상과 이산 코사인 변환(DCT), DCT 계수의 양자화, 그리고 가변 길이 부호화(VLC) 과정을 포함하고 있으며, 복호화(decoding)의 경우는 상기 부호화의 역과정으로, 역 양자화, 역 DCT, 움직임 보상 및 추정 과정 등을 포함하고 있다. 이와 같이 디지털 영상신호를 송수신하는 시스템에서 채널 환경에 따른 에러 발생을 감수하고 이러한 에러 발생시에 손상된 블록의 보정을 수행해야 하는 시스템에서는 복원(수신) 영상의 화질 향상을 위해 에러의 검출과 은닉 기법을 이용하고 있다. A system that compresses, transmits, and encodes digital multimedia data. For example, in H.263 or MPEG4, when compressing and encoding a video, digital image data is processed in units of macro blocks. In case of encoding, It includes motion estimation and compensation, discrete cosine transform (DCT), quantization of DCT coefficients, and variable length coding (VLC). In decoding, inverse quantization, inverse DCT, It includes motion compensation and estimation process. In the system that transmits / receives digital video signals, it is necessary to take an error due to the channel environment and to correct the damaged block when such an error occurs, and to detect and conceal errors in order to improve the quality of the restored (received) image. I use it.
예를 들면 블록 단위로 디지털 영상신호를 송수신하는 시스템에서 에러를 검출할 경우는 부호화 신택스(syntax) 정보를 이용해서 데이터가 신택스 정보를 벗어나는 경우를 에러로 간주하고, 에러가 발생된 블록에 대해서는 시간적 혹은 공간적 은닉 기법을 이용해서 보정을 가함으로써, 수신 영상의 화질을 높일 수 있도록 하고 있다. For example, when an error is detected in a system that transmits and receives a digital video signal in units of blocks, an error is regarded as an error when the data deviates from the syntax information by using encoded syntax information. Alternatively, the image quality of the received image can be improved by applying correction using a spatial concealment technique.
상기한 바와 같은 신택스 정보를 이용한 에러의 검출은, 예를 들면 블록 단위의 디지털 영상신호 처리시 움직임 벡터가 특정 범위에서 벗어나는 경우나, 가변 길이 부호화(VLC) 테이블을 벗어나는 경우, 또는 이산 코사인 변환(DCT) 계수가 특정 범위를 벗어나는 경우, 그리고 한 블록 내의 DCT 계수의 갯수가 특정 갯수를 벗어나는 경우 등을 들 수 있다.The detection of the error using the syntax information as described above may be performed, for example, when a motion vector deviates from a specific range, a variable length coding (VLC) table, or a discrete cosine transform during block digital video signal processing. The DCT) coefficient is outside a certain range, and the number of DCT coefficients in a block is outside the specific number.
도 1은 종래의 에러 대응 MPEG-4 복호화기의 일반적인 구조를 나타내는 블록도이다.1 is a block diagram showing a general structure of a conventional error-corresponding MPEG-4 decoder.
도 1을 참조하면, 종래의 에러 대응 MPEG-4 복호화기(decoder)는 입력된 비트 스트림에 대하여 VLD(Variable Length Decoding) 시 에러 검출 및 대응 과정을 하며, 나머지 과정은 기존의 동영상 복호화기와 동일한 과정을 거친다. Referring to FIG. 1, a conventional MPEG-4 decoder corresponding to an error detects and responds to an input bit stream during VLD (Variable Length Decoding), and the rest of the process is the same as that of a conventional video decoder. Go through
일반적으로 MPEG-4 복호화기에서는 에러가 검출된 블록에 대하여 에러 은닉(error concealment)의 방법을 사용한다. In general, the MPEG-4 decoder uses an error concealment method for blocks in which an error is detected.
부호화되어 전송된 동영상 신호에 대한 복호화 시 일반적으로 사용하는 에러 은닉 방법은 크게 두 가지로 나뉘는데, 이는 공간적 유사성을 이용한 에러 은닉 방법(Spatial Error Concealment)과 시간적 상관관계를 이용한 에러 은닉 방법(Temporal Error Concealment)이다. There are two general methods of error concealment in decoding video signals that are coded and transmitted: spatial error concealment using spatial similarity and temporal error concealment using temporal correlation. )to be.
상기 두가지 방법은 블록 단위로 디지털 영상신호를 처리하는 시스템에서 영상신호의 인접 블록 간에는 상관성이 높고, 또 인접 시간 대의 프레임 간의 상관성이 높다는 가정(특징) 아래서 이루어지는 방법이다.The above two methods are performed under the assumption that the correlation between adjacent blocks of a video signal is high and the correlation between frames in adjacent time zones is high in a system for processing digital video signals in blocks.
도 2a 및 도 2b는 각각 Spatial Error Concealment 및 Temporal Error Concealment를 설명하는 도면이다.2A and 2B illustrate Spatial Error Concealment and Temporal Error Concealment, respectively.
먼저 도 2a는 에러가 발생되어 손상된 블록을 그 주변에 인접한 손상되지 않은 블록 들의 값을 이용해서 보간해 넣는 방법을 설명한다. 즉, spatial Error Concealment는 하나의 영상 내에서 공간적 유사성을 이용하는 방법으로, 주변의 정상적인 매크로 블록의 정보를 가져와서 에러가 발생한 매크로 블록을 은닉하는 기법이다. First, FIG. 2A illustrates a method of interpolating a damaged block due to an error by using values of adjacent undamaged blocks. In other words, spatial error concealment is a method of using spatial similarity within a single image and concealing macroblocks in which errors occur by taking information of surrounding normal macroblocks.
여기서, 상기 매크로 블록(macro block)은 한 프레임의 16*16 화소에 해당하는 부분을 의미하는 것이다. Here, the macro block means a portion corresponding to 16 * 16 pixels of one frame.
또한, 도 2b는 에러가 발생되어 손상된 블록을 이전 프레임의 해당 위치의 블록을 가져와서 채워넣는 방법을 설명하는 것이다. 즉, 상기 Temporal Error Concealment는 이전 영상으로부터의 시간적 유사성을 이용하는 방법으로, 현재 영상에서 에러가 발생했을 경우 이를 은닉하기 위해 이전 영상으로부터 소정의 정보를 가져오는 기법이다.In addition, FIG. 2B illustrates a method in which an error is generated and a damaged block is obtained by filling in a block at a corresponding position of a previous frame. In other words, the Temporal Error Concealment is a method of using temporal similarity from a previous image, and is a technique of obtaining predetermined information from a previous image to conceal an error in the current image.
이 때, 상기 이전 영상으로부터 소정의 정보를 가져오기 위해 움직임 벡터(Motion Vector, MV) 값을 주위의 매크로 블록의 움직임 벡터(MV) 값을 이용하여 추정 후, 이전 영상으로부터 추정한 움직임 벡터 값에 해당하는 매크로 블록 데이터를 가져와서 에러를 은닉하게 된다.At this time, the motion vector (MV) value is estimated using the motion vector (MV) value of the surrounding macroblock to obtain predetermined information from the previous image, and then the motion vector value is estimated from the previous image. The error is concealed by importing the corresponding macroblock data.
다시 말하면, 상기 Temporal Error Concealment는 움직임 벡터(MV)를 이용하는데, 만약 현재 프레임의 소정 움직임 벡터에 에러가 있을 경우에는 이전 프레임의 같은 위치의 움직임 벡터정보를 가져오는 것이다.In other words, the Temporal Error Concealment uses a motion vector (MV). If there is an error in a predetermined motion vector of the current frame, the motion vector information of the same position of the previous frame is obtained.
여기서, 상기 Spatial Error Concealment는 주로 I-frame(Intra frame) 즉, 현재 영상에 대한 비트 스트림 내의 데이터만으로 복호화가 가능한 화면에서 에러가 발생할 때 적용되고, 상기 Temporal Error Concealment는 주로 P-frame(Predictive frame) 즉, 이전 영상을 참조하여 복호화하는 화면에서 에러 발생시 적용된다. The Spatial Error Concealment is mainly applied when an error occurs in an I-frame (Intra frame), that is, a picture that can be decoded using only data in a bit stream of a current image, and the Temporal Error Concealment is mainly a P-frame (Predictive frame). That is, it is applied when an error occurs in the screen to decode by referring to the previous image.
그러나, 상기와 같은 종래의 에러 은닉 방법을 통해 에러 은닉 처리를 하게 되면, 참조하는 원본 데이터가 손상이 된 경우가 있기 때문에, 이러한 블록을 참조하는 것은 에러의 전파를 가져오게 되는 문제점이 있다. However, when the error concealment process is performed through the conventional error concealment method as described above, since the original data to be referred to may be damaged, referencing such a block has a problem of propagating an error.
도 3은 종래의 움직임 보상 시 이전 에러 블록 참조에 의한 에러 전파 현상을 나타내는 도면이다.3 is a diagram illustrating an error propagation phenomenon by referring to a previous error block in the conventional motion compensation.
도 3을 참조하면, 일 례로 연속적으로 P-frame이 오는 경우, 복호화 도중 에러를 탐지하여 에러가 발생한 매크로 블록에 대해 에러 은닉을 수행 후 그 다음 프레임에 대한 비트 스트림이 모두 정상적으로 온 경우, 비록 정상적으로 복호화 되었음에도 불구하고 참조하는 영상에서 에러 은닉 처리된 매크로 블록을 참조함으로써, 계속해서 에러가 전파(error propagation)되는 것이다. Referring to FIG. 3, for example, when P-frames are continuously provided, when an error is detected during decoding to perform error concealment for a macroblock in which an error occurs, all bit streams for the next frame come normally, although normally In spite of being decoded, the error propagation is continuously propagated by referring to the error concealed macroblock in the referenced image.
이러한 에러 전파 현상이 발생되면, 수신측의 영상 품질이 상당히 저하되는 문제점이 있다.If such an error propagation phenomenon occurs, there is a problem that the image quality of the receiving side is considerably degraded.
따라서, 에러가 발생했을 때 이를 은닉하는 방법 뿐만 아니라, 이러한 에러 전파 현상을 방지하는 에러 은닉 방법이 필요하다. Accordingly, there is a need for an error concealment method for preventing such error propagation as well as a method of concealing an error when it occurs.
본 발명은 다중 프레임 버퍼를 두어 현재 영상 프레임(n-frame)과 이전 영상 프레임(n-1_frame)뿐 아니라, 그 이전 영상 프레임(n-2_frame)도 저장하고, 정상적인 현재 영상 프레임에 대한 복호화 시 참조 프레임(n-1_frame)에서 에러 은닉 처리된 부분을 참조할 경우, 다중 프레임 버퍼를 이용하여 참조 프레임(n-1_frame)의 이전 프레임(n-2_frame)의 매크로 블록을 참조하도록 함으로써, 에러의 전파를 방지하고 결과적으로 영상 품질의 향상을 기할 수 있는 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법을 제공함에 그 목적이 있다. The present invention stores a multi-frame buffer to store not only the current video frame (n-frame) and the previous video frame (n-1_frame), but also the previous video frame (n-2_frame), and is referred to when decoding a normal current video frame. When referring to the error concealed portion of the frame n-1_frame, the propagation of the error may be performed by referring to the macroblock of the previous frame n-2_frame of the reference frame n-1_frame using the multiple frame buffer. It is an object of the present invention to provide an error concealment method when decoding a video using a multi-frame buffer which can prevent and consequently improve image quality.
상기 목적을 달성하기 위하여 본 발명에 의한 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법은, 현재 정상적으로 입력되는 현재 영상 프레임(n_frame)에 대한 복호화 수행에 있어, 상기 현재 영상 프레임(n_frame)의 inter 매크로 블록에 대한 움직임 보상의 수행을 준비하는 단계와; 상기 움직임 보상 수행 시 참조하게 되는 이전 영상 프레임(n-1_frame)의 매크로 블록이 에러가 발생했는지 확인하는 단계와; 상기 확인 결과, 상기 이전 영상 프레임에 에러가 발생된 경우, 에러가 발생된 블록 주위의 매크로 블록에 대한 움직임 벡터(MV) 값을 통해 소정의 값을 계산하는 단계와; 상기 계산된 소정의 값을 이용하여 상기 이전 영상 프레임(n-1_frame)에 대한 이전 영상 프레임(n-2_frame)에서 참조할 매크로 블록을 읽어오고, 상기 매크로 블록을 이용하여 상기 현재 영상 프레임(n_frame)의 움직임 보상을 수행하는 단계가 포함되는 것을 특징으로 한다. In order to achieve the above object, an error concealment method when decoding a video using a multi-frame buffer according to the present invention includes: inter macros of the current video frame (n_frame) in decoding a current video frame (n_frame) currently input normally. Preparing to perform motion compensation on the block; Checking whether an error has occurred in the macroblock of the previous image frame (n-1_frame) which is referenced when performing the motion compensation; As a result of the checking, when an error occurs in the previous image frame, calculating a predetermined value based on a motion vector (MV) value of a macro block around the block in which the error occurs; The macro block to be referred to in the previous image frame n-2_frame with respect to the previous image frame n-1_frame is read using the calculated predetermined value, and the current image frame n_frame is read using the macro block. Performing the motion compensation of the characterized in that it comprises a.
여기서, 상기 현재 영상 프레임(n_frame) 및 이전 영상 프레임(n-1_frame)은 P-frame(Predictive-frame) 임을 특징으로 한다. Here, the current video frame (n_frame) and the previous video frame (n-1_frame) is characterized in that the P-frame (Predictive-frame).
또한, 상기 이전 영상 프레임(n-1_frame)의 매크로 블록에 발생된 에러는, 상기 이전 영상 프레임(n-1_frame)에서 에러의 은닉 처리된 부분도 포함함을 특징으로 한다. In addition, an error occurring in the macro block of the previous video frame n-1_frame may include a concealed portion of the error in the previous video frame n-1_frame.
또한, 상기 소정의 값은 상기 에러가 발생된 블록에 인접한 4개의 매크로 블록의 움직임 벡터 값에 대해 Median filter를 적용하여 계산된 중간 값임을 특징으로 한다. The predetermined value may be an intermediate value calculated by applying a median filter to motion vector values of four macroblocks adjacent to the block in which the error occurs.
또한, 상기 확인 결과, 상기 이전 영상 프레임에 에러가 발생되지 않은 경우에는 상기 이전 영상 프레임의 매크로 블록을 이용하여 움직임 보상이 수행되는 단계가 더 포함되는 것을 특징으로 한다. The method may further include performing motion compensation by using a macro block of the previous image frame when no error occurs in the previous image frame.
MPEG-4의 경우 동영상을 압축 부호화함에 있어, 디지털 영상 데이터를 매크로 블록(macro block) 단위로 처리하는데, 부호화(encoding)의 경우는 움직임 추정 및 보상과 이산 코사인 변환(DCT), DCT 계수의 양자화, 그리고 가변 길이 부호화(VLC) 과정을 포함하고 있으며, 복호화(decoding)의 경우는 상기 부호화의 역과정으로, 역 양자화, 역 DCT, 움직임 보상 및 추정 과정 등을 포함하는 것이 일반적이다.In the case of MPEG-4, when compressing and encoding video, digital image data is processed in macro block units. In encoding, motion estimation and compensation, discrete cosine transform (DCT), and DCT coefficient quantization are performed. And a variable length coding (VLC) process, and in the case of decoding, a reverse process of the coding includes inverse quantization, inverse DCT, motion compensation, and estimation.
또한, 이러한 디지털 영상신호를 송수신하는 시스템에서 네트워크 채널 환경에 따른 에러 발생을 감수하고, 이러한 에러 발생시에 손상된 블록의 보정을 수행해야 하는 시스템의 경우 복원(수신) 영상의 화질 향상을 위해 에러의 검출과 은닉 기법을 이용하고 있다.In addition, in a system that transmits and receives such a digital video signal, an error occurs according to a network channel environment, and in a system that needs to correct a damaged block when such an error occurs, an error is detected to improve the quality of a restored (received) image. And concealment techniques.
앞서 설명한 바와 같이 상기 에러 은닉 방법 중 시간적 상관관계를 이용한 에러 은닉 방법(Temporal Error Concealment)은, 이전 프레임의 영상으로부터의 시간적 유사성을 이용하여, 현재 프레임의 영상에서 에러가 발생했을 경우 이를 은닉하기 위해 이전 프레임 영상으로부터 소정의 정보를 가져오는 기법으로, 이 때, 상기 이전 프레임의 영상으로부터 소정의 정보를 가져오기 위해 움직임 벡터(Motion Vector) 값을 주위의 매크로 블록의 움직임 벡터 값을 이용하여 추정 후, 이전 프레임의 영상으로부터 추정한 움직임 벡터 값에 해당하는 매크로 블록 데이터를 가져와서 에러를 은닉하게 된다.As described above, an error concealment method using temporal correlation among the error concealment methods is to conceal an error in an image of a current frame by using temporal similarity from an image of a previous frame. A technique of obtaining predetermined information from a previous frame image, wherein a motion vector value is estimated by using a motion vector value of surrounding macro blocks to obtain predetermined information from the image of the previous frame. Then, the macroblock data corresponding to the motion vector value estimated from the image of the previous frame is taken to conceal the error.
그러나, 이 경우 상기 이전 프레임의 영상으로부터 추정한 움직임 벡터 값에 해당하는 매크로 블록 데이터가 에러 블록인 경우, 상기 에러가 현재 프레임에도 전파되는 에러 전파(error propagation) 현상이 발생된다는 문제점이 있다.However, in this case, when the macro block data corresponding to the motion vector value estimated from the image of the previous frame is an error block, an error propagation phenomenon occurs in which the error propagates in the current frame.
본 발명은 이러한 문제점을 극복하기 위해 제안되는 것으로, P-frame(Predictive-frame, 이전 영상을 참조하여 복호화되는 화면)이 연속적으로 복호화 될 때, 정상적인 현재 영상 프레임(n_frame)에 대한 복호화 시, 참조 프레임 (reference frame)으로서의 이전 프레임(n-1_frame)에서 에러가 은닉 처리된 부분을 참조할 경우, 에러 은닉 처리된 매크로 블록이 다음 프레임으로 전파되는 현상을 막기 위해, 상기 참조 프레임의 이전 영상 프레임 즉, n-2_frame을 더 프레임 버퍼에 저장하여 이를 이용함을 특징으로 한다. The present invention is proposed to overcome this problem, when the P-frame (Predictive-frame, the picture to be decoded with reference to the previous video) is continuously decoded, when decoding the normal current video frame (n_frame), reference When an error is concealed in the previous frame n-1_frame as a reference frame, in order to prevent the error concealed macroblock from propagating to the next frame, the previous image frame of the reference frame, namely, In this case, n-2_frame is further stored in the frame buffer and used.
이 때, 상기 참조 프레임(reference frame) 이란 움직임 보상 시 참조하는 영상 프레임으로 현재 영상에 대한 이전의 영상 프레임을 의미한다.In this case, the reference frame refers to an image frame referred to for motion compensation and refers to a previous image frame with respect to the current image.
단, 본 발명의 경우 이전 프레임(n-1_frame)에 대해 각 매크로 블록별로 에러 여부를 기록해두는 은닉 맵(conceal map)이 구비되며, 상기 n-2_frame에서 참조하게 되는 매크로 블록에는 연속적인 에러는 없다고 가정한다.However, in the present invention, a conceal map for recording an error for each macro block with respect to the previous frame n-1_frame is provided, and there is no continuous error in the macro block referred to in the n-2_frame. Assume
이하, 첨부된 도면을 참조하여 본 발명에 의한 실시예를 보다 상세히 설명하도록 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 4는 본 발명에 의한 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법을 설명하는 순서도이고, 도 5는 본 발명에 의해 에러 전파 현상이 극복되는 것을 나타내는 도면이다.4 is a flowchart illustrating an error concealment method when decoding a video using a multi-frame buffer according to the present invention, and FIG. 5 is a diagram illustrating that an error propagation phenomenon is overcome by the present invention.
단, 이는 부호화기에서 전송하는 패킷에 대한 MPEG-4 복호화 과정 중 움직임 보상 과정(에러 은닉 과정)에 대해서 설명하고 있다.However, this describes the motion compensation process (error concealment process) of the MPEG-4 decoding process for the packet transmitted by the encoder.
즉, 현재 정상적으로 입력되는 영상 프레임(n_frame)에 대한 복호화 수행 중, Inter 매크로 블록에 대해 움직임 보상을 수행함에 있어서, 이전 프레임(n-1_frame)에서 에러가 발생된 블록을 참조하게 될 경우, 에러의 전파(error propagation)를 방지하기 위해 수행되는 과정을 설명한다.That is, when performing motion compensation on the Inter macro block during decoding of the currently input video frame n_frame, when referring to a block in which an error occurs in the previous frame n-1_frame, Describes the process performed to prevent error propagation.
도 4를 참조하면, 먼저 현재 정상적으로 입력되는 현재 영상 프레임(n_frame)에 대한 복호화 수행에 있어, 상기 현재 영상 프레임(n_frame)의 inter 매크로 블록(MB)에 대한 움직임 보상의 수행을 준비한다. (ST 400)Referring to FIG. 4, first, in performing decoding on a current video frame n_frame which is normally input, a motion compensation is performed on an inter macro block MB of the current video frame n_frame. (ST 400)
이 때, 상기 현재 정상적으로 입력되는 영상 프레임(n_frame)은 P-frame(Predictive-frame) 즉, 이전 영상을 참조하여 복호화되는 프레임 임을 특징으로 한다.At this time, the currently input video frame (n_frame) is characterized in that the P-frame (Predictive-frame), that is, the frame is decoded with reference to the previous video.
다음으로 상기 움직임 보상 수행 시 참조하게 되는 이전 영상 프레임(n-1_frame)의 매크로 블록이 에러가 발생했는지 확인한다. (ST 410)Next, it is checked whether an error occurs in the macroblock of the previous image frame n-1_frame, which is referred to when the motion compensation is performed. (ST 410)
이 때, 상기 이전 영상 프레임(n-1_frame) 또한 P-frame이며, 이는 상기 현재 영상 프레임(n_frame)의 참조 프레임 (reference frame)으로서 역할을 한다. In this case, the previous image frame n-1_frame is also a P-frame, which serves as a reference frame of the current image frame n_frame.
또한, 상기 이전 영상 프레임(n-1_frame)의 매크로 블록에 발생된 에러는 상기 이전 영상 프레임(n-1_frame)에서 에러의 은닉 처리된 부분도 포함하며, 이는 은닉 맵(conceal map)을 이용하여 확인된다. In addition, an error generated in the macro block of the previous image frame n-1_frame also includes a concealed portion of the error in the previous image frame n-1_frame, which is confirmed using a concealed map. do.
다음으로 상기 은닉 맵을 통해 확인 결과, 상기 이전 영상 프레임에 에러가 발생된 경우, 에러가 발생된 블록 주위의 매크로 블록에 대한 움직임 벡터(MV) 값을 통해 소정의 값을 계산한다. (ST 420)Next, when an error occurs in the previous image frame as a result of checking through the hidden map, a predetermined value is calculated by using a motion vector (MV) value of a macro block around the block in which the error has occurred. (ST 420)
일 례로 도 5에 도시된 바와 같이 에러가 발생된 블록에 인접한 4개의 매크로 블록의 움직임 벡터 값에 대해 Median filter를 적용하여 그 중간 값을 계산해 낼 수 있는 것이다. For example, as shown in FIG. 5, a median filter may be applied to motion vector values of four macroblocks adjacent to an error-prone block to calculate an intermediate value thereof.
그 다음 상기 계산된 소정의 값을 이용하여 상기 이전 영상 프레임(n-1_frame)에 대한 이전 영상 프레임(n-2_frame)에서 참조할 매크로 블록을 읽어오고, 상기 매크로 블록을 이용하여 상기 현재 영상 프레임(n_frame)의 움직임 보상을 수행한다. (ST 430)Next, the macro block to be referred to in the previous image frame (n-2_frame) for the previous image frame (n-1_frame) is read using the calculated predetermined value, and the current image frame ( n_frame) motion compensation. (ST 430)
여기서, 상기 계산된 소정의 값은, 계산된 움직임 벡터의 값으로 상기 Median filter 적용에 의해 얻은 중간 값이 될 수 있다.Here, the calculated predetermined value may be an intermediate value obtained by applying the Median filter as a value of the calculated motion vector.
또한, 상기 이전 영상 프레임(n-2_frame)은 P-frame 또는 I-frame임을 특징으로 한다. In addition, the previous video frame (n-2_frame) is characterized in that the P-frame or I-frame.
단, 상기 은닉 맵을 통해 확인 결과, 상기 이전 영상 프레임에 에러가 발생되지 않은 경우에는 종래의 일반적인 경우와 마찬가지로 상기 이전 영상 프레임의 매크로 블록을 이용하여 움직임 보상을 수행하게 된다. (ST 440)However, as a result of checking through the hidden map, when no error occurs in the previous image frame, motion compensation is performed using a macro block of the previous image frame as in the conventional case. (ST 440)
이와 같은 본 발명에 따른 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법에 의하면, 다중 프레임 버퍼를 이용하여 에러 은닉 처리된 부분을 참조할 경우는 참조 프레임의 이전 프레임의 매크로 블록을 참조하도록 함으로써, 에러의 전파를 막고 결과적으로 영상 품질의 향상을 기할 수 있다는 장점이 있다.According to the error concealment method when decoding a video using a multi-frame buffer according to the present invention, when referring to an error concealed portion using a multi-frame buffer, the error is determined by referring to a macroblock of a previous frame of a reference frame. There is an advantage that can prevent the propagation of the signal and improve the image quality as a result.
도 1은 종래의 에러 대응 MPEG-4 복호화기의 일반적인 구조를 나타내는 블록도.1 is a block diagram showing a general structure of a conventional error-corresponding MPEG-4 decoder.
도 2a 및 도 2b는 각각 Spatial Error Concealment 및 Temporal Error Concealment를 설명하는 도면.2A and 2B illustrate Spatial Error Concealment and Temporal Error Concealment, respectively.
도 3은 종래의 움직임 보상 시 이전 에러 블록 참조에 의한 에러 전파 현상을 나타내는 도면.3 is a diagram illustrating an error propagation phenomenon by referring to a previous error block in conventional motion compensation.
도 4는 본 발명에 의한 다중 프레임 버퍼를 이용한 동영상 복호화 시 에러 은닉 방법을 설명하는 순서도.4 is a flowchart illustrating an error concealment method when decoding a video using a multi-frame buffer according to the present invention.
도 5는 본 발명에 의해 에러 전파 현상이 극복되는 것을 나타내는 도면.5 is a diagram showing that an error propagation phenomenon is overcome by the present invention.
Claims (6)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020040014876A KR20050089453A (en) | 2004-03-05 | 2004-03-05 | Error concealment method in decoding motion picture by using multiple frame buffer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020040014876A KR20050089453A (en) | 2004-03-05 | 2004-03-05 | Error concealment method in decoding motion picture by using multiple frame buffer |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20050089453A true KR20050089453A (en) | 2005-09-08 |
Family
ID=37271869
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020040014876A Withdrawn KR20050089453A (en) | 2004-03-05 | 2004-03-05 | Error concealment method in decoding motion picture by using multiple frame buffer |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20050089453A (en) |
-
2004
- 2004-03-05 KR KR1020040014876A patent/KR20050089453A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3923898B2 (en) | Image coding method and apparatus | |
| JP3217987B2 (en) | Video signal decoding method and encoding method | |
| JP4537583B2 (en) | Error concealment of video signal | |
| US20050002458A1 (en) | Spatial scalable compression | |
| US8199817B2 (en) | Method for error concealment in decoding of moving picture and decoding apparatus using the same | |
| JP3519441B2 (en) | Video transmission equipment | |
| US20050265444A1 (en) | Moving image encoding/decoding apparatus and method | |
| JP3245496B2 (en) | Image encoding method, image encoding circuit, image encoding device, and playback device | |
| KR100380230B1 (en) | Image codec system based on multi-resolution image | |
| KR20040018043A (en) | Variable length coding method for moving picture | |
| KR100454526B1 (en) | Error concealment method of Itra coded frame by spatio-temporal information | |
| JP2674241B2 (en) | Video encoding device | |
| KR20050089453A (en) | Error concealment method in decoding motion picture by using multiple frame buffer | |
| KR20070090494A (en) | Interframe error concealment apparatus and method using mean motion vector | |
| KR20050089457A (en) | Error concealment method in decoding motion picture | |
| JP2824024B2 (en) | Image decoding method and apparatus | |
| CN100486338C (en) | Fault disguising method for dynamic image decoding by using multi-frame buffer | |
| JP2887177B2 (en) | Method and apparatus for decoding moving image compression code | |
| KR100827094B1 (en) | Loss concealment method for video decoding and decoding device using same | |
| KR20050089454A (en) | Error concealment method in decoding motion picture | |
| KR20050099080A (en) | Video quality improvement method in moving picture decoding | |
| KR100564967B1 (en) | Video decoder and decoding method using the same | |
| KR100312418B1 (en) | Intra mode code selection method in video coder | |
| KR20040039808A (en) | Method for prediction moving vector | |
| KR100237307B1 (en) | Dual speed decoding apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20040305 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |