KR20180021879A - 디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들 - Google Patents

디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들 Download PDF

Info

Publication number
KR20180021879A
KR20180021879A KR1020187002783A KR20187002783A KR20180021879A KR 20180021879 A KR20180021879 A KR 20180021879A KR 1020187002783 A KR1020187002783 A KR 1020187002783A KR 20187002783 A KR20187002783 A KR 20187002783A KR 20180021879 A KR20180021879 A KR 20180021879A
Authority
KR
South Korea
Prior art keywords
block
transform
list
current block
encoding
Prior art date
Application number
KR1020187002783A
Other languages
English (en)
Other versions
KR102684586B1 (ko
Inventor
피에릭 필립
Original Assignee
비<>컴
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비<>컴, 오렌지 filed Critical 비<>컴
Publication of KR20180021879A publication Critical patent/KR20180021879A/ko
Application granted granted Critical
Publication of KR102684586B1 publication Critical patent/KR102684586B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

디지털 이미지를 인코딩하기 위한 방법이 본원에 개시되는데, 상기 이미지(IK)는 정의된 순서로 프로세싱된 픽셀들의 복수의 블록들로 분할되고, 상기 방법은 사전설정된 사이즈들을 갖는 현재 블록에 대해 구현되는 이하의 단계들:
- 복수의 사전설정된 모드들로부터 선택된 예측 모드에서 사전에 프로세싱된 적어도 하나의 블록으로부터 현재 블록 값들을 예측하는 단계(T1),
- 예측된 값들을 상기 현재 블록의 오리지널 값들로부터 감산함으로써 잔차 블록(R)을 계산하는 단계(T2),
- 잔차 블록의 픽셀들에 변환을 적용함으로써 변환된 잔차 블록(RT)을 획득하는 단계(T3) ― 상기 변환된 잔차 블록은 계수들을 포함하고, 변환은 변환들의 사전설정된 리스트의 일부임 ―; 및
- 변환된 잔차 블록을 인코딩하는 단계(T9)를 포함한다.
본 발명에 따르면, 방법은, 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 단계(T6), 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터를 결정하는 단계(T7), 및 현재 블록에 적용된 변환이 초기 데이터에 의해 식별된 서브-리스트의 일부임을 검증하는 단계를 포함한다.

Description

디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들
본 발명의 분야는, 신호의 압축, 특히 픽셀들의 블록들로 분할되는 디지털 이미지 또는 디지털 이미지들의 시퀀스의 압축에 대한 것이다.
더욱 구체적으로, 본 발명은 변환(transform)들의 경쟁의 맥락에서 픽셀들의 블록에 적용되는 변환의 리포팅에 관한 것이다.
디지털 이미지들의 인코딩/디코딩은, 특히 적어도 하나의 비디오 시퀀스로부터의 이미지들에 적용된다.
- 동일한 카메라로부터의 그리고 일시적으로 서로 연속하는 이미지들(타입-2D 인코딩/디코딩),
- 상이한 뷰들(3D-타입 인코딩/디코딩)에 따라 배향된 상이한 카메라들로부터의 이미지들,
- 대응하는 텍스쳐 및 깊이(3D-타입 인코딩/디코딩)의 컴포넌트들,
- 등.
본 발명은 이미지들의 2D- 또는 3D-타입 인코딩/디코딩과 유사한 방식으로 적용된다.
본 발명은 특히, 현재의 AVC 및 HEVC 비디오 인코더들 및 그들의 확장들(MVC, 3D-AVC, MV-HEVC, 3D-HEVC 등)에서 구현되는 비디오 인코딩 및 대응하는 디코딩에 적용될 수 있지만, 배타적인 것은 아니다.
디지털 이미지가 픽셀들의 블록들로 분할되는 디지털 이미지의 종래의 압축 방식이 고려된다. 초기 코딩 유닛을 구성하는, 인코딩될 현재 블록은 일반적으로, 사전설정된 절단 모드(preset cutting mode)에 따라 가변 개수의 서브-블록들로 분할된다.
도 1과 관련하여, 우리는 디지털 이미지들(I1, I2, IK)의 시퀀스를 고려하는데, 여기서 K는 0이 아닌 정수이다. 이미지 IK는 2013년 11월에 발행된 International Organization for Standardization의 문헌 “ISO/IEC 23008-2:2013 - 이종 환경들에서 고효율 코딩 및 미디어 전달 - 파트 2: 고효율 비디오 코딩”에 특정된 것과 같은 HEVC 표준의 용어의 초기 인코딩 유닛들 또는 CTU(Coding Tree Unit)들로 절단된다. 통상적으로, 표준 인코더들은 고정된 사이즈를 갖는 CU(Coding Unit)들로 지칭되는 정사각형 또는 직사각형 블록들에 기반하여 규칙적인 파티셔닝을 제안한다. 파티셔닝은 항상 초기의 파티셔닝되지 않은 인코딩 유닛(initial, unpartitioned encoding unit)으로 수행되며, 최종 파티셔닝은 이러한 중성 베이스(neutral base)로부터 계산되고 리포팅된다.
각각의 CU에는, 예측, 잔차 계산(residue calculation), 변환작업(transformation), 양자화 및 엔트로피 인코딩을 완전하지 않은 방식으로 포함하는, 동작들의 시퀀스로 구성되는 인코딩 또는 디코딩 동작이 수행된다. 이러한 동작들의 시퀀스는 종래 기술로부터 알려져 있고 그리고 도 2와 관련하여 제시된다.
프로세싱될 제1 블록 CTU는 현재 블록 c로 선택된다. 예컨대, 이것은 (사전식 순서로) 제1 블록이다. 이 블록은 NxN 픽셀들을 가지며, 여기서 N은 0이 아닌 정수, 예컨대, HEVC 표준에 따라 64와 동일하다.
단계 E1 동안, 오리지널 블록 b의 예측 Pr이 결정된다. 이것은, 알려진 수단에 의해, 통상적으로는 모션 보상(사전에 디코딩된 기준 이미지로부터 기원하는 블록)에 의해 또는 인트라 예측(ID 이미지에서 현재 블록에 바로 인접하는 디코딩된 픽셀들로부터 구성된 블록)에 의해 구성되는 예측 블록이다. PR에 관련된 예측 정보는 비트스트림 TB 또는 압축된 파일 CF에 인코딩된다. 여기서, P개의 가능한 예측 모드들(m1, m2, ..., mp)이 존재하는 것으로 가정하며, 여기서 P는 0이 아닌 정수이다. 예컨대, 현재 블록 c에 대해 선택된 예측 모드는 모드 mp이다. 몇몇 예측 모드들은 인트라(Intra) 타입 예측과 연관되며, 다른 것들은 인터(INTER) 타입 예측과 연관된다.
단계 E2 동안, 오리지널 잔차 R은 현재 블록 c에서 현재 블록 c의 예측 Pr을 감산함으로써 형성된다(R = c-Pr).
E3에서, 획득된 잔차 R에 대해 적용되는 변환이 식별된다.
변환작업 단계는 이러한 비디오 코딩 방식에서 중요한 역할을 하는데: 사실상 이 단계는 양자화 동작 이전에 정보를 집중시킨다. 그 결과는, 동일한 정보를 나타내는 작은 수의 0이 아닌 주파수 계수들로 표현되는 인코딩 이전에 일 세트의 잔차 픽셀들이다. 따라서, 많은 수의 인자들을 송신하는 대신, 픽셀들의 블록을 충실하게 재구성하는 데에는 단지 적은 수의 인자들만이 필요하게 될 것이다.
이미지 및 비디오 코딩시에, 직교(orthogonal) 또는 준-직교(quasi-orthogonal)(4x4, 8x8 등) 블록 변환들이 일반적으로 사용된다. 대부분 사용되는 변환들은 코사인 베이스들에 기반한다. 이에 따라, DCT는 이미지 및 비디오에 대한 대부분의 표준들에 존재한다. 최근에, HEVC 표준은 또한 4x4 블록들의 경우 특정 잔차들의 인코딩을 위해 DST(Discrete Sine Transform)를 도입했다.
사실상, 이러한 변환들의 근사치들이 사용되며, 계산들은 정수로 수행된다. 일반적으로, 변환들의 베이스들은 주어진 정밀도(일반적으로 8 비트들)에서 가장 가까운 정수로 근사화된다.
일 예로서, 4x4 사이즈 블록들에 대해 HEVC 표준에 의해 사용되는 변환들은 도 3a 및 도 3b와 관련하여 제시된다: 이들은 DCT 및 DST 변환들이다. 이 테이블에 제시되는 값들은 준-직교 변환작업들을 구하기 위해 128로 나누어진다.
더욱 최근에, 변환 경쟁의 개념이 도입되었다. 주어진 블록 사이즈 및 주어진 예측 모드에 대해, 인코더는 T개의 변환들 사이에서 선택할 수 있는데, 여기서 T는 일반적으로 2보다 크거나 그와 동일한 0이 아닌 정수이다. 블록을 파티셔닝하기 위한 것과 동일한 방식으로, 이들을 차례대로 현재 블록에 적용한 후 레이트-왜곡 기준(rate-distortion criterion)에 따라 이들을 평가한다. 선택된 변환은 최상의 성능을 획득하는 변환이다:
HEVC 표준은, 4x4 블록들에 대해, DST 타입 변환작업 또는 변환 스킵(즉, 잔차 계수들은 변환을 거치지 않음) 사이의 선택을 제공한다.
2014년 12월에 Valletta, Malta에서 개최되었던, 이미지 프로세싱에 대한 IEEE 비주얼 커뮤니케이션 회의의 진행중에 발행된 “Rate-distortion optimized transform competition for intra coding in HEVC” 라는 제목의 A.Arrufat 등에 의한 논문, pp.73에서, 인코더는 멀티플 변환(multiple transform)들의 선택을 갖는다. 예컨대, 5개의 변환들이 4x4 사이즈의 블록들에 대해 제안되었고, 17개의 변환들이 8x8 사이즈의 블록들에 대해 제안되었다. 이에 따라, 단계 E3는 현재 블록의 사이즈에 따라 이용가능한 변환들 중 하나를 식별한다.
단계 E4 동안, 잔차 R은 식별된 변환에 의해 TR로 지칭되는 변환된 잔차 블록으로 컨버팅된다. 이는, 블록 변환(DCT 또는 DST 또는 일반적으로 적합한 변환작업들)의 타입이거나 또는 웨이블릿 변환이며, 이들 모두는 당업계에 공지되어 있으며, 특히 웨이블릿 변환을 위해 DCT/DST 및 JPEG2000에 대한 JPEG/MPEG 표준들로 구현된다.
E5에서, 당업계에 공지된 방식으로, 이러한 계수들은 일차원 벡터 RQ[j]를 구성하도록 사전설정된 순서로 스캐닝되며, 여기서 인덱스 j는 0에서 Nb-1까지 변하고, Nb는 블록 c의 픽셀들의 수와 동일한 정수이다. 인덱스 j는 계수 RQ[j]의 주파수로 지칭된다. 종래에, 이러한 계수들은 주파수의 오름차순 또는 내림차순으로, 예컨대, JPEG 고정 이미지 인코딩 표준으로부터 알려진 지그재그 경로를 따라 스캐닝된다.
E6에서, 변환된 잔차 TR은 종래의 양자화 수단, 예컨대, 스칼라 또는 벡터에 의해 양자화된 잔차 블록 RQ로 양자화되는데, 여기서 양자화된 잔차 블록 RQ는 이 잔차 블록 RQ가 픽셀들, 예컨대, Nb를 포함하는 만큼의 많은 계수들을 포함하며, 여기서 Nb는 0이 아닌 정수이다.
단계 E7 동안, 잔차 블록 RQ의 계수들에 관한 정보는, 예컨대, Huffman 인코딩 기법 또는 산술 인코딩 기법에 따라, 엔트로피 코딩에 의해 인코딩된다. 이 정보는 적어도 계수들의 진폭, 그들의 부호들 및 인코더에 의해 블록에 적용되는 변환의 리포팅을 포함한다. 여기에서 진폭이란 계수의 절대값을 의미한다. 종래에, 계수가 0이 아니라는 사실을 나타내는 각각의 계수 정보에 대해 인코딩할 수 있다. 그런 다음, 각각의 0이 아닌 계수에 대해, 진폭에 관한 정보의 하나 또는 그 초과의 조각(piece)들이 인코딩된다. 인코딩된 진폭(CA)들이 획득된다. 0이 아닌 계수들의 부호들이 또한 인코딩된다. 일반적으로, 이들은 비트 0 또는 1로 간단하게 코딩되며, 각각의 값은 주어진 극성에 대응한다. 이러한 인코딩은 효율적인 성능들을 획득하는데, 왜냐하면 변환작업으로 인해 인코딩될 진폭들의 값들이 대체로 0이기 때문이다.
적용된 변환과 관련하여, HEVC 표준의 경우, 2개의 대안들 DST 또는 변환 스킵 간에 적용될 역변환은 transform_skip_flag로 지칭되는 비트에 의해 디코더에 표시된다.
A.Arrufat 등의 논문의 경우, 디코더는 표시기 및 명시적 리포팅 접근방식에 의해 통지되며, 인코더는 변환이 HEVC 타입 변환(사이즈에 따라, DCT이거나 DST임)인지 여부를 표시기로 리포팅하거나(포지션 0의 표시기) 또는 변환이 특정 변환인지 여부를 표시기로 리포팅한다(포지션 1의 표시기). 표시기가 특정 변환을 나타낸다면, 사용되는 특정 변환작업의 인덱스는 고정 길이 코드(4개 및 16개의 가능한 특정 변환작업들 각각을 리포팅하기 위해, 4x4 블록들에 대해 2, 8x8 블록들에 대해 4)로 디코더에 리포팅된다.
변환들의 수를 증가시킴으로써, 각각의 변환이 주어진 타입의 잔차 신호에 통계적으로 적응되기 때문에 코딩 성능은 개선된다. 텍스트 및 그래픽 신호들에 대한 이득들은 A.Arrufat의 논문에 개시된 기법에 의해 변환 스킵 기법에 의해 그리고 임의의 종류의 신호들(촬영된 자연스러운 장면들을 나타내거나 또는 텍스트, 그래픽 합성을 포함하는 이미지들)로 리포팅된다.
E8에서, 인코더는 인코딩된 잔차로부터 레이트-왜곡 기준의 제어 하에서 적용된 변환을 평가한다.
현재 블록 c에 적용되는 위의 단계들 E1 내지 E8은 인코더에 이용가능한 T 변환들에 대해 반복된다.
E9에서, 모든 이용가능한 변환들이 적용되면, 이들은 레이트-왜곡 기준에 따라 경쟁에 들어가고 이 기준에 따라 최상의 결과를 획득하는 변환이 최종적으로 보유된다.
E10에서, 현재 블록에 관한 인코딩된 데이터는 비트 스트림 TB에 삽입된다.
이미지 I1의 다른 블록들은, 시퀀스의 다음 이미지들에 대해 유사하게, 동일한 방식으로 프로세싱된다.
종래 기술의 단점들
종래 기술의 단점들은 이하와 같다:
· 변환들의 수를 크게 증가시키는 것(multiplying)은, 인코더에 의해 선택된 변환들을 디코더에 표시하기 위해 증가된 리포팅을 초래한다.
· 변환들 사이에서의 경쟁시에 고려되는 이러한 증가된 리포팅 비용은 압축 성능들에 영향을 미친다.
본 발명은 상황을 개선시킨다.
본 발명의 목적은 특히 종래 기술의 이러한 단점들을 극복하기 위한 것이다.
더욱 구체적으로, 본 발명의 목적은, 계산 및 메모리 리소스들에서의 어떠한 상당한 증가도 요구하지 않으면서, 송신된 데이터의 볼륨을 감소시킴으로써, 디지털 이미지 인코더의 압축 성능들을 개선시키는 해결책을 제안하기 위한 것이다.
이러한 목적들뿐만 아니라 이하에 나타낼 다른 목적들은, 디지털 이미지를 인코딩하기 위한 방법에 의해 달성되며, 상기 이미지는 정의된 순서로 프로세싱된 픽셀들의 복수의 블록들로 분할되고, 상기 방법은 사전설정된 사이즈들을 갖는 현재 블록에 대해 구현되는, 이하의 단계들을 포함한다.
- 복수의 사전설정된 모드들로부터 선택된 예측 모드에서 사전에 프로세싱된 적어도 하나의 블록으로부터 현재 블록 값들을 예측하는 단계,
- 예측된 값들을 현재 블록의 오리지널 값들로부터 감산함으로써 잔차 블록을 계산하는 단계,
- 잔차 블록의 픽셀들에 변환을 적용함으로써 변환된 잔차 블록을 획득하는 단계 ― 상기 변환된 잔차 블록은 계수들을 포함하고, 변환은 변환들의 사전설정된 리스트의 일부임 ―; 및
- 변환된 잔차 블록을 인코딩하는 단계.
본 발명에 따라, 방법은, 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 단계 및 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터를 결정하는 단계를 포함한다.
본 발명을 통해, 프로세싱된 잔차 신호의 적어도 하나의 특성으로부터 현재 블록에 대한 가능한 변환들의 서브-리스트가 인코더에서 결정된다. 이러한 서브-리스트는, 인코더에 이용가능한 변환들의 리스트의 서브-세트이고, 이 리스트보다 적은 수의 엘리먼트들을 제공한다.
발명자는, 현재 블록의 변환된 잔차 신호의 특정 특성들의 값들과 그 블록에 적용된 변환 사이의 관계를 관찰하였다. 다시 말해서, 블록의 잔차 신호는 이에 적용되는 변환에 대한 정보를 전달한다. 발명자는 잔차 신호의 하나 또는 그 초과의 특성들로부터 이 블록을 프로세싱하기 위해 인코더에 의해 선택될 높은 가능성을 갖는 하나의 또는 수 개의 변환들을 식별할 수 있는 가능성을 확립했다.
이러한 결정은, 디코더가 비트 스트림으로부터 추출한 값들에 의존한다. 예컨대, 인코더에 의해 비트스트림으로 인코딩되고 그 내부로 삽입되는 변환된 계수들의 값들이 존재한다. 이들은 양자화 단계를 거쳤거나 또는 거치지 않았을 수 있다. 디코더는 이진 트레인에서 판독하는 데이터로부터 잔차 신호의 특성(들)의 계산, 및 인코더의 것과 유사한 방식으로 변환들의 서브-리스트를 나타내는 초기 데이터의 결정을 재구성(reproduce)하기 위한 수단을 갖는 것으로 가정된다.
인코더가 레이트-왜곡 뷰포인트로부터 더 나은 성능들을 제공하는 변환을 현재 블록에 적용하는 변환 경쟁의 맥락에서, 인코더에 의해 선택되는 강한 확률을 갖는 변환들의 서브-리스트를 예측한다는 사실은, 디코더가 적용된 변환을 식별할 수 있게 하기 위해 비트 스트림에 리포팅될 정보의 양을 감소시킨다는 점이 이해된다.
이에 따라, 본 발명은, 현재 블록에 대해 인코더 및 디코더에 의해 공동으로 알려진 가능한 변환들의 서브-리스트를 먼저 결정하는 것, 및 두 번째로 비트스트림으로 송신되어 이에 따라 디코더에 이용가능한 현재 블록의 컨버팅된 잔차 신호에 내재된 정보에 기반하여 이러한 결정을 수행하는 것을 포함하는, 경쟁을 변환시키기 위한 완전히 새롭고 진보적인 접근방식에 기반한다.
(HEVC 또는 다른)-타입 변환의 표시기에 의해 사용되는 변환을 리포팅하고, 그런 다음 이것이 HEVC-타입의 일부가 아닐 때 사용되는 변환의 식별자의 명시적인 리포팅에 의한 종래 기술과는 다르게, 본 발명은 체계적 리포팅을 회피하도록 허용하는데, 이는 디코더가 인코더의 아이덴티티를 결정하기 위한 수단을 갖는 오리지널 식별 데이터에 기반하여 현재 블록에 적용된 변환을 리포팅하도록 제안하기 때문이다.
적용된 변환이 예측된 서브-리스트의 단일 변환에 대응하면, 인코더는 잠재적으로 디코더에 송신하기 위한 어떠한 리포팅도 갖지 않는다. 따라서, 본 발명은 변환의 선택과 연관된 리포팅 비용을 감소시키고, 이에 따라 주어진 비트 레이트에 대해 인코딩된 이미지 시퀀스의 품질을 개선시키거나 또는 리포팅 레이트의 이득에 의해 제공되는 품질에 대한 인코딩 레이트를 저하시키는 것이다.
초기 데이터가 단일 변환을 나타낼 때, 예컨대, 적용된 변환이 설정된 초기 데이터에 대응한다고 나타내기 위해 0과 같거나 또는 그렇지 않다고 리포팅하기 위해 1로, 리포팅을 하나의 플래그로 제한할 수 있다. 결정된 초기 데이터와 일치하지 않는 변환을 수반하지 않는 간략화된 디코더의 경우, 이는 전혀 아무것도 리포팅하지 않기로 결정될 수 있다.
본 발명의 일 양상에 따르면, 방법은 변환들의 초기 식별 데이터에 상호보완적인 데이터를 인코딩하는 단계를 포함한다.
변환들의 서브-리스트가 1개 초과의 엘리먼트를 포함하는 경우, 상호보완적인 데이터는 인코딩되고 비트스트림 내부로 삽입되어 현재 블록에 대해 결정된 서브-리스트를 활용하는(exploit) 방법을 디코더에 특정한다.
본 발명의 다른 양상에 따르면, 상호보완적인 데이터는 특정된 서브-리스트에 변환의 포지션 인덱스를 포함한다.
현재 블록에 적용된 변환이 특정 서브-리스트의 일부일 때, 포지션 인덱스는 인코더에 의해 현재 블록에 적용되었던 서브-리스트의 변환을 디코더가 식별하도록 허용한다. 서브-리스트가 짧다면, 포지션 인덱스는 소수의(few) 비트들로 인코딩될 수 있음이 이해된다.
바람직하게, 이 표시는 값 0의 비트로 전달된다. 반대 경우에서, 상호보완적인 식별자는 적용된 변환의 명시적인 리포팅에 의해 보완된 값 1의 비트로 전달될 것이다. 서브-리스트 SL를 나타내는 초기 데이터가 변환을 정확하게 예측했기 때문에, 이에 따라 상호보완적 리포팅은 오직 1 비트만을 포함한다. 본 발명의 다른 양상에 따르면, 적용된 변환이 특정 서브-리스트의 일부가 아닌 경우, 포지션 인덱스는 이스케이프 값(escape value)을 취하며, 상호보완적 데이터는 적용된 변환의 식별자를 더 포함한다.
적용된 변환이 예측된 서브-리스트에서 선택되지 않는 경우, 인코더에 의해 실제로 적용되는 변환의 전체 식별자를 리포팅할 필요가 있다.
본 발명의 일 이점은, 서브-리스트들이 관련성있게 정교하고 최상의 성능들을 제공할 가능성이 있는 변환들을 포함한다면, 이 상황은 예외적인 상태로 남는다는 것이다.
또한, 인코더가 변환 경쟁을 구현할 때, 일반적으로 변환 경쟁 각각의 리포팅 비용을 유리하게 고려하는 레이트-왜곡 기준에 따라 최상의 변환을 선택한다는 점에 유의한다. 이러한 방식으로, 오직 변환의 성능들이 리포팅의 추가 비용을 상쇄시키는 경우에만, 서브-리스트 외부의 변환을 선택할 것이다.
본 발명의 다른 양상에 따르면, 변환 잔차 블록의 적어도 하나의 계수 값을 나타내는 상기 적어도 하나의 특성은 적어도 이하를 포함하는 그룹의 일부이다:
- 마지막 유효(significant) 양자화된 잔차 계수의 포지션;
- 유효 잔차 계수들의 포지션들의 리스트;
- 양자화된 잔차 계수들의 제곱들의 합;
- 양자화된 잔차 계수들의 절대 값들의 합;
- 양자화된 잔차 계수들의 제곱들의 에볼루션(evolution)을 나타내는 값;
- 양자화된 잔차 계수들의 절대 값들의 에볼루션을 나타내는 값;
- 양자화된 잔차 계수들의 확률 밀도를 나타내는 값.
이러한 특성들은 개별적으로 또는 조합하여 고려될 수 있다. 본 발명의 원리는, 현재 블록의 양자화된 잔차 신호의 하나 또는 그 초과의 특성들의 값 또는 값들의 범위와 연관시키는 것으로, 이는 이 블록에 대해 가장 가능성이 있는 하나 또는 그 초과의 변환들을 단일화하기에 충분히 특징적이다.
본 발명의 또 다른 양상에 따르면, 결정 단계는 메모리에서 결정된 초기 식별 데이터를 판독하는 것을 포함하며, 상기 데이터는 현재 블록의 양자화된 잔차 계수의 적어도 하나의 값의 상기 적어도 하나의 특성과 연관된다. 가능한 변환들의 서브-리스트들이 사전설정된다. 이 실시예의 이점은, 계산 자원들에 있어서 간단하고 저렴하다는 점이다.
본 발명의 또 다른 양상에 따르면, 스코어는 현재 블록의 양자화된 잔차 계수의 최소한의 값의 적어도 하나의 특성에 대한 변환에 사전에 할당되고, 결정 단계는 스코어가 사전설정된 임계치보다 더 큰 리스트의 변환들로부터 서브-리스트를 형성한다.
유리하게, 주어진 변환에는 블록의 양자화된 잔차 신호의 적어도 하나의 특성의 적어도 하나의 값에 기반하여 스코어가 할당되고, 현재 블록에 대해, 스코어들이 사전설정된 임계치에서 더 높은 변환들의 서브-리스트가 동적으로 구성된다.
예컨대, 스코어들은 일 세트의 테스트 시퀀스들에 대해 컴퓨팅된 변환들의 성능들의 통계들로부터 도출되었다. 이러한 통계들로부터, 양자화된 잔차 신호의 적어도 하나의 특정 특성이 특정 값을 취하는 블록에 대해 특정 변환이 가장 효율적이라는 확률 값들을 결정하는 것이 가능하다.
하나의 이점은, 현재 블록에 가장 적합한 서브-리스트를 형성하는 것이다.
대안적으로, 변환들은 감소하는 스코어 값들로 순서화되고, 서브-리스트는 가장 높은 스코어들을 갖는 사전설정된 수의 변환들로부터 형성된다. 하나의 이점은, 형성된 서브-리스트들이 고정 사이즈라는 것이다.
본 발명의 또 다른 양상에 따르면, 변환들의 초기 식별 데이터의 결정 단계는 사전에 프로세싱된 적어도 하나의 이웃 블록에 적용되는 변환을 서브-리스트에 삽입한다.
또한, 현재 블록에 대한 가능한 변환들의 서브-리스트를 형성하기 위해, 양자화된 잔차 신호의 특성들 이외에 다른 기준들이 고려될 수 있다. 하나의 옵션은, 이미 프로세싱된 현재 블록의 이웃 블록들에 적용되는 변환들을 고려하는 것이다. 그후, 우리는 서브-리스트의 이웃들에 의해 사용되는 변환들을 부가하거나 또는 오직 공통의 변환들만을 유지시키도록 선택할 수 있다.
본 발명의 다양한 실시예들에 지금까지 설명된 방법은 본 발명에 따라 디지털 이미지를 인코딩하기 위한 디바이스에 의해 유리하게 구현된다. 이러한 디바이스는, 사전설정된 사이즈들로 현재 블록에 대해 구현되도록 적응된, 적어도 다음의 유닛들을 포함한다.
- 복수의 사전설정된 모드들로부터 선택된 예측 모드에서 사전에 프로세싱된 적어도 하나의 블록으로부터 현재 블록 값들을 예측하는 유닛,
- 예측된 값들을 현재 블록의 오리지널 값들로부터 감산함으로써 잔차 블록을 계산하는 유닛,
- 잔차 블록의 픽셀들에 변환을 적용함으로써 변환된 잔차 블록을 획득하는 유닛 ― 상기 변환된 잔차 블록은 계수들을 포함하고, 변환은 변환들의 사전설정된 리스트의 일부임 ―; 및
- 변환된 잔차 블록을 인코딩하는 유닛.
본 발명에 따라, 이러한 디바이스는, 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성의 계산 유닛뿐만 아니라, 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터의 결정 유닛을 포함한다.
물론, 본 발명에 따른 인코딩 디바이스는, 인코딩 방법에 대해 방금 설명된 실시예들 전체를 개별적으로, 또는 조합하여 구현하도록 배열될 수 있다.
특히, 본 발명의 일 양상에 따르면, 이 디바이스는 설정된 초기 데이터와 상호보완적 데이터의 인코딩 유닛을 포함한다.
상관적으로, 비트 스트림으로부터 디지털 이미지를 디코딩하기 위한 방법이 개시되는데, 여기서 비트 스트림은 상기 이미지를 나타내는 인코딩된 데이터를 포함하고, 상기 이미지는 정의된 순서로 프로세싱되는 복수의 픽셀들의 블록들로 분할되며, 상기 방법은 소위 현재 블록으로 지칭되는 블록에 대해 구현되는 이하의 단계들을 포함한다:
- 적어도 하나의 사전에 프로세싱된 블록으로부터 현재 블록을 예측하는 단계;
- 비트스트림으로부터 추출된 변환된 잔차 블록의 계수들의 인코딩된 값들을 디코딩하는 단계;
- 식별된 역변환을 변환된 잔차 블록에 적용시킴으로써 잔차 블록을 획득하는 단계 - 상기 역변환은 사전설정된 역변환들의 리스트의 일부임 -;
- 잔차 블록으로부터 그리고 현재 블록의 예측으로부터 디코딩된 블록을 재구성(reconstructing)하는 단계.
본 발명에 따르면, 방법은, 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 단계, 상기 적어도 하나의 계산된 특성과 연관된 변환들의 식별의 초기 데이터를 결정하는 단계, 및 적어도 설정된 초기 데이터로부터 적용될 역변환의 식별자를 재구성하는 단계를 포함한다.
이러한 방법은, 변환된 잔차 신호의 특성들을 계산하는 단계 및 인코더에 대해 방금 설명된 변환들의 식별의 초기 데이터를 결정하는 단계를 재구성한다. 이를 행하기 위해, 이에 대해 이용가능한 정보, 즉, 비트스트림으로부터 추출한 정보, 이를테면, 예를 들어, 양자화된 또는 양자화되지 않은 변환된 잔차 신호, 현재 블록, 사전에 메모리에 저장된 정보 및 규칙들을 사용하며, 이는 현재 블록에 대한 인코더와 동일한 서브-리스트를 결정하게 할 수 있다.
그후, 이 서브-리스트에 대한 지식으로부터 적어도 인코더에 의해 적용된 변환의 식별자를 현재 블록에 재구축한다. 서브-리스트들이 최대(at most) 하나의 엘리먼트를 갖는 경우, 초기 식별 데이터는 적용된 변환의 식별자를 재구성하기에 충분할 수 있다. 당업자는 데이터 DI로 표현된 변환을 체계적으로 적용하도록 배열된 디코더의 타입을 고려할 수 있다.
본 발명의 일 양상에 따르면, 방법은 설정된 초기 식별에 대해 상호보완적 데이터를 디코딩하는 단계를 포함한다.
이러한 상호보완적인 리포팅을 활용하도록 배열된 다른 타입의 디코더가 또한 고려될 수 있다. 유리하게, 이러한 상호보완적 데이터의 디코딩은 변환들의 서브-리스트에 포함된 정보를 특정한다. 특히, 적용된 변환이 데이터 DI로 표현된 서브-리스트에 있는지 여부를 디코더에 표시할 수 있다.
본 발명의 다른 양상에 따르면, 상호보완적인 데이터는 특정된 서브-리스트에 변환의 포지션 인덱스를 포함한다.
인코더에 의해 적용되는 변환이 서브-리스트에 포함되는 경우, 이러한 서브-리스트가 1개 초과의 엘리먼트를 포함한다면, 리포팅은 변환의 포지션을 표시하는 것으로 귀결된다. 또 다른 양상에 따르면, 상호보완적 데이터는 적용된 변환의 이스케이프 코드 및 식별자를 포함한다.
현재 블록에 인코더에 의해 적용되는 변환이 서브-리스트에 포함되지 않는 경우, 변환을 완전하게 리포팅할 필요가 있다.
본 발명의 다양한 실시예들에 방금 설명된 방법은 본 발명에 따라 디지털 이미지를 디코딩하기 위한 디바이스에 의해 유리하게 구현된다. 이러한 디바이스는, 소위 현재 블록에 대해 구현되도록 적응된, 적어도 다음의 유닛들을 포함한다.
- 사전에 프로세싱된 적어도 하나의 블록으로부터 현재 블록을 예측하는 유닛;
- 비트스트림으로부터 추출된 변환된 잔차 블록의 계수들의 인코딩된 값들을 디코딩하는 유닛;
- 변환된 잔차 블록에 역변환을 적용시킴으로써 잔차 블록을 획득하는 단계 ― 상기 역변환은 사전설정된 역변환들의 리스트의 일부임 ―;
- 잔차 블록으로부터 그리고 현재 블록의 예측으로부터 디코딩된 블록을 재구성하는 단계.
본 발명에 따르면, 이러한 디바이스는, 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하기 위한 유닛, 상기 적어도 하나의 계산된 특성과 연관된 변환들의 식별의 초기 데이터를 결정하는 단계, 및 이 초기 데이터를 결정하는 단계에, 적어도 설정된 초기 데이터로부터 적용될 역변환의 식별자를 재구성하는 단계를 포함한다.
물론, 본 발명에 따른 디코딩 디바이스는, 디코딩 방법에 대해 방금 설명된 실시예들 전체를 개별적으로, 또는 조합하여 구현하도록 배열될 수 있다.
특히, 본 발명의 일 양상에 따르면, 설정된 초기 데이터에 상호보완적인 데이터를 디코딩하는 유닛을 포함하고, 재구성 유닛은 초기 데이터로부터 그리고 상기 상호보완적 데이터로부터 현재 블록에 적용될 역변환의 식별자를 재구성할 수 있다.
본 발명은 추가로, 비트 스트림을 전달하고 그리고 디지털 이미지를 나타내는 인코딩된 데이터를 포함하는 신호에 관한 것이며, 상기 디지털 이미지는 설정된 순서로 프로세싱되는 픽셀들의 블록들로 분할되고, 현재 블록의 값들은 복수의 사전설정된 모드들로부터 선택된 예측 모드에 따라 사전에 프로세싱된 적어도 하나의 블록의 값들로부터 예측되고, 잔차 블록의 값들은 예측된 값들을 현재 블록의 오리지널 값들로부터 감산함으로써 계산되며, 변환된 잔차 블록은 잔차 블록의 픽셀들에 변환을 적용시킴으로써 획득되고, 상기 변환된 잔차 블록은 계수들을 포함하고, 변환은 변환들의 사전설정된 리스트의 일부이다.
본 발명에 따르면, 이러한 신호는 적용된 변환을 나타내는 인코딩된 상호보완적 데이터를 포함한다. 상기 인코딩된 상호보완적 데이터는 변환들의 초기 식별 데이터로부터 현재 잔차 블록의 값들에 적용될 역변환의 식별자를 재구성하기 위해 활용되도록 의도되고, 상기 초기 데이터는 상기 리스트의 적어도 하나의 변환의 서브-리스트를 나타내고 그리고 현재 변환된 잔차 블록의 적어도 하나의 값의 적어도 하나의 특성과 연관된다.
본 발명은 또한, 본 발명에 따라 디지털 이미지를 인코딩하기 위한 디바이스 및 그들의 상이한 실시예들로 방금 설명된 본 발명에 따라 디지털 이미지를 디코딩하기 위한 디바이스를 포함하는 사용자 단말에 관한 것이다.
본 발명은 또한, 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 위에 설명된 것과 같이 디지털 이미지를 인코딩하기 위한 방법의 단계들을 구현하기 위한 명령들을 포함하는 상기 컴퓨터 프로그램에 관한 것이다.
본 발명은 또한, 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 위에 설명된 것과 같이 디지털 이미지를 디코딩하기 위한 방법의 단계들을 구현하기 위한 명령들을 포함하는 상기 컴퓨터 프로그램에 관한 것이다.
이러한 프로그램들은 임의의 프로그래밍 언어를 사용할 수 있다. 이들은 통신 네트워크로부터 다운로딩될 수 있고 그리고/또는 컴퓨터-판독가능 매체 상에 레코딩될 수 있다.
최종적으로, 본 발명은 디지털 이미지의 인코딩 디바이스와, 그리고 선택적으로 제거가능한 본 발명에 따른 디지털 이미지를 디코딩하기 위한 디바이스와 통합되거나 또는 통합되지 않은, 그리고 그에 의해 위에 설명된 바와 같이 코딩 방법을 구현하는 컴퓨터 프로그램 및 디코딩 방법을 구현하는 컴퓨터 프로그램 각각을 저장하는, 프로세서에 의해 판독가능한, 레코딩 매체에 관한 것이다.
본 발명의 다른 특징들 및 이점들은, 오직 예시적이고 비-제한적인 예로서만 제공된, 본 발명의 일 특정 실시예의 이하의 설명을 읽음으로써 명백해질 것이며, 첨부된 도면들은 이하와 같다.
- 도 1(이미 설명됨)은 픽셀들의 블록들로 분할된 디지털 이미지들의 시퀀스를 개략적으로 도시한다.
- 도 2(이미 설명됨)는 종래 기술에 따라 디지털 이미지의 픽셀들의 블록을 인코딩하기 위한 방법의 단계들을 개략적으로 도시한다.
- 도 3a 및 도 3b(이미 설명됨)는 HVC 표준의 인코더에 의해 구현되는 DCT 및 DST 변환들을 도시한다.
- 도 4는 본 발명에 따라 디지털 이미지를 인코딩하기 위한 방법의 단계들을 개략적으로 도시한다.
- 도 5는 블록의 잔차 신호의 측정 특성에 따라 3개의 변환들의 확률 밀도의 제1 예를 도시한다.
- 도 6은, 본 발명의 일 실시예에 따라, 현재 블록의 변환된 잔차 신호의 2개의 별도의 특징들의 조합으로부터 가능한 변환들의 서브-리스트의 구성의 일 예를 도시한다.
- 도 7은, 본 발명의 일 실시예에 따라, 현재 블록에 대한 가능한 변환들의 서브-리스트를 결정하기 위해 이미 프로세싱되고 동작된 이웃 블록들의 일 예를 도시한다.
- 도 8a 및 도 8b는, 본 발명에 따른 인코딩 방법에 의해 현재 블록에 적용되는 변환을 리포팅하는 예들을 개략적으로 제시한다.
- 도 9는 본 발명에 따라 디지털 이미지를 디코딩하기 위한 방법의 단계들을 개략적으로 도시한다.
- 도 10는 본 발명에 따라 디지털 이미지를 인코딩하기 위한 디바이스의 하드웨어 구조들을 개략적으로 도시한다.
- 도 11는 본 발명에 따라 디지털 이미지를 디코딩하기 위한 디바이스의 하드웨어 구조들을 개략적으로 도시한다.
본 발명의 일반적인 원리는, 현재 블록의 변환된 잔차 신호에 대한 본질적인 특성들에 기반하여 그리고 바람직한 변환들의 서브-리스트의 형태로 현재 블록에 적용된 변환의 예측에, 그리고 예측된 서브-리스트로부터 적용된 변환의 최소한의 리포팅에 의존한다.
오리지널 비디오는, K개의 이미지들(I1, I2, ..., IK)의 시퀀스로 구성되는 것으로 고려되며, 여기서 K는 도 1과 관련하여 이미 제시된 것과 같은 0이 아닌 정수이다. 이미지들은 인코더에 의해 인코딩되고, 인코딩된 데이터는 예컨대, 통신 네트워크를 통해 디코더에 송신된 비트 스트림 TB에, 또는 하드 디스크 상에 저장되도록 의도된 압축 파일 FC에 삽입된다. 디코더가 인코딩된 데이터를 추출하고, 그후 수신되고, 인코더 및 디코더에 알려진 사전정의된 순서로, 예컨대, 시간 순서 I1, 그런 다음 I2, ..., 그후 IK로 디코더에 의해 디코딩되지만, 이 순서는 실시예에 따라 다를 수 있다.
도 4와 관련하여, 본 발명의 예시적인 실시예에 따라 디지털 이미지를 인코딩하기 위한 방법의 단계들이 이제 예시된다. 단계들(T0 내지 T6)은 도 2와 관련하여 이미 설명된 단계들(E0 내지 E6)과 유사하다.
이미지 IK는, 예컨대, 64x64 픽셀들과 동일한 사이즈의 CTU 블록들로 절단된다.
단계 T0 동안, 프로세싱될 블록, 상기 현재 블록 c가 선택된다. 예컨대, 이것은 치수들 MxN의 (“코딩 유닛(Coding Unit)”에 대한) CU 블록(정사각형 또는 직사각형)이며, 여기서 M 및 N은 (“코딩 트리 유닛(Coding Tree Unit)”에 대한) CTU 블록을 파티셔닝함으로써 획득되는 0이 아닌 정수이다.
단계 T1 동안, 블록 c는 이 단계에서 예측된다. 이 동작은, 종래 기술에 따라, 인코딩 현재 픽쳐로부터 도출되는 픽셀들로부터 수행되거나(인트라 코딩), 또는 인코딩 동작에 의해 이미 프로세싱된 이미지에 기반한다(인터 코딩). 그 결과는 예측된 블록 Pr이다.
단계 T2 동안, 픽셀 블록은 이전 동작의 예측된 블록으로부터 픽셀 단위로 감산된다. 그 결과는 잔차 픽셀들 R의 블록이다.
단계 T3 동안, 블록 사이즈 및 가능한 변환들은 고려되는 예측 모드에 대해 식별된다. 가능한 변환들에 의해, T가 0이 아닌 정수임, 예컨대, T가 32와 동일함과 같이, 사전설정된 방식으로 인코더의 메모리에서 이용가능한 복수의 T개의 변환들로 지정된다. 예컨대, 이러한 복수는 사전설정된, 순서화된 또는 순서화되지 않은, 변환들의 리스트 L로서 메모리에 저장된다. 이러한 변환들은 사전설정되거나 또는 적응가능할 수 있음에 유의한다.
단계 T4 동안, 식별된 변환 Tri(i는 0 내지 T-1 범위의 0이 아닌 정수임)에 대해, 잔차 신호가 변환된다. 결과는 변환된 잔차 신호 RTi이다.
T5에서, 최신 기술에 공지된 방식으로, 이러한 계수들은 일차원 벡터 RQ[j]를 구성하도록 사전설정된 순서로 스캐닝되며, 여기서 인덱스 j는 0에서 Nb-1까지 변하고, Nb는 블록 c의 픽셀들의 수와 동일한 정수이다. 인덱스 j는 계수 RQ[j]의 주파수로 지칭된다. 종래에, 이러한 계수들은 주파수의 오름차순 또는 내림차순으로, 예컨대, JPEG 고정 이미지 인코딩 표준으로부터 알려진 지그재그 스캐닝에 따라 스캐닝된다. 이러한 스캐닝 방법은 또한 적용되는 변환에 의존할 수 있다. 스캐닝 모드가 벡터 RQ에서의 변환된 계수들의 최종 차수에 반드시 영향을 미치기 때문에, 이하에서, 리스트 L에서 변환 식별된 Tri가 특정 스캐닝 모드와 연관된다고 가정된다. 다시 말해서, 다른 스캐닝 모드와 연관된 동일한 변환에는 리스트 L에서 변환의 다른 식별자가 할당될 것이며, 이에 따라 별도의 변환으로서 고려될 것이다.
단계 T6 동안, 변환된 데이터는 당업자들에게 알려져 있는 스칼라 또는 벡터의, 제공된 양자화 단계에 따라 양자화되고, 여기서 양자화 파라미터 QP는 이 단계에서 수행된 근사화의 정확도를 조정한다.
단계 T7 동안, 변환된 양자화된 잔차 신호의 적어도 하나의 특성이 계산된다.
T8에서, 하나 또는 그 초과의 계산된 특성(들)과 연관된 적어도 하나의 변환을 나타내는 초기 데이터 변환이 결정된다. 유리하게, 이러한 초기 데이터 DI는 리스트 L의 변환들의 서브-리스트 SL을 나타낸다. 이것은 하나 또는 그 초과의 변환(들)을 포함한다.
단계(T7 및 T8)의 몇몇 실시예들이 고려되고 이제 설명될 것이다.
본 발명의 제1 실시예에 따라, 양자화된 잔차 데이터의 마지막 0이 아닌 계수의 포지션이 결정된다. 그런 다음, 계산된 특성은, 예컨대, 변환작업의 식별의 초기 데이터 DI인 마지막 유효 계수의 포지션과 매칭된다. 사용되는 이러한 초기 식별 데이터는, 계산된 특성의 값 또는 계산된 값을 포함하는 값들의 범위와 연관된 변환들의 서브-리스트를 식별하는 것을 가능하게 한다. 유리하게, 서브-리스트는 테이블의 메모리에 저장된다. 서브-리스트는 하나 또는 그 초과의 변환들을 포함할 수 있다.
본 발명의 제2 실시예에 따라, 잔차 양자화된 데이터의 유효 계수들의 포지션들이 결정된다. 이를 행하기 위해, 각각의 유효 잔차 계수(즉, 0이 아닌 상이한 값)에 대해 ‘1’을 포함하고, 0 계수에 대해 ‘0’을 포함하는 단어가 구축된다. 예컨대, 값들 [19,12,-4,0,18,3,0,-1,0,0]로 구성된 잔차 계수에는 단어 ‘1110110100’가 배정될 것이다. 메모리에 저장된 테이블을 사용하여, 변환작업 ID의 초기 식별 데이터가 결정된다. 주어진 코드 단어에 대해, 결과는 가장 가능성있게 이용가능한 변환들의 서브-리스트이다.
제3 실시예에 따라, 양자화된 잔차 값들의 제곱들 또는 절대 값들의 합의 데이터 특성이 계산된다. 테이블 또는 기능적 매칭 관계를 사용하여, 변환작업의 초기 식별 데이터 DI가 이 특징 데이터로부터 결정된다. 예컨대, 고려된 임계치를 초과하는 에너지를 전달하는 잔차들은 하나 또는 그 초과의 변환들을 식별한다.
제4 실시예에 따라, 양자화된 잔차 값들의 절대 값들 또는 제곱들의 에볼루션의 데이터 특성이 계산된다. 이 특성 값은 (절대 또는 제곱된) 연속 값들 사이에서 절대 값의 차이들을 합산합으로써 또는 성장 지표(growth indicator)를 합산함으로써 획득될 수 있다(2개의 연속 값들의 절대 값이 증가한다면 1, 그리고 그렇지 않다면 0임). 변환작업의 초기 식별 데이터는 이 특성 값으로부터 획득된다. 이 테이블은 계산된 성장 지표의 값에 따라 하나 또는 그 초과의 변환들을 나타낼 것이다.
제5 실시예에 따라, 양자화된 잔차 값들의 확률 밀도의 특성이 추정된다. 이러한 확률 밀도는, Florin Ghido에 의해, ≪ Near Optimal, Low Complexity Arithmetic Coding for Generalized Gaussian Sources ≫ 라는 제목으로 2005년 5월에 논문 AES에 제시된 바와 같이, 양자화된 잔차 값들의 절대 값들의 합과 제곱들의 합 사이의 비율을 사용함으로써 달성될 수 있다. 확률 밀도가 추정되었다면, 룩업 테이블은 변환들의 초기 식별 데이터 DI를 연관시키도록 허용한다. 예컨대, 주어진 확률 밀도는 하나 또는 그 초과의 주어진 변환들과 연관될 수 있다.
따라서, 변환의 초기 식별 데이터 DI는 하나 또는 그 초과의 식별자들 또는 인덱스들을 포함할 수 있고, 이들 각각은 특정 변환을 가리킨다. 유리하게, 이러한 변환 식별자들은 인코더 및 디코더에 이용가능한 변환들의 초기 리스트 L의 서브-리스트 SL를 형성한다.
변환들의 서브-리스트를 도출하기 위한 테이블들은, 예컨대, 이미지를 인코딩하기 위한 방법 이전의 습득 단계(learning phase)에서 획득된다. 예컨대, 일 세트의 테스트 시퀀스들은, 이미지의 블록들의 변환된 잔차 신호들의 특성들의 값들에 기반하여, 인코더에 이용가능한 리스트로부터 변환들 각각의 인코더에 의해 선택 통계치들을 계산하는 데 사용된다. 이러한 결과들로부터, 블록의 양자화된 잔차 신호의 하나 또는 그 초과의 특성들에 기반하여 변환을 선택하는 확률이 평가된다.
종래에, 변환이 알려져 있다면, 각각의 변환에 대해 주어진 특성의 확률이 측정된다. 수학적으로, 이것은 조건부 확률(conditional probability)로 표현된다. 도 5와 관련하여, 8x8 사이즈의 3개의 별도의 변환들에 대해 변환된 제1 계수의 에너지의 확률의 추정치가 예로서 제시된다. 블록의 계수들 각각에 대해 해당 에너지와 연관된 결합 확률 밀도가 플로팅되었다. 이 추정치로부터 Bayes' 정리를 사용하여, 우리는 에너지 값으로부터, 계수가 각각의 변환으로부터 계산되었던 확률을 쉽게 결정할 수 있다. 따라서, 계수의 에너지가 9와 동일하다면, 변환 T2은 사용될 높은 가능성을 갖고, 변환 T1은 가능성이 다소 적고, 변환 T0은 가능성이 거의 없다. 따라서, 인코더에서, 그 확률 기능은 3개의 인터벌들을 정의하는 2개의 임계치들에 의해 예로서 요약될 수 있다: 만약 에너지가 11.4 미만이면 T2 및 T1이 가장 가능성이 높고, 만약 에너지가 11.40 내지 18.10 범위이면 T1이 가능성이 있으며, 만약 에너지가 18.10를 초과하면 T1 및 T0이 가장 가능성이 높은 변환들이다. 이 방식으로, 잔차 신호에 대해 계산된 특성은 변환의 확률을 통지하고 그리고 변환들의 완전한 리스트보다 더 짧은 가능한 변환들의 서브-리스트를 구성하도록 허용하는 것으로 이해될 것이다. 따라서, 이전에 3개의 인터벌들에 대한 블록의 에너지 값에 따라, 우리는 변환들(T2, T1), (T1), (T1, T0)을 포함하는 3개의 서브-리스트들(SL1, SL2 및 SL3)을 정의한다. 인코딩 시스템의 설계 이전의 단계에서 확립된, 서브-리스트, 특성 및 인터벌들을 포함하는 연관성이 인코더 및 디코더에 알려져 있다.
도 6과 관련하여, 3개의 변환들의 리스트 L 및 현재 블록의 잔차 신호의 2개의 별도의 특성들의 조합으로부터의 변환들의 서브-리스트의 구성의 일 예가 도시된다. 이전의 습득 프로세스에서, 변환된 잔차 신호의 에너지 특성 및 마지막 유효 계수의 포지션에 따라 인코더의 선택된 변환들의 값들이 측정된다. 이러한 습득은 잔차 비디오 신호들의 큰 세트에 대해 수행된다. 도 6에서, 제1 축에 따른 제1 특성 및 제2 축에 따른 제2 특성이 도시되며, 블록의 변환된 잔차 신호의 특성들의 한 쌍의 값들에 대응하고 그리고 이 블록에 대해 선택된 변환을 나타내는 포인트들이 이러한 2개의 축들의 평면에 위치되었다. 이러한 포인트들은 거친 영역들로 대략적으로 그룹화되어, 타원의 형태로 구체화될(materialized) 수 있다. 이러한 타원들은 변환에 대해 가장 많이 선택된 포인트들을 포함하는데, 예컨대, 이들은 포인트들의 90%를 포함할 수 있다.
2개의 임계치들(s1, s2)은 이러한 기준에 따라 결정되며, 이는 변환 엘리먼트를 포함하는 리스트를 형성하도록 허용한다.
이렇게 특정된 임계치들은 이러한 습득 프로세스의 종료시에 알려지며 인코더 및 디코더 둘 모두에 저장된다. 그리고, 엘리먼트의 서브-리스트는 후술하는 바와 같이 준비된다:
- C1으로 명명된 에너지 특성은 잔차 신호로부터 계산된다;
- C2로 명명된 마지막 유효 계수의 포지션은 잔차 신호로부터 결정된다;
- C1>s1 그리고 C2>s2이면, 서브-리스트는 엘리먼트 T0를 포함한다;
- C1>s1 그리고 C2<s2이면, 서브-리스트는 엘리먼트 T2를 포함한다;
- C1<s1이면, 서브-리스트는 변환 T1을 포함한다.
따라서, 3개의 변환들의 리스트는 디코더 및 인코더에 알려진 이러한 2개의 기준들 및 2개의 임계치들을 사용함으로써 단일 변환의 서브-리스트로 감소될 수 있다.
대안적으로, 블록의 변환된 잔차 신호의 특성들의 하나 또는 그 초과의 값들에 기반한 스코어는 또한 리스트 L의 주어진 변환에 대해 사전에 설정될 수 있다. 이 스코어는 위에 설명된 결합된 확률 밀도의 추정치로부터 유리하게 준비된다. 이 경우, 이 또는 이들 특성 값들과 연관된 변환들의 초기 데이터 DI를 결정하는 단계 T7는, 확립된 스코어들에 기반하여, 현재 블록에 대한 변환들의 서브 리스트 SL을 동적으로 구성한다.
예컨대, 서브-리스트 SL는 사전설정된 임계치보다 더 큰 현재 블록에 대해 확립된 스코어들을 통해 변환들로 구성된다. 대안적으로, 서브-리스트는, 가장 높은 스코어들을 갖는 변환들 NB-SL에 대응하여, 변환들의 사전설정된, 0이 아닌 정수 NB-SL로 형성된다.
리스트 SL에 포함시키기 위하 선택된 변환들은 감소하는 스코어 값들에서 유리하게 순서화된다. 디코더가 이러한 스코어들, 적용될 임계 값 또는 선택하기 위한 변환들의 수 NB-SL 및 서브-리스트 내의 상기 변환들을 순서화하는 방법의 지식을 인코더와 공유하는 것은 필수적인 것으로 이해될 것이다. 이러한 방식으로, 인코더와 동일한 서브-리스트 SL가 될 것이다.
본 발명의 다른 실시예에 따라, 방법은 사전에 프로세싱된 적어도 하나의 블록에 적용된 변환의 식별자 TR-V을 먼저 획득한다. 이전에 프로세싱된 블록들은, 예컨대, 현재 블록의 예측 모드에 따라 선택된다. 이들은, 현재 이미지의 현재 블록의 이웃들 또는 시간상 상이한 모멘트들에 위치된 다른 이미지들의 일부일 수 있다. 현재 이미지에서, 이러한 이웃 블록들은 현재 블록의 바로 위, 좌측, 또는 최상단 좌측에 위치된 것들일 수 있다. 도 7과 관련하여, 현재 블록 c의 이웃 블록들(Ba, Bb 및 Bc)은 예로서 도시된다.
인터 코딩(Inter coding)은, 예컨대, 현재 블록과 동일한 공간 포지션에 위치된, 또는 하나의 모션 벡터 내에 “공동-위치된” 블록들에 관한 것이다. 이미 프로세싱된 이러한 블록들은, 이들이 현재 블록과 동일한 예측 모드를 공유할 때 유리하게 선택된다. 현재 블록이 인트라 모드에 있다면, 미리 프로세싱 되고 선택된 블록들은 동일한 인트라 예측 모드를 공유하는 가장 가까운 블록들일 것이다.
유리하게, NB-DT에 대해 이전에 프로세싱된 블록들의 0이 아닌 정수를 갖는 사전설정된 수 NB-DT가 고려된다. 예컨대, NB-DT는 3과 동일하다. 이에 따라 획득된 이미 프로세싱된 블록들의 변환들의 식별자 또는 식별자들은, 사전에 설명된 실시예들 중 하나에 따라 현재 블록의 계수들의 값들의 특성(들)과 이미 연관된 서브-리스트 SL로부터 선호되는 변환들의 새로운 서브-리스트 SL’를 형성하도록 동작된다.
이러한 신규의 서브-리스트 SL’를 확립하기 위한 몇몇 방식들이 고려된다.
초기 서브-리스트 SL’는 이미 프로세싱되고 고려된 블록들에 적용된 변환들의 식별자들의 연쇄(concatenation)에 의해 완료될 수 있다.
예컨대, 3과 동일한, 미리 프로세싱된 블록들로부터 도출된 변환들의 식별자들의 사전설정된 수를 동작시키기로 결정될 수 있다.
도 7과 관련하여, 이미 프로세싱되고 고려된 블록들(Ba, Bb, Bc)이 동일한 변환(TR-v=TR-va=tr-vb=tr-vc)을 공유한다면, 서브-리스트 SL에 공통인 이러한 변환의 TR-v인 식별자가 (이 리스트에 이미 포함되어 있지 않은 경우에) 부가된다. 예컨대, 서브-리스트의 종료시에 식별자를 삽입하는 것이 적절할 수 있다.
대안적으로, 이미 프로세싱된 블록들로부터 도출된 변환들의 사전설정된 수 NB-DT를 서브-리스트 SL’에 포함시키기로 결정될 수 있다. 이 경우, 단일 선택된 식별자(TR-v)는, 예컨대, 변환들의 초기 리스트 L에서 직전에 그리고 후속하는 변환들의 식별자들에 의해 완료될 수 있다. 이들은 바로 위에 위치된 값(TR-v1=TR-v+1) 그리고 아래에 위치된 값(TR-v2=TR-v-1)이다. 이 경우,우리는 인코더 및 디코더에 이용가능한 변환들의 리스트 L이 변환들의 근접성 또는 유사성 기준에 따라 순서화된다고 고려하여, 변환 넘버 TR-v가 블록에 대해 잘 맞는다면, 그 이웃들(TR-v-1 및 TR-v+1)도 또한 비교적 잘 맞게 될 것으로 이해된다.
이미 프로세싱된 NB-DT 블록들에 별도의 변환들이 적용되었다면, 당업자는 다수결에 의지할 수 있고, 그리고 이미 프로세싱된 블록들로 가장 많이 표현된 변환의 식별자를 서브-리스트 SL’에 삽입할 수 있다. 부가될 사전설정된 수의 변환들의 식별자들을 완료하고 이에 도달하기 위해, 위에 계산된 것과 같은 리스트(L, TR-v1 및 TR-v2)에서 선출된 변환의 이웃 값들이 유리하게 삽입될 것이다.
대안책은, 예컨대, 이미 처리되고 고려된 블록들에 적용된 변환들 모두의 식별자들이 이미 리스트의 일부가 아니라는 점을 고려하면, 인코더 및 디코더에 의해 이미 프로세싱되고 공유된 블록들의 스캐닝 순서로서 서브-리스트 SL의 종료시에, 이 식별자들을 삽입하는 것이다.
예컨대, 2개의 별도의 변환들을 적용한 이미 프로세싱된 3개의 이웃 블록들을 고려하자. 예컨대, 서브-리스트 SL의 종료시에, 이러한 변환들의 식별자들 v0 및 v1은 서브-리스트 SL의 종료시에 제1 및 제2 포지션들에 삽입되고, 가장 가까운 블록으로부터 계산된 변환의 식별자의 값 v2은 예컨대 (더 높은 블록이나 또는 상이한 이미지의 일부와 비교하여 특권을 가진 바로 좌측에 있는)현재 블록에 부가된다. 변동에 따라, 이미 프로세싱된 이웃 블록들에 적용된 변환들의과 초기 서브-리스트 SL의 인터섹션이 제공된다. 이러한 크로싱은, 최종 서브-리스트의 크기를 감소시킬 수 있고, 이에 따라 현재 블록에 적용되는 변환의 리포팅을 감소시킬 수 있다. 이러한 크로싱은, 서브-리스트들 내부에 삽입된 변환들의 출현 확률들을 고려하여 수행될 수 있다.
T9에서, 양자화된 데이터는, 알려진 엔트로피 코딩 기법, 예를 들어, HEVC 표준에서 사용되는 것과 같은 Huffman 코딩, 산술 코딩 또는 CABAC 인코딩에 의해 인코딩된다.
단계 T10 동안, 변환의 식별의 초기 데이터 DI에 상호보완적인 데이터가 필요에 따라 인코딩된다.
본 발명의 특정 실시예에서, 이 단계는 구현되지 않는다. 이것은, 초기 변환 데이터가 오직 하나의 식별자 변환만을 포함하는 경우 및/또는 현재 블록이 예측된 것과는 상이한 변환이 부가되었음을 디코더에 리포팅하지 않기로 결정되었을 때의 경우이다. 디코더가 초기 데이터에 의해 식별된 변환을 배타적으로 적용하도록 배열되는 이 경우는 간단한 것으로 이해된다.
이러한 모드의 이점은, 구현하기에 간단하고 리포팅을 요구하지 않는다는 점이다.
다른 실시예들의 경우, 현재 블록의 특정 특성들에 관련된 변환들의 서브-리스트들이 1개 초과의 엘리먼트를 포함하는 것에 따라 또는 적용된 변환이 예측된 서브-리스트의 일부가 아닌 것으로 디코더에게 보고되어야 하는 것에 따라, 단계 T10이 사실상 구현된다.
T10에서, 그래서 우리는 현재 블록에 적용되는 변환 Tri가 서브-리스트 SL의 일부인지 여부를 먼저 체크한다. 만약에 이것이 그 경우라면 그리고 서브-리스트 SL이 단일 엘리먼트를 포함한다면, 적용된 변환은 예측된 변환에 대응한다. 유리하게, 디코더는, 초기 데이터가 예컨대 플래그-타입 접근방식에 의해 적용된 변환의 정정 예측이라고 리포팅받는다. 이것은, 초기 데이터 DI에 의해 표시된 변환이 고려된(플래그=0) 또는 고려되지 않은(플래그=1) 변환의 표시인지 여부를 표시하는 상호보완적 데이터 DC를, 엔트로피 또는 직접 이진 코드에 의해, 통상적으로 인코딩하는 것으로 구성된다.
플래그가 값 1로 설정되면, 상호보완적 정보에는, 코드(엔트로피 또는 엔트로피 아님)를 사용하여 초기 리스트 L에서 고려된 변환작업의 식별자를 나타내는 코드가, 예컨대, 인덱스의 형태로 부가된다.
하나의 이점은, 현재 블록에 적용된 변환이 사실상 예측된다면, 변환의 식별자를 명시적으로 송신하는 최신 기술과는 달리, 단일 비트가 이것을 리포팅하기 위해 사용될 것이라는 점이다.
리스트 SL이 몇몇 엘리먼트들을 포함한다면, 변환의 초기 식별 데이터 DI는, 디코더가 인코더에 의해 적용된 변환을 결정하도록 허용하기에 충분하지 않다.
본 발명의 다른 실시예에 따르면, T10에서 서브-리스트(SL, SL’)의 현재 블록에 적용되는 변환의 포지션 인덱스 POS를 포함하는 상호보완적 데이터 DC가 인코딩된다. 그래서, 서브-리스트는, 인코더 및 디코더가 서브-리스트로의 변환들의 포지션들의 지식을 공유하도록 순서화된다고 가정된다.
예로서, T8에서 결정된 서브-리스트는 변환작업들{1, 4, 7}을 포함하는 것으로 고려된다: 적용된 변환이 변환 4라면, 포지션 지표 POS=1, 이진 코딩된 ‘01’이 송신된다.
하나의 이점은, 현재 블록에 적용된 변환이 잘 예측된다면, 그 전체 식별자를 명시적으로 송신하는 최신 기술과는 달리, 비트 스트림 내에서 이것을 리포팅하기 위해 몇몇 비트들이 사용될 것이다.
적용된 변환이 서브-리스트(SL, SL’)의 일부가 아닌 경우, 상호보완적 데이터 DC는 이스케이프 코드를 포함하고, 그후, 적용된 변환의 완전한 식별자를 포함한다. 이 리포팅이 서브-리스트에서 포지션 인덱스 POS보다 필수적으로 더 고가라는 점이 이해된다. 그러나, 경쟁에 의해 변환을 선택하는 방법은, 추가 비용에도 불구하고, 적용된 변환이 최적의 레이트-왜곡 타협을 제공하는 것임을 보장한다.
예컨대, 고려된 변환이 특정 서브-리스트의 일부가 아닌 변환(6)이면, 예컨대, ‘11’과 동일한 이스케이프 코드를 전송하고, 변환들(6)을 식별하는 코드는 초기 리스트 L에서, 이진 형태의 6을 나타내는, 예컨대, 0110에 인접된다. 포지션 인덱스의 코드의 사용되지 않은 조합은 이스케이프 코드에 할당될 수 있다. 예컨대, 이진 코드의 4를 나타내는 코드 0100가 사용될 수 있다. 이것은, 특정 코드의 길이를 감소시키고 이에 따라 흐름을 감소시키는 것을 목적으로 한다.
유리하게, 상호보완적 데이터 DC는 그후, 디코더에 송신될 비트스트림의 사이즈를 최소화시키도록, 당업자들에게 잘 알려진 이진 코딩 방식(고정 길이, 산술 또는 Huffman 코드)를 통해 인코딩된다.
단계 T11동안, 왜곡의 현재 변환 Tri는, 양자화 오퍼레이터에 의해 도입된 종래의 본질적으로 제곱 오차 측정으로 추정된다.
유리하게, 이 평가 단계는 또한 이하를 포함한다:
- 변환된 그리고 양자화된 잔차를 송신하도록 요구되는 비트들의 수의 평가;
- 평가는, 인코딩 T10의 결과로부터 변환작업의 인덱스를 리포팅하도록 요구되는 비트들의 수이다.
T12에서, 현재 변환 Tri가 리스트 L의 마지막인지 여부가 테스트된다. 이것이 마지막이 아니라면, 인덱스 i는 1만큼 증분되고, 단계들(T3 내지 T11)이 반복된다.
변환 Tri가 리스트에서 마지막이라면, 다음 스테이지는 송신될 구성을 선택하는 단계 T13이다. 구성에 의해 엔트로피 방식으로 양자화되고 인코딩된 잔차 어셈블리를 의미하며, 이에 의해 상호보완적 코드에 의해 변환작업의 인덱스를 리포팅한다. 이 선택을 달성하기 위해, Lagrangian은, 잔차/상호보완적 리포팅에 의해 전달되는 대응 왜곡 및 레이트 어셈블리를 가중시키는 각각의 변환작업에 대한 공지된 기법들에 따라 구성된다. 선택은 최소 Lagrangian으로 변환을 유지한다.
단계 T14에서, 현재 블록에 적용된 변환작업과 연관된 인코딩된 상호보완적 데이터 및 선택된 잔차는 비트스트림 내부로 삽입된다.
그런 다음, 비트스트림 TB는 신호로서 디코더에 송신될 수 있다.
도 8a 및 도 8b와 관련하여, 본 발명의 일 실시예에 따른 블록 c에 적용된 변환 리포팅의 예들이 제시된다. 도 8a와 관련하여, 블록 c에 적용된 변환 Tri가 특정 서브-리스트(SL, SL’)에 포함되는 제1 예가 고려된다. 이것은, 블록 c에 대한 특정 서브-리스트(SL, SL’)에서 제1 포지션을 점유하는 변환 Tr1이다. 본 발명에 따르면, 리포팅은 서브-리스트 내의 TR1에서 포지션 인덱스 POS를 나타내는 상호보완적 데이터 DC로 제한된다. 예컨대, 3개의 엘리먼트들의 이러한 서브-리스트에 대해, 이러한 인덱스는 값 01만큼 2비트들로 인코딩될 수 있다. 물론, 이미 언급된 바와 같이, 당업자에게 알려져 있는, Huffman 코드들 또는 다른 엔트로피 코더와 같은 가변 길이 코드들이 또한 선택될 수 있다.
도 8b와 관련하여, 블록 c에 적용된 변환 Tri가 특정 서브-리스트(SL, SL’)에 포함되지 않는 제2 예가 고려된다. 다시 말해서, 변환의 예측은 정확하지 않다. 예컨대, 적용된 변환은 Tr6이다. 이 경우, 리포팅된 상호보완적 데이터는, 예컨대, 값 11 이후에 변환 Tr6의 완전한 식별자의 코드를 취하는 이스케이프 코드를 포함한다.
사전에 설명된 바와 같이, 특정 서브-리스트(SL, SL’)에 따라 적용된 변환의 식별자를 리포팅하는 것은 압축 성능들을 개선시키기 위해 엔트로피 타입 인코딩을 겪을 수 있다.
본 발명에 따른 인코딩 방법에 의해 생성된 비트스트림 TB는, 예컨대, 텔레커뮤니케이션 네트워크를 통해 신호로서 디코더에 송신된다. 이 신호는 디코더에 의해 수신된다.
비트스트림 TB가 본 발명에 따라 디코딩 방법을 구현하는 디코딩 디바이스에 의해 수신되었음이 가정된다. 이 디코딩 방법은 이제 도 9와 관련하여 설명될 것이다.
D0에서, 프로세싱될 제1 블록은 현재 블록 c’로서 선택된다. 예컨대, 이것은 (사전식 순서로) 제1 블록이다. 이 블록은 MxN 픽셀들을 포함하고, 여기서 M 및 N은 0이 아닌 정수들이다.
인코딩 프로세스에 대해 설명된 바와 같이, 고려된 블록 c’는 현재 블록의 예측 블록을 현재 블록으로 감산함으로써 획득된 CTU 블록 또는 잔차 블록 또는 서브-블록을 절단함으로써 획득된 CTU 블록 또는 CU 서브-블록일 수 있다.
단계 D1 동안, 현재 블록 c’에 관한 인코딩된 데이터가 판독되고 디코딩된다. 인코딩된 데이터는, 예컨대, 사용된 예측 모드, 또는 현재 블록에 적용된 변환의 식별자의 리포팅 및 현재 블록의 양자화된 잔차 계수들의 진폭들 및 부호들의 값들과 같은 인코딩 파라미터들을 포함한다.
예측이 인코더에 의해 행해졌다고 결정된 예측 모드가 표시할 때, 이미 프로세싱된 블록으로부터 결정된 예측 모드에 따라 D2에서 현재 블록이 예측된다. 예측된 블록 Pr’이 획득된다.
단계 D3에서, 현재 블록의 잔차 값들(계수들의 값들 및 부호들)인 양자화된 값들을 나타내는 판독된 데이터는 값들 RQ’의 벡터의 형태로 디코딩된다. 이것은 인코딩 방법과 관련하여 위에 설명된 엔트로피 인코딩의 역동작임이 이해된다.
단계 D4 동안, 디코딩된 양자화된 값들의 적어도 하나의 특성이 계산된다. 인코더에서 수행되는 것에 따라 행해지는 이러한 계산은, 송신된 양자화된 잔차에 기반하여 계산에 대한 기준을 고려한다.
D5에서, 변환들의 서브-리스트(SL, SL’)가 결정되는데, 이 변환들은 계산된 특성 값(들)과 연관된다.
단계(D4 및 D5)의 몇몇 실시예들이 고려된다. 이들은, 인코딩 방법의 단계들 T6 및 T7에 대해 도 4와 관련하여 이미 설명된 것들에 대응한다. 이들은 서로 조합될 수 있다.
· 본 발명의 제1 실시예에 따라, 현재 블록의 양자화된 데이터의 마지막 0이 아닌 계수의 포지션이 결정된다. 이 포지션으로부터, 하나 또는 그 초과의 변환들을 포함하는 변환작업의 초기 식별 데이터 DI가 메모리 M1에 저장된 테이블을 사용하여 매칭된다. 대안적으로, 계산된 특성은 유효 계수들의 수이다. 예로서, 주어진 임계 값의 유효 계수가, 하나 또는 그 초과의 사전설정된 변환들과 연관시키기 위해 이 경우에서 이 테이블을 사용할 수 있다.
· 본 발명의 제2 실시예에 따라, 현재 블록의 양자화된 데이터의 유효 계수들의 포지션들이 결정된다. 이를 행하기 위해, 각각의 유효 계수(즉, 상이하고 그리고 0이 아닌 값)에 대해 ‘1’을 포함하고, 0 계수에 대해 ‘0’을 포함하는 단어가 구축된다. 예컨대, 값들 [19,12,-4,0,18,3,0,-1,0,0]로 구성된 신호에는 단어 ‘1110110100’가 배정될 것이다. 메모리에 저장된 테이블을 사용하여, 변환작업의 초기 식별 데이터 DI가 결정된다. 주어진 코드워드는, 이용가능한 가장 가능성이 높은 변환들의 서브-리스트 SL을 식별한다.
· 제3 실시예에 따라, 계수들의 양자화된 값들의 제곱들 또는 절대 값들의 합의 특성 데이터가 계산된다. 예컨대, 특성의 값들의 인터벌과 사전설정된 변환들의 초기 식별 데이터 DI의 인터벌 사이의 기능 매칭 관계 또는 테이블을 사용하여, 그 특성의 값에 잘 적응된 변환들의 서브-리스트 SL에 대응하는 변환작업의 초기 식별 데이터 DI는 이 특성 데이터로부터 결정된다. 문제의 특성은 현재 블록의 계수들 C’에 의해 전달되는 에너지를 나타낸다는 점에 유의해야 한다. 예컨대, 고려된 임계치를 초과하는 에너지를 전달하는 잔차들은 서브-리스트 SL1을 식별할 것이지만, 그 에너지가 이 임계치보다 더 낮은 잔차들은 다른 SL2를 식별할 것이다.
· 제4 실시예에 따라, 양자화된 값들의 절대 값들 또는 제곱들의 에볼루션의 데이터 특성이 계산된다. 이 특성 값은 (절대 또는 제곱된) 연속 값들 사이에서 절대 값의 차이들을 합산합으로써 또는 성장 지표(growth indicator)를 합산함으로써 획득될 수 있다(2개의 연속 값들의 절대 값이 증가한다면 1, 그리고 그렇지 않다면 0임). 잘 맞는 변환들의 서브-리스트에 대응하는 변환작업의 초기 식별 데이터가 테이블을 사용하여 이 특성 값으로부터 획득된다.
· 제5 실시예에 따라, 양자화된 값들의 확률 밀도의 특성이 추정된다. 이러한 확률 밀도는, Florin Ghido에 의해, ≪ Near Optimal, Low Complexity Arithmetic Coding for Generalized Gaussian Sources ≫ 라는 제목으로 2005년 5월에 논문 AES에 제시된 바와 같이, 양자화된 값들의 절대 값들의 합과 제곱들의 합 사이의 비율을 사용함으로써 달성될 수 있다. 확률 밀도가 추정되었다면, 룩업 테이블은 특정 서브-리스트를 나타내는 변환의 초기 식별 데이터를 연관시키도록 허용한다. 예컨대, 주어진 확률 밀도는 주어진 변환과 연관될 것이다.
이러한 실시예들은 변환의 식별 정확도/식별의 계산 복잡도 사이에 다양한 절충들을 제공한다.
유리하게, 서브-리스트들의 변환(들)에 액세스하기 위한 테이블들은 이전 단계에서 디코더에 제공된다.
본 발명의 다른 실시예에 따르면, 초기 변환작업 데이터 DI 또는 서브-리스트 SL을 결정하기 위한 단계 D5는, 블록의 잔차 데이터의 일부 특성 값들에 대해 인코더에 그리고 디코더에 이용가능한 변환들의 리스트 L의 각각의 변환과 연관된 이전의 스코어들로부터, 코딩 방법에 대해 위에서 설명된 것과 유사한 방식으로 동적으로 구현된다. 이들은, 디코더의 메모리, 예컨대, 프로세싱될 블록의 잔차 신호의 하나 또는 그 초과의 특성(들)의 값 또는 값들의 범위에 대한 변환에 스코어를 연관시키는 테이블에 저장된다.
또 다른 실시예에서, 단계 D5는 이미 프로세싱된 블록들로부터 변환들의 사전설정된 넘버 NB-DT의 서브-리스트 SL’로의 삽입을 더 포함한다. 그런 다음, 인코딩과 유사하게 진행되어, 최종 서브-리스트 SL이 디코더 및 인코더와 동일하게 된다.
이 스테이지에서는 2개의 경우들이 가능하다:
제1 경우에서, D5에서 결정된 서브-리스트들 각각은 변환의 단일 식별자를 포함하고, 디코더는 임의의 부가적인 리포팅을 기대하지 않는다. 단계 D7 동안, D5에서 결정된 초기 데이터 DI에 의해 제공된 단일 정보로부터 적용될 역변환의 식별자를 재구축한다.
제2 경우에 따르면, 디코더는 비트스트림에 적용될 변환의 보충 리포팅을 페칭하도록 구성된다. 단계 D6 동안, 결정된 초기 데이터 DI에 상호보완적인 데이터 DC를 디코딩한다.
특정 서브-리스트 SL은 하나 또는 그 초과의 엘리먼트들을 포함할 수 있다.
단일 엘리먼트를 포함한다면, 상호보완적 데이터 DC는, 변환의 예측이 정확한지 여부를, 즉, 특정 서브-리스트의 변환을 현재 블록에 적용할지 여부를 표시한다.
현재 블록에 대한 변환들의 서브-리스트가 복수의 엘리먼트들을 포함한다면, 디코더는 이것이 포함하는 변환들의 순서 및 수 그리고 인코더가 비트스트림 내에서 상호보완적 데이터를 리포팅했던 방법을 인지한다.
이것은, 비트스트림 TB로부터 판독된 상호보완적 데이터 DC를 D6에서 디코딩하고, 그리고 인코더에 의해 적용된 변환이 특정 서브-리스트의 일부가 아님을 표시하도록 의도된 이스케이프 코드 또는 서브-리스트에 적용될 변환의 포지션 인덱스를 포함하는지 여부를 결정한다.
상호보완적 데이터 DC가 이스케이프 코드를 포함한다면, 이것은 이스케이프 코드 이후에 배치되는 적용된 변환의 완전한 식별자를 또한 포함한다.
변환의 초기 식별자 DI가 오직 단일 값과 연관된다면, 상호보완적 데이터 DC는 초기 DI에 의해 행해지는 선택이 정확한지 여부를 표시한다.
초기 변환 식별자가 몇몇 값들을 갖는다면, 상호보완적 식별자는 가능한 값들 중에서 사용될 변환을 표시할 것이다. 식별자는, 인코더에 의해 행해지는 선택이 초기 변환 식별자에 의해 표시되는 값들의 일부가 아닌지 여부를 표시할 것이다. 이로써, 상호보완적 식별자는 인코더에 의해 선택된 변환의 인덱스를 특정하는 이진 코드(엔트로피로서 인코딩되거나 또는 되지 않음)를 포함할 것이다.
예로서, 문제의 예측 모드의 변환들(1, 3, 9)이 수긍가능한(plausible) 것으로 고려하는 값들(1, 3, 9)을 포함하는 초기 변환 식별자를 고려하자. 2 비트들로 인코딩된 상호보완적 식별자는, 변환작업 1을 값 ‘00’으로, 변환작업 3을 값 ‘01’로, 그리고 변환작업 9를 ‘10’으로 표시한다. 상호보완적 식별자가 값 ‘11’을 갖는다면, 상호보완적 식별자는, 초기 식별자에 의해 포인팅되는 3개의 변환들을 배제함으로써, 고려되는 예측 모드에 대해 프로비저닝된 것들 사이에서, 선택된 변환을 특정할 상호보완적 코드에 의해 보충될 것이다.
D8에서, 현재 블록 c’의 데이터는 역양자화된다.
D9에서, 도 4의 단계 T5에서 설명된 현재 블록의 스캐닝에 대한 역 프로세스에 따라, 잔차 1차원적 벡터의 데이터는 현재 블록에서 재조직화된다.
단계 D10에서, D6에서 재구성된 변환들의 인덱스에 대응하는 변환은 양자화된 데이터에 적용된다. 이러한 변환작업은 인코더에서 수행된 것의 역변환에 대응한다. 그후, 그 결과는 공간 도메인에서 획득된 잔차 신호 r’이다.
단계 D11에서, 디코딩된 이미지의 픽셀들의 블록 c’는 획득된 블록 r’로부터 재구성되고(reconstructed), 디코딩되는 이미지 ID에 통합된다. 블록 c’가 잔차 블록이기 때문에, 사전에 프로세싱된 기준 이미지로부터 획득된 현재 블록의 예측 PD’이 부가된다.
단계 D12 동안, 사전에 정의된 스캐닝 순서가 주어지면, 현재 블록이 디코더에 의해 프로세싱될 마지막 블록인지 여부가 테스트된다. 만약 마지막 블록이라면, 디코딩 프로세스는 그 프로세싱을 완료했다. 만약 마지막 블록이 아니라면, 다음 단계는 다음 블록 D13을 선택하는 단계이고, 위에 설명된 디코딩 단계들(D1 내지 D12)은 다음 선택된 블록에 대해 반복된다.
방금 설명된 본 발명은 소프트웨어 및/또는 하드웨어 컴포넌트들을 사용하여 구현될 수 있음에 유의해야 할 것이다. 이러한 맥락에서, 이 문헌에서 사용되는 용어들 “모듈” 및 “엔티티”는 고려되는 모듈 또는 엔티티에 대해 개략된 기능들을 구현할 수 있는, 소프트웨어 컴포넌트 또는 하드웨어 컴포넌트 중 하나 일 수 있거나 또는 심지어 하드웨어 및/또는 소프트웨어의 세트일 수 있다.
도 10과 관련하여, 본 발명에 따라 디지털 이미지를 인코딩하기 위한 디바이스(100)의 간략화된 물질 구조의 일 예가 이제 표현된다. 디바이스(100)는, 도 4와 관련하여, 그 상이한 실시예들에 방금 설명된 본 발명에 따른 인코딩 방법을 구현한다.
예컨대, 디바이스(100)는, 프로세서 μ1가 탑재되고 메모리(130)에 저장된 컴퓨터 프로그램 Pg1(120)에 의해 구동되고, 그리고 본 발명에 따른 방법을 구현하는 프로세싱 유닛(110)을 포함한다.
초기화시에, 컴퓨터 프로그램 Pg1(120)의 코드 명령들은, 예컨대, 프로세싱 유닛(110)의 프로세서에 의해 실행되기 전에 RAM으로 로딩된다. 프로세싱 유닛(110)의 프로세서는, 컴퓨터 프로그램(120)의 명령들에 따라, 위에 설명된 방법 단계들을 구현한다.
본 발명의 이 실시예에서, 디바이스(100)는 현재 블록으로부터 예측을 감산함으로써 현재 블록의 잔차를 획득하기 위한 RES 유닛인, 현재 블록의 적어도 하나의 PRED 유닛을 포함한다.
더욱이, 인코더에 이용가능한 복수의 변환들이 완료될 수 있도록, 이는 동일한 블록에 대한 구현을 위해 여러 번 배열된 복수의 유닛들을 포함한다. 이들은, 인코더에 이용가능하고 그리고 메모리(예컨대, 메모리(130))에 테이블로서 저장된 변환들의 리스트 L로부터 현재 블록 c에 적용되기 위한 변환을 식별하는 유닛 ID-TRANS, 식별된 변환을 사용하여 변환 블록 c에서 현재 블록의 주파수 변환 유닛 TRANS, 변환된 블록의 양자화의 유닛 QUANT, 1차원 벡터 RQ'[j]를 구성하기 위한 사전설정된 순서의 SCAN 유닛, 양자화된 1차원 벡터를 인코딩하는 유닛 ENC RQ 및 레이트-왜곡 기준에 따라 적용된 변환 Tri를 평가하는 유닛 EVAL을 포함한다. 본 발명에 따른 인코딩 디바이스는 평가된 변환들에 대한 유닛 EVAL에 의해 획득된 결과들로부터 최상의 변환의 선택 유닛 SEL을 더 포함한다. 그런 다음, 선택된 변환으로부터의 인코딩된 데이터는 비트스트림 TB에 삽입된다.
본 발명에 따라, 디바이스는 현재 블록의 잔차 신호의 적어도 하나의 특성을 계산하기 위한 유닛 CALC, 상기 적어도 하나의 계산된 특성과 연관된 변환들의 서브-리스트의 초기 식별 데이터를 결정하는 DET 유닛 및 특정 서브-리스트에 적용된 변환의 소속(belonging)을 검증하는 유닛을 더 포함한다. 선택적으로, 디바이스는 초기 식별 데이터의 상호보완적 데이터를 인코딩하는 것을 포함하는, 선택된 변환의 식별자를 인코딩하는 유닛 ENC TR-ID를 포함한다. 이 유닛은, 적어도 적용된 변환이 변환들의 특정 서브-리스트의 일부인 것처럼 필요에 따라 구현되도록 설계되었다. 예컨대, 변환의 서브-리스트 SL을 포함하는 변환들의 초기 식별 데이터는, 메모리, 예컨대, 메모리(130)의 테이블로서 또는 이 서브-리스트로의 링크로서 저장된다.
이러한 유닛들은 프로세싱 유닛(110)의 프로세서 μ1에 의해 제어된다.
유리하게, 디바이스(100)는 사용자 단말(TU)로 통합될 수 있다. 그런 다음, 디바이스(100)는, 비트스트림 TB 또는 압축된 파일 FC가 텔레커뮤니케이션 네트워크를 통해 디코딩 디바이스에 송신되는 단말(TU)의 데이터를 전송/수신하기 위한 모듈 E/R과 적어도 협력하도록 배열된다.
도 11과 관련하여, 우리는 이제 본 발명에 따른 디코딩 디바이스의 간략화된 물질 구조의 일 예를 제시한다. 예컨대, 디코딩 디바이스(200)는, 프로세서 μ2가 탑재되고 메모리(130)에 저장된 컴퓨터 프로그램 Pg2(220)에 의해 구동되고, 그리고 도 9와 관련하여 본 발명의 상이한 실시예들에 방금 설명된 본 발명에 따른 디코딩 방법을 구현하는 프로세싱 유닛(210)을 포함한다.
초기화시에, 컴퓨터 프로그램 Pg2(220)의 코드 명령들은, 예컨대, 프로세싱 유닛(210)의 프로세서에 의해 실행되기 전에 RAM으로 로딩된다. 프로세싱 유닛(210)의 프로세서는, 컴퓨터 프로그램(220)의 명령들에 따라, 위에 설명된 방법 단계들을 구현한다.
본 발명의 이 실시예에서, 디바이스(200)는, 인코딩 파라미터들 및 양자화된 잔차 계수들의 값들을 포함하여 현재 블록에 대한 비트스트림 내의 인코딩된 데이터를 판독하는 적어도 하나의 유닛 GET, 획득된 데이터로부터 변환되고 양자화된 현재 블록의 계수들을 디코딩하는 유닛 DEC RES, 디코딩된 계수들을 역양자화하는 유닛 DEQUANT, 현재 블록의 잔차 1차원 벡터의 데이터를 재조직화하는 유닛 STAN-1, 변환된 현재 잔차 블록의 역변환의 유닛 TRANS-1, 블록의 예측으로부터 그리고 잔차로부터 현재 블록을 재구성하는 유닛 RECONST를 포함한다.
유리하게, 이 디바이스는 게다가, 현재 블록의 양자화된 잔차 신호의 적어도 하나의 특성을 계산하기 위한 유닛 CALC 및 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터 DI를 결정하기 위한 유닛 DET를 포함한다. 예컨대, 변환들의 초기 식별 데이터는, 메모리, 예컨대, 메모리(230)의 테이블로서 저장된 변환들의 서브-리스트 SL을 포함하거나 또는 이 서브-리스트로의 링크를 포함한다.
이러한 2개의 유닛들은 본 발명에 따른 인코딩 디바이스의 유닛들과 유사하다. 본 발명에 따른 디코딩 디바이스(200)는, 적어도 초기 데이터 ID로부터 현재 블록에 적용된 변환의 식별자를 재구성하는 UNIT REC TR-ID를 더 포함한다. 본 발명의 일 실시예에 따라, 디바이스(200)는 비트스트림에서 판독된 상호보완적 데이터 DC를 디코딩하기 위한 유닛 DEC DC를 더 포함한다. 이 상호보완적 데이터는, 도 9와 관련하여 사전에 설명된 바와 같이, 변환들의 서브-리스트의 지식으로부터 현재 블록에 적용될 역변환의 식별자를 결정하기 위해 재구성 유닛 REC TR-ID에 의해 동작된다.
이러한 유닛들은 프로세싱 유닛(210)의 프로세서 μ2에 의해 제어된다.
유리하게, 디바이스(200)는 사용자 단말(TU)로 통합될 수 있다. 그런 다음, 디바이스(200)는 단말(TU’)의 다음 모듈과 적어도 협력하도록 배열된다:
- 데이터를 전송하고 수신하기 위한 E/R 모듈(이 E/R 모듈을 통해, 비트 스트림 TB 또는 압축된 파일 FC이 텔레커뮤니케이션 네트워크로부터 수신됨);
- 이미지들을 재구성하기 위한 디바이스 DISP, 예컨대, 단말 모니터(이 디바이스를 통해, 디코딩된 디지털 이미지 또는 일련의 디코딩된 이미지들이 사용자를 위해 재구성됨).
유리하게, 사용자 단말(TU, TU’)은 본 발명에 따라 인코딩하기 위한 장치(100) 및 디코딩하기 위한 장치(200) 둘 모두를 포함할 수 있다.
위에서 설명된 실시예들은 순수하게 명시적이고 비-제한적인 예로서 주어졌으며, 많은 수정들이 본 발명의 범위로부터 벗어나지 않고 당업자들에 의해 쉽게 이행될 수 있음은 물론이다.

Claims (16)

  1. 디지털 이미지를 인코딩하기 위한 방법으로서,
    상기 이미지(IK)는 정의된 순서로 프로세싱된 픽셀들의 복수의 블록들로 분할되고,
    상기 방법은 사전설정된 사이즈들을 갖는 현재 블록에 대해 구현되는 이하의 단계들:
    - 복수의 사전설정된 모드들로부터 선택된 예측 모드에서 사전에 프로세싱된 적어도 하나의 블록으로부터 상기 현재 블록의 값들을 예측하는 단계(T1),
    - 예측된 값들을 상기 현재 블록의 오리지널 값들로부터 감산함으로써 잔차 블록(R)을 계산하는 단계(T2),
    - 상기 잔차 블록의 픽셀들에 변환을 적용함으로써 변환된 잔차 블록(RT)을 획득하는 단계(T3) ― 상기 변환된 잔차 블록은 계수들을 포함하고, 상기 변환은 변환들의 사전설정된 리스트의 일부임 ―; 및
    - 변환된 잔차 블록을 인코딩하는 단계(T9)
    를 포함하고,
    상기 방법은, 상기 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 단계(T6), 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터를 결정하는 단계(T7), 및 상기 현재 블록에 적용된 변환이 초기 데이터에 의해 식별된 상기 서브-리스트의 일부임을 검증하는 단계를 포함하는,
    디지털 이미지를 인코딩하기 위한 방법.
  2. 제1 항에 있어서,
    상기 방법은, 변환들의 식별의 상기 초기 데이터(DI)에 상호보완적인 데이터(DC)를 인코딩하는 단계를 포함하는,
    디지털 이미지를 인코딩하기 위한 방법.
  3. 제2 항에 있어서,
    적용된 변환이 특정 서브-리스트의 일부이고, 상기 서브-리스트가 2보다 크거나 2와 동일한 변환들의 수를 포함하는 경우, 상기 상호보완적 데이터(DC)는 상기 특정 서브-리스트(SL, SL’)에서 상기 변환의 포지션 인덱스(POS)를 포함하는,
    디지털 이미지를 인코딩하기 위한 방법.
  4. 제2 항에 있어서,
    적용된 변환이 특정 서브-리스트의 일부가 아닌 경우, 상기 포지션 인덱스는 이스케이프 값(escape value)(ECH)을 취하며, 상기 상호보완적 데이터(DC)는 적용된 변환의 식별자(TR-ID)를 더 포함하는,
    디지털 이미지를 인코딩하기 위한 방법.
  5. 제1 항 내지 제 4항 중 어느 한 항에 있어서,
    상기 변환된 잔차 블록의 적어도 하나의 계수 값을 나타내는 상기 적어도 하나의 특성은 적어도:
    - 마지막 유효(significant) 양자화된 잔차 계수의 포지션;
    - 유효 잔차 계수들의 포지션들의 리스트;
    - 양자화된 잔차 계수들의 제곱들의 합;
    - 상기 양자화된 잔차 계수들의 절대 값들의 합;
    - 상기 양자화된 잔차 계수들의 제곱들의 에볼루션(evolution)을 나타내는 값;
    - 상기 양자화된 잔차 계수들의 절대 값들의 에볼루션을 나타내는 값;
    - 상기 양자화된 잔차 계수들의 확률 밀도를 나타내는 값
    을 포함하는 그룹의 일부인,
    디지털 이미지를 인코딩하기 위한 방법.
  6. 제1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 결정하는 단계(T7)는 메모리에서 설정된 초기 식별 데이터를 판독하는 단계를 포함하며,
    상기 데이터는 상기 현재 블록의 양자화된 잔차 계수의 적어도 하나의 값의 상기 적어도 하나의 특성과 연관되는,
    디지털 이미지를 인코딩하기 위한 방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 현재 블록의 양자화된 잔차 계수의 적어도 하나의 값의 적어도 하나의 특성에 대한 변환에 스코어가 사전에 할당되었고,
    초기 데이터를 결정하는 단계는, 상기 리스트(L)의 변환들로부터, 스코어가 사전설정된 임계치를 초과하는 서브-리스트 SL를 구축하는,
    디지털 이미지를 인코딩하기 위한 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 변환들의 초기 식별 데이터를 결정하는 단계에서, 적어도 하나의 사전에 프로세싱된 블록에 적용된 변환은 상기 서브-리스트(SL’)로 삽입되는,
    디지털 이미지를 인코딩하기 위한 방법.
  9. 디지털 이미지를 인코딩하기 위한 디바이스(100)로서,
    상기 이미지(IK)는 정의된 순서로 프로세싱된 픽셀들의 복수의 블록들로 분할되고,
    상기 디바이스는 설정된 사이즈들을 갖는 현재 블록(c)에 대해 구현될 수 있는 이하의 유닛들:
    - 복수의 사전설정된 모드들로부터 선택된 예측 모드에 따라 사전에 프로세싱된 적어도 하나의 블록으로부터 상기 현재 블록 값들을 예측하는 유닛(PRED);
    - 예측된 값들을 상기 현재 블록의 오리지널 값들로부터 감산함으로써 잔차 블록(R)을 계산하는 유닛(DET RES),
    - 상기 잔차 블록의 픽셀들에 변환을 적용함으로써 변환된 잔차 블록(RT)을 획득하는 유닛(TRANS) ― 상기 변환된 잔차 블록은 계수들을 포함하고, 상기 변환은 사전설정된 변환들의 리스트의 일부임 ―; 및
    - 변환된 잔차 블록을 인코딩하는 유닛(ENC RQ)
    을 포함하고,
    상기 디바이스는, 상기 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성의 계산 유닛(CALC)뿐만 아니라, 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터(ID)의 결정 유닛(DET)을 포함하는,
    디지털 이미지를 인코딩하기 위한 디바이스(100).
  10. 비트 스트림으로부터 디지털 이미지를 디코딩하기 위한 방법으로서,
    상기 비트 스트림은 상기 이미지를 나타내는 인코딩된 데이터를 포함하고,
    상기 이미지는 정의된 순서로 프로세싱되는 복수의 픽셀들의 블록들로 분할되며,
    상기 방법은 블록(C’), 소위 현재 블록에 대해 구현되는 이하의 단계들:
    - 적어도 하나의 사전에 프로세싱된 블록으로부터 상기 현재 블록을 예측하는 단계(D2);
    - 상기 비트스트림(TB)으로부터 추출된 변환된 잔차 블록의 계수들의 인코딩된 값들을 디코딩하는 단계(D3);
    - 역변환들의 사전설정된 리스트 중에서 식별된 역변환(reverse transform)을, 변환된 잔차 블록에 적용시킴으로써 잔차 블록을 획득하는 단계(D9);
    - 상기 잔차 블록으로부터 그리고 상기 현재 블록의 예측으로부터 디코딩된 블록을 재구성(reconstructing)하는 단계(D10)
    를 포함하고,
    상기 방법은, 상기 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 단계(T4), 상기 적어도 하나의 계산된 특성과 연관된 적어도 하나의 변환의 서브-리스트를 나타내는 초기 식별 데이터를 결정하는 단계(D5), 및 적어도 설정된 초기 데이터로부터 상기 변환된 잔차 블록에 적용될 상기 역변환의 식별자를 재구성하는 단계(D10)를 포함하는,
    비트 스트림으로부터 디지털 이미지를 디코딩하기 위한 방법.
  11. 제10 항에 있어서,
    상기 방법은, 상기 초기 데이터에 상호보완적인 데이터를 디코딩하는 단계를 더 포함하고,
    상기 적용될 역변환의 식별자를 재구성하는 단계는 상기 상호보완적인 데이터를 고려하는,
    비트 스트림으로부터 디지털 이미지를 디코딩하기 위한 방법.
  12. 비트 스트림으로부터 디지털 이미지(DI)를 디코딩하기 위한 디바이스(200)로서,
    상기 비트 스트림은 상기 이미지를 나타내는 인코딩된 데이터를 포함하고,
    상기 이미지는 정의된 순서로 프로세싱되는 복수의 픽셀들의 블록들로 분할되며,
    상기 디바이스는 블록, 소위 현재 블록에 대해 구현될 수 있는 이하의 유닛들:
    - 적어도 하나의 사전에 프로세싱된 블록으로부터 상기 현재 블록을 예측하는 유닛(PRED’);
    - 상기 비트스트림(TB)으로부터 추출된 변환된 잔차 블록의 계수들의 인코딩된 값들을 디코딩하는 유닛(DEC RES);
    - 사전설정된 역변환들의 리스트 중에서 식별된 역변환을, 변환된 잔차 블록에 적용시킴으로써 잔차 블록을 획득하는 유닛(TRANS-1);
    - 상기 잔차 블록으로부터 그리고 상기 현재 블록의 예측으로부터 디코딩된 블록을 재구성하는 유닛(RECONST)
    을 포함하고,
    상기 디바이스는, 상기 현재 블록의 적어도 하나의 변환된 잔차 계수를 나타내는 적어도 하나의 특성을 계산하는 유닛(CALC), 상기 적어도 하나의 계산된 특성과 연관된 변환들의 식별의 초기 데이터를 결정하는 유닛(DET), 및 적어도 설정된 초기 데이터로부터 상기 변환된 잔차 블록에 적용될 상기 역변환의 식별자를 재구성하는 유닛(REC TR-ID)을 포함하는,
    비트 스트림으로부터 디지털 이미지(DI)를 디코딩하기 위한 디바이스(200).
  13. 디지털 이미지를 나타내는 인코딩된 데이터를 포함하는 비트 스트림을 전달하는(carrying) 신호로서,
    상기 디지털 이미지는 설정된 순서로 프로세싱된 픽셀들의 블록들로 분할되고,
    현재 블록의 값들은 복수의 사전설정된 모드들로부터 선택된 예측 모드에 따라 사전에 프로세싱된 적어도 하나의 블록의 값들로부터 예측되고,
    예측된 값들을 잔차 블록의 값들은 현재 블록의 오리지널 값들로부터 감산함으로써 계산되며,
    변환된 잔차 블록은 잔차 블록의 픽셀들에 변환을 적용시킴으로써 획득되고, 상기 변환된 잔차 블록은 계수들을 포함하고, 상기 변환은 변환들의 사전설정된 리스트의 일부이고; 그리고
    현재 블록에 대해, 상기 신호는 상호보완적 인코딩된 데이터(DC)를 포함하며,
    상기 상호보완적 인코딩된 데이터는 변환된 식별의 초기 데이터로부터, 현재 잔차 블록의 값들에 적용될 역변환의 식별자를 재구성하기 위해 활용되도록 의도되고,
    상기 초기 데이터는 상기 리스트의 적어도 하나의 변환의 서브-리스트를 나타내고 그리고 현재 변환된 잔차 블록의 적어도 하나의 값의 적어도 하나의 특성과 연관되는,
    비트 스트림을 전달하는 신호.
  14. 사용자 단말(UT)로서,
    제9항에 따른 디지털 이미지를 인코딩하기 위한 디바이스 및 제12 항에 따른 디지털 이미지를 디코딩하기 위한 디바이스를 포함하는,
    사용자 단말(UT).
  15. 컴퓨터 프로그램으로서,
    프로세서에 의해 실행될 때, 제1 항 내지 제8 항 중 어느 한 항에 따른, 디지털 이미지를 인코딩하기 위한 방법을 구현하기 위한 명령들을 포함하는,
    컴퓨터 프로그램.
  16. 컴퓨터 프로그램으로서,
    프로세서에 의해 실행될 때, 제10 항 또는 제11 항에 따른, 디지털 이미지를 디코딩하기 위한 방법을 구현하기 위한 명령들을 포함하는,
    컴퓨터 프로그램.
KR1020187002783A 2015-06-29 2016-06-16 디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들 KR102684586B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1556016 2015-06-29
FR1556016A FR3038196A1 (fr) 2015-06-29 2015-06-29 Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
PCT/FR2016/051456 WO2017001741A1 (fr) 2015-06-29 2016-06-16 Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés

Publications (2)

Publication Number Publication Date
KR20180021879A true KR20180021879A (ko) 2018-03-05
KR102684586B1 KR102684586B1 (ko) 2024-07-12

Family

ID=55178029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187002783A KR102684586B1 (ko) 2015-06-29 2016-06-16 디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들

Country Status (9)

Country Link
US (2) US10924737B2 (ko)
EP (2) EP3314897B1 (ko)
JP (2) JP6873930B2 (ko)
KR (1) KR102684586B1 (ko)
CN (2) CN112804529B (ko)
ES (1) ES2930636T3 (ko)
FR (1) FR3038196A1 (ko)
PL (1) PL3314897T3 (ko)
WO (1) WO2017001741A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190098A1 (ko) * 2018-03-28 2019-10-03 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
CN110072113B (zh) * 2019-05-17 2023-03-10 华侨大学 一种基于贝叶斯决策的3d-hevc深度图帧间快速算法
CN114079772B (zh) * 2020-08-21 2023-04-07 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
US11683490B2 (en) * 2020-09-10 2023-06-20 Tencent America LLC Context adaptive transform set
CN112543337B (zh) * 2020-09-27 2023-05-02 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN113592966B (zh) * 2021-08-04 2024-04-30 上海哔哩哔哩科技有限公司 图像处理方法及装置、电子设备和存储介质
US11856227B2 (en) * 2022-05-26 2023-12-26 Mediatek Inc. Transform architecture in video encoding systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
CN103338365B (zh) * 2007-06-29 2017-04-12 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
JP5215165B2 (ja) * 2008-12-24 2013-06-19 株式会社情報システム総合研究所 画像圧縮装置、および画像圧縮方法
KR20210064398A (ko) * 2009-01-27 2021-06-02 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
CN104717503B (zh) * 2009-04-08 2018-12-04 夏普株式会社 运动图像编码装置以及运动图像解码装置
US8451903B2 (en) * 2009-05-14 2013-05-28 Massachusetts Institute Of Technology Selecting transforms for compressing visual data
CN102045560B (zh) * 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
US9338449B2 (en) * 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
KR101943049B1 (ko) * 2011-06-30 2019-01-29 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN103096053B (zh) * 2011-11-04 2015-10-07 华为技术有限公司 一种变换模式的编解码方法和装置
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
FR3014278A1 (fr) * 2013-11-29 2015-06-05 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US9602826B2 (en) * 2014-06-27 2017-03-21 Massachusetts Institute Of Technology Managing transforms for compressing and decompressing visual data
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190098A1 (ko) * 2018-03-28 2019-10-03 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
EP4102840A1 (fr) 2022-12-14
KR102684586B1 (ko) 2024-07-12
US20210136382A1 (en) 2021-05-06
EP3314897B1 (fr) 2022-09-07
CN112804529A (zh) 2021-05-14
JP6873930B2 (ja) 2021-05-19
JP7110441B2 (ja) 2022-08-01
WO2017001741A1 (fr) 2017-01-05
CN107710763A (zh) 2018-02-16
CN107710763B (zh) 2021-02-02
JP2018524923A (ja) 2018-08-30
EP3314897A1 (fr) 2018-05-02
ES2930636T3 (es) 2022-12-20
US11451777B2 (en) 2022-09-20
FR3038196A1 (fr) 2016-12-30
CN112804529B (zh) 2024-02-23
US10924737B2 (en) 2021-02-16
US20180199037A1 (en) 2018-07-12
PL3314897T3 (pl) 2023-01-16
JP2021114786A (ja) 2021-08-05

Similar Documents

Publication Publication Date Title
TWI813126B (zh) 相依量化技術
KR102684586B1 (ko) 디지털 이미지를 인코딩하기 위한 방법, 디코딩 방법, 디바이스들, 및 연관 컴퓨터 프로그램들
KR102662646B1 (ko) 종속 스칼라 양자화에 적합한 변환 계수의 엔트로피 코딩
EP3357242B1 (en) Non-separable secondary transform for video coding
US10602188B2 (en) Method and apparatus for encoding or decoding image using syntax signaling for adaptive weight prediction
CN111819853B (zh) 图像块编码装置和图像块编码方法
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
KR102613155B1 (ko) 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩
EP3729813B1 (en) Method and apparatus for video encoding and decoding based on context switching
KR20170026536A (ko) 디지털 이미지를 인코딩하기 위한 방법 및 연관된 디코딩 방법, 디바이스들 및 컴퓨터 프로그램들
CN104221373A (zh) 用于采样自适应偏移代码化和/或信号通知的设备和方法
US20170353722A1 (en) A method for encoding a digital image, decoding method, devices, and associated computer programs

Legal Events

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