KR20180081512A - 인코딩 및 디코딩 방법 및 대응하는 디바이스들 - Google Patents

인코딩 및 디코딩 방법 및 대응하는 디바이스들 Download PDF

Info

Publication number
KR20180081512A
KR20180081512A KR1020187012768A KR20187012768A KR20180081512A KR 20180081512 A KR20180081512 A KR 20180081512A KR 1020187012768 A KR1020187012768 A KR 1020187012768A KR 20187012768 A KR20187012768 A KR 20187012768A KR 20180081512 A KR20180081512 A KR 20180081512A
Authority
KR
South Korea
Prior art keywords
encoding
accuracy
transform
decoding
vector
Prior art date
Application number
KR1020187012768A
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 KR20180081512A publication Critical patent/KR20180081512A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/94Vector quantisation

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)

Abstract

픽처를 나타내는 비트스트림을 디코딩하기 위한 방법이 개시된다. 그 디코딩 방법은 - 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 단계; - 상기 결정된 정보에 응답하여 변환을 디코딩하는 단계; - 디코딩된 변환을 사용하여 상기 픽처를 디코딩하는 단계를 포함한다.

Description

인코딩 및 디코딩 방법 및 대응하는 디바이스들
다음에 있어서, 픽처를 인코딩하기 위한 방법 및 디바이스가 개시된다. 대응하는 디코딩 방법 및 디코딩 디바이스가 추가로 개시된다.
종래, 최근 수십년에 개발된 다수의 비디오 및 픽처 코덱들 (MPEG2, h264/AVC, HEVC, VP8, VP9 등) 에 있어서, 고정된 변환들 (DCT, DST 등) 이, 변환된 계수, 더 정확하게는, 주파수 계수들을 획득하기 위해 각각의 블록의 픽셀들에 (더 정확하게는, 그 잔차 (residual) 에) 적용된다. 그 후, 이들 주파수 계수들은 양자화기 (Q) 에 의해 양자화되어, 엔트로피 코더 (VLC, 산술 코더, CABAC 등) 에 의해 인코딩되는 양자화된 계수들을 획득한다.
고정된 변환들에 대안적으로, 2015년 9월 3일자로 공개된 PCT출원 PCT/EP15/053298 에 개시된 것들과 같은 컨텐츠 적응적 변환이 사용될 수도 있다. 그러한 컨텐츠 적응적 변환을 사용하는 것은 에너지의 더 양호한 컴팩트화를 유도하고, 따라서, 비트레이트를 감소시킨다. 하지만, 적응적 변환들은 디코더로 전송되어야 하고, 이에 대한 답례로, 비트레이트를 증가시킨다. 변환들을 전송하는 방식에 주의하지 않으면, 글로벌 비트레이트 레이트는 증가할 수도 있다.
예를 들어, 사이즈 8×8 의 잔차 블록들에 대해 학습된 64×64 사이즈의 비-분리가능한 변환은, 10 비트들의 정확도에서 인코딩될 경우 64×64×10 = 40K비트들을 요구한다. 따라서, 4개의 그러한 변환들의 코딩 비용은 대략 160K비트들을 요구할 것이다. 더 일반적으로, 사이즈 N×N 의 픽셀들의 블록에 대해 적용될 변환은 사이즈 N2 의 (즉, N2 컴포넌트들을 갖는) N2 벡터들로 구성된다. 따라서, 변환의 사이즈는 N 과 함께 급속히, 즉, N4 으로서 증가한다. 이는 시퀀스 자체의 비트 레이트에 비교하여, 특히, 낮은 비트 레이트에서 인코딩하기 위해 상당한 양의 정보이다.
따라서, 그러한 컨텐츠 적응적 변환들을 적은 비트레이트 오버헤드로 인코딩하기 위한 방법의 필요성이 존재한다.
픽처를 나타내는 비트스트림을 디코딩하기 위한 방법이 개시되고, 그 방법은,
- 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 단계;
- 상기 결정된 정보에 응답하여 변환을 디코딩하는 단계;
- 디코딩된 변환을 사용하여 상기 픽처를 디코딩하는 단계를 포함한다.
제 1 실시형태에 있어서, 인코딩 정확도를 나타내는 정보를 결정하는 것은 비트스트림으로부터 상기 인코딩 정확도를 디코딩하는 것을 포함한다.
특정 특성에 따르면, 인코딩 정확도를 나타내는 상기 정보는 비트들의 수이다.
변형예에 있어서, 인코딩 정확도를 나타내는 상기 정보는 비트 감분 (decrement) 이다.
다른 실시형태에 있어서, 그 방법은 변환 벡터들의 수를 나타내는 정보를 디코딩하는 단계를 더 포함하고, 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 것은 각각의 변환 벡터에 대한 인코딩 정확도를 나타내는 정보를 디코딩하는 것을 포함하고, 상기 결정된 정보에 응답하여 상기 변환을 디코딩하는 것은 연관된 인코딩 정확도에 응답하여 각각의 변환 벡터의 컴포넌트들을 디코딩하는 것을 포함한다.
픽처를 인코딩하기 위한 방법이 또한 개시되고, 그 방법은,
- 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 단계;
- 상기 결정된 정보에 응답하여 변환을 인코딩하는 단계; 및
- 인코딩된 변환을 사용하여 상기 픽처를 인코딩하는 단계를 포함한다.
디코딩 디바이스가 개시되고, 그 디코딩 디바이스는,
- 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 수단;
- 상기 결정된 정보에 응답하여 변환을 디코딩하는 수단; 및
- 디코딩된 변환을 사용하여 상기 픽처를 디코딩하는 수단을 포함한다.
인코딩 디바이스가 개시되고, 그 인코딩 디바이스는,
- 적어도 하나의 인코딩 정확도를 나타내는 정보를 결정하는 수단;
- 상기 결정된 정보에 응답하여 변환을 인코딩하는 수단; 및
- 인코딩된 변환을 사용하여 상기 픽처를 인코딩하는 수단을 포함한다.
적어도 하나의 인코딩 정확도를 나타내는 정보, 상기 인코딩 정확도에 응답하여 인코딩된 변환을 나타내는 정보, 및 인코딩된 변환을 사용하여 인코딩된 픽처를 나타내는 정보를 포함하는 비트스트림이 개시된다.
적어도 하나의 인코딩 정확도를 나타내는 정보, 상기 인코딩 정확도에 응답하여 인코딩된 변환을 나타내는 정보, 및 인코딩된 변환을 사용하여 인코딩된 픽처를 나타내는 정보를 포함하는 비트스트림을 포함하는 비-일시적인 저장 매체가 개시된다.
- 도 1a 및 도 1b 는 특정한 및 비-한정적인 실시형태들에 따른, 비트스트림에서 변환을 인코딩하기 위한 방법의 플로우차트들을 나타낸다.
- 도 2 는 오직 예시적인 목적으로 온더플라이 (on-the-fly) 블록 기반 변환 학습 방식의 플로우차트를 나타낸다.
- 도 3 은 코딩된 변환 벡터들의 수에 대한 성능 이득의 변동을 도시한다.
- 도 4 는 감소된 정확도를 갖는 적응적 변환들을 사용한 효과를 도시한다.
- 도 5 는 다양한 비트 레이트들에서의 성능에 대한 정확도 감분의 효과를 도시한다.
- 도 6 및 도 7 은 특정한 및 비-한정적인 실시형태에 따른, 비트스트림으로부터 변환을 디코딩하기 위한 방법의 플로우차트들을 나타낸다.
- 도 8 은 비-한정적인 실시형태에 따른, 비트스트림으로부터 픽처를 디코딩하도록 구성된 수신기의 예시적인 아키텍처를 나타낸다.
- 도 9 는 비-한정적인 실시형태에 따른, 비트스트림에서 픽처를 인코딩하도록 구성된 송신기의 예시적인 아키텍처를 나타낸다.
비록 용어들 '제 1' 및 '제 2' 가 본 명세서에서 사용되어 다양한 컬러 컴포넌트들을 기술할 수도 있지만, 이들 컬러 컴포넌트들은 이들 용어들에 의해 한정되지 않아야 함이 이해될 것이다. 이들 용어들은 오직 일 컬러 컴포넌트를 다른 컬러 컴포넌트로부터 구별하기 위해 사용될 뿐이다. 예를 들어, 본 개시의 교시들로부터 일탈함없이, 제 1 컬러 컴포넌트는 "컴포넌트" 또는 "제 2 컬러 컴포넌트" 로 명명될 수 있고, 유사하게, 제 2 컬러 컴포넌트는 "다른 컴포넌트" 또는 "제 1 컬러 컴포넌트" 로 명명될 수 있다.
본 원리들에 따른 인코딩/디코딩 방법은, 변환들을 인코딩할 경우, 오버헤드 비용을 감소하는 것을 가능하게 한다. 이들 변환들은 통상적인 블록 기반 적응적 변환 학습 알고리즘을 사용하여 획득될 수도 있다. 변환 (T) 은 변환 벡터들의 세트에 의해 표현된다. 온더플라이로 결정된 컨텐츠 적응적 변환 (T) 이, 변환된 계수들의 에너지를 컴팩트화하는데 더 효율적이다. 더 정확하게, 변환된 도메인에서의 에너지는 마지막 계수 포지션들에 비교하여 제 1 의 몇몇 계수 포지션들에서 더 높다. 양자화 파라미터 (QP) 는 코덱의 품질 레벨/비트 레이트를 정의하고, 여기서, 더 높은 QP 의 값은 낮은 비트 레이트를 의미하고 그 역도 성립한다. 특정 실시형태에 따른 인코딩 방법은, 인코딩하기 위한 변환 벡터들의 수를 결정하기 위한 각각의 계수 포지션에서의 양자화된 계수들의 에너지들/진폭들의 합을 고려한다.
변환 (T) 의 스칼라 양자화는 더 적은 정확도의 변환 (G) 을 생성한다. 종래 기술과 대조적으로, 비트들의 관점에서의 적합한 정확도 값이 인코더 측에서 각각의 변환 벡터에 대해 결정되고, 양자화된 변환 벡터들과 함께 비트 스트림에서 인코딩된다. 디코더 측에서, 먼저, 각각의 변환 벡터에 대한 정확도 값이 디코딩된다. 제로보다 큰 정확도 값에 대해, 대응하는 변환 벡터는 비트 스트림으로부터 디코딩되고, 변환 벡터의 각각의 값을 정확도 값에 의해 스케일링함으로써 복원된다. 제로의 정확도 값에 대해, 대응하는 변환 벡터는 제로 벡터로서 구축된다.
인코딩 방법은, 계수들을 획득하기 위해 픽셀들에 적용될 변환에 대해, 변환 벡터들의 수 및 정확도, 예를 들어, 변환 벡터의 각각의 컴포넌트를 인코딩하기 위해 사용된 비트들의 수를 인코딩하는 것을 포함한다.
변환 벡터들의 수 및 정확도를 인코딩하는 것은 코덱의 전체 성능에 영향을 주지 않고도 변환들을 인코딩하는 것으로 인해 오버헤드를 감소시키는 것이 가능하게 한다.
변환 (T) 은 v 로 표기된 n개의 변환 벡터들에 의해 표현된다. 각각의 변환 벡터 (v) 는 컴포넌트들을 포함한다.
도 1a 는 특정한 및 비-한정적인 실시형태에 따른, 비트스트림에서 변환을 인코딩하기 위한 방법의 플로우차트를 나타낸다.
단계 S10 에 있어서, k≤n 인 변환 벡터들의 수 (k) 가 획득되고, k 는 정수이다 (섹션 5.2).
단계 S12 에 있어서, 변환 (T) 의 k개의 제 1 변환 벡터들을 인코딩하기 위해 사용될 인코딩 정확도 (b) 가 획득된다. 더 정확하게, 정확도는 변환 (T) 의 각각의 변환 벡터에 대해 결정된다. 정확도 (b) 는 데이터 구동 통계 모델에 기초하여 결정될 수도 있다 (섹션 5.3).
단계 S14 에 있어서, k 를 나타내는 정보 및 가능하게는 b 를 나타내는 정보가 인코딩된다. 변형예에 있어서, 오직 k 를 나타내는 정보만이 인코딩된다. 후자의 경우, 인코딩 정확도 (b) 는 디코더 측에서 신택스 엘리먼트 (예를 들어, QP) 로부터 추론될 것이다. 인코딩 정확도 (b) 는 비트들의 수로서 직접 인코딩될 수도 있다. 변형예에 있어서, 정확도 (b) 는 오직 제 1 변환 벡터에 대한 비트들의 수 (m) 로서 및 다른 변환 벡터들에 대한 감분으로서 인코딩된다. 변형예에 있어서, m 은 인코더 및 디코더 양자 모두에 의해 알려지고, 비트 감분은 모든 변환 벡터들에 대해 인코딩된다. 이 경우, k 를 인코딩하는 것은 회피될 수도 있는데, 왜냐하면 수 (k) 는 인코딩 비트 정확도 (b) 가 0 과 동일할 경우에 결정될 수도 있기 때문이다.
정확도 (b) 를 나타내는 정보는 다음과 같을 수도 있다:
a. 변환 벡터의 각각의 컴포넌트를 인코딩하기 위해 사용된 비트들의 수를 직접 표시하는 정수,
b. 비트들의 수의 전개, 즉, 비트 감분을 표시하는 정보. 일 예로서, 이 정보는, 정확도의 1 비트 만큼의 감분을 시그널링하는 플래그이다. 플래그가 0 과 동일할 경우 정확도는 변경되지 않으며, 플래그가 1 과 동일할 경우 정확도는 1 만큼 감분된다.
옵션적으로, 변환들의 수 (N) 가 또한, 비트스트림에서 코딩될 수도 있다.
단계 S16 에 있어서, 변환 (T) (더 정확하게는, 그 변환 벡터들 (v)) 이 k 의 값 및 정확도 (b) 의 값에 응답하여 비트스트림에서 인코딩된다. 변환 (T) 을 인코딩하는 것은 변환 벡터 컴포넌트들을 양자화하는 것, 및 무손실 엔트로피 코더를 사용하여 변환 벡터의 양자화된 컴포넌트들을 코딩하는 것을 포함할 수도 있다. 변형예에 있어서, 변환 벡터 컴포넌트들은, 그 코딩에 연관된 비트 레이트를 최소화하기 위하여 엔트로피 코더를 사용하여 인코딩된다.
인코딩된 변환은 픽처들을 인코딩하기 위해 유리하게 사용된다. 인코딩 프로세스에 있어서, 이들은 고전적인 인코더들 (예를 들어, H.264/AVC, H.265/HEVC 등) 에서 사용되는 고정된 변환들 (DCT, DST, 하다마드 등) 을 대체한다.
예시적인 실시형태가 도 1b 상에서 개시된다. 그 방법은 단계 E30 에서 시작한다. 단계 E32 에서, 인코더는 적어도 하나의 현재의 변환에 액세스한다. 옵션적인 단계 E34 에서, 변환들의 수 (N) 를 나타내는 정보가 비트스트림에서 인코딩된다. 인코더는 옵션적으로, 단계 E36 에서 N 에 걸친 루프를 시작한다. 단계 E38 에서, 변환 벡터들의 수 (k) 를 나타내는 정보가 현재의 변환에 대해 인코딩된다. 단계 E40 에서, 인코더는 k 에 걸친 루프를 시작한다. 단계 E42 에서, 인코더는 현재의 변환 벡터에 대한 인코딩 정확도 (b) 를 나타내는 정보를 인코딩한다. 단계 E44 에서, 인코더는 정확도 (b) 에 응답하여 현재의 변환 벡터의 컴포넌트들을 인코딩한다. 단계 E46 에 있어서, k 에 걸친 루프를 종료하고, 단계 E48 에 있어서, N 에 걸친 루프를 종료한다. 그 방법은 단계 E50 에서 종료한다.
5.1 인코딩될 적응적 변환들의 결정 (예시적 목적)
적응적 변환들의 결정은 본 원리들에 따른 인코딩 방법의 부분이 아니다. 실제로, 인코딩될 변환들은 또한, 오프라인으로 결정되고 저장 매체 상에 저장될 수도 있다.
직교 변환들의 적응적 세트가, 시스템적 고정된 변환들 (DCT, DST 등) 대신에 또는 상이한 분류 및 변환 최적화 방식들을 사용하여 큰 트레이닝 세트에 대해 오프라인으로 학습되는 변환들 대신에, 사용될 수도 있다. 적응적 변환들의 이러한 세트는 코덱에 제공되고, 세트로부터의 최상의 변환이 레이트 왜곡 최적화 (RDO) 루프에서 선택된다. 더 적응적인 접근법은 시퀀스의 특정 인트라 픽처에 대한 직교 변환들의 세트를 학습하는 것이다. 이는 본 문서의 나머지에서 온더플라이 블록 기반 변환 학습 방식으로서 지칭된다. 이러한 방식은 도 2 에서 설명된다.
이러한 블록 다이어그램은 통상적인 온더플라이 방식을 도시하며, 여기서, 알고리즘은 2개의 부분들, 즉, 비디오/픽처 코덱 내부의 잔차 블록들의 분류 및 변환들의 새로운 세트의 생성으로 분할된다. 단계 S20 에 있어서, 잔차 블록들은 K개의 상이한 클래스들 (S 1 S K ) 로 분류된다. 단계 S22 에 있어서, 새로운 변환이 그 특정 클래스에 대한 복원 에러의 최소화를 사용하여 각각의 클래스에 대해 획득된다. 통상적으로, 특이값 분해 (SVD) 및 KLT 가 변환들의 직교 세트를 생성하기 위해 사용될 수도 있다. 이들 2개의 단계들은, 솔루션의 수렴까지 또는 정지 기준 (예를 들어, 반복 횟수) 이 도달될 때까지 반복된다. 블록 다이어그램에서 보이는 바와 같이, 시스템으로의 입력은 비-분리가능한 직교 변환들 (T 1 T K ) 의 일부 초기 세트와 함께 픽처 또는 인트라 픽처이다. 시스템은, 디코더로 전송되는 비트 스트림으로 인코딩될 필요가 있는 신택스 정보와 함께 학습된 변환들의 세트 (T' 1 T' K ) 를 출력한다. 각각의 변환 (T' j ) 은 변환 벡터들의 세트에 의해 표현된다. 일반적으로, 이들 변환 벡터들을 인코딩하도록 요구된 오버헤드 비트들은 픽처를 인코딩하도록 요구된 비트들에 비교하여 현저히 크다.
5.2 불완전한 표현을 사용한 변환 벡터 코딩
비-한정적인 실시형태에 따르면, 단계 S10 에서 변환 벡터들의 수 (k) 를 획득하는 것은 컨텐츠로부터 및 QP 로부터 수 (k) 를 결정하는 것을 포함한다. SVD 의 에너지 컴팩트화 특성으로 인해, 오버헤드 비용이 학습된 변환들의 불완전한 표현을 추론함으로써 상당히 감소될 수 있음이 관측되며, 여기서, 오직 제 1 의 'k'개의 변환 벡터들만이 디코더로 송신되고, 나머지 (n-k)개의 변환 벡터들은 그람-슈미트 방법과 유사한 완료 알고리즘을 이용하여 생성되거나 또는 제로로 강제된다. 그 완료 방법은 인코더 및 디코더 양자 모두에서 수행될 수도 있다. 그러한 완료 방법의 일 예는 2011년, SPIE 광학 엔지니어링 및 어플리케이션들에서의 Selesnick I. W.; Guleryuz, O. G. 의 "A diagonally oriented dct-like 2d block transform" 에 개시된다.
변환의 마지막 몇몇 변환 벡터들을 강하 (drop) 하는 효과를 예시하기 위하여, 사이즈 64×64 의 4개 비-분리가능한 최적화된 변환들이 4K 시퀀스들 ('PeopleOnStreet' 및 'Traffic') 에 대해 학습된다. 인코딩 테스트들이 이들 시퀀스들에 대해 수행된다. 제 1 의 'k'개의 변환 벡터들이 보유되고, 변환 벡터들의 나머지는 완료 알고리즘을 이용하여 완료된다. 도 3 은 코딩된 변환 벡터들의 수에 대한 성능 이득의 변동을 도시한다. 수직축은 앵커 (HEVC 테스트 소프트웨어 HM15.0) 에 대한 그리고 변환 비용을 고려하지 않은 퍼센티지 이득이다. 도 3 은, 변환 벡터들의 단지 제 1 절반만을 보유할 경우, 즉, k = 32, 여기서 앵커에 비교하여 퍼센티지 증가로서 표현되는 레이트 왜곡 성능 (또는 BD 레이트) 의 관점에서 무시할 수 있는 성능 강하가 존재함을 도시한다. k = 16 인 경우에 대해, 즉, 오직 제 1 의 16개 변환 벡터들만이 코딩될 경우, 모든 'n'개의 기저 변환 벡터들을 코딩함으로써 획득되는 전체 비트 레이트에 비교하여 성능이 1% 만큼 강하하지만 변환 벡터들의 오버헤드 비용은 총 오버헤드의 1/4 로 감소한다. k = 8 인 경우, (BD-레이트의 관점에서) 성능의 상당한 손실이 존재한다. 그럼에도 불구하고, 후자의 경우, 오버헤드는 추가로 감소된다. 일반적으로, 이는, 성능 손실과 오버헤드 비용 간의 트레이드오프가 존재함을 나타낸다.
그에 따라, 오직 제 1 의 'k'개의 변환만을 인코딩하는 것이 'k' 의 최적값을 추정하기 위해 사용될 수도 있을 경우 BD-레이트의 관점에서 성능이 강하한다. 직관적으로, 낮은 비트 레이트들에서, 계수들 대부분은 제로로 양자화되고, 높은 비트 레이트에서, 계수 에너지는 고 주파수들에서도 현저하다. 따라서, 'k' 의 값은 컨텐츠 뿐 아니라 양자화 파라미터 (QP) 에 의존할 수도 있다.
잔차 신호 에너지는 제 1 의 몇몇 계수들에 대부분 집중된다. 에너지는, 더 높은 주파수 계수들을 향해 갈수록 감소한다. 따라서, 고 주파수 계수들 대부분은 제로로 양자화된다. 임계화가 'k' 의 값을 계산하기 위하여 적용될 수도 있으며, 'k' 의 값은 그 후 픽처와 함께 코딩된다. 그러한 임계화의 일 예가 하기에 개시된다. E 는 블록들의 변환으로부터 획득되는 변환된 계수들의 에너지/진폭의 합으로 한다. 임계치 (t) 는 E 를 파라미터 (p) 와 승산함으로써 정의된다:
Figure pct00001
일 예로서, p=10-2, 5*10-3 또는 10- 3 이다. 'p' 의 값은 실험적으로 구해진다.
'k' 의 값은, 변환된 계수들의 연관된 에너지/진폭이 이 임계치보다 통계적으로 큰 변환 벡터들의 수로부터 계산되며; 그 통계는 변환에 의해 변환될 큰 수의 블록들로부터 구해진다.
표 1 은, 'p' 의 선택된 값에 대해, 벡터들의 총 수 (n (=N2)) 에 의해 제산되는, 이 임계치를 초과한 벡터들의 수 'k' 의 비율의 변동을 나타낸다. 인코딩될 변환 벡터들의 수가 낮은 QP 에서보다는 높은 QP 에서 더 작음이 표 1 로부터 관측된다. 더욱이, 변환 벡터들의 수 ('k') 는 또한 컨텐츠에 의존하여 변한다.
Figure pct00002
5.3 변환 벡터들의 정확도의 결정
비-한정적인 실시형태에 따르면, 단계 20 에서 정확도 (b) 를 획득하는 것은 하기에서 설명되는 바와 같이 통계 모델에 의해 구해진 정확도 감소로부터 b 를 결정하는 것을 포함한다. 추가적인 비트 레이트 절약이 변환 (T) 의 코딩의 정확도를 감소시킴으로써 획득될 수도 있다.
v(i) 는 사이즈 (n) 의 변환 벡터 (v) 의 컴포넌트로 한다. 초기 정확도는 제 1 벡터를 나타내기 위해 요구된 비트들의 고정된 수 ('m') 로서 정의된다. 벡터 (v(i)) 는 그 정확도가 b = m-d 비트들이도록 정확도의 감분 (d) 으로 코딩될 것이며, 즉,
Figure pct00003
이다.
도 4 는 2개의 비디오 시퀀스들에 대한 이득의 전체 퍼센티지에 대해 감소된 정확도를 갖는 적응적 변환들을 사용한 효과를 도시한다. 다시, 수직축은 앵커 (HEVC 테스트 소프트웨어 HM15.0) 에 비교한 그리고 변환 비용을 고려하지 않은 성능 이득의 퍼센티지이다.
도 4 는, d=1 및 d=2 에 의해 정확도를 감소시키는 것이 BD-레이트 성능에 무시할 수 있는 영향을 줌을 도시한다. 정확도가 추가로 감소되는 경우 (d=3 및 d=4) 에서 작은 손실이 존재한다. 따라서, 정확도를 감소시키는 것은, 변환 벡터들을 저장 및 송신하기 위해 필요한 오버헤드 비트 레이트를 감소시키기 때문에 유리하다. 부가적으로, 전체 BD-레이트에 대한 효과는 컨텐츠 의존적임이 관측된다. 도 5 는 다양한 비트 레이트들에서의 성능에 대한 정확도 감분 ('Prec2' 에 대해 d=1, 'Prec32' 에 대해 d=5) 의 효과를 도시한다. 정확도 감분은 낮은 비트 레이트에서 거의 영향을 주지 않음이 관측된다. 따라서, 정확도 감분 (d) 은 비디오 컨텐츠 및 QP 파라미터에 의존하며, 즉,
Figure pct00004
이다.
여기서, μ 는 컨텐츠에 의존하는 팩터이다. 정확도에서의 감분으로 인한 성능에서의 손실을 최소화하는 각각의 변환 벡터에 대한 정확도 감분 (d) 의 최적 값을 결정하기 위한 모델이 하기에서 설명된다.
이러한 모델 이면의 기본적인 아이디어는, 변환 양자화로 인해 유도된 에러의 분산이 비디오/픽처 코덱에 존재한 스칼라 양자화기로 인해 유도된 에러의 분산보다 작도록 변환 벡터의 양자화에 의해 유도된 에러에 대한 한계를 구한다는 것이다. 코덱에서의 계수들의 양자화로 인한 에러의 분산이 D(△q) 에 의해 표기되고 변환 (T) 의 양자화로 인한 에러의 분산이 D(△g) 에 의해 표기된다고 한다.
변환의 양자화
정확도의 감분은 변환의 양자화로서 보여질 수 있으며, 여기서, 양자화기의 스텝 사이즈 (△g) 는 다음과 같이 나타내어진다.
Figure pct00005
T 는, 예를 들어, 상기 설명된 바와 같은 학습 알고리즘에 의해 획득된 비-분리가능한 정수 변환으로 한다. G = g(T) 는 T 의 양자화 이후에 획득된 변환으로 하며, 여기서,
Figure pct00006
는 다음과 같이 스텝 (△g) 에 의존하는 양자화 함수로서 정의된다.
Figure pct00007
r 은 비디오 코덱에 의해 압축되기 위하여 변환 및 양자화될 잔차 블록 (분명한 매트릭스 표기를 획득하기 위해 간단하게 벡터 형태로 함) 으로 한다. 각각 TG 에 의한 변환 이후의 연관된 변환된 계수 블록들 (cc') 은
Figure pct00008
Figure pct00009
이다.
변환된 도메인에서의 에러의 평균 분산은 다음에 의해 정의된다.
Figure pct00010
Figure pct00011
양자화 에러 매트릭스 (
Figure pct00012
) 는 다음과 같이 정의된다.
Figure pct00013
따라서, 에러 분산 방정식은 다음과 같이 기입될 수 있다.
Figure pct00014
Figure pct00015
Figure pct00016
여기서,
Figure pct00017
이다. 상기 방정식에 대한 상한은 다음을 얻기 위해 용이하게 구해진다.
Figure pct00018
매트릭스 (
Figure pct00019
) 에서의 각각의 값이 스텝 사이즈 (△g) 에 비례하고 (-△g/2, +△g/2) 사이에 있기 때문에, M 에서의 절대 값들의 합은 스텝 사이즈에 비례하여,
Figure pct00020
이다.
여기서,
Figure pct00021
는 각각의 변환에 대해 실험적으로 계산된 파라미터이다. 따라서, 변환들의 양자화로 인한 분산의 상한은 다음과 같이 주어진다.
Figure pct00022
변환된 계수들의 양자화
잔차 블록의 변환 이후에 획득된 계수들은 데드-존을 갖는 균일한 스칼라 양자화기 (
Figure pct00023
) 를 이용하여 양자화되며, 그 스텝 사이즈 (△q) 는 소위 적응적 QP 를 사용하여 블록 레벨에서 또는 픽처 레벨에서 선택될 수도 있는 양자화 파라미터 (QP) 에 의존한다.
계수의 양자화로 인한 평균 제곱 에러 (MSE) 는
Figure pct00024
이다.
여기서, x 는 계수 값들을 표기하고, o 는 라운딩 오프셋이고, p(x) 는 계수의 확률 분포를 표기한다. DCT 유사 정수 변환들로부터 획득된 계수들은 다음에 의해 정의된 제로 평균 라플라스 분포를 다소 따른다는 것이 문헌으로부터 공지되어 있다.
Figure pct00025
여기서, λ 는
Figure pct00026
에 의해 계수들의 표준 편차 (
Figure pct00027
) 에 관련된 라플라시안 분포 파라미터이다. p(x) 의 상기 공식을 MSE 방정식에 대입하는 것은 λ 및 △q 의 관점에서의 식을 제공한다. 이는 양자화 에러의 분산이 이들 2개의 파라미터들에 의존함을 시사하고, 따라서, 식은 다음과 같이 간단히 표현될 수 있다.
Figure pct00028
여기서, 2개의 파라미터들 (
Figure pct00029
,
Figure pct00030
) 은 λ 에 의존하고, 이는 차례로 컨텐츠에 의존한다. 그 식은, 양자화 에러 분산과 양자화 스텝 사이즈 간의 지수 관계가 존재함을 나타낸다.
변환의 양자화로 인한 변환된 계수 값들에서의 변경의 효과를 최소화하기 위하여, 분산 (D(△g)) 은 비디오/픽처 코덱에 존재한 스칼라 양자화기로 인해 유도된 에러의 분산보다 작게 엄격히 유지되어야 한다. 따라서, 상기 획득된 바와 같은 2개의 분산들 (D(△g) 및 D(△q)) 사이의 관계는 다음과 같이 나타내어진다.
Figure pct00031
상기로부터의 식들을 대입하면, 그 관계는 다음과 같이 나타내질 수 있다.
Figure pct00032
따라서, QP 에 관련된 양자화 스텝 사이즈 (△q) 와 정확도 감분 (d) 사이의 관계가 획득된다. 파라미터들 (
Figure pct00033
Figure pct00034
) 은 컨텐츠 의존적이고, 파라미터들 (
Figure pct00035
및 N) 은 변환 자체에 관련된다. 따라서, 이들 파라미터들은, 정확도 강하 (d) 의 정확한 값 및 그 후 정확도 (b=m-d) 를 결정하기 위하여 각각의 컨텐츠에 대해 별도로 도출될 수 있다. 유리하게,
Figure pct00036
이다.
d 는
Figure pct00037
보다 작은 최근접 정수일 수도 있다.
5.4 신택스 및 디코딩 프로세스
도 6 은 특정한 및 비-한정적인 실시형태에 따른, 비트스트림으로부터 변환 (T) 을 디코딩하기 위한 방법의 플로우차트를 나타낸다.
단계 S26 에 있어서, 변환 벡터들의 수 ('k') 를 나타내는 정보가 디코딩된다. 가능하게는, 정확도 (b) 를 나타내는 정보가 추가로, 각각의 변환 벡터에 대해 디코딩된다. 그 정보는, 변환 벡터의 각각의 컴포넌트를 인코딩하기 위해 사용된 비트들의 수일 수도 있다. 변형예에 있어서, 정확도 감분이 디코딩된다. 후자의 경우, 비트들의 수 (m) 는 적어도 제 1 변환 벡터에 대해 디코딩될 수도 있다. 변형예에 있어서, m 은 디코더에 의해 공지되고, 정확도 감분 (d) 이 각각의 변환 벡터에 대해 디코딩된다.
정확도 (b) 를 나타내는 정보는 다음과 같을 수도 있다:
a. 변환 벡터의 각각의 컴포넌트를 인코딩하기 위해 사용된 비트들의 수를 직접 시그널링하는 정수,
b. 비트들의 수의 전개, 즉, 비트 감분을 표시하는 정보. 일 예로서, 이 정보는, 정확도의 1 비트 만큼의 감분을 시그널링하는 플래그이다. 플래그가 0 과 동일할 경우 정확도는 변경되지 않으며, 플래그가 1 과 동일할 경우 정확도는 1 만큼 감분된다. 이 경우, k 를 인코딩하는 것은 회피될 수도 있는데, 왜냐하면 수 (k) 는 인코딩 비트 정확도 (b) 가 0 과 동일할 경우에 결정될 수도 있기 때문이다.
옵션적으로, 적응적 변환들의 수 ('N') 를 나타내는 정보가 비트 스트림으로 인코딩되었다. 수개의 변환들이 인코딩되는 경우, (k 및 b 에 대한) 정보가 각각의 변환에 대해 인코딩된다.
단계 S28 에 있어서, 변환 (T) 의 변환 벡터들이 k 및 b 에 응답하여 디코딩된다. 더 정확하게, 변환 벡터들의 각각의 컴포넌트는 비트스트림으로부터 디코딩되고 탈양자화되어 변환 (T) 을 획득한다. 비-디코딩된 변환 벡터들 (즉, (n-k)개 변환 벡터들) 은 0 으로 설정될 수도 있거나 또는 완료 방법을 사용하여 결정될 수도 있다.
그 후, 디코딩된 변환들은 픽처들을 디코딩하기 위해 사용될 수도 있다. 디코딩 프로세스에 있어서, 디코딩된 변환들은, 고전적인 디코더들 (H.264/AVC, H.265/HEVC 등) 에서 사용되는 고정된 DCT/하다마드 변환들을 대체한다.
예시적인 실시형태가 도 7 상에서 개시된다. 그 방법은 단계 S30 에서 시작한다. 단계 S32 에서, 디코더는 비트스트림에 액세스한다. 옵션적인 단계 S34 에서, 변환들의 수 (N) 를 나타내는 정보가 액세스된 비트스트림으로부터 디코딩된다. 디코더는 옵션적으로, 단계 S36 에서 N 에 걸친 루프를 시작한다. 단계 S38 에서, 변환 벡터들의 수 (k) 를 나타내는 정보가 현재의 변환에 대해 디코딩된다. 단계 S40 에서, 디코더는 k 에 걸친 루프를 시작한다. 단계 S42 에서, 디코더는 현재의 변환 벡터에 대한 인코딩 정확도 (b) 를 나타내는 정보를 디코딩한다. 단계 S44 에서, 디코더는 정확도 (b) 에 응답하여 현재의 변환 벡터의 컴포넌트들을 디코딩한다. 단계 S46 에 있어서, k 에 걸친 루프를 종료하고, 단계 S48 에 있어서, N 에 걸친 루프를 종료한다. 그 방법은 단계 S50 에서 종료한다.
도 8 은 비-한정적인 실시형태에 따른, 비트스트림으로부터 픽처를 디코딩하도록 구성된 수신기 (110) 의 예시적인 아키텍처를 나타낸다.
수신기 (110) 는, 내부 메모리 (1510) (예를 들어, RAM, ROM 및/또는 EPROM) 와 함께, 예를 들어 CPU, GPU 및/또는 DSP (디지털 신호 프로세서의 영문 두문자어) 를 포함할 수 있는 하나 이상의 프로세서(들) (1100) 를 포함한다. 수신기 (110) 는, 각각이 출력 정보를 디스플레이하고/하거나 사용자로 하여금 커맨드들을 입력하고/하거나 데이터에 액세스하게 하도록 적응된 하나 이상의 통신 인터페이스(들) (1110) (예를 들어, 키보드, 마우스, 터치패드, 웹캠 등); 및 수신기 (110) 외부에 있을 수도 있는 전원 (1120) 을 포함한다. 수신기 (110) 는 또한, 하나 이상의 네트워크 인터페이스(들) (도시 안됨) 를 포함할 수도 있다. 디코더 모듈 (1140) 은, 디코딩 기능들을 수행하도록 디바이스에 포함될 수도 있는 모듈을 나타낸다. 부가적으로, 디코더 모듈 (1140) 은 수신기 (110) 의 별도의 엘리먼트로서 구현될 수도 있거나, 또는 당업자에게 공지된 바와 같은 하드웨어와 소프트웨어의 조합으로서 프로세서(들) (1100) 내에 통합될 수도 있다.
비트스트림이 소스로부터 획득될 수도 있다. 상이한 실시형태들에 따르면, 소스는 다음과 같을 수 있지만 이에 한정되지 않는다:
- 로컬 메모리, 예를 들어, 비디오 메모리, RAM, 플래시 메모리, 하드 디스크;
- 저장 인터페이스, 예를 들어, 대용량 저장부, ROM, 광학 디스크 또는 자기 지지부와의 인터페이스;
- 통신 인터페이스, 예를 들어, 유선 인터페이스 (예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스 (예컨대, IEEE 802.11 인터페이스 또는 블루투스 인터페이스); 및
- 픽처 캡처링 회로 (예를 들어, 예컨대, CCD (또는 전하 커플링형 디바이스) 또는 CMOS (또는 상보적 금속 산화물 반도체) 와 같은 센서).
상이한 실시형태들에 따르면, 디코딩된 픽처는 목적지, 예를 들어, 디스플레이 디바이스로 전송될 수도 있다. 일 예로서, 디코딩된 픽처는 원격 메모리 또는 로컬 메모리, 예를 들어, 비디오 메모리 또는 RAM, 하드 디스크에 저장된다. 변형예에 있어서, 디코딩된 픽처는 저장 인터페이스, 예를 들어, 대용량 저장부, ROM, 플래시 메모리, 광학 디스크 또는 자기 지지부와의 인터페이스로 전송되고/되거나 통신 인터페이스, 예를 들어, 점대점 링크, 통신 버스, 점대 다중점 링크 또는 브로드캐스트 네트워크로의 인터페이스 상으로 송신된다.
예시적인 및 비-한정적인 실시형태에 따르면, 수신기 (110) 는 메모리 (1130) 에 저장된 컴퓨터 프로그램을 더 포함한다. 컴퓨터 프로그램은, 수신기 (110) 에 의해 특히 프로세서 (1100) 에 의해 실행될 경우, 수신기로 하여금 도 6 및/또는 도 7 을 참조하여 설명된 방법을 실행할 수 있게 하는 명령들을 포함한다. 변형예에 따르면, 컴퓨터 프로그램은, 비-일시적인 디지털 데이터 지지부 상에서, 예를 들어, 당업계에 모두 공지된 HDD, CD-ROM, DVD, 판독 전용 및/또는 DVD 드라이브 및/또는 DVD 판독/기입 드라이브와 같은 외부 저장 매체 상에서, 수신기 (110) 에 외부로 저장된다. 따라서, 수신기 (110) 는 컴퓨터 프로그램을 판독하기 위한 메커니즘을 포함한다. 추가로, 수신기 (110) 는 하나 이상의 범용 직렬 버스 (USB)-타입 저장 디바이스들 (예를 들어, "메모리 스틱들") 에, 대응하는 USB 포트들 (도시 안됨) 을 통해, 액세스할 수 있다.
예시적인 및 비-한정적인 실시형태들에 따르면, 수신기 (110) 는 다음과 같을 수 있지만 이에 한정되지 않는다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 셋탑 박스;
- 플레이어, 예를 들어, 블루레이 플레이어;
- TV 세트;
- 태블릿 (또는 태블릿 컴퓨터);
- 랩탑;
- 디스플레이; 및
- 디코딩 칩.
도 9 는 비-한정적인 실시형태에 따른, 비트스트림에서 픽처를 인코딩하도록 구성된 송신기 (100) 의 예시적인 아키텍처를 나타낸다.
송신기 (100) 는, 내부 메모리 (1030) (예를 들어, RAM, ROM 및/또는 EPROM) 와 함께, 예를 들어 CPU, GPU 및/또는 DSP (디지털 신호 프로세서의 영문 두문자어) 를 포함할 수 있는 하나 이상의 프로세서(들) (1000) 를 포함한다. 송신기 (100) 는, 각각이 출력 정보를 디스플레이하고/하거나 사용자로 하여금 커맨드들을 입력하고/하거나 데이터에 액세스하게 하도록 적응된 하나 이상의 통신 인터페이스(들) (1010) (예를 들어, 키보드, 마우스, 터치패드, 웹캠 등); 및 송신기 (100) 외부에 있을 수도 있는 전원 (1020) 을 포함한다. 송신기 (100) 는 또한, 하나 이상의 네트워크 인터페이스(들) (도시 안됨) 를 포함할 수도 있다. 인코더 모듈 (1040) 은, 코딩 기능들을 수행하도록 디바이스에 포함될 수도 있는 모듈을 나타낸다. 부가적으로, 인코더 모듈 (1140) 은 송신기 (100) 의 별도의 엘리먼트로서 구현될 수도 있거나, 또는 당업자에게 공지된 바와 같은 하드웨어와 소프트웨어의 조합으로서 프로세서(들) (1000) 내에 통합될 수도 있다.
픽처가 소스로부터 획득될 수도 있다. 상이한 실시형태들에 따르면, 소스는 다음과 같을 수 있지만 이에 한정되지 않는다:
- 로컬 메모리, 예를 들어, 비디오 메모리, RAM, 플래시 메모리, 하드 디스크;
- 저장 인터페이스, 예를 들어, 대용량 저장부, ROM, 광학 디스크 또는 자기 지지부와의 인터페이스;
- 통신 인터페이스, 예를 들어, 유선 인터페이스 (예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스 (예컨대, IEEE 802.11 인터페이스 또는 블루투스 인터페이스); 및
- 픽처 캡처링 회로 (예를 들어, 예컨대, CCD (또는 전하 커플링형 디바이스) 또는 CMOS (또는 상보적 금속 산화물 반도체) 와 같은 센서).
상이한 실시형태들에 따르면, 비트스트림은 목적지로 전송될 수도 있다. 일 예로서, 비트스트림은 원격 메모리 또는 로컬 메모리, 예를 들어, 비디오 메모리 또는 RAM, 하드 디스크에 저장된다. 변형예에 있어서, 비트스트림은 저장 인터페이스, 예를 들어, 대용량 저장부, ROM, 플래시 메모리, 광학 디스크 또는 자기 지지부와의 인터페이스로 전송되고/되거나 통신 인터페이스, 예를 들어, 점대점 링크, 통신 버스, 점대 다중점 링크 또는 브로드캐스트 네트워크로의 인터페이스 상으로 송신된다.
예시적인 및 비-한정적인 실시형태에 따르면, 송신기 (100) 는 메모리 (1030) 에 저장된 컴퓨터 프로그램을 더 포함한다. 컴퓨터 프로그램은, 송신기 (100) 에 의해 특히 프로세서 (1000) 에 의해 실행될 경우, 송신기 (100) 로 하여금 도 1a 및/또는 도 1b 를 참조하여 설명된 방법을 실행할 수 있게 하는 명령들을 포함한다. 변형예에 따르면, 컴퓨터 프로그램은, 비-일시적인 디지털 데이터 지지부 상에서, 예를 들어, 당업계에 모두 공지된 HDD, CD-ROM, DVD, 판독 전용 및/또는 DVD 드라이브 및/또는 DVD 판독/기입 드라이브와 같은 외부 저장 매체 상에서, 송신기 (100) 에 외부로 저장된다. 따라서, 송신기 (100) 는 컴퓨터 프로그램을 판독하기 위한 메커니즘을 포함한다. 추가로, 수신기 (100) 는 하나 이상의 범용 직렬 버스 (USB)-타입 저장 디바이스들 (예를 들어, "메모리 스틱들") 에, 대응하는 USB 포트들 (도시 안됨) 을 통해, 액세스할 수 있다.
예시적인 및 비-한정적인 실시형태들에 따르면, 송신기 (100) 는 다음과 같을 수 있지만 이에 한정되지 않는다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 태블릿 (또는 태블릿 컴퓨터);
- 랩탑;
- 스틸 픽처 카메라;
- 비디오 카메라;
- 인코딩 칩;
- 스틸 픽처 서버; 및
- 비디오 서버 (예를 들어, 브로드캐스트 서버, 비디오-온-디맨드 서버 또는 웹 서버).
본 명세서에서 설명된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수도 있다. 오직 단일 형태의 구현의 맥락에서 논의되더라도 (예를 들어, 오직 방법 또는 디바이스로서 논의되더라도), 논의된 특징들의 구현은 또한 다른 형태들 (예를 들어, 프로그램) 에서 구현될 수도 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어에서 구현될 수도 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하여 일반적으로 프로세싱 디바이스들을 지칭하는 예를 들어 프로세서와 같은 예를 들어 장치에서 구현될 수도 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀 폰들, 휴대용/개인용 디지털 보조기들 ("PDA들"), 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
본 명세서에서 설명된 다양한 프로세스들 및 특징들의 구현들은 다양한 서로 다른 장비 또는 어플리케이션들, 특히 예를 들어 장비 또는 어플리케이션들에서 구현될 수도 있다. 그러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 프로세싱하는 포스트-프로세서, 인코더로의 입력을 제공하는 프리-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋탑 박스, 랩탑, 개인용 컴퓨터, 셀 폰, PDA, 및 다른 통신 디바이스들을 포함한다. 명백해야 하는 바와 같이, 그 장비는 이동식일 수도 있고 심지어 이동 차량에 인스톨될 수도 있다.
부가적으로, 방법들은 프로세서에 의해 수행되는 명령들에 의해 구현될 수도 있으며, 그러한 명령들 (및/또는 구현에 의해 생성된 데이터 값들) 은, 예를 들어, 집적 회로, 소프트웨어 캐리어, 또는 예를 들어 하드 디스크, 컴팩트 디스켓 ("CD"), (예를 들어, 디지털 다기능 디스크 또는 디지털 비디오 디스크로서 종종 지칭되는 DVD와 같은) 광학 디스크, 랜덤 액세스 메모리 ("RAM"), 또는 판독 전용 메모리 ("ROM") 와 같은 다른 저장 디바이스와 같은 프로세서 판독가능 매체 상에 저장될 수도 있다. 명령들은 프로세서 판독가능 매체 상에 유형적으로 수록된 어플리케이션 프로그램을 형성할 수도 있다. 명령들은, 예를 들어, 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합에 있을 수도 있다. 명령들은, 예를 들어, 오퍼레이팅 시스템, 별도의 어플리케이션, 또는 이들 둘의 조합에서 발견될 수도 있다. 따라서, 프로세서는, 예를 들어, 프로세스를 실행하도록 구성된 디바이스 및 프로세스를 실행하기 위한 명령들을 갖는 (저장 디바이스와 같은) 프로세서 판독가능 매체를 포함하는 디바이스 양자 모두와 같이 특징을 나타낼 수도 있다. 추가로, 프로세서 판독가능 매체는, 명령들에 부가하여 또는 명령들 대신에, 구현에 의해 생성된 데이터 값들을 저장할 수도 있다.
당업자에게 명백할 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수도 있는 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수도 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수도 있다. 예를 들어, 신호는 설명된 실시형태의 신택스를 기입 또는 판독하기 위한 룰들을 데이터로서 반송하도록, 또는 설명된 실시형태에 의해 기입된 실제 신택스 값들을 데이터로서 반송하도록 포맷팅될 수도 있다. 그러한 신호는, 예를 들어, (예컨대, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수도 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수도 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수도 있다. 공지된 바와 같이, 신호는 다양한 서로 다른 유선 또는 무선 링크들 상으로 송신될 수도 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수도 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 다양한 수정들이 행해질 수도 있음이 이해될 것이다. 예를 들어, 상이한 구현들의 엘리먼트들은 결합되거나 보충되거나 수정되거나 또는 제거되어 다른 구현들을 생성할 수도 있다. 부가적으로, 당업자는, 다른 구조들 및 프로세스들이 개시된 구조들 및 프로세스들에 대해 대체될 수도 있으며 결과적인 구현들이 적어도 실질적으로 동일한 기능(들)을 적어도 실질적으로 동일한 방식(들)으로 수행하여, 개시된 구현들과 적어도 실질적으로 동일한 결과(들)를 달성할 것임을 이해할 것이다. 이에 따라, 이들 및 다른 구현들이 본 출원에 의해 고려된다.

Claims (15)

  1. 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법으로서,
    - 적어도 하나의 인코딩 정확도에 응답하여 적어도 하나의 양자화된 변환 벡터를 디코딩하는 단계;
    - 상기 적어도 하나의 양자화된 변환 벡터를 탈양자화하는 단계; 및
    - 적어도 하나의 탈양자화된 변환 벡터를 사용하여 상기 픽처를 디코딩하는 단계를 포함하는, 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 비트스트림으로부터 상기 적어도 하나의 인코딩 정확도를 나타내는 정보를 디코딩하는 단계, 및 디코딩된 상기 정보로부터 상기 적어도 하나의 인코딩 정확도를 결정하는 단계를 더 포함하는, 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 인코딩 정확도를 나타내는 상기 정보는 비트들의 수인, 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 인코딩 정확도를 나타내는 상기 정보는 비트 감분인, 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법.
  5. 제 2 항 내지 제 4 항 중 어느 한 항에 있어서,
    변환 벡터들의 수를 나타내는 정보를 디코딩하는 단계를 더 포함하고,
    상기 적어도 하나의 인코딩 정확도를 나타내는 정보를 디코딩하는 단계는 각각의 변환 벡터에 대한 인코딩 정확도를 나타내는 정보를 디코딩하는 단계를 포함하고,
    결정된 상기 적어도 하나의 인코딩 정확도에 응답하여 상기 적어도 하나의 양자화된 변환 벡터를 디코딩하는 단계는 연관된 인코딩 정확도에 응답하여 각각의 양자화된 변환 벡터의 컴포넌트들을 디코딩하는 단계를 포함하는, 픽처를 나타내는 비트스트림을 디코딩하기 위한 방법.
  6. 픽처를 인코딩하기 위한 방법으로서,
    - 적어도 하나의 변환 벡터의 형태로 적응적 변환을 획득하는 단계;
    - 상기 적어도 하나의 변환 벡터를 양자화하는 단계;
    - 적어도 하나의 인코딩 정확도에 응답하여 상기 적어도 하나의 양자화된 변환 벡터를 인코딩하는 단계; 및
    - 인코딩된 상기 적어도 하나의 양자화된 변환 벡터를 사용하여 상기 픽처를 인코딩하는 단계를 포함하는, 픽처를 인코딩하기 위한 방법.
  7. 제 6 항에 있어서,
    비트스트림에서 상기 적어도 하나의 인코딩 정확도를 나타내는 정보를 인코딩하는 단계를 더 포함하는, 픽처를 인코딩하기 위한 방법.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 적어도 하나의 인코딩 정확도를 나타내는 상기 정보는 비트들의 수인, 픽처를 인코딩하기 위한 방법.
  9. 제 6 항 또는 제 7 항에 있어서,
    상기 적어도 하나의 인코딩 정확도를 나타내는 상기 정보는 비트 감분인, 픽처를 인코딩하기 위한 방법.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    변환 벡터들의 수를 나타내는 정보를 인코딩하는 단계를 더 포함하고,
    상기 비트스트림에서 상기 적어도 하나의 인코딩 정확도를 나타내는 정보를 인코딩하는 단계는 각각의 변환 벡터에 대한 인코딩 정확도를 나타내는 정보를 인코딩하는 단계를 포함하고,
    결정된 상기 적어도 하나의 인코딩 정확도에 응답하여 상기 적어도 하나의 양자화된 변환 벡터를 인코딩하는 단계는 연관된 인코딩 정확도에 응답하여 각각의 변환 벡터의 컴포넌트들을 인코딩하는 단계를 포함하는, 픽처를 인코딩하기 위한 방법.
  11. 디코딩 디바이스로서,
    - 적어도 하나의 인코딩 정확도에 응답하여 적어도 하나의 양자화된 변환 벡터를 디코딩하는 수단;
    - 상기 적어도 하나의 양자화된 변환 벡터를 탈양자화하는 수단; 및
    - 적어도 하나의 탈양자화된 변환 벡터를 사용하여 상기 픽처를 디코딩하는 수단을 포함하는, 디코딩 디바이스.
  12. 제 11 항에 있어서,
    상기 디코딩 디바이스는 제 1 항 내지 제 5 항 중 어느 한 항에 기재된 디코딩 방법을 구현하도록 구성되는, 디코딩 디바이스.
  13. 인코딩 디바이스로서,
    - 적어도 하나의 변환 벡터의 형태로 적응적 변환을 획득하는 수단;
    - 상기 적어도 하나의 변환 벡터를 양자화하는 수단;
    - 적어도 하나의 인코딩 정확도에 응답하여 상기 적어도 하나의 양자화된 변환 벡터를 인코딩하는 수단; 및
    - 인코딩된 상기 적어도 하나의 양자화된 변환 벡터를 사용하여 상기 픽처를 인코딩하는 수단을 포함하는, 인코딩 디바이스.
  14. 제 13 항에 있어서,
    상기 인코딩 디바이스는 제 6 항 내지 제 10 항 중 어느 한 항에 기재된 인코딩 방법을 구현하도록 구성되는, 인코딩 디바이스.
  15. 상기 적어도 하나의 인코딩 정확도를 나타내는 정보, 상기 적어도 하나의 인코딩 정확도에 응답하여 인코딩된 적어도 하나의 양자화된 변환 벡터를 나타내는 정보, 및 인코딩된 적어도 하나의 양자화된 변환 벡터를 사용하여 인코딩된 픽처를 나타내는 정보를 포함하는, 비트스트림.
KR1020187012768A 2015-11-09 2016-11-02 인코딩 및 디코딩 방법 및 대응하는 디바이스들 KR20180081512A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15306779.8 2015-11-09
EP15306779.8A EP3166313A1 (en) 2015-11-09 2015-11-09 Encoding and decoding method and corresponding devices
PCT/EP2016/076438 WO2017080887A1 (en) 2015-11-09 2016-11-02 Encoding and decoding method and corresponding devices

Publications (1)

Publication Number Publication Date
KR20180081512A true KR20180081512A (ko) 2018-07-16

Family

ID=54608467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187012768A KR20180081512A (ko) 2015-11-09 2016-11-02 인코딩 및 디코딩 방법 및 대응하는 디바이스들

Country Status (6)

Country Link
US (1) US10958937B2 (ko)
EP (2) EP3166313A1 (ko)
JP (1) JP6854816B2 (ko)
KR (1) KR20180081512A (ko)
CN (1) CN108353178B (ko)
WO (1) WO2017080887A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3270595A1 (en) 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for last coefficient coding for adaptive transform based video compression
CN110337812A (zh) * 2018-04-02 2019-10-15 北京大学 环路滤波的方法、装置和计算机系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5767986A (en) * 1993-08-30 1998-06-16 Sony Corporation Picture encoding apparatus and method
GB2326572A (en) * 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
JP2000197054A (ja) 1998-12-24 2000-07-14 Hudson Soft Co Ltd 動画像符号方法及びそのプログラムを記録した記録媒体並びに装置
US6161043A (en) * 1999-02-22 2000-12-12 Pacesetter, Inc. Implantable cardiac device having event recording capability with compression
JP3670554B2 (ja) 2000-04-25 2005-07-13 日本電信電話株式会社 画像信号符号化装置/復号装置,画像信号符号化方法/復号方法および画像信号符号化/復号プログラム記録媒体
US6831947B2 (en) 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
SE0202159D0 (sv) * 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
JPWO2003079692A1 (ja) * 2002-03-19 2005-07-21 富士通株式会社 階層符号化装置および復号装置
US8289572B2 (en) * 2005-09-22 2012-10-16 Ricoh Production Print Solutions LLC Estimation of ink/toner coverage when printing
KR100772391B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 직교 변환 및 벡터 양자화에 기반한 동영상 부호화 및복호화 방법과 이를 이용한 장치
US8179775B2 (en) * 2007-08-14 2012-05-15 Texas Instruments Incorporated Precoding matrix feedback processes, circuits and systems
JP2009005041A (ja) 2007-06-21 2009-01-08 Sony Corp 符号化装置および方法、復号装置および方法、プログラム、記録媒体、並びにデータ構造
JP2012516627A (ja) 2009-01-27 2012-07-19 トムソン ライセンシング ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
RU2408076C1 (ru) 2009-07-02 2010-12-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображения
JP6157114B2 (ja) * 2012-12-28 2017-07-05 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
EP2951999A4 (en) 2013-01-30 2016-07-20 Intel Corp CONTENT PARAMETRIC TRANSFORMATIONS FOR CODING VIDEOS OF THE NEXT GENERATION
WO2015128222A1 (en) * 2014-02-27 2015-09-03 Thomson Licensing Method for encoding and decoding a picture and corresponding devices

Also Published As

Publication number Publication date
JP6854816B2 (ja) 2021-04-07
CN108353178B (zh) 2022-07-05
EP3166313A1 (en) 2017-05-10
CN108353178A (zh) 2018-07-31
US10958937B2 (en) 2021-03-23
EP3375189A1 (en) 2018-09-19
JP2018533309A (ja) 2018-11-08
WO2017080887A1 (en) 2017-05-18
US20180324462A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
US9282329B2 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
JP5334070B2 (ja) 画像処理における均衡ピクセル領域ひずみ分布を有する適合量子化
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US8311109B2 (en) In-loop deblocking for intra-coded images or frames
US9332278B2 (en) Video compression using an adaptive loop filter
CN114501010B (zh) 图像编码方法、图像解码方法及相关装置
US20100208804A1 (en) Modified entropy encoding for images and videos
KR20120084168A (ko) 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치
KR20180081512A (ko) 인코딩 및 디코딩 방법 및 대응하는 디바이스들
EP2595384A1 (en) Image processing device, image processing method, and program
CN102685483B (zh) 解码方法
EP3151559A1 (en) Method for coding and decoding a plurality of picture blocks and corresponding devices
US20150312590A1 (en) Methods for encoding and decoding a picture and corresponding devices
KR20150095604A (ko) 적응적인 인트라 예측을 이용한 영상 부호화/복호화 장치 및 방법
KR101117000B1 (ko) 화면 내 예측 오프셋을 이용한 부호화/복호화 방법 및 그 장치
WO2015128222A1 (en) Method for encoding and decoding a picture and corresponding devices
CN112543324A (zh) 视频解码方法、编码方法、编解码器及存储装置
JP2015186120A (ja) 符号化方式変換装置及びプログラム
CN102685485A (zh) 编码方法以及装置、解码方法以及装置
CN102685484B (zh) 编码方法以及装置、解码方法以及装置
KR20150100232A (ko) 인코딩 방법 및 그 시스템