KR101837628B1 - 비디오 코딩에서의 양자화 파라미터(qp) 코딩 - Google Patents

비디오 코딩에서의 양자화 파라미터(qp) 코딩 Download PDF

Info

Publication number
KR101837628B1
KR101837628B1 KR1020147032937A KR20147032937A KR101837628B1 KR 101837628 B1 KR101837628 B1 KR 101837628B1 KR 1020147032937 A KR1020147032937 A KR 1020147032937A KR 20147032937 A KR20147032937 A KR 20147032937A KR 101837628 B1 KR101837628 B1 KR 101837628B1
Authority
KR
South Korea
Prior art keywords
block
value
video data
current
quantization
Prior art date
Application number
KR1020147032937A
Other languages
English (en)
Other versions
KR20150016263A (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 KR20150016263A publication Critical patent/KR20150016263A/ko
Application granted granted Critical
Publication of KR101837628B1 publication Critical patent/KR101837628B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Abstract

델타 양자화 파라미터 값을 코딩하는 방법이 설명된다. 일 예에서, 비디오 디코더는 비디오 데이터의 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP) 값을 수신할 수 있고, 여기서 현재 양자화 블록에 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 수신된다. 다른 예에서, 비디오 디코더는, 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만, 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 그리고 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고, 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에, dQP 값을 제로인 것으로 추론할 수 있다.

Description

비디오 코딩에서의 양자화 파라미터(QP) 코딩{QUANTIZATION PARAMETER(QP) CODING IN VIDEO CODING}
본 출원은 2012년 4월 26일자로 출원된 미국 가출원 제 61/639,015 호, 2012년 5월 7일자로 출원된 미국 가출원 제 61/643,821 호, 및 2012년 6월 7일자로 출원된 미국 가출원 제 61/656,953 호의 이점을 주장하고, 상기 가출원들 각각의 전체 내용은 인용에 의해 본원에 통합된다.
본 발명은 비디오 코딩에 관한 것이며, 더 상세하게는 양자화 파라미터 코딩을 위한 기술들에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기들(PDA들), 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화기들, 원격 화상회의 디바이스들 등을 포함한, 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 디지털 비디오 정보를 더욱 효율적으로 전송, 수신 및 저장하기 위해 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 어드밴스드 비디오 코딩(Advanced Video Coding; AVC), 현재 개발중인 고효율 비디오 코딩(High Efficiency Video Coding; HEVC) 표준, 및 이러한 표준들의 확장판들에 의해 정의된 표준들에서 설명되는 것들과 같은 비디오 압축 기법들을 구현한다.
비디오 압축 기술들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위한 공간 예측 및/또는 시간 예측을 포함한다. 블록-기반 비디오 코딩에 있어, 비디오 프레임 또는 슬라이스가 블록들로 파티셔닝될 수 있다. 비디오 프레임은 대안적으로 픽처(picture)로 지칭될 수 있다. 각각의 블록은 추가로 파티셔닝될 수 있다. 인트라-코딩된(I) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 인터-코딩된(P 또는 B) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측 또는 다른 참조 프레임들에서의 참조 샘플들에 대한 시간 예측을 이용할 수 있다. 공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔여 데이터는 코딩될 오리지널 블록, 즉 코딩된 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다.
인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 나타내는 잔여 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔여 데이터에 따라 인코딩된다. 추가적인 압축을 위해, 잔여 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔여 변환 계수들을 발생시킬 수 있으며, 이어서 잔여 변환 계수들은 양자화될 수 있다. 초기에 2차원 어레이로 배열된, 양자화된 변환 계수들은 엔트로피 코딩에 대한 변환 계수들의 1차원 벡터를 생성하기 위해 특정 순서로 스캐닝될 수 있다.
일반적으로, 본 발명은 비디오 데이터를 코딩하기 위한 기술들을 설명한다. 특히, 본 발명은 델타 양자화 파라미터(dQP) 값들을 코딩하고, 잠재적인 인코더/디코더 미스매치들을 회피하기 위해 무손실 코딩 모드들을 식별하기 위한 기술들을 설명한다.
일 예에서, 본 발명은 비디오 디코딩 방법을 설명하고, 상기 방법은 비디오 데이터의 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP) 값을 수신하는 단계 ― 현재 양자화 블록에서 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 수신됨 ― , 수신된 dQP 값 및 QP 예측자(Predictor)에 기초하여 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하는 단계, 및 결정된 QP 값을 사용하여 현재 양자화 블록을 디코딩하는 단계를 포함한다.
다른 예에서, 비디오 디코딩 방법은 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만, 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하는 단계, 및 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고, 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에, dQP 값을 제로인 것으로 추론하는 단계를 포함한다.
다른 예에서, 본 발명은 비디오 인코딩 방법을 설명하고, 상기 방법은 비디오 데이터의 현재 양자화 블록에 대한 QP 값을 결정하는 단계, QP 및 QP 예측자에 기초하여 현재 양자화 블록에 대한 dQP 값을 결정하는 단계, dQP 값을 생성하는 단계 ― 현재 양자화 블록에 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 시그널링됨 ― , 및 결정된 QP 값을 사용하여 현재 양자화 블록을 인코딩하는 단계를 포함한다.
다른 예에서, 비디오 인코딩 방법은 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만, 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 생성하는 단계, 및 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고, 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에, dQP 값을 제로인 것으로 추론하는 단계를 포함한다.
본 발명은 또한 본원에 설명된 변환 계수들을 시그널링하기 위한 기술들을 수행하도록 구성될 수 있는 비디오 인코더, 비디오 디코더, 장치들, 디바이스들 및 명령들을 저장하는 컴퓨터 판독 가능 매체들을 설명한다.
하나 이상의 예들의 세부사항들이 첨부 도면들 및 하기의 설명에서 제시된다. 다른 특징들, 목적들, 및 이점들은 이 설명과 도면들, 그리고 청구항들로부터 자명해질 것이다.
도 1은 예시적인 비디오 인코딩 및 디코딩 시스템을 예시한 블록도이다.
도 2는 예시적인 양자화 그룹을 예시한 개념도이다.
도 3은 예시적인 양자화 파라미터 예측 기술을 예시한 개념도이다.
도 4는, 양자화 파라미터 예측자가 제로일 때 델타 양자화 파라미터 시그널링의 예를 예시한 개념도이다.
도 5는, 양자화 파라미터 예측자가 무손실 모드에서 코딩될 때 델타 양자화 파라미터 시그널링의 예를 예시한 개념도이다.
도 6은 예시적인 비디오 인코더를 예시한 블록도이다.
도 7은 예시적인 비디오 디코더를 예시한 블록도이다.
도 8은 본 발명의 기술들에 따른 예시적인 비디오 인코딩 방법을 도시한 흐름도이다.
도 9는 본 발명의 기술들에 따른 예시적인 비디오 디코딩 방법을 도시한 흐름도이다.
일반적으로, 본 발명은 비디오 데이터를 코딩하기 위한 기술들을 설명한다. 특히, 본 발명은 비디오 인코딩 및/또는 디코딩 프로세스에서 양자화 파라미터(QP) 코딩을 위한 기술들을 설명한다.
HEVC 표준에 대한 일부 제안들과 일치하여, 비디오 블록은 쿼드트리(quadtree) 파티셔닝 방식에 따라 자체가 더 작은 코딩 유닛들(CU들)로 세분화되고, 가능하게는 추가로 모션 추정 및 모션 보상을 목적으로 예측 유닛들(PU들)로 파티셔닝될 수 있는 가장 큰 코딩 유닛(LCU)을 포함할 수 있다. 본 발명은 LCU, CU 또는 양자화 그룹(또는 양자화 변화들이 지원되기에 충분히 큰 크기의 몇몇의 다른 블록 또는 블록들의 그룹)에 대한 양자화 파라미터(즉, 델타 QP 또는 dQP)에서의 변화들(즉, 델타들)을 인코딩하기 위한 기술들을 설명한다. 이러한 경우에, 델타 QP는 LCU에 대한 QP의 예측된 값에 대해 양자화 그룹에 대한 QP에서의 변화를 정의할 수 있다. 예를 들면, LCU에 대한 예측된 QP 값은 간단히 이전 양자화 그룹(즉, 비트스트림에서 이전에 코딩됨)의 QP일 수 있다. 대안적으로, 예측된 QP 값은 규칙들에 기초하여 결정될 수 있다. 예를 들면, 규칙들은 다른 양자화 그룹들의 하나 이상의 다른 QP 값들, 또는 사용되어야 하는 평균 QP 값을 식별할 수 있다.
HEVC 표준에서 dQP 시그널링의 현재 기술들은, 무손실 코딩 모드들을 시그널링 및 파싱(parsing)하는 것과 관련하여 사용될 때 특정 문제점들을 야기한다. 아래에 더 상세히 논의될 바와 같이, 특정 상황들에서, 특히 무손실 코딩이 사용될 때, 인코더/디코더 미스매치가 발생할 수 있다. 이로써, 본 발명은 그러한 인코더/디코더 미스매치들을 회피하기 위한 dQP 및 무손실 모드 코딩에 대한 기술들을 제시한다.
도 1은 본 발명의 예들에 따른, QP 코딩을 위한 기술들을 사용하도록 구성될 수 있는 예시적인 비디오 인코딩 및 디코딩 시스템(10)을 예시한 블록도이다. 도 1 에 도시된 바와 같이, 시스템(10)은 통신 채널(16)을 통해 목적지 디바이스(14)로 인코딩된 비디오를 송신하는 소스 디바이스(12)를 포함한다. 인코딩된 비디오 데이터는 또한, 저장 매체(34) 또는 파일 서버(36)에 저장될 수 있고, 원하는 경우 목적지 디바이스(14)에 의해 액세스될 수 있다. 저장 매체(34) 또는 파일 서버(36)에 저장되는 경우, 비디오 인코더(20)는 코딩된 비디오 데이터를 저장 매체에 저장하기 위해, 코딩된 비디오 데이터를 다른 디바이스, 예컨대 네트워크 인터페이스, 컴팩트 디스크(CD), 블루-레이 또는 디지털 비디오 디스크(DVD) 버너 또는 스탬핑 기능 디바이스, 또는 다른 디바이스들에 제공할 수 있다. 마찬가지로, 비디오 디코더(30)와는 별개의 디바이스, 예컨대 네트워크 인터페이스, CD 또는 DVD 판독기 등은 코딩된 비디오 데이터를 저장 매체로부터 리트리브(retrieve)하고, 리트리브된 데이터를 비디오 디코더(30)에 제공할 수 있다.
소스 디바이스(12) 및 목적지 디바이스(14)는 데스크톱 컴퓨터들, 노트북(즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋-톱 박스들, 전화기 핸드셋들, 가령 소위 스마트폰들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들 등을 포함하는 매우 다양한 디바이스들 중 임의의 것을 포함할 수 있다. 많은 경우들에서, 이러한 디바이스들은 무선 통신을 위해 구비될 수 있다. 따라서, 통신 채널(16)은 무선 채널, 유선 채널, 또는 인코딩된 비디오 데이터의 송신에 적합한 무선 및 유선 채널들의 조합을 포함할 수 있다. 유사하게, 파일 서버(36)는 인터넷 접속을 포함하는, 임의의 표준 데이터 접속을 통해 목적지 디바이스(14)에 의해 액세스될 수 있다. 이는 무선 채널(예를 들어, Wi-Fi 접속), 유선 접속(예를 들어, DSL, 케이블 모뎀 등), 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기에 적합한 양자의 조합을 포함할 수 있다.
본 발명의 예들에 따라, QP 코딩을 위한 기술들은 다양한 멀티미디어 애플리케이션들, 예컨대, 오버-디-에어(over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들어, 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들 중 임의의 것의 지원 시에 비디오 코딩에 적용될 수 있다. 일부 예들에서, 시스템(10)은 애플리케이션들, 예컨대, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅 및/또는 비디오 텔레포니를 지원하기 위해 단방향 또는 양방향 비디오 송신을 지원하도록 구성될 수 있다.
도 1의 예에서, 소스 디바이스(12)는 비디오 소스(18), 비디오 인코더(20), 변조기/복조기(22) 및 송신기(24)를 포함한다. 소스 디바이스(12)에서, 비디오 소스(18)는 비디오 캡처 디바이스, 가령, 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브(archive), 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 공급 인터페이스, 및/또는 소스 비디오와 같은 컴퓨터 그래픽 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합과 같은 소스를 포함할 수 있다. 일 예로서, 비디오 소스(18)가 비디오 카메라이면, 소스 디바이스(12) 및 목적지 디바이스(14)는, 예를 들면, 스마트폰들 또는 태블릿 컴퓨터들 내에 제공될 수 있는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수 있다. 그러나, 본 발명에 설명된 기술들은 비디오 코딩에 일반적으로 적용 가능할 수 있고, 무선 및/또는 유선 애플리케이션들, 또는 인코딩된 비디오 데이터가 로컬 디스크 상에 저장되는 애플리케이션에 적용될 수 있다.
캡처된, 사전-캡처된, 또는 컴퓨터-생성된 비디오는 또한 비디오 인코더(20)에 의해 인코딩될 수 있다. 인코딩된 비디오 정보는 통신 표준, 예컨대 유선 또는 무선 통신 프로토콜에 따라 모뎀(22)에 의해 변조될 수 있고, 송신기(24)를 통해 목적지 디바이스(14)로 송신될 수 있다. 모뎀(22)은 다양한 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수 있다. 송신기(24)는 증폭기들, 필터들, 및 무선 통신의 경우에 하나 이상의 안테나들을 포함하는, 데이터를 송신하기 위해 설계된 회로들을 포함할 수 있다.
비디오 인코더(20)에 의해 인코딩되는 캡처된, 사전-캡처된, 또는 컴퓨터-생성된 비디오는 또한, 이후의 소비를 위해 저장 매체(34) 또는 파일 서버(36)에 저장될 수 있다. 저장 매체(34)는 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 또는 인코딩된 비디오를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들을 포함할 수 있다. 이어서, 저장 매체(34) 상에 저장된 인코딩된 비디오는 디코딩 및 재생을 위해 목적지 디바이스(14)에 의해 액세스될 수 있다. 도 1에 도시되지 않지만, 일부 예들에서, 저장 매체(34) 및/또는 파일 서버(36)는 송신기(24)의 출력을 저장할 수 있다.
파일 서버(36)는 인코딩된 비디오를 저장하고 그 인코딩된 비디오를 목적지 디바이스(14)로 송신할 수 있는 임의의 타입의 서버일 수 있다. 예시적인 파일 서버들은 (예를 들어, 웹사이트에 대한) 웹 서버, FTP 서버, NAS(network attached storage) 디바이스들, 로컬 디스크 드라이브, 또는 인코딩된 비디오 데이터를 저장하고 이를 목적지 디바이스로 송신할 수 있는 임의의 다른 타입의 디바이스를 포함한다. 파일 서버(36)로부터 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이 둘의 조합일 수 있다. 파일 서버(36)는 인터넷 접속을 포함하는, 임의의 표준 데이터 접속을 통해 목적지 디바이스(14)에 의해 액세스될 수 있다. 이는, 무선 채널(예를 들어, Wi-Fi 접속), 유선 접속(예를 들어, DSL, 케이블 모뎀, 이더넷, USB 등), 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기에 적합한 양자의 조합을 포함할 수 있다.
도 1의 예에서 목적지 디바이스(14)는 수신기(26), 모뎀(28), 비디오 디코더(30), 및 디스플레이 디바이스(32)를 포함한다. 목적지 디바이스(14)의 수신기(26)는 채널(16)을 통해 정보를 수신하고, 모뎀(28)은 이 정보를 복조하여 비디오 디코더(30)에 대한 복조된 비트스트림을 생성한다. 채널(16)을 통해 통신된 정보는 비디오 데이터를 디코딩하는데 있어서 비디오 디코더(30)에 의한 사용을 위해 비디오 인코더(20)에 의해 생성된 다양한 신택스(syntax) 정보를 포함할 수 있다. 이러한 신택스는 또한, 저장 매체(34) 또는 파일 서버(36)상에 저장된 인코딩된 비디오 데이터와 함께 포함될 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 비디오 데이터를 인코딩 또는 디코딩할 수 있는 각각의 인코더-디코더(코덱)의 일부를 형성할 수 있다.
디스플레이 디바이스(32)는 목적지 디바이스(14)와 통합되거나 목적지 디바이스 외부에 있을 수 있다. 일부 예들에서, 목적지 디바이스(14)는 통합된 디스플레이 디바이스를 포함하고, 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수 있다. 다른 예들에서, 목적지 디바이스(14)는 디스플레이 디바이스일 수 있다. 일반적으로, 디스플레이 디바이스(32)는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 다양한 디스플레이 디바이스들, 예컨대 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스 중 임의의 것을 포함할 수 있다.
도 1의 예에서, 통신 채널(16)은 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체의 임의의 조합을 포함할 수 있다. 통신 채널(16)은 패킷-기반 네트워크, 예컨대 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수 있다. 통신 채널(16)은 일반적으로, 유선 또는 무선 매체들의 임의의 적합한 조합을 포함하는, 소스 디바이스(12)로부터 목적지 디바이스(14)로 비디오 데이터를 송신하기 위한 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 콜렉션을 나타낸다. 통신 채널(16)은 소스 디바이스(12)로부터 목적지 디바이스(14)로의 통신을 용이하게 하는데 유용할 수 있는 라우터들, 스위치들, 기지국들, 또는 임의의 다른 장비를 포함할 수 있다.
비디오 인코더(20) 및 비디오 디코더(30)는 ITU-T 비디오 코딩 전문가 그룹 (VCEG)과 ISO/IEC 동화상 전문가 그룹(MPEG)의 JCT-VC(Joint Collaboration Team on Video Coding)에 의해 현재 개발중인 HEVC(High Efficiency Video Coding) 표준과 같은, 비디오 압축 표준에 따라서 동작할 수 있다. "HEVC 작업 초안 7" 또는 "WD7"로 지칭되는 HEVC 표준의 하나의 초안은 ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11의 JCT-VC(Joint Collaborative Team on Video Coding), 9차 회의; 2012년 4월 27일 내지 2012년 5월 7일, 스위스, 제네바, 문서 JCTVC-GI1003, Bross 등, "High efficiency video coding(HEVC) Text Specification Draft 7"에 설명되어 있고, 이것은 2013년 4월 25일 시점에서 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zip로부터 다운로딩 가능하고, 이것의 전체 내용은 인용에 의해 본원에 통합된다.
"HEVC 작업 초안 10" 또는 "WD10"으로 지칭되는 HEVC 표준의 더 최근의 초안은 ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11의 JCT-VC(Joint Collaborative Team on Video Coding), 12차 회의: 2013년 1월, 14-23, CH, 제네바, 문서 JCTVC-L1003v34, Bross 등, "High Efficiency Video Coding(HEVC) Text Specification Draft 10" 에 설명되어 있고, 이것은 2013년 4월 25일 시점에서 http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip로부터 다운로딩 가능하다. 그로 인해, HEVC WD10의 전체 내용은 인용에 의해 본원에 통합된다.
도 1에 도시되지는 않았으나, 일부 양상들에서, 비디오 인코더(20) 및 비디오 디코더(30)는 각각 오디오 인코더 및 디코더와 통합될 수 있고, 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함하여 공통 데이터 스트림 또는 별개의 데이터 스트림들로 오디오 및 비디오 둘 모두의 인코딩을 처리할 수 있다. 적용 가능하다면, 일부 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜들에 따를 수 있다.
비디오 인코더(20) 및 비디오 디코더(30)는 각각, 다양한 적합한 인코더 회로, 예컨대 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들 중 임의의 것으로 구현될 수 있다. 기술들이 소프트웨어에서 부분적으로 구현되는 경우, 디바이스는 적합한, 비-일시적 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 발명의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하여 하드웨어에서 명령들을 실행할 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있고, 이들 중 어느 하나는 각각의 디바이스에서 결합형 인코더/디코더(코덱)의 일부로서 통합될 수 있다.
비디오 인코더(20)는 비디오 코딩 프로세스에서 QP 코딩을 위해 본 발명의 기술들 중 임의의 것 또는 전부를 구현할 수 있다. 마찬가지로, 비디오 디코더(30)는 비디오 코딩 프로세스에서 QP 코딩을 위해 이들 기술들 중 임의의 것 또는 전부를 구현할 수 있다. 본 발명에 설명된 바와 같이, 비디오 코더는 비디오 인코더 또는 비디오 디코더를 지칭할 수 있다. 유사하게, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더를 지칭할 수 있다. 마찬가지로, 비디오 코딩은 비디오 인코딩 또는 비디오 디코딩을 지칭할 수 있다.
본 발명의 일 예에서, 아래에 더 상세히 설명될 바와 같이, 비디오 인코더(20)는 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하고, QP 및 QP 예측자에 기초하여 비디오 데이터의 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP) 값을 결정하고, dQP 값을 시그널링하고 ― 여기서 현재 양자화 블록에서 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 시그널링됨 ― , 결정된 QP 값을 사용하여 현재 양자화 블록을 인코딩하도록 구성될 수 있다.
다른 예에서, 비디오 인코더(20)는, 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 시그널링하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
마찬가지로, 비디오 디코더(30)는 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고 ― 여기서 현재 양자화 블록에 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 수신됨 ― , 수신된 dQP 값 및 QP 예측자에 기초하여 현재 양자화 블록에 대한 QP 값을 결정하고, 결정된 QP 값을 사용하여 현재 양자화 블록을 디코딩하도록 구성될 수 있다.
다른 예에서, 비디오 디코더(30)는, 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
디지털 비디오 디바이스들은 디지털 비디오 정보를 더 효율적으로 인코딩 및 디코딩하기 위한 비디오 압축 기술들을 구현한다. 비디오 압축은 비디오 시퀀스들에 고유한 리던던시를 감소 또는 제거하기 위해 공간(인트라-프레임) 예측 및/또는 시간(인터-프레임) 예측 기술들을 적용할 수 있다.
JCT-VC는, 예를 들면, 앞서 논의된 HEVC WD10에 설명된 바와 같은 HEVC 표준의 개발에 착수하고 있다. HEVC 표준화 노력들은 HEVC 테스트 모델(HM)로 지칭되는 비디오 코딩 디바이스의 진화하는 모델에 기초한다. HM은, 예를 들면, ITU-T H.264/AVC에 따라 기존의 디바이스들에 대해 비디오 코딩 디바이스들의 몇몇의 부가적인 능력들을 추정한다. 예를 들면, 반면에 H.264가 9 개의 인트라-예측 인코딩 모드들을 제공하고, HM은 33 개만큼 많은 인트라 예측 인코딩 모드들을 제공할 수 있다. 다음의 섹션은 HM의 특정 양상들을 더 상세히 논의할 것이다.
현재 개발중인 HEVC 표준에 따른 비디오 코딩에서, 비디오 프레임은 코딩 유닛들로 파티셔닝될 수 있다. 코딩 유닛(CU)은 일반적으로 비디오 압축을 위해 다양한 코딩 툴들이 적용되는 기본 유닛으로서 역할을 하는 이미지 영역을 지칭한다. CU는 일반적으로 Y로 표기된 루미넌스 컴포넌트, 및 U 및 V로 표기된 2 개의 크로마 컴포넌트들을 갖는다. 비디오 샘플링 포맷에 의존하여, U 및 V 컴포넌트들의 크기는, 샘플들의 수에 관련하여, Y 컴포넌트의 크기와 동일하거나 이와 상이할 수 있다.
CU는 통상적으로 정사각형이고, 예를 들면, ITU-T H.264와 같은 비디오 코딩 표준들에서 사용되는 소위 매크로블록과 유사한 것으로 고려될 수 있다. 개발중인 HEVC 표준의 현재 제안된 양상들 중 일부에 따른 코딩은 예시 목적으로 본 출원에 설명될 것이다. 그러나, 본 발명에 설명된 기술들은 H.264 또는 다른 표준에 따라 정의된 것들 또는 독점 비디오 코딩 프로세스들과 같은 다른 비디오 코딩 프로세스들에서 유용할 수 있다.
HM에 따라, CU는 하나 이상의 예측 유닛들(PU들) 및/또는 하나 이상의 변환 유닛들(TU들)을 포함할 수 있다. 비트스트림 내의 신택스 데이터는 픽셀들의 수에 관련하여 가장 큰 CU인 LCU(largest coding unit)를 정의할 수 있다. 일반적으로, CU는, CU가 크기 차이를 갖지 않는다는 점을 제외하면, H.264의 매크로블록과 유사한 목적을 갖는다. 따라서, CU는 서브-CU들로 분할될 수 있다. 일반적으로, CU에 대한 본 발명에서의 참조들은 픽처의 가장 큰 코딩 유닛 또는 LCU의 서브-CU를 지칭할 수 있다. LCU는 서브-CU들로 분할될 수 있고, 각각의 서브-CU는 추가로 서브-CU들로 분할될 수 있다. 비트스트림에 대한 신택스 데이터는 CU 심도(depth)로 지칭되는, LCU가 분할될 수 있는 최대 횟수를 정의할 수 있다. 따라서, 비트스트림은 또한 SCU(smallest coding unit)를 정의할 수 있다. 본 발명은 또한 CU, PU 또는 TU 중 임의의 것을 지칭하기 위해 용어 "블록" 또는 "부분"을 사용한다. 일반적으로, "부분"은 비디오 프레임의 임의의 서브-세트를 지칭할 수 있다.
LCU는 쿼드트리 데이터 구조와 연관될 수 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하고, 여기서 루트(root) 노드는 LCU에 대응한다. CU가 4 개의 서브-CU들로 분할되면, CU에 대응하는 노드는 4 개의 리프(leaf) 노드들을 포함하고, 리프 노드 각각은 서브-CU들 중 하나에 대응한다. 쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU에 대한 신택스 데이터를 제공할 수 있다. 예를 들면, 쿼드트리 내의 노드는, 노드에 대응하는 CU가 서브-CU들로 분할되는지를 나타내는 분할 플래그를 포함할 수 있다. CU에 대한 신택스 엘리먼트들은 재귀적으로 정의될 수 있고, CU가 서브-CU들로 분할되는지에 의존할 수 있다. CU가 추가로 분할되지 않는다면, 이것은 리프-CU로 지칭된다.
CU는 하나 이상의 예측 유닛들(PU들)을 포함할 수 있다. 일반적으로, PU는 대응하는 CU의 전부 또는 일부를 나타내고, PU에 대한 참조 샘플을 리트리브하기 위한 데이터를 포함할 수 있다. 예를 들면, PU가 인터-모드 인코딩될 때, PU는 PU에 대한 모션 벡터를 정의하는 데이터를 포함할 수 있다. 모션 벡터를 정의하는 데이터는, 예를 들면, 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터의 분해능(예를 들면, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가르키는 참조 프레임, 및/또는 모션 벡터에 대한 참조 리스트(예를 들면, 리스트 0 또는 리스트 1)를 기술할 수 있다. PU(들)를 정의하는 CU에 대한 데이터는 또한, 예를 들면, 하나 이상의 PU들로의 CU의 파티셔닝을 기술할 수 있다. 파티셔닝 모드들은, CU가 코딩되지 않는지, 인트라-예측 모드 인코딩되는지 또는 인터-예측 모드 인코딩되는지에 의존하여 상이할 수 있다. 인트라 코딩에서, PU는 하기에 설명되는 리프 변환 유닛과 동일하게 처리될 수 있다.
부상하고 있는 HEVC 표준은, 상이한 CU들에 대해 상이할 수 있는 변환 유닛들(TU들)에 따른 변환들을 허용한다. TU들은 통상적으로 파티셔닝된 LCU에 대해 정의된 정해진 CU 내의 PU들의 크기에 기초하여 크기 설정되지만, 이것이 항상 그러한 경우는 아닐 수 있다. TU들은 통상적으로 PU들과 동일하거나 그보다 더 작은 크기이다. 일부 예들에서, CU에 대응하는 잔여 샘플들은 "RQT(residual quad tree)"로 알려진 쿼드트리 구조를 사용하여 더 작은 유닛들로 세분화될 수 있다. RQT의 리프 노드들은 변환 유닛들(TU들)로 지칭될 수 있다. TU들과 연관된 픽셀 차이 값들은 양자화될 수 있는 변환 계수들을 생성하도록 변환될 수 있다. TU는 루마 변환 블록 및 2 개의 크로마 변환 블록들을 포함한다. 이로써, TU에 적용되는, 아래에 논의되는 임의의 코딩 프로세스는, 실제로, 루마 및 크로마 변환 블록들에 적용될 수 있다.
일반적으로, PU는 예측 프로세스에 관련된 데이터를 지칭한다. 예를 들면, PU가 인트라-모드 인코딩될 때, PU는 PU에 대한 인트라-예측 모드를 기술하는 데이터를 포함할 수 있다. 다른 예로서, PU가 인터-모드 인코딩될 때, PU는 PU에 대한 모션 벡터를 정의하는 데이터를 포함할 수 있다.
일반적으로, TU는 변환 및 양자화 프로세스들에 사용된다. 하나 이상의 PU들을 갖는 정해진 CU는 또한 하나 이상의 변환 유닛들(TU들)을 포함할 수 있다. 예측 이후에, 비디오 인코더(20)는 PU에 따라 코딩 노드에 의해 식별된 비디오 블록으로부터 잔여 값들을 계산할 수 있다. 이어서, 코딩 노드는 오리지널 비디오 블록보다는 잔여 값들을 참조하도록 업데이트된다. 잔여 값들은, 엔트로피 코딩에 대한 직렬화된 변환 계수들을 생성하기 위해 TU들에 지정된 변환들 및 다른 변환 정보를 사용하여 변환 계수들로 변환, 양자화 및 스캐닝될 수 있는 픽셀 차이 값들을 포함한다. 코딩 노드는 이러한 직렬화된 변환 계수들을 참조하기 위해 다시 한번 업데이트될 수 있다. 본 발명은 통상적으로 CU의 코딩 노드를 지칭하기 위해 용어 "비디오 블록"을 사용한다. 일부 특정 경우들에서, 본 발명은 또한 트리블록, 즉, 코딩 노드 및 PU들 및 TU들을 포함하는 LCU 또는 CU를 지칭하기 위해 용어 "비디오 블록"을 사용할 수 있다.
비디오 시퀀스는 통상적으로 일련의 비디오 프레임들 또는 픽처들을 포함한다. GOP(group of pictures)는 일반적으로 비디오 픽처들의 일련의 하나 이상을 포함한다. GOP는, GOP에 포함되는 픽처들의 수를 기술하는 신택스 데이터를 GOP의 헤더, 픽처들 중 하나 이상의 픽처의 헤더 또는 다른 곳에 포함할 수 있다. 픽처의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 기술하는 슬라이스 신택스 데이터를 포함할 수 있다. 비디오 인코더(20)는 통상적으로 비디오 데이터를 인코딩하기 위해 개별적인 비디오 슬라이스들 내의 비디오 블록들에 대해 동작한다. 비디오 블록들은 고정 또는 다양한 크기들을 가질 수 있고, 지정된 코딩 표준에 따라 크기 면에서 상이할 수 있다.
블록(예를 들면, 비디오 데이터의 예측 유닛)을 코딩하기 위해, 블록에 대한 예측자가 먼저 도출된다. 예측 블록으로 또한 지칭되는 예측자는 인트라(I) 예측(즉, 공간 예측) 또는 인터(P 또는 B) 예측(즉, 시간 예측) 중 어느 하나를 통해 도출될 수 있다. 따라서, 일부 예측 유닛들은 동일한 프레임(또는 슬라이스) 내의 이웃하는 참조 블록들 내의 참조 샘플들에 관련한 공간 예측을 사용하여 인트라-코딩(I)될 수 있고, 다른 예측 유닛들은 다른 이전에 코딩된 프레임들(또는 슬라이스들) 내의 참조 샘플들의 블록들에 관련하여 단방향성 인터-코딩(P)되거나 양방향성 인터-코딩(B)될 수 있다. 각각의 경우에, 참조 샘플들은 코딩될 블록에 대한 예측 블록을 형성하는데 사용될 수 있다.
예측 블록의 식별 시에, 오리지널 비디오 데이터 블록 내의 픽셀들과 그의 예측 블록 내의 픽셀들 사이의 차이가 결정된다. 이러한 차이는 예측 잔여 데이터로 지칭될 수 있고, 코딩될 블록의 픽셀 값들과 코딩된 블록을 나타내도록 선택된 예측 블록의 픽셀 값들 사이의 픽셀 차이들을 나타낸다. 더 양호한 압축을 달성하기 위해, 예측 잔여 데이터는 변환 계수들을 생성하기 위해, 예를 들면, DCT(discrete cosine transform), 정수 변환, K-L(Karhunen-Loeve) 변환, 또는 다른 변환을 사용하여 변환될 수 있다.
TU와 같은 변환 블록의 잔여 데이터는 공간, 픽셀 도메인에 상주하는 픽셀 차이 값들의 2 차원(2D) 어레이로 배열될 수 있다. 변환은 잔여 픽셀 값들을 주파수 도메인들과 같은 변환 도메인의 변환 계수들의 2 차원 어레이로 변환한다.
양자화는 변환 계수들에 적용될 수 있고, 일반적으로 임의의 정해진 변환 계수와 연관된 비트들의 수를 제한하는 프로세스를 수반한다. 더 상세하게는, 양자화는 양자화 파라미터(QP)에 따라 적용될 수 있다. QP 자체를 시그널링하기 보다는, QP의 변화(즉, 델타)가 LCU를 사용하여 시그널링될 수 있다. 델타 QP는 이전의 QP들 및/또는 하나 이상의 규칙들에 의해 정의된 QP 또는 이전에 통신된 CU의 QP와 같이, LCU의 QP에 대한 예측 값에 대해 LCU에 대한 양자화 파라미터에서의 변화를 정의한다. 본 발명은 HEVC 표준에서 품질(및 가능하게는 압축)을 개선할 수 있는 방식으로 인코딩된 비트스트림 내에서 델타 QP를 생성 및 시그널링하는 것에 관한 것이다.
추가 압축을 위해, 변환 계수들은 엔트로피 코딩 전에 양자화될 수 있다. 이어서, 엔트로피 코더는 CAVLC(Context Adaptive Variable Length Coding), CABAC(Context Adaptive Binary Arithmetic Coding), PIPE(Probability Interval Partitioning Entropy Coding) 등과 같은 엔트로피 코딩을 양자화된 변환 계수들에 적용한다. 일부 예들에서, 비디오 인코더(20)는, 엔트로피 인코딩될 수 있는 직렬화된 벡터를 생성하기 위해 양자화된 변환 계수들을 스캐닝하기 위해 미리 정의된 스캔 순서를 사용할 수 있다. 다른 예들에서, 비디오 인코더(20)는 적응형 스캔을 수행할 수 있다. 1 차원 벡터를 형성하기 위해 양자화된 변환 계수들을 스캐닝한 후에, 비디오 인코더(20)는 1 차원 벡터를 엔트로피 인코딩할 수 있다. 비디오 인코더(20)는 또한 비디오 데이터를 디코딩하는데 있어서 비디오 디코더(30)에 의한 사용을 위해 인코딩된 비디오 데이터와 연관된 신택스 엘리먼트들을 엔트로피 인코딩할 수 있다.
앞서 논의된 바와 같이, 델타 QP(또한 dQP로 언급됨)는 비디오 데이터의 블록에 대한 QP를 코딩하기 위해 인코딩된 비디오 비트스트림으로 시그널링될 수 있다. 현재 QP(즉, 현재 블록에 사용된 실제 QP)와 현재 QP의 예측자(QP 예측자) 사이의 차이로서 델타 QP가 정의된다. 시그널링된 dQP에 기초하여, 대응하는 현재 QP 값은 dQP를 QP 예측자의 값에 부가함으로써 재구성될 수 있다. 즉, 비디오 인코더(20)에서, dQP는 현재 블록의 실제 QP로부터 QP 예측자를 감산함으로써 계산되는데, 즉, dQP = 현재 QP - QP 예측자이다. 비디오 디코더(30)에서, 현재 블록의 실제 QP는 수신된 dQP를 QP 예측자에 합산함으로써 재구성되는데, 즉, 현재 QP =dQP + QP 예측자이다. 일부 예들에서, QP 예측자는 현재 블록에 대해 위의 블록 및 좌측 블록에 대한 실제 QP 값들의 평균으로서 정의된다.
HEVC 및 HM에 대한 제안들에 따라, 양자화 그룹(QG)은 dQP를 시그널링하기 위해 정의된다. QG는 dQP가 시그널링되는 최소의 블록 크기이다. QG는 단일 CU 또는 다수의 CU들로 구성될 수 있다. 많은 예들에서, QG는 하나 이상의 가능한 CU 크기들보다 더 작을 수 있다. 예를 들면, QG는 16x16 픽셀들의 크기가 되도록 정의 및/또는 시그널링될 수 있다. 이러한 예에서, CU들이 크기 32x32 또는 64x64를 갖는 것이 가능할 것이다.
다양한 예들에서, QG의 크기는 PPS(picture parameter set)로 시그널링된다. 그러나, QG 크기는 슬라이스 헤더, APS(adaptation parameter set), SPS(sequence parameter set) 등을 포함하여 비트스트림의 다른 레벨들에서 시그널링될 수 있다. CU가 QG의 크기와 동일하거나 그보다 더 큰 크기를 갖는다면, 그러한 CU에 대해 dQP가 시그널링될 수 있다. 그러나, QG의 크기보다 더 작은 CU들에 대해, 공통 dQP가 시그널링되고, QG 내부의 모든 CU들 사이에서 공유된다. HEVC에 대해 제안된 일부 예들에서, 특정 블록(CU 또는 QG)에 대한 dQP의 시그널링은 또한 블록 내에 비-제로 계수들이 존재하는지에 의존한다. dQP는, 비디오 인코더(20)가 동일한 블록에서 코딩된 비-제로 계수들이 존재한다고 결정한 후(그리고 때때로 그 후에만) 블록으로 시그널링된다.
도 2는 7 개의 CU들(CU0-CU6)을 포함하는 16x16 QG의 예를 도시한다. CU0-CU2는 8x8 CU들이고, 반면에 CU3-CU6은 4x4 CU들이다. 도 2의 예에서, 그늘진 CU5는 적어도 비-제로 계수를 포함한다. 이로써, 비디오 인코더(20)는 전체 QG(102)에 대해 하나의 dQP를 시그널링하고, 비디오 디코더(30)는 CU0-CU6 각각을 디코딩하는데 사용하기 위해 시그널링된 dQP를 적용할 것이다. QG(102) 내의 어떠한 CU도 비-제로 계수를 포함하지 않는다면, dQP는 그 QG에 대해 시그널링되지 않을 것이다. HEVC에 대한 현재 제안들에서, dQP가 특정 블록(예를 들면, CU)에 대해 시그널링되는지 여부는 QG 크기에 의존한다. 도 2의 예에서 QG 크기가 8x8이었다면, CU0-CU2가 비-제로 계수들을 포함하지 않기 때문에, 어떠한 dQP도 CU0-CU2에 대해 시그널링되지 않을 것이다. 그러나, 이러한 CU들 각각이 적어도 하나의 비-제로 계수를 포함하는 QG 내에 있기 때문에, CU3-CU6이 공유할 하나의 dQP가 시그널링될 것이다. 마찬가지로, 시그널링되는 QG의 크기가 4x4이었다면, CU5(즉, 비-제로 계수들을 갖는 블록)를 제외한 임의의 블록에 대해 어떠한 dQP 도 시그널링되지 않을 것이다.
다시 말해서, QG 내에 다수의 CU들이 존재할 때, 비-제로 계수들을 갖는 CU가 QG 내에 위치되지 않는다면, QG에 대한 dQP가 시그널링되지 않는다. 예를 들면, QG 내의 4 개의 CU들이 존재하고, 제 4 CU를 제외하고 제 1의 3 개의 CU들 중 어느 것도 비-제로 계수들을 갖지 않는다면(또한 다음의 설명에서 비-제로 CU들로 지칭됨), dQP는 제 4 CU로만 시그널링된다. 일반적으로, QG 내의 제 1의 비-제로 CU는 QG 내부의 임의의 위치에 위치될 수 있다. 예를 들면, 제 1 비-제로 CU는 제 1 CU, 마지막 CU 또는 QG 내의 임의의 다른 CU일 수 있다. 일부 경우들에서, 비-제로 CU들이 QG 내에 존재할 수 있다.
다음의 설명에서, 일반적인 용어 "양자화 블록"은 시그널링된 QG보다 더 크거나 그와 동일한 크기를 갖는 CU를 지칭하거나, 다수의 CU들의 포함하는 QG를 지칭하는데 사용된다. 즉, 양자화 블록은 하나 이상의 CU들을 포함하는 QG, 또는 QG보다 더 큰 CU이다. 용어 "제로 블록"은 어떠한 비-제로 계수들도 갖지 않는 블록(예를 들면, CU와 연관된 변환 블록 또는 TU)을 나타내는데 사용될 것이다. 양자화 블록이 다수의 CU들을 포함하는 QG일 때, QG 내의 모든 CU들이 제로 블록들인 경우에, QG는 제로 블록으로 고려된다. 양자화 블록이 적어도 하나의 비-제로 계수를 포함할 때, 각각의 양자화 블록에 대해 dQP가 시그널링된다.
양자화 블록에 대해 dQP가 시그널링되지 않을 때, dQP의 값은 제로인 것으로 가정된다. 이로써, 비디오 디코더(30)에서, 현재 블록에 대한 QP의 값은 QP 예측자의 값과 동일할 것이다(즉, 현재 QP = dQP + QP 예측자, 여기서 dQP는 제로인 것으로 가정됨). HEVC 및 HM에 대한 현재 제안들에 따라, QP 예측자는, 도 3(즉, 좌측 및 위의 양자화 블록들을 사용하여 현재 양자화 블록에 대한 QP 예측을 도시함)에 도시된 바와 같이, 좌측 양자화 블록 및 위의 양자화 블록에 대한 QP 값들의 평균으로서 정의된다. QP 예측자는 다른 예들에서 상이한 방식들로 정의될 수 있다. 예를 들면, QP 예측자는 또한 좌측 양자화 블록으로부터 QP 값으로서 정의되거나, 스트림에서 이전에 코딩된 양자화 블록의 QP 값으로서 정의되거나, 다른 방식들로 정의될 수 있다.
HEVC에 대한 현재 제안들에서, 블록(예를 들면, 하나 이상의 CU들)을 코딩하기 위해 무손실 코딩 모드가 정의된다. 이러한 무손실 코딩 모드에 따라, 변환, 양자화 및 인-루프 필터링과 같은 일부 코딩 동작들이 스킵된다. HEVC 현재 제안들에서, 무손실 코딩 모드는 무손실 코딩 모드에 의해 코딩된 블록에 대해 제로와 동일한 QP 값을 사용함으로써 비디오 인코더(20)에 의해 표시될 수 있다. 그래서, 특정 양자화 블록이 무손실 모드에서 코딩되면, 이러한 양자화 블록에 대한 QP 값은 제로로 설정되고 디코더로 시그널링되어야 한다. 이러한 경우에, QP 값의 시그널링은 마이너스 QP 예측자 값과 동일한 값을 갖는 dQP(즉, dQP = 실제 QP(본 경우에 제로) - QP 예측자)의 전송을 통해 달성된다.
양자화 블록에 대한 dQP 시그널링이 제로의 QP 값으로 표시된 무손실 코딩 모드와 관련하여 사용될 때, 특정 이슈들이 발생할 수 있다. 그러한 이슈들은 인코더/디코더 미스매치, 및 잠재적으로 디코더 고장(crash)을 유도할 수 있다.
제 1 이슈를 설명하기 위해, 현재 양자화 블록에 대해 도출된 QP 예측자가 제로라고 가정하라. 예를 들면, 좌측 양자화 블록 및 위의 양자화 블록 모두가 무손실 코딩 모드에서 코딩되고, 따라서 QP 각각이 제로이다. QP 예측자는 또한, 좌측 또는 위의 양자화 블록들 중 하나가 무손실 코딩 모드에서 코딩되는 경우에 제로일 수 있고, 다른 양자화 블록은 1의 QP를 갖는다. 본 경우에, QP 예측자는 2 개의 블록들의 평균, 즉, 0.5이고, 제로로 받아 내림된다(round down). 또한, 현재 양자화 블록이 비-제로 QP 값을 사용하여 정상적으로(즉, 무손실이 아니게) 코딩된다고 가정하라. 이로써, 변환, 양자화 및 모든 인-루프 필터링 프로세스들이 현재 양자화 블록에 적용된다.
이러한 경우에, 양자화 블록이 제로 블록이면(즉, 어떠한 비-제로 계수들도 갖지 않는다면), 비디오 인코더(20)는 이러한 양자화 블록에 대해 dQP를 비디오 디코더(30)로 시그널링하지 않을 것이다. 그러한 상황에서 문제점이 발생한다. 비디오 인코더(20)에서, 이러한 예시적인 양자화 블록은 인트라 또는 인터 예측을 사용하여 비-제로 QP를 사용하여 코딩된다. 그러나, dQP 시그널링 없이, 디코더 측에서 추론된 QP 값은 제로의 값을 갖는다. 이것은, dQP가 시그널링되지 않고 따라서 추론된 dQP가 제로이기 때문이다. 이로써, 양자화 블록에 대한 현재 QP는, 앞서 설명된 바와 같이, QP 예측자일 것이다. 그러나, 이러한 예에서, QP 예측자가 또한 제로이기 때문에, 양자화 블록에 대한 현재 QP 값은 또한 제로인 것으로 재구성될 것이고, 비디오 디코더(30)는 이것을 현재 양자화 블록이 무손실 코딩 모드에서 디코딩된다는 것을 나타내는 것으로 해석할 것이다. 이로써, 비디오 디코더(30)는, 양자화 블록이 다른 예측 모드(예를 들면, 인터 또는 인트라 예측)를 사용하여 코딩될지라도 무손실 모드를 사용하여 양자화 블록을 재구성하려고 시도할 수 있다. 그러한 상황은 인코더/디코더 미스매치를 유도하고, 이것은 열악한 시각 품질, 또는 심지어 디코더 고장을 발생시킬 수 있다.
제 2 이슈는, 현재 양자화 블록에 대한 QP 예측자가 비-제로이지만 현재 양자화 블록이 무손실 모드에서 코딩되고 어떠한 잔여물도 갖지 않고(즉, 잔여물에서 어떠한 비-제로 값들도 존재하지 않음), 따라서 dQP가 전송되지 않을 때 발생한다. 결과적으로, 비디오 디코더(30)에서, dQP의 값은 - QP 예측자와 동일한 dQP 값을 수신하는 대신에 제로인 것으로 추론될 것이다. 이로써, 비디오 디코더(30)는 양자화 블록의 실제 QP 값을 0(추론된 dQP) + QP 예측자 = QP 예측자로서 재구성할 것이다. 이로써, 비디오 디코더(30)는 비-제로 실제 QP 값을 재구성할 것이고, 따라서 이러한 양자화 블록에 대해 무손실 모드를 식별하는 것이 불가능할 것이다.
제 1 이슈를 해소하기 위해, 본 발명의 제 1 예에 따라, 비디오 인코더(20)는, 양자화 블록이 제로 블록인지 여부와 상관없이 모든 양자화 블록에 대해 항상 dQP를 시그널링하도록 구성된다. 예를 들면, dQP는 QG보다 큰 블록(예를 들면, CU)에 대해 또는 QG의 제 1 CU에서 항상 시그널링될 수 있다. 이러한 방식으로, dQP는 제로인 것으로 부정확하게 추론되지 않을 것이고, dQP가 제로인 것으로 추론되고 QP 예측자가 또한 제로일 때, 양자화 블록에 대한 무손실 코딩 모드의 자동적인 추론을 회피할 것이다.
본 발명의 제 2 예에 따라, dQP가 시그널링되는 인스턴스들의 수를 제한하기 위해, 비디오 인코더(20)는, 양자화 블록에 대한 QP 예측자가 제로인 경우에 양자화 블록에 대한 dQP를 시그널링하도록 구성된다. 현재 양자화 블록에 대한 QP 예측자가 제로인 예가 도 4에 도시된다. 도 4의 예에서, 블록(104)에 대한 QP 예측자가 제로와 동일한데, 왜냐하면 위의 블록 및 좌측 블록 양자에 대한 QP가 제로이기 때문이다. 따라서, 본 발명의 이러한 예에 따라, dQP는 양자화 블록이 제로 블록인지 여부와 상관없이 양자화 블록(104)에 대해 시그널링된다. 그렇지 않다면, QP 예측자가 양자화 블록(104)에 대해 비-제로이면, 양자화 블록이 제로 블록인 경우에 어떠한 dQP도 양자화 블록(104)에 대해 시그널링되지 않는다.
다른 예에서, 현재 양자화 블록이 제로 블록인지 여부와 상관없이, 현재 양자화 블록의 QP 예측에 사용되는 QP들(예를 들면, 위의 또는 좌측 양자화 블록의 QP들) 중 하나가 제로와 동일한 경우 또는 QP 예측에 사용되는 QP들 사이의 차이가 일정 임계치보다 작거나 더 큰 경우에 dQP가 양자화 블록에 대해 시그널링되고, 여기서 그러한 임계치는 임의의 정수일 수 있다. 그렇지 않다면, 양자화 블록이 제로 블록이면, dQP가 시그널링되지 않는다. 물론, 양자화 블록이 비-제로 계수들을 포함하면, dQP가 여전히 시그널링된다. 임계치는 고정되거나, 헤더, 예를 들면, PPS, 슬라이스 헤더 또는 APS에서 시그널링될 수 있다. 다른 예들에서, 임계치는 LCU 또는 CU 레벨들에서 시그널링될 수 있다.
본 발명의 다른 예에서, 제로 QP를 사용함으로써 블록에 대한 무손실 코딩 모드를 표시하기보다는, 비디오 인코더(20)는 블록이 무손실 코딩 모드로 코딩된다는 것을 나타내기 위해 별개의 플래그 또는 신택스 엘리먼트를 인코딩하도록 구성될 수 있다. 일 예에서, 그러한 플래그는 "무손실 플래그"로 불릴 수 있다. 무손실 플래그들을 사용할 때, 앞선 dQP 시그널링의 예들 모두가 여전히 적용 가능하다.
예를 들면, 현재 양자화 블록이 제로 블록인 경우에, QP 예측에 사용된 양자화 블록들(예를 들면, 앞선 예들에서 좌측 및 위의 양자화 블록들) 중 하나(또는 다른 예에서 모두)가 무손실 코딩 모드에서 코딩되면(즉, 무손실 플래그가 QP 예측에 사용되는 양자화 블록에 대해 온(on)이면), dQP가 양자화 블록에 대해 시그널링된다. 그러나, 무손실 플래그가 양자화 블록에 대한 무손실 코딩 모드를 식별하는데 사용되면, 무손실로 코딩된 양자화 블록에 대해 QP를 제로로 설정하는 것은 최적의 옵션이 아닐 수 있는데, 왜냐하면 이러한 QP 값이 연속적인 양자화 블록들의 QP 값들을 예측하기 위해 나중에 사용될 것이기 때문이다. QP에 비-제로가 할당된 무손실로 코딩된 좌측 및 위의 양자화 블록들의 일 예(즉, 비-제로 QP가 무손실 코딩된 양자화 블록들에 할당되는 예)가 도 5에 도시된다. 도 5에 도시된 바와 같이, 현재 양자화 블록(106)에 대해 좌측(QPleft) 및 위의(QPabove) 양자화 블록들은 비-제로 QP를 갖지만, 각각은 무손실 코딩 모드(무손실 플래그 = 1로 표시됨)에서 코딩된다.
본 발명의 다른 예에 따라, 양자화 블록이 무손실 플래그(예를 들면, 도 5에 도시된 바와 같이 QPleft 및 QPabove)에 의해 표시된 바와 같이 무손실 코딩 모드에서 코딩되면, 양자화 블록의 QP 예측자와 동일한 QP 값은 그 블록에 대한 현재 QP로서 설정될 수 있다. 예를 들면, 도 5의 QPabove에 대해, 블록이 무손실로 코딩되기 때문에 블록에 대해 제로의 QP 값을 사용하는 대신에, QPabove에 대해 QP 예측자(QPabove의 좌측 및 위의 블록들의 평균 QP들)가 현재 QP로서 사용될 수 있다. 이러한 방식으로, 비-제로 QP 값이 연속적인 양자화 블록들에 대해 QP 예측자로서 사용하도록 이용 가능할 수 있고, 따라서 잠재적인 인코더/디코더 미스매치를 회피한다. 다른 예에서, 무손실 플래그를 사용하는 것으로 표시되는, 무손실 코딩된 양자화 블록의 QP 값은 또한 슬라이스 QP 또는 임의의 다른 미리 정의된 QP와 동일하게 설정될 수 있다.
위의 설명에서, 무손실 플래그가 양자화 블록 레벨에서 시그널링되는 것으로 설명되었다. 본 발명의 다른 예로서, 비디오 인코더(20)는 양자화 블록 내부의 모든 CU마다 무손실 플래그를 시그널링하도록 구성될 수 있다. 이러한 경우에, 상술된 기술들 모두가 여전히 적용 가능하다. 예를 들면, 양자화 블록 내부의 CU가 무손실로 코딩되는 경우에, dQP 시그널링이 스킵될 수 있고, dQP의 값은 비디오 디코더(30)에서 제로인 것으로 추론된다. 이로써, QP 예측자는 이러한 무손실 CU에 대한 QP로서 도출되고, 후속 블록들의 QP 값들을 예측하는데 사용될 것이다. 이러한 경우에, dQP 시그널링은, CU에서 비-제로 잔여물이 존재하는지 여부와 상관없이 무손실 CU에 대해 스킵된다.
본 발명의 다른 예에서, 양자화 블록 무손실 플래그가 양자화 블록에 대해 시그널링될 수 있다. 예를 들면, 1로 설정될 때, 양자화 블록 레벨 무손실 플래그는, 양자화 블록 내부의 적어도 하나의 CU가 무손실로 코딩된다는 것을 나타낸다. 양자화 블록 레벨 무손실 플래그가 예를 들면, 1의 값을 갖는다면, 특정 CU가 무손실로 코딩되는지 여부를 나타내는 CU 무손실 플래그가 양자화 블록 내부의 모든 CU에 대해 시그널링된다. 그렇지 않다면, 양자화 블록 무손실 플래그가 0이면(즉, 양자화 블록 내의 어떠한 무손실로 코딩된 CU들이 없음), 양자화 블록 내부의 모든 CU에 대해 어떠한 CU 무손실 플래그도 필요로 되지 않는다.
다른 예에서, 2 개의 레벨(양자화 블록 기반 및 CU 기반) 무손실 플래그들을 사용할 때, 시그널링 효율이 추가로 개선될 수 있다. 양자화 블록 레벨 무손실 플래그가 인에이블되고(예를 들면, 1의 값을 가짐), 마지막 CU가 도착되고, 현재 양자화 블록에 대한 마지막 CU 전에 코딩된 어떠한 CU 레벨 무손실 플래그들도 존재하지 않는다면, 마지막 CU에 대한 CU 무손실 플래그의 시그널링이 스킵될 수 있다. 이것은, 양자화 블록의 무손실 플래그가 적어도 하나의 무손실 코딩된 CU가 존재한다는 것을 나타내기 때문이며, 따라서, 본 예에서 마지막 CU가 무손실로 코딩되어야 한다고 추론될 수 있다. 그러나, 양자화 그룹에 대한 무손실 플래그가 디스에이블되면(예를 들면, 0의 값을 가짐) ― 양자화 블록 내부에 무손실 코딩된 어떠한 CU들도 존재하지 않는다는 것을 의미함 ― , CU 기반 무손실 플래그 시그널링은 현재 양자화 블록에 대해 생략될 수 있다.
무손실 플래그 및 시그널링 리던던시 제거를 코딩하기 위한 동일한 기술들은, 무손실 플래그가 상술된 바와 같이 추론될 수 있는 경우에, 프레임, 슬라이스, LCU 및/또는 비디오 코딩 프로세스의 다른 정의된 유닛들 또는 레벨들에 적용될 수 있다. 용어 "플래그"는 단일-비트 신택스 엘리먼트를 지칭할 수 있다. 또한, 플래그보다는, 다중-비트 신택스 엘리먼트, 가변 길이 신택스 엘리먼트, 또는 플래그에 대해 상술된 정보를 전달할 수 있는 다른 타입의 데이터 구조가 또한 사용될 수 있다.
HEVC에서 현재 제안된 dQP 시그널링 기술들에 관련된 제 2 단점을 되풀이하여, 비디오 디코더(30)는, 현재 양자화 블록에 대한 QP 예측자가 비-제로일 때 양자화 블록에 대한 무손실 코딩 모드를 정확히 식별하는 것이 불가할 수 있지만, 현재 양자화 블록은 무손실 모드에서 코딩되고 어떠한 잔여물도 갖지 않을 수 있다(즉, 잔여물에서 어떠한 비-제로 값들도 존재하지 않음). 이러한 상황에서, dQP 값은 전송되지 않고, 비디오 디코더(30)에 의해 제로인 것으로 추론된다. 이로써, 비디오 디코더(30)는 제로 dQP를 사용하여 비-제로 실제 QP 값을 재구성하고, 따라서 이러한 양자화 블록에 대한 무손실 모드를 식별하는 것이 불가할 것이다.
이러한 문제점을 해결하기 위해, 본 발명의 다른 예에 따라, 비디오 인코더(20)는, 그렇지 않다면 비디오 인코더(20)가 무손실 모드를 식별하는 것이 불가한 시나리오들을 제거하도록 구성될 수 있어서, 현재 양자화 블록에 대해 어떠한 예측 잔여물도 존재하지 않고, QP 예측자가 제로가 아니거나 QP 예측에 사용된 양자화 블록들이 무손실로 코딩될 때(예를 들면, 무손실 플래그가 온일 때), 비디오 인코더(20)는 특정 양자화 블록에 대해 무손실 코딩 모드를 선택하도록 간단히 허용되지 않는다. 이로써, 비디오 디코더(30)가 손실이 없는 양자화 블록에 대해 비-제로 QP를 결정하는 상황이 회피될 수 있다.
HEVC에서 dQP 시그널링에 대한 일부 제안들에 대한 다른 단점은 사용되는 단항 이진화 코딩(unary binarization coding)을 수반한다. HEVC에 대한 그러한 제안들에서, dQP는 트렁케이팅된(truncated) 단항 이진화를 사용하여 코딩된다. dQP 값은 -(26 + QpBdOffsetY/2) 내지 +(25 + QpBdOffsetY/2)의 범위일 수 있고, 여기서 QpBdOffsetY는, 0 내지 18일 수 있는 비트 심도 입력에 의존한다. 델타 QP 값들의 비대칭 분포로 인해, 트렁케이팅된 단항 이진화의 cMax는 dQP 값의 부호(sign)에 의존한다. 예를 들면, QpBdOffsetY가 제로와 동일하다고 가정하면, 값이 네거티브인 경우에 cMax는 26과 동일하고, cMax는 포지티브 값들에 대해 25와 동일하다. 결과적으로, 이것은 비디오 인코더(20) 및 비디오 디코더(30)가 dQP 코딩 및 파싱에서 부호를 체크하도록 요구한다. 부호 값에 의존하여, dQP 값을 코딩 및 파싱하는데 있어서 상이한 cMax 값이 사용된다.
이러한 복잡성을 감소시키기 위해, 본 발명은, 트렁케이팅된 단항 이진화에서 cMax 값이 부호와 상관없이 동일하도록 dQP 값의 범위를 변경함으로써 dQP 이진화에서 부호 의존성을 제거하는 것을 또한 제안한다. 예를 들면, 포지티브 dQP 값에 대해, 범위가 1만큼 증가될 수 있고, 전체 범위는 -(26 + QpBdOffsetY/2) 내지 +(26 + QpBdOffsetY/2)일 것이다. 이러한 경우에, 포지티브 및 네거티브 dQP 값들 둘 모두를 코딩 또는 파싱하기 위해 동일한 이진화가 사용되고, 부호 값의 어떠한 체크도 필요로 되지 않는다. 이러한 기술은 트렁케이팅된 단항 이진화에만 제한되지 않지만, 임의의 다른 이진화 방식, 예를 들면, 지수-골롬(Exponential-Golomb) 코딩 방법들에 적용될 수 있다.
도 6은 본 발명에 설명된 바와 같은 dQP 코딩을 위한 기술들을 사용할 수 있는 비디오 인코더(20)의 예를 예시하는 블록도이다. 비디오 인코더(20)는 예시의 목적으로 HEVC 코딩의 맥락에서 설명될 것이지만, 본 발명을 제한하지 않고 변환 계수들의 스캐닝을 요구할 수 있는 다른 코딩 표준들 또는 방법들에 관하여 설명될 것이다. 비디오 인코더(20)는 비디오 프레임들 내의 CU들의 인트라- 및 인터-코딩을 수행할 수 있다. 인트라-코딩은 공간 예측에 의존하여, 정해진 비디오 프레임 내의 비디오 데이터에서의 공간 리던던시를 감소시키거나 제거한다. 인터-코딩은 시간 예측에 의존하여, 비디오 시퀀스의 현재 프레임들과 이전에 코딩된 프레임들 간의 시간 리던던시를 감소시키거나 제거한다. 인트라-모드(I 모드)는 몇몇의 공간 기반 비디오 압축 모드들 중 임의의 것을 지칭할 수 있다. 인터-모드들, 예컨대, 단방향성 예측(P 모드) 또는 양방향성 예측(B 모드)은 몇몇의 시간 기반 비디오 압축 모드들 중 임의의 것을 지칭할 수 있다.
도 6에 도시된 바와 같이, 비디오 인코더(20)는 인코딩될 비디오 프레임 내에서 현재 비디오 블록을 수신한다. 도 6의 예에서, 비디오 인코더(20)는 모션 보상 유닛(44), 모션 추정 유닛(42), 인트라-예측 프로세싱 유닛(46), 참조 프레임 버퍼(64), 합산기(50), 변환 프로세싱 유닛(52), 양자화 유닛(54), 및 엔트로피 인코딩 유닛(56)을 포함한다. 도 6에 예시된 변환 프로세싱 유닛(52)은 잔여 데이터의 블록에 실제 변환 또는 변환의 조합들을 적용하는 유닛이고, CU의 변환 유닛(TU)으로 또한 지칭될 수 있는 변환 계수들의 블록과 혼동되지 않는다. 비디오 블록 재구성을 위해, 비디오 인코더(20)는 또한 역양자화 유닛(58), 역변환 프로세싱 유닛(60) 및 합산기(62)를 포함한다. 디블록킹 필터(도 6에 도시되지 않음)는 또한 재구성된 비디오로부터 블록 아티팩트들(blockiness artifacts)을 제거하기 위해 블록 경계들을 필터링하도록 포함될 수 있다. 원하는 경우, 디블록킹 필터가 통상적으로 합산기(62)의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더(20)는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들, 예를 들어 가장 큰 코딩 유닛(LCU)들로 분할될 수 있다. 모션 추정 유닛(42) 및 모션 보상 유닛(44)은 하나 이상의 참조 프레임들에서의 하나 이상의 블록들에 대해 수신된 비디오 블록의 인터 예측 코딩을 수행하여, 시간적 압축을 제공한다. 인트라 예측 프로세싱 유닛(46)은 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃 블록들에 대해 수신된 비디오 블록의 인트라 예측 코딩을 수행하여 공간적 압축을 제공할 수 있다.
모드 선택 유닛(40)은 예를 들어, 각각의 모드에 대한 에러(즉, 왜곡) 결과들에 기초하여, 코딩 모드들, 인트라 또는 인터 모드 중 하나를 선택하고, 결과적인 인트라- 또는 인터-예측된 블록(예를 들어, 예측 유닛(PU))을 합산기(50)에 제공하여 잔여 블록 데이터를 생성하고 합산기(62)에 제공하여 참조 프레임에서의 사용을 위해 인코딩된 블록을 재구성할 수 있다. 합산기(62)는, 이하에서 더 상세히 설명되는 바와 같이, 인코딩된 블록을 재구성하기 위해 블록에 대한 역변환 프로세싱 유닛(60)으로부터 역양자화, 역변환된 데이터와 예측된 블록을 결합한다. 일부 비디오 프레임들은 I-프레임들로서 지정될 수 있고, 여기서 I-프레임 내의 모든 블록들은 인트라-예측 모드로 인코딩된다. 일부 경우들에서, 인트라-예측 프로세싱 유닛(46)은 예를 들어, 모션 추정 유닛(42)에 의해 수행된 모션 검색이 블록의 충분한 예측을 초래하지 않는 경우, P- 또는 B-프레임에서 블록의 인트라-예측 인코딩을 수행할 수 있다.
모션 추정 유닛(42) 및 모션 보상 유닛(44)은 고도로 통합될 수 있으나, 개념적 목적으로 별개로 예시된다. 모션 추정(또는 모션 검색)은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 참조 프레임의 참조 샘플에 대한 현재 프레임에서의 예측 유닛의 변위(displacement)를 나타낼 수 있다. 모션 추정 유닛(42)은 참조 프레임 버퍼(64)에 저장된 참조 프레임의 참조 샘플들과 예측 유닛을 비교함으로써 인터-코딩된 프레임의 예측 유닛에 대한 모션 벡터를 계산한다. 참조 샘플은 픽셀 차이의 관점들에서 코딩되는 PU를 포함하는 CU의 일부에 긴밀하게 일치하는 것으로 발견되는 블록일 수 있으며, 이 픽셀 차이는 SAD(sum of absolute difference), SSD(sum of square difference), 또는 다른 차이 메트릭들에 의해 결정될 수 있다. 참조 샘플은 참조 프레임 또는 참조 슬라이스 내의 어디에서나 발생할 수 있고, 반드시 참조 프레임 또는 슬라이스의 블록(예를 들어, 코딩 유닛) 경계에서 발생하지는 않는다. 일부 예들에서, 참조 샘플은 프랙셔널(fractional) 픽셀 포지션에서 발생할 수 있다.
모션 추정 유닛(42)은 계산된 모션 벡터를 엔트로피 인코딩 유닛(56) 및 모션 보상 유닛(44)으로 전송한다. 모션 벡터에 의해 식별된 참조 프레임의 일부분은 참조 샘플로 지칭될 수 있다. 모션 보상 유닛(44)은, 예를 들어 PU에 대한 모션 벡터에 의해 식별된 참조 샘플을 리트리브함으로써 현재 CU의 예측 유닛에 대한 예측 값을 계산할 수 있다.
인트라-예측 프로세싱 유닛(46)은 모션 추정 유닛(42) 및 모션 보상 유닛(44)에 의해 수행된 인터 예측에 대한 대안으로서, 수신된 블록을 인트라-예측할 수 있다. 인트라-예측 프로세싱 유닛(46)은, 블록들에 대한 좌측에서 우측으로, 상부에서 하부로의 인코딩 순서를 가정하여, 이웃하는, 이전에 코딩된 블록들, 예를 들어 현재 블록의 위, 위 우측, 위 좌측, 또는 좌측으로의 블록들에 대해 수신된 블록을 예측할 수 있다. 인트라-예측 프로세싱 유닛(46)은 다양한 상이한 인트라-예측 모드들로 구성될 수 있다. 예를 들어, 인트라-예측 프로세싱 유닛(46)은 인코딩되고 있는 CU의 사이즈에 기초하여, 특정 수의 방향성 예측 모드들, 예를 들어 33 개의 방향성 예측 모드들로 구성될 수 있다.
인트라-예측 프로세싱 유닛(46)은, 예를 들어, 다양한 인트라-예측 모드들에 대한 에러 값들을 계산하고 최하위 에러 값을 산출하는 모드를 선택함으로써 인트라-예측 모드를 선택할 수 있다. 방향성 예측 모드들은 공간적으로 이웃하는 픽셀들의 값들을 결합하고 이 결합된 값들을 PU의 하나 이상의 픽셀 포지션들에 적용하기 위한 함수들을 포함할 수 있다. 일단, PU의 모든 픽셀 포지션들에 대한 값들이 계산되었으면, 인트라-예측 프로세싱 유닛(46)은 인코딩될 수신된 블록과 PU 간의 픽셀 차이들에 기초하여 예측 모드에 대한 에러 값을 계산할 수 있다. 인트라-예측 프로세싱 유닛(46)은, 허용 가능한 에러 값을 산출하는 인트라-예측 모드가 발견될 때까지 인트라-예측 모드들을 테스트하는 것을 계속할 수 있다. 이어서, 인트라-예측 프로세싱 유닛(46)은 PU를 합산기(50)로 전송할 수 있다.
비디오 인코더(20)는 코딩되고 있는 오리지널 비디오 블록으로부터 모션 보상 유닛(44) 또는 인트라-예측 프로세싱 유닛(46)에 의해 계산된 예측 데이터를 감산함으로써 잔여 블록을 형성한다. 합산기(50)는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 잔여 블록은 픽셀 차이 값들의 2 차원 행렬에 대응할 수 있고, 여기서 잔여 블록에서의 값들의 수는 잔여 블록에 대응하는 PU에서의 픽셀들의 수와 동일하다. 잔여 블록에서의 값들은 코딩될 오리지널 블록에서 그리고 PU에서의 콜로케이팅된(co-located) 픽셀들의 값들 간의 차이들, 즉 에러에 대응할 수 있다. 이 차이들은 코딩되는 블록의 타입에 따라 크로마 또는 루마 차이들일 수 있다.
일부 예들에서, 예를 들면, 무손실 코딩 모드에서, 잔여물은 엔트로피 인코딩 유닛(56)으로 직접적으로 전송될 수 있다. 이로써, 변환 및 양자화 프로세스들이 스킵된다. 또한, 임의의 루프 필터 프로세스들이 또한 스킵될 수 있다.
변환 프로세싱 유닛(52)은 잔여 블록으로부터 하나 이상의 변환 유닛(TU)들을 형성할 수 있다. 변환 프로세싱 유닛(52)은 복수의 변환들 중에서 변환을 선택한다. 이 변환은 하나 이상의 코딩 특성들, 예컨대 블록 크기, 코딩 모드 등에 기초하여 선택될 수 있다. 이어서, 변환 프로세싱 유닛(52)은 선택된 변환을 TU에 적용하여, 변환 계수들의 2 차원 어레이를 포함하는 비디오 블록을 생성한다.
변환 프로세싱 유닛(52)은 결과적인 변환 계수들을 양자화 유닛(54)으로 전송할 수 있다. 이어서, 양자화 유닛(54)은 변환 계수들을 양자화할 수 있다. 이어서, 엔트로피 인코딩 유닛(56)은 스캐닝 모드에 따라 행렬 내의 양자화된 변환 계수들의 스캔을 수행할 수 있다. 본 발명은 스캔을 수행하는 것으로서 엔트로피 인코딩 유닛(56)을 설명한다. 그러나, 다른 예들에서, 다른 프로세싱 유닛들, 예컨대 양자화 유닛(54)이 스캔을 수행할 수 있는 것으로 이해되어야 한다. 양자화 유닛(56)은 상술된 기술들에 따라 dQP 값들을 코딩하도록 구성될 수 있다. 이와 관련하여 양자화 유닛(56)의 기능의 부가적인 설명이 도 8을 참조하여 아래에 논의될 것이다.
일단 변환 계수들이 1 차원 어레이로 스캐닝되면, 엔트로피 인코딩 유닛(56)은 엔트로피 코딩, 예컨대 CABAC, SBAC(syntax-based context-adaptive binary arithmetic coding), PIPE(Probability Interval Partitioning Entropy) 또는 다른 엔트로피 코딩 방법을 계수들에 적용할 수 있다.
CABAC를 수행하기 위해, 엔트로피 인코딩 유닛(56)은 송신될 심볼들을 인코딩하기 위해 특정 콘텍스트를 적용할 콘텍스트 모델을 선택할 수 있다. 이 콘텍스트는, 예를 들어, 이웃하는 값들이 비-제로(non-zero)인지 여부에 관련될 수 있다. 엔트로피 인코딩 유닛(56)은 또한, 선택된 변환을 나타내는 신호와 같은 신택스 엘리먼트들을 엔트로피 인코딩할 수 있다. 본 발명의 기술들에 따라, 엔트로피 인코딩 유닛(56)은 콘텍스트 모델 선택에 사용된 다른 팩터들 중에서, 예를 들어, 인트라-예측 모드들에 대한 인트라-예측 방향, 신택스 엘리먼트들에 대응하는 계수의 스캔 포지션, 블록 타입 및/또는 변환 타입에 기초하여 이들 신택스 엘리먼트들을 인코딩하는데 사용된 콘텍스트 모델을 선택할 수 있다.
엔트로피 인코딩 유닛(56)에 의한 엔트로피 코딩에 후속하여, 결과적인 인코딩된 비디오가 다른 디바이스, 예컨대 비디오 디코더(30)로 송신될 수 있고, 또는 추후 전송 또는 리트리벌(retrieval)을 위해 보관(archive)될 수 있다.
일부 경우들에서, 엔트로피 인코딩 유닛(56) 또는 비디오 인코더(20)의 다른 유닛은 엔트로피 코딩에 추가하여, 다른 코딩 기능들을 수행하도록 구성될 수 있다. 예를 들어, 엔트로피 인코딩 유닛(56)은 CU들 및 PU들에 대한 코딩된 블록 패턴(coded block pattern; CBP) 값들을 결정하도록 구성될 수 있다. 또한, 일부 경우들에서, 엔트로피 인코딩 유닛(56)은 계수들의 런 길이 코딩(run length coding)을 수행할 수 있다.
역양자화 유닛(58) 및 역변환 프로세싱 유닛(60)은, 예를 들면, 참조 블록으로서의 추후 사용을 위해 픽셀 도메인에서 잔여 블록을 재구성하도록, 역양자화 및 역변환을 각각 적용한다. 모션 보상 유닛(44)은 잔여 블록을 참조 프레임 버퍼(64)의 참조 프레임들 중 하나의 예측 블록에 가산함으로써, 참조 블록을 계산할 수 있다. 모션 보상 유닛(44)은 또한 모션 추정에서의 사용을 위한 서브-정수 픽셀 값들을 계산하기 위해 하나 이상의 보간 필터들을 재구성된 잔여 블록에 적용할 수 있다. 합산기(62)는 재구성된 잔여 블록을 모션 보상 유닛(44)에 의해 생성된 모션 보상된 예측 블록에 가산하여, 참조 프레임 버퍼(64) 내의 저장을 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은 후속 비디오 프레임 내의 블록을 인터-코딩하기 위해 참조 블록으로서 모션 추정 유닛(42) 및 모션 보상 유닛(44)에 의해 사용될 수 있다.
도 7은 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더(30)의 예를 예시하는 블록도이다. 도 7의 예에서, 비디오 디코더(30)는 엔트로피 디코딩 유닛(70), 모션 보상 유닛(72), 인트라-예측 프로세싱 유닛(74), 역양자화 유닛(76), 역변환 유닛(78), 참조 프레임 버퍼(82) 및 합산기(80)를 포함한다. 비디오 디코더(30)는 일반적으로, 일부 예들에서 비디오 인코더(20)(도 6 참조)에 대하여 설명된 인코딩 과정과는 상반되는 디코딩 과정을 수행할 수 있다.
엔트로피 디코딩 유닛(70)은 인코딩된 비트스트림 상에서 엔트로피 디코딩 프로세스를 수행하여 변환 계수들의 1 차원 어레이를 리트리브한다. 사용된 엔트로피 디코딩 프로세스는 비디오 인코더(20)에 의해 사용된 엔트로피 코딩(예를 들어, CABAC)에 의존한다. 인코더에 의해 사용된 엔트로피 코딩 프로세스는 인코딩된 비트스트림으로 시그널링될 수 있거나 미리결정된 프로세스일 수 있다.
일부 예들에서, 예를 들면, 무손실 코딩 모드에서, 출력(즉, 본 예에서 잔여물)은 엔트로피 디코딩 유닛(70)으로부터 합산기(80)로 직접적으로 전송될 수 있다. 이로써, 역변환 및 양자화 프로세스들이 스킵된다. 게다가, 임의의 루프 필터 프로세스들이 또한 스킵될 수 있다.
일부 예들에서, 엔트로피 디코딩 유닛(70)(또는 역양자화 유닛(76))은 비디오 인코더(20)의 엔트로피 인코딩 유닛(56)(또는 양자화 유닛(54))에 의해 사용된 스캐닝 모드를 미러링하는 스캔을 사용하여 수신된 값들을 스캔할 수 있다. 계수들의 스캐닝이 역양자화 유닛(76)에서 수행될 수 있으나, 스캐닝은 엔트로피 디코딩 유닛(70)에 의해 수행되는 바와 같이 예시의 목적으로 설명될 것이다. 또한, 예시의 용이함을 위해 별개의 기능 유닛들로서 도시되었으나, 엔트로피 디코딩 유닛(70), 역양자화 유닛(76), 및 비디오 디코더(30)의 다른 유닛들의 기능 및 구조는 서로 고도로 통합될 수 있다.
역양자화 유닛(76)은 비트스트림으로 제공되고 엔트로피 디코딩 유닛(70)에 의해 디코딩된 양자화된 변환 계수들을 역양자화, 즉, 양자화 해제(de-quantize)한다. 역양자화 프로세스는, 예를 들어 HEVC에 대해 제안되거나 H.264 디코딩 표준에 의해 정의된 프로세스들과 유사한 종래의 프로세스를 포함할 수 있다. 역양자화 프로세스는, 적용되어야 할 양자화 정도 및, 마찬가지로, 역양자화의 정도를 결정하기 위해 CU에 대한 비디오 인코더(20)에 의해 계산된 양자화 파라미터(QP)의 사용을 포함할 수 있다. 역양자화 유닛(76)은, 계수들이 1 차원 어레이로부터 2 차원 어레이로 변환되기 전 또는 후 중 어느 하나에서 변환 계수들을 역양자화할 수 있다. 역양자화 유닛(76)은 상술된 기술들에 따라 dQP 값들을 디코딩하도록 구성될 수 있다. 이와 관련하여 역양자화 유닛(76)의 기능의 부가적인 설명은 도 9를 참조하여 아래에 논의될 것이다.
역변환 프로세싱 유닛(78)은 역변환을 역양자화된 변환 계수들에 적용한다. 일부 예들에서, 역변환 프로세싱 유닛(78)은 비디오 인코더(20)로부터의 시그널링에 기초하여 또는 하나 이상의 코딩 특성들, 예컨대, 블록 크기, 코딩 모드 등으로부터 변환을 추론함으로써 역변환을 결정할 수 있다. 일부 예들에서, 역변환 프로세싱 유닛(78)은 현재 블록을 포함하는 LCU에 대한 쿼드트리의 루트 노드에서 시그널링된 변환에 기초하여 현재 블록에 적용할 변환을 결정할 수 있다. 대안적으로, 변환은 LCU 쿼드트리 내의 리프-노드 CU에 대해 TU 쿼드트리의 루트에서 시그널링될 수 있다. 일부 예들에서, 역변환 프로세싱 유닛(78)은 캐스케이딩된 역변환을 적용할 수 있고, 여기서 역변환 프로세싱 유닛(78)은 2 개 이상의 역변환들을 디코딩되는 현재 블록의 변환 계수들에 적용한다.
인트라-예측 프로세싱 유닛(74)은 시그널링된 인트라-예측 모드 및 현재 프레임의 이전에 디코딩된 블록들로부터의 데이터에 기초하여 현재 프레임의 현재 블록에 대한 예측 데이터를 생성할 수 있다.
모션 보상 유닛(72)은 인코딩된 비트스트림으로부터 모션 벡터, 모션 예측 방향 및 참조 인덱스를 리트리브할 수 있다. 참조 예측 방향은, 인터-예측 모드가 단방향성(예를 들면, P 프레임) 또는 양방향성(B 프레임)인지를 나타낸다. 참조 인덱스는 후보 모션 벡터가 어느 참조 프레임에 기초하는지를 나타낸다.
리트리브된 모션 예측 방향, 참조 프레임 인덱스 및 모션 벡터에 기초하여, 모션 보상 유닛은 현재 부분에 대한 모션 보상된 블록을 생성한다. 이러한 모션 보상된 블록들은 근본적으로 잔여 데이터를 생성하는데 사용되는 예측 블록을 재생성한다.
모션 보상 유닛(72)은 모션 보상된 블록들을 생성하여, 가능하게는 보간 필터들에 기초하여 보간을 수행할 수 있다. 서브-픽셀 정밀도로 모션 추정에 사용될 보간 필터들에 대한 식별자들은 신택스 엘리먼트들에 포함될 수 있다. 모션 보상 유닛(72)은 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안에 비디오 인코더(20)에 의해 사용되는 보간 필터들을 사용할 수 있다. 모션 보상 유닛(72)은 수신된 신택스 정보에 따라 비디오 인코더(20)에 의해 사용되는 보간 필터들을 결정하고, 예측 블록들을 생성하기 위해 보간 필터들을 사용할 수 있다.
부가적으로, HEVC 예에서, 모션 보상 유닛(72) 및 인트라-예측 프로세싱 유닛(74)은 (예를 들어, 쿼드트리에 의해 제공된) 신택스 정보의 일부를 사용하여, 인코딩된 비디오 시퀀스의 프레임(들)을 인코딩하는데 사용된 LCU들의 크기들을 결정할 수 있다. 모션 보상 유닛(72) 및 인트라-예측 프로세싱 유닛(74)은 또한, 인코딩된 비디오 시퀀스의 프레임의 각각의 CU가 분할되는 방법(및, 마찬가지로 서브-CU들이 분할되는 방법)을 설명하는 분할 정보를 결정하기 위해 신택스 정보를 사용할 수 있다. 신택스 정보는 또한, 각각의 분할이 인코딩되는 방법을 나타내는 모드들(예를 들어, 인트라- 또는 인터-예측, 및 인트라-예측에 대해 인트라-예측 인코딩 모드), 각각의 인터-인코딩된 PU에 대한 하나 이상의 참조 프레임들(및/또는 참조 프레임들에 대한 식별자들을 포함하는 참조 리스트들), 및 다른 정보를 포함하여, 인코딩된 비디오 시퀀스를 디코딩할 수 있다.
합산기(80)는 모션 보상 유닛(72) 또는 인트라-예측 프로세싱 유닛(74)에 의해 생성된 대응하는 예측 블록들과 잔여 블록들을 결합하여, 디코딩된 블록들을 형성한다. 원한다면, 블록 아티팩트(blockiness artifact)들을 제거하기 위해 디코딩된 블록들을 필터링하도록 디블록킹 필터가 또한 적용될 수 있다. 이어서, 디코딩된 비디오 블록들은 참조 프레임 버퍼(82)(또한 디코딩된 픽처 버퍼로 지칭됨)에 저장되는데, 이 버퍼는 후속 모션 보상을 위해 참조 블록들을 제공하고 또한 디스플레이 디바이스(예컨대, 도 1의 디스플레이 디바이스(32)) 상의 표시를 위해 디코딩된 비디오를 생성한다.
도 8은 본 발명의 기술들에 따른 예시적인 비디오 인코딩 방법을 도시한 흐름도이다. 도 8의 기술들은 양자화 유닛(56)을 포함하여 비디오 인코더(20)의 하나 이상의 하드웨어 유닛들에 의해 수행될 수 있다.
본 발명의 일 예에서, 양자화 유닛(56)은 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하고(810), QP 및 QP 예측자에 기초하여 비디오 데이터의 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP) 값을 결정하고(820), dQP 값을 생성(830) ― 현재 양자화 블록에서 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 시그널링됨 ―하도록 구성될 수 있다. 본 발명의 다양한 예들에서, QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 여기서 위의 양자화 블록은 현재 양자화 블록 위에 위치되고, 여기서 좌측 양자화 블록은 현재 양자화 블록의 좌측에 위치된다. 비디오 인코더(20)는 결정된 QP 값을 사용하여 현재 양자화 블록을 인코딩하도록 추가로 구성될 수 있다(840).
본 발명의 일 예에서, 비디오 인코더(20)는 양자화 그룹(QG) 크기를 생성하도록 추가로 구성될 수 있고, 여기서 현재 양자화 블록은 QG 크기와 동일하거나 더 작은 크기를 갖는 하나 이상의 코딩 유닛들(CU들) 또는 QG 크기보다 더 큰 크기를 갖는 CU를 포함한다.
본 발명의 다른 예에서, 양자화 유닛(56)은, 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 생성하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
본 발명의 다른 예에서, 양자화 유닛(56)은, 현재 양자화 블록에 대한 QP 예측자를 결정하는데 사용된 하나의 QP 값이 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 생성하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
본 발명의 다른 예에서, 양자화 유닛(56)은, QP 예측자를 결정하는데 사용되는 2 개의 QP 값들 사이의 차이가 임계치보다 더 큰 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 생성하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
본 발명의 다른 예에서, 양자화 유닛(56)은 QP 예측자를 결정하는데 사용되는 2 개의 QP 값들 사이의 차이가 임계치보다 더 작은 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 생성하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 구성될 수 있다.
본 발명의 다른 예에서, 양자화 유닛(56)은 PPS(picture parameter set), APS(adaptation parameter set), 슬라이스 헤더, LCU(largest coding unit) 헤더 및 CU 헤더 중 하나 이상에서 상술된 임계치들 중 임의의 것을 생성하도록 구성될 수 있다.
본 발명의 다른 예에서, 비디오 인코더(20)는, 현재 양자화 블록이 무손실 코딩 모드를 사용하여 인코딩되었다는 것을 나타내는 무손실 플래그를 생성하고, 무손실 코딩 모드에 따라 사용하여 현재 양자화 블록을 인코딩하도록 구성될 수 있다.
본 발명의 다른 예에서, 양자화 유닛(56)은, 무손실 플래그가 현재 양자화 블록에 대해 수신되는 경우에, 현재 양자화 블록에 대해 QP 값을 QP 예측자와 동일하도록 할당하도록 구성될 수 있고, 여기서 QP 값은 후속 QP 예측을 위해 사용된다.
본 발명의 다른 예에서, 비디오 인코더(20)는, 현재 양자화 블록이 2 개 이상의 CU들을 포함하는 경우에서, 현재 양자화 블록에서 수신된 무손실 플래그가 양자화 블록들 내의 하나 이상의 CU들이 무손실 코딩 모드를 사용하여 인코딩되었다는 것을 나타내는 경우에 2 개 이상의 CU들 각각에서 무손실 플래그를 생성하도록 구성될 수 있다.
본 발명의 다른 예에서, 비디오 인코더(20)는 dQP 값의 부호를 체크하지 않고 트렁케이팅된 단항 이진화 기술을 사용하여 dQP 값을 인코딩하도록 구성될 수 있다.
본 발명의 다른 예에서, 비디오 인코더(20)는, 현재 양자화 블록이 어떠한 예측 잔여물도 갖지 않고 현재 양자화 블록에 대한 QP 예측자가 비-제로인 경우에 현재 양자화를 위해 무손실 코딩 모드를 선택하지 않도록 구성될 수 있다.
본 발명의 다른 예에서, 비디오 인코더(20)는, 현재 양자화 블록이 어떠한 예측 잔여물도 갖지 않고 현재 양자화 블록에 대한 QP 예측자를 결정하는데 사용되는 하나 이상의 양자화 블록들이 무손실 코딩 모드에서 코딩되는 경우에, 현재 양자화를 위해 무손실 코딩 모드를 선택하지 않도록 구성될 수 있다.
도 9는 본 발명의 기술들에 따른 예시적인 비디오 디코딩 방법을 도시한 흐름도이다. 도 9의 기술들은 역양자화 유닛(76)을 포함하여 비디오 디코더(30)의 하나 이상의 하드웨어 유닛들에 의해 수행될 수 있다.
본 발명의 일 예에서, 역양자화 유닛(76)은 비디오 데이터의 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP) 값을 수신하고(910) ― 현재 양자화 블록에서 비-제로 변환 계수들이 존재하든지 아니든지 간에 dQP 값이 수신됨 ― , 수신된 dQP 값 및 QP 예측자에 기초하여 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정(920)하도록 구성될 수 있다. 본 발명의 다양한 예들에서, QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 여기서 위의 양자화 블록은 현재 양자화 블록 위에 위치되고, 여기서 좌측 양자화 블록은 현재 양자화 블록의 좌측에 위치된다. 비디오 디코더(30)는 결정된 QP 값을 사용하여 현재 양자화 블록을 디코딩하도록 추가로 구성될 수 있다(930).
본 발명의 다른 예에서, 역양자화 유닛(76)은 양자화 그룹(QG) 크기를 수신하도록 추가로 구성될 수 있고, 여기서 현재 양자화 블록은 QG 크기와 동일하거나 그보다 더 작은 크기를 갖는 하나 이상의 코딩 유닛들(CU들) 또는 QG 크기보다 더 큰 크기를 갖는 CU를 포함한다.
본 발명의 다른 예에서, 역양자화 유닛(76)은, 현재 양자화 블록에 대한 QP 예측자가 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 역양자화 유닛(76)은, 현재 양자화 블록에 대한 QP 예측자를 결정하는데 사용된 하나의 QP 값이 제로의 값을 갖는 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에, dQP 값을 제로인 것으로 추론하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 역양자화 유닛(76)은, QP 예측자를 결정하는데 사용된 2 개의 QP 값들 사이의 차이가 임계치보다 더 큰 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 역양자화 유닛(76)은, QP 예측자를 결정하는데 사용된 2 개의 QP 값들 사이의 차이가 임계치보다 더 작은 경우에만 비디오 데이터의 현재 양자화 블록에 대한 dQP 값을 수신하고, 현재 양자화 블록에 대한 QP 예측자가 비-제로 값을 갖고 현재 양자화 블록에 어떠한 비-제로 변환 계수들도 존재하지 않는 경우에 dQP 값을 제로인 것으로 추론하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 역양자화 유닛(76)은 PPS(picture parameter set), APS(adaptation parameter set), 슬라이스 헤더, LCU(largest coding unit) 헤더 및 CU 헤더 중 하나 이상에서 상술된 임계치들 중 임의의 것을 수신하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 비디오 디코더(30)는, 현재 양자화 블록이 무손실 코딩 모드를 사용하여 인코딩되었다는 것을 나타내는 무손실 플래그를 수신하고, 무손실 코딩 모드에 따라 사용하는 현재 양자화 블록을 디코딩하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 역양자화 유닛(76)은, 무손실 플래그가 현재 양자화 블록에 대해 수신되는 경우에 현재 양자화 블록에 대해 QP 값을 QP 예측자와 동일하도록 할당하도록 추가로 구성될 수 있고, 여기서 QP 값은 후속 QP 예측을 위해 사용된다.
본 발명의 다른 예에서, 비디오 디코더(30)는, 현재 양자화 블록에서 수신된 무손실 플래그가 양자화 블록들 내의 하나 이상의 CU들이 무손실 코딩 모드를 사용하여 인코딩되었다는 것을 나타내는 경우에 2 개 이상의 CU들 각각에서 무손실 플래그를 수신하도록 추가로 구성될 수 있다.
본 발명의 다른 예에서, 비디오 디코더(30)는 dQP 값의 부호를 체크하지 않고 트렁케이팅된 단항 이진화 기술을 사용하여 dQP 값을 디코딩하도록 추가로 구성될 수 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능 매체 상에 저장되거나 또는 컴퓨터-판독가능 매체를 통해서 송신될 수 있으며, 하드웨어-기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터-판독가능 매체들은 데이터 저장 매체들 같은 유형의(tangible) 매체에 대응하는 컴퓨터-판독가능 저장 매체들, 또는 예를 들면, 통신 프로토콜에 따라서 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들을 포함할 수 있다. 이러한 방법으로, 컴퓨터-판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터-판독가능 저장 매체들 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체들은 본 발명에 설명되는 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 리트리브하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수 있다.
비제한적인 예로서, 이런 컴퓨터-판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선(DSL), 또는 무선 기술들, 예컨대, 적외선, 라디오, 및 마이크로파를 이용하여 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 무선 기술들, 예컨대, 적외선, 라디오, 및 마이크로파가 그 매체의 정의에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체들 및 데이터 저장 매체들은 접속부들, 캐리어 파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비-일시적인 유형의 저장 매체들에 관련된다는 것이 이해되어야 한다. 본원에 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(compact disc; CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(digital versatile disc; DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크들(disks)은 일반적으로 데이터를 자기적으로 재생하지만, 디스크들(discs)은 레이저들을 사용하여 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들(DSP들), 범용 마이크로프로세서들, 주문형 집적회로들(ASIC들), 필드 프로그래밍가능 로직 어레이들(FPGA들), 또는 다른 등가의 통합 또는 이산 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 본원에 사용된 바와 같이, 용어 “프로세서"는 전술한 구조 중 임의의 구조 또는 본원에서 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수 있다. 게다가, 일부 양상들에서, 본원에 설명된 기능은 전용 하드웨어 및/또는 인코딩 및 디코딩을 위해 구성되는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수 있다. 또한, 이 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 발명의 기술들은 무선 핸드셋, 집적 회로(IC) 또는 IC들의 세트(예를 들면, 칩 셋)를 포함하는, 매우 다양한 디바이스들 또는 장치들로 구현될 수 있다. 개시된 기술들을 수행하도록 구성되는 디바이스들의 기능적 양상들을 강조하기 위해서 다양한 컴포넌트들, 모듈들, 또는 유닛들이 본 발명에 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 오히려, 위에서 설명한 바와 같이, 다양한 유닛들이 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호 동작하는 하드웨어 유닛들의 콜렉션에 의해 제공될 수 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음 청구항들의 범위 내에 있다.

Claims (56)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    비디오 데이터의 현재 블록에 대한 무손실 코딩 신택스(syntax) 엘리먼트를 수신하는 단계 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 양자화 파라미터(QP: quantization parameter) 값과 별개임 ―;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하는 단계;
    상기 현재 양자화 블록에 대해 제로(zero)의 델타 양자화 파라미터(dQP: delta quantization parameter) 값을 할당하는 단계 ― 상기 dQP 값은 상기 QP 값과 QP 예측자(Predictor)의 값 간의 차이임 ―;
    할당된 dQP 값 및 상기 QP 예측자에 기초하여 상기 현재 양자화 블록에 대한 QP 값을 결정하는 단계; 및
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 디코딩하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    비디오 데이터의 상기 현재 블록은 비디오 데이터의 코딩 유닛(CU: coding unit)이고,
    상기 방법은,
    양자화 그룹(QG: quantization group) 크기를 결정하는 단계; 및
    상기 CU가 상기 QG 크기와 동일하거나 또는 그보다 큰 크기를 가짐을 결정하는 단계를 더 포함하는,
    비디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 방법은, 상기 할당된 dQP 값을 상기 QP 예측자의 값에 부가(add)함으로써 상기 QP 값을 결정하는 단계를 더 포함하고,
    상기 QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 상기 위의 양자화 블록은 상기 현재 양자화 블록 위에 위치되고, 그리고 상기 좌측 양자화 블록은 상기 현재 양자화 블록의 좌측에 위치되는,
    비디오 데이터를 디코딩하는 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 결정된 QP 값을 사용하여 비디오 데이터의 다른 블록에 대한 QP 예측을 수행하는 단계를 더 포함하는,
    비디오 데이터를 디코딩하는 방법.
  11. 삭제
  12. 삭제
  13. 비디오 데이터를 인코딩하는 방법으로서,
    비디오 데이터의 현재 블록이 무손실 코딩 모드를 사용하여 인코딩될 것임을 결정하는 단계;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하는 단계;
    상기 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP)에 대한 제로 값 및 QP 예측자의 값에 기초하여 비디오 데이터의 상기 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하는 단계 ― 상기 dQP 값은 상기 QP 값과 상기 QP 예측자의 값 간의 차이임 ―;
    비디오 데이터의 상기 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 생성하는 단계 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 상기 QP 값과 별개임 ―; 및
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 인코딩하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  14. 제 13 항에 있어서,
    비디오 데이터의 상기 현재 블록은 비디오 데이터의 코딩 유닛(CU)이고,
    상기 방법은,
    양자화 그룹(QG) 크기를 결정하는 단계; 및
    상기 CU가 상기 QG 크기와 동일하거나 또는 그보다 큰 크기를 가짐을 결정하는 단계를 더 포함하는,
    비디오 데이터를 인코딩하는 방법.
  15. 제 13 항에 있어서,
    상기 방법은, 상기 dQP 값을 상기 QP 예측자의 값에 부가함으로써 상기 QP 값을 결정하는 단계를 더 포함하고,
    상기 QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 상기 위의 양자화 블록은 상기 현재 양자화 블록 위에 위치되고, 그리고 상기 좌측 양자화 블록은 상기 현재 양자화 블록의 좌측에 위치되는,
    비디오 데이터를 인코딩하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 제 13 항에 있어서,
    상기 결정된 QP 값을 사용하여 비디오 데이터의 다른 블록에 대한 QP 예측을 수행하는 단계를 더 포함하는,
    비디오 데이터를 인코딩하는 방법.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 비디오 데이터를 디코딩하도록 구성된 장치로서,
    상기 비디오 데이터를 저장하도록 구성되는 메모리; 및
    비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    상기 비디오 데이터의 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 수신하고 ― 상기 무손실 코딩 신택스 엘리먼트는 상기 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 양자화 파라미터(QP) 값과 별개임 ―;
    상기 비디오 데이터의 상기 현재 블록의 크기에 기초하여 상기 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하고;
    상기 현재 양자화 블록에 대해 제로의 델타 양자화 파라미터(dQP) 값을 할당하고 ― 상기 dQP 값은 상기 QP 값과 QP 예측자의 값 간의 차이임 ―;
    할당된 dQP 값 및 QP 예측자에 기초하여 상기 현재 양자화 블록에 대한 QP 값을 결정하고; 그리고
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 디코딩하도록 구성되는,
    비디오 데이터를 디코딩하도록 구성된 장치.
  28. 제 27 항에 있어서,
    상기 비디오 데이터의 상기 현재 블록은 상기 비디오 데이터의 코딩 유닛(CU)이고,
    상기 비디오 디코더는,
    양자화 그룹(QG) 크기를 결정하고; 그리고
    상기 CU가 상기 QG 크기와 동일하거나 또는 그보다 큰 크기를 가짐을 결정하도록 추가로 구성되는,
    비디오 데이터를 디코딩하도록 구성된 장치.
  29. 제 27 항에 있어서,
    상기 비디오 디코더는, 상기 할당된 dQP 값을 상기 QP 예측자의 값에 부가함으로써 상기 QP 값을 결정하도록 추가로 구성되고,
    상기 QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 상기 위의 양자화 블록은 상기 현재 양자화 블록 위에 위치되고, 그리고 상기 좌측 양자화 블록은 상기 현재 양자화 블록의 좌측에 위치되는,
    비디오 데이터를 디코딩하도록 구성된 장치.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 제 27 항에 있어서,
    상기 비디오 디코더는, 상기 결정된 QP 값을 사용하여 비디오 데이터의 다른 블록에 대한 QP 예측을 수행하도록 추가로 구성되는,
    비디오 데이터를 디코딩하도록 구성된 장치.
  37. 삭제
  38. 삭제
  39. 비디오 데이터를 인코딩하도록 구성된 장치로서,
    상기 비디오 데이터를 저장하도록 구성되는 메모리; 및
    비디오 인코더를 포함하고,
    상기 비디오 인코더는,
    상기 비디오 데이터의 현재 블록이 무손실 코딩 모드를 사용하여 인코딩될 것임을 결정하고;
    상기 비디오 데이터의 상기 현재 블록의 크기에 기초하여 상기 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하고;
    상기 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP)에 대한 제로 값 및 QP 예측자의 값에 기초하여 상기 비디오 데이터의 상기 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하고 ― 상기 dQP 값은 상기 QP 값과 상기 QP 예측자의 값 간의 차이임 ―;
    상기 비디오 데이터의 상기 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 생성하고 ― 상기 무손실 코딩 신택스 엘리먼트는 상기 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 상기 QP 값과 별개임 ―; 그리고
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 인코딩하도록 구성되는,
    비디오 데이터를 인코딩하도록 구성된 장치.
  40. 제 39 항에 있어서,
    비디오 데이터의 상기 현재 블록은 상기 비디오 데이터의 코딩 유닛(CU)이고,
    상기 비디오 인코더는,
    양자화 그룹(QG) 크기를 결정하고; 그리고
    상기 CU가 상기 QG 크기와 동일하거나 또는 그보다 큰 크기를 가짐을 결정하도록 추가로 구성되는,
    비디오 데이터를 인코딩하도록 구성된 장치.
  41. 제 39 항에 있어서,
    상기 비디오 인코더는, 상기 dQP 값을 상기 QP 예측자의 값에 부가함으로써 상기 QP 값을 결정하도록 추가로 구성되고,
    상기 QP 예측자는 위의 양자화 블록 및 좌측 양자화 블록에 대한 QP 값의 평균이고, 상기 위의 양자화 블록은 상기 현재 양자화 블록 위에 위치되고, 그리고 상기 좌측 양자화 블록은 상기 현재 양자화 블록의 좌측에 위치되는,
    비디오 데이터를 인코딩하도록 구성된 장치.
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 제 39 항에 있어서,
    상기 비디오 인코더는, 상기 결정된 QP 값을 사용하여 비디오 데이터의 다른 블록에 대한 QP 예측을 수행하도록 추가로 구성되는,
    비디오 데이터를 인코딩하도록 구성된 장치.
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 비디오 데이터를 디코딩하도록 구성된 장치로서,
    비디오 데이터의 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 수신하기 위한 수단 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 양자화 파라미터(QP) 값과 별개임 ―;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하기 위한 수단;
    상기 현재 양자화 블록에 대해 제로의 델타 양자화 파라미터(dQP) 값을 할당하기 위한 수단 ― 상기 dQP 값은 상기 QP 값과 QP 예측자의 값 간의 차이임 ―;
    할당된 dQP 값 및 QP 예측자에 기초하여 상기 현재 양자화 블록에 대한 QP 값을 결정하기 위한 수단; 및
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 디코딩하기 위한 수단을 포함하는,
    비디오 데이터를 디코딩하도록 구성된 장치.
  54. 비디오 데이터를 인코딩하도록 구성된 장치로서,
    비디오 데이터의 현재 블록이 무손실 코딩 모드를 사용하여 인코딩될 것임을 결정하기 위한 수단;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하기 위한 수단;
    상기 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP)에 대한 제로 값 및 QP 예측자의 값에 기초하여 비디오 데이터의 상기 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하기 위한 수단 ― 상기 dQP 값은 상기 QP 값과 상기 QP 예측자의 값 간의 차이임 ―;
    비디오 데이터의 상기 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 생성하기 위한 수단 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 상기 QP 값과 별개임 ―; 및
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 인코딩하기 위한 수단을 포함하는,
    비디오 데이터를 인코딩하도록 구성된 장치.
  55. 명령들을 저장하는 비-일시적인 컴퓨터-판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 비디오 데이터를 디코딩하도록 구성된 디바이스의 하나 이상의 프로세서들로 하여금,
    비디오 데이터의 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 수신하게 하고 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 양자화 파라미터(QP) 값과 별개임 ―;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하게 하고;
    상기 현재 양자화 블록에 대해 제로의 델타 양자화 파라미터(dQP) 값을 할당하게 하고 ― 상기 dQP 값은 상기 QP 값과 QP 예측자의 값 간의 차이임 ―;
    할당된 dQP 값 및 QP 예측자에 기초하여 상기 현재 양자화 블록에 대한 QP 값을 결정하게 하고; 그리고
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 디코딩하게 하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
  56. 명령들을 저장하는 비-일시적인 컴퓨터-판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 비디오 데이터를 인코딩하도록 구성된 디바이스의 하나 이상의 프로세서들로 하여금,
    비디오 데이터의 현재 블록이 무손실 코딩 모드를 사용하여 인코딩될 것임을 결정하게 하고;
    비디오 데이터의 상기 현재 블록의 크기에 기초하여 비디오 데이터의 상기 현재 블록이 현재 양자화 블록임을 결정하게 하고;
    상기 현재 양자화 블록에 대한 델타 양자화 파라미터(dQP)에 대한 제로 값 및 QP 예측자의 값에 기초하여 비디오 데이터의 상기 현재 양자화 블록에 대한 양자화 파라미터(QP) 값을 결정하게 하고 ― 상기 dQP 값은 상기 QP 값과 상기 QP 예측자의 값 간의 차이임 ―;
    비디오 데이터의 상기 현재 블록에 대한 무손실 코딩 신택스 엘리먼트를 생성하게 하고 ― 상기 무손실 코딩 신택스 엘리먼트는 비디오 데이터의 상기 현재 블록이 무손실 코딩 모드를 사용하여 인코딩됨을 나타내고, 상기 무손실 코딩 신택스 엘리먼트는 상기 QP 값과 별개임 ―; 그리고
    상기 무손실 코딩 모드 및 결정된 QP 값에 따라 상기 현재 양자화 블록을 인코딩하게 하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
KR1020147032937A 2012-04-26 2013-04-26 비디오 코딩에서의 양자화 파라미터(qp) 코딩 KR101837628B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261639015P 2012-04-26 2012-04-26
US61/639,015 2012-04-26
US201261643821P 2012-05-07 2012-05-07
US61/643,821 2012-05-07
US201261656953P 2012-06-07 2012-06-07
US61/656,953 2012-06-07
US13/870,149 US9521410B2 (en) 2012-04-26 2013-04-25 Quantization parameter (QP) coding in video coding
US13/870,149 2013-04-25
PCT/US2013/038383 WO2013163526A1 (en) 2012-04-26 2013-04-26 Quantization parameter (qp) coding in video coding

Publications (2)

Publication Number Publication Date
KR20150016263A KR20150016263A (ko) 2015-02-11
KR101837628B1 true KR101837628B1 (ko) 2018-03-12

Family

ID=49477263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147032937A KR101837628B1 (ko) 2012-04-26 2013-04-26 비디오 코딩에서의 양자화 파라미터(qp) 코딩

Country Status (22)

Country Link
US (1) US9521410B2 (ko)
EP (1) EP2842319B1 (ko)
JP (1) JP6174123B2 (ko)
KR (1) KR101837628B1 (ko)
CN (1) CN104255035B (ko)
AR (1) AR092825A1 (ko)
AU (1) AU2013251390B2 (ko)
BR (1) BR112014026750B1 (ko)
CA (1) CA2871139C (ko)
DK (1) DK2842319T3 (ko)
ES (1) ES2864623T3 (ko)
HK (1) HK1201110A1 (ko)
HU (1) HUE054119T2 (ko)
IL (1) IL235249A (ko)
IN (1) IN2014MN02044A (ko)
MY (1) MY166922A (ko)
PH (1) PH12014502365B1 (ko)
RU (1) RU2645291C2 (ko)
SG (2) SG10201608824QA (ko)
TW (1) TWI543622B (ko)
UA (1) UA114721C2 (ko)
WO (1) WO2013163526A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231228A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 영상 복호화 장치에서 이용하는 역양자화장치 및 방법

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2774360B1 (en) * 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
PL2811745T4 (pl) * 2012-01-30 2021-01-11 Samsung Electronics Co., Ltd. Sposób i urządzenie do kodowania i dekodowania wideo, w oparciu o hierarchiczne jednostki danych, z uwzględnieniem predykcji parametru kwantyzacji
WO2015055111A1 (en) * 2013-10-14 2015-04-23 Mediatek Inc. Method of lossless mode signaling for video system with lossless and lossy coding
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
EP3058736B1 (en) 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
KR102258427B1 (ko) 2014-01-03 2021-06-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
EP4354856A2 (en) 2014-06-19 2024-04-17 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
RU2679201C2 (ru) 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
EP3308540B1 (en) 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
WO2017138761A1 (ko) 2016-02-11 2017-08-17 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10244248B2 (en) * 2016-02-25 2019-03-26 Mediatek Inc. Residual processing circuit using single-path pipeline or multi-path pipeline and associated residual processing method
CN109417620B (zh) * 2016-03-25 2021-04-27 松下知识产权经营株式会社 用于使用信号依赖型自适应量化将运动图像编码及解码的方法及装置
JP6769302B2 (ja) * 2016-12-28 2020-10-14 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
MX2019012293A (es) 2017-04-13 2020-01-20 Lg Electronics Inc Metodo y dispositivo para codificacion y decodificacion de entropia de señal de video.
US10999576B2 (en) * 2017-05-03 2021-05-04 Novatek Microelectronics Corp. Video processing method
EP3649782A4 (en) * 2017-07-05 2021-04-14 Telefonaktiebolaget LM Ericsson (PUBL) DECODING A BLOCK OF VIDEO SAMPLE
EP3425911A1 (en) 2017-07-06 2019-01-09 Thomson Licensing A method and a device for picture encoding and decoding
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US10567781B2 (en) * 2018-05-01 2020-02-18 Agora Lab, Inc. Progressive I-slice reference for packet loss resilient video coding
JP7278719B2 (ja) * 2018-06-27 2023-05-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN112040229B (zh) * 2018-09-05 2021-06-29 华为技术有限公司 视频解码方法、视频解码器及计算机可读存储介质
US10893272B2 (en) 2019-01-29 2021-01-12 Sony Corporation Image block coding based on pixel-domain pre-processing operations on image block
BR112021023469A2 (pt) * 2019-05-24 2022-01-18 Digital Insights Inc Método de codificação de vídeo e aparelho usando conjunto de parâmetros adaptativos
GB2623001A (en) * 2019-07-05 2024-04-03 V Nova Int Ltd Quantization of residuals in video coding
CN112055211B (zh) * 2019-08-15 2021-10-26 华为技术有限公司 视频编码器及qp设置方法
KR20220062655A (ko) * 2019-09-23 2022-05-17 알리바바 그룹 홀딩 리미티드 비디오 데이터의 무손실 코딩
EP4090020A4 (en) * 2020-01-10 2024-01-17 Samsung Electronics Co Ltd VIDEO DECODING METHOD AND APPARATUS FOR OBTAINING QUANTIZATION PARAMETERS AND VIDEO CODING METHOD AND APPARATUS FOR TRANSMITTING QUANTIZATION PARAMETERS
US11490083B2 (en) 2020-02-05 2022-11-01 Qualcomm Incorporated Learned low-complexity adaptive quantization for video compression
US20240048730A1 (en) * 2022-07-26 2024-02-08 Tencent America LLC Method and apparatus for improved warp delta signaling

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025943A2 (en) * 2002-04-23 2004-03-25 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
JP3846489B2 (ja) 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
CN1770863A (zh) * 2004-11-02 2006-05-10 华为技术有限公司 零块预判条件的确定方法及零块预先判定方法
US8548055B2 (en) 2005-03-10 2013-10-01 Qualcomm Incorporated Encoding of multimedia data
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
JP5212373B2 (ja) 2007-09-12 2013-06-19 ソニー株式会社 画像処理装置及び画像処理方法
CN100563337C (zh) * 2007-10-24 2009-11-25 上海广电(集团)有限公司中央研究院 基于avs的整数变换量化和整数反变换反量化方法
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
US8588297B2 (en) * 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
SG188255A1 (en) * 2010-09-30 2013-04-30 Panasonic Corp Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
US20120114034A1 (en) 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
US8582646B2 (en) * 2011-01-14 2013-11-12 Sony Corporation Methods for delta-QP signaling for decoder parallelization in HEVC
US9832460B2 (en) 2011-03-09 2017-11-28 Canon Kabushiki Kaisha Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor
US9854275B2 (en) 2011-06-25 2017-12-26 Qualcomm Incorporated Quantization in video coding
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
US20130083845A1 (en) * 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
EP2774360B1 (en) * 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"High Efficiency Video Coding (HEVC) text specification draft 6 " , JCT-VC MEETING, JCTVC-H1003 (2012.02.10.)
SATO (SONY) K ET AL: "Description of Core Experiment 4 (CE4) : Quantization" , MPEG MEETING, no. m20249 (2011.04.15.)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231228A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 영상 복호화 장치에서 이용하는 역양자화장치 및 방법

Also Published As

Publication number Publication date
TW201404166A (zh) 2014-01-16
US9521410B2 (en) 2016-12-13
AU2013251390B2 (en) 2017-03-16
EP2842319B1 (en) 2021-03-31
HUE054119T2 (hu) 2021-08-30
PH12014502365A1 (en) 2015-01-12
HK1201110A1 (en) 2015-08-21
KR20150016263A (ko) 2015-02-11
US20130287103A1 (en) 2013-10-31
JP6174123B2 (ja) 2017-08-02
AR092825A1 (es) 2015-05-06
CA2871139A1 (en) 2013-10-31
BR112014026750A2 (pt) 2017-06-27
SG11201406585SA (en) 2014-11-27
RU2014147481A (ru) 2016-06-20
EP2842319A1 (en) 2015-03-04
CA2871139C (en) 2019-03-05
UA114721C2 (uk) 2017-07-25
ES2864623T3 (es) 2021-10-14
RU2645291C2 (ru) 2018-02-19
WO2013163526A1 (en) 2013-10-31
AU2013251390A1 (en) 2014-11-13
JP2015518353A (ja) 2015-06-25
TWI543622B (zh) 2016-07-21
MY166922A (en) 2018-07-24
BR112014026750B1 (pt) 2023-02-23
CN104255035B (zh) 2018-01-12
CN104255035A (zh) 2014-12-31
IL235249A (en) 2017-07-31
DK2842319T3 (da) 2021-04-26
SG10201608824QA (en) 2016-12-29
IN2014MN02044A (ko) 2015-08-14
PH12014502365B1 (en) 2015-01-12

Similar Documents

Publication Publication Date Title
KR101837628B1 (ko) 비디오 코딩에서의 양자화 파라미터(qp) 코딩
KR101547745B1 (ko) 모션 벡터 예측
KR101671080B1 (ko) 비디오 코딩에서 비정방형 변환 유닛들 및 예측 유닛들
US9807403B2 (en) Adaptive loop filtering for chroma components
KR101536540B1 (ko) 비디오 코딩을 위한 병렬화 친화적인 병합 후보들
KR101641808B1 (ko) 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스
US9247254B2 (en) Non-square transforms in intra-prediction video coding
EP2984827B1 (en) Sample adaptive offset scaling based on bit-depth
US9491463B2 (en) Group flag in transform coefficient coding for video coding
KR20140016974A (ko) 샘플 적응적 오프셋에 대한 오프셋 타입 및 계수 시그널링 방법
KR20150090172A (ko) 비디오 코딩에 있어서 제약된 인트라 블록 경계들에 걸친 루프 필터링
US9674527B2 (en) Implicit derivation of parallel motion estimation range size
US9154787B2 (en) Sub-block level parallel video coding
EP3114837B1 (en) Flicker detection and mitigation in video coding

Legal Events

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