KR20060122684A - Method for encoding and decoding video signal - Google Patents

Method for encoding and decoding video signal Download PDF

Info

Publication number
KR20060122684A
KR20060122684A KR1020060014309A KR20060014309A KR20060122684A KR 20060122684 A KR20060122684 A KR 20060122684A KR 1020060014309 A KR1020060014309 A KR 1020060014309A KR 20060014309 A KR20060014309 A KR 20060014309A KR 20060122684 A KR20060122684 A KR 20060122684A
Authority
KR
South Korea
Prior art keywords
model
slice
nal
previous
last updated
Prior art date
Application number
KR1020060014309A
Other languages
Korean (ko)
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 엘지전자 주식회사
Publication of KR20060122684A publication Critical patent/KR20060122684A/en

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H17/00Fencing, e.g. fences, enclosures, corrals
    • E04H17/14Fences constructed of rigid elements, e.g. with additional wire fillings or with posts

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

A method for encoding/decoding a video signal is provided to effectively initialize a context model related to a syntax element at the CABAC(Context-based Adaptive Binary Arithmetic Coding). A binarizer(110) produces a binary code or a bin string related to the symbols of the syntax elements with a predetermined manner. A context modeler(120) selects the context model according to the statistics of the latest coded symbols and adaptively changes the internal state of the selected context model. An arithmetic coder(130) encodes the binarized symbols according to the arithmetic coding method on the basis of the changed internal state. A general coding engine(131) produces each bit on the basis of the probability changed by the context modeler.

Description

영상 신호의 인코딩 및 디코딩 방법 { Method for encoding and decoding video signal }Method for encoding and decoding video signal

도 1은 AVC의 인코딩 알고리즘을 개략적으로 표현한 것이고,1 is a schematic representation of the encoding algorithm of AVC,

도 2는 본 발명의 실시예에 따른 컨텍스트 기반 적응형 이진 산술 코딩(CABAC) 인코더의 구성을 개략적으로 도시한 것이다.2 schematically illustrates a configuration of a context-based adaptive binary arithmetic coding (CABAC) encoder according to an embodiment of the present invention.

도 3은 퀄러티 베이스 레이어와 FGS 인핸스드 레이어 사이의 관계를 예를 들어 도시한 것이다.3 illustrates by way of example a relationship between a quality base layer and an FGS enhanced layer.

도 4은 FGS 인핸스드 레이어의 슬라이스를 포함한 각 슬라이스에 대한 인코딩 또는 디코딩이 시작될 때 CABAC 컨텍스트 모델이 소정의 값으로 초기화되는 예를 도시한 것이고,4 illustrates an example in which the CABAC context model is initialized to a predetermined value when encoding or decoding for each slice including a slice of an FGS enhanced layer starts.

도 5와 도 6은 이전 슬라이스(퀄러티 베이스 레이어 또는 이전 FGS 인핸스드 레이어)의 마지막 상태를 이용하여 현재의 FGS 슬라이스의 신택스 엘리먼트에 대한 컨텍스트 모델을 초기화하는 본 발명의 실시예를 각각 도시한 것이고,5 and 6 illustrate embodiments of the present invention for initializing a context model for syntax elements of a current FGS slice using the last state of a previous slice (quality base layer or previous FGS enhanced layer),

도 7은 슬라이스가 여러 개의 NAL로 분할되는 예를 도시한 것이고,7 shows an example in which a slice is divided into several NALs,

도 8은 본 발명의 실시예에 따른 CABAC 디코더의 구성을 개략적으로 도시한 것이다.8 schematically illustrates a configuration of a CABAC decoder according to an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : CABAC 인코더 110 : 이진화부100: CABAC encoder 110: binarization unit

120 : 컨텍스트 모델러 130 : 산술 코더120: context modeler 130: arithmetic coder

131 : 일반 코딩 엔진 132 : 우회 코딩 엔진131: Generic Coding Engine 132: Bypass Coding Engine

200 : CABAC 디코더 210 : 컨텍스트 모델러200: Cabac Decoder 210: Context Modeler

220 : 산술 디코더 221 : 일반 디코딩 엔진220: Arithmetic Decoder 221: Generic Decoding Engine

222 : 우회 디코딩 엔진 230 : 역이진화부222: bypass decoding engine 230: inverse binarization unit

본 발명은 영상 신호를 인코딩 하고 디코딩 하는 방법에 관한 것이다.The present invention relates to a method for encoding and decoding a video signal.

스케일러블 영상 코덱(SVC : Scalable Video Codec) 방식은 영상 신호를 인코딩 함에 있어, 최고 화질로 인코딩 하되, 그 결과로 생성된 픽처 시퀀스의 부분 시퀀스(시퀀스 전체에서 간헐적으로 선택된 프레임의 시퀀스)를 디코딩 하여 사용해도 어느 정도 화질의 영상 표현이 가능하도록 하는 방식이다.The scalable video codec (SVC) method encodes a video signal, and encodes at the highest quality, but decodes a partial sequence of the resultant picture sequence (a sequence of intermittently selected frames in the entire sequence). It is a method to allow a certain level of image expression even if used.

스케일러블 방식으로 인코딩 된 픽처 시퀀스는 그 부분 시퀀스만을 수신하여 처리함으로써도 어느 정도 화질의 영상 표현이 가능하지만, 비트 레이트(bitrate)가 낮아지는 경우 화질 저하가 크게 나타난다. 이를 해소하기 위해서, 낮은 전송률을 위한 별도의 보조 픽처 시퀀스, 예를 들어 소화면 및/또는 초당 프레임 수 등이 낮은 픽처 시퀀스를 제공할 수도 있다.A picture sequence encoded in a scalable manner can be represented to a certain degree of image quality by receiving and processing only a partial sequence. However, when a bit rate is lowered, image quality deterioration is large. In order to solve this, a separate auxiliary picture sequence for a low data rate, for example, a small picture and / or a low picture sequence per frame may be provided.

보조 픽처 시퀀스를 베이스 레이어(base layer)로, 주 픽처 시퀀스를 인핸스드(enhanced) 레이어 또는 인핸스먼트(enhancement) 레이어라고 부른다. 베이스 레이어와 인핸스드 레이어는 동일한 영상 신호원을 인코딩 한 것으로, 두 레이어의 영상 신호에는 잉여 정보(리던던시(redundancy))가 존재한다. 따라서, 베이스 레이어를 제공하는 경우에는, 코딩 효율을 높이기 위해 레이어 간 예측 방법(interlayer prediction method)을 사용할 수 있다.The auxiliary picture sequence is called a base layer, and the main picture sequence is called an enhanced layer or an enhancement layer. The base layer and the enhanced layer encode the same video signal source, and redundant information (redundancy) exists in the video signals of the two layers. Accordingly, when providing a base layer, an interlayer prediction method may be used to increase coding efficiency.

또한, 베이스 레이어의 SNR(Signal-to-Noise Ratio)을 향상, 즉 화질을 개선하기 위하여 인핸스드 레이어가 사용될 수도 있는데, 이를 SNR 스케일러빌러티, FGS(Fine Granular Scalability), 또는 점증적 리파인먼트(Progressive Refinement)라 한다.In addition, an enhanced layer may be used to improve the signal-to-noise ratio (SNR) of the base layer, that is, to improve image quality, which may be used for SNR scalability, fine granular scalability (GFS), or incremental refinement (FGS). Progressive Refinement).

FGS에 따르면, 각 화소에 대응되는 변환 계수(transform coefficients), 예를 들어 DCT(Discrete Cosine Transform) 계수가 비트 표현상의 해상도에 따라 베이스 레이어와 인핸스드 레이어로 나누어 인코딩 되고, 전송 환경이 나쁜 경우에는 인핸스드 레이어의 전송이 생략되어, 디코딩 되는 영상의 화질을 저하시키면서 비트 레이트를 낮출 수 있다. 즉, FGS는, 양자화 과정에서 발생하는 손실을 보상하기 위한 것으로, 전송 또는 디코딩 환경에 대응하여 비트 레이트를 제어할 수 있는 높은 유연성을 제공한다.According to the FGS, transform coefficients corresponding to each pixel, for example, discrete cosine transform (DCT) coefficients are encoded by dividing the base layer and the enhanced layer according to the resolution of the bit representation, Since the transmission of the enhanced layer is omitted, the bit rate may be lowered while reducing the quality of the decoded image. That is, the FGS is designed to compensate for the loss occurring during the quantization process, and provides high flexibility in controlling the bit rate in response to a transmission or decoding environment.

예를 들어, 변환 계수를 양자화 스텝 사이즈(일명 QP), 예를 들어 QP=32로 양자화하여 베이스 레이어가 생성되었다면, FGS 인핸스드 레이어 1은, 원래의 변환 계수와 베이스 레이어의 양자화된 계수를 역양자화하여 구한 변환 계수와의 차이에 대해서 QP 32보다 더 높은 품질에 대응되는 양자화 스텝 사이즈인 QP=26으로 양자화하여 생성된다. 마찬가지로, FGS 인핸스드 레이어 2는, 원래의 변환 계수와 베이스 레이어 및 FGS 인핸스드 레이어 1의 양자화된 계수의 합을 역양자화하여 구한 변환 계수와의 차이에 대해서 QP=20으로 양자화하여 생성된다.For example, if the base layer is generated by quantizing the transform coefficients to a quantization step size (aka QP), for example QP = 32, the FGS enhanced layer 1 inverses the original transform coefficients and the quantized coefficients of the base layer. The difference from the quantized transform coefficient is quantized to QP = 26, which is a quantization step size corresponding to a higher quality than QP32. Similarly, the FGS enhanced layer 2 is generated by quantizing QP = 20 with respect to the difference between the transform coefficient obtained by dequantizing the sum of the original transform coefficient and the quantized coefficients of the base layer and the FGS enhanced layer 1.

SVC는 AVC(Advanced Video Codec : 'H.264'라고도 함)로부터 확장된 코덱으 로, 도 1은 AVC의 인코딩 알고리즘을 개략적으로 표현한 것이다. AVC 디코딩은, 모션 예측 과정을 제외하고는, 도 1의 인코딩 과정의 역순으로 진행된다.SVC is a codec extended from AVC (Advanced Video Codec: also referred to as 'H.264'), and FIG. 1 schematically illustrates an encoding algorithm of AVC. AVC decoding proceeds in the reverse order of the encoding process of FIG. 1, except for the motion prediction process.

입력되는 영상 신호는, 공간적(spatial) 및/또는 시간적(temporal)으로 영상의 움직임(motion)이 예측되고(motion prediction) 보상되어(motion compensation), 이를 기초로 오차(residual) 데이터를 갖는 영상 블록으로 생성된다. 생성된 영상 블록의 오차 데이터는 DCT(Discrete Cosine Transform) 또는 웨이브렛(Wavelet)과 같은 2-D 변환 방법에 의해 계수로 변환되고, 변환 계수는 임의의 양자화 스텝으로 양자화된다.The input image signal is an image block having spatial and / or temporal motion prediction and motion compensation of the image, and having residual data based thereon. Is generated. The error data of the generated image block is transformed into coefficients by a 2-D transform method such as a discrete cosine transform (DCT) or a wavelet, and the transform coefficients are quantized in an arbitrary quantization step.

양자화된 변환 계수는, 지그재그(zigzag) 또는 변형된 지그재그와 같은 순서로 스캔 된 후, 가변 길이 코딩(VLC : Variable Length Coding) 또는 산술 코딩(arithmetic coding)과 같은 엔트로피(entropy) 코딩 방법에 의해, 모션 벡터, 헤더 정보, 및 부가적인 정보 등과 함께, 전송하거나 저장하기 용이한 압축된 비트 스트림으로 코딩 된다.The quantized transform coefficients are scanned in the same order as zigzag or modified zigzag, and then by entropy coding methods such as variable length coding (VLC) or arithmetic coding, It is coded into a compressed bit stream that is easy to transmit or store, along with motion vectors, header information, and additional information.

엔트로피 코딩은, 손실 없는 코딩(lossless coding) 방법으로, 비디오 영상을 나타내는 요소(elements)를 전송하거나 저장하기 용이하도록 데이터 사이즈를 상당히 줄여 압축된 비트 스트림으로 변환하는 기법이다.Entropy coding is a lossless coding method that converts a data stream into a compressed bit stream with a considerably reduced data size to facilitate transmission or storage of elements representing a video image.

엔트로피 코딩은, 데이터 요소의 부호들(symbols)을 가변되는 길이의 연속적인 코드 워드로 변환하는 가변 길이 코딩(VLC) 모드와 연속적인 심벌들을 하나의 소수로 변환하는 이진(binary) 산술 코딩(BAC) 모드 등을 포함한다. 또한, 엔트로피 코딩은, 슬라이스 레이어 또는 그 아래 레이어에 포함된 신택스 엘리먼트 (syntax elements)를 전후 상황에 맞추어 적응적으로 코딩 하는 컨텍스트 기반 적응형(CA : context-based adaptive) 코딩 방법을 채택할 수 있다.Entropy coding includes variable length coding (VLC) mode, which converts symbols of data elements into continuous code words of varying length, and binary arithmetic coding (BAC), which converts consecutive symbols into a single decimal point. ) Mode and the like. In addition, entropy coding may adopt a context-based adaptive (CA) coding method that adaptively codes syntax elements included in a slice layer or a layer below the context. .

이러한 방법이 결합되어 컨텍스트 기반 적응형 가변 길이 코딩(CAVLC) 모드와 컨텍스트 기반 적응형 이진 산술 코딩(CABAC) 모드가 된다. CABAC이, CAVLC에 비해 계산량이 증가하긴 하지만, 이론적인 최대 압축률에 보다 근접하여 각 심벌을 표현하기 위해 필요한 최적의 비트를 얻을 수 있다.These methods combine to form a context-based adaptive variable length coding (CAVLC) mode and a context-based adaptive binary arithmetic coding (CABAC) mode. Although CABAC increases the computational amount compared to CAVLC, it is possible to obtain the optimal bits needed to represent each symbol closer to the theoretical maximum compression rate.

컨텍스트 기반 적응형 이진 산술 코딩(CABAC)은, 특정 신택스 엘리먼트의 부호들에 대한 이진 코드를 생성하고, 생성되는 이진 코드에 따라 컨텍스트 모델을 선택하고 선택된 컨텍스트 모델의 확률을 변경하고, 이를 기초로 산술 코딩에 의해 비트 시퀀스를 생성한다.Context-based adaptive binary arithmetic coding (CABAC) generates binary code for the codes of a particular syntax element, selects a context model according to the generated binary code, changes the probability of the selected context model, and based on that Generates a bit sequence by coding.

이때, 상기 컨텍스트 모델은, 각 슬라이스의 인코딩/디코딩을 시작할 때마다 MPS(Most Probable Symbol)의 발생 확률과 MPS 값으로 표현되는 내부 상태가 초기화되고, 상기 신택스 엘리먼트의 실제적인 통계(actual statistics)를 반영할 수 있도록, 상기 신택스 엘리먼트의 이진화된 심벌들을 기초로 인코딩/디코딩 하는 동안 지속적으로 내부 상태가 갱신된다.In this context, the context model may initialize an internal state represented by a probability of occurrence of Most Probable Symbol (MPS) and an MPS value at each start of encoding / decoding of each slice, and calculates actual statistics of the syntax element. In order to reflect, the internal state is constantly updated during encoding / decoding based on the binary symbols of the syntax element.

컨텍스트 모델이 미리 정해진 값으로 초기화되는 이유는, 코딩 효율 향상을 위한 것이 아니라, 임의의 조건에 민감하지 않고 강인하도록 하기 위함, 즉 robustness 때문이다. 슬라이스를 시작할 때마다 각 컨텍스트 모델을 초기화함에 따라, 슬라이스는 이전 슬라이스의 손실 또는 손상에 상관 없이 독립적으로 디코딩 될 수 있다.The reason why the context model is initialized to a predetermined value is not to improve coding efficiency, but to be robust and not sensitive to any condition, that is, robustness. By initializing each context model each time a slice is started, the slice can be decoded independently, regardless of the loss or corruption of the previous slice.

본 발명의 목적은, CABAC에서 FGS 인핸스드 레이어와 베이스 레이어에 관련하여 신택스 엘리먼트에 대한 컨텍스트 모델을 효율적으로 초기화하는 방법을 제공하는데 있다.An object of the present invention is to provide a method for efficiently initializing a context model for a syntax element in relation to an FGS enhanced layer and a base layer in CABAC.

상기한 목적을 달성하기 위해 본 발명의 일 실시예에 따른 영상 신호를 인코딩 하는 방법은, 영상 신호를 나타내는 엘리먼트에 대한 실제 통계를 반영하여 압축된 비트 스트림을 생성할 수 있도록, 상기 엘리먼트에 대한 모델링을 수행하는 단계를 포함하여 이루어지고, 여기서, 상기 모델링을 수행하는 단계는, 슬라이스가 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 슬라이스와 관련되는 이전 슬라이스(들)에서 공통되는 엘리먼트에 대해서는 임의의 이전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 한다.In order to achieve the above object, a method of encoding a video signal according to an embodiment of the present invention may include: modeling the element so that a compressed bit stream may be generated by reflecting actual statistics on an element representing the video signal. Wherein the modeling comprises initializing a model for the element when the slice starts, but for an element common to the previous slice (s) associated with the current slice. Initializing based on the last updated model in any previous slice; And updating a model for the element based on the binary symbols of the element.

상기 실시예에서, 이전 슬라이스의 모델을 기초로 엘리먼트가 초기화되는 슬라이스는, 이전 슬라이스에 대한 양자화 과정에서 발생하는 손실을 보상하기 위해 생성되는 슬라이스인 것을 특징으로 한다.In the above embodiment, the slice in which the element is initialized based on the model of the previous slice is characterized in that the slice is generated to compensate for the loss occurring in the quantization process for the previous slice.

양자화 과정에서 발생하는 손실을 보상하기 위해 생성되는 슬라이스가 다수 인 경우, 현재 슬라이스의 엘리먼트에 대한 모델은, 상기 다수의 슬라이스 중에서, 바로 이전 슬라이스에서 또는 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 한다.If there are multiple slices generated to compensate for the loss that occurs during quantization, the model for the elements of the current slice is based on the last updated model in the previous slice or in the first slice, among the multiple slices. Characterized in that it is initialized.

상기 실시예는, 상기 엘리먼트에 대한 모델을 초기화하는 방법을 가리키는 정보를 기록하는 단계를 더 포함하여 이루어지는데, 여기서, 상기 정보는, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 초기화하거나, 바로 이전의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하거나, 또는 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 것 중 어느 하나를 가리키고, 상기 정보는 슬라이스 헤더, 픽처 헤더, GOP 헤더, 또는 시퀀스 헤더 중 적어도 어느 하나에 기록되는 것을 특징으로 한다.The embodiment further comprises the step of recording information indicating a method for initializing the model for the element, wherein the information comprises: initializing the model for the element to a predetermined value, or immediately before. Initializing based on the last updated model in the slice, or initializing based on the last updated model in the first slice, wherein the information is a slice header, picture header, GOP header, or sequence header It is characterized by being recorded in at least one of the.

본 발명의 다른 실시예에 따른 영상 신호를 인코딩 하는 방법은, 영상 신호를 나타내는 엘리먼트에 대한 실제 통계를 반영할 수 있도록, 상기 엘리먼트에 대한 모델링을 수행하는 단계; 및 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 비트 스트림을 생성하는 단계를 포함하여 이루어지고, 여기서, 상기 모델링을 수행하는 단계는, NAL(Network Abstract Layer)이 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 NAL과 관련되는 이전 NAL에서 공통되는 엘리먼트에 대해서는 상기 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to another embodiment of the present invention, a method of encoding a video signal may include: performing modeling on the element to reflect actual statistics on an element representing the video signal; And generating a bit stream for the element based on the generated model, wherein the performing of the modeling includes: a model for the element when a network abstract layer (NAL) starts; Initializing, but initializing, based on a model last updated in the previous NAL, an element common to the previous NAL associated with the current NAL; And updating a model for the element based on the binary symbols of the element.

상기 실시예에서, 현재 NAL의 엘리먼트에 대한 모델은 동일한 슬라이스로부 터 분할된 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 한다.In the above embodiment, the model for the element of the current NAL is characterized in that it is initialized based on the last updated model in the immediately preceding NAL partitioned from the same slice.

또한, 상기 실시예는, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 또는 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는지를 가리키는 정보를 NAL 헤더에 기록하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.In addition, the embodiment further comprises the step of recording in the NAL header information indicating whether the model for the element is initialized to a predetermined value or based on the last updated model in the immediately preceding NAL. .

본 발명의 일 실시예에 따른 인코딩 된 비트 스트림을 디코딩 하는 방법은, 인코딩 되어 입력되는 비트 스트림을 기초로, 상기 영상 신호를 나타내는 엘리먼트에 대한 모델링을 수행하는 단계; 및 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 연속되는 심벌을 생성하는 단계를 포함하여 이루어지고, 여기서, 상기 모델링을 수행하는 단계는, 슬라이스가 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 슬라이스와 관련되는 이전 슬라이스(들)에서 공통되는 엘리먼트에 대해서는 임의의 이전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to an embodiment of the present invention, a method of decoding an encoded bit stream includes: modeling an element representing the video signal based on the encoded bit stream; And generating a continuous symbol for the element based on the generated model, wherein the modeling includes initializing a model for the element when a slice starts. Initializing, based on the last updated model in any previous slice, for an element common in the previous slice (s) associated with the current slice; And updating a model for the element based on the binary symbols of the element.

상기 실시예에서, 이전 슬라이스의 모델을 기초로 엘리먼트가 초기화되는 슬라이스는, 이전 슬라이스에 대한 양자화 과정에서 발생하는 손실을 보상하기 위해 생성된 슬라이스인 것을 특징으로 한다.In the above embodiment, the slice in which the element is initialized based on the model of the previous slice is characterized in that the slice is generated to compensate for the loss occurring in the quantization process for the previous slice.

또한, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로, 바로 이전의 슬라이스에서 마지막으로 갱신된 모델을 기초로, 또는 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화할 것인지를 가리키는 정보가 슬라이스 헤더, 픽처 헤 더, GOP 헤더, 또는 시퀀스 헤더 중 적어도 어느 하나로부터 독출되는 것을 특징으로 한다.In addition, the information indicating whether to initialize the model for the element to a predetermined value, based on the last updated model in the previous slice, or based on the last updated model in the first slice includes a slice header, And is read from at least one of a picture header, a GOP header, and a sequence header.

본 발명의 다른 실시예에 따른 인코딩 된 비트 스트림을 디코딩 하는 방법은, 인코딩 되어 입력되는 비트 스트림을 기초로, 상기 영상 신호를 나타내는 엘리먼트에 대한 모델링을 수행하는 단계; 및 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 연속되는 심벌을 생성하는 단계를 포함하여 이루어지고, 여기서, 상기 모델링을 수행하는 단계는, NAL이 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 NAL과 관련되는 이전 NAL에서 공통되는 엘리먼트에 대해서는 임의의 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to another embodiment of the present invention, a method of decoding an encoded bit stream includes: modeling an element representing the video signal based on the encoded bit stream; And generating a continuous symbol for the element based on the generated model, wherein the modeling includes initializing a model for the element when NAL starts. Initializing, based on a model last updated in any previous NAL, an element common to a previous NAL associated with the current NAL; And updating a model for the element based on the binary symbols of the element.

상기 실시예에서, 현재 NAL의 엘리먼트에 대한 모델은 동일한 슬라이스로부터 분할된 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화되고, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 또는 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는지를 가리키는 정보가 NAL 헤더로부터 독출되는 것을 특징으로 한다.In this embodiment, the model for the element of the current NAL is initialized based on the model last updated in the immediately preceding NAL partitioned from the same slice, and the model for the element lasted to a predetermined value or last in the immediately preceding NAL. The information indicating whether to initialize based on the updated model is read from the NAL header.

이하, 본 발명의 바람직한 실시예에 대해 첨부 도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 컨텍스트 기반 적응형 이진 산술 코딩(CABAC) 인코더(100)의 구성을 개략적으로 도시한 것이다. 상기 CABAC 인코더는, 신택스 엘리먼트의 심벌들에 대해서, 해당 신택스 엘리먼트에 대해 정해진 방식으로, 이진 코드 또는 이진수 스트링(bin string)을 생성하는 이진화부(110), 생성되는 bin string 내의 각 bin에 대해서, 최근에 코딩 된 심벌의 통계에 따라 컨텍스트 모델을 선택하고 또한 상기 선택된 컨텍스트 모델에 대한 내부 상태(MPS 또는 LPS의 발생 확률과 MPS 값)를 적응적으로 변경하는 컨텍스트 모델러(context modeler)(120), 및 변경되는 내부 상태를 기초로, 상기 이진화된 심벌을 산술 코딩 방법에 따라 인코딩 하는 산술 코더(arithmetic coder)(130)로 구성된다.2 schematically illustrates the configuration of a context based adaptive binary arithmetic coding (CABAC) encoder 100. The CABAC encoder, for symbols in the syntax element, in the manner defined for the syntax element, the binarization unit 110 for generating a binary code or a binary string (bin string), for each bin in the generated bin string, A context modeler 120 which selects a context model according to statistics of recently coded symbols and also adaptively changes an internal state (probability of occurrence of MPS or LPS and MPS value) for the selected context model, And an arithmetic coder 130 for encoding the binarized symbol according to an arithmetic coding method based on the changed internal state.

상기 산술 코더(130)는, 컨텍스트 모델러에 의해 변경되는 확률(MPS의 발생 확률과 MPS 값으로 표현되는 내부 상태)에 근거하여 각 비트를 생성하는 일반 코딩 엔진(regular coding engine)(131), 및 0과 1의 비트 값의 발생 확률이 거의 균등하여 컨텍스트 모델링의 이점이 없는 신택스 엘리먼트에 대해서 산술 코딩을 수행하는 우회 코딩 엔진(bypass coding engine)(132)을 내부적으로 포함한다.The arithmetic coder 130 generates a regular coding engine 131 for generating each bit based on a probability changed by a context modeler (an occurrence probability of the MPS and an internal state represented by the MPS value), and Internally, there is a bypass coding engine 132 that performs arithmetic coding on syntax elements for which the probability of occurrence of bit values of 0 and 1 is nearly equal so that there is no benefit of context modeling.

슬라이스 레이어 또는 그 아래 레이어의 신택스 엘리먼트가 CABAC을 통해서 코딩 될 수 있다. 또한, CABAC을 통해 코딩 될 수 있는 신택스 엘리먼트에는, 매크로 블록과 관련된 타입 정보(mb_type), non-zero 데이터를 갖는 4x4 블록을 가리키는 CBP(coded_block_pattern) 정보, 양자화와 관련된 정보, 레퍼런스 인덱스 정보, 모션 벡터 관련 정보, 양자화된 변환 계수 정보 등이 있다.The syntax elements of the slice layer or layers below can be coded through CABAC. In addition, syntax elements that can be coded through CABAC include type information (mb_type) related to a macro block, coded_block_pattern (CBP) information indicating a 4x4 block having non-zero data, information related to quantization, reference index information, and a motion vector. Related information, quantized transform coefficient information, and the like.

신택스 엘리먼트는 미리 정해진 방식(또는 주어진 변환 테이블)을 통해 각 심벌(symbol)에 이진 코드(bins)가 할당된다. 다른 신택스 엘리먼트에 대해서는 다른 방식 또는 다른 변환 테이블에 의해 이진화된다.The syntax element is assigned a binary code (bins) to each symbol in a predetermined manner (or given conversion table). For other syntax elements, they are binarized in different ways or by different conversion tables.

신택스 엘리먼트의 심벌로부터 생성된 bins은 상기 산술 코더(130)에 인가되는데, 이때 bin 값이 0과 1 어느 한쪽으로 치우치지 않고 균등하게 분포할 확률을 갖는 경우 산술 코딩의 이익이 별로 없으므로 상기 우회 코딩 엔진(32)에 인가되고, bin 값이 0과 1 어느 한쪽으로 치우치는 확률을 갖는 경우, 상기 컨텍스트 모델러(120)에 인가되어 모델링 과정을 거친다.The bins generated from the symbols of the syntax element are applied to the arithmetic coder 130. When the bin values have a probability of being evenly distributed without biasing to either 0 or 1, the arithmetic coding has little benefit, so the detour coding When applied to the engine 32 and the bin value has a probability of biasing to either 0 or 1, it is applied to the context modeler 120 to undergo a modeling process.

상기 컨텍스트 모델러(120)는, 인접하는 매크로 블록의 동일한 신택스 엘리먼트의 bin 값과 현재 매크로 블록의 신택스 엘리먼트의 최근 bin 값들을 근거로, 인가되는 각 bin에 대한 컨텍스트 모델(확률 함수)을 선택하고, 선택된 확률 함수(확률 테이블)에서 MPS 값과 LPS(또는 MPS)의 확률을 초기화하거나 또는 갱신하여, 상기 산술 코더(130)에 제공한다.The context modeler 120 selects a context model (probability function) for each applied bin based on bin values of the same syntax element of the adjacent macro block and recent bin values of the syntax element of the current macro block, Initialize or update the probability of the MPS value and the LPS (or MPS) in the selected probability function (probability table) and provide it to the arithmetic coder 130.

H.264 표준에는, 각 신택스 엘리먼트에 사용될 컨텍스트 모델과, 각 컨텍스트 모델에서 bin 값에 따라 LPS의 확률을 갱신하는 과정이 미리 정의되어 있다. 또한, H.264 표준에 사용될 서로 다른 컨텍스트 모델들과 관련된 각 확률 함수는 각 슬라이스가 시작할 때마다 미리 정해진 값으로 초기화되고, 인가되는 각 bin과 산술 코딩 되는 비트 값을 기초로 MPS 값과 LPS 확률이 갱신된다.In the H.264 standard, a context model to be used for each syntax element and a process of updating a probability of LPS according to bin values in each context model are predefined. In addition, each probability function associated with different context models to be used in the H.264 standard is initialized to a predetermined value at the beginning of each slice, and the MPS value and LPS probability based on each applied bin and arithmetic coded bit value. Is updated.

한편, 도 3은 퀄러티 베이스 레이어(quality base layer)와 FGS 인핸스드 레이어 사이의 관계를 예를 들어 도시한 것이다.3 illustrates an example of a relationship between a quality base layer and an FGS enhanced layer.

도 3의 예에서, 퀄러티 베이스 레이어는 I(intra), B(bi-predicted), P(predicted) 슬라이스로 구성되고, FGS 인핸스드 레이어는 2개의 레이어로 구성된다. 인코딩 된 비트 스트림은 다음과 같은 순서로 전송된다.In the example of FIG. 3, the quality base layer is composed of I (intra), B (bi-predicted), and P (predicted) slices, and the FGS enhanced layer is composed of two layers. The encoded bit stream is transmitted in the following order.

I0-FGS00-FGS01-P1-FGS10-FGS11-B2-FGS20-FGS21-P3-FGS30-FGS31-B4-FGS40-FGS41-P5-FGS50-FGS51-B6-FGS60-FGS61-I0-FGS00-FGS01-P1-FGS10-FGS11-B2-FGS20-FGS21-P3-FGS30-FGS31-B4-FGS40-FGS41-P5-FGS50-FGS51-B6-FGS60-FGS61-

도 4에 도시한 바와 같이, FGS 인핸스드 레이어의 슬라이스를 포함한 각 슬라이스에 대한 인코딩 또는 디코딩이 시작될 때, CABAC 컨텍스트 모델은 소정의 상태로 초기화된다.As shown in FIG. 4, when encoding or decoding for each slice including a slice of the FGS enhanced layer starts, the CABAC context model is initialized to a predetermined state.

다른 슬라이스와는 다르게, FGS 인핸스드 레이어의 슬라이스는 단지 SNR를 향상시키기 위해 사용되기 때문에, 퀄러티 베이스 레이어의 데이터가 없이는 디코딩 되지 않는다. 또한, 퀄러티 베이스 레이어 없이 디코딩 된 FGS 데이터는 아무 쓸모가 없다. 즉, FGS 인핸스드 레이어에 대한 디코딩은 전적으로 퀄러티 베이스 레이어에 의존한다.Unlike other slices, slices of the FGS enhanced layer are only used to improve SNR and therefore cannot be decoded without the data of the quality base layer. Also, FGS data decoded without a quality base layer is useless. In other words, the decoding of the FGS enhanced layer depends entirely on the quality base layer.

퀄러티 베이스 레이어 또는 이전의 FGS 인핸스드 레이어를 인코딩 또는 디코딩 하는 동안, 각 컨텍스트 모델은 신호의 실제적인 통계를 반영할 수 있도록 갱신된다. FGS 인핸스드 레이어는 동일한 픽처에 대해 SNR이 보강된 레이어이기 때문에, FGS 인핸스드 레이어의 신호 특성은 퀄러티 베이스 레이어(또는 이전 FGS 인핸스드 레이어)의 것과 매우 유사하고 밀접한 관계를 갖는다.While encoding or decoding the quality base layer or the previous FGS enhanced layer, each context model is updated to reflect the actual statistics of the signal. Since the FGS enhanced layer is an SNR-enhanced layer for the same picture, the signal characteristics of the FGS enhanced layer are very similar and closely related to those of the quality base layer (or the previous FGS enhanced layer).

예를 들어, 슬라이스의 대표 양자화 스텝 사이즈와 해당 매크로 블록에 대한 양자화 스텝 사이즈의 차이를 가리키는 mb_qp_delta나, 해당 블록에 데이터가 있는지 여부를 가리키는 CBP(coded_block_pattern)와 같은 신택스 엘리먼트는 퀄러티 베이스 레이어와 FGS 인핸스드 레이어에서 서로 유사한 값을 갖는다.For example, a syntax element such as mb_qp_delta that indicates the difference between the representative quantization step size of the slice and the quantization step size for that macroblock, or CBP (coded_block_pattern) that indicates whether there is data in the block, may be used for quality base layer and FGS enhancement. In the de-layer, they have similar values.

따라서, FGS 인핸스드 레이어의 슬라이스(이후 간단하게 FGS 슬라이스라 함)의 임의의 신택스 엘리먼트에 대한 컨텍스트 모델을 미리 정해진 상태로 초기화하는 것보다는, 이전 슬라이스(퀄러티 베이스 레이어 또는 이전 FGS 인핸스드 레이어)의 마지막 상태를 이용하여 현재의 FGS 슬라이스의 해당 신택스 엘리먼트에 대한 컨텍스트 모델을 초기화하는 것이 더 유리할 수 있다.Thus, rather than initializing the context model for any syntax element of a slice of an FGS enhanced layer (hereinafter simply referred to as an FGS slice) to a predetermined state, the previous slice (quality base layer or previous FGS enhanced layer) It may be more advantageous to initialize the context model for the corresponding syntax element of the current FGS slice using the last state.

본 발명은, 이전 슬라이스를 이용하여 컨텍스트 모델을 초기화할 때, 도 5에 도시한 바와 같이, 이전 FGS 슬라이스의 마지막 상태를 이용하여 초기화하거나, 도 6에 도시한 바와 같이, 퀄러티 베이스 레이어의 슬라이스의 마지막 상태를 이용하여 초기화한다.In the present invention, when initializing a context model using a previous slice, as shown in FIG. 5, the present invention may be initialized using a last state of a previous FGS slice, or as shown in FIG. 6. Initialize using the last state.

또한, 본 발명은, 예를 들어 init_cabac_FGS_idc 신택스를 이용하여 이러한 초기화 방법이 적응적으로 이용될 수 있도록 한다. 상기 init_cabac_FGS_idc 신택스는 현재 FGS 슬라이스의 컨텍스트 모델에 사용될 다음과 같은 초기화 방법을 지정한다.In addition, the present invention allows this initialization method to be adaptively used, for example, using the init_cabac_FGS_idc syntax. The init_cabac_FGS_idc syntax specifies the following initialization method to be used in the context model of the current FGS slice.

i) 퀄러티 베이스 레이어와 동일한 방법i) same method as the quality base layer

ii) 이전 FGS 슬라이스의 마지막 상태를 이용하여 초기화하는 방법,ii) initializing using the last state of the previous FGS slice,

iii) 퀄러티 베이스 레이어의 마지막 상태를 이용하여 초기화하는 방법.iii) Initialize using the last state of the quality base layer.

상기 init_cabac_FGS_idc 신택스는 슬라이스 헤더에 정의될 수 있다. 일반적으로 픽셀에서 시퀀스까지의 비디오 시퀀스는, 픽셀 -> 블록 -> 서브 매크로 블록 -> 매크로 블록 -> 슬라이스 -> 픽처 -> 시퀀스의 계층적 구조를 이룬다. 따라 서, 상기 신택스는, 슬라이스를 포함하는, 시퀀스 헤더 내의 시퀀스 파라미터 셋(SSP : Sequence Parameter Set)에, 픽처 헤더 내의 픽처 파라미터 셋(PPS : Picture Parameter Set)에, 또는 GOP(Group Of Picture) 헤더 내에 정의될 수도 있다.The init_cabac_FGS_idc syntax may be defined in a slice header. In general, the video sequence from pixel to sequence is hierarchical structure of pixel-> block-> sub macro block-> macro block-> slice-> picture-> sequence. Accordingly, the syntax may include a sequence parameter set (SSP) in a sequence header, a picture parameter set (PPS) in a picture header, or a group of picture (GOP) header including a slice. It may be defined within.

본 발명에 따른 CABAC 인코더(100)에서, 상기 컨텍스트 모델러(120)는, FGS 슬라이스를 시작할 때, 이전 FGS 슬라이스 또는 퀄러티 베이스 레이어의 슬라이스의 마지막 상태(확률 함수, 및 MPS 값과 상기 확률 함수에서의 LPS의 확률)를 입력 받아, 해당 신택스 엘리먼트에 대한 컨텍스트 모델을 초기화한다.In the CABAC encoder 100 according to the present invention, the context modeler 120, at the beginning of the FGS slice, determines the last state (probability function, and MPS value and the probability function) of the slice of the previous FGS slice or the quality base layer. LPS probability), and initializes the context model for the syntax element.

한편, 비디오 시퀀스 레이어에 더해, 오디오와 같은 보조 데이터 스트림 및 비디오 데이터의 전달과 관련된 패킷화, 채널 코딩과 같은 추가적인 계층적 구조(레이어)가 필요하다. 모션 예측, 2-D 변환, 양자화, 스캔, 엔트로피 코딩과 같은 비디오 압축 툴은 기본적으로 슬라이스 레이어 또는 그 아래 레이어에서 동작한다.On the other hand, in addition to the video sequence layer, additional hierarchical structures (layers) such as packetization and channel coding associated with the delivery of auxiliary data streams such as audio and video data are needed. Video compression tools such as motion prediction, 2-D transform, quantization, scan, and entropy coding basically operate on the slice layer or layers below it.

따라서, 슬라이스 레이어 또는 그 아래 레이어와 관련된 데이터는 비디오 코딩 레이어(VCL : Video Coding Layer)로 식별되고, 그 위 레이어와 관련된 데이터는 NAL(Network Abstract Layer)로 식별된다. VCL과 NAL은, 하나의 비트 스트림의 일부로 같이 전송될 수도 있고, 별개로 전송될 수 있다. 특정 VCL 비트 스트림은, 방송, 무선, 또는 미디어와 같은 다양한 전송 프레임 구조(frameworks)에 맞추기 위해 고안된 서로 다른 NAL에 포함될 수도 있다.Accordingly, data related to the slice layer or a layer below it is identified as a video coding layer (VCL), and data related to the layer above it is identified as a network abstract layer (NAL). The VCL and the NAL may be transmitted together as part of one bit stream or may be transmitted separately. Specific VCL bit streams may be included in different NALs designed to fit various transport frameworks, such as broadcast, wireless, or media.

예를 들어, 도 7에 도시한 바와 같이, 양자화된 변환 계수는 매크로 블록 단 위(또는 블록 단위)로 지그재그 스캔 된다.For example, as shown in FIG. 7, the quantized transform coefficients are zigzag scanned in macroblock units (or block units).

이때, 현재 매크로 블록에서 0이 아닌 비트가 있는 픽셀까지 스캔 하고, 다음 매크로 블록에서도 0이 아닌 비트가 있는 픽셀까지 스캔 하는 동작이 해당 슬라이스의 마지막 매크로 블록까지 하나의 사이클(cycle #n)로 수행되고, 다시 처음 매크로 블록부터 마지막 매크로 블록까지 각 매크로 블록마다 이전 사이클에서 마지막으로 스캔 한 픽셀에서부터 다음 0이 아닌 비트가 있는 픽셀까지 스캔 하는 동작이 다음 사이클(cycle #(n+1))로 수행된다.In this case, the operation of scanning up to the pixel with the nonzero bit in the current macroblock and the pixel with the nonzero bit in the next macroblock is performed in one cycle (cycle #n) to the last macroblock of the slice. Then, for each macro block, from the first macro block to the last macro block, the scan from the last pixel scanned in the previous cycle to the pixel with the next nonzero bit is performed in the next cycle (cycle # (n + 1)). do.

이 경우, 각 사이클은 서로 다른 NAL을 통해 전송될 수 있다. 즉, 하나의 슬라이스는, 도 7에 도시한 바와 같이, 여러 개의 NAL(NAL unit #0, NAL unit #1, )로 분할되어 전송될 수 있다. 이와 같이 하나의 슬라이스가 여러 개의 NAL로 분할되는 경우, 각 NAL에는 해당 슬라이스 헤더의 내용이 첨부되고, 각 NAL마다 첨부되는 슬라이스 헤더 내의 파라미터, 즉 신택스 엘리먼트는 서로 다를 수 있다.In this case, each cycle may be transmitted through a different NAL. That is, one slice may be divided into several NALs (NAL unit # 0, NAL unit # 1,) and transmitted as shown in FIG. 7. As described above, when one slice is divided into several NALs, contents of a corresponding slice header are attached to each NAL, and parameters, that is, syntax elements, in the slice header attached to each NAL may be different.

스캔 후의 엔트로피 인코딩 및 디코딩은 NAL 단위로 이루어지고, 신택스 엘리먼트에 대한 초기화 동작도 NAL이 시작될 때마다 수행된다. 서로 다른 NAL에 포함되지만 서로 관련된, 즉 동일한 슬라이스의 신택스 엘리먼트에 대해서 NAL이 시작될 때마다 미리 정해진 값으로 초기화되는 것은 산술 코딩 관점에서 효율적이지 않다.Entropy encoding and decoding after scanning is performed in units of NAL, and an initialization operation on syntax elements is also performed every time NAL starts. It is not efficient in terms of arithmetic coding that it is contained in different NALs but initialized to a predetermined value each time a NAL is started for related, ie, syntax elements of the same slice.

따라서, 본 발명에서는, NAL을 시작하면서 신택스 엘리먼트를 초기화할 때, 이전 NAL과 관련된 신택스 엘리먼트의 컨텍스트 모델에 대해서는 이전 NAL에서 갱신한 마지막 상태를 이용하여 초기화한다.Therefore, in the present invention, when initializing a syntax element while starting the NAL, the context model of the syntax element associated with the previous NAL is initialized using the last state updated in the previous NAL.

본 발명에 따른 CABAC 인코더(100)에서, 상기 컨텍스트 모델러(120)는, NAL을 시작할 때, 동일한 슬라이스로부터 분할된 이전 NAL과 관련된 신택스 엘리먼트에 대해서는, 이전 NAL의 마지막 상태를 입력 받아 컨텍스트 모델을 초기화한다.In the CABAC encoder 100 according to the present invention, when the NAL starts, the context modeler 120 initializes the context model by receiving the last state of the previous NAL with respect to syntax elements related to the previous NAL divided from the same slice. do.

지금까지 설명한 방법에 의해 인코딩 된 데이터 스트림은 유선 또는 무선으로 전송되거나 기록 매체를 매개로 하여 전달된다.The data stream encoded by the method described so far is transmitted by wire or wirelessly or via a recording medium.

도 8의 CABAC 디코더(200)에 대한 구성을 개략적으로 도시한 것이다. 컨텍스트 모델러(210)는, 코딩 되어 입력되는 비트 스트림을 기초로 신택스 엘리먼트에 대한 컨텍스트 모델링 동작을 수행하여 산술 디코더(220)에 전달하고, 상기 산술 디코더(220)는 컨텍스트 모델의 상태를 기초로 코딩 되어 입력되는 비트 값으로부터 bin 스트링을 생성 하고, 역이진화부(230)는 bin 스트링을 원래의 신택스 엘리먼트의 심벌로 변환한다.8 schematically illustrates a configuration of the CABAC decoder 200 of FIG. 8. The context modeler 210 performs a context modeling operation on a syntax element based on a coded and input bit stream, and delivers it to the arithmetic decoder 220, and the arithmetic decoder 220 codes based on a state of a context model. And generate a bin string from the input bit value, and the debinarization unit 230 converts the bin string into a symbol of the original syntax element.

본 발명에 따른 컨텍스트 모델러(210)는, 슬라이스 또는 NAL을 시작하면서 신택스 엘리먼트에 대한 초기화 동작을 수행할 때, 이전의 슬라이스 또는 NAL과 관련되는 신택스 엘리먼트에 대해서는, 베이스 레이어의 슬라이스 또는 이전 FGS 슬라이스, 또는 이전 NAL의 마지막 상태를 이용한다.When the context modeler 210 performs an initialization operation on a syntax element while starting a slice or NAL, the context modeler 210 may include a slice of a base layer or a previous FGS slice, for a previous slice or a syntax element associated with the NAL. Or use the last state of the previous NAL.

도 8의 CABAC 디코더를 포함하는 디코딩 장치는, 이동 통신 단말기 등에 실장되거나 또는 기록 매체를 재생하는 장치에 실장될 수 있다.The decoding apparatus including the CABAC decoder of FIG. 8 may be mounted in a mobile communication terminal or the like or in an apparatus for reproducing a recording medium.

이상, 전술한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.As described above, preferred embodiments of the present invention have been disclosed for the purpose of illustration, and those skilled in the art can improve, change, and further various embodiments within the technical spirit and the technical scope of the present invention disclosed in the appended claims. Replacement or addition may be possible.

따라서, CABAC에서 신택스 엘리먼트에 대한 컨텍스트 모델을 효율적으로 초기화하고, 코딩 효율을 향상시킬 수 있게 된다.Therefore, it is possible to efficiently initialize the context model for syntax elements in CABAC and improve coding efficiency.

Claims (18)

영상 신호를 나타내는 엘리먼트에 대한 실제 통계를 반영하여 압축된 비트 스트림을 생성할 수 있도록, 상기 엘리먼트에 대한 모델링을 수행하는 단계를 포함하여 이루어지고,And performing modeling on the element to generate a compressed bit stream reflecting actual statistics on an element representing an image signal, 여기서, 상기 모델링을 수행하는 단계는,Here, the step of performing the modeling, 슬라이스가 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 슬라이스와 관련되는 이전 슬라이스(들)에서 공통되는 엘리먼트에 대해서는 임의의 이전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및When a slice starts, initializing a model for the element, for an element common to the previous slice (s) associated with the current slice, based on the last updated model in any previous slice; And 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.Updating the model for the element based on the binarized symbols of the element. 제 1항에 있어서,The method of claim 1, 엘리먼트에 대한 모델링 동작은, 엘리먼트의 이진화된 심벌을 이용하여, 상기 심벌의 각 이진수에 대한 확률 함수, 가장 확률이 높은 비트 값(MPS), 및 상기 확률 함수에서 상기 MPS 또는 상기 MPS와 반대인 비트 값에 대한 확률 값을 선택하는 과정인 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.The modeling operation on an element uses a binary symbol of the element to determine the probability function for each binary number of the symbol, the most probable bit value (MPS), and the bit opposite to the MPS or the MPS in the probability function. The method of encoding a video signal, characterized in that the process of selecting a probability value for the value. 제 1항에 있어서,The method of claim 1, 이전 슬라이스의 모델을 기초로 엘리먼트가 초기화되는 슬라이스는, 이전 슬라이스에 대한 양자화 과정에서 발생하는 손실을 보상하기 위해 생성되는 슬라이스인 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.And a slice in which an element is initialized based on a model of a previous slice is a slice generated to compensate for a loss occurring in the quantization process for the previous slice. 제 3항에 있어서,The method of claim 3, wherein 양자화 과정에서 발생하는 손실을 보상하기 위해 생성되는 슬라이스가 다수인 경우, 현재 슬라이스의 엘리먼트에 대한 모델은 상기 다수의 슬라이스 중에서 바로 이전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.If there are a plurality of slices generated to compensate for the loss occurring in the quantization process, the model for the elements of the current slice is initialized based on the last updated model from the previous slice among the plurality of slices. How to encode a signal. 제 3항에 있어서,The method of claim 3, wherein 양자화 과정에서 발생하는 손실을 보상하기 위해 생성되는 슬라이스가 다수인 경우, 현재 슬라이스의 엘리먼트에 대한 모델은 상기 다수의 슬라이스 중에서 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.If there are a plurality of slices generated to compensate for the loss occurring in the quantization process, an image of an element of the current slice is initialized based on a model last updated in the first slice among the plurality of slices. How to encode a signal. 제 3항에 있어서,The method of claim 3, wherein 상기 엘리먼트에 대한 모델을 초기화하는 방법을 가리키는 정보를 기록하는 단계를 더 포함하여 이루어지고,And recording information indicating how to initialize the model for the element, 여기서, 상기 정보는, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 초 기화하거나, 바로 이전의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하거나, 또는 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 것 중 어느 하나를 가리키는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.Here, the information may be initialized to a model for the element to a predetermined value, based on a model last updated in the immediately previous slice, or based on a model last updated in the first slice. A method of encoding a video signal, characterized in that it refers to either. 제 6항에 있어서,The method of claim 6, 상기 정보는 슬라이스 헤더, 픽처 헤더, GOP 헤더, 또는 시퀀스 헤더 중 적어도 어느 하나에 기록되는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.Wherein the information is recorded in at least one of a slice header, a picture header, a GOP header, or a sequence header. 영상 신호를 나타내는 엘리먼트에 대한 실제 통계를 반영할 수 있도록, 상기 엘리먼트에 대한 모델링을 수행하는 단계; 및Performing modeling on the element to reflect actual statistics on the element representing the image signal; And 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 비트 스트림을 생성하는 단계를 포함하여 이루어지고,Based on the generated model, generating a bit stream for the element, 여기서, 상기 모델링을 수행하는 단계는,Here, the step of performing the modeling, NAL(Network Abstract Layer)이 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 NAL과 관련되는 이전 NAL에서 공통되는 엘리먼트에 대해서는 상기 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및Initializing a model for the element when a network abstract layer (NAL) starts, and initializing the element common to the previous NAL associated with the current NAL based on the model last updated in the previous NAL; And 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.Updating the model for the element based on the binarized symbols of the element. 제 8항에 있어서,The method of claim 8, 현재 NAL의 엘리먼트에 대한 모델은 동일한 슬라이스로부터 분할된 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.And the model for the element of the current NAL is initialized based on the last updated model in the immediately preceding NAL partitioned from the same slice. 제 9항에 있어서,The method of claim 9, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 또는 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는지를 가리키는 정보를 NAL 헤더에 기록하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 신호를 인코딩 하는 방법.And recording in the NAL header information indicating whether the model for the element is initialized to a predetermined value or based on the last updated model in the immediately preceding NAL. 인코딩 되어 입력되는 비트 스트림을 기초로, 상기 영상 신호를 나타내는 엘리먼트에 대한 모델링을 수행하는 단계; 및Modeling an element representing the video signal based on the encoded bit stream; And 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 연속되는 심벌을 생성하는 단계를 포함하여 이루어지고,Generating a continuous symbol for the element based on the generated model, 여기서, 상기 모델링을 수행하는 단계는,Here, the step of performing the modeling, 슬라이스가 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 슬라이스와 관련되는 이전 슬라이스(들)에서 공통되는 엘리먼트에 대해서는 임의의 이 전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및When a slice starts, initializing a model for the element, for an element common to the previous slice (s) associated with the current slice, based on the last updated model in any previous slice; And 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.Updating the model for the element based on the binarized symbols of the element. 제 11항에 있어서,The method of claim 11, 이전 슬라이스의 모델을 기초로 엘리먼트가 초기화되는 슬라이스는, 이전 슬라이스에 대한 양자화 과정에서 발생하는 손실을 보상하기 위해 생성된 슬라이스인 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.And the slice in which the element is initialized based on the model of the previous slice is a slice generated to compensate for the loss incurred in the quantization process for the previous slice. 제 12항에 있어서,The method of claim 12, 양자화 과정에서 발생하는 손실을 보상하기 위해 생성된 슬라이스가 다수인 경우, 현재 슬라이스의 엘리먼트에 대한 모델은 상기 다수의 슬라이스 중에서 바로 이전 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.If there are a plurality of slices generated to compensate for the loss occurring in the quantization process, the model for the elements of the current slice is initialized based on the last updated model from the previous slice among the plurality of slices. The decoded bit stream. 제 12항에 있어서,The method of claim 12, 양자화 과정에서 발생하는 손실을 보상하기 위해 생성된 슬라이스가 다수인 경우, 현재 슬라이스의 엘리먼트에 대한 모델은 상기 다수의 슬라이스 중에서 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.Encoding of the elements of the current slice is initialized based on the last updated model in the first slice among the plurality of slices, if there are a plurality of slices generated to compensate for the loss occurring in the quantization process The decoded bit stream. 제 12항에 있어서,The method of claim 12, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로, 바로 이전의 슬라이스에서 마지막으로 갱신된 모델을 기초로, 또는 최초의 슬라이스에서 마지막으로 갱신된 모델을 기초로 초기화할 것인지를 가리키는 정보를 슬라이스 헤더, 픽처 헤더, GOP 헤더, 또는 시퀀스 헤더 중 적어도 어느 하나로부터 독출하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.Slice header, picture header, indicating whether to initialize the model for the element to a predetermined value, based on the last updated model in the immediately previous slice, or based on the last updated model in the first slice. And reading from at least one of a GOP header or a sequence header. 인코딩 되어 입력되는 비트 스트림을 기초로, 상기 영상 신호를 나타내는 엘리먼트에 대한 모델링을 수행하는 단계; 및Modeling an element representing the video signal based on the encoded bit stream; And 상기 생성되는 모델을 기초로, 상기 엘리먼트에 대한 연속되는 심벌을 생성하는 단계를 포함하여 이루어지고,Generating a continuous symbol for the element based on the generated model, 여기서, 상기 모델링을 수행하는 단계는,Here, the step of performing the modeling, NAL이 시작될 때, 상기 엘리먼트에 대한 모델을 초기화하되, 현재 NAL과 관련되는 이전 NAL에서 공통되는 엘리먼트에 대해서는 임의의 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는 단계; 및When a NAL starts, initializing a model for the element, but for an element common to a previous NAL associated with a current NAL based on a model last updated in any previous NAL; And 상기 엘리먼트의 이진화된 심벌들을 기초로, 상기 엘리먼트에 대한 모델을 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 인코딩 된 비트 스트림 을 디코딩 하는 방법.Updating the model for the element based on the binarized symbols of the element. 제 16항에 있어서,The method of claim 16, 현재 NAL의 엘리먼트에 대한 모델은 동일한 슬라이스로부터 분할된 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화되는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법.And the model for the elements of the current NAL is initialized based on the last updated model in the immediately preceding NAL partitioned from the same slice. 제 16항에 있어서,The method of claim 16, 상기 엘리먼트에 대한 모델을 미리 정해진 값으로 또는 바로 이전 NAL에서 마지막으로 갱신된 모델을 기초로 초기화하는지를 가리키는 정보를 NAL 헤더로부터 독출하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 인코딩 된 비트 스트림을 디코딩 하는 방법And decoding information from the NAL header indicating whether the model for the element is initialized to a predetermined value or based on the last updated model in the immediately preceding NAL. How to
KR1020060014309A 2005-05-26 2006-02-14 Method for encoding and decoding video signal KR20060122684A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68459005P 2005-05-26 2005-05-26
US60/684,590 2005-05-26

Publications (1)

Publication Number Publication Date
KR20060122684A true KR20060122684A (en) 2006-11-30

Family

ID=37707970

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020050115575A KR20060122671A (en) 2005-05-26 2005-11-30 Method for scalably encoding and decoding video signal
KR1020060014309A KR20060122684A (en) 2005-05-26 2006-02-14 Method for encoding and decoding video signal
KR1020060047362A KR101253156B1 (en) 2005-05-26 2006-05-26 Method for encoding/decoding video signal

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020050115575A KR20060122671A (en) 2005-05-26 2005-11-30 Method for scalably encoding and decoding video signal

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020060047362A KR101253156B1 (en) 2005-05-26 2006-05-26 Method for encoding/decoding video signal

Country Status (2)

Country Link
KR (3) KR20060122671A (en)
CN (3) CN101185333A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8649433B2 (en) 2006-08-25 2014-02-11 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
KR101366288B1 (en) * 2006-12-13 2014-02-21 엘지전자 주식회사 A method and apparatus for decoding a video signal

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781525B1 (en) * 2006-04-06 2007-12-03 삼성전자주식회사 Method and apparatus for encoding and decoding FGS layers using weighting factor
KR101066117B1 (en) * 2009-11-12 2011-09-20 전자부품연구원 Method and apparatus for scalable video coding
CN102088605B (en) * 2011-02-23 2012-12-05 浙江大学 Rapid interlayer prediction selection method for scalable video coding
CN103379320B (en) * 2012-04-16 2016-11-23 华为技术有限公司 Video image code flow processing method and equipment
CN104396241B (en) * 2012-09-28 2016-08-24 索尼公司 Image processing apparatus and method
KR101812615B1 (en) 2012-09-28 2017-12-27 노키아 테크놀로지스 오와이 An apparatus, a method and a computer program for video coding and decoding
KR20140087971A (en) 2012-12-26 2014-07-09 한국전자통신연구원 Method and apparatus for image encoding and decoding using inter-prediction with multiple reference layers
US9584808B2 (en) * 2013-02-22 2017-02-28 Qualcomm Incorporated Device and method for scalable coding of video information
KR20160005027A (en) * 2013-04-17 2016-01-13 주식회사 윌러스표준기술연구소 Video signal processing method and apparatus
EP2988505A4 (en) * 2013-04-17 2016-10-05 Wilus Inst Standards & Technology Inc Video signal processing method and apparatus
WO2014171770A1 (en) * 2013-04-17 2014-10-23 주식회사 윌러스표준기술연구소 Video signal processing method and apparatus
WO2015064990A1 (en) 2013-10-29 2015-05-07 주식회사 케이티 Multilayer video signal encoding/decoding method and device
EP3251350B1 (en) * 2015-01-29 2023-04-19 VID SCALE, Inc. Intra-block copy searching

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253008C (en) * 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 Spatial scalable compression
US20040086041A1 (en) * 2002-10-30 2004-05-06 Koninklijke Philips Electronics N.V. System and method for advanced data partitioning for robust video transmission
KR100679035B1 (en) * 2005-01-04 2007-02-06 삼성전자주식회사 Deblocking filtering method considering intra BL mode, and video encoder/decoder based on multi-layer using the method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8649433B2 (en) 2006-08-25 2014-02-11 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8660179B2 (en) 2006-08-25 2014-02-25 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8681863B2 (en) 2006-08-25 2014-03-25 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8711932B2 (en) 2006-08-25 2014-04-29 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8718136B2 (en) 2006-08-25 2014-05-06 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8724700B2 (en) 2006-08-25 2014-05-13 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8761255B2 (en) 2006-08-25 2014-06-24 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8767827B2 (en) 2006-08-25 2014-07-01 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8855200B2 (en) 2006-08-25 2014-10-07 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
KR101366288B1 (en) * 2006-12-13 2014-02-21 엘지전자 주식회사 A method and apparatus for decoding a video signal
KR101366289B1 (en) * 2006-12-13 2014-02-21 엘지전자 주식회사 A method and apparatus for decoding/encoding a video signal

Also Published As

Publication number Publication date
CN101185332A (en) 2008-05-21
CN101185343A (en) 2008-05-21
KR20060122754A (en) 2006-11-30
KR20060122671A (en) 2006-11-30
CN101185333A (en) 2008-05-21
KR101253156B1 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
KR20060122684A (en) Method for encoding and decoding video signal
JP6526869B2 (en) Adaptive Coding of Prediction Error in Hybrid Video Coding
US9124891B2 (en) Method for modeling coding information of a video signal to compress/decompress the information
US7262721B2 (en) Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
KR101158439B1 (en) Method for modeling coding information of video signal for compressing/decompressing coding information
US8345752B2 (en) Method and apparatus for entropy encoding/decoding
US20160165234A1 (en) Modified coding for a transform skipped block for cabac in hevc
EP1768415A1 (en) Adaptive scan order of DCT coefficients and its signaling
US20070237240A1 (en) Video coding method and apparatus supporting independent parsing
US20060232452A1 (en) Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same
JP6526099B2 (en) Modified Coding for Transform-Skipped Blocks for CABAC in HEVC
US10284864B2 (en) Content initialization for enhancement layer coding
US7348903B2 (en) Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method
WO2004038921A2 (en) Method and system for supercompression of compressed digital video
WO1999029115A1 (en) Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US20070177664A1 (en) Entropy encoding/decoding method and apparatus
KR20140035507A (en) Vlc coefficient coding for luma and chroma block
US20220150522A1 (en) Methods and apparatus of residual and coefficient coding
US20070230811A1 (en) Method of enhancing entropy-coding efficiency, video encoder and video decoder thereof
KR20070033313A (en) Rate-Distorted Video Data Segmentation Using Convex Hull Search
EP1841235A1 (en) Video compression by adaptive 2D transformation in spatial and temporal direction
KR100801967B1 (en) Encoder and decoder for Context-based Adaptive Variable Length Coding, methods for encoding and decoding the same, and a moving picture transmission system using the same
Wang et al. Slice group based multiple description video coding with three motion compensation loops
EP1768416A1 (en) Frequency selective video compression and quantization
WO2021202556A1 (en) Lossless coding modes for video coding

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination