KR101074919B1 - Apparatuses and methods of decoding distributed video coded video - Google Patents

Apparatuses and methods of decoding distributed video coded video Download PDF

Info

Publication number
KR101074919B1
KR101074919B1 KR1020100002080A KR20100002080A KR101074919B1 KR 101074919 B1 KR101074919 B1 KR 101074919B1 KR 1020100002080 A KR1020100002080 A KR 1020100002080A KR 20100002080 A KR20100002080 A KR 20100002080A KR 101074919 B1 KR101074919 B1 KR 101074919B1
Authority
KR
South Korea
Prior art keywords
block
motion vector
motion
auxiliary information
size
Prior art date
Application number
KR1020100002080A
Other languages
Korean (ko)
Other versions
KR20100082738A (en
Inventor
전병우
김도형
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Publication of KR20100082738A publication Critical patent/KR20100082738A/en
Priority to US13/521,552 priority Critical patent/US9210436B2/en
Priority to PCT/KR2011/000194 priority patent/WO2011084037A2/en
Application granted granted Critical
Publication of KR101074919B1 publication Critical patent/KR101074919B1/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/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Abstract

가변 블록 움직임 예측을 이용한 분산비디오부호화 영상의 복호화 장치 및 그 방법을 제공한다. 분산 비디오 부호화 영상의 복호화 장치는 부호화 장치로부터 전송되는 키픽처를 복원하는 키픽처 복호화부와, 상기 복원된 키픽처를 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하고 생성한 움직임 벡터를 출력하는 움직임 벡터 생성부와, 상기 복원된 키픽처 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 보조정보 생성부와, 상기 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 채널코드 복호화부와, 상기 채널코드 복호화부에 의해 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 복호화 대상이 되는 현재의 픽처를 복원하는 영상복원부를 포함한다. 이에 따라, 보조정보 생성시에 수행되는 움직임 예측과정을 가변적으로 수행하여 잡음이 잘 제거된 보조정보를 생성함으로써, 부호화 장치로부터 전송되는 패리티 비트의 양을 줄여서 복호화기의 성능을 향상시킬 수 있다.An apparatus and method for decoding distributed video encoded video using variable block motion prediction are provided. The apparatus for decoding a distributed video encoded image includes a key picture decoder for reconstructing a key picture transmitted from the encoder and a size of a block for performing motion prediction using the reconstructed key picture to generate and generate a motion vector. A motion vector generator for outputting a motion vector, an auxiliary information generator for generating auxiliary information using the reconstructed key picture and the generated motion vector, a parity bit transmitted from the encoding apparatus, and the auxiliary information And a channel code decoding unit for estimating a quantized value, and an image restoring unit for restoring a current picture to be decoded using the quantized value and the auxiliary information estimated by the channel code decoding unit. Accordingly, by performing the motion prediction process performed at the time of generating the auxiliary information variably to generate the auxiliary information well-removed, the performance of the decoder can be improved by reducing the amount of parity bits transmitted from the encoding apparatus.

Figure R1020100002080
Figure R1020100002080

Description

분산 비디오 부호화 영상의 복호화 장치 및 그 방법{APPARATUSES AND METHODS OF DECODING DISTRIBUTED VIDEO CODED VIDEO}Apparatus and method for decoding distributed video encoded image {APPARATUSES AND METHODS OF DECODING DISTRIBUTED VIDEO CODED VIDEO}

본 발명은 영상의 복호화 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 분산비디오부호화 영상의 복호화 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus for decoding an image and a method thereof, and more particularly, to an apparatus and a method for decoding a distributed video encoded image.

비디오 플레이어, 맞춤영상정보 서비스(VOD), 영상 전화, 디지털 멀티미디어 브로드캐스팅(DMB), 무선 모바일 환경에서의 영상전송 등에 효율적인 압축기술로서 MPEG, H.26x 등의 압축 표준이 널리 사용되고 있다. 상기 압축 표준들은 시간적인 중복성(Temporal redundancy)을 제거함으로써 부호화 효율에서 큰 이득이 있는데, 상기 시간적인 중복성을 줄이기 위한 대표적인 방법으로서 움직임 예측 및 보상 기술이 있다. 하지만, 상기 움직임 예측 및 보상 기술은 동영상 부호화기에서 상대적으로 많은 연산량을 요구하기 때문에, 전력 소비가 커지게 된 단점이 있다. 따라서, 센서 네트워크와 같은 한정된 자원의 환경에서는 부호화기의 저전력화를 위해서, 부호화기의 복잡도를 줄이는 것이 중요한 기술적 문제로 대두되고 있다.MPEG, H.26x, and other compression standards are widely used as efficient compression technologies for video players, customized video information services (VOD), video telephony, digital multimedia broadcasting (DMB), and video transmission in wireless mobile environments. The compression standards have a large gain in coding efficiency by eliminating temporal redundancy. As a representative method for reducing the temporal redundancy, there are motion prediction and compensation techniques. However, since the motion prediction and compensation technique requires a relatively large amount of computation in the video encoder, power consumption increases. Therefore, in a limited resource environment such as a sensor network, in order to reduce the power of the encoder, reducing the complexity of the encoder has emerged as an important technical problem.

이러한 부호화기의 복잡도 문제를 해결하기 위한 방법의 하나로 와이너-지브(Wyner-Ziv) 이론에 근거하고 있는 분산 비디오 부호화(DVC: Distributed Video Coding) 방법이 각광받고 있다. 이 분산 비디오 부호화 기술은, 움직임 예측 및 보상 처리를 부호와 이득 손실 없이 복호화기에서 할 수 있기 때문에 부호화기의 연산량을 줄일 수 있다. As one of the methods for solving the complexity problem of the encoder, a Distributed Video Coding (DVC) method based on the Weiner-Ziv theory has been in the spotlight. This distributed video encoding technique can reduce the amount of computation of the encoder because motion prediction and compensation can be performed in the decoder without loss of code and gain.

와이너-지브 이론에 근거한 분산 비디오 부호화 기술에 따르면, 복호화기는 이웃한 픽처 간의 유사도를 이용하여 현재 픽처에 대한 보조정보를 만들고, 이 보조정보는 복원하여야 할 현재 픽처에 가상채널의 잡음이 부가된 것으로 간주하여, 부호화기로부터 채널코드로 생성된 패리티비트를 전송받아 보조정보 내의 잡음을 제거하는 방식으로 현재 픽처를 재생한다.According to the distributed video coding technique based on the Weiner-Jib theory, the decoder generates auxiliary information about the current picture using similarity between neighboring pictures, and the auxiliary information is that the virtual channel noise is added to the current picture to be reconstructed. In this case, the current picture is reproduced by receiving a parity bit generated as a channel code from an encoder and removing noise in the auxiliary information.

도 1은 종래의 Wyner-Ziv 코딩 기술에 따른 부호화기(110)와 이에 상응하는 복호화기(130)의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of an encoder 110 and a decoder 130 corresponding to the conventional Wyner-Ziv coding technique.

Wyner-Ziv 코딩 기술에 따른 부호화기(110)는 소스 비디오 컨텐트(source video content)의 픽처들을 두 종류로 분류한다. 하나는 분산 비디오 부호화 방식에 의하여 부호화할 픽처(이하, 'WZ픽처'라 함)이고, 다른 하나는 분산 비디오 부호화 방식이 아닌 종래의 부호화 방식에 의하여 부호화할 픽처(이하, '키픽처'라 함)이다.The encoder 110 according to the Wyner-Ziv coding technique classifies pictures of source video content into two types. One is a picture to be encoded by using a distributed video coding method (hereinafter referred to as a 'WZ picture'), and the other is a picture to be encoded by a conventional coding method instead of a distributed video coding method (hereinafter, referred to as a 'key picture'). )to be.

키픽처들은 키픽처 부호화부(114)에서 예를 들어 H.264/AVC의 인트라 부호화 방식으로 부호화되어 복호화기(130)로 전송된다. 종래의 Wyner-Ziv 코딩 기술에 따른 부호화기(110)에 상응하는 복호화기(130)의 키픽처 복호화부(133)는, 전송된 키픽처들을 복원한다. 보조정보 생성부(134)는, 키픽처 복호화부(133)에 의해 복원된 키픽처를 이용하여 WZ픽처에 해당하는 보조정보(Side Information)를 생성하고 보조정보를 채널코드 복호화부(131)로 출력한다.The key pictures are encoded by the intra picture method of, for example, H.264 / AVC in the key picture encoder 114 and transmitted to the decoder 130. The key picture decoder 133 of the decoder 130 corresponding to the encoder 110 according to the conventional Wyner-Ziv coding technique reconstructs the transmitted key pictures. The auxiliary information generating unit 134 generates side information corresponding to the WZ picture by using the key picture restored by the key picture decoding unit 133 and sends the auxiliary information to the channel code decoding unit 131. Output

보조정보 생성부(134)는, 현재 WZ픽처 전후에 위치한 키픽처 간의 선형 움직임을 가정하고, 보간법을 이용하여 복원할 WZ픽처에 해당하는 보조정보(Side Information)를 생성한다. 경우에 따라, 보간법 대신에 보외법을 사용할 수도 있으나 보간법으로 생성된 보조정보에서의 잡음이 보외법으로 생성된 보조정보에서의 잡음보다 적기 때문에, 대부분의 경우에서 보간법이 사용되고 있다.한편, WZ픽처를 부호화하기 위해서, 부호화기(110)의 양자화부(112)는 WZ픽처에 대한 양자화를 수행하고, WZ픽처의 양자화값을 블록단위화부(112)로 출력한다. 블록단위화부(111)는 입력되는 WZ픽처의 양자화된 값을 소정의 부호화 단위로 구분한다. 그리고, 채널코드 부호화부(113)는 채널코드를 이용하여 각 부호화단위에 대한 패리티 비트를 생성한다.The auxiliary information generator 134 assumes linear motion between key pictures located before and after the current WZ picture, and generates side information corresponding to the WZ picture to be reconstructed using interpolation. In some cases, the interpolation method may be used instead of the interpolation method, but in most cases, the interpolation method is used because the noise in the auxiliary information generated by the interpolation method is smaller than the noise in the auxiliary information generated by the interpolation method. In order to encode, the quantization unit 112 of the encoder 110 performs quantization on the WZ picture and outputs the quantization value of the WZ picture to the block unitization unit 112. The block unit unit 111 classifies the quantized value of the input WZ picture into predetermined coding units. The channel code encoder 113 generates a parity bit for each coding unit by using the channel code.

생성된 패리티 비트는 패리티 버퍼(미도시)에 일시적으로 저장되었다가 복호화기(130)에서 피드백채널을 통하여 패리티를 요청하면 순차적으로 전송된다. 도 1의 채널코드 복호화부(131)는 부호화기(110)로부터 전송되는 패리티를 받아서 양자화 된 값을 추정한다. 도 1의 영상복원부(132)는 채널코드 복호화부(131)에 의해 추정된 양자화 값을 입력받아 이를 역양자화 하여 WZ픽처를 복원한다.The generated parity bits are temporarily stored in a parity buffer (not shown), and are sequentially transmitted when the decoder 130 requests parity through a feedback channel. The channel code decoder 131 of FIG. 1 receives the parity transmitted from the encoder 110 and estimates the quantized value. The image restorer 132 of FIG. 1 receives the quantized value estimated by the channel code decoder 131 and inversely quantizes the quantized value to restore the WZ picture.

상기 Wyner-Ziv 이론에 기초한 분산비디오부호화 방법은, 복호화기에서 생성된 보조정보에 추가되어 있는 잡음을 패리티를 사용해서 정정함으로써 현재 WZ픽처를 복원하는 기술이다. 따라서, 생성된 보조정보에 추가된 잡음이 적을수록 요구하는 패리티의 양이 적게 되므로, 율-왜곡(Rate Distortion) 관점에서 좋은 성능을 가지기 위해서는 보조정보를 잡음없이 잘 생성하는 것이 중요하다. The distributed video encoding method based on the Wyner-Ziv theory is a technique for reconstructing the current WZ picture by correcting the noise added to the auxiliary information generated by the decoder using parity. Therefore, the less noise added to the generated auxiliary information, the smaller the amount of parity required. Therefore, it is important to generate auxiliary information well without noise in order to have good performance in terms of rate distortion.

종래의 보조정보 생성방법은 복원된 키픽처 내에 존재하는 고정된 크기의 블록(예 : 8x8)을 이용하여 움직임 벡터를 추정하고 복원하고자 하는 보조정보의 움직임 벡터를 픽처 간의 거리를 고려하여 상기 복원된 키픽처 간의 움직임 벡터로부터 얻는다. 이렇게 얻어진 보조정보의 움직임 벡터가 지시하는 키픽처 내의 복호화 단위를 보조정보로 생성하는 것이다.The conventional auxiliary information generating method estimates a motion vector using a fixed size block (eg, 8x8) existing in the reconstructed key picture and reconstructs the motion vector of the auxiliary information to be reconstructed in consideration of the distance between pictures. Obtained from motion vectors between key pictures. The decoding unit in the key picture indicated by the motion vector of the auxiliary information thus obtained is generated as auxiliary information.

도 2는 보간법을 이용한 종래의 보조정보 생성을 예시한 것이다. 복원할 보조정보의 움직임 벡터를 복원된 키픽처 간의 고정된 크기의 블록을 이용하여 얻은 움직임 벡터로부터 얻는 과정을 예시한 것이며, 픽처 간의 거리를 고려하면 보조정보의 움직임 벡터는 키픽처 간의 움직임 벡터의 1/2임을 알 수 있다. 2 illustrates a conventional generation of auxiliary information using an interpolation method. The process of obtaining the motion vector of the auxiliary information to be reconstructed from the motion vector obtained by using a fixed size block between the reconstructed key pictures. Considering the distance between the pictures, the motion vector of the auxiliary information is determined by the motion vector of the key pictures. It can be seen that 1/2.

도 3은 보외법을 이용한 종래의 보조정보 생성을 예시한 것이다. 복원할 보조정보의 움직임 벡터를 복원된 키픽처 간의 고정된 크기의 블록을 이용하여 얻은 움직임 벡터로부터 얻는 과정을 예시한 것이며, 픽처 간의 거리를 고려하면 보조정보의 움직임 벡터는 키픽처 간의 움직임 벡터와 같음을 알 수 있다. 3 illustrates a conventional generation of auxiliary information using extrapolation. The process of obtaining the motion vector of the auxiliary information to be reconstructed from the motion vector obtained by using a fixed size block between the reconstructed key pictures. Considering the distance between the pictures, the motion vector of the auxiliary information is determined by the motion vector between the key pictures. It can be seen that the same.

이와 같이, 생성하고자 하는 보조정보의 움직임 벡터를 상기 복원된 키픽처 내에 존재하는 고정된 크기의 블록을 이용한 움직임 벡터로부터 얻게 되면, 픽처 간에 움직임이 복잡한 경우 또는 움직임이 선형적으로 변하지 않는 경우 또는 물체 및 배경이 갑자기 사라지거나 나타나는 경우에 잘못된 보조정보를 생성 할 수 있다. 특히, 키 픽처간의 움직임 예측을 위해 사용되는 고정 블록의 크기가 커지면 획득된 움직임 벡터의 정확도는 배경과 같이 단순한 영역에서는 실제 영상의 움직임과 유사하지만 복잡한 물체가 존재하는 부분에서는 그렇지 못하다. As such, when the motion vector of the auxiliary information to be generated is obtained from the motion vector using a fixed size block existing in the reconstructed key picture, the motion is complicated between pictures or the motion does not change linearly, or an object And when the background suddenly disappears or appears, it may generate incorrect auxiliary information. In particular, when the size of the fixed block used for motion prediction between key pictures increases, the accuracy of the obtained motion vector is similar to the motion of an actual image in a simple region such as a background, but not in a part where a complex object exists.

이와는 반대로, 키 픽처간의 움직임 예측을 위해 사용되는 고정 블록의 크기가 줄어들면 움직임 벡터를 추정하기 위해 사용되는 픽셀의 개수가 작아지게 되므로, 키픽처 사이에서 움직임 예측을 통해 획득된 움직임 벡터가 실제 영상의 움직임과 불일치하는 경우가 빈번히 발생한다. 이러한 이유로 종래의 보조정보 생성을 위하여 움직임예측에 사용되는 블록의 크기는 일반적으로 8x8이 사용된다.In contrast, when the size of the fixed block used for motion prediction between key pictures is reduced, the number of pixels used for estimating the motion vector is reduced, so that the motion vector obtained through the motion prediction between the key pictures is a real image. Frequent occurrences of inconsistencies with the movements of For this reason, 8x8 is generally used for the block size used for motion prediction for generating auxiliary information.

상기의 경우와 같이 고정된 블록 크기를 이용한 움직임 예측에 의하여 생성된 보조정보는 잡음이 많이 첨가되어 있기 때문에, 전송된 패리티로 잡음을 충분히 제거 할 수 없다. As in the above case, since the auxiliary information generated by the motion prediction using the fixed block size has a lot of noise, the transmitted parity cannot sufficiently remove the noise.

따라서, 본 발명의 목적은 가변 블록 움직임 예측을 이용한 분산 비디오 복호화 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a distributed video decoding apparatus using variable block motion prediction.

본 발명의 다른 목적은 가변 블록 움직임 예측을 이용한 분산 비디오 복호화 방법을 제공하는 것이다.Another object of the present invention is to provide a distributed video decoding method using variable block motion prediction.

상술한 본 발명의 목적을 달성하기 위한 분산 비디오 부호화 영상의 복호화 장치는 부호화 장치로부터 전송되는 키픽처를 복원하는 키픽처 복호화부; 상기 복원된 키픽처를 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하고 상기 생성한 움직임 벡터를 출력하는 움직임 벡터 생성부; 상기 복원된 키픽처 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 보조정보 생성부; 상기 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 채널코드 복호화부; 및 상기 채널코드 복호화부에 의해 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 복호화 대상이 되는 현재의 픽처를 복원하는 영상복원부를 포함한다.In accordance with one aspect of the present invention, there is provided a apparatus for decoding a distributed video encoded image, the apparatus comprising: a key picture decoder configured to reconstruct a key picture transmitted from an encoding apparatus; A motion vector generator configured to determine a size of a block for performing motion prediction using the reconstructed key picture, generate a motion vector, and output the generated motion vector; An auxiliary information generator configured to generate auxiliary information using the reconstructed key picture and the generated motion vector; A channel code decoder for estimating a quantized value using the parity bits transmitted from the encoding apparatus and the auxiliary information; And an image restoring unit for restoring a current picture to be decoded by using the quantized value estimated by the channel code decoding unit and the auxiliary information.

본 발명에 따르면, 분산비디오 부호화의 복호화 과정에 사용되는 보조정보 생성시에 키 픽처간의 움직임예측을 위한 블록의 크기를 소정의 판별기준을 바탕으로 가변적으로 적용한다. According to the present invention, the size of a block for motion prediction between key pictures is variably applied based on a predetermined criterion when generating auxiliary information used in the decoding process of distributed video encoding.

따라서, 본 발명에 따른 키 픽처간의 움직임 벡터를 보다 정교하게 추정함으로써, 복원 영상의 성능을 상당히 개선시킬 수 있다.Therefore, by more precisely estimating the motion vector between key pictures according to the present invention, the performance of the reconstructed image can be significantly improved.

즉 본 발명은 생성하고자 하는 보조정보의 움직임 벡터를 복원된 키픽처 내에 존재하는 블록의 크기를 가변적으로 적용하면서 움직임 벡터를 추정함으로써, 종래의 고정된 크기를 이용하여 추정된 움직임 벡터보다 더욱 정교한 움직임 벡터를 얻을 수 있어 생성된 보조정보의 잡음을 줄여 복원된 영상의 화질을 개선할 수 있다.That is, the present invention estimates the motion vector while variably applying the size of the block existing in the reconstructed key picture to the motion vector of the auxiliary information to be generated, thereby making the motion vector more sophisticated than the motion vector estimated using the conventional fixed size. The vector can be obtained to reduce the noise of the generated auxiliary information to improve the quality of the reconstructed image.

도 1은 종래의 와이너 지브 코딩 기술에 따른 부호화기와 이에 상응하는 복호화기의 구성을 설명하기 위한 블록도이다.
도 2는 보간법을 이용한 종래의 보조정보 생성을 설명하기 위한 예시도이다.
도 3은 보외법을 이용한 종래의 보조정보 생성을 설명하기 위한 예시도이다.
도 4는 본 발명의 일실시예에 따른 분산 비디오 부호화 영상의 복호화 장치의 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 따른 움직임 벡터를 생성하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 움직임 벡터 생성부의 구성을 도시한 도면이다.
도 7은 본 발명의 바람직한 일실시예에 따른 움직임 벡터 생성 과정을 나타낸 흐름도이다.
1 is a block diagram illustrating a configuration of an encoder and a decoder corresponding thereto according to a conventional Weiner jib coding technique.
2 is an exemplary diagram for explaining conventional generation of auxiliary information using an interpolation method.
3 is an exemplary diagram for explaining conventional generation of auxiliary information using extrapolation.
4 is a block diagram illustrating a configuration of an apparatus for decoding a distributed video encoded image according to an embodiment of the present invention.
5 is a view for explaining a process of generating a motion vector according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of a motion vector generating unit according to an embodiment of the present invention.
7 is a flowchart illustrating a motion vector generation process according to an embodiment of the present invention.

이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Specific details appear in the following description, which is provided to help a more general understanding of the present invention, and it is common knowledge in the art that such specific matters may be changed or modified within the scope of the present invention. It is self-evident to those who have.

도 4는 본 발명의 실시예에 따른 와이너-지브 부호화 및 복호화 시스템을 나타낸다. 4 shows a wine-jib encoding and decoding system according to an embodiment of the present invention.

본 발명의 실시예에 따른 Wyner-Ziv 부호화 및 복호화 시스템은 와이너-지브 부호화 장치(10)와 가변 블록을 이용한 움직임 예측을 통하여 보조정보를 생성하는 기능이 포함된 분산 비디오 부호화 영상의 복호화 장치(300)를 포함한다The Wyner-Ziv encoding and decoding system 300 according to an embodiment of the present invention is a distributed video encoded image decoding apparatus 300 including a function of generating auxiliary information through motion estimation using a wiener-jib encoding apparatus 10 and a variable block. I include)

도 4를 참조하여 설명하면, 와이너-지브 부호화 장치(10)는 WZ픽처 부호화부(11) 및 키픽처 부호화부(12)를 포함한다. Referring to FIG. 4, the wine-jib encoding apparatus 10 includes a WZ picture encoder 11 and a key picture encoder 12.

와이너-지브 부호화 장치(10)는 와이너-지브 코딩 방식에 따라 소스 비디오 컨텐트의 픽처들을 와이너 지브 픽처들과 키 픽처들로 나눈다. 예컨대, 소스 비디오 컨텐트의 짝수 번째 픽처들이 키 픽처로서 선택되거나, 홀수 번째 픽처들이 와이너-지브 픽처로 선택될 수 있다.The wine-jib encoding apparatus 10 divides pictures of the source video content into wine-jib pictures and key pictures according to the wine-jib coding scheme. For example, even-numbered pictures of the source video content may be selected as key pictures or odd-numbered pictures may be selected as a wine-jib picture.

와이너-지브 부호화 장치(10)는 와이너 지브 픽처들과 키 픽처들을 부호화하고, 복호화 장치(300)에 제공한다.The wine-jib encoding apparatus 10 encodes the wine-jib pictures and the key pictures and provides them to the decoding apparatus 300.

그리고, 본 발명에 따른 복호화 장치(300)는 키픽처 복호화부(320), 채널코드 복호화부(310), 영상복원부(330), 보조정보 생성부(340), 블록크기 결정부(350) 및 픽처버퍼(360)를 포함한다.In addition, the decoding apparatus 300 according to the present invention includes a key picture decoder 320, a channel code decoder 310, an image restorer 330, an auxiliary information generator 340, and a block size determiner 350. And a picture buffer 360.

키픽처 복호화부(320)는 키픽처 부호화부(12)로부터 전송받은 정보를 이용하여 키픽처를 복원한다. The key picture decoder 320 reconstructs the key picture using the information received from the key picture encoder 12.

움직임 벡터 생성부(350)는 복원된 키픽처를 이용하여 움직임 예측에 사용될 블록의 크기를 결정한다. The motion vector generator 350 determines a size of a block to be used for motion prediction by using the reconstructed key picture.

보조정보 생성부(340)는 복원된 키픽처 및 움직임 벡터 생성부(350)에 의해 생성된 움직임 벡터를 이용하여 재생할 현재 WZ픽처에 대한 보조정보를 생성한다. The auxiliary information generator 340 generates auxiliary information on the current WZ picture to be reproduced using the reconstructed key picture and the motion vector generated by the motion vector generator 350.

채널코드 복호화부(310)는 보조정보 생성부(340)로부터 입력받은 보조정보와 와이너-지브 부호화 장치(10)로부터 전송받은 패리티 비트를 이용하여 양자화된 값들을 추정한다. The channel code decoder 310 estimates the quantized values using the auxiliary information received from the auxiliary information generator 340 and the parity bits received from the wine-jib encoding apparatus 10.

채널코드 복호화부(310)는 채널코드 복호화를 수행할 때 신뢰도 있는 양자화된 값을 추정할 수 없다고 판별될 경우에, 신뢰도 있는 추정이 가능할 때까지 소정의 한도 내에서 계속적으로 패리티 비트를 와이너-지브 부호화 장치(10)에 요청하여 받도록 구성될 수 있다.If it is determined that the channel code decoding unit 310 cannot estimate a reliable quantized value when performing channel code decoding, the channel code decoding unit 310 continuously performs the Wier-Jib with the parity bit within a predetermined limit until a reliable estimation is possible. It may be configured to request and receive the encoding device 10.

이 경우, 와이너-지브 부호화 장치(10)는 복호화에 필요한 패리티 량만을 와이너-지브 부호화 장치(10)로부터 전송받음으로써 율-왜곡 성능 측면에서 효율적이다. 이는 패리티 비트를 요청하는 역방향채널(즉, 피드백채널)이 존재할 경우에 가능하다. In this case, the wine-jib encoding apparatus 10 is efficient in terms of rate-distortion performance by receiving only the amount of parity necessary for decoding from the wine-jib encoding apparatus 10. This is possible when there is a reverse channel (ie a feedback channel) requesting parity bits.

이러한 문제를 완화하기 위해 사용자의 구성에 따라, 채널코드 복호화부(310)는 미리 소정의 패리티 비트량을 매번의 패리티 요청 없이 한 번에 제공받아 이것을 이용하는 도중에는 역방향채널로 패리티를 요청하지 않도록 구성할 수 있다.In order to alleviate this problem, the channel code decoding unit 310 is configured to receive a predetermined amount of parity bits in advance without requesting a parity request at a time, so as not to request parity on the reverse channel while using the same. Can be.

또한, 상기의 경우에도 보내진 패리티 비트를 모두 소진한 후, 아직도 신뢰도가 낮다고 판단되는 경우 복호화 장치(300)는 추가로 패리티 비트를 부호화 장치(10)로 더 요청하도록 구성할 수도 있다. 또한, 역방향 채널을 사용하지 않는다고 가정하면 와이너-지브 부호화 장치(10)는 미리 계산 또는 설정된 일정량의 패리티를 복호화 장치(300)에 보내며, 복호화 장치(300)는 패리티 비트를 요구하지 않는 형태로 구성될 수도 있다.Also, in the above case, after exhausting the sent parity bits, if it is determined that the reliability is still low, the decoding device 300 may be configured to further request the parity bits to the encoding device 10. In addition, assuming that the reverse channel is not used, the Weiner-Jib encoding apparatus 10 transmits a predetermined amount of parity calculated or set in advance to the decoding apparatus 300, and the decoding apparatus 300 is configured to not require a parity bit. May be

또한 도 4의 채널코드 복호화부(310)에서 사용하는 채널코드는 셔먼(Shannon) 한계에 거의 도달한다고 밝혀여진 터보코드를 사용하거나 LDPC 채널코드를 사용할 수 있다. 이외에도, 부호화효율과 에러정정이 좋은 여타의 채널코드를 사용할 수 있음도 또한 자명하다.In addition, the channel code used in the channel code decoding unit 310 of FIG. 4 may use a turbo code that is found to almost reach the Shannon limit or may use an LDPC channel code. It is also apparent that other channel codes with good coding efficiency and error correction can be used.

그리고, 영상복원부(330)는 채널코드 복호화부(31)에 의해 추정된 양자화 된 값과 보조정보를 이용하여 현재 WZ픽춰를 복원한다. 보조정보는 보조정보 생성부(340)에서 생성된다. The image restorer 330 restores the current WZ picture using the quantized value and the auxiliary information estimated by the channel code decoder 31. The auxiliary information is generated by the auxiliary information generator 340.

보조정보 생성부(340)는 보조정보를 생성하는데 일반적으로 픽처 간 선형적인 변화를 가정한 보간법을 사용한다. 이 경우, 비디오 픽처 간의 변화는 객체의 움직임, 카메라의 움직임, 노출 영역 그리고 빛의 변화에 의해 생기게 된다. 노출 영역과 빛의 변화를 제외하면, 이러한 픽처 간의 차이는 픽처 사이의 픽셀의 움직임에 해당한다. 픽셀의 움직임 벡터를 정확하게 알 수 있다면 보간할 픽처의 픽셀을 정확하게 예측하는 것이 가능하다. The auxiliary information generator 340 generally uses an interpolation method that assumes linear change between pictures in generating auxiliary information. In this case, the change between the video pictures is caused by the movement of the object, the movement of the camera, the exposure area and the light. Except for changes in the exposure area and light, the difference between these pictures corresponds to the movement of pixels between the pictures. If the motion vector of the pixel can be known accurately, it is possible to accurately predict the pixels of the picture to be interpolated.

즉, 보조정보 생성부(340)는 움직임 벡터 생성부(350)로부터 제공된 움직임 벡터에 기초하여 보조정보를 생성한다.That is, the auxiliary information generator 340 generates auxiliary information based on the motion vector provided from the motion vector generator 350.

보조정보 생성부(340)는, 키픽처 복호화부(330)에 의해 복원된 키픽처를 이용하여 움직임 벡터 생성부(350)로부터 제공된 움직임 벡터에 기초하여 WZ픽처에 해당하는 보조정보(Side Information)를 생성하고 보조정보를 채널코드 복호화부(310)로 출력한다. 보조정보 생성부(340)는, 현재 WZ 픽처 전후에 위치한 키픽처 간의 선형 움직임을 가정하고, 보간법을 이용하여 복원할 WZ픽처에 해당하는 보조정보(Side Information)를 생성한다.The auxiliary information generator 340 uses side information corresponding to the WZ picture based on the motion vector provided from the motion vector generator 350 using the key picture reconstructed by the key picture decoder 330. And output the supplementary information to the channel code decoder 310. The auxiliary information generator 340 generates side information corresponding to the WZ picture to be reconstructed using interpolation, assuming linear motion between key pictures located before and after the current WZ picture.

움직임 벡터 생성부(350)는 키 픽처들에 기초하여 움직임 벡터를 생성하고 생성한 움직임 벡터를 보조정보 생성부(340)에 제공한다. The motion vector generator 350 generates a motion vector based on the key pictures and provides the generated motion vector to the auxiliary information generator 340.

구체적으로, 움직임 벡터 생성부(350)는 픽처의 사각형 구간 또는 블록(block)의 움직임을 추정한다. In detail, the motion vector generator 350 estimates the motion of a rectangular section or block of a picture.

도 5는 본 발명에 따라 움직임 벡터를 생성하는 과정을 설명하기 위한 도면이다.5 is a view for explaining a process of generating a motion vector according to the present invention.

도 5를 참조하면, 움직임 벡터 생성부(350)는 하나의 픽처(400)의 MⅹN 샘플 블록(402)과 일치하는 MⅹN 샘플 영역(412)을 찾기 위해 다른 하나의 픽처의 영역(420)을 탐색한다. 움직임 벡터 생성부(350)는 하나의 픽처의 MⅹN 블록(402)과 탐색 영역(일반적으로 현재 블록의 위치를 기준으로 한 영역)(420) 내의 가능한 MⅹN 블록 모두 또는 일부를 비교하여, 그 중 가장 일치하는 영역(412)을 찾아낸다. 이어서, 움직임 벡터 생성부(350)는 현재의 MⅹN 블록(402)의 위치와 후보 영역(412)의 위치 사이의 차이값인 움직임 벡터를 생성한다. Referring to FIG. 5, the motion vector generator 350 searches for an area 420 of another picture to find an MⅹN sample area 412 that matches the MⅹN sample block 402 of one picture 400. do. The motion vector generator 350 compares all or part of the MⅹN block 402 of one picture with the possible MⅹN blocks in the search area (generally, the area based on the position of the current block) 420, and the most among them. Find the matching area 412. Subsequently, the motion vector generator 350 generates a motion vector that is a difference value between the position of the current M_N block 402 and the position of the candidate region 412.

움직임 예측을 위한 매크로블록의 크기는 비디오 영상에서 움직이는 객체의 크기가 다양하므로 움직임 예측을 위해 다양한 블록 크기를 사용하는 것이 보다 효과적일 수 있다. H.264/AVC(Advanced Video Coding)의 압축 표준에서, 움직임 예측을 위한 블록 크기는 16ⅹ16, 16ⅹ8, 8ⅹ16, 8ⅹ8, 8ⅹ4, 4ⅹ8, 4ⅹ4중 하나일 수 있다. Since the size of the macroblock for motion prediction varies in the size of the moving object in the video image, it may be more effective to use various block sizes for motion prediction. In the compression standard of H.264 / Advanced Video Coding (AVC), the block size for motion prediction may be one of 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4.

본 발명에 따라 움직임 벡터 생성부(350)는 움직임 예측을 위해 복수 개의 매크로블록의 크기들을 결정하고, 각각의 크기를 갖는 매크로블록들을 이용하여 움직임 벡터들을 구하고, 움직임 벡터들 중 적절한 움직임 벡터를 선택한다.According to the present invention, the motion vector generator 350 determines sizes of a plurality of macroblocks for motion prediction, obtains motion vectors using macroblocks having respective sizes, and selects an appropriate motion vector among the motion vectors. do.

이러한 움직임 벡터 생성부(350)의 구성을 도 6을 참조하여 설명한다.The configuration of the motion vector generator 350 will be described with reference to FIG. 6.

도 6은 본 발명에 따른 움직임 벡터 생성부(350)의 구성을 도시한 도면이며, 도 6에 도시된 바와 같이 본 발명에 따른 움직인 벡터 생성부(350)는 블록 크기 결정부(351), 움직임 예측 수행부(352), 움직임 벡터 저장부(353) 및 움직임 벡터 선택부(354)를 포함한다.6 is a diagram illustrating a configuration of a motion vector generator 350 according to the present invention. As shown in FIG. 6, the moved vector generator 350 according to the present invention includes a block size determiner 351, A motion prediction unit 352, a motion vector storage unit 353, and a motion vector selection unit 354 are included.

블록 크기 결정부(351)은, 키 픽처에 기반한 움직임 예측을 위한 매크로블록의 크기를 결정한다. 매크로블록은 본 발명에 따라 정사각형 및/또는 직사각형 및/또는 임의의 형상을 가질 수 있다. The block size determiner 351 determines the size of the macroblock for motion prediction based on the key picture. The macroblocks may be square and / or rectangular and / or any shape in accordance with the present invention.

다시 말해, 블록 크기 결정부(351)는 복수개의 매크로블록 크기들을 결정한다. 일 실시예에 따라, 블록 크기 결정부(351)는 키 피처들 간에 움직임이 단조롭고 큰 차이가 없는 경우에는 큰 블록 크기들을 움직임 예측을 위해 결정할 수 있고, 키 픽처들 간에 세밀한 움직임이 있거나, 움직임이 많은 경우에는 작은 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 큰 블록 크기들은 16ⅹ16, 16ⅹ8 및 8ⅹ16의 블록 크기들을 포함하고, 작은 블록 크기들은 8ⅹ8, 8ⅹ4, 4ⅹ8 및 4ⅹ4 블록 크기들을 포함할 수 있다. 다른 실시예에 따라, 블록 크기 결정부(351)는 움직임 예측을 위해 사용될 수 있는 모든 매크로블록의 크기들을 움직임 예측을 위해 결정할 수 있다. 블록 크기 결정부(351)는 움직임 예측을 위한 블록 크기들을 결정하면 결정된 블록크기들을 움직임 예측 수행부(352)에 제공한다. In other words, the block size determiner 351 determines a plurality of macroblock sizes. According to an embodiment, the block size determiner 351 may determine large block sizes for motion prediction when the motion between the key features is monotonous and there is no large difference, and there may be fine motion between the key pictures, In many cases, small block sizes can be determined for motion prediction. Large block sizes include block sizes of 16x16, 16x8 and 8x16, and small block sizes may include 8x8, 8x4, 4x8 and 4x4 block sizes. According to another embodiment, the block size determiner 351 may determine the sizes of all macroblocks that can be used for motion prediction for motion prediction. The block size determiner 351 determines the block sizes for motion prediction and provides the determined block sizes to the motion prediction performer 352.

움직임 예측 수행부(352)는 움직임 예측에 사용되는 블록의 크기들 각각에 대한 움직임 예측을 수행하여 움직임 벡터들을 생성한다. 구체적으로 움직임 예측 수행부(352)는 하나의 키 픽처의 샘플 블록과 일치하는 샘플 영역을 찾기 위해 다른 하나의 키 픽처의 영역을 탐색하고, 그 중 가장 일치하는 블록을 찾아내고, 이들 사이의 차이값인 움직임 벡터를 생성한다. The motion prediction execution unit 352 generates motion vectors by performing motion prediction on each of the sizes of blocks used for motion prediction. In detail, the motion prediction performing unit 352 searches an area of another key picture to find a sample area that matches the sample block of one key picture, finds the block that most matches the difference, and the difference therebetween. Create a motion vector as a value.

움직임 예측 수행부(352)는 이러한 움직임 벡터를 생성하고 저장하는 과정을 블록 크기들의 개수만큼 반복한다. The motion prediction performer 352 repeats the process of generating and storing such a motion vector by the number of block sizes.

그리고, 움직임 예측 수행부(352)는 생성한 움직임 벡터를 움직임 벡터 저장부(353)에 저장한다. The motion prediction execution unit 352 stores the generated motion vector in the motion vector storage unit 353.

움직임 벡터 선택부(354)는 키 픽처 내에 존재하는 각기 다른 블록 크기로 얻어진 움직임 벡터들을 이용하여 블록 상호간의 유사도를 측정하여 그 중 가장 유사하다고 판단되는 움직임 벡터를 선택한다. 즉, 움직임 벡터 선택부(354)는 상기 움직임 벡터들 중 상기 하나의 키 픽처의 블록과 상기 다른 하나의 키 픽처의 대응되는 블록간의 유사도를 측정하여 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택한다.The motion vector selector 354 measures similarity between blocks by using motion vectors obtained with different block sizes existing in the key picture, and selects the motion vector determined to be the most similar among them. That is, the motion vector selector 354 measures a similarity between the block of the one key picture and the corresponding block of the other key picture among the motion vectors and selects a motion vector having a block size corresponding to the highest similarity. Choose.

여기에서, 키 픽처 내에 존재하는 각 블록 상호간의 유사도는 일반적으로 각 키 픽처 내에 존재하는 블록들의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합) 또는 MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 또는 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 등의 방법을 이용하여 산출될 수 있다. 아울러 상기 열거한 유사도 측정 방법 이외에 다른 적절한 방법을 적용하여 키 픽처 내에 존재하는 각 블록 상호간의 유사도를 측정하는 것도 물론 가능하다.Here, the similarity between each block present in the key picture is generally referred to as a sum of absolute difference (SAD) or mean absolute difference (MAD) of blocks present in each key picture. It can be calculated using a method such as the average of the absolute sum of) or SSD (Sum of Square Difference, sum of squares of the difference of each block). In addition, it is also possible to measure the similarity between each block existing in the key picture by applying other appropriate methods in addition to the above-described similarity measuring method.

그리고, 움직임 벡터 선택부(354)는 선택된 움직임 벡터를 보조 정보 생성부(340)에 제공한다. The motion vector selector 354 provides the selected motion vector to the auxiliary information generator 340.

이러한 구성을 가지는 움직임 벡터 생성부(350)의 동작을 이하 설명한다.The operation of the motion vector generator 350 having such a configuration will be described below.

도 7은 본 발명의 바람직한 일 실시예에 따른 움직임 벡터 생성부(350)의 동작을 나타낸 도면이다. 7 is a diagram illustrating an operation of the motion vector generator 350 according to an exemplary embodiment of the present invention.

도 7을 참조하면, 움직임 벡터 생성부(350)는 먼저 단계 510에서 움직임 예측을 위한 복수개의 매크로 블록 크기를 결정한다. Referring to FIG. 7, the motion vector generator 350 first determines a plurality of macroblock sizes for motion prediction in step 510.

이 경우, 매크로블록의 크기들은 영상의 특성에 따라 결정될 수도 있다. 예컨대, 픽처 간에 세밀하거나 복잡한 움직임이 있거나, 움직임이 많은 경우에는 작은 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 또는, 피처 간의 움직임이 단조롭고 큰 차이가 없는 경우에는 큰 블록 크기들을 움직임 예측을 위해 결정할 수 있다. 또는, 움직임 예측을 위해 사용될 수 있는 모든 매크로블록의 크기들이 결정될 수도 있다.In this case, the sizes of the macroblocks may be determined according to the characteristics of the image. For example, when there are fine or complex motions between pictures or when there is a lot of motion, small block sizes may be determined for motion prediction. Alternatively, if the motion between features is monotonous and there is no significant difference, large block sizes may be determined for motion prediction. Alternatively, the sizes of all macroblocks that can be used for motion prediction may be determined.

이어서, 움직임 벡터 생성부(350)는 단계 520에서 각 매크로 블록의 크기에 따른 움직임 예측을 수행함으로써 움직임 벡터를 생성한다. 구체적으로 하나의 픽처(400)의 MⅹN 샘플 블록(402)과 일치하는 MⅹN 샘플 영역(412)을 찾기 위해 다른 하나의 픽처의 영역(420)을 탐색한다. 움직임 벡터 생성부(350)는 하나의 픽처의 MⅹN 블록(402)과 탐색 영역(일반적으로 현재 블록의 위치를 기준으로 한 영역)(420) 내의 가능한 MⅹN 블록 모두 또는 일부를 비교하여, 그 중 가장 일치하는 영역 즉, 후보 영역(412)을 찾아낸다. 이어서, 움직임 벡터 생성부(350)는 현재의 MⅹN 블록(402)의 위치와 후보 영역(412)의 위치 사이의 차이값인 움직임 벡터를 생성한다. Subsequently, the motion vector generator 350 generates a motion vector by performing motion prediction according to the size of each macro block in step 520. Specifically, the region 420 of the other picture is searched to find the MⅹN sample area 412 that matches the MⅹN sample block 402 of one picture 400. The motion vector generator 350 compares all or part of the MⅹN block 402 of one picture with the possible MⅹN blocks in the search area (generally, the area based on the position of the current block) 420, and the most among them. The matching area, that is, the candidate area 412 is found. Subsequently, the motion vector generator 350 generates a motion vector that is a difference value between the position of the current M_N block 402 and the position of the candidate region 412.

이어서, 움직임 벡터 생성부(350)는 단계 530에서 결정된 모든 매크로블록의 크기들에 대해 움직임 벡터가 생성되었는 지를 판단한다. 만약 결정된 모든 매크로블록의 크기들에 대해 움직임 벡터가 생성되었으면 움직임 벡터 생성부(350)는 단계 540에서 각 움직임 벡터에 대해 하나의 픽처의 블록과 다른 하나의 픽처의 블록 사이의 유사도를 측정한다. 본 발명에 따른 일 실시예에서는 블록은 정사각형 형태를 가질 수 있다. 또한, 키 픽처 내에 존재하는 블록간의 유사도를 측정하는 방법으로 움직임 벡터를 이용한 블록들간의 SAD(Sum of Absolute Difference), MAD(Mean Absolte Difference) 또는 SSD(Sum of Square Difference) 등이 이용될 수 있다.Subsequently, the motion vector generator 350 determines whether the motion vector has been generated for the sizes of all the macroblocks determined in step 530. If a motion vector is generated for all determined macroblock sizes, the motion vector generator 350 measures a similarity between a block of one picture and a block of another picture for each motion vector in step 540. In one embodiment according to the present invention, the block may have a square shape. In addition, as a method of measuring similarity between blocks existing in the key picture, a sum of absolute difference (SAD), mean absolute difference (MAD), or sum of square difference (SSD) may be used. .

그러나, 본 발명은 이에 한정되지 않으며, 블록크기가 정사각형이 아닌 임의의 형태로 구성할 수도 있으며, 키 픽처 내에 존재하는 블록간의 유사도를 측정하는 방법에 있어서도 다른 임의의 방식을 선택할 수 있음은 물론이다. 또한, 본 발명은 도 2에서 도시한 바와 같이 보조정보를 보간법으로 수행하는 경우, 보외법으로 수행하는 경우 등 어떠한 경우에 있어서도 적용할 수 있다.However, the present invention is not limited thereto, and the block size may be configured in any shape other than square, and in the method of measuring similarity between blocks existing in the key picture, other arbitrary methods may be selected. . In addition, the present invention can be applied in any case, such as the case of performing the auxiliary information by the interpolation method, the extrapolation method as shown in FIG.

이어서, 움직임 벡터 생성부(350)는 생성된 움직임 벡터들 중 가장 높은 유사도에 대응하는 움직임 벡터를 선택한다. 즉, 블록 간의 유사도가 가장 큰 움직임 벡터가 가장 우수한 움직임 보상을 보장할 수 있다.Subsequently, the motion vector generator 350 selects a motion vector corresponding to the highest similarity among the generated motion vectors. That is, a motion vector having the largest similarity between blocks can ensure the best motion compensation.

움직임 벡터 생성부(350)는 단계 560에서 선택된 움직임 벡터를 보조정보 생성부(340)로 출력한다. The motion vector generator 350 outputs the motion vector selected in step 560 to the auxiliary information generator 340.

상기와 같이 본 발명의 바람직한 실시 예에 따른 Wyner-Ziv 코딩기술에서의 복호화에 있어서, 선택적 해쉬정보 이용방법 및 그 장치가 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 요지를 벗어나지 않는 범위에서 다양한 실시예가 있을 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.As described above, in the decoding in the Wyner-Ziv coding technique according to the preferred embodiment of the present invention, a method and apparatus for using selective hash information may be made. Meanwhile, in the above description of the present invention, specific embodiments have been described. Various embodiments may be made without departing from the spirit or scope of the present invention. Accordingly, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by equivalents of the claims and the claims.

Claims (19)

소정의 부호화 단위 별로 가변블럭 움직임 예측을 이용한 분산 비디오 부호화 영상의 복호화 장치에 있어서,
부호화 장치로부터 전송되는 키픽처를 복원하는 키픽처 복호화부;
상기 복원된 키픽처를 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하고 상기 생성한 움직임 벡터를 출력하는 움직임 벡터 생성부;
상기 복원된 키픽처 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 보조정보 생성부;
상기 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 채널코드 복호화부; 및
상기 채널코드 복호화부에 의해 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 복호화 대상이 되는 현재의 픽처를 복원하는 영상복원부를 포함하며,
상기 움직임 벡터 생성부는 상기 보조 정보의 움직임 예측을 위해 복수 개의 블록의 크기들을 결정하고, 각각의 크기를 갖는 블록들을 이용하여 상기 복원된 키픽처들간의 움직임 벡터들을 구하고, 상기 구한 움직임 벡터들 중 소정의 기준에 의해 움직임 벡터를 선택하고,
상기 복수개의 블록 크기는 상기 부호화 단위 그대로의 크기, 가로방향으로 이등분한 크기, 세로방향으로 이등분한 크기, 가로 및 세로 방향으로 각각 이등분한 크기 중 적어도 하나를 포함하는 분산 비디오 부호화 영상의 복호화 장치.
In the apparatus for decoding a distributed video encoded image using variable block motion prediction for each predetermined coding unit,
A key picture decoder for reconstructing a key picture transmitted from the encoding apparatus;
A motion vector generator configured to determine a size of a block for performing motion prediction using the reconstructed key picture, generate a motion vector, and output the generated motion vector;
An auxiliary information generator configured to generate auxiliary information using the reconstructed key picture and the generated motion vector;
A channel code decoder for estimating a quantized value using the parity bits transmitted from the encoding apparatus and the auxiliary information; And
An image restoring unit for restoring a current picture to be decoded by using the quantized value estimated by the channel code decoding unit and the auxiliary information;
The motion vector generator determines sizes of a plurality of blocks for motion prediction of the auxiliary information, obtains motion vectors between the reconstructed key pictures using blocks having respective sizes, and selects one of the obtained motion vectors. Select the motion vector by
And the plurality of block sizes includes at least one of a size of the coding unit, a size bisected in the horizontal direction, a size bisected in the vertical direction, and a size bisected in the horizontal and vertical directions, respectively.
삭제delete 제1항에 있어서, 상기 움직임 벡터 생성부는
상기 복원된 키 픽처를 이용한 움직임 예측을 위하여 복수개의 블록 크기들을 결정하는 블록 크기 결정부;
상기 복원된 키 픽처들 중 하나의 키 픽처의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 픽처들 중 다른 하나의 키 픽처의 영역을 탐색하여 가장 일치하는 제2 블록을 찾아내고, 상기 제1 블록과 상기 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수개의 블록 크기들에 대해 각각 생성하는 움직임 예측 수행부;
상기 움직임 예측 수행부에 의해 생성된 움직임 벡터들을 저장하는 움직임 벡터 저장부; 및
상기 움직임 벡터들 중 상기 하나의 키 픽처의 제1 블록과 상기 다른 하나의 키 픽처의 제2 블록간의 유사도를 측정하여 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택하는 움직임 벡터 선택부를 포함하는 분산 비디오 부호화 영상의 복호화 장치.
The method of claim 1, wherein the motion vector generator
A block size determiner which determines a plurality of block sizes for motion prediction using the reconstructed key picture;
Search for an area of the other key picture of the reconstructed key pictures to find an area that matches the first block of one key picture of the reconstructed key pictures, and find the second block that most matches the A motion prediction performing unit generating a motion vector which is a difference value between a first block and the second block for each of the plurality of block sizes;
A motion vector storage unit for storing motion vectors generated by the motion prediction execution unit; And
A motion vector selector configured to measure a similarity between the first block of the one key picture and the second block of the other key picture among the motion vectors, and select a motion vector having a block size corresponding to the highest similarity; Decoding apparatus for distributed video encoded image.
제3항에 있어서, 상기 움직임 벡터 선택부는 상기 제1 블록과 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 상기 유사도를 측정하는 분산 비디오 부호화 영상의 복호화 장치.The method of claim 3, wherein the motion vector selector is a sum of absolute difference between the first block and the second block, and an absolute sum of absolute differences between the differences between the blocks. And a similarity measurement using any one of a sum of square difference (SSD) and a sum of square differences (SSD). 삭제delete 제1항에 있어서, 상기 움직임 벡터 생성부는 상기 복원된 키 피처들 간에 움직임이 단조롭고 큰 차이가 없는 경우에는 상기 부호화 단위를 가로방향으로 이등분한 크기, 세로방향으로 이등분한 크기 중 하나를 움직임 예측을 위해 결정하는 분산 비디오 부호화 영상의 복호화 장치.The method of claim 1, wherein the motion vector generator is further configured to estimate the motion by one of a size bisected by the coding unit in the horizontal direction and a size bisected in the vertical direction when the motion is monotonous and there is no significant difference between the reconstructed key features. The apparatus for decoding distributed video encoded images determined for the sake of brevity. 제6항에 있어서, 상기 움직임 예측을 위해 결정한 크기는 16ⅹ8, 8ⅹ16의 블록 크기들 중 적어도 하나를 포함하는 분산 비디오 부호화 영상의 복호화 장치. The apparatus of claim 6, wherein the size determined for the motion prediction comprises at least one of block sizes of 16 × 8 and 8 × 16. 제1항에 있어서, 상기 움직임 벡터 생성부는 상기 복원된 키픽처들 간에 세밀한 움직임이 있거나, 움직임이 많은 경우에는 상기 부호화 단위를 가로 및 세로 방향으로 각각 이등분한 크기를 움직임 예측을 위해 결정하는 분산 비디오 부호화 영상의 복호화 장치.The distributed video of claim 1, wherein the motion vector generator determines fine motions between the reconstructed key pictures or the motion units when the motion vector generation is divided into two horizontal and vertical directions for motion prediction. Decoding apparatus for encoded video. 제8항에 있어서, 상기 움직임 예측을 위해 결정한 크기는 8ⅹ8, 4ⅹ4의 블록 크기들 중 적어도 하나를 포함하는 분산 비디오 부호화 영상의 복호화 장치.The apparatus of claim 8, wherein the size determined for the motion prediction comprises at least one of block sizes of 8 × 8 and 4 × 4. 소정의 부호화 단위 별로 가변블럭 움직임 예측을 이용한 분산 비디오 부호화 영상의 복호화 방법에 있어서,
부호화 장치로부터 전송되는 키픽처를 복원하는 단계;
상기 복원된 키픽처를 이용한 움직임 예측을 수행하기 위한 블록의 크기를 결정하여 움직임 벡터를 생성하는 단계;
상기 복원된 키픽처 및 상기 생성된 움직임 벡터를 이용하여 보조정보를 생성하는 단계;
상기 부호화 장치로부터 전송되는 패리티 비트와 상기 보조정보를 이용하여 양자화된 값을 추정하는 단계; 및
상기 추정된 상기 양자화된 값과 상기 보조정보를 이용하여 복호화 대상이 되는 현재의 픽처를 복원하는 단계를 포함하며,
상기 움직임 벡터를 생성하는 단계는 상기 보조 정보의 움직임 예측을 위해 복수 개의 블록의 크기들을 결정하는 단계;
상기 각각의 크기를 갖는 블록들을 이용하여 상기 복원된 키픽처들간의 움직임 벡터들을 구하는 단계; 및
상기 구한 움직임 벡터들 중 소정의 기준에 의해 움직임 벡터를 선택하는 단계인 것을 특징으로 하고,
상기 복수개의 블록 크기는 상기 부호화 단위 그대로의 크기, 가로방향으로 이등분한 크기, 세로방향으로 이등분한 크기, 가로 및 세로 방향으로 각각 이등분한 크기 중 적어도 하나를 포함하는 분산 비디오 부호화 방법.
A method of decoding a distributed video encoded image using variable block motion prediction for each predetermined coding unit,
Restoring a key picture transmitted from the encoding apparatus;
Generating a motion vector by determining a size of a block for performing motion prediction using the reconstructed key picture;
Generating auxiliary information using the reconstructed key picture and the generated motion vector;
Estimating a quantized value using parity bits transmitted from the encoding apparatus and the auxiliary information; And
Restoring a current picture to be decoded using the estimated quantized value and the auxiliary information;
The generating of the motion vector may include determining sizes of a plurality of blocks for motion prediction of the auxiliary information;
Obtaining motion vectors between the reconstructed key pictures using the blocks having respective sizes; And
Selecting a motion vector based on a predetermined criterion among the obtained motion vectors,
The plurality of block sizes include at least one of a size of the coding unit, a size bisected in the horizontal direction, a size bisected in the vertical direction, and a size bisected in the horizontal and vertical directions, respectively.
삭제delete 제10항에 있어서, 상기 움직임 벡터들을 구하는 단계는
상기 복원된 키 픽처들 중 하나의 키 픽처의 제1 블록과 일치하는 영역을 찾기 위해 상기 복원된 키 픽처들 중 다른 하나의 키 픽처의 영역을 탐색하여 가장 일치하는 제2 블록을 찾아내는 단계; 및
상기 제1 블록과 제2 블록 사이의 차이값인 움직임 벡터를 상기 복수개의 블록 크기들에 대해 각각 생성하는 단계를 포함하는 분산 비디오 부호화 영상의 복호화 방법.
11. The method of claim 10, wherein obtaining the motion vectors
Searching an area of another key picture of the reconstructed key pictures to find an area that matches the first block of one key picture of the reconstructed key pictures and finding a second block that most matches the second block; And
And generating a motion vector, which is a difference between the first block and the second block, for the plurality of block sizes, respectively.
제10항에 있어서, 상기 움직임 벡터를 선택하는 단계는
상기 복원된 키 픽처들 중 하나의 키 픽처의 제1 블록과 상기 복원된 키 픽처들 중 다른 하나의 키 픽처의 제2 블록간의 유사도를 상기 각 움직임 벡터에 대해 측정하는 단계; 및
상기 유사도가 측정된 움직임 벡터들 중 가장 높은 유사도에 대응하는 블록 크기의 움직임 벡터를 선택하는 단계를 포함하는 분산 비디오 부호화 영상의 복호화 방법.
The method of claim 10, wherein the selecting of the motion vector
Measuring similarity between the first block of one key picture of the reconstructed key pictures and the second block of the other key picture of the reconstructed key pictures for the respective motion vectors; And
Selecting a motion vector having a block size corresponding to the highest similarity among the motion vectors from which the similarity is measured.
제13항에 있어서, 상기 유사도는 상기 제1 블록과 제2 블록 간의 SAD(Sum of Absolute Difference, 각 블록의 차의 절대 합), MAD(Mean Absolute Difference, 각 블록의 차의 절대 합의 평균) 및 SSD(Sum of Square Difference, 각 블록의 차의 제곱 합) 중 어느 하나를 이용하여 측정되는 분산 비디오 부호화 영상의 복호화 방법.15. The method of claim 13, wherein the similarity is determined by Sum of Absolute Difference (SAD) between the first block and the second block, Mean Absolute Difference (MAD), and Average of the absolute sum of the differences between the blocks. A method of decoding a distributed video encoded image measured using any one of a sum of square difference (SSD). 삭제delete 제10항에 있어서, 상기 복수 개의 블록의 크기들을 결정하는 단계는 상기 복원된 키 피처들 간에 움직임이 단조롭고 큰 차이가 없는 경우에는 상기 부호화 단위를 가로방향으로 이등분한 크기, 세로방향으로 이등분한 크기 중 하나를 움직임 예측을 위해 결정하는 단계인 분산 비디오 부호화 영상의 복호화 방법.The method of claim 10, wherein the determining of the sizes of the plurality of blocks comprises: dividing the coding unit horizontally and bisecting vertically when the motion is monotonous and there is no significant difference between the reconstructed key features. A method of decoding a distributed video encoded image, which is a step of determining one of motion prediction. 제16항에 있어서, 상기 움직임 예측을 위해 결정한 크기는 16ⅹ8, 8ⅹ16의 블록 크기들 중 적어도 하나를 포함하는 분산 비디오 부호화 영상의 복호화 방법.17. The method of claim 16, wherein the size determined for motion prediction comprises at least one of block sizes of 16x8 and 8x16. 제10항에 있어서, 상기 복수 개의 블록의 크기들을 결정하는 단계는 상기 복원된 키 픽처 간에 세밀한 움직임이 있거나, 움직임이 많은 경우에는 상기 부호화 단위를 가로 및 세로 방향으로 각각 이등분한 크기를 움직임 예측을 위해 결정하는 단계인 분산 비디오 부호화 영상의 복호화 방법.The method of claim 10, wherein the determining of the sizes of the plurality of blocks includes performing motion prediction by dividing the size of the coding unit into two horizontal and vertical directions, respectively, when there is fine motion between the reconstructed key pictures, or when there is a lot of motion. A method of decoding a distributed video encoded image, which is a step of deciding a risk. 제18항에 있어서, 상기 움직임 예측을 위해 결정한 크기는 8ⅹ8, 4ⅹ4의 블록 크기들 중 적어도 하나를 포함하는 분산 비디오 부호화 영상의 복호화 방법.19. The method of claim 18, wherein the size determined for motion prediction comprises at least one of block sizes of 8x8 and 4x4.
KR1020100002080A 2009-01-09 2010-01-11 Apparatuses and methods of decoding distributed video coded video KR101074919B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/521,552 US9210436B2 (en) 2010-01-11 2011-01-11 Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus
PCT/KR2011/000194 WO2011084037A2 (en) 2010-01-11 2011-01-11 Distributed video coding/decoding method, distributed video coding/decoding apparatus, and transcoding apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090002091 2009-01-09
KR1020090002091 2009-01-09

Publications (2)

Publication Number Publication Date
KR20100082738A KR20100082738A (en) 2010-07-19
KR101074919B1 true KR101074919B1 (en) 2011-10-18

Family

ID=42642740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100002080A KR101074919B1 (en) 2009-01-09 2010-01-11 Apparatuses and methods of decoding distributed video coded video

Country Status (1)

Country Link
KR (1) KR101074919B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101274508B1 (en) * 2010-12-21 2013-06-13 성균관대학교산학협력단 Method of transcoding distributed video and apparatus for the same

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
논문 1 : 2008 IEEE 10TH WORKSHOP*
논문 2 : IMAGE COMMUNICATION
논문 3 : 2007 IEEE INTERNATIONAL CONFERENCE

Also Published As

Publication number Publication date
KR20100082738A (en) 2010-07-19

Similar Documents

Publication Publication Date Title
TWI690194B (en) Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding
US8098731B2 (en) Intraprediction method and apparatus using video symmetry and video encoding and decoding method and apparatus
JP5081305B2 (en) Method and apparatus for interframe predictive coding
KR20090095012A (en) Method and apparatus for encoding and decoding image using consecutive motion estimation
US20110206118A1 (en) Data Compression for Video
JP5310614B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture decoding apparatus, and moving picture decoding method
JP2004336369A (en) Moving image encoder, moving image decoder, moving image encoding method, moving image decoding method, moving image encoding program and moving image decoding program
GB2487261A (en) Motion compensated image coding using diverse set of motion predictors
EP2522143A2 (en) Data compression for video
JP5717465B2 (en) Moving picture coding apparatus and moving picture coding method
KR20100027384A (en) Method and apparatus for determining a prediction mode
WO2007040197A1 (en) Reference image selection method and device
US20090016443A1 (en) Inter mode determination method for video encoding
KR20080069069A (en) Method and apparatus for intra/inter prediction
JP2006270435A (en) Dynamic image encoder
KR20130119465A (en) Block based sampling coding systems
KR100856392B1 (en) Video Encoding and Decoding Apparatus and Method referencing Reconstructed Blocks of a Current Frame
CN115118976A (en) Image coding method, readable medium and electronic device thereof
CN108401185B (en) Reference frame selection method, video transcoding method, electronic device and storage medium
KR101363044B1 (en) Method and apparatus for determining encoding mode of video image, method and apparatus for encoding/decoding video image using the same and recording medium storing program for performing the method thereof
KR101074919B1 (en) Apparatuses and methods of decoding distributed video coded video
JP2016067062A (en) Moving picture decoding method
KR101639434B1 (en) Wyner-Ziv coding and decoding system and method
KR101035746B1 (en) Method of distributed motion estimation for video encoder and video decoder
JP6528635B2 (en) Moving picture coding apparatus, moving picture coding method, and computer program for moving picture coding

Legal Events

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

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee