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 PDF

Info

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
Application number
KR1020060100511A
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 광운대학교 산학협력단
Publication of KR20070083168A publication Critical patent/KR20070083168A/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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 multi-view video encoding and decoding apparatus based on a weight value prediction based on a macro block and a method therefor are provided to enhance coding efficiency through a brightness value correction to perform an illumination compensation between views in the multi-view video encoding and decoding apparatus. A tilt and an offset are obtained by a macro block unit and a reference image is corrected to enhance coding efficiency in reference coding on time or between views in single or multi-view video coding. The tilt and the offset are displayed and transmitted as a bit stream.

Description

마크로 블록 기반 가중치 예측 기반 멀티 뷰 비디오 부호화 및 복호화 장치 및 그 방법 {Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof} Macroblock-based weight prediction based multi-view video encoding and decoding apparatus and method thereof {Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus approximately}

도 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.

Figure 112006074572128-PAT00001
Figure 112006074572128-PAT00001

여기서 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.

Figure 112006074572128-PAT00002
Figure 112006074572128-PAT00002

(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 Equation 1 instead of the conventional motion prediction method in order to consider the offset in the motion prediction. . After obtaining the optimal split mode and the motion vector for each macro block through motion prediction, the predicted macro block can be configured based on this information. The offset and slope values that minimize the difference between the constructed prediction macro block and the current macro block are obtained. The slope and offset values are obtained by repeatedly applying values within a certain range. The gradient value of the present invention was obtained by changing the value of 1/2 k within the range of 1-p / 2 k to 1 + p / 2 k , where the index of the denominator, k, is attached to the slice header and transmitted. Is attached to each macro block. K can also add any subtracted constant to the slice header. Equation 3 below was used to find the optimal slope and offset values.

Figure 112006074572128-PAT00003
Figure 112006074572128-PAT00003

본 발명에서는 오프셋은 수학식 3처럼, In the present invention, the offset is as in Equation 3,

Figure 112006074572128-PAT00004
Figure 112006074572128-PAT00004

으로 구할 수 있다. 디코더 쪽에서도 오프셋 값은 현재 블록의 평균값, 참조 블록의 평균값과 기울기 값으로 구해질 수 있다. 참조 블록의 평균값 (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 Equation 4.

Figure 112006074572128-PAT00005
Figure 112006074572128-PAT00005

수학식 4를 수학식 3식에 대입함으로써, 현재 블록의 밝기값을 수학식 5와 같이 구할 수 있다.  By substituting Equation 4 into Equation 3, the brightness value of the current block can be obtained as in Equation 5.

Figure 112006074572128-PAT00006
Figure 112006074572128-PAT00006

Figure 112006074572128-PAT00007
Figure 112006074572128-PAT00007

Figure 112006074572128-PAT00008
Figure 112006074572128-PAT00008

현재 블록 평균값의 예측치인 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.

Figure 112006074572128-PAT00009
Figure 112006074572128-PAT00009

Figure 112006074572128-PAT00010
Figure 112006074572128-PAT00010

Figure 112006074572128-PAT00011
Figure 112006074572128-PAT00011

Figure 112006074572128-PAT00012
Figure 112006074572128-PAT00012

여기서, 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 Equations 4 and 5. As an example of a modification of the present invention, the weight may be set to 1 when no slope value is used. In Equation 3, 4, and 5, the weight value is set to 1, the average value of the current block is predicted, and only the PE, which is the prediction error of the current block, is transmitted, not the offset value.

도 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.

slice_header_in_scalable_extension()slice_header_in_scalable_extension () DescriptorDescriptor MBbased_weighted_pred_flagMBbased_weighted_pred_flag u(e)u (e) if(extended_weighted_pred_flag) if (extended_weighted_pred_flag) if(slice_type==P||(weighted_bipred_idc == 1 && slice_type ==B))if (slice_type == P || (weighted_bipred_idc == 1 && slice_type == B)) extended_weight_table()extended_weight_table () else else if(weighted_pred_flag && (slice_type==P || slice_type ==SP))|| (weighted_bipred_idc == 1 && slice_type ==B))if (weighted_pred_flag && (slice_type == P || slice_type == SP)) || (weighted_bipred_idc == 1 && slice_type == B)) pred_weight_table()pred_weight_table ()

extended_weight_table()extended_weight_table () DescriptorDescriptor luma_log_weight_demonluma_log_weight_demon ue(v)ue (v) if(chroma_format_idc != 0)   if (chroma_format_idc! = 0) chroma_log2_weight_demonchroma_log2_weight_demon ue(v)ue (v)

macroblock_layer( ) macroblock_layer () DescriptorDescriptor                              … if(extend_weigh_flag&&(!mb_type==intra_16×16&&!mb_type==intra_4×4 &&!mb_type==8×8&&!mb_skip_flag))if (extend_weigh_flag && (! mb_type == intra_16 × 16 &&! mb_type == intra_4 × 4 &&! mb_type == 8 × 8 &&! mb_skip_flag)) mb_EW_flag                                                                                                               mb_EW_flag u(e)u (e) if( mb_EW_flag)                                                                                                             if (mb_EW_flag) lumaweight    lumaweight u(v)u (v) chromawegith[0]                                                                                                                                                        chromawegith [0] u(v)u (v) chromawegith[1]    chromawegith [1] u(v)u (v) if (CurrMbAddr==first_mb_in_slice) if (CurrMbAddr == first_mb_in_slice) lumaoffset                                 lumaoffset u(v)u (v) chromaoffset[0]                               chromaoffset [0] u(v)u (v) chromaoffset[1]                              chromaoffset [1] u(v)u (v) elseelse ErrCurMeanluma                                 ErrCurMeanluma u(v)u (v) ErrCurMeanchroma[0]                             ErrCurMeanchroma [0] u(v)u (v) ErrCurMeanchroma[1]                              ErrCurMeanchroma [1] u(v)u (v) else             else                            …

도 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 Equation 4, and the slope may be calculated through Equation 6.

Figure 112006074572128-PAT00013
Figure 112006074572128-PAT00013

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)

본 발명은 단일 비디오 혹은 멀티 뷰 비디오 코딩에서 시간상 혹은 뷰 사이에서 참조 부호화 시 코딩 효율을 높이기 위하여, 마크로 블록단위로 기울기와 오프셋을 구하여 참조 영상을 보정하고, 기울기(Weight)와 오프셋 (Offset)을 비트스트림에 표시하여 전송하는 장치 및 방법According to the present invention, in order to improve coding efficiency in reference encoding between time or view in single video or multi-view video coding, the reference image is corrected by obtaining the slope and offset in units of macro blocks, and the weight and offset are adjusted. Apparatus and method for transmitting by marking on bitstream 제 1항에 있어서, 마크로 블록별 가중치를 전송하기 위하여 실제 계산된 값 W를 1+p/2k 으로 나타내고 p를 마크로 블록 해더에 전송하고 k는 임의의 상수 뺀 값을 슬라이스 해더에 첨부한다. The method according to claim 1, wherein the actual calculated value W is expressed as 1 + p / 2 k in order to transmit the macroblock-specific weights, and p is transmitted to the macroblock header, and k is appended to the slice header by subtracting any constant. 제 1항에 있어서 현재블록의 오프셋 값은 현재 블록과 기울기 값이 적용된 이전 블록 평균과의 차이 값으로 하고, 오프셋 대신 현재 블록의 평균을 예측하여 예측 오차 (PE)만을 코딩하여 디코더로 전송하는 장치 및 방법The apparatus of claim 1, wherein an offset value of the current block is a difference value between a current block and a previous block average to which a slope value is applied, and the prediction block (PE) is coded by predicting the average of the current block instead of an offset and transmitted to the decoder. And how Offset = MeanC - MeanR * Weight Offset = MeanC-MeanR * Weight PE=MeanC-PCurMeanPE = MeanC-PCurMean 제 1항에 있어서, 현재 블록의 평균값의 예측 오차 PE로부터 다음 식을 사용하여 현재블럭의 오프셋값을 계산하는 방법 및 장치The method and apparatus of claim 1, wherein the offset value of the current block is calculated from the prediction error PE of the average value of the current block by using the following equation. 제 3항에 있어서, 현재 블록의 평균 값을 주변 블록의 밝기 값에 따라 예측하는 방법 및 장치The method and apparatus of claim 3, wherein the average value of the current block is predicted according to the brightness value of the neighboring block. 제 1항에 있어서, 마크로블록의 헤더는 플래그를 가지고 본 발명의 방법을 마크로 블록별로 선택적으로 적용할 수 있는 방법 및 장치The method and apparatus of claim 1, wherein the header of the macroblock has a flag and can selectively apply the method of the present invention to each macroblock.
KR1020060100511A 2006-02-20 2006-10-16 Method of multi-view video encoding and decoding based on macroblock-based weighted prediction, and apparatus thereof KR20070083168A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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