KR20220056846A - 향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램 - Google Patents

향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220056846A
KR20220056846A KR1020227000408A KR20227000408A KR20220056846A KR 20220056846 A KR20220056846 A KR 20220056846A KR 1020227000408 A KR1020227000408 A KR 1020227000408A KR 20227000408 A KR20227000408 A KR 20227000408A KR 20220056846 A KR20220056846 A KR 20220056846A
Authority
KR
South Korea
Prior art keywords
coding
data stream
predetermined portion
lossless
picture
Prior art date
Application number
KR1020227000408A
Other languages
English (en)
Inventor
크리스티안 헴리히
벤자민 브로스
퉁 호앙 응우옌
헤이코 슈바르츠
데틀레브 마르페
토마스 비에그란트
Original Assignee
프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20220056846A publication Critical patent/KR20220056846A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더가 제공된다. 디코더는 상기 데이터 스트림(14)에 포함되고, 상기 픽처(12)의 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 확인하고(106), 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 미리 결정된 부분에 대해 상기 하나 이상의 도구가 비활성화되도록 상기 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위해 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성된다.

Description

향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램
본 발명에 따른 실시 예는 개선된 무손실 압축을 위한 인코더, 디코더, 방법 및 컴퓨터 프로그램에 관한 것이다. 본 발명은 최신 하이브리드 이미지 및 비디오 코딩 솔루션에서 무손실 압축을 위한 확장에 관한 것이다.
서론
이하, 본 발명의 다양한 실시 예 및 측면이 설명된다. 또한, 추가 실시 예는 첨부된 청구범위에 의해 정의될 것이다.
청구범위에 의해 정의된 바와 같은 임의의 실시 예는 다음의 상이한 본 발명의 실시 예 및 측면에서 설명되는 임의의 세부사항(특징 및 기능)에 의해 보완될 수 있다는 것에 유의한다.
또한, 본 명세서에서 설명된 개별 측면은 개별적으로 또는 조합하여 사용될 수 있다는 점에 유의한다. 따라서, 상기 측면 중 다른 하나에 세부 사항을 추가하지 않고 상기 개별 측면 각각에 세부 사항을 추가할 수 있다.
본 개시는 인코더(입력 신호의 인코딩된 표현을 제공하기 위한 장치)에서 및 디코더(인코딩된 표현에 기초하여 신호의 디코딩된 표현을 제공하기 위한 장치)에서 사용 가능한 특징을 명시적으로 또는 암시적으로 설명한다는 점에 또한 유의한다. 따라서, 본 명세서에서 설명된 특징들 중 임의의 것이 인코더의 맥락에서 그리고 디코더의 맥락에서 사용될 수 있다.
더욱이, 방법과 관련하여 본 명세서에 개시된 특징 및 기능은 또한 장치(이러한 기능을 수행하도록 구성됨)에서 사용될 수 있다. 또한, 장치와 관련하여 본 명세서에 개시된 임의의 특징 및 기능은 또한 대응하는 방법에서 사용될 수 있다. 다시 말해서, 본 명세서에 개시된 방법은 장치와 관련하여 설명된 임의의 특징 및 기능에 의해 보완될 수 있다.
또한, "구현 대안" 섹션에서 설명된 바와 같이, 본 명세서에서 설명된 특징 및 기능은 하드웨어 또는 소프트웨어로, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있다.
최신 손실 비디오 압축에서, 인코더는 특정 양자화 단계 크기 △를 사용하여 예측 잔차 또는 변환된 예측 잔차를 양자화한다. 단계 크기가 작을수록 양자화가 미세해지고 원래 신호와 복원된 신호 사이의 오류가 작아진다. 최신 비디오 코딩 표준(예: H.264 및 H.265)은 양자화 매개변수(QP)의 지수 함수, 예를 들어,
Figure pct00001
를 사용하여 양자화 단계 크기 △를 유도한다.
양자화 단계 크기와 양자화 매개변수 사이의 지수 관계는 결과의 비트율을 더 미세하게 조정할 수 있게 한다. 디코더는 양자화된 신호의 정확한 스케일링을 수행하기 위해 양자화 단계 크기를 알아야 한다. 이 단계는 양자화가 비가역적이긴 하지만 때때로 "역 양자화"라고 한다. 이것이 디코더가 비트스트림에서 스케일링 팩터 또는 QP를 구문 분석하는 이유이다. QP 시그널링은 일반적으로 계층적으로 수행되는데, 즉, 기준 QP는 비트스트림의 더 높은 레벨에서, 예를 들어, 픽처 레벨에서 시그널링된다. 픽처가 여러 조각, 타일 또는 브릭으로 구성될 수 있는 서브픽처 레벨에서, 델타 QP에 대한 델타만 신호된다. 비트 전송률을 더 미세한 단위로 조정하기 위해서, 델타 QP는 블록별 또는 블록 영역별로 시그널링될 수 있는데, 예를 들어, HEVC에서 코딩 블록의 NxN 영역 내의 하나의 변환 단위로 시그널링된다. 인코더는 일반적으로 주관적 최적화 또는 속도 제어 알고리즘에 델타 QP 기술을 사용한다. 일반성을 잃지 않고, 이하에서 본 발명의 기본 단위는 픽처이고, 따라서 기준 QP는 단일 슬라이스로 구성된 각 픽처에 대해 인코더에 의해 시그널링된다고 가정된다. 슬라이스 QP라고도 하는 이 기준 QP 외에, 델타 QP는 각 변환 블록(또는 양자화 그룹이라고도 하는 변환 블록의 임의의 조합)에 대해 시그널링될 수 있다.
고효율 비디오 코딩(HEVC) 또는 곧 출시될 다용도 비디오 코딩(VVC) 표준과 같은 최신 비디오 코딩 방식은 유형 II 이산 코사인 변환(DCT-II)의 널리 사용되는 정수 근사값 이상으로 추가 변환을 허용하여 다양한 잔류 신호 유형의 에너지 압축을 최적화한다. HEVC 표준은 특정 인트라 방향 모드를 사용하는 4x4 변환 블록에 대한 유형 VII 이산 사인 변환(DST-VII)의 정수 근사를 추가로 지정한다. 이 고정 매핑으로 인해 DCT-II 또는 DST-VII가 사용되는지 여부를 알릴 필요가 없다. 그 외에도 4×4 변환 블록에 대해 항등 변환을 선택할 수 있다. 여기서 인코더는 DCT-II/DST-VII 또는 ID 변환이 적용되는지 여부를 신호해야 한다. 항등 변환은 1을 곱한 것과 같은 행렬이므로, 변환 스킵이라고도 한다. 또한 현재 VVC 개발을 통해 인코더는 잔차에 대한 DCT/DST 제품군의 더 많은 변환 뿐만 아니라, 인코더에서 DCT/DST 변환 후 및 디코더에서 역 DCT/DST 전에 적용되는 추가의 비 분리 가능한 변환을 선택할 수 있다. DCT/DST 변환의 확장된 세트와 추가의 분리 불가능한 변환은 모두 변환 블록별 추가 신호를 필요로 한다.
도 1b는 인코더(10)에서 잔차 신호(24)의 순방향 변환과 후속 양자화 및 디코더(36)에 대한 역변환이 뒤따르는 양자화된 변환 계수의 스케일링을 갖는 하이브리드 비디오 코딩 접근법을 예시한다. 변환 및 양자화 관련 블록(28/32 및 52/54)가 강조하여 표시된다.
고효율 비디오 코딩(HEVC, H.265, ISO/IEC 23008-3) 및 현재 개발된 다목적 비디오 코딩(VVC, H.266)과 같은 최신 이미지 및 비디오 코딩 솔루션은 매우 낮은 비트 전송률에서도 정지 이미지 또는 동영상 콘텐츠를 효율적으로 압축할 수 있게 한다. 이러한 코덱(코더-디코더) 솔루션의 일반적인 사용 사례는 방송(예: 텔레비전) 및 스트리밍(예: video-over-IP) 애플리케이션을 위한 고해상도 비디오 자료의 손실 압축이다. 그럼에도 불구하고 코덱은 무손실 압축도 지원하므로 디코딩 시 코딩된 입력 신호를 수학적으로 완벽하게 복원할 수 있다. 더 구체적으로, HEVC는 엔트로피 코딩 프로세스를 단순화하고 양자화, 변환(DCT 또는 DST) 및 디블로킹 단계를 비활성화하여 무손실 코딩을 용이하게 하는, 트랜스퀀트 바이패스 코딩 모드와 함께 여러 가지 펄스 코드 변조(PCM) 관련 코딩 도구를 제공한다. 자세한 내용은 공개적으로 사용 가능한 HEVC 신택스 및 디코딩 사양에서 찾을 수 있다[1].
현재 개발 중인 HEVC의 후속 버전인 VVC에서, HEVC의 무손실 코딩 기능은 적어도 참조 코딩 및 디코딩 소프트웨어에서 대부분 인수되었다[2]. 이는 PCM 관련 코딩 도구과 변환 양자화 우회 코딩 모드가 HEVC 인코더와 현재 VVC 참조 인코더 모두에 의해 활성화될 수 있음을 의미한다. 또한, 변환 양자화 우회 코딩 플래그(1비트 신택스 요소)는 전체 비트스트림 또는 비트스트림의 픽쳐(프레임)에 대해서만이 아니고 상기 비트스트림 또는 프레임의 개별 서브블록(코딩 단위, CU 또는 변환 단위, TU)에 대해서도 지정된다. 즉, HEVC 및 VVC 모두에서 변환 양자화 바이패스 코딩은 서브블록 단위로 활성화될 수 있으며, 따라서 서브블록마다 개별적으로 양자화, 변환 및 디블록킹 코딩 도구를 비활성화할 수 있다.
최근에, 현재 VVC 초안에서 변환 스킵 코딩 기능의 특정 무손실 코딩 관련 단점을 수정하고, 또한 HEVC에도 존재하며, 주어진 코딩 서브블록(CU 또는 TU)에 대해 역 잔차 계수 변환 연산(역 DCT 또는 DST)이 우회되는 것을 지정하는, 상술된 바와 같은 JVET 내 VVC 표준화 활동에 대한 기여가 도입되었다. 보다 구체적으로, 이 기여는 활성화된 변환이 서브블록에서 건너뛰는 경우에, 양자화 매개변수(QP)에 의해 제어되는 양자화 단계 크기를 1(QP 4로 표시)보다 크거나 같은 값으로 제한할 것을 제안한다. 그 결과, 4의 QP와 상기 서브블록에 의해 커버되는 공간 영역에서 비활성화된 인루프 필터링에 의하면, 변환 스킵이 활성화되면 무손실 코딩이 달성될 수 있다. 그러나 이 동작은 변환 양자화 우회 코딩 모드의 사용과 동일한데, QP=4(즉, 단일 단계 크기)를 사용한 양자화가 양자화 알고리즘의 우회를 효과적으로 나타내기 때문이다.
또한, VVC 또는 유사한 손실 코딩 기능 및 도구 세트를 갖는 기타 비디오 코덱을 사용하여 허용 가능한 낮은 비트율로 무손실 코딩에 도달하려면, HEVC 및 이전 비디오 코딩 표준에서 사용할 수 없는 다른 새로 도입된 코딩 도구의 동작을 변경해야 할 수도 있다. 구체적으로,
- 새로 도입된 적응 루프 필터(ALF) 및 복원 도구를 비활성화하는 것이 바람직할 수 있다.
- 공동 크로마 변환의 행렬[3]은 무손실 코딩을 허용하도록 변경되어야 한다.
본 발명의 목적은 중복 무손실 코딩 능력(변환 양자화 우회 및 변환 스킵 기능 관련) 및 무손실 코딩이 바람직한 경우 일부 코딩 도구의 동작 세부 사항을 수정할 필요성이라는, 위에서 언급한 두 가지 결점에 대한 해결책을 제공하는 것이다.
따라서, 허용 가능한 낮은 비트율 및/또는 개선된 무손실 압축을 갖는 픽처 또는 비디오의 무손실 코딩에 대한 개념을 제공하는 것이 바람직하다.
이것은 본 출원의 독립 청구항의 주제에 의해 달성된다.
본 발명에 따른 추가 실시 예는 본 출원의 종속항의 주제에 의해 정의된다.
본 발명의 제 1 측면에 따르면, 본 출원의 발명자들은 픽처 또는 비디오의 무손실 코딩을 개선하려고 할 때 직면하는 한 가지 문제가 적응 루프 필터(ALF) 및 복원 도구와 같은 디코더 또는 인코더의 일부 도구가 손실 코딩을 초래한다는 사실에서 비롯된다는 것을 알았다. 본 출원의 제 1 측면에 따르면, 이 어려움은 픽처의 미리 결정된 부분의 무손실 복원 후에 정보의 손실을 피하기 위해 예측 잔차 보정된 예측 복원을 처리하기 위한 하나 이상의 도구를 비활성화함으로써 극복된다. 다시 말해서, 픽처의 미리 결정된 부분의 샘플의 복원 후 수정은 비활성화된다. 추가적으로, 제 1 측면은 픽처의 미리 결정된 부분에 대한 무손실 예측 잔차 코딩을 나타내는 신택스 요소의 필요성 없이 무손실 코딩을 위해 하나 이상의 도구가 비활성화될 수 있다는 아이디어에 기초한다. 디코더 및 인코더는 데이터 스트림에 포함된 복수의 코딩 매개변수에 기초하여 픽처의 미리 결정된 부분에 대해 무손실 예측 잔차 코딩이 사용되어야 한다고 추론하도록 구성될 수도 있고, 이에 의해 무손실 코딩의 명시적 시그널링이 필요하지 않다. 디코더는 픽처의 개별 부분에 대해 무손실 코딩과 손실 코딩 사이에서 유리하게 전환하도록 구성된다. 픽처의 개별 부분에 대한 무손실 코딩을 나타내는 추가 시그널링은 필요하지 않다. 이는 인코딩될 데이터의 양을 감소시키고 픽처의 미리 결정된 부분을 디코딩하는 데 사용되는 데이터의 양을 감소시킨다. 향상된 무손실 코딩 압축이 달성될 수 있다. 데이터 스트림이 픽처의 미리 결정된 영역 또는 전체 픽처가 무손실 코딩을 사용하여 코딩되는지 여부를 나타내는 무손실 코딩 신택스 요소를 포함하는 것이 가능하지만, 데이터 스트림이 픽처의 각 부분에 대해 무손실 코딩 신택스 요소를 포함하는 것은 더 이상 필요하지 않다. 이는 코딩 매개변수가 무손실 예측 잔차 코딩을 나타내는지 여부를 검사하는 디코더 및/또는 인코더의 능력 때문이다. 또한, 디코더 또는 인코더의 하나 이상의 도구 비활성화를 결합하고 복수의 코딩 매개변수가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 여부를 검사함으로써 더 높은 코딩 효율과 감소된 비트 전송률을 달성할 수 있음을 알았다.
따라서, 본 출원의 제 1 측면에 따르면, 데이터 스트림으로부터 픽처를 디코딩하기 위한 디코더는, 데이터 스트림에 포함되고, 픽처의 미리 결정된 부분과 관련되고, 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수, 예를 들어 양자화 매개변수(QP) 및/또는 변환 모드(TM)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내지를 확인하도록 구성된다. 손실 예측 잔차 코딩에 대응하는 이러한 코딩 매개변수 설정은 예를 들어 (QP, TM) = (4, 변환 스킵) 또는 (QP, TM) = (1…4, 변환 스킵)으로 표현된다. 코딩 매개변수 설정은 무손실 예측 잔차 코딩에 해당하는데 변환 모드가 변환 스킵인 경우 4보다 작은 양자화 매개변수(QP<4)를 4와 동일한 양자화 매개변수(QP=4)로 매핑하는 것과 같이, 코딩 매개변수 설정을 무손실 잔차 코딩으로 이어지는 코딩 매개변수 설정으로 해석하거나 변경하도록 구성되는 디코더에 의해 이러한 코딩이 코딩 매개변수 설정에 의해 즉시 시그널링되거나 이러한 코딩으로 이어지기 때문이다. 코딩 매개변수 설정의 이러한 해석 또는 변경은 복수의 코딩 매개변수에 기초할 수 있다. 디코더는 손실 또는 무손실 예측 잔차 코딩이 픽처의 미리 결정된 부분에 대해 사용될지 여부를 복수의 코딩 매개변수로부터 유도하도록 구성될 수도 있다. 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는 복수의 코딩 매개변수에 응답하여, 디코더는 미리 결정된 부분에 대한 예측 잔차 보정된 예측 복원을 처리하기 위한 디코더의 하나 이상의 도구, 예를 들어 디블로킹, 샘플 적응 오프셋 필터링(SAO) 및/또는 적응 루프 필터링(ALF)에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성되므로 미리 결정된 부분에 대해 하나 이상의 도구가 비활성화되도록 한다.
디코더와 병행하여, 픽처를 데이터 스트림으로 인코딩하기 위한 인코더는 데이터 스트림에서 복수의 코딩 매개변수를 시그널링하고 픽처의 미리 결정된 부분과 관련되고 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는 복수의 코딩 매개변수가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 여부를 확인하도록 구성된다. 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는 복수의 코딩 매개변수에 응답하여, 인코더는 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위한 인코더의 하나 이상의 도구와 관련된 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성되므로 인코더의 예측 루프에서 미리 결정된 부분과 관련하여 하나 이상의 도구가 비활성화된다.
본 발명의 제 2 측면에 따르면, 본 출원의 발명자들은 픽처나 비디오의 무손실 코딩을 개선하려고 할 때 발생하는 한 가지 문제가 무손실 코딩이 일반적으로 손실 코딩에 비해 훨씬 더 높은 비트 전송률을 생성한다는 사실에서 비롯된다는 것을 알았다. 본 출원의 제 2 측면에 따르면, 이 어려움은 무손실 코딩 및 손실 코딩을 위한 이진화에서 상이한 코드를 사용함으로써 극복된다. 무손실 코딩과 손실 코딩을 위해 서로 다른 이진화 사이를 전환하는 것이 가능하다. 손실의 경우의 이진화에 대해 감소된 계산 복잡도를 갖는 이진화가 무손실 코딩에 대한 비트레이트를 상당히 감소시키는 것으로 밝혀졌다. 손실 코딩과 비교하여 무손실 코딩의 경우에, 컨텍스트 모델링 및 이진 산술 코딩을 사용하는 CABAC에서 일반 코딩 모드 대신에 등확률 우회 모드 사용하여 더 많은 빈을 코딩하면, 예를 들어 계산 복잡성이 줄어든다. 따라서 처리 병목 현상을 방지할 수 있다.
따라서, 본 출원의 제 2 측면은 데이터 스트림으로부터 픽처를 디코딩하기 위한 디코더 및 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 관한 것이다. 디코더(인코더)는 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하도록 구성된다. 디코더(인코더)는 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터의 이진화 및 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩(인코딩)을 사용하여 미리 결정된 부분에 대한 데이터 스트림으로부터의 예측 잔차를 디코딩(인코딩)하도록 구성된다. 제 1 방식과 제 2 방식은 계산 복잡도가 제 2 방식에 비해 제 1 방식에서 감소하는 식으로 상이하다.
본 발명의 제 3 측면에 따르면, 본 출원의 발명자들은 픽처나 비디오의 무손실 코딩을 개선하려고 할 때 발생하는 한 가지 문제가 인코더에 의한 변환 또는 디코더에 의한 역변환은 픽처 또는 픽처의 일부의 수학적으로 완벽한 복원을 금지하는 정수로 반올림하는 단계를 요구할 수 있다는 사실에서 비롯된다는 것을 알았다. 따라서 현재 변환 프로세스는 무손실 코딩을 위해 우회되거나 비활성화된다. 본 출원의 제 3 측면에 따르면, 무손실 코딩을 위한 완전 가역 변환을 사용함으로써 이러한 어려움이 극복된다. 디코더/인코더는 무손실 코딩과 손실 코딩을 위한 서로 다른 변환 모드 사이를 전환하도록 구성된다. 완벽한 가역 변환을 사용하면 반올림 오류가 발생하지 않기 때문에 무손실 코딩이 달성될 수 있다. 완벽하게 가역적인 변환은 예를 들어, 인터-컴포넌트 변환 또는 스펙트럼 분해 인트라 컬러 컴포넌트 변환이다. 완벽하게 가역적인 변환을 표시 및/또는 제어하기 위해 데이터 스트림에 필요한 추가 신택스 요소가 있을 수 dT지만, 비트 전송률을 크게 줄일 수 있는 것으로 나타났으며, 이로써 코딩의 효율성이 증가될 수 있다.
따라서, 본 출원의 제 3 측면은 데이터 스트림으로부터 픽처를 디코딩하기 위한 디코더 및 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 관한 것이다. 디코더(인코더)는 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하도록 구성된다. 디코더(인코더)는 미리 결정된 부분의 예측 잔차 또는 예측 잔차 정정된 복원(예를 들어, 인코더의 예측 루프에서)에 대해 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 완벽하게 가역적인 변환, 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 불완전하게 가역적인 변환을 수행하도록 구성된다.
본 발명의 제 4 측면에 따르면, 본 출원의 발명자들은 픽처 또는 비디오의 무손실 코딩을 개선하려고 할 때 직면하는 한 가지 문제가 평활화 필터가 정보의 손실을 초래한다는 사실에서 비롯된다는 것을 알았다. 본 출원의 제 4 측면에 따르면, 이러한 어려움은 무손실로 디코딩되거나 인코딩될 픽처의 일부에 대한 손실 코딩과 비교하여 예측 신호를 획득하기 위해 사용되는 필터링을 디스에이블하거나 감소시킴으로써 극복된다. 부분에 대한 필터링을 비활성화하면 데이터 스트림에서 필터링 관련 신택스 요소가 발생하지 않으므로 개선된 비트 스트림 압축이 달성될 수 있다. 대안적으로, 픽처의 일부에 대한 예측 신호는 손실 코딩의 경우에 비해 무손실 코딩의 경우에서 더 적은 필터이다. 예를 들어, 무손실 코딩의 경우 보간 필터가 적용될 수 있으며, 여기서 예측 신호의 전체 공간 주파수 스펙트럼 중 더 높은 주파수 절반은 손실 코딩의 경우보다 무손실 코딩의 경우 더 높은 에너지를 갖는다. 이것은 예측 신호의 유도에서 가능한 한 적게 무손실 코딩의 경우 예측 신호를 변경하는 것이 유리하다는 아이디어에 기초한다. 예측 신호의 더 높은 정보 내용을 초래하는 무손실 코딩을 위한 특수 필터링 옵션에 의하면 비트 전송률의 감소와 고 효율성이 결과된다고 밝혀졌다.
따라서, 본 출원의 제 4 측면은 데이터 스트림으로부터 픽처를 디코딩하기 위한 디코더 및 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 관한 것이다. 디코더(인코더)는 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하도록 구성된다. 디코더(인코더)는 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 미리 결정된 부분에 대한 예측 신호를 유도하도록 구성된다. 제 1와 제 2 방식은, 예측 신호는 제 2 방식보다 제 1 방식으로 예를 들어, 보간 필터를 사용하여 덜 필터링되거나, 제 2 방식으로 필터링되는 동안 제 1 방식으로 필터링되지 않는 식으로 상이하다.
본 발명의 제 5 측면에 따르면, 본 출원의 발명자들은 픽처 또는 비디오의 무손실 코딩을 개선하려고 할 때 발생하는 한 가지 문제가 인루프 필터 및/또는 양자화로 인해 정보가 손실된다는 사실에서 비롯된다는 것을 알았다. 본 출원의 제 5 측면에 따르면, 이 어려움은 미리 결정된 부분에 대한 예측 잔차 보정된 예측 복원을 처리하기 위한 디코더/인코더의 하나 이상의 도구를 비활성화함으로써 및/또는 예측 잔차 재양자화/양자화를 위해 디코더/인코더의 하나 이상의 도구를 디스에이블함으로써 극복된다. 부분에 대한 도구의 비활성화에 의하면 데이터 스트림에서 후처리 관련 신택스 요소 및/또는 (재)양자화 관련 신택스 요소의 양이 감소하거나 없음이 결과되므로, 이로써 개선된 비트 스트림 압축이 달성될 수 있다.
따라서, 본 출원의 제 5 측면은 데이터 스트림으로부터 픽처를 디코딩하기 위한 디코더 및 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 관한 것이다. 디코더(인코더)는 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하도록 구성된다. 디코더(인코더)는 다음을 추론하도록 구성된다. 미리 결정된 부분에 대해 및/또는 예측 잔차 재양자화(양자화)에 대해 (예를 들어, 인코더의 예측 루프에서) 예측 잔차 정정된 예측 복원을 처리하기 위한 디코더(인코더)의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션은 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 하나 이상의 도구가 미리 결정된 부분에 대해 비활성화되도록 설정되고, 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우, 복수의 코딩 매개변수로부터 하나 이상의 미리 결정된 코딩 옵션을 유도하여 설정된다는 것을 추론하도록 구성된다.
본 발명의 제 6 측면에 따르면, 본 출원의 발명자들은 픽처나 비디오의 무손실 코딩을 개선하려고 할 때 발생하는 한 가지 문제가 인코딩될 비디오와 연관되거나 디코더에 의해 출력될 비디오와 연관된 비트 심도, 즉 입력 비트 심도와 내부 비트 심도 사이의 차이가 정보 손실을 초래한다는 사실에서 비롯된다는 것을 알았다. 본 출원의 제 6 측면에 따르면, 이러한 어려움은 비트 심도 천이를 수행함으로써 극복된다. 따라서 입력 비트 심도 또는 입력 비트 심도와 내부 비트 심도 간의 차이는 인코더에 의해 데이터 스트림으로 인코딩되고 디코더에 의해 데이터 스트림에서 읽힌다. 대안적으로, 입력 비트 심도 또는 전술한 차이는 양자화 매개변수(QP)와 같은 하나 이상의 코딩 매개변수에 의해 표시될 수 있다. 입력 비트 심도 또는 차이에 대한 정보로 디코더는 입력 비트 심도에서 비디오를 출력하도록 구성되며, 이로써 비디오 출력의 비트 심도는 인코더에 의해 인코딩된 비디오 입력의 비트 심도와 같게 된다. 따라서 무손실 코딩이 달성될 수 있다. 비트 심도가 하나 이상의 매개변수로 표시되는 경우 추가 신택스 요소가 필요하지 않고, 이로써 개선된 비트 스트림 압축이 달성될 수 있다. 디코더가 비디오를 출력할 비트 심도인, 입력 비트 심도는 - 입력 비트 심도가 인코더가 인코딩을 위해 비디오를 수신하는 비트 심도라는 사실에서 이름을 가짐 - 내부 비트 심도와 같을 필요가 없지만 인코더와 디코더가 데이터 스트림에서 두 비트 심도가 동일한 하나 및 그러지 않은 경우 하나 이상을 포함할 수 있는 상이한 설정을 가능하게 한다는 것에 유의한다.
따라서, 본 출원의 제 6 측면은 비디오 디코더 및 비디오 인코더에 관한 것이다. 디코더는 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오를 출력하도록 구성된다. 디코더와 병행하여, 인코더는 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력을 수신하도록 구성된다. 예를 들어 출력 비디오 및/또는 입력 비디오는 입력 비디오 및/또는 출력 비디오의 비트 심도의 경우, 내부 비트 심도와 연결되는데, 즉, 입력 비트 심도는 내부 비트 심도와 동일하다. 또한 디코더(인코더)는 입력 비트 심도 및/또는 내부 비트 심도와 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 데이터 스트림으로부터(으로) 읽기(인코딩)하도록 구성된다.
따라서, 본 출원의 제 6 측면은 데이터 스트림으로부터 내부 비트 심도로 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도로 비디오를 출력하도록 구성된 비디오 디코더에 관한 것이다. 비디오 디코더와 병행하여, 비디오 인코더는 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력을 수신하도록 구성된다. 출력 비디오 및/또는 입력 비디오는, 예를 들어, 입력 비디오 및/또는 출력 비디오의 비트 심도인 경우 내부 비트 심도와 연관되며, 즉, 입력 비트 심도는 내부 비트 심도와 동일하다. 또한 디코더(인코더)는 양자화 단계 크기 스케일 매개변수(QP 최소값), 즉 절대적 또는 상대적 양자화 단계 크기, 재양자화 단계 크기 또는 스케일링 매개변수에 대한 최소값을 나타내는 신택스 요소를 데이터 스트림으로부터(안으로) 읽기(인코딩)하도록 구성된다. 최소 양자화 단계 크기 스케일 매개변수는 단위 단계 크기를 나타낼 수 있으며, 즉, 양자화 매개변수는 4와 동일하다. 예를 들어, 신택스 요소는 내부 비트 심도와 입력 비트 심도 간의 0이 아닌 차이로 인해 양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타낸다. 디코더는 위에서 설명한 대로 차이를 전송하거나, 두 값, 즉 내부 비트 심도와 입력 비트 심도를 전송함으로써, 예를 들어 QP 최소값 외에, 내부 비트 심도와 입력 비트 심도 사이의 이러한 차이를 알 수 있다. 4보다 다른 QP는 무손실 코딩을 일으키거나 거의 초래할 수 있다. 4보다 작은 QP는 디코더에 의해 4와 같은 QP로 적응될 수 있다. QP 최소값이 4로 설정되면 무손실 코딩이 된다.
따라서, 본 출원의 제 6 측면은, 내부 비트 심도와 입력 비트 심도의 표시 또는 동일한 비트 심도의 차이를 데이터 스트림으로부터(으로) 디코딩(인코딩)하고 내부 비트 심도에서 데이터 스트림을 데이터 스트림으로부터(으로) 비디오 디코딩(인코딩)을 수행하도록 구성된 비디오 디코더(인코더)에 관한 것이다. 추가적으로, 디코더는 입력 비트 심도로 비디오를 출력하도록 구성되고 인코더는 입력 비트 심도에서 비디오, 즉 비디오 입력을 수신하도록 구성된다. 디코더(인코더)는 내부 비트 심도가 입력 비트 심도 아래로 떨어지는지 확인하고 입력 비트 심도에 대응하도록 내부 비트 심도를 변경하도록 구성된다. 따라서 입력 비트 심도와 내부 비트 심도의 차이가 정정되어 무손실 코딩이 달성된다.
실시 예들은 전술한 인코더 및/또는 디코더와 동일한 고려사항에 기초한 방법에 관한 것이다. 이 때 방법은 인코더 및/또는 디코더와 관련하여 설명된 모든 특징 및 기능으로 완료될 수 있다.
실시 예는 컴퓨터 상에서 실행될 때 본 명세서에 기술된 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램에 관한 것이다.
실시 예는 픽처 신호의 블록 기반 인코딩 방법에 의해 획득되는 데이터 스트림에 관한 것이다.
도면은 반드시 축척에 맞춰진 것은 아니며, 대신 일반적으로 본 발명의 원리를 설명하는 데 중점을 둔다. 이하 설명에서, 본 발명의 다양한 실시 예는 다음 도면을 참조하여 설명된다:
도 1a는 인코더의 개략도를 도시한다;
도 1b는 대안적인 인코더의 개략도를 도시한다;
도 2는 디코더의 개략도를 도시한다;
도 3은 블록 기반 코딩의 개략도를 도시한다;
도 4는 최근 비디오 코딩 표준에서의 디코더측 스케일링 및 역변환의 개략도를 도시한다;
도 5는 일 실시 예에 따른 디코더측 스케일링 및 역변환의 개략도를 도시한다;
도 6은 일 실시 예에 따른 디코더 및/또는 인코더에 의해 수행되는 무손실 코딩 검사의 개략도를 도시한다;
도 7은 상이한 이진화를 무손실 또는 손실 코딩에 의존하여 사용하는 방법의 블록도를 도시한다;
도 8은 무손실 코딩을 위한 완전 가역 변환을 사용하는 방법의 블록도를 도시한다;
도 9는 무손실 또는 손실 코딩에 의존하는 예측 신호의 유도를 위한 방법의 블록도를 도시한다;
도 10은 무손실 또는 손실 코딩에 의존하는 하나 이상의 미리 결정된 코딩 옵션을 설정하기 위한 방법의 블록도를 도시한다;
도 11a 및 도 11b는 제 1 실시 예에 따른, 입력 비트 심도 및 내부 비트 심도를 고려하는 방법의 블록도를 도시한다;
도 12a 및 도 12b는 제 2 실시 예에 따른, 입력 비트 심도 및 내부 비트 심도를 고려하는 방법의 블록도를 도시한다; 및
도 13a 및 도 13b는 제 3 실시 예에 따른, 입력 비트 심도 및 내부 비트 심도를 고려하는 방법의 블록도를 도시한다.
동일하거나 동등한 요소 또는 동일하거나 동등한 기능을 갖는 요소는 상이한 도면에서 발생하더라도 동일하거나 동등한 참조 번호로 이하의 설명에서 표시된다.
이하 설명에서, 본 발명의 실시 예의 보다 완전한 설명을 제공하기 위해 복수의 세부사항이 제시된다. 그러나, 본 발명의 실시 예가 이러한 특정 세부사항 없이 실시될 수 있음은 당업자에게 명백할 것이다. 다른 예에서, 잘 알려진 구조 및 장치는 본 발명의 실시 예를 모호하게 하는 것을 피하기 위해 상세하게 보다는 블록도 형태로 도시된다. 또한, 이후에 설명되는 상이한 실시 예들의 특징들은 달리 구체적으로 언급되지 않는 한 서로 결합될 수 있다.
도면에 대한 다음 설명은 본 발명의 실시 예가 구축되어 있는 코딩 프레임워크에 대한 예를 형성하기 위해서, 비디오의 픽처들을 코딩하기 위한 블록 기반 예측 코덱의 인코더 및 디코더에 대한 설명으로 시작한다. 각각의 인코더 및 디코더는 도 1a 내지 3과 관련하여 설명된다. 본 발명의 개념에 대한 상세한 실시 예는 각각 도 1a, 1b 및 도 2의 인코더 및 디코더에 구축될 수 있지만, 도 4 내지 6과 관련하여 설명된 실시 예는 도 1a, 1b 및 도 2의 인코더 및 디코더의 기초가 되는 코딩 프레임워크에 따라 동작하지 않는 인코더 및 디코더를 형성하는 데에 또한 사용될 수도 있다.
도 1a는 예시적으로 변환 기반 잔차 코딩을 사용하여 픽처(12)를 데이터 스트림(14)으로 예측 코딩하기 위한 장치 (예를 들어, 비디오 인코더 및/또는 픽처 인코더)를 도시한다. 장치 또는 인코더는 참조 부호 10을 사용하여 표시된다. 도 1b는 픽처(12)를 데이터 스트림(14)로 예측 코딩하기 위한 장치를 도시하며, 여기서 가능한 예측 모듈(44)이 더욱 상세히 도시한다. 도 2는 대응하는 디코더(20), 즉 변환 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 픽처(12')를 예측적으로 디코딩하도록 구성된 장치(20)를 도시하며, 여기서 어포스트로피는 디코더(20)에 의해 복원된 픽처(12')가 예측 잔차 신호의 양자화에 의해 도입된 코딩 손실의 관점에서 장치(10)에 의해 원래 인코딩된 픽처(12)로부터 벗어나는 것을 나타내기 위해 사용되었다. 도 1a, 1b 및 도 2는 변환 기반 예측 잔차 코딩을 예시적으로 사용하지만, 본 출원의 실시 예는 이러한 종류의 예측 잔차 코딩으로 제한되지 않는다. 이것은 이하에서 설명되는 바와 같이, 도 1a, 1b 및 도 2와 관련하여 설명된 다른 세부 사항에 대해서도 마찬가지이다.
인코더(10)는 예측 잔차 신호를 공간 스펙트럼 변환에 적용하고, 이렇게 획득된 예측 잔차 신호를 데이터 스트림(14)으로 인코딩하도록 구성된다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터의 예측 잔차 신호를 디코딩하고 이렇게 획득된 예측 잔차 신호에 스펙트럼 공간 변환을 적용하도록 구성된다.
내부적으로, 인코더(10)는 원본 신호, 즉 픽처(12)으로부터의 예측 신호(26)의 편차를 측정하기 위해 예측 잔차(24)를 생성하는 예측 잔차 신호 생성기(22)를 포함할 수 있으며, 여기서 예측 신호(26)는 본 발명의 일 실시 예에 따른 하나 이상의 예측기 블록의 세트의 선형 조합으로 해석될 수 있다. 예를 들어, 예측 잔차 신호 생성기(22)는 원본 신호, 즉 픽처(12)로부터 예측 신호를 감산하는 감산기일 수 있다. 그 다음, 인코더(10)는 또한 인코더(10)에 의해 포함된 양자화기(32)에 의해 양자화되는 스펙트럼 영역 예측 잔차 신호(24')를 획득하기 위해 예측 잔차 신호(24)를 공간-스펙트럼 변환에 적용하는 변환기(28)를 더 포함한다. 이렇게 양자화된 예측 잔차 신호(24")는 비트스트림(14)으로 코딩된다. 이를 위해, 인코더(10)는 데이터 스트림(14)으로 변환 및 양자화된 바와 같이 예측 잔차 신호를 엔트로피 코딩하는 엔트로피 코더(34)를 선택적으로 포함할 수 있다.
예측 신호(26)는 데이터 스트림(14)으로 인코딩되고 이로부터 디코딩 가능한 예측 잔차 신호(24")에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 생성된다. 이를 위해, 예측 스테이지(36)는 도 1a에 도시된 바와 같이, 양자화 손실을 제외하고 신호(24')에 대응하는 스펙트럼 영역 예측 잔차 신호(24"')를 얻기 위해 예측 잔차 신호(24")를 역 양자화하는 역 양자화기(38)와, 양자화 손실을 제외하고 원본 예측 잔차 신호(24)에 대응하는 예측 잔차 신호(24"")를 얻기 위해 후자의 예측 잔차 신호(24"')에 역변환, 즉 스펙트럼-공간 변환을 적용하는 역 변환기(40)를 포함하고 있다. 예측 스테이지(36)의 결합기(42)는 예를 들어 예측 신호(26) 및 예측 잔차 신호(24"")를 더하는 것으로 재결합하여, 복원 신호(46), 즉 원본 신호(12)의 복원 신호을 획득한다. 복원 신호(46)는 신호(12')에 대응할 수 있다. 예측 스테이지(36)의 예측 모듈(44)은 도 1b에서 더욱 상세히 도시된 바와 같이, 예를 들어 공간 예측, 즉 인트라 예측 및/또는 시간 예측, 즉 인터 예측을 사용함으로써 신호(46)에 기초하여 예측 신호(26)를 생성한다.
마찬가지로, 도 2에서 나타낸 바와 같이, 디코더(20)는 예측 스테이지(36)에 대응하고 대응하도록 상호 연결되는 구성 요소로 구성될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 양자화된 스펙트럼 영역 예측 잔차 신호(24")를 데이터 스트림으로부터 엔트로피 디코딩할 수 있으며, 이에 따라 예측 스테이지(36)의 모듈에 대해 전술한 방식으로 상호 연결되고 협력하는 역 양자화기(52), 역 변환기(54), 결합기(56) 및 예측 모듈(58)은 예측 잔차 신호(24")에 기초하여 복원 신호를 복구하므로, 도 2에 도시된 바와 같이 결합기(56)의 출력은 복원 신호, 즉 픽처(12')가 결과된다.
위에서 구체적으로 설명하지 않았지만, 인코더(10)가 예를 들어, 일부 속도 및 왜곡 관련 기준, 즉 코딩 비용을 최적화하는 방식으로와 같이, 일부 최적화 방식에 따라, 예를 들어 예측 모드, 움직임 매개변수 등을 포함하는 일부 코딩 매개변수를 설정할 수 있다는 것은 명백하다. 예를 들어, 인코더(10) 및 디코더(20) 및 대응하는 모듈(44, 58)은 각각 인트라 코딩 모드 및 인터 코딩 모드와 같은 상이한 예측 모드를 지원할 수 있다. 인코더와 디코더가 이들 예측 모드 유형 사이에서 전환하는 입도(granularity)는 각각 픽처(12 및 12')를 코딩 세그먼트 또는 코딩 블록으로 세분화하는 것에 대응할 수 있다. 예를 들어, 이러한 코딩 세그먼트의 단위로, 픽처는 인트라 코딩되는 블록과 인터 코딩되는 블록으로 세분화될 수 있다.
인트라 코딩된 블록은 이하 더 자세히 설명된 것처럼 각 블록(예를 들어, 현재 블럭)의 공간적으로, 이미 코딩/디코딩된 이웃 블록(예를 들어, 현재 템플릿)을 기반으로 예측된다. 몇개의 인트라 코딩 모드는 존재할 수 있으며 각각의 방향성 인트라 코딩 모드에 특정한 특정 방향을 따라 이웃 블록의 샘플 값을 각각의 인트라 코딩된 세그먼트로 외삽하여 각 세그먼트가 채워지는 것에 따라 방향성 또는 각도 인트라 코딩 모드를 포함하여 각 인트라 코딩된 세그먼트에 대해 선택될 수 있다. 인트라 코딩 모드는 각 인트라 코딩된 블록에 대한 예측이 각 인트라 코딩된 세그먼트 내의 모든 샘플에 DC 값을 할당하는 것에 따른 DC 코딩 모드, 및/또는 인접한 샘플을 기반으로 2 차원 선형 함수에 의해 정의된 평면의 기울기 및 오프셋을 구동하여 각각의 블록의 예측이 각각의 인트라 코딩된 블록의 샘플 위치에 대해 2 차원 선형 함수에 의해 설명된 샘플 값의 공간 분포인 것으로 추정되거나 결정되는 것에 따른 평면 인트라 코딩 모드와 같은, 하나 이상의 추가 모드를 포함할 수 있다.
이에 비해, 인터 코딩된 블록은 예를 들어 시간적으로 예측될 수 있다. 인터 코딩된 블록의 경우, 움직임 벡터는 데이터 스트림(14) 내에서 시그널링될 수 있으며, 이 움직임 벡터는 픽처(12)가 속한 비디오의 이전 코딩된 픽처(예를 들어, 참조 픽처)의 일부의 공간 변위를 나타내며, 여기서 각각의 인터 코딩된 블록에 대한 예측 신호를 얻기 위해 이전에 코딩된/디코딩된 픽처가 샘플링된다. 이는 양자화된 스펙트럼 영역 예측 잔차 신호(24")를 나타내는 엔트로피 코딩된 변환 계수 레벨과 같은 데이터 스트림(14)에 포함된 잔차 신호 코딩에 추가하여, 데이터 스트림(14)은 코딩 모드를 다양한 블록에 할당하기 위한 코딩 모드 매개변수, 인터 코딩된 세그먼트에 대한 움직임 매개변수와 같은 일부 블록에 대한 예측 매개변수, 및 픽처(12 및 12')의 각각 세그먼트로의 세분화를 제어하고 시그널링하는 매개변수와 같은 선택적 추가 매개변수로 인코딩될 수 있다. 디코더(20)는 이들 매개변수를 사용하여 인코더가 했던 것과 동일한 방식으로 픽처를 세분화하고, 세그먼트에 동일한 예측 모드를 할당하고, 동일한 예측을 수행하여 동일한 예측 신호를 생성한다.
도 3은 한편의 복원 신호, 즉 복원 픽처(12')과 다른 한편에서는 데이터 스트림(14)에서 시그널링된 예측 잔차 신호(24"")와 예측 신호(26)의 조합 간의 관계를 나타낸다. 위에서 이미 언급한 바와 같이, 조합은 더하기일 수 있다. 예측 신호(26)는 빗금으로 예시적으로 표시되는 인트라 코딩된 블록 및 빗금 표시되지 않은 것으로 예시적으로 표시되는 인터 코딩된 블록으로 픽처 영역을 세분화한 것으로 도 3에 도시되어 있다. 세분화는 픽처 영역의 정사각형 블록 또는 비 정사각형 블록의 행과 열로의 정규 세분화, 또는 쿼드트리 세분화 등과 같이 픽처(12)를 트리 루트 블럭으로부터 다양한 크기의 복수의 리프 블록으로의 다중트리 세분화 등과 같은, 세분화가 가능하고, 여기서 이들의 혼합은 픽처 영역이 먼저 트리루트 블록의 행과 열로 세분화된 다음에 반복적인 다중 트리 세분화에 따라 하나 이상의 리프 블록으로 더욱 세분화되는, 도 3에서 도시되어 있다.
다시, 데이터 스트림(14)은 각각의 인트라 코딩된 블록(80)에 여러 지원되는 인트라 코딩 모드 중 하나를 할당하는, 인트라 코딩된 블록(80)에 대해 인트라 코딩 모드가 내에 코딩되어 있을 수 있다. 인터 코딩된 블록(82)에 대해, 데이터 스트림(14)은 내에 코딩된 하나 이상의 움직임 매개변수를 가질 수 있다. 일반적으로 말하면, 인터 코딩된 블록(82)은 시간적으로 코딩되는 것으로 제한되지 않는다. 대안적으로, 인터 코딩된 블록(82)은 픽처(12)가 속한 비디오의 사전에 코딩된 픽처, 또는 인코더 및 디코더가 각각 스케일러블 인코더 및 디코더인 경우 다른 뷰 또는 계층적으로 하위인 계층의 픽처과 같은, 현재 픽처(12) 자체를 넘어 이전에 코딩된 부분으로부터 예측된 임의의 블록일 수 있다.
도 3의 예측 잔차 신호(24"")는 또한 픽처 영역이 블록(84)으로 세분화된 것으로 도시된다. 이들 블록은 코딩 블록(80 및 82)과 구별하기 위해서 변환 블록이라고 불릴 수 있다. 실제로, 도 3에서 인코더(10) 및 디코더(20)는 픽처(12) 및 픽처(12')을 각각 블록으로 두 개의 다른 세분화를 사용하며, 즉 하나는 각각 코딩 블록(80 및 82)으로 세분화하고, 다른 것은 변환 블록(84)으로 세분화한다. 두 세분화는 동일할 수 있는데, 즉 각 코딩 블록(80 및 82)은 동시에 변환 블록(84)을 형성하지만, 도 3은 예를 들어, 변환 블록(84)으로의 세분화가 코딩 블록(80/82)으로의 세분화의 확장을 형성하여 두 블록(80 및 82) 사이의 임의의 경계가 두 블록(84) 사이의 경계와 중첩하거나, 또는 대안적으로 말해서 각 블록(80, 82)은 변환 블록(84) 중 하나와 일치하거나 또는 변환 블록(84)의 클러스터와 일치하는 경우를 도시한다. 그러나, 변환 블록(84)이 대안적으로 블록(80, 82) 사이의 블록 경계와 교차할 수 있도록 세분화가 서로 독립적으로 결정되거나 선택될 수도 있다. 변환 블록(84)으로의 세분화에 관한 한, 블록(80, 82)으로의 세분화와 관련하여 유사한 것이 사실이다. 즉, 블록(84)은 픽처 영역을 블럭들로 (열과 행으로 배열되든 되지않든) 정규적 세분화한 결과이며, 픽처 영역의 반복적 다중 트리 세분화의 결과이며, 또는 이들의 조합 또는 임의의 다른 종류의 블록일 수 있다. 간단히 블록(80, 82 및 84)은 2차원적, 직사각형 또는 그 외 어느 모양으로나 제한되지 않는다는 점에 유의해야 한다.
도 3은 예측 신호(26) 및 예측 잔차 신호(24"")의 조합이 직접적으로 복원 신호(12')가 결과됨을 더욱 도시한다. 그러나, 하나 이상의 예측 신호(26)는 대안적인 실시 예에 따르면 예측 잔차 신호(24"")와 결합되어 픽처(12')가 결과될 수 있음에 유의해야 한다.
도 3에서, 변환 블럭(84)은 다음과 같은 의미를 가져야 한다. 변환기(28) 및 역 변환기(54)는 이들 변환 블럭(84)의 단위로 이들의 변환을 수행한다. 예를 들어, 많은 코덱은 모든 변환 블록(84)에 대해 일종의 DST(이산 사인 변환) 또는 DCT(이산 코사인 변환)를 사용한다. 일부 코덱은 변환 블럭(84)의 일부에 대해, 예측 잔차 신호가 공간 영역에서 직접 코딩되도록 변환을 스킵하는 것을 허용한다. 그러나, 이하 설명되는 실시 예들에 따르면, 인코더(10) 및 디코더(20)는 이들이 여러 변환을 지원하는 방식으로 구성된다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환은 다음을 포함할 수 있다:
o DCT-II (또는 DCT-III), 여기서 DCT는 이산 코사인 변환을 나타낸다.
o DST-IV, 여기서 DST는 이산 사인 변환을 나타낸다.
o DCT-IV
o DST-VII
o ID 변환(IT)
당연히, 변환기(28)는 이러한 변환의 모든 순방향 변환 버전을 지원하지만, 디코더(20) 또는 역 변환기(54)는 대응하는 역방향 또는 역 버전을 지원한다.
o 역 DCT-II(or 역 DCT-III)
o 역 DST-IV
o 역 DCT-IV
o 역 DST-VII
o ID 변환(IT)
후속 설명은 인코더(10) 및 디코더(20)에 의해 지원될 수 있는 변환에 대한 더 많은 세부 사항을 제공한다. 어떠한 경우에도, 지원되는 변환 세트는 하나의 스펙트럼 공간 또는 공간 스펙트럼 변환과 같은 변환만을 포함하지만, 변환이 인코더 또는 디코더에 의해 또는 단일 블럭(80, 82, 84)에 대해 전혀 사용되지 않을 수도 있다.
위에서 이미 개략적으로 설명된 바와 같이, 도 1a 내지 도 3은 본 출원에 따른 인코더 및 디코더에 대한 특정 예를 형성하기 위해 본 명세서에 설명된 본 발명의 개념이 구현될 수 있는 예로서 제시되었다. 지금까지, 도 1a, 1b 및 2의 인코더 및 디코더는 각각 앞서 본 명세서에서 설명된 인코더 및 디코더의 가능한 구현을 나타낼 수 있다. 그러나 도 1a, 1b 및 2는 예시일 뿐이다. 그러나, 본 출원의 실시 예들에 따른 인코더는 이전 또는 이후에 더 상세히 설명된 개념을 사용하여 픽처(12)의 블록 기반 인코딩을 수행할 수 있으며, 예를 들어, 블록(80)으로의 세분화가 도 3에 예시된 것과 다른 방식으로 수행되고/되거나 변환(예를 들어, 변환 스킵/식별 변환)이 전혀 사용되지 않거나 단일 블록에 대해 사용되지 않는다는 점에서 도 1a 또는 도 1b의 인코더와 다르다. 마찬가지로, 본 출원의 실시 예에 따른 디코더는 아래에 추가로 설명되는 코딩 개념을 사용하여 데이터 스트림(14)으로부터 픽처(12')의 블록 기반 디코딩을 수행할 수 있지만, 이 디코더는 예를 들어 픽처(12')를 도 3과 관련하여 설명된 것과 다른 방식으로 블록으로 세분하고/하거나 공간 도메인에서가 아닌 변환 도메인에서 데이터 스트림(14)으로부터 예측 잔차를 유도하지 않고/않거나 단일 블록에 변환을 전혀 사용하지 않는다는 점에서 도 2의 디코더(20)와 다르다.
일 실시 예에 따르면, 이하에서 설명되는 본 발명의 개념은 인코더의 변환기(28)/역 변환기(40) 및 양자화기(32)/역양자화기(38) 또는 디코더의 역 변환기(54) 및 역양자화기(52)에 관한 것일 수 있다. 일 실시 예에 따르면, 변환기(28), 역 변환기(40, 54), 양자화기(32) 및/또는 역양자화기(38, 52)는 픽처 블록의 무손실 코딩을 위해 비활성화될 수 있고, 여기서 무손실 코딩은 양자화 매개변수 및 변환 모드와 같은 코딩 매개변수에 의해 표시된다. 본 발명의 개념은 또한 예측 잔차(24'') 및/또는 예측 신호(26) 및/또는 예측 잔차 정정된 예측 복원(46)의 추가 처리에 관한 것일 수 있으며, 여기서 초점은 무손실 코딩에서 디코더/인코더의 기능에 대한 것이다.
양자화 단계 크기, 즉 양자화 정확도는 후술하는 바와 같이 선택된 변환 및 변환 블록 크기에 따라 달라질 수 있다. 설명은 디코더 관점에서 작성되었으며 양자화 단계 크기를 갖는 디코더 측 스케일링(52)(곱셈)은 단계 크기에 의한 인코더 측 분할의 역(가역 불가)인 것으로 볼 수 있다.
디코더 측에서는, H.265/HEVC와 같은 현재 비디오 코딩 표준에서 (양자화된) 변환 계수 레벨의 스케일링(52), 즉 역양자화는 도 4에 도시된 바와 같이 더 높은 정밀도로 DCT/DST 정수 변환으로 인한 변환 계수를 위해 설계되었다. 거기에서 변수 bitDepth는 이미지 샘플의 비트 심도, 예를 들어, 8 또는 10비트를 지정한다. 변수 log2TbW 및 log2TbH는 각각 변환 블록 너비와 높이의 이진 로그를 지정한다. 도 4는 H.265/HEVC와 같은 최근 비디오 코딩 표준에서의 디코더측 스케일링(52) 및 역변환(54)을 도시한다.
디코더에서, 2개의 1D DCT/DST 기반 정수 변환(1281)은
Figure pct00002
의 추가 인자를 도입하고, 이는 역으로 스케일링하여 보상되어야 한다는 것에 유의한다. 홀수 log2TbH + log2TbW를 갖는 정사각형이 아닌 블록의 경우, 스케일링에는 √2의 인수가 포함된다. 이것은 181/256의 스케일 팩터를 추가하거나 이 경우에 대해 해당 팩터를 통합하는 다른 levelScale 값 세트, 예를 들어,
Figure pct00003
를 사용하여 고려될 수 있다. ID 변환 또는 변환 스킵 케이스(1282)의 경우에는, 이것은 적용되지 않는다.
단계 크기 또는 배율 인수 (
Figure pct00004
)는 4보다 작은 QP에 대해서는 1보다 작아지는데, 이는 이러한 QP의 levelScale이 64=26보다 작기 때문인 것으로 볼 수 있다. 변환 계수의 경우, 이것은 정수 순방향 변환(1281)이 잔차 신호의 정밀도 및 결과적으로 동적 범위를 증가시키기 때문에 문제가 되지 않는다. 그러나, 단위 변환 또는 변환 스킵(1282)의 경우 잔차 신호에 대해서는 동적 범위의 증가가 없다. 이 경우, 1보다 작은 스케일링 계수는, 1인 스케일링 계수를 갖는, QP < 4에 대한 왜곡을 유발할 수 있다. 이것은 QP를 줄이면 왜곡이 감소해야 하는 양자화기 설계 의도와 모순된다.
선택한 변환에 따라 양자화 단계 크기를 변경하는 것, 예를 들어 변환을 건너뛰는지 여부는 변환 스킵(1282)에 대한 다른 양자화 단계 크기를 유도하는 데 사용될 수 있다. 특히 가장 낮은 QP 0,1,2 및 3에 대해, 이것은 가장 낮은 QP에 대해 1보다 작은 양자화 단계 크기/스케일링 팩터를 갖는 문제를 해결할 것이다. 도 5에 표시된 한 예에서, 솔루션은 양자화 매개변수를 4인 최소 허용 값(QP')으로 클리핑(53)하는 것으로, 결과적으로 1보다 작을 수 없는 양자화 단계 크기가 생성된다. 그 외에도 bdShift1을 사용한 크기 종속 정규화(541) 및 변환에 필요한 bdShift2를 사용한 비트 심도로 최종 반올림(542)은 변환 경로(54)로 이동할 수 있다. 이렇게 하면 반올림을 통해 10비트 다운시프트로의 변환 스킵 스케일링을 줄일 수 있다. 다른 예에서, 인코더가 QP 값을 4로 클리핑하는 대신 변환 스킵에 대해 1 미만의 스케일링 인자를 초래하는 QP 값을 사용하는 것을 허용하지 않는 비트스트림 제한이 정의될 수 있다. 도 5는 본 발명에 따른 개선된 디코더측 스케일링(52) 및 역변환(54)을 도시한다.
비트 전송률 범위의 다른 쪽 끝에서, 즉 더 낮은 비트 전송률의 경우, 식별 변환(1282)을 위한 양자화 단계 크기는 오프셋만큼 감소되고, 이로 인해 변환을 적용하지 않거나 식별 변환(1282)을 적용하는 블록에 대해 더 높은 충실도가 결과된다. 이것은 인코더가 더 높은 압축 효율을 달성하기 위해 변환 스킵 블록에 대한 적절한 QP 값을 선택할 수 있게 한다. 이 측면은 아이덴티티 변환/변환 스킵(1282)에 국한되지 않으며, 오프셋에 의해 다른 변환 유형(1281)에 대한 QP를 수정하는 데에도 사용할 수 있다. 인코더는 예를 들어 인지된 시각적 품질을 최대화하거나 주어진 비트 전송률에 대한 제곱 오류와 같은 객관적인 왜곡을 최소화하거나 주어진 품질/왜곡에 대한 비트 전송률을 줄이는 것으로, 예를 들어 코딩 효율성을 높이는 방식으로 이 오프셋을 결정한다. (적용된 기준의 관점에서) 슬라이스 QP로부터의 최적의 유도는 예를 들어 콘텐츠, 비트율 또는 복잡도 연산 포인트, 그리고 선택된 변환 및 변환 블록 크기와 같은 추가 요인에 따라 달라진다. 본 발명은 다중 변환의 경우에 대하여 QP 오프셋을 시그널링하는 방법을 설명한다. 일반성을 잃지 않고 두 개의 대체 변환이 주어졌을 때, 고정된 QP 오프셋은 2개의 대안적 변환 각각에 대해 상위 레벨 신택스 구조(예: 시퀀스 매개변수 세트, 픽처 매개변수 세트, 타일 그룹 헤더, 슬라이스 헤더 등)로 인코더에 의해 전송될 수 있다. 대안적으로, QP 오프셋은 예를 들어 인코더가 대체 변환을 선택할 때 각 변환 블록에 대해 인코더에 의해 전송된다. 두 가지 접근 방식의 조합은 상위 레벨 신택스 구조의 기준 QP 오프셋과 대체 변환을 사용하는 각 변환 블록에 대한 추가 오프셋의 시그널링이다. 오프셋은 기준 QP 또는 오프셋 값 세트의 인덱스에 더하거나 빼는 값일 수 있다. 해당 세트는 상위 레벨 신택스 구조로 사전 정의되거나 신호보낼 수 있다.
- 식별 변환을 위한 기준 QP에 대한 QP 오프셋은 예를 들어 시퀀스, 픽처, 타일 그룹, 타일 또는 슬라이스 레벨에서 상위 레벨 신택스 구조로 시그널링될 수 있다.
- 대안적으로, 아이덴티티 변환에 대한 기준 QP에 대한 QP 오프셋은 각 코딩 단위 또는 미리 정의된 코딩 단위 세트에 대해 시그널링될 수 있다.
- 대안으로, 기준 QP에 대한 QP 오프셋은, 동일 변환을 적용하는 각 변환 단위에 대해 동일 변환에 대한 신호를 받는다.
도 6은 디코더, 예를 들어 도 1a 내지 도 2에 도시된 디코더(20 또는 36)의 특징 및 기능을 도시한다. 또한 다음 설명은 주로 디코더 관점에서 작성되었으며 인코더가 병행 기능을 포함할 수 있음이 분명한다.
픽처(12)는 인코더에 의해 데이터 스트림(14)으로 인코딩되고 디코더는 데이터 스트림(14)에 기초하여 복원된 픽처를 제공하도록 구성되며, 여기서, 복원된 픽처는 픽처(12)와 동일하거나 무손실 코딩의 경우 픽처(12)에 대해 인식 가능한 최소한의 차이가 없다. 픽처(12)는 부분(100), 즉 블록 및 영역(104)으로 분할될 수 있다. 영역(104)은 복수의 부분(100)을 포함한다. 미리 결정된 부분(100)은 미리 결정된 영역(104) 내에 있다. 데이터 스트림(14)은 복수의 코딩 매개변수(98)와 같은 부분 개별 정보, 및 선택적으로 무손실 코딩 신택스 요소(102)와 같은 영역 개별 정보를 포함할 수 있다. 복수의 코딩 매개변수(98)는 픽처(12)의 미리 결정된 부분(100)과 관련되고 예를 들어, 도 1a 내지 도 2에 도시된 변압기(28) 및 역 변압기(40, 54) 내에서 예측 잔차 변환 모드 및 예를 들어 소정 부분(100)에 대하여 도 1a 내지 도 2에 나타낸 양자화기(28) 및 역양자화기(40, 54) 내에서 양자화 정확도를 제어한다. 예측 잔차 변환 모드는 신택스 요소(981)를 나타내는 변환 모드에 의해 제어될 수 있다. 양자화 정확도는 양자화 매개변수(QP)(982)에 의해 제어될 수 있다.
데이터 스트림(14)으로부터 픽처(12)를 디코딩하기 위한 디코더는 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는지를 확인하도록 구성되는데(106), 이는 이러한 코딩을 즉시 시그널링하거나, TM = 변환 스킵의 경우 QP<4를 QP=4로 무손실 예측 잔차 코딩(1061)로 매핑하는 것과 같은 무손실 잔차 코딩으로 이어지는 설정을 해석하거나 변경하도록 구성되는 디코더에 의해 그러한 코딩으로 유도하는 것에 의한다. 픽처(12)를 데이터 스트림(14)으로 인코딩하기 위한 인코더는 또한 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는지 여부를 검사하도록 구성될 수 있다. (QP,TM)=(4,변환 스킵) 또는 (QP, TM) = (1…4, 변환 스킵)은 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타낼 수 있다. 미리 결정된 양자화 정확도 및/또는 변환 모드로서 변환 스킵에 대한 신택스 요소(981)를 나타내는 변환 모드와 같거나 더 정밀한, 양자화 정확도에 대한 양자화 매개변수(982)의 코딩 매개변수 설정은 무손실 예측 잔차 코딩(1061)에 대응할 수 있다.
일 실시 예에 따르면, 디코더/인코더는 복수의 코딩 매개변수(98)를 데이터 스트림(14)으로부터/으로 판독/시그널링하고, 복수의 코딩 매개변수(98)에 의해 표시되는 예를 들어, 신택스 요소(981)를 나타내는 변환 모드에 의해 표시되는 예측 잔차 변환 모드가 변환 스킵 모드에 대응하는지 및 복수의 코딩 매개변수(98)에 의해 표시되는 양자화 정확도, 예를 들어, 양자화 매개변수(982)에 의해 표시된, 미리 결정된 양자화 단계 크기보다 미세한 양자화 단계 크기에 대응하는지, 예를 들어, 양자화 없음에 해당하는 QP<4에 대응하는지 확인하고, 예스인 경우, 양자화 단계 크기, 예를 들어 QP=4를 미리 결정된 양자화 단계 크기로 변경하도록 구성된다. 변환 모드가 변환 스킵로 설정된 경우, 디코더/인코더는 무손실 코딩을 가능하게 하기 위해 미리 결정된 양자화 정확도(QP<4)보다 더 미세한 양자화 매개변수(982)를 미리 결정된 양자화 정확도와 동일한 양자화 매개변수(982)에 매핑하도록 구성된다. 미리 결정된 양자화 정확도는 양자화 없음(32, 52) 또는 양자화(32, 52)의 우회 또는 비활성화를 나타낼 수 있다.
무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는 복수의 코딩 매개변수(98)에 응답하여, 디코더/인코더는 (예: 인코더의 예측 루프에서) 미리 결정된 부분(100)에 대한 예측 잔차 정정된 예측 복원을 처리하기 위한 디코더/인코더의 하나 이상의 도구와 관련된 하나 이상의 미리 결정된 코딩 옵션을 설정(110)하도록 구성되어 미리 결정된 부분(100)에 대해 하나 이상의 도구가 비활성화되도록 한다. 예측 잔차 보정된 예측 복원은 도 1a 내지 2에서 나타낸 바와 같이, 각각 결합기(56 또는 42)의 출력, 즉 복원된 신호(46)를 나타낼 수 있다. 하나 이상의 도구는, 예를 들어, 디블로킹, SAO, ALF와 관련되고 각각 결합기(56 또는 42)의 출력(46) 다운스트림에 위치될 수 있다.
일 실시 예에 따르면, 디코더/인코더는 미리 결정된 부분(100)에 대한 하나 이상의 미리 결정된 코딩 옵션을, 복수의 코딩 매개변수가 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는 경우 하나 이상의 도구가 미리 결정된 부분(100)에 대해 디스에이블(110)되도록, 그리고 복수의 코딩 매개변수가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내지 않는 경우, 즉 손실 코딩(1062)의 경우 미리 결정된 도구 상태로 설정되도록 구성된다.
디코더는 데이터 스트림(14)으로부터 미리 결정된 부분(100)을 덮거나 포함하는 픽처의 미리 결정된 영역(104)이 검사(106)를 충족하는 부분에 대해 배타적이지 않고 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림(14)으로 코딩되는지 여부를 나타내는 무손실 코딩 신택스 요소(102)(예를 들어, 인코더에 의해 결정 및 인코딩됨)를 판독하도록 선택적으로 구성된다. 디코더는 하나 이상의 미리 결정된 코딩 옵션을 설정(110)하도록 구성되어 미리 결정된 부분(100)에 대해 하나 이상의 도구가 무손실 코딩 신택스 요소(102)가 픽처(12)의 미리 결정된 영역(104)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩됨을 나타내는 경우, 및 다수의 코딩 매개변수가 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는 경우, 비활성화된다. 추가적으로, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내지 않는, 즉 동일하지 않은 경우, 또는 무손실 코딩 신택스 요소(102)는 픽처(12)의 미리 결정된 영역(104)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩됨을 표시하는 경우, 디코더는 하나 이상의 미리 결정된 코딩 옵션을 미리 결정된 도구 상태로 설정(120)하도록 구성된다. 무손실 코딩 신택스 요소(102)는 픽처(12)의 영역(104) 및 영역(104) 내의 각 부분(100)에 대해 시그널링된다. 디코더/인코더는 복수의 코딩 매개변수(98)가 개별 부분(100)에 대해 무손실 코딩(1061) 또는 손실 코딩(1062)을 나타내는지 여부를 확인(106)한다. 따라서, 부분들 중 일부가 전체 영역(104)에 대해 무손실 코딩 신택스 요소(102)에 의해 표시된 것과 다르게 디코딩/인코딩되는 것이 가능하다.
일 실시 예에 따르면, 디코더는 하나 이상의 신택스 요소(108), 예를 들어 데이터 스트림(14)에서 SAO, ALF 등과 관련된 신택스 요소에 따라 미리 결정된 도구 상태를 결정하도록 구성된다. 무손실 코딩(1061)의 경우, 디코더는 하나 이상의 도구가 디스에이블되기 때문에(110), 하나 이상의 도구 신택스 요소(108)를 읽는 것을 건너뛰도록(122) 구성된다. 선택적으로, 미리 결정된 부분(100)에 대한 하나 이상의 미리 결정된 코딩 옵션이 설정되어 미리 결정된 부분(100)에 대해 하나 이상의 도구가 비활성화(110)되는 경우, 하나 이상의 신택스 요소(108) 중 적어도 하나는 데이터 스트림(14)에 없다 (측면 3.4 참조)
일 실시 예에 따르면, 디코더는 하나 이상의 추가 코딩 옵션을 미리 결정된 부분(100)과 관련하여 설정(130)하도록 구성되고, 예를 들어 아래 설명에서, 무손실 예측 잔차 코딩(1061)에 대응하는 코딩 매개변수 설정을 나타내는 복수의 코딩 매개변수(98)에 응답하는 디폴트 상태로, 다음 측면 1 내지 3.4와 관련하여 설명된다. 디폴트 상태는 예측 잔차 신호, 예를 들어, 도 1a 내지 도 2에 도시된 예측 잔차 신호(24)에 대해 실행된 미리 결정된 부분(100) 및/또는 완벽하게 가역적인 변환(측면 3.2 참조)에 대해, 예측 신호의 유도를 위한 저역 통과 필터링의 관점에서, 예를 들어 도 1a 내지 도 2에 도시된 예측 신호(26)의 측면에서, 필터링의 감소 또는 필터링의 비활성화를 나타낼 수 있다(참조 측면 3.3). 추가 코딩 옵션은 예측 잔차 데이터를 빈 문자열로 이진화(측면 3.1 참조) 및 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩 및/또는 미리 결정된 부분(100)의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대한 완벽하게 가역적인 변환(측면 3.2 참조)의 사용, 및/또는 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 필터링(측면 3.3 참조)의 비활성화 또는 감소, 및/또는 미리 결정된 부분(100) 또는 예측 잔차 재양자화에 대한 예측 잔차 정정된 예측 복원(46)의 처리를 디스에이블하는 것(측면 3.4 참조)에 관한 것이다. 유사하게, 인코더의 경우 추가 코딩 옵션은 빈 문자열로의 예측 잔차 데이터의 이진화 및 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩 및/또는 인코더의 예측 루프에서 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대한 완벽하게 가역적인 변환의 사용 및/또는 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 필터링의 비활성화 또는 감소 및/또는 미리 결정된 부분(100) 또는 예측 잔차 양자화에 대한 예측 잔차 보정된 예측 복원(46)의 처리를 비활성화하는 것에 관한 것이다.
인코더는 데이터 스트림(14)에서 코딩 매개변수, 무손실 코딩 신택스 요소(102) 및/또는 도구 신택스 요소(108)의 복수(98)를 결정 및 인코딩하도록 구성될 수 있다. 인코더는 디코더와 관련하여 설명된 바와 같은 병행 특징 및/또는 기능을 포함할 수 있다. 이것은 디코더와 동일한 특징 및/또는 기능을 갖는 인코더의 예측 루프(36)에 대해 적어도 적용된다. 그러나, 디코더의 역변환기(54) 또는 역양자화기(52)와 관련된 특징들이 인코더의 변환기(28) 및/또는 양자화기(32)에도 유사하게 적용될 수 있다는 것이 명백하다.
다음 측면들 중 하나 이상이 도 6과 관련하여 설명된 디코더/인코더에 통합될 수 있다. 대안적으로, 다음 측면들은 디코더 또는 인코더에서 개별적으로 구현될 수 있다.
측면 1: 무손실 이미지 또는 비디오 코딩을 위한 신택스 요소의 수 감소
이 측면의 기본 접근 방식은 서브블록 별 변환 양자화 우회 코딩 플래그를 사용하지 않는 것으로 만들기 위한 것으로, 이는 상술된 수정 사항으로 인해, 그 기능은 4(단위 단계 크기)의 코딩 양자화 매개변수(QP)가 사용되고 인루프 필터와 같은 코딩 도구에 의한 블록 샘플의 포스트 복원 수정이 비활성화되기 때문에 서브블록 단위 변환 스킵 기능에 의해 완전히 제공된다. 이러한 포스트 필터의 비활성화는 변환 스킵 모드 및 4보다 작거나 같은 QP에 대한 조건화에 의해 달성될 수 있다.
다음 단락에서, 다른 가능한 구현을 특정한다.
측면 1의 실시 예는 transform_skip_flag라고 하는, 코딩 블록 별(여기서는, 변환 블럭 단위 및 컬러 컴포넌트 단위) 1비트 변환 스킵 표시자를 사용한다. 이 표시자는 예를 들어 표 1과 같이 변환 단위 코딩 구문의 일부로 전송된다. 복수의 코딩 매개변수(98)는 픽처(12)의 미리 결정된 부분(100)에 대한 예측 잔차 변환 모드를 제어하는, transform_skip_flag, 즉 신택스 요소(981)를 나타내는 변환 모드를 포함할 수 있다. transform_skip_flag는 변환 스킵을 미리 결정된 부분(100)에 대한 변환 모드, 즉 예측 잔차 변환 모드로 정의한다.
변환 단위 코딩 신택스
transform_unit( x0, y0, tbWidth, tbHeight, treeType, subTuIndex, chType ) { Descriptor
if( IntraSubPartitionsSplitType != ISP_NO_SPLIT &&
treeType = = SINGLE_TREE && subTuIndex = = NumIntraSubPartitions - 1 ) {
xC = CbPosX[ chType ][ x0 ][ y0 ]
yC = CbPosY[ chType ][ x0 ][ y0 ]
wC = CbWidth[ chType ][ x0 ][ y0 ] / SubWidthC
hC = CbHeight[ chType ][ x0 ][ y0 ] / SubHeightC
} else {
xC = x0
yC = y0
wC = tbWidth / SubWidthC
hC = tbHeight / SubHeightC
}
chromaAvailable = treeType != DUAL_TREE_LUMA && sps_chroma_format_idc != 0 &&
( IntraSubPartitionsSplitType = = ISP_NO_SPLIT  | |
( IntraSubPartitionsSplitType != ISP_NO_SPLIT &&
subTuIndex = = NumIntraSubPartitions - 1 ) )
if( ( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_CHROMA ) &&
sps_chroma_format_idc != 0 &&
( ( IntraSubPartitionsSplitType = = ISP_NO_SPLIT && !( cu_sbt_flag &&
( ( subTuIndex  = = 0  &&  cu_sbt_pos_flag )  | |
( subTuIndex  = = 1  &&  !cu_sbt_pos_flag ) ) ) )  | |
( IntraSubPartitionsSplitType != ISP_NO_SPLIT &&
( subTuIndex = = NumIntraSubPartitions - 1 ) ) ) ) {
tu_cb_coded_flag[ xC ][ yC ] ae(v)
tu_cr_coded_flag[ xC ][ yC ] ae(v)
}
if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_LUMA ) {
if( ( IntraSubPartitionsSplitType = = ISP_NO_SPLIT && !( cu_sbt_flag &&
( ( subTuIndex  = = 0  &&  cu_sbt_pos_flag )  | |
( subTuIndex  = = 1  &&  !cu_sbt_pos_flag ) ) ) &&
( CuPredMode[ chType ][ x0 ][ y0 ] = = MODE_INTRA | |
( chromaAvailable && ( tu_cb_coded_flag[ xC ][ yC ] | |
tu_cr_coded_flag[ xC ][ yC ] ) ) | |
CbWidth[ chType ][ x0 ][ y0 ] > MaxTbSizeY | |
CbHeight[ chType ][ x0 ][ y0 ] > MaxTbSizeY ) )  | |
( IntraSubPartitionsSplitType != ISP_NO_SPLIT &&
( subTuIndex < NumIntraSubPartitions - 1 | | !InferTuCbfLuma ) ) )
tu_y_coded_flag[ x0 ][ y0 ] ae(v)
if(IntraSubPartitionsSplitType != ISP_NO_SPLIT )
InferTuCbfLuma = InferTuCbfLuma && !tu_y_coded_flag[ x0 ][ y0 ]
}
if( ( CbWidth[ chType ][ x0 ][ y0 ]  >  64 | | CbHeight[ chType ][ x0 ][ y0 ]  >  64 | |
tu_y_coded_flag[ x0 ][ y0 ] | | ( chromaAvailable && ( tu_cb_coded_flag[ xC ][ yC ] | |
tu_cr_coded_flag[ xC ][ yC ] ) ) && treeType != DUAL_TREE_CHROMA &&
pps_cu_qp_delta_enabled_flag && !IsCuQpDeltaCoded ) {
cu_qp_delta_abs ae(v)
if( cu_qp_delta_abs )
cu_qp_delta_sign_flag ae(v)
}
if( ( CbWidth[ chType ][ x0 ][ y0 ]  >  64 | | CbHeight[ chType ][ x0 ][ y0 ]  >  64 | |
( chromaAvailable && ( tu_cb_coded_flag[ xC ][ yC ] | |
tu_cr_coded_flag[ xC ][ yC ] ) ) ) &&
treeType != DUAL_TREE_LUMA && sh_cu_chroma_qp_offset_enabled_flag &&
!IsCuChromaQpOffsetCoded ) {
cu_chroma_qp_offset_flag ae(v)
if( cu_chroma_qp_offset_flag && pps_chroma_qp_offset_list_len_minus1 > 0 )
cu_chroma_qp_offset_idx ae(v)
}
if( sps_joint_cbcr_enabled_flag && ( ( CuPredMode[ chType ][ x0 ][ y0 ] = = MODE_INTRA
&& ( tu_cb_coded_flag[ xC ][ yC ] | | tu_cr_coded_flag[ xC ][ yC ] ) ) | |
( tu_cb_coded_flag[ xC ][ yC ] && tu_cr_coded_flag[ xC ][ yC ] ) ) &&
chromaAvailable )
tu_joint_cbcr_residual_flag[ xC ][ yC ] ae(v)
if( tu_y_coded_flag[ x0 ][ y0 ] && treeType  !=  DUAL_TREE_CHROMA ) {
if( sps_transform_skip_enabled_flag && !BdpcmFlag[ x0 ][ y0 ][ 0 ] &&
tbWidth <= MaxTsSize && tbHeight <= MaxTsSize &&
( IntraSubPartitionsSplitType  = =  ISP_NO_SPLIT ) && !cu_sbt_flag )
transform_skip_flag[ x0 ][ y0 ][ 0 ] ae(v)
if( !transform_skip_flag[ x0 ][ y0 ][ 0 ] | | sh_ts_residual_coding_disabled_flag )
residual_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 )
else
residual_ts_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 )
}
if( tu_cb_coded_flag[ xC ][ yC ] && treeType  !=  DUAL_TREE_LUMA ) {
if( sps_transform_skip_enabled_flag && !BdpcmFlag[ x0 ][ y0 ][ 1 ] &&
wC <= MaxTsSize && hC <= MaxTsSize && !cu_sbt_flag )
transform_skip_flag[ xC ][ yC ][ 1 ] ae(v)
if( !transform_skip_flag[ xC ][ yC ][ 1 ] | | sh_ts_residual_coding_disabled_flag )
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 1 )
else
residual_ts_coding( xC, yC, Log2( wC ), Log2( hC ), 1 )
}
if( tu_cr_coded_flag[ xC ][ yC ] && treeType  !=  DUAL_TREE_LUMA &&
!( tu_cb_coded_flag[ xC ][ yC ] && tu_joint_cbcr_residual_flag[ xC ][ yC ] ) ) {
if( sps_transform_skip_enabled_flag && !BdpcmFlag[ x0 ][ y0 ][ 2 ] &&
wC <= MaxTsSize && hC <= MaxTsSize && !cu_sbt_flag )
transform_skip_flag[ xC ][ yC ][ 2 ] ae(v)
if( !transform_skip_flag[ xC ][ yC ][ 2 ] | | sh_ts_residual_coding_disabled_flag )
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 2 )
else
residual_ts_coding( xC, yC, Log2( wC ), Log2( hC ), 2 )
}
}
이 transform_skip_flag에 따라(변환 스킵이 사용되는 경우 값 1, 그렇지 않은 경우 값 0), 실제 양자화 매개변수 qP(982)는, 예를 들어, 항목 1.1에 설명된 팔레트 코딩에 대해 식 436 내지 438에 지정되고, 뿐만 아니라 항목 1.2에 설명된 변환 계수 스케일링에 대해 식 1153에서 지정된 바와 같이, 결정될 수 있다. 복수의 코딩 매개변수(98)는 픽처(12)의 미리 결정된 부분(100)에 대한 양자화 정확도를 제어하는 양자화 매개변수 qP(982)를 포함할 수 있다.1.1 팔레트 모드에 대한 디코딩 과정
이 프로세스에 대한 입력은 다음과 같다:
- 현재 픽처의 좌상단 샘플에 대한 현재 코딩 블록의 좌상단 샘플을 지정하는 위치( xCbComp, yCbComp ),
- 단일 또는 이중 트리가 사용되는지 여부를 지정하는 변수 treeType, 이것은 듀얼 트리가 사용되는 경우 현재 트리가 루마 또는 크로마 구성 요소에 해당하는지 여부를 지정.
- 현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx,
- 현재 코딩 블록의 너비와 높이를 각각 지정하는 두 개의 변수 nCbW 및 nCbH.
이 프로세스의 출력은 어레이 recSamples[x][y]이고, 이 때 x = 0.. nCbW - 1, y = 0.. nCbH - 1는 블록에 대해 복원된 샘플 값을 지정한다.
treeType의 값에 따라, 변수 startComp, numComps 및 maxNumPalettePredictorSize는 다음과 같이 파생된다:
- treeType이 SINGLE_TREE와 같은 경우:
startComp = 0 (422)
numComps = sps_chroma_format_idc = = 0 ? 1 : 3 (423)
maxNumPalettePredictorSize = 63 (424)
- 그렇지 않으면 treeType은 DUAL_TREE_LUMA와 같다.
startComp = 0 (425)
numComps = 1 (426)
maxNumPalettePredictorSize = 31 (427)
- 그렇지 않으면 treeType은 DUAL_TREE_CHROMA와 같다.
startComp = 1 (428)
numComps = 2 (429)
maxNumPalettePredictorSize = 31 (430)
cIdx의 값에 따라, nSubWidth 및 nSubHeight 변수는 다음과 같이 파생된다.
- cIdx가 0보다 크고 startComp가 0이면 nSubWidth는 SubWidthC와 동일하게 설정되고 nSubHeight는 SubHeightC와 동일하게 설정된다.
- 그렇지 않으면 nSubWidth는 1로 설정되고 nSubHeight는 1로 설정된다.
위치( xCbComp, yCbComp )에서 복원된 샘플 어레이 recSamples의 (nCbW x nCbH) 블록은 recSamples[x][y]로 표시되고, 이 때 x = 0..nCbW - 1 및 y = 0..nCbH - 1이고, 0에서 nCbW - 1의 범위에서 각 x에 대해 및 0에서 nCbH - 1의 범위에서 각 y에 대해 recSamples[x][y]의 값은 다음과 같이 파생된다:
- 변수 xL, yL, xCbL 및 yCbL은 다음과 같이 파생된다:
xL = x * nSubWidth (431)
yL = y * nSubHeight (432)
xCbL = xCbComp * nSubWidth (433)
yCbL = yCbComp * nSubHeight (434)
- 변수 bIsEscapeSample은 다음과 같이 파생된다:
- PaletteIndexMap[xCbL + xL][yCbL + yL]이 MaxPaletteIndex와 같고 palette_escape_val_present_flag가 1과 같으면, bIsEscapeSample은 1로 설정된다.
- 그렇지 않으면 bIsEscapeSample이 0으로 설정된다.
- bIsEscapeSample이 0이면, 다음이 적용된다:
recSamples[ x ][ y ] = CurrentPaletteEntries[ cIdx ][ PaletteIndexMap[ xCbL + xL ][ yCbL + yL ] ] (435)
- 그렇지 않으면(bIsEscapeSample이 1과 같음), 다음과 같이 순서화된 단계가 적용된다:
1. 양자화 매개변수 qP는 다음과 같이 유도된다:
- cIdx가 0이면,
qP = Max(QpPrimeTsMin, Qp'Y) (436)
- 그렇지 않고, Cldx가 1과 같으면,
qP = Max(QpPrimeTsMin, Qp'Cb) (437)
- 그렇지 않으면 (cIdx가 2와 같으면),
qP = Max(QpPrimeTsMin, Qp'Cr) (438)
1.2 변환 계수에 대한 스케일링 프로세스
이 프로세스에 대한 입력은 다음과 같다:
현재 픽처의 왼쪽 위 루마 샘플에 상대적인 현재 루마 변환 블록의 왼쪽 위 샘플을 지정하는 루마 위치(xTbY, yTbY),
- 변환 블록 너비를 지정하는 변수 nTbW,
- 변환 블록 높이를 지정하는 변수 nTbH,
- 코딩 단위의 예측 모드를 지정하는 변수 predMode,
- 현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx.
이 프로세스의 출력은 요소 d[ x ][ y ]가 있는 스케일링된 변환 계수의 (nTbW)x(nTbH) 어레이 d이다.
양자화 매개변수 qP 및 변수 QpActOffset은 다음과 같이 유도된다.
- cldx가 0과 같으면, 다음이 적용된다:
Figure pct00005
(1142)
Figure pct00006
(1143)
- 그렇지 않고, TuCResMode[ xTbY ][ yTbY ]가 2와 같으면 다음이 적용된다:
Figure pct00007
(1144)
Figure pct00008
(1145)
- 그렇지 않고 cIdx가 1이면 다음이 적용된다:
Figure pct00009
(1146)
Figure pct00010
(1147)
- 그렇지 않으면(cIdx가 2임) 다음이 적용된다:
Figure pct00011
(1148)
Figure pct00012
(1149)
양자화 매개변수 qP가 수정되고 변수 rectNonTsFlag 및 bdShift가 다음과 같이 파생된다:
- transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]가 0인 경우, 다음이 적용된다:
qP = Clip3( 0, 63 + QpBdOffset, qP + QpActOffset ) (1150)
rectNonTsFlag = (((Log2(nTbW) + Log2(nTbH))&1) = = 1)?1:0 (1151)
bdShift = BitDepth + rectNonTsFlag + ((Log2 nTbW) + 
Log2(nTbH))/2) - 5 + sh_dep_quant_used_flag (1152)
- 그렇지 않으면(transform_skip_flag[xTbY][yTbY][cIdx]는 1과 같음), 다음이 적용된다:
qP=Clip3(QpPrimeTsMin, 63 + QpBdOffset, qP + QpActOffset) (1153)
rectNonTsFlag = 0 (1154)
bdShift = 10 (1155)
일 실시 예에 따르면, qP의 값은 식 69에 명시된 상수(주어진 비디오 시퀀스에 걸쳐)인 QpPrimeTsMin의 최소값보다 크거나 같도록 제한된다.
sps_internal_bitdepth_minus_input_bitdepth는 다음과 같이 변환 스킵 모드에 대해 허용되는 최소 양자화 매개변수를 지정한다.
QpPrimeTsMin = 4 + 6 * sps_internal_bitdepth_minus_input_bitdepth (69)
sps_internal_bitdepth_minus_input_bitdepth의 값은 0에서 8까지의 범위에 있어야 한다.
다시 말해서, 디코더/인코더는 복수의 코딩 매개변수(98)를 데이터 스트림(14)으로부터/으로 판독/시그널링하고 복수의 코딩 매개변수에 의해 지시되는 예측 잔차 변환 모드가 변환 스킵 모드 및 양자화 없음에 대응하는 미리 결정된 양자화 단계 크기, 즉 QpPrimeTsMin보다 미세한 양자화 단계 크기에 대응하는지 확인하고, 만약 그렇다면, 양자화 단계 크기를 미리 결정된 양자화 단계 크기로 변경하도록 구성된다. 마지막으로 QpPrimeTsMin은 (시퀀스 헤더에서) 시퀀스 방식으로 전송된 매개변수 sps_internal_bitdepth_minus_input_bitdepth에 의해 제어된다. 미리 결정된 양자화 단계 크기는 내부 비트 심도 및 입력 비트 심도에 따라 달라질 수 있으며, 예를 들어 내부 비트 심도와 입력 비트 심도 사이의 차이에 따라 달라질 수 있다. 디코더/인코더는 차이에 기초하여 양자화 단계 크기 스케일 매개변수, 즉 미리 결정된 양자화 단계 크기 및/또는 QpPrimeTsMin에 대한 최소값을 추론하고, 예측 잔차 변환 스킵 모드에서 부분(100)에 대한 최소 양자화 단계 크기 스케일 매개변수를 고수하도록 구성된다. 디코더/인코더는 시그널링된 양자화 단계 크기 스케일 매개변수가 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 예측 잔차 변환 스킵 모드에서 코딩된 부분(100)에 대한 최소 양자화 단계 크기 스케일 매개변수를 고수함에 있어서, 부분(100)에 대한 데이터 스트림(14)에서 시그널링된 시그널링된 양자화 단계 크기 스케일 매개변수(982)를 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하도록 구성될 수 있다. 이 매개변수가 0(일반적으로 발생하는 경우)과 같을 때 QpPrimeTsMin의 값은 4임에 유의한다.
따라서 요소 sps_internal_bitdepth_minus_input_bitdepth, 요소 transform_skip_flag 및 변수 QpPrimeTsMin을 사용하여, 코딩 또는 변환 단위와 같은 특정 컬러 컴포넌트와 같은, 특정 픽처 영역에서 예측 잔차 정정된 예측 복원된 픽처 샘플의 무손실 코딩을 달성하는 것이 가능하다.
인루프 "포스트 복원" 디블로킹 필터링이 있는 경우에도 무손실 코딩에 도달하려면, 디블로킹 필터링 매개변수는 qP 값이 QpPrimeTsMin보다 작거나 같을 때 필터링이 효과적으로 우회되는 방식으로, 실제 양자화 매개변수 qP에 따라 조절된다. 이것은 표 2와 항목 1.3의 식 1280 및 1282에서 볼 수 있듯이 디블록킹 매개변수 ß' 및 tc'를 모두 0과 동일하게 지정함으로써 달성된다. 이는 식 69의 QpPrimeTsMin이 4보다 큰 경우(sps_internal_bitdepth_minus_input_input_bit로부터 결과됨) 식 1280에 대한 sh_luma_beta_offset_div2 및 식 1282에 대한 sh_luma_tc_offset_div2에 대해 특정 적절한 값을 전송하는 것을 요구할 수 있다. 디코더/인코더는 미리 결정된 부분(100)에 대한 예측 잔차 정정된 예측 복원을 처리하기 위한 또는 예측 잔차 재양자화/양자화를 위한 디코더/인코더의 하나 이상의 도구와 관련된 하나 이상의 미리 결정된 코딩 옵션이 세트(110)된다고 추론하도록 구성되므로 픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 하나 이상의 도구가 미리 결정된 부분(100)에 대해 비활성화되고, 픽처의 미리 결정된 부분(100)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 복수의 코딩 매개변수(98)로부터 하나 이상의 미리 결정된 코딩 옵션이 유도(120)된다.
1.3 루마 블록 가장자리에 대한 결정 프로세스
이 프로세스에 대한 입력은 다음과 같다:
- 픽처 샘플 어레이 recPicture,
- 현재 픽처의 좌상단 샘플에 대한 현재 코딩 블록의 좌상단 샘플을 지정하는 위치(xCb, yCb),
- 현재 코딩 블록의 왼쪽 상단 샘플에 대한 현재 블록의 왼쪽 상단 샘플을 지정하는 위치(xBl, yBl),
- 수직(EDGE_VER) 또는 수평(EDGE_HOR) 에지가 필터링되는지 여부를 지정하는 변수 edgeType,
- 경계 필터링 강도를 지정하는 변수 bS,
- 최대 필터 길이를 지정하는 변수 maxFilterLengthP,
- 최대 필터 길이를 지정하는 변수 maxFilterLengthQ.
이 프로세스의 출력은 다음과 같다:
- 결정을 포함하는 변수 dE, dEp 및 dEq,
- 수정된 필터 길이 변수 maxFilterLengthP 및 maxFilterLengthQ,
- 변수 tC.
i = 0..Max( 2, maxFilterLengthP ), j = 0..Max( 2, maxFilterLengthQ ) 및 k = 0 및 3을 갖는 샘플 값 pi,k 및 qj,k는 다음과 같이 유도된다:
- edgeType이 EDGE_VER와 같으면 다음이 적용된다:
qj,k = recPicture[ xCb + xBl + j ][ yCb + yBl + k ] (1273)
pi,k = recPicture[ xCb + xBl - i *?*1 ][ yCb + yBl + k ] (1274)
- 그렇지 않으면(edgeType이 EDGE_HOR와 같음) 다음이 적용된다:
qj,k = recPicture[ xCb + xBl + k ][ yCb + yBl + j ] (1275)
pi,k = recPicture[ xCb + xBl + k ][ yCb + yBl - i *?*1 ] (1276)
변수 qpOffset은 다음과 같이 유도된다:
- sps_ladf_enabled_flag가 1인 경우 다음이 적용된다.
- 복원된 휘도 레벨의 변수 lumaLevel은 다음과 같이 유도된다:
lumaLevel = ( ( p0,0 + p0,3 + q0,0 + q0,3 ) >> 2 ), (1277)
- qpOffset 변수는 sps_ladf_lowest_interval_qp_offset과 동일하게 설정되고 다음과 같이 수정된다.
for( i = 0; i < sps_num_ladf_intervals_minus2 + 1; i++ ) {
if( lumaLevel > SpsLadfIntervalLowerBound[ i + 1 ] )
qpOffset = sps_ladf_qp_offset[ i ] (1278)
else
break
}
- 그렇지 않으면, qpOffset은 0으로 설정된다.
변수 QpQ 및 QpP는 각각 샘플 q0,0 및 p0,0을 포함하는 코딩 블록을 포함하는 코딩 단위의 QpY 값과 동일하게 설정된다.
변수 qP는 다음과 같이 파생된다:
qP = ( ( QpQ + QpP + 1 )  >>  1 ) + qpOffset (1279)
변수 β'의 값은 다음과 같이 유도된 양자화 매개변수 Q를 기반으로 표 2에 지정된 대로 결정된다:
Q = Clip3(0, 63, qP + (sh_luma_beta_offset_div2  <<  1)) (1280)
sh_luma_beta_offset_div2는 샘플 q0,0을 포함하는 슬라이스에 대한 신택스 요소 sh_luma_beta_offset_div2의 값이다.
변수 β는 다음과 같이 유도된다:
Figure pct00013
(1281)
변수 tC'의 값은 다음과 같이 유도된 양자화 매개변수 Q를 기반으로 표 2에 지정된 대로 결정된다:
Figure pct00014
(1282)
여기서 sh_luma_tc_offset_div2는 샘플 q0,0을 포함하는 슬라이스에 대한 신택스 요소 sh_luma_tc_offset_div2의 값이다.
변수 tC는 다음과 같이 파생된다:
Figure pct00015
(1283)
Figure pct00016
(1284)
입력 Q에서 임계값 변수 β' 및 tC' 유도β' β'
Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
β' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
t c ' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Q 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
β' 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28
Tc' 0 3 4 4 4 4 5 5 5 5 7 7 8 9 10 10 11
Q 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
β' 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62
t c ' 13 14 15 17 19 21 24 25 29 33 36 41 45 51 57 64 71
Q 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
β' 64 66 68 70 72 74 76 78 80 82 84 86 88 - -
t c ' 80 89 100 112 125 141 157 177 198 222 250 280 314 352 395
측면 2: 새로운 "글로벌" lossless_coding 플래그 도입무손실 코딩 기능을 위한 VVC 구성을 간소화하려면, 본 명세서에서lossless_coding이라고 하는 새로운 1비트 플래그를 이미지 또는 비디오 코딩 비트스트림의 시퀀스, 프레임, 픽처, 서브픽처, 타일 그룹 또는 슬라이스 헤더 구문에 도입하는 것이 제안된다. 즉, 0(무손실 코딩 작업 없음, 즉 일반 모드) 또는 1(무손실 모드)의 값을 가질 수 있으며, 영향을 받는 이미지 또는 비디오 코덱에 의해 제공되는(즉, 지정된) 적어도 2개의 코딩 도구의 작동(활성화 또는 비활성화 또는 알고리즘 세부 사항)을 제어하는, 새로운 "글로벌"(서브 블록 수준에 상대적) 플래그가 도입되도록 제안된다. 보다 구체적으로, 다음 도구 목록 중 2개 이상의 작업은 lossless_coding 플래그에 따라 다르다.
- 모든 잔차(공간 또는 변환) 신호 계수에 대한 엔트로피 코더
- 변환 행렬 연산 측면에서 조인트 인터-컴포넌트 변환(ICT)
- 일부 예측 코딩 도구의 평활화 필터링 작업(비활성화 예정)
- 인루프 필터: 디블로킹, 형태 적응형 오프셋, 적응형 루프 필터(ALF), reshaper(비활성화됨)
- 잔차 공간 또는 변환 계수의 양자화(비활성화됨)
측면 3: 개별 코딩 도구에 대한 "전역" lossless_coding 플래그의 원하는 효과
이 측면 3은, 위 측면 1에서 언급한 바와 같이, lossless_coding 플래그의 값 또는 변환 모드(변환 스킵 기능 표시) 및 QP(특정 단계 크기 표시)의 추론된 의미가 상기 lossless_coding 플래그 또는 상기 추론된 의미와 연관된 주어진 픽처 영역 또는 부분에 대한 엔트로피 코딩, 인터-컴포넌트 변환, 예측 및 인루프 필터링 도구의 동작을 변경하는 방법을 자세히 지정한다.
3.0 양자화
양자화 매개변수(QP)는 4이고 변환 스킵 모드의 사용은 잔차 신호의 무손실 양자화 모드를 초래한다. 입력 비트 심도와 내부 비트 심도가 다른 경우 비트 심도 보정이 필요한다. 입력 비트 심도와 내부 비트 심도의 차이는 상위 레벨 신택스에서 입력 비트 심도를 시그널링하여 실현할 수 있다. 또는 입력과 내부 비트 심도의 차이를 상위 레벨 신택스로 전송할 수 있다. 또 다른 대안은 기준 QP에 대해 절대적으로 또는 상대적으로 상위 레벨 신택스에서 변환 스킵을 위한 최소 허용된 QP의 시그널링이다.
실시 예는 내부 비트 심도에서 데이터 스트림(14)으로부터의 비디오 디코딩 및 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수행하도록 구성된 비디오 디코더에 관한 것이다. 비디오 디코더는 내부 비트 심도와 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 데이터 스트림으로부터 판독하도록 구성된다. 병행하여 비디오 인코더는 내부 비트 심도에서 데이터 스트림(14)으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력을 수신하도록 구성된다. 비디오 인코더는 내부 비트 심도와 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 데이터 스트림(14)으로 인코딩하도록 구성된다.
내부적으로 복원된 비디오 버전(46)에서 입력 비트 심도로 비트 심도 전환이 수행될 수 있다. 디코더는 비디오 출력 전에 이 천이를 수행하도록 구성될 수 있고 인코더는 예측-루프(36)에서 이 천이를 수행하도록 구성될 수 있다.
일 실시 예에 따르면, 디코더/인코더는 차이에 기초하여, 예를 들어 0이 아닌 차이로 인해, (4보다 다른 QP는 무손실 코딩 또는 거의 무손실 코딩이 결과됨) 양자화 단계 크기 스케일 매개변수, 예를 들어, 양자화 매개변수(982)에 대한 최소값을 추론하고, 예측 잔차 변환 스킵 모드에서 코딩된 비디오의 부분에 대한 최소 양자화 단계 크기 스케일 매개변수를 준수하도록 구성된다. 디코더/인코더는 최소값, 예를 들어 QP<4보다 미세한 양자화 단계 크기 스케일 매개변수(982)를 무손실 코딩을 가능하게 하기 위해 최소값과 동일한 양자화 단계 크기 스케일 매개변수(982)에 매핑하도록 구성된다. 무손실 코딩의 경우, 최소값은 양자화 없음(32, 52) 또는 양자화(32, 52)의 우회 또는 비활성화와 연관될 수 있다. 디코더/인코더는 시그널링된 양자화 단계 크기 스케일 매개변수가 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분(100)에 대한 최소 양자화 단계 크기 스케일 매개변수를 고수함에 있어서, 비디오 부분(100)에 대한 데이터 스트림(14)에서 시그널링된 시그널링된 양자화 단계 크기 스케일 매개변수를 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하도록 구성될 수 있다. 디코더/인코더는 데이터 스트림(14)이 무손실 코딩 모드(1061)를 시그널링하는 비디오 영역(104) 내에서만 최소 양자화 단계 크기 스케일 매개변수를 고수할 수 있다.
다른 실시 예는 내부 비트 심도에서 데이터 스트림(14)으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수행하고 차이를 전송하거나 두 값(즉, 입력 비트 심도와 내부 비트 심도)을 전송하는 방식으로 예를 들어 QP 최소값 외에, 예를 들어, 디코더에도 어떤 차이가 있는지 알 수 있는 내부 비트 심도와 입력 비트 심도 사이의 0이 아닌 차이로 인해, 양자화 단계 크기 스케일 매개변수(QP 최소값)에 대한 최소값을 나타내는 신택스 요소를 데이터 스트림(14)으로부터 판독하도록 구성된 비디오 디코더에 관한 것이다. 4보다 다른 QP는 무손실 코딩을 일으키거나 거의 초래할 수 있다.
병행하여, 비디오 인코더는 내부 비트 심도에서 데이터 스트림(14)으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력을 수신하고 양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 데이터 스트림(14)으로 인코딩하도록 구성된다. 디코더/인코더는 시그널링된 양자화 단계 크기 스케일 매개변수가 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 예측 잔차 변환 스킵 모드로 코딩된 비디오 부분(100)에 대한 최소 양자화 단계 크기 스케일 매개변수를 준수하여, 비디오 부분(100)에 대한 데이터 스트림(14)에서 시그널링된 시그널링된 양자화 단계 크기 스케일 매개변수를 최소 양자화 단계 크기 스케일 매개변수와 동일하게 선택적으로 변경하도록 구성될 수 있다. 디코더/인코더는 데이터 스트림(14)이 무손실 코딩 모드(1061)를 시그널링하는 비디오 영역(104) 내에서만 최소 양자화 단계 크기 스케일 매개변수를 고수할 수 있다.
다른 실시 예는 내부 비트 심도와 입력 비트 심도의 표시 또는 이들 간의 차이를 데이터 스트림(14)으로부터/으로 유도/인코딩하고, 내부 비트 심도에서 데이터 스트림(14)으로부터/으로 비디오 디코딩/인코딩을 수행하도록 구성된 비디오 디코더/인코더에 관한 것이고, 디코더는 입력 비트 심도에서 비디오 출력을 하도록 구성되고 인코더는 입력 비트 심도에서 비디오 입력을 수신하도록 구성된다. 또한 디코더/인코더는 내부 비트 심도가 입력 비트 심도 아래로 떨어지는지 확인하고 입력 비트 심도에 대응하도록 내부 비트 심도를 변경하도록 구성된다. 선택적으로, 디코더/인코더는 무손실 코딩된 비디오 부분의 표시를 데이터 스트림(14)으로부터/으로 유도/인코딩하고, 무손실 코딩된 비디오 부분 내에서 검사 및 변경을 수행하고, 손실 코딩된 비디오 부분에 대해, 예를 들어 데이터 스트림(14)으로부터 유도된 바와 같은 내부 비트 심도를 사용하도록 구성된다. 내부 비트 심도는 인코더에 의해 데이터 스트림에서 시그널링될 수 있다.
3.1. 엔트로피 코딩
무손실 코딩 이후 QP가 4인 경우 일반적으로 손실 코딩에 비해 훨씬 더 높은 비트 전송률을 생성하기 때문에, 엔트로피 코딩 엔진은 처리 병목 현상을 방지하기 위해 높은 처리량 모드로 전환할 수 있다. 이것은 예를 들어 컨텍스트 모델링 및 이진 산술 코딩을 사용하는 CABAC의 일반 코딩 모드 대신에, 이진화에서 다른 코드를 사용하거나 바이패스 코딩 모드에서 이진화 후 더 많은 빈을 처리하여 행해질 수 있다.
일 실시 예는 픽처(12)의 미리 결정된 부분(100)에 대해, 이것이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되고 픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 제 1 방식으로(표 1에서 residual_ts_coding()이라고 함), 및 픽처(12)의 미리 결정된 부분(100)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 제 2 방식(표 1에서 residual_coding()이라고 함)으로 빈 문자열로의 예측 잔차 데이터의 이진화 및 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩(인코딩)을 사용하여 미리 결정된 부분(100)에 대한 데이터 스트림(14)으로부터 예측 잔차를 디코딩(인코딩)하는지에 대해 결정되하도록 구성된 디코더(인코더)에 관한 것이고, 여기서 제 1 및 제 2 방식은 제 2 방식에 비해 제 1 방식에서 계산 복잡도가 감소되는 식으로 상이하다.
픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부의 결정은, 예를 들어, 도 6의 디코더/인코더와 관련하여 설명된 것과 같이 또는 부분별 변환 양자화 바이패스 코딩 플래그를 다양하게 읽는 것으로, 데이터 스트림(14)을 기반으로 할 수 있다, 일 실시 예에 따르면, 디코더는 데이터 스트림(14)으로부터, 픽처(12)의 미리 결정된 부분(100) 또는 미리 결정된 부분(100)을 포함하는 미리 결정된 영역(104)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소, 예를 들어, 102를 판독하고, 손실 코딩 신택스 요소에 따라 이 결정을 수행함으로써 결정을 수행하도록 구성된다. 인코더는 이 무손실 코딩 신택스 요소를 인코딩할 수 있다.
계산 복잡도는 다음 중 적어도 하나에 의해 제 2 방식에 비해 제 1 방식으로 감소될 수 있다.
- 등확률 우회 모드를 사용하여 코딩된 빈 스트링의 빈의 수가 제 2 방식보다 제 1 방식에서 더 많고,
- 다른 이진화 코드, 예: 제 1 및 제 2 방식으로 사용되는 지수 골롬 코드, 절단 단항 코드 등.
일 실시 예에 따르면, 빈 스트링의 단항 코드 또는 절단된 단항 코드에 속하는 빈 스트링의 빈의 양이 제 2 방식보다 제 1 방식에서 더 적다.
3.2 인터-컴포넌트 변환(ICT)
ICT 역변환 행렬의 계수는 무손실 코딩을 허용하지 않는데, 잔차 신호 양자화가 없을 때 완벽하게 무손실 복원을 초래하는 대응하는 순방향 변환 행렬이 없기 때문이다. 따라서 lossless_coding이 1과 같을 때, 다른 ICT 역변환 행렬(계수 목록 또는 이동 또는 곱셈과 같은 수학 연산으로 지정됨)은 lossless_coding이 0(정상 동작)일 때 보다 코덱에 사용되는 것이 제안된다. 구체적으로, lossless_coding이 0과 같을 때, 기존의 ICT 업믹스 동작, 예를 들어,
cb = c1 + c2,
cr = sign*(c1 - c2),
가 이용되고, 여기서 c1 및 c2는 2개의 전송된 잔차 블록 신호이고 cb 및 cr은 역 ICT로부터 결과된 연관된 출력 잔차 신호이다. 그러나 lossless_coding이 1과 같을 때, 위의 연산 대신에, 리프팅 변환[4, 5] 또는 모듈로 변환[6] 연산이 c1 및 c2에 적용될 수 있으며, 이는 양자화 및 인루프 필터링 없이 cb 및 cr 예측 잔차의 완벽한 복원을 가능하게 할 수 있다. 이 완벽한 재건 속성을 설명하는 다르지만 동등한 방법은 변환이 일반적으로 변환 작업에 수학적으로 완벽한 복원을 금지하는 정수로 반올림하는 단계를 필요로 하는 컴퓨터에서 실행되는 실제 응용 프로그램에서도 수학적으로 완벽하게 가역적이라는 것을 기술하는 것이다. 예를 들어 순방향 무손실 ICT
c1 = cb + sign*cr,
c2 = cb - sign*INT(c1/2)와
해당 역 무손실 ICT
cb' = c2 + sign*INT(c1/2),
cr' = sign*(c1 - cb')는
는 cb와 cr 모두의 완벽한 복원을 달성하고(즉, cb'=cb, cr'=cr), 여기서 INT()는 바닥(마이너스 무한대로 반올림), 천장(더하기 무한대로 반올림) 또는 반올림(가장 가까운 정수로 반올림) 연산자를 나타내고 부호는 1 또는 -1과 같다. 따라서, cb' 및 cr'을 초래하는 상기 역 무손실 ICT 연산은 무손실 코딩이 요구될 때 디코더에서 바람직하게 적용된다. 위의 순방향 및 역 무손실 연산을 전환하여 완벽한 복원을 달성하므로 순방향 무손실 ICT는 다음과 같이 주어지고:
c1 = cr + sign*INT(cb/2),
c2 = sign*(cb - c1)
대응하는 역 무손실 ICT는 다음과 같이 주어지는 것에 유의한다.
cb' = c1 + sign*c2,
cr' = c1 - sign*INT(cb'/2).
또한, 위 방정식의 + 및 - 기호는 특정 구현에서 다를 수 있지만 동등한 결과(즉, cb'=cb, cr'=cr)로 이어질 수 있음에 유의한다. 마지막으로 약간 다른 공식, 예를 들어, [5]에 설명된 HD-AAC의 정수 중간측(M/S) 처리에 해당하는 공식은 디코딩 프로세스에서 무손실 역변환으로 사용될 수 있다는 것에 주목한다.
실시 예에 따른 디코더(인코더)는 픽처(12)의 미리 결정된 부분(100)에 대해 이것이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지를 결정하고, 미리 결정된 부분(100)의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)(예를 들어, 인코더의 예측 루프에서)에 대해, 픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩된다면, 완벽하게 가역적인 변환, 및 픽처(12)의 미리 결정된 부분(100)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는 경우, 불완전하게 가역적인 변환을 수행하도록 구성된다.
픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부의 결정은, 예를 들어, 도 6의 디코더/인코더와 관련하여 설명된 바와 같이 데이터 스트림(14)에 기초할 수 있거나 부분별 변환 양자화 바이패스 코딩 플래그를 다르게 읽어 행해질 수 있다. 일 실시 예에 따르면, 디코더는 데이터 스트림(14)으로부터 픽처(12)의 미리 결정된 부분(100) 또는 미리 결정된 부분(100)을 포함하는 미리 결정된 영역(104)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소, 예를 들어, 102를 판독하고 이 결정을 무손실 코딩 신택스 요소에 따라 수행하여 결정을 수행하도록 구성된다. 인코더는 이 무손실 코딩 신택스 요소를 인코딩할 수 있다.
완전 가역 변환 및 불완전 가역 변환은 인터-컬러 컴포넌트 변환일 수 있거나 스펙트럼 분해 인트라-컬러 컴포넌트 변환일 수 있다.
3.3 일부 예측자의 평활화 필터
높은 비트 전송률의 무손실 코딩의 경우, 압축 아티팩트를 감쇠하기 위해 예측 신호에 적용되는 필터, 예: 양자화 아티팩트를 줄이기 위한 평활화 필터는 유익하지 않을 수 있다. 따라서 양자화 스킵이 있는 변환 스킵의 경우 이러한 필터는 무손실 코딩을 위해 비활성화될 수 있다.
일 실시 예에 따른 디코더(인코더)는, 픽처(12)의 미리 결정된 부분(100)에 대해, 동일한 것이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부를 결정하고, 픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 제 1 방식으로, 및 픽처(12)의 미리 결정된 부분(100)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는 경우 제 2 방식으로, 미리 결정된 부분(100)에 대한 예측 신호(26)를 유도하도록 구성되고, 여기서 제 1 및 제 2 방식은 제 2 방식보다 제 1 방식에서 예측 신호(26)가 예를 들어, 보간 필터에 의해 덜 필터링되거나 제 2 방식으로 필터링되는 동안 제 1 방식으로 필터링되지 않는 식으로 상이하다.
픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부의 결정은, 예를 들어, 도 6의 디코더/인코더와 관련하여 설명된 바와 같이 데이터 스트림(14)에 기초할 수 있거나 부분별 변환 양자화 바이패스 코딩 플래그를 다르게 읽어 행해질 수 있다. 일 실시 예에 따르면, 디코더는 데이터 스트림(14)으로부터 픽처(12)의 미리 결정된 부분(100) 또는 미리 결정된 부분(100)을 포함하는 미리 결정된 영역(104)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소, 예를 들어, 102를 판독하여 결정을 수행하도록 구성되고, 이 결정은 무손실 코딩 신택스 요소에 따라 수행된다. 인코더는 이 무손실 코딩 신택스 요소를 인코딩할 수 있다.
일 실시 예에 따르면, 예측 신호(26)는 저역 통과 필터링의 관점에서 제 2 방식으로 필터링되는 동안, 제 2 방식보다 제 1 방식에서 덜 필터링되거나 제 1 방식에서 필터링되지 않는다. 예를 들어 예측 신호(26)는 예측 신호(26)의 전체 공간 주파수 스펙트럼 중 더 높은 주파수 절반에서, 제 2 방식보다 제 1 방식에 기초하여 유도될 때 더 높은 에너지를 갖는다.
3.4 루프 내 필터 및 양자화
lossless_coding이 1일 때, 모든 인루프 필터(예: 디블로킹, 모양 적응적 오프셋(SAO), 리세이퍼) 및 양자화가 비활성화되고, 개별 시퀀스 또는 프레임 단위 활성화 플래그와 QP 또는 델타 QP를 포함하는 관련 신택스 요소는 코딩된 비트 스트림에 존재하지 않는다.
일 실시 예에 따른 디코더(인코더)는 픽처(12)의 미리 결정된 부분(100)에 대해, 이것이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부를 판단하고, 픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061)을 사용하여 데이터 스트림(14)으로 코딩되면, 미리 결정된 부분(100)에 대해 또는 예측 잔차 재양자화(52, 38)(양자화(52))에 대한 예측 잔차 정정된 예측 복원(46)을 처리하기 위한 디코더(인코더)의 하나 이상의 도구와 관련된 하나 이상의 미리 결정된 코딩 옵션이 하나 이상의 도구가 미리 결정된 부분(100)에 대해 비활성화되도록 설정되어야 한다고 추론하고, 픽처(12)의 미리 결정된 부분(100)이 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되면, 복수의 코딩 매개변수들(98)로부터 하나 이상의 미리 결정된 코딩 옵션들을 유도하는 것으로 설정된다고 추론하도록 구성된다.
픽처(12)의 미리 결정된 부분(100)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지 여부의 결정은, 예를 들어, 도 6의 디코더/인코더와 관련하여 설명된 바와 같이 또는 부분별 변환 양자화 바이패스 코딩 플래그를 다르게 읽어, 데이터 스트림(14)에 기초할 수 있다. 일 실시 예에 따르면, 디코더는 데이터 스트림(14)으로부터 픽처(12)의 미리 결정된 부분(100) 또는 미리 결정된 부분(100)을 포함하는 미리 결정된 영역(104)이 무손실 코딩(1061) 또는 손실 코딩(1062)을 사용하여 데이터 스트림(14)으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소, 예를 들어, 102를 판독하여 결정을 수행하도록 구성되고, 이 결정은 무손실 코딩 신택스 요소에 따라 수행된다. 인코더는 이 무손실 코딩 신택스 요소를 인코딩할 수 있다.
이하에서 방법의 다른 실시 예가 설명된다.
도 7은, 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하는 단계(106) 및 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 1 방식(210)으로 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 2 방식(220)으로, 빈 문자열로의 예측 잔차 데이터의 이진화 및 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩을 사용하여 미리 결정된 부분에 대한 데이터 스트림으로부터의 예측 잔차를 디코딩(인코딩)하는 단계를 포함하는, 데이터 스트림으로 픽처를 디코딩(인코딩)하기 위한 방법(200)을 도시하고, 여기서, 제 1 방식(210) 및 제 2 방식(220)은 제 2 방식(220)에 비해 제 1 방식(210)에서 계산 복잡도가 감소하는 식으로 상이하다.
도 8은 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하는 단계(106) 및 미리 결정된 부분의 예측 잔차 또는 예측 잔차 정정된 복원에 대해 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 완전 가역 변환(310), 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우, 불완전하게 가역 변환(320)을 수행하는 단계를 포함하는, 데이터 스트림으로부터 픽처를 디코딩(인코딩)하기 위한 방법(300)을 도시한다.
도 9는 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하는 단계(106) 및 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 1 방식(410)으로 및 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 제 2 방식(420)으로 미리 결정된 부분에 대한 예측 신호를 유도하는 단계를 포함하는, 데이터 스트림으로부터 픽처를 디코딩(인코딩)하기 위한 방법(400)을 도시하며, 여기서 제 1 방식과 제 2 방식은 예측 신호가 예를 들어 보간 필터를 사용하여 제 2 방식(420)보다 제 1 방식(410)에서 덜 필터링되거나, 제 2 방식(420)에서 필터링되는 동안 제 1 방식(410)으로 필터링되지 않으므로 서로 다르다.
도 10은 픽처의 미리 결정된 부분에 대해 동일한 것이 무손실 코딩 또는 손실 코딩을 사용하여 데이터 스트림으로 코딩되는지 여부를 결정하는 단계(106) 및 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 양자화를 위한 디코더/인코더의 하나 이상의 도구와 관련된 하나 이상의 미리 결정된 코딩 옵션이 픽처의 미리 결정된 부분이 무손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우(510) 미리 결정된 부분에 대해 하나 이상의 도구가 비활성화(510)되도록 설정되고, 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 데이터 스트림으로 코딩되는 경우 복수의 코딩 매개변수로부터 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써(520) 설정된다고 추론하는 단계를 포함하는, 데이터 스트림으로부터 픽처를 디코딩(인코딩)하기 위한 방법(500)을 도시한다.
도 11a는 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행(610)하고, 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력(620)하고, 데이터 스트림으로부터 내부 비트 심도와 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 판독하는 단계(630)를 포함하는 방법(600)을 도시한다. 도 11b는 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행(612)하고, 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력을 수신(622)하고 내부 비트 심도와 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 데이터 스트림으로 인코딩(632)하는 단계를 포함하는, 병행 방법(600)을 도시한다.
도 12a는 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행(610)하고, 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력(620)하고, 양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 데이터 스트림으로부터 판독(730)하는 단계를 포함하는, 방법(700)을 도시한다. 도 12b는 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행(612)하고, 입력 비트 심도 또는 내부 비트 심도에서 비디오 입력 수신(622)하고, 양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 데이터 스트림으로 인코딩(732)하는 단계를 포함하는, 병행 방법(700)을 도시한다.
도 13a는 데이터 스트림으로부터 내부 비트 심도 및 입력 비트 심도의 표시 또는 이들 사이의 차이를 유도(810)하고, 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고(610), 입력 비트 심도에서 비디오 출력(620)을 수행하고, 내부 비트 심도가 입력 비트 심도 아래로 떨어지는지 여부를 검사(820)하고, 입력 비트 심도에 대응하도록 내부 비트 심도를 변경하는 단계(830)를 포함한다. 도 13b는 내부 비트 심도 및 입력 비트 심도 또는 이들 간의 차이의 표시를 데이터 스트림 비디오로 인코딩(812)하고, 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고(612), 입력 비트 심도에서 비디오 입력을 수신(622)하고, 내부 비트 심도가 입력 비트 심도 아래로 떨어지는지 여부를 검사(820)하고, 력 비트 심도에 대응하도록 내부 비트 심도를 변경하는 단계(830)를 포함하는, 병행 방법(800)을 도시한다.
참고문헌
[1] ITU-T, 권장 사항 H.265 및 ISO/IEC, 국제 표준 23008-2, "고효율 비디오 코딩", 2018년 2월 스위스 제네바. 온라인: http://www.itu.int/rec/T-REC-H.265.
[2] JVET/Fraunhofer HHI, "VVCSoftware_VTM: VVC VTM 참조 소프트웨어", 2019년 7월. 온라인: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.
[3] C. Helmrich, H. Schwarz, T. Nguyen, C. Rudat, D. Marpe 및 T. Wiegand, "CE7: 다중 모드를 사용한 공동 채도 잔류 코딩(테스트 CE7-2.1, CE7-2.2)," Joint Video Experts Group, 문서 JVET-O0105, 예테보리, 2019년 6월.
[4] I. Daubechies 및 W. Sweldens, "웨이블릿 변환을 리프팅 단계로 분해", J. Four. Anal. Appl., 1996년 9월.
[5] R. Geiger, R. Yu, J. Herre, S. Rahardja, S.-W. Kim, X. Lin, M. Schmidt, "ISO/IEC MPEG-4 고화질 확장 가능한 고급 오디오 코딩" J. Aud. Eng. Socl, vol. 55, no. 1/2, pp. 27-43, 2007년 1월.
[6] S. Srinivasan, "모듈로 변환 - 리프팅의 대안" IEEE Trans. 신호 처리, vol. 54, no. 5, pp. 1864-1874, 2006년 6월.
대한 구현
일부 측면들이 장치의 맥락에서 설명되었지만, 이러한 측면들은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 측면은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계들 중 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해 (또는 이를 사용하여) 실행될 수 있다. 일부 실시 예에서, 하나 이상의 가장 중요한 방법 단계가 그러한 장치에 의해 실행될 수 있다.
특정 구현 요구 사항에 따라, 본 발명의 실시 예는 하드웨어 또는 소프트웨어로, 또는 적어도 부분적으로 하드웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력하는 (또는 협력할 수 있는) 전자적으로 판독 가능한 제어 신호가 저장되어 있는, 플로피 디스크, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리와 같은 디지털 저장 매체를 사용하여 수행할 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시 예는 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함하며, 이는 본 명세서에서 설명된 방법 중 하나가 수행되는 것과 같이, 프로그래밍 가능한 컴퓨터 시스템과 협력할 수 있다.
일반적으로, 본 발명의 실시 예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있으며, 이 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하기 위해 작동한다. 프로그램 코드는 예를 들어 기계 판독 가능 캐리어에 저장될 수 있다.
다른 실시 예는 기계 판독 가능 캐리어에 저장된 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 실시 예는 컴퓨터 프로그램은 컴퓨터에서 실행될 때,본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서 본 발명의 방법의 추가 실시 예는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)에 기록되며, 컴퓨터 프로그램은 본 명세서에 설명된 방법 중 하나를 수행하기 위한 것이다. 데이터 매체, 디지털 저장 매체 또는 기록 매체는 일반적으로 유형적 및/또는 비 과도적이다.
따라서 본 발명의 방법의 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어 데이터 통신 연결을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시 예는 본 명세서에서 설명된 방법 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터, 또는 프로그래밍 가능한 논리 장치를 포함한다.
추가 실시 예는 본 명세서에서 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기로 (예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시 예에서, 프로그래밍 가능 논리 장치 (예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에서 설명된 방법의 기능의 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시 예에서, 필드 프로그래밍 가능 게이트 어레이는 본 명세서에서 설명된 방법 중 하나를 수행하기 위해 마이크로 프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에서 설명된 장치, 또는 본 명세서에서 설명된 장치의 모든 구성 요소는 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에서 설명된 방법, 또는 본 명세서에서 설명된 방법의 모든 구성 요소는 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
전술한 실시 예는 본 발명의 원리에 대한 예시일 뿐이다. 본 명세서에 기술된 배열 및 세부 사항의 정정 및 변경은 당업자에게 명백할 것임이 이해된다. 따라서, 본 명세서의 실시 예의 설명 및 설명에 의해 제시된 특정 세부 사항이 아니라 임박한 특허 청구 범위에 의해서만 제한하고자 한다.

Claims (90)

  1. 픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더에 있어서,
    상기 데이터 스트림(14)에 포함되고, 상기 픽처(12)의 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 확인하고(106),
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 미리 결정된 부분에 대해 상기 하나 이상의 도구가 비활성화되도록 상기 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위해 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성되는, 디코더.
  2. 제 1 항에 있어서,
    미리 결정된 부분을 커버하거나 포함하는 상기 픽처의 미리 결정된 영역(104)이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 여부를 나타내는 무손실 코딩 신택스 요소(102)를 상기 데이터 스트림으로부터 읽고,
    상기 무손실 코딩 신택스 요소가 상기 픽처의 상기 미리 결정된 영역이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩됨을 나타내는 경우, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우, 상기 상기 미리 결정된 부분에 대해 및
    상기 무손실 예측 잔차 코딩 또는 상기 무손실 코딩 신택스 요소에 대응하는 상기 코딩 매개변수 설정과 동일하지 않은 상기 복수의 코딩 매개변수가 상기 픽처의 상기 미리 결정된 영역이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩된 것을 나타내는 경우 미리 결정된 도구 상태에 대해
    상기 하나 이상의 도구가 비활성화되록 상기 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성되는, 디코더.
  3. 제 2 항에 있어서, 상기 데이터 스트림의 하나 이상의 신택스 요소(108)에 따라 상기 미리 결정된 도구 상태를 결정하도록 구성되는, 디코더.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 미리 결정된 부분에 대한 하나 이상의 추가 코딩 옵션을 디폴트 상태로 설정하도록 구성되는,
    디코더.
  5. 제 4 항에 있어서, 상기 디폴트 상태는,
    상기 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 저역 통과 필터링의 관점에서 필터링의 감소 또는 필터링의 비활성화; 및/또는
    상기 예측 잔차 신호에 대해 수행될 완벽하게 가역적인 변환을 나타내는,
    디코더.
  6. 제 4 항 또는 제 5 항에 있어서, 상기 추가 코딩 옵션은,
    빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩의 이진화;
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대한 완전 가역 변환의 사용;
    상기 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 필터링의 비활성화 또는 감소; 및/또는
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원 또는 예측 잔차 재양자화의 처리의 비활성화
    에 관한 것인, 디코더.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 제 1 방식으로 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대해 예측 잔차를 상기 데이터 스트림으로부터 디코딩하도록 구성되고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 디코더.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 완전 가역 변환을 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 불완전하게 가역적인 변환을 수행하도록 구성되는, 디코더.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 제 1 방식으로, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 제 2 방식으로, 상기 미리 결정된 부분에 대한 예측 신호(26)를 유도하도록 구성되고, 상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식으로 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 디코더.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 재양자화를 위한 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 디스에이블되도록, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 상기 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하도록 구성되는, 디코더.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분에 대한 상기 하나 이상의 미리 결정된 코딩 옵션을,
    상기 하나 이상의 도구가 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 상기 하나 이상의 툴이 상기 상기 미리 결정된 부분에 대해 비활성화되도록
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 미리 결정된 도구 상태로
    설정하도록 구성되는, 디코더.
  12. 제 11 항에 있어서, 상기 데이터 스트림으로 하나 이상의 신택스 요소에 따라 상기 미리 결정된 도구 상태를 결정하도록 구성되는, 디코더.
  13. 제 3 항 또는 제 12 항에 있어서, 상기 미리 결정된 부분에 대한 상기 하나 이상의 미리 결정된 코딩 옵션이 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대하여 비활성화되도록 설정된 경우, 상기 하나 이상의 신택스 요소 중 하나 이상은 상기 데이터 스트림에 없는, 디코더.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수를 상기 데이터 스트림으로부터 읽고,
    상기 복수의 코딩 매개변수가 나타내는 상기 예측 잔차 변환 모드가 변환 스킵 모드 및 양자화 없음에 대응하는 미리 결정된 양자화 단계 크기보다 더 미세한 양자화 단계 크기에 대응하는지 확인하고, 만약 그렇다면, 상기 양자화 단계 크기를 상기 미리 결정된 양자화 단계 크기로 변경하도록
    구성되는, 디코더.
  15. 픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대하여 예측 잔차를 상기 상기 데이터 스트림으로부터 디코딩하도록
    구성되고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 디코더.
  16. 제 15 항에 있어서, 상기 계산 복잡도가
    등확률 우회 모드를 사용하여 코딩된 상기 빈 스트링의 빈의 수가 상기 제 2 방식보다 제 1 방식에서 더 많은 것, 및
    서로 다른 이진화 코드가 상기 제 1 및 제 2 방식에서 사용되는 것
    중 적어도 하나에 의해 상기 제 2 방식에 비해 상기 제 1 방식에서 감소되도록 구성되는, 디코더.
  17. 제 16 항에 있어서, 상기 빈 문자열의 단항 코드 또는 절단된 단항 코드에 속하는 상기 빈 문자열의 빈의 양은 상기 제 2 방식보다 상기 제 1 방식에서 더 적도록 구성되는, 디코더.
  18. 픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 완벽 가역 변환, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 불완전 가역 변환을 수행하도록
    구성되는, 디코더.
  19. 제 18 항에 있어서, 상기 완전 가역 변환과 상기 불완전 가역 변환은 인터-컬러 컴포넌트 변환이거나 스펙트럼 분해 인트라-컬러 컴포넌트 변환인, 디코더.
  20. 픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로 상기 미리 결정된 부분에 대한 예측 신호(26)를 유도하도록
    구성되고,
    상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 디코더.
  21. 제 20 항에 있어서, 상기 예측 신호는 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 저역 통과 필터링의 관점에서 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는, 디코더.
  22. 픽처를 데이터 스트림으로부터 디코딩하기 위한 디코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 결정하고,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 재양자화를 위한 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 비활성화되도록 설정되고, 상기 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하도록
    구성되는, 디코더.
  23. 제 15 항 내지 제 22 항 중 어느 한 항에 있어서, 상기 데이터 스트림을 기반으로 상기 결정을 수행하도록 구성되는, 디코더.
  24. 제 15 항 내지 제 23 항 중 어느 한 항에 있어서,
    상기 픽처의 상기 미리 결정된 부분 또는 상기 미리 결정된 부분을 포함하는 미리 결정된 영역이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소를 상기 데이터 스트림으로부터 읽고,
    상기 무손실 코딩 신택스 요소에 따라 상기 결정을 수행하여
    상기 결정을 수행하도록 구성되는, 디코더.
  25. 제 15 항 내지 제 24 항 중 어느 한 항에 있어서,
    상기 데이터 스트림(14)에 포함되고, 상기 픽처(12)의 상기 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지를 확인(106)하고,
    상기 복수의 코딩 매개변수(98)가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는지에 따라 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하여
    상기 결정을 수행하도록 구성되는, 디코더.
  26. 비디오 디코더에 있어서,
    내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력하고,
    상기 내부 비트 심도와 상기 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 상기 데이터 스트림으로부터 읽도록
    구성되는, 디코더.
  27. 제 26 항에 있어서, 상기 비디오 출력 전에 내부 복원된 비디오 버전으로부터 상기 입력 비트 심도로 비트 심도 전환을 수행하도록
    구성되는, 디코더.
  28. 제 26 항 또는 제 27 항에 있어서,
    상기 차이에 기초하여 양자화 단계 크기 스케일 매개변수에 대한 최소값을 추론하고,
    예측 잔차 변환 스킵 모드에서 코딩된 상기 비디오의 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록
    구성되는, 디코더.
  29. 제 26 항 내지 제 28 항 중 어느 한 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수할 때, 상기 비디오 부분에 대한 상기 데이터 스트림에서 시그널링된 시그널링된 양자화 단계 크기 스케일 매개변수를, 상기 시그널링된 양자화 단계 크기 스케일 매개변수가 상기 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 상기 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하도록
    구성되는, 디코더.
  30. 제 28 항 또는 제 29 항에 있어서, 상기 데이터 스트림이 무손실 코딩 모드를 시그널링하는 비디오 영역 내에서만 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록 구성되는, 디코더.
  31. 비디오 디코더에 있어서,
    내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력하고,
    양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 상기 데이터 스트림으로부터 읽도록
    구성되는, 디코더.
  32. 제 31 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록
    구성되는, 디코더.
  33. 제 31 항 또는 제 32 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수할 때, 상기 비디오 부분에 대한 상기 데이터 스트림에서 시그널링된 시그널링된 양자화 단계 크기 스케일 매개변수를, 상기 시그널링된 양자화 단계 크기 스케일 매개변수가 상기 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 상기 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하도록
    구성되는, 디코더.
  34. 제 32 항 또는 제 33 항에 있어서, 상기 데이터 스트림이 무손실 코딩 모드를 시그널링하는 비디오 영역 내에서만 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록 구성되는, 디코더.
  35. 비디오 디코더에 있어서,
    내부 비트 심도 및 입력 비트 심도의 표시 또는 이들 간의 차이를 데이터 스트림으로부터 유도하고,
    상기 내부 비트 심도에서 상기 데이터 스트림으로 비디오 디코딩을 수행하고 상기 입력 비트 심도에서 비디오 출력하고,
    상기 내부 비트 심도가 상기 입력 비트 심도 아래로 떨어지는지 확인하여 상기 입력 비트 심도에 대응하도록 상기 내부 비트 심도를 변경하도록
    구성되는, 디코더.
  36. 제 35 항에 있어서,
    무손실 코딩된 비디오 부분의 표시를 상기 데이터 스트림으로부터 유도하고,
    상기 무손실 코딩된 비디오 부분 내에서 상기 검사 및 상기 변경을 수행하고 손실 코딩된 비디오 부분에 대하여 상기 데이터 스트림으로부터 유도된 상기 내부 비트 심도를 사용하도록
    구성되는, 디코더.
  37. 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 있어서,
    상기 데이터 스트림(14)으로 복수의 코딩 매개변수(98)를 시그널링하고,
    상기 픽처(12)의 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 상기 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 확인하고(106),
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 인코더의 예측 루프에서 상기 미리 결정된 부분에 대해 상기 하나 이상의 도구가 비활성화되도록 상기 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위해 상기 인코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하도록
    구성되는, 인코더.
  38. 제 37 항에 있어서,
    미리 결정된 부분을 커버하거나 포함하는 상기 픽처의 미리 결정된 영역(104)이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 여부를 나타내는 무손실 코딩 신택스 요소(102)를 상기 데이터 스트림으로 인코딩하고,
    상기 무손실 코딩 신택스 요소가 상기 픽처의 상기 미리 결정된 영역이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩됨을 나타내는 경우, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우, 상기 상기 미리 결정된 부분에 대해 및
    상기 무손실 예측 잔차 코딩 또는 상기 무손실 코딩 신택스 요소에 대응하는 상기 코딩 매개변수 설정과 동일하지 않은 상기 복수의 코딩 매개변수가 상기 픽처의 상기 미리 결정된 영역이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩된 것을 나타내는 경우 미리 결정된 도구 상태에 대해
    상기 하나 이상의 도구가 비활성화되록 상기 하나 이상의 미리 결정된 코딩 옵션을 설정하도록 구성되는, 인코더.
  39. 제 38 항에 있어서,
    하나 이상의 신택스 요소(108)을 상기 데이터 스트림으로 결정하여 인코딩하고,
    상기 하나 이상의 신택스 요소(108)에 따라 상기 미리 결정된 도구 상태를 결정하도록
    구성되는, 인코더.
  40. 제 37 항 내지 제 39 항 중 어느 한 항에 있어서,
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 미리 결정된 부분에 대한 하나 이상의 추가 코딩 옵션을 디폴트 상태로 설정하도록 구성되는,
    인코더.
  41. 제 40 항에 있어서, 상기 디폴트 상태는,
    상기 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 저역 통과 필터링의 관점에서 필터링의 감소 또는 필터링의 비활성화; 및/또는
    상기 예측 잔차 신호에 대해 수행될 완벽하게 가역적인 변환
    을 나타내는, 인코더.
  42. 제 40 항 또는 제 41 항에 있어서, 상기 추가 코딩 옵션은,
    빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩의 이진화;
    상기 인코더의 예측 루프에서 상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대한 완전 가역 변환의 사용;
    상기 미리 결정된 부분에 대한 예측 신호(26)의 유도를 위한 필터링의 비활성화 또는 감소; 및/또는
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원 또는 예측 잔차 재양자화의 처리의 비활성화
    에 관한 것인, 인코더.
  43. 제 37 항 내지 제 42 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 제 1 방식으로 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대해 예측 잔차를 상기 데이터 스트림으로 인코딩하도록 구성되고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 인코더.
  44. 제 37 항 내지 제 43 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 완전 가역 변환을 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 불완전하게 가역적인 변환을 수행하도록 구성되는, 인코더.
  45. 제 37 항 내지 제 44 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 제 1 방식으로, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 제 2 방식으로, 상기 미리 결정된 부분에 대한 예측 신호(26)를 인코딩하도록 구성되고, 상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식으로 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 인코더.
  46. 제 37 항 내지 제 45 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 재양자화를 위한 상기 인코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 디스에이블되도록, 및 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 상기 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하도록 구성되는, 인코더.
  47. 제 37 항 내지 제 46 항 중 어느 한 항에 있어서,
    상기 미리 결정된 부분에 대한 상기 하나 이상의 미리 결정된 코딩 옵션을,
    상기 하나 이상의 도구가 상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 경우 상기 하나 이상의 툴이 상기 상기 미리 결정된 부분에 대해 비활성화되도록
    상기 복수의 코딩 매개변수가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내지 않는 경우 미리 결정된 도구 상태로
    설정하도록 구성되는, 인코더.
  48. 제 47 항에 있어서,
    하나 이상의 신택스 요소(108)를 상기 데이터 스트림으로 결정하여 인코딩하고,
    상기 하나 이상의 신택스 요소에 따라 상기 미리 결정된 도구 상태를 결정하도록
    구성되는, 인코더.
  49. 제 39 항 또는 제 48 항에 있어서, 상기 미리 결정된 부분에 대한 상기 하나 이상의 미리 결정된 코딩 옵션이 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대하여 비활성화되도록 설정된 경우, 상기 하나 이상의 신택스 요소 중 하나 이상은 상기 데이터 스트림으로 인코딩되지 않는, 인코더.
  50. 제 37 항 내지 제 49 항 중 어느 한 항에 있어서,
    상기 복수의 코딩 매개변수를 상기 데이터 스트림으로 시그널링하고,
    상기 복수의 코딩 매개변수가 나타내는 상기 예측 잔차 변환 모드가 변환 스킵 모드 및 양자화 없음에 대응하는 미리 결정된 양자화 단계 크기보다 더 미세한 양자화 단계 크기에 대응하는지 확인하고, 만약 그렇다면, 상기 양자화 단계 크기를 상기 미리 결정된 양자화 단계 크기로 변경하도록
    구성되는, 인코더.
  51. 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대하여 예측 잔차를 상기 상기 데이터 스트림으로 인코딩하도록
    구성되고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 인코더.
  52. 제 51 항에 있어서, 상기 계산 복잡도가
    등확률 우회 모드를 사용하여 코딩된 상기 빈 스트링의 빈의 수가 상기 제 2 방식보다 제 1 방식에서 더 많은 것, 및
    서로 다른 이진화 코드가 상기 제 1 및 제 2 방식에서 사용되는 것
    중 적어도 하나에 의해 상기 제 2 방식에 비해 상기 제 1 방식에서 감소되도록 구성되는, 인코더.
  53. 제 52 항에 있어서, 상기 빈 문자열의 단항 코드 또는 절단된 단항 코드에 속하는 상기 빈 문자열의 빈의 양은 상기 제 2 방식보다 상기 제 1 방식에서 더 적도록 구성되는, 인코더.
  54. 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 완벽 가역 변환, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 불완전 가역 변환을 수행하도록
    구성되는, 인코더.
  55. 제 54 항에 있어서, 상기 완전 가역 변환과 상기 불완전 가역 변환은 인터-컬러 컴포넌트 변환이거나 스펙트럼 분해 인트라-컬러 컴포넌트 변환인, 인코더.
  56. 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하고,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로 상기 미리 결정된 부분에 대한 예측 신호(26)를 유도하도록
    구성되고,
    상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 인코더.
  57. 제 56 항에 있어서, 상기 예측 신호는 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 저역 통과 필터링의 관점에서 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는, 인코더.
  58. 픽처를 데이터 스트림으로 인코딩하기 위한 인코더에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 결정하고,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 양자화를 위한 상기 인코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 비활성화되도록 설정되고, 상기 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하도록
    구성되는, 인코더.
  59. 제 51 항 내지 제 58 항 중 어느 한 항에 있어서, 상기 데이터 스트림으로 상기 결정을 시그널링하도록 구성되는, 인코더.
  60. 제 51 항 내지 제 59 항 중 어느 한 항에 있어서,
    상기 결정에 근거하여, 상기 픽처의 상기 미리 결정된 부분 또는 상기 미리 결정된 부분을 포함하는 미리 결정된 영역이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 나타내는 무손실 코딩 신택스 요소를 상기 데이터 스트림으로 인코딩하도록 구성되는, 인코더.
  61. 제 51 항 내지 제 60 항 중 어느 한 항에 있어서,
    상기 픽처(12)의 상기 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지를 확인(106)하고,
    상기 복수의 코딩 매개변수(98)를 상기 데이터 스트림(14)으로 시그널링하고,
    상기 복수의 코딩 매개변수(98)가 상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는지에 따라 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하여
    상기 결정을 수행하도록 구성되는, 인코더.
  62. 비디오 인코더에 있어서,
    내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수신하고,
    상기 내부 비트 심도와 상기 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 상기 데이터 스트림으로 인코딩하도록
    구성되는, 인코더.
  63. 제 62 항에 있어서, 내부 복원된 비디오 버전(46)으로부터 상기 입력 비트 심도로 비트 심도 전환을 수행하도록
    구성되는, 인코더.
  64. 제 62 항 또는 제 63 항에 있어서,
    상기 차이에 기초하여 양자화 단계 크기 스케일 매개변수에 대한 최소값을 추론하고,
    예측 잔차 변환 스킵 모드에서 코딩된 상기 비디오의 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록
    구성되는, 인코더.
  65. 제 62 항 내지 제 64 항 중 어느 한 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수할 때, 상기 비디오 부분에 대한 시그널링된 양자화 단계 크기 스케일 매개변수를, 상기 시그널링된 양자화 단계 크기 스케일 매개변수가 상기 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 상기 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하고,
    상기 양자화 단계 크기 스케일 매개변수를 상기 데이터 스트림으로 시그널링하도록
    구성되는, 인코더.
  66. 제 64 항 또는 제 65 항에 있어서, 무손실 코딩 모드가 적용되는 비디오 영역 내에서만 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하고,
    상기 무손실 코딩 모드를 상기 데이터 스트림으로 시그널링하도록
    구성되는, 인코더.
  67. 비디오 인코더에 있어서,
    내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수신하고,
    양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 상기 데이터 스트림으로 인코딩하도록
    구성되는, 인코더.
  68. 제 67 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하도록
    구성되는, 인코더.
  69. 제 67 항 또는 제 68 항에 있어서, 예측 잔차 변환 스킵 모드에서 코딩된 비디오 부분에 대한 상기 최소 양자화 단계 크기 스케일 매개변수를 준수할 때, 시그널링된 양자화 단계 크기 스케일 매개변수를, 상기 시그널링된 양자화 단계 크기 스케일 매개변수가 상기 최소 양자화 단계 크기 스케일 매개변수 아래로 떨어지는 경우, 상기 최소 양자화 단계 크기 스케일 매개변수와 동일하게 변경하고,
    상기 양자화 단계 크기 스케일 매개변수를 상기 데이터 스트림으로 시그널링하도록
    구성되는, 인코더.
  70. 제 68 항 또는 제 69 항에 있어서, 무손실 코딩 모드가 적용되는 비디오 영역 내에서만 상기 최소 양자화 단계 크기 스케일 매개변수를 준수하고,
    상기 무손실 코딩 모드를 상기 데이터 스트림으로 시그널링하도록
    구성되는, 인코더.
  71. 비디오 인코더에 있어서,
    내부 비트 심도 및 입력 비트 심도의 표시 또는 이들 간의 차이를 데이터 스트림으로 인코딩하고,
    상기 내부 비트 심도에서 상기 데이터 스트림으로 비디오 인코딩을 수행하고 상기 입력 비트 심도에서 비디오 출력을 수신하고,
    상기 내부 비트 심도가 상기 입력 비트 심도 아래로 떨어지는지 확인하여 상기 입력 비트 심도에 대응하도록 상기 내부 비트 심도를 변경하도록
    구성되는, 인코더.
  72. 제 71 항에 있어서,
    무손실 코딩된 비디오 부분의 표시를 상기 데이터 스트림으로 인코딩하고,
    상기 무손실 코딩된 비디오 부분 내에서 상기 검사 및 상기 변경을 수행하고 손실 코딩된 비디오 부분에 대하여 상기 내부 비트 심도를 사용하도록
    구성되는, 인코더.
  73. 픽처를 데이터 스트림으로부터 디코딩하기 위한 방법에 있어서,
    상기 데이터 스트림(14)에 포함되고, 상기 픽처(12)의 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 확인하는 단계(106),
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 미리 결정된 부분에 대해 상기 하나 이상의 도구가 비활성화되도록 상기 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위해 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하는 단계
    를 포함하는, 방법.
  74. 픽처를 데이터 스트림으로부터 디코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 디코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대하여 예측 잔차를 상기 상기 데이터 스트림으로부터 디코딩하는 단계
    를 포함하고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 방법.
  75. 픽처를 데이터 스트림으로부터 디코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계,
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 완벽 가역 변환, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 불완전 가역 변환을 수행하는 단계
    를 포함하는, 방법.
  76. 픽처를 데이터 스트림으로부터 디코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로 상기 미리 결정된 부분에 대한 예측 신호(26)를 유도하는 단계
    를 포함하고, 상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 방법.
  77. 픽처를 데이터 스트림으로부터 디코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 결정하는 단계,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 재양자화를 위한 상기 디코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 비활성화되도록 설정되고, 상기 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하는 단계
    를 포함하는, 디코더.
  78. 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력하는 단계,
    상기 내부 비트 심도와 상기 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 상기 데이터 스트림으로부터 읽는 단계
    를 포함하는, 방법.
  79. 내부 비트 심도에서 데이터 스트림으로부터 비디오 디코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력하는 단계,
    양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 상기 데이터 스트림으로부터 읽는 단계
    를 포함하는, 방법.
  80. 내부 비트 심도 및 입력 비트 심도의 표시 또는 이들 간의 차이를 데이터 스트림으로부터 유도하는 단계,
    상기 내부 비트 심도에서 상기 데이터 스트림으로부터 비디오 디코딩을 수행하고 상기 입력 비트 심도에서 비디오 출력하는 단계,
    상기 내부 비트 심도가 상기 입력 비트 심도 아래로 떨어지는지 확인하여 상기 입력 비트 심도에 대응하도록 상기 내부 비트 심도를 변경하는 단계
    를 포함하는, 방법.
  81. 픽처를 데이터 스트림으로 인코딩하기 위한 방법에 있어서,
    상기 데이터 스트림(14)으로 복수의 코딩 매개변수(98)를 시그널링하는 단계,
    상기 픽처(12)의 미리 결정된 부분(100)과 관련되고, 상기 미리 결정된 부분에 대한 예측 잔차 변환 모드 및 양자화 정확도를 제어하는, 상기 복수의 코딩 매개변수(98)가 무손실 예측 잔차 코딩에 대응하는 코딩 매개변수 설정을 나타내는지 확인하는 단계(106),
    상기 무손실 예측 잔차 코딩에 대응하는 상기 코딩 매개변수 설정을 나타내는 상기 복수의 코딩 매개변수에 응답하여, 상기 인코더의 예측 루프에서 상기 미리 결정된 부분에 대해 상기 하나 이상의 도구가 비활성화되도록 상기 미리 결정된 부분에 대해 예측 잔차 정정된 예측 복원을 처리하기 위해 상기 인코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션을 설정하는 단게
    를 포함하는, 방법.
  82. 픽처를 데이터 스트림으로 인코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로, 빈 문자열로의 예측 잔차 데이터 및 상기 빈 문자열의 컨텍스트 적응 이진 엔트로피 인코딩의 이진화를 사용하여 상기 미리 결정된 부분에 대하여 예측 잔차를 상기 상기 데이터 스트림으로 인코딩하는 단계
    를 포함하고, 상기 제 1 및 제 2 방식은 상기 제 2 방식에 비해 상기 제 1 방식에서 계산 복잡도가 감소하는 식으로 상이한, 인코더.
  83. 픽처를 데이터 스트림으로 인코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계, 및
    상기 미리 결정된 부분의 예측 잔차(24''', 24'''') 또는 예측 잔차 정정된 복원(46)에 대해, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 완벽 가역 변환, 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 불완전 가역 변환을 수행하는 단계
    를 포함하는, 방법.
  84. 픽처를 데이터 스트림으로 인코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지를 결정하는 단계,
    상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 1 방식으로 및 상기 픽처의 상기 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 제 2 방식으로 상기 미리 결정된 부분에 대한 예측 신호(26)를 유도하는 단계
    를 포함하고,
    상기 제 1 및 제 2 방식은 상기 예측 신호가 상기 제 2 방식보다 상기 제 1 방식에서 덜 필터링되거나 상기 제 2 방식으로 필터링되는 동안 상기 제 1 방식으로 필터링되지 않는 식으로 상이한, 방법.
  85. 픽처를 데이터 스트림으로 인코딩하기 위한 방법에 있어서,
    상기 픽처의 미리 결정된 부분에 대해, 이것이 무손실 코딩 또는 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는지 결정하는 단계,
    상기 미리 결정된 부분에 대한 예측 잔차 정정된 예측 복원을 처리하거나 예측 잔차 양자화를 위한 상기 인코더의 하나 이상의 도구에 관한 하나 이상의 미리 결정된 코딩 옵션이, 상기 픽처의 상기 미리 결정된 부분이 무손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 하나 이상의 도구가 상기 미리 결정된 부분에 대해 비활성화되도록 설정되고, 상기 픽처의 미리 결정된 부분이 손실 코딩을 사용하여 상기 데이터 스트림으로 코딩되는 경우 상기 복수의 코딩 매개변수로부터 상기 하나 이상의 미리 결정된 코딩 옵션을 유도함으로써 설정되는 것을 추론하는 단계
    를 포함하는, 방법.
  86. 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수신하는 단계, 및
    상기 내부 비트 심도와 상기 입력 비트 심도 간의 차이를 나타내는 신택스 요소를 상기 데이터 스트림으로 인코딩하는 단계
    를 포함하는, 방법.
  87. 내부 비트 심도에서 데이터 스트림으로 비디오 인코딩을 수행하고 입력 비트 심도 또는 내부 비트 심도에서 비디오 출력을 수신하는 단계, 및
    양자화 단계 크기 스케일 매개변수에 대한 최소값을 나타내는 신택스 요소를 상기 데이터 스트림으로 인코딩하는 단계
    를 포함하는, 방법.
  88. 내부 비트 심도 및 입력 비트 심도의 표시 또는 이들 간의 차이를 데이터 스트림으로 인코딩하는 단계,
    상기 내부 비트 심도에서 상기 데이터 스트림으로 비디오 인코딩을 수행하고 상기 입력 비트 심도에서 비디오 출력을 수신하는 단계, 및
    상기 내부 비트 심도가 상기 입력 비트 심도 아래로 떨어지는지 확인하여 상기 입력 비트 심도에 대응하도록 상기 내부 비트 심도를 변경하는 단계
    를 포함하는, 방법.
  89. 제 100 항 내지 제 115 항 중 어느 한 항의 방법을 구현하기 위한 컴퓨터 프로그램.
  90. 제 108 항 내지 제115 항 중 어느 한 항의 방법에 의해 획득 가능한 데이터 스트림.


KR1020227000408A 2019-07-05 2020-07-02 향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램 KR20220056846A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19184790.4 2019-07-05
EP19184790 2019-07-05
PCT/EP2020/068672 WO2021004887A1 (en) 2019-07-05 2020-07-02 Encoder, decoder, methods and computer programs for an improved lossless compression

Publications (1)

Publication Number Publication Date
KR20220056846A true KR20220056846A (ko) 2022-05-06

Family

ID=67303356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227000408A KR20220056846A (ko) 2019-07-05 2020-07-02 향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램

Country Status (9)

Country Link
US (2) US11973988B2 (ko)
EP (1) EP3994879A1 (ko)
JP (2) JP7354403B2 (ko)
KR (1) KR20220056846A (ko)
CN (1) CN114342370A (ko)
BR (1) BR112022000094A2 (ko)
MX (1) MX2022000007A (ko)
TW (1) TWI771705B (ko)
WO (1) WO2021004887A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008104072A (ja) * 2006-10-20 2008-05-01 Canon Inc 画像データの符号化方法および符号化装置
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
US20130294524A1 (en) 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
JP6997339B2 (ja) * 2018-10-22 2022-01-17 日本放送協会 符号化装置、復号装置、及びプログラム
US10764577B2 (en) * 2018-10-25 2020-09-01 Futurewei Technologies, Inc. Non-MPM mode coding for intra prediction in video coding

Also Published As

Publication number Publication date
BR112022000094A2 (pt) 2022-03-15
TW202110196A (zh) 2021-03-01
JP2022538687A (ja) 2022-09-05
JP2023169321A (ja) 2023-11-29
MX2022000007A (es) 2022-03-17
CN114342370A (zh) 2022-04-12
EP3994879A1 (en) 2022-05-11
WO2021004887A1 (en) 2021-01-14
US11973988B2 (en) 2024-04-30
US20240187653A1 (en) 2024-06-06
JP7354403B2 (ja) 2023-10-02
TWI771705B (zh) 2022-07-21
US20220132169A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
KR102543505B1 (ko) 종속 양자화
TWI753356B (zh) 用於編碼或解碼轉換塊的方法與裝置
CN107743705B (zh) 译码视频数据的方法和装置及非暂时性计算机可读媒体
KR102245088B1 (ko) 성분-간 예측
JP6165840B2 (ja) クロマスライスレベルqpオフセットおよびデブロッキング
US11212534B2 (en) Methods and apparatus for intra coding a block having pixels assigned to groups
EP2984827B1 (en) Sample adaptive offset scaling based on bit-depth
KR20230070064A (ko) 종속 스칼라 양자화에 적합한 변환 계수의 엔트로피 코딩
EP3039871A1 (en) Residual prediction for intra block copying
US20230044030A1 (en) Determining a parametrization for context-adaptive binary arithmetic coding
KR20220030999A (ko) 스케일링에 기초하는 개선된 변환을 갖는 인코더, 디코더, 방법 및 컴퓨터 프로그램
KR20200112945A (ko) 재구성된 픽처의 정제를 갖는 인코딩 및 디코딩
KR20220056846A (ko) 향상된 손실 없는 압축을 위한 인코더, 디코더, 방법, 및 컴퓨터 프로그램
KR102551317B1 (ko) 선택적 양자화 파라미터 송신
CN115668939A (zh) 视频数据编码和解码
US20220210418A1 (en) Multiple stage residual coding in modern hybrid image and video coding solutions
EP4325848A1 (en) Encoding method, decoding method, encoder, decoder and storage medium
KR20210046861A (ko) 성분-간 예측
CN116918330A (zh) 对非二元块的残差编解码