KR20070075227A - Flag encoding method, flag decoding method, and apparatus thereof - Google Patents
Flag encoding method, flag decoding method, and apparatus thereof Download PDFInfo
- Publication number
- KR20070075227A KR20070075227A KR1020060035461A KR20060035461A KR20070075227A KR 20070075227 A KR20070075227 A KR 20070075227A KR 1020060035461 A KR1020060035461 A KR 1020060035461A KR 20060035461 A KR20060035461 A KR 20060035461A KR 20070075227 A KR20070075227 A KR 20070075227A
- Authority
- KR
- South Korea
- Prior art keywords
- flag
- bit
- group size
- bit string
- pattern
- 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/187—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 a scalable video layer
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
도 1은 하나의 프레임을 구성하는 매크로블록들을 보여주는 도면.1 is a diagram illustrating macroblocks constituting one frame.
도 2는 각각의 매크로블록 헤더에 포함된 특정 플래그들 간의 공간적 연관성을 나타내는 도면.2 illustrates spatial associations between specific flags included in each macroblock header.
도 3은 동일한 플래그들의 값들을 모아서 엔트로피 부호화하는 개념을 보여주는 도면.3 illustrates a concept of entropy coding of values of the same flags.
도 4는 본 발명의 일 실시예에 따른 플래그 부호화 장치의 구성을 도시하는 블록도.4 is a block diagram showing a configuration of a flag encoding apparatus according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 플래그 복호화 장치의 구성을 도시하는 블록도.5 is a block diagram showing the configuration of a flag decoding apparatus according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 플래그 부호화 방법을 나타내는 흐름도.6 is a flowchart illustrating a flag encoding method according to an embodiment of the present invention.
도 7은 SVC에서 사용되는 다양한 예측 기법의 개념을 보여주는 도면.7 illustrates the concept of various prediction techniques used in SVCs.
도 8은 본 발명의 다른 실시예에 따른 플래그 부호화 장치의 구성을 도시하는 블록도.8 is a block diagram showing a configuration of a flag encoding apparatus according to another embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 플래그 부호화 방법을 나타내는 흐름도.9 is a flowchart illustrating a flag encoding method according to another embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 플래그 복호화 방법을 나타내는 흐름도.10 is a flowchart illustrating a flag decoding method according to an embodiment of the present invention.
도 11은 본 발명의 다른 실시예에 따른 플래그 복호화 장치의 구성을 도시하는 블록도.11 is a block diagram showing a configuration of a flag decoding apparatus according to another embodiment of the present invention.
도 12는 본 발명의 다른 실시예에 따른 플래그 복호화 방법을 나타내는 흐름도.12 is a flowchart illustrating a flag decoding method according to another embodiment of the present invention.
도 13은 도 4 또는 도 8의 플래그 부호화 장치가 적용될 수 있는 비디오 인코더의 구성을 도시하는 블록도FIG. 13 is a block diagram illustrating a configuration of a video encoder to which the flag encoding apparatus of FIG. 4 or 8 may be applied.
도 14는 도 5 또는 도 11의 플래그 복호화 장치가 적용될 수 있는 비디오 디코더의 구성을 도시하는 블록도.14 is a block diagram illustrating a configuration of a video decoder to which the flag decoding apparatus of FIG. 5 or 11 may be applied.
(도면의 주요부분에 대한 부호 설명)(Symbol description of main part of drawing)
100, 190 : 플래그 부호화 장치 101 : 플래그 판독부100 and 190: flag encoding apparatus 101: flag reading unit
105, 260 : 연산부 110 : 플래그 조합부105, 260: calculator 110: flag combination
120, 210 : 그룹 크기 설정부 130 : 비트열 분할부120, 210: group size setting unit 130: bit string division unit
140 : 패턴 비트 설정부 150 : 플래그 코딩부140: pattern bit setting unit 150: flag coding unit
160 : 기록부 170 : 버퍼160: recording unit 170: buffer
200, 290 : 플래그 복호화 장치 220 : 패턴 비트 판독부200, 290: flag decoding device 220: pattern bit reader
230 : 플래그 디코딩부 240 : 출력 버퍼230: flag decoding unit 240: output buffer
250 : 플래그 설정부 300 : 하위 계층 인코더250: flag setter 300: lower layer encoder
305 : 다운샘플링부 310, 410 : 예측부305:
320, 420 : 변환부 330, 430 : 양자화부320, 420:
340, 440 : 엔트로피 부호화부 350, 450 : 플래그 설정부340 and 440:
360 : Mux 400 : 현재 계층 인코더360: Mux 400: Current Layer Encoder
500 : 비디오 인코더 600: 하위 계층 디코더500: Video Encoder 600: Lower Layer Decoder
610, 710 : 엔트로피 복호화부 620, 720 : 역양자화부610, 710:
630, 730 : 역변환부 640, 740 : 역예측부630, 730: inverse transform unit 640, 740: inverse predictor
650 : Demux 700 : 현재 계층 디코더650: Demux 700: Current Layer Decoder
800 : 비디오 디코더800: video decoder
본 발명은 비디오 압축 기술에 관한 것으로, 보다 상세하게는 매크로블록에 포함되는 각종 플래그들 간의 공간적 관련성을 이용하여 효율적으로 코딩하는 플래그 코딩 방법 및 장치에 관한 것이다.The present invention relates to a video compression technique, and more particularly, to a flag coding method and apparatus for efficiently coding using spatial relationships between various flags included in a macroblock.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 특성을 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서 는 압축코딩기법을 사용하는 것이 필수적이다.As information and communication technology including the Internet is developed, not only text and voice but also video communication are increasing. Existing text-oriented communication methods are not enough to satisfy various needs of consumers. Accordingly, multimedia services that can accommodate various types of characteristics such as text, video, and music are increasing. Multimedia data has a huge amount and requires a large storage medium and a wide bandwidth in transmission. Therefore, in order to transmit multimedia data including text, video, and audio, it is essential to use a compression coding technique.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.The basic principle of compressing data is to eliminate redundancy in the data. Spatial overlap, such as the same color or object repeating in an image, temporal overlap, such as when there is almost no change in adjacent frames in a movie frame, or the same note over and over in audio, or high frequency of human vision and perception Data can be compressed by removing the psychological duplication taking into account the insensitive to. In a general video coding method, temporal redundancy is eliminated by temporal filtering based on motion compensation, and spatial redundancy is removed by spatial transform.
데이터의 중복을 제거한 결과는 다시 양자화 과정을 통하여 소정의 양자화 스텝에 따라서 손실 부호화된다. 상기 양자화된 결과는 최종적으로 엔트로피 부호화(entropy coding)를 통하여 최종적으로 무손실 부호화된다.The result of removing the duplication of data is again loss-coded according to a predetermined quantization step through a quantization process. The quantized result is finally losslessly coded through entropy coding.
현재 H.264 표준에서 사용되는 엔트로피 부호화 기술로는, CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding), Exp_Golomb(exponential Golomb) 등이 있다. 다음의 표 1은 H.264 표준에서 코딩될 파라미터별로 사용되는 엔트로피 부호화 기법을 나타낸다.Entropy coding techniques currently used in the H.264 standard include Context-Adaptive Variable Length Coding (CAVLC), Context-Adaptive Binary Arithmetic Coding (CABAC), and Exp_Golomb (Exponential Golomb). Table 1 below shows an entropy encoding scheme used for each parameter to be coded in the H.264 standard.
상기 표 1에 의하면 entropy_coding_mode 플래그가 0인 경우에는, 해당 매크로블록이 인터 예측 모드인지 인트라 예측 모드인지를 나타내는 매크로블록 유형(macroblock type), 매크로블록을 구성하는 서브블록의 형태를 나타내는 매크로블록 패턴(macroblock pattern), 양자화 스텝(quantization step)을 결정하는 인덱스인 양자화 파라미터(quantization parameter), 인터 예측 모드에서 참조되는 프레임의 번호를 나타내는 참조 프레임 인덱스, 및 모션 벡터는 Exp_Golomb에 의하여 부호화된다. 그리고, 원 이미지와 예측 이미지 간의 차이를 나타내는 잔차 데이터(residual data)는 CAVLC에 의하여 부호화된다.According to Table 1, when the entropy_coding_mode flag is 0, a macroblock type indicating whether the macroblock is an inter prediction mode or an intra prediction mode, and a macroblock pattern indicating the type of a subblock constituting the macroblock ( A macroblock pattern, a quantization parameter which is an index for determining a quantization step, a reference frame index indicating the number of frames referred to in the inter prediction mode, and a motion vector are encoded by Exp_Golomb. Residual data representing the difference between the original image and the predicted image is encoded by CAVLC.
반면에, 상기 entropy_coding_mode 플래그가 1인 경우에는, 상기 모든 파라미터들은 CABAC로 코딩된다. On the other hand, when the entropy_coding_mode flag is 1, all the parameters are coded by CABAC.
CABAC는 높은 복잡성(high complexity)을 갖는 파라미터에서 좋은 성능을 나타낸다. 따라서, CAVLC 등의 VLC(Variable Length Coding) 기반의 엔트로피 코딩은 기초적인 프로파일로서 설정된다.CABAC shows good performance on parameters with high complexity. Therefore, Variable Length Coding (VLC) based entropy coding such as CAVLC is set as the basic profile.
한편, H.264나 다계층(multi-layer) 기반의 스케일러블 비디오 코딩(H.264SE(scalable edition)라고 함)에 있어서는, 계층간 정보의 이용 여부와 관련된 다양한 플래그(flag) 들이 존재하는데, 이들 플래그는 슬라이스(slice) 별, 매크로블록(macroblock) 별, 또는 서브블록(sub-block) 별로 설정된다. 따라서, 비디오 코딩에 있어서 상기 플래그에 의하여 증가되는 오버헤드(overhead)도 무시할 수 없는 실정에 있다.Meanwhile, in H.264 or multi-layer-based scalable video coding (called a scalable edition (H.264SE)), there are various flags related to whether inter-layer information is used. These flags are set for each slice, for each macroblock, or for each sub-block. Therefore, the overhead increased by the flag in video coding cannot be ignored.
그런데, 현재로서는 상기 텍스쳐 데이터나 모션 데이터와는 달리 상기 플래그들에 대하여는, 공간적인 연관성(correlation)을 고려하지 않은 채로 부호화되거나 아예 부호화되지 않는 실정에 있다.However, at present, unlike the texture data and the motion data, the flags are encoded or not encoded at all without considering spatial correlation.
본 발명은 상기한 필요성을 고려하여 고안된 것으로, 비디오 코덱에서 사용되는 다양한 플래그들을 공간적인 연관성을 고려하여 효율적으로 부호화하는 방법 및 장치를 제공하는 것을 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been devised in view of the above-described needs, and a technical object of the present invention is to provide a method and apparatus for efficiently encoding various flags used in a video codec in consideration of spatial correlation.
본 발명의 목적은 상기 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the above-mentioned object, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.
상기한 기술적 과제를 달성하기 위하여, 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 방법으로서, (a) 소정 블록의 공간적 관련성에 따라 상기 블록 별로 할당되는 플래그 값을 모아서 플래그 비트열을 생성하는 단계; (b) 상기 비트열을 소정의 그룹 크기로 분할하는 단계; (c) 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 단계; 및 (d) 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 단계를 포함한다.In order to achieve the above technical problem, a method of encoding a flag used in the coding of a video frame consisting of a plurality of blocks, (a) collecting the flag value assigned to each block according to the spatial relevance of a predetermined block flag Generating a bit string; (b) dividing the bit string into a predetermined group size; (c) setting pattern bits indicating whether all bits included in the divided bit streams are zero; And (d) entropy encoding the divided bit strings according to the set pattern bits.
상기한 기술적 과제를 달성하기 위하여, 복수의 계층으로 이루어지는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 방법으로서, (a) 현재 계층의 블록에 대한 제1 플래그 값과, 상기 블록과 대응되는 하위 계층의 블록에 대한 제2 플래그 값에 대하여 배타적 논리합 연산을 수행하는 단계; (b) 상기 현재 계층의 블록의 공간적 관련성에 따라 상기 연산 결과 값을 모아서 플래그 비트열을 생성하는 단계; (c) 상기 비트열을 소정의 그룹 크기로 분할하는 단계; (d) 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 단계; 및 (e) 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 단계를 포함한다.In order to achieve the above technical problem, a method of encoding a flag used in coding a video frame composed of a plurality of layers, comprising: (a) a first flag value for a block of a current layer and a lower level corresponding to the block; Performing an exclusive OR operation on the second flag value for the block of the layer; (b) generating a flag bit string by collecting the operation result values according to the spatial relevance of the blocks of the current layer; (c) dividing the bit string into a predetermined group size; (d) setting pattern bits indicating whether all bits included in the divided bit streams are zero; And (e) entropy encoding the divided bit strings according to the set pattern bits.
상기한 기술적 과제를 달성하기 위하여, 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 복호화하는 방법으로서, (a) 비디오 스트림으로부터 소정의 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 판독하는 단계; (b) 상기 패턴 비트가 제1 비트를 가지는 경우, 그룹 크기에 해당하는 플래그 비트열을 0으로 설정하는 단계; (c) 상기 패턴 비트가 제2 비트를 가지는 경우, 상기 비디오 스트림으로부터 상기 그룹 크기에 만큼의 블록들에 대한 부호화된 플래그 비트열을 판독하는 단계; 및 (d) 상기 판독된 플래그 비트열을 엔트로피 복호화하는 단계를 포함한다.In order to achieve the above technical problem, a method of decoding a flag used in coding a video frame composed of a plurality of blocks, comprising: (a) a pattern indicating whether all bits included in a predetermined bit string from a video stream are 0; Reading the bits; (b) setting the flag bit string corresponding to the group size to 0 when the pattern bit has the first bit; (c) if the pattern bit has a second bit, reading an encoded flag bit string for as many blocks as the group size from the video stream; And (d) entropy decoding the read flag bit string.
상기한 기술적 과제를 달성하기 위하여, 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 장치로서, 소정 블록의 공간적 관련성에 따라 상기 블록 별로 할당되는 플래그 값을 모아서 플래그 비트열을 생성하는 수단; 상기 비트열을 소정의 그룹 크기로 분할하는 수단; 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 수단; 및 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 수단을 포함한다.In order to achieve the above technical problem, an apparatus for encoding a flag used in the coding of a video frame consisting of a plurality of blocks, the flag bit string is collected by collecting the flag value allocated to each block according to the spatial relevance of a predetermined block Means for generating; Means for dividing the bit string into predetermined group sizes; Means for setting pattern bits indicating whether all bits included in the divided bit strings are zero; And means for entropy encoding the divided bit strings according to the set pattern bits.
상기한 기술적 과제를 달성하기 위하여, 복수의 계층으로 이루어지는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 장치로서, 현재 계층의 블록에 대한 제1 플래그 값과, 상기 블록과 대응되는 하위 계층의 블록에 대한 제2 플래그 값에 대하여 배타적 논리합 연산을 수행하는 수단; 상기 현재 계층의 블록의 공간적 관련성에 따라 상기 연산 결과 값을 모아서 플래그 비트열을 생성하는 수단; 상기 비트열을 소정의 그룹 크기로 분할하는 수단; 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 수단; 및 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 수단을 포함한다.In order to achieve the above technical problem, an apparatus for encoding a flag used in the coding of a video frame consisting of a plurality of layers, the first flag value for the block of the current layer and the lower layer block corresponding to the block; Means for performing an exclusive OR operation on the second flag value for; Means for gathering the operation result values according to the spatial relevance of the blocks of the current layer to generate a flag bit string; Means for dividing the bit string into predetermined group sizes; Means for setting pattern bits indicating whether all bits included in the divided bit strings are zero; And means for entropy encoding the divided bit strings according to the set pattern bits.
상기한 기술적 과제를 달성하기 위하여, 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 복호화하는 장치로서, 비디오 스트림으로부터 소정의 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 판독하는 수단; 상기 패턴 비트가 제1 비트 값을 가지는 경우, 그룹 크기에 해당하는 플래그 비트열을 0으로 설정하는 수단; 상기 패턴 비트가 제2 비트 값을 가지는 경우, 상기 비디오 스트림으로부터 상기 그룹 크기에 만큼의 블록들에 대한 부호화된 플래 그 비트열을 판독하는 수단; 및 상기 판독된 플래그 비트열을 엔트로피 복호화하는 수단을 포함한다.In order to achieve the above technical problem, an apparatus for decoding a flag used in coding a video frame composed of a plurality of blocks, the pattern bit indicating whether all bits included in a predetermined bit string are 0 from a video stream. Means for doing so; Means for setting a flag bit string corresponding to a group size to 0 when the pattern bit has a first bit value; Means for reading an encoded flag bit string for blocks as many as the group size from the video stream when the pattern bit has a second bit value; And means for entropy decoding the read flag bit string.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특성, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
스케일러블 비디오 코딩은 종래의 MPEG-4나 H.264에 비하여 신택스의 양이 상당히 증가하였는데, 각각의 신택스 자체는 1비트 또는 몇 비트 수준이지만 전체 비디오 스트림을 기준으로 한다면 신택스로 인한 오버헤드도 무시하기 어렵다. 본 발명은 비디오 코딩에 있어서 소정 블록(슬라이스, 매크로블록 또는 서브 블록)별로 존재하는 동일한 플래그들(신택스들)을 모아서 한꺼번에 부호화함으로써, 상기 플래그로 인한 오버헤드를 감소시키는 것에 주안점을 두고 있다.Scalable video coding has significantly increased the amount of syntax compared to conventional MPEG-4 or H.264, where each syntax itself is one bit or a few bits long, but neglects the overhead of syntax if it is based on the entire video stream. Difficult to do The present invention focuses on reducing the overhead due to the flags by collecting the same flags (syntaxes) existing for each block (slice, macroblock, or subblock) in video coding at once.
도 1 내지 도 3은 본 발명의 기본 개념을 설명하기 위한 도면이다.1 to 3 are diagrams for explaining the basic concept of the present invention.
비디오 코딩에서는 일반적으로 16×16 픽셀 크기의 매크로블록 단위로 프로세스가 진행된다. 도 1에서와 같이, 하나의 프레임 또는 슬라이스는 복수의 매크로 블록(MBn; n은 자연수)으로 분할된다. 각각의 매크로블록은 소정의 손실 부호화 및 무손실 부호화 과정을 거쳐서 비디오 스트림으로 되는데, 예를 들어 매크로블록들의 부호화 순서는 도 1에 도시하는 바와 같이 지그재그 스캔 순서로 될 수 있다.In video coding, the process is generally performed in units of macroblocks of 16 × 16 pixels. As shown in FIG. 1, one frame or slice is divided into a plurality of macro blocks (MB n ; n is a natural number). Each macroblock is a video stream through a predetermined lossy encoding and lossless encoding process. For example, the encoding order of the macroblocks may be in a zigzag scan order as shown in FIG.
이와 같이 부호화된 매크로블록들(MBn)은 선두에 헤더(매크로블록 헤더)가 부가된 후 모아짐으로써 도 2와 같은 하나의 비디오 스트림(20)을 구성할 수 있다. 상기 헤더들은 다양한 플래그들(A_flagn, B_flagn 등)을 포함한다. 그런데, 각 헤더들은 동일한 플래그를 포함하지만, 상기 플래그가 갖는 값은 서로 다를 수 있다. 그러나, 공간적으로 인접한 위치의 매크로블록들 간에는 서로 공간적 연관성 내지 유사성을 가진다. 따라서, 인접한 매크로블록 간에 동일한 플래그는 동일한 값을 가질 가능성이 크다. 예를 들어, 해당 매크로블록이 부호화되었는지 여부를 나타내는 cbp(coded block pattern) 플래그는 공간적 연관성이 크다. 이러한 cbp 플래그는, H.264 표준 및 SVC 표준에서, 인터 매크로블록의 경우 g_aucCbpInter라는 파라미터로, 인트라 매크로블록의 경우 g_aucCbpIntra라는 파라미터로 정의되어 있다.The macroblocks MB n encoded as described above are collected after a header (macroblock header) is added to the head to form one
이러한 점에 착안하여, 본 발명에서는 동일한 플래그들의 값들(비트열)을 모은 후에 부호화하는 것을 제안한다. 예를 들어, 도 3에서 나타내는 바와 같이, A_flag라는 플래그들이 갖는 값들(A_flag1, A_flag2,..., A_flagn)을 모은 후 부호화하고, B_flag라는 플래그들이 갖는 값들(B_flag1, B_flag2,..., B_flagn)을 모은 후 엔트로피 부호화(무손실 부호화)하자는 것이다. 이와 같이, 동일한 플래그의 값 들을 모은 후 부호화를 하게 되면, 상기 값들의 유사성으로 인하여 플래그 값들을 별도로 부호화하는 데 비하여 압축 효율이 높아진다는 것은 쉽게 예측될 수 있다.With this in mind, the present invention proposes encoding after collecting values (bit strings) of the same flags. For example, as shown in FIG. 3, the values A_flag 1 , A_flag 2 ,..., A_flag n are collected and encoded, and the values B_flag 1 , B_flag 2 , ..., B_flag n ), and then entropy coding (lossless coding). As such, when the values of the same flag are collected and encoded, it may be easily predicted that the compression efficiency is higher than that of the flag values separately encoded due to the similarity of the values.
이하에서는, 이와 같이 모아진 플래그 값들(이하 "플래그 비트열"이라고 함)을 구체적으로 어떤 알고리즘에 의하여 엔트로피 부호화할 것인가에 대하여 설명하기로 한다. 도 4는 본 발명의 일 실시예에 따른 플래그 부호화 장치(100)의 구성을 도시하는 블록도이다.Hereinafter, a description will be given of which algorithm entropy-encodes the collected flag values (hereinafter referred to as "flag bit string") in detail. 4 is a block diagram showing a configuration of a flag encoding apparatus 100 according to an embodiment of the present invention.
플래그 부호화 장치(100)는 그룹 크기 설정부(120), 플래그 조합부(110), 비트열 분할부(130), 패턴 비트 설정부(140), 플래그 코딩부(150), 및 기록부(160)를 포함하며, 버퍼(170)를 더 포함할 수 있다.The flag encoding apparatus 100 includes a group
플래그 조합부(120)는 각각의 매크로블록에 대한 특정 플래그의 값들을 모아서 도 3에서 도시한 예와 같이, 플래그 비트열을 생성한다. 상기 플래그는 일반적으로 1비트로 표현되는 플래그를 의미하지만, 2비트 이상으로 표현되는 플래그라도 무방하다.The
그룹 크기 설정부(110)는 플래그 비트열을 분할하기 위한 단위가 되는 그룹 크기(group size; gs)를 설정한다. 상기 그룹 크기는 비트수로 표시되는데 예를 들어, 4, 8, 또는 16이 될 수 있다. 상기 특정 플래그 값의 분포 중 0의 개수가 많을수록 상기 그룹 크기는 크게 설정되는 것이 바람직하다. 상기 그룹 크기는 임의의 개수의 매크로블록 단위로 설정할 수 있는데, 복수의 매크로블록으로 이루어지는 슬라이스 또는 프레임마다 설정할 수도 있다. 이 경우, 슬라이스 헤더나 프레임 헤더에 상기 gs 값을 기록하면 될 것이다.The group
비트열 분할부(130)는 그룹 크기 설정부(110)에서 설정된 그룹 크기(gs 값)에 따라서 플래그 조합부(110)로부터 입력되는 플래그 비트열을 분할한다. 상기 그룹 크기 단위로 분할된 비트열은 패턴 비트 설정부(140)로 입력된다.The bit
패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인 경우에는 엔트로피 부호화를 거치도록 소정의 비트(이하, 패턴 비트(pb)라고 함)를 1로 설정하고, 그렇지 않은 경우에는 엔트로피 부호화를 거치지 않도록 상기 패턴 비트를 0으로 설정한다.The pattern
플래그 코딩부(150)는 상기 패턴 비트가 0으로 설정된 경우, 즉 상기 분할된 비트열 중 0이 아닌 값이 존재하는 경우에는, 상기 분할된 비트열을 엔트로피 부호화(무손실 부호화)한다. 상기 엔트로피 부호화로는 가변 길이 부호화, 산술 부호화 등 당업계에 알려진 기법을 사용할 수 있다. 또한, 상기 분할된 비트열을 각각 엔트로피 부호화하는 것도 가능하지만, 0이 아닌 값을 포함하는 분할된 비트열들 전체를 다시 모아서 한꺼번에 엔트로피 부호화를 할 수도 있다.When the pattern bit is set to 0, that is, when there is a non-zero value among the divided bit strings, the
상기 패턴 비트가 0일 때의 의미와 1일 때의 의미는 서로 반대로 선택될 수 있음은 물론이다. 따라서 이하 본 명세서에서는, 1비트가 나타낼 수 있는 두 개의 값 중 하나를 제1 비트, 다른 하나를 제2 비트로 표현될 수도 있다.The meaning when the pattern bit is 0 and the meaning when 1 may be selected opposite to each other. Therefore, in the present specification, one of two values that can be represented by one bit may be represented by a first bit and the other by a second bit.
기록부(160)는 그룹 크기(gs)와 패턴 비트(pb)를 비디오 스트림에 기록한다. 상기 그룹 크기(gs)는 슬라이스 또는 프레임 단위로 기록될 수 있으며, 상기 패턴 비트(pb)는 상기 그룹 크기(gs) 만큼의 매크로블록 마다 기록될 수 있다. 예를 들어, 그룹 크기가 4인 경우에는 4개의 매크로블록 중 첫번째 매크로블록의 헤더에 상기 패턴 비트를 기록할 수 있다. 또한, 기록부(160)는 상기 pb가 0인 경우에는 플래그 코딩부(150)로부터 제공되는 엔트로피 코딩 결과도 아울러 기록한다. 상기 엔트로피 부호화 결과는 상기 pb와 마찬가지로 상기 첫번째 매크로블록의 헤더에 기록될 수 있다. 만약, 플래그 코딩부(150)에서 분할된 비트열들 전체를 모아서 한꺼번에 엔트로피 부호화한 경우라면 엔트로피 부호화 결과는 슬라이스 헤더 또는 프레임 헤더에 기록될 수도 있다.The
한편, 이상에서는 설정된 그룹 크기(gs)를 기록하여 전송하는 예를 설명하였지만, 상기 그룹 크기(gs)를 부호화 장치 및 복호화 장치에서 공통되는 정보를 이용하여 산출할 수 있다면 상기 그룹 크기(gs)를 전송할 필요는 없을 것이다.In the above description, an example of recording and transmitting the set group size gs has been described. However, if the group size gs can be calculated using information common to the encoding apparatus and the decoding apparatus, the group size gs may be calculated. You will not need to send it.
플래그 부호화 장치(100)의 다른 실시예로서, 그룹 크기 설정부(120)가 기 생성된 매크로블록들에 관한 플래그 비트열의 분포를 확인하여, 그룹 크기를 가변적으로 변경할 수 있도록 할 수 있다. 예를 들어, 그룹 크기 설정부(120)는 기 누적된 플래그 비트열 중 최근 소정 개수의 비트들을 선택하여, 이 중에서 0이 차지하는 비율과 임계치와의 관계에 따라서 그룹 크기를 설정할 수 있다.As another embodiment of the flag encoding apparatus 100, the group
보다 자세한 예로서, 그룹 크기 설정부(120)는 상기 선택된 비트들 중에서의 0의 비율이 1/3보다 작으면 상기 그룹 크기를 1로 설정하고, 상기 0의 비율이 4/5보다 크면 상기 그룹 크기를 8로 설정한다. 그 이외의 경우에는 상기 그룹 크기를 4로 설정한다.As a more detailed example, the group
이와 같이 기 누적된 비트들은 플래그 부호화 장치 뿐만 아니라 이에 대응되는 플래그 복호화 장치에서도 공통적으로 알 수 있는 정보이므로, 기록부(160)는 상기 설정된 그룹 크기를 비디오 스트림에 기록할 필요는 없다.Since the accumulated bits are information that can be commonly known not only in the flag encoding apparatus but also in the corresponding flag decoding apparatus, the
도 5는 본 발명의 일 실시예에 따른 플래그 복호화 장치(200)의 구성을 도시하는 블록도이다.5 is a block diagram showing the configuration of a flag decoding apparatus 200 according to an embodiment of the present invention.
플래그 복호화 장치(200)는 그룹 크기 설정부(210), 패턴 비트 판독부(220), 플래그 디코딩부(230), 출력 버퍼(240), 및 플래그 설정부(250)를 포함하여 구성될 수 있다.The flag decoding apparatus 200 may include a group size setting unit 210, a pattern bit reading unit 220, a
그룹 크기 설정부(210)는 비디오 스트림에 포함된 그룹 크기(gs) 정보를 판독하여 그룹 크기를 설정하거나, 출력 버퍼(240)에서 제공되는 기 복원된 플래그 값의 분포를 통하여 그룹 크기를 설정한다. 전자는 플래그 부호화 장치(100)에서 그룹 크기를 기록하여 전송한 경우이고, 후자는 플래그 부호화 장치(100)에서 비트 분포에 따라서 그룹 크기를 설정하고 전송하지 않은 경우이다. 후자의 경우, 그룹 크기 설정부(210)는 플래그 부호화 장치(100)의 그룹 크기 설정부(120)와 마찬가지의 방법으로 그룹 크기를 산출해낸다.The group size setting unit 210 sets a group size by reading group size (gs) information included in a video stream, or sets a group size through distribution of a reconstructed flag value provided from an
패턴 비트 판독부(220)는 비디오 스트림에 포함된 패턴 비트(pb)의 값을 판독하여 그 값이 1이면 플래그 설정부(250)에, 그 값이 0이면 플래그 디코딩부(230)에 통지(notify)한다.The pattern bit reading unit 220 reads the value of the pattern bit pb included in the video stream, and if the value is 1, notifies the
플래그 디코딩부(230)는 패턴 비트 판독부(220)로부터 상기 pb가 0으로 통지된 경우, 비디오 스트림으로부터 상기 설정된 그룹 크기 만큼의 블록들에 대한 부호화된 플래그 비트열(플래그 부호화 장치(100)에서 엔트로피 부호화된 결과)을 판독하고, 이를 엔트로피 복호화한다. 상기 엔트로피 복호화 과정은 플래그 코딩 부(150)에서 수행된 엔트로피 부호화 과정의 역으로서 수행된다.When the pb is notified by the pattern bit reading unit 220 as 0, the
플래그 설정부(250)는 패턴 비트 판독부(220)로부터 상기 pb가 1로 통지된 경우에는 상기 그룹 크기에 해당하는 해당 플래그들을 모두 0으로 설정한다.The
출력 버퍼(240)는 플래그 디코딩부(230)에서 엔트로피 복호화된 값 및 플래그 설정부(250)에서 설정된 값을 일시 저장한다. 상기 저장된 값들은 복원된 플래그로서 출력 버퍼(240)로부터 출력된다.The
도 6 내지 도 9는 본 발명의 실시예들에 따른 흐름도를 도시한 것이다. 이 중에서, 도 6은 본 발명의 일 실시예에 따른 플래그 부호화 방법을 나타낸 흐름도이다.6-9 illustrate flowcharts in accordance with embodiments of the present invention. 6 is a flowchart illustrating a flag encoding method according to an embodiment of the present invention.
먼저, 그룹 크기 설정부(120)는 플래그 비트열을 분할하기 위한 단위가 되는 그룹 크기(gs)를 설정한다(S11). 상기 그룹 크기는 예를 들어, 4, 8, 또는 16이 될 수 있다. 비트열 분할부(130)는 플래그 비트열을 상기 그룹 크기 단위로 분할한다(S12).First, the group
그러면, 패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인가를 판단하여(S13), 그러하다면 패턴 비트(pb)를 1로 설정하고(S16), 그러하지 아니하다면 상기 패턴 비트(pb)를 0으로 설정한다(S14).Then, the pattern
플래그 코딩부(150)는 상기 패턴 비트가 0으로 설정된 경우에 상기 분할된 비트열을 엔트로피 부호화한다(S15). 이 때, 플래그 코딩부(150)는 상기 분할된 비트열을 각각 엔트로피 부호화할 수도 있고, 0이 아닌 값을 포함하는 분할된 비트열들 전체를 모아서 한꺼번에 엔트로피 부호화할 수도 있다.The
마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(S17의 예) 종료하고, 그렇지 않으면 S12 단계로 진행한다.Finally, if the above steps have been performed for all macroblocks in the slice or frame (YES in S17), the process ends; otherwise, the process proceeds to step S12.
한편, 특정 플래그가 도 2와 같이 공간적 연관성만을 가지는 경우에는 도 6과 같은 플래그 부호화 알고리즘을 적용할 수 있다. 그런데, SVC와 같이 다 계층 기반의 비디오 코딩 스킴에 있어서는 특정 플래그가 공간적 연관성만이 아니라, 계층적 연관성을 가질 수도 있다. 예를 들어, 잔차 예측 플래그(residual_prediction_flag), 인트라 베이스 플래그(intra_base_flag), 모션 예측 플래그(motion_prediction_flag), 베이스 모드 플래그(base_mode_flag) 등은 계층적 연관성을 가질 수 있기 때문에, 현재 계층의 어떤 매크로블록이 갖는 플래그 값과 그에 대응되는 하위 계층의 매크로블록이 갖는 플래그 값은 같은 값을 가질 가능성이 높다.Meanwhile, when a specific flag has only spatial correlation as shown in FIG. 2, a flag encoding algorithm as shown in FIG. 6 may be applied. However, in a multi-layer video coding scheme such as SVC, a specific flag may have hierarchical as well as spatial correlation. For example, the residual prediction flag (residual_prediction_flag), the intra base flag (intra_base_flag), the motion prediction flag (motion_prediction_flag), and the base mode flag (base_mode_flag) may have hierarchical associations, and thus, any macroblock of the current layer may be included. The flag value and the flag value of the macroblock of the lower layer corresponding thereto are likely to have the same value.
상기 잔차 예측 플래그는 잔차 예측을 사용하는지 여부를 표시하는 플래그이다. 잔차 예측이란, 어떤 계층의 잔차 신호(residual signal)를 대응되는 하위 계층의 잔차 신호를 이용하여 예측함으로써, 잔차 신호들의 계층간 중복성을 감소시키기 위한 기법이다. 상기 하위 계층은 어떤 계층을 효율적으로 부호화하기 위하여 참조되는 다른 계층을 임의의 계층으로서, 제1 계층에 한정되지는 않으며 반드시 하위의 계층을 의미하는 것도 아니다.The residual prediction flag is a flag indicating whether to use the residual prediction. Residual prediction is a technique for reducing inter-layer redundancy of residual signals by predicting a residual signal of a certain layer using a residual signal of a corresponding lower layer. The lower layer is another layer which is referred to for efficiently encoding a certain layer as an arbitrary layer, and is not limited to the first layer and does not necessarily mean a lower layer.
이러한 잔차 예측을 사용하는지 여부는 잔차 예측 플래그에 의하여 표시되어 비디오 디코더 단으로 전달된다. 그 플래그가 1이면 잔차 예측을 사용하는 것을 표시하고, 0이면 사용하지 않는 것을 표시한다. 일반적으로, 어떤 플래그가 1이면 해 당 기능을 사용한다는 것을, 0이면 해당 기능을 사용하지 않는다는 것을 의미한다.Whether to use such residual prediction is indicated by the residual prediction flag and passed to the video decoder end. If the flag is 1, the residual prediction is used. If the flag is 0, the flag is not used. In general, a flag of 1 indicates that the feature is enabled, and 0 means that the feature is disabled.
인트라 베이스 플래그는 인트라 베이스 예측을 사용하는지 여부를 표시하는 플래그이다. 현재 스케일러블 비디오 코딩 초안에서는 도 7과 같이 기존의 H.264에서 사용되던 인터 예측(①) 및 인트라 예측(②)뿐만 아니라, 하위 계층의 이미지를 이용하여 현재 계층에서의 프레임을 예측함으로써 부호화할 데이터를 감소시키는 인트라 베이스 예측(③)도 아울러 지원한다. 상기 초안에서는 인트라 베이스 예측은 인트라 예측의 일종으로서 취급하며, 인트라 예측에 있어서 상기 인트라 베이스 플래그가 0이면 종래의 방향적(directional) 인트라 예측을, 상기 플래그가 1이면 인트라 베이스 예측을 표시한다.The intra base flag is a flag indicating whether intra base prediction is used. In the current scalable video coding draft, as well as inter prediction (①) and intra prediction (②) used in the existing H.264, as shown in FIG. 7, the image of the lower layer can be encoded by predicting a frame in the current layer. It also supports intra-base prediction (③), which reduces data. In the draft, intra base prediction is treated as a kind of intra prediction. In the intra prediction, if the intra base flag is 0, conventional directional intra prediction is indicated, and if the flag is 1, intra base prediction is indicated.
모션 예측 플래그는 현재 계층의 모션 벡터를 예측하여 모션 벡터 차분(motion vector difference; MVD)을 구함에 있어서, 동일 계층의 다른 모션 벡터를 이용하는가 하위 계층의 모션 벡터를 이용하는가 여부를 표시하는 플래그이다. 상기 플래그가 1인 경우 하위 계층의 모션 벡터를 이용함을 의미하고, 0인 경우 동일 계층의 다른 모션 벡터를 이용함을 의미한다.The motion prediction flag is a flag indicating whether to use a motion vector of the same layer or a motion vector of a lower layer in predicting a motion vector of the current layer to obtain a motion vector difference (MVD). . If the flag is 1, it means that the motion vector of the lower layer is used, and if it is 0, it means that another motion vector of the same layer is used.
베이스 모드 플래그는 현재 계층의 모션 정보를 표시함에 있어서, 하위 계층의 모션 정보를 이용하는가 여부를 나타내는 플래그이다. 만약, 베이스 모드 플래그가 1이면, 현재 계층의 모션 정보로는 하위 계층의 모션 정보를 그대로 이용하거나, 하위 계층의 모션 정보에서 다소 정제(refine)된 값을 이용하게 된다. 베이스 모드 플래그가 0이면 현재 계층의 모션 정보는 하위 계층의 모션 정보와 무관하게 별도로 검색되어 기록됨을 나타낸다. 상기 모션 정보는 매크로블록 종 류(macroblock type; mb_type), 인터 예측시 픽쳐의 참조 방향(순방향, 역방향, 양방향 등), 및 모션 벡터를 포함한다.The base mode flag is a flag indicating whether to use motion information of a lower layer in displaying motion information of a current layer. If the base mode flag is 1, the motion information of the lower layer is used as the motion information of the current layer as it is, or a value refined somewhat from the motion information of the lower layer is used. If the base mode flag is 0, the motion information of the current layer is separately searched and recorded regardless of the motion information of the lower layer. The motion information includes a macroblock type (mb_type), a reference direction (forward, reverse, bidirectional, etc.) of a picture in inter prediction, and a motion vector.
아무튼 이와 같이 계층간 연관성을 갖는 플래그들은 동일한 값을 가질 확률이 높으므로, 현재 계층의 매크로블록에 대한 플래그를 코딩할 때 이러한 점을 고려한다면 보다 코딩 효율을 높일 수가 있다. 이에 본 발명의 다른 실시예에서는, 현재 계층 매크로블록에 대한 플래그 값을 직접 코딩하는 것이 아니라, 먼저 계층간 플래그 값끼리 배타적 논리합(XOR)을 수행한 후 그 결과 값을 코딩하는 것을 제안한다. In any case, the flags having inter-layer correlations have a high probability of having the same value, and thus, when coding the flags for the macroblocks of the current layer, the coding efficiency can be improved. Accordingly, in another embodiment of the present invention, instead of directly coding a flag value for a current layer macroblock, it is proposed to first perform an exclusive OR between the inter-layer flag values and then code the result value.
도 8은 본 발명의 다른 실시예에 따른 플래그 부호화 장치(190)의 구성을 도시한 도면이다. 도 8을 도 4와 비교하면 플래그 판독부(101) 및 연산부(105)가 더 포함되어 있을 뿐이다.8 is a diagram illustrating a configuration of a
플래그 판독부(101)는 현재 계층의 매크로블록에 대한 플래그(FC)와 상기 매크로블록에 대응되는 하위 계층의 매크로블록에 대한 플래그(FB)를 판독한다. 상기 플래그의 판독은 예를 들어, 매크로블록 헤더를 파싱(parsing)함으로써, 또는 메모리 상에 로딩된 변수 값을 읽음으로써 알 수 있다.The
연산부(105)는 상기 FC와 FB에 대하여 배타적 논리합 연산을 수행한다. 그 결과 계층적 연관성으로 인하여 0이 출력될 가능성이 높아지며, 그 경우 엔트로피 부호화의 효율은 상승될 수 있다. 연산부(105)에서의 연산 결과가 플래그 조합부(110)에 입력된 이 후에는 도 4와 마찬가지이므로 그 이후의 설명은 생략하기로 한다.The calculating
도 9는 도 8의 실시예에 따른 흐름도이다.9 is a flowchart according to the embodiment of FIG. 8.
먼저, 플래그 판독부(101)는 FC 및 FB를 판독하고(S19), 연산부(105)는 상기 판독된 FC 및 FB를 입력으로 하여 배타적 논리합 연산을 수행한다(S20).First, the
그 다음, 그룹 크기 설정부(120)는 그룹 크기(gs)를 설정하고(S21), 비트열 분할부(130)는 상기 연산 결과(RC)로 이루어지는 비트열을 상기 그룹 크기 단위로 분할한다(S22).Next, the group
패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인가를 판단하여(S23), 그러하다면 패턴 비트(pb)를 1로 설정하고(S26), 그러하지 아니하다면 상기 패턴 비트(pb)를 0으로 설정한다(S24).The pattern
플래그 코딩부(150)는 상기 패턴 비트가 0으로 설정된 경우에 상기 분할된 비트열을 엔트로피 부호화한다(S25). 마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(S27의 예) 종료하고, 그렇지 않으면 S22 단계로 진행한다.The
한편, 도 10은 본 발명의 일 실시예에 따른 플래그 복호화 방법을 나타낸 흐름도이다.10 is a flowchart illustrating a flag decoding method according to an embodiment of the present invention.
먼저, 그룹 크기 설정부(210)는 그룹 크기(gs)를 설정한다(S31). 이 때, 그룹 크기 설정부(210)는 비디오 스트림에 포함된 그룹 크기(gs) 정보를 판독하여 그룹 크기를 설정하거나, 출력 버퍼(240)에서 제공되는 기 복원된 플래그 값의 분포 를 통하여 그룹 크기를 설정할 수 있다. 후자의 경우, 그룹 크기 설정부(210)는 플래그 부호화 장치(100)의 그룹 크기 설정부(120)와 마찬가지의 방법으로 그룹 크기를 산출해낸다.First, the group size setting unit 210 sets a group size gs (S31). At this time, the group size setting unit 210 reads the group size (gs) information included in the video stream to set the group size, or the group size through distribution of pre-restored flag values provided from the
패턴 비트 판독부(220)는 비디오 스트림에 포함된 패턴 비트(pb)의 값을 판독하여(S32), 그 값이 0인지 1인지를 판단한다(S33).The pattern bit reading unit 220 reads the value of the pattern bit pb included in the video stream (S32), and determines whether the value is 0 or 1 (S33).
상기 판단 결과 그 값이 1이면(S33의 예), 플래그 설정부(250)는 상기 그룹 크기에 해당하는 플래그들을 모두 0으로 설정한다(S35).If the determination result is 1 (YES in S33), the
상기 판단 결과 그 값이 0이면(S33의 아니오), 플래그 디코딩부(230)는 비디오 스트림으로부터 상기 설정된 그룹 크기 만큼의 블록들에 대한 부호화된 플래그 비트열(플래그 부호화 장치(100)에서 엔트로피 부호화된 결과)을 판독하고, 이를 엔트로피 복호화한다(S34). 상기 엔트로피 복호화 과정은 플래그 코딩부(150)에서 수행된 엔트로피 부호화 과정의 역으로서 수행된다.As a result of the determination, if the value is 0 (NO in S33), the
마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(S36 예) 종료하고, 그렇지 않으면 S32 단계로 진행한다.Finally, if the above steps have been performed for all macroblocks in the slice or frame (Yes S36), the process ends; otherwise, the process proceeds to step S32.
한편, 도 8과 같이 계층간 연관성까지 고려하여 플래그를 부호화한 경우에는, 복호화를 위해서는 도 5에 다소간의 구성요소가 추가되어야 한다. 도 11은 본 발명의 다른 실시예에 따른 플래그 복호화 장치(290)의 구성을 도시하는 도면이다.On the other hand, when the flag is encoded in consideration of the inter-layer correlation as shown in FIG. 8, some components must be added to FIG. 5 for decoding. 11 is a diagram illustrating a configuration of a
도 11을 도 5와 비교하면 연산부(260)가 더 포함되어 있을 뿐이다. 연산부(260) 이전의 동작은 도 5와 마찬가지이므로 생략한다. 출력 버퍼(240)에서 출력 되는 값은 FC와 FB에 대한 배타적 논리합의 연산 결과인 RC이다. 연산부(260)는 FB와 RC에 대하여 배타적 논리합을 수행함으로써 현재 계층의 매크로블록에 대한 특정 플래그인 FC를 복원한다.Comparing FIG. 11 with FIG. 5, the
도 12는 도 11의 실시예에 따른 흐름도이다. 12 is a flowchart according to the embodiment of FIG. 11.
먼저, 그룹 크기 설정부(210)는 그룹 크기(gs)를 설정한다(S41). 이 때, 그룹 크기 설정부(210)는 비디오 스트림에 포함된 그룹 크기(gs) 정보를 판독하여 그룹 크기를 설정하거나, 출력 버퍼(240)에서 제공되는 기 복원된 플래그 값의 분포를 통하여 그룹 크기를 설정할 수 있다.First, the group size setting unit 210 sets a group size gs (S41). At this time, the group size setting unit 210 sets the group size by reading the group size (gs) information included in the video stream, or sets the group size through a distribution of previously restored flag values provided from the
패턴 비트 판독부(220)는 비디오 스트림에 포함된 패턴 비트(pb)의 값을 판독하여(S42), 그 값이 0인지 1인지를 판단한다(S43).The pattern bit reader 220 reads the value of the pattern bit pb included in the video stream (S42), and determines whether the value is 0 or 1 (S43).
상기 판단 결과 그 값이 1이면(S43의 예), 플래그 설정부(250)는 상기 그룹 크기에 해당하는 RC를 모두 0으로 설정한다(S46).As a result of the determination, if the value is 1 (YES in S43), the
상기 판단 결과 그 값이 0이면(S43의 아니오), 플래그 디코딩부(230)는 비디오 스트림에 포함된 부호화된 데이터, 즉 RC를 상기 그룹 크기만큼 판독하고, 이를 엔트로피 복호화한다(S44). As a result of the determination, if the value is 0 (NO in S43), the
연산부(260)는 FC에 대응되는 하위 계층의 플래그 값 FB와, 상기 S46 단계에서 0으로 설정된 RC 또는 상기 S44 단계에서 엔트로피 복호화된 RC에 대하여 배타적 논리합을 수행한다(S45).
마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(S46 예) 종료하고, 그렇지 않으면 S42 단계로 진행한다.Finally, if the above steps have been performed for all macroblocks in the slice or frame (Yes 46), the process ends, otherwise proceeds to step S42.
도 13은 도 4 또는 도 8의 플래그 부호화 장치(100, 190)가 적용될 수 있는 다 계층 기반의 비디오 인코더(500)의 구성을 도시하는 블록도이다.FIG. 13 is a block diagram illustrating a configuration of a multi-layer based
오리지널 비디오 시퀀스는 현재 계층 인코더(400)로 입력되고, 아울러 다운샘플링부(305)에 의하여 다운샘플링(계층간에 해상도의 변화가 있는 경우에 한함)된 후 하위 계층 인코더(300)로 입력된다.The original video sequence is input to the current layer encoder 400, downsampled by the downsampling unit 305 (only when there is a change in resolution between layers), and then input to the lower layer encoder 300.
예측부(410)는 현재 매크로블록에서 소정의 방법으로 예측된 이미지를 차분함으로써 잔차 신호를 구한다. 상기 예측 방법으로는 방향적 인트라 예측, 인터 예측, 인트라 베이스 예측, 및 잔차 예측 등이 있다.The
변환부(420)는 상기 구한 잔차 신호를 DCT, 웨이브렛 변환 등 공간적 변환 기법을 이용하여 변환하여 변환 계수를 생성한다.The transform unit 420 converts the obtained residual signal using a spatial transform technique such as DCT or wavelet transform to generate transform coefficients.
양자화부(430)는 상기 변환 계수를 소정의 양자화 스텝으로 양자화하여(양자화 스텝이 클수록 데이터의 손실 내지 압축률이 높다) 양자화 계수를 생성한다.The quantization unit 430 quantizes the transform coefficients in a predetermined quantization step (the larger the quantization step, the higher the loss or compression ratio of data) and generates quantization coefficients.
엔트로피 부호화부(440)는 상기 양자화 계수를 무손실 부호화하여 현재 계층 비디오 스트림을 출력한다.The entropy encoder 440 losslessly encodes the quantization coefficients and outputs a current layer video stream.
플래그 설정부(450)는 다양한 단계에서 얻어지는 정보들로부터 플래그를 설정한다. 예를 들어, 잔차 예측 플래그(residual_prediction_flag), 인트라 베이스 플래그(intra_base_flag) 등은 예측부(410)에서 얻어지는 정보를 통하여 설정된다. 이와 같이 설정된 현재 계층의 플래그들(FC)은 플래그 부호화 장치(190)로 입력된다.The flag setting unit 450 sets a flag from information obtained in various steps. For example, the residual prediction flag (residual_prediction_flag), the intra base flag (intra_base_flag), and the like are set through the information obtained by the
현재 계층 인코더(400)에서와 마찬가지로, 하위 계층 인코더(300)도 동일한 기능의 예측부(310), 변환부(320), 양자화부(330), 엔트로피 부호화부(340), 및 플래그 설정부(350)를 포함한다. 엔트로피 부호화부(340)는 하위 계층 비디오 스트림을 Mux(multiplexer; 360)로 출력하며, 플래그 설정부(350)는 하위 계층의 플래그들(FB)을 플래그 부호화 장치(100)에 제공한다.As in the current layer encoder 400, the lower layer encoder 300 also has the same function as the
Mux(360)는 현재 계층 비디오 스트림과 하위 계층 비디오 스트림을 결합하여 비디오 스트림(VS)을 생성하여, 플래그 부호화 장치(100)에 제공한다.The
플래그 부호화 장치(100)는 상기 제공된 FB, FC 간의 연관성을 이용하여 FC를 부호화하고, 상기 부호화된 FC 및 상기 제공된 FB를 상기 제공된 비디오 스트림에 삽입함으로써, 최종 비디오 스트림(최종 BS)를 출력한다.Flag encoding apparatus 100 encodes the F C using the relationship between the supplied F B, F C, and the encoded F C and by inserting the video stream provided above the provided F B, the final video stream (final BS )
물론, 플래그 부호화 장치(190)는 플래그 부호화 장치(100)로 대체될 수 있으며, 이 경우에는 계층 간의 연관성은 사용되지 않으므로, FC는 FB와 상관없이 공간적 연관성만을 이용하여 엔트로피 부호화된다.Of course, the
도 14는 도 5 또는 도 11의 플래그 복호화 장치(200, 290)가 적용될 수 있는 다 계층 기반의 비디오 디코더(800)의 구성을 도시하는 블록도이다.FIG. 14 is a block diagram illustrating a configuration of a multi-layer based
입력되는 최종 비디오 스트림(VS)은 플래그 복호화 장치(200) 및 Demux(demultiplexer; 650)에 입력된다. Demux(650)는 상기 최종 비디오 스트림을 현재 계층 비디오 스트림 및 하위 계층 비디오 스트림으로 분리하여 현재 계층 인코더(700) 및 하위 계층 디코더(600)에 각각 제공한다.The input final video stream VS is input to the flag decoding apparatus 200 and the demux (demultiplexer) 650.
엔트로피 복호화부(710)는 엔트로피 부호화부(440)과 대응되는 방식으로 무손실 복호화를 수행하여 양자화 계수를 복원한다. The entropy decoder 710 restores quantization coefficients by performing lossless decoding in a manner corresponding to the entropy encoder 440.
역양자화부(720)는 상기 복원된 양자화 계수를 양자화부(430)에서 사용된 양자화 스텝으로 역 양자화한다.The inverse quantization unit 720 inversely quantizes the reconstructed quantization coefficient to the quantization step used in the quantization unit 430.
역변환부(730)는 상기 역 양자화된 결과를 역 DCT 변환, 역 웨이브렛 변환 등의 역공간적 변환 기법을 사용하여 역변환한다.The
역예측부(740)는 예측부(410)에서 구한 예측 이미지를 동일한 방식으로 구하고, 상기 구한 예측 이미지를 상기 역변환된 결과와 가산함으로써 비디오 시퀀스를 복원한다. 이 때, 역예측부(740)는 경우(인트라 베이스 예측, 잔차 예측 등의 경우)에 따라서는, 하위 계층 디코더(600)에서 디코딩된 결과를 이용하기도 한다.The
현재 계층 디코더(700)에서와 마찬가지로, 하위 계층 디코더(600)도 동일한 기능의 엔트로피 복호화부(610), 역양자화부(620), 역변환부(630), 및 역예측부(640)를 포함한다.As in the current layer decoder 700, the lower layer decoder 600 includes an
한편, 플래그 복호화 장치(290)는 상기 최종 비디오 스트림으로부터 하위 계층의 플래그들(FB)과, 현재 계층의 플래그들(FC)의 부호화된 값을 추출하고, 상기 FB와 상기 부호화된 값으로부터 현재 계층의 플래그들(FC)을 복원한다. Meanwhile, the
상기 추출된 하위 계층의 플래그들(FB)은 하위 계층 디코더(600)의 구성 요소들(610, 620, 630, 640)에서 해당 동작을 수행하는 데에 이용될 수 있고, 상기 복원된 현재 계층의 플래그들(FC)은 또는 현재 계층 디코더(700)의 구성요소들(710, 720, 730, 740)에서 해당 동작을 수행하는 데에 이용될 수 있다.The extracted flags of the lower layer F B may be used to perform a corresponding operation in the
물론, 플래그 부호화 장치(290)는 플래그 부호화 장치(200)로 대체될 수 있으며, 이 경우에는 계층 간의 연관성은 사용되지 않으므로, FC는 FB와 상관없이 공간적 연관성만을 이용하여 엔트로피 복호화된다.Of course, the
지금까지 도 4, 도 5, 도 8, 도 11, 도 13 및 도 14의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.Until now, each component of FIGS. 4, 5, 8, 11, 13, and 14 is a software (such as a task, a class, a subroutine, a process, an object, a thread of execution, a program) performed in a predetermined area on a memory. software, or a hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), or a combination of the above software and hardware. The components may be included in a computer readable storage medium or a part of the components may be distributed and distributed among a plurality of computers.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특성을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential characteristics thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
본 발명에 따르면, 다 계층 기반의 스케일러블 비디오 코덱에서 사용되는 다양한 플래그들의 부호화 효율을 향상시킬 수 있다.According to the present invention, it is possible to improve encoding efficiency of various flags used in a multi-layer scalable video codec.
Claims (23)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/599,484 US7840083B2 (en) | 2006-01-12 | 2006-11-15 | Method of encoding flag, method of decoding flag, and apparatus thereof |
JP2008550212A JP2009523349A (en) | 2006-01-12 | 2006-11-16 | Flag encoding method, flag decoding method, and apparatus using the method |
PCT/KR2006/004826 WO2007081085A1 (en) | 2006-01-12 | 2006-11-16 | Method of encoding flag, method of decoding flag, and apparatus thereof |
EP06843835A EP1972140A1 (en) | 2006-01-12 | 2006-11-16 | Method of encoding flag, method of decoding flag, and apparatus thereof |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75821806P | 2006-01-12 | 2006-01-12 | |
US60/758,218 | 2006-01-12 | ||
US75906106P | 2006-01-17 | 2006-01-17 | |
US60/759,061 | 2006-01-17 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070096854A Division KR101041973B1 (en) | 2006-01-12 | 2007-09-21 | Flag encoding method, flag decoding method, and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070075227A true KR20070075227A (en) | 2007-07-18 |
KR100791295B1 KR100791295B1 (en) | 2008-01-04 |
Family
ID=38500408
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060035461A KR100791295B1 (en) | 2006-01-12 | 2006-04-19 | Flag encoding method, flag decoding method, and apparatus thereof |
KR1020070096854A KR101041973B1 (en) | 2006-01-12 | 2007-09-21 | Flag encoding method, flag decoding method, and apparatus thereof |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070096854A KR101041973B1 (en) | 2006-01-12 | 2007-09-21 | Flag encoding method, flag decoding method, and apparatus thereof |
Country Status (5)
Country | Link |
---|---|
US (1) | US7840083B2 (en) |
EP (1) | EP1972140A1 (en) |
JP (1) | JP2009523349A (en) |
KR (2) | KR100791295B1 (en) |
WO (1) | WO2007081085A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101461495B1 (en) * | 2010-10-04 | 2014-11-17 | 한국전자통신연구원 | Methods of coding block information using quadtree and appararuses for using the same |
KR101499919B1 (en) * | 2010-11-23 | 2015-03-10 | 한국전자통신연구원 | Apparatus for decoding residual data based on bit plane and method thereof |
KR20160007751A (en) * | 2014-06-26 | 2016-01-21 | 엘지디스플레이 주식회사 | Data processing apparatus for organic light emitting diode display |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100791295B1 (en) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | Flag encoding method, flag decoding method, and apparatus thereof |
BRPI0818444A2 (en) * | 2007-10-12 | 2016-10-11 | Qualcomm Inc | adaptive encoding of video block header information |
US8938009B2 (en) * | 2007-10-12 | 2015-01-20 | Qualcomm Incorporated | Layered encoded bitstream structure |
US8553785B2 (en) * | 2008-12-31 | 2013-10-08 | Stmicroelectronics, Inc. | Apparatus and method for transmitting and recovering encoded data streams across physical medium attachments |
CN103238321B (en) * | 2010-09-30 | 2016-11-02 | 三星电子株式会社 | For the symbol of hierarchy being carried out video coding-decoding method and the device thereof of encoding and decoding |
US9906786B2 (en) * | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
CN102883164B (en) * | 2012-10-15 | 2016-03-09 | 浙江大学 | A kind of decoding method of enhancement layer block unit, corresponding device |
US9247256B2 (en) | 2012-12-19 | 2016-01-26 | Intel Corporation | Prediction method using skip check module |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3247836B2 (en) * | 1996-05-16 | 2002-01-21 | シャープ株式会社 | Image encoding device and image decoding device |
JP3208101B2 (en) * | 1996-11-07 | 2001-09-10 | 松下電器産業株式会社 | Image encoding method, image encoding device, and recording medium recording image encoding program |
US6173013B1 (en) | 1996-11-08 | 2001-01-09 | Sony Corporation | Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal |
US6614845B1 (en) | 1996-12-24 | 2003-09-02 | Verizon Laboratories Inc. | Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems |
JPH10320913A (en) * | 1997-05-23 | 1998-12-04 | Sony Corp | Apparatuses and method for recording data, for reproducing data, for recording reproducing data, and transmission medium |
KR100281464B1 (en) * | 1998-03-14 | 2001-02-01 | 전주범 | Sub-data encoding apparatus in object based encoding system |
US6563953B2 (en) | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
JP2001217722A (en) * | 2000-02-02 | 2001-08-10 | Canon Inc | Device and method for encoding information, and computer readable storage medium |
JP2002369208A (en) * | 2001-06-12 | 2002-12-20 | Mitsubishi Electric Corp | Equipment and method of encoding image signal |
JP2003125408A (en) * | 2001-10-15 | 2003-04-25 | Nippon Telegr & Teleph Corp <Ntt> | Image coder, image decoder, its method, image coding program, and image decoding program |
KR100528324B1 (en) * | 2002-08-30 | 2005-11-15 | 삼성전자주식회사 | Apparatus and method for coding and decoding image using overlapped rectangular slices |
JP3489581B2 (en) | 2002-03-28 | 2004-01-19 | ソニー株式会社 | Image encoding apparatus and encoding method |
JP3944225B2 (en) * | 2002-04-26 | 2007-07-11 | 株式会社エヌ・ティ・ティ・ドコモ | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program |
JP2003324731A (en) * | 2002-04-26 | 2003-11-14 | Sony Corp | Encoder, decoder, image processing apparatus, method and program for them |
KR100543700B1 (en) * | 2003-01-30 | 2006-01-20 | 삼성전자주식회사 | A method and an apparatus for redundant image encoding and decoding |
US7369709B2 (en) * | 2003-09-07 | 2008-05-06 | Microsoft Corporation | Conditional lapped transform |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
KR100791295B1 (en) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | Flag encoding method, flag decoding method, and apparatus thereof |
KR100809298B1 (en) * | 2006-06-22 | 2008-03-04 | 삼성전자주식회사 | Flag encoding method, flag decoding method, and apparatus thereof |
KR101356733B1 (en) * | 2007-03-07 | 2014-02-05 | 삼성전자주식회사 | Method and apparatus for Context Adaptive Binary Arithmetic Coding and decoding |
-
2006
- 2006-04-19 KR KR1020060035461A patent/KR100791295B1/en not_active IP Right Cessation
- 2006-11-15 US US11/599,484 patent/US7840083B2/en not_active Expired - Fee Related
- 2006-11-16 JP JP2008550212A patent/JP2009523349A/en active Pending
- 2006-11-16 EP EP06843835A patent/EP1972140A1/en not_active Withdrawn
- 2006-11-16 WO PCT/KR2006/004826 patent/WO2007081085A1/en active Application Filing
-
2007
- 2007-09-21 KR KR1020070096854A patent/KR101041973B1/en active IP Right Grant
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101461495B1 (en) * | 2010-10-04 | 2014-11-17 | 한국전자통신연구원 | Methods of coding block information using quadtree and appararuses for using the same |
US9544595B2 (en) | 2010-10-04 | 2017-01-10 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US9860546B2 (en) | 2010-10-04 | 2018-01-02 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US10110912B2 (en) | 2010-10-04 | 2018-10-23 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US10560709B2 (en) | 2010-10-04 | 2020-02-11 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US10567782B2 (en) | 2010-10-04 | 2020-02-18 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US10674169B2 (en) | 2010-10-04 | 2020-06-02 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US11223839B2 (en) | 2010-10-04 | 2022-01-11 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
US11706430B2 (en) | 2010-10-04 | 2023-07-18 | Electronics And Telecommunications Research Institute | Method for encoding/decoding block information using quad tree, and device for using same |
KR101499919B1 (en) * | 2010-11-23 | 2015-03-10 | 한국전자통신연구원 | Apparatus for decoding residual data based on bit plane and method thereof |
KR20160007751A (en) * | 2014-06-26 | 2016-01-21 | 엘지디스플레이 주식회사 | Data processing apparatus for organic light emitting diode display |
Also Published As
Publication number | Publication date |
---|---|
JP2009523349A (en) | 2009-06-18 |
EP1972140A1 (en) | 2008-09-24 |
KR20070112087A (en) | 2007-11-22 |
US7840083B2 (en) | 2010-11-23 |
KR101041973B1 (en) | 2011-06-16 |
WO2007081085A1 (en) | 2007-07-19 |
KR100791295B1 (en) | 2008-01-04 |
US20070160302A1 (en) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101041973B1 (en) | Flag encoding method, flag decoding method, and apparatus thereof | |
CN115623203B (en) | Method for video coding and related device | |
JP4589290B2 (en) | Method for encoding a flag of a certain layer using relevance between layers, method for decoding the encoded flag, and apparatus | |
JP4991699B2 (en) | Scalable encoding and decoding methods for video signals | |
KR100809298B1 (en) | Flag encoding method, flag decoding method, and apparatus thereof | |
KR100772868B1 (en) | Scalable video coding based on multiple layers and apparatus thereof | |
CN113424541B (en) | Video encoding and decoding method and device | |
JP2022520944A (en) | Improved residual coding for conversion skip mode and block difference pulse code modulation | |
CN109996079B (en) | Video decoding method and device | |
KR100736096B1 (en) | Method and apparatus for encoding and decoding video signal by group | |
KR20080008923A (en) | Method and apparatus for entropy encoding/decoding | |
KR20190020847A (en) | Method and device for lossy compress-encoding data and corresponding method and device for reconstructing data | |
KR20070077059A (en) | Method and apparatus for entropy encoding/decoding | |
JP7221390B2 (en) | Video decoding and encoding method, apparatus and program | |
KR100714706B1 (en) | Method and apparatus for enhancing performance of entropy coding, video coding method and apparatus using the method | |
CN110944173A (en) | Video decoding method, video decoding device, electronic equipment and storage medium | |
KR100772870B1 (en) | Method and apparatus for encoding and decoding video signal using coefficient's property which composes FGS layer's block | |
CN112514385A (en) | Method and apparatus for video encoding | |
CN110557632B (en) | Video decoding method, video decoder, and computer-readable medium | |
CN113796082A (en) | Video coding and decoding method and device | |
KR100763192B1 (en) | Method and apparatus for entropy encoding and entropy decoding FGS layer's video data | |
CN116508319A (en) | Block-by-block entropy coding method in neural image compression | |
CN118828013A (en) | Video encoding method, video encoder, medium, and method of processing video bitstream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121129 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131128 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141127 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |