KR20060085003A - A temporal error concealment method in the h.264/avc standard - Google Patents

A temporal error concealment method in the h.264/avc standard Download PDF

Info

Publication number
KR20060085003A
KR20060085003A KR1020050005873A KR20050005873A KR20060085003A KR 20060085003 A KR20060085003 A KR 20060085003A KR 1020050005873 A KR1020050005873 A KR 1020050005873A KR 20050005873 A KR20050005873 A KR 20050005873A KR 20060085003 A KR20060085003 A KR 20060085003A
Authority
KR
South Korea
Prior art keywords
mode
macroblock
error concealment
error
block
Prior art date
Application number
KR1020050005873A
Other languages
Korean (ko)
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 KR1020050005873A priority Critical patent/KR20060085003A/en
Publication of KR20060085003A publication Critical patent/KR20060085003A/en

Links

Images

Classifications

    • 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/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

Landscapes

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

Abstract

본 발명은 지상파 및 위성 DMB 등의 비디오 표준으로 제정된 H.264/AVC 부호화 표준의 특성을 고려하여 시방향 에러은닉을 수행하는 방법에 관한 것으로, 특히 H.264/AVC 내의 매크로블록이 포함하는 다양한 정보를 이용하여 가변적인 크기로 에러은닉을 수행함으로써, 적은 연산량을 가지면서도 향상된 객관적 화질을 제공하는데 적당하도록 한 H.264에서의 시방향 에러은닉 방법에 관한 것이다.The present invention relates to a method for performing visual error concealment in consideration of the characteristics of the H.264 / AVC coding standard established by video standards such as terrestrial and satellite DMB. In particular, the macroblock in H.264 / AVC includes The present invention relates to a method of visual error concealment in H.264 that is suitable for providing improved objective image quality with a small amount of computation by performing error concealment with a variable size using various information.

본 발명인 H.264에서의 시방향 에러 은닉 방법을 이루는 구성수단은, 손실된 매크로블록의 상하좌우에 위치하는 4개의 매크로블록 모드를 확인하는 단계, 상기 확인된 상하좌우 매크로블록 모드를 이용하여 소정의 개수와 크기를 가지는 에러은닉 모드를 결정하는 단계, 상기 결정된 에러은닉 모드에 따라 OBMA 방법으로 움직임 벡터 및 참조프레임 정보에 대한 비용값을 산출하여 에러은닉을 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다.The constituent means of the method of concealing the error in the time direction of the present invention H.264 comprises the steps of: identifying four macroblock modes located on the top, bottom, left, and right sides of the lost macroblock, using the determined top, bottom, left, and right macroblock modes. Determining an error concealment mode having a number and a size of?, Calculating a cost value for the motion vector and the reference frame information by the OBMA method according to the determined error concealment mode, and performing error concealment; do.

H.264, 에러은닉H.264, error concealment

Description

H.264/AVC에서의 시방향 에러은닉 방법{A TEMPORAL ERROR CONCEALMENT METHOD IN THE H.264/AVC STANDARD}H. 264 / AEC method for concealment of visual errors in ACC The {A TEMPORAL ERROR CONCEALMENT METHOD IN THE H.264 / AVC STANDARD}

도 1은 H.264에서의 매크로블록 모드의 개략도이다.1 is a schematic diagram of a macroblock mode in H.264.

도 2는 기존 H.264/AVC에서의 시방향 에러은닉 방법에 사용되는 움직임 벡터 및 참조프레임 정보의 개략도이다.2 is a schematic diagram of a motion vector and reference frame information used in a conventional error concealment method in H.264 / AVC.

도 3은 본 발명에 따른 에러은닉 모드의 선택과정을 보인 절차도이다.3 is a flowchart illustrating a process of selecting an error concealment mode according to the present invention.

도 4는 본 발명에서 각 에러은닉 모드에서의 비용값 산출에 사용되는 인접화소를 보여주는 개략도이다.4 is a schematic diagram showing adjacent pixels used to calculate a cost value in each error concealment mode in the present invention.

본 발명은 지상파 및 위성 DMB 등의 비디오 표준으로 제정된 H.264/AVC 부호화 표준의 특성을 고려하여 시방향 에러은닉을 수행하는 방법에 관한 것으로, 특히 H.264/AVC 내의 매크로블록이 포함하는 다양한 정보를 이용하여 가변적인 크기로 에러은닉을 수행함으로써, 적은 연산량을 가지면서도 향상된 객관적 화질을 제공하는데 적당하도록 한 H.264에서의 시방향 에러은닉 방법에 관한 것이다.The present invention relates to a method for performing visual error concealment in consideration of the characteristics of the H.264 / AVC coding standard established by video standards such as terrestrial and satellite DMB. In particular, the macroblock in H.264 / AVC includes The present invention relates to a method of visual error concealment in H.264 that is suitable for providing improved objective image quality with a small amount of computation by performing error concealment with a variable size using various information.

H.264/AVC 표준은 ITU-T의 VCEG(Video Coding Experts Group)와 ISO/IEC의 MPEG(Moving Picture Expert Group)의 공동 작업으로 제정되었다. H.264/AVC 비디오 부호화 방식은 이전의 비디오 부호화 표준들(MPEG2, MPEG4 Part 2, H.263)에는 없던 새로운 부호화 도구들이 추가되었으며, 이러한 도구들은 H.264 부호화 표준이 이전의 비디오 부호화 표준과 비교하여 보다 높은 압축효율을 갖게 하였다.The H264 / ACC standard was established in collaboration with ITU-T's Video Coding Experts Group (VCEG) and ISO / IEC's Moving Picture Expert Group (MPEG). The H.264 / AVC video coding scheme adds new coding tools that were not found in the previous video coding standards (MPEG2, MPEG4 Part 2, H.263). In comparison, it has a higher compression efficiency.

새롭게 추가된 부호화 도구들을 간단히 살펴보면 다음과 같다.Newly added coding tools are as follows.

첫째, H.264에서는 4 × 4 단위의 정수변환을 수행하며, 부호기와 복호기 사이의 부정합(Mismatch) 문제가 발생하지 않는다. 이는 8 × 8 단위의 이산여현변환을 사용함으로써 부호기와 복호기 사이에서의 부정합 문제를 가지고 있던 기존의 여러 비디오 부호화 표준들과 비교된다. 또한, 매크로블록이 인트라 16 × 16 모드로 선택된 경우 변환수행 단위인 4 × 4 변환블록의 DC값들은 다시 한번 하다마드 변환(Hadamard Transform)을 수행하며, 이러한 계층적 변환(Hierarchical Transform)을 통해서 보다 높은 압축효율을 나타낸다. 또한 H.264에서의 양자화 파라미터는 양자화 데이터를 가리키는 하나의 인덱스로 사용되며 0 ~ 51 까지 52단계의 값을 가진다.First, H.264 performs integer conversion of 4 × 4 units, and there is no mismatch between the encoder and the decoder. This is compared with several existing video coding standards that had a problem of mismatch between encoder and decoder by using discrete cosine transform of 8 × 8 units. In addition, when a macroblock is selected as an intra 16 × 16 mode, DC values of a 4 × 4 transform block, which is a transform performing unit, perform a Hadamard transform once again, and through this hierarchical transform, High compression efficiency. In addition, the quantization parameter in H.264 is used as one index indicating quantization data and has a value of 52 steps from 0 to 51.

둘째, H.264에서는 프로파일에 따라 두 가지의 엔트로피 부호화 방법을 사용한다. 즉, 엔트로피 부호화 기법은 변환 계수를 제외한 대부분의 신텍스(Syntax)를 데이터의 특성에 따라 하나의 코드워드 테이블로 변환 후 EGC(Exponential Golomb Code)로 부호화 하고, 변환계수는 이미 부호화된 주변 블록들의 특성을 이용하는 CAVLC(Context Adaptive Variable Length Coding)로 부호화하는 방법과, 기존의 산술 부호화 방식에 컨텍스트 모델링(context modeling)을 추가함으로써 추정된 심볼 확률분포 모델들을 적응적으로 선택하는 방법이 있다.Second, in H.264, two entropy coding methods are used. In other words, the entropy coding technique converts most of the syntax except the transform coefficients into one codeword table according to the characteristics of the data, and then encodes it into EGC (Exponential Golomb Code). There is a method of encoding by CAVLC (Context Adaptive Variable Length Coding) and a method of adaptively selecting estimated symbol probability distribution models by adding context modeling to an existing arithmetic coding scheme.

세째, 블록 기반의 움직임 추정 및 변환 그리고 양자화 기법은 부호기 설계에 많은 이점을 가져오지만 블록화 현상(Blocking artifact)을 수반한다. H.264는 이러한 블록화 현상의 효율적인 개선을 위해 부호화 및 복호화 과정 내에 루프 필터를 사용하여 블록화 현상을 제거한다. Third, block-based motion estimation, transformation, and quantization techniques bring many advantages to the encoder design, but involve blocking artifacts. H.264 eliminates blocking by using loop filters in the encoding and decoding process to efficiently improve such blocking.

네째, H.264 부호화 기법은 공간영역에서의 인트라 예측 부호과 과정을 포함한다. 공간 내의 예측 부호화 방식은 휘도 성분의 경우 16 × 16 크기 및 4 × 4 크기로 수행되며, 각각 4가지와 9가지의 공간 내의 방향성을 고려한 예측모드를 가지고 있고, 색차 성분은 16 × 16 크기의 휘도성분과 같은 4가지의 예측모드를 가지고 있다. 휘도 성분에 대한 공간영역에서의 16 × 16 크기와 4 × 4 크기의 인트라 예측은 영상의 평탄한 영역뿐만 아니라 세밀한 영역에서도 높은 압축 효율을 갖게 한다. Fourth, the H.264 coding scheme includes intra prediction codes and processes in the spatial domain. The prediction coding method in space is performed with 16 × 16 size and 4 × 4 size for the luminance component, and has a prediction mode in consideration of four and nine directions in space, and the color difference component has a luminance of 16 × 16 size. It has four prediction modes as component. Intra prediction of 16 × 16 size and 4 × 4 size in the spatial domain with respect to the luminance component has high compression efficiency in the detailed region as well as the flat region of the image.

다섯째, H.264에서는 참조 영상으로서 이전의 재구성된 여러 장의 프레임을 사용한다. 이러한 다중참조 영상의 사용은 단일 참조 영상만을 사용하는 경우에 비해 보다 높은 압축 효율을 가지게 하며, 특히 반복적인 영상이나 다른 객체에 의해 가려져 있다가 나타난 영역의 부호화 경우에 더욱 두드러진 성능을 보인다.Fifth, in H.264, previously reconstructed frames are used as reference pictures. The use of such a multi-reference image has a higher compression efficiency than the case of using only a single reference image, and is more prominent in the case of encoding an area that is covered by a repetitive image or another object.

여섯째, H.264에서는 블록의 크기를 다양화하여 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4의 크기로 움직임을 추정한다. 이는 기존에 16 × 16 및 8 × 8 크기로만 움직임을 보상하던 H.263 및 MPEG-4 기술과 대비된다. 다양한 크기의 블록단위, 특히 8 × 8 서브 매크로블록(Sub Macroblock) 이하의 크기인 8 × 4, 4 × 8, 4 × 4 블록 크기의 움직임 추정은 보다 세밀한 영상 영역에서도 높은 압축 효율을 가질 수 있게 한다.Sixth, in H.264, the size of the block is varied and the motion is estimated to be 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, and 4 × 4. This contrasts with H.263 and MPEG-4 technology, which previously compensated for motion only in 16 × 16 and 8 × 8 sizes. Motion estimation of block sizes of various sizes, especially 8 × 4, 4 × 8, and 4 × 4 blocks, which are less than 8 × 8 sub macroblocks, can achieve high compression efficiency even in finer image areas. do.

그 밖에도 적응적 프레임/필드 부호화(Adaptive Frame/Field Coding) 및 NAL(Network Abstraction Layer) 등의 부호화 도구들이 추가되었다. 이렇게 새롭게 추가된 부호화 도구들은 H.264 부호화 표준이 이전의 여러 동영상 부호화 표준들에 비해 보다 높은 압축 효율을 가질 수 있게 한다. 다섯 장의 참조 프레임의 사용과 32화소의 움직임 추정 영역을 사용하여 메인 프로파일로 부호화를 한 경우, H.264 표준은 MPEG-2와 비교하여 약 48% ~ 78%까지의 비트율 감소효과가 있다고 알려져 있다[Thomas Wiegand 외 3명의 "Rate-Constrained Coder Control and Comparison of Video Coding Standard"].In addition, coding tools such as adaptive frame / field coding and network abstraction layer (NAL) have been added. These newly added coding tools enable the H.264 coding standard to have higher compression efficiency than previous video coding standards. In the case of encoding the main profile using five reference frames and a 32-pixel motion estimation region, the H.264 standard is known to reduce the bit rate by about 48% to 78% compared to MPEG-2. Thomas Wiegand et al., "Rate-Constrained Coder Control and Comparison of Video Coding Standard."

이중 다양한 블록크기의 움직임 추정기법은 기존의 부호화 표준과 비교하여 보다 많은 계산량을 요구하지만 그에 따라 보다 세밀한 단위로 움직임을 추정함으로써 부호화 효율을 높이는데 상당한 영향을 미치는 부호화 도구이다.Among these, various block-size motion estimation techniques require more computation compared to existing coding standards, but are a coding tool that significantly affects coding efficiency by estimating motion in more granular units.

이렇게 다양한 블록 크기를 사용하여 움직임을 추정함으로써 나타나는 또 다른 특징은 기존의 동영상 표준에 비해 보다 많은 움직임 벡터를 생성한다는 것이다. 즉, 기존의 동영상 표준이 16 × 16 크기를 갖는 하나의 매크로블록에 대해 하나의 움직임 벡터만을 갖는 반면 H.264는 16 × 16 크기의 매크로블록 하나가 가질 수 있는 움직임 벡터의 개수는 최대 16개이다. 이는 H.264에서의 에러은닉 시 사용 될 수 있는 주변 매크로블록의 움직임 벡터 정보의 양이 기존의 부호화 표준에 비해 많음을 나타낸다.Another feature of estimating motion using these various block sizes is that it generates more motion vectors than existing video standards. That is, while the existing video standard has only one motion vector for one macroblock having a size of 16 × 16, H.264 can have a maximum of 16 motion vectors for one macroblock of size 16 × 16. . This indicates that the amount of motion vector information of neighboring macroblocks that can be used in error concealment in H.264 is larger than that of the existing coding standard.

또한 여러 장의 참조영상을 사용함으로써 각 매크로블록은 움직임 벡터와 함께 참조프레임의 정보 또한 포함하게 된다. 따라서 H.264 내 하나의 매크로블록은 최대 16개의 서로 다른 움직임 벡터와 최대 4개의 참조 프레임 정보 그리고 움직임 추정의 단위를 정의하는 매크로블록 모드 정보를 포함하게 된다.In addition, by using several reference images, each macroblock includes information of a reference frame together with a motion vector. Accordingly, one macroblock in H.264 includes up to 16 different motion vectors, up to 4 reference frame information, and macroblock mode information defining a unit of motion estimation.

MPEG-2가 제정된 이후로 시방향 에러은닉에 관한 많은 연구가 이루어져 왔다. Keiu는 손실된 매크로블록의 움직임을 추정함으로써 추정된 움직임 벡터를 이용하여 기준블록을 복사하여 에러를 은닉하는 기법을 제안하였다["Cell-loss concealment techniques for layered video codecs in an ATM network"의 pp.666-677]. 하지만 움직임 벡터의 추정이 정확하지 않은 경우 주변블록과 많은 차이를 보이게 되는 단점을 가진다.Since MPEG-2 was enacted, much research has been done on visual error concealment. Keiu proposed a technique for concealing errors by copying a reference block using an estimated motion vector by estimating the motion of a lost macroblock [pp. Of "Cell-loss concealment techniques for layered video codecs in an ATM network". 666-677]. However, when the estimation of the motion vector is not accurate, there is a drawback that the difference between the neighboring blocks is large.

이와 유사한 방법으로서 Suh와 Kwon은 각각 주변 매크로블록 움직임 벡터의 평균값["Recovery of motion vectors for error concealment" pp.750-753] 및 중간값["Error Concealment Techniques for H.264 Video Transmission"의 pp.276-279]을 사용하여 에러를 은닉하는 기법을 제안하였으며 이는 손실된 매크로블록과 이웃한 매크로블록이 움직임 벡터간의 상관도가 높다는 가정이 전제되어야 한다.In a similar way, Suh and Kwon, pp. 750-753 and mean values of surrounding macroblock motion vectors, respectively, are described in pp. 203 of “Error Concealment Techniques for H.264 Video Transmission”. 276-279], a technique for concealing errors is proposed. It must be assumed that the missing macroblock and neighboring macroblocks have a high correlation between motion vectors.

Jung은 손상된 매크로블록의 주변 경계화소들을 이용하여 움직임 벡터를 추정하는 BMA(Boundary Matching Algorithm) 기법을 개선한 수정된 BMA 기법을 제안하였다["Robust error concealment algorithm using iterative weighted boundary matching criterion"의 pp.384-387]. 하지만 이는 높은 복잡도를 갖는 단점을 가진다.Jung has proposed a modified BMA method that improves the BMA (Boundary Matching Algorithm) method for estimating motion vectors using neighboring boundary pixels of damaged macroblocks. See "Robust error concealment algorithm using iterative weighted boundary matching criterion." 384-387]. However, this has the disadvantage of having a high complexity.

위의 여러 시방향 에러 은닉 기법들은 16 × 16 크기로 움직임 추정을 수행하는 이전의 부호화 표준들에 적합한 방법들이다. Zheng은 다양한 블록 크기로 움직임을 추정하는 H.264에서의 보다 많은 움직임 벡터 정보를 이용하여 화소단위의 움직임 벡터 복원을 통하여 에러를 은닉하였지만, 이 역시 다중 참조 프레임 및 매크로블록 모드 정보는 고려하지 못하고 있다["A motion vector recovery algorithm for digital video using lagrange interpolation"의 pp.383-389].The various forward error concealment schemes above are suitable for previous coding standards for performing motion estimation on a 16 × 16 scale. Zheng concealed the error by reconstructing the motion vector pixel-by-pixel using more motion vector information in H.264, which estimates motion with various block sizes, but this also does not consider multi-reference frame and macroblock mode information. [A motion vector recovery algorithm for digital video using lagrange interpolation ”pp. 383-389.

이하에서는 종래에 사용되는 일반적인 에러은닉 방법에 해당하는 BMA(Boundary Matching Algorithm) 기법과 OBMA(Overlapping BMA) 기법에 대해서 살펴본다.Hereinafter, a BMA (Boundary Matching Algorithm) technique and an OBMA (Overlapping BMA) technique corresponding to conventional error concealment methods will be described.

상기 BMA(Boundary Matching Algorithm) 기법은 동영상 부호화 표준에서 시방향 움직임추정을 통한 에러은닉에 가장 널리 사용되는 방법이다. 이는 인접한 화소들 간에 큰 상관성을 가지는 자연영상의 특징을 이용한 방법으로서 에러가 발생한 매크로블록의 인접화소들과 주변 매크로블록의 움직임 벡터로부터 추정된 블록의 가장자리 화소들 간의 차이값을 최소로 하는 움직임벡터를 선정함으로써 에러를 은닉한다.Boundary Matching Algorithm (BMA) is the most widely used method for error concealment through visual motion estimation in the video coding standard. This method uses a feature of a natural image having a large correlation between adjacent pixels. The motion vector minimizes the difference between the neighboring pixels of the macroblock where the error occurs and the edge pixels of the block estimated from the motion vectors of the neighboring macroblocks. The error is concealed by selecting.

아래 식 (1)부터 식 (4)까지는 손실된 매크로블록의 상하좌우에서의 인접화소들간의 차이를 비용값으로 산출한 수식이며 이를 이용하여 산출한 각 움직임 벡 터값에서의 최종 비용값은 식 (5)와 같다.Equation (1) to Equation (4) below calculates the difference between adjacent pixels in the up, down, left, and right sides of the lost macroblock as the cost value, and the final cost value in each motion vector value calculated using this is Same as 5).

Figure 112005003644938-PAT00001
Figure 112005003644938-PAT00001

CostBM = BMT + BMB + BML + BMR (5) Cost BM = BM T + BM B + BM L + BM R (5)

이때 Px,y 는 현재 프레임의 (x, y) 위치에서의 화소값을 의미하며, Pr x,y 는 참조 프레임의 (x, y) 위치에서의 화소값을 나타낸다. Mx, My 는 에러가 발생한 블록에 인접한 주변 매크로블록으로부터 얻어낸 움직임 벡터 정보이다.In this case, P x, y denotes a pixel value at the position (x, y) of the current frame, and P r x, y denotes a pixel value at the position (x, y) of the reference frame. M x and M y are motion vector information obtained from neighboring macroblocks adjacent to the block in which an error occurs.

한편, 상기 OBMA(Overlapping BMA) 경우는 인접화소간의 차이값 대신에 참조프레임에서 움직임벡터를 고려한 후 동일 위치간의 차이값을 비용값으로 사용함으로써 화면 내의 에지성분을 어느 정도 고려할 수 있다는 장점을 가진다. OBMA를 사용하는 경우 손실된 매크로블록의 상하좌우에서의 비용값은 아래 식 (6)부터 식 (9)까지의 수식에 따르며 하나의 움직임 벡터에 대한 최종 비용값은 아래 식 (10) 과 같다.On the other hand, in the case of the overlapping BMA (OBMA), the edge component in the screen can be considered to some extent by considering the motion vector in the reference frame instead of the difference value between adjacent pixels and using the difference value between the same positions as the cost value. In the case of using OBMA, the cost values in the up, down, left, and right sides of the lost macroblock are as shown in Equations (6) to (9) below, and the final cost value for one motion vector is shown in Equation (10) below.

Figure 112005003644938-PAT00002
Figure 112005003644938-PAT00002

다음은 H.264에서 일반적인 에러은닉 기법에 대해서 살펴본다.The following is a general error concealment technique in H.264.

H.264/AVC 이전의 대부분의 부호화 표준들은 16 × 16 단위로 움직임을 추정함으로써 하나의 매크로블록이 가질 수 있는 움직임 벡터의 수는 하나로 한정되어 있었다. 반면 H.264에서는 움직임 추정을 다양한 블록크기로 수행함으로써 하나의 매크로블록은 최대 16개의 움직임 벡터를 가질 수 있다. 또한, 여러 장의 참조프레임을 사용함으로써 각 매크로블록은 참조프레임의 정보도 포함하고 있다.In most coding standards before H.264 / AVC, the number of motion vectors that a macroblock can have is limited to one by estimating motion in units of 16 × 16. On the other hand, in H.264, one macroblock can have up to 16 motion vectors by performing motion estimation with various block sizes. In addition, by using multiple reference frames, each macroblock also includes information on the reference frame.

프레임참조의 최소단위는 8 × 8 블록으로 수행되기 때문에 하나의 매크로블록이 가질 수 있는 최대 참조프레임의 수는 4개이다.Since the minimum unit of frame reference is performed by 8 × 8 blocks, the maximum number of reference frames that one macroblock can have is four.

도 1은 현재 H.264/AVC 표준에서 움직임 추정 시 사용하는 매크로블록의 세분화된 모양을 나타내는 것이다.FIG. 1 shows the granular shape of a macroblock used for motion estimation in the current H.264 / AVC standard.

도 1에 도시된 바와 같이, 모드 1은 16x16 크기로 매크로블록의 움직임을 추정하며 모드 2는 두 개의 16x8의 블록 크기로 각 참조프레임에 대해서 움직임을 추정하고 모드 3의 경우 두 개의 8x16의 블록 크기로 움직임을 추정하며, 모드 8의 경우에는 8x8 크기의 각 서브 매크로블록에 해당하는 모드 4 ~ 모드 7 중 하나로 선택 가능하다. 이때 모드 1, 모드 2, 모드 3 및 모드 8은 16x16의 매크로블록 크기이며 모드 4 ~ 모드 7은 8x8 크기의 서브 매크로블록 크기이다. As shown in FIG. 1, mode 1 estimates the motion of a macroblock with a size of 16x16, mode 2 estimates the motion for each reference frame with two block sizes of 16x8, and in mode 3, two block sizes of 8x16. In the case of Mode 8, one of Mode 4 to Mode 7 corresponding to each 8 × 8 sub-macroblock may be selected. In this case, Mode 1, Mode 2, Mode 3 and Mode 8 are 16x16 macroblock sizes, and Modes 4 to 7 are 8x8 submacroblock sizes.

도 2는 종래의 인접 매크로블록의 움직임 벡터정보 및 참조 프레임 정보를 이용한 에러 은닉 기법을 설명하는 블록도이다.2 is a block diagram illustrating an error concealment technique using motion vector information and reference frame information of a conventional neighboring macroblock.

H.264는 도 2에 도시된 바와 같이, 8 × 8 단위의 참조 프레임 정보 및 4 × 4 단위의 움직임 벡터정보를 가지는 주변 매크로블록의 정보를 이용하여 에러를 은닉한다. 즉, 손실된 매크로블록의 상하좌우에 위치한 8 × 8 크기의 블록으로부터의 움직임 벡터 및 참조 프레임 정보를 사용하여 시방향 에러를 은닉하게 된다.As illustrated in FIG. 2, H.264 conceals an error using information of surrounding macroblocks having reference frame information of 8 × 8 units and motion vector information of 4 × 4 units. That is, the motion error and the reference frame information from the 8 × 8 block located in the top, bottom, left and right of the lost macroblock is concealed.

상기 8 × 8 크기의 블록이 포함하는 정보는 Vi = (Mx, My,Ref)의 식으로 나타낼 수 있다. 여기서 Mx는 8 × 8 블록에서 x 방향으로의 움직임 벡터의 값이며, My는 8 × 8 블록에서의 y 방향으로의 움직임 벡터 값이며, Ref는 8 × 8 블록 크기에서의 참조프레임을 나타낸다. Information included in the 8 × 8 block can be represented by the formula V i = (M x , M y , Ref). Where M x is the value of the motion vector in the x direction in the 8 × 8 block, M y is the motion vector value in the y direction in the 8 × 8 block, and Ref represents the reference frame at the size of 8 × 8 block. .

이 때 움직임 벡터는 도 2에 도시된 바와 같이, 최소 4 × 4 단위의 크기를 가질 수 있기 때문에 8 × 8 블록 크기에서의 x 및 y 방향으로의 움직임 벡터는 수식 Vi = Mean(Vi(1) + Vi(2) + Vi(3) + Vi(4))를 이용하여 4 × 4 단위의 움직임 벡터에 대한 평균을 취하여 구한다.At this time, the motion vector is a motion vector of the a, x in the 8 × 8 block size, because it can have a size of at least 4 × 4 units and the y-direction as shown in Figure 2 has the formula Vi = Mean (V i (1 ) Is obtained by taking the average of the motion vectors in units of 4 × 4 using + V i (2) + V i (3) + V i (4)).

따라서 도 2 및 수학식 Vi = (Mx, My,Ref)와 Vi = Mean(Vi(1) + Vi(2) + Vi(3) + Vi(4))에서 보는 바와 같이, H.264는 손실된 매크로블록 주변 8개의 8 × 8 크기 의 블록으로부터 움직임 벡터 후보군 및 참조프레임을 사용하고, 이와 함께 바로 이전의 참조프레임의 영 움직임벡터를 함께 고려함으로써 최대 9개의 서로 다른 움직임 벡터 및 참조 프레임 정보를 사용하여 에러를 은닉한다.Therefore, as shown in Fig. 2 and the formulas V i = (M x , M y , Ref) and Vi = Mean (V i (1) + V i (2) + V i (3) + V i (4)) Similarly, H.264 uses motion vector candidates and reference frames from eight 8 × 8 sized blocks around lost macroblocks, together with up to nine different vectors by considering the zero motion vectors of the immediately preceding reference frame together. The error is concealed using the motion vector and reference frame information.

H.264에서의 시방향 에러은닉 기법은 기본적으로 BMA에 기반하며 이때 사용되는 움직임 벡터 후보군은 아래와 같다.The visual error concealment technique in H.264 is basically based on BMA, and the motion vector candidate group used is as follows.

VMx,My,Ref = [ZM, V1, V2, ....., V8]V Mx, My, Ref = [ZM, V 1 , V 2 , ....., V 8 ]

where, Vi = Mean(Vi(1) + Vi(2) + Vi(3) + Vi(4)) (11)where, V i = Mean (V i (1) + V i (2) + V i (3) + V i (4)) (11)

상기 식 (11)의 ZM은 바로 이전 프레임 같은 위치의 블록을 복사하는 경우를 말한다. 식 (11)에서 보는 바와 같이 H.264에서는 시방향 에러은닉 시 하나의 매크로블록에 대해서 최대 9개의 움직임벡터를 사용한다.ZM in Equation (11) refers to a case of copying a block at the same position as the previous frame. As shown in Equation (11), in H.264, up to 9 motion vectors are used for one macroblock in concealment of the visual error.

만일 슬라이스 에러가 발생한 경우에 우측 매크로블록의 정보는 사용할 수 없게 되며, 좌측 매크로블록의 경우 이미 에러가 은닉된 경우는 7개의 움직임 벡터를 사용하며, 만일 좌측 매크로블록의 정보 또한 사용할 수 없는 경우 5개의 움직임벡터를 사용하여 에러를 은닉하게 된다.If a slice error occurs, the information of the right macroblock cannot be used. For the left macroblock, seven motion vectors are used if the error is already concealed. If the information of the left macroblock is also unavailable, 5 Errors are concealed using the two motion vectors.

주변 매크로블록으로부터 움직임벡터 후보군이 결정되면 아래 수식 (12)을 통하여 에러 매크로블록의 최종 움직임 벡터를 선정하며 이를 이용하여 에러를 은닉하게 된다.When the motion vector candidate group is determined from the neighboring macroblocks, the final motion vector of the error macroblock is selected through Equation (12) below, and the error is concealed using the motion vector candidate group.

Figure 112005003644938-PAT00003
Figure 112005003644938-PAT00003

상기 식 (12)의 vx, vy 및 ref는 비용값을 최소로 하는 움직임 벡터 및 참조 영상을 나타낸다. 비용값을 최소로 하는 움직임 벡터 및 참조영상이 결정되면 H.264는 최종적으로 아래의 수식을 이용하여 에러를 은닉한다.V x , v y, and ref in Equation (12) represent a motion vector and a reference picture that minimize cost values. When the motion vector and the reference image that minimize the cost value are determined, H.264 finally conceals the error using the following equation.

MBconceal(xi, yj, t) = MB(xi + vx, yj + vy, t-1-ref)MB conceal (x i , y j , t) = MB (x i + v x , y j + v y , t-1-ref)

i, j = 0, 1,....15 ref = 0 ~ 4 (13)i, j = 0, 1, ... 15 ref = 0 to 4 (13)

상기 식 (13)은 손실된 매크로블록의 주변 매크로블록 정보로부터 최종 움직임 벡터 및 참조프레임의 결정된 후 결정된 참조프레임에서 결정된 움직임벡터에 위치한 블록을 가져옴을 의미한다. 5장의 참조프레임을 사용하는 경우 ref 값은 0 ~ 4까지의 값 중 하나를 가질 수 있다.Equation (13) means to obtain a block located in the motion vector determined in the determined reference frame after the final motion vector and the reference frame from the neighboring macroblock information of the lost macroblock. In case of using 5 reference frames, ref value can have one of values from 0 to 4.

이상에서 설명한 종래의 에러은닉 방법에 의하면, H.264/AVC의 매크로블록은 이전의 여러 동영상 부호화 표준과 비교하여 보다 많은 정보를 포함하고 있지만, 현재의 H.264/AVC에서의 시방향 에러은닉 기법은 기존의 여러 동영상 부호화 표준에서 사용되던 BMA 기반으로 16 × 16 단위로 에러은닉을 수행함으로써 H.264/AVC 부호화 표준의 특성을 적절하게 고려하지 못하고 있다.According to the conventional error concealment method described above, the macroblock of H.264 / AVC contains more information than the previous video coding standards. The technique does not properly consider the characteristics of the H.264 / AVC coding standard by performing error concealment in units of 16 × 16 based on BMA used in many existing video coding standards.

또한, 에러은닉 후의 객관적 화질만큼이나 에러은닉 기법의 복잡도 또한 중요하게 고려되어야 할 사항이다. 이는 영상내의 매크로블록이 손실되었을 경우 에러은닉 과정을 통하여 손실된 매크로블록의 에러를 은닉 후 그 영상은 다음 영상의 참조프레임으로서 동작하기 때문이다. 그러나 종래의 일반적인 H.264/AVC에서의 에러은닉 방법은 높은 복잡도를 효율적으로 해결하지 못하는 문제점이 있다.In addition, the complexity of the error concealment technique should be considered as important as the objective picture quality after the error concealment. This is because if a macroblock in an image is lost, the image is operated as a reference frame of the next image after concealing an error of the lost macroblock through an error concealment process. However, the conventional error concealment method in the conventional H.264 / AVC does not solve the high complexity efficiently.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, H.264/AVC 부호화 표준의 특성을 적절하게 고려하여 손실된 매크로블록의 모드를 상하좌우에 위치한 주변 매크로블록이 포함하는 정보를 이용하여 추정하고, 이에 따라 서로 다른 블록 크기로 에러은닉을 수행함으로써 기존의 H.264/AVC에서의 시방향 에러은닉 기법보다 적은 연산량을 가지면서도 객관적 화질을 향상시킬 수 있는 H.264에서의 시방향 에러은닉 방법을 제공하는 것을 그 목적으로 한다.
The present invention was devised to solve the above-mentioned problems of the prior art, and includes information on neighboring macroblocks positioned up, down, left, and right in a mode of a lost macroblock in consideration of the characteristics of the H.264 / AVC coding standard. By estimating the error rate, and performing error concealment with different block sizes, H.264 can improve the objective image quality with less computational complexity than the conventional error concealment technique in H.264 / AVC. It is an object of the present invention to provide a method for concealing error in time direction.

상기와 같은 기술적 과제를 가지는 본 발명인 H.264에서의 시방향 에러 은닉 방법을 이루는 구성수단은, 손실된 매크로블록의 상하좌우에 위치하는 4개의 매크로블록 모드를 확인하는 단계, 상기 확인된 상하좌우 매크로블록 모드를 이용하여 소정의 개수와 크기를 가지는 에러은닉 모드를 결정하는 단계, 상기 결정된 에러은닉 모드에 따라 OBMA 방법으로 움직임 벡터 및 참조프레임 정보에 대한 비용값을 산출하여 에러은닉을 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다.The constituent means constituting the method for concealing a visual error in H.264 according to the present invention having the technical problem as described above comprises the steps of: identifying four macroblock modes located at the top, bottom, left, and right sides of the lost macroblock; Determining an error concealment mode having a predetermined number and size using a macroblock mode, and performing error concealment by calculating cost values for motion vectors and reference frame information by an OBMA method according to the determined error concealment mode Characterized in that comprises a.

또한, 상기 에러은닉 모드를 결정하는 단계는, 상기 손실된 매크로블록의 상하 블록 중에 하나 이상이 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지고, 좌우 블록 중에 하나 이상이 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 하나의 16 × 16 단위로 에러를 은닉하는 에러은닉 모드 1로 결정되는 것 을 특징으로 한다.The determining of the error concealment mode may include one or more of the upper and lower blocks of the lost macroblock having a macroblock mode other than mode 3 or mode 8, and one or more of the left and right blocks other than mode 2 or mode 8. In the case of having a macroblock mode, it is determined that the error concealment mode 1 conceals an error in one 16 × 16 unit.

또한, 상기 에러은닉 모드를 결정하는 단계는, 상기 손실된 매크로블록의 좌우블록 모두가 모드 2 또는 모드 8의 매크로블록을 가지고, 상하 블록 중 적어도 하나가 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 16 × 8의 블록 크기로 에러를 은닉하는 에러은닉 모드 2로 결정되는 것을 특징으로 한다.In the determining of the error concealment mode, both the left and right blocks of the lost macroblock have a macroblock of mode 2 or mode 8, and at least one of the upper and lower blocks has a macroblock mode other than mode 3 or mode 8. In the case of the case, the error concealment mode 2 concealing the error with two block sizes of 16 × 8 is characterized in that it is determined.

또한, 상기 에러은닉 모드를 결정하는 단계는, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매크로블록 모드를 가지고, 좌우 블록 중 적어도 하나가 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 8 × 16의 블록 크기로 에러를 은닉하는 에러은닉 모드 3으로 결정되는 것을 특징으로 한다.The determining of the error concealment mode may include: both upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8, and at least one of the left and right blocks is a macroblock mode other than mode 2 or mode 8. In the case of having, the error concealment mode 3 concealing an error with two 8 × 16 block sizes is determined.

또한, 상기 에러은닉 모드를 결정하는 단계는, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매크로 블록 모드를 가지고, 좌우 블록 모두가 모드 2 또는 모드 8의 매크로블록 모드를 가지는 경우에는 네개의 8 × 8 블록 크기로 에러를 은닉하는 에러은닉 모드 4로 결정되는 것을 특징으로 한다.The determining of the error concealment mode may include: when both upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8, and both left and right blocks have a macroblock mode of mode 2 or mode 8 It is characterized in that the error concealment mode 4 concealing the error in four 8 × 8 block size.

이하, 첨부된 도면을 참조하여 상기와 같은 구성수단으로 이루어져 있는 본 발명인 H.264/AVC에서의 시방향(時方向) 에러 은닉 방법에 관한 작용 및 바람직한 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the operation and preferred embodiment of the method for concealing the error in the time direction in the present invention H.264 / AVC consisting of the above configuration means.

잡음을 포함한 채널을 통하여 압축된 비트열을 전송하는 경우 영상내의 매크 로블록의 손실을 가져올 수 있다. 이와 같이 손실된 매크로블록의 복원 방법은 자연영상에서의 공간 내 상관성을 이용한 공간 내 에러은닉 방법과 동영상에서의 시간적 상관성을 이용한 시방향 에러은닉 방법으로 나뉠 수 있다.When the compressed bitstream is transmitted through a channel including noise, macroblocks in the image may be lost. The reconstruction method of the lost macroblocks can be divided into an error concealment method in space using an intra-spatial correlation in a natural image and a method of error concealment using a temporal correlation in a video.

본 발명은 공간 내 에러은닉 기법과 시방향 에러은닉 기법 중 H.264/AVC의 부호화 특성을 고려한 시방향 에러은닉 기법을 제공하고자 한다. 이는 기존의 여러 동영상 부호화 표준이 하나의 매크로블록에 대해서 하나의 움직임 벡터만을 갖는데 반해 최소 4 × 4 크기로 움직임을 추정함으로써 발생되는 최대 16개의 서로 다른 움직임 벡터 및 최소 8 × 8 크기로 참조프레임을 결정함으로써 최대 4개의 서로 다른 참조프레임 정보, 그리고 움직임 추정시 사용되는 블록의 크기를 정의하는 매크로블록 모드 정보를 갖는 H.264/AVC의 부호화 특징을 이용하여 시방향 에러은닉을 수행한다.An object of the present invention is to provide a forward error concealment scheme in consideration of coding characteristics of H.264 / AVC among an error concealment technique and a spatial error concealment scheme. This means that although several existing video coding standards have only one motion vector for one macroblock, a reference frame can be obtained with a maximum of 16 different motion vectors and a minimum of 8 × 8 size generated by estimating motion at least 4 × 4 in size. By determining, the error error concealment is performed using the coding feature of H.264 / AVC having up to four different reference frame information and macroblock mode information defining the size of a block used for motion estimation.

H.264에서는 이전의 부호화 표준과 다르게 다양한 블록 크기로 움직임을 추정한다. 상기 움직임 추정에 사용되는 다양한 블록 크기를 갖는 매크로블록의 모드들은 도 1에 도시된 바와 같고, 이에 대해서는 상술하였다.In H.264, motion is estimated with various block sizes, unlike previous coding standards. Modes of macroblocks having various block sizes used for the motion estimation are as shown in FIG. 1, which has been described above.

다시 한번 정리하면, 모드 1, 모드 2, 모드 3, 모드 8은 16 × 16의 매크로블록 크기를 나타내며, 모드 4부터 모드 7까지는 8 × 8 크기의 서브 매크로블록 크기를 나타낸다. 즉, 하나의 매크로블록은 모드 1, 모드 2, 모드 3, 모드 8의 블록 모양으로 움직임을 추정하며 모드 8이 선택되는 경우에 각 서브 매크로블록은 다시 모드 4부터 모드 7까지의 블록 모양으로 움직임을 추정한다.To sum up again, Mode 1, Mode 2, Mode 3, and Mode 8 represent 16 × 16 macroblock sizes, and Modes 4 through 7 represent 8 × 8 submacroblock sizes. That is, one macroblock estimates motion in the shape of a block of mode 1, mode 2, mode 3, and mode 8. When mode 8 is selected, each sub-macroblock moves in the shape of a block from modes 4 to 7 again. Estimate

H.264에서는 매크로블록의 모드를 선택하기 위해 움직임벡터 비용함수 (MVcost), 참조 프레임 비용함수(REFcost) 그리고 율-왜곡 비용함수(RDcost)를 사용한다.In H.264, the motion vector cost function (MVcost), the reference frame cost function (REFcost) and the rate-distortion cost function (RDcost) are used to select the mode of the macroblock.

MVcost = WeightedCost(f,mvbits[(cx<<s)-px] + mvbits[(cy<<s)-py])MVcost = WeightedCost (f, mvbits [(cx << s) -px] + mvbits [(cy << s) -py])

where, f : lambda factor (14)where, f: lambda factor (14)

움직임 벡터 비용함수는 상기 식 (14)와 같다. 여기에서 cx 및 cy는 현재 매크로블록의 움직임 벡터를 나타내고, s는 움직임 벡터의 추이 양을 나타내며, px 및 py는 예측된 움직임 벡터를 나타낸다. WeightedCost 함수는 f 값을 사용하여 움직임 벡터 예측 오차의 부호화에 사용되는 비트량을 인수로 받아 비용 값을 반환한다.The motion vector cost function is as shown in Equation (14) above. Here, cx and cy represent the motion vector of the current macroblock, s represents the transition amount of the motion vector, and px and py represent the predicted motion vector. The WeightedCost function returns a cost value by taking a bit amount used for encoding a motion vector prediction error using an f value.

REFcost = WeightedCost(f, refbits(ref))REFcost = WeightedCost (f, refbits (ref))

여기서, f : lambda factor (15)Where f: lambda factor (15)

상기 참조 프레임 비용함수는 식 (15)와 같다. 여기에서 ref는 선택된 참조 프레임을 가리키며, WeightedCost 함수는 f 값을 사용하여 선택된 참조프레임 값을 부호화 하는데 필요한 비트량을 인수로 받아 비용 값을 반환한다. 일반적으로 움직임 벡터 비용에 비하여 매우 적은 값을 갖는다.The reference frame cost function is expressed by Equation (15). Here ref refers to the selected reference frame, and the WeightedCost function returns the cost value by taking the amount of bits required to encode the selected reference frame value using the f value. In general, it has a very small value compared to the motion vector cost.

RDcost = Distortion + lambda × Rate (16)RDcost = Distortion + lambda × Rate (16)

상기 율-왜곡 비용 함수는 식 (16)와 같다. 율-왜곡 최적화 기법이 사용되는 경우 율-왜곡 비용함수는 모드 8 내의 서브 매크로블록 모드의 선택 및 전체 매크로블록 모드의 최종 선택 시 사용되며 상기 두 비용함수에 비해 상대적으로 높은 복잡도를 갖는다. 상기 식 (16) 내의 왜곡(Distortion) 값은 각 매크로블록 모드에서의 SNR을 구함으로써 계산할 수 있으며, 율(Rate) 값은 매크로블록의 부호화가 끝나는 시점에서의 압축된 비트열(bitstream)의 비트율을 나타낸다.The rate-distortion cost function is shown in equation (16). When the rate-distortion optimization technique is used, the rate-distortion cost function is used in the selection of the sub macroblock mode in mode 8 and the final selection of the entire macroblock mode and has a relatively high complexity compared to the two cost functions. The distortion value in Equation (16) can be calculated by obtaining the SNR in each macroblock mode, and the rate value is the bit rate of the compressed bitstream at the end of encoding of the macroblock. Indicates.

H.264에서의 매크로블록 모드 결정은 율-왜곡 최적화 기법의 사용 여부에 따라 두 가지로 나뉜다. 만일 율-왜곡 최적화 기법이 사용되는 경우에는 율-왜곡 비용값을 최소로 하는 매크로블록 모드를 결정하게 되며, 율-왜곡 최적화 기법이 사용되지 않는 경우에는 움직임벡터 비용값과 참조프레임 비용값의 합이 최소가 되는 매크로블록 모드를 선택한다.The macroblock mode decision in H.264 is divided into two types depending on whether the rate-distortion optimization technique is used. If the rate-distortion optimization technique is used, the macroblock mode that minimizes the rate-distortion cost value is determined. If the rate-distortion optimization technique is not used, the sum of the motion vector cost value and the reference frame cost value is used. Select the minimum macroblock mode.

상기 H.264 내의 비용함수 중 율-왜곡 비용값과 움직임벡터 비용값은 어느 정도 비례하는 성질을 가지는데 이는 움직임 추정을 통한 예측오차의 크기가 비트율에 직접적으로 영향을 주기 때문이다. 즉, 율-왜곡 최적화 기법의 사용 여부와 관계없이 매크로블록의 모드가 움직임 추정 후의 예측오차의 크기와 연관되어 있음을 의미한다. 가령 매크로블록이 모드 2로 선택되었다면 두 개의 16 × 8 블록 크기로 움직임 추정을 수행하는 것이 최소의 예측오차를 발생한다고 기대할 수 있다.The rate-distortion cost value and the motion vector cost value among the cost functions in H.264 are in proportion to each other because the magnitude of the prediction error through the motion estimation directly affects the bit rate. In other words, the macroblock mode is related to the magnitude of the prediction error after motion estimation regardless of the rate-distortion optimization technique. For example, if a macroblock is selected as mode 2, it can be expected that performing motion estimation with two 16 × 8 block sizes generates a minimum prediction error.

따라서 본 발명은 오류가(손실이) 발생한 매크로블록의 모드를 인접한 매크로블록의 모드로서 예측하고 이를 이용하여 에러은닉에 사용되는 블록의 크기를 가변적으로 선택함으로써 보다 효율적으로 에러를 은닉한다.Accordingly, the present invention conceals the error more efficiently by predicting the mode of the macroblock in which the error occurs (loss) as the mode of the adjacent macroblock and variably selecting the size of the block used for the error concealment.

이하, 첨부된 도 3을 참조하여 본 발명에 따른 시방향 에러은닉 방법에 관한 절차를 설명한다.Hereinafter, with reference to the accompanying FIG. 3 will be described a procedure for a method of error concealment according to the present invention.

먼저, 손실된(오류가 발생한) 매크로블록의 상하좌우에 위치한 4개의 매크로블록 모드를 확인한다(S10). 즉, 도 2에 도시된 바와 같이, 손실된 매크로블록의 주변에 존재하는 4개의 매크로블록의 모드가 모드 1, 모드 2, 모드 3 및 모드 8 중에 어느 매크로블록 모드에 속하는지를 확인한다.First, four macroblock modes located on the top, bottom, left, and right sides of the lost (error generated) macroblock are checked (S10). That is, as shown in FIG. 2, it is checked to which macroblock mode among the mode 1, the mode 2, the mode 3, and the mode 8 of the four macroblocks existing in the vicinity of the lost macroblock.

상기와 같이 손실된 매크로블록의 상하좌우에 위치하는 매크로블록들의 모드를 확인한 후에는, 이들에 대하여 분석을 하고 대비를 수행한다(S20). 즉, 상기 손실된 매크로블록의 상하 또는 좌우에 존재하는 매크로블록들이 모두 모드 2 또는 모드 8인지, 모두 모드 3 또는 모드 8인지 또는 모드 2와 모드 3과 모드 8이 혼재하는지를 판단한다. After checking the modes of the macroblocks located on the top, bottom, left, and right of the lost macroblock as described above, the analysis is performed on them and the contrast is performed (S20). That is, it is determined whether the macroblocks existing on the top, bottom, left, and right sides of the lost macroblock are all in mode 2 or mode 8, all in mode 3 or mode 8, or whether mode 2, mode 3, and mode 8 are mixed.

상기 손실된 매크로블록 주변의 상하좌우에 존재하는 매크로블록들의 모드들을 확인하고 분석된 후에는, 확인된 상하좌우 매크로블록 모드를 이용하여 소정의 개수와 크기를 가지는 에러은닉 모드를 결정한다(S30 ~ S31, S40 ~ S41, S50 ~ S51, S60 ~ S61).After checking and analyzing the modes of the macroblocks present in up, down, left, and right around the lost macroblock, the error concealment mode having a predetermined number and size is determined using the identified up, down, left, and right macroblock modes (S30 ~). S31, S40 to S41, S50 to S51, S60 to S61).

상기 에러은닉 모드는 도 4에 도시된 바와 같이, 네 가지 중에서 하나로 선택되며 각 에러은닉 모드는 서로 다른 블록 크기로 에러를 은닉한다.The error concealment mode is selected from one of four, as shown in FIG. 4, and each error concealment mode conceals an error with a different block size.

상기 네 가지의 에러은닉 모드는 서로 다른 블록 단위로 에러를 은닉하고 OBMA와 동일한 방법으로 비용값을 산출하며 각 에러은닉 모드에 따라 서로 다른 개수의 참조 화소수를 갖는다.The four error concealment modes conceal errors in different block units, calculate cost values in the same manner as OBMA, and have different numbers of reference pixels according to each error concealment mode.

도 4를 참조하여 네개의 에러은닉 모드를 살펴보면 다음과 같다.Four error concealment modes will now be described with reference to FIG. 4.

첫째, 상기 손실된 매크로블록의 상하 블록 중에 하나 이상이 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지고, 좌우 블록 중에 하나 이상이 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 하나의 16 × 16 단위로 에러를 은닉하는 에러은닉 모드 1로 결정된다(S30 ~ S31).First, when at least one of the upper and lower blocks of the lost macroblock has a macroblock mode other than mode 3 or mode 8, and at least one of the left and right blocks has a macroblock mode other than mode 2 or mode 8, one 16 The error concealment mode 1 concealing the error in units of x 16 is determined (S30 to S31).

즉, 상기 에러은닉 모드 1은 에러가 발생한(손실된) 매크로블록의 상하 블록 중 적어도 하나가 세로방향으로의 나뉨성분을 가지고 있는 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지며, 좌우 블록 중 적어도 하나가 가로방향으로의 나뉨 성분을 가지고 있는 모드 2 또는 모드 8 이외의 매크로블록 모드를 가질 때 선택되며, 이 경우 기존의 H.264에서 채택하고 있는 방법과 동일하게 16 × 16 단위로 에러를 은닉한다.That is, the error concealment mode 1 has a macroblock mode other than the mode 3 or the mode 8 in which at least one of the upper and lower blocks of the macroblock in which the error occurs (lost) has a division component in the vertical direction, and at least one of the left and right blocks. It is selected when one has a macroblock mode other than Mode 2 or Mode 8 with the division component in the horizontal direction, in which case the error is concealed in units of 16 × 16, which is the same as that adopted in H.264. do.

둘째, 상기 손실된 매크로블록의 좌우블록 모두가 모드 2 또는 모드 8의 매크로블록을 가지고, 상하 블록 중 적어도 하나가 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 16 × 8의 블록 크기로 에러를 은닉하는 에러은닉 모드 2로 결정된다(S40 ~ S41).Second, when both left and right blocks of the lost macroblock have a macroblock of mode 2 or mode 8, and at least one of the upper and lower blocks has a macroblock mode other than mode 3 or mode 8, two 16 × 8 blocks The error concealment mode 2 concealing the error in magnitude is determined (S40 to S41).

즉, 상기 에러은닉 모드 2는 에러가 발생한(손실된) 매크로블록의 좌우 블록 모두가 가로 방향으로의 나뉨 성분을 가지고 있는 모드 2 또는 모드 8의 매크로블록 모드를 가지며, 상하 블록 중 적어도 하나가 세로 방향으로 나뉨 성분을 가지고 있는 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지는 경우 선택된다. 이 경우 에러은닉은 두개의 16 × 8의 블록 크기로 수행된다.That is, the error concealment mode 2 has a macroblock mode of mode 2 or mode 8 in which both the left and right blocks of the macroblock in which the error occurs (lost) have a dividing component in the horizontal direction, and at least one of the upper and lower blocks are vertical It is selected if it has a macroblock mode other than Mode 3 or Mode 8 with components divided in the direction. In this case, error concealment is performed with two 16 × 8 block sizes.

세째, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매 크로블록 모드를 가지고, 좌우 블록 중 적어도 하나가 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 8 × 16의 블록 크기로 에러를 은닉하는 에러은닉 모드 3으로 결정된다(S50 ~ S51).Third, when both the upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8, and at least one of the left and right blocks has a macroblock mode other than mode 2 or mode 8, two 8 × 16 blocks are used. An error concealment mode 3 concealing an error with a block size of is determined as S50 to S51.

즉, 상기 에러은닉 모드 3은 에러가 발생한(손실된) 매크로블록의 상하 블록 모두가 세로 방향으로의 나뉨 성분을 가지고 있는 모드 3 또는 모드 8의 매크로블록 모드를 가지며, 좌우 블록 중 적어도 하나가 가로 방향으로 나뉨 성분을 가지고 있는 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우 선택된다. 이 경우 에러은닉은 두개의 8 × 16 블록 크기로 수행된다.That is, the error concealment mode 3 has a macroblock mode of mode 3 or mode 8 in which all of the upper and lower blocks of the macroblock in which the error occurs (lost) have a division component in the vertical direction, and at least one of the left and right blocks are horizontal It is selected if it has a macroblock mode other than Mode 2 or Mode 8 with components divided in the direction. In this case, error concealment is performed in two 8 × 16 block sizes.

네째, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매크로 블록 모드를 가지고, 좌우 블록 모두가 모드 2 또는 모드 8의 매크로블록 모드를 가지는 경우에는 네개의 8 × 8 블록 크기로 에러를 은닉하는 에러은닉 모드 4로 결정된다(S60 ~ S61).Fourth, when all of the upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8, and both the left and right blocks have a macroblock mode of mode 2 or mode 8, an error occurs with four 8 × 8 block sizes. Error concealment mode 4 concealing is determined as S60 to S61.

즉, 상기 에러은닉 모드 4는 에러가 발생한(손실된) 매크로블록의 상하 블록 모두가 세로 방향으로의 나뉨 성분을 가지고 있는 모드 3 또는 모드 8의 매크로블록 모드를 가지며, 좌우 블록 모두가 가로방향으로의 나뉨 성분을 가지고 있는 모드 2 또는 모드 8을 가지는 경우 선택된다. 이 경우 에러은닉은 네 개의 8 × 8 블록 크기로 수행된다.That is, the error concealment mode 4 has a macroblock mode of mode 3 or mode 8 in which both upper and lower blocks of an errored (lost) macroblock have a division component in the vertical direction, and both left and right blocks are in a horizontal direction. It is selected if you have Mode 2 or Mode 8 with the divisible components of. In this case, error concealment is performed with four 8 × 8 block sizes.

상기와 같은 네가지의 에러은닉 모드 중 하나가 결정된 후에는, 결정된 에러은닉 모드에 따라 OBMA 방법으로 움직임 벡터 및 참조프레임 정보에 대한 비용값을 산출하여 에러은닉을 수행한다(S70).After one of the above four error concealment modes is determined, error concealment is performed by calculating a cost value for the motion vector and the reference frame information by the OBMA method according to the determined error concealment mode (S70).

상기 S30 ~ S31의 단계에 의하여 에러은닉 모드 1이 선택되는 경우 고려하는 움직임 벡터 및 참조 프레임 정보는 전술한 식 (11)을 이용하여 기존의 H.264/AVC에서 사용하는 방법과 동일하게 고려하며 각 움직임 벡터 및 참조 프레임 후보군에 대한 비용값의 계산은 아래의 수식을 이용하여 계산한다. 아래 수식에서 OBMT, OBMB, OBML, OBMR은 각각 손실된 매크로블록의 상하좌우에 인접한 화소들 사이의 차이값을 나타낸다. The motion vector and reference frame information to be considered when the error concealment mode 1 is selected by the steps S30 to S31 are considered in the same manner as in the conventional method of H.264 / AVC using Equation (11). The cost value for each motion vector and reference frame candidate group is calculated using the following equation. In the following equations, OBM T , OBM B , OBM L , and OBM R represent the differences between pixels adjacent to the top, bottom, left, and right sides of the lost macroblock, respectively.

Figure 112005003644938-PAT00004
Figure 112005003644938-PAT00004

상기 S40 ~ S41의 단계에 의하여 에러은닉 모드 2가 선택된 경우 에러은닉은 두개의 16 × 8의 블록 크기로 수행되며, 각 세분화된 블록(블록 0, 블록 1)에 대하여 고려되는 움직임 벡터 및 참조 프레임 후보군에 대한 비용값의 계산은 아래의 수식 (17)과 수식 (18)을 이용하여 계산한다.When the error concealment mode 2 is selected by the steps S40 to S41, the error concealment is performed in two 16 × 8 block sizes, and the motion vector and the reference frame considered for each subdivided block (block 0, block 1). The cost value for the candidate group is calculated using the following Equations (17) and (18).

Figure 112005003644938-PAT00005
Figure 112005003644938-PAT00005

Figure 112005003644938-PAT00006
Figure 112005003644938-PAT00006

이 때 각 블록에 대해 고려하는 움직임 벡터 후보군은 아래와 같다.At this time, the motion vector candidate group considered for each block is as follows.

Block 0 : {ZM, V1, V2, V3, V7}Block 0: {ZM, V 1 , V 2 , V 3 , V 7 }

Block 1 : {ZM, V4, V5, V6, V8}Block 1: {ZM, V 4 , V 5 , V 6 , V 8 }

상기 수식 (17)과 수식 (18)은 에러은닉 모드 2의 각 블록에서 각 움직임벡터 및 참조프레임에 대한 비용값 산출식을 나타내며, Px,y 는 현재 프레임의 (x, y)위치에서의 화소값을 나타내며 Pr x,y는 참조프레임의 (x, y)위치에서의 화소값을 나타낸다.Equations (17) and (18) represent cost value calculations for each motion vector and reference frame in each block of the error concealment mode 2, and P x, y is represented at the (x, y) position of the current frame. P r x, y represents a pixel value at the (x, y) position of the reference frame.

또한, 상기 V1부터 V8은 도 2 도시된 손실된 매크로블록 주변에 위치하는 8개의 8 × 8 크기의 주변 블록들을 의미한다. 즉, 블록 0에 대해 고려하는 움직임 벡터 후보군은 블록 0의 주변에 존재하는 V1, V2, V3, V7 블록과 ZM 벡터를 사용하고, 블록 1에 대해 고려하는 움직임 벡터 후보군은 ZM 벡터와 V4, V5, V6, V8 블록을 이용한다.In addition, the V 1 to V 8 refers to eight 8 × 8 sized blocks located around the lost macroblock shown in FIG. 2. That is, the motion vector candidate group considered for block 0 uses the V 1 , V 2 , V 3 , V 7 blocks and ZM vectors that exist around block 0, and the motion vector candidate group considered for block 1 is a ZM vector. And V 4 , V 5 , V 6 , and V 8 blocks.

상기 S50 ~ S51의 단계에 의하여 에러은닉 모드 3이 선택된 경우 에러은닉은 두개의 8 × 16의 블록 크기로 수행되며, 각 세분화된 블록(블록 0, 블록 1)에 대 하여 고려되는 움직임 벡터 및 참조 프레임 후보군에 대한 비용값의 계산은 아래의 수식 (19)과 수식 (20)을 이용하여 계산한다.When the error concealment mode 3 is selected by the steps S50 to S51, the error concealment is performed with two 8 × 16 block sizes, and the motion vector and reference considered for each subdivided block (block 0, block 1) The cost value for the frame candidate group is calculated using Equations (19) and (20) below.

Figure 112005003644938-PAT00007
Figure 112005003644938-PAT00007

이 때 각 블록(블록 0, 블록 1)에 대해 고려하는 움직임 벡터 후보군은 아래와 같다.At this time, the motion vector candidate group considered for each block (block 0, block 1) is as follows.

Block 0 : {ZM, V1, V3, V4, V5}Block 0: {ZM, V 1 , V 3 , V 4 , V 5 }

Block 1 : {ZM, V2, V6, V7, V8}Block 1: {ZM, V 2 , V 6 , V 7, V 8 }

상기 수식 (19)과 수식 (20)은 에러은닉 모드 3의 각 블록에서 각 움직임벡터 및 참조프레임에 대한 비용값 산출식을 나타내며, Px,y 는 현재 프레임의 (x, y)위치에서의 화소값을 나타내며 Pr x,y는 참조프레임의 (x, y)위치에서의 화소값을 나타낸다.Equation (19) and Equation (20) represent cost value calculations for each motion vector and reference frame in each block of error concealment mode 3, and P x, y is represented at the position (x, y) of the current frame. P r x, y represents a pixel value at the (x, y) position of the reference frame.

또한, 상기 V1부터 V8은 도 2 도시된 손실된 매크로블록 주변에 위치하는 8개의 8 × 8 크기의 주변 블록들을 의미한다. 즉, 블록 0에 대해 고려하는 움직임 벡터 후보군은 블록 0의 주변에 존재하는 V1, V3, V4, V5 블록과 ZM 벡터를 사용하고, 블록 1에 대해 고려하는 움직임 벡터 후보군은 ZM 벡터와 V2, V6, V7, V 8 블록을 이용한다.In addition, the V 1 to V 8 refers to eight 8 × 8 sized blocks located around the lost macroblock shown in FIG. 2. That is, the motion vector candidate group considered for block 0 uses the V 1 , V 3 , V 4 , V 5 blocks and ZM vectors that exist around block 0, and the motion vector candidate group considered for block 1 is a ZM vector. And V 2 , V 6 , V 7, V 8 blocks.

마지막으로, 상기 S60 ~ S61의 단계에 의하여 에러은닉 모드 4가 선택된 경우 에러은닉은 네개의 8 × 8의 블록 크기로 수행되며, 각 세분화된 블록(블록 0, 블록 1, 블록 2, 블록 3)에 대하여 고려되는 움직임 벡터 및 참조 프레임 후보군에 대한 비용값의 계산은 아래의 수식 (21)부터 수식 (24)를 이용하여 계산한다.Finally, when the error concealment mode 4 is selected by the steps of S60 to S61, the error concealment is performed in four 8 × 8 block sizes, and each subdivided block (block 0, block 1, block 2, block 3) The cost value for the motion vector and the reference frame candidate group considered for Equation 2 is calculated using Equation (21) to Equation (24) below.

Figure 112005003644938-PAT00008
Figure 112005003644938-PAT00008

이 때 각 블록(블록 0, 블록 1, 블록 2, 블록 3)에 대해 고려하는 움직임 벡터 후보군은 아래와 같다.At this time, the motion vector candidate group considered for each block (block 0, block 1, block 2, block 3) is as follows.

Block 0 : {ZM, V1, V3}Block 0: {ZM, V 1 , V 3 }

Block 1 : {ZM, V2, V7,}Block 1: {ZM, V 2 , V 7, }

Block 2 : {ZM, V4, V5}Block 2: {ZM, V 4 , V 5 }

Block 3 : {ZM, V6, V8}Block 3: {ZM, V 6 , V 8 }

상기 수식 (21)부터 수식 (24)는 에러은닉 모드 4의 각 블록에서 각 움직임벡터 및 참조프레임에 대한 비용값 산출식을 나타내며, Px,y 는 현재 프레임의 (x, y)위치에서의 화소값을 나타내며 Pr x,y는 참조프레임의 (x, y)위치에서의 화소값을 나타낸다.Equation (21) to Equation (24) represent cost value calculations for each motion vector and reference frame in each block of the error concealment mode 4, and P x, y denotes the (x, y) position at the current frame. P r x, y represents a pixel value at the (x, y) position of the reference frame.

또한, 상기 V1부터 V8은 도 2 도시된 손실된 매크로블록 주변에 위치하는 8개의 8 × 8 크기의 주변 블록들을 의미한다. 즉, 블록 0에 대해 고려하는 움직임 벡터 후보군은 블록 0의 주변에 존재하는 V1, V3 블록과 ZM 벡터를 사용하고, 블록 1에 대해 고려하는 움직임 벡터 후보군은 ZM 벡터와 V2, V7 블록을 이용하고, 블록 2에 대해 고려하는 움직임 벡터 후보군은 ZM 벡터와 V4, V5 블록을 이용하며, 블록 3에 대해 고려하는 움직임 벡터 후보군은 ZM 벡터와 V6, V8 블록을 이용한다.In addition, the V 1 to V 8 refers to eight 8 × 8 sized blocks located around the lost macroblock shown in FIG. 2. That is, the motion vector candidate group considered for block 0 uses V 1 , V 3 blocks and ZM vectors that exist in the vicinity of block 0, and the motion vector candidate group considered for block 1 includes ZM vectors, V 2 , and V 7. A motion vector candidate group considering a block and using block 2 uses ZM vectors and V 4 and V 5 blocks, and a motion vector candidate group considering block 3 uses ZM vectors and V 6 and V 8 blocks.

이상과 같은 절차에 의하여 손실된 매크로블록에 대한 에러를 은닉할 수 있다.By the above procedure, it is possible to conceal an error for a lost macroblock.

에러은닉 기법에서는 객관적 화질만큼이나 복잡도 또한 중요한 성능으로 고려되어야 한다. 이는 복호화시에 에러블록을 포함하고 있는 프레임은 에러은닉과정 이 끝난 후 다음 프레임을 복호화를 하는 과정에서 참조프레임으로 사용되기 때문이다. 따라서 높은 복잡도를 가지는 에러은닉 기법은 실시간 복호화에 상당한 영향을 미칠 수 있다.In error concealment techniques, complexity must be considered as an important performance as well as objective picture quality. This is because a frame containing an error block during decoding is used as a reference frame in decoding the next frame after the error concealment process is finished. Therefore, a high complexity error concealment technique can significantly affect real-time decoding.

본 발명은 주변 매크로블록의 모드에 따라 네가지의 블록 크기로 에러은닉을 수행한다. 각 에러은닉 모드에 따라 서로 다른 연산량을 가지며 상하좌우의 모든 매크로블록의 정보가 사용 가능한 경우 하나의 매크로블록에 대해서 각 에러은닉모드에 따른 계산량은 아래 표 1과 같다.The present invention performs error concealment with four block sizes according to the mode of the neighboring macroblocks. If each error concealment mode has a different amount of calculation and information of all macroblocks of up, down, left, and right is available, the calculation amount according to each error concealment mode for one macroblock is shown in Table 1 below.

ECModeECMode AdditionAddition SubtractionSubtraction ComparisonComparison ECMode1ECMode1 99 576576 99 ECMode2ECMode2 1010 320320 1010 ECMode3ECMode3 1010 320320 1010 ECMode4ECMode4 1212 192192 1212

- 표 1 -Table 1

만일 모든 에러블록이 에러은닉 모드 1로만 선택되는 경우 모든 에러 블록은 16 × 16 단위로 에러은닉을 수행하며 이 경우 기존의 H.264에서의 시방향 에러은닉 기법과 같은 연산량을 가진다. If all error blocks are selected as error concealment mode 1, all error blocks perform error concealment in units of 16 × 16, and in this case, they have the same amount of computation as the conventional error concealment technique in H.264.

에러은닉 모드 2, 에러은닉 모드 3, 에러은닉 모드 4의 경우에는 고려하는 움직임 벡터군을 에러은닉 모드에 따라 제한함으로써 에러은닉 모드 1보다 적은 계산량을 가진다.In the case of the error concealment mode 2, the error concealment mode 3, and the error concealment mode 4, the motion vector group under consideration is limited according to the error concealment mode and thus has a smaller amount of calculation than the error concealment mode 1.

상기 표 1에서 뺄셈개수의 차이는 단순한 감산회수 이상의 의미를 갖는다. 이는 H.264에서의 움직임 추정이 1/4 화소단위로 수행되며 후보 움직임 벡터가 1/2 또는 1/4 단위를 가질 때 참조프레임을 보간하여 뺄셈을 수행하기 때문에 보간에 사용되는 복잡도를 함께 고려하면 실제 각 모드간의 복잡도는 많은 차이를 보이게 된다.In Table 1, the difference between the number of subtractions is more than just the number of subtractions. This takes into account the complexity used in interpolation because motion estimation in H.264 is performed in units of 1/4 pixels, and subtraction is performed by interpolating the reference frame when the candidate motion vector has 1/2 or 1/4 units. In reality, the complexity of each mode shows a lot of difference.

따라서, 본 발명은 주변 매크로블록의 블록모드를 이용하여 적응적으로 에러은닉 블록 크기를 선택하고 각 에러은닉블록 모드에 따라 움직임 벡터 후보군을 제한함으로써 기존의 H.264에서 사용되는 에러은닉 기법보다 상대적으로 낮은 복잡도를 갖는다.Therefore, the present invention adaptively selects the error concealment block size using the block mode of the neighboring macroblock and restricts the motion vector candidate group according to each error concealment block mode. Has low complexity.

상기와 같은 구성 및 작용 그리고 바람직한 실시예를 가지는 본 발명인 H.264/AVC에서의 시방향(時方向) 에러 은닉 방법에 의하면, 각 에러 은닉 모드에 따라 고려하는 움직임 벡터 및 참조 프레임 정보를 손실된 매크로블록의 상하좌우에 위치한 주변 매크로블록이 포함한 정보들을 참조하여 추정하고 이에 따라 서로 다른 블록 크기로 에러 은닉을 수행함으로써, 기존의 H.264/AVC에서의 시방향 에러 은닉 방법보다 적은 연산량을 가지면서도 향상된 화질을 제공하는 효과가 있다.

According to the visual error concealment method of the present invention H.264 / AVC having the above-described configuration and operation and preferred embodiments, the motion vector and the reference frame information considered according to each error concealment mode are lost. By estimating the information contained by the macroblocks located above, below, left, and right of the macroblock, and performing error concealment with different block sizes, the computational error is less than that of the conventional error concealment method in H.264 / AVC It also has the effect of providing improved image quality.

Claims (5)

H.264에서의 시방향 에러 은닉 방법에 있어서,In the method of concealing the error in time in H.264, 손실된 매크로블록의 상하좌우에 위치하는 4개의 매크로블록 모드를 확인하는 단계;Identifying four macroblock modes located on the top, bottom, left, and right sides of the lost macroblock; 상기 확인된 상하좌우 매크로블록 모드를 이용하여 소정의 개수와 크기를 가지는 에러은닉 모드를 결정하는 단계;Determining an error concealment mode having a predetermined number and size using the identified up, down, left, and right macroblock modes; 상기 결정된 에러은닉 모드에 따라 OBMA 방법으로 움직임 벡터 및 참조프레임 정보에 대한 비용값을 산출하여 에러은닉을 수행하는 단계를 포함하여 이루어진 것을 특징으로 하는 H.264에서의 시방향 에러은닉 방법.And calculating the cost values for the motion vector and the reference frame information by the OBMA method according to the determined error concealment mode to perform error concealment. 청구항 1에 있어서, 상기 에러은닉 모드를 결정하는 단계는,The method of claim 1, wherein the determining of the error concealment mode, 상기 손실된 매크로블록의 상하 블록 중에 하나 이상이 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지고, 좌우 블록 중에 하나 이상이 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 하나의 16 × 16 단위로 에러를 은닉하는 에러은닉 모드 1로 결정되는 것을 특징으로 하는 H.264에서의 시방향 에러은닉 방법.If at least one of the upper and lower blocks of the lost macroblock has a macroblock mode other than mode 3 or mode 8, and at least one of the left and right blocks has a macroblock mode other than mode 2 or mode 8, one 16 × 16 An error concealment method in H.264, characterized in that the error concealment mode 1 conceals an error in units. 청구항 1에 있어서, 상기 에러은닉 모드를 결정하는 단계는,The method of claim 1, wherein the determining of the error concealment mode, 상기 손실된 매크로블록의 좌우블록 모두가 모드 2 또는 모드 8의 매크로블록을 가지고, 상하 블록 중 적어도 하나가 모드 3 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 16 × 8의 블록 크기로 에러를 은닉하는 에러은닉 모드 2로 결정되는 것을 특징으로 하는 H.264에서의 시방향 에러은닉 방법.When both left and right blocks of the lost macroblock have a macroblock of mode 2 or mode 8, and at least one of the upper and lower blocks has a macroblock mode other than mode 3 or mode 8, two 16 × 8 block sizes are used. A method for visual error concealment in H.264, characterized in that the error concealment mode 2 concealing errors is determined. 청구항 1에 있어서, 상기 에러은닉 모드를 결정하는 단계는,The method of claim 1, wherein the determining of the error concealment mode, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매크로블록 모드를 가지고, 좌우 블록 중 적어도 하나가 모드 2 또는 모드 8 이외의 매크로블록 모드를 가지는 경우에는 두개의 8 × 16의 블록 크기로 에러를 은닉하는 에러은닉 모드 3으로 결정되는 것을 특징으로 하는 H.264에서의 시방향 에러은닉 방법.If both of the upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8 and at least one of the left and right blocks has a macroblock mode other than mode 2 or mode 8, two 8 × 16 block sizes The error concealment method in H.264 characterized in that the error concealment mode 3 concealing the error is determined. 청구항 1에 있어서, 상기 에러은닉 모드를 결정하는 단계는,The method of claim 1, wherein the determining of the error concealment mode, 상기 손실된 매크로블록의 상하 블록 모두가 모드 3 또는 모드 8의 매크로 블록 모드를 가지고, 좌우 블록 모두가 모드 2 또는 모드 8의 매크로블록 모드를 가지는 경우에는 네개의 8 × 8 블록 크기로 에러를 은닉하는 에러은닉 모드 4로 결정되는 것을 특징으로 하는 H.264에서의 시방향 에러은닉 방법.If both the upper and lower blocks of the lost macroblock have a macroblock mode of mode 3 or mode 8, and both the left and right blocks have a macroblock mode of mode 2 or mode 8, conceal an error with four 8 × 8 block sizes. The error concealment method in H.264 characterized in that the error concealment mode 4 is determined.
KR1020050005873A 2005-01-21 2005-01-21 A temporal error concealment method in the h.264/avc standard KR20060085003A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050005873A KR20060085003A (en) 2005-01-21 2005-01-21 A temporal error concealment method in the h.264/avc standard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050005873A KR20060085003A (en) 2005-01-21 2005-01-21 A temporal error concealment method in the h.264/avc standard

Publications (1)

Publication Number Publication Date
KR20060085003A true KR20060085003A (en) 2006-07-26

Family

ID=37174855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005873A KR20060085003A (en) 2005-01-21 2005-01-21 A temporal error concealment method in the h.264/avc standard

Country Status (1)

Country Link
KR (1) KR20060085003A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100923950B1 (en) * 2007-11-15 2009-10-29 한국전자통신연구원 The apparatus and method for recovering loss of video frame based H.264/AVC
KR101366244B1 (en) * 2007-04-24 2014-02-21 삼성전자주식회사 Method and apparatus for error concealment of image using residual data
CN111010583A (en) * 2019-11-29 2020-04-14 杭州电子科技大学 Self-adaptive multi-view video error concealment method based on residual error blocking
WO2023197932A1 (en) * 2022-04-11 2023-10-19 维沃移动通信有限公司 Video frame error hiding method and apparatus, electronic device, and medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366244B1 (en) * 2007-04-24 2014-02-21 삼성전자주식회사 Method and apparatus for error concealment of image using residual data
KR100923950B1 (en) * 2007-11-15 2009-10-29 한국전자통신연구원 The apparatus and method for recovering loss of video frame based H.264/AVC
CN111010583A (en) * 2019-11-29 2020-04-14 杭州电子科技大学 Self-adaptive multi-view video error concealment method based on residual error blocking
WO2023197932A1 (en) * 2022-04-11 2023-10-19 维沃移动通信有限公司 Video frame error hiding method and apparatus, electronic device, and medium

Similar Documents

Publication Publication Date Title
JP6863669B2 (en) Image coding device, image coding method, image decoding device and image decoding method
KR100956478B1 (en) Moving image decoding device and moving image decoding mehtod
CA2703775C (en) Method and apparatus for selecting a coding mode
KR101293086B1 (en) Localized weighted prediction handling video data brightness variations
KR100679031B1 (en) Method for encoding/decoding video based on multi-layer, and apparatus using the method
US20100118945A1 (en) Method and apparatus for video encoding and decoding
KR101420957B1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR100643819B1 (en) Parameterization for fading compensation
EP1359765B1 (en) Fading estimation/compensation in video encoding
MXPA06002525A (en) Coding and decoding for interlaced video.
KR20050045746A (en) Method and device for motion estimation using tree-structured variable block size
KR20050105271A (en) Video encoding
JP2007503776A (en) Method and apparatus for minimizing the number of reference images used for inter coding
JP2010534015A (en) Image processing method and corresponding electronic device
KR100856392B1 (en) Video Encoding and Decoding Apparatus and Method referencing Reconstructed Blocks of a Current Frame
KR100669897B1 (en) A fast macroblock mode selection method in H.264/AVC
WO2009133845A1 (en) Video encoding/decoding device and method
KR20170114598A (en) Video coding and decoding methods using adaptive cross component prediction and apparatus
KR20060085003A (en) A temporal error concealment method in the h.264/avc standard
KR101529903B1 (en) Block-based depth map coding method and apparatus and 3D video coding method using the method
KR100807330B1 (en) Method for skipping intra macroblock mode of h.264/avc encoder
Yang et al. Description of video coding technology proposal by Huawei Technologies & Hisilicon Technologies
Suzuki et al. Block-based reduced resolution inter frame coding with template matching prediction
KR20040110755A (en) Method of and apparatus for selecting prediction modes and method of compressing moving pictures by using the method and moving pictures encoder containing the apparatus and computer-readable medium in which a program for executing the methods is recorded
KR100801155B1 (en) A spatial error concealment method with low complexity in h. 264/avc video coding

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application