KR20070083168A - Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof - Google Patents
Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof Download PDFInfo
- Publication number
- KR20070083168A KR20070083168A KR1020060100511A KR20060100511A KR20070083168A KR 20070083168 A KR20070083168 A KR 20070083168A KR 1020060100511 A KR1020060100511 A KR 1020060100511A KR 20060100511 A KR20060100511 A KR 20060100511A KR 20070083168 A KR20070083168 A KR 20070083168A
- Authority
- KR
- South Korea
- Prior art keywords
- offset
- macroblock
- value
- block
- current block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods 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
Description
도 1은 마크로 블록 기반 가중치 예측방법을 적용한 비디오 인코더의 도면1 is a diagram of a video encoder to which a macro block based weight prediction method is applied.
도 2는 추정 마크로 블록을 구하는 방법을 나타낸 도면2 is a diagram illustrating a method for obtaining an estimated macro block.
도 3은 인코더에서 기울기와 오프셋을 구하는 방법의 순서도3 is a flowchart of a method of obtaining a slope and an offset in an encoder.
도 4는 발명의 인코더를 통해 인코딩된 비트스트림의 예4 is an example of a bitstream encoded via an inventive encoder.
도 5는 마크로 블록 기반 가중치 예측방법을 적용한 비디오 디코더의 도면5 is a diagram of a video decoder to which a macro block based weight prediction method is applied.
도 6은 디코더부에서 마크로 블록 기반가중치 예측 방법에 따른 기울기와 오프셋의 계산을 통해 영상이 복원되는 과정을 자세히 나타낸 블록도FIG. 6 is a block diagram illustrating in detail a process of reconstructing an image by calculating a slope and an offset according to a macroblock-based weight prediction method in a decoder.
본 발명은 멀티 뷰 비디오 인코딩/디코딩 장치에서 뷰 간의 조명보상을 위하여 밝기 값 보정을 통해 코딩효율을 높이는 방법과 밝기 값 보정을 효과적으로 하기 위한 방법에 관한 것이다.The present invention relates to a method for increasing coding efficiency through brightness value correction and to a method for effectively correcting brightness value for compensation of illumination between views in a multi-view video encoding / decoding apparatus.
멀티 뷰 비디오 시스템을 위해 입력된 다중 비디오 시퀀스를 멀티 뷰 비디오 코딩 방법으로 압축 전송할 경우, 동일 시퀀스 내에서뿐만 아니라 뷰와 뷰 사이에서도 참조를 함으로써 압축 효율을 높일 수 있다. 그러나 동 시간대에 촬영한 다른 뷰와 같은 카메라로 촬영한 다른 시간대의 프레임 사이에서는 카메라의 특성 및 조명조건에 따라 영상이 달라지는 현상을 보이는데, 이는 코딩효율을 크게 떨어뜨리는 요인이 된다. 이러한 문제를 해결하기 위하여, 멀티 뷰 비디오 코딩분야에서 뿐 아니라 기존의 비디오 코딩분야에서도 많은 노력이 있었다. 기존의 H.264/AVC에서 가중치 예측 기법이 표준 기술로 채택되기도 하였다. 이 방법은 참조 영상의 밝기 값 보정을 위하여, 슬라이스 단위의 기울기 값 (W)과 오프셋(O) 파라미터를 사용하였다. 또 다중참조 프레임을 고려하여 슬라이스 단위의 기울기와 오프셋 값은 참조프레임의 개수만큼을 슬라이스 헤더에 첨부하였다. 그러나 이 방법은 슬라이스 단위에서 기울기와 오프셋을 적용하기 때문에 지역적인 밝기 값의 변화에 대해서는 적절하게 대응하지 못한다는 단점이 있다. In the case of compression transmission of multiple video sequences input for a multi-view video system using a multi-view video coding method, compression efficiency can be improved by referring not only within the same sequence but also between views. However, there is a phenomenon that the image varies depending on the characteristics of the camera and lighting conditions between frames of different time zones taken by the same camera as other views taken during the same time zone, which greatly reduces coding efficiency. In order to solve this problem, much effort has been made not only in the multi-view video coding field but also in the existing video coding field. In H.264 / AVC, weight prediction technique has been adopted as a standard technique. In this method, the slope value ( W ) and the offset ( O ) parameters in the slice unit are used to correct the brightness value of the reference image. In addition, in consideration of the multi-reference frame, the slope and offset values of the slice unit are attached to the slice header by the number of reference frames. However, this method has a disadvantage in that it does not adequately respond to changes in local brightness because it applies slope and offset in the slice unit.
이에 본 발명은 멀티 뷰 비디오 영상 압축을 위하여,H.264/SVC 기반의 멀티뷰 비디오 코딩방법의 특징을 고려한 효율적인 마크로 블록 기반 가중치 예측방법을 제안한다. 기존의 방법은 다중참조 프레임과 멀티뷰의 구조적 B프레임 구조를 고려하여 참조 프레임의 개수만큼 슬라이스 헤더에 기울기와 오프셋을 첨부하였다. 기존의 슬라이스 기반의 방법을 그대로 마크로블록 단위로 적용할 경우 마크로 블록 하나당 전송해야 하는 추가 정보의 양이 많아져 코딩효율을 위한 가중치 예측이 오히려 효율을 떨어뜨리는 요인이 된다. 마크로 블록별 가중치 예측을 위한 추가 정보의 양을 줄이면서 코딩의 효율을 높이기 위해 오프셋 값을 조금 더 정확히 예측하기 위한 조명 불변의 움직임 예측방법과 추정마크로 블록을 통해 가중치 예측을 하는 방법 및 장치를 제안한다.Accordingly, the present invention proposes an efficient macroblock-based weight prediction method in consideration of the features of an H.264 / SVC based multiview video coding method for multi-view video image compression. The conventional method attaches the slope and the offset to the slice header by the number of reference frames in consideration of the structure B frame structure of the multi-reference frame and multi-view. If the existing slice-based method is applied in units of macroblocks, the amount of additional information to be transmitted per macroblock increases, which causes weighting prediction for coding efficiency to be less effective. We propose an illumination-invariant motion prediction method for predicting offset values more accurately and a method and apparatus for weight prediction through estimated macro blocks to reduce the amount of additional information for weight prediction for each macro block while increasing the coding efficiency. do.
조명 불변의 움직임 예측 방법은 움직임 예측시에 현재 블록과 참조 영상사이의 오프셋을 고려하여 SAD 계산시에 블록의 평균을 고려하여 움직임 예측을 하는 방법으로 잔여영상의 에러 값의 합은 증가하는 경우도 있지만 이는 블록별 오프셋 값의 계산시에 오프셋으로 계산되기 때문에 결국 엔트로피는 감소하게 된다. 추정마크로 블록을 통한 가중치 예측 방법은 움직임 예측이 끝난 후에 가중치 예측을 하기 위해 움직임 백터와 블록모드를 통해 현재 마크로 블록과 가장 유사한 마크로 블록을 추정하고 이 추정 마크로 블록과 현재 블록 사이의 기울기와 오프셋을 구하는 방법이다. 움직임 예측이 끝난 후에 기울기와 오프셋을 구하기 때문에 참조영상이나 블록모드를 고려할 필요 없이 마크로블록 당 하나의 기울기와 오프셋만을 구하고 이를 전송하면 된다. The illumination-invariant motion prediction method performs motion estimation by considering the average of blocks in the SAD calculation by considering the offset between the current block and the reference image during motion estimation. However, since it is calculated as an offset when calculating the offset value of each block, entropy is reduced. The weight estimation method using the estimation macro block estimates the macro block most similar to the current macro block by using the motion vector and the block mode to estimate the weight after the motion prediction is completed. How to get it. Since the slope and the offset are obtained after the motion prediction, only one slope and the offset per macroblock need to be obtained and transmitted without considering the reference image or the block mode.
기존의 가중치 예측을 마크로블록 단위로 효율적으로 적용하기 위해 개선된 방법에서는 슬라이스 단위에서는 슬라이스 헤더에 마크로 블록 기반가중치예측 플래그를 추가하고 마크로 블록 기반가중치 예측 플래그가 1일 경우, 기울기의 스케일 값을 위한 구문의 추가가 필요하다. 마크로 블록 헤더에는 기존에 없었던 마크로 블록단위 기울기와 오프셋을 위한 추가 구문 구조가 필요하다. 기존의 방법의 확장을 통해 슬라이스 단위가 아닌 마크로 블록 단위로 밝기 값 보정을 하고 이를 참조하기 때문에 압축효율 면에서 향상된 결과를 얻을 수 있다.In the improved method for efficiently applying the existing weight prediction in units of macroblocks, in the slice unit, the macroblock-based weight prediction flag is added to the slice header and the macro block-based weight prediction flag is 1 for the scale value of the slope. You need to add a phrase. Macro block headers require additional syntax structures for macro block unit gradients and offsets that were not available before. Through the extension of the existing method, the brightness value is corrected in units of macroblocks rather than slices, and the results are improved in terms of compression efficiency.
가중치 예측방법은 참조 영상의 밝기 값의 보정을 통해 코딩하고자 하는 현재 영상의 픽셀 값을 최대한 정확히 예측하고자 하는 방법이다. 가중치 예측을 위한 기울기와 오프셋은 아래의 식을 통해 계산될 수 있다.The weight prediction method is a method for accurately predicting pixel values of a current image to be coded by correcting brightness values of a reference image. The slope and offset for weight prediction can be calculated by the following equation.
여기서 R k 는 복원된 이전 영상, 즉 참조영상들이며 mv x 와 mv y 는 움직임 벡터를 나타낸다. 또한 F는 현재 영상을 나타낸다. 위의 식을 만족하는 최적의 기울기 (W)와 오프셋 (O)은 참조 영상들의 픽셀 값을 현재영상에 가장 근사시켜줄 수 있는 값을 의미한다. 정보의 양에 상관없이 정확한 기울기와 오프셋의 계산하고 이를 적용하기 위해서라면 위 식을 움직임 예측에 적용하여 움직임 예측시에 이를 구하고 이 정보들 모두를 마크로 블록별로 전송하는 방법을 사용할 것이나 H.264 기반의 멀티뷰 비디오 코딩에서는 시간상 앞 뒤 영상 뿐 아니라 주변 뷰의 영상도 참조 하기 때문에 참조영상의 숫자도 많고 각 마크로 블록의 블록 모드도 복잡하여 정보의 양을 고려할 경우 오히려 코딩 효율을 떨어뜨리기 때문에 적용하기 어렵다. 이를 개선하기 위한 몇 가지 실시 예를 도면를 통해 보인다.Here, R k is a reconstructed previous image, that is, reference images, and mv x and mv y represent a motion vector. F also represents the current image. The optimal slope ( W ) and offset ( O ) satisfying the above equations mean values that can approximate pixel values of reference images to the current image. In order to calculate and apply accurate slope and offset irrespective of the amount of information, the above equation is applied to motion prediction to obtain it at the time of motion prediction and transmit all of this information by macroblock. In multi-view video coding, not only the front and rear images in time but also the surrounding view are referred to, so the number of reference images is large and the block mode of each macro block is complicated. Therefore, when considering the amount of information, coding efficiency is reduced. it's difficult. Some embodiments for improving this are shown in the drawings.
도 1은 본 발명의 실시 예로써 마크로 블록 기반 가중치 예측방법을 적용한 비디오 인코더이다. 현재 마크로 블록의 인코딩을 위해 먼저 현재 블록의 움직임 예측을 하게 되는데, 기존의 움직임 예측 방법을 개선하여 오프셋을 고려한 움직임 예측을 하게 되는데 아래의 식을 통해 움직임 예측을 한다. 1 is a video encoder to which a macro block based weight prediction method is applied according to an embodiment of the present invention. To encode the current macroblock, motion prediction of the current block is first performed. The motion prediction considering the offset is performed by improving the existing motion prediction method. The motion prediction is performed by the following equation.
(where X,Y can be 4,8,16)(where X, Y can be 4,8,16)
움직임 예측이 끝나고 움직임 백터와 블록모드가 정해지면 이 정보를 바탕으로 도2와 같이 추정마크로블록을 구할 수 있다. 추정마크로 블록은 현재 블록의 참조영상과 움직임백터 그리고 블록모드만을 가지고 구성한 현재블록과 가장 유사한 추정 마크로 블록으로 이 추정마크로 블록과 현재 블록의 오차를 줄이는 기울기와 오프셋이 마크로 블록의 기울기와 오프셋이 된다. 이렇게 마크로블록 단위로 기울기와 오프셋을 구하면서 다중 참조 모드와 멀티뷰 코딩의 특징인 시간상 앞 뒤 영상과 주변 뷰의 영상 모두가 참조 영상이 되는 경우에도 마크로블록의 추가정보의 양이 같기 때문에 코딩의 효율을 높이게 된다. 이렇게 구한 마크로 블록별 기울기와 오프셋은 그대로 전송하지 않고 이전 블록의 추정 값과의 차분 값을 구해 마크로 블록의 헤더에 첨부하여 전송한다.After the motion prediction is completed and the motion vector and the block mode are determined, an estimated macroblock can be obtained as shown in FIG. 2 based on this information. The estimated macro block is an estimated macro block that is the most similar to the current block composed only of the reference image, the motion vector, and the block mode of the current block. The estimated macro block is a slope and an offset that reduces the error between the block and the current block. . Since the slope and offset are calculated in units of macroblocks, the amount of additional information of the macroblock is the same even when both the front and back images and the surrounding view images, which are the characteristics of the multi-reference mode and the multi-view coding, are the reference images. It will increase the efficiency. The gradient and offset for each macro block thus obtained are not transmitted as they are, but are obtained by obtaining a difference value from the estimated value of the previous block and attached to the header of the macro block.
도 2는 본 발명의 실시 예로써 추정 마크로 블록을 구하는 방법을 나타낸 도이다. 도 2-1은 P 블록의 경우 도 2-2는 B 블록의 경우 추정 마크로 블록을 구하는 방법이다. 2 is a diagram illustrating a method of obtaining an estimated macroblock according to an embodiment of the present invention. FIG. 2-1 shows a P block and FIG. 2-2 shows a method for obtaining an estimated macro block.
일반적인 H.264 기반의 비디오 코딩에서 P 블록의 경우 참조 영상은 시간상 의 앞 혹은 뒤 영상들이겠지만 멀티뷰에서는 주변 뷰도 참조하기 때문에 시간상의 앞 혹은 뒤 공간상에서 주변 뷰들 중의 하나가 될 수 있다. 이렇게 시간 혹은 공간상의 참조 영상들을 참조하여 움직임 예측을 하면 현재 블록에 대한 움직임 백터와 블록모드가 결정된다. 이렇게 결정된 움직임 백터와 블록모드 참조 영상들을 바탕으로 현재 마크로 블록에 대한 추정 마크로 블록을 구한다. In general H.264-based video coding, in case of P block, the reference image may be the front or rear image in time, but it may be one of the peripheral views in the front or rear space in time because the multiview also refers to the surrounding view. When motion prediction is performed by referring to reference images in time or space, a motion vector and a block mode for the current block are determined. An estimated macro block for the current macro block is obtained based on the motion vector and the block mode reference images determined as described above.
B 블록의 경우 참조 영상은 시간상의 앞뒤 영상 공간상의 앞 뒤 영상 및 주변 뷰의 영상 모두가 참조 영상이 될 수 있고 다중참조가 지원될 경우 참조 영상의 숫자는 그림과 같이 많아 질 수 있다. 역시 추정 마크로블록은 움직임 예측을 통해 구해진 움직임 백터와 블록모드 그리고 참조 영상들을 바탕으로 현재 마크로 블록에 대한 추정 마크로 블록을 구한다. In the case of the B block, the reference picture may be a reference picture in both the front and back picture and the view of the surrounding view in time, and the number of reference pictures may be increased as shown in the figure. The estimated macroblock also obtains an estimated macroblock for the current macroblock based on the motion vector, the block mode, and the reference images obtained through the motion prediction.
도 3은 본 발명의 실시 예로써 인코더에서 기울기와 오프셋을 구하는 방법의 순서도이다. 본 발명에서는 가중치 예측을 움직임 예측이 끝난 후에 하기 때문에 움직임 예측 시에 오프셋을 고려하기 위하여 기존의 움직임 예측 방법이 아닌 수학식 1에 따라 개선된 움직임 예측 방법을 이용하여 현재 블록에 대한 움직임 예측을 한다. 움직임 예측을 통해 각 마크로 블록별로 최적 분할모드와 움직임 벡터를 구한 후에, 이 정보를 바탕으로 예측된 마크로 블록을 구성할 수 있다. 구성되어진 예측 마크로 블록과 현재 마크로 블록의 차이를 최소화하는 오프셋과 기울기 값을 구한다. 기울기와 오프셋 값은 일정 범위내의 값들을 변화시키면서 반복적으로 적용하여 구한다. 본 발명의 기울기 값은 1-p/2k ~ 1+p/2k 범위 내에서 1/2k씩 변화시 키며 구하였고, 여기서 분모의 지수인 k는 슬라이스 헤더에 첨부되어 전송되고, p값은 마크로 블록 별로 첨부되게 된다. 또한 k는 임의의 상수를 뺀 값을 슬라이스 헤더에 추가할 수 있다. 최적의 기울기 값과 오프셋 값을 구하기 위하여 다음의 수학식3을 사용하였다. 3 is a flowchart illustrating a method of obtaining a slope and an offset in an encoder according to an embodiment of the present invention. In the present invention, since the weight prediction is performed after the motion prediction is completed, the motion prediction for the current block is performed using the improved motion prediction method according to
본 발명에서는 오프셋은 수학식 3처럼, In the present invention, the offset is as in
으로 구할 수 있다. 디코더 쪽에서도 오프셋 값은 현재 블록의 평균값, 참조 블록의 평균값과 기울기 값으로 구해질 수 있다. 참조 블록의 평균값 (MeanR)은 움직임 벡터를 이용하여 복원된 참조영상으로부터 구할 수 있다. 기울기 값(Weight)은 마크로 블록별로 전송된 p값을 통하여 구할 수 있다. 현재 블록의 평균값(MeanC)을 추가로 전송할 필요가 있는데, 본 발명에서는 현재 블록의 평균값을 수학식 4와 같이 현재 블록 예측 평균치인 (PCurMean)과 예측 오차 (PE)로 분리하여 표현할 수 있다. You can get it by In the decoder side, the offset value may be obtained as the average value of the current block, the average value and the slope value of the reference block. The mean value MeanR of the reference block can be obtained from the reconstructed reference picture using the motion vector. The gradient value Weight can be obtained through the p value transmitted for each macro block. It is necessary to further transmit the average value (MeanC) of the current block, in the present invention, the average value of the current block can be expressed by dividing the current block prediction average value ( PCurMean ) and the prediction error ( PE ) as shown in
수학식 4를 수학식 3식에 대입함으로써, 현재 블록의 밝기값을 수학식 5와 같이 구할 수 있다. By substituting
현재 블록 평균값의 예측치인 PCurr_Mean은 주변 블록의 평균 값들을 통하여 예측할 수 있다. 본 발명에서는 하나의 실시 예로서, 현재 블록의 평균값을 다음과 같은 방법을 이용하여 예측할 수 있다. PCurr_Mean, which is a prediction value of the current block average value, may be predicted through average values of neighboring blocks. According to an embodiment of the present invention, the average value of the current block may be predicted using the following method.
여기서, A는 현재블록의 왼쪽 위 블록의 평균값을, B는 위쪽 블록의 평균 값을 그리고 C는 왼쪽 블록의 평균값을 각각 나타낸다. 만약 A, B, C 각각의 값들이 존재할 수 없는 경우에는 존재하는 값만으로 예측을 하고 슬라이스의 제일 처음 블록과 같이 주변 값들이 전부 존재하지 않는 경우에는 예측을 하지 않고 원래의 오프셋을 코딩하여 보내도록 하였다. 인코더에서는 이렇게 구해진 예측치의 오차 값만을 코딩하여 보내고 디코더는 수학식 4와 5를 이용하여 복호화를 하게 된다. 본 발명의 변형의 예로써, 기울기 값을 사용하지 않은 경우 Weight를 1로 설정할 수 있다. 수학식 3, 4, 5에서 Weight값을 1로 설정하고, 현재 블록의 평균값을 예측하여, Offset값을 전송하는 것이 아니라 현재 블록의 예측 오차인 PE만을 전송하게 된다.Here, A denotes the average value of the upper left block of the current block, B denotes the average value of the upper block, and C denotes the average value of the left block. If the values of A , B , and C cannot exist, the prediction is based on the existing values. If there are no surrounding values such as the first block of the slice, the original offset is coded and sent without prediction. It was. In the encoder, only the error value of the prediction value thus obtained is coded and the decoder decodes using
도 4는 본 발명의 실시 예로서 발명의 인코더를 통해 인코딩된 비트스트림의 예이다. 슬라이스 헤더의 마크로 블록 기반 가중치 예측 플래그의 값이 1인 경우 본 발명인 마크로 블록 기반가중치 예측 방법이 적용되는데 먼저 슬라이스 헤더에는 마크로 블록 기반가중치 예측 플래그가 추가되고 슬라이스 헤더의 참조영상별 기울기와 오프셋에 해당하는 비트스트림 대신 슬라이스 기울기가 각각 Y,Cb,Cr성분에 대해 하나씩 들어간다. 마크로블록 해더에는 마크로블록의 차분 기울기와 오프셋이 Y,Cb,Cr성분에 대해 하나씩 들어가게 된다. 슬라이스 헤더의 마크로 블록 기반 가중치 예측 플래그가 0이면 가중치 예측 플래그를 체크하여 1인 경우에는 슬라이스 헤더에만 참조영상의 숫자만큼 슬라이스 기울기와 오프셋이 첨부되고 가중치 예측 플래그가 0이면 가중치 예측에 대한 정보가 슬라이스 헤더나 마크로블록 헤더에 추가되지 않게 된다. 또 마크로 블록 기반가중치 예측 플래그가 1인 경우 마크로 블록별로 플래그를 두고 마크로 블록별로 마크로 블록 기반가중치 예측방법을 사용하였는지 아닌지를 표시할 수 있다. 플래그 값이 1인 경우는 본 발명의 방법을 적용한 경우로 오프셋과 기울기가 마크로블록의 헤더에 코딩되어지고, 0인 마크로블록을 마크로 블록 기반가중치 예측방법이 적용되지 않아 마크로블록 해더에 관련 값이 코딩되어지지 않는다.4 is an example of a bitstream encoded through an encoder of the present invention as an embodiment of the present invention. When the macroblock-based weight prediction flag value of the slice header is 1, the macroblock-based weight prediction method of the present invention is applied. First, the macroblock-based weight prediction flag is added to the slice header and corresponds to the slope and offset of each reference image of the slice header. Instead of the bitstream, the slice slopes are input one for each of the Y, Cb, and Cr components. In the macroblock header, the differential slope and offset of the macroblock are entered one by one for the Y, Cb, and Cr components. If the macro block-based weight prediction flag of the slice header is 0, the weight prediction flag is checked and if it is 1, the slice slope and offset are appended by the number of the reference image only to the slice header. If the weight prediction flag is 0, the information about the weight prediction is sliced. It will not be added to the header or macroblock headers. When the macro block based weight prediction flag is 1, a flag may be set for each macro block and it may be displayed whether or not the macro block based weight prediction method is used for each macro block. If the flag value is 1, the method of the present invention is applied, and the offset and the slope are coded in the header of the macroblock, and the macroblock based weight value prediction method is not applied to the macroblock with 0, so that the relevant value is not included in the macroblock header. It is not coded.
도 5는 본 발명의 실시 예로써 마크로 블록 기반 가중치 예측방법을 적용한 비디오 디코더이다. 디코더는 전송 받은 비트 스트림을 구문 정보를 이용하여 파싱하고 파싱된 정보를 역 엔트로피 코딩한다. 파싱된 구문 정보 중 슬라이스 헤더의 MBbased_weighted_flag를 체크하여 플래그가 1이면 인코더에서 슬라이스에 마크로 블록 기반 가중치 예측 방법한 적용한 경우이므로 먼저 슬라이스 헤더에서 슬라이스 기울기 값을 추출한다. 그리고 마크로블록 헤더에서 마크로 블록별 기울기와 오프셋 값을 추출하는데, 이때 마크로블록별로 선택적으로 마크로 블록 기반 가중치 예측방법을 적용한 경우 마크로블록별 플래그 값도 체크하여야 한다. 마크로블록 마크로 블록 기반가중치 예측플래그 값이 1인 마크로 블록의 경우 인코더에서 코딩되어 전송된 첫 번째 마크로 블록의 오프셋 값은 원래의 값이고, 두 번째 마크로 블록의 오프셋 값은 현재 블록의 평균 밝기 값에 대한 예측 오차 값이므로 원래 값으로의 복원이 필요하다. 원래 값으로의 복원은 수학식 5와 같은 과정을 통해 이루어진다.5 is a video decoder to which a macro block-based weight prediction method is applied according to an embodiment of the present invention. The decoder parses the received bit stream using syntax information and inversely entropy codes the parsed information. Among the parsed syntax information, MBbased_weighted_flag of the slice header is checked, and if the flag is 1, the encoder applies the macro block-based weight prediction method to the slice. Therefore, the slice slope value is first extracted from the slice header. In addition, the gradient and the offset value of each macroblock are extracted from the macroblock header. When the macroblock-based weight prediction method is selectively applied to each macroblock, the flag value of each macroblock should also be checked. Macroblock Macroblock Based Weight Prediction For a macroblock with a value of 1, the offset value of the first macroblock coded and transmitted by the encoder is the original value, and the offset value of the second macroblock is equal to the average brightness value of the current block. It is necessary to restore the original value since it is a prediction error value. The restoration to the original value is performed through the process as shown in Equation 5.
다음은 본 발명을 적용하기 위한 변형된 SVC 구문정보를 나타낸다. The following shows modified SVC syntax information for applying the present invention.
도 6은 본 발명의 실시 예로서, 디코더부에서 마크로 블록 기반가중치 예측 방법에 따른 기울기와 오프셋의 계산을 통해 영상이 복원되는 과정을 자세히 나타낸 블록도이다. 역 엔트로피 코딩된 기울기와 오프셋 값은 인코딩시에 사용된 정보가 아니기 때문에 원래의 값으로의 계산 과정이 필요하다. 오프셋 값의 계산은 수학식 4를 통해 이루어 질 수 있고, 기울기는 수학식6을 통해 계산되어질 수 있다. 6 is a block diagram illustrating a process of reconstructing an image by calculating a slope and an offset according to a macroblock-based weight prediction method in an decoder according to an embodiment of the present invention. Since the inverse entropy coded slope and offset values are not the information used at the time of encoding, a calculation to the original values is required. The offset value may be calculated through
2k+4는 스케일의 크기를 나타내고 k는 본 발명에서 슬라이스 헤더에 코딩되어 젼송된다. p는 각 마크로 블록별로 최적의 기울기(Weight) 값을 계산하는 과정을 통해 계산되어져 마크로블록별로 마크로블록 헤더에 코딩되어 전송되어진 값이다. 본 발명에서는 스케일 값을 25으로 하였기 때문에 실제 코딩되는 k어져 슬라이스 헤더에 첨부된 값은 1이 된다. 2 k + 4 represents the magnitude of the scale and k is coded and carried in the slice header in the present invention. p is calculated by calculating an optimal weight value for each macro block and is coded and transmitted in a macroblock header for each macroblock. In the present invention, since the scale value is 2 5 , the value that is actually coded and attached to the slice header is 1.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점 에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
본 발명은 기존의 가중치 예측 방법을 확장하여 슬라이스 단위로 기울기 값을 예측하고 마크로 블록단위로 기울기와 오프셋을 구하여 마크로블록의 헤더에 첨부하여 전송한다. 이때 마크로 블록의 오프셋을 효과적으로 추정하기 위하여 기존의 움직임 예측방법을 개선하여 블록의 평균을 빼고 SAD 값을 구하는 개선된 움직임 예측방법과 마크로블록 단위의 기울기와 오프셋을 효율적으로 전송하기 위하여 추정마크로블록을 사용하여 기울기와 오프셋을 구하는 방법을 제안하였다. 제안한 발명을 적용한 멀티뷰 비디오 코딩시 시간상 혹은 공간상의 참조영상과 현재 영상간의 밝기값 보정을 통하여 뷰 혹은 프레임간의 참조시 정확도를 높이고 코딩효율을 향상시킬 수 있었다.The present invention extends the existing weight prediction method to predict the gradient value in units of slices, obtains the slope and offset in units of macro blocks, and transmits the gradient values to the headers of the macro blocks. In order to effectively estimate the offset of the macroblock, the conventional motion prediction method is improved to subtract the average of the blocks and obtain the SAD value, and the estimated macroblock is efficiently transmitted to transmit the slope and offset in units of the macroblock. We propose a method for obtaining the slope and offset using In multi-view video coding using the proposed invention, it is possible to improve the accuracy and the coding efficiency when referencing between views or frames by adjusting the brightness value between the reference image in time or space and the current image.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060015974 | 2006-02-20 | ||
KR20060015974 | 2006-02-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070083168A true KR20070083168A (en) | 2007-08-23 |
Family
ID=38612590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060100511A KR20070083168A (en) | 2006-02-20 | 2006-10-16 | Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070083168A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100928547B1 (en) * | 2008-02-19 | 2009-11-24 | 연세대학교 산학협력단 | Method of calculating information amount using virtual weight and storage medium |
WO2013069933A1 (en) * | 2011-11-07 | 2013-05-16 | 엘지전자 주식회사 | Image encoding/decoding method and device therefor |
KR101420894B1 (en) * | 2007-01-04 | 2014-07-17 | 톰슨 라이센싱 | Method and apparatus for video error concealment in multi-view coded video using high level syntax |
US9225967B2 (en) | 2010-02-26 | 2015-12-29 | Industry-Academic Cooperation Foundation, Yonsei University | Multi-view image processing apparatus, method and computer-readable medium |
US20160150238A1 (en) * | 2013-07-15 | 2016-05-26 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation |
US9870606B2 (en) | 2012-09-19 | 2018-01-16 | Thomson Licensing | Method and apparatus for compensating illumination variations in a sequence of images |
-
2006
- 2006-10-16 KR KR1020060100511A patent/KR20070083168A/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101420894B1 (en) * | 2007-01-04 | 2014-07-17 | 톰슨 라이센싱 | Method and apparatus for video error concealment in multi-view coded video using high level syntax |
KR100928547B1 (en) * | 2008-02-19 | 2009-11-24 | 연세대학교 산학협력단 | Method of calculating information amount using virtual weight and storage medium |
US9225967B2 (en) | 2010-02-26 | 2015-12-29 | Industry-Academic Cooperation Foundation, Yonsei University | Multi-view image processing apparatus, method and computer-readable medium |
WO2013069933A1 (en) * | 2011-11-07 | 2013-05-16 | 엘지전자 주식회사 | Image encoding/decoding method and device therefor |
US9870606B2 (en) | 2012-09-19 | 2018-01-16 | Thomson Licensing | Method and apparatus for compensating illumination variations in a sequence of images |
US20160150238A1 (en) * | 2013-07-15 | 2016-05-26 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation |
US10321142B2 (en) * | 2013-07-15 | 2019-06-11 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2090108B1 (en) | Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction | |
EP2803190B1 (en) | Hybrid reference picture reconstruction method for multiple layered video coding systems | |
US8917775B2 (en) | Method and apparatus for encoding and decoding multi-view video data | |
US8711937B2 (en) | Low-complexity motion vector prediction systems and methods | |
US8014026B2 (en) | Image encoding and/or decoding system, medium, and method | |
KR101646085B1 (en) | Video encoder, video decoder, method for video encoding and method for video decoding, separately for each colour plane | |
US20120121015A1 (en) | Processing multiview video | |
US20120230405A1 (en) | Video coding methods and video encoders and decoders with localized weighted prediction | |
US20100150227A1 (en) | Scalable mpeg video/macro block rate control | |
US20070223021A1 (en) | Image encoding/decoding method and apparatus | |
WO2008004768A1 (en) | Image encoding/decoding method and apparatus | |
WO2008020687A1 (en) | Image encoding/decoding method and apparatus | |
KR20100006551A (en) | Video encoding techniques | |
KR20070083168A (en) | Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof | |
TW201709736A (en) | Image encoding device and image encoding method | |
US20180115783A1 (en) | Method and apparatus for image encoding/decoding | |
US8948264B2 (en) | Method and apparatus for multi-view video encoding using chrominance compensation and method and apparatus for multi-view video decoding using chrominance compensation | |
CN110636302B (en) | Video decoding and encoding methods and devices, storage medium, decoder and encoder | |
Cha et al. | Improved combined inter-intra prediction using spatial-variant weighted coefficient | |
US20050169369A1 (en) | Scalable MPEG video/macro block rate control | |
CN112514399A (en) | Signaling parameter value information in a parameter set to reduce the amount of data contained in an encoded video bitstream | |
KR101187580B1 (en) | Method and apparatus for compensating illumination compensation and method and apparatus for encoding moving picture based on illumination compensation, and method and apparatus for encoding moving picture based on illumination compensation | |
CN110636288B (en) | Video decoding and encoding method and device and electronic equipment | |
US20230300363A1 (en) | Systems and methods for template matching for adaptive mvd resolution | |
CN112889280B (en) | Method and apparatus for encoding and decoding digital image/video material |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |