WO2011155786A2 - 엔트로피 복호화 방법 및 복호화 장치 - Google Patents

엔트로피 복호화 방법 및 복호화 장치 Download PDF

Info

Publication number
WO2011155786A2
WO2011155786A2 PCT/KR2011/004247 KR2011004247W WO2011155786A2 WO 2011155786 A2 WO2011155786 A2 WO 2011155786A2 KR 2011004247 W KR2011004247 W KR 2011004247W WO 2011155786 A2 WO2011155786 A2 WO 2011155786A2
Authority
WO
WIPO (PCT)
Prior art keywords
code number
syntax element
code
assigned
entropy
Prior art date
Application number
PCT/KR2011/004247
Other languages
English (en)
French (fr)
Other versions
WO2011155786A3 (ko
Inventor
최영희
박승욱
임재현
김정선
박준영
전병문
전용준
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2011155786A2 publication Critical patent/WO2011155786A2/ko
Publication of WO2011155786A3 publication Critical patent/WO2011155786A3/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

엔트로피 복호화 방법 및 이러한 방법을 수행하는 장치가 개시되어 있다. 엔트로피 복호화 방법은 제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하는 단계와 제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당하는 단계를 포함할 수 있다. 따라서, 영상 부호화에 필요한 비트수가 감소하여 영상 부호화 효율을 높일 수 있다.

Description

엔트로피 복호화 방법 및 복호화 장치
본 발명은 엔트로피 복호화 방법 및 복호화 장치에 관한 것으로 더욱 상세하게는 복호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명의 제1 목적은 영상 부호화 효율을 증가시키기 위한 엔트로피 복호화 방법을 제공하는 것이다.
또한, 본 발명의 제2 목적은 영상 부호화 효율을 증가시키기 위한 엔트로피 복호화 방법을 제공하는 것이다.
또한, 본 발명의 제3 목적은 영상 부호화 효율을 증가시키기 위한 엔트로피 복호화 방법을 수행하는 장치를 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 엔트로피 복호화 방법은 엔트로피 부호화 시 런 모드를 사용하였는지 여부를 판단하는 단계와 엔트로피 부호화 시 상기 런 모드를 사용한 경우, 계수의 절대값이 1인지 여부를 판단하는 제1 구문 요소 정보를 기초로 엔트로피 복호화를 수행하는 단계를 포함할 수 있다. 상기 엔트로피 부호화 시 상기 런 모드를 사용한 경우, 계수의 절대값이 1인지 여부를 판단하는 제1 구문 요소 정보를 기초로 엔트로피 복호화를 수행하는 단계는 엔트로피 부호화 시 상기 런 모드를 사용한 경우, 0이 아닌 정수 계수 이전에 존재하는 0인 계수의 개수를 나타내는 제2 구문 요소, 0이 아닌 정수 계수의 크기를 나타내는 제3 구문 요소, 0이 아닌 정수 계수의 부호를 나타내는 제4 구문 요소를 기초로 엔트로피 복호화를 수행하는 단계를 더 포함할 수 있다. 상기 엔트로피 복호화 방법은 엔트로피 부호화 시 상기 런 모드를 사용한 경우, 엔트로피 부호화된 계수의 위치가 지그 재그 스캔 방향의 역방향으로 산출된 소정의 위치값보다 큰 값을 가지거나, 상기 런 모드를 통해 엔트로피 부호화된 계수의 합이 특정값보다 크면 레벨 모드를 사용하여 엔트로피 복호화를 수행할 수 있다.
또한 상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 엔트로피 복호화 방법은 제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하는 단계와 상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 포함할 수 있다. 상기 엔트로피 복호화 방법은 상기 제1 코드 번호가 입력된 경우, 상기 제1 코드 번호의 발생 횟수를 저장하는 제1 카운터의 존재 여부를 판단하는 단계와 상기 제1 코드 번호에 상기 제1 카운터가 존재하지 않는 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 더 포함할 수 있다. 상기 엔트로피 복호화 방법은 상기 제1 코드 번호에 상기 제1 카운터가 존재하는 경우, 상기 제1 카운터에 저장된 상기 제1 코드 번호의 발생 횟수를 1 증가시키고, 상기 제1 카운터의 카운팅 횟수를 저장하는 제2 카운터의 카운팅 횟수를 1 증가시키는 단계를 더 포함할 수 있다. 상기 엔트로피 복호화 방법은 상기 제2 카운터의 카운팅 횟수가 소정의 임계값이 된 경우, 각각의 코드 번호에 할당된 복수의 제1 카운터에 저장된 각각의 코드 번호의 발생 횟수를 일정한 비율로 감소시키고, 상기 제2 카운터의 카운팅 횟수를 0으로 재설정하는 단계를 더 포함할 수 있다. 상기 엔트로피 복호화 단계는 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계를 더 포함할 수 있다. 상기 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계는 하나의 프레임 또는 하나의 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 상기 인덱스 매핑 테이블을 초기값으로 재정렬하거나 소정의 프레임 단위 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할지 여부를 결정하기 위한 인덱스 매핑 초기화 플래그를 전달받고 상기 인덱스 매핑 초기화 플래그에 기초하여 상기 인덱스 매핑 테이블을 초기화할 수 있다. 상기 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계는 이전 픽쳐를 엔트로피 복호화한 결과를 기초로 재정렬된 인덱스 매핑 테이블을 현재 픽쳐를 엔트로피 복호화하기 위해 사용하는 초기 인덱스 매핑 테이블로써 사용하거나 현재 블록을 엔트로피 복호화하기 위해 현재 블록의 주변에 존재하는 복원된 블록들에서 발생된 코드 번호만을 기초로 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용하거나, 상기 현재 블록에 공간적으로 인접한 적어도 하나의 주변 블록 또는 상기 현재 블록에 시간적으로 인접한 적어도 하나의 블록에서 발생된 코드 번호만을 기초로 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용할 수 있다. 상기 엔트로피 복호화 단계는 상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 통해 재정렬된 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 기준으로 상기 제2 코드 번호에 해당하는 코드 번호가 발생하였을 경우, 상기 제2 코드 번호에 할당되어 있던 상기 제1 구문 요소값을 상기 제2 코드 번호보다 적어도 두 단계 위에 위치한 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제2 코드 번호에 할당하는 단계를 더 포함할 수 있다.
또한 상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상 복호화 장치는 코드 번호의 발생 횟수를 기초로 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 재정렬하여 엔트로피 복호화하는 엔트로피 복호화부와 상기 엔트로피 복호화부에서 엔트로피 복호화된 계수를 기초로 현재 픽쳐의 화소 정보를 예측하는 예측부를 포함할 수 있다. 상기 엔트로피 복호화부는 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블과 상기 코드 번호의 발생 횟수를 저장하는 제1 카운터를 더 포함할 수 있다. 상기 인덱스 매핑 테이블은 제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하여, 상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 방법으로 재정렬될 수 있다. 상기 인덱스 매핑 테이블은 상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 통해 재정렬된 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 기준으로 상기 제2 코드 번호에 해당하는 코드 번호가 발생하였을 경우, 상기 제2 코드 번호에 할당되어 있던 상기 제1 구문 요소값을 상기 제2 코드 번호보다 적어도 두 단계 위에 위치한 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제2 코드 번호에 할당하는 방법으로 재정렬될 수 있다. 상기 인덱스 매핑 테이블은 제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 큰 발생 횟수를 가진 코드 번호보다 하나 작은 코드 번호를 가진 제3 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하고 상기 제1 코드 번호의 발생 횟수가 상기 제3 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드에 할당된 제1 구문 요소값을 제3 코드 번호에 할당하고 제3 코드 번호에 할당되어 있던 제3 구문 요소값을 제1 코드 번호에 할당하는 방법으로 재정렬될 수 있다. 상기 인덱스 매핑 테이블은 상기 제1 코드 번호가 입력된 경우, 상기 제1 코드 번호의 발생 횟수를 저장하는 제1 카운터의 존재 여부를 판단하고 상기 제1 코드 번호에 상기 제1 카운터가 존재하지 않는 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 방법으로 재정렬될 수 있다. 상기 인덱스 매핑 테이블은 하나의 프레임 또는 하나의 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 상기 인덱스 매핑 테이블을 초기값으로 재정렬하거나 소정의 프레임 단위 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할지 여부를 결정하기 위한 인덱스 매핑 초기화 플래그를 전달받고 상기 인덱스 매핑 초기화 플래그에 기초하여 초기화될 수 있다. 상기 엔트로피 복호화부는 상기 제1 카운터의 카운팅 횟수를 저장하는 제2 카운터를 더 포함할 수 있다. 상기 제2 카운터는 상기 제2 카운터의 카운팅 횟수가 소정의 임계값이 된 경우, 각각의 코드 번호에 할당된 복수의 제1 카운터에 저장된 각각의 코드 번호의 발생 횟수를 일정한 비율로 감소시키고, 상기 제2 카운터의 카운팅 횟수를 0으로 재설정할 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 엔트로피 복호화 방법 및 이러한 방법을 수행하는 장치에 따르면, 계수에 대한 엔트로피 부호화를 수행 시 계수의 성질에 따라 엔트로피 부호화 모드를 다르게 하여 엔트로피 부호화하고 새롭게 정의된 엔트로피 부호화 모드를 기초로 엔트로피 복호화를 수행하고, 구문 요소값과 코드 번호를 매핑하는 인덱스 매핑 테이블을 적응적으로 변화시켜 엔트로피 부호화 및 복호화를 수행할 수 있다.
따라서, 영상 부호화에 필요한 비트수가 감소하여 영상 부호화 효율을 높일 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 영상 복호화기를 나타낸 블록도이다.
도 3은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 개념도이다.
도 4는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 순서도이다.
도 5는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하는 엔트로피 부호화부를 나타낸 개념도이다.
도 6은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 순서도이다.
도 7은 본 발명의 또 다른 실시예에 따른 엔트로피 복호화 방법을 수행하는 엔트로피 복호화부를 나타낸 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 개념도이다.
도 9는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 순서도이다.
도 10은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법을 나타낸 개념도이다.
도 11은 본 발명의 또 다른 실시예에 따른 엔트로피 복호화 방법을 나타낸 순서도이다.
도 12는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하기 위한 엔트로피 부호화부를 나타낸 개념도이다.
도 13은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하기 위한 엔트로피 복호화부를 나타낸 개념도이다.
도 14는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
도 15는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 순서도이다.
도 16은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
도 17은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 순서도이다.
도 18은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 디블록킹 필터(145), ALF(Adaptive Loop Filter) (150), 메모리(155) 를 구비한다.
도 1에 나타난 각 구성부들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시한 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 부호화 단위로 분할할 수 있다. 픽쳐의 분할 단위인 부호화 단위는 영상 부호화기에서 부호화를 수행하는 하나의 단위로써 CU(Coding Unit)라는 용어로도 사용될 수 있다. 픽쳐 분할부(105)는 하나의 픽쳐에 대하여 복수의 부호화 단위 조합을 생성할 수 있다. 또한, 예를 들어, 하나의 6464 크기의 부호화 단위는 다양한 조합을 가진 예측 단위(Prediction Unit, PU)로 분할될 수 있다. 픽쳐 분할부(105)에서는 분할된 부호화 단위의 분할에 따른 분할 비용을 산출할 수 있다.
예측부(110)는 픽쳐 분할부(105)에서 제공받은 부호화 단위를 기초로 예측 블록을 생성할 수 있다. 예측부(110)에서 하나의 부호화 단위는 화면 내 예측 또는 화면 간 예측을 수행하는 적어도 하나의 예측 단위(Prediction Unit, PU)로 분할될 수 있다. 예측부(110)는 화면 간 예측부와 화면 내 예측부를 포함할 수 있다.
하나의 부호화 단위는 화면 내 예측을 수행할 것인지 아니면 화면 간 예측을 수행할 것인지에 따라 다른 크기의 예측 단위로 분할될 수 있다.
화면 간 예측부는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 단위를 예측할 수 있다. 화면 간 예측부는 참조 픽쳐 보간부, 움직임 예측부, 움직임 보상부가 포함할 수 있다.
참조 픽쳐 보간부에서는 메모리(155)로부터 참조 픽쳐 정보를 제공받고 참조 픽쳐에서 정수 화소 이하의 화소 정보를 생성할 수 있다. 휘도 화소의 경우, 1/4 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 8탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다. 색차 신호의 경우 1/8 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 4탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다.
움직임 예측부는 참조 픽쳐 보간부에 의해 보간된 참조 픽쳐를 기초로 움직임 예측을 수행할 수 있다. 움직임 벡터를 산출하기 위한 방법으로 FBMA(Full search-based Block Matching Algorithm), TSS(Three Step Search), NTS(New Three-Step Search Algorithm) 등 다양한 방법이 사용될 수 있다. 움직임 벡터는 1/2 또는 1/4 화소 단위의 움직임 벡터값을 가질 수 있다. 움직임 예측부에서는 움직임 예측 방법을 다르게 하여 현재 예측 단위를 예측할 수 있다. 움직임 예측 방법은 머지 스킵(Merge Skip) 방법, 예측 단위 머지(PU Merge) 방법, AMVP(Advanced Motion Vector Prediction)방법으로 분류될 수 있다.
화면 내 예측부는 현재 픽쳐 내의 화소 정보를 기초로 예측 단위를 예측할 수 있다. 화면 내 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플레이너 모드(Planar 모드)을 포함할 수 있다.
화면 내 예측방법은 예측 모드에 따라 참조 화소에 AIS(Adaptive Intra Smoothing) 필터를 적용한 후 예측 블록을 생성할 수 있다. 참조 화소에 적용되는 AIS 필터의 종류는 상이할 수 있다. 또한, 화면 내 예측에서는 현재 블록의 예측 모드에 따라 예측하기 위해 참조 화소를 1/8 화소 단위로 보간할 수 있다.
예측부(110)에서는 픽쳐 분할부(105)에서 제공된 부호화 단위를 기초로 최적의 예측 단위를 생성할 수 있다. 하나의 부호화 단위는 복수의 조합의 부호화 단위를 포함할 수 있으므로 하나의 부호화 단위를 가정해보면 하나의 부호화 단위에 대해서도 여러 가지 방법으로 분할된 다양한 부호화 단위 조합을 가진 복수개의 부호화 단위가 존재하여 픽쳐 분할부(105)에서 예측부(110)로 입력될 수 있다. 따라서 예측부(110)에서는 다양한 조합의 부호화 단위에 대해서 최적의 예측 단위를 생성할 수 있다.
또한, 예측부(110)에서는 예측 블록을 생성하고 생성된 예측 블록은 원본 블록을 기준으로 원본 블록과 차이값인 잔차값(Residual)을 가진 잔차 블록이 생성된다. 생성된 잔차 블록은 변환부(115)로 입력될 수 있다. 또한 예측부(110)에서 생성된 예측 모드 정보, 예측 단위 분할 정보, 움직임 벡터 정보 등 다양한 예측 블록 생성과 관련된 정보는 엔트로피 코딩부(130)로 제공되어 엔트로피 코딩될 수 있다.
변환부(115)에서는 원본 블록과 예측부(110)를 통해 생성된 예측 블록의 잔차값(residual)정보를 포함한 잔차 블록을 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다. 변환부(115)에서는 분할된 부호화 단위 및 예측 단위를 기초로 변환 단위를 결정할 수 있다.
변환부(115)에서는 현재 부호화 단위에서 가능한 변환 단위 조합을 생성하여 분할하여 보고 변환 비용을 산출하는 소정의 비용 함수를 이용해 최적의 변환 단위를 선택할 수 있다.
6464 크기의 부호화 단위 블록을 가정하면, 픽쳐 분할부(100), 예측부(110), 변환부(115)에서는 적어도 하나의 비용 함수를 통해 6464 크기의 부호화 단위 블록에 대한 최적의 부호화 단위, 예측 단위, 변환 단위를 결정할 수 있다. 부호화 단위 블록에 대한 최적의 부호화 단위, 예측 단위, 변환 단위의 결정은 픽쳐 분할부(100), 예측부(110), 변환부(115)에서 이루어질 수 있지만, 제어부(미도시)와 같은 별도의 구성부를 통해 이루어질 수 있다.
양자화부(120)는 변환부(115)에서 주파수 영역으로 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(155)와 재정렬부(125)에 제공될 수 있다.
재정렬부(125)는 양자화된 잔차값을 엔트로피 부호화부(130)에서 엔트로피 부호화의 효율을 높이기 위해 계수값의 재정렬을 수행할 수 있다.
재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원의 블록 형태 계수를 1차원의 벡터 형태로 변경할 수 있다. 예를 들어, 재정렬부(125)에서는 지그재그 스캔(Zig-Zag Scan)방법을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원 벡터 형태로 변경시킬 수 있다. 변환 단위의 크기 및 화면 내 예측 모드에 따라 지그 재그 스캔 방법이 아닌 2차원의 블록 형태 계수를 열 방향으로 스캔하는 수직 스캔 방법, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔 방법이 사용될 수 있다. 변경된 1차원 벡터 형태의 계수들은 최고 주파수 계수로부터 DC 계수까지 기존의 지그-재그 스캔 방향의 역방향으로 엔트로피 부호화부(130)에 입력되어 부호화될 수 있다.
변환 단위의 크기 및 화면 내 예측 모드에 따라 지그재그 스캔이 아닌 수직 방향 스캔, 수평 방향 스캔이 사용될 수 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 산출된 값들을 기초로 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 부호화 단위의 잔차값 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 단위 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 프레임 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다.
엔트로피 부호화부(130)에서는 재정렬부(125)에서 입력된 부호화 단위의 계수값을 엔트로피 부호화할 수 있다.
엔트로피 부호화부(130)에서는 가변 길이 부호화(VLC) 테이블(Variable Length Coding Table)과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고 저장된 가변 길이 부호화 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화를 수행함에 있어서 테이블에 포함된 일부의 코드 워드(Codeword)에 카운터(Counter)를 이용한 방법 또는 직접 변환(Direct Swapping)방법을 사용하여 해당 정보의 코드 번호에 대한 코드 워드 할당을 다르게 할 수 있다. 예를 들어, 코드 번호와 코드 워드를 매핑하는 테이블에서 적은 비트수의 코드 워드가 할당된 상위 몇 개의 코드 번호의 경우, 카운터를 사용해 코드 번호의 합산된 발생 횟수가 가장 많은 코드 번호에 짧은 길이의 코드 워드를 할당할 수 있도록 적응적으로 코드 워드와 코드 번호를 매핑하는 테이블의 매핑 순서를 바꿀 수 있다. 카운터에서 카운팅된 횟수가 소정의 임계값에 이른 경우, 카운터에 기록된 카운팅 횟수를 반으로 나누어 다시 카운팅을 수행할 수 있다.
카운팅을 수행하지 않는 테이블 내의 코드 번호는 직접 변환(Direct Swapping) 방법을 사용하여 코드 번호에 해당하는 정보가 발생할 경우, 바로 위의 코드 번호와 자리를 변환하는 방법을 통해 해당 코드 번호에 할당되는 비트 수를 적게하여 엔트로피 부호화를 수행할 수 있다.
역양자화부(135) 및 역변환부(140)에서는 양자화부(120)에서 양자화된 값들을 역양자화하고 변환부(115)에서 변환된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에 포함된 움직임 추정부, 움직임 보상부 및 인트라 예측부를 통해서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)를 생성할 수 있다.
디블록킹 필터(145)는 복원된 픽쳐에서 블록간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록의 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링을 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.
ALF(150)(Adaptive Loop Filter)는 디블록킹 필터(145)를 통해 블록을 필터링한 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 하나의 ALF가 44 크기의 블록에 포함된 화소 전체에 적용될 수 있다. ALF(150)를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF의 크기 및 계수는 달라질 수 있다. ALF(150)는 5 Tap, 7 Tap, 9 Tap 크기의 필터 중 하나의 크기를 가진 다이아몬드 형상의 필터가 될 수 있다. 이러한 ALF의 필터링 관련 정보(필터 계수 정보, ALF On/Off 정보, 필터 형태 정보)는 비트스트림에서 각 슬라이스 헤더에 포함되어 영상 복호화기에 전송될 수 있다.
메모리(155)는 디블록킹 필터(145) 및 ALF(150)을 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있고, 저장된 복원 블록 또는 픽쳐는 화면 간 예측을 수행 시 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 다른 실시예에 따른 영상 복호화기를 나타낸 블록도이다.
도 2를 참조하면, 영상 복호화기(200)는 엔트로피 복호화부(2110), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 디블록킹 필터(235), ALF(240), 메모리(245)가 포함될 수 있다.
영상 부호화기에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 영상 부호화기와 반대의 절차로 복호화될 수 있다.
엔트로피 복호화부(210)는 영상 부호화기의 엔트로피 부호화부에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 예를 들어, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 사용된 VLC 테이블은 엔트로피 복호화부에서도 동일한 가변 길이 부호화 테이블로 구현되어 엔트로피 복호화를 수행할 수 있다. 또한, 엔트로피 부호화부에서 엔트로피 부호화를 수행하기 위해 필요한 정보를 추가의 정보로써 엔트로피 복호화부(205)에 제공할 수 있다.
엔트로피 복호화부(210)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화를 수행한 잔차값은 재정렬부(215)로 입력될 수 있다.
엔트로피 복호화부(210)에서도 엔트로피 부호화부와 마찬가지로 카운터(Counter) 또는 직접 변환(Direct Swapping) 방법을 이용해 코드 워드 할당 테이블을 변화시킬 수 있고, 변화된 코드 워드 할당 테이블에 기초하여 엔트로피 복호화를 수행할 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 부호화부에서 재정렬한 방법을 기초로 재정렬을 수행할 수 있다. 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부에서는 부호화부에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 영상 부호화기에서 수행한 양자화 결과에 대해 변환부에서 수행한 DCT 및 DST에 대해 역DCT 및 역 DST를 수행할 수 있다. 역변환은 영상 부호화기에서 결정된 전송 단위를 기초로 수행될 수 있다. 영상 부호화기의 변환부에서는 DCT와 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 영상 복호화기의 역변환부(2125)에서는 영상 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(2145)에서 제공된 이전에 복호화된 블록 또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
예측부(230)는 예측 단위 판별부, 화면 간 예측부 및 화면 내 예측부를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부에서 입력되는 예측 단위 정보, 화면 내 예측 방법의 예측 모드 정보, 화면 간 예측 방법의 움직임 예측 관련 정보 등 다양한 정보를 입력 받고 현재 부호화 단위에서 예측 단위를 구분하고, 예측 단위가 화면 간 예측을 수행하는지 아니면 화면 내 예측을 수행하는지 여부를 판별할 수 있다. 화면 간 예측부는 영상 부호화기에서 제공된 현재 예측 단위의 화면 간 예측에 필요한 정보를 이용해 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 화면 간 예측을 수행할 수 있다.
화면 간 예측을 수행하기 위해 부호화 단위를 기준으로 해당 부호화 단위에 포함된 예측 단위가 스킵 모드(Skip Mode)인지 여부를 판단할 수 있다. 부호화 단위가 스킵 모드인 경우, 머지 스킵(Merge Skip)을 수행할 수 있다. 예측 단위가 머지 스킵 블록일 경우, 현재 예측 단위의 머지 인덱스(Merge Index)가 가리키는 머지 스킵 후보 블록에 포함된 움직임 벡터, 참조 픽쳐 인덱스 등과 같은 움직임 예측 관련 정보를 현재 예측 단위의 움직임 관련 정보로 사용할 수 있다. 분할 단위에 포함된 예측 단위가 머지 스킵 모드가 아닌 경우, 예측 단위가 PU Merge 블록인지 여부를 판단하고 현재 예측 단위가 머지 스킵 모드를 사용하여 예측되지 않은 경우 예측 단위는 예측 단위 머지 블록(PU Merge Block) 또는 AMVP 블록(Advanced Motion Vector Prediction Block)이 될 수 있다. 예측 단위 머지 블록인 경우, 예측 단위 머지 블록을 움직임 보상하여 예측 블록을 생성한고 예측 단위 머지 블록이 아닌 경우, 예측 단위는 AMVP 블록이 되고 예측 단위에 AMVP 예측 방법을 수행할 수 있다.
화면 내 예측부는 현재 픽쳐 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 화면 내 예측을 수행한 예측 단위인 경우, 영상 부호화기에서 제공된 예측 단위의 화면 내 예측 모드 정보를 기초로 화면 내 예측을 수행할 수 있다. 화면 내 예측부에는 AIS 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. AIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 영상 부호화기에서 제공된 예측 단위의 예측 모드 및 AIS 필터 정보를 이용하여 현재 블록의 참조 화소에 AIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 않는 모드일 경우, AIS 필터는 적용되지 않을 수 있다.
참조 화소 보간부는 예측 단위의 예측 모드가 참조 화소를 보간한 화소값을 기초로 화면 내 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 정수값 이하의 화소 단위의 참조 화소을 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 화소을 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
복원된 블록 또는 픽쳐는 디블록킹 필터(235)로 제공될 수 있다. 영상 부호화기로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 영상 복호화기의 디블록킹 필터에서는 영상 부호화기에서 제공된 디블록킹 필터 관련 정보를 제공받고 영상 복호화기에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다. 영상 부호화기에서와 마찬가지로 우선 수직 디블록킹 필터링 및 수평 디블록킹 필터링을 수행하되, 겹치는 부분에 있어서는 수직 디블록킹 및 수평 디블록킹 중 적어도 하나를 수행할 수 있다. 수직 디블록킹 필터링 및 수평 디블록킹 필터링이 겹치는 부분에서 이전에 수행되지 못한 수직 디블록킹 필터링 또는 수평 디블록킹 필터링이 수행될 수 있다. 이러한 디블록킹 필터링 과정을 통해서 디블록킹 필터링의 병행 처리(Parallel Processing)이 가능하다.
ALF(240)는 디블록킹 필터(235)를 통해 필터링을 수행 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 부호화 단위별로 영상 부호화기에서 제공된 ALF 적용 여부 정보, ALF 크기 정보, ALF 계수 정보 등 ALF 관련 정보를 기초로 해당 부호화 단위에 ALF를 적용할 수 있다. 즉, 영상 부호화기에서 전술한 바와 같이 부호화기와 마찬가지로 ALF로 5 Tap, 7 Tap, 9 Tap 크기의 필터 중 하나의 크기를 가진 다이아몬드 형상의 필터가 될 수 있다. 이러한 ALF 관련 정보(필터 계수 정보, ALF On/Off 정보, 필터 형태 정보)는 각 슬라이스 헤더에 포함되어 전송될 수 있다. 색차 신호의 경우, 픽쳐 단위로 필터가 적용되고 직사각형 형태의 ALF가 적용될 수 있다.
메모리(245)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 개념도이다.
재정렬부에서 계수 스캐닝 방법을 통해 2차원의 블록 형태 계수를 1차원의 벡터 형태로 변경할 수 있다. 재정렬부에서 스캔된 역방향으로 엔트로피 부호화부에 입력되는 계수들은 서로 다른 복수의 모드를 사용하여 엔트로피 부호화될 수 있다.
도 3을 참조하면, 양자화된 DCT 계수 또는 DST 계수(이하, 계수라고 함.)는 제1 런 모드(Run Mode, 300), 제2 런 모드(310), 레벨 모드(320)로 나누어 각 모드 별 부호화 규칙에 따라 엔트로피 부호화될 수 있다.
제1 런 모드(300)는 연속적으로 절대값이 1보다 작거나 같은 계수가 입력될 경우 수행되는 엔트로피 부호화 모드이다. 제2 런 모드(310)는 제1 런 모드(300) 종료 후 레벨 모드(320) 시작 전에 입력되는 계수를 엔트로피 부호화하는 엔트로피 부호화 모드이다. 레벨 모드(320)는 예를 들어, 제일 처음 입력되는 계수의 위치값를 0으로 두고 특정 계수의 위치값이 소정의 임계 위치값보다 큰 위치값를 가질 경우 또는 제1 런 모드(310) 및 제2 런 모드(320)에서 입력된 0이 아닌 계수값들의 합이 일정값 이상일 경우와 같은 소정의 임계적인 기준을 만족할 경우 제2 런 모드(310)에서 레벨 모드(320)로 전환되어 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
본 발명의 일실시예에 따른 엔트로피 부호화 방법에서는 변환 단위의 크기가 소정의 크기보다 작은 경우 또는 엔트로피 부호화를 수행해야할 계수가 특정 예측 모드에서의 휘도 정보를 양자화한 DCT 계수일 경우와 같이 특정한 경우에는 제1 런 모드(300) 또는 제2 런 모드(310)를 사용하지 않고 레벨 모드(320)만을 사용하여 엔트로피 부호화를 수행할 수 있다. 재정렬부에 의해 재정렬된 계수를 4가지의 정의된 구문 요소(330, 340, 350, 360)를 기초로 엔트로피 부호화를 수행할 수 있다. 이하, 본 발명의 실시예에서 개시되는 구문 요소값은 예시적인 것으로써 본 발명의 본질에서 벋어나지 않는 한 다른 구문 요소값으로도 표현될 수 있다.
제1 구문 요소(330)는 입력되는 계수가 제1 런 모드(310)에서 절대값이 1인지 여부 및 절대값이 1인 경우, 제1 런 모드(310)에서의 마지막 절대값 1을 가진 계수값인지 여부를 나타낼 수 있다. 예를 들어, 제1 구문 요소(330)는 제1 런 모드(300)에서 입력되는 계수가 마지막으로 절대값 1을 가지는 위치에서 구문 요소값으로 1을 가지고, 제1 런 모드(300)에서 입력되는 계수가 마지막으로 절대값 1을 가지는 위치가 아니면서 계수의 절대값이 1인 경우, 구문 요소값으로 0을 가진다. 제1 런 모드(300)에서 입력되는 계수가 마지막으로 1을 가지는 위치가 아니면서 계수의 절대값이 1인 경우, 제1 구문 요소는 생략되고 계수는 제4 구문 요소만을 사용하여 제1 런 모드(300)에서의 계수 정보를 표현할 수 있다.
제2 구문 요소(340)는 0이 아닌 계수 이전에 연속되는 계수 0의 개수를 나타낼 수 있다. 제1 구문 요소(330)와 제2 구문 요소(340)는 새로운 구문 요소로 표현되어 결합되어 표현되고 부호화 될 수 있다.
제3 구문 요소(350)는 계수의 절대값을 나타낼 수 있다. 제1 런 모드는 절대값 1과 0으로 이루어진 계수만이 존재하고, 제1 런 모드(310)의 계수의 절대값은 제1 플래그 정보가 존재하는지 여부로 표현할 수 있으므로 제3 구문 요소(350)는 전송하지 않을 수 있고 제2 런 모드와 레벨 모드에서 사용되어 입력된 계수의 절대값을 표현할 수 있다.
제2 런 모드에서는 제3 구문 요소의 값이 1보다 큰지 여부를 판단해, 제3 구문 요소를 부호화 시 제3 구문 요소에서 일정한 값을 뺀 값을 부호화할 수 있다. 예를 들어, 제2 런 모드에서 계수가 1인 경우 아래에서 설명할 계수의 부호를 나타내는 제4 구문 요소만으로 표현할 수 있고 0인 경우, 제2 구문 요소로 표현할 수 있다. 따라서, 계수의 절대값이 1보다 크면 계수의 크기값이 최소한 2 이상이므로, 절대값이 1보다 큰 계수는 제3 구문 요소에서 2를 뺀 값으로 부호화를 수행함으로써 더 적은 비트수로 부호화를 수행할 수 있다. 제3 구문 요소는 이하 후술할 제4구문 요소와 결합되어 새로운 구문 요소로 부호화될 수 있다.
제4 구문 요소(360)는 0이 아닌 계수의 부호를 나타낼 수 있다. 예를 들어, 0보다 큰 계수이면 구문 요소값으로 0을 가지고, 0보다 작은 계수이면 구문 요소값으로 1을 가질 수 있다.
도 3을 다시 참조하면, 제1 런 모드(300)는 입력되는 계수들이 0과 절대값 1을 가질 경우에 수행되는 엔트로피 부호화 모드로써 마지막 절대값 1을 가질 때까지 수행될 수 있다. 제1 런 모드(300)는 제1 구문 요소(330), 제 2 구문 요소(340), 제4 구문 요소(360)를 사용하여 순차적으로 입력되는 계수 정보를 표현할 수 있다. 제 4 구문 요소(360)와 제2 구문 요소(340)만을 사용하여 마지막 절대값 1 이전의 절대값 1인 계수 정보를 표현할 수 있으므로 제1 구문 요소는 마지막 절대값 1인지 여부만을 표현하기 위해서 사용되는 것도 가능하다. 제1 런 모드(300)에서는 입력되는 계수들이 0 또는 절대값이 1인 계수이므로 제1 구문 요소(330)만으로도 계수의 크기 정보를 표현할 수 있으므로 크기 정보를 나타내는 제3 구문 요소(350)를 사용하지 않아도 되므로 부호화되는 비트수를 줄일 수 있다.
제1 런 모드(300)를 수행 시 제1 구문 요소(330)와 제2 구문 요소(340)는 따로 부호화되지 않고 하나의 구문 요소로 결합되어 엔트로피 부호화 될 수 있다.
제2 런 모드(310)는 마지막 절대값 1(305) 이후에 소정의 임계적 기준에 의해 레벨 모드(320)가 수행되기 이전에 엔트로피 부호화 방법으로써 수행될 수 있다. 제1 런 모드(300)의 마지막 절대값 1(305) 이후에는 제2 런 모드(310)가 수행될 수 있다. 제2 런 모드(310)에서는 제1 구문 요소(330)가 사용되지 않고 제2 구문 요소(340), 제3 구문 요소(350), 제4 구문 요소(360)를 이용하여 엔트로피 부호화가 수행될 수 있다.
즉, 최초로 절대값이 1이 아닌 계수값(315)과 만약 존재하는 경우, 최초로 절대값이 1이 아닌 계수값(315) 이전에 존재하는 계수 0부터 제2 런 모드(310)를 이용한 엔트로피 부호화를 수행할 수 있다.
레벨 모드(320)는 전술한 바와 같이 특정한 임계적 기준을 만족하는 경우 수행될 수 있다. 예를 들어, 엔트로피 부호화된 계수의 위치가 지그 재그 스캔 방향의 역방향으로 산출된 소정의 위치값보다 큰 값을 가지거나, 제1 런 모드 및 제2 런 모드를 통해 엔트로피 부호화된 계수의 합이 특정값보다 큰 경우 또는 런 모드를 사용하지 않고 레벨 모드만을 사용하여 부호화를 수행하는 특정한 경우에 사용되어 엔트로피 부호화를 수행할 수 있다. 예를 들어, 지그 재그 스캔을 수행시 DC 계수로부터 가장 먼 계수의 위치를 0이라고 하고 스캔 방향의 역방향 순서로 계수의 위치값을 증가시켜 특정한 위치값 이상에 위치한 계수부터는 엔트로피 부호화 모드를 런 모드에서 레벨 모드로 전환하여 엔트로피 부호화를 수행할 수 있다. 레벨 모드에서는 계수의 절대값 크기 정보를 나타내는 제3 구문 요소(350)와 계수의 부호 정보를 나타내는 제4 구문 요소(360)를 이용하여 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
도 4는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 순서도이다.
도 4을 참조하면, 런 모드를 수행할지 여부를 판단한다(단계 S400).
예를 들어, 변환 단위의 크기가 소정의 크기보다 작은 경우 또는 엔트로피 부호화를 수행해야 할 계수가 특정한 예측 모드에서의 휘도 정보를 양자화한 DCT 계수일 경우와 같이 특정한 경우에는 런 모드가 아닌 레벨 모드만을 사용하여 엔트로피 부호화를 수행할 수 있다.
레벨 모드를 수행한다(단계 S410).
런 모드를 수행하지 않을 경우, 레벨 모드를 수행하여 엔트로피 부호화를 수행할 수 있다. 레벨 모드는 계수의 크기를 나타내는 제3 구문 요소와 계수의 부호를 나타내는 제4 구문 요소를 기초로 엔트로피 부호화를 수행할 수 있다.
제1 런 모드를 수행한다(단계 S420).
제1 런 모드는 입력되는 계수가 0 또는 절대값 1을 가진 계수만으로 이루어진 경우 수행될 수 있다. 제1 런 모드는 제1 구문 요소를 이용하여 절대값 1인 계수인지 여부를 나타내는 정보 및 소정의 계수가 제1 런 모드에서 마지막 절대값 1을 가진 계수인지를 표시하는 정보를 부호화할 수 있다. 또한, 제1 런 모드에서는 0이 아닌 계수 이전에 위치한 계수 0의 개수를 나타내는 제2 구문 요소, 0이 아닌 계수의 부호를 나타내는 제4 구문 요소를 이용하여 엔트로피 부호화를 수행할 수 있다. 전술한 바와 같이 제1 런 모드에서 제1 구문 요소를 소정의 계수가 제1 런 모드에서 마지막 절대값 1 계수인지 여부를 표시하는 정보로만 사용할 수 있고, 제1 구문 요소와 제2 구문 요소는 결합되어 부호화될 수 있다.
제2 런 모드를 수행한다(단계 S430).
제2 런 모드는 제1 런 모드 이후에 수행되는 엔트로피 부호화 모드로써 첫 번째로 절대값 1이 아닌 계수 또는 만약 존재하는 경우, 첫 번째로 절대값 1이 아닌 계수 이전에 위치한 계수 0을 포함하여 엔트로피 부호화를 수행될 수 있다. 제2 런 모드에서는 제1 구문 요소를 사용하지 않고 0이 아닌 계수 이전에 존재하는 0의 개수를 나타내는 제2 구문 요소와 계수의 크기를 나타내는 제3 구문 요소, 계수의 부호를 나타내는 제4 구문 요소를 이용하여 엔트로피 부호화를 할 수 있다.
전술한 바와 같이 제2 런 모드에서는 제3 구문 요소의 값이 1보다 큰지 여부를 판단해, 제3 구문 요소를 부호화 시 제3 구문 요소에서 일정한 값을 뺀 값을 부호화할 수 있다. 이 경우 제3 구문 요소는 제4 구문 요소와 결합되어 새로운 구문 요소로 부호화될 수 있다.
레벨 모드를 수행한다(단계 S440).
레벨 모드는 계수의 위치가 특정값 이상이거나, 계수의 합이 특정값 이상인 경우와 같은 임계적 기준을 만족하는 경우 제2 런 모드에서 전환되어 엔트로피 부호화를 수행할 수 있다. 예를 들어, DC 계수로부터 가장 먼 계수의 위치를 0이라고 하고 스캔 방향의 역방향 순서로 계수의 위치값을 증가시켜 계수의 위치가 특정값 이상이면 엔트로피 부호화 모드를 제2 런 모드에서 레벨 모드로 전환하여 엔트로피 부호화를 수행할 수 있다. 레벨 모드에서는 계수의 절대값 크기 정보를 나타내는 제3 플래그 정보와 계수의 부호 정보를 나타내는 제4 구문 요소를 이용하여 엔트로피 코딩을 수행할 수 있다. 엔트로피 부호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하는 엔트로피 부호화부를 나타낸 개념도이다.
도 5를 참조하면, 엔트로피 부호화부는 런 모드 수행 여부 판별부(510), 모드 선택부(520), 가변 길이 부호화부(530)를 포함할 수 있다.
런 모드 수행 여부 판별부(510)에서는 런 모드를 수행하여 엔트로피 부호화를 수행할 것인지 여부를 판단할 수 있다. 전술한 바와 같이 부호화 단위에 포함된 변환 단위의 크기가 소정의 크기보다 작은 경우 또는 엔트로피 부호화를 수행해야 할 계수가 특정한 예측 모드에서의 휘도 정보를 양자화한 DCT 계수일 경우와 같이 특정한 경우에는 런 모드가 아닌 레벨 모드만을 사용하여 엔트로피 부호화를 수행할 수 있기 때문에 현재 부호화 단위가 런 모드를 사용할 수 있는 부호화 단위 인지 여부를 판단할 수 있다.
모드 선택부(520)에서는 엔트로피 부호화를 수행하기 위한 모드를 판별할 수 있다. 재정렬부에서 스캔된 방향의 역스캔 방향으로 입력되는 계수의 분포를 판단하여, 제1 런 모드, 제2 런 모드, 레벨 모드를 어떠한 계수 위치까지 적용할 것인지 여부를 판단할 수 있다.
가변 길이 부호화부(530)는 부호화 모드에 따라 제1 구문 요소 내지 제4 구문 요소로 표현된 각 모드의 구문 요소를 엔트로피 부호화할 수 있다. 각 구문 요소는 결합되어 하나의 구문 요소로 표현되어 가변 길이 부호화부(530)에 입력될 수 있다.
영상 복호화기에서는 영상 부호화기에서 엔트로피 부호화된 구문 요소를 복호화할 수 있다. 영상 복호화기에서는 영상 부호화기에서 어떠한 모드로 부호화되었는지 여부를 추가적인 플래그 정보 또는 구문 요소 정보를 통해서 영상 부호화기로부터 제공받거나 영상 부호화기에서 입력되는 구문 요소 정보를 통해 어떠한 엔트로피 부호화 모드를 사용하였는지를 추정하여 엔트로피 복호화를 수행할 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 엔트로피 복호화 방법을 나타낸 순서도이다.
도 6을 참조하면, 엔트로피 부호화 모드를 판별한다(단계 S600).
엔트로피 부호화부로부터 입력된 엔트로피 부호화 계수를 기초로 엔트로피 부호화가 수행된 모드를 판별할 수 있다. 엔트로피 부호화 시 런 모드를 사용하였는지 여부를 판단하여 레벨 모드만 사용되어 엔트로피 부호화 되었는지 여부를 판단할 수 있다. 구체적으로 제1 런 모드를 사용하여 엔트로피 부호화를 수행한 구간인지, 제2 런 모드를 사용하여 엔트로피 부호화를 수행한 구간인지, 레벨 모드를 사용하여 엔트로피 부호화를 수행한 구간인지 여부를 판별할 수 있다. 엔트로피 부호화 모드를 판단하기 위해 영상 부호화부로부터 수행된 엔트로피 모드에 대한 정보를 포함하는 소정의 플래그 정보를 전송받거나, 엔트로피 복호화부로 입력된 구문 요소 정보를 기초로 입력된 엔트로피 부호화 시 사용된 엔트로피 부호화 모드를 추정하여 엔트로피 복호화를 수행할 수 있다.
엔트로피 부호화 모드의 규칙에 따른 엔트로피 복호화를 수행한다(단계 S610).
엔트로피 부호화는 제1 런 모드, 제2 런 모드, 레벨 모드가 존재할 수 있고(제1 런 모드와 제2 런 모드는 레벨 모드와 구분되어 런 모드라는 용어로 사용될 수 있다.), 해당 모드의 엔트로피 부호화 규칙에 기초하여 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
예를 들어, 제1 런 모드를 엔트로피 복호화시 엔트로피 부호화된 제1 구문 요소 정보를 이용해 절대값 1을 가진 계수의 위치 및 절대값 1을 가진 마지막 계수의 위치에 대해 알 수 있고, 제2 구문 요소를 이용해 절대값 1 이전에 존재하는 계수 0의 개수, 제4 구문 요소를 이용해 절대값 1로 표현된 계수값의 부호 정보를 제공받아 엔트로피 복호화를 수행할 수 있다.
전술한, 제1 런 모드, 제2 런 모드, 레벨 모드를 이용한 엔트로피 부호화 및 엔트로피 복호화 방법을 사용하여 엔트로피 부호화 및 복호화시 사용되는 비트 수를 감소시킬 수 있고, 그에 따라 영상 부호화 효율 및 영상 복호화의 효율을 높일 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 엔트로피 복호화 방법을 수행하는 엔트로피 복호화부를 나타낸 블록도이다.
도 7을 참조하면, 엔트로피 복호화부는 가변 길이 복호화부(710), 모드 판별부(720), 계수 복원부(730)를 포함할 수 있다.
가변 길이 복호화부(710)에서는 엔트로피 부호화부에서 제1 구문 요소 내지 제4 구문 요소를 가변 길이 부호화한 값을 제공받아 복호화를 수행할 수 있다.
모드 판별부(720)는 가변 길이 복호화부(710)에서 제공된 엔트로피 부호화된 제1 구문 요소 내지 제4 구문 요소 정보를 기초로 복호화된 구문 요소들이 제1 런 모드, 제2 런 모드, 레벨 모드 중 어떠한 모드로 엔트로피 부호화된 것인지 여부를 판별할 수 있다.
계수 복원부(730)는 가변 길이 복호화부(710)에서 복호화된 구문 요소 정보와 모드 판별부(720)에서 판단된 엔트로피 부호화 모드 정보에 기초하여 엔트로피 부호화된 계수를 부호화 전의 계수값으로 복원할 수 있다. 엔트로피 복호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 개념도이다.
도 8을 참조하면, 엔트로피 부호화를 위해 입력되는 계수는 스캔 방향과 동일한 방향으로 입력될 수 있다.
엔트로피 부호화를 위한 모드는 레벨 모드(800), 제3 런 모드(810), 제4 런 모드(820)가 사용될 수 있다. 레벨 모드(800)는 다양한 임계적 기준에 의해 제3 런 모드(810)로 전환될 수 있다. 예를 들어, DC 계수의 위치를 표현하는 값을 0이라고 하고 스캔 순서에 따라 각 계수의 위치를 증가시킬 경우, 일정한 임계 위치까지만 레벨 모드를 사용하여 엔트로피 코딩을 수행할 수 있다. 제3 런 모드(810)는 레벨 모드(800)를 이용한 엔트로피 부호화 이후에 수행되는 엔트로피 부호화 모드로 제4 런 모드(820) 이전까지 계수의 부호화를 수행할 수 있다.
제4 런 모드(820)는 스캔 방향으로 부호화를 수행 시 남은 계수들이 0 또는 절대값이 1인 계수들로만 이루어진 경우, 수행되는 엔트로피 부호화 모드가 될 수 있다.
변환 단위의 크기가 소정의 크기보다 작은 경우, 특정 예측 모드에서의 휘도 정보를 양자화한 DCT 계수일 경우 제3 런 모드(810) 또는 제4 런 모드(820)를 사용하지 않을 수 있다.
본 발명의 일실시예에 따른 엔트로피 부호화 방법에서는 변환 단위의 크기가 소정의 크기보다 작은 경우 또는 엔트로피 부호화를 수행해야 할 계수가 특정 예측 모드에서의 휘도 정보를 양자화한 DCT 계수일 경우와 같이 특정한 경우에는 제3 런 모드(810) 또는 제4 런 모드(820)를 사용하지 않고 레벨 모드만을 사용하여 엔트로피 부호화를 수행할 수 있다. 재정렬부에 의해 재정렬된 계수를 4가지의 정의된 구문 요소(830, 840, 850, 860)를 기초로 엔트로피 부호화를 수행할 수 있다. 이하, 본 발명의 실시예에서 개시되는 구문 요소값은 예시적인 것으로써 본 발명의 본질에서 벋어나지 않는 한 다른 구문 요소값으로도 표현될 수 있다.
제5 구문 요소(830)는 제3 런 모드(810) 및 제4 런 모드(820)에서 사용되는 구문 요소로써 레벨 모드가 종료한 후 제3 런 모드(810)에서 0이 아닌 계수의 존재 여부를 표시하기 위해 사용될 수 있다. 또한 제5 구문 요소(830)는 제4 런 모드(820)에서는 제5 구문 요소를 통해 제4 런 모드(820)에서 첫 번째 위치한 절대값이 1인 계수(825)의 존재 여부를 표시할 수 있다.
제2 구문 요소(840)는 0이 아닌 계수 이전에 연속되는 계수 0의 개수를 나타내고 제3 구문 요소(850)는 계수의 절대값을 나타낼 수 있으며 제4 구문 요소(860)는 0이 아닌 계수의 부호를 나타내는 것은 전술한 도 3에서의 구문 요소와 동일하다. 도 3에서 전수할 바와 같이 제3 런 모드에서는 제3 구문 요소의 값이 1보다 큰지 여부를 판단해, 제3 구문 요소를 부호화 시 제3 구문 요소에서 일정한 값을 뺀 값을 부호화할 수 있다. 예를 들어, 제3 런 모드에서 계수가 1인 경우 아래에서 설명할 계수의 부호를 나타내는 제4 구문 요소만으로 표현할 수 있고 0인 경우, 제2 구문 요소로 표현할 수 있다. 따라서, 계수의 절대값이 1보다 크면 계수의 크기값이 최소한 2 이상이므로, 절대값이 1보다 큰 계수는 제3 구문 요소에서 2를 뺀 값으로 부호화를 수행함으로써 더 적은 비트수로 부호화를 수행할 수 있다. 제3 구문 요소는 제4구문 요소와 결합되어 새로운 구문 요소로 부호화될 수 있다.
제2 구문 요소의 경우, 설명의 편의상, 0이 아닌 계수 이전에 연속되는 계수 0의 개수를 나타내었으나, 0이 아닌 계수 이후에 존재하는 계수 0의 개수를 나타내는 것도 가능하다.
도 8을 다시 참조하면, 레벨 모드(800)에서는 제3 구문 요소(850) 및 제4 구문 요소(860)를 이용하여 엔트로피 부호화를 수행할 수 있다. 레벨 모드(800)의 종료 위치는 전술한 바와 같이 일정한 임계적 기준을 설정하여 설정된 임계적 기준을 만족하는 위치가 될 수 있다. 레벨 모드(800) 종료 위치부터는 제3 런 모드(810)를 이용해 엔트로피 부호화를 수행할 수 있다. 제3 런 모드(810)는 레벨 모드(800) 종료 후, 레벨 모드 종료 위치(805) 이후의 계수로부터 수행될 수 있다. 제3 런 모드(810)에서는 제5 구문 요소(830)와 제2, 3 및 4 구문 요소(840, 850, 860)를 이용하여 0이 아닌 계수를 부호화하고 0이 아닌 계수값 이전에 존재하는 0의 개수를 부호화할 수 있다. 제3 런 모드(810)에서는 제5 구문 요소(830)가 사용되지 않고 제2 내지 4 구문 요소(840, 850, 860)로만 엔트로피 부호화될 수 있으며, 제5 구문 요소(830)와 제2 또는 3 구문 요소(840, 850)는 하나의 구문 요소로 결합되어 엔트로피 부호화 될 수 있다.
제4 런 모드(820)는 0 또는 절대값이 1인 계수값만 존재하는 경우 수행되는 모드로써 0 또는 절대값이 1인 계수값만 존재할 때 첫 번째로 위치한 절대값이 1인 계수값 또는 존재하는 경우, 첫 번째로 위치한 절대값이 1인 계수값 이전에 존재하는 0부터 제5 구문 요소(830), 제2 구문 요소(840) 및 제4 구문 요소(860)를 이용하여 엔트로피 부호화를 수행할 수 있다. 제 5 구문 요소(830)는 첫 번째로 위치한 절대값이 1인 계수값(825)에만 존재하고 그 후에는 존재하지 않을 수 있다. 제4 런 모드(820)에서는 제5 구문 요소(830)와 제2 구문 요소(840)가 하나의 구문 요소로 결합되어 부호화될 수 있다. 엔트로피 부호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
도 9는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 나타낸 순서도이다.
도 9를 참조하면, 런 모드를 수행할지 여부를 판단한다(단계 S900).
예를 들어, 변환 단위의 크기가 일정값 이하(예를 들어 44 사이즈 이하일 경우)이거나 부호화 단위에 포함되는 예측 단위에서 특정한 예측 모드를 사용하고 예측 하는 정보가 휘도 정보인 경우와 같이 특정한 조건하에서 런 모드가 아닌 레벨 모드만을 사용하여 엔트로피 부호화할 수 있다. 런 모드가 수행되지 않는 경우 레벨 모드로 엔트로피 부호화를 수행할 수 있다.
레벨 모드를 수행한다(단계 S910).
레벨 모드는 계수의 크기를 나타내는 제3 구문 요소와 계수의 부호를 나타내는 제4 구문 요소를 이용하여 엔트로피 부호화될 수 있다. 단계 S900를 통해 런 모드를 수행하지 않고 레벨 모드만으로 엔트로피 부호화하는 것으로 판단된 경우, 레벨 모드만으로 계수를 엔트로피 부호화할 수 있다.
레벨 모드를 수행한다(단계 S920).
단계 S900를 통해 런 모드를 수행하는 것으로 판단된 경우, 레벨 모드는 전술한 바와 같이 다양한 임계적 기준에 의해 제3 런 모드로 전환될 수 있다.
제3 런 모드를 수행한다(단계 S930).
단계 S900를 통해 런 모드를 수행하는 것으로 판단되면 제3 런 모드를 수행할 수 있다. 제3 런 모드는 레벨 모드 이후에 수행되는 엔트로피 부호화 모드로 제5 구문 요소를 통해 0이 아닌 계수의 존재 여부를 표현하고 제2 구문 요소를 통해 0이 아닌 계수 이전에 존재하는 계수 0의 개수를 표현하고, 제3 구문 요소를 통해 계수의 크기를 표현하고, 제4 구문 요소를 통해 계수의 부호를 표현할 수 있다. 제5 구문 요소는 사용되지 않을 수 있고, 제5 구문 요소와 제2 구문 요소 또는 제3 구문 요소는 하나의 구문 요소로 결합되어 엔트로피 부호화될 수 있다.
제4 런 모드를 수행한다(단계 S940).
제4 런 모드는 0 또는 절대값이 1인 계수값만 존재하는 경우 수행되는 모드로써 0 또는 절대값이 1인 계수값만 존재할 때 첫 번째로 위치한 절대값이 1인 계수값 또는 존재하는 경우, 첫 번째로 위치한 절대값이 1인 계수값 이전에 존재하는 0부터 제5 구문 요소, 제2 구문 요소 및 제4 구문 요소를 이용하여 엔트로피 부호화를 수행할 수 있다. 제 5 구문 요소는 첫 번째로 위치한 절대값이 1인 계수값에만 존재하고 그 후에는 존재하지 않을 수 있다. 제4 런 모드에서는 제5 구문 요소와 제2 구문 요소가 하나의 구문 요소로 결합되어 부호화될 수 있다. 엔트로피 부호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하는 엔트로피 부호화부도 도 5에서 전술한 바와 같이 엔트로피 부호화부는 런 모드 수행 여부 판별부, 모드 선택부, 가변 길이 부호화부를 포함할 수 있다.
런 모드 수행 여부 판별부에서는 런 모드를 수행하여 엔트로피 부호화를 수행할 것인지 여부를 판단하고 모드 선택부에서는 엔트로피 부호화를 수행하기 위한 모드를 판별하고 VLC 부호화부는 부호화 모드에 따라 제 5 구문 요소 및 제2 구문 요소 내지 제4 구문 요소로 표현된 각 모드의 구문 요소를 엔트로피 부호화할 수 있다. 각 구문 요소는 결합되어 하나의 구문 요소로 표현되어 가변 길이 부호화부에 입력될 수 있다.
또한 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법에 기초하여 엔트로피 복호화를 수행하는 방법도 도 7에서 전술한 바와 같이 영상 부호화부로부터 수행된 엔트로피 모드에 대한 정보를 소정의 플래그 정보로 전송받거나, 엔트로피 복호화부로 입력된 구문 요소 정보를 기초로 입력된 엔트로피 부호화시 사용된 엔트로피 부호화 모드를 추정하여 엔트로피 부호화 모드를 판별하고 도 8 및 도 9에서 전술한 엔트로피 부호화 모드인 레벨 모드, 제3 런 모드, 제4 런 모드의 엔트로피 부호화 규칙에 기초한 엔트로피 복호화를 수행한다. 즉, 엔트로피 부호화 시 런 모드를 사용하였는지 여부를 판단하여 런 모드를 사용하는 경우, 제 3 런 모드로 전환되는 소정의 임계적 기준을 만족하기 전까지 계수의 크기 정보 및 부호 정보를 표시하는 구문 정보를 기초로 엔트로피 부호화된 레벨 모드 구간을 판단하고 소정의 임계적 기준을 만족하는 경우, 0인 계수 또는 절대값 1을 가진 계수로만 이루어진 계수값을 엔트로피 부호화하는 제4 런 모드 이전까지 엔트로피 부호화된 제3 런 모드 구간을 판단하하고 0인 계수 또는 절대값 1을 가진 계수로만 이루어진 계수값을 엔트로피 부호화하는 상기 제4 런 모드 구간을 판단할 수 있다. 엔트로피 복호화 과정에서는 소정의 구문 요소를 기초로 마지막으로 위치한 0이 아닌 계수에 관련된 정보를 알 수 있다.
이러한 엔트로피 복호화를 수행하는 방법을 수행하기 위한 엔트로피 복호화부는 도 7에서 전술한 바와 같이 가변 길이 복호화부, 모드 판별부, 계수 복원부를 포함할 수 있다. 가변 길이 복호화부에서는 엔트로피 부호화부에서 제 5 구문 요소 및 제2 구문 요소 내지 제4 구문 요소를 가변 길이 부호화한 값을 제공받아 복호화를 수행할 수 있다. 모드 판별부는 가변 길이 복호화부에서 제공된 엔트로피 부호화된 제5 구문 요소 및 제2 구문 요소 내지 제4 구문 요소 정보를 기초로 복호화된 구문 요소들이 레벨 모드, 제3 런 모드, 제4 런 모드 중 어떠한 모드로 엔트로피 부호화된 것인지 여부를 판별할 수 있다. 계수 복원부는 가변 길이 복호화부에서 복호화된 구문 요소 정보와 모드 판별부에서 판단된 엔트로피 부호화 모드 정보에 기초하여 엔트로피 부호화된 계수를 부호화 전의 계수값으로 복원할 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법을 나타낸 개념도이다.
도 10에서는 설명의 편의상 영상 복호화 방법을 기준으로 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법을 개시한다.
영상 부호화부는 영상 복호화부에 특정한 영상 부호화 관련 정보를 전달하기 위해 소정의 구문 요소를 정의할 수 있다. 정의된 구문 요소의 값들은 특정한 영상 부호화 관련 정보를 나타낼 수 있고 인덱스 매핑 테이블에 의해 엔트로피 부호화되어 영상 복호화부에 전송될 수 있다. 영상 부호화부에서 구문 요소를 이용하여 부호화 대상이 되는 피부호화 정보가 발생하면, 피부호화 정보는 구문 요소의 정의에 의해 특정한 구문 요소값으로 생성될 수 있다. 생성된 구문 요소값은 인덱스 매핑 테이블에 의해 특정한 코드 번호로 매핑될 수 있고, 코드 번호는 엔트로피 부호화 테이블을 기초로 코드 번호에 해당하는 코드 워드를 이용해 엔트로피 부호화될 수 있다.
본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법에서는 특정 구문 요소값이 발생하면 발생한 횟수를 저장하여 엔트로피 부호화 및 엔트로피 복호화를 수행하는 데에 사용할 수 있다. 특정 구문 요소값이 발생된 발생 횟수는 카운터를 이용하여 저장할 수 있다. 저장된 구문 요소값의 발생 횟수를 기초로 특정 구문 요소값이 다른 구문 요소값보다 많이 발생하면 엔트로피 부호화를 수행 시 자주 발생하는 특정 구문 요소값에 좀 더 작은 비트수의 코드 워드를 할당함으로써 엔트로피 부호화에 사용되는 비트수를 줄일 수 있다.
영상 부호화부에서는 구문 요소값과 코드 번호를 매핑한 인덱스 매핑 테이블을 이용해 제1 코드 번호에 매핑된 제1 구문 요소값의 발생 횟수와 상기 제1 코드 번호보다 하나 작은 코드 번호를 가진 제2 코드 번호에 할당되는 제2 구문 요소값의 발생 횟수를 비교하여 인덱스 매핑 테이블을 재배치할 수 있다.
제1 구문 요소값의 발생 횟수가 제2 구문 요소값의 발생 횟수보다 크거나 같으면 제1 코드 번호에는 제2 구문 요소값을 매핑시키고, 제2 코드 번호에는 제1 구문 요소값을 매핑시키는 방법을 사용하여 매핑 테이블 재배치하고, 제1 구문 요소값의 발생 횟수가 제2 구문 요소값의 발생 횟수보다 작으면 기존의 인덱스 매핑 테이블에서 매핑된 상태를 유지시킬 수 있다. 특정한 구문 요소값의 발생 횟수를 저장함에 있어 코드 번호 또는 코드 번호에 매핑되는 구문 요소 값을 기반으로 발생 횟수를 기록하는 데에 사용할 수 있으나 이하 본 발명의 실시예에서는 설명의 편의상 코드 번호를 기반으로 발생 횟수를 기록하는 것으로 기술한다. 즉, 코드 번호를 기초로 해당 구문 요소값의 발생 횟수를 비교할 수 있다.
영상 복호화부에서는 영상 부호화부에서 엔트로피 부호화된 코드 워드를 기초로 엔트로피 복호화 과정을 수행할 수 있다. 영상 복호화부에서는 구문 요소값(1200)과 코드 번호(1100)가 매핑되어 있는 인덱스 매핑 테이블(1000)에 영상 부호화부로부터 소정의 코드 번호(1100)가 입력되면 각 코드 번호에 할당된 카운터를 이용해 코드 워드의 발생 횟수를 저장할 수 있다. 영상 부호화부에서와 마찬가지로 인덱스 매핑 테이블에서 현재 발생한 제1 코드 번호의 발생 횟수와 코드 번호보다 하나 작은 수의 코드 번호인 제2 코드 번호의 발생 횟수를 비교하여 제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 더 크거나 같으면 제1 코드 번호에 할당된 제1 구문 요소값을 제2 코드 번호에 할당된 제2 구문 요소값으로 변경하고 제2 코드 번호에 할당된 제2 구문 요소값을 제1 코드 번호에 할당된 제1 구문 요소값으로 변경하는 방법을 통해 인덱스 매핑 테이블(1000)에서 각 코드 번호에 매핑되는 구문 요소값을 서로 교환하는 방법을 사용함으로써 엔트로피 복호화를 수행할 수 있다. 구문 요소값을 변경 시 해당 코드 번호에서 저장된 코드 번호의 발생 횟수값인 카운터값 또한 서로 변경시킬 수 있다. 만약 제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 작으면 인덱스 매핑 테이블을 변경하지 않을 수 있다.
도 10에서는 코드 번호 7(1100)의 발생 횟수가 4로써 바로 위의 코드 번호인 6의 발생 횟수인 5보다 작으므로 인덱스 매핑 테이블(1000)을 변경하지 않고 엔트로피 부호화 및 엔트로피 복호화를 수행할 수 있다.
영상 부호화기에서 발생하는 구문 요소값 및 영상 복호화기로 입력되는 코드 번호의 발생 횟수를 기초로 인덱스 매핑 테이블 내에서 매핑되는 코드 번호와 구문 요소값을 변경하는 방법을 통해 엔트로피 부호화 및 엔트로피 복호화를 수행시 적은 수의 비트수로 부호화 및 복호화를 수행함으로써 영상 정보의 부호화 및 복호화 효율을 높일 수 있다.
엔트로피 부호화 및 엔트로피 복호화 방법을 수행함에 있어 코드 번호의 발생 횟수를 기록하기 위해 사용되는 카운터는 인덱스 매핑 테이블의 존재하는 코드 번호 또는 구문 요소값 중 일부에만(예를 들어, 매핑 테이블 상단의 4개의 코드 넘버 또는 구문 요소값.) 할당될 수 있다. 예를 들어, 영상 복호화기에서 카운터가 존재하는 코드 번호가 발생하면 도 10에서 전술한 절차를 통해 인덱스 매핑 테이블을 재정렬할 수 있다. 하지만, 카운터가 존재하지 않는 코드 번호가 발생하면 코드 번호에 해당하는 발생 횟수를 고려하지 않고 발생된 코드 번호보다 하나 작은 코드 번호에 해당하는 구문 요소값과 바로 교환하는 방법을 사용하여 인덱스 매핑 테이블을 재정렬할 수 있다.
또한, 코드 번호의 발생 횟수를 기록하는 카운터를 사용할 때 카운터의 용량을 고려하여, 복수의 코드 번호에 할당되어 코드 번호의 발생 횟수를 저장하는 제1 카운터들의 카운팅 횟수를 합산할 수 있는 제2 카운터를 사용할 수 있다. 예를 들어, 인덱스 매핑 테이블에서 상위 4개의 코드 번호(0, 1, 2, 3)에만 제1 카운터가 할당된 경우, 상위 4개의 코드 번호의 각각의 제1 카운터에서 발생된 횟수를 제2 카운터에서 저장할 수 있다. 코드 번호 0에 4회, 코드 번호 1에 3회, 코드 번호2에 2회, 코드 번호 3에 2회 발생한 것을 각각의 코드 번호에 할당된 제1 카운터에서 기록한다면, 제2 카운터에서는 각각의 코드 번호에서 발생된 카운팅 횟수의 총합인 11을 저장할 수 있다. 제2 카운터에서 카운팅된 횟수가 15회 이상인 경우, 제1 카운터에 저장된 카운팅 횟수를 일괄적으로 일정한 비율로 감소시킬 수 있다.
본 발명의 다른 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법에서는 초기에 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 설정 시 구문 요소를 일정한 기준에 의해 분류한 것을 기초로 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블의 초기값을 다르게 설정할 수 있다. 즉, 구문 요소를 소정의 기준에 따라 분류하고 각 분류에 따라 초기 인덱스 테이블을 다르게 하여 엔트로피 부호화 및 복호화를 수행할 수 있다. 복수개의 초기 인덱스 테이블은 미리 룩업 테이블 기반으로 구현되어 엔트로피 부호화부 및 엔트로피 복호화부에 저장되어 있을 수 있지만, 초기 인덱스 테이블의 배열 순서가 프레임의 헤더 정보에 포함되어 전송될 수도 있다. 이하의 본 발명의 일실시예에 따른 엔트로피 부호화 및 복호화 방법에서는 룩업 테이블 기반으로 구현된 인덱스 매핑 테이블을 이용하여 엔트로피 부호화 및 복호화를 수행하는 것을 설명한다.
예를 들어, 어떠한 구문 요소는 소정의 전송 단위가 분할되었는지에 대한 정보, 소정의 전송 단위가 분할된 경우 분할된 블록에 0이 아닌 전송 계수가 존재하는지 여부를 표시하는 정보를 조합한 구문 요소일 수 있다. 이러한 구문 요소는 각각의 정보를 이진 패턴을 사용하여 소정의 기준으로 분류하여 표현할 수 있고, 구문 요소는 분류된 기준에 따라 엔트로피 부호화 및 엔트로피 복호화에 할당되는 초기 인덱스 매핑 테이블을 다르게 설정하여 구문 요소값을 엔트로피 부호화 및 엔트로피 복호화 할 수 있다. 전술한 바와 같이 각각의 인덱스 매핑 테이블에 존재하는 일부의 코드 번호에 제1 카운터를 적용할 수 있다. 또한 코드 번호에 적용된 카운터들에 저장된 카운트 값들을 통합적으로 카운트하는 또 제2 카운터가 존재할 수 있어 제2 카운터에서 통합적으로 카운트된 값들이 일정한 값 이상이 될 경우 제1 카운터에 저장된 값들을 일정한 비율로 감소시킬 수 있다.
다른 구문 요소의 예로, 어떠한 구문 요소는 화면 간 예측을 수행함에 있어서, 예측 방향 정보 및 예측 방향에 존재하는 페이지의 인덱스 번호 정보를 조합한 구문 요소일 수 있다. 이러한 구문 요소는 현재 예측 단위의 예측 방향 정보 및 참조 프레임 정보를 기초로 초기에 엔트로피 부호화 및 엔트로피 복호화를 위해 할당되는 초기 인덱스 매핑 테이블을 다르게 설정하여 코드 번호를 엔트로피 부호화 및 엔트로피 복호화할 수 있다. 마찬가지로 전술한 바와 같이 인덱스 매핑 테이블은 제1 카운터 및 제2 카운터를 사용하여 카운팅 횟수를 관리할 수 있다.
전술한 구문 요소들은 본 발명의 일실시예에 따른 예시적인 구문 요소로서 본 발명의 본질에서 벋어나지 않는 한 영상 부호화 및 영상 복호화에 사용되는 다른 구문 요소들에 대하여도 본 발명의 일실시예에 따른 엔트로피 부호화 및 엔트로피 복호화 방법을 사용할 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 엔트로피 복호화 방법을 나타낸 순서도이다.
도 11을 참조하면, 인덱스 매핑 테이블을 초기화한다(단계 S1100).
인덱스 매핑 테이블은 하나의 프레임 또는 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 초기값으로 재정렬하거나 몇 개의 프레임 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할 것인지 여부를 플래그 정보를 통해 전달받고 이에 기초하여 인덱스 매핑 테이블을 초기화하는 방법 등 다양한 방법을 통해 인덱스 매핑 테이블을 초기화할 수 있다.
코드 번호를 입력받고 코드 번호의 카운터 존재 여부를 판단한다(단계 S1110).
영상 부호화기로부터 코드 번호를 입력받고 인덱스 매핑 테이블에서 코드 번호에 매핑된 구문 요소값을 직접 교환 방법을 사용하여 교환할 것인지 아니면, 카운터에 기반하여 코드 번호의 발생 횟수를 기초로 코드 번호에 매핑된 구문 요소값을 교환할 것인지 여부를 판단할 수 있다. 카운터는 인덱스 매핑 테이블의 상위 일부의 코드 번호에만 할당될 수 있다.
제1 코드 번호의 발생 횟수를 1 증가시키고 제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 큰지 여부를 비교한다(단계 S1120).
코드 번호에 카운터가 존재하면, 발생된 제1 코드 번호의 발생 횟수를 제1 코드 번호에 할당된 카운터를 이용해 저장하고 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호에 할당된 카운터에 저장된 제2 코드의 발생 횟수를 비교할 수 있다.
제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 크거나 같으면, 제1 코드 번호에 할당되어있던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당한다(단계 S1130).
제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 크거나 같으면, 제1 코드 번호에 할당된 제1 구문 요소값과 제2 코드 번호에 할당된 제2 구문 요소값을 서로 변경함으로써 인덱스 매핑 테이블을 재정렬할 수 있다.
제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 작으면, 인덱스 매핑 테이블을 재정렬하지 않는다(단계 S1140).
제1 코드 번호의 발생 횟수가 제2 코드 번호의 발생 횟수보다 작으면, 제1 코드 번호에 할당된 제1 구문 요소값과 제2 코드 번호에 할당된 제2 구문 요소값을 변경하지 않은 인덱스 매핑 테이블을 그대로 사용할 수 있다.
코드 번호에 카운터가 할당되어 있지 않으면, 제1 코드 번호에 할당되어 던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당한다(단계 S1150).
단계 S1110을 통한 판단 결과, 코드 번호에 카운터가 할당되어 있지 않은 경우, 제1 코드 번호의 발생 횟수를 고려하지 않고 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당하는 직접 교환 방법을 사용함으로써 인덱스 매핑 테이블을 재정렬할 수 있다.
도 12는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하기 위한 엔트로피 부호화부를 나타낸 개념도이다.
도 12를 참조하면, 엔트로피 부호화부는 구문 요소값 산출부(1200), 제2 카운터(1210), 제1 카운터(1220), 저장부(1230), 인덱스 매핑 테이블(1240), 가변 길이 부호화부(1250)를 포함할 수 있다.
구문 요소값 산출부(1200)는 피부호화 대상인 구문 요소를 구문 요소의 정의에 의해 구문 요소값으로 산출할 수 있다. 예를 들어, 구문 요소는 소정의 전송 단위가 분할되었는지에 대한 정보, 소정의 전송 단위가 분할된 경우 분할된 블록에 0이 아닌 전송 계수가 존재하는지 여부를 표시하는 정보를 조합한 구문 요소 또는 화면 간 예측을 수행함에 있어서, 예측 방향 정보 및 예측 방향에 존재하는 페이지의 인덱스 번호 정보를 조합한 구문 요소가 될 수 있다.
제2 카운터(1210)는 제1 카운터(1220)에서 카운팅된 카운팅 횟수를 저장할 수 있다. 예를 들어, 제1 카운터(1220)가 4개의 코드 번호 0, 1, 2, 3에 연동되어 있고, 코드 번호 0의 발생 횟수 5, 코드 번호 1의 발생 횟수 4, 코드 번호 2의 발생 횟수 3 코드 번호 3의 발생 횟수 2를 모두 더한 값인 14를 제2 카운터에 기록할 수 있다. 제2 카운터는 일정한 임계값을 가지고 있어서 저장된 값이 임계값을 넘을 경우 제1 카운터(1220)의 값들을 초기화시키거나 일정한 비율로 모두 감소시킬 수 있다.
제1 카운터(1220)는 인덱스 매핑 테이블(1240)의 코드 번호 또는 구문 번호값 중 복수의 코드 번호 및 구문 요소의 발생 횟수를 기록할 수 있다. 제1 카운터(1220)는 적어도 하나의 프레임 또는 부호화 단위와 같은 일정한 단위 또는 일정한 시간적인 주기에 의해 초기화된 값을 가지거나, 제2 카운터(1210)에 의해 소정의 신호를 받을 경우 일정한 비율로 제1 카운터(1220)에 기록된 발생 횟수를 감소시킬 수 있다. 제1 카운터(1220)에 저장된 발생 횟수는 통계화되어 저장부(1230)에 저장되어 추후에 인덱스 매핑 테이블을 초기화하거나 재정렬시 활용할 수 있다.
저장부(1230)는 제1 카운터(1220)에 저장된 코드 번호의 발생 횟수를 기록하거나, 재정렬된 인덱스 매핑 테이블을 저장할 수 있다.
인덱스 매핑 테이블(1240)은 코드 번호와 구문 요소값을 매핑시킨 테이블로 엔트로피 부호화를 수행할 수 있다.
가변 길이 부호화부(1250)는 인덱스 매핑 테이블에 의해 산출된 코드 번호를 VLC(Variable Length Coding) 방법을 사용해 부호화할 수 있다.
도 13은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 수행하기 위한 엔트로피 복호화부를 나타낸 개념도이다.
도 13을 참조하면, 엔트로피 복호화부는 가변 길이 복호화부(1300), 인덱스 매핑 테이블(1310), 제2 카운터(1320), 제1 카운터(1330), 저장부(1340), 구문 요소값 정보 산출부(1350)를 포함할 수 있다.
가변 길이 복호화부(1300)는 엔트로피 부호화부로부터 입력된 가변 길이 부호화된 코드 번호를 복호화할 수 있다.
인덱스 매핑 테이블(1310)은 코드 번호와 구문 요소값을 매핑시킨 테이블로 가변 길이 복호화부(1300)에서 복호화된 코드 번호를 기초로 구문 요소값을 산출할 수 있다.
제2 카운터(1320)는 제1 카운터(1330)에서 카운팅된 카운팅 횟수를 저장할 수 있다. 제2 카운터(1320)는 엔트로피 부호화부에서와 마찬가지로 일정한 임계값을 가지고 있어서 저장된 값이 임계값을 넘을 경우 제1 카운터(1330)의 값들을 초기화시키거나 일정한 비율로 모두 감소시킬 수 있다.
제1 카운터(1330)는 인덱스 매핑 테이블(1310)의 코드 번호 또는 구문 번호값 중 복수의 코드 번호 및 구문 요소의 발생 횟수를 기록할 수 있다. 제1 카운터(1330)는 적어도 하나의 프레임 또는 부호화 단위와 같은 일정한 단위 또는 일정한 시간적인 주기에 의해 초기화된 값을 가지거나, 제2 카운터(1320)에 의해 소정의 신호를 받을 경우 일정한 비율로 제1 카운터(1330)에 기록된 발생 횟수를 감소시킬 수 있다. 제1 카운터(1330)에 저장된 발생 횟수는 통계화되어 저장부(1340)에 저장되어 추후에 인덱스 매핑 테이블을 초기화하거나 재정렬시 활용할 수 있다.
저장부(1340)는 제1 카운터(1330)에 저장된 코드 번호의 발생 횟수를 기록하거나, 재정렬된 인덱스 매핑 테이블을 저장할 수 있다.
구문 요소값 정보 산출부(1350) 인덱스 매핑 테이블로부터 입력된 구문 요소값을 기초로 구문 요소의 정의에 따른 구문 요소값 정보를 산출할 수 있다.
도 14는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
도 14를 참조하면, 코드 번호의 발생 횟수를 기초로 인덱스 매핑 테이블을 재정렬하는 것은 도 10 내지 13에서 전술한 바와 동일하나, 도 14에서는 제1 코드 번호의 제1 구문 요소값을 변경 시 제1 코드 번호 바로 위의 코드 번호인 제2 코드 번호의 제2 구문 요소값과 변경하는 것이 아니라, 카운터가 존재하는 인덱스 매핑 테이블의 모든 코드 번호 발생 횟수와 비교하여 제1 코드 번호의 발생 횟수보다 큰 발생 횟수를 가진 코드 번호 바로 아래의 코드 번호인 제3 코드 번호에 매핑된 제3 구문 요소값과 변경함으로써 현재 발생된 코드 번호의 발생 횟수를 기준으로 현재 코드 번호에서 여러 단계 위의 코드 번호에 현재 코드 번호에 할당된 구문 요소값을 할당할 수 있다.
예를 들어, 영상 복호화기를 기준으로 인덱스 매핑 테이블의 재정렬 방법을 개시하면 영상 부호화기에서 코드 번호 7이 입력된 경우, 코드 번호 7의 발생 횟수인 5를 1 증가시킨 값인 6을 코드 번호 7의 카운터에 기록하고, 인덱스 매핑 테이블 상에 존재하는 코드 번호들의 발생 횟수와 비교하여 보면, 나머지 코드 번호들의 발생 횟수가 모두 5이므로 코드 번호 7에 매핑된 구문 요소값인 12와 카운팅 횟수인 6을 코드 번호 0에 기록하고, 기존의 코드 번호 0에 기록된 구문 요소값인 9와 카운팅 횟수 5를 코드 번호 7에 기록할 수 있다.
즉, 코드 번호의 발생 횟수를 기초로 할당된 구문 요소값을 변경함으로써 적은 비트수로 현재의 구문 요소값을 엔트로피 부호화 및 엔트로피 복호화하여 영상 부호화 및 영상 복호화의 효율을 높일 수 있다.
도 10 내지 13에서와 마찬가지로, 카운터가 일부의 코드 번호에만 존재할 수 있어, 카운터가 존재하는 코드 번호는 전술한 방법을 사용하고 카운터가 존재하지 않는 코드 번호는 도 10 내지 13에서 전술한 엔트로피 부호화 및 엔트로피 복호화 방법과 동일하게 발생 횟수를 고려하지 않고 코드 번호가 발생시 바로 발생된 코드 번호보다 하나 작은 코드 번호에 할당된 구문 요소값과 직접 교환하는 방식을 사용하여 엔트로피 부호화 및 엔트로피 복호화를 수행할 수 있다.
도 15는 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 순서도이다.
도 15를 참조하면, 인덱스 매핑 테이블을 초기화한다(단계 S1500).
인덱스 매핑 테이블은 하나의 프레임 또는 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 초기값으로 재정렬하거나 몇 개의 프레임 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할 것인지 여부를 플래그 정보를 통해 전달받고 이에 기초하여 인덱스 매핑 테이블을 초기화하는 방법 등 다양한 방법을 통해 인덱스 매핑 테이블을 초기화할 수 있다.
코드 번호를 입력받고 코드 번호의 카운터 존재 여부를 판단한다(단계 S1510).
영상 부호화기로부터 코드 번호를 입력받고 인덱스 매핑 테이블에서 코드 번호에 매핑된 구문 요소값을 직접 교환 방법을 사용하여 교환할 것인지 아니면, 카운터에 기반하여 코드 번호의 발생 횟수를 기초로 코드 번호에 매핑된 구문 요소값을 교환할 것인지 여부를 판단할 수 있다. 카운터는 인덱스 매핑 테이블의 상위 일부의 코드 번호에만 할당될 수 있다.
코드 번호에 카운터가 존재하면, 제1 코드 번호의 발생 횟수를 1 증가시키고 제1 코드 번호의 발생 횟수를 인덱스 매핑 테이블의 다른 코드 번호의 발생 횟수와 비교하여 제1 코드 번호가 더 많은 발생 횟수를 가졌는지 여부를 판단한다(단계 S1520).
코드 번호에 카운터가 존재하면, 발생된 제1 코드 번호의 발생 횟수를 제1 코드 번호에 할당된 카운터를 이용해 저장하고 제1 코드 번호에 매핑된 제1 구문 요소값을 변경할지 여부를 결정하기 위해 제1 코드 번호에 기록된 발생 횟수와 인덱스 매핑 테이블 상에서 제1 코드 번호보다 상위에 위치한 제1 코드 번호보다 작은 코드 번호를 가지는 코드 번호들의 발생 횟수와 비교할 수 있다.
제3 코드 번호가 존재하면, 제1 코드 번호에 할당되어있던 제1 구문 요소값을 제3 코드 번호에 할당하고 제3 코드 번호에 할당되어 있던 제3 구문 요소값을 제1 코드 번호에 할당한다(단계 S1530).
제1 코드 번호보다 상단에 위치하면서 제1 코드 번호의 발생 횟수보다 큰 발생 횟수를 가진 코드 번호보다 하나 작은 수를 가진 코드 번호를 제3 코드 번호라고 할 경우, 제1 코드 번호에 할당되어있던 제1 구문 요소값을 제3 코드 번호에 할당하고 제3 코드 번호에 할당되어 있던 제3 구문 요소값을 제1 코드 번호에 할당하는 방법을 사용하여 코드 번호에 할당된 구문 요소값을 변경할 수 있다. 이러한 방법을 통해서 여러 단계 위에 위치한 코드 번호의 값과 현재 발생된 코드 번호의 값에 매핑된 구문 요소값을 한번에 변경시킬 수 있다.
제3 코드가 존재하지 않으면, 인덱스 매핑 테이블을 재정렬하지 않는다(단계 S1540).
전술한 제3 코드가 존재하지 않는 경우, 인덱스 매핑 테이블을 재정렬하지 않고 엔트로피 부호화 및 엔트로피 복호화를 수행할 수 있다.
제1 코드 번호에 할당되어있던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당한다(단계 S1550).
단계 S1510을 통한 판단 결과, 코드 번호에 카운터가 할당되어 있지 않은 경우, 제1 코드 번호의 발생 횟수를 고려하지 않고 제1 코드 번호에 할당되어 던 제1 구문 요소값을 제1 코드 번호보다 하나 작은 코드 번호를 가진 코드 번호인 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당하는 직접 교환 방법을 사용함으로써 인덱스 매핑 테이블을 재정렬할 수 있다.
도 16은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
도 16을 참조하면, 엔트로피 부호화 및 복호화를 함에 있어 인덱스 매핑 테이블을 갱신시키되, 연속적으로 발생한 구문 요소값 또는 코드 번호일 경우, 인덱스 매핑 테이블에서 한 단계 위의 코드 번호가 아닌 여러 단계 위에 존재하는 코드 번호에 매핑된 구문 요소값과 구문 요소값을 변경시키는 방법으로 인덱스 매핑 테이블을 재정렬할 수 있다.
영상 복호화부를 기준으로 설명하면, 영상 부호화부에서 입력된 소정의 코드 번호(예를 들어, 7)가 입력된 경우, 코드 번호 7에 할당된 구문 요소값을 인덱스 매핑 테이블 상에서 바로 위의 코드 번호인 코드 번호 6에 할당된 구문 요소값과 변경하는 방법을 통해 인덱스 매핑 테이블을 재배치할 수 있다. 이후, 코드 번호 6이 영상 복호화기로 입력된 경우, 동일한 구문 요소값이 연속적으로 두번 발생한 것이므로 인덱스 매핑 테이블 상에서 두 단계 위의 코드 번호인 4에 할당된 구문 요소값과 현재 코드 번호 6에 할당된 구문 요소값을 변경하는 방법을 사용하여 인덱스 매핑 테이블을 재정렬할 수 있다. 다음에 동일한 구문 요소값이 또 발생한 경우, 인덱스 매핑 테이블 상에서 세단계 위의 코드 번호에 구문 요소값을 할당할 수 있다.
전술한 두 단계 상단에 위치한 코드 번호 및 세단계 위의 코드 번호의 구문 요소값과 구문 요소를 변경함으로써 인덱스 매핑 테이블을 재정렬하는 것은 예시적인 것으로써 본 발명의 본질에서 벋어나지 않는 한 다른 기준을 사용하여 인덱스 매핑 테이블을 재정렬할 수 있다.
도 17은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 순서도이다.
순서도에서는 설명의 편의상, 엔트로피 복호화 방법을 기준으로 설명하나 인덱스 매핑 테이블 상의 입력 및 출력만 다르게 하여 엔트로피 부호화 방법도 동일한 순서로 이루어질 수 있다.
도 17을 참조하면, 인덱스 매핑 테이블을 초기화한다(단계 S1700).
인덱스 매핑 테이블은 하나의 프레임 또는 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 초기값으로 재정렬하거나 몇 개의 프레임 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할 것인지 여부를 플래그 정보를 통해 전달받고 이에 기초하여 인덱스 매핑 테이블을 초기화하는 방법 등 다양한 방법을 통해 인덱스 매핑 테이블을 초기화할 수 있다.
코드 번호에 매핑된 구문 요소값을 기초로 동일한 구문 요소값이 발생되었는지 여부를 판단한다(단계 S1710).
본 발명의 일실시예에 따른 엔트로피 부호화 및 복호화 방법에서는 동일한 구문 요소값이 연속적으로 발생한 경우, 연속 횟수마다 엔트로피 매핑 테이블을 재정렬하는 방법을 다르게 할 수 있다. 예를 들어, 1회 연속된 경우, 인덱스 매핑 테이블 상에서 두 단계 위에 위치한 코드 번호에 할당되고, 2회 연속된 경우, 인덱스 매핑 테이블 상에서 세 단계 위에 위치한 코드 번호에 할당되는 방법으로써 동일한 구문 요소가 연속되어 발생되면 연속 발생 여부와 그 횟수를 고려하여 인덱스 매핑 테이블을 적응적으로 다르게 재정렬할 수 있다.
제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제2 코드 번호에 할당하고 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당한다(단계 S1720).
단계 S1710을 통해 동일한 구문 요소값이 발생한 것이 아닌 것으로 판단된 경우, 제1 코드 번호를 입력받은 후 인덱스 매핑 테이블에서 제1 코드 번호보다 한 단계 위에 존재하는 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 제1 코드 번호에 할당하고 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제2 코드 번호에 할당하는 방법을 통해서 제1 코드와 제2 코드 사이에서 각각의 구문 요소값을 변경시키는 방법을 통해 인덱스 매핑 테이블을 재정렬할 수 있다.
제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제1 코드 번호에 할당한다(단계 S1730).
단계 S1710을 통해 동일한 구문 요소값이 발생한 것으로 판단된 경우, 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제1 코드 번호에 할당할 수 있다. 제 4 코드 번호를 연속적으로 구문 요소 발생되었는지 여부를 고려한 소정의 기준에 의해 산출된 제1 코드 번호보다 한 단계보다 큰 단계 위에 위치한 코드 번호라고 정의하면, 연속적으로 발생된 구문 요소값을 반영하여 인덱스 매핑 테이블 상에서 한 단계보다 큰 단계 위에 위치한 코드 번호에 연속적으로 발생되는 구문 요소값을 매핑시킬 수 있다.
도 18은 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법을 나타낸 개념도이다.
도 18을 참조하면, 인덱스 매핑 테이블을 초기화할 것인지 여부를 나타내는 플래그 정보(1800)를 이용해 인덱스 매핑 테이블을 초기화할지 여부를 결정할 수 있다.
N-2 번째 프레임에서 복호화된 후 재배치된 인덱스 매핑 테이블은 N-1 번째 프레임을 복호화 시 인덱스 매핑 테이블을 초기화할지 여부를 결정하기 위한 인덱스 매핑 초기화 플래그(1800)를 기초로 인덱스 매핑 테이블을 초기화할 수 있다. N-2 번째 프레임의 복호화가 종료한 후 인덱스 매핑 초기화 플래그(1800)가 1이므로 인덱스 매핑 테이블을 초기화할 수 있다.
N-1 번째 프레임을 복호화한 후 재배치된 인덱스 매핑 테이블에서 인덱스 매핑 초기화 플래그(1800)가 0이므로 인덱스 매핑 테이블을 초기화하지 않고 N-1 번째 프레임을 복호화하는 과정에서 재배치된 인덱스 매핑 테이블을 N 번째 프레임을 복호화하기 위해 사용할 수 있다.
즉, 인덱스 매핑 초기화 플래그(1800)가 어떠한 값을 가졌는지 여부를 판단하여 현재 프래임을 엔트로피 부호화 및 엔트로피 복호화할 때 인덱스 매핑 테이블을 초기화할 것인지 여부를 판단하여 현재 프레임을 엔트로피 부호화 및 엔트로피 복호화 할 수 있다.
도 18에서와 같이 도 10내지 도 17에서 개시한 엔트로피 부호화 및 복호화에서는 다양한 인덱스 매핑 테이블을 초기화하는 방법 및 초기 인덱스 매핑 테이블 설정 방법을 사용할 수 있다. 전술한 바와 같이 본 발명의 다른 실시예에 따른 엔트로피 부호화 및 복호화 방법에서는 초기에 코드 번호와 구문 요소값 사이에 매핑 테이블을 설정 시 구문 요소(Syntax)를 일정한 기준에 의해 분류하고 분류된 구문 요소에 따라 초기 코드 번호와 구문 요소값의 매핑을 다르게 할 수 있다. 즉, 구문 요소를 소정의 기준에 따라 분류함에 따라 복수개의 인덱스 매핑 테이블을 기초로 엔트로피 부호화 및 복호화를 수행할 수 있다. 복수개의 인덱스 매핑 테이블의 초기 배열 순서는 미리 룩업 테이블 기반으로 구현되어 저장될 수 있다.
재정렬된 인덱스 매핑 테이블을 초기화시킬지 여부를 결정하기 위해 몇 개의 프레임 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할 것인지 여부를 플래그 정보를 통해 제공할 수 있다.
개별 프레임마다 매핑 테이블을 초기화시키는 것이 아닌 경우, 이전 프레임을 엔트로피 부호화 및 엔트로피 복호화한 결과를 기초로 재정렬된 인덱스 매핑 테이블을 현재 프레임을 엔트로피 부호화 및 복호화하기 위해 사용될 수 있다. 이전 프레임의 엔트로피 부호화 및 엔트로피 복호화 결과를 사용하기 위해서는 현재 프레임의 바로 이전 프레임에서 엔트로피 부호화 및 엔트로피 복호화 수행시 소정의 구문 요소값 또는 코드 번호가 발생된 통계값 만을 현재 프레임을 엔트로피 부호화 및 엔트로피 복호화하기 위한 인덱스 매핑 테이블을 초기화시 고려하는 방법 또는 현재 프레임의 이전 프레임까지 누적된 복수의 프레임에서 소정의 구문 요소값 또는 코드 번호가 발생된 통계값을 이용하여 현재 프레임을 엔트로피 부호화 및 엔트로피 복호화하기 위한 인덱스 매핑 테이블을 초기화시 고려하는 방법 등 다양한 인덱스 매핑 테이블 초기화 및 재정렬 방법이 수행될 수 있다.
이뿐만 아니라, 인덱스 매핑 테이블에서는 이전 프레임에서 누적된 구문 요소값 또는 코드 번호의 발생된 통계가 모두 반영되는 것이 아니라 최근 복원된 블록들에서 산출된 코드 번호 또는 구문 요소값의 발생값만을 이용해 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용하여 현재 블록을 엔트로피 부호화 및 엔트로피 복호화하는데 사용하거나, 현재 블록의 공간적 또는 시간적 주변 블록의 코드 번호 또는 구문 요소값의 발생값만을 이용해 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용하여 현재 블록을 엔트로피 부호화 및 엔트로피 복호화를 수행할 수 있다.
전술한 인덱스 매핑 테이블 초기화 방법 및 재정렬 방법이 하나만 사용되는 것이 아니라 이러한 방법들 중 적어도 하나가 엔트로피 부호화 및 엔트로피 복호화시 적응적으로 선택되어 인덱스 매핑 테이블을 초기화 및 재배치할 때 사용될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 엔트로피 부호화 시 런 모드를 사용하였는지 여부를 판단하는 단계; 및
    엔트로피 부호화 시 상기 런 모드를 사용한 경우, 계수의 절대값이 1인지 여부를 판단하는 제1 구문 요소 정보를 기초로 엔트로피 복호화를 수행하는 단계를 포함하는 엔트로피 복호화 방법.
  2. 제1항에 있어서, 상기 엔트로피 부호화 시 상기 런 모드를 사용한 경우, 계수의 절대값이 1인지 여부를 판단하는 제1 구문 요소 정보를 기초로 엔트로피 복호화를 수행하는 단계는,
    엔트로피 부호화 시 상기 런 모드를 사용한 경우, 0이 아닌 정수 계수 이전에 존재하는 0인 계수의 개수를 나타내는 제2 구문 요소, 0이 아닌 정수 계수의 크기를 나타내는 제3 구문 요소, 0이 아닌 정수 계수의 부호를 나타내는 제4 구문 요소를 기초로 엔트로피 복호화를 수행하는 단계를 더 포함하는 엔트로피 복호화 방법.
  3. 제1항에 있어서,
    엔트로피 부호화 시 상기 런 모드를 사용한 경우, 엔트로피 부호화된 계수의 위치가 지그 재그 스캔 방향의 역방향으로 산출된 소정의 위치값보다 큰 값을 가지거나, 상기 런 모드를 통해 엔트로피 부호화된 계수의 합이 특정값보다 크면 레벨 모드를 사용하여 엔트로피 복호화를 수행하는 것을 특징으로 하는 엔트로피 복호화 방법.
  4. 제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하는 단계; 및
    상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 포함하는 엔트로피 복호화 방법.
  5. 제4항에 있어서,
    상기 제1 코드 번호가 입력된 경우, 상기 제1 코드 번호의 발생 횟수를 저장하는 제1 카운터의 존재 여부를 판단하는 단계; 및
    상기 제1 코드 번호에 상기 제1 카운터가 존재하지 않는 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 더 포함하는 엔트로피 복호화 방법.
  6. 제5항에 있어서,
    상기 제1 코드 번호에 상기 제1 카운터가 존재하는 경우, 상기 제1 카운터에 저장된 상기 제1 코드 번호의 발생 횟수를 1 증가시키고, 상기 제1 카운터의 카운팅 횟수를 저장하는 제2 카운터의 카운팅 횟수를 1 증가시키는 단계를 더 포함하는 엔트로피 복호화 방법.
  7. 제6항에 있어서,
    상기 제2 카운터의 카운팅 횟수가 소정의 임계값이 된 경우, 각각의 코드 번호에 할당된 복수의 제1 카운터에 저장된 각각의 코드 번호의 발생 횟수를 일정한 비율로 감소시키고, 상기 제2 카운터의 카운팅 횟수를 0으로 재설정하는 단계를 더 포함하는 엔트로피 복호화 방법.
  8. 제4항에 있어서,
    코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계를 더 포함하는 엔트로피 복호화 방법.
  9. 제8항에 있어서, 상기 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계는,
    하나의 프레임 또는 하나의 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 상기 인덱스 매핑 테이블을 초기값으로 재정렬하거나 소정의 프레임 단위 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할지 여부를 결정하기 위한 인덱스 매핑 초기화 플래그를 전달받고 상기 인덱스 매핑 초기화 플래그에 기초하여 상기 인덱스 매핑 테이블을 초기화하는 것을 특징으로 하는 엔트로피 복호화 방법.
  10. 제8항에 있어서, 상기 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 초기화하는 단계는,
    이전 픽쳐를 엔트로피 복호화한 결과를 기초로 재정렬된 인덱스 매핑 테이블을 현재 픽쳐를 엔트로피 복호화하기 위해 사용하는 초기 인덱스 매핑 테이블로써 사용하거나 현재 블록을 엔트로피 복호화하기 위해 현재 블록의 주변에 존재하는 복원된 블록들에서 발생된 코드 번호만을 기초로 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용하거나, 상기 현재 블록에 공간적으로 인접한 적어도 하나의 주변 블록 또는 상기 현재 블록에 시간적으로 인접한 적어도 하나의 블록에서 발생된 코드 번호만을 기초로 인덱스 매핑 테이블을 재정렬한 값을 초기 인덱스 매핑 테이블 값으로 사용하는 것을 특징으로 하는 엔트로피 복호화 방법.
  11. 제4항에 있어서,
    상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 통해 재정렬된 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 기준으로 상기 제2 코드 번호에 해당하는 코드 번호가 발생하였을 경우, 상기 제2 코드 번호에 할당되어 있던 상기 제1 구문 요소값을 상기 제2 코드 번호보다 적어도 두 단계 위에 위치한 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제2 코드 번호에 할당하는 단계를 더 포함하는 엔트로피 복호화 방법.
  12. 코드 번호의 발생 횟수를 기초로 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 재정렬하여 엔트로피 복호화하는 엔트로피 복호화부; 및
    상기 엔트로피 복호화부에서 엔트로피 복호화된 계수를 기초로 현재 픽쳐의 화소 정보를 예측하는 예측부를 포함하는 영상 복호화 장치.
  13. 제12항에 있어서, 상기 엔트로피 복호화부는,
    코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블; 및
    상기 코드 번호의 발생 횟수를 저장하는 제1 카운터를 더 포함하는 영상 복호화 장치.
  14. 제13항에 있어서, 상기 인덱스 매핑 테이블은,
    제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 하나 작은 코드 번호인 제2 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하여, 상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 방법으로 재정렬되는 것을 특징으로 하는 영상 복호화 장치.
  15. 제13항에 있어서, 상기 인덱스 매핑 테이블은,
    상기 제1 코드 번호의 발생 횟수가 상기 제2 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 단계를 통해 재정렬된 코드 번호와 구문 요소값을 매핑하는 인덱스 매핑 테이블을 기준으로 상기 제2 코드 번호에 해당하는 코드 번호가 발생하였을 경우, 상기 제2 코드 번호에 할당되어 있던 상기 제1 구문 요소값을 상기 제2 코드 번호보다 적어도 두 단계 위에 위치한 제4 코드 번호에 할당하고 제4 코드 번호에 할당되어 있던 제4 구문 요소값을 제2 코드 번호에 할당하는 방법으로 재정렬되는 것을 특징으로 하는 영상 복호화 장치.
  16. 제13항에 있어서, 상기 인덱스 매핑 테이블은,
    제1 코드 번호의 발생 횟수가 상기 제1 코드 번호보다 큰 발생 횟수를 가진 코드 번호보다 하나 작은 코드 번호를 가진 제3 코드 번호의 발생 횟수보다 크거나 같은지 여부를 판단하고 상기 제1 코드 번호의 발생 횟수가 상기 제3 코드 번호의 발생 횟수보다 크거나 같은 경우, 상기 제1 코드에 할당된 제1 구문 요소값을 제3 코드 번호에 할당하고 제3 코드 번호에 할당되어 있던 제3 구문 요소값을 제1 코드 번호에 할당하는 방법으로 재정렬되는 것을 특징으로 하는 영상 복호화 장치.
  17. 제13항에 있어서, 상기 인덱스 매핑 테이블은,
    상기 제1 코드 번호가 입력된 경우, 상기 제1 코드 번호의 발생 횟수를 저장하는 제1 카운터의 존재 여부를 판단하고 상기 제1 코드 번호에 상기 제1 카운터가 존재하지 않는 경우, 상기 제1 코드 번호에 할당되어 있던 제1 구문 요소값을 상기 제2 코드 번호에 할당하고 상기 제2 코드 번호에 할당되어 있던 제2 구문 요소값을 상기 제1 코드 번호에 할당하는 방법으로 재정렬되는 것을 특징으로 하는 영상 복호화 장치.
  18. 제13항에 있어서, 상기 인덱스 매핑 테이블은,
    하나의 프레임 또는 하나의 부호화 단위의 엔트로피 부호화 또는 엔트로피 복호화가 종료될 때마다 상기 인덱스 매핑 테이블을 초기값으로 재정렬하거나 소정의 프레임 단위 또는 부호화 단위마다 인덱스 매핑 테이블을 초기화할지 여부를 결정하기 위한 인덱스 매핑 초기화 플래그를 전달받고 상기 인덱스 매핑 초기화 플래그에 기초하여 초기화되는 것을 특징으로 하는 영상 복호화 장치.
  19. 제13항에 있어서, 상기 엔트로피 복호화부는,
    상기 제1 카운터의 카운팅 횟수를 저장하는 제2 카운터를 더 포함하는 영상 복호화 장치.
  20. 제19항에 있어서, 상기 제2 카운터는,
    상기 제2 카운터의 카운팅 횟수가 소정의 임계값이 된 경우, 각각의 코드 번호에 할당된 복수의 제1 카운터에 저장된 각각의 코드 번호의 발생 횟수를 일정한 비율로 감소시키고, 상기 제2 카운터의 카운팅 횟수를 0으로 재설정하는 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2011/004247 2010-06-09 2011-06-09 엔트로피 복호화 방법 및 복호화 장치 WO2011155786A2 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US35282810P 2010-06-09 2010-06-09
US61/352,828 2010-06-09
US36744110P 2010-07-25 2010-07-25
US61/367,441 2010-07-25

Publications (2)

Publication Number Publication Date
WO2011155786A2 true WO2011155786A2 (ko) 2011-12-15
WO2011155786A3 WO2011155786A3 (ko) 2012-04-19

Family

ID=45098546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/004247 WO2011155786A2 (ko) 2010-06-09 2011-06-09 엔트로피 복호화 방법 및 복호화 장치

Country Status (1)

Country Link
WO (1) WO2011155786A2 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076519A (ko) * 2006-01-18 2007-07-24 가시오게산키 가부시키가이샤 음성부호화장치, 음성복호장치, 음성부호화방법 및음성복호방법
KR20070094571A (ko) * 2006-03-17 2007-09-20 캐논 가부시끼가이샤 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법
KR20100027612A (ko) * 2008-09-03 2010-03-11 엘지전자 주식회사 이미지 무손실 및 손실 압축 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076519A (ko) * 2006-01-18 2007-07-24 가시오게산키 가부시키가이샤 음성부호화장치, 음성복호장치, 음성부호화방법 및음성복호방법
KR20070094571A (ko) * 2006-03-17 2007-09-20 캐논 가부시끼가이샤 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법
JP2007251834A (ja) * 2006-03-17 2007-09-27 Canon Inc 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
KR20100027612A (ko) * 2008-09-03 2010-03-11 엘지전자 주식회사 이미지 무손실 및 손실 압축 장치

Also Published As

Publication number Publication date
WO2011155786A3 (ko) 2012-04-19

Similar Documents

Publication Publication Date Title
WO2018070790A1 (ko) 영상의 부호화/복호화 방법 및 장치
WO2018221817A1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
WO2017188652A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018066959A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017209328A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2016052977A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016159610A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018062788A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2012043989A2 (ko) 블록 분할 방법 및 복호화 장치
WO2013157825A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2011016702A2 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2016048092A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016064123A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018124333A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016114583A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016122253A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016122251A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016190627A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019245261A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2019190204A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017150823A1 (ko) 비디오 신호 부호화/복호화 방법 및 이를 위한 장치
WO2021040319A1 (ko) 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
WO2013157769A1 (ko) 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
WO2016200235A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11792697

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11792697

Country of ref document: EP

Kind code of ref document: A2