KR20240073164A - 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 - Google Patents
양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 Download PDFInfo
- Publication number
- KR20240073164A KR20240073164A KR1020247016120A KR20247016120A KR20240073164A KR 20240073164 A KR20240073164 A KR 20240073164A KR 1020247016120 A KR1020247016120 A KR 1020247016120A KR 20247016120 A KR20247016120 A KR 20247016120A KR 20240073164 A KR20240073164 A KR 20240073164A
- Authority
- KR
- South Korea
- Prior art keywords
- chroma
- luma
- component
- information
- mapping table
- Prior art date
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009795 derivation Methods 0.000 title description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 174
- 241000023320 Luma <angiosperm> Species 0.000 claims abstract description 162
- 238000013507 mapping Methods 0.000 claims description 58
- 238000003860 storage Methods 0.000 claims description 7
- 239000000523 sample Substances 0.000 description 94
- 239000013598 vector Substances 0.000 description 54
- 230000006870 function Effects 0.000 description 42
- 238000012546 transfer Methods 0.000 description 34
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
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/189—Methods 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/196—Methods 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
-
- 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/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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/176—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 block, e.g. a macroblock
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 일 실시예에 따르면, 디코딩 장치에 의해 수행되는 픽처 디코딩 방법이 제공된다. 상기 픽처 디코딩 방법은, 양자화 파라미터(QP)에 관한 정보를 포함하는 영상 정보를 디코딩하는 단계; 이용가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하는 단계; 상기 예상 평균 루마값 및 상기 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하는 단계; 상기 QP 오프셋에 기초하여 루마 QP를 도출하는 단계; 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행하는 단계; 역양자화에 기초하여 상기 현재 블록에 대한 레지듀얼 샘플을 생성하는 단계; 상기 영상 정보에 기초하여 상기 현재 블록에 대한 예측 샘플을 생성하는 단계; 및 상기 현재 블록에 대한 상기 레지듀얼 샘플 및 상기 현재 블록에 대한 상기 예측 샘플에 기초하여 상기 현재 블록에 대한 복원 샘플을 생성하는 단계를 포함한다.
Description
본 발명은 영상 코딩 기술에 관한 것이다. 보다 구체적으로, 본 발명은 영상 코딩 시스템에서 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법에 관한 것이다.
고화질(High Definition, HD) 영상 및 초고화질(Ultra High Definition, UHD) 영상과 같은 고해상도 및 고품질의 영상에 대한 요구가 최근 다양한 분야에서 증가하고 있다. 이러한 영상 데이터는 고해상도 및 고품질을 갖기 때문에, 전송될 정보 또는 비트의 양은 기존 이미지 데이터에 비하여 증가한다. 따라서, 유/무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 저장하는 경우, 전송 비용 및 저장 비용이 증가될 수 있다.
따라서, 고해상도 및 고품질의 영상의 정보를 효율적으로 전송, 저장, 및 재생하기 위한 고효율 영상 압축 기술이 요구되고 있다.
본 발명은 비디오 코딩 효율을 향상시키기 위한 방법 및 장치를 제공한다.
또한, 본 발명은 양자화 효율을 증가시키기 위한 방법 및 장치를 제공한다.
또한, 본 발명은 양자화 파라미터를 효율적으로 도출하기 위한 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따르면, 디코딩 장치에 의해 수행되는 픽처 디코딩 방법이 제공된다. 상기 픽처 디코딩 방법은, 양자화 파라미터(QP)에 관한 정보를 포함하는 영상 정보를 디코딩하는 단계; 이용가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하는 단계; 상기 예상 평균 루마값 및 상기 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하는 단계; 상기 QP 오프셋에 기초하여 루마 QP를 도출하는 단계; 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행하는 단계; 역양자화에 기초하여 상기 현재 블록에 대한 레지듀얼 샘플을 생성하는 단계; 상기 영상 정보에 기초하여 상기 현재 블록에 대한 예측 샘플을 생성하는 단계; 및 상기 현재 블록에 대한 상기 레지듀얼 샘플 및 상기 현재 블록에 대한 상기 예측 샘플에 기초하여 상기 현재 블록에 대한 복원 샘플을 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 픽처를 디코딩하는 디코딩 장치가 제공된다. 상기 디코딩 장치는 양자화 파라미터(QP)에 관한 정보를 포함하는 영상 정보를 디코딩하도록 구성된 엔트로피 디코딩 모듈; 이용 가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하고, 상기 예상 평균 루마값 및 상기 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하고, 상기 QP 오프셋에 기초하여 루마 QP를 도출하고, 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행하도록 구성된 역양자화 모듈; 상기 역양자화에 기초하여 상기 현재 블록에 대한 레지듀얼 샘플을 생성하도록 구성된 역변환 모듈; 상기 영상 정보에 기초하여 상기 현재 블록에 대한 예측 샘플을 생성하도록 구성된 예측 모듈; 및 상기 현재 블록에 대한 상기 레지듀얼 샘플 및 상기 현재 블록에 대한 상기 예측 샘플에 기초하여 상기 현재 블록에 대한 복원 샘플을 생성하도록 구성된 복원 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 인코딩 장치에 의해 수행되는 픽처 인코딩 방법이 제공된다. 상기 픽처 인코딩 방법은, 이용 가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하는 단계; 상기 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하는 단계; 상기 QP 오프셋에 기초하여 루마 QP를 도출하는 단계; 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 양자화를 수행하는 단계; 및 상기 QP에 관한 정보를 포함하는 영상 정보를 인코딩하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 픽처를 인코딩하는 인코딩 장치가 제공된다. 상기 인코딩 장치는, 이용 가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하고, 상기 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하고, 상기 QP 오프셋에 기초하여 루마 QP를 도출하고, 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 양자화를 수행하도록 구성된 양자화 모듈; 및 상기 QP에 관한 정보를 포함하는 영상 정보를 인코딩하도록 구성된 엔트로피 인코딩 모듈을 포함한다.
본 발명에 따르면, 전체적인 영상/비디오 압축 효율을 증가시킬 수 있다.
본 발명에 따르면, 양자화 효율을 증가시킬 수 있다.
본 발명에 따르면, 양자화 파라미터를 효율적으로 도출할 수 있다.
도 1은 일 실시예에 따른 인코딩 장치의 구성을 나타내는 개략도이다.
도 2는 일 실시예에 따른 디코딩 장치의 구성을 나타내는 개략도이다.
도 3은 색도도(chromaticity diagram)의 일 예를 나타낸다.
도 4는 SDR 및 HDR 표현을 위한 선형 광값들의 매핑의 예를 도시한다.
도 5는 일 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
도 6은 다른 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
도 7은 일 실시예에 따른 인코딩 장치의 동작을 나타내는 플로우차트이다.
도 8은 일 실시예에 따른 인코딩 장치의 구성을 나타내는 블록도이다.
도 9는 일 실시예에 따른 디코딩 장치의 동작을 나타내는 플로우차트이다.
도 10은 일 실시예에 따른 디코딩 장치의 구성을 나타내는 블록도이다.
도 2는 일 실시예에 따른 디코딩 장치의 구성을 나타내는 개략도이다.
도 3은 색도도(chromaticity diagram)의 일 예를 나타낸다.
도 4는 SDR 및 HDR 표현을 위한 선형 광값들의 매핑의 예를 도시한다.
도 5는 일 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
도 6은 다른 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
도 7은 일 실시예에 따른 인코딩 장치의 동작을 나타내는 플로우차트이다.
도 8은 일 실시예에 따른 인코딩 장치의 구성을 나타내는 블록도이다.
도 9는 일 실시예에 따른 디코딩 장치의 동작을 나타내는 플로우차트이다.
도 10은 일 실시예에 따른 디코딩 장치의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따르면, 디코딩 장치에 의해 수행되는 픽처 디코딩 방법이 제공된다. 상기 픽처 디코딩 방법은, 양자화 파라미터(QP)에 관한 정보를 포함하는 영상 정보를 디코딩하는 단계; 이용가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하는 단계; 상기 예상 평균 루마값 및 상기 QP에 관한 정보에 기초하여 루마 양자화 파라미터(루마 QP)를 도출하기 위한 양자화 파라미터 오프셋(QP 오프셋)을 도출하는 단계; 상기 QP 오프셋에 기초하여 루마 QP를 도출하는 단계; 상기 도출된 루마 QP에 기초하여 상기 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행하는 단계; 역양자화에 기초하여 상기 현재 블록에 대한 레지듀얼 샘플을 생성하는 단계; 상기 영상 정보에 기초하여 상기 현재 블록에 대한 예측 샘플을 생성하는 단계; 및 상기 현재 블록에 대한 상기 레지듀얼 샘플 및 상기 현재 블록에 대한 상기 예측 샘플에 기초하여 상기 현재 블록에 대한 복원 샘플을 생성하는 단계를 포함한다.
본 발명은 다양한 형태로 변형될 수 있으며, 구체적인 실시예를 도면에 예시하고 상세히 설명한다. 그러나, 상기 실시예는 본 발명을 한정하기 위한 것은 아니다. 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로, 본 발명을 한정하려는 것은 아니다. 단수의 표현은 명백한 다른 의미가 없는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다"의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 나타내는 것이며, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성요소들은 영상 코딩/디코딩 장치의 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성요소들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예를 들어, 각 구성요소 중 두 개 이상의 구성요소가 합쳐져 하나의 구성요소를 이룰 수도 있고, 하나의 구성요소가 복수의 구성요소로 나뉘어질 수도 있다. 각 구성요소가 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 또한, 도면 전체에 걸쳐 동일한 구성요소에 대해서는 동일한 참조 부호가 사용되며, 동일한 구성요소에 대한 중복 설명은 생략한다.
본 명세서는 비디오 또는 영상을 처리하는 기술 분야에 적용될 수 있다. 예를 들어, 이하의 설명에 개시된 방법 또는 실시예는 다용도 비디오 코딩(Versatile Video Coding, VVC) 표준(ITU-T Rec. H.266), VVC 이후의 차세대 비디오/영상 코딩 표준, 또는 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 표준(ITU-T Rec. H.265)과 같은 VVC 이전의 비디오/영상 코딩 표준 등 다양한 비디오 코딩 표준에 적용될 수 있다.
본 명세서에서 비디오는 시간에 따른 영상들의 집합을 의미할 수 있다. 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다. 또한, "영상"이라는 용어는 정지 영상 및 시간의 흐름에 따른 정지 영상들의 집합인 비디오를 포함하는 개념을 의미할 수 있다. 또한, "비디오"는 반드시 시간에 따른 정지 영상들의 집합을 의미하는 것은 아니며, 일부 실시예에서 정지 영상의 의미를 포함하는 개념으로 해석될 수 있다.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)의 최소 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 크로마(chroma) 성분의 픽셀/픽셀값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 상기 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적으로, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 일 실시예에 따른 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
이하, 인코딩/디코딩 장치는 비디오 인코딩/디코딩 장치 및/또는 영상 인코딩/디코딩 장치를 포함할 수 있다. 비디오 인코딩/디코딩 장치는 영상 인코딩/디코딩 장치를 포함하는 개념으로 사용될 수 있고, 영상 인코딩/디코딩 장치는 비디오 인코딩/디코딩 장치를 포함하는 개념으로 사용될 수 있다.
도 1을 참조하면, 인코딩 장치(100)는 픽처 분할 모듈(105), 예측 모듈(110), 레지듀얼 처리 모듈(120), 엔트로피 인코딩 모듈(130), 가산기(140), 필터 모듈(150), 및 메모리(160)를 포함할 수 있다. 상기 레지듀얼 처리 모듈(120)은 감산기(121), 변환 모듈(122), 양자화 모듈(123), 재정렬 모듈(124), 역양자화 모듈(125), 및 역변환 모듈(126)을 포함할 수 있다.
상기 픽처 분할 모듈(105)은 입력된 픽처를 적어도 하나의 처리 유닛으로 분할할 수 있다.
일예로, 상기 처리 유닛은 코딩 유닛(coding unit, CU)으로 지칭될 수 있다. 이 경우, 상기 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 쿼드 트리 구조 (quad-tree binary-tree, QTBT) 구조에 따라 재귀적으로 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조, 이진 트리 구조, 및/또는 터너리 트리 구조를 기초로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다.
이 경우, 예를 들어, 쿼드 트리 구조가 먼저 적용되고, 이진 트리 구조 및 터너리 트리 구조가 나중에 적용될 수 있다. 또는 이진 트리 구조/터너리 트리 구조가 먼저 적용될 수 있다. 본 발명에 따른 코딩 절차는 더 이상 분할되지 않은 최종 코딩 유닛을 기초로 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기초로 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 코딩 유닛이 보다 하위 뎁스의 코딩 유닛들로 재귀적으로 분할되어 최종 코딩 유닛으로 사용될 수 있다. 여기서, 상기 코딩 절차는 후술될 예측, 변환, 및 복원과 같은 절차를 포함할 수 있다.
다른 예로서, 상기 처리 유닛은 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU), 또는 변환 유닛(transform unit, TU)을 포함할 수 있다. 상기 코딩 유닛은 최대 코딩 유닛(LCU)으로부터 쿼드 트리 구조를 따라 하위(deeper) 뎁스의 코딩 유닛들로 분할될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기초로 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 코딩 유닛이 보다 하위 뎁스의 코딩 유닛들로 재귀적으로 분할되어 최종 코딩 유닛으로 사용될 수 있다. 최소 코딩 유닛(smallest coding unit, SCU)이 설정된 경우 상기 코딩 유닛은 상기 최소 코딩 유닛보다 더 작은 코딩 유닛으로 분할될 수 없다.
여기서 용어 "최종 코딩 유닛"은 상기 예측 유닛 또는 상기 변환 유닛으로 파티셔닝 또는 분할되는 기반이 되는 코딩 유닛을 의미한다. 예측 유닛은 코딩 유닛으로부터 파티셔닝(partitioning)되는 유닛으로서, 샘플 예측의 유닛일 수 있다. 이 때, 상기 예측 유닛은 서브 블록(sub block)으로 나뉠 수도 있다. 상기 변환 유닛은 상기 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할될 수 있으며, 변환 계수를 도출하는 유닛 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 도출하는 유닛일 수 있다.
이하, 상기 코딩 유닛은 코딩 블록(coding block, CB)으로, 상기 예측 유닛은 예측 블록(prediction block, PB)으로, 상기 변환 유닛은 변환 블록(transform block, TB)으로 지칭될 수 있다. 상기 예측 블록 또는 상기 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 상기 변환 블록 또는 상기 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
상기 예측 모듈(110)은 현재 블록 또는 레지듀얼 블록을 예측하고, 현재 블록의 예측 샘플들을 포함하는 예측 블록을 생성한다. 상기 예측 모듈(110)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
상기 예측 모듈(110)은 현재 블록 또는 레지듀얼 블록을 예측하고, 현재 블록의 예측 샘플들을 포함하는 예측 블록을 생성한다. 상기 예측 모듈(110)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
상기 예측 모듈(110)은 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 예를 들어, 상기 예측 모듈(110)은 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 상기 예측 모듈(110)은 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기초로 현재 블록에 대한 예측 샘플을 도출할 수 있다.
이 경우, 상기 예측 모듈(110)은 (i) 현재 블록의 인접(neighboring) 참조 샘플들의 평균(average) 혹은 보간(interpolation)을 기반으로 예측 샘플을 도출할 수 있고, (ii) 현재 블록의 인접 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기초로 예측 샘플을 도출할 수 있다.
(i)의 경우는 비방향성 모드 또는 비각도 모드로 지칭될 수 있으며, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드로 지칭될 수 있다. 인트라 예측에서 예측 모드는 예를 들어 65개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 상기 예측 모듈(110)은 인접 블록에 적용된 예측 모드를 이용하여 현재 블록에 적용되는 예측 모드를 결정할 수 있다.
인터 예측의 경우, 상기 예측 모듈(110)은 참조 픽처 상의 움직임 벡터에 의해 특정되는 샘플을 기초로, 현재 블록에 대한 예측 샘플을 도출할 수 있다. 상기 예측 모듈(110)은 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 도출할 수 있다. 스킵 모드와 머지 모드의 경우에, 상기 예측 모듈(110)은 인접 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 인접 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터를 도출할 수 있다.
인터 예측의 경우에, 인접 블록은 현재 픽처 내에 존재하는 공간적 인접 블록(spatial neighboring block)과 참조 픽처(reference picture) 내에 존재하는 시간적 인접 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 인접 블록을 포함하는 상기 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 상기 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.
스킵 모드와 머지 모드에서 시간적 인접 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다. 픽처 순서 카운트(Picture Order Count, POC)에 포함되는 상기 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC 차이를 기초로 정렬될 수 있다. 상기 POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
상기 감산기(121)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
상기 변환 모듈(122)은 변환 블록 단위로 상기 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 상기 변환 모듈(122)은 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다.
예를 들어, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되고, 상기 변환 블록이 4Х4의 레지듀얼 어레이(array)라면, 상기 레지듀얼 샘플은 이산 사인 변환(Discrete Sine Transform, DST)을 이용하여 변환되고, 그 외의 경우라면 상기 레지듀얼 샘플은 이산 코사인 변환(Discrete Cosine Transform, DCT)을 이용하여 변환될 수 있다.
상기 양자화 모듈(123)은 상기 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다.
상기 재정렬 모듈(124)은 양자화된 변환 계수를 재정렬한다. 상기 재정렬 모듈(124)은 계수들의 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 상기 재정렬 모듈(124)은 별도의 구성으로 설명하였으나, 상기 재정렬 모듈(124)은 상기 양자화 모듈(123)의 일부일 수 있다.
상기 엔트로피 인코딩 모듈(130)은 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), 문맥 기반 적응적 가변 길이 코딩 (context-adaptive variable length coding, CAVLC), 문맥 기반 적응적 이진 산술 코딩 (context-adaptive binary arithmetic coding, CABAC) 등과 같은 인코딩 방법을 포함할 수 있다. 상기 엔트로피 인코딩 모듈(130)은 양자화된 변환 계수와 비디오 복원에 필요한 정보들(예를 들어, 신택스 엘리먼트(syntax element)의 값 등)을 함께 또는 별도로 엔트로피 인코딩 또는 소정의 방법에 의해 인코딩할 수 있다.
엔트로피 인코딩에 의해 인코딩된 상기 정보들은 비트스트림 형태로 네트워크 추상화 계층(network abstraction layer, NAL) 유닛 단위로 전송 또는 저장될 수 있다. 상기 비트 스트림은 네트워크를 통해 전송되거나 디지털 저장 매체에 저장될 수 있다. 상기 네트워크는 방송 네트워크 및/또는 통신 네트워크를 포함할 수 있고, 상기 디지털 저장 매체는 USB, SD, CD, DVD, 블루 레이, HDD, 및 SSD 등의 다양한 저장 매체를 포함할 수 있다.
상기 역양자화 모듈(125)은 상기 양자화 모듈(123)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 상기 역변환 모듈(126)는 상기 역양자화 모듈(125)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.
상기 가산기(140)는 상기 레지듀얼 샘플과 상기 예측 샘플을 합쳐서 픽처를 복원한다. 상기 레지듀얼 샘플과 상기 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기에서, 상기 가산기(140)는 상기 예측 모듈(110)의 일부일 수 있다. 한편, 상기 가산기(140)는 복원 모듈 또는 복원 블록 생성부로 불릴 수 있다.
상기 필터 모듈(150)은 상기 복원 픽처에 대하여 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 상기 복원 픽처내 블록 경계의 아티팩트 또는 양자화 프로세스에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 프로세스가 완료된 후 적용될 수 있다. 상기 필터 모듈(150)은 적응적 루프 필터(Adaptive Loop Filter, ALF)를 상기 복원 픽처에 적용할 수도 있다. 상기 ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원 픽처에 대하여 적용될 수 있다.
상기 메모리(160)는 상기 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기에서, 상기 복원 픽처는 상기 필터 모듈(150)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 이용될 수 있다. 예를 들어, 상기 메모리(160)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
도 2는 실시예에 따른 디코딩 장치의 구성을 개략적으로 설명한다.
도 2를 참조하면, 디코딩 장치(200)는 엔트로피 디코딩 모듈(210), 레지듀얼 처리 모듈(220), 예측 모듈(230), 가산기(240), 필터 모듈(250), 및 메모리(260)를 포함한다. 여기에서, 상기 레지듀얼 처리 모듈(220)은 재배열 모듈(221), 역양자화 모듈(222), 및 역변환 모듈(223)을 포함할 수 있다. 또한, 도시되지는 않지만, 상기 비디오 디코딩 장치(200)는 비디오 정보를 포함하는 비트 스트림을 수신하기 위한 수신기를 포함할 수 있다. 상기 수신기는 별도의 모듈일 수 있거나 상기 엔트로피 디코딩 모듈(210)에 포함될 수 있다.
비디오/영상 정보를 포함하는 비트 스트림이 입력되면, 상기 (비디오) 디코딩 장치(200)는 상기 (비디오) 인코딩 장치(100)에서 비디오/영상 정보가 처리되는 프로세스에 응답하여 비디오/영상/픽처를 복원할 수 있다.
예를 들어, 상기 비디오 디코딩 장치(200)는 상기 비디오 인코딩 장치에 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서, 비디오 디코딩의 처리 유닛 블록은 예를 들어 코딩 유닛일 수 있으며, 다른 예로서, 코딩 유닛, 예측 유닛, 또는 변환 유닛일 수 있다. 상기 코딩 유닛은 최대 코딩 유닛으로부터 쿼드 트리 구조, 이진 트리 구조, 및/또는 터너리 트리 구조를 따라 분할될 수 있다.
예측 유닛 및 변환 유닛이 경우에 따라 더 이용될 수도 있다. 상기 예측 유닛 블록은 상기 코딩 유닛으로부터 도출 또는 파티셔닝되는 블록일 수 있다. 상기 변환 유닛은 상기 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할될 수 있으며, 변환 계수를 도출하는 유닛 또는 변환 계수로부터 레지듀얼 신호를 도출하는 유닛일 수 있다.
상기 엔트로피 디코딩 모듈(210)은 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예를 들어, 상기 엔트로피 디코딩 모듈(210)는 지수 골롬 코딩(exponential Golomb coding), CAVLC, 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내의 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값 및 레지듀얼에 관련된 양자화된 변환 계수의 값을 계산한다.
보다 상세하게, 상기 CABAC 엔트로피 디코딩 방법은, 비트스트림 내의 각 신택스 엘리먼트에 해당하는 빈(bin)을 수신하고, 디코딩 대상 신택스 엘리먼트와 디코딩 대상의 디코딩 정보를 기초로 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하고, 빈의 산술 디코딩(arithmetic decoding)를 수행함으로써, 각 신택스 엘리먼트의 값에 해당하는 심볼을 생성할 수 있다. 이때, 상기 CABAC 엔트로피 디코딩 방법은 상기 문맥 모델을 결정한 후 다음 심볼/빈의 문맥 모델을 위하여 상기 디코딩된 심볼/빈의 정보를 이용하여 상기 문맥 모델을 업데이트할 수 있다.
상기 엔트로피 디코딩 모듈(210)에서 디코딩된 정보 중 예측에 관한 정보는 상기 예측 모듈(230)로 제공되고, 상기 엔트로피 디코딩 모듈(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값은 상기 재정렬 모듈(221)로 입력될 수 있다.
상기 재정렬 모듈(221)은 상기 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 상기 재정렬 모듈(221)은 상기 인코딩 장치에서 수행된 계수 스캐닝에 응답하여 재정렬을 수행할 수 있다. 상기 재정렬 모듈(221)은 별도의 구성으로 설명하였으나, 상기 재정렬 모듈(221)은 상기 역양자화 모듈(222)의 일부일 수 있다.
상기 역양자화 모듈(222)은 (역)양자화 파라미터를 기초로 상기 양자화된 변환 계수들을 역양자화하여 상기 역양자화된 변환 계수들을 출력할 수 있다. 이 때, 상기 양자화 파라미터를 도출하기 위한 정보는 상기 인코딩 장치로부터 시그널링될 수 있다.
상기 역변환 모듈(223)은 상기 변환 계수들을 역변환하여 상기 레지듀얼 샘플들을 도출할 수 있다.
상기 예측 모듈(230)은 현재 블록을 예측하고, 상기 현재 블록의 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 상기 예측 모듈(230)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
상기 예측 모듈(230)은 상기 예측 정보를 기초로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 경우, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위는 예측 샘플을 생성하는 단위와 상이할 수 있다. 또한, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정될 수 있다. 또한, 예를 들어, 인터 예측에 있어서 예측 모드를 PU 단위로 결정하고 예측 샘플들을 생성할 수 있다. 인트라 예측에 있어서 예측 모드를 PU 단위로 결정하고 예측 샘플들을 TU 단위로 생성할 수도 있다.
인트라 예측의 경우에, 상기 예측 모듈(230)은 현재 픽처 내의 인접 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 도출할 수 있다. 상기 예측 모듈(230)은 현재 블록의 주변 참조 샘플을 기초로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 도출할 수 있다. 이 경우, 인접 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우, 상기 예측 모듈(230)은 참조 픽처 상의 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기초로 현재 블록에 대한 예측 샘플을 도출할 수 있다. 상기 예측 모듈(230)은 스킵(skip) 모드, 머지(merge) 모드, 또는 MVP 모드를 적용하여 현재 블록에 대한 예측 샘플을 도출할 수 있다. 이때, 상기 인코딩 장치에 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예를 들면, 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측 정보를 기초로 획득 또는 도출될 수 있다.
스킵 모드와 머지 모드의 경우, 인접 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 경우, 인접 블록은 공간적 인접 블록과 시간적 인접 블록을 포함할 수 있다.
상기 예측 모듈(230)은 이용가능한 인접 블록의 움직임 정보를 이용하여 머지 후보 리스트를 구성하고, 상기 머지 후보 리스트 상에서 머지 인덱스가 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 상기 머지 인덱스는 상기 인코딩 장치로부터 시그널링될 수 있다. 상기 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 인접 블록의 움직임 정보가 이용되는 경우에, 상기 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 상기 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)가 전송되지 않는다.
MVP 모드의 경우, 인접 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 도출될 수 있다. 이 경우, 상기 인접 블록은 공간적 인접 블록과 시간적 인접 블록을 포함할 수 있다.
예를 들어, 머지 모드가 적용되는 경우, 복원된 공간적 인접 블록의 움직임 벡터 및/또는 시간적 인접 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 상기 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 상기 예측 모듈(230)은 상기 머지 인덱스를 이용하여 현재 블록의 움직임 벡터를 도출할 수 있다.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 인접 블록의 움직임 벡터 및/또는 시간적 인접 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성된다. 즉, 복원된 공간적 인접 블록의 움직임 벡터 및/또는 시간적 인접 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다.
이 때, 상기 예측 모듈(230)은 상기 움직임 벡터 인덱스를 이용하여, 상기 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 상기 인코딩 장치의 상기 예측 모듈은 현재 블록의 움직임 벡터와 상기 움직임 벡터 예측자 간의 움직임 벡터 차분(Motion Vector Difference, MVD)을 구할 수 있고, MVD를 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 경우, 상기 예측 모듈(230)은 상기 예측 정보에 포함된 상기 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 상기 예측 모듈은 상기 예측 정보로부터 참조 픽처를 지시하는 참조 픽처 인덱스 등을 획득 또는 도출할 수 있다.
상기 가산기(240)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 상기 가산기(240)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수 있다. 스킵 모드가 적용된 경우, 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기에서, 상기 가산기(240)를 별도의 구성으로 설명하였으나, 상기 가산기(240)는 상기 예측 모듈(230)의 일부일 수도 있다. 한편, 상기 가산기(240)는 재구성 모듈 또는 재구성 블록 생성부로 지칭될 수 있다.
상기 필터 모듈(250)은 디블록킹 필터, 샘플 적응적 오프셋, 및/또는 ALF 등을 상기 복원 픽처에 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수 있다.
상기 메모리(260)는 복원 픽처(디코딩된 픽처) 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기에서, 상기 복원 픽처는 상기 필터 모듈(250)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예를 들어, 상기 메모리(260)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다. 상기 복원 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 상기 메모리(260)는 상기 복원 픽처를 출력 순서에 따라서 출력할 수 있다.
도 3은 색도도(chromaticity diagram)의 일 예를 도시한다.
본 실시예는 비디오 코딩에 관한 것으로, 특히, 규정된 또는 예상된 휘도 전달 함수, 비디오의 동적 범위, 및 코딩 블록의 휘도값과 같은 주어진 조건에 따라 비디오 코딩을 최적화하는 기술에 관한 것이다.
본 명세서에서 사용되는 "휘도 전달 함수"는 광학-전기 전달 함수(optical-electro transfer function, OETF) 또는 전기-광학 전달 함수(electro-optical transfer function, EOTF)를 지칭할 수 있다. 광학-전기 전달 함수와 전기-광학 전달 함수가 서로 정확한 역함수가 아니어도, 광학-전기 전달 함수는 역 전기-광학 전달 함수로 지칭될 수 있고, 전기-광학 전달 함수는 역 광학-전기 전달 함수로 지칭될 수 있다.
본 명세서에서 기술되는 기술은 디지털 코드 워드에 대한 휘도값의 매핑이 동등한 중요도로 고려되지 않을 때 발생하는 비최적(non-optimal) 비디오 코딩 성능을 보상하기 위해 사용될 수 있다. 예를 들어, 실제로 OETF는 밝은 영역에 비해 어두운 영역에(또는 그 반대로) 더 많은 비트를 허용한다. 이 경우, 모든 디지털 코드 워드가 동등한 중요도로 코딩되는 가정에 기초하여 설계된 비디오 인코더/디코더는 일반적으로 최적의 방식으로 비디오 코딩을 수행하지 않을 수 있다.
본 개시의 기술은 ITU-T H.264 표준 및 ITU-T H.265 표준과 관련하여 설명되지만, 본 개시의 기술은 일반적으로 어느 비디오 코딩 표준에도 적용이 가능함을 유의해야 한다.
비디오 압축 기술은 디지털 텔레비전, 데스크탑 컴퓨터, 휴대형 컴퓨터, 태블릿 컴퓨터, 디지털 기록 장치, 디지털 미디어 플레이어, 비디오 게임 장치, 스마트 폰 등을 포함하는 광범위한 장치들에 사용되고 있다. 디지털 비디오는 ISO/IEC MPEG-4 AVC로 알려진 ITU-T H.264 및 고효율 비디오 코딩(High Efficiency Video Coding, HEVC)와 같은 비디오 코딩 표준에 따라 코딩될 수 있다. 비디오 코딩 표준은 특정 포맷(즉, YUV420)이 코딩될 수 있도록 한다.
종래의 디지털 비디오 카메라는 각 영상 센서에 의해 생성된 신호에 대응하는 미가공 데이터를 초기에 생성한다. 예를 들어, 디지털 영상 캡처 장치는 선형적으로 연관된 휘도값들의 집합으로서 영상을 기록한다. 하지만, 인간의 시력은 휘도값의 선형적인 변화를 인식하지 못한다. 즉, 예를 들어, 100 cd/m2의 휘도값과 연관된 영상의 영역은 200 cd/m2의 휘도값과 연관된 영상의 영역보다 반드시 2배 밝은 것으로 인식될 필요는 없다. 이와 같이, 휘도 전달 함수(예를 들어, 광학-전기 전달 함수(OETF) 또는 전기-광학 전달 함수(EOTF))는 선형 휘도 데이터를 의미있는 방식으로 인식될 수 있는 데이터로 변환하는데 사용될 수 있다. 광학-전기 전달 함수(OETF)는 절대 선형 휘도값을 디지털 코드 워드에 비선형 방식으로 매핑할 수 있다. 그 결과, 디지털 코드 워드는 비디오 코딩 표준에 의해 지원되는 비디오 포맷으로 변환될 수 있다.
종래의 텔레비전 비디오 분배 환경과 같은 종래의 비디오 코딩/디스플레이 시스템은 표준 동적 범위(Standard Dynamic Range, SDR)를 제공하며, 일반적으로 약 0.1 내지 100 cd/m2(종종 "니트(nit)"로 나타냄)의 밝기 범위를 지원한다. 이 범위는 실생활에서 접하는 범위보다 훨씬 작다. 예를 들어, 전구는 10,000 cd/m2 이상의 밝기를 가질 수 있고, 햇살 속의 표면은 수십만 cd/m2 이상의 밝기를 가질 수 있는 반면, 밤하늘은 0.005 cd/m2 이하의 밝기를 가질 수 있다.
최근 LCD 및 OLED 디스플레이가 널리 사용되어 왔으며, 이러한 장치의 기술은 더 높은 휘도와 넓은 색 공간의 재현을 가능하게 한다. 다양한 디스플레이의 실현 및 희망 가능한 밝기 및 동적 범위는 종래의 (SDR) 캡처링 및 생성 장치의 밝기 및 동적 범위와 크게 다를 수 있다. 예를 들어, 컨텐츠 생성 시스템은 1,000,000:1의 콘트라스트를 가진 컨텐츠를 생성 또는 캡처할 수 있다. 텔레비전 및 기타 비디오 분배 환경은 실제 경험에 더 가까운 시각 효과를 제공하여 사용자에게 더 강한 "현실감"을 제공 할 것으로 기대된다. 기존의 SDR 밝기 범위(0.1 내지 100 cd/m2) 대신에 더 높은 밝기 범위(0.005 내지 10,000 cd/m2)가 고려될 수 있다. 예를 들어, 0.01 cd/m2의 최소 밝기 및 2,000 cd/m2의 최대 밝기를 지원하는 디스플레이에 HDR 컨텐츠가 표시될 때, 그 디스플레이는 200,000:1의 동적 범위를 갖는다. 하나의 장면의 동적 범위는 최대 광강도 대 최소 광강도의 비율로 설명될 수 있다.
또한, 초고선명 텔레비전(Ultra High Definition Television, UHDTV)은 사용자에게 "현실감"을 제공하는 것을 목표로 한다. 오늘날의 TV 보다 더 높은 피크 밝기와 더 큰 콘트라스트값을 갖는 콘텐츠를 생성, 캡처링 및 표시하지 않으면, 해상도를 높이는 것만으로는 이러한 목표를 달성하기에 충분하지 않을 수 있다. 또한, 현실감을 높이려면 오늘날 일반적으로 사용되는 색영역(colour gamuts), 예를 들어, BT.709에서 제공하는 것보다 더 풍부한 색상을 렌더링해야 한다. 따라서 새로운 콘텐츠는 수십 배 더 큰 밝기와 콘트라스트를 가질뿐만 아니라 훨씬 더 넓은 색영역(예를 들면, BT.2020 또는 미래에는 더 넓은 색영역)을 가진다. 다양한 색영역 범위가 도 3에 도시되어 있다.
이 최신 기술 발전을 넘어서, HDR(High Dynamic Range) 영상/비디오 재생은 이제 생산측과 소비자측 모두에 적합한 전송 함수(OETF/EOTF)를 사용하여 달성할 수 있다.
도 4는 SDR 및 HDR 표현을 위한 선형 광값들의 매핑의 예를 도시한다.
전달 함수는 실수(부동 소수점) 범위 [0.0, 1.0]에서 입력과 출력간의 매핑으로 설명할 수 있다. HDR 데이터에 대응하는 휘도 변환 함수의 일례는 소위 SMPTE(Society of Movie Picture and Television) HDR(High Dynamic Range) 전송 함수를 포함하며, 이는 SMPTE ST 2084로 지칭될 수 있다. HDR 데이터에 대응하는 휘도 변환 함수의 다른 예는 HDR 신호(ITU-R BT.2100이라고도 함)에 대한 하이브리드 로그 감마 전송 함수를 포함한다. 구체적으로, SMPTE HDR 전송 함수는 EOTF 및 역-EOTF를 포함한다. SMPTE ST 2084 역-EOTF는 다음의 수학식에 따라 설명된다.
[수학식 1]
Lc = R/10,000
[수학식 2]
V = ((c1+c2* Lc n)/(1+c3*Lc n))m
수학식 1 및 수학식 2에서, c1=c3-c2+1=3424/4096=0.8359375, c2=32*2413/4096=18.8515625, c3=32*2392/4096=18.6875, m=128*2523/4096=78.84375, n=0.25*2610/4096=0.1593017578125이다.
SMPTE ST 2084 EOTF는 다음의 수학식에 따라 설명될 수 있다.
[수학식 3]
Lc = ((max[(V1/m--c1), 0])/(c2-c3*V1/m)) 1/n
[수학식 4]
R = 10,000*Lc
상기 수학식에서, R은 0 내지 10,000 cd/m2의 예상 범위를 갖는 휘도값이다. 예를 들어, 1과 동일한 Lc는 10,000 cd/m2의 휘도 레벨에 대응하기 위한 것이다. R은 절대 선형 휘도값을 나타낼 수 있다. 또한, 상기 수학식에서, V는 휘도값(또는 지각 곡선값)으로 지칭될 수 있다. OETF는 지각 곡선값을 디지털 코드 워드에 매핑할 수 있다. 따라서, V는 2N-비트 코드 워드에 매핑될 수 있다. V를 N-비트 코드 워드에 매핑하는데 사용될 수 있는 함수의 예는 다음과 같이 정의될 수 있다.
[수학식 5]
디지털 값 = INT ((2N-1)*V)
수학식 5에서, INT(x)는 0.5 보다 작은 분수값을 내림하고 0.5 보다 크거나 같은 분수값을 반올림하여 정수값을 생성한다.
하나의 설명예로서,도 4는 BT.709 스타일 전달 함수(녹색 곡선)를 가지며 0.1 내지 100 cd/m2를 나타낼 수 있는 8 비트 SDR 시스템과, 다른 전송 함수(SMPTE ST 2084)를 가지며 0.005 내지 10,000 cd/m2를 나타낼 수 있는 10 비트 HDR 시스템을 비교한다. 이 도표들은 대략적인 도표이다. 이 도표들은 정확한 형태의 곡선을 포착하는 것이 아니고, 단지 설명의 목적으로 표현된다. 도 4에서, 가로축은 정수 코드 레벨을 나타내고, 세로축은 선형 광값(log10으로 조정됨)을 나타낸다. 이 예시적인 매핑은 풋룸(foot-room)([0.0, 1.0] 실수 범위 미만의 "음수" 샘플)과 헤드룸(head-room)(실수 1.0 이상의 샘플)을 모두 수용하기 위한 종래의 코드 레벨 범위 비율을 포함한다. 설계 특성으로 인해 여기에 표시된 10비트 HDR 전송 함수는 기존의 8비트 SDR 전송 함수가 SDR 범위에서 [16~235]의 코드 레벨을 할당하는 것 보다 약 2배 많은 코드 레벨 [119~509]을 할당하는 한편, 밝기를 확장하기 위해 유사한 개수의 새로운 코드 레벨 [510~940]을 제공한다. 0.01 cd/m2 미만의 더 어두운 광강도를 위해 새로운 코드 레벨 [64~118]이 할당된다.
어떤 의미에서, 여기에 설명된 10비트 HDR 시스템은, 기존의 SDR 강도 범위 내에서 대략 1개의 추가 비트 정밀도를 할당하는 한편 다른 추가 비트를 적용하여 곡선을 100 cd/m2보다 큰 밝기 강도로 확장함으로써, 기존 소비자측 8비트 "SDR" 비디오에 추가 2 비트를 분배한다. 비교를 위해 10비트 SDR 전송 함수도 표시된다(적색 대시 곡선).
현재의 비디오 코딩 표준은 휘도 전달 함수를 고려하지 않고 비디오 데이터를 코딩할 수 있지만, 코드 워드의 분포가 휘도 전달 함수에 의존할 수 있기 때문에 비디오 코딩 표준의 성능은 휘도 전달 함수에 의해 영향을 받을 수 있다. 예를 들어, 비디오 코딩 표준은 각각의 코드 워드가 일반적으로 인간 시각 감도(HVS)의 측면에서 동일한 중요도로 매핑된다는 가정에 기초할 수 있다. 하지만, 각각의 코드 워드는 실제로 동일한 중요도로 매핑되지 않을 수 있다. 이용 가능한 많은 전송 함수들이 존재하고, 각 전송 함수는 고유한 맵핑 규칙을 갖고 있다. 따라서 이러한 이유로 인해 HEVC와 같은 비디오 코더의 성능이 최적화되지 않을 수 있다. 예를 들어, 후술하는 바와 같이, 양자화 파라미터값에 기초한 HEVC 및 기존의 비디오 압축 시스템 기술은 코드 워드의 전체 범위를 휘도값에 관계없이 동일한 중요성으로 양자화하기 때문에 코딩이 최적으로 수행되지 않을 수 있다.
한편, HDR 비디오 처리/코딩을 지원하기 위한 표준에 관한 일부 예가 표 1에 설명되어 있다.
도 5는 일 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
비디오 컨텐츠는 일반적으로 픽처/프레임 그룹(GOP)으로 구성된 비디오 시퀀스를 포함한다. 각각의 비디오 프레임 또는 픽처는 다수의 슬라이스를 포함할 수 있으며, 슬라이스는 복수의 비디오 블록을 포함한다. 비디오 블록은 예측적으로 코딩될 수 있는 픽셀값들의 최대 어레이(샘플이라고도 함)로서 정의될 수 있다. 비디오 인코더/디코더는 비디오 블록 및 비디오 블록의 서브-분할에 예측 코딩을 적용한다. ITU-T H.264는 16x16 루마 샘플을 포함하는 매크로 블록을 특정한다. ITU-T H.265(또는 일반적으로 HEVC라고 함)는 픽처가 동일한 크기의 CTU로 분할될 수 있고 각 CTU가 16x16, 32x32, 또는 64x64의 루마 샘플들을 갖는 코딩 블록(CB)을 포함할 수 있는 유사한 코딩 트리 유닛(Coding Tree Unit, CTU) 구조를 특정한다. HEVC 이외의 탐색 모델인 JEM에서, CTU는 128x128, 128x64, 128x32, 64x64, 또는 16x16의 루마 샘플들을 갖는 코딩 블록을 포함할 수 있다. 여기에서, 코딩 블록, 예측 블록, 및 변환 블록은 서로 동일할 수 있다. 구체적으로, 코딩 블록(예측 블록 및 변환 블록)은 정사각형 또는 비정사각형 블록일 수 있다.
일 실시예에 따르면, 디코딩 장치는 비트 스트림을 수신하고(S500), 엔트로피 디코딩을 수행하고(S510), 역양자화를 수행하고(S520), 역변환을 수행할지의 여부를 결정하고(S530), 역변환을 수행하고(S540), 예측을 수행하고(S550), 복원 샘플을 생성한다(S560). 실시예에 관한 보다 구체적인 설명은 다음과 같다.
전술한 바와 같이, 예측 신택스 엘리먼트는 예측 신택스 엘리먼트의 코딩 블록을 대응하는 참조 샘플과 연관시킬 수 있다. 예를 들어, 인트라 예측 코딩을 위해 인트라 예측 모드는 참조 샘플의 위치를 특정할 수 있다. ITU-T H.265에서, 루마 컴포넌트에 대하여 가능한 인트라 예측 모드는 평면 예측 모드(predMode: 0), DC 예측 모드(predMode: 1), 및 다중 각도 예측 모드(predMode: 2-N, 여기서 N은 34 또는 65 이상일 수 있음)를 포함한다. 하나 이상의 신택스 엘리먼트는 상기 인트라 예측 모드 중 하나를 식별할 수 있다. 인터 예측 코딩을 위하여, 모션 벡터(MV)는 코딩될 코딩 블록의 픽처 이외의 픽처에서 참조 샘플을 식별함으로써 비디오에서의 시간적 중복성을 활용한다. 예를 들어, 현재 코딩 블록은 이전에 코딩된 프레임에 위치한 참조 블록으로부터 예측될 수 있고, 모션 벡터는 참조 블록의 위치를 나타내기 위해 사용될 수 있다. 모션 벡터 및 연관 데이터는, 예를 들면, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도(예를 들어, 1/4 픽셀 정밀도), 예측 방향, 및/또는 참조 픽처 인덱스값을 기술할 수 있다. 또한, 예를 들어 HEVC와 같은 코딩 표준은 모션 벡터 예측을 지원할 수 있다. 모션 벡터 예측은 인접 블록의 모션 벡터를 이용하여 모션 벡터가 특정될 수 있도록 한다.
비디오 인코더는 소스 비디오 블록으로부터 예측 비디오 블록을 감산함으로써 레지듀얼 데이터를 생성할 수 있다. 상기 예측 비디오 블록은 인트라 예측 또는 인터(모션 벡터) 예측될 수 있다. 상기 레지듀얼 데이터는 픽셀 도메인에서 얻어진다. 변환 계수는 이산 코사인 변환(DCT), 이산 사인 변환(DST), 또는 개념적 유사 변환과 같은 변환을 상기 레지듀얼 블록에 적용하여 얻어지며, 이에 따라 레지듀얼 변환 계수의 집합이 산출된다. 변환 계수 생성기는 레지듀얼 변환 계수를 계수 양자화부로 출력할 수 있다.
양자화 파라미터(Quantization Parameter, QP) 도출 프로세스는 다음과 같이 요약된다.
첫번째 단계는 루마 QP를 도출하는 단계로, a) 이전에 코딩된(사용 가능한) 양자화 파라미터에 기초하여 예측 루마 양자화 파라미터(qPY_PRED)를 찾는 단계; b) 예측 QP(상기 a)에서 획득)와 실제 QP간의 차이를 나타내는 cu_delta_QP 오프셋을 획득하는 단계; 및 c) 비트 깊이, 예측 QP, 및 cu_delta_QP에 기초하여 루마 QP 값을 결정하는 단계를 포함한다.
두 번째 단계는 크로마 QP를 도출하는 단계로, a) 크로마 QP를 루마 QP에서 도출하는 단계; 및 b) 크로마 QP 오프셋을 PPS 레벨 오프셋(즉, pps_cb_qp_offset, pps_cr_qp_offset) 및 슬라이스 레벨 크로마 QP 오프셋(즉, slice_cb_qp_offset, slice_cr_qp_offset)에서 찾는 단계를 포함한다.
다음은 위에서 언급한 프로세스의 세부사항이다.
상기 예측 루마 양자화 파라미터 qPY_PRED는 다음과 같이 도출된다.
[수학식 6]
qPY_PRED = (qPY_A + qPY_B + 1) >> 1
상기 변수 qPY_A 및 상기 변수 qPY_B는 이전 양자화 그룹으로부터의 양자화 파라미터를 나타낸다. 여기서, qPY_A는 루마 코딩 블록 커버링(xQg-1, yQg)을 포함하는 코딩 유닛의 루마 양자화 파라미터와 동일하게 설정된다. 여기서, 루마 위치(xQg, yQg)는 현재 픽처의 좌상측(top-left) 루마 샘플에 대한 현재 양자화 그룹의 좌상측 루마 샘플을 나타낸다. 여기에서, 상기 변수 qPY_A 및 상기 변수 qPY_B는 이전 양자화 그룹으로부터의 양자화 파라미터를 나타낸다. 구체적으로, 상기 qPY_A는 루마 코딩 블록 커버링(xQg-1, yQg)을 포함하는 코딩 유닛의 루마 양자화 파라미터와 동일하게 설정된다. 여기서, 루마 위치(xQg, yQg)는 현재 픽처의 좌상측(top-left) 루마 샘플에 대한 현재 양자화 그룹의 좌상측 루마 샘플을 나타낸다. 상기 변수 qPY_B는 루마 코딩 블록 커버링(xQg, yQg-1)을 포함하는 코딩 유닛의 루마 양자화 파라미터 QpY와 동일하게 설정된다. 상기 변수 qPY_A 또는 상기 변수 qPY_B가 이용될 수 없는 경우 qPY_PREV와 동일하게 설정된다. 여기에서, qPY_PREV는 이전 양자화 그룹 내의 디코딩 순서에서 마지막 코딩 유닛의 루마 양자화 파라미터 QpY와 동일하게 설정된다.
qPY_PRED가 결정되면, 다음과 같이 CuQpDeltaVal을 추가하여 루마 양자화 파라미터가 업데이트 된다.
[수학식 7]
QpY = ((qPY_PRED + CuQpDeltaVal + 52 + 2 * QpBdOffsetY) %(52 + QpBdOffsetY))-QpBdOffsetY
여기에서, CuQpDeltaVal 값은 cu_qp_delta_abs 및 cu_qp_delta_sign_flag와 같은 두개의 신택스 엘리먼트를 통해 비트 스트림으로 전송된다. QpBdOffsetY는 루마 양자화 파라미터 범위 오프셋의 값을 나타내고, 다음과 같이 bit_depth_luma_minus8(즉, 루마의 비트 깊이 -8)에 의존한다.
[수학식 8]
QpBdOffsetY = 6 * bit_depth_luma_minus8
최종적으로 루마 양자화 파라미터 Qp´Y는 다음과 같이 도출된다.
[수학식 9]
루마 양자화 파라미터 Qp´Y = QpY + QpBdOffsetY
크로마 QP는 다음과 같이 PPS 레벨 오프셋(pps_cb_qp_offset, pps_cr_qp_offset) 및 슬라이스 레벨 오프셋(slice_cb_qp_offset, slice_cr_qp_offset)을 고려한 루마 QP로부터 도출된다.
[수학식 10]
qPiCb = Clip3(-QpBdOffsetC, 57, QpY + pps_cb_qp_offset + slice_cb_qp_offset)
qPiCr = Clip3(-QpBdOffsetC, 57, QpY + pps_cr_qp_offset + slice_cr_qp_offset)
상기 qPiCb 및 상기 qPiCr은 아래 표 2 및 표 3에 기초하여 각각 qPCb 및 qPCr로 업데이트 된다.
표 2는 qPiCb에서 qPCb로의 매핑을 나타낸다.
표 3은 qPiCr에서 qPCr로의 맵핑을 나타낸다.
마지막으로, Cb 및 Cr 성분, Qp Cb 및 Qp Cr에 대한 크로마 양자화 파라미터는 다음과 같이 도출된다.
[수학식 11]
Qp´Cb = qPCb + QpBdOffsetC
Qp´Cr = qPCr + QpBdOffsetC
QpBdOffsetC는 크로마 양자화 파라미터 범위 오프셋의 값을 나타내고, 다음과 같이 bit_depth_chroma_minus8(즉, 크로마의 비트 깊이 -8)에 의존한다
[수학식 12]
QpBdOffsetC = 6 * bit_depth_chroma_minus8
한편, 표 4는 본 명세서에서 사용되는 신택스 엘리먼트의 정의를 나타낸다.
도 6은 다른 실시예에 따른 픽처 복원 프로세스를 나타내는 플로우차트이다.
S600, S610, 및 S630 내지 S670은도 5의 S500 내지 S560에 대응하므로, 상술한 설명과 중복되는 상세 설명은 생략하거나 간략화한다.
일 실시예에 따르면, 디코딩 장치는 비트 스트림을 수신하고(S600), 엔트로피 디코딩을 수행하고(S610), 역양자화를 수행하고(S630), 역변환을 수행할지의 여부를 결정하고(S640), 역변환을 수행하고(S650), 예측을 수행하고(S660), 복원 샘플을 생성한다(S670). 또한, 디코딩 장치는 엔트로피 디코딩에 기초하여 QP 오프셋을 도출하고(S620), 도출된 QP 오프셋을 기초로 역양자화를 수행할 수 있다.
S620은 아래와 같이 나타낼 수 있다. 이하에서, 상기 QP 오프셋은 "Luma_avg_qp"로 표현될 수 있다.
qPY_PRED가 결정되면, 다음과 같이 Luma_avg_qp를 추가함으로써 루마 양자화 파라미터를 업데이트할 수 있다.
[수학식 13]
QpY = ((qPY_PRED + CuQpDeltaVal + Luma_avg_qp + 52 + 2 * QpBdOffsetY) % (52 + QpBdOffsetY))-QpBdOffsetY
일 예로, Luma_avg_qp는 이미 디코딩되어 이용 가능한 인접 픽셀(또는 블록)의 루마값으로부터 도출(또는 추정)될 수 있다. Luma_avg_qp는 미리 정의된 도출 규칙에 기초하여 인접 픽셀값들로부터 결정될 수 있다. 예를 들어, Luma_avg_qp는 다음과 같이 도출될 수 있다.
[수학식 14]
Luma_avg_qp = A *(avg_luma-M) + B
수학식 14에서, avg_luma는 이용 가능한(디코딩된) 인접 픽셀(또는 블록)에서 얻은 예상 평균 루마 값이다.
M은 비트 깊이에 따라 미리 정의된 값이다.
A는 픽셀값 차이를 qp 차이에 매핑하기 위한 스케일링 계수이며(미리 정의되거나 비트 스트림으로 전송될 수 있다), qp 매핑의 기울기를 나타낸다.
B는 미리 정의되거나 비트 스트림으로 전송될 수 있는 오프셋 값이다.
avg_luma 값으로부터의 Luma_avg_qp 도출은 복수의 수식 중 하나의 수식에 의해 제한되지 않을 수 있다. 다른 예에서, Luma_avg_qp는 다음과 같이 테이블 맵핑으로부터 획득될 수 있다.
[수학식 15]
Luma_avg_qp = Mapping_Table_from_luma_to_QP [avg_luma]
여기에서 avg_luma는 테이블에 입력되고, 테이블의 출력은 Luma_avg_qp 이다. 테이블 크기를 줄이기 위해, 입력값(avg_luma) 범위는 다음과 같이 더 감소될 수 있다.
[수학식 16]
Luma_avg_qp = Mapping_Table_from_luma_to_QP [avg_luma/D]
여기에서, D는 입력값의 범위를 줄이기 위해 미리 정의된 상수값이다.
일 실시예에서, QP에 관한 정보에 기초하여 Luma_avg_qp가 도출될 수 있다. 디코딩 장치는 비트 스트림으로부터 QP에 관한 정보를 획득할 수 있다. 일 예로, QP에 관한 정보는 init_qp_minus26, slice_qp_delta, slice_cb_qp_offset, slice_cr_qp_offset, cu_qp_delta_abs, 및 cu_qp_delta_sign_flag를 포함할 수 있다. 또한, QP에 관한 정보는 상기 열거된 예에 의해 제한되지 않는다.
도 7은 일 실시예에 따른 인코딩 장치의 동작을 나타내는 플로우차트이고, 도 8은 일 실시예에 따른 인코딩 장치의 구성을 나타내는 블록도이다.
도 7에 개시된 각 단계는 도 1에 개시된 상기 인코딩 장치(100)에 의해 수행될 수 있다. 보다 구체적으로, S700 내지 S730은 도 1에 도시된 상기 양자화 모듈(123)에 의해 수행될 수 있고, S740은도 1에 도시된 상기 엔트로피 인코딩 모듈(130)에 의해 수행될 수 있다. 또한, S700 내지 S740에 따른 동작은 도 6에서 상술된 일부 설명에 기초한다. 따라서, 도 1 및 도 6에서 설명된 내용과 중복되는 상세 설명은 생략하거나 간략화한다.
도 8에 도시된 바와 같이, 일 실시예에 따른 인코딩 장치는 양자화 모듈(123) 및 엔트로피 인코딩 모듈(130)을 포함할 수 있다. 그러나, 경우에 따라 도 8에 도시된 모든 구성요소가 필수적으로 구비되지 않을 수도 있으며, 상기 인코딩 장치는 도 8에 도시된 구성요소보다 많거나 적은 구성요소에 의해 구현될 수 있다.
일 실시예에 따른 상기 디코딩 장치에서의 상기 양자화 모듈(123) 및 상기 엔트로피 인코딩 모듈(130)은 별도의 칩으로 구현될 수도 있고, 적어도 둘 이상의 구성요소가 하나의 칩을 통해 구현될 수도 있다.
일 실시예에 따른 상기 인코딩 장치는 이용 가능한 인접 샘플들로부터 현재 블록의 예상 평균 루마값을 도출할 수 있다(S700). 보다 구체적으로, 상기 인코딩 장치의 상기 양자화 모듈(123)은 이용 가능한 인접 샘플들로부터 현재 블록의 예상 평균 루마값을 도출할 수 있다.
일 실시예에 따른 상기 인코딩 장치는 상기 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 QP를 도출하기 위한 QP 오프셋을 도출할 수 있다(S710). 보다 구체적으로, 상기 인코딩 장치의 상기 양자화 모듈(123)은 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 QP를 도출하기 위한 QP 오프셋을 도출할 수 있다.
일 실시예에 따른 상기 인코딩 장치는 상기 QP 오프셋에 기초하여 루마 QP를 도출할 수 있다(S720). 보다 구체적으로, 상기 인코딩 장치의 상기 양자화 모듈(123)은 상기 QP 오프셋에 기초하여 루마 QP를 도출할 수 있다.
일 실시예에 따른 상기 인코딩 장치는 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 양자화를 수행할 수 있다(S730). 보다 구체적으로, 상기 인코딩 장치의 상기 양자화 모듈(123)은 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 양자화를 수행할 수 있다.
일 실시예에 따른 상기 인코딩 장치는 QP에 관한 정보를 포함하는 영상 정보를 인코딩할 수 있다(S740). 보다 구체적으로, 상기 엔트로피 인코딩 모듈(130)은 QP에 관한 정보를 포함하는 영상 정보를 인코딩할 수 있다.
도 7 및 도 8을 참조하면, 일 실시예에 따른 상기 인코딩 장치는 이용가능한 인접 샘플들로부터 현재 블록의 예상 평균 루마값을 도출하고(S700), 상기 예상 평균 루마값 및 QP에 관한 정보를 기초로 루마 QP를 도출하기 위한 QP 오프셋을 도출하고(S710), 상기 QP 오프셋에 기초하여 루마 QP를 도출하고(S720), 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 양자화를 수행하고(S730), QP에 관한 정보를 포함하는 영상 정보를 인코딩한다(S740). 결과적으로, 양자화 파라미터가 효율적으로 도출될 수 있고 전체 코딩 효율이 향상될 수 있다.
도 9는 일 실시예에 따른 디코딩 장치의 동작을 나타내는 플로우차트이고, 도 10은 일 실시예에 따른 디코딩 장치의 구성을 나타내는 블록도이다.
도 9에 개시된 각 단계는 도 2에 개시된 상기 디코딩 장치(200)에 의해 수행될 수 있다. 보다 구체적으로, S900은 도 2에 도시된 상기 엔트로피 디코딩 모듈(210)에 의해 수행될 수 있고, S910 내지 S940은 도 2에 도시된 상기 역양자화 모듈(222)에 의해 수행될 수 있고, S950은 도 2에 도시된 상기 역변환 모듈(223)에 의해 수행될 수 있고, S960은 도 2에 도시된 상기 예측 모듈(230)에 의해 수행될 수 있고, S970은 도 2에 도시된 상기 가산기(240)에 의해 수행될 수 있다. 또한, S900 내지 S970에 따른 동작은 도 6에서 상술된 일부 설명에 기초한다. 따라서, 도 2 및 도 6에서 설명된 내용과 중복되는 상세 설명은 생략하거나 간략화한다.
도 10에 도시 된 바와 같이, 일 실시예에 따른 디코딩 장치는 엔트로피 디코딩 모듈(210), 역양자화 모듈(222), 역변환 모듈(223), 예측 모듈(230), 및 가산기(240)를 포함할 수 있다. 그러나, 경우에 따라 도 10에 도시된 모든 구성요소가 필수적으로 구비되지 않을 수도 있으며, 상기 인코딩 장치는 도 10에 도시된 구성요소보다 많거나 적은 구성요소에 의해 구현될 수 있다.
일 실시예에 따른 상기 디코딩 장치에서 상기 엔트로피 디코딩 모듈(210), 상기 역양자화 모듈(222), 상기 역변환 모듈(223), 상기 예측 모듈(230), 및 상기 가산기(240)는 별도의 칩으로 구현될 수도 있고, 적어도 둘 이상의 구성요소가 하나의 칩을 통해 구현될 수도 있다.
일 실시예에 따른 상기 디코딩 장치는 QP에 관한 정보를 포함하는 영상 정보를 디코딩할 수 있다(S900). 보다 구체적으로, 상기 디코딩 장치의 상기 엔트로피 디코딩 모듈(210)은 QP에 관한 정보를 포함하는 영상 정보를 디코딩할 수 있다.
일 실시예에서, QP에 관한 정보는 시퀀스 파라미터 세트(Sequence Parameter Set, SPS) 레벨에서 시그널링된다.
일 실시예에서, 상기 영상 정보는 유효 데이터 범위 파라미터(Effective Data Range Parameters, EDRP)에 관한 정보를 포함하고, 상기 EDRP에 관한 정보는 최소 입력값, 최대 입력값, 입력값의 동적 범위, 최소 입력값을 밝기와 연관시키기 위한 매핑 정보, 최대 입력값을 밝기와 연관시키기 위한 매핑 정보, 및 전송 함수의 식별 정보 중 적어도 어느 하나를 포함한다. 이 방법은 범위 매칭으로 나타낼 수 있다.
보다 구체적으로, 본 개시는 코드 워드(입력값)의 범위가 제한된 영상/비디오 컨텐츠를 효율적으로 코딩하기 위해 이용될 수 있다. 이는 HDR 컨텐츠에서 종종 발생할(occur) 수 있고, 그 이유는 HDR 컨텐츠가 높은 휘도를 지원하는 전송 함수를 사용하기 때문이다. 이는 또한 HDR 데이터에 해당하는 휘도 변환 함수를 이용하여 SDR 데이터를 변환할 때에도 발생할 수 있다. 이러한 경우, 비디오 인코더는 유효 데이터 범위 파라미터(EDRP)를 시그널링하도록 구성될 수 있다. 디코더는 비디오 데이터와 연관된 EDRP를 수신하고 디코딩 프로세스에서 상기 EDRP 데이터를 이용하도록 구성될 수 있다. EDRP 데이터는, 예를 들어, 최소 입력값, 최대 입력값, 입력값의 동적 범위(최대 입력값과 최소 입력값과의 차이를 나타냄), 최소 입력값과 그에 상응하는 밝기간의 매핑 정보, 최대 입력값과 그에 상응하는 밝기간의 매핑 정보, 전달 함수 식별(알려진 전달 함수는 할당된 ID 번호로 식별될 수 있으며 각 전달 함수에 대한 자세한 매핑 정보가 이용될 수 있음) 등을 포함한다.
예를 들어, EDRP 데이터는 슬라이스 헤더, 픽처 파라미터 세트(PPS), 또는 시퀀스 파라미터 세트(SPS)에서 시그널링될 수 있다. 이러한 방식으로, 디코딩 프로세스가 실행되는 동안 EDRP 데이터는 코딩된 값을 추가로 수정하는데 사용될 수 있다.
본 발명은 양자화 파라미터의 추가적인 조정을 특정하기 위해 품질 제어 파라미터(QCP)를 도입한다. 디코더는 비디오 데이터와 연관된 QCP를 수신하고 디코딩 프로세스에서 QCP 데이터를 이용하도록 구성될 수 있다.
일 실시예에 따른 상기 디코딩 장치는 이용 가능한 인접 샘플들로부터 현재 블록의 예상 평균 루마값을 도출할 수 있다(S910). 보다 구체적으로, 상기 디코딩 장치의 상기 역양자화 모듈(222)은 이용 가능한 인접 샘플들로부터 현재 블록의 예상 평균 루마값을 도출할 수 있다.
일 실시예에 따른 상기 디코딩 장치는 상기 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 QP를 도출하기 위한 QP 오프셋을 도출할 수 있다(S920). 보다 구체적으로, 상기 디코딩 장치의 상기 역양자화 모듈(222)은 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 QP를 도출하기 위한 QP 오프셋을 도출할 수 있다.
일 실시예에서, 상기 QP 오프셋은 아래의 수학식에 기초하여 도출된다.
[수학식 17]
Luma_avg_qp = A *(avg_luma-M) + B
상기 수학식 17에서, Luma_avg_qp는 QP 오프셋을 나타내고, avg_luma는 예상 평균 루마값을 나타내고, A는 픽셀값 차이를 QP 차이에 매핑하기 위한 스케일링 계수를 나타내고, M은 비트 깊이와 관련된 미리 정의된 값을 나타내고, B는 오프셋 값을 나타내고, A 및 B는 소정의 값 또는 상기 영상 정보에 포함된 값이다.
일 실시예에서, 상기 QP 오프셋은 상기 예상 평균 루마값에 기초한 맵핑 테이블로부터 도출되고, 상기 맵핑 테이블은 상기 예상 평균 루마값을 입력으로 이용하여 결정된다.
일 실시예에서, 상기 QP 오프셋은 상기 예상 평균 루마값에 기초한 맵핑 테이블로부터 도출되고, 상기 맵핑 테이블은 상기 예상 평균 루마값을 미리 정의된 상수값으로 나누어 얻어진 값을 이용하여 결정된다.
일 실시예에서, 이용 가능한 인접 샘플은 양자화 그룹의 좌측 경계에 인접한 적어도 하나의 루마 샘플과, 양자화 그룹의 상측 경계에 인접한 적어도 하나의 루마 샘플 중 적어도 하나를 포함한다.
일 실시예에서, 양자화 그룹의 좌측 경계에 인접한 적어도 하나의 루마 샘플은 양자화 그룹의 좌측 경계에 직접 인접한 루마 샘플 열에 포함되며, 양자화 그룹의 상측 경계에 인접한 적어도 하나의 루마 샘플은 양자화 그룹의 상측 경계에 직접 인접한 루마 샘플 행에 포함된다.
일 실시예에서, 이용 가능한 인접 샘플은 양자화 그룹의 좌상측 샘플의 좌측에 인접한 루마 샘플을 포함하고, 이용 가능한 인접 샘플은 양자화 그룹의 좌상측 샘플의 상측에 인접한 루마 샘플을 포함한다.
일 실시예에서, 이용 가능한 인접 샘플은 복원된 인접 샘플, 복원된 인접 블록 중 적어도 하나의 블록에 포함된 샘플, 예측 인접 샘플, 및 예측 인접 블록 중 적어도 하나의 블록에 포함된 샘플 중 적어도 하나를 포함한다.
일 실시예에서, avg_luma는 인접 픽셀값(블록)으로부터 도출될 수 있으며, avg_luma는 이용 가능한(이미 디코딩된) 인접 픽셀(또는 블록)로부터 획득된 예상 평균 루마값을 나타낸다.
i) 이용 가능한 인접 픽셀은 다음을 포함할 수 있다.
- 이용 가능한 인접 픽셀은 (xQg-1, yQg + K)에 위치한 픽셀을 포함한다. 여기에서, 루마 위치(xQg, yQg)는 현재 픽처의 좌상측 루마 샘플에 대한 현재 양자화 그룹의 좌상측 루마 샘플을 나타낸다(현재 블록의 맨왼쪽 라인).
- 이용 가능한 인접 픽셀은 (xQg+K, yQg-1)에 위치한 픽셀을 포함한다. 여기에서, 루마 위치(xQg, yQg)는 현재 픽처의 좌상측 루마 샘플에 대한 현재 양자화 그룹의 좌상측 루마 샘플을 나타낸다(현재 블록의 맨위쪽 라인).
- 하나의 라인 대신 여러 라인이 이용될 수 있다.
ii) 이용 가능한 인접 블록을 사용하여 avg_luma를 계산할 수 있다.
- (xQg-1, yQg)에 위치한 픽셀을 포함하는 블록이 사용될 수 있다.
- (xQg, yQg-1)에 위치한 픽셀을 포함하는 블록이 사용될 수 있다.
iii) Avg_luma 값은 복원된 인접 픽셀/블록에 기초하여 계산될 수 있다.
iv) Avg_luma 값은 예측 인접 픽셀/블록에 기초하여 계산될 수 있다.
일 실시예에서, QP에 관한 정보는 QP 오프셋과 관련된 적어도 하나의 신택스 엘리먼트를 포함하며, 예상 평균 루마값과 QP에 관한 정보 중 적어도 하나에 기초하여 QP 오프셋을 도출하는 단계는 QP 오프셋과 관련된 적어도 하나의 신택스 엘리먼트에 기초하여 QP 오프셋을 도출하는 단계를 포함한다.
Luma_avg_qp를 고려하기 위해 새로운 신택스 엘리먼트가 도입될 수 있다. 예를 들어, Luma_avg_qp 값은 비트 스트림을 통해 전송될 수 있다. Luma_avg_qp 값은 Luma_avg_qp_abs 및 Luma_avg_qp_flag와 같은 두개의 신택스 엘리먼트를 통해 나타낼 수 있다.
Luma_avg_qp는 2개의 신택스 엘리먼트(luma_avg_qp_delta_abs 및 luma_avg_qp_delta_sign_flag)로 나타낼 수 있다.
luma_avg_qp_delta_abs는 현재 코딩 유닛의 루마 양자화 파라미터와 휘도를 고려하지 않고 도출된 루마 양자화 파라미터와의 차이인 CuQpDeltaLumaVal의 절대값을 나타낸다.
luma_avg_qp_delta_sign_flag는 다음과 같이 CuQpDeltaLumaVal의 부호를 나타낸다.
luma_avg_qp_delta_sign_flag가 0이면, 해당 CuQpDeltaLumaVal은 양수값이다.
그렇지 않은 경우(luma_avg_qp_delta_sign_flag가 1이면), 해당 CuQpDeltaLumaVal은 음수값이다.
luma_avg_qp_delta_sign_flag가 존재하지 않는 경우, 0과 같은 것으로 추정된다.
luma_avg_qp_delta_sign_flag가 존재하는 경우, 변수 IsCuQpDeltaLumaCoded 및 변수 CuQpDeltaLumaVal은 다음과 같이 도출된다.
[수학식 18]
IsCuQpDeltaLumaCoded = 1
CuQpDeltaLumaVal = cu_qp_delta_abs * (1 - 2 * luma_avg_qp_delta_sign_flag)
CuQpDeltaLumaVal은 Luma_avg_qp를 포함하는 코딩 유닛에 대한 루마 양자화 파라미터와 Luma_avg_qp를 미포함하는 코딩 유닛에 대한 루마 양자화 파라미터와의 차이를 나타낸다.
일 실시예에서, 위에서 설명된 신택스 엘리먼트들은 양자화 그룹 레벨(또는 양자화 유닛 레벨)(예를 들어, CU, CTU, 또는 미리 정의된 블록 유닛)에서 전송될 수 있다.
일 실시예에 따른 상기 디코딩 장치는 상기 QP 오프셋에 기초하여 루마 QP를 도출할 수 있다(S930). 보다 구체적으로, 상기 디코딩 장치의 상기 역양자화 모듈(222)은 상기 QP 오프셋에 기초하여 루마 QP를 도출할 수 있다.
일 실시예에 따른 상기 디코딩 장치는 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행할 수 있다(S940). 보다 구체적으로, 상기 디코딩 장치의 상기 역양자화 모듈(222)은 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행할 수 있다.
일 실시예에서, 상기 디코딩 장치는 적어도 하나의 크로마 QP 맵핑 테이블에 기초하여 상기 도출된 루마 QP로부터 크로마 QP를 도출하고, 상기 도출된 루마 QP 및 상기 도출된 크로마 QP에 기초하여 양자화 그룹에 대한 역양자화를 수행할 수 있다. 여기에서 적어도 하나의 크로마 QP 맵핑 테이블은 크로마의 동적 범위 및 상기 QP 오프셋에 기초한다.
일 실시예에서, 하나의 크로마 QP 매핑 테이블 대신에, 다수의 크로마 QP 도출 테이블이 존재할 수 있다. 이용할 QP 맵핑 테이블을 특정하기 위해 추가 정보가 필요할 수 있다. 다음은 크로마 QP 도출 테이블의 다른 예이다.
일 실시예에서, 적어도 하나의 크로마 QP 매핑 테이블은 적어도 하나의 Cb-QP 매핑 테이블 및 적어도 하나의 Cr-QP 매핑 테이블을 포함한다. 일 실시예에 따른 상기 디코딩 장치는 역양자화에 기초하여 현재 블록에 대한 레지듀얼 샘플을 생성할 수 있다(S950). 보다 구체적으로, 상기 디코딩 장치의 상기 역변환 모듈(223)은 역양자화에 기초하여 현재 블록에 대한 레지듀얼 샘플을 생성할 수 있다.
일 실시예에 따른 상기 디코딩 장치는 상기 영상 정보에 기초하여 현재 블록에 대한 예측 샘플을 생성할 수 있다(S960). 보다 구체적으로, 상기 디코딩 장치의 상기 예측 모듈(230)은 상기 영상 정보에 기초하여 현재 블록에 대한 예측 샘플을 생성할 수 있다.
일 실시예에 따른 상기 디코딩 장치는 현재 블록에 대한 레지듀얼 샘플 및 현재 블록에 대한 예측 샘플에 기초하여 현재 블록에 대한 복원 샘플을 생성할 수 있다(S970). 보다 구체적으로, 상기 디코딩 장치의 상기 가산기는 현재 블록에 대한 레지듀얼 샘플 및 현재 블록에 대한 예측 샘플에 기초하여 현재 블록에 대한 복원 샘플을 생성할 수 있다.
도 9 및 도 10을 참조하면, 일 실시예에 따른 상기 디코딩 장치는 QP에 관한 정보를 포함하는 영상 정보를 디코딩하고(S900), 이용 가능한 인접 샘플로부터 현재 블록의 예상 평균 루마값을 도출하고(S910), 상기 예상 평균 루마값 및 QP에 관한 정보에 기초하여 루마 QP를 도출하기 위한 QP 오프셋을 도출하고(S920), 상기 QP 오프셋에 기초하여 루마 QP를 도출하고(S930), 상기 도출된 루마 QP에 기초하여 현재 블록을 포함하는 양자화 그룹에 대한 역양자화를 수행하고(S940), 역양자화에 기초하여 현재 블록에 대한 레지듀얼 샘플을 생성하고(S950), 상기 영상 정보에 기초하여 현재 블록에 대한 예측 샘플을 생성하고(S960), 현재 블록에 대한 레지듀얼 샘플 및 현재 블록에 대한 예측 샘플에 기초하여 현재 블록에 대한 복원 샘플을 생성한다(S970). 결과적으로, 양자화 파라미터가 효율적으로 도출될 수 있고 전체 코딩 효율이 향상될 수 있다.
상술한 본 발명에 따른 방법은 소프트웨어로 구현될 수 있고, 본 발명에 따른 상기 인코딩 장치 및/또는 상기 디코딩 장치는 TV, 컴퓨터, 스마트폰, 디스플레이 장치와 같은 영상 처리 장치에 포함될 수 있다.
본 발명의 실시예가 소프트웨어로 구현되는 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(프로세스, 기능 등)에 의해 구현될 수 있다. 상기 모듈은 메모리에 저장되며 프로세서에 의해 실행될 수 있다. 상기 메모리는 상기 프로세서의 내부 또는 외부에 구비될 수 있고, 알려진 다양한 수단에 의해 프로세서에 연결될 수 있다. 상기 프로세서는 주문형 집적 회로(application specific integrated circuit, ASIC), 다른 칩셋, 논리 회로, 및/또는 데이터 처리 장치를 포함할 수 있다. 상기 메모리는 ROM(read-only memory), RAM(random access memory), 플래시 메모리, 메모리 카드, 저장 매체, 및/또는 다른 저장 장치를 포함할 수 있다.
Claims (10)
- 비트스트림으로부터 양자화 파라미터(QP)에 관한 정보를 포함한 영상 정보를 획득하는 단계; 여기서, 상기 QP에 관한 정보는, 루마 QP에 관한 정보와 크로마 QP에 관한 정보를 포함함,
상기 루마 QP에 관한 정보를 기반으로 상기 루마 QP를 도출하는 단계;
상기 크로마 QP에 관한 정보를 기반으로 상기 크로마 QP를 도출하는 단계; 여기서, 상기 크로마 QP는, Cb 성분에 대한 제1 크로마 QP 및 Cr 성분에 대한 제2 크로마 QP를 포함함,
상기 루마 QP 및 상기 크로마 QP를 기반으로 현재 블록에 역양자화를 수행하여 상기 현재 블록의 레지듀얼 샘플을 생성하는 단계; 및
상기 현재 블록의 레지듀얼 샘플을 기반으로 복원 픽쳐를 생성하는 단계를 포함하되,
상기 루마 QP는, 예측된 루마 QP와 루마 QP 오프셋을 기반으로 도출되고,
상기 크로마 QP를 도출하는 단계는,
상기 루마 QP와 상기 Cb 성분에 대한 제1 크로마 QP 맵핑 테이블을 기반으로, 상기 Cb 성분에 대한 상기 제1 크로마 QP를 도출하는 단계; 및
상기 루마 QP와 상기 Cr 성분에 대한 제2 크로마 QP 맵핑 테이블을 기반으로, 상기 Cr 성분에 대한 상기 제2 크로마 QP를 도출하는 단계를 포함하고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과 별도의 맵핑 테이블이고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과는 다른, 픽쳐 디코딩 방법. - 제1항에 있어서,
상기 예측된 루마 QP는, 현재 양자화 그룹에 인접한 상단 코딩 유닛의 제1 루마 QP와 상기 현재 양자화 그룹에 인접한 좌측 코딩 유닛의 제2 루마 QP를 기반으로 도출되고,
상기 루마 QP 오프셋은, 상기 루마 QP 오프셋의 절대값을 특정하는 제1 정보 및 상기 루마 QP 오프셋의 부호를 특정하는 제2 정보를 기반으로 도출되는, 픽쳐 디코딩 방법. - 제1항에 있어서,
상기 제1 크로마 QP 맵핑 테이블의 입력과 상기 제2 크로마 QP 맵핑 테이블의 입력은, 상기 루마 QP를 기반으로 하는, 픽쳐 디코딩 방법. - 제3항에 있어서,
상기 Cb 성분에 대한 상기 제1 크로마 QP는, 상기 Cb 성분에 대한 제1 크로마 QP 오프셋 정보를 기반으로 도출되는, 픽쳐 디코딩 방법. - 제4항에 있어서,
상기 제1 크로마 QP 오프셋 정보는, 상기 Cb 성분에 대한 제1 픽쳐 레벨 오프셋 및 제1 슬라이스 레벨 오프셋을 포함하는, 픽쳐 디코딩 방법. - 제3항에 있어서,
상기 Cr 성분에 대한 상기 제2 크로마 QP는, 상기 Cr 성분에 대한 제2 크로마 QP 오프셋 정보를 기반으로 도출되는, 픽쳐 디코딩 방법. - 제6항에 있어서,
상기 제2 크로마 QP 오프셋 정보는, 상기 Cr 성분에 대한 제2 픽쳐 레벨 오프셋 및 제2 슬라이스 레벨 오프셋을 포함하는, 픽쳐 디코딩 방법. - 루마 양자화 파라미터(QP)를 도출하는 단계;
크로마 QP를 도출하는 단계; 여기서, 상기 크로마 QP는, Cb 성분에 대한 제1 크로마 QP 및 Cr 성분에 대한 제2 크로마 QP를 포함함,
상기 루마 QP 및 상기 크로마 QP를 기반으로 현재 블록에 양자화를 수행하는 단계;
QP에 관한 정보를 생성하는 단계; 및
상기 QP에 관한 정보를 포함한 영상 정보를 인코딩하는 단계를 포함하되,
상기 QP에 관한 정보는 상기 루마 QP에 관한 정보와 상기 크로마 QP에 관한 정보를 포함하고,
상기 루마 QP는 예측된 루마 QP와 루마 QP 오프셋을 기반으로 나타내어지고,
상기 크로마 QP를 도출하는 단계는,
상기 루마 QP와 상기 Cb 성분에 대한 제1 크로마 QP 맵핑 테이블을 기반으로, 상기 Cb 성분에 대한 상기 제1 크로마 QP를 도출하는 단계; 및
상기 루마 QP와 상기 Cr 성분에 대한 제2 크로마 QP 맵핑 테이블을 기반으로, 상기 Cr 성분에 대한 상기 제2 크로마 QP를 도출하는 단계를 포함하고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과 별도의 맵핑 테이블이고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과는 다른, 픽쳐 인코딩 방법. - 인코딩 방법에 의해 생성된 비트스트림을 저장한 컴퓨터 판독 가능한 저장 매체에 있어서,
상기 인코딩 방법은,
루마 양자화 파라미터(QP)를 도출하는 단계;
크로마 QP를 도출하는 단계; 여기서, 상기 크로마 QP는, Cb 성분에 대한 제1 크로마 QP 및 Cr 성분에 대한 제2 크로마 QP를 포함함,
상기 루마 QP 및 상기 크로마 QP를 기반으로 현재 블록에 양자화를 수행하는 단계;
QP에 관한 정보를 생성하는 단계; 및
상기 QP에 관한 정보를 포함한 영상 정보를 인코딩하는 단계를 포함하되,
상기 QP에 관한 정보는 상기 루마 QP에 관한 정보와 상기 크로마 QP에 관한 정보를 포함하고,
상기 루마 QP는 예측된 루마 QP와 루마 QP 오프셋을 기반으로 나타내어지고,
상기 크로마 QP를 도출하는 단계는,
상기 루마 QP와 상기 Cb 성분에 대한 제1 크로마 QP 맵핑 테이블을 기반으로, 상기 Cb 성분에 대한 상기 제1 크로마 QP를 도출하는 단계; 및
상기 루마 QP와 상기 Cr 성분에 대한 제2 크로마 QP 맵핑 테이블을 기반으로, 상기 Cr 성분에 대한 상기 제2 크로마 QP를 도출하는 단계를 포함하고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과 별도의 맵핑 테이블이고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과는 다른, 저장 매체. - 영상 정보에 대한 비트스트림을 획득하는 단계; 여기서, 상기 비트스트림은, 루마 양자화 파라미터(QP)를 도출하는 단계, 크로마 QP를 도출하는 단계, 상기 루마 QP 및 상기 크로마 QP를 기반으로 현재 블록에 양자화를 수행하는 단계, QP에 관한 정보를 생성하는 단계, 및 상기 QP에 관한 정보를 포함한 영상 정보를 인코딩하는 단계를 수행하여 생성됨, 및
상기 영상 정보의 비트스트림을 포함한 데이터를 전송하는 단계를 포함하되,
상기 QP에 관한 정보는 상기 루마 QP에 관한 정보와 상기 크로마 QP에 관한 정보를 포함하고,
상기 루마 QP는, 예측된 루마 QP와 루마 QP 오프셋을 기반으로 나타내어지고,
상기 크로마 QP는, Cb 성분에 대한 제1 크로마 QP 및 Cr 성분에 대한 제2 크로마 QP를 포함하고,
상기 크로마 QP를 도출하는 단계는,
상기 루마 QP와 상기 Cb 성분에 대한 제1 크로마 QP 맵핑 테이블을 기반으로, 상기 Cb 성분에 대한 상기 제1 크로마 QP를 도출하는 단계; 및
상기 루마 QP와 상기 Cr 성분에 대한 제2 크로마 QP 맵핑 테이블을 기반으로, 상기 Cr 성분에 대한 상기 제2 크로마 QP를 도출하는 단계를 포함하고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과 별도의 맵핑 테이블이고,
상기 Cb 성분에 대한 상기 제1 크로마 QP 맵핑 테이블은, 상기 Cr 성분에 대한 상기 제2 크로마 QP 맵핑 테이블과는 다른, 전송 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862651243P | 2018-04-01 | 2018-04-01 | |
US62/651,243 | 2018-04-01 | ||
KR1020237020939A KR102667406B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
PCT/KR2019/002520 WO2019194422A1 (en) | 2018-04-01 | 2019-03-05 | An image coding apparatus and method thereof based on a quantization parameter derivation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237020939A Division KR102667406B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240073164A true KR20240073164A (ko) | 2024-05-24 |
Family
ID=68101287
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247016120A KR20240073164A (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
KR1020207012884A KR102392128B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
KR1020227013925A KR102547644B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
KR1020237020939A KR102667406B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207012884A KR102392128B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
KR1020227013925A KR102547644B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
KR1020237020939A KR102667406B1 (ko) | 2018-04-01 | 2019-03-05 | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 |
Country Status (12)
Country | Link |
---|---|
US (3) | US11477453B2 (ko) |
EP (3) | EP3688986B1 (ko) |
JP (3) | JP7073495B2 (ko) |
KR (4) | KR20240073164A (ko) |
CN (3) | CN116320456A (ko) |
ES (2) | ES2965422T3 (ko) |
FI (1) | FI3941052T3 (ko) |
HR (1) | HRP20231426T1 (ko) |
HU (2) | HUE064565T2 (ko) |
PL (2) | PL3941052T3 (ko) |
SI (1) | SI3941052T1 (ko) |
WO (1) | WO2019194422A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP4346205A3 (en) * | 2019-04-26 | 2024-04-24 | Huawei Technologies Co., Ltd. | Method and apparatus for signaling of mapping function of chroma quantization parameter |
BR112022005290A2 (pt) * | 2019-09-23 | 2022-09-20 | Huawei Tech Co Ltd | Método e aparelho para sinalização de parâmetros de quantização de crominância |
US11310533B2 (en) * | 2019-09-27 | 2022-04-19 | Qualcomm Incorporated | Quantization parameter signaling for joint chroma residual mode in video coding |
JP7001668B2 (ja) * | 2019-12-26 | 2022-01-19 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
US11375221B2 (en) * | 2020-02-12 | 2022-06-28 | Tencent America LLC | Method and apparatus for cross-component filtering |
US11381820B2 (en) * | 2020-04-13 | 2022-07-05 | Tencent America LLC | Method and apparatus for video coding |
US11871036B2 (en) | 2020-09-24 | 2024-01-09 | Korea University Research And Business Foundation | Apparatus and method for compressing JPEG images |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01256278A (ja) * | 1988-04-06 | 1989-10-12 | Canon Inc | 予測符号化システム |
US8213498B2 (en) * | 2007-05-31 | 2012-07-03 | Qualcomm Incorporated | Bitrate reduction techniques for image transcoding |
KR20120016980A (ko) * | 2010-08-17 | 2012-02-27 | 한국전자통신연구원 | 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치 |
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 |
KR20130049526A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 복원 블록 생성 방법 |
US9729884B2 (en) * | 2012-01-18 | 2017-08-08 | Lg Electronics Inc. | Method and device for entropy coding/decoding |
CN106131561B (zh) * | 2012-01-20 | 2019-10-18 | 维洛媒体国际有限公司 | 解码装置和解码方法 |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9414054B2 (en) * | 2012-07-02 | 2016-08-09 | Microsoft Technology Licensing, Llc | Control and use of chroma quantization parameter values |
WO2015130541A1 (en) * | 2014-02-26 | 2015-09-03 | Dolby Laboratories Licensing Corporation | Luminance based coding tools for video compression |
US11070810B2 (en) * | 2014-03-14 | 2021-07-20 | Qualcomm Incorporated | Modifying bit depths in color-space transform coding |
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
CN107852512A (zh) * | 2015-06-07 | 2018-03-27 | 夏普株式会社 | 基于亮度转换函数或视频色彩分量值的优化视频编码的系统及方法 |
WO2017052440A1 (en) * | 2015-09-23 | 2017-03-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Determination of qp values |
WO2017093189A1 (en) * | 2015-11-30 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoding of pictures in a video |
CN109076223B (zh) * | 2016-05-13 | 2021-07-09 | 夏普株式会社 | 图像解码装置以及图像编码装置 |
CN109196862B (zh) * | 2016-05-28 | 2021-01-22 | 联发科技股份有限公司 | 视频数据处理方法、装置及相应可读存储介质 |
US10448056B2 (en) * | 2016-07-15 | 2019-10-15 | Qualcomm Incorporated | Signaling of quantization information in non-quadtree-only partitioned video coding |
US10200698B2 (en) * | 2016-08-09 | 2019-02-05 | Intel Corporation | Determining chroma quantization parameters for video coding |
US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
US10812798B2 (en) * | 2017-10-19 | 2020-10-20 | Qualcomm Incorporated | Chroma quantization parameter (QP) offset |
US20200359024A1 (en) * | 2018-01-30 | 2020-11-12 | Sharp Kabushiki Kaisha | Systems and methods for deriving quantization parameters for video blocks in video coding |
US10638133B2 (en) * | 2018-01-31 | 2020-04-28 | Qualcomm Incorporated | Delta quantization parameter (QP) coding options for video |
US11153579B2 (en) * | 2018-03-23 | 2021-10-19 | Qualcomm Incorporated | Deriving dynamic range adjustment (DRA) parameters for video coding |
-
2019
- 2019-03-05 EP EP19781993.1A patent/EP3688986B1/en active Active
- 2019-03-05 EP EP23188163.2A patent/EP4283989A1/en active Pending
- 2019-03-05 SI SI201930668T patent/SI3941052T1/sl unknown
- 2019-03-05 HU HUE21195707A patent/HUE064565T2/hu unknown
- 2019-03-05 EP EP21195707.1A patent/EP3941052B1/en active Active
- 2019-03-05 FI FIEP21195707.1T patent/FI3941052T3/fi active
- 2019-03-05 KR KR1020247016120A patent/KR20240073164A/ko active Application Filing
- 2019-03-05 HR HRP20231426TT patent/HRP20231426T1/hr unknown
- 2019-03-05 CN CN202310308727.5A patent/CN116320456A/zh active Pending
- 2019-03-05 KR KR1020207012884A patent/KR102392128B1/ko active IP Right Grant
- 2019-03-05 JP JP2020530470A patent/JP7073495B2/ja active Active
- 2019-03-05 ES ES21195707T patent/ES2965422T3/es active Active
- 2019-03-05 PL PL21195707.1T patent/PL3941052T3/pl unknown
- 2019-03-05 WO PCT/KR2019/002520 patent/WO2019194422A1/en unknown
- 2019-03-05 KR KR1020227013925A patent/KR102547644B1/ko active IP Right Grant
- 2019-03-05 KR KR1020237020939A patent/KR102667406B1/ko active IP Right Grant
- 2019-03-05 ES ES19781993T patent/ES2902481T3/es active Active
- 2019-03-05 CN CN201980006064.3A patent/CN111434111B/zh active Active
- 2019-03-05 PL PL19781993T patent/PL3688986T3/pl unknown
- 2019-03-05 CN CN202310308659.2A patent/CN116320455A/zh active Pending
- 2019-03-05 HU HUE19781993A patent/HUE057141T2/hu unknown
-
2020
- 2020-04-27 US US16/859,105 patent/US11477453B2/en active Active
-
2022
- 2022-05-11 JP JP2022078055A patent/JP2022106961A/ja active Pending
- 2022-09-13 US US17/944,068 patent/US11917155B2/en active Active
-
2024
- 2024-02-01 US US18/430,172 patent/US20240187588A1/en active Pending
- 2024-02-02 JP JP2024015002A patent/JP2024050774A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102667406B1 (ko) | 양자화 파라미터 도출에 기초한 영상 코딩 장치 및 방법 | |
US10404999B2 (en) | Residual coding for depth intra prediction modes | |
US20240129460A1 (en) | Image encoding/decoding method and device for utilizing simplified mpm list generation method, and method for transmitting bitstream | |
US20230171404A1 (en) | Method and device for encoding/decoding image using color space conversion, and method for transmitting bitstream | |
US20240015294A1 (en) | Image encoding/decoding method and apparatus using adaptive transform, and method for transmitting bitstream | |
CN118573899A (zh) | 图像解码方法、图像编码方法、存储介质和数据发送方法 | |
CN114270840A (zh) | 使用色度量化参数的图像解码方法及其装置 | |
US20230007268A1 (en) | Method for coding image on basis of deblocking filtering, and apparatus therefor | |
KR20210158391A (ko) | 루마 샘플들의 맵핑 및 크로마 샘플들의 스케일링 기반 비디오 또는 영상 코딩 | |
CN116962684A (zh) | 视频编解码方法与系统、及视频编码器与视频解码器 | |
KR102724946B1 (ko) | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
US20240364882A1 (en) | Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream | |
KR20240134767A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20230145936A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20240102871A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20240150381A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20230133770A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20240090207A (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
KR20240108795A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20240112882A (ko) | Dimd 모드 기반 인트라 예측 방법 및 장치 | |
CN116456107A (zh) | 解码设备、编码设备以及发送数据的设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent |