KR20070076391A - A method and apparatus for decoding/encoding a video signal - Google Patents

A method and apparatus for decoding/encoding a video signal Download PDF

Info

Publication number
KR20070076391A
KR20070076391A KR1020060110337A KR20060110337A KR20070076391A KR 20070076391 A KR20070076391 A KR 20070076391A KR 1020060110337 A KR1020060110337 A KR 1020060110337A KR 20060110337 A KR20060110337 A KR 20060110337A KR 20070076391 A KR20070076391 A KR 20070076391A
Authority
KR
South Korea
Prior art keywords
current block
block
flag information
offset value
value
Prior art date
Application number
KR1020060110337A
Other languages
Korean (ko)
Inventor
양정휴
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to CN 201010135987 priority Critical patent/CN101895744B/en
Priority to EP07700952A priority patent/EP1982517A4/en
Priority to US11/622,618 priority patent/US7817866B2/en
Priority to KR1020087019746A priority patent/KR100947234B1/en
Priority to JP2008550242A priority patent/JP5199123B2/en
Priority to KR1020097017207A priority patent/KR100943913B1/en
Priority to US11/622,803 priority patent/US20070177674A1/en
Priority to US11/622,591 priority patent/US7831102B2/en
Priority to CN2007800031205A priority patent/CN101375594B/en
Priority to US11/622,709 priority patent/US8154585B2/en
Priority to US11/622,681 priority patent/US8115804B2/en
Priority to KR1020097017206A priority patent/KR100943912B1/en
Priority to PCT/KR2007/000225 priority patent/WO2007081176A1/en
Priority to JP2008550241A priority patent/JP5192393B2/en
Priority to DE200720019463 priority patent/DE202007019463U1/en
Priority to KR20087019747A priority patent/KR100953646B1/en
Priority to PCT/KR2007/000228 priority patent/WO2007081178A1/en
Priority to PCT/KR2007/000226 priority patent/WO2007081177A1/en
Priority to EP07700955A priority patent/EP1982518A4/en
Priority to KR1020097017208A priority patent/KR100934676B1/en
Priority to CN 201010275254 priority patent/CN101945277B/en
Priority to KR1020097017209A priority patent/KR100943914B1/en
Priority to US11/622,611 priority patent/US7817865B2/en
Priority to US11/622,592 priority patent/US7856148B2/en
Priority to KR1020087019748A priority patent/KR101276847B1/en
Priority to US11/622,675 priority patent/US20070177671A1/en
Priority to JP2008550243A priority patent/JP5199124B2/en
Priority to KR1020097017211A priority patent/KR100943915B1/en
Priority to KR1020097017210A priority patent/KR100934677B1/en
Priority to EP07700953A priority patent/EP1977593A4/en
Publication of KR20070076391A publication Critical patent/KR20070076391A/en
Priority to US12/545,462 priority patent/US7970221B2/en
Priority to US13/356,354 priority patent/US8553073B2/en
Priority to US13/720,479 priority patent/USRE44680E1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

A method and an apparatus for decoding/encoding a video signal are provided to minimize information to be transmitted for illumination compensation by estimating an offset value of a current block by using information of a neighbor block and sending a difference between the current block and the neighbor block. To decode a video signal, flag information representing execution of illumination compensation for a current block is obtained from a video signal(S410). If illumination compensation is executed according to the flag information, an offset value of the current block representing a difference between a mean pixel value of the current block and a mean pixel value of a reference block is restorable(S420). To encode a video signal, an offset value of the current block representing a difference between a mean pixel value of the current block and a mean pixel value of a reference block is obtained. An optimum reference block matched with the current block is searched by using the offset value. A motion vector is obtained from the searched reference block for encoding.

Description

비디오 신호의 디코딩/인코딩 방법 및 장치{A method and apparatus for decoding/encoding a video signal}A method and apparatus for decoding / encoding a video signal

도 1은 본 발명을 적용한 다시점 영상(multi-view sequence) 인코딩 및 디코딩 시스템을 도시한 것이다.1 illustrates a multi-view sequence encoding and decoding system to which the present invention is applied.

도 2는 본 발명을 적용한 다시점 비디오 코딩에 있어서, 픽쳐들 간의 예측 구조의 한 예를 나타낸다. 2 shows an example of a prediction structure between pictures in multi-view video coding to which the present invention is applied.

도 3은 본 발명이 적용되는 일실시예로서, 현재 블록의 오프셋 값을 획득하는 과정을 설명하기 위한 도면을 나타낸다.3 is a diagram for describing a process of obtaining an offset value of a current block according to an embodiment to which the present invention is applied.

도 4는 본 발명이 적용된 실시예로서, 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보와 현재 블록의 오프셋 값을 이용하여 조명 보상을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.4 is an embodiment to which the present invention is applied and shows a flowchart for explaining a process of performing lighting compensation using flag information indicating whether lighting compensation is performed on a current block and an offset value of the current block.

도 5a ~ 도 5b는 본 발명이 적용된 일실시예로서, 각각 P 슬라이스 및 B 슬라이스에 속한 블록에 대해 플래그 정보와 오프셋 값을 이용하여 조명 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.5A to 5B illustrate an embodiment to which the present invention is applied to illustrate a method of performing illumination compensation using flag information and offset values for blocks belonging to a P slice and a B slice, respectively.

도 6은 본 발명이 적용되는 일실시예로서, 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우에 있어서 조명 보상을 수행하는 방법을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a method of performing lighting compensation when a current block is predictively coded using two or more reference blocks according to an embodiment to which the present invention is applied.

도 7은 본 발명이 적용되는 일실시예로서, 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보를 이용하여 조명 보상을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.FIG. 7 is a flowchart illustrating a process of performing lighting compensation using flag information indicating whether lighting compensation is performed on a current block according to an embodiment to which the present invention is applied.

도 8a ~ 도 8c는 본 발명이 적용된 일실시예로서, 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보의 사용 범위를 설명하기 위해 나타낸 것이다.8A to 8C are diagrams illustrating the use range of flag information indicating whether lighting compensation is performed on a current block as an embodiment to which the present invention is applied.

도 9는 본 발명이 적용되는 일실시예로서, 현재 블록의 오프셋 값을 고려하여 움직임 벡터를 획득하는 과정을 설명하기 위한 흐름도를 나타낸다.9 is a flowchart illustrating a process of obtaining a motion vector in consideration of an offset value of a current block according to an embodiment to which the present invention is applied.

본 발명은 비디오 신호의 디코딩/인코딩 방법 및 장치에 관한 기술이다.The present invention relates to a method and apparatus for decoding / encoding a video signal.

현재 주류를 이루고 있는 비디오 방송 영상물은 한 대의 카메라로 획득한 단일시점 영상이다. 반면, 다시점 비디오(Multi-view video)란 한 대 이상의 카메라를 통해 촬영된 영상들을 기하학적으로 교정하고 공간적인 합성 등을 통하여 여러 방향의 다양한 시점을 사용자에게 제공하는 3차원(3D) 영상처리의 한 분야이다. 다시점 비디오는 사용자에게 3차원 입체 영상, 또는 많은 시점의 영상을 제공할 수 있으며, 한대의 카메라를 이용하여 획득할 수 있는 영상 영역에 비해 큰 영역을 포함하는 특징을 지닌다. The mainstream video broadcasting image is a single view image acquired with one camera. Multi-view video, on the other hand, is a three-dimensional (3D) image processing method that geometrically corrects images taken by more than one camera and provides users with various viewpoints in various directions through spatial synthesis. It is a field. A multi-view video may provide a 3D stereoscopic image or an image of many viewpoints to a user, and has a feature that includes a larger area than an image area that can be acquired using a single camera.

상기에서 설명한 다시점 비디오(Multi-view video)의 각 시점 영상(view sequence)들은 각기 다른 카메라에서 취득된 영상들이기 때문에 카메라의 내외적 요인으로 인하여 조명 (illumination) 차이가 발생하게 된다. 예를 들어, 카메라의 이질성(camera heterogeneity), 카메라 측정(camera calibration)의 차이, 또는 카메라의 정렬 (camera alignment)의 차이 등이 원인이 된다. 이러한 조명 차이는 다른 시점(view)들 간의 상관도를 현저히 떨어뜨려 효과적인 부호화를 저해하므로, 이를 방지하기 위해서 조명 보상 부호화(illumination compensated coding) 기술이 필요하다. Since the view sequences of the multi-view video described above are images obtained from different cameras, illumination differences may occur due to internal and external factors of the camera. For example, a camera heterogeneity, a difference in camera calibration, or a camera alignment is caused. Since the illumination difference significantly lowers the correlation between different views, thereby inhibiting effective coding, an illumination compensated coding technique is required to prevent this.

본 발명의 목적은 일정 계층에 대한 조명 보상 적용 여부를 나타내는 식별자를 사용함으로써 효율적인 조명 보상을 수행하고자 함에 있다.An object of the present invention is to perform efficient lighting compensation by using an identifier indicating whether to apply lighting compensation to a certain layer.

본 발명의 다른 목적은 현재 블록의 조명 보상 수행 여부를 나타내는 식별자와 블록들 사이의 평균 화소값 차이를 나타내는 오프셋 값을 이용하여 조명 보상을 수행함으로써 비디오 신호의 코딩 효율을 높이고자 함에 있다.Another object of the present invention is to improve coding efficiency of a video signal by performing lighting compensation using an identifier indicating whether lighting compensation is performed on a current block and an offset value indicating an average pixel value difference between blocks.

본 발명의 또 다른 목적은 블록 간 또는 시점 간의 상관관계를 효과적으로 이용하여 비디오 신호의 코딩 효율을 높이고자 함에 있다.Another object of the present invention is to improve coding efficiency of a video signal by effectively using correlations between blocks or views.

본 발명의 또 다른 목적은 움직임 추정을 수행할 때 블록들 사이의 평균 화소값 차이를 나타내는 오프셋 값을 고려함으로써 비디오 신호의 코딩 효율을 높이고자 함에 있다.Another object of the present invention is to improve coding efficiency of a video signal by considering an offset value representing an average pixel value difference between blocks when performing motion estimation.

상기 목적을 달성하기 위하여 본 발명은 현재 블록의 조명보상 수행여부를 나타내는 플래그 정보를 획득하는 단계와 상기 플래그 정보에 따라 조명보상이 수 행되는 경우, 상기 현재 블록의 평균 화소값과 참조 블록의 평균 화소값의 차이를 나타내는 현재 블록의 오프셋 값을 복원하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.In order to achieve the above object, the present invention obtains flag information indicating whether or not to perform lighting compensation of a current block, and when lighting compensation is performed according to the flag information, an average pixel value of the current block and an average of a reference block. And restoring an offset value of a current block representing a difference in pixel values.

또한, 본 발명은 비디오 신호의 일정 계층에 대해 조명 보상(illumination compensation)을 수행하도록 유도하는 플래그 정보를 획득하는 단계와 상기 플래그 정보에 따라 조명 보상이 수행된 상기 비디오 신호의 일정 계층을 디코딩하는 단계를 포함하되, 상기 비디오 신호의 일정 계층은, 시퀀스(sequence) 계층, 시점(view) 계층, 픽쳐그룹(Group Of Picture) 계층, 픽쳐(picture) 계층, 슬라이스(slice) 계층, 매크로블록(macroblock) 계층 또는 블록(block) 계층 중 어느 하나인 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.The present invention also provides a method of obtaining flag information for inducing illumination compensation for a certain layer of a video signal, and decoding a layer of the video signal for which illumination compensation is performed according to the flag information. The predetermined layer of the video signal may include a sequence layer, a view layer, a picture group layer, a picture layer, a slice layer, and a macroblock. Provided is a video signal decoding method characterized in that either of a layer or a block layer.

또한, 본 발명은 현재 블록의 평균 화소값과 참조 블록의 평균 화소값 차이를 나타내는 현재 블록의 오프셋 값을 획득하는 단계와 상기 오프셋 값을 이용하여 현재 블록과 최적으로 매칭되는 참조 블록을 서치하는 단계 및 상기 서치된 참조 블록으로부터 움직임 벡터를 획득하여 부호화하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 인코딩 방법을 제공한다.The present invention also provides a method of obtaining an offset value of a current block representing a difference between an average pixel value of a current block and an average pixel value of a reference block, and searching for a reference block that is optimally matched to the current block using the offset value. And obtaining and encoding a motion vector from the searched reference block.

상술한 목적 및 구성의 특징은 첨부된 도면과 관련하여 다음의 상세한 설명을 통하여 보다 명확해질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들를 상세히 설명한다.The above objects and features of the construction will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우는 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 함을 밝혀두고자 한다.In addition, the terms used in the present invention was selected as a general term widely used as possible now, but in some cases, the term is arbitrarily selected by the applicant, in which case the meaning is described in detail in the description of the invention, It is to be understood that the present invention is to be understood as the meaning of terms rather than the names of terms.

도 1은 본 발명을 적용한 다시점 영상(multi-view sequence) 인코딩 및 디코딩 시스템을 도시한 것이다. 도 1에 도시된 바와 같이, 본 발명을 적용한 다시점 영상 인코딩 시스템은, 다시점 영상 발생부(10), 전처리부(20, preprocessing part) 및 인코딩부(30, encoding part)를 포함하여 구성된다. 또한, 디코딩 시스템은 익스트랙터(40, extractor), 디코딩부(50, decoding part), 후처리부(60, post processing part) 및 디스플레이부(70, display part)를 포함하여 구성된다.1 illustrates a multi-view sequence encoding and decoding system to which the present invention is applied. As shown in FIG. 1, the multiview image encoding system to which the present invention is applied includes a multiview image generator 10, a preprocessing part 20, and an encoding part 30. . In addition, the decoding system includes an extractor 40, an extractor 50, a decoding part 50, a post processing part 60, and a display part 70.

상기 다시점 영상 발생부(10)는 다시점 개수 만큼의 영상 획득장치(예를 들어, 카메라 #1 ~ #N)를 구비하여, 각 시점별로 독립적인 영상을 획득하게 된다. 전처리부(20)는 다시점 영상 데이터가 입력되면, 노이즈 제거, 임발란싱(imbalancing) 문제를 해결하면서 전처리 과정을 통해 다시점 영상 데이터들 간의 상관도를 높여주는 기능을 수행한다. 인코딩부(30)는 움직임(motion) 추정부, 움직임 보상부 및 시점 간의 변이(disparity) 추정부, 변이 보상부, 조명(illumination) 보상부, 비트율 제어 및 차분(residual) 영상 인코딩부 등을 포함한다. 상기 인코딩부(30)는 일반적으로 알려진 방식을 적용할 수 있다.The multi-view image generator 10 includes an image obtaining apparatus (for example, cameras # 1 to #N) corresponding to the number of multi-views to acquire independent images for each viewpoint. When the multiview image data is input, the preprocessing unit 20 performs a function of increasing the correlation between the multiview image data through a preprocessing process while solving noise removal and imbalancing problems. The encoder 30 includes a motion estimator, a motion compensator, and a disparity estimator, a disparity compensator, an illumination compensator, a bit rate control, and a residual image encoder. do. The encoding unit 30 may apply a generally known method.

본 발명이 적용되는 상기 인코딩부(30)의 조명 보상부는 MVC를 위한 조명 변화에 적응적인 움직임 보상을 수행한다. 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보를 이용함으로써 코딩 효율을 높일 수 있다. 또한, 현재 블록의 평 균 화소값과 그에 대응하는 참조 블록의 평균 화소값을 구하여, 상기 두 평균 화소값의 차이를 획득하여 전송함으로써 효율적인 부호화를 수행할 수 있다. 이때 상기 현재 블록의 평균 화소값과 그에 대응하는 참조 블록의 평균 화소값과의 차이를 오프셋 값이라 한다. 상기 현재 블록의 오프셋 값을 전송함에 있어서, 코딩할 비트수를 더 감소시킬 필요가 있다. 예를 들어, 상기 현재 블록의 이웃 블록들을 이용하여 상기 현재 블록의 오프셋 값의 프리딕터를 획득하고, 상기 오프셋 값과 상기 프리딕터와의 차이값을 획득하여 그 차이값만 전송할 수 있다. 위와 같은 과정을 수행할 때, 다른 시점의 픽쳐를 참조 픽쳐로 이용할 수 있는데, 이 때 픽쳐의 시점을 나타내는 시점 식별자가 이용될 수 있다.The lighting compensator of the encoding unit 30 to which the present invention is applied performs motion compensation adaptive to lighting changes for MVC. Coding efficiency may be increased by using flag information indicating whether lighting compensation is performed on a current block. Also, by obtaining the average pixel value of the current block and the average pixel value of the corresponding reference block, the difference between the two average pixel values can be obtained and transmitted, thereby enabling efficient encoding. In this case, a difference between the average pixel value of the current block and the average pixel value of the reference block corresponding thereto is referred to as an offset value. In transmitting the offset value of the current block, it is necessary to further reduce the number of bits to be coded. For example, a predicate of an offset value of the current block may be obtained using neighboring blocks of the current block, a difference value between the offset value and the predictor may be obtained, and only the difference value may be transmitted. When the above process is performed, a picture of another view may be used as a reference picture. At this time, a view identifier indicating a view of the picture may be used.

익스트랙터(40)는 전송된 MVC 비트스트림으로부터 원하는 시점(view)에 해당하는 비트스트림만 추출할 수 있는 기능을 한다. 상기 익스트랙터(40)는 헤더를 보고 선택적으로 원하는 시점만 디코딩할 수 있다. 또한, 픽쳐의 시점을 구별하는 시점 식별자(view identifier)를 이용하여 원하는 시점에 해당하는 비트스트림만을 추출함으로써 시점 확장성(view scalability)을 구현할 수 있다. MVC는 H.264/AVC와 완벽하게 호환이 가능해야 하기 때문에 H.264/AVC와 호환 가능한 특정 시점만 디코딩해야 할 필요가 있다. 이러한 경우, 호환 가능한 시점만 디코딩하기 위해 픽쳐의 시점을 구별하는 시점 식별자가 이용될 수 있다. 익스트랙터(40)를 통해 추출된 비트스트림은 디코딩부(50)로 전송된다. 디코딩부(50)는 움직임 보상부, 조명 보상부, 가중치 예측부, 디블록킹 필터부 등을 포함한다. 디코딩부(50)는 전술한 방식에 의해 인코딩된 비트스트림을 수신한 후, 이를 역으로 디코딩한다.The extractor 40 functions to extract only a bitstream corresponding to a desired view from the transmitted MVC bitstream. The extractor 40 may view the header and selectively decode only the desired time point. In addition, view scalability may be implemented by extracting only a bitstream corresponding to a desired view using a view identifier that distinguishes a view of a picture. Since MVC must be fully compatible with H.264 / AVC, it is necessary to decode only a specific point in time that is compatible with H.264 / AVC. In this case, a view identifier that distinguishes a view of the picture may be used to decode only compatible views. The bitstream extracted through the extractor 40 is transmitted to the decoding unit 50. The decoder 50 includes a motion compensator, an illumination compensator, a weight predictor, a deblocking filter, and the like. The decoding unit 50 receives the bitstream encoded by the above-described method, and decodes it in reverse.

본 발명이 적용되는 상기 디코딩부(50)의 조명 보상부는 MVC를 위한 조명 변화에 적응적인 움직임 보상을 수행한다. 따라서, 현재 블록을 복원하기 위해서는 현재 블록의 평균 화소값과 그에 대응하는 참조 블록의 평균 화소값 사이의 차이값인 현재 블록의 오프셋 값이 인코딩부(30)로부터 전송되어져야 한다. 또한, 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보도 함께 전송되어질 수 있다. 상기 오프셋 값을 전송함에 있어서, 코딩할 비트수를 더 감소시키기 위한 방법의 일례로, 상기 현재 블록의 이웃 블록들을 이용하여 상기 현재 블록의 오프셋 값의 프리딕터를 획득하고, 상기 오프셋 값과 상기 프리딕터와의 차이값(residual)을 획득하여 그 차이값만 전송하였다. 따라서, 디코딩부(50)에서는 비디오 신호로부터 상기 현재 블록의 이웃 블록들의 플래그 정보 및 오프셋 값, 상기 현재 블록과 그 이웃 블록들의 해당 참조 블록들의 인덱스 정보 등을 추출하고, 이를 이용하여 상기 프리딕터를 획득할 수 있다. 그리고, 상기 오프셋 값과 상기 프리딕터와의 차이값(residual)을 획득하고, 상기 차이값과 상기 프리딕터를 이용하여 상기 현재 블록의 오프셋 값을 복원할 수 있다. 위와 같이 상기 프리딕터를 획득하는 과정을 수행할 때, 다른 시점의 픽쳐를 참조 픽쳐로 이용하는 경우, 픽쳐의 시점을 나타내는 시점 식별자가 이용될 수 있다.The lighting compensator of the decoding unit 50 to which the present invention is applied performs motion compensation adaptive to lighting changes for MVC. Accordingly, in order to recover the current block, an offset value of the current block, which is a difference between the average pixel value of the current block and the average pixel value of the reference block corresponding thereto, must be transmitted from the encoding unit 30. In addition, flag information indicating whether lighting compensation is performed on the current block may be transmitted together. In transmitting the offset value, as an example of a method for further reducing the number of bits to be coded, using the neighboring blocks of the current block, a predictor of the offset value of the current block is obtained, and the offset value and the free value are obtained. The difference with the dict was obtained and only the difference was transmitted. Accordingly, the decoding unit 50 extracts flag information and offset values of neighboring blocks of the current block, index information of corresponding reference blocks of the current block and its neighboring blocks from the video signal, and uses the predictor to extract the predictor. Can be obtained. The offset value may be obtained between the offset value and the predictor, and the offset value of the current block may be restored using the difference value and the predictor. When performing the process of acquiring the predictor as described above, when a picture of another view is used as a reference picture, a view identifier indicating a view of the picture may be used.

또한, 후처리부(60)는 디코딩된 데이터의 신뢰도 및 해상도를 높여주는 기능을 수행하게 된다. 마지막으로 디스플레이부(70)는 디스플레이의 기능, 특히 다시점 영상을 처리하는 능력에 따라 다양한 방식으로 사용자에게 디코딩된 데이터를 제공하게 된다. 예를 들어, 평면 2차원 영상만을 제공하는 2D 디스플레이(71)이거 나, 2개의 시점을 입체 영상으로 제공하는 스테레오(stereo) 타입의 디스플레이(73)이거나 또는 M개의 시점(2<M)을 입체 영상으로 제공하는 디스플레이(75)일 수 있다.In addition, the post-processing unit 60 performs a function of increasing the reliability and resolution of the decoded data. Finally, the display unit 70 provides the decoded data to the user in various ways depending on the function of the display, in particular, the ability to process a multi-view image. For example, it is a 2D display 71 that provides only a planar two-dimensional image, or a stereo type display 73 that provides two views as a stereoscopic image, or a stereoscopic view of M views (2 <M). The display 75 may provide an image.

도 2는 본 발명을 적용한 다시점 비디오 코딩에 있어서, 픽쳐들 간의 예측 구조의 한 예를 나타낸다. 2 shows an example of a prediction structure between pictures in multi-view video coding to which the present invention is applied.

도 2에 나타난 바와 같이 가로축의 T0 ~ T100 은 각각 시간에 따른 프레임을 나타낸 것이고, 세로축의 S0 ~ S7은 각각 시점에 따른 프레임을 나타낸 것이다. 예를 들어, T0에 있는 픽쳐들은 같은 시간대(T0)에 서로 다른 카메라에서 찍은 영상들을 의미하며, S0 에 있는 픽쳐들은 한 대의 카메라에서 찍은 다른 시간대의 영상들을 의미한다. 또한, 도면 상의 화살표들은 각 픽쳐들의 예측 방향과 순서를 나타낸 것으로서, 예를 들어, T0 시간대의 S2 시점에 있는 P0 픽쳐는 I0로부터 예측된 픽쳐이며, 상기 P0 픽쳐는 TO 시간대의 S4 시점에 있는 또 다른 P0 픽쳐의 참조 픽쳐가 된다. 또한, S2 시점의 T4, T2 시간대에 있는 B1, B2 픽쳐의 참조 픽쳐가 된다.As shown in FIG. 2, T0 to T100 on the horizontal axis represent frames according to time, and S0 to S7 on the vertical axis represent frames according to viewpoints, respectively. For example, pictures in T0 refer to images taken by different cameras in the same time zone (T0), and pictures in S0 refer to images in different time zones taken by one camera. In addition, the arrows in the drawing indicate the prediction direction and the order of each picture. For example, a P0 picture at S2 time point in the T0 time zone is a picture predicted from I0, and the P0 picture is also at S4 time point in the TO time zone. It becomes a reference picture of another P0 picture. It is also a reference picture of the B1 and B2 pictures in the T4 and T2 time zones at the time S2.

본 발명이 적용되는 조명 보상은 예를 들어, 움직임 추정(motion estimation), 또는 움직임 보상(motion compensation)을 수행하는 과정에서 적용될 수 있는데, 현재 블록이 다른 시점에 있는 참조 블록을 이용하여 조명 보상이 수행될 때 상기 예측 구조가 적용될 수 있다. 이러한 경우에도, 상기 블록들 사이의 시점을 구별해주는 식별자가 필요할 수 있다. The lighting compensation to which the present invention is applied may be applied, for example, in the process of performing motion estimation or motion compensation, and the lighting compensation may be applied using a reference block at which the current block is different. The prediction structure may be applied when performed. Even in this case, an identifier for distinguishing the viewpoints between the blocks may be needed.

도 3은 본 발명이 적용되는 일실시예로서, 현재 블록의 오프셋 값을 획득하 는 과정을 설명하기 위한 도면을 나타낸다.3 is a diagram for describing a process of obtaining an offset value of a current block according to an embodiment to which the present invention is applied.

조명 보상은 움직임 추정 과정에서 수행될 수 있다. 현재 블록과 후보 참조 블록(candidate reference block)의 유사성을 비교할 때 양 블록 사이의 조명 차이를 고려하여야 한다. 상기 조명 차이를 보상하기 위하여 새로운 움직임 추정/움직임 보상이 수행된다. 새로운 SAD(Sum of Absolute Differences)는 아래 수학식 2를 이용하여 구할 수 있다.Illumination compensation may be performed in the motion estimation process. When comparing the similarity between the current block and the candidate reference block, the lighting difference between the two blocks should be considered. New motion estimation / motion compensation is performed to compensate for the illumination difference. New sum of absorptive differences (SAD) can be obtained using Equation 2 below.

Figure 112006082002934-PAT00001
Figure 112006082002934-PAT00001

Figure 112006082002934-PAT00002
Figure 112006082002934-PAT00002

여기서, Mc 는 현재 블록의 평균 화소값을 나타내고, Mr 은 참조 블록의 평균 화소값을 나타낸다. Ic(x,y) 는 현재 블록의 (x,y)좌표에서의 화소값을 나타내고, Ir(x+△x, y+△y) 는 참조 블록의 움직임 벡터(△x,△y)일 때의 화소값를 나타낸다. 상기 수학식 1의 새로운 SAD에 기초하여 움직임 추정을 수행함으로써 상기 현재 블록과 상기 참조 블록 사이의 평균 화소값 차이가 획득될 수 있다. 상기 획득된 평균 화소값 차이를 오프셋 값(IC_offset)이라 한다.Here, M c represents an average pixel value of the current block and M r represents an average pixel value of the reference block. I c (x, y) represents the pixel value at the (x, y) coordinate of the current block, and I r (x + Δx, y + Δy) is the motion vector (Δx, Δy) of the reference block. Indicates a pixel value. By performing motion estimation based on the new SAD of Equation 1, an average pixel value difference between the current block and the reference block may be obtained. The obtained average pixel value difference is referred to as an offset value IC_offset.

조명 보상이 적용된 움직임 추정이 수행되는 경우, 오프셋 값과 움직임 벡터가 구해지고 조명 보상은 상기 오프셋 값과 상기 움직임 벡터를 이용하여 수학식 3과 같이 수행된다.When motion estimation with illumination compensation is performed, an offset value and a motion vector are obtained, and illumination compensation is performed using Equation 3 using the offset value and the motion vector.

Figure 112006082002934-PAT00003
Figure 112006082002934-PAT00003

여기서, R(x,y)는 조명 보상이 수행된 오차값(residual)을 나타낸다.Here, R (x, y) represents an error value in which illumination compensation is performed.

오프셋 값(IC_offset = Mc- Mr)은 디코딩부(50)로 전송되어야 한다. 디코딩부(50)에서의 조명 보상은 다음과 같이 수행된다.The offset value IC_offset = M c -M r must be transmitted to the decoding unit 50. Lighting compensation in the decoding unit 50 is performed as follows.

Figure 112006082002934-PAT00004
Figure 112006082002934-PAT00004

R,(x,y)는 복원된, 조명 보상이 수행된 오차값(residual)을 나타내고, I'c(x,y)는 복원된 현재 블록의 화소값을 나타낸다. R, (x, y) denotes a two restored, the illumination compensation values to perform the error (residual), I 'c ( x, y) represents the pixel value of the restored current block.

현재 블록을 복원하기 위해서는 오프셋 값이 디코딩부(50)에 전송되어야 하고, 상기 오프셋 값은 이웃 블록들의 정보로부터 예측될 수 있다. 상기 오프셋 값을 코딩할 비트수를 더 감소시키기 위하여, 현재 블록의 오프셋 값(IC_offset)과 이웃 블록의 오프셋 값(IC_offset_pred)과의 차이값(RIC_offset)만 보낼 수 있다. 이는 아래 수학식 5와 같다.In order to recover the current block, an offset value must be transmitted to the decoding unit 50, and the offset value can be predicted from information of neighboring blocks. In order to further reduce the number of bits to code the offset value , only the difference value RIC_offset between the offset value IC_offset of the current block and the offset value IC_offset_pred of the neighboring block may be sent. This is shown in Equation 5 below.

RICRIC __ offsetoffset =  = ICIC __ offsetoffset  ― ICIC __ offsetoffset __ predpred

도 4는 본 발명이 적용된 실시예로서, 현재 블록의 조명 보상 수행여부를 나타내는 플래그 정보와 현재 블록의 오프셋 값을 이용하여 조명 보상을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.4 is an embodiment to which the present invention is applied and shows a flowchart for explaining a process of performing lighting compensation using flag information indicating whether lighting compensation is performed on a current block and an offset value of the current block.

디코딩부(50)에서는 조명 보상을 수행하기 위하여 비디오 신호로부터 상기 현재 블록의 이웃 블록들의 플래그 정보 및 오프셋 값, 상기 현재 블록과 그 이웃 블록들의 해당 참조 블록들의 인덱스 정보 등을 추출하고, 이러한 정보들을 이용하여 현재 블록의 프리딕터를 획득할 수 있다. 그리고, 현재 블록의 오프셋 값과 상기 프리딕터 사이의 차이값(residual)을 획득하고, 상기 획득된 차이값과 상기 프리딕터를 이용하여 상기 현재 블록의 오프셋 값을 복원할 수 있다. 이때, 현재 블록의 오프셋 값을 복원할 때, 상기 현재 블록의 조명 보상 수행 여부를 나타내는 플래그 정보(IC_flag)를 이용할 수 있다. 먼저 비디오 신호로부터 현재 블록의 조명보상 수행여부를 나타내는 플래그 정보를 획득한다(S410). 상기 플래그 정보에 따라 조명보상이 수행되는 경우, 상기 현재 블록의 평균 화소값과 참조 블록의 평균 화소값의 차이를 나타내는 현재 블록의 오프셋 값을 복원할 수 있다(S420). 이처럼, 조명 보상 기술은 서로 다른 픽쳐에 속한 블록들의 평균 화소값의 차이값을 코딩한다. 각 블록에 대해서 조명 보상 기술의 적용 여부를 나타내는 플래그가 사용될 때, 해당 블록이 P 슬라이스에 속한 블록인 경우에는 하나의 플래그 정보와 하나의 오프셋 값을 부호화/복호화하면 된다. 그러나, 해당 블록이 B 슬라이스에 속한 블록인 경우에는 여러 가지 방법이 가능할 수 있다. 이하 도 5a ~ 도 5b에서 상세하게 설명하도록 한다.The decoding unit 50 extracts flag information and offset values of neighboring blocks of the current block, index information of corresponding reference blocks of the current block and its neighboring blocks, and the like from the video signal to perform lighting compensation. It can be used to obtain the predictor of the current block. The offset value of the current block and the predictor may be obtained, and the offset value of the current block may be restored using the obtained difference value and the predictor. In this case, when restoring the offset value of the current block, flag information IC_flag indicating whether illumination compensation of the current block is performed may be used. First, flag information indicating whether illumination compensation is performed on the current block is obtained from the video signal (S410). When illumination compensation is performed according to the flag information, the offset value of the current block indicating the difference between the average pixel value of the current block and the average pixel value of the reference block may be restored (S420). As such, the illumination compensation technique codes difference values of average pixel values of blocks belonging to different pictures. When a flag indicating whether the illumination compensation technique is applied to each block is used, when the corresponding block is a block belonging to a P slice, one flag information and one offset value may be encoded / decoded. However, if the corresponding block is a block belonging to a B slice, various methods may be possible. Hereinafter, the detailed description will be made with reference to FIGS. 5A to 5B.

도 5a ~ 도 5b는 본 발명이 적용된 일실시예로서, 각각 P 슬라이스 및 B 슬라이스에 속한 블록에 대해 플래그 정보와 오프셋 값을 이용하여 조명 보상을 수행하는 방법을 설명하기 위해 나타낸 것이다.5A to 5B illustrate an embodiment to which the present invention is applied to illustrate a method of performing illumination compensation using flag information and offset values for blocks belonging to a P slice and a B slice, respectively.

상기 도 5a에서, "C"는 현재 블록(C)을 나타내고, "N"는 현재 블록(C)에 이웃하는 블록을, "R"은 현재 블록(C)이 참조하는 블록을, "S"는 현재 블록(C)에 이웃하는 블록(N)이 참조하는 블록을 나타낸다. "mc"는 현재 블록의 평균 화소값을 나타내고, "mr"은 현재 블록이 참조하는 블록의 평균 화소값을 나타낸다. 현재 블록(C)의 오프셋 값을 "IC_offset" 이라 하면, IC_offset = mc - mr 이 된다. 마찬가지로 이웃 블록(N)의 오프셋 값을 "IC_offset_pred"라 하면, 인코딩부(30)에서는 현재 블록(C)의 오프셋 값인 "IC_offset"을 복원하기 위해 그 값을 그대로 전송하지 않고, 현재 블록의 오프셋 값(IC_offset)과 이웃 블록의 오프셋 값(IC_offset_pred)과의 차이값(RIC_offset)만을 보낼 수 있다. 여기서, RIC _ offset는 상기 수학식 5와 같다. 여기서 이웃 블록의 플래그 정보 또는 오프셋 값으로부터 현재 블록의 프리딕터를 생성할 때는 다양한 방법이 적용될 수 있다. 예를 들어, 이웃 블록 하나만의 정보를 이용할 수도 있고, 2이상의 이웃 블록의 정보를 이용할 수도 있다. 2이상의 이웃 블록의 정보를 이용하는 경우에는 평균값을 이용할 수도 있고, 중간값(median)을 이용할 수도 있다. 이처럼, 현재 블록이 하나의 참조 블록을 이용하여 예측 코딩된 경우에는 하나의 오프셋 값과 하나의 플래그 정보를 이용하여 조명 보상을 수행할 수 있다. In FIG. 5A, "C" represents a current block C, "N" represents a block neighboring the current block C, "R" represents a block referred to by the current block C, and "S". Denotes a block referenced by a block N neighboring the current block C. "m c " represents an average pixel value of the current block, and "m r " represents an average pixel value of the block referenced by the current block. If the offset value of the current block (C) is called "IC_offset", then IC_offset = m c- m r becomes Similarly, if the offset value of the neighboring block N is "IC_offset_pred", the encoding unit 30 does not transmit the value as it is to restore "IC_offset", which is the offset value of the current block C, but the offset value of the current block. Only the difference value RIC_offset between (IC_offset) and the offset value (IC_offset_pred) of the neighboring block may be sent. Here, RIC _ offset is the same as Equation 5. Here, various methods may be applied when generating the predicate of the current block from the flag information or the offset value of the neighboring block. For example, information of only one neighboring block may be used, or information of two or more neighboring blocks may be used. When information of two or more neighboring blocks is used, an average value may be used or a median may be used. As such, when the current block is predictively coded using one reference block, lighting compensation may be performed using one offset value and one flag information.

그러나, 해당 블록이 B 슬라이스에 속한 블록인 경우, 즉 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우에는 여러 가지 방법이 가능할 수 있다. 예를 들어, 도 5b에서 "C"는 현재 블록(C)을 나타내고, "N"은 현재 블록(C)에 이웃하는 블록을, "R0"는 현재 블록이 참조하는 List 0의 참조 픽쳐 1에 있는 참조 블록을, "S0"는 이웃 블록이 참조하는 List 0의 참조 픽쳐 1에 있는 참조 블록을 나타낸다고 가정한다. 그리고, "R1"은 현재 블록이 참조하는 List 1의 참조 픽쳐 3에 있는 참조 블록을, "S0"는 이웃 블록이 참조하는 List 1의 참조 픽쳐 3에 있는 참조 블록을 나타낸다고 가정한다. 이 때, 현재 블록의 플래그 정보와 오프셋 값은 각 참조 블록에 대해 존재하므로 각각 두 개의 값이 존재한다. 따라서, 상기 플래그 정보와 오프셋 값을 이용함에 있어서, 각각 적어도 하나 이상을 이용할 수 있다.However, if the corresponding block belongs to a B slice, that is, the current block is predictively coded using two or more reference blocks, various methods may be possible. For example, in FIG. 5B, "C" represents the current block C, "N" represents a block neighboring the current block C, and "R0" corresponds to reference picture 1 of List 0 referenced by the current block. It is assumed that "S0" represents a reference block in reference picture 1 of List 0 referenced by the neighboring block. In addition, it is assumed that "R1" represents a reference block in reference picture 3 of List 1 referred to by the current block, and "S0" represents a reference block in reference picture 3 of List 1 referred to by the neighboring block. In this case, since the flag information and the offset value of the current block exist for each reference block, two values exist. Accordingly, at least one of the flag information and the offset value may be used.

예를 들어, 움직임 보상을 통하여 두 개의 참조 블록에 대한 정보의 조합으로 현재 블록의 프리딕터가 구해질 수 있다. 여기서, 현재 블록에 조명 보상를 적용할지 여부를 하나의 플래그 정보로 나타내고, 상기 플래그 정보가 참인 경우, 상기 현재 블록과 상기 프리딕터로부터 하나의 오프셋 값을 획득하여 부호화/복호화를 수행할 수 있다. 다른 예로, 움직임 보상을 수행하는 과정에서 두 개의 참조 블록에 대해서 각각 조명 보상을 적용할지 여부가 결정된다. 각각의 참조 블록에 대 해서 플래그 정보가 부여되고, 상기 플래그 정보를 이용하여 획득된 하나의 오프셋 값이 부호화/복호화될 수 있다. 이 경우, 플래그 정보는 참조 블록을 기준으로 2개, 오프셋 값은 현재 블록을 기준으로 1개 사용될 수 있다. 또 다른 예로, 현재 블록을 기준으로, 이 블록에 대해서 조명 보상을 적용할 것인지 여부를 하나의 플래그 정보에 나타낼 수 있다. 그리고, 두 개의 참조 블록에 대해서 각각의 오프셋 값이 부호화/복호화될 수 있다. 부호화 과정에 있어서, 어느 한쪽의 참조 블록에 대해서 조명 보상을 적용하지 않는 경우에는 그에 해당하는 오프셋 값을 0으로 한다. 이 경우, 플래그 정보는 현재 블록을 기준으로 1개, 오프셋 값은 참조 블록을 기준으로 2개 사용될 수 있다. 또 다른 예로, 각 참조 블록에 대해서 각각의 플래그 정보와 오프셋 값이 부호화/복호화될 수 있다. 이 경우, 플래그 정보와 오프셋 값은 모두 참조 블록을 기준으로 각각 2개씩 사용될 수 있다.For example, the predictor of the current block may be obtained by combining information about two reference blocks through motion compensation. Here, whether to apply lighting compensation to the current block is indicated by one flag information, and when the flag information is true, one offset value may be obtained from the current block and the predictor to perform encoding / decoding. As another example, in the process of performing motion compensation, it is determined whether lighting compensation is applied to each of two reference blocks. Flag information is provided for each reference block, and one offset value obtained using the flag information can be encoded / decoded. In this case, two flag information may be used based on the reference block and one offset value may be used based on the current block. As another example, whether or not to apply lighting compensation to the block based on the current block may be indicated in one flag information. Each offset value may be encoded / decoded with respect to two reference blocks. In the encoding process, when the illumination compensation is not applied to any one of the reference blocks, the offset value corresponding thereto is zero. In this case, one flag information may be used based on the current block and two offset values may be used based on the reference block. As another example, each flag information and an offset value may be encoded / decoded for each reference block. In this case, both the flag information and the offset value may be used in each of two reference blocks.

각 경우에 대해서, 오프셋 값은 그대로 부호화되지 않고, 이웃 블록의 오프셋 값으로부터 예측한 후, 그 오차값만을 부호화할 수 있다. In each case, the offset value is not encoded as it is, and after predicting from the offset value of the neighboring block, only the error value can be encoded.

도 6은 본 발명이 적용되는 일실시예로서, 현재 블록이 2개의 참조 블록을 이용하여 예측 코딩된 경우에 있어서 조명 보상을 수행하는 방법을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a method of performing lighting compensation when a current block is predictively coded using two reference blocks according to an embodiment to which the present invention is applied.

현재 블록이 B 슬라이스에 속한 블록인 경우, 조명 보상을 수행하기 위하여 비디오 신호로부터 상기 현재 블록의 이웃 블록들의 플래그 정보 및 오프셋 값, 상기 현재 블록과 그 이웃 블록들의 해당 참조 블록들의 인덱스 정보 등을 추출하고, 이러한 정보들을 이용하여 현재 블록의 프리딕터를 획득할 수 있다. 그리고, 현재 블록의 오프셋 값과 상기 프리딕터 사이의 차이값(residual)을 획득하고, 상기 획득된 차이값과 상기 프리딕터를 이용하여 상기 현재 블록의 오프셋 값을 복원할 수 있다. 이때, 현재 블록의 오프셋 값을 복원할 때, 상기 현재 블록의 조명 보상 수행 여부를 나타내는 플래그 정보(IC_flag)를 이용할 수 있다. 먼저 비디오 신호로부터 현재 블록의 조명보상 수행여부를 나타내는 플래그 정보를 획득한다(S610). 상기 플래그 정보에 따라 조명보상이 수행되는 경우, 상기 현재 블록의 평균 화소값과 참조 블록의 평균 화소값의 차이를 나타내는 현재 블록의 오프셋 값을 복원할 수 있다(S620). 그런데, 이와 같이 현재 블록이 2개의 참조 블록을 이용하여 예측 코딩된 경우에는 디코더에서 각 참조 블록에 대응되는 오프셋 값을 직접적으로 알 수 없게 된다. 왜냐하면, 현재 블록의 오프셋 값을 획득할 때, 상기 2개의 참조 블록을 평균한 화소값을 이용하였기 때문이다. 따라서, 본 발명의 일실시예에서는 각 참조 블록마다 대응되는 오프셋 값을 획득하여 보다 정확한 예측을 가능하게 할 수 있다. 따라서, 현재 블록이 2개의 참조 블록을 이용하여 예측 코딩된 경우, 상기 오프셋 값을 이용하여 각 참조 블록에 대응하는 오프셋 값을 획득할 수 있다(S630). 이는 아래 수학식 6과 같다.If the current block is a block belonging to a B slice, in order to perform lighting compensation, flag information and offset values of neighboring blocks of the current block, index information of corresponding reference blocks of the current block and its neighboring blocks, etc. are extracted from the video signal. In addition, the information of the current block may be obtained using the information. The offset value of the current block and the predictor may be obtained, and the offset value of the current block may be restored using the obtained difference value and the predictor. In this case, when restoring the offset value of the current block, flag information IC_flag indicating whether illumination compensation of the current block is performed may be used. First, flag information indicating whether illumination compensation of the current block is performed is obtained from the video signal (S610). When illumination compensation is performed according to the flag information, the offset value of the current block indicating the difference between the average pixel value of the current block and the average pixel value of the reference block may be restored (S620). However, when the current block is predictively coded using two reference blocks as described above, the decoder cannot directly know an offset value corresponding to each reference block. This is because, when the offset value of the current block is obtained, the pixel value obtained by averaging the two reference blocks is used. Therefore, in an embodiment of the present invention, an offset value corresponding to each reference block may be obtained to enable more accurate prediction. Therefore, when the current block is predictively coded using two reference blocks, an offset value corresponding to each reference block may be obtained using the offset value (S630). This is shown in Equation 6 below.

Figure 112006082002934-PAT00005
Figure 112006082002934-PAT00006
Figure 112006082002934-PAT00007
Figure 112006082002934-PAT00008
Figure 112006082002934-PAT00009
IC_offset = - * - *
Figure 112006082002934-PAT00005
Figure 112006082002934-PAT00006
Figure 112006082002934-PAT00007
Figure 112006082002934-PAT00008
Figure 112006082002934-PAT00009
IC_offset =-*-*

IC_offsetL0 =

Figure 112006082002934-PAT00010
-
Figure 112006082002934-PAT00011
= IC_offset + (
Figure 112006082002934-PAT00012
-1)*
Figure 112006082002934-PAT00013
+
Figure 112006082002934-PAT00014
*
Figure 112006082002934-PAT00015
IC_offsetL0 =
Figure 112006082002934-PAT00010
-
Figure 112006082002934-PAT00011
= IC_offset + (
Figure 112006082002934-PAT00012
-One)*
Figure 112006082002934-PAT00013
+
Figure 112006082002934-PAT00014
*
Figure 112006082002934-PAT00015

IC_offsetL1 =

Figure 112006082002934-PAT00016
-
Figure 112006082002934-PAT00017
= IC_offset +
Figure 112006082002934-PAT00018
*
Figure 112006082002934-PAT00019
+ (
Figure 112006082002934-PAT00020
-1)*
Figure 112006082002934-PAT00021
.IC_offsetL1 =
Figure 112006082002934-PAT00016
-
Figure 112006082002934-PAT00017
= IC_offset +
Figure 112006082002934-PAT00018
*
Figure 112006082002934-PAT00019
+ (
Figure 112006082002934-PAT00020
-One)*
Figure 112006082002934-PAT00021
.

여기서, mc 는 현재 블록의 평균 화소값을 나타내고, mr ,1 , mr ,2는 각각 참조 블록의 평균 화소값을 나타낸다. w1 , w2 는 쌍방향 예측 코딩(bi-predictive coding)시의 가중치 계수를 나타낸다.Here, m c represents the average pixel value of the current block, and m r , 1 , m r , 2 represent the average pixel value of the reference block, respectively. w 1 and w 2 represent weight coefficients in bi-predictive coding.

이러한 방법으로 조명 보상을 수행하게 되는 경우, 각 참조 블록에 대응하는 정확한 오프셋 값을 별도로 획득하여 이용할 수 있게 되므로 보다 정확한 예측 코딩을 할 수 있게 된다. 상기 현재 블록의 오프셋 값을 복원할 때, 복원된 오프셋 차이값(residual)과 프리딕터 값을 더하여 오프셋 값을 획득할 수 있다. 이 때, List0, List1 각각에 대한 프리딕터를 구하고, 이들을 조합하여 현재 블록의 오프셋 값을 복원할 때 필요한 프리딕터 값을 구할 수 있다.When the illumination compensation is performed in this manner, the accurate offset value corresponding to each reference block can be obtained and used separately, thereby enabling more accurate predictive coding. When restoring the offset value of the current block, the offset value may be obtained by adding the restored offset difference value and the predictor value. At this time, a predictor for each of List0 and List1 may be obtained, and the combination may be combined to obtain a predicator required when restoring the offset value of the current block.

도 7은 본 발명이 적용되는 일실시예로서, 비디오 신호의 일정 계층에 대한 조명 보상 수행여부를 나타내는 플래그 정보를 이용하여 조명 보상을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.FIG. 7 is a flowchart illustrating a process of performing lighting compensation using flag information indicating whether lighting compensation is performed on a predetermined layer of a video signal according to an embodiment to which the present invention is applied.

조명 보상 기술은 카메라 사이의 조명 또는 색상(color) 차이를 보상하기 위한 것이다. 이 기술은 좀더 확장하여, 같은 카메라에서 획득된 시퀀스 영상들 사이에서도 적용할 수 있다. 이 기술을 통해서 조명이나 색상 차이가 움직임 추정에 크게 영향을 미치지 않도록 할 수 있다. 그러나, 실제 부호화 과정에서는 조명 보상의 적용 여부를 나타내는 플래그 정보를 사용하게 된다. 조명 보상의 적용 범위는 시퀀스(sequence), 시점(view), GOP(Group Of Picture), 픽쳐(picture), 슬라이스(slice), 매크로블록(macroblock), 서브블록(sub-block) 등이 될 수 있다. 작은 영역 범위에 조명 보상 기술이 쓰이면, 좀더 로컬(local)한 영역에 대해서 조절이 가능하지만, 그대신 플래그 정보를 위한 비트가 그만큼 많이 소요된다. 또한, 많은 경우에 조명 보상 기술이 필요없을 수도 있다. 따라서, 각 영역 범위 별로 조명 보상 기술의 사용 여부를 나타내는 플래그 비트를 할당함으로써, 효과적으로 조명 보상 기술을 사용할 수 있게 된다. 먼저 비디오 신호의 일정 계층에 대해 조명 보상을 수행하도록 유도하는 플래그 정보를 획득한다(S710). 예를 들어, 각 영역 범위 별로 다음과 같이 플래그 정보를 설정할 수 있다. 시퀀스 계층에 대해서는 "seq_IC_flag", 시점 계층에 대해서는 "view_IC_flag", GOP 계층에 대해서는 "GOP_IC_flag", 픽쳐 계층에 대해서는 "pic_IC_flag", 슬라이스 계층에 대해서는 "slice_IC_flag", 매크로블록 계층에 대해서는 "mb_IC_flag", 블록 계층에 대해서는 "blk_IC_flag" 로 플래그 비트를 할당할 수 있다. 이에 대해서는 도 8a ~ 도 8c에서 상세히 설명하도록 한다. 그리고, 상기 플래그 정보에 따라 조명 보상이 수행된 상기 비디오 신호의 일정 계층을 디코딩할 수 있게 된다(S720). Lighting compensation techniques are intended to compensate for lighting or color differences between cameras. This technique is further extended and can be applied between sequence images obtained from the same camera. This technique ensures that lighting or color differences do not significantly affect motion estimation. However, in actual encoding, flag information indicating whether lighting compensation is applied is used. The scope of illumination compensation may be a sequence, a view, a group of pictures (GOP), a picture, a slice, a macroblock, a sub-block, and the like. have. If the lighting compensation technique is used in a small area range, it is possible to adjust the more local area, but instead, it takes a lot of bits for the flag information. Also, in many cases, lighting compensation techniques may not be needed. Therefore, by assigning a flag bit indicating whether the illumination compensation technique is used for each region range, it is possible to effectively use the illumination compensation technique. First, flag information for inducing lighting compensation for a predetermined layer of a video signal is obtained (S710). For example, flag information may be set for each region range as follows. "Seq_IC_flag" for sequence layer, "view_IC_flag" for view layer, "GOP_IC_flag" for GOP layer, "pic_IC_flag" for picture layer, "slice_IC_flag" for slice layer, "mb_IC_flag" for macroblock layer, block For the layer, flag bits may be allocated with "blk_IC_flag". This will be described in detail with reference to FIGS. 8A to 8C. In operation S720, a predetermined layer of the video signal on which illumination compensation is performed may be decoded according to the flag information.

도 8a ~ 도 8c는 본 발명이 적용된 일실시예로서, 현재 블록의 조명 보상 수행하도록 유도하는 플래그 정보의 사용 범위를 설명하기 위해 나타낸 것이다.8A to 8C are diagrams for explaining a range of use of flag information for inducing lighting compensation of a current block as an embodiment to which the present invention is applied.

조명 보상을 수행하도록 유도하는 플래그 정보의 적용 범위를 계층별로 구분할 수 있다. 예를 들어, 상기 도 8a ~ 도 8b에서처럼, 시퀀스 계층에 대해서는 "seq_IC_flag"(810), 시점 계층에 대해서는 "view_IC_flag"(820), GOP 계층에 대해서는 "GOP_IC_flag"(830), 픽쳐 계층에 대해서는 "pic_IC_flag"(840), 슬라이스 계층에 대해서는 "slice_IC_flag"(850), 매크로블록 계층에 대해서는 "mb_IC_flag"(860), 블록 계층에 대해서는 "blk_IC_flag"(870) 로 나타낼 수 있다. 여기서, 각 플래그는 1비트 정보이며, 상기 플래그들은 적어도 하나 이상 존재할 수 있다. 또한, 시퀀스/시점/픽쳐/슬라이스 범위 등의 플래그들은 해당 파라미터 세트 또는 헤더에 위치할 수 있으며, 또는 다른 파라미터 세트에도 위치할 수 있다. 예를 들어, "seq_IC_flag"(810)는 시퀀스 파라미터 세트(sequence parameter set)에 위치할 수 있고, "view_IC_flag"(820)는 시점 파라미터 세트(view parameter set)에 위치할 수 있으며, "pic_IC_flag"(840)는 픽쳐 파라미터 세트(picture parameter set)에 위치할 수 있다. 또한, "slice_IC_flag"(850)는 슬라이스 헤더에 위치할 수 있다.An application range of flag information for inducing lighting compensation may be divided by layers. For example, as shown in FIGS. 8A to 8B, "seq_IC_flag" 810 for the sequence layer, "view_IC_flag" 820 for the view layer, "GOP_IC_flag" 830 for the GOP layer, and "" for the picture layer. pic_IC_flag "840," slice_IC_flag "850 for the slice layer," mb_IC_flag "860 for the macroblock layer, and" blk_IC_flag "870 for the block layer. Here, each flag is 1 bit information, and at least one flag may exist. In addition, flags such as sequence / view / picture / slice range may be located in the corresponding parameter set or header, or in other parameter sets. For example, "seq_IC_flag" 810 may be located in a sequence parameter set, "view_IC_flag" 820 may be located in a view parameter set, and "pic_IC_flag" ( 840 may be located in a picture parameter set. In addition, the "slice_IC_flag" 850 may be located in the slice header.

상기 플래그 정보가 2이상 존재하는 경우, 2이상의 일정 계층 중 하위 계층의 조명 보상 수행 여부는 상위 계층의 조명 보상 수행 여부에 의해 제어될 수 있다. 즉, 각 플래그 비트값이 1로 설정이 되면, 그 하위 범위에서 조명 보상 기술이 적용되는 경우가 있을 수 있음을 나타낸다. 예를 들어, pic_IC_flag = 1인 경우, 해당 픽쳐 범위 내의 각 슬라이스에 대해서 slice_IC_flag값을 1 또는 0으로 셋팅할 수 있고, 또는 각 매크로블록에 대해서 mb_IC_flag값을 1 또는 0으로 셋팅할 수 있으며, 또는 각 블록에 대해서 blk_IC_flag값을 1 또는 0으로 셋팅할 수 있다. 시점 파라미터 세트가 있는 경우, seq_IC_flag = 1 이라면, 각 시점에 대해서 view_IC_flag값을 1 또는 0으로 셋팅할 수 있게 된다. 다만, view_IC_flag=1인 경우에는, 도 8a에서처럼 해당 시점에 속하는 각 GOP, 픽쳐, 슬라이스, 매크로블록, 또는 블록에 대한 플래그 비트값을 1 또는 0으로 셋팅할 수도 있고, 그렇지 않은 경우도 있을 수 있다. 여기서, 그렇지 않은 경우는 도 8b에서처럼 각 GOP, 픽쳐, 슬라이스, 매크로블록, 또는 블록에 대한 플래그들이 시점에 대한 플래그 정보에 의해 제어되지 않는 경우를 말한다.When two or more flag information exist, whether to perform lighting compensation of a lower layer among two or more predetermined layers may be controlled by performing lighting compensation of a higher layer. That is, when each flag bit value is set to 1, it indicates that the lighting compensation technique may be applied in the lower range. For example, if pic_IC_flag = 1, the slice_IC_flag value can be set to 1 or 0 for each slice within the corresponding picture range, or the mb_IC_flag value can be set to 1 or 0 for each macroblock, or each A blk_IC_flag value may be set to 1 or 0 for a block. If there is a viewpoint parameter set, if seq_IC_flag = 1, the view_IC_flag value can be set to 1 or 0 for each viewpoint. However, when view_IC_flag = 1, the flag bit value for each GOP, picture, slice, macroblock, or block belonging to the corresponding viewpoint may be set to 1 or 0, as shown in FIG. 8A, or may not be the case. . In this case, otherwise, the flag for each GOP, picture, slice, macroblock, or block is not controlled by the flag information on the viewpoint as in FIG. 8B.

상위 범위의 플래그 비트값이 0인 경우, 하위 범위의 플래그 비트값들은 자동적으로 0이 된다. 예를 들어, seq_IC_flag = 0인 경우, 해당 시퀀스에 대해서 조명 보상 기술이 적용되지 않는다는 것을 의미하며, 따라서 view_IC_flag, GOP_IC_flag, pic_IC_flag, slice_IC_flag, mb_IC_flag, blk_IC_flag는 모두 0으로 셋팅된다. 그리고, mb_IC_flag와 blk_IC_flag는 조명 보상 기술의 구체적인 구현 방법에 따라 하나만 사용될 수도 있다. 또한, 시점에 대한 플래그 정보(view_IC_flag)는 다시점 비디오 코딩에서 시점 파라미터 세트가 새로이 적용될 경우에 적용될 수 있다. 제일 하위 단위인 매크로블록 또는 서브블록에서의 플래그 비트값에 따라 현재 블록의 오프셋 값이 추가적으로 부호화/복호화 될 수 있다.When the flag bit value of the upper range is 0, the flag bit values of the lower range are automatically zero. For example, when seq_IC_flag = 0, this means that the lighting compensation technique is not applied to the sequence, and thus, view_IC_flag, GOP_IC_flag, pic_IC_flag, slice_IC_flag, mb_IC_flag, and blk_IC_flag are all set to zero. In addition, only one mb_IC_flag and blk_IC_flag may be used according to a specific implementation method of the lighting compensation technique. In addition, the flag information view_IC_flag about the viewpoint may be applied when a viewpoint parameter set is newly applied in multiview video coding. The offset value of the current block may be additionally encoded / decoded according to the flag bit value in the macroblock or subblock which is the lowest unit.

또한, 도 8c와 같이 IC 기술 적용에 대한 플래그가 슬라이스와 매크로블록 계층에만 적용되는 실시예도 생각할 수 있다. 예를 들어, slice_IC_flag 가 0 인 경우는 해당 슬라이스에서 IC가 적용되지 않음을 의미할 수 있다. slice_IC_flag가 1 인 경우는 해당 슬라이스에서 IC가 적용됨을 의미할 수 있으며, 이 경우 mb_IC_flag가 1이면 해당 매크로블록에서 IC_offset 이 복원된다. mb_IC_flag 가 0 이면 해당 매크로블록에서 IC가 적용되지 않음을 의미할 수 있다.Also, as shown in FIG. 8C, an embodiment in which a flag for applying an IC technology is applied only to a slice and a macroblock layer may be considered. For example, when slice_IC_flag is 0, it may mean that the IC is not applied to the slice. If slice_IC_flag is 1, it may mean that the IC is applied to the corresponding slice. In this case, if mb_IC_flag is 1, IC_offset is restored in the corresponding macroblock. If mb_IC_flag is 0, this may mean that the IC is not applied to the corresponding macroblock.

또한, 본 발명의 다른 일실시예로서, 매크로블록 계층보다 상위 계층의 플래그 정보가 참인 경우, 현재 블록의 평균 화소값과 참조 블록의 평균 화소값 차이를 나타내는 현재 블록의 오프셋 값을 획득할 수 있는데, 이 때 상기 매크로블록 계층 또는 상기 블록 계층에 대한 플래그 정보는 이용하지 않을 수 있다. 조명 보상 기술을 적용할 때, 각 블록에 대해서 조명 보상 기술을 적용할 것인지 여부를 플래그 정보를 통해서 나타낼 수 있다. 그러나, 움직임 벡터처럼 그 값만을 나타내는 것으로도 충분할 수도 있다. 이는 조명 보상 기술의 적용범위와 함께 운용이 가능할 수 있으며, 상위 범위(sequence, view, GOP, picture)에 대해서는 플래그 정보를 통해서 그 하위 범위에서 조명 보상이 적용되는지를 나타낼 수 있다. 제일 하위 범위인 매크로블록 계층 또는 블록 계층에서는 플래그 비트를 사용함이 없이 오프셋 값만으로 충분할 수 있다. 이는 기본적으로 움직임 벡터와 유사한 방식으로 예측 및 부호화를 수행할 수 있다. 예를 들어, 현재 블록에 대해서 예측 코딩을 수행하는 경우, 이웃 블록의 오프셋 값을 현재 블록의 오프셋 값에 할당하게 된다. 그리고, 쌍방향 예측 코딩인 경우, List 0, List 1에서 찾아진 참조 블록과의 계산을 통해서 각 참조 블록에 대한 오프셋 값이 획득된다. 따라서, 현재 블록의 오프셋 값들을 부호화할 때, 이웃 블록들의 오프셋 값들을 이용해서 상기 각 참조 블록에 대한 ㅇ오프셋 값을 직접 부호화 하지 않고, 예측 오차만을 부호화/복호화 한다. 오프셋 값의 예측방법은 위의 오프셋 예측 방법이나 움직임 벡터 예측시 사용되는 중간값(median)을 획득하는 방법을 사용할 수도 있다. 쌍방향 예측의 직접 모드(direct mode)일 때도, 움직임 벡터와 같은 방법으로 부가 정보의 부호화/복호화 없이 이미 주어진 정보를 통해서 오프셋 값들을 구할 수 있다.According to another embodiment of the present invention, when flag information of a layer higher than a macroblock layer is true, an offset value of a current block indicating a difference between an average pixel value of a current block and an average pixel value of a reference block may be obtained. In this case, flag information on the macroblock layer or the block layer may not be used. When applying the lighting compensation technology, whether or not to apply the lighting compensation technology to each block may be indicated through the flag information. However, it may be sufficient to indicate only its value, such as a motion vector. This may be operated together with the application range of the lighting compensation technology, and may indicate whether lighting compensation is applied in the lower range through flag information on the upper range (sequence, view, GOP, picture). In the lowest block, the macroblock layer or block layer, the offset value may be sufficient without using the flag bit. It can basically perform prediction and encoding in a manner similar to a motion vector. For example, when performing predictive coding on the current block, the offset value of the neighboring block is assigned to the offset value of the current block. In the case of bidirectional predictive coding, an offset value for each reference block is obtained through calculation with reference blocks found in List 0 and List 1. Therefore, when encoding offset values of the current block, only offset errors are encoded / decoded without directly encoding the offset value for each reference block by using offset values of neighboring blocks. The prediction method of the offset value may use the above offset prediction method or a method of obtaining a median used in motion vector prediction. Even in the direct mode of the bidirectional prediction, offset values may be obtained through the information already given in the same manner as the motion vector without encoding / decoding the additional information.

또한, 본 발명의 다른 일실시예로서, MVC 디코더가 아닌 디코더(예를 들어 ,H.264)를 이용하게 되는 경우, 기존의 디코더와 호환성을 가지는 시점 영상은 ㄱ기존의 디코더로 디코딩될 수 있어야 하므로 "view_IC_flag = false or 0" 으로 설정해야 된다. 여기서 기준 시점(base views)에 대한 개념을 설명할 필요가 있다. 우리는 H.264/AVC 디코더와 호환성을 가지기 위한 적어도 하나의 시점 영상(view sequence)이 필요할 수 있다. 따라서, 독립적으로 복호화가 가능한 시점들을 정의할 필요가 있는데, 이를 기준 시점이라 한다. 이러한 기준시점은 다시점 중 부호화의 기준이 되며, 이는 참조 시점(reference view)에 해당된다. MVC에서 기준 시점에 해당되는 영상은 종래 일반적인 영상 부호화 방식(MPEG-2, MPEG-4, H.263, H.264 등)에 의해 부호화되어 독립적인 비트스트림으로 형성하게 된다. 기준 시점에 해당되는 영상은 H.264/AVC와 호환될 수도 있고, 되지 않을 수도 있다. 하지만, H.264/AVC와 호환될 수 있는 시점의 영상은 항상 기준 시점이 된다. In addition, as another embodiment of the present invention, when using a decoder other than the MVC decoder (for example, H.264), the view image compatible with the existing decoder should be able to be decoded by the existing decoder Therefore, "view_IC_flag = false or 0" should be set. Here we need to explain the concept of base views. We may need at least one view sequence to be compatible with the H.264 / AVC decoder. Therefore, it is necessary to define time points that can be independently decoded, which is called a reference time point. This reference time point becomes a reference of encoding among multiviews, which corresponds to a reference view. In MVC, an image corresponding to a reference time point is encoded by a conventional general video encoding method (MPEG-2, MPEG-4, H.263, H.264, etc.) to form an independent bitstream. The image corresponding to the reference time point may or may not be compatible with H.264 / AVC. However, an image of a viewpoint compatible with H.264 / AVC is always a reference viewpoint.

도 9는 본 발명이 적용되는 일실시예로서, 현재 블록의 오프셋 값을 고려하여 움직임 벡터를 획득하는 과정을 설명하기 위한 흐름도를 나타낸다.9 is a flowchart illustrating a process of obtaining a motion vector in consideration of an offset value of a current block according to an embodiment to which the present invention is applied.

비디오 신호로부터 현재 블록의 오프셋 값을 획득할 수 있다(S910). 상기 오프셋 값을 이용하여 현재 블록과 최적으로 매칭되는 참조 블록을 서치한다(S920). 상기 서치된 참조 블록으로부터 움직임 벡터를 획득하여 부호화할 수 있다(S930). 여기서, 조명 보상을 적용하는 경우 움직임 추정을 수행할 때 고려할 사항들이 있다. 예를 들어, 블록 사이의 평균 화소값을 상쇄해서 두 블록의 유사성을 비교하는 방법의 경우, 움직임 추정을 수행할 때 각 블록의 화소값들에서 블록의 평균 화소값을 뺀 값들을 가지고 유사성 정도를 계산한다. 이때, 두 블록 간의 오프셋 값이 따로 부호화가 되기 때문에 이러한 비용도 움직임 추정 과정에 반영되어야 한다. 기존의 비용(cost) 계산은 아래 수학식 7과 같다.The offset value of the current block may be obtained from the video signal (S910). The reference block that is optimally matched to the current block is searched using the offset value (S920). A motion vector may be obtained and encoded from the searched reference block (S930). Here, there are considerations when performing motion estimation when applying illumination compensation. For example, in the case of comparing the similarity of two blocks by canceling the average pixel value between blocks, when the motion estimation is performed, the similarity degree is determined by subtracting the average pixel value of each block from the pixel values of each block. Calculate In this case, since the offset value between the two blocks is encoded separately, such a cost should be reflected in the motion estimation process. The existing cost calculation is shown in Equation 7 below.

Figure 112006082002934-PAT00022
Figure 112006082002934-PAT00022

조명 보상을 적용하는 경우, SAD(Sum of Absolute Differences)는 아래와 같이 계산된다.In the case of applying illumination compensation, the sum of absolute differences (SAD) is calculated as follows.

Figure 112006082002934-PAT00023
Figure 112006082002934-PAT00023

여기서,

Figure 112006082002934-PAT00024
은 각각 현재 블록과 참조 블록의 화소값을 나타낸다.
Figure 112006082002934-PAT00025
은 각각 현재 블록과 참조 블록의 평균 화소값을 나타낸다. 오프셋 값의 비용은 SAD 계산에 포함하여 반영할 수 있다.here,
Figure 112006082002934-PAT00024
Denote pixel values of the current block and the reference block, respectively.
Figure 112006082002934-PAT00025
Denote average pixel values of the current block and the reference block, respectively. The cost of the offset value can be reflected in the SAD calculation.

Figure 112006082002934-PAT00026
Figure 112006082002934-PAT00026

SADIC = α|offset - offset_pred|+ ∑ |(Ic(m,n)-Mc ) - (Ir(m,n)- Mr )|SADIC = α | offset-offset_pred | + ∑ | (Ic(m, n) -Mc )-(Ir(m, n)-Mr ) |

여기서,

Figure 112006082002934-PAT00027
는 가중치가 되며, 1일 때, 오프셋 값의 절대치가 반영된다. 또한, 조명 보상 비용을 반영하는 다른 방법으로서, 오프셋 값을 부호화하는 데에 쓰이는 비트수를 추정해서 반영하는 방법이 있다. here,
Figure 112006082002934-PAT00027
Is a weight, and when 1, the absolute value of the offset value is reflected. As another method of reflecting the illumination compensation cost, there is a method of estimating and reflecting the number of bits used to encode the offset value.

이는 아래 수학식 11에서처럼 오프셋 부호화 비트를 추정해서 반영한다. 여기서, 상기 부호화 비트는 오프셋 차이값의 크기에 비례하도록 추정할 수 있다.This estimates and reflects the offset encoding bits as in Equation 11 below. Here, the coded bits may be estimated to be proportional to the magnitude of the offset difference value.

Figure 112006082002934-PAT00028
Figure 112006082002934-PAT00028

이 경우, 새로운 비용은 아래 수학식 12을 이용하여 구할 수 있다.In this case, the new cost can be obtained using Equation 12 below.

Figure 112006082002934-PAT00029
Cost =
Figure 112006082002934-PAT00029
Cost =

본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

다시점 비디오의 각 시점 영상들은 카메라의 내외적 요인으로 인하여 조명 차이가 발생하게 된다. 이러한 조명 차이는 다른 시점들 간의 상관도를 현저히 떨어뜨려 효과적인 부호화를 저해하게 된다. 따라서, 본 발명에서는 현재 블록의 오 프셋 값을 이웃 블록의 정보를 이용하여 예측하고 그 차이값만을 전송함으로써, 조명 보상을 위해서 전송해야 하는 정보를 최소화할 수 있다. 현재 블록의 조명 보상 수행 여부를 나타내는 플래그 정보도 예측하여 그 차이값만을 전송함으로써 전송해야 하는 정보를 최소화할 수 있다. 또한, 2이상의 참조 블록을 이용하여 예측 코딩된 경우, 오프셋 값과 플래그 정보를 각각 적어도 하나 이상의 다양한 방법으로 적용함으로써 보다 효율적인 코딩이 가능해질 수 있다. 또한, 비디오 신호의 각 영역 범위 별로 조명 보상 기술의 사용 여부를 나타내는 플래그 비트를 할당함으로써, 효과적으로 조명 보상 기술을 사용할 수 있다. 또한, 움직임 추정을 수행하는 과정에서 조명 차이를 반영하여 비용 계산을 함으로써 보다 정확한 예측 코딩을 수행할 수 있게 된다.Each viewpoint image of the multi-view video is caused by a difference in illumination due to internal and external factors of the camera. This illumination difference significantly reduces the correlation between different viewpoints, which hinders effective encoding. Therefore, in the present invention, by predicting the offset value of the current block using the information of the neighboring block and transmitting only the difference value, it is possible to minimize the information to be transmitted for lighting compensation. It is also possible to minimize the information to be transmitted by predicting flag information indicating whether the current block performs lighting compensation and transmitting only the difference value. In addition, when the prediction coding is performed using two or more reference blocks, more efficient coding may be performed by applying the offset value and the flag information in at least one or more various methods. In addition, by assigning a flag bit indicating whether to use the illumination compensation technique for each region range of the video signal, it is possible to effectively use the illumination compensation technique. In addition, it is possible to perform more accurate predictive coding by calculating the cost by reflecting the illumination difference in the process of performing the motion estimation.

Claims (12)

현재 블록의 조명보상 수행여부를 나타내는 플래그 정보를 획득하는 단계;Obtaining flag information indicating whether lighting compensation is performed on a current block; 상기 플래그 정보에 따라 조명보상이 수행되는 경우, 상기 현재 블록의 평균 화소값과 참조 블록의 평균 화소값의 차이를 나타내는 현재 블록의 오프셋 값을 복원하는 단계Restoring an offset value of a current block indicating a difference between an average pixel value of the current block and an average pixel value of a reference block when illumination compensation is performed according to the flag information. 를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.Video signal decoding method comprising a. 제 1항에 있어서, The method of claim 1, 상기 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우,If the current block is predictively coded using two or more reference blocks, 상기 플래그 정보는 상기 2이상 참조 블록의 플래그 정보들로부터 획득된 하나의 플래그 정보를 이용하여 획득되고,The flag information is obtained using one flag information obtained from flag information of the two or more reference blocks, 상기 오프셋 값은 상기 2이상 참조 블록에 대응하는 오프셋 값들로부터 획득된 하나의 오프셋 값을 이용하여 복원되는 것을 특징으로 하는 비디오 신호 디코딩 방법.And the offset value is reconstructed using one offset value obtained from offset values corresponding to the two or more reference blocks. 제 1항에 있어서, The method of claim 1, 상기 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우,If the current block is predictively coded using two or more reference blocks, 상기 플래그 정보는 상기 2이상 참조 블록 각각에 대한 2이상의 플래그 정보들을 이용하여 획득되고,The flag information is obtained using at least two flag information for each of the at least two reference blocks, 상기 오프셋 값은 상기 2이상 참조 블록에 대응하는 오프셋 값들로부터 획득된 하나의 오프셋 값을 이용하여 복원되는 것을 특징으로 하는 비디오 신호 디코딩 방법.And the offset value is reconstructed using one offset value obtained from offset values corresponding to the two or more reference blocks. 제 1항에 있어서, The method of claim 1, 상기 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우,If the current block is predictively coded using two or more reference blocks, 상기 플래그 정보는 상기 2이상 참조 블록의 플래그 정보들로부터 획득된 하나의 플래그 정보를 이용하여 획득되고,The flag information is obtained using one flag information obtained from flag information of the two or more reference blocks, 상기 오프셋 값은 상기 2이상의 참조 블록 각각에 대한 2이상의 오프셋 값들을 이용하여 복원되는 것을 특징으로 하는 비디오 신호 디코딩 방법.And the offset value is reconstructed using at least two offset values for each of the at least two reference blocks. 제 1항에 있어서, The method of claim 1, 상기 현재 블록이 2이상의 참조 블록을 이용하여 예측 코딩된 경우,If the current block is predictively coded using two or more reference blocks, 상기 플래그 정보는 상기 2이상 참조 블록 각각에 대한 2이상의 플래그 정보들을 이용하여 획득되고,The flag information is obtained using at least two flag information for each of the at least two reference blocks, 상기 오프셋 값은 상기 2이상의 참조 블록 각각에 대한 2이상의 오프셋 값들을 이용하여 복원되는 것을 특징으로 하는 비디오 신호 디코딩 방법.And the offset value is reconstructed using at least two offset values for each of the at least two reference blocks. 제 1항에 있어서, 상기 비디오 신호 디코딩 방법은,The method of claim 1, wherein the video signal decoding method comprises: 상기 현재 블록이 상기 2이상의 참조 블록을 이용하여 예측 코딩된 경우, 상 기 오프셋 값을 이용하여 상기 현재 블록의 각 참조 블록에 오프셋 값을 획득하는 단계If the current block is predictively coded using the at least two reference blocks, obtaining an offset value for each reference block of the current block using the offset value 를 더 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법.The video signal decoding method further comprising. 비디오 신호의 일정 계층에 대해 조명 보상을 수행하도록 유도하는 플래그 정보를 획득하는 단계;Obtaining flag information for inducing illumination compensation for a certain layer of the video signal; 상기 플래그 정보에 따라 조명 보상이 수행된 상기 비디오 신호의 일정 계층을 디코딩하는 단계를 포함하되,Decoding a layer of the video signal on which illumination compensation is performed according to the flag information, 상기 비디오 신호의 일정 계층은, 시퀀스(sequence) 계층, 시점(view) 계층, 픽쳐그룹(Group Of Picture) 계층, 픽쳐(picture) 계층, 슬라이스(slice) 계층, 매크로블록(macroblock) 계층 또는 블록(block) 계층 중 어느 하나인 것을 특징으로 하는 비디오 신호 디코딩 방법.The predetermined layer of the video signal may include a sequence layer, a view layer, a group of picture layer, a picture layer, a slice layer, a macroblock layer, or a block ( block) any one of the layers. 제 7항에 있어서,The method of claim 7, wherein 상기 획득되는 플래그 정보가 2이상 존재하는 경우, 상기 디코딩 단계에서 상기 2이상의 일정 계층 중 하위 계층의 조명 보상 수행 여부는 상위 계층의 조명 보상 수행 여부에 의해 제어되는 것을 특징으로 하는 비디오 신호 디코딩 방법.And if there are two or more pieces of flag information obtained, whether to perform lighting compensation of a lower layer among the two or more predetermined layers in the decoding step is controlled by whether lighting compensation is performed by a higher layer. 제 7항에 있어서, 상기 비디오 신호 디코딩 방법은,The method of claim 7, wherein the video signal decoding method, 상기 매크로블록 계층보다 상위 계층의 플래그 정보가 참인 경우, 현재 블록 의 평균 화소값과 참조 블록의 평균 화소값 차이를 나타내는 현재 블록의 오프셋 값을 획득하는 단계를 더 포함하되,If flag information of a layer higher than the macroblock layer is true, obtaining an offset value of a current block indicating a difference between an average pixel value of a current block and an average pixel value of a reference block, 상기 매크로블록 계층 또는 상기 블록 계층에 대한 플래그 정보는 이용하지 않는 것을 특징으로 하는 비디오 신호 디코딩 방법.And the flag information on the macroblock layer or the block layer is not used. 현재 블록의 평균 화소값과 참조 블록의 평균 화소값 차이를 나타내는 현재 블록의 오프셋 값을 획득하는 단계;Obtaining an offset value of the current block indicating a difference between the average pixel value of the current block and the average pixel value of the reference block; 상기 오프셋 값을 이용하여 현재 블록과 최적으로 매칭되는 참조 블록을 서치하는 단계;Searching for a reference block that optimally matches a current block using the offset value; 상기 서치된 참조 블록으로부터 움직임 벡터를 획득하여 부호화하는 단계Acquiring and encoding a motion vector from the searched reference block 를 포함하는 것을 특징으로 하는 비디오 신호 인코딩 방법.Video signal encoding method comprising a. 제 10항에 있어서, 상기 비디오 신호 부호화 방법은,The method of claim 10, wherein the video signal encoding method comprises: 상기 현재 블록과 상기 참조 블록 사이의 오차 에너지(SAD)를 측정하는 단계;Measuring an error energy (SAD) between the current block and the reference block; 상기 현재 블록에 이웃하는 블록들의 오프셋 값들을 획득하는 단계;Obtaining offset values of blocks neighboring the current block; 상기 획득된 오프셋 값들을 이용하여 현재 블록의 프리딕터를 획득하는 단계Acquiring a predictor of a current block using the obtained offset values 를 더 포함하되,Include more, 상기 오차 에너지를 측정할 때, 상기 현재 블록의 오프셋 값과 상기 프리딕터와의 차이인 오차값을 이용하는 것을 특징으로 하는 비디오 신호 인코딩 방법. And measuring an error energy using an error value that is a difference between the offset value of the current block and the predictor. 제 10항에 있어서, 상기 비디오 신호 부호화 방법은,The method of claim 10, wherein the video signal encoding method comprises: 상기 현재 블록에 이웃하는 블록들의 오프셋 값들을 획득하는 단계;Obtaining offset values of blocks neighboring the current block; 상기 획득된 오프셋 값들을 이용하여 현재 블록의 프리딕터를 획득하는 단계;Obtaining a predictor of a current block using the obtained offset values; 상기 현재 블록의 오프셋 값과 상기 프리딕터와의 차이인 오차값을 획득하는 단계; 및Obtaining an error value that is a difference between the offset value of the current block and the predictor; And 상기 오차값을 부호화하기 위해 필요한 비트(bit)를 추정하는 단계Estimating a bit necessary for encoding the error value 를 더 포함하되,Include more, 상기 부호화 비트는 상기 오차값에 비례하도록 추정하는 것을 특징으로 하는 비디오 신호 인코딩 방법.And encoding the bit to be proportional to the error value.
KR1020060110337A 2006-01-12 2006-11-09 A method and apparatus for decoding/encoding a video signal KR20070076391A (en)

Priority Applications (33)

Application Number Priority Date Filing Date Title
KR20087019747A KR100953646B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
PCT/KR2007/000226 WO2007081177A1 (en) 2006-01-12 2007-01-12 Processing multiview video
US11/622,618 US7817866B2 (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020087019746A KR100947234B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
PCT/KR2007/000228 WO2007081178A1 (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020097017207A KR100943913B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
US11/622,803 US20070177674A1 (en) 2006-01-12 2007-01-12 Processing multiview video
EP07700952A EP1982517A4 (en) 2006-01-12 2007-01-12 Processing multiview video
CN2007800031205A CN101375594B (en) 2006-01-12 2007-01-12 Processing multiview video
EP07700955A EP1982518A4 (en) 2006-01-12 2007-01-12 Processing multiview video
US11/622,681 US8115804B2 (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020097017206A KR100943912B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
PCT/KR2007/000225 WO2007081176A1 (en) 2006-01-12 2007-01-12 Processing multiview video
JP2008550241A JP5192393B2 (en) 2006-01-12 2007-01-12 Multi-view video processing
DE200720019463 DE202007019463U1 (en) 2006-01-12 2007-01-12 Multiview video processing device
CN 201010135987 CN101895744B (en) 2006-01-12 2007-01-12 Processing multiview video
JP2008550242A JP5199123B2 (en) 2006-01-12 2007-01-12 Multi-view video processing
US11/622,591 US7831102B2 (en) 2006-01-12 2007-01-12 Processing multiview video
US11/622,709 US8154585B2 (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020097017208A KR100934676B1 (en) 2006-01-12 2007-01-12 Processing multiview video
CN 201010275254 CN101945277B (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020097017209A KR100943914B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
US11/622,611 US7817865B2 (en) 2006-01-12 2007-01-12 Processing multiview video
US11/622,592 US7856148B2 (en) 2006-01-12 2007-01-12 Processing multiview video
KR1020087019748A KR101276847B1 (en) 2006-01-12 2007-01-12 Processing multiview video
US11/622,675 US20070177671A1 (en) 2006-01-12 2007-01-12 Processing multiview video
JP2008550243A JP5199124B2 (en) 2006-01-12 2007-01-12 Multi-view video processing
KR1020097017211A KR100943915B1 (en) 2006-01-12 2007-01-12 Method and apparatus for processing multiview video
KR1020097017210A KR100934677B1 (en) 2006-01-12 2007-01-12 Processing multiview video
EP07700953A EP1977593A4 (en) 2006-01-12 2007-01-12 Processing multiview video
US12/545,462 US7970221B2 (en) 2006-01-12 2009-08-21 Processing multiview video
US13/356,354 US8553073B2 (en) 2006-01-12 2012-01-23 Processing multiview video
US13/720,479 USRE44680E1 (en) 2006-01-12 2012-12-19 Processing multiview video

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US75962006P 2006-01-18 2006-01-18
US60/759,620 2006-01-18
US81827406P 2006-07-05 2006-07-05
US60/818,274 2006-07-05

Publications (1)

Publication Number Publication Date
KR20070076391A true KR20070076391A (en) 2007-07-24

Family

ID=38501328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060110337A KR20070076391A (en) 2006-01-12 2006-11-09 A method and apparatus for decoding/encoding a video signal

Country Status (1)

Country Link
KR (1) KR20070076391A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022281A3 (en) * 2011-08-09 2013-04-04 삼성전자 주식회사 Method for multiview video prediction encoding and device for same, and method for multiview video prediction decoding and device for same
WO2014007551A1 (en) * 2012-07-03 2014-01-09 Samsung Electronics Co., Ltd. Method of multi-view video sequence coding/decoding based on adaptive local correction of illumination of reference frames without transmission of additional parameters (variants)
WO2021054776A1 (en) * 2019-09-18 2021-03-25 삼성전자 주식회사 Motion information encoding apparatus and method, and motion information decoding apparatus and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022281A3 (en) * 2011-08-09 2013-04-04 삼성전자 주식회사 Method for multiview video prediction encoding and device for same, and method for multiview video prediction decoding and device for same
US9973778B2 (en) 2011-08-09 2018-05-15 Samsung Electronics Co., Ltd. Method for multiview video prediction encoding and device for same, and method for multiview video prediction decoding and device for same
WO2014007551A1 (en) * 2012-07-03 2014-01-09 Samsung Electronics Co., Ltd. Method of multi-view video sequence coding/decoding based on adaptive local correction of illumination of reference frames without transmission of additional parameters (variants)
WO2021054776A1 (en) * 2019-09-18 2021-03-25 삼성전자 주식회사 Motion information encoding apparatus and method, and motion information decoding apparatus and method

Similar Documents

Publication Publication Date Title
JP7248741B2 (en) Efficient Multiview Coding with Depth Map Estimation and Update
US11240478B2 (en) Efficient multi-view coding using depth-map estimate for a dependent view
KR101276720B1 (en) Method for predicting disparity vector using camera parameter, apparatus for encoding and decoding muti-view image using method thereof, and a recording medium having a program to implement thereof
JP5970609B2 (en) Method and apparatus for unified disparity vector derivation in 3D video coding
US20160309186A1 (en) Method of constrain disparity vector derivation in 3d video coding
JP5976197B2 (en) Method for processing one or more videos of a 3D scene
EP3065405B1 (en) Method for decoding video using buffer compression for motion vector competition
KR101893559B1 (en) Apparatus and method for encoding and decoding multi-view video
US20150365649A1 (en) Method and Apparatus of Disparity Vector Derivation in 3D Video Coding
KR101550680B1 (en) MULTIVIEW IMAGE ENCODNG METHOD, MULTIVIEW IMAGE DECODNG METHOD, MULTIVIEW IMAGE ENCODlNG DEVICE, MULTIVIEW lNlAGE DECODlNG DEVICE, AND PROGRAMS OF SAME
KR20120084629A (en) Apparatus and method for encoding and decoding motion information and disparity information
KR20070098429A (en) A method for decoding a video signal
KR20070076391A (en) A method and apparatus for decoding/encoding a video signal
KR20080007069A (en) Method and apparatus for decoding a video signal
KR20070098428A (en) Method and apparatus for decoding/encoding a video signal
Shimizu et al. Decoder-side macroblock information derivation for efficient multiview video plus depth map coding
KR20070098437A (en) A method and apparatus for decoding/encoding a video signal
KR20070111947A (en) A method and apparatus for decoding/encoding a video signal
KR20070076392A (en) A method and apparatus for decoding/encoding a video signal
KR20080029944A (en) A method and apparatus for processing a video signal
KR20080007177A (en) A method and apparatus for processing a video signal