KR20120004319A - Apparatus and method for performing parallel entropy encoding and decoding - Google Patents

Apparatus and method for performing parallel entropy encoding and decoding Download PDF

Info

Publication number
KR20120004319A
KR20120004319A KR1020100132387A KR20100132387A KR20120004319A KR 20120004319 A KR20120004319 A KR 20120004319A KR 1020100132387 A KR1020100132387 A KR 1020100132387A KR 20100132387 A KR20100132387 A KR 20100132387A KR 20120004319 A KR20120004319 A KR 20120004319A
Authority
KR
South Korea
Prior art keywords
bin
bins
probability
coding
lpb
Prior art date
Application number
KR1020100132387A
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 KR20120004319A publication Critical patent/KR20120004319A/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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

PURPOSE: An apparatus for performing entropy encoding and decoding in parallel is provided to perform entropy encoding and decoding for the selection and update of a context model and for each bin encoding and decoding. CONSTITUTION: An information generator(610) creates entropy encoding slice information. A plurality of binarization units(620) binarizes a plurality of entropy encoding slices. A plurality of context modeling units(630) creates a coding bins. A plurality of bin encoder determination units(640) assigns the coding bins to bin encoders. A plurality of bin encoders(660) creates code words through a bin encoding of the coding bins.

Description

병렬적으로 엔트로피 부호화 및 복호화를 수행하는 장치 및 방법{APPARATUS AND METHOD FOR PERFORMING PARALLEL ENTROPY ENCODING AND DECODING}Apparatus and method for performing entropy encoding and decoding in parallel {APPARATUS AND METHOD FOR PERFORMING PARALLEL ENTROPY ENCODING AND DECODING}

본 발명은 동영상 등의 영상 데이터를 엔트로피 부호화 및 엔트로피 복호화하는 기술에 관한 것이다. The present invention relates to a technique for entropy encoding and entropy decoding of image data such as moving pictures.

비디오 부호화 및 복호화에서 엔트로피 부호화(Entropy Coding)로 사용하는 CABAC(Context-Adaptive Binary Arithmetic Coding)은 주변 블록의 부호화 정보와 이전 단계에서 부호화 또는 복호화된 빈(bin)의 발생 확률을 이용하여 엔트로피 부호화 및 복호화를 수행한다.Context-Adaptive Binary Arithmetic Coding (CABAC), which is used as entropy coding in video encoding and decoding, uses entropy encoding and encoding by using encoding information of neighboring blocks and occurrence probability of bins encoded or decoded in a previous step. Perform decryption.

이때, 부호화 장치는, 주변 블록의 부호화 정보와 이전 단계에서 부호화된 빈의 정보를 이용하여 문맥 모델을 선택하고, 선택된 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈 인코딩을 수행하고 다음 빈의 문맥 모델을 위해 인코딩된 빈의 정보를 업데이트하는 방식으로 엔트로피 부호화를 수행한다.In this case, the encoding apparatus selects a context model using encoding information of the neighboring block and information about the bin encoded in the previous step, predicts the occurrence probability of the bin according to the selected model, and performs the encoding of the next bin. Entropy encoding is performed by updating the encoded bean information for the context model of.

하지만 이러한 방식의 직렬화된 특성을 가진 문맥 모델 처리 방식과 단일 빈 인코더는 고해상도의 영상을 부호화할 시에 요구되는 작업량이 많아지게 된다. 이에 따라, 작업량의 병렬화를 통해서 효율적으로 처리 가능한 엔트로피 부호화기 및 복호화기가 필요하다.However, the context model processing method and the single bin encoder having the serialized characteristics of this method increase the amount of work required when encoding a high resolution image. Accordingly, there is a need for an entropy encoder and decoder that can efficiently process through parallelism of workload.

본 발명은 영상을 부호화 및 복호화함에 있어서, 엔트로피 부호화 및 복호화를 병렬적으로 수행할 수 있는 부호화 장치 및 방법, 그리고 복호화 장치 및 방법을 제공한다.The present invention provides an encoding apparatus and method, and a decoding apparatus and method capable of performing entropy encoding and decoding in parallel in encoding and decoding an image.

또한, 본 발명은 빈(bin)의 발생 빈도수, 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여 확률 구간의 개수, 확률 구간의 크기 및 대표 확률을 조절하여 병렬로 엔트로피 부호화를 수행할 수 있는 부호화 장치 및 방법, 그리고 병렬로 엔트로피 복호화를 수행할 수 있는 복호화 장치 및 방법을 제공한다.In addition, the present invention can perform entropy encoding in parallel by adjusting the number of probability intervals, the size of the probability interval, and the representative probability based on any one of a frequency of occurrence of a bin, an encoding efficiency, and the number of bin decoders. A coding apparatus and method, and a decoding apparatus and method capable of performing entropy decoding in parallel are provided.

본 발명의 일실시예에 따른 부호화 장치는, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하고, 상기 영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성하는 정보 생성부, 상기 복수의 엔트로피 부호화 슬라이스를 이진화하여 빈 열(bin sequence)로 변환하는 복수의 이진화부, 상기 빈 열을 구성하는 빈들과 빈(bin)들의 LPB(Less Probable Bin)를 이용하여 코딩 빈들을 생성하는 복수의 문맥 모델링부, 상기 빈 열을 구성하는 빈들의 LPB 확률에 기초하여 코딩 빈들을 빈 인코더에 할당하는 복수의 빈 인코더 결정부, 상기 빈 인코더 이전에 위치하며, 상기 코딩 빈들을 보관하는 복수의 개별 버퍼, 및 상기 코딩 빈들을 빈 인코딩하여 코드워드들을 생성하는 복수의 빈 인코더를 포함할 수 있다.An encoding apparatus according to an embodiment of the present invention includes an information generation unit for dividing image data into a plurality of entropy coded slices and generating entropy coded slice information including a unit of dividing the image data into entropy coded slices. A plurality of binarization units for binarizing a plurality of entropy encoding slices and converting them into a bin sequence, and generating a plurality of coding bins by using bins constituting the bin column and Less Probable Bins (LPBs) of bins A context modeler of a plurality of bin encoders for allocating coding bins to a bin encoder based on LPB probabilities of the bins constituting the bin column, and a plurality of individual elements located before the bin encoder and storing the coding bins And a plurality of bin encoders that bin encode the coding bins to generate codewords.

또한, 상기 복수의 문맥 모델링부는, 빈의 문맥 정보, 및 빈의 위치에 기초하여 상기 빈들의 LPB 및 LPB 확률을 각각 결정할 수 있다. 그러면, 상기 복수의 빈 인코더 결정부는, 복수의 확률 구간들 중에서 상기 빈들의 LPB 확률이 속하는 확률 구간을 각각 결정하고, 상기 코딩 빈들을 상기 결정된 확률 구간 각각에 대응하는 복수의 빈 인코더에 각각 할당할 수 있다.The contextual modeling unit may determine LPB and LPB probabilities of the bins based on the context information of the bin and the location of the bin, respectively. Then, the plurality of bin encoder determiners each determine a probability section to which the LPB probability of the bins belong among a plurality of probability sections, and allocate the coding bins to a plurality of bin encoders corresponding to each of the determined probability sections, respectively. Can be.

또한, 상기 복수의 문맥 모델링부는, 상기 빈들의 LPB 및 상기 빈들의 LPB 확률을 업데이트할 수 있다.The contextual modeling unit may update the LPBs of the bins and the LPB probabilities of the bins.

또한, 상기 복수의 개별 버퍼는, 상기 복수의 빈 인코더와 동일한 개수를 가질 수 있다.In addition, the plurality of individual buffers may have the same number as the plurality of empty encoders.

또한, 상기 코드워드들을 모아서 생성된 복수의 부분 비트스트림(partial bitstream), 및 상기 엔트로피 부호화 슬라이스 정보를 다중화하는 다중화부를 더 포함할 수 있다.The apparatus may further include a plurality of partial bitstreams generated by collecting the codewords, and a multiplexer which multiplexes the entropy coded slice information.

본 발명의 일실시예에 따른 부호화 방법은, 영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성하는 단계, 상기 복수의 엔트로피 부호화 슬라이스를 각각 이진화하여 빈 열(bin sequence)로 변환하는 단계, 상기 빈 열을 구성하는 빈들과 빈(bin)들의 LPB(Less Probable Bin)를 이용하여 코딩 빈들을 병렬적으로 생성하는 단계, 상기 빈 열을 구성하는 빈들의 LPB 확률에 기초하여 코딩 빈들을 빈 인코더에 할당하는 단계, 상기 코딩 빈들을 병렬적으로 보관하는 단계, 및 상기 코딩 빈들을 빈 인코딩하여 코드워드들을 병렬적으로 생성하는 단계를 포함할 수 있다.The encoding method according to an embodiment of the present invention includes generating entropy coded slice information including a unit for dividing image data into entropy coded slices, and binarizing each of the plurality of entropy coded slices. Converting to, generating the coding bins in parallel using the Bean Probable Bins (LPBs) of the bins and bins constituting the empty column, based on the LPB probability of the bins constituting the empty column. Assigning coding bins to a bin encoder, storing the coding bins in parallel, and bin encoding the coding bins to generate codewords in parallel.

또한, 상기 코딩 빈들을 빈 인코더에 할당하는 단계는, 복수의 확률 구간들 중에서 상기 빈들의 LPB 확률이 속하는 확률 구간을 각각 결정하는 단계, 및 상기 코딩 빈들을 상기 결정된 확률 구간 각각에 대응하는 복수의 빈 인코더에 각각 할당하는 단계를 포함할 수 있다.The step of assigning the coding bins to the bin encoder may include determining a probability section to which the LPB probability of the bins belongs among a plurality of probability sections, and a plurality of coding bins corresponding to each of the determined probability sections. And assigning each to an empty encoder.

또한, 상기 빈들의 LPB 및 상기 빈들의 LPB 확률을 업데이트하는 단계를 더 포함할 수 있다.The method may further include updating the LPB of the bins and the LPB probability of the bins.

또한, 상기 코드워드들을 모아서 부분 비트스트림(partial bitstream)을 병렬적으로 생성하는 단계, 및 상기 병렬적으로 생성된 부분 비트스트림, 및 상기 엔트로피 부호화 슬라이스 정보를 다중화하는 단계를 더 포함할 수 있다.The method may further include generating the partial bitstream in parallel by collecting the codewords, and multiplexing the parallel generated bitstream and the entropy encoding slice information.

또한, 상기 영상 데이터를 구성하는 신택스 엘리먼트(syntax element)들, 또는 상기 영상 데이터를 구성하는 블록들을 그룹화하여, 상기 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하는 단계를 더 포함할 수 있다.The method may further include dividing the image data into a plurality of entropy encoding slices by grouping syntax elements constituting the image data or blocks constituting the image data.

본 발명의 일실시예에 따른 복호화 장치는, 비트스트림을 역다중화하여 복수의 부분 비트스트림을 분리하는 역다중화부, 상기 복수의 부분 비트스트림을 빈 디코딩하여 복수의 코딩 빈을 생성하는 복수의 빈 디코더, 빈의 LPB 확률을 이용하여 빈 디코더를 결정하고, 결정된 빈 디코더로부터 상기 코딩 빈을 입력받아 전달하는 복수의 빈 디코더 결정부, 상기 코딩 빈들과 코딩 빈들의 LPB를 이용하여 빈 열을 생성하는 복수의 문맥 모델링부, 및 상기 빈 열을 구성하는 빈들을 역 이진화하여 복수의 엔트로피 부호화 슬라이스를 복원하는 복수의 역 이진화부를 포함할 수 있다.A decoding apparatus according to an embodiment of the present invention includes a demultiplexer for demultiplexing a bitstream to separate a plurality of partial bitstreams, and a plurality of bins for bin decoding the plurality of partial bitstreams to generate a plurality of coding bins. A decoder determines a bin decoder using LPB probabilities of bins, a plurality of bin decoder determiners that receive the coding bins from the determined bin decoder, and generates empty columns by using the LPBs of the coding bins and coding bins. A plurality of context modeling units and a plurality of inverse binarization units for inverse binarizing bins constituting the empty columns to restore a plurality of entropy encoding slices.

또한, 상기 복수의 빈 디코더 다음에 위치하며, 상기 복수의 빈 디코더에서 출력되는 코딩 빈들을 보관하는 복수의 개별 버퍼를 더 포함할 수 있다.The apparatus may further include a plurality of individual buffers positioned after the plurality of bin decoders and storing coding bins output from the plurality of bin decoders.

또한, 본 발명의 일실시예에 따른 복호화 방법은, 비트스트림을 역다중화하여 복수의 부분 비트스트림을 분리하는 단계, 상기 복수의 부분 비트스트림을 빈 디코딩하여 복수의 코딩 빈을 생성하는 단계, 빈의 LPB 확률을 이용하여 빈 디코더를 결정하고 코딩 빈을 전달하는 단계, 상기 빈 디코더에서 출력되는 코딩 빈들을 보관하는 단계, 상기 코딩 빈들과 코딩 빈들의 LPB를 이용하여 빈 열을 생성하는 단계, 및 상기 빈 열을 구성하는 빈들을 역 이진화하여 복수의 엔트로피 부호화 슬라이스를 복원하는 단계를 포함할 수 있다.In addition, the decoding method according to an embodiment of the present invention, demultiplexing the bitstream to separate a plurality of partial bitstream, bin decoding the plurality of partial bitstream to generate a plurality of coding bin, bin Determining a bin decoder using an LPB probability of H and delivering a coding bin, storing the coding bins output from the bin decoder, generating an empty column using the LPBs of the coding bins and coding bins, and Inverse binarization of the bins constituting the empty column may restore the plurality of entropy coded slices.

또한, 상기 빈 열을 생성하는 단계는, 상기 빈 열을 구성하는 빈들을 대상으로, 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 LPB 및 빈의 LPB 확률을 결정하는 단계, 및 빈의 LPB 및 빈의 LPB 확률을 업데이트하는 단계를 포함할 수 있다.The generating of the empty column may include determining the LPB of the bin and the LPB probability of the bin based on the context information of the bin and the location of the bin, for the bins constituting the empty column. Updating the LPB probabilities of the LPB and bins.

또한, 상기 복수의 엔트로피 부호화 슬라이스를 상기 비트스트림으로부터 분리된 엔트로피 부호화 슬라이스 정보에 따라 정렬하여 영상 데이터를 복원하는 단계를 더 포함할 수 있다.The method may further include reconstructing the image data by sorting the plurality of entropy coded slices according to entropy coded slice information separated from the bitstream.

본 발명에 따르면, 복수의 슬라이스들을 복수의 빈 인코더/빈 디코더에서 각각 인코딩함에 따라 이진화/역이진화, 문맥 모델 선택 및 업데이트, 빈 인코딩/디코딩 각각에 대해 병렬적으로 엔트로피 부호화/복호화를 수행할 수 있다.According to the present invention, entropy encoding / decoding can be performed in parallel for binarization / debinarization, context model selection and updating, and bin encoding / decoding, respectively, as a plurality of slices are encoded in a plurality of bin encoders / bin decoders, respectively. have.

본 발명에 따르면, 빈(bin)의 발생 빈도수, 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여 확률 구간의 개수, 확률 구간의 크기 및 대표 확률을 조절할 수 있다.According to the present invention, the number of probability intervals, the size of the probability interval, and the representative probability may be adjusted based on any one of a frequency of occurrence of a bin, an encoding efficiency, and a number of bin decoders.

도 1은 본 발명의 일실시예에 따른 병렬적으로 엔트로피 부호화를 수행하는 동작을 설명하기 위해 제공되는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 병렬적으로 엔트로피 부호화를 수행하는 세부 동작을 설명하기 위해 제공되는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 병렬적으로 엔트로피 복호화를 수행하는 세부 동작을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.
도 6은 본 발명의 일실시예에 따른 개별 버퍼를 포함하는 부호화 장치의 구성을 도시한 블록도이다.
도 7은 본 발명의 일실시예에 따른 개별 버퍼를 포함하는 복호화 장치의 구성을 도시한 블록도이다.
도 8은 본 발명의 일실시예에 따른 확률 구간 할당부를 포함하는 부호화 장치의 구성을 도시한 블록도이다.
도 9는 본 발명의 일실시예에 따른 확률 구간 할당부를 포함하는 복호화 장치의 구성을 도시한 블록도이다.
도 10은 본 발명의 일실시예에 따른 개별 버퍼 및 확률 구간 할당부를 포함하는 부호화 장치의 구성을 도시한 블록도이다.
도 11은 본 발명의 일실시예에 따른 개별 버퍼 및 확률 구간 할당부를 포함하는 복호화 장치의 구성을 도시한 블록도이다.
1 is a flowchart provided to explain an operation of performing entropy encoding in parallel according to an embodiment of the present invention.
2 is a flowchart provided to explain a detailed operation of performing entropy encoding in parallel according to an embodiment of the present invention.
3 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.
4 is a flowchart provided to explain a detailed operation of performing entropy decoding in parallel according to an embodiment of the present invention.
5 is a block diagram showing a configuration of a decoding apparatus according to an embodiment of the present invention.
6 is a block diagram illustrating a configuration of an encoding apparatus including individual buffers according to an embodiment of the present invention.
7 is a block diagram illustrating a configuration of a decoding apparatus including individual buffers according to an embodiment of the present invention.
8 is a block diagram illustrating a configuration of an encoding apparatus including a probability interval allocator according to an embodiment of the present invention.
9 is a block diagram illustrating a configuration of a decoding apparatus including a probability interval allocator according to an embodiment of the present invention.
FIG. 10 is a block diagram illustrating a configuration of an encoding apparatus including an individual buffer and a probability interval allocator according to an embodiment of the present invention.
11 is a block diagram showing a configuration of a decoding apparatus including an individual buffer and a probability interval allocator according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, with reference to the accompanying drawings will be described embodiments of the present invention; However, the present invention is not limited or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.

도 1은 본 발명의 일실시예에 따른 병렬적으로 엔트로피 부호화를 수행하는 동작을 설명하기 위해 제공되는 흐름도이다.1 is a flowchart provided to explain an operation of performing entropy encoding in parallel according to an embodiment of the present invention.

먼저, 110 단계에서, 부호화 장치는 엔트로피 부호화를 병렬로 처리하기 위한 엔트로피 부호화 슬라이스 정보를 생성할 수 있다. First, in step 110, the encoding apparatus may generate entropy encoding slice information for processing entropy encoding in parallel.

일례로, 도 12를 참조하면, 부호화 장치는 영상 데이터를 복수의 신택스 엘리먼트(syntax element)로 구분할 수 있다. 그리고, 부호화 장치는, 복수의 신택스 엘리먼트들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하였음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다. 이에 따라, 엔트로피 부호화 슬라이스는 슬라이스 경계(Slice Boundary)를 넘어서 문맥 모델 선택 및 업데이트 등의 파싱 프로세스(Parsing Process)는 수행할 수 있다. 물론, 엔트로피 부호화 슬라이스는 기존의 슬라이스와 마찬가지로, 슬라이스 경계(Slice Boundary)를 넘어서 디코딩 프로세스(Decoding Process)와 관련된 프로세스를 수행할 수는 없다. 그러나, 기존의 슬라이스는 슬라이스 경계(Slice Boundary)를 넘어서 문맥 모델 선택 및 업데이트(Context Model Selection and Update) 등도 수행할 수 없다. 여기서, 디코딩 프로세스와 관련된 프로세스는, 화면 내 예측(Intra Prediction), 움직임 벡터 예측(Motion Vector Prediction 등을 포함할 수 있다.For example, referring to FIG. 12, the encoding apparatus may classify image data into a plurality of syntax elements. The encoding apparatus may generate, as entropy encoded slice information, information indicating that an entropy encoded slice is formed by grouping a plurality of syntax elements. Accordingly, the entropy encoding slice may perform a parsing process such as selecting and updating a context model beyond a slice boundary. Of course, an entropy encoded slice cannot perform a process related to a decoding process beyond a slice boundary like a conventional slice. However, the existing slice may not perform context model selection and update beyond the slice boundary. Here, the process related to the decoding process may include intra prediction, motion vector prediction, and the like.

다른 예로, 도 13을 참조하면, 부호화 장치는 영상 데이터를 복수의 블록들로 구분하고, 복수의 그룹들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하였음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다.As another example, referring to FIG. 13, the encoding apparatus may divide image data into a plurality of blocks and group the plurality of groups to generate information indicating that an entropy encoding slice is configured as entropy encoding slice information.

이어, 120 단계에서, 부호화 장치는 엔트로피 부호화 슬라이스 정보에 따라 부호화해야 할 신택스 엘리먼트(syntax element)의 값에 대해 이진화(Binarization) 및 이진화된 신택스 엘리먼트의 문맥 모델 선택을 병렬로 처리할 수 있다. 일례로, 이진화된 신택스 엘리먼트로 빈 열이 이용되는 경우, 부호화 장치는 빈 열의 문맥 모델(Context Model) 선택을 병렬로 처리할 수 있다. 다시 말해, 부호화 장치는 엔트로피 부호화 슬라이스 단위로 이진화 및 문맥 모델 선택 동작을 수행할 수 있다.In operation 120, the encoding apparatus may process the binarization and the context model selection of the binarized syntax element in parallel with respect to the value of the syntax element to be encoded according to the entropy encoding slice information. For example, when an empty column is used as a binarized syntax element, the encoding apparatus may process a context model selection of the empty column in parallel. In other words, the encoding apparatus may perform binarization and context model selection in units of entropy encoding slices.

그리고, 130 단계에서, 부호화 장치는 복수의 빈 인코더(Bin Encoder)들을 통해 부호화해야 할 신택스 엘리먼트(syntax element)의 값들을 비트스트림(Bitstream)으로 출력할 수 있다. 이때, 부호화 장치는 신택스 엘리먼트들과 엔트로피 부호화 슬라이스 정보를 혼합하여 비트스트림으로 출력할 수도 있다.In operation 130, the encoding apparatus may output values of syntax elements to be encoded through a plurality of bin encoders in a bitstream. In this case, the encoding apparatus may mix the syntax elements and the entropy encoding slice information and output the bitstream.

도 2는 본 발명의 일실시예에 따른 병렬적으로 엔트로피 부호화를 수행하는 세부 동작을 설명하기 위해 제공되는 흐름도이다.2 is a flowchart provided to explain a detailed operation of performing entropy encoding in parallel according to an embodiment of the present invention.

먼저, 210단계에서, 부호화 장치는 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다.First, in step 210, the encoding apparatus may divide image data into a plurality of entropy encoding slices.

일례로, 부호화 장치는 영상 데이터를 복수의 신택스 엘리먼트(syntax element) 또는 복수의 블록들을 그룹화하여, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다.For example, the encoding apparatus may divide the image data into a plurality of entropy encoding slices by grouping the image data into a plurality of syntax elements or a plurality of blocks.

이어, 220 단계에서, 부호화 장치는 영상 데이터를 엔트로피 부호화 슬라이스 단위로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성할 수 있다.In operation 220, the encoding apparatus may generate entropy encoded slice information including a unit that divides image data into entropy encoded slice units.

그리고, 230 단계에서, 부호화 장치는 복수의 엔트로피 부호화 슬라이스들을 각각 이진화하여 빈 열(bin sequence)로 변환할 수 있다.In operation 230, the encoding apparatus may convert a plurality of entropy encoding slices into bin sequences.

일례로, 신택스 엘리먼트 단위로 영상 데이터가 엔트로피 부호화 슬라이스로 구분된 경우, 부호화 장치는, 복수의 엔트로피 부호화 슬라이스들 내의 신택스 엘리먼트 값들을 각각 이진화하여 빈 열(bin sequence)로 변환할 수 있다. 이때, 빈 열은 복수의 빈들로 구성된 열을 의미한다.For example, when image data is divided into entropy coded slices in units of syntax elements, the encoding apparatus may convert syntax element values in the plurality of entropy coded slices into bin sequences. At this time, the empty column means a column composed of a plurality of bins.

이어, 240 단계에서, 부호화 장치는 빈 열을 구성하는 빈의 문맥 정보와 빈의 위치에 기초하여 빈의 LPB 및 빈의 LPB 확률(LPB Probability)을 결정할 수 있다. 그러면, 부호화 장치는, 기존 빈의 LPB 및 기존 빈의 LPB 확률을 결정된 빈의 LPB 및 결정된 빈의 LPB 확률로 업데이트할 수 있다. 이때, 부호화 장치는, 빈의 값에 따라 빈의 LPB 및 빈의 LPB 확률을 업데이트할 수 있다. In operation 240, the encoding apparatus may determine the bin LPB and the LPB probability of the bin based on the context information of the bin constituting the bin column and the position of the bin. Then, the encoding apparatus may update the LPB of the existing bin and the LPB probability of the existing bin to the LPB of the determined bin and the LPB probability of the determined bin. In this case, the encoding apparatus may update the LPB of the bin and the LPB probability of the bin according to the value of the bin.

일례로, 빈의 LPB 및 빈의 LPB 확률이 결정된 경우, 빈의 값과 빈의 LPB가 동일함에 따라, 빈의 LPB 확률은 증가할 수 있다. 그리고, 빈의 값과 빈의 LPB가 동일하지 않을 경우, 빈의 LPB 확률은 감소할 수 있다. 또한, LPB 확률이 50%보다 커질 경우, LPB 값은 0에서 1로 혹은 1에서 0으로 변경될 수 있다.For example, when the LPB of the bin and the LPB probability of the bin are determined, as the value of the bin and the LPB of the bin are the same, the LPB probability of the bin may increase. And, if the value of the bin and the LPB of the bin is not the same, the LPB probability of the bin can be reduced. In addition, when the LPB probability is greater than 50%, the LPB value may be changed from 0 to 1 or from 1 to 0.

이때, 부호화 장치는 빈 열을 구성하는 빈들과 빈들의 LPB를 이용하여 코딩 빈(Coding Bin)들을 병렬적으로 생성할 수 있다.In this case, the encoding apparatus may generate coding bins in parallel using bins constituting the empty column and LPBs of the bins.

일례로, 부호화 장치는 빈 열을 구성하는 빈 0와 빈 0의 LPB를 배타적 논리합(Exclusive Or) 연산하여 코딩 빈 0를 생성할 수 있다. 동일한 방법으로, 부호화 장치는 빈 열을 구성하는 모든 빈들과 각 빈들의 LPB에 대해 배타적 논리합 연산을 수행하여 복수의 코딩 빈들을 생성할 수 있다.As an example, the encoding apparatus may generate the coding bin 0 by performing an exclusive OR operation on the bin 0 constituting the empty column and the LPB of the bin 0. In the same manner, the encoding apparatus may generate a plurality of coding bins by performing an exclusive OR operation on all bins constituting the empty column and the LPBs of the bins.

그리고, 250 단계에서, 부호화 장치는 복수의 코딩 빈들 각각의 LPB 확률에 기초하여 복수의 코딩 빈들을 복수의 빈 인코더에 각각 할당 할 수 있다.In operation 250, the encoding apparatus may allocate the plurality of coding bins to the plurality of bin encoders based on the LPB probability of each of the plurality of coding bins.

일례로, 부호화 장치는 복수의 확률 구간들 중에서 각 코딩 빈의 LPB 확률이 속하는 확률 구간을 각각 결정할 수 있다. 그리고, 부호화 장치는, 결정된 확률 구간의 대표 확률(Representative Probability)에 매칭하는 대표 확률을 갖는 빈 인코더에 각 코딩 빈을 할당할 수 있다. 이때, 부호화 장치는 LPB 확률이 속하는 확률 구간의 확률 분포, 및 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여 확률 구간의 크기 및 개수를 결정할 수 있다. 그러면, 부호화 장치는 결정된 확률 구간의 크기 및 개수에 따라 조절된 확률 구간의 대표 확률에 매칭하는 빈 인코더를 결정하고, 결정된 빈 인코더에 코딩 빈을 할당할 수 있다. 즉, 각 확률 구간은 대표 확률을 가지며, 대표 확률은 하나의 빈 인코더에 대응될 수 있다. For example, the encoding apparatus may determine a probability section to which the LPB probability of each coding bin belongs among the plurality of probability sections. In addition, the encoding apparatus may allocate each coding bin to a bin encoder having a representative probability that matches the representative probability of the determined probability interval. In this case, the encoding apparatus may determine the size and number of the probability intervals based on one of the probability distribution of the probability intervals to which the LPB probability belongs, the coding efficiency, and the number of empty decoders. Then, the encoding apparatus may determine a bin encoder matching the representative probability of the adjusted probability section according to the size and the number of the determined probability section, and allocate a coding bin to the determined bin encoder. That is, each probability interval has a representative probability, and the representative probability may correspond to one empty encoder.

이어, 260 단계에서, 부호화 장치는, 코딩 빈들을 병렬적으로 보관할 수 있다. 즉, 부호화 장치는, 복수의 개별 버퍼들을 이용하여 코딩 빈들을 병렬적으로 보관할 수 있다.In operation 260, the encoding apparatus may store the coding bins in parallel. That is, the encoding apparatus may store the coding bins in parallel using a plurality of individual buffers.

그리고, 270 단계에서, 부호화 장치는 할당된 빈 인코더를 통해 코딩 빈들을 빈 인코딩하여 코드워드(Codeword)들을 병렬적으로 생성할 수 있다. 즉, 빈 인코더 0 내지 빈 인코더 K-1은 복수의 코드워드 0 내지 복수의 코드워드 K-1을 각각 생성할 수 있다. 이때, 복수의 빈 인코더들은 대응하는 개별 버퍼에서 보관된 코딩 빈들을 빈 인코딩하여 코드워드들을 각각 생성할 수 있다. In operation 270, the encoding apparatus may bin encode the coding bins through the allocated bin encoder to generate codewords in parallel. That is, the empty encoder 0 to the empty encoder K-1 may generate a plurality of codewords 0 to a plurality of codewords K-1, respectively. In this case, the plurality of bin encoders may bin encode the coding bins stored in the corresponding individual buffers to generate codewords, respectively.

이어, 280 단계에서, 부호화 장치는 코드워드들을 모아서 부분 비트스트림(Partial Bitstream)들을 병렬적으로 생성할 수 있다. 일례로, 빈 인코더가 K개인 경우, 부호화 장치는 부분 비트스트림 0 내지 부분 비트스트림 K-1을 생성할 수 있다.Subsequently, in step 280, the encoding apparatus may generate partial bitstreams in parallel by collecting codewords. For example, when there are K empty encoders, the encoding apparatus may generate partial bitstream 0 to partial bitstream K-1.

그리고, 290 단계에서, 부호화 장치는, 부분 비트스트림들과 엔트로피 부호화 슬라이스 정보를 다중화하여 하나의 비트스트림을 생성할 수 있다. 그러면, 부호화 장치는 생성된 비트스트림을 복호화 장치로 전송할 수 있다.In operation 290, the encoding apparatus may generate one bitstream by multiplexing the partial bitstreams and the entropy encoding slice information. Then, the encoding apparatus may transmit the generated bitstream to the decoding apparatus.

이때, 복호화 장치에서 부분 비트스트림들 각각의 확률 정보를 알고 있지 않는 경우, 부호화 장치는 부분 비트스트림들 각각의 확률 정보를 부분 비트스트림들, 및 엔트로피 부호화 슬라이스 정보와 함께 다중화할 수도 있다. 여기서, 부분 비트스트림들 각각의 확률 정보는 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. In this case, when the decoding apparatus does not know the probability information of each of the partial bitstreams, the encoding apparatus may multiplex the probability information of each of the partial bitstreams with the partial bitstreams and the entropy encoding slice information. Here, the probability information of each of the partial bitstreams may include a representative probability of the empty encoder that outputs the partial bitstream.

도 3은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 블록도이다.3 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.

도 3에 따르면, 부호화 장치(300)는 정보 생성부(310), 이진화부(320), 문맥 모델링부(330), 빈 인코더 결정부(340), 빈 인코더(350), 및 다중화부(360)를 포함할 수 있다. 도 3에서, 이진화부(320), 문맥 모델링부(330), 빈 인코더 결정부(340), 및 빈 인코더(360)는 복수개로 구성될 수 있다. 이에 따라, 부호화 장치(300)는 복수의 이진화부, 복수의 문맥 모델링부, 복수의 빈 인코더 결정부, 및 복수의 빈 인코더를 통해 슬라이스 별로 엔트로피 부호화를 병렬적으로 수행할 수 있다.According to FIG. 3, the encoding apparatus 300 includes an information generator 310, a binarizer 320, a context modeler 330, an empty encoder determiner 340, an empty encoder 350, and a multiplexer 360. ) May be included. In FIG. 3, the binarizer 320, the context modeler 330, the bin encoder determiner 340, and the bin encoder 360 may be configured in plural. Accordingly, the encoding apparatus 300 may perform entropy encoding in parallel for each slice through a plurality of binarization units, a plurality of context modeling units, a plurality of bin encoder determiners, and a plurality of bin encoders.

먼저, 정보 생성부(310)는 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하고, 영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성할 수 있다. 이에 따라, 부호화 장치(300)는 복수의 엔트로피 부호화 슬라이스 마다 병렬로 엔트로피 부호화를 수행할 수 있다First, the information generator 310 may divide the image data into a plurality of entropy coded slices, and generate entropy coded slice information including a unit that divides the image data into entropy coded slices. Accordingly, the encoding apparatus 300 may perform entropy encoding in parallel for each of the plurality of entropy encoding slices.

일례로, 정보 생성부(310)는 영상 데이터를 구성하는 복수의 신택스 엘리먼트(syntax element)들을 그룹화하여, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다. 그리고, 정보 생성부(310)는 엔트로피 부호화 슬라이스가 복수의 신택스 엘리먼트들을 그룹화하여 구성되었음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다.For example, the information generator 310 may group the plurality of syntax elements constituting the image data and divide the image data into a plurality of entropy encoding slices. The information generator 310 may generate information indicating that the entropy coded slice is configured by grouping a plurality of syntax elements as entropy coded slice information.

다른 예로, 정보 생성부(310)는 영상 데이터를 구성하는 복수의 블록들을 그룹화하여, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다. 그리고, 정보 생성부(310)는 엔트로피 부호화 슬라이스가 복수의 그룹들을 그룹화하여 구성되었음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다.As another example, the information generator 310 may group the plurality of blocks constituting the image data and divide the image data into a plurality of entropy encoding slices. The information generator 310 may generate, as entropy coded slice information, information indicating that an entropy coded slice is formed by grouping a plurality of groups.

그러면, 이진화부(320)는 엔트로피 부호화 슬라이스 정보에 따라 구분된 복수의 엔트로피 부호화 슬라이스들을 병렬적으로 이진화할 수 있다. 즉, 이진화부(320)는 복수개로 구성될 수 있다. 이에 따라, 복수의 이진화부들은 복수의 엔트로피 부호화 슬라이스들을 각각 이진화하여 빈 열(bin sequence)을 출력할 수 있다. 이때, 이진화부(320)는 복수의 엔트로피 부호화 슬라이스 내의 신택스 엘리먼트 값들을 각각 이진화하여 빈 열(bin sequence)로 변환할 수 있다. 여기서, 빈 열은 복수의 빈들로 구성된 열을 의미할 수 있다.Then, the binarization unit 320 may binarize the plurality of entropy coded slices divided according to the entropy coded slice information in parallel. That is, the binarization unit 320 may be configured in plurality. Accordingly, the plurality of binarizers may output a bin sequence by binarizing the plurality of entropy encoding slices, respectively. In this case, the binarization unit 320 may binarize syntax element values in the plurality of entropy encoding slices into bin sequences. Here, the empty column may mean a column composed of a plurality of bins.

일례로, 이진화부(320)가 M개로 구성된 경우, 이진화부(320)는 이진화부 0, 이진화부 1, …, 이진화부 M-1을 포함할 수 있다. 그러면, 이진화부 0는 엔트로피 부호화 슬라이스 0 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 0으로 변환할 수 있다. 그리고, 이진화부 1은 엔트로피 부호화 슬라이스 1 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 1로 변환할 수 있다. 마찬가지로, 이진화부 M-1은 엔트로피 부호화 슬라이스 M-1 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 M-1로 변환할 수 있다. 이처럼, 이진화부(320)는 엔트로피 부호화 슬라이스 별로 이진화를 수행하여 엔트로피 부호화 슬라이스 내의 신택스 엘리먼트 값들을 빈 열로 변환할 수 있다.For example, when the binarization unit 320 is composed of M pieces, the binarization unit 320 may include a binarization unit 0, a binarization unit 1,... It may include a binarization unit M-1. Then, the binarization unit 0 may binarize the syntax element values in the entropy encoding slice 0 into an empty column 0. The binarization unit 1 may binarize the syntax element values in the entropy encoding slice 1 into an empty column 1. Similarly, the binarization unit M-1 may binarize the syntax element values in the entropy encoding slice M-1 to convert to the empty column M-1. As such, the binarization unit 320 may perform binarization for each entropy coded slice to convert syntax element values in the entropy coded slice into empty columns.

문맥 모델링부(330)는 빈의 문맥 정보, 및 빈의 위치에 기초하여 확률 모델을 구성하는 빈의 LPB(Less Probable Bin) 및 빈의 LPB 확률을 결정할 수 있다. 즉, 문맥 모델링부(330)는 빈 열을 구성하는 복수의 빈들 각각의 LPB 및 LPB 확률을 결정할 수 있다.The context modeling unit 330 may determine the LPB (Less Probable Bin) and the LPB probability of the bin constituting the probability model based on the context information of the bin and the position of the bin. That is, the context modeling unit 330 may determine the LPB and the LPB probability of each of the plurality of bins constituting the empty column.

이때, 빈의 문맥 정보는 주변 블록 내의 빈을 의미하고, 빈의 위치는 이전 단계에서 부호화된 빈의 정보를 의미한다.In this case, the context information of the bin refers to the bin in the neighboring block, and the location of the bin refers to the information of the bin encoded in the previous step.

그리고, 문맥 모델링부(330)는, 빈의 LPB 및 빈의 LPB 확률을 업데이트할 수 있다. 이때, 문맥 모델링부(330)는 빈과 빈의 LPB를 이용하여 코딩 빈을 생성하고, 생성된 코딩 빈과 LPB 확률을 출력할 수 있다. 예를 들어, 문맥 모델링부(330)는 빈과 빈의 LPB를 배타적 논리합(Exclusive Or) 연산함에 따라 코딩 빈을 생성할 수 있다. 여기서, 문맥 모델링부(330)는 복수개로 구성될 수 있다.In addition, the context modeling unit 330 may update the LPB of the bin and the LPB probability of the bin. In this case, the context modeling unit 330 may generate a coding bin by using the bin and the LPB of the bin, and output the generated coding bin and the LPB probability. For example, the context modeling unit 330 may generate a coding bean by performing an exclusive OR operation on the bin and the LPB of the bin. Here, the context modeling unit 330 may be configured in plurality.

일례로, 문맥 모델링부(330)가 M개로 구성된 경우, 문맥 모델링부 0은 이진화부 0에서 출력된 빈열 0를 구성하는 빈들 별로 빈의 LPB 및 빈의 LPB 확률을 결정할 수 있다. 이때, 문맥 모델링부 0은 빈열 0로 구성하는 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 LPB 및 빈의 LPB 확률을 결정할 수 있다. 그리고, 문맥 모델링부 0은 결정된 빈의 LPB 및 빈을 이용하여 코딩 빈을 생성하고, 생성된 코딩 빈과 LPB 확률을 출력할 수 있다. 즉, 문맥 모델링부 0은 빈열 0을 구성하는 빈들에 대응하는 코딩 빈들(이하, "코딩 빈들 0"로 칭함)을 생성하여 출력할 수 있다. 예를 들어, 빈열 0가 빈 0 내지 빈 10으로 구성된 경우, 문맥 모델링부 0은 빈 0의 코딩 빈 0, …, 빈 10의 코딩 빈 10을 생성할 수 있다.For example, when the context modeling unit 330 includes M, the context modeling unit 0 may determine the LPB of the bin and the LPB probability of the bin for each bin constituting the empty column 0 output from the binarization unit 0. In this case, the context modeling unit 0 may determine the LPB of the bin and the LPB probability of the bin based on the context information of the bin constituting the empty column 0 and the position of the bin. In addition, the context modeling unit 0 may generate a coding bin by using the determined LPB and the bin, and output the generated coding bin and the LPB probability. That is, the context modeling unit 0 may generate and output coding bins (hereinafter, referred to as “coding bins 0”) corresponding to the bins constituting the blank column 0. For example, when empty column 0 is composed of bins 0 to 10, context modeling unit 0 is coded bin 0 of. , Coding 10 of bin 10 can be generated.

동일한 방법으로, 문맥 모델링부 1 내지 M-1은 대응되는 이진화부 1 내지 M-1에서 출력된 빈열 1 내지 빈열 M-1을 대상으로, 코딩 빈들 1 내지 코딩 빈들 M-1을 생성할 수 있다. 그리고, 문맥 모델링부1은 코딩 빈들 1 및 빈열 1을 구성하는 빈들 각각의 LPB 확률을 출력할 수 있다. 마찬가지로, 문맥 모델링부 M-1은 코딩 빈들 M-1, 및 빈열 M-1을 구성하는 빈들 각각의 LPB 확률을 출력할 수 있다.In the same way, the context modeling units 1 to M-1 may generate the coding bins 1 to coding bins M-1 for the empty columns 1 to M1 output from the corresponding binarization units 1 to M-1. . In addition, the context modeling unit 1 may output the LPB probability of each of the bins constituting the coding bins 1 and the blank column 1. Similarly, the context modeling unit M-1 may output the LPB probability of each of the bins constituting the coding bins M-1 and the empty column M-1.

빈 인코더 결정부(340)는 문맥 모델링부(330)에서 출력되는 복수의 코딩 빈들을 복수의 빈 인코더에 각각 할당할 수 있다.The bin encoder determiner 340 may allocate a plurality of coding bins output from the context modeling unit 330 to the plurality of bin encoders, respectively.

일례로, 빈의 LPB 확률을 이용하는 경우, 빈 인코더 결정부(340)는 복수의 확률 구간들 중에서 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 인코더 결정부(340)는 결정된 확률 구간의 대표 확률과 빈 인코더의 대표 확률을 비교할 수 있다. 이때, 확률 구간의 대표 확률과 빈 인코더의 대표 확률이 일치하는 경우, 빈 인코더 결정부(340)는 일치하는 빈 인코더에 코딩 빈들을 할당할 수 있다. 여기서, 빈 인코더에는 대표 확률이 기설정될 수 있으며, 대표 확률은 기정의된 오차범위 내에서 +/- 마진(margin)을 가질 수 있다.For example, when the LPB probability of a bin is used, the bin encoder determiner 340 may determine a probability section to which the LPB probability of the bin belongs among a plurality of probability sections. The empty encoder determiner 340 may compare the representative probability of the determined probability interval with the representative probability of the empty encoder. In this case, when the representative probability of the probability interval coincides with the representative probability of the empty encoder, the empty encoder determiner 340 may allocate coding bins to the matching empty encoder. Here, a representative probability may be preset in the empty encoder, and the representative probability may have a +/- margin within a predefined error range.

그리고, 빈 인코더 결정부(340)는 복수개로 구성될 수 있다. The empty encoder determiner 340 may be configured in plural.

일례로, 빈 인코더 결정부(340)가 M개로 구성된 경우, 빈 인코더 결정부 0는 문맥 모델링부 0에서 출력되는 복수의 코딩 빈들을 복수의 빈 인코더에 각각 할당할 수 있다. 이때, 빈 인코더 결정부 0는 코딩 빈에 대응하는 빈의 LPB 확률에 기초하여 코딩 빈들을 복수의 빈 인코더에 각각 할당할 수 있다. 예를 들어, 문맥 모델링부 0에서 출력되는 코딩 빈들이 코딩 빈 0 내지 코딩 빈 10으로 구성된 경우, 빈 인코더 결정부 0는 빈 0의 LPB 확률이 속하는 확률 구간의 대표 확률과 대표 확률이 일치하는 빈 인코더 k-1를 결정하고, 결정된 빈 인코더 k-1에 코딩 빈 0를 할당할 수 있다. 마찬가지로, 빈 인코더 결정부 0는 빈 1 내지 빈 10 각각의 LPB 확률에 기초하여 코딩빈 1 내지 코딩 빈 10을 빈 인코더 0 내지 빈 인코더 k-1에 각각 할당할 수 있다.For example, when the bin encoder determiner 340 includes M, the bin encoder determiner 0 may allocate a plurality of coding bins output from the context modeler 0 to the plurality of bin encoders, respectively. In this case, the bin encoder determiner 0 may allocate the coding bins to the plurality of bin encoders based on the LPB probability of the bin corresponding to the coding bin. For example, when the coding bins output from the context modeling unit 0 are configured as coding bins 0 to 10, the bin encoder determining unit 0 is a bin whose representative probability matches the representative probability of the probability section to which the LPB probability of the bin 0 belongs. Encoder k-1 may be determined, and coding bin 0 may be assigned to the determined bin encoder k-1. Similarly, the bin encoder determiner 0 may assign the coding bin 1 to the coding bin 10 to the bin encoder 0 to the bin encoder k-1 based on the LPB probabilities of the bins 1 to 10, respectively.

동일한 방법으로, 빈 인코더 결정부 1 내지 빈 인코더 결정부 M-1은 문맥 모델 링부 1 내지 문맥 모델링부 M-1 각각에서 출력되는 복수의 코딩 빈들을 복수의 인코더에 각각 할당할 수 있다.In the same manner, the bin encoder determiner 1 to bin encoder determiner M-1 may allocate a plurality of coding bins output from each of the context modeling unit 1 to the context modeler M-1 to each of the plurality of encoders.

빈 인코더(bin encoder: 350)는 빈 인코더 결정부(340)에서 할당한 코딩 빈들을 빈 인코딩하여 코드워드를 생성할 수 있다. 그리고, 빈 인코더는 생성된 코드워드들을 모아서 부분 비트스트림(Partial Bitstream)을 출력할 수 있다. 여기서, 빈 인코더(350)는 복수개로 구성될 수 있다.The bin encoder 350 may generate a codeword by bin encoding the coding bins allocated by the bin encoder determiner 340. The empty encoder may collect the generated codewords and output a partial bitstream. Here, the bin encoder 350 may be configured in plurality.

일례로, 빈 인코더(350)가 K개로 구성된 경우, 빈 인코더 0은 빈 인코딩 할당부 0에서 할당된 하나 이상의 코딩 빈, 빈 인코딩 할당부 1에서 할당된 하나 이상의 코딩 빈, 빈 인코딩 할당부 2 내지 M-1 각각에서 할당된 하나 이상의 코딩 빈을 빈 인코딩하여 코드워드들을 생성할 수 있다. 그리고, 빈 인코더 0는 생성된 코드워드들을 모아서 부분 비트스트림 0를 출력할 수 있다.For example, when the empty encoder 350 is configured with K, the empty encoder 0 may include one or more coding bins allocated in the empty encoding allocator 0, one or more coding beans allocated in the empty encoding allocator 1, and empty encoding allocating units 2 through 2. One or more coding bins allocated in each of M-1 may be bin encoded to generate codewords. The empty encoder 0 may collect the generated codewords and output a partial bitstream 0.

동일한 방법으로, 빈 인코더 1 내지 빈 인코더 K-1 각각은 빈 인코딩 할당부 0 내지 빈 인코딩 할당부 M-1 각각에서 할당된 하나 이상의 코딩 빈을 빈 인코딩하여 코드워드들을 생성할 수 있다. 그리고, 빈 인코더 1 내지 빈 인코더 K-1은 생성된 코드워드들을 모아서 부분 비트스트림 1 내지 부분 비트스트림 K-1을 각각 출력할 수 있다.In the same manner, each of the empty encoders 1 to empty encoder K-1 may bin encode one or more coding bins allocated in each of the empty encoding allocator 0 to the empty encoding allocator M-1 to generate codewords. The empty encoder 1 to the empty encoder K-1 may collect the generated codewords and output the partial bitstream 1 to the partial bitstream K-1, respectively.

다중화부(360)는 엔트로피 부호화 슬라이스 정보, 및 부분 비트스트림들을 다중화하여 하나의 비트스트림으로 출력할 수 있다. 이때, 복호화 장치에서 부분 비트스트림들 각각의 확률 정보를 알지 못하는 경우, 다중화부(360)는 엔트로피 부호화 슬라이스 정보, 부분 비트스트림들, 및 부분 비트스트림들 각각의 확률 정보를 다중화하여 하나의 비트스트림으로 출력할 수 있다. 여기서, 부분 비트스트림들 각각의 확률 정보는 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. The multiplexer 360 may multiplex the entropy encoding slice information and the partial bitstreams and output the multiplexed bitstreams as one bitstream. In this case, when the decoding apparatus does not know the probability information of each of the partial bitstreams, the multiplexer 360 multiplexes one bitstream by multiplexing the entropy encoding slice information, the partial bitstreams, and the probability information of each of the partial bitstreams. You can output Here, the probability information of each of the partial bitstreams may include a representative probability of the empty encoder that outputs the partial bitstream.

이하에서는 병렬적으로 엔트로피 복호화를 수행하는 동작에 대해 상세히 설명하기로 한다. 이때, 특정 신택스 엘리먼트(Syntax Element)를 디코딩하는 경우, 역이진화부는 신택스 엘리먼트의 값에 대응되는 빈 열에서 빈 순서대로 빈을 빈 디코더로 요청할 수 있다. 그러면, 문맥 모델링부는 요청된 빈의 문맥 정보, 각 빈의 위치에 따른 확률 모델을 이용하여, 디코딩해야 할 코딩 빈의 LPB 확률을 획득할 수 있다. 이처럼, 복호화 장치는, 빈 디코더 결정부를 이용하여 LPB 확률이 포함되는 확률 구간을 결정하고, 결정된 확률 구간의 대표 확률에 대응되는 빈 디코더를 통해 코딩 빈을 디코딩하는 구조를 가질 수 있다.Hereinafter, an operation of performing entropy decoding in parallel will be described in detail. In this case, when decoding a specific syntax element, the inverse binarization unit may request the bins from the bin columns corresponding to the values of the syntax elements in the order of the bins to the bin decoder. Then, the context modeling unit may obtain the LPB probability of the coding bin to be decoded by using the context information of the requested bin and the probability model according to the location of each bin. As such, the decoding apparatus may have a structure of determining a probability section including the LPB probability using the bin decoder determiner and decoding the coding bin through a bin decoder corresponding to the representative probability of the determined probability section.

도 4는 본 발명의 일실시예에 따른 병렬적으로 엔트로피 복호화를 수행하는 세부 동작을 설명하기 위해 제공되는 흐름도이다.4 is a flowchart provided to explain a detailed operation of performing entropy decoding in parallel according to an embodiment of the present invention.

먼저, 410 단계에서, 복호화 장치는 부호화 장치로부터 수신된 비트스트림을 역다중화하여 복수의 부분 비트스트림들, 및 엔트로피 부호화 슬라이스 정보를 분리할 수 있다. 이때, 비트스트림에 확률 정보가 포함된 경우, 복호화 장치는, 비트스트림으로부터 부분 비트스트림들 각각의 확률 정보를 분리할 수도 있다. 여기서, 확률 정보는, 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. 그리고, 부분 비트스트림은 빈 인코더에서 빈 인코딩을 통해 생성된 코드워드들로 구성될 수 있다.First, in operation 410, the decoding apparatus may demultiplex a bitstream received from an encoding apparatus to separate a plurality of partial bitstreams and entropy encoding slice information. In this case, when probability information is included in the bitstream, the decoding apparatus may separate probability information of each of the partial bitstreams from the bitstream. Here, the probability information may include the representative probability of the empty encoder that outputs the partial bitstream. The partial bitstream may consist of codewords generated through empty encoding in the empty encoder.

여기서, 엔트로피 부호화 슬라이스 정보는 복수의 신택스 엘리먼트들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하거나, 또는 복수의 블록들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하였음을 나타내는 정보를 포함할 수 있다.Here, the entropy coded slice information may include information indicating that an entropy coded slice is formed by grouping a plurality of syntax elements or an entropy coded slice is configured by grouping a plurality of blocks.

이어, 420 단계에서, 복호화 장치는 복수의 부분 비트스트림 내의 코드워드들을 각각 빈 디코딩(bin decoding)하여 복수의 코딩 빈(Coding Bin)들을 생성할 수 있다.In operation 420, the decoding apparatus may bin-decode codewords in the plurality of partial bitstreams, respectively, to generate a plurality of coding bins.

이때, 복호화 장치는, 요청된 빈의 문맥 정보 및 요청된 빈의 위치에 기초하여 1)요청된 빈의 LPB, 및 2)요청된 빈의 LPB 확률을 계산할 수 있다. 여기서, 요청된 빈의 LPB는 코딩 빈의 LPB, 요청된 빈의 LPB 확률은 코딩 빈의 LPB 확률을 의미한다.In this case, the decoding apparatus may calculate 1) the LPB of the requested bin and 2) the LPB probability of the requested bin based on the context information of the requested bin and the location of the requested bin. Here, the LPB of the requested bin is the LPB of the coding bin, and the LPB probability of the requested bin is the LPB probability of the coding bin.

그러면, 430 단계에서, 복호화 장치는, 빈의 LPB 확률을 이용하여 복수의 빈 각각에 대응하는 빈 디코더를 결정할 수 있다. 그리고, 복호화 장치는 결정된 빈 디코더로부터 코딩 빈을 입력받아 전달할 수 있다. In operation 430, the decoding apparatus may determine a bin decoder corresponding to each of the plurality of bins using the LPB probability of the bin. In addition, the decoding apparatus may receive and transmit a coding bin from the determined bin decoder.

일례로, 복호화 장치는, 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 복호화 장치는, 결정된 확률 구간의 대표 확률과 빈 디코더의 대표 확률을 비교함에 따라, 복수의 빈 디코더들 중에서 빈 디코더를 각각 결정할 수 있다. 그리고, 복호화 장치는, 결정된 각 빈 디코더로부터 코딩 빈을 입력받아 전달할 수 있다. 즉, 복호화 장치는, 입력된 코딩 빈을 아래의 440 단계로 전달할 수 있다.In one example, the decoding apparatus may determine a probability section to which the LPB probability of the bin belongs. The decoding apparatus may determine the bin decoder among the plurality of bin decoders by comparing the representative probability of the determined probability interval with the representative probability of the bin decoder. In addition, the decoding apparatus may receive and transmit a coding bin from each of the determined bin decoders. That is, the decoding apparatus may transmit the input coding bin to step 440 below.

이어, 440 단계에서, 복호화 장치는 코딩 빈의 LPB와 코딩 빈을 이용하여 빈 열(bin sequence)을 생성할 수 있다. 일례로, 복호화 장치는 코딩 빈과 코딩 빈의 LPB를 배타적 논리합(Exclusive Or) 연산하여 빈을 복원할 수 있다. 그리고, 복호화 장치는 복원된 빈들로 구성된 빈 열을 생성할 수 있다.In operation 440, the decoding apparatus may generate a bin sequence using the LPB of the coding bin and the coding bin. In one example, the decoding apparatus may restore the bin by performing an exclusive OR operation on the coding bin and the LPB of the coding bin. In addition, the decoding apparatus may generate an empty column composed of the restored bins.

이때, 복호화 장치는 빈 열을 구성하는 복원된 빈들을 대상으로, 빈의 문맥 정보 및 빈의 위치에 기초하여 빈의 LPB와 빈의 LPB 확률을 결정할 수 있다. 그리고, 복호화 장치는, 빈의 LPB 및 빈의 LPB 확률을 업데이트할 수 있다.In this case, the decoding apparatus may determine the LPB of the bin and the LPB probability of the bin based on the context information of the bin and the location of the bin, for the restored bins constituting the bin column. The decoding apparatus may update the LPB of the bin and the LPB probability of the bin.

그리고, 450 단계에서, 복호화 장치는, 복수의 빈 열을 구성하는 빈(bin)들을 역 이진화하여 복수의 엔트로피 부호화 슬라이스를 복원할 수 있다.In operation 450, the decoding apparatus may reconstruct bins constituting the plurality of empty columns to restore a plurality of entropy encoding slices.

일례로, 복호화 장치는, 복수의 빈 열을 대상으로, 빈 열을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 복호화 장치는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스를 복원할 수 있다. 이에 따라, 복호화 장치는 복수의 빈 열을 대상으로, 각각 역 이진화를 통해 복수의 엔트로피 부호화 슬라이스를 복원할 수 있다.As an example, the decoding apparatus may restore the values of syntax elements by inverse binarizing bins constituting the empty column, for a plurality of empty columns. The decoding apparatus may reconstruct the entropy encoding slice by collecting values of the recovered syntax elements. Accordingly, the decoding apparatus may restore the plurality of entropy coded slices through inverse binarization, respectively, for the plurality of empty columns.

그러면, 460 단계에서, 복호화 장치는 엔트로피 부호화 슬라이스 정보를 기초로 복원된 복수의 엔트로피 부호화 슬라이스를 정렬하여 영상 데이터를 복원할 수 있다.In operation 460, the decoding apparatus may reconstruct image data by aligning the plurality of entropy coded slices reconstructed based on the entropy coded slice information.

한편, 420 단계에서, 확률 정보는 비트스트림에 실어서 부호화 장치에서 복호화 장치로 전송될 수 있을 뿐만 아니라, 부호화 장치와 복호화 장치는 각 빈 인코더/빈 디코더의 확률 정보를 미리 알고 있을 수도 있다. 이처럼, 부호화 및 복호화 장치에서 확률 정보를 미리 알고 있는 경우, 부호화 장치와 복호화 장치는 몇 개의 빈 인코더/빈 디코더를 사용할지 여부, 및 빈 인코더/빈 디코더의 대표 확률을 미리 알고 있을 수 있다.Meanwhile, in step 420, the probability information may be loaded in the bitstream and transmitted from the encoding apparatus to the decoding apparatus, and the encoding apparatus and the decoding apparatus may know the probability information of each bin encoder / bin decoder in advance. As such, when the encoding and decoding apparatuses know the probability information in advance, the encoding apparatus and the decoding apparatus may know in advance how many empty encoders / bin decoders and representative probabilities of the empty encoders / bin decoders.

도 5는 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.5 is a block diagram showing a configuration of a decoding apparatus according to an embodiment of the present invention.

도 5에 따르면, 복호화 장치(500)는 역 다중화부(510), 빈 디코더(520), 빈 디코더 결정부(530), 문맥 모델링부(540), 역 이진화부(550), 및 정렬부(560)를 포함할 수 있다. 도 5에서, 빈 디코더(520), 빈 디코더 결정부(530), 문맥 모델링부(540), 및 역 이진화부(550)는 복수개로 구성될 수 있다. 이에 따라, 복호화 장치(500)는 복수의 빈 디코더, 복수의 빈 디코더 결정부, 복수의 문맥 모델링부, 및 복수의 역 이진화부를 통해 병렬적으로 엔트로피 복호화를 수행하여 복수의 슬라이스들을 복원할 수 있다.Referring to FIG. 5, the decoding apparatus 500 includes a demultiplexer 510, a bin decoder 520, a bin decoder determiner 530, a context modeler 540, an inverse binarizer 550, and an alignment unit ( 560 may include. In FIG. 5, the bin decoder 520, the bin decoder determiner 530, the context modeler 540, and the inverse binarizer 550 may be configured in plural. Accordingly, the decoding apparatus 500 may reconstruct a plurality of slices by performing entropy decoding in parallel through a plurality of bin decoders, a plurality of bin decoder determiners, a plurality of context modelers, and a plurality of inverse binarization units. .

먼저, 역다중화부(510)는 부호화 장치(300)로부터 수신된 비트스트림을 역다중화하여 비트스트림으로부터 복수의 부분 비트스트림들, 엔트로피 부호화 슬라이스 정보, 및 부분 비트스트림들 각각의 확률 정보를 분리할 수 있다. 여기서, 확률 정보는, 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. 그리고, 부분 비트스트림은 빈 인코더에서 빈 인코딩을 통해 생성된 코드워드들로 구성될 수 있다.First, the demultiplexer 510 demultiplexes a bitstream received from the encoding apparatus 300 to separate a plurality of partial bitstreams, entropy coded slice information, and probability information of each of the partial bitstreams from the bitstream. Can be. Here, the probability information may include the representative probability of the empty encoder that outputs the partial bitstream. The partial bitstream may consist of codewords generated through empty encoding in the empty encoder.

그러면, 빈 디코더(520)는 부분 비트스트림을 구성하는 코드워드들을 빈 디코딩할 수 있다. 이처럼, 빈 디코더(520)는 코드워드들을 빈 디코딩함에 따라 복수의 코딩 빈(Coding Bin)들을 복원할 수 있다. 이때, 빈 디코더(520)는 복수개로 구성될 수 있다.The bin decoder 520 may then bin decode the codewords constituting the partial bitstream. As such, the bin decoder 520 may reconstruct a plurality of coding bins by bin decoding the codewords. In this case, the plurality of empty decoders 520 may be configured.

일례로, 빈 디코더가 K개로 구성된 경우, 빈 디코더 0는 부분 비트스트림 0를 구성하는 코드워드들을 빈 디코딩하여 코딩 빈들을 복원할 수 있다. 동일한 방법으로, 빈 디코더 1 내지 빈 디코더 K-1은 부분 비트스트림 1 내지 부분 비트스트림 K-1을 구성하는 코드워드들을 각각 빈 디코딩하여 코딩 빈들을 복원할 수 있다.For example, when K bin decoders are configured with K, bin decoder 0 may bin-decode codewords constituting partial bitstream 0 to restore coding bins. In the same manner, the bin decoders 1 to bin decoder K-1 may reconstruct the coding bins by bin decoding the codewords constituting the partial bitstream 1 to the partial bitstream K-1.

빈 디코더 결정부(530)는 빈의 LPB 확률에 기초하여 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 일례로, 역 이진화부(760)에서 빈을 요청한 경우, 문맥 모델링부(750)는 요청한 빈의 LPB 및 요청한 빈의 LPB 확률을 계산할 수 있다. 그러면, 빈 디코더 결정부(530)는 요청한 빈의 LPB 확률이 속하는 확률 구간을 이용하여 요청한 빈에 대응하는 빈 디코더를 결정할 수 있다. 그리고, 빈 디코더 결정부(530)는 결정된 각 빈 디코더로부터 코딩 빈을 입력받아 문맥 모델링부(540)로 전달할 수 있다. 여기서, 요청한 빈의 LPB는 코딩 빈의 LPB이고, 요청한 빈의 LPB 확률은 코딩 빈의 LPB 확률을 의미한다.The bin decoder determiner 530 may determine a probability section to which the LPB probability of the bin belongs based on the LPB probability of the bin. For example, when the bin binarizer 760 requests a bin, the context modeling unit 750 may calculate the LPB of the requested bin and the LPB probability of the requested bin. Then, the bin decoder determiner 530 may determine a bin decoder corresponding to the requested bin by using a probability section to which the LPB probability of the requested bin belongs. The bin decoder determiner 530 may receive a coding bin from each of the determined bin decoders and transmit the coded bin to the context modeling unit 540. Here, the LPB of the requested bin is the LPB of the coding bin, and the LPB probability of the requested bin means the LPB probability of the coding bin.

상세하게는, 빈 디코더 결정부(530)는 복수의 빈 디코더들 중에서 결정된 확률 구간의 대표 확률을 갖는 빈 디코더를 결정할 수 있다. 이때, 빈 디코더 결정부(530)는 코딩 빈들의 대표 확률과 복수의 빈 디코더들의 대표 확률을 각각 비교하고, 코딩 빈의 대표 확률과 일치하는 대표 확률을 갖는 빈 디코더를 코딩 빈 마다 결정할 수 있다. 그리고, 빈 디코더 결정부(530)는 결정된 빈 디코더들에서 출력되는 코딩 빈들을 입력 받을 수 있다. 이때, 빈 디코더 결정부(530)는 복수개로 구성될 수 있다.In detail, the bin decoder determiner 530 may determine a bin decoder having a representative probability of a probability section determined among the plurality of bin decoders. In this case, the bin decoder determiner 530 may compare the representative probabilities of the coding bins with the representative probabilities of the plurality of bin decoders, respectively, and determine a bin decoder having a representative probability that matches the representative probabilities of the coding bins for each coding bin. The bin decoder determiner 530 may receive coding bins output from the determined bin decoders. In this case, the bin decoder determiner 530 may be configured in plural.

일례로, 빈 디코더 결정부 0는 빈 디코더 0 내지 빈 디코더 K-1 각각에서 출력되는 코딩 빈을 입력 받을 수 있다. 그리고, 빈 디코더 결정부 0는 빈 디코더 0 내지 빈 디코더 K-1 각각으로부터 코딩 빈을 입력받아 문맥 모델링부 0로 전달할 수 있다. 동일한 방법으로, 빈 디코더 결정부 1 내지 빈 디코더 M-1은 빈 디코더 0 내지 빈 디코더 K-1 각각에서 출력되는 코딩 빈을 각각 입력받을 수 있다. 그리고, 빈 디코더 결정부 1 내지 빈 디코더 M-1은 입력된 코딩 빈을 문맥 모델링부 0 내지 문맥 모델링부 M-1로 각각 전달할 수 있다. As an example, the bin decoder determiner 0 may receive a coding bin output from each of the bin decoder 0 to the bin decoder K-1. In addition, the bin decoder determiner 0 may receive a coding bin from each of the bin decoder 0 to the bin decoder K-1 and transfer the coding bin to the context modeler 0. In the same way, the bin decoder determiner 1 to bin decoder M-1 may receive the coding bins output from the bin decoders 0 to bin decoder K-1, respectively. The bin decoder determiner 1 to bin decoder M-1 may deliver the input coding bins to the context modeler 0 to the context modeler M-1, respectively.

문맥 모델링부(540)는 빈 디코더 결정부(530)로부터 입력되는 코딩 빈들을 이용하여 빈 열을 생성할 수 있다. 일례로, 문맥 모델링부(540)는 코딩 빈과 코딩 빈의 LPB를 배타적 논리합 연산하여 빈을 복원할 수 있다. 그러면, 문맥 모델링부(540)는 복원된 빈들로 구성된 빈 열을 생성할 수 있다.The context modeling unit 540 may generate an empty column using the coding bins input from the bean decoder determiner 530. For example, the context modeling unit 540 may restore the bin by performing an exclusive OR operation on the coding bin and the LPB of the coding bin. Then, the context modeling unit 540 may generate an empty column composed of the restored bins.

그리고, 문맥 모델링부(540)는 확률 모델을 구성하는 빈의 LPB, 및 빈의 LPB 확률을 업데이트할 수 있다. 이때, 문맥 모델링부(540)는 복수 개로 구성될 수 있다.In addition, the context modeling unit 540 may update the LPB of the bin constituting the probability model and the LPB probability of the bin. In this case, the context modeling unit 540 may be configured in plurality.

일례로, 빈 디코더 결정부 0로부터 코딩 빈 0 내지 코딩 빈 10이 입력되는 경우, 문맥 모델링부 0는 코딩 빈 0와 코딩 빈 0의 LPB를 배타적 논리합(Exclusive OR) 연산하여 빈 0을 복원할 수 있다. 그리고, 문맥 모델링부 0는 코딩 빈 1과 코딩 빈 1의 LPB를 배타적 논리합 연산하여 빈 1을 복원할 수 있다. 그러면, 문맥 모델링부 0는 복원된 빈 1의 문맥 정보 및 복원된 빈 1의 위치에 기초하여 빈 1의 LPB 및 빈 1의 LPB 확률을 결정할 수 있다. 그리고, 문맥 모델링부 0는 코딩 빈 1의 LPB 및 코딩 빈 1의 LPB 확률을 복원된 빈 1을 이용하여 결정된 빈 1의 LPB 및 빈 1의 LPB 확률로 업데이트할 수 있다. 즉, 문맥 모델링부 0는 역 이진화부에서 요청한 빈의 LPB 및 요청한 빈의 LPB 확률을 상기 결정된 빈의 LPB 및 상기 결정된 빈의 LPB 확률로 업데이트할 수 있다.For example, when coding bins 0 to 10 are input from the bin decoder determiner 0, the context modeling unit 0 may restore the bin 0 by performing an exclusive OR operation on the LPBs of the coding bin 0 and the coding bin 0. have. The context modeling unit 0 may restore the bin 1 by performing an exclusive OR operation on the LPBs of the coding bin 1 and the coding bin 1. Then, the context modeling unit 0 may determine the LPB of the bin 1 and the LPB probability of the bin 1 based on the context information of the restored bin 1 and the position of the restored bin 1. The context modeling unit 0 may update the LPB probability of the coding bin 1 and the LPB probability of the coding bin 1 to the LPB probability of the bin 1 and the LPB probability of the bin 1 determined using the restored bin 1. That is, the context modeler 0 may update the LPB of the bin requested by the inverse binarization unit and the LPB probability of the requested bin to the LPB of the determined bin and the LPB probability of the determined bin.

동일한 방법으로, 문맥 모델링부 0는 코딩 빈 2 내지 코딩 빈 10과 코딩 빈 2의 LPB 내지 코딩 빈 10의 LPB를 각각 배타적 논리합 연산하여 빈 2 내지 빈 10을 복원할 수 있다. 그리고, 문맥 모델링부 0는 1)빈 2 내지 빈 10 각각의 LPB와, 2)빈 2 내지 빈 10 각각의 LPB 확률을 업데이트할 수 있다. 이어, 문맥 모델링부 0는 복원된 빈 0 내지 빈 10으로 구성된 빈 열 0를 출력할 수 있다.In the same way, the context modeling unit 0 may restore the bins 2 to 10 by performing an exclusive OR operation on the coding bins 2 to 10 and the LPBs of the coding bins 2 to 10. In addition, the context modeling unit 0 may update 1) the LPB of each of bins 2 to 10 and 2) the LPB probability of each of bins 2 to 10. Subsequently, the context modeling unit 0 may output a blank column 0 including the restored bins 0 to 10.

마찬가지로, 문맥 모델링부 1 내지 문맥 모델링부 M-1은 코딩 빈과 코딩 빈의 LPB를 배타적 논리합 연산하여, 빈 열 1 내지 빈 열 M-1을 각각 출력할 수 있다. 여기서, 빈 열 1은 문맥 모델링부 1에서 복원된 복수의 빈들로 구성되고, 빈 열 M-1은 문맥 모델링부 M-1에서 복원된 복수의 빈들로 구성될 수 있다. 이때, 문맥 모델링부 1 내지 문맥 모델링부 M-1은 빈 열 1을 구성하는 빈들의 LPB와 빈들의 LPB 확률, 빈 열 M-1을 구성하는 빈들의 LPB와 빈들의 LPB 확률을 업데이트할 수 있다.Similarly, the context modeling unit 1 to the context modeling unit M-1 may output the empty columns 1 to the empty column M-1 by performing an exclusive OR operation on the coding bin and the LPB of the coding bin. Here, the empty column 1 may include a plurality of bins restored by the context modeling unit 1, and the empty column M-1 may include a plurality of bins restored by the context modeling unit M-1. In this case, the context modeling unit 1 to the contextual modeling unit M-1 may update the LPB probability of the bins constituting the empty column 1, the LPB probability of the bins, and the LPB probability of the bins constituting the empty column M-1 and the LPB probability of the bins. .

역 이진화부(550)는 빈 열을 구성하는 복수의 빈들을 역 이진화하여 엔트로피 부호화 슬라이스를 복원할 수 있다. 이때, 역 이진화부(550)는 빈 열을 구성하는 복수의 빈들을 역이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부(550)는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스를 복원할 수 있다. 여기서, 역 이진화부(550)는 복수개로 구성될 수 있다. The inverse binarization unit 550 may reconstruct an entropy encoding slice by inverse binarizing a plurality of bins constituting an empty column. In this case, the inverse binarization unit 550 may restore the values of syntax elements by inverse binarizing the plurality of bins constituting the bin column. The inverse binarization unit 550 may reconstruct an entropy encoding slice by collecting values of reconstructed syntax elements. Here, the reverse binarization unit 550 may be configured in plurality.

일례로, 역 이진화부가 M개로 구성된 경우, 역 이진화부 0는 문맥 모델링부 0로부터 빈 열 0를 입력 받을 수 있다. 그리고, 역 이진화부 0는 빈 열 0를 구성하는 복수의 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 이때, 빈 열 0로 빈 0 내지 빈 10으로 구성된 경우, 역 이진화부 0는 신택스 엘리먼트 0 내지 신택스 엘리먼트 10의 값을 각각 복원할 수 있다. 그리고, 역 이진화부 0는 신택스 엘리먼트 0 내지 신택스 엘리먼트 10의 값을 모아서 엔트로피 부호화 슬라이스 0를 복원할 수 있다.For example, when the inverse binarization unit includes M, the inverse binarization unit 0 may receive an empty column 0 from the context modeling unit 0. The inverse binarization unit 0 may restore the values of syntax elements by inverse binarizing the plurality of bins constituting the blank column 0. In this case, when the empty column 0 includes bins 0 to 10, the inverse binarization unit 0 may restore the values of syntax elements 0 to syntax elements 10, respectively. The inverse binarization unit 0 may recover the entropy encoding slice 0 by collecting values of syntax elements 0 to syntax elements 10.

동일한 방법으로, 역 이진화부 1 내지 역이진화부 M-1은 빈 열 0 내지 빈 열 M-1을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부 1 내지 역이진화부 M-1은 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스 1 내지 엔트로피 부호화 슬라이스 M-1을 각각 복원할 수 있다.In the same manner, the inverse binarization unit 1 to the inverse binarization unit M-1 may restore the values of syntax elements by inverse binarizing bins constituting the empty column 0 to the empty column M-1. The inverse binarization unit 1 to the inverse binarization unit M-1 may reconstruct the entropy coded slice 1 to entropy coded slice M-1 by collecting values of reconstructed syntax elements, respectively.

정렬부(560)는 역 이진화를 통해 복원된 복수의 엔트로피 부호화 슬라이스들을 엔트로피 부호화 정보에 기초하여 정렬할 수 있다. 일례로, 정렬부(560)는 엔트로피 부호화 슬라이스 0 내지 엔트로피 부호화 슬라이스 M-1을 정렬하여 영상 데이터를 복원할 수 있다.The alignment unit 560 may sort the plurality of entropy coded slices reconstructed through inverse binarization based on entropy coded information. For example, the alignment unit 560 may reconstruct image data by aligning entropy coded slices 0 to entropy coded slices M-1.

도 6은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 블록도이다.6 is a block diagram showing a configuration of an encoding apparatus according to an embodiment of the present invention.

도 6은 도 3의 부호화 장치에서 복수의 개별 버퍼들을 포함한다. 이에 따라, 도 6의 구성 요소들 중 도 3과 중복되는 설명은 생략하기로 한다.FIG. 6 includes a plurality of individual buffers in the encoding apparatus of FIG. 3. Accordingly, description overlapping with FIG. 3 among the components of FIG. 6 will be omitted.

도 6에 따르면, 부호화 장치(600)는 정보 생성부(610), 이진화부(620), 문맥 모델링부(630), 빈 인코더 결정부(640), 개별 버퍼(650), 빈 인코더(660), 및 다중화부(670)를 포함할 수 있다. 도 6에서, 이진화부(620), 문맥 모델링부 (630), 빈 인코더 결정부(640), 개별 버퍼(650) 및 빈 인코더(660)는 복수개로 구성될 수 있다. According to FIG. 6, the encoding apparatus 600 includes an information generator 610, a binarizer 620, a context modeler 630, an empty encoder determiner 640, an individual buffer 650, and an empty encoder 660. , And multiplexer 670. In FIG. 6, the binarization unit 620, the context modeling unit 630, the empty encoder determiner 640, the individual buffer 650, and the empty encoder 660 may be configured in plural numbers.

개별 버퍼(650)는 빈 인코더(660)와 동일한 개수를 가지며, 빈 인코더(660) 이전에 위치할 수 있다. 이처럼, 빈 인코더 이전에 위치함에 따라, 개별 버퍼(650)는 빈 인코더 결정부(640)에서 출력되는 코딩 빈들 중 빈 인코더(660)에 할당된 코딩 빈들을 보관할 수 있다. 즉, 개별 버퍼(650)는 빈 인코더(660)로 입력되는 코딩 빈들을 임시적으로 보관할 수 있다. 그리고, 개별 버퍼(650)는 보관된 코딩 빈들을 할당된 빈 인코더로 전달할 수 있다.The individual buffer 650 has the same number as the empty encoder 660 and may be located before the empty encoder 660. As such, as located before the bin encoder, the individual buffer 650 may store the coding bins assigned to the bin encoder 660 among the coding bins output from the bin encoder determiner 640. That is, the individual buffer 650 may temporarily store the coding bins input to the bin encoder 660. In addition, the individual buffer 650 may deliver the stored coding bins to the assigned bin encoder.

일례로, 개별 버퍼(650)가 K개로 구성된 경우, 개별 버퍼 0는 빈 인코더 0 이전에 위치하며, 빈 인코더 0에 할당된 코딩 빈들을 빈 인코더 결정부 0 내지 M-1로부터 수신하여 보관할 수 있다. 그리고, 개별 버퍼 0는 보관된 코딩 빈들을 빈 인코더 0에 전달할 수 있다. 마찬가지로, 개별 버퍼 1은 빈 인코더 1에 할당된 코딩 빈들을 빈 인코더 결정부 0 내지 M-1로부터 수신하여 보관할 수 있다. 그리고, 그리고, 개별 버퍼 1은 보관된 코딩 빈들을 빈 인코더 1에 전달할 수 있다.For example, when the individual buffer 650 is composed of K, the individual buffer 0 is positioned before the empty encoder 0, and the coding bins allocated to the empty encoder 0 may be received and stored from the empty encoder determiners 0 to M-1. . And, individual buffer 0 can pass the stored coding bins to empty encoder 0. Similarly, the individual buffer 1 may receive and store the coding bins allocated to the empty encoder 1 from the empty encoder determiners 0 to M-1. And, individual buffer 1 can deliver the stored coding bins to empty encoder 1.

동일한 방법으로, 개별 버퍼 2 내지 개별 버퍼 K-1은 빈 인코더 2 내지 빈 인코더 K-1 각각에 할당된 코딩 빈들을 수신하여 보관할 수 있다. 그리고, 개별 버퍼 2 내지 개별 버퍼 K-1은 보관된 코딩 빈들을 빈 인코더 2 내지 빈 인코더 K-1에 전달할 수 있다.In the same way, the individual buffers 2 to K-1 may receive and store the coding bins assigned to each of the empty encoders 2 to empty encoder K-1. In addition, the individual buffers 2 to K-1 may transfer the stored coding bins to the empty encoders 2 to the empty encoder K-1.

그러면, 빈 인코더(660)는 개별 버퍼(650)로부터 입력된 코딩 빈들을 빈 인코딩하여 코드워드들을 생성할 수 있다. 그리고, 빈 인코더(660)는 생성된 코드워드들을 모아서 부분 비트스트림으로 출력할 수 있다.The bin encoder 660 may then bin encode the coding bins input from the individual buffer 650 to generate codewords. The empty encoder 660 may collect the generated codewords and output the partial codestream.

일례로, 개별 버퍼 0에서 코딩 빈 0 내지 코딩 빈 10이 입력된 경우, 빈 인코더 0는 코딩 빈 0 내지 코딩 빈 10을 빈 인코딩하여 코드워드 0 내지 코드워드 10을 생성할 수 있다. 그리고, 빈 인코더 0는 코드워드 0 내지 코드워드 10을 모아서 부분 비트스트림 0를 출력할 수 있다.For example, when coding bins 0 to 10 are input in individual buffers 0, the bin encoder 0 may encode the coding bins 0 to 10 to generate codewords 0 to 10. The empty encoder 0 may collect the codewords 0 to 10 to output the partial bitstream 0.

동일한 방법으로, 빈 인코더 1 내지 빈 인코더 K-1 각각은 개별 버퍼 1 내지 개별 버퍼 K-1 각각에서 입력된 코딩 빈들을 빈 인코딩하여 코드워드들을 각각 생성할 수 있다. 그리고, 인코더 1 내지 빈 인코더 K-1 각각은 코드워드들을 모아서 부분 비트스트림 1 내지 부분 비트스트림 K-1을 각각 출력할 수 있다.In the same manner, each of the empty encoders 1 to empty encoder K-1 may bin encode coding bins inputted from each of the individual buffers 1 to individual buffer K-1 to generate codewords, respectively. Each of the encoders 1 to empty encoder K-1 may collect the codewords and output the partial bitstream 1 to the partial bitstream K-1, respectively.

그러면, 다중화부(670)는 빈 인코더(660)에서 출력되는 부분 비트스트림들, 및 엔트로피 부호화 슬라이스 정보를 다중화하여 하나의 비트스트림을 출력할 수 있다. Then, the multiplexer 670 may output one bitstream by multiplexing the partial bitstreams and the entropy coded slice information output from the empty encoder 660.

이때, 복호화 장치에서, 부분 비트스트림들 각각의 확률 정보를 이미 알고 있지 않은 경우, 다중화부(670)는 부분 비트스트림들, 엔트로피 부호화 슬라이스 정보, 및 부분 비트스트림들 각각의 확률 정보를 다중화하여 하나의 비트스트림을 출력할 수 있다. 여기서, 부분 비트스트림들 각각의 확률 정보는 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. 일례로, 다중화부(670)는 1)부분 비트스트림 0 내지 부분 비트스트림 K-1, 2) 엔트로피 부호화 슬라이스 정보, 및 3)부분 비트스트림 0 내지 부분 비트스트림 K-1 각각의 확률 정보를 다중화할 수 있다.In this case, in the decoding apparatus, when the probability information of each of the partial bitstreams is not already known, the multiplexer 670 multiplexes the partial bitstreams, the entropy encoding slice information, and the probability information of each of the partial bitstreams. It can output a bitstream of. Here, the probability information of each of the partial bitstreams may include a representative probability of the empty encoder that outputs the partial bitstream. In one example, the multiplexer 670 multiplexes 1) partial bitstream 0 to partial bitstream K-1, 2) entropy coded slice information, and 3) partial bitstream 0 to partial bitstream K-1. can do.

도 7은 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.7 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.

도 7은 도 5의 복호화 장치에서 복수의 개별 버퍼들을 포함한다. 이에 따라, 도 7의 구성 요소들 중 도 5와 중복되는 설명은 생략하기로 한다.FIG. 7 includes a plurality of individual buffers in the decoding apparatus of FIG. 5. Accordingly, description overlapping with FIG. 5 among the components of FIG. 7 will be omitted.

도 7에 따르면, 복호화 장치(700)는 역 다중화부(710), 빈 디코더(720), 개별 버퍼(730), 빈 디코더 결정부(740), 문맥 모델링부(750), 역 이진화부(760), 및 정렬부(770)를 포함할 수 있다. 도 7에서, 빈 디코더(720), 개별 버퍼(730), 빈 디코더 결정부(740), 문맥 모델링부(750), 및 역 이진화부(760)는 복수개로 구성될 수 있다.According to FIG. 7, the decoding apparatus 700 includes a demultiplexer 710, an empty decoder 720, an individual buffer 730, an empty decoder determiner 740, a context modeler 750, and an inverse binarizer 760. ), And an alignment unit 770. In FIG. 7, the bin decoder 720, the individual buffer 730, the bin decoder determiner 740, the context modeler 750, and the inverse binarizer 760 may be configured in plural.

개별 버퍼(730)는 빈 디코더(720)와 동일한 개수를 가지며, 빈 디코더(720) 이후에 위치할 수 있다. 이처럼, 빈 인코더 이후에 위치함에 따라, 개별 버퍼(720)는 빈 디코더(720)에서 출력되는 코딩 빈들을 보관할 수 있다. 즉, 개별 버퍼(730)는 복수의 빈 디코더에서 출력되는 코딩 빈들을 임시적으로 보관할 수 있다. The individual buffer 730 has the same number as the bin decoder 720 and may be located after the bin decoder 720. As such, as located after the bin encoder, the individual buffer 720 may store the coding bins output from the bin decoder 720. That is, the individual buffer 730 may temporarily store the coding bins output from the plurality of bin decoders.

일례로, 개별 버퍼 (730)가 K개로 구성된 경우, 개별 버퍼 0는 빈 디코더 0 다음에 위치할 수 있다. 그리고, 개별 버퍼 0는 빈 디코더 0에서 출력되는 코딩 빈들을 임시적으로 보관할 수 있다. 마찬가지로, 개별 버퍼 1 내지 개별 버퍼 K-1은 빈 디코더 1 내지 빈 디코더 K-1에서 출력되는 코딩 빈들을 각각 임시적으로 보관할 수 있다.In one example, if K individual buffers 730 are configured, K 0 may be located after empty decoder 0. In addition, the individual buffer 0 may temporarily store coding bins output from the bin decoder 0. Similarly, the individual buffers 1 to K-1 may each temporarily store the coding bins output from the bin decoders 1 to empty decoder K-1.

빈 디코더 결정부(740)는 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 디코더 결정부(740)는 결정된 확률 구간의 대표 확률을 갖는 빈 디코더를 결정할 수 있다. 그러면, 빈 디코더 결정부(740)는 결정된 빈 디코더에 대응하는 개별 버퍼에서 출력되는 코딩 빈을 입력 받을 수 있다.The bin decoder determiner 740 may determine a probability section to which the LPB probability of the bin belongs. The bin decoder determiner 740 may determine a bin decoder having a representative probability of the determined probability interval. Then, the bin decoder determiner 740 may receive a coding bin output from an individual buffer corresponding to the determined bin decoder.

일례로, 빈 디코더 결정부 0는 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다. 그리고 빈 디코더 결정부 1은 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다. 마찬가지로, 빈 디코더 결정부 2 내지 빈 디코더 결정부 M-1 각각은 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다.For example, the bin decoder determiner 0 may receive coding bins output from the individual buffer 0 to the individual buffer K-1. The bin decoder determiner 1 may receive the coding bins output from the individual buffer 0 to the individual buffer K-1. Similarly, each of the empty decoder determiner 2 to the empty decoder determiner M-1 may receive coding bins output from the individual buffers 0 to individual buffers K-1.

그러면, 문맥 모델링부(750)는 빈 디코더 결정부(740)에서 출력되는 코딩 빈들과 해당 코딩 빈에 대응하는 빈의 LPB를 이용하여 복수의 빈 열을 복원할 수 있다. 그리고, 문맥 모델링부(750)는 확률 모델을 구성하는 빈의 LPB, 및 LPB 확률을 업데이트할 수 있다. 이때, 문맥 모델링부(750)는 복수 개로 구성될 수 있다.Then, the context modeling unit 750 may restore the plurality of empty columns by using the coding bins output from the bin decoder determining unit 740 and the LPBs of the bins corresponding to the corresponding coding bins. In addition, the context modeling unit 750 may update the LPB and the LPB probability of the bin constituting the probability model. In this case, the context modeling unit 750 may be configured in plurality.

그리고, 역 이진화부(760)는 빈 열을 구성하는 복수의 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부(760)는 복원된 신택스 엘리먼트들의 값을 모아서 복수의 엔트로피 부호화 슬라이스를 복원할 수 있다. 이때, 역 이진화부(760)는 복수개로 구성될 수 있다.In addition, the inverse binarization unit 760 may inverse binarize the plurality of bins constituting the empty column to restore values of syntax elements. The inverse binarization unit 760 may reconstruct a plurality of entropy coded slices by collecting values of reconstructed syntax elements. In this case, the reverse binarization unit 760 may be configured in plurality.

일례로, 역 이진화부 0는 문맥 모델링부에서 출력된 빈 열 0를 구성하는 빈 들을 역이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부 0는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스 0을 복원할 수 있다. 동일한 방법으로, 역 이진화부 1은 엔트로피 부호화 슬라이스 1을 복원하고, …, 역 이진화부 M-1은 엔트로피 부호화 슬라이스 M-1을 복원할 수 있다.As an example, the inverse binarization unit 0 may restore the values of syntax elements by inverse binarizing bins constituting the empty column 0 output from the context modeling unit. The inverse binarization unit 0 may recover the entropy coded slice 0 by collecting values of the recovered syntax elements. In the same manner, inverse binarization unit 1 restores entropy coded slice 1. The inverse binarization unit M-1 may reconstruct the entropy encoding slice M-1.

정렬부(770)는 역 이진화를 통해 복원된 복수의 엔트로피 부호화 슬라이스들을 엔트로피 부호화 정보에 기초하여 정렬할 수 있다. 일례로, 정렬부(770)는 엔트로피 부호화 슬라이스 0 내지 엔트로피 부호화 슬라이스 M-1을 정렬하여 영상 데이터를 복원할 수 있다.The alignment unit 770 may sort the plurality of entropy coded slices reconstructed through inverse binarization based on entropy coded information. For example, the alignment unit 770 may reconstruct image data by aligning entropy coded slices 0 to entropy coded slices M-1.

도 8은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 블록도이다.8 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.

도 8은 도 3의 부호화 장치에서 확률 구간 할당부를 더 포함한다. 이에 따라, 도 8의 구성 요소들 중 도 3과 중복되는 설명은 생략하기로 한다.8 further includes a probability interval allocator in the encoding apparatus of FIG. 3. Accordingly, description overlapping with FIG. 3 among the components of FIG. 8 will be omitted.

도 8에 따르면, 부호화 장치(800)는 정보 생성부(810), 이진화부(820), 문맥 모델링부(830), 빈 인코더 결정부(840), 빈 인코더(850), 다중화부(860), 및 확률 구간 할당부(870)를 포함할 수 있다. 도 8에서, 이진화부(820), 문맥 모델링부(830), 빈 인코더 결정부(840), 및 빈 인코더(850)는 복수개로 구성될 수 있다. According to FIG. 8, the encoding apparatus 800 includes an information generator 810, a binarizer 820, a context modeler 830, an empty encoder determiner 840, an empty encoder 850, and a multiplexer 860. , And a probability interval allocator 870. In FIG. 8, the binarizer 820, the context modeler 830, the bin encoder determiner 840, and the bin encoder 850 may be configured in plural.

확률 구간 할당부(870)는 복수의 엔트로피 부호화 슬라이스 별로 대응하여 존재하는 빈 인코더 결정부(840)를 관리할 수 있다.The probability interval allocator 870 may manage the empty encoder determiner 840 corresponding to each of the plurality of entropy coded slices.

일례로, 확률 구간 할당부(870)는 1)대표 확률이 포함되는 확률 구간의 확률 분포, 2)확률에 따른 부호화 효율, 및 3)빈 디코더의 개수 중 어느 하나에 기초하여 확률 구간의 크기, 및 확률 구간의 개수를 결정할 수 있다.For example, the probability interval allocator 870 may determine the size of the probability interval based on any one of 1) probability distribution of the probability interval including the representative probability, 2) coding efficiency according to the probability, and 3) the number of empty decoders. And the number of probability intervals.

그리고, 확률 구간 할당부(870)는 결정된 확률 구간의 크기 및 개수에 기초하여 빈 인코더 결정부의 확률 구간, 및 확률 구간의 대표 확률을 조절할 수 있다. 일례로, 확률 구간 할당부(870)는 빈 인코더 결정부 0 내지 빈 인코더 결정부 M-1 각각의 확률 구간을 조절하고, 빈 인코더 결정부 0 내지 빈 인코더 결정부 M-1 각각의 대표 확률을 조절할 수 있다. 이때, 확률 구간 할당부(870)는 빈(bin)의 발생 빈도수를 이용하여 확률 구간의 확률 분포를 계산할 수 있다.The probability section allocator 870 may adjust the probability section of the empty encoder determiner and the representative probability of the probability section based on the size and number of the determined probability section. For example, the probability section allocator 870 adjusts the probability section of each of the empty encoder determiner 0 to the empty encoder determiner M-1, and adjusts the representative probability of each of the empty encoder determiner 0 to the empty encoder determiner M-1. I can regulate it. In this case, the probability section allocator 870 may calculate a probability distribution of the probability section by using a frequency of occurrence of bins.

상세하게는, 도 14를 참조하면, LPB 확률(1410)이 임의의 간격에 따라 복수의 확률 구간(1401)으로 구분된 경우, 확률 구간 할당부(870)는 확률 분포, 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여 각 빈 인코더 결정부의 확률 구간, 및 각 확률 구간의 대표 확률을 적응적으로 조절(1403)할 수 있다. 이때, 확률 구간의 크기가 조절됨에 따라 조절된 확률 구간에 속하는 대표 확률(1404) 역시 적응적으로 조절될 수 있다. In detail, referring to FIG. 14, when the LPB probability 1410 is divided into a plurality of probability intervals 1401 at random intervals, the probability interval allocator 870 may determine the probability distribution, the coding efficiency, and the empty decoder. Based on any one of the numbers, a probability section of each bin encoder determiner and a representative probability of each probability section may be adaptively adjusted 1403. In this case, as the size of the probability interval is adjusted, the representative probability 1404 belonging to the adjusted probability interval may also be adaptively adjusted.

그리고, 확률 구간 할당부(870)는 확률 구간의 크기 및 대표 확률이 조절됨에 따라 조절된 확률 구간 및 대표 확률을 나타내는 정보를 비트스트림에 삽입하여 복호화 장치로 전송할 수 있다.The probability section allocator 870 may insert information indicating the adjusted probability section and the representative probability into the bitstream and transmit the information to the decoding apparatus as the size of the probability section and the representative probability are adjusted.

도 9는 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.9 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.

도 9는 도 5의 복호화 장치에서 확률 구간 할당부를 더 포함한다. 이에 따라, 도 9의 구성 요소들 중 도 5와 중복되는 설명은 생략하기로 한다.9 further includes a probability interval allocator in the decoding apparatus of FIG. 5. Accordingly, description overlapping with FIG. 5 among the components of FIG. 9 will be omitted.

도 9에 따르면, 복호화 장치(900)는 역 다중화부(910), 빈 디코더(920), 빈 디코더 결정부(930), 문맥 모델링부(940), 역 이진화부(950), 정렬부(960), 및 확률 구간 할당부(970)를 포함할 수 있다. 도 9에서, 빈 디코더(920), 빈 디코더 결정부(930), 문맥 모델링부(940), 및 역 이진화부(950)는 복수개로 구성될 수 있다. According to FIG. 9, the decoding apparatus 900 includes a demultiplexer 910, a bin decoder 920, a bin decoder determiner 930, a context modeler 940, an inverse binarizer 950, and an alignment unit 960. And a probability interval allocator 970. In FIG. 9, the bin decoder 920, the bin decoder determiner 930, the context modeler 940, and the inverse binarizer 950 may be configured in plural.

확률 구간 할당부(970)는 복수개로 구성된 빈 디코더 결정부의 동작을 제어할 수 있다. 이때, 확률 구간 할당부(970)는 빈의 확률 분포, 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여, 복수의 빈 디코더 결정부의 확률 구간 및 확률 구간의 대표 확률을 각각 조절할 수 있다.The probability interval allocator 970 may control an operation of a plurality of empty decoder determiner units. In this case, the probability interval allocator 970 may adjust the representative probability of each of the probability intervals and the probability intervals of the plurality of bin decoder determiners based on one of the probability distribution of the bin, the coding efficiency, and the number of the bin decoders.

그리고, 복호화 장치는, 부호화 장치에서 비트스트림에 삽입한 조절된 확률 구간 및 대표 확률을 나타내는 정보를 복호화할 수 있다. 그리고, 복호화 장치는, 복호화된 정보를 이용하여 확률 구간의 크기 및 대표 확률을 조절할 수 있다.The decoding apparatus may decode information indicating the adjusted probability interval and the representative probability inserted into the bitstream by the encoding apparatus. The decoding apparatus may adjust the size and the representative probability of the probability interval using the decoded information.

그러면, 빈 디코더(920) 및 빈 디코더 결정부(930)는 새롭게 조절된 확률 구간 및 대표 확률을 이용하여 빈 디코딩을 수행할 수 있다.Then, the bin decoder 920 and the bin decoder determiner 930 may perform bin decoding by using the newly adjusted probability interval and the representative probability.

일례로, 빈 디코더(920)는 조절된 확률 구간 및 조절된 대표 확률에 기초하여 부분 비트스트림들 내의 코드워드들을 각각 빈 디코딩할 수 있다.As an example, the bin decoder 920 may bin decode codewords in the partial bitstreams based on the adjusted probability interval and the adjusted representative probability, respectively.

그리고, 빈 디코더 결정부(930)는 조절된 확률 구간 및 조절된 대표 확률에 기초하여 역 이진화부(950)에서 요청한 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 디코더 결정부(930)는 복수의 빈 디코더들 중에서 결정된 확률 구간의 대표 확률을 가지는 빈 디코더로부터 코딩 빈을 입력 받아 출력할 수 있다.The bin decoder determiner 930 may determine a probability section to which the LPB probability of the bin requested by the inverse binarization unit 950 belongs based on the adjusted probability section and the adjusted representative probability. The bin decoder determiner 930 may receive and output a coding bin from a bin decoder having a representative probability of a probability section determined among a plurality of bin decoders.

지금까지, 도 8 및 도 9를 참조하여 빈 인코더 결정부 및 빈 디코더 결정부를 적응적으로 제어하는 확률 구간 할당부에 대해 설명하였다. 이때, 본 부호화 장치는, 복수의 개별 버퍼를 이용하여 빈을 임시적으로 보관하는 경우에도 복수의 엔트로피 부호화 슬라이스 별로 대응하는 빈 인코더 결정부를 적응적으로 제어할 수 있다. 다시 말해, 본 부호화 장치는 도 10과 같이, 도 6의 부호화 장치에서 확률 구간 할당부(1010)를 더 포함할 수 있다. 마찬가지로, 본 복호화 장치는 도 11과 같이, 도 7의 복호화 장치에서 확률 구간 할당부(1110)를 더 포함할 수 있다.Up to now, the probability interval allocator which adaptively controls the empty encoder determiner and the empty decoder determiner has been described with reference to FIGS. 8 and 9. In this case, the encoding apparatus may adaptively control the bin encoder determiner corresponding to each of the plurality of entropy coded slices even when the bins are temporarily stored using a plurality of individual buffers. In other words, as shown in FIG. 10, the encoding apparatus may further include a probability interval allocator 1010 in the encoding apparatus of FIG. 6. Similarly, the decoding apparatus may further include a probability interval allocator 1110 in the decoding apparatus of FIG. 7.

한편, 본 발명의 일실시예 따른 부호화 및 복호화 장치에서, 복수의 빈 인코더 결정부의 개수와 빈 인코더의 개수는 서로 상이할 수 있으며, 복수의 빈 디코더 결정부의 개수와 빈 디코더의 개수는 서로 상이할 수 있다. 이때, 부호화 장치에서 이용하는 복수의 빈 인코더 결정부의 구조와 복호화 장치에서 이용하는 복수의 빈 디코더 결정부의 구조는 서로 상이할 수도 있다. 일례로, 부호화 장치 및 복호화 장치에서 복수의 빈 인코더 결정부의 구조와 복수의 빈 디코더 결정부의 구조가 서로 상이함을 상호 약속하여 이용하는 경우, 부호화 장치는 복수의 빈 인코더 결정부의 구조를 비트스트림에 명시하지 않을 수 있다. 이때, 부호화 및 복호화 장치 간에 서로 약속하지 않은 경우, 부호화 장치는 복수의 빈 인코더 결정부의 구조를 나타내는 정보를 비트스트림에 삽입하여 복호화 장치로 전송할 수도 있다. 그러면, 복호화 장치는 복수의 빈 인코더 결정부의 구조를 나타내는 정보에 기초하여 복수의 빈 디코더 결정부를 구성할 수 있다.Meanwhile, in the encoding and decoding apparatus according to an embodiment of the present invention, the number of the plurality of empty encoder determiners and the number of the empty encoders may be different from each other, and the number of the plurality of empty decoder determiners and the number of empty decoders may be different from each other. Can be. In this case, the structures of the plurality of empty encoder determiners used in the encoding apparatus and the structures of the plurality of empty decoder determiners used in the decoding apparatus may be different from each other. For example, when the encoding apparatus and the decoding apparatus mutually promise that the structures of the plurality of empty encoder determination units and the structures of the plurality of empty decoder determination units are mutually different from each other, the encoding apparatus specifies the structures of the plurality of empty encoder determination units in the bitstream. You can't. In this case, when the encoding and decoding devices do not promise each other, the encoding device may insert information indicating the structures of the plurality of empty encoder determination units into the bitstream and transmit the information to the decoding device. Then, the decoding apparatus may configure the plurality of bin decoder determiners based on the information indicating the structures of the plurality of bin encoder determiners.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

310: 정보 생성부
320: 이진화부
330: 문맥 모델링부
340: 빈 인코더 결정부
350: 빈 인코더
360: 다중화부
310: information generating unit
320: binarization
330: context modeling unit
340: empty encoder determiner
350: empty encoder
360: multiplexer

Claims (20)

영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하고, 상기 영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성하는 정보 생성부;
상기 복수의 엔트로피 부호화 슬라이스를 이진화하여 빈 열(bin sequence)로 변환하는 복수의 이진화부;
상기 빈 열을 구성하는 빈들과 빈(bin)들의 LPB(Less Probable Bin)를 이용하여 코딩 빈들을 생성하는 복수의 문맥 모델링부;
상기 빈 열을 구성하는 빈들의 LPB 확률에 기초하여 코딩 빈들을 빈 인코더에 할당하는 복수의 빈 인코더 결정부;
상기 빈 인코더 이전에 위치하며, 상기 코딩 빈들을 보관하는 복수의 개별 버퍼; 및
상기 코딩 빈들을 빈 인코딩하여 코드워드들을 생성하는 복수의 빈 인코더
를 포함하는 부호화 장치.
An information generation unit for dividing image data into a plurality of entropy coded slices and generating entropy coded slice information including a unit for dividing the image data into entropy coded slices;
A plurality of binarizers for binarizing the plurality of entropy coded slices into bin sequences;
A plurality of context modeling units generating coding bins using bins constituting the bin column and Less Probable Bins (LPBs) of bins;
A plurality of bin encoder determination units for allocating coding bins to a bin encoder based on LPB probabilities of bins constituting the bin column;
A plurality of individual buffers located before the bin encoder, the individual buffers storing the coding bins; And
A plurality of bin encoders that bin encode the coding bins to generate codewords
Encoding apparatus comprising a.
제1항에 있어서,
상기 복수의 문맥 모델링부는,
빈의 문맥 정보, 및 빈의 위치에 기초하여 상기 빈들의 LPB 확률을 각각 결정하고,
상기 복수의 빈 인코더 결정부는,
복수의 확률 구간들 중에서 상기 빈들의 LPB 확률이 속하는 확률 구간을 각각 결정하고, 상기 코딩 빈들을 상기 결정된 확률 구간 각각에 대응하는 복수의 빈 인코더에 각각 할당하는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The plurality of context modeling unit,
Determine LPB probabilities of the bins based on the context information of the bin and the location of the bin,
The plurality of empty encoder determiner,
And a probability section to which the LPB probabilities of the bins belong among the plurality of probability sections, respectively, and allocate the coding bins to a plurality of bin encoders corresponding to the determined probability sections, respectively.
제1항에 있어서,
상기 복수의 문맥 모델링부는,
상기 빈들의 LPB 및 상기 빈들의 LPB 확률을 업데이트하는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The plurality of context modeling unit,
And an LPB of the bins and an LPB probability of the bins.
제1항에 있어서,
상기 복수의 문맥 모델링부는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈과 빈(bin)의 LPB(Less Probable Bin)를 배타적 논리합(Exclusive OR) 연산하여 코딩 빈을 생성하는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The plurality of context modeling unit,
And an encoding OR operation on the bins constituting the empty column to generate an exclusive OR operation on a LP and a Least Probable Bin (LPB) of the bin.
제1항에 있어서,
상기 복수의 개별 버퍼는,
상기 복수의 빈 인코더와 동일한 개수를 갖는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The plurality of individual buffers,
And the same number as the plurality of empty encoders.
제1항에 있어서,
상기 코드워드들을 모아서 생성된 복수의 부분 비트스트림(partial bitstream), 및 상기 엔트로피 부호화 슬라이스 정보를 다중화하는 다중화부
를 더 포함하는 부호화 장치.
The method of claim 1,
A multiplexer for multiplexing the plurality of partial bitstreams generated by collecting the codewords and the entropy coded slice information;
Encoding apparatus further comprising.
제1항에 있어서,
상기 정보 생성부는,
상기 영상 데이터를 구성하는 신택스 엘리먼트(syntax element)들, 또는 상기 영상 데이터를 구성하는 블록들을 그룹화하여, 상기 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The information generator,
And encoding the syntax elements constituting the image data or the blocks constituting the image data to divide the image data into a plurality of entropy encoding slices.
영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성하는 단계;
상기 복수의 엔트로피 부호화 슬라이스를 각각 이진화하여 빈 열(bin sequence)로 변환하는 단계;
상기 빈 열을 구성하는 빈들과 빈(bin)들의 LPB(Less Probable Bin)를 이용하여 코딩 빈들을 병렬적으로 생성하는 단계;
상기 빈 열을 구성하는 빈들의 LPB 확률에 기초하여 코딩 빈들을 빈 인코더에 할당하는 단계;
상기 코딩 빈들을 병렬적으로 보관하는 단계; 및
상기 코딩 빈들을 빈 인코딩하여 코드워드들을 병렬적으로 생성하는 단계
를 포함하는 부호화 방법.
Generating entropy coded slice information including a unit of dividing image data into entropy coded slices;
Binarizing each of the plurality of entropy coded slices into a bin sequence;
Generating coding bins in parallel using bins constituting the bin column and Less Probable Bins (LPBs) of bins;
Assigning coding bins to a bin encoder based on LPB probabilities of bins constituting the bin column;
Storing the coding bins in parallel; And
Bin encoding the coding bins to generate codewords in parallel
Encoding method comprising a.
제8항에 있어서,
상기 코딩 빈들을 병렬적으로 생성하는 단계는,
빈의 문맥 정보, 및 빈의 위치에 기초하여 상기 빈들의 LPB 확률을 각각 결정하는 것을 특징으로 하는 부호화 방법.
The method of claim 8,
Generating the coding bins in parallel,
And determining LPB probabilities of the bins based on the context information of the bin and the position of the bin.
제9항에 있어서,
상기 코딩 빈들을 빈 인코더에 할당하는 단계는,
복수의 확률 구간들 중에서 상기 빈들의 LPB 확률이 속하는 확률 구간을 각각 결정하는 단계; 및
상기 코딩 빈들을 상기 결정된 확률 구간 각각에 대응하는 복수의 빈 인코더에 각각 할당하는 단계
를 포함하는 부호화 방법.
10. The method of claim 9,
Assigning the coding bins to a bin encoder,
Determining a probability interval among the plurality of probability intervals to which the LPB probability of the bins belong; And
Allocating the coding bins to a plurality of bin encoders respectively corresponding to the determined probability intervals.
Encoding method comprising a.
제8항에 있어서,
상기 빈들의 LPB 및 상기 빈들의 LPB 확률을 업데이트하는 단계
를 더 포함하는 부호화 방법.
The method of claim 8,
Updating the LPB of the bins and the LPB probability of the bins
Encoding method further comprising.
제8항에 있어서,
상기 코드워드들을 모아서 부분 비트스트림(partial bitstream)을 병렬적으로 생성하는 단계; 및
상기 병렬적으로 생성된 부분 비트스트림, 및 상기 엔트로피 부호화 슬라이스 정보를 다중화하는 단계
를 더 포함하는 부호화 방법.
The method of claim 8,
Collecting the codewords to generate a partial bitstream in parallel; And
Multiplexing the parallel generated partial bitstream and the entropy encoded slice information
Encoding method further comprising.
제8항에 있어서,
상기 영상 데이터를 구성하는 신택스 엘리먼트(syntax element)들, 또는 상기 영상 데이터를 구성하는 블록들을 그룹화하여, 상기 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하는 단계
를 더 포함하는 부호화 방법.
The method of claim 8,
Dividing the image data into a plurality of entropy encoding slices by grouping syntax elements constituting the image data or blocks constituting the image data
Encoding method further comprising.
비트스트림을 역다중화하여 복수의 부분 비트스트림을 분리하는 역다중화부;
상기 복수의 부분 비트스트림을 빈 디코딩하여 복수의 코딩 빈을 생성하는 복수의 빈 디코더;
빈의 LPB 확률을 이용하여 빈 디코더를 결정하고, 결정된 빈 디코더로부터 상기 코딩 빈을 입력받아 전달하는 복수의 빈 디코더 결정부;
상기 코딩 빈과 코딩 빈의 LPB를 이용하여 빈 열을 생성하는 복수의 문맥 모델링부; 및
상기 빈 열을 구성하는 빈들을 역 이진화하여 복수의 엔트로피 부호화 슬라이스를 복원하는 복수의 역 이진화부
를 포함하는 복호화 장치.
A demultiplexer for demultiplexing the bitstream to separate a plurality of partial bitstreams;
A plurality of bin decoders for bin decoding the plurality of partial bitstreams to generate a plurality of coding bins;
A plurality of bin decoder determination units that determine a bin decoder using LPB probabilities of bins, and receive and transfer the coding bins from the determined bin decoders;
A plurality of context modeling units configured to generate empty columns using the coding bins and LPBs of the coding bins; And
A plurality of inverse binarization units for inverse binarizing the bins constituting the empty column to restore a plurality of entropy coded slices
Decoding apparatus comprising a.
제14항에 있어서,
상기 복수의 문맥 모델링부는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 LPB 및 빈의 LPB 확률을 결정하고, 빈의 LPB 및 빈의 LPB 확률을 업데이트하는 것을 특징으로 하는 복호화 장치.
The method of claim 14,
The plurality of context modeling unit,
Determining the LPB of the bin and the LPB probability of the bin based on the context information of the bin and the location of the bin, and updating the LPB of the bin and the LPB probability of the bin, based on the bins constituting the bin column; Decryption device.
제14항에 있어서,
상기 복수의 빈 디코더 다음에 위치하며, 상기 복수의 빈 디코더에서 출력되는 코딩 빈들을 보관하는 복수의 개별 버퍼
를 더 포함하는 복호화 장치.
The method of claim 14,
A plurality of individual buffers located after the plurality of bin decoders and storing coding bins output from the plurality of bin decoders
Decoding apparatus further comprising.
제16항에 있어서,
상기 복수의 개별 버퍼는,
상기 복수의 빈 디코더와 동일한 개수로 구성되며,
상기 복수의 빈 디코더 결정부는,
상기 결정된 빈 디코더에 대응하는 개별 버퍼에서 출력되는 코딩 빈들을 입력받는 것을 특징으로 하는 복호화 장치.
The method of claim 16,
The plurality of individual buffers,
The same number as the plurality of bin decoders,
The plurality of empty decoder determiner,
And a coding bin output from an individual buffer corresponding to the determined bin decoder.
제14항에 있어서,
상기 복수의 역 이진화부는,
상기 빈 열을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원하고, 복원된 신택스 엘리먼트들의 값을 모아서 복수의 엔트로피 부호화 슬라이스를 복원하는 것을 특징으로 하는 복호화 장치.
The method of claim 14,
The plurality of inverse binarization unit,
And inverse binarization of bins constituting the empty column to restore values of syntax elements, and collect values of the restored syntax elements to recover a plurality of entropy encoding slices.
비트스트림을 역다중화하여 복수의 부분 비트스트림을 분리하는 단계;
상기 복수의 부분 비트스트림을 빈 디코딩하여 복수의 코딩 빈을 생성하는 단계;
빈의 LPB 확률을 이용하여 빈 디코더를 결정하고 코딩 빈을 전달하는 단계;
상기 빈 디코더에서 출력되는 코딩 빈들을 보관하는 단계;
상기 코딩 빈과 코딩 빈의 LPB를 이용하여 빈 열을 생성하는 단계; 및
상기 빈 열을 구성하는 빈들을 역 이진화하여 복수의 엔트로피 부호화 슬라이스를 복원하는 단계
를 포함하는 복호화 방법.
Demultiplexing the bitstream to separate the plurality of partial bitstreams;
Bin decoding the plurality of partial bitstreams to generate a plurality of coding bins;
Determining a bin decoder using the LPB probability of the bin and delivering a coding bin;
Storing the coding bins output from the bin decoder;
Generating an empty column using the coding bin and the LPB of the coding bin; And
Inverse binarizing the bins constituting the empty column to restore a plurality of entropy coded slices
Decryption method comprising a.
제19항에 있어서,
상기 복수의 엔트로피 부호화 슬라이스를 상기 비트스트림으로부터 분리된 엔트로피 부호화 슬라이스 정보에 따라 정렬하여 영상 데이터를 복원하는 단계
를 더 포함하고,
상기 빈 열을 생성하는 단계는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 LPB 및 빈의 LPB 확률을 결정하는 단계; 및
빈의 LPB 및 빈의 LPB 확률을 업데이트하는 단계
를 포함하는 복호화 방법.
20. The method of claim 19,
Restoring image data by sorting the plurality of entropy coded slices according to entropy coded slice information separated from the bitstream.
Further comprising:
Generating the empty column,
Determining LPB of the bin and LPB probability of the bin based on the context information of the bin and the location of the bin, for the bins constituting the bin column; And
Update the bin's LPB and the bin's LPB probability
Decryption method comprising a.
KR1020100132387A 2010-07-06 2010-12-22 Apparatus and method for performing parallel entropy encoding and decoding KR20120004319A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100064639 2010-07-06
KR1020100064639 2010-07-06

Publications (1)

Publication Number Publication Date
KR20120004319A true KR20120004319A (en) 2012-01-12

Family

ID=45610955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132387A KR20120004319A (en) 2010-07-06 2010-12-22 Apparatus and method for performing parallel entropy encoding and decoding

Country Status (1)

Country Link
KR (1) KR20120004319A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129726A1 (en) * 2012-02-28 2013-09-06 전자부품연구원 Lossless image compression apparatus and method
KR20170075759A (en) * 2014-11-14 2017-07-03 엘지전자 주식회사 Method and apparatus for entropy encoding or entropy decoding of a video signal for massively parallel processing
WO2018186510A1 (en) * 2017-04-06 2018-10-11 엘지전자(주) Method and apparatus for entropy encoding and decoding of video signal
WO2018207956A1 (en) * 2017-05-10 2018-11-15 엘지전자(주) Method and device for entropy-encoding and entropy-decoding video signal

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129726A1 (en) * 2012-02-28 2013-09-06 전자부품연구원 Lossless image compression apparatus and method
KR20170075759A (en) * 2014-11-14 2017-07-03 엘지전자 주식회사 Method and apparatus for entropy encoding or entropy decoding of a video signal for massively parallel processing
US10455244B2 (en) 2014-11-14 2019-10-22 Lg Electronics Inc. Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
WO2018186510A1 (en) * 2017-04-06 2018-10-11 엘지전자(주) Method and apparatus for entropy encoding and decoding of video signal
WO2018207956A1 (en) * 2017-05-10 2018-11-15 엘지전자(주) Method and device for entropy-encoding and entropy-decoding video signal

Similar Documents

Publication Publication Date Title
JP6867334B2 (en) Context initialization in entropy encoding
CN107743241B (en) Image encoding device and method, image decoding device and method, and storage medium
KR102149023B1 (en) Method and apparatus for entropy encoding and decoding video signal
CA2788754C (en) Parallel entropy coding and decoding methods and devices
US8436755B2 (en) Methods and devices for reducing sources in binary entropy coding and decoding
CN104081772A (en) Entropy coding buffer arrangement
CN108432248A (en) For carrying out entropy coding and decoded method and apparatus to vision signal
CN103891283A (en) Method and device for intra prediction
KR20190021501A (en) Entropy encoding and decoding scheme
KR102123620B1 (en) Method and apparatus for entropy encoding or entropy decoding of video signals for large-scale parallel processing
WO2011130854A1 (en) Methods and devices for reordered parallel entropy coding and decoding
CN103918273A (en) Method of determining binary codewords for transform coefficients
KR20120004319A (en) Apparatus and method for performing parallel entropy encoding and decoding
CN104768016A (en) Method for depth coding depth block
KR20190103214A (en) Method and apparatus for encoding or decoding using subband dependent prediction adaptation for GCLI entropy coding
US20140269896A1 (en) Multi-Frame Compression
JP7415058B2 (en) Determination device, encoding device, decoding device and program
KR101590790B1 (en) Binary data compression and restoration method and apparatus
US10003808B2 (en) Apparatus and method for encoding
JP5570437B2 (en) Entropy encoding device, entropy decoding device, entropy encoding method, and entropy decoding method
WO2023106120A1 (en) Information processing device and method
JP2021002773A (en) Image coding device, image decoding device, image coding method, and image decoding method
JP2009005016A (en) Device for encoding image and its control method
JP2017099004A (en) Image encoding device, image encoding method and program, image decoding device, and image decoding method and program
KR20160064843A (en) Method and apparatus for intra-coding in depth map

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application