KR100576547B1 - The slice relation table generator apparatus and method of among MBs - Google Patents
The slice relation table generator apparatus and method of among MBs Download PDFInfo
- Publication number
- KR100576547B1 KR100576547B1 KR1020030093262A KR20030093262A KR100576547B1 KR 100576547 B1 KR100576547 B1 KR 100576547B1 KR 1020030093262 A KR1020030093262 A KR 1020030093262A KR 20030093262 A KR20030093262 A KR 20030093262A KR 100576547 B1 KR100576547 B1 KR 100576547B1
- Authority
- KR
- South Korea
- Prior art keywords
- slice
- slice number
- macroblock
- macro block
- comparison result
- 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/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/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
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 table generating apparatus and a method for representing slice relationships between neighboring macroblocks.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은 임의 형태의 슬라이스 구조를 갖는 화면을 구성하는 다수의 매크로 블록간의 상호 슬라이스 관계를 나타내기 위한 테이블을 생성하는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치 및 그 방법을 제공하는데 그 목적이 있음.The present invention provides a table generating apparatus and a method for generating a slice relationship between neighboring macroblocks for generating a table for representing a mutual slice relationship between a plurality of macroblocks constituting a screen having a slice structure of any type. For that purpose.
3. 발명의 해결 방법의 요지3. Summary of the Solution of the Invention
본 발명은, 엠펙-4(MPEG-4) 복호기에 적용되는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치에 있어서, 하나의 화면을 이루는 모든 매크로 블록의 각 슬라이스 번호를 저장하고 있는 슬라이스 번호 테이블 저장수단; 상기 슬라이스 번호 테이블 저장수단의 슬라이스 번호 테이블을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 주변 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 슬라이스 번호 비교수단; 상기 슬라이스 번호 비교수단에서 출력한 비교 결과를 일정 순서대로 정리하여 출력하기 위한 비교 결과 출력수단; 상기 비교 결과 출력수단에서 비교 결과가 정리된 매크로 블록의 다음 순서의 매크로 블록 번호를 상기 슬라이스 번호 비교수단으로 통보하기 위한 매크로 블록 번호 승산수단; 및 상기 비교 결과 출력수단에서 각 매크로 블록에 대해 정리한 비교 결과를 저장하기 위한 주변 매크로 블록간 슬라이스 관계 테이블 저장수단을 포함함.The present invention is a table generating apparatus for indicating a slice relationship between neighboring macroblocks, which is applied to an MPEG-4 decoder, wherein a slice is stored for each slice number of all macroblocks forming one screen. Number table storage means; Slice number comparison means for comparing the relationship between the slice number of each macro block and the slice number of the macro block located in the periphery region of the macro block through the slice number table of the slice number table storing means and outputting a comparison result; Comparison result output means for organizing and outputting the comparison result output from the slice number comparison means in a predetermined order; Macroblock number multiplication means for notifying the slice number comparison means of a macroblock number of a next sequence of the macroblock in which the comparison result is arranged in the comparison result output means; And slice relationship table storage means between neighboring macroblocks for storing the comparison result summarized for each macroblock in the comparison result output means.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 H.264 복호기 등과 같은 엠펙-4(MPEG-4) 복호기 등에 이용됨.The present invention is used in MPEG-4 (MPEG-4) decoder such as H.264 decoder.
H.264 복호기, 매크로 블록, 주변 매크로 블록 관계, 슬라이스 번호, 테이블 생성H.264 decoder, macro block, surrounding macro block relationship, slice number, table generation
Description
도 1은 본 발명이 적용되는 매크로 블록 복호 시 참조되는 주변 매크로 블록에 대한 일실시예 설명도.1 is a diagram illustrating an embodiment of a neighboring macroblock referred to when decoding a macroblock to which the present invention is applied.
도 2는 본 발명에 따른 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치에 대한 일실시예 구성도.2 is a diagram illustrating an embodiment of a table generating apparatus for representing a slice relationship between neighboring macroblocks in an H.264 decoder according to the present invention;
도 3은 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 방법에 대한 일실시예 흐름도.3 is a flowchart illustrating a table generating method for representing a slice relationship between neighboring macroblocks in an H.264 decoder.
도 4는 본 발명에 이용되는 슬라이스 번호 테이블에 대한 일실시예 설명도.4 is a diagram illustrating an embodiment of a slice number table used in the present invention.
도 5는 본 발명에 따라 생성된 주변 매크로 블록간 슬라이스 관계 테이블에 대한 일실시예 설명도.5 is a diagram illustrating an embodiment of a slice relationship table between neighboring macroblocks generated according to the present invention.
* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing
100 : 슬라이스 번호 테이블100: slice number table
101 : 좌 영역 매크로 블록 슬라이스 번호 비교기101: Left Area Macro Block Slice Number Comparator
102 : 좌상 영역 매크로 블록 슬라이스 번호 비교기102: top left region macro block slice number comparator
103 : 상 영역 매크로 블록 슬라이스 번호 비교기103: phase region macroblock slice number comparator
104 : 우상 영역 매크로 블록 슬라이스 번호 비교기104: Idol Region Macro Block Slice Number Comparator
105 : 비교 결과 출력기105: comparison result writer
106 : 주변 매크로 블록간 슬라이스 관계 테이블106: Slice relationship table between neighboring macroblocks
107 : 매크로 블록 번호 승산기107: Macro Block Number Multiplier
본 발명은, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 임의 형태의 슬라이스 구조를 갖는 화면을 구성하는 다수의 매크로 블록간의 상호 슬라이스 관계를 나타내기 위한 테이블을 생성하는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치 및 그 방법에 관한 것이다.The present invention relates to a table generating apparatus and a method for indicating a slice relationship between neighboring macroblocks, and more particularly, to a mutual slice relationship between a plurality of macroblocks constituting a screen having a slice structure of any type. An apparatus and method for generating a table for representing slice relationships between neighboring macroblocks for generating a table for the same.
이하의 일예에서는 H.264 복호기를 예로 들어 설명하기로 한다.In the following example, an H.264 decoder will be described as an example.
H.264(MPEG-4 Video Part 10, 이하 "H.264"라 함)는 'MPEG ISO and ITU-T 그룹'에서 제안된 권고안으로, 영상 압축, 영상 화질 개선 등과 같은 알고리즘을 제공하는 엠펙-4(MPEG-4) 복호기의 한 종류이다.H.264 (MPEG-4 Video Part 10, hereinafter referred to as "H.264") is a recommendation proposed by the MPEG ISO and ITU-T Group, which provides algorithms such as image compression and image quality improvement. 4 (MPEG-4) is a type of decoder.
상기 H.264 권고안을 따르는 복호기(이하, "H.264 복호기"라 함)는 매크로 블록(MB; Macro Block) 내부의 최소 4×4 블록을 복호 단위로 하여 압축된 데이터를 복호한다. 이러한 H.264 복호기는 주변 블록의 복호 정보를 참조하여 현재 블록을 복호한다. 여기서, 매크로 블록은 원 영상에 대한 다수의 휘도신호 블록(Y 블록)과 두 개의 색차신호 블록(Cr 블록, Cb 블록)으로 구성되며, 움직임 보상 및 적응 양자화 단위로 이용된다.A decoder that follows the H.264 recommendation (hereinafter referred to as an "H.264 decoder") decodes the compressed data using at least 4x4 blocks in a macro block (MB) as decoding units. The H.264 decoder decodes the current block by referring to the decoding information of the neighboring block. Here, the macro block is composed of a plurality of luminance signal blocks (Y blocks) and two color difference signal blocks (Cr blocks, Cb blocks) for the original image, and is used as a motion compensation and adaptive quantization unit.
상기와 같이 주변 블록의 복호 정보를 참조하여 현재 블록을 복호하는 장치로는 유브이엘씨 복호기(UVLC; universal and context-adaptive variable-length coder, 이하 "UVLC 복호기"라 함), 텍스쳐 복호기(Texture coder), 움직임 보상 복호기, 화면 내 예측 복호기 및 디-블록킹 필터(De-Blocking Filter) 등이 있다. 이 중 상기 유브이엘씨 복호기, 텍스쳐 복호기, 움직임 보상 복호기, 화면 내 예측 복호기 등과 같은 대부분의 복호기는 슬라이스 경계를 구분하여 동일한 슬라이스 번호에 속하는 주변 블록을 참조하여 복호 과정을 수행한다. 한편, 상기 디-블록킹 필터는 슬라이스 경계를 구분하지 않고 주변 블록을 참조하여 복호 과정을 수행한다. 여기서, 슬라이스(Slice)는 화면을 이루는 구성 요소로서 다수 개의 매크로 블록으로 구성되는 매크로 블록 집합이며, 동일한 수평 매크로 블럭 라인으로 구성된다.As described above, the apparatus for decoding the current block with reference to the decoding information of the neighboring block includes a UVLC (universal and context-adaptive variable-length coder, hereinafter referred to as an "UVLC decoder"), and a texture decoder. , Motion compensation decoder, intra picture prediction decoder, and de-blocking filter. Among these, most decoders such as the UVC decoder, texture decoder, motion compensation decoder, intra prediction prediction decoder, etc. divide a slice boundary and perform a decoding process by referring to neighboring blocks belonging to the same slice number. Meanwhile, the de-blocking filter performs a decoding process by referring to neighboring blocks without distinguishing slice boundaries. Here, a slice is a macroblock set composed of a plurality of macroblocks as a constituent element of a screen, and is composed of the same horizontal macroblock line.
그런데, 상기와 같은 H.264 권고안을 따르는 대부분의 복호기들은 매크로 블록 복호마다 주변 매크로 블록이 동일한 슬라이스 내에 있는지를 확인하여 슬라이스 경계를 구분하기 위해 매번 주변 매크로 블록들 모두의 슬라이스 번호를 검색해야 되는 문제점이 있다. 이처럼 H.264 복호기에서는 매번 주변 매크로 블록들 모두의 슬라이스 번호를 확인한 후에 매크로 블록을 복호하기 때문에 복호 처리 시간이 지연되고, 리소스가 낭비되는 문제점이 있다.However, most decoders following the above H.264 recommendation have to search the slice numbers of all neighboring macroblocks each time to distinguish slice boundaries by checking whether neighboring macroblocks are in the same slice for each macroblock decoding. There is this. As described above, since the H.264 decoder decodes the macroblock after checking the slice numbers of all the neighboring macroblocks each time, the decoding processing time is delayed and resources are wasted.
본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 임의 형태의 슬라이스 구조를 갖는 화면을 구성하는 다수의 매크로 블록간의 상호 슬라이스 관계를 나타내기 위한 테이블을 생성하는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, the slice relationship between neighboring macroblocks to generate a table for representing the mutual slice relationship between a plurality of macroblocks constituting a screen having any type of slice structure An object of the present invention is to provide a table generating apparatus and a method for representing the same.
상기의 목적을 달성하기 위한 본 발명의 장치는, 엠펙-4(MPEG-4) 복호기에 적용되는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치에 있어서, 하나의 화면을 이루는 모든 매크로 블록의 각 슬라이스 번호를 저장하고 있는 슬라이스 번호 테이블 저장수단; 상기 슬라이스 번호 테이블 저장수단의 슬라이스 번호 테이블을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 주변 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 슬라이스 번호 비교수단; 상기 슬라이스 번호 비교수단에서 출력한 비교 결과를 일정 순서대로 정리하여 출력하기 위한 비교 결과 출력수단; 상기 비교 결과 출력수단에서 비교 결과가 정리된 매크로 블록의 다음 순서의 매크로 블록 번호를 상기 슬라이스 번호 비교수단으로 통보하기 위한 매크로 블록 번호 승산수단; 및 상기 비교 결과 출력수단에서 각 매크로 블록에 대해 정리한 비교 결과를 저장하기 위한 주변 매크로 블록간 슬라이스 관계 테이블 저장수단을 포함한다.The apparatus of the present invention for achieving the above object is a table generating apparatus for representing a slice relationship between neighboring macroblocks, which is applied to an MPEG-4 decoder, wherein all macroblocks that form one screen are included. Slice number table storing means for storing each slice number of the slice number; Slice number comparison means for comparing the relationship between the slice number of each macro block and the slice number of the macro block located in the periphery region of the macro block through the slice number table of the slice number table storing means and outputting a comparison result; Comparison result output means for organizing and outputting the comparison result output from the slice number comparison means in a predetermined order; Macroblock number multiplication means for notifying the slice number comparison means of a macroblock number of a next sequence of the macroblock in which the comparison result is arranged in the comparison result output means; And slice relationship table storage means between neighboring macroblocks for storing the comparison result summarized for each macroblock in the comparison result output means.
한편, 본 발명의 방법은, 엠펙-4(MPEG-4) 복호기에 적용되는, 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 방법에 있어서, 하나의 화면을 이루는 모든 매크로 블록의 각 슬라이스 번호를 가지고 있는 슬라이스 번호 테이블을 로딩하는 슬라이스 번호 테이블 로딩 단계: 상기 로딩한 슬라이스 번호 테이블을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 주변 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하는 주변 매크로 블록 슬라이스 번호 비교 단계; 상기 비교한 비교 결과를 일정 순서대로 정리하는 비교 결과 정리 단계; 및 상기 정리한 비교 결과를 주변 매크로 블록간 슬라이스 관계 테이블에 저장하는 비교 결과 저장 단계를 포함한다.On the other hand, the method of the present invention is a table generating method for representing slice relationships between neighboring macroblocks, which is applied to an MPEG-4 decoder, wherein each slice number of all macroblocks forming one screen is determined. A slice number table loading step of loading a slice number table having: a neighboring macro block comparing the slice number of each macro block with the slice number of a macro block located in the periphery region of the corresponding macro block through the loaded slice number table Slice number comparison step; A comparison result arranging step of arranging the comparison results in a predetermined order; And a comparison result storing step of storing the summarized comparison result in a slice relationship table between neighboring macroblocks.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명이 적용되는 매크로 블록 복호 시 참조되는 주변 매크로 블록에 대한 일실시예 설명도이다.1 is a diagram illustrating an embodiment of a neighboring macroblock referred to when decoding a macroblock to which the present invention is applied.
도 1에 도시된 바와 같이, 현재 H.264 복호기에서 'E' 영역에 위치한 매크로 블록을 복호하기 위해 필요한(참조되는) 주변 매크로 블록은 각각 'A', 'B', 'C' 및 'D' 영역에 위치한 매크로 블록들이다.As shown in Fig. 1, the peripheral macroblocks required (referenced) for decoding the macroblock located in the 'E' region in the current H.264 decoder are 'A', 'B', 'C' and 'D', respectively. 'Macro blocks located in the area.
도 2는 본 발명에 따른 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관 계를 나타내기 위한 테이블 생성 장치에 대한 일실시예 구성도이다.FIG. 2 is a diagram illustrating an embodiment of a table generating apparatus for representing a slice relation between neighboring macroblocks in an H.264 decoder according to the present invention.
도 2에 도시된 바와 같이, 본 발명에 따른 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치는, 하나의 화면을 이루는 모든 매크로 블록의 각 슬라이스 번호가 저장되어 있는 슬라이스 번호 테이블(100)과, 상기 슬라이스 번호 테이블(100)을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 좌 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 좌 영역 매크로 블록 슬라이스 번호 비교기(101)와, 상기 슬라이스 번호 테이블(100)을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 좌상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 좌상 영역 매크로 블록 슬라이스 번호 비교기(102)와, 상기 슬라이스 번호 테이블(100)을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 상 영역 매크로 블록 슬라이스 번호 비교기(103)와, 상기 슬라이스 번호 테이블(100)을 통해 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 우상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교하여 비교 결과를 출력하기 위한 우상 영역 매크로 블록 슬라이스 번호 비교기(104)와, 상기 좌 영역 매크로 블록 슬라이스 번호 비교기(101), 상기 좌상 영역 매크로 블록 슬라이스 번호 비교기(102), 상기 상 영역 매크로 블록 슬라이스 번호 비교기(103) 및 상기 우상 영역 매크로 블록 슬라이스 번호 비교기(104)에서 각각 출력하는 비교 결과를 일정 순서대로 정리하여 출력하기 위한 비교 결과 출력기(105)와, 상기 비교 결과 출력기(105)에서 각각의 특정 매크로 블록에 대해 정리한 비교 결과를 저장하기 위한 주변 매크로 블록간 슬라이스 관계 테이블(106), 및 상기 비교 결과 출력기(105)에서 상기 비교 결과가 정리된 매크로 블록의 다음 순서의 매크로 블록 번호를 상기 좌 영역 매크로 블록 슬라이스 번호 비교기(101), 상기 좌상 영역 매크로 블록 슬라이스 번호 비교기(102), 상기 상 영역 매크로 블록 슬라이스 번호 비교기(103) 및 상기 우상 영역 매크로 블록 슬라이스 번호 비교기(104)에 각각 통보하기 위한 매크로 블록 번호 승산기(107)를 포함한다.As shown in FIG. 2, in the H.264 decoder according to the present invention, a table generating apparatus for representing slice relationships between neighboring macroblocks includes a slice number in which slice numbers of all macroblocks of one screen are stored. Table 100 and the slice number table 100 compares the relationship between the slice number of each macro block and the slice number of the macro block located in the left region of the macro block to output a comparison result of the left region macro block A
상기 슬라이스 번호 테이블(100)에는 화면(예 : 화면 데이터)을 이루는 모든 매크로 블록의 각 슬라이스 번호가 저장되어 있다. 여기서, 상기 슬라이스 번호 테이블(100)은 배열 SLICE[MAX_MB_NR]에 속한 슬라이스 번호가 각 영역에 저장된 형태이다. 또한, 매크로 블록의 가로 크기 MB_WIDTH = (PIC_WIDTH-1)/16+1이고, 매크로 블록의 세로 크기 MB_HEIGHT = ((PIC_HEIGHT-1)/16+1)이며, 상기 MAX_MB_NR값은 ((PIC_WIDTH-1)/16+1)×((PIC_HEIGHT-1)/16+1)이다.The slice number table 100 stores each slice number of all macro blocks forming a screen (for example, screen data). Here, the slice number table 100 has a form in which slice numbers belonging to the array SLICE [MAX_MB_NR] are stored in each area. In addition, the macroblock has a horizontal size MB_WIDTH = (PIC_WIDTH-1) / 16 + 1, and the macroblock has a vertical size MB_HEIGHT = ((PIC_HEIGHT-1) / 16 + 1), and the MAX_MB_NR value is ((PIC_WIDTH-1). / 16 + 1) × ((PIC_HEIGHT-1) / 16 + 1).
이러한 슬라이스 번호 테이블(100)을 통해 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치가 임의 형태의 슬라이스 구조를 갖는 화면을 복호하기 전에 상기 화면 전체에 대한 슬라이스 구조를 인지하게 된다.Through the slice number table 100, the table generating apparatus for representing slice relationships between neighboring macroblocks recognizes the slice structure of the entire screen before decoding the screen having the slice structure of any form.
상기 좌 영역 매크로 블록 슬라이스 번호 비교기(101)는 특정 매크로 블록(도 2의 'E'에 위치한 매크로 블록)과 이 특정 매크로 블록의 좌 영역에 위치한 매크로 블록(도 2의 'A'에 위치한 매크로 블록)간의 슬라이스 번호를 비교하여 비교 결과를 출력한다. 이때, 상기 좌 영역 매크로 블록 슬라이스 번호 비교기(101)는 비교 대상인 두 매크로 블록이 다른 슬라이스 번호를 가지는 경우 또는 상기 특정 매크로 블록의 좌 영역('A')이 존재하지 않는 경우에는 '0'을 출력하고, 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 좌 영역('A')이 존재하는 경우에는 '1'을 출력한다. 여기서, 상기 특정 매크로 블록의 좌 영역('A')이 존재하지 않는 경우는 상기 특정 매크로 블록이 가장 왼쪽 영역에 위치한 것을 의미한다. 즉, 화면(예 : 화면 데이터)에서 매크로 블록의 가로, 세로 위치를 각각 나타내는 MBX[i], MBY[i] 중 MBX[i]='0'인 경우가 상기 특정 매크로 블록의 좌 영역('A')이 존재하지 않는 경우이다.The left region macroblock
상기 좌상 영역 매크로 블록 슬라이스 번호 비교기(102)는 특정 매크로 블록(도 2의 'E'에 위치한 매크로 블록)과 이 특정 매크로 블록의 좌상 영역에 위치한 매크로 블록(도 2의 'B'에 위치한 매크로 블록)간의 슬라이스 번호를 비교하여 비교 결과를 출력한다. 이때, 상기 좌상 영역 매크로 블록 슬라이스 번호 비교기(102)는 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 좌상 영역('B')이 존재하는 경우(MBX[i]≠'0', MBY[i]≠'0')에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다.The upper left region macro block
상기 상 영역 매크로 블록 슬라이스 번호 비교기(103)는 특정 매크로 블록(도 2의 'E'에 위치한 매크로 블록)과 이 특정 매크로 블록의 상 영역에 위치한 매크로 블록(도 2의 'C'에 위치한 매크로 블록)간의 슬라이스 번호를 비교하여 비교 결과를 출력한다. 이때, 상기 상 영역 매크로 블록 슬라이스 번호 비교기(103)는 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 상 영역('C')이 존재하는 경우(MBY[i]≠'0')에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다.The upper region macroblock
상기 우상 영역 매크로 블록 슬라이스 번호 비교기(104)는 특정 매크로 블록(도 2의 'E'에 위치한 매크로 블록)과 이 특정 매크로 블록의 우상 영역에 위치한 매크로 블록(도 2의 'D'에 위치한 매크로 블록)간의 슬라이스 번호를 비교하여 비교 결과를 출력한다. 이때, 상기 우상 영역 매크로 블록 슬라이스 번호 비교기(104)는 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 우상 영역('D')이 존재하는 경우(MBY[i]≠'0', MBX[i]≠MB_WIDTH-1)에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다. 여기서, 'MBX[i]≠MB_WIDTH-1'은 상기 특정 매크로 블록이 가장 오른쪽 영역에 위치하는 경우를 의미한다.The upper right region macro block
상기 비교 결과 출력기(105)는 상기 각 비교기(101 내지 104)에서 각각 출력한 비교 결과를 일정 순서대로 정리하여 상기 주변 매크로 블록간 슬라이스 관계 테이블(106)로 출력한다. 예를 들어, 도 2의 'E'에 위치한 특정 매크로 블록에 대해서 비교 결과 정리 순서가 'A', 'B', 'C' 및 'D'로 설정되어 있는 경우에는 상기 좌 영역 매크로 블록 슬라이스 번호 비교기(101)에서 '1'이 출력되고 상기 좌상 영역 매크로 블록 슬라이스 번호 비교기(102)에서 '1'이 출력되고 상기 상 영역 매크로 블록 슬라이스 번호 비교기(103)에서 '0'이 출력되고 상기 우상 영역 매크로 블록 슬라이스 번호 비교기(104)에서 '1'이 출력되면 MB_AVAILABLE[i]='1101'로 정리한 후에 이 '1101' 데이터값이 상기 주변 매크로 블록간 슬라이스 관계 테이블(106)에 저장되도록 한다.The comparison
상기 매크로 블록 번호 승산기(107)는 상기 비교 결과 출력기(105)에서 비교 결과가 정리된 매크로 블록의 다음 순서의 매크로 블록 번호를 상기 비교기들(101 내지 104)에게 통보하여 다음 순서의 매크로 블록과 주변 매크로 블록간의 슬라이스 번호 관계가 비교되도록 한다. 여기서, 상기 매크로 블록 번호 승산기(107)는 0~(MAX_MB_NR-1) 범위의 매크로 블록 번호를 생성한다.The
이처럼, 본 발명에 따른 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 장치를 이용하여 생성한 주변 매크로 블록간 슬라이스 관계 테이블(106)을 통해서 실제로 복호 수행 중에 주변 영역의 매크로 블록 정보를 쉽게 검색할 수 있는 효과가 있다.As described above, in the H.264 decoder according to the present invention, the macroblocks in the peripheral area during the actual decoding are performed through the slice relationship table 106 between the peripheral macroblocks generated by using the table generating apparatus for indicating the slice relationship between the neighboring macroblocks. The effect is that information can be easily retrieved.
도 3은 H.264 복호기에서 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한 테이블 생성 방법에 대한 일실시예 흐름도이다.3 is a flowchart illustrating a table generating method for representing a slice relationship between neighboring macroblocks in an H.264 decoder.
먼저, 화면(예 : 화면 데이터)을 이루는 모든 매크로 블록의 각 슬라이스 번호가 저장되어 있는 슬라이스 번호 테이블(100)을 로딩한다(300). 이 후, 상기 슬라이스 번호 테이블(100)을 통해 두 매크로 블록간의 슬라이스 관계에 대해서 비교하는 과정을 수행한다.First, the slice number table 100 in which each slice number of all macro blocks constituting a screen (for example, screen data) is stored is loaded (300). Thereafter, the slice number table 100 compares slice relations between two macroblocks.
즉, 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 좌 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교한다(301).That is, the relationship between the slice number of each macro block and the slice number of the macro block located in the left region of the macro block is compared (301).
그리고, 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 좌상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교한다(302).Then, the relationship between the slice number of each macro block and the slice number of the macro block located in the upper left region of the macro block is compared (302).
그리고, 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교한다(303).The relationship between the slice number of each macro block and the slice number of the macro block located in the upper region of the macro block is compared (303).
그리고, 각 매크로 블록의 슬라이스 번호와 해당 매크로 블록의 우상 영역에 위치한 매크로 블록의 슬라이스 번호간의 관계를 비교한다(304).Then, the relationship between the slice number of each macro block and the slice number of the macro block located in the upper right region of the macro block is compared (304).
그런 후, 상기 '301' 과정에서의 비교 결과, 비교 대상인 두 매크로 블록이 다른 슬라이스 번호를 가지는 경우 또는 특정 매크로 블록의 좌 영역('A')이 존재하지 않는 경우에는 '0'을 출력하고, 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 좌 영역('A')이 존재하는 경우에는 '1'을 출력한다(305).Then, as a result of the comparison in the '301' process, when the two macroblocks to be compared have different slice numbers or when the left region 'A' of the specific macroblock does not exist, '0' is outputted. When two macroblocks to be compared have the same slice number and there is a left region 'A' of the specific macroblock, '1' is output (305).
그리고, 상기 '302' 과정에서의 비교 결과, 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 좌상 영역('B')이 존재하는 경우에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다(306).As a result of the comparison in the '302' process, when the two macroblocks to be compared have the same slice number and the upper left region 'B' of the specific macroblock exists, '1' is output, and the remaining cases In
그리고, 상기 '303' 과정에서의 비교 결과, 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 상 영역('C')이 존재하는 경우에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다(307).As a result of the comparison in the '303' process, when the two macroblocks to be compared have the same slice number and the upper region 'C' of the specific macroblock exists, '1' is outputted, and the remaining cases '0' is outputted (307).
그리고, 상기 '304' 과정에서의 비교 결과, 비교 대상인 두 매크로 블록이 동일한 슬라이스 번호를 가지고 상기 특정 매크로 블록의 우상 영역('D')이 존재하는 경우에는 '1'을 출력하고, 그 나머지 경우에는 '0'을 출력한다(308).As a result of the comparison in the '304' process, when the two macroblocks to be compared have the same slice number and the upper right region 'D' of the specific macroblock exists, '1' is output, and the remaining cases In
그런 후, 상기 '305' 내지 '308' 과정에서 각각 출력한 결과를 일정 순서대 로 정리한다(309).Thereafter, the results output in the processes '305' to '308' are arranged in a predetermined order (309).
그런 후, 상기 정리한 출력 결과를 주변 매크로 블록간 슬라이스 관계 테이블(106)에 저장한다(310).
한편, 일반적으로 하나의 화면은 픽셀(pixel)로 구성된다. 예를 들어, 큐씨아이에프(QCIF) 화면 사이즈라면 176x144의 픽셀(pixel)들로 구성된 매크로 블록이라는 개념으로 한 화면을 분할하여 처리한다. 후술되는 도 4 및 도 5의 작은 사각형이 이런 매크로 블록을 나타낸다. 예를 들어, 큐씨아이에프(QCIF) 화면 사이즈에서는 11x9개의 매크로 블록으로 한 화면이 구성되며, 후술되는 도 4 및 도 5는 큐씨아이에프(QCIF) 화면의 매크로 블록 구성을 보여주고 있다.
그리고 하나의 화면은 여러 개의 슬라이스로 구성된다. 슬라이스는 기본 처리 단위인 매크로 블록의 집합을 말한다. 하나의 슬라이스에 포함된 매크로 블록들은 양자화 계수 등 공통적 특성을 공유하게 할 수 있는 편의를 위해서 나누어진 것이다. 화면에서 슬라이스의 구성은 다양한 형태를 가질 수 있다. 후술되는 도 4 및 도 5는 3개의 슬라이스로 구성된 화면을 나타내고 있다. 그리고 각 색상별로 해당 슬라이스에 포함된 매크로 블록을 구분하여 나타내고 있다.Thereafter, the summarized output result is stored in the slice relationship table 106 between neighboring macroblocks (310).
On the other hand, one screen is generally composed of pixels. For example, if the QCIF screen size is a macro block composed of 176x144 pixels, one screen is divided and processed. The small squares of FIGS. 4 and 5 described below represent such macro blocks. For example, in the QCIF screen size, one screen is composed of 11 × 9 macroblocks. FIGS. 4 and 5 described below show a macroblock configuration of the QCIF screen.
One screen consists of several slices. A slice is a set of macro blocks that are basic processing units. Macro blocks included in one slice are divided for convenience of sharing common characteristics such as quantization coefficients. The composition of the slice in the screen may have various forms. 4 and 5 to be described below show a screen composed of three slices. In addition, macroblocks included in the corresponding slices are shown for each color.
도 4는 본 발명에 이용되는 슬라이스 번호 테이블에 대한 일실시예 설명도이다.4 is a diagram illustrating an embodiment of a slice number table used in the present invention.
도 4에 도시된 바와 같이, 슬라이스 번호 테이블(100)에는 화면(예 : 화면 데이터)을 이루는 모든 매크로 블록의 각 슬라이스 번호가 저장되어 있다. 여기서, '0'이라고 표기된 영역의 매크로 블록은 슬라이스 번호 '0'에 속한 매크로 블록이고, '1'이라고 표기된 영역의 매크로 블록은 슬라이스 번호 '1'에 속한 매크로 블록이고, '2'라고 표기된 영역의 매크로 블록은 슬라이스 번호 '2'에 속한 매크로 블록이다.As shown in FIG. 4, the slice number table 100 stores slice numbers of all macro blocks forming a screen (for example, screen data). Here, the macro block of the region labeled '0' is a macro block belonging to the slice number '0', and the macro block of the region labeled '1' is a macro block belonging to the slice number '1', and the region labeled '2'. The macroblock of is a macroblock belonging to slice number '2'.
도 5는 본 발명에 따라 생성된 주변 매크로 블록간 슬라이스 관계 테이블에 대한 일실시예 설명도이다.5 is a diagram illustrating an embodiment of a slice relationship table between neighboring macroblocks generated according to the present invention.
도 5에 도시된 바와 같이, 주변 매크로 블록간 슬라이스 관계 테이블(106)에는 각각의 매크로 블록에 대해 주변 매크로 블록의 관계가 저장되어 있다. 예를 들어, (5,1) 영역의 매크로 블록의 주변 매크로 블록 관계는 '0011'이고, (7,3) 영역의 매크로 블록의 주변 매크로 블록 관계는 '0111'이다.As shown in FIG. 5, the relationship between neighboring macroblocks is stored in the slice relationship table 106 between neighboring macroblocks. For example, the neighboring macroblock relation of the macroblock of region (5,1) is '0011', and the neighboring macroblock relation of the macroblock of region (7,3) is '0111'.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
상기와 같은 본 발명은, 매크로 블록 복호 과정 중에 매크로 블록 참조 정보를 주변 매크로 블록간의 슬라이스 관계를 나타내는 테이블을 통해 쉽게 인지할 수 있기 때문에 매번 주변 매크로 블록들 모두의 슬라이스 번호를 검색하지 않아도 되므로 복호 처리 시간이 빨라지고, 그에 따라 리소스 낭비가 줄어들어 다른 작업의 처리 속도를 향상시킬 수 있는 효과가 있다.In the present invention as described above, since the macroblock reference information can be easily recognized through a table representing slice relationships between neighboring macroblocks during the macroblock decoding process, since the slice numbers of all the neighboring macroblocks do not need to be searched each time, the decoding process is performed. This speeds up time and reduces resource waste, which can speed up other tasks.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030093262A KR100576547B1 (en) | 2003-12-18 | 2003-12-18 | The slice relation table generator apparatus and method of among MBs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030093262A KR100576547B1 (en) | 2003-12-18 | 2003-12-18 | The slice relation table generator apparatus and method of among MBs |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050061136A KR20050061136A (en) | 2005-06-22 |
KR100576547B1 true KR100576547B1 (en) | 2006-05-03 |
Family
ID=37253751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030093262A KR100576547B1 (en) | 2003-12-18 | 2003-12-18 | The slice relation table generator apparatus and method of among MBs |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100576547B1 (en) |
-
2003
- 2003-12-18 KR KR1020030093262A patent/KR100576547B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050061136A (en) | 2005-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2760909C1 (en) | Encoding method | |
US10939113B2 (en) | Method and apparatus for sub-picture based raster scanning coding order | |
KR102076398B1 (en) | Method and apparatus for vector encoding in video coding and decoding | |
US10499053B2 (en) | Method of improved directional intra prediction for video coding | |
EP3606077A1 (en) | In-loop filtering method according to adaptive pixel classification standard | |
US10009616B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
EP3114838B1 (en) | Hash table construction and availability checking for hash-based block matching | |
JP7191211B2 (en) | Decoding method, computer program, video decoding apparatus | |
WO2015176678A1 (en) | Method of intra block copy with flipping for image and video coding | |
JP5246264B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
US20210067803A1 (en) | Matrix weighted intra prediction of video signals | |
GB2531003A (en) | Method and apparatus for vector encoding in video coding and decoding | |
AU2013228045A1 (en) | Method, apparatus and system for encoding and decoding video data | |
US10178405B2 (en) | Enhanced coding and decoding using intra block copy mode | |
CN113557731B (en) | Method, apparatus and system for encoding and decoding a block tree of video samples | |
US20230171415A1 (en) | Tile and slice partitioning in video processing | |
KR20220160038A (en) | Methods for Signaling Video Coding Data | |
CN114902670A (en) | Method and apparatus for signaling sub-picture division information | |
US9762916B2 (en) | Encoding apparatus and method | |
US20210321093A1 (en) | Method and system of video coding with efficient intra block copying | |
CN106303535B (en) | Image compression method and device with reference pixels taken from different-degree reconstruction pixels | |
AU2019284053A1 (en) | Method, apparatus and system for encoding and decoding a block of video samples | |
KR100576547B1 (en) | The slice relation table generator apparatus and method of among MBs | |
EP3571844A1 (en) | Apparatus and method for de-blocking filtering | |
US20130107971A1 (en) | Image encoding apparatus, image encoding method and program, image decoding apparatus, image decoding method and program |
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: 20120330 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130325 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |