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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
도 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
[수학식 1][Equation 1]
여기서, N은 dsm 을 구하는데 쓰인 총 픽셀(pixel)의 수이고, 'IN'(도 2 참조)에 위치한 는 인접한 블록 간에 경계와 맞닿아 있는 블록의 움직임 벡터를 가지고 움직임 보상을 통해 얻은 블록의 픽셀 값이며, 'OUT'에 위치한 는 복원하려는 블록의 경계와 맞닿아 있는 이웃하는 블록들의 픽셀 값을 의미한다.Where N is the total number of pixels used to find d sm and is located at 'IN' (see FIG. 2). 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'. 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
본 발명의 특징적인 양상에 따른 에러 은닉 수단(340)의 기능을 설명하기 위해, 앞서 언급한 BMA 기반의 인터 프레임 에러 은닉 방법을 수학식으로 살펴보면 다음과 같다. 를 각각 매크로블록의 수직과 수평 좌표라 하고, 를 매크로블록 의 픽셀 좌표라 할 때, 상기 매크로블록 의 픽셀 좌표는 , 로 표현할 수 있다. 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. Are the vertical and horizontal coordinates of the macroblock, Macroblock When the pixel coordinate of the macroblock, The pixel coordinate of is , Can be expressed as
는 현재 영상 프레임의 좌표에 있는 픽셀 값을 나타내며, 는 참조 프레임의 좌표에 있는 픽셀 값을 나타낸다. 움직임 벡터가 일 때, 참조 프레임에서 수직, 수평 방향으로 각각 , 만큼 이동한 매크로블록의 픽셀 좌표 는 , 이다. 를 각각 위, 아래, 왼쪽, 오른쪽 경계 방향의 경계 왜곡치(boundary match distortion)이라 하면, 움직임 벡터 에 대한 경계 왜곡치들은 다음과 같다. Of the current video frame Represents a pixel value in coordinates. Of the reference frame Represents a pixel value in coordinates. Motion vector In the vertical and horizontal directions in the reference frame, respectively. , Pixel coordinates of macroblock moved by Is , to be. Is a boundary match distortion in the up, down, left, and right boundary directions, respectively, The boundary distortion values for are as follows.
경계 왜곡치는 이들 의 합으로 산출되며, 그 중 가장 작은 경계 왜곡치를 갖는 움직임 벡터를 에러 은닉을 위한 움직임 벡터로 선택하게 된다. 그러나 전술한 바와 같이 후보 움직임 벡터를 최대 8개까지 사용하는 경우 최대 연산횟수는 192×8=1,536회에 달한다.Boundary distortion 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 번째 모션 벡터를 라 하고, 후보 움직임 벡터의 개수가 n 일 때, 상기 평균 움직임 벡터()는 다음의 [수학식 2]로 산출될 수 있다.M-th motion vector of the candidate motion vectors When the number of candidate motion vectors is n, the average motion vector ( ) Can be calculated by the following Equation 2.
[수학식 2][Equation 2]
즉, 본 발명은 전술한 경계 왜곡치를 산출하는 일련의 과정 없이 [수학식 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
도 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
이어서 에러 은닉 수단(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)
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)
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 |
-
2006
- 2006-03-03 KR KR1020060020266A patent/KR20070090494A/en not_active Application Discontinuation
Cited By (3)
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 |