KR100581077B1 - Method for storing macroblock decoding information in a image decoder - Google Patents
Method for storing macroblock decoding information in a image decoder Download PDFInfo
- Publication number
- KR100581077B1 KR100581077B1 KR1020040044058A KR20040044058A KR100581077B1 KR 100581077 B1 KR100581077 B1 KR 100581077B1 KR 1020040044058 A KR1020040044058 A KR 1020040044058A KR 20040044058 A KR20040044058 A KR 20040044058A KR 100581077 B1 KR100581077 B1 KR 100581077B1
- Authority
- KR
- South Korea
- Prior art keywords
- macroblock
- decoding
- decoding information
- storage area
- decoded
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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
1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION
본 발명은 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법에 관한 것임.The present invention relates to a method for storing macroblock decoding information for video decoding in a video decoder.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보만을 이용하여 복호하는 영상 복호기(예를 들면, H.264 복호기 등)의 복호 특성을 이용하여, 위(upper) 영역으로 참조될 복호정보와 좌(left) 영역으로 참조될 복호정보에 대해서만 저장영역을 할당하고, 래스터 스캔 순서에 따라 복호해가면서 현재 매크로블록을 기준으로 저장영역에 저장되어 있는 복호정보를 업데이트함으로써, 복호과정에서의 복호정보 저장을 위한 메모리(저장영역) 할당을 최소화할 수 있게 하는, 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법을 제공하는데 그 목적이 있음.According to the present invention, among the macroblocks already decoded based on the current macroblock MB to be decoded, the macroblock located on the upper side and the macroblock positioned on the left side on the raster scan. Decoding information to be referred to the upper region and decoding information to be referred to the left region using the decoding characteristics of an image decoder (for example, an H.264 decoder, etc.) that is decoded using only the decoding information of Allocate a storage area only for, and update the decoding information stored in the storage area based on the current macroblock while decoding in the raster scan order, thereby allocating memory (storage area) for storing the decoding information during the decoding process. It is an object of the present invention to provide a method for storing macroblock decoding information for video decoding in a video decoder, which can be minimized.
3. 발명의 해결 방법의 요지3. Summary of the Solution of the Invention
본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보를 이용하여 복호하는 영상 복호기에서의 매크로블록 복호정보 저장 방법에 있어서, 상기 영상 복호기의 복호 대상이 되는 현재 매크로블록에 대하여 해당 슬라이스 번호와 매크로블록 위치에 따른 복호정보 저장영역의 데이터값의 유효성에 따라 복호정보 저장영역의 데이터를 업데이트하는 저장영역 전처리 단계; 및 상기 영상 복호기에 의하여 상기 현재 매크로블록이 복호되면, 상기 복호정보 저장영역 중에서 좌(left) 저장영역(좌 영역)의 복호정보를 이용하여 위(upper) 저장영역(위 영역)을 업데이트하고, 상기 복호된 현재 매크로블록에 대한 복호정보를 상기 좌 영역에 저장하는 복호정보 저장 단계를 포함함.According to the present invention, among macroblocks already decoded on the basis of the current macroblock (MB) to be decoded, the macroblock located on the upper side on the raster scan and the macro located on the left side A method for storing macroblock decoding information in a video decoder that decodes using decoding information for a block, the method comprising: storing a decoding information storage area according to a slice number and a macroblock position for a current macroblock to be decoded by the video decoder; A storage area preprocessing step of updating data of the decoding information storage area according to the validity of the data value; And if the current macroblock is decoded by the video decoder, updates an upper storage area (upper area) using decoding information of a left storage area (left area) of the decoded information storage area. And decoding information storing the decoded information on the decoded current macroblock in the left area.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 영상 복호기에서의 복호정보 저장 등에 이용됨.The present invention is used for storage of decoding information in a video decoder.
영상복호기, H.264 복호기, 매크로블록, 래스터 스캔, 슬라이스, 복호정보, 저장영역, 좌 저장영역, 위 저장영역Image decoder, H.264 decoder, macroblock, raster scan, slice, decoding information, storage area, left storage area, upper storage area
Description
도 1 은 종래의 H.264 복호기의 구성 예시도,1 is an exemplary configuration diagram of a conventional H.264 decoder;
도 2a 및 도 2b 는 본 발명에 적용되는 래스터 스캔 방법과 매크로블록 번호 부여 방법에 대한 일실시예 설명도,2A and 2B are diagrams illustrating an embodiment of a raster scan method and a macroblock numbering method applied to the present invention;
도 3 은 본 발명에 따른 현재 매크로블록의 복호에 참조되는 주변 영역에 대한 설명도,3 is an explanatory diagram of a peripheral region referred to in decoding of a current macroblock according to the present invention;
도 4 는 본 발명에 따른 H.264 복호기의 복호 특성을 이용한 복호정보 저장영역 할당 방법에 대한 일실시예 설명도,4 is a diagram illustrating an embodiment of a method for allocating a decoding information storage area using decoding characteristics of an H.264 decoder according to the present invention;
도 5 는 본 발명에 따른 복호정보 저장영역의 크기에 대한 일실시예 설명도,5 is a diagram illustrating an embodiment of a size of a decoding information storage area according to the present invention;
도 6 은 본 발명에 따른 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법에 대한 일실시예 흐름도,6 is a flowchart illustrating a method for storing macroblock decoding information for video decoding in a video decoder according to the present invention;
도 7 은 본 발명에 따른 복호정보 저장 방법에 대한 일실시예 설명도,7 is an explanatory diagram of an embodiment of a decoding information storing method according to the present invention;
도 8 은 본 발명에 따른 복호정보 저장영역 전처리 방법에 대한 일실시예 설명도이다.8 is a diagram illustrating an embodiment of a method for preprocessing a decoding information storage area according to the present invention.
* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing
101: 복호 제어부 102: VLC 복호부101: decoding control unit 102: VLC decoding unit
103: 텍스쳐 복호부 104: 디블로킹 필터103: texture decoder 104: deblocking filter
본 발명은, 영상 복호기에서의 매크로블록 복호정보 저장 방법에 관한 것으로, 더욱 상세하게는 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보만을 이용하여 복호하는 영상 복호기(예를 들면, H.264 복호기 등)의 복호 특성을 이용하여, 위(upper) 영역으로 참조될 복호정보와 좌(left) 영역으로 참조될 복호정보에 대해서만 저장영역을 할당하고, 래스터 스캔 순서에 따라 복호해가면서 현재 매크로블록을 기준으로 저장영역에 저장되어 있는 복호정보를 업데이트하는, 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법에 관한 것이다.The present invention relates to a method for storing macroblock decoding information in an image decoder. More particularly, the present invention relates to a method of storing macroblock decoding information on a raster scan among macroblocks already decoded based on a current macroblock (MB) to be decoded. By using the decoding characteristics of the video decoder (for example, the H.264 decoder) that decodes using only the decoding information for the macroblock located on the (upper) side and the macroblock located on the left side, The storage area is allocated only for the decoded information to be referred to as the upper region and the decoded information to be referred to as the left region, and the decoded information stored in the storage area based on the current macroblock is decoded in the raster scan order. The present invention relates to a method for storing macroblock decoding information for video decoding in a video decoder.
H. 264 권고안을 따르는 부호기는 임의 형상 슬라이스 구성이 가능하며, 또한 슬라이스의 전송 순서가 래스터(raster) 스캔 순서를 따르지 않을 수 있어 복호기 측의 복호 순서가 정해져 있지 않다. 따라서, 보통은 이에 대하여 화면 전체의 복호정보를 저장하는 방법을 사용하여 대응하고 있다.The encoder conforming to the H. 264 recommendation can be configured in any shape slice, and the order of slice transmission may not follow the raster scan order, so the decoding order on the decoder side is not determined. Therefore, this is usually done by using a method of storing decoding information of the entire screen.
그러나, 화면 전체 영역에 대한 복호정보를 저장하는 방법은 화면 크기가 커질 경우, 상당량의 저장영역을 필요로 하게 된다. 더구나 기존의 MPEG4 및 H.263 등 기존의 영상 압축 알고리즘에서의 최소 복호 단위가 8×8 단위였던 것에 반해, H.264에서는 최소 4×4 단위마다 복호정보가 다를 수 있어, 화면 전체에 대한 복호정보 저장을 위해서는 더욱 더 방대한 저장영역을 필요로 하게 된다.However, the method of storing the decoding information for the entire screen area requires a considerable amount of storage area when the screen size is increased. Furthermore, while the minimum decoding unit in the existing video compression algorithms such as MPEG4 and H.263 was 8 × 8 units, in H.264, the decoding information may be different for at least 4 × 4 units, thereby decoding the entire screen. In order to store information, more and more storage space is needed.
예를 들어, CIF 화면에 대해서 복호정보를 매크로블록(MB) 단위로 저장할 때, 화면 전체를 위해서는 (352/16)×(288/16) = 22×18 개의 저장영역을 필요로 하고, 8×8 복호 단위당 정보를 저장할 때에는 (352/8)×(288/8) = 44×36 개의 저장영역을 필요로 하는 데 반해, 4×4 복호 단위 당 기록을 위해서는 (352/4)×( 288/4)=88×72 개의 저장영역이 필요하게 된다.For example, when decoding information is stored in units of macroblocks (MB) for a CIF screen, (352/16) × (288/16) = 22 × 18 storage areas are required for the whole screen, and 8 × (352/8) x (288/8) = 44 x 36 storage areas for storing information per decoding unit, while (352/4) x (288 / for recording per 4 x 4 decoding units) 4) = 88 x 72 storage areas are required.
따라서, H.264 복호기 개발에서 이러한 방대한 저장영역은 상당한 메모리 영역 부담을 초래하여 이를 최소화시킬 필요가 있다.Therefore, in the development of the H.264 decoder, such a large storage area causes a significant memory area burden and needs to be minimized.
도 1 은 종래의 H.264 복호기의 구성 예시도이다. 도면에서 복호 제어부(101)는 H.264 복호기가 입력되는 비트 스트림으로부터 원래의 영상을 재생하도록, H.264 복호기의 전반적인 복호 과정을 제어한다.1 is an exemplary configuration diagram of a conventional H.264 decoder. In the figure, the
MPEG4, H.263에 이어 발표된 H.264 권고안은 압축 효율을 증가시키고, 또한 복호된 영상의 화질을 개선시킨 영상 압축 알고리즘이다. The H.264 Recommendation, published after MPEG4 and H.263, is a video compression algorithm that increases compression efficiency and improves the quality of decoded video.
H. 264 권고안을 따르는 복호기는 매크로블록(MB) 내부의 최소 4×4 블록을 복호 단위로 한다. H. 264 권고안을 따르는 복호기에서는 주변 매크로블록의 복호 정보를 참조하여 현재 매크로블록을 복호하는 방법이 여러 부분에서 사용된다. 이들 중 디블로킹 필터(De-blocking filter)(104)에서 슬라이스 경계를 따지지 않는 모드가 설정된 경우를 제외한 모든 경우에서 이미 복호가 완료된 주변 블록 중 현재 슬라이스와 동일한 슬라이스에 속한 블록의 정보만을 참조하는 방법이 사용된다.Decoder conforming to the H. 264 Recommendation shall have at least 4x4 blocks inside the macroblock (MB) in decoding units. In the decoder following the H. 264 Recommendation, the method of decoding the current macroblock by referring to the decoding information of the neighboring macroblock is used in various parts. In all cases except for the case in which the
한편, 주변 매크로블록의 복호정보를 참조하는 부분에는 가변장 코딩(VLC: Variable Length Coding) 복호부(102), 텍스쳐(texture) 복호부(103), 디블로킹 필터(de-blocking filter) 부분(104)이 있다. 여기서, 슬라이스 경계를 따지지 않는 모드가 설정된 경우의 디블로킹 필터(de-blocking filter)(104)에서만 슬라이스 경계를 따지지 않고 주변 블록을 참조하도록 되어 있다.Meanwhile, a variable length coding (VLC) decoding unit 102, a
VLC 복호부(102)는 H.264에서 엔트로피 모드(entropy mode)로 UVLC가 설정된 경우에 사용되며, 해당 4×4의 residual 값을 복호하기 위해 주변 블록(4×4 블록)의 none-zero residual 픽셀 수를 참조한다.The VLC decoder 102 is used when UVLC is set to entropy mode in H.264, and none-zero residual of the neighboring block (4 × 4 block) to decode the residual value of the corresponding 4 × 4. See pixel count.
텍스쳐(Texture) 복호부(103)의 경우에는, 도 1에 도시된 바와 같이, 두 가지로 나눌 수 있다. 인터 모션 보상(Intermotion compensation) 동작을 통하여 시간적으로 전(前), 후(後) 화면으로부터 참조 화면을 가져와 부호화하는 인터 매크로블록(inter MB)과 인트라 예측 및 보상(intra prediction & compensation) 동작을 통하여 현재 화면 내의 주변 블록을 참조하는 인트라 매크로블록(intra MB)으로 나눌 수 있다. 이 두 가지 방법은 모두 주변 블록의 복호 결과를 사용한다.In the case of the
먼저, 인터 매크로블록(Inter MB)에 속하는 복호 블록은 16×16, 16×8, 8× 16, 8×8, 8×4, 4×8, 4×4의 형태가 가능하며, 각 복호 블록 별로 전, 후 화면으로 참조를 위해 가져올 영역을 표시하는 움직임 벡터(MV: motion vector)를 갖는다. 이 움직임 벡터(MV)값은 각 블록마다 결정된 움직임 벡터 차이값(MV difference)과 움직임 벡터 예측값(MV predictor)의 합이며, 움직임 벡터 예측값(MV predictor)은 주변 블록의 움직임 벡터(MV) 결과를 참조하여 결정된다.First, a decoding block belonging to an inter macro block (Inter MB) may be in the form of 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4, and each decoding block. It has a motion vector (MV) indicating an area to be imported for reference to the before and after screens. The motion vector (MV) value is the sum of the motion vector difference value (MV difference) and the motion vector predictor value (MV predictor) determined for each block, and the motion vector predictor value (MV predictor) calculates the motion vector (MV) result of the neighboring blocks. Determined by reference.
인트라 매크로블록(Intra MB)의 복호 블록은 16×16, 4×4 의 형태가 가능하며, 각 복호 블록 별로 인트라 예측 모드(IPREDMODE: intra prediction mode)가 다르다. 여기서, 인트라 예측 모드(IPREDMODE)는 주변 블록의 인트라 예측 모드(IPREDMODE)의 결과를 참조하여 결정된다.The decoding block of the intra macroblock (Intra MB) may be in the form of 16 × 16 and 4 × 4, and the intra prediction mode (IPREDMODE) is different for each decoding block. Here, the intra prediction mode IPREDMODE is determined by referring to the result of the intra prediction mode IPREDMODE of the neighboring block.
한편, 도1의 디블로킹 필터(De-blocking filter)(104)에서 주변 블록의 매크로블록 타입(MB_TYPE), 양자화 파라미터(QP: quantization parameter), 부호 블록 패턴(CBP: coded block pattern), 기준 프레임 번호(REFFRNR: reference frame number), 움직임 벡터(MV) 등을 참조하는데, 슬라이스 경계를 따지는 모드와 그렇지 않은 모드가 존재한다.Meanwhile, in the
슬라이스는 화면을 이루는 구성 요소로서, H. 264 권고안에서는 임의 형태의 슬라이스 구성을 지원한다. 또한, 슬라이스의 순서 또한 제한하지 않고 있다. 다만, 슬라이스를 구성하는 매크로블록(MB)은 래스터 스캔(raster scan)상 앞쪽에 위치한 매크로블록(MB)이 먼저 복호되도록 제한되어 있을 뿐이다.Slices are the building blocks of the picture. The H.264 Recommendations support any form of slice construction. Also, the order of slices is not limited. However, the macroblock MB constituting the slice is only limited so that the macroblock MB located in front of the raster scan is decoded first.
이와 같은 구조는 매크로블록(MB) 복호 순서에서 일정한 규칙이 없는 것이 보통이며, 통상적으로 이와 같은 상황에서는 복호정보의 저장은 화면 전체 영역에 대해 모두 저장하는 방식을 사용하였다.Such a structure generally does not have a predetermined rule in the macroblock (MB) decoding order. In general, in this situation, the decoding information is stored in the entire screen area.
즉, 위에서 본 바와 같이, H.264 권고안에서 슬라이스 구성에 일정한 규칙이 없으며, 또한 매크로블록(MB)의 복호 순서도 정해져 있지 않기 때문에 일반적인 종래 기술에서는 복호정보의 저장영역을 화면 전체로 하여 기록하는 방법을 사용하고 있는데, 이는 H.264 복호기의 구현시 상당한 저장영역의 할당을 필요로 하기 때문에 구현상 큰 부담이 된다는 문제점이 있었다.That is, as described above, in the H.264 recommendation, since there is no fixed rule in the slice configuration and the decoding order of the macroblocks (MB) is not determined, in the conventional prior art, a method for recording the entire storage area of the decoded information as a whole screen is recorded. This is a problem that the implementation of the H.264 decoder requires a considerable amount of storage space, which is a big burden on the implementation.
본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보만을 이용하여 복호하는 영상 복호기(예를 들면, H.264 복호기 등)의 복호 특성을 이용하여, 위(upper) 영역으로 참조될 복호정보와 좌(left) 영역으로 참조될 복호정보에 대해서만 저장영역을 할당하고, 래스터 스캔 순서에 따라 복호해가면서 현재 매크로블록을 기준으로 저장영역에 저장되어 있는 복호정보를 업데이트함으로써, 복호과정에서의 복호정보 저장을 위한 메모리(저장영역) 할당을 최소화할 수 있게 하는, 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and is located on the raster scan (upper) of the macro blocks already decoded based on the current macroblock (MB) to be decoded. Decoding to be referred to the upper region by using the decoding characteristics of the video decoder (for example, the H.264 decoder) that decodes using only the decoding information of the block and the macroblock located on the left side. In the decoding process, the storage area is allocated only for the information and the decoding information to be referred to as the left area, and the decoding information stored in the storage area is updated based on the current macroblock while decoding in the raster scan order. A method for storing macroblock decoding information for video decoding in a video decoder, which can minimize memory (storage area) allocation for decoding information storage. The purpose is to provide.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. In addition, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기의 목적을 달성하기 위한 본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보를 이용하여 복호하는 영상 복호기에서의 매크로블록 복호정보 저장 방법에 있어서, 상기 영상 복호기의 복호 대상이 되는 현재 매크로블록에 대하여 해당 슬라이스 번호와 매크로블록 위치에 따른 복호정보 저장영역의 데이터값의 유효성에 따라 복호정보 저장영역의 데이터를 업데이트하는 저장영역 전처리 단계; 및 상기 영상 복호기에 의하여 상기 현재 매크로블록이 복호되면, 상기 복호정보 저장영역 중에서 좌(left) 저장영역(좌 영역)의 복호정보를 이용하여 위(upper) 저장영역(위 영역)을 업데이트하고, 상기 복호된 현재 매크로블록에 대한 복호정보를 상기 좌 영역에 저장하는 복호정보 저장 단계를 포함한다.According to the present invention for achieving the above object, the macroblock and the left (upper) on the raster scan (raster scan) of the already decoded macroblocks based on the current macroblock (MB) to be decoded ( A method for storing macroblock decoding information in a video decoder which decodes by using decoding information on a macroblock positioned on the left side, the slice number and the macroblock position of a current macroblock to be decoded by the video decoder A storage area preprocessing step of updating the data of the decoding information storage area according to the validity of the data value of the decoding information storage area according to the present invention; And if the current macroblock is decoded by the video decoder, updates an upper storage area (upper area) using decoding information of a left storage area (left area) of the decoded information storage area. And decoding information storing the decoded information on the decoded current macroblock in the left area.
삭제delete
본 발명에서는 H. 264 중 주변 복호정보를 참조하는 경우 중 한 가지(즉, 슬라이스 경계를 따지지 않고 주변 블록 정보를 참조하는 모드에서의 de-blocking filter)를 제외하고, 동일한 슬라이스 내의 정보만을 참조하는 점과 한 슬라이스 내에서는 래스터 스캔(raster scan)상 앞쪽에 위치하는 매크로블록(MB)이 먼저 복호되어야 한다는 제한을 이용하여 슬라이스 경계를 따져 참조되는 모든 복호정보에 대한 저장영역을 현재 매크로블록(MB)을 기준으로 위쪽(upper)에 위치한 블록에 대한 저장영역(위 영역)과 좌측(left)에 위치한 저장영역(좌 영역)으로 축소한다.According to the present invention, only one information in the same slice is referred to except for one case (i.e., a de-blocking filter in a mode of referring to neighboring block information without determining slice boundaries) of H.264. Within the point and one slice, the storage area for all the decoded information referenced by the slice boundary is delimited by the restriction that the macroblock (MB) located in front of the raster scan must be decoded first. ), It is reduced to the storage area (upper area) and the storage area (left area) located on the left side for the block located on the upper side.
즉, H. 264 권고안을 따르는 복호기는 매크로블록(MB: Macro Block: 16×16 픽셀) 내부의 최소 4×4 픽셀 단위로 복호를 수행한다. 이러한 복호 과정 중, 현재 블록의 복호를 위해 주변 블록의 복호정보를 이용하게 되는데, 이러한 과정을 크게 두 부분으로 분류하여 생각하면, 현재 블록과 동일한 슬라이스(slice)에 속하는 주변 블록의 정보만을 이용하는 부분과 슬라이스에 상관없이 참조하는 부분으로 나눌 수 있다. 복호과정 중 디블로킹 필터(de-blocking filter)에서 슬라이스 경계를 따 지지 않는 모드가 설정된 경우를 제외하고는 모든 경우에 있어서 동일한 슬라이스 내의 정보만을 참조한다.In other words, a decoder that conforms to the H. 264 Recommendation performs decoding in units of at least 4x4 pixels within a Macro Block (16x16 pixels). During the decoding process, the decoding information of the neighboring block is used for decoding the current block. When the process is classified into two parts, the part using only the information of the neighboring block belonging to the same slice as the current block is used. It can be divided into parts to be referred to regardless of and slice. In all cases, only the information in the same slice is referred to except for the case in which the deblocking filter does not open slice boundaries.
또한, H. 264 권고안에서는 임의 형태의 슬라이스 구성을 지원하며, 또한 슬라이스 간의 순서도 가변적이다. In addition, the H. 264 Recommendation supports some form of slice configuration, and the order between slices is also variable.
따라서, 본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 매크로블록과 좌(left)측에 위치하는 매크로블록에 대한 복호정보만을 이용하여 복호하는 영상 복호기(예를 들면, H.264 복호기 등)의 복호 특성을 이용하여, 위(upper) 영역으로 참조될 복호정보와 좌(left) 영역으로 참조될 복호정보에 대해서만 저장영역을 할당하고, 래스터 스캔 순서에 따라 복호해가면서 현재 매크로블록을 기준으로 저장영역에 저장되어 있는 복호정보를 업데이트하는 영상 복호기에서의 영상 복호를 위한 매크로블록 복호정보 저장 방법에 관한 것이다.Accordingly, the present invention is located on the left side and the macroblock located on the upper side of the raster scan among the macroblocks already decoded based on the current macroblock MB to be decoded. Reference the decoding information to the upper region and the left region by using the decoding characteristics of an image decoder (for example, an H.264 decoder) that decodes using only the decoding information for the macroblock. A method of storing macroblock decoding information for video decoding in a video decoder which allocates a storage area only for decoding information to be decoded and updates decoding information stored in the storage area on the basis of the current macroblock while decoding according to raster scan order. It is about.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 도 1을 참조하여, 본 발명에 따른 영상 복호기에서의 영상 복호를 위 한 매크로블록 복호정보 저장 방법에 대한 전반적인 설명을 하기로 한다. First, referring to FIG. 1, a general description of a method for storing macroblock decoding information for video decoding in a video decoder according to the present invention will be described.
H. 264에서 복호에 사용되는 복호정보에는, 가변장 코딩(VLC: Variable Length Coding) 복호부(102)에서 사용되는 NZ_COEFF_Y(none zero coefficients for luminance), NZ_COEFF_U, NZ_COEFF_V(none zero coefficients for U and V)와, 텍스쳐(Texture) 복호부(103)에서 사용되는 수평 움직임 벡터(MVX: horizontal motion vector), 수직 움직임 벡터(MVY: vertical motion vector), 인트라 예측 모드(IPREDMODE: intra prediction mode)와, 슬라이스 경계를 따지는 모드에서의 디블로킹 필터(de-blocking filter)(104)를 위한 매크로블록 타입(MB_TYPE), 양자화 파라미터(QP: quantization parameter), 부호 블록 패턴(CBP: coded block pattern), 기준 프레임 번호(REFFRNR: reference frame number), 수평 움직임 벡터(MVX), 수직 움직임 벡터(MVY) 등이 있다.The decoding information used for decoding in H. 264 includes NZ_COEFF_Y (none zero coefficients for luminance), NZ_COEFF_U, NZ_COEFF_V (none zero coefficients for U and V) used in the variable length coding (VLC) decoding unit 102. ), A horizontal motion vector (MVX), a vertical motion vector (MVY), an intra prediction mode (IPREDMODE), and a slice used in the
그 밖에, 텍스쳐(Texture) 복호부(103)에서 구속 인트라 예측 플래그(constrained intra prediction flag)가 설정된 모드에서는 인트라 예측(intra prediction)에 참조될 주변 블록을 오직 인트라 매크로블록(intra MB)으로 제한시키므로 주변 블록의 인트라 매크로블록(intra MB) 여부를 기록하는 부분도 있을 수 있다.In addition, in the mode in which the constrained intra prediction flag is set in the
위에서 열거한 복호정보는 H.264의 권고안에서 정한 복호 단위의 차이에 따라 필요한 영역이 다르다. 예를 들어, VLC 복호부(102)는 4×4 블록 단위로 복호를 수행하므로, 참조할 주변 블록의 단위도 4×4가 된다. 그러나, 매크로블록 타입(MB_TYPE)과 같은 경우는 매크로블록(MB)마다 하나의 정보로 고정되어 있는 정보이 므로, 참조할 주변 블록의 단위가 16×16이 된다.The decoded information listed above varies depending on the difference in the decoding units specified in the H.264 Recommendation. For example, since the VLC decoder 102 performs decoding in units of 4 × 4 blocks, the unit of the neighboring block to be referred to also becomes 4 × 4. However, in the case of the macroblock type MB_TYPE, since the information is fixed to one information for each macroblock MB, the unit of the neighboring block to be referred to is 16x16.
이를 기준으로, 위에서 열거한 복호정보들을 분류하면, 4×4 블록마다 하나의 저장영역이 필요한 것은 NZ_COEFF_Y, NZ_COEFF_U, NZ_COEFF_V, 수평 움직임 벡터(MVX), 수직 움직임 벡터(MVY), 인트라 예측 모드(IPREDMODE), 기준 프레임 번호(REFFRNR) 등이고, 16×16마다 하나의 저장영역이 필요한 것은 매크로블록 타입(MB_TYPE), 양자화 파라미터(QP), 부호 블록 패턴(CBP), 인트라 매크로블록(INTRA_MB) 등이다.Based on this, if the above-mentioned decoded information is classified, one storage area is required for each 4 × 4 block is NZ_COEFF_Y, NZ_COEFF_U, NZ_COEFF_V, horizontal motion vector (MVX), vertical motion vector (MVY), and intra prediction mode (IPREDMODE). ), A reference frame number (REFFRNR), and one storage area required for each 16x16 are a macroblock type MB_TYPE, a quantization parameter QP, a code block pattern CBP, an intra macroblock INTRA_MB, and the like.
본 발명에 따른 복호정보 저장 방법은 임의의 하나의 슬라이스에 대한 복호정보 저장을 위한 것이며, 도 4에서 처럼 복호정보 참조에 이용되는 주변 매크로블록(MB)의 위치는 A, B, C, E 영역이므로, 현재 매크로블록(MB)을 기준으로 위(upper) 영역 정보와 좌(left) 영역 정보만을 참조한다.Decoding information storage method according to the present invention is for storing the decoding information for any one slice, the location of the neighboring macroblock (MB) used for decoding information reference as shown in Figure 4 A, B, C, E region Therefore, only the upper region information and the left region information are referred to based on the current macroblock MB.
복호 제어부(101)는 크게 복호정보 저장영역 전처리 과정과 복호정보를 저장/업데이트하는 과정을 수행한다. 복호정보 저장영역 전처리 과정은 H.264 매크로블록(MB) 단위 복호부가 새로운 매크로블록(MB)에 대하여 복호를 시작하기 전에, 새로운 매크로블록(MB)의 슬라이스 번호나 매크로블록(MB)의 번호(위치)에 따라 저장영역(메모리)의 데이터 값을 이에 적합하게 업데이트시키는 과정이다. 예를 들어, 저장영역 내의 복호정보가 슬라이스 번호가 2번인 복호정보인 경우, 새로운 매크로블록(MB)의 슬라이스 번호가 3번이면 저장영역 내의 모든 정보가 무의미하므로 리셋시키는 것이다.The
한편, 복호정보 저장/업데이트 과정은 H.264의 매크로블록(MB) 단위 복호기 의 복호 결과를 받아 복호정보 저장영역에 저장하고, 기존에 저장되어 있는 복호정보를 업데이트하는 과정이다. 여기서, 매크로블록(MB) 단위 복호기의 결과는 위에서 밝힌 NZ_COEFF_Y 등을 말한다.On the other hand, the decoding information storage / update process is a process of receiving the decoding result of the macroblock (MB) unit decoder of H.264 and storing the decoding result in the decoding information storage area, and updating the existing decoding information. Here, the result of the macroblock (MB) unit decoder refers to NZ_COEFF_Y and the like described above.
한편, 복호정보 저장영역(212)은 실제 복호정보를 저장할 메모리(memory)에 해당되며, 이 영역의 데이터(data)는 복호정보 저장영역 전처리 과정과 복호정보를 저장/업데이트 과정을 통하여 업데이트되며, 이에 저장되는 복호정보는 H.264 매크로블록(MB) 단위 복호기에 사용된다.Meanwhile, the decoding information storage area 212 corresponds to a memory for storing the actual decoding information, and the data of this area is updated through the decoding information storage area preprocessing process and the storage / update process. The decoding information stored therein is used for the H.264 macroblock (MB) unit decoder.
도 2a 및 도 2b 는 본 발명에 적용되는 래스터 스캔 방법과 매크로블록 번호 부여 방법에 대한 일실시예 설명도로서, 도 2a는 래스터 스캔(Raster scan)의 방법을 나타내고, 도 2b는 한 화면 내에서 매크로블록(MB)의 번호를 부여하는 방법(즉, mbx, mby 부여 방법)을 나타낸다.2A and 2B are diagrams illustrating an example of a raster scan method and a macroblock numbering method applied to the present invention. FIG. 2A shows a raster scan method, and FIG. 2B shows a single screen. A method of assigning a number of macro blocks MB (ie, mbx, mby assigning method) is shown.
어느 한 화면에 대하여 복호를 시작하기 전에, 현재 화면 내의 모든 매크로블록(MB)에 대한 슬라이스 번호는 정해 있다고 가정한다. Before starting decoding for one picture, it is assumed that slice numbers for all macroblocks (MB) in the current picture are determined.
복호 순서는 슬라이스 번호가 작은 슬라이스로부터 시작하고, 동일한 슬라이스 내에서는 도 2a에 도시된 바와 같은 래스터 스캔(raster scan)상에서 앞에 위치한 매크로블록(MB)부터 차례로 복호한다.The decoding order starts from the slice with the smallest slice number, and decodes sequentially from the macroblock MB located in front of the raster scan in the same slice as shown in Fig. 2A.
한편, 한 화면 내에서 매크로블록(MB)의 번호를 부여하는 방법(즉, mbx, mby 부여 방법)은 도 2b에 도시된 바와 같으며, 각각의 매크로블록의 주소(즉, 위치)는 (mbx, mby)(예를 들면, (0,0), (1,0) 등)와 같은 MB번호로 나타낸다.Meanwhile, a method of assigning a number of macroblocks (MB) in one screen (that is, a method of assigning mbx and mby) is shown in FIG. 2B, and the address (ie, location) of each macroblock is (mbx). , mby) (for example, (0,0), (1,0), etc.).
도 3 은 본 발명에 따른 현재 매크로블록의 복호에 참조되는 주변 영역에 대 한 설명도이다.3 is an explanatory diagram of a peripheral region referred to in decoding a current macroblock according to the present invention.
도 3에 도시된 바와 같은 경우에 있어서, 복호되고 있는 현재의 매크로블록('현재 매크로블록')이 'F'라면, 그 현재 매크로블록(MB)('F')을 복호하는데에 있어서 참조되는 주변 영역(즉, 주변 매크로블록)은 'A', 'B', 'C'에 해당하는 위(upper) 영역과 'E'에 해당하는 좌(left) 영역이다.In the case as shown in Fig. 3, if the current macroblock being decoded ('current macroblock') is 'F', it is referred to in decoding the current macroblock MB ('F'). The peripheral area (ie, the peripheral macroblock) is an upper area corresponding to 'A', 'B', and 'C' and a left area corresponding to 'E'.
한편, 만약에 복호되고 있는 현재 매크로블록이 'G'라면, 그 현재 매크로블록(MB)('G')을 복호하는데에 있어서 참조되는 주변 영역(즉, 주변 매크로블록)은 'B', 'C', 'D'에 해당하는 위(upper) 영역과 'F'에 해당하는 좌(left) 영역이다.On the other hand, if the current macroblock being decoded is' G ', the peripheral region (i.e., the peripheral macroblock) referred to in decoding the current macroblock MB (' G ') is' B', ' The upper region corresponding to C 'and' D 'and the left region corresponding to' F '.
도 4 는 본 발명에 따른 H.264 복호기의 복호특성을 이용한 복호정보 저장영역 할당 방법에 대한 일실시예 설명도로서, "400"은 복호 대상이 되는 매크로블록과 복호과정에 참조되는 주변 매크로블록, "410", "420"은 복호정보 저장영역(메모리)을 나타낸다.4 is a diagram illustrating an embodiment of a method for allocating a decoding information storage area using decoding characteristics of an H.264 decoder according to the present invention, in which “400” denotes a macroblock to be decoded and a neighboring macroblock referred to in a decoding process. , "410", and "420" represent a decoding information storage area (memory).
본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 이미 복호화된 매크로 블록들 중에서 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 슬라이스번호가 같은 매크로블록과 좌(left)측에 위치하는 슬라이스 번호가 같은 매크로블록에 대한 복호정보만을 이용하여 복호하는 영상 복호기(예를 들면, H.264 복호기 등)의 복호 특성을 이용하여, 위(upper) 영역으로 참조될 복호정보와 좌(left) 영역으로 참조될 복호정보에 대해서만 저장영역을 할당하는 것이다.According to the present invention, a macroblock having the same slice number located on an upper side on a raster scan and a left side among macroblocks already decoded based on the current macroblock MB to be decoded. Decoded information to be referred to the upper region and left by using the decoding characteristics of an image decoder (e.g., an H.264 decoder) that decodes using only decoding information for a macroblock having the same slice number. The storage area is allocated only for the decoding information to be referred to as the (left) area.
현재 복호 대상이 되는 매크로블록(403)을 c3라 할 때, u1, u2, u3, c1, c2는 슬라이스 번호가 같은 매크로블록을 나타내며, x로 표시되어 있는 매크로블록들 은 c3와 슬라이스 번호가 다른 매크로블록임을 나타낸다.When the
c3를 현재 매크로블록(403)이라 할 때, 래스터 스캔(raster scan)상에서의 위(upper)쪽에 위치하는 슬라이스번호가 같은 매크로블록들(401)과 좌(left)측에 위치하는 매크로블록(402)에 대한 복호정보만이 이용된다. 다만, "401"의 위(upper) 영역도 c3와 슬라이스 번호가 달라 참조 대상이 되지 않는다.When c3 is called the
즉, 한 슬라이스 내의 매크로블록(MB)은 래스터(raster) 스캔 방법(도 2a 참조)을 따르므로, 현재 복호되고 있는 매크로블록(MB)(403)의 mbx 값이 만약 "5"라면, 위(upper) 영역 중에서 주소 4번지(mbx=4)부터의 매크로블록에 대한 복호정보는 복호에 사용될 가능성이 있지만, 0 ~ 3번지까지(mbx=0 ~ mbx=3)는 복호에 참조될 수 있는 영역이 아니므로 이 영역에 대한 복호정보를 저장할 필요는 없다.That is, since the macroblock MB in one slice follows the raster scanning method (see Fig. 2A), if the mbx value of the currently decoded macroblock (MB) 403 is "5", the above ( Decoding information for the macroblock from address 4 (mbx = 4) in the upper region may be used for decoding, but
그 다음 행(row)(즉, c1, c2 등이 있는 행)의 0 ~ 3번지(mbx=0 ~ mbx=3)까지는 현재 행(row)(즉, c1, c2 등이 있는 행)이 위(upper) 영역으로 참조될 수 있을 때, 즉 현재 행(row) 다음의 행(row)에 해당하는 매크로블록(MB)이 복호 대상이 될 때 참조되는 영역이다.From 0 to 3 (mbx = 0 to mbx = 3) of the next row (ie, rows with c1, c2, etc.), the current row (ie, rows with c1, c2, etc.) When a macroblock MB corresponding to a row after a current row is to be decoded, it is an area that can be referred to as an upper region.
따라서, 위에서 설명한 바와 같이, 참조 영역으로 사용될 수 있는 영역에 대한 복호정보만 저장하고 있으면 충분하기 때문에, "410", "420" 같은 크기의 저장 영역만이 할당되면 된다.Therefore, as described above, since it is sufficient to store only the decoding information for the area that can be used as the reference area, only storage areas having sizes such as "410" and "420" need to be allocated.
"421" 영역이 현재 매크로블록(MB)의 위(upper) 영역에 대한 복호정보를 저장할 공간이고, "422" 영역은 현재 행(row)(즉, 현재 복호 대상이 되는 매크로블록이 있는 행)에 속하는 매크로블록(MB)의 복호정보를 저장하는 영역이다. The area "421" is a space for storing decoding information about an upper area of the current macroblock MB, and the area "422" is a current row (that is, a row with a macroblock to be decoded). This area stores decoding information of a macroblock (MB) belonging to.
한편, 래스터 스캔(raster scan)이 도면의 화살표 방향(404)으로 진행될 때, 주소(mbx, mby)가 (5, 2)인 매크로블록c2를 복호화한 후에는 주소(mbx, mby)가 (6, 2)인 매크로블록을 복호화하게 된다. 래스터 스캔 방향을 따라 복호하는 과정에서 복호정보 저장영역 내에 저장되는 복호정보는 업데이트되나, 복호정보를 저장하기 위하여 할당된 저장영역은 위에서 설명한 크기의 영역만 있으면 된다.On the other hand, when the raster scan proceeds in the direction of the
도 5 는 본 발명에 따른 복호정보 저장영역의 크기에 대한 일실시예 설명도이다.5 is a diagram for explaining an embodiment of a size of a decoding information storage area according to the present invention.
복호정보 저장영역의 크기는 화면 크기와 복호정보의 특성에 따라 결정된다. 위에서 언급한대로 복호정보는 16×16, 4×4 단위의 정보로 나눌 수 있어서, 각각은 저장해야 하는 영역의 크기가 다르다. The size of the decoding information storage area is determined according to the screen size and the characteristics of the decoding information. As mentioned above, the decoding information can be divided into 16x16 and 4x4 units, so that the size of the area to be stored is different.
도 5에 도시된 바와 같이, 위(upper) 영역의 저장영역 크기와 관련하여, 16×16 단위로 존재하는 정보에 대해서는 {((영상프레임 폭(pic_width) - 1)/16 + 1}개의 영역(501)이 필요하며, 4×4 단위로 존재하는 정보에 대해서는 {(pic_width - 1)/16 + 1}×4개의 영역(511)이 필요하다.As shown in FIG. 5, with respect to the storage area size of the upper area, {((pic_width) −1) / 16 + 1} areas for information existing in units of 16 × 16. 501 is required and {(pic_width−1) / 16 + 1} × 4
한편, 좌(left) 영역의 저장영역의 크기와 관련하여, 16×16 단위로 존재하는 정보에 대해서는 1개의 영역(502)을, 4×4 단위로 존재하는 정보에 대해서는 7개의 영역(512)을 할당한다. 7개의 영역은 도 5에 도시된 바와 같이 u0, u1, u2, u3 등 위(upper) 영역으로의 업데이트를 위한 저장영역과 좌 영역의 정보로 사용된 l0, l1, l2 가 있다.On the other hand, in relation to the size of the storage area of the left area, one
도 6 은 본 발명에 따른 영상 복호기에서의 영상 복호를 위한 매크로블록 복 호정보 저장 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating a method of storing macroblock decoding information for video decoding in a video decoder according to the present invention.
먼저, 영상 복호기에서의 복호 제어부는 복호하고자 하는 현재 매크로블록(MB)의 슬라이스번호와 예상 슬라이스번호를 비교하여 복호정보 저장영역에 저장되어 있는 데이터(즉, 복호정보)가 유효한지를 판단한다(601). 여기서, 직접 슬라이스 번호를 비교하지 않고, 복호 대상이 되는 현재 매크로블록의 슬라이스 번호가 예상 슬라이스 번호와 동일한지 여부를 나타내는 매크로블록의 유효성 식별 제어정보(Mb_available)를 이용할 수도 있다.First, the decoding controller in the video decoder compares the slice number of the current macroblock MB to be decoded with the expected slice number to determine whether data (ie, decoding information) stored in the decoding information storage area is valid (601). ). Here, the validity identification control information (Mb_available) of the macroblock indicating whether the slice number of the current macroblock to be decoded is equal to the expected slice number may be used without directly comparing the slice numbers.
만약, 슬라이스 번호가 상이하여, 복호정보 저장영역에 저장되어 있는 데이터(즉, 복호정보)가 유효하지 않으면, 복호 제어부는 복호정보 저장영역 데이터 및 예상 매크로블록의 번호(next_mbx, next_mby)를 리셋(reset)하고, 예상 슬라이스번호를 업데이트한다(603). If the slice numbers are different and the data stored in the decoding information storage area (that is, the decoding information) is not valid, the decoding control unit resets the decoding information storage area data and the expected macroblock number (next_mbx, next_mby) ( reset) and update the expected slice number (603).
만약, 슬라이스 번호가 동일하여, 복호정보 저장영역에 저장되어 있는 데이터(즉, 복호정보)가 유효하면, 복호 제어부는 현재 매크로블록(MB)의 번호(mbx, mby)와 예상 매크로블록(MB)의 번호(next_mbx, next_mby)를 비교하여, 저장영역 데이터 및 예상 매크로블록의 번호(next_mbx, next_mby)를 업데이트한다(602). 이에 대한 상세한 설명은 도 8에서 하기로 한다.If the slice numbers are the same and the data stored in the decoding information storage area (that is, the decoding information) is valid, the decoding control unit may determine the number (mbx, mby) and the expected macroblock (MB) of the current macroblock (MB). The numbers next_mbx and next_mby are compared, and the storage area data and the numbers of the expected macroblocks next_mbx and next_mby are updated (602). Detailed description thereof will be provided with reference to FIG. 8.
이후, 복호 제어부가 복호기들로부터 현재 매크로블록(MB)에 대한 복호정보를 받으면(604), 복호 제어부는 좌 영역에 있는 복호정보를 이용하여, 위 영역 중에서 현재 매크로블록과 동일한 행(row)의 바로 전 열(column)의 매크로블록(mbx-1, mby)에 대한 복호정보를 업데이트하고(605), 현재 매크로블록(MB)에 대한 복호정보를 좌 영역에 저장한다(606). 그리고 나서, 예상 매크로블록의 번호(next_mbx, next_mby)를 업데이트한다(607). 이에 대한 상세한 설명은 도 7에서 하기로 한다.Then, when the decoding control unit receives decoding information for the current macroblock (MB) from the decoders (604), the decoding control unit uses the decoding information in the left region to determine the same row as the current macroblock in the above region. The decoding information for the macroblocks (mbx-1, mby) of the immediately preceding column is updated (605), and the decoding information for the current macroblock (MB) is stored in the left region (606). Then, the expected macroblock number (next_mbx, next_mby) is updated (607). Detailed description thereof will be provided with reference to FIG. 7.
요컨대, "60"은 H.264 복호기에 의하여 복호가 이루어지기 전에 수행되는 전처리 과정(도 8 참조), "61"은 복호가 된 후 현재 매크로블록에 대한 복호정보를 저장하는 과정(도 7 참조)을 나타내는데, 모든 매크로블록에 대하여 복호가 될 때까지 이와 같은 과정이 반복적으로 수행된다.In short, "60" is a preprocessing process performed before decoding by the H.264 decoder (see FIG. 8), and "61" is a process of storing decoding information for the current macroblock after decoding (see FIG. 7). This process is repeated until all the macroblocks are decoded.
도 7 은 본 발명에 따른 복호정보 저장 방법에 대한 일실시예 설명도로서, "700"은 복호 대상이 되는 매크로블록과 복호과정에 참조되는 주변 매크로블록, "710"은 매크로블록의 유효성 식별 제어정보(Mb_available), "720"과 "730"은 복호정보 저장영역을 나타낸다.7 is a diagram illustrating an embodiment of a method for storing decoding information according to the present invention, in which "700" is a macroblock to be decoded, a neighboring macroblock referred to in a decoding process, and "710" is a control for identifying validity of a macroblock. Information (Mb_available), "720" and "730" represent a decoding information storage area.
먼저, 복호정보 저장/업데이트 방법을 전반적으로 설명하면, 다음과 같다.First, a general description of the decoding information storage / update method is as follows.
복호정보 저장/업데이트 방법은 위(upper)영역 업데이트 단계, 좌(left)영역 업데이트 단계, 복호정보 저장영역 접근을 위한 제어정보 업데이트 단계와 같이, 크게 세가지로 나눌 수 있다.The decoding information storage / update method can be classified into three types, such as an upper region updating step, a left region updating step, and a control information updating step for accessing the decoding information storage area.
본 발명에 따른 복호 제어부(101)는 현재 매크로블록(MB)의 복호정보 결과를 복호정보 저장영역으로 저장하는 것인데, 기본적으로 그 동작 과정은 현재 매크로블록(MB) 정보를 좌(left) 영역으로 업데이트하고. 좌(left) 영역의 값은 후에 위(upper) 영역으로 업데이트하는 것이다.The
즉, 현재 매크로블록(MB)의 복호정보값은 다음 매크로블록(MB)이 래스터 스캔(raster scan)상 바로 다음의 매크로블록(MB)일 경우 좌(left)영역 정보로 이용되고, 또한 결국 현재 매크로블록(MB)의 행(row)에 해당하는 모든 매크로블록이 복호된 후 다음 행(row)에서는 현재 복호정보가 위(upper) 정보로 이용되기 때문에, 현재 매크로블록(MB) 정보 → 좌(left) 영역 → 위(upper) 영역으로 업데이트 되는 것이다. That is, the decoding information value of the current macroblock MB is used as left region information when the next macroblock MB is the next macroblock MB on the raster scan. After all the macroblocks corresponding to the row of the macroblock MB are decoded, the current decoding information is used as the upper information in the next row, so that the current macroblock (MB) information → left ( Left area → is updated to upper area.
한편, 복호정보 저장영역 접근을 위한 제어정보 업데이트 단계는 현재 정보 저장영역에 기록되어 있는 매크로블록(MB)이 공통적으로 속한 슬라이스 번호를 저장하고, 또 위(upper) 영역 메모리 중 현재 복호된 매크로블록(MB) 번호에 "1"을 더하여 다음 매크로블록(MB)에서 사용할 주소로 업데이트하는 과정이다. 도 7의 예상 슬라이스 번호(Prev_slice_nr), 예상 매크로블록 번호(next_mbx, next_mby)가 이에 해당하며, 이는 복호정보 저장영역 전처리 과정에서 이용된다.On the other hand, the control information update step for accessing the decoding information storage area stores the slice number to which the macroblock MB currently recorded in the current information storage area commonly belongs, and the currently decoded macroblock in the upper area memory. The process of updating to the address to be used in the next macroblock (MB) by adding "1" to the (MB) number. The predicted slice number Prev_slice_nr and the predicted macroblock number next_mbx and next_mby of FIG. 7 correspond to this, and are used in the decoding information storage area preprocessing process.
이하, 도 7에 따라 구체적으로 설명하면, 다음과 같다.Hereinafter, the concrete description will be given with reference to FIG. 7.
도 7의 "700"에서의, "1", "2", "3"은 매크로블록의 슬라이스 번호를 나타내며, "710"에서의 "1"은 "700"에서 슬라이스 번호가 "3"인 매크로블록에 대한 복호정보로서 해당 데이터가 유효함을 나타내고, "0"은 슬라이스 번호가 "3"이 아닌 매크로로 블록에 대한 복호정보로서 해당 데이터가 유효하지 않음을 나타낸다. "720"과 "730"에서의 x는 현재 매크로로 블록과 슬라이스 번호가 다름을 나타내고 u, c는 현재 매크로블록과 슬라이스번호가 같음을 나타낸다.In "700" of FIG. 7, "1", "2", and "3" represent slice numbers of macroblocks, and "1" in "710" is a macro with slice number "3" in "700". The corresponding data is valid as the decoding information for the block, and "0" indicates that the corresponding data is not valid as the decoding information for the block with a macro whose slice number is not "3". X at " 720 " and " 730 " indicates that the block and slice number are different in the current macro, and u and c indicate that the slice number is the same as the current macroblock.
현재 매크로블록(MB)은 그 번호가 mbx=5, mby=2로서 예상 번호 next_mbx=5, next_mby=2와 같으며, 그 위치는 도 7에서 "701"영역이다.The current macroblock MB has a number of mbx = 5 and mby = 2, which is equal to the expected number next_mbx = 5 and next_mby = 2, and its position is the area “701” in FIG.
저장 방법은 먼저 좌(left) 영역의 데이터를 위(upper) 영역으로 옮겨 저장한다(721).The storage method first moves the data in the left area to the upper area and stores the data in the upper area (721).
도 7에서 info16×16_up, info16×16_left는 16×16 단위로 존재하는 복호정보 저장영역(720)을 나타내며, info4×4_up, info4×4_left는 4×4 단위로 존재하는 복호정보 저장영역(730)을 나타낸다.In FIG. 7, info16 × 16_up and info16 × 16_left indicate a decoding
매크로블록의 유효성 식별 제어정보(Mb_available)는 좀 더 편리하게 메모리 영역을 사용하기 위해 덧붙여 사용할 수 있는 요소로서, 정보 영역의 해당 주소가 해당 슬라이스에 속하는지 여부를 나타내주는 것인데, 이를 사용하지 않고 화면 전체에 기록된 슬라이스 번호를 통해 비교하여 사용할 수도 있지만, 이를 사용하면 좀 더 편리하다.The validity control information (Mb_available) of the macroblock is an element that can be additionally used to use the memory area more conveniently. It indicates whether the corresponding address of the information area belongs to the slice. It can be used to compare through the slice number recorded in the whole, but it is more convenient to use it.
좌(left) 영역의 데이터를 위(upper) 영역으로 저장하는 단계(721, 731)가 끝나면, 현재 매크로블록(MB)(701)의 정보값을 좌(left) 영역으로 저장한다(722, 732).After the
좌(left) 영역으로 옮기는 과정은 도 7에 도시된 바와 같이, u0, u1, u2, u3, l0, l1, l2 위치에 해당하는 복호정보를 info4×4_left로 옮겨주면 된다(732).As shown in FIG. 7, the decoding process corresponding to the positions u0, u1, u2, u3, l0, l1, and l2 may be moved to info4 × 4_left as shown in FIG. 7.
저장영역 제어정보 업데이트는 현재 매크로블록(MB) 번호 바로 다음의 매크로블록(MB) 번호로 next_mbx, next_mby를 설정한다. 즉, 도 7에 도시된 바와 같은 예에서는 next_mbx 값을 "5"에서 "6"으로 변경한다(여기서는 next_mby는 변하지 않는 예임). 예상 슬라이스 번호(Prev_slice_nr)는 복호정보 저장영역 전처리 과정에서 사용하기 위해 기록하는 것으로서, 이는 현재 복호되고 있는 슬라이스 번호를 나타내는데, 도 7의 경우 "3"이 된다.The storage area control information update sets next_mbx and next_mby as the macroblock (MB) number immediately after the current macroblock (MB) number. That is, in the example as shown in FIG. 7, the next_mbx value is changed from "5" to "6" (next_mby is an example in which it does not change). The expected slice number Prev_slice_nr is recorded for use in the decoding information storage area preprocessing process, which indicates the slice number currently being decoded, which is "3" in FIG.
도 8 은 본 발명에 따른 복호정보 저장영역 전처리 방법에 대한 일실시예 설명도로서, "800"는 각 매크로블록의 해당 슬라이스번호, "810"은 복호 대상이 되는 매크로블록과 복호과정에 참조되는 주변 매크로블록, "820"은 매크로블록의 유효성 식별 제어정보(Mb_available), "830" 및 "840"은 복호정보 저장영역을 나타낸다.8 is a diagram illustrating an embodiment of a method for preprocessing a decoding information storage area according to the present invention, in which “800” is a corresponding slice number of each macroblock, and “810” is referred to a macroblock to be decoded and a decoding process. A neighboring macroblock, "820", represents validity identification control information (Mb_available), "830", and "840" of a macroblock, indicating a decoding information storage area.
복호 제어부(101)가 수행하는 복호정보 저장영역 전처리는, 복호 대상으로서 새로운 슬라이스 번호에 속하는 매크로블록(MB)이 들어오면, 이전(以前) 슬라이스에 해당하는 모든 매크로블록(MB)이 복호되어 더이상 저장영역 상의 모든 데이터가 필요하지 않게 되었다는 의미이므로 저장영역 데이터를 모두 리셋(reset)하는 것이다. 또한, 이 경우, next_mbx와 next_mby도 리셋(reset)하고, 예상 슬라이스 번호는 업데이트하게 된다.In the decoding information storage area preprocessing performed by the
하지만, 복호 대상으로서 동일한 슬라이스 번호 내에 있는 새로운 매크로블록(MB)이 들어왔을 경우에는, 그 새로운 매크로블록의 MB 번호와 next_mbx, next_mby에 기록된 매크로블록(MB) 번호(즉, 예상 MB 번호)를 비교한다.However, when a new macroblock (MB) in the same slice number as the decoding target is received, the MB number of the new macroblock and the macroblock (MB) number recorded in next_mbx and next_mby (that is, the expected MB number) are input. Compare.
비교 결과, 만약 새로운 매크로블록(MB) 번호와 예상 MB 번호(next_mbx, next_mby)가 같으면, 복호정보 저장영역 전처리 과정을 끝내고 H.264 복호기의 복호 과정이 실행되게 한다.As a result of the comparison, if the new macroblock (MB) number and the expected MB number (next_mbx, next_mby) are the same, the decoding information storage area preprocessing is completed and the decoding process of the H.264 decoder is executed.
비교 결과, 만약 새로운 매크로블록(MB) 번호(mbx, mby)가 예상 MB 번호(next_mbx, next_mby)보다 작으면, 한 슬라이스 내의 매크로블록(MB) 복호 순서는 래스터 스캔(raster scan)을 따른다는 제한에 위반되므로 에러임을 알린다.As a result of the comparison, if the new macroblock (MB) number (mbx, mby) is smaller than the expected MB number (next_mbx, next_mby), the macroblock (MB) decoding order within one slice is limited to follow the raster scan. This is an error because it violates.
비교 결과, 만약 새로운 매크로블록의 mby가 next_mby + 1 보다 더 클 경우(즉, 매크로블록의 mby가 next_mby + 2이상일 경우로서, mbx가 next_mbx와 동일한지여부는 불문)에는, 위(upper) 영역에 기록된 내용이 새로운 매크로블록(MB)의 위(upper) 영역이 아니라 그보다 더 위(upper) 영역이 되어, 위(upper) 영역 참조에 쓰일 수 없으므로, 새로운 MB의 복호를 위해 쓰일 참조 정보가 존재하지 않는 상황이며, 이러한 경우 모든 복호정보 저장영역을 리셋하고, 해당 슬라이스 번호에 대하여 복호과정을 반복한다.As a result of the comparison, if mby of the new macroblock is greater than next_mby + 1 (that is, if mby of the macroblock is greater than next_mby + 2, regardless of whether mbx is equal to next_mbx), the upper region Since the recorded contents are not in the upper region of the new macroblock (MB) but in the upper region and cannot be used to refer to the upper region, there is reference information to be used for decoding the new MB. In this case, all decoding information storage areas are reset, and the decoding process is repeated for the slice number.
비교 결과, 만약 새로운 매크로블록의 mby는 next_mby와 같고, mbx가 next_mbx보다 큰 경우는 도 8에 도시된 바와 같이 전처리 과정을 수행한다. 도 8에서 복호하고자 하는 새로운 매크로블록(812)의 위치는 mbx=8, mby=2이고, 제어정보로서의 예정된 매크로블록(811)의 위치는 next_mbx=6, next_mby=2이다. 이 경우, 좌(left) 영역의 데이터를 위(upper) 영역으로 옮기고(831), info16×16_up [next_mbx ~ (mbx-2)] 영역(832)은 다른 슬라이스의 정보이므로 정보를 저장할 필요는 없다. 이를 간편하게 알 수 있도록, 제어정보로서 매크로블록의 참조 가능여부를 나타내는 매크로블록의 유효성 식별 제어정보(mb_available)를 사용하는데, [next_mbx ~ (mbx-2)]영역에 대한 mb_available_up를 나타내는 mb_available_up [next_mbx ~ (mbx-2)] 영역(821)에 '0'을 설정한다. 여기서, mb_available에는 위(upper) 영역 매크로블록의 유효성을 나타내는 mb_available_up와 좌(left) 영역 매크로블록의 유효성을 나타내는 mb_available_left 가 있다As a result of the comparison, if mby of the new macroblock is equal to next_mby, and mbx is larger than next_mbx, the preprocessing process is performed as shown in FIG. In FIG. 8, the positions of the
그리고 나서, 새로운 매크로블록(MB)(812)의 좌(left) 영역 데이터 역시 다 른 슬라이스 내의 정보이므로 mb_available_left을 '0'으로 설정하고, info16×16_left은 사용하지 않을 데이터이므로 저장하지 않아도 된다. 이후에 next_mbx = mbx, next_mby = mby로 설정하여, 후에 복호정보 저장/업데이트 과정에서 사용할 수 있도록 한다.Then, since left region data of the new macroblock (MB) 812 is also information in another slice, mb_available_left is set to '0' and info16 × 16_left is not used, and thus it is not necessary to store it. After that, set next_mbx = mbx and next_mby = mby so that it can be used later in the process of storing / updating decoding information.
비교 결과, 만약 mby가 next_mby + 1과 같을 경우는, 바로 전에 복호된 매크로블록(MB) 이후에는 동일한 행(row) 상에는 동일한 슬라이스 번호를 갖는 매크로블록(MB)이 없는 것을 의미하며, 이를 간단히 표현하기 위해 mb_available_up [next_mbx ~ (pic_width-1)/16]의 영역을 '0'으로 설정한다. 여기서, (pic_width-1)/16 은 위(upper) 저장영역의 마지막 주소를 나타낸다. As a result of the comparison, if mby is equal to next_mby + 1, it means that there is no macroblock MB having the same slice number on the same row after the immediately decoded macroblock MB. To do this, set the area of mb_available_up [next_mbx ~ (pic_width-1) / 16] to '0'. Here, (pic_width-1) / 16 represents the last address of the upper storage area.
가장 바로 전에 복호된 MB 정보는 좌(left) 영역에 있으므로 이를 위(upper) 영역으로 저장하고 mb_available_up [next_mbx-1]을 '1'로 설정한다. 또한, 새로운 MB 전까지는, 즉 위(upper) 영역 중 mb_available_up [0 ~ mbx-2]까지의 영역은, 동일한 슬라이스에 속하는 매크로블록(MB)이 존재하지 않음을 뜻하므로 이 영역을 '0'으로 설정하고, 또 좌(left) 영역 mb_avaiable_left도 '0'으로 설정한다. 마직막으로 next_mbx, next_mby를 현재 mbx, mby로 설정하고 H.264 MB 단위 복호기의 복호부가 복호 저장영역을 사용할 수 있도록 종료한다. 여기서, [0 ~ mbx-2]는 MB번호가 "0"부터 "mbx-2"까지라는 의미이다.Since the most recently decoded MB information is in the left region, it is stored as an upper region and mb_available_up [next_mbx-1] is set to '1'. In addition, until the new MB, that is, the area of mb_available_up [0 to mbx-2] of the upper area means that there is no macroblock (MB) belonging to the same slice, so this area is set to '0'. The left region mb_avaiable_left is also set to '0'. Finally, next_mbx and next_mby are set to the current mbx and mby, and the decoder of the H.264 MB unit decoder ends so that the decoding storage can be used. Here, [0 to mbx-2] means that the MB number is from "0" to "mbx-2".
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기 로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily carried out by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.
상기와 같은 본 발명은, 복호하고자 하는 현재 매크로블록(MB)을 기준으로 위(upper)에 위치한 매크로블록에 대한 저장영역(위 영역)과 좌측(left)에 위치한 매크로블록에 대한 저장영역(좌 영역)만을 이용함으로써, 복호정보의 저장영역을 현저하게 감소시킬 수 있으며, 또한 이로 인하여 복호기 구현시 자원(Resource)을 상당히 절약시킬 수 있는 효과가 있다.In the present invention as described above, the storage area (upper region) for the macroblock located on the upper side (upper) and the storage area for the macroblock located on the left side (left) on the basis of the current macroblock MB to be decoded (left). By using only the area), the storage area of the decoded information can be remarkably reduced, and thus, the resource can be considerably saved when the decoder is implemented.
또한, 본 발명은, 화면 크기가 커짐에 따라 화면 전체 영역에 대하여 복호정보를 저장하는 경우에 있어서, 화면의 가로 방향 뿐만 아니라 화면의 세로 방향에 대해서도 이에 대응하여 메모리 할당 크기를 증가시켜야 하는 기존의 복호정보 저장 방법과 달리, 화면의 가로 크기에만 영향을 받게 함으로써 자원 절약 효과를 더욱 증대시키는 효과가 있다.In addition, according to the present invention, when decoding information is stored in the entire screen area as the screen size increases, the memory allocation size of the screen should be increased correspondingly not only in the horizontal direction of the screen but also in the vertical direction of the screen. Unlike the decoding information storage method, only the horizontal size of the screen is affected, thereby further increasing the resource saving effect.
한편, 상기와 같은 본 발명의 효과를 흔히 사용되는 영상 포맷인 CIF(Common Intermediate Format)(352×288 픽셀)을 예로 들어 설명하면, 다음과 같다. On the other hand, the effects of the present invention as described above will be described by taking CIF (Common Intermediate Format) (352 × 288 pixels), which is a commonly used image format, as follows.
4×4 단위로 정보의 기록이 필요한 복호정보는 화면 전체에 대한 복호정보를 기록하기 위해서 (352/4)×(288/4) = 88×72개, 즉 6336개의 저장영역을 필요로 하는 기존의 복호기와 달리, 본 발명에서는 복호정보의 특성상 최소 4×4 블록마다 복호정보가 다를 수 있는 경우, 위(upper) 영역을 위해서는 (화면 가로 방향 4×4 block 수)만큼의 저장영역이 필요하고, 좌(left) 성분을 위해서는 {(좌 MB의 세로 방향 4×4 block 수, 즉 4) + (좌 MB의 가로 방향 4×4 block 수 - 1, 즉 3)}의 저장영역 만을 필요로 함으로써, 즉 95개(88 + 7개)의 저장영역만을 필요로 함으로써, 자원(resource) 절약의 효과가 매우 크다.Decoded information requiring information recording in units of 4 × 4 requires (352/4) × (288/4) = 88 × 72, or 6336 storage areas in order to record decoding information for the entire screen. Unlike the decoder of the present invention, in the present invention, when the decoding information may be different for at least 4 × 4 blocks due to the nature of the decoding information, a storage area corresponding to the number of 4 × 4 blocks in the horizontal direction of the screen is required for the upper area. For the left component, only the storage area of {(the number of 4 × 4 blocks in the left MB, ie, 4) + (the number of 4 × 4 blocks in the left MB, ie, 3) of the left MB is required. In other words, since only 95 (88 + 7) storage areas are required, the effect of resource saving is very large.
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030097874 | 2003-12-26 | ||
KR20030097874 | 2003-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050066951A KR20050066951A (en) | 2005-06-30 |
KR100581077B1 true KR100581077B1 (en) | 2006-05-22 |
Family
ID=37257941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040044058A KR100581077B1 (en) | 2003-12-26 | 2004-06-15 | Method for storing macroblock decoding information in a image decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100581077B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101277713B1 (en) | 2007-02-08 | 2013-06-24 | 삼성전자주식회사 | Apparatus and method for video encoding |
KR101118591B1 (en) * | 2008-12-11 | 2012-02-27 | 한국전자통신연구원 | Transcoder |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980042130A (en) * | 1996-11-06 | 1998-08-17 | 니시무로타이조 | Decoded image display apparatus and display memory control method thereof |
KR20010082933A (en) * | 2000-02-22 | 2001-08-31 | 송문섭 | Method and apparatus for updating motion vector memory |
KR20030073830A (en) * | 2002-03-13 | 2003-09-19 | 주식회사 하이닉스반도체 | Method for Assigning Frame Memory to Compensate Movement of Half-Pel |
KR20030089774A (en) * | 2002-05-18 | 2003-11-28 | 엘지전자 주식회사 | Recording method for dc/ac coefficient of video decoder |
-
2004
- 2004-06-15 KR KR1020040044058A patent/KR100581077B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980042130A (en) * | 1996-11-06 | 1998-08-17 | 니시무로타이조 | Decoded image display apparatus and display memory control method thereof |
KR20010082933A (en) * | 2000-02-22 | 2001-08-31 | 송문섭 | Method and apparatus for updating motion vector memory |
KR20030073830A (en) * | 2002-03-13 | 2003-09-19 | 주식회사 하이닉스반도체 | Method for Assigning Frame Memory to Compensate Movement of Half-Pel |
KR20030089774A (en) * | 2002-05-18 | 2003-11-28 | 엘지전자 주식회사 | Recording method for dc/ac coefficient of video decoder |
Also Published As
Publication number | Publication date |
---|---|
KR20050066951A (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021200773B2 (en) | Decoding device and decoding method | |
KR101581100B1 (en) | Method for managing a reference picture list, and apparatus using same | |
CN116866565A (en) | Image encoding/decoding method, storage medium, and image data transmission method | |
KR20190038371A (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
US20230262253A1 (en) | Method for encoding/decoding video signal and device therefor | |
US11184611B2 (en) | Method for encoding/decoding image signal and apparatus therefor | |
US11463695B2 (en) | Method for encoding/decoding image signal, and device for same | |
US11259043B2 (en) | Image signal encoding/decoding method, and apparatus therefor based on deriving merge candidates | |
JP7441314B2 (en) | Methods, apparatus, and systems for encoding and decoding blocks of video samples | |
KR102619997B1 (en) | Method for encodign/decodign video signal and apparatus therefor | |
US20240056571A1 (en) | Image signal encoding/decoding method and apparatus therefor | |
CN116320418A (en) | Video signal encoding/decoding method and apparatus therefor | |
US20240040118A1 (en) | Image signal encoding/decoding method and device therefor | |
KR100581077B1 (en) | Method for storing macroblock decoding information in a image decoder | |
US20230091844A1 (en) | Method for encoding/decoding image signal, and device for same | |
JP6974377B2 (en) | Image decoder, image decoding method and program | |
KR20210082092A (en) | Video encoding/decoding method and apparatus | |
JP2022524815A (en) | Implementation-efficient partition-based intra-encoding concept | |
CN114930814A (en) | Image encoding/decoding method and apparatus | |
TW202247663A (en) | Method, apparatus and system for encoding and decoding a transformed block of video samples | |
CN113924773A (en) | Image encoding/decoding method and apparatus, and recording medium for storing bit stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130424 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150508 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160607 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170410 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180427 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190319 Year of fee payment: 14 |