KR20050122496A - Method for encoding/decoding b-picture - Google Patents

Method for encoding/decoding b-picture Download PDF

Info

Publication number
KR20050122496A
KR20050122496A KR1020040047616A KR20040047616A KR20050122496A KR 20050122496 A KR20050122496 A KR 20050122496A KR 1020040047616 A KR1020040047616 A KR 1020040047616A KR 20040047616 A KR20040047616 A KR 20040047616A KR 20050122496 A KR20050122496 A KR 20050122496A
Authority
KR
South Korea
Prior art keywords
block
frame
motion vector
prediction mode
reference block
Prior art date
Application number
KR1020040047616A
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 KR1020040047616A priority Critical patent/KR20050122496A/en
Publication of KR20050122496A publication Critical patent/KR20050122496A/en

Links

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/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

B 프레임의 부호화시 성능 저하 없이 연산량 및 메모리 밴드폭을 줄이기위한 B-픽쳐의 부호화 및 복호화 방법이 개시된다. 본 발명은 B-프레임의 현재 블록에 대해 제1 참조 프레임 내 소정의 탐색 영역 내에서 추정되는 제1 움직임 벡터에 대응하는 제1 참조 블록과, 제1 움직임 벡터로부터 유도된 제2 움직임 벡터에 대응하는 제2 참조 프레임 내 제 2 참조 블록과 제1 참조 블록의 평균 블록 중 하나의 블록을 현재 블록의 움직임 보상 블록으로 선정하는 과정, B 프레임의 움직임 보상 예측 모드 정보를 1비트로 생성하는 과정을 포함한다.Disclosed is a method of encoding and decoding a B-picture for reducing the amount of computation and memory bandwidth without degrading performance in encoding a B frame. The present invention corresponds to a first reference block corresponding to a first motion vector estimated in a predetermined search region in a first reference frame with respect to a current block of a B-frame, and a second motion vector derived from the first motion vector. Selecting one of the second reference block and the average block of the first reference block in the second reference frame as the motion compensation block of the current block, and generating the motion compensation prediction mode information of the B frame with 1 bit do.

Description

B-픽쳐의 효율적인 부호화 및 복호화 방법{Method for encoding/decoding B-picture}Efficient Encoding and Decoding Method of B-Picture {Method for encoding / decoding B-picture}

본 발명은 MPEG 영상 부호화/복호화에 관한 것이며, 특히 B 프레임의 부호화시 성능 저하없이 연산량 및 메모리 밴드폭을 줄이기위한 B-픽쳐의 효율적인 부호화 및 복호화 방법에 관한 것이다.The present invention relates to MPEG video encoding / decoding, and more particularly, to an efficient encoding and decoding method of a B-picture for reducing an operation amount and a memory bandwidth without degrading performance in encoding a B frame.

통상적으로 MPEG과 같은 동영상 부호기에서는 부호화의 효율을 높이기 위해 B (Bi-predictive picture) 프레임을 도입하고 있다. I-프레임이나 P-프레임과 달리 B-프레임은 적어도 두 개의 참조 프레임들에서 움직임 보상을 통한 부호화를 수행하며, 인터폴러티브(interpolativ)e 모드를 갖는 특징이 있다. 인터폴러티브(Interpolative) 모드란 해당 블록에 대해 양 방향에서 움직임 보상된 블록들을 평균하고, 그 평균 블록을 이용하여 최종적인 움직임 보상을 하는 모드이다. 결국 B 프레임의 모든 블록들은 순방향 예측 (forward prediction) 모드 (혹은 제 1방향 예측 모드), 역방향 예측 (backward prediction) 모드 (혹은 제 2방향 예측 모드), 그리고 양방향 예측 모드 (interpolative 모드) 중 하나의 모드를 선택하게 된다.In general, a video encoder such as MPEG introduces a B-predictive picture (B) frame to improve encoding efficiency. Unlike I-frames or P-frames, B-frames perform motion compensation encoding on at least two reference frames and have an interpolative mode. The interpolative mode is a mode in which motion compensated blocks are averaged in both directions with respect to the corresponding block, and the final motion compensation is performed using the average block. Eventually, all blocks of the B frame are one of a forward prediction mode (or first direction prediction mode), a backward prediction mode (or second direction prediction mode), and a bidirectional prediction mode (interpolative mode). Select the mode.

도 1은 종래의 B 프레임에서의 움직임 보상 방법을 보이는 개념도이다.1 is a conceptual diagram illustrating a motion compensation method in a conventional B frame.

도 1은 현재 프레임인 B프레임인 속하는 블록에 대응하는 제 1 참조프레임의 적당한 영역 내의 제1 참조 블록과 그 상대적 위치를 나타내는 순방향 움직임 벡터, 그리고 제2 참조프레임의 적당한 영역 내의 제2 참조 블록과 그 상대적 위치를 나타내는 역방향 움직임 벡터가 존재할 때, 현재 블록의 움직임 보상 블록으로 제 1 참조 블록을 선택하거나, 제 2 참조 블록을 선택하거나, 혹은 제 1 참조 블록과 제 2 참조 블록의 평균을 선택하고 그 선택된 예측 모드 정보를 전송하는 부호화 과정과 전송된 예측 모드 정보를 이용하여 움직임 보상을 재수행하는 복호화 과정으로 구성된다. 1 is a first reference block in a proper region of a first reference frame corresponding to a belonging block that is a B frame which is a current frame, and a forward motion vector indicating a relative position thereof, and a second reference block in a suitable region of a second reference frame; When there is a backward motion vector indicating the relative position, the first reference block is selected as the motion compensation block of the current block, the second reference block is selected, or the average of the first reference block and the second reference block is selected. An encoding process of transmitting the selected prediction mode information and a decoding process of performing motion compensation again using the transmitted prediction mode information.

도 1을 참조하면, B 프레임에 속한 블록의 예측 모드는 크게 세 가지가 존재한다 (제 1도 참조). 현재 B 프레임에 속하는 임의의 현재 블록을 고려하자. 부호기에서는 먼저 제 1 참조 프레임 내 적당한 탐색 영역에서의 움직임 추정 과정을 거쳐 움직임 보상에 적합한 제 1 참조 블록을 찾는다. 다음에는 제 2 참조 프레임 내 적당한 탐색 영역에서의 움직임 추정 과정을 거쳐 움직임 보상에 적합한 제 2 참조 블록을 찾는다. 다음은 제 1 참조 블록과 제 2 참조 블록의 평균 블록을 구한다. 그런 다음 제 1 참조 블록, 제 2 참조 블록, 제 1 참조 블록과 제 2 참조 블록의 평균 블록 중 현재 블록과 가장 유사한 블록을 찾고, 움직임 보상을 수행한다. 한편 그 선택 정보를 현재 블록의 예측 모드 정보로 복호기에 전송한다. 복호기는 블록 별로 전송된 예측 모드 정보를 바탕으로 움직임 보상을 수행하여 영상을 복원하게 된다.Referring to FIG. 1, three prediction modes of a block belonging to a B frame exist (see FIG. 1). Consider any current block belonging to the current B frame. The encoder first finds a first reference block suitable for motion compensation through a motion estimation process in a suitable search region in the first reference frame. Next, a second reference block suitable for motion compensation is found through a motion estimation process in a suitable search region in the second reference frame. Next, an average block of the first reference block and the second reference block is obtained. Then, among the average blocks of the first reference block, the second reference block, the first reference block, and the second reference block, the block most similar to the current block is found, and motion compensation is performed. Meanwhile, the selection information is transmitted to the decoder as prediction mode information of the current block. The decoder reconstructs the image by performing motion compensation based on the prediction mode information transmitted for each block.

그러나 도 1과 같은 종래의 동 영상 부호화 방법은 B 프레임의 블록들에 대해서는 순 방향 과 역 방향의 두 방향에 대해 움직임 추정을 수행해야 하므로 많은 연산량 및 메모리 대역 폭이 요구된다. However, the conventional video encoding method as shown in FIG. 1 requires a large amount of computation and memory bandwidth since motion estimation has to be performed in two directions in the forward and reverse directions for blocks of a B frame.

본 발명이 이루고자하는 기술적 과제는 B 프레임의 부호화시 성능 저하없이 연산량 및 메모리 밴드폭을 줄이기위한 B-픽쳐의 움직임 보상을 수행하는 동 영상 부호화 및 복호화 방법을 제공하는 데 있다. An object of the present invention is to provide a video encoding and decoding method for performing motion compensation of a B-picture to reduce the amount of computation and memory bandwidth without degrading the performance of encoding a B frame.

상기의 기술적 과제를 해결하기 위하여, 본 발명은 동영상 부호화 시스템에서 B-프레임의 움직임 보상 방법에 있어서,In order to solve the above technical problem, the present invention provides a motion compensation method of a B-frame in a video encoding system,

(a) B-프레임의 현재 블록에 대해 제1 참조 프레임 내 소정의 탐색 영역 내에서 추정되는 제1 움직임 벡터에 대응하는 제1 참조 블록과, 제1 움직임 벡터로부터 유도된 제2 움직임 벡터에 대응하는 제2 참조 프레임 내 제 2 참조 블록과 제1 참조 블록의 평균 블록 중 하나의 블록을 현재 블록의 움직임 보상 블록으로 선정하는 과정;(a) a first reference block corresponding to a first motion vector estimated in a predetermined search region in a first reference frame with respect to a current block of a B-frame, and a second motion vector derived from the first motion vector; Selecting one of the second reference block and the average block of the first reference block in the second reference frame as a motion compensation block of the current block;

(b) 상기 (a) 과정에 대한 B 프레임의 움직임 보상 예측 모드 정보를 생성하는 과정을 포함하는 것을 특징으로 한다.(b) generating the motion compensation prediction mode information of the B frame for step (a).

상기의 다른 기술적 과제를 해결하기 위하여, 본 발명은 동영상 복호화 시스템에서 B-프레임의 움직임 보상 방법에 있어서, In order to solve the above other technical problem, the present invention provides a motion compensation method of a B-frame in a video decoding system,

B-프레임의 현재 블록에 대해 전송된 예측 모드 정보를 이용하여 제 1 참조 프레임 내 제 1 참조 블록과 제 1 움직임 벡터로부터 유도된 제 2 움직임 벡터에 대응하는 제 2 참조 프레임 내 제 2 참조 블록과 제 1 참조 블록의 평균 블록 중 하나를 선택하는 과정;A second reference block in a second reference frame corresponding to a first reference block in the first reference frame and a second motion vector derived from the first motion vector using the prediction mode information transmitted for the current block of the B-frame; Selecting one of the average blocks of the first reference block;

상기 선택된 해당 블록으로 움직임 보상을 수행하는 과정을 포함하는 것을 특징으로 한다. And performing motion compensation on the selected corresponding block.

이하 첨부된 도면을 참조로하여 본 발명의 바람직한 실시예를 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명에 따른 동영상 부호화 시스템을 도시한 블록도이다.2 is a block diagram illustrating a video encoding system according to the present invention.

먼저, 입력되는 영상 데이터는 GOP(Group of Picture) 단위로 구성된다. DCT부(220)는 영상 데이터의 공간 중복성(spatial redundancy)을 얻기 위해 8ㅧ8 블록 단위로 DCT(Discrete Cosine Transform)를 수행한다. 양자화부(Q:230)는 DCT부(220)에서 DCT된 영상 데이터를 양자화한다. 역양자화부(IQ:250)는 양자화부(230)에서 양자화된 영상 데이터를 역양자화한다. IDCT부(260)는 역양자화부(250)에서 역양자화된 영상 데이터를 역 DCT한다. 프레임 메모리부(FM:270)는 IDCT부(260)에서 역DCT된 영상 데이터를 프레임 단위로 저장한다. ME/MC부(280)는 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(270)에 저장된 이전 프레임의 영상 데이터를 이용하여 매크로 블록당 움직임 벡터(MV)와 SAD를 추정한다. 특히, ME/MC부(280)는 B-프레임의 현재 블록에 대해 제1 참조 프레임 내 소정의 탐색 영역 내에서 추정되는 제1 움직임 벡터에 대응하는 제1 참조 블록과, 제1 움직임 벡터로부터 유도된 제2 움직임 벡터에 대응하는 제2 참조 프레임 내 제 2 참조 블록과 제1 참조 블록의 평균 블록 중 하나의 블록을 현재 블록의 움직임 보상 블록으로 선정하고, 그에 대한 1비트 예측 모드 정보를 생성한다. VLC(Variable Length Coding)(240)부는 ME/MC부(280)에서 추정된 움직임 벡터(MV)에 따라 양자화된 영상 데이터의 통계적 중복성을 제거한다.First, the input image data is composed of a GOP (Group of Picture) unit. The DCT unit 220 performs a discrete cosine transform (DCT) in units of 8 × 8 blocks to obtain spatial redundancy of image data. The quantization unit Q: 230 quantizes the image data DCTed by the DCT unit 220. The inverse quantization unit IQ 250 dequantizes the image data quantized by the quantization unit 230. The IDCT unit 260 inversely DCTs the dequantized image data in the inverse quantization unit 250. The frame memory unit FM: 270 stores the image data inverted by the IDCT unit 260 in units of frames. The ME / MC unit 280 estimates a motion vector (MV) and SAD per macroblock using the input image data of the current frame and the image data of the previous frame stored in the frame memory unit 270. In particular, the ME / MC unit 280 derives from the first motion vector and the first reference block corresponding to the first motion vector estimated in the predetermined search region in the first reference frame for the current block of the B-frame. One block of the second reference block and the average block of the first reference block in the second reference frame corresponding to the second motion vector is selected as the motion compensation block of the current block, and 1-bit prediction mode information is generated therefor. . The variable length coding (VLC) unit 240 removes statistical redundancy of quantized image data according to the motion vector (MV) estimated by the ME / MC unit 280.

도시하지는 않았지만 동영상 복호시스템은 부호화 시스템의 역 과정을 수행한다. 즉, 동영상 복호시스템은 VLC 디코더, 역 양자화기, 역IDCT기, 복호화된 움직임 벡터로부터 영상을 복원하는 움직임 보상기로 이루어진다. 특히, 움직임 보상기에서는 B-프레임의 현재 블록에 대해 전송된 예측 모드 정보를 이용하여 제 1 참조 프레임 내 제 1 참조 블록과 제 1 움직임 벡터로부터 유도된 제 2 움직임 벡터에 대응하는 제 2 참조 프레임 내 제 2 참조 블록과 제 1 참조 블록의 평균 블록 중 하나를 선택하고 그 해당 블록으로 움직임 보상을 수행한다. Although not shown, the video decoding system performs an inverse process of the encoding system. That is, the video decoding system includes a VLC decoder, an inverse quantizer, an inverse IDCT unit, and a motion compensator for restoring an image from the decoded motion vector. In particular, the motion compensator uses the prediction mode information transmitted for the current block of the B-frame in the second reference frame corresponding to the first reference block in the first reference frame and the second motion vector derived from the first motion vector. One of a second reference block and an average block of the first reference block is selected and motion compensation is performed with the corresponding block.

도 3 및 도 4는 본 발명에 의한 IBP GOP 구조를 갖는 B 프레임의 부호화 방법을 보이는 개념도이다. 3 and 4 are conceptual views illustrating a method of encoding a B frame having an IBP GOP structure according to the present invention.

도 3은 IBPBPBP...의 GOP (Group of Pictures) 구조를 갖는 시퀀스 내에 속한 B 프레임을 부호화하는 과정을 설명한다. 먼저, 제1 참조 프레임 내의 적당한 탐색 영역 내에서 움직임 추정 과정을 통해 현재 블록과 잘 정합되는 제1 참조 블록을 찾는다. 이때 대응하는 움직임 벡터를 제1 움직임 벡터(MVforw)라고 하자. 제 2 참조 프레임 내에서 현재 블록에 대응하는 제2 참조 블록에 대응하는 움직임 벡터는 제1움직임 벡터(MVforw)에서 유도된다. 즉, α·MVforw + β이다. 여기서 α 는 픽쳐간 거리에 따른 움직임 벡터 스케일러이고, β는 성능 향상을 위한 리파인먼트 옵셋(refinement offset)이다. 이때 IBP 구조에서는 α는 자동으로 1이다. - α·MVforw 을 중심으로 좁은 영역의 움직임 추정을 하는 경우는 β가 구해져서 제2 움직임 벡터는 - α·MVforw + β가 된다. 이 제2 움직임 벡터에 대응하는 블록이 제2 참조 블록이다. 종래 기술과 달리 최종 참조 블록은 제1 참조 블록이나 제1 참조 블록과 제 2 참조 블록의 평균 블록 중하나를 택하게 된다. 즉, 최종 참조 블록 = {제1참조 블록, (제1참조 블록+제2참조 블록)/2} 이다. 복호기(도시안됨)에는 현재 블록이 인터(inter) 블록인 경우 예측 모드 정보 1비트와 움직임 벡터와 예측 오차 블록 정보가 전송된다. 제1 방향 예측인 경우는 제1 움직임 벡터만이 전송되고, 양방향 예측 모드인 경우에는 제1 움직임 벡터와 β정보(존재할 경우만)가 전송된다. IBP GOP 구조의 경우 때로는 장면 전환 등의 이유로 제1 참조 프레임보다 제2 참조 프레임이 현재 프레임과 상관성이 더 큰 경우가 존재한다. 도 4는 이에 대한 설명이다.3 illustrates a process of encoding a B frame belonging to a sequence having a GOP (Group of Pictures) structure of IBPBPBP ... First, a first reference block that matches well with the current block is found through a motion estimation process in an appropriate search region in the first reference frame. In this case, let the corresponding motion vector be the first motion vector MVforw. The motion vector corresponding to the second reference block corresponding to the current block in the second reference frame is derived from the first motion vector MVforw. That is, α · MV forw + β. Α is a motion vector scaler according to the distance between pictures, and β is a refinement offset for improving performance. In the IBP structure, α is automatically 1. In the case of performing the motion estimation of a narrow area centering on [alpha] -MV forw , (beta) is calculated | required and a 2nd motion vector turns into-( alpha) -MV forw + (beta). The block corresponding to this second motion vector is a second reference block. Unlike the prior art, the final reference block takes one of the first reference block or the average block of the first reference block and the second reference block. That is, the last reference block = {first reference block, (first reference block + second reference block) / 2}. When the current block is an inter block, the decoder (not shown) transmits one bit of prediction mode information, a motion vector, and prediction error block information. In the first direction prediction, only the first motion vector is transmitted, and in the bidirectional prediction mode, the first motion vector and β information (only present) are transmitted. In the case of the IBP GOP structure, sometimes there is a case where the second reference frame has a higher correlation with the current frame than the first reference frame due to scene change or the like. 4 illustrates this.

도 4를 참조하면, 제2 참조 프레임 내의 적당한 탐색 영역 내에서 움직임 추정 과정을 통해 현재 블록과 잘 정합되는 제2 참조 블록을 찾는다. 이때 대응하는 움직임 벡터를 제2 움직임 벡터(MVback)라고 하자. 제1 참조 프레임 내에서 현재 블록에 대응하는 제1 참조 블록에 대응하는 움직임 벡터는 제2움직임 벡터에서 MVback에서 유도된다. 즉, - α·MVback + β이다. IBP 구조에서는 α는 자동으로 1이다. - α·MVback 를 중심으로 좁은 영역의 움직임 추정을 하는 경우는 β가 구해져서 제1 움직임 벡터가 된다. 이 제1 움직임 벡터에 대응하는 블록이 제1 참조 블록이다. 최종 참조 블록은 제2 참조 블록이나 제1 참조 블록과 제 2 참조 블록의 평균 블록 중하나를 택하게 된다. 즉, 최종 참조 블록 = {제2참조 블록, (제1참조 블록+제2참조 블록)/2} 이다. 복호기(도시 안됨)에는 현재 블록이 인터 블록(inter) 블록인 경우 예측 모드 정보 1비트와 움직임 벡터와 예측 오차 블록 정보가 전송된다. 제2 방향 예측인 경우는 제2 움직임 벡터만이 전송되고, 양방향 예측 모드인 경우에는 제2 움직임 벡터와 ??정보(존재할 경우만)가 전송된다. 한편 각 B-프레임에 대해 제1 참조 프레임을 기준 프레임으로 할 지 제2 참조 프레임을 기준 프레임으로 할 지를 정하여 프레임 당 1비트를 전송하고, 도 3의 방법과 도 4의 방법 중하나를 선별적으로 적용할 수 있다. 다른 실시예로 슬라이스 단위로도 도 3의 방법과 도 4의 방법 중하나를 선별적으로 적용하고 해당 1비트 정보를 전송할 수도 있다. 또 다른 실시예로 소정의 개수의 슬라이스 그룹 단위로도 도 3의 방법과 도 4의 방법 중 하나를 선별적으로 적용하고 해당 1비트 정보를 전송할 수도 있다.Referring to FIG. 4, a second reference block that matches well with the current block is found through a motion estimation process in an appropriate search region in the second reference frame. In this case, the corresponding motion vector is called a second motion vector (MVback). The motion vector corresponding to the first reference block corresponding to the current block in the first reference frame is derived at MVback in the second motion vector. That is,-alpha MV back + beta. Α is automatically 1 in the IBP structure. In the case of performing motion estimation in a narrow region centering on the α · MV back , β is obtained to be the first motion vector. The block corresponding to this first motion vector is a first reference block. The final reference block may take one of a second reference block or an average block of the first reference block and the second reference block. That is, the last reference block = {second reference block, (first reference block + second reference block) / 2}. When the current block is an inter block, a decoder (not shown) transmits one bit of prediction mode information, a motion vector, and prediction error block information. In the case of the second direction prediction, only the second motion vector is transmitted. In the case of the bidirectional prediction mode, the second motion vector and ?? information (only when present) are transmitted. Meanwhile, 1 bit per frame is transmitted by determining whether the first reference frame is the reference frame or the second reference frame for each B-frame, and selectively one of the methods of FIG. 3 and FIG. Applicable In another embodiment, one of the methods of FIG. 3 and FIG. 4 may be selectively applied in slice units, and corresponding 1-bit information may be transmitted. In another embodiment, one of the method of FIG. 3 and the method of FIG. 4 may be selectively applied to a predetermined number of slice groups, and corresponding 1-bit information may be transmitted.

도 5와 도 6은 본 발명에 따른 IBBP GOP 구조를 갖는 B 프레임의 부호화 방법을 보이는 개념도이다. 도 5는 IBBP에서 첫 번째 B 프레임(B1 프레임) 내 블록에 대한 설명이다. B1 프레임인 경우는 제1 참조 프레임은 현재 프레임과 가장 가까운 프레임이 자동으로 결정된다. 제1 참조 프레임 내의 적당한 탐색 영역 내에서 움직임 추정 과정을 통해 현재 블록과 잘 정합되는 제1 참조 블록을 찾는다. 이때 대응하는 움직임 벡터를 제1 움직임 벡터( MVforw)라고 하자. 제2 참조 프레임 내에서 현재 블록에 대응하는 제2 참조 블록에 대응하는 움직임 벡터는 제1움직임 벡터(MVforw)에서 유도된다. 즉, - α·MVforw + β이 된다. IBBP 구조에서는 α는 자동으로 2이다. - α·MVforw 를 중심으로 좁은 영역을 움직임 추정을 하는 경우는 β가 구해져서 제 2 움직임 벡터가 된다. 이 제 2 움직임 벡터에 대응하는 블록이 제 2 참조 블록이다. 최종 참조 블록은 제 1 참조 블록이나 제 1 참조 블록과 제 2 참조 블록의 평균 블록 중 하나를 택하게 된다. 즉, 최종 참조 블록 = {제1참조 블록, (제1참조 블록+제2참조 블록)/2} 이다. 복호기에는 현재 블록이 인터(inter) 블록인 경우 예측 모드 정보 1비트와 움직임 벡터와 예측 오차 블록 정보가 전송된다. 제 1 방향 예측인 경우는 제 1 움직임 벡터만이 전송되고, 양방향 예측 모드인 경우에는 제 1 움직임 벡터와 β 정보 (존재할 경우만)가 전송된다.5 and 6 are conceptual views illustrating a method of encoding a B frame having an IBBP GOP structure according to the present invention. 5 is a description of blocks within a first B frame (B1 frame) in IBBP. In the case of the B1 frame, the frame closest to the current frame is automatically determined in the first reference frame. The motion estimation process finds a first reference block that matches well with the current block in an appropriate search region in the first reference frame. In this case, let the corresponding motion vector be a first motion vector MVforw. The motion vector corresponding to the second reference block corresponding to the current block in the second reference frame is derived from the first motion vector MVforw. That is, -alpha MV forw + beta. Α is automatically 2 in the IBBP structure. In the case of performing motion estimation on a narrow region centered on α · MV forw , β is obtained to become a second motion vector. The block corresponding to this second motion vector is the second reference block. The last reference block may select one of the first reference block or the average block of the first reference block and the second reference block. That is, the last reference block = {first reference block, (first reference block + second reference block) / 2}. When the current block is an inter block, one bit of prediction mode information, a motion vector, and prediction error block information are transmitted to the decoder. In the first direction prediction, only the first motion vector is transmitted, and in the bidirectional prediction mode, the first motion vector and β information (only present) are transmitted.

도 6은 IBBP에서 두 번째 B 프레임(B2 프레임)내 블록에 대한 설명이다. B2 프레임인 경우는 제2 참조 프레임은 현재 프레임과 가장 가까운 프레임이 자동으로 결정된다. 제2 참조 프레임 내의 적당한 탐색 영역 내에서 움직임 추정 과정을 통해 현재 블록과 잘 정합되는 제 2 참조 블록을 찾는다. 이때 대응하는 움직임 벡터를 제2 움직임 벡터(MVback)라고 하자. 제1 참조 프레임 내에서 현재 블록에 대응하는 제1 참조 블록에 대응하는 움직임 벡터는 제2움직임 벡터(MVback)에서 유도된다. 즉, - α·MVback + β 이다. IBBP 구조에서는 α는 자동으로 2이다. - α·MVback 를 중심으로 좁은 영역의 움직임 추정을 하는 경우는 β 가 구해져서 제1 움직임 벡터는 - α·MVforw + β 가 된다. 이 제1 움직임 벡터에 대응하는 블록이 제1 참조 블록이다. 최종 참조 블록은 제2 참조 블록이나 제1 참조 블록과 제2 참조 블록의 평균 블록 중 하나를 선택하게 된다. 즉, 최종 참조 블록 = {제2참조 블록, (제1참조 블록+제2참조 블록)/2} 이다. 복호기에는 현재 블록이 인터(inter) 블록인 경우 예측 모드 정보 1비트와 움직임 벡터와 예측 오차 블록 정보가 전송된다. 제2 방향 예측인 경우는 제2 움직임 벡터만이 전송되고, 양방향 예측 모드인 경우에는 제2 움직임 벡터와 β 정보(존재할 경우만)가 전송된다.6 is a description of blocks in a second B frame (B2 frame) in the IBBP. In the case of the B2 frame, the frame closest to the current frame is automatically determined as the second reference frame. The motion estimation process finds a second reference block that matches well with the current block in a suitable search region in the second reference frame. In this case, the corresponding motion vector is called a second motion vector (MVback). The motion vector corresponding to the first reference block corresponding to the current block in the first reference frame is derived from the second motion vector MVback. That is,-alpha MV back + β. Α is automatically 2 in the IBBP structure. In the case of performing the motion estimation of a narrow region centering on [alpha] -MV back , (beta) is calculated | required and a 1st motion vector becomes-( alpha) -MV forw + (beta). The block corresponding to this first motion vector is a first reference block. The final reference block selects one of a second reference block or an average block of the first reference block and the second reference block. That is, the last reference block = {second reference block, (first reference block + second reference block) / 2}. When the current block is an inter block, one bit of prediction mode information, a motion vector, and prediction error block information are transmitted to the decoder. In the case of the second direction prediction, only the second motion vector is transmitted, and in the bidirectional prediction mode, the second motion vector and β information (only present) are transmitted.

본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다. The present invention is not limited to the above-described embodiment, and of course, modifications may be made by those skilled in the art within the spirit of the present invention.

상술한 바와 같이 본 발명에 의하면, B-프레임에 있는 블록들의 예측 모드를 순방향 예측 모드와 역 방향 예측 모드중 하나와 양방향 예측 모드중에서 택함으로써 비트스트림에 포함되는 B-매크로 블록들의 예측 모드 비트를 MB 당 2비트에서 1비트로 줄일 수 있고, 예측 효율의 저하가 거의 없으며, 동영상 부/복호기에서의 연산량 및 메모리 대역폭을 크게 줄일 수 있다. As described above, according to the present invention, the prediction mode bits of the B-macro blocks included in the bitstream are selected by selecting one of a forward prediction mode, a reverse prediction mode, and a bidirectional prediction mode. It can reduce from 2 bits to 1 bit per MB, hardly decrease the prediction efficiency, and greatly reduce the amount of computation and memory bandwidth in the video encoder / decoder.

도 1은 종래의 B 프레임에서의 움직임 보상 방법을 보이는 개념도이다.1 is a conceptual diagram illustrating a motion compensation method in a conventional B frame.

도 2는 본 발명에 따른 동영상 부호화 시스템을 도시한 블록도이다.2 is a block diagram illustrating a video encoding system according to the present invention.

도 3 및 도 4는 본 발명에 의한 IBP GOP 구조를 갖는 B 프레임의 부호화 방법을 보이는 개념도이다.3 and 4 are conceptual views illustrating a method of encoding a B frame having an IBP GOP structure according to the present invention.

도 5와 도 6은 본 발명에 따른 IBBP GOP 구조를 갖는 B 프레임의 부호화 방법을 보이는 개념도이다.5 and 6 are conceptual views illustrating a method of encoding a B frame having an IBBP GOP structure according to the present invention.

Claims (6)

동영상 부호화 시스템에서 B-프레임의 움직임 보상 방법에 있어서,In the motion compensation method of the B-frame in the video encoding system, (a) B-프레임의 현재 블록에 대해 제1 참조 프레임 내 소정의 탐색 영역 내에서 추정되는 제1 움직임 벡터에 대응하는 제1 참조 블록과, 제1 움직임 벡터로부터 유도된 제2 움직임 벡터에 대응하는 제2 참조 프레임 내 제 2 참조 블록과 제1 참조 블록의 평균 블록 중 하나의 블록을 현재 블록의 움직임 보상 블록으로 선정하는 과정;(a) a first reference block corresponding to a first motion vector estimated in a predetermined search region in a first reference frame with respect to a current block of a B-frame, and a second motion vector derived from the first motion vector; Selecting one block of a second reference block and an average block of the first reference block in the second reference frame as a motion compensation block of the current block; (b) 상기 (a) 과정에 대한 B 프레임의 움직임 보상 예측 모드 정보를 생성하는 과정을 포함하는 동 영상 부호화 방법.and (b) generating motion compensation prediction mode information of frame B for step (a). 제1항에 있어서, 상기 B-프레임의 움직임 보상 예측 모드 정보는 한 비트임을 특징으로 하는 동 영상 부호화 방법. The method of claim 1, wherein the motion compensation prediction mode information of the B-frame is one bit. 제1항에 있어서, 상기 B-매크로 블록들의 예측 모드 정보는 순방향 예측 모드와 역 방향 예측 모드중 하나와 양방향 예측 모드 정보를 포함하는 것을 특징으로 하는 동 영상 부호화 방법.The method of claim 1, wherein the prediction mode information of the B-macro blocks includes one of a forward prediction mode and a reverse prediction mode, and bidirectional prediction mode information. 제1항에 있어서, 상기 제2움직임 벡터는 The method of claim 1, wherein the second motion vector - α·(제1움직임 벡터) + β 이며, 여기서 α 는 픽쳐간 거리에 따른 움직임 벡터 스케일러이고, β 는 리파인먼트 옵셋(refinement offset)임을 특징으로 하는 동 영상 부호화 방법.α · (first motion vector) + β, wherein α is a motion vector scaler according to the distance between pictures, and β is a refinement offset. 제1항에 있어서, 상기 제1참조 프레임은 상기 제2참조 프레임보다 현재 B 프레임과의 상관성이 큰 것임을 특징으로 하는 동 영상 부호화 방법.The method of claim 1, wherein the first reference frame has a greater correlation with a current B frame than the second reference frame. 동영상 복호화 시스템에서 B-프레임의 움직임 보상 방법에 있어서, In the motion compensation method of the B-frame in the video decoding system, B-프레임의 현재 블록에 대해 전송된 예측 모드 정보를 이용하여 제 1 참조 프레임 내 제 1 참조 블록과 제 1 움직임 벡터로부터 유도된 제 2 움직임 벡터에 대응하는 제 2 참조 프레임 내 제 2 참조 블록과 제 1 참조 블록의 평균 블록 중 하나를 선택하는 과정;A second reference block in a second reference frame corresponding to a first reference block in the first reference frame and a second motion vector derived from the first motion vector using the prediction mode information transmitted for the current block of the B-frame; Selecting one of the average blocks of the first reference block; 상기 선택된 해당 블록으로 움직임 보상을 수행하는 과정을 포함하는 동영상 복호화 방법. And performing motion compensation on the selected corresponding block.
KR1020040047616A 2004-06-24 2004-06-24 Method for encoding/decoding b-picture KR20050122496A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040047616A KR20050122496A (en) 2004-06-24 2004-06-24 Method for encoding/decoding b-picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040047616A KR20050122496A (en) 2004-06-24 2004-06-24 Method for encoding/decoding b-picture

Publications (1)

Publication Number Publication Date
KR20050122496A true KR20050122496A (en) 2005-12-29

Family

ID=37294319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040047616A KR20050122496A (en) 2004-06-24 2004-06-24 Method for encoding/decoding b-picture

Country Status (1)

Country Link
KR (1) KR20050122496A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100978465B1 (en) * 2010-03-19 2010-08-26 성균관대학교산학협력단 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
KR101388902B1 (en) * 2010-01-14 2014-04-24 인텔 코오퍼레이션 Techniques for motion estimation
KR101442608B1 (en) * 2008-02-05 2014-09-25 삼성전자주식회사 Method and apparatus for encoding/decoding image efficiently
WO2020017840A1 (en) * 2018-07-16 2020-01-23 엘지전자 주식회사 Method and device for inter predicting on basis of dmvr
CN113455000A (en) * 2018-12-27 2021-09-28 Sk电信有限公司 Bidirectional prediction method and image decoding device
US11985328B2 (en) 2018-12-27 2024-05-14 Sk Telecom Co., Ltd. Bidirectional prediction method and video decoding apparatus

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442608B1 (en) * 2008-02-05 2014-09-25 삼성전자주식회사 Method and apparatus for encoding/decoding image efficiently
KR101388902B1 (en) * 2010-01-14 2014-04-24 인텔 코오퍼레이션 Techniques for motion estimation
KR100978465B1 (en) * 2010-03-19 2010-08-26 성균관대학교산학협력단 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
WO2020017840A1 (en) * 2018-07-16 2020-01-23 엘지전자 주식회사 Method and device for inter predicting on basis of dmvr
US11516490B2 (en) 2018-07-16 2022-11-29 Lg Electronics Inc. Method and device for inter predicting on basis of DMVR
CN113455000A (en) * 2018-12-27 2021-09-28 Sk电信有限公司 Bidirectional prediction method and image decoding device
CN113455000B (en) * 2018-12-27 2024-04-02 Sk电信有限公司 Bidirectional prediction method and video decoding apparatus
US11985328B2 (en) 2018-12-27 2024-05-14 Sk Telecom Co., Ltd. Bidirectional prediction method and video decoding apparatus
US11985327B2 (en) 2018-12-27 2024-05-14 Sk Telecom Co., Ltd. Bidirectional prediction method and video decoding apparatus
US11991365B2 (en) 2018-12-27 2024-05-21 Sk Telecom Co., Ltd. Bidirectional prediction method and video decoding apparatus
US11997285B2 (en) 2018-12-27 2024-05-28 Sk Telecom Co., Ltd. Bidirectional prediction method and video decoding apparatus

Similar Documents

Publication Publication Date Title
KR100681370B1 (en) Predicting motion vectors for fields of forward-predicted interlaced video frames
US8094714B2 (en) Speculative start point selection for motion estimation iterative search
JP3861698B2 (en) Image information encoding apparatus and method, image information decoding apparatus and method, and program
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
US20070199011A1 (en) System and method for high quality AVC encoding
US20060268166A1 (en) Method and apparatus for coding motion and prediction weighting parameters
US7961788B2 (en) Method and apparatus for video encoding and decoding, and recording medium having recorded thereon a program for implementing the method
JP2004056823A (en) Motion vector encoding/decoding method and apparatus
US20060114995A1 (en) Method and system for high speed video encoding using parallel encoders
KR20040047977A (en) Spatial scalable compression
US8144766B2 (en) Simple next search position selection for motion estimation iterative search
JP2000175187A (en) Method for refreshing area base for video compression
US20110135003A1 (en) Uni-modal based fast half-pel and fast quarter-pel refinement for video encoding
CN114827623A (en) Boundary extension for video coding and decoding
KR20040070490A (en) Method and apparatus for encoding/decoding video signal in interlaced video
EP1216576A1 (en) Video encoding and decoding with selectable image resolution
KR20050122496A (en) Method for encoding/decoding b-picture
US20240171754A1 (en) Method, device, and medium for video processing
KR100774297B1 (en) Method and apparatus for decoding motion vectors
JP3862479B2 (en) How to prevent drift errors in video downconversion
KR100248651B1 (en) A motion compensator
JP3590976B2 (en) Video compression device
KR100774299B1 (en) Method and apparatus for decoding motion vectors
KR100774300B1 (en) Method and apparatus for decoding motion vectors
KR100774298B1 (en) Method and apparatus for decoding motion vectors

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination