KR20140004825A - 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치 - Google Patents

엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치 Download PDF

Info

Publication number
KR20140004825A
KR20140004825A KR1020120070712A KR20120070712A KR20140004825A KR 20140004825 A KR20140004825 A KR 20140004825A KR 1020120070712 A KR1020120070712 A KR 1020120070712A KR 20120070712 A KR20120070712 A KR 20120070712A KR 20140004825 A KR20140004825 A KR 20140004825A
Authority
KR
South Korea
Prior art keywords
bin string
bin
syntax element
binarization
value
Prior art date
Application number
KR1020120070712A
Other languages
English (en)
Inventor
이선영
Original Assignee
주식회사 팬택
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 팬택 filed Critical 주식회사 팬택
Priority to KR1020120070712A priority Critical patent/KR20140004825A/ko
Publication of KR20140004825A publication Critical patent/KR20140004825A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치가 개시되어 있다. 영상 부호화 방법은 구문 요소의 값에 대하여 제1 bin string을 생성하는 단계, 구문 요소의 값에 대하여 제2 bin string을 생성하는 단계와 구문 요소의 값에 대해 상기 제1 bin string 및 상기 제2 bin string을 포함하는 bin string을 생성하는 단계를 포함할 수 있다. 따라서, 짧은 bin length로 구문 요소 값을 이진화하고 적응적으로 부호화 및 복호화 방법을 결정함으로서 영상 부호화 효율 및 영상 복호화 효율을 높일 수 있다.

Description

엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치{METHOD AND APPARATUS OF SYNTAX ELEMENT BINARIZATION FOR ENTROPY CODING AND ENTROPY DECODING}
본 발명은 영상 부호화 및 복호화 방법에 관한 것으로 더욱 상세하게는 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명의 목적은 영상 부호화 효율을 증가시키기 위한 구문 요소 값의 이진화 방법 및 엔트로피 부호화 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 영상 복호화 효율을 증가시키기 위한 구문 요소 값의 역 이진화 방법 및 엔트로피 복호화 방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 영상 부호화 효율을 증가시키기 위한 구문 요소 이진화 방법 및 엔트로피 부호화 방법을 수행하는 장치를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 영상 복호화 효율을 증가시키기 위한 구문 요소 값의 역 이진화 방법 및 엔트로피 복호화 방법을 수행하는 장치를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상 부호화 방법은 구문 요소의 값에 대하여 제1 bin string을 생성하는 단계, 상기 구문 요소의 값에 대하여 제2 bin string을 생성하는 단계와 상기 구문 요소의 값에 대해 상기 제1 bin string 및 상기 제2 bin string을 포함하는 bin string을 생성하는 단계를 포함할 수 있다. 상기 bin string은 상기 구문 요소가 cu_qp_delta인 경우, 상기 제1 bin string은 상기cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string이고 상기 제2 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string일 수 있다. 상기 영상 부호화 방법은 상기 binstring에서 0이 나오는 bin까지는 regular coding하고 상기 0 이후에 나오는 bin string은 bypass coding하는 단계를 더 포함할 수 있다. 상기 구문 요소는 cu_qp_delta이고 상기 cu_qp_delta의 값이 임계값 이하이면 이진화값으로 제1 bin string을 가지고 상기 cu_qp_delta의 값이 임계값 초과이면 이진화값으로 제2 bin string을 가지고, 상기 제1 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string을 포함한 bin string이고, 상기 제2 bin string은 임계값에 해당하는 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 고정 길이 이진화 방법을 기초로 산출된 bin string을 포함한 bin string일 수 있다. 상기 영상 부호화 방법은 상기 제1 bin string 및 상기 제2 bin string은 regular coding이 수행되는 최대 bin의 위치 내에 존재하는 첫 번째 0값을 가진 bin까지 regular coding을 수행하는 단계와 상기 regular coding이 수행되고 남은 bin string을 bypass coding하는 단계를 더 포함할 수 있다. 상기 bin string은 상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string일 수 있다. 상기 영상 부호화 방법은 상기 제1 bin string은 regular coding되고 상기 제2 bin string은 bypass coding되는 단계를 더 포함할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 영상 복호화 방법은 구문 요소 정보를 포함한 bitstream을 복호화하여 제1 bin string 및 제2 bin string을 산출하는 단계와 상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계를 포함할 수 있다. 상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계는 상기 구문 요소는 cu_qp_delta이고 상기 구문 요소의 값에 따라 산출되는 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계를 이용하여 구문 요소 값을 산출하는 단계로서 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계는 상기 제1 bin string은 상기cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string이고 상기 제2 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string일 수 있다. 상기 제1 bin string은 상기 bitstream을 regular decoding하여 0이 나오기 전까지 생성된 binstring이고 상기 제2 bin string은 regular decoding된 0과 나머지 bitstream을 bypass decoding하여 생성된 binstring일 수 있다. 상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계는 상기 구문 요소는 cu_qp_delta이고 상기 구문 요소 값은 상기 제1 bin string과 상기 제2 bin string을 포함한 bin string과 관계를 기초로 산출하는 단계로서 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계는 cu_qp_delta의 값이 임계값 이하이면 이진화 결과로 제1 bin string을 가지고 cu_qp_delta의 값이 임계값 초과이면 이진화 결과로 제2 bin string을 가지고, 상기 제1 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string을 포함한 bin string이고, 상기 제2 bin string은 임계값에 해당하는 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 고정 길이 이진화 방법을 기초로 산출된 bin string을 포함한 bin string일 수 있다. 상기 영상 복호화 방법은 regular coding이 수행되는 최대 bin의 위치 내에 존재하는 첫번째 0값을 가진 bin이 생성될 때까지 상기 bitstream을 regular decoding을 수행하는 단계와 나머지 bin string을 생성하기 위해 상기 bitstream을 bypass decoding하는 단계를 더 포함할 수 있다. 상기 제1 bin string 및 상기 제2 bin string은 상기 제1 bin string은 지수 골룸 이진화 방법을 사용하여 산출되는 bin string이고 상기 제2 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string일 수 있다. 상기 제1 bin string은 regular decoding되고 상기 제2 bin string은 bypass decoding되는 단계를 더 포함할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 영상 부호화 장치는 구문 요소 값에 대해 제1 bin string 및 제2 bin string을 생성하는 이진화부와 상기 제1 bin string 및 상기 제2 bin string을 포함하는 bin string을 부호화하여 상기 구문 요소 값을 bitstream으로 생성하는 부호화부를 포함할 수 있다. 부호화부는 상기 제1 bin string에 대하여 regular coding을 수행하고 상기 제2 bin string에 대하여 bypass coding을 수행하는 부호화부일 수 있다. 상기 제1 bin string 및 상기 제2 bin string은 상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string일 수 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 영상 복호화 장치는 구문 요소 정보를 포함한 bitstream을 복호화하여 구문 요소에 대한 제1 bin string 및 제2 bin string을 생성하는 복호화부와 상기 제1 bin string 및 상기 제2 bin string을 포함한 bin string을 기초로 역 이진화를 수행하여 구문 요소 값을 산출하는 역 이진화부를 포함할 수 있다. 상기 복호화부는 상기 제1 bin string에 대하여 regular decoding을 수행하고 상기 제2 bin string에 대하여 bypass decoding을 수행하는 복호화부일 수 있다. 상기 제1 bin string 및 상기 제2 bin string은 상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string일 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치에 따르면 구문 요소 값에 대한 이진화 시 복수개의 이진화 방법을 기초로 구문 요소를 이진화하고 복수개의 엔트로피 부호화 방법 및 엔트로피 복호화 방법을 적응적으로 사용할 수 있다. 따라서 짧은 bin length로 구문 요소 값을 이진화하고 적응적으로 부호화 및 복호화 방법을 결정함으로서 영상 부호화 효율 및 영상 복호화 효율을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 복호화기를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 이진화 방법 및 CABAC을 이용한 엔트로피 부호화 과정을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 하나의 부호화 방법을 사용하여 부호화하는 방법을 나타낸 순서도이다.
도 5는 본 발명의 실시예에 따른 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 방법을 사용하여 부호화하는 방법을 나타낸 순서도이다.
도 6은 본 발명의 실시예에 따른 복수개의 이진화 방법을 생성된 bin string에 대하여 하나의 부호화 방법을 사용하여 bitstream을 생성하는 방법을 나타낸 순서도이다.
도 7은 본 발명의 실시예에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 하나의 부호화 방법을 기초로 부호화하는 방법을 나타낸 개념도이다.
도 8은 본 발명의 실시에에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 수행하는 방법을 나타낸 개념도이다.
도 9은 본 발명의 실시예에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 수행하는 방법을 나타낸 개념도이다.
도 10은 본 발명의 실시예에 따른 하나의 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 11은 본 발명의 실시예에 따른 서로 다른 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 12는 본 발명의 실시예에 따른 하나의 복호화 방법으로 생성된 bin string에 대하여 서로 다른 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 13은 본 발명의 실시예에 따른 서로 다른 복호화 방법과 서로 다른 역 이진화 방법을 기초로 구문 요소값을 생성하는 방법을 나타낸 순서도이다.
도 14는 본 발명의 실시예에 따른 영상 부호화 장치의 일부를 나타낸 개념도이다.
도 15는 본 발명의 실시예에 따른 영상 부호화 장치의 일부를 나타낸 개념도이다.
도 16은 본 발명의 실시예에 따른 영상 복호화 장치의 일부를 나타낸 개념도이다.
도 17은 본 발명의 실시예에 따른 영상 복호화 장치의 일부를 나타낸 개념도이다.
본 발명의 실시예 및 도면에 개시된 각 구성부들은 영상 부호화 장치의 서로 다른 특징적인 기능들을 나타내기 위해 독립적인 구성으로 개시한 것이다. 각 구성부들이 반드시 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 본 발명에서 개시된 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리 범위에 포함된다.
도 1은 본 발명의 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 1을 참조하면, 부호화 장치는 분할부(100), 예측부(110), 화면 내 예측부(103), 화면 간 예측부(106), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 포함할 수 있다.
부호화 장치는 이하의 본 발명의 실시예에서 설명하는 영상 부호화 방법에 의해 구현될 수 있으나, 일부의 구성부에서의 동작은 부호화기의 복잡도를 낮추기 위해 또는 빠른 실시간 부호화를 위해 수행되지 않을 수 있다. 예를 들어, 예측부에서 화면 내 예측을 수행함에 있어서, 실시간으로 부호화를 수행하기 위해 모든 화면 내 예측 모드 방법을 사용하여 최적의 화면 내 부호화 방법을 선택하는 방법을 사용하지 않고 일부의 제한적인 개수의 화면 내 예측 모드를 사용하여 그 중에서 하나의 화면 내 예측 모드를 최종 화면 내 예측 모드로 선택하는 방법이 사용될 수 있다. 또 다른 예로 화면 내 예측 또는 화면 간 예측을 수행함에 있어 사용되는 예측 단위의 형태를 제한적으로 사용하도록 하는 것도 가능하다.
부호화 장치에서 처리되는 블록의 단위는 부호화를 수행하는 부호화 단위, 예측을 수행하는 예측 단위, 변환을 수행하는 변환 단위가 될 수 있다. 부호화 단위는 CU(Coding Unit), 예측 단위는 PU(Prediction Unit), 변환 단위는 TU(Transform Unit)라는 용어로 표현될 수 있다.
분할부(100)에서는 하나의 픽쳐를 복수의 부호화 단위, 예측 단위 및 변환 단위의 조합으로 분할하고 소정의 기준(예를 들어, 비용 함수)으로 그 중 하나의 부호화 단위, 예측 단위 및 변환 단위 조합을 선택하여 픽쳐를 분할할 수 있다. 예를 들어, 픽쳐에서 부호화 단위를 분할하기 위해서는 쿼드 트리 구조(QuadTree Structure)와 같은 재귀적인 트리 구조를 사용할 수 있다. 이하, 본 발명의 실시예에서는 부호화 단위의 의미를 부호화를 하는 단위라는 의미뿐만 아니라 복호화를 수행하는 단위라는 의미로도 사용할 수 있다.
예측 단위는 화면 내 예측 또는 화면 간 예측을 수행하는 단위가 될 수 있다. 화면 내 예측을 수행하는 단위로는 2Nx2N, NxN과 같은 정사각형의 단위나 SDIP(Short Distance Intra Prediction)를 사용하는 직사각형의 형태의 예측 단위 형태를 가질 수 있다. 화면 간 예측을 수행하는 단위로는 2Nx2N, NxN과 같은 정사각형의 단위 또는 정사각형 형태의 예측 단위를 동일한 형태로 이분할한 형태인 2NxN, Nx2N 또는 비대칭 형태인 AMP (Asymetric Motion Partitioning)를 사용한 예측 단위 분할 방법이 있다. 예측 단위의 형태에 따라 변환부(115)에서는 변환을 수행하는 방법이 달라질 수 있다.
예측부(110)는 화면 내 예측을 수행하는 화면 내 예측부(103)와 화면 간 예측을 수행하는 화면 간 예측부(106)를 포함할 수 있다. 예측 단위에 대해 화면 간 예측을 사용할 것인지 또는 화면 내 예측을 수행할 것인지를 결정할 수 있다. 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예를 들어, 화면 내 예측을 수행함에 있어서 예측 모드는 예측 단위로 결정되고, 예측을 수행하는 과정은 변환 단위를 기초로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록)은 변환부(115)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달될 수 있다.
PCM(Pulse Coded Modulation) 부호화 모드를 사용할 경우, 예측부(110)를 통해 예측을 수행하지 않고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
화면 내 예측부(103)에서는 현재 예측 단위의 주변에 존재하는 참조 픽셀을 기초로 예측 단위를 생성할 수 있다. 현재 예측 단위에 대한 최적의 화면 내 예측 모드를 산출하기 위해서 현재 예측 단위를 복수의 화면 내 예측 모드로 생성하고 그 중 하나를 선택적으로 사용할 수 있다. 화면 내 예측에서 예측 모드는 참조 픽셀 정보를 예측 방향에 따라 사용하는 방향성 예측 모드와 예측을 수행 시 방향성 정보을 사용하지 않는 비방향성 모드를 가질 수 있다. 휘도 정보를 예측하기 위한 모드와 색차 정보를 예측하기 위한 모드는 종류가 상이할 수 있고, 색차 정보를 예측하기 위해 휘도 정보를 예측한 화면 내 예측 모드 정보 또는 예측된 휘도 신호 정보를 활용할 수 있다.
하나의 화면 내 예측 모드로 결정된 화면 내 예측 단위는 현재 예측 단위의 주변 블록의 화면 내 예측 모드 정보로부터 현재 예측 단위의 화면 내 예측 모드를 예측하는 방법을 사용하여 현재 예측 단위의 화면 내 예측 모드 정보를 부호화할 수 있다. 즉, 현재 예측 단위의 화면 내 예측 모드는 현재 예측 단위의 주변에 존재하는 예측 단위의 화면 내 예측 모드로부터 예측할 수 있다. 주변 예측 단위로부터 예측된 모드 정보를 이용하여 현재 예측 단위의 예측 모드를 예측하는 경우, 현재 예측 단위와 주변 예측 단위의 화면 내 예측 모드가 동일할 경우, 플래그 정보를 이용하여 현재 예측 단위와 주변 예측 단위의 예측 모드가 동일하다는 정보를 전송할 수 있고, 만약, 현재 예측 단위와 주변 예측 단위의 예측 모드가 상이할 경우, 엔트로피 부호화를 수행하여 현재 블록의 예측 모드 정보를 부호화할 수 있다. 주변의 예측 모드가 가용하지 않은 경우, 미리 설정된 화면 내 예측 모드값을 후보 화면 내 예측 모드값으로 설정하여 현재 예측 단위의 화면 내 예측 모드를 예측할 수 있다.
화면 내 예측부(103)는 현재 픽쳐 내의 화소 정보인 현재 블록 주변의 참조 픽셀 정보를 기초로 예측 단위를 생성할 수 있다. 현재 예측 단위의 주변 블록이 화면 간 예측을 수행한 블록이어서, 참조 픽셀이 화면 간 예측을 수행한 픽셀일 경우, 화면 간 예측을 수행한 블록에 포함되는 참조 픽셀을 주변의 화면 내 예측을 수행한 블록의 참조 픽셀 정보로 대체하여 사용할 수 있다. 즉, 참조 픽셀이 가용하지 않는 경우, 가용하지 않은 참조 픽셀 정보를 가용한 참조 픽셀 중 적어도 하나의 참조 픽셀로 대체하여 사용할 수 있다.
화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 동일할 경우, 예측 단위의 좌측에 존재하는 픽셀, 좌측 상단에 존재하는 픽셀, 상단에 존재하는 픽셀을 기초로 예측 단위에 대한 화면 내 예측을 수행하지만, 화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 상이할 경우, 변환 단위를 기초로 한 참조 픽셀을 이용하여 화면 내 예측을 수행할 수 있다. 또한, 최소 부호화 단위에 대해서만 NxN 분할을 사용하는 화면 내 예측을 사용할 수 있다.
화면 내 예측 방법은 예측 모드에 따라 참조 화소에 MDIS(Mode Dependent Intra Smoothing) 필터를 적용한 후 예측 블록을 생성할 수 있다. 참조 화소에 적용되는 MDIS 필터의 종류는 상이할 수 있다. 화면 내 예측 방법을 수행하기 위해 또한, 화면 내 예측이 수행된 이후에 추가의 필터를 사용하여 참조 픽셀과 예측을 수행 후 예측 단위에 존재하는 일부 열에 대한 추가적인 필터링을 수행할 수 있다. 참조 픽셀과 예측을 수행 후 예측 단위에 존재하는 일부 열에 대한 필터링은 예측 모드의 방향성에 따라 다른 필터링을 사용할 수 있다.
화면 간 예측부(106)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 단위를 생성할 수 있다. 화면 간 예측부(106)는 참조 픽쳐 보간부, 움직임 예측부, 움직임 보상부가 포함할 수 있다.
참조 픽쳐 보간부에서는 메모리(150)로부터 참조 픽쳐 정보를 제공받고 참조 픽쳐에서 정수 화소 이하의 화소 정보를 생성할 수 있다. 휘도 화소의 경우, 1/4 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 8탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다. 색차 신호의 경우 1/8 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 4탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다.
화면 간 예측부(106)는 참조 픽쳐 보간부에 의해 보간된 참조 픽쳐를 기초로 움직임 예측을 수행할 수 있다. 움직임 벡터를 산출하기 위한 방법으로 FBMA(Full search-based Block Matching Algorithm), TSS(Three Step Search), NTS(New Three-Step Search Algorithm) 등 다양한 방법이 사용될 수 있다. 움직임 벡터는 보간된 화소를 기초로 1/2 또는 1/4 화소 단위의 움직임 벡터값을 가질 수 있다. 화면 간 예측부(106)에서는 움직임 예측 방법을 다르게 하여 현재 예측 단위를 예측할 수 있다. 움직임 예측 방법으로 스킵(Skip) 방법, 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법 등 다양한 방법이 사용될 수 있다.
예측부(110)에서 생성된 예측 단위를 기초로 예측을 수행한 예측 단위와 예측 단위의 원본 블록과 차이값인 잔차값(Residual) 정보를 포함하는 잔차 블록이 생성될 수 있다. 생성된 잔차 블록은 변환부(115)로 입력될 수 있다. 변환부(115)에서는 부호화 대상 즉, 예측 대상이 되는 원본 블록과 예측 블록의 잔차값(residual)정보를 포함한 잔차 블록을 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)와 같은 변환 방법을 사용하여 변환시킬 수 있다. 잔차 블록을 변환하기 위해 DCT를 적용할지 DST를 적용할지는 잔차 블록을 생성하기 위해 사용된 예측 단위의 화면 내 예측 모드 정보 및/또는 예측 단위의 크기 정보를 기초로 결정할 수 있다. 변환부에서는 예측 블록의 크기 정보에 기초하여 변환 방법을 다르게 적용할 수 있다.
양자화부(120)는 변환부(115)에서 주파수 영역으로 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공될 수 있다.
재정렬부(125)는 양자화된 잔차값에 대해 계수값의 재정렬을 수행할 수 있다.재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원의 블록 형태 계수를 1차원의 벡터 형태로 변경할 수 있다. 예를 들어, 재정렬부(125)에서는 다이아고널 스캔(Diagonal Scan)방법을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원 벡터 형태로 변경시킬 수 있다. 변환 단위의 크기 및 화면 내 예측 모드에 따라 다이아고널 스캔 방법이 아닌 2차원의 블록 형태 계수를 열 방향으로 스캔하는 수직 스캔 방법, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔 방법이 사용될 수 있다. 즉, 변환 단위의 크기 및 화면 내 예측 모드에 따라 다이어고널 스캔, 수직 방향 스캔 및 수평 방향 스캔 중 어떠한 스캔 방법이 사용될지 여부를 결정할 수 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 산출된 값들을 기초로 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 부호화 단위의 잔차값 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 단위 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 프레임 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 제공받아 소정의 부호화 방법을 기초로 엔트로피 부호화를 수행할 수 있다. 또한, 엔트로피 부호화부(130)에서는 재정렬부(125)에서 입력된 부호화 단위의 계수값을 엔트로피 부호화할 수 있다.
역양자화부(135) 및 역변환부(140)에서는 양자화부(120)에서 양자화된 값들을 역양자화하고 변환부(115)에서 변환된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에 포함된 움직임 추정부, 움직임 보상부 및 인트라 예측부를 통해서 예측된 예측 단위와 합쳐져 복원 블록(Reconstructed Block)을 생성할 수 있다.
필터부(145)는 디블록킹 필터, 오프셋 보정부, ALF(Adaptive Loop Filter)중 적어도 하나를 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링을 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행처리가 되도록 할 수 있다.
오프셋 보정부는 디블록킹을 수행한 영상에 대해 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽쳐에 대한 오프셋 보정을 수행하기 위해 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후 오프셋을 수행할 영역을 결정하고 해당 영역에 오프셋을 적용하는 방법 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법을 사용할 수 있다.
ALF (Adaptive Loop Filter)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 영상에 포함된 픽셀을 적어도 하나 이상의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF의 크기 및 계수는 달라질 수 있다. ALF는 다양한 형태를 가질 수 있으며, 필터에 그에 따라 포함되는 계수의 개수도 달라질 수 있다. 이러한 ALF의 필터링 관련 정보(필터 계수 정보, ALF On/Off 정보, 필터 형태 정보)는 비트스트림 형태로 파라메터 셋에 포함되어 전송될 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있고, 저장된 복원 블록 또는 픽쳐는 화면 간 예측을 수행 시 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 실시예에 따른 복호화기를 나타낸 블록도이다.
도 2를 참조하면, 복호화기는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235), 메모리(240)가 포함될 수 있다.
부호화기에서 비트스트림이 입력된 경우, 입력된 비트스트림은 부호화기와 반대의 절차로 복호화될 수 있다.
엔트로피 복호화부(210)는 부호화기의 엔트로피 부호화부에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화부(210)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화를 수행한 잔차값은 재정렬부(215)로 입력될 수 있다.
엔트로피 복호화부(210)에서는 부호화기에서 수행된 화면 내 예측 및 화면 간 예측에 관련된 정보를 복호화할 수 있다. 전술한 바와 같이 부호화기에서 화면 내 예측 및 화면 간 예측을 수행시 예를 들어 주변의 예측 모드가 가용하지 않은 경우 등의 제약이 있는 경우, 이러한 제약을 기초로 한 엔트로피 복호화를 수행해 현재 블록에 대한 화면 내 예측 및 화면 간 예측에 관련된 정보를 제공받을 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 부호화부에서 재정렬한 방법을 기초로 재정렬을 수행할 수 있다. 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부에서는 부호화부에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 부호화기에서 수행한 양자화 결과에 대해 변환부에서 수행한 DCT 및 DST에 대해 역 DCT 및 역 DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서는 DCT와 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(225)에서는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 복호화된 블록 또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
전술한 바와 같이 부호화기에서의 동작과 동일하게 화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 동일할 경우, 예측 단위의 좌측에 존재하는 픽셀, 좌측 상단에 존재하는 픽셀, 상단에 존재하는 픽셀을 기초로 예측 단위에 대한 화면 내 예측을 수행하지만, 화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 상이할 경우, 변환 단위를 기초로 한 참조 픽셀을 이용하여 화면 내 예측을 수행할 수 있다. 또한, 최소 부호화 단위에 대해서만 NxN 분할을 사용하는 화면 내 예측을 사용할 수 있다.
예측부(230)는 예측 단위 판별부, 화면 간 예측부 및 화면 내 예측부를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부에서 입력되는 예측 단위 정보, 화면 내 예측 방법의 예측 모드 정보, 화면 간 예측 방법의 움직임 예측 관련 정보 등 다양한 정보를 입력 받고 현재 부호화 단위에서 예측 단위를 구분하고, 예측 단위가 화면 간 예측을 수행하는지 아니면 화면 내 예측을 수행하는지 여부를 판별할 수 있다. 화면 간 예측부는 부호화기에서 제공된 현재 예측 단위의 화면 간 예측에 필요한 정보를 이용해 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 화면 간 예측을 수행할 수 있다. 화면 간 예측을 수행하기 위해 부호화 단위를 기준으로 해당 부호화 단위에 포함된 예측 단위의 움직임 예측 방법이 스킵 모드(Skip Mode), 머지 모드(Merge 모드), AMVP 모드(AMVP Mode) 중 어떠한 방법인지 여부를 판단할 수 있다.
화면 내 예측부는 현재 픽쳐 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 화면 내 예측을 수행한 예측 단위인 경우, 부호화기에서 제공된 예측 단위의 화면 내 예측 모드 정보를 기초로 화면 내 예측을 수행할 수 있다. 화면 내 예측부에는 MDIS 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. MDIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 부호화기에서 제공된 예측 단위의 예측 모드 및 MDIS 필터 정보를 이용하여 현재 블록의 참조 화소에 MDIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 MDIS 필터링을 수행하지 않는 모드일 경우, MDIS 필터는 적용되지 않을 수 있다. 또한, 부호화기에서 마찬가지로 예측 블록을 생성 후 참조 픽셀과 함께 추가적으로 필터링을 수행할 수 있다.
참조 화소 보간부는 예측 단위의 예측 모드가 참조 화소를 보간한 화소값을 기초로 화면 내 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 정수값 이하의 화소 단위의 참조 화소를 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 화소를 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
복원된 블록 또는 픽쳐는 필터부(235)로 제공될 수 있다. 필터부(235)는 디블록킹 필터, 오프셋 보정부, ALF를 포함할 수 있다.
부호화기로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 복호화기의 디블록킹 필터에서는 부호화기에서 제공된 디블록킹 필터 관련 정보를 제공받고 복호화기에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다. 부호화기에서와 마찬가지로 우선 수직 디블록킹 필터링 및 수평 디블록킹 필터링을 수행하되, 겹치는 부분에 있어서는 수직 디블록킹 및 수평 디블록킹 중 적어도 하나를 수행할 수 있다. 수직 디블록킹 필터링 및 수평 디블록킹 필터링이 겹치는 부분에서 이전에 수행되지 못한 수직 디블록킹 필터링 또는 수평 디블록킹 필터링이 수행될 수 있다. 이러한 디블록킹 필터링 과정을 통해서 디블록킹 필터링의 병행 처리(Parallel Processing)이 가능하다.
오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다.
ALF는 필터링을 수행 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 부호화기로부터 제공된 ALF 적용 여부 정보, ALF 계수 정보 등을 기초로 부호화 단위에 ALF를 적용할 수 있다. 이러한 ALF 정보는 특정한 파라메터 셋에 포함되어 제공될 수 있다.
메모리(240)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
도 3은 본 발명의 실시예에 따른 이진화 방법 및 CABAC을 이용한 엔트로피 부호화 과정을 나타낸 개념도이다.
도 3을 참조하면, 특정한 구문 요소(syntax element)는 구문 요소가 가진 정보를 이진수 또는 십진수로서 표현할 수 있다. 구문 요소 값을 엔트로피 부호화(coding)하여 복호화기에 전송하기 위해서는 부호화를 수행하기 위해 구문 요소 값이 이진수로 표현되어야 한다. 이진화되지 않은 구문 요소(non-binary valued syntax element)의 값은 이진화부(binarizer, 300)를 이용하여 이진화될 수 있다.
이진화된 구문 요소는 regular coding(305) 또는 bypass coding(310) 중 하나의 부호화 방법을 통해서 부호화될 수 있다. regular coding(305) 또는 bypass coding(310)을 수행하는 부호화부로 입력되는 이진 부호를 bin string이라는 용어로 정의한다. bin string 중 regular coding(305)에 입력되는 이진수를 context coded bin, bypass coding(310)에 입력되는 이진수를 bypass coded bin이라는 용어로 정의한다.
regular coding(305)은 context modeler(320)와 regular coding engine(340)을 사용하여 입력된 context coded bin에 대하여 주변의 문맥 정보를 고려한 부호화 방법이다. 반면, bypass coding(310)은 bypass coding engine(350)을 사용하여 이진화된 구문 요소의 값을 그대로 비트스트림으로 출력하는 부호화 방법이다.
본 발명의 실시예에 따르면 입력되는 bin string에 대하여 다양한 부호화 방법이 사용될 수 있다. 예를 들어, 입력되는 bin string에 포함된 bin의 0과 1의 발생 빈도수를 고려하여
(1) 하나의 bin string에 대하여 두 가지의 부호화 방법(regular coding 또는 bypass coding) 중 하나의 부호화 방법을 선택하여 bin string을 부호화하는 방법
(2) 하나의 bin string에 대하여 두 가지의 부호화 방법(regular coding 또는 bypass coding)을 모두 사용하여 부호화하는 방법이 사용될 수 있다.
즉, 입력되는 bin string에 포함된 bin은 0 또는 1 중 어느 하나의 심볼의 개수가 다른 심볼의 개수보다 더 많은 경우와 같은 bin 분포에 경향성이 존재할 수 있다. bin 분포에 특정한 경향성이 존재하는 경우, 주변의 문맥 정보를 고려하는 부호화 방법인 regular coding을 사용한 부호화 방법이 효과적이다. 하지만, regular coding 방법은 bypass coding에 비하여 부호화 및 복호화를 수행 시 압축 효율은 높을 수 있으나 상대적으로 구현 복잡도 및 계산 복잡도가 높다. 따라서 입력되는 bin string에서 symbol의 특정한 경향성이 없는 경우는 문맥 정보를 고려한 부호화 방법의 압축 효율이 떨어져 압축 성능이 낮음에도 복잡도만 높아질 수 있다. 이러한 이유로 입력되는 bin의 symbol에 특정한 경향성이 없는 경우는 regular coding 보다 bypass coding 방법을 사용한 부호화를 수행할 수 있다.
이하, 본 발명의 실시예에서는 구문 요소를 이진화하고 엔트로피 부호화하는 방법에 대하여 개시한다. 설명의 편의상 구문 요소 중 cu_qp_delta를 이진화하고 엔트로피 부호화하는 방법 및 역 이진화하고 엔트로피 복호화하는 방법을 특정하여 설명한다. 하지만 cu_qp_delta는 구문 요소에 대한 하나의 예시로서 다른 구문 요소에도 후술할 이진화 방법 및 엔트로피 부호화 방법이 사용될 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
또한, 이하 본 발명의 실시예에서 주로 이진화 방법 및 엔트로피 부호화 방법에 대해 개시하지만, 엔트로피 부호화 방법의 역 과정인 엔트로피 복호화 방법 및 이진화 방법의 역 과정인 역 이진화 방법도 이진화 방법 및 엔트로피 부호화 방법에 의해 유추될 수 있고 이러한 실시예도 본 발명의 권리 범위에 포함된다.
cu_qp_delta는 coding group을 이용하여 주변 coding unit의 예측 양자화 파라메터(predicted quantization parameter)와 현재 coding unit의 실제 양자화 파라메터 사이의 차이값 정보를 나타내는 구문 요소이다. cu_qp_delta는 정수값(양의 정수, 0, 음의 정수)을 가질 수 있다.
coding unit의 예측 양자화 파라메터(predicted quantization parameter)를 산출하는데 사용되는 코딩 그룹(coding group)은 소정의 coding unit의 분할 여부를 나타내는 플래그 정보인 split_coding_unit_flag가 0이고 coding unit의 크기를 나타내는 log2Cbsize가 log2MinCUDQPSize보다 크거나 같은 경우 해당 coding unit을 coding group으로 정의할 수 있다.
또한, coding unit의 분할 여부를 나타내는 플래그 정보인 split_coding_unit_flag가 1이고 coding unit의 크기를 나타내는 log2Cbsize가 log2MinCUDQPSize와 같은 경우, coding group은 coding unit으로부터 분할된 coding unit들을 나타낸다. 여기서 log2MinCUDQPSize는 양자화 파라메터가 변할 수 있는 최소한의 coding unit의 크기에 대한 정보를 나타낼 수 있다.
본 발명의 실시예에 따르면 cu_qp_delta의 값은 아래의 표 1과 같은 pseudo code를 사용하여 이진화될 수 있다. 표 1 뿐만 아니라 이하, 본 발명의 실시예에서 개시되는 pseudo code는 구문 요소 값과 bin string 사이의 관계를 산출하기 위한 하나의 pseudo code의 예시로서 동일한 이진화를 수행함에 있어서도 다양한 pseudo code가 존재할 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
<표 1>
Figure pat00001
표 1을 참조하면, 구문 요소 값의 절대값(absV)을 기초로 이진 부호화를 수행하여 구문 요소의 절대값에 따른 bin string을 산출할 수 있다.
아래의 표 1-2는 표 1의 pseudo code를 기초로 bin string을 산출하기 위한 pseudo code의 변수를 나타낸다.
<표 1-2>
Figure pat00002
표 1-2를 참조하면, 구문 요소 절대값에 따른 bin string은 아래와 같이 생성될 수 있다.
(1) 새롭게 정의된 변수 nQtn는 (absV>>1+nRmd)에 해당하는 값이다. while문을 이용하여 nQtn의 값이 0 이 될 때까지 1을 생성함으로서 absV의 값에 따라 MSB 위치로부터 적어도 하나의‘1’을 bin string의 전단에 생성할 수 있다. 이러한 방식으로 생성된 bin string의 일부를 제1 bin string이라고 할 수 있다. 제1 bin string은 cu_qp_delta의 절대값을 2로 나눈 몫을 버림한 값에 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string일 수 있다.
(2) 다음으로 absV를 2로 나눈 나머지를 의미하는 변수인 nRmd를 기초로 나머지가 0인 경우 ‘01’, 나머지가 1인 경우 ‘00’의 값을 이진 부호로서 bin string의 중단에 생성할 수 있다. 이러한 방식으로 생성된 bin string의 일부를 제2 bin string이라고 할 수 있다.
(3) bin string의 마지막 값으로 나머지 cu_qp_delta의 부호를 나타내는 이진 부호 정보인 ‘S’ 를 사용하여 cu_qp_delta의 값의 부호에 대한 정보를 나타낼 수 있다. S는 cu_qp_delta의 값이 양수인 경우 ‘0’, cu_qp_delta의 값이 음수인 경우 ‘1’의 값을 가진다. cu_qp_delta의 부호 정보를 나타내는 ‘S’는 bin string의 마지막 위치가 아닌 bin string에서 다른 위치에 존재할 수도 있다.
표 1에서 이진화를 수행하여 나온 결과인 bin string 중 0과 1은 의미상 반대로 사용될 수 있다. 이하 본 발명의 실시예에서도 마찬가지로 이진화 수행 결과 산출된 bin string의 0과 1은 의미상 반대로 사용될 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
아래의 표 2는 표 1을 기초로 산출된 구문 요소 값과 이진화 결과를 매핑한 것이다.
<표 2>
Figure pat00003
표 2를 참조하면, 표 1에서 전술한 이진화 방법에 기초하여 cu_qp_delta의 절대값이 0인 경우, 0으로 이진화 되고, cu_qp_delta의 절대값이 1인 경우 MSB로 1, MSB-1 및 MSB-2에 0, LSB에 cu_qp_delta의 부호를 나타내는‘S’를 둠으로서 cu_qp_delta의 절대값이 1인 경우의 bin string을 생성할 수 있다.
이하, 본 발명의 실시예에서 설명의 편의상 bin string의 가장 좌측에 있는 symbol의 위치를 MSB로 정의하고 MSB를 기준으로 우측으로 n번 이동한 위치를 MSB-n으로 표현할 수 있다. 또한, bin string의 가장 우측에 있는 symbol의 위치를 LSB로 정의할 수 있다.
또 다른 예로 cu_qp_delta의 절대값이 3인 경우 MSB와 MSB-1로 1, MSB-2, MSB-3로 0, LSB에 ‘S’를 둘 수 있다. cu_qp_delta의 부호 정보를 나타내는 ‘S’는 LSB 위치가 아닌 bin string에서 다른 위치에 존재할 수도 있다.
아래의 표 3은 cu_qp_delta의 부호를 나타내는 ‘S’가 LSB 위치가 아닌 bin string에서 다른 위치에 존재하는 경우 cu_qp_delta를 이진화하는 방법을 나타내는 pseudo code를 나타낸다.
<표 3>
Figure pat00004
표 3을 참조하면, 부호 정보인 ‘S’가 bin string에서 MSB-1의 위치에 존재하는 이진화 방법을 나타낸 것이다. ‘S’의 위치는 bin string의 다른 위치에 존재하는 것도 가능하며 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
기존의 이진화 방법을 사용할 경우 구문 요소 값에 따라 이진화를 수행한 bin string의 길이가 산술 급수적으로 증가하는 단점이 존재하였다. 즉, cu_qp_delta의 절대값이 1씩 늘어남에 따라 선형적으로 bin string의 length가 하나씩 증가할 수 있다. 하지만, 표 1 내지 표 3에서 전술한 방법으로 이진화하는 경우 cu_qp_delta의 절대값이 2씩 늘어남에 따라 선형적으로 bin string의 length가 하나씩만 증가할 수 있다. 따라서 상대적으로 짧은 길이로 구문 요소가 bin string으로 이진화되어 부호화 효율을 높일 수 있다.
또한 본 발명의 실시예에 따르면, 이진화를 통해 산출된 bin string을 regular coding 또는 bypass coding 방법 중 하나의 부호화 방법을 선택하여 부호화하거나 하나의 bin string을 부호화함에 있어 regular coding 및 bypass coding 방법을 모두 사용하여 부호화하는 방법도 가능하다.
예를 들어, 하나의 bin string을 부호화함에 있어 regular coding 및 bypass coding 방법을 모두 사용하여 부호화하는 경우, bin sting에서 처음으로 ‘0’이 나오는 bin이 존재하는지 여부를 판단하여 처음으로 0이 나오는 bin까지의 bin string을 regular coding을 수행하는 context coded bin으로 취급할 수 있다. ‘0’ 이후에 나오는 나머지 bin string은 bypass coded bin으로 취급하여 bypass coding을 수행할 수 있다.
하나의 bin string에 대하여 두 가지의 부호화 방법을 사용할 경우 예를 들어 표 2와 같은 구문 요소 cu_qp_delta를 regular coding하기 위한 context coded bin은 최소 1 개의 bin(cu_qp_delta = 0)에서 최대 14 bins(cu_qp_delta = 25 or 26)가 될 수 있다. bin string 중 regular coding이 수행되지 않은 나머지 부분은 bypass coded bin으로서 bypass coding될 수 있다. 표 2와 같은 경우 bypass coded bin은 cu_qp_delta가 0일 때를 제외하고는 bin string에 존재하는 고정된 2개의 bins이 될 수 있다.
구체적인 예를 들면, cu_qp_delta의 경우,
(1) cu_qp_delta의 절대값이 0일 때, 1개의 bin을 regular coding할 수 있다.
(2) cu_qp_delta의 절대값이 10일 때, bin string에서 첫 번째 0 값을 가진 bin까지를 포함한 총 6개의 bins을 regular coding하고, 나머지 2개의 bins(sign bit 포함)은 bypass coding할 수 있다.
(3) cu_qp_delta의 절대값이 25일 때, 첫 번째 0값을 가진 총 14개의 bins은 regular coding을 하고, 이후 2 bins(sign bit 포함)은 bypass coding할 수 있다.
하나의 bin string에서 context coded bin과 bypass coded bin을 구분하는 방법은 다양하며 위와 같이 bin string에 0이 존재하는지 여부를 기준으로 context coded bin과 bypass coded bin을 구분하지 않고 다른 구분 방법으로 bin string에서 context coded bin과 bypass coded bin을 구분할 수 있다. 즉, 본 발명은 복수의 엔트로피 부호화 방법을 사용하여 bin string을 부호화하는 방법에 관한 것으로 서 bin string에서 context coded bin과 bypass coded bin을 구분하는 방법은 다양하게 사용될 수 있다.
cu_qp_delta는 표 1에서와 같은 이진화 방법을 기초로 bin string을 산출할 수 있지만 또 다른 이진화 방법으로 구문 요소의 값에 따른 bin string을 산출할 수 있다.
표 4는 cu_qp_delta의 또 다른 이진화 방법을 나타낸 pseudo code를 나타낸 것이다.
<표 4>
Figure pat00005
표 4를 참조하면, cu_qp_delta의 구문 요소의 절대값이 일정한 임계값(threshold) 이하의 값일 경우 표 1에서 전술한 이진화 방법을 사용할 수 있다. 하지만, cu_qp_delta의 구문 요소의 절대값이 일정한 임계값(threshold)보다 큰 값을 가질 경우 fixed length binarization 방법을 추가적으로 사용할 수 있다. FL(cMax)는 fixed-length binarization process를 통해 산출되는 이진 부호를 의미하는 것으로 임계값을 초과하는 구문 요소 값에 대하여 cMax 개수만큼의 symbol에 대하여 fixed length binarization을 수행할 수 있다.
즉, 구문 요소의 절대값이 특정한 임계값 이하인 경우, 제1 이진화 방법을 사용하여 이진화를 수행하고 구문 요소의 절대값이 특정한 임계값 초과인 경우 제2 이진화 방법을 사용하여 이진화를 수행할 수 있다. 제2 이진화 방법은 제1 이진화 방법과 다른 이진화 방법을 의미하거나 제1 이진화 방법에 추가적으로 다른 이진화 방법을 사용하는 이진화 방법을 의미할 수도 있다.
아래의 표 5는 표 4의 이진화 방법에 기초하여 산출된 cu_qp_delta의 절대값에 따른 bin string을 나타낸 것이다.
<표 5>
Figure pat00006
표 5를 참조하면, 이진화 방법이 변하게 되는 임계값을 10으로 설정하였다. 구문 요소의 절대값이 임계값(10)이하인 경우 제1 이진화 방법으로서 표 1에서 전술한 이진화 방법을 사용할 수 있고 절대값이 임계값(10) 초과인 경우 제2 이진화 방법으로 제1 이진화 방법에 추가적으로 고정 길이 이진화 방법(fixed-length binarization)을 사용할 수 있다.
위와 같이 제2 이진화 방법으로 제 1 이진화 방법에 추가적으로 고정 길이 이진화 방법을 사용함으로서 임계값 이후의 구문 요소 값에 대해서는 고정적인 길이를 가진 bin string을 생성함으로서 짧은 length의 bin string으로 생성할 수 있어 부호화 효율이 증가할 수 있다.
fixed-length binarization 방법은 cu_qp_delta의 구문 요소값이 26 까지인 경우 임계값 10까지를 제외하고 남은 구문 요소 값의 개수가 16개이므로 16개의 구문 요소 값을 고정 길이 이진화 방법으로 표현하기 위해 4개의 bins을 사용하여 11에서 26 까지의 구문 요소 값을 표현할 수 있다.
구문 요소가 11 내지 26인 경우 bin string을 생성하는 방법으로,
(1) bin string의 전단의 경우, 구문 요소의 절대값이 11 이상일 때 bin string의 전단에 위치한 ‘1’의 개수에서 하나 증가한 ‘1’의 개수인 6개의 1(‘111111’)이 위치할 수 있다. bin string의 전단은 구문 요소의 절대값이 증가하는 경우에도 변하지 않고 계속 ‘111111’을 유지할 수 있다. 서로 다른 이진화 방법으로 산출된 bin string을 구분하기 위해 이러한 방법으로 생성된 bin string을 제1 bin string이라는 용어로 정의할 수 있다.
(2) bin string의 중단은 fixed length binarization을 수행하여 구문 요소 값이 11에서 26으로 증가함에 따라 4 개의 bins이 ‘0000’에서 ‘1111’까지 변할 수 있다. 4 개의 bins은 bin string의 중단에 위치할 수 있다. 제1 bin string과 다른 방법으로 생성된 bin string을 제2 bin string이라는 용어로 정의할 수 있다.
(3) bin string의 후단은 구문 요소의 부호 정보를 나타내는 ‘S’를 위치시킬 수 있다. S는 cu_qp_delta의 값이 양수인 경우 ‘0’, cu_qp_delta의 값이 음수인 경우 ‘1’의 값을 가진다. cu_qp_delta의 부호 정보를 나타내는 ‘S’는 bin string의 마지막 위치가 아닌 bin string에서 다른 위치에 존재할 수도 있다.
즉, 하나의 bin string은 서로 다른 이진화 방법으로 생성된 제1 bin string 및 제2 bin string을 포함할 수 있다. 제1 bin string과 제2 bin string을 생성하는 방법은 하나의 예시로서 다른 이진화 방법이 사용될 수 있다. 예를 들어, 제1 bin string을 산출하기 위한 이진화 방법으로 지수 골룸 이진화 방법(Exp-Golomb)이 사용되고 제2 bin string을 산출하기 위한 이진화 방법으로 TU(truncated unary) 방법이 사용될 수도 있다. 혹은 그 반대로 제1 bin string을 산출하기 위한 이진화 방법으로 TU(truncated unary) 방법이 사용되고 제2 bin string을 산출하기 위한 이진화 방법으로 지수 골룸 이진화 방법이 사용될 수도 있다.
전술한 바와 마찬가지로 구문 요소의 부호 정보를 표현하는 ‘S’는 bin string의 어떠한 위치에도 존재할 수 있다. 예를 들어, ‘S’는 LSB 위치에 놓일 수도 있으며 MSB 이후 바로 sign bit가 놓일 수 있다. 즉, 구문 요소의 부호 정보를 나타내는 ‘S’는 bin sting의 어떠한 위치에도 존재할 수 있다.
아래의 표 6은 sign bit가 MSB-1의 위치에 나오는 경우의 pseudo code를 나타낸 표이다.
<표 6>
Figure pat00007
표 4 내지 표 6을 통해 산출된 bin string은 엔트로피 부호화를 수행시 regular coding과 bypass coding 방법을 모두 사용하여 엔트로피 부호화를 수행할 수 있다.
이하의 본 발명의 실시예에서 bin string 중 regular coding과 bypass coding을 수행하는 bin string을 구분하는 방법은 임의적인 것으로서 다른 방법으로 regular coding과 bypass coding을 수행하는 bin string을 구분하는 것도 가능하고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
예를 들어, bin string에서 첫 번째로 0이 나올 때까지 context coded bin으로 취급하여 regular coding을 수행하되 regular coding이 수행되는 context coded bin의 최대 길이를 6 개의 bins으로 제한할 수 있다. 최대 context coded bin 이후 나오는 bin은 bypass coding할 수 있다. regular coding을 수행하는 context coded bin의 최대 길이 제한은 임계값에 따른 임의적인 것으로 변할 수 있다.
표 5를 참조하면 context coded bins은 최소 1 개의 bin(cu_qp_delta=0)에서 최대 6개의 bins(cu_qp_delta>=10)이 될 수 있다.
cu_qp_delta 구문 요소의 절대값이 제1 이진화를 수행하는 임계값 (10) 이하인 경우, 처음으로 bin string의 bin이 0이 될 때까지 bin string에 대하여 regular coding을 수행할 수 있다. bin string 중 regular coding이 수행되고 나머지 2 개의 bins은 bypass coding이 될 수 있다.
cu_qp_delta 구문 요소의 절대값이 제1 이진화를 수행하는 임계값 (10)초과인 경우 제2 이진화에 의해 산출된 bin string 중 전단에 위치하는 제1 bin string인 6개의 1인 ‘111111’은 regular coding될 수 있다. 나머지 bin string인 제2 bin string인 fixed length binarization을 수행한 4개의 bins과 sign bit를 포함한 5 개의 고정된 bins는 bypass coded bin으로서 bypass coding이 될 수 있다.
예를 들어,
(1) cu_qp_delta의 절대값이 0일 때, 1개의 bin에 대하여 regular coding을 수행할 수 있다.
(2) cu_qp_delta의 절대값이 10일 때, 첫 번째 0까지 총 6 개의 bins에 대하여 regular coding을 수행하고 이후 2 개의 bins(sign bit 포함)에 대해서는 bypass coding을 수행할 수 있다.
(3) cu_qp_delta의 절대값이 25일 때, context coded bins의 길이 제한(최대 6개의 bins) 조건에 따라 bin string의 전단에 위치하는 6개의 제1 bin string에 대하여 regular coding을 하고, 이후 제2 bin string과 sign bit를 포함하는 5개의 bins에 대하여 bypass coding을 한다.
본 발명의 다른 실시예로서 전체 bin string에 대하여 하나의 부호화 방법(예를 들어, regular coding)으로 부호화할 수도 있다.
또한, 본 발명의 다른 실시예로서 구문 요소의 절대값이 임계값 이하인 경우는 전체 bin string에 대하여 하나의 부호화 방법(예를 들어, regular coding)을 수행하고, 구문 요소의 절대값이 임계값 초과인 경우는 고정 길이 부호화를 수행하기 전인 제1 bin string에는 regular coding을 수행하고 제2 bin string과 sign bit에는 bypass coding을 수행할 수도 있다.
전술한 바와 같이 제1 bin string과 제2 bin string을 생성하는 방법은 하나의 예시로서 다른 이진화 방법이 사용될 수 있다. 예를 들어, 제1 bin string을 산출하기 위한 이진화 방법으로 지수 골룸 이진화 방법(Exp-Golomb)이 사용되고 제2 bin string을 산출하기 위한 이진화 방법으로 TU(truncated unary) 방법이 사용될 수도 있다. 혹은 그 반대로 제1 bin string을 산출하기 위한 이진화 방법으로 TU(truncated unary) 방법이 사용되고 제2 bin string을 산출하기 위한 이진화 방법으로 지수 골룸 이진화 방법이 사용될 수도 있다. 이러한 경우 제1 bin string에는 regular coding 방법을 사용하고 제2 bin string에는 bypass coding을 수행하는 방법과 같이 bin string의 구분에 따라 서로 다른 부호화 방법을 사용할 수 있다.
만약, sign bit가 bin string의 중간에 위치하는 경우에도 전술한 방법과 동일한 방법으로 부호화를 수행할 수 있다. 즉, sign bit 위치를 제외한 bin string에서 첫 번째로 0인 bin이 나올 때까지 sign bit를 포함한 bin string을 context coded bins으로 취급하되, regular coding이 수행되는 최대 길이를 7개의 bins으로 제한할 수 있다. context coded bins 이후의 bin string의 bin은 bypass coding할 수 있다.
표 5를 예를 들면, context coded bins은 최소 1 개의 bin(cu_qp_delta = 0)에서 최대 7 개의 bins(cu_qp_delta >= 10)이 될 수 있다.
예를 들어,
(1) cu_qp_delta의 절대값이 0일 때, 1개의 bin에 대하여 regular coding을 수행할 수 있다.
(2) cu_qp_delta의 절대값이 10일 때, sign bit 위치를 제외한 첫 번째로 bin값이 0을 가질 때까지 총 7개의 bins(sign bit 포함)에 대하여 regular coding을 수행하고, 나머지 1 개의 bin에 대해서는 bypass coding을 수행할 수 있다.
(3) cu_qp_delta의 절대값이 25일 때, context coded bins의 길이 제한(최대 7개의 bins)조건에 따라 bin string의 전단에 위치한 7 개의 bins(제1 bin string과 sign bit 포함)에 대해서는 regular coding을 수행하고, 이후 제2 bin string에 해당하는 4 개의 bins에 대해서는 bypass coding을 수행할 수 있다.
전술한 바와 동일하게 생성된 bin string에 대해 regular coding과 bypass coding을 모두 사용하지 않고 구문 요소의 전체 bin string에 대하여 하나의 부호화 방법인 regular coding 혹은 bypass coding만을 사용하여 부호화를 수행할 수 있다.
또 다른 실시예로 cu_qp_delta 절대값이 임계값 이하인 경우는 전체 bin string에 대하여 regular coding을 수행하고, cu_qp_delta 절대값이 임계값을 초과하는 경우는 fixed length binarization을 수행하기 전에 위치한 bin string의 전단인 제1 bin string은 regular coding을 수행하고 fixed length binarization을 수행한 bin string의 후단인 제2 bin string(고정길이 부분)에는 bypass(fixed-length) coding을 수행할 수 있다.
fixed length coding을 수행하는 구문 요소의 임계값은 전술한 바와 같이 변할 수 있고 아래의 표 7은 표 5와 달리 임계값을 6으로 하여 이진화를 수행한 결과를 나타낸 표이다.
<표 7>
Figure pat00008
표 7을 참조하면, 고정 길이 이진화 방법을 사용하는 구문 요소의 절대값이 임계값 (6) 초과인 경우를 나타낸다. cu_qp_delta의 구문 요소 값의 최대값이 26이므로 전술한 임계값이 10인 경우인 표 5와 다르게 임계값 (6)을 초과한 구문 요소의 개수가 20개가 된다. 따라서, 5 개의 bins를 사용하여 구문 요소의 절대값이 7 내지 26인 경우에 대하여 고정 길이 이진화를 하여 제2 bin string을 생성할 수 있다. 즉, 임계값에 따라 고정 길이 이진화 방법에 사용되는 bin의 수가 달라질 수 있다.
표 8은 임계값을 14로 설정한 경우 cu_qp_delta에 대한 이진화를 수행한 결과를 나타낸 표이다.
<표 8>
Figure pat00009
표 8을 참조하면, 고정 길이 이진화 방법을 추가적으로 사용하는 구문 요소의 임계값이 14인 경우를 나타낸다. cu_qp_delta의 구문 요소 절대값의 최대값이 26인 경우 14까지의 구문 요소 값을 제외한 나머지 구문 요소의 개수가 12 개가 된다. 12개의 구문 요소(15에서 26까지)는 표 5와 같이 4 개의 bins을 사용한 고정 길이 이진화를 수행하여 제2 bin string을 생성할 수 있다.
표 5, 표 7 및 표 8을 참조하면 제1 이진화 방법(표 1의 이진화 방법)에서 제2 이진화 방법(표 1의 이진화 방법에 고정 길이 이진화 방법을 추가한 이진화 방법)으로 이진화 방법을 전환하기 위해 임계값을 사용할 수 있다. 임계값에 따라 고정 길이 이진화를 수행하는 bin의 개수 및 구문 요소의 절대값에 따른 bin string의 길이가 달라질 수 있다.
임계값은 구문 요소에 따라 미리 정한 값이거나 부호화기 및 복호화기에서 결정된 특정한 상수값이 될 수 있다. 또한 임계값은 영상 단위에 따라 다른 값을 가질 수 있다. 따라서, sequence, picture, slice 및/또는 CU와 같이 서로 다른 영상 단위 별로 임계값이 적응적으로 결정될 수 있다. 결정된 임계값은 부호화되어 영상 부호화기에서 영상 복호화기로 전송될 수 있다. 즉, 임계값이 특정 상수가 아닌 변할 수 있는 값인 경우, 영상 부호화기에서 사용한 임계값 정보를 bit-stream에 추가하여 영상 복호화기에 전송해야 한다.
cu_qp_delta의 이진화 방법으로 또 다른 방법을 사용할 수 있다.
아래의 표 9는 본 발명의 실시예에 따른 cu_qp_delta의 이진화 방법으로 TU(Truncated Unary)방법과 FL(fixed length binarization)방법을 사용하여 부호화하는 방법을 나타내는 pseudo code이다.
<표 9>
Figure pat00010
표 9를 참조하면, 구문 요소 값이 임계값 이하인 경우 TU(truncated unary)를 기초로 한 이진화를 수행하고 구문 요소 값이 임계값 보다 큰 경우 TU와 FL(fixed-length binarization)을 이용한 이진화를 수행할 수 있다. FL을 수행시 전술한 바와 동일하게 임계값에 따라 남은 구문 요소의 개수에 따라 FL에 사용되는 bin의 개수는 변할 수 있다.
즉, 전술한 이진화 방법과 동일하게 특정한 임계값을 기준으로 구문 요소 값이 임계값 이하인 경우 TU를 사용하고 구문 요소 값이 특정한 임계값 보다 큰 경우, TU +FL을 사용한 부호화를 수행할 수 있다. TU +FL 을 통해 산출된 bin string 중 TU를 통해 산출된 bin string을 제1 bin string, FL을 통해 산출된 bin string을 제2 bin string이라고 할 수 있다.
표 10은 표 9에서 개시한 이진화 방법에 따라 산출된 cu_qp_delta의 bin string을 나타낸 것이다.
<표 10>
Figure pat00011
표 10을 참조하면, 이진화 방법이 변하는 구문 요소의 임계값이 10인 경우를 나타낸다. 구문 요소의 절대값이 10 이하인 경우, TU 방법을 사용한 이진화를 수행할 수 있고, 구문 요소의 절대값이 10 초과인 경우 bin string의 전단에는 TU를 사용하여 이진화한 값인 제1 bin string인‘11111111111’을 생성하고 후단에는 4 개의 bins을 사용한 FL을 사용하여 생성된 제2 bin string을 생성할 수 있다.
즉, 구문 요소 절대값이 11에서 26인 경우, bin string의 전단에는 1의 값을 가진 bin이 11번 연속된 값을 사용된 제1 bin string을 포함하고 bin string의 후단에는 FL을 사용하여 나머지 4 개의 bins으로 변화된 제2 bin string을 포함할 수 있다.
전술한 바와 마찬가지로 sign bit(S)는 bin string의 어떠한 위치에도 놓일 수 있다 예를 들어, sign bit가 bin string의 마지막 위치에 놓일 수도 있으며, MSB 이후의 MSB-1의 위치에 바로 놓일 수 있다. 또한 sign bit는 그 외 bin string의 중간 고정 위치로 어디든 가능하다. sign bit가 첫 번째 bin 이후에 나오는 경우의 pseudo code는 아래의 표 11과 같다.
<표 11>
Figure pat00012

표 9 및 표 11에서 전술한 이진화 방법으로 생성된 bin string 중 일부 bin은 context coded bin으로 일부 bin는 bypass coded bin으로 처리될 수 있다.
예를 들어, bin string에서 첫 번째로 bin값이 0이 나올 때까지 context coded bins으로 취급하여 regular coding을 수행하되 regular coding되는 bin의 최대 길이를 (임계값+1)의 길이로 제한할 수 있다. regular coding을 수행한 후 나오는 bin는 bypass coding될 수 있다.
전술한 표 9의 경우, context coded bins은 최소 1개의 bin(cu_qp_delta = 0)에서 최대 11개의 bins(cu_qp_delta >= 10)을 가질 수 있다. bypass coded bin은 context coded bin이 최대 길이 11개의 bins을 가질 경우, 고정으로 4개의 bins이 될 수 있다. 그리고 이후 sign bit는 bypass coding 될 수 있다. 즉, bin string에서 제1 bin string의 경우 regular coding을 수행하고 제2 bin string 및 sign bit에 대해서는 bypass coding을 수행할 수 있다. 만약 sign bit가 bin string의 중간 위치에 오게 되면, context coded bin이 될 수도 있다.
전술한 바와 동일하게 생성된 bin string에 대해 regular coding과 bypass coding을 모두 사용하지 않고 구문 요소의 전체 bin string에 대하여 하나의 부호화 방법(예를 들어, regular coding)만을 사용하여 부호화를 수행할 수 있다.
또 다른 실시예로 cu_qp_delta 절대값이 임계값 이하인 경우는 전체 bin string에 대하여 하나의 부호화 방법(예를 들어, regular coding)을 수행하고, cu_qp_delta 절대값이 임계값을 초과하는 경우는 두 개의 부호화 방법(regular coding 및 bypass coding)에 기초한 부호화를 수행할 수 있다.
전술한 바와 같이 본 발명의 실시예에서 개시된 이진화 방법 및 부호화 방법에 기초하여 역과정으로 복호화 방법 및 역 이진화 방법이 수행될 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
이하 본 발명의 실시예에서는 사용될 수 있는 이진화 방법 및 부호화 방법과 복호화 방법 및 역 이진화 방법은 아래와 같이 다양한 방법으로 수행될 수 있다.
이진화 방법 및 부호화 방법으로
(1) 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 하나의 부호화 방법을 사용하여 부호화하는 방법
(2) 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 방법을 사용하여 부호화하는 방법
(3) 서로 다른 이진화 방법을 사용하여 생성된 bin string을 하나의 부호화 방법을 사용하여 부호화 하는 방법
(4) 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 방법을 사용하여 부호화하는 방법이 사용될 수 있다.
복호화 방법 및 역 이진화 방법은
(1) 하나의 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법
(2) 서로 다른 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법
(3) 하나의 복호화 방법으로 생성된 bin string에 대하여 서로 다른 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법
(4) 서로 다른 복호화 방법으로 생성된 bin string에 대하여 서로 다른 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 사용할 수 있다.
이하, 본 발명의 실시예에서는 이진화 방법 및 부호화 방법과 복호화 방법 및 역 이진화 방법에 대해 개시한다.
도 4 내지 도 9는 본 발명의 실시예에 따른 이진화 방법 및 부호화 방법을 나타낸다.
도 4는 본 발명의 실시예에 따른 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 하나의 부호화 방법을 사용하여 부호화하는 방법을 나타낸 순서도이다.
도 4를 참조하면, 구문 요소 값을 이진화한다(단계 S400).
단계 S400에서는 구문 요소 값에 대하여 하나의 이진화 방법을 통해 bin string을 산출할 수 있다. 하나의 이진화 방법이란, 구문 요소 값에 따라 이진화 방법이 변하지 않고 하나의 이진화 방법을 사용하는 것을 말하는 것으로서 표 2를 예를 들면, cu_qp_delta 구문 요소 값은 표 1에서 정의된 pseudo code에 의한 하나의 이진화 방법을 통해 bin string을 생성할 수 있다. 표 1의 경우 구문 요소 값에 대하여 bin string을 생성함에 있어서, 표 1-2에서 전술한 바와 같이 제1 bin string과 제2 bin string을 구분하여 산출할 수 있다. 표 1과 같은 이진화 방법을 사용할 경우 구문 요소의 값에 대하여 제1 bin string 및 제2 bin string을 생성하고 이를 기초로 제1 bin string 및 제2 bin string을 포함하는 bin string을 생성할 수 있다.
또 다른 구문 요소 값의 이진화 방법의 예로서, 하나의 bin sting을 생성하기 위해 TU(truncated unary), 지수 골룸 (Exp-golomb), 혹은 고정길이 (fixed length) 이진화 방법이 사용될 수 있다.
bin string을 부호화한다(단계 S410).
생성된 bin string은 하나의 부호화 방법을 통해 부호화될 수 있다. 하나의 부호화 방법을 통해 부호화 된다는 의미는 구문 요소 값에 따라 생성된 bin string이 하나의 고정된 부호화 방법을 사용하여 부호화된다는 의미이다. 즉, bin string이 1)regular coding, 2)bypass coding, 3) regular coding + bypass coding 4) bypass coding + regular coding 중 하나의 부호화 방법으로 bin string이 부호화될 수 있다. 3) 혹은 4) 부호화 방법을 사용하여 부호화 할 때 소정의 조건을 기초로 하나의 bin string에서 부호화 방법을 전환할 수 있다. 예를 들어, bin sting에 대하여 regular coding (혹은 bypass coding) 을 수행하다 bin string이 소정의 조건을 만족할 때 그 이후의 bin sting에 대하여 bypass coding (혹은 regular coding) 을 수행한다.
도 5는 본 발명의 실시예에 따른 하나의 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 방법을 사용하여 부호화하는 방법을 나타낸 순서도이다.
도 5는 예를 들어, 표 2에서 전술한 구문 요소값에 따른 bin string이 regular coding 및 bypass coding을 이용하여 부호화하는 방법을 나타낼 수 있다.
도 5를 참조하면, 구문 요소 값을 이진화하여 bin string을 생성한다(단계 S500).
도 4의 단계 S400에서 전술한 바와 마찬가지로 구문 요소 값에 대하여 하나의 이진화 방법을 사용하여 bin string을 산출할 수 있다.
bin string을 제1 부호화 방법으로 부호화한다(단계 S510).
구문 요소의 bin string은 하나의 고정된 부호화 방법이 아닌 조건에 따라 적어도 하나의 다른 부호화 방법을 추가적으로 사용하여 부호화를 수행할 수 있다. 예를 들어 하나의 구문 요소 값에 대한 bin string에 대하여 소정의 임계값을 기초로 1) 구문 요소 값이 임계값보다 작은 경우 bin string에 대해 regular coding을 수행하고, 2) 구문 요소 값이 임계값보다 크거나 같은 경우, bin string의 일부에 regular coding을 수행하고 나머지 일부에 bypass coding을 수행할 수 있다.
예를 들어, 도 5에서 제1 부호화 방법은 regular coding을 의미하고 제2 부호화 방법은 bypass coding을 의미할 수 있다. bin string은 1) regular coding 방법을 사용하여 부호화하는 bin string과 2) regular coding과 bypass coding 방법을 모두 사용하여 부호화하는 bin string으로 구분 될 수 있다.
즉, 제1 부호화 방법(regular coding)의 경우 모든 bin string에 사용될 수 있고 우선 bin string에 대하여 regular coding을 수행할 수 있다.
제2 부호화 방법을 사용할지 여부를 판단한다(단계 S520).
전술한 바와 같이 bin string에는 구문 요소 값에 따라 제1 부호화 방법(regular coding)만으로 부호화되는 bin string과 제1 부호화 방법(regular coding)과 제2 부호화 방법(bypass coding) 방법을 모두 사용하는 bin string이 존재할 수 있다. 따라서 bin stirng이 추가적으로 제2 부호화 방법을 사용하는 bin string인지 여부를 판단할 수 있다.
bin string을 제2 부호화한다(단계 S530).
단계 S520을 통한 판단 결과 bin string이 추가적으로 제2 부호화를 수행하는 bin string인 경우 bin string에 대하여 제2 부호화를 수행할 수 있다.
bitstream을 생성한다(단계 S540).
단계 S520을 통한 판단 결과 제2 부호화 방법을 사용하지 않는 경우 bin string에 대해 제1 부호화만을 수행한 결과를 기초로 bit stream을 생성할 수 있다. 또한 단계 S520을 통한 판단 결과 bin string이 제2 부호화 방법을 사용하는 경우는 단계 S510 및 단계 S530을 통해 bin string에 대해 제1 부호화 방법 및 제2 부호화 방법을 사용하여 bitstream을 생성할 수 있다.
도 6은 본 발명의 실시예에 따른 복수개의 이진화 방법을 생성된 bin string에 대하여 하나의 부호화 방법을 사용하여 bitstream을 생성하는 방법을 나타낸 순서도이다.
도 6을 참조하면, 구문 요소 값을 제1 이진화한다(단계 S600).
구문 요소 값을 이진화 하는 방법으로 예를 들어, 구문 요소 값에 따라 1) 제1 이진화 방법만을 사용하거나 2) 제1 이진화 방법에 추가적으로 제2 이진화 방법을 사용하여 구문 요소 값에 대한 bin string을 생성할 수 있다. 예를 들어, 제1 이진화 방법으로 표 2에서 전술한 이진화 방법을 사용하고 제2 이진화 방법으로 FL을 사용하거나 또는 제1 이진화 방법으로 TU를 사용하고 제2 이진화 방법으로 FL을 사용할 수 있다. 제1 이진화 방법으로 산출된 bin string을 제1 bin string이라고 하고 제2 이진화 방법으로 산출된 bin strng을 제2 bin string이라고 할 수 있다.
위와 같은 경우 구문 요소 값에 대한 이진화 방법으로 제1 이진화 방법이 먼저 수행되므로 우선적으로 구문 요소 값에 제1 이진화를 수행하여 bin string을 생성한다.
제2 이진화 방법을 사용할지 여부를 판단한다(단계 S610).
전술한 바와 같이 구문 요소값 중에 제1 이진화 방법만을 사용하는 구문 요소값과 제1 이진화 방법에 추가적으로 제2 이진화 방법을 사용하는 구문 요소값이 존재할 수 있으므로 bin string에 대하여 제2 이진화 방법을 사용할지 여부를 판단이를 판단한다
구문 요소값을 제2 이진화한다(단계 S620).
단계 S610을 통한 판단 결과 구문 요소 값에 대하여 제2 이진화를 수행하는 경우 구문 요소값에 대하여 추가적으로 제2 이진화를 수행한다.
bin string을 생성한다(단계 S630).
제1 이진화 방법만 사용하는 bin string의 경우 단계 S600을 통해 bin string을 산출하고 제1 이진화 방법 및 제2 이진화 방법을 사용하는 bin string의 경우 단계 S600 및 단계 S620을 통해 bin string을 산출할 수 있다.
단계 S630을 통해 생성된 bin string을 부호화하여 bitstream을 생성한다(단계 S640).
bin string이 1)regular coding, 2)bypass coding, 3) regular coding + bypass coding 4) bypass coding + regular coding 중 하나의 부호화 방법으로 bin string이 부호화될 수 있다. 3) 혹은 4) 부호화 방법을 사용하여 부호화 할 때 소정의 조건을 기초로 하나의 bin string에서 부호화 방법을 전환할 수 있다. 예를 들어, bin sting에 대하여 regular coding (혹은 bypass coding) 을 수행하다 bin string이 소정의 조건을 만족할 때 그 이후의 bin sting에 대하여 bypass coding (혹은 regular coding) 을 수행한다.
본 발명의 또 다른 실시예로 두개의 이진화 방법이 항상 사용되는 것도 가능하다. 예를 들어, 구문 요소값에 대하여 두개의 이진화 방법을 동시에 사용할 수도 있다. 예를 들어, 구문 요소 값에 대하여 TU를 이용한 이진화 방법과 지수 골룸 이진화 방법을 모두 사용하여 bin string을 생성할 수 있으면, TU를 이용하여 생성한 bin string을 제1 bin string, 지수 골룸 이진화 방법을 사용하여 생성한 bin string을 제2 bin string이라고 할 수 있다. 즉, 구문 요소 값에 따른 bin string에는 서로 다른 이진화 방법에 의해 생성된 제1 bin string과 제2 bin string이 포함될 수 있다. 위와 같은 이진화를 수행한 경우 제1 bin string은 regular coding되고 상기 제2 bin string은 bypass coding을 수행할 수 있다.
도 7은 본 발명의 실시예에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 하나의 부호화 방법을 기초로 부호화하는 방법을 나타낸 개념도이다.
구문 요소 값에 대하여 제1 이진화 방법을 수행할지 여부를 판단한다(단계 S700).
구문 요소 값에 대하여 복수개의 이진화 방법이 사용될 수 있다. 예를 들어, 표 5에서 전술한 바와 같이 구문 요소 값이 임계값 이하인 경우 사용되는 이진화 방법과 구문 요소 값이 임계값을 초과한 경우 사용되는 이진화 방법이 서로 다를 수 있다.
예를 들어, 제1 이진화 방법으로 표 2에서 전술한 이진화 방법이 사용되고 제2 이진화 방법으로 bin string의 전단에서는 표 2에서 전술한 이진화 방법이 사용되고 bin string의 후단에서는 고정 길이 이진화 방법이 사용되는 것과 같이 제2 이진화 방법은 제1 이진화 방법에 추가적인 이진화 방법을 사용하여 이진화를 수행하는 방법을 의미할 수 있다.
단계 S700은 서로 다른 이진화 방법을 사용한 경우를 구문 요소 값에 대하여 어떠한 이진화 방법을 사용할지 여부를 판단하기 위한 단계로서 이러한 판단을 수행하는 다양한 방법(예를 들어, 구문 요소 값에 대하여 제2 이진화 방법을 사용할지 여부에 대한 판단을 수행하는 단계)이 수행될 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
구문 요소 값에 대해 제1 이진화 방법을 기초로 bin string을 생성한다 (단계 S710).
단계 S700을 통한 판단 결과 소정의 구문 요소 값에 대한 이진화 방법으로 제1 이진화 방법을 수행하는 경우, 구문 요소 값을 제1 이진화 하여 bin string을 생성할 수 있다.
구문 요소 값에 대해 제2 이진화를 수행한다(단계 S720).
단계 S700을 통한 판단 결과 소정의 구문 요소 값에 대한 이진화 방법으로 제2 이진화 방법을 수행하는 경우, 구문 요소 값을 제2 이진화하여 bin string을 생성할 수 있다.
단계 S710 또는 S720의 이진화 결과를 통해 bin string을 생성한다(단계 S730).
생성된 bin string은 하나의 부호화 방법을 통해 부호화될 수 있다.(S740) 즉, 구문 요소값에 따라 생성된 bin string이 하나의 고정된 부호화 방법을 사용하여 부호화될 수 있다. 예를 들어, bin string이 1) regular coding, 2)bypass coding, 3) regular coding + bypass coding, 4) bypass coding + regular coding 중 하나의 부호화 방법으로 부호화될 수 있다. 3) 혹은 4) 부호화 방법을 사용하여 부호화 할 때 소정의 조건을 기초로 하나의 bin string에서 부호화 방법을 전환할 수 있다. 예를 들어, bin sting에 대하여 regular coding (혹은 bypass coding) 을 수행하다 bin string이 소정의 조건을 만족할 때 그 이후의 bin sting에 대하여 bypass coding (혹은 regular coding) 을 수행한다.
도 8은 본 발명의 실시에에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 수행하는 방법을 나타낸 개념도이다.
도 8의 단계 S800 내지 단계 S820은 서로 다른 이진화 방법을 사용하는 경우를 나타내는 것으로서 전술한 도 6의 단계 S600 내지 단계 S620과 동일하게 수행될 수 있다.
단계 S800 내지 S820을 통해 Bin string을 생성한다.(S830)
도 8의 단계 S840 내지 단계 S860은 서로 다른 부호화 방법으로 부호화를 수행하는 것으로서 도 5의 단계 S510 내지 단계 S530과 동일한 방법으로 수행될 수 있다.
단계 S840 내지 단계 S860을 통해 Bit-stream을 생성한다.
도 9은 본 발명의 실시예에 따른 서로 다른 이진화 방법을 사용하여 생성된 bin string에 대하여 서로 다른 부호화 수행하는 방법을 나타낸 개념도이다.
도 9에서 단계 S900 내지 단계 S920은 구문 요소 값에 대하여 서로 다른 이진화 방법을 사용하여 bin string을 생성하는 단계를 나타낸 것으로서 도 7의 단계 S700 내지 단계 S720과 동일하게 수행될 수 있다.
단계 S910 또는 S920의 이진화 결과를 통해 Bin string을 생성한다.(S930)
단계 S940 내지 단계 S960은 생성된 bin string을 서로 다른 부호화 방법을 사용하여 부호화하는 것으로서 예를 들어, 구문 요소 값에 따라 제1 부호화 방법(regular coding)방법 또는 제2 부호화 방법(bypass coding) 방법을 사용하여 부호화를 수행할 수 있다.
bin string을 제1 부호화 방법으로 부호화할지 여부를 판단한다(단계 S940).
구문 요소의 bin string은 하나의 고정된 부호화 방법이 아닌 조건에 따라 서로 다른 부호화 방법을 사용하여 부호화를 수행할 수 있다. 예를 들어 하나의 구문 요소 값에 대한 bin string에 대하여 소정의 임계값을 기초로 1) 구문 요소 값이 임계값보다 작은 경우 bin string에 대해 regular coding을 수행하고, 2) 구문 요소 값이 임계값보다 크거나 같은 경우, bypass coding을 수행할 수 있다.
즉, 소정의 bin string이 제1 부호화 방법(예를 들어, regular coding)을 기초로 부호화를 수행할지 여부를 판단하여 bin string에 따라 서로 다른 부호화를 수행할 수 있다.
bin string을 제1 부호화 방법으로 부호화한다(단계 S950).
단계 S940을 통한 판단 결과 bin string이 제1 부호화 방법을 사용하여 부호화를 수행하는 bin string인 경우 제1 부호화(예를 들어, regular coding)를 수행하여 bitstream을 생성할 수 있다.
bin string을 제2 부호화 방법으로 부호화한다(단계 S960).
단계 S940을 통한 판단 결과 bin string이 제1 부호화 방법을 사용하여 부호화를 수행하는 bin string이 아닌 경우, 제2 부호화(예를 들어, Regular + bypass coding)를 수행하여 bitstream을 생성할 수 있다.
만약 구문 요소 값이 이미 이진화가 되어있는 값인 경우 전술한 도 4 내지 도 9에서 구문 요소 값을 이진화하는 단계는 수행되지 않을 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
도 10 내지 도 13은 본 발명의 실시예에 따른 역 이진화 방법 및 복호화 방법을 나타낸다.
도 10은 본 발명의 실시예에 따른 하나의 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 10을 참조하면, bitstream을 복호화하여 bin string을 생성한다(단계 S1000).
복호화 단계에서는 bitstream을 생성하기 위해 사용한 부호화 방법을 기초로 복호화를 수행하여 bin string을 생성할 수 있다. 예를 들어, 부호화 방법으로 regular coding 방법 또는 bypass coding 방법 중 하나의 방법을 사용할 수 있고 이러한 부호화 방법을 기초로 복호화 방법을 수행하여 bin string을 생성할 수 있다. 즉, 도 10의 단계 S1000은 bin string이 하나의 부호화 방법으로 부호화된 경우 복호화하는 방법을 나타낸 것이다.
따라서, 단계 S1000에서는 복호화 방법 1) regular decoding, 2)bypass decoding 중 부호화가 수행된 방법에 따라 하나의 고정된 복호화 방법으로 복호화를 수행할 수 있다.
bin string을 역 이진화하여 구문 요소 값을 생성한다(단계 S1010).
부호화부에서 bin string을 생성하기 위해 사용한 이진화 방법을 기초로 bin string을 역 이진화 하여 구문 요소 값을 생성할 수 있다.
예를 들어, 부호화부에서는 하나의 이진화 과정을 통해 bin string을 산출할 수 있다. 표 2를 예를 들면, cu_qp_delta 구문 요소값은 표 1에서 정의된 pseudo code에 의한 하나의 이진화 방법을 통해 bin string을 생성할 수 있다. 이러한 경우 pseudo code를 이용해 역으로 bin string을 입력값으로 구문 요소 값을 산출하거나, 미리 정의된 bin string과 구문 요소 값 사이의 매핑 테이블을 이용하여 구문 요소값을 산출할 수 있다.
도 11은 본 발명의 실시예에 따른 서로 다른 복호화 방법으로 생성된 bin string에 대하여 하나의 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 11을 참조하면, bitstream을 제1 복호화한다(단계 S1100).
bin string을 부호화시 구문 요소 값에 따라 1) regular coding을 사용하여 부호화하거나 2) regualr coding과 bypass coding을 모두 사용하여 부호화를 수행한 경우가 있을 수 있다. 따라서, 복호화시에 이를 구분하여 regular coding에 대한 복호화인 regular decoding 만을 사용하여 복호화를 수행하는 경우와 bypass coding에 대한 복호화인 bypass decoding을 regular decoding에 추가로 사용하는 경우를 구분하여 복호화를 수행할 수 있다.
제1 부호화 방법(regular coding)은 bin string을 부호화시 항상 사용되었으므로 우선 bitstream에 대하여 제1 복호화 방법(regular decoding)을 수행할 수 있다.
제2 복호화 방법을 사용하였는지 여부를 판단한다(단계 S1110).
bin string에 따라 추가로 제2 부호화 방법(bypass coding)을 사용한 bin string이 존재할 수 있다. 따라서 제2 부호화 방법(bypass coding)에 대한 복호화 과정인 제2 복호화 방법(bypass decoding)을 수행할지 여부를 판단한다.
bitstream을 제2 복호화한다(단계 S1120).
단계 S1110을 통한 판단 결과 bypass decoding을 통해 bit stream을 추가로 복호화할 수 있다.
bin string을 생성한다(단계 S1130).
단계 S1100 또는 단계 S1120을 통해 생성된 bin string을 합하여 bin string을 생성할 수 있다.
bin string을 역이진화하여 구문 요소 값을 생성한다(단계 S1140).
bin string을 부호화 시 사용한 이진화 방법에 기초하여 역이진화 과정을 수행함으로서 구문 요소값을 산출할 수 있다. 역 이진화 과정은 pseudo code를 이용해 역으로 bin string을 입력값으로 구문 요소 값을 산출하거나, 미리 정의된 bin string과 구문 요소 값 사이의 매핑 테이블을 이용하여 구문 요소값을 산출할 수 있다.
도 12는 본 발명의 실시예에 따른 하나의 복호화 방법으로 생성된 bin string에 대하여 서로 다른 역 이진화 방법을 사용하여 구문 요소 값을 산출하는 방법을 나타낸 순서도이다.
도 12를 참조하면, bitstream을 복호화하여 bin string을 생성한다(단계 S1200).
bitstream에 대해 하나의 복호화 방법이 사용된 경우로서 regualr decoding 또는 bypass decoding 방법을 기초로 복호화를 수행해 bitstream으로 부터 bin string을 산출할 수 있다.
bin string을 기초로 제1 역 이진화를 수행한다(단계 S1210).
bin string은 구문 요소 값에 따라 하나의 이진화 방법(제1 이진화 방법)을 사용하여 생성된 bin string이거나 구문 요소 값에 따라 복수개의 이진화 방법(제1 이진화 방법+제2 이진화 방법)을 기초로 생성된 bin string일 수 있다. 따라서 이를 구분하여 우선 생성된 bin string에 제1 역 이진화를 수행할 수 있다.
제1 이진화 방법으로 표 2에서 전술한 이진화 방법, 제2 이진화 방법으로 FL 이진화 방법이 사용되거나 제1 이진화 방법으로 TU 이진화 방법, 제2 이진화 방법으로 FL 이진화 방법이 사용될 수 있다.
제2 역 이진화를 수행할지 여부를 판단한다(단계 S1220).
bin string 중 추가적으로 제2 이진화 방법을 사용하여 산출된 bin string이 존재하는 경우 제2 역 이진화 방법을 사용하여 추가적으로 bin string을 역 이진화할 수 있다. 제1 이진화 방법만을 사용하여 생성된 bin string의 경우 제2 역이진화를 수행하지 않을 수 있다.
제2 역 이진화를 수행할지 여부를 판단하는 단계에서 미리 정하여진 임계값이 사용될 수 있다. 상기 미리 정하여진 임계값은 이진화 과정에서 정하여진 임계값일 수 있다.
bin string에 대해 제2 역이진화를 수행한다(단계 S1230).
단계 S1220을 통한 판단 결과 제2 이진화 방법으로 산출된 bin string은 제2 역 이진화 방법을 추가적으로 수행한다.
구문 요소 값을 생성한다(단계 S1240).
단계 S1210 또는 단계 S1230을 통해 수행된 역이진화 결과를 기초로 구문 요소 값을 산출할 수 있다.
도 13은 본 발명의 실시예에 따른 서로 다른 복호화 방법과 서로 다른 역 이진화 방법을 기초로 구문 요소값을 생성하는 방법을 나타낸 순서도이다.
도 13을 참조하면, 단계 S1300 내지 단계 S1330까지는 서로 다른 복호화 방법을 기초로 복호화 과정을 수행하는 것으로서 도 11의 단계 S1100 내 지 단계 S1130에서 수행된 복호화 방법과 동일한 방법으로 복호화를 수행할 수 있다.
단계 S1340 내지 단계 S1360은 서로 다른 역 이진화 방법으로 구문 요소값을 산출하는 방법으로서 도 12 단계 S1210 내지 단계 S1240와 동일한 방법으로 수행될 수 있다.
도 13의 또 다른 실시예로서 부호화 과정에서 전술한 바와 같이 하나의 구문 요소 값에 대하여 두개의 이진화 방법을 사용하고 각각의 이진화 방법에 대하여 서로 다른 부호화를 수행하는 방법도 가능하다.
예를 들어, 부호화 과정에서 구문 요소 값에 대하여 TU를 이용한 이진화 방법과 지수 골룸 이진화 방법을 모두 사용하여 bin string을 생성한 경우로서 TU를 이용하여 생성한 제1 bin string과 지수 골룸 이진화 방법을 사용하여 생성한 제2 bin string에 대하여 각각 제1 bin string은 regular coding되고 상기 제2 bin string은 bypass coding을 수행한 경우를 가정할 수 있다.
이러한 경우, 입력된 bitstream에 서로 다른 복호화 방법에 의해 복호화를 수행하여 산출된 제1 bin string과 제2 bin string을 서로 다른 역 이진화 방법을 수행하여 구문 요소를 산출할 수 있다.
도 10 내지 도 13에서 구문 요소 값을 역 이진화함에 있어서 pseudo code를 기초로 입력된 bin string으로 구문 요소 값을 생성할 수도 있지만 미리 저장된 구문 요소 값과 이진 부호 사이의 매핑 테이블을 기초로 bin string에 따른 구문 요소 값을 생성하는 것도 가능하다.
이하, 도 14 및 도 15은 도 4 내지 도 9에서 개시된 부호화 방법 및 이진화 방법을 수행하는 영상 부호화 장치에 대해 개시한다.
도 14는 본 발명의 실시예에 따른 영상 부호화 장치의 일부를 나타낸 개념도이다.
도 14를 참조하면, 영상 부호화 장치는 이진화부(1400)와 부호화부(1430)을 포함할 수 있다.
이진화부(1400)는 제1 이진화부(1410)과 제2 이진화부(1420)를 포함할 수 있다. 제1 이진화부(1410)에서는 전술한 바와 같은 제1 이진화 방법을 사용한 이진화를 수행할 수 있고 제2 이진화부(1420)에서는 전술한 바와 같은 제2 이진화 방법을 사용한 이진화를 수행할 수 있다. 제2 이진화 방법이 제1 이진화 방법에 다른 이진화 방법을 추가적으로 사용하는 방법일 경우 제2 이진화부(1420)는 제1 이진화부(1420)로부터 이진화된 정보를 얻을 수 있다.
하나의 bin string에 대하여 제1 bin string과 제2 bin string이 산출되는 경우 제1 이진화부(1410)는 제1 bin string을 산출하는 구성부로 제2 이진화부(1420)는 제2 bin string을 산출하는 구성부로 해석될 수 있다.
제1 이진화부(1410)과 제2 이진화부(1420)은 두 가지의 이진화 방법이 서로 다르게 수행된다는 것을 설명하기 위해 편의상 구분하여 도시한 것으로서 하나의 구성부로 이루어질 수 있다.
부호화부(1430)는 제1 부호화부(1440)과 제2 부호화부(1450)을 포함할 수 있다. 제1 부호화부(1430)는 입력된 bin string에 대하여 regular coding을 수행할 수 있다. 제2 부호화부(1450)는 입력된 bin string에 대하여 bypass coding을 수행하는 부호화부 또는 bypass coding과 regular coding을 모두 수행하는 부호화부로 해석될 수 있다.
전술한 바와 같이 입력된 bin string에 대하여 일부의 bin에 대해서는 regular coding을 수행하고 일부의 bin에 대해서는 bypass coindg을 수행할 경우 제1 부호화부에서 일부의 bin에 대해서 bypass coding을 수행하고 나머지 bin에 대해 제2 부호화부(1450)에서 일부의 bin에 대해 regular coding을 수행할 수 있다.
또 다른 예로 제2 부호화부(1450)에서 bypass coding과 regular coding을 모두 수행되는 경우 제2 부호화부(1450)에 입력된 bin string에 대하여 bypass coding 및 regular coding이 모두 수행될 수 있다.
부호화부(1430)를 거친 bin string은 bitstream으로 생성될 수 있다.
도 14는 두 가지의 이진화 방법과 두 가지의 부호화 방법을 모두 사용할 경우를 가정하여 설명한 것이다. 한 가지의 부호화 방법만을 사용하는 경우에는 제1 부호화부(1440) 및 제2 부호화부(1450) 중 하나의 부호화부 만이 사용될 수 있다. 또한 한 가지의 이진화 방법만을 사용하는 경우 제1 이진화부(1410) 및 제2 이진화부(1420) 중 하나의 이진화부 만이 사용될 수 있다.
도 15는 본 발명의 실시예에 따른 영상 부호화 장치의 일부를 나타낸 개념도이다.
도 15를 참조하면, 도 14과 유사하나 도 14의 이진화부(1400)과 달리 이진화부에 구문 요소와 bin string 사이에 매핑 테이블(1520)이 저장되어 매핑 테이블에 따라 입력된 구문 요소값에 대한 bin string이 산출될 수 있다.
이하, 도 16 및 도 17은 도 10 내지 도 13에서 개시된 복호화 방법 및 역이진화 방법을 수행하는 영상 복호화 장치에 대해 개시한다.
도 16은 본 발명의 실시예에 따른 영상 복호화 장치의 일부를 나타낸 개념도이다.
도 16을 참조하면, 영상 복호화 장치는 복호화부(1600)와 역이진화부(1650)를 포함할 수 있다.
복호화부(1600)는 제1 복호화부(1610)과 제2 복호화부(1620)을 포함할 수 있다. 제1 복호화부(1610)는 제1 부호화 방법에 의해 생성된 bitstream을 복호화할 수 있고 제2 복호화부(1620)는 제2 부호화 방법에 의해 생성된 bitstream을 복호화할 수 있다.
예를 들어, 제1 복호화부(1610)에서는 bypass coding을 수행한 bitstream에 대한 복호화를 수행할 수 있고, 제2 복호화부(1620)에서는 regular coding을 수행한 bitstream에 대한 복호화를 수행할 수 있다.
다른 실시예로서 제1 복호화부(1610)에서는 regular coding 또는 bypass coding 중 하나의 방법으로 부호화된 bitstream에 대한 복호화가 수행되고 제2 복호화부(1620)에서는 하나의 bin string에 대해 bypass coding과 regular coding을 수행한 bitstream을 복호화하여 bin string을 생성할 수 있다.
역 이진화부(1650)는 제1 역이진화부(1630)과 제2 역이진화부(1640)을 포함할 수 있다. 제1 역이진화부(1630)는 제1 이진화 방법에 의해 이진화된 bin string에 을 역 이진화하여 구문 요소 값을 산출할 수 있고 제2 역 이진화부(1640)는 제2 이진화 방법에 의해 이진화된 bin string을 역 이진화하여 구문 요소 값을 산출할 수 있다.
구문 요소의 임계값에 따라 제1 이진화 방법과 제2 이진화 방법이 구분되어 부호화되고 이에 따라 제1 역 이진화 방법과 제2 역 이진화 방법이 사용될 수 있다. 또 다른 예로서 부호화 단계에서 하나의 bin string에 대하여 두 가지의 이진화 방법이 사용되어 제1 bin string과 제2 bin string이 생성된 경우, 제1 역이진화부(1630) 및 제2 역 이진화부(1640)에서는 각각의 제1 bin string 및 제2 bin string을 역 이진화하여 구문 요소 값을 생성할 수 도 있다.
도 16은 본 발명의 실시예에 따른 두 가지의 역 이진화 방법과 두 가지의 복호화 방법을 모두 사용할 경우를 가정하여 설명한 것이다. 한 가지의 복호화 방법만을 사용하는 경우에는 제1 복호화부(1610) 및 제2 복호화부(1620) 중 하나의 복호화부만이 사용될 수 있다. 또한 한 가지의 역 이진화 방법만을 사용하는 경우 제1 역 이진화부(1610) 및 제2 역 이진화부(1620) 중 하나의 이진화부 만이 사용될 수 있다.
도 17은 본 발명의 실시예에 따른 영상 복호화 장치의 일부를 나타낸 개념도이다.
도 17을 참조하면, 도 16과 유사하나 도 16의 역 이진화부(1650)과 달리 역 이진화부(1630)에 구문 요소와 bin string 사이에 매핑 테이블(1640)이 저장되어 매핑 테이블에 따라 입력된 구문 요소 값에 대한 bin string이 산출될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 구문 요소의 값에 대하여 제1 bin string을 생성하는 단계;
    상기 구문 요소의 값에 대하여 제2 bin string을 생성하는 단계; 및
    상기 구문 요소의 값에 대해 상기 제1 bin string 및 상기 제2 bin string을 포함하는 bin string을 생성하는 단계를 포함하는 영상 부호화 방법.
  2. 제1항에 있어서, 상기 bin string은,
    상기 구문 요소가 cu_qp_delta인 경우, 상기 제1 bin string은 상기cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string이고 상기 제2 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string인 영상 부호화 방법.
  3. 제2항에 있어서,
    상기 binstring에서 0이 나오는 bin까지는 regular coding하고 상기 0 이후에 나오는 bin string은 bypass coding하는 단계를 더 포함하는 영상 부호화 방법.
  4. 제1항에 있어서,
    상기 구문 요소는 cu_qp_delta이고 상기 cu_qp_delta의 값이 임계값 이하이면 이진화값으로 제1 bin string을 가지고 상기 cu_qp_delta의 값이 임계값 초과이면 이진화값으로 제2 bin string을 가지고,
    상기 제1 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string을 포함한 bin string이고,
    상기 제2 bin string은 임계값에 해당하는 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 고정 길이 이진화 방법을 기초로 산출된 bin string을 포함한 bin string인 영상 부호화 방법.
  5. 제4항에 있어서,
    상기 제1 bin string 및 상기 제2 bin string은 regular coding이 수행되는 최대 bin의 위치 내에 존재하는 첫 번째 0값을 가진 bin까지 regular coding을 수행하는 단계; 및
    상기 regular coding이 수행되고 남은 bin string을 bypass coding하는 단계를 더 포함하는 영상 부호화 방법.
  6. 제1항에 있어서, 상기 bin string은,
    상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string인 영상 부호화 방법.
  7. 제6항에 있어서,
    상기 제1 bin string은 regular coding되고 상기 제2 bin string은 bypass coding되는 단계를 더 포함하는 영상 부호화 방법.
  8. 구문 요소 정보를 포함한 bitstream을 복호화하여 제1 bin string 및 제2 bin string을 산출하는 단계; 및
    상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계를 포함한 영상 복호화 방법.
  9. 제8항에 있어서, 상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계는,
    상기 구문 요소는 cu_qp_delta이고 상기 구문 요소의 값에 따라 산출되는 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계를 이용하여 구문 요소 값을 산출하는 단계로서 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계는,
    상기 제1 bin string은 상기cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string이고 상기 제2 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string인 영상 복호화 방법.
  10. 제8항에 있어서,
    상기 제1 bin string은 상기 bitstream을 regular decoding하여 0이 나오기 전까지 생성된 binstring이고 상기 제2 bin string은 regular decoding된 0과 나머지 bitstream을 bypass decoding하여 생성된 binstring인 영상 복호화 방법.
  11. 제8항에 있어서, 상기 제1 bin string 및 상기 제2 bin string을 기초로 생성된 bin string과 구문 요소 값의 관계를 이용하여 구문 요소 값을 산출하는 단계는,
    상기 구문 요소는 cu_qp_delta이고 상기 구문 요소 값은 상기 제1 bin string과 상기 제2 bin string을 포함한 bin string과 관계를 기초로 산출하는 단계로서 제1 bin string 및 제2 bin string과 구문 요소 값 사이의 관계는,
    cu_qp_delta의 값이 임계값 이하이면 이진화 결과로 제1 bin string을 가지고 cu_qp_delta의 값이 임계값 초과이면 이진화 결과로 제2 bin string을 가지고,
    상기 제1 bin string은 상기 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 1인 경우 ‘00’, 상기 cu_qp_delta의 절대값을 2로 나눈 나머지가 0인 경우 ‘01’인 bin string을 포함한 bin string이고, 상기 제2 bin string은 임계값에 해당하는 cu_qp_delta의 절대값을 2로 나눈 몫을 버림 한 값에 상기 cu_qp_delta의 절대값을 2로 나눈 나머지를 더한 수만큼 동일한 개수의 1을 나열한 bin string과 고정 길이 이진화 방법을 기초로 산출된 bin string을 포함한 bin string인 영상 복호화 방법.
  12. 제11항에 있어서,
    regular coding이 수행되는 최대 bin의 위치 내에 존재하는 첫번째 0값을 가진 bin이 생성될 때까지 상기 bitstream을 regular decoding을 수행하는 단계; 및
    나머지 bin string을 생성하기 위해 상기 bitstream을 bypass decoding하는 단계를 더 포함하는 영상 복호화 방법.
  13. 제8항에 있어서, 상기 제1 bin string 및 상기 제2 bin string은,
    상기 제1 bin string은 지수 골룸 이진화 방법을 사용하여 산출되는 bin string이고 상기 제2 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string인 영상 복호화 방법.
  14. 제13항에 있어서,
    상기 제1 bin string은 regular decoding되고 상기 제2 bin string은 bypass decoding되는 단계를 더 포함하는 영상 복호화 방법.
  15. 구문 요소 값에 대해 제1 bin string 및 제2 bin string을 생성하는 이진화부; 및
    상기 제1 bin string 및 상기 제2 bin string을 포함하는 bin string을 부호화하여 상기 구문 요소 값을 bitstream으로 생성하는 부호화부를 포함하는 영상 부호화 장치.
  16. 제15항에 있어서, 부호화부는,
    상기 제1 bin string에 대하여 regular coding을 수행하고 상기 제2 bin string에 대하여 bypass coding을 수행하는 부호화부인 영상 부호화 장치.
  17. 제15항에 있어서, 상기 제1 bin string 및 상기 제2 bin string은,
    상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string인 영상 부호화 장치.
  18. 구문 요소 정보를 포함한 bitstream을 복호화하여 구문 요소에 대한 제1 bin string 및 제2 bin string을 생성하는 복호화부; 및
    상기 제1 bin string 및 상기 제2 bin string을 포함한 bin string을 기초로 역 이진화를 수행하여 구문 요소 값을 산출하는 역 이진화부를 포함하는 영상 복호화 장치.
  19. 제18항에 있어서, 상기 복호화부는,
    상기 제1 bin string에 대하여 regular decoding을 수행하고 상기 제2 bin string에 대하여 bypass decoding을 수행하는 복호화부인 영상 부호화 장치.
  20. 제18항에 있어서, 상기 제1 bin string 및 상기 제2 bin string은,
    상기 제1 bin string은 TU(truncated unary)를 사용하여 산출되는 bin string이고 상기 제2 bin string은 지수 골룸 이진화(Exp-Golomb)를 사용하여 산출되는 bin string인 영상 복호화 장치.
KR1020120070712A 2012-06-29 2012-06-29 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치 KR20140004825A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120070712A KR20140004825A (ko) 2012-06-29 2012-06-29 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120070712A KR20140004825A (ko) 2012-06-29 2012-06-29 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20140004825A true KR20140004825A (ko) 2014-01-14

Family

ID=50140560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120070712A KR20140004825A (ko) 2012-06-29 2012-06-29 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20140004825A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131826A (zh) * 2018-10-31 2020-05-08 上海天荷电子信息有限公司 定长码单元含多个编码参数变长码的数据压缩方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131826A (zh) * 2018-10-31 2020-05-08 上海天荷电子信息有限公司 定长码单元含多个编码参数变长码的数据压缩方法和装置

Similar Documents

Publication Publication Date Title
KR102213112B1 (ko) 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
KR101549910B1 (ko) 화면 내 예측 모드에 기초한 적응적인 변환 방법 및 이러한 방법을 사용하는 장치
KR102061201B1 (ko) 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치
KR101965388B1 (ko) 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR101974952B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR101743665B1 (ko) 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
KR20140116831A (ko) 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
KR20140039093A (ko) 무손실 부호화/복호화 방법 및 이러한 방법을 사용하는 장치
KR20130100662A (ko) 후보 화면 내 예측 모드 결정 방법 및 이러한 방법을 사용하는 장치
KR20140080884A (ko) 계층적 비디오 코딩에서 색차 블록의 화면 내 예측 모드를 복호화하는 방법 및 이러한 방법을 사용하는 장치
KR20130085603A (ko) 색차 블록의 화면 내 예측 모드 방법 및 이러한 방법을 사용하는 장치
KR20140004825A (ko) 엔트로피 부호화 및 엔트로피 복호화를 위한 구문 요소 이진화 방법 및 장치
KR102415377B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR102297268B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR102185952B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR102069784B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination