KR101975254B1 - 병렬 엔트로피 부호화/복호화 방법 및 장치 - Google Patents
병렬 엔트로피 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR101975254B1 KR101975254B1 KR1020180100448A KR20180100448A KR101975254B1 KR 101975254 B1 KR101975254 B1 KR 101975254B1 KR 1020180100448 A KR1020180100448 A KR 1020180100448A KR 20180100448 A KR20180100448 A KR 20180100448A KR 101975254 B1 KR101975254 B1 KR 101975254B1
- Authority
- KR
- South Korea
- Prior art keywords
- bitstream
- probability
- information
- decoder
- bin
- 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/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/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/124—Quantisation
-
- 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명에 따른 엔트로피 복호화 방법은, 부호화기로부터 수신된 비트스트림의 헤더(header)로부터 스케쥴링 정보를 도출하는 단계, 도출된 스케쥴링 정보를 이용하여, 수신된 비트스트림을 구성하는 부분 비트스트림을 역 이진화(de-binarization) 순서에 따라 재정렬하는 단계, 재정렬된 부분 비트스트림을 기반으로, 비트스트림에 대응하는 빈(bin)을 도출하는 단계 및 도출된 빈을 역 이진화하여 구문 요소(syntax element)를 획득하는 단계를 포함한다. 본 발명에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
Description
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 엔트로피 부호화/복호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 엔트로피 부호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 엔트로피 복호화 방법 및 장치를 제공함에 있다.
1. 본 발명의 일 실시 형태는 엔트로피 복호화 방법이다. 상기 방법은 부호화기로부터 수신된 비트스트림의 헤더(header)로부터 스케쥴링 정보를 도출하는 단계, 상기 도출된 스케쥴링 정보를 이용하여, 상기 수신된 비트스트림을 구성하는 부분 비트스트림을 역 이진화(de-binarization) 순서에 따라 재정렬하는 단계, 상기 재정렬된 부분 비트스트림을 기반으로, 상기 비트스트림에 대응하는 빈(bin)을 도출하는 단계 및 상기 도출된 빈을 역 이진화하여 구문 요소(syntax element)를 획득하는 단계를 포함하고, 상기 스케쥴링 정보는, 상기 수신된 비트스트림을 구성하는 부분 비트스트림 각각의 위치에 관한 정보 및 상기 부분 비트스트림의 역이진화 순서에 관한 정보를 포함한다.
2. 1에 있어서, 상기 빈의 LPB(Least Probable Bin) 확률에 대한 전체 확률 구간은, 각각 대표 확률을 갖는 복수의 확률 구간으로 분류되고, 상기 부분 비트스트림은 적어도 하나의 코드워드로 구성되고, 상기 부분 비트스트림을 구성하는 코드워드는 동일한 대표 확률에 대응될 수 있다.
3. 2에 있어서, 상기 빈 도출 단계는, 상기 수신된 비트스트림의 헤더로부터 코드워드 길이 정보를 도출하는 단계 및 상기 도출된 코드워드 길이 정보에 기반하여 상기 비트스트림에 대응하는 빈을 도출하는 단계를 더 포함할 수 있고, 상기 코드워드 길이 정보는, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드의 최소 길이 및 최대 길이에 관한 정보일 수 있다.
4. 3에 있어서, 상기 빈 도출 단계는, 상기 도출된 코드워드 길이 정보를 이용하여, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드-빈 매핑 테이블을 결정하는 단계 및 상기 결정된 코드워드-빈 매핑 테이블을 이용하여 상기 비트스트림에 대응하는 빈을 도출하는 단계를 더 포함할 수 있다.
5. 본 발명의 다른 실시 형태는 엔트로피 복호화 장치이다. 상기 장치는 부호화기로부터 수신된 비트스트림의 헤더(header)로부터 스케쥴링 정보를 도출하고, 상기 도출된 스케쥴링 정보를 이용하여, 상기 수신된 비트스트림을 구성하는 부분 비트스트림을 역 이진화(de-binarization) 순서에 따라 재정렬하는 비트스트림 결정기, 상기 재정렬된 부분 비트스트림을 기반으로, 상기 비트스트림에 대응하는 빈(bin)을 도출하는 빈 복호화기(bin decoder) 및 상기 도출된 빈을 역 이진화하여 구문 요소(syntax element)를 획득하는 역 이진화기(de-binarizer)를 포함하고, 상기 스케쥴링 정보는, 상기 수신된 비트스트림을 구성하는 부분 비트스트림 각각의 위치에 관한 정보 및 상기 부분 비트스트림의 역이진화 순서에 관한 정보를 포함한다.
6. 5에 있어서, 상기 빈의 LPB(Least Probable Bin) 확률에 대한 전체 확률 구간은, 각각 대표 확률을 갖는 복수의 확률 구간으로 분류되고, 상기 부분 비트스트림은 적어도 하나의 코드워드로 구성되고, 상기 부분 비트스트림을 구성하는 코드워드는 동일한 대표 확률에 대응될 수 있다.
7. 6에 있어서, 상기 수신된 비트스트림의 헤더로부터 코드워드 길이 정보를 도출하는 코드워드 길이 계산기를 더 포함하고, 상기 빈 복호화기는 상기 도출된 코드워드 길이 정보에 기반하여 상기 비트스트림에 대응하는 빈을 도출할 수 있고, 상기 코드워드 길이 정보는, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드의 최소 길이 및 최대 길이에 관한 정보일 수 있다.
8. 7에 있어서, 상기 도출된 코드워드 길이 정보를 이용하여, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드-빈 매핑 테이블을 결정하는 매핑 테이블 결정기를 더 포함할 수 있고, 상기 빈 복호화기는 상기 결정된 코드워드-빈 매핑 테이블을 이용하여 상기 비트스트림에 대응하는 빈을 도출할 수 있다.
9. 본 발명의 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 부호화기로부터 수신된 비트스트림의 헤더(header)로부터 스케쥴링 정보를 도출하는 단계, 상기 도출된 스케쥴링 정보를 이용하여, 상기 수신된 비트스트림을 구성하는 부분 비트스트림을 역 이진화(de-binarization) 순서에 따라 재정렬하는 단계, 상기 재정렬된 부분 비트스트림을 기반으로, 상기 비트스트림에 대응하는 빈(bin)을 도출하는 단계, 상기 도출된 빈을 역 이진화하여 구문 요소(syntax element)를 획득하는 단계 및 상기 획득한 구문 요소를 이용하여 복원 영상을 생성하는 단계를 포함하고, 상기 스케쥴링 정보는, 상기 수신된 비트스트림을 구성하는 부분 비트스트림 각각의 위치에 관한 정보 및 상기 부분 비트스트림의 역이진화 순서에 관한 정보를 포함한다.
10. 9에 있어서, 상기 빈의 LPB(Least Probable Bin) 확률에 대한 전체 확률 구간은, 각각 대표 확률을 갖는 복수의 확률 구간으로 분류되고, 상기 부분 비트스트림은 적어도 하나의 코드워드로 구성되고, 상기 부분 비트스트림을 구성하는 코드워드는 동일한 대표 확률에 대응될 수 있다.
11. 10에 있어서, 상기 빈 도출 단계는, 상기 수신된 비트스트림의 헤더로부터 코드워드 길이 정보를 도출하는 단계 및 상기 도출된 코드워드 길이 정보에 기반하여 상기 비트스트림에 대응하는 빈을 도출하는 단계를 더 포함할 수 있고, 상기 코드워드 길이 정보는, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드의 최소 길이 및 최대 길이에 관한 정보일 수 있다.
12. 11에 있어서, 상기 빈 도출 단계는, 상기 도출된 코드워드 길이 정보를 이용하여, 상기 복수의 확률 구간 각각의 대표 확률에 대한, 코드워드-빈 매핑 테이블을 결정하는 단계 및 상기 결정된 코드워드-빈 매핑 테이블을 이용하여 상기 비트스트림에 대응하는 빈을 도출하는 단계를 더 포함할 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 엔트로피 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 엔트로피 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명에 따른 코드워드 길이 제한의 일 실시예를 개략적으로 나타내는 표이다.
도 4는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 5는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 6은 본 발명에 따른 병렬 엔트로피 부호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 7은 본 발명에 따른 병렬 엔트로피 복호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 8은 본 발명에 따른 병렬 엔트로피 부호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 9는 본 발명에 따른 병렬 엔트로피 복호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 10은 본 발명에 따른 병렬 엔트로피 부호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 11은 본 발명에 따른 병렬 엔트로피 복호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 12는 본 발명에 따른 병렬 엔트로피 부호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 13은 본 발명에 따른 병렬 엔트로피 복호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명에 따른 코드워드 길이 제한의 일 실시예를 개략적으로 나타내는 표이다.
도 4는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 5는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 6은 본 발명에 따른 병렬 엔트로피 부호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 7은 본 발명에 따른 병렬 엔트로피 복호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 8은 본 발명에 따른 병렬 엔트로피 부호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 9는 본 발명에 따른 병렬 엔트로피 복호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 10은 본 발명에 따른 병렬 엔트로피 부호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 11은 본 발명에 따른 병렬 엔트로피 복호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 12는 본 발명에 따른 병렬 엔트로피 부호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 13은 본 발명에 따른 병렬 엔트로피 복호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
*도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
도 1 및 도 2에서 상술한 바와 같이, 부호화기 및 복호화기는 각각 엔트로피 부호화 및 엔트로피 복호화를 수행할 수 있다. 엔트로피 부호화/복호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 엔트로피 부호화/복호화를 위해 사용되는 방법에는 지수 골룸, CAVLC, CABAC 등이 있을 수 있다.
예를 들어, 부호화기 및 복호화기에는 가변 길이 부호화(VLC) 테이블과 같은 엔트로피 부호화/복호화를 수행하기 위한 테이블이 저장될 수 있고, 부호화기 및 복호화기는 저장된 가변 길이 부호화 테이블을 사용하여 엔트로피 부호화/복호화를 수행할 수 있다.
부호화기 및 복호화기는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화/복호화를 수행할 수도 있다.
여기서, 이진화(binarization)란 심볼의 값을 2진수의 열(bin sequence/string)로 표현하는 것을 의미한다. 빈(bin)은 심볼이 이진화를 통해 2진수의 열로 표현될 때, 각각의 2진수의 값(0 또는 1)을 의미한다. 확률 모델이란, 문맥 정보(context information)/문맥 모델(context model)을 통해서 도출될 수 있는 부호화/복호화 대상 심볼/빈의 예측된 확률을 의미한다. 문맥 정보/문맥 모델은 부호화/복호화 대상 심볼/빈의 확률을 결정하기 위한 정보를 말한다.
보다 상세하게, CABAC 엔트로피 부호화 방법은, 이진화되지 않은 심볼을 이진화(binarization)하여 빈으로 변환하고, 주변 및 부호화 대상 블록의 부호화 정보 혹은 이전 단계에서 부호화된 심볼/빈의 정보를 이용하여 문맥 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 부호화(arithmetic encoding)를 수행하여 비트스트림을 생성할 수 있다.
즉, 부호화기/복호화기는 주변 블록의 부호화/복호화 정보와 이전 단계에서 부호화/복호화된 빈(bin)의 발생 확률을 이용하여 효과적으로 엔트로피 부호화/복호화를 수행할 수 있다. 또한 부호화 단계에서 부호화기는 주변 블록의 부호화 정보를 통해 문맥 모델을 선택하고, 선택된 문맥 모델에 따라 발생된 빈의 발생 확률 정보를 업데이트할 수 있다.
HD급 이상의 크기를 가지는 UHD급 영상에 대해 단일 부호화기 및/또는 단일 복호화기가 사용되는 경우, 단일 프로세서에 요구되는 작업량이 매우 많고 영상 처리 속도가 매우 늦을 수 있다. 따라서, 부호화 및/또는 복호화 프로세스의 병렬화를 통해 부호화 효율을 향상시키는 방법이 제공될 수 있다. 이를 위해 움직임 보상, 영상 보간(interpolation), DCT(Discrete Cosine Transform), 양자화 등의 프로세스에 대한 병렬화 방법이 제공될 수 있으며, 상술한 엔트로피 부호화/복호화 프로세스에 대해서도 병렬화 방법이 적용될 수 있다.
병렬 엔트로피 부호화/복호화는 복수 개의 엔트로피 부호화기 및/또는 복수 개의 엔트로피 복호화기를 이용하여 수행될 수 있다. 병렬 엔트로피 부호화/복호화를 위해 사용되는 기술에는, 가변 길이의 빈 시퀀스(bin sequence)를 가변 길이의 코드워드(codeword)로 매핑(mapping) 및/또는 변환(conversion)하는, PIPE(Probability Interval Partitioning Entropy) 및 V2V(Variable length to Variable length) 등이 있을 수 있다. PIPE 및 V2V 방식은 단일 엔트로피 부호화기/복호화기 및 병렬 엔트로피 부호화기/복호화기에 모두 적용될 수 있다.
병렬 엔트로피 부호화/복호화 과정에서 빈(bin)의 확률은 양자화 간격에 따라 나누어질 수 있다. 나누어진 각각의 확률 구간들은 부호화기 측에서 각각의 확률 구간에 대응되는 빈(bin) 부호화기에 할당될 수 있으며, 복호화기 측에서 각각의 확률 구간에 대응되는 빈(bin) 복호화기에 할당될 수 있다. 또한 나누어진 각각의 확률 구간에는 상기 각각의 확률 구간에 대응되는 대표 확률 값이 존재할 수 있다. PIPE 또는 V2V 기술이 병렬 엔트로피 부호화/복호화에 사용되는 경우, 복수 개의 엔트로피 부호화기/복호화기는, 각각 이에 할당된 LPB(Least Probable Bin) 확률 구간 및 상기 확률 구간에 대응되는 대표 LPB 확률 값을 이용하여 부호화/복호화를 수행할 수 있다. 여기서, LPB는 0과 1의 빈의 값 중 더 적게 나타나는 빈의 값을 의미할 수 있다. 이하, 후술되는 실시예들에서, 확률 구간은 LPB 확률 구간을 의미할 수 있고, 대표 확률은 대표 LPB 확률을 의미할 수 있다.
부호화기에서, 병렬화된 각각의 엔트로피 부호화기는 고정된 대표 확률로 빈을 코딩하고, 부호화기는 출력인 코드워드의 집합을 비트스트림의 형태로 복호화기로 전송할 수 있다. 예를 들어, 부호화기는 부호화 대상 심볼을 이진화하여 빈으로 변환하고, 문맥 모델러 및/또는 확률 예측기를 통해 부호화 대상 빈 각각에 대한 LPB 확률 값을 예측 및/또는 도출할 수 있다. 부호화기는 문맥 모델러 및/또는 확률 예측기를 통해 예측된 LPB 확률 값을 이용하여, 빈 각각에 대한 확률 구간 및 확률 구간 각각에 대한 대표 LPB 확률을 도출할 수 있다. 각각의 빈은, 이에 대응되는 확률 구간이 할당된 빈 부호화기에서 엔트로피 부호화될 수 있다. 이 때, 각각의 빈 부호화기에 입력된 빈 시퀀스(bin sequence)는 코드워드 테이블에 의해 코드워드로 변환될 수 있다. 즉, 각각의 빈 부호화기에 입력된 빈 시퀀스는 코드워드 테이블 매핑을 통해, 코드워드 형태로 출력될 수 있다. 출력된 코드워드는 비트스트림에 포함되어, NAL(Network Abstraction Layer) 단위로 복호화기로 전송될 수 있다.
복호화기로 전송된 비트스트림은 복호화기에 의해 파싱(parsing)될 수 있다. 파싱 과정에서, 복호화기는 가변 길이의 코드워드를 가변 길이의 빈 시퀀스로 매핑 및/또는 변환시킬 수 있다. 이 때, 각각의 빈에 대한 비교 과정에서, 오버헤드가 발생할 수 있다.
또한, 부호화기에 포함된 엔트로피 부호화기의 개수는 복호화기에 포함된 엔트로피 복호화기의 개수와 서로 다를 수 있고, 예를 들어, 부호화된 비트스트림이 복호화기로 전송되어 복호화되는 경우, 엔트로피 복호화기의 개수가 엔트로피 부호화기의 개수보다 작을 수 있다. 이 때, 일례로 각각의 엔트로피 복호화기는 하나의 대표 확률에 대응되는 비트스트림을 파싱(parsing)한 후, 다른 대표 확률에 대응되는 비트스트림을 파싱할 수 있다. 파싱 후에 각각의 빈은 역이진화(de-binarization) 과정을 통해 의미 있는 구문 요소(syntax element)의 값으로 복호화되므로, 상술한 파싱 과정은, 역이진화 단계의 지연을 야기할 수 있으며, 이는 전체 엔트로피 복호화 속도에 큰 영향을 미칠 수 있다.
역이진화 단계에서의 지연을 감소시키기 위해, 부호화기에 포함된 각각의 엔트로피 부호화기는, 비트스트림 내의 복호화 가능 위치에 관한 정보를 상기 비트스트림의 헤더에 추가할 수 있으며, 복호화 가능 위치에 관한 정보가 헤더에 포함된 비트스트림이 복호화기로 전송될 수 있다. 본 명세서에서 상기 복호화 가능 위치는, 최소 단위 비트스트림에서 엔트로피 복호화가 시작되는 지점 및/또는 엔트로피 복호화가 끝나는 지점을 의미할 수 있다. 또한, 상기 최소 단위 비트스트림은, 부호화기에서 복호화기로 전송되는 비트스트림 내에서, 엔트로피 복호화가 수행되는 최소 단위를 나타낼 수 있으며, 예를 들어 상기 최소 단위 비트스트림은 하나의 코드워드(codeword)에 대응될 수 있다. 이 때, 각각의 엔트로피 복호화기는, 비트스트림 전체의 시작 지점이 아닌, 비트스트림의 중간 지점(예를 들어, 최소 단위 비트스트림의 시작 지점)에서부터 엔트로피 복호화를 수행할 수 있다. 복호화기는 비트스트림의 헤더에 포함된 복호화 가능 위치에 관한 정보를 이용하여, 각 엔트로피 복호화기에서의 비트스트림 파싱 과정에 대한 스케쥴링(scheduling)을 수행할 수 있다. 그러나, 상술한 바와 같이 복호화 가능 위치에 관한 정보가 이용되는 경우에도, 파싱 후 역이진화가 수행되기 전의 빈(bin)은 의미 있는 구문 요소의 값으로 인식될 수 없으므로, 역이진화 단계에서 지연이 발생할 수 있으며 엔트로피 복호화기의 출력이 지연될 수 있다.
상술한 바와 같이 파싱 과정 및 역이진화 과정에서 지연이 발생하는 경우, 병렬 엔트로피 부호화/복호화 속도가 감소될 수 있다. 따라서, 파싱 과정 및 역이진화 과정에서 발생하는 지연을 최소화할 수 있는 병렬 엔트로피 부호화/복호화 방법이 요구된다.
도 3은 본 발명에 따른 코드워드 길이 제한의 일 실시예를 개략적으로 나타내는 표이다. 도 3은 대표 LPB 확률이 될 수 있는 LPB의 고정 확률 값 각각에 대한, 코드워드의 최소 길이 및 최대 길이를 도시한다.
엔트로피 부호화기의 출력인 코드워드가 생성될 때, 코드워드의 길이는 가변적인 값을 가질 수 있다. 그러나, 상술한 바와 같이 복호화기에서 가변 길이의 코드워드가 가변 길이의 빈 시퀀스로 변환 및/또는 매핑되는 경우에는 많은 연산량이 요구되므로, 코드워드 파싱 과정에서 오버헤드가 발생할 수 있다. 따라서, 소정의 고정된 길이의 코드워드가 사용될 수도 있으며, 이 경우, 복호화기의 파싱 속도가 향상될 수 있다. 그러나, 소정의 고정된 길이의 코드워드가 사용되는 경우에는, 부호화 효율이 감소된다는 문제점이 발생할 수 있다.
따라서, 파싱 과정에서 발생하는 오버헤드를 감소시키기 위해, 코드워드의 길이가 최소 길이 이상, 최대 길이 이하로 제한될 수 있다. 코드워드의 최소 길이 및 최대 길이는, 병렬 엔트로피 부호화기가 갖는 대표 LPB 확률 각각에 대해 정의될 수 있다. 즉, 코드워드의 최소 길이 및 최대 길이는, 부호화기 내의 각각의 엔트로피 부호화기가 갖는 대표 LPB 확률 값을 고려하여 정의될 수 있다.
예를 들어, 부호화기는 코드워드 길이 계산기를 포함할 수 있다. 상기 코드워드 길이 계산기는, 대표 확률이 될 수 있는 고정 확률 값 각각에 대해, 부호화 효율을 고려하여 최적의 코드워드 길이(최소 길이 및 최대 길이)를 도출할 수 있다. 이 때, 부호화기에 포함된 각각의 엔트로피 부호화기는, 이에 대응되는 대표 확률 값에 따라, 최소 길이 이상, 최대 길이 이하의 길이를 갖는 코드워드를 생성할 수 있다. 도 3은 도출된 코드워드의 최소 길이 및 최대 길이의 실시예를 도시한다.
도 3을 참조하면, 각각의 고정 확률 값에 대해, 코드워드의 최대 길이 및 최소 길이가 도출될 수 있다. 예를 들어, 고정 확률 값이 0.5인 경우, 코드워드의 최대 길이는 8, 코드워드의 최소 길이는 6일 수 있다. 또한, 고정 확률 값이 0.005인 경우, 코드워드의 최대 길이는 13, 코드워드의 최소 길이는 1일 수 있다.
또한, 도 3의 실시예에서는, 고정 확률 값이 높을수록, 코드워드의 최대 길이 값이 작고 최소 길이 값이 클 수 있다. 따라서, LPB의 고정 확률 값이 클수록 코드워드 길이 값의 분산이 적고, LPB의 고정 확률 값이 작을수록 코드워드 길이 값의 분산이 클 수 있다.
고정 확률 값 각각에 대해 도출되는 코드워드의 최소 길이 및 최대 길이는, 상술한 실시예에 한정되지 않으며, 경우에 따라 다양한 형태로 도출될 수 있다. 이하, 부호화기에서 도출되는 코드워드의 최소 길이 및 최대 길이에 관한 정보는, 코드워드 길이 정보라 한다.
부호화기에서 도출된 코드워드 길이 정보는, 비트스트림의 헤더에 포함되어 복호화기로 전송될 수 있다. 이 때, 복호화기는 전송된 코드워드 길이 정보를 이용하여 코드워드를 빈 시퀀스로 매핑시키거나 변환할 수 있으며, 병렬 엔트로피 복호화 속도가 향상될 수 있다.
도 4는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 4는 부호화기에 포함된 빈(bin) 부호화기의 개수와 복호화기에 포함된 빈(bin) 복호화기의 개수가 동일한 경우의 스케쥴링 방법을 도시한다. 도 4의 실시예에서, 빈 부호화기의 개수와 빈 복호화기의 개수는 각각 4개라 가정한다.
도 4의 410은 부호화기에서 출력되어 복호화기로 전송되는 비트스트림의 일 실시예를 나타낸다. 상기 비트스트림을 구성하는 각각의 블록(점선으로 구분된 블록)은 최소 단위 비트스트림을 나타낼 수 있으며, 예를 들어, 각각의 최소 단위 비트스트림은 하나의 코드워드에 대응될 수 있다. 각 최소 단위 비트스트림에 표시된 번호는, 파싱 후에 역이진화가 수행되는 순서를 나타낼 수 있다. 또한, 도 4의 411, 413, 415, 417 각각은, 하나의 빈 부호화기의 대표 확률에 대응되는, 모든 최소 단위 비트스트림의 집합을 나타낼 수 있다. 이하, 하나의 대표 확률 및/또는 하나의 확률 구간에 대응되는 모든 최소 단위 비트스트림의 집합은 대표 확률 단위 비트스트림이라 한다.
도 4의 420은 도 410의 비트스트림을 4개의 빈 복호화기의 코어(core)에 할당하는 방법의 일 실시예를 도시한다. 도 4의 420을 참조하면, 하나의 대표 확률 단위 비트스트림은 하나의 빈 복호화기의 코어에 할당될 수 있다. 여기서, 코어는 연산을 수행하는 프로세서(processor)를 의미할 수 있다. 이 때, 각각의 빈 복호화기는, 이에 할당된 대표 확률 단위 비트스트림에 대하여 엔트로피 복호화를 수행할 수 있다.
파싱 후에 각각의 빈은 역이진화 과정을 통해 의미 있는 구문 요소의 값으로 복호화될 수 있다. 이 때, 비트스트림이 빈 시퀀스로 변환되는 파싱 과정은, 역이진화 과정과는 별개로, 독립적으로 수행될 수 있다. 예를 들어, 비트스트림이 빈 시퀀스로 변환되는 순서와 역이진화가 수행되는 순서는 각각 별개로 정해질 수 있다. 따라서, 도 4의 420에서는 역이진화 단계에서 필요한 빈에 대한 파싱이 지연되어, 역이진화 과정의 지연이 발생할 수 있다. 즉, 도 4의 420의 실시예에 의한 파싱 과정은, 역이진화 단계의 지연을 야기할 수 있으며, 이는 전체 엔트로피 복호화기의 지연을 발생시킬 수 있다. 따라서, 역이진화 과정에서 발생되는 지연을 감소시킬 수 있는 엔트로피 복호화 방법이 제공될 수 있다.
도 4의 430은 부호화기에서 출력되어 복호화기로 전송되는 비트스트림의 다른 실시예를 나타낸다. 상기 비트스트림을 구성하는 각각의 블록(점선으로 구분된 블록)은 최소 단위 비트스트림을 나타낼 수 있으며, 예를 들어, 각각의 최소 단위 비트스트림은 하나의 코드워드에 대응될 수 있다. 각 최소 단위 비트스트림에 표시된 번호는, 파싱 후에 역이진화가 수행되는 순서를 나타낼 수 있다. 또한, 도 4의 433, 435, 437, 439 각각은, 대표 확률 단위 비트스트림을 나타낼 수 있다.
또한, 도 4의 430의 비트스트림 헤더(431)는 비트스트림 파싱 과정의 스케쥴링을 위한, 스케쥴링 정보를 포함할 수 있다. 여기서, 스케쥴링은 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 비트스트림을 재정렬하는 프로세스를 의미할 수 있다. 스케쥴링이 수행되면, 재정렬된 비트스트림이 빈 복호화기에 할당될 수 있다. 스케쥴링 정보의 구체적인 실시예는 후술된다.
도 4의 440은 도 430의 비트스트림을 4개의 빈 복호화기의 코어에 할당하는 방법의 실시예를 도시한다.
도 4의 440을 참조하면, 하나의 대표 확률 단위 비트스트림은 복수 개의 부분 비트스트림으로 분류 및/또는 분할될 수 있다. 여기서 부분 비트스트림은, 비트스트림 재정렬을 위해, 부호화기에서 결정되는 엔트로피 복호화 단위를 나타낼 수 있으며, 하나의 부분 비트스트림은 한 개 또는 복수 개의 최소 단위 비트스트림을 포함할 수 있다. 대표 확률 단위 비트스트림이 부분 비트스트림으로 분할된 경우, 각각의 엔트로피 복호화기는, 대표 확률 단위 비트스트림 전체의 시작 지점이 아닌, 비트스트림의 중간 지점(예를 들어, 부분 비트스트림의 시작 지점)에서 파싱을 시작할 수 있다.
복호화기는 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 역이진화 과정에서 우선적으로 필요한 빈이 먼저 파싱될 수 있도록, 부분 비트스트림을 재정렬하여 각각의 빈 복호화기에 할당되는 비트스트림을 결정할 수 있다. 이 때, 복호화기는 빈 복호화기의 개수를 고려하여, 복수의 빈 복호화기가 서로 비슷한 작업량을 가질 수 있도록 비트스트림을 할당할 수 있다.
대표 확률 단위 비트스트림이 부분 비트스트림으로 분할 및/또는 분류되는 지점은 부호화기에서 결정될 수 있으며, 각각의 대표 확률 단위 비트스트림 및/또는 각각의 부분 비트스트림에 대한 파싱의 우선순위도 부호화기에서 결정될 수 있다. 상기 결정 과정에서, 부호화기는 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 부분 비트스트림 및 우선순위를 결정할 수 있다.
이하, 본 명세서에서 대표 확률 단위 비트스트림이 부분 비트스트림으로 분할 및/또는 분류되는 지점에 관한 정보는 부분 비트스트림 정보라 하고, 각각의 대표 확률 단위 비트스트림 및/또는 각각의 부분 비트스트림에 대한 파싱의 우선순위에 관한 정보는 우선순위 정보라 한다. 상술한 스케쥴링 정보는 상기 부분 비트스트림 정보 및 상기 우선순위 정보를 포함할 수 있으며, 스케쥴링을 위해 필요한 추가 정보가 존재하는 경우, 상기 추가 정보를 포함할 수도 있다.
스케쥴링 정보가 결정되면, 엔트로피 부호화기는 상기 결정된 스케쥴링 정보를 비트스트림의 헤더(431)에 추가하여 복호화기로 전송할 수 있다. 복호화기는 전송된 스케쥴링 정보를 기반으로, 우선 순위가 높은 대표 확률 단위 비트스트림 및/또는 우선 순위가 높은 부분 비트스트림을 인식할 수 있고, 부분 비트스트림 단위로 파싱을 수행할 수 있다. 복호화기는 스케쥴링 정보를 기반으로 비트스트림 파싱 과정에 대한 스케쥴링을 수행하여, 역이진화 단계에서 발생되는 지연을 최소화할 수 있다.
상술된 방법에 의하면, 복호화기에 포함된 복수의 빈 복호화기 간에 원활한 작업 분배가 이루어질 수 있고, 역이진화 단계에서의 지연이 최소화될 수 있다. 따라서, 병렬 엔트로피 복호화기에서의 출력 지연이 최소화될 수 있고, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
도 5는 본 발명에 따른 비트스트림 파싱 과정에 대한 스케쥴링 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 5는 복호화기에 포함된 빈(bin) 복호화기의 개수가 부호화기에 포함된 빈(bin) 부호화기의 개수보다 작은 경우의 스케쥴링 방법을 도시한다. 도 5의 실시예에서, 빈 부호화기의 개수는 4개, 빈 복호화기의 개수는 3개라 가정한다.
도 5의 510은 부호화기에서 출력되어 복호화기로 전송되는 비트스트림의 실시예를 나타낸다. 상기 비트스트림을 구성하는 각각의 블록(점선으로 구분된 블록)은 최소 단위 비트스트림을 나타낼 수 있으며, 예를 들어, 각각의 최소 단위 비트스트림은 하나의 코드워드에 대응될 수 있다. 각 최소 단위 비트스트림에 표시된 번호는, 파싱 후에 역이진화가 수행되는 순서를 나타낼 수 있다. 또한, 도 5의 511, 513, 515, 517 각각은, 대표 확률 단위 비트스트림을 나타낼 수 있다. 도 5의 510에서는 총 4개의 대표 확률 단위 비트스트림이 존재할 수 있다.
도 5의 520은 도 510의 비트스트림을 3개의 빈 복호화기의 코어(core)에 할당하는 방법의 실시예를 도시한다. 도 5의 520을 참조하면, 하나의 대표 확률 단위 비트스트림은 하나의 빈 복호화기의 코어에 할당될 수 있다. 이 때, 각각의 빈 복호화기는, 이에 할당된 대표 확률 단위 비트스트림에 대하여 엔트로피 복호화를 수행할 수 있다.
도 5의 520에서, 빈 복호화기의 개수는 3개이므로, 파싱이 시작될 때에는, 3개의 빈 복호화기에 각각 하나의 대표 확률 단위 비트스트림이 할당될 수 있다. 이 때, 빈 복호화기에 할당되지 못한 대표 확률 단위 비트스트림은, 빈 복호화기에 할당된 3개의 대표 확률 단위 비트스트림 중 적어도 하나가 모두 파싱된 후에, 파싱될 수 있다. 이 경우, 역이진화 우선순위가 높은 빈이 역이진화 우선순위가 낮은 빈보다 늦게 파싱되어, 역이진화 과정에서 지연이 발생할 수 있다. 즉, 도 5의 520의 실시예에 의한 파싱 과정은, 역이진화 단계의 지연을 야기할 수 있으며, 이는 전체 엔트로피 복호화기의 지연을 발생시킬 수 있다. 따라서, 역이진화 과정에서 발생되는 지연을 감소시킬 수 있는 엔트로피 복호화 방법이 제공될 수 있다.
도 5의 530은 부호화기에서 출력되어 복호화기로 전송되는 비트스트림의 다른 실시예를 나타낸다. 상기 비트스트림을 구성하는 각각의 블록(점선으로 구분된 블록)은 최소 단위 비트스트림을 나타낼 수 있으며, 예를 들어, 각각의 최소 단위 비트스트림은 하나의 코드워드에 대응될 수 있다. 각 최소 단위 비트스트림에 표시된 번호는, 파싱 후에 역이진화가 수행되는 순서를 나타낼 수 있다. 또한, 도 5의 533, 535, 537, 539 각각은, 대표 확률 단위 비트스트림을 나타낼 수 있다.
또한, 도 5의 530의 비트스트림 헤더(531)는 비트스트림 파싱 과정의 스케쥴링을 위한, 스케쥴링 정보를 포함할 수 있다. 여기서, 상기 스케쥴링 정보는 부분 비트스트림 정보 및 우선순위 정보를 포함할 수 있으며, 스케쥴링을 위해 필요한 추가 정보가 존재하는 경우, 상기 추가 정보를 포함할 수도 있다. 스케쥴링이 수행되면, 재정렬된 비트스트림이 3개의 빈 복호화기에 할당될 수 있다.
도 5의 540은 도 530의 비트스트림을 3개의 빈 복호화기의 코어에 할당하는 방법의 실시예를 도시한다.
도 5의 540을 참조하면, 하나의 대표 확률 단위 비트스트림은 복수 개의 부분 비트스트림으로 분류 및/또는 분할될 수 있다. 여기서, 하나의 부분 비트스트림은 한 개 또는 복수 개의 최소 단위 비트스트림을 포함할 수 있다. 대표 확률 단위 비트스트림이 부분 비트스트림으로 분할된 경우, 각각의 엔트로피 복호화기는, 대표 확률 단위 비트스트림 전체의 시작 지점이 아닌, 비트스트림의 중간 지점(예를 들어, 부분 비트스트림의 시작 지점)에서 파싱을 시작할 수 있다.
복호화기는 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 역이진화 과정에서 우선적으로 필요한 빈이 먼저 파싱될 수 있도록, 부분 비트스트림을 재정렬하여 각각의 빈 복호화기에 할당되는 비트스트림을 결정할 수 있다. 이 때, 복호화기는 빈 복호화기의 개수를 고려하여, 복수의 빈 복호화기가 서로 비슷한 작업량을 가질 수 있도록 비트스트림을 할당할 수 있다.
상술된 스케쥴링 과정을 수행하기 위해 필요한, 스케쥴링 정보(부분 비트스트림 정보 및 우선순위 정보)는 부호화기에서 결정될 수 있다. 상기 결정 과정에서, 부호화기는 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 부분 비트스트림 및 우선순위를 결정할 수 있다. 스케쥴링 정보가 결정되면, 엔트로피 부호화기는 상기 결정된 스케쥴링 정보를 비트스트림의 헤더(531)에 추가하여 복호화기로 전송할 수 있다.
복호화기는 전송된 스케쥴링 정보를 기반으로, 우선 순위가 높은 대표 확률 단위 비트스트림 및/또는 우선 순위가 높은 부분 비트스트림을 인식할 수 있고, 부분 비트스트림 단위로 파싱을 수행할 수 있다. 복호화기는 스케쥴링 정보를 기반으로 비트스트림 파싱 과정에 대한 스케쥴링을 수행하여, 역이진화 단계에서 발생되는 지연을 최소화할 수 있다.
상술된 방법에 의하면, 복호화기에 포함된 복수의 빈 복호화기 간에 원활한 작업 분배가 이루어질 수 있고, 역이진화 단계에서의 지연이 최소화될 수 있다. 따라서, 병렬 엔트로피 복호화기에서의 출력 지연이 최소화될 수 있고, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
도 6은 본 발명에 따른 병렬 엔트로피 부호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 6의 실시예에 따른 병렬 엔트로피 부호화 장치는 이진화기(binarizer)(610), 확률 예측기(probability estimator)(620), 확률 양자화기(probability quantizer)(630), 코드워드 길이 계산기(640), 매핑 테이블 계산기(650), 빈 시퀀스 계산기(660), 빈(bin) 부호화기(670), 버퍼(680) 및 비트스트림 결정기(690)를 포함할 수 있다. 도 6의 실시예에 따른 병렬 엔트로피 부호화 장치는 병렬 엔트로피 부호화를 수행하기 위해, 복수 개의 빈 부호화기(670)를 포함할 수 있다.
도 6을 참조하면, 이진화기(610)는 부호화 단계에서 얻어진 각 구문 요소들을 이진화할 수 있다. 이 때, 상기 이진화 과정에 의해 각 구문 요소들은 빈 시퀀스로 변환될 수 있다. 여기서, 빈 시퀀스는 0과 1의 조합으로 구성될 수 있다. 확률 예측기(620)는 이진화 과정에 의해 얻어진 빈들 각각에 대해, LPB 확률을 예측할 수 있다.
확률 양자화기(630)는 부호화 효율을 높이기 위해, 확률 구간을 나누어, 빈들 각각에 대한 LPB 확률 양자화를 수행할 수 있다. 즉, 확률 양자화기(630)는 예측된 빈의 LPB 확률을 이용하여 각각의 빈이 어떤 확률 구간에 해당되는지 판단할 수 있다. 확률 양자화기(630)는 각각의 빈에 대해, 상기 각각의 빈에 대응되는 확률 구간에 따라, 복수 개의 빈 부호화기들 중 엔트로피 부호화에 사용되는 빈(bin) 부호화기(670)를 결정할 수 있다.
코드워드 길이 계산기(640)는, 대표 확률 값 각각에 대해, 부호화 효율을 고려하여 최적의 코드워드 길이(최소 길이 및 최대 길이)를 도출 및/또는 획득할 수 있다. 이 때, 코드워드 길이 계산기(640)는 부호화 효율을 유지하기 위해, 대표 확률 값의 특성을 기반으로, 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
일 실시예로, 도출된 코드워드의 최소 길이 및 최대 길이에 관한 정보(코드워드 길이 정보)는 비트스트림의 헤더에 포함되어 복호화기로 전송될 수 있다. 이 때, 복호화기는 상기 헤더에 포함된 코드워드 길이 정보를 이용하여, 각각의 빈 복호화기에서 파싱되는 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
다른 실시예로, 각각의 대표 확률에 대한 코드워드의 최대 길이 및 최소 길이는, 부호화기 및 복호화기에서 동일한 알고리즘을 이용하여 도출될 수도 있다. 이 때, 코드워드의 최대 길이 및 최소 길이는, 각각의 빈 부호화기의 대표 확률 값에 기반하여 도출될 수 있다.
상술한 실시예에 따르면, 코드워드 길이 계산기(640)에 의해 코드워드의 길이가 일정 범위로 제한됨으로써, 비트스트림에 대한 파싱 속도가 향상될 수 있다.
매핑 테이블 계산기(650)는 코드워드 길이 계산기(640)에 의해 생성된 코드워드 길이 정보를 이용하여, 매핑 테이블을 선택 및/또는 생성할 수 있다. 여기서, 상기 매핑 테이블은 빈 시퀀스가 코드워드로 변환 및/또는 매핑되는 과정에 사용될 수 있다. 따라서, 상기 매핑 테이블은 코드워드-빈 매핑 테이블로 불릴 수도 있다.
일례로, 코드워드의 최소 길이 및 최대 길이는 소정의 고정된 값일 수 있다. 이 때, 부호화기 및 복호화기에는 상기 범위 내의 코드워드 길이 값 각각에 대한 소정의 매핑 테이블이 동일하게 저장되어 있을 수 있다. 코드워드의 최소 길이와 최대 길이가 동일한 경우에는, 하나의 고정된 길이의 매핑 테이블이 저장되어 있을 수도 있다.
부호화기는 상기 저장된 매핑 테이블 중에서 하나를 선택하여 사용할 수 있다. 또한 부호화기는, 상기 저장된 매핑 테이블 중에서 어떤 매핑 테이블이 사용되는지 여부를 지시하는, 매핑 테이블 선택 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 전송된 매핑 테이블 선택 정보를 이용하여, 저장된 복수의 매핑 테이블 중에서 하나의 매핑 테이블을 선택할 수 있다.
다른 예로, 상기 매핑 테이블은, 부호화기 및 복호화기에서 동일한 생성 알고리즘을 이용하여 생성될 수도 있다. 이 때, 부호화기 및 복호화기는 최소 길이 및 최대 길이에 의해 정해지는 코드워드 길이 범위 내에서, 각각의 코드워드 길이에 대응되는 매핑 테이블을 생성할 수 있다.
상기 생성 알고리즘 외에, 매핑 테이블 생성을 위한 추가 정보가 존재하는 경우, 부호화기는 상기 추가 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 여기서, 상기 추가 정보에는 예를 들어, 코드워드의 최대 길이 및 최소 길이에 관한 정보가 있을 수 있다. 이 때, 복호화기는 상기 전송된 코드워드의 최대 길이 및 최소 길이에 관한 정보를 이용하여 매핑 테이블을 생성할 수 있다.
상술한 경우에, 부호화기는 생성된 매핑 테이블 중에서 하나를 선택하여 사용할 수 있다. 또한 부호화기는, 상기 생성된 매핑 테이블 중에서 어떤 매핑 테이블이 사용되는지 여부를 지시하는, 매핑 테이블 선택 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 전송된 매핑 테이블 선택 정보를 이용하여, 복수의 매핑 테이블 중에서 하나의 매핑 테이블을 선택할 수 있다.
빈 시퀀스 계산기(660)는, 심볼의 구문 요소에 대한 이진화/역이진화 순서에 관한 정보 및 각각의 빈의 확률에 관한 정보를 도출할 수 있다. 빈 시퀀스 계산기(660)는 상기 도출된 정보를 기반으로, 비트스트림 파싱 과정에 대한 스케쥴링 정보를 도출할 수 있다. 여기서, 스케쥴링은 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 비트스트림을 재정렬하는 프로세스를 의미할 수 있다.
도 4에서 상술한 바와 같이, 스케쥴링 정보는 부분 비트스트림 정보 및 우선순위 정보를 포함할 수 있으며, 스케쥴링을 위해 필요한 추가 정보가 존재하는 경우, 상기 추가 정보를 포함할 수도 있다. 여기서, 부분 비트스트림 정보는 대표 확률 단위 비트스트림이 부분 비트스트림으로 분할되는 지점에 관한 정보를 나타내고, 우선순위 정보는 각각의 대표 확률 비트스트림 및/또는 각각의 부분 비트스트림에 대한 파싱의 우선순위에 관한 정보를 나타낼 수 있다.
상술한 바와 같이, 부호화기에 포함된 빈 부호화기의 개수는 복호화기에 포함된 빈 복호화기의 개수와 서로 다를 수 있고, 예를 들어, 빈 복호화기의 개수가 빈 복호화기의 개수보다 작을 수 있다. 이 경우, 역이진화 우선순위가 높은 빈이 역이진화 우선순위가 낮은 빈보다 늦게 파싱되어, 역이진화 과정에서 지연이 발생할 수 있다. 이 때, 빈 시퀀스 계산기(660)에서 도출된 스케쥴링 정보가 엔트로피 복호화 과정에 사용됨으로써, 역이진화 과정에서 발생되는 지연이 최소화될 수 있다. 도출된 스케쥴링 정보를 비트스트림의 헤더에 추가 및/또는 포함시키기 위해, 빈 시퀀스 계산기(660)는 상기 스케쥴링 정보를 비트스트림 결정기(690)로 보낼 수 있다.
상술한 코드워드 길이 계산기(640) 및 빈 시퀀스 계산기(660)에서 도출된 정보가 엔트로피 복호화에 사용되는 경우, 병렬 엔트로피 복호화기의 출력 지연이 최소화될 수 있다. 따라서, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
빈 부호화기(670)는 매핑 테이블 계산기(650)에 의해 도출된 매핑 테이블을 이용하여, 각각의 빈(bin)에 대한 엔트로피 부호화를 수행할 수 있다. 각각의 빈 부호화기(670)는, 대표 확률에 대응하는 매핑 테이블을 이용하여, 이진화된 빈들을 코드워드로 변환할 수 있다. 빈 부호화기(670)에서 출력된 코드워드는 버퍼(680)에 저장될 수 있다.
버퍼에 저장된 코드워드들은 비트스트림 결정기(690)를 통해 복호화기로 전송되거나 저장될 수 있다. 비트스트림 결정기(690)는 비트스트림의 헤더에, 헤더 정보를 추가할 수 있다. 상기 헤더 정보에는 예를 들어, 코드워드 길이 정보, 매핑 테이블 선택 정보, 매핑 테이블 생성을 위해 추가되는 정보, 스케쥴링 정보 등이 있을 수 있다. 비트스트림 결정기(690)는 생성된 비트스트림을 복호화기로 전송할 수 있다. 복호화기는, 전송된 비트스트림에 포함된 헤더 정보를 이용하여 코드워드 길이를 제한하거나 비트스트림을 재정렬함으로써, 복호화 지연을 최소화할 수 있고, 출력 속도를 향상시킬 수 있다.
도 7은 본 발명에 따른 병렬 엔트로피 복호화 장치의 일 실시예를 개략적으로 나타내는 블록도이다.
도 7의 실시예에 따른 병렬 엔트로피 복호화 장치는 코드워드 길이 계산기(710), 매핑 테이블 계산기(720), 비트스트림 결정기(730), 빈 복호화기(740), 버퍼(750), 확률 양자화기(760), 확률 예측기(770) 및 역이진화기(780)를 포함할 수 있다. 도 7의 실시예에 따른 병렬 엔트로피 복호화 장치는 병렬 엔트로피 복호화를 수행하기 위해, 복수 개의 빈(bin) 복호화기(740)를 포함할 수 있다.
도 7을 참조하면, 코드워드 길이 계산기(710)는 부호화기에서 전송된 비트스트림의 헤더로부터 코드워드 길이 정보를 도출할 수 있다.
상술한 바와 같이, 가변적인 코드워드의 길이에 의해, 비트스트림 파싱 과정에서 오버헤드가 발생하여 파싱 속도가 감소될 수 있다. 이와 같은 문제점을 해결하기 위해 부호화기에서는, 병렬 엔트로피 부호화기가 갖는 대표 LPB 확률 각각에 대해, 코드워드의 최소 길이 및 최대 길이가 정해질 수 있다.
일 실시예로, 도출된 코드워드의 최소 길이 및 최대 길이에 관한 정보(코드워드 길이 정보)는 비트스트림의 헤더에 포함되어 복호화기로 전송될 수 있다. 이 때, 복호화기는 상기 헤더에 포함된 코드워드 길이 정보를 이용하여, 각각의 빈 복호화기에서 파싱되는 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
다른 실시예로, 각각의 대표 확률에 대한 코드워드의 최대 길이 및 최소 길이는, 부호화기 및 복호화기에서 동일한 알고리즘을 이용하여 도출될 수도 있다. 이 때, 코드워드의 최대 길이 및 최소 길이는, 각각의 빈 부호화기의 대표 확률 값에 기반하여 도출될 수 있다.
상술한 실시예에 따르면, 코드워드 길이 계산기(710)에 의해 코드워드의 길이가 일정 범위로 제한됨으로써, 비트스트림에 대한 파싱 속도가 향상될 수 있다.
매핑 테이블 계산기(720)는 코드워드 길이 계산기(710)에 의해 도출된 코드워드 길이 정보를 이용하여, 매핑 테이블을 선택 및/또는 생성할 수 있다. 이 때, 상기 매핑 테이블은 각 빈 복호화기(740)의 대표 확률에 기반하여 선택 및/또는 생성될 수 있다.
일례로, 코드워드의 최소 길이 및 최대 길이는 소정의 고정된 값일 수 있다. 이 때, 부호화기 및 복호화기에는 상기 범위 내의 코드워드 길이 값 각각에 대한 소정의 매핑 테이블이 동일하게 저장되어 있을 수 있다. 코드워드의 최소 길이와 최대 길이가 동일한 경우에는, 하나의 고정된 길이의 매핑 테이블이 저장되어 있을 수도 있다.
부호화기는 상기 저장된 매핑 테이블 중에서 하나를 선택하여 사용할 수 있다. 또한 부호화기는, 상기 저장된 매핑 테이블 중에서 어떤 매핑 테이블이 사용되는지 여부를 지시하는, 매핑 테이블 선택 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 전송된 매핑 테이블 선택 정보를 이용하여, 저장된 복수의 매핑 테이블 중에서 하나의 매핑 테이블을 선택할 수 있다.
다른 예로, 상기 매핑 테이블은, 부호화기 및 복호화기에서 동일한 생성 알고리즘을 이용하여 생성될 수도 있다. 이 때, 부호화기 및 복호화기는 최소 길이 및 최대 길이에 의해 정해지는 코드워드 길이 범위 내에서, 각각의 코드워드 길이에 대응되는 매핑 테이블을 생성할 수 있다.
상기 생성 알고리즘 외에, 매핑 테이블 생성을 위한 추가 정보가 존재하는 경우, 부호화기는 상기 추가 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 여기서, 상기 추가 정보에는 예를 들어, 코드워드의 최대 길이 및 최소 길이에 관한 정보가 있을 수 있으며, 코드워드의 최대 길이 및 최소 길이는 병렬 엔트로피 부호화기가 갖는 대표 LPB 확률 각각에 대해 정해질 수 있다. 이 때, 복호화기는 상기 전송된 코드워드의 최대 길이 및 최소 길이에 관한 정보를 이용하여 매핑 테이블을 생성할 수 있다.
상술한 경우에, 부호화기는 생성된 매핑 테이블 중에서 하나를 선택하여 사용할 수 있다. 또한 부호화기는, 상기 생성된 매핑 테이블 중에서 어떤 매핑 테이블이 사용되는지 여부를 지시하는, 매핑 테이블 선택 정보를 비트스트림의 헤더에 추가하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 전송된 매핑 테이블 선택 정보를 이용하여, 복수의 매핑 테이블 중에서 하나의 매핑 테이블을 선택할 수 있다.
상술한 실시예에서, 매핑 테이블은 부호화기로부터 전송된 코드워드 길이 정보를 이용하여 결정된다. 따라서, 각각의 대표 확률에 대한 코드워드의 길이가 제한될 수 있으며, 파싱 과정의 지연이 최소화되고 빈 복호화기(740)의 출력 속도가 향상될 수 있다.
비트스트림 결정기(730)는 부호화기로부터 전송된 비트스트림의 헤더에 포함된, 헤더 정보를 복호화할 수 있다. 상기 헤더 정보는 예를 들어, 스케쥴링 정보(부분 비트스트림 정보 및/또는 우선순위 정보)를 포함할 수 있다. 비트스트림 결정기(730)는 상기 스케쥴링 정보를 이용하여, 각 대표 확률 단위 비트스트림을 부분 비트스트림으로 분류하고, 빈 복호화기(740)로 입력되는 비트스트림에 대한 스케쥴링을 수행할 수 있다. 이 때, 복호화기는 빈 복호화기의 개수를 고려하여, 복수의 빈 복호화기가 서로 비슷한 작업량을 가질 수 있도록, 비트스트림을 빈 복호화기에 할당할 수 있다. 스케쥴링 방법에 대한 구체적인 실시예는 도 4, 도 5에서 상술한 바 있으므로, 생략하기로 한다.
비트스트림 결정기(730)는 부호화기로부터 전송된 스케쥴링 정보를 이용하여 비트스트림에 대한 스케쥴링을 수행함으로써, 역이진화 단계에서의 입력 지연을 최소화할 수 있다.
상술한 코드워드 길이 계산기(710) 및 비트스트림 결정기(730)에서 도출된 정보가 엔트로피 복호화에 사용되는 경우, 병렬 엔트로피 복호화기의 출력 속도가 향상될 수 있다. 따라서, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
각각의 빈 복호화기(740)는 스케쥴링된 비트스트림 및 대표 확률에 대응하는 매핑 테이블을 이용하여 코드워드를 빈 시퀀스로 변환할 수 있다. 이 때, 각각의 빈 복호화기(740)로 입력되는 비트스트림은 일례로 대표 LPB 확률에 따라 결정될 수 있다.
빈 복호화기(740)에서 출력된 빈들은 순서에 따라 버퍼(750), 확률 양자화기(760)를 거쳐 확률 예측기(770)로 입력될 수 있다. 확률 예측기(770)는 입력되는 빈(bin)에 대한, LPB 확률을 도출할 수 있다. 빈 시퀀스는, 확률 예측기(770)를 거친 후, 역이진화기(780)를 통해 의미 있는 구문 요소의 값으로 복호화될 수 있다.
도 8은 본 발명에 따른 병렬 엔트로피 부호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 8의 실시예에 따른 병렬 엔트로피 부호화 장치는 이진화기(810), 확률 예측기(820), 확률 양자화기(830), 코드워드 길이 계산기(840), 매핑 테이블 계산기(850), 빈(bin) 부호화기(860) 및 버퍼(870)를 포함할 수 있다. 도 8의 실시에에 따른 병렬 엔트로피 부호화 장치는 병렬 엔트로피 부호화를 수행하기 위해, 복수 개의 빈 부호화기(860)를 포함할 수 있다.
상술한 바와 같이, 부호화기는 파싱 과정에서 발생하는 오버헤드를 감소시켜 복호화기의 출력 속도를 향상시키기 위해, 코드워드의 길이를 제한할 수 있다. 소정의 고정된 길이의 코드워드가 사용되는 경우에는 부호화 효율이 감소될 수 있으므로, 부호화기는 빈 부호화기 및/또는 빈 복호화기 각각에 대해, 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
도 8을 참조하면, 코드워드 길이 계산기(840)는, 빈 부호화기의 대표 확률 값 각각에 대해, 부호화 효율을 고려하여 최적의 코드워드 길이(최소 길이 및 최대 길이)를 도출 및/또는 획득할 수 있다. 이 때, 코드워드 길이 계산기(840)는 부호화 효율을 유지하기 위해, 대표 확률의 특성을 기반으로, 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
도 8의 실시예에서, 상술된 구성을 제외한 나머지 구성의 동작은 도 6의 실시예에서와 동일하므로 생략한다.
도 9는 본 발명에 따른 병렬 엔트로피 복호화 장치의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 9의 실시예에 따른 엔트로피 복호화 장치는 코드워드 길이 계산기(910), 매핑 테이블 계산기(920), 빈(bin) 복호화기(930), 버퍼(940), 확률 양자화기(950), 확률 예측기(960) 및 역이진화기(970)를 포함한다. 도 9의 실시예에 따른 병렬 엔트로피 복호화 장치는 병렬 엔트로피 복호화를 수행하기 위해, 복수의 빈(bin) 복호화기(930)를 포함할 수 있다. 도 9의 실시예에 따른 병렬 엔트로피 복호화 장치는 도 7의 실시예에 따른 병렬 엔트로피 복호화 장치와 유사하게 동작할 수 있다.
부호화기로부터 전송된 비트스트림은, 복호화기에 포함된 복수의 빈 복호화기(930)에 할당될 수 있다. 이 때, 복호화기는 상기 전송된 비트스트림의 헤더에 포함된 헤더 정보를 이용하여, 각각의 빈 복호화기에 할당되는 비트스트림을 결정할 수 있다. 이 때, 가변적인 코드워드의 길이에 의해, 비트스트림의 파싱 과정에서 오버헤드가 발생하여 파싱 속도가 감소될 수 있다. 이와 같은 문제점을 해결하기 위해 코드워드 길이 계산기(910)는, 병렬 엔트로피 부호화기가 갖는 대표 LPB 확률 각각에 대해, 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
일 실시예로, 부호화기에서 도출된 코드워드의 최소 길이 및 최대 길이에 관한 정보(코드워드 길이 정보)가 비트스트림의 헤더에 포함되어 복호화기로 전송될 수 있다. 이 때, 코드워드 길이 계산기(910)는 상기 헤더에 포함된 코드워드 길이 정보를 이용하여, 각각의 빈 복호화기에서 파싱되는 코드워드의 최소 길이 및 최대 길이를 결정할 수 있다.
다른 실시예로, 각각의 대표 확률에 대한 코드워드의 최대 길이 및 최소 길이는, 부호화기 및 복호화기에서 동일한 알고리즘을 이용하여 도출될 수도 있다. 이 때, 코드워드의 최대 길이 및 최소 길이는, 각각의 빈 부호화기의 대표 확률 값에 기반하여 도출될 수 있다.
매핑 테이블 계산기(920)는, 각각의 빈(bin) 복호화기(930)의 대표 확률에 관한 정보 및 코드워드 길이 계산기(910)에 의해 결정된 코드워드의 최소 길이 및 최대 길이에 관한 정보를 이용하여, 매핑 테이블을 결정할 수 있다. 매핑 테이블 결정 방법의 구체적인 실시예는 도 7에서 상술된 바 있으므로, 생략하기로 한다.
상술된 코드워드 길이 계산기(910) 및 매핑 테이블 계산기(920)에 의해, 병렬 엔트로피 복호화기의 출력 속도가 향상될 수 있다. 따라서, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
도 9의 실시예에서, 상술된 구성을 제외한 나머지 구성의 동작은 도 7의 실시예에서와 동일하므로 생략한다.
*도 10은 본 발명에 따른 병렬 엔트로피 부호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 10의 실시예에 따른 따른 병렬 엔트로피 부호화 장치는 이진화기(1010), 확률 예측기(1020), 확률 양자화기(1030), 빈 시퀀스 계산기(1040), 빈(bin) 부호화기(1050), 버퍼(1060) 및 비트스트림 결정기(1070)를 포함할 수 있다. 도 10의 실시에에 따른 병렬 엔트로피 부호화 장치는 병렬 엔트로피 부호화를 수행하기 위해, 복수 개의 빈 부호화기(1050)를 포함할 수 있다.
도 10을 참조하면, 이진화기(1010) 부호화 단계에서 얻어진 각 구문 요소들을 이진화할 수 있다. 이 때, 상기 이진화 과정에 의해 각 구문 요소들은 빈 시퀀스로 변환될 수 있다. 확률 예측기(1020)는 이진화 과정에 의해 얻어진 빈들 각각에 대해, 발생 확률을 계산할 수 있다. 또한 확률 양자화기(1030)는 확률 구간을 나누어, 빈들 각각에 대한 LPB 확률 양자화를 수행할 수 있다.
빈 시퀀스 계산기(1040)는, 비트스트림 파싱 과정에 대한 스케쥴링 정보를 도출할 수 있다. 도 4에서 상술한 바와 같이, 스케쥴링 정보는 부분 비트스트림 정보 및 우선순위 정보를 포함할 수 있으며, 스케쥴링을 위해 필요한 추가 정보가 존재하는 경우, 상기 추가 정보를 포함할 수도 있다. 여기서, 부분 비트스트림 정보는 대표 확률 단위 비트스트림이 부분 비트스트림으로 분할되는 지점에 관한 정보를 나타내고, 우선순위 정보는 각각의 대표 확률 비트스트림 및/또는 각각의 부분 비트스트림에 대한 파싱의 우선순위에 관한 정보를 나타낼 수 있다.
상술한 바와 같이, 파싱 과정에서는 역이진화 우선순위가 높은 빈이 역이진화 우선순위가 낮은 빈보다 늦게 파싱될 수 있으며, 이 경우, 역이진화 과정에서 지연이 발생할 수 있다. 이 때, 빈 시퀀스 계산기(1040)에서 도출된 스케쥴링 정보가 엔트로피 복호화 과정에 사용됨으로써, 역이진화 과정에서 발생되는 지연이 최소화될 수 있다. 도출된 스케쥴링 정보를 비트스트림의 헤더에 추가 및/또는 포함시키기 위해, 빈 시퀀스 계산기(1040)는 상기 스케쥴링 정보를 비트스트림 결정기(1070)로 보낼 수 있다. 비트스트림 결정기(1070)는 상기 스케쥴링 정보를 비트스트림의 헤더에 추가할 수 있으며, 상기 비트스트림은 복호화기로 전송될 수 있다.
상술된 빈 시퀀스 계산기(1040)에 의해, 병렬 엔트로피 복호화기의 출력 속도가 향상될 수 있다. 따라서, 엔트로피 복호화 수행 과정이 고속화될 수 있다.
도 10의 실시예에서, 상술된 구성을 제외한 나머지 구성의 동작은 도 6의 실시예에서와 동일하므로 생략한다.
도 11은 본 발명에 따른 병렬 엔트로피 복호화 장치의 또 다른 실시예를 개략적으로 나타내는 블록도이다.
도 11의 실시예에 따른 엔트로피 복호화 장치는 비트스트림 결정기(1110), 빈(bin) 복호화기(1120), 버퍼(1130), 확률 양자화기(1140), 확률 예측기(1150) 및 역이진화기(1160)를 포함한다. 도 11의 실시예에 따른 병렬 엔트로피 복호화 장치는 병렬 엔트로피 복호화를 수행하기 위해, 복수의 빈(bin) 복호화기(930)를 포함할 수 있다. 도 11의 실시예에 따른 병렬 엔트로피 복호화 장치는 도 7의 실시예에 따른 병렬 엔트로피 복호화 장치와 유사하게 동작할 수 있다.
비트스트림 결정기(1110)는 부호화기로부터 전송된 비트스트림의 헤더에 포함된, 헤더 정보를 복호화할 수 있다. 상기 헤더 정보는 예를 들어, 스케쥴링 정보(부분 비트스트림 정보, 우선순위 정보 및/또는 비트스트림 재정렬을 위해 필요한 추가 정보)를 포함할 수 있다. 비트스트림 결정기(1110)는 상기 스케쥴링 정보를 이용하여, 각 대표 확률 단위 비트스트림을 부분 비트스트림으로 분류하고, 빈 복호화기(1120)로 입력되는 비트스트림에 대한 스케쥴링을 수행할 수 있다. 이 때, 복호화기는 빈 복호화기의 개수를 고려하여, 복수의 빈 복호화기가 서로 비슷한 작업량을 가질 수 있도록, 각 빈 복호화기에 할당되는 비트스트림을 결정할 수 있다.
비트스트림 결정기(1110)는 부호화기로부터 전송된 스케쥴링 정보를 이용하여 비트스트림에 대한 스케쥴링을 수행함으로써, 역이진화 단계에서의 입력 지연을 최소화할 수 있다.
*
*도 11의 실시예에서, 상술된 구성을 제외한 나머지 구성의 동작은 도 7의 실시예에서와 동일하므로 생략한다.
도 12는 본 발명에 따른 병렬 엔트로피 부호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 12를 참조하면, 부호화기는 구문 요소들을 정해진 이진화 방법을 이용하여 빈 시퀀스로 변환시킬 수 있다(S1210). 여기서, 빈 시퀀스는 0과 1의 조합으로 구성될 수 있으며, 각각의 0 또는 1은 빈(bin)이라 불릴 수 있다.
부호화기는 이진화된 각각의 빈에 대한 LPB 확률을 결정할 수 있으며(S1220), 빈(bin)의 확률 구간을 양자화 간격에 따라 나눌 수 있다(S1230).
또한, 부호화기는, 복호화기의 역이진화 단계에서의 입력 지연을 최소화하기 위해, 스케쥴링 정보를 도출할 수 있다(S1240). 상술한 바와 같이, 상기 스케쥴링 정보는 부분 비트스트림 정보 및 우선순위 정보를 포함할 수 있으며, 스케쥴링을 위해 필요한 추가 정보가 존재하는 경우, 상기 추가 정보를 포함할 수도 있다. 도출된 스케쥴링 정보는 비트스트림의 헤더에 포함되어 복호화기로 전송될 수 있다.
상술한 바와 같이, 빈(bin)의 확률 구간은 양자화 간격에 따라 나누어질 수 있으며, 나누어진 각각의 확률 구간들은 각각의 확률 구간에 대응되는 빈(bin) 부호화기에 할당될 수 있다. 부호화기는 각각의 빈에 대응되는 확률 구간에 따라, 양자화를 통해, 각각의 빈의 엔트로피 부호화에 사용되는 빈 부호화기를 결정할 수 있다(S1250).
부호화기는, 빈 부호화기의 대표 LPB 확률 각각에 대해, 소정의 알고리즘에 의해 코드워드 길이 정보를 도출할 수 있다(S1260). 여기서, 상기 코드워드 길이 정보는 일례로 코드워드의 최소 길이 및 최대 길이에 관한 정보일 수 있다. 코드워드 길이 정보가 도출되면, 부호화기는 상기 도출된 코드워드 길이 정보를 이용하여 매핑 테이블을 결정할 수 있다. 여기서, 상기 매핑 테이블은 빈 시퀀스가 코드워드로 변환 및/또는 매핑되는 과정에 사용되는 테이블을 의미할 수 있다.
부호화기는 상기 결정된 매핑 테이블을 이용하여, 각각의 빈에 대한 빈(bin) 부호화를 수행할 수 있다(S1270). 부호화기는 빈 부호화를 수행함으로써 이진화된 빈들을 코드워드로 변환할 수 있다. 출력된 코드워드는 비트스트림에 포함되어, NAL 단위로 복호화기로 전송될 수 있다.
도 13은 본 발명에 따른 병렬 엔트로피 복호화 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 13을 참조하면, 복호화기는 부호화기로부터 비트스트림을 수신할 수 있다(S1310). 수신된 비트스트림의 헤더는 헤더 정보를 포함할 수 있다. 여기서, 상기 헤더 정보에는 예를 들어, 코드워드 길이 정보, 매핑 테이블 선택 정보, 매핑 테이블 생성을 위해 추가되는 정보, 스케쥴링 정보 등이 있을 수 있다.
복호화기는, 비트스트림의 헤더로부터 스케쥴링 정보를 도출할 수 있으며, 역이진화 단계에서의 입력 지연을 최소화하기 위해, 도출된 스케쥴링 정보를 이용하여, 비트스트림에 대한 스케쥴링을 수행할 수 있다(S1320). 여기서, 스케쥴링은 심볼의 구문 요소에 대한 역이진화 순서를 고려하여, 비트스트림을 재정렬하는 프로세스를 의미할 수 있다. 이 때, 복호화기는 빈 복호화기의 개수를 고려하여, 복수의 빈 복호화기가 서로 비슷한 작업량을 가질 수 있도록, 비트스트림을 빈 복호화기에 할당할 수 있다.
다시 도 13을 참조하면, 복호화기는 부호화기에서 전송된 비트스트림의 헤더로부터 코드워드 길이 정보를 도출할 수 있다(S1330). 여기서, 코드워드 길이 정보는, 각 빈(bin)복호화기의 대표 LPB 확률에 대응하는, 코드워드의 최소 길이 및 최대 길이에 대한 정보를 의미할 수 있다. 코드워드 길이 정보가 도출되면, 복호화기는 상기 도출된 코드워드 길이 정보를 이용하여 매핑 테이블을 결정할 수 있다.
복호화기는 상기 결정된 매핑 테이블을 이용하여, 각각의 빈에 대한 빈(bin) 복호화를 수행할 수 있다(S1340). 이 때, 복호화기에 포함된 복수의 빈 복호화기는, 각각 이에 할당된 확률 구간에 대응되는 빈을 복호화할 수 있다. 복호화기는 빈 복호화를 수행함으로써, 코드워드를 빈으로 변환할 수 있다.
복호화기는, 확률 양자화 단계를 거친 후, 빈(bin) 복호화기에서 출력된 각각의 빈에 대해, LPB 확률을 결정할 수 있다(S1350). 또한 복호화기는, 빈 복호화기에서 출력된 각각의 빈에 대해 역이진화를 수행하여, 의미 있는 구문 요소의 값을 도출할 수 있다(S1360).
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
Claims (3)
- 영상에 대한 비트스트림을 수신하는 단계, 여기서, 상기 비트스트림은 헤더 영역 및 데이터 영역을 포함하고;
상기 헤더 영역에서, 복수의 부분 비트스트림 각각의 복호화 가능 위치 정보를 복호화하는 단계, 여기서, 상기 복호화 가능 위치 정보는, 상기 비트스트림의 데이터 영역을 복수의 부분 비트스트림으로 구분하는데 이용됨;
상기 복수의 부분 비트스트림을 엔트로피 복호화하는 단계, 여기서, 상기 복수의 부분 비트스트림의 개수는, 상기 복호화 가능 위치 정보의 개수에 기초하여 결정되고, 상기 복수의 부분 비트스트림 각각의 시작 지점 또는 종료 지점은 상기 복수의 부분 비트스트림 각각의 복호화 가능 위치 정보에 기초하여 결정됨; 및
상기 엔트로피 복호화된 부분 비트스트림을 기반으로 상기 영상을 복호화하는 단계를 포함하고,
상기 엔트로피 복호화는 지수골롬코드 및 CABAC (Context-adaptive binary arithmetic code) 중 적어도 하나를 이용하여 수행되고,
상기 영상을 복호화하는 단계는 인트라 모드 및 인터 모드 중 적어도 하나의 예측 방법을 이용하여 영상을 복호화하는 것을 특징으로 하는 영상 복호화 방법.
- 영상을 부호화하여 구문 요소를 획득하는 단계;
복호화 가능 위치 정보를 결정하는 단계; 및
상기 구문 요소 및 상기 복호화 가능 위치 정보를 엔트로피 부호화하여 비트스트림을 생성하는 단계를 포함하고,
상기 비트스트림은 복수의 부분 비트스트림을 포함하고,
상기 복수의 부분 비트스트림의 개수를 결정하는데 상기 복호화 가능 위치 정보의 개수가 이용되고, 상기 복수의 부분 비트스트림 각각의 시작 지점 또는 종료 지점을 결정하는데 상기 복수의 부분 비트스트림 각각의 복호화 가능 위치 정보가 이용되고,
상기 비트스트림은 헤더 영역 및 데이터 영역을 포함하고,
상기 복호화 가능 위치 정보는 상기 비트스트림의 헤더 영역에 포함되며,
상기 엔트로피 부호화는 지수골롬코드 및 CABAC (Context-adaptive binary arithmetic code) 중 적어도 하나를 이용하여 수행되고,
상기 영상을 부호화하여 구문 요소를 획득하는 단계는 인트라 모드 및 인터 모드 중 적어도 하나의 예측 방법을 이용하여 구문 요소를 획득하는 것을 특징으로 하는 영상 부호화 방법.
- 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 기록매체로서,
상기 영상 부호화 방법은,
영상을 부호화하여 구문 요소를 획득하는 단계;
복호화 가능 위치 정보를 결정하는 단계; 및
상기 구문 요소 및 상기 복호화 가능 위치 정보를 엔트로피 부호화하여 비트스트림을 생성하는 단계를 포함하고,
상기 비트스트림은 복수의 부분 비트스트림을 포함하고,
상기 복수의 부분 비트스트림의 개수를 결정하는데 상기 복호화 가능 위치 정보의 개수가 이용되고, 상기 복수의 부분 비트스트림 각각의 시작 지점 또는 종료 지점을 결정하는데 상기 복수의 부분 비트스트림 각각의 복호화 가능 위치 정보가 이용되고,
상기 비트스트림은 헤더 영역 및 데이터 영역을 포함하고,
상기 복호화 가능 위치 정보는 상기 비트스트림의 헤더 영역에 포함되며,
상기 엔트로피 부호화는 지수골롬코드 및 CABAC (Context-adaptive binary arithmetic code) 중 적어도 하나를 이용하여 수행되고,
상기 영상을 부호화하여 구문 요소를 획득하는 단계는 인트라 모드 및 인터 모드 중 적어도 하나의 예측 방법을 이용하여 구문 요소를 획득하는 것을 특징으로 하는 비트스트림을 저장하는 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110015230 | 2011-02-21 | ||
KR20110015230 | 2011-02-21 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170147209A Division KR101894407B1 (ko) | 2011-02-21 | 2017-11-07 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049549A Division KR102071666B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049550A Division KR102071667B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049548A Division KR102071665B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180099596A KR20180099596A (ko) | 2018-09-05 |
KR101975254B1 true KR101975254B1 (ko) | 2019-05-08 |
Family
ID=46886155
Family Applications (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120017485A KR101726274B1 (ko) | 2011-02-21 | 2012-02-21 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020150111745A KR101726276B1 (ko) | 2011-02-21 | 2015-08-07 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020170021581A KR101797055B1 (ko) | 2011-02-21 | 2017-02-17 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020170147209A KR101894407B1 (ko) | 2011-02-21 | 2017-11-07 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020180100448A KR101975254B1 (ko) | 2011-02-21 | 2018-08-27 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049550A KR102071667B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049548A KR102071665B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049549A KR102071666B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020200008841A KR102171380B1 (ko) | 2011-02-21 | 2020-01-22 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020200137812A KR102275730B1 (ko) | 2011-02-21 | 2020-10-22 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020210087950A KR102363426B1 (ko) | 2011-02-21 | 2021-07-05 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020220017729A KR102449190B1 (ko) | 2011-02-21 | 2022-02-10 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020220121783A KR102486026B1 (ko) | 2011-02-21 | 2022-09-26 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120017485A KR101726274B1 (ko) | 2011-02-21 | 2012-02-21 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020150111745A KR101726276B1 (ko) | 2011-02-21 | 2015-08-07 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020170021581A KR101797055B1 (ko) | 2011-02-21 | 2017-02-17 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020170147209A KR101894407B1 (ko) | 2011-02-21 | 2017-11-07 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Family Applications After (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049550A KR102071667B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049548A KR102071665B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020190049549A KR102071666B1 (ko) | 2011-02-21 | 2019-04-29 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020200008841A KR102171380B1 (ko) | 2011-02-21 | 2020-01-22 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020200137812A KR102275730B1 (ko) | 2011-02-21 | 2020-10-22 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020210087950A KR102363426B1 (ko) | 2011-02-21 | 2021-07-05 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020220017729A KR102449190B1 (ko) | 2011-02-21 | 2022-02-10 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
KR1020220121783A KR102486026B1 (ko) | 2011-02-21 | 2022-09-26 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (13) | KR101726274B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101726274B1 (ko) * | 2011-02-21 | 2017-04-18 | 한국전자통신연구원 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
WO2018194190A1 (ko) * | 2017-04-18 | 2018-10-25 | 엘지전자(주) | 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 |
WO2018207956A1 (ko) * | 2017-05-10 | 2018-11-15 | 엘지전자(주) | 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 |
KR102586709B1 (ko) * | 2019-04-10 | 2023-10-11 | 한국전자통신연구원 | 영상 보호 송신 장치, 수신 장치 및 방법 |
JP7379541B2 (ja) * | 2019-06-03 | 2023-11-14 | エルジー エレクトロニクス インコーポレイティド | マトリックスに基づくイントラ予測装置及び方法 |
CN111818335B (zh) * | 2020-07-03 | 2022-04-26 | Tcl华星光电技术有限公司 | 一种熵编码方法和装置、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100201918B1 (ko) * | 1994-02-23 | 1999-06-15 | 이토가 미찌야 | 색채화상의 압축과 그것을 위한 엠개 알파벳의 비트와이즈 코딩을 위한 이진화 장치 및 방법 |
JP2009518917A (ja) | 2005-12-07 | 2009-05-07 | イマジネイション テクノロジーズ リミテッド | データデコーディング |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3230933B2 (ja) * | 1994-08-19 | 2001-11-19 | 株式会社リコー | データ伸長装置、データ伸長方法、デコーディング装置、デコーディング方法、エンコーディング装置、及びエントロピー・デコーダ |
US5818463A (en) * | 1997-02-13 | 1998-10-06 | Rockwell Science Center, Inc. | Data compression for animated three dimensional objects |
JP2008042497A (ja) * | 2006-08-04 | 2008-02-21 | Seiko Epson Corp | デコード装置、情報再生装置及び電子機器 |
KR101590633B1 (ko) * | 2008-11-11 | 2016-02-02 | 삼성전자주식회사 | 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법 |
KR101038531B1 (ko) * | 2009-06-25 | 2011-06-02 | 한양대학교 산학협력단 | 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법 |
KR101726274B1 (ko) * | 2011-02-21 | 2017-04-18 | 한국전자통신연구원 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
-
2012
- 2012-02-21 KR KR1020120017485A patent/KR101726274B1/ko active IP Right Grant
-
2015
- 2015-08-07 KR KR1020150111745A patent/KR101726276B1/ko active IP Right Grant
-
2017
- 2017-02-17 KR KR1020170021581A patent/KR101797055B1/ko active IP Right Grant
- 2017-11-07 KR KR1020170147209A patent/KR101894407B1/ko active IP Right Grant
-
2018
- 2018-08-27 KR KR1020180100448A patent/KR101975254B1/ko active IP Right Grant
-
2019
- 2019-04-29 KR KR1020190049550A patent/KR102071667B1/ko active IP Right Grant
- 2019-04-29 KR KR1020190049548A patent/KR102071665B1/ko active IP Right Grant
- 2019-04-29 KR KR1020190049549A patent/KR102071666B1/ko active IP Right Grant
-
2020
- 2020-01-22 KR KR1020200008841A patent/KR102171380B1/ko active IP Right Grant
- 2020-10-22 KR KR1020200137812A patent/KR102275730B1/ko active IP Right Grant
-
2021
- 2021-07-05 KR KR1020210087950A patent/KR102363426B1/ko active IP Right Grant
-
2022
- 2022-02-10 KR KR1020220017729A patent/KR102449190B1/ko active IP Right Grant
- 2022-09-26 KR KR1020220121783A patent/KR102486026B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100201918B1 (ko) * | 1994-02-23 | 1999-06-15 | 이토가 미찌야 | 색채화상의 압축과 그것을 위한 엠개 알파벳의 비트와이즈 코딩을 위한 이진화 장치 및 방법 |
JP2009518917A (ja) | 2005-12-07 | 2009-05-07 | イマジネイション テクノロジーズ リミテッド | データデコーディング |
Non-Patent Citations (1)
Title |
---|
유은경, 남정학, 박시내, 심동규, ‘적응적 V2V 엔트로피 부호화 방법’, 한국방송공학회 학술발표대회 논문집, 2011.07., 585-588. |
Also Published As
Publication number | Publication date |
---|---|
KR101894407B1 (ko) | 2018-09-05 |
KR20150099489A (ko) | 2015-08-31 |
KR20180099596A (ko) | 2018-09-05 |
KR102071666B1 (ko) | 2020-01-31 |
KR20180095777A (ko) | 2018-08-28 |
KR20170021814A (ko) | 2017-02-28 |
KR102275730B1 (ko) | 2021-07-12 |
KR20190047672A (ko) | 2019-05-08 |
KR102071667B1 (ko) | 2020-01-31 |
KR20210088479A (ko) | 2021-07-14 |
KR20190047674A (ko) | 2019-05-08 |
KR102363426B1 (ko) | 2022-02-16 |
KR102486026B1 (ko) | 2023-01-10 |
KR20220136969A (ko) | 2022-10-11 |
KR20200012004A (ko) | 2020-02-04 |
KR101726274B1 (ko) | 2017-04-18 |
KR102171380B1 (ko) | 2020-10-29 |
KR20220026550A (ko) | 2022-03-04 |
KR20200126352A (ko) | 2020-11-06 |
KR20190047673A (ko) | 2019-05-08 |
KR101726276B1 (ko) | 2017-04-17 |
KR102071665B1 (ko) | 2020-01-31 |
KR101797055B1 (ko) | 2017-11-16 |
KR20120095815A (ko) | 2012-08-29 |
KR102449190B1 (ko) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101867884B1 (ko) | 인트라 예측 모드 부호화/복호화 방법 및 장치 | |
KR101937213B1 (ko) | 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
KR101975254B1 (ko) | 병렬 엔트로피 부호화/복호화 방법 및 장치 | |
WO2012173315A1 (ko) | 인트라 예측 모드 부호화/복호화 방법 및 장치 | |
US20130195199A1 (en) | Residual quad tree (rqt) coding for video coding | |
KR20180074773A (ko) | 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 | |
PH12014501478B1 (en) | Throughput improvement for cabac coefficient level coding | |
US20130223528A1 (en) | Method and apparatus for parallel entropy encoding/decoding | |
KR20170046112A (ko) | 예측 모드에 기초한 변환 생략 정보의 엔트로피 복호화 방법 및 장치 | |
WO2012067412A2 (ko) | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |