KR20070090494A - Inter frame error concealment method and apparatus using the average motion vector - Google Patents

Inter frame error concealment method and apparatus using the average motion vector Download PDF

Info

Publication number
KR20070090494A
KR20070090494A KR1020060020266A KR20060020266A KR20070090494A KR 20070090494 A KR20070090494 A KR 20070090494A KR 1020060020266 A KR1020060020266 A KR 1020060020266A KR 20060020266 A KR20060020266 A KR 20060020266A KR 20070090494 A KR20070090494 A KR 20070090494A
Authority
KR
South Korea
Prior art keywords
error
motion vector
block
error concealment
average motion
Prior art date
Application number
KR1020060020266A
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 KR1020060020266A priority Critical patent/KR20070090494A/en
Publication of KR20070090494A publication Critical patent/KR20070090494A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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

A method and an apparatus for concealing inter frame errors by using an average motion vector are provided to remove a calculation process related to a side match distortion value, ensure image quality similar to an existing method and improve its processing rate. An apparatus(300) for concealing inter frame errors by using an average motion vector comprises the following parts: a decoder(310) for restoring an inputted bit stream into a video frame; an error detector(320) for detecting an error block from the restored video frame; a peripheral block effectiveness determiner(330) for determining whether peripheral blocks of the error block are normally decoded; and an error concealer(340) which calculates the average motion vector for the effective peripheral blocks and conceals the error block by using a block of a reference frame corresponding to the calculated average motion vector.

Description

평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치 및 방법{INTER FRAME ERROR CONCEALMENT METHOD AND APPARATUS USING THE AVERAGE MOTION VECTOR}Interframe error concealment apparatus and method using average motion vector {INTER FRAME ERROR CONCEALMENT METHOD AND APPARATUS USING THE AVERAGE MOTION VECTOR}

도 1a는 주변 블록들의 값을 에러 블록을 보간하는 방법을 나타낸 예시도,1A is an exemplary diagram illustrating a method of interpolating an error block with values of neighboring blocks;

도 1b는 에러 블록을 이전 영상 프레임의 블록으로 채워 넣은 방법을 나타낸 예시도,1B is an exemplary diagram illustrating a method of filling an error block with blocks of a previous image frame;

도 2는 움직임 벡터를 이용한 에러 은닉 과정을 설명하기 위한 예시도,2 is an exemplary diagram for explaining an error concealment process using a motion vector;

도 3은 본 발명에 따른 에러 은닉 장치를 나타낸 개략적 구성도,3 is a schematic structural diagram showing an error concealment apparatus according to the present invention;

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

도 5a 내지 도 5c는 본 발명의 [실험예 1]을 설명하기 위한 캡쳐 화면도,5A to 5C are capture screen diagrams for explaining [Experimental Example 1] of the present invention;

도 6a 내지 도 6c는 본 발명의 [실험예 2]를 설명하기 위한 캡쳐 화면도,6a to 6c is a capture screen diagram for explaining [Experimental Example 2] of the present invention,

도 7a 내지 도 7c는 본 발명의 [실험예 3]을 설명하기 위한 캡쳐 화면도.7A to 7C are capture screen diagrams for explaining [Experimental Example 3] of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

300 : 본 발명의 에러 은닉 장치300: error concealment apparatus of the present invention

310 : 디코딩 수단 320 : 에러 검출 수단310: decoding means 320: error detecting means

330 : 주변 블록 유효성 판단 수단330: neighboring block validity determination means

340 : 에러 은닉 수단 M : 참조 메모리 수단340: error concealment means M: reference memory means

본 발명은 에러 은닉 장치 및 그 방법에 관한 것으로서, 특히 에러가 발생한 매크로블록의 주변 블록들에 대한 움직임 벡터로부터 산출된 평균값을 기반으로 인터 프레임 간 에러를 은닉하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an error concealment apparatus and a method thereof, and more particularly, to an apparatus and method for concealing inter-frame errors based on an average value calculated from motion vectors of neighboring blocks of a macroblock in which an error occurs.

H.264 또는 MPEG4의 경우 동영상을 압축 부호화하기 위해 영상 데이터를 매크로블록(MB: macro block) 단위로 분할하여 처리하는데, 부호화(encoding)의 경우는 움직임 예측 및 보상과 이산 코사인 변환(DCT), DCT계수의 양자화 그리고 가변 길이 부호화(VLC)를 포함하며, 복호화(decoding)의 경우는 전술한 부호화의 역과정으로서 역 양자화, 역 DCT, 움직임 예측 및 보상 과정 등을 포함한다.In the case of H.264 or MPEG4, video data is divided and processed into macroblock (MB) units to compress and encode a video. In encoding, motion prediction and compensation, discrete cosine transform (DCT), Quantization of the DCT coefficient and variable length coding (VLC) are included, and decoding includes inverse quantization, inverse DCT, motion prediction, and compensation as the inverse of the above-described encoding.

이와 같이 압축된 영상(동영상) 전송에 따른 문제점 중의 하나는, 전송 채널 상의 오류가 발생하면 전송되는 영상 프레임의 일부 또는 최악의 경우 전부가 손실되어 영상의 화질이 크게 저하되는 것이다. 특히 하나의 프레임에 오류가 생기면 이를 참조하여 복원되는 다른 프레임들에 까지 그 영향이 미치게 된다.One of the problems associated with the transmission of the compressed video (video) is that if an error occurs on the transmission channel, part or worst case of the transmitted video frame is lost, and thus the image quality of the video is greatly deteriorated. In particular, if an error occurs in one frame, the effect is applied to other frames which are restored by referring to the same.

특히, 상술한 바와 같이 H.264 동영상 압축 표준에 포함된 가변 길이 부호화(VLC), 움직임 예측 부호화(motion predictive coding)와 같은 세부 기술(또는 알고리즘)은 종래의 압축 표준, 예컨대 MPEG-2/4에 보다 높은 압축 효율을 보장하고 있으나, 상기한 바와 같이 에러 발생 가능성이 높은 채널에서는 매우 취약하다는 단점이 있다. 이를 구체적으로 살피면, 가변 길이 부호화의 경우 단지 한 비트(bit)의 에러에 의해서도 복호화 도중에 동기를 잃어버리게 되며, 움직임 예측 부호화의 경우 화면 내 참조영상(intra coded slice)이 나올 때까지 에러를 전파(error propagation)하는 단점이 있다.In particular, detailed techniques (or algorithms), such as variable length coding (VLC) and motion predictive coding, included in the H.264 video compression standard, as described above, may be used in conventional compression standards such as MPEG-2 / 4. Although it guarantees a higher compression efficiency, as described above, there is a disadvantage that it is very vulnerable in a channel having a high probability of error. Specifically, in the case of variable length coding, synchronization is lost during decoding even by only one bit of error, and in the case of motion prediction coding, an error is propagated until an intra coded slice appears. error propagation).

이러한 문제점을 고려하여 복호화된 영상의 화질을 일정 수준 이상으로 유지하기 위해 에러 검출(error detection) 기법과 에러 은닉(error concealment) 기법에 대한 연구가 활발히 진행되어 왔다. 예를 들면 블록(매크로블록) 단위로 디지털 영상신호를 송수신하는 시스템에서 에러를 검출할 경우에는 부호화 신택스(syntax) 정보를 이용해서 해당 데이터가 신택스 정보를 벗어나는 경우를 에러로 간주하고, 에러가 발생된 블록에 대해서는 시간적 혹은 공간적 은닉 기법을 이용하여 보정을 수행함으로써 최종 영상의 화질을 보장하고 있다.In consideration of such a problem, in order to maintain the quality of the decoded image at a certain level or more, researches on error detection and error concealment techniques have been actively conducted. For example, when an error is detected in a system that transmits and receives a digital video signal in units of blocks (macroblocks), an error occurs when the corresponding data deviates from the syntax information by using encoded syntax information and an error occurs. The corrected blocks are corrected by using temporal or spatial concealment techniques to guarantee the final image quality.

전술한 바와 같이 신택스 정보를 이용한 에러 검출은, 블록 단위의 영상신호 처리시 움직임 벡터(MV: motion vector)가 특정 범위에서 벗어나는 경우나, 가변 길이 부호화(VLC) 테이블에서 벗어나는 경우, 또는 DCT 계수가 특정 범위를 벗어나는 경우, 그리고 한 블록 내에 DCT 계수가 특정 개수를 벗어나는 경우를 그 예로 들 수 있다.As described above, error detection using syntax information includes a case in which a motion vector (MV) is out of a specific range, a variable length coding (VLC) table, or a DCT coefficient is lost when processing a video signal in a block unit. For example, the case may be out of a specific range, and the DCT coefficient is out of a certain number in one block.

한편 상기한 에러 은닉 방법은, 크게 공간적 유사성을 이용한 에러 은닉 방법(SEC: spatial error concealment)과 시간적 상관관계를 에러 은닉 방법(TEC: temporal error concealment)으로 대분될 수 있으며, 이들은 하나의 영상 프레임에 있어서 인접 블록 간에는 상관성이 높고 또한 인접 시간대의 영상 프레임 간에 있어서도 상관성이 높다는 것을 전제로 하고 있다.Meanwhile, the error concealment method described above can be largely divided into an error concealment method (SEC) using temporal similarity and a temporal error concealment (TEC) method. Therefore, it is assumed that the correlation between the adjacent blocks is high and the correlation between the video frames in the adjacent time zone is high.

도 1a는 에러가 발생한 블록(이하, '에러 블록')을 그 주변에 이웃한 블록들의 값을 이용하여 보간하는 방법을 나타낸 예시도로서, 상기 공간적 에러 은닉 방법(SEC)을 개략적으로 표현하고 있다. 즉, 하나의 영상 프레임에서 에러 블록과 공간적 유사성을 갖는 주변 블록의 정보를 근간으로 에러 블록을 은닉하는 것이다. 이때 보간에 사용되는 상기 주변 블록은 정상적으로 디코딩된 블록이어야 한다.FIG. 1A is an exemplary diagram illustrating a method of interpolating a block in which an error occurs (hereinafter referred to as an 'error block') using values of neighboring blocks, and schematically illustrates the spatial error concealment method (SEC). . That is, the error block is concealed based on information of neighboring blocks having spatial similarity with the error block in one image frame. In this case, the neighboring block used for interpolation should be a normally decoded block.

도 1b는 에러 블록을 이전 영상 프레임의 해당 위치의 블록으로 채워 넣은 방법을 나타낸 예시도로서, 에러가 발생한 영상 프레임(n frame)과 이전 영상 프레임(n-1 frame) 간의 시간적인 유사성을 이용한 상기 시간적 에러 은닉(TEC) 방법을 표현하고 있다. 여기서 이전 영상 프레임으로부터 소정 블록을 가져와 에러 블록을 대체하기 위해서는 에러 블록의 움직임 벡터(MV: motion vector)를 추정해야 한다. 이 움직임 벡터는 주변 블록들의 움직임 벡터를 이용하여 추정하게 되고, 추정된 움직임 벡터에 상응하는 이전 영상 프레임(n-1 frame)의 블록을 에러 블록에 대체시키는 과정이 이루어진다.FIG. 1B is a view illustrating a method of filling an error block with a block of a corresponding position of a previous image frame, and using the temporal similarity between an n-frame and an n-1 frame in which an error occurs. Represents a temporal error concealment (TEC) method. In this case, in order to replace an error block by taking a predetermined block from a previous image frame, a motion vector (MV) of the error block must be estimated. The motion vector is estimated using the motion vectors of the neighboring blocks, and a process of replacing a block of the previous image frame (n-1 frame) corresponding to the estimated motion vector with an error block is performed.

부연하면 상술한 공간적 에러 은닉(SEC) 방법은 주로 I-프레임(intra frame), 즉 현재 영상 프레임에 대한 비트 스트림 내의 데이터만으로 복호화가 가능한 화면에서 에러가 발생한 경우에 적용되고, 시간적 에러 은닉(TEC) 방법은 주로 P-프레임(predictive frame, inter frame), 즉 이전 영상 프레임을 참조하여 복호화되는 화면에서 에러가 발생한 경우에 적용되는 것이다.In other words, the above-described spatial error concealment (SEC) method is mainly applied when an error occurs in an I-frame, i.e., a picture that can be decoded using only data in a bit stream for a current video frame, and temporal error concealment (TEC). ) Is mainly applied when an error occurs in a P-frame (predictive frame, inter frame), that is, a screen decoded with reference to a previous image frame.

전술한 시간적 에러 은닉(TEC) 방법 중, H.264의 인터 프레임 에러 은닉(inter-frame error concealment)을 상세히 살피면, BMA(Boundary Matching Algorithm)를 기반으로 하는데, 경계 부분 왜곡(side match distortion)을 최소화 할 수 있는 참조 영상 프레임의 블록을 찾고, BMA 매칭 기준에 따라 후보 움직임 벡터(MV) 사이에서 왜곡을 최소화 하는 것을 선택하거나, SMT(Side Matching Technique)를 기반으로 현재 영상 프레임의 에러 블록과 후보 움직임 벡터로 찾은 참조 영상 프레임 상의 블록의 절대값 차이를 계산하여 선택하는 과정을 거친다.Among the above-described temporal error concealment (TEC) methods, when the inter-frame error concealment of H.264 is examined in detail, it is based on BMA (Boundary Matching Algorithm). Find blocks of reference picture frames that can be minimized, choose to minimize distortion among candidate motion vectors (MVs) according to BMA matching criteria, or error blocks and candidates of current picture frames based on side matching techniques (SMT). The difference between the absolute values of the blocks on the reference image frame found by the motion vector is calculated and selected.

상기 경계 부분 왜곡은 아래의 [수학식1]과 같이 dsm 으로 표현될 수 있다.The boundary portion distortion may be represented by d sm as shown in Equation 1 below.

[수학식 1][Equation 1]

Figure 112006015394046-PAT00001
Figure 112006015394046-PAT00001

여기서, N은 dsm 을 구하는데 쓰인 총 픽셀(pixel)의 수이고, 'IN'(도 2 참조)에 위치한

Figure 112006015394046-PAT00002
는 인접한 블록 간에 경계와 맞닿아 있는 블록의 움직임 벡터를 가지고 움직임 보상을 통해 얻은 블록의 픽셀 값이며, 'OUT'에 위치한
Figure 112006015394046-PAT00003
는 복원하려는 블록의 경계와 맞닿아 있는 이웃하는 블록들의 픽셀 값을 의미한다.Where N is the total number of pixels used to find d sm and is located at 'IN' (see FIG. 2).
Figure 112006015394046-PAT00002
Is the pixel value of the block obtained by motion compensation with the motion vector of the block that is in contact with the boundary between adjacent blocks, and is located at 'OUT'.
Figure 112006015394046-PAT00003
Denotes pixel values of neighboring blocks that are in contact with the boundary of the block to be restored.

이때, 도 2에서와 같이 에러가 발생한 블록 주변 8개의 주변 블록 중 좌, 우, 상, 하 블록(①, ②, ③, ④)을 다시 4개로 분할하고 그 중 최소 2개 최대 8개의 후보 움직임 벡터(MV)를 사용하여 dsm 을 산출하게 되는데, 상기 [수학식 1]을 고찰 해 보면 16×16 크기의 블록 1개에 대한 dsm 을 계산하기 위해 'IN' 블록과 'OUT' 블록의 절대값 차이를 산출하게 된다. 여기서 위(Top, T), 아래(Bottom, B), 좌(Left, L), 우(Right, R) 각각 16픽셀로 총 64번의 연산이 이루어지며, 1회의 연산이 수행될 때마다 픽셀 값의 차이를 계산하는 뺄셈 연산 1회, 절대값 연산 1회, 나눗셈 연산 1회로 픽셀별 총 3회의 연산이 수행된다.At this time, the left, right, up, and down blocks (①, ②, ③, ④) of the eight neighboring blocks around the block in which the error occurs as shown in FIG. 2 are divided into four again, and at least two of the eight candidates are moved. Using the vector (MV) to calculate the d sm , [Equation 1] is to calculate the d sm for one block of 16 × 16 size of the 'IN' block and 'OUT' block The absolute difference is calculated. Here, a total of 64 operations are performed with 16 pixels each of Top, T, Bottom, B, Left, L, and Right, and each pixel is executed. One subtraction operation, one absolute value operation, and one division operation for calculating the difference of three times are performed per pixel.

따라서 dsm 을 계산하기 위한 블록 당 연산횟수는 64픽셀×3으로 192번이 되며, H.264는 후보 움직임 벡터를 최대 8개까지 사용하므로 최대 연산횟수는 192×8=1,536회에 달한다.Therefore, the number of operations per block to calculate d sm is 64 pixels × 3, which is 192 times. Since H.264 uses up to 8 candidate motion vectors, the maximum number of operations is 192 × 8 = 1,536 times.

물론, 다수개의 후보 움직임 벡터를 이용하여 최적의 블록을 찾아 화질 열화를 최소화함과 더불어 에러를 은닉한다는 장점이 있으나, 그에 따른 연산횟수는 인터 프레임 에러 은닉을 수행하는 장치, 특히 이동통신 단말기의 경우 실행 속도 측면에서 과부하 요인으로 작용될 수 있다. 더욱이 실시간 응답이 요구되는 환경에서는 묵과할 수 없는 불안 요소로 작용될 수도 있음은 자명하다.Of course, there is an advantage of minimizing image deterioration and concealing errors by finding an optimal block using a plurality of candidate motion vectors, but the number of operations according to this is an apparatus that performs interframe error concealment, in particular, a mobile communication terminal. It can be an overload factor in terms of execution speed. Moreover, it is obvious that the environment may require anxiety that cannot be tolerated in an environment requiring real-time response.

본 발명은 전술한 문제점을 해결하기 위해 창안된 것으로서, 경계 부분 왜곡(dsm)에 관련한 계산 과정이 필요치 않으며, 종래 방식 대비 유사한 화질 수준을 보장하면서도 그 처리속도를 향상시킬 수 있는 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치 및 방법을 제공한다.The present invention was devised to solve the above-described problem, and does not require a calculation process for boundary distortion (d sm ), and provides an average motion vector that can improve the processing speed while ensuring a similar image quality level compared to the conventional method. An inter frame error concealment apparatus and method are provided.

본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.The features and advantages of the present invention will become more apparent from the following detailed description based on the accompanying drawings. Prior to this, the terms or words used in the present specification and claims are defined in the technical spirit of the present invention on the basis of the principle that the inventor can appropriately define the concept of the term in order to explain his invention in the best way. It should be interpreted to mean meanings and concepts. In addition, when it is determined that the detailed description of the known function and its configuration related to the present invention may unnecessarily obscure the subject matter of the present invention, it should be noted that the detailed description is omitted.

도 3은 본 발명에 따른 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치(이하, '에러 은닉 장치')(300)를 나타낸 개략적 구성도로서, 도시된 바와 같이 본 발명의 에러 은닉 장치(300)는, 입력되는 영상 비트스트림(bit stream)을 영상 프레임으로 복원하는 디코딩 수단(310)과, 복원된 영상 프레임에서 에러가 발생한 매크로블록(이하, '에러 블록')을 검출하는 에러 검출 수단(320)과, 에러 블록의 주변 블록들이 올바르게 복호화 되었는지 여부를 판단하는 주변 블록 유효성 판단 수단(330)과, 주변 블록들에 대한 평균 움직임 벡터를 산출하고 이에 상응하는 참조 프레임의 매크로블록을 이용하여 에러를 은닉한 후, 에러가 은닉된 영상 프레임을 출력하는 에러 은닉 수단(340), 및 다수의 복호화된 영상 프레임을 저장하는 참조 메모리 수단(M)을 포함한다.3 is a schematic block diagram showing an inter frame error concealment apparatus (hereinafter, 'error concealment apparatus') 300 using an average motion vector according to the present invention. As shown in FIG. Decoding means 310 for reconstructing the input image bit stream into an image frame, and error detection means 320 for detecting a macroblock (hereinafter, referred to as an "error block") in which an error occurs in the reconstructed image frame. And the neighboring block validity determining means 330 for determining whether the neighboring blocks of the error block are correctly decoded, and calculating an average motion vector for the neighboring blocks and concealing the error using the corresponding macroblock of the reference frame. And error concealment means 340 for outputting the error concealed image frame, and reference memory means M for storing a plurality of decoded image frames.

여기서 상기 에러 블록의 주변 블록들이 후보 움직임 벡터로 이용되며, 블록 (매크로블록, MB)은 16×16픽셀의 크기를 갖는 것으로 설정한다. 따라서 후보 움직임 벡터는 16×16 모드일 때 4개가 되며, 8×8 모드인 경우에는 8개가 된다. 즉, 본 발명에서 이용되는 후보 움직임 벡터는 4 내지 8개이다.Here, neighboring blocks of the error block are used as candidate motion vectors, and a block (macroblock, MB) is set to have a size of 16 × 16 pixels. Therefore, there are four candidate motion vectors in 16x16 mode and eight in 8x8 mode. That is, four to eight candidate motion vectors are used in the present invention.

또한 후보 움직임 벡터는 에러 검출 수단(320)에 의해 검출된 에러 블록의 주변 블록으로부터 선택되며, 바람직하게는 상기 주변 블록 유효성 판단 수단(330)에 의해 올바르게 복호화된 주변 블록들로부터 선택된다.Also, the candidate motion vector is selected from the neighboring blocks of the error block detected by the error detecting means 320, and preferably from the neighboring blocks correctly decoded by the neighboring block validity determining means 330.

본 발명의 특징적인 양상에 따른 에러 은닉 수단(340)의 기능을 설명하기 위해, 앞서 언급한 BMA 기반의 인터 프레임 에러 은닉 방법을 수학식으로 살펴보면 다음과 같다.

Figure 112006015394046-PAT00004
를 각각 매크로블록의 수직과 수평 좌표라 하고,
Figure 112006015394046-PAT00005
를 매크로블록
Figure 112006015394046-PAT00006
의 픽셀 좌표라 할 때, 상기 매크로블록
Figure 112006015394046-PAT00007
의 픽셀 좌표는
Figure 112006015394046-PAT00008
,
Figure 112006015394046-PAT00009
로 표현할 수 있다. In order to explain the function of the error concealment means 340 according to the characteristic aspect of the present invention, the above-described BMA-based interframe error concealment method will be described as follows.
Figure 112006015394046-PAT00004
Are the vertical and horizontal coordinates of the macroblock,
Figure 112006015394046-PAT00005
Macroblock
Figure 112006015394046-PAT00006
When the pixel coordinate of the macroblock,
Figure 112006015394046-PAT00007
The pixel coordinate of is
Figure 112006015394046-PAT00008
,
Figure 112006015394046-PAT00009
Can be expressed as

Figure 112006015394046-PAT00010
는 현재 영상 프레임의
Figure 112006015394046-PAT00011
좌표에 있는 픽셀 값을 나타내며,
Figure 112006015394046-PAT00012
는 참조 프레임의
Figure 112006015394046-PAT00013
좌표에 있는 픽셀 값을 나타낸다. 움직임 벡터가
Figure 112006015394046-PAT00014
일 때, 참조 프레임에서 수직, 수평 방향으로 각각
Figure 112006015394046-PAT00015
,
Figure 112006015394046-PAT00016
만큼 이동한 매크로블록의 픽셀 좌표
Figure 112006015394046-PAT00017
Figure 112006015394046-PAT00018
,
Figure 112006015394046-PAT00019
이다.
Figure 112006015394046-PAT00020
를 각각 위, 아래, 왼쪽, 오른쪽 경계 방향의 경계 왜곡치(boundary match distortion)이라 하면, 움직임 벡터
Figure 112006015394046-PAT00021
에 대한 경계 왜곡치들은 다음과 같다.
Figure 112006015394046-PAT00010
Of the current video frame
Figure 112006015394046-PAT00011
Represents a pixel value in coordinates.
Figure 112006015394046-PAT00012
Of the reference frame
Figure 112006015394046-PAT00013
Represents a pixel value in coordinates. Motion vector
Figure 112006015394046-PAT00014
In the vertical and horizontal directions in the reference frame, respectively.
Figure 112006015394046-PAT00015
,
Figure 112006015394046-PAT00016
Pixel coordinates of macroblock moved by
Figure 112006015394046-PAT00017
Is
Figure 112006015394046-PAT00018
,
Figure 112006015394046-PAT00019
to be.
Figure 112006015394046-PAT00020
Is a boundary match distortion in the up, down, left, and right boundary directions, respectively,
Figure 112006015394046-PAT00021
The boundary distortion values for are as follows.

Figure 112006015394046-PAT00022
Figure 112006015394046-PAT00022

경계 왜곡치는 이들

Figure 112006015394046-PAT00023
의 합으로 산출되며, 그 중 가장 작은 경계 왜곡치를 갖는 움직임 벡터를 에러 은닉을 위한 움직임 벡터로 선택하게 된다. 그러나 전술한 바와 같이 후보 움직임 벡터를 최대 8개까지 사용하는 경우 최대 연산횟수는 192×8=1,536회에 달한다.Boundary distortion
Figure 112006015394046-PAT00023
The motion vector having the smallest boundary distortion value is selected as the motion vector for error concealment. However, as described above, when up to eight candidate motion vectors are used, the maximum number of operations reaches 192 × 8 = 1,536 times.

반면에 본 발명의 에러 은닉 수단(340)은, 후보 움직임 벡터(에러 블록의 올바른 주변 블록의 움직임 벡터)들로부터 평균 움직임 벡터를 산출하고, 산출된 평균 움직임 벡터에 상응하는 참조 프레임의 매크로블록을 에러 은닉에 이용한다.On the other hand, the error concealment means 340 of the present invention calculates an average motion vector from the candidate motion vectors (the motion vectors of the correct neighboring blocks of the error block), and extracts the macroblock of the reference frame corresponding to the calculated average motion vector. Used for error concealment.

후보 움직임 벡터 중에서 m 번째 모션 벡터를

Figure 112006015394046-PAT00024
라 하고, 후보 움직임 벡터의 개수가 n 일 때, 상기 평균 움직임 벡터(
Figure 112006015394046-PAT00025
)는 다음의 [수학식 2]로 산출될 수 있다.M-th motion vector of the candidate motion vectors
Figure 112006015394046-PAT00024
When the number of candidate motion vectors is n, the average motion vector (
Figure 112006015394046-PAT00025
) Can be calculated by the following Equation 2.

[수학식 2][Equation 2]

Figure 112006015394046-PAT00026
Figure 112006015394046-PAT00026

즉, 본 발명은 전술한 경계 왜곡치를 산출하는 일련의 과정 없이 [수학식 2]를 통해 산출된 평균 움직임 벡터를 이용하여 인터 프레임 에러 은닉을 수행하게 된다. 참고적으로 상기 후보 움직임 벡터의 개수(n)는 주변 블록 유효성 판단 수단(330)에 의해 용이하게 계수될 수 있다.That is, the present invention performs interframe error concealment using the average motion vector calculated through Equation 2 without the above-described process of calculating the boundary distortion value. For reference, the number n of the candidate motion vectors may be easily counted by the neighboring block validity determining means 330.

도 4를 참조하여 상술한 일련의 에러 은닉 과정을 살펴보면, 디코딩 수단(310)이 입력되는 비트스트림을 영상 프레임으로 복원하고(S410), 에러 검출 수단(320)이 복원된 영상 프레임에서 에러 블록(에러가 발생한 매크로블록)을 검출한 후(S420), 주변 블록 유효성 판단 수단(330)이 상기 제 S420 단계에서 검출된 에러 블록의 주변 블록이 정상적으로 복호화 되었는지 그 유효성 여부를 판단한다(S430).Referring to FIG. 4, a series of error concealment processes described above will be described. The decoding means 310 restores an input bitstream to an image frame (S410), and the error detecting means 320 generates an error block in the restored image frame. After detecting the macroblock in which an error has occurred (S420), the neighboring block validity determining unit 330 determines whether the neighboring block of the error block detected in the step S420 is normally decoded (S430).

이어서 에러 은닉 수단(340)은 전술한 [수학식 2]에 근거하여 유효한 주변 블록들의 평균 움직임 벡터를 산출하고(S440), 산출된 평균 움직임 벡터에 상응하는 블록을 참조 프레임(바람직하게는 참조 메모리 수단에 임시 저장되어 있음)에서 추출하여 이를 에러 블록에 삽입함으로써 에러 은닉을 수행한다(S450). Subsequently, the error concealment means 340 calculates an average motion vector of valid neighboring blocks based on Equation 2 described above (S440), and references a block corresponding to the calculated average motion vector with a reference frame (preferably a reference memory). The error concealment is performed by extracting the data from the temporary block, and inserting it into the error block (S450).

한편, 이러한 과정(S410~S450)은 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체 형식으로 저장될 수도 있다. On the other hand, the process (S410 ~ S450) is implemented as a program, it may be stored in a computer-readable recording medium format.

이하에서는 몇 가지 실험예들을 통해 본 발명에 의한 인터 프레임 에러 은닉 방법과 H.264의 인터 프레임 에러 은닉 방법을 보다 면밀히 고찰해 본다.Hereinafter, the inter frame error concealment method and the H.264 inter frame error concealment method according to the present invention will be considered in detail through several experimental examples.

[실험예 1] - 'Mother and Daughter' 시뮬레이션.Experimental Example 1-'Mother and Daughter' simulation.

본 실험예에서는 QP를 22, GOP는 I, P로만 설정하여 100프레임으로 인코딩한 뒤, P-프레임의 슬라이스 2개 중 1개에 패킷 손실을 발생시켰으며, 총 100 프레임 중 패킷 로스(packet loss)를 적용시킨 프레임은 50개(P-프레임에만 적용)이다.In this experimental example, QP is set to 22 and GOP is set to I and P, and then encoded into 100 frames, and packet loss occurs in one of two slices of the P-frame. ) Is 50 frames (applies only to P-frames).

도 5a는 상술한 패킷 로스가 발생한 'Mother and Daughter' 영상을 보이고 있으며, 도 5b는 H.264의 기본 제공 에러 은닉 방법이 적용된 후의 영상을 보이고 있고, 도 5c는 본 발명에 따른 에러 은닉 방법이 적용된 후의 영상을 보이고 있다.FIG. 5A shows an image of 'Mother and Daughter' in which the above packet loss occurs, FIG. 5B shows an image after the H.264 built-in error concealment method is applied, and FIG. 5C shows an error concealment method according to the present invention. The image after application is shown.

[실험예 2] - 'Foreman' 시뮬레이션.Experimental Example 2-'Foreman' simulation.

본 실험예는 [실험예 1]에서와 같은 동일 조건으로 시뮬레이션을 수행하였으며, 도 6a는 에러 은닉이 수행되기 전의 영상을, 도 6b는 H.264의 기본 제공 에러 은닉 방법이 적용된 후의 영상을, 그리고 도 6c는 본 발명에 따른 에러 은닉 방법이 적용된 후의 영상을 보이고 있다.In this Experimental Example, the simulation was performed under the same conditions as in [Experimental Example 1], FIG. 6A is an image before error concealment is performed, and FIG. 6B is an image after the H.264 built-in error concealment method is applied. 6C shows an image after the error concealment method according to the present invention is applied.

[실험예 3] - 'Bus-cif.yuv' 시뮬레이션.Experimental Example 3-'Bus-cif.yuv' simulation.

본 실험예에서는 QP를 16, GOP를 I, P로만 구성하여 총 100 프레임을 인코딩 한 뒤, P-프레임의 슬라이스 2개 중 1개에 패킷 로스를 발생시켰다. 패킷 로스가 적용된 프레임은 P-프레임만으로 100개의 프레임 중 50개 프레임이다.In this experimental example, a total of 100 frames were formed by configuring only the QP and the GOP as I and P, and packet loss was generated in one of two slices of the P-frame. The frame to which packet loss is applied is 50 frames out of 100 frames using only P-frames.

첨부된 도 7a는 에러 은닉이 수행되기 전의 영상이며, 도 7b는 H.264 기본 제공 에러 은닉 방법이 적용된 후의 영상이고, 그리고 도 7c는 본 발명에 따른 에러 은닉 방법이 적용된 후의 영상이다.7A is an image before error concealment is performed, FIG. 7B is an image after the H.264 basic error concealment method is applied, and FIG. 7C is an image after the error concealment method according to the present invention is applied.

[실험예 1] 내지 [실험예 3]에서 보이는 바와 같이 H.264 표준의 기본 에러 은닉 방법을 적용한 후의 영상과, 본 발명의 평균 움직임 벡터를 이용한 에러 은닉 방법이 적용된 후의 영상의 전반적인 화질은 눈으로 식별할 수 없을 정도로 매우 유사하다는 것을 알 수 있다.As shown in [Experimental Example 1] to [Experimental Example 3], the overall image quality of the image after applying the H.264 standard error concealment method and the image after the error concealment method using the average motion vector of the present invention is applied It can be seen that they are so similar that they cannot be identified.

이와 같은 본 발명에 따르면, 경계 왜곡치에 관련한 계산이 필요치 않으며, 종래 방식(H.264의 기본 에러 은닉 방법)에 비해 유사한 화질 수준을 보장하면서도 그 처리속도를 향상시킬 수 있다.According to the present invention, no calculation related to the boundary distortion value is required, and the processing speed can be improved while ensuring a similar image quality level as compared with the conventional method (basic error concealment method of H.264).

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서, 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다. As described above and described with reference to a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as described above, it is a deviation from the scope of the technical idea It will be understood by those skilled in the art that many modifications and variations can be made to the invention without departing from the scope of the invention. Accordingly, all such suitable changes and modifications and equivalents should be considered to be within the scope of the present invention.

Claims (5)

인터 프레임 에러 은닉을 위한 장치로서,An apparatus for inter frame error concealment, 입력되는 비트스트림을 영상 프레임으로 복원하는 디코딩 수단;Decoding means for reconstructing the input bitstream into an image frame; 복원된 영상 프레임에서 에러 블록을 검출하는 에러 검출 수단;Error detecting means for detecting an error block in the reconstructed image frame; 상기 에러 블록의 주변 블록들이 올바르게 복호화 되었는지 여부를 판단하는 주변 블록 유효성 판단 수단; 및 Neighboring block validity determining means for determining whether neighboring blocks of the error block are correctly decoded; And 유효한 주변 블록들에 대한 평균 움직임 벡터를 산출하고, 산출된 평균 움직임 벡터에 상응하는 참조 프레임의 블록을 이용하여 에러 블록을 은닉하는 에러 은닉 수단; 을 포함하는 것을 특징으로 하는 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치.Error concealment means for calculating an average motion vector for valid neighboring blocks and concealing the error block using a block of a reference frame corresponding to the calculated average motion vector; Inter-frame error concealment apparatus using an average motion vector comprising a. 제 1 항에 있어서,The method of claim 1, 다수의 복호화된 영상 프레임을 저장하는 참조 메모리 수단(M); 을 더 포함하는 것을 특징으로 하는 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치.Reference memory means (M) for storing a plurality of decoded image frames; Inter frame error concealment apparatus using the average motion vector, characterized in that further comprises. 제 1 항에 있어서,The method of claim 1, 상기 평균 움직임 벡터(
Figure 112006015394046-PAT00027
)는,
The mean motion vector (
Figure 112006015394046-PAT00027
),
후보 움직임 벡터 중에서 m 번째 모션 벡터를
Figure 112006015394046-PAT00028
라 하고, 후보 움직임 벡터의 개수가 n 일 때,
M-th motion vector of the candidate motion vectors
Figure 112006015394046-PAT00028
If the number of candidate motion vectors is n,
Figure 112006015394046-PAT00029
에 의해 산출되는 것을 특징으로 하는 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치.
Figure 112006015394046-PAT00029
Inter frame error concealment apparatus using the average motion vector, characterized in that calculated by.
제 1 항 또는 제 3 항에 기재된 에러 은닉 장치를 이용한 에러 은닉 방법으로서,An error concealment method using the error concealment apparatus according to claim 1 or 3, 입력되는 비트스트림을 영상 프레임으로 복원하는 과정;Restoring the input bitstream into an image frame; 복원된 영상 프레임에서 에러 블록을 검출하는 과정;Detecting an error block in the reconstructed image frame; 검출된 에러 블록의 주변 블록에 대한 유효성을 판단하는 과정;Determining validity of neighboring blocks of the detected error block; 유효한 주변 블록의 움직임 벡터들로부터 평균 움직임 벡터를 산출하는 과정; 및Calculating an average motion vector from motion vectors of valid neighboring blocks; And 산출된 평균 움직임 벡터에 상응하는 블록을 참조 프레임으로부터 추출하여 에러 은닉을 수행하는 과정; 을 포함하는 것을 특징으로 하는 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 방법.Performing error concealment by extracting a block corresponding to the calculated average motion vector from a reference frame; An interframe error concealment method using an average motion vector, comprising: a. 인터 프레임 에러 은닉을 수행하기 위해 컴퓨터로 읽을 수 있는 기록매체로서,A computer readable recording medium for performing inter frame error concealment, 입력되는 비트스트림을 영상 프레임으로 복원하는 디코딩 기능;A decoding function for restoring an input bitstream into an image frame; 복원된 영상 프레임에서 에러 블록을 검출하는 에러 검출 기능;An error detection function for detecting an error block in the reconstructed image frame; 상기 에러 블록의 주변 블록들이 올바르게 복호화 되었는지 여부를 판단하는 주변 블록 유효성 판단 기능; 및 A neighboring block validity determination function for determining whether neighboring blocks of the error block are correctly decoded; And 유효한 주변 블록들에 대한 평균 움직임 벡터를 산출하고, 산출된 평균 움직임 벡터에 상응하는 참조 프레임의 블록을 이용하여 에러 블록을 은닉하는 에러 은닉 기능; 을 구현하기 위한 프로그램이 저장된 기록매체.An error concealment function for calculating an average motion vector for valid neighboring blocks and concealing the error block using a block of a reference frame corresponding to the calculated average motion vector; Recording medium that stores a program for implementing.
KR1020060020266A 2006-03-03 2006-03-03 Inter frame error concealment method and apparatus using the average motion vector KR20070090494A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060020266A KR20070090494A (en) 2006-03-03 2006-03-03 Inter frame error concealment method and apparatus using the average motion vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060020266A KR20070090494A (en) 2006-03-03 2006-03-03 Inter frame error concealment method and apparatus using the average motion vector

Publications (1)

Publication Number Publication Date
KR20070090494A true KR20070090494A (en) 2007-09-06

Family

ID=38688888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060020266A KR20070090494A (en) 2006-03-03 2006-03-03 Inter frame error concealment method and apparatus using the average motion vector

Country Status (1)

Country Link
KR (1) KR20070090494A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913396B1 (en) * 2006-12-04 2009-08-21 한국전자통신연구원 Apparatus and method for recognizing person's behaviors using motion vector
KR100923950B1 (en) * 2007-11-15 2009-10-29 한국전자통신연구원 The apparatus and method for recovering loss of video frame based H.264/AVC
WO2019013494A1 (en) * 2017-07-11 2019-01-17 주식회사 브이터치 Method, system and non-transitory computer readable recording medium for supporting object control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913396B1 (en) * 2006-12-04 2009-08-21 한국전자통신연구원 Apparatus and method for recognizing person's behaviors using motion vector
KR100923950B1 (en) * 2007-11-15 2009-10-29 한국전자통신연구원 The apparatus and method for recovering loss of video frame based H.264/AVC
WO2019013494A1 (en) * 2017-07-11 2019-01-17 주식회사 브이터치 Method, system and non-transitory computer readable recording medium for supporting object control

Similar Documents

Publication Publication Date Title
US9591305B2 (en) Moving image decoding apparatus, moving image decoding method and moving image encoding apparatus, and moving image encoding method
US9332279B2 (en) Method and digital video encoder system for encoding digital video data
KR20080073157A (en) Method and apparatus for encoding and decoding based on inter prediction
KR20090095317A (en) Method and apparatus for encoding and decoding image
MXPA06010360A (en) Methods and apparatus for performing fast mode decisions in video codecs.
US8150171B2 (en) Apparatus for and method of decoding moving picture, and computer product
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
KR20140008984A (en) Method and apparatus for image encoding
US8699576B2 (en) Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method
JPH06311502A (en) Motion picture transmission equipment
Chen et al. A temporal approach for improving intra-frame concealment performance in H. 264/AVC
KR20070090494A (en) Inter frame error concealment method and apparatus using the average motion vector
KR100454526B1 (en) Error concealment method of Itra coded frame by spatio-temporal information
KR101924959B1 (en) Method and Apparatus for image encoding
KR101547252B1 (en) Apparatus for non-reference P frame coding
KR20110067648A (en) Method for encoding/decoding image and apparatus for performing the same
KR100620695B1 (en) Method of transmitting moving picture data as a video packet
KR100679787B1 (en) Method and apparatus of transmitting moving picture data as a video packet, decoding method and apparatus
KR100632106B1 (en) Digital Interlaced Interpicture Encoding / Decoding Method
KR100632105B1 (en) Digital interlaced intra picture encoding / decoding method
Hui Spatial-Temporal Error Concealment Scheme for Intra-coded Frames
KR100557118B1 (en) Moving picture decoder and method for moving picture decoding
KR100590328B1 (en) Moving picture decoder and method for decoding using the same
KR100689216B1 (en) Temporal Error Concealment Method of Intra Frame Using Subblocks
Chang et al. A low complexity error concealment method for H. 264 video coding facilitating hardware realization

Legal Events

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