KR20120004319A - Apparatus and method for performing parallel entropy encoding and decoding - Google Patents
Apparatus and method for performing parallel entropy encoding and decoding Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 동영상 등의 영상 데이터를 엔트로피 부호화 및 엔트로피 복호화하는 기술에 관한 것이다. 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
일례로, 도 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
그리고, 130 단계에서, 부호화 장치는 복수의 빈 인코더(Bin Encoder)들을 통해 부호화해야 할 신택스 엘리먼트(syntax element)의 값들을 비트스트림(Bitstream)으로 출력할 수 있다. 이때, 부호화 장치는 신택스 엘리먼트들과 엔트로피 부호화 슬라이스 정보를 혼합하여 비트스트림으로 출력할 수도 있다.In
도 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
일례로, 부호화 장치는 영상 데이터를 복수의 신택스 엘리먼트(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
그리고, 230 단계에서, 부호화 장치는 복수의 엔트로피 부호화 슬라이스들을 각각 이진화하여 빈 열(bin sequence)로 변환할 수 있다.In
일례로, 신택스 엘리먼트 단위로 영상 데이터가 엔트로피 부호화 슬라이스로 구분된 경우, 부호화 장치는, 복수의 엔트로피 부호화 슬라이스들 내의 신택스 엘리먼트 값들을 각각 이진화하여 빈 열(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
일례로, 빈의 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
그리고, 250 단계에서, 부호화 장치는 복수의 코딩 빈들 각각의 LPB 확률에 기초하여 복수의 코딩 빈들을 복수의 빈 인코더에 각각 할당 할 수 있다.In
일례로, 부호화 장치는 복수의 확률 구간들 중에서 각 코딩 빈의 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
그리고, 270 단계에서, 부호화 장치는 할당된 빈 인코더를 통해 코딩 빈들을 빈 인코딩하여 코드워드(Codeword)들을 병렬적으로 생성할 수 있다. 즉, 빈 인코더 0 내지 빈 인코더 K-1은 복수의 코드워드 0 내지 복수의 코드워드 K-1을 각각 생성할 수 있다. 이때, 복수의 빈 인코더들은 대응하는 개별 버퍼에서 보관된 코딩 빈들을 빈 인코딩하여 코드워드들을 각각 생성할 수 있다. In
이어, 280 단계에서, 부호화 장치는 코드워드들을 모아서 부분 비트스트림(Partial Bitstream)들을 병렬적으로 생성할 수 있다. 일례로, 빈 인코더가 K개인 경우, 부호화 장치는 부분 비트스트림 0 내지 부분 비트스트림 K-1을 생성할 수 있다.Subsequently, in
그리고, 290 단계에서, 부호화 장치는, 부분 비트스트림들과 엔트로피 부호화 슬라이스 정보를 다중화하여 하나의 비트스트림을 생성할 수 있다. 그러면, 부호화 장치는 생성된 비트스트림을 복호화 장치로 전송할 수 있다.In
이때, 복호화 장치에서 부분 비트스트림들 각각의 확률 정보를 알고 있지 않는 경우, 부호화 장치는 부분 비트스트림들 각각의 확률 정보를 부분 비트스트림들, 및 엔트로피 부호화 슬라이스 정보와 함께 다중화할 수도 있다. 여기서, 부분 비트스트림들 각각의 확률 정보는 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. 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
먼저, 정보 생성부(310)는 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분하고, 영상 데이터를 엔트로피 부호화 슬라이스로 구분한 단위를 포함하는 엔트로피 부호화 슬라이스 정보를 생성할 수 있다. 이에 따라, 부호화 장치(300)는 복수의 엔트로피 부호화 슬라이스 마다 병렬로 엔트로피 부호화를 수행할 수 있다First, the
일례로, 정보 생성부(310)는 영상 데이터를 구성하는 복수의 신택스 엘리먼트(syntax element)들을 그룹화하여, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다. 그리고, 정보 생성부(310)는 엔트로피 부호화 슬라이스가 복수의 신택스 엘리먼트들을 그룹화하여 구성되었음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다.For example, the
다른 예로, 정보 생성부(310)는 영상 데이터를 구성하는 복수의 블록들을 그룹화하여, 영상 데이터를 복수의 엔트로피 부호화 슬라이스로 구분할 수 있다. 그리고, 정보 생성부(310)는 엔트로피 부호화 슬라이스가 복수의 그룹들을 그룹화하여 구성되었음을 나타내는 정보를 엔트로피 부호화 슬라이스 정보로 생성할 수 있다.As another example, the
그러면, 이진화부(320)는 엔트로피 부호화 슬라이스 정보에 따라 구분된 복수의 엔트로피 부호화 슬라이스들을 병렬적으로 이진화할 수 있다. 즉, 이진화부(320)는 복수개로 구성될 수 있다. 이에 따라, 복수의 이진화부들은 복수의 엔트로피 부호화 슬라이스들을 각각 이진화하여 빈 열(bin sequence)을 출력할 수 있다. 이때, 이진화부(320)는 복수의 엔트로피 부호화 슬라이스 내의 신택스 엘리먼트 값들을 각각 이진화하여 빈 열(bin sequence)로 변환할 수 있다. 여기서, 빈 열은 복수의 빈들로 구성된 열을 의미할 수 있다.Then, the
일례로, 이진화부(320)가 M개로 구성된 경우, 이진화부(320)는 이진화부 0, 이진화부 1, …, 이진화부 M-1을 포함할 수 있다. 그러면, 이진화부 0는 엔트로피 부호화 슬라이스 0 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 0으로 변환할 수 있다. 그리고, 이진화부 1은 엔트로피 부호화 슬라이스 1 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 1로 변환할 수 있다. 마찬가지로, 이진화부 M-1은 엔트로피 부호화 슬라이스 M-1 내의 신택스 엘리먼트 값들을 이진화하여 빈 열 M-1로 변환할 수 있다. 이처럼, 이진화부(320)는 엔트로피 부호화 슬라이스 별로 이진화를 수행하여 엔트로피 부호화 슬라이스 내의 신택스 엘리먼트 값들을 빈 열로 변환할 수 있다.For example, when the
문맥 모델링부(330)는 빈의 문맥 정보, 및 빈의 위치에 기초하여 확률 모델을 구성하는 빈의 LPB(Less Probable Bin) 및 빈의 LPB 확률을 결정할 수 있다. 즉, 문맥 모델링부(330)는 빈 열을 구성하는 복수의 빈들 각각의 LPB 및 LPB 확률을 결정할 수 있다.The
이때, 빈의 문맥 정보는 주변 블록 내의 빈을 의미하고, 빈의 위치는 이전 단계에서 부호화된 빈의 정보를 의미한다.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
일례로, 문맥 모델링부(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
동일한 방법으로, 문맥 모델링부 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
빈 인코더 결정부(340)는 문맥 모델링부(330)에서 출력되는 복수의 코딩 빈들을 복수의 빈 인코더에 각각 할당할 수 있다.The
일례로, 빈의 LPB 확률을 이용하는 경우, 빈 인코더 결정부(340)는 복수의 확률 구간들 중에서 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 인코더 결정부(340)는 결정된 확률 구간의 대표 확률과 빈 인코더의 대표 확률을 비교할 수 있다. 이때, 확률 구간의 대표 확률과 빈 인코더의 대표 확률이 일치하는 경우, 빈 인코더 결정부(340)는 일치하는 빈 인코더에 코딩 빈들을 할당할 수 있다. 여기서, 빈 인코더에는 대표 확률이 기설정될 수 있으며, 대표 확률은 기정의된 오차범위 내에서 +/- 마진(margin)을 가질 수 있다.For example, when the LPB probability of a bin is used, the
그리고, 빈 인코더 결정부(340)는 복수개로 구성될 수 있다. The
일례로, 빈 인코더 결정부(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
동일한 방법으로, 빈 인코더 결정부 1 내지 빈 인코더 결정부 M-1은 문맥 모델 링부 1 내지 문맥 모델링부 M-1 각각에서 출력되는 복수의 코딩 빈들을 복수의 인코더에 각각 할당할 수 있다.In the same manner, the
빈 인코더(bin encoder: 350)는 빈 인코더 결정부(340)에서 할당한 코딩 빈들을 빈 인코딩하여 코드워드를 생성할 수 있다. 그리고, 빈 인코더는 생성된 코드워드들을 모아서 부분 비트스트림(Partial Bitstream)을 출력할 수 있다. 여기서, 빈 인코더(350)는 복수개로 구성될 수 있다.The
일례로, 빈 인코더(350)가 K개로 구성된 경우, 빈 인코더 0은 빈 인코딩 할당부 0에서 할당된 하나 이상의 코딩 빈, 빈 인코딩 할당부 1에서 할당된 하나 이상의 코딩 빈, 빈 인코딩 할당부 2 내지 M-1 각각에서 할당된 하나 이상의 코딩 빈을 빈 인코딩하여 코드워드들을 생성할 수 있다. 그리고, 빈 인코더 0는 생성된 코드워드들을 모아서 부분 비트스트림 0를 출력할 수 있다.For example, when the
동일한 방법으로, 빈 인코더 1 내지 빈 인코더 K-1 각각은 빈 인코딩 할당부 0 내지 빈 인코딩 할당부 M-1 각각에서 할당된 하나 이상의 코딩 빈을 빈 인코딩하여 코드워드들을 생성할 수 있다. 그리고, 빈 인코더 1 내지 빈 인코더 K-1은 생성된 코드워드들을 모아서 부분 비트스트림 1 내지 부분 비트스트림 K-1을 각각 출력할 수 있다.In the same manner, each of the
다중화부(360)는 엔트로피 부호화 슬라이스 정보, 및 부분 비트스트림들을 다중화하여 하나의 비트스트림으로 출력할 수 있다. 이때, 복호화 장치에서 부분 비트스트림들 각각의 확률 정보를 알지 못하는 경우, 다중화부(360)는 엔트로피 부호화 슬라이스 정보, 부분 비트스트림들, 및 부분 비트스트림들 각각의 확률 정보를 다중화하여 하나의 비트스트림으로 출력할 수 있다. 여기서, 부분 비트스트림들 각각의 확률 정보는 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. The
이하에서는 병렬적으로 엔트로피 복호화를 수행하는 동작에 대해 상세히 설명하기로 한다. 이때, 특정 신택스 엘리먼트(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
여기서, 엔트로피 부호화 슬라이스 정보는 복수의 신택스 엘리먼트들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하거나, 또는 복수의 블록들을 그룹화하여 엔트로피 부호화 슬라이스를 구성하였음을 나타내는 정보를 포함할 수 있다.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
이때, 복호화 장치는, 요청된 빈의 문맥 정보 및 요청된 빈의 위치에 기초하여 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
일례로, 복호화 장치는, 빈의 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
이때, 복호화 장치는 빈 열을 구성하는 복원된 빈들을 대상으로, 빈의 문맥 정보 및 빈의 위치에 기초하여 빈의 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
일례로, 복호화 장치는, 복수의 빈 열을 대상으로, 빈 열을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 복호화 장치는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스를 복원할 수 있다. 이에 따라, 복호화 장치는 복수의 빈 열을 대상으로, 각각 역 이진화를 통해 복수의 엔트로피 부호화 슬라이스를 복원할 수 있다.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
한편, 420 단계에서, 확률 정보는 비트스트림에 실어서 부호화 장치에서 복호화 장치로 전송될 수 있을 뿐만 아니라, 부호화 장치와 복호화 장치는 각 빈 인코더/빈 디코더의 확률 정보를 미리 알고 있을 수도 있다. 이처럼, 부호화 및 복호화 장치에서 확률 정보를 미리 알고 있는 경우, 부호화 장치와 복호화 장치는 몇 개의 빈 인코더/빈 디코더를 사용할지 여부, 및 빈 인코더/빈 디코더의 대표 확률을 미리 알고 있을 수 있다.Meanwhile, in
도 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
먼저, 역다중화부(510)는 부호화 장치(300)로부터 수신된 비트스트림을 역다중화하여 비트스트림으로부터 복수의 부분 비트스트림들, 엔트로피 부호화 슬라이스 정보, 및 부분 비트스트림들 각각의 확률 정보를 분리할 수 있다. 여기서, 확률 정보는, 부분 비트스트림을 출력한 빈 인코더의 대표 확률을 포함할 수 있다. 그리고, 부분 비트스트림은 빈 인코더에서 빈 인코딩을 통해 생성된 코드워드들로 구성될 수 있다.First, the
그러면, 빈 디코더(520)는 부분 비트스트림을 구성하는 코드워드들을 빈 디코딩할 수 있다. 이처럼, 빈 디코더(520)는 코드워드들을 빈 디코딩함에 따라 복수의 코딩 빈(Coding Bin)들을 복원할 수 있다. 이때, 빈 디코더(520)는 복수개로 구성될 수 있다.The
일례로, 빈 디코더가 K개로 구성된 경우, 빈 디코더 0는 부분 비트스트림 0를 구성하는 코드워드들을 빈 디코딩하여 코딩 빈들을 복원할 수 있다. 동일한 방법으로, 빈 디코더 1 내지 빈 디코더 K-1은 부분 비트스트림 1 내지 부분 비트스트림 K-1을 구성하는 코드워드들을 각각 빈 디코딩하여 코딩 빈들을 복원할 수 있다.For example, when K bin decoders are configured with K,
빈 디코더 결정부(530)는 빈의 LPB 확률에 기초하여 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 일례로, 역 이진화부(760)에서 빈을 요청한 경우, 문맥 모델링부(750)는 요청한 빈의 LPB 및 요청한 빈의 LPB 확률을 계산할 수 있다. 그러면, 빈 디코더 결정부(530)는 요청한 빈의 LPB 확률이 속하는 확률 구간을 이용하여 요청한 빈에 대응하는 빈 디코더를 결정할 수 있다. 그리고, 빈 디코더 결정부(530)는 결정된 각 빈 디코더로부터 코딩 빈을 입력받아 문맥 모델링부(540)로 전달할 수 있다. 여기서, 요청한 빈의 LPB는 코딩 빈의 LPB이고, 요청한 빈의 LPB 확률은 코딩 빈의 LPB 확률을 의미한다.The
상세하게는, 빈 디코더 결정부(530)는 복수의 빈 디코더들 중에서 결정된 확률 구간의 대표 확률을 갖는 빈 디코더를 결정할 수 있다. 이때, 빈 디코더 결정부(530)는 코딩 빈들의 대표 확률과 복수의 빈 디코더들의 대표 확률을 각각 비교하고, 코딩 빈의 대표 확률과 일치하는 대표 확률을 갖는 빈 디코더를 코딩 빈 마다 결정할 수 있다. 그리고, 빈 디코더 결정부(530)는 결정된 빈 디코더들에서 출력되는 코딩 빈들을 입력 받을 수 있다. 이때, 빈 디코더 결정부(530)는 복수개로 구성될 수 있다.In detail, the
일례로, 빈 디코더 결정부 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
문맥 모델링부(540)는 빈 디코더 결정부(530)로부터 입력되는 코딩 빈들을 이용하여 빈 열을 생성할 수 있다. 일례로, 문맥 모델링부(540)는 코딩 빈과 코딩 빈의 LPB를 배타적 논리합 연산하여 빈을 복원할 수 있다. 그러면, 문맥 모델링부(540)는 복원된 빈들로 구성된 빈 열을 생성할 수 있다.The
그리고, 문맥 모델링부(540)는 확률 모델을 구성하는 빈의 LPB, 및 빈의 LPB 확률을 업데이트할 수 있다. 이때, 문맥 모델링부(540)는 복수 개로 구성될 수 있다.In addition, the
일례로, 빈 디코더 결정부 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
동일한 방법으로, 문맥 모델링부 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
마찬가지로, 문맥 모델링부 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
역 이진화부(550)는 빈 열을 구성하는 복수의 빈들을 역 이진화하여 엔트로피 부호화 슬라이스를 복원할 수 있다. 이때, 역 이진화부(550)는 빈 열을 구성하는 복수의 빈들을 역이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부(550)는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스를 복원할 수 있다. 여기서, 역 이진화부(550)는 복수개로 구성될 수 있다. The
일례로, 역 이진화부가 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
동일한 방법으로, 역 이진화부 1 내지 역이진화부 M-1은 빈 열 0 내지 빈 열 M-1을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부 1 내지 역이진화부 M-1은 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스 1 내지 엔트로피 부호화 슬라이스 M-1을 각각 복원할 수 있다.In the same manner, the
정렬부(560)는 역 이진화를 통해 복원된 복수의 엔트로피 부호화 슬라이스들을 엔트로피 부호화 정보에 기초하여 정렬할 수 있다. 일례로, 정렬부(560)는 엔트로피 부호화 슬라이스 0 내지 엔트로피 부호화 슬라이스 M-1을 정렬하여 영상 데이터를 복원할 수 있다.The
도 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
개별 버퍼(650)는 빈 인코더(660)와 동일한 개수를 가지며, 빈 인코더(660) 이전에 위치할 수 있다. 이처럼, 빈 인코더 이전에 위치함에 따라, 개별 버퍼(650)는 빈 인코더 결정부(640)에서 출력되는 코딩 빈들 중 빈 인코더(660)에 할당된 코딩 빈들을 보관할 수 있다. 즉, 개별 버퍼(650)는 빈 인코더(660)로 입력되는 코딩 빈들을 임시적으로 보관할 수 있다. 그리고, 개별 버퍼(650)는 보관된 코딩 빈들을 할당된 빈 인코더로 전달할 수 있다.The
일례로, 개별 버퍼(650)가 K개로 구성된 경우, 개별 버퍼 0는 빈 인코더 0 이전에 위치하며, 빈 인코더 0에 할당된 코딩 빈들을 빈 인코더 결정부 0 내지 M-1로부터 수신하여 보관할 수 있다. 그리고, 개별 버퍼 0는 보관된 코딩 빈들을 빈 인코더 0에 전달할 수 있다. 마찬가지로, 개별 버퍼 1은 빈 인코더 1에 할당된 코딩 빈들을 빈 인코더 결정부 0 내지 M-1로부터 수신하여 보관할 수 있다. 그리고, 그리고, 개별 버퍼 1은 보관된 코딩 빈들을 빈 인코더 1에 전달할 수 있다.For example, when the
동일한 방법으로, 개별 버퍼 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
일례로, 개별 버퍼 0에서 코딩 빈 0 내지 코딩 빈 10이 입력된 경우, 빈 인코더 0는 코딩 빈 0 내지 코딩 빈 10을 빈 인코딩하여 코드워드 0 내지 코드워드 10을 생성할 수 있다. 그리고, 빈 인코더 0는 코드워드 0 내지 코드워드 10을 모아서 부분 비트스트림 0를 출력할 수 있다.For example, when coding
동일한 방법으로, 빈 인코더 1 내지 빈 인코더 K-1 각각은 개별 버퍼 1 내지 개별 버퍼 K-1 각각에서 입력된 코딩 빈들을 빈 인코딩하여 코드워드들을 각각 생성할 수 있다. 그리고, 인코더 1 내지 빈 인코더 K-1 각각은 코드워드들을 모아서 부분 비트스트림 1 내지 부분 비트스트림 K-1을 각각 출력할 수 있다.In the same manner, each of the
그러면, 다중화부(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)
도 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
개별 버퍼(730)는 빈 디코더(720)와 동일한 개수를 가지며, 빈 디코더(720) 이후에 위치할 수 있다. 이처럼, 빈 인코더 이후에 위치함에 따라, 개별 버퍼(720)는 빈 디코더(720)에서 출력되는 코딩 빈들을 보관할 수 있다. 즉, 개별 버퍼(730)는 복수의 빈 디코더에서 출력되는 코딩 빈들을 임시적으로 보관할 수 있다. The
일례로, 개별 버퍼 (730)가 K개로 구성된 경우, 개별 버퍼 0는 빈 디코더 0 다음에 위치할 수 있다. 그리고, 개별 버퍼 0는 빈 디코더 0에서 출력되는 코딩 빈들을 임시적으로 보관할 수 있다. 마찬가지로, 개별 버퍼 1 내지 개별 버퍼 K-1은 빈 디코더 1 내지 빈 디코더 K-1에서 출력되는 코딩 빈들을 각각 임시적으로 보관할 수 있다.In one example, if K
빈 디코더 결정부(740)는 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 디코더 결정부(740)는 결정된 확률 구간의 대표 확률을 갖는 빈 디코더를 결정할 수 있다. 그러면, 빈 디코더 결정부(740)는 결정된 빈 디코더에 대응하는 개별 버퍼에서 출력되는 코딩 빈을 입력 받을 수 있다.The
일례로, 빈 디코더 결정부 0는 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다. 그리고 빈 디코더 결정부 1은 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다. 마찬가지로, 빈 디코더 결정부 2 내지 빈 디코더 결정부 M-1 각각은 개별 버퍼 0 내지 개별 버퍼 K-1에서 출력되는 코딩 빈들을 입력받을 수 있다.For example, the
그러면, 문맥 모델링부(750)는 빈 디코더 결정부(740)에서 출력되는 코딩 빈들과 해당 코딩 빈에 대응하는 빈의 LPB를 이용하여 복수의 빈 열을 복원할 수 있다. 그리고, 문맥 모델링부(750)는 확률 모델을 구성하는 빈의 LPB, 및 LPB 확률을 업데이트할 수 있다. 이때, 문맥 모델링부(750)는 복수 개로 구성될 수 있다.Then, the
그리고, 역 이진화부(760)는 빈 열을 구성하는 복수의 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부(760)는 복원된 신택스 엘리먼트들의 값을 모아서 복수의 엔트로피 부호화 슬라이스를 복원할 수 있다. 이때, 역 이진화부(760)는 복수개로 구성될 수 있다.In addition, the
일례로, 역 이진화부 0는 문맥 모델링부에서 출력된 빈 열 0를 구성하는 빈 들을 역이진화하여 신택스 엘리먼트들의 값을 복원할 수 있다. 그리고, 역 이진화부 0는 복원된 신택스 엘리먼트들의 값을 모아서 엔트로피 부호화 슬라이스 0을 복원할 수 있다. 동일한 방법으로, 역 이진화부 1은 엔트로피 부호화 슬라이스 1을 복원하고, …, 역 이진화부 M-1은 엔트로피 부호화 슬라이스 M-1을 복원할 수 있다.As an example, the
정렬부(770)는 역 이진화를 통해 복원된 복수의 엔트로피 부호화 슬라이스들을 엔트로피 부호화 정보에 기초하여 정렬할 수 있다. 일례로, 정렬부(770)는 엔트로피 부호화 슬라이스 0 내지 엔트로피 부호화 슬라이스 M-1을 정렬하여 영상 데이터를 복원할 수 있다.The
도 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
확률 구간 할당부(870)는 복수의 엔트로피 부호화 슬라이스 별로 대응하여 존재하는 빈 인코더 결정부(840)를 관리할 수 있다.The probability interval allocator 870 may manage the
일례로, 확률 구간 할당부(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
상세하게는, 도 14를 참조하면, LPB 확률(1410)이 임의의 간격에 따라 복수의 확률 구간(1401)으로 구분된 경우, 확률 구간 할당부(870)는 확률 분포, 부호화 효율, 빈 디코더의 개수 중 어느 하나에 기초하여 각 빈 인코더 결정부의 확률 구간, 및 각 확률 구간의 대표 확률을 적응적으로 조절(1403)할 수 있다. 이때, 확률 구간의 크기가 조절됨에 따라 조절된 확률 구간에 속하는 대표 확률(1404) 역시 적응적으로 조절될 수 있다. In detail, referring to FIG. 14, when the
그리고, 확률 구간 할당부(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
확률 구간 할당부(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
일례로, 빈 디코더(920)는 조절된 확률 구간 및 조절된 대표 확률에 기초하여 부분 비트스트림들 내의 코드워드들을 각각 빈 디코딩할 수 있다.As an example, the
그리고, 빈 디코더 결정부(930)는 조절된 확률 구간 및 조절된 대표 확률에 기초하여 역 이진화부(950)에서 요청한 빈의 LPB 확률이 속하는 확률 구간을 결정할 수 있다. 그리고, 빈 디코더 결정부(930)는 복수의 빈 디코더들 중에서 결정된 확률 구간의 대표 확률을 가지는 빈 디코더로부터 코딩 빈을 입력 받아 출력할 수 있다.The
지금까지, 도 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
한편, 본 발명의 일실시예 따른 부호화 및 복호화 장치에서, 복수의 빈 인코더 결정부의 개수와 빈 인코더의 개수는 서로 상이할 수 있으며, 복수의 빈 디코더 결정부의 개수와 빈 디코더의 개수는 서로 상이할 수 있다. 이때, 부호화 장치에서 이용하는 복수의 빈 인코더 결정부의 구조와 복호화 장치에서 이용하는 복수의 빈 디코더 결정부의 구조는 서로 상이할 수도 있다. 일례로, 부호화 장치 및 복호화 장치에서 복수의 빈 인코더 결정부의 구조와 복수의 빈 디코더 결정부의 구조가 서로 상이함을 상호 약속하여 이용하는 경우, 부호화 장치는 복수의 빈 인코더 결정부의 구조를 비트스트림에 명시하지 않을 수 있다. 이때, 부호화 및 복호화 장치 간에 서로 약속하지 않은 경우, 부호화 장치는 복수의 빈 인코더 결정부의 구조를 나타내는 정보를 비트스트림에 삽입하여 복호화 장치로 전송할 수도 있다. 그러면, 복호화 장치는 복수의 빈 인코더 결정부의 구조를 나타내는 정보에 기초하여 복수의 빈 디코더 결정부를 구성할 수 있다.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.
상기 복수의 문맥 모델링부는,
빈의 문맥 정보, 및 빈의 위치에 기초하여 상기 빈들의 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.
상기 복수의 문맥 모델링부는,
상기 빈들의 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.
상기 복수의 문맥 모델링부는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈과 빈(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.
상기 복수의 개별 버퍼는,
상기 복수의 빈 인코더와 동일한 개수를 갖는 것을 특징으로 하는 부호화 장치.The method of claim 1,
The plurality of individual buffers,
And the same number as the plurality of empty encoders.
상기 코드워드들을 모아서 생성된 복수의 부분 비트스트림(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.
상기 정보 생성부는,
상기 영상 데이터를 구성하는 신택스 엘리먼트(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.
상기 코딩 빈들을 병렬적으로 생성하는 단계는,
빈의 문맥 정보, 및 빈의 위치에 기초하여 상기 빈들의 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.
상기 코딩 빈들을 빈 인코더에 할당하는 단계는,
복수의 확률 구간들 중에서 상기 빈들의 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.
상기 빈들의 LPB 및 상기 빈들의 LPB 확률을 업데이트하는 단계
를 더 포함하는 부호화 방법.The method of claim 8,
Updating the LPB of the bins and the LPB probability of the bins
Encoding method further comprising.
상기 코드워드들을 모아서 부분 비트스트림(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.
상기 영상 데이터를 구성하는 신택스 엘리먼트(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.
상기 복수의 문맥 모델링부는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 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.
상기 복수의 빈 디코더 다음에 위치하며, 상기 복수의 빈 디코더에서 출력되는 코딩 빈들을 보관하는 복수의 개별 버퍼
를 더 포함하는 복호화 장치.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.
상기 복수의 개별 버퍼는,
상기 복수의 빈 디코더와 동일한 개수로 구성되며,
상기 복수의 빈 디코더 결정부는,
상기 결정된 빈 디코더에 대응하는 개별 버퍼에서 출력되는 코딩 빈들을 입력받는 것을 특징으로 하는 복호화 장치.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.
상기 복수의 역 이진화부는,
상기 빈 열을 구성하는 빈들을 역 이진화하여 신택스 엘리먼트들의 값을 복원하고, 복원된 신택스 엘리먼트들의 값을 모아서 복수의 엔트로피 부호화 슬라이스를 복원하는 것을 특징으로 하는 복호화 장치.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.
상기 복수의 엔트로피 부호화 슬라이스를 상기 비트스트림으로부터 분리된 엔트로피 부호화 슬라이스 정보에 따라 정렬하여 영상 데이터를 복원하는 단계
를 더 포함하고,
상기 빈 열을 생성하는 단계는,
상기 빈 열을 구성하는 빈들을 대상으로, 빈의 문맥 정보, 및 빈의 위치에 기초하여 빈의 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.
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)
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 |
-
2010
- 2010-12-22 KR KR1020100132387A patent/KR20120004319A/en not_active Application Discontinuation
Cited By (5)
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 |