KR101344973B1 - 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법 - Google Patents

화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법 Download PDF

Info

Publication number
KR101344973B1
KR101344973B1 KR1020117024128A KR20117024128A KR101344973B1 KR 101344973 B1 KR101344973 B1 KR 101344973B1 KR 1020117024128 A KR1020117024128 A KR 1020117024128A KR 20117024128 A KR20117024128 A KR 20117024128A KR 101344973 B1 KR101344973 B1 KR 101344973B1
Authority
KR
South Korea
Prior art keywords
picture
tree structure
coefficients
encoder
encoding
Prior art date
Application number
KR1020117024128A
Other languages
English (en)
Other versions
KR20120011849A (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 KR20120011849A publication Critical patent/KR20120011849A/ko
Application granted granted Critical
Publication of KR101344973B1 publication Critical patent/KR101344973B1/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/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/96Tree coding, e.g. quad-tree coding
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

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

임베디드와 비임베디드 인코딩 양방 모두에 적용가능한, 일반화된 계층 트리에서의 세트 파티셔닝을 활용한 적응적 엔트로피 인코딩 및 디코딩이 개시된다. 인코딩 중의 연관해제 및 양자화 후, 계수들의 제로 클러스터링을 향상시키는 방향으로 계수들을 코딩하기 위해, 화상 블록 내의 기하학적 관계에 기초하여, 복수의 후보 중에서 트리 구조가 선택된다. 트리 구조는 특정한 배열의 리프 및 비-리프 노드를 가지며, 리프 노드들은 각 비-리프 노드와 연관된 계수들을 포함한다. 적절한 트리 선택에 의해, 인코딩된 출력 스트림으로부터 제거될 수 있는 제로 클러스터링된 계수들의 개수가 증가된다. 디코딩 중에, 현재의 블록에 대한 인코딩과 호환되는 트리 구조가, 심볼 스트림으로부터 기존의 계수들을 디코딩하여 사라진 제로 계수들을 복원하기 위해 사용된다.

Description

화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법{ADAPTIVE ENTROPY CODING FOR IMAGES AND VIDEOS USING SET PARTITIONING IN GENERALIZED HIERARCHICAL TREES}
<연관된 출원의 상호 참조>
본 출원은 2010년 4월 13일자로 출원된 U.S. 특허출원 제12/758,981호의 우선권을 주장하며, 그 전체 내용이 본 명세서에 참조로 원용된다. 또한, 본 출원은 2009년 6월 9일자로 출원된 U.S. 가특허출원 제61/185,568호의 우선권을 주장하며, 그 전체 내용이 본 명세서에 참조로 원용된다.
발명의 분야
본 발명은 일반적으로 화상 및 비디오 코딩에 관한 것으로, 특히 일반화된 계층 트리의 세트 파티셔닝을 활용하는 적응적 엔트로피 코딩 장치 및 방법에 관한 것이다.
종래 기술의 설명
엔트로피 코딩은, 통상 (1) 변환(또는 그 변환에 앞선 선택적인 예측)을 행하는 단계, (2) 양자화 단계, 및 (3) 엔트로피 코딩 단계에 응답하는, 화상 및 비디오 압축의 주요 요소이다.
통상 JPEG 엔트로피 코딩 방법은 Joint Photographic Experts Group(사진 그래픽 전문가 연합 그룹)을 의미하며 컴퓨터 화상 파일 압축 기술에 적합한 ISO/IEC 표준이고, 하기에서 기술된다. JPEG 파일은, 압축 품질의 범위 중에서 선택함으로써, 더 정확하게는 다수의 압축 알고리즘 중에서 하나를 선택함으로써 생성된다. 화상을 JPEG 압축을 통해 변환함에 있어서, 결과적인 화상의 목표 크기 또는 품질은 원래 화상에 근사하거나 또는 그보다 낮은 품질 레벨로 지정된다. 최고의 품질의 화상은 최대의 파일을 초래하기 때문에, 화상 품질과 파일 사이즈 사이에는 상충 관계가 있다. 표준에 따른 JPEG 스킴은, 비록 JPEG 실행자가 모두를 이용하지 않을 수 있지만, 스물 아홉(29)개의 별개의 코딩 처리를 포함한다.
JPEG에서 엔트로피 코딩을 실행하는 경우, 각 8×8 블록이 이산 코사인 변환(discrete cosine transforms(DCT)) 을 사용하여 변환되고, DCT 계수들은 양자화되고, 지그재그 스캔되고, 런-길이(run-length) 코딩된다. 런-길이 코딩은 각 화소의 값들을 개별적으로 저장하기보다는 동일한 화소들의 선형 그룹들을 생성함으로써 보다 낮은 레이트로 DCT 계수를 인코딩하는 방식을 제공한다고 인식될 것이다. 이산 코사인 변환(DCT)은 임의의 파형을 코사인들의 가중화된 합으로서 표현하는 메커니즘을 제공하고, 다양한 형태의 신호 처리, 특히 화상 및 비디오 압축의 처리에 있어서 중심이 된다.
도 1a는 4×4 블록의 지그재그 스캐닝의 예를 도시하며, 계수 위치들이 도 1b에 도시된다. 이 지그재그 패턴에 따라 JPEG의 엔트로피 인코딩을 행하는 것에 대해서는 다수의 단점들이 존재한다. 특히, (1) 레이트 제어 메커니즘이 없고, 또한 그러면서 (2) 지그재그 스캐닝이 DCT 계수들의 2-D 의존성을 파괴하며, (3) 이 고정된 지그재그 스캐닝은 커다란 화상 데이터의 집합의 통계에 기초하고 있으므로, 국부적인 화상 블록의 국부적인 특성(예컨대, 방향성)에는 적합하지 않다.
양자화에 사용되는 파라미터들은 부분적으로 레이트 제어를 결정함으로써, 이에 의해 소망의 파일 사이즈를 얻기 위해서는 전형적으로 상이한 양자화 파라미터들이 시도되어야 한다는 것을 이해할 것이다.
비트 평면 기반의 엔트로피 코딩은 스케일러블 화상/비디오 코딩에 널리 이용된다. 이 처리에서, 변환 계수들은 바이너리 형태로 변환되고, 최상위 비트 평면(MSB)으로부터 최하위 비트 평면(LSB)까지 코딩된다. 이 처리 동안, 하위의 비트 평면들의 인코딩과 디코딩은 상위의 비트 평면들의 지식에 기초한다. 비트스트림 코딩 처리는, 합리적으로 양호한 재구성 품질을 제공하면서 주어진 비트레이트 예산을 충족시키는 방향으로, 어디에서든지 정지될 수 있다. 각 계수의 가장 중요한 부분(MSBs)이 이미 코딩되었기 때문에, 코딩 처리의 임의의 포인트에 있어서 정지하는 능력이 가능하다. 이 비트스트림 코딩 메커니즘은 임베디드 코딩으로서 알려져 있고, 양호한 레이트 제어를 제공한다.
2-D 의존성의 상실에 대해서는, 예를 들어, 도 1b의 계수 위치 2와 6은 4×4 블록에 도시된 주파수 스펙트럼에 있어서 근접하지만, 도 1a에 도시된 지그재그 스캐닝 순서에 응답하여 그들은 전혀 인접하지 않고 실제로 서로 멀리 떨어진다는 것을 알 것이다. 어떤 유형의 블록에 대해서, 계수 위치 2가 제로(0)가 아니면, 계수 위치 6도 마찬가지로 제로가 아닐 확률이 높으며, 이 경우, 지그재그 스캐닝이 장기 지속(long run)을 잠재적으로 방해하여 코딩 효율을 저하시킬 수 있다.
화상 및 비디오 등의 2D 비주얼 신호의 코딩 효율을 향상시키기 위해, 국부적인 기하학적 조건을 채용하는 것이 최근의 추세이다. 그러나, 이들 방법은 적합한 엔트로피 코딩 방법과 양호하게 연계되어오지 않았고, 이에 따라 통계적인 잉여가 완전하게 이용되지 않는다. 이에 대하여, 본 발명은, 적응적 엔트로피 코딩 방법을 설계함의 중요성을 설명한다.
따라서, 낮은 복잡성과 높은 효율을 갖고, 레이트 제어가 가능한 엔트로피 인코딩 및 디코딩을 행하기 위한 방법 및 장치의 존재가 요구된다. 이들 및 다른 요구들이 본 발명에서 충족되어, 이전에 개발된 엔트로피-기반 화상/비디오 코딩 기술의 결함을 극복한다.
본 발명은 일반화된 계층 트리 내의 세트 파티셔닝을 활용하는, 화상 및 비디오에 대한 적응적 엔트로피 코딩 방법을 제공한다. 설명의 편의상, 일반화된 계층 트리의 세트 파티셔닝(Set PaRtitioning in Generalized Hierarchical Trees(SPRIGHT))은 본 명세서에서 두문자어 "SPRIGHT"라고 칭해진다. SPRIGHT 인코딩 방법은 레이트 제어성을 제공할 수 있으면서 유사한 특징들을 공유하기 때문에 임베디드 코딩용으로 사용될 수 있다.
SPRIGHT 코딩은 전반적으로, 화상(또는 비디오 프레임)을 블록들로 분할하는 단계, 변환(선택적으로는, 이 변환에 앞서 예측이 있을 수 있음)을 이용하여 각각의 블록을 연관해제하는 단계, 변환 계수들을 양자화하는 단계, 복수의 트리의 세트(즉, 미리 규정된 트리의 세트) 중에서 트리를 선택하는 단계, 및 그 선택된 트리를 사용하여 블록을 인코딩하는 단계를 따른다. 트리가 고정되지 않고, 계수들의 블록 내에 존재하는 2D 관계에 응답하여 선택되기 때문에, 코딩 효율은 대폭 향상된다.
본 발명은 하기의 기술을 포함하나 그것에 한정되지 않는 다양한 방식들로 실시되기 위해 수정 가능하다.
본 발명의 일 양태는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치로서, (a) 화상/비디오를 인코딩하도록 구성된 컴퓨터, (b) 상기 컴퓨터에 연결된 메모리, 및 (c) 상기 컴퓨터 상에서 실행가능한 프로그래밍으로서, (c)(ⅰ) 화상 또는 비디오 프레임을 블록(예를 들어, 블록은 4×4, 8×8 및 16×16, 32×32를 포함하는, 임의의 원하는 형상 및 크기일 수 있음)들로 분할하는 단계, (c)(ⅱ) (재구성 블록들로부터의 선택적인 예측 후에) 변환(예를 들어, 스펙트럼 변환)을 이용하여 각 블록을 연관해제하는 단계, (c)(ⅲ) 변환 계수들을 양자화하는 단계, (c)(ⅳ) 때로는 블록의 변환 계수간의 관계에 상당하는, 상기 화상에 대한 픽셀들의 블록 내의 기하학적 관계의 결정에 응답하여 복수의 후보 중에서 원하는 트리 구조를 선택하는 단계, 및 (c)(ⅴ) 상기 선택된 트리 구조에 응답하여 제로 계수들의 클러스터링을 이용하여 상기 블록을 인코딩하는 단계를 수행하기 위한 프로그래밍을 포함한다. 상기한 바에 있어서, 화상/비디오를 인코딩할 때, 개개의 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 가지는 것에 응답하여, 상기 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되고, 이들 자손 리프 노드들을 상기 장치에 의해 생성된 출력 비트 스트림으로 코딩하지 않음을 알 수 있다.
본 발명의 적어도 하나의 실시예에 있어서, 선택된 트리 구조로의 블록의 인코딩은, 너비 우선 탐색(BFT) 접근법을 사용하는 것과 같이, 트리 구조의 미리 결정된 탐색에 따라 행해진다. 본 명세서에서 사용되는 "미리 결정된 탐색"이란, 주어진 트리의 노드들 거쳐 프로세스가 진행하는 패턴을 의미한다. 미리 결정된 탐색을 사용하면, 디코더는 인코딩에 대해 사용된 바와 같은 트리를 통한 동일한 패턴을 추종할 수 있고, 따라서 변환 계수들이 그들이 인코딩되었을 때와 같은 오더(order)로 디코드된다. 혹은, 인코더 및 디코더는, 본 발명의 교시로부터 벗어나지 않는 한, 디코딩의 오더를 인코딩의 오더와 동기화하도록 임의의 원하는 메커니즘을 사용할 수 있다.
복수의 후보 트리 구조 각각은 특정된 배열을 갖는 리프 및 비-리프 노드로 구성되며, 하나 이상의 리프 노드는 각각의 비-리프 노드와 연관된 계수들을 포함한다. 본 발명의 적어도 하나의 실시에 있어서, 각 비-리프 노드의 상태는, 그의 자손 리프 노드들이 모두 제로 계수를 포함하는지 또는 모두 제로 계수를 포함하지는 않는지의 여부를 나타내는 비트(예컨대, 0=리프 노드가 모두 제로, 1=리프 노드 계수들이 모두 제로가 아님)에 의해 표현된다. 본 발명의 일 양태에서, 트리 구조들의 한 세트가, 상기 인코더에 보유되고 또한 상기 트리 구조들 중의 하나가 상기 블록의 코딩을 위해 선택될 수 있도록 구성된다. 본 발명의 교시를 벗어나지 않는 한, 필요에 따라 플랫, 노이즈성, 수평, 수직, 대각선 +45°, 대각선 -45° 등의 각종 기하학적 관계들이 상기 블록 내에서 인식될 수 있다. 이러한 기하학적 관계들은 코딩 중인 블록 내의 변환 계수들 간의 2차원적인 관계로 대등적으로 바뀌어 질 수 있다.
적어도 하나의 실시예에서, 상기 인코더는, 상기 화상 또는 상기 비디오 프레임의 각 볼록을 코딩하는데 사용하기 위해 어떤 트리 구조가 선택되었는지, 그리고 선택적으로는, 복수의 변환 중 하나가 선택되어 있으면, 상기 화상/비디오의 블록을 연관해제할 때 어떤 변환이 사용되었는지에 관한 정보를 디코더에 제공한다. 제한하려는 것이 아닌 예시로서, 어떤 트리 구조가 선택되었으며, 또한 선택적으로 어떤 변환이 사용되었는지에 관한 정보를 통과시키기 위해, 디코더에 인덱스가 통신되어질 수 있다. 변환/트리 구조의 시그널링이 오버헤드 비트를 소모함에도 불구하고, 산술 코딩에 응답하는 것과 같이, 시그널링을 코딩함으로써 오버헤드 비트 레이트를 감소시킬 수 있다.
본 발명의 적어도 하나의 실시예는, 변환을 행하기 전에 상기 블록의 프리 필터링 또는 블록간 예측을 행하는 것을 포함할 수 있다.
본 발명의 실시예는, 인코딩이 임의의 원하는 개수의 비트 평면에 걸쳐 행해지며 임의의 원하는 코딩 레이트에서 중단될 수 있는 논-임베디드 또는 임베디드 인코딩을 위해 구성될 수 있다.
본 발명의 일 양태는, 화상 또는 비디오의 적응적 엔트로피 인코딩 및 디코딩을 위한 시스템으로서, (a) 화상/비디오 인코딩을 위해 구성된 메모리와 프로세싱 엘리먼트를 갖는 인코더, (b) 상기 인코더 프로세싱 엘리먼트 상에서 실행가능한 프로그래밍으로서, (b)(ⅰ) 화상 또는 비디오 프레임을 블록들로 분할하는 단계, (b)(ⅱ) (재구성 블록들로부터의 선택적인 예측 후에) 변환을 이용하여 각 블록을 연관해제하는 단계, (b)(ⅲ) 변환 계수들을 양자화하는 단계, (b)(ⅳ) 상기 블록 내의 기하학적 관계의 결정에 응답하여 복수의 후보의 세트 중에서 트리 구조를 선택하는 단계, 및 (b)(ⅴ) 복수의 후보 중에서 선택된 트리 구조의 사용에 응답하여 제로 계수들의 클러스터링을 이용하여 상기 블록을 인코딩하는 단계를 수행하기 위한 프로그래밍, (c) 상기 인코더로부터의 상기 화상/비디오 비트 스트림의 화상/비디오 디코딩을 위해 구성된 메모리와 프로세싱 엘리먼트를 갖는 디코더, 및 (d) 상기 디코더 프로세싱 엘리먼트 상에서 실행가능한 프로그래밍으로서, (d)(ⅰ) 상기 블록을 인코딩함에 있어서 상기 인코더에 의해 선택되는 상기 트리 구조를 결정하는 단계, (d)(ⅱ) 출력의 계수들로 상기 트리 구조의 리프들을 디코딩하는 단계, (d)(ⅲ) 논-제로 브랜치들이 없는 비-리프 노드들을 디코딩함에 응답하여 상기 출력 내의 제로 계수들을 출력하는 단계, (d)(ⅳ) 상기 출력의 양자화를 행하는 단계, (d)(ⅴ) 상기 출력의 역변환을 행하는 단계, (d)(ⅵ) 상기 출력의 수신에 응답하여 상기 화상 또는 비디오 신호를 재구성하는 단계를 수행함에 응답하여 화상 신호를 출력하기 위한 프로그래밍을 포함한다. 상기 인코딩 프로세스에서, 개개의 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 비-리프 노드들을 가지는 것에 응답하여, 상기 출력으로부터 상기 제로 계수들의 일부가 제거된다. 상기 디코딩 프로세스는 인코딩 중에 선택된 동일한 트리 구조를 사용하여 각 블록에 대한 심볼을 적절하게 인터프리팅한다.
본 발명의 일 양태는, 화상/비디오 인코더 내에서의 적응적 엔트로피 인코딩 방법으로서, (a) 화상 또는 비디오 프레임을 블록들로 분할하는 단계, (b) (재구성 블록들로부터의 선택적인 예측 후에) 스펙트럼 변환을 이용하여 각 블록을 연관해제하는 단계, (c) 변환 계수들을 양자화하는 단계, (d) 상기 화상/비디오에 대한 계수들의 상기 블록 내의 2차원적 관계의 결정에 응답하여 복수의 후보 중에서 트리 구조를 선택하는 단계, 및 (e) 상기 선택된 트리 구조에 응답하여 제로 계수들을 클러스터링을 하면서 상기 블록을 인코딩하는 단계를 포함한다. 상기한 바로부터, 그들의 개별적인 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 갖는 것에 응답하여, 상기 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거됨을 알 수 있다.
본 발명의 일 양태는, 인코더 및 디코더 양방이 이전에 디코딩된 화상/비디오 블록의 통계에 기초하여 후보 트리들 중 하나 이상의 트리 구조를 채택하도록 허용하며, 상기 채택은, 소정 블록을 처리할 때, 상기 인코더 및 디코더가 항상 동일한 후보 트리의 세트를 갖는 방식으로 이루어진다.
본 발명은 본 발명의 교시를 벗어나지 않고서 개별적으로 또는 임의의 소정의 조합으로 구현될 수 있는 다수의 유리한 양태들을 제공한다.
본 발명의 일 양태는 높은 코딩 효율의 화상/비디오 코딩을 제공한다.
본 발명의 다른 양태는 선택된 트리 구조에서의 제로 계수의 클러스터링 및 인코딩된 출력 스트림에서의 클러스터된 제로 계수의 스킵핑에 응답하여 높은 코딩 효율을 제공하는 인코딩 및 디코딩이다.
본 발명의 다른 양태는 각 블록의 인코딩/디코딩에 대해 고정된 트리 구조에 의존하지 않는 인코딩 및 디코딩이다.
본 발명의 다른 양태는 화상/비디오 블록을 연관해제하기 전의 프레임간 예측 또는 블록간의 포함(inclusion)이다.
본 발명의 다른 양태는 복수의 가능한 변환 조작(예컨대, DCT, DWT, 오버랩된 변환 또는 방향성 변환) 중에서 하나의 연관해제 변환 조작을 선택하는 것이다.
본 발명의 다른 양태는 그 당시에 코딩 중인 블록 내의 기하학적 관계에 기초하여 복수의 후보 중에서 트리 구조를 선택하는 인코딩이다.
본 발명의 다른 양태는 트리 구조의 미리 결정된 탐색에 응답하는 인코딩 및 디코딩이다.
본 발명의 다른 양태는 트리 구조의 미리 결정된 탐색은 너비 우선 탐색(BFT)을 실행하는 것을 포함하는 인코딩 및 디코딩이다.
본 발명의 다른 양태는 인코딩 중에 어떤 트리 구조 및/또는 어떤 연관해제 변환이 사용되었는지에 관한 정보를, 디코더에 통신하는 것이다.
본 발명의 다른 양태는 산술 코딩을 사용하는 것과 같이, 비트 레이트의 추가적인 감소를 허용하는 코딩된 비트 스트림과 함께, 변환/트리 구조의 시그널링이다.
본 발명의 또 다른 양태는 임베디드 및 논-임베디드 화상 코딩 시스템 내에서 사용될 수 있는 인코딩 및 디코딩 방법이다.
본 발명의 다른 특징들은 하기의 명세서 부분들에서 명백해질 것이며, 그 상세한 설명은 본 발명의 바람직한 실시예들을 충분히 개시할 목적이며 본 발명을 제한하려는 것은 아니다.
본 발명은 예시적인 목적일 뿐인 하기의 도면들을 참조하여 더 충분히 이해될 것이다.
도 1a 및 도 1b는 계수 블록 어레이를 도시하는 도면이며, 도 1a에 지그재그 스캐닝 순서를 도시하고, 도 1b에 계수 위치들을 도시한다.
도 2a 내지 도 2c는 계수 데이터를 도시하는 도면이며, 도 2a에 4개의 계수들(A 내지 D)의 변환된 블록을 도시하고, 도 2b 및 도 2c에 본 발명의 특징에 따라 블록에 대해 선택될 수 있는 트리 계층을 도시한다.
도 3a 내지 도 3c는 계수 블록, 및 본 발명의 특징에 따라 블록에 대해 선택된 트리 계층 연산을 도시하는 계수 데이터 도면이다.
도 4a 내지 도 4c는 도 3a와는 약간 다른 계수 블록, 및 본 발명의 특징에 따라 블록에 대해 선택된 그의 연관된 트리 계층 연산을 도시하는 계수 데이터 도면이다.
도 5는 블록의 연관해제를 위해 Harr 변환이 행해지는 계수 블록 어레이를 나타내는 도면.
도 6a 내지 도 6d는 본 발명의 특징에 따라 선택될 수 있는 복수의 트리 계층 구조를 나타내는 계수 데이터 도면이다.
도 7은, 인코딩 및 디코딩 프로세스 양방을 제어하는 트리 유형 선택을 보여주는, 본 발명의 일 실시예에 따른 SPRIGHT 인코딩 및 디코딩의 블록도이다.
도 8은 본 발명의 일 실시예에 따른 적응적 엔트로피 인코딩 및 디코딩을 수행하기 위해 구성된 컴퓨터 프로세서 및 메모리를 도시하는 인코더-디코더 시스템의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 적응적 엔트로피 인코딩 방법의 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 적응적 엔트로피 인코딩 방법의 흐름도이다.
예시적인 목적의 도면을 더 구체적으로 참조하면, 본 발명은 도 2a 내지 도 10에 개략적으로 도시된 장치에서 실시된다. 본 명세서에 개시된 기본적인 개념으로부터 벗어나지 않으면서, 장치는 구성에 있어서 그리고 부품들의 상세에 있어서 변경될 수 있고, 방법은 구체적인 단계들 및 시퀀스에 있어서 변경될 수 있다는 것을 이해할 것이다.
1. 서론
화상 또는 비디오의 인코딩 및 디코딩에 대해 일반화된 계층 트리 내에서의 세트 파티셔닝을 활용하는, 적응적 엔트로피 인코딩 및 디코딩 장치 및 방법이 개시되어 있다. 제한이 아닌 예시로서, 상기 장치 및 방법은 일반적으로 "Set PaRtitioning in Generalized Hierarchical Trees"에 대한 두문자어, "SPRIGHT"로 불려진다.
화상 또는 비디오 프레임이 블록들로 분할되고, 변환을 사용하여 각각의 블록(선택적으로는, 이전에 재구성된 블록으로부터 예측됨)이 연관해제되고, 그의 변환 계수들이 양자화되고, 블록 내의 기하학적 관계에 응답하여 복수의 후보들 중에서(예를 들어, 미리 규정된 트리의 세트로부터) 트리가 선택되거나, 또는 보다 구체적으로는, 블록 내의 계수들 간의 2차원(2D) 관계에 응답하여 선택이 행해진다. 그런 다음, 선택된 트리 구조에 응답하여 블록은 인코드된다. 트리가 고정되지 않고, 계수들의 블록 내에 존재하는 2D 관계에 응답하여 선택되기 때문에, 코딩 효율은 대폭 향상된다.
화상 또는 비디오 프레임은 본 발명의 교시로부터 벗어나지 않으면서 다수의 상이한 방식들에 의해 블록들로 분할될 수 있다는 것을 알 것이다. 예를 들면, 블록들은 임의의 형태 또는 사이즈로 구성될 수 있으며, 그들이 반드시 스퀘어 또는 규칙적인 형태일 필요는 없다. 각 블록은 단수의 또는 복수의 컬러 성분들을 포함할 수 있다. 오버랩된 변환과 조합되는 경우, 블록들은 서로 오버랩될 수 있다. 덜 바람직하게는, 블록이 전체 화상 또는 비디오 프레임을 포함할 수 있다.
변환을 실행하기 전에, 블록 간 예측(inter-block prediction) 또는 프리 필터링(pre-filtering)이 실행될 수 있다는 것이 이해될 것이지만, 필수적인 것은 아니다.
그런 다음, 화상 또는 비디오 프레임의 각 블록은 다음의 인코딩 단계들에 따라 처리된다. 블록 내의 값들은, 예를 들면 이산 코사인 변환(DCT), 이산 웨이브렛 변환(discrete wavelet transforms (DWT), 또는 연관해제를 제공하는 다른 변환을 이용하여 연관해제된다. 본 발명의 일 실시예에 따라, 상이한 타입의 변환들이 동일한 화상 또는 비디오 프레임 내에서 이용될 수 있다는 것을 알 것이다. 상이한 타입의 변환들이 사용되는 경우, 블록에 사용되는 변환 타입은, 각 블록에 대해 인코딩되는 하나 이상의 비트들의 상태에 응답하여 디코더에 시그널링하는 것 등에 의해, 디코더에 통신되어야 한다.
그런 다음 블록 내의 변환 계수들이 양자화된다. 양자화 단계는 소정의 양자화 스레숄드 미만인 계수들을 모두 제로로 양자화한다는 것을 알 것이다.
그런 다음, 각 블록에 대해 복수의 후보 트리 구조들 중에서 트리 구조가 선택된다. 트리 구조는, 각각의 블록 내의 계수들 간의 (예를 들면, 2차원적인) 관계에 응답하여 미리 규정된 트리의 세트 중에서 선택되는 것이 바람직하고, 그런 다음 각 블록은 선택된 트리 구조를 사용하여 인코딩된다.
코딩에 이용되는 트리 구조는 모든 주어진 블록들에 대해 고정되지 않고, 코딩되는 특정 블록의 스펙트럼 특징들에 기초하여 선택됨으로써, 코딩 효율이 대폭 향상될 수 있다는 것을 이해할 것이다. 선택적으로는, 인코더 및 디코더의 양자 모두는, 소정 블록을 처리할 때 그 인코더 및 디코더가 동일한 후보 트리들의 세트를 가지도록 적응되어지는, 이전에 디코딩된 블록들의 통계에 기초한 트리 구조(들)를 채용할 수 있다.
블록이 인코딩될 때 어떤 트리 구조가 선택되었는지를 디코더가 판별할 수 있도록, 선택된 트리의 인덱스가 디코더에 시그널되어야 한다.
사용된 변환과 선택된 트리 구조 사이의 관계가 전형적으로 존재한다는 것을 알 것이다. 따라서, 많은 실시예들에 있어서, 인코더는 (변환, 트리) 쌍을 나타내는 하나의 인덱스를 송신할 것이며, 이것은 (변환, 트리)가 공동으로 최적화되는 것을 가능하게 해준다.
트리 구조 및/또는 변환의 인덱스는 약간의 오버헤드 비트의 사용을 요구한다. 이 오버헤드의 양은, 그 인덱스에 산술 코딩 등의 코딩 기술을 적용함으로써 바람직하게 줄일 수 있음을 알 수 있다.
2. SPRIGHT 의 트리 구조
도 2a 내지 도 2c는 변환된 2×2 블록 및 복수의 트리 구조를 도시하며, 이들은 예시적인 것으로 제한적인 것이 아니다. 본 발명은 본 발명의 교시를 벗어나지 않으면서 임의의 사이즈의 블록에 적용될 수 있다는 것을 이해할 것이다. 도 2a는 편의상, 계수 A 내지 D를 갖는 소형의 2×2 변환된 블록(10)을 도시한다. 전형적으로, 블록은 임의의 형태 및 사이즈로 구성될 수 있지만, 전형적으로, 블록 사이즈는 4×4, 8×8, 16×16, 32×32 등으로 다양하다.
본 발명에 있어서, 각 트리는 인코딩 및 디코딩을 용이하게 하기 위한 데이터 구조로 여겨진다. 각 코딩 트리는 비-리프 노드들(non-leaf nodes)(비-말단 노드들)로부터 연결된 리프 노드들(leaf nodes)(말단 노드들)로 정의된다. 각 리프 노드는 블록으로부터의 계수를 나타내고, 각 비-리프 노드는 계수들의 그룹을 나타내고 더 구체적으로는 그의 자손들 모두의 세트를 나타낸다. 루트로서 알려지는 비-리프 노드는 주어진 블록에 대한 모든 계수들의 세트를 포함한다.
도 2b 및 도 2c는 도 2a에 도시된 변환 블록을 위한 2개의 가능한 트리 구조를 예시한다. 도 2b의 트리(12)에 있어서, 단일 비-리프 노드(16)가 도시되는데, 이것은 트리의 루트이기도 하고, 그로부터 4개의 계수 A 내지 D(18a 내지 18d)가 직접 그룹핑된다. 도 2c의 트리(14)에 있어서, 비-리프 노드(20)가 도시되는데, 이것은 루트(20)이기도 하고, 그로부터 리프 노드 A(24a) 및 다른 비-리프 노드(22)가 연관되며, 이 비-리프 노드는 3개의 리프 노드 B, C, D(24b, 24c, 24d)를 연관시킨다. 따라서, 도 2b에 있어서, 모든 계수들은 한번에 함께 그룹핑되는데 반해, 도 2c에 있어서, 계수들 B 내지 D는 최하위 레벨에서 함께 그룹핑된다.
3. 트리를 이용한 SPRIGHT 인코딩
다음의 예들은 본 발명의 논-임베디드 버전을 이용하는 인코딩을 고려한다. 트리의 너비 우선 탐색(breadth first traversal(BFT))이 바람직하게 행해지고, 노드의 타입 및 계수 값에 응답하여 출력들이 제어된다. 현재의 노드가 리프이면, 계수의 값이 출력된다. 계수값은 바이너리가 아닌 것이 바람직하고, 예를 들어 산술 코딩에 의해 코딩될 수 있다는 것을 알 것이다. 비-리프 노드들은 하나 이상의 리프 노드를 포함하고, 예를 들면 적어도 하나의 자손 리프가 논-제로 계수를 가지면 1로 마크되거나, 또는 계수들의 대응하는 세트가 모두 제로이면 0으로 마크됨으로써, 모든 자손 노드들이 스킵(skip)된다. 자손 노드들의 "스킵"은, 이 노드들이 인코딩된 출력 비트 스트림으로 명백하게 인코딩되지 않는다는 것을 의미하며, 따라서 이 제로 계수들에 대한 코딩 공간이 절감된다. 비록 1과 0 값들이 비-리프 노드 값들에 대한 설명의 편의상 사용되지만, 비-리프 노드에 대해 논-제로 자손이 존재하는지 여부를 나타내기 위한 임의의 소망의 값들이 사용될 수 있다.
도 3a 내지 도 3c 및 도 4a 내지 도 4d는 유사한 기하학적 조건을 갖는 2×2 블록들을 인코딩하는 것을 도시한다. 제한적인 의미에서가 아니라 예시적으로, 비-리프 노드들에 있어서의 후계(descendency)는 바이너리로 표현되며, "1"은 적어도 하나의 브렌치가 논-제로 계수를 갖는다는 것을 나타내고, "0"은 브렌치들 중 어느 것도 논-제로 계수들을 갖지 않는다는 것을 나타낸다.
도 3a는 4개의 계수들 5, 0, 0, 0을 갖는 블록(30)을 도시한다. 도 3b는 단일 비-리프 노드(36), 및 단일 레벨(39)의 4개의 리프 노드(38a 내지 38d)를 갖는 블록(30)에 대한 제1 인코딩(32)의 선택을 도시한다. 도 3b의 코딩의 출력은 5개의 값 1, 5, 0, 0, 0의 시퀀스를 생성한다. 이 코딩과 대조적으로, 도 3c에 도시된 코딩은 특별한 2-레벨 트리 구조를 사용한다. 도 3c의 트리(34)에 있어서, 루트 노드(40)는, 예를 들면, 값 5의 계수를 포함하는 단일 리프 노드(44a), 및 그룹(46) 내의 3개의 리프 노드(44b, 44c, 44d)를 포함하는 제로 노드들을 클러스터링하는 비-리프 노드(42)를 갖는다. 이 리프 노드들은 모두 제로이기 때문에, 그들은 스킵될 수 있어서, 각 루트(42)는 0으로 코딩된다. 이 코딩에 응답하여, 이 코딩 시퀀스의 출력은 1, 5, 0이 되고, 이것은 도 3b에서 사용된 코딩보다 당연히 짧다. 소형의 2×2 블록 사이즈는 예시적으로 도시된 것이고, 더 큰 블록 크기가 더 높은 레벨의 코딩 효율 증가를 제공할 수 있다는 것을 이해할 것이다. 또한, 비록 계수들이 단일 비트 정수들로서 예시적으로 도시되지만, 실제 계수들은 훨씬 더 큰 표현의 비트 공간을 필요로 한다는 것을 알 것이다.
그러나, 도 4a의 블록에 도시된 바와 같이, 계수들 중 하나의 위치가 이동되어, 블록 내의 계수들 간의 관계가 약간 다르다면, 트리 구조에 대한 코딩 효율은 급격하게 변동된다. 도 4a는 4개의 계수 0, 0, 5, 0을 갖는 블록(50)을 도시한다. 도 4b는, 단일 비-리프 노드(56), 및 단일 레벨(60)의 4개의 계수(58a 내지 58d)를 갖는 제1 선택된 트리 구조(52)에 응답하는 인코딩을 도시한다. 이 코딩의 출력은 5개의 값 1, 0, 0, 5, 0의 시퀀스를 생성한다. 도 4c에 있어서, 리프(66a)(0 계수) 및 제1 레벨(70)의 비-리프(64)를 갖는 루트(62), 및 제2 레벨(68)의 리프들(66b(0), 66c(5), 및 66d(0))을 갖는 상이한 트리 구조(54)가 선택된다. 리프(66c)의 계수의 논-제로 값에 응답하여, 계수들의 그룹은 에러를 도입하지 않고는 스킵될 수 없고, 비-리프(64)는 그의 리프들이 코딩에 포함되어야 한다는 것을 나타내는 1로 코딩된다. 이 트리를 사용하는 코딩은 6개 출력 1, 0, 1, 0, 5, 0을 생성하고, 도 4b에 의해 표현된 것보다 덜 효율적이다.
전술한 논의로부터, 블록 내의 기하학적인 관계에 맞지 않는 트리 구조의 사용은 비효율적인 블록 코딩을 초래한다는 것이 명백하다. 본 발명은, 임의의 주어진 블록에 대해 복수의 후보들 중에서 트리 구조를 적절히 선택할 수 있도록 하여, 그 블록의 효율적인 코딩을 보장한다.
4. 트리를 사용한 SPRIGHT 디코딩
화상 블록을 디코딩함에 있어서, 디코더는, 블록들이 결정되는 방법을 결정하고 복수의 후보 트리 구조 중에서 적당한 트리 구조를 선택해야 한다. 디코더는, 예를 들어, 인코딩 동안 사용된 트리 구조에 대한 인덱스를 수신하는 등, 어느 트리 구조가 각 블록의 인코딩을 위해 사용되었는지에 관한 정보를 수신하는 것이 바람직하다. 일단 복수의 후보 트리들 중에서 적당한 트리가 선택되면, 예를 들면 트리의 너비 우선 탐색(BFT)을 사용해서, 인코딩 프로세스와 양립할 수 있는 기술을 사용하여, 디코딩 동안 트리가 탐색된다. 현재의 노드가 트리의 리프이면, 비트스트림으로부터 심볼이 디코딩되고, 디코딩된 심볼의 값은 대응하는 계수에 할당된다. 역으로, 현재의 노드가 리프가 아니면, 하나의 비트가 비트스트림으로부터 판독되고 연산이 행해지는데, 비트가 1이면, 처리를 계속하고, 0이면, 현재 노드의 모든 자손 노드들의 값들이 0으로 설정되고, 그들은 트리로부터 제거된다.
5. 제로 클러스터링
전술한 논의에서 알 수 있는 바와 같이, 본 발명의 코딩 이득은 제로 클러스터링에 응답하여 주로 유도되고, 변환 코딩으로부터 생성된 제로들은 각각의 비-리프 노드 내의 단일의 제로에 의해 표현되는 그룹으로 클러스터링된다. 역으로, 제로들이 논-제로들과 함께 파티션될 수밖에 없다면, 비트 절감이 달성되지 않는다.
변환 코딩은 통상 다수의 제로들을 생성하고, 이 제로들은 서로의 이웃들일 수 있다는 것을 잘 알 것이다. 이 계수들은, (1) 공간적 위치에 의해 이들이 동일한 DWT 서브 밴드 내의 이웃하는 계수들일 수 있거나, (2) 스펙트럼 위치에 의해 이들이 이웃하는 DCT 계수들일 수 있는 것 등을 포함하여, 다수의 상이한 방식으로 이웃들일 수 있다.
본 발명은, 블록 내의 계수들의 관계에 기초하여 각 블록에 대한 특정 트리 구조를 선택함으로써 이러한 구별을 사용한다.
6. 트리 디자인
본 절에서는 코딩되고 있는 상이한 블록들에 대해 사용될 수 있는 상이한 트리 구조들을 예시한다.
도 5는, 블록을 코딩하기 위한 트리 구조를 선택하기 전에 픽셀의 블록에 대해 Haar 변환을 행하는 것을 도시한다. 본 발명의 교시로부터 벗어나지 않고서, 마찬가지의 결과를 제공하는 다른 블록 변환(예컨대, DCT)을 사용할 수 있음을 알 수 있다. 도시된 간단한 2×2의 예에서는, 다음과 같이, 블록(72)로부터 화소 a 내지 d에 대응하여 블록 74의 얻어진 계수 A 내지 D가 생성된다.
Figure 112011080209397-pct00001
다음의 블록 패턴을 고려한다.
A. 블록은 플랫하다.
Figure 112011080209397-pct00002
B. 블록은 수평적으로 에지 처리되어 있다.
Figure 112011080209397-pct00003
C. 블록은 수직으로 에지 처리되어 있다.
Figure 112011080209397-pct00004
D. 블록은 노이즈성이다.
{A, B, C, D} 가운데 제로는 거의 없다.
위에서, 변환 계수들 간의 2D 관계로 바뀌어 질 수 있는 화소들 간의 소정의 기하학적 관계를 포착할 수 있다. 위와 동일한 접근법에 의하면, 특히 본 명세서에서 예로서 사용된 소형의 2×2 블록 크기를 넘어 확장하는 블록 크기의 사용의 측면에서, 대각선-1(예컨대, +45°), 대각선-2 (예컨대, -45°) 등과 같이, 블록 내에서의 다른 기하학적 관계를 인식할 수 있음을 알 수 있다.
도 6a 내지 도 6d는, 블록들 내에서 발견된 스펙트럼 패턴들에 응답하여 선택될 수 있는 4개의 예시적인 트리 구조들을 도시하고 있다. 트리 구조는, 상이한 블록 크기 및 상이한 변환마다 다를 수 있음을 알 수 있다. 이들 트리 구조는 필요에 따라 온-라인 또는 오프-라인으로 결정될 수 있다. 오프-라인으로 생성될 경우, 이들은 저장되어 블록 내의 기하학적 패턴에 기초한 사용을 위해 선택되며, 온-라인으로 생성될 경우, 이들은, 디코더에 대해 부수적인 정보로서 트리 구조를 전송하는 일을 회피하도록 재구성된 블록의 과거 통계에 기초하여 생성된다. 오프-라인 생성은, 인코딩 및 디코딩 양방에 있어서 보다 적은 연산을 요구하므로, 대다수의 적용에 있어 아마도 보다 바람직한 접근법이 될 수 있다.
도 6a는, 플랫한 기하하적 조건에 대해 최적화된 트리(76)를 나타내고 있다. 트리(76)는 루트 노드(84)를 가지며, 이 루트 노드 아래에 리프 노드 88a(A) 및 비-리프 노드(86)가 있다. 비-리프 노드(86) 아래에는 3개의 리프 노드 88b(B), 88c(C), 88d(D)가 있다. 따라서, 2개의 레벨(90, 100)이 루트 레벨(84) 아래에 있다.
도 6b는, 수평의 기하학적 조건에 대해 최적화된 트리(78)를 도시하고 있다. 트리(78)는 루트 노드(102)를 가지며, 이 루트 노드 아래에 리프 노드 106a(A), 106c(C) 및 비-리프 노드 104가 있다. 비-리프 노드(104) 아래에는 2개의 리프 노드 106b(B) 및 106d(D)가 있다. 따라서, 2개의 레벨(108, 110)이 루트 레벨(102) 아래에 있다.
도 6c는, 수직의 기하학적 조건에 대해 최적화된 트리(80)를 도시하고 있다. 트리(80)는 루트 노드(112)를 가지며, 이 루트 노드 아래에 리프 노드 116a(A), 116b(B) 및 비-리프 노드(114)가 있다. 비-리프 노드(114) 아래에는 2개의 리프 노드 116c(C) 및 116d(D)가 있다. 따라서, 2개의 레벨(118, 120)이 루트 레벨(112) 아래에 있다.
도 6d는, 노이즈성 블록에 대해 최적화된 트리(82)를 도시하고 있다. 트리(82)는 단일의 비-리프(루트) 노드 122와 4개의 리프 노드 124a 내지 124d(A-D)를 동일한 레벨 126에 갖는다.
7. 임베디드 코딩에서의 SPRIGHT
본 절에서는 임의의 원하는 개수의 비트 평면을 갖는 임베디드 코딩에서 본 발명을 활용하는 실시예를 설명한다. (MSB로부터 LSB까지를 고려할 때) N-1,…, 2, 1, 0과 같이 인덱스된 N개의 비트 평면이 있다고 가정한다.
상기 비트 평면들에 대해, 다음과 같이, 초기화가 행해진다.
Figure 112011080209397-pct00005
비트 평면의 코딩은, 비트 예산의 부족에 응답하는 것과 같이, 임의의 원하는 시간에 중단될 수 있다. 본 발명에 따른 SPRIGHT 장치 및 방법은, 임베디드 제로-트리 웨이브렛(EZW) 및 계층 트리에 있어서의 세트 파티셔닝(SPIHT)을 포함한, 다른 코딩 방법과 유사한 방식 등의, 임베디드 또는 논-임베디드 모드로 동작할 수 있음을 알 수 있다.
본 발명의 일 실시예에 따른 SPRIGHT의 출력 코딩은, 산술 코딩을 사용하여 보다 더 코딩될 수 있거나, 단순히 그대로 전송되는 바이너리 스트림인 것이 바람직하다. 상기 코딩을 "그대로" 전송하는 것은, 코딩 효율을 단지 소량만 희생시키면서 복잡성에 있어서의 현저한 감소를 가져온다. 또한, 변환 타입 및/또는 트리 인덱스와 같이, 인코더와 디코더 사이의 다른 형태의 시그널링이 행해질 수도 있다. 이들 추가적인 시그널에 의해 나타내어지는 오버헤드는, 앞서 설명한 산술 코딩과 같은 압축 코딩의 형태를 사용하여 저감될 수 있다.
Figure 112011080209397-pct00006
Figure 112011080209397-pct00007
8. SPRIGHT 장치 및 방법의 요약
엔트로피 코딩에 대한 전통적인 접근법은 코딩에 대해 단일의 알고리즘을 사용하며, 따라서 코딩 중인 블록의 기하학적 조건에 기초하여 인코딩의 형태를 선택하지 않는다. 종래의 접근법들은, 현재의 블록을 인코딩하기 위해, EZW 및 SPIHT의 단일의 고정된 트리를 사용하는 것과 같이, 고정된 인코딩 방법에 의존하여 인코딩을 행함을 알 수 있다.
도 7은 디코더에 접속된 인코더의 간략화된 블록도(130)를 나타낸다. 복수의 후보 트리 중에서의 트리 타입의 선택에 관한 결정(136)을 수신하는 인코더 장치(134)에 오리지널 화상 데이터(132)가 수신된다. 별개의 신호로서 나타내었지만, 이 선택 신호 기능(136)은 인코더의 일부로서 행해짐이 바람직한 것을 알 수 있다. 트리 타입 선택 신호(136)를 역시 수신하고 디코딩된 데이터(142)를 출력하는 디코더(140)에서, 인코더로부터의 비트스트림 출력(138)이 수신된다. 본 발명에서는, 코딩 중인 블록의 기하학적 조건에 따라 복수의 트리 기반 코딩 동작을 실행하기 위해 통상의 인코더 장치 및 통상의 디코더 장치를 활용한다. 도시된 바와 같은 인코더 및 디코더는, 블록 기하학에 기초하여, 블록을 코딩함에 있어서 어떤 트리 구조를 사용할지를 선택한다. 어떤 트리가 선택되는가에 따라, SPRIGHT는, 주어진 블록에 대해 EZW/SPIHT 또는 다른 공지된 코딩 기술과 같은 출력을 제공할 수 있음을 알 수 있다.
또한, 본 발명의 실시예는 코딩 효율을 향상시키도록 비전통적인 트리의 사용도 허용함을 알 수 있다. 예시로서, 트리 구조는 화상 데이터의 국부적인 통계에 적응되도록 구성될 수 있다. 블록의 특성에 따라 트리 구조가 선택되므로, 주어진 블록에 대해서는 매우 특정되지만, 일정한 블록의 범위에 걸쳐서 사용된다면 매우 비효율적인 코딩을 제공할 수 있는 트리 구조를 선택할 수 있다.
도 8은 인코더(136) 및 디코더(142)를 보다 상세하게 보여주는 실시예 "150"을 나타낸다. 인코더(136)는 컴퓨터 프로세서(CPU)(152)와 메모리(154)를 포함하는 것으로 도시되고 있다. 이들 프로세싱 엘리먼트는, 본 발명의 교시를 벗어나지 않는 한, 단일의 것으로 실시될 수도 있고, 또는 멀티프로세서로서, 및/또는 임의의 원하는 액셀러레이션 가속 하드웨어의 레벨로 실시될 수 있다. 프로세서(152) 상에서 실행가능한 프로그래밍이 화상 소스(158)의 인코딩(156)을 행하고, 예측(160)을 행하고, 변환(162), 양자화(164), 트리 선택(166) 및 인코딩(168)을 행하여 인코딩된 화상 데이터(또는 신호)(170)를 출력한다. 트리 선택은, 보다 구체적으로 블록 내의 계수들 간의 2차원적 관계에 응답하여 행해지며, 그 후 선택된 트리를 사용하여 블록이 인코딩된다. 선택된 트리 구조를 사용하면, 코딩을 행하기 위해 사용되는 코딩 알고리즘 내에 트리 구조가 고착(고정)된 실시에 비해 대폭 증가된 코딩 효율을 제공할 수 있다.
프로세서 엘리먼트(172) 및 메모리(174)에 의해 마찬가지로 구현된 디코더(142)가 도시되어 있으며, 이 디코더는, 본 발명의 교시를 벗어나지 않는 한, 임의의 원하는 프로세싱 엘리먼트 및 디지털 액셀러레이션 하드웨어와의 조합을 포함할 수 있다. 프로그래밍의 실행에 따라서, 신호(170)가 수신되어, 디코딩 전에 트리 구조 선택(180)을 하는 디코딩 블록(178)에 의해 디코딩되는 디코딩 프로세스(176)가 실행된다. 그런 후, 디코딩 블록(178)의 출력이 역변환되고(182) 블록 단위로 화상이 재구성되어(184) 최종의 디코딩된 화상 출력(186)을 생성한다.
트리 선택 링크(188)는 인코딩 동안의 트리 선택과 디코딩 동안 사용된 트리 선택 사이에 도시되어, 선택된 트리 구조에 관한 정보가 디코더(142)에 통신되어 디코더가 인코딩되었던 방식으로 데이터를 디코딩하는 것을 보장하는 실시예를 나타낸다. 전형적으로, 선택된 트리 구조에 대한 정보는 디코더에 송신되는 인코딩된 신호 스트림의 소정의 비트들 내에 포괄될 것이다. 주어진 블록에 대한 트리 구조의 통신은 인코더로부터 디코더로 비트들로서 통신될 수 있거나, 또는 대안적으로 인코더로부터의 데이터가 트리 선택에 관해 디코더에 통지하는 방식으로 구성될 수 있거나, 또는 디코더는 인코딩과 양립할 수 있는 디코딩을 위해 사용하기 위한 트리 구조를 달리 결정할 수도 있다는 것을 이해할 것이다.
전술한 실시예에 있어서, 항상 디코더는 주어진 블록을 코딩하기 위해 사용된 트리 구조를 알고 있다. 예를 들어, 트리 구조들은 디코더의 엑시큐터블(executable) 내에 사전에 임베드되거나, 또는 세션의 초기에 인코더에 의해 통지된다. 제한하려 하는 것이 아닌 예시로서, 도 8은, 선택될 수 있는 복수의 후보 트리 구조(189)(예컨대, 수직(V), 수평(H), 대각선 1st 또는 2nd(D) 및 플랫(F))의 세트를 도시하고 있다. BFT를 행할 때, 디코더는 우선 현재의 노드가 리프인지 아닌지의 여부를 구분하고, 이어서 그것이 비-리프인 경우 비트 스트림으로부터 BIT를 판독하거나 또는 리프에 대한 스트림으로부터 심볼을 판독한다. 심볼은, 예를 들어 exp-Golomb 코드를 사용하는 등의 어떻게 인코딩되었는지에 따라, 하나 이상의 비트를 포함할 수 있다.
도 9는, 본 발명에 따른 인코딩 방법의 일 실시예를 도시하고 있다. 입력된 화상이 블록들로 분할되고(190), 선택된 변환을 사용하여 연관해제되고(192), 변환 계수를 사용하여 양자화된다(194). 스텝 196에서는, 블록 내의 2D 관계가 결정된다. 이 결정된 2D 관계에 응답하여 스텝 198에서 트리 구조가 선택되며, 이 트리 구조는 스텝 200에 나타낸 바와 같이 블록을 인코딩하기 위해 사용하는 최적의 트리를 선택함에 있어서, 화상 특징과 같이, 이미지 자체 또는 다른 블록에 관한 추가적인 정보와 조합하여 선택적으로 사용되거나 또는 개별적으로 사용될 수 있다. 복수의 후보 중에서 트리 구조의 선택 및 연관해제 변환의 선택은 서로 관련되어 질 수 있다.
선택된 트리 구조에 기초한 블록의 인코딩은, 미리 결정된 트리 탐색 패턴(도시하지 않음)을 사용하는 등의 디코더와 호환성을 갖는 트리 내의 패턴을 따르는 것이 바람직함을 알 수 있다. 예를 들어, 본 발명의 적어도 하나의 실시예에서, 다음 하위 레벨로 하향 진행하기 전에 주어진 방향으로 계수들이 각각의 트리의 레벨을 채우는, 트리 구조의 너비 우선 탐색(BFT)이 행해진다. 디코더에 의해 사용되는, 인덱스와 같이, 선택된 트리 구조에 관한 정보를 통신하는 선택적인 스텝 202이 도시되어 있다.
도 10은, 본 발명에 따른 디코딩 방법의 일 실시예를 나타낸다. 블록을 디코딩하기 전에, 디코더는, 바람직하게는 현재의 블록을 인코딩하기 위해 어떤 트리 구조가 사용되었는지에 관한, 인덱스 등의 인코더로부터의 수신 정보에 기초하여, 현재의 블록이 어떻게 코딩되었는지를 판정한다(210). 디코딩은 인코딩과 호환성이 있는 패턴을 추종하여 실행된다. 본 실시예에서는, 모든 잔존하는 논-제로 브랜치에 대해 트리의 너비 우선 탐색(BFT)이 수행되며(212), 리프들이 계수들로 디코딩되고(214), "제로"(공) 비-리프들이 제로 계수들로 디코딩된다(216). 일단 모든 계수들이 적절하게 복원되면, 디코더는 양자화(218), 역변환(220) 및 재구성(222)으로 진행한다.
본 명세서에서 "SPRIGHT"로 칭하는 본 발명의 장치 및 방법은 화상/비디오 데이터에 대한 엔트로피 기반의 인코딩 및 디코딩을 제공한다. 코딩 프로세스 중에, 바람직하게는 블록의 기하학적 성질(또는 상당하게는, 블록 내의 계수들 간의 2D 관계)에 기초하여, 복수의 후보 중에서 트리 구조가 선택되고, 그 선택된 트리에 응답하여 블록이 인코딩된다. 인코딩 프로세스에서 제로 계수의(즉, 양자화 중에 제로로 변환된) 클러스터들이 인코딩된 출력으로부터 제거될 수 있다. 디코딩 프로세스에서, 인코더에서 사용된 트리 구조가 판정되고, 디코더는, 제로 계수들을 재배치(복원)하면서, 선택된 트리 구조에 기초하여 인코딩된 데이터를 블록 계수들로 재변환한다. 트리 구조의 적절한 선택에 따라, 시스템의 전반적인 코딩 효율을 향상시킬 수 있다. 본 발명의 교시는 각종의 화상/비디오 인코딩 및 디코딩 시스템에 적용될 수 있으며, 또한 임베디드 또는 논-임베디드 모드의 양방 모두에 적용될 수 있다. 임베디드 모드에서, 본 발명은, 어디에서나 멈출 수 있으며, 후프만(Huffman) 코딩 또는 산술 코딩과 같은 복잡한 엔트로피 코딩 방법없이 활용될 수 있는 완전히 임베디드된 비트 스트림을 제공한다.
본 발명은 화상/비디오 처리 장치에서 엔트로피 코딩 및 디코딩을 행하는 장치 및 방법을 제공한다. 임베디드 및 논-임베디드 화상/비디오 코딩 양방을 모두 포함하여, 각종의 장치 및 애플리케이션 등에 발명적 교시가 적용될 수 있다.
따라서, 보는 바와 같이, 본 발명은 특히 다음의 실시예를 포함한다.
1. 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치로서, 화상/비디오를 인코딩하도록 구성된 컴퓨터, 상기 컴퓨터에 연결된 메모리, 및 상기 컴퓨터 상에서 실행가능한 프로그래밍으로서, 화상 또는 비디오 프레임을 블록들로 분할하는 단계, 변환을 이용하여 각 블록을 연관해제(decorrelating)하는 단계, 변환 계수들을 양자화하는 단계, 상기 화상에 대한 픽셀들의 블록 내의 기하학적 관계의 결정에 응답하여 복수의 후보 중에서 원하는 트리 구조를 선택하는 단계, 및 상기 선택된 트리 구조에 응답하여 제로 계수들의 클러스터링을 이용하여 상기 블록을 인코딩하는 단계를 수행하기 위한 프로그래밍을 포함하고, 개개의 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 가지는 것에 응답하여, 상기 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되고, 이들 자손 리프 노드들을 상기 장치에 의해 생성된 인코딩된 출력 비트 스트림으로 코딩하지 않는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
2. 실시예 1에 있어서, 상기 블록의 상기 인코딩은 상기 트리 구조의 미리 결정된 탐색(traversal)에 따른 상기 선택된 트리 구조에 응답하여 실행되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
3. 실시예 1에 있어서, 상기 트리 구조는 특정된 배열의 리프 및 비-리프 노드들을 가지며, 계수들을 포함하는 하나 이상의 리프 노드는 각 비-리프 노드와 연관된, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
4. 실시예 1에 있어서, 각 비-리프 노드의 상태가 그의 자손 리프 노드들이 모두 제로 계수를 포함하는지 또는 모두 제로 계수를 포함하지는 않는지 여부를 나타내는 비트에 의해 표현되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
5. 실시예 1에 있어서, 트리 구조들의 한 세트가 상기 인코더에 보유되고 또한 트리 구조의 상기 선택에 응답하여 상기 트리 구조들 중의 하나가 선택될 수 있도록 구성되어 있는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
6. 실시예 1에 있어서, 상기 블록들 내에서 인식될 수 있는 상기 기하학적 관계들은 플랫, 노이즈성, 수평, 수직, 대각선 +45°, 대각선 -45°로 이루어진 기하학적 블록 관계들의 그룹에서 선택되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
7. 실시예 1에 있어서, 상기 화상의 블록들을 연관해제할 때 어떤 변환이 사용되었는지에 관한 정보를 디코더에 제공하기 위한 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
8. 실시예 1에 있어서, 상기 화상의 각 볼록을 코딩하는데 사용하기 위해 어떤 트리 구조가 선택되었는지에 관한 정보를 디코더에 제공하기 위한 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
9. 실시예 1에 있어서, 상기 화상의 각 블록을 코딩하는데 사용하기 위해 어떤 트리 구조가 선택되었는지에 관한 정보를 디코더에 제공하는 것을 포함하는 단계를 실행하기 위한 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하고, 상기 정보는 상기 인코딩된 화상을 수신하도록 구성된 디코더에, 상기 선택된 트리 구조에 대한 적어도 하나의 인덱스를 통신하는 것을 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
10. 실시예 1에 있어서, 상기 기하학적 관계는, 코딩 중인 현재의 블록에서의 계수들 간의 2차원적 관계를 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
11. 실시예 1에 있어서, 변환 전에 상기 블록의 프리 필터링 또는 블록간 예측을 위한, 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
12. 실시예 1에 있어서, 상기 블록은 4×4, 8×8 및 16×16, 32×32 계수 블록들로 이루어진 블록 크기의 그룹에서 선택되는 블록 크기를 포함하는, 임의의 원하는 형상 및 크기일 수 있는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
13. 실시예 1에 있어서, 논-임베디드 인코딩을 위해 구성된 화상 인코더 내에서의 적응적 엔트로피 인코딩을 실행하기 위한 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
14. 실시예 1에 있어서, 임의의 원하는 개수의 비트 평면들에 걸쳐서 인코딩이 수행되고 임의의 원하는 코딩 레이트에서 멈추어질 수 있는, 임베디드 인코딩을 위해 구성된 이미지 인코더 내에서의 적응적 엔트로피 인코딩을 실행하기 위한 상기 컴퓨터 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
15. 실시예 1에 있어서, 상기 코딩은, 인코딩된 화상 스트림에 대한 비트 예산 내의 맞춤에 응답하여, 원하는 코딩 레이트로 실행되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
16. 실시예 1에 있어서, 상기 변환은 스펙트럼 변환을 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
17. 실시예 1에 있어서, 상기 변환은 이산 웨이브렛 변환(DWT) 또는 이산 코사인 변환(DCT) 중 어느 하나, 또는 임의의 오버랩된 변환을 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
18. 화상의 적응적 엔트로피 인코딩 및 디코딩을 위한 시스템으로서, 화상 인코딩을 위해 구성된 메모리와 프로세싱 엘리먼트를 갖는 인코더, 및 상기 인코더 프로세싱 엘리먼트 상에서 실행가능한 프로그래밍으로서, 화상 또는 비디오 프레임을 블록들로 분할하는 단계, 변환을 이용하여 각 블록을 연관해제하는 단계, 변환 계수들을 양자화하는 단계, 상기 화상에 대한 상기 블록 내의 기하학적 관계의 결정에 응답하여 복수의 후보의 세트 중에서 트리 구조를 선택하는 단계, 및 상기 선택된 트리 구조에 응답하여 제로 계수들의 클러스터링을 이용하여 상기 블록을 인코딩하는 단계를 수행하기 위한 프로그래밍을 포함하고, 개개의 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 가지는 것에 응답하여, 상기 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되고, 이들 자손 리프 노드들을 디코더를 향한 출력 비트 스트림으로 코딩하지 않으며, 상기 인코더로부터의 상기 화상 스트림의 화상 디코딩을 위해 구성된 메모리와 프로세싱 엘리먼트를 갖는 디코더, 및 상기 디코더 프로세싱 엘리먼트 상에서 실행가능한 프로그래밍으로서, 상기 블록을 인코딩함에 있어서 상기 인코더에 의해 선택되는 상기 트리 구조를 결정하는 단계, 출력의 계수들로 상기 트리 구조의 리프들을 디코딩하는 단계, 논-제로 브랜치들이 없는 비-리프 노드들을 디코딩함에 응답하여 상기 출력 내의 제로 계수들을 출력하는 단계, 상기 출력의 양자화를 행하는 단계, 상기 출력의 역변환을 행하는 단계, 상기 출력의 수신에 응답하여 상기 화상 신호를 재구성하는 단계를 수행하는 것에 응답하여 화상 신호를 출력하기 위한 프로그래밍을 포함하는, 화상의 적응적 엔트로피 인코딩 및 디코딩을 위한 시스템.
19. 실시예 18에 있어서, 상기 블록의 상기 인코딩은 상기 트리 구조의 미리 결정된 탐색에 따른 상기 선택된 트리 구조에 응답하여 실행되는, 화상의 적응적 엔트로피 인코딩 및 디코딩을 위한 시스템.
20. 화상 인코더 내에서의 적응적 엔트로피 인코딩 방법으로서, 화상 또는 비디오 프레임을 블록들로 분할하는 단계, 스펙트럼 변환을 이용하여 각 블록을 연관해제하는 단계, 변환 계수들을 양자화하는 단계, 상기 화상에 대한 상기 블록 내의 2차원의 기하학적 관계의 결정에 응답하여 복수의 후보 중에서 트리 구조를 선택하는 단계, 및 상기 선택된 트리 구조에 응답하여 제로 계수들의 클러스터링을 하면서 상기 블록을 인코딩하는 단계를 포함하고, 그들의 개별적인 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 갖는 것에 응답하여, 상기 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되는, 화상 인코더 내에서의 적응적 엔트로피 인코딩 방법.
이상의 설명은 많은 세부 사항들을 포함하지만, 이들은 본 발명의 범위를 제한하는 것으로 여겨지지 않아야 하며, 본 발명의 단지 현재 바람직한 실시예들의 일부의 예들을 제공하는 것으로 이해되어야 한다. 그러므로, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예들을 모두 포괄하고, 따라서 본 발명의 범위는 첨부된 청구항들 외의 다른 것에 의해서는 한정되지 않는다는 것을 이해할 것이고, 청구항들에 있어서, 단수의 엘리먼트는 명시적으로 그렇게 기재되지 않는 한 "하나 및 하나만"을 의미하고자 하는 것이 아니며, 오히려 "하나 이상"을 의미하고자 할 수 있다는 것을 이해할 것이다. 당업자들에게 알려진 전술한 바람직한 실시예의 엘리먼트들에 대한 구조적 및 기능적 등가물들은 모두 본 명세서에 참조되어 명시적으로 포괄되며, 본 청구항들에 의해 포괄하고자 한다. 또한, 장치 또는 방법은, 본 발명에 의해 해결하고자하는 각각의 그리고 모든 문제를 해결할 필요는 없고, 그것은 본 청구항들에 의해 포괄되는 것이다. 또한, 본 명세서에 개시된 엘리먼트, 컴포넌트, 또는 방법의 단계는, 청구항들에 그 엘리먼트, 컴포넌트, 또는 방법의 단계가 명시적으로 인용되는지의 여부에 상관없이, 공공에 헌정되도록 의도되지 않는다. 본 명세서에 있어서의 청구항의 엘리먼트는, 그 엘리먼트가 "수단(means for)"이란 문구를 사용하여 명시적으로 인용되지 않는 한, 법령 35 U.S.C. 112, 제6항에 의해 해석되지 않아야 한다.

Claims (20)

  1. 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치로서,
    프로세싱 엘리먼트 및 메모리를 가지며 화상/비디오를 인코딩하도록 구성된 인코더, 및
    상기 인코더 상에서 실행가능한 프로그래밍으로서, 화상 또는 비디오 프레임을 블록들로 분할하는 단계, 변환을 이용하여 상기 블록들 각각을 연관해제(decorrelating)하는 단계, 변환 계수들을 양자화하는 단계, 상기 화상에 대한 픽셀들의 상기 블록들 내의 기하학적 관계의 결정에 응답하여 복수의 후보 중에서 원하는 트리 구조를 선택하는 단계, 및 선택된 상기 트리 구조에 응답하여 제로 계수들의 클러스터링을 이용하여 상기 블록들을 인코딩하는 단계를 수행하기 위한 프로그래밍을 포함하고,
    개개의 리프(leaf) 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 가지는 것에 응답하여, 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되고, 이들 자손 리프 노드들을 인코딩된 출력 비트 스트림으로 코딩하지 않는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  2. 제1항에 있어서,
    상기 트리 구조는 특정된 배열의 리프 및 비-리프 노드들을 가지며,
    계수들을 포함하는 하나 이상의 리프 노드는 각 비-리프 노드와 연관된, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  3. 제1항에 있어서,
    상기 블록들의 상기 인코딩은 상기 트리 구조의 미리 결정된 탐색(traversal)에 따른 상기 선택된 트리 구조에 응답하여 실행되거나,
    각 비-리프 노드의 상태가 그의 자손 리프 노드들이 모두 제로 계수를 포함하는지 또는 모두 제로 계수를 포함하지는 않는지 여부를 나타내는 비트에 의해 표현되거나,
    트리 구조들의 한 세트가 상기 인코더에 보유되고 또한 트리 구조의 상기 선택에 응답하여 상기 트리 구조들 중의 하나가 선택될 수 있도록 구성되어 있거나,
    상기 블록들 내에서 인식될 수 있는 상기 기하학적 관계들은 플랫, 노이즈성, 수평, 수직, 대각선 +45°, 대각선 -45°로 이루어진 기하학적 블록 관계들의 그룹에서 선택되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  4. 제1항에 있어서,
    상기 화상의 블록들을 연관해제할 때 어떤 변환이 사용되었는지에 관한 정보를 디코더에 제공하기 위한 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  5. 제1항에 있어서,
    상기 화상의 상기 블록들 각각을 코딩하는데 사용하기 위해 어떤 트리 구조가 선택되었는지에 관한 정보를 디코더에 제공하기 위한 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  6. 제1항에 있어서,
    상기 화상의 블록들 각각을 코딩하는데 사용하기 위해 어떤 트리 구조가 선택되었는지에 관한 정보를 디코더에 제공하는 것을 포함하는 단계를 실행하기 위한 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하고,
    상기 정보는 인코딩된 상기 화상을 수신하도록 구성된 디코더에, 상기 선택된 트리 구조에 대한 적어도 하나의 인덱스를 통신하는 것을 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  7. 제1항에 있어서,
    상기 기하학적 관계는, 코딩 중인 현재의 블록에서의 계수들 간의 2차원적 관계를 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  8. 제1항에 있어서,
    변환 전에 상기 블록들의 프리 필터링 또는 블록들간 예측을 위한, 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  9. 제1항에 있어서,
    상기 블록들은 4×4, 8×8 및 16×16, 32×32 계수 블록들로 이루어진 블록 크기의 그룹에서 선택되는 블록 크기를 포함하는, 임의의 원하는 형상 및 크기일 수 있는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  10. 제1항에 있어서,
    논-임베디드 인코딩을 위해 구성된 화상 인코더 내에서의 적응적 엔트로피 인코딩을 실행하기 위한 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  11. 제1항에 있어서,
    임의의 원하는 개수의 비트 평면들에 걸쳐서 인코딩이 수행되고 임의의 원하는 코딩 레이트에서 멈추어질 수 있는, 임베디드 인코딩을 위해 구성된 이미지 인코더 내에서의 적응적 엔트로피 인코딩을 실행하기 위한 상기 인코더 상에서 실행가능한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  12. 제1항에 있어서,
    상기 코딩은, 인코딩된 화상 스트림에 대한 비트 예산 내의 맞춤에 응답하여, 원하는 코딩 레이트로 실행되는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  13. 제1항에 있어서,
    상기 변환은 스펙트럼 변환을 포함하거나,
    상기 변환은 이산 웨이브렛 변환(DWT) 또는 이산 코사인 변환(DCT) 중 어느 하나, 또는 임의의 오버랩된 변환을 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  14. 제1항에 있어서,
    프로세싱 엘리먼트 및 메모리를 가지며 상기 인코딩된 출력 비트 스트림의 화상 디코딩을 위해 구성된 디코더, 및
    상기 디코더 상에서 실행가능한 프로그래밍으로서, 상기 블록들을 인코딩함에 있어서 상기 인코더에 의해 선택되는 상기 트리 구조를 결정하는 단계, 출력의 계수들로 상기 트리 구조의 리프들을 디코딩하는 단계, 논-제로 브랜치들이 없는 비-리프 노드들의 디코딩에 응답하여 상기 출력 내의 제로 계수들을 출력하는 단계, 상기 출력의 역양자화(dequantizing)를 행하는 단계, 상기 출력의 역변환을 행하는 단계, 상기 출력의 수신에 응답하여 상기 화상 신호를 재구성하는 단계를 수행하는 것에 응답하여 화상 신호를 출력하기 위한 프로그래밍을 더 포함하는, 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치.
  15. 화상 인코더 내에서의 적응적 엔트로피 인코딩 방법으로서,
    화상 또는 비디오 프레임을 블록들로 분할하는 단계,
    스펙트럼 변환을 이용하여 상기 블록들 각각을 연관해제하는 단계,
    변환 계수들을 양자화하는 단계,
    상기 화상에 대한 상기 블록들 내의 2차원의 기하학적 관계의 결정에 응답하여 복수의 후보 중에서 트리 구조를 선택하는 단계, 및
    선택된 상기 트리 구조에 응답하여 제로 계수들의 클러스터링을 하면서 상기 블록들을 인코딩하는 단계를 포함하고,
    그들의 개별적인 리프 노드들이 제로 계수들만을 포함하는 것을 나타내는 상기 선택된 트리 구조의 비-리프 노드들을 갖는 것에 응답하여, 인코딩된 출력으로부터 상기 제로 계수들의 일부가 제거되는, 화상 인코더 내에서의 적응적 엔트로피 인코딩 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020117024128A 2009-06-09 2010-06-08 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법 KR101344973B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18556809P 2009-06-09 2009-06-09
US61/185,568 2009-06-09
US12/758,981 US8406546B2 (en) 2009-06-09 2010-04-13 Adaptive entropy coding for images and videos using set partitioning in generalized hierarchical trees
US12/758,981 2010-04-13
PCT/US2010/037790 WO2010144461A2 (en) 2009-06-09 2010-06-08 Adaptive entropy coding for images and videos using set partitioning in generalized hierarchical trees

Publications (2)

Publication Number Publication Date
KR20120011849A KR20120011849A (ko) 2012-02-08
KR101344973B1 true KR101344973B1 (ko) 2013-12-24

Family

ID=43300806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117024128A KR101344973B1 (ko) 2009-06-09 2010-06-08 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법

Country Status (5)

Country Link
US (1) US8406546B2 (ko)
EP (1) EP2406958A4 (ko)
KR (1) KR101344973B1 (ko)
CN (1) CN102396222B (ko)
WO (1) WO2010144461A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5001964B2 (ja) * 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
BRPI1014232A2 (pt) * 2009-06-09 2016-04-12 Sony Corp aparelho para gerar múltiplas árvores de codificação de candidato para uso durante codificação, sistema para codificação e de codificação adaptável de imagens ou vídeos, e, método para gerar múltiplas árvores de codificação de candidato
KR20190000920A (ko) 2009-07-02 2019-01-03 톰슨 라이센싱 적응적 트리 선택을 사용한 이진 집합의 비디오 인코딩 및 디코딩을 위한 방법 및 장치
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
CN103493494A (zh) * 2011-04-27 2014-01-01 夏普株式会社 图像解码装置、图像编码装置以及编码数据的数据结构
BR112013003521B1 (pt) * 2011-07-18 2022-03-03 Sun Patent Trust Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e decodificação de imagem
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
WO2013026210A1 (en) * 2011-08-25 2013-02-28 Technicolor (China) Technology Co., Ltd. Hierarchical entropy encoding and decoding
WO2014138633A2 (en) * 2013-03-08 2014-09-12 Board Of Regents, The University Of Texas System Systems and methods for digital media compression and recompression
CN103500176B (zh) * 2013-09-06 2016-08-31 清华大学 片网模型及其构建方法
CN104270641B (zh) * 2014-09-30 2018-12-14 杭州华为数字技术有限公司 变换系数的处理方法和装置
CN109716329B (zh) * 2016-11-17 2023-07-28 谷歌有限责任公司 使用偏差来对点云进行k-d树编码
CN111190896B (zh) * 2019-08-16 2023-10-17 腾讯科技(深圳)有限公司 数据处理方法、装置、存储介质和计算机设备
CN113282578B (zh) * 2020-02-20 2024-07-09 腾讯科技(深圳)有限公司 消息处理方法、装置、消息处理设备及存储介质
CN113038143A (zh) * 2021-03-04 2021-06-25 吉林农业科技学院 一种超光谱图像无损压缩编码系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060133680A1 (en) * 2004-12-22 2006-06-22 Frank Bossen Method and apparatus for coding positions of coefficients

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315670A (en) * 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
US6483946B1 (en) 1995-10-25 2002-11-19 Sarnoff Corporation Apparatus and method for encoding zerotrees generated by a wavelet-based coding technique
US5982938A (en) * 1997-03-31 1999-11-09 Iterated Systems, Inc. System and method for compressing data using differential coding of coefficient addresses
US6269192B1 (en) * 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
SE512291C2 (sv) * 1997-09-23 2000-02-28 Ericsson Telefon Ab L M Inbäddad DCT-baserad stillbildskodningsalgoritm
SE9800088D0 (sv) * 1997-10-10 1998-01-16 Ericsson Telefon Ab L M Long filter lossless region of interest coding
JPH11191153A (ja) * 1997-12-26 1999-07-13 Ricoh Co Ltd ウェーブレット変換係数の符号化方法
US6801665B1 (en) * 1998-09-15 2004-10-05 University Of Maryland Method and apparatus for compressing and decompressing images
JP2000295618A (ja) 1999-03-08 2000-10-20 Texas Instr Inc <Ti> 埋込み型ゼロトリーパターン及びビットプレーンを使用する画像符号化方法
KR101365989B1 (ko) * 2007-03-08 2014-02-25 삼성전자주식회사 트리 구조를 기반으로 한 엔트로피 부호화 및 복호화 장치및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060133680A1 (en) * 2004-12-22 2006-06-22 Frank Bossen Method and apparatus for coding positions of coefficients

Also Published As

Publication number Publication date
US20100310185A1 (en) 2010-12-09
CN102396222B (zh) 2014-07-09
US8406546B2 (en) 2013-03-26
WO2010144461A2 (en) 2010-12-16
EP2406958A4 (en) 2013-01-02
CN102396222A (zh) 2012-03-28
KR20120011849A (ko) 2012-02-08
WO2010144461A3 (en) 2011-04-21
EP2406958A2 (en) 2012-01-18

Similar Documents

Publication Publication Date Title
KR101344973B1 (ko) 화상 또는 비디오 인코더 내에서의 적응적 엔트로피 인코딩 장치 및 방법
US8620098B2 (en) Trees for adaptive coding of images and videos using set partitioning in generalized hierarchical trees having directionality
Hsiang Embedded image coding using zeroblocks of subband/wavelet coefficients and context modeling
JP4111644B2 (ja) 埋め込み符号化/復号化方法及びシステム
JP4700491B2 (ja) 適応係数スキャン順序付け
US9819946B2 (en) Method and apparatus for coding of spatial data
KR20010075232A (ko) 비디오 시퀀스의 압축을 위한 인코딩 방법
EP0850540A2 (en) Transmission and reception of encoded video pictures
WO2006040656A2 (en) Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability
KR20020026254A (ko) 컬러 비디오 인코딩 및 디코딩 방법
RU2001106645A (ru) Встроенные элементарные волновые функции дерева квадрантов в сжатии изображения
US20050163217A1 (en) Method and apparatus for coding and decoding video bitstream
KR20070077059A (ko) 엔트로피 부호화/복호화 방법 및 장치
CN101132529A (zh) 基于快速逐次逼近量化的小波图像压缩方法
Kuo et al. An efficient spatial prediction-based image compression scheme
KR100323701B1 (ko) 영상부호화장치
Hung et al. New irregular sampling coding method for transmitting images progressively
Wu Compression of wavelet transform coefficients
Chai et al. Statistically adaptive wavelet image coding
Raghuwanshi et al. A Review of Image Compression based on Wavelet Transform Function and Structure optimisation Technique
KR20090079088A (ko) 방향성 필터링 기반 웨이블렛 변환에서 문맥 모델링 방법및 웨이블렛 코딩 장치와 이를 위한 기록 매체
Ates et al. Hierarchical quantization indexing for wavelet and wavelet packet image coding
Wu et al. Dilation-run wavelet image coding
JP2004040372A (ja) 画像符号化装置及び画像符号化方法
Nosratinia Optimal subband decoding

Legal Events

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

Payment date: 20161207

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171208

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181206

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 7