KR20230097215A - 채도 qp 값의 확장된 범위 - Google Patents
채도 qp 값의 확장된 범위 Download PDFInfo
- Publication number
- KR20230097215A KR20230097215A KR1020237020733A KR20237020733A KR20230097215A KR 20230097215 A KR20230097215 A KR 20230097215A KR 1020237020733 A KR1020237020733 A KR 1020237020733A KR 20237020733 A KR20237020733 A KR 20237020733A KR 20230097215 A KR20230097215 A KR 20230097215A
- Authority
- KR
- South Korea
- Prior art keywords
- chroma
- offset
- values
- slice
- picture
- Prior art date
Links
- 241000023320 Luma <angiosperm> Species 0.000 claims abstract description 102
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 102
- 238000013139 quantization Methods 0.000 claims abstract description 63
- 238000013507 mapping Methods 0.000 claims description 36
- 230000008859 change Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 239000000872 buffer Substances 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 16
- 238000012886 linear function Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 description 40
- 238000001914 filtration Methods 0.000 description 25
- 230000006854 communication Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 18
- 238000013459 approach Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 8
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000009795 derivation Methods 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Vessels And Coating Films For Discharge Lamps (AREA)
- Pyrane Compounds (AREA)
Abstract
본 발명은 조도 양자화 파라미터(QP) 값에 의존하는 채도 QP 값의 제어 및 사용에서의 개선점을 제공한다. 보다 일반적으로는, 주요 컬러 성분에 대한 QP 값에 의존하는 보조 컬러 성분에 대한 QP 값의 제어 및 사용에 관한 개선점을 제공한다. 예를 들어, 인코딩 동안에, 인코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정한다. 인코더는 QP 인덱스를 보조 성분 QP에 맵핑하는데, 이는 연장된 범위를 갖는다. 인코더는, 인코딩된 콘텐트를 포함하는 비트스트림의 적어도 일부를 출력한다. 대응 디코더는, 인코딩된 콘텐트를 포함하는 비트스트림의 적어도 일부를 수신한다. 디코딩 동안, 디코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정한 후, QP 인덱스를 보조 성분 QP에 맵핑하는데, 이는 연장된 범위를 갖는다.
Description
엔지니어들은 디지털 비디오의 비트 레이트를 감소시키기 위해 (소스 코딩 또는 소스 인코딩이라고도 불리는) 압축(compression)을 사용한다. 압축은, 비디오 정보를 보다 낮은 비트 레이트 형태로 변환함으로써 비디오 정보의 저장 및 전송 비용을 감소시킨다. (디코딩이라고도 하는) 압축해제(decompression)는 정보를 압축된 형태로부터 원래 버전으로 재구성한다. “코덱”은 인코더/디코더 시스템이다.
지난 20년간에 걸쳐, H.261, H.262 (MPEG-2 또는 ISO/IEC 13818-2), H.263 및 H.264 (AVC 또는 ISO/IEC 14496-10) 표준 및 MPEG-1 (ISO/IEC 11172-2), MPEG-4 Visual (ISO/IEC 14496-2) 및 SMPTE 421M 표준을 포함하는 다양한 비디오 코덱 표준들이 채택되어 왔다. 보다 최근에는, HEVC 표준이 개발되고 있다. 통상적으로, 비디오 코덱 표준은 인코딩된 비디오 비트스트림의 신택스(syntax)에 관한 옵션을 정의하여, 특정 기능이 인코딩 및 디코딩에 사용될 때 비디오 비트스트림에서의 파라미터를 상세히 표시한다. 많은 경우에, 비디오 코덱 표준은 디코더가 올바른 디코딩 결과를 얻기 위해 수행해야 하는 디코딩 동작에 관한 세부사항도 제공한다. 코덱 표준 외에도, 다양한 전유(proprietary) 코덱 포맷이 인코딩된 비디오 비트스트림의 신택스(syntax) 및 대응 디코딩 동작을 위한 다른 옵션을 정의한다.
비트스트림의 파라미터 유형 중 하나는 양자화 파라미터(“QP”: quantization parameter)이다. 인코딩 동안에, 인코더는 QP의 값을 설정하여 품질 및 비트레이트를 조절한다. 일반적으로, QP의 값이 낮은 경우, 인코딩된 비디오의 품질은 높으나 더 많은 비트가 소모된다. 한편, QP의 값이 높은 경우, 인코딩된 비디오의 품질은 낮으나 더 적은 비트가 소모된다. 디코더는 인코딩된 비디오로부터 비디오 콘텐트를 재구성할 때 QP 값을 사용한다.
통상적으로, 카메라, 애니메이션 출력, 스크린 캡처 모듈 등과 같은 비디오 소스는 YUV 포맷과 같은 포맷으로 변환되는 비디오를 제공한다. YUV 포맷은 밝기 값을 나타내는 샘플 값을 갖는 조도(luma) (또는 Y) 성분과, 상이한 컬러 값을 나타내는 샘플 값을 갖는 다수의 채도(chroma) 성분을 포함한다. 컬러 차이 값의 정밀한 정의( 및 YUV 컬러 공간으로부터 RGB와 같은 다른 컬러 공간으로의, 또는 그 반대로의 변환 동작)는 구현에 의존한다. 일반적으로, 조도/채도 컬러 공간은 하나의 조도(luminance) 성분 및 하나 이상의 채도(chrominance) 성분으로 구성되는 임의의 컬러 공간일 수 있으며, YUV, Y'UV, YIQ, Y'lQ 및 YDbDr과, YCbCr 및 YCoCg와 같은 변형을 포함할 수 있는데, 기호 Y는 조도 성분을 나타내고, 다른 기호는 채도 성분을 나타낸다.
몇몇 코덱 표준 및 포맷의 경우, 인코더는 조도 성분 및 채도 성분에 대해 상이한 QP 값을 설정할 수 있다. 이 방식에서, 인코더는 상이한 컬러 성분에 대해 양자화를 어떻게 수행할 지를 제어할 수 있으며, 따라서 성분들 사이의 품질 및 비트레이트를 조정할 수 있다. 그러나, 채도 성분에 대한 QP 값을 제어하고 사용하는 종래 방안은 여러 단점을 가지는데, 높은 QP 상황에서 세부적인 제어(fine-grained control)가 충분하지 못하며, 다른 디코딩 동작에서 적합한 수준의 응답성을 제공하지 못하는 등의 단점을 포함한다.
요약하면, 발명의 상세한 설명에서는, 조도 양자화 파라미터(QP) 값에 의존하는 채도 QP 값의 제어 및 사용에서의 개선점(innovations)을 제공한다. 보다 일반적으로는, 주요 컬러 성분(가령, 조도 성분)에 대한 QP 값에 의존하는 보조 컬러 성분(가령, 채도 성분)에 대한 QP 값의 제어 및 사용에 관한 개선점을 제공한다.
예를 들어, 이미지 또는 비디오 인코더는 주요 성분과 적어도 하나의 보조 성분 사이의 관계에 따라 QP 값이 변하는 다수의 컬러 성분을 갖는 비디오 또는 기타 콘텐트를 인코딩한다. 인코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정하는데, 이는 주요 성분 QP와의 차이를 표시한다. 그 후, 인코더는 QP 인덱스를 보조 성분 QP에 맵핑한다. 보조 성분 QP에 의해 표시되는 양자화 스텝 사이즈("QSS") 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 실질적으로 일치한다. 따라서, 보조 성분 QP는 소정 종래 방안과 비교하여 연장된 범위를 갖는다. 인코더는, 인코딩된 비디오 또는 기타 콘텐트를 포함하는 비트스트림의 적어도 일부를 출력한다.
또는, 디코더는, 주요 성분과 적어도 하나의 보조 성분 사이의 관계에 따라 QP 값이 변하는 다수의 컬러 성분을 갖는 인코딩된 비디오 또는 기타 콘텐트를 포함하는 비트스트림의 적어도 일부를 수신한다. 디코더는 인코딩된 비디오를 디코딩한다. 특히, 디코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정한 후, 이 QP 인덱스를 보조 성분 QP에 맵핑한다. 보조 성분 QP에 의해 표시되는 양자화 스텝 사이즈(QSS) 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 실질적으로 일치한다.
예를 들어, 주요 성분은 조도 성분이고, 적어도 하나의 보조 성분 각각은 채도 성분이다. 적어도 하나의 보조 성분은 다수의 채도 성분을 포함할 수 있는데, 이 경우 QP의 값은 채도 성분들마다 다를 수 있다.
통상적으로, 주요 성분에 대한 QP의 값이 시그날링되고, 적어도 하나의 보조 성분에 대한 QP 값은 그 관계에 따라 도출된다. 이 관계는 룩업 테이블을 적어도 부분적으로 사용하여 지정될 수 있다. 또는, 이 관계는 구분적 선형 함수(piece-wise linear function)를 구현하는 로직을 적어도 부분적으로 사용하여 지정될 수 있다.
일부 구현에서, 이 관계에 따라, 임계에 비해 높은 QSS(즉, 넓은 간격의(coarse) 양자화)를 표시하는 QP 값에 대해, 주요 성분에 대한 QP의 값의 변화는 적어도 하나의 보조 성분에 대한 QP 값의 동일한 크기의 변화를 야기한다. 통상적으로, 양자화 스텝 사이즈(QSS)는 정의된 관계에 따른 QP 값에 의존한다. 따라서, 높은 QSS를 표시하는 QP의 값에 대해, QP의 값에 의해 표현되는 QSS는 (b) 적어도 하나의 보조 성분에 대한 QP의 값에 의해 표현되는 QSS에 대한 (a) 주요 성분에 대한 QP의 값에 의해 표현되는 QSS의 일정한 비율로 변한다.
몇몇 구현에서, 이 관계에 따라, 높은 QSS를 표시하는 QP의 값에 대해, 일정한 QP 오프셋 값은 대응하는 적어도 하나의 보조 성분에 대한 QP의 값에 의해 표현되는 QSS와 동일한, 주요 성분에 대한 QP의 값에 의해 표현되는 QSS를 산출한다. 다시 말해, 높은 QSS를 표시하는 QP의 값에 대해, 보조 성분 QP 오프셋의 주어진 값에 있어서, 주요 성분에 대한 QP의 값에 의해 표현되는 QSS는 대응하는 적어도 하나의 보조 성분에 대한 QP의 값에 의해 표현되는 QSS와 동일하게 유지된다.
몇몇 구현에서, 이 관계에 따라, 채도 QP 값을 발견하기 위해 사용되는 인덱스 값의 도출은 슬라이스 레벨 채도 QP 오프셋에 적어도 부분적으로 근거한다. 픽처 레벨 채도 QP 오프셋이 사용되어 픽처에 적용되는 채도 QP 값에 대한 차이를 지정할 수 있다. 픽처 레벨 채도 QP 오프셋에 추가하여, 슬라이스 레벨 채도 QP 오프셋이 사용되어 픽처의 일부인 슬라이스에 적용되는 채도 QP 값에 대한 차이를 지정할 수 있다. 슬라이스 레벨 채도 QP 오프셋의 사용/비사용(또는 이러한 슬라이스 레벨 채도 QP 오프셋이 비트스트림에 존재하는지의 여부)이 비트스트림의 구조의 신택스 요소에 의해 표시될 수 있다. 예를 들어, 이 구조의 신택스 요소는 픽처 파라미터 세트의 플래그 값이다.
다른 예로서, 비디오 인코더는 주요 성분과 적어도 하나의 보조 성분 사이의 관계에 따라 QP 값이 변하는 다수의 컬러 성분을 갖는 비디오를 인코딩한다. 인코딩은, 제어 파라미터의 도출이 채도 QP 오프셋에 적어도 부분적으로 기초하는 디블록 필터링을 포함한다. 채도 QP 오프셋은 픽처 레벨 채도 QP 오프셋 또는 픽처 레벨 채도 QP 오프셋과 슬라이스 레벨 채도 QP의 조합을 사용하여 지정될 수 있다. 인코더는, 인코딩된 비디오를 포함하는 비트스트림 또는 비트스트림 부분의 적어도 일부를 출력한다.
또는, 비디오 디코더는, 주요 성분과 적어도 하나의 보조 성분 사이의 관계에 따라 QP 값이 변하는 다수의 컬러 성분을 갖는 인코딩된 비디오를 포함하는 비트스트림 또는 비트스트림 부분의 적어도 일부를 수신한다. 디코더는 인코딩된 비디오를 디코딩한다. 디코딩은, 제어 파라미터의 도출이 채도 QP 오프셋에 적어도 부분적으로 기초하는 디블록 필터링을 포함한다. 채도 QP 오프셋은 픽처 레벨 채도 QP 오프셋 또는 픽처 레벨 채도 QP 오프셋과 슬라이스 레벨 채도 QP의 조합을 사용하여 지정될 수 있다.
인코딩 또는 디코딩은 방법의 일부로서, 이 방법을 수행하도록 구성되는 컴퓨팅 디바이스의 일부로서, 또는 이 방법을 컴퓨팅 디바이스가 수행하게 하는 컴퓨터로 실행 가능한 인스트럭션을 저장하는 유형의 컴퓨터로 판독 가능한 매체의 일부로서 구현될 수 있다.
본 발명의 전술한 목적, 특징 및 장점과 기타 목적, 특징 및 장점은 이하의 상세한 설명으로부터 보다 명백해질 것이며, 첨부된 도면을 참조하여 설명한다.
도 1은 일부 실시예가 구현될 수 있는 예시적 컴퓨팅 시스템의 도면이다.
도 2(a) 및 2(b)는 일부 실시예가 구현될 수 있는 예시적 네트워크 환경의 도면이다.
도 3은 일부 실시예와 함께 구현될 수 있는 예시적 인코더 시스템의 도면이다.
도 4은 일부 실시예와 함께 구현될 수 있는 예시적 디코더 시스템의 도면이다.
도 5는 일부 실시예와 함께 구현될 수 있는 예시적 비디오 인코더를 도시하는 도면이다.
도 6는 일부 실시예와 함께 구현될 수 있는 예시적 비디오 디코더를 도시하는 도면이다.
도 7은 인코딩 동안에 채도 QP를 결정하기 위한 일반화된 기술을 도시하는 흐름도이다.
도 8은 디코딩 동안에 채도 QP를 결정하기 위한 일반화된 기술을 도시하는 흐름도이다.
도 9(a)는 픽처 파라미터 세트 RBSP 신택스에서의 새로운 플래그 slicelevel_chroma_qp_flag를 도시하는 테이블이고, 도 9(b)는 슬라이스 헤더 신택스에서의 새로운 값 slice_qp_delta_cb 및 slice_qp_delta_cr을 도시하는 테이블이다.
도 2(a) 및 2(b)는 일부 실시예가 구현될 수 있는 예시적 네트워크 환경의 도면이다.
도 3은 일부 실시예와 함께 구현될 수 있는 예시적 인코더 시스템의 도면이다.
도 4은 일부 실시예와 함께 구현될 수 있는 예시적 디코더 시스템의 도면이다.
도 5는 일부 실시예와 함께 구현될 수 있는 예시적 비디오 인코더를 도시하는 도면이다.
도 6는 일부 실시예와 함께 구현될 수 있는 예시적 비디오 디코더를 도시하는 도면이다.
도 7은 인코딩 동안에 채도 QP를 결정하기 위한 일반화된 기술을 도시하는 흐름도이다.
도 8은 디코딩 동안에 채도 QP를 결정하기 위한 일반화된 기술을 도시하는 흐름도이다.
도 9(a)는 픽처 파라미터 세트 RBSP 신택스에서의 새로운 플래그 slicelevel_chroma_qp_flag를 도시하는 테이블이고, 도 9(b)는 슬라이스 헤더 신택스에서의 새로운 값 slice_qp_delta_cb 및 slice_qp_delta_cr을 도시하는 테이블이다.
다수 성분의 컬러 공간 표현을 사용하는 비디오 콘텐트 및 기타 이미지 콘텐트를 압축하는 데 있어서, 설계 시 중요한 한 측면은 컬러 성분들마다의 양자화 입도(granularity) 제어이다. 통상적으로, 이러한 제어는 (흔히 주요 성분이라고 하는) 한 컬러 성분과 연관되는 양자화 스텝 사이즈와 (흔히 보조 성분이라고 하는) 다른 컬러 성분과 연관되는 양자화 스텝 사이즈(들) 사이의 스케일링 관계(scaling relationship)를 수립함으로써 달성된다. 통상적으로, 주요 성분은 조도 성분이고, 보조 성분(들)은 채도 성분(들)이다.
예를 들어, ITU-T H.264 표준에서는, 조도 성분과 채도 성분에 대한 QP 사이의 관계는 종종 주파수 특정 배율(frequency-specific scaling factors)을 수립하기 위한 양자화 스케일링 행렬과 함께, QP 값, 룩업 테이블 및 인코더에 의해 제어되는 오프셋에 따라 결정된다. QP에 대한 코딩 제어의 이 측면에 관한 기존 설계에는 몇 가지 단점이 존재한다. 예를 들어, H.264에서 (채도에 대한 가장 넓은 간격의(coarse) 양자화를 표시하는) 채도 성분에 대한 QP의 최대 값은 조도 성분을 위해 지원되는 (조도에 대한 가장 넓은 간격의 양자화를 표시하는) QP의 최대 값보다 상당히 작은 값으로 제한된다. 이는, 양자화의 조밀도(coarseness)가 채도에 대한 QP의 최대 값에 의해 제한될 때 비디오 콘텐트의 채도 성분을 인코딩하기 위해 과도한 양의 비트가 사용되게 하여, 비디오 콘텐트의 조도 성분을 인코딩하기 위해 사용되는 비트 수가 적어지게 하고 전체 품질의 감소를 초래한다.
발명의 상세한 설명에서는, 주요 성분의 양자화의 입도(granularity)와 관련하여 보조 성분의 양자화의 입도를 제어하는 다양한 방안을 설명한다. 많은 경우에, 이들 방안은 종래 방안의 결점을 경감시킨다. 특히, 발명의 상세한 설명에서는, 연장된 범위를 갖는 채도 QP 값의 사용을 위한 개선점을 설명한다.
예를 들어, 설명되는 방안들은 주요 컬러 성분과 보조 컬러 성분 사이의 관계를 수립하기 위해 사용될 수 있는 룩업 테이블의 크기를 연장하여 사용하는 것을 포함한다. 다른 예로서, 이러한 룩업 테이블에 의해 수립되는 QP 값들의 함수적 관계는 간단함 수학적 연산의 사용으로 대체하여 제공될 수 있다. 또한, 비디오 코딩 및 디코딩의 QP 값의 제어의 추가적인 개선측면이 설명된다. 설명되는 기술들은 스틸 이미지 코딩/디코딩, 의료 스캔 콘텐트 코딩/디코딩, 멀티스펙트럼 이미지(multispectral imagery) 콘텐트 코딩/디코딩 등과 같은, 비디오 코딩/디코딩 이외의 추가 애플리케이션에 적용될 수 있다. 본 명세서의 여러 부분에서 설명되는 동작들은 인코더(가령, 비디오 인코더) 또는 디코더(가령, 비디오 디코더)에 의해 수행되는 것으로 설명되지만, 많은 경우에 이 동작들은 다른 유형의 미디어 프로세싱 툴에 의해 대체하여 수행될 수 있다.
본 명세서에서 설명되는 개선점 중 일부는 HEVC 표준에 특정한 신택스 요소 및 동작을 참조하여 설명된다. 예를 들어, HEVC 표준의 드래프트 버전 JCTVC-I1003 - "High efficiency video coding (HEVC) text specification draft 7" (2012년 4월 제네바, 제9회 미팅, JCTVC- I1003_d5)을 참조한다. 본 명세서에서 설명되는 개선점은 다른 표준 또는 포맷에 대해서도 구현될 수 있다.
본 명세서에서 설명되는 개선점 중 일부는 YCbCr 포맷의 컬러 성분에 대한 신택스 요소 및 동작을 참조하여 설명된다. 또한, 본 명세서에서 설명되는 개선점들은 Y’UV, YIQ, Y’IQ 및 YDbDr와 같은 다른 조도/채도 포맷과, YCoCg와 같은 변형에 대해서도 구현될 수 있다. Cb 및 Cr 성분에 대한 예들은, 채도 성분이 U와 V, I와 Q, Db와 Dr, Co와 Cg 또는 다른 포맷의 채도 성분일 때에도 마찬가지로 적용되는 것으로 이해되어야 한다.
보다 일반적으로, 본 명세서에서 설명되는 예에 대한 다양한 대안이 가능하다. 예를 들어, 본 명세서에서 설명되는 방법 중 몇몇 방법은 설명되는 방법의 동작의 순서를 변경하거나, 특정 방법의 동작을 분할, 반복 또는 생략하는 등에 의해 변경될 수 있다. 개시된 기술의 다양한 양태는 조합하여 사용되거나 개별적으로 사용될 수 있다. 상이한 실시예가 설명되는 개선점 중 하나 이상을 사용할 수 있다. 본 명세서에서 설명되는 개선점 중 일부는 전술한 배경기술 단락에서 설명되는 문제점 중 하나 이상을 해결한다. 통상적으로, 소정의 기술/툴(tool)은 이러한 문제 전부를 해결하지는 못한다.
I. 예시적 컴퓨팅 시스템
도 1은 설명되는 개선점 중 몇몇이 구현되기에 적합한 컴퓨팅 시스템(100)의 일반적인 예를 도시하고 있다. 개선점들은 다양한 범용 컴퓨팅 시스템 또는 특수 목적 컴퓨팅 시스템에서 구현될 수 있으므로, 컴퓨팅 시스템(100)은 사용 또는 기능의 범위에 관한 어떠한 제한도 제시하고자 하는 것이 아니다.
도 1을 참조하면, 컴퓨팅 시스템(100)은 하나 이상의 프로세싱 유닛(110, 115)과, 메모리(120, 125)를 포함한다. 도 1에서, 이 가장 기본적인 구성(130)은 파선 내에 포함된다. 프로세싱 유닛(110, 115)은 컴퓨터로 실행 가능한 인스트럭션을 실행한다. 프로세싱 유닛은 범용 CPU(central processing unit), ASIC(application-specific integrated circuit) 내의 프로세서, 또는 임의의 다른 유형의 프로세서일 수 있다. 멀티프로세싱 시스템에서, 다수의 프로세싱 유닛은 컴퓨터로 실행 가능한 인스트럭션을 실행하여 프로세싱 파워를 증가시킨다. 예를 들어, 도 1은 중앙 처리 유닛(110)과 함께 그래픽 처리 유닛 또는 코프로세싱 유닛(co-processing unit, 115)을 도시하고 있다. 유형의(tangible) 메모리(120, 125)는 휘발성 메모리(가령, 레지스터, 캐시, RAM), 비휘발성 메모리(가령, ROM, EEPROM, 플래시 메모리 등), 또는 이들 둘의 어떤 조합일 수 있으며, 프로세싱 유닛(들)에 의해 액세스될 수 있다. 메모리(120, 125)는, 프로세싱 유닛(들)에 의해 실행되기에 적합한 컴퓨터로 실행 가능한 인스트럭션의 형태로, 채도 QP 값의 연장된 범위를 사용하여 비디오 또는 기타 콘텐트를 인코딩 또는 디코딩을 위한 하나 이상의 개선점을 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 시스템은 추가적인 기능을 가질 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 스토리지(140), 하나 이상의 입력 디바이스(150), 하나 이상의 출력 디바이스(160), 및 하나 이상의 통신 접속부(170)를 포함한다. 버스, 컨트롤러 또는 네트워크와 같은 상호접속 메커니즘(도시 생략)은 컴퓨팅 시스템(100)의 컴포넌트들을 상호접속시킨다. 통상적으로, 운영 시스템 소프트웨어(도시 생략)는 컴퓨팅 시스템(100)에서 실행되는 다른 소프트웨어에 대한 동작 환경을 제공하며, 컴퓨팅 시스템(100)의 컴포넌트들의 동작을 조정한다(coordinates).
유형의 스토리지(140)는 제거 가능할 수도 제거 가능하지 않을 수도 있으며, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 정보를 저장하기 위해 사용될 수 있고 컴퓨팅 시스템(100) 내에서 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 스토리지(140)는 연장된 범위의 채도 QP 값을 사용하여 비디오 또는 기타 콘텐트의 인코딩 또는 디코딩을 위한 하나 이상의 개선점을 구현하는 소프트웨어(180)에 관한 인스트럭션을 저장한다.
입력 디바이스(들)(150)는 키보드, 마우스, 펜 또는 트랙볼(trackball)과 같은 터치 입력 디바이스, 음성 입력 디바이스, 스캐닝 디바이스, 또는 컴퓨팅 시스템(100)으로의 입력을 제공하는 다른 디바이스일 수 있다. 비디오 인코딩에 있어서, 입력 디바이스(들)(150)는 카메라, 비디오 카드, TV 튜너 카드, 또는 아날로그 또는 디지털 형태로 비디오 입력을 수신하는 유사한 디바이스, 또는 컴퓨팅 시스템(100)으로 비디오 샘플을 판독하는 CD-ROM 또는 CD-RW일 수 있다. 출력 디바이스(들)(160)는 디스플레이, 프린터, 스피커, CD-라이터(writer), 또는 컴퓨팅 시스템(100)으로부터의 출력을 제공하는 다른 디바이스일 수 있다.
통신 접속부(들)(170)는 통신 매체를 통해 다른 컴퓨팅 개체로의 통신을 가능하게 한다. 통신 매체는, 컴퓨터로 실행 가능한 인스트럭션, 오디오 또는 비디오 입력 또는 출력, 또는 기타 데이터와 같은 정보를 변조된 데이터 신호를 통해 전달한다. 변조된 데이터 신호는, 내부에 정보를 인코딩하기 위해 자신의 특성들 중 하나 이상을 설정 또는 변경한 신호이다. 제한적이 아닌 예시적으로, 통신 매체는 전기, 광학, RF, 또는 기타 캐리어를 사용할 수 있다.
컴퓨터로 판독 가능한 매체의 일반적인 맥락에서 개선점을 설명할 수 있다. 컴퓨터로 판독 가능한 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 이용 가능한 유형의 매체이다. 제한적인 아닌 예시적으로, 이 컴퓨팅 시스템(100)에서, 컴퓨터로 판독 가능한 저장 매체는 메모리(120, 125), 스토리지(140) 및 이들 중 임의의 조합을 포함한다.
컴퓨팅 시스템에서 대상 실제 또는 가상 프로세서상에서 실행되는 프로그램 모듈에 포함되는 것과 같은, 컴퓨터로 실행 가능한 인스트럭션의 일반적인 맥락에서 개선점들을 설명할 수 있다. 일반적으로, 프로그램 모듈은, 특정 작업을 수행하거나 특정 추상적 데이터 유형(abstract data types)을 수행하는 루틴, 프로그램, 라이브러리, 오브젝트, 클래스, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 프로그램 모듈들 사이에서 조합되거나 분할될 수 있다. 프로그램 모듈을 위한 컴퓨터로 실행 가능한 인스트럭션은 로컬 또는 분산형 컴퓨팅 시스템 내에서 실행될 수 있다.
본 명세서에서, “시스템”이라는 용어와 “디바이스”라는 용어는 상호 교환적으로 사용된다. 맥락상으로 명백하게 표시되지 않는 한, 두 용어는 컴퓨팅 시스템 또는 컴퓨팅 디바이스의 유형에 제한을 암시하지 않는다. 일반적으로, 컴퓨팅 시스템 또는 컴퓨팅 디바이스는 로컬 또는 분산형일 수 있으며, 특수 목적 하드웨어 및/또는 범용 하드웨어와, 본 명세서에서 설명되는 기능을 구현하는 소프트웨어와의 임의의 조합을 포함할 수 있다.
개시되는 방법들은 이들 중 임의의 방법을 수행하도록 구성되는 전용 컴퓨팅 하드웨어를 사용하여 구현될 수도 있다. 예를 들어, 개시되는 방법들은 이들 중 임의의 방법을 구현하도록 특수하게 설계되거나 구성되는 집적 회로(가령, ASIC DSP (digital signal process unit) 및 GPU(graphics processing unit) 와 같은 ASIC(application specific integrated circuit) 또는 FPGA (field programmable gate array)와 같은 PLD (programmable logic device))에 의해 구현될 수 있다.
설명의 목적을 위해, 상세한 설명에서는 컴퓨팅 시스템에서의 컴퓨터 동작을 기술하기 위해 “결정한다” 및 “사용한다”와 같은 용어들이 사용된다. 이들 용어는 컴퓨터에 의해 수행되는 동작에 대한 고수준의 추상적 개념(high- level abstractions)이며, 인간에 의해 수행되는 행위와 혼동해서는 안된다. 이들 용어에 대응하는 실제 컴퓨터 동작은 구현에 따라 달라진다.
II. 예시적 네트워크 환경
도 2(a) 및 도 2(b)는 비디오 인코더(220) 및 비디오 디코더(270)를 포함하는 예시적 네트워크 환경(201, 202)을 도시하고 있다. 인코더(220) 및 디코더(270)은 적합한 통신 프로토콜을 사용하여 네트워크(250)를 통해 접속된다. 네트워크(250)는 인터넷 또는 다른 컴퓨터 네트워크를 포함할 수 있다.
도 2(a)에 도시된 네트워크 환경(201)에서, 각 실시간 통신 (“RTC (real-time communication)”) 툴(210)은 양방향 통신을 위해 인코더(220) 및 디코더(270) 모두를 포함한다. 소정 인코더(220)는, SMPTE 421M 표준, (H.264 또는 AVC로도 알려진) ISO-IEC 14496-10 표준, HEVC 표준, 다른 표준 또는 전유 포맷(proprietary format)에 따라, 이 인코더(220)로부터 인코딩된 데이터를 수신하는 대응 디코더(270)에 대한 출력을 생성할 수 있다. 양방향 통신은, 영상 회의, 영상 통화 또는 기타 양자간 통신 시나리오의 일부일 수 있다. 도 2(a)의 네트워크 환경(201)은 2개의 실시간 통신 툴(210)을 포함하지만, 네트워크 환경(201)은 대신에 다자간 통신에 참가하는 3개 이상의 실시간 통신 툴(210)을 포함할 수도 있다.
실시간 통신 툴(210)은 인코더(220)에 의한 인코딩을 관리한다. 도 3은 실시간 통신 툴(210)에 포함될 수 있는 예시적 인코더 시스템(300)을 도시하고 있다. 실시간 통신 툴(210)은 대안으로 다른 인코더 시스템을 사용할 수 있다. 실시간 통신 툴(210)은 또한 디코더(270)에 의한 디코딩을 관리한다. 도 4는 실시간 통신 툴(210)에 포함될 수 있는 예시적 디코더 시스템(400)을 도시하고 있다. 실시간 통신 툴(210)은 대안으로 다른 디코더 시스템을 사용할 수 있다.
도 2(b)에 도시된 네트워크 환경(202)에서, 인코딩 툴(212)은 디코더(270)를 포함하는 다수의 재생 툴(playback tools, 214)로 전송하기 위해 비디오를 인코딩하는 인코더(220)를 포함한다. 비디오 감시 시스템, 웹 카메라 모니터링 시스템, 원격 데스크톱 회의 프리젠테이션, 또는 비디오가 인코딩되어 한 위치로부터 하나 이상의 다른 위치로 송신되는 다른 시나리오를 위해, 단방향 통신이 제공될 수 있다. 도 2(b)에 도시된 네트워크 환경(202)은 2개의 재생 툴(214)을 포함하지만, 네트워크 환경(202)은 더 많거나 적은 수의 재생 툴(214)을 포함할 수 있다. 일반적으로, 재생 툴(214)은 인코딩 툴(212)과 통신하여 재생 툴(214)이 수신할 비디오 스트림을 결정한다. 재생 툴(214)은 비디오 스트림을 수신하고, 수신된 인코딩된 데이터를 적합한 시간 동안 버퍼링하고, 디코딩 및 재생을 시작한다.
도 3은 인코딩 툴(212)에 포함될 수 있는 예시적 인코더 시스템(300)을 도시하고 있다. 인코딩 툴(212)은 대안으로 다른 인코더 시스템을 사용할 수 있다. 인코딩 툴(21)은 하나 이상의 재생 툴(214)과의 접속을 관리하기 위해 서버측 콘트롤러 로직을 포함할 수도 있다. 도 4는 재생 툴(214)에 포함될 수 있는 예시적 디코더 시스템(400)을 도시하고 있다. 재생 툴(214)은 대안으로 다른 디코더 시스템을 사용할 수 있다. 재생 툴(214)은 인코딩 툴(212)과의 접속을 관리하기 위해 클라이언트측 콘트롤러 로직을 포함할 수도 있다.
III. 예시적 인코더 시스템
도 3은 일부 실시예와 함께 구현될 수 있는 예시적 인코더 시스템(300)의 블록도이다. 인코더 시스템(300)은 실시간 통신용 로우-레이턴시(low-latency) 인코딩 모드, 트랜스 코딩 모드(transcoding mode), 파일 또는 스트림으로부터의 미디어 재생을 위한 보통의 인코딩 모드와 같은 다수의 인코딩 모드들 중 하나의 모드에서 동작할 수 있는 범용 인코딩 툴이거나, 이러한 인코딩 모드 중 하나의 모드에 적응된 특수 목적 인코딩 툴일 수 있다. 인코더 시스템(300)은, 운영 시스템 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 독립적 애플리케이션으로서 구현될 수 있다. 전체적으로, 인코더 시스템(300)은 비디오 소스(310)로부터 소스 비디오 프레임(311) 시퀀스를 수신하고, 채널(390)로의 출력으로서 인코딩된 데이터를 생성한다. 채널로 출력되는 인코딩된 데이터는 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다.
비디오 소스(310)는 카메라, 튜너 카드, 저장매체 또는 기타 디지털 비디오 소스일 수 있다. 비디오 소스(310)는, 가령, 초당 30 프레임의 프레임 레이트로 비디오 프레임 시퀀스를 생성한다. 본 명세서에서 사용되는 바와 같이, “프레임”이라는 용어는 일반적으로 소스, 코딩되거나 재구성된 이미지 데이터를 지칭한다. 프로그레시브 비디오(progressive video)에 있어서, 프레임은 프로그레시브 비디오 프레임이다. 인터레이스드 비디오(interlaced video)에 있어서, 예시적 실시예에서, 인터레이스드 비디오 프레임은 인코딩에 앞서 인터레이싱이 해제된다(de-interlaced). 이와 달리, 2개의 상보적 인터레이스드 비디오 필드가 인터레이스드 비디오 프레임 또는 별도의 필드로서 인코딩될 수 있다. 프로그레시브 비디오 프레임을 표시하는 것 외에도, “프레임”이라는 용어는 쌍을 이루지 않는 단일 비디오 필드, 상보적인 비디오 필드 쌍, 주어진 시각에서 비디오 오브젝트를 표현하는 비디오 오브젝트 평면, 또는 더 큰 이미지에서의 관심 영역을 표시할 수 있다. 비디오 오브젝트 평면 또는 영역은 한 장면의 다수의 오브젝트 또는 영역을 포함하는 보다 큰 이미지의 일부일 수 있다.
도달 소스 프레임(311)은 다수의 프레임 버퍼 저장 영역(321, 322, …, 32n)을 포함하는 소스 프레임 임시 메모리 저장 영역(320)에 저장된다. 프레임 버퍼(321, 322 등)는 하나의 소스 프레임을 소스 프레임 저장 영역(320)에 유지한다. 소스 프레임(311) 중 하나 이상이 프레임 버퍼(321, 322 등)에 저장된 후, 프레임 셀렉터(330)는 소스 프레임 저장 영역(320)으로부터 개별적인 소스 프레임을 주기적으로 선택한다. 인코더(340)에 입력하기 위해 프레임 셀렉터(330)에 의해 프레임이 선택되는 순서는, 비디오 소스(310)에 의해 프레임이 생성되는 순서와는 상이할 수 있는데, 가령, 시간적 역방향 예측(temporally backward prediction)을 돕기 위해 하나의 프레임이 순서상 앞설 수 있다. 인코더(340) 이전에, 인코더 시스템(300)은 인코딩에 앞서서 선택된 프레임(331)의 사전 처리(가령, 필터링)을 수행하는 프리-프로세서(pre-processor) (도시 생략)를 포함할 수 있다. 프리-프로세싱은 또한 인코딩을 위한 주요 및 보조 성분으로의 컬러 공간 변환을 포함할 수 있다.
인코더(340)는 선택된 프레임(331)을 인코딩하여 코딩된 프레임(341)을 생성하고, 또한 MMCO(memory management control operation) 신호(342) 또는 RPS(reference picture set) 정보를 생성한다. 현재 프레임이 인코딩된 첫 번째 프레임이 아닌 경우, 그 인코딩 프로세스를 수행할 때, 인코더(340)는 디코딩된 프레임 임시 메모리 저장 영역(360)에 저장된 하나 이상의 이전에 인코딩된/디코딩된 프레임(369)을 사용할 수 있다. 이러한 저장된 디코딩된 프레임(369)은 현재 소스 프레임(331)의 콘텐트의 프레임간 예측(inter-frame prediction)을 위한 기준 프레임으로서 사용된다. 일반적으로, 인코더(340)는 모션 추정 및 보상, 주파수 변환, 양자화 및 엔트로피 코딩과 같은 인코딩 작업을 수행하는 다수의 인코딩 모듈을 포함한다. 인코더(340)에 의해 수행되는 정확한 동작은 압축 포맷에 따라 변할 수 있다. 출력되는 인코딩된 데이터의 포맷은 윈도우 미디어 비디오(Windows Media Video) 포맷, VC-1 포맷, MPEG-x 포맷(가령, MPEG-1 , MPEG-2, 또는MPEG-4), H.26x 포맷(가령, H.261 , H.262, H.263, H.264), HEVC 포맷 또는 기타 포맷일 수 있다.
예를 들어, 인코더(340) 내에서, 인터-코딩된(inter-coded), 예측된 프레임은 기준 프레임으로부터의 예측과 관련하여 표현된다. 모션 추정기는 하나 이상의 기준 프레임(369)에 대해 소스 프레임(341)의 샘플 블록 또는 기타 샘플 세트의 모션을 추정한다. 다수의 기준 프레임이 사용되는 경우, 이 다수의 기준 프레임은 상이한 시간적 방향 또는 동일한 시간적 방향일 수 있다. 모션 추정기는 모션 벡터 정보와 같은 모션 정보를 출력하는데, 이 정보는 엔트로피 코딩된다. 모션 보상기는 모션 벡터를 기준 프레임에 적용하여 모션이 보상된 예측 값을 결정한다. 인코더는 블록의 모션이 보상된 예측 값과 대응 원본 값 사이에 차가 존재하는 경우에 이를 결정한다. 이들 예측 잔여 값은 주파수 변환, 양자와 및 엔트로피 인코딩을 사용하여 더 인코딩된다. 양자화는 채도 QP 값을 사용할 수 있다. 예를 들어, 인코더(340)는 픽처, 슬라이스 및/또는 비디오의 다른 부분에 대한 조도 QP 및 채도 QP에 대한 값을 설정하고, 이에 대응하게 변환 계수를 양자화한다. 유사하게, 인트라 예측(intra prediction)에 있어서, 인코더(340)는 한 블록에 대한 인트라 예측 값을 결정하고, 예측 잔여 값을 결정하며, (주파수 변환, 양자화 및 엔트로피 인코딩을 사용하여) 예측 잔여 값을 인코딩할 수 있다. 특히, 인코더(340)의 엔트로피 코더는 양자화된 변환 계수 값뿐만 아니라 소정 부가 정보(가령, 모션 벡터 정보, QP 값, 모드 결정, 파라미터 선택)도 압축한다. 통상적인 엔트로피 코딩 기술은 Exp-Golomb 코딩, 산술 코딩(arithmetic coding), 차분 코딩(differential coding), 허프만 코딩, 런 길이 코딩(run length coding), V2V (variable-length-to-variable-length) 코딩, V2F(variable-length-to-fixed-length) 코딩, LZ 코딩, 사전 코딩(dictionary coding), PIPE(probability interval partitioning entropy) 코딩 및 이들의 조합을 포함한다. 엔트로피 코더는 정보의 종류에 따라 상이한 코딩 기술을 사용할 수 있으며, 한 특정 코딩 기술 내에서 다수의 코드 테이블로부터 선택할 수 있다.
코딩된 프레임(341) 및 MMCO/RPS 정보(342)는 디코딩 프로세스 에뮬레이터(350)에 의해 처리된다. 디코딩 프로세스 에뮬레이터(350)는 디코더의 기능 중 일부를 구현한다. 예를 들어, 모션 추정 및 보상에서 인코더(340)에 의해 사용되는 기준 프레임을 재구성하는 디코팅 작업을 구현한다. 디코딩 프로세스 에뮬레이터(350)는 MMCO/RPS 정보(342)를 사용하여 특정한 코딩된 프레임(341)이 인코딩될 후속 프레임의 인터-프레임 예측에서 기준 프레임으로서 사용되기 위해 재구성되고 저장되어야 하는지를 판단한다. MMCO/RPS 정보(342)가 코딩된 프레임(341)이 저장되어야 한다고 표시하면, 디코딩 프로세스 에뮬레이터(350)는 코딩된 프레임(341)을 수신하는 디코더에 의해 수행될 디코딩 프로세스를 모델링하고, 대응하는 디코딩된 프레임(351)을 생성한다. 그러한 과정에서, 인코더(340)가 디코딩된 프레임 저장 영역(360)에 저장된 디코딩된 프레임(들)(369)을 사용한 경우, 디코딩 프로세스 에뮬레이터(350)는 또한 디코딩 프로세스의 일부로서 저장 영역(360)으로부터 디코딩된 프레임(들)(369)을 사용한다.
디코딩된 프레임 임시 메모리 저장 영역(360)은 다수의 프레임 버퍼 저장 영역(361, 362, …, 36n)을 포함한다. 디코딩 프로세스 에뮬레이터(350)는 MMCO/RPS 정보(342)를 사용하여 저장 영역(360)의 콘텐트를 관리함으로써, 인코더에 의해(340) 더 이상 기준 프레임으로서 사용될 필요가 없는 프레임을 갖는 프레임 버퍼(361, 362 등)를 식별한다. 디코딩 프로세스를 모델링한 후, 디코딩 프로세스 에뮬레이터(350)는 이 방식으로 식별된 프레임 버퍼(361, 362 등)에 새롭게 디코딩된 프레임(351)을 저장한다.
코딩된 프레임(341) 및 MMCO/RPS 정보(342)는 또한 임시 코딩된 데이터 영역(370)에서 버퍼링된다. 코딩된 데이터 영역(370)에서 수집되는 코딩된 데이터는, 기본(elementary) 코딩된 비디오 비트스트림의 신택스의 일부로서, 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다. 코딩된 데이터 영역(370)에서 수집된 코딩된 데이터는, 코딩된 비디오 데이터에 관한 미디어 메타데이터(가령, 하나 이상의 SEI(supplemental enhancement information) 메시지 또는 VUI(video usability information) 메시지 내의 하나 이상의 파라미터)를 포함할 수도 있다.
임시 코딩된 데이터 영역(370)으로부터의 수집된 데이터(371)는 채널 인코더(380)에 의해 처리된다. 채널 인코더(380)는 (가령, ISO/IEC 14496-12와 같은 미디어 콘테이너 포맷에 따라) 미디어 스트림으로서 전송을 위해 수집된 데이터를 패킷화하는데, 이 경우, 채널 인코더(380)는 미디어 전송 스트림의 신택스의 일부로서 신택스 요소를 추가할 수 있다. 또는, 채널 인코더(380)는 (가령, ISO/IEC 14496-12와 같은 미디어 콘테이너 포맷에 따라) 파일로 저장하기 위해 수집된 데이터를 조직할(organize) 수 있는데, 이 경우, 채널 인코더(380)는 미디어 저장 파일의 신택스의 일부로서 신택스 요소를 추가할 수 있다. 또는, 보다 일반적으로, 채널 인코더(380)는 하나 이상의 미디어 시스템 멀티플렉싱 프로토콜 또는 전송 프로토콜을 구현할 수 있는데, 이 경우, 채널 인코더(380)는 프로토콜(들)의 신택스의 일부로서 신택스 요소를 추가할 수 있다. 채널 인코더(380)는 채널(390)로의 출력을 제공하는데, 이는 저장, 통신 접속 또는 그 출력을 위한 다른 채널을 나타낸다.
IV. 예시적 디코더 시스템
도 4는 일부 실시예와 함께 구현될 수 있는 예시적 디코더 시스템(400)의 블록도이다. 디코더 시스템(400)은 실시간 통신용 로우-레이턴시(low-latency) 디코딩 모드 및 파일 또는 스트림으로부터의 미디어 재생을 위한 보통의 디코딩 모드와 같은 다수의 디코딩 모드들 중 하나에서 동작할 수 있는 범용 디코딩 툴일 수 있다. 또는, 디코더 시스템(300)은 이러한 디코딩 모드 중 하나에 적응된 특수 목적 디코딩 툴일 수 있다. 디코더 시스템(400)은, 운영 시스템 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 단독 애플리케이션으로서 구현될 수 있다. 전체적으로, 디코더 시스템(400)은 채널(410)로부터 코딩된 데이터를 수신하고, 출력 목적지(490)에 대한 출력으로서 재구성된 프레임을 생성한다. 코딩된 데이터는 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다.
디코더 시스템(400)은 채널(410)을 포함하는데, 이는 저장, 통신 접속 또는 입력으로서 코딩된 데이터에 대한 다른 채널을 나타낸다. 채널(410)은 채널 코딩된, 코딩된 데이터를 생성한다. 채널 디코더(420)는 코딩된 데이터를 처리할 수 있다. 예를 들어, 채널 디코더(420)는 (가령, ISO/IEC 14496-12와 같은 미디어 콘테이너 포맷에 따라) 미디어 스트림으로서 전송을 위해 수집된 데이터를 패킷 해제(de-packetizes)하는데, 이 경우, 채널 디코더(420)는 미디어 전송 스트림의 신택스의 일부로서 추가된 신택스 요소를 파싱할(parse) 수 있다. 또는, 채널 디코더(420)는 (가령, ISO/IEC 14496-12와 같은 미디어 콘테이너 포맷에 따라) 파일로 저장하기 위해 수집된 코딩된 비디오 데이터를 분리하는데, 이 경우, 채널 디코더(420)는 미디어 저장 파일의 신택스의 일부로서 추가된 신택스 요소를 파싱할 수 있다. 또는, 보다 일반적으로, 채널 디코더(420)는 하나 이상의 미디어 시스템 디멀티플렉싱 프로토콜 또는 전송 프로토콜을 구현할 수 있다. 이 경우, 채널 디코더(420)는 프로토콜(들)의 신택스의 일부로서 추가된 신택스 요소를 파싱할 수 있다.
채널 디코더(420)로부터 출력되는 코딩된 데이터(421)는 충분한 양의 이러한 데이터가 수신될 때까지 임시 코딩된 데이터 영역(430)에 저장된다. 코딩된 데이터(421)는 코딩된 프레임(431) 및 MMCO/RPS 정보(432)를 포함한다. 코딩된 데이터 영역(430)의 코딩된 데이터(421)는, 기본(elementary) 코딩된 비디오 비트스트림의 신택스의 일부로서, 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다. 코딩된 데이터 영역(430)의 코딩된 데이터(421)는 인코딩된 비디오 데이터에 관한 미디어 메타데이터(가령, 하나 이상의 SEI 메시지 또는 VUI 메시지 내의 하나 이상의 파라미터)를 포함할 수도 있다. 일반적으로, 코딩된 데이터 영역(430)은 이러한 코딩된 데이터(421)가 디코더(450)에 의해 사용될 때까지 코딩된 데이터(421)를 임시로 저장한다. 이 때, 코딩된 프레임(431) 및 MMCO/RPS 정보(432)에 대한 코딩된 데이터는 코딩된 데이터 영역(430)으로부터 디코더(450)로 전달된다. 디코딩이 계속됨에 따라, 새로운 코딩된 데이터가 코딩된 데이터 영역(430)에 추가되고, 코딩된 데이터 영역(430)에 남아 있는 가장 오래된 코딩된 데이터가 디코더(450)로 전달된다.
디코더(450)는 코딩된 프레임(431)을 주기적으로 디코딩하여 대응하는 디코딩된 프레임(451)을 생성한다. 적합한 경우, 디코딩 프로세스를 수행할 때, 디코더(450)는 인터-프레임 예측을 위한 기준 프레임으로서 하나 이상의 이전에 디코딩된 프레임(469)을 사용할 수 있다. 디코더(450)는 디코딩된 프레임 임시 메모리 저장 영역(460)으로부터 이러한 이전에 디코딩된 프레임(469)을 판독한다. 일반적으로, 디코더(450)는 엔트로피 디코딩, (채도 QP 값을 사용할 수 있다. 있는) 역 양자화, 역 주파수 변환 및 모션 보상과 같은 디코딩 작업을 수행하는 다수의 디코딩 모듈을 포함한다. 디코더(450)에 의해 수행되는 정확한 동작은 압축 포맷에 따라 변할 수 있다.
예를 들어, 디코더(450)는 압축된 프레임 또는 프레임 시퀀스에 대한 인코딩된 데이터를 수신하고, 디코딩된 프레임(451)을 포함하는 출력을 생성한다. 디코더(450)에서, 버퍼는 압축된 프레임에 대한 인코딩된 데이터를 수신하고, 수신된 인코딩된 데이터가 엔트로피 디코더에 대해 이용 가능하게 한다. 엔트로피 디코더는 엔트로피 코딩된 양자화 데이터 및 엔트로피 코딩된 부가 정보를 엔트로피 디코딩하며, 통상적으로 인코더에서 수행되는 인트로피 인코딩을 역으로 적용한다. 모션 보상기는 모션 정보를 하나 이상의 기준 프레임에 적용하여, 재구성되는 프레임의 서브 블록 및/또는 블록 (총칭하여 블록)의 모션 보상 예측을 형성한다. 인트라 예측 모듈은 인접한 이전에 재구성된 샘플 값으로부터 현재 블록의 샘플 값을 공간적으로 예측할 수 있다. 디코더(450)는 또한 예측 잔여 값을 재구성한다. 역 양자화기(inverse quantizer)(670)는 엔트로피-디코딩된 데이터를 역 양자화하는데, 채도 QP 값을 사용할 수 있다. 예를 들어, 디코더(450)는 비트스트림의 신택스 요소에 기초하여 픽처, 슬라이스 및/또는 비디오의 다른 부분에 대한 조도 QP 및 채도 QP에 대한 값을 설정하고, 이에 대응하게 변환 계수를 역 양자화한다. 역 주파수 변환기는 양자화된 주파수 영역 데이터를 공간 영역 정보로 변환한다. 예측된 프레임에 있어서, 디코더(450)는 재구성된 예측 잔여 값을 모션 보상된 예측과 결합하여 재구성된 프레임을 형성한다. 유사하게 디코더(450)는 예측 잔여 값을 인트라 예측으로부터의 공간적 예측과 결합할 수 있다. 비디오 디코더(450)의 모션 보상 루프는, 디코딩된 프레임(451)에서 블록 경계 행 및/또는 열을 지나는 불연속성을 완만하게 하기 위해 적응적 디-블로킹 필터(adaptive de-blocking filter)를 포함한다.
디코딩된 프레임 임시 메모리 저장 영역(460)은 다수의 프레임 버퍼 저장 영역(461, 462,…, 46n)을 포함한다. 디코딩된 프레임 저장 영역(460)은 DPB의 일례이다. 디코더(450)는 MMCO/RPS 정보(432)를 사용하여 디코딩된 프레임(451)을 저장할 수 있는 프레임 버퍼(461, 462 등)를 식별한다. 디코더 (450)는 그 프레임 버퍼에 디코딩된 프레임(451)을 저장한다.
출력 시퀀서(480)는 MMCO/RPS 정보(432)를 사용하여 출력 순서상 다음에 생성될 프레임이 디코딩된 프레임 저장 영역(460)에서 이용 가능한 때를 식별한다. 출력 순서상 다음에 생성될 프레임(481)이 디코딩된 프레임 저장 영역(460)에서 이용 가능한 때에, 이는 출력 시퀀서(480)에 의해 준비되어 출력 목적지(490)(가령, 디스플레이)에 출력된다. 일반적으로, 출력 시퀀서(480)에 의해 디코딩된 프레임 저장 영역(460)으로부터 프레임이 출력되는 순서는 디코더(450)에 의해 프레임이 디코딩되는 순서와는 상이할 수 있다.
V. 예시적 비디오 인코더
도 5는 일부 실시예와 함께 구현될 수 있는 일반화된 비디오 인코더 (500)의 블록도이다. 인코더(500)는 현재 프레임을 포함하는 비디오 프레임 시퀀스를 수신하고 인코딩된 데이터(595)를 출력으로서 생성한다.
인코더(500)는 블록 기반이며 구현에 의존하는 블록 포맷을 사용한다. 블록은 상이한 스테이지, 가령, 주파수 변환 및 엔트로피 인코딩 스테이지에서 더 세분될 수 있다. 예를 들어, 프레임은 64 x 64 블록, 32 x 32 블록 또는 16 x 16 블록으로 분할될 수 있으며, 이는 결국 코딩 및 디코딩을 위해 픽셀 값의 더 작은 블록 및 서브 블록으로 분할될 수 있다.
인코더 시스템(500)은 예측된 프레임 및 인트라-코딩된 프레임을 압축한다. 설명을 위한 목적으로, 도 5는 인트라-프레임 코딩을 위한 인코더(500)를 통한 “인트라 경로” 및 인터-프레임 코딩을 위한 “인터 경로”를 도시하고 있다. 인코더(500)의 성분들 중 많은 성분들이 인트라-프레임 코딩 및 인터-프레임 코딩 모두를 위해 사용된다. 이들 성분들에 의해 수행되는 정확한 동작은 압축되는 정보의 유형에 따라 변할 수 있다.
현재 프레임(505)이 예측된 프레임이면, 모션 추정기(510)는 하나 이상의 기준 프레임에 대해 현재 프레임(505)의 블록, 서브 블록 또는 기타 픽셀 값 세트의 모션을 추정한다. 프레임 스토어(520)는 하나 이상의 재구성된 이전 프레임(525)을 기준 프레임으로서 사용하기 위해 버퍼링한다. 다수의 기준 프레임이 사용되는 경우, 이 다수의 기준 프레임은 상이한 시간적 방향 또는 동일한 시간적 방향일 수 있다. 모션 추정기(510)는 부가 정보로서 차분 모션 벡터 정보와 같은 모션 정보(515)를 출력한다.
모션 보상기(530)는 모션-보상된 현재 프레임(535)을 형성할 때 재구성된 모션 벡터를 재구성된 기준 프레임(들)(525)에 적용한다. 모션-보상된 현재 프레임(535)의 서브 블록, 블록 등과 본래 현재 프레임(505)의 대응 부분 사이에 차이가 존재하는 경우, 이 차이는 서브 블록, 블록 등에 대한 예측 잔여 값(545)이다. 현재 프레임을 추후에 재구성하는 동안, 재구성된 예측 잔여 값은 모션-보상된 현재 프레임(535)에 추가되어 본래 현재 프레임(505)에 근접한 재구성된 프레임을 얻는다. 그러나, 비가역 압축(lossy compression)에서는 여전히 본래 현재 프레임(505)으로부터 일부 정보가 손실된다. 인트라 경로는, 이전에 재구성된 인접 픽셀 값들로부터 현재 블록 또는 서브 블록의 픽셀 값을 공간적으로 예측하는 인트라 예측 모듈(도시 생략)을 포함할 수 있다.
주파수 변환기(560)는 공간 영역 비디오 정보를 주파수 영역(가령, 스펙트럼 변환) 데이터로 변환한다. 블록 기반 비디오 프레임에 있어서, 주파수 변환기(560)는 이산 코사인 변환(discrete cosine transform), 그 정수 근사치 계산(integer approximation), 또는 다른 유형의 순방향 블록 변환(forward block transform)을 픽셀 값 데이터 또는 예측 잔여 데이터의 서브 블록에 적용하여, 주파수 변환 계수의 블록/서브 블록을 생성한다. 그리고, 양자화기(570)는 변환 계수를 양자화한다. 예를 들어, 양자화기(570)는, 균일하지 않은 스칼라 양자화를, 프레임 단위, 슬라이스 단위, 블록 단위 또는 기타 단위에 기반하여 변하는 스텝 사이즈(step size)를 갖는 주파수 영역 데이터에 적용한다. 양자화기(570)는, 단락 VII에서 설명할 바와 같이, 채도 QP 값을 포함하는 조도 성분 및 채도 성분에 대한 QP 값을 사용할 수 있다. 예를 들어, 인코더(500)는 픽처, 슬라이스 및/또는 코딩 단위와 같은 비디오의 다른 부분에 대한 조도 QP 및 채도 QP에 대한 값을 설정하고, 이에 대응하게 변환 계수를 양자화한다.
후속 모션 추정/보상을 위해 현재 프레임의 재구성된 버전이 필요할 때, 역 양자화기(576)는 양자화된 주파수 계수 데이터에 역 양자화를 수행한다. 역 양자화기(576)는 또한 채도 QP 값을 사용할 수 있다. 역 주파수 변환기(566)는 역 주파수 변환을 수행하여, 재구성된 예측 잔여 값 또는 픽셀 값들의 블록/서브 블록을 생성한다. 예측된 프레임에 있어서, 인코더(500)는 재구성된 예측 잔여 값(545)을 모션-보상된 예측(535)과 결합하여 재구성된 프레임(505)을 형성한다. (도 5에는 도시되어 있지 않지만, 인트라 경로에서, 인코더(500)는 예측 잔여 값을 인트라 예측으로부터의 공간 예측과 결합할 수 있다.) 프레임 스토어(520)는 재구성된 현재 프레임을 후속 모션-보상된 예측에서 사용하기 위해 버퍼링한다.
양자화 및 다른 손실적(lossy) 프로세싱은 한 프레임의 블록들 또는 서브 블록들 사이의 경계의 라인이 보이게 할 수 있다. 이러한 “블록킹 아티팩트(blocking artifacts)”는, 가령, 픽처의 매끄럽게 변화하는 영역(가령, 하늘 영역)에서의 인접 블록들이 상이한 평균 레벨로 양자화되는 경우에 발생할 수 있다. 블록킹 아티팩트를 감소시키기 위해, 인코더 및 디코더는 “디블록” 필터링을 사용하여 기준 프레임의 블록 및/또는 서브 블록 사이의 경계 불연속 부분을 매끄럽게 할 수 있다. 이러한 필터링은, 모션-보상 루프 내에서 발생한다는 점에서 “인-루프(in-loop)”이다. 즉, 인코더 및 디코더는 인코딩/디코딩에서 추후에 사용되는 기준 프레임에 대해 이를 수행한다. 인-루프 디블록 필터링은 보통 인코딩 동안에 인에이블링되는데, 이 경우 디코더는 또한 올바른 디코딩을 위해 인-루프 디블록 필터링을 수행한다. 디블록 필터링의 세부사항은 코덱 표준 또는 포맷에 의존하여 변하며, 상당히 복잡할 수 있다. 종종, 디블록 필터링을 적용하는 규칙은 콘텐트/평활도(smoothness), 코딩 모드(가령, 인트라 또는 인터), 경계의 상이한 측의 블록/서브 블록에 대한 모션 벡터, 블록/서브 블록 사이즈, 코딩된 상태/코딩되지 않은 상태, (가령, 변환 계수 정보는 비트스트림에 시그날링되는지)와 같은 요인들에 의존하여 변할 수 있다.
도 5에서, 인코더(500)의 모션 보상 루프는 프레임 스토어(520)의 전 또는 후에 적응적 인-루프 디블록 필터(510)을 포함한다. 디코더(500)는 인-루프 필터링을 재구성된 프레임에 적용하여, 프레임들의 경계에서의 불연속 부분을 적응적으로 매끄럽게 한다. 단락 VII은 디블록 필터링이 채도 QP 오프셋의 값에 의존하여 변하는 예를 설명한다.
엔트로피 코더(580)는 양자화(570)의 출력과, 모션 정보(515) 및 특정 부가 정보(가령, QP 값)를 압축한다. 엔트로피 코더(580)는 인코딩된 데이터(595)를 버퍼(590)에 제공하는데, 이는 인코딩된 데이터를 출력 비트스트림으로 다중화한다(multiplexes). 인코딩된 데이터는 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다. 단락 VII는 이러한 신택스 요소의 예를 설명한다.
제어기(도시 생략)는 인코더의 다양한 모듈로부터의 입력을 수신한다. 제어기는 인코딩 동안에 중간 결과를 평가하는데, 가령, QP 값을 설정하고 레이트-왜곡 분석을 수행한다. 제어기는 다른 모듈과 함께 동작하여 인코딩 동안에 파라미터를 설정하고 변경한다. 특히, 제어기는 QP 값 및 기타 제어 파라미터를 변경하여 인코딩 동안에 조도 성분 및 채도 성분의 양자화를 제어할 수 있다.
몇몇 구현에서, 제어기는 인코딩 동안에 픽처 레벨 조도 QP 값, 슬라이스 레벨 조도 QP 값 또는 코딩 단위 레벨 조도 QP 값을 설정하여 슬라이스 내에서 픽처 레벨, 슬라이스 레벨 또는 코딩 단위 레벨에서 양자화를 제어할 수 있다. 주어진 슬라이스에 있어서, 조도 QP 값은 픽처 레벨 조도 QP 또는 슬라이스 레벨 조도 QP로 설정될 수 있는데, 이는 픽처 레벨 조도 QP에 슬라이스 레벨 조도 QP 오프셋을 더하여 비트스트림으로 표현될 것이다. 또는, 제어기는 슬라이스 내의 주어진 코딩 단위에 대한 조도 QP 값을 설정할 수 있다. 이 경우, 슬라이스 레벨 조도 QP 오프셋 및 픽처 레벨 조도 QP 값과 함께, 코딩 단위 레벨 조도 QP 오프셋이 비트스트림에 시그날링되어, 코딩 단위 레벨 조도 QP 값을 표시한다. 따라서, 픽처 내의 상이한 슬라이스들은 지정된 상이한 조도 QP 값을 가질 수 있으며, 슬라이스 내의 상이한 코딩 단위는 지정된 상이한 조도 QP 값을 가질 수 있다. 하나 이상의 채도 QP 오프셋을 갖는 비트스트림에 표시된 바와 같이, 제어기는 또한 픽처 레벨 채도 QP 값 또는 슬라이스 레벨 채도 QP 값을 설정할 수 있다. 채도 QP 오프셋이 채도 QP 값을 직접 지정하지 않고 (단락 VII에서 설명되는 바와 같이) 도출 프로세스에서 사용되어 채도 QP 값을 결정한다. 제어기는 또한 양자화 스케일링 행렬을 지정하여, 조도 성분 및/또는 채도 성분의 계수에 대한 주파수-특정 스케일링 배율을 수립할 수 있다.
QP 값은 조도 및 채도 변환 계수의 양자화의 조밀도(coarseness)를 제어한다. 예를 들어, QP 값은 정의된 관계에 따라 양자화 스텝 사이즈(QSS)로 알려진 스케일링 배율을 제어할 수 있다. 예를 들어, QP 값은 QP에서 26을 감하여 비트스트림에 시그날링되고, QSS는 S*2(QP/6) 또는 대략 S*2(QP/6)인데, S는 고정 값 상수와 같은 배율, 변환 특정 배율 또는 주파수 특정 배율이다. 몇몇 구현에서, 정수 기반 공식은 S*2(QP/6)에 근접하는 QSS를 표시한다. 이 관계식에서, 높은 QP 값은 높은 (즉, 넓은 간격의) QSS를 의미하고, 낮은 QP 값은 낮은 (즉, 세밀한) QSS를 의미한다. 이와 달리, QP는 QSS에 반비례할 수 있다. 예를 들어, QP 값은 25에서 QP를 감하여 비트스트림에 시그날링되고, QSS는 S*2((51-QP)/6) 또는 대략 S*2((51-QP)/6)이다. 이 예에서, 동일한 QSS 값이 효과적으로 시그날링될 수 있지만, 높은 QP 값은 낮은 QSS를 의미하고 낮은 QP 값은 높은 QSS를 의미한다. 보다 일반적으로, 본 명세서에서 설명되는 개선점은 전술한 관계를 포함하는 QP와 QSS 사이의 다양한 관계에 적용될 수 있는데, QP가 H.263 표준에서 QUANT라고 불리는 파라미터와 같은 파라미터인 관계와, QP가 H.262 표준에서 양자화 스케일이라고 불리는 파라미터와 같은 파라미터인 관계도 포함한다.
일반적으로, 제어기는 픽처, 슬라이스 또는 비디오의 다른 부분에 대해 조도 QP 및 채도 QP를 설정하고 품질 및/또는 비트레이트의 관점에서 콘텐트의 인코딩의 결과(가령, 변환 계수의 양자화 및/또는 양자화된 변환 계수의 엔트로피 코딩)를 평가할 수 있다. 이 결과가 만족스러운 경우, 제어기는 설정된 조도 QP 및 채도 QP를 선택할 수 있다. 만족스럽지 않은 경우, 제어기는 조도 QP 및/또는 채도 QP를 조절할 수 있다. 예를 들어, 인코딩된 채도 콘텐트의 품질이 인코딩된 조도 콘텐트의 품질에 비해 너무 높은 경우, 제어기는 QP를 조절하여 채도 QSS를 증가시키고/증가시키거나 조도 QSS를 감소시킴으로써 조도 성분과 채도 성분 사이의 품질의 균형을 맞추는 동시에 레이트 및/또는 품질에 대한 전체 목표값 또한 고려한다. 예를 들어, 인코딩된 채도 콘텐트의 품질이 인코딩된 조도 콘텐트의 품질에 비해 너무 낮은 경우, 제어기는 QP를 조절하여 채도 QSS를 감소시키고/감소시키거나 조도 QSS를 증가시킴으로써 조도 성분과 채도 성분 사이의 품질의 균형을 맞추는 동시에 레이트 및/또는 품질에 대한 전체 목표값 또한 고려한다. 조도 QP 및 채도 QP의 설정 및 조절은 픽처 단위, 슬라이스 단위 또는 다른 단위 기반으로 반복될 수 있다.
구현 및 원하는 압축의 유형에 따라, 인코더의 모듈들이 추가되거나, 생략되거나, 여러 모듈로 분할되거나, 다른 모듈과 결합되거나, 유사한 모듈로 대체될 수 있다. 다른 실시예에서, 상이한 모듈 및/또는 다른 모듈 구성을 갖는 인코더들이 설명되는 기술들 중 하나 이상을 수행한다. 통상적으로, 인코더의 특정 실시예는 인코더(500)의 변형 또는 보완 버전을 사용한다. 인코더(500) 내의 모듈들 사이에 도시된 관계는 이 인코더에서의 전반적인 정보 흐름을 표시하며, 설명을 간략히 하기 위해 다른 관계는 도시하지 않았다.
VI. 예시적 비디오 디코더
도 6은 일부 실시예와 함께 구현될 수 있는 일반화된 디코더 (600)의 블록도이다. 디코더(600)는 압축된 프레임 또는 프레임 시퀀스에 대한 인코딩된 데이터(695)를 수신하고, 재구성된 프레임(605)을 포함하는 출력을 생성한다. 설명을 위한 목적으로, 도 6은 인트라-프레임 디코딩을 위한 디코더(600)를 통한 “인트라 경로” 및 인터-프레임 디코딩을 위한 “인터 경로”를 도시하고 있다. 디코더(600)의 성분들 중 많은 성분들이 인트라-프레임 디코딩 및 인터-프레임 디코딩 모두를 위해 사용된다. 이들 성분들에 의해 수행되는 정확한 동작은 압축 해제되는 정보의 유형에 따라 변할 수 있다.
버퍼(690)는 압축된 프레임에 대한 인코딩된 데이터(695)를 수신하고, 수신된 인코딩된 데이터가 파서(parser)/엔트로피 디코더(680)에 대해 이용 가능하게 한다. 인코딩된 데이터는 픽처 레벨 채도 QP 오프셋 및/또는 슬라이스 레벨 채도 QP 오프셋과 같은, 채도에 대해 설정된 QP 값들을 표시하는 신택스 요소를 포함할 수 있다. 단락 VII는 이러한 신택스 요소의 예를 설명한다. 파서/엔트로피 디코더(680)는 엔트로피 코딩된 양자화 데이터 및 엔트로피 코딩된 부가 정보를 엔트로피 디코딩하며, 통상적으로 인코더에서 수행되는 엔트로피 인코딩을 역으로 적용한다.
모션 보상기(630)는 모션 정보(615)를 하나 이상의 기준 프레임(625)에 적용하여, 재구성되는 프레임(605)의 서브 블록 및/또는 블록의 모션-보상 예측(635)을 형성한다. 프레임 스토어(620)는 하나 이상의 이전에 재구성된 프레임을 기준 프레임으로서 사용하기 위해 저장한다.
인트라 경로는, 이전에 재구성된 인접 픽셀 값들로부터 현재 블록 또는 서브 블록의 픽셀 값을 공간적으로 예측하는 인트라 예측 모듈(도시 생략)을 포함할 수 있다. 인터 경로에서, 디코더(600)는 예측 잔여값을 재구성한다. 역 양자화기(inverse quantizer)(670)는 엔트로피-디코딩된 데이터를 역 양자화하는데, 채도 QP 값을 사용할 수 있다. 예를 들어, 디코더(600)는, 비트스트림의 신택스 요소에 근거하여, 픽처, 슬라이스 및/또는 코딩 단위와 같은 비디오의 다른 부분에 대한 조도 QP 및 채도 QP에 대한 값을 설정하고, 역 양자화기(670)는 이에 따라 변환 계수를 역 양자화한다.
몇몇 구현에서, 디코더는, 비트스트림의 신택스 요소에 의해 표시되는 바와 같이, 디코딩 동안에 픽처 레벨 조도 QP 값, 슬라이스 레벨 조도 QP 값 또는 코딩 단위 레벨 조도 QP 값을 설정할 수 있으며, 픽처 레벨 조도 QP 값을 포함하며, 슬라이스 레벨 조도 QP 오프셋 및 코딩 단위 레벨 조도 QP 오프셋이 존재하는 경우에는 이들도 포함한다. 한 픽처 내의 여러 슬라이스가 지정된 여러 조도 QP 값을 가질 수 있으며, 한 슬라이스 내의 여러 코딩 단위는 지정된 여러 조도 QP 값을 가질 수 있다. 하나 이상의 채도 QP 오프셋을 갖는 비트스트림에 표시된 바와 같이, 디코더는 또한 픽처 레벨 채도 QP 값 또는 슬라이스 레벨 채도 QP 값을 설정한다. 디코더는 또한 양자화 스케일링 행렬을 사용하여, 조도 성분 및/또는 채도 성분의 계수에 대한 주파수-특정 배율을 수립할 수 있다. 전술한 바와 같이, QP 값은 정의된 관계에 따라 양자화 스텝 사이즈("QSS")를 나타낸다.
역 주파수 변환기(660)는 재구성된 주파수 영역 데이터를 공간 영역 정보로 변환한다. 예를 들어, 역 주파수 변환기(660)는 역 블록 변환을 주파수 변환 계수에 적용하여 픽셀 값 데이터 또는 예측 잔여 데이터를 생성한다. 역 주파수 변환은 역 이산 코사인 변환, 그 정수 근사치 계산 또는 임의의 유형의 역 주파수 변환일 수 있다.
예측된 프레임에 있어서, 디코더(600)는 재구성된 예측 잔여 값(645)을 모션-보상된 예측(635)과 결합하여 재구성된 프레임(605)을 형성한다. (도 6에는 도시되어 있지 않지만, 인트라 경로에서, 디코더(600)는 예측 잔여 값을 인트라 예측으로부터의 공간 예측과 결합할 수 있다.) 디코더(600)의 모션 보상 루프는 프레임 스토어(620)의 전 또는 후에 적응적 인-루프 디블록 필터(610)을 포함한다. 디코더(600)는 인-루프 필터링을 재구성된 프레임에 적용하여, 프레임들의 경계에서의 불연속 부분을 적응적으로 매끄럽게 한다. 디코딩 동안의 디블록 필터링의 세부사항(가령, 콘텐트/평활도, 코딩 모드, 경계의 상이한 측의 블록/서브 블록에 대한 모션 벡터, 블록/서브 블록 사이즈, 코딩된 상태/코딩되지 않은 상태 등과 같은 요인들에 의존하는 규칙)은 통상적으로 인코딩 동안의 디블록 필터링의 세부사항을 그대로 반영한다.
도 6에서, 디코더(600)는 또한 포스트-프로세싱 디블록 필터(608)를 포함한다. 포스트-프로세싱 디블록 필터(608)는 재구성된 프레임에서의 불연속 부분을 선택적으로 매끄럽게 한다. 다른 필터링 (가령, 디링(de-ring) 필터링) 또한 포스트-프로세싱 필터링의 일부로서 적용될 수 있다.
구현 및 원하는 압축 해제의 유형에 따라, 디코더의 모듈들이 추가되거나, 생략되거나, 여러 모듈로 분할되거나, 다른 모듈과 결합되거나, 유사한 모듈로 대체될 수 있다. 다른 실시예에서, 상이한 모듈 및/또는 다른 모듈 구성을 갖는 디코더들이 설명되는 기술들 중 하나 이상을 수행한다. 통상적으로, 디코더의 특정 실시예는 디코더(600)의 변형 또는 보완 버전을 사용한다. 디코더(600) 내의 모듈들 사이에 도시된 관계는 이 디코더에서의 전반적인 정보 흐름을 표시하며, 설명을 간략히 하기 위해 다른 관계는 도시하지 않았다.
VII. 확장된 범위의 채도 QP 값의 제어 및 사용
이 단락에서는, 채도 QP 값을 제어하고 사용하는 것에 관한 다양한 개선점을 설명한다.
JCTVC-I1003의 HEVC 설계에서, 채도에 대한 QP는 8 비트심도(bit-depth)에 대해 [0, 39]의 범위로 제한된다. 이와 대조하여, 조도에 대한 QP는 8 비트심도에 대해 [0, 51]의 범위에서 변할 수 있다. 이 범위는 조도 및 채도 모두에 대한 더 높은 비트심도(bit-depths)에 대해 적합하게 증가된다. 이 설계를 사용하면, 채도에 대해 사용되는 QP 값은 조도에 대해 사용되는 QP 값에 비교하여 훨씬 작은 값에서 포화된다(saturates). 즉, 채도에 대해 사용되는 가장 높은 QP 값( 및 가장 높은 QSS)은 조도에 대해 사용되는 가장 높은 QP 값( 및 가장 높은 QSS) 보다 훨씬 작다. 이 제한은, 조도 성분에 비해 과도한(불충분한, 원치 않는) 양의 비트가 채도 성분의 인코딩에 할당될 때 낮은 비트 레이트 애플리케이션에서의 레이트 제어에 관한 문제를 일으킬 수 있다. 또한, 이 설계는 광범위한 컬러 포맷에 잘 맞지 않을 수 있다.
특히, JCTVC-I1003의 HEVC 설계에 따르면, 채도 성분 Cb 및 Cr에 대해 사용되는 QP(즉, QPCb 및 QPCr)은 조도 성분에 대해 사용되는 QP(QPY)로부터 다음과 같이 도출된다. QPCb 및 QPCr는 중간 QP 인덱스 qPI에 대한 룩업(lookup)에 근거하여 표 1에서 지정된 바와 같은 QPC의 값과 동일하다. 표 1은 qPI의 함수로서 QPC를 지정한다.
중간 QP 인덱스 qPI는 (Cb 채도 성분에 대한) qPICb 또는 (Cr 채도 성분에 대한) qPICr일 수 있다. 이는 다음과 같이 도출된다.
여기서, Clip3은 다음과 같이 정의되는 함수이다. Clip3(x, y, z)는 z < x일 때 x이고 z > y일 때 y이며, 그 외에는 z이다. 값 cb_qp_offset 및 cr_qp_offset은 픽처 파라미터 세트 (picture parameter set; PPS)에 시그날링될 수 있는 픽처 레벨 채도 QP 오프셋이다. QPY는 조도에 대한 QP 값이다. QpBdOffsetC은 (더 높은 비트 심도에 대해 증가하는) 채도 비트심도에 의존하는 채도 QP 범위 오프셋이다. QpBdOffsetC에 대한 예시적 값은 0, 6, 12, 18, 24 및 36인데, QpBdOffsetC = 6*bit_depth_chroma_minus8이고, bit_depth_chroma_minus8은 샘플당 8 내지 14 비트의 비트심도에 대해 0 내지 6 모두를 포함하는 범위에 존재한다.
JCTVC-I1003의 HEVC 설계에서, 비트심도에 근거하여 조도 및 채도에 대한 QP가 추가로 조절될 수 있다. 이 유형의 조절 또한 후술할 개선점들의 한 측면이다. 즉, 비트심도에 대한 이러한 조절은 후술할 개선점들에 대해 이루어질 수 있다. 명확히 하기 위한 목적으로, JCTVC-I1003의 HEVC 설계에서의 이 조절을 나타내는 등식은 다음과 같다.
따라서, 채도 QP 값(QP’Cb 또는 QP’Cr)을 도출하는 전체 프로세스는 (1) 조도 QP 값(QPY) 및 픽처 레벨 채도 QP 오프셋(가령, cb_qp_offset 또는 cr_qp_offset)으로부터 중간 QP 인덱스 qPI(가령, qPICb 또는 qPICr)를 결정하고, (2) 표 룩업 동작(table look-up operation)을 통해 값 QPC(가령, QPCb 또는 QPCr)를 결정하며, (3) QpBdOffsetC에 의해 QPC의 값을 조절하는 것이다.
A. 채도에 대한 QP를 표현하는 새로운 방안
본 명세서에서 설명되는 다양한 개선점들은 채도의 QP 범위를 조도의 QP 범위에 일치하도록 연장한다.
도 7은, 인코딩 동안에 채도 QP 오프셋을 결정하기 위한 일반화된 기술(700)을 도시하고 있다. 도 5를 참조하여 설명한 것과 같은 비디오 인코더 또는 기타 이미지 또는 비디오 인코더가 이 기술(700)을 수행한다.
인코더는, 주요 성분과 하나 이상의 보조 성분 사이의 관계에 따라 QP 값이 변하는 이미지 또는 비디오 콘텐트를 인코딩한다. 인코딩의 일부로서, 인코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정한다(710). 통상적으로, 주요 성분은 조도 성분이고, 하나 이상의 보조 성분은 하나 이상의 채도 성분이다. 이와 달리, 주요 성분 및 보조 성분(들)은 다른 유형의 컬러 성분(가령, RGB)이다.
채도 QP 오프셋은 픽처 레벨 채도 QP 오프셋 및 슬라이스 레벨 채도 QP 오프셋을 포함할 수 있다. 인코더는, qPI = Clip3(a, b, QPY + qp_offset + slice_qp_delta)에 따라 QP 인덱스를 결정할 수 있는데, 여기서 QPY는 조도 QP를 나타내고, qp_offset은 픽처 레벨 채도 QP 오프셋을 나타내며, slice_qp_delta는 슬라이스 레벨 채도 QP 오프셋을 나타내고, Clip3(a, b, c)는 a에서 b까지의 범위로 c의 값을 클립핑하는(clips) 함수를 나타낸다. 예를 들어, 함수 Clip3(- QpBdOffsetC, 57, QPY + qp_offset + slice_qp_delta)에서, QPY + qp_offset + slice_qp_delta의 값은 -QpBdOffsetC와 57의 두 값을 포함하는 그 사이의 범위로 제한된다. 이와 달리, 인코더는 다른 공식, 가령, 후술할 새로운 방안 중 하나의 공식에 따라 QP 인덱스를 결정한다.
몇몇 구현에서, 인코더는 픽처 레벨 채도 QP 오프셋, 슬라이스 레벨 채도 QP 오프셋 및 픽처 레벨 채도 QP 오프셋과 슬라이스 레벨 채도 QP 오프셋의 값을 정의된 범위(가령, -12에서 12까지)로 제한한다. 이와 달리, 채도 QP 오프셋의 값은 다른 범위(가령, -6에서 6까지)로 제한되거나, 제한되지 않는다.
인코더는 QP 인덱스를 보조 성분 QP에 맵핑한다(720). 보조 성분 QP의 범위는 소정 종래 방안에 비해 연장되어, 보조 성분 QP에 의해 표시되는 QSS 범위의 상한이 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 실질적으로 일치한다. 보조 성분 QP에 의해 표시되는 QSS 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 정확하게 일치할 수 있다. 또는, 보조 성분 QP에 의해 표시되는 QSS 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 최대 2배 상이할 수 있다. (QSS가, 배율 S에 대해 대략 QSS = S*2(QP/6)와 같은 대략 로그(logarithmic) 방식으로 QP에 관련될 때, 51의 주요 성분 QP에 대한 QSS의 상한 및 45의 보조 성분 QP에 대한 QSS의 상한에 있어서, 또는 51의 보조 성분에 대한 QSS의 상한 및 45의 주요 성분 QP에 대한 QSS의 상한에 있어서 QSS의 값은 대략 S*28.5 대 S*27.5이다.)
이 맵핑은, 상이한 QP 인덱스 값을 대응 보조 성분 QP의 값으로 맵핑하는 테이블을 따를 수 있다. 예를 들어, 이 표는 다음과 같다.
여기서, qPI는 QP 인덱스를 나타내고, QPC는 채도 QP(또는 기타 보조 성분 QP)의 값을 나타낸다.
또는, 이 맵핑은, QP 인덱스의 값이 보조 성분 QP의 값으로 맵핑되는 함수를 사용할 수 있다. 예를 들어, 이 함수에 따르면, 제 1 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로의 선형 맵핑을 가지고, 제 2 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로 비선형 맵핑을 가지며, 제 3 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로 선형 맵핑을 갖는다.
또는, 이 맵핑은, 상이한 QP 인덱스 값을 대응 보조 성분 QP의 값으로 맵핑하는 로직을 따를 수 있다. 몇몇 예에서, 이러한 로직은 상이한 QP 인덱스 값과 대응 보조 성분 QP의 값 사이의 구분적 선형 관계를 구현한다. 예를 들어, 이 로직은 다음과 같다.
여기서, qPI는 QP 인덱스를 나타내고, QPC는 채도 QP(또는 기타 보조 성분 QP)의 값을 나타내며, “>>1”은 2의 보수 산술연산에서 한 비트 위치의 정수의 오른쪽 산술 자리이동(arithmetic right shift)을 가리킨다.
예시적 테이블 및 맵핑을 후술한다.
주요 성분 QP 및 보조 성분 QP를 사용하여, 인코더는 변환 계수의 양자화와 같은 동작을 수행할 수 있다. 예를 들어, 인코더는 한 픽처의 한 슬라이스의 하나 이상의 부분에 대한 변환 계수를 양자화한 후, 다른 슬라이스 또는 픽처의 양자화를 위해 주요 성분 QP 및/또는 보조 성분 QP를 조절할 수 있다.
인코더는, 인코딩된 콘텐트를 포함하는 비트스트림의 적어도 일부를 출력한다(730). 비트스트림은 슬라이스 헤더 내의 슬라이스 레벨 채도 QP 오프셋의 존재 여부를 표시하는 (가령, PPS 또는 다른 곳에) 플래그를 포함할 수 있다.
일부 구현에서, 높은 QSS(즉, 넓은 간격의 양자화)와 연관되는 QP 인덱스 값의 범위에 있어서, 주요 성분 QP와 보조 성분 QP 사이의 관계는 다음 특징들 중 하나 이상에 의해 특징지어 진다.
ㆍ 보조 성분 QP 오프셋의 상수 값에 대해, 보조 성분 QP는 주요 성분 QP와 동일하다.
ㆍ QSS의 값은 보조 성분 QP에 의해 표현되는 QSS에 대한 주요 성분 QP에 의해 표현되는 QSS의 비율로 변하는데, 이 비율은 보조 성분 QP 오프셋에 대한 0의 디폴트 값에 대해 최대 2이다.
ㆍ 주요 성분 QP 값의 변화는 동일한 크기의 보조 성분 QP 값의 변화를 야기하여, 보조 성분 QP의 변화에 대한 주요 성분 QP의 변화의 비율이 1이다.
ㆍ 특정 값(가령, 6)의 보조 성분 QP 오프셋의 값에 대해, 보조 성분 QP는 주요 성분 QP와 동일하다.
도 8은, 디코딩 동안에 채도 QP 오프셋을 결정하기 위한 일반화된 기술(800)을 도시하고 있다. 도 6을 참조하여 설명한 것과 같은 비디오 디코더 또는 기타 이미지 또는 비디오 디코더가 이 기술(800)을 수행한다.
디코더는, 주요 성분과 하나 이상의 보조 성분 사이의 관계에 따라 QP 값이 변하는 인코딩된 이미지 또는 비디오 콘텐트를 포함하는 비트스트림의 적어도 일부를 인코딩한다(810).
디코더는 인코딩된 콘텐츠의 적어도 일부를 디코딩한다. 디코딩의 일부로서, 디코더는 주요 성분 QP 및 보조 성분 QP 오프셋으로부터 QP 인덱스를 결정한다(820). 예를 들어, 주요 성분은 조도 성분이고, 하나 이상의 보조 성분은 하나 이상의 채도 성분이다. 이와 달리, 주요 성분 및 보조 성분(들)은 다른 유형의 컬러 성분(가령, RGB)이다.
채도 QP 오프셋은 픽처 레벨 채도 QP 오프셋 및 슬라이스 레벨 채도 QP 오프셋을 포함할 수 있다. 디코더는, qPI = Clip3(a, b, QPY + qp_offset + slice_qp_delta)에 따라 (변수 qPI로서) QP 인덱스를 결정할 수 있는데, 여기서 QPY는 조도 QP를 나타내고, qp_offset은 픽처 레벨 채도 QP 오프셋을 나타내며, slice_qp_delta는 슬라이스 레벨 채도 QP 오프셋을 나타내고, Clip3(a, b, c)는 a에서 b까지의 범위로 c의 값을 클립핑하는(clips) 함수를 나타낸다. 예를 들어, 함수 Clip3(-QpBdOffsetC, 57, QPY + qp_offset + slice_qp_delta)에서, QPY + qp_offset + slice_qp_delta의 값은 -QpBdOffsetC와 57의 두 값을 포함하는 그 사이의 범위로 제한된다. 이와 달리, 디코더는 다른 공식, 가령, 후술할 새로운 방안 중 하나의 공식에 따라 QP 인덱스를 결정한다.
디코더는 QP 인덱스를 보조 성분 QP으로 맵핑한다(830). 보조 성분 QP 값의 범위는 소정 종래 방안에 비해 연장되어, 보조 성분 QP에 의해 표시되는 QSS 범위의 상한이 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 실질적으로 일치한다. 보조 성분 QP에 의해 표시되는 QSS 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 정확하게 일치할 수 있다. 또는, 보조 성분 QP에 의해 표시되는 QSS 범위의 상한은 주요 성분 QP에 의해 표시되는 QSS 범위의 상한과 최대 2배 상이할 수 있다. (QSS가, 배율 S에 대해 대략 QSS = S*2(QP/6)와 같은 대략 로그(logarithmic) 방식으로 QP에 관련될 때, 51의 주요 성분 QP에 대한 QSS의 상한 및 45의 보조 성분 QP에 대한 QSS의 상한에 있어서, 또는 51의 보조 성분에 대한 QSS의 상한 및 45의 주요 성분 QP에 대한 QSS의 상한에 있어서 QSS의 값은 대략 S*28.5 대 S*27.5이다.)
이 맵핑은, 상이한 QP 인덱스 값을 대응 보조 성분 QP의 값으로 맵핑하는 테이블을 따를 수 있다. 예를 들어, 이 표는 다음과 같다.
여기서, qPI는 QP 인덱스를 나타내고, QPC는 채도 QP(또는 기타 보조 성분 QP)의 값을 나타낸다.
또는, 이 맵핑은, QP 인덱스의 값이 보조 성분 QP의 값으로 맵핑되는 함수를 사용할 수 있다. 예를 들어, 이 함수에 따르면, 제 1 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로의 선형 맵핑을 가지고, 제 2 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로의 비선형 맵핑을 가지며, 제 3 QP 인덱스 값 범위는 대응 보조 성분 QP의 값으로의 선형 맵핑을 갖는다.
또는, 이 맵핑은, 상이한 QP 인덱스 값을 대응 보조 성분 QP의 값으로 맵핑하는 로직을 따를 수 있다. 몇몇 예에서, 이러한 로직은 상이한 QP 인덱스 값과 대응 보조 성분 QP의 값 사이의 구분적 선형 관계를 구현한다. 예를 들어, 이 로직은 다음과 같다.
여기서, qPI는 QP 인덱스를 나타내고, QPC는 채도 QP(또는 기타 보조 성분 QP)의 값을 나타낸다.
예시적 테이블 및 맵핑을 후술한다.
주요 성분 QP 및 보조 성분 QP를 사용하여, 디코더는 변환 계수의 역 양자화(inverse quantization)와 같은 동작을 수행할 수 있다. 예를 들어, 디코더는 한 픽처의 한 슬라이스의 하나 이상의 부분에 대한 변환 계수를 역 양자화한 후, 다른 슬라이스 또는 픽처의 역 양자화를 위해 주요 성분 QP 및/또는 보조 성분 QP를 조절할 수 있다.
본 명세서에서 설명되는 몇몇 개선점들은, JCTVC-I1003의 HEVC 설계에 비교하여, QPY로부터 QPCb 및 QPCr을 도출하는 프로세스를 수정한다. 이하의 새로운 방안에 있어서, 채도 QP 값(가령, QP’Cb 또는 QP‘Cr)을 도출하는 전체 프로세스는 다음과 같다. 우선, 중간 QP 인덱스 qPI(가령, qPICb 또는 qPICr)가 조도 QP 값(QPY) 및 채도 QP 오프셋으로부터 결정된다. 채도 QP 오프셋은 픽처 레벨 채도 QP 오프셋을 설명하고(accounts for) 또한 몇몇 새로운 방안에서는 슬라이스 레벨 채도 QP 오프셋을 설명할 수도 있다. 다음으로, 값 QPC(가령, QPCb 또는 QPCr)은 테이블 룩업 동작 또는 기타 맵핑 동작을 통해 결정된다. 그 후, QPC의 값은 QpBdOffsetC에 의해 조절된다.
최종 스테이지는 QpBdOffsetC이 0일 때에는 건너뛸 수 있다. 여기서도 마찬가지로, 0, 6, 12, 18, 24 및 36이다.
1. 새로운 방안 1
새로운 방안 1에서, QPCb 및 QPCr의 값은 인덱스의 값 qPI에 의존하여 표 2에서 지정된 바와 같은 QPC의 값과 동일하다.
표 1과 비교하면, 표 2에서는 인덱스 qPI가 51에서 71로 연장된다. 또한, 표 1과 비교하면, 43을 초과하는 인덱스 값 qPI부터 채도 QP 값 QPC이 상이하다. (qPICb 또는 qPICr에 대한) 인덱스 qPI는 다음과 같이 도출된다. 이들 등식에서, 상한값은 51이 아닌 71이다.
QPC와 qPI 사이의 관계는 인덱스 qPI의 모든 값에 대해 테이블으로서 지정될 수 있다. 이와 달리, 5개의 엔트리만을 포함하는 테이블이 필요하고, 나머지 부분은 다음과 같이 표현되는 로직을 사용하여 구현될 수 있다.
2. 새로운 방안 2
새로운 방안 2에서, QPCb 및 QPCr의 값은 인덱스의 값 qPI에 의존하여 표 3에서 지정된 바와 같은 QPC의 값과 동일하다.
표 1과 비교하면, 채도 QP 값 QPC는 43을 초과하는 인덱스 값 qPI에 대해 상이하다. (qPICb 또는 qPICr에 대한) 인덱스 qPI는 다음과 같이 도출된다. 이들 등식에서, 상한값은 51이 아닌 57인데, 이는 표 3을 qPI = 57까지 효과적으로 연장시킨다.
QPC와 qPI 사이의 관계는 인덱스 qPI의 모든 값에 대해 테이블으로서 지정될 수 있다. 이와 달리, 5개의 엔트리만을 포함하는 테이블이 필요하고, 나머지 부분은 다음과 같이 표현되는 로직을 사용하여 구현될 수 있다.
3. 새로운 방안 3
새로운 방안 3에서, QPCb 및 QPCr의 값은 인덱스의 값 qPI에 의존하여 표 4에서 지정된 바와 같은 QPC의 값과 동일하다.
표 1과 비교하면, 표 4에서는 인덱스 qPI가 51에서 71로 연장된다. 또한, 표 1과 비교하면, 인덱스 qPI가 34일 때와 43을 초과하는 인덱스 값 qPI일 때, 채도 QP 값 QPC가 상이하다. (qPICb 또는 qPICr에 대한) 인덱스 qPI는 다음과 같이 도출된다. 이들 등식에서, 상한값은 51이 아닌 71이다.
QPC와 qPI 사이의 관계는 인덱스 qPI의 모든 값에 대해 테이블으로서 지정될 수 있다. 이와 달리, 이 관계는 구분적 선형 함수(piece-wise linear function)로서 지정될 수 있으며, 다음과 같이 표현되는 로직을 사용하여 구현될 수 있다.
4. 새로운 방안 4
새로운 방안 4에서, QPCb 및 QPCr의 값은 인덱스의 값 qPI에 의존하여 표 5에서 지정된 바와 같은 QPC의 값과 동일하다.
표 1과 비교하면, qPI = 34일 때와 43을 초과하는 인덱스 값 qPI일 때, 채도 QP 값 QPC가 상이하다. (qPICb 또는 qPICr에 대한) 인덱스 qPI는 다음과 같이 도출된다. 이들 등식에서, 상한값은 51이 아닌 57인데, 이는 표 5을 qPI = 57까지 효과적으로 연장시킨다.
QPC와 qPI 사이의 관계는 인덱스 qPI의 모든 값에 대해 테이블으로서 지정될 수 있다. 이와 달리, 이 관계는 구분적 선형 함수(piece-wise linear function)로서 지정될 수 있으며, 다음과 같이 표현되는 로직을 사용하여 구현될 수 있다.
5. 새로운 방안 5
새로운 방안 5는 새로운 방안 3과 슬라이스 레벨 채도 QP 오프셋의 사용을 조합한다. 슬라이스 레벨 채도 QP 오프셋의 사용은 SPS(sequence parameter set), PPS 또는 기타 상위 레벨 신택스 구조로 시그날링되는 플래그(flag)를 사용하여 인에이블/디스에이블될 수 있다. 그 외에는, 새로운 방안 5은 다음과 같이 도출되는 인덱스 qPI에 대한 값들을 제외하고는 새로운 방안 3과 동일하다.
변수 slice_qp_delta_cb 및 slice_qp_delta_cr는 각각 슬라이스 헤더에 시그날링될 수 있는 Cb 및 Cr 성분에 대한 슬라이스 레벨 채도 QP 오프셋 값이다.
6. 새로운 방안 6
유사하게, 새로운 방안 6은 새로운 방안 4와 슬라이스 레벨 채도 QP 오프셋의 사용을 조합한다. 슬라이스 레벨 채도 QP 오프셋의 사용은 SPS, PPS 또는 기타 상위 레벨 신택스 구조로 시그날링되는 플래그를 사용하여 인에이블/디스에이블될 수 있다. 그 외에는, 새로운 방안 6은 다음과 같이 도출되는 인덱스 qPI에 대한 값들을 제외하고는 새로운 방안 4와 동일하다.
7. 새로운 방안들의 장점
이 단락에서의 새로운 방안 각각에 대해, qPI의 함수로서 QPC를 결정하기 위한 테이블이 효과적으로 연장되어 (QP와 QSS 사이의 예시적 관계에 따라 채도에 대한 더 높은 QSS 값을 표시하는) 더 높은 채도 QP 값에 도달할 수 있게 한다. 특히, 테이블은 채도에 대한 최대 가능한 QP 값이 이제 (JCTVC-I1003에서의) 39가 아닌 51이 되도록 효과적으로 연장된다. 이는 높은 QP 시나리오에서 채도 성분에 대한 보다 공격적인(aggressive) (즉, 넓은 간격의) 양자화를 가능하게 하여, 채도 성분에 대한 비트레이트를 감소시킨다. 절감된 비트는 대신 조도 성분을 위해 사용되어 전체 품질을 향상시킨다. 또한, 새로운 방안 각각에 대해, 테이블은 전술한 바와 같은 간단한 공식/로직을 사용하여 구현될 수 있다.
새로운 방안 2, 4 및 6은 다음과 같은 추가적인 장점을 갖는다.
첫째, 특히 연장된 테이블의 높은 QP 값들에 대해, 조도에 대한 QP 값과 채도에 대한 대응 QP 값에 의해 표현되는 양자화 스텝 사이즈 사이의 차이가 지나치게 극단적이 되는 것이 방지된다. 통상적으로, 양자화 스텝 사이즈(QSS)는 정의된 관계에 따른 QP 값에 의존한다. (가령, 일부 구현에서, 대략적인 로그 관계, 대략 QSS = 2(QP/6)에 따라 QSS가 이 관계의 지수인 QP에 직접 비례한다.) 채도 QP 오프셋에 대해 디폴트 값이 사용될 때(즉, 오프셋이 0으로 설정될 때), 채도에 대한 QSS에 대한 QP 인덱스에 의해 표현되는 QSS의 비율은 JCTVC-I1003의 HEVC 설계에서의 비율의 4배(가령, 51의 조도 QP와 39의 채도 QP에 대해 대략 28.5 대 26.5 )와 같다. 이와 대조적으로, 새로운 방안 2, 4 및 6에서는, 이 비율은 최대 2(가령, 51의 조도 QP와 45의 채도 QP에 대해 대략 28.5 대 27.5 )이다. QSS에 대한 비율을 제한함으로써, 양자화가 넓은 간격으로(coarse) 의도될 때 채도 성분에 대해 비트가 과도하게 사용되는 것을 방지하도록 도울 수 있다.
둘째, 채도에 대한 QP 변화에 대한 조도에 대한 QP 변화의 비율에 있어서, 높은 QP(높은 QSS) 동작에서 기울기 1이 인에이블된다. 높은 QP 상황(qPI > 43일 때)에 있어서, 조도 QP에 대한 +1의 변화는 채도 QP에 대한 +1의 변화를 초래하거나, 조도 QP에 대한 -1의 변화는 채도 QP에 대한 -1의 변화를 초래한다. 이는, QP 값을 변경할 때(전체 품질 대 비트레이트를 조절하기 위한 레이터 제어 동안에) 인코딩 제어기가 조도와 채도 사이의 균형을 유지하는 것을 돕는다. QP 값의 이 범위에 대해, 조도 및 채도 양자 스텝 사이즈 사이의 비율은 일정하게 유지되어, 조도와 채도 사이의 균형에 예상치 못한 변경을 가하지 않고 비트레이트의 세부적인 제어를 돕는다.
셋째, (QPC가 높은 QP 동작에서 qPI-6인) 몇몇 구현에서, 6의 고정 채도 QP 오프셋이 사용되어 높은 QP(높은 QSS) 동작에서 조도 및 채도에 대한 동등한 QSS를 달성할 수 있다. 몇몇 경우에, 인코더는 (QPY = QPC일 때 만들어 질 수 있는) 동일한 QSS를 사용하여 모든 평면(planes)을 코딩하기를 원할 수 있다. JCTVC- I1003의 설계에서, 이는 채도 QP 오프셋이 QP에 의존하여 조절될 필요가 있을 수 있다는 것을 의미하는데, QPY와 QPC 사이의 관계가 가변적인 차이를 갖기 때문이다 (표 1 참조). 이와 대조적으로, 새로운 방안 2, 4 및 6에서는, qPI의 값이 43보다 큰 경우에 QPC = qPI - 6이다. 그래서, 이 범위에서 qPI와 QPC 사이의 차이는 6을 유지되고, 6의 고정 채도 QP 오프셋은 목적(QPY = QPC)을 달성할 수 있다.
넷째, (조도와 채도에 대한 QSS 사이의) 원하는 상대적 관계를 달성하기 위해 필요한 채도 QP 오프셋은 JCTVC-I1003에서보다 훨씬 작다. 예를 들어, JCTVC-I1003에서, 인코더가 조도 및 채도 모두에 대해 39의 QP를 사용하기를 원하는 경우, 필요한 채도 QP 오프셋은 12이다. 오프셋에 대한 이 값은, 표 1이 끝부분에 도시된 동일한 기울기로 간단히 연장되는 경우에 더 크게 된다. 그러나, 새로운 방안 2, 4 및 6에서는, 훨씬 작은 6의 오프셋을 사용하여 동일한 상대적 관계가 달성될 수 있다.
다섯째, 채도 QP 값에 대한 연장된 범위는 (세밀한 양자화 및 중간 범위 양자화에 대한) 낮은 QP 값 및 중간 범위 QP 값을 갖는 공통 사용 조건에 대한 레이트-왜곡 성능에 현저한 영향을 미치지 않는데, 이는 새로운 방안들에서의 수정이 대부분 공통 사용 조건에서 사용되는 QP 값 범위 외부에 적용되기 때문이다. 그러나, 동시에, 높은 QP(높은 QSS) 상황에 있어서, 채도 QP에 대한 연장된 범위를 사용하는 것에 대해 레이트-왜곡 성능 및 인코더 유연성과 관련한 장점들이 존재한다. 통상적으로 높은 QP 상황에 있어서, (연장된 범위의 채도 QP를 사용하여 넓은 간격의 양자화, 절감된 비트 등으로부터) 채도 품질 손실이 조도 품질의 이득에 의한 오프셋보다 크다.
조도에 대한 QP의 함수로서 채도에 대한 QP를 표현하는 새로운 방안들 중 임의의 방안은 조도 성분 및/또는 채도 성분의 계수에 대한 주파수 특정 배율을 수립하기 위한 양자화 스케일링 행렬과 함께 사용될 수 있다.
B. 채도 QP 오프셋의 값에 대한 제한사항
채도 QP 오프셋의 값에 대한 제한사항은 조도와 채도 사이의 큰 품질 차이를 제한하기 위해 새로운 방안들 1 내지 6의 것들과 같은 예시적 구현에서 유용하다. 특히, -12 내지 12까지의 범위가 채도 QP 오프셋에 대한 예시적 구현에서 유효하다. (H.264/AVC 표준에서, 채도 QP 오프셋은 유사하게 -12 내지 12까지의 범위에 제한된다.) 이 범위는 유용한 특성을 갖는다. 예를 들어, 높은 QP에서의 새로운 방안 4에 있어서, 6의 채도 QP 오프셋은 조도 QP가 채도 QP와 동일한 경우를 나타내고, 21의 오프셋은 0의 오프셋에 대한 카운터 포인트(counter-point)를 나타낸다. 이들 두 채도 QP 오프셋(즉, 0 및 12의 오프셋)에서, QP와 QSS 사이의 예시적 관계에 있어서, 큰 QSS는 작은 QSS의 정확히 2배이다 (가령, 57의 채도 QP에 대한 29.5의 QSS는 51의 채도 QP에 대한 28.5의 QSS의 정확히 2배이고, 이는 45의 채도 QP에 대한 27.5의 QSS의 2배이다).
새로운 방안 1 내지 4의 경우, 채도 QP 오프셋의 값에 대한 제한사항은 cb_qp_offset 및 cr_qp_offset에 대해 부과될 수 있다. 새로운 방안 5 및 6에 있어서, 채도 QP 오프셋의 값에 대한 제한사항이 값 (cb_qp_offset + slice_qp_delta_cb) 및 (cr_qp_offset + slice_qp_delta_cr)에 부과될 수 있다. 이와 달리, 새로운 방안 5 내지 6에 있어서, 채도 QP 오프셋의 값에 대한 제한사항은 cb_qp_offset, slice_qp_delta_cb, cr_qp_offset 및 slice_qp_delta_cr에 대한 개별적인 값에 대해 부과될 수 있다.
C. 슬라이스 레벨 채도 QP 오프셋에 대한 신택스 및 세맨틱스(Syntax and Semantics)
새로운 방안 5 및 6에서, 비트스트림 신택스 및 세맨틱스는 슬라이스 레벨 채도 QP 오프셋의 시그날링을 지원한다. 슬라이스 레벨 채도 QP 오프셋은 한 픽처 내의 여러 영역에 대한 채도 QP를 정밀하게 제어하는 더 우수한 기능을 인코더에 제공한다. 도 9(a)는 PPS RBSP 신택스에서의 새로운 플래그 slicelevel_chroma_qp_flag를 도시하고, 도 9(b)는 예시적 구현에 있어서의 슬라이스 헤더 신택스의 새로운 값 slice_qp_delta_cb 및 slice_qp_delta_cr을 도시한다. 엔트로피-코딩된 값 slice_qp_delta_cb 및 slice_qp_delta_cr은 적용 가능한 PPS의 slicelevel_chroma_qp_flag 값에 의존하여 슬라이스 헤더에 조건부로 존재한다. 따라서, 슬라이스 레벨 채도 QP 오프셋이 사용되지 않을 때, 슬라이스 레벨 신택스 오버헤드가 회피된다.
도 9(a)에 도시된 PPS 신택스 프래그먼트(901)에서, 값 cb_qp_offset 및 cr_qp_offset은 앞서 지정된 바와 같은 QPCb 및 QPCr을 구하는 데에 사용되는 베이스 오프셋을 각각 지정한다. 1과 동일한 값slicelevel_chroma_qp_flag는 신택스 요소 slice_qp_delta_cb 및 slice_qp_delta_cr가 연관된 슬라이스 헤더에 존재한다는 것을 지정한다. 그 외의 경우, 신택스 요소 slice_qp_delta_cb 및 slice_qp_delta_cr는 연관된 슬라이스 헤더에 존재하지 않는다.
(도 9(b)의 신택스 프래그먼트(902)에 도시된 바와 같은) 슬라이스 헤더에서, slice_qp_delta는 코딩 단위 계층의 cu_qp_delta의 값에 의해 수정될 때까지 슬라이스의 모든 코딩 블록에 대해 사용될 QPY의 초기 값을 지정한다. 슬라이스에 대한 초기 QPY 양자화 파라미터는 다음과 같이 계산된다.
값 slice_qp_delta는, -QpBdOffsetY와 +51을 포함하는 이 사이의 범위에 SliceQPY가 존재하도록 제한된다.
값 slice_qp_delta_cb 및 slice_qp_delta_cr은 새로운 방안 5 및 6에 대해 지정되는 바와 같이 각각 QPCb 및 QPCr을 구하는 데에 사용되는 델타 오프셋을 지정한다. 존재하지 않는 경우, 이들 신택스 요소의 값은 0으로 추론된다.
D. 채도에 대한 수정된 디블록 필터링
JCTVC-I1003의 HEVC 설계에서, 채도 성분의 블록 에지를 디블록킹하는 동안에 사용되는 필터 “강도” (tC 파라미터)는 값 QPC를 사용하여 결정된다. 변수 QPC는 다음과 같이 도출되는 인덱스 qPI를 사용하여 표 1에서 지정되는 바와 같이 결정된다.
여기서 QPQ 및 QPP는 에지의 양측에 존재하는 블록에 대한 조도 QP 값을 나타낸다. 전체적인 아이디어는 에지 주위의 샘플을 양자화하는 데에 사용되는 QP 값에 기초하여 필터 강도를 조절하는 것이다. 채도 디블록 필터링에 대한 qPI를 결정하는 이 방안은 채도 QP 오프셋(cb_qp_offset 및 cr_qp_offset)이 0이 아닐 때에는 불충분하다. 채도 QP 오프셋의 0이 아닌 여러 값에 대해, 채도 성분에 대해 사용되는 QP는 상이할 것이지만 필터 강도는 동일하게 유지된다.
몇몇 예시적 구현에서, 채도 디블록 필터링에 대한 qPI를 결정할 때 채도 QP 오프셋의 효과가 고려된다. 이들 구현에서, 인덱스 qPI는 다음과 같이 도출된다.
여기서, cqp_offset은 각각 성분 Cb 및 Cr에 대한 cb_qp_offset 및 cr_qp_offset을 나타낸다. 이들 예시적 구현에서, 채도 디블록 필터링에 대한 인덱스 qPI의 도출은 채도 QP 오프셋의 효과를 설명하지만, 그 외의 경우에는 조도에 대한 QP의 함수로서 채도에 대한 QP를 표현할 때 JCTVC-I1003에서 qPI가 도출되는 방식에 기초한다.
다른 예시적 구현에서, 조도에 대한 QP의 함수로서 채도에 대한 QP를 표현하는 방식에 관한 전술한 새로운 방안들 중 하나가 채택될 때, 디블록 필터링에 대한 인덱스 qPI는 다음과 같이 도출될 수 있다.
여기서, QPmax 및 cqp_offset은 사용되는 새로운 방안에 의존적이다. 새로운 방안 1, 3 및 5에서, QPmax는, 예를 들어, 71이다. 새로운 방안 2, 4 및 6에서, QPmax는, 예를 들어, 57이다. 새로운 방안 1 내지 4에서, cqp_offset은 각각 성분 Cb 및 Cr에 대한 cb_qp_offset 및 cr_qp_offset을 나타낸다. 새로운 방안 5 및 6에서, cqp_offset은 각각 성분 Cb 및 Cr에 대한 (cb_qp_offset + slice_qp_delta_cb) 및 (cr_qp_offset + slice_qp_delta_cr)을 나타낸다. 보다 일반적으로, 인덱스 qPI의 값이 디블록 필터링에 대해 도출될 때, (QPQ + QPP + 1) >> 1가 QPY를 대체하고, 채도 QP 오프셋이 고려된다.
변수 qPI가 디블록 필터링에서 사용되는 방식을 구현에 의존한다. 예를 들어, 그 후 위 표 5에서 지정되는 변수 QPC를 결정하는 데에 변수 qPI가 사용된다. 다른 변수 Q는 다음과 같이 도출된다.
여기서, bS는 코딩 모드(인트라 또는 인터), 블록 내에 0이 아닌 변환 계수의 존재 여부, 모션 벡터 값 및/또는 기타 요인에 의존하여 설정되는 경계 필터링 강도이고, slice_tc_offset_div2는 필터링될 에지 측의 제 1 샘플을 포함하는 슬라이스에 대한 신택스 요소 slice_tc_offset_div2의 값이다. 그 후, 변수 tC’의 값이 다음 표에 표시된 Q의 tC’로의 맵핑에 기초하여 결정된다.
최종적으로, 제어 파라미터 tC는 다음과 같이 도출된다. tC = tC' * ( 1 ≪ ( BitDepthC - 8 ) ).
E. 대체 방안들
설명을 위해, 상세한 설명에서는 몇몇 파라미터 및 변수에 대해 특정 명칭을 사용하는 다양한 예를 설명하였다. 본 명세서에서 설명되는 개선점들은 이러한 명칭을 갖는 파라미터 또는 변수를 갖는 구현에 한정되지 않는다. 대신, 본 명세서에서 설명되는 개선점들은 다양한 유형의 파라미터 및 변수를 사용하여 구현될 수 있다.
예를 들어, 본 명세서에서 설명되는 예들의 일부는 파라미터 slicelevel_chroma_qp_flag, cb_qp_offset, cr_qp_offset, slice_qp_delta_cb 및 slice_qp_delta_cr를 포함한다. JCTVC-K1003의 HEVC 표준 버전에서는, slicelevel_chroma_qp_flag는 pic_slice_chroma_qp_offsets_present_flag라고 재명명되지만, 본질적으로 동일한 의미를 갖는다. 전술한 픽처 레벨 채도 QP 오프셋은 cb_qp_offset 및 cr_qp_offset 대신에 pic_cb_qp_offset 및pic_cr_qp_offset이라고 불린다. 전술한 슬라이스 레벨 채도 QP 오프셋은 slice_qp_delta_cb 및slice_qp_delta_cr이 아닌 slice_cb_qp_offset 및 slice_cr_qp_offset이라고 불린다. 본 명세서에서 설명되는 예는 재명명되는(relabeled) 파라미터에도 적용된다.
본 명세서에서 설명되는 몇몇 예에서, QP 값은 QP에서 26을 감하여 비트스트림에 시그날링되고, QSS는 S*2(QP/6) 또는 대략 S*2(QP/6)인데, 여기서 S는 배율이다. 이 관계식에서, 높은 QP 값은 높은 (즉, 넓은 간격의) QSS를 의미하고, 낮은 QP 값은 낮은 (즉, 세밀한) QSS를 의미한다. 이와 달리, QP는 QSS에 반비례할 수 있다. 예를 들어, QP 값은 25에서 QP를 감하여 비트스트림에 시그날링되고, QSS는 S*2((51-QP)/6) 또는 대략 S*2((51-QP)/6)이다. 이 예에서, 동일한 QSS 값이 효과적으로 시그날링될 수 있지만, 높은 QP 값은 낮은 QSS를 의미하고 낮은 QP 값은 높은 QSS를 의미한다. 보다 일반적으로, 본 명세서에서 설명되는 개선점은 전술한 관계를 포함하는 QP와 QSS 사이의 다양한 관계에 적용될 수 있는데, QP가 H.263 표준에서 QUANT라고 불리는 파라미터와 같은 파라미터인 관계와, QP가 H.262 표준에서 양자화 스케일이라고 불리는 파라미터와 같은 파라미터인 관계도 포함한다.
개시된 발명의 원리가 적용될 수 있는 많은 가능한 실시예의 관점에서, 도시된 실시예는 본 발명의 바람직한 예일 뿐이며 본 발명의 범위를 제한하는 것으로 고려되어서는 안된다는 것을 인식해야 한다. 오히려, 본 발명의 범위는 이하의 청구항에 의해 정의된다. 그러므로, 이들 청구항의 범위 및 사상 내에 해당하는 모든 것을 본 발명으로서 청구한다.
Claims (20)
- 컴퓨터 시스템으로서,
비디오 시퀀스를 위한 비트스트림의 적어도 부분 내의 인코딩된 데이터를 수신하도록 구성된, 상기 컴퓨터 시스템의 메모리를 사용하여 구현된 버퍼 - 상기 인코딩된 데이터는 픽처 레벨 채도 양자화 파라미터(quantization parameter, QP) 오프셋과 슬라이스 레벨 채도 QP 오프셋을 나타내는 신택스 요소를 포함함 - 와,
상기 인코딩된 데이터를 디코딩하여, QP의 값이 조도 성분(luma component)과 하나 이상의 채도 성분(chroma components) 사이의 관계에 따라 변하는 상기 비디오 시퀀스의 픽처의 코딩 단위를 재구성하기 위한 동작을 수행하도록 구성된, 상기 컴퓨터 시스템의 하나 이상의 프로세싱 유닛을 사용하여 구현된 비디오 디코더를 포함하되,
상기 동작은:
조도 QP를 결정하는 것과,
상기 조도 QP, 상기 픽처 레벨 채도 QP 오프셋 및 상기 슬라이스 레벨 채도 QP 오프셋에 적어도 부분적으로 기초하여 최종 채도 QP를 결정하는 것과,
상기 조도 QP와 상기 최종 채도 QP에 적어도 부분적으로 기초하여 픽처의 상기 코딩 단위에 대하여 역 양자화 연산을 수행하는 것을 포함하고,
상기 최종 채도 QP에 의해 표시되는 양자화 스텝 사이즈(quantization step size, QSS)의 범위의 상한은 실질적으로 상기 조도 QP에 의해 표시되는 QSS의 범위의 상한과 일치하며,
상기 최종 채도 QP를 결정하는 것은:
상기 조도 QP를 이용하여 QP 인덱스를 결정하는 것과,
상기 QP 인덱스를 중간 채도 QP(intermediate chroma QP)에 맵핑하는 것 - 상기 맵핑하는 것은 QP 인덱스의 상이한 값들과 중간 채도 QP의 상응하는 값들 간의 구간적 맵핑(piecewise mapping)에 따라 상기 QP 인덱스에 기초하여 상기 중간 채도 QP를 설정하는 것을 포함함 - 과,
상기 최종 채도 QP를 결정하기 위해 상기 중간 채도 QP를 조정하는 것을 포함하는,
컴퓨터 시스템.
- 제1항에 있어서,
상기 구간적 맵핑은 함수를 사용하되, 상기 함수에 따라, QP 인덱스의 값의 최저 범위(bottom range)는 중간 채도 QP의 상응하는 값들에 대해 제1 선형 맵핑을 갖고, QP 인덱스의 값의 중간 범위는 중간 채도 QP의 상응하는 값들에 대해 비선형 맵핑을 갖고, QP 인덱스의 값의 최고 범위는 중간 채도 QP의 상응하는 값들에 대해 선형 맵핑을 갖는,
컴퓨터 시스템.
- 제1항에 있어서,
상기 구간적 맵핑은 구간적 선형 함수로 구현되는,
컴퓨터 시스템.
- 제3항에 있어서,
상기 구간적 선형 함수에 따라:
QP 인덱스의 값의 제1 범위는 중간 채도 QP의 상응하는 값들에 대해 제1 선형 맵핑을 갖고,
QP 인덱스의 값의 제2 범위는 중간 채도 QP의 상응하는 값들에 대해 제2 선형 맵핑을 갖고,
QP 인덱스의 값의 제3 범위는 중간 채도 QP의 상응하는 값들에 대해 제3 선형 맵핑을 갖는,
컴퓨터 시스템.
- 제1항에 있어서,
높은 QSS와 관련된 QP 인덱스의 값의 범위에 대하여, 상기 관계는 채도 QP의 값에 동일한 사이즈의 변화를 야기하는 상기 조도 QP의 값의 변화에 의해 특징지어짐으로써 상기 채도 QP의 변화에 대한 상기 조도 QP의 변화의 비가 1인,
컴퓨터 시스템.
- 제1항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 합의 범위가 -12 내지 12가 되도록 제한되는,
컴퓨터 시스템.
- 제1항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋의 범위가 -12 내지 12이고 상기 슬라이스 레벨 채도 QP 오프셋의 범위가 -12 내지 12가 되도록 제한되는,
컴퓨터 시스템.
- 제1항에 있어서,
상기 인코딩된 데이터는 픽처 파라미터 세트 내에 슬라이스 헤더의 슬라이스 레벨 채도 QP 오프셋의 존재를 나타내는 플래그를 더 포함하는,
컴퓨터 시스템.
- 비디오 시퀀스를 위한 비트스트림의 부분으로서 구성되는 인코딩된 데이터를 저장한 하나 이상의 컴퓨터 판독 가능 메모리로서,
상기 인코딩된 데이터는 픽처 레벨 채도 양자화 파라미터(quantization parameter, QP) 오프셋과 슬라이스 레벨 채도 QP 오프셋을 나타내는 신택스 요소를 포함하고, 상기 인코딩된 데이터는 비디오 인코더를 구현하는 컴퓨터 시스템을 사용하여 동작에 의해 생성된 것이고, 상기 동작은,
QP의 값이 조도 성분(luma component)과 하나 이상의 채도 성분(chroma components) 사이의 관계에 따라 변하는 상기 비디오 시퀀스의 픽처의 부분을 인코딩하는 것과,
상기 인코딩된 데이터를 출력하는 것을 포함하며,
상기 인코딩하는 것은:
조도 QP를 결정하는 것과,
최종 채도 QP를 결정하는 것과,
상기 조도 QP, 상기 픽처 레벨 채도 QP 오프셋 및 상기 슬라이스 레벨 채도 QP 오프셋에 적어도 부분적으로 기초하여 상기 픽처의 상기 부분에 대한 상기 최종 채도 QP를 인코딩하는 것 - 상기 최종 채도 QP에 의해 표시되는 양자화 스텝 사이즈(quantization step size, QSS)의 범위의 상한은 실질적으로 상기 조도 QP에 의해 표시되는 QSS의 범위의 상한과 일치함 - 과,
상기 조도 QP와 상기 최종 채도 QP에 적어도 부분적으로 기초하여 상기 픽처의 상기 부분에 대하여 역 양자화 연산을 수행하는 것을 포함하고,
상기 최종 채도 QP를 인코딩하는 것은:
상기 조도 QP를 이용하여 QP 인덱스를 결정하는 것과,
상기 QP 인덱스를 중간 채도 QP(intermediate chroma QP)에 맵핑하는 것 - 상기 맵핑하는 것은 QP 인덱스의 상이한 값들과 중간 채도 QP의 상응하는 값들 간의 구간적 맵핑(piecewise mapping)에 따라 상기 QP 인덱스에 기초하여 상기 중간 채도 QP를 설정하는 것을 포함함 - 을 포함하는,
하나 이상의 컴퓨터 판독 가능 메모리.
- 제9항에 있어서,
높은 QSS와 관련된 QP 인덱스의 값의 범위에 대하여, 상기 관계는 채도 QP의 값에 동일한 사이즈의 변화를 야기하는 상기 조도 QP의 값의 변화에 의해 특징지어짐으로써 상기 채도 QP의 변화에 대한 상기 조도 QP의 변화의 비가 1인,
하나 이상의 컴퓨터 판독 가능 메모리.
- 제9항에 있어서,
상기 구간적 맵핑은 구간적 선형 함수로 구현되는,
하나 이상의 컴퓨터 판독 가능 메모리.
- 제9항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 합의 범위가 -12 내지 12가 되도록 제한되는,
하나 이상의 컴퓨터 판독 가능 메모리.
- 제9항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋의 범위가 -12 내지 12이고 상기 슬라이스 레벨 채도 QP 오프셋의 범위가 -12 내지 12가 되도록 제한되는,
하나 이상의 컴퓨터 판독 가능 메모리.
- 제9항에 있어서,
상기 인코딩된 데이터는 픽처 파라미터 세트 내에 슬라이스 헤더의 슬라이스 레벨 채도 QP 오프셋의 존재를 나타내는 플래그를 더 포함하는,
하나 이상의 컴퓨터 판독 가능 메모리.
- 컴퓨터 시스템으로서,
양자화 파라미터(quantization parameter, QP)의 값이 조도 성분 및 하나 이상의 채도 성분 간의 관계에 따라 변하는 비디오 시퀀스의 픽처의 코딩 단위를 인코딩하여 인코딩된 데이터를 생성하기 위한 동작을 수행하도록 구성된, 상기 컴퓨터 시스템의 하나 이상의 프로세싱 유닛을 사용하여 구현된 비디오 인코더와,
상기 인코딩된 데이터를 비트스트림의 적어도 부분내에 출력을 위해 저장하도록 구성된 버퍼 - 상기 인코딩된 데이터는 픽처 레벨 채도 QP 오프셋과 슬라이스 레벨 채도 QP 오프셋을 나타내는 신택스 요소를 포함함 - 를 포함하고,
상기 동작은,
조도 QP를 결정하는 것과,
최종 채도 QP를 결정하는 것과,
상기 조도 QP, 상기 픽처 레벨 채도 QP 오프셋 및 상기 슬라이스 레벨 채도 QP 오프셋에 적어도 부분적으로 기초하여 상기 픽처의 상기 코딩 단위에 대한 상기 최종 채도 QP를 인코딩하는 것 - 상기 최종 채도 QP에 의해 표시되는 양자화 스텝 사이즈(quantization step size, QSS)의 범위의 상한은 실질적으로 상기 조도 QP에 의해 표시되는 QSS의 범위의 상한과 일치함 - 과,
상기 조도 QP와 상기 최종 채도 QP에 적어도 부분적으로 기초하여 상기 픽처의 상기 코딩 단위에 대하여 역 양자화 연산을 수행하는 것을 포함하고,
상기 최종 채도 QP를 인코딩하는 것은,
상기 조도 QP를 이용하여 QP 인덱스를 결정하는 것과,
상기 QP 인덱스를 중간 채도 QP(intermediate chroma QP)에 맵핑하는 것 - 상기 맵핑하는 것은 QP 인덱스의 상이한 값들과 중간 채도 QP의 상응하는 값들 간의 구간적 맵핑(piecewise mapping)에 따라 상기 QP 인덱스에 기초하여 상기 중간 채도 QP를 설정하는 것을 포함함 - 을 포함하는,
컴퓨터 시스템.
- 제15항에 있어서,
높은 QSS와 관련된 QP 인덱스의 값의 범위에 대하여, 상기 관계는 채도 QP의 값에 동일한 사이즈의 변화를 야기하는 상기 조도 QP의 값의 변화에 의해 특징지어짐으로써 상기 채도 QP의 변화에 대한 상기 조도 QP의 변화의 비가 1인,
컴퓨터 시스템.
- 제15항에 있어서,
상기 구간적 맵핑은 구간적 선형 함수로 구현되는,
컴퓨터 시스템.
- 제15항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 합의 범위가 -12 내지 12가 되도록 제한되는,
컴퓨터 시스템.
- 제15항에 있어서,
상기 픽처 레벨 채도 QP 오프셋과 상기 슬라이스 레벨 채도 QP 오프셋의 값은, 상기 픽처 레벨 채도 QP 오프셋의 범위가 -12 내지 12이고 상기 슬라이스 레벨 채도 QP 오프셋의 범위가 -12 내지 12가 되도록 제한되는,
컴퓨터 시스템.
- 제15항에 있어서,
상기 인코딩된 데이터는 픽처 파라미터 세트 내에 슬라이스 헤더의 슬라이스 레벨 채도 QP 오프셋의 존재를 나타내는 플래그를 더 포함하는,
컴퓨터 시스템.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261667381P | 2012-07-02 | 2012-07-02 | |
US61/667,381 | 2012-07-02 | ||
US13/732,356 | 2012-12-31 | ||
US13/732,356 US9414054B2 (en) | 2012-07-02 | 2012-12-31 | Control and use of chroma quantization parameter values |
PCT/US2013/049100 WO2014008277A1 (en) | 2012-07-02 | 2013-07-02 | Extended range for chroma qp values |
KR1020227004735A KR102547712B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227004735A Division KR102547712B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230097215A true KR20230097215A (ko) | 2023-06-30 |
KR102643369B1 KR102643369B1 (ko) | 2024-03-04 |
Family
ID=49778132
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247013354A KR20240058966A (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020802A KR102660310B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020207023553A KR102244926B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020227004735A KR102547712B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020809A KR102660891B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020733A KR102643369B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020740A KR102660889B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020719A KR102660282B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020147036979A KR102147552B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020737A KR102660890B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020217011550A KR102365388B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247013354A KR20240058966A (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020802A KR102660310B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020207023553A KR102244926B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020227004735A KR102547712B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020809A KR102660891B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237020740A KR102660889B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020719A KR102660282B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020147036979A KR102147552B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020237020737A KR102660890B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
KR1020217011550A KR102365388B1 (ko) | 2012-07-02 | 2013-07-02 | 채도 qp 값의 확장된 범위 |
Country Status (6)
Country | Link |
---|---|
US (12) | US9414054B2 (ko) |
EP (2) | EP3582499A1 (ko) |
JP (1) | JP6270833B2 (ko) |
KR (11) | KR20240058966A (ko) |
CN (1) | CN104584559B (ko) |
WO (1) | WO2014008277A1 (ko) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9414054B2 (en) | 2012-07-02 | 2016-08-09 | Microsoft Technology Licensing, Llc | Control and use of chroma quantization parameter values |
US9591302B2 (en) * | 2012-07-02 | 2017-03-07 | Microsoft Technology Licensing, Llc | Use of chroma quantization parameter offsets in deblocking |
US9426439B2 (en) * | 2013-03-12 | 2016-08-23 | Intel Corporation | Exposing media processing features |
GB2512826B (en) * | 2013-04-05 | 2017-05-10 | Canon Kk | Method and device for determining the value of a quantization parameter |
EP2854404A3 (en) * | 2013-09-09 | 2015-07-15 | Apple Inc. | Chroma quantization in video coding |
US9510002B2 (en) * | 2013-09-09 | 2016-11-29 | Apple Inc. | Chroma quantization in video coding |
JP6336058B2 (ja) | 2013-10-14 | 2018-06-06 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能 |
EP3114835B1 (en) | 2014-03-04 | 2020-04-22 | Microsoft Technology Licensing, LLC | Encoding strategies for adaptive switching of color spaces |
SG11201607282YA (en) | 2014-03-04 | 2016-09-29 | Microsoft Technology Licensing Llc | Adaptive switching of color spaces, color sampling rates and/or bit depths |
JP2015173312A (ja) | 2014-03-11 | 2015-10-01 | ソニー株式会社 | 画像符号化装置および方法、並びに画像復号装置および方法 |
US11070810B2 (en) * | 2014-03-14 | 2021-07-20 | Qualcomm Incorporated | Modifying bit depths in color-space transform coding |
AU2014388185B2 (en) | 2014-03-27 | 2018-08-02 | Microsoft Technology Licensing, Llc | Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces |
US20150288965A1 (en) * | 2014-04-08 | 2015-10-08 | Microsoft Corporation | Adaptive quantization for video rate control |
US10142642B2 (en) | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
EP2977958A1 (en) * | 2014-07-22 | 2016-01-27 | Thomson Licensing | Method and apparatus for processing image data |
EP3917146A1 (en) | 2014-09-30 | 2021-12-01 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US9716871B2 (en) | 2014-09-30 | 2017-07-25 | Apple Inc. | YUV signal generation for high dynamic range video content |
CN114554199B (zh) * | 2014-09-30 | 2023-11-10 | 寰发股份有限公司 | 用于视频编码的自适应运动向量分辨率的方法 |
CN107113431B (zh) | 2014-10-03 | 2020-12-01 | 日本电气株式会社 | 视频编码设备、视频解码设备、视频编码方法、视频解码方法和程序 |
US10057578B2 (en) * | 2014-10-07 | 2018-08-21 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
CN105960802B (zh) | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
CN104410863B (zh) * | 2014-12-11 | 2017-07-11 | 上海兆芯集成电路有限公司 | 图像处理器以及图像处理方法 |
US9979969B2 (en) * | 2015-04-24 | 2018-05-22 | Fingram Co., Ltd. | Method and system for image compression using image block characteristics |
CN107852512A (zh) * | 2015-06-07 | 2018-03-27 | 夏普株式会社 | 基于亮度转换函数或视频色彩分量值的优化视频编码的系统及方法 |
US10659783B2 (en) * | 2015-06-09 | 2020-05-19 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
EP3104610A1 (en) * | 2015-06-10 | 2016-12-14 | Thomson Licensing | Method and device for encoding color differences for color picture data |
US10225561B2 (en) * | 2015-10-08 | 2019-03-05 | Mediatek Inc. | Method and apparatus for syntax signaling in image and video compression |
US10432936B2 (en) * | 2016-04-14 | 2019-10-01 | Qualcomm Incorporated | Apparatus and methods for perceptual quantization parameter (QP) weighting for display stream compression |
US10200698B2 (en) | 2016-08-09 | 2019-02-05 | Intel Corporation | Determining chroma quantization parameters for video coding |
WO2018123444A1 (ja) * | 2016-12-28 | 2018-07-05 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
US11070818B2 (en) * | 2017-07-05 | 2021-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Decoding a block of video samples |
US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
US10778978B2 (en) * | 2017-08-21 | 2020-09-15 | Qualcomm Incorporated | System and method of cross-component dynamic range adjustment (CC-DRA) in video coding |
US10812798B2 (en) * | 2017-10-19 | 2020-10-20 | Qualcomm Incorporated | Chroma quantization parameter (QP) offset |
WO2019148977A1 (en) * | 2018-02-01 | 2019-08-08 | Mediatek Inc. | Methods and apparatuses of video encoding or decoding with adaptive quantization of video data |
WO2019191218A1 (en) * | 2018-03-30 | 2019-10-03 | Interdigital Vc Holdings, Inc. | Chroma quantization parameter adjustment in video encoding and decoding |
EP3688986B1 (en) * | 2018-04-01 | 2021-10-27 | LG Electronics Inc. | An image coding method based on a quantization parameter derivation |
KR20230135159A (ko) * | 2018-09-21 | 2023-09-22 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 역 양자화 장치 및 방법 |
JP2022502981A (ja) * | 2018-09-24 | 2022-01-11 | インターデイジタル ヴィーシー ホールディングス インコーポレイテッド | 輝度および彩度に対して別々のコーディングツリーを使用する場合の彩度量子化パラメータを決定するための方法および装置 |
EP3700205A1 (en) * | 2019-02-19 | 2020-08-26 | Nokia Technologies Oy | Quantization parameter derivation for cross-channel residual encoding and decoding |
GB201902831D0 (en) * | 2019-03-01 | 2019-04-17 | Canon Kk | Method and apparatus for encoding and decoding a video bitstream for merging regions of interest |
US11076152B2 (en) * | 2019-03-18 | 2021-07-27 | Sony Group Corporation | Quantization step parameter for point cloud compression |
CN113711612B (zh) | 2019-04-20 | 2023-05-26 | 北京字节跳动网络技术有限公司 | 视频编解码中的色度语法元素的信令 |
EP4346205A3 (en) | 2019-04-26 | 2024-04-24 | Huawei Technologies Co., Ltd. | Method and apparatus for signaling of mapping function of chroma quantization parameter |
WO2020243206A1 (en) * | 2019-05-28 | 2020-12-03 | Dolby Laboratories Licensing Corporation | Quantization parameter signaling |
WO2020256598A1 (en) | 2019-06-21 | 2020-12-24 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods of chroma qantization control |
CN114026858B (zh) * | 2019-06-23 | 2024-08-09 | 夏普株式会社 | 用于在视频编码中导出视频块的量化参数的系统和方法 |
US11146823B2 (en) | 2019-06-25 | 2021-10-12 | Qualcomm Incorporated | Signalling chroma quantization parameter (QP) mapping tables |
US11418787B2 (en) | 2019-06-28 | 2022-08-16 | Qualcomm Incorporated | Chroma delta QP in video coding |
US11381819B2 (en) | 2019-07-05 | 2022-07-05 | Qualcomm Incorporated | Chroma delta quantization parameter (QP) in video coding |
KR20220029586A (ko) * | 2019-07-05 | 2022-03-08 | 엘지전자 주식회사 | 크로마 양자화 파라미터 데이터를 코딩하는 영상 디코딩 방법 및 그 장치 |
JP2022540659A (ja) * | 2019-07-12 | 2022-09-16 | インターデジタル ヴイシー ホールディングス フランス,エスエーエス | ルマツークロマ量子化パラメータテーブルシグナリング |
EP4020987A4 (en) * | 2019-08-22 | 2023-08-23 | LG Electronics Inc. | IMAGE DECODING METHOD AND APPARATUS FOR ENCODING INFORMATION RELATING TO CHROMA QUANTIZATION PARAMETER OFFSET |
HUE066880T2 (hu) * | 2019-08-23 | 2024-09-28 | Huawei Tech Co Ltd | Egy kódoló, egy dekódoló és megfelelõ eljárások a közös krominancia kódolást használó blokkok krominancia deblokkolásának elvégzésére |
WO2021040907A1 (en) * | 2019-08-30 | 2021-03-04 | Alibaba Group Holding Limited | Method and system for signaling chroma quantization parameter table |
KR20220058534A (ko) | 2019-09-14 | 2022-05-09 | 바이트댄스 아이엔씨 | 크로마 디블로킹 필터링을 위한 양자화 파라미터 |
WO2021055896A1 (en) * | 2019-09-21 | 2021-03-25 | Bytedance Inc. | Chroma deblocking in video coding |
WO2021061021A1 (en) * | 2019-09-23 | 2021-04-01 | Huawei Technologies Co., Ltd. | Method and apparatus for chrominance qp offsets tables signaling and derivation |
CN114651442A (zh) | 2019-10-09 | 2022-06-21 | 字节跳动有限公司 | 视频编解码中的跨分量适应性回路滤波 |
EP4029264A4 (en) * | 2019-10-14 | 2022-11-23 | ByteDance Inc. | JOINT CODING OF CHROMINANCE RESIDUE AND FILTERING IN VIDEO PROCESSING |
JP7485761B2 (ja) | 2019-10-29 | 2024-05-16 | 北京字節跳動網絡技術有限公司 | クロスコンポーネント適応ループフィルタの信号通知 |
EP4055827A4 (en) | 2019-12-09 | 2023-01-18 | ByteDance Inc. | USING QUANTIFICATION GROUPS IN VIDEO CODING |
WO2021121418A1 (en) | 2019-12-19 | 2021-06-24 | Beijing Bytedance Network Technology Co., Ltd. | Joint use of adaptive colour transform and differential coding of video |
WO2021138293A1 (en) | 2019-12-31 | 2021-07-08 | Bytedance Inc. | Adaptive color transform in video coding |
JP7436680B2 (ja) | 2020-01-05 | 2024-02-22 | 北京字節跳動網絡技術有限公司 | 映像コーディングのための一般制約情報 |
WO2021143749A1 (en) * | 2020-01-14 | 2021-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of quantization parameters in video coding |
CN115176470A (zh) | 2020-01-18 | 2022-10-11 | 抖音视界有限公司 | 图像/视频编解码中的自适应颜色变换 |
AU2021215741A1 (en) * | 2020-02-04 | 2022-09-08 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods about signaling high level syntax |
US11558616B2 (en) | 2020-03-05 | 2023-01-17 | Qualcomm Incorporated | Methods for quantization parameter control for video coding with joined pixel/transform based quantization |
JP2021158633A (ja) * | 2020-03-30 | 2021-10-07 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
US11381820B2 (en) * | 2020-04-13 | 2022-07-05 | Tencent America LLC | Method and apparatus for video coding |
US11606577B2 (en) | 2020-06-09 | 2023-03-14 | Alibaba Group Holding Limited | Method for processing adaptive color transform and low-frequency non-separable transform in video coding |
US11381830B2 (en) * | 2020-06-11 | 2022-07-05 | Tencent America LLC | Modified quantizer |
US11979572B2 (en) * | 2020-06-22 | 2024-05-07 | Apple Inc. | Adaptive quantizer design for video coding |
US11032546B1 (en) * | 2020-07-20 | 2021-06-08 | Tencent America LLC | Quantizer for lossless and near-lossless compression |
US11652996B2 (en) | 2021-05-25 | 2023-05-16 | Tencent America LLC | Method and apparatus for video coding |
KR102488988B1 (ko) | 2021-06-18 | 2023-01-13 | 이상철 | 자전하며 공전하는 회전날개를 갖는 수평축회전력생성장치 |
US12047589B2 (en) * | 2021-09-30 | 2024-07-23 | Tencent America LLC | Deriving offsets in cross-component transform coefficient level reconstruction |
EP4195666A1 (en) * | 2021-12-08 | 2023-06-14 | Axis AB | An encoding device and a method for encoding an image frame including selective restriction of offset compression values |
CN114051140B (zh) * | 2022-01-07 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备及存储介质 |
US20240129461A1 (en) * | 2022-10-04 | 2024-04-18 | Tencent America LLC | Systems and methods for cross-component sample offset filter information signaling |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112863A1 (en) | 2001-07-12 | 2003-06-19 | Demos Gary A. | Method and system for improving compressed image chroma information |
US7319415B2 (en) | 2002-05-01 | 2008-01-15 | Thomson Licensing | Chroma deblocking filter |
US20060050784A1 (en) * | 2002-11-01 | 2006-03-09 | Ville Lappalainen | Method and device for transcoding images |
US7227901B2 (en) | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
US8014450B2 (en) | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
US8625680B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
JP4407249B2 (ja) | 2003-11-18 | 2010-02-03 | ソニー株式会社 | データ処理装置およびその方法と符号化装置、その方法及びプログラム |
KR100647295B1 (ko) | 2004-11-10 | 2006-11-23 | 삼성전자주식회사 | 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체 |
US7873105B2 (en) * | 2005-04-01 | 2011-01-18 | Broadcom Corporation | Hardware implementation of optimized single inverse quantization engine for a plurality of standards |
US8681867B2 (en) | 2005-10-18 | 2014-03-25 | Qualcomm Incorporated | Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value |
JP4769605B2 (ja) | 2006-03-17 | 2011-09-07 | 富士通株式会社 | 動画像符号装置及び方法 |
US20070230564A1 (en) | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US9445128B2 (en) | 2006-12-08 | 2016-09-13 | Freescale Semiconductor, Inc. | System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers |
US9961372B2 (en) | 2006-12-08 | 2018-05-01 | Nxp Usa, Inc. | Adaptive disabling of deblock filtering based on a content characteristic of video information |
US8634462B2 (en) | 2007-03-13 | 2014-01-21 | Matthias Narroschke | Quantization for hybrid video coding |
US8204129B2 (en) | 2007-03-27 | 2012-06-19 | Freescale Semiconductor, Inc. | Simplified deblock filtering for reduced memory access and computational complexity |
US8724698B2 (en) | 2007-04-13 | 2014-05-13 | Apple Inc. | Method and system for video rate control |
JP2009004920A (ja) * | 2007-06-19 | 2009-01-08 | Panasonic Corp | 画像符号化装置および画像符号化方法 |
US8150187B1 (en) | 2007-11-29 | 2012-04-03 | Lsi Corporation | Baseband signal quantizer estimation |
JP5007259B2 (ja) | 2008-03-27 | 2012-08-22 | ルネサスエレクトロニクス株式会社 | 画像符号化装置 |
US8189677B2 (en) | 2008-04-15 | 2012-05-29 | Sony Corporation | Estimation of P frame average rate quantization parameter (QP) in a group of pictures (GOP) |
US8199823B2 (en) | 2008-04-15 | 2012-06-12 | Sony Corporation | Estimation of B frame average rate quantization parameter (QP) in a group of pictures (GOP) |
US8279924B2 (en) * | 2008-10-03 | 2012-10-02 | Qualcomm Incorporated | Quantization parameter selections for encoding of chroma and luma video blocks |
JP5094760B2 (ja) * | 2009-02-13 | 2012-12-12 | 三菱電機株式会社 | 動画像符号化装置 |
KR101060495B1 (ko) | 2009-03-19 | 2011-08-30 | 주식회사 코아로직 | 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치 |
US20110274162A1 (en) | 2010-05-04 | 2011-11-10 | Minhua Zhou | Coding Unit Quantization Parameters in Video Coding |
JP2011250400A (ja) | 2010-04-27 | 2011-12-08 | Panasonic Corp | 動画像符号化装置及び動画像符号化方法 |
JP2011259362A (ja) | 2010-06-11 | 2011-12-22 | Sony Corp | 画像処理装置および方法 |
US9462280B2 (en) | 2010-12-21 | 2016-10-04 | Intel Corporation | Content adaptive quality restoration filtering for high efficiency video coding |
US9363509B2 (en) * | 2011-03-03 | 2016-06-07 | Electronics And Telecommunications Research Institute | Method for determining color difference component quantization parameter and device using the method |
MY186854A (en) | 2011-03-11 | 2021-08-26 | Sony Corp | Image processing apparatus and method |
US9854275B2 (en) | 2011-06-25 | 2017-12-26 | Qualcomm Incorporated | Quantization in video coding |
JP5770378B2 (ja) | 2011-09-08 | 2015-08-26 | モトローラ モビリティ エルエルシーMotorola Mobility Llc | 係数の矩形ブロックを量子化及び逆量子化するための方法及び機器 |
CN103947208B (zh) | 2011-09-13 | 2017-07-07 | 寰发股份有限公司 | 减少解块滤波器的方法及装置 |
US9485521B2 (en) | 2011-09-19 | 2016-11-01 | Lg Electronics Inc. | Encoding and decoding image using sample adaptive offset with start band indicator |
US8976857B2 (en) | 2011-09-23 | 2015-03-10 | Microsoft Technology Licensing, Llc | Quality-based video compression |
US9185404B2 (en) | 2011-10-07 | 2015-11-10 | Qualcomm Incorporated | Performing transform dependent de-blocking filtering |
US9510020B2 (en) | 2011-10-20 | 2016-11-29 | Qualcomm Incorporated | Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding |
US9167269B2 (en) | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
US9538200B2 (en) | 2012-01-19 | 2017-01-03 | Qualcomm Incorporated | Signaling of deblocking filter parameters in video coding |
CN106131561B (zh) | 2012-01-20 | 2019-10-18 | 维洛媒体国际有限公司 | 解码装置和解码方法 |
US9451258B2 (en) | 2012-04-03 | 2016-09-20 | Qualcomm Incorporated | Chroma slice-level QP offset and deblocking |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9031137B2 (en) | 2012-05-03 | 2015-05-12 | Texas Instruments Incorporated | Signaling signed band offset values for sample adaptive offset (SAO) filtering in video coding |
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 |
CN109068136B (zh) | 2012-12-18 | 2022-07-19 | 索尼公司 | 图像处理装置和图像处理方法、计算机可读存储介质 |
EP2952003B1 (en) | 2013-01-30 | 2019-07-17 | Intel Corporation | Content adaptive partitioning for prediction and coding for next generation video |
GB2512826B (en) | 2013-04-05 | 2017-05-10 | Canon Kk | Method and device for determining the value of a quantization parameter |
US10708588B2 (en) | 2013-06-19 | 2020-07-07 | Apple Inc. | Sample adaptive offset control |
US9510002B2 (en) | 2013-09-09 | 2016-11-29 | Apple Inc. | Chroma quantization in video coding |
US9843812B2 (en) | 2014-05-23 | 2017-12-12 | Sony Corporation | Video transmission system with color gamut partitioning and method of operation thereof |
US10038919B2 (en) | 2014-05-29 | 2018-07-31 | Apple Inc. | In loop chroma deblocking filter |
US9807410B2 (en) | 2014-07-02 | 2017-10-31 | Apple Inc. | Late-stage mode conversions in pipelined video encoders |
WO2016056977A1 (en) | 2014-10-06 | 2016-04-14 | Telefonaktiebolaget L M Ericsson (Publ) | Coding and deriving quantization parameters |
EP3688986B1 (en) | 2018-04-01 | 2021-10-27 | LG Electronics Inc. | An image coding method based on a quantization parameter derivation |
-
2012
- 2012-12-31 US US13/732,356 patent/US9414054B2/en active Active
-
2013
- 2013-07-02 KR KR1020247013354A patent/KR20240058966A/ko active Search and Examination
- 2013-07-02 EP EP19190862.3A patent/EP3582499A1/en active Pending
- 2013-07-02 WO PCT/US2013/049100 patent/WO2014008277A1/en active Application Filing
- 2013-07-02 KR KR1020237020802A patent/KR102660310B1/ko active IP Right Grant
- 2013-07-02 KR KR1020207023553A patent/KR102244926B1/ko active IP Right Grant
- 2013-07-02 EP EP13737506.9A patent/EP2868084B1/en active Active
- 2013-07-02 KR KR1020227004735A patent/KR102547712B1/ko active IP Right Grant
- 2013-07-02 KR KR1020237020809A patent/KR102660891B1/ko active IP Right Grant
- 2013-07-02 KR KR1020237020733A patent/KR102643369B1/ko active IP Right Grant
- 2013-07-02 KR KR1020237020740A patent/KR102660889B1/ko active IP Right Grant
- 2013-07-02 KR KR1020237020719A patent/KR102660282B1/ko active IP Right Grant
- 2013-07-02 KR KR1020147036979A patent/KR102147552B1/ko active IP Right Grant
- 2013-07-02 KR KR1020237020737A patent/KR102660890B1/ko active IP Right Grant
- 2013-07-02 KR KR1020217011550A patent/KR102365388B1/ko active IP Right Grant
- 2013-07-02 CN CN201380045723.7A patent/CN104584559B/zh active Active
- 2013-07-02 JP JP2015520655A patent/JP6270833B2/ja active Active
-
2016
- 2016-07-06 US US15/202,933 patent/US10250882B2/en active Active
-
2019
- 2019-02-15 US US16/277,704 patent/US10491898B2/en active Active
- 2019-10-11 US US16/600,287 patent/US10924740B2/en active Active
-
2021
- 2021-01-11 US US17/145,535 patent/US11457212B2/en active Active
-
2022
- 2022-08-18 US US17/890,496 patent/US20220400262A1/en active Pending
- 2022-09-23 US US17/951,409 patent/US20230023086A1/en active Pending
- 2022-09-23 US US17/951,359 patent/US20230026047A1/en active Pending
- 2022-09-23 US US17/951,446 patent/US20230027377A1/en active Pending
- 2022-09-26 US US17/953,090 patent/US20230029534A1/en active Pending
- 2022-09-26 US US17/953,120 patent/US20230036446A1/en active Pending
- 2022-09-26 US US17/953,145 patent/US20230034128A1/en active Pending
Non-Patent Citations (1)
Title |
---|
Jun XU, et. al., "Chroma QP extension and signalling enhancement", Joint Collaborative Team on Video Coding of ITU-T SG16 WP 3 and ISO/IEC JTC 1/SC 29/ WG 11 9th Meeting, Geneva, 27 April - 7 May, 201* * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11943442B2 (en) | Use of chroma quantization parameter offsets in deblocking | |
US11457212B2 (en) | Control and use of chroma quantization parameter values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |