KR20070075227A - Flag encoding method, flag decoding method, and apparatus thereof - Google Patents

Flag encoding method, flag decoding method, and apparatus thereof Download PDF

Info

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
Application number
KR1020060035461A
Other languages
Korean (ko)
Other versions
KR100791295B1 (en
Inventor
한우진
이배근
이태미
이교혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US11/599,484 priority Critical patent/US7840083B2/en
Priority to JP2008550212A priority patent/JP2009523349A/en
Priority to PCT/KR2006/004826 priority patent/WO2007081085A1/en
Priority to EP06843835A priority patent/EP1972140A1/en
Publication of KR20070075227A publication Critical patent/KR20070075227A/en
Application granted granted Critical
Publication of KR100791295B1 publication Critical patent/KR100791295B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy 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

A flag encoding method and apparatus, and a flag decoding method and apparatus are provided to efficiently encode various flags used in a video codec in consideration of spatial correlation. A flag encoding method includes a step of collecting flag values allocated to respective blocks according to spatial correlation of the blocks to generate a flag bit stream(20), a step of splitting the bit stream into groups each having a predetermined size, a step of setting a pattern bit which represents whether bits included in the split bit stream are all zero, and a step of entropy-encoding the split bit stream according to the set pattern bit.

Description

플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을 이용한 장치{Flag encoding method, flag decoding method, and apparatus thereof}Flag encoding method, flag decoding method, and apparatus using the method

도 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: downsampling unit 310, 410: prediction unit

320, 420 : 변환부 330, 430 : 양자화부320, 420: conversion unit 330, 430: quantization unit

340, 440 : 엔트로피 부호화부 350, 450 : 플래그 설정부340 and 440: entropy encoding unit 350 and 450: flag setting unit

360 : Mux 400 : 현재 계층 인코더360: Mux 400: Current Layer Encoder

500 : 비디오 인코더 600: 하위 계층 디코더500: Video Encoder 600: Lower Layer Decoder

610, 710 : 엔트로피 복호화부 620, 720 : 역양자화부610, 710: entropy decoding unit 620, 720: inverse quantization unit

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.

Figure 112006027283181-PAT00001
Figure 112006027283181-PAT00001

상기 표 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 video stream 20 as shown in FIG. 2. The headers contain various flags (A_flag n , B_flag n, etc.). However, although each header includes the same flag, the value of the flag may be different. However, macroblocks of spatially adjacent positions have spatial correlations or similarities with each other. Thus, the same flag between adjacent macroblocks is likely to have the same value. For example, a coded block pattern (cbp) flag indicating whether a corresponding macroblock is encoded has a large spatial correlation. Such a cbp flag is defined in the H.264 standard and the SVC standard by a parameter called g_aucCbpInter for an inter macroblock and a parameter called g_aucCbpIntra for an intra macroblock.

이러한 점에 착안하여, 본 발명에서는 동일한 플래그들의 값들(비트열)을 모은 후에 부호화하는 것을 제안한다. 예를 들어, 도 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 size setting unit 120, a flag combining unit 110, a bit string dividing unit 130, a pattern bit setting unit 140, a flag coding unit 150, and a recording unit 160. It may include, and may further include a buffer 170.

플래그 조합부(120)는 각각의 매크로블록에 대한 특정 플래그의 값들을 모아서 도 3에서 도시한 예와 같이, 플래그 비트열을 생성한다. 상기 플래그는 일반적으로 1비트로 표현되는 플래그를 의미하지만, 2비트 이상으로 표현되는 플래그라도 무방하다.The flag combination unit 120 collects values of a specific flag for each macroblock and generates a flag bit string as shown in FIG. 3. The flag generally means a flag represented by one bit, but may be a flag expressed by two or more bits.

그룹 크기 설정부(110)는 플래그 비트열을 분할하기 위한 단위가 되는 그룹 크기(group size; gs)를 설정한다. 상기 그룹 크기는 비트수로 표시되는데 예를 들어, 4, 8, 또는 16이 될 수 있다. 상기 특정 플래그 값의 분포 중 0의 개수가 많을수록 상기 그룹 크기는 크게 설정되는 것이 바람직하다. 상기 그룹 크기는 임의의 개수의 매크로블록 단위로 설정할 수 있는데, 복수의 매크로블록으로 이루어지는 슬라이스 또는 프레임마다 설정할 수도 있다. 이 경우, 슬라이스 헤더나 프레임 헤더에 상기 gs 값을 기록하면 될 것이다.The group size setting unit 110 sets a group size (gs) which is a unit for dividing a flag bit string. The group size is represented by the number of bits, and may be, for example, 4, 8, or 16. The larger the number of zeros in the distribution of the specific flag value is, the larger the group size is set. The group size may be set in units of any number of macroblocks, and may be set for each slice or frame composed of a plurality of macroblocks. In this case, the gs value may be recorded in the slice header or the frame header.

비트열 분할부(130)는 그룹 크기 설정부(110)에서 설정된 그룹 크기(gs 값)에 따라서 플래그 조합부(110)로부터 입력되는 플래그 비트열을 분할한다. 상기 그룹 크기 단위로 분할된 비트열은 패턴 비트 설정부(140)로 입력된다.The bit string dividing unit 130 divides the flag bit string input from the flag combining unit 110 according to the group size (gs value) set by the group size setting unit 110. The bit string divided by the group size unit is input to the pattern bit setting unit 140.

패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인 경우에는 엔트로피 부호화를 거치도록 소정의 비트(이하, 패턴 비트(pb)라고 함)를 1로 설정하고, 그렇지 않은 경우에는 엔트로피 부호화를 거치지 않도록 상기 패턴 비트를 0으로 설정한다.The pattern bit setting unit 140 sets a predetermined bit (hereinafter, referred to as a pattern bit pb) to 1 so as to undergo entropy encoding when all of the divided bit strings are 0. Otherwise, entropy encoding is performed. The pattern bit is set to 0 so as not to go through.

플래그 코딩부(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 flag coding unit 150 performs entropy encoding (lossless encoding) on the divided bit strings. As the entropy coding, techniques known in the art, such as variable length coding and arithmetic coding, may be used. In addition, although it is also possible to entropy-encode the divided bit strings, entropy encoding may be performed by collecting all the divided bit strings including non-zero values again.

상기 패턴 비트가 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 recording unit 160 records the group size gs and the pattern bit pb in the video stream. The group size gs may be recorded in units of slices or frames, and the pattern bit pb may be recorded for each macroblock equal to the group size gs. For example, when the group size is 4, the pattern bit may be recorded in the header of the first macroblock among the four macroblocks. In addition, when pb is 0, the recording unit 160 also records entropy coding results provided from the flag coding unit 150. The entropy encoding result may be recorded in the header of the first macroblock like pb. If entropy encoding is performed at the same time by collecting all of the divided bit streams in the flag coding unit 150, the entropy encoding result may be recorded in a slice header or a frame header.

한편, 이상에서는 설정된 그룹 크기(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 size setting unit 120 may check the distribution of the flag bit strings related to the previously generated macroblocks so that the group size may be variably changed. For example, the group size setting unit 120 may select a recent predetermined number of bits among the accumulated flag bit strings, and set the group size according to a relationship between a ratio occupied by zero and a threshold value.

보다 자세한 예로서, 그룹 크기 설정부(120)는 상기 선택된 비트들 중에서의 0의 비율이 1/3보다 작으면 상기 그룹 크기를 1로 설정하고, 상기 0의 비율이 4/5보다 크면 상기 그룹 크기를 8로 설정한다. 그 이외의 경우에는 상기 그룹 크기를 4로 설정한다.As a more detailed example, the group size setting unit 120 sets the group size to 1 when the ratio of 0 among the selected bits is less than 1/3, and sets the group size when the ratio of 0 is greater than 4/5. Set the size to 8. Otherwise, the group size is set to four.

이와 같이 기 누적된 비트들은 플래그 부호화 장치 뿐만 아니라 이에 대응되는 플래그 복호화 장치에서도 공통적으로 알 수 있는 정보이므로, 기록부(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 recording unit 160 does not need to record the set group size in the video stream.

도 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 flag decoding unit 230, an output buffer 240, and a flag setting unit 250. .

그룹 크기 설정부(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 output buffer 240. . The former is a case where the group size is recorded and transmitted by the flag encoding apparatus 100, and the latter is a case where the group size is set and not transmitted by the flag encoding apparatus 100 according to the bit distribution. In the latter case, the group size setting unit 210 calculates the group size in the same manner as the group size setting unit 120 of the flag encoding apparatus 100.

패턴 비트 판독부(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 flag setting unit 250, and if the value is 0, notifies the flag decoding unit 230 ( notify).

플래그 디코딩부(230)는 패턴 비트 판독부(220)로부터 상기 pb가 0으로 통지된 경우, 비디오 스트림으로부터 상기 설정된 그룹 크기 만큼의 블록들에 대한 부호화된 플래그 비트열(플래그 부호화 장치(100)에서 엔트로피 부호화된 결과)을 판독하고, 이를 엔트로피 복호화한다. 상기 엔트로피 복호화 과정은 플래그 코딩 부(150)에서 수행된 엔트로피 부호화 과정의 역으로서 수행된다.When the pb is notified by the pattern bit reading unit 220 as 0, the flag decoding unit 230 encodes a coded flag bit sequence for blocks of the set group size from the video stream (in the flag encoding apparatus 100). Entropy coded result) is read and entropy decoded. The entropy decoding process is performed as the inverse of the entropy coding process performed by the flag coding unit 150.

플래그 설정부(250)는 패턴 비트 판독부(220)로부터 상기 pb가 1로 통지된 경우에는 상기 그룹 크기에 해당하는 해당 플래그들을 모두 0으로 설정한다.The flag setting unit 250 sets all of the corresponding flags corresponding to the group size to 0 when the pb is notified as 1 from the pattern bit reading unit 220.

출력 버퍼(240)는 플래그 디코딩부(230)에서 엔트로피 복호화된 값 및 플래그 설정부(250)에서 설정된 값을 일시 저장한다. 상기 저장된 값들은 복원된 플래그로서 출력 버퍼(240)로부터 출력된다.The output buffer 240 temporarily stores the entropy decoded value in the flag decoding unit 230 and a value set in the flag setting unit 250. The stored values are output from the output buffer 240 as a restored flag.

도 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 size setting unit 120 sets a group size gs, which is a unit for dividing a flag bit string (S11). The group size can be 4, 8, or 16, for example. The bit string dividing unit 130 divides the flag bit string by the group size unit (S12).

그러면, 패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인가를 판단하여(S13), 그러하다면 패턴 비트(pb)를 1로 설정하고(S16), 그러하지 아니하다면 상기 패턴 비트(pb)를 0으로 설정한다(S14).Then, the pattern bit setting unit 140 determines whether the divided bit strings are all zero (S13), and if so, sets the pattern bit pb to 1 (S16), and if not, the pattern bit pb ) Is set to 0 (S14).

플래그 코딩부(150)는 상기 패턴 비트가 0으로 설정된 경우에 상기 분할된 비트열을 엔트로피 부호화한다(S15). 이 때, 플래그 코딩부(150)는 상기 분할된 비트열을 각각 엔트로피 부호화할 수도 있고, 0이 아닌 값을 포함하는 분할된 비트열들 전체를 모아서 한꺼번에 엔트로피 부호화할 수도 있다.The flag coding unit 150 entropy-codes the divided bit string when the pattern bit is set to 0 (S15). In this case, the flag coding unit 150 may entropy-encode the divided bit strings, or may entropy-encode all of the divided bit strings including non-zero values at once.

마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(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 flag encoding apparatus 190 according to another embodiment of the present invention. Comparing FIG. 8 with FIG. 4, the flag reader 101 and the calculator 105 are further included.

플래그 판독부(101)는 현재 계층의 매크로블록에 대한 플래그(FC)와 상기 매크로블록에 대응되는 하위 계층의 매크로블록에 대한 플래그(FB)를 판독한다. 상기 플래그의 판독은 예를 들어, 매크로블록 헤더를 파싱(parsing)함으로써, 또는 메모리 상에 로딩된 변수 값을 읽음으로써 알 수 있다.The flag reading unit 101 reads a flag F C for the macroblock of the current layer and a flag F B for the macroblock of the lower layer corresponding to the macroblock. The reading of the flag can be known, for example, by parsing the macroblock header, or by reading the variable value loaded onto the memory.

연산부(105)는 상기 FC와 FB에 대하여 배타적 논리합 연산을 수행한다. 그 결과 계층적 연관성으로 인하여 0이 출력될 가능성이 높아지며, 그 경우 엔트로피 부호화의 효율은 상승될 수 있다. 연산부(105)에서의 연산 결과가 플래그 조합부(110)에 입력된 이 후에는 도 4와 마찬가지이므로 그 이후의 설명은 생략하기로 한다.The calculating unit 105 performs an exclusive OR operation on the F C and F B. As a result, the probability of outputting 0 increases due to hierarchical correlation, and in this case, the efficiency of entropy coding may be increased. Since the result of the calculation in the calculator 105 is input to the flag combination block 110 and the same as in FIG. 4, a description thereof will be omitted.

도 9는 도 8의 실시예에 따른 흐름도이다.9 is a flowchart according to the embodiment of FIG. 8.

먼저, 플래그 판독부(101)는 FC 및 FB를 판독하고(S19), 연산부(105)는 상기 판독된 FC 및 FB를 입력으로 하여 배타적 논리합 연산을 수행한다(S20).First, the flag reading unit 101 reads F C and F B (S19), and the calculating unit 105 performs an exclusive OR operation by inputting the read F C and F B (S20).

그 다음, 그룹 크기 설정부(120)는 그룹 크기(gs)를 설정하고(S21), 비트열 분할부(130)는 상기 연산 결과(RC)로 이루어지는 비트열을 상기 그룹 크기 단위로 분할한다(S22).Next, the group size setting unit 120 sets a group size gs (S21), and the bit string dividing unit 130 divides the bit string formed by the operation result R C into the group size unit. (S22).

패턴 비트 설정부(140)는 상기 분할된 비트열이 모두 0인가를 판단하여(S23), 그러하다면 패턴 비트(pb)를 1로 설정하고(S26), 그러하지 아니하다면 상기 패턴 비트(pb)를 0으로 설정한다(S24).The pattern bit setting unit 140 determines whether the divided bit strings are all zero (S23), and if so, sets the pattern bit pb to 1 (S26), and if not, sets the pattern bit pb. Set to 0 (S24).

플래그 코딩부(150)는 상기 패턴 비트가 0으로 설정된 경우에 상기 분할된 비트열을 엔트로피 부호화한다(S25). 마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(S27의 예) 종료하고, 그렇지 않으면 S22 단계로 진행한다.The flag coding unit 150 entropy-codes the divided bit string when the pattern bit is set to 0 (S25). Finally, if the above steps have been performed for all macroblocks in the slice or frame (YES in S27), the process ends; otherwise, the process proceeds to step S22.

한편, 도 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 output buffer 240. Can be set. In the latter case, the group size setting unit 210 calculates the group size in the same manner as the group size setting unit 120 of the flag encoding apparatus 100.

패턴 비트 판독부(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 flag setting unit 250 sets all the flags corresponding to the group size to 0 (S35).

상기 판단 결과 그 값이 0이면(S33의 아니오), 플래그 디코딩부(230)는 비디오 스트림으로부터 상기 설정된 그룹 크기 만큼의 블록들에 대한 부호화된 플래그 비트열(플래그 부호화 장치(100)에서 엔트로피 부호화된 결과)을 판독하고, 이를 엔트로피 복호화한다(S34). 상기 엔트로피 복호화 과정은 플래그 코딩부(150)에서 수행된 엔트로피 부호화 과정의 역으로서 수행된다.As a result of the determination, if the value is 0 (NO in S33), the flag decoding unit 230 encodes a coded flag bit string (entropy coded by the flag encoding apparatus 100) for blocks corresponding to the set group size from the video stream. Result), and entropy decrypted it (S34). The entropy decoding process is performed as the inverse of the entropy encoding process performed by the flag coding unit 150.

마지막으로, 상기 단계들이 슬라이스 또는 프레임 내의 모든 매크로블록에 대하여 수행되었으면(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 flag decoding apparatus 290 according to another embodiment of the present invention.

도 11을 도 5와 비교하면 연산부(260)가 더 포함되어 있을 뿐이다. 연산부(260) 이전의 동작은 도 5와 마찬가지이므로 생략한다. 출력 버퍼(240)에서 출력 되는 값은 FC와 FB에 대한 배타적 논리합의 연산 결과인 RC이다. 연산부(260)는 FB와 RC에 대하여 배타적 논리합을 수행함으로써 현재 계층의 매크로블록에 대한 특정 플래그인 FC를 복원한다.Comparing FIG. 11 with FIG. 5, the operation unit 260 is further included. Since the operation before the calculator 260 is the same as that of FIG. 5, it is omitted. The value output from the output buffer 240 is R C, which is the result of the calculation of the exclusive OR of F C and F B. The operation unit 260 restores F C , which is a specific flag for the macroblock of the current layer, by performing an exclusive OR on F B and R C.

도 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 output buffer 240. Can be set.

패턴 비트 판독부(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 flag setting unit 250 sets all of R C corresponding to the group size to 0 (S46).

상기 판단 결과 그 값이 0이면(S43의 아니오), 플래그 디코딩부(230)는 비디오 스트림에 포함된 부호화된 데이터, 즉 RC를 상기 그룹 크기만큼 판독하고, 이를 엔트로피 복호화한다(S44). As a result of the determination, if the value is 0 (NO in S43), the flag decoding unit 230 reads the encoded data included in the video stream, that is, R C as much as the group size, and entropy decodes it (S44).

연산부(260)는 FC에 대응되는 하위 계층의 플래그 값 FB와, 상기 S46 단계에서 0으로 설정된 RC 또는 상기 S44 단계에서 엔트로피 복호화된 RC에 대하여 배타적 논리합을 수행한다(S45).Operation unit 260 performs an exclusive OR with respect to the flag value F of the lower layer corresponding to the C and F B, the entropy-decoded in the R C R C, or the step S44 is set to 0 in the step S46 (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 video encoder 500 to which the flag encoding apparatuses 100 and 190 of FIG. 4 or 8 may be applied.

오리지널 비디오 시퀀스는 현재 계층 인코더(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 predictor 410 obtains a residual signal by differentiating an image predicted by a predetermined method in the current macroblock. The prediction methods include directional intra prediction, inter prediction, intra base prediction, and residual prediction.

변환부(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 prediction unit 410. The flags F C of the current layer set as described above are input to the flag encoding apparatus 190.

현재 계층 인코더(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 predictor 310, the transformer 320, the quantizer 330, the entropy encoder 340, and the flag setter ( 350). The entropy encoder 340 outputs a lower layer video stream to a mux (multiplexer) 360, and the flag setting unit 350 provides the flag layers F B of the lower layer to the flag encoding apparatus 100.

Mux(360)는 현재 계층 비디오 스트림과 하위 계층 비디오 스트림을 결합하여 비디오 스트림(VS)을 생성하여, 플래그 부호화 장치(100)에 제공한다.The mux 360 combines the current layer video stream and the lower layer video stream to generate a video stream VS, and provides the generated video stream to the flag encoding apparatus 100.

플래그 부호화 장치(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 flag encoding apparatus 190 may be replaced with the flag encoding apparatus 100. In this case, since the correlation between layers is not used, F C is entropy encoded using only spatial correlation regardless of F B.

도 14는 도 5 또는 도 11의 플래그 복호화 장치(200, 290)가 적용될 수 있는 다 계층 기반의 비디오 디코더(800)의 구성을 도시하는 블록도이다.FIG. 14 is a block diagram illustrating a configuration of a multi-layer based video decoder 800 to which the flag decoding apparatuses 200 and 290 of FIG. 5 or 11 may be applied.

입력되는 최종 비디오 스트림(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. Demux 650 separates the final video stream into a current layer video stream and a lower layer video stream and provides them to the current layer encoder 700 and the lower layer decoder 600, respectively.

엔트로피 복호화부(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 inverse transform unit 730 inversely transforms the inverse quantized result by using an inverse spatial transform technique such as inverse DCT transform and inverse wavelet transform.

역예측부(740)는 예측부(410)에서 구한 예측 이미지를 동일한 방식으로 구하고, 상기 구한 예측 이미지를 상기 역변환된 결과와 가산함으로써 비디오 시퀀스를 복원한다. 이 때, 역예측부(740)는 경우(인트라 베이스 예측, 잔차 예측 등의 경우)에 따라서는, 하위 계층 디코더(600)에서 디코딩된 결과를 이용하기도 한다.The inverse predictor 740 obtains the predicted image obtained by the predictor 410 in the same manner, and reconstructs the video sequence by adding the obtained predicted image to the inverse transformed result. In this case, the inverse predictor 740 may use the result decoded by the lower layer decoder 600 in some cases (in the case of intra base prediction, residual prediction, etc.).

현재 계층 디코더(700)에서와 마찬가지로, 하위 계층 디코더(600)도 동일한 기능의 엔트로피 복호화부(610), 역양자화부(620), 역변환부(630), 및 역예측부(640)를 포함한다.As in the current layer decoder 700, the lower layer decoder 600 includes an entropy decoder 610, an inverse quantizer 620, an inverse transform unit 630, and an inverse predictor 640 having the same function. .

한편, 플래그 복호화 장치(290)는 상기 최종 비디오 스트림으로부터 하위 계층의 플래그들(FB)과, 현재 계층의 플래그들(FC)의 부호화된 값을 추출하고, 상기 FB와 상기 부호화된 값으로부터 현재 계층의 플래그들(FC)을 복원한다. Meanwhile, the flag decoding apparatus 290 extracts the encoded values of the flags F B of the lower layer and the flags F C of the current layer from the final video stream, and the F B and the encoded values. Restores the flags F C of the current layer from.

상기 추출된 하위 계층의 플래그들(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 components 610, 620, 630, and 640 of the lower layer decoder 600, and the restored current layer. The flags F C may be used to perform the corresponding operation in the components 710, 720, 730, 740 of the current layer decoder 700.

물론, 플래그 부호화 장치(290)는 플래그 부호화 장치(200)로 대체될 수 있으며, 이 경우에는 계층 간의 연관성은 사용되지 않으므로, FC는 FB와 상관없이 공간적 연관성만을 이용하여 엔트로피 복호화된다.Of course, the flag encoding apparatus 290 may be replaced by the flag encoding apparatus 200. In this case, since the correlation between layers is not used, F C is entropy decoded using only spatial correlation regardless of F B.

지금까지 도 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)

복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 방법으로서,A method of encoding a flag used in coding a video frame composed of a plurality of blocks, (a) 소정 블록의 공간적 관련성에 따라 상기 블록 별로 할당되는 플래그 값을 모아서 플래그 비트열을 생성하는 단계;(a) generating a flag bit string by collecting flag values allocated for each block according to spatial relevance of a predetermined block; (b) 상기 비트열을 소정의 그룹 크기로 분할하는 단계;(b) dividing the bit string into a predetermined group size; (c) 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 단계; 및(c) setting pattern bits indicating whether all bits included in the divided bit streams are zero; And (d) 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 단계를 포함하는 플래그 부호화 방법.(d) entropy encoding the divided bit streams according to the set pattern bits. 제1항에 있어서, The method of claim 1, 상기 블록은 슬라이스, 매크로블록, 또는 서브 블록인 플래그 부호화 방법.And the block is a slice, a macroblock, or a subblock. 제1항에 있어서, The method of claim 1, 상기 그룹 크기는 4, 8, 또는 16 중 어느 하나인 플래그 부호화 방법.And the group size is any one of 4, 8, or 16. 제1항에 있어서,The method of claim 1, 상기 그룹 크기는 미리 누적된 플래그 비트열 중 소정 개수의 비트들에 포함 되는 0의 비율과 임계치를 비교하여 결정되는 플래그 부호화 방법.The group size is determined by comparing a threshold with a ratio of 0 included in a predetermined number of bits of a flag bit string previously accumulated. 제4항에 있어서,The method of claim 4, wherein 상기 임계치는 1/3 및 4/5인 플래그 부호화 방법.The threshold is 1/3 and 4/5. 제5항에 있어서,The method of claim 5, 상기 0의 비율이 1/3보다 작은 경우에는 상기 그룹 크기는 0으로 결정되고, 상기 0의 비율이 4/5보다 큰 경우에는 상기 그룹 크기는 8로 결정되며, 그 이외의 경우에는 상기 그룹 크기는 4로 결정되는 플래그 부호화 방법.If the ratio of zero is smaller than 1/3, the group size is determined as 0. If the ratio of zero is greater than 4/5, the group size is determined as 8. Otherwise, the group size is determined. The flag encoding method is determined as 4. 제1항에 있어서, 상기 플래그는The method of claim 1, wherein the flag is 잔차 예측 플래그 또는 cbp(coded block pattern) 플래그인 플래그 부호화 방법.A flag encoding method that is a residual prediction flag or a coded block pattern (cbp) flag. 제1항에 있어서, The method of claim 1, 상기 패턴 비트는 상기 블록의 헤더에 기록되고, 상기 그룹 크기는 슬라이스 헤더에 기록되는 플래그 부호화 방법.The pattern bit is recorded in a header of the block, and the group size is recorded in a slice header. 복수의 계층으로 이루어지는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 방법으로서,A method of encoding a flag used in coding a video frame composed of a plurality of layers, (a) 현재 계층의 블록에 대한 제1 플래그 값과, 상기 블록과 대응되는 하위 계층의 블록에 대한 제2 플래그 값에 대하여 배타적 논리합 연산을 수행하는 단계;(a) performing an exclusive OR operation on a first flag value for a block of a current layer and a second flag value for a block of a lower layer corresponding to the block; (b) 상기 현재 계층의 블록의 공간적 관련성에 따라 상기 연산 결과 값을 모아서 플래그 비트열을 생성하는 단계;(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) 상기 비트열을 소정의 그룹 크기로 분할하는 단계;(c) dividing the bit string into a predetermined group size; (d) 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 단계; 및(d) setting pattern bits indicating whether all bits included in the divided bit streams are zero; And (e) 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 단계를 포함하는 플래그 부호화 방법.(e) entropy encoding the divided bit strings according to the set pattern bits. 제9항에 있어서, The method of claim 9, 상기 블록은 슬라이스, 매크로블록, 또는 서브 블록인 플래그 부호화 방법.And the block is a slice, a macroblock, or a subblock. 제9항에 있어서,The method of claim 9, 상기 그룹 크기는 기 누적된 플래그 비트열 중 소정 개수의 비트들에 포함되는 0의 비율과 임계치를 비교하여 결정되는 플래그 부호화 방법.And the group size is determined by comparing a threshold with a ratio of 0 included in a predetermined number of bits of the flag bit strings. 제9항에 있어서, 상기 플래그는The method of claim 9, wherein the flag is 잔차 예측 플래그인 플래그 부호화 방법.A flag encoding method that is a residual prediction flag. 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 복호화하는 방법으로서,A method of decoding a flag used in coding a video frame composed of a plurality of blocks, (a) 비디오 스트림으로부터 소정의 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 판독하는 단계;(a) reading a pattern bit from the video stream indicating whether the bits included in the predetermined bit string are all zeros; (b) 상기 패턴 비트가 제1 비트를 가지는 경우, 그룹 크기에 해당하는 플래그 비트열을 0으로 설정하는 단계;(b) setting the flag bit string corresponding to the group size to 0 when the pattern bit has the first bit; (c) 상기 패턴 비트가 제2 비트를 가지는 경우, 상기 비디오 스트림으로부터 상기 그룹 크기에 만큼의 블록들에 대한 부호화된 플래그 비트열을 판독하는 단계; 및(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) 상기 판독된 플래그 비트열을 엔트로피 복호화하는 단계를 포함하는 플래그 복호화 방법.(d) entropy decoding the read flag bit string. 제13항에 있어서,The method of claim 13, 상기 블록은 슬라이스, 매크로블록, 또는 서브 블록인 플래그 복호화 방법.And the block is a slice, a macroblock, or a subblock. 제13항에 있어서, The method of claim 13, 상기 그룹 크기는 상기 비디오 스트림으로부터 판독되는 플래그 복호화 방법.And said group size is read from said video stream. 제13항에 있어서,The method of claim 13, 상기 그룹 크기는 미리 엔트로피 복호화되어 누적된 플래그 비트열 중 소정 개수의 비트들에 포함되는 0의 비율과 임계치를 비교하여 결정되는 플래그 복호화 방법.The group size is determined by comparing a threshold with a ratio of 0 included in a predetermined number of bits of a flag bit string entropy decoded in advance. 제16항에 있어서,The method of claim 16, 상기 임계치는 1/3 및 4/5인 플래그 복호화 방법.The threshold is 1/3 and 4/5. 제17항에 있어서,The method of claim 17, 상기 0의 비율이 1/3보다 작은 경우에는 상기 그룹 크기는 0으로 결정되고, 상기 0의 비율이 4/5보다 큰 경우에는 상기 그룹 크기는 8로 결정되며, 그 이외의 경우에는 상기 그룹 크기는 4로 결정되는 플래그 복호화 방법.If the ratio of zero is smaller than 1/3, the group size is determined as 0. If the ratio of zero is greater than 4/5, the group size is determined as 8. Otherwise, the group size is determined. The flag decoding method is determined as 4. 제13항에 있어서, 상기 플래그는The method of claim 13, wherein the flag is 잔차 예측 플래그 또는 cbp(coded block pattern) 플래그인 플래그 복호화 방법.A flag decoding method that is a residual prediction flag or a coded block pattern (cbp) flag. 제13항에 있어서, The method of claim 13, (e) 상기 (b) 단계에서 0으로 설정된 플래그 플래그 비트열 또는 상기 (d) 단계에서 엔트로피 복호화된 플래그 비트열과, 하위 계층의 대응되는 플래그 비트열에 대하여 배타적 논리합을 수행하는 단계를 더 포함하는 플래그 복호화 방법.and (e) performing an exclusive OR on the flag flag bit string set to 0 in step (b) or the flag bit string entropy decoded in step (d) and the corresponding flag bit string of the lower layer. Decryption method. 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 장치로서,An apparatus for encoding a flag used in coding a video frame composed of a plurality of blocks, 소정 블록의 공간적 관련성에 따라 상기 블록 별로 할당되는 플래그 값을 모아서 플래그 비트열을 생성하는 수단;Means for generating a flag bit string by collecting flag values allocated for each block according to spatial relevance of a predetermined block; 상기 비트열을 소정의 그룹 크기로 분할하는 수단;Means for dividing the bit string into predetermined group sizes; 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 수단; 및Means for setting pattern bits indicating whether all bits included in the divided bit strings are zero; And 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 수단을 포함하는 플래그 부호화 장치.And means for entropy encoding the divided bit strings according to the set pattern bits. 복수의 계층으로 이루어지는 비디오 프레임의 코딩에 있어 사용되는 플래그를 부호화하는 장치로서,An apparatus for encoding a flag used in coding a video frame composed of a plurality of layers, 현재 계층의 블록에 대한 제1 플래그 값과, 상기 블록과 대응되는 하위 계층의 블록에 대한 제2 플래그 값에 대하여 배타적 논리합 연산을 수행하는 수단;Means for performing an exclusive OR operation on a first flag value for a block of a current layer and a second flag value for a block in a lower layer corresponding to the block; 상기 현재 계층의 블록의 공간적 관련성에 따라 상기 연산 결과 값을 모아서 플래그 비트열을 생성하는 수단;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; 상기 분할된 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 설정하는 수단; 및Means for setting pattern bits indicating whether all bits included in the divided bit strings are zero; And 상기 설정된 패턴 비트에 따라 상기 분할된 비트열을 엔트로피 부호화하는 수단을 포함하는 플래그 부호화 장치.And means for entropy encoding the divided bit strings according to the set pattern bits. 복수의 블록으로 구성되는 비디오 프레임의 코딩에 있어 사용되는 플래그를 복호화하는 장치로서,An apparatus for decoding a flag used in coding a video frame composed of a plurality of blocks, 비디오 스트림으로부터 소정의 비트열에 포함된 비트가 모두 0인가를 나타내는 패턴 비트를 판독하는 수단;Means for reading a pattern bit from the video stream to indicate whether all bits included in the predetermined bit string are zero; 상기 패턴 비트가 제1 비트 값을 가지는 경우, 그룹 크기에 해당하는 플래그 비트열을 0으로 설정하는 수단;Means for setting a flag bit string corresponding to a group size to 0 when the pattern bit has a first bit value; 상기 패턴 비트가 제2 비트 값을 가지는 경우, 상기 비디오 스트림으로부터 상기 그룹 크기에 만큼의 블록들에 대한 부호화된 플래그 비트열을 판독하는 수단; 및Means for reading an encoded flag bit string for as many blocks as the group size from the video stream when the pattern bit has a second bit value; And 상기 판독된 플래그 비트열을 엔트로피 복호화하는 수단을 포함하는 플래그 복호화 장치.And means for entropy decoding the read flag bit string.
KR1020060035461A 2006-01-12 2006-04-19 Flag encoding method, flag decoding method, and apparatus thereof KR100791295B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (11)

* Cited by examiner, † Cited by third party
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&#39;s property which composes FGS layer&#39;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&#39;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