KR20050122496A - Method for encoding/decoding b-picture - Google Patents
Method for encoding/decoding b-picture Download PDFInfo
- 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
Links
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/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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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
본 발명은 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)
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)
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 |
-
2004
- 2004-06-24 KR KR1020040047616A patent/KR20050122496A/en not_active Application Discontinuation
Cited By (11)
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 |