KR20240023238A - 변환 계수 블록 코딩 - Google Patents

변환 계수 블록 코딩 Download PDF

Info

Publication number
KR20240023238A
KR20240023238A KR1020247004282A KR20247004282A KR20240023238A KR 20240023238 A KR20240023238 A KR 20240023238A KR 1020247004282 A KR1020247004282 A KR 1020247004282A KR 20247004282 A KR20247004282 A KR 20247004282A KR 20240023238 A KR20240023238 A KR 20240023238A
Authority
KR
South Korea
Prior art keywords
transform
transform coefficients
block
transform coefficient
binarization
Prior art date
Application number
KR1020247004282A
Other languages
English (en)
Inventor
파울 하세
크리스티안 루닷
헤이너 키르히호퍼
판 호앙 퉁 응우옌
미샤 지크만
헤이코 슈바르츠
데틀레브 마르페
토마스 비에그란트
Original Assignee
프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20240023238A publication Critical patent/KR20240023238A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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
    • 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

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

변환 계수 블록 코딩 {TRANSFORM COEFFICIENT BLOCK CODING}
본 출원은 변환 계수 블록 코딩을 이용한 화상들 및 비디오들의 코딩에 관한 것이다.
즉, 본 출원은 디지털 신호 처리 분야에 관한 것으로, 특히 이미지 및 비디오 디코더들 및 인코더들을 위한 방법들 및 디바이스들에 관한 것이다.
화상 및/또는 비디오를 데이터 스트림으로 보다 효율적으로 코딩하기 위한 개념들을 제공하는 것이 본 발명의 목적이다.
이러한 목적은 본 출원의 독립 청구항들의 청구 대상에 의해 달성된다.
본 출원의 제1 양상에 따르면, 다른 색 성분의 변환 계수 블록에 의존하는 특정 색 성분의 특정 변환 계수 블록을 엔트로피 인코딩/디코딩하기 위한 컨텍스트 또는 컨텍스트 모델을 사용함으로써 화상 코딩의 코딩 효율 증가가 달성된다. 즉, 화상의 블록은 제1 색 성분에 대한 제1 변환 계수 블록 및 제2 색 성분에 대한 제2 변환 계수 블록을 획득하기 위해 제1 색 성분 및 제2 색 성분에 대해 각각 개별적으로 변환이 이루어지며, 제2 변환 계수 블록을 컨텍스트 적응적으로 엔트로피 인코딩/디코딩할 때, 사용되는 컨텍스트는 제1 변환 계수 블록에 따라 선택된다. 두 변환들 모두 색 성분마다 블록에 대해 결정된 예측 잔차와 관련될 수도 있지만, 이는 단지 선택 사항일 뿐이다. 어떤 경우든, 제2 변환 계수 블록을 엔트로피 인코딩/디코딩하는 데 사용되는 컨텍스트를 제1 변환 계수 블록에 의존하게 하는 것은 엔트로피 인코딩/디코딩의 기반이 되는 확률 추정을 개선하고, 이에 따라 코딩 효율을 증가시킨다. 일 실시예에 따르면, 제1 변환 계수 블록에 대한 컨텍스트 의존성이 제1 변환 계수 블록 및 제2 변환 계수 블록에 대한 데이터 스트림으로 코딩된 표시에 사용 또는 적용되는데, 이러한 표시는 각각의 변환 계수 블록 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부, 또는 각각의 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 각각의 변환 계수 블록 내의 모든 변환 계수들이 0인지 여부를 나타낸다. 이 표시는 데이터 스트림의 두 변환 계수 블록들 모두에 대해 시그널링된 플래그일 수도 있다. 따라서 이 실시예에 따르면, 제2 변환 계수 블록에 대한 표시의 인코딩/디코딩은 제1 변환 계수 블록에 의존하는 컨텍스트를 사용하는 컨텍스트 적응 엔트로피 인코딩/디코딩을 사용하여, 이를테면 제1 변환 계수 블록에 대해 데이터 스트림으로 시그널링되는 표시 또는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 따라 수행된다.
본 출원의 제2 양상에 따르면, 변환 계수 블록 엔트로피 코딩을 사용하는 화상 코딩은 특정 변환 계수들의 양자화 레벨을 엔트로피 코딩하기 위해 별도의 세트의 컨텍스트들을 소비함으로써 더 효율적이 된다. 특히, 화상의 블록을 나타내는 변환 계수 블록은 변환 계수 블록의 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 데이터 스트림으로 코딩되는 것으로 가정한다. 이에 따라, 스캔 패턴이 제1 종단 계수 포지션으로부터 미리 결정된 방향으로 앞으로 제2 종단 계수 포지션까지 트래버스하는 변환 계수들의 코딩 세트를 나타내는 데이터의 인코딩/디코딩은 엔트로피 인코딩/디코딩을 사용하여 수행된다. 데이터는 변환 계수들의 코딩된 세트 내의 변환 계수들의 양자화 레벨들을 포함한다. 양자화 레벨들의 인코딩/디코딩은 제1 종단 계수 포지션에서 또는 제2 종단 계수 포지션에서 변환 계수의 양자화 레벨에 대한 제1 세트의 컨텍스트들을 사용하여 컨텍스트 적응적으로 수행되며, 여기서 이 제1 세트의 컨텍스트들은 변환 계수들의 코딩된 세트 내의 임의의 다른 변환 계수에 사용되는 제2 세트의 컨텍스트들과 서로소(disjoint)이다. 예컨대, 별도의 컨텍스트 세트가 변환 계수 블록의 DC 변환 계수에, 또는 다르게 말하면 왼쪽 상단의 변환 계수에 사용되는데, 그래도 미리 결정된 방향은 제2 종단 계수 포지션을 나타내는 이 DC 변환 계수로 이어진다. 예컨대, 변환 계수들의 양자화 레벨들은 변환 계수들의 양자화 레벨들의 이진화를 사용함으로써 컨텍스트 적응 이진 엔트로피 코딩/디코딩을 사용하여 코딩될 수 있으며, 서로소인 세트의 컨텍스트들이 이진화의 전치 부분과 같은 이진화의 하나 이상의 빈들에 적응 또는 사용될 수 있다.
본 출원의 제3 양상에 따르면, 현재 인코딩/디코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효(significant) 변환 계수들의 합 및/또는 수에 기초하여 변환 계수 블록의 현재 인코딩된 변환 계수의 양자화 레벨을 엔트로피 인코딩/디코딩하기 위한 컨텍스트를 결정함으로써 변환 계수 블록의 엔트로피 코딩을 사용하여 화상을 인코딩할 때의 코딩 효율 향상이 달성된다. 즉, 이와 같이 조사된 하나 이상의 변환 계수들의 양자화 레벨이 데이터 스트림의 이전 부분에 의해 드러나는 한, 변환 계수 블록에서 근처에 위치된 변환 계수들을 조사하기 위해 로컬 템플릿이 사용된다. 예컨대, 변환 계수 블록의 변환 계수들의 양자화 레벨들의 엔트로피 인코딩/디코딩은 복수의 패스(pass)들에서 변환 계수의 양자화 레벨들의 이진화의 빈들을 순차적으로 엔트로피 인코딩/디코딩함으로써 이진 단위로 이루어질 수 있으며, 따라서 현재 인코딩/트래버스된 변환 계수의 이진화의 적어도 빈에 대한 컨텍스트가 로컬 템플릿에 위치된 변환 계수들 중 유효 변환 계수들의 앞서 언급한 합 및/또는 앞서 언급한 수에 기초하여 결정될 수 있다. 예컨대, 합은 로컬 템플릿에 위치된 하나 이상의 이전 변환 계수들의 계수 레벨의 절대 값의 합일 수 있는데, 하나 이상의 이전 변환 계수들의 이 계수 레벨은 절대 값을 하나 이상의 이전 변환 계수들의 계수 레벨의 이진화의 이전에 인코딩/디코딩된 빈들에 따라 최소로 갖는다. 추가로 또는 대안으로, 컨텍스트는 이전에 인코딩/디코딩된 빈들에 기초하여 결정되는 유효성(significance)으로 로컬 템플릿에 위치된 하나 이상의 이전 변환 계수들 중 유효 변환 계수들의 수에 기초하여 결정될 수 있다.
본 출원의 추가 양상은 변환 계수들의 양자화 레벨들의 절대 값들의 이진화를 사용하여 변환 계수 블록의 변환 계수들을 코딩하는 것에 관한 것이다. 본 출원의 이러한 양상에 따르면, 현재 인코딩/디코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩/디코딩된 변환 계수들 중 유효 변환 계수들의 합 및/또는 수에 기초하여 현재 인코딩/디코딩된 변환 계수의 이진화를 파라미터화하기 위한 이진화 파라미터를 설정함으로써 코딩 효율 증가가 달성된다. 예컨대, 변환 계수들의 이진화의 제1 부분은 컨텍스트 적응 엔트로피 인코딩/디코딩을 사용하여 코딩될 수도 있는 한편, 이진화의 제2 부분은 등확률(equi-probability) 바이패스 모드를 사용하여 인코딩/디코딩된다. 즉, 제2 부분은 1의 코드 레이트로 데이터 스트림에 기록되고 데이터 스트림로부터 판독된다. 제2 부분은 전치 부분과 후치 부분을 포함할 수도 있고, 이진화 파라미터는 전치 부분의 길이를 결정할 수 있다. 예컨대, 길이는 Exp-Golomb 차수 또는 Rice 파라미터일 수 있다. 위에서 이루어진 것과 유사한 서술들은 변환 계수 블록의 변환 계수들 또는 그 계수 레벨들을 여러 패스들에서 코딩할 가능성과 관련하여 그리고 유효 계수들의 이러한 합을 형성하고 그리고/또는 유효 계수들의 수를 결정할 때 이러한 상황의 고려와 관련하여 사실일 수 있다.
본 출원의 추가 양상은 또한 변환 계수 블록의 변환 계수들의 양자화 레벨들의 절대 값들을 코딩하는 데 사용되는 이진화에 관한 것이다. 특히, 이 양상에 따르면, 이진화와 연관된 컷오프 값을 적응적으로 변화시킴으로써 화상 코딩이 보다 효율적으로 이루어진다. 이진화는 컷오프 값 아래의 제1 이진화 코드 및 컷오프 값에 대해 제1 이진화 코드의 코드워드가 전치된, 컷오프 값 위의 제2 이진화 코드를 포함한다. 컷오프 값의 적응적 변화는 이전에 인코딩/디코딩된 변환 계수들에 따라 수행된다. 예컨대, 컷오프 값을 또한 0으로 설정하게 하는 방식으로 적응이 이루어질 수 있으며, 이때 이진화는 단지 제2 이진화 코드를 포함한다. 코딩은 제1 이진화 코드의 빈들이 컨텍스트 적응적으로 코딩되는 반면, 제2 이진화 코드의 빈들은 바이패스 모드에서 코딩되는 방식으로 이루어질 수 있다.
본 출원의 추가 양상은 또한 컷오프 값에 관한 것이며, 블록의 크기, 블록의 색 성분, 예측 신호의 기반이 되는 예측 모드― 예측 신호의 예측 잔차를 블록이 나타냄 ―, 변환 계수 블록의 기반이 되는 변환, 변환 계수 블록을 양자화하는 데 사용되는 양자화 파라미터, 이전에 인코딩/디코딩된 변환 계수들의 에너지의 측정치 중 하나 이상에 따라 컷오프 값을 설정함으로써 코딩 효율을 높이는 것을 목표로 하고, 여기서 이전에 인코딩/디코딩된 변환 계수들은 현재 인코딩/디코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치될 수 있거나, 미리 결정된 방향으로 스캔 패턴을 따라 변환 계수 블록의 변환 계수들을 트래버스함으로써 정의된 변환 계수 블록의 변환 계수들의 양자화 레벨의 절대 값을 인코딩/디코딩하는 데 사용되는 코딩 순서에 따라 현재 파티션에 앞서는, 변환 계수 블록의 파티션 내의 포지션들에 위치될 수 있다.
본 출원의 또 추가 양상은 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩하는 데 사용되는 로컬 템플릿을 비활성화(disable)하거나 로컬 템플릿의 형상을 설정하는 지능적인 방법으로 변환 계수 블록 코딩을 사용하여 화상 코딩의 코딩 효율을 높이는 것을 목표로 한다. 특히, 의존성은 블록의 크기, 블록의 색 성분, 순방향을 따라 스캔 패턴을 트래버스할 때 0이 아닌 마지막 변환 계수가 야기되는 종단 계수 포지션의 포지션, 및 변환 계수 블록의 기반이 되는 변환 중 하나 이상을 수반할 수 있다. 그 다음, 컨텍스트는 현재 인코딩/디코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩/디코딩된 변환 계수들에 기초하여, 또는 로컬 템플릿이 비활성화된다면, 이러한 변환 계수들과 독립적으로 결정될 수 있다. 이런 식으로, 컨텍스트 관리 복잡성, 컨텍스트의 수 및 확률 추정 정확도 면에서의 컨텍스트 효율이 실제 요구들에 대해 더 잘 결정되거나 적응될 수 있다. 이와 관련하여, 너무 많은 컨텍스트들의 사용이 필연적으로 코딩 효율을 증가시키는 것은 아니라는 것을 알아야 한다. 오히려, 컨텍스트들의 선택은 컨텍스트 업데이트들을 통해 좋은 확률 추정들을 달성하기 위해 컨텍스트들이 바람직하게는 충분히 자주 사용되어야 한다는 점을 고려할 필요가 있다. 따라서 이 양상은 코딩 효율을 향상시키기 위해 컨텍스트 관리 특징을 필요들에 적응시키는 것을 맡는다.
본 출원의 추가 양상에 따르면, 변환 계수 블록은 다양한 파티션들에 대해 별도의 세트들의 컨텍스트들을 사용하기 위해 패턴들로 파티셔닝된다. 변환 계수 블록 내에서 파티션들이 서로 같지 않도록 파티션들의 형상을 변경함으로써, 그리고/또는 변환 계수 블록의 양자화 레벨들의 엔트로피 인코딩/디코딩이 수행되는 스캔 패턴에 따라 파티션들을 형상화함으로써, 그리고/또는 블록의 크기에 따라 파티션들을 형상화함으로써, 그리고/또는 명시적인 파티션 형상화 정보에 따라 파티션들을 형상화함으로써 코딩 효율 증가가 목표가 된다. 또한, 이 양상에 따른 아이디어는 컨텍스트 관리 복잡성을 실제 요구들에 적응시킬 필요성과 관련이 있다. 이로써, 코딩 효율이 높아진다.
본 출원의 추가 양상은 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 코딩되는지 여부 또는 각각의 파티션 내의 모든 변환 계수들의 코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시를 각각의 파티션에 대한 데이터 스트림에서 시그널링하는 측면에서 변환 계수 블록을 파티션들로 파티셔닝하는 것에 관한 것이다. 특히, 본 출원의 이러한 양상에 따르면, 표시는 모든 계수들이 코딩되는지 여부를 나타내는 방식으로 해석된다. 이러한 파티션들 각각은 이들과 연관된 한 세트의 컨텍스트들을 가질 수 있는데, 이를 사용하여 각각의 파티션 내의 변환 계수들은 표시에 의해 그렇게 표시된다면 인코딩된다. 즉, 여기서 파티션 단위의 제로화(zeroness) 표시는, 그렇게 설정된다면, 특정 파티션 내의 모든 변환 계수들이 코딩되고 이 상황이 더는 질문을 받을 필요가 없음을 나타낸다.
본 출원의 추가 양상은 또한, 다양한 파티션들 내의 변환 계수들의 양자화 레벨들을 인코딩하기 위해 파티션 특정 컨텍스트 세트들을 소비하는 양상에 관한 것이며, 파티셔닝이 사용되는지 여부 또는 그러한 파티셔닝이 비활성화되어 있고 이러한 한 세트의 컨텍스트가 변환 계수 블록에 대해 대신 전역적으로 사용되는지 여부를 변환 계수 블록에 대한 파티션 모드를 통해 데이터 스트림으로 시그널링함으로써 코딩 효율을 개선하는 것을 목표로 한다.
마지막으로, 본 출원의 추가 양상은 또한 파티션 특정 컨텍스트 세트의 사용을 다루며, 제1 파티션의 적어도 하나의 변환 계수가 제2 파티션의 2개의 변환 계수들 사이로 트래버스되는 식으로 스캔 패턴이 변환 계수 블록의 변환 계수들을 순차적으로 트래버스한다는 점에서, 파티셔닝으로부터 변환 계수 블록의 변환 계수들이 순차적으로 코딩되는 스캔 패턴을 분리함으로써 코딩 효율을 개선할 것을 제안한다. 이런 식으로, 변환 계수들을 스캔하는 동안의 "지식 증가"가 더 빠르게 증가하여 컨텍스트 선택/적응을 위한 개선된 코딩 이력을 얻는 식으로 변환 계수들을 트래버스 하는 것이 실현 가능하지만, 동시에 변환 블록의 다양한 파티션들에 개별 컨텍스트 세트들을 적절하게 연관시킬 수 있다.
위에서 설명한 실시예들 및 양상들의 유리한 구현들이 종속 청구항들의 대상이다. 본 출원의 바람직한 실시예들은 다음 중의 도면들에 관해 아래에 설명된다:
도 1은 변환 기반 잔차 코딩을 사용하는 블록 기반 예측 디코더의 개략적인 블록도를 도시하며, 이는 본 명세서에서 설명되는 본 출원의 실시예들의 가능한 구현들에 대한 일례의 역할을 한다.
도 2는 도 1의 인코더에 맞는 블록 기반 예측 비디오 디코더의 개략적인 블록도를 도시하며, 이는 본 명세서에서 설명되는 디코더에 대한 실시예들의 가능한 구현들에 대한 일례의 역할을 한다.
도 3은 인트라 예측(intra-prediction) 및 인터 예측(inter-prediction)을 각각 사용하여 인코딩된 코딩 블록들로의 화상의 파티셔닝, 및 예측 잔차의 변환 기반 잔차 코딩을 위해 잔차 블록들로의 동일 화상의 파티션에 대한 일례를 예시하는 동시에, 각각 예측 신호 및 잔차 신호의 추가를 통해 잔차에 기초한 예측 정정을 개략적으로 예시한다.
도 4는 특정 변환을 통해 잔차 블록과 연관된 변환 계수 블록(92)을 디코딩/인코딩함으로써 잔차 블록의 변환 기반 잔차 코딩을 예시하는 개략도를 도시한다.
도 5는 DC 계수와 같은 특정 처음 스캔된 변환 계수에서부터 이 첫 번째 계수에서 가장 멀리 떨어진 계수까지 변환 계수들을 스캔할 때 0이 아닌 마지막 변환 계수를 나타내는 표시를 통해, 변환 계수 블록의 변환 계수들의 코딩된 세트가 0이 아닌 마지막 계수와 첫 번째 계수 포지션의 변환 계수 사이의 모든 계수들을 포함하도록 코딩된 세트를 정의함으로써 코딩된 세트의 코딩을 예시하는 개략도를 도시한다.
도 6은 제1 이진화 코드 및 제2 이진화 코드로 구성된 이진화를 사용하여 변환 계수들을 코딩할 가능성을 예시하는 개략도를 도시하는데, 단지 제1 이진화 코드를 포함하는 이진화에서 이진화가 컷오프 값에 대한 제1 이진화 코드에 제2 이진화 코드가 이어지는 코드워드를 포함하는 상태로 전환한다.
도 7은 이러한 이진화가 예컨대, 도 6의 제2 이진화 코드의 기반이 될 수 있는 경우, 전치 부분 및 후치 부분을 갖는 이진화를 가질 가능성을 예시하는 개략도를 도시한다.
도 8은 파티션들로의 변환 계수 블록의 파티셔닝, 여기서는 파티션들의 행들과 열들로의 규칙적인 파티셔닝을 예시적으로 나타내며, 이에 따라 각각의 파티션은 계수들의 배열로 구성되고, 여기서 파티셔닝은 본 명세서에서 아래에 설명되는 바와 같이 변환 계수들 및/또는 변환 계수들의 제로화 표시에 대한 컨텍스트 세트 연관에 사용될 수 있다.
도 9는 컨텍스트 세트 연관을 위한 파티션들의 사용을 예시하는 개략도를 도시한다.
도 10은 변환 계수 블록 그리고 현재 엔트로피 인코딩/디코딩된 변환 계수에 대해 하나의 컨텍스트를 선택하기 위한 이 현재 인코딩/디코딩된 변환 계수 블록에 대한 로컬 템플릿의 사용을 개략적으로 도시한다.
도 11a는 하나보다 많은 색 성분으로의 이 블록의 분해에 대한 잔차 블록의 코딩을 예시하는 개략도를 도시한다.
도 11b는 변환 계수 블록(92)을 그 블록(92)의 모든 변환 계수들이 0인지 여부를 나타내는 전역적 제로화 표시(190)를 포함하는 것으로 데이터 스트림(14)으로 코딩하는 데이터(96)를 개략적으로 예시하며, 이 경우 변환 계수들의 양자화 레벨들은 코딩되어야 하는 것이 아니라 디코더 측에서 0이라고 추론할 수 있다.
도 11c는 코딩된 서브블록 플래그(CBF: coded sub-block flag)들을 통해 변환 계수들의 제로화를 파티션들의 단위들로 나타내기 위해 변환 계수 블록을 파티션들로 파티셔닝하는 것의 사용을 개략적으로 예시한다.
도 11d는 변환 계수 블록이 코딩되는 데이터(96)가 도 5에 도시된 바와 같이 0이 아닌 변환 계수의 마지막 계수 포지션을 나타내는 마지막 포지션 표시(114)를 포함할 수 있음을 예시한다.
도 11e는 컨텍스트 세트로부터 특정 컨텍스트를 사용하여 컨텍스트 적응 방식으로 변환 계수들의 양자화 레벨들의 엔트로피 디코딩/인코딩을 예시적으로 도시한다.
도 11f는 변환 계수 블록이 코딩되는 데이터가 도 5의 스캔 부분을 마지막 계수 포지션에서 첫 번째 계수 포지션으로 트래버스하는 것에 대응하는 데이터 스트림의 코딩 순서(102)로 변환 계수들의 양자화 레벨들의 순차 코딩을 포함할 수 있다는 사실을 개략적으로 예시한다.
도 12는 하나의 색 성분에 대한 컨텍스트 선택을 다른 색 성분에 대한 동일한 잔차 블록의 변환 계수 블록에 따라 수행하는 본 출원의 제1 실시예를 예시하는 개략도를 도시한다.
도 13은 도 8에 도시된 바와 같이 형상이 일치하지 않는 파티션들로의 변환 계수 블록의 파티셔닝을 예시하는 개략도를 도시한다.
도 14는 도 10에 교시된 바와 같이 컨텍스트 선택을 위해 사용되는 로컬 템플릿의 형상들을 변화시킬, 또는 심지어 이를 비활성화할 가능성을 예시하는 개략도를 도시한다.
도 15는 파티션들로 파티셔닝된 변환 계수 블록을 예시하는 개략도를 도시하는데, 변환 계수들을 순차적으로 인코딩하기 위한 스캔 부분은 파티션들의 변환 계수들이 서로 인터리빙되는 방식으로 변환 계수들을 트래버스한다.
도 16은 변환 계수 블록 및 도 15에 도시된 바와 같이 인터리빙 스캔 부분을 사용하는 변환 계수 블록의 코딩을 예시하며, 현재 엔트로피 인코딩/디코딩된 변환 계수 및 특정 임계치들을 초과하는 이전에 인코딩된 변환 계수들을 예시적으로 나타내는 개략도를 도시하며, 이러한 변환 계수들의 카운트가 예를 들어, 현재 엔트로피 인코딩/디코딩된 변환 계수에 대한 컨텍스트 선택을 위해 사용된다.
도 17은 도 18에 예시적으로 도시된 인터리빙 스캔 부분을 갖는 변환 계수 블록을 코딩한 결과로, 한편으로는 계수들의 양자화 레벨의 코딩 시퀀스 및 다른 한편으로는 코딩된 서브블록 플래그들의 제로화 표시들을 예시하는 개략도를 도시한다.
도 18은 또한 도 15 및 도 16에 도시된 바와 같이 서로 다른 파티션들의 변환 계수들을 인터리빙하는 스캔 부분을 갖는 변환 계수 블록을 도시하며, 0이 아닌 계수들의 해칭을 사용하여 예시한다.
도 19는 변환 계수 블록의 변환 예들의 파티션 단위 스캔 예를 예시한다.
도 20은 변환 계수 블록을 코딩하기 위한 의사 코드를 예시한다.
도 21은 변환 계수의 양자화 레벨의 절대 값을 이진화하기 위한 의사 코드를 예시한다.
도 22는 변환 계수의 양자화 레벨의 절대 값을 이진화하기 위한 예를 예시한다.
도 23은 변환 계수 블록의 변환 계수들을 코딩하기 위한 의사 코드를 예시한다.
도 24는 변환 계수 블록의 변환 계수들을 코딩하기 위한 의사 코드를 예시한다.
도 25는 변환 계수 블록을 파티션들로 파티셔닝하는 다른 예들을 예시한다.
도면들의 다음 설명은 본 명세서에서 설명되는 실시예들이 구축될 수 있는 코딩 프레임워크에 대한 예를 형성하기 위해 비디오의 화상들을 코딩하기 위한 블록 기반 예측 코덱의 비디오 인코더 및 비디오 디코더의 설명의 제시로 시작한다. 비디오 인코더 및 비디오 디코더가 도 1 내지 도 3과 관련하여 설명된다. 이하, 본 출원의 추가 실시예들의 설명이 도면들과 관련하여 제시된다. 동일하게 번호가 매겨지고, 위의 섹션에서 위의 어느 부분들이 아래에서 설명되고 청구되는 어떤 실시예를 참조하는지에 대한 참조가 이루어진다. 이러한 모든 실시예들은 각각 도 1 및 도 2의 비디오 인코더 및 디코더에 내재될 수 있지만, 후속하는 도면들에 대해 설명되는 것들과 같은 본 명세서에서 설명되는 실시예들은 또한 도 1 및 도 2의 비디오 인코더 및 비디오 디코더의 기반이 되는 코딩 프레임워크에 따라 작동하지 않는 비디오 인코더 및 비디오 디코더들을 형성하는 데 사용될 수 있다.
도 1은 일련의 화상들(12)로 구성된 비디오(11)를 데이터 스트림(14)으로 예측 코딩하기 위한 장치를 도시한다. 이를 위해 블록 단위 예측 코딩이 사용된다. 또한, 변환 기반 잔차 코딩이 예시적으로 사용된다. 장치 또는 인코더는 참조 부호 10을 사용하여 표시된다. 도 2는 대응하는 디코더(20), 즉 화상들(12')로 구성된 비디오(11')를 데이터 스트림(14)으로부터의 화상 블록들로, 여기서는 또한 예시적으로 변환 기반 잔차 디코딩을 사용하여 예측 디코딩하도록 구성된 장치(20)를 도시하며, 여기서 아포스트로피는 디코더(20)에 의해 각각 재구성된 화상들(12') 및 비디오(11')가 예측 잔차 신호의 양자화에 의해 유도된 코딩 손실 면에서 장치(10)에 의해 원래 인코딩된 화상들(12)에서 벗어남을 나타내는 데 사용되었다. 도 1 및 도 2는 예시적으로 변환 기반 예측 잔차 코딩을 사용하지만, 본 출원의 실시예들은 이러한 종류의 예측 잔차 코딩으로 제한되지 않는다. 이것은 이하 개요가 설명되는 바와 같이, 도 1 및 도 2에 관해 설명된 다른 세부사항들에 대해서도 마찬가지이다.
인코더(10)는 예측 잔차 신호에 공간-스펙트럼 변환을 적용하도록, 그리고 이렇게 획득된 예측 잔차 신호를 데이터 스트림(14)으로 인코딩하도록 구성된다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터 예측 잔차 신호를 디코딩하고 이렇게 획득된 예측 잔차 신호에 스펙트럼-공간 변환을 적용하도록 구성된다.
내부적으로, 인코더(10)는 원래 신호, 즉 비디오(11) 또는 현재 화상(12)으로부터의 예측 신호(26)의 편차를 측정하기 위해 예측 잔차(24)를 생성하는 예측 잔차 신호 형성기(22)를 포함할 수 있다. 예측 잔차 신호 생성기(22)는 예컨대, 원래 신호, 즉 현재 화상(12)으로부터 예측 신호를 감산하는 감산기일 수 있다. 인코더(10)는 다음으로, 예측 잔차 신호(24)에 공간-스펙트럼 변환을 적용하여 스펙트럼 도메인 예측 잔차 신호(24')를 획득하는 변환기(28)를 더 포함할 수 있는데, 예측 잔차 신호(24')는 이후 인코더(10)에 또한 포함되는 양자화기(32)에 의한 양자화가 적용된다. 이렇게 양자화된 예측 잔차 신호(24'')는 비트스트림(14)으로 코딩된다. 이를 위해, 인코더(10)는 데이터 스트림(14)으로 변환 및 양자화된 예측 잔차 신호를 엔트로피 코딩하는 엔트로피 코더(34)를 선택적으로 포함할 수 있다. 데이터 스트림(14)으로 디코딩되고 그로부터 디코딩 가능한 예측 잔차 신호(24'')에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 예측 잔차(26)가 생성된다. 이를 위해, 예측 스테이지(36)는 내부적으로, 도 1에 도시된 바와 같이, 양자화 손실을 제외한 신호(24')에 대응하는 스펙트럼 도메인 예측 잔차 신호(24''')를 얻기 위해 예측 잔차 신호(24'')를 역양자화하는 역양자화기(38), 그 다음에 스펙트럼 도메인 예측 잔차 신호(24''')에 역변환, 즉 스펙트럼-공간 변환을 적용하여, 양자화 손실을 제외한 원래의 예측 잔차 신호(24)에 대응하는 예측 잔차 신호(24'''')를 획득하는 역변환기(40)를 포함할 수 있다. 그 다음, 예측 스테이지(36)의 조합기(42)가 이를테면, 덧셈에 의해 예측 신호(26)와 예측 잔차 신호(24'''')를 재조합하여, 재구성된 신호(46), 즉 원래 신호(12)의 재구성을 획득한다. 재구성된 신호(46)는 신호(12')에 대응할 수 있다.
그 다음, 예측 스테이지(36)의 예측 모듈(44)이 예컨대, 공간 예측, 즉 인트라 예측 및/또는 시간 예측, 즉 인터 예측을 사용함으로써 신호(46)를 기초로 예측 신호(26)를 생성한다. 이 점에 대한 세부사항들은 다음에 설명된다.
마찬가지로, 디코더(20)는 예측 스테이지(36)에 대응하는 성분들로 내부적으로 구성되며 예측 스테이지(36)에 대응하는 방식으로 상호 연결될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 양자화된 스펙트럼 도메인 예측 잔차 신호(24'')를 데이터 스트림으로부터 엔트로피 디코딩할 수 있으며, 이에 따라 예측 스테이지(36)의 모듈들과 관련하여 위에서 설명한 방식으로 상호 연결되고 협력하는 역양자화기(52), 역변환기(54), 조합기(56) 및 예측 모듈(58)이 예측 잔차 신호(24'')를 기초로 재구성된 신호를 복구하여, 도 2에 도시된 바와 같이, 조합기(56)의 출력은 재구성된 신호, 즉 비디오(11') 또는 그것의 현재 화상(12')이 된다.
위에서 구체적으로 설명하지는 않았지만, 인코더(10)가 예컨대, 일부 레이트 및 왜곡 관련 기준, 즉 코딩 비용을 최적화하고 그리고/또는 어떤 레이트 제어를 사용하는 방식과 같은 어떤 최적화 방식에 따라, 예컨대 예측 모드들, 모션 파라미터들 등을 포함하는 일부 코딩 파라미터들을 설정할 수 있다는 것이 쉽게 명백하다. 아래에서 보다 상세히 설명되는 바와 같이, 인코더(10)와 디코더(20) 및 각각 대응하는 모듈들(44, 58)은 인트라 코딩 모드들 및 인터 코딩 모드들과 같은 서로 다른 예측 모드들, 또는 이전 모드들이 화상 블록들의 예측들이 구성되는 데 기반이 되는 원시(primitive) 예측 모드들의 일종의 세트 또는 풀(pool)을 형성하는 모드들을 지원한다. 인코더와 디코더가 이러한 예측 구성들 간에 전환하는 입도는 화상들(12, 12')을 각각 블록들로 세분하는 것에 대응할 수 있다. 이러한 블록들 중 일부는 단지 인트라 코딩되는 블록들일 수 있고, 일부 블록들은 단지 인터 코딩되는 블록들일 수 있으며, 선택적으로 더 추가 블록들은 인트라 코딩과 인터 코딩을 모두 사용하여 획득된 블록들일 수 있지만, 세부사항들은 아래에 제시된다는 점에 주목한다. 인트라 코딩 모드에 따르면, 각각의 블록의 이미 공간 코딩/디코딩된 이웃을 기반으로 블록에 대한 예측 신호가 획득된다. 몇 가지 인트라 코딩 서브 모드들이 선택될 수 있으며, 그 중에서 준(quasi)은 일종의 인트라 예측 파라미터를 나타낸다. 방향성 또는 각도 인트라 코딩 서브 모드들이 있을 수 있는데, 이러한 모드들에 따라 각각의 방향성 인트라 코딩 서브 모드에 특정한 특정 방향을 따라 이웃의 샘플 값들을 각각의 블록으로 외삽함으로써 각각의 블록에 대한 예측 신호가 채워진다. 인트라 코딩 서브 모드들은 예컨대, 각각의 블록에 대한 예측 신호가 각각의 블록 내의 모든 샘플들에 DC 값을 할당하게 하는 DC 코딩 모드, 및/또는 이웃하는 샘플들에 기초하여 2차원 선형 함수에 의해 정의된 평면의 기울기 및 오프셋을 도출하여 각각의 블록의 예측 신호가 각각의 블록의 샘플 포지션들에 대해 2차원 선형 함수에 의해 기술된 샘플 값들의 공간 분포로 추정 또는 결정되게 하는 평면 인트라 코딩 모드와 같은 하나 이상의 추가 서브 모드들을 또한 포함할 수 있다. 이에 비교하여, 인터 예측 모드에 따르면, 예컨대 블록 내부를 시간적으로 예측함으로써 블록에 대한 예측 신호가 획득될 수 있다. 인터 예측 모드의 파라미터화를 위해, 모션 벡터들이 데이터 스트림 내에서 시그널링될 수 있는데, 모션 벡터들은 각각의 블록에 대한 예측 신호를 얻기 위해 이전에 코딩된/디코딩된 화상이 샘플링되는 비디오(11)의 이전에 코딩된 화상 부분의 공간 변위를 표시한다. 이는 양자화된 스펙트럼 도메인 예측 잔차 신호(24'')를 나타내는 엔트로피 코딩된 변환 계수 레벨들과 같은 데이터 스트림(14)으로 구성된 잔차 신호 코딩에 추가하여, 데이터 스트림(14)이 아래에서 보다 상세히 개요가 설명되는 바와 같이, 블록들에 예측 모드들을 할당하기 위한 예측 관련 파라미터들, 인터 예측 모드들에 대한 모션 파라미터들과 같은 할당된 예측 모드들에 대한 예측 파라미터들, 및 선택적으로는, 할당된 예측 모드들 및 예측 파라미터들을 사용하여 블록들에 대한 최종 예측 신호의 구성을 제어하는 추가 파라미터들로 인코딩되었을 수 있음을 의미한다. 추가로, 데이터 스트림은 화상들(12, 12')을 각각 블록들로 세분하는 것을 제어하고 시그널링하는 파라미터들을 포함할 수 있다. 디코더(20)는 이러한 파라미터들을 사용하여 인코더와 동일한 방식으로 화상을 세분하고, 동일한 예측 모드들 및 파라미터들을 블록들에 할당하고, 동일한 예측을 수행하여 동일한 예측 신호를 야기한다.
도 3은 한편으로는 재구성된 신호, 즉 재구성된 화상(12')과, 다른 한편으로는 데이터 스트림으로 시그널링되는 예측 잔차 신호(24'''')와 예측 신호(26)의 조합 간의 관계를 예시한다. 위에서 이미 언급한 바와 같이, 조합은 덧셈일 수 있다. 예측 신호(26)는 화상 영역을 다양한 크기의 블록들(80)로 세분한 것으로 도 3에 도시되어 있지만, 이것은 단지 일례일 뿐이다. 세분은 블록들의 행들과 열들로의 화상 영역의 규칙적인 세분, 또는 쿼드트리 세분 등과 같은 다양한 크기의 리프 블록들로의 화상(12)의 다중 트리 세분과 같은 임의의 세분일 수 있으며, 이들의 혼합이 도 3에 예시되는데, 여기서 화상 영역은 먼저 트리 루트 블록들의 행들과 열들로 세분되고, 이들은 다음에 재귀적 다중 트리 세분에 따라 추가로 세분되어 블록들(80)이 된다.
도 3의 예측 잔차 신호(24'''')는 화상 영역을 블록들(84)로 세분한 것으로 또한 예시된다. 이러한 블록들은 이들을 코딩 블록들(80)과 구별하기 위해 변환 또는 잔차 블록들로 불릴 수도 있다. 사실상, 도 3은 인코더(10) 및 디코더(20)가 블록들로의 각각 화상(12) 및 화상(12')의 2개의 서로 다른 세분들, 즉 코딩 블록들(80)로의 하나의 세분 그리고 블록들(84)로의 다른 세분을 사용할 수 있음을 예시한다. 두 세분들은 동일할 수도 있는데, 즉 각각의 블록(80)이 동시에 변환 블록(84)을 형성할 수 있고 그 반대도 가능하지만, 도 3은 예컨대, 두 블록들(80) 사이의 임의의 경계가 두 블록들(84) 사이의 경계에 오버레이하거나, 대안으로 말하면 각각의 블록(80)이 변환 블록들(84) 중 하나와 일치하거나 변환 블록들(84)의 클러스터와 일치하도록 변환 블록들(84)로의 세분이 블록들(80)로의 세분의 확장을 형성하는 경우를 예시한다. 그러나 세분들은 또한 변환 블록들(84)이 대안으로 블록들(80) 사이의 블록 경계를 교차할 수 있도록 서로 독립적으로 결정 또는 선택될 수 있다. 변환 블록들(84)로의 세분에 관한 한, 이와 같이 블록들(80)로의 세분과 관련하여 제기된 것들과 유사한 서술들이 사실인데, 즉 블록들(84)은 행들과 열들로 배열된 블록들로의 화상 영역의 규칙적인 세분의 결과, 화상 영역의 재귀적 다중 트리 세분의 결과, 또는 이들의 조합 또는 임의의 다른 종류의 세그먼트화일 수 있다. 덧붙여 말하자면, 블록들(80, 84)은 정사각형, 직사각형 또는 임의의 다른 형상인 것으로 제한되지는 않는다는 점이 주목된다. 또한, 현재 화상(12)을 예측 신호가 형성되는 블록들(80)로 세분하는 것, 현재 화상(12)을 예측 잔차가 코딩되는 블록들(84)로 세분하는 것이 코딩/디코딩에 사용되는 유일한 세분은 아닐 수 있다. 이러한 세분은 예측 신호 결정 및 잔차 코딩이 수행되는 입도로부터 야기되지만, 일단, 잔차 코딩은 대안으로 세분 없이 이루어질 수 있으며, 두 번째로, 이러한 세분들 이외의 다른 입도들에서, 인코더 및 디코더는 예측 파라미터들, 예측 신호 구성 제어 신호들 등과 같은 앞서 설명한 파라미터들 중 일부를 포함할 수도 있는 특정 코딩 파라미터를 설정할 수 있다.
도 3은 예측 신호(26)와 예측 잔차 신호(24'''')의 조합이 직접 재구성된 신호(12')를 야기함을 예시한다. 그러나 예컨대, 별도의 DPB를 사용하여 별도의 예측 루프에서 코딩/디코딩되는 다른 코딩 계층들로부터 또는 다른 뷰들로부터 획득된 예측 신호들과 같은 대안적인 실시예들에 따라, 하나보다 많은 예측 신호(26)가 예측 잔차 신호(24'''')와 조합되어 화상(12')을 야기할 수 있다는 점이 주목되어야 한다.
도 3에서, 변환 블록들(84)은 다음과 같은 의미를 가질 것이다. 변환기(28) 및 역변환기(54)는 이러한 변환 블록들(84)의 단위들로 이들의 변환들을 수행한다. 예컨대, 많은 코덱들은 모든 변환 블록들(84)에 대해 일종의 DST 또는 DCT를 사용한다. 일부 코덱들은 변환 블록들(84) 중 일부에 대해, 예측 잔차 신호가 공간 도메인에서 직접 코딩되도록 변환의 스킵을 허용한다. 그러나 아래에 설명되는 실시예들에 따르면, 인코더(10) 및 디코더(20)는 이들이 여러 변환들을 지원하는 방식으로 구성된다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환들은 다음을 포함할 수 있다:
o DCT-II(또는 DCT-III), 여기서 DCT는 이산 코사인 변환(Discrete Cosine Transform)을 의미함
o DST-IV, 여기서 DST는 이산 사인 변환(Discrete Sine Transform)을 의미함
o DCT-IV
o DST-VII
o 항등 변환(IT)
당연히, 변환기(28)는 이러한 변환들의 모든 순방향 변환 버전들을 지원하는 한편, 디코더(20) 또는 역변환기(54)는 이들의 대응하는 역방향 또는 역 버전들을 지원할 것이다:
o 역 DCT-II(또는 역 DCT-III)
o 역 DST-IV
o 역 DCT-IV
o 역 DST-VII
o 항등 변환(IT)
어떤 경우든, 지원되는 변환들의 세트는 하나의 스펙트럼-공간 또는 공간-스펙트럼 변환과 같은 단지 하나의 변환을 포함할 수 있다는 점이 주목되어야 한다.
위에서 이미 개요가 설명된 바와 같이, 도 1 - 도 3은 본 출원에 따른 비디오 인코더들 및 디코더들에 대한 특정 예들을 형성하기 위해 아래에서 추가 설명되는 개념들이 구현될 수 있는 예로서 제시되었다. 지금까지, 도 1 및 도 2의 비디오 인코더 및 디코더는 각각 본 명세서의 아래에서 설명되는 비디오 인코더들 및 디코더들의 가능한 구현들을 나타낸다.
나중에 설명될 본 출원의 다양한 양상들의 실시예들은 간혹 앞서 제시된 공통 기본 개념들을 사용한다. 즉, 나중에 설명되는 실시예들의 인코더들 및 디코더들은 방금 개요가 설명된 바와 같이, 도 1 - 도 3과 관련하여 앞서 제시한 세부사항들에 구현이 대응할 필요는 없지만, 이들은 다음의 기술적 세부사항들 중 하나 이상에 대응할 수 있으며, 이러한 기술적 세부사항들은 나중에 설명되는 실시예들을 이해하는 데 도움이 되거나 조력한다. 예컨대, 도 4에서 시작한다. 나중에 설명되는 실시예들은 이들이 화상 코딩과 관련된다는 점에서 일치한다. 화상은 비디오의 일부일 수도 있고, 아래에 설명되는 디코더들 및 인코더들은 각각 비디오 인코더들 및 비디오 디코더들일 수 있지만, 여전히 화상 코딩도 역시 적용될 수 있다. 따라서 도 4는 실시예들이 아래에서 설명되는 인코더들 및 디코더들의 일반적인 동작 또는 작업을 개략적으로 예시한다.
도 4는 코딩될 화상을 보여준다. 본 출원의 실시예에 도달하는 방식으로 도 1 - 도 3의 예를 구현하기 위해 본 명세서의 아래에 제시되는 세부사항들이 어떻게 사용될 수 있는지에 대한 이해를 돕기 위해 도 1 - 도 3에서 사용된 것과 동일한 참조 부호들이 사용된다. 또한, 도 4는 화상(12)의 블록(84)을 도시한다. 이것은 현재 코딩된 블록 또는 현재 디코딩된 블록이다. 참조 부호(84)의 사용은 본 명세서의 아래에 개요가 설명되는 변환 코딩이 도 1 내지 도 3과 관련하여 위에서 개요가 설명된 바와 같이 예측 잔차와 관련될 수 있음을 드러내지만, 이는 원칙적으로, 대안적인 실시예들에서는 제외될 수 있는 상황이다. 즉, 본 명세서의 아래에 제시되는 모든 실시예들에 대해, 여기서 언급한 변환 계수 블록은 화상 내 예측 또는 화상 간 예측에 대한 잔차와 같은 블록(84) 내의 예측 잔차의 변환을 나타낼 수도 있다. 블록(84)은 변환(90)을 통해 변환 계수 블록(92)과 관련된다. 변환의 예들은 도 1 - 도 3과 관련하여 위에서 제시되었으며 이들은 모든 실시예들에 적용될 것이다. 블록(84)에 대해 하나의 변환이 선택된다. 대안으로, 변환은 고정될 수 있다. 선택의 경우, 선택은 데이터 스트림에서 시그널링될 수 있다. 변환 중에서 하나는 항등 변환일 수 있다. 변환 계수 블록(92)의 변환이 블록(84)의 크기와 일치하는 차원 또는 크기를 가질 수도 있지만, 즉 블록(92)의 계수들의 수는 블록(84)의 샘플들의 수와 일치할 수 있지만, 이것이 지원되는 모든 변환들에 적용될 필요는 없고, 또는 단지 하나의 변환(90)이 사용되는 경우에는 적용되지 않을 수 있다. 인코더와 디코더 모두 공간 도메인에서 예측 잔차와 같은 블록(84)의 내부를 재구성하기 위해 역변환을 사용할 수 있는데, 디코더는 제시를 위해, 인코더는 디코딩된 화상 버퍼를 공급하기 위해 역변환을 사용할 수 있다. 이후에 설명되는 실시예들은 데이터 스트림(14)으로/으로부터 변환 계수 블록(92)을 디코딩/인코딩하는 작업(108)에 집중한다.
도 4에 예시된 바와 같이, 변환 계수 블록(92)은 직사각형 배열로 배열되는 변환 계수들(91)로 구성될 수 있다. 즉, 변환 계수 블록(92)은 직사각형 블록일 수 있다.
변환(90)의 목표는 중복 감소를 목표로 하고 더 적은 수의 계수들(91)을 향해 0이 아닌 계수들을 수집하는 것이다. 예컨대, 변환 계수 블록(92)을 보여주는 도 5를 참조한다. 변환 계수 포지션(104), 즉 상부 좌측 계수 포지션에 있는 변환 계수는 DC 계수일 수 있고, 이 계수 포지션(104)을 향해, 예컨대 특정 계수가 0이 아닌 양자화 레벨로 양자화될 확률이 증가한다. 이러한 상황을 활용하기 위해, 변환 계수 블록(92)의 코딩은 계수 포지션(104)에서부터 시작하는 변환 계수들을 스캔 경로(94)를 따라 계수 포지션(104)으로부터 일반적으로 멀리 진행하는 방식으로 순차적으로 스캔할 때 계수 포지션(104)으로부터 가장 먼 변환 계수 포지션(98)을 나타내는 데이터 스트림에서의 표시의 신호화를 수반할 수 있다. 이러한 종단 포지션(98)의 표시는 데이터 스트림(14)이 변환 계수들(91), 즉 도 5에서 해칭된 것들의 코딩된 세트(100)로만 인코딩되었다는 표시의 역할을 할 것이며, 코딩된 세트(100)는 종단 계수 포지션(98) 및 종단 계수 포지션(104)을 포함하여 모든 변환 계수들을 포함한다. 그래서 도 5에서 해칭되지 않은 다른 계수들은 디코더 측에서 0인 것으로 알려져 있다.
이는 본 출원의 일부 실시예들에 따라 사용되는 바와 같이, 변환 계수들(91)의 코딩된 세트가 역방향(118)을 따라, 즉 종단 계수 포지션(104)으로부터 일반적으로 멀리 진행하는 스캔 경로(94)를 따라 순방향이 아니라, 종단 계수 포지션(104)으로 이어지는 그 반대 방향으로 데이터 스트림(14)으로 코딩될 때 유용할 수도 있다.
나중에 설명되는 일부 실시예들과 관련하여 구체적으로 논의되지는 않지만, 변환 계수들(91)의 양자화 레벨들이 이진화를 사용하여 데이터 스트림(14)으로 코딩되는 것이 (선택적으로) 후자의 실시예들에도 적용될 수도 있다. 즉, 특정 변환 계수(91)의 양자화 레벨은 도 6에 예시된 바와 같이, 빈 스트링(bin string) 또는 코드워드(161)에 매핑된 이진화에 의한 것이다. 이진화는 일종의 전치 역할을 하는 제1 이진화 코드(160), 및 제2 이진화 코드(162)로 구성될 수 있다. 더 정확하게는, 도 6의 106을 양자화 레벨이라고 한다. 양자화 레벨(106)이 특정 컷오프 값(164)을 초과한다면, 양자화 레벨(106)은 컷오프 값(164)에 대응하는 제1 이진화 코드의 코드워드가 전치된 제2 이진화 코드에서 생겨난 부분(162)으로 구성된 빈 스트링(161)으로 이진화된다. 그러나 양자화 레벨(106)이 컷오프 값보다 높지 않다면, 양자화 레벨(106)은 제1 이진화 코드(160)만으로 구성된 빈 스트링에 매핑된다. 일부 실시예들에서, 컷오프 값(164)은 특정 변환 계수들에 대해 0이 될 수 있는데, 이 경우 이진화(161)는 단지 제2 이진화 코드(162)를 포함한다.
특정 변환 계수의 이진화(161)를 형성하는 하나 이상의 빈들이 데이터 스트림으로 코딩될 수 있을 수도 있고, 그로부터 각각 스캔 경로(94)를 따라 계수별로 디코딩될 수 있을 수도 있지만, 나중에 설명되는 일부 실시예들은 계수들을 트래버스하는 여러 패스들을 사용한다. 이는 결국, "이전에 인코딩/디코딩된 변환 계수들"이 아래에서 언급될 때마다, 이러한 계수들의 이진화가 완전히 인코딩/디코딩되지 않았을 수도 있음을 의미한다. 오히려, 이러한 이전 변환 계수에 대해 적어도 하나의 빈이 인코딩/디코딩되었다. 이진화(161)는 제1 이진화 코드의 길이, 제2 이진화 코드의 길이뿐만 아니라, 이진화(161)의 전체 이진화 길이가 양자화 레벨(106) 또는 더 정확하게는, 그 크기 값에 대해 단조적으로 증가하도록 형성될 수 있다. 즉, 특정 양자화 레벨(106)에 대해 이진화(161)의 선행 빈들이 더 많이 판독될수록, 첫째로 이진화(161)가 완전히 판독되고, 둘째로 양자화 레벨이 아래로 떨어질 수 있는, 또는 이러한 선행 빈들 다음에 오는 그리고 아직 판독되지 않은 이진화(161)의 빈들이 있는 경우에 양자화 레벨이 최소로 갖는 절대 값이 더 커지게 될 가능성이 높아진다.
구체적인 예로서, 예컨대, 제1 이진화 코드(160)의 빈들은 하나 이상의 패스들에서 먼저 코딩/디코딩되며, 이후에 제2 이진화 코드의 코딩/디코딩에 참여하는 것일 수도 있다. 제1 이진화 코드(160)의 빈들은 컨텍스트 적응 엔트로피 코딩을 사용하여 코딩될 수도 있지만, 제2 이진화 코드(162)의 빈들은 등확률 바이패스 모드, 즉 1의 코드 레이트를 사용하여 코딩될 수도 있다.
도 7에 예시된 바와 같이, 제2 이진화 코드 자체는 전치 부분(162a) 및 후치 부분(162b)을 포함하는 이진화 코드로 구성될 수도 있다. 이진화 파라미터(163)는 전치 부분(162a)의 길이를 조절할 수도 있다. 예컨대, 이진화 파라미터(163)는 Exp-Golomb 차수 또는 Rice 파라미터일 수도 있다.
또한, 제1 이진화 코드에 속하는 이진화(161)의 빈들(165)은 컨텍스트 적응 이진 코딩을 사용하여 코딩될 수도 있다. 이는 도 6에서 해칭을 사용하여 예시된다. 제2 이진화 코드(162)에 속하는 다른 빈들(165)은 바이패스 모드를 사용하여 코딩될 수도 있고 도 6 및 도 7에서 해칭 없이 예시된다. 이후에 설명되는 많은 실시예들은 컨텍스트 선택과 관련된다. 이 컨텍스트 선택은 다음에, 특정 구현으로서 예컨대, 빈들(165) 중 하나 이상을 컨텍스트 적응적으로 코딩하기 위해 사용될 수 있다. 추가 세부사항들은 아래에 제시된다.
본 출원의 실시예들에 대한 설명으로 시작하기 전에, 나중에 설명되는 실시예들 중 일부에 의해 간혹 일반적으로 사용되는 추가 개념들이 제시될 것이다. 특히, 일부 실시예들에 따르면, 변환 계수 블록(92)은 특정 파티션(120) 내의 모든 변환 계수들이 0임을 시그널링하기 위해, 도 8에서 파선들을 사용하여 예시된 바와 같이 파티션들(120)로 분할되며, 이에 따라 변환 계수들(91)을 코딩할 때 스킵될 수 있다. 제로화 신호화를 위한 그러한 파티셔닝이 사용된다면, 특정 파티션에 대해 해당 파티션 내의 변환 계수들(91)이 모두 0인지 여부, 또는 이것이 사실이 아니고 해당 파티션 내의 변환 계수들(91)이 데이터 스트림으로 코딩되는지 여부를 시그널링하기 위해 파티션별로 표시가 데이터 스트림(14)으로 시그널링된다. 본 출원의 다양한 실시예들의 설명 중에 반대로 교시되지 않는다면, 이후에 적용되는 모든 실시예들에 적용 가능한 한 가지는, 특정 파티션(120)의 모든 변환 계수들(91)이 임의의 다른 파티션의 변환 계수 이전에 스캔 경로(94)에 의해 스캔 또는 트래버스되는 방식으로 변환 계수들(91)이 스캔 경로(94)에 의해 트래버스되는 방식으로 스캔 부분(94)이 선택될 수 있다는 것이다. 후자의 가능성을 도 6 및 도 7과 관련하여 위에서 언급한 다수의 패스 대안들과 조합할 때, 임의의 다른 파티션의 변환 계수들로 코딩/디코딩이 진행되기 전에, 하나의 파티션(120) 내의 변환 계수들(91)이 완전히 코딩될 수 있는데, 즉 빈 스트링(161)의 빈들이 완전히 코딩될 수 있다. 즉, 스캔 순서(118)와 같은 스캔 순서로 스캔 경로(94)를 따라 다음 파티션의 변환 계수들의 인코딩/디코딩으로 하나 이상의 패스들에서 코딩/디코딩이 진행되기 전에, 스캔 경로(94)를 따라 특정 파티션(120)의 변환 계수들(91)의 인코딩/디코딩을 트래버스하는 데 하나 이상의 패스들이 사용된다.
파티션들을 사용하는 다른 개념이 도 9와 관련하여 설명된다. 나중에 설명되는 몇 가지 실시예들이 이 개념을 사용한다. 여기서, 변환 계수 블록(92)은 컨텍스트 사용을 위해 파티션들(120)로 파티셔닝된다. 도 9의 우측에 컨텍스트 세트들(110a 내지 110c)이 도시된다. 한 세트(110a-c)의 컨텍스트들은 "P#"로 표시된 하나 이상의 컨텍스트들을 포함한다. 각각의 "컨텍스트"는 대안으로 컨텍스트 모델로서 표시될 수 있으며, 이 컨텍스트를 사용하는 엔트로피 코딩의 기반이 되는 확률 추정을 나타낸다. 예컨대, 이진 엔트로피 코딩, 즉 빈의 엔트로피 코딩의 경우, 컨텍스트는 예컨대, 빈 값들 중 하나에 대한 확률 추정을 나타내며, 이에 따라 다른 빈 값에 대한 확률 추정도 또한 자동으로 나타낸다. 파티션들(120) 각각은 그와 연관된 컨텍스트 세트들(110a-c) 중 하나를 갖는다. 예컨대, 특정 파티션(120) 내의 변환 계수들(91)은 그 파티션(120)과 연관된 컨텍스트 세트들(110) 중에서 선택된 세트를 사용하여 엔트로피 코딩/디코딩되는데, 이 세트로부터의 선택은 예컨대, 현재 계수(91) 근처의 계수들의 평가에 기초하여 이루어진다.
후자의 상황은 예컨대, 도 10에 도시된다. 현재 인코딩/디코딩된 변환 계수는 여기서 십자(130)를 사용하여 강조된다. 현재 인코딩/디코딩된이라는 것은, 위에서 언급한 다중 패스 접근 방식을 사용할 때, 이 계수(130)의 하나의 빈이 현재 인코딩/디코딩된 것을 의미할 수 있다. 참조 부호(132)는 계수(130)에/그 주위에 포지셔닝된 로컬 템플릿을 나타내며, 이 로컬 템플릿(132) 내에 또는 그에 포지셔닝된 계수들은 계수들(130) 또는 그 현재 인코딩/디코딩된 빈을 인코딩하는 데 사용될 컨텍스트를 결정하기 위해 평가 또는 사용될 수 있다. 또한, 일부 실시예들은 로컬 템플릿(132)의 사용을 직접 언급한다. 그러나 현재 인코딩/디코딩된 계수(130)를 코딩하는 데 사용되는 컨텍스트를 결정하기 위한 로컬 템플릿(132)의 사용을 구체적으로 언급하지 않는, 나중에 설명되는 실시예들은 실제로, 컨텍스트를 선택하는 이러한 방법을 또한 사용하도록 수정될 수 있다. 계수(130)에 대한 선택은 도 9의 실시예에 따라, 현재 계수(130)가 위치되는 파티션(120a)과 연관된 세트로부터 이루어질 수 있다. 그러나 컨텍스트 세트들의 파티션 특정 설계를 위한 분할의 사용은 단지 일례일 뿐이며, 모든 실시예들에 의해 사용되지는 않을 수 있다.
나중에 설명되는 실시예들 중 일부가 직접적으로 관련되고 다른 실시예들을 수정 또는 확장하는 데에도 또한 사용될 수 있는 다른 양상은 다수의 성분들, 즉 다수의 색 성분들과 관련된 블록(84)의 내용물과 관련된다. 색 성분들에 대한 예들은 예컨대 루마(luma)/코마(coma) 표현인데, 이에 따라 블록(84)의 내용물이 루마(L)에 대해 그리고 2개의 코마 성분들(C1, C2)에 대해 공간적으로 샘플링되지만, 다른 실시예들도 역시 존재할 수 있다. 따라서 블록(84)은 제1 색 성분에 대한 샘플 배열(841), 제2 색 성분에 대한 샘플 배열(842), 제3 색 성분에 대한 샘플 배열(843)로 구성될 것이다. 여기서 양상은 각각의 성분이 개별적으로 처리될 수 있다는 것이다. 즉, 각각의 성분에 대해, 블록(84)의 각각의 샘플 어레이는 예측기의 각각의 성분에 대한 예측 잔차를 나타낼 수 있다. 각각의 샘플 배열은 변환(90), 바람직하게는 동일한 변환이 이루어지며, 대응하는 변환 계수 블록(921 내지 923)을 산출한다. 그러나 여기서는 다양한 색 성분들의 샘플 해상도가 서로 다를 수 있고, 그래서 샘플 배열들 간의 크기들 및 변환 계수 블록들 간의 크기들이 마찬가지로 달라질 수 있다는 점이 주목되어야 한다. 각각의 변환 계수 블록(921 내지 923)은 데이터 스트림(14)으로의/으로부터의 디코딩/인코딩(108)이 이루어지며, 각각의 변환 계수 블록(921 내지 923)은 도 3 내지 도 9와 관련하여 설명된 측정들과 단계들 및 프로세스들이 이루어진다. 도 11a에서 설명되는 다중 성분 개념은 임의의 색 성분 양상을 더 언급하지 않는, 뒤에 설명되는 실시예들에 적용될 수 있지만, 뒤에 설명되는 실시예들은 단지 하나의 성분이 존재하는 경우들 또는 구현들에 마찬가지로 사용될 수 있다는 점이 주목되어야 한다.
위에서 아직 설명되지 않은 다른 양상은 특정 변환 계수 블록(92)의 코딩 및 이에 따라 그 디코딩이, 그 변환 계수 블록(92)의 변환 계수들(91) 중 어느 것도 어떻든 0이 아닌지 여부의 표시(190)로 시작할 수 있다는 사실이다. 0이 아니지 않다면, 변환 계수 블록은 전역적으로 0인 것으로 디코더에 알려진다. 도 11b에 예시되는 이 표시(190)가 적어도 하나의 0이 아닌 계수(91)가 존재함을 나타내는 경우에만, 위에서 개요가 설명된 개념들의 임의의 조합이 변환 계수 블록을 코딩하는 데 사용된다. 유사한 방식으로, 도 11c는 파티션들(120)에 대한 유사한 표시들(150)을 예시하는데, 즉 이러한 표시들은 연관된 파티션(120) 내의 제로화를 나타낸다. 도 11d는 포지션(98)을 나타낼 수도 있는 마지막 포지션 표시(114)를 예시한다. 도 11e는 연관된 컨텍스트 세트(110)로부터 선택된 현재 계수의 양자화 레벨(106)을 엔트로피 인코딩/디코딩(116)하는 데 현재 사용되는 개별 컨텍스트를 예시하고, 도 11f는 양자화 레벨들(106)이 데이터 스트림으로 코딩되는 코딩 순서(102), 즉 예컨대, 방향(118)으로 트래버스하는 경로(94)로부터 발생하는 순서를 예시한다.
이제 독자는 이후에 설명되는 본 출원의 실시예들을 이해하고 따를 준비가 되어야 한다. 본 출원의 제1 양상과 관련된 실시예가 도 12와 관련하여 설명된다. 여기서, 인코더 및 디코더는 하나의 블록(84)의 서로 다른 색 성분들의 서로 다른 변환 계수 블록들의 엔트로피 코딩을 수행하는 측면에서 특별한 방식으로 화상(12)을 데이터 스트림(14)으로 인코딩/디코딩한다. 도 12는 2개의 색 성분들로 구성됨으로써, 샘플 배열들(841, 842)로 구성되는 것으로 블록(84)을 도시하지만, 구성은 도 11a와 관련하여 설명된 바와 같이 3개의 색 성분들을 포괄할 수 있는 것이 명백하다. 도 11a에 대해 설명한 바와 같이, 인코더는 제1 색 성분 및 제2 색 성분에 대해 개별적으로 화상(12)의 블록(84)에 변환(90)을 적용하여 각각 제1 변환 계수 블록(921) 및 제2 변환 계수 블록(922)을 획득하고, 마찬가지로 디코더는 제1 변환 계수 블록(921) 및 제2 변환 계수 블록(922)에 각각 역변환을 개별적으로 수행함으로써 화상의 블록(84)을 도출한다. 데이터 스트림(14)으로/으로부터의 제2 변환 계수 블록(922)의 엔트로피 인코딩 및 엔트로피 디코딩과 관련하여, 인코더 및 디코더는 제1 변환 계수 블록(921)에 의존하는 컨텍스트를 사용하여 컨텍스트 적응적으로 동작한다. 의존성은 도 12에서 화살표(300)로 예시된다.
예를 들어, 제1 변환 계수 블록에 대한 의존성(300)을 사용하여 결정된 컨텍스트는 특정 파티션(120)의 변환 계수들(91)이 모두 0인지 또는 적어도 하나의 0이 아닌 계수를 포함하는지― 이 경우 그 파티션 내의 변환 계수들(91)의 양자화 레벨들은 데이터 스트림(14)으로/으로부터 엔트로피 인코딩/디코딩되는 반면, 이 엔트로피 인코딩/디코딩은 모두 제로화(all-zeroness)를 나타내는 다른 파티션들에 대해서는 스킵됨 ―를 나타내는, 도 8과 관련하여 위에서 설명한 파티션 특정 표시들과 관련될 수 있다. 파티션(120)에 대한 그러한 표시는 플래그일 수 있고 코딩된 서브블록 플래그라고 불릴 수 있다. 특정 파티션/서브블록(120)에 대한 그러한 코딩된 서브블록 플래그에 대해 선택된 컨텍스트는 예컨대, 제1 변환 계수 블록 내에 콜로케이트된 서브블록(파티션)에 대해 코딩되는 코딩된 서브블록 플래그(추가 표시)에 따라 선택될 수 있다. 따라서 선택은 2개의 이용 가능한 컨텍스트들 중에서 이루어질 수 있는데: 제1 변환 계수 블록(921)에 콜로케이트된 파티션에 대한 플래그가 1이라면 제1 이용 가능 컨텍스트가 사용되고, 제1 변환 계수 블록(921)에 콜로케이트된 파티션에 대한 플래그가 2라면 제2 변환 계수 블록(922)의 특정 파티션의 플래그에 제2 이용 가능 컨텍스트가 사용된다. 그러나 제2 변환 계수 블록(922)의 특정 파티션의 특정 표시에 대한 의존성(300)은 대안으로 다른 방식으로 구현될 수 있다. 예컨대, 제2 변환 계수 블록(922)의 특정 파티션(120)에 대한 제로화의 특정 표시를 위해 선택된 컨텍스트는 콜로케이트된 파티션 내의 변환 계수들과 같은 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 의존할 수 있다.
즉, 위에서 명시적으로 언급하지 않고도, 2개의 변환 계수 블록들(921, 922)이 동일한 형상과 크기일 수 있거나 수평 및 수직 치수에 대해 동일한 종횡비일 수 있으며, 파티션들(120)로의 파티셔닝이 이러한 블록들(921, 922)에 대해 동일할 수 있거나 하나의 변환 계수 블록(921)을 다른 변환 계수 블록으로 스케일링할 때 일치할 수 있다고 가정할 수 있다.
대안으로 또는 추가로, 의존성(300)은 위에서 설명한 변환 계수 제로화의 전역적 표시와 관련될 수 있다. 즉, 변환 계수 블록(922)에 대해 데이터 스트림(14)으로 코딩되거나 데이터 스트림(14)으로부터 디코딩된 표시는 다음에 의존성(300)을 통해, 사용된 컨텍스트에 대해 제1 변환 계수 블록(921)에 의존할 것이다. 이 표시가 제2 변환 계수 블록(922)의 변환 계수들(91)이 적어도 하나의 0이 아닌 계수를 포함함을 나타낸다면, 블록(922)의 변환 계수들(91)의 양자화 레벨들은 데이터 스트림(14)으로 엔트로피 인코딩되고 데이터 스트림(14)으로부터 엔트로피 디코딩되지만, 표시가 제2 변환 계수 블록 내의 모든 변환 계수들이 0임을 나타낸다면, 제2 변환 계수 블록(922)의 모든 변환 계수들(91)이 0이라고 추론하여 디코더로 그 블록(922)의 코딩/디코딩이 이루어진다. 예컨대, 의존성(300)은 그 경우, 제1 변환 계수 블록(921)에 대해 코딩/디코딩된 대응하는 표시에 따라 제2 변환 계수 블록(922)에 대한 제로화의 표시에 사용되는 컨텍스트를 렌더링할 수 있다. 대안으로, 의존성(300)은 제1 변환 계수 블록(921)의 변환 계수들의 양자화 레벨들에 따라 변환 계수 블록(922)의 제로화의 표시에 사용되는 컨텍스트를 렌더링할 수 있다. 예컨대, 제1 변환 계수 블록(921)에 대한 표시가 제1 변환 계수 블록(921)의 적어도 하나의 변환 계수의 비-제로화를 나타낸다면 제2 변환 계수 블록에 대한 표시를 위해 제1 컨텍스트가 선택될 수 있고, 제1 변환 계수 블록(921)의 대응하는 제로화 표시가 제1 변환 계수 블록(921)의 변환 계수들의 모두 제로화를 나타낸다면 제2 변환 계수 블록(922)의 제로화 표시를 위해 제2 컨텍스트가 선택될 수 있다.
추가로 또는 대안으로, 의존성(300)은 종단 계수 포지션(98)의 포지션 표시와 관련될 수 있다. 데이터 스트림(14)에서 이 포지션 표시를 시그널링하기 위한 다른 가능성들이 존재한다. 예컨대, 포지션 표시는 스캔 경로(94)를 따라 순방향(116)으로 측정될 때 모든 계수 포지션들 중에서 포지션(98)의 어드레스 또는 랭크로서 포지션(98)을 나타내는 1차원 어드레스 또는 랭크로서 데이터 스트림에서 시그널링될 수 있다. 대안으로, 포지션 표시는 변환 계수 블록(921, 922) 내에서 각각 수평 및 수직 포지션의 관점에서 포지션(98)을 나타내는 2개의 좌표들에 의해 각각의 변환 계수 블록 내의 포지션(98)을 나타낼 수 있다. 이제, 위에서 이미 논의한 의존성(300)을 구현할 가능성들에 추가하여 또는 대안으로, 의존성(300)은 제2 변환 계수 블록(922)에 대한 포지션(98)의 마지막 포지션 표시에 영향을 줄 수 있다. 특히, 이 표시를 인코딩하는 데 사용되는 컨텍스트는 제1 변환 계수 블록(921)에 대한 포지션(98)의 마지막 포지션 표시 또는 제1 변환 계수 블록(921) 내의 유효 변환 계수들(91)의 포지션 또는 분포의 평가와 같은 제1 변환 계수 블록에 의존할 수 있다.
블록들(921, 922)의 마지막 포지션 표시들이 인코딩되는 방식은 또한 이진화 코드로의 이진화를 수반할 수 있으며, 의존성이 의존성(300)을 수반하는 컨텍스트가 마지막 포지션 표시의 이진화 코드의 제1 빈과 같은 하나 이상의 빈들에 대해 사용될 수 있다.
추가로 또는 대안으로, 제2 변환 계수 블록(922) 내의 변환 계수들(91)의 이진화(161)의 제1 빈과 같은 하나 이상의 빈들에는 의존성(300)이 적용될 수 있는데, 즉 이진화(161)의 하나 이상의 빈들을 인코딩하는 데 사용되는 컨텍스트는 제1 변환 계수 블록(921)의 콜로케이트된 변환 계수의 이진화의 대응하는 빈과 같은 제1 변환 계수 블록(921)에 의존할 수 있다.
도 12의 실시예(들)의 설명을 마무리하면, 도 12에 도시된 2개의 색 성분들이 코마 성분들일 수 있으며, 특히 제2 변환 계수 블록의 색 성분은 Cr일 수 있는 한편, 제1 변환 계수 블록(921)의 색 성분은 Cb일 수 있다.
화상을 데이터 스트림으로 인코딩하기 위한 인코더 및 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더에 대한 다음 실시예는 본 출원의 추가 양상에 관련되는데, 즉 특정 변환 계수 포지션들, 즉 위에서 개요가 설명된 바와 같이 DC 계수 포지션일 수 있는 변환 계수 포지션(104)에 대한 특정 컨텍스트 세트(110)를 제공함으로써 코딩 효율 증가를 목표로 한다. 실시예가 다음에는 정확히 이 변환 계수 포지션(104)과 관련하여 제시되지만, 특정한 계수 개별 컨텍스트 세트의 제공이 대안으로 또는 추가로 계수 포지션(98), 즉 스캔 경로(94)를 따라 측정된 계수 포지션(104)에서 가장 멀리 떨어진 0이 아닌 계수의 포지션에 적용될 수 있다는 점이 주목되어야 한다. "컨텍스트 개별"은 컨텍스트 세트가 동일한 변환 계수 블록의 임의의 다른 계수(91)에 사용되지 않거나 심지어 해당 변환 계수 포지션, 여기서는 104의 컨텍스트 세트에 포함된 컨텍스트들 중 어느 것도 동일한 변환 계수 블록 내의 임의의 다른 변환 계수를 코딩하는 데 사용되지 않는다는 사실을 나타낼 것이다.
실시예는 도 5에 기초하여 예시될 수 있다. 인코더 및 디코더는 제1 종단 계수 포지션(98)으로부터 미리 결정된 방향(102)으로 제2 종단 계수(104)까지 스캔 패턴(94)에 의해 트래버스되는 변환 계수들(91)의 코딩된 세트(100)를 나타내는 데이터(96)(도 4 비교)를 데이터 스트림으로/으로부터 인코딩/디코딩함으로써 스캔 패턴(94)을 사용하여 변환 계수 블록(92)을 데이터 스트림으로/으로부터 인코딩/디코딩하도록 구성되며, 데이터(96)는 변환 계수들의 코딩된 세트(100) 내의 0이 아닌 변환 계수들의 양자화 레벨들, 즉 적어도 그 위치들과 함께 0이 아닌 변환 계수들의 양자화 레벨들 또는 코딩된 세트(100)의 모든 변환 계수들의 양자화 레벨들을 포함한다. 도 5와 관련하여 위에서 설명한 포지션(98)의 포지션 표시의 시그널링은 현재 설명되는 실시예에 대해 단지 일례로서 이해될 것이고, 이 포지션 표시의 시그널링은 본 실시예에서는 대안으로 제외될 수 있는데, 예컨대 코딩된 세트(100)는 변환 계수 블록(92)의 모든 변환 계수들(91)을 필연적으로 커버하거나 아니면 코딩된 세트(100)의 결정 시 인코더와 디코더를 동기화한다고 이해되어야 한다.
어떤 경우든, 본 실시예에 따르면, 인코더 및 디코더는 DC 계수 포지션일 수 있는 종단 계수 포지션(104)에 대해 컨텍스트들의 특정(제1) 세트(110)를 사용하여 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩/엔트로피 디코딩하도록 구성되고, 포지션(104)에서의 계수에 사용되는 이 계수 세트(110)는 변환 계수들의 코딩된 세트(100) 내의 임의의 다른 변환 계수(91)에 사용되는 컨텍스트들의 하나 이상의 세트들과 서로소이다. 특정 예에 따르면, 예컨대, 하나의 컨텍스트 세트(110)는 포지션(104)에서의 DC 변환 계수의 양자화 레벨을 엔트로피 인코딩하는 데 사용되는 한편, 다른/상이한 컨텍스트 세트(110)는 블록(92)의 다른 모든 변환 계수들(91)의 양자화 레벨들을 엔트로피 인코딩/디코딩하는 데 사용되며, 여기서 컨텍스트 세트들 간의 "차이"는 포지션(104)에서의 계수의 컨텍스트 세트에 포함된 컨텍스트들 중 어느 것도 다른 변환 계수들의 컨텍스트 세트 내에 포함되지 않고 그 반대의 경우도 마찬가지라는 것을 수반할 수 있다.
포지션 특정 컨텍스트 세트가 포지션(98)에서의 변환 계수 양자화 레벨에 사용되는 위에서 언급한 대안에 따르면, 다른 모든 변환 계수들(91)은 동일한 컨텍스트 세트를 사용할 수 있으며, 이는 다음에 포지션(98)에서의 변환 계수에 사용되는 컨텍스트 세트와는 다르다. 그리고 위에서 또한 언급한 추가 대안의 경우, 포지션 특정 컨텍스트 세트들은 포지션(104)의 변환 계수들뿐만 아니라 포지션(98)의 변환 계수 모두에 사용될 수 있으며, 이들은 서로 간에 뿐만 아니라 이후에, 예를 들어 코딩된 세트(100)에 포함되고 스캔 경로(94)를 따라 포지션들(104, 98) 사이에 있는 계수들(91)을 엔트로피 인코딩/디코딩하기 위해 공동으로 사용될 컨텍스트 세트와도 상호 간에 상이할 수 있다.
따라서 하나의 계수 포지션, 즉 여기서는 계수 포지션(104)에 대해 개별적으로 제공된 포지션 특정 컨텍스트 세트가 예컨대, 포지션(104)으로서 변환 계수의 이진화(161)의 하나 이상의 빈들을 인코딩하기 위해 사용될 수 있다. 이 하나 이상의 빈들(165)은 제1 이진화 코드(160)의 하나 이상의 빈들(165)일 수 있다. 이는 예컨대, 이진화(161)의 빈 순서에서 첫 번째 빈이 될 수 있는데, 이 빈은 예컨대, 대응하는 포지션에서의 변환 계수가 유효한지, 즉 0이 아닌지 여부를 나타낸다. 마찬가지로, 다른 변환 계수들에 사용되는 서로소인 세트의 컨텍스트들은 이러한 다른 변환 계수들의 이진화(161)의 대응하는 하나 이상의 빈들에 사용될 것이다.
도 5와 관련하여 앞서 언급한 컨텍스트 세트들은 다음에 저장소 역할을 할 수 있는데, 이러한 저장소로부터 특정 컨텍스트가 이후에 현재 인코딩/디코딩된 변환 계수에 사용된다는 점이 상기되어야 한다. 즉, 포지션(104)에서의 변환 계수에 대한 포지션 특정 컨텍스트 세트(110)는, 도 10에 도시된 로컬 템플릿(132)을 사용하여 포지션(104)에서의 변환 계수의 계수 레벨의 이진화(161)의 하나 이상의 빈들을 엔트로피 인코딩/디코딩하는 데 실제로 사용될 컨텍스트가 선택되는 저장소의 기초 역할을 할 것이다. 도 10에 도시된 로컬 템플릿(132)은 현재 엔트로피 인코딩/디코딩된 변환 계수(130)의 근방에 있는 5개의 변환 계수 포지션들, 즉 현재 엔트로피 인코딩/디코딩된 변환 계수(130)의 오른쪽과 아래, 대각선으로 오른쪽과 최하단에 대한 계수 포지션들뿐만 아니라, 옆이지만 오른쪽에 가장 가까운 포지션과 옆이지만 계수(130) 아래의 가장 가까운 포지션을 포함한다. 그러나 이것은 단지 일례일 뿐이며, 로컬 템플릿(132)에 의해 커버되는 포지션들의 수와 위치는 다르게 선택될 수 있다.
완전성을 위해, 컨텍스트 특정 컨텍스트 세트가 하나 또는 2개의 특정 계수 포지션들(104 및/또는 98)에 사용되는 방금 설명한 실시예들은 도 8과 관련하여 논의한 가능성과 조합될 수 있는데, 이에 따라, 나머지 변환 계수들에 대해, 변환 계수 블록(92)이 파티셔닝되는 파티션들(120)에 파티션 특정 계수 세트들(110)이 사용될 수 있다는 점이 주목된다. 예컨대, 도 13은 포지션(104)을 도시하며, 변환 계수 블록(92)이 여러 파티션들, 즉 여기서는 4개의 파티션들(120)로 파티셔닝됨을 보여준다. 본 실시예에 따르면, 포지션 특정 컨텍스트 세트가 포지션(104)에서 계수의 양자화 레벨을 엔트로피 인코딩/디코딩하는 데 사용되는 한편, 블록(92)의 모든 다른 변환 계수들(91)에 대해 사용될 컨텍스트 세트는 각각의 변환 계수(91)가 위치되는 파티션과 연관된 것으로 결정될 것이며, 이러한 컨텍스트 세트들은 상호 간에 서로소가 될 수 있을 뿐만 아니라, 포지션(104)에 대해 특별히 제공된 컨텍스트 세트에 대해서도 서로소가 될 수 있다.
도 13의 예에서, 파티션들은 DC 계수 포지션과 같은 종단 계수 포지션(104), 및 변환 계수 블록의 반대쪽 코너, 즉 계수 블록(92)의 우측 최하단에 있어 수평 및 수직 방향 모두에서 가장 높은 주파수에 대응할 수 있는 계수 포지션을 관통하는 변환 계수 블록의 대각선(122)으로 비스듬한 방향을 따라 대각선으로 연장된다.
도 5 및 도 13과 관련하여 방금 설명한 실시예는 도 12와 관련하여 설명한 실시예와 용이하게 조합될 수 있음이 명백하다.
다음에 설명되는 실시예들은 화상을 데이터 스트림으로 인코딩하기 위한 인코더 및 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더에 대한 본 출원의 추가 양상에 관한 것이며, 이 양상은 현재 인코딩/디코딩된 변환 계수에 대한 컨텍스트 선택 또는 컨텍스트 결정에 대해 특정하다. 실시예(들)는 도 10과 관련하여 가장 잘 이해되고 설명될 수 있다. 구체적으로, 인코더 및 디코더는 현재 인코딩/디코딩된 변환 계수(130)에 템플릿이 포지셔닝되는 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩/디코딩된 변환 계수들 중 유효 변환 계수들의 합 및/또는 수에 기초하여 결정되는 컨텍스트의 사용에 의해 컨텍스트 적응적으로 변환 계수 블록(92)의 현재 인코딩/디코딩된 변환 계수(130)의 양자화 레벨을 엔트로피 인코딩/디코딩하도록 구성된다. 본 실시예(들)에 따르면, 변환 계수들 또는 더 정확하게는 이들의 양자화 레벨들이 차례로, 즉 다음 변환 계수(91)의 엔트로피 인코딩/디코딩으로 진행하기 전에 완전히 엔트로피 코딩/디코딩되는 것이 가능할 것이지만, 위에서 논의한 개념이 역시 적용될 수 있어, 그에 따라 다수의 패스들에서 양자화 레벨들의 이진화의 빈들의 컨텍스트 적응 이진 엔트로피 코딩을 사용하여 변환 계수들의 양자화 레벨들의 엔트로피 인코딩/디코딩이 발생한다는 점이 상기되어야 한다. 컨텍스트 적응성은 위에서 논의한 바와 같이 제1 이진화 코드(160)로 제한될 수 있다. 즉, 한편으로는, 로컬 템플릿(132)을 사용하여 선택/결정되며 로컬 템플릿(132) 내의 하나 이상의 변환 계수들 중에서 유효 변환 계수들의 합을 형성하고 그리고/또는 수를 카운팅하는 컨텍스트가 제1 이진화 코드(160)의 하나 이상의 빈들에 적용될 수 있다는 점이 주목된다. 추가로, 다중 패스 코딩이 사용될 수 있다. 즉, 현재 엔트로피 인코딩/디코딩된 변환 계수(130)는 빈이 현재 엔트로피 인코딩/디코딩된 변환 계수일 수 있다. 또한, 블록(92)의 변환 계수들(91)의 이진화(161)의 빈들(165)이 복수의 패스들에서 순차적으로 코딩되기 때문에, 로컬 템플릿(132)으로 포괄되는 변환 계수들(91)의 빈들(165) 또는 이진화(161)는 지금까지 불완전하게 엔트로피 인코딩/디코딩되었을 수 있다. 이에 따라, 계수(130)에 대한 컨텍스트 또는 더 정확하게는 이것의 현재 인코딩/디코딩된 빈의 결정과 관련하여, 합이 다음과 같이 계산될 수 있다. 특히, 로컬 템플릿(132) 내의 계수들(91)의 합은 로컬 템플릿(132) 내에 위치된 하나 이상의 변환 계수들의 계수 레벨의 미리 결정된 절대 값의 합으로서 계산될 수 있는데, 다중 패스 빈 인코딩/디코딩 프로세스에서 지금까지 인코딩/디코딩된 해당 변환 계수의 해당 계수 레벨의 이진화의 빈들에 따라 로컬 템플릿(132) 내부의 각각의 계수의 계수 레벨이 미리 결정된 절대 값을 최소한으로 가져야 한다. 특정 예로서, 이진화(161)가 다음의 빈들을 포함한다고 상상할 수 있는데: 제1 이진화 코드(160)의 제1 빈은 이미 위에서 언급한 바와 같이, 이진화(161)와 관련된 변환 계수의 양자화 레벨이 유효한지, 즉 0이 아닌지 여부를 나타낼 수 있다. 이진화(161)의 빈 순서에서의 제2 빈은 또한 제1 이진화 코드(160)에 속할 수 있는데, 즉 또한 컨텍스트 적응 엔트로피 인코딩/디코딩의 대상이 되는 것일 수 있고, 이진화(161)가 관련되는 계수의 양자화 레벨의 절대 값이 1보다 더 큰지 여부를 나타낼 수 있다. 빈 순서에서의 제3 빈은 또한 제1 이진화 코드(160)에 속할 수 있고, 변환 계수의 절대 값이 홀수인지 짝수인지, 즉 절대 값의 패리티를 나타낼 수 있다. 빈 순서에서 훨씬 더 다음의 빈, 즉 제4 빈은 또한 제1 이진화 코드(160)에 속할 수 있으며, 현재 변환 계수가 패리티가 짝수인 경우에는 2보다 더 큰지 또는 패리티가 홀수인 경우에는 3보다 더 큰지 여부를 나타낼 수 있다. 다른 빈들이 제2 이진화 코드(162)에 속할 수 있다. 따라서 로컬 템플릿(132) 내의 계수들에 대해 이미 엔트로피 인코딩/디코딩된 빈들의 수에 따라, 절대 양자화 레벨 값이 완전히 알려지고 합의 가수(addend)를 형성할 수 있거나, 최소 절대 값이 대신 사용될 수 있으며 해당 계수의 양자화 레벨의 이미 인코딩/디코딩된 빈들에 기초하여 도출될 수 있다.
로컬 템플릿 내의 유효 계수의 수에 관한 한, 제1 빈이 로컬 템플릿 내의 계수들에 대해 이미 인코딩되어 있으므로 방금 개요가 설명된 예에 따라 동일하게 이용 가능하며, 적어도 로컬 템플릿 내의 그러한 계수들은 스캔 패스를 따라 역방향(118)으로 현재 인코딩/디코딩된 계수(130)에 앞선다.
특정 예는 컨텍스트 결정이 단지 합에만 기반하는 것일 수 있다. 다른 예는 템플릿(132) 내의 유효 계수들의 수 또는 카운트에만 기초하여 컨텍스트가 결정/선택되는 것일 수 있다. 또 다른 예는 유효 계수들의 합과 수 간의 차이가 사용된다는 것이다. 또한, 대안으로 또는 추가로, 방금 개요가 설명된 방식으로 결정된 컨텍스트는 방금 구체적으로 예시된 빈들 중 임의의 빈 또는 하나보다 많은 빈과 같은 제1 이진화 코드(160)의 하나 이상의 빈들에 대해 사용될 수 있다.
도 10과 관련하여 방금 설명한 실시예(들)는 위에서 설명한 실시예들 중 임의의 실시예와 조합될 수 있다.
다음에 설명되는 실시예(들)는 본 출원의 추가 양상에 관한 것이며, 본 출원의 양상들의 이전에 설명한 실시예들 중 임의의 실시예와 조합될 수 있다. 도 10과 관련하여 설명이 또한 제공될 수 있다. 도 10과 관련하여 설명되고 이전에 설명한 실시예(들)와 관련된 디코더들 및 인코더들과 같이, 이제 설명되는 실시예(들)는 화상을 데이터 스트림으로 인코딩하기 위한 인코더 및 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더, 변환 계수 블록(92)을 데이터 스트림으로/으로부터 인코딩/디코딩하도록 구성된 인코더 및 디코더에 관한 것이다. 그러나 이제 설명되는 실시예(들)에 따르면, 로컬 템플릿 그리고 특히, 그 포지션들에 위치된 하나 이상의 이전에 인코딩/디코딩된 변환 계수들이 이진화 파라미터를 설정하는 데 사용된다. 변환 계수 블록(92)의 현재 인코딩/디코딩된 변환 계수(130)의 양자화 레벨의 절대 값은 이진화 파라미터를 사용하여 파라미터화되는 이진화를 사용하여 이진화되는 방식으로 인코딩/디코딩된다. 하나 이상의 이전에 인코딩/디코딩된 변환 계수들 중 유효 변환 계수들의 합 및/또는 수가 결정을 위해 사용된다.
즉, 본 실시예의 설명은 본 실시예(들)에서 로컬 템플릿의 하나 이상의 이전에 인코딩/디코딩된 변환 계수들의 평가에 기초한 컨텍스트의 결정과 관련하여 이전에 제공된 설명과 상당히 일치하지만, 이진화 파라미터의 설정에 집중한다. 본 실시예(들)에 따라, 변환 계수 블록의 변환 계수들의 양자화 레벨의 절대 값이 인코딩/디코딩되는 데 사용되며 로컬 템플릿(132)을 사용하여 이진화 파라미터가 설정되는 이진화는 도 6과 관련하여 위에서 설명한 바와 같은 이진화(161)일 수도 있지만, 반드시 그럴 필요는 없다는 점이 주목되어야 한다. 즉, 여기서 의미하는 이진화는 빈들이 컨텍스트 적응적으로 코딩되는 제1 부분 또는 전치 부분 또는 제1 이진화 코드를 가질 수도 있지만, 이는 또한, 전체 변환 계수 블록이 예컨대 바이패스 모드를 사용하여 코딩된다는 것일 수 있거나, 여기서 의미하는 이진화가 단지 제2 이진화 코드(162)로만 구성된다는 것일 수 있다. 로컬 템플릿(132)의 평가에 기초하여 결정된 이진화 파라미터는 전치 부분(162a)의 길이를 결정할 수 있다. 로컬 템플릿(132) 내의 하나 이상의 이전에 인코딩/디코딩된 변환 계수들의 양자화 레벨들의 절대 값들의 합을 이진화 파라미터에 매핑하기 위해 룩업 테이블이 사용될 수 있다. 이진화 파라미터가 변환 계수들에 걸쳐 지속적으로 증가하거나 감소하는 방식으로 이진화 파라미터가 결정될 수도 있다.
추가 세부사항들과 관련하여, 이전에 설명한 실시예의 설명, 즉 이진화의 컨텍스트 적응적으로 엔트로피 코딩된 빈들이 코딩되는 것이 기초로 하는 컨텍스트의 결정과 관련하여 참조가 이루어진다. 이러한 세부사항들은 다중 패스 접근 방식을 사용하여 변환 계수들을 트래버스하는 경우에 합이 어떻게 결정될 수 있는지에 대해 제시한다. 이와 관련하여, 본 실시예뿐만 아니라 이전 실시예의 경우에도, 다중 패스 접근 방식이 파티션별로 적용되는 방식으로 다중 경로 접근 방식이 이루어질 수 있음이 상기되어야 한다. 그러나 어떤 경우든, 스캔 패스(94)가 일반적으로 변환 계수 블록(92)의 우측 최하단에서부터 좌측 최상단을 가리키기 때문에, 도 10에 예시된 템플릿 포지션들, 즉 현재 인코딩/디코딩된 변환 계수(130)의 우측 및/또는 최하단에 있는 템플릿 포지션들은, 현재 인코딩/디코딩된 변환 계수 또는 그의 현재 빈이 데이터 스트림으로/으로부터 인코딩/디코딩되어야 할 때 이미 인코딩/디코딩된 경향이 있다.
다음에 설명되는 실시예(들)는 컷오프 값(164)과 관련하여 특정한 데이터 스트림으로/으로부터 화상을 인코딩/디코딩하기 위한 인코더 및 디코더에 관한 것이다. 따라서 다음 설명은 도 4와 도 6의 조합에 기초하여 가장 잘 이해될 수 있다. 여기서 인코더 및 디코더는 컷오프 값(164) 아래의 제1 이진화 코드(160) 및 컷오프 값에 대해 제1 이진화 코드의 코드워드가 전치된, 컷오프 값 위의 제2 이진화 코드(162)를 사용하여 이진화되는 방식으로 변환 계수 블록(92)의 변환 계수들(91)의 양자화 레벨들(106)의 절대 값을 인코딩/디코딩함으로써, 도 5에 도시된 스캔 패턴(94)을 사용하여 변환 계수 블록(92)을 데이터 스트림으로/으로부터 인코딩/디코딩하도록 구성된다. 가능한 일반적인 구현 예들 또는 개념들에 대한 위의 설명으로부터 명백해지는 바와 같이, 제1 이진화 코드(160)의 빈들은 컨텍스트 적응 이진 엔트로피 코딩을 사용하여 코딩되는 반면, 제2 이진화 코드는 등확률 바이패스를 사용하여 코딩될 수도 있다. 본 실시예에 따르면, 변환 계수 블록(92)의 변환 계수들(91)에 대한 컷오프 값은 이전에 인코딩/디코딩된 변환 계수들에 따라 적응적으로 변화된다.
특정 실시예에 따르면, 적응적 변화는 다음과 같이 구현될 수 있다. 변환 계수 블록(92)은 변환 계수들(91)을 파티션별로 스캔하도록 변환 계수 블록(92)을 통해 이어지는 스캔 경로(94)를 갖는 파티션들(120)로 파티셔닝될 수 있다. 즉, 파티셔닝된 블록 내의 모든 변환 계수 포지션들은 다음 파티션 전에 스캔 경로(94)에 의해 스캔/트래버스될 것이다. 이를 넘어서, 변환 계수들(91)의 인코딩/디코딩은 빈들(165)이 패스들에서 코딩되는 방식으로 이루어질 것이다. 제1 이진화 코드(160)의 빈들(165)은 컨텍스트 엔트로피 인코딩의 대상이 되는 한편, 제2 이진화 코드(162)의 빈들은 등확률 바이패스 모드의 대상이 될 것이다. 제1 이진화 코드(160)의 빈들은 제2 이진화 코드(162)의 빈들 이전에 인코딩/디코딩될 것이다. 이 코딩 환경에서, 컷오프 값의 적응적 변화는 다음과 같이 구현될 수 있는데: 현재 파티션 내의 변환 계수들(91)의 빈들(165)은 하나 이상의 선두 패스들에서 스캔된다. 그러나 컨텍스트 적응 이진 엔트로피 코딩/디코딩을 사용하여 코딩된 빈들(165)의 수는 제한될 수도 있다. 즉, 그 경우, 제1 이진화 코드(160)의 빈들(165)을 코딩하기 위해 1회의 패스가 사용된다고 가정한다. 그런 다음, 현재 파티션(120) 내의 계수들(91)의 양자화 레벨의 절대 값의 제1 이진화 코드(160)의 빈들(165)은 계수별로 코딩될 것이다. 그 다음, 개별 계수들(91)에 대해 이와 같이 코딩된 빈들의 수는 각각의 변환 계수의 양자화 레벨의 값에 따라 변할 것이다. 특정 계수에서, 제1 이진화 코드(160)의 컨텍스트 적응적으로 이진 엔트로피 코딩된 빈들(165)의 최대 수에 도달할 것이다. 이와 같이 첫 번째 패스가 완료될 것이다. 다음 패스는 처음부터, 즉 블록(92)의 포지션(104)에서 가장 먼 해당 파티션(120) 내의 계수 포지션에서부터 다시 현재 파티션의 계수들(91)을 스캔할 것이다. 컨텍스트 적응적으로 이진 엔트로피 코딩된 빈들의 최대 수에 도달하기 전의 모든 계수들의 경우, 컷오프 값(164)은 컷오프 값에 대한 초기 값과 동일할 것이다. 컨텍스트 적응적으로 엔트로피 코딩된 빈들의 최대 개수에 도달하는 것으로 인해 제1 이진화 코드(160)의 빈들(165)이 완벽하게 컨텍스트 적응적으로 이진 엔트로피 인코딩/디코딩될 수 없는 계수의 경우, 해당 계수의 제1 이진화 코드(160)의 코딩된 빈들(165)의 수에 대응하는 방식으로 컷오프 값이 감소된다. 특히, 컷오프 값은 이 계수가 그 계수에 대해 코딩된 빈들의 수에 대응하도록 감소되고, 이 계수에 대한 제2 이진화 코드(162)는 제1 이진화 코드의 빈들(165)과 연관된 최대 절대 값 이상의 "나머지"를 단순히 코딩한다. 그 파티션(120) 내의 후속 계수들에 대해, 컷오프 값은 심지어 0일 것이고 이진화(161)는 단지 제2 이진화 코드(162)로 구성될 것이다.
방금 개요가 설명된 예에서, 컷오프 값의 적응적 변화가 중심 역할을 했다. 후속적으로 개요가 설명되는 실시예(들)에서, 컷오프 값의 설정은 코딩 효율을 증가시키는 데 사용되지만, 이 실시예에 따르면, 설정은 변환 계수 블록의 코딩/디코딩 도중 컷오프 값의 적응적 설정보다는, 대안으로 변환 계수 블록을 코딩하고 이를 디코딩하기 시작할 때 각각 컷오프 값의 초기 설정일 수 있지만, 본 실시예에 따르면 컷오프 값의 적응적 설정의 옵션도 또한 존재한다. 즉, 이러한 실시예(들)에 따르면, 데이터 스트림으로/으로부터 화상을 인코딩/디코딩하기 위한 인코더 및 디코더는, 컷오프 값(164) 아래의 제1 이진화 코드를 사용하여 그리고 컷오프 값(164)에 대해 제1 이진화 코드(160)의 코드워드가 전치된, 컷오프 값 위의 제2 이진화 코드(162)를 사용하여 이진화되는 방식으로 변환 계수 블록(92)의 변환 계수들(91)의 양자화 레벨(106)의 절대 값을 인코딩/디코딩함으로써 변환 계수 블록(92)을 인코딩/디코딩한다. 컷오프 값(164)은 다음 중 하나 이상에 따라 설정된다:
블록(84)의 크기,
블록(84)의 색 성분,
블록(84)이 나타내는 예측 잔차를 갖는 예측 신호의 기반이 되는 예측 모드, 이를테면 인트라 또는 인터 코딩 모드,
변환 계수 블록(92)의 기반이 되는 변환,
변환 계수 블록(92)을 양자화하는 데 사용되는 양자화 파라미터,
이전에 인코딩/디코딩된 변환 계수들의 에너지 측정치, 및
이전에 인코딩/디코딩된 변환 계수들의 평가.
또한, 본 명세서에서 설명되는 설정은 각각의 계수(91)에 대해 또는 대안으로, 단지 포지션(98)에서의 계수와 같은 코딩되는 첫 번째 계수, 또는 대안으로, 각각의 파티션 내의 스캔 경로(94)에 의해 처음 트래버스되는 계수들, 즉 처음 트래버스된 파티션(120) 내의 포지션(98)으로서의 계수 및 마찬가지로, 임의의 후속 파티션(120)에서 처음 트래버스된 계수들에 대해서만 이루어질 수 있다.
컷오프 값(164)을 설정하기 위한 앞서 언급한 대안들은 다양한 가능성들로 구현될 수 있다. 그러나 원칙적으로, 컷오프 값의 설정은 또한 하나의 예로서, 이전 예와 관련하여 개요가 설명된 방식으로 구현될 수 있는데: 즉, 각각의 계수에 대해, 컷오프 값(164)은 지금까지 이미 컨텍스트 적응적으로 이진 엔트로피 코딩/디코딩된 제1 이진화 코드의 빈들의 수에 따라 설정될 수 있다. 이 수는 에너지에 대한 측정치로 사용될 수 있거나 이 수는 이전에 디코딩/인코딩된 변환 계수들의 평가 결과일 수 있다. 제1 이진화 코드(160)의 이미 인코딩/디코딩된 빈들의 수 또는 카운트가 파티션(120)마다 이루어진다면, 이 수 또는 카운트는 현재 파티션(120) 내의 이전에 인코딩/디코딩된 변환 계수들의 에너지에 대한 측정치를 나타낼 것이다. 그러나 컷오프 값(164)을 적응적으로 변화시키는 이전 실시예(들)뿐만 아니라, 컷오프 값(164)을 설정하는 본 실시예에 관해서도, 컨텍스트 적응적으로 이진 엔트로피 코딩된 빈들의 최대 수에 대한 변화가 또한 있는데: 이를 각각의 파티션(120)에 대해 개별적으로 정의하는 대신, 최대 수가 전역적으로 결정될 수 있다는 점이 주목되어야 한다. 이것은 하나의 파티션(120)에만 포지셔닝된 하나의 특정 계수(91) 및 전체 변환 계수 블록(92)에 대해 최대 수에 도달한다는 것을 의미할 것이다. 이전에 스캔된 모든 파티션들(120)에 대해, 컷오프 값은 초기 값에 대응하는 한편, 컷오프 값(164)의 0으로의 감소는 해당 파티션 내에서만 발생할 것이다. 다음 파티션들은 이들의 모든 계수들(91)에 대해 0인 컷오프 값(164)을 가질 것이다.
위에서 개요가 설명된/나열된 대안들 중 하나 이상에 따라 컷오프 값(164)을 설정하기 위한 방금 개요가 설명된 실시예의 많은 추가 실시예들이 존재한다. 예컨대, 이전에 인코딩/디코딩된 변환 계수들의 평가는 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 계수들(91)로 제한될 수 있다. 즉, 설정은 현재 인코딩/디코딩된 변환 계수(130)에 대해 이루어질 것이고, 설정은 효과적으로는 적응적 변화일 것이다. 심지어 대안으로, 이전에 인코딩/디코딩된 변환 계수들의 평가는 현재 인코딩/디코딩된 변환 계수(130)가 위치된 현재 포지션에 오프셋된 그리고 코딩 순서(118)에 따라 현재 파티션에 앞서는, 변환 계수 블록의 파티션 내의 포지션들에 위치된 계수들에 대해 이루어질 수 있다. 후자의 대안에서, 평가는 각각의 파티션(120)에 대해, 즉 각각의 파티션(120) 내의 변환 계수들(91)을 코딩하는 시작 시에 컷오프 값의 일종의 초기 설정에서 이루어질 수 있다. 다음에 추가 대안들이 더 논의될 것이다. 일단, 예컨대, 위에 나열된 하나 이상의 대안들 중 임의의 대안에 따라 초기 설정이 이루어질 수 있다. 미리 결정된 임계치에 이어지는 또는 미리 결정된 임계치를 초과하는 컷오프 값(164)의 초기 설정 값에 따라, 컷오프 값의 적응적 변화가 활성화될 수 있거나 컷오프 값이 일정하게 유지될 수 있다. 일례는 예컨대, 컷오프 값이 양자화 파라미터에 따라 초기에 설정되는 것이다. 양자화 파라미터에 의해 결정된 양자화가 미리 결정된 임계치보다 더 미세하다면, 적응적 변화가 활성화될 수 있고 컷오프 값이 적응적으로 변경될 수 있으며, 따라서 이전에 인코딩/디코딩된 변환 계수들에 따라 초기 설정에 비해 수정될 수 있지만, 양자화 파라미터가 더 대략적인 양자화에 대응한다면, 컷오프 값은 일정하게 유지된다.
이하에서, 본 출원의 실시예(들)는 로컬 템플릿(132)의 형상을 구체적으로 다루는 본 출원의 양상과 관련된다. 즉, 본 실시예(들)에 따르면, 인코더는 화상을 데이터 스트림(14)으로 인코딩하기 위한 것이고, 디코더는 데이터 스트림으로부터 화상을 디코딩하기 위한 것이다. 인코더 및 디코더는 현재 인코딩/디코딩된 변환 계수(130)에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들에 기초하여, 또는 로컬 템플릿(132)이 비활성화된다면, 이전에 인코딩/디코딩된 변환 계수들(91)과 독립적으로 결정되는 컨텍스트의 사용에 의해 변환 계수 블록(92)의 현재 인코딩된 변환 계수(130)의 양자화 레벨(106)을 엔트로피 인코딩/디코딩하도록 구성된다. 특히, 도 14의 실시예에 따르면, 1) 이전에 인코딩/디코딩된 변환 계수들(91)에 따라, 그리고/또는 2) 블록(84)의 크기, 블록(84)의 색 성분, 순방향(116)을 따라 스캔 패턴(94)을 트래버스할 때 0이 아닌 마지막 변환 계수가 야기되는 종단 계수 포지션의 포지션, 즉 98, 및 변환 계수 블록(92)의 기반이 되는 변환(90) 중 하나 이상에 따라, 로컬 템플릿(132)의 형상이 설정되거나 그에 따라 로컬 템플릿(132)이 비활성화되는데, 이는 로컬 템플릿(132)이 사라지고 어떠한 계수 포지션도 전혀 포함하지 않음을 의미한다. 도 14는 로컬 템플릿(132)에 대한 2개의 형상들(170, 172)을 예시적으로 도시한다. 하나, 즉 172는 도 10과 관련하여 위에서 도시되고 설명된 예에 대응한다. 다른 하나, 즉 170은 단지 바로 우측 이웃하는 계수 포지션 및 현재 엔트로피 인코딩/디코딩된 계수(130) 아래의 바로 이웃하는 포지션을 포함한다.
의존성이 이전에 인코딩/디코딩된 변환 계수들과 관련되게 하는 제1 대안에 따르면, 이전에 인코딩/디코딩된 변환 계수들에 대한 이들의 의존성은 로컬 원시 템플릿(170)과 같은 로컬 템플릿에 대한 더 작은 형상에 의해 결정된 포지션들에 위치된 그러한 하나 이상의 이전에 인코딩/디코딩된 변환 계수들로 제한될 수 있다. 원시 템플릿(170)에 포지셔닝된 계수들의 평가에 따라, 예컨대, 이 원시 템플릿(170)이 컨텍스트 결정에 사용되는지 여부, 또는 더 큰 원시 템플릿(172)이 사용되는지 여부가 결정된다. 더 큰 원시 템플릿(172)은 원시 템플릿(170)보다 현재 인코딩된 변환 계수(130)로부터 더 멀리 연장된다. 제2 원시 템플릿(172)은 제1 원시 템플릿(170)에 의해서도 또한 포함된 포지션들을 포함할 수 있거나 이들을 포함하지 않을 수 있다.
더 작은 템플릿(170) 내의 계수들의 평가에 기초하여 사용할 형상의 결정은 원시 템플릿(170) 내의 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 또는 수에 따라 이루어질 수 있다. 원시 템플릿(170) 내의 하나 이상의 계수들의 평가에 따라 심지어 비활성화 결정이 내려질 수 있다. 심지어는 또한, 어떤 임계치보다 더 큰, 변환 계수 블록 내의 이전에 인코딩/디코딩된 변환 계수들의 카운트, 또는 변환 계수 블록 내의 이전에 인코딩/디코딩된 변환 계수들로부터 도출된 누산기 값이 미리 결정된 양을 초과하는지에 따라, 비활성화 결정이 내려질 수 있다. 추가로 또는 대안으로, 무효(insignificant)인 변환 계수 블록 내의 이전에 인코딩/디코딩된 변환 계수들(91)의 카운트가 미리 결정된 양을 초과한다면, 로컬 템플릿이 비활성화될 수 있다.
로컬 템플릿(132) 내의 하나 이상의 계수들에 대한 컨텍스트 의존성에 관해서는, 위에 제시된 세부사항들이 유효할 수 있는데, 즉 로컬 템플릿 내의 유효 계수들의 합 및/또는 수가 사용될 수 있다. 또한, 로컬 템플릿(132)을 기반으로 도출된 컨텍스트는 전치 부분(160)의 빈들(165)에 사용되도록 제한될 수 있다. 그리고 또한, 다수의 패스들의 사용 및 로컬 템플릿(132) 내에서의 합의 결정에 대한 관련성에 대해 위에서 이루어진 언급들은 여기서도 역시 적용될 수 있다.
특정 실시예를 참조하면, 로컬 템플릿(132)은 크로마 성분에 대해서는 비활성화되는 반면, 로컬 템플릿(132)은 루마 성분에 대해서는 비활성화되지 않는다.
본 출원의 추가 실시예(들)는 컨텍스트 세트 사용을 결정하기 위한 입도로서 파티션들(120)을 사용할 때 파티션들(120)의 크기들에 관한 것이다. 예컨대, 도 8 및 도 13이 참조된다. 이 양상과 관련된 본 출원의 실시예(들)는 데이터 스트림(14)으로/으로부터 특징을 인코딩/디코딩하기 위한 인코더 및 디코더를 설명한다. 이들은 각각의 파티션(120)에 대해, 각각의 파티션과 연관되는 컨텍스트 세트(110)를 사용하여 변환 계수 블록(92)의 변환 계수들(91)의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩/디코딩함으로써 변환 계수 블록(92)의 변환 계수들(91)을 인코딩/디코딩한다. 그러나 구체적으로, 변환 계수 블록(92)이 세분되는 파티션들(120)은, 1) 이들이 예컨대, 도 13에 도시된 바와 같이 서로 일치하지 않는 반면, 도 8에서는 이들이 서로 일치하도록 형상이 다양하고, 그리고/또는 2) 변환 계수들(91)의 양자화 레벨들의 엔트로피 인코딩/디코딩이 수행되고 예컨대, 데이터 스트림(14)에서 시그널링될 수 있는, 예컨대 현재 블록들(84/92)에 대해 각각 본질적으로 결정되는 스캔 패턴에 따라 형상화되며, 그리고/또는 3) 블록(84)의 크기에 따라 형상화되고 그리고/또는 4) 데이터 스트림(14)에서 시그널링되는 명시적 파티션 형상화 정보에 따라 형상화된다. 이 실시예에서는, 예컨대 로컬 템플릿(132)을 사용하여, 특정 파티션(120) 내의 각각의 계수(91)에 대해, 각각의 파티션과 연관된 컨텍스트의 세트들 중 어느 것을 각각의 계수 또는 그 현재 빈을 엔트로피 인코딩하는 데 실제로 사용할지를 결정하는 것이 가능할 수 있다. 현재 실시예의 파티션들(120)은 코딩된 블록 플래그들이 위에서 설명한 바와 같이 데이터 스트림에서 송신되는 파티션들, 즉 각각의 파티션 내의 모든 변환 계수들(91)이 0인지 여부의 표시들의 역할을 추가로 할 수 있다.
본 출원의 추가 실시예(들)는 본 출원의 더 추가 양상, 즉 제로화 표시를 위한 파티션이 사용되는 양상에 관련되지만, 표시(150)는 파티션에 대해, 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 코딩되는지 여부 또는 각각의 파티션 내의 모든 변환 계수들의 코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부를 나타낸다. 특히, 본 출원의 이러한 양상에 따르면, 표시는 모든 계수들이 코딩되는지 여부를 나타내는 방식으로 해석된다. 이러한 파티션들 각각은 이들과 연관된 한 세트의 컨텍스트들을 가질 수 있는데, 이를 사용하여 각각의 파티션 내의 변환 계수들은 표시에 의해 그렇게 표시된다면 인코딩된다. 즉, 여기서 파티션 단위의 제로화 표시는, 그렇게 설정된다면, 특정 파티션 내의 모든 변환 계수들이 코딩되고 이 상황이 더는 질문을 받을 필요가 없음을 나타낸다. 표시(150)가 계수들의 코딩을 시그널링하는 파티션의 마지막으로 코딩된 계수의 유효 플래그조차도 모든 이전 계수들이 0인 것을 기초로 추론될 수 없다.
본 출원의 추가 실시예(들)는 본 출원의 더 추가 양상, 즉 파티션 모드가 변환 계수 블록(92)에 대한 데이터 스트림에서 시그널링되는 양상에 관련되는데, 이는 파티션 개별 컨텍스트 세트들(110)을 연관시키는 데 사용할 파티션들(120)로의 파티셔닝이 적용되는지 여부를 나타낸다. 더 정확하게는, 실시예(들)는 파티션 모드가 예컨대, 파티션들(120)로의 파티셔닝을 온 전환하는 제1 모드라면, 변환 계수 블록(92)이 세분되는 파티션들의 각각의 파티션(120)에 대해, 각각의 파티션과 연관되는 컨텍스트 세트(110)를 사용하여 변환 계수 블록(92)의 변환 계수들(91)의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩/디코딩하고, 파티션 모드가 예컨대, 파티션들(120)로의 파티셔닝이 오프 전환됨을 나타내는 제2 모드라면, 컨텍스트들의 전역적 세트를 사용하여 변환 계수들(91)의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩/디코딩함으로써, 변환 계수 블록(92)의 파티셔닝 모드를 데이터 스트림(14)으로/으로부터 인코딩/디코딩하고 변환 계수 블록(92)을 인코딩/디코딩하여, 데이터 스트림으로/으로부터 화상을 인코딩/디코딩하기 위한 인코더 및 디코더를 설명한다. 그러나 포지션(104)에 있는 계수 및/또는 포지션(98)에 포지셔닝된 계수에 사용되는 특수 컨텍스트 세트와 관련하여 전역성이 제한될 수 있다는 점이 주목되어야 한다. 또한, 여기 이 실시예에서도, 파티션들(120)은 추가로, 변환 계수 제로화의 표시가 데이터 스트림에서 전송되는 단위들을 형성하는 역할을 할 수 있는데: 즉, 각각의 파티션(120)에 대해, 코딩된 서브블록 플래그는 각각의 파티션 내의 모든 변환 계수들(91)이 0인지 여부를 나타내는, 데이터 스트림의 신호일 수 있다.
본 출원의 마지막 양상을 다루는 실시예(들)는 도 15를 참조함으로써 가장 잘 이해될 수 있다. 또한, 이 양상은 파티션들(120)에 대한 파티션 개별 컨텍스트 세트들(110)의 연관을 위한 파티션들(120)로의 파티셔닝의 사용과 관련된다. 인코더 및 디코더는, 데이터 스트림으로/으로부터 화상을 인코딩/디코딩하고 변환 계수 블록(92)이 세분되는 파티션들의 각각의 파티션(120)에 대해, 각각의 파티션(120)과 연관(126)되는 컨텍스트 세트(110)를 사용하여 변환 계수 블록(92)의 변환 계수들(91)의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩/디코딩함으로써 변환 계수 블록(92)의 변환 계수들(91)을 순차적으로 트래버스하는 스캔 패턴(94)을 사용하여 변환 계수 블록(92)을 인코딩/디코딩하도록 구성된다. 그러나 스캔 패턴(94)이 예시적으로 변환 계수들(91)을 파티션별로 스캔하는 것으로 설명된 이전 설명들과는 달리, 도 15의 스캔 패턴(94)은 스캔 패턴에 대해 아포스트로피, 즉 94'를 사용함으로써 상황을 나타내는 도 15와는 다르게 변환 계수들(91)을 스캔한다. 스캔 패턴(94')은 제1 파티션의 적어도 하나의 변환 계수가 제2 파티션의 2개의 변환 계수들 사이로 트래버스되는 방식으로 변환 계수 블록(92)의 변환 계수들(91)을 순차적으로 트래버스한다. 예컨대, 도 15의 계수(91')는 이러한 계수인데: 이것은 파티션(120)의 2개의 계수들 사이에서 스캔된다. 그러나 이것은 파티션(1202)의 멤버이다.
그러나 파티션들(120)에 대한 컨텍스트 세트들의 파티션별 연관은 파티션들(120)에 연관된 컨텍스트 세트들(110)이 각각의 쌍의 파티션들(120)에 대해 상호 간에 상이하거나 상호 간에 서로소임을 의미하지 않는다. 즉, 한 세트의 컨텍스트는 일반적으로 2개의 파티션들에 연관될 수 있다. 예컨대, 스캔 패턴(94)을 따른 변환 계수들(91)의 인터리빙은 그와 연관된 공통 컨텍스트 세트(110)를 갖는 파티션들(120)과 관련될 수 있다. 이를 이해하기 위해, 적어도 2개의 파티션들(120), 여기서는 도 16의 예에서, 변환 계수 블록(92)이 파티셔닝되는 유일한 파티션들(120a, 120b)인 파티션들(120a, 120b)의 변환 계수들을 인터리빙하는 방식으로 변환 계수들(91)을 트래버스하는 스캔 부분(94')에 대한 다른 예를 보여주는 도 16이 참조된다. 여기서, 공통 컨텍스트 세트는 파티션들(120a, 120b)과 연관될 수 있다. 그러나 도 15 및 도 16의 두 예들 모두에서, 파티션들은 추가로 단위들로서 사용될 수 있는데, 그 단위들로 데이터 스트림에서 제로화 코딩 또는 제로화 표시, 즉 코딩된 사운드 블록 플래그들이 시그널링된다. 도 15 및 도 16의 실시예에서, 현재 인코딩/디코딩된 변환 계수(130)가 위치되는 각각의 파티션(120)과 연관된 컨텍스트 세트(110)로부터의 컨텍스트 선택이 위에서 논의한 바와 같이 로컬 템플릿(132)을 사용하여 수행될 수 있다. 추가로 또는 대안으로, 연관된 컨텍스트 세트(110)로부터의 컨텍스트 선택은 현재 파티션 내의 이전에 디코딩된/인코딩된 변환 계수들의 카운트에 기초하여 이루어질 수 있다. 현재 인코딩/디코딩된 변환 계수는 이를테면, 이 카운트가 하나 이상의 특정 임계치들을 초과하는지 여부에 따라 위치된다. 도 16의 예에서, 예컨대, 변환 계수(130)가 현재 인코딩/디코딩된 변환 계수라면, 4개의 해칭된 변환 계수들은 하나 이상의 특정 임계치들을 초과하는 블록(92)의 이전에 인코딩/디코딩된 변환 계수들을 나타낼 수 있다.
제로화 표시 또는 코딩된 서브블록 플래그들을 사용하는 경우, 이들은 특정 파티션(120)의 변환 계수가 처음 스캔될 때 각각, 데이터 스트림으로 코딩되거나 데이터 스트림으로부터 디코딩될 수 있다. 즉, 특정 파티션(120)에 대한 제로화 표시 또는 코딩된 서브블록 플래그는 그 파티션의 제1 변환 계수(91)가 스캔 부분(94')을 따라 스캔되는 즉시 스캔될 수 있다. 도 17과 도 18은 이에 대한 일례를 제공한다. 도 18은 다시, 이번에 3개의 파티션들(120a, 120b, 120c)로 파티셔닝된 변환 계수 블록(92)에 대한 일례를 도시한다. 다른 파티션, 즉 파티션(120b)의 2개의 변환 계수들 사이의 스캔 부분(94') 내의 (인터리빙된) 하나의 변환 계수(91)는 참조 부호(91')로 도시된다. 도 17은 이 변환 계수(91')가 우연히도 또한 처음 코딩된 변환 계수라고, 즉 예컨대, 도 5와 관련하여 위에서 또한 논의한 마지막 포지션 표시를 사용할 때 포지션(98)에 포지셔닝된다고 가정한다. 그 양자화 레벨(106)이 코딩되고, 이어서 파티션(120b)에 대한 코딩된 서브블록 플래그(CBF2)가 코딩되는데, 이는 파티션(120b) 내의 모든 변환 계수들(91)이 0이기 때문이다. 도 18은 0이 아닌 모든 변환 계수들(91)이 해칭을 사용하여 표시된다고 가정한다. 계수 포지션(104) 바로 아래의 계수는 또한 다른 파티션의 2개의 계수들 사이에 스캔 부분 순서로 배열된 계수들(91') 중 하나이다. 이는 동시에, 스캔되는 파티션(120a)의 첫 번째 계수이며, 이에 따라 파티션(120b)에 대한 CBF2 다음에 이 파티션(120a)에 대해 표시된 바와 같이 제로화 표시(CBF3)가 있다. 또한, 계수 포지션(104) 바로 아래의 계수(91')는 0이 아닌 것으로 가정되므로, CBF3은 1인 것으로 시그널링되고, 다음에 파티션(120a) 내의 계수들(91)이 코딩된다.
이는 위에서 종종 언급되었지만, 여기서 본 출원의 서로 다른 양상들에 속하는 위에서 언급된 실시예들이 조합될 수 있는데, 이를테면 교차 색 성분 컨텍스트 도출과 관련된 실시예들과 다른 모든 실시예들 또는 이들의 조합, 이진화 파라미터 설정에 관련된 실시예들과 컨텍스트 도출에 관련된 실시예들, 파티션들의 특정 계수에 대한 컨텍스트 세트 속성에 관련된 실시예들과 로컬 템플릿을 이용한 그러한 세트로부터의 컨텍스트 선택에 관련된 실시예들 등이 조합될 수 있다는 점이 다시 주목된다.
따라서 위의 실시예들은 이를테면, 이미지 및 비디오 압축에서의 엔트로피 코딩을 위한 변환 계수 블록 코딩에 관한 것이다.
상기 실시예는 디지털 신호 처리 분야에 관한 것으로, 특히 이미지 및 비디오 디코더들 및 인코더들을 위한 방법 및 장치에 관한 것이다. 특히, 상기 실시예들은 파티셔닝 기술들을 이용하는 이미지 및 비디오 압축 아키텍처들에서 엔트로피 코딩 스테이지에 적용되는 한 세트의 전략들을 양산한다. 구문(syntax) 엘리먼트들의 처리 순서들을 수정함으로써 개선된 컨텍스트 모델링 전략들이 달성되었다. 한 세트의 기술들은 특히: 현재 레벨에 대한 로컬 활동 분석, 전용 컨텍스트 모델들의 이용, 구문 처리 순서 수정, 교차 성분 구문 앨리먼트들의 평가, 및 확률들이 매우 높은 코딩 상태들의 제외 또는 전용 처리를 포함하였다.
특히, 상기 실시예들은 파티셔닝 기술들을 이용하는 이미지 및 비디오 압축 아키텍처에서 잔차 압축 스테이지와 관련된 구문 엘리먼트들에 특히 적합한 엔트로피 코딩을 위한 한 세트의 새로운 기술들을 제시한다. 이러한 설계는 보통, 화상들을 직사각형들 또는 블록들과 같은 일반적인 형상들로 분할한다. 일반성을 잃지 않으면서, 블록이라는 용어는 이 문서의 설명에서 적용된 파티셔닝 기술을 설명하는 임의의 형태를 나타낸다. 시작점은 도 3과 관련하여 위에서 설명한 바와 같이 최대 허용 크기일 수 있으며, 파티셔닝 알고리즘은 각각의 블록을 더 작은 단위들로 더 분할할 수 있다. 이러한 파티셔닝은 이를테면, 최첨단 고효율 비디오 코딩(HEVC: High Efficiency Video Coding) 규격의 쿼드트리 구조를 사용함으로써 실행될 수 있다. 예컨대, 쿼드트리 대신 이진 트리를 사용하는 파티셔닝을 위한 다른 전략들이 또한 가능할 수 있다. 파티셔닝 외에도, 잔차 압축 스테이지 이전의 새로운 코딩 도구들은 기존 접근 방식들을 더욱 발전시킬 필요가 있게 한다. 향상된 압축 효율을 달성하기 위해, 다음 양상들이 해결된다:
코딩 순서를 교대할 구문 엘리먼트들의 정의(예컨대, 도 15, 도 16, 도 18)
위의 수정들과 함께, 이진화가 (예컨대, 컷오프 값의 적응적 변화에 대해) 조정됨
이진화 프로세스가 생성하는 각각의 빈에 대한 컨텍스트 모델링(예컨대, 특정 특징들에 대한 로컬 컨텍스트 템플릿의 형상 적응 또는 비활성화의 개념 참조)
공간(예컨대, 로컬 템플릿을 사용하거나, 예컨대 에너지 등과 관련된 특정 특징들에 따라 컷오프 값을 설정하는 실시예들 참조), 주파수(예컨대, 특정 특징들에 대한 로컬 컨텍스트 템플릿의 형상 적응 또는 비활성화 및 예컨대, 에너지 등과 관련된 특정 특징들에 따른 컷오프 값의 설정 개념 참조), 및 상호 성분(예컨대, 도 11a 참조) 도메인에서의 로컬 활동의 평가
매우 높은 확률들을 갖는 코딩 모드들의 제외
매우 높은 확률들을 갖는 코딩 모드들에 대한 전용 처리
전용 코딩 상태들의 개별 처리
HEVC에서 이용되는 엔트로피 코딩 스테이지는 컨텍스트 기반 적응 이진 산술 코딩(CABAC: Context-based Adaptive Binary Arithmetic Coding)이며, 이는 3개의 내부 처리 스테이지로 구성된다. 제1 스테이지는 이진화 스테이지이고, 제2 스테이지는 컨텍스트 모델링 스테이지이며, 최종 처리 단위는 이진 산술 코딩 엔진이다. 모든 입력 심벌들은 이진화 스테이지를 통과한다. 그 출력은 입력이 이미 이진이라면 동일한 심벌이거나, 빈 스트링이라고 지칭되는 입력 심벌을 나타내는 코드워드이다. 컨텍스트 모델링 스테이지는 컨텍스트 모델을 선택하고 그 선택 사항들을 엔트로피 코딩 엔진에 전달한다. CABAC에서 구현된 M-Coder와 같은 이진 산술 코딩 엔진들은 보통, 균일한 확률을 갖는 심벌들에 대해 바이패스 모드를 지원한다는 점에 주목한다. 이 문서의 나머지는 컨텍스트 모델들을 사용한 코딩을 일반 모드로, 그리고 컨텍스트 모델이 없는 코딩을 바이패스 모드라고 한다.
잔차 압축 스테이지, 즉 변환 계수 레벨들의 송신의 경우, 입력은 주로 정수 값 계수들로 구성된 블록이다. 이러한 값들은 대개 주파수 도메인으로 변환된 예측 잔차들이며, 레벨들은 종종 양자화 프로세스로 인해 원래 정보의 일부량만을 나타낸다. 엔트로피 코딩 스테이지에서 처리는 순차 특성이므로, 2차원 형상을 1차원 벡터로 분해하는 것이 필요하다. 스캔 패턴은 2차원 블록과 1차원 벡터의 매핑을 지정한다. 이러한 스캔 패턴은 HEVC에서와 같이 비트스트림에서 변환 계수 레벨들의 일부량만이 송신될 때마다 여러 번 적용될 수 있다. 이 문서는 다음 단락들에서 다양한 관점들에서 잔차 압축 스테이지를 설명한다.
HEVC에서의 잔차 압축은 다음과 같이 작동한다. 코딩된 블록 플래그(CBF) 구문 엘리먼트가 먼저 코딩되어, 현재 변환 블록의 무의미함(insignificance), 즉 모든 변환 계수 레벨들이 0과 같은지 여부를 시그널링한다. 유효 레벨이 존재하면, 마지막 유효 스캔 포지션이 지정된다. 이는 선택된 스캔 패턴에 좌우되며, 시그널링된 마지막 포지션에서부터 스캔 패턴에 의해 정의된 첫 번째 포지션까지의 모든 레벨들이 코딩된다. 암시적으로, 스캔 순서는 스캔 패턴을 역순으로 사용하는 것과 같다. 전체 프로세스를 하위 작업들로 분할하는 것은 구현 복잡성 및 압축 효율 면에서 개선들을 가능하게 한다. 4×4보다 더 큰 변환 블록들은 서브블록들로 지칭되는 4x4의 하위 단위들로 처리된다. 서브블록들의 처리 순서는 스캔 포지션들의 처리와 동일한데, 즉 수직 스캔 패턴을 사용하는 8x8 블록에 대해 도 19에 예시적으로 나타낸 바와 같이, 각각의 서브블록이 일반 주파수 포지션을 나타내고 변환 블록이 N×M 대신 N/4xM/4의 크기를 갖는다고 가정한다.
유효 변환 블록에 대한 첫 번째 단계에서, 마지막 포지션의 절대 좌표, 즉 좌표 원점으로 정의된 왼쪽 최상단 코너를 사용하여 x 좌표 및 y 좌표가 코딩된다. 미리 정의된 세 가지 스캔 패턴: 대각선, 수평 또는 수직 중 하나가 선택된다. 예측 모드가 인트라이고, 변환 블록은 8x8보다 작거나 같으며, 예측기의 방향이 미리 정의된 범위 내에 있는 경우, 수평 또는 수직 스캔 패턴이 사용된다. 다음으로, 마지막 유효 레벨을 포함하는 서브블록에서 시작하여, 레벨이 재구성될 때까지 레벨에 관한 나머지 정보가 코딩된다. 설명된 프로세스는 처리 순서의 마지막 서브블록까지 나머지 서브블록들에 대해 반복되며, 여기서 마지막 서브블록은 항상 DC 주파수 포지션을 커버하는 서브블록이다. 서브블록들에 대한 CBF들의 코딩과 같이 처리에 내장된 추가 기술들이 있다. 이는 마지막 서브블록에 대해서는 스킵되는데, 마지막 스캔 포지션의 시그널링이 이미 해당 서브블록에 대한 유효성를 추론했기 때문이다. DC 주파수 포지션을 커버하는 서브블록에 대한 추론도 또한 특별한 경우이다. 추가로, 부호 비트 은닉(SBH: sign bit hiding) 기술이 각각의 서브블록에 적용될 수 있다. 도 20에서 개요가 제공된다.
이진화 스테이지 관점에서, 각각의 정수 값 χ는 간격의 한 지점을 나타내며, 간격의 각각의 지점에는 코드워드가 할당된다. 단항 코드(Unary code)가 일반적으로 사용되는 방식인데, 여기서 |χ| = n은 이진 값 b 0n배 곱한 후 종단 이진 값 b 1이 이어지는 것으로 표현된다. 정수 값 심벌들의 세트가 제한되면, 최대 입력 심벌에 대해 종단 이진 값이 생략되어, 소위 절삭형(truncated) 단항 코드로 이어질 수 있다. HEVC에서, 레벨들에 대한 이진화 프로세스는 세 가지 서로 다른 방식들의 구성이다. 처음 3개의 절대 레벨 값들은 절삭형 단항 부분에 속한다. 현재 절대 레벨이 한계보다 더 크면, 값의 나머지는 Rice 코드들을 사용하여 이진화된다. 실제 Rice 코드는 차수(k)를 지정함으로써 선택된다. 그러나 Rice 코드들에 의해 커버되는 간격도 역시 제한되며, 정수 값의 나머지 값은 이진화를 위해 Exponential-Golomb 코드들을 사용한다. HEVC에서, Exponential-Golomb 코드의 차수는 항상 k + 1과 같다. 코드들 간의 전환은 이진화 경계들로 지칭되며, 두 경계들, 즉 절삭형 단항에서 Rice로의 전환과 Rice에서 Exponential-Golomb로의 전환 모두가 첫 번째 경계에 대한 코딩된 구문 엘리먼트들의 수와 두 번째 경계에 대한 Rice 파라미터(k)에 따라 적응적이다. 첫 번째 경계는 각각의 서브블록 내에서 전환되며 각각의 서브블록에 대한 처리 시작 시 3과 같다. 2보다 더 큰 절대 레벨이 코딩될 때마다, 경계가 2로 낮아진다. 그리고 1보다 더 큰 8개의 절대 레벨들이 코딩될 때마다, 경계가 2로 낮아진다. 그 결과는 서브블록에 의해 커버되는 모든 주파수 포지션들에 대해, 유효성이 일반 모드로 코딩되지만, 8까지만 레벨이 1보다 큰지 여부의 정보를 그리고 레벨이 2보다 큰지 여부의 정보를 한번 포지셔닝한다는 점이다. Rice 파라미터(k)의 선택은 다음과 같다. 파라미터는 각각의 서브블록의 시작 시 0과 같다. 전체 레벨이 재구성된 후, 절대 값이 임계치와 비교되고, 절대 레벨이 임계치보다 크다면, k가 1씩 증분된다. 그러나 HEVC의 메인 프로파일이 주어지면, k는 4로 제한되며 그 값을 초과하지 않는다. 레벨들의 이진화는 도 21과 도 22에 요약된다.
각각의 서브블록에 대한 코딩은 구문 엘리먼트들이 그룹들로 정렬되도록 여러 스캔 패스들로 분할된다. 첫 번째 처리 패스에서, 유효성 정보가 송신된다. 다음으로, 모두 1보다 큰 구문 엘리먼트, 다음에 모두 2보다 큰 구문 엘리먼트들, 나머지 절대 레벨, 그리고 마지막으로 부호들이 송신된다. 정수 값의 마지막 유효 포지션에 대한 이진화는 다음과 같이 작동한다. 블록 크기에 따라, 최대 값이 N과 같은 블록 크기에 대해 N - 1로 제한된다. 크기(N)에 따라, 이진화의 출력은 절삭형 단항 및 고정 길이 이진 코드들의 조합이다.
컨텍스트 모델링은 다음과 같이 상세히 작동한다. 일반적으로, 고정 길이 이진화, Golomb-Rice 또는 Exponential-Golomb 코드들로부터 발생하는 이진 심벌들(빈들)은 바이패스 모드로 코딩되는 한편, 단항 코드 또는 절삭형 단항 코드와 관련된 빈들은 일반 모드를 사용하여 코딩된다. 또한, 이미 이진인 입력 심벌들은 대개 산술 이진 코더의 일반 모드로 코딩된다. 루마 성분의 CBF의 경우, 0과 같은 잔차 쿼드트리(RQT: residual quadtree) 깊이에 대해 전용 컨텍스트 모델이 이용되고, 나머지 깊이에 대해 다른 전용 컨텍스트 모델이 이용된다. 크로마의 CBF 시그널링은 루마에서처럼 리프 레벨 대신 각각의 깊이를 따르기 때문에, RQT의 각각의 깊이에 전용 컨텍스트 모델이 사용된다. x 좌표 및 y 좌표로 지정된 마지막 포지션은 블록 크기에 따라 특정 수의 연속 빈들에 대해 동일한 컨텍스트 모델을 이용한다. 보다 구체적으로, 각각의 빈에 대해 단일 컨텍스트 모델을 사용하는 대신, 균일한 컨텍스트 양자화기가 이용되어, 사용되는 컨텍스트 모델들의 수를 줄인다. 레벨들의 코딩은 서로 다른 컨텍스트 모델 세트들을 사용하는 네 가지 구문 엘리먼트 타입들을 이용한다. 서브블록들에 대한 CBF는 이웃하는 오른쪽 및 최하단 서브블록들의 유효성에 따라 세 가지 서로 다른 컨텍스트 모델들: 두 이웃들 모두 유효함, 두 이웃들 모두 무효임, 둘 중 하나가 유효함을 이용한다. 유효성 플래그는 컨텍스트 모델이 서브블록 내의 스캔 포지션에 고정 할당된 4개의 서로 다른 패턴들을 이용하며, 패턴들은 이웃하는 오른쪽 및 최하단 서브블록들에 좌우된다. 일반 모드들을 사용하는 나머지 레벨 정보는 1과 2보다 더 큰데, 즉 제1 이진화 경계가 3과 같을 때 절삭형 단항 코드의 2개의 빈들이다. 2보다 더 큰 정보가 한 번 코딩되기 때문에, 단일 컨텍스트 모델이 사용된다. 1보다 큰 정보의 경우, 첫 번째 비-종단 이진 값(b 0)이 발생할 때까지 세트 내의 다음 컨텍스트 모델이 사용된다. 이러한 경우가 발생한다면, 서브블록의 끝까지 전용 컨텍스트 모델이 사용된다. 추가로, 이전 서브블록에서 1보다 큰 레벨들의 존재에 따라 컨텍스트 세트가 선택된다.
컨텍스트 모델링은 엔트로피 코딩 스테이지에서 중요한 역할을 한다. 컨텍스트 모델링을 위해 보다 고급 기술들을 이용함으로써 더 높은 압축 효율 결과들이 달성될 수 있다. 본 명세서에서 제시된 실시예들은 기존 정보가 컨텍스트 모델링 스테이지에서 더 일찍 이용 가능하도록 코딩 순서를 수정함으로써 레벨 코딩을 위한 압축 효율을 개선한다. 가능한 코딩 구조가 도 23에 예시된다.
일 실시예에 따르면, 처리 순서는 다음 스캔 포지션으로 나아가기 전에 각각의 레벨이 완전히 송신되도록 수정된다. 이렇게 함으로써, 더 높은 압축 효율을 가능하게 하는 컨텍스트 모델링 스테이지에 대한 조건들이 활성화된다. 특히, 서브블록을 다수의 패스들로 처리하는 대신, 각각의 스캔 포지션에 대한 절대 레벨이 완전히 송신되어 단 하나의 처리 패스만이 필요하다. 다중 스캔 패스 접근 방식이 일부 하드웨어 아키텍처들에 이점들을 갖지만, 이는 또한 다른 아키텍처 타입들에 대해, 예컨대 메모리 액세스 측면에서 단점들을 갖는다. 개요는 도 24에 도시된 바와 같다.
수정된 처리 순서는 절대 레벨을 완전히 송신하므로, 이웃하는 주파수 포지션들을 평가할 때, 단지 일부량 대신 전체 절대 레벨들이 이용 가능하다. 수정이 반드시 설명된 대로 고정되는 것은 아니라는 점에 주목한다. 종종, 잔차 에너지는 평평하여 절대 레벨들이 작다. 절충 동작 모드는 단지, 지정된 임계치보다 큰 특정 양의 절대 레벨들이 검출된 경우에만 템플릿 평가를 활성화한다. (예컨대, 도 14와 관련하여 설명된 실시예 참조) 추가로, 스루풋의 이유로, 절대 레벨이 1보다 크고 2보다 크다는 것을 나타내는 플래그들의 수는 일반 모드에서 빈들의 수를 줄이기 위해 제한될 수 있다. (예컨대, 도 6과 관련하여 설명되며 컷오프 값을 조정 또는 설정하는 것을 목표로 하는 실시예들 참조) 절대 레벨 코딩을 이용할 때, 서브블록들의 개념은 더는 반드시 4x4 형상들에 의존할 필요가 있는 것이 아니라(예컨대, 이를테면 도 13에 관한 파티션들의 형상화에 관련된 실시예들), 대신 이는 연속적인 스캔 포지션들의 그룹일 수 있다. 즉, 서로 다른 파티션들에 속하는 계수들의 인터리빙이 발생하지 않을 수 있다. 서브블록들의 주요 이유는 컨텍스트 모델링일 수 있다는 점에 주목한다. 4x4 서브블록들의 개념은 스캔 포지션들의 그룹으로 쉽게 확장될 수 있다. 예를 들어, 16과 동일한 고정된 수의 스캔 포지션들이 사용되어 기존의 4x4 서브블록들과 유사한 구성이 될 수 있다. 도 25는 일반 파티션을 (계수들이) 16 크기인 4개의 파티션들(왼쪽)로 그리고 동일한 크기이지만 지그재그 스캔을 따르는 4개의 파티션들(오른쪽)로 변환하는 예를 예시한다.
연속 스캔 포지션들로의 그룹화는 종종 선택된 크기에 따라 스캔 포지션들로만 구성된다. 압축 효율을 향상시키기 위해, 크기는 가변적이지만(파티션들의 형상과 관련된 실시예 참조) 주어진 변환 블록 크기에 대해 고정되도록 구성될 수 있다. 다른 예는 다음과 같다. DC 주파수 포지션은 전용 형상을 형성할 수 있으며, 형성되는 스캔 포지션들의 수는 대각선과 같다. 크기는 어떤 면에서는 블록 크기에 따라 구성되어야 한다는 점에 주목한다. 그룹에 대해 특정 수의 연속 스캔 패턴들을 형성하는 것은 주파수 포지션들 간의 이웃 관계가 생략되어 있다. 따라서 공간적으로 서로 가까운 스캔 포지션들을 함께 그룹화하는 것이 합리적이다. 기존 스캔 패턴들과 조합하기 위해, 한 그룹의 스캔 포지션들을 연속적으로 처리할 필요가 없다. (도 15, 도 16 및 도 18 참조) 대신, 그룹의 제1 스캔 포지션이 처리될 때 그룹의 CBF가 코딩된다. 도 17과 도 18을 참조한다. 더욱이, 그룹화는 예컨대, 순방향 구동(앞서 언급한 명시적 파티션 형상화 정보 비교) 또는 역방향 구동 접근 방식들(스캔 패턴 또는 블록 크기에 따른 앞서 언급한 파티션 형상화 비교), 또는 이 둘의 조합을 사용하여 사전에 지정될 수 있다. 이 구성에서, 마지막 유효 포지션에 따라, 그룹화가 사용되는지 여부를 시그널링하는 추가 플래그가 코딩되어, 그룹들에 대한 CBF들의 존재 또는 부재를 야기한다. (파티션 모드 시그널링을 사용하는 실시예 참조) 스캔 포지션들의 수의 적응은 다음과 같이 고주파 포지션에서 레벨의 비용의 감소를 가능하게 한다. 일반적으로, 더 높은 주파수 포지션들의 레벨들은 낮은 에너지를 가지며, 유효 레벨들 사이의 거리는 또한 더 낮은 주파수 포지션에서보다 더 큰 경향이 있다. 따라서 레이트 왜곡 최적화 양자화 접근 방식들은 이러한 레벨들을 무의미함으로 양자화한다. 스캔 포지션들의 수를 적응적으로 형성할 때, 이러한 두 레벨들 사이의 거리에 대한 비용이 더 감소될 수 있다. 이 개념은 다른 쪽에도 역시 적용될 수 있다. 높은 잔차 에너지를 갖는 더 높은 작동 지점들에서는, 유효 레벨들만을 갖는 스캔 포지션들의 그룹에 대한 비용이 더욱 감소될 수 있다. 또한, 그룹에 대한 CBF의 정의가 변경되는데, 이는 CBF가 1과 같을 때, 그룹 내의 적어도 하나의 유효 계수의 존재 대신 그룹이 코딩된다. 의미 체계의 변경은 논리를 감소시킨다.
4:2:0 크로마 하위 샘플링된 신호들에 대한 경험적 데이터 관점에서, 루마 잔차 신호는 대개 공간적으로 인접한(예컨대, 공간적으로 대응하는) 크로마 잔차 신호들보다 더 높은 에너지로 구성된다. 이 사실은 처리가 재정렬될 때 레벨들의 코딩에 통합되어, CBF의 시그널링 직후에 레벨들이 코딩된다. 그런 다음, 컨텍스트 모델링 스테이지에 대해 더 많은 정보가 평가될 수 있다. 루마 CBF 및 잔차에 대한 컨텍스트 모델링은 크로마 CBF들 또는 크로마 잔차들의 결과들로 조정될 수 있다. (도 12의 설명 비교) 더욱이, 마지막 유효 포지션의 코딩은 레벨 코딩에서, 즉 3개의 변환 블록들이 모두 유효한 경우, 분리될 수 있다. 3개의 마지막 유효 포지션들 모두가 연속적으로 코딩된다. CBF의 코딩과 유사하게, 마지막 유효 포지션의 코딩은 인접한(예컨대, 콜로케이트된) 변환 블록들의 마지막 유효 포지션들의 결과에 따라 조정될 수 있다. (도 12의 설명과 비교) 추가 기술은 마지막 유효 포지션의 공동 코딩인데, 즉 2개의 크로마 변환 블록들에 대해, 2개의 마지막 유효 포지션들 대신 단일 마지막 스캔 포지션만이 코딩되는데, 즉 포지션 표시(114)는 예컨대, 루마와 크로마에 대해 한 번만 공동으로 코딩될 것이다.
제1 이진화 경계, 즉 컷오프 값(164)은 적응적이며 복잡성과 압축 효율 간의 절충을 특징으로 한다. 고정 경계를 너무 낮게 선택하면 더 낮은 압축 효율이 달성되고, 고정 경계를 너무 높게 선택하면, 높은 복잡성이 결과가 된다. 높은 경계는 향상된 압축 효율의 비례 증가로 이어지는 것이 아니라 오히려 향상이 매우 제한적이라는 점에 주목한다. 그러나 잔차 압축 스테이지 이전에 다른 파티셔닝 전략들과 추가 또는 신규 코딩 기술들로 인해 작동 지점들이 변경되었다. 예를 들어, 제1 이진화 경계를 5와 같게 설정하는 것은, 순방향 적응적으로 또는 역방향 적응적으로 제어되는 적응적 변환들과 같은 추가 변환 모드들이 활성화될 때 향상된 압축 효율을 야기한다. 제1 이진화 경계는 서로 다른 코딩 모드들을 제어하는 데 사용할 수 있다. 예컨대, 제1 이진화 경계는 레벨들의 높은 에너지가 검출될 때 0과 같게 설정될 수 있어, 일반 모드에서는 어떤 빈들도 코딩되지 않을 수 있다. (컷오프 값의 변화 및 설정에 관한 상기 실시예들과 비교) 높은 신호 에너지의 검출은 변환 블록 또는 변환 블록의 서브블록에 대해 이미 송신된 구문 엘리먼트들(또는 이진 결정들)의 값들을 분석함으로써 실현될 수 있다. 일례로, 높은 신호 에너지의 검출은 (변환 블록 또는 변환 블록의 서브블록의) 절대 값들의 합을 특정 임계치와 비교함으로써 실현될 수 있다. 대안으로, 검출은 (변환 블록 또는 변환 블록의 서브블록의) 스캔 포지션들에 대한 제1 스캔 패스에서 이미 코딩된 빈들의 수를 특정 임계치와 비교함으로써 실현될 수 있다(다중 패스 개념과 조합하여 컷오프 값의 변화 및 설정에 관한 상기 실시예들 비교).
공통 작동 지점들에 대한 구성은 다음과 같다. 초기 경계, 즉 컷오프 값은 사용된 예측 및 변환 모드들과 양자화 파라미터에 좌우되며, 3보다 높은데, 예컨대 이는 5와 같다. (컷오프 값의 설정에 대해 위의 실시예들 참조) HEVC의 구성과 동일한 모드들의 조합에 대해, 초기 첫 번째 경계는 3과 같이 설정된다. 이 모드에서는, 레벨 값들의 발생에 따라 경계가 감소된다. (컷오프 값의 변화에 대해서는 위의 실시예 참조) 그러나 초기 첫 번째 경계가 5와 같으면, 이는 그룹에 대해 또는 심지어 전체 변환 블록에 대해 고정된 상태로 유지된다.
컨텍스트 도출을 위한 로컬 템플릿은 기존 기술의 일부로서 사용되었지만, 제한된 정보로, 즉 절대 레벨의 일부량만이 평가되었다. 코딩 구조에 변화들을 적용함으로써, 기존 정보가 디코딩 프로세스에서 더 일찍 이용 가능하고, 따라서 컨텍스트 모델링 스테이지에서 사용할 수 있다. 코딩 구조에 적용된 앞서 언급한 기술들로 인해 절대 레벨들이 이용 가능하기 때문에, 로컬 템플릿에 의해 커버되는 주파수 포지션들은 더 많은 정보로 구성된다. 제시된 실시예들 중 일부는 이 사실을 다음과 같이 활용한다. 각각의 레벨이 완전히 코딩되도록 코딩이 정렬되었으므로, 로컬 템플릿은 이미 코딩된 이웃하는 공간 포지션들을 평가한다. 이웃하는 레벨들의 절대 합과 유효 레벨들의 수는 단항 이진화 또는 절삭형 단항 이진화일 수도 있는 제1 이진화 코드의 일부인 빈들에 대한 컨텍스트 모델들을 유도하는 데 이용된다. Rice 파라미터와 같은 이진화 파라미터(163)도 역시 평가로부터 유도될 수 있다. 예시적인 구성은 다음과 같다.
템플릿의 형상은 고정되거나 적응적일 수 있다. 형상 적응 실시예들이 위에서 설명되었다. 예를 들어, 템플릿 크기가 5와 같고 처음 2개의 이웃하는 포지션의 평가가 이미 매우 높은 절대 합으로 이어지는 경우, 나머지 이웃하는 포지션들에 대한 평가가 스킵될 수 있어, 로컬 템플릿에 대한 적응적 형상이 될 수 있다. (도 14 비교) 형상은 블록 크기, 색 성분 및 마지막 유효 포지션, 그리고 선택된 변환에 따라 구성될 수 있다. 특별한 경우에, 템플릿의 크기는 0과 같이 설정될 수 있으므로, 로컬 주변 내부에 이미 코딩된 양자화 레벨들 중 어느 것도 컨텍스트 도출에 사용되지 않는다. 그러면 로컬 템플릿이 비활성화된다. 잔차 에너지가 주파수 포지션들 사이에 분산되고 평탄할 때, 즉 절대 레벨들이 낮을 때, 더 많은 이웃 주파수 포지션들을 커버하는 템플릿이 더 효율적이다. 이러한 상황들은 종종 고주파 포지션에서 마지막 유효 포지션과 함께 더 큰 변환 블록들에 있다.
양자화 인덱스들의 이진화의 빈들이 변환 블록 또는 변환 블록의 서브블록의 스캔 포지션들에 대한 다수의 스캔 패스들에서 코딩되는 경우, 현재 및 이전 스캔 패스들에서 송신된 빈들만이 컨텍스트 모델을 도출하는 데 사용될 수 있다. 그 경우, (현재 및 이전 스캔 패스들에서 송신된 빈들을 사용하여 도출되는) 부분적으로 재구성된 절대 레벨들이 사용된다. 특히, (변환 블록 또는 서브블록의 스캔 포지션들에 대해) 제1 패스에서 송신되는 컨텍스트 코딩된 빈들의 경우, 제1 스캔 패스에서 코딩된 빈들에 의해 제공되는 부분적으로 재구성된 변환 계수 레벨들을 사용하여 템플릿이 평가된다.
현재 대각선, 블록 크기, 적용된 변환, 선택된 예측기 또는 예측 모드, 및 절삭형 단항 코드워드 내의 포지션과 같은 정보에 따라 서로 다른 컨텍스트 모델 세트들이 이용될 수 있다. 컨텍스트 희석을 방지하기 위해, 컨텍스트 세트들이 병합될 수 있다. 예컨대, 이웃하는 대각선들은 도 25에서 오른쪽에 도시된 바와 같이 하나의 파티션에 연관될 수 있다. 일례로, 특정 컨텍스트 세트는 다수의 대각선 포지션들에 사용될 수 있다(즉, 변환 계수들의 블록이 대각선(x+y) 포지션에 따라 다수의 영역들로 파티셔닝되며, 이러한 파티션들 각각에 대해 별도의 컨텍스트 세트가 사용된다). 유사하게, 다른 파라미터들의 다수의 값들, 또는 서로 다른 파라미터들의 조합들을 병합함으로써 서로 다른 컨텍스트 세트들이 얻어질 수 있다. DC 포지션에 대한 전용 컨텍스트 모델 세트도 또한 특정 상황들에서 유리하다. (예컨대, 포지션들(104 및/또는 98)에 대해 샘플 특정 컨텍스트 세트를 제공하는 실시예 참조) 이는 (변환 계수의 블록에서 x = 0 및 y = 0 포지션, 즉 포지션(104)에 위치된) DC 계수에 대해, 다른 모든 계수 포지션들에 대한 것과는 다른 세트의 컨텍스트 모델들이 사용될 수 있음을 의미한다. 이러한 컨텍스트 세트 구분은 절삭형 단항 코드의 일부인 모든 빈들에 적용될 수 있다. 이는, 컨텍스트 세트들을 지정하기 위한 앞서 언급된 방법들 중 임의의 방법이 변환 계수 레벨들의 이진화의 개별 빈들에, 또는 대안으로 변환 계수 레벨들의 이진화의 빈들의 서브세트에, 또는 다른 대안으로서 변환 계수 레벨들의 이진화의 모든 컨텍스트 코딩된 빈들에 적용될 수 있음을 의미한다.
컨텍스트 모델 선택은 템플릿 평가의 결과에 좌우된다. 예를 들어, 레벨들의 절대 합과 템플릿 내 유효 포지션들의 수가 도출된다. 2개의 수들에 따라, 절삭형 단항 코드 및 Rice 파라미터(k)와 같은 제1 이진화 코드(160)의 모든 빈들의 부분에 대한 컨텍스트 모델들이 도출될 수 있다. 예를 들어, 절대 합에서 유효 포지션 수를 뺀 값은 컨텍스트 모델 세트 내의 컨텍스트 모델 인덱스로 직접 돌아간다. 컨텍스트 모델 세트들이 제한되므로, 컨텍스트 모델 세트 내의 컨텍스트 모델들의 수로 값이 잘릴 수 있다. Rice 파라미터의 경우, 절대 합과 Rice 파라미터 간의 직접 매핑이 설정될 수 있도록 매핑 테이블이 도출될 수 있다. 그러나 테이블 크기를 제한하기 위해, 절대 합도 또한 제한되어야 한다.
컨텍스트 모델 선택은 또한 선택된 변환에 의해 도출될 수 있다. 특히, 1차 계수들의 서브세트에만 적용되는 2차 변환이 사용된다면, 컨텍스트 모델들의 전용 세트가 두 서브세트들 모두에 사용될 수 있다.
압축 효율을 향상시키기 위해 알려지고 활용될 수 있는 코딩 상태들이 있을 수 있다. 마지막 유효 스캔 포지션에 대한 레벨 코딩이 있는 경우가 하나 있다. 이 포지션의 경우, 절삭형 단항 이진화일 수도 있는 제1 이진화 코드의 일부인 빈들의 코딩을 위해 전용 컨텍스트 모델이 이용된다. 이것은 예컨대, 대각선을 평가함으로써 블록에서의 현재 포지션과 조합될 수 있어, 서로 다른 컨텍스트 세트들이 사용될 수 있다. 이는 위에서 설명한 방법과 추가로 조합될 수 있는데, 여기서 DC 변환 계수 레벨(즉, 변환 블록 내부의 x = 0 및 y = 0 위치의 변환 계수 레벨)의 빈들에 대해 다른 상이한 세트의 컨텍스트 모델들이 사용된다. 마지막 유효 스캔 포지션이 DC 포지션과 같은 경우, 여러 가능성들이 있다: 마지막 포지션에 대한 컨텍스트 세트가 사용되거나(즉, 마지막 포지션이 더 높은 우선순위를 가짐), DC 포지션에 대한 컨텍스트 세트가 사용되거나(즉, 마지막 포지션이 더 높은 우선순위를 가짐), 또는 마지막 스캔 포지션들이기도 한 DC 포지션들에 별도의 컨텍스트 세트가 사용된다. 앞서 언급한 바와 같이, 서로 다른 컨텍스트 세트들이 변환 계수 레벨들의 이진화의 개별 빈들에, 또는 대안으로 변환 계수 레벨들의 이진화의 빈들의 서브세트에, 또는 다른 대안으로서 변환 계수 레벨들의 이진화의 모든 컨텍스트 코딩된 빈들에 적용될 수 있다.
다른 경우는 로컬 템플릿 내의 모든 계수들이 유효하고, 이들의 절대 레벨이 모두 특정 임계치를 초과하는 경우이다. 이러한 경우, 컨텍스트 모델링은 변환 블록이 끝날 때까지 로컬 템플릿 평가가 비활성화되는 모드로 전환된다. 또한, 예컨대 현재 대각선에 따라 서로 다른 컨텍스트 모델 세트들의 사용이 가능하다. 반대로, 낮은 주파수에서 발생하지만 시그널링이 필요한 코딩 모드들은 제외될 수 있다. 이러한 코딩 모드들은 예를 들어, 이전 그룹이 많은 수의 절대 레벨들로 구성될 때 그룹들에 대한 CBF들의 코딩이다. 이 예에서, 구성은 그룹에 의해 커버되는 스캔 포지션들이 연속적으로 처리되는 것이다. 다른 예는 제1 이진화 경계(160)이다. 각각의 그룹의 시작 시 고정된 경계 값으로 시작하는 대신, 이전 그룹의 절대 레벨들이 분석되고, 경계는 1에서 5까지 달라진다. 스루풋 양상을 완화하기 위해, 이전 그룹이 매우 높은 잔차 에너지로 구성된 경우 경계가 0으로 설정될 수 있다. 그러면 제1 이진화 코드(160)가 사라질 것이다. 로컬 템플릿의 사용은 통계가 극단적이지 않은 경우, 즉 조건부 확률들이 최소 엔트로피에 가깝지 않을 때 효율적이다. 후자의 경우, 템플릿 평가가 비활성화되어, 압축 효율이 유지되면서 더 낮은 복잡성으로 이어질 수 있다. 이것은 레벨들의 양이 처리 성능에 중요한 역할을 할 때 더 높은 작동 지점들에 특히 유용하다. 주요 양의 레벨들이 무효인 경우, 변환 블록의 시작 시에 다른 경우가 주어진다. 이 경우, 불확실성이 높고 컨텍스트 모델링에 사용될 수 있는 추가 정보의 양이 적기 때문에 템플릿 평가가 비활성화될 수 있다.
색 성분들로도 또한 지칭되는 서로 다른 평면들이 존재하는데, 이들 각각은 예컨대, 휘도 및 색차 정보와 같은 서로 다른 색상 정보를 전달한다. 모든 평면들이 화상의 동일한 영역을 커버하며, 이에 따라 색상 평면 내의 변환 블록은 다른 모든 색상 평면들의 대응 부분들을 갖는다. 이러한 변환 블록들은 각각 동일한 구문을 사용하여 연속적으로 코딩된다. 이에 따라, 각각의 변환 블록에 대해 동일한 구문 엘리먼트들이 존재한다. 따라서 색 성분의 변환 블록으로부터의 정보가 다음 변환 블록들에 이용 가능하다. 이것은 다른 색 성분들에서 이들의 대응 부분들을 평가함으로써 현재 처리된 블록의 구문 엘리먼트들에 대한 컨텍스트 모델들/세트들을 도출하는 데 활용된다. (도 12 비교) 제2 크로마 성분의 코딩된 블록 플래그(CBF)를 코딩하는 경우가 하나 있다. 제1 크로마 성분들의 선행 CBF 값에 따라, 2개의 서로 다른 컨텍스트들 중 하나가 선택된다. 다른 예는 절대 계수 레벨 코딩을 위한 절삭형 단항 코드의 제1 빈이다. 또한, 상이한 컨텍스트 세트들을 선택하기 위해 이전 색상 평면의 동일한 포지션에 있는 절삭형 단항 코드의 제1 빈의 값이 평가된다.
코딩 구조와 관련된 바람직한 실시예에서, 코딩은 각각의 변환 계수 레벨이 변환 블록의 각각의 스캔 포지션에 대해 완전히 송신되도록 구성된다. 다른 바람직한 실시예에서, 레벨들은 부분(160)의 모든 일반 코딩된 빈들(165)이 코딩된 다음 부분(162)의 바이패스 빈들(165)이 코딩되도록 2회의 패스들로 코딩된다. 본 발명의 다른 바람직한 실시예에서, 패스들의 수는 유지되지만, 처리는 서브블록별 처리 대신 전체 변환 블록에 대한 것이다.
바람직한 실시예에서, 그룹화 형상은 기존 4x4보다 더 작은 고정된 형상 크기로 고정된다. 다른 바람직한 실시예에서, 그룹화 형상은 다양한 형상 크기로 고정된다. 형태는 변환 블록 크기 및/또는 색 성분 및/또는 예측 모드 및/또는 선택된 변환들 및/또는 마지막 유효 포지션에 좌우된다. 추가 바람직한 실시예에서, 형상 크기는 순방향 적응 결정을 사용하여 적응적으로 도출된다. 이 실시예에서, 형상 크기는 일반적인 4x4 형태로 시작하고, 크기는 일례로 8x8이 될 수 있다.
바람직한 실시예에서, 스캔 패턴은 그룹의 제1 주파수 포지션이 코딩될 때 그룹들에 대한 CBF가 코딩되도록 도 13에 예시적으로 도시된 바와 같이 그룹화로부터 분리된다. 이 구성에서, 스캔 패턴은 변환 블록의 각각의 행이 완전히 처리되도록 예를 들어, 수평일 수 있는 반면, 형상은 여전히 4x4 또는 수직이다.
바람직한 실시예에서, 코딩 구조는 대응하는 변환 블록에 대한 CBF 플래그의 코딩 직후에 레벨들이 코딩되도록 배열된다. 재정렬은 컨텍스트 모델링을 위한 이미 코딩된 공간적으로 인접한 변환 블록들을 평가할 가능성을 가능하게 한다. 추가 바람직한 실시예에서, 크로마 블록들의 코딩이 인터리빙된다. 이 구성에서, 마지막 포지션은 한 번 코딩되고, 코딩은 두 크로마 변환 블록들 사이에서 전환된다. 추가 실시예에서, 마지막 포지션은 규칙적으로 코딩되고, 스캔 포지션들이 정렬될 때 2개의 크로마 블록들 사이의 전환이 활성화된다. 다른 바람직한 실시예에서, 2개의 크로마 블록들이 인터리빙되어 4:2:0 콘텐츠에 대한 크로마에서와 동일한 크기를 갖는 변환 블록이 생성된다. 그런 다음, 결합된 크로마 블록이 규칙적으로 코딩된다.
바람직한 실시예에서, 마지막 유효 포지션이 크로마 변환 블록들에 대해 공동으로 코딩된다. 이 구성에서는, 마지막 포지션이 마지막 유효 포지션이 아니라, 오히려 이는 코딩이 시작되는 마지막 포지션이므로, 해당 특정 포지션에 대해 유효성 정보가 코딩되어야 한다. 추가 실시예에서, 마지막 포지션은 2개의 크로마 블록들에 대해 한 번 코딩되지만, 크로마 블록 중 하나에 대해서만 지정된다. 다른 크로마 블록의 경우, 다른 크로마 블록의 마지막 유효 포지션에서 유효성이 코딩되어야 한다.
바람직한 실시예에서, CBF는 변환 블록이 코딩되어야 함을 의미한다. 그 결과는 변환 블록이 무효일 수 있다는 것이다. 이 특정 구성에서, 마지막 유효 포지션은 단지 마지막 포지션과 동일하다. 이 구성은 블록 크기, 예측 모드, 변환 모드 등과 같은 특정 조건들에 결합될 수 있다. 예컨대, 1차원 파티션들이 이용되는 경우, 결과 스트라이프들은 4x4 블록에 대해 단지 1x4에 불과하다. 이러한 상황에서, 첫 번째 1x4 스트라이프가 유효한 경우, CBF는 1과 같다고 추론될 수 있다.
바람직한 실시예에서, CBF는 그룹의 주파수 포지션들이 코딩되어야 함을 의미한다. 이 구성에서는, 모든 스캔 포지션들이 코딩되고 그룹 내의 마지막 스캔 포지션은 추론되지 않는다.
이진화에 관한 바람직한 실시예에서, 제1 이진화 경계(164)는 블록 크기 또는 색 성분 또는 예측 모드 또는 선택된 변환들에 따라 각각의 변환 블록에 대해 가변적이다. 이 구성에서, 제1 경계는 비트스트림에서의 시그널링을 요구하는 다른 변환 모드인 경우 5일 수 있다. 그러나 일반 변환의 경우, 제1 경계가 3으로 유지될 수 있다.
바람직한 실시예에서, 제1 경계(164)는 경계가 3보다 클 때는 결코 감소하지 않는다. 이 바람직한 실시예에서, 가정은 레벨들이 고정되지 않는다는 것이며, 따라서 일반 모드에서 평소보다 더 많은 빈들을 코딩한다는 점이 의미가 있다. 다른 바람직한 실시예에서, 제1 경계의 감소는 (변환 블록 또는 변환 블록의 서브블록을 나타낼 수 있는) 블록 내의 코딩된 심벌들의 수에 의존한다. 추가 바람직한 실시예에서, 제1 경계는 템플릿 평가에 따라 적응적이다. 예컨대, 유효 포지션의 수가 0일 때 제1 경계는 5이다. 그러나 주어진 양, 예를 들어 3개의 유효 레벨들이 템플릿 내에 있으면, 경계는 2와 같게 설정되고, 5개의 유효 레벨들이 템플릿 내에 있으면, 경계는 1과 같게 설정된다.
바람직한 실시예에서, Rice 파라미터는 템플릿을 사용하여 도출된다. 이 구성에서는, 레벨들의 절대 합이 구해져 Rice 파라미터에 매핑된다. 테이블 크기는 8, 16 또는 32와 동일한 제한을 가질 수 있다. 룩업 테이블 내의 값들은 경험적으로 도출될 수 있다. 본 발명의 다른 바람직한 실시예에서, Rice 파라미터는 템플릿을 사용하더라도 그룹에 대해 결코 감소되지 않는다. 본 발명의 추가 바람직한 실시예에서, Rice 파라미터는 템플릿에 의해 커버되는 레벨들에 대한 최적의 Rice 파라미터에 의존한다. 이 구성에서는, 이미 코딩된 레벨들의 제1 이진화 경계가 계산에 고려될 수 있다는 점에 주목한다.
바람직한 실시예에서, Rice 코드들에 의해 커버되는 간격은 Rice 파라미터에 의존하고 더 높은 Rice 파라미터로 더 커진다. 추가 바람직한 실시예에서, Rice 코드들에 의해 커버되는 간격은 블록 크기 및/또는 예측 모드 및/또는 변환 크기 및/또는 양자화 파라미터에 의존한다. 이 단락의 바람직한 실시예들의 경우, Rice 코드에 의해 커버되는 간격으로부터 제2 이진화 경계가 추론될 수 있다는 점에 주목한다.
바람직한 실시예에서, Exp-Golomb의 차수는 고정되고 0과 같다. 추가 바람직한 실시예에서, Exp-Golomb 차수는 초기에 Rice 파라미터에 1을 더한 것이다. 다른 바람직한 실시예에서, Exp-Golomb 차수는 초기에 Rice 파라미터이다. 두 바람직한 실시예들 모두에서, Exp-Golomb 코드는 단지 제한된 간격만을 커버하고, 값이 간격의 끝보다 더 클 때, Exp-Golomb은 나머지 값에 대해 다시, 그러나 다른 순서로 적용된다. 바람직한 실시예에서, Exp-Golomb 차수는 이것이 0이 될 때까지 감소하는데, 스텝 크기는 1과 같다. 추가 바람직한 실시예에서, Exp-Golomb 차수는 바로 0과 같다.
컨텍스트 모델링과 관련하여, 바람직한 실시예에서, 템플릿 형상은 고정되고 모든 인접한 공간 이웃들을 커버한다. 추가 바람직한 실시예에서, 템플릿 형상은 고정되고 다른 색상 채널에서 공간적으로 인접한 이웃들을 또한 커버한다. 이 구성은 크로마 변환 블록들의 코딩을 위해 설계된다.
바람직한 실시예에서, 템플릿 형상은 적응적이며 변환 블록의 시작 시 도출된다. 특히, 형상은 변환 블록 크기 및/또는 예측 모드 및/또는 변환들 및/또는 양자화 파라미터에 따라 더 크거나 더 작다. 본 발명의 추가 바람직한 실시예에서, 템플릿 형상은 변환 블록 내에서 조정된다. 이 구성에서는, 형상이 점점 더 커지고 더 작아진다. 예컨대, 형상 크기가 5와 같고 3개 또는 4개의 이웃하는 포지션들이 유효하지만, 절대 레벨 합은 특정 임계치 미만인 경우, 더 많은 이웃하는 포지션들을 통합하도록 템플릿이 증가된다. 다른 한편으로는, 모든 주파수 포지션들이 유효하고 절대 레벨 합이 특정 임계치를 초과하는 경우, 형상은 더 작아지는데, 예컨대 3과 같게 설정된다.
바람직한 실시예에서, 절삭형 단항 부분의 제1 빈에 대한 컨텍스트 모델 세트들은 대각선에 의존한다. 이 구성에서, 루마 변환 블록은 3개의 서로 다른 컨텍스트 세트들을 이용할 수 있는 반면, 크로마 변환 블록들은 2개의 서로 다른 컨텍스트 세트들만을 이용한다. 대각선은 전환 지점을 정의하며 루마와 크로마 간에 서로 다를 수 있다. 본 발명의 추가 바람직한 실시예에서, 비트스트림에서 시그널링되어야 하는 변환이 선택될 때 서로 다른 컨텍스트 세트들이 이용된다.
바람직한 실시예에서, 제2 위치에서 시작하는 빈들, 즉 제1 빈을 제외한 절삭형 단항 코드인 모든 빈들은 동일한 컨텍스트 세트를 이용한다. 본 발명의 추가 바람직한 실시예에서, 빈들은 동일한 세트의 컨텍스트 모델을 사용하지만, 컨텍스트 세트들은 대각선에 따라 서로 다를 수 있다. 다른 바람직한 실시예에서, 빈들은 동일한 세트의 컨텍스트 모델을 사용하지만, 컨텍스트 세트들은 선택된 변환들에 따라 서로 다를 수 있다. 다른 바람직한 실시예에서, 제1 대각선은 전용 컨텍스트 모델 세트를 이용한다. 추가 바람직한 실시예에서, 제4 위치에서 시작하는 빈들, 즉 제1 빈, 제2 빈 및 제3 빈을 제외한 절삭형 단항 코드인 모든 빈들은 선택된 변환들에 따라 다른 컨텍스트 세트를 이용한다.
바람직한 실시예에서, 제1 빈에 대한 컨텍스트 모델은 사용된 컨텍스트 세트의 동일한 크기를 갖는 특정 임계치로 제한되는 템플릿의 절대 합을 사용하여 도출된다. 추가 바람직한 실시예에서, 평가는 자르기 전에 유효 포지션들의 수를 절대 레벨 합에서 뺀다. 다른 바람직한 실시예에서, 평가는 자르기 후에 유효 포지션들의 수를 절대 레벨 합에서 뺀다. 추가 바람직한 실시예에서, 절대 레벨들의 분산이 계산되어 컨텍스트 모델 세트 내의 컨텍스트 모델들의 수로 정규화된다.
바람직한 실시예에서, 절삭형 단항 코드의 끝까지 제2 빈에 대한 컨텍스트 모델인 컨텍스트 모델은 유효 포지션들의 수를 절대 레벨 합에서 감산함으로써 선택된다. 본 발명의 추가 바람직한 실시예에서는, 기존 접근 방식이 이용되지만 템플릿과 통합되도록 수정된다. 이 구성에서, 전용 컨텍스트 모델로의 전환은 더 일찍, 예컨대 절대 레벨 합이 특정 임계치를 초과할 때 발생할 수 있다.
바람직한 실시예에서, 선택된 변환이 먼저 디코딩된다. 이 변환이 1차 및 2차 변환 스테이지로 구성되고 1차 변환들의 서브세트만이 2차 스테이지에 의해 추가로 변환된다면, 2개의 서로 다른 템플릿들이 두 세트들의 계수 포지션들에 사용된다.
바람직한 실시예에서, 절삭형 단항 코드의 빈들에 대한 마지막 유효 포지션에 전용 컨텍스트 모델이 사용된다. 이 구성에서, 컨텍스트 모델들은 마지막 유효 포지션에 독점적으로 사용된다. 세부사항들은 도 5와 관련하여 논의되었다. 다른 바람직한 실시예에서, 마지막 유효 포지션에 대한 절삭형 단항 코드의 빈들에 대한 컨텍스트 모델링은 다른 색상 평면의 동일한 포지션에 있는 변환 블록들을 포함하여 공간적으로 인접한 변환 블록들의 이미 코딩된 마지막 유효 포지션에 의존한다. 특히, 절삭형 단항 코드의 현재 빈에 대해 선택된 컨텍스트 모델 세트는 다른 색상 평면의 마지막 유효 포지션에 좌우된다. 현재 빈으로 표시된 현재 포지션이 더 클 때마다, 다른 컨텍스트 세트가 선택된다.
바람직한 실시예에서, 루마 CBF에 대한 컨텍스트 모델링은 이미 코딩된 크로마 CBF들에 의존한다. 추가 바람직한 실시예에서, 제2 크로마 CBF에 대한 컨텍스트 모델링은 이미 코딩된 제1 CBF에 의존한다. 본 발명의 다른 바람직한 실시예에서, 제1 크로마 CBF에 대한 컨텍스트 모델은 이미 코딩된 루마 CBF에 의존한다. 본 발명의 추가 바람직한 실시예에서, 코딩 구조가 변경될 때, CBF에 대한 컨텍스트 모델링은 다른 색상 평면의 동일한 포지션에 있는 변환 블록들을 또한 포함하는 공간적으로 인접한 변환 블록으로부터의 에너지 정보를 사용한다. 특히, 절대 합이 평가되고 임계치들의 리스트와 비교된다. 값이 임계치보다 더 클 때마다, 컨텍스트 인덱스가 1씩 증분된다. 추가 바람직한 실시예에서, CBF에 대한 컨텍스트 모델링은 동일한 에너지 정보를 사용하지만, 임계치들의 세트는 현재 및/또는 인접 블록들의 예측 모드, 예컨대 예측 모드가 LMChroma 모드들 중 하나인지 여부에 좌우된다. 다른 바람직한 실시예에서, CBF에 대한 컨텍스트 모델링은 동일한 에너지 정보를 사용하지만, 컨텍스트 세트들은 현재 및/또는 인접 블록들의 예측 모드, 예컨대 예측 모드가 LMChroma 모드들 중 하나인지 여부에 따라 서로 다를 수 있다.
바람직한 실시예에서, 절삭형 단항 코드의 제1 빈에 대한 컨텍스트 모델링은 다른 색상 평면의 동일한 포지션에 있는 변환 블록들을 또한 포함하여 공간적으로 인접한 변환 블록들의 이미 코딩된 빈들에 의존한다. 특히, 다른 색상 평면의 동일한 위치에 있는 절삭형 단항 코드의 제1 빈의 값에 따라 컨텍스트 모델 세트가 선택된다.
바람직한 실시예에서, 절삭형 단항 코드의 빈들에 대한 컨텍스트 모델링은 다른 색상 평면의 동일한 포지션에 있는 변환 블록들을 또한 포함하여 공간적으로 인접한 변환 블록들의 이미 코딩된 빈들에 의존한다. 특히, 다른 색상 평면에서 동일한 위치에 있는 절삭형 단항 코드의 해당 빈 포지션의 값에 따라 컨텍스트 모델 세트가 선택된다. 추가 바람직한 실시예에서, 절삭형 단항 코드의 빈들에 대한 컨텍스트 모델링은 다른 색상 평면의 동일한 포지션에 있는 변환 블록들을 또한 포함하여 공간적으로 인접한 변환 블록들로부터의 에너지 정보를 사용한다. 특히, 변환 블록의 개별 영역에 있는 절대 합이 평가되고 임계치들의 리스트와 비교된다. 값이 임계치보다 더 클 때마다, 다른 컨텍스트 세트가 선택된다.
바람직한 실시예에서, 템플릿은 충분한 수의 절대 레벨들이 코딩되었을 때 활성화/비활성화된다. 추가 바람직한 실시예에서, 템플릿은 충분한 수의 유효 포지션들이 코딩되었을 때 활성화/비활성화된다.
위에서 제시된 실시예들은 아래에서 다른 말들로 다시 요약된다.
일 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는, 제1 변환 계수 블록 및 제2 변환 계수 블록을 각각 획득하도록 제1 색 성분 및 제2 색 성분에 대해 개별적으로 화상의 블록을 변환하고, 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하여 제2 변환 계수 블록을 컨텍스트 적응적으로 엔트로피 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는, 제2 변환 계수 블록이 세분되는 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 인코딩하고, 이 표시가 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 파티션들에 대해서는 제2 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 인코딩하고, 이 표시가 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들 내의 변환 계수들의 인코딩을 스킵하도록 구성될 수 있으며, 여기서 표시의 인코딩은 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 인코더는, 제1 변환 계수 블록이 세분되는 한 세트의 추가 파티션들의 각각의 추가 파티션에 대해, 각각의 추가 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 추가 파티션 내의 변환 계수들의 인코딩이 스킵되고 각각의 추가 파티션 내의 모든 변환 계수들이 0인지 여부의 추가 표시를 인코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 파티션들에 대해서는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 인코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 변환 계수들의 인코딩이 스킵되고 추가 파티션들 내의 모든 변환 계수들이 0임을 나타내는 추가 파티션들 내의 변환 계수들의 인코딩을 스킵하도록 구성될 수 있으며, 여기서 표시의 인코딩은 추가 파티션들의 추가 표시 및/또는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 인코더는, 제2 변환 계수 블록 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 제2 변환 계수 블록 내의 모든 변환 계수들이 0이 되는지 여부의 표시(190)를 인코딩하고, 이 표시가 제2 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타낸다면 제2 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 인코딩하고, 이 표시가 제2 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타낸다면 제2 변환 계수 블록의 변환 계수들의 인코딩을 스킵하도록 구성될 수 있으며, 여기서 표시(190)의 인코딩은 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 인코더는, 제1 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 제1 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 각각의 추가 파티션 내의 모든 변환 계수들이 0인지 여부의 추가 표시(190)를 인코딩하고, 이 추가 표시가 제1 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타낸다면 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 인코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 제1 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 제1 변환 계수 블록의 모든 변환 계수들이 0임을 나타낸다면 제1 변환 계수 블록의 변환 계수들의 인코딩을 스킵하도록 구성될 수 있으며, 여기서 표시(190)의 인코딩은 추가 표시 및/또는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 인코더는, 순방향을 따라 제1 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 제1 스캔 패턴을 트래버스할 때, 0이 아닌 마지막 제1 변환 계수가 존재하는 제1 종단 계수 포지션의 제1 표시(114)를 데이터 스트림으로 인코딩하고, 제1 종단 계수 포지션으로부터 역방향으로 제1 스캔 패턴에 의해 트래버스되는 변환 계수들의 제1 코딩된 세트를 나타내는 제1 데이터를 데이터 스트림으로 인코딩하며 ― 제1 데이터는 변환 계수들의 제1 코딩된 세트 내의 0이 아닌 변환 계수들의 양자화 레벨들을 포함함 ―, 순방향을 따라 제2 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 제2 스캔 패턴을 트래버스할 때, 0이 아닌 마지막 제2 변환 계수가 존재하는 제2 종단 계수 포지션의 제2 표시(114)를 데이터 스트림으로 인코딩하고, 제2 종단 계수 포지션으로부터 역방향으로 제2 스캔 패턴에 의해 트래버스되는 변환 계수들의 제2 코딩된 세트를 나타내는 제2 데이터를 데이터 스트림으로 인코딩하도록 구성될 수 있으며, 제2 데이터는 변환 계수들의 제2 코딩된 세트 내의 0이 아닌 변환 계수들의 양자화 레벨들을 포함하고, 여기서 제2 표시의 인코딩은 제1 종단 계수 포지션에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는, 제1 변환 계수 블록 및 제2 변환 계수 블록을 각각 획득하도록 제1 색 성분 및 제2 색 성분에 대해 개별적으로 화상의 블록을 변환하고, 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하여 제2 변환 계수 블록을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성될 수 있다.
일 구현에 따르면, 디코더는, 제2 변환 계수 블록이 세분되는 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 디코딩하고, 이 표시가 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 파티션들에 대해서는 제2 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 디코딩하고, 이 표시가 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들 내의 변환 계수들의 디코딩을 스킵하도록 구성될 수 있으며, 여기서 표시의 디코딩은 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 디코더는, 제1 변환 계수 블록이 세분되는 한 세트의 추가 파티션들의 각각의 추가 파티션에 대해, 각각의 추가 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 추가 파티션 내의 변환 계수들의 인코딩이 스킵되고 각각의 추가 파티션 내의 모든 변환 계수들이 0인지 여부의 추가 표시를 디코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 파티션들에 대해서는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 디코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 변환 계수들의 인코딩이 스킵되고 추가 파티션들 내의 모든 변환 계수들이 0임을 나타내는 추가 파티션들 내의 변환 계수들의 디코딩을 스킵하도록 구성될 수 있으며, 여기서 표시의 디코딩은 추가 파티션들의 추가 표시 및/또는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 디코더는, 제2 변환 계수 블록 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 제2 변환 계수 블록 내의 모든 변환 계수들이 0이 되는지 여부의 표시(190)를 디코딩하고, 이 표시가 제2 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타낸다면 제2 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 디코딩하고, 이 표시가 제2 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타낸다면 제2 변환 계수 블록의 변환 계수들의 디코딩을 스킵하도록 구성될 수 있으며, 여기서 표시(190)의 디코딩은 제1 변환 계수 블록에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 디코더는, 제1 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부 또는 제1 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 각각의 추가 파티션 내의 모든 변환 계수들이 0인지 여부의 추가 표시(190)를 디코딩하고, 이 추가 표시가 제1 변환 계수 블록의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타낸다면 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들을 엔트로피 디코딩하고, 이 추가 표시가 각각의 추가 파티션 내의 제1 변환 계수 블록의 변환 계수들의 인코딩이 스킵되고 제1 변환 계수 블록의 모든 변환 계수들이 0임을 나타낸다면 제1 변환 계수 블록의 변환 계수들의 디코딩을 스킵하도록 구성될 수 있으며, 여기서 표시(190)의 디코딩은 추가 표시 및/또는 제1 변환 계수 블록의 변환 계수들의 양자화 레벨들에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 구현에 따르면, 디코더는, 순방향을 따라 제1 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 제1 스캔 패턴을 트래버스할 때, 0이 아닌 마지막 제1 변환 계수가 존재하는 제1 종단 계수 포지션의 제1 표시(114)를 데이터 스트림으로부터 디코딩하고, 제1 종단 계수 포지션으로부터 역방향으로 제1 스캔 패턴에 의해 트래버스되는 변환 계수들의 제1 코딩된 세트를 나타내는 제1 데이터를 데이터 스트림으로부터 디코딩하며 ― 제1 데이터는 변환 계수들의 제1 코딩된 세트 내의 0이 아닌 변환 계수들의 양자화 레벨들을 포함함 ―, 순방향을 따라 제2 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 제2 스캔 패턴을 트래버스할 때, 0이 아닌 마지막 제2 변환 계수가 존재하는 제2 종단 계수 포지션의 제2 표시(114)를 데이터 스트림으로부터 디코딩하고, 제2 종단 계수 포지션으로부터 역방향으로 제2 스캔 패턴에 의해 트래버스되는 변환 계수들의 제2 코딩된 세트를 나타내는 제2 데이터를 데이터 스트림으로부터 디코딩하도록 구성될 수 있으며, 제2 데이터는 변환 계수들의 제2 코딩된 세트 내의 0이 아닌 변환 계수들의 양자화 레벨들을 포함하고, 여기서 제2 표시의 디코딩은 제1 종단 계수 포지션에 의존하는 컨텍스트들을 사용하는 컨텍스트 적응 엔트로피 코딩을 사용하여 수행된다.
추가 실시예에 따르면, 화상(12)을 데이터 스트림(11)으로 인코딩하기 위한 인코더는, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴(94)[또는 스캔 경로]에 의해 제1 종단 계수 포지션(98)으로부터 미리 결정된 방향(102)으로 제2 종단 계수(104)로 트래버스되는 변환 계수들(91)의, 해칭으로 도시된 코딩된 세트(100)를 나타내는 데이터(96)를 데이터 스트림(14)으로 인코딩함으로써 스캔 패턴(94)을 사용하여 변환 계수 블록(92)을 데이터 스트림(14)으로 인코딩(108)하도록 구성될 수 있으며, 데이터(96)는 변환 계수들의 코딩된 세트(100) 내의 [적어도] 0이 아닌 변환 계수들의 양자화 레벨들(106)을 포함하고, 여기서 인코더는 제1 종단 계수 포지션(98)에서 또는 제2 종단 계수 포지션(104)에서 0이 아닌 변환 계수의 양자화 레벨에 대한 제1 세트(110)의 컨텍스트들(112)을 사용하여 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩하도록 구성되며, 제1 세트(110)의 컨텍스트들(112)은 변환 계수들의 코딩된 세트(100) 내의 임의의 0이 아닌 다른 변환 계수에 사용되는 제2 세트(110)의 컨텍스트들(112)과 서로소이다.
일 구현에 따르면, 인코더는 순방향(116)을 따라 스캔 패턴(94)을 트래버스할 때, 0이 아닌 마지막 변환 계수가 존재하는 종단 계수 포지션의 표시(114)를 데이터 스트림(14)으로 인코딩하도록 구성될 수 있으며, 여기서 미리 결정된 방향(102)은 역방향(118)이고, 제1 종단 계수 포지션은 표시(114)에 의해 표시된 종단 계수 포지션이며, 제2 종단 계수 포지션(104)은 역방향(118)으로 스캔 패턴(94)을 따라 가장 늦게 트래버스된 계수 포지션이다.
추가 구현에 따르면, 인코더는 제1 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 제2 종단 계수 포지션에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 제1 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하고, 제2 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트와 서로소인 제3 세트의 컨텍스트들을 사용하도록 구성될 수 있으며, 여기서 제1 세트와 제3 세트는 스캔 패턴을 따라 제1 종단 계수 포지션과 제2 종단 계수 포지션 사이에 있는 변환 계수들의 코딩된 세트에서 0이 아닌 임의의 변환 계수에 사용되는 제2 세트의 컨텍스트들과 서로소이다.
추가 구현에 따르면, 제1 세트는 역방향(118)으로 제1 종단 계수 포지션(98) 직전 그리고 제2 종단 계수 포지션(104) 직후에 스캔 패턴(94)을 따라 트래버스되는 계수 포지션들에서의 0이 아닌 변환 계수들에 사용되는 제2 세트의 컨텍스트들과 서로소일 수 있다.
추가 구현에 따르면, 서로소는 제1 종단 계수 포지션(98)과 독립적일 수 있다.
추가 구현에 따르면, 인코더는 변환 계수 블록(92)의 0이 아닌 다른 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩(116)하고, 변환 계수 블록(92)이 세분되는 파티션들(120)의 각각의 파티션 서브블록에 대해, 제1 세트와 서로소인 한 세트의 컨텍스트들을 사용하도록 구성될 수 있다.
추가 구현에 따르면, 변환 계수 블록이 세분되는 파티션들(120)은, 제2 종단 계수 포지션, 예컨대 DC 포지션을 관통하는 변환 계수 블록(92)의 대각선(122)에 대해 비스듬한 방향을 따라 대각선으로 연장될 수 있다.
추가 실시예에 따르면, 데이터 스트림(11)으로부터 화상(12)을 디코딩하기 위한 디코더는, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴(94)[또는 스캔 경로]에 의해 제1 종단 계수 포지션(98)으로부터 미리 결정된 방향(102)으로 제2 종단 계수(104)로 트래버스되는 변환 계수들(91)의, 해칭으로 도시된 코딩된 세트(100)를 나타내는 데이터(96)를 데이터 스트림(14)으로부터 디코딩함으로써 스캔 패턴(94)을 사용하여 변환 계수 블록(92)을 데이터 스트림(14)으로부터 디코딩하도록 구성될 수 있으며, 데이터(96)는 변환 계수들의 코딩된 세트(100) 내의 [적어도] 0이 아닌 변환 계수들의 양자화 레벨들(106)을 포함하고, 여기서 디코더는 제1 종단 계수 포지션(98)에서 또는 제2 종단 계수 포지션(104)에서 0이 아닌 변환 계수의 양자화 레벨에 대한 제1 세트(110)의 컨텍스트들(112)을 사용하여 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성되며, 제1 세트(110)의 컨텍스트들(112)은 변환 계수들의 코딩된 세트(100) 내의 임의의 0이 아닌 다른 변환 계수에 사용되는 제2 세트(110)의 컨텍스트들(112)과 서로소이다.
일 구현에 따르면, 디코더는 순방향(116)을 따라 스캔 패턴(94)을 트래버스할 때, 0이 아닌 마지막 변환 계수가 존재하는 종단 계수 포지션의 표시(114)를 데이터 스트림(14)으로부터 디코딩하도록 구성될 수 있으며, 여기서 미리 결정된 방향(102)은 역방향(118)이고, 제1 종단 계수 포지션은 표시(114)에 의해 표시된 종단 계수 포지션이며, 제2 종단 계수 포지션(104)은 역방향(118)으로 스캔 패턴(94)을 따라 가장 늦게 트래버스된 계수 포지션이다.
추가 구현에 따르면, 디코더는 제1 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 제2 종단 계수 포지션에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하도록 구성될 수 있다
추가 구현에 따르면, 디코더는 제1 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트의 컨텍스트들을 사용하고, 제2 종단 계수 포지션(98)에서 0이 아닌 변환 계수에 대해 제1 세트와 서로소인 제3 세트의 컨텍스트들을 사용하도록 구성될 수 있으며, 여기서 제1 세트와 제3 세트는 스캔 패턴을 따라 제1 종단 계수 포지션과 제2 종단 계수 포지션 사이에 있는 변환 계수들의 코딩된 세트에서 0이 아닌 임의의 변환 계수에 사용되는 제2 세트의 컨텍스트들과 서로소이다.
추가 구현에 따르면, 제1 세트는 역방향(118)으로 제1 종단 계수 포지션(98) 직전 그리고 제2 종단 계수 포지션(104) 직후에 스캔 패턴(94)을 따라 트래버스되는 계수 포지션들에서의 0이 아닌 변환 계수들에 사용되는 제2 세트의 컨텍스트들과 서로소일 수 있다.
추가 구현에 따르면, 서로소는 제1 종단 계수 포지션(98)과 독립적일 수 있다.
추가 구현에 따르면, 디코더는 변환 계수 블록(92)의 0이 아닌 다른 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩(116)하고, 변환 계수 블록(92)이 세분되는 파티션들(120)의 각각의 파티션 서브블록에 대해, 제1 세트와 서로소인 한 세트의 컨텍스트들을 사용하도록 구성될 수 있다.
추가 구현에 따르면, 변환 계수 블록이 세분되는 파티션들(120)은, 제2 종단 계수 포지션(예컨대 DC 포지션)을 관통하는 변환 계수 블록(92)의 대각선(122)에 대해 비스듬한 방향을 따라 대각선으로 연장될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 결정되는 컨텍스트의 사용에 의해, 현재 인코딩된 변환 계수의 양자화 레벨을 컨텍스트 적응적으로 엔트로피 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는 합에 기초하여 결정된 제1 값과 수에 기초하여 결정된 제2 값 간의 차이를 형성함으로써 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 단항 코드를 수반하는 양자화 레벨의 절대 값의 이진화의 컨텍스트 적응 이진 산술 코딩을 사용하여 양자화 레벨을 엔트로피 인코딩하도록 구성될 수 있으며, 여기서 컨텍스트는 단항 코드의 빈들에 사용된다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 결정되는 컨텍스트의 사용에 의해, 현재 디코딩된 변환 계수의 양자화 레벨을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성될 수 있다.
일 구현에 따르면, 디코더는 합에 기초하여 결정된 제1 값과 수에 기초하여 결정된 제2 값 간의 차이를 형성함으로써 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 단항 코드를 수반하는 양자화 레벨의 절대 값의 이진화의 컨텍스트 적응 이진 산술 코딩을 사용하여 양자화 레벨을 엔트로피 디코딩하도록 구성될 수 있으며, 여기서 컨텍스트는 단항 코드의 빈들에 사용된다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 이진화 파라미터를 사용하여 파라미터화되는 이진화(161)를 사용하여 이진화되는 방식으로, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 현재 인코딩된 변환 계수의 양자화 레벨의 절대 값을 인코딩하여, 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 이진화 파라미터[예컨대 컷오프 값; Exp Golomb order 또는 Rice 파라미터]를 설정함으로써, 변환 계수 블록을 데이터 스트림으로 인코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 이진화 파라미터를 사용하여 파라미터화되는 이진화(161)를 사용하여 이진화되는 방식으로, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 현재 디코딩된 변환 계수의 양자화 레벨의 절대 값을 디코딩하여, 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 이진화 파라미터[예컨대, 컷오프 값; Exp Golomb order 또는 Rice 파라미터]를 설정함으로써, 변환 계수 블록을 데이터 스트림으로부터 디코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 컷오프 값(164) 아래의 단항 코드(160)를 사용하여 그리고 컷오프 값에 대해 단항 코드(160)가 전치된, 컷오프 값 위의 비-단항 코드(162)를 사용하여 이진화되는 방식으로, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨들(106)의 절대 값을 인코딩하여, 이전에 인코딩된 변환 계수들에 따라 변환 계수 블록의 변환 계수들에 대한 컷오프 값을 적응적으로 변화시킴(초기 컷오프 설정 없는 청구항 제41 항 내지 제60 항과 비교)으로써, 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴(94)을 사용하여 변환 계수 블록을 데이터 스트림으로 인코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 컷오프 값(164) 아래의 단항 코드(160)를 사용하여 그리고 컷오프 값에 대해 단항 코드(160)가 전치된, 컷오프 값 위의 비-단항 코드(162)를 사용하여 이진화되는 방식으로, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨들(106)의 절대 값을 디코딩하여, 이전에 디코딩된 변환 계수들에 따라 변환 계수 블록의 변환 계수들에 대한 컷오프 값을 적응적으로 변화시킴(초기 컷오프 설정 없는 청구항 제41 항 내지 제60 항과 비교)으로써, 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴(94)을 사용하여 변환 계수 블록을 데이터 스트림으로부터 디코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는, 컷오프 값(164) 아래의[즉, 컷오프 값 아래의 절대 값들에 대한] 단항 코드(160)를 사용하여 그리고 컷오프 값에 대해 단항 코드(160)가 전치된, 컷오프 값 위의 비-단항 코드(162)를 사용하여 이진화되는 방식으로 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨(106)의 절대 값을 인코딩하여, 블록(84)의 크기, 블록(84)의 색 성분, 예측 신호의 기반이 되는 예측 모드― 예측 신호의 예측 잔차를 블록(84)이 나타냄 ―, 변환 계수 블록(92)의 기반이 되는 변환, 변환 계수 블록(92)을 양자화하는 데 사용되는 양자화 파라미터, 이전에 인코딩된 변환 계수들의 에너지의 측정치, 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된, 또는 현재 인코딩된 변환 계수가 위치되는 현재 파티션에 대해 오프셋되며 미리 결정된 방향(102)으로 스캔 패턴을 따라 변환 계수 블록(92)의 변환 계수들을 트래버스함으로써 정의된 변환 계수 블록의 변환 계수들의 양자화 레벨(106)의 절대 값을 인코딩하는 데 사용되는 코딩 순서에 따라 현재 파티션에 앞서는, 변환 계수 블록의 파티션 내의 포지션들에 위치된 이전에 인코딩된 변환 계수들의 평가 중 하나 이상에 따라 컷오프 값(164)을 [예컨대, 초기에] 설정함으로써, 변환 계수 블록을 데이터 스트림으로 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는 컷오프 값이 미리 결정된 임계치에 이어지는 값으로 초기에 설정된다면[더 미세한 양자화를 의미함] 이전에 인코딩된 변환 계수들에 따라 변환 계수 블록의 변환 계수들에 대한 컷오프 값을 적응적으로 변화시키고, 컷오프 값(164)이 미리 결정된 임계치를 초과하는 값으로 초기에 설정된다면[더 대략적 양자화를 의미함] 컷오프 값(164)을 적어도 예비적으로[예컨대 순서 방향(102)에서 마지막 파티션에 도달할 때까지] 일정하게 유지하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 현재 인코딩된 변환 계수에 대한 컷오프 값을 적응적으로 변경할 수 있다.
추가 구현에 따르면, 인코더는 변환 계수 블록이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관된 한 세트의 컨텍스트들을 사용하여 단항 코드의 하나 이상의 빈들을 컨텍스트 적응적으로 엔트로피 인코딩하도록 구성될 수 있으며, 여기서 인코더는 미리 결정된 파티션 전에 코딩 순서에 의해 트래버스되는 파티션에 위치된 이전에 인코딩된 변환 계수들의 평가에 따른 방식으로 미리 결정된 파티션에 대한 설정을 수행하도록 구성된다.
추가 구현에 따르면, 인코더는 이전에 인코딩된 변환 계수들의 에너지의 측정치가 특정 임계치를 증가시킨다면 단항 코드가 존재하지 않도록 컷오프 값을 0으로 설정하는 것을 포함하는 방식으로 컷오프 값을 적응적으로 변화시키도록 구성될 수 있다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는, 컷오프 값(164) 아래의[즉, 컷오프 값 아래의 절대 값들에 대한] 단항 코드(160)를 사용하여 그리고 컷오프 값에 대해 단항 코드(160)가 전치된, 컷오프 값 위의 비-단항 코드(162)를 사용하여 이진화되는 방식으로 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨(106)의 절대 값을 디코딩하여, 블록(84)의 크기, 블록(84)의 색 성분, 예측 신호의 기반이 되는 예측 모드― 예측 신호의 예측 잔차를 블록(84)이 나타냄 ―, 변환 계수 블록(92)의 기반이 되는 변환, 변환 계수 블록(92)을 양자화하는 데 사용되는 양자화 파라미터, 이전에 디코딩된 변환 계수들의 에너지의 측정치, 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된, 또는 현재 디코딩된 변환 계수가 위치되는 현재 파티션에 대해 오프셋되며 미리 결정된 방향(102)으로 스캔 패턴을 따라 변환 계수 블록(92)의 변환 계수들을 트래버스함으로써 정의된 변환 계수 블록의 변환 계수들의 양자화 레벨(106)의 절대 값을 디코딩하는 데 사용되는 코딩 순서에 따라 현재 파티션에 앞서는, 변환 계수 블록의 파티션 내의 포지션들에 위치된 이전에 디코딩된 변환 계수들의 평가 중 하나 이상에 따라 컷오프 값(164)을 [예컨대, 초기에] 설정함으로써, 변환 계수 블록을 데이터 스트림으로부터 디코딩하도록 구성될 수 있다.
일 구현에 따르면, 디코더는 컷오프 값이 미리 결정된 임계치에 이어지는 값으로 초기에 설정된다면[더 미세한 양자화를 의미함] 이전에 디코딩된 변환 계수들에 따라 변환 계수 블록의 변환 계수들에 대한 컷오프 값을 적응적으로 변화시키고, 컷오프 값(164)이 미리 결정된 임계치를 초과하는 값으로 초기에 설정된다면[더 대략적 양자화를 의미함] 컷오프 값(164)을 적어도 예비적으로[예컨대 순서 방향(102)에서 마지막 파티션에 도달할 때까지] 일정하게 유지하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 및 수에 기초하여 현재 인코딩된 변환 계수에 대한 컷오프 값을 적응적으로 변화시키도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 변환 계수 블록이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관된 한 세트의 컨텍스트들을 사용하여 단항 코드의 하나 이상의 빈들을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성될 수 있으며, 여기서 디코더는 미리 결정된 파티션 전에 코딩 순서에 의해 트래버스되는 파티션에 위치된 이전에 디코딩된 변환 계수들의 평가에 따른 방식으로 미리 결정된 파티션에 대한 설정을 수행하도록 구성된다.
추가 구현에 따르면, 디코더는 이전에 디코딩된 변환 계수들의 에너지의 측정치가 특정 임계치를 증가시킨다면 단항 코드가 존재하지 않도록 컷오프 값을 0으로 설정하는 것을 포함하는 방식으로 컷오프 값을 적응적으로 변화시키도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는, 이전에 인코딩된 변환 계수들에 따라 그리고/또는 블록(84)의 크기, 순방향(116)을 따라 스캔 패턴을 트래버스할 때 0이 아닌 마지막 변환 계수가 존재하는 종단 계수 포지션의 포지션, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 기반이 되는 변환, 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(130)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들에 기초하여, 또는 로컬 템플릿이 비활성화된다면, 이전에 인코딩된 변환 계수들과 독립적으로 결정되는 컨텍스트의 사용 중 하나 이상에 따라, 로컬 템플릿(132)의 형상을 설정하거나 [템플릿 특정 컨텍스트 의존성이 비활성화되도록] 로컬 템플릿(132)을 비활성화함으로써, 변환 계수 블록(92)의 현재 인코딩된 변환 계수의 양자화 레벨을 컨텍스트 적응적으로 엔트로피 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는 이전에 인코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정할 때, 현재 인코딩된 변환 계수에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 이전에 인코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정할 때, 현재 인코딩된 변환 계수에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들에 따라, 로컬 템플릿(132)의 형상이 제1 로컬 원시 템플릿(170)인지 아니면 제2 원시 템플릿(172)인지를 결정하도록 구성될 수 있으며, 여기서 제2 원시 템플릿은 제1 원시 템플릿보다 현재 인코딩된 변환 계수에서 더 멀리 연장되며, 제1 로컬 원시 템플릿에 의해 결정된 포지션들을 포함하거나 포함하지 않는다.
추가 구현에 따르면, 인코더는 현재 인코딩된 변환 계수에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 또는 수에 따라 결정을 수행하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 어떤 임계치보다 더 큰, 변환 계수 블록 내의 이전에 인코딩된 변환 계수들의 카운트, 또는 변환 계수 블록 내의 이전에 인코딩된 변환 계수들에 기초하여 도출된 누산 값이 미리 결정된 양을 초과한다면 로컬 템플릿을 비활성화하고, 그리고/또는 무효인 변환 계수 블록 내의 이전에 인코딩된 변환 계수들의 카운트가 미리 결정된 양을 초과한다면 로컬 템플릿을 비활성화하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들 중 유효 변환 계수들의 합 또는 수에 기초하여 컨텍스트를 결정하도록 구성될 수 있다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는, 이전에 디코딩된 변환 계수들에 따라 그리고/또는 블록(84)의 크기, 순방향(116)을 따라 스캔 패턴을 트래버스할 때 0이 아닌 마지막 변환 계수가 존재하는 종단 계수 포지션의 포지션, 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 기반이 되는 변환, 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(130)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들에 기초하여, 또는 로컬 템플릿이 비활성화된다면, 이전에 디코딩된 변환 계수들과 독립적으로 결정되는 컨텍스트의 사용 중 하나 이상에 따라, 로컬 템플릿(132)의 형상을 설정하거나 [템플릿 특정 컨텍스트 의존성이 비활성화되도록] 로컬 템플릿(132)을 비활성화함으로써, 변환 계수 블록(92)의 현재 디코딩된 변환 계수의 양자화 레벨을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성될 수 있다.
일 구현에 따르면, 디코더는 이전에 디코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정할 때, 현재 디코딩된 변환 계수(130)에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 이전에 디코딩된 변환 계수들에 따라 로컬 템플릿의 형상을 설정할 때, 현재 디코딩된 변환 계수에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들에 따라, 로컬 템플릿(132)의 형상이 제1 로컬 원시 템플릿(170)인지 아니면 제2 원시 템플릿(172)인지를 결정하도록 구성될 수 있으며, 여기서 제2 원시 템플릿은 제1 원시 템플릿보다 현재 디코딩된 변환 계수에서 더 멀리 연장되며, 제1 로컬 원시 템플릿에 의해 결정된 포지션들을 포함하거나 포함하지 않는다.
추가 구현에 따르면, 디코더는 현재 디코딩된 변환 계수에 포지셔닝된 제1 로컬 원시 템플릿(170)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들 중 유효 변환 계수들의 합 또는 수에 따라 결정을 수행하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 어떤 임계치보다 더 큰, 변환 계수 블록 내의 이전에 디코딩된 변환 계수들의 카운트, 또는 변환 계수 블록 내의 이전에 디코딩된 변환 계수들에 기초하여 도출된 누산 값이 미리 결정된 양을 초과한다면 로컬 템플릿을 비활성화하고, 그리고/또는 무효인 변환 계수 블록 내의 이전에 디코딩된 변환 계수들의 카운트가 미리 결정된 양을 초과한다면 로컬 템플릿을 비활성화하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들 중 유효 변환 계수들의 합 또는 수에 기초하여 컨텍스트를 결정하도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩함으로써 변환 계수 블록의 변환 계수(91)를 인코딩하도록 구성될 수 있으며, 여기서 변환 계수 블록이 세분되는 파티션들은, 형상이 다양하고[즉, 서로 일치하지 않음], 그리고/또는 변환 계수 블록의 변환 계수들의 양자화 레벨들의 엔트로피 인코딩이 수행되는[그리고 예컨대, 데이터 스트림에서 시그널링될 수 있거나 본질적으로 결정될 수 있는] 스캔 패턴에 따라 형상화되며, 그리고/또는 블록(84)의 크기에 따라 형상화되고 그리고/또는 명시적 파티션 형상화 정보에 따라 형상화된다.
일 구현에 따르면, 인코더는 다른 파티션들의 변환 계수들을 인터리빙하지 않고 순차적으로 파티션들을 트래버스하는 방식으로 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴을 따름으로써, 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 순차적으로 엔트로피 인코딩하도록 구성될 수 있다.
추가 구현에 따르면, 변환 계수 블록이 세분되는 파티션들은 변환 계수 블록의 DC 변환 계수를 통해 수직 방향에 대해 비스듬한 방향을 따라 대각선으로 연장된다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 디코딩함으로써 변환 계수 블록의 변환 계수(91)를 디코딩하도록 구성될 수 있으며, 여기서 변환 계수 블록이 세분되는 파티션들은, 형상이 다양하고[즉, 서로 일치하지 않음], 그리고/또는 변환 계수 블록의 변환 계수들의 양자화 레벨들의 엔트로피 디코딩이 수행되는[그리고 예컨대, 데이터 스트림에서 시그널링될 수 있거나 본질적으로 결정될 수 있는] 스캔 패턴에 따라 형상화되며, 그리고/또는 블록(84)의 크기에 따라 형상화되고 그리고/또는 명시적 파티션 형상화 정보에 따라 형상화된다.
일 구현에 따르면, 디코더는 다른 파티션들의 변환 계수들을 인터리빙하지 않고 순차적으로 파티션들을 트래버스하는 방식으로 변환 계수 블록의 변환 계수들을 순차적으로 트래버스하는 스캔 패턴을 따름으로써, 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 순차적으로 엔트로피 디코딩하도록 구성될 수 있다.
추가 구현에 따르면, 변환 계수 블록이 세분되는 파티션들은 변환 계수 블록의 DC 변환 계수를 통해 수직 방향에 대해 비스듬한 방향을 따라 대각선으로 연장된다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 인코딩되는지 여부, 또는 각각의 파티션 내의 모든 변환 계수들의 인코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 인코딩하고, 이 표시가 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 각각의 파티션의 모든 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩함으로써, 변환 계수 블록의 변환 계수를 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는 각각의 파티션의 변환 계수들 중 마지막으로 인코딩되는, 각각의 파티션의 마지막 변환 계수에 대해, 각각의 파티션 내의 이전에 인코딩된 변환 계수들 중 임의의 변환 계수가 모두 0인지 여부에 관계없이, 마지막 변환 계수가 0인지 여부를 나타내는 플래그를 엔트로피 인코딩함으로써, 표시가 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는 각각의 파티션에 대해, 각각의 파티션의 모든 변환 계수들의 양자화 레벨들을 엔트로피 인코딩하도록 구성될 수 있다.
추가 구현에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 디코딩되는지 여부, 또는 각각의 파티션 내의 모든 변환 계수들의 디코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 디코딩하고, 이 표시가 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 디코딩됨을 나타내는 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 각각의 파티션의 모든 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩함으로써, 변환 계수 블록의 변환 계수를 디코딩하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 각각의 파티션의 변환 계수들 중 마지막으로 디코딩되는, 각각의 파티션의 마지막 변환 계수에 대해, 각각의 파티션 내의 이전에 디코딩된 변환 계수들 중 임의의 변환 계수가 모두 0인지 여부에 관계없이, 마지막 변환 계수가 0인지 여부를 나타내는 플래그를 엔트로피 디코딩함으로써, 표시가 각각의 파티션 내의 모든 변환 계수들이 데이터 스트림으로 디코딩됨을 나타내는 각각의 파티션에 대해, 각각의 파티션의 모든 변환 계수들의 양자화 레벨들을 엔트로피 디코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 파티셔닝 모드를 데이터 스트림으로 인코딩하고, 파티션 모드가 제1 모드[예컨대, 파티션들(120)로의 파티션이 온 전환]라면, 변환 계수 블록이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩하고, 파티션 모드가 제2 모드[예컨대, 파티션들(120)로의 파티션이 오프 전환]라면, 전역적 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩(→ 청구항 제21 항 내지 제40 항과 같이, 그러나 모드에 좌우되며 서로소는 단지 선택 사항임)함으로써 변환 계수를 인코딩하도록 구성될 수 있다.
일 구현에 따르면, 인코더는 파티션 모드가 제1 모드라면, 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 변환 계수들의 양자화 레벨들이 데이터 스트림으로 인코딩되는지 여부, 또는 각각의 파티션 내의 변환 계수들의 양자화 레벨들의 인코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시를 인코딩하고, 변환 계수들의 양자화 레벨들을 엔트로피 인코딩할 때, 이 표시가 파티션들 내의 변환 계수들의 양자화 레벨들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들에 대한 엔트로피 인코딩을 스킵하도록 구성될 수 있다.
일 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)의 파티셔닝 모드를 데이터 스트림으로부터 디코딩하고, 파티션 모드가 제1 모드[예컨대, 파티션들(120)로의 파티션이 온 전환]라면, 변환 계수 블록이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션과 연관되는 한 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩하고, 파티션 모드가 제2 모드[예컨대, 파티션들(120)로의 파티션이 오프 전환]라면, 전역적 세트의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩(→ 청구항 제21 항 내지 제40 항과 같이, 그러나 모드에 좌우되며 서로소는 단지 선택 사항임; 이를테면, 전체 블록(920에 대해 하나)함으로써 변환 계수를 디코딩하도록 구성될 수 있다.
일 구현에 따르면, 디코더는 파티션 모드가 제1 모드라면, 한 세트의 파티션들의 각각의 파티션에 대해, 각각의 파티션 내의 변환 계수들의 양자화 레벨들이 데이터 스트림으로 디코딩되는지 여부, 또는 각각의 파티션 내의 변환 계수들의 양자화 레벨들의 디코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시를 디코딩하고, 변환 계수들의 양자화 레벨들을 엔트로피 디코딩할 때, 이 표시가 파티션들 내의 변환 계수들의 양자화 레벨들의 디코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들에 대한 엔트로피 디코딩을 스킵하도록 구성될 수 있다.
다른 실시예에 따르면, 화상을 데이터 스트림으로 인코딩하기 위한 인코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 파티션들(120a,b,c)의 각각의 파티션에 대해, 각각의 파티션(120)과 연관되는(126) 한 세트(110a,b,c)의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 인코딩함으로써, 변환 계수 블록의 변환 계수들(91)을 순차적으로 트래버스하는 스캔 패턴(94')을 사용하여 변환 계수 블록을 데이터 스트림(14)으로 인코딩하도록 구성될 수 있으며, 여기서 스캔 패턴(94')은 제1 파티션, 예컨대 120a 또는 120c의 (해칭된 변환 계수들(91')과 같은) 적어도 하나의 변환 계수가 제2 파티션, 예컨대 120b의 2개의 변환 계수들 사이로 트래버스되는 방식으로 변환 계수 블록(92)의 변환 계수들(91)을 순차적으로 트래버스한다.
일 구현에 따르면, 인코더는 한 세트의 컨텍스트들이 제1 파티션 및 제2 파티션, 예컨대 120a 또는 120c와 공통적으로 연관되도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩할 때, 현재 인코딩된 변환 계수(130)에 대해, 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들에 기초하여, 한 세트(110)의 컨텍스트들(112) 중 현재 인코딩된 변환 계수가 위치되는 파티션, 예컨대 120a와 연관된 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 인코딩할 때, 현재 인코딩된 변환 계수가 위치되는 파티션 내에 포지션들이 있는지 여부에 관계없이, 현재 인코딩된 변환 계수에 대해, 현재 인코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 인코딩된 변환 계수들, 및/또는 현재 인코딩된 변환 계수(130)가 위치되는 파티션, 예컨대, 120a 내에 위치되며, 하나 이상의 특정 임계치들을 초과하는, 이전에 인코딩된 변환 계수들, 예컨대 해칭된 변환 계수들(140)의 카운트(예시적인 도면에서는 예시적으로 4)에 기초하여, 한 세트의 컨텍스트들 중 현재 인코딩된 변환 계수가 위치되는 파티션과 연관된 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는, 변환 계수 블록(92)이 세분되는 한 세트의 파티션들의 각각의 파티션(120a,b,c)에 대해, 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩되는지 여부, 또는 각각의 파티션 내의 변환 계수들의 인코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 인코딩하고, 변환 계수들의 양자화 레벨들을 엔트로피 인코딩할 때, 이 표시가 파티션들 내의 변환 계수들의 인코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들에 대한 엔트로피 인코딩을 스킵하도록 구성될 수 있다.
추가 구현에 따르면, 인코더는 표시(150)가 관련되는 파티션 내의 처음 직면하는 변환 계수 대신[이 예에서 CBF2와 같이 CBF가 0인 경우], 또는 그 앞에서[이 예에서 CBF3와 같이 CBF가 1인 경우], 표시가 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 인코딩됨을 나타내는, 예컨대 1201 및 1203에 대한 파티션들 내의 변환 계수들의 양자화 레벨들 사이에 데이터 스트림으로 표시를 인코딩하도록 구성될 수 있다.
다른 실시예에 따르면, 데이터 스트림으로부터 화상을 디코딩하기 위한 디코더는 화상(12)의 블록(84)을 나타내는 변환 계수 블록(92)이 세분되는 파티션들의 각각의 파티션에 대해, 각각의 파티션(120)과 연관되는(126) 한 세트(110a,b,c)의 컨텍스트들을 사용하여 변환 계수 블록의 변환 계수들의 양자화 레벨들(106)을 컨텍스트 적응적으로 엔트로피 디코딩함으로써, 변환 계수 블록의 변환 계수들(91)을 순차적으로 트래버스하는 스캔 패턴(94')을 사용하여 변환 계수 블록을 데이터 스트림(14)으로부터 디코딩하도록 구성될 수 있으며, 여기서 스캔 패턴(94')은 제1 파티션의 (해칭된 변환 계수들(91')과 같은) 적어도 하나의 변환 계수가 제2 파티션의 2개의 변환 계수들 사이로 트래버스되는 방식으로 변환 계수 블록(92)의 변환 계수들(91)을 순차적으로 트래버스한다.
일 구현에 따르면, 디코더는 한 세트의 컨텍스트들이 제1 파티션 및 제2 파티션, 예컨대 120a 또는 120c와 공통적으로 연관되도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 변환 계수 블록(92)의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩할 때, 현재 인코딩된 변환 계수(130)에 대해, 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들에 위치된 하나 이상의 이전에 디코딩된 변환 계수들에 기초하여, 한 세트(110)의 컨텍스트들(112) 중 현재 인코딩된 변환 계수가 위치되는 파티션, 예컨대 120a와 연관된 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 변환 계수 블록의 변환 계수들의 양자화 레벨들을 컨텍스트 적응적으로 엔트로피 디코딩할 때, 현재 디코딩된 변환 계수가 위치되는 파티션 내에 포지션들이 있는지 여부에 관계없이, 현재 디코딩된 변환 계수에 대해, 현재 디코딩된 변환 계수에 포지셔닝된 로컬 템플릿(132)에 의해 결정된 포지션들, 및/또는 현재 디코딩된 변환 계수(130)가 위치되는 파티션, 예컨대, 120a 내에 위치되며, 하나 이상의 특정 임계치들을 초과하는, 이전에 디코딩된 변환 계수들, 예컨대 해칭된 변환 계수들(140)의 카운트(예시적인 도면에서는 예시적으로 4)에 위치된 하나 이상의 이전에 디코딩된 변환 계수들에 기초하여, 한 세트의 컨텍스트들 중 현재 디코딩된 변환 계수가 위치되는 파티션과 연관된 컨텍스트를 결정하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는, 변환 계수 블록(92)이 세분되는 한 세트의 파티션들의 각각의 파티션(120a,b,c)에 대해, 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 디코딩되는지 여부, 또는 각각의 파티션 내의 변환 계수들의 디코딩이 스킵되고 각각의 파티션 내의 모든 변환 계수들이 0인지 여부의 표시(150)를 디코딩하고, 변환 계수들의 양자화 레벨들을 엔트로피 디코딩할 때, 이 표시가 파티션들 내의 변환 계수들의 디코딩이 스킵되고 파티션들 내의 모든 변환 계수들이 0임을 나타내는 파티션들에 대한 엔트로피 디코딩을 스킵하도록 구성될 수 있다.
추가 구현에 따르면, 디코더는 표시(150)가 관련되는 파티션 내의 처음 직면하는 변환 계수 대신[이 예에서 CBF2와 같이 CBF가 0인 경우], 또는 그 앞에서[이 예에서 CBF3와 같이 CBF가 1인 경우], 표시가 각각의 파티션 내의 변환 계수들이 데이터 스트림으로 디코딩됨을 나타내는, 예컨대 1201 및 1203에 대한 파티션들 내의 변환 계수들의 양자화 레벨들 사이에 데이터 스트림으로부터 표시를 디코딩하도록 구성될 수 있다.
일부 양상들은 장치와 관련하여 설명되었지만, 이러한 양상들은 또한 대응하기 위한 방법의 설명을 나타내며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다는 점이 명백하다. 비슷하게, 방법 단계와 관련하여 설명한 양상들은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계들의 일부 또는 전부가 예를 들어, 마이크로프로세서, 프로그래밍 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 하나 또는 그보다 많은 단계가 이러한 장치에 의해 실행될 수 있다.
본 발명의 인코딩된 데이터 스트림은 디지털 저장 매체 상에 저장될 수 있고 또는 송신 매체, 예컨대 무선 송신 매체 또는 유선 송신 매체, 예컨대 인터넷을 통해 송신될 수 있다.
특정 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어로 또는 소프트웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그래밍 가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는) 전자적으로 판독 가능 제어 신호들이 저장된 디지털 저장 매체, 예를 들어 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 수행될 수 있다. 따라서 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시예들은 본 명세서에서 설명한 방법들 중 하나가 수행되도록, 프로그래밍 가능 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능 제어 신호들을 갖는 데이터 반송파를 포함한다.
일반적으로, 본 발명의 실시예들은 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때, 방법들 중 하나를 수행하기 위해 작동하는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예를 들어, 기계 판독 가능 반송파 상에 저장될 수 있다.
다른 실시예들은 기계 판독 가능 반송파 상에 저장된, 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 한 실시예는 이에 따라, 컴퓨터 상에서 컴퓨터 프로그램이 실행될 때 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서 본 발명의 방법들의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하여 그 위에 기록된 데이터 반송파(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)이다. 데이터 반송파, 디지털 저장 매체 또는 레코딩된 매체는 통상적으로 유형적이고 그리고/또는 비-일시적이다.
따라서 본 발명의 방법의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 신호들의 데이터 스트림 또는 시퀀스이다. 신호들의 데이터 스트림 또는 시퀀스는 예를 들어, 데이터 통신 접속을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 처리 수단, 예를 들어 본 명세서에서 설명한 방법들 중 하나를 수행하도록 구성 또는 적응된 컴퓨터 또는 프로그래밍 가능 로직 디바이스를 포함한다.
추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에(예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예들에서, 프로그래밍 가능 로직 디바이스(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에서 설명한 방법들의 기능들 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍 가능 게이트 어레이는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에서 설명한 장치는 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 결합을 사용하여 구현될 수 있다.
본 명세서에서 설명된 장치 또는 본 명세서에서 설명된 장치의 임의의 컴포넌트들은 적어도 부분적으로는 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
본 명세서에서 설명한 방법들은 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 결합을 사용하여 수행될 수 있다.
본 명세서에서 설명한 방법들 또는 본 명세서에서 설명한 장치의 임의의 컴포넌트들은 적어도 부분적으로는 하드웨어에 의해 그리고/또는 소프트웨어에 의해 수행될 수 있다.
앞서 설명한 실시예들은 단지 본 발명의 원리들에 대한 예시일 뿐이다. 본 명세서에서 설명한 배열들 및 세부사항들의 수정들 및 변형들이 다른 당업자들에게 명백할 것이라고 이해된다. 따라서 이는 본 명세서의 실시예들의 묘사 및 설명에 의해 제시된 특정 세부사항들로가 아닌, 첨부된 특허청구범위로만 한정되는 것을 취지로 한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 비디오 인코더로서,
    상기 적어도 하나의 프로세서는,
    변환 계수들의 양자화 레벨들의 절대 값을 인코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 인코딩하고―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 또한
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 인코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 인코딩하는 중에 0으로 감소시키도록 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 인코더.
  2. 제1 항에 있어서,
    상기 적어도 하나의 프로세서는
    컨텍스트 적응적 엔트로피 인코딩을 사용하여 상기 제1 부분의 빈들을 인코딩하고 등확률(equi-probability) 바이패스 모드를 사용하여 상기 제2 부분의 빈들을 인코딩하며; 또한
    상기 변환 블록 내의 컨텍스트 적응적 엔트로피 인코딩을 사용하여 이전에 인코딩된 상기 제1 부분의 빈들의 수에 따라 현재 변환 계수에 대한 상기 컷 오프 값을 설정하도록
    더 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 인코더.
  3. 적어도 하나의 프로세서를 포함하는 비디오 디코더로서,
    상기 적어도 하나의 프로세서는,
    변환 계수들의 양자화 레벨들의 절대 값을 디코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 디코딩하고―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 또한
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 디코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 디코딩하는 중에 0으로 감소시키도록 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  4. 제3 항에 있어서,
    적어도 하나의 프로세서는,
    컨텍스트 적응적 엔트로피 디코딩을 사용하여 상기 제1 부분을 디코딩하고; 또한
    등확률 바이패스 모드를 사용하여 상기 제2 부분을 디코딩하도록 더 구성되며,
    상기 제2 부분은 이진화 파라미터에 의해 이진화되고, 상기 제2 부분은 전치 부분(prefix part) 및 후치 부분(suffix part)을 포함하고, 상기 이진화 파라미터는 상기 전치 부분의 길이를 결정하는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  5. 제4 항에 있어서,
    상기 이진화 파라미터는 Exp-Golomb 차수 또는 Rice 파라미터인,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  6. 제4 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 이진화 파라미터 상에 하나 이상의 이전에 디코딩된 변환 계수들을 양자화 레벨들의 절대 값들의 합을 매핑하여 룩업 테이블을 사용하여 상기 이진화 파라미터를 설정하도록 더 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  7. 제4 항에 있어서,
    상기 적어도 하나의 프로세서는
    현재 변환 계수에 대해서, 상기 현재 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치한 하나 이상의 이전에 디코딩된 변환 계수들에 기반하여 상기 이진화 파라미터를 설정하도록 더 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  8. 제3 항에 있어서,
    상기 적어도 하나의 프로세서는,
    컨텍스트 적응적 엔트로피 디코딩을 사용하여 상기 제1 부분의 빈들을 디코딩하고 또한 등확률 바이패스 모드를 사용하여 상기 제2 부분의 빈들을 디코딩하고; 또한
    상기 변환 블록 내의 컨텍스트 적응적 엔트로피 디코딩을 사용하여 이전에 디코딩된 상기 제1 부분의 빈들의 수에 따라서 현재 변환 계수에 대한 상기 컷 오프 값을 설정하도록 더 구성되는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  9. 제3 항에 있어서,
    상기 제1 부분의 제1 빈은 변환 계수의 양자화 레벨의 절대 값이 유효한지, 즉 0이 아닌지 여부를 나타내고, 제1 부분의 빈 순서에서의 제2 빈이 상기 변환 계수의 상기 양자화 레벨의 상기 절대 값이 1을 초과하는지 여부를 나타내고, 제1 부분의 빈 순서에서의 제3 빈이 상기 변환 계수의 상기 절대 값이 홀수인지 짝수인지 여부를 나타내고, 또한 상기 제1 부분의 제4 빈이 상기 변환 계수가 3을 초과하는지 여부를 나타내는,
    적어도 하나의 프로세서를 포함하는 비디오 디코더.
  10. 비디오 인코딩 방법에 있어서,
    상기 방법은
    변환 계수들의 양자화 레벨들의 절대 값을 인코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 인코딩하는 단계―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 및
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 인코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 인코딩하는 중에 0으로 감소시키는 단계를 포함하는,
    비디오 인코딩 방법.
  11. 비디오 디코딩 방법에 있어서,
    상기 방법은
    변환 계수들의 양자화 레벨들의 절대 값을 디코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 디코딩하는 단계―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 및
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 디코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 디코딩하는 중에 0으로 감소시키는 단계를 포함하는,
    비디오 디코딩 방법.
  12. 제11 항에 있어서,
    상기 방법은
    컨텍스트 적응적 엔트로피 디코딩을 사용하여 상기 제1 부분을 디코딩하는 단계; 및
    등확률 바이패스 모드를 사용하여 상기 제2 부분을 디코딩하는 단계를 더 포함하고,
    상기 제2 부분은 이진화 파라미터에 의해 이진화되고, 상기 제2 부분은 전치 부분(prefix part) 및 후치 부분(suffix part)을 포함하고, 상기 이진화 파라미터는 상기 전치 부분의 길이를 결정하는,
    비디오 디코딩 방법.
  13. 제12 항에 있어서,
    상기 이진화 파라미터는 Exp-Golomb 차수 또는 Rice 파라미터인,
    비디오 디코딩 방법.
  14. 제12 항에 있어서,
    상기 방법은 상기 적어도 하나의 프로세서는 상기 이진화 파라미터 상에 하나 이상의 이전에 디코딩된 변환 계수들을 양자화 레벨들의 절대 값들의 합을 매핑하여 룩업 테이블을 사용하여 상기 이진화 파라미터를 설정하는 단계를 더 포함하는,
    비디오 디코딩 방법.
  15. 제12 항에 있어서,
    상기 방법은 현재 변환 계수에 대해서, 상기 현재 변환 계수에 포지셔닝된 로컬 템플릿에 의해 결정된 포지션들에 위치한 하나 이상의 이전에 디코딩된 변환 계수들에 기반하여 상기 이진화 파라미터를 설정하는 단계를 더 포함하는,
    비디오 디코딩 방법.
  16. 제11 항에 있어서,
    상기 방법은
    컨텍스트 적응적 엔트로피 디코딩을 사용하여 상기 제1 부분의 빈들을 디코딩하고 또한 등확률 바이패스 모드를 사용하여 상기 제2 부분의 빈들을 디코딩하는 단계; 및
    상기 변환 블록 내의 컨텍스트 적응적 엔트로피 디코딩을 사용하여 이전에 디코딩된 상기 제1 부분의 빈들의 수에 따라서 현재 디코딩된 변환 계수에 대한 상기 컷 오프 값을 설정하는 단계를 더 포함하는,
    비디오 디코딩 방법.
  17. 제11 항에 있어서,
    상기 제1 부분의 제1 빈은 변환 계수의 양자화 레벨의 절대 값이 유효한지, 즉 0이 아닌지 여부를 나타내고, 제1 부분의 빈 순서에서의 제2 빈이 상기 변환 계수의 상기 양자화 레벨의 상기 절대 값이 1을 초과하는지 여부를 나타내고, 제1 부분의 빈 순서에서의 제3 빈이 상기 변환 계수의 상기 절대 값이 홀수인지 짝수인지 여부를 나타내고, 또한 상기 제1 부분의 제4 빈이 상기 변환 계수가 3을 초과하는지 여부를 나타내는,
    비디오 디코딩 방법.
  18. 컴퓨터 프로그램이 저장된 비-일시적 디지털 저장 매체에 있어서,
    상기 컴퓨터 프로그램은
    변환 계수들의 양자화 레벨들의 절대 값을 인코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 인코딩하는 단계―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 및
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 인코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 인코딩하는 중에 0으로 감소시키는 단계를
    수행하기 위한 명령을 포함하는,
    컴퓨터 프로그램이 저장된 비-일시적 디지털 저장 매체.
  19. 컴퓨터 프로그램이 저장된 비-일시적 디지털 저장 매체에 있어서,
    상기 컴퓨터 프로그램은
    변환 계수들의 양자화 레벨들의 절대 값을 디코딩하여 변환 블록의 상기 변환 계수들을 순차적으로 트래버스(traverse)하는 스캔 패턴을 사용하여 픽처의 블록을 나타내는 변환 블록의 변환 계수를 데이터 스트림 내로 디코딩하는 단계―상기 절대 값은 초기에 컷 오프 값 미만의 절대 값에 대한 제1 부분을 포함하고 또한 초기에 상기 제1 부분을 포함하고 추가적으로 상기 컷 오프 값을 초과하는 절대 값에 대한 제2 부분을 포함하는 이진화와 함께 이진화됨―; 및
    상기 이진화가 상기 제1 부분이 아닌 상기 제2 부분을 포함하도록, 이전에 디코딩된 변환 계수들에 기반하여, 적응적으로, 상기 컷 오프 값을 상기 변환 계수들을 디코딩하는 중에 0으로 감소시키는 단계를
    수행하기 위한 명령을 포함하는,
    컴퓨터 프로그램이 저장된 비-일시적 디지털 저장 매체.
  20. 제19 항에 있어서,
    상기 컴퓨터 프로그램은
    컨텍스트 적응적 엔트로피 디코딩을 사용하여 상기 제1 부분의 빈들을 디코딩하고 또한 등확률 바이패스 모드를 사용하여 상기 제2 부분의 빈들을 디코딩하는 단계; 및
    상기 변환 블록 내의 컨텍스트 적응적 엔트로피 디코딩을 사용하여 이전에 디코딩된 상기 제1 부분의 빈들의 수에 따라서 현재 변환 계수에 대한 상기 컷 오프 값을 설정하는 단계를
    수행하기 위한 명령을 더 포함하는,
    컴퓨터 프로그램이 저장된 비-일시적 디지털 저장 매체.
KR1020247004282A 2018-03-29 2019-03-28 변환 계수 블록 코딩 KR20240023238A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP18165247.0 2018-03-29
EP18165247 2018-03-29
PCT/EP2019/057895 WO2019185818A1 (en) 2018-03-29 2019-03-28 Transform coefficient block coding
KR1020237013644A KR102636388B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020237013644A Division KR102636388B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩

Publications (1)

Publication Number Publication Date
KR20240023238A true KR20240023238A (ko) 2024-02-20

Family

ID=61899061

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020237013644A KR102636388B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩
KR1020207031269A KR102527184B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩
KR1020247004282A KR20240023238A (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020237013644A KR102636388B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩
KR1020207031269A KR102527184B1 (ko) 2018-03-29 2019-03-28 변환 계수 블록 코딩

Country Status (7)

Country Link
US (4) US11611748B2 (ko)
EP (1) EP3777156A1 (ko)
JP (1) JP7219775B2 (ko)
KR (3) KR102636388B1 (ko)
CN (2) CN112204972B (ko)
TW (2) TWI822131B (ko)
WO (1) WO2019185818A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112022005040A2 (pt) * 2019-09-21 2022-06-21 Lg Electronics Inc Método de codificação de imagem baseado em transformada e dispositivo para o mesmo
KR20220134632A (ko) * 2020-02-27 2022-10-05 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
KR20220137935A (ko) * 2020-02-27 2022-10-12 엘지전자 주식회사 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
CN113873244B (zh) * 2020-06-30 2023-10-20 华为技术有限公司 一种系数编解码方法和系数编解码装置
WO2022174477A1 (zh) * 2021-02-22 2022-08-25 浙江大学 一种编码方法、解码方法、编码器、解码器以及存储介质
US11936899B2 (en) * 2021-03-12 2024-03-19 Lemon Inc. Methods and systems for motion candidate derivation
WO2022217417A1 (zh) * 2021-04-12 2022-10-20 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质
US20220400275A1 (en) * 2021-06-10 2022-12-15 Tencent America LLC Zero Residual Flag Coding
US20230035118A1 (en) * 2021-07-23 2023-02-02 Tencent America LLC Cross component end of block flag coding

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
ATE343302T1 (de) 2002-05-02 2006-11-15 Fraunhofer Ges Forschung Kodierung und dekodierung von transformationskoeffizienten in bild- oder videokodierern
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US20060008009A1 (en) 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
AU2006201490B2 (en) * 2005-04-19 2008-05-22 Samsung Electronics Co., Ltd. Method and apparatus for adaptively selecting context model for entropy coding
US20100040136A1 (en) * 2008-08-13 2010-02-18 Horizon Semiconductors Ltd. Method for performing binarization using a lookup table
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
CN107835431B (zh) * 2011-06-28 2021-05-25 三星电子株式会社 对视频编码的方法和设备以及对视频解码的方法和设备
US9237358B2 (en) 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
US9357185B2 (en) 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding
KR101568920B1 (ko) * 2012-01-12 2015-11-12 미디어텍 인크. 유효성 맵 컨텍스트 선택의 단일화를 위한 방법 및 장치
AU2013211004B2 (en) * 2012-01-20 2016-03-17 Ge Video Compression, Llc Transform coefficient coding
US9462275B2 (en) * 2012-01-30 2016-10-04 Qualcomm Incorporated Residual quad tree (RQT) coding for video coding
WO2013116874A1 (en) 2012-02-05 2013-08-08 General Instrument Corporation Method of determining binary codewords for transform coefficients
US20130258052A1 (en) 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US9230340B2 (en) * 2012-05-04 2016-01-05 Semiconductor Components Industries, Llc Imaging systems with programmable fixed rate codecs
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US20140003530A1 (en) * 2012-06-28 2014-01-02 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US9591315B2 (en) * 2012-10-01 2017-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Coding and decoding of transform skipped blocks
US20140225912A1 (en) * 2013-02-11 2014-08-14 Qualcomm Mems Technologies, Inc. Reduced metamerism spectral color processing for multi-primary display devices
US9503760B2 (en) * 2013-08-15 2016-11-22 Mediatek Inc. Method and system for symbol binarization and de-binarization
US9930348B2 (en) 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
KR101619763B1 (ko) 2014-03-25 2016-05-11 주식회사 엔바이오니아 양전하가 부가된 2층 구조의 다공성 필터미디어의 제조 방법
AU2014202682A1 (en) * 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
US20160044339A1 (en) * 2014-08-07 2016-02-11 Qualcomm Incorporated System and method for reordering of prefixes and suffixes in variable length coding to increase throughput
US10178395B2 (en) * 2014-09-30 2019-01-08 Qualcomm Incorporated Explicit signaling of escape sample positions in palette coding mode for video coding
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10616604B2 (en) 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
US10200701B2 (en) * 2015-10-14 2019-02-05 Qualcomm Incorporated HDR and WCG coding architecture with SDR backwards compatibility in a single bitstream for video coding
CN117412035A (zh) * 2016-08-31 2024-01-16 株式会社Kt 用于处理视频信号的方法和设备
US10440394B2 (en) * 2016-09-08 2019-10-08 Google Llc Context adaptive scan order for entropy coding
KR20180089290A (ko) * 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
US11405645B2 (en) 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
US10779007B2 (en) * 2017-03-23 2020-09-15 Mediatek Inc. Transform coding of video data
US10743032B2 (en) * 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10687062B1 (en) * 2019-02-22 2020-06-16 Google Llc Compression across multiple images

Also Published As

Publication number Publication date
KR102527184B1 (ko) 2023-05-03
US11601648B2 (en) 2023-03-07
TWI822131B (zh) 2023-11-11
CN112204972A (zh) 2021-01-08
KR20200138794A (ko) 2020-12-10
TW202306385A (zh) 2023-02-01
JP2021519549A (ja) 2021-08-10
CN117119195A (zh) 2023-11-24
EP3777156A1 (en) 2021-02-17
US20240048705A1 (en) 2024-02-08
US11611748B2 (en) 2023-03-21
JP7219775B2 (ja) 2023-02-08
US20210029359A1 (en) 2021-01-28
KR20230062653A (ko) 2023-05-09
CN112204972B (zh) 2023-09-05
TWI771576B (zh) 2022-07-21
TW201946461A (zh) 2019-12-01
WO2019185818A1 (en) 2019-10-03
KR102636388B1 (ko) 2024-02-15
US20230188718A1 (en) 2023-06-15
US20210029360A1 (en) 2021-01-28
US11825091B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
KR102636388B1 (ko) 변환 계수 블록 코딩
KR102543505B1 (ko) 종속 양자화
JP6700341B2 (ja) データストリームにおいて符号化された変換係数ブロックを復号する装置および方法、ならびにビデオに関連するデータを記憶するための非一時コンピュータ可読媒体

Legal Events

Date Code Title Description
A107 Divisional application of patent