KR101613381B1 - 비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들 - Google Patents

비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들 Download PDF

Info

Publication number
KR101613381B1
KR101613381B1 KR1020147011933A KR20147011933A KR101613381B1 KR 101613381 B1 KR101613381 B1 KR 101613381B1 KR 1020147011933 A KR1020147011933 A KR 1020147011933A KR 20147011933 A KR20147011933 A KR 20147011933A KR 101613381 B1 KR101613381 B1 KR 101613381B1
Authority
KR
South Korea
Prior art keywords
reconstruction
data
step size
reconstructed
quantization
Prior art date
Application number
KR1020147011933A
Other languages
English (en)
Other versions
KR20140072179A (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 KR20140072179A publication Critical patent/KR20140072179A/ko
Application granted granted Critical
Publication of KR101613381B1 publication Critical patent/KR101613381B1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

적응형 재구성 레벨들을 이용하는 인코딩 및 디코딩 방법들이 제시된다. 재구성 공간 파라미터들은 인코더에 의해 발현되고 인코딩된 비디오 데이터에 삽입된다. 재구성 공간 파라미터는 디코더가 인코딩된 비디오 데이터의 역양자화에 대한 레벨들을 결정할 수 있는 파라미터들을 포함할 수 있다. 재구성 공간 파라미터들은 제 1 재구성 레벨 및 다른 레벨들 간의 스텝 크기를 포함할 수 있다. 제 1 재구성 레벨은 스텝 크기와 동일하지 않을 수 있다. 몇몇 경우들에서, 어느 것도 변환 도메인 계수들을 양자화하기 위해 이용되는 양자화 스텝 크기와 동일하지 않을 수 있다.

Description

비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들{METHODS AND DEVICES FOR DATA COMPRESSION USING A NON-UNIFORM RECONSTRUCTION SPACE}
저작권 주의
본 문서 및 첨부 자료들의 개시물의 일부는 저작권 주장이 이루어지는 자료들을 포함한다. 저작권 소유자는 특허 문서 또는 특허 개시물 임의의 것에 의한 원거리 재현(facsimile reproduction)에 이의가 없는데, 그 이유는 그것이 특허청 파일들 또는 레코드들에 나타나지만, 모든 다른 저작권 권리들을 무슨일이 있어도 보유하기 때문이다.
본 특허 출원은 일반적으로 데이터 압축에 관한 것으로, 특히 비-균일 재구성 공간을 이용한 양자화를 위한 방법들 및 디바이스들에 관한 것이다.
데이터 압축은 다수의 맥락들에서 발생한다. 그것은 정보를 효율적으로 저장, 전송 및 재생하기 위해 통신들 및 컴퓨팅 네트워크에서 매우 흔히 이용된다. 데이터 압축은 이미지들, 오디오 및 비디오의 인코딩에 있어서 특정한 응용성을 발견한다. 비디오는, 각각의 비디오 프레임에 대해 요구되는 많은 양의 데이터 및 인코딩 및 디코딩이 종종 발생하도록 요구되는 속도로 인해 데이터 압축에 상당한 도전과제를 제시한다. 비디오 인코딩에 대한 현재 최신 기술은 ITU-T H.264/AVC 비디오 코딩 표준이다. 이것은 메인 프로파일, 베이스라인 프로파일 및 기타 등을 포함하는 상이한 애플리케이션들에 대해 다수의 상이한 프로파일을 정의한다. 차세대 비디오 인코딩 표준은 현재 MPEG-ITU:고효율 비디오 코딩(High Efficiency Video Coding; HEVC)의 공동 시작(joint initiative)을 통한 개발중에 있다.
블록-기반 코딩 프로세스를 이용하는 H.264를 비롯해서, 이미지들 및 비디오를 인코딩/디코딩하기 위한 다수의 표준들이 있다. 이들 프로세스들에서, 이미지 또는 프레임은 블록들로, 통상적으로, 4x4, 또는 8x8로 분할되고, 블록들은 계수들로 스펙트럼 변환되고, 양자화되고 엔트로피 인코딩된다. 다수의 경우들에서, 변환되는 데이터는 실제 픽셀 데이터가 아니라 예측 동작에 따른 잔차 데이터(residual data)이다. 예측들은 인트라-프레임, 즉 프레임/이미지 내의 블록-투-블록, 또는 인터-프레임, 즉, 프레임들 간에(또한 움직임 예측이라 불림) 이루어질 수 있다. 이것은 HEVC가 또한 이득 특징들을 가질 것이라고 예상된다.
잔차 데이터를 스펙트럼 변환할 때, 이들 표준들 대부분은 이산 코사인 변환(discrete cosine transform; DCT) 또는 이것의 몇몇 변동물을 이용하도록 규정한다. 결과적인 DCT 계수들은 이어서 균일한 양자화 스텝 크기, 즉, 데이터 공간의 균일한 파티셔닝을 이용하는 양자화기를 이용하여 양자화된다.
손실 압축의 작업, 예를 들어, 오디오/비디오 코딩, 비디오 코딩, 이미지 코딩 등은 레이트-왜곡 성능(rate-distortion performance)을 개선하는데 초점을 맞추는 경향이 있다. 즉, 대부분의 인코딩 및 디코딩 방식들의 목적은 왜곡 및 코딩 레이트 간의 최적의 밸런스를 찾는 것이다. 타입
Figure 112014041870256-pct00001
의 레이트-왜곡 최적화 표현이 통상적으로 이용되며, 여기서 라그레인지안 승수 λ는 코딩 레이트와 왜곡 간의 원하는 트래이드-오프(trade-off)를 표현한다.
인코더에서의 양자화에 의한 데이터 공간의 균일한 파티셔닝에 매칭하는 균일한 재구성 공간을 이용한 디코더에서의 데이터의 재구성은 최적의 레이트-왜곡 성능을 항상 실현하는 것은 아니다.
본 출원은 손실 데이터 압축에서 레이트-왜곡 개선들을 달성하기 위한 방법들 및 인코더들/디코더들을 설명한다. 몇몇 실시예들에서, 본 명세서에서 설명되는 데이터 압축 프로세스 또는 디바이스들은 오디오 데이터, 이미지 데이터 및/또는 비디오 데이터의 인코딩 및 디코딩에 적용될 수 있다. 특히, 본 출원은 역양자화를 위해 비-균일한 재구성 공간을 이용하는 데이터 압축의 방법 및 프로세스를 설명한다. 인코더에서 비-균일한 재구성 공간을 결정하고, 비-균일한 재구성을 위한 파라미터들을 디코더에 전달하고, 데이터를 역양자화할 때 디코더에서 비-균일한 재구성 공간을 적용하기 위한 방법들 및 디바이스들이 설명된다.
제 1 양상에서, 본 출원은 비디오 데이터를 인코딩하기 위한 방법을 개시하며, 상기 비디오 데이터는 양자화된 변환 계수들의 세트들을 포함하는 블록들로 파티셔닝된다. 이 방법은 현재의 블록 내의 양자화된 변환 계수들의 각각의 세트에 대해, 양자화된 변환 계수들의 개수 및 세트 내의 모든 양자화된 변환 계수들의 각각의 반올림되지 않은 양자화 값들(non-rounded quantization values)의 합을 포함하는 통계들을 수집하는 단계를 포함한다. 이 방법은 이어서 현재의 블록에 대해, 통계에 기초하여 스텝 크기(step size)를 유도하는 단계; 양자화 파라미터(quantization parameter; QP)들의 미리 결정된 세트로부터, 유도된 스텝 크기에 가장 근접한 대응하는 스텝 크기를 갖는 QP를 선택하는 단계; 및 현재 블록에 대해 선택된 QP를 이용하여 다음 블록을 인코딩하는 단계를 포함한다.
일 양상에서, 본 출원은 인코딩된 데이터의 비트스트림을 디코딩하는 방법을 설명한다. 이 방법은 비트스트림으로부터 재구성 공간 파라미터를 추출하는 단계 - 상기 재구성 공간 파라미터들은 제 1 재구성 레벨 및 추가의 재구성 레벨들에 대한 재구성 스텝 크기를 식별하고 제 1 재구성 레벨은 재구성 스텝 크기와 동일하지 않음 - ; 복수의 양자화된 변환 계수들을 획득하기 위해 인코딩된 데이터를 디코딩하는 단계; 및 제 1 재구성 레벨 및 재구성 스텝 크기에 기초하여 재구성된 변환 계수를 생성하기 위해 각각의 양자화된 변환 계수를 역양자화(dequantizing)하는 단계를 포함한다.
다른 양상에서, 본 출원은 데이터를 인코딩하기 위한 방법을 설명하며, 상기 데이터는 양자화된 변환 도메인 계수들을 포함한다. 이 방법은 양자화된 변환 도메인 계수들에 기초하여 재구성 공간 파라미터들을 생성하는 단계 - 상기 재구성 공간 파라미터들은 제 1 재구성 레벨 및 추가의 재구성 레벨들에 대한 재구성 스텝 크기를 식별하고, 제 1 재구성 레벨은 재구성 스텝 크기와 동일하지 않음 - ; 양자화된 변환 도메인 계수들을 엔트로피 인코딩(entropy encoding)하는 단계; 및 인코딩된 양자화된 변환 도메인 계수들 및 재구성 공간 파라미터들을 포함하는 비트스트림을 생성하는 단계를 포함한다.
추가의 양상들에서, 본 출원은 인코딩 및 디코딩의 이러한 방법들을 구현하도록 구성된 인코더들 및 디코더들을 설명한다.
또 다른 양상에서, 본 출원은 실행될 때, 인코딩 및/또는 디코딩의 설명된 방법들을 수행하도록 프로세서를 구성하는 컴퓨터-실행 가능한 프로그램 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능한 매체들을 설명한다.
본 출원의 다른 양상들 및 특징들은 첨부 도면들과 함께 다음의 예들의 설명을 고찰하여 당업자에 의해 이해될 것이다.
이제 예로서, 본 출원의 예시적인 실시예들을 도시하는 첨부 도면에 대한 참조가 이루어질 것이다.
도 1은 비디오를 인코딩하기 위한 인코더를 블록도 형태로 도시한다.
도 2는 비디오를 디코딩하기 위한 디코더를 블록도 형태로 도시한다.
도 3은 예시적인 데이터 공간을 도시한다.
도 4는 데이터 공간의 서브-부분 내의 실제 데이터의 예시적인 비-균일한 분포를 도시한다.
도 5는 예시적인 적응형 재구성 공간을 도시한다.
도 6은 제 2 예시적인 적응형 재구성 공간을 도시한다.
도 7은 제 3 예시적인 적응형 재구성 공간을 도시한다.
도 8은 제 4 예시적인 적응형 재구성 공간을 도시한다.
도 9는 재구성 공간 파라미터들을 통해 데이터를 인코딩하기 위한 예시적인 방법을 흐름도 형태로 도시한다.
도 10은 재구성 공간 파라미터들을 이용하여 인코딩된 데이터를 디코딩하기 위한 예시적인 방법을 흐름도 형태로 도시한다.
도 11은 인코더의 예시적인 실시예의 단순화된 블록도를 도시한다.
도 12는 디코더의 예시적인 실시예의 단순화된 블록도를 도시한다.
유사한 참조 번호들은 유사한 컴포넌트들을 나타내기 위해 상이한 도면들에서 이용될 수 있다.
이어지는 설명에서, 몇몇 예시적인 실시예들이 비디오 코딩을 위한 H.264 표준을 참조하여 설명된다. 당업자들은 본 출원이 H.264로 제한되는 것이 아니라, HEVC, 멀티뷰 코딩 표준들, 스케일러블 비디오 코딩 표준들 및 재구성 가능한 비디오 코딩 표준들과 같이, 가능한 미래의 표준들을 포함하는 다른 비디오 코딩/디코딩 표준들에 응용 가능할 수 있다는 것이 이해될 것이다. 본 출원은 비디오 코딩/인코딩으로 제한될 필요는 없고 오디오 코딩/디코딩, 이미지 코딩/디코딩, 또는 임의의 다른 데이터의 손실 코딩/디코딩에 응용 가능할 수 있다는 것이 또한 인지될 것이다. 본 출원은 코딩/디코딩되는 데이터의 타입들에 무관하게 양자화를 이용하는 임의의 손실 데이터 압축 프로세스에 널리 응용 가능하다.
이어지는 설명에서, 비디오 또는 이미지들을 참조할 때, 프레임, 슬라이스, 타일 및 직사각형 슬라이스 그룹이라는 용어는 다소 서로 교환 가능하게 이용될 수 있다. 당업자들은, H.264 표준의 경우에, 프레임이 하나 이상의 슬라이스들을 포함할 수 있다는 것을 인지할 것이다. 특정한 인코딩/디코딩 동작들은 응용 가능한 이미지 또는 비디오 코딩 표준의 특정한 요건에 의존하여, 프레임별 기반(frame-by-frame basis)으로 수행될 수 있고, 일부는 슬라이스별 기반으로, 일부는 타일별로, 그리고 일부는 직사각형 슬라이스 그룹에 의해 수행될 수 있다는 것이 또한 인지될 것이다. 임의의 특정한 실시예에서, 응용 가능한 이미지 또는 비디오 코딩 표준은 경우에 따라, 아래에서 설명된 동작들이 프레임들 및/또는 슬라이스들 및/또는 타일들 및/또는 직사각형 슬라이스 그룹들과 관련하여 수행되는지를 결정할 수 있다. 이에 따라, 당업자들은 본 개시의 견지에서, 본 명세서에서 설명되는 특정한 동작들 또는 프로세스들 및 프레임들, 슬라이스들, 타일들, 직사각형 슬라이스 그룹들에 대한 특정한 참조들이 주어진 실시예에 대해 프레임들, 슬라이스들, 타일들, 직사각형 슬라이스 그룹들, 또는 이들 중 일부 또는 모두 다에 응용 가능한지 이해할 것이다. 이는 또한 아래의 설명의 견지에서 자명하게 될 바와 같이, 코딩 유닛들, 코딩 유닛들의 그룹들 등에 적용된다.
이어지는 논의에서, DCT 계수들 및 DCT 도메인에 대한 참조가 이루어지며; 그러나 본 출원은 DCT 계수들의 인코딩, 블록-기반 변환 계수들의 인코딩, 블록-기반 데이터의 인코딩 또는 임의의 특정한 데이터 타입으로 제한되지 않는다는 것이 인지될 것이다.
아래에서 설명되는 프로세스들 또는 방법들이 이미지들 및/또는 비디오에 적용되는 정도까지, 이들이 프레임, 슬라이스, GOP(Group-of-Pictures), 또는 코딩 유닛, 코딩 유닛들의 그룹에 대한 것과 같은 임의의 다른 기반으로 비디오 또는 이미지의 부분에 적용될 수 있다. 본 명세서에서 설명되는 프로세스 또는 방법이 음악 또는 음성 데이터와 같은 오디오에 적용되는 정도까지, 이들은 데이터 포인트들의 그룹핑 또는 시퀀스, 예를 들어, 오디오 샘플에 적용될 수 있다. 화상 및 프레임이라는 용어들은 상호 교환 가능하게 이용될 수 있다는 것에 주목해야 한다.
이제 비디오를 인코딩하기 위한 인코더(10)를 블록도 형태로 도시하는 도 1에 대한 참조가 이루어진다. 또한 비디오를 디코딩하기 위한 디코더(50)의 블록도를 도시하는 도 2에 대한 참조가 이루어진다. 본 명세서에서 설명되는 인코더(10) 및 디코더(50)는 각각 하나 이상의 프로세싱 엘리먼트들 및 메모리를 포함하는 애플리케이션-특정 또는 범용 컴퓨팅 디바이스 상에서 구현될 수 있다는 것이 인지될 것이다. 인코더(10) 또는 디코더(50)에 의해 수행되는 동작들은, 경우에 따라, 주문형 집적 회로로, 또는 예를 들어, 범용 프로세서에 의해 실행 가능한 저장된 프로그램 명령들로 구현될 수 있다. 디바이스는 예를 들어, 기본 디바이스 기능들을 제어하기 위한 운용 체제를 포함해서 부가적인 소프트웨어를 포함할 수 있다. 인코더(10) 또는 디코더(50)가 구현될 수 있는 디바이스들 및 플랫폼들의 범위는 다음의 설명에 관해 당업자들에 의해 인지될 것이다.
인코더(10)는 비디오 소스(12)를 수신하고 인코딩된 비트스트림(14)을 생성한다. 디코더(50)는 인코딩된 비트스트림(14)을 수신하고 디코딩된 비디오 프레임(16)을 출력한다. 인코더(10) 및 디코더(50)는 다수의 비디오 압축 표준들에 순응하여 동작하도록 구성될 수 있다. 예를 들어, 인코더(10) 및 디코더(50)는 H.264/AVC 컴플라이언트(compliant)일 수 있다. 다른 실시예들에서, 인코더(10) 및 디코더(50)는 HEVC와 같이 H.264/AVC 표준의 진전(evolution)들을 포함해서 다른 비디오 압축 표준들에 순응할 수 있다.
인코더는 공간 예측기(21), 코딩 모드 선택기(20), 변환 프로세서(22), 양자화기(24) 및 엔트로피 인코더(26)를 포함한다. 당업자들에 의해 인지될 바와 같이, 코딩 모드 선택기(20)는 비디오 소스에 대한 적절한 코딩 모드, 예를 들어, 대상 프레임/슬라이스가 I, P, 또는 B 타입으로 이루어지는지 여부, 그리고 프레임/슬라이스 내의 특정한 코딩 유닛들(예를 들어, 매크로블록들)이 인터 또는 인트라 코딩되는지를 결정한다. 변환 프로세서(22)는 공간 도메인 데이터를 토대로 변환을 수행한다. 특히, 변환 프로세서(22)는 공간 도메인 데이터를 스펙트럼 성분들로 변환하기 위해 블록-기반 변환을 적용한다. 예를 들어, 다수의 실시예들에서, 이산 코사인 변환(discrete cosine transform; DCT)이 이용된다. 이산 사인 변환 또는 기타 등과 같은 다른 변환들이 몇몇 예들에서 이용될 수 있다. 블록-기반 변환은 매크로블록들의 크기에 의존하여, 매크로블록 또는 서브-블록 기반으로 수행된다. H.264 표준에서, 예를 들어, 통상적인 16x16 매크로블록은 16개의 4x4 변환 블록들을 포함하고, DCT 프로세스가 4x4 블록들 상에서 수행된다. 몇몇 경우들에서, 변환 블록들은 8x8일 수 있는데, 이는 매크로블록 당 4개의 변환 블록들이 있다는 것을 의미한다. 또 다른 경우들에서, 변환 블록들은 다른 크기들일 수 있다. 몇몇 경우들에서, 16x16 매크로블록은 4x4 및 8x8 변환 블록들의 비-오버랩핑 결합을 포함할 수 있다.
블록-기반 변환을 픽셀 데이터의 블록에 적용하는 것은 변환 도메인 계수들의 세트를 발생시킨다. 이러한 맥락에서 "세트(set)"는 계수들이 계수 위치들을 갖는 순서화된 세트이다. 몇몇 예들에서, 변환 도메인 계수들의 세트는 "계수들의 매트릭스" 또는 "블록"으로 간주될 수 있다. 본 명세서에서의 설명에서, "변환 도메인 계수들의 세트" 또는 "변환 도메인 계수들의 블록"이란 구문은 상호 교환 가능하게 이용되고 변환 도메인 계수들의 순서화된 세트를 표시하는 것으로 의도된다.
변환 도메인 계수들의 세트는 양자화기(24)에 의해 양자화된다. 양자화된 계수들 및 연관된 정보는 이어서 엔트로피 인코더(26)에 의해 인코딩된다.
인트라-코딩된 프레임들/슬라이스들(즉, 타입 I)은 다른 프레임들/슬라이스들을 참조함 없이 인코딩된다. 즉, 이들은 시간 예측을 이용하지 않는다. 그러나 인트라-코딩된 프레임들은 공간 예측기(21)에 의해 도 1에서 예시되는 바와 같이 프레임/슬라이스 내의 공간 계측에 의존한다. 즉, 특정한 블록을 인코딩할 때, 블록 내의 데이터는 그 프레임/슬라이스에 대해 이미 인코딩된 블록 내의 근처의 픽셀들의 데이터에 비교될 수 있다. 예측 알고리즘을 이용하여, 블록의 소스 데이터는 잔차 데이터로 변환될 수 있다. 변환 프로세서(22)는 이어서 잔차 데이터를 인코딩한다. H.264는 예를 들어, 4x4 변환 블록들에 대해 9개의 공간 예측 모드들을 규정한다. 몇몇 실시예들에서, 9개의 모드들 각각은 블록을 독립적으로 프로세싱하는데 이용될 수 있고, 이어서 레이트-왜곡 최적화(rate-distortion optimization)가 최상의 모드를 선택하는데 이용된다.
H.264 표준은 또한 시간 예측을 이용하도록 움직임 예측/보상의 이용을 규정한다. 이에 따라, 인코더(10)는 역-양자화기(de-quantizer; 28), 인버스 변환 프로세서(inverse transform processor; 30), 및 디블록킹 프로세서(32)를 포함하는 피드백 루프를 갖는다. 이들 엘리먼트들은 프레임/슬라이스를 재생하기 위해 디코더(50)에 의해 구현되는 디코딩 프로세스를 미러(mirror)링한다. 프레임 스토어(34)는 재생된 프레임들을 저장하는데 이용된다. 이러한 방식으로, 움직임 예측은, 인코딩/디코딩에 수반되는 손실 압축으로 인해 재구성된 프레임들과 상이할 수 있는 원래의 프레임이 아니라, 디코더(50)에서 재구성된 프레임이 무엇일지에 기초한다. 움직임 예측기(36)는 유사한 블록들을 식별할 목적으로, 현재 프레임에 대한 비교를 위해, 소스 프레임들/슬라이스들로서 프레임 스토어(34)에 저장된 프레임들/슬라이스들을 이용한다. 이에 따라, 움직임 예측이 적용되는 매크로블록들에 대해, 변환 프로세서(22)가 인코딩하는 "소스 데이터"는 움직임 예측 프로세스로부터 발생하는 잔차 데이터이다. 예를 들어, 그것은 기준 프레임, 공간 변위 또는 "움직임 벡터"에 관한 정보 및 기준 블록과 현재 블록 간의 차이(만약 있다면)를 표현하는 잔차 픽셀 데이터를 포함할 수 있다. 기준 프레임 및/또는 움직임 벡터에 관한 정보는 변환 프로세서(22) 및/또는 양자화기(24)에 의해 프로세싱되는 것이 아니라, 양자화된 계수들과 함께 비트스트림의 부분으로서 인코딩을 위해 엔트로피 인코더(26)에 대신 공급될 수 있다.
당업자들은 H.264 인코더들을 구현하기 위한 상세들 및 가능한 변동들을 인지할 것이다.
디코더(50)는 엔트로피 디코더(52), 역양자화기(53), 인버스 변환 프로세서(56), 공간 보상기(57), 및 디블로킹 프로세서(60)를 포함한다. 프레임 버퍼(58)는 움직임 보상을 적용하는데 있어 움직임 보상기(62)에 의한 이용을 위해 재구성된 프레임들을 공급한다. 공간 보상기(57)는 이전에 디코딩된 블록으로부터 특정한 인트라-코딩된 블록에 대한 비디오 데이터를 복구하는 동작을 표현한다.
비트스트림(14)이 양자화된 계수들을 복구하기 위해 엔트로피 디코더(52)에 의해 수신되고 디코딩된다. 사이드 정보(side information)는 또한 엔트로피 디코딩 프로세스 동안 복구될 수 있으며, 이들 중 일부는, 응용 가능한 경우, 움직임 보상에 이용하도록 움직임 보상 루프에 공급될 수 있다. 예를 들어, 엔트로피 디코더(52)는 인터-코딩된 매크로블록들에 대한 움직임 벡터들 및/또는 기준 프레임 정보를 복구할 수 있다.
양자화된 계수들은 이어서 변환 도메인 계수들을 생성하기 위해 역양자화기(54)에 의해 역양자화되며, 이 변환 도메인 계수들은 이어서 "비디오 데이터"를 재생성하기 위해 인버스 변환 프로세서(56)에 의해 인버스 변환이 된다. 몇몇 경우들에서, 인트라-코딩된 매크로블록에 대해서와 마찬가지로, 재생성된 "비디오 데이터"는 프레임 내에서 이전에 디코딩된 블록에 대한 공간 보상에 이용하기 위한 잔차 데이터란 것이 인지될 것이다. 공간 보상기(57)는 잔차 데이터로부터 비디오 데이터 및 이전에 디코딩된 블록으로부터 픽셀 데이터를 생성한다. 다른 경우들에서, 인터-코딩된 매크로블록들과 같이, 인버스 변환 프로세서(56)로부터의 재생성된 "비디오 데이터"는 상이한 프레임으로부터 기준 블록에 대한 움직임 보상에 이용하기 위한 잔차 데이터이다. 양자의 공간 및 움직임 보상은 "예측 동작들"로서 본 명세서에서 지칭될 수 있다.
움직임 보상기(62)는 특정한 인터-코딩된 매크로블록에 대해 특정된 프레임 버퍼(58) 내에 기준 블록을 로케이팅한다. 움직임 보상기(62)는 이에 따라 인터-코딩된 매크로블록에 대해 특정된 움직임 벡터 및 기준 프레임 정보에 기초한다. 움직임 보상기(62)는 이어서 그 매크로블록에 대한 재구성된 비디오 데이터에 도달하도록 잔차 데이터와 결합하기 위한 기준 블록 픽셀 데이터를 공급한다.
디블로킹 프로세스는 이어서 디블로킹 프로세서(60)에 의해 표시된 바와 같이, 재구성된 프레임/슬라이스에 적용될 수 있다. 디블로킹 이후에, 프레임/슬라이스는 예를 들어, 디스플레이 디바이스 상의 디스플레이를 위해, 디코딩된 비디오 프레임(16)으로서 출력된다. 컴퓨터, 셋-톱 박스, DVD 또는 블루-레이 재생기 및/또는 모바일 핸드헬드 디바이스와 같은 비디오 재생 기계는 출력 디바이스 상에 디스플레이하기 이전에 메모리에 디코딩된 프레임들을 버퍼링할 수 있다는 것이 이해될 것이다.
HEVC-컴플라이언트 인코더들 및 디코더들은 이들 동일한 또는 유사한 특징들 대부분을 가질 것으로 예상된다.
양자화
예측(p)을 갖는 픽셀들(x)의 주어진 블록에 대해, 잔차는
Figure 112014041870256-pct00002
이다. 잔차(z)는 변환 도메인 계수들(c)의 세트를 생성하기 위해 (예를 들어, DCT를 이용함으로써) 변환된다. 계수들(c)은 양자화된 계수들(u)의 세트를 생성하기 위해 선택된 양자화 스텝 크기(q)를 이용하여 양자화된다. 이는 다음과 같이 표현될 수 있다:
Figure 112014041870256-pct00003
여기서, 입력(c)은 양자화 스텝 크기(q)를 적용함으로써 u로 양자화되고,
Figure 112014041870256-pct00004
은 반올림 오프셋이다. 양자화 출력은 결정 함수(deterministic function)에 의해 계산되기 때문에, 이는 또한 경-판정 양자화(hard-decision quantization)로 불린다.
양자화 연산은 레이트-왜곡 관점으로부터 관찰될 수 있다. 사실상, 양자화 연산은 선택된 인덱스들은 레이트-왜곡 비용이 최소가 되게 하도록, 인덱스들(u)을 선택하게 정제될 수 있다. 최소 레이트-왜곡 비용은 다음과 같이 표현될 수 있다:
Figure 112014041870256-pct00005
수학식(2)에서, c는 변환 계수들의 매트릭스이고, q는 양자화 스텝 크기이고, u는 계수들이 양자화되는 인덱스들의 대응하는 매트릭스이다. 심볼(λ)은 코딩 레이트 및 비디오 품질의 종단 사용자들의 선호도들에 기초하여 이들에 의해 결정되는 상수인 라그레인지안 승수이다. 비교적 작은 λ은 더 양호한 품질을 보다 선호하게 하고, 더 큰 λ는 더 낮은 코딩 레이트를 강조한다. r(u)는 인덱스들(u)에 대한 엔트로피 코딩에 의한 레이트 함수를 표현한다. 엔트로피 코딩은 임의의 적합한 또는 응용 가능한 엔트로피 코딩 방식일 수 있다. JPEG 이미지들의 경우, 예를 들어, 코딩은 호프먼 코딩(Huffman coding)일 수 있다. H.264 비디오의 경우, 코딩은 CAVLC 또는 CABAC 코딩일 수 있다. 또 다른 문맥-의존적 또는 문맥-독립적 코딩 방식들은 특정한 실시예들에서 응용 가능할 수 있다. 명확히, 수학식(2)으로부터의 양자화 출력은 더 이상 결정 함수에 의해 제공되는 것이 아니라, 레이트 및 왜곡 양자에 관련되는 최적화 프로세스의 출력이다. 따라서, 이것은 연-판정 양자화로 명명된다.
연-판정 양자화의 예시적인 실시예들은 Yang 등(이하 "Yang")에 의해 출원된 미국 특허 공개 번호 2007/0217506에서 설명된다. Yang 공개문헌은 고정된 q(또는 보다 일반적으로 상이한 스텝 크기들이 상이한 계수 위치들에 대해 이용될 수 있는 양자화에 대해 매트릭스(q))의 경우 u의 최적화를 설명한다. 이는 변환 도메인 계수들 자체가 레이트-왜곡 최적화에서 자유-파라미터들로서 취급되기 때문에 "연-판정 양자화"라 칭해진다. CAVLC를 이용한 H.264 인코딩에 대한 연-판정 양자화의 적용은 Yang에서 설명되고, 이것은 주어진 엔트로피 인코딩 방식에 대해 누적 레이트-왜곡을 최소가 되게 하는 양자화된 계수들(u)의 세트를 검색하기 위해 격자구조(trellis)의 이용을 포함할 수 있다. Yang에서 설명된 예에서, H.264 CAVLC 인코딩 방식이 예시를 위해 이용된다.
H.264에서 그리고 다수의 다른 코딩 방식들에서, 양자화 스텝 크기들은 미리 결정되고, 특정한 예에서, 인코더는 블록, 슬라이스, 프레임 등이든 간에, 데이터 포인트들의 특정한 세트를 양자화하기 위해 이용할 양자화 스텝 크기들 중 하나를 선택한다. 인코더는 이어서 단지 어느 양자화 스텝 크기가 이용되는지 디코더에 통지하기 위해 인덱스 또는 표시자를 전송할 필요가 있다.
이제 데이터 공간(100)의 부분을 그래프로 예시하는 도 3을 참조한다. 이 예에서, 데이터 공간(100)은 선택된 양자화 방식을 이용하여 양자화될 데이터 포인트들의 세트를 포함한다. 개념적으로, 양자화를 수행하기 위해, 데이터 공간(100)은 서브-부분들(A0, A1, ...,AN)로 파티셔닝되는 것으로 간주될 수 있으며, 여기서 N+1은 서브-부분들의 개수이다. 각각의 서브-부분은 그의 인덱스(i)에 의해 참조될 수 있으며, 여기서 i=0, 1, ..., N이다. 서브-부분들(Ai) 중 하나 내에 있는 데이터 포인트는 양자화된 변환 도메인 계수(u=인덱스 i)로서 양자화된다. 재구성 레벨들(qu)은 그 각각의 서브-부분들의 중간포인트에 있다. 디코더가 데이터 포인트를 재구성할 때, 디코더는 재구성 레벨(qu)로서 데이터 포인트를 재구성하며; u=i의 경우에, 데이터 포인트는 서브-부분(Ai) 내에서 실제 데이터 포인트가 위치된 장소와 무관하게 qi로서 재구성된다. q의 양자화 스텝 크기에 있어서, 각각의 재구성 레벨(qi)은
Figure 112014041870256-pct00006
에 의해 주어진다. 소스 데이터가 균일할 경우, 중간포인트 재구성 레벨은 왜곡이 최소가 되게 할 것이라고 가정하고; 그러나 소스 데이터의 균일한 분포는 다수의 경우들에서 부정확할 수 있다고 가정한다.
이제 예시적인 서브-부분(Ai)을 도시하는 도 4를 참조한다. 중간포인트 재구성 레벨을 qi로서 도시된다. 소스 데이터 포인트들의 비-균일한 분포는 참조 번호(102)로서 도시된다. 102에 의해 도시된 바와 같은 분포를 갖는 데이터 포인트들은 qi'에서 또는 그 근처에서 적응형 재구성 레벨에 의해 더 양호하게 표현될 수 있다는 것이 인지될 것이다. 소스 데이터 지점들의 비-균일한 분포는 참조 번호(102)로서 도시된다. 적응형 재구성 레벨은 인덱스(i)에 할당되거나 이와 연관되는, 즉 서브-부분(Ai) 내에 위치되는 데이터 포인트들의 실제 분포에 기초할 수 있다. 적응형 재구성 레벨은 몇몇 실시예들에서, 산술 수단 또는 매체들 또는 모드에 기초할 수 있다. 서브-부분(Ai) 내의 실제 데이터 포인트들의 분포를 반영하도록 재구성 레벨을 조정함으로써, 현재 설명된 프로세스는 균일도의 가정에 의존하면, 데이터 포인트들의 비-균일 분포에 기인할 수 있는 왜곡 중 일부를 보상한다.
다수의 데이터 압축 프로세스들에서, 양자화가 수행될 때, 데이터 공간의 파티셔닝 및 재구성 레벨들의 선택은 별개로 고려되지 않는다. 예를 들어, ITU-T H.264/AVC에서, 둘 다는 양자화 스텝 크기의 선택에 포함된다. 본 출원인들은 각각의 서브-부분에 대한 재구성 레벨의 선택 및 데이터 공간의 파티셔닝이 별개로 고려될 수 있고, 예를 들어, ITU-T H.264/AVC에서와 같이 서브-부분의 중간포인트에서 미리 결정된-재구성 레벨에 기초할 필요가 없다는 것을 인지하였다.
따라서, 이러한 프로세스 하의 양자화는 2-스테이지 연산이 된다. 첫째로, 데이터 포인트들은 양자화 인덱스에 할당된다(즉, 데이터 공간의 파티셔닝에 기초하여, 데이터 포인트들은 서브-부분들로 그룹핑됨). 이러한 제 1 스테이지에서의 파티셔닝/양자화는 균일, 비-균일, 미리 결정된 경-판정 양자화, 또는 연-판정 양자화일 수 있다. 스텝 크기/파티션 크기는 레이트-왜곡 최적화 프로세스에 기초하여 미리 설정된 수의 후보 스텝 크기들/파티션 크기들 중에서 선택될 수 있다. 모든 이들 가능한 변동들에서, 데이터 포인트들은 선택된 양자화 파티션 구조에 대한 인덱스들 중 하나에 각각 할당된다.
둘째로, 파티셔닝된 데이터 공간의 서브-부분들 중 하나 이상에 대한 적응형 재구성 레벨(예를 들어, 각각의 인덱스)이 결정된다. 적응형 재구성 레벨은 서브-부분(들) 내에 있는 실제 데이터 포인트들의 평균화(averaging)에 기초할 수 있다. 평균화는 특정한 애플리케이션이 주어지면, 블록 또는 코딩 유닛, 블록들 또는 코딩 유닛들의 그룹, 슬라이스, 프레임, GOP(group-of-pictures), 또는 데이터 포인트들의 다른 적합한 수집(collection) 상에서 발생할 수 있다. 이것은 또한 공통 양자화 파라미터(qP)를 갖는 코딩 유닛들 또는 프레임들의 그룹 상에서 발생할 수 있다. 몇몇 경우들에서, 동일한 프레임 또는 GOP는 상이한 qP를 갖는 코딩 유닛들을 가질 수 있으며, 이 경우에, 동일한 qP를 갖는 이러한 코딩 유닛들은 코딩 유닛들의 그룹에 대한 적응형 재구성 레벨들을 결정할 목적으로 그 코딩 유닛들의 그룹을 고려할 수 있다.
각각의 인덱스에 대한 적응형 재구성 레벨의 선택은 레이트-왜곡 분석에 기초할 수 있다. 즉, 그것은 서브-부분 내의 실제 데이터 포인트들이 주어지면 총 왜곡을 최소화하는 재구성 레벨을 선택하는 것에 기초할 수 있다. 그것은 추가로 재구성 레벨들을 전송하는 것과 연관된 레이트 비용 및 실제 데이터 포인트들과 재구성 레벨 간의 차이로부터의 왜곡을 포함하는 비용 함수를 최소화하는 것에 기초할 수 있다. 재구성 레벨을 전송하는 것과 연관된 레이트 비용은 재구성 레벨들을 엔트로피 인코딩하는데 이용되는 인코딩 방식에 기초할 수 있다. 레이트는 또한 엔트로피 코더가 동작하는 모드(예를 들어, CABAC의 바이패스 모드)에 의존할 수 있다.
적응형 재구성 레벨들을 선택하고 적용하기 위한 예시적인 프로세스는 2011년 2월 25일 및 2011년 6월 8일 출원된 미국 특허 출원 번호 제61/446,528호 및 제13/155,616호에서 각각 설명되며, 따라서 상기 미국 특허의 내용물은 인용에 의해 포함된다.
적응형 재구성 레벨들을 제안하는 이들 상기 출원들에서 설명되는 하나의 예시적인 프로세스는 포맷
Figure 112014041870256-pct00007
으로 구성되며, 여기서, i는 인덱스(양자화된 변환 도메인 계수(u)로서 본 명세서에서 또한 지칭됨)이고, q는 양자화 파라미터(qP)에 의해 세팅된 양자화 스텝 크기이고,
Figure 112014041870256-pct00008
는 i번째 양자화 레벨에 대한 오프셋이다. 도 5는 포맷
Figure 112014041870256-pct00009
에 따라 구성되는 재구성 공간(120)을 예시한다. 미국 출원 번호 제61/446,528호의 실시예에서 설명된 바와 같이, 오프셋들은 처음 3개 또는 4개와 같이 재구성 레벨들 중 일부에 대해 계산될 수 있고 공통 오프셋(아마도 평균화를 이용하여 선택됨)은 후속 레벨들을 위해 이용될 수 있다. 이 예시적인 예시에서, 오프셋
Figure 112014041870256-pct00010
은 제 4 레벨 및 그 초과를 위해 이용된다.
적응형 재구성 레벨들을 제안하는 상기 출원들에서 설명된 다른 예시적인 프로세스는 포맷
Figure 112014041870256-pct00011
로 구성되며, 여기서 i는 인덱스(양자화된 변환 도메인 계수)이고, q는 양자화 파라미터(qP)에 의해 세팅된 양자화 스텝 크기이고, δ는 양자화 스텝 크기에 대한 오프셋이다. 도 6은 이 포맷에 따라 구성된 재구성 공간(130)을 그래프로 예시한다. 이 포맷은, 각각의 레벨이 q + δ만큼 이격되기 때문에 재구성 공간을 여전히 균일하게 할 것에 유념할 것이다.
전자의 예시적인 재구성 공간의 포맷
Figure 112014041870256-pct00012
과 관련된 가능한 이슈는 모든 오프셋들을 전송하는 것과 연관된 레이트-왜곡 비용이다. 또한 각각의 레벨에 대한 비용을 정당화하기에 충분히 정확한 오프셋들을 생성하기 위한 통계들이 불충분할 수 있다. 언급된 바와 같이, 몇몇 레벨들은 이 이슈를 다루기 위해 평균 오프셋을 이용할 수 있다. 후자의 예시적인 재구성 공간의 포맷
Figure 112014041870256-pct00013
과 관련된 가능한 이슈는 재구성 공간이 균일하게 유지된다는 것이며, 이는 양자화 설계에서 레이트-왜곡 코딩 성능 이득들을 제한한다. 양자의 방식들이 인코더에서 변환 도메인 계수들을 양자화하기 위해 이용되는 양자화 스텝 크기(q)에 기초하여 유지된다는 것에 또한 유념할 것이다.
레이트-왜곡 성능을 개선하기 위해, 본 출원은 포맷
Figure 112014041870256-pct00014
을 이용한 보다 일반적인 재구성 공간을 제안한다. 이 포맷에서, 재구성 공간은, a가 q와 동일할 필요는 없으므로 양자화 스텝 크기로부터 부분적으로 디커플링된다. 도 7에서 예시되는 바와 같이, 이는 설계에 있어 완전한 유연함(flexibility)과 더불어, 재구성 공간(150)을 비-균일하게 한다. 이 포맷은 a=q일 때
Figure 112014041870256-pct00015
의 포맷으로 강등(degrade)된다는 것에 유념할 것이다. 이 포맷은 b=0일 때
Figure 112014041870256-pct00016
로 강등된다는 것에 또한 유념할 것이다.
그러나 최상의 왜곡-레이트 성능은 a ≠ q 및 bi ≠ 0를 통해 달성된다는 것에 유념한다.
시그널링의 전송 비용(bi)은 레이트-왜곡 관점으로부터 정당화되지 않을 수 있어서, 이 포맷은
Figure 112014041870256-pct00017
로 단순화될 수 있다는 것에 또한 유념한다. 도 8은 이 포맷
Figure 112014041870256-pct00018
에 따라 구성된 재구성 공간(160)을 그래프로 예시한다. 제 1 레벨, 예를 들어, i=1은 a + b이고, 후속 레벨(i>1)은 a만큼 이격된다는 것에 유념할 것이다.
우리는
Figure 112014041870256-pct00019
(j=1,...,Ni)로서 i번째 서브-부분 내에 있는 모든 샘플들(즉, 변환 도메인 계수들)을 정의할 수 있다. 이 표기에서, i번째 서브-부분 내의 샘플들의 개수는 Ni이다.
인코딩 프로세스에서, 이들 샘플들(
Figure 112014041870256-pct00020
)은, 재구성 공간이 계수 데이터의 선두에서, 예를 들어, 슬라이스 헤더에서 시그널링되는 경우 현재의 슬라이스, 프레임 등에 대한 재구성 공간을 결정하기 위해 추후에 이용되는, 이전의 슬라이스, 프레임 등으로부터의 데이터일 수 있다. 일 실시예에서, 현재의 슬라이스의 재구성 공간은 동일한 양자화 파라미터 및/또는 동일한 타입의 바로 이전의 슬라이스로부터의 샘플 데이터에 기초할 수 있고, 재구성 공간은 슬라이스 헤더에서 시그널링된다. 특정한 경우들에서, 이러한 방식으로 수집된 통계들은 안정되지 않을 수 있는데, 예를 들어, 샘플 데이터의 총 수는 주어진 문턱값보다 더 작을 수 있다. 이러한 경우, 재구성 공간의 몇몇 디폴트 파라미터들이 이용될 수 있다. 다른 실시예에서, 재구성 공간은 재구성 공간 파라미터들이 슬라이스/프레임 데이터의 말미에서 시그널링되는 경우 현재의 슬라이스 또는 프레임으로부터의 샘플 데이터에 기초할 수 있으며; 그러나 이는 몇몇 구현들에서, 수용 불가능할 수 있는, 디코더에서의 1-슬라이스/프레임 지연을 초래할 것이다.
양자화된 변환 도메인 계수들(u)은 양자화 스텝 크기(q)를 이용하여 양자화된 변환 도메인 계수들(c)이라는 것이 이해될 것이며, 양자화 스텝 크기(q)는 특정한 슬라이스, 프레임 등에 대해 선택된 qP 값과 연관된 양자화된 스텝 크기를 특정하기 위해 아래에서 qqP로 표시될 수 있다. 몇몇 실시예들에서, 양자화된 변환 도메인 계수들(u)은 또한 스케일링(scaling)을 포함할 수 있으며, 예를 들어, 몇몇 예시적인 구현들에서, 이들 값들은 128 또는 효율적인 계산 구현을 용이하게 하는데 도움을 주기 위한 몇몇 다른 팩터(예를 들어, 2m, 여기서 m은 비트들 면에서의 산술 정확도임)에 의해 스케일링될 수 있다는 것에 유념한다. 스케일링 및 관련된 연산들의 몇몇 상세들은 이어지는 설명에서 생략될 것이지만, 당업자들에 의해 이해될 것이다.
변환 도메인 계수들
Figure 112014041870256-pct00021
로부터, i번째 레벨에 대한 평균은 다음과 같이 계산될 수 있다:
Figure 112014041870256-pct00022
재구성 공간을 유도하기 위한 일 옵션은 예를 들어, 다음의 표현을 이용하여 총 레이트-왜곡을 최소화하는 것이다:
Figure 112014041870256-pct00023
이 레이트-왜곡 표현에서, 왜곡은 i번째 서브-부분에서의 실제 왜곡
Figure 112014041870256-pct00024
Figure 112014041870256-pct00025
에 의해 주어진 재구성 공간 레벨 간의 차이에 의해 주어진다. 시그널링과 연관된 재구성 공간 파라미터들(a 및 b)을 전송하기 위한 레이트는 레이트ri에 의해 표현된다.
수학식 4에 대한 해답은 다음에 의해 주어진다:
Figure 112014041870256-pct00026
Figure 112014041870256-pct00027
위의 연산들은 적합한 수정들을 가하여, (반올림됨) 양자화된 변환 도메인 계수들
Figure 112014041870256-pct00028
을 이용하여, 또는 몇몇 실시예들에서, 예를 들어,
Figure 112014041870256-pct00029
와 같이 실제 코덱 구현들을 반영하도록 고정된 정밀도를 갖는 양자화된 계수들을 이용하여 또한 수행될 수 있다는 것에 유념한다.
도 8의 재구성 공간(160)의 구조는 대안적인 표기가 이용되도록 허용한다. 대안적인 표기는 제 1 재구성 레벨이 특유하며 모든 후속 레벨들이 a의 균등한 간격들로 이격된다는 사실을 이용한다. 제 1 레벨은 제 1 레벨에 대한 평균값, 즉
Figure 112014041870256-pct00030
로서 세팅될 수 있고, 이는 i=1인 수학식 3에 의해, 즉,
Figure 112014041870256-pct00031
에 의해 주어진다. qqP에 의한 스케일링은 제쳐두고(및 몇몇 구현들에서, 128과 같이, 컴퓨팅 구현의 용이함을 위해 고정된 값에 의해), 제 1 재구성 레벨은 다음에 의해 주어진다:
Figure 112014041870256-pct00032
여기서,
Figure 112014041870256-pct00033
이다.
이 예에서 제 1 레벨로 양자화된 변환 도메인 계수들은 소수의 비트들의 산술 정확도를 갖는 스케일링된 포맷으로 표현된다는 것에 유념한다. 스케일은 qqP에 의한다. 예시적인 산술 정확도는 7비트들이며 27=128의 팩터에 대응한다. 다른 산술 정확도가 또한 이용될 수 있다는 적에 유념한다. 후속 양자화 레벨들 간의 스텝 크기는 이어서 s로서 표시될 수 있다. s를 찾기 위해, 다음의 표현이 이용될 수 있다:
Figure 112014041870256-pct00034
이 표기를 이용한 재구성 공간은
Figure 112014041870256-pct00035
포맷으로 기록될 수 있으며, 여기서 a는 s에 대응하고, b는 t-s에 대응한다. 더 정확히 말하면,
Figure 112014041870256-pct00036
인 구현에서,
Figure 112014041870256-pct00037
이고
Figure 112014041870256-pct00038
이다.
본 출원에서, "재구성 공간 파라미터들"은 적응형 재구성 공간을 시그널링하는 파라미터들을 지칭하는데 이용된다. 이들 파라미터들은 a 및 b, t 및 s 또는 재구성 공간을 시그널링하기 위해 정의될 수 있는 바와 같은 다른 이러한 파라미터들을 포함할 수 있다. 재구성 공간 파라미터들(reconstruction space parameters; RSP)은 인코더에서 이용되는 양자화 스텝 크기 q를 시그널링하기 위해 H.264/AVC 표준에서 이용되는 qP와 상이하다는 것에 주의한다. 본 출원에서, a ≠ q이며, 이는 s가 qqP의 재구성 공간 스텝 크기를 발생시키지 않았음을 의미한다(또는, 더 정확히 말하면, 위에서 설명된 예시적인 구현을 이용하여 s≠ 128이고; 더 일반적으로 말하면, s≠ 2m이며, 여기서 m은 s를 표현하기 위한 비트들 면에서의 산술 정확도이다).
그럼에도, 일 예시적인 실시예에서, 인코더는 전송되는 RSP들의 값들을 조정하기 위해 qP를 조작할 수 있다. 예를 들어, 양자화 스텝 크기 qqP는 H.264 및/또는 HEVC에서 정의된 52 스텝 크기들로부터 선택될 것이라고 가정한다. 이 예에서, 베이스(base) qP는 양자화된 재구성 스텝 크기 파라미터들에 대한 7-비트 산술 정확도를 갖는 25(qqP = 10에 대응함)이다. 수학식(8)이 160의 양자화된 재구성 스텝 크기 파라미터 s를 발생시키는 경우, 이것은 재구성 스텝 크기(예를 들어, a)
Figure 112014041870256-pct00039
에 대응한다. qs = 12.5의 재구성 스텝 크기를 시그널링하기 위해 s=160의 값을 전송하는 대신, 인코더는 25로부터 26(qqP = 11에 대응함)으로 qP 베이스 값을 조정할 수 있고, 이어서 양자화된 재구성 스텝 크기 파라미터
Figure 112014041870256-pct00040
를 전송할 수 있다. qP는 슬라이스 qP로서 비트스트림에 대한 신택스(syntax)에 이미 통합되고 RSP들에 대한 더 작은 값은 이들 값들의 시그널링과 연관되는 오버헤드를 감소시킬 수 있다는 것에 유념해야 한다.
이제 데이터를 인코딩하는 예시적인 방법(200)의 흐름도를 도시하는 도 9를 참조한다. 방법(200)은 양자화 스텝 크기 qqP를 이용하여 변환 도메인 계수들을 양자화하는 동작(202)을 포함한다. 몇몇 구현들에서, 양자화 연산은 스펙트럼 변환 동작과 결합되고 양자화된 변환 도메인 계수들에 도달하기 위해 잔차 데이터에 적용된다는 것이 이해될 것이다.
동작(204)에서, 인코더는 양자화된 변환 도메인 계수들에 기초하여 재구성 공간 파라미터들(reconstruction space parameters; RSP들)을 생성한다. 예를 들어, 인코더는 제 1 레벨 파라미터
Figure 112014041870256-pct00041
(수학식(7)에서 정의된 t에 의해 표현되고 전송됨) 및 양자화된 재구성 스텝 크기 파라미터 s를 생성하기 위해 수학식들(7 및 8) 또는 유사한 수학식들을 이용할 수 있다. 몇몇 구현들에서, RSP들은 위에서 설명된 바와 같은 파라미터들(a 및 b)을 포함할 수 있다. 또 다른 구현들에서, RSP들은 제 1 재구성 레벨 및 재구성 스텝 크기와 같은 다른 파라미터들을 포함할 수 있다.
동작(206)에서, 양자화된 변환 도메인 계수들은 엔트로피 인코딩된다. 엔트로피 인코딩은 가변 길이 코딩(variable length coding; VLC), 산술 코딩, 또는 특정한 구현에 대한 임의의 다른 응용 가능한 엔트로피 인코딩 방식, 또는 다양한 엔트로피 방식들/모드들의 결합일 수 있다. 엔트로피 인코딩은 인코딩된 데이터를 생성한다.
방법(200)은 이어서 비트스트림이 인코딩된 데이터 및 RSP들을 포함하도록 생성(형성)되는 동작(208)을 포함한다. 앞서 논의된 바와 같이, RSP들은 슬라이스 헤더, 또는 다른 헤더 위치에 넣어질 수 있다. 이러한 예에서, RSP들은 하나의 프레임으로부터의 양자화된 변환 도메인 계수들에 기초하여 생성되고, 이어서 다음 프레임 이전에 슬라이스 헤더에 삽입된다.
동작(208)은 효율적인 전송을 위해 RSP들을 인코딩하는 것을 포함할 수 있다. 다양한 기법들이 전송 효율들을 달성하기 위해 이용될 수 있다. 예를 들어, 다양한 예측 방식들이 이용될 수 있어서, 실제 RSP 값들이 전송되는 것이 아니라 오히려 잔차 값이 전송되고, 이로부터 디코더는 인코더와 동일한 예측 동작을 이용하여 실제 RSP 값을 재구성할 수 있다. 양자화는 전송되는 RSP 값들 또는 잔차 값들의 크기를 감소시키기 위해 이용될 수 있다. 양자화는 재구성된 RSP 값들 왜곡을 도입할 수 있다는 것이 이해될 것이다. 다양한 엔트로피 인코딩 매커니즘들이 전송을 위해 RSP들을 인코딩하는데 이용될 수 있다. 다수의 가능한 양자화, 예측 및 인코딩 옵션들이 아래에서 약술된다.
RSPp라 표시되는 예측 RSP는 인코더 및 디코더 양자에 알려진 데이터에 기초하여 생성될 수 있다. 예를 들어, 예측 RSPp는 이전에-코딩된 RSP들, 양자화 파라미터 qP, 데이터 타입 등에 기초할 수 있다. 계산된 RSP들과 예측 RSPp 간의 차이로부터, 예측 에러 RSPd가 이어서 발견된다. 예측 에러 RSPd는 이어서 디코더로의 전송을 위해 추후에 엔트로피 인코딩되는 예측 에러 인덱스
Figure 112014041870256-pct00042
를 형성하기 위해 양자화된다. 디코더에서, 인코딩된 예측 에러 인덱스는 비트스트림으로부터(예를 들어, 슬라이스 헤더로부터) 추출되고, 그것은 재구성된 예측 에러를 생성하도록 디코딩되고 역양자화된다.
이들 예들에서 RSP들에 대한 신택스는 2개 이상의 파라미터를 가정한다. 몇몇 예들에서, 이들 파라미터들은 제 1 양자화된 레벨 파라미터 t(
Figure 112014041870256-pct00043
에 대응함) 및 양자화된 재구성 스텝 크기 파라미터 s를 포함할 수 있다. 인덱스 i는 파라미터들 간을 구분하는데 이용된다. 예를 들어, 인덱스 i=1은 제 1 양자화된 레벨 파라미터 t를 지칭할 수 있고, 인덱스 i=2는 양자화된 재구성 스텝 크기 파라미터 s를 지칭할 수 있다.
몇몇 실시예들에서, RSP들은 또한 데이터 타입 및 양자화 파라미터 qP에 특유할 수 있다. 데이터 타입들은 루마(luma) 및 크로마(chroma)를 포함할 수 있다. 몇몇 경우들에서, 데이터 타입들을 인터-코딩 또는 인트라-코딩을 특정할 수 있다. 또 다른 구현들에서, 데이터 타입들은 루마-인터, 루마-인트라, 크로마-인터 및 크로마-인트라를 포함할 수 있다. 이에 따라, 파라미터를 특정하기 위한 포맷은 다음에 의해 주어질 수 있다:
Figure 112014041870256-pct00044
이 포맷을 이용하여, 인덱스 i, 양자화 파라미터 qP, 데이터 타입 DataType을 갖는 RSP를 인코딩하기 위한 프로세스는 다음과 같다:
Figure 112014041870256-pct00045
엘리먼트
Figure 112014041870256-pct00046
는 RSP 예측 에러 RSPd를 양자화함으로써 획득되는 양자화 인덱스를 특정한다. 이 양자화 연산
Figure 112014041870256-pct00047
은 qP와 동일한 양자화 스텝 크기를 포함할 필요는 없다는 것에 유념한다. 엘리먼트
Figure 112014041870256-pct00048
는 엔트로피 코딩되어 비트스트림에서 전송된다.
디코더에서, RSP는 다음과 같이 대응하는 수신된
Figure 112014041870256-pct00049
로부터 재구성된다:
Figure 112014041870256-pct00050
여기서
Figure 112014041870256-pct00051
는 RSP 파라미터의 재구성을 표시하고,
Figure 112014041870256-pct00052
는 역 양자화 함수를 표시한다.
몇몇 실시예들에서, 결과적인
Figure 112014041870256-pct00053
는 그 값이 임의의 미리 정의된 합당한 범위를 초과하는 것을 방지하도록 클리핑(clipping)될 수 있다. 예를 들어,
Figure 112014041870256-pct00054
인 경우,
Figure 112014041870256-pct00055
Figure 112014041870256-pct00056
와 동일하게 되도록 세팅될 수 있어서, 결과적인 양자화기의 제 1 셀은 항상 제 2 셀에 못지 않게 된다. 이러한 재구성 공간 구조는 개선된 성능을 제공할 수 있다고 관찰되었다.
예측
Figure 112014041870256-pct00057
에 도달하는 다수의 가능한 방식들이 있다. 하나는 고정된 디폴트 예측 값을 이용하는 것이다. 디폴트 값은 qP, DataType 및/또는 인덱스 i에 의존할 수 있다. 디폴트 값은 또한 슬라이스의 시간층(temporal layer) 및 다른 팩터들에 또한 의존할 수 있다. 샘플 디폴트 값은 2 인덱스 예에 대해 아래에서 설명된다:
Figure 112014041870256-pct00058
샘플 디폴트 값은 qP, DataType 및/또는 인덱스 i에 또한 독립적일 수 있다. 샘플 디폴트 값은 아래에서 설명된다:
Figure 112014041870256-pct00059
다른 실시예에서, 예측은 이전에-코딩된 RSP 값들로부터 유도될 수 있다. 예를 들어, 예측은 현재 슬라이스에서 동일한 qP 및 DataType을 갖는 가장 최근에 코딩된 RSP 파라미터에 기초할 수 있다. 2 인덱스 예에서, 이는 RSP 파라미터들 중 하나가 다른 RSP 파라미터에 대한 예측으로서 역할한다는 것을 의미한다. 예로서,
Figure 112014041870256-pct00060
이며, 여기서
Figure 112014041870256-pct00061
Figure 112014041870256-pct00062
를 재구성하기 이전에 획득된다.
예측 프로세스와 마찬가지로, 다양한 실시예들에서 이용될 수 있는 RSP 값들에 대한 다수의 가능한 양자화 방식들이 있다. 제 1 예시적인 실시예에서, 균일한 양자화가 이용될 수 있다. 즉, 주어진 양자화 스텝 크기 qRSP를 이용하여, 예측 에러 RSPd의 포워드(forward) 및 인버스(inverse) 양자화는 다음에 의해 주어진다:
Figure 112014041870256-pct00063
, 및
Figure 112014041870256-pct00064
이고,
여기서 1 > f > 0은 반올림 오프셋이다.
역양자화된 예측 에러는
Figure 112014041870256-pct00065
로 표시된다.
다른 예시적인 실시예에서, 큰 RSP는 일반적으로 더 양호한 전체 코딩 성능을 달성하는데 있어 바람직할 수 있다고 관찰되었다. 이에 따라, 이 실시예에서, 양자화는 실링 함수(ceiling function)를 이용할 수 있다.
Figure 112014041870256-pct00066
또 다른 실시예에서, 다음의 양자화 방식이 이용될 수 있다:
Figure 112014041870256-pct00067
다음의 예시적인 예에서,
Figure 112014041870256-pct00068
가 먼저 (-31, 32)로 클리핑되고 이어서 qRSP=8의 양자화 스텝 크기로 양자화된다:
Figure 112014041870256-pct00069
다음의 예시적인 예에서,
Figure 112014041870256-pct00070
먼저 (-31, 32)로 클리핑되고 이어서 qRSP=4의 양자화 스텝 크기로 양자화된다:
Figure 112014041870256-pct00071
비-균일한 양자화기들이 몇몇 실시예들에서 또한 이용될 수 있다. 몇몇 예시적인 구현들에서, 비-균일한 양자화기는 RSPd에 대한 통계들에 기초하여 동적으로 개발될 수 있다.
인코딩 프로세스가 지속되면, RSP의 예측 에러에 대한 통계들이 변동될 수 있다. 이에 따라 양자화를 적응형이 되게 하는 것이 유리할 수 있다. 적응형 양자화의 일 예는 이전의 슬라이스로부터 수신된 RSP들의 값에 기초하여 2개 이상의 균일한 양자화들 사이에서 선택하는 것이다. 예를 들어, 인코더(및 디코더)는 양자화 스텝 크기 qRSP=q1 및 반올림 오프셋 f=1/2를 갖는 포워드 및 인버스 균일 양자화기들의 쌍으로서
Figure 112014041870256-pct00072
Figure 112014041870256-pct00073
표시할 수 있다. 양자화 스텝 크기 qRSP=q2 및 반올림 오프셋 f=1/2을 갖는 포워드 및 인버스 균일 양자화들의 쌍으로서
Figure 112014041870256-pct00074
Figure 112014041870256-pct00075
를 표시한다. 이전의 슬라이스에 대한 RSP의 재구성으로서
Figure 112014041870256-pct00076
를 표시한다. 2개의 문턱값들(Th1 및 Th2)이 주어지면, RSPd의 포워드 양자화는 다음과 같다:
Figure 112014041870256-pct00077
Figure 112014041870256-pct00078
인 경우;
Figure 112014041870256-pct00079
이고,
그렇지 않으면;
Figure 112014041870256-pct00080
이다.
이 예에서, 인버스 양자화는 다음에 의해 주어진다:
Figure 112014041870256-pct00081
Figure 112014041870256-pct00082
인 경우;
Figure 112014041870256-pct00083
이고,
그렇지 않으면;
Figure 112014041870256-pct00084
이다.
이 예에서, 양자화는 이전의 슬라이스로부터의 RSP 값에 기초한다는 것이 인지될 것이다. 인터-슬라이스 의존성이 허용되지 않는 경우, 이 예시적인 양자화 방식은 예측이 현재의 슬라이스로부터의 코딩된 RSP 값들에 기초하여 유도되는, 위에서 설명된 예측 방식에 의해 수정될 수 있다. 이 경우에,
Figure 112014041870256-pct00085
는 현재의 슬라이스에 대한 이미 수신된 RSP일 것이다.
양자화된 예측 값들이 임의의 적합한 방식으로 엔트로피 코딩될 수 있다. 특정한 구현들에서 이용될 수 있는 예시적인 엔트로피 코딩 방식들은 고정-길이 코딩, Golumb-Rice 코드(예를 들어, 인덱스들의 확률 본포에 기초함) 및 Huffman 코드(예를 들어, 인덱스들의 확률 분포에 기초하여 설계됨)을 포함한다.
그러나 RSP 파라미터들이 예측되고, 양자화되고 인코딩된다고 해도(가능하면), RSP 파라미터들은 비트스트림의 부분으로서 디코더에 전송된다. 다수의 실시예들에서, 인코딩된 파라미터들은 슬라이스 헤더와 같은 헤더 내로 삽입될 수 있다. 슬라이스 헤더 신택스는 RSP 파라미터들에 대한 함수, 이를 테면
Figure 112014041870256-pct00086
를 특정할 수 있다. 예시적인 슬라이스 헤더 신택스는 다음과 같이 주어진다:
Figure 112014041870256-pct00087
Figure 112014041870256-pct00088
와 데이터 타입 명칭들 간의 연관성은 일 예에서 다음과 같다:
Figure 112014041870256-pct00089
위에서, RSP_TYPE_INTERY는 인터-코딩된 루마 데이터에 대응하고, RSP_TYPE_INTERUV는 인터-코딩된 크로마 데이터에 대응하고; RSP_TYPE_INTRAY는 인트라-코딩된 루마 데이터에 대응하고; 그리고 RSP_TYPE_INTRAUV는 인트라-코딩된 크로마 데이터에 대응한다.
크로마(UV) 성분들에 대한 RSP 파라미터들의 전송은 루마(Y) 성분들에 대한 RSP 파라미터들이 존재하는지에 의존하는 대안적인 신택스가 아래에서 제시된다:
Figure 112014041870256-pct00090
몇몇 예시적인 구현들에서, U 및 V 성분들에 대해 상이한 RSP 파라미터들이 개별적으로 이용되도록 허용하는 것이 때때로 유리할 수 있다. 예를 들어,
Figure 112014041870256-pct00091
데이터 타입은 2개의 데이터 타입들
Figure 112014041870256-pct00092
Figure 112014041870256-pct00093
로 대체될 수 있다. RSP 인덱스들의 세트는 이어서, 대응하는
Figure 112014041870256-pct00094
또는
Figure 112014041870256-pct00095
가 참인 경우 전송될 것이다.
디코더에서,
Figure 112014041870256-pct00096
값들은 응용 가능한 신택스에 따라 비트스트림으로부터 추출된다. 위에서 설명된 프로세싱된 것 중 하나를 이용하여, 디코더는 응용 가능한 예측 및 인버스 양자화 프로세스를 이용하여
Figure 112014041870256-pct00097
값들을 재구성한다.
엔트로피 인코딩된 양자화된 변환 도메인 계수들이 비트스트림으로부터 디코딩된다. 디코더는 재구성된
Figure 112014041870256-pct00098
파라미터들을 이용하여 이들을 역양자화함으로써 양자화된 변환 도메인 계수들을 재구성된 변환 계수들로 변환한다. 디코더 계수 재구성 프로세스의 다음의 설명에서, 재구성된 RSP 값들에 대한
Figure 112014041870256-pct00099
라는 표기는 이용되지 않고; 대신 단순함을 위해,
Figure 112014041870256-pct00100
라는 표기가 이용된다. 재구성된 RSP 값들은 신택스 :
Figure 112014041870256-pct00101
를 이용하여 계속 특정된다.
이 예의 목적들을 위해, RSP 파라미터들은 제 1 재구성 레벨 파라미터 t 및 재구성 스텝 크기 파라미터 s인 것으로 가정된다. 인덱스 i=1은 제 1 양자화된 레벨 파라미터 t를 특정하고 인덱스 i=2는 양자화된 재구성 스텝 크기 파라미터 s를 특정한다.
구체적으로, 2개의 RSP 파라미터들의 의미 정의(semantics definition)는 다음과 같다:
Figure 112014041870256-pct00102
: 이 RSP 파라미터는 t에 의해 표시되는 바와 같이 디코더에 대한 제 1 재구성 레벨을 결정한다. 현재 슬라이스에 대해 주어진 양자화 스텝 크기 qqP에 대응하는 주어진 양자화 파라미터 qP에 기초하여,
Figure 112014041870256-pct00103
에 의해 결정된 재구성 레벨은 7-비트 산술 정확도가 이 파라미터 t에 대해 이용될 때
Figure 112014041870256-pct00104
로서 계산될 수 있다.
Figure 112014041870256-pct00105
: 이 파라미터는 제 1 재구성 레벨 이외의 다른 재구성 레벨들을 결정한다. 그것은 s로 표시되는 바와 같은 재구성 스텝 크기로 불릴 수 있으며, 제 1 재구성 레벨 이외의 다른 재구성 레벨들을 결정하기 위해 t에 부가되는 재구성 스텝 크기를 의미한다. 예를 들어, 제 2 재구성 레벨은 t+s에 대응하고, 7-비트 산술 정확도가 양자의 파라미터들 s 및 t에 대해 이용될 때
Figure 112014041870256-pct00106
로서 계산될 수 있다.
엔트로피 디코딩된 인덱스들(즉, 양자화된 변환 도메인 계수들 u)은 uij에 의해 주어진다. RSP 파라미터들이 슬라이스 헤더 신택스에서 특정되는 바와 같이 이용될 때, 재구성된 변환 도메인 계수들 dij는 다음에 따라 디코더에 의해 그렇게 생성된다:
Figure 112014041870256-pct00107
여기서,
Figure 112014041870256-pct00108
Figure 112014041870256-pct00109
는 당업자들에 의해 이해될 바와 같이, H.264/AVC 및 H.265/HEVC 재구성 프로세스에서 현재 발견되는 스케일링 연산이라는 것이 이해될 것이다.
몇몇 실시예들에서, 2개의 RSP 파라미터들은
Figure 112014041870256-pct00110
가 세팅될 때 몇몇 특별한 경우들을 배제할 수 있다. 이들 경우들에서, 2개의 RSP 파라미터들의 의미 정의는 다음과 같다:
Figure 112014041870256-pct00111
: 이 파라미터는
Figure 112014041870256-pct00112
에 대응하는 코딩 유닛들을 위해 디코더에 대한 제 1 재구성 레벨을 결정하고, (
Figure 112014041870256-pct00113
)와 (
Figure 112014041870256-pct00114
)까지의 정수이며, 여기서
Figure 112014041870256-pct00115
는 자그마치 2인, RSP 파라미터들을 표현하는데 이용되는 정밀도이다. 파라미터
Figure 112014041870256-pct00116
가 위의 슬라이스 헤더 신택스에서 특정된 바와 같이 슬라이스 헤더로부터 판독될 때,
Figure 112014041870256-pct00117
(또는 등가로, 위에서 설명된 바와 같이,
Figure 112014041870256-pct00118
)는 수학식(9)와 관련하여 설명된 바와 같이 유도되며, 이는 대응하는 파라미터
Figure 112014041870256-pct00119
와 동일하지 않아야 한다(아래의 정의 참조). 파라미터
Figure 112014041870256-pct00120
가 슬라이스 헤더로부터 판독되지 않을 때(예를 들어,
Figure 112014041870256-pct00121
또는 대응하는
Figure 112014041870256-pct00122
가 세팅되지 않을 때),
Figure 112014041870256-pct00123
Figure 112014041870256-pct00124
의 디폴트 값이 되도록 세팅된다.
Figure 112014041870256-pct00125
: 이 파라미터는 제 1 재구성 레벨 이외의 다른 재구성 레벨들이며, (
Figure 112014041870256-pct00126
) 내지 (
Figure 112014041870256-pct00127
)까지의 정수이다. 그것은 제 2의 그리고 위의 재구성 레벨들을 결정하기 위해 제 1 재구성 레벨이 부가되는 재구성 스텝 크기를 의미하는 재구성 스텝 크기라 불릴 수 있다. 파라미터
Figure 112014041870256-pct00128
가 위의 슬라이스 헤더 신택스에서 특정된 바와 같이 슬라이스 헤더로부터 판독될 때,
Figure 112014041870256-pct00129
(또는 등가로, 위에서 설명된 바와 같이,
Figure 112014041870256-pct00130
)는 수학식(9)와 관련하여 설명된 바와 같이 유도될 수 있으며, 이는
Figure 112014041870256-pct00131
와 동일하게 되지 않아야 한다. 파라미터
Figure 112014041870256-pct00132
가 슬라이스 헤더로부터 판독되지 않을 때(예를 들어,
Figure 112014041870256-pct00133
또는 대응하는
Figure 112014041870256-pct00134
가 세팅되지 않을 때),
Figure 112014041870256-pct00135
Figure 112014041870256-pct00136
의 디폴트 값이 되도록 세팅된다.
또 다른 실시예에서, 스케일링 연산은 추가로 팩터
Figure 112014041870256-pct00137
를 또한 포함할 수 있으며, 여기서,
Figure 112014041870256-pct00138
Figure 112014041870256-pct00139
크기의 매트릭스이다. 즉,
Figure 112014041870256-pct00140
즉, 팩터
Figure 112014041870256-pct00141
는 양자화된 변환 계수 uij에 대응하는 위치(i,j)에서 예측 샘플들 p의 변환 계수로부터 결정된다. 이러한 스케일링은 그것이 변환 도메인에서 p의 에너지 왜곡에 의존하기 때문에 재구성된 샘플들의 가시적 품질을 개선할 수 있다. 예를 들어,
Figure 112014041870256-pct00142
는 프레임, 슬라이스, 또는 코딩 유닛들의 정의된 그룹의 평균 예측 에너지에 의존하는 값으로 곱해지는 변환 도메인의 예측 p의 에너지에 반비례할 수 있다.
이제 압축된 데이터의 비트스트림을 디코딩하기 위한 예시적인 방법(300)을 흐름도 형태로 도시하는 도 10을 참조한다.
동작(302)에서, 디코더는 비트스트림으로부터 RSP 데이터를 추출한다. 광의의 의미로, RSP 파라미터들은 비트스트림으로부터 추출되지만; 파라미터들은 비트스트림에 삽입되기 이전에 예측, 양자화 및 인코딩될 수 있다는 것이 이해될 것이다. 그 결과, 동작(304)에서, 디코더는 필요한 경우 동작(302)에서 추출된 RSP 데이터로부터 RSP 파라미터들을 재구성한다. 상술한 설명으로부터, RSP 파라미터는 몇몇 실시예들에서, 제 1 양자화된 레벨 파라미터 t 및 양자화된 재구성 스텝 크기 파라미터 s를 포함할 수 있다는 것이 이해될 것이다. 다른 파라미터들이 다른 실시예들에서 이용될 수 있다. 또한, 모든 성분들에 대한 RSP 파라미터들의 단일 세트가, 또는 루마 및 크로마 성분들에 대한 별개의 RSP 파라미터, 또는 인터-코딩된 데이터 및 인트라-코딩된 데이터에 대한 별개의 RSP 파라미터들 또는 루마-인트라 데이터, 루마-인터 데이터, 크로마-인트라 데이터 및 크로마-인터 데이터에 대한 별개의 RSP 파라미터들이 제공될 수 있다는 것이 또한 인지될 것이다. 또한, 예시적인 실시예의 다음의 설명의 견지에서 추가의 치환들이 이해될 것이다.
RSP 데이터는 로우 바이트 시퀀스 페이로드(raw byte sequence payload; RBSP) 내의 하나 이상의 "신택스 엘리먼트들(syntax elements)"로서 지칭되거나 라벨링될 수 있다는 것이 또한 이해될 것이다. RBSP는 네트워크 요약층(Network Abstraction Layer; NAL) 유닛에 캡슐화되는 정수 수의 바이트를 포함하는 신택스 구조이며, 여기서 NAL 유닛은 데이터 타입 표시 및 하나 이상의 RBSP들을 포함할 수 있다. 비트스트림에서 데이터에 대한 다른 구조 및 구체적으로, 비트스트림에서 다양한 데이터 구조들 내의 RSP 데이터의 캡슐화가 또한 기도된다. 동작(302)은 비트스트림에서 RBSP 및/또는 다른 데이터 구조들 및/또는 NAL 유닛으로부터 RSP 데이터를 추출하는 것을 포함할 수 있다.
동작(306)에서, 디코더는 양자화된 변환 계수들 uij(즉, 인덱스들)을 복구하기 위해 압축된 데이터를 디코딩한다. 동작(308)에서, 디코더는 재구성된 RSP 파라미터들을 이용하여 변환 계수들을 재구성한다. 일 예시적인 구현에서, 디코더는 수학식(9)와 관련하여 설명되는 것과 유사한 프로세스를 이용한다.
다른 실시예에서, 재구성된 변환 도메인 계수들 dij는 다음에 따라 디코더에 의해 생성될 수 있다:
Figure 112014041870256-pct00143
여기서,
Figure 112014041870256-pct00144
Figure 112014041870256-pct00145
이다.
여기서 sgn()는 부호 함수이고, abs()는 그의 입력의 절대값을 리턴한다.
Figure 112014041870256-pct00146
는 i 및 j의 인덱스들에 독립적인
Figure 112014041870256-pct00147
로 강등될 수 있다는 것에 유념한다.
다른 실시예에서, 재구성된 변환 도메인 계수들 dij는 다음에 따라 디코더에 의해 생성될 수 있다:
Figure 112014041870256-pct00148
여기서,
Figure 112014041870256-pct00149
이다.
몇몇 실시예들에서, 인버스-양자화 및 인버스-변환 프로세스들은 수학적으로 함께 수행될 수 있다는 것이 이해될 것이다. 이에 따라, 전체 프로세스의 출력은 재구성된 잔차들일 수 있다(예를 들어, 인버스-양자화된 인버스-변환된 계수들).
첫번째 단순화
H.264/AVC 및 현재의 HEVC 개발에서 52 양자화 스텝 크기들과 qP 간의 맵핑은 다음에 의해 주어진다:
Figure 112014041870256-pct00150
상술된 프로세스의 하나의 가능한 단순화는 새로운 양자화된 재구성 스텝 크기 s를 인코더에서 결정하고, 52qQP 스텝 크기들의 기존의 세트로부터 근접한 스텝 크기로 이를 반올림하는 것이다. 예를 들어, s는 다음과 같이 컴퓨팅될 수 있다:
Figure 112014041870256-pct00151
이것은 수학식(3)과 동일하지만, i ≥ 1에 걸친 범위에 있다는 것에 유념한다. 원하는 재구성 스텝 크기 qnext는 이어서 다음에 의해 계산될 수 있다:
Figure 112014041870256-pct00152
여기서 qPused는 슬라이스에 대한 현재의 qP이고, 따라서 qQP는 변환 도메인 계수들을 양자화하기 위해 현재의 슬라이스에 실제로 이용되는 양자화 스텝 크기를 제공한다. 재구성 qPnext는 다음과 같이 q 어레이를 이용하여 양자화 파라미터에 역으로 원하는 재구성 스텝 크기 qnext를 맵핑함으로써 발견될 수 있다:
Figure 112014041870256-pct00153
단지 하나의 qPnext가 하나의 슬라이스에 대해 전송될 때, 그것은 현재 HEVC의 어떠한 신택스도 변경하지 않고 전송될 수 있다. 그러나 루마 및 크로마 성분들에 대한 통계가 서로 매우 상이하기 때문에, 몇몇 추가의 이득은 수학식(11)이 루마 및 크로마와 같은 상이한 타입들의 데이터에 대해 컴퓨팅되는 경우 달성될 수 있고, 대응하는 qPnext는 루마 및 크로마에 의해 이용되도록 전송된다.
두번째 단순화
다른 예에서, 루마 및 크로마 성분들에 대한 RSP들은 대응하는 루마 및 크로마 양자화 파라미터들(qP): qPY 및 qPUV 각각에 의해 표현된다. HEVC에서 설명된 현재의 슬라이스 헤더에서, 신택스 엘리먼트
Figure 112014041870256-pct00154
가 qPY의 초기 값을 특정하기 위해 전송된다. 이에 따라, 신택스는 슬라이스 헤더에서 전송될 신택스 엘리먼트
Figure 112014041870256-pct00155
를 제공하도록 수정될 수 있으며, 이는 QPUV의 초기 값을 특정하는데 이용된다.
이 예에서 신택스 엘리먼트
Figure 112014041870256-pct00156
는 코딩 유닛 층에서 cu_qp_delta의 값에 의해 수정될 때까지 슬라이스 내의 모든 매크로블록들에 대해 이용되도록 qPUV의 초기 값을 특정한다. 슬라이스에 대한 초기 qPUV 양자화 파라미터는 다음과 같이 컴퓨팅될 수 있다:
Figure 112014041870256-pct00157
slice_chroma_qp_delta의 값은 SliceQPC
Figure 112014041870256-pct00158
내지 +51까지의 범위에 있도록 제한될 수 있다.
qPUV의 값은 다음과 같이 유도될 수 있다.
Figure 112014041870256-pct00159
QPC , PRED는 현재 슬라이스 또는 이전의 슬라이스들에서 이전에-디코딩된 코딩 유닛들의 루마 또는 크로마 양자화 파라미터들로부터 유도될 수 있는 크로마 양자화 파라미터 QPC의 예측값이다. 일 예에서, QPC , PRED는 현재의 슬라이스에서 코딩 유닛들의 좌측 이웃 양자화 그룹의 크로마 양자화 파라미터로서 유도될 수 있다. 현재 슬라이스에서 좌측 이웃 양자화 그룹이 이용 가능하지 않은 경우, QPC , PRED는 현재의 슬라이스에서의 디코딩 순서의 이전의 양자화 그룹의 크로마 양자화 파라미터로서 유도될 수 있다. 예를 들어, 슬라이스에서 코딩 유닛들의 제 1 양자화 그룹에 대해, QPC , PRED는 초기에 각각의 슬라이스의 선두에서 SliceQPC와 동일하게 세팅될 수 있다.
QP'C의 값은
Figure 112014041870256-pct00160
로서 유도될 수 있다.
이제 인코더(900)의 예시적인 실시예의 단순화된 블록도를 도시하는 도 11을 참조한다. 인코더(900)는 프로세서(902), 메모리(904) 및 인코딩 애플리케이션(906)을 포함한다. 인코딩 애플리케이션(906)은 본 명세서에서 설명된 것들과 같은 단계들 또는 동작들을 수행하기 위해 프로세서(902)를 구성하기 위한 명령들을 포함하고 메모리(904)에 저장된 컴퓨터 프로그램 또는 애플리케이션을 포함할 수 있다. 예를 들어, 인코딩 애플리케이션(906)은 본 명세서에서 설명된 적응형 재구성 레벨 프로세스에 따라 인코딩된 비트스트림을 인코딩 및 출력할 수 있다. 입력 데이터 포인트들은 손실 데이터 압축 방식의 대상이 될 수 있는 오디오, 이미지들, 비디오, 또는 다른 데이터에 관련될 수 있다. 인코딩 애플리케이션(906)은 파티션 구조의 각각의 인덱스에 대한 적응형 재구성 레벨을 결정하도록 구성되는 양자화 모듈(908)을 포함할 수 있다. 인코딩 애플리케이션(906)은 적응형 재구성 레벨들 또는 RSP 데이터 및 다른 데이터를 엔트로피 인코딩하도록 구성된 엔트로피 인코더를 포함할 수 있다. 인코딩 애플리케이션(906)은 컴팩트 디스크, 플래시 메모리 디바이스, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독 가능한 매체 상에 저장될 수 있다는 것이 이해될 것이다.
이제 디코더(1000)의 예시적인 실시예의 단순화된 블록도를 도시하는 도 12를 참조한다. 디코더(1000)는 프로세서(1002), 메모리(1004), 및 디코딩 애플리케이션(1006)을 포함한다. 디코딩 애플리케이션(1006)은 본 명세서에서 설명되는 것들과 같은 단계들 또는 동작들을 수행하도록 프로세서(1002)를 구성하기 위한 명령들을 포함하고 메모리(1004)에 저장된 컴퓨터 프로그램 또는 애플리케이션을 포함할 수 있다. 디코딩 애플리케이션(1006)은 RSP 데이터 또는 적응형 재구성 레벨을 획득하고 변환 도메인 계수들 또는 다른 이러한 데이터 포인트들을 재구성하도록 그 획득된 데이터를 이용하게 구성된 엔트로피 디코더 및 역-양자화 모듈(1010)을 포함할 수 있다. 디코딩 애플리케이션(1006)은 컴팩트 디스크, 플래시 메모리 디바이스, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독 가능한 매체 상에 저장될 수 있다는 것이 이해될 것이다.
본 출원에 따라 디코더 및/또는 인코더가 서버들, 적합하게 프로그래밍된 범용 컴퓨터들, 오디오/비디오 인코딩 및 재생 디바이스들, 셋-톱 텔레비전 박스들, 텔레비전 브로드캐스트 장비 및 모바일 디바이스들을 포함하는(이들로 제한되지 않음) 다수의 컴퓨팅 디바이스들로 구현될 수 있다는 것이 인지될 것이다. 디코더 또는 인코더는 본 명세서에서 설명된 기능들을 수행하도록 프로세서를 구성하기 위한 명령들을 포함하는 소프트웨어에 의해 구현될 수 있다. 소프트웨어 명령들은 CD들, RAM, ROM, 플래시 메모리 등을 포함하는 임의의 적합한 비-일시적인 컴퓨터-판독 가능한 메모리 상에 저장될 수 있다.
본 명세서에서 설명된 인코더 및 인코더를 구성하기 위해 설명된 방법/프로세스를 구현하는 모듈, 루틴, 프로세스, 스레드, 또는 다른 소프트웨어 성분이 표준 컴퓨터 프로그래밍 기법들 및 언어들을 이용하여 실현될 수 있다는 것이 이해될 것이다. 본 출원은 특정한 프로세서들, 컴퓨터 언어들, 컴퓨터 프로그래밍 컨밴션들(computer programming conventions), 데이터 구조들, 다른 이러한 구현 세부사항들로 제한되지 않는다. 당업자들은 설명된 프로세스들이 휘발성 또는 비-휘발성 메모리에 저장된 컴퓨터-실행 가능한 코드의 부분으로서, 주문형 집적 회로(application-specific integrated chip; ASIC)의 부분으로서, 기타 등등으로서 구현될 수 있다는 것을 인지할 것이다.
설명된 실시예들의 특정한 적응들 및 수정들이 가해질 수 있다. 그러므로, 위에서 논의된 실시예들은 제한적이 아니라 예시적인 것으로 간주된다.
컴퓨터 프로그램 목록 부록
제한이 아니 예로서, 첨부 부록은 다양한 동작들의 예시적인 구현들을 제공하는 예시적인 코드 서브루틴들 및/목록들을 포함한다. 부록의 내용물들은 본 설명의 부분을 형성한다. 부록에서 발견되는 특정한 루틴은 다음을 포함한다:
1. RSP 컴퓨테이션: 이전의 슬라이스로부터의 데이터에 기초하여 슬라이스에 대한 RSP들을 결정하기 위한 루틴들;
2. 새로운 레벨을 deQ에 적용: 적응형 재구성 레벨들로 역양자화;
3. 데이터 수집: 재구성 레벨 데이터 수집 루틴;
4. RSP 전송: 슬라이스 헤더에서 RSP 데이터를 코딩하기 위한 루틴; 및
5. RSP 수신: 슬라이스 헤더로부터 RSP 데이터를 디코딩하기 위한 루틴.
이들 예시적인 루틴들 및 코드 목록들은 본 출원의 일 실시예에 따라 인코더 및/또는 디코더를 구현하는데 이용되는 코드 목록의 부분들의 예들이며, 인코더 또는 디코더에 대한 완전한 프로세서-실행 가능한 코드 목록이 아니라는 것이 인지될 것이다.
부록
비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들{
METHODS AND DEVICES FOR DATA COMPRESSION USING A NON-UNIFORM RECONSTRUCTION SPACE}
예시적인 컴퓨터 프로그램 목록들
RSP 컴퓨테이션
Figure 112014041870256-pct00161
Figure 112014041870256-pct00162
Figure 112014041870256-pct00163
Figure 112014041870256-pct00164
Figure 112014041870256-pct00165
Figure 112014041870256-pct00166
Figure 112014041870256-pct00167
새로운 레벨들을 deQ 에 적용
Figure 112014041870256-pct00168
데이터 수집
Figure 112014041870256-pct00169
Figure 112014041870256-pct00170
Figure 112014041870256-pct00171
Figure 112014041870256-pct00172

RSP 전송
Figure 112014041870256-pct00173
Figure 112014041870256-pct00174

RSP 수신
Figure 112014041870256-pct00175
Figure 112014041870256-pct00176

Claims (21)

  1. 비디오 데이터를 인코딩하기 위한 방법으로서, 상기 비디오 데이터는 양자화된 변환 계수들의 세트들을 포함하는 블록들로 파티셔닝되는(partitioned) 것인, 비디오 데이터를 인코딩하기 위한 방법에 있어서,
    현재의 블록 내의 양자화된 변환 계수들의 각각의 세트에 대해, 양자화된 변환 계수들의 개수 및 상기 세트 내의 모든 양자화된 변환 계수들의 각자의 반올림되지 않은 양자화 값들(non-rounded quantization values)의 합을 포함하는 통계들을 수집하는 단계;
    상기 현재의 블록에 대해,
    상기 통계들에 기초하여 스텝 크기(step size)를 유도하는 단계;
    양자화 파라미터(quantization parameter; QP)들의 미리 결정된 세트로부터, 상기 유도된 스텝 크기에 가장 근접한 대응하는 스텝 크기를 갖는 QP를 선택하는 단계; 및
    상기 현재 블록에 대해 선택된 QP를 이용하여 다음 블록을 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 현재 블록은 코딩 유닛(coding unit; CU), 대형 코딩 유닛(large coding unit; LCU) 및 슬라이스(slice) 중 하나인 것인, 비디오 데이터를 인코딩하기 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 통계들을 수집하는 단계는 각각의 양자화 레벨에서 그 레벨의 계수들의 세트에 대해 수행되는 것인, 비디오 데이터를 인코딩하기 위한 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 스텝 크기를 유도하는 단계 전에 초기 QP를 결정하는 단계를 더 포함하고,
    상기 인코딩하는 단계는 상기 선택된 QP와 상기 초기 QP 간의 차이로서 상기 선택된 QP를 인코딩하는 단계를 포함하는 것인, 비디오 데이터를 인코딩하기 위한 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 통계들을 수집하는 단계는 미리 결정된 문턱값을 초과하는 양자화 레벨들의 양자화된 변환 계수들의 개수 및 반올림되지 않은 양자화 값들 모두를 합하는 단계를 포함하는 것인, 비디오 데이터를 인코딩하기 위한 방법.
  6. 코딩 유닛들의 그룹에 대한 변환 도메인 계수들을 인코딩하기 위한 인코더에 있어서,
    프로세서;
    메모리; 및
    상기 메모리에 저장되고 제 1 항 또는 제 2 항에 따른 방법을 수행하도록 상기 프로세서를 구성하기 위한 명령어들을 포함하는 인코딩 애플리케이션을 포함하는, 인코더.
  7. 인코딩된 데이터의 비트스트림을 디코딩하는 방법으로서, 상기 데이터는 양자화 스텝 크기를 특정하는 양자화 파라미터를 포함하는 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법에 있어서,
    상기 비트스트림으로부터 재구성 공간 파라미터 데이터를 추출하는 단계와, 제 1 재구성 레벨 및 추가의 재구성 레벨들에 대한 재구성 스텝 크기를 특정하기 위한 재구성 공간 파라미터들을 재구성하는 단계 - 상기 제 1 재구성 레벨은 상기 재구성 스텝 크기와 동일하지 않고, 상기 재구성 스텝 크기는 상기 양자화 스텝 크기와 동일하지 않음 - ;
    복수의 양자화된 변환 계수들을 획득하기 위해 상기 인코딩된 데이터를 디코딩하는 단계; 및
    상기 재구성 공간 파라미터들에 기초하여 재구성된 변환 계수를 생성하기 위해 각각의 양자화된 변환 계수를 역양자화(dequantizing)하는 단계를 포함하는, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  8. 제 7 항에 있어서,
    상기 재구성 스텝 크기는 2m과 동일하지 않고, 여기서 m는 상기 재구성 스텝 크기를 표현하기 위해 이용되는 정밀도(precision)의 비트들의 수인 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 역양자화하는 단계는 상기 제 1 구성 레벨과 상기 재구성 스텝 크기 간의 차이에 기초하여 제 1 레벨 오프셋을 계산하는 단계를 포함하고,
    상기 양자화된 변환 계수가 0이 아닌 경우, 재구성된 변환 계수는 상기 제 1 레벨 오프셋 + 상기 재구성 스텝 크기 및 상기 양자화된 변환 계수의 곱(product)으로부터 계산되는 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  10. 제 7 항 또는 제 8 항에 있어서,
    상기 추출하는 단계는 루마 성분들(luma components)에 대한 제 1 재구성 공간 파라미터 데이터를 추출하는 단계 및 크로마 성분들(chroma components)에 대한 제 2 재구성 공간 파라미터 데이터를 추출하는 단계를 포함하고, 상기 역양자화하는 단계는 상기 제 1 재구성 공간 파라미터 데이터로부터 재구성된 제 1 재구성 공간 파라미터들을 이용하여 루마 값들에 대한 재구성된 변환 계수들을 생성하는 단계 및 상기 제 2 재구성 공간 파라미터 데이터로부터 재구성된 제 2 재구성 공간 파라미터들을 이용하여 크로마 값들에 대한 재구성된 변환 계수들을 생성하는 단계를 포함하는 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  11. 제 7 항 또는 제 8 항에 있어서,
    상기 비트스트림으로부터 재구성 공간 파라미터 데이터를 추출하는 단계는 재구성 공간 델타 인덱스들을 추출하는 단계 및 상기 재구성 공간 델타 인덱스들 및 대응하는 재구성 공간 파라미터 예측들에 기초하여 상기 재구성 공간 파라미터들을 재구성하는 단계를 포함하는 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  12. 제 11 항에 있어서,
    상기 재구성된 변환 계수들은 현재의 슬라이스에 대한 것이고, 상기 재구성 공간 파라미터 예측들은 다른 슬라이스로부터의 데이터에 의존하지 않는 것인, 인코딩된 데이터의 비트스트림을 디코딩하는 방법.
  13. 인코딩된 데이터의 비트스트림을 디코딩하기 위한 디코더에 있어서,
    프로세서;
    메모리; 및
    상기 메모리에 저장되고 제 7 항 또는 제 8 항에 따른 방법을 수행하도록 상기 프로세서를 구성하기 위한 명령어들을 포함하는 디코딩 애플리케이션을 포함하는, 디코더.
  14. 데이터를 인코딩하기 위한 방법으로서, 상기 데이터는 양자화된 변환 도메인 계수들 및 양자화 스텝 크기를 특정하는 양자화 파라미터를 포함하는 것인, 데이터를 인코딩하기 위한 방법에 있어서,
    상기 양자화된 변환 도메인 계수들에 기초하여 재구성 공간 파라미터들을 생성하는 단계와, 상기 재구성 공간 파라미터들로부터 재구성 공간 파라미터 데이터를 유도하는 단계 - 상기 재구성 공간 파라미터들은 제 1 재구성 레벨 및 추가의 재구성 레벨들에 대한 재구성 스텝 크기를 식별하고, 상기 제 1 재구성 레벨은 상기 재구성 스텝 크기와 동일하지 않고, 상기 재구성 스텝 크기는 상기 양자화 스텝 크기와 동일하지 않음 - ;
    상기 양자화된 변환 도메인 계수들을 엔트로피 인코딩(entropy encoding)하는 단계; 및
    상기 인코딩된 양자화된 변환 도메인 계수들 및 상기 재구성 공간 파라미터 데이터를 포함하는 비트스트림을 생성하는 단계를 포함하는, 데이터를 인코딩하기 위한 방법.
  15. 제 14 항에 있어서,
    상기 생성하는 단계는 제 1 레벨로 양자화된 변환 도메인 계수들의 평균과 동일한 것으로서 상기 제 1 재구성 레벨을 세팅하는 단계를 포함하는 것인, 데이터를 인코딩하기 위한 방법.
  16. 제 14 항 또는 제 15 항에 있어서,
    상기 생성하는 단계는, 제 1 레벨 이외의 다른 레벨들로 양자화된 변환 도메인 계수들의 평균 스텝 크기를 이용하여 상기 재구성 스텝 크기를 결정하는 단계를 포함하는 것인, 데이터를 인코딩하기 위한 방법.
  17. 제 14 항 또는 제 15 항에 있어서,
    상기 생성하는 단계는, 루마 성분들에 대한 재구성 공간 파라미터들의 제 1 세트를 생성하는 단계 및 크로마 성분들에 대한 재구성 공간 파라미터의 제 2 세트를 생성하는 단계를 포함하는 것인, 데이터를 인코딩하기 위한 방법.
  18. 제 14 항 또는 제 15 항에 있어서,
    상기 생성하는 단계는 상기 재구성 공간 파라미터들을 예측하는 단계, 상기 예측에서 에러를 결정하는 단계, 상기 에러를 양자화하는 단계, 및 상기 양자화된 에러를 인코딩하는 단계를 포함하고, 상기 비트스트림을 생성하는 단계는 슬라이스 헤더에 상기 인코딩된 양자화된 에러를 삽입하는 단계를 포함하는 것인, 데이터를 인코딩하기 위한 방법.
  19. 제 18 항에 있어서,
    상기 양자화된 변환 도메인 계수들은 현재 슬라이스에 대한 것이고, 상기 재구성 공간 파라미터들을 예측하는 단계는 다른 슬라이스로부터의 데이터에 의존하지 않는 것인, 데이터를 인코딩하기 위한 방법.
  20. 코딩 유닛들의 그룹에 대한 변환 도메인 계수들을 인코딩하기 위한 인코더에 있어서,
    프로세서;
    데이터 포인트들을 저장한 메모리; 및
    상기 메모리에 저장되고 제 14 항 또는 제 15 항에 따른 방법을 수행하도록 상기 프로세서를 구성하기 위한 명령어들을 포함하는 인코딩 애플리케이션을 포함하는, 인코더.
  21. 실행될 때, 제 1 항, 제 2 항, 제 7 항, 제 8 항, 제 14 항 및 제 15 항 중 어느 한 항에 따른 방법을 수행하도록 하나 이상의 프로세서들을 구성하는 프로세서-실행 가능한 명령어들을 저장한 비-일시적인 프로세서-판독 가능한 매체.
KR1020147011933A 2011-09-30 2012-10-01 비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들 KR101613381B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11183606.0 2011-09-30
EP11183606.0A EP2575364B1 (en) 2011-09-30 2011-09-30 Methods and devices for data compression using a non-uniform reconstruction space
PCT/CA2012/050685 WO2013044393A1 (en) 2011-09-30 2012-10-01 Methods and devices for data compression using a non-uniform reconstruction space

Publications (2)

Publication Number Publication Date
KR20140072179A KR20140072179A (ko) 2014-06-12
KR101613381B1 true KR101613381B1 (ko) 2016-04-18

Family

ID=44799688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147011933A KR101613381B1 (ko) 2011-09-30 2012-10-01 비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들

Country Status (5)

Country Link
EP (1) EP2575364B1 (ko)
KR (1) KR101613381B1 (ko)
CN (1) CN103959786B (ko)
CA (1) CA2848848C (ko)
WO (1) WO2013044393A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628803B2 (en) * 2014-11-25 2017-04-18 Blackberry Limited Perceptual image and video coding
KR20190056888A (ko) 2017-11-17 2019-05-27 삼성전자주식회사 비디오 부호화 장치 및 방법
CN108573287B (zh) * 2018-05-11 2021-10-29 浙江工业大学 一种基于深度神经网络的图像编解码器的训练方法
US11076152B2 (en) * 2019-03-18 2021-07-27 Sony Group Corporation Quantization step parameter for point cloud compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550012A2 (en) 1991-12-28 1993-07-07 Sony Corporation Apparatus for compression encoding video signals
US20070147497A1 (en) 2005-07-21 2007-06-28 Nokia Corporation System and method for progressive quantization for scalable image and video coding
US20080240235A1 (en) 2007-03-26 2008-10-02 Microsoft Corporation Adaptive deadzone size adjustment in quantization

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296524A1 (en) * 2001-09-20 2003-03-26 STMicroelectronics S.r.l. Process and apparatus for the compression of digital video signals, a system and a computer program product therefor
EP1830573A1 (en) * 2006-03-02 2007-09-05 Thomson Licensing Method and apparatus for determining in picture signal encoding the bit allocation for groups of pixel blocks in a picture
US8005140B2 (en) 2006-03-17 2011-08-23 Research In Motion Limited Soft decision and iterative video coding for MPEG and H.264
JP4360379B2 (ja) * 2006-05-16 2009-11-11 ソニー株式会社 画像処理装置及び画像処理方法、プログラム及び記録媒体
KR101518237B1 (ko) * 2008-09-01 2015-05-15 삼성전자주식회사 영상의 역양자화 방법 및 장치, 복호화 방법 및 장치
CN101577825B (zh) * 2009-05-15 2011-09-07 武汉大学 压缩视频超分辨率中交互式量化噪声计算方法
JP5115519B2 (ja) * 2009-05-26 2013-01-09 富士通株式会社 動画像復号装置、動画像復号方法及び動画像復号用コンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550012A2 (en) 1991-12-28 1993-07-07 Sony Corporation Apparatus for compression encoding video signals
US20070147497A1 (en) 2005-07-21 2007-06-28 Nokia Corporation System and method for progressive quantization for scalable image and video coding
US20080240235A1 (en) 2007-03-26 2008-10-02 Microsoft Corporation Adaptive deadzone size adjustment in quantization

Also Published As

Publication number Publication date
WO2013044393A1 (en) 2013-04-04
CA2848848A1 (en) 2013-04-04
EP2575364B1 (en) 2020-03-18
CA2848848C (en) 2017-05-09
KR20140072179A (ko) 2014-06-12
CN103959786A (zh) 2014-07-30
CN103959786B (zh) 2018-08-07
EP2575364A1 (en) 2013-04-03

Similar Documents

Publication Publication Date Title
US10178391B2 (en) Methods and devices for data compression using a non-uniform reconstruction space
US9282329B2 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
US9264722B2 (en) Methods and devices for encoding and decoding transform domain filters
EP2661886B1 (en) Coding of residual data in predictive compression
EP2661893B1 (en) Coding of residual data in predictive compression
AU2016271137A1 (en) Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US8244050B2 (en) Methods and apparatuses for encoding and decoding image by using improved compression ratio of encoding information
EP2621174A2 (en) Methods and apparatus for adaptive template matching prediction for video encoding and decoding
US20090225843A1 (en) Method and apparatus for encoding and decoding image
US8611687B2 (en) Method and apparatus for encoding and decoding image using flexible orthogonal transform
WO2013003284A1 (en) Quantization in video coding
EP3039871A1 (en) Residual prediction for intra block copying
CN114342396A (zh) 图像处理装置和方法
KR101613381B1 (ko) 비-균일한 재구성 공간을 이용한 데이터 압축을 위한 방법들 및 디바이스들
US8582639B2 (en) Methods and devices for data compression using adaptive reconstruction levels
KR102020953B1 (ko) 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템
CA2803202C (en) Methods and devices for data compression using adaptive reconstruction levels
WO2024118114A1 (en) Systems and methods for signaling of downsampling filters for chroma from luma intra prediction mode

Legal Events

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

Payment date: 20190328

Year of fee payment: 4