KR102474636B1 - 크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출 - Google Patents

크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출 Download PDF

Info

Publication number
KR102474636B1
KR102474636B1 KR1020200019882A KR20200019882A KR102474636B1 KR 102474636 B1 KR102474636 B1 KR 102474636B1 KR 1020200019882 A KR1020200019882 A KR 1020200019882A KR 20200019882 A KR20200019882 A KR 20200019882A KR 102474636 B1 KR102474636 B1 KR 102474636B1
Authority
KR
South Korea
Prior art keywords
quantization parameter
channel
picture
value
chrominance
Prior art date
Application number
KR1020200019882A
Other languages
English (en)
Other versions
KR20200101863A (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 KR20200101863A publication Critical patent/KR20200101863A/ko
Application granted granted Critical
Publication of KR102474636B1 publication Critical patent/KR102474636B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

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

Abstract

비디오 디코딩 또는 인코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시되어 있다. 디코딩을 위한 일부 실시형태에 있어서, 비디오 표현 또는 이미지의 적어도 2개의 채널에 기초하여 양자화된 잔차 계수를 포함하는 블록이 수신된다. 제1 양자화 파라미터 및 제1 양자화 파라미터와 블록에 대한 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋이 취득된다. 제2 양자화 파라미터의 값은 제1 양자화 파라미터 및 오프셋을 사용해서 결정된다. 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 잔차 샘플은 제2 양자화 파라미터를 사용해서 양자화된 잔차 계수들을 역양자화함으로써 재구성된다.

Description

크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출{QUANTIZATION PARAMETER DERIVATION FOR CROSS-CHANNEL RESIDUAL ENCODING AND DECODING}
본원은 일반적으로 비디오 프레젠테이션 또는 이미지의 인코딩 및 디코딩에 관한 것이다.
이 섹션은 청구범위에서 인용된 발명에 대한 배경 또는 맥락을 제공하기 위한 것이다. 본 명세서에서의 설명은 추구될 수 있는 개념을 포함할 수 있지만, 반드시 이전에 구상 또는 추구된 개념은 아니다. 따라서, 본 명세서에서 달리 지시되지 않는 한, 이 섹션에서 설명되는 것은 본원의 상세한 설명 및 청구범위에 대한 종래기술이 아니며 이 섹션에의 포함에 의해 종래기술인 것으로 인정되는 것도 아니다.
비디오 코딩 시스템은 입력된 비디오를 저장/전송에 적합한 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 보기 가능한 형태로 다시 압축 해제할 수 있는 디코더를 포함할 수 있다. 인코더는 비디오를 더욱 콤팩트한 형태로 표현하기 위해, 예를 들어, 필요한 것보다 낮은 비트레이트로 비디오 정보의 저장/전송을 가능하게 하기 위해 원래의 비디오 시퀀스에서 일부 정보를 폐기할 수 있다.
비디오 및 이미지 샘플은 1개의 휘도(luminance) Y 및 2개의 크로미넌스 채널(chrominance channel)(성분) Cb, Cr로 구성되는 YUV 또는 YCbCr과 같은 컬러 표현을 사용해서 인코딩될 수 있다. 일부 접근법에 있어서는, 각 채널의 샘플이 예측되고 각 채널의 잔차 신호가 별도로 코딩된다. 이러한 잔차 신호의 인코딩은 통상적으로 잔차 샘플의 순방향 변환 및 결과적인 변환 계수의 양자화를 포함한다. 디코딩은 수신된 변환 계수의 역양자화 및 디코딩된 잔차 샘플을 재구성하기 위한 역양자화된 계수의 역변환을 포함한다. 양자화 프로세스의 정확도는 각각의 채널에 대하여 별도로 지정될 수 있지만, 이러한 정의는 모든 시나리오 및 코딩 모드에 대하여 최적이 아닐 수도 있다.
일부 실시형태는 비디오 정보를 인코딩 및 디코딩하기 위한 방법을 제공한다. 일부 실시형태에 있어서, 방법을 구현하기 위한 장치, 컴퓨터 프로그램 제품, 컴퓨터-판독 가능 매체가 제공된다.
실시형태에 따르면, 방법은 2개 이상의 채널로부터의 잔차 샘플들의 조인트 코딩을 사용해서 변환 블록에 대한 양자화 파라미터를 결정한다. 특히, 양자화 파라미터는 크로스-채널 코딩이 적용되는 채널들의 양자화 파라미터들과는 무관한 크로스-채널 잔차 블록에 대하여 결정될 수 있다. 일 실시형태에 있어서, 크로스-채널 코딩은 비디오 또는 이미지에서의 2개의 크로미넌스 채널에 적용되고, 크로스-채널 양자화기 파라미터는 전해상도 휘도 채널의 파라미터로부터 도출된다. 대안적인 실시형태에 있어서, 크로스-채널 코딩을 사용하는 잔차 블록에 대한 양자화 파라미터는 2개 이상의 채널의 양자화 파라미터를 결합하는 것에 의해 결정된 가상 채널의 양자화 파라미터에 기초하여 계산된다.
본 발명의 실시예들의 다양한 양태가 상세한 설명에서 제공된다.
제1 양태에 따르면, 하기의 단계를 포함하는 방법이 제공된다:
비디오 표현 또는 이미지의 적어도 2개의 컬러 채널에 기초하여 양자화된 잔차 계수들을 포함하는 블록을 수신하는 단계;
제1 양자화 파라미터를 취득하는 단계;
제1 양자화 파라미터와 블록에 대한 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하는 단계;
제1 양자화 파라미터 및 오프셋을 사용해서 제2 양자화 파라미터의 값을 결정하는 단계;
블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 제2 양자화 파라미터를 사용해서 양자화된 잔차 계수들을 역양자화함으로써 잔차 샘플들을 재구성하는 단계.
제2 양태에 따르면, 하기의 수단을 포함하는 장치가 제공된다:
비디오 표현 또는 이미지의 적어도 2개의 컬러 채널에 기초하여 양자화된 잔차 계수들을 포함하는 블록을 수신하는 수단;
제1 양자화 파라미터를 취득하는 수단;
제1 양자화 파라미터와 블록에 대한 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하는 수단;
제1 양자화 파라미터 및 오프셋을 사용해서 제2 양자화 파라미터의 값을 결정하는 수단;
블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 제2 양자화 파라미터를 사용해서 양자화된 잔차 계수들을 역양자화함으로써 잔차 샘플들을 재구성하는 수단.
제3 양태에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로 장치로 하여금 적어도 하기의 동작을 수행하게 하도록 구성된다:
비디오 표현 또는 이미지의 적어도 2개의 컬러 채널에 기초하여 양자화된 잔차 계수들을 포함하는 블록을 수신하는 동작;
제1 양자화 파라미터를 취득하는 동작;
제1 양자화 파라미터와 블록에 대한 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하는 동작;
제1 양자화 파라미터 및 오프셋을 사용해서 제2 양자화 파라미터의 값을 결정하는 동작;
블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 제2 양자화 파라미터를 사용해서 양자화된 잔차 계수들을 역양자화함으로써 잔차 샘플들을 재구성하는 동작.
제4 양태에 따르면, 하나 이상의 프로세서에 의한 실행시에, 장치로 하여금 적어도 하기의 동작을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다:
비디오 표현 또는 이미지의 적어도 2개의 컬러 채널에 기초하여 양자화된 잔차 계수들을 포함하는 블록을 수신하는 동작;
제1 양자화 파라미터를 취득하는 동작;
제1 양자화 파라미터와 블록에 대한 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하는 동작;
제1 양자화 파라미터 및 오프셋을 사용해서 제2 양자화 파라미터의 값을 결정하는 동작;
블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 제2 양자화 파라미터를 사용해서 양자화된 잔차 계수들을 역양자화함으로써 잔차 샘플들을 재구성하는 동작.
제5 양태에 따르면, 하기의 단계를 포함하는 방법이 제공된다:
인터 코딩된 코딩 단위들 및 인트라 코딩된 코딩 단위들을 포함하는 픽처의 파티셔닝의 신택스 요소들을 수신하는 단계;
픽처의 파티셔닝의 코딩 단위들을 제1 스캐닝 순서로 처리하는 단계로서,
모션 보상된 예측에 의해 인터 코딩된 코딩 단위들을 재구성하는 단계를 포함하는 단계;
픽처의 파티셔닝의 코딩 단위들을 제2 스캐닝 순서로 처리하는 단계로서,
하기의 두 코딩 단위들 중 적어도 하나로부터의 하나 이상의 참조 샘플을 사용해서 현재의 코딩 단위를 예측함으로써 인트라 코딩된 코딩 단위들을 재구성하는 단계를 포함하는 단계:
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 선행하는 코딩 단위들;
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 후속하는 코딩 단위들.
제6 양태에 따르면, 하기의 수단을 포함하는 장치가 제공된다:
인터 코딩된 코딩 단위들 및 인트라 코딩된 코딩 단위들을 포함하는 픽처의 파티셔닝의 신택스 요소들을 수신하는 수단;
픽처의 파티셔닝의 코딩 단위들을 제1 스캐닝 순서로 처리하는 수단으로서,
모션 보상된 예측에 의해 인터 코딩된 코딩 단위들을 재구성하는 수단을 포함하는 수단;
픽처의 파티셔닝의 코딩 단위들을 제2 스캐닝 순서로 처리하는 수단으로서,
하기의 두 코딩 단위들 중 적어도 하나로부터의 하나 이상의 참조 샘플을 사용해서 현재의 코딩 단위를 예측함으로써 인트라 코딩된 코딩 단위들을 재구성하는 수단을 포함하는 수단:
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 선행하는 코딩 단위들;
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 후속하는 코딩 단위들.
제7 양태에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로 장치로 하여금 적어도 하기의 동작을 수행하게 하도록 구성된다:
인터 코딩된 코딩 단위들 및 인트라 코딩된 코딩 단위들을 포함하는 픽처의 파티셔닝의 신택스 요소들을 수신하는 동작;
픽처의 파티셔닝의 코딩 단위들을 제1 스캐닝 순서로 처리하는 동작으로서,
모션 보상된 예측에 의해 인터 코딩된 코딩 단위들을 재구성하는 동작을 포함하는 동작;
픽처의 파티셔닝의 코딩 단위들을 제2 스캐닝 순서로 처리하는 동작으로서,
하기의 두 코딩 단위들 중 적어도 하나로부터의 하나 이상의 참조 샘플을 사용해서 현재의 코딩 단위를 예측함으로써 인트라 코딩된 코딩 단위들을 재구성하는 동작을 포함하는 동작:
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 선행하는 코딩 단위들;
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 후속하는 코딩 단위들.
제8 양태에 따르면, 하나 이상의 프로세서에 의한 실행시에, 장치로 하여금 적어도 하기의 동작을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다:
인터 코딩된 코딩 단위들 및 인트라 코딩된 코딩 단위들을 포함하는 픽처의 파티셔닝의 신택스 요소들을 수신하는 동작;
픽처의 파티셔닝의 코딩 단위들을 제1 스캐닝 순서로 처리하는 동작으로서,
모션 보상된 예측에 의해 인터 코딩된 코딩 단위들을 재구성하는 동작을 포함하는 동작;
픽처의 파티셔닝의 코딩 단위들을 제2 스캐닝 순서로 처리하는 동작으로서,
하기의 두 코딩 단위들 중 적어도 하나로부터의 하나 이상의 참조 샘플을 사용해서 현재의 코딩 단위를 예측함으로써 인트라 코딩된 코딩 단위들을 재구성하는 동작을 포함하는 동작:
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 선행하는 코딩 단위들;
제2 스캐닝 순서에 있어서 현재의 코딩 단위에 후속하는 코딩 단위들.
본 발명의 예시적인 실시형태들의 더욱 완전한 이해를 위해, 이제 첨부 도면과 관련하여 취해지는 하기의 설명을 참조한다:
도 1은 실시형태에 따른 비디오 코딩 시스템의 블록도를 예시하고;
도 2는 실시형태에 따른 장치의 레이아웃을 예시하고;
도 3은 실시형태에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 배치구조를 예시하고;
도 4는 실시형태에 따른 비디오 인코더의 블록도를 예시하고;
도 5는 실시형태에 따른 비디오 디코더의 블록도를 예시하고;
도 6은 2개의 타일로 구성되는 픽처의 실시예를 도시하고;
도 7a는 실시형태에 따라, 인코더의 양자화 파라미터 평가기의 실시예를 예시하고;
도 7b는 실시형태에 따라, 디코더의 양자화 파라미터 평가기의 실시예를 예시하고;
도 8a는 실시형태에 따른 인코딩 방법을 흐름도로 예시하고;
도 8b는 실시형태에 따른 디코딩 방법을 흐름도로 예시하고;
도 9는 다양한 실시형태가 구현될 수 있는 예시적인 멀티미디어 통신 시스템의 개략도를 도시한다.
도 1은 비디오 코딩 시스템을 실시형태에 따른 장치 또는 전자 디바이스(50)의 개략적인 블록도로 도시한다. 전자 장치(50)는 실시형태에 따른 코덱(codec)을 포함할 수 있다. 도 2는 실시형태에 따른 장치의 레이아웃을 도시한다. 도 1 및 도 2의 요소들이 다음에 설명될 것이다.
전자 장치(50)는, 예를 들어, 무선 통신 시스템의 모바일 단말 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시형태들이 비디오 이미지의 인코딩 및 디코딩을, 또는 인코딩 또는 디코딩을 수행할 수 있는 임의의 전자 디바이스 또는 장치 내에서 구현될 수 있을 것으로 이해된다.
장치(50)는 디바이스를 포함 및 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 액정 디스플레이 형태의 디스플레이(32)를 더 포함할 수 있다. 다른 실시형태들에 있어서, 디스플레이는 이미지 또는 비디오를 디스플레이하기에 적합한 임의의 적절한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 실시형태에 따르면, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 채용될 수 있다. 예를 들어, 사용자 인터페이스는 터치-감응식 디스플레이의 일부로서의 가상 키패드 또는 데이터 입력 시스템으로 구현될 수 있다. 장치는 디지털 또는 아날로그 신호 입력부일 수 있는 마이크로폰(36) 또는 임의의 적절한 오디오 입력부를 포함할 수 있다. 장치(50)는, 실시형태에 따라, 이어피스(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 연결부 중 어느 하나일 수 있는 오디오 출력 디바이스를 더 포함할 수 있다. 장치(50)는 또한, 배터리(40)를 포함할 수 있다(또는 실시형태에 있어서, 디바이스는 태양 전지, 연료 전지 또는 시계태엽(clockwork) 발전기와 같은 임의의 적절한 모바일 에너지 디바이스에 의해 급전될 수 있음). 장치는 이미지 및/또는 비디오를 레코딩 또는 캡처할 수 있는 카메라(42)를 더 포함할 수 있다. 실시형태에 따르면, 장치(50)는 다른 디바이스들에 대한 단거리의 가시거리 내 통신을 위한 적외선 포트를 더 포함할 수 있다. 실시형태에 따르면, 장치(50)는 예를 들어, 블루투스(Bluetooth®) 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결과 같은 임의의 적절한 단거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는 실시형태에 따라 이미지 및 오디오 데이터 형태의 양 데이터를 저장할 수 있거나 및/또는 제어기(56) 상에서 구현하기 위한 명령어를 저장할 수도 있는 메모리(58)에 연결될 수 있다. 제어기(56)는 오디오 및/또는 비디오 데이터의 코딩 및/또는 디코딩을 수행하기에 적합한 또는 제어기(56)에 의해 수행되는 코딩 및/또는 디코딩을 지원하기에 적합한 코덱 회로(54)에 더 연결될 수 있다.
장치(50)는 카드 판독기(48) 및 스마트 카드(46), 예를 들어 사용자 정보를 제공하기 위한 것으로 네트워크에서 사용자의 인증 및 허가를 위한 인증 정보를 제공하기에 적합한 UICC(Universal Integrated Circuit Card) 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는 제어기에 연결되며 예를 들어 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 로컬 에어리어 네트워크와의 통신을 위해 무선 통신 신호를 생성하기에 적합한 라디오 인터페이스 회로(52)를 더 포함할 수 있다. 장치(50)는 라디오 인터페이스 회로(52)에서 생성되는 라디오 주파수 신호를 다른 장치(들)에 전송하고 다른 장치(들)로부터 라디오 주파수 신호를 수신하기 위해 라디오 인터페이스 회로(52)에 연결되는 안테나(44)를 더 포함할 수 있다.
실시형태에 따르면, 장치(50)는 처리를 위해 코덱(54) 또는 제어기에 전달되는 개별 프레임들을 레코딩 또는 검출할 수 있는 카메라를 포함한다. 실시형태에 따르면, 장치는 전송 및/또는 저장 전에 처리를 위한 비디오 이미지 데이터를 다른 디바이스로부터 수신할 수 있다. 실시형태에 따르면, 장치(50)는 코딩/디코딩을 위한 이미지를 무선으로 또는 유선 연결에 의해 수신할 수 있다.
도 3은 실시형태에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 배치구조를 도시한다. 도 3과 관련하여, 본 발명의 실시형태들이 이용될 수 있는 시스템의 실시예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은, 한정되는 것은 아니지만, 무선 셀룰러 전화 네트워크(wireless cellular telephone network)(예를 들면, GSM, UMTS, CDMA 네트워크 등), IEEE 802.x 표준들 중 어느 표준에 의해 정의되는 바와 같은 무선 로컬 에어리어 네트워크(wireless local area network)(WLAN), 블루투스 개인 영역 네트워크(Bluetooth personal area network), 이더넷 로컬 에어리어 네트워크(Ethernet local area network), 토큰 링 로컬 에어리어 네트워크(token ring local area network), 와이드 에어리어 네트워크(wide area network) 및 인터넷(Internet)을 포함하는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 실시형태들을 구현하기에 적합한 유선 및 무선 통신 디바이스 또는 장치(50)를 포함할 수 있다. 예를 들어, 도 3에 도시되는 시스템은 모바일 전화 네트워크(11) 및 인터넷(28)의 표현을 도시한다. 인터넷(28)에의 연결은, 한정되는 것은 아니지만, 장거리 무선 연결, 단거리 무선 연결, 및 한정되는 것은 아니지만, 전화선, 케이블선, 전력선, 및 유사한 통신 경로를 포함하는 다양한 유선 연결을 포함할 수 있다.
시스템(10)에 도시되는 예시적인 통신 디바이스들은, 한정되는 것은 아니지만, 전자 디바이스 또는 장치(50), 개인용 정보 단말(PDA) 및 모바일 전화(14)의 임의의 조합, PDA(16), 통합 메시징 디바이스(IMD)(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있다. 장치(50)는 고정식일 수 있거나 또는 이동하고 있는 개인에 의해 휴대되는 이동식일 수 있다. 장치(50)는, 한정되는 것은 아니지만, 승용차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 모터사이클 또는 유사한 임의의 적절한 운송 수단을 포함하는 운송 수단에 위치될 수도 있다.
실시형태들은 셋톱 박스에서; 즉, 디스플레이 또는 무선 기능을 가질 수도/갖지 않을 수도 있는 디지털 TV 수신기에서, 하드웨어 또는 소프트웨어 또는 인코더/디코더 구현예들의 조합을 갖는 태블릿 또는 (랩톱) 개인용 컴퓨터(PC)에서, 다양한 운영 체제에서, 및 하드웨어/소프트웨어 기반의 코딩을 제공하는 칩셋, 프로세서, DSP 및/또는 내장형 시스템에서 구현될 수도 있다.
일부 또는 추가의 장치는 호출 및 메시지를 송수신할 수 있으며 기지국(24)에 대한 무선 연결(25)을 통해 서비스 제공자와 통신할 수 있다. 기지국(24)은 모바일 전화 네트워크(11)와 인터넷(28) 사이의 통신을 허용하는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는, 한정되는 것은 아니지만, 코드 분할 다중 접속(code division multiple access)(CDMA), 세계 무선 통신 시스템(global systems for mobile communications)(GSM), 만국 휴대전화 시스템(universal mobile telecommunications system)(UMTS), 시분할 다중 접속(time divisional multiple access)(TDMA), 주파수 분할 다중 접속(frequency division multiple access)(FDMA) 전송 제어 규약-인터넷 규약(transmission control protocol-internet protocol)(TCP-IP), 문자 메시지 서비스(short messaging service)(SMS), 멀티미디어 메시지 서비스(multimedia messaging service)(MMS) 이메일(email), 인스턴스 메시지 서비스(instant messaging service)(IMS), 블루투스(Bluetooth), IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하는 다양한 전송 기술을 사용해서 통신할 수 있다. 본 발명의 다양한 실시형태를 구현함에 있어서 수반되는 통신 디바이스는, 한정되는 것은 아니지만, 라디오, 적외선, 레이저, 케이블 연결 및 임의의 적절한 연결을 포함하는 다양한 매체를 사용해서 통신할 수 있다.
비디오 인코더는 입력된 비디오를 저장/전송에 적합한 압축된 표현으로 변환하는 인코더를 포함할 수 있으며, 디코더는 압축된 비디오 표현을 보기 가능한 형태로 다시 압축 해제할 수 있다. 비디오 인코더 및/또는 비디오 디코더는 서로 분리될 수도 있으며, 즉 코덱을 형성하지 않아도 된다. 인코더는 비디오를 더욱 콤팩트한 형태로(즉, 보다 낮은 비트레이트로) 나타내기 위해 원래의 비디오 시퀀스에서 일부 정보를 폐기할 수 있다.
하이브리드 비디오 코덱, 예를 들어 ITU-T H.263 및 H.264는 비디오 정보를 2 단계로 인코딩할 수 있다. 먼저, 특정 픽처(또는 "블록")의 픽셀 값들이, 예를 들어 모션 보상 수단(코딩되는 블록에 밀접하게 대응하는 사전에 코딩된 비디오 프레임들 중 하나의 영역을 탐색하고 표시함)에 의해 또는 공간적 수단(지정된 방식으로 코딩되도록 블록 주변의 픽셀 값들을 사용함)에 의해 예측된다. 다음으로, 예측 에러, 즉 픽섹들의 예측된 블록과 픽섹들의 원래의 블록 사이의 차이가 코딩된다. 이는 픽셀 값들의 차이를 지정된 변환(예컨대, Discrete Cosine Transform (DCT) 또는 그 변형)을 사용해서 변환하고, 계수를 양자화하고, 양자화된 계수를 엔트로피 코딩함으로써 행해질 수 있다. 양자화 프로세스의 충실도를 변경함으로써, 인코더는 픽셀 표현의 정확도(픽처 품질) 및 결과적인 코딩된 비디오 표현의 크기(전송 비트레이트의 파일 크기) 사이의 밸런스를 제어할 수 있다.
시간 예측, 모션 보상, 또는 모션-보상된 예측이라고 할 수도 있는 인터 예측(inter prediction)은 시간적 중복성(temporal redundancy)을 감소시킨다. 인터 예측에 있어서, 예측의 소스는 이전에 디코딩된 픽처이다. 인트라 예측(intra prediction)은 동일 픽처 내의 인접 픽셀들이 상관될 가능성이 있다는 사실을 이용한다. 인트라 예측은 공간 또는 변환 도메인에서 이용될 수 있고, 즉 샘플 값 또는 변환 계수가 예측될 수 있다. 인트라 예측은 통상적으로 인터 예측이 적용되지 않는 인트라 코딩에서 이용된다.
코딩 절차의 한 가지 결과는 모션 벡터 및 양자화된 변환 계수와 같은 코딩 파라미터 세트이다. 많은 파라미터가 공간적으로 또는 시간적으로 이웃하는 파라미터로부터 먼저 예측된다면, 이들 파라미터는 더욱 효율적으로 엔트로피-코딩될 수 있다. 예를 들어, 모션 벡터는 공간적으로 인접하는 모션 벡터들로부터 예측될 수 있고, 모션 벡터 예측자(predictor)에 대한 차이만이 코딩될 수 있다. 코딩 파라미터의 예측 및 인트라 예측을 총괄하여 인-픽처(in-picture) 예측이라고 할 수 있다.
블록 기반의 이미지 및 비디오 코딩에 있어서, 샘플 예측 프로세스는, 하위 및 우측의 블록들이 현재의 블록의 처리시에는 아직 처리되지 않아서 예측 프로세스에 대한 참조로서 이용될 수 없기 때문에, 좌측 및 상위의 이웃하는 블록들로부터의 이미 인코딩 또는 디코딩된 샘플을 사용하는 것으로 한정될 수 있다. 이는, 경우에 따라, 우측 및 하위의 이웃들이 상위 및 좌측의 이웃들에서 이용될 수 있는 것보다 양호한 샘플 예측 프로세스에 대한 참조를 제공할 수 있거나; 또는 우측 및 하위의 이웃들이 상위 및 좌측의 이웃들과 함께 사용되면 예측 프로세스의 정확도를 향상시킬 수 있기 때문에, 코딩 효율에 있어서는 차선책일 수 있다.
어드밴스드 비디오 코딩(Advanced Video Coding (H.264/AVC, 일명 AVC)) 표준은 ITU-T(International Telecommunication Union)의 전기통신 표준화 부문(Telecommunications Standardization Sector)의 VCEG(Video Coding Experts Group)의 JVT(Joint Video Team) 및 ISO(International Organisation for Standardization)/IEC(International Electrotechnical Commission)의 MPEG(Moving Picture Experts Group)에 의해 개발되었다. H.264/AVC 표준은 두 상위 표준화 기구에 의해 공개되고, ITU-T 권고 H.264 및 MPEG-4 Part 10 Advanced Video Coding(AVC)으로도 알려진 ISO/IEC International Standard 14496-10이라고 한다. 사양에 대한 새로운 확장 또는 특징을 통합한 다양한 버전의 H.264/AVC 표준이 존재한다. 이들 확장은 SVC(Scalable Video Coding) 및 MVC(Multiview Video Coding)를 포함한다.
고효율 비디오 코딩(High Efficiency Video Coding)(H.265/HEVC, 일명 HEVC) 표준의 버전 1은 VCEG 및 MPEG의 JCT-VC(Joint Collaborative Team - Video Coding)에 의해 개발되었다. 이 표준은 두 상위 표준화 기구에 의해 공개되었고, ITU-T 권고 H.265 및 MPEG-H Part 2 High Efficiency Video Coding(HEVC)으로도 알려진 ISO/IEC International Standard 23008-2라고 한다. H.265/HEVC의 버전 2는 제각기 SHVC, MV-HEVC, 및 REXT로 약기될 수 있는 스케일러블(scalable), 멀티뷰(multiview), 및 충실도 범위(fidelity range) 확장을 포함했다. H.265/HEVC의 버전 2는 ITU-T 권고 H.265(10/2014)로서 사전-공개되었고, 2015년에 ISO/IEC 23008-2의 에디션 2로서 공개될 것으로 보인다. 제각기 3D-HEVC 및 SCC로 약기될 수 있는 3차원 및 스크린 콘텐츠 코딩 확장을 포함하여, H.265/HEVC에 대한 추가 확장을 개발하기 위한 표준화 프로젝트가 현재 진행되고 있다.
SHVC, MV-HEVC, 및 3D-HEVC는 HEVC 표준의 버전 2의 부록 F에서 지정된 공통 기준 사양을 사용한다. 이 공통 기준은, 예를 들어 인터-레이어 의존성과 같은 비트스트림의 레이어의 일부 특성 뿐만 아니라, 인터-레이어 참조 픽처 및 멀티-레이어 비트스트림에 대한 픽처 오더 카운트 도출을 포함하는 참조 픽처 리스트 구성과 같은 디코딩 프로세스를 지정하는 고급 신택스 및 시맨틱스를 포함한다. 부록 F는 HEVC의 잠재적인 후속 멀티-레이어 확장에서 사용될 수도 있다. 비디오 인코더, 비디오 디코더, 인코딩 방법, 디코딩 방법, 비트스트림 구조, 및/또는 실시형태들이 SHVC 및/또는 MV-HEVC와 같은 특정한 확장을 참조하여 아래에서 설명될 수 있지만, 이들은 일반적으로 HEVC의 임의의 멀티-레이어 확장에 적용될 수 있으며, 심지어 일반적으로 임의의 멀티-레이어 비디오 코딩 스킴에 적용될 수 있다는 점을 이해해야 한다.
H.264/AVC 및 HEVC의 일부 핵심 정의, 비트스트림 및 코딩 구조, 및 개념은 이 섹션에서 실시형태들이 구현될 수 있는 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법, 및 비트스트림 구조의 실시예로서 설명된다. H.264/AVC의 핵심 정의, 비트스트림 및 코딩 구조, 및 개념 중 일부는 HEVC에서와 동일하고, 따라서, 이들은 아래에서 함께 설명된다. 본 발명의 양태들은 H.264/AVC 또는 HEVC에 한정되는 것이 아니고, 그 밖에 본 발명이 부분적으로 또는 완전하게 실현될 수 있는 하나의 가능한 기준에 대하여 설명된다.
많은 이전의 비디오 코딩 표준과 유사하게, 비트스트림 신택스 및 시맨틱스 뿐만 아니라 무에러(error-free) 비트스트림에 대한 디코딩 프로세스가 H.264/AVC 및 HEVC에서 특정된다. 인코딩 프로세스는 특정되지 않지만, 인코더는 적합한 비트스트림을 생성해야 한다. 비트스트림 및 디코더 적합성은 HRD(Hypothetical Reference Decoder)로 검증될 수 있다. 표준은 전송 에러 및 손실에 대처하는 데 도움이 되는 코딩 툴을 포함하지만, 인코딩에서의 툴의 사용은 선택사항이며 잘못된 비트스트림에 대해서는 디코딩 프로세스가 특정되지 않는다.
기존의 표준의 설명 뿐만 아니라 예시적인 실시형태들의 설명에 있어서, 신택스 요소는 비트스트림으로 나타내진 데이터의 요소로서 정의될 수 있다. 신택스 구조는 비트스트림에서 지정된 순서로 함께 존재하는 0개 이상의 신택스 요소로서 정의될 수 있다. 기존의 표준의 설명 뿐만 아니라 예시적인 실시형태들의 설명에 있어서는, "외부 수단에 의해(by external means)" 또는 "외부 수단을 통해(through external means)"라는 문구가 사용될 수 있다. 예를 들어, 신택스 구조와 같은 엔티티 또는 디코딩 프로세스에서 사용되는 변수의 값은 "외부 수단에 의해" 디코딩 프로세스에 제공될 수 있다. "외부 수단에 의해"라는 문구는 엔티티가 인코더에 의해 생성되는 비트스트림에 포함되는 것이 아니라, 예를 들어 제어 프로토콜을 사용해서 비트스트림으로부터 외부로 전달된다는 것을 나타낼 수 있다. 대안적으로 또는 부가적으로, 이는 엔티티가 인코더에 의해 생성되는 것이 아니라, 예를 들어 디코더를 사용하고 있는 플레이어 또는 디코딩 제어 로직 등에서 생성될 수 있음을 의미할 수 있다. 디코더는 변수 값과 같은 외부 수단을 입력하기 위한 인터페이스를 가질 수 있다.
프로파일은 디코딩/코딩 표준 또는 사양에 의해 지정된 전체 비트스트림 신택스의 서브세트로서 정의될 수 있다. 주어진 프로파일의 신택스에 의해 부과되는 범위 내에서, 디코딩된 픽처의 지정된 크기와 같이 비트스트림에서 신택스 요소에 의해 취해지는 값에 따라 인코더 및 디코더의 성능에 있어서 매우 큰 변경을 요구하는 것이 여전히 가능하다. 많은 용례에 있어서, 특정 프로파일 내의 신택스의 모든 가상적인 사용을 다룰 수 있는 디코더를 구현하는 것은 실용적이도 경제적이지도 않을 수 있다. 이 쟁점을 다루기 위해, 레벨이 사용될 수 있다. 레벨은 비트스트림에서의 신택스 요소의 값 및 디코딩/코딩 표준 또는 사양에서 지정되는 변수에 대하여 부과되는 특정한 제약 세트로서 정의될 수 있다. 이들 제약은 값에 대한 단순한 제한일 수 있다. 대안으로서 또는 추가로, 이들 제약은 값들의 산술 조합(예컨대, 픽처 폭 × 픽처 높이 × 초당 디코딩된 픽처 수)에 대한 제약의 형태를 취할 수 있다. 레벨에 대하여 제약을 지정하기 위한 다른 수단이 사용될 수도 있다. 레벨에서 지정되는 제약들 중 일부는, 예를 들어 최대 픽처 크기, 최대 비트레이트 및 초와 같은 기간 당 매크로블록과 같은 코딩 단위와 관련된 최대 데이터 레이트에 관한 것일 수 있다. 동일한 레벨 세트가 모든 프로파일에 대하여 정의될 수 있다. 예를 들어, 각각의 레벨의 정의의 대부분이 또는 전부가 상이한 프로파일들에 걸쳐 공통일 수 있는 상이한 프로파일들을 구현하는 단말들의 상호운용성을 증가시키는 것이 바람직할 수 있다. 티어(tier)는 비트스트림에서의 신택스 요소들의 값들에 대하여 부과되는 레벨 제약들의 지정된 카테고리로서 정의될 수 있으며, 여기서 레벨 제약들은 티어 내에 네스트되고, 특정 티어 및 레벨을 따르는 디코더는 해당 레벨 또는 그보다 낮은 임의의 레벨의 동일한 티어 또는 더 낮은 티어를 따르는 모든 비트스트림을 디코딩할 수 있게 된다.
경우에 따라, 적합성 포인트는 특정 프로파일 및 특정 레벨의 조합 또는 특정 프로파일, 특정 티어, 및 특정 레벨의 조합으로 정의될 수 있다. 적합성 포인트는 대안적인 방식으로 정의될 수 있는 한편, 비트스트림의 특성 및 제한 및/또는 디코더의 특성 및 (최대) 리소스를 지정하려는 그 의도는 변함없이 유지될 수 있다는 점을 이해할 필요가 있다.
H.264/AVC 또는 HEVC 인코더에의 입력 및 H.264/AVC 또는 HEVC 디코더의 출력에 대한 기본 단위는 제각기 픽처이다. 인코더에의 입력으로서 주어지는 픽처를 소스 픽처라고 할 수도 있으며, 디코더에 의해 디코딩되는 픽처를 디코딩된 픽처라고 할 수 있다.
소스 픽처 및 디코딩된 픽처는 각각 하기의 샘플 어레이 세트들 중 하나와 같이, 하나 이상의 샘플 어레이로 구성된다:
루마(Y) 단독(단색).
루마 및 2개의 크로마(YCbCr 또는 YCgCo).
녹색, 청색 및 적색(GBR, 또한 RGB로도 알려짐).
다른 미지정된 단색 또는 3자극 컬러 샘플링을 나타내는 어레이(예를 들어, YZX, 또한 XYZ로도 알려짐).
아래에서는, 이들 어레이를 루마(또는 L 또는 Y) 및 크로마라고 할 수 있으며, 여기서 2개의 크로마 어레이를 Cb 및 Cr이라고 할 수 있으며; 사용되고 있는 실제 컬러 표현 방법과는 무관하다. 사용되고 있는 실제 컬러 표현 방법은, 예컨대 H.264/AVC 및/또는 HEVC의 VUI(Video Usability Information) 신택스를 사용해서, 예컨대 코딩된 비트스트림으로 표시될 수 있다. 성분은 3개의 샘플 어레이(루마 및 2개의 크로마) 중 하나로부터의 어레이 또는 단일 샘플로서, 또는 단색 포맷으로 픽처를 구성하는 어레이 또는 어레이의 단일 샘플로서 정의될 수 있다.
H.264/AVC 및 HEVC에서, 픽처는 프레임 또는 필드일 수 있다. 프레임은 루마 샘플 및 가능하게는 상응하는 크로마 샘플의 매트릭스를 포함한다. 필드는 프레임의 대체 샘플 행들의 세트이고, 소스 신호가 인터레이스될 때 인코더 입력으로서 사용될 수 있다. 크로마 샘플 어레이가 없을 수 있거나(그에 따라 단색 샘플링이 사용되고 있을 수 있음) 또는 루마 샘플 어레이와 비교했을 때 크로마 샘플 어레이가 서브샘플링될 수 있다. 크로마 포맷은 다음과 같이 요약될 수 있다:
단색 샘플링에 있어서는 명목상 루마 어레이로 간주될 수 있는 하나의 샘플 어레이만이 존재한다.
4:2:0 샘플링에 있어서는 2개의 크로마 어레이 각각이 루마 어레이의 반분의 높이 및 반분의 폭을 갖는다.
4:2:2 샘플링에 있어서는 2개의 크로마 어레이 각각이 루마 어레이의 동일한 높이 및 반분의 폭을 갖는다.
별도의 컬러 평면이 사용되고 있지 않은 4:4:4 샘플링에 있어서는 2개의 크로마 어레이 각각이 루마 어레이와 동일한 높이 및 폭을 갖는다.
H.264/AVC 및 HEVC에서는, 샘플 어레이들을 별도의 컬러 평면들로서 비트스트림에 코딩하고 별도로 코딩된 컬러 평면들을 비트스트림으로부터 제각기 디코딩하는 것이 가능하다. 별도의 컬러 평면들이 사용되고 있을 경우, 각각의 컬러 평면은 단색 샘플링으로 픽처로서 별도로 처리된다(인코더 및/또는 디코더에 의해).
크로마 서브샘플링이 사용되고 있을 경우(예컨대, 4:2:0 또는 4:2:2 크로마 샘플링), 루마 샘플들에 대한 크로마 샘플들의 위치는 인코더 측에서 결정될 수 있다(예컨대, 전처리 단계로서 또는 인코딩의 일부로서). 루마 샘플 위치들에 대한 크로마 샘플 위치들은 예를 들어 H.264/AVC 또는 HEVC과 같은 코딩 표준에서 미리 정의될 수 있거나, 또는 예를 들어 H.264/AVC 또는 HEVC의 VUI의 일부로서 비트스트림에 표시될 수 있다.
파티셔닝은 세트의 각각의 요소가 정확히 하나의 서브세트에 있도록 세트를 서브세트들로 분할하는 것으로 정의될 수 있다.
H.264/AVC에서, 매크로블록은 16×16 루마 샘플 블록 및 상응하는 크로마 샘플들의 블록들이다. 예를 들어, 4:2:0 샘플링 패턴에 있어서, 매크로블록은 각각의 크로마 성분 당 하나의 8×8 크로마 샘플 블록을 포함한다. H.264/AVC에서, 픽처는 하나 이상의 슬라이스 그룹으로 파티셔닝되고, 슬라이스 그룹은 하나 이상의 슬라이스를 포함한다. H.264/AVC에서, 슬라이스는 특정한 슬라이스 그룹 내에서 연속하여 래스터 스캔으로 정렬되는 정수 개의 매크로블록들로 구성된다.
HEVC 인코딩 및/또는 디코딩의 동작을 설명할 때, 다음 용어들을 사용할 수 있다. 코딩 블록은 코딩 트리 블록의 코딩 블록들로의 분할이 파티셔닝이 되도록 일부 N 값에 대한 N×N 샘플 블록으로 정의될 수 있다. 코딩 트리 블록(CTB)은 성분의 코딩 트리 블록들로의 분할이 파티셔닝이 되도록 일부 N 값에 대한 N×N 샘플 블록으로 정의될 수 있다. 코딩 트리 단위(CTU)는 루마 샘플들의 코딩 트리 블록으로, 또는 3개의 샘플 어레이를 갖는 픽처의 크로마 샘플들의 2개의 상응하는 코딩 트리 블록으로, 또는 샘플들을 코딩하는 데 사용되는 3개의 별도의 컬러 평면 및 신택스 구조를 사용해서 코딩된 단색 픽처 또는 픽처의 샘플들의 코딩 트리 블록으로 정의될 수 있다. 코딩 단위(CU)는 루마 샘플들의 코딩 블록으로, 또는 3개의 샘플 어레이를 갖는 픽처의 크로마 샘플들의 2개의 상응하는 코딩 블록으로, 또는 샘플들을 코딩하는 데 사용되는 3개의 별도의 컬러 평면 및 신택스 구조를 사용해서 코딩된 단색 픽처 또는 픽처의 샘플들의 코딩 블록으로 정의될 수 있다.
HEVC(High Efficiency Video Coding) 코덱과 같은 일부 비디오 코덱에 있어서, 비디오 픽처는 픽처의 영역을 커버하는 코딩 단위(CU)들로 분할된다. CU는 CU 내의 샘플들에 대한 예측 프로세스를 정의하는 하나 이상의 예측 단위(PU) 및 상기 CU 내의 샘플들에 대한 예측 에러 코딩 프로세스를 정의하는 하나 이상의 변환 단위(TU)로 구성된다. 통상적으로, CU는 사전에 정의된 가능한 CU 크기 세트로부터 선택 가능한 크기를 갖는 샘플들의 정방형(square) 블록으로 구성된다. 최대 허용 크기를 갖는 CU는 LCU(largest coding unit) 또는 CTU(coding tree unit)로 명명될 수 있고, 비디오 픽처는 비-중첩 LCU들로 분할된다. LCU는, 예컨대 LCU 및 그에 따른 CU들을 재귀적으로 분할함으로써 더 작은 CU들의 조합으로 더 분할될 수 있다. 각각의 결과적인 CU는 통상적으로 적어도 하나의 PU 및 그것과 연계되는 적어도 하나의 TU를 갖는다. 각각의 PU 및 TU는 제각기 예측 프로세스 및 예측 에러 코딩 프로세스의 입도를 증가시키기 위해 더 작은 PU들 및 TU들로 더 분할될 수 있다. 각각의 PU는 그것과 연계하여 해당 PU 내의 픽셀들에 대하여 어떤 종류의 예측이 적용될지를 정의하는 예측 정보(예컨대, 인터 예측된 PU들에 대한 모션 벡터 정보 및 인트라 예측된 PU들에 대한 인트라 예측 방향성 정보)를 갖는다.
각각의 TU는 상기 TU 내의 샘플들에 대한 예측 에러 디코딩 프로세스를 설명하는 정보(예컨대, DCT 계수 정보를 포함)와 연계될 수 있다. 일반적으로 각각의 CU에 대하여 예측 에러 코딩이 적용되는지의 여부가 CU 레벨에서 시그널링된다. CU와 연계되는 예측 에러 잔차가 없을 경우, 상기 CU에 대해서는 TU가 없는 것으로 간주될 수 있다. 이미지의 CU들로의 분할, 및 CU들의 PU들 및 TU들로의 분할은 디코더가 이들 단위들의 의도된 구조를 재생하는 것을 허용하도록 비트스트림에서 시그널링될 수 있다.
HEVC에서, 픽처는 타일들로 파티셔닝될 수 있고, 이들 타일은 직사각형이며 정수 개의 LCU들을 포함한다. HEVC에서, 타일들로의 파티셔닝은 규칙적인 그리드를 형성하고, 여기서 타일들의 높이들 및 폭들은 최대 하나의 LCU 만큼 서로 다르다. HEVC에서, 슬라이스는 하나의 독립 슬라이스 세그먼트 및 동일한 액세스 단위 내의 다음 독립 슬라이스 세그먼트(있을 경우)에 선행하는 모든 후속하는 종속 슬라이스 세그먼트(있을 경우)에 포함되는 정수 개의 코딩 트리 단위로 정의된다. HEVC에서, 슬라이스 세그먼트는 연속하여 타일 스캔 순서로 정렬되며 단일의 NAL 단위에 포함되는 정수 개의 코딩 트리 단위로 정의된다. 각각의 픽처의 슬라이스 세그먼트들로의 분할이 파티셔닝이다. HEVC에서, 독립 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 신택스 요소들의 값들이 선행하는 슬라이스 세그먼트에 대한 값들로부터 추론되지 않는 슬라이스 세그먼트로 정의되고, 종속 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 일부 신택스 요소들의 값들이 디코딩 순서상 선행하는 독립 슬라이스 세그먼트에 대한 값들로부터 추론되는 슬라이스 세그먼트로 정의된다. HEVC에서, 슬라이스 헤더는 현재의 슬라이스 세그먼트인 또는 현재의 독립 슬라이스 세그먼트에 선행하는 독립 슬라이스 세그먼트인 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더로 정의되고, 슬라이스 세그먼트 헤더는 슬라이스 세그먼트에 나타내진 제1의 또는 모든 코딩 트리 단위에 속하는 데이터 요소를 포함하는 코딩된 슬라이스 세그먼트의 일부로 정의된다. CU들은 타일 내의, 또는 타일이 사용되고 있지 않을 경우에는 픽처 내의 LCU들의 래스터 스캔 순서로 스캔된다. LCU 내에서, CU들은 특정한 스캔 순서를 갖는다. 도 6은 직사각형 예측 단위(점선)들로 더 파티셔닝된 정방형 코딩 단위(실선)들로 파티셔닝되는 2개의 타일로 구성되는 픽처의 실시예를 도시한다.
디코더는 인코더와 유사한 예측 수단을 적용하는 것에 의해 출력 비디오를 재구성하여 픽셀 블록들의 예측된 표현(인코더에 의해 생성되며 압축된 표현으로 저장되는 모션 또는 공간 정보를 사용) 및 예측 에러 디코딩(공간 픽셀 도메인에서 양자화된 예측 에러 신호를 복원하는 예측 에러 코딩의 역연산)을 형성할 수 있다. 예측 및 예측 에러 디코딩 수단을 적용한 후에, 디코더는 예측 신호 및 예측 에러 신호(픽셀 값들)를 합산하여 출력 비디오 프레임을 형성할 수 있다. 또한, 디코더(및 인코더)는 디스플레이를 위해 출력 비디오를 전달하거나 및/또는 비디오 시퀀스에서 다음 프레임들에 대한 예측 참조로서 출력 비디오를 저장하기 전에 추가적인 필터링 수단을 적용해서 출력 비디오의 품질을 향상시킬 수 있다.
필터링은, 예를 들어 디블로킹(deblocking), 샘플 적응적 오프셋(SAO), 및/또는 적응적 루프 필터링(ALF) 중 하나 이상을 포함할 수 있다. H.264/AVC는 디블로킹을 포함하는 반면, HEVC는 디블로킹 및 SAO를 모두 포함한다.
샘플 값 예측 및 코딩된 샘플 값들을 표시하기 위한 변환 코딩을 이용하는 접근법을 대신하여, 또는 그에 더하여, 컬러 팔레트 기반 코딩이 사용될 수 있다. 팔레트 기반 코딩은 팔레트, 즉 컬러들 및 연계된 인덱스들의 세트가 정의되고 코딩 단위 내의 각 샘플에 대한 값이 팔레트에 그 인덱스를 표시함으로써 표현되는 계열의 접근법을 의미한다. 팔레트 기반 코딩은 비교적 적은 수의 컬러(예를 들면, 텍스트 또는 간단한 그래픽 같이, 컴퓨터 스크린 콘텐츠를 나타내고 있는 이미지 영역)를 갖는 코딩 단위에서 양호한 코딩 효율을 달성할 수 있다. 팔레트 코딩의 코딩 효율을 향상시키기 위해, 상이한 종류의 팔레트 인덱스 예측 접근법이 이용될 수 있거나, 또는 팔레트 인덱스는 더 큰 균질한 이미지 영역을 효율적으로 나타낼 수 있도록 런-렝스(run-length) 코딩될 수 있다. 또한, CU가 CU 내에서 되풀이되지 않는 샘플 값들을 포함하는 경우, 이스케이프(escpae) 코딩이 이용될 수 있다. 이스케이프 코딩된 샘플들은 어떠한 팔레트 인덱스도 참조하지 않고 전송된다. 대신에, 그 값들은 각각의 이스케이프 코딩된 샘플에 대하여 개별적으로 표시된다.
DPB(Decoded Picture Buffer)는 인코더에서 및/또는 디코더에서 사용될 수 있다. 디코딩된 픽처를 버퍼링하는 데는, 인터 예측에서의 참조 및 디코딩된 픽처들을 출력 순서로 재정렬하기 위한 2가지의 이유가 있다. H.264/AVC 및 HEVC가 참조 픽처 마킹 및 출력 재정렬 모두에 대하여 상당한 융통성을 제공하기 때문에, 참조 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 별도의 버퍼들이 메모리 리소스를 낭비할 수 있다. 그래서, DPB는 참조 픽처 및 출력 재정렬에 대하여 통합된 디코딩된 픽처 버퍼링 프로세스를 포함할 수 있다. 디코딩된 픽처가 더 이상 참조로서 사용되지 않고 출력에 필요해지지 않게 될 때 DPB로부터 제거될 수 있다.
H.264/AVC 및 HEVC의 많은 코딩 모드에 있어서, 인터 예측에 대한 참조 픽처는 참조 픽처 리스트에 대한 인덱스로 표시된다. 인덱스는 일반적으로 작은 인덱스 일수록 상응하는 신택스 요소에 대하여 더 짧은 값을 갖게 하는 가변 길이 코딩으로 코딩될 수 있다. H.264/AVC 및 HEVC에서는, 2개의 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)가 각각의 양방향-예측(B) 슬라이스에 대하여 생성되고, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)가 각각의 인터-코딩된(P) 슬라이스에 대하여 형성된다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 통상 2 단계로 구성되는데: 제1 단계로서, 초기 참조 픽처 리스트가 생성된다. 초기 참조 픽처 리스트는 예를 들어 frame_num, POC, temporal_id(또는 TemporalId 등), 또는 GOP 구조와 같은 예측 계층에 대한 정보, 또는 이들의 임의의 조합에 기초하여 생성될 수 있다. 제2 단계로서, 초기 참조 픽처 리스트는, 슬라이스 헤더에 포함될 수 있는, 참조 픽처 리스트 수정 신택스 구조로도 알려져 있는 참조 픽처 리스트 재정렬(reference picture list reordering)(RPLR) 커맨드에 의해 재정렬될 수 있다. H.264/AVC에서, RPLR 커맨드는 각각의 참조 픽처 리스트의 시작 부분에 정렬된 픽처들을 표시한다. 이 제2 단계를 참조 픽처 리스트 수정 프로세스라고 할 수도 있으며, RPLR 커맨드는 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 참조 픽처 세트가 사용되면, 참조 픽처 리스트 0은 먼저 RefPicSetStCurr0을, 이어서 RefPicSetStCurr1을, 이어서 RefPicSetLtCurr을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 먼저 RefPicSetStCurr1을, 이어서 RefPicSetStCurr0을 포함하도록 초기화될 수 있다. HEVC에서, 초기 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통해 수정될 수 있고, 여기서 초기 참조 픽처 리스트 내의 픽처들은 리스트에 대한 엔트리 인덱스를 통해 식별될 수 있다. 다시 말해서, HEVC에서, 참조 픽처 리스트 수정은 최종 참조 픽처 리스트의 각각의 엔트리에 대한 루프를 포함하는 신택스 구조로 인코딩되며, 여기서 각각의 루프 엔트리는 초기 참조 픽처 리스트에 대한 고정-길이 코딩된 인덱스이고 최종 참조 픽처 리스트에서 픽처를 오름차순 위치 순서로 표시한다.
H.264/AVC 및 HEVC를 포함하는 많은 코딩 표준은, 다수의 참조 픽처들 중 어느 것이 특정 블록에 대한 인터 예측에 사용되는지를 표시하는 데 사용될 수 있는, 참조 픽처 리스트에 대한 참조 픽처 인덱스를 도출하기 위한 디코딩 프로세스를 가질 수 있다. 참조 픽처 인덱스는 일부 인터 코딩 모드에서는 인코더에 의해 비트스트림에 코딩될 수 있거나, 또는 일부 다른 인터 코딩 모드에서는 예를 들어 이웃하는 블록들을 사용해서 도출될 수 있다.
모션 정보는 각각의 모션 보상된 이미지 블록과 연계되는 모션 벡터들을 갖는 비디오 코덱으로 표시될 수 있다. 이들 모션 벡터 각각은 (인코더 측에서) 코딩될 또는 (디코더 측에서) 디코딩될 픽처의 이미지 블록 및 사전에 코딩된 또는 디코딩된 픽처들 중 하나의 예측 소스 블록의 변위를 나타낼 수 있다. 모션 벡터를 효율적으로 나타내기 위해, 이들 벡터는 블록 특유의 예측된 모션 벡터에 대하여 차등적으로 코딩될 수 있다. 비디오 코덱에서, 예측된 모션 벡터는 사전에 정의된 방식으로, 예컨대 인접하는 블록들의 인코딩된 또는 디코딩된 모션 벡터들의 중간값을 계산함으로써 생성될 수 있다. 모션 벡터 예측을 생성하는 다른 방식은 시간적 참조 픽처에서의 인접 블록들 및/또는 공존 블록들로부터 후보 예측 리스트를 생성하고 선택된 후보를 모션 벡터 예측으로서 시그널링하는 것이다. 모션 벡터 값을 예측하는 것 외에도, 사전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는, 예컨대 시간적 참조 픽처에서의 인접 블록들 및/또는 공존 블록들로부터 예측될 수 있다. 또한, 고효율 비디오 코덱은 "병합 모드(merging/merge mode)"라고 하는 추가적인 모션 정보 코딩/디코딩 메커니즘을 채용할 수 있으며, 여기서 각각의 이용 가능한 참조 픽처 리스트에 대한 모션 벡터 및 상응하는 참조 픽처 인덱스를 포함할 수 있는 모든 모션 필드 정보가 예측되고 어떠한 수정/보정 없이 사용된다. 유사하게, 모션 필드 정보를 예측하는 것은 시간적 참조 픽처에서의 인접 블록들 및/또는 공존 블록들의 모션 필드 정보를 사용해서 수행될 수 있으며, 사용되는 모션 필드 정보는 이용 가능한 인접/공존 블록들의 모션 필드 정보로 채워진 모션 필드 후보 리스트 사이에서 시그널링된다.
일부 비디오 코덱은 단일의 예측 블록이 (디)코딩되는 블록에 사용되는 단방향-예측, 및 2개의 예측 블록이 조합되어 (디)코딩되는 블록에 대한 예측을 형성하는 양방향-예측의 사용을 가능하게 한다. 일부 비디오 코덱은 예측 블록의 샘플 값이 잔차 정보를 추가하기 전에 가중되는 가중 예측을 가능하게 한다. 예를 들어, 곱셈 가중 팩터 및 가산적 오프셋이 적용될 수 있다. 일부 비디오 코덱에 의해 가능해지는 명시적 가중 예측에 있어서는, 가중 팩터 및 오프셋이 예를 들어 각각의 허용 가능한 참조 픽처 인덱스에 대한 슬라이스 헤더에서 코딩될 수 있다. 일부 비디오 코덱에 의해 가능해지는 암시적 가중 예측에 있어서는, 가중 팩터 및/또는 오프셋이 코딩되지 않고, 예컨대 참조 픽처의 상대적인 픽처 오더 카운트(POC) 거리에 기초하여 도출된다.
인터 픽처 예측에 대하여 모션 보상을 적용하는 것에 더하여, 유사한 접근법이 인트라 픽처 예측에 적용될 수 있다. 이 경우, 변위 벡터는 동일한 픽처로부터 샘플의 블록이 복사되어 코딩 또는 디코딩될 블록의 예측을 형성할 수 있는 위치를 표시한다. 이러한 종류의 인트라 블록 복사 방법은 텍스트 또는 그 밖의 그래픽과 같이, 프레임 내에 반복 구조가 존재할 때 코딩 효율을 실질적으로 향상시킬 수 있다.
비디오 코덱에 있어서, 모션 보상 이후의 예측 잔차는 먼저 변환 커널(예컨대, DCT)로 변환되고 나서 코딩될 수 있다. 그 이유는 잔차 사이에 일부 상관관계가 여전히 존재할 수 있고 많은 경우에 변환이 이 상관을 줄여서 보다 효율적인 코딩을 제공하는 것을 도울 수 있기 때문이다.
비디오 인코더는 라그랑지안(Lagrangian) 비용 함수를 이용해서 최적의 코딩 모드, 예컨대 원하는 매크로블록 모드 및 연계된 모션 벡터를 탐색할 수 있다. 이러한 종류의 비용 함수는 가중 팩터 λ(람다)를 사용해서 손실 코딩 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡과 이미지 영역의 픽셀 값을 나타내는 데 필요한 (정확한 또는 추정된) 정보량을 함께 묶는다:
C=D+λR (1)
여기서, C는 최소화될 라그랑지안 비용이고, D는 모드 및 모션 벡터를 고려한 이미지 왜곡(예컨대, 평균 제곱 에러)이고, R은 디코더에서 이미지 블록을 재구성하기 위해 필요한 데이터를 나타내는 데 필요한 비트 수(후보 모션 벡터를 나타내기 위한 데이터량을 포함)이다.
비디오 코딩 표준 및 사양은 인코더가 코딩된 픽처를 코딩된 슬라이스 등으로 분할할 수 있게 한다. 인-픽처 예측은 통상 슬라이스 경계들에 걸쳐서는 비활성화된다. 따라서, 슬라이스는 코딩된 픽처를 독립적으로 디코딩 가능한 조각들로 분할하는 방법으로서 간주될 수 있다. H.264/AVC 및 HEVC에서, 인-픽처 예측은 슬라이스 경계들에 걸쳐서 비활성화될 수 있다. 따라서, 슬라이스는 코딩된 픽처를 독립적으로 디코딩 가능한 조각들로 분할하는 방법으로서 간주될 수 있고, 그에 따라 슬라이스는 종종 전송의 기본 단위로서 간주된다. 많은 경우에 있어서, 인코더는 어떤 유형의 인-픽처 예측이 슬라이스 경계에 걸쳐서 턴오프되는지를 비트스트림에 표시할 수 있고, 디코더 동작은 예를 들어 어떤 예측 소스가 이용 가능한지를 결정할 때 이 정보를 고려한다. 예를 들어, 이웃하는 매크로블록 또는 CU로부터의 샘플은, 이웃하는 매크로블록 또는 CU가 상이한 슬라이스에 상주하면, 인트라 예측에 이용 불가능한 것으로 간주될 수 있다.
H.264/AVC 또는 HEVC 인코더의 츨력 및 H.264/AVC 또는 HEVC 디코더의 입력에 대한 기본 단위는, 제각기, NAL(Network Abstraction Layer) 단위이다. 패킷-지향 네트워크를 통한 전송 또는 구조화된 파일로의 저장을 위해, NAL 단위가 패킷 또는 유사한 구조로 캡슐화될 수 있다. 바이트스트림 포맷은 프레이밍(framing) 구조를 제공하지 않는 전송 또는 저장 환경을 위해 H.264/AVC 및 HEVC에 지정되어 있다. 바이트스트림 포맷은 각각의 NAL 단위 앞에 개시 코드를 붙여서 NAL 단위들을 서로 분리한다. NAL 단위 경계의 잘못된 검출을 피하기 위해, 인코더는 바이트-지향 개시 코드 에뮬레이션 방지 알고리즘을 실행하고, 해당 알고리즘은 개시 코드가 발생했을 경우 에뮬레이션 방지 바이트를 NAL 단위 페이로드에 추가한다. 패킷-지향 시스템과 스트림-지향 시스템 사이에서 간단한 게이트웨이 동작을 가능하게 하게 위해, 개시 코드 에뮬레이션 방지는 바이트스트림 포맷이 사용되고 있는지의 여부에 관계없이 항상 수행될 수 있다. NAL 단위는 후속하는 데이터 유형의 표시 및 해당 데이터를 에뮬레이션 방지 바이트가 필요에 따라 산재되는 RBSP 형태로 포함하는 바이트를 포함하는 신택스 구조로서 정의될 수 있다. RBSP(raw byte sequence payload)는 NAL 단위로 캡슐화된 정수 바이트를 포함하는 신택스 구조로 정의될 수 있다. RBSP는 비어 있거나, 또는 신택스 요소, 이어서 RBSP 정지 비트, 이어서 0과 동일한 0개 이상의 후속 비트를 포함하는 데이터 비트의 문자열 형태를 갖는다.
NAL 단위는 헤더와 페이로드로 구성된다. H.264/AVC 및 HEVC에서, NAL 단위 헤더는 NAL 단위의 유형을 표시한다.
H.264/AVC NAL 단위 헤더는, 0과 동일할 때 NAL 단위에 포함되는 코딩된 슬라이스가 비-참조 픽처의 일부임을 표시하고, 0보다 클 때 NAL 단위에 포함되는 코딩된 슬라이스가 참조 픽처의 일부임을 표시하는, 2-비트 nal_ref_idc 신택스 요소를 포함한다. SVC 단위 및 MVC NAL 단위에 대한 헤더는 스케일러빌리티(scalability) 및 멀티뷰 계층과 관련되는 다양한 표시를 추가적으로 포함할 수 있다.
HEVC에서, 2-바이트 NAL 단위 헤더는 지정된 모든 NAL 단위 유형에 사용된다. NAL 단위 헤더는 하나의 예약 비트, 6-비트 NAL 단위 유형 표시, 시간 레벨(1 이상일 필요가 있음)에 대한 3-비트 nuh_temporal_id_plus1 표시 및 6-비트 nuh_layer_id 신택스 요소를 포함한다. temporal_id_plus1 신택스 요소는 NAL 단위에 대한 시간적 식별자로서 간주될 수 있고, 0-기준 TemporalId 변수는 다음과 같이 도출될 수 있다: TemporalId = temporal_id_plus1 - 1. 0과 동일한 TemporalId는 최저 시간 레벨에 대응한다. temporal_id_plus1의 값은 2개의 NAL 단위 헤더 바이트를 수반하는 개시 코드 에뮬레이션을 피하기 위해 0이 아닐 필요가 있다. 선택된 값 이상의 TemporalId를 갖는 모든 VCL NAL 단위를 배제하고 다른 모든 VCL NAL 단위를 포함함으로써 생성되는 비트스트림은 적합함을 유지한다. 결과적으로, TID와 동일한 TemporalId를 갖는 픽처는 인터 예측 참조로서 TID보다 큰 TemporalId를 갖는 픽처를 사용하지 않는다. 서브-레이어 또는 시간적 서브-레이어는 특정 값의 TemporalId 변수를 갖는 VCL NAL 단위 및 연계된 비-VCL NAL 단위로 구성되는 시간적 스케일러블 비트스트림의 시간적 스케일러블 레이어로 정의될 수 있다. HEVC의 nuh_layer_id 신택스 요소는 스케일러빌리티 계층에 대한 정보를 전달할 수 있다.
NAL 단위는 VCL(Video Coding Layer) NAL 단위 및 비-VCL NAL 단위로 분류될 수 있다. VCL NAL 단위는 통상적으로 코딩된 슬라이스 NAL 단위이다. H.264/AVC에서, 코딩된 슬라이스 NAL 단위는 하나 이상의 코딩된 매크로블록을 나타내는 신택스 요소를 포함하고, 각각의 매크로블록은 압축 해제된 픽처의 샘플들의 블록에 대응한다. HEVC에서, VCL NAL 단위는 하나 이상의 CU를 나타내는 신택스 요소를 포함한다.
H.264/AVC에서, 코딩된 슬라이스 NAL 단위는 IDR(Instantaneous Decoding Refresh) 픽처에서의 코딩된 슬라이스 또는 비-IDR 픽처에서의 코딩된 슬라이스로 표시될 수 있다.
HEVC에서, 코딩된 슬라이스 NAL 단위는 다음 유형들 중 하나로 표시될 수 있다:
Figure 112020017308937-pat00001
Figure 112020017308937-pat00002
HEVC에서, 픽처 유형들에 대한 약어는 다음과 같이, 즉: 트레일링(TRAIL) 픽처, Temporal Sub-layer Access (TSA), Step-wise Temporal Sub-layer Access (STSA), Random Access Decodable Leading (RADL) 픽처, Random Access Skipped Leading (RASL) 픽처, Broken Link Access (BLA) 픽처, Instantaneous Decoding Refresh (IDR) 픽처, Clean Random Access (CRA) 픽처로 정의될 수 있다.IRAP(intra random access point) 픽처라고 할 수도 있는 RAP(random access point) 픽처는 각각의 슬라이스 또는 슬라이스 세그먼트가 16 내지 23 범위(경계값 포함)의 nal_unit_type을 갖는 픽처이다. 독립 레이어에서의 IRAP 픽처는 인트라-코딩된 슬라이스들만을 포함한다. nuh_layer_id 값 currLayerId를 갖는 예측된 레이어에 속하는 IRAP 픽처는 P, B, 및 I 슬라이스를 포함할 수 있고, currLayerId와 동일한 nuh_layer_id를 갖는 다른 픽처들로부터의 인터 예측을 사용할 수 없고, 그 직접적인 참조 레이어들로부터 인터-레이어 예측을 사용할 수 있다. 현재의 HEVC 버전에 있어서, IRAP 픽처는 BLA 픽처, CRA 픽처 또는 IDR 픽처일 수 있다. 베이스 레이어를 포함하는 비트스트림에서의 제1 픽처는 IRAP 픽처이다. 필요한 파라미터 세트들이 활성화될 필요가 있을 때 이용 가능하다면, 독립 레이어에서의 IRAP 픽처 및 디코딩 순서상 독립 레이어에서의 모든 후속 비-RASL 픽처는 디코딩 순서상 IRAP 픽처에 선행하는 임의의 픽처들의 디코딩 프로세스를 수행하지 않고 정확하게 디코딩될 수 있다. 인트라-코딩된 슬라이스들만을 포함하는 비트스트림에는 RAP 픽처가 아닌 픽처가 있을 수 있다. nuh_layer_id 값 currLayerId를 갖는 예측된 레이어에 속하는 IRAP 픽처 및 디코딩 순서상 currLayerId와 동일한 nuh_layer_id를 갖는 모든 후속 비-RASL 픽처는, 필요한 파라미터 세트들이 활성화될 필요가 있을 때 이용 가능할 경우 및 currLayerId와 동일한 nuh_layer_id를 갖는 레이어의 각각의 직접적인 참조 레이어의 디코딩이 개시되었을 경우(즉, LayerInitializedFlag[ refLayerId ]가 currLayerId와 동일한 nuh_layer_id를 갖는 레이어의 직접적인 참조 레이어들의 모든 nuh_layer_id 값들과 동일한 refLayerId에 대하여 1과 같은 경우), 디코딩 순서상 IRAP 픽처에 선행하는 currLayerId와 동일한 nuh_layer_id를 갖는 임의의 픽처들의 디코딩 프로세스를 수행하지 않고 정확하게 디코딩될 수 있다.
HEVC에서 CRA 픽처는 디코딩 순서상 비트스트림에서 제1 픽처일 수 있거나, 또는 비트스트림에서 나중에 나타날 수 있다. HEVC에서 CRA 픽처는 디코딩 순서상 CRA 픽처에 후속하지만 출력 순서상 그것에 선행하는 소위 리딩(leading) 픽처를 허용한다. 리딩 픽처들 중 일부, 소위 RASL 픽처는 CRA 픽처보다 전에 디코딩된 픽처를 참조로서 사용할 수 있다. 디코딩 순서 및 출력 순서상 CRA 픽처에 후속하는 픽처는 CRA 픽처에서 랜덤 액세스가 수행될 경우에 디코딩 가능할 수 있으며, 그에 따라 IDR 픽처의 클린 랜덤 액세스 기능과 유사하게 클린 랜덤 액세스가 달성될 수 있다.
CRA 픽처는 연계된 RADL 픽처 또는 RASL 픽처를 가질 수 있다. CRA 픽처가 디코딩 순서상 비트스트림에서 제1 픽처일 경우, CRA 픽처는 디코딩 순서상 코딩된 비디오 시퀀스의 제1 픽처이고, 임의의 연계된 RASL 픽처들은 비트스트림에 존재하지 않는 픽처들에 대한 참조를 포함할 수 있기 때문에 디코더에 의해 출력되지 않고 디코딩 불가능할 수 있다.
리딩 픽처는 출력 순서상 연계된 RAP 픽처에 선행하는 픽처이다. 연계된 RAP 픽처는 디코딩 순서상 이전의 RAP 픽처(존재할 경우)이다. 리딩 픽처는 RADL 픽처 또는 RASL 픽처일 수 있다.
모든 RASL 픽처는 연계된 BLA 또는 CRA 픽처의 리딩 픽처이다. 연계된 RAP 픽처가 BLA 픽처이거나 또는 비트스트림에서 제1 코딩된 픽처일 경우, RASL 픽처는 비트스트림에 존재하지 않는 픽처들에 대한 참조를 포함할 수 있기 때문에, RASL 픽처는 출력되지 않고 정확하게 디코딩되지 않을 수도 있다. 그러나, RASL 픽처는 RASL 픽처의 연계된 RAP 픽처 이전의 RAP 픽처로부터 디코딩이 개시된 경우 정확하게 디코딩될 수 있다. RASL 픽처는 비-RASL 픽처의 디코딩 프로세스에 대한 참조 픽처로서 사용되지 않는다. 존재할 경우, 모든 RASL 픽처는 디코딩 순서상 동일한 연계된 RAP 픽처의 모든 트레일링 픽처에 선행한다. HEVC 표준의 일부 드래프트에 있어서는, RASL 픽처를 TFD(Tagged for Discard) 픽처라고 했었다.
모든 RADL 픽처는 리딩 픽처이다. RADL 픽처는 동일한 연계된 RAP 픽처의 트레일링 픽처의 디코딩 프로세스에 대한 참조 픽처로서 사용되지 않는다. 존재할 경우, 모든 RADL 픽처는 디코딩 순서상 동일한 연계된 RAP 픽처의 모든 트레일링 픽처에 선행한다. RADL 픽처는 디코딩 순서상 연계된 RAP 픽처에 선행하는 픽처를 참조하지 않으므로, 연계된 RAP 픽처로부터 디코딩을 개시할 때 정확하게 디코딩될 수 있다. HEVC 표준의 일부 드래프트에 있어서는, RADL 픽처를 DLP(Decodable Leading Picture)라고 했었다.
CRA 픽처로부터 개시하는 비트스트림의 일부가 다른 비트스트림에 포함될 경우, CRA 픽처와 연계되는 RASL 픽처는 그 참조 픽처들의 일부가 결합된 비트스트림에 존재하지 않을 수 있기 때문에 정확하게 디코딩되지 않을 수도 있다. 이러한 스플라이싱(splicing) 동작을 간단하게 만들기 위해, CRA 픽처의 NAL 단위 유형은 그것이 BLA 픽처임을 표시하도록 변경될 수 있다. BLA 픽처와 연계되는 RASL 픽처는 정확하게 디코딩되지 않을 수도 있기 때문에, 출력/디스플레이되지 않는다. 또한, BLA 픽처와 연계되는 RASL 픽처는 디코딩에서 생략될 수 있다.
BLA 픽처는 디코딩 순서상 비트스트림에서 제1 픽처일 수 있거나, 또는 비트스트림에서 나중에 나타날 수 있다. 각각의 BLA 픽처는 새로운 코딩된 비디오 시퀀스를 시작하고, 디코딩 프로세스에 IDR 픽처와 유사한 영향을 미친다. 그러나, BLA 픽처는 비어 있지 않은 참조 픽처 세트를 지정하는 신택스 요소를 포함할 수 있다. BLA 픽처가 BLA_W_LP와 동일한 nal_unit_type을 가질 경우, 이는 디코더에 의해 출력되지 않고 디코딩 불가능할 수 있는 연계된 RASL 픽처를 가질 수 있는데, 이는 이들이 비트스트림 내에 존재하지 않는 픽처에 대한 참조를 포함할 수 있기 때문이다. BLA 픽처가 BLA_W_LP와 동일한 nal_unit_type을 가질 경우, 이는 또한 디코딩되도록 지정된 연계된 RADL 픽처를 가질 수 있다. BLA 픽처가 BLA_W_DLP와 동일한 nal_unit_type을 가질 경우, 이는 연계된 RASL 픽처를 갖지 않지만 디코딩되도록 지정된 연계된 RADL 픽처를 가질 수 있다. BLA가 BLA_N_LP와 동일한 nal_unit_type을 가질 경우, 이는 어떠한 연계된 리딩 픽처도 갖지 않는다.
IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림에 존재하는 연계된 리딩 픽처를 갖지 않는다. IDR_W_LP와 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림에 존재하는 연계된 RASL 픽처를 갖지 않지만, 비트스트림에 연계된 RADL 픽처를 가질 수 있다.
nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일할 경우, 디코딩된 픽처는 동일한 시간적 서브-레이어의 임의의 다른 픽처를 위한 참조로서 사용되지 않는다. 즉, HEVC에서, nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일할 경우, 디코딩된 픽처는 동일한 TemporalId의 값을 갖는 임의의 픽처의 RefPicSetStCurrBefore, RefPicSetStCurrAfter 및 RefPicSetLtCurr 중 어느 하나에 포함되지 않는다. TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일한 nal_unit_type을 갖는 코딩된 픽처는 동일한 TemporalId의 값을 갖는 다른 픽처의 디코딩 가능성에 영향을 미치지 않고 폐기될 수 있다.
트레일링 픽처는 출력 순서상 연계된 RAP에 후속하는 픽처로서 정의될 수 있다. 트레일링 픽처인 임의의 픽처는 RADL_N, RADL_R, RASL_N 또는 RASL_R과 동일한 nal_unit_type을 갖지 않는다. 리딩 픽처인 임의의 픽처는 디코딩 순서상 동일한 RAP 픽처와 연계된 모든 트레일링 픽처에 선행하도록 제약될 수 있다. BLA_W_DLP 또는 BLA_N_LP와 동일한 nal_unit_type을 갖는 BLA 픽처와 연계된 어떠한 RASL 픽처도 비트스트림에 존재하지 않는다. BLA_N_LP와 동일한 nal_unit_type을 갖는 BLA 픽처와 연계된 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 픽처와 연계된 어떠한 RADL 픽처도 비트스트림에 존재하지 않는다. CRA 또는 BLA 픽처와 연계되는 임의의 RASL 픽처는 출력 순서상 CRA 또는 BLA 픽처와 연계되는 임의의 RADL 픽처에 선행하도록 제약될 수 있다. CRA 픽처와 연계되는 임의의 RASL 픽처는 디코딩 순서상 CRA 픽처에 선행하는 임의의 다른 RAP 픽처에, 출력 순서상 후속하도록 제약될 수 있다.
HEVC에서, 시간적 서브-레이어 스위칭 포인트를 표시하는 데 사용될 수 있는 2가지의 픽처 유형, 즉 TSA 및 STSA 픽처 유형이 존재한다. 최대 N의 TemporalId를 갖는 시간적 서브-레이어가 TSA 또는 STSA 픽처(경계값 제외) 및 TSA 또는 STSA 픽처가 N+1과 동일한 TemporalId를 가질 때까지 디코딩되어 있으면, TSA 또는 STSA 픽처는 N+1과 동일한 TemporalId를 갖는 모든 후속 픽처(디코딩 순서상)의 디코딩을 가능하게 한다. TSA 픽처 유형은 TSA 픽처 자체 및 디코딩 순서상 TSA 픽처에 후속하는 동일한 서브-레이어 내의 모든 픽처에 제한을 부과할 수 있다. 이들 픽처의 어느 것도 디코딩 순서상 TSA 픽처에 선행하는 동일한 서브-레이어 내의 임의의 픽처로부터 인터 예측을 사용하도록 허용되지 않는다. TSA 정의는 디코딩 순서상 TSA 픽처에 후속하는 상위의 서브-레이어 내의 픽처에 제한을 더 부과할 수 있다. 이들 픽처의 어느 것도 해당 픽처가 TSA 픽처와 동일한 또는 상위의 서브-레이어에 속하면 디코딩 순서상 TSA 픽처에 선행하는 픽처를 참조하도록 허용되지 않는다. TSA 픽처는 0보다 큰 TemporalId를 갖는다. STSA는 TSA 픽처와 유사하지만, 디코딩 순서상 STSA 픽처에 후속하는 상위의 서브-레이어 내의 픽처에 제한을 부여하지 않고, 그에 따라 STSA 픽처가 상주하는 서브-레이어 상에만 업-스위칭(up-switching)을 가능하게 한다.
비-VCL NAL 단위는, 예를 들어, 이하의 유형: 즉, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충 인핸스먼트 정보(supplemental enhancement information: SEI) NAL 단위, 액세스 단위 구분문자(delimiter), 시퀀스 종단 NAL 단위, 비트스트림 종단 NAL 단위, 또는 필러 데이터 NAL 단위 중 하나일 수 있다. 파라미터 세트는 디코딩된 픽처의 재구성을 위해 필요할 수 있는 반면, 다수의 다른 비-VCL NAL 단위는 디코딩된 샘플 값의 재구성에 필요하지 않다.
코딩된 비디오 시퀀스를 통해 변경없이 유지되는 파라미터가 시퀀스 파라미터 세트에 포함될 수 있다. 디코딩 프로세스에 의해 필요해질 수 있는 파라미터에 더하여, 시퀀스 파라미터 세트는 버퍼링, 픽처 출력 타이밍, 렌더링, 및 리소스 예약을 위해 중요할 수 있는 파라미터를 포함하는 비디오 사용성 정보(VUI)를 선택적으로 포함할 수 있다. 시퀀스 파라미터 세트를 전달하기 위해 H.264/AVC에 지정되는 3개의 NAL 단위: 즉, 시퀀스 내의 H.264/AVC VCL NAL 단위에 대한 모든 데이터를 포함하는 시퀀스 파라미터 세트 NAL 단위, 보조 코딩된 픽처에 대한 데이터를 포함하는 시퀀스 파라미터 세트 확장 NAL 단위, 및 MVC 및 SVC VCL NAL 단위에 대한 서브세트 시퀀스 파라미터 세트가 존재한다. HEVC에서 시퀀스 파라미터 세트 RBSP는 하나 이상의 픽처 파라미터 세트 RBSP에 의해 또는 버퍼링 주기 SEI 메시지를 포함하는 하나 이상의 SEI NAL 단위에 의해 참조될 수 있는 파라미터를 포함한다. 픽처 파리미터 세트는 몇몇 코딩된 픽처에서 변경되지 않을 가능성이 있는 이러한 파라미터를 포함한다. 픽처 파라미터 세트 RBSP는 하나 이상의 코딩된 픽처의 코딩된 슬라이스 NAL 단위에 의해 참조될 수 있는 파라미터를 포함할 수 있다.
HEVC에서, 비디오 파라미터 세트(VPS)는 각각의 슬라이스 세그먼트 헤더에서 확인되는 신택스 요소에 의해 참조되는 PPS에서 확인되는 신택스 요소에 의해 참조되는 SPS에서 확인되는 신택스 요소의 콘텐츠에 의해 결정되는 바와 같이 0개 이상의 전체 코딩된 비디오 시퀀스에 적용되는 신택스 요소를 포함하는 신택스 구조로서 정의될 수 있다.
비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 세트 RBSP에 의해 참조될 수 있는 파라미터를 포함할 수 있다.
비디오 파라미터 세트(VPS), 시퀀스 파라미터 세트(SPS), 및 픽처 파라미터 세트(PPS) 사이의 관계 및 계층이 다음과 같이 설명될 수 있다. VPS는 파라미터 세트 계층 내에 그리고 스케일러빌리티 및/또는 3D 비디오의 맥락에서 SPS보다 1 레벨 위에 상주한다. VPS는 전체 코딩된 비디오 시퀀스에서 모든 (스케일러빌리티 또는 뷰) 레이어를 가로질러 모든 슬라이스에 대하여 공통인 파라미터를 포함할 수 있다. SPS는 전체 코딩된 비디오 시퀀스에서 특정 (스케일러빌리티 또는 뷰) 레이어 내의 모든 슬라이스에 대하여 공통인 파라미터를 포함하고, 다수의 (스케일러빌리티 또는 뷰) 레이어에 의해 공유될 수 있다. PPS는 특정 레이어 표현(하나의 액세스 단위의 하나의 스케일러빌리티 또는 뷰 레이어의 표현) 내의 모든 슬라이스에 대하여 공통이고 다수의 레이어 표현 내의 모든 슬라이스에 의해 공유될 가능성이 있는 파라미터를 포함한다.
VPS는 비트스트림 내의 레이어들의 종속 관계에 관한 정보, 뿐만 아니라 전체 코딩된 비디오 시퀀스에서 모든 (스케일러빌리티 또는 뷰) 레이어를 가로질러 모든 슬라이스에 적용 가능한 다수의 다른 정보를 제공할 수 있다. VPS는 3개의 부분, 즉 베이스 VPS, VPS 확장, 및 VPS VUI를 포함하는 것으로 간주될 수 있고, 여기서 VPS 확장 및 VPS VUI는 선택적으로 존재할 수 있다. HEVC에서, 베이스 VPS는 vps_extension( ) 신택스 구조 없이 video_parameter_set_rbsp( ) 신택스 구조를 포함하는 것으로 간주될 수 있다. video_parameter_set_rbsp( ) 신택스 구조는 주로 이미 HEVC 버전 1에 대하여 지정되었고, 베이스 레이어 디코딩에 사용할 수 있는 신택스 요소를 포함한다. HEVC에서, VPS 확장은 vps_extension( ) 신택스 구조를 포함하는 것으로 간주될 수 있다. vps_extension( ) 신택스 구조는 HEVC 버전 2에서 주로 멀티-레이어 확장에 대하여 지정되었고, 레이어 종속 관계를 표시하는 신택스 요소와 같이, 하나 이상의 비-베이스 레이어의 디코딩에 사용할 수 있는 신택스 요소를 포함한다. VPS VUI는 디코딩 또는 다른 목적에 유용할 수 있지만 HEVC 디코딩 프로세스에 사용될 필요는 없는 신택스 요소를 포함한다.
H.264/AVC 및 HEVC 신택스는 파라미터 세트의 다수의 인스턴스를 허용하고, 각각의 인스턴스는 고유 식별자로 식별된다. 파라미터 세트에 필요한 메모리 사용량을 제한하기 위해, 파라미터 세트 식별자에 대한 값 범위가 제한되고 있다. H.264/AVC 및 HEVC에서, 각각의 슬라이스 헤더는 슬라이스를 포함하는 픽처의 디코딩을 위해 활성화된 픽처 파라미터 세트의 식별자를 포함하고, 각각의 픽처 파라미터 세트는 활성 시퀀스 파라미터 세트의 식별자를 포함한다. 결과적으로, 픽처 및 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기화될 필요는 없다. 대신에, 활성 시퀀스 및 픽처 파라미터 세트가 이들이 참조되기 전의 임의의 순간에 수신되면 충분한데, 이는 슬라이스 데이터에 사용되는 프로토콜에 비해 더 신뢰할 수 있는 전송 메커니즘을 사용하여 "대역외(out-of-band)" 파라미터 세트의 전송을 허용한다. 예를 들어, 파라미터 세트는 실시간 전송 프로토콜(Real-time Transport Protocol)(RTP) 세션을 위한 세션 설명에서 파라미터로서 포함될 수 있다. 파라미터 세트들이 대역내(in-band) 전송되면, 이들 파라미터 세트는 에러 강인성을 향상시키기 위해 반복될 수 있다.
대역외 전송, 시그널링 또는 저장은 액세스의 용이성 또는 세션 협상과 같이, 전송 에러에 대한 허용오차 이외의 다른 목적에 추가적으로 또는 대안으로서 사용될 수 있다. 예를 들어, ISO 베이스 매체 파일 포맷(ISO Base Media File Format)을 따르는 파일의 트랙의 샘플 엔트리는 파라미터 세트를 포함할 수 있는 반면, 비트스트림에서의 코딩된 데이터는 파일의 다른 곳에 또는 다른 파일에 저장된다. 비트스트림을 따르는 문구(예컨대, 비트스트림을 따라 표시)는 청구범위 및 설명된 실시형태들에서 대역외 데이터가 비트스트림과 연계되는 방식으로 대역외 전송, 시그널링, 또는 저장을 가리키는 데 사용될 수 있다. 비트스트림 등을 따르는 문구 디코딩은 비트스트림과 연계된 참조된 대역외 데이터(대역외 전송, 시그널링, 또는 저장으로부터 취득될 수 있음)를 디코딩하는 것을 가리킬 수 있다.
파라미터 세트는 슬라이스로부터 또는 다른 활성 파라미터 세트로부터 또는 몇몇 경우에 버퍼링 기간 SEI 메시지와 같은 다른 신택스 구조로부터 참조에 의해 활성화될 수 있다.
SEI NAL 단위는 출력 픽처의 디코딩에 필요하지 않지만, 픽처 출력 타이밍, 렌더링, 에러 검출, 에러 은폐, 및 리소스 예약과 같은 관련 프로세스를 보조할 수 있는 하나 이상의 SEI 메시지를 포함할 수 있다. 여러 SEI 메시지가 H.264/AVC 및 HEVC에 지정되고, 사용자 데이터 SEI 메시지는 기관 및 회사가 그들 자신의 사용을 위해 SEI 메시지를 지정하는 것을 가능하게 한다. H.264/AVC 및 HEVC는 지정된 SEI 메시지에 대한 신택스 및 시맨틱스를 포함하지만, 수신자 내의 메시지를 취급하기 위한 어떠한 프로세스도 정의되지 않는다. 결과적으로, 인코더는 H.264/AVC 표준 또는 HEVC 표준이 SEI 메시지를 생성할 때 이들을 따르도록 요구되고, H.264/AVC 표준 또는 HEVC 표준을 따르는 디코더들은 제각기 출력 순서 적합성을 위해 SEI 메시지를 처리할 필요가 없다. H.264/AVC 및 HEVC에서 SEI 메시지의 신택스 및 시맨틱스를 포함하는 이유들 중 하나는 상이한 시스템 사양들이 보충 정보를 동일하게 해석하고 그에 따라 상호 동작하도록 하기 위한 것이다. 시스템 사양은 인코딩 종료 및 디코딩 종료의 모두에서 특정 SEI 메시지의 사용을 필요로 할 수 있고, 부가적으로 수신자 내의 특정 SEI 메시지를 취급하기 위한 프로세스가 지정될 수 있는 것이 의도된다.
다수의 네스팅 SEI 메시지는 AVC 및 HEVC 표준에 지정되거나 다른 방식으로 제안되어 있다. 네스팅 SEI 메시지의 사상은 네스팅 SEI 메시지 내에 하나 이상의 SEI 메시지를 포함하고 포함된 SEI 메시지를 비트스트림의 서브세트 및/또는 디코딩된 데이터의 서브세트와 연계하기 위한 메커니즘을 제공하는 것이다. 네스팅 SEI 메시지는 네스팅 SEI 메시지 자체가 아닌 하나 이상의 SEI 메시지를 포함하도록 요구될 수 있다. 네스팅 SEI 메시지에 포함된 SEI 메시지를 네스팅된 SEI 메시지라고 할 수 있다. 네스팅 SEI 메시지에 포함되지 않는 SEI 메시지를 비-네스팅된 SEI 메시지라고 할 수 있다. HEVC의 스케일러블 네스팅 SEI 메시지는 비트스트림 서브세트(서브-비트스트림 추출 프로세스로부터 발생함) 또는 네스팅된 SEI 메시지가 적용되는 레이어 세트를 식별할 수 있게 한다. 비트스트림 서브세트를 서브-비트스트림이라고 할 수도 있다.
코딩된 픽처는 픽처의 코딩된 표현이다. H.264/AVC에서의 코딩된 픽처는 픽처의 디코딩에 필요한 VCL NAL 단위를 포함한다. H.264/AVC에서, 코딩된 픽처는 일차 코딩된 픽처 또는 중복 코딩된 픽처일 수 있다. 일차 코딩된 픽처는 유효한 비트스트림에서 사용되는 반면, 중복 코딩된 픽처는 일차 코딩된 픽처가 성공적으로 디코딩될 수 없을 때에만 디코딩되어야 하는 중복 표현이다. HEVC에서는, 중복 코딩된 픽처가 지정되어 있지 않다.
H.264/AVC에서, 액세스 단위(AU)는 일차 코딩된 픽처 및 그것과 연계된 NAL 단위를 포함한다. H.264/AVC에서, 액세스 단위 내의 NAL 단위의 출현 순서는 다음과 같이 제한된다. 선택적인 액세스 단위 구분문자 NAL 단위는 액세스 단위의 개시를 표시할 수 있다. 0개 이상의 SEI NAL 단위가 이어진다. 일차 코딩된 픽처의 코딩된 슬라이스가 이어서 나타난다. H.264/AVC에서, 일차 코딩된 픽처의 코딩된 슬라이스에는 0개 이상의 중복 코딩된 픽처에 대한 코딩된 슬라이스가 후속될 수 있다. 중복 코딩된 픽처는 픽처 또는 픽처의 일부의 코딩된 표현이다. 중복 코딩된 픽처는 일차 코딩된 픽처가 예를 들어 전송 손실 또는 물리적 저장 매체의 손상으로 인해 디코더에 의해 수신되지 않을 경우에 디코딩될 수 있다.
H.264/AVC에서, 액세스 단위는 보조 코딩된 픽처를 또한 포함할 수 있으며, 보조 코딩된 픽처는 일차 코딩된 픽처를 보충하며, 예를 들어 디스플레이 프로세스에서 사용될 수 있다. 보조 코딩된 픽처는, 예를 들어 디코딩된 픽처에서 샘플의 투명도 레벨을 지정하는 알파 채널 또는 알파 평면으로 사용될 수 있다. 알파 채널 또는 평면은 레이어드 조성 또는 렌더링 시스템에서 사용될 수 있고, 여기서 출력 픽처는 적어도 부분적으로 투명한 픽처들을 쌓아올려 중첩시켜서 형성된다. 보조 코딩된 픽처는 단색 중복 코딩된 픽처와 동일한 신택스 및 시맨틱스 제한을 갖는다. H.264/AVC에서, 보조 코딩된 픽처는 일차 코딩된 픽처와 동일한 수의 매크로블록을 포함한다.
HEVC에서, 코딩된 픽처는 픽처의 모든 코딩 트리 단위를 포함하는 픽처의 코딩된 표현으로서 정의될 수 있다. HEVC에서, 액세스 단위(AU)는 지정된 분류 규칙에 따라 서로 연계되고, 디코딩 순서상 연속적이고, nuh_layer_id의 임의의 특정 값을 갖는 최대 하나의 픽처를 포함하는 NAL 단위 세트로서 정의될 수 있다. 코딩된 픽처의 VCL NAL 단위를 포함하는 것에 추가하여, 액세스 단위는 또한 비-VCL NAL 단위를 포함할 수 있다.
비트스트림은, 하나 이상의 코딩된 비디오 시퀀스를 형성하는 코딩된 픽처 및 연계된 데이터의 표현을 형성하는, NAL 단위 스트림 또는 바이트 스트림 형태의 비트들의 시퀀스로서 정의될 수 있다. 제1 비트스트림에는, 통신 프로토콜의 동일한 파일 또는 동일한 연결에서와 같이, 동일한 논리 채널에서 제2 비트스트림이 이어질 수 있다. 기본 스트림(비디오 코딩의 맥락에서)은 하나 이상의 비트스트림의 시퀀스로서 정의될 수 있다. 제1 비트스트림의 종단은 특정 NAL 단위로 표시될 수 있으며, 이는 비트스트림의 종단(EOB) NAL 단위라고 할 수 있으며 비트스트림의 최종 NAL 단위이다. HEVC 및 그 현재 드래프트 확장에서, EOB NAL 단위는 0과 동일한 nuh_layer_id를 가질 필요가 있다.
H.264/AVC에서, 코딩된 비디오 시퀀스는 디코딩 순서상 IDR 액세스 단위(경계값 포함)로부터 다음의 IDR 액세스 단위(경계값 제외)까지, 또는 더 조기에 출현하는 어느 것의 비트스트림의 종단까지 연속적인 액세스 단위의 시퀀스인 것으로 정의된다.
HEVC에서, 코딩된 비디오 시퀀스(CVS)는, 예를 들어, 디코딩 순서상, 1과 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위, 이어서 1과 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위인 임의의 후속 액세스 단위까지 그러나 이를 포함하지 않는 모든 후속 액세스 단위를 포함하여, 1과 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위가 아닌 0개 이상의 액세스 단위로 이루어지는 액세스 단위의 시퀀스로서 정의될 수 있다. IRAP 액세스 단위는 베이스 레이어 픽처가 IRAP 픽처인 액세스 단위로서 정의될 수 있다. NoRaslOutputFlag의 값은 각각의 IDR 픽처, 각각의 BLA 픽처, 및 각각의 IRAP 픽처에 대하여 1과 동일하고, 디코딩 순서상 비트스트림에서 해당 특정 레이어에서의 제1 픽처는 디코딩 순서상 동일한 nuh_layer_id의 값을 갖는 시퀀스 종단 NAL 단위에 후속하는 제1 IRAP 픽처이다. 멀티-레이어 HEVC에서, NoRaslOutputFlag의 값은, 그 nuh_layer_id가 IdDirectRefLayer[ nuh_layer_id ][ j ]와 동일한 refLayerId의 모든 값에 대하여 LayerInitializedFlag[ nuh_layer_id ]가 0과 동일하고 LayerInitializedFlag[ refLayerId ]가 1과 동일하게 될 경우에, 각각의 IRAP 픽처에 대하여 1과 동일하고, 여기서 j는 0 내지 NumDirectRefLayers[ nuh_layer_id ] - 1의 범위(경계값 포함) 내이다. 그렇지 않으면, NoRaslOutputFlag의 값은 HandleCraAsBlaFlag와 동일하다. 1과 동일한 NoRaslOutputFlag는 NoRaslOutputFlag가 설정된 IRAP 픽처와 연계되는 RASL 픽처가 디코더에 의해 출력되지 않는다는 영향이 있다. HandleCraAsBlaFlag의 값을, 디코더를 제어할 수 있는 플레이어 또는 수신자와 같은, 외부 엔티티로부터 디코더에 제공하기 위한 수단이 존재할 수 있다. HandleCraAsBlaFlag는, 예를 들어, 비트스트림에서 새로운 위치를 찾거나 또는 브로드캐스트에 동조하고, 디코딩을 개시하고, 이어서 CRA 픽처로부터 디코딩을 개시하는 플레이어에 의해 1로 설정될 수 있다. CRA 픽처에 대하여 HandleCraAsBlaFlag가 1과 동일한 경우, CRA 픽처는 BLA 픽처였던 것처럼 취급 및 디코딩된다.
HEVC에서, 코딩된 비디오 시퀀스는, 시퀀스 종단(EOS) NAL 단위라고 할 수 있는 특정 NAL 단위가 비트스트림에 출현하고 0과 동일한 nuh_layer_id를 가질 경우, (상기 사양에 대하여) 부가적으로 또는 대안으로서 종료하도록 지정될 수 있다.
HEVC에서, 코딩된 비디오 시퀀스 그룹(CVSG)은, 예를 들어, 아직 활성화되어 있지 않은 VPS RBSP firstVpsRbsp를 활성화하는 IRAP 액세스 단위에 이어서, firstVpsRbsp가 비트스트림의 종단까지 또는 디코딩 순서상 더 이전의 firstVpsRbsp와는 다른 VPS RBSP를 활성화하는 액세스 단위를 제외한 것까지의 활성 VPS RBSP인, 디코딩 순서상, 모든 후속 액세스 단위로 총괄적으로 구성되는, 디코딩 순서상 하나 이상의 연속적인 CVS로서 정의될 수 있다.
픽처 그룹(group of pictures: GOP) 및 그 특성은 다음과 같이 정의될 수 있다. GOP는 임의의 이전의 픽처가 디코딩되었는지 여부에 관계없이 디코딩될 수 있다. 개방 GOP는 출력 순서상 초기 인트라 픽처에 선행하는 픽처가 개방 GOP의 초기 인트라 픽처로부터 디코딩이 개시될 때 정확하게 디코딩 가능하지 않을 수도 있는 그러한 픽처 그룹이다. 다시 말해서, 개방 GOP의 픽처는 이전의 GOP에 속하는 픽처를 참조할 수 있다(인터 예측에서). H.264/AVC 디코더는 H.264/AVC 비트스트림에서의 복원 포인트 SEI 메시지로부터 개방 GOP를 개시하는 인트라 픽처를 인식할 수 있다. HEVC 디코더는, 특정 NAL 단위 유형, 즉 CRA NAL 단위 유형이 그 코딩된 슬라이스에 대해 사용될 수 있기 때문에, 개방 GOP를 개시하는 인트라 픽처를 인식할 수 있다. 폐쇄 GOP는 폐쇄 GOP의 초기 인트라 픽처로부터 디코딩이 개시될 때 모든 픽처가 정확하게 디코딩될 수 있는 그러한 픽처 그룹이다. 다시 말해서, 폐쇄 GOP 내의 어떠한 픽처도 이전의 GOP 내의 임의의 픽처를 참조하지 않는다. H.264/AVC 및 HEVC에서, 폐쇄 GOP는 IDR 픽처로부터 개시할 수 있다. HEVC에서, 폐쇄 GOP는 또한 BLA_W_RADL 또는 BLA_N_LP 픽처로부터 개시할 수 있다. 개방 GOP 코딩 구조는 참조 픽처의 선택에 있어서 융통성이 더 크기 때문에, 폐쇄 GOP 코딩 구조에 비해 압축에 있어서 잠재적으로 더 효율적이다.
픽처 구조(Structure of Pictures: SOP)는 디코딩 순서상 연속적인 하나 이상의 코딩된 픽처로서 정의될 수 있는데, 여기서 디코딩 순서상 제1 코딩된 픽처는 최저 시간적 서브-레이어에서 참조 픽처이고, 디코딩 순서상 잠재적으로 제1 코딩된 픽처를 제외한 어떠한 코딩된 픽처도 RAP 픽처가 아니다. 이전의 SOP에서의 모든 픽처는 디코딩 순서상 현재의 SOP에서의 모든 픽처에 선행하고, 다음 SOP에서의 모든 픽처는 디코딩 순서상 현재의 SOP에서의 모든 픽처에 후속한다. SOP는 계층적 및 반복적 인터 예측 구조를 나타낼 수 있다. 픽처 그룹(GOP)이라는 용어는 때때로 SOP라는 용어와 상호교환 가능하게 사용될 수 있고, SOP의 시맨틱스와 동일한 시맨틱스를 갖는다.
H.264/AVC 및 HEVC의 비트스트림 신택스는 특정한 픽처가 어느 다른 픽처의 인터 예측에 대한 참조 픽처인지의 여부를 표시한다. 임의의 코딩 유형(I, P, B)의 픽처가 H.264/AVC 및 HEVC에서 참조 픽처 또는 비-참조 픽처일 수 있다.
H.264/AVC는 디코더 내의 메모리 소비를 제어하기 위해 디코딩된 참조 픽처 마킹을 위한 프로세스를 지정한다. M이라 칭하는 인터 예측에 사용되는 최대 참조 픽처 수는 시퀀스 파라미터 세트에서 결정된다. 참조 픽처가 디코딩될 때, 이는 "참조에 사용됨(used for reference)"으로서 마킹된다. 참조 픽처의 디코딩이 M개 초과의 픽처를 "참조에 사용됨"으로서 마킹되게 하면, 적어도 하나의 픽처가 "참조에 미사용됨(unused for reference)"으로서 마킹된다. 디코딩된 참조 픽처 마킹을 위한 2가지 유형의 동작, 즉, 적응성 메모리 제어 및 슬라이딩 윈도우가 존재한다. 디코딩된 참조 픽처 마킹을 위한 동작 모드는 픽처를 기준으로 선택된다. 적응성 메모리 제어는 어느 픽처가 "참조에 미사용됨"으로서 마킹되는지의 명시적 시그널링을 가능하게 하고, 또한 장기 인덱스를 단기 참조 픽처에 할당할 수 있다. 적응성 메모리 제어는 비트스트림에서의 메모리 관리 제어 동작(memory management control operation: MMCO) 파라미터의 존재를 요구할 수 있다. MMCO 파라미터는 디코딩된 참조 픽처 마킹 신택스 구조에 포함될 수 있다. 슬라이딩 윈도우 동작 모드가 사용중이고 "참조에 사용됨"으로서 마킹된 M개의 픽처가 존재하면, "참조에 사용됨"으로서 마킹된 이들 단기 참조 픽처 중에서 첫번째 디코딩된 픽처였던 단기 참조 픽처가 "참조에 미사용됨"으로서 마킹된다. 다시 말해서, 슬라이딩 윈도우 동작 모드는 단기 참조 픽처 사이에 선입선출 버퍼링 동작을 야기한다.
H.264/AVC에서 메모리 관리 제어 동작 중 하나는 현재의 픽처를 제외한 모든 참조 픽처를 "참조에 미사용됨"으로서 마킹되게 한다. 순시 디코딩 리프레시(IDR) 픽처는 단지 인트라-코딩된 슬라이스만을 포함하고, 참조 픽처의 유사한 "재설정(reset)"을 야기한다.
HEVC 표준에서, 참조 픽처 마킹 신택스 구조 및 관련 디코딩 프로세스가 사용되지 않고, 대신에 참조 픽처 세트(RPS) 신택스 구조 및 디코딩 프로세스가 유사한 목적으로 대신 사용된다. 픽처에 대하여 유효하거나 활성화된 참조 픽처 세트는 픽처에 대한 참조로서 사용된 모든 참조 픽처 및 디코딩 순서상 임의의 후속 픽처에 대하여 "참조에 사용됨"으로서 계속 마킹되어 있는 모든 참조 픽처를 포함한다. 즉, RefPicSetStCurr0(일명, RefPicSetStCurrBefore), RefPicSetStCurr1(일명, RefPicSetStCurrAfter), RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr, 및 RefPicSetLtFoll이라고 하는 참조 픽처 세트의 6개의 서브세트가 존재한다. RefPicSetStFoll0 및 RefPicSetStFoll1은 함께 하나의 서브세트 RefPicSetStFoll을 형성하는 것으로 간주될 수도 있다. 6개의 서브세트의 표기법은 다음과 같다. "Curr"은 현재의 픽처의 참조 픽처 리스트에 포함되고 그에 따라 현재의 픽처에 대한 인터 예측 참조로서 사용될 수 있는 참조 픽처를 의미한다. "Foll"은 현재의 픽처의 참조 픽처 리스트에 포함되지 않지만 디코딩 순서상 후속 픽처에서 참조 픽처로서 사용될 수 있는 참조 픽처를 의미한다. "St"는 일반적으로 그 POC 값의 특정 수의 최하위 비트를 통해 식별될 수 있는 단기 참조 픽처를 의미한다. "Lt"는 일반적으로 현재의 픽처에 대한 POC 값의 차이가 위에 언급된 특정 수의 최하위 비트에 의해 표현될 수 있는 것보다 현저하고 구체적으로 식별된 장기 참조 픽처를 의미한다. "0"은 POC 값이 현재의 픽처의 것보다 작은 참조 픽처를 의미한다. "1"은 POC 값이 현재의 픽처의 것보다 큰 참조 픽처를 의미한다. RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0 및 RefPicSetStFoll1은 참조 픽처 세트의 단기 서브세트라 총칭한다. RefPicSetLtCurr 및 RefPicSetLtFoll은 참조 픽처 세트의 장기 서브세트라 총칭한다.
HEVC에서, 참조 픽처 세트는 시퀀스 파라미터 세트에서 지정될 수 있고 참조 픽처 세트에 대한 인덱스를 통해 슬라이스 헤더에서 사용될 수 있다. 참조 픽처 세트는 또한 슬라이스 헤더에서 지정될 수도 있다. 참조 픽처 세트는 독립적으로 코딩될 수 있거나 또는 다른 참조 픽처 세트로부터 예측(인터-RPS 예측으로서 공지됨)될 수 있다. 참조 픽처 세트 코딩의 두 유형에서, 플래그(used_by_curr_pic_X_flag)는 참조 픽처가 현재의 픽처에 의해 참조에 사용되는지(*Curr list에 포함됨) 아닌지(*Foll list에 포함됨)의 여부를 표시하는 각각의 참조 픽처에 대하여 추가로 송신된다. 현재의 슬라이스에 의해 사용되는 참조 픽처 세트에 포함된 픽처는 "참조에 사용됨"으로서 마킹되고, 현재의 슬라이스에 의해 사용되는 참조 픽처 세트에 없는 픽처는 "참조에 미사용됨"으로서 마킹된다. 현재의 픽처가 IDR 픽처이면, RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr, 및 RefPicSetLtFoll은 모두 비어 있도록 설정된다.
스케일러블 비디오 코딩은 하나의 비트스트림이 상이한 비트레이트, 분해능, 또는 프레임 레이트에서 콘텐츠의 다수의 표현을 포함할 수 있는 코딩 구조를 의미할 수 있다. 이들 경우에, 수신기는 그 특성(예컨대, 디스플레이 디바이스에 가장 양호하게 정합하는 분해능)에 따라 원하는 표현을 추출할 수 있다. 대안으로서, 서버 또는 네트워크 요소는 예컨대, 수신기의 네트워크 특성 또는 처리 능력에 따라 수신기에 전송될 비트스트림의 부분을 추출할 수 있다. 스케일러블 비트스트림은 이용가능한 최저 품질 비디오를 제공하는 "베이스 레이어(base layer)" 및 수신되어 하위 레이어들과 함께 디코딩될 때 비디오 품질을 강화하는 하나 이상의 인핸스먼트 레이어(enhancement layer)로 이루어질 수 있다. 인핸스먼트 레이어에 대한 코딩 효율을 향상시키기 위해, 해당 레이어의 코딩된 표현은 하위 레이어에 의존할 수 있다. 예컨대, 인핸스먼트 레이어의 모션 및 모드 정보는 하위 레이어로부터 예측될 수 있다. 유사하게, 하위 레이어의 픽셀 데이터는 인핸스먼트 레이어에 대한 예측을 생성하는 데 사용될 수 있다.
품질 스케일러빌리티(또한 신호-대-노이즈 또는 SNR로도 알려짐) 및/또는 공간 스케일러빌리티에 대한 스케일러블 비디오 코덱은 다음과 같이 구현될 수 있다. 베이스 레이어에 대해, 종래의 비-스케일러블 비디오 인코더 및 디코더가 사용된다. 베이스 레이어의 재구성된/디코딩된 픽처는 인핸스먼트 레이어를 위한 참조 픽처 버퍼에 포함된다. H.264/AVC, HEVC, 및 인터 예측을 위해 참조 픽처 리스트(들)를 사용하는 유사한 코덱에 있어서, 베이스 레이어 디코딩된 픽처는 인핸스먼트 레이어의 디코딩된 참조 픽처와 유사하게 인핸스먼트 레이어 픽처의 코딩/디코딩을 위해 참조 픽처 리스트(들) 내에 삽입될 수 있다. 결과적으로, 인코더는 인터 예측 참조로서 베이스-레이어 참조 픽처를 선택하고, 코딩된 비트스트림에서 참조 픽처 익덱스와 함께 그 사용을 표시할 수 있다. 디코더는 베이스-레이어 픽처가 인핸스먼트 레이어에 대한 인터 예측 참조로서 사용되는 것을 비트스트림으로부터, 예를 들어 참조 픽처 인덱스로부터 디코딩한다. 디코딩된 베이스-레이어 픽처가 인핸스먼트 레이어에 대한 예측 참조로서 사용될 경우, 이를 인터-레이어 참조 픽처라 한다.
품질 스케일러빌리티 외에도, 한정되는 것은 아니지만, 이하를 포함할 수 있는 다른 스케일러빌리티 모드 또는 스케일러빌리티 차원이 존재할 수 있다:
― 품질 스케일러빌리티: 베이스 레이어 픽처는, 예를 들어 인핸스먼트 레이어에서보다 베이스 레이어에서 더 큰 양자화 파라미터 값(즉, 변환 계수 양자화를 위한 더 큰 양자화 단계 크기)을 사용하여 달성될 수 있는 인핸스먼트 레이어 픽처보다 낮은 품질로 코딩된다. 품질 스케일러빌리티는, 이하에 설명되는 바와 같이, 미세-입자 또는 미세-입도 스케일러빌리티(FGS), 중간-입자 또는 중간-입도 스케일러빌리티(MGS), 및/또는 거친-입자 또는 거친-입도 스케일러빌리티(CGS)로 더 분류될 수 있다.
― 공간 스케일러빌리티: 베이스 레이어 픽처는 인핸스먼트 레이어 픽처보다 낮은 분해능(즉, 더 적은 샘플을 가짐)으로 코딩된다. 공간 스케일러빌리티 및 품질 스케일러빌리티, 특히 그 거친-입자 스케일러빌리티 유형은 때때로 동일한 유형의 스케일러빌리티로 간주될 수 있다.
― 비트-깊이 스케일러빌리티: 베이스 레이어 픽처는 인핸스먼트 레이어 픽처(예컨대, 10 또는 12 비트)보다 낮은 비트 깊이(예컨대, 8 비트)에서 코딩된다.
― 크로마 포맷 스케일러빌리티: 베이스 레이어 픽처는 인핸스먼트 레이어 픽처(예컨대, 4:4:4 포맷)보다 크로마 샘플 어레이(예컨대, 4:2:0 크로마 포맷으로 코딩됨)에서 더 낮은 공간 분해능을 제공한다.
― 색재현율 스케일러빌리티: 인핸스먼트 레이어 픽처는 베이스 레이어 픽처보다 더 풍부한/넓은 컬러 표현 범위를 갖는데 ― 예를 들어, 인핸스먼트 레이어는 UHDTV(ITU-R BT.2020) 색재현율을 가질 수 있고, 베이스 레이어는 ITU-R BT.709 색재현율을 가질 수 있다.
― 멀티뷰 코딩이라고 할 수도 있는 뷰 스케일러빌리티. 베이스 레이어는 제1 뷰를 표현하는 반면, 인핸스먼트 레이어는 제2 뷰를 표현한다.
― 깊이-강화된 코딩이라고 할 수도 있는 깊이 스케일러빌리티. 비트스트림의 하나의 레이어 또는 몇몇 레이어는 텍스처 뷰(들)를 표현할 수 있고, 한편 다른 레이어 또는 레이어들은 깊이 뷰(들)를 표현할 수 있다.
― 관심 영역 스케일러빌리티(이하에 설명되는 바와 같음).
― 인터레이스-프로그레시브 스케일러빌리티(후술되는 바와 같음): 베이스 레이어의 코딩된 인터레이스 소스 콘텐츠 자료는 인핸스먼트 레이어로 강화되어 점진적인 소스 콘텐츠를 표현한다. 베이스 레이어에서의 코딩된 인터레이스 소스 콘텐츠는 코딩된 필드, 필드 쌍을 나타내는 코딩된 프레임, 또는 이들의 혼합을 포함할 수 있다. 인터레이스-프로그레시브 스케일러빌리티에서, 베이스-레이어 픽처는 하나 이상의 인핸스먼트-레이어 픽처에 대하여 적절한 참조 픽처가 되도록 다시 샘플링될 수 있다.
― 하이브리드 코덱 스케일러빌리티(또한, 코딩 표준 스케일러빌리티로도 알려짐): 하이브리드 코덱 스케일러빌리티에서, 베이스 레이어 및 인핸스먼트 레이어의 비트스트림 신택스, 시맨틱스 및 디코딩 프로세스는 상이한 비디오 코딩 표준에 지정된다. 따라서, 베이스 레이어 픽처는 인핸스먼트 레이어 픽처와는 상이한 코딩 표준 또는 포맷에 따라 코딩된다. 예를 들어, 베이스 레이어는 H.264/AVC로 코딩될 수 있고, 인핸스먼트 레이어는 HEVC 멀티-레이어 확장으로 코딩될 수 있다. 더 일반적으로, 하이브리드 코덱 스케일러빌리티에서, 하나 이상의 레이어가 일 코딩 표준 또는 사양에 따라 코딩될 수 있고, 다른 하나 이상의 레이어가 다른 코딩 표준 또는 사양에 따라 코딩될 수 있다. 예를 들어, H.264/AVC의 MVC 확장에 따라 코딩된 2개의 레이어(그 중 하나는 H.264/AVC에 따라 코딩된 베이스 레이어임), 및 MV-HEVC에 따라 코딩된 하나 이상의 추가적인 레이어가 존재할 수 있다. 더욱이, 그에 따라 동일한 비트스트림의 상이한 레이어들이 코딩되는 코딩 표준 또는 사양의 수는 하이브리드 코덱 스케일러빌리티에서 2가지로 한정되는 것은 아닐 수도 있다.
많은 스케일러빌리티 유형이 함께 조합되어 적용될 수 있다는 것을 이해해야 한다. 예를 들어, 색재현율 스케일러빌리티 및 비트-깊이 스케일러빌리티가 조합될 수 있다.
전술한 스케일러빌리티 경우들에 있어서, 베이스 레이어 정보는 인핸스먼트 레이어를 코딩해서 추가적인 비트레이트 오버헤드를 최소화하는 데 사용될 수 있다.
스케일러빌리티는 2가지 방식으로 가능해질 수 있다. 스케일러블 표현의 하위 레이어로부터 픽셀 값 또는 신택스의 예측을 수행하기 위한 새로운 코딩 모드를 도입하는 것 또는 상위 레이어의 참조 픽처 버퍼(디코딩된 픽처 버퍼, DPB)에 하위 레이어 픽처를 배치하는 것이 2가지 방식이다. 제1 접근법은 더 융통성이 있을 수 있고, 따라서 대부분의 경우에 더 양호한 코딩 효율을 제공할 수 있다. 그러나, 제2의, 참조 프레임 기반 스케일러빌리티 접근법은 이용 가능한 대부분의 코딩 효율 이득을 여전히 달성하면서 단일 레이어 코덱에 대한 최소의 변화로 매우 효율적으로 구현될 수 있다. 본질적으로, 참조 프레임 기반 스케일러빌리티 코덱은 모든 레이어에 대하여 동일한 하드웨어 또는 소프트웨어 구현예를 이용해서 구현될 수 있어, 단지 외부 수단에 의해 DPB 관리를 처리한다.
병렬 처리를 이용할 수 있도록, 이미지들은 독립적으로 코딩 및 디코딩 가능한 이미지 세그먼트들(슬라이스들 또는 타일들)로 분할될 수 있다. 슬라이스는 디폴트 코딩 또는 디코딩 순서로 처리된 특정 수의 기본 코딩 단위로 구성되는 이미지 세그먼트를 의미할 수 있지만, 타일은 개개의 프레임으로서 적어도 어느 정도까지 처리된 직사각형 이미지 영역으로 정의된 이미지 세그먼트를 의미할 수 있다.
도 4는 실시형태에 따른 비디오 인코더의 블록도를 도시한다. 도 4는 2개의 레이어에 대한 인코더를 제시하고 있지만, 제시된 인코더가 2개 초과의 레이어를 인코딩하도록, 또는 하나의 레이어만을 인코딩하도록 유사하게 확장될 수 있다는 점을 이해할 수 있을 것이다. 도 4는 베이스 레이어에 대한 제1 인코더 섹션(500) 및 인핸스먼트 레이어에 대한 제2 인코더 섹션(502)을 포함하는 비디오 인코더의 실시형태를 예시한다. 제1 인코더 섹션(500) 및 제2 인코더 섹션(502)은 각각 착신 픽처를 인코딩하기 위한 유사한 요소를 포함할 수 있다. 인코더 섹션(500, 502)은 픽셀 예측자(302, 402), 예측 에러 인코더(303, 403) 및 예측 에러 디코더(304, 404)를 포함할 수 있다. 도 4는 또한 인터-예측자(306, 406), 인트라-예측자(308, 408), 모드 선택기(310, 410), 필터(316, 416), 및 참조 프레임 메모리(318, 418)를 포함하는 것으로서 픽셀 예측자(302, 402)의 실시형태를 도시하고 있다. 제1 인코더 섹션(500)의 픽셀 예측자(302)는 인터-예측자(306)(이미지와 모션 보상된 참조 프레임(318) 사이의 차이를 결정함)와 인트라-예측자(308)(현재의 프레임 또는 픽처의 미리 처리된 부분에만 기초하여 이미지 블록에 대한 예측을 결정함) 모두에서 인코딩될 비디오 스트림의 베이스 레이어 이미지를 수신한다(300). 인터-예측자 및 인트라-예측자 모두의 출력은 모드 선택기(310)로 전달된다. 인트라-예측자(308)는 하나 초과의 인트라-예측 모드를 가질 수 있다. 따라서, 각각의 모드는 인트라-예측을 수행할 수 있고, 예측된 신호를 모드 선택기(310)에 제공할 수 있다. 모드 선택기(310)는 또한 베이스 레이어 픽처(300)의 복사본을 수신한다. 그에 상응하여, 제2 인코더 섹션(502)의 픽셀 예측자(402)는 인터-예측자(406)(이미지와 모션 보상된 참조 프레임(418) 사이의 차이를 결정함)와 인트라-예측자(408)(현재의 프레임 또는 픽처의 미리 처리된 부분에만 기초하여 이미지 블록에 대한 예측을 결정함) 모두에서 인코딩될 비디오 스트림의 인핸스먼트 레이어 이미지를 수신한다(400). 인터-예측자 및 인트라-예측자 모두의 출력은 모드 선택기(410)로 전달된다. 인트라-예측자(408)는 하나 초과의 인트라-예측 모드를 가질 수 있다. 따라서, 각각의 모드는 인트라-예측을 수행할 수 있고, 예측된 신호를 모드 선택기(410)에 제공할 수 있다. 모드 선택기(410)는 또한 인핸스먼트 레이어 픽처(400)의 복사본을 수신한다.
현재의 코딩 단위를 인코딩하기 위해 어떤 인코딩 모드가 선택되는지에 따라, 인터-예측자(306, 406)의 출력 또는 선택적인 인트라-예측자 모드들 중 하나의 출력 또는 모드 선택기 내의 표면 인코더의 출력이 모드 선택기(310, 410)의 출력에 전달된다. 모드 선택기의 출력이 제1 합산 디바이스(321, 421)에 전달된다. 제1 합산 디바이스는 베이스 레이어 픽처(300)/인핸스먼트 레이어 픽처(400)로부터 픽셀 예측자(302, 402)의 출력을 감산하여 예측 에러 인코더(303, 403)에 입력되는 제1 예측 에러 신호(320, 420)를 생성할 수 있다.
픽셀 예측자(302, 402)는 또한 이미지 블록(312, 412)의 예측 표현과 예측 에러 디코더(304, 404)의 출력(338, 438)의 조합을 예비 재구성기(339, 439)로부터 수신한다. 예비 재구성된 이미지(314, 414)는 인트라-예측자(308, 408)에 그리고 필터(316, 416)에 전달될 수 있다. 예비 표현을 수신하는 필터(316, 416)는 예비 표현을 필터링할 수 있고, 참조 프레임 메모리(318, 418)에 세이브될 수 있는 최종 재구성된 이미지(340, 440)를 출력할 수 있다. 참조 프레임 메모리(318)는 장래의 베이스 레이어 픽처(300)가 인터-예측 동작에서 비교되는 참조 이미지로서 사용될 인터-예측자(306)에 연결될 수 있다. 일부 실시형태에 따라 인핸스먼트 레이어의 인터-레이어 샘플 예측 및/또는 인터-레이어 모션 정보 예측을 위해 선택되어 소스인 것으로 표시되는 베이스 레이어를 전제로 하여, 참조 프레임 메모리(318)는 또한 장래의 인핸스먼트 레이어 픽처(400)가 인터-예측 동작에서 비교되는 참조 이미지로서 사용될 인터-예측자(406)에 연결될 수 있다. 더욱이, 참조 프레임 메모리(418)는 장래의 인핸스먼트 레이어 픽처(400)가 인터-예측 동작에서 비교되는 참조 이미지로서 사용될 인터-예측자(406)에 연결될 수 있다.
제1 인코더 섹션(500)의 필터(316)로부터의 필터링 파라미터는, 일부 실시형태에 따라 인핸스먼트 레이어의 필터링 파라미터를 예측하기 위해 선택되어 소스인 것으로 표시되는 베이스 레이어를 전제로 하여, 제2 인코더 섹션(502)에 제공될 수 있다.
예측 에러 인코더(303, 403)는 변환 유닛(342, 442) 및 양자화기(344, 444)를 포함한다. 변환 유닛(342, 442)은 제1 예측 에러 신호(320, 420)를 변환 도메인으로 변환한다. 변환은, 예를 들어 DCT 변환이다. 양자화기(344, 444)는 변환 도메인 신호, 예컨대 DCT 계수를 양자화하여 양자화된 계수를 형성한다.
예측 에러 디코더(304, 404)는 예측 에러 인코더(303, 403)로부터 출력을 수신하고, 예측 에러 인코더(303, 403)의 반대 프로세스를 수행하여, 제2 합산 디바이스(339, 439)에서 이미지 블록(312, 412)의 예측 표현과 조합될 때 예비 재구성된 이미지(314, 414)를 생성하는 디코딩된 예측 에러 신호(338, 438)를 생성한다. 예측 에러 디코더는 양자화된 계수 값, 예컨대 DCT 계수를 역양자화하여 변환 신호를 재구성하는 역양자화기(361, 461)와, 재구성된 변환 신호에 대한 역변환을 수행하는 역변환 유닛(363, 463)을 포함하는 것으로 고려될 수 있고, 역변환 유닛(363, 463)의 출력은 재구성된 블록(들)을 포함한다. 예측 에러 디코더는 또한, 추가의 디코딩된 정보 및 필터 파라미터에 따라 재구성된 블록(들)을 필터링할 수 있는 블록 필터를 포함할 수 있다.
엔트로피 인코더(330, 430)는 예측 에러 인코더(303, 403)의 출력을 수신하고, 에러 검출 및 보정 능력을 제공하기 위해 신호에 대하여 적절한 엔트로피 인코딩/가변 길이 인코딩을 수행할 수 있다. 엔트로피 인코더(330, 430)의 출력은, 예컨대 멀티플렉서(508)에 의해 비트스트림 내로 삽입될 수 있다.
디코더에서, 유사한 동작들이 수행되어 블록의 샘플을 재구성할 수 있다. 도 5는 실시형태에 따른 비디오 디코더의 블록도를 도시한다. 도 5는 2-레이어 디코더의 구조를 묘사하고 있지만, 디코딩 동작들이 단일-레이어 디코더에서 유사하게 이용될 수 있다는 점이 이해될 것이다.
비디오 디코더(550)는 베이스 뷰 컴포넌트에 대한 제1 디코더 섹션(552) 및 비-베이스 뷰 컴포넌트에 대한 제2 디코더 섹션(554)을 포함한다. 블록(556)은 베이스 뷰 컴포넌트에 관한 정보를 제1 디코더 섹션(552)에 전달하기 위한 그리고 비-베이스 뷰 컴포넌트에 관한 정보를 제2 디코더 섹션(554)에 전달하기 위한 디멀티플렉서를 예시한다. 참조 P'n은 이미지 블록의 예측된 표현을 나타낸다. 참조 D'n은 재구성된 예측 에러 신호를 나타낸다. 블록(704, 804)은 픽셀 예측 동작을 예시한다. 블록(705, 805)은 예비 재구성된 이미지(I'n)를 예시한다. 참조 R'n은 최종 재구성된 이미지를 나타낸다. 블록(703, 803)은 역변환(T-1)을 예시한다. 블록(702, 802)은 역양자화(Q-1)를 예시한다. 블록(701, 801)은 엔트로피 디코딩(E-1)을 예시한다. 블록(706, 806)은 참조 프레임 메모리(RFM)를 예시한다. 블록(707, 807)은 예측(P)(인터 예측 또는 인트라 예측)을 예시한다. 블록(708, 808)은 필터링(F)을 예시한다. 블록(709, 809)은 예비 재구성된 이미지(705, 805)(I'n)를 얻기 위해 디코딩된 예측 에러 정보를 예측된 베이스 뷰/비-베이스 뷰 컴포넌트와 합성하는 데 사용될 수 있다. 예비 재구성된 그리고 필터링된 베이스 뷰 이미지는 제1 디코더 섹션(552)으로부터 출력될 수 있고(710), 예비 재구성된 그리고 필터링된 베이스 뷰 이미지는 제2 디코더 섹션(554)으로부터 출력될 수 있다(810).
이하에서는, 비디오 인코더에 의해 픽처를 인코딩하기 위한 실시형태가 도 7a의 블록도 및 도 8a의 흐름도를 참조하여 보다 상세하게 설명될 것이다.
이하에서, 비디오 정보는 휘도 채널 Y 및 2개의 크로미넌스 채널 Cr, Cb인 3개의 컬러 채널을 포함하지만, RGB(Red, Green, Blue) 컬러 포맷과 같은 다른 컬러 포맷에도 유사한 원리가 적용될 수 있다고 가정한다.
도 7a는 변환 단위(342, 442) 또는 양자화기(344, 444) 또는 변환 단위(342, 442)와 양자화기(344, 444) 사이의 별도의 요소의 일부일 수 있는 양자화 파라미터 평가기(750)의 실시예를 예시한다. 더욱이, 양자화 파라미터 평가기(750)는 인코더의 각각의 인코더 섹션(500, 502)에 대하여 구현될 수 있다.
양자화 파라미터 평가기(750)는 3개(또는 그 이상)의 컬러 채널 중 제1 채널에 대한 제1 양자화 파라미터 Q1을 결정한다(902). 제1 채널은, 예를 들어 휘도 채널이지만, 다른 2개의 컬러 채널 중 어느 하나일 수도 있다. 실시형태에 따르면, 양자화 파라미터가 추가적인 결정에서 참조로 사용된 제1 채널은 휘도 채널일 수 있거나, 또는 채널들 중에서 가장 높은 공간 분해능을 갖는 채널일 수 있다. 또한, 제1 채널은 디코딩 프로세스에서 임의의 채널에 대하여 양자화 파라미터가 사용되지 않는 가상 채널일 수도 있지만, 제1 양자화 파라미터는 다른 양자화 파라미터에 대한 참조로서만 결정된다.
실시형태에 따르면, 제1 채널에 대한 중간 양자화 파라미터가 계산되고 이 값은 제1 양자화 파라미터로서 사용된다. 이후, 중간 양자화 파라미터의 값은 특정 값 범위 내로 제한된다. 중간 양자화 파라미터의 값이 해당 범위를 벗어나면, 해당 값은 이 값이 해당 값 범위 내로 되도록 클립핑되고, 이후 클립핑된 값이 제1 채널에 대한 양자화 파라미터로서 사용된다.
제1 양자화 파라미터 Q1은, 예를 들어, 제1 채널의 잔차 값에 기초하여 결정될 수 있고, 제1 양자화 파라미터 Q1의 값은 상이한 블록들간에 달라질 수 있다.
양자화 파라미터 평가기(750)는 또한 적어도 2개의 채널로부터의 잔차 샘플들을 포함하는 블록에 대한 제1 양자화 파라미터 Q1과 제2 양자화 파라미터 사이의 관계를 정의하는 적어도 제1 오프셋 O1에 대한 값을 결정한다(904). 실시형태에 따르면, 적어도 2개의 채널은 제1 크로미넌스 채널 Cb 및 제2 크로미넌스 채널 Cr이다.
제1 오프셋 O1의 값은 미리 정해진 값일 수 있거나 또는 다수의 블록에 대하여 공통일 수 있거나 또는 상이한 블록들간에 달라질 수 있다. 제1 오프셋 O1의 값이 다수의 블록에 대하여 공통이거나 또는 고정된 미리 정해진 값이면, 양자화 파라미터 평가기(750)는 각각의 이러한 블록에 대한 제1 오프셋 O1의 값을 개별적으로 결정할 필요가 없다.
양자화 파라미터 평가기(750)는 또한, 적어도 2개의 채널로부터의 잔차 샘플을 포함하는 잔차 샘플들 또는 변환 계수들의 블록에 대한 제2 양자화 파라미터 Q2를 결정한다(906). 실시형태에 따르면, 제2 양자화 파라미터 Q2는 제1 양자화 파라미터 Q1 및 제1 오프셋 O1의 값에 기초한다. 예를 들어, 제1 오프셋 O1이 제1 양자화 파라미터 Q1에 가산되고, 합산 동작의 결과가 제2 파라미터 Q2의 값으로서 사용된다. 제2 양자화 파라미터 Q2의 결정은 각각의 블록에 대하여 또는 적어도 제1 양자화 파라미터 Q1의 값이 변경될 때 수행될 수 있다.
잔차 코딩 모드 선택기(752)는 잔차 샘플들 또는 변환 계수들의 블록에 대하여 어떤 코딩 모드가 사용되었는지를 판정한다(908). 잔차 코딩 모드 선택기(752)가 블록의 코딩이 비디오의 다수의 컬러 성분 또는 컬러 채널에 걸쳐 행해졌다고, 즉 크로스-채널 잔차 코딩 모드(일명, 조인트 잔차 코딩 모드)가 사용되었다고 결정하면, 잔차 코딩 모드 선택기(752)는 적어도 2개의 채널로부터의 샘플들 또는 변환 계수들의 조인트 잔차 코딩이 해당 블록에 대하여 사용될 것임을 지시하는 표시를 제공한다(910). 조인트 잔차 코딩 모드의 선택에 응답하여, 제2 양자화 파라미터는 잔차 샘플들 또는 변환 계수들의 블록에 대한 양자화 파라미터로서 양자화기(344, 444)에 의해 선택된다(912). 양자화기(344, 444)는 제2 양자화 파라미터 Q2를 사용해서 잔차 샘플들 또는 변환 계수들의 블록에 대한 양자화 동작을 수행한다(914). 양자화된 잔차 샘플들 또는 변환 계수들은, 예를 들어, 비트스트림에, 예컨대 멀티플렉서(508)에 의해 삽입될 수 있다.
잔차 코딩 모드 선택기(752)가 블록의 코딩이 비디오의 다수의 컬러 성분 또는 컬러 채널에 걸쳐 행해지지 않았다고, 즉 크로스-채널 잔차 코딩 모드가 사용되지 않았다고 결정하면, 잔차 코딩 모드 선택기(752)는 적어도 2개의 채널로부터의 샘플들 또는 변환 계수들의 조인트 잔차 코딩이 해당 블록에 대하여 사용되지 않을 것임을 나타내는 표시를 제공할 수 있다. 따라서, 개별 양자화 파라미터들은 각각의 채널에 대하여 제공되고 각각의 채널의 샘플들은 각각의 채널에 대한 개별 양자화 파라미터들을 사용해서 양자화된다(916). 크로스-채널 잔차 코딩 모드가 사용되지 않았다는 것을 나타낼 필요가 없을 수도 있다는 점에 유의해야 하며, 이 경우, 크로스-채널 잔차 코딩 모드의 표시의 결여는 크로스-채널 잔차 코딩 모드가 사용되지 않았음을 나타낸다.
여기서, 크로스-채널 잔차 코딩 모드가 사용되었는지의 여부에 대한 결정은 제1 오프셋 O1을 취득하고 제2 양자화 파라미터 Q2의 값을 추정하기 전에 수행될 수도 있다는 점에 유의해야 한다. 따라서, 코딩 모드의 결정이 크로스-채널 잔차 코딩 모드가 사용되지 않았음을 나타내면, 양자화 파라미터 평가기(750)는 반드시 제1 오프셋 O1을 취득하거나 및/또는 제2 양자화 파라미터 Q2의 값을 추정하지 않아도 된다.
이미 전술한 바와 같이, 예측 에러 디코더(304, 404)는 예측 에러 인코더(303, 403)로부터 출력을 수신하고, 예측 에러 인코더(303, 403)의 반대 프로세스를 수행하여, 제2 합산 디바이스(339, 439)에서 이미지 블록(312, 412)의 예측 표현과 조합될 때 예비 재구성된 이미지(314, 414)를 생성하는 디코딩된 예측 에러 신호(338, 438)를 생성한다. 따라서, 역양자화기(361, 461)에는 제1 양자화 파라미터 및 제2 양자화 파라미터의 정보가 제공될 수 있으므로, 역양자화기(361, 461)는 양자화된 계수 값, 예컨대 DCT 계수를 역양자화할 때 정확한 역양자화 파라미터를 사용해서 변환 신호를 재구성할 수 있다. 역변환 단위(363, 463)는 재구성된 변환 신호에 대한 역변환을 수행하고, 역변환 단위(363, 463)의 출력은 재구성된 블록(들)을 포함한다.
실시형태에 따르면, 제1 양자화 파라미터는 또한, 2개 이상의 양자화 파라미터의 평균 또는 가중 평균, 또는 이러한 양자화 파라미터들의 중간 값으로서 계산될 수도 있다. 제1 크로미넌스 채널 Cb 및 제2 크로미넌스 채널 Cr에 대하여 조인트 잔차 코딩이 적용될 경우, 제1 양자화 파라미터 Q1은, 예를 들어, 제1 크로미넌스 채널 Cb 및 제2 크로미넌스 채널 Cr의 상응하는 양자화 파라미터들의 평균 또는 가중 평균으로서 계산될 수 있다.
크로스-채널 모드에서 코딩되는 잔차 블록에 대하여 사용되는 제1 양자화 파라미터 Q1과 제2 양자화 파라미터 Q2 사이의 관계를 정의하는 파라미터 또는 파라미터들은 상이한 방식으로 정의될 수 있다. 예를 들어, pps_cbcr_qp_offset이라고 지칭될 수도 있는 제2 오프셋 파라미터 O2는 변환 계수들의 크로스-채널 코딩된 샘플들의 블록에 대한 제1 양자화 파라미터 Q1과 제2 양자화 파라미터 Q2 사이의 오프셋 값을 정의하는 픽처 파라미터 세트에서 표시될 수 있다. 대안으로서, 또는 추가적으로, 제2 양자화 파라미터 Q2에 추가될 다른 또는 대안적인 오프셋을 정의하는 다른 신택스 요소가 존재할 수 있다. 예를 들어, 타일 그룹 헤더에서 tile_group_cbcr_qp_offset이라고 지칭될 수도 있는 제3 오프셋 파라미터 O3이 존재할 수 있다. 이 제3 오프셋 파라미터 O3은 제2 양자화 파라미터 Q2에 추가될 추가의 오프셋을 정의할 수 있다. 대안으로서, 또는 추가적으로, 비트스트림 신택스의 상이한 계층들에 이러한 다른 표시자들이 존재할 수 있다.
실시형태에 따르면, 양자화 파라미터 평가기(750)는 블록에 대하여 크로스-채널 잔차 코딩 모드가 선택되었는지의 여부에 관한 정보를 수신하고, 해당 정보가 크로스-채널 잔차 코딩 모드가 선택되었음을 나타내는 경우에만, 양자화 파라미터 평가기(750)가 크로스-채널 코딩된 블록에 대한 제2 양자화 파라미터 Q2를 결정한다.
실시형태에 따르면, 크로스-채널 코딩된 블록에 대한 제2 양자화 파라미터 Q2의 결정과 관련하여, 양자화 파라미터 평가기(750)는 결정된 제2 양자화 파라미터 Q2의 값을 특정 기준에 따라 제한한다. 예를 들어, 제2 양자화 파라미터 Q2의 결정된 값이 특정 최소값보다 작아지게 되면, 양자화 파라미터 평가기(750)는 제2 양자화 파라미터 Q2의 값을 최소값으로 설정하거나, 또는 제2 양자화 파라미터 Q2의 결정된 값이 특정 최대값보다 커지게 되면, 양자화 파라미터 평가기(750)는 제2 양자화 파라미터 Q2의 값을 최대값으로 설정한다. 실시형태에 따르면, 양자화 파라미터 평가기(750)는 결정된 제2 양자화 파라미터 Q2의 값을 특정 값 범위 내로 제한한다. 다시 말해서, 제2 양자화 파라미터 Q2의 값은 최소값보다 작지 않고 최대값보다 크지 않을 것이다. 최소값, 최대값 및/또는 범위는 일부 적절한 수단에 의해 양자화 파라미터 평가기(750)에 표시될 수 있거나, 또는, 고정된 값일 수 있거나 또는, 예를 들어 비디오 정보의 콘텐츠에 기초할 수 있다.
실시형태에 따르면, 제4 오프셋 O4가 정의된다. 제4 오프셋 O4의 값은 비디오 또는 이미지 콘텐츠의 비트-깊이에 의존한다. 따라서, 제4 오프셋 O4의 값은 제2 양자화 파라미터 Q2에 가산된다.
실시형태에 따르면, 크로스-채널 코딩된 블록에 대한, QPcbcr이라고 표현될 수도 있는 제2 양자화 파라미터 Q2는 제1 크로미넌스 채널 Cb에 대한 양자화 파라미터 QPcb 및 제2 크로미넌스 채널 Cr에 대한 양자화 파라미터 QPcr의 평균에 기초하여 계산된다. 예를 들어, 다음과 같다: QPcbcr = ( QPcb + QPcr ) / 2.
실시형태에 따르면, 크로스-채널 코딩된 블록에 대한 제2 양자화 파라미터 QPcbcr은 제1 크로미넌스 채널 Cb에 대한 양자화 파라미터 QPcb 및 제2 크로미넌스 채널 Cr에 대한 양자화 파라미터 QPcr의 평균, 및 적어도 하나의 미리-정의된 또는 표시된 제5 오프셋 D에 기초하여 계산된다. 예를 들어, 다음과 같다: QPcbcr = ( QPcb + QPcr ) / 2 + D.
여기서, 상기 개시 내용에서는, 다수의 상이한 오프셋 파라미터들, 즉 제1 내지 제5 오프셋 파라미터가 제시되었지만, 제2 양자화 파라미터 Q2의 결정에 있어서는 이들 오프셋 파라미터를 모두 사용할 필요는 없으며 이들의 임의의 서브세트를 사용하거나 또는 이들 중 어느 것도 사용하지 않을 수 있다는 점에 유의해야 한다.
비트스트림에서 단일의 오프셋 또는 다수의 오프셋이 표시되는 경우, 이용 가능한 오프셋 세트는 음의 정수 값 및 0의 값만을 포함하도록 유리하게 제한될 수 있다. 이러한 종류의 제한은, 조인트 잔차 코딩이 통상적으로 2배수의 또는 잔차 샘플에 영향을 미치고, 그에 따라 더 작은 양자화 파라미터를 이용한 더 미세한 양자화가 통계적으로 더 높은 양자화기를 사용하는 것보다 양호한 코딩 효율을 제공할 수 있기 때문에, 제1 크로미넌스 채널 Cb에 대한 양자화 파라미터 QPcb 및 제2 크로미넌스 채널 Cr에 대한 양자화 파라미터 QPcr의 평균이 조인트 양자화 파라미터의 계산을 위한 참조 값으로서 사용될 경우에 이점을 제공할 수 있다.
이하에서는, 비디오 디코더에 의해 픽처를 디코딩하기 위한 실시형태가 도 7b의 블록도 및 도 8b의 흐름도를 참조하여 보다 상세하게 설명될 것이다.
역양자화 파라미터 평가기(760)는 3개(또는 그 이상)의 컬러 채널 중 제1 채널에 대한 제1 양자화 파라미터 Q1을 결정한다(922). 제1 양자화 파라미터 Q1이 비트스트림에서 시그널링되고 디코더에 의해 수신되었을 수 있고, 역양자화 파라미터 평가기(760)가 수신된 정보로부터 제1 양자화 파라미터 Q1의 값을 결정할 수 있다. 대안으로서, 역양자화 파라미터 평가기(760)는 수신되어 재구성된 제1 채널의 잔차 값에 기초하여 제1 양자화 파라미터 Q1의 값을 결정할 수 있다.
실시형태에 따라, 그리고 상응하는 인코더의 실시형태와 유사하게, 제1 양자화 파라미터 Q1이 수신되어 재구성된 제1 채널의 잔차 값으로부터 결정되면, 제1 채널에 대한 중간 역양자화 파라미터가 계산될 수 있고 이 값이 제1 양자화 파라미터로서 사용될 수 있다. 이후, 중간 역양자화 파라미터의 값은 특정 값 범위 내로 제한된다. 중간 역양자화 파라미터의 값이 해당 범위를 벗어나면, 해당 값은 이 값이 해당 값 범위 내로 되도록 클립핑되고, 이후 클립핑된 값이 제1 채널에 대한 역양자화 파라미터로서 사용된다.
역양자화 파라미터 평가기(760)는 또한, 적어도 제1 오프셋 O1에 대한 값을 결정한다(924).
제1 오프셋 O1의 값은 미리 정해진 값일 수 있거나 또는 다수의 블록에 대하여 공통일 수 있거나 또는 상이한 블록들간에 달라질 수 있고, 비트스트림에서 시그널링되었을 수 있다. 해당 값이 상이한 블록들간에 변경될 수 있으면, 시그널링은 블록 단위로 수행될 수 있고, 역양자화 파라미터 평가기(760)는 각각의 블록에 대한 제1 오프셋 O1의 값을 결정한다. 한편, 제1 오프셋 O1의 값이 다수의 블록에 대하여 공통이거나 고정된 값이면, 해당 값에 대한 시그널링은 더 높은 시그널링 레벨에서 수행될 수 있고, 역양자화 파라미터 평가기(760)는 각각의 블록에 대하여 별도로 제1 오프셋 O1의 값을 결정할 필요가 없다.
역양자화 파라미터 평가기(760)는 또한, 적어도 2개의 채널로부터의 잔차 샘플을 포함하는 잔차 샘플들 또는 변환 계수들의 블록에 대한 제2 양자화 파라미터 Q2를 결정한다(926). 실시형태에 따르면, 제2 양자화 파라미터 Q2는 제1 양자화 파라미터 Q1 및 제1 오프셋 O1의 값에 기초한다. 예를 들어, 제1 오프셋 O1이 제1 양자화 파라미터 Q1에 가산되고, 합산 동작의 결과가 제2 파라미터 Q2의 값으로서 사용된다. 제2 양자화 파라미터 Q2의 결정은 각각의 블록에 대하여 또는 적어도 제1 양자화 파라미터 Q1의 값이 변경될 때 수행될 수 있다.
잔차 디코딩 모드 선택기(762)는 잔차 샘플들 또는 변환 계수들의 블록에 대하여 어떤 코딩 모드가 사용되었는지를 판정한다(928). 잔차 디코딩 모드 선택기(762)가 블록의 코딩에 크로스-채널 잔차 코딩 모드가 사용되었다고 결정하면, 잔차 디코딩 모드 선택기(762)는 역양자화기(702, 802)에게 제2 양자화 파라미터를 잔차 샘플들 또는 변환 계수들의 블록에 대한 양자화 파라미터로서 사용하도록 지시한다(930). 역양자화기(702, 802)는 제2 양자화 파라미터 Q2를 사용해서 잔차 샘플들 또는 변환 계수들의 블록에 대한 역양자화 동작을 수행한다(932). 양자화된 잔차 샘플들 또는 변환 계수들은, 예를 들어, 비트스트림으로부터 재구성될 수 있다.
잔차 디코딩 모드 선택기(762)가 크로스-채널 잔차 코딩 모드가 사용되지 않았다고 결정하면, 잔차 디코딩 모드 선택기(762)는 역양자화기(702, 802)에게 각각의 채널에 제공된 별도의 양자화 파라미터들을 이용하고 이들을 각각의 채널의 잔차의 역양자화 프로세스에서 사용(936)하도록 지시한다(934).
여기서, 크로스-채널 잔차 코딩 모드가 사용되었는지의 여부에 대한 결정은 제1 오프셋 O1을 취득하고 제2 양자화 파라미터 Q2의 값을 추정하기 전에 수행될 수도 있다는 점에 유의해야 한다. 따라서, 코딩 모드의 결정이 크로스-채널 잔차 코딩 모드가 사용되지 않았음을 나타내면, 역양자화 파라미터 평가기(760)는 반드시 제1 오프셋 O1을 취득하거나 및/또는 제2 양자화 파라미터 Q2의 값을 추정하지 않아도 된다.
실시형태에 따르면, 제1 양자화 파라미터는 또한, 2개 이상의 양자화 파라미터의 평균 또는 가중 평균, 또는 이러한 양자화 파라미터들의 중간 값으로서 계산될 수도 있다. 제1 크로미넌스 채널 Cb 및 제2 크로미넌스 채널 Cr에 대하여 조인트 잔차 코딩이 적용될 경우, 제1 양자화 파라미터 Q1은, 예를 들어, 제1 크로미넌스 채널 Cb 및 제2 크로미넌스 채널 Cr의 상응하는 양자화 파라미터들의 평균 또는 가중 평균으로서 계산될 수 있다.
실시형태에 따르면, 역양자화 파라미터 평가기(760)는 블록에 대하여 크로스-채널 잔차 코딩 모드가 선택되었는지의 여부에 관한 정보를 수신하고, 해당 정보가 크로스-채널 잔차 코딩 모드가 선택되었음을 나타내는 경우에만, 역양자화 파라미터 평가기(760)가 크로스-채널 코딩된 블록에 대한 제2 양자화 파라미터 Q2를 결정한다.
양자화 파라미터 Q1, Q2가 비트스트림에서 수신되지 않으면, 디코더는 인코딩과 관련하여 위에서 제시된 것과 유사한 원리를 이용해서 이들을 재구성할 수 있다. 다시 말해서, 제2 양자화 파라미터 Q2의 값은 특정 값 범위 내로 제한될 수 있거나, 또는 제2 양자화 파라미터 Q2에 대하여 최소값 및/또는 최대값이 정의되었을 수 있다. 따라서, 역양자화 파라미터 평가기(760)는 결정된 제2 양자화 파라미터 Q2의 값을 제한해서 제2 양자화 파라미터 Q2의 최종 값이 한계(들)를 초과하지 않게 한다. 최소값, 최대값 및/또는 범위는 일부 적절한 수단에 의해 역양자화 파라미터 평가기(760)에 표시될 수 있거나, 또는, 고정된 값일 수 있거나 또는, 예를 들어 비디오 정보의 콘텐츠에 기초할 수 있다.
도 9는 다양한 실시형태가 구현될 수 있는 예시적인 멀티미디어 통신 시스템의 그래픽 표현이다. 데이터 소스(1110)는 아날로그, 비압축된 디지털, 또는 압축된 디지털 포맷, 또는 이들 포맷의 임의의 조합으로 소스 신호를 제공한다. 인코더(1120)는 소스 신호의 데이터 포맷 변환 및/또는 필터링과 같은 전처리를 포함하거나 또는 이와 연결될 수 있다. 인코더(1120)는 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 디코딩될 비트스트림은 사실상 임의의 유형의 네트워크 내에 위치된 원격 디바이스로부터 직접적으로 또는 간접적으로 수신될 수 있다는 점에 유의해야 한다. 부가적으로, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 인코더(1120)는 오디오 및 비디오와 같은 하나 초과의 미디어 유형을 인코딩할 수 있거나, 또는 상이한 미디어 유형의 소스 신호를 코딩하기 위해 하나 초과의 인코더(1120)가 필요할 수 있다. 인코더(1120)는 또한 그래픽 및 텍스트와 같은 합성적으로 생성된 입력을 얻을 수 있거나, 또는 합성 미디어의 코딩된 비트스트림을 생성할 수 있다. 이하에서는, 설명을 간략화하기 위해 단지 하나의 미디어 유형의 하나의 코딩된 미디어 비트스트림의 처리만이 고려된다. 그러나, 통상적으로 실시간 브로드캐스트 서비스는 몇 가지 스트림(통상적으로 적어도 하나의 오디오, 비디오 및 텍스트 자막처리 스트림)을 포함한다는 점에 유의해야 한다. 시스템은 다수의 인코더를 포함할 수 있지만, 도면에서는 보편성의 결여 없이 설명을 간략화하기 위해 단지 하나의 인코더(1120)만이 표현되어 있다는 점에 또한 유의해야 한다. 본 명세서에 포함된 텍스트 및 실시예가 인코딩 프로세스를 구체적으로 설명할 수 있지만, 당업자는 동일한 개념 및 원리가 또한 상응하는 디코딩 프로세스에 적용되고 그 반대도 마찬가지라는 것을 이해할 것이라는 점을 또한 이해해야 한다.
코딩된 미디어 비트스트림은 저장 장치(1130)로 전달될 수 있다. 저장 장치(1130)는 코딩된 미디어 비트스트림을 저장하기 위해 임의의 유형의 대용량 메모리를 포함할 수 있다. 저장 장치(1130) 내의 코딩된 미디어 비트스트림의 포맷은 기본 자급식 비트스트림 포맷일 수 있거나, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일 내로 캡슐화될 수 있다. 하나 이상의 미디어 비트스트림이 컨테이너 파일 내에 캡슐화되면, 파일 생성기(도면에는 도시 생략)는 하나 이상의 미디어 비트스트림을 파일 내에 저장하고, 마찬가지로 파일 내에 저장될 수도 있는 파일 포맷 메타데이터를 생성하는 데 사용될 수 있다. 인코더(1120) 또는 저장 장치(1130)가 파일 생성기를 포함할 수 있거나, 또는 파일 생성기가 인코더(1120) 또는 저장 장치(1130)에 작동 가능하게 연결된다. 몇몇 시스템은 "라이브(live)"로 동작하고, 즉 저장 장치가 생략되고, 코딩된 미디어 비트스트림을 인코더(1120)로부터 송신기(1140)로 직접적으로 전달한다. 이어서, 코딩된 미디어 비트스트림은 필요에 따라, 서버라고도 하는 송신기(1140)에 전달될 수 있다. 전송에 사용되는 포맷은 기본 자급식 비트스트림 포맷, 패킷 스트림 포맷일 수 있거나, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일 내에 캡슐화될 수 있다. 인코더(1120), 저장 장치(1130), 및 서버(1140)는 동일한 물리적 디바이스 내에 상주할 수 있거나, 또는 이들은 개별 디바이스 내에 포함될 수 있다. 인코더(1120) 및 서버(1140)는 라이브 실시간 콘텐츠로 동작할 수 있는 데, 이 경우에 코딩된 미디어 비트스트림은 통상 영구적으로 저장되지 않고, 오히려 콘텐츠 인코더(1120)에서 및/또는 서버(1140)에서 짧은 시간 동안 버퍼링되어 처리 지연, 전송 지연, 및 코딩된 미디어 비트레이트에서의 편차를 평활화한다.
서버(1140)는 코딩된 미디어 비트스트림을 통신 프로토콜 스택을 사용해서 송신한다. 스택은 실시간 전송 프로토콜(Real-Time Transport Protocol)(RTP), 사용자 데이터그램 프로토콜(User Datagram Protocol)(UDP), 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)(HTTP), 전송 제어 프로토콜(Transmission Control Protocol)(TCP), 인터넷 프로토콜(Internet Protocol)(IP) 중 하나 이상을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 통신 프로토콜 스택이 패킷-지향적이면, 서버(1140)는 코딩된 미디어 비트스트림을 패킷으로 캡슐화한다. 예를 들어, RTP가 사용될 때, 서버(1140)는 RTP 페이로드 포맷에 따라 코딩된 미디어 비트스트림을 RTP 패킷으로 캡슐화한다. 통상적으로, 각각의 미디어 유형은 전용 RTP 페이로드 포맷을 갖는다. 시스템은 하나 초과의 서버(1140)를 포함할 수 있지만, 간략화를 위해, 이하의 설명은 단지 하나의 서버(1140)만을 고려한다는 점에 재차 유의해야 한다.
미디어 콘텐츠가 저장 장치(1130)를 위해 또는 데이터를 송신기(1140)에 입력하기 위해 컨테이너 파일에 캡슐화되면, 송신기(1140)는 "송신 파일 파서(sending file parser)"(도면에는 도시 생략)를 포함하거나 또는 이것에 작동 가능하게 연결될 수 있다. 특히, 컨테이너 파일이 이와 같이 전송되지 않고 포함된 코딩된 미디어 비트스트림 중 적어도 하나가 통신 프로토콜을 통한 전송을 위해 캡슐화되면, 송신 파일 파서는 코딩된 미디어 비트스트림의 적절한 부분을 통신 프로토콜을 통해 전달되도록 위치시킨다. 송신 파일 파서는 패킷 헤더 및 페이로드와 같은 통신 프로토콜에 대한 정확한 포맷을 생성하는 데 도움이 될 수 있다. 멀티미디어 컨테이너 파일은 통신 프로토콜 상의 포함된 미디어 비트스트림 중 적어도 하나의 캡슐화를 위해, ISO 베이스 미디어 파일 포맷(ISO Base Media File Format)의 힌트 트랙과 같은 캡슐화 명령을 포함할 수 있다.
서버(1140)는 통신 네트워크를 통해 게이트웨이(1150)에 접속될 수도 있거나 또는 접속되지 않을 수 있다. 게이트웨이는 또한, 또는 대안적으로 미들-장비(middle-box)라고 할 수 있다. 시스템은 일반적으로 임의의 수의 게이트웨이 등을 포함할 수 있지만, 간략화를 위해, 아래의 설명에서는 단지 하나의 게이트웨이(1150)만을 고려한다는 점에 유의한다. 게이트웨이(1150)는 패킷, 스트림 또는 리소스의 캐싱, 미디어 데이터의 사전 프리페칭, 하나의 통신 프로토콜 스택에 따른 패킷 스트림의 다른 통신 프로토콜 스택으로의 변환, 데이터 스트림의 병합 및 포킹, 및 지배적인 다운링크 네트워크 조건에 따른 포워딩된 스트림의 비트레이트의 제어와 같은 다운링크 및/또는 수신기 성능에 따른 데이터 스트림의 조작과 같이, 상이한 유형의 기능을 수행할 수 있다. 게이트웨이(1150)의 실시예는 멀티포인트 회의 제어 유닛(multipoint conference control units: MCUs), 회선-교환 및 패킷-교환 비디오 전화 사이의 게이트웨이, 셀룰러를 통한 푸시-투-토크(Push-to-talk over Cellular: PoC) 서버, 디지털 비디오 브로드캐스팅-핸드헬드(digital video broadcasting-handheld: DVB-H) 시스템에서의 IP 캡슐화기, 또는 홈 무선 네트워크에 브로드캐스트 전송을 로컬로 전달하는 셋톱-박스 또는 기타 디바이스를 포함한다. RTP가 사용될 경우, 게이트웨이(1150)는 RTP 믹서 또는 RTP 변환기라고 지칭될 수 있고, RTP 접속의 종단점으로서 작용할 수 있다. 게이트웨이(1150)를 대신하여 또는 그에 더하여, 시스템은 비디오 시퀀스들 또는 비트스트림들을 연계시키는 스플라이서(splicer)를 포함할 수 있다.
시스템은, 통상적으로 코딩된 미디이 비트스트림으로 전송된 신호를 수신하고, 복조하고, 캡슐화 해제할 수 있는 하나 이상의 수신기(1160)를 포함한다. 코딩된 미디어 비트스트림은 레코딩 저장 장치(1170)로 전달될 수 있다. 레코딩 저장 장치(1170)는 코딩된 미디어 비트스트림을 저장하기 위해 임의의 유형의 대용량 메모리를 포함할 수 있다. 레코딩 저장 장치(1170)는 대안적으로 또는 부가적으로 랜덤 액세스 메모리와 같은 연산 메모리를 포함할 수 있다. 레코딩 저장 장치(1170) 내의 코딩된 미디어 비트스트림의 포맷은 기본 자급식 비트스트림 포맷일 수 있거나, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일 내로 캡슐화될 수 있다. 서로 연계된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하면, 컨테이너 파일이 통상적으로 사용되고 수신기(1160)는 입력 스트림으로부터 컨테이너 파일을 생성하는 컨테이너 파일 생성기를 포함하거나 또는 이에 연결된다. 몇몇 시스템은 "라이브"로 동작하고, 즉 레코딩 저장 장치(1170)가 생략되고, 코딩된 미디어 비트스트림을 수신기(1160)로부터 디코더(1180)로 직접적으로 전달한다. 몇몇 시스템에서, 단지 레코딩된 스트림의 가장 최근의 부분, 예컨대 레코딩된 스트림의 가장 최근 10분의 발췌부가 레코딩 저장 장치(1170)에 유지되고, 한편 더 이전의 임의의 레코딩된 데이터는 레코딩 저장 장치(1170)로부터 폐기된다.
코딩된 미디어 비트스트림은 레코딩 저장 장치(1170)로부터 디코더(1180)로 전달될 수 있다. 서로 연계되고 컨테이너 파일 내로 캡슐화되는 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하거나 또는 단일의 미디어 비트스트림이 예컨대, 더 용이한 액세스를 위해 컨테이너 파일에 캡슐화되면, 파일 파서(도면에는 도시 생략)가 각각의 코딩된 미디어 비트스트림을 컨테이너 파일로부터 캡슐화 해제하는 데 사용된다. 레코딩 저장 장치(1170) 또는 디코더(1180)가 파일 파서를 포함할 수 있거나, 또는 파일 파서가 레코딩 저장 장치(1170) 또는 디코더(1180)에 연결된다. 시스템은 다수의 디코더를 포함할 수 있지만, 여기서는 보편성의 결여 없이 설명을 간략화하기 위해 단지 하나의 디코더(1180)만이 논의된다는 점에 또한 유의해야 한다.
코딩된 미디어 비트스트림은 그 출력이 하나 이상의 비압축된 미디어 스트림인 디코더(1180)에 의해 더 처리될 수 있다. 마지막으로, 렌더러(1190)는, 예를 들어 라우드스피커 또는 디스플레이로 비압축된 미디어 스트림을 재생할 수 있다. 수신기(1160), 레코딩 저장 장치(1170), 디코더(1180), 및 렌더러(1190)는 동일한 물리적 디바이스 내에 상주할 수 있거나, 또는 이들은 개별 디바이스 내에 포함될 수 있다.
상기에서, 몇몇 실시형태는 표현 및/또는 비트스트림이라는 용어에 관하여 설명되었다. 실시형태들은 유사한 용어들, 예컨대 비트스트림을 대신하여 표현, 표현을 대신하여 비트스트림, 또는 비트스트림 또는 표현을 대신하여 기본 스트림과 같은 용어들에 관하여 유사하게 설명될 수 있다는 점을 이해할 필요가 있다.
상기에서, 예시적인 실시형태들이 인코더를 참조하여 설명된 경우, 결과적인 비트스트림 및 디코더는 그들의 상응하는 요소를 가질 수 있다는 점을 이해할 필요가 있다. 마찬가지로, 예시적인 실시형태들이 디코더를 참조하여 설명된 경우, 인코더는 디코더에 의해 디코딩될 비트스트림을 생성하기 위한 구조 및/또는 컴퓨터 프로그램을 가질 수 있다는 점을 이해할 필요가 있다.
전술한 본 발명의 실시형태들은 수반되는 프로세스의 이해를 돕기 위해 별도의 인코더 및 디코더 장치에 관하여 코덱을 설명한다. 그러나, 장치, 구조 및 동작은 단일의 인코더-디코더 장치/구조/동작으로서 구현될 수 있음을 이해할 것이다. 더욱이, 코더 및 디코더는 일부 또는 모든 공통 요소를 공유해도 된다는 것도 가능하다.
상기 실시예는 전자 디바이스 내의 코덱 내에서 동작하는 본 발명의 실시형태들을 설명하고 있지만, 청구범위에서 정의되는 바와 같은 발명이 임의의 비디오 코덱의 일부로서 구현될 수 있다는 점이 이해될 것이다. 따라서, 예를 들어, 본 발명의 실시형태들은 고정식 또는 유선 통신 경로를 통해 비디오 코딩을 구현할 수 있는 비디오 코덱에서 구현될 수 있다.
따라서, 사용자 장비는 상기의 본 발명의 실시형태들에서 설명된 것들과 같은 비디오 코덱을 포함할 수 있다. 사용자 장비라는 용어는 이동 전화, 휴대형 데이터 처리 디바이스 또는 휴대형 웹 브라우저와 같은 임의의 적합한 유형의 무선 사용자 장비를 커버하도록 의도된다는 것이 이해될 것이다.
더욱이, 공중 육상 모바일 네트워크(PLMN)의 요소가 또한 전술된 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시들은 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 몇몇 양태는 하드웨어로 구현될 수 있고, 반면에 다른 양태는 제어기, 마이크로프로세서 또는 다른 컴퓨팅 디바이스에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있지만, 본 발명이 이들에 한정되는 것은 아니다. 본 발명의 다양한 양태가 블록도로서, 흐름도로서, 또는 몇몇 다른 회화적 표현을 사용하여 예시 및 설명될 수 있지만, 본 명세서에 설명되는 이들 블록, 장치, 시스템, 기술 또는 방법은, 비제한적인 실시예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 로직, 범용 하드웨어 또는 제어기 또는 다른 컴퓨팅 디바이스, 또는 이들의 몇몇 조합으로 구현될 수 있다는 점이 양호하게 이해된다.
본 발명의 실시형태들은, 프로세서 엔티티와 같은 모바일 디바이스의 데이터 프로세서에 의해 실행 가능한 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 컴퓨터 소프트웨어는 인코더, 또는 디코더와 같은 관련 장치로 하여금 본 발명을 수행하게 할 수 있다. 예를 들어, 디바이스는 데이터를 취급, 수신 및 전송하기 위한 회로 및 전자장치, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드의 실행시에 디바이스로 하여금 실시형태의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또한, 서버와 같은 네트워크 디바이스는 데이터를 취급, 수신 및 전송하기 위한 회로 및 전자장치, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드의 실행시에 네트워크 디바이스로 하여금 실시형태의 특징을 수행하게 하는 프로세서를 포함할 수 있다.
컴퓨터에 의한 실행시에, 다양한 실시형태들을 수행하는 명령어가 인코딩된 비-일시적인 컴퓨터-판독 가능 매체의 도움으로 다양한 실시형태들이 구현될 수 있다.
필요에 따라, 본 명세서에서 논의된 상이한 기능들이 상이한 순서로 및/또는 서로 동시에 수행될 수 있다. 더욱이, 필요에 따라, 전술한 기능들 중 하나 이상은 선택사항일 수 있거나, 또는 조합될 수 있다. 더욱이, 본 발명의 실시형태들은 디코딩 방법 및 디코더에 관하여 개시된다. 그러나, 본 개시물의 교시는 코딩 단위의 인코딩 및 코딩 단위 내의 이스케이프 코딩의 존재를 표시하는 코딩을 수행하도록 구성되는 인코더에 적용될 수 있다.
또한 이와 관련하여, 도면에서와 같은 논리 흐름의 임의의 블록은 프로그램 단계, 또는 상호접속된 논리 회로, 블록 및 기능, 또는 프로그램 단계와 논리 회로의 조합, 블록 및 기능을 표현할 수 있다는 점에 유의해야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내에 구현되는 메모리 블록과 같은 물리적 매체, 하드 디스크 또는 플로피 디스크와 같은 자기 매체, 및 예를 들어 DVD 및 이들의 데이터 변형, CD와 같은 광학 매체 상에 저장될 수 있다.
메모리는 로컬 기술 환경에 적합한 임의의 유형일 수 있고, 반도체 기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정식 메모리 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 데이터 프로세서는 로컬 기술 환경에 적합한 임의의 유형일 수 있고, 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSP) 및 멀티코어 프로세서 아키텍처에 기반하는 프로세서를 비제한적인 실시예로서 포함할 수 있다.
본 발명의 실시형태들은 집적 회로 모듈과 같은 다양한 컴포넌트에서 실시될 수 있다. 집적 회로의 디자인은 대체로 고도로 자동화된 프로세스이다. 논리 레벨 디자인을 반도체 기판 상에 에칭 및 형성될 준비가 된 반도체 회로 디자인으로 변환하기 위해 복잡하고 강력한 소프트웨어 툴을 이용할 수 있다.
미국 캘리포니아주 마운틴 뷰 소재의 Synopsys Inc. 및 미국 캘리포니아주 산호세 소재의 Cadence Design에 의해 제공된 것들과 같은 프로그램은 양호하게 수립된 디자인 규칙 뿐만 아니라 사전 저장된 디자인 모듈의 라이브러리를 사용하여 도전체를 자동으로 라우팅하고 반도체칩 상에 컴포넌트를 위치시킨다. 일단 반도체 회로를 위한 디자인이 완료되면, 표준화된 전자 포맷(예컨대, Opus, GDSII 등)의 최종적인 디자인은 제조를 위해 반도체 제조 시설 또는 "팹(fab)"으로 전송될 수 있다.
전술한 설명은 본 발명의 예시적인 실시형태의 완전하고 유익한 설명을 예시적이고 비제한적인 실시예로서 제공하였다. 그러나, 전술한 설명의 견지에서, 첨부 도면 및 첨부된 청구범위와 함께 숙독할 때, 다양한 수정 및 적응이 당업자들에게 명백해질 수 있다. 그러나, 본 발명의 교시의 이러한 모든 및 유사한 수정이 여전히 본 발명의 범주 내에 있을 것이다.
실시형태들은 몇 가지 장점을 제공할 수 있다. 예를 들어, 모션 보상된 예측의 정확도는 고차 모션 벡터 필드를 모델링하는 데 필요한 추가 정보를 시그널링하는 효율적인 방식으로 비트레이트를 제공함으로써 개선될 수 있다.

Claims (18)

  1. 방법으로서,
    비디오 표현 또는 이미지의 휘도 채널에서 도출된 제1 양자화 파라미터를 취득하는 단계 - 상기 제1 양자화 파라미터는 제2 양자화 파라미터의 값을 결정하는 기준으로 사용되도록 구성됨 - ;
    상기 비디오 표현 또는 상기 이미지의 제1 크로미넌스 채널 및 제2 크로미넌스 채널의 양자화된 잔차 계수들을 포함하는 블록을 수신하는 단계;
    상기 제1 양자화 파라미터와 상기 블록에 대한 상기 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하는 단계;
    상기 블록이 크로스-채널 잔차 코딩 모드를 이용해 인코딩되었는지 여부를 판정하는 단계;
    상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터 및 상기 오프셋을 사용해서 상기 제2 양자화 파라미터의 값을 결정하는 단계 - 상기 블록이 크로스-채널 잔차 코딩 모드를 이용해 인코딩된 경우, 상기 제2 양자화 파라미터는 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 잔차 계수들을 조인트 역양자화(jointly dequantize)하기 위해 사용되도록 구성됨 - ;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널을 위한 별도의 양자화 파라미터를 사용하여 상기 제1 크로미넌스 채널과 상기 제2 크로미넌스 채널의 상기 양자화된 잔차 계수를 역양자화하지 않고, 상기 오프셋 및 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 결정된 상기 제2 양자화 파라미터의 값을 사용하여 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 상기 양자화된 잔차 계수들을 조인트 역양자화함으로써 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널에 대한 잔차 샘플들을 재구성하는 단계를 포함하는
    방법.
  2. 장치로서,
    비디오 표현 또는 이미지의 휘도 채널에서 도출된 제1 양자화 파라미터를 취득하고 - 상기 제1 양자화 파라미터는 제2 양자화 파라미터의 값을 결정하는 기준으로 사용되도록 구성됨 - ;
    상기 비디오 표현 또는 상기 이미지의 제1 크로미넌스 채널 및 제2 크로미넌스 채널의 양자화된 잔차 계수들을 포함하는 블록을 수신하고;
    상기 제1 양자화 파라미터와 상기 블록에 대한 상기 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 취득하고;
    상기 블록이 크로스-채널 잔차 코딩 모드를 이용해 인코딩되었는지 여부를 판정하고;
    상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터 및 상기 오프셋을 사용해서 상기 제2 양자화 파라미터의 값을 결정하고 - 상기 블록이 크로스-채널 잔차 코딩 모드를 이용해 인코딩된 경우, 상기 제2 양자화 파라미터는 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 잔차 계수들을 조인트 역양자화하기 위해 사용되도록 구성됨 - ;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널을 위한 별도의 양자화 파라미터를 사용하여 상기 제1 크로미넌스 채널과 상기 제2 크로미넌스 채널의 상기 양자화된 잔차 계수를 역양자화하지 않고, 상기 오프셋 및 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 결정된 상기 제2 양자화 파라미터의 값을 사용하여 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 상기 양자화된 잔차 계수들을 조인트 역양자화함으로써 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널에 대한 잔차 샘플들을 재구성하는 수단을 포함하는
    장치.
  3. 제2항에 있어서,
    상기 수단은 또한,
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩되었다고 판정되는 경우에만 상기 제2 양자화 파라미터의 값을 결정하고;
    상기 제1 양자화 파라미터의 값이 범위 내인지 여부를 판정하고,
    상기 제1 양자화 파라미터의 값이 범위 내에 해당하지 않는 경우, 상기 제1 양자화 파라미터의 값을 조정하고,
    상기 제1 양자화 파라미터의 값을 사용하여 상기 제2 양자화 파라미터의 값을 결정하도록 구성되는
    장치.
  4. 제2항 또는 제3항에 있어서,
    상기 수단은 또한,
    하나 이상의 제한 기준을 취득하고,
    상기 하나 이상의 제한 기준을 충족시키기 위해 상기 제2 양자화 파라미터의 값을 제한하도록 구성되며,
    상기 하나 이상의 제한 기준은 다음 중 하나 이상을 포함하는
    - 상기 제2 양자화 파라미터는 최소값보다 작지 않음
    - 상기 제2 양자화 파라미터는 최대값보다 크지 않음
    - 상기 제2 양자화 파라미터는 값의 범위를 벗어나지 않음
    장치.
  5. 제2항 또는 제3항에 있어서,
    상기 수단은 또한,
    상기 비디오 표현 또는 상기 이미지의 비트-깊이에 기초하여 다른 오프셋을 결정하고,
    상기 다른 오프셋을 사용하여 상기 제2 양자화 파라미터의 값을 결정하도록 구성되는
    장치.
  6. 제2항 또는 제3항에 있어서,
    상기 수단은 상기 휘도 채널의 양자화 파라미터를 결정하기 위해,
    상기 휘도 채널의 양자화 파라미터를 사용하고;
    가장 높은 공간 분해능을 갖는 채널의 양자화 파라미터를 사용하고,
    상기 비디오 표현 또는 상기 이미지의 재구성에 사용되지 않은 가상 채널의 양자화 파라미터를 사용하도록 더 구성되는
    장치.
  7. 제2항 또는 제3항에 있어서,
    상기 수단은,
    적어도 하나의 프로세서; 및
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고,
    상기 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서로 상기 장치의 성능을 야기하도록 구성되는
    장치.
  8. 방법으로서,
    비디오 표현 또는 이미지의 휘도 채널에서 도출된 제1 양자화 파라미터를 취득하는 단계 - 상기 제1 양자화 파라미터는 제2 양자화 파라미터의 값을 결정하는 기준으로 사용되도록 구성됨 - ;
    상기 비디오 표현 또는 상기 이미지의 제1 크로미넌스 채널 및 제2 크로미넌스 채널의 양자화된 잔차 계수들을 포함하는 블록을 취득하는 단계;
    상기 제1 양자화 파라미터와 상기 블록에 대한 상기 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 결정하는 단계;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩되었는지를 판정하는 단계;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 오프셋과 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 상기 제2 양자화 파라미터의 값을 결정하는 단계 - 상기 제2 양자화 파라미터는 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 상기 잔차 계수를 조인트 양자화하기 위해 사용됨 - ;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널을 위한 별도의 양자화 파라미터를 사용하여 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널에 대한 잔차 샘플을 양자화하지 않고, 상기 오프셋 및 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 결정된 상기 제2 양자화 파라미터의 값을 함께 사용하여, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 양자화된 잔차 계수들을 취득하기 위해 상기 비디오 표현 또는 상기 이미지의 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 잔차 샘플들을 조인트 양자화하는 단계를 포함하는
    방법.
  9. 장치로서,
    비디오 표현 또는 이미지의 휘도 채널에 대한 제1 양자화 파라미터를 취득하고 - 상기 제1 양자화 파라미터는 제2 양자화 파라미터의 값을 결정하는 기준으로 사용되도록 구성됨 - ;
    상기 비디오 표현 또는 상기 이미지의 제1 크로미넌스 채널 및 제2 크로미넌스 채널의 양자화된 잔차 계수들을 포함하는 블록을 취득하고;
    상기 제1 양자화 파라미터와 상기 블록에 대한 상기 제2 양자화 파라미터 사이의 관계를 정의하는 오프셋을 결정하고;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩되었는지를 판정하고;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 오프셋과 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 상기 제2 양자화 파라미터의 값을 결정하고 - 상기 제2 양자화 파라미터는 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 상기 잔차 계수를 조인트 양자화하기 위해 사용됨 - ;
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩된 경우, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널을 위한 별도의 양자화 파라미터를 사용하여 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널에 대한 잔차 샘플을 양자화하지 않고, 상기 오프셋 및 상기 휘도 채널에서 도출된 상기 제1 양자화 파라미터를 사용하여 결정된 상기 제2 양자화 파라미터의 값을 함께 사용하여, 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 양자화된 잔차 계수들을 취득하기 위해 상기 비디오 표현 또는 상기 이미지의 상기 제1 크로미넌스 채널 및 상기 제2 크로미넌스 채널의 잔차 샘플들을 조인트 양자화하는 수단을 포함하는
    장치.
  10. 제9항에 있어서,
    상기 수단은 또한,
    상기 블록이 크로스-채널 잔차 코딩 모드를 사용해서 인코딩되었다고 판정되는 경우에만 상기 제2 양자화 파라미터의 값을 결정하고,
    상기 제1 양자화 파라미터의 값이 범위 내인지 여부를 판정하고,
    상기 제1 양자화 파라미터의 값이 범위 내에 해당하지 않는 경우, 상기 제1 양자화 파라미터의 값을 조정하고,
    상기 제1 양자화 파라미터의 값을 사용하여 상기 제2 양자화 파라미터의 값을 결정하도록 구성되는
    장치.
  11. 제9항 또는 제10항에 있어서,
    상기 수단은 또한,
    하나 이상의 제한 기준을 취득하고;
    상기 하나 이상의 제한 기준을 충족시키기 위해 상기 제2 양자화 파라미터의 값을 제한하도록 구성되며,
    상기 하나 이상의 제한 기준은 다음 중 하나 이상을 포함하는
    - 상기 제2 양자화 파라미터는 최소값보다 작지 않음
    - 상기 제2 양자화 파라미터는 최대값보다 크지 않음
    - 상기 제2 양자화 파라미터는 값의 범위를 벗어나지 않음
    장치.
  12. 제9항 또는 제10항에 있어서,
    상기 수단은 상기 제1 크로미넌스 채널의 양자화 파라미터를 결정하기 위해,
    상기 휘도 채널의 양자화 파라미터를 사용하고;
    가장 높은 공간 분해능을 갖는 채널의 양자화 파라미터를 사용하도록 더 구성되는
    장치.
  13. 제9항 또는 제10항에 있어서,
    상기 수단은,
    적어도 하나의 프로세서; 및
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고, 상기 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서로 상기 장치의 성능을 야기하도록 구성되는
    장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020200019882A 2019-02-19 2020-02-18 크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출 KR102474636B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20195127 2019-02-19
FI20195127 2019-02-19

Publications (2)

Publication Number Publication Date
KR20200101863A KR20200101863A (ko) 2020-08-28
KR102474636B1 true KR102474636B1 (ko) 2022-12-05

Family

ID=69468432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200019882A KR102474636B1 (ko) 2019-02-19 2020-02-18 크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출

Country Status (6)

Country Link
US (1) US11323710B2 (ko)
EP (1) EP3700205A1 (ko)
JP (1) JP2020137111A (ko)
KR (1) KR102474636B1 (ko)
CN (1) CN111586408B (ko)
CA (1) CA3073084C (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021058594A1 (en) * 2019-09-24 2021-04-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multiple stage residual coding in modern hybrid image and video coding solutions
CN116671111A (zh) * 2020-09-29 2023-08-29 抖音视界有限公司 辅助信息的信令通知
CN112565757B (zh) * 2020-12-03 2022-05-13 西安电子科技大学 基于通道差异化的点云属性编码及解码方法、装置及系统
US11722675B2 (en) * 2020-12-29 2023-08-08 Qualcomm Incorporated Sign prediction for multiple color components in video coding
US20220279185A1 (en) * 2021-02-26 2022-09-01 Lemon Inc. Methods of coding images/videos with alpha channels
CN113079377B (zh) * 2021-04-01 2022-09-30 中国科学技术大学 一种深度图像/视频压缩网络的训练方法
WO2023013966A1 (ko) * 2021-08-06 2023-02-09 삼성전자 주식회사 Ai 기반의 영상의 부호화 및 복호화 장치, 및 이에 의한 방법
WO2023024712A1 (en) * 2021-08-27 2023-03-02 Mediatek Inc. Method and apparatus of joint coding for multi-colour components in video coding system
CN116109798B (zh) * 2023-04-04 2023-06-09 腾讯科技(深圳)有限公司 图像数据处理方法、装置、设备及介质
CN117033270B (zh) * 2023-10-08 2024-01-26 腾讯科技(深圳)有限公司 一种芯片、设备以及数据处理方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014534746A (ja) 2011-11-07 2014-12-18 インテル コーポレイション クロスチャネル残差予測
KR101689938B1 (ko) * 2012-01-20 2016-12-26 소니 주식회사 크로마 양자화 파라미터 확장
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) * 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
US10200700B2 (en) * 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US20150373327A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Block adaptive color-space conversion coding
WO2016056977A1 (en) * 2014-10-06 2016-04-14 Telefonaktiebolaget L M Ericsson (Publ) Coding and deriving quantization parameters
US10057578B2 (en) * 2014-10-07 2018-08-21 Qualcomm Incorporated QP derivation and offset for adaptive color transform in video coding
US10205968B2 (en) * 2015-02-13 2019-02-12 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US20180213216A1 (en) * 2015-06-16 2018-07-26 Lg Electronics Inc. Media data transmission device, media data reception device, media data transmission method, and media data rececption method
EP4199515A1 (en) * 2016-05-27 2023-06-21 SHARP Kabushiki Kaisha Systems and methods for varying quantization parameters
US11095922B2 (en) * 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN107181963B (zh) * 2017-03-31 2019-10-22 武汉斗鱼网络科技有限公司 一种视频压缩方法及装置
KR102578075B1 (ko) * 2018-09-21 2023-09-12 후아웨이 테크놀러지 컴퍼니 리미티드 역 양자화 장치 및 방법
EP3868095A4 (en) * 2018-11-26 2021-12-15 Huawei Technologies Co., Ltd. APPARATUS AND METHOD FOR DERIVATING A CHROMINANCE QUANTIFICATION PARAMETER
PH12019000380A1 (en) * 2018-12-17 2020-09-28 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
EP3703376A4 (en) * 2019-01-15 2020-09-02 LG Electronics Inc. -1- METHOD AND DEVICE FOR IMAGE ENCODING USING A TRANSFORM SKIP FLAG

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Jani Lainema, CE7: Joint coding of chrominance residuals (CE7-1), JVET of ITU-T and ISO/IEC, JVET-N0054 (2019.03.12.)
Jani Lainema, CE7: Joint coding of chrominance residuals, JVET of ITU-T and ISO/IEC, JVET-M0305 (2019.01.16.)
Jani Lainema, CE7-related: Joint coding of chrominance residuals, JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-M0305, 2019-01-16 pp. 1-5
Keiichi Chono, Enhanced chroma QP signalling for adaptive cross-component transform in SCC extensions, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-S0040-v2, 2014-10-17 pp. 1-6

Also Published As

Publication number Publication date
US20200267388A1 (en) 2020-08-20
CA3073084C (en) 2023-10-17
CA3073084A1 (en) 2020-08-19
EP3700205A1 (en) 2020-08-26
CN111586408B (zh) 2022-08-19
US11323710B2 (en) 2022-05-03
KR20200101863A (ko) 2020-08-28
CN111586408A (zh) 2020-08-25
JP2020137111A (ja) 2020-08-31

Similar Documents

Publication Publication Date Title
US10659802B2 (en) Video encoding and decoding
KR102474636B1 (ko) 크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출
US20220038733A1 (en) Apparatus, a method and a computer program for video coding and decoding
KR101767331B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101713005B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP2901688B1 (en) An apparatus and a method for video coding and decoding
US10547867B2 (en) Method, an apparatus and a computer program product for video coding and decoding
US20140254681A1 (en) Apparatus, a method and a computer program for video coding and decoding
CN111327893B (zh) 用于视频编码和解码的装置、方法和计算机程序
US11223849B2 (en) Transform sign compression in video encoding and decoding
JP2018524897A (ja) ビデオの符号化・復号装置、方法、およびコンピュータプログラム
KR20220061245A (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
WO2018172609A2 (en) Motion compensation in video encoding and decoding
GB2534591A (en) Video encoding and decoding
KR20240027829A (ko) 크로스-성분 파라미터 계산을 위한 장치, 방법 및 컴퓨터 프로그램
WO2019211514A1 (en) Video encoding and decoding
GB2519750A (en) An apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant