KR20110047700A - 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치 - Google Patents

복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치 Download PDF

Info

Publication number
KR20110047700A
KR20110047700A KR1020090104426A KR20090104426A KR20110047700A KR 20110047700 A KR20110047700 A KR 20110047700A KR 1020090104426 A KR1020090104426 A KR 1020090104426A KR 20090104426 A KR20090104426 A KR 20090104426A KR 20110047700 A KR20110047700 A KR 20110047700A
Authority
KR
South Korea
Prior art keywords
bit string
data group
bit
segments
segment
Prior art date
Application number
KR1020090104426A
Other languages
English (en)
Other versions
KR101631944B1 (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 삼성전자주식회사
Priority to KR1020090104426A priority Critical patent/KR101631944B1/ko
Priority to US12/916,767 priority patent/US9398306B2/en
Publication of KR20110047700A publication Critical patent/KR20110047700A/ko
Priority to US13/356,376 priority patent/US20120121024A1/en
Application granted granted Critical
Publication of KR101631944B1 publication Critical patent/KR101631944B1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성하고, 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 비트열들을 저장하는 엔트로피 부호화 방법이 개시된다.
엔트로피 부호화, 엔트로피 복호화, 가변장 부호화

Description

복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치{Method and apparatus for entropy encoding and entropy decoding for accelarting video decoding}
본 발명은 엔트로피 부호화 및 복호화에 관한 것이다.
최근 센서 시스템의 발달로 인해 고해상도, 고화질 영상이 쉽게 획득된다. 고해상도, 고화질 영상은 데이터량이 크기 때문에, 효율적으로 저장되기 위해 영상 부호화 또는 복호화 기술이 필수적이다. 또한, 화면의 크기가 커짐에 따라 실시간 영상 처리를 위해 고속으로 부호화 및 복호화 처리하는 기술이 요구되고 있다.
복수의 데이터 그룹에 대한 병렬 처리를 통해, 고속 영상 부호화 및 복호화가 구현될 수 있다. 영상 복호화 중 엔트로피 복호화 기술에서는 후순위 심볼의 복호화를 위해 선순위 심볼의 복호화가 선행되어야 하므로 엔트로피 복호화의 병렬 처리는 어렵다.
본 발명은 엔트로피 부호화 및 복호화에 관한 것이다.
본 발명의 일 실시예에 따른 엔트로피 부호화 방법은, 복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성하는 단계; 및 상기 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 상기 비트열들을 저장하는 단계를 포함한다.
일 실시예에 따른 상기 비트열 저장 단계는, 상기 데이터 그룹별 비트열들은, 상기 데이터 그룹의 부호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들은 서로 다른 세그먼트에 할당하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 비트열 저장 단계는, 상기 데이터 그룹의 부호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열을 각각, 연속하는 제 1 세그먼트 및 제 2 세그먼트에 할당할 수 있다. 일 실시예에 따른 상기 비트열 저장 단계는, 상기 제 1 비트열이 상기 제 1 세그먼트의 길이보다 짧은 경우, 상기 제 1 세그먼트 중 상기 제 1 비트열의 저장 완료 지점부터 상기 제 1 비트열과 동일한 특성의 다음 비트열을 저장할 수 있다.
또한, 일 실시예에 따른 상기 비트열 저장 단계는, 상기 제 2 비트열이 상기 제 2 세그먼트의 길이보다 긴 경우, 상기 제 2 비트열을 상기 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들에 연속적으로 할당할 수 있다. 일 실시예에 따른 상기 비트열 저장 단계는, 데이터 그룹의 부호화 처리 순서 상 상기 제 2 비트열의 다음 순서인 비트열을, 상기 제 2 비트열의 저장이 완료된 세그먼트 이외의 세그먼트에 할당할 수 있다.
일 실시예에서 상기 데이터 그룹별 비트열의 특성은 상기 데이터 그룹의 부호화 처리 순서에 관한 것이고, 상기 데이터 그룹의 부호화 처리 순서 상 인접한 데이터 그룹들 간에는 각각의 비트열의 특성이 서로 다르다. 또한, 일 실시예에 따라 상기 데이터 그룹별 비트열의 특성에 따라 분류되는 비트열 그룹은 복수 개이다. 일 실시예에서는, 상기 세그먼트에 할당되는 비트열의 특성에 따라 상기 세그먼트의 종류가 분류되고, 상기 세그먼트의 종류의 개수는 한 사이클 동안 병렬적으로 엔트로피 복호화할 수 있는 데이터 그룹별 비트열의 개수일 수 있다.
본 발명의 일 실시예에 따른 엔트로피 복호화 방법은, 복수 개의 세그먼트들로 분류되어 저장된 복수 개의 비트열들을 수신하는 단계; 데이터 그룹별 비트열의 특성에 따라 분류되어 상기 세그먼트들에 순서대로 저장된 비트열을 판독하는 단계; 및 상기 판독된 비트열들을 병렬적으로 엔트로피 복호화하는 단계를 포함한다.
일 실시예에 따른 상기 비트열 판독 단계는, 상기 데이터 그룹의 복호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들을, 서로 다른 세그먼트로부터 판독하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 비트열 판독 단계는, 상기 데이터 그룹의 복호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열을 각각, 연속하는 제 1 세그먼트 및 제 2 세그먼트로부터 판독할 수 있다.
일 실시예에 따른 상기 비트열 판독 단계는, 상기 제 1 비트열이 상기 제 1 세그먼트의 길이보다 짧은 경우, 상기 제 1 세그먼트 중 상기 제 1 비트열의 저장 완료 지점부터 상기 제 1 비트열과 동일한 특성의 다음 비트열을 판독할 수 있다.
또한 일 실시예에 따른 상기 비트열 판독 단계는, 상기 제 2 비트열이 상기 제 2 세그먼트의 길이보다 긴 경우, 상기 제 2 비트열을 상기 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들로부터 연속적으로 판독할 수 있다. 일 실시예에 따른 상기 비트열 판독 단계는, 데이터 그룹의 복호화 처리 순서 상 상기 제 2 비트열의 다음 순서인 비트열을, 상기 제 2 비트열의 저장이 완료된 세그먼트 이외의 세그먼트로부터 판독할 수 있다.
일 실시예에 따른 상기 병렬적 엔트로피 복호화 단계는, 한 사이클 당 상기 세그먼트의 종류의 개수와 동일한 개수의 데이터 그룹별 비트열들에 대해 병렬적으로 엔트로피 복호화할 수 있다.
본 발명의 일 실시예에 따른 엔트로피 부호화 장치에 있어서, 복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성하는 엔트로피 부호화 수행부; 및 상기 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 상기 비트열들을 저장하는 비트열 저장부를 포함한다.
본 발명의 일 실시예에 따른 엔트로피 복호화 장치에 있어서, 복수 개의 세그먼트들로 분류되어 저장된 복수 개의 비트열들을 수신하는 수신부; 데이터 그룹별 비트열의 특성에 따라 분류되어 상기 세그먼트들에 순서대로 저장된 비트열을 판독하는 비트열 판독부; 및 상기 판독된 비트열들을 병렬적으로 엔트로피 복호화 하는 엔트로피 복호화 수행부를 포함한다.
본 발명은, 본 발명의 일 실시예에 따른 엔트로피 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다. 또한 본 발명은, 본 발명의 일 실시예에 따른 엔트로피 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
이하 도 1 내지 9를 참조하여, 본 발명의 일 실시예에 따라 엔트로피 부호화에 의한 비트열을 비트열의 특성에 따라 저장 순서 및 저장 공간을 할당함으로써 재구성된 비트열을 생성하는 엔트로피 부호화 및, 동일한 방식으로 재구성된 비트열에 대한 엔트로피 복호화를 상술한다.
도 1 은 일 실시예에 따른 엔트로피 부호화 장치의 블록도를 도시한다.
일 실시예에 따른 엔트로피 부호화 장치(100)는 엔트로피 부호화 수행부(110) 및 비트열 저장부(120)를 포함한다.
일 실시예에 따른 엔트로피 부호화 수행부(110)는 복수 개의 데이터 그룹별 심볼을 입력받고 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성한다.
일 실시예에서, 데이터 그룹은 영상 데이터를 부호화 처리하는 단위를 지칭한다. 데이터 그룹의 예로는 매크로블록이 있을 수 있지만, 이에 한정되는 것은 아니다.
엔트로피 부호화 장치(100)에 입력되는 데이터 그룹별 심볼은, 입력 영상의 프레임들 간의 움직임을 추정하는 움직임 추정부, 프레임들 간의 움직임 정보를 이용하여 인터 예측을 수행하는 움직임 보상부, 프레임들 중 하나의 프레임 내의 주변 정보를 이용한 인트라 예측을 수행하는 인트라 예측부 및 예측 부호화에 의해 생성된 영상 레지듀얼에 대해 주파수 변환 및 양자화를 수행하는 변환 및 양자화부를 거쳐 생성된 결과 데이터들로이다.
일 실시예에 따른 데이터 그룹별 심볼은 데이터 그룹별 영상 레지듀얼의 양자화된 계수, 부호화 정보 및 움직임 정보 등을 포함할 수 있다. 부호화 정보란 영상의 부호화 과정 중 각종 부호화 방식을 가리키는 예측 모드, 데이터 그룹의 사이즈 등의 정보를 포함할 수 있다.
엔트로피 부호화는 문맥 기반 적응적 가변장 부호화(Contest-based Adaptive Variable Length Coding; CAVLC) 기법, 문맥 기반 적응적 이진 산술 부호화(Context-based Adaptive Binary Arithmetic Coding; CABAC) 기법 등에 따라 수행될 수 있다.
일 실시예에 따른 비트열 저장부(120)는, 엔트로피 부호화 수행부(110)에 의해 생성된 비트열들을 복수 개의 세그먼트들로 분할된 저장 공간에 저장한다. 세그먼트의 길이는 미리 설정되어 있으며, 저장 공간이 동일한 길이의 세그먼트들로 분할된다. 일 실시예에 따른 비트열 저장부(120)는, 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 비트열들을 저장한다.
데이터 그룹별 비트열의 특성은 데이터 그룹의 부호화 처리 순서에 기초한 특성일 수 있다. 또한, 데이터 그룹별 비트열의 특성에 따라 비트열은 복수 개의 그룹으로 분류될 수 있다. 일 실시예에서 세그먼트에 할당되는 비트열의 특성에 따라 세그먼트의 종류가 분류되므로, 비트열의 저장 공간은 복수 개의 종류의 세그먼트로 분할될 수 있다. 일 실시예에 따라, 세그먼트의 종류의 개수는 한 사이클 동안 병렬적으로 엔트로피 복호화할 수 있는 데이터 그룹별 비트열들의 개수를 의미할 수 있다.
일 실시예에 따른 비트열 저장부(120)는, 데이터 그룹의 부호화 처리 순서 상 인접한 데이터 그룹들 간에는 각각의 비트열의 특성이 서로 다른 것으로 보아, 인접하는 데이터 그룹들의 비트열들을 동일한 종류의 세그먼트에 할당하지 않는다. 즉 비트열 저장부(120)는, 데이터 그룹의 부호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들은 다른 세그먼트에 할당한다.
일 실시예에 따른 비트열 저장부(120)는, 비트열이 할당될 세그먼트를 검색할 수 있다. 소정 데이터 그룹의 비트열이 할당될 세그먼트를 검색하는 경우, 현재 사용중인 세그먼트에는 인접한 처리 순서의 데이터 그룹의 비트열이 저장되어 있는 경우, 현재 사용하고 있지 않은 새로운 세그먼트에 소정 데이터 그룹의 비트열이 할당될 수 있다.
구체적으로 설명하면, 일 실시예에 따른 비트열 저장부(120)는 데이터 그룹의 부호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열 각각을, 연속하는 제 1 세그먼트 및 제 2 세그먼트에 할당할 수 있다.
제 1 비트열이 제 1 세그먼트의 길이보다 짧은 경우, 제 1 세그먼트 중 제 1 비트열의 저장 완료 지점부터, 제 1 비트열과 동일한 특성의 다음 비트열이 할당될 수 있다.
또한, 제 2 비트열이 제 2 세그먼트의 길이보다 긴 경우, 제 2 비트열은 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들에 연속적으로 할당될 수 있다. 이 경우 데이터 그룹의 부호화 처리 순서 상 제 2 비트열의 다음 순서인 비트열은, 제 2 비트열의 저장이 완료된 세그먼트 이외의 세그먼트에 할당될 수 있다.
일 실시예에 따른 비트열 저장부(120)에 의해 저장 순서가 재구성되어 비트열은 저장 매체에 저장되거나, 스트리밍을 통해 출력될 수 있다.
일 실시예에 따른 엔트로피 부호화 장치(100)는, 엔트로피 부호화에 의해 생성된 비트열을 데이터 그룹별로 저장 순서를 재구성하여, 복호화단에서 병렬적으로 엔트로피 복호화할 수 있는 비트열 구조로 출력한다. 따라서, HD(High-definition), UD(Ultra-definition) 급의 해상도의 영상에 대한 부복호화 처리에 있어서, 엔트로피 복호화의 고속 처리가 가능해진다.
도 2 은 일 실시예에 따른 엔트로피 복호화 장치의 블록도를 도시한다.
일 실시예에 따른 엔트로피 복호화 장치(200)는 수신부(210), 비트열 판독부(220) 및 엔트로피 복호화 수행부(230)를 포함한다.
일 실시예에 따른 수신부(210)에 의해 수신된 엔트로피 부호화된 비트열은, 복수 개의 데이터 그룹별 비트열들로 구성되어 있다. 수신된 비트열은, 데이터 그룹별 비트열의 저장 순서가 재구성된 형태이다. 데이터 그룹별 비트열의 저장 순서는 데이터 그룹의 복호화 처리 순서를 고려하여 결정될 수 있다. 예를 들어, 데이터 그룹의 복호화 처리 순서 상 인접한 데이터 그룹들은 연속적으로 저장되어 있지 않다.
일 실시예에 따른 비트열 판독부(220)는, 수신부(210)에 의해 수신된 비트열로부터, 데이터 그룹별 비트열들을 구별하여 판독한다. 일 실시예에 따른 비트열 판독부(220)는, 데이터 그룹별 비트열은 그 특성에 따라 분류되어 세그먼트들에 순서대로 저장되어 있으므로, 원하는 비트열을 판독하기 위해 비트열이 할당된 세그먼트를 검색한다.
일 실시예에 따른 비트열 판독부(220)는, 데이터 그룹의 복호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들을, 서로 다른 세그먼트로부터 판독한다. 구체적으로 설명하면 일 실시예에 따른 비트열 판독부(220)는, 데이터 그룹의 복호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열을 각각, 연속하는 제 1 세그먼트 및 제 2 세그먼트로부터 판독한다. 제 1 비트열이 제 1 세그먼트의 길이보다 짧은 경우, 제 1 세그먼트 중 제 1 비트열의 저장 완료 지점부터, 제 1 비트열과 동일한 특성의 다음 비트열이 판독될 수 있다.
또한, 제 2 비트열이 제 2 세그먼트의 길이보다 긴 경우, 제 2 비트열이 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들로부터 연속적으로 판독될 수 있다. 이 경우, 데이터 그룹의 복호화 처리 순서 상 제 2 비트열의 다음 순서인 비트열은, 제 2 비트열의 저장이 완료된 세그먼트 이외의 세그먼트로부터 판독될 수 있다.
일 실시예에 따른 엔트로피 복호화 수행부(230)는, 비트열 판독부(220)에서 판독된 비트열들에 대해 병렬적으로 엔트로피 복호화를 수행한다. 일 실시예에 따 른 엔트로피 복호화 수행부(230)는, 한 사이클 당 세그먼트의 종류의 개수와 동일한 개수의 데이터 그룹별 비트열들에 대해 병렬적으로 엔트로피 복호화할 수 있다. 예를 들어, 데이터 그룹별 비트열의 특성에 따라 비트열들이 N 개의 세그먼트에 분류되어 할당됐다면, 일 실시예에 따른 엔트로피 복호화 수행부(230)는, N개의 세그먼트에 대해 병렬 처리를 수행할 수 있다.
일 실시예에 따른 엔트로피 복호화 수행부(230)에 의해 엔트로피 복호화됨으로써 생성된 데이터 그룹별 심볼들은, 데이터 그룹별 영상 레지듀얼의 양자화된 계수, 부호화 정보 및 움직임 정보를 포함할 수 있다.
일 실시예에 따른 엔트로피 복호화 장치(200)는, 데이터 그룹별 영상 레지듀얼의 양자화된 계수에 대해 역양자화 및 역주파수 변환을 수행하여 데이터 그룹별 영상 데이터를 복원하는 역양자화 및 역변환부, 움직임 정보 및 데이터 그룹별 영상 레지듀얼을 이용하여 인터 예측을 수행하는 움직임 보상부, 데이터 그룹별 영상 데이터에 대해 인트라 예측을 수행하는 인트라 예측부, 및 데이터 그룹별 영상 데이터, 인트라 예측 및 움직임 보상이 수행된 영상 데이터에 대해 디블로킹 필터링을 수행하여 원본 영상을 복원하는 디블록킹 수행부를 더 포함할 수 있다. 데이터 그룹별 심볼들은 역양자화 및 역변환부, 움직임 추정부, 움직임 보상부, 인트라 예측부 및 디블로킹 수행부를 거침으로써, 원본 영상이 복호화될 수 있다.
일 실시예에 따른 엔트로피 복호화 장치(100)는, 엔트로피 부호화에 의해 생성된 비트열을 데이터 그룹별로 저장 순서가 재구성된 비트열들을 수신받아, 복수 개의 데이터 그룹별 비트열들에 대한 엔트로피 복호화의 병렬 처리가 가능하다. 따 라서, HD, UD 급의 해상도의 영상에 대한 엔트로피 복호화의 고속 처리가 가능해진다. 엔트로피 복호화의 고속처리를 통해, 영상 복호화 과정의 전반적인 속도가 향상될 수 있다.
도 3 은 H.264 시스템의 블록도를 도시한다.
H.264 방식에 따른 비디오 부호화 모듈(300)은, 움직임 추정부(310), 움직임 보상부(320), 인트라 예측부(330), 변환 및 양자화부(340), 역양자화 및 역변환부(350), 디블로킹 수행부(360), 부호화 제어부(370) 및 엔트로피 부호화부(380)를 포함한다.
움직임 추정부(310)에서 입력 영상의 프레임들 간의 움직임을 추정되고, 프레임들 간의 움직임 정보를 이용하여 인터 예측을 수행하는 움직임 보상부(320) 및 하나의 프레임 내의 주변 정보를 이용한 인트라 예측을 수행하는 인트라 예측부(330)는 부호화 제어부(370)의 제어에 따라 선택적으로 동작한다. 변환 및 양자화부(340)는 입력 영상 및 예측 부호화에 의해 생성된 영상 레지듀얼에 대해 주파수 변환 및 양자화를 수행하고, 양자화된 계수는 엔트로피 부호화부(380)에서 전송 효율이 높은 비트열로 부호화된다.
양자화된 계수가 역양자화 및 역변환부(350)를 통해 공간 영역의 데이터로 복원된 레지듀얼 영상에 예측 부호화 결과가 반영되어 복원 영상이 생성된다. 디블로킹 수행부(360)는 블록 단위의 양자화 및 변환에 의해 복원 영상에 발생하는 블록 경계 현상을 감소시켜 출력 영상을 생성한다.
부호화 제어부(370)는, 부호화 과정 전반에 걸쳐 부호화를 제어한다. 예를 들어, 변환 및 양자화부(340) 및 역양자화 및 역변환부(350)의 제어, 움직임 추정부(310)의 제어에 대한 정보가 부호화 정보로서 출력될 수 있다.
움직임 추정부(310)에 의해 생성된 움직임 정보, 변환 및 양자화부(340)에 생성된 영상 레지듀얼의 양자화된 계수, 및 부호화 제어부(370)에서 출력된 각종 부호화 정보는, 엔트로피 부호화부(380)에서 엔트로피 상태에 가장 가까운 비트열 형태로 출력된다.
H.264 시스템의 복호화 과정은, 역양자화 및 역변환부(350), 디블로킹 수행부(360), 움직임 보상부(320) 및 인트라 예측부(330)를 포함하는 비디오 복호화 모듈(390)에서 수행될 수 있다. 역영자화 및 역변환부(350)에는, 수신된 비트열에 대해 엔트로피 복호화된 심볼들이 입력된다. 디블로킹 수행부(360)에 의해 블록 경계 현상이 감소된 출력 영상이 복호화된 최종 영상이다.
일 실시예에 따른 엔트로피 부호화 장치(100)가 H.264 압축 방식을 따르는 경우, 엔트로피 부호화부(380)에 적용될 수 있다. 또한, 일 실시예에 따른 엔트로피 복호화 장치(200)가 H.264 압축 방식을 따르는 경우, 병렬적으로 엔트로피 복호화된 심볼들이 비디오 복호화 모듈(390)에 의해 복호화될 수 있다.
다만, 본 발명의 일 실시예에 따른 엔트로피 부호화 장치(100) 및 일 실시예에 따른 엔트로피 복호화 장치(200)의 부복호화 방식은 H.264 방식에만 한정되는 것은 아니다.
도 4 는 엔트로피 부호화의 병렬 처리를 도시한다.
엔트로피 부호화 과정이 가변장 부호화(Variable-length Coding; VLC) 방식 에 따르는 실시예를 도시한다. 영상 레지듀얼에 대한 양자화 결과, 움직임 벡터, 예측 모드, 블록 사이즈 정보 등은 각각의 가변장 부호화 모듈(411, 412, 413, 414)에서 병렬적으로 엔트로피 부호화될 수 있다. 예를 들어, 영상 레지듀얼에 대한 양자화 결과는 레벨(level) 및 런(run) 값에 대한 정보일 있으며, 예측 모드는 인트라 모드, 인터 모드, 스킵 모드 등을 나타낼 수 있으며, 블록 사이즈 정보는 4x4, 8x8, 16x16 등의 블록 사이즈를 나타낼 수 있다.
제 1 가변장 부호화 모듈(411)에 의해 비트열 '0101', 제 2 가변장 부호화 모듈(412)에 의해 비트열 '011', 제 3 가변장 부호화 모듈(413)에 의해 비트열 '1', 그리고 제 4 가변장 부호화 모듈(414)에 의해 비트열 '001'이 생성될 수 있다. 가변장 부호화 모듈들(411, 412, 413, 414)은 병렬적으로 엔트로피 부호화를 수행할 수 있으므로, 비트열들이 동일한 사이클에 생성될 수 있다.
제 1 가변장 부호화 모듈(411), 제 2 가변장 부호화 모듈(412), 제 3 가변장 부호화 모듈(413), 제 4 가변장 부호화 모듈(414)에 의해 각각 생성된 비트열 '0101'(431), '011'(432), '1'(433), '011'(434)는, 비트열 생성 과정(420)을 통해 하나의 비트열 '01010111011'(430)로 구성된다.
따라서 하나의 데이터 그룹의 결과 데이터들이 종류별로 병렬 처리될 수 있으므로, 하나의 데이터 그룹에 대한 데이터 종류별 비트열들은 한 사이클에 동시에 생성될 수 있다. 또한, 비트열 생성 과정(420)은 생성된 엔트로피 부호화 과정(400)은 가변장 부호화 모듈들(411, 412, 413, 414)에서 생성된 비트열들의 크기를 알 수 있기 때문에, 입력 데이터에 따라 각각 생성된 비트열들을 소정 순서에 따라 나열하여 동시에 출력 비트열로 생성할 수 있다.
도 5 는 엔트로피 복호화의 병렬 처리를 도시한다.
엔트로피 복호화 과정(500)은 수신된 비트열(510)이 각각 별개의 정보를 갖는 비트열들(511, 512, 513, 514)로 구성되어 있다 하더라도, 비트열 판독 과정(520)을 통해 선순위 비트열(511)이 판독되어 제 1 가변장 복호화 모듈(531)에서 엔트로피 복호화되지 않는 이상, 후순위 비트열들(512, 513, 514)이 판독될 수는 없다. 따라서, 비트열들(511, 512, 513, 514)들이 병렬적으로 판독되기 어렵다.
비트열의 병렬 판독이 어려움에 따라, 제 1 가변장 복호화 모듈(531)의 엔트로피 복호화 동작과 동시에, 제 2 가변장 복호화 모듈(532), 제 3 가변장 복호화 모듈(533), 제 4 가변장 복호화 모듈(534)의 엔트로피 복호화 동작이 병렬적으로 수행될 수 없다.
따라서 하나의 데이터 그룹 중 데이터 종류별로 병렬 처리함으로써 하나의 데이터 그룹에 대한 엔트로피 부호화의 병렬 처리가 가능하다 하더라도, 엔트로피 복호화 과정에서는 비트열들 중 후순위 비트열의 저장 시작 위치를 파악하기 힘드므로 병렬 처리가 어려운 점이 있다.
도 6 은 일 실시예에 따른 데이터 그룹별 비트열의 분류에 따라 저장 공간의 세그먼트를 할당하는 방식의 개념도를 도시한다.
엔트로피 부호화된 비트열(600)은 데이터 그룹별 비트열들(611, 612, 613, 614, 615)로 구성된다. 예를 들어, 비트열의 저장 공간을 두 종류의 세그먼트로 분류한다면, 이에 따라 데이터 그룹별 비트열의 특성은 두 타입으로 분류되도록 결정 할 수 있다. 각각의 타입의 데이터 그룹의 비트열은 각각 다른 종류의 세그먼트에 할당될 수 있다.
일 실시예에 따른 엔트로피 부호화 장치(100)는, 비트열의 재구성 순서를 결정짓는 데이터 그룹별 비트열의 특성으로, 데이터 그룹의 부호화 또는 복호화 처리 순서(이하, '부호화 처리 순서'로 지칭한다.)를 이용할 수 있다. 비트열의 저장 공간이 두 종류의 세그먼트로 분류된다면, 이에 따라 데이터 그룹의 부호화 처리 순서는 두 타입으로 분류될 수 있다. 일례로 비트열(600)은, 데이터 그룹의 부호화 처리 순서로 홀수 및 짝수 번째 처리 순서의 데이터 그룹의 비트열로 분류될 수 있다.
B1, B2, B3, B4, B5는 데이터 그룹의 부호화 처리 순서를 나타낸다. 따라서, 비트열 611, 비트열 613 및 비트열 615는 제 1 타입의 비트열들, 비트열 612, 비트열 614, 비트열 616은 제 2 타입의 비트열들로 분류될 수 있다. 일 실시예에 따른 비트열 저장부(120)는 제 1 타입의 비트열들을 제 1 타입의 세그먼트에 할당하고, 제 2 타입의 비트열들을 제 2 타입의 세그먼트에 할당할 수 있다. 또한, 일 실시예에 따른 비트열 판독부(220)는 제 1 타입의 비트열들을 제 1 타입의 세그먼트로부터 판독하고, 제 2 타입의 비트열들을 제 2 타입의 세그먼트로부터 판독할 수 있다.
도 7a, 7b, 7c 및 7d 은 일 실시예에 따라 세그먼트로 분할된 저장 공간에 데이터 그룹별 비트열이 순서대로 저장되는 개념도를 도시한다.
도 7a, 7b, 7c 및 7d의 개념도는 일 실시예에 따른 비트열 저장부(120)가 엔 트로피 부호화된 데이터 그룹별 비트열을 재구성하여 저장하는 방식을 도시한다. 또한, 도 7a, 7b, 7c 및 7d의 개념도에 따라, 일 실시예에 따른 비트열 판독부(220)는 수신된 비트열로부터, 데이터 그룹별 비트열을 구분하며 부호화 처리 순서대로 판독할 수 있다.
도 7a에서, 비트열의 저장 공간(700)은 세그먼트들(701, 702, 703, 704, 705, 706)로 분할된다. 데이터 그룹별 비트열의 특성을, 데이터 그룹의 부호화 처리 순서상, 짝수 번째 데이터 그룹의 비트열을 제 1 특성 및 홀수 번째 데이터 그룹의 비트열을 제 2 특성으로 분류될 수 있다. 최초 비트열인 순서 번호 0의 데이터 그룹의 비트열(710)은 세그먼트(701)에 할당될 수 있다. 제 1 특성의 비트열이 할당된 세그먼트(701)는 제 1 종류의 세그먼트로 분류될 수 있다.
도 7b에서, 순서 번호 1의 데이터 그룹의 비트열(711)은, 데이터 그룹의 부호화 처리 순서에 따라 비트열(710)과 인접하는 데이터 그룹의 비트열이므로, 비트열(710)이 할당된 세그먼트(701)에 할당될 수 없다. 따라서, 순서 번호 1의 데이터 그룹의 비트열(711)은 세그먼트(702)에 할당될 수 있다. 제 2 특성의 비트열(711)이 할당된 세그먼트(702)는 제 2 종류의 세그먼트로 분류될 수 있다.
일 실시예에 따른 엔트로피 복호화 수행부(230)이, 제 1 엔트로피 복호화 모듈 및 제 2 엔트로피 복호화 모듈을 구비하는 경우, 제 1 엔트로피 복호화 모듈이 제 1 특성의 비트열에 대한 엔트로피 복호화를 수행하고, 제 2 엔트로피 복호화 모듈이 제 2 특성의 비트열에 대한 엔트로피 복호화를 제 1 엔트로피 복호화 모듈과 함께 병렬적으로 수행할 수 있다.
도 7c에서, 순서 번호 2의 데이터 그룹의 비트열(712)은 비트열(710)과 동일한 제 1 특성의 데이터 그룹의 비트열이므로, 비트열(710)와 동일한 세그먼트에 할당될 수 있다. 세그먼트(701)에 비트열(710)의 저장 공간 이외에 잔여 공간이 있으므로, 비트열(712)은 세그먼트(701)에 할당될 수 있다.
이 경우, 비트열들(710. 712)은 인접해있으므로, 제 2 엔트로피 복호화 모듈이 제 2 특성의 비트열(711)의 엔트로피 복호화를 완료하기 전에, 제 1 엔트로피 복호화 모듈이 비트열들(710. 712)을 모두 엔트로피 복호화하는 것이 가능하다.
도 7d에서, 순서 번호 3의 데이터 그룹의 비트열(713)은 제 2 특성의 데이터 그룹의 비트열이므로, 제 2 특성의 비트열(711)와 동일한 세그먼트에 할당될 수 있다. 세그먼트(702)에 비트열(711)의 저장 공간 이외에 잔여 공간이 있으므로, 비트열(713)은 세그먼트(702)에 할당될 수 있다. 다만, 비트열(713)의 길이가 세그먼트(702)의 잔여 공간보다 길기 때문에 비트열(713)이 모두 할당될 수 있는 인접한 세그먼트들(703, 704)에 연속적으로 할당될 수 있다. 제 2 특성의 비트열(713)이 할당된 세그먼트들(703, 704)은 제 2 종류의 세그먼트로 분류될 수 있다.
순서 번호 4의 데이터 그룹의 비트열은 제 1 특성의 데이터 그룹의 비트열이므로, 제 1 특성의 비트열들(710, 712)와 동일한 세그먼트(701)에 할당될 수 있다. 세그먼트(701)에 비트열들(710, 712)의 저장 공간 이외에 잔여 공간이 있으므로, 순서 번호 4의 비트열 중 일부 비트열(714)은 세그먼트(702)에 할당될 수 있다. 다만, 순서 번호 4의 비트열의 길이가 세그먼트(701)의 잔여 공간보다 길기 때문에, 순서 번호 4의 비트열의 잔여 비트열(724)은 다른 세그먼트에 할당되어야 한다.
이 경우, 세그먼트들 702, 703, 704은 제 2 타입의 세그먼트들이므로, 제 1 특성의 비트열이 할당될 수 없다. 따라서, 제 1 종류의 세그먼트(701)로부터 가장 가까우며 제 2 종류의 세그먼트가 아닌 세그먼트 705에 순서 번호 4의 비트열의 잔여 비트열(724)이 할당될 수 있다.
이러한 방식으로, 일 실시예에 따른 비트열 저장부(120)는 제 1 특성 및 제 2 특성의 비트열을 서로 다른 세그먼트에 나누어 할당할 수 있다. 이에 따라 일 실시예에 따른 비트열 판독부(220)는, 제 1 종류의 세그먼트로부터 제 1 특성의 비트열들을 판독하고, 제 2 종류의 세그먼트로부터 제 2 특성의 비트열들을 판독할 수 있다.
또한, 비트열(713)의 저장 완료 위치가 세그먼트(704)라는 사실을 확인하기 전까지는, 순서 번호 4의 비트열의 잔여 비트열(724)이 할당된 세그먼트가 세그컨트 705라는 사실을 확인할 수 없다. 즉, 복호화 처리 순서에 따라 선순위인 비트열(713)의 판독이 완료되기 전에는, 후순위인 순서 번호 4의 비트열의 잔여 비트열(724)의 판독 위치를 결정지을 수 없다.
따라서, 엔트로피 복호화의 병렬 처리 순서에 따라, 제 1 특성의 비트열 710 및 제 2 특성의 비트열 711이 동일한 사이클에 처리되고, 제 1 특성의 비트열 712 및 제 2 특성의 비트열 713이 동일한 사이클에 처리될 수 있지만, 제 2 특성의 비트열 713의 처리 사이클이 완료되기 전에 제 1 특성의 순서 번호 4의 비트열에 대한 엔트로피 복호화가 완료될 수는 없다.
제 1 엔트로피 복호화 모듈이 순서 번호 2의 비트열(712)에 대해, 제 2 엔트 로피 복호화 모듈이 순서 번호 3의 비트열(713)에 대해 병렬적으로 엔트로피 복호화 처리하는 도중에, 순서 번호 2의 비트열(712)에 대한 처리가 먼저 완료된다면, 순서 번호 3의 비트열(713)에 대한 제 2 엔트로피 복호화 모듈의 처리가 완료되지 않더라도, 순서 번호 4의 비트열에 대한 제 1 엔트로피 모듈의 처리가 시작될 수 있다. 이 경우, 순서 번호 3의 비트열(713)에 대한 제 2 엔트로피 복호화 모듈의 처리가 완료되지 않더라도, 순서 번호 4의 비트열 중 비트열(714)까지는 판독이 가능하여 엔트로피 복호화가 가능하다. 다만, 순서 번호 4의 비트열 중 잔여 비트열(724)의 판독 위치가 결정되지 않으므로, 순서 번호 3의 비트열(713)에 대한 제 2 엔트로피 복호화 모듈의 처리가 완료될 때까지 순서 번호 4의 비트열에 대한 엔트로피 복호화의 동작이 중단되어야 한다.
또는, 제 1 엔트로피 복호화 모듈이 순서 번호 2의 비트열(712)에 대해, 제 2 엔트로피 복호화 모듈이 순서 번호 3의 비트열(713)에 대해 병렬적으로 엔트로피 복호화 처리하는 도중에, 순서 번호 2의 비트열(712)에 대한 처리가 먼저 완료되더라도, 순서 번호 3의 비트열(713)에 대한 처리가 완료될 때까지, 순서 번호 4의 비트열에 대한 제 1 엔트로피 모듈의 처리가 시작되지 않은 채 중단하도록 미리 설정될 수 있다.
도 6, 7a, 7b, 7c 및 7d에서 두 타입에 따라 분류되 비트열을 두 종류의 세그먼트에 할당하는 경우에 대해서만 기술되어 있지만, 일 실시예에 따른 엔트로피 부호화 장치(100) 및 일 실시예에 따른 엔트로피 복호화 장치(200)는 셋 이상의 N 개의 세그먼트에 할당된 비트열들에 대해서 N 개의 비트열씩 병렬적으로 엔트로피 복호화하는 것이 가능하다. 이 경우, 하나의 세그먼트 안에는 순서 번호가 N씩 차이나는 데이터 그룹들만이 할당될 수 있다.
도 8 은 일 실시예에 따른 엔트로피 부호화 방법의 흐름도를 도시한다.
단계 810에서, 복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화가 수행되어, 데이터 그룹별 비트열들이 생성된다.
단계 820에서, 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트가 할당되어 비트열들이 저장된다. 데이터 그룹의 부호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들은 서로 다른 세그먼트에 할당된다.
데이터 그룹별 비트열의 특성은 데이터 그룹의 부호화 처리 순서에 관한 것이고, 데이터 그룹의 부호화 처리 순서 상 인접한 데이터 그룹들 간에는 각각의 비트열의 특성이 서로 다르도록 결정될 수 있다. 데이터 그룹별 비트열의 특성에 따라 비트열은 복수개의 그룹으로 분류될 수 있다. 세그먼트에 할당되는 비트열의 특성에 따라 세그먼트의 종류가 분류되고, 세그먼트의 종류의 개수는 한 사이클 동안 병렬적으로 엔트로피 복호화할 수 있는 데이터 그룹별 비트열의 개수에 상응한다.
도 9 는 일 실시예에 따른 엔트로피 복호화 방법의 흐름도를 도시한다.
단계 910에서, 복수 개의 세그먼트들로 분류되어 할당된 복수 개의 비트열들이 수신된다. 수신된 비트열은, 데이터 그룹별 비트열의 저장 순서가 재구성된 형태이다. 데이터 그룹별 비트열의 저장 순서는 데이터 그룹의 복호화 처리 순서를 고려하여 결정될 수 있다.
단계 920에서, 데이터 그룹별 비트열의 특성에 따라 분류되어 세그먼트들에 순서대로 할당된 비트열이 판독된다. 데이터 그룹의 복호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들은, 서로 다른 세그먼트로부터 판독될 수 있다.
단계 930에서, 판독된 비트열들은 병렬적으로 엔트로피 복호화된다. 병렬 처리 사이클마다, 세그먼트의 종류의 개수와 동일한 개수의 데이터 그룹별 비트열들이 병렬적으로 엔트로피 복호화될 수 있다. 예를 들어, 데이터 그룹별 비트열의 특성에 따라 비트열들이 N 개의 세그먼트에 분류되어 할당됐다면, 한 사이클 당 N개의 세그먼트에 대해 엔트로피 복호화의 병렬 처리가 수행될 수 있다.
일 실시예에 따른 엔트로피 부호화에 의해 생성된 비트열은 데이터 그룹별로 저장 순서가 재구성된다. 일 실시예에 따른 엔트로피 복호화단은, 데이터 그룹별로 저장 순서가 재구성된 비트열들로부터, 엔트로피 복호화의 병렬 처리 순서에 따라 데이터 그룹별 비트열들을 판독하여, 복수 개의 데이터 그룹별 비트열에 대한 엔트로피 복호화의 병렬 처리가 가능하다. 따라서, HD, UD 급의 해상도의 영상에 대한 엔트로피 복호화의 고속 처리가 가능해진다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1 은 일 실시예에 따른 엔트로피 부호화 장치의 블록도를 도시한다.
도 2 은 일 실시예에 따른 엔트로피 복호화 장치의 블록도를 도시한다.
도 3 은 H.264 시스템의 블록도를 도시한다.
도 4 는 엔트로피 부호화의 병렬 처리를 도시한다.
도 5 는 엔트로피 복호화의 병렬 처리를 도시한다.
도 6 은 일 실시예에 따른 데이터 그룹별 비트열의 분류에 따라 저장 공간의 세그먼트를 할당하는 방식의 개념도를 도시한다.
도 7a, 7b, 7c 및 7d 은 일 실시예에 따라 세그먼트로 분할된 저장 공간에 데이터 그룹별 비트열이 순서대로 할당되는 개념도를 도시한다.
도 8 은 일 실시예에 따른 엔트로피 부호화 방법의 흐름도를 도시한다.
도 9 는 일 실시예에 따른 엔트로피 복호화 방법의 흐름도를 도시한다.

Claims (24)

  1. 복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성하는 단계; 및
    상기 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 상기 비트열들을 저장하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법.
  2. 제 1 항에 있어서, 상기 비트열 저장 단계는,
    상기 데이터 그룹의 부호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들은 서로 다른 세그먼트에 할당하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법.
  3. 제 2 항에 있어서, 상기 비트열 저장 단계는,
    상기 데이터 그룹의 부호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열을 각각, 연속하는 제 1 세그먼트 및 제 2 세그먼트에 할당하는 것을 특징으로 하는 엔트로피 부호화 방법.
  4. 제 3 항에 있어서, 상기 비트열 저장 단계는,
    상기 제 1 비트열이 상기 제 1 세그먼트의 길이보다 짧은 경우, 상기 제 1 세그먼트 중 상기 제 1 비트열의 저장 완료 지점부터 상기 제 1 비트열과 동일한 특성의 다음 비트열을 할당하는 것을 특징으로 하는 엔트로피 부호화 방법.
  5. 제 3 항에 있어서, 상기 비트열 저장 단계는,
    상기 제 2 비트열이 상기 제 2 세그먼트의 길이보다 긴 경우, 상기 제 2 비트열을 상기 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들에 연속적으로 할당하는 것을 특징으로 하는 엔트로피 부호화 방법.
  6. 제 5 항에 있어서, 상기 비트열 저장 단계는,
    데이터 그룹의 부호화 처리 순서 상 상기 제 2 비트열의 다음 순서인 비트열을, 상기 제 2 비트열이 모두 할당된 세그먼트 이외의 세그먼트에 할당하는 것을 특징으로 하는 엔트로피 부호화 방법.
  7. 제 1 항에 있어서,
    상기 데이터 그룹별 비트열의 특성은 상기 데이터 그룹의 부호화 처리 순서에 관한 것이고, 상기 데이터 그룹의 부호화 처리 순서 상 인접한 데이터 그룹들 간에는 각각의 비트열의 특성이 서로 다른 것을 특징으로 하는 엔트로피 부호화 방법.
  8. 제 1 항에 있어서,
    상기 데이터 그룹별 비트열의 특성에 따라 분류되는 비트열 그룹은 복수 개인 것을 특징으로 하는 엔트로피 부호화 방법.
  9. 제 8 항에 있어서,
    상기 세그먼트에 할당되는 비트열의 특성에 따라 상기 세그먼트의 종류가 분류되고, 상기 세그먼트의 종류의 개수는 한 사이클 동안 병렬적으로 엔트로피 복호화할 수 있는 데이터 그룹별 비트열의 개수인 것을 특징으로 하는 엔트로피 부호화 방법.
  10. 복수 개의 세그먼트들로 분류되어 저장된 복수 개의 비트열들을 수신하는 단계;
    데이터 그룹별 비트열의 특성에 따라 분류되어 상기 세그먼트들에 순서대로 저장된 비트열을 판독하는 단계; 및
    상기 판독된 비트열들을 병렬적으로 엔트로피 복호화하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법.
  11. 제 11 항에 있어서, 상기 비트열 판독 단계는,
    상기 데이터 그룹의 복호화 처리 순서 상 인접하는 데이터 그룹들의 비트열들을 서로 다른 세그먼트로부터 판독하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법.
  12. 제 11 항에 있어서, 상기 비트열 판독 단계는,
    상기 데이터 그룹의 복호화 처리 순서상 연속적인 제 1 비트열 및 제 2 비트열을 각각, 연속하는 제 1 세그먼트 및 제 2 세그먼트로부터 판독하는 것을 특징으로 하는 엔트로피 복호화 방법.
  13. 제 12 항에 있어서, 상기 비트열 판독 단계는,
    상기 제 1 비트열이 상기 제 1 세그먼트의 길이보다 짧은 경우, 상기 제 1 세그먼트 중 상기 제 1 비트열의 저장 완료 지점부터 상기 제 1 비트열과 동일한 특성의 다음 비트열을 판독하는 것을 특징으로 하는 엔트로피 복호화 방법.
  14. 제 12 항에 있어서, 상기 비트열 판독 단계는,
    상기 제 2 비트열이 상기 제 2 세그먼트의 길이보다 긴 경우, 상기 제 2 비트열을 상기 제 2 세그먼트로부터 인접한 복수 개의 세그먼트들로부터 연속적으로 판독하는 것을 특징으로 하는 엔트로피 복호화 방법.
  15. 제 14 항에 있어서, 상기 비트열 판독 단계는,
    데이터 그룹의 복호화 처리 순서 상 상기 제 2 비트열의 다음 순서인 비트열을, 상기 제 2 비트열의 저장이 완료된 세그먼트 이외의 세그먼트로부터 판독하는 것을 특징으로 하는 엔트로피 복호화 방법.
  16. 제 10 항에 있어서,
    상기 데이터 그룹별 비트열의 특성은 상기 데이터 그룹의 복호화 처리 순서에 관한 것이고, 상기 데이터 그룹의 복호화 처리 순서 상 인접한 데이터 그룹들 간에는 각각의 비트열의 특성이 서로 다른 것을 특징으로 하는 엔트로피 복호화 방법.
  17. 제 11 항에 있어서,
    상기 데이터 그룹별 비트열의 특성에 따라 분류되는 비트열 그룹은 복수 개인 것을 특징으로 하는 엔트로피 복호화 방법.
  18. 제 17 항에 있어서,
    상기 세그먼트에 저장되는 비트열의 특성에 따라 상기 세그먼트의 종류가 분류되고,
    상기 병렬적 엔트로피 복호화 단계는, 한 사이클 당 상기 세그먼트의 종류의 개수와 동일한 개수의 데이터 그룹별 비트열들에 대해 병렬적으로 엔트로피 복호화하는 것을 특징으로 하는 엔트로피 복호화 방법.
  19. 엔트로피 부호화 장치에 있어서,
    복수 개의 데이터 그룹별 심볼에 대해 엔트로피 부호화를 수행하여, 데이터 그룹별 비트열들을 생성하는 엔트로피 부호화 수행부; 및
    상기 비트열들의 저장 공간이 분할된 복수 개의 세그먼트들 중에서, 각각의 비트열의 특성에 따라 저장될 세그먼트를 할당하여 상기 비트열들을 저장하는 비트열 저장부를 포함하는 것을 특징으로 하는 엔트로피 부호화 장치.
  20. 제 19 항에 있어서, 상기 엔트로피 부호화 장치는,
    입력 영상의 프레임들 간의 움직임을 추정하는 움직임 추정부;
    상기 프레임들 간의 움직임 정보를 이용하여 인터 예측을 수행하는 움직임 보상부;
    상기 프레임들 중 하나의 프레임 내의 주변 정보를 이용한 인트라 예측을 수행하는 인트라 예측부; 및
    상기 예측 부호화에 의해 생성된 영상 레지듀얼에 대해 주파수 변환 및 양자화를 수행하는 변환 및 양자화부를 더 포함하고,
    상기 데이터 그룹별 심볼은, 부호화 과정을 제어하는 각종 부호화 정보, 상기 데이터 그룹별 영상 레지듀얼의 양자화된 계수 및 상기 움직임 정보를 포함하는 것을 특징으로 하는 엔트로피 부호화 장치.
  21. 엔트로피 복호화 장치에 있어서,
    복수 개의 세그먼트들로 분류되어 저장된 복수 개의 비트열들을 수신하는 수신부;
    데이터 그룹별 비트열의 특성에 따라 분류되어 상기 세그먼트들에 순서대로 저장된 비트열을 판독하는 비트열 판독부; 및
    상기 판독된 비트열들을 병렬적으로 엔트로피 복호화하는 엔트로피 복호화 수행부를 포함하는 것을 특징으로 하는 엔트로피 복호화 장치.
  22. 제 21 항에 있어서,
    상기 엔트로피 복호화 수행부는, 엔트로피 복호화를 통해 상기 데이터 그룹별 영상 레지듀얼의 양자화된 계수, 부호화 정보 및 움직임 정보를 포함하는 데이터 그룹별 심볼을 생성하고,
    상기 엔트로피 복호화 장치는,
    상기 데이터 그룹별 영상 레지듀얼의 양자화된 계수에 대해 역양자화 및 역주파수 변환을 수행하여 데이터 그룹별 영상 데이터를 복원하는 역양자화 및 역변환부;
    상기 움직임 정보 및 상기 데이터 그룹별 영상 레지듀얼을 이용하여 인터 예측을 수행하는 움직임 보상부;
    상기 데이터 그룹별 영상 데이터에 대해 인트라 예측을 수행하는 인트라 예측부; 및
    상기 데이터 그룹별 영상 데이터, 인트라 예측 및 움직임 보상이 수행된 영상 데이터에 대해 디블로킹 필터링을 수행하여 원본 영상을 복원하는 디블록킹 수행부를 더 포함하는 것을 특징으로 하는 엔트로피 복호화 장치.
  23. 제 1 항 내지 제 9 항 중 어느 한 항의 엔트로피 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  24. 제 10 항 내지 제 18 항 중 어느 한 항의 엔트로피 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020090104426A 2009-10-30 2009-10-30 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치 KR101631944B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090104426A KR101631944B1 (ko) 2009-10-30 2009-10-30 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치
US12/916,767 US9398306B2 (en) 2009-10-30 2010-11-01 Entropy encoding/decoding method and apparatus for accelerating video decoding
US13/356,376 US20120121024A1 (en) 2009-10-30 2012-01-23 Method and apparatus for parallel entropy encoding and parallel entropy decoding based on decoding rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090104426A KR101631944B1 (ko) 2009-10-30 2009-10-30 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치

Publications (2)

Publication Number Publication Date
KR20110047700A true KR20110047700A (ko) 2011-05-09
KR101631944B1 KR101631944B1 (ko) 2016-06-20

Family

ID=43925412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090104426A KR101631944B1 (ko) 2009-10-30 2009-10-30 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치

Country Status (2)

Country Link
US (1) US9398306B2 (ko)
KR (1) KR101631944B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018070567A1 (ko) * 2016-10-13 2018-04-19 디지털인사이트주식회사 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치
US10455244B2 (en) 2014-11-14 2019-10-22 Lg Electronics Inc. Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
CN112166618B (zh) * 2019-04-29 2022-07-12 百度时代网络技术(北京)有限公司 自动驾驶系统、自动驾驶系统的传感器单元、用于操作自动驾驶车辆的计算机实现的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240372B1 (ko) * 1994-09-30 2000-01-15 이토가 미찌야 데이타를 부호화 및 복호화하는 장치 및 방법
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
US20090175349A1 (en) * 2007-10-12 2009-07-09 Qualcomm Incorporated Layered encoded bitstream structure
KR20100138425A (ko) * 2009-06-25 2010-12-31 한양대학교 산학협력단 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717394A (en) 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
US8582656B2 (en) * 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
JP4875024B2 (ja) * 2008-05-09 2012-02-15 株式会社東芝 画像情報伝送装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240372B1 (ko) * 1994-09-30 2000-01-15 이토가 미찌야 데이타를 부호화 및 복호화하는 장치 및 방법
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
US20090175349A1 (en) * 2007-10-12 2009-07-09 Qualcomm Incorporated Layered encoded bitstream structure
KR20100138425A (ko) * 2009-06-25 2010-12-31 한양대학교 산학협력단 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10455244B2 (en) 2014-11-14 2019-10-22 Lg Electronics Inc. Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
WO2018070567A1 (ko) * 2016-10-13 2018-04-19 디지털인사이트주식회사 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치
US11159825B2 (en) 2016-10-13 2021-10-26 Intellectual Discovery Co., Ltd. Video coding method and apparatus utilizing group of encoding units
US11659209B2 (en) 2016-10-13 2023-05-23 Intellectual Discovery Co., Ltd. Video coding method and apparatus utilizing group of encoding units

Also Published As

Publication number Publication date
US9398306B2 (en) 2016-07-19
US20110103469A1 (en) 2011-05-05
KR101631944B1 (ko) 2016-06-20

Similar Documents

Publication Publication Date Title
US10805612B2 (en) Method and device for sharing a candidate list
JP7387841B2 (ja) 映像復号化方法
KR101538837B1 (ko) 변환 유닛 내의 다수 부호 비트 은폐
KR101708982B1 (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
US11102494B2 (en) Method for scanning transform coefficient and device therefor
JP2017069971A (ja) インタ予測方法及びその装置
WO2003053066A1 (en) Skip macroblock coding
CN111133759A (zh) 存储器访问减少的fruc模式下编码或解码视频数据的方法和装置
KR20110047700A (ko) 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치
JP2008271127A (ja) 符号化装置
JP2023038316A (ja) 決定装置、符号化装置、復号装置及びプログラム
JP6272194B2 (ja) 動画像符号化装置、動画像復号装置、および動画像符号化・復号化方法
KR101688085B1 (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
KR20130055317A (ko) 순차적으로 후보 블록을 선정하여 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
RU2575419C2 (ru) Способ и устройство для совместного использования списка кандидатов
JP2021061547A (ja) 画像符号化装置、画像符号化方法、及びプログラム
KR20130055318A (ko) 제한된 후보 블록을 기반으로 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
KR20120095794A (ko) 고속 영상 부호화 방법
KR20130055315A (ko) 서로 다른 병합 가능 블록 집합을 이용한 영상 부호화/복호화 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant