KR102487032B1 - 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형 - Google Patents

레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형 Download PDF

Info

Publication number
KR102487032B1
KR102487032B1 KR1020227036150A KR20227036150A KR102487032B1 KR 102487032 B1 KR102487032 B1 KR 102487032B1 KR 1020227036150 A KR1020227036150 A KR 1020227036150A KR 20227036150 A KR20227036150 A KR 20227036150A KR 102487032 B1 KR102487032 B1 KR 102487032B1
Authority
KR
South Korea
Prior art keywords
reshaping
bin
codeword
function
value
Prior art date
Application number
KR1020227036150A
Other languages
English (en)
Other versions
KR20220145423A (ko
Inventor
펭 인
팡준 푸
타오란 루
타오 첸
월터 제이. 후삭
씬 토마스 맥카시
Original Assignee
돌비 레버러토리즈 라이쎈싱 코오포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 돌비 레버러토리즈 라이쎈싱 코오포레이션 filed Critical 돌비 레버러토리즈 라이쎈싱 코오포레이션
Priority to KR1020237000612A priority Critical patent/KR102625573B1/ko
Publication of KR20220145423A publication Critical patent/KR20220145423A/ko
Application granted granted Critical
Publication of KR102487032B1 publication Critical patent/KR102487032B1/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

제1 코드워드 표현의 이미지 시퀀스가 주어지면, 레이트 왜곡 최적화를 사용하는 이미지 재성형을 위한 방법, 프로세스 및 시스템이 제시되고, 재성형에 의해 이미지가 제2 코드워드 표현으로 코딩되는 것이 허용되고, 이는 제1 코드워드 표현을 사용하는 것보다 더 효율적인 압축을 허용한다. 재성형 매개변수를 시그널링하기 위한 신택스법이 또한 제시된다.

Description

레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형{IMAGE RESHAPING IN VIDEO CODING USING RATE DISTORTION OPTIMIZATION}
관련 출원에 대한 교차 참조
본 출원은, 미국 가특허 출원인, 2019년 1월 14일자로 출원된 제62/792,122호, 2018년 12월 20일자로 출원된 제62/782,659호, 2018년 11월 28일자로 출원된 제62/772,228호, 2018년 10월 1일자로 출원된 제62/739,402호, 2018년 9월 4자로 출원된 제62/726,608호, 2018년 6월 28일자로 출원된 제62/691,366호, 및 2018년 2월 14일자로 출원된 제62/630,385호의 우선권이 이익을 주장하고, 그 각각은 그 전체가 본 명세서에 참조로 포함된다.
기술 분야
본 발명은 일반적으로 이미지 및 비디오 코딩에 관한 것이다. 보다 구체적으로, 본 발명의 실시예는 비디오 코딩에서의 이미지 재성형(reshaping)에 관한 것이다.
2013년에, 국제전기통신연합(International Telecommunications Union; ITU)과 함께, 국제 표준화 기구(International Standardization Organization; ISO)의 MPEG 그룹은, HEVC(H.265로도 알려짐) 비디오 코딩 표준의 제1 초안(first draft)을 발표했다(참고 문헌 [4]). 보다 최근에는, 동일 그룹이 기존 비디오 코딩 기술에 비해 향상된 코딩 성능을 제공하는 차세대 코딩 표준의 개발을 지원하기 위해 증빙 요구(call for evidence)를 발표했다.
본 명세서에 사용된 바와 같이, 용어 '비트 심도(bit depth)'는 이미지의 컬러 성분 중 하나를 나타내는 데에 사용되는 픽셀의 수를 나타낸다. 전통적으로, 이미지는, 화소 당 컬러 성분 당 8-비트(예를 들어, 화소 당 24 비트)로 코딩되었지만; 현대 아키텍처는 이제 10 비트, 12 비트 이상과 같은 더 높은 비트 심도를 지원할 수 있다.
전통적인 이미지 파이프라인에서, 캡처된 이미지는 선형 장면 광을 비선형 비디오 신호(예를 들어, 감마-코딩된 RGB 또는 YCbCr)로 변환하는 비선형 광전 함수(opto-electronic function; OETF)를 사용하여 양자화된다. 그 다음, 수신기에서, 신호는, 디스플레이 상에 표시되기 전에, 비디오 신호 값을 출력 스크린 컬러 값으로 변환하는 전광 변환 함수(electro-optical transfer function; EOTF)에 의해 처리된다. 이러한 비선형 함수는 ITU-R 권고 BT. 709 및 BT. 2020에 문서화된 전통적인 "감마" 곡선, SMPTE ST 2084에 설명된 "PQ"(지각적 양자화), 및 권고 ITU-R BT. 2100에 설명된 "HybridLog-gamma" 즉 "HLG" 곡선을 포함한다.
본 명세서에 사용된 바와 같이, 용어 "포워드 재성형(forward reshaping)"은, 디지털 이미지의 그 원래의 비트 심도 및 원래의 코드워드(codeword) 분포 또는 표현(예를 들어, 감마 또는 PQ 또는 HLG 등)에서 동일하거나 상이한 비트 심도 및 상이한 코드워드 분포 또는 표현의 이미지로의 샘플-대-샘플 또는 코드워드-대-코드워드 매핑(mapping)의 프로세스를 나타낸다. 재성형은 고정된 비트 레이트에서 향상된 압축성 또는 향상된 이미지 품질을 허용한다. 예를 들어, 제한 없이, 재성형은, 10-비트 비디오 코딩 아키텍처에서 코딩 효율을 향상시키기 위해 10-비트 또는 12-비트 PQ-코딩된 HDR 비디오에 적용될 수 있다. 수신기에서, 재성형된 신호를 압축 해제한 후에, 수신기는, 신호를 그 원래의 코드워드 분포로 복원시키기 위해 "역방향 재성형 함수(inverse reshaping function)"를 적용할 수 있다. 본 발명자들에 의해 이해되는 바와 같이, 차세대의 비디오 코딩 표준에 대한 개발이 시작됨에 따라, 이미지의 통합된 재성형 및 코딩을 위한 향상된 기법이 바람직한이다. 본 발명의 방법은, 표준 동적 범위(standard dynamic range; SDR) 및/또는 높은 동적 범위(high-dynamic range; HDR)의 콘텐츠를 포함하지만 이에 제한되지 않는 다양한 비디오 콘텐츠에 적용 가능할 수 있다.
이 섹션에 설명된 접근법은, 추구될 수 있는 접근법이지만, 반드시 이전에 고안되었거나 추구되었던 접근법은 아니다. 따라서, 달리 지시되지 않는 한, 이 섹션에 설명된 접근법 중 임의의 것이라도 단순히 이 섹션에 그것이 포함됨으로 인해 종래 기술로서의 자격이 있다고 가정되어서는 안 된다. 마찬가지로, 하나 이상의 접근법에 관련하여 식별된 문제는, 달리 지시되지 않는 한, 이 섹션에 기반하여 임의의 종래 기술에서 인식되었던 것으로 가정되어서는 안 된다.
본 발명의 실시예는 첨부 도면의 도면에서 예로서 도시되고, 제한적 방식으로 도시된 것은 아니고, 유사한 참조 부호는 유사한 요소를 지칭하며:
도 1a는 비디오 전달 파이프라인(video delivery pipeline)에 대한 예시적인 프로세스를 도시하고;
도 1b는 종래 기술에 따른 신호 재성형을 이용하는 데이터 압축에 대한 예시적인 프로세스를 도시하고;
도 2a는 본 발명의 실시예에 따른 하이브리드 루프-내(hybrid in-loop) 재성형을 이용하는 인코더에 대한 예시적인 아키텍처를 도시하고;
도 2b는 본 발명의 실시예에 따른 하이브리드 루프-내 재성형을 이용하는 디코더에 대한 예시적인 아키텍처를 도시하고;
도 2c는 실시예에 따른 재성형을 이용하는 인트라-CU(intra-CU) 디코딩에 대한 예시적인 아키텍처를 도시하고;
도 2d는 실시예에 따른 재성형을 이용하는 인터-CU(inter-CU) 디코딩에 대한 예시적인 아키텍처를 도시하고;
도 2e는 루마 또는 크로마 처리에 대한 실시예에 따라 인터-코딩된 슬라이스 내의 인트라-CU 디코딩에 대한 예시적인 아키텍처를 도시하고;
도 2f는 크로마 처리에 대한 실시예에 따라 인터-코딩된 슬라이스 내의 인트라-CU 디코딩에 대한 예시적인 아키텍처를 도시하고;
도 3a는 본 발명의 실시예에 따른 재성형 아키텍처를 사용하여 비디오를 인코딩하기 위한 예시적인 프로세스를 도시하고;
도 3b는 본 발명의 실시예에 따른 재성형 아키텍처를 사용하여 비디오를 디코딩하기 위한 예시적인 프로세스를 도시하고;
도 4는 본 발명의 실시예에 따라 재성형되는 도메인에서 코드워드를 재할당(reassigning)하기 위한 예시적인 프로세스를 도시하고;
도 5는 본 발명의 실시예에 따라 재성형 임계값을 도출하기 위한 예시적인 프로세스를 도시하고;
도 6a, 6b, 6c, 및 6d는 도 5에 도시된 프로세스 및 본 발명의 실시예에 따라 재성형 임계값을 도출하기 위한 예시적인 데이터 플롯(data plot)을 도시하고;
도 6e는 본 발명의 실시예에 따라 빈 분산(bin variance)에 따른 코드워드 할당(codeword allocation)의 예시를 도시한다.
예시적인 실시예의 설명
레이트-왜곡 최적화(rate-distortion optimization; RDO)를 이용하여 이미지를 압축하기 위한 신호 재성형 및 코딩 기법이 본 명세서에 설명된다. 다음의 설명에서, 설명의 목적으로, 본 발명의 철저한 이해를 제공하기 위해 다수의 특정 세부 사항이 제시된다. 하지만, 본 발명이 이런 특정 세부 사항 없이도 실시될 수 있음이 명백할 것이다. 다른 경우에, 본 발명을 불필요하게 가리거나, 모호하게 하거나, 애매하게 하는 것을 회피하기 위해, 공지된 구조 및 디바이스가 총망라하여 상세히 설명되어 있지는 않다.
개요
본 명세서에 설명된 예시적인 실시예는 비디오를 위한 신호 재성형 및 코딩에 관한 것이다. 인코더에 있어서, 프로세서는 제2 코드워드 표현으로 재성형될 제1 코드워드 표현의 입력 이미지를 수신하고 - 제2 코드워드 표현에 의해 상기 제1 코드워드 표현보다 더 효율적인 압축이 허용됨 -, 입력 이미지의 화소들을 제2 코드워드 표현으로 매핑하는 포워드 재성형 함수를 생성하고, 포워드 재성형 함수를 생성하기 위해, 인코더는: 입력 이미지를 다수의 화소 영역으로 분할하고, 각 화소 영역의 제1 휘도 특성에 따라 화소 영역들의 각각을 다수의 코드워드 빈 중 하나에 할당하고, 각 코드워드 빈에 할당된 화소 영역들의 각각의 제2 휘도 특성에 따라 다수의 코드워드 빈의 각각의 하나에 대한 빈 메트릭(bin metric)을 계산하고, 제2 코드워드 표현의 다수의 코드워드를 각 코드워드 빈의 빈 메트릭 및 레이트 왜곡 최적화 기준에 따라 각 코드워드 빈에 할당하고, 제2 코드워드 표현의 코드워드들을 다수의 코드워드 빈의 각각에 할당하는 것에 응답하여 포워드 재성형 함수를 생성한다.
또다른 실시예에서, 디코더에 있어서, 프로세서는 재성형 모델을 특징짓는 코딩된 비트스트림 신택스 요소(syntax elements)를 수신하고, 신택스 요소는 재성형 구성(reshaping construction) 프로세스에 사용될 최소 코드워드 빈 색인 값을 나타내는 플래그, 재성형 구성 프로세스에 사용될 최대 코드워드 빈 색인 값을 나타내는 플래그, 빈 중요도 값들을 포함하는 디폴트 빈-관련 매개변수들(default bin-relating parameters)과 연관되는 재성형 모델 프로파일 유형을 나타내는 플래그, 또는 재성형 모델 프로파일에 정의된 디폴트 빈 중요도 값들을 조정하는 데에 사용될 하나 이상의 델타 빈 중요도 값을 나타내는 플래그 중 하나 이상을 포함한다. 프로세서는, 재성형 모델 프로파일에 기반하여, 각 빈에 대한 디폴트 빈 중요도 값들과, 빈의 중요도 값에 따라 각 빈에 할당될 디폴트 코드워드 수의 할당 목록을 결정한다. 그 다음,
각 코드워드 빈에 대해, 프로세서는:
그의 디폴트 빈 중요도 값을 그의 델타 빈 중요도 값에 추가(adding)함으로써, 그의 빈 중요도 값을 결정하고;
빈의 빈 중요도 값과 할당 목록에 기반하여, 코드워드 빈에 할당될 코드워드 수를 결정하고;
각 코드워드 빈에 할당될 코드워드 수에 기반하여, 포워드 재성형 함수를 생성한다.
또다른 실시예에서, 디코더에 있어서, 프로세서는, 제1 코드워드 표현의 하나 이상의 코딩된 재성형된 이미지, 및 코딩된 재성형된 이미지들에 대한 재성형 정보에 관련된 메타데이터를 포함하는 코딩된 비트스트림을 수신한다. 프로세서는, 재성형 정보에 관련된 메타데이터에 기반하여, 역방향 재성형 함수 및 포워드 재성형 함수를 생성하고, 역방향 재성형 함수는 재성형된 이미지의 화소들을 제1 코드워드 표현에서 제2 코드워드 표현으로 매핑하고, 포워드 재성형 함수는 이미지의 화소들을 제2 코드워드 표현에서 제1 코드워드 표현으로 매핑한다. 프로세서는, 코딩된 비트스트림으로부터, 하나 이상의 코딩된 유닛을 포함하는 코딩된 재성형된 이미지를 추출하고, 코딩된 재성형된 이미지에서의 하나 이상의 코딩된 유닛에 대해:
코딩된 재성형된 이미지에서의 재성형된 인트라-코딩된 코딩 유닛(coding unit; CU)에 대해서는, 프로세서가:
CU에서의 재성형된 잔차들 및 제1 재성형된 예측 샘플들에 기반하여, CU의 제1 재성형된 재구성된 샘플들을 생성하고;
제1 재성형된 재구성된 샘플들 및 루프-필터 매개변수들에 기반하여, 재성형된 루프 필터 출력을 생성하고;
제2 코드워드 표현으로 코딩 유닛의 디코딩된 샘플들을 생성하기 위해, 재성형된 루프 필터 출력에 역방향 재성형 함수를 적용하고;
코딩 유닛의 디코딩된 샘플들을 제2 코드워드 표현으로 참조 버퍼에 저장하고;
코딩된 재성형된 이미지에서의 재성형된 인터-코딩된 코딩 유닛에 대해서는; 프로세서가:
제2 재성형된 예측 샘플들을 생성하기 위해, 제2 코드워드 표현으로 참조 버퍼에 저장된 예측 샘플들에 포워드 재성형 함수를 적용하고;
코딩된 CU에서의 재성형된 잔차들 및 제2 재성형된 예측 샘플들에 기반하여, 코딩 유닛의 제2 재성형된 재구성된 샘플들을 생성하고;
제2 재성형된 재구성된 샘플들 및 루프-필터 매개변수들에 기반하여, 재성형된 루프 필터 출력을 생성하고;
제2 코드워드 표현으로 코딩 유닛의 샘플들을 생성하기 위해, 재성형된 루프 필터 출력에 역방향 재성형 함수를 적용하고;
코딩 유닛의 샘플들을 제2 코드워드 표현으로 참조 버퍼에 저장한다. 최종적으로, 프로세서는, 참조 버퍼에 저장된 샘플들에 기반하여, 디코딩된 이미지를 생성한다.
또다른 실시예에서, 디코더에 있어서, 프로세서는 입력 코드워드 표현의 하나 이상의 코딩된 재성형된 이미지를 포함하는 코딩된 비트스트림, 및 코딩된 비트스트림에서의 하나 이상의 코딩된 재성형된 이미지에 대한 재성형 메타데이터(207)를 수신한다. 프로세서는, 재성형 메타데이터에 기반하여, 포워드 재성형 함수(282)를 생성하고, 포워드 재성형 함수는 이미지의 화소들을 제1 코드워드 표현에서 입력 코드워드 표현으로 매핑한다. 프로세서는, 재성형 메타데이터 또는 포워드 재성형 함수에 기반하여, 역방향 재성형 함수(265-3)를 생성하고, 역방향 재성형 함수는 재성형된 이미지의 화소들을 입력 코드워드 표현에서 제1 코드워드 표현으로 매핑한다. 프로세서는, 코딩된 비트스트림으로부터, 하나 이상의 코딩된 유닛을 포함하는 코딩된 재성형된 이미지를 추출하고:
코딩된 재성형된 이미지에서의 인트라-코딩된 코딩 유닛(인트라-CU)에 대해서는, 프로세서가:
인트라-CU에서의 재성형된 잔차들 및 인트라-예측된 재성형된 예측 샘플들에 기반하여, 인트라-CU의 재성형된 재구성(285)된 샘플들을 생성하고;
제1 코드워드 표현으로 상기 인트라-CU의 디코딩된 샘플들을 생성하기 위해, 인트라-CU의 재성형된 재구성된 샘플들에 역방향 재성형 함수(265-3)를 적용하고;
인트라-CU의 출력 샘플들을 생성하기 위해, 인트라-CU의 디코딩된 샘플들에 루프 필터(270)를 적용하고;
인트라-CU의 출력 샘플들을 참조 버퍼에 저장하고;
코딩된 재성형된 이미지에서의 인터-코딩된 CU(인터-CU)에 대해서는, 프로세서가:
입력 코드워드 표현으로 인터-CU에 대한 재성형된 예측 샘플들을 생성하기 위해, 제1 코드워드 표현으로 참조 버퍼에 저장된 인터-예측 샘플들에 포워드 재성형 함수(282)를 적용하고;
인터-CU에서의 재성형된 잔차들 및 인터-CU에 대한 재성형된 예측 샘플들에 기반하여, 인터-CU의 재성형된 재구성된 샘플들을 생성하고;
제1 코드워드 표현으로 인터-CU의 디코딩된 샘플들을 생성하기 위해, 인터-CU의 재성형된 재구성된 샘플들에 역방향 재성형 함수(265-3)를 적용하고;
인터-CU의 출력 샘플들을 생성하기 위해, 인터-CU의 디코딩된 샘플들에 루프 필터(270)를 적용하고;
인터-CU의 출력 샘플들을 참조 버퍼에 저장하고;
참조 버퍼의 출력 샘플들에 기반하여, 제1 코드워드 표현으로 디코딩된 이미지를 생성한다.
예시적인 비디오 전달 처리 파이프라인
도 1a는 비디오 캡처로부터 비디오 콘텐츠 표시까지의 다양한 단계를 나타내는 종래의 비디오 전달 파이프라인(100)의 예시적인 프로세스를 도시한다. 비디오 프레임(102)의 시퀀스는 이미지 생성 블록(105)을 이용하여 캡처되거나 생성된다. 비디오 프레임(102)은, 비디오 데이터(107)를 제공하기 위해, 디지털 방식으로(예들 들어, 디지털 카메라로) 캡처될 수 있거나, 컴퓨터에 의해(예를 들어, 컴퓨터 애니메이션을 사용하여) 생성될 수 있다. 대안적으로, 비디오 프레임(102)은 필름 카메라에 의해 필름상에 캡처될 수 있다. 필름은 디지털 포맷으로 변환되어 비디오 데이터(107)를 제공한다. 제작 단계(110)에서, 비디오 데이터(107)는 비디오 제작 스트림(112)을 제공하도록 편집된다.
그 다음, 제작 스트림(112)의 비디오 데이터는, 제작 후 편집(post-production editing)을 위해 블록(115)에서 프로세서에 제공된다. 제작 후 편집을 위한 블록(115)은, 이미지 품질을 강화하거나, 비디오 창작자의 창작 의도에 따라 이미지에 대한 특정 외관을 달성하기 위해, 이미지의 특정 영역에서 컬러 또는 밝기를 조정하거나 수정하는 것을 포함할 수 있다. 이는 때때로 "컬러 타이밍(color timing)" 또는 "컬러 그레이딩(color grading)"으로 불린다. 다른 편집(예를 들어, 장면 선택 및 시퀀싱, 이미지 자르기, 컴퓨터-생성된 시각 특수 효과의 추가 등)이, 배포를 위한 제작의 최종 버전(117)을 산출하도록 블록(115)에서 수행될 수 있다. 제작 후 편집(115) 동안, 비디오 이미지는 참조 디스플레이(125) 상에 보여진다.
제작 후 편집(115)에 뒤이어, 최종 제작(117)의 비디오 데이터는, 텔레비전 수상기, 셋톱 박스, 영화관 등과 같은 디코딩 및 재생 디바이스에 다운스트림을 전달하기 위한 인코딩 블록(120)에 전달될 수 있다. 일부 실시예에서, 코딩 블록(120)은, 코딩된 비트스트림(122)을 생성하기 위해, ATSC, DVB, DVD, Blu-Ray 및 다른 전달 포맷에 의해 정의된 것들과 같은, 오디오 및 비디오 인코더를 포함할 수 있다. 수신기에서, 코딩된 비트스트림(122)은, 신호(117)에 일치하는 또는 근접한 근사(identical or close approximation)를 나타내는 디코딩된 신호(132)를 생성하기 위해, 디코딩 유닛(130)에 의해 디코딩된다. 수신기는, 기준 디스플레이(125)와는 완전히 상이한 특성을 가질 수 있는 타겟 디스플레이(140)에 부착될 수 있다. 해당 경우에, 디스플레이-매핑된 신호(137)를 생성함으로써 디코딩된 신호(132)의 동적 범위를 타겟 디스플레이(140)의 특성에 매핑하기 위해, 표시 관리 블록(135)이 사용될 수 있다.
신호 재성형
도 1b는 종래 기술 [2]에 따른 신호 재성형을 위한 예시적인 프로세스를 도시한다. 입력 프레임(117)이 주어지면, 포워드 재성형 블록(150)이 입력 및 코딩 제한 사항(coding constrains)을 분석하고, 입력 프레임(117)을 재양자화된 출력 프레임(152)에 매핑하는 코드워드 매핑 함수를 생성한다. 예를 들어, 입력(117)은 특정한 전광 변환 함수(EOTF)(예를 들어, 감마)에 따라 인코딩될 수 있다. 일부 실시예에서, 재성형 프로세스에 관한 정보가 메타데이터를 사용하여 다운스트림 디바이스(예컨대, 디코더)에 전달될 수 있다. 본 명세서에 사용된 바와 같이, 용어 "메타데이터"는, 코딩된 비트스트림의 일부로서 전송되고 디코더가 디코딩된 이미지를 렌더링하는 것을 보조하는 임의의 보조 정보에 관한 것이다. 이러한 메타데이터는, 본 명세서에 설명된 것들과 같은, 색 공간 또는 영역(color space or gamut) 정보, 기준 디스플레이 매개변수, 및 보조 신호 매개변수를 포함할 수 있지만 이에 제한되지 않는다.
코딩(120) 및 디코딩(130)에 뒤이어, 디코딩된 프레임(132)은, 이전에 논의된 표시 관리 프로세스(135)와 같은 추가 다운스트림 처리를 위해, 재양자화된 프레임(132)을 원래의 EOTF 도메인(예를 들어, 감마)으로 역 변환하는 백워드(backward)(또는 역방향) 재성형 함수(160)에 의해 처리될 수 있다. 일부 실시예에서, 백워드 재성형 함수(160)는, 예를 들어, AVC 또는 HEVC 비디오 디코더에서의 역양자화기(de-quantizer)의 일부로서, 디코더(130)에서의 역양자화기와 통합될 수 있다.
본 명세서에 사용된 바와 같이, 용어 "재성형기(reshaper)"는 디지털 이미지를 코딩 및/또는 디코딩할 때 사용될 포워드 또는 역방향 재성형 함수를 나타낼 수 있다. 재성형 함수의 예시는 참고 문헌 [2]에 논의된다. 참고 문헌 [2]에서, 높은 동적 범위 비디오 코딩을 위한 루프-내 블록-기반의 이미지 재성형 방법이 제안되었다. 해당 설계에 의해 코딩 루프 내에서 블록-기반의 재성형이 허용되지만, 복잡성이 증가된다는 비용을 치룬다. 구체적으로, 설계는 디코딩된 이미지 버퍼의 2개의 세트 - 한 세트는 재성형 없는 예측과 디스플레이로의 출력을 위해 사용될 수 있는 역방향-재성형된(또는 비-재성형된) 디코딩된 화상을 위한 것이고, 또다른 세트는 재성형 있는 예측을 위해서만 사용되는 포워드-재성형된 디코딩된 화상을 위한 것임 - 를 유지하는 것을 필요로 한다. 포워드-재성형된 디코딩된 화상이 즉시 계산될 수 있더라도, 특히, 인터-예측(부화소 보간을 갖는 모션 보상)을 위해서는 복잡성 비용이 매우 크다. 일반적으로, 디스플레이-화소-버퍼(display-picture-buffer; DPB) 관리는 복잡하고, 매우 세심한 주의를 필요로 하므로, 본 발명자에 의해 이해되는 바와 같이, 비디오를 코딩하기 위한 단순화된 방법이 바람직한이다.
참고 문헌 [6]에서, 외부, 루프-밖 재성형기, 루프-내 인트라-전용(an in-loop intra only) 재성형기를 갖는 아키텍처, 예측 잔차들에 대한 루프-내 재성형기를 갖는 아키텍처, 및 인트라, 루프-내, 재성형과 인터, 잔차 재성형을 결합하는 하이브리드 아키텍처를 포함하여, 추가적인 재성형-기반의 코덱 아키텍처가 제시되었다. 이들 제안된 재성형 아키텍처의 주목적은 주관적인 시각 품질을 향상시키는 것이다. 따라서, 이들 접근법 중 다수가 불량한 객관적인 메트릭, 특히 공지된 피크 신호 대 잡음비(Peak Signal to Noise Ratio; PSNR) 메트릭을 산출할 것이다.
본 발명에서는, 레이트-왜곡 최적화(Rate-Distortion Optimization; RDO)에 기반하여, 새로운 재성형기가 제안된다. 특히, 타겟의 왜곡 메트릭이 평균 제곱 오차(Mean Square Error; MSE)일 때, 제안된 재성형기는, PSNR, BD-PSNR(Bjontegaard PSNR), 또는 BD-Rate(Bjontegaard Rate)에 기반하여, 주관적인 시각 품질과 잘 사용되는 객관적인 메트릭을 향상시킬 것이다. 제안된 재성형 아키텍처 중 임의의 것이, 일반성(generality)의 손실없이, 휘도 성분, 하나 이상의 크로마 성분, 또는 루마와 크로마 성분의 조합에 적용될 수 있음에 주의해야 한다.
레이트-왜곡 최적화에 기반하는 재성형
컬러 성분(예를 들어, Y, Cb 및/또는 Cr의 경우, B = 10)에서 B 비트의 비트-심도로 표현되는 재성형된 비디오 신호를 고려하면, 총 2 B 개의 이용 가능한 코드워드가 존재한다. 타겟 비트 레이트 R이 주어지면, 소스 화상과 디코딩되거나 재구성된 화상 사이의 왜곡 D가 최소이도록, 바람직한 코드워드 범위 [0 2 B ]를 N개의 세그먼트 또는 빈으로 분할하는 것을 고려하고 Mk가, 재성형 매핑 후에, 제k(k-th) 세그먼트 또는 빈에서의 코드워드 수를 나타내도록 한다. 일반성의 손실없이, D는 소스 입력 (Source(i,j))과 재구성된 화상 (Recon(i,j))의 대응하는 화소 값들 사이의 제곱 오차의 합(sum of square error; SSE)의 측정치로서 표현될 수 있다.
[수학식 1]
Figure 112022109466880-pat00001
여기서
Figure 112022109466880-pat00002
이다.
최적화 재성형 문제는, 비트레이트 R이 주어지면, D가 최소인, Mk(k = 0, 1, ..., N-1)(여기서
Figure 112022109466880-pat00003
)를 찾는 것으로 재기입될 수 있다.
다양한 최적화 방법이 사용되어 해법을 찾을 수 있지만, 최적의 해법은 실시간 인코딩의 경우 매우 복잡할 수 있다. 본 발명에서, 준최적의(suboptimal), 그러나 더 실용적인 분석 해법이 제안된다.
일반성을 잃지 않고, B 비트(예를 들어, B = 10)의 비트 심도로 표현되는 입력 신호를 고려하면, 여기서 코드워드들은 N개의 빈(예를 들어, N = 32)으로 균일하게 분할된다. 디폴트로, 각 빈이 M a= 2 B /N 코드워드에 할당된다(예를 들어, N=32 및 B=10의 경우, M a = 32). 다음에, RDO에 기반하는, 더 효율적인 코드워드 할당이 예시를 통해 입증될 것이다.
본 명세서에 사용된 바와 같이, 용어 "좁은 범위" [CW1, CW2]는, 전체 동적 범위 [0 2 B -1]의 서브셋인, 코드워드 CW1과 CW2 사이의 코드워드들의 연속 범위를 나타낸다. 예를 들어, 실시예에서, 좁은 범위는 [16*2( B -8), 235*2( B -8)]로 정의될 수 있고, (예를 들어, B = 10의 경우, 좁은 범위는 값 [64 940]을 포함한다). 출력 신호의 비트 심도가 Bo라고 가정하면서, 입력 신호의 동적 범위가 좁은 범위 내에 있다면, "디폴트" 재성형으로 나타내질 수 있는 것에서, 일 실시예는 신호를 전체 범위 [0 2 Bo -1]로 늘릴 수 있다. 그 다음, 각 빈이 M f = CEIL((2 Bo /(CW2-CW1))*M a) 코드워드를 가질 것이거나, 우리의 예시에서, Bo=B=10이면, M f = CEIL((1024/(940-64))*32) = 38 코드워드이고, CEIL(x)은 xx보다 크거나 동일한 가장 작은 정수에 매핑하는 천장 함수(ceiling function)를 나타낸다. 일반성을 잃지 않고, 아래의 예시에서, 단순화를 위해, Bo=B라고 가정한다.
동일한 양자화 매개변수(QP)에 대해, 빈에서 코드워드 수를 증가시키는 효과는 빈 내의 신호를 코딩하기 위해 더 많은 비트를 할당하는 것과 동등하고, 따라서 SSE를 감소시키는 것 또는 PSNR을 증가시키는 것과 동등하지만; PSNR 이득이 비트레이트의 증가를 이길 수 없기 때문에, 각 빈에서 코드워드 할당의 균일한 증가는 재성형 없는 코딩보다 더 나은 결과를 내지 않을 수 있는데, 즉 이는 RDO의 측면에서 양호한 절충안(good tradeoff)이 아니다. 이상적으로, 일 실시예는 RDO 면에서 최상의 절충안을 산출하는 빈에만 더 많은 코드워드를 할당하는 것, 즉 적은 분량의 비트레이트 증가를 희생하여 상당한 SSE 감소(PSNR 증가)를 생성하는 것을 원한다.
실시예에서, RDO 성능은 적응형 소구간별 재성형 매핑(adaptive piecewise reshaping mapping)을 통해 향상된다. 본 방법은, 표준 동적 범위(SDR) 및 높은 동적 범위(HDR) 신호를 포함하는 임의 유형의 신호에 적용될 수 있다. 이전의 단순한 사례를 예시로 사용하여, 본 발명의 목적은 각 코드워드 세그먼트 또는 코드워드 빈에 대해 M a 또는 M f 중 어느 하나를 할당하는 것이다.
인코더에서, 입력 신호에 대해 N개의 코드워드 빈이 주어지면, 각 빈의 평균 휘도 분산(average luminance variance)은 다음과 같이 근사될 수 있다:
- 각 빈에 대한 블록 분산(var bin(k))과 카운터(c bin(k))의 합계를 0으로 초기화하는데, 예를 들어, k = 0, 1, ..., N-1의 경우, var bin(k) = 0 및 c bin(k) = 0이다.
- 화상을 L * L 비중첩-블록(예를 들어, L = 16)으로 분할한다.
- 각 화상 블록에 대해, 블록의 루마 평균과 블록 i의 루마 분산(예를 들어, Luma_mean(i) 및 Luma_var(i))을 계산한다.
- 블록의 평균 루마에 기반하여, 해당 블록을 N개의 빈 중 하나에 할당한다. 실시예에서, Luma_mean(i)이 입력 동적 범위에서 제k 세그먼트 내에 있으면, 제k 빈에 대한 총 빈 휘도 분산은 새로이 할당된 블록의 루마 분산에 의해 증가되고, 해당 빈에 대한 카운터가 하나씩 증가된다. 즉, 제i 화소 영역이 제k 빈에 속하면:
[수학식 2]
Figure 112022109466880-pat00004
이다.
- 각 빈에 대해, 카운터가 0이 아님을 가정하면서, 해당 빈에서 블록 분산의 합계를 카운터로 분할함으로써 해당 빈에 대한 평균 휘도 분산을 계산하거나; 또는 c bin(k)가 0이 아니면,
[수학식 3]
Figure 112022109466880-pat00005
이다.
본 분야의 통상의 기술자는, 일 실시예가 서브블록을 특징짓기 위해 휘도 분산보다 대안적인 메트릭을 적용할 수 있음을 이해할 것이다. 예를 들어, 일 실시예는 휘도 값의 표준 편차, 가중화된 휘도 분산 또는 휘도 값, 피크 휘도 등을 사용할 수 있다.
실시예에서, 다음의 의사 코드(pseudo code)는, 각 빈에 대해 계산된 메트릭을 사용하여 인코더가 빈 할당을 조정할 수 있는 방법에 대한 예시를 도시한다.
k 빈에 대해,
Figure 112022109466880-pat00006
여기서 THU는 사전 결정된 상한 임계값(predetermined upper threshold)을 나타낸다.
또다른 실시예에서, 할당은 다음과 같이 수행될 수 있다:
k 빈에 대해,
Figure 112022109466880-pat00007
여기서 TH0 및 TH1은 사전 결정된 하한 및 상한 임계값을 나타낸다.
또다른 실시예에서
k 빈에 대해,
Figure 112022109466880-pat00008
여기서 THL은 사전 결정된 하한 임계값을 나타낸다.
위의 예시들은, 2개의 사전-선택 수(pre-select number) M fM a 중에서, 각 빈에 대한 코드워드 수를 선택하는 방법을 보여준다. 임계값(예를 들어, THU 또는 THL)은, 예를 들어, 총망라하는 검색(exhaustive search)을 통해, 레이트 왜곡을 최적화하는 것에 기반하여 결정될 수 있다. 임계값은 또한, 양자화 매개변수 값(QP)에 기반하여 조정될 수 있다. 실시예에서, B=10의 경우, 임계값은 1,000과 10,000 사이의 범위에 있을 수 있다.
실시예에서, 처리를 촉진하기 위해, 임계값은, 라그랑지안 (Lagrangian) 최적화법을 이용하여, 값들의 고정 세트(fixed set of values), 말하자면 {2,000, 3,000, 4,000, 5,000, 6,000, 7,000}로부터 결정될 수 있다. 예를 들어, 사전 정의된 트레이닝 클립(training clips)을 사용하여, 세트에서 각 TH(i) 값에 대해, 일 실시예는 고정된 QP로 압축 테스트를 실행할 수 있고,
[수학식 7]
Figure 112022109466880-pat00009
로 정의된 목적 함수(objective function) J의 값들을 계산할 수 있다.
그 다음, 최적 임계 값은, 세트에서 J(i)가 최소인 TH(i) 값으로 정의될 수 있다.
더 일반적인 예시에서, 일 실시예는 참조 표(look-up table; LUT)를 사전 정의할 수 있다. 예를 들어, 표 1에서, 제1 행(row)은 가능한 빈 메트릭(예를 들어, var bin(k) 값)의 전체 범위를 세그먼트로 분할하여 임계값 세트(set of thresholds)를 정의하고, 제2 행은 각 세그먼트에 할당될 대응하는 코드워드(CW) 수를 정의한다. 실시예에서, 이러한 LUT를 구축하는 하나의 규칙은: 빈 분산이 너무 크면, 일 실시예는 SSE를 감소시키기 위해 많은 비트를 소비할 필요가 있을 수 있다는 것이고, 따라서 일 실시예는 M a보다 작은 코드워드(CW) 값을 할당할 수 있다. 빈 분산이 매우 작으면, 일 실시예는 M a보다 큰 CW 값을 할당할 수 있다.
표 1: 빈 분산 임계값에 기반한 코드워드 할당의 예시적인 LUT
Figure 112022109466880-pat00010
표 1을 사용하여, 임계값을 코드워드에 매핑하는 것은 다음과 같이 생성될 수 있다:
*제k 빈에 대해,
Figure 112022109466880-pat00011
예를 들어, 2개의 임계값 및 3개의 코드워드 할당이 주어지면, B = 10의 경우, 실시예에서, TH0 = 3,000, CW0 = 38, TH1 = 10,000, CW1 = 32, 및 CW2 = 28이다.
또다른 실시예에서, 2개의 임계값 TH0 및 TH1은 다음과 같이 선택될 수 있다: a) TH1을 매우 큰 수(심지어 무한대)인 것으로 고려하고, 예를 들어, 수학식 7에서 RDO 최적화를 사용하여, 사전 결정된 값들의 세트 중에서 TH0을 선택한다. TH0이 주어지면, 이제 TH1에 대한 가능한 값들의 제2 세트, 예를 들어, 세트 {10,000, 15,000, 20,000, 25,000, 30,000}를 정의하고, 최적의 값을 식별하기 위해 수학식 7을 적용한다. 본 접근법은 제한된 수의 임계 값으로 또는 그것이 수렴될 때까지 반복적으로 수행될 수 있다.
일 실시예는, 이전에 정의된 방식 중 임의의 것에 따라 코드워드를 빈에 할당한 후에, Mk 값의 합계가 이용 가능한 코드워드(2 B )의 최대를 초과할 수 있거나, 비사용되는 코드워드가 있음에 주목할 수 있다. 비사용되는 코드워드가 있으면, 일 실시예는 단순히 아무 작업도 하지 않거나, 이들 코드워드를 특정 빈들에 할당할 것을 결정할 수 있다. 한편, 알고리즘이 이용 가능한 것보다 더 많은 코드워드를 할당했으면, 일 실시예는 CW 값을 재정규화(renormalizing)함으로써 Mk 값을 재조정하는 것을 원할 수 있다. 대안적으로, 일 실시예는 기존의 Mk 값을 사용하여 포워드 재성형 함수를 생성할 수 있지만,
Figure 112022109466880-pat00012
를 이용하여 크기 조정함으로써 재성형 함수의 출력 값을 재조정할 수 있다. 코드워드 재할당 기법의 예시가 또한 참고 문헌 [7]에 설명되어 있다.
도 4는 이전에 설명된 RDO 기법에 따라 코드워드를 재성형 도메인에 할당하기 위한 예시적인 프로세스를 도시하고; 단계 405에서, 바람직한 재성형된 동적 범위는 N개의 빈으로 분할된다. 입력 이미지가 비중첩-블록으로 분할된 후(단계 410), 각 블록에 대해:
Figure 112022109466880-pat00013
단계 415는 그 휘도 특성(예를 들어, 평균 및 분산)을 계산한다
Figure 112022109466880-pat00014
단계 420는 각 이미지 블록을 N개의 빈 중 하나에 할당한다
Figure 112022109466880-pat00015
단계 425는 각 빈에서 평균 휘도 분산을 계산한다.
단계 425에서 계산된 값이 주어지면, 단계 430에서, 각 빈에는, 예를 들어, 수학식 4 내지 8에 도시된 코드워드 할당 알고리즘들 중 임의의 것을 사용하여, 하나 이상의 임계값에 따라 코드워드 수가 할당된다. 최종적으로, 단계 (435)에서, 최종 코드워드 할당은 포워드 재성형 함수 및/또는 역방향 재성형 함수를 생성하기 위해 사용될 수 있다.
실시예에서, 예시로서 제한 없이, 포워드 LUT(FLUT)가 다음의 C 코드를 사용하여 구축될 수 있다.
Figure 112022109466880-pat00016
실시예에서, 역방향 LUT는 다음과 같이 구축될 수 있다:
Figure 112022109466880-pat00017
신택스-별로, 일 실시예는, 참고 문헌 [5] 및 [6]에서 소구간별 다항식 모드(piecewise polynomial mode) 또는 파라메트릭 모델(parametric model)과 같은 이전 응용에서 제안된 신택스를 재사용할 수 있다. 표 2는 수학식 4에 대해 N=32에 대한 이러한 예시를 보여준다.
표 2: 제1 파라메트릭 모델을 사용한 재성형의 신택스
Figure 112022109466880-pat00018
여기서,
reshaper_model_profile_type은 재성형기 구성 프로세스에 사용될 프로파일 유형을 특정한다. 주어진 프로파일은, 빈의 수, 디폴트 빈 중요도 또는 우선순위 값, 및 디폴트 코드워드 할당(예를 들어, M a 및/또는 M f 값)과 같은, 사용 중인 디폴트 값에 관한 정보를 제공할 수 있다.
reshaper_model_scale_idx는 재성형기 구성 프로세스에 사용될 크기 인자(scale factor)(ScaleFactor로서 나타내어짐)의 색인 값(index value)을 특정한다. ScaleFactor의 값에 의해 향상된 전체 코딩 효율을 위해 재성형 함수에 대한 향상된 제어가 허용된다.
reshaper_model_min_bin_idx은 재성형기 구성 프로세스에 사용될 최소 빈 색인을 특정한다. reshaper_model_min_bin_idx의 값은 0부터 31까지의 포함 범위에 있을 것이다.
reshaper_model_max_bin_idx는 재성형기 구성 프로세스에 사용될 최대 빈 색인을 특정한다. reshaper_model_max_bin_idx의 값은 0부터 31까지의 포함 범위에 있을 것이다.
reshaper_model_bin_profile_delta [ i ]는 재성형기 구성 프로세스에서 제i 빈의 프로파일을 조정하기 위해 사용될 델타 값(delta value)을 특정한다. reshaper_model_bin_profile_delta [ i ]의 값은 0부터 1까지의 포함 범위에 있을 것이다.
표 3은 대안적인, 더 효율적인, 신택스 표현을 갖는 또다른 실시예를 도시한다.
표 3: 제2 파라메트릭 모델을 사용한 재성형의 신택스
Figure 112022109466880-pat00019
여기서,
reshaper_model_delta_max_bin_idx는, 재성형기 구성 프로세스에 사용되기 위해, (최대 허용된 빈 색인(예를 들어, 31) - 최대 빈 색인)과 동일하게 설정된다.
reshaper_model_num_cw_minus1 + 1이 시그널링될 코드워드 수를 특정한다.
reshaper_model_delta_abs_CW [ i ]은 제i 절대 델타 코드워드 값을 특정한다.
reshaper_model_delta_sign_CW [ i ]은 제i 델타 코드워드의 부호를 특정한다.
그 다음:
reshaper_model_delta_CW [ i ] = (1-2* reshaper_model_delta_sign_CW [ i ]) * reshaper_model_delta_abs_CW [ i ];
reshaper_model_CW [ i ] = 32 + reshaper_model_delta_CW [ i ]이다.
reshaper_model_bin_profile_delta [ i ]는 재성형기 구성 프로세스에서 제i 빈의 프로파일을 조정하기 위해 사용될 델타 값을 특정한다. reshaper_model_bin_profile_delta [ i ]의 값은, reshaper_model_num_cw_minus1이 0과 동일할 때, 0 내지 1의 범위에 있을 것이다. reshaper_model_bin_profile_delta [ i ]의 값은, reshaper_model_num_cw_minus1이 1과 동일할 때, 0 내지 2의 범위에 있을 것이다.
reshaper_model_bin_profile_delta [ i ]가 0과 동일하게 설정될 때, CW=32이고, reshaper_model_bin_profile_delta [ i ]가 1과 동일하게 설정될 때, CW= reshaper_model_CW [ 0 ]이고; reshaper_model_bin_profile_delta [ i ]가 2와 동일하게 설정될 때, CW=reshaper_model_CW [ 1 ]이다. 실시예에서, reshaper_model_num_cw_minus1은, 1보다 커지도록 허용되어, 더 효율적인 코딩을 위해, reshaper_model_num_cw_minus1reshaper_model_bin_profile_delta[ i ]이 ue(v)로 시그널링되는 것을 허용한다.
또다른 실시예에서, 표 4에 설명된 바와 같이, 빈 당 코드워드 수는 명시적으로 정의될 수 있다.
표 4: 제3 모델을 사용한 재성형의 신택스
Figure 112022109466880-pat00020
reshaper_model_number_bins_minus1 + 1은 루마 성분에 사용되는 빈의 수를 특정한다. 일부 실시예에서, 빈의 수가 2의 거듭제곱인 것이 더 효율적일 수 있다. 그 다음, 총 빈의 수는, 예를 들어, log2_reshaper_model_number_bins_minus1과 같은 대안적인 매개변수를 사용하여, 그의 log2의 표현으로 나타내어질 수 있다. 예를 들어, 32개의 빈의 경우,
log2_reshaper_model_number_bins_minus1 = 4이다.
reshaper_model_bin_delta_abs_cw_prec_minus1 + 1은 신택스 reshaper_model_bin_delta_abs_CW[ i ]의 표현에 사용되는 빈의 수를 특정한다.
reshaper_model_bin_delta_abs_CW[ i ]은 제i 빈에 대한 절대 델타 코드워드 값을 특정한다.
reshaper_model_bin_delta_sign_CW_flag[ i ]은 다음과 같이 reshaper_model_bin_delta_abs_CW[ i ]의 부호를 특정한다:
- reshaper_model_bin_delta_sign_CW_flag[ i ]가 0과 동일하면, 대응하는 변수 RspDeltaCW[ i ]는 양의 값을 갖는다.
- 그렇지 않으면(reshaper_model_bin_delta_sign_CW_flag[ i ]가 0과 동일하지 않으면), 대응하는 변수 RspDeltaCW[ i ]는 음의 값을 갖는다.
reshaper_model_bin_delta_sign_CW_flag[ i ]가 존재하지 않을 때, 0과 동일한 것으로 추론된다.
변수 RspDeltaCW[ i ] = (1 - 2*reshaper_model_bin_delta_sign_CW[ i ]) *
reshaper_model_bin_delta_abs_CW [ i ];
변수 OrgCW이 (1 << BitDepthY ) / (reshaper_model_number_bins_minus1 + 1)과 동일하게 설정되고;
변수 RspCW[ i ]는 다음과 같이 도출된다:
if reshaper_model_min_bin_idx <= i <= reshaper_model_max_bin_idx
then RspCW[ i ] = OrgCW + RspDeltaCW[ i ].
else, RspCW[ i ] = 0.
실시예에서, 이전의 예시 중 한 예시, 예를 들어, 수학식 4에 따른 코드워드 할당을 가정하면서, 표 2에서 매개변수를 정의하는 방법에 대한 예시는, 다음을 포함한다:
우선 일 실시예는 "빈 중요도(bin_importance)"를 다음과 같이 할당한다고 가정한다:
k 빈에 대해,
Figure 112022109466880-pat00021
본 명세서에 사용된 바와 같이, 용어 "빈 중요도"는 N개의 코드워드 빈의 각각에 할당된 값이며, 다른 빈에 관련하여 재성형 프로세스에서 해당 빈의 모든 코드워드의 중요도를 나타낸다.
실시예에서, 일 실시예는 reshaper_model_min_bin_idx로부터 reshaper_model_max_bin_idx까지의 default_bin_importance를 1로 설정할 수 있다. reshaper_model_min_bin_idx의 값은 0과 동일하지 않은 Mk를 갖는 가장 작은 빈 색인으로 설정된다. reshaper_model_max_bin_idx의 값은 0과 동일하지 않은 Mk를 갖는 가장 큰 빈 색인으로 설정된다. [reshaper_model_min_bin_idx reshaper_model_max_bin_idx] 내의 각 빈에 대한 reshaper_model_bin_profile_delta는 bin_importance와 default_bin_importance 사이의 차이(difference)이다.
포워드 재성형 LUT(FLUT) 및 역방향 재성형 LUT(ILUT)를 구성하기 위해 제안된 파라메트릭 모델을 사용하는 방법에 대한 예시는 다음과 같이 나타내어진다.
1) 휘도 범위를 N개의 빈(예를 들어, N=32)으로 분할한다.
2) 신택스로부터 각 빈에 대한 빈-중요도 색인을 도출한다. 예를 들어:
k 빈에 대해,
Figure 112022109466880-pat00022
3) 빈 중요도에 기반하여 코드워드를 자동으로 사전-할당(pre-assign)한다:
k 빈에 대해,
Figure 112022109466880-pat00023
4) 각 빈에 대해 할당된 코드워드를 누적함으로써, 각 빈에 대한 코드워드 할당에 기반하여 포워드 재성형 LUT를 구축한다. 합계는 총 코드워드 예산(예를 들어, 10 비트 전체 범위의 경우, 1024)보다 적거나 동일해야 한다. (예를 들어, 가장 이전의 C 코드를 참조).
5) 역방향 재성형 LUT를 구축한다(예를 들어, 가장 이전의 C 코드를 참조).
신택스 관점에서, 대안적인 방법이 또한, 적용될 수 있다. 핵심은 각 빈에서 코드워드 수(예를 들어, k = 0, 1, 2, ..., N-1의 경우, Mk)를 명시적으로 또는 암시적으로 특정하는 것이다. 일 실시예에서, 일 실시예는 각 빈에서 코드워드 수를 명시적으로 특정할 수 있다. 또다른 실시예에서, 일 실시예는 코드워드를 차등적으로 특정할 수 있다. 예를 들어, 빈에서의 코드워드 수는 현재 빈과 이전 빈에서의 코드워드 수의 차이(예를 들어, M_Delta(k) = M(k) - M(k-1))를 사용하여 결정될 수 있다. 또다른 실시예에서, 일 실시예는 가장 공통으로 사용되는 코드워드 수(말하자면, M M)를 특정할 수 있고, 이 숫자로부터 각 빈에서의 코드워드 수의 차이(예를 들어, M_Delta(k) = M(k)- M M)로서 각 빈에서의 코드워드 수를 표현할 수 있다.
실시예에서, 두가지 재성형 방법이 지원된다. 한 방법은 "디폴트 재성형기"로 나타내어지며, 여기서 M f는 모든 빈에 할당된다. "적응형 재성형기"로 나타내어지는 제2 방법은 이전에 설명된 적응형 재성형기를 적용한다. 두가지 방법은, 특수 플래그, 예를 들어, sps_reshaper_adaptive_flag (예를 들어, 디폴트 재성형기의 경우, sps_reshaper_adaptive_flag = 0 사용, 그리고 적응형 재성형기의 경우, sps_reshaper_adaptive_flag = 1 사용)를 사용하여, 참고 문헌 [6]에서와 같은 디코더에 시그널링될 수 있다.
본 발명은, 참고 문헌 [6]에 제안된 임의의 재성형 아키텍처, 예를 들어: 외부 재성형기, 루프-내 인트라 전용 재성형기, 루프-내 잔차 재성형기, 또는 루프-내 하이브리드 재성형기에 적용 가능하다. 예시로서, 도 2a 및 도 2b는 본 발명의 실시예에 따른 하이브리드 루프-내 재성형을 위한 예시적인 아키텍처를 도시한다. 도 2a에서, 아키텍처는 루프-내 인트라 전용 재성형 아키텍처(도면의 상부)와 루프-내 잔차 아키텍처(도면의 바닥부)로부터 요소들을 결합한다. 본 아키텍처하에서, 인트라 슬라이스의 경우, 화상 화소에 재성형이 적용되고, 반면에 인터 슬라이스의 경우, 예측 잔차에 재성형이 적용된다. 인코더(200_E)에서, 전통적인 블록-기반의 인코더(예를 들어, HEVC)에 2개의 새로운 블록: (예를 들어, 도 4에 따른) 포워드 재성형 함수를 추정하는 블록(205), 포워드 화소 재성형 블록(210-1), 및 포워드 재성형을 입력 비디오(117)의 컬러 성분 중 하나 이상 또는 예측 잔차에 적용하는 포워드 잔차 재성형 블록(210-2)이 추가된다. 일부 실시예에서, 이들 두 동작은 단일 이미지 재성형 블록의 일부로서 수행될 수 있다. 디코더에서 역방향 재성형 함수를 결정하는 것에 관련된 매개변수(207)는, 비디오 인코더(예를 들어, CABAC(220))의 무손실 인코더 블록에 전달되어, 코딩된 비트스트림(122)에 내장될 수 있다. 인트라-모드에서, 인트라 예측(225-1), 변환 및 양자화(transform and quantization; T 및 Q), 및 역 변환 및 역 양자화(inverse transform and inverse quantization; Q-1 및 T-1)는 모두 재성형된 화상을 사용한다. 양쪽 모드에서, DPB(215)에 저장된 화상은, 항상, 역방향 화상 재성형 블록(예를 들어, 265-1) 또는 역방향 잔차 재성형 블록(예를 들어, 265-2)을 필요로 하는 역방향 재성형 모드에 있다. 도 2a에 도시된 바와 같이, 인트라/인터 슬라이스 스위치는, 인코딩될 슬라이스 유형에 의존하여, 두 아키텍처 사이의 전환을 허용한다. 또다른 실시예에서, 인트라 슬라이스의 경우 루프-내 필터링이 역방향 재성형 전에 수행된다.
디코더(200_D)에서, 전통적인 블록-기반의 디코더에 다음의 새로운 규범적인 블록: 포워드 재성형 함수 및 인코딩된 재성형 함수 매개변수(207)에 기반하는 역방향 재성형 함수를 재구성하는 블록(250)(재성형기 디코더), 디코딩된 데이터에 역방향 재성형 함수를 적용하는 블록(265-1), 및 디코딩된 비디오 신호(162)를 생성하기 위해 포워드 재성형 함수 및 역방향 재성형 함수를 적용하는 블록(265-2)이 추가된다. 예를 들어, 265-2에서, 재구성된 값이 Rec = ILUT(FLUT(Pred)+Res)로 주어지고, 여기서 FLUT는 포워드 재성형 LUT를 나타내고 ILUT는 역방향 재성형 LUT를 나타낸다.
일부 실시예에서, 블록(250 및 265)에 관련된 동작이 단일 처리 블록으로 결합될 수 있다. 도 2b에 도시된 바와 같이, 인트라/인터 슬라이스 스위치에 의해, 인코딩된 비디오 화상에서의 슬라이스 유형에 의존하여, 두 모드 사이의 전환이 허용된다.
도 3a는 본 발명의 실시예에 따른 재성형 아키텍처(예를 들어, 200_E)를 사용하여 비디오를 인코딩하기 위한 예시적인 프로세스(300_E)를 도시한다. 재성형이 사용가능하지 않으면(경로 305), 인코딩(335)은 종래 기술의 인코더(예를 들어, HEVC)에서 알려진 바와 같이 진행된다. 재성형이 사용가능하면(경로 310), 인코더는 사전 결정된(디폴트) 재성형 함수(315)를 적용할지, 혹은 (예를 들어, 도 4에 설명한 바와 같이) 화상 분석(320)에 기반하여 새로운 재성형 함수(325)를 적응적으로 결정할지에 대한 옵션을 가질 수 있다. 재성형 아키텍처를 사용하여 화상을 인코딩하는 단계(330)에 뒤이어, 나머지 인코딩이 전통적인 코딩 파이프라인(335)과 동일한 단계를 따른다. 적응형 재성형(312)이 이용되면, 재성형 함수에 관련된 메타데이터가 "재성형기 인코드" 단계(327)의 일부로서 생성된다.
도 3b는 본 발명의 실시예에 따른 재성형 아키텍처(예를 들어, 200_D)를 사용하여 비디오를 디코딩하기 위한 예시적인 아키텍처(300_D)를 도시한다. 재성형이 사용가능하지 않으면(경로 340), 화상을 디코딩하는 단계(350) 후에, 전통적인 디코딩 파이프라인에서와 같이 출력 프레임이 생성된다(390). 재성형이 사용가능하면(경로 360), 디코더는 사전-결정된(디폴트) 재성형 함수를 적용할지(375), 혹은 수신된 매개변수(예를 들어, 207)에 기반하여 재성형 함수를 적응적으로 결정할지를 결정한다. 재성형 아키텍처를 사용하여 디코딩하는 단계(385)에 뒤이어, 나머지 디코딩은 전통적인 디코딩 파이프라인을 따른다.
참고 문헌 [6] 및 이전에 본 명세서에 설명된 바와 같이, 포워드 재성형 LUT FwdLUT는 통합에 의해 구축될 수 있고, 반면에 역방향 재성형 LUT는 포워드 재성형 LUT(FwdLUT)를 사용하여 백워드 매핑(backward mapping)에 기반하여 구축될 수 있다. 실시예에서, 포워드 LUT는 소구간별 선형 보간을 이용하여 구축될 수 있다. 디코더에서, 역방향 재성형은 백워드 LUT를 직접 사용하거나, 다시 선형 보간에 의해 실행될 수 있다. 소구간별 선형 LUT는 입력 피봇 포인트 및 출력 피봇 포인트에 기반하여 구축된다.
(X1, Y1), (X2, Y2)을 두 입력 피봇 포인트 및 각 빈에 대한 그들의 대응하는 출력 값이 되게 한다. X1과 X2 사이의 임의의 입력 값 X는 다음의 수학식에 의해 보간될 수 있다:
Y = ((Y2-Y1)/(X2-X1)) * (X-X1) + Y1
고정 소수점 구현에서, 위의 수학식은
Y = ((m * X + 2FP_PREC-1) >> FP_PREC) + c
로 구현될 수 있고, 여기서 mc는 선형 보간에 대한 스칼라와 오프셋을 나타내고, FP_PREC는 고정 소수점 정밀도에 관련된 상수이다.
예시로서, FwdLUT는 다음과 같이 구축될 수 있고: 변수
lutSize = ( 1 << BitDepthY )가 되게 한다.
변수
binNum = reshaper_model_number_bins_minus1 + 1,
binLen = lutSize / binNum가 되게 한다.
i 빈에 대해, 괄호로 묶은 두 피봇(예를 들어, X1 및 X2)은 X1= i*binLen 및 X2 = (i+1)*binLen로 도출될 수 있다. 그 다음:
Figure 112022109466880-pat00024
FP_PREC는 변수의 소수부의 고정 소수점 정밀도(예를 들어, FP_PREC = 14)를 정의한다. 실시예에서, binsLUT[]는 FwdLUT의 정밀도보다 고정밀도로 계산될 수 있다. 예를 들어, binsLUT[] 값은 32 비트 정수로 계산될 수 있지만, FwdLUT는 16 비트에서 잘린 binsLUT 값일 수 있다.
적응형 임계값 도출
이전에 설명된 바와 같이, 재성형 동안, 하나 이상의 임계값(예를 들어, TH, THU, THL 등)을 사용하여 코드워드 할당을 조정할 수 있다. 실시예에서, 이러한 임계값은 콘텐츠 특성에 기반하여 적응적으로 생성될 수 있다. 도 5는 본 실시예에 따른 이러한 임계값을 도출하기 위한 예시적인 프로세스를 도시한다.
1) 단계 505에서, 입력 이미지의 휘도 범위를 N개의 빈(예를 들어, N=32)으로 분할한다. 예를 들어, N이 또한 PIC_ANALYZE_CW_BINS로 나타내어지게 한다.
2) 단계 510에서, 일 실시예는 각 빈에 대한 휘도 특성을 계산하기 위해 이미지 분석을 수행한다. 예를 들어, 일 실시예는 각 빈에서 화소의 백분율(BinHist[b], b = 1, 2, ..., N으로 나타내어짐)을 계산할 수 있고, 여기서
[수학식 10]
BinHist[b] = 100* (빈 b에서의 총 화소) / (화상에서의 총 화소)
이다.
앞에 논의된 바와 같이, 이미지 특성에 대한 다른 양호한 메트릭은, BinVar[b]로 나타내어질, 각 빈에서의 화소의 평균 분산(또는 표준 편차)이다. BinVar[b]은 수학식 2 및 3으로 이어지는 본 섹션에서 설명된 단계에서 "블록 모드"에서는 var bin(k)로 계산될 수 있다. 대안적으로, 블록-기반의 계산은 화소-기반의 계산으로 개선(refined)될 수 있다. 예를 들어, 중앙에 제i 화소를 갖는 m x m개의 이웃하는 윈도우(예를 들어, m = 5)에서 제i 화소를 둘러싸는 화소 그룹과 관련된 분산을 vf(i)로 나타낸다. 예를 들어, 만약
[수학식 11]
Figure 112022109466880-pat00025
이 값 x(i)을 갖는 제i 화소를 둘러싸는 W N=m*m 윈도우(예를 들어, m = 5)에서 화소의 평균 값(mean value)을 나타내면,
[수학식 12]
Figure 112022109466880-pat00026
vf(i) = log10(vf(i)+1)과 같은 선택적인 비선형 매핑이, 원시 분산 값의 동적 범위를 억제하기 위해 사용될 수 있다. 그 다음, 분산 인자는 각 빈에서의 평균 분산을
[수학식 13]
Figure 112022109466880-pat00027
로 계산하는 데에 사용될 수 있고, 여기서 K b는 빈 b에서의 화소 수를 나타낸다.
3) 단계 515에서, 평균 빈 분산(및 그 대응하는 색인)이, 예를 들어 제한없이 내림차순으로 정렬된다. 예를 들어, 정렬된 BinVar 값이 BinVarSortDsd[b]에 저장될 수 있고, 정렬된 빈 색인은 BinIdxSortDsd[b]에 저장될수 있다. 예시로서, C 코드를 사용하여, 프로세스는 다음과 같이 설명될 수 있다:
Figure 112022109466880-pat00028
정렬된 평균 빈 분산 인자의 예시적인 플롯이 도 6a에 도시되어 있다.
4) 단계 510에서 계산된 빈 히스토그램 값이 주어지면, 단계 520에서, 일 실시예는 평균 빈 분산의 정렬된 순서에 따라 누적 밀도 함수(cumulative density function; CDF)를 계산하여 저장한다. 예를 들어, CDF가 어레이 BinVarSortDsdCDF[b]에 저장되어 있으면, 실시예에서:
Figure 112022109466880-pat00029
도 6a의 데이터에 기반하여 계산된 CDF의 예시적인 플롯(605)이 도 6b에 도시되어 있다. 정렬된 평균 빈 분산 대 CDF 값의 쌍: {x = BinVarSortDsd[b] , y = BinVarSortDsdCDF[b]}은: "화상에서 x와 동일하거나 큰 분산을 갖는 y% 화소가 존재한다" 또는 "화상에서 x보다 작은 분산을 갖는 (100-y)% 화소가 존재한다"고 해석될 수 있다.
5) 최종적으로, 단계 525에서, CDF BinVarSortDsdCDF[BinVarSortDsd[b]]가 정렬된 평균 빈-분산 값의 함수로서 주어지면, 일 실시예는 빈 분산 및 누적된 백분율에 기반하여 임계값을 정의할 수 있다.
단일 임계값 또는 2개의 임계값을 결정하기 위한 예시가 도 6c 및 도 6d에 각각 도시되어 있다. 하나의 임계값(예를 들어, TH)만 사용 중일 때, 예시로서, TH는, "k%의 화소가
Figure 112022109466880-pat00030
≥TH를 갖는 평균 분산"으로서 정의될 수 있다. 그 다음, k%에서 CDF 플롯(605)의 교차점(예를 들어, BinVarSortDsdCDF = k %인 경우, BinVarSortDsd[b] 값)을 찾음으로써 TH가 계산될 수 있고; 예를 들어, 도 6c에 도시된 바와 같이, k = 50인 경우, TH = 2.5이다. 그 다음, 일 실시예는 BinVar[b] < TH 를 갖는 빈에 대해 M f 코드워드, 및 BinVar[b]≥TH를 갖는 빈에 대해 M a 코드워드를 할당할 수 있다. 경험적인 방법으로서, 더 큰 수의 코드워드를 더 작은 분산을 갖는 빈에 할당하는 것(다(32 빈을 갖는 10 비트 비디오 신호의 경우, M f > 32 > M a)이 바람직하다.
2개의 임계값을 사용할 때, THL 및 THU을 선택하는 예시가 도 6d에 도시되어 있다. 예를 들어, 일반성의 손실없이, THL은, 80% 화소가
Figure 112022109466880-pat00031
TH L 을 갖는 분산(그럼, 우리의 예시에서, THL = 2.3)으로서 정의될 수 있고, THU는, 모든 화소 중 10%가
Figure 112022109466880-pat00032
TH U 를 갖는 분산(그럼, 우리의 예시에서, THU = 3.5)으로서 정의될 수 있다. 이들 임계값이 주어지면, 일 실시예는 BinVar[b] < THL을 갖는 빈에 대해 M f 코드워드, 및 BinVar[b]≥ TH를 갖는 빈에 대해 M a 코드워드를 할당할 수 있다. THL과 THU 사이의 BinVar를 갖는 빈에 대해, 일 실시예는 빈 당 원래의 코드워드 수(예를 들어, B=10 경우, 32)를 사용할 수 있다.
위의 기법은 둘 보다 많은 임계값을 갖는 사례로 쉽사리 확장될 수 있다. 본 관계는 또한, 코드워드 수(M f, M a 등)를 조정하는 데에 사용될 수 있다. 경험적인 방법으로서, 저분산(low-variance) 빈에서, 일 실시예는 PSNR을 높이기 위해(MSE를 감소시키기 위해) 더 많은 코드워드를 할당해야 하고; 고분산(high-variance) 빈에서, 일 실시예는 비트를 절약하기 위해 더 적은 코드워드를 할당해야 한다.
실시예에서, 매개변수(예를 들어, THL, THU, M a, M f 등)의 세트가 특정 콘텐츠에 대해, 예를 들어, 총망라하는 수동 매개변수 튜닝을 통해, 수동으로 획득되었다면, 본 자동화 방법(automatic method)은, 최적의 수동 매개변수를 자동으로 설정하기 위해 각 콘텐츠를 분류하는 판단 트리(decision tree)를 설계하는 데에 적용될 수 있다. 예를 들어, 콘텐츠 카테고리는: 영화, 텔레비전, SDR, HDR, 카툰, 자연, 액션 등을 포함한다.
복잡성을 감소시키기 위해, 루프-내 재성형이 다양한 방식을 이용하여 제한될 수 있다. 루프-내 재성형이 비디오 코딩 표준으로 채택되면, 이런 제한 사항은 디코더 단순화를 보장하기 위해 규범적이어야 한다. 예를 들어, 실시예에서, 루나 재성형은 특정한 블록 코딩 크기에 대해 사용불가능하게 될 수 있다. 예를 들어, 일 실시예는 nTbW * nTbH < TH일 때, 인터 슬라이스에서 인트라 및 인터 재성형기 모드를 사용불가능하게 할 수 있고, 여기서 변수 nTbW는 변환 블록 폭(transform block width)을 특정하고, 변수 nTbH는 변환 블록 높이(transform block height)를 특정한다. 예를 들어, TH=64인 경우, 크기 4x4, 4x8, 및 8x4를 갖는 블록은, 인터-코딩된 슬라이스(또는 타일)에서 인트라 및 인터 모드 재성형을 사용할 수 없게 된다.
마찬가지로, 또다른 실시예에서, 일 실시예는, 인터-코딩된 슬라이스(또는 타일)에서 인트라 모드에 있어서, 루마-기반의, 크로마 잔차 크기 조정을 사용불가능하게 하거나, 별도의 루마 및 크로마 파티셔닝 트리(luma and chroma partitioning trees)를 가질 때 가능하게 된다.
다른 코딩 도구와의 상호 작용
*루프 필터링
참고 문헌 [6]에서는, 루프 필터가 원래의 화소 도메인 또는 재성형된 화소 도메인 중 어느 한쪽에서 동작할 수 있음이 설명되었다. 일 실시예에서, (화상 재성형 이후에) 원래의 화소 도메인에서 루프 필터링이 수행되는 것이 제안되어 있다. 예를 들어, 하이브리드 루프-내 재성형 아키텍처(200_E 및 200_D)에서, 인트라 화상에 대해, 일 실시예는 루프 필터(270-1) 전에 역방향 재성형(265-1)을 적용할 필요가 있을 것이다.
도 2c 및 도 2d는 대안적인 디코더 아키텍처(200B_D 및 200C_D)를 도시하고, 여기서 역방향 재성형(265)은 루프 필터링 후에, 디코딩된 데이터를 디코딩된 화상 버퍼(decoded picture buffer; DPB)(260)에 저장하기 전에, 수행된다. 제안된 실시예에서, 200_D의 아키텍처와 비교하여, 인터 슬라이스에 대한 역방향 잔차 재성형 공식(inverse residue reshaping formula)이 수정되고, (예를 들어, InvLUT() 함수 또는 참조표(look-up-table)를 통해) 역방향 재성형이 루프 필터링(270) 후에 수행된다. 이런 방식으로, 루프 필터링 후에 인트라 슬라이스와 인터 슬라이스에 대해 역방향 재성형이 수행되고, 재구성된 화소가 인트라-코딩된 CU와 인터-코딩된 CU에 대한 루프 필터링 전에 재성형된 도메인에 있다. 역방향 재성형(265) 후에, 기준 DPB에 저장되어 있는 출력 샘플이 모두 원래의 도메인에 있다. 이러한 아키텍처에 의해, 루프-내 재성형에 대한 슬라이스-기반의 적응 및 CTU-기반의 적응이 허용된다.
도 2c 및 도 2d에 도시된 바와 같이, 실시예에서, 인트라-코딩된 CU와 인터-코딩된 CU에 대한 루프 필터링(270)이 재성형된 도메인에서 수행되고, 역방향 화상 재성형(265)이 단 한번만 발생하므로, 인트라_코딩된 CU 및 인터-코딩된 CU에 대해 일원화되고 더 단순한 아키텍처를 제시한다.
인트라-코딩된 CU를 디코딩하는 경우(200B_D), 재성형된 이웃하는 화소에 대해 인트라 예측(225)이 수행된다. 잔차 Res 및 예측된 샘플 PredSample이 주어지면, 재구성된 샘플(227)이:
[수학식 14]
Figure 112022109466880-pat00033
로 도출된다.
재구성된 샘플(227)이 주어지면, DPB(260)에 저장될 RecSampleInDPB 샘플을 도출하기 위해 루프 필터링(270) 및 역방향 화상 재성형(265)이 적용되고, 여기서
[수학식 15]
Figure 112022109466880-pat00034
이고, 여기서 InvLUT()는 역방향 재성형 함수 또는 역방향 재성형 참조표를 나타내고, LPF()는 루프-필터링 동작을 나타낸다.
전통적인 코딩에서, 인터/인트라-모드 결정은, 원래의 샘플과 예측된 샘플 사이의 왜곡 함수(dfunc())를 계산하는 것에 기반하여 결정된다. 이러한 함수의 예시는 제곱 오차의 합(SSE), 절대 차의 합(sum of absolute differences; SAD) 및 기타를 포함한다. 재성형을 사용할 때, 인코더 측(도시되지 않음)에서, CU 예측 및 모드 결정이 재성형된 도메인에 대해 수행된다. 즉, 모드 결정을 위해,
[수학식 16]
Figure 112022109466880-pat00035
이고, 여기서 FwdLUT()는 포워드 재성형 함수(또는 LUT)를 나타내고, SrcSample은 원래의 이미지 샘플을 나타낸다.
인터-코딩된 CU에 대해, 디코더 측(예를 들어, 200C_D)에서, DPB에 있는 비재성형된 도메인의 참조 화상을 사용하여, 인터 예측이 수행된다. 그 다음, 재구성 블록(275)에서, 재구성된 화소(267)가:
[수학식 17]
Figure 112022109466880-pat00036
로 도출된다.
재구성된 샘플(267)이 주어지면, DPB에 저장될 RecSampleInDPB 샘플을 도출하기 위해, 루프 필터링(270) 및 역방향 화상 재성형(265)이 적용되고, 여기서
[수학식 18]
Figure 112022109466880-pat00037
이다.
인코더 측(도시되지 않음)에서, 인트라 예측이 재성형된 도메인에서
[수학식 19a]
Figure 112022109466880-pat00038
로서, 예측에 사용된 모든 이웃 샘플(PredSample)이 이미 재성형된 도메인에 있다는 가정하에, 수행된다. (예를 들어, 모션 보상을 사용하여) 인터 예측이 비재성형된 도메인에서 수행되고, 즉
[수학식 19b]
Figure 112022109466880-pat00039
이고, 여기서 MC()는 모션 보상 함수를 나타낸다. 잔차가 생성되지 않은 모션 추정 및 빠른 모드 결정을 위해, 일 실시예는 왜곡을
Figure 112022109466880-pat00040
을 사용하여 계산할 수 있다.
하지만, 잔차가 생성되는 전체 모드 결정을 위해, 모드 결정이 재성형된 도메인에서 수행된다. 즉, 전체 모드 결정을 위해,
[수학식 20]
Figure 112022109466880-pat00041
이다.
블록 수준 적응
앞에 설명된 바와 같이, 제안된 루프-내 재성형기에 의해, 예를 들어, 필요에 따라 변수 CU_reshaper를 온(on) 또는 오프(off)로 설정하기 위해, 재성형이 CU 수준에서 적응되는 것이 허용된다. 동일한 아키텍처하에서, 인터-코딩된 CU에 대해, CU_reshaper = off일 때, 재구성된 화소는, CU_reshaper 플래그가 이 인터-코딩된 CU에 대해 오프로 설정되어 있더라도, 재성형된 도메인에 있을 필요가 있다.
[수학식 21]
Figure 112022109466880-pat00042
따라서 인트라-예측(intra-prediction)이 항상, 재성형된 도메인에서 이웃하는 화소를 갖는다. DPB 화소는:
[수학식 22]
Figure 112022109466880-pat00043
로 도출될 수 있다.
인트라-코딩된 CU에 대해, 인코딩 프로세스에 따라, 두 대안적인 방법이 제안된다:
1) 모든 인트라-코딩된 CU는 CU_reshaper = on로 코딩된다. 이 경우, 모든 화소가 이미 재성형된 도메인에 있기 때문에 추가적인 처리가 필요하지 않는다.
2) 일부 인트라-코딩된 CU는 CU_reshaper = off를 사용하여 코딩될 수 있다. 이 경우, CU_reshaper = off 경우, 인트라-예측을 적용할 때, 일 실시예는 인트라-예측이 원래의 도메인에서 수행되도록 역방향 재성형을 이웃하는 화소에 적용할 필요가 있고, 최종 재구성된 화소는 재성형된 도메인에 있을 필요가 있는데, 즉
[수학식 23]
Figure 112022109466880-pat00044
이고, 그 다음
[수학식 24]
Figure 112022109466880-pat00045
이다.
일반적으로, 제안된 아키텍처는, 루프-내 인트라-전용 재성형, 예측 잔차에 대한 루프-내 재성형 전용, 또는 인트라, 루프-내, 재성형과 인터, 잔차, 재성형을 결합한 하이브리드 아키텍처와 같은 다양한 조합으로 사용될 수 있다. 예를 들어, 하드웨어 디코딩 파이프라인에서 대기시간을 감소시키기 위해, 인터 슬라이스 디코딩을 위해, 일 실시예는 역방향 재성형 전에 인트라 예측(즉, 인터 슬라이스에서 인트라 CU를 디코드)을 수행할 수 있다. 이러한 실시예의 예시적인 아키텍처(200D_D)는 도 2e에 도시되어 있다. 재구성 모듈(285)에서, 인터 CU에 대해 (예를 들어, Mux는 도면 부호(280 및 282)로부터 출력을 사용가능하게 하고), 수학식 17,
Figure 112022109466880-pat00046
로부터, 여기서 FwdLUT(PredSample)는, 포워드 재성형(282)이 뒤이어진 인터 예측기(280)의 출력을 나타낸다. 그렇지 않으면, 인트라 CU에 대해 (예를 들어, Mux (284)로부터 출력을 사용가능하게 하고), 재구성 모듈(285)의 출력은
Figure 112022109466880-pat00047
이고, 여기서 IPredSample은 인트라 예측 블록(284)의 출력을 나타낸다. 역방향 재성형 블록(265-3)은,
Figure 112022109466880-pat00048
를 생성한다.
재성형된 도메인에서 인터 슬라이스에 대한 인트라 예측을 적용하는 것은, 도 2c(여기서 역방향 재성형이 루프 필터링 후에 수행됨) 및 도 2d에 도시된 것들을 포함하여 다른 실시예에 마찬가지로 적용 가능하다. 모든 이러한 실시예에서, 인터-예측이 원래의 도메인에 있지만, 인트라-예측이 재성형된 도메인에 있기 때문에, 결합된 인터/인트라 예측 모드(즉, 재구성 동안, 일부 샘플이 인터-코딩된 블록으로부터 유래하고, 일부 샘플이 인트라-코딩된 블록으로부터 유래함)에서는, 특별한 주의가 필요하다. 인터-예측된 코딩 유닛과 인트라-예측된 코딩 유닛으로부터 데이터를 결합할 때, 예측은 두 도메인 중 어느 하나에서 수행될 수 있다. 예를 들어, 결합된 인터/인트라 예측 모드가 재성형된 도메인에서 실행될 때,
Figure 112022109466880-pat00049
이고, 즉, 원래의 도메인에서의 인터-코딩된 샘플은 추가 전에 재구성된다. 그렇지 않으면, 결합된 인터/인트라 예측 모드가 원래의 도메인에서 실행될 때:
Figure 112022109466880-pat00050
이고, 즉, 인트라-예측된 샘플이 원래의 도메인에 있도록 역방향-재성형된다(inversed-reshaped).
인코더(예를 들어, 200_E)가 대응하는 디코더와 매칭되는 디코더 루프를 포함하기 때문에, 마찬가지의 고려사항이 대응하는 인코딩 실시예에 마찬가지로 적용 가능하다. 이전에 논의된 바와 같이, 수학식 20은 모드 결정이 재성형된 도메인에서 수행되는 실시예를 설명한다. 또다른 실시예에서, 모드 결정은 원래의 도메인에서 수행될 수 있고, 즉:
Figure 112022109466880-pat00051
이다.
루마-기반의 크로마 QP 오프셋 또는 크로마 잔차 크기 조정을 위해, 평균 CU 루마 값(
Figure 112022109466880-pat00052
)은 항상, 최소 대기시간을 위해 예측된 값(재구성된 값 대신)을 사용하여 계산될 수 있다.
크로마 QP 도출
참고 문헌 [6]에서와 마찬가지로, 일 실시예는, 재성형 곡선에 의해 유발되는 루마와 크로마 관계의 균형을 맞추기 위해 동일한 제안된 chromaDQP 도출 프로세스를 적용할 수 있다. 실시예에서, 일 실시예는 각 빈에 대한 코드워드 할당에 기반하여 소구간별 chromaDQP 값을 도출할 수 있다. 예를 들어:
k 빈에 대해,
*
Figure 112022109466880-pat00053
인코더 최적화
참고 문헌 [6]에 설명된 바와 같이, lumaDQP이 사용가능할 때, 화소-기반의 가중화된 왜곡을 사용할 것이 추천된다. 재성형이 이용될 때, 예시에서, 필요한 가중치는 재성형 함수(f(x))에 기반하여 조정된다. 예를 들어:
[수학식 26]
Figure 112022109466880-pat00054
이고, 여기서 f'(x)는 재성형 함수 f(x)의 기울기를 나타낸다.
또다른 실시예에서, 일 실시예는 각 빈에 대한 코드워드 할당에 기반하여 소구간별 가중치를 직접 도출할 수 있다. 예를 들어:
k 빈에 대해,
[수학식 27]
Figure 112022109466880-pat00055
이다.
크로마 성분에 대해, 가중치는 1 또는 일부 크기 조정 인자 sf로 설정될 수 있다. 크로마 왜곡을 감소시키기 위해, sf는 1보다 크게 설정될 수 있다. 크로마 왜곡을 증가시키기 위해, sf는 1보다 크게 설정될 수 있다. 일 실시예에서, sf는 수학식 25를 보상하기 위해 사용될 수 있다. chromaDQP는 정수로만 설정될 수 있기 때문에, 우리는 chromaDQP의 소수부(decimal part)를 수용하기 위해 sf를 사용할 수 있고: 따라서,
Figure 112022109466880-pat00056
이다.
또다른 실시예에서, 일 실시예는 chromaQPOffset 값을, 화상 매개변수 세트(Picture Parameter Set; PPS)에서, 혹은 크로마 왜곡을 제어하기 위해 슬라이스 헤더에서, 명시적으로 설정할 수 있다.
재성형기 곡선 또는 매핑 함수는 전체 비디오 시퀀스에 대해서 고정될 필요가 없다. 예를 들어, 그것은 양자화 매개변수(QP) 또는 타겟 비트 레이트에 기반하여 적응될 수 있다. 일 실시예에서, 일 실시예는, 비트 레이트가 낮을 때 더 공격적인 재성형기 곡선을 사용할 수 있고, 비트 레이트가 상대적으로 높을 때 덜 공격적인 재성형을 사용할 수 있다. 예를 들어, 10-비트 시퀀스에 32개의 빈이 주어지면, 각 빈이 초기에 32개의 코드워드를 갖는다. 비트 레이트가 상대적으로 낮을 때, 일 실시예는 각 빈에 대한 코드워드를 선택하기 위해 [28 40] 사이의 코드워드를 사용할 수 있다. 비트 레이트가 높을 때, 일 실시예는 각 빈에 대해 [31 33] 사이의 코드워드를 선택할 수 있거나, 일 실시예는 단순히 항등 재성형기 곡선(identity reshaper curve)을 사용할 수 있다.
슬라이스(또는 타일)이 주어지면, 1) 인트라 슬라이스에서만 재성형 사용불가능하게 함; 2) 특정 시간적인 수준(들)(particular temporal level(s))의 인트라 슬라이스와 같은 특정 인터 슬라이스에서, 또는 참조 화상에 사용되지 않는 인터 슬라이스에서, 또는 덜 중요한 참조 화상으로 간주되는 인터 슬라이스에서 재성형 사용불가능하게 함을 포함하여, 슬라이스(타일) 수준에서의 재성형이, 복잡성을 갖는 코딩 효율과 절충할 수 있는 다양한 방식으로 수행될 수 있다. 이러한 슬라이스 적응이 또한, QP/레이트 의존적이어서, 상이한 적응 규칙이 상이한 QP 또는 비트 레이트에 적용될 수 있다.
인코더에서, 제안된 알고리즘하에서, 각 빈에 대한 분산(예를 들어, 수학식 13에서의 BinVar(b))이 계산된다. 해당 정보에 기반하여, 일 실시예는 각 빈 분산에 기반하여 코드워드를 할당할 수 있다. 일 실시예에서, BinVar(b)는 각 빈 b에서의 코드워드 수에 역으로 선형 매핑될 수 있다. 또다른 실시예에서, (BinVar(b))2, sqrt(BinVar(b)) 등과 같은 비선형 매핑이, 빈 b에서의 코드워드 수에 역으로 매핑되기 위해 사용될 수 있다. 본질적으로, 본 접근법에 의해, 인코더가 이전에 사용된 더 단순한 매핑을 넘어 임의의 코드워드를 각 빈에 적용하는 것이 허용되고, 여기서 인코더는 2개의 상한-범위 값 M fM a(예를 들어, 도 6c를 참조), 또는 3개의 상한-범위 M f, 32, 또는 M a(예를 들어, 도 6d를 참조)를 사용하여 각 빈에 코드워드를 할당했다.
예시로서, 도 6e는 BinVar(b) 값에 기반하는 두 코드워드 할당 방식을 도시하고, 플롯(610)은 2개의 임계값을 사용하는 코드워드 할당을 도시하고, 반면에 플롯(620)은 역방향 선형 매핑을 사용하는 코드워드 할당을 도시하는데, 여기서 빈에 대한 코드워드 할당은 BinVar(b) 값에 반비례(inversely proportional)한다. 예를 들어, 실시예에서, 특정 빈에서의 코드워드 수(bin_cw)를 도출하기 위해, 다음의 코드가 적용될 수 있다:
Figure 112022109466880-pat00057
여기서 minVar는 모든 빈에 대한 최소 분산을 나타내고, maxVar는 모든 빈에 대한 최대 분산을 나타내고, minCW, maxCW 는, 재성형 모델에 의해 결정되는, 빈 당 최소 및 최대 코드워드 수를 나타낸다.
루마-기반의 Chroma QP 오프셋 개선
*참고 문헌 [6]에서, 루마와 크로마 사이의 상호 작용을 보상하기 위해, 추가적인 크로마 QP 오프셋(chromaDQP 또는 cQPO로 나타내어짐) 및 루마-기반의 잔차 크기 조정자(cScale)가 정의되었다. 예를 들어:
[수학식 28]
Figure 112022109466880-pat00058
이고, 여기서 chromaQPOffset는 크로마 QP 오프셋을 나타내고, QP_luma는 디코딩 유닛에 대한 루마 QP를 나타낸다. 참고 문헌 [6]에 제시된 바와 같이, 실시예에서
[수학식 29]
Figure 112022109466880-pat00059
이고, 여기서
Figure 112022109466880-pat00060
Figure 112022109466880-pat00061
의 기울기(1차 도함수)를 나타낸다. 인터 슬라이스에 대해,
Figure 112022109466880-pat00062
는 CU의 평균 예측된 루마 값을 나타낸다. 인트라 슬라이스에 대해,
Figure 112022109466880-pat00063
는 CU의 평균 예측된 루마 값의 역방향 재성형된 값을 나타낸다. CU에 대해 이중 트리 코딩이 사용될 때(즉, 루마 및 크로마 성분이 2개의 별도의 코딩 트리를 가지므로 루마 재구성이 크로마 코딩 개시 전에 이용 가능함), cQPO 값을 도출하기 위해 CU의 평균 재구성된 루마 값이 사용될 수 있다. cScale 크기 조정 인자는
[수학식 30]
Figure 112022109466880-pat00064
으로 정의되었고, 여기서 y = pow(2, x)는 y = 2x 함수를 나타낸다.
루마-파생(luma-derived) QP 값(qPi로 나타내어짐)과 최종 크로마 QP 값(QpC로 나타내어짐) 사이의 비선형 관계가 주어지면(예를 들어, 참고 문헌 [4]에서 1과 동일한 "ChromaArrayType에 대한 qPi의 함수로서의 Qpc의 사양(Specification of Qpc as a function of qPi for ChromaArrayType equal to 1)", 표 8-10을 참조), 실시예에서, cQPOcScale는 다음과 같이 더 조정될 수 있다.
예를 들어, 참고 문헌 [4]의 표 8-10에서와 마찬가지로, 조정된 루마와 크로마 QP 값 사이의 매핑을 f_QPi2QPc()로 나타내면,
[수학식 31]
Figure 112022109466880-pat00065
이다.
크로마 잔차를 크기 조정하기 위해, cQPO를 적용하기 전과 cQPO를 적용한 후에, 실제 크로마 코딩 QP 사이의 실제 차이에 기반하여, 크기가 계산될 필요가 있다.
Figure 112022109466880-pat00066
이다.
또다른 실시예에서, 일 실시예는 chromaQPOffsetcScale로 흡수시킬 수도 있다. 예를 들어,
Figure 112022109466880-pat00067
이다.
예시로서, 참고 문헌 [6]에 설명된 바와 같이, 실시예에서:
CSCALE_FP_PREC = 16이 정밀도 매개변수를 나타내게 한다
Figure 112022109466880-pat00068
포워드 크기 조정: 크로마 잔차가 생성된 후이고, 변환 및 양자화 전에:
Figure 112022109466880-pat00069
Figure 112022109466880-pat00070
역 크기 조정: 크로마 역 양자화 및 역 변환 후이지만, 재구성 전에:
Figure 112022109466880-pat00071
대안적인 실시예에서, 루프-내 크로마 재성형에 대한 동작이 다음과 같이 표현될 수 있다. 인코더 측에서, 각 CU 또는 TU의 크로마 성분 Cx(예를 들어, Cb 또는 Cr)의 잔차(CxRes = CxOrg - CxPred)에 대해,
[수학식 34]
Figure 112022109466880-pat00072
이고, 여기서 CxResScaled은 변환 및 양자화될 CU의 크기 조정된 Cb 또는 Cr 잔차 신호이다. 디코더 측에서, CxResScaled은 역 양자화 및 변환 후에 크기 조정된 크로마 잔차 신호, 및
[수학식 35]
Figure 112022109466880-pat00073
이다.
크로마 성분의 최종 재구성은,
[수학식 36]
Figure 112022109466880-pat00074
이다.
본 접근법에 의해, 디코더가 신택스 파싱 직후에 크로마 디코딩을 위한 역 양자화 및 변환 동작을 개시하는 것이 허용된다. CU에 사용 중인 cScale 값은 Cb 및 Cr 성분에 의해 공유될 수 있고, 수학식 29 및 30으로부터, 그것은:
Figure 112022109466880-pat00075
과 같이 도출될 수 있고, 여기서
Figure 112022109466880-pat00076
는 인터 슬라이스에서 현재 CU의 평균 예측된 루마 값이고(여기서 이중 트리 코딩이 사용되지 않으므로 재구성된 루마가 이용 가능하지 않음),
Figure 112022109466880-pat00077
는 인트라 슬라이스에서 현재 CU의 평균 재구성된 루마 값이다(여기서 이중 트리 코딩이 사용됨). 실시예에서, 16-비트 고정 소수점 정수로 cScale이 계산되어 저장되고, 인코더와 디코더 양측에서 고정 소수점 정수 연산으로 크기 조정 동작이 구현된다.
Figure 112022109466880-pat00078
는 포워드 재성형 함수의 1차 도함수를 나타낸다. 곡선의 소구간별 선형 표현을 가정하면, Y가 제k 빈에 속할 때,
Figure 112022109466880-pat00079
이다. 하드웨어 대기시간을 감소시키기 위해, 또다른 실시예에서(도 2e를 참조),
Figure 112022109466880-pat00080
는, 슬라이스 유형에 상관없이, 그리고 이중 트리가 사용되는지 여부에 상관없이, 인트라 및 인터 모드 둘 다에서, 현재 CU의 평균 예측된 루마 값을 사용할 수 있다. 또다른 실시예에서, 인트라 및/또는 인터 모드에 대해, 재구성된 CU(예컨대, 현재 CU의 상한 행 및/또는 좌측 열에 있는 것들)를 사용하여
Figure 112022109466880-pat00081
가 도출될 수 있다. 또다른 실시예에서, 영역-기반의 평균(region-based average), 중간값(median) 등, 루마 값 또는 cScale 값이 고 수준 신택스를 사용하여 명시적으로 비트스트림으로 전송될 수 있다.
cScale 사용은 루프-내 재성형을 위한 크로마 잔차 크기 조정에 제한되지 않는다. 동일한 방법이 루프-밖 재성형에 마찬가지로 적용될 수 있다. 루프 밖 재성형에서, cScale은 크로마 샘플 크기 조정에 사용될 수 있다. 동작은 루프-내 접근법에서와 동일하다.
인코더 측에서, 크로마 RDOQ를 계산할 때, 크로마 조정을 위한 람다(lambda) 수정자(QP 오프셋을 사용할 때나 크로마 잔차 크기 조정을 사용할 때 중 어느 한 때)는 또한, 개선된 오프셋에 기반하여 계산될 필요가 있다:
Figure 112022109466880-pat00082
수학식 35에 표기된 바와 같이, cScale 사용은 디코더에서 분할을 필요로 한다. 디코더 구현을 단순화하기 위해, 일 실시예는 인코더에서 분할을 사용하여 동일한 기능성을 구현하고 인코더에서 더 단순한 승산(multiplication)을 적용할 것을 결정할 수 있다. 예를 들어,
Figure 112022109466880-pat00083
이 되게 하고, 그 다음 예시로서, 인코더 상에서,
Figure 112022109466880-pat00084
이고, 디코더 상에서
Figure 112022109466880-pat00085
이다.
실시예에서, 각 루마-의존형 크로마 크기 조정 인자(luma-dependent chroma scaling factor)는 각 루마 코드워드 값에 대해서 계산되기 보다는 소구간별 선형(piece-wise linear; PWL) 표현으로 대응하는 루마 범위에 대해 계산될 수 있다. 따라서, 루마 크기 조정 인자는, (10-비트 루마 코드워드에 대해) 1024-엔트리 LUT(말하자면, cScale[Y]) 대신에, 더 작은 LUT(예를 들어, 16 또는 32 엔트리를 갖음), 말하자면, cScaleInv[binIdx]에 저장될 수 있다. 인코더와 디코더 양측에서 크기 조정 동작이 다음과 같은 고정 소수점 정수 연산:
Figure 112022109466880-pat00086
으로 구현될 수 있고, 여기서 c는 크로마 잔차이고, scScaleInv[binIdx]로부터의 크로마 잔차 크기 조정 인자이고, binIdx는 대응하는 평균 루마 값에 의해 결정되고, CSCALE_FP_PREC는 정밀도에 관련된 상수 값이다.
실시예에서, 포워드 재성형 함수는 N개의 균등 세그먼트(equal segment)(예를 들어, N=8, 16, 32 등)를 사용하여 표현될 수 있지만, 역 표현은 비선형 세그먼트를 포함할 것이다. 구현 관점에서, 마찬가지로 균등 세그먼트를 사용하여 역방향 재성형 함수의 표현을 갖는 것이 바람직하지만; 이러한 표현을 강제하는 것은 코딩 효율의 손실을 야기할 수 있다. 타협안으로서, 실시예에서, 일 실시예는, 균등 세그먼트와 비균등 세그먼트(unequal segment)를 조합하여, "혼합된" PWL 표현으로 역방향 재성형 함수를 구성할 수 있다. 예를 들어, 8개의 세그먼트를 사용할 때, 일 실시예는 우선, 전체 범위를 2개의 균등 세그먼트로 분할하고, 그 다음 이들 각각을 4개의 비균등 세그먼트로 세분할 수 있다. 대안적으로, 일 실시예는 전체 범위를 4개의 균등 세그먼트로 분할하고, 그 다음 각각을 2개의 비균등 세그먼트로 세분할 수 있다. 대안적으로, 일 실시예는 우선, 전체 범위를 수개의 비균등 세그먼트로 분할하고, 그 다음 각 비균등 세그먼트를 다수의 균등 세그먼트로 세분할 수 있다. 대안적으로, 일 실시예는 우선, 전체 범위를 2개의 균등 세그먼트로 분할할 수 있고, 그 다음 각 균등 세그먼트를 균등 서브-세그먼트(sub-segment)로 세분할 수 있는데, 여기서 각 그룹의 서브-세그먼트에서의 세그먼트 길이는 동일하지 않다.
예를 들어, 제한 없이, 1,024개의 코드워드를 가지면, 일 실시예는: a) 150개의 코드워드를 각각 갖는 4개의 세그먼트와, 212개의 코드워드를 각각 갖는 2개의 세그먼트, 또는 b) 64개의 코드워드를 각각 갖는 8개의 세그먼트와, 128개의 코드워드를 각각 갖는 4개의 세그먼트를 가질 수 있다. 이러한 세그먼트 조합의 일반적인 목적은, 코드 값이 주어진 PWL-소구간(PWL-piece) 색인을 식별하기 위해 필요로 되는 비교의 수를 감소시켜, 하드웨어와 소프트웨어 구현을 단순화하기 위한 것이다.
실시예에서, 크로마 잔차 크기 조정에 관련된 더 효율적인 구현을 위해, 다음의 변형이 사용가능할 수 있다:
Figure 112022109466880-pat00087
별도의 루마/크로마 트리가 사용될 때 크로마 잔차 크기 조정을 사용불가능하게 한다.
Figure 112022109466880-pat00088
2x2 크로마에 대한 크로마 잔차 크기 조정을 사용불가능하게 하고;
Figure 112022109466880-pat00089
인터 코딩된 유닛과 마찬가지로 인트라 코딩된 유닛에 대해 재구성 신호보다는 예측 신호를 사용한다
예시로서, 루마 성분을 처리하기 위해 도 2e에 도시된 디코더(200D_D)가 주어지면, 도 2f는 대응하는 크로마 샘플을 처리하기 위한 예시적인 아키텍처(200D_DC)를 도시한다.
도 2e와 비교하여, 도 2f에 도시된 바와 같이, 크로마를 처리할 때 다음의 변경이 행해진다:
Figure 112022109466880-pat00090
포워드 및 역방향 재성형 블록(282 및 265-3)이 사용되지 않는다.
Figure 112022109466880-pat00091
새로운 크로마 잔차 크기 조정 블록(288)이 있으며, 사실상 루마에 대한 역방향 재성형 블록(265-3)을 대체한다.
Figure 112022109466880-pat00092
재구성 블록(285-C)은, 수학식 36: CxRec = CxPred + CxRes에 설명된 바와 같이, 원래의 도메인에서 컬러 잔차를 처리하기 위해 수정된다.
수학식 34로부터, 디코더 측에서, CxResScaled는, 역 양자화 및 변환 후에(블록(288) 전에) 추출된 크기 조정된 크로마 잔차 신호를 나타내게 하고,
Figure 112022109466880-pat00093
이 재구성 유닛(285-C)에 의해 사용될, 크로마 잔차 크기 조정 블록(288)에 의해 생성된 크기 재조정된 크로마 잔차(rescaled chroma residual)를 나타내게 하여, CxRec = CxPred + CxRes를 계산하고, 여기서 CxPred는 인트라(284) 또는 인터(280) 예측 블록 중 어느 하나에 의해 생성된다.
변환 유닛(Transform Unit; TU)에 사용 중인
Figure 112022109466880-pat00094
값은 Cb 및 Cr 성분에 의해 공유될 수 있고 다음과 같이 계산될 수 있는데:
Figure 112022109466880-pat00095
인트라 모드에 있으면, 인트라 예측된 루마 값의 평균을 계산하고;
Figure 112022109466880-pat00096
인터 모드에 있으면, 포워드 재성형된 인터 예측된 루마 값의 평균을 계산한다. 즉, 평균 루마 값
Figure 112022109466880-pat00097
이 재성형된 도메인에서 계산되고;
Figure 112022109466880-pat00098
결합된 병합 및 인트라 예측에 있으면, 결합된 예측된 루마 값의 평균을 계산한다. 예를 들어, 결합된 예측된 루마 값은 부록 2, 섹션 8.4.6.6에 따라 계산될 수 있다.
Figure 112022109466880-pat00099
실시예에서, 일 실시예는
Figure 112022109466880-pat00100
에 기반하여
Figure 112022109466880-pat00101
를 계산하기 위해 LUT를 적용할 수 있다. 대안적으로, 재성형 함수의 소구간별 선형(piece-wise-linear; PWL) 표현이 주어지면, 일 실시예는 값
Figure 112022109466880-pat00102
이 역-매핑(inverse-mapping) PWL에 속하는 색인 idx을 찾을 수 있다.
Figure 112022109466880-pat00103
그 다음,
Figure 112022109466880-pat00104
이다.
현재 ITU 및 ISO에 의한 개발하에, 다용도 비디오 코딩 코덱(참고 문헌 [8])에 적용 가능한 것과 같은 예시적인 구현이 부록 2에서 찾아질 수 있다(예를 들어, 섹션 8.5.5.1.2를 참조)
이중 트리를 갖는 인트라 슬라이스에 대한 루마-기반의 크로마 잔차 크기 조정을 사용불가능하게 하는 것은 코딩 효율에서 약간의 손실을 야기할 수 있다. 크로마 재성형의 효과를 개선하기 위해, 다음의 방법이 사용될 수 있다:
1. 크로마 크기 조정 인자는 루마 샘플 값의 평균 또는 중간값에 의존하여 전체 프레임에 대해 동일하게 유지될 수 있다. 이는 크로마 잔차 크기 조정을 위한 루마에 대한 TU-수준 의존성을 제거할 것이다.
2. 크로마 크기 조정 인자는 이웃하는 CTU로부터의 재조정된 루마 값을 사용하여 도출될 수 있다.
3. 인코더는 소스 루마 화소에 기반하여 크로마 크기 조정 인자를 도출할 수 있고, 그것을 CU/CTU 수준에서 비트스트림으로(예를 들어, 재성형 함수의 소구간별 표현에 대한 색인으로서) 전송할 수 있다. 그 다음, 디코더는 루마 데이터에 의존하지 않고 재성형 함수로부터 크로마 크기 조정 인자를 추출할 수 있다.
Figure 112022109466880-pat00105
CTU에 대한 크기 인자는 인트라 슬라이스에 대해서만 도출 및 전송될 수 있으나; 인터 슬라이스에 대해서 마찬가지로 사용될 수 있다. 추가적인 시그널링 비용이 인트라 슬라이스에 대해서만 발생하므로, 램덤 액세스(random access)에서 코딩 효율에는 영향을 미치지 않는다.
4. 크로마는 프레임 수준에서 루마로서 재성형될 수 있고, 크로마 재성형 곡선은 루마와 크로마 사이의 상관 분석에 기반하여 루마 재성형 곡선으로부터 도출된다. 이는 크로마 잔차 크기 조정을 완전히 제거한다.
delta_qp 적용
AVC 및 HEVC에서, 매개변수 delta_qp가 코딩 블록에 대한 QP 값을 수정하도록 허용된다. 실시예에서, 일 실시예는 delta_qp 값을 도출하기 위해 재성형기에서 루마 곡선을 사용할 수 있다. 일 실시예는 각 빈에 대한 코드워드 할당에 기반하여 소구간별 lumaDQP 값을 도출할 수 있다. 예를 들어:
k 빈에 대해,
Figure 112022109466880-pat00106
이고, 여기서 INT() 은 CEIL(), ROUND() 또는 FLOOR()일 수 있다. 인코더는 해당 블록에 대한 루마 값을 찾기 위해, 루마의 함수, average(luma), min(luma), max(luma) 등을 사용하고, 그 다음 해당 블록에 대한 대응하는 lumaDQP 값을 사용할 수 있다. 수학식 27으로부터, 레이트-왜곡 이점을 얻기 위해, 일 실시예는 모드 결정 시 가중화된 왜곡을 사용할 수 있고,
Figure 112022109466880-pat00107
으로 설정한다.
빈의 수에 대한 재성형 및 고려사항
통상 10-비트 비디오 코딩에서, 재성형 매핑을 위해 적어도 32개의 빈을 사용하는 것이 바람직하지만; 디코더 구현을 단순화하기 위해, 실시예에서, 일 실시예는 더 적은 빈, 말하자면 16개 또는 심지어 8개의 빈을 사용할 수 있다. 시퀀스를 분석하고 코드워드 분포를 도출하기 위해 이미 32개의 빈을 사용하고 있는 인코더가 주어지면, 일 실시예는 원래의 32개의 빈 코드워드 분포를 재사용하여 각 32개의 빈 내의 대응하는 두 16개 빈을 추가함으로써, 즉
Figure 112022109466880-pat00108
에 의해, 16개의 빈-코드워드를 도출할 수 있다.
크로마 잔차 크기 조정 인자에 대해, 일 실시예는 단순히 코드워드를 2로 분할할 수 있고, 32개의 빈 chromaScalingFactorLUT를 가리킬 수 있다. 예를 들어,
Figure 112022109466880-pat00109
이 주어지면, 대응하는 16개의 빈 CW 할당은
Figure 112022109466880-pat00110
이다.
이 접근법은 훨씬 더 적은 빈, 말하자면 8개를 처리하도록 확장될 수 있고,
Figure 112022109466880-pat00111
이다.
좁은 범위의 유효 코드워드(예를 들어, 10-비트 신호에 대해 [64, 940] 및 8-비트 신호에 대해 [64, 235])를 사용할 때, 제1 및 최종 빈이 예약된 코드워드로의 매핑을 고려하지 않도록 주의해야 한다. 예를 들어, 10 비트 신호에 대해, 8개의 빈으로, 각 빈이 1024/8 = 128 코드워드를 가질 것이고, 제1 빈이 [0, 127]일 것이지만; 표준 코드워드 범위는 [64, 940]이기 때문에, 제1 빈만이 코드워드 [64, 127]를 고려해야 한다. 특수 플래그(예를 들어, video_full_range_flag = 0)가 디코더에게 입력 비디오가 전체 범위 [0, 2bitdepth - 1]보다 더 좁은 범위를 가지고, 제1 및 최종 빈을 처리할 때 불법 코드워드를 생성하지 않도록 특별히 주의해야 한다. 이는 루마 및 크로마 재성형 둘 다에 적용 가능하다.
예시로서, 제한 없이, 부록 2는, 포워드 재성형 함수가 16개의 세그먼트를 포함하는, 도 2c, 도 2e, 및 도 2f에 도시된 아키텍처를 사용하는 일 실시예에 따라, ISO/ITU 비디오 다목적 코덱(Video Versatile Codec; VVC)에서 재성형을 지원하기 위한 예시적인 신택스 구조 및 관련 신택스 요소를 제공한다.
참고 문헌
나열된 참고 문헌 중 각각은 그 전체가 참조로서 본 명세서에 통합된다.
[1] K. Minoo 등에 의한, 2016년 미국, 샌디에고, MPEG 출력 문서, JCTVC-W0092 (m37732), "HEVC의 HDR 확장에 대한 예시적인 테스트 모델(Exploratory Test Model for HDR extension of HEVC)"
[2] G-M. Su에 의해, 2016년 3월 30일자 PCT 출원 PCT/US2016/025082로 출원되며, 또한 WO 2016/164235로 공개된, 높은 동적 범위 비디오 코딩에서 루프-내 블록-기반의 이미지 재성형(In-Loop Block-Based Image Reshaping in High Dynamic Range Video Coding)
[3] T. Lu 등에 의해, 2017년 1월 19일자로 출원된, 미국 특허 출원 15/410,563, 높은 코드워드 표현 이미지에 대한 콘텐츠 적응형 재성형(Content-Adaptive Reshaping for High Codeword representation Images)
[4] 2016년 12월, ITU-T H.265, "고효율 비디오 코딩(High efficiency video coding)"
[5] P. Yin 등에 의해 2016년 7월 14일자 PCT 출원 PCT/US2016/042229로 출원되며, 또한 WO 2017/011636로 공개된, HDR 및 넓은 색영역 신호에 대한 신호 재성형 및 코딩(Signal Reshaping and Coding for HDR and Wide Color Gamut Signals)
[6] T. Lu 등에 의해 2018년 6월 29일자로 출원된, 통합된 이미지 재성형 및 비디오 코딩(Integrated Image Reshaping and Video Coding).
[7] J. Froehlich 등에 의한 2018년 2월 8일자, 미국 특허 출원 공개 제 2018/0041759호인, "높은 동적 범위 이미지에 대한 콘텐츠-적응형 지각 양자화기(Content-Adaptive Perceptual Quantizer for High Dynamic Range Images)"
[8] B. Bross, J. Chen 및 S. Liu에 의해, 2019년 1월 8일자 업로드된, JVET 출력 문서, JVET-L1001, v9, "다목적 비디오 코딩(Versatile Video Coding)(초안3)"
예시적인 컴퓨터 시스템 구현
본 발명의 실시예는 컴퓨터 시스템, 전자 회로 및 부품으로 구성된 시스템, 마이크로컨트롤러, 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 구성 가능하거나 프로그램 가능한 논리 디바이스(PLD)와 같은 IC(integrated circuit) 디바이스, 이산 시간 또는 디지털 신호 프로세서(DSP), ASIC(application specific IC) 및/또는 이러한 시스템, 디바이스 또는 컴포넌트 중 하나 이상을 포함하는 장치로 구현될 수 있다. 컴퓨터 및/또는 IC는 본 명세서에 설명된 것들과 같은 이미지에 대한 신호 재성형 및 코딩에 관한 명령어를 수행, 제어 또는 실행할 수 있다. 컴퓨터 및/또는 IC는 본 명세서에 설명된 신호 재성형 및 코딩 프로세스에 관한 다양한 매개변수 또는 값 중 임의의 것을 계산할 수 있다. 이미지 및 비디오 실시예는 하드웨어, 소프트웨어, 펌웨어 및 이들의 다양한 조합으로 구현될 수 있다.
본 발명의 특정 구현은 프로세서로 하여금 본 발명의 방법을 수행하게 하는 소프트웨어 명령어를 실행하는 컴퓨터 프로세서를 포함한다. 예를 들어, 디스플레이, 인코더, 셋톱 박스, 트랜스코더 등의 하나 이상의 프로세서는 프로세서에 의해 액세스 가능한 프로그램 메모리에서 소프트웨어 명령어를 실행함으로써 전술한 바와 같이 이미지에 대한 신호 재성형 및 코딩에 관련된 방법을 구현할 수 있다. 본 발명은 또한, 프로그램 제품의 형태로 제공될 수 있다. 프로그램 제품은, 데이터 프로세서에 의해 실행될 때, 데이터 프로세서로 하여금 본 발명의 방법을 실행하게 하는 명령어를 포함하는 컴퓨터 판독 가능한 신호의 세트를 반송하는 임의의 비-일시적 및 유형의(tangible) 매체를 포함할 수 있다. 본 발명에 따른 프로그램 제품은 임의의 매우 다양한 비-일시적 및 유형의 형태일 수 있다. 프로그램 제품은, 예를 들어, 플로피 디스켓을 포함하는 자기 데이터 저장 매체, 하드 디스크 드라이브, CD ROM을 포함하는 광학 데이터 저장 매체, DVD, ROM을 포함하는 전자 데이터 저장 매체, 플래시 RAM 등과 같은 물리적 매체를 포함할 수 있다. 프로그램 제품 상의 컴퓨터 판독 가능한 신호는 선택적으로 압축 또는 암호화될 수 있다.
구성요소(예를 들어, 소프트웨어 모듈, 프로세서, 어셈블리, 디바이스, 회로 등)가 위에서 언급된 경우, 달리 지시되지 않는 한, ("수단(means)"에 대한 참조를 포함하여) 해당 구성요소에 대한 참조는 그 구성요소에 대한 등가물로서, 본 발명에 대해 제시된 예시적인 실시예들에서 기능을 수행하는 개시된 구조와는 구조적으로 동등한 것이 아닌 구성요소를 포함하여, 그 설명된 구성요소의 기능을 수행하는 (예를 들어, 기능적으로 동등한) 임의의 구성요소를 포함하는 것으로 해석되어야 한다.
등가물, 확장물, 대안물 및 기타
이미지에 대한 효율적인 신호 재성형 및 코딩에 관한 예시적인 실시예가 이와 같이 설명되어 있다. 전술한 명세서에서, 본 발명의 실시예는 구현에 따라 다양할 수 있는 다수의 특정 세부 사항을 참조하여 설명되었다. 따라서, 본 발명이 무엇인지 및 출원인이 본 발명이라고 의도하는 것이 무엇인지에 대한 단독의 및 독점적인 표시는 본 출원에서 나타내어진 청구항들의 세트이고, 이러한 청구항들이 나타내는 특정 형태에서, 임의의 후속하는 정정을 포함한다. 이러한 청구항들에 포함된 용어들에 대해, 본 명세서에 명확히 제시된 임의의 정의는 청구항들에 사용된 것과 같은 이러한 용어들의 의미를 좌우할 것이다. 따라서, 청구항에 명확히 인용되지 않은 어떤 제한, 요소, 특성, 특징, 이점, 또는 속성은 어떤 방식으로든 이러한 청구항의 범위를 제한해서는 안 된다. 따라서, 명세서 및 도면들은 제한하는 의미보다는 예시적인 것으로 간주되어야 한다.
열거된 예시적인 실시예
본 발명은, 본 발명의 일 부분의 구조, 특징 및 기능성을 설명하는 다음의 열거된 예시적인 실시예(Enumerated Example Embodiment; EEE)를 포함하지만 이에 제한되지 않고, 본 명세서에 설명된 임의의 형태로 구현될 수 있다.
EEE 1. 프로세서로, 비디오 시퀀스의 적응형 재성형을 위한 방법으로서,
프로세서로, 제1 코드워드 표현의 입력 이미지를 액세스하는 단계; 및
입력 이미지의 화소를 제2 코드워드 표현으로 매핑하는 포워드 재성형 함수를 생성하는 단계를 포함하고, 제2 코드워드 표현에 의해 제1 코드워드 표현보다 더 효율적인 압축이 허용되고, 포워드 재성형 함수를 생성하는 단계는:
입력 이미지를 다수의 화소 영역으로 분할하는 단계;
각 화소 영역의 제1 휘도 특성에 따라, 화소 영역의 각각을 다수의 코드워드 빈 중 하나에 할당하는 단계;
각 코드워드 빈에 할당된 화소 영역의 각각의 제2 휘도 특성에 따라, 다수의 코드워드 빈 중 각각의 하나에 대한 빈 메트릭을 계산하는 단계;
제2 코드워드 표현의 다수의 코드워드를 각 코드워드 빈에, 각 코드워드 빈의 빈 메트릭 및 레이트 왜곡 최적화 기준에 따라 할당하는 단계;
및 다수의 코드워드 빈의 각각에 제2 코드워드 표현의 코드워드를 할당하는 것에 응답하여 포워드 재성형 함수를 생성하는 단계를 포함하는, 방법.
EEE 2. EEE 1의 방법으로서, 화소 영역의 제1 휘도 특성은 화소 영역에서의 평균 휘도 화소 값을 포함하는, 방법.
EEE 3. EEE 1의 방법으로서, 화소 영역의 제2 휘도 특성은 화소 영역에서의 휘도 화소 값의 분산을 포함하는, 방법.
EEE 4. EEE 3의 방법으로서, 코드워드 빈에 대한 빈 메트릭을 계산하는 단계는, 코드워드 빈에 할당된 모든 화소 영역에 대한 휘도 화소 값의 분산의 평균을 계산하는 단계를 포함하는, 방법.
EEE 5. EEE 1의 방법으로서, 제2 코드워드 표현의 다수의 코드워드를 코드워드 빈에, 그의 빈 메트릭에 따라, 할당하는 단계는:
어떤 화소 영역도 코드워드 빈에 할당되어 있지 않으면, 어떤 코드워드도 코드워드 빈에 할당하지 않는 단계;
코드워드 빈에 대한 빈 메트릭이 상한 임계 값보다 작으면, 제1 코드워드 수를 할당하는 단계; 및
그렇지 않으면 제2 코드워드 수를 코드워드 빈에 할당하는 단계를 포함하는, 방법.
EEE 6. EEE 5의 방법으로서, B 비트의 심도를 갖는 제1 코드워드 표현과 Bo 비트의 심도를 갖는 제2 코드워드 표현 및 N개의 코드워드 빈에 대해, 제1 코드워드 수는 M f = CEIL((2 Bo /(CW2-CW1))* M a) 를 포함하고, 제2 코드워드 수는 M a = 2 B /N를 포함하고, 여기서 CW1 < CW2는 [0 2 B -1]에서 2개의 코드워드를 나타내는, 방법.
EEE 7. EEE 6의 방법으로서, CW1 = 16*2( B -8)이고 CW2 = 235*2( B -8)인, 방법.
EEE 8. EEE 5의 방법으로서, 상한 임계값을 결정하는 단계는:
잠재적인 임계 값의 세트를 정의하는 단계;
임계 값의 세트에서의 각 임계값에 대해서는:
임계값에 기반하여 포워드 재성형 함수를 생성하는 단계;
디코딩된 테스트 프레임의 출력 세트를 생성하기 위해, 재성형 함수 및 비트 레이트 R에 따라 입력 테스트 프레임의 세트를 인코딩 및 디코딩하는 단계;
입력 테스트 프레임 및 디코딩된 테스트 프레임에 기반하여 전체 레이트-왜곡 최적화(RDO) 메트릭을 계산하는 단계;
및 잠재적인 임계 값의 세트에서 RDO 메트릭이 최소인 임계 값을 상한 임계값으로서 선택하는 단계를 포함하는, 방법.
EEE 9. EEE 8의 방법으로서, RDO 메트릭을 계산하는 단계는,
Figure 112022109466880-pat00112
를 계산하는 단계를 포함하고, 여기서 D는 입력 테스트 프레임의 화소 값과 디코딩된 테스트 프레임의 대응하는 화소 값 사이의 왜곡의 측정치를 나타내고,
Figure 112022109466880-pat00113
는 라그랑지안 승수(Lagrangian multiplier)를 나타내는, 방법.
EEE 10. EEE 9의 방법으로서, D는 입력 테스트 프레임과 디코딩된 테스트 프레임의 대응하는 화소 값 사이의 제곱 차의 합계(sum of square differences)의 측정치인, 방법.
EEE 11. EEE 1의 방법으로서, 제2 코드워드 표현의 다수의 코드워드를 코드워드 빈에, 그의 빈 메트릭에 따라, 할당하는 단계는, 코드워드 할당 참조표에 기반하고, 코드워드 할당 참조표는 빈 메트릭 값의 범위를 세그먼트로 분할하는 2개 이상의 임계값을 정의하고, 각 세그먼트 내에 빈 메트릭을 갖는 빈에 할당될 코드워드 수를 제공하는, 방법.
EEE 12. EEE 11의 방법으로서, 빈에 디폴트 코드워드 할당이 주어지면, 큰 빈 메트릭을 갖는 빈에 디폴트 코드워드 할당보다 더 적은 코드워드가 할당되고, 작은 빈 메트릭을 갖는 빈에 디폴트 코드워드 할당보다 더 많은 코드워드가 할당되는, 방법.
EEE 13. EEE 12의 방법으로서, B 비트 및 N개의 빈을 갖는 제1 코드워드 표현에 대해, 빈 당 디폴트 코드워드 할당은 M a = 2 B /N에 의해 주어지는, 방법.
EEE 14. EEE 1의 방법으로서, 포워드 재성형 함수에 응답하여 재성형 정보를 생성하는 단계를 더 포함하고, 재성형 정보는,
재성형 재구성 프로세스에 사용될 최소 코드워드 빈 색인 값을 나타내는 플래그,
재성형 구성 프로세스에 사용될 최대 코드워드 빈 색인 값을 나타내는 플래그,
재성형 모델 프로파일 유형을 나타내는 플래그 - 각 모델 프로파일 유형은 디폴트 빈-관련 매개변수와 연관됨 -, 또는
디폴트 빈-관련 매개변수를 조정하는 데에 사용될 하나 이상의 델타 값
중 하나 이상을 포함하는, 방법.
EEE 15. EEE 5의 방법으로서, 각 코드워드 빈에 빈 중요도 값을 할당하는 단계를 더 포함하고, 빈 중요도 값은:
어떤 코드워드도 코드워드 빈에 할당되어 있지 않으면, 0이고;
제1 코드워드 값이 코드워드 빈에 할당되어 있으면, 2이고;
그렇지 않으면, 1인, 방법.
EEE 16. EEE 5의 방법으로서, 상한 임계값을 결정하는 단계는:
입력 이미지의 화소 값의 휘도 범위를 빈으로 분할하는 단계;
각 빈에 대해, 빈-히스토그램 값 및 평균 빈-분산 값을 결정하는 단계 - 빈에 대해, 빈-히스토그램 값은 이미지에서 총 화소의 수에 대한 빈 내의 화소 수를 포함하고, 평균 빈-분산 값은 빈 내의 화소의 평균 화소 분산에 대한 메트릭을 제공함 -;
평균 빈 분산 값의 정렬된 목록 및 평균 빈 분산 색인의 정렬된 목록을 생성하기 위해, 평균 빈 분산 값을 정렬하는 단계;
빈-히스토그램 값에 기반한 정렬된 평균 빈 분산 값 및 평균 분산-값 색인의 정렬된 목록의 함수로서 누적 밀도 함수를 계산하는 단계; 및
누적 밀도 함수의 값에 의해 만족되는 기준에 기반하여 상한 임계값을 결정하는 단계를 포함하는, 방법.
EEE 17. EEE 16의 방법으로서, 누적 밀도 함수를 계산하는 단계는:
Figure 112022109466880-pat00114
이고, 여기서 b는 빈 수(bin number)를 나타내고,
Figure 112022109466880-pat00115
은 총 빈의 수를 나타내고,
Figure 112022109466880-pat00116
은 빈 b에 대한 CDF 함수의 출력을 나타내고,
Figure 112022109466880-pat00117
는 빈 i에 대한 빈-히스토그램 값을 나타내고,
Figure 112022109466880-pat00118
는 평균 빈 분산-값 색인의 정렬된 목록을 나타내는, 방법.
EEE 18. EEE 16의 방법으로서, 입력 이미지의 k% 의 화소에 대해, 평균 빈 분산은 상한 임계값보다 크거나 동일하고, 상한 임계값은 CDF 출력이 k%인 평균 빈 분산 값으로서 결정되는, 방법.
EEE 19. EEE 18의 방법으로서, k = 50인, 방법.
EEE 20. 디코더에서, 재성형 함수를 재구성하는 방법으로서,
재성형 모델을 특징짓는 디코딩된 비트스트림 신택스 요소를 수신하는 단계 - 신택스 요소는
재성형 구성 프로세스에서 사용될 최소 코드워드 빈 색인 값을 나타내는 플래그,
재성형 구성 프로세스에서 사용될 최대 코드워드 빈 색인 값을 나타내는 플래그,
재성형 모델 프로파일 유형을 나타내는 플래그 - 모델 프로파일 유형은 디폴트 빈-관련 매개변수와 연관됨 -, 또는
재성형 모델 프로파일에 정의된 디폴트 빈 중요도 값을 조정하기 위해 사용될 하나 이상의 델타 빈 중요도 값을 나타내는 플래그 중 하나 이상을 포함함 -;
재성형 모델 프로파일에 기반하여, 각 빈에 대한 디폴트 빈 중요도 값 및 빈의 중요도 값에 따라 각 빈에 할당될 디폴트 코드워드 수의 할당 목록을 결정하는 단계;
각 코드워드 빈에 대해서는:
그의 디폴트 빈 중요도 값을 그의 델타 빈 중요도 값에 추가함으로써 그의 빈 중요도 값을 결정하는 단계;
빈의 중요도 값 및 할당 목록에 기반하여 코드워드 빈에 할당될 코드워드 수를 결정하는 단계; 및
각 코드워드 빈에 할당된 코드워드 수에 기반하여 포워드 재성형 함수를 생성하는 단계를 포함하는, 방법.
EEE 21. EEE 20의 방법으로서, 할당 목록을 사용하여 제k 코드워드 빈에 할당되는 코드워드 수, Mk를 결정하는 단계는:
k 빈에 대해서는:
Figure 112022109466880-pat00119
인 것을 포함하고, 여기서 M aM f는 할당 목록의 요소이고, bin_importance[k]는 제k 빈의 빈 중요도 값을 나타내는, 방법.
EEE 22. 하나 이상의 프로세스를 포함하는 디코더에서, 디코딩된 데이터를 재구성하는 방법은:
제1 코드워드 표현의 하나 이상의 코딩된 재성형된 이미지 및 코딩된 재성형된 이미지에 대한 재성형 정보에 관련된 메타데이터(207)를 포함하는 코딩된 비트스트림(122)을 수신하는 단계;
재성형 정보에 관련된 메타데이터에 기반하여 역방향 재성형 함수를 생성하는 단계(250) - 역방향 재성형 함수는 재성형된 이미지의 화소를 제1 코드워드 표현에서 제2 코드워드 표현으로 매핑함 -;
재성형 정보에 관련된 메타데이터에 기반하여 포워드 재성형 함수를 생성하는 단계(250) - 포워드 재성형 함수는 이미지의 화소를 제2 코드워드 표현에서 제1 코드워드 표현으로 매핑함 -;
코딩된 비트스트림으로부터, 하나 이상의 코딩된 유닛을 포함하는 코딩된 재성형된 이미지를 추출하는 단계 - 코딩된 재성형된 이미지에서의 하나 이상의 코딩된 유닛에 대해:
코딩된 재성형된 이미지에서의 인트라-코딩된 코딩 유닛에 대해서는:
CU에서의 재성형된 잔차 및 제1 재성형된 예측 샘플에 기반하여 CU의 제1 재성형된 재구성된 샘플(227)을 생성하는 단계;
제1 재성형된 재구성된 샘플 및 루프-필터 매개변수에 기반하여 재성형된 루프 필터 출력을 생성하는 단계(270);
제2 코드워드 표현으로 코딩 유닛의 디코딩된 샘플을 생성하기 위해, 재성형된 루프 필터 출력에 역방향 재성형 함수를 적용하는 단계(265); 및
코딩 유닛의 디코딩된 샘플을 제2 코드워드 표현으로 참조 버퍼에 저장하는 단계를 포함하고;
코딩된 재성형된 이미지에서의 인터-코딩된 코딩 유닛에 대해서는:
제2 재성형된 예측 샘플을 생성하기 위해, 제2 코드워드 표현으로 참조 버퍼에 저장된 예측 샘플에 포워드 재성형 함수를 적용하는 단계;
코딩된 CU에서의 재성형된 잔차 및 제2 재성형된 예측 샘플에 기반하여 코딩 유닛의 제2 재성형된 재구성된 샘플을 생성하는 단계;
제2 재성형된 재구성된 샘플 및 루프-필터 매개변수에 기반하여 재성형된 루프 필터 출력을 생성하는 단계;
제2 코드워드 표현으로 코딩 유닛의 샘플을 생성하기 위해, 재성형된 루프 필터 출력에 역방향 재성형 함수를 적용하는 단계; 및
코딩 유닛의 샘플을 제2 코드워드 표현으로 참조 버퍼에 저장하는 단계를 포함함 -; 및
참조 버퍼에 저장된 샘플에 기반하여 디코딩된 이미지를 생성하는 단계를 포함하는, 방법.
EEE 23. 프로세서를 포함하고 EEE 1 내지 22 중 어느 하나에 인용된 방법을 수행하도록 구성된 장치.
EEE 24. 하나 이상의 프로세서로 EEE 1 내지 22 중 어느 하나에 따른 방법을 실행하기 위한 컴퓨터 실행 가능한 명령어를 저장하고 있는 비-일시적 컴퓨터 판독 가능한 저장 매체.
부록 1
버블 정렬의 예시적인 구현
Figure 112022109466880-pat00120
부록 2
예시로서, 이 부록은, 현재 ISO 및 ITU에 의한 공동 개발하에서, 다목적 비디오 코덱(Versatile Video Codec; VVC)(참고 문헌 [8])에서 재성형을 지원하기 위한 실시예에 따른, 예시적인 신택스 구조 및 관련 신택스 요소를 제공한다. 기존의 초안 버전에서 새로운 신택스 요소가
Figure 112022109466880-pat00121
되거나 명시적으로 표기된다. (8-xxx)와 같은 수학식 숫자는, 최종 사양에서, 필요에 따라, 업데이트될 최종 자리 표시자(placeholder)를 나타낸다.
7.3.2.1 시퀀스 매개변수 세트 RBSP 신택스에서
Figure 112022109466880-pat00122
Figure 112022109466880-pat00123
Figure 112022109466880-pat00124
7.3.3.1 일반적인 타일 그룹 헤더 신택스에서
Figure 112022109466880-pat00125
Figure 112022109466880-pat00126
Figure 112022109466880-pat00127
새로운 신택스 표 타일 그룹 재성형기 모델을 추가한다:
Figure 112022109466880-pat00128
일반적인 시퀀스 매개변수 세트 RBSP 시맨틱스에, 다음의 시맨틱스를 추가한다:
sps_reshaper_enabled_flag = 1은, 재성형기가 코딩된 비디오 시퀀스(coded video sequence; CVS)에 사용됨을 특정한다. sps_reshaper_enabled_flag = 0은, 재성형기가 CVS에 사용되지 않음을 특정한다.
타일 그룹 헤더 신택스에서, 다음의 시맨틱스를 추가한다
tile_group_reshaper_model_present_flag = 1은, tile_group_reshaper_model()이 타일 그룹 헤더에 존재함을 특정한다. tile_group_reshaper_model_present_flag = 0은, tile_group_reshaper_model()이 타일 그룹 헤더에 존재하지 않음을 특정한다. tile_group_reshaper_model_present_flag가 존재하지 않을 때, 그것은 0과 동일한 것으로 추론된다.
tile_group_reshaper_enabled_flag = 1은, 재성형기가 현재 타일 그룹을 위해 사용가능하게 됨을 특정한다. tile_group_reshaper_enabled_flag = 0은, 재성형기가 현재 타일 그룹에 사용가능하지 않음을 특정한다. tile_group_reshaper_enable_flag가 존재하지 않을 때, 그것은 0과 동일한 것으로 추론된다.
tile_group_reshaper_chroma_residual_scale_flag = 1은, 크로마 잔차 크기 조정이 현재 타일 그룹에 사용가능하게 됨을 특정한다. tile_group_reshaper_chroma_residual_scale_flag = 0은, 크로마 잔차 크기 조정이 현재 타일 그룹에 사용가능하지 않음을 특정한다. tile_group_reshaper_chroma_residual_scale_flag이 존재하지 않을 때, 그것은 0과 동일한 것으로 추론된다.
tile_group_reshaper_model( ) 신택스를 추가한다
reshaper_model_min_bin_idx는 재성형기 구성 프로세스에 사용될 최소 빈(또는 소구간) 색인을 특정한다. reshaper_model_min_bin_idx의 값은 0부터 MaxBinIdx까지의 포함 범위에 있을 것이다. MaxBinIdx의 값은 15과 동일할 것이다.
reshaper_model_delta_max_bin_idx는, 재성형기 구성 프로세스에 사용될, (최대 허용된 빈(또는 소구간) 색인 MaxBinIdx - 최대 빈 색인)을 특정한다. reshaper_model_max_bin_idx의 값은, MaxBinIdx - reshaper_model_delta_max_bin_idx과 동일하게 설정된다.
reshaper_model_bin_delta_abs_cw_prec_minus1 + 1은, 신택스 reshaper_model_bin_delta_abs_CW[ i ]의 표현에 사용되는 빈의 수를 특정한다.
reshaper_model_bin_delta_abs_CW[ i ]는, 제i 빈에 대한 절대 델타 코드워드 값을 특정한다.
reshaper_model_bin_delta_sign_CW_flag[ i ]는, 다음과 같이 reshaper_model_bin_delta_abs_CW[ i ]의 부호를 특정한다:
- reshaper_model_bin_delta_sign_CW_flag[ i ]가 0과 동일하면, 대응하는 변수 RspDeltaCW[ i ]가 양의 값이다.
- 그렇지 않으면(reshaper_model_bin_delta_sign_CW_flag[ i ]가 0과 동일하지 않으면), 대응하는 변수 RspDeltaCW[ i ]가 음의 값이다.
reshaper_model_bin_delta_sign_CW_flag[ i ]가 존재하지 않을 때, 그것은 0과 동일한 것으로 추론된다.
변수 RspDeltaCW[ i ] = (1 - 2*reshaper_model_bin_delta_sign_CW [ i ]) * reshaper_model_bin_delta_abs_CW [ i ]이고;
변수 RspCW[ i ]가 다음의 단계로부터 도출된다:
변수 OrgCW가 (1 << BitDepthY ) / ( MaxBinIdx + 1)과 동일하게 설정된다.
- 만약 reshaper_model_min_bin_idx < = i <= reshaper_model_max_bin_idx 이면
RspCW[ i ] = OrgCW + RspDeltaCW[ i ]이다.
- 그렇지 않으면, RspCW[ i ] = 0이다.
BitDepthY의 값이 10과 동일하면, RspCW [ i ]의 값이 32부터 2 * OrgCW - 1까지의 포함 범위에 있을 것이다.
0부터 MaxBinIdx + 1까지의 포함 범위에서 i를 갖는 변수 InputPivot[ i ]가 다음과 같이 도출된다.
InputPivot[ i ] = i * OrgCW
0부터 MaxBinIdx + 1까지의 포함 범위에서 i를 갖는 변수 ReshapePivot[ i ], 0부터 MaxBinIdx까지의 포함 범위에서 i를 갖는 변수 ScaleCoef[ i ] 및 InvScaleCoeff[ i ]가 다음과 같이 도출된다:
Figure 112022109466880-pat00129
0부터 MaxBinIdx까지의 포함 범위에서 i를 갖는 변수 ChromaScaleCoef[ i ]가 다음과 같이 도출된다:
Figure 112022109466880-pat00130
Figure 112022109466880-pat00131
주의: 대안적인 구현에서, 일 실시예는 루마 및 크로마에 대한 크기 조정을 일원화할 수 있으므로, ChromaResidualScaleLut[]에 대한 필요성을 제거할 수 있다. 그 다음 크로마 크기 조정이 다음과 같이 구현될 수 있다:
Figure 112022109466880-pat00132
결합된 병합 및 인트라 예측에 대한 가중화된 샘플 예측 프로세스에 다음을 추가한다. 추가사항은
Figure 112022109466880-pat00133
되어 있다.
8.4.6.6 결합된 병합 및 인트라 예측에 대한 가중화된 샘플 예측 프로세스
이 프로세스로의 입력은:
- 현재 코딩 블록의 폭 cbWidth,
- 현재 코딩 블록의 높이 cbHeight,
- 2개의 (cbWidth)x(cbHeight) 어레이 predSamplesInter 및 predSamplesIntra,
- 인트라 예측 모드 predModeIntra,
- 컬러 성분 색인을 특정하는 변수 cIdx이고,
이 프로세스의 출력은 예측 샘플 값의 (cbWidth)x(cbHeight) 어레이 predSamplesComb이다.
변수 bitDepth는 다음과 같이 도출된다:
- cIdx가 0과 동일하면, bitDepth은 BitDepthY와 동일하게 설정된다.
- 그렇지 않으면, bitDepth는 BitDepthC와 동일하게 설정된다.
x = 0..cbWidth - 1 및 y = 0..cbHeight - 1을 갖는 예측 샘플 predSamplesComb[ x ][ y ]는 다음과 같이 도출된다:
- 가중치 w는 다음과 같이 도출된다:
- predModeIntra가 INTRA_ANGULAR50이면, 표 8-10에서 y와 동일한 nPos 및 cbHeight와 동일한 nSize를 갖는 w가 특정된다.
- 그렇지 않으면 (predModeIntra가 INTRA_ANGULAR18이면), 표 8-10에서 x와 동일한 nPos 및 cbWidth와 동일한 nSize를 갖는 w가 특정된다.
- 그렇지 않으면, w는 4와 동일하게 설정된다.
Figure 112022109466880-pat00134
- 예측 샘플 predSamplesComb[ x ][ y ]은 다음과 같이 도출된다:
Figure 112022109466880-pat00135
표 8-10 - 위치 nP 및 크기 nS의 함수로서의 w의 사양
Figure 112022109466880-pat00136
화상 재구성 프로세스에 다음을 추가한다
8.5.5 화상 재구성 프로세스
이 프로세스로의 입력은:
- 현재 화상 성분의 좌측-상단(top-left) 샘플에 대한 현재 블록의 좌측-상단 샘플을 특정하는 위치( xCurr, yCurr ),
- 현재 블록의, 폭 및 높이를 각각 특정하는 변수 nCurrSw 및 nCurrSh,
- 현재 블록의 컬러 성분을 특정하는 변수 cIdx,
- 현재 블록의 예측된 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 predSamples,
- 현재 블록의 잔차 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 resSamples이다.
컬러 성분 cIdx의 값에 의존하여, 다음의 할당이 이루어진다:
*- cIdx가 0과 동일하면, recSamples이 재구성된 화상 샘플 어레이 SL에 대응하고, 함수 clipCidx1이 Clip1Y에 대응한다.
- 그렇지 않고, cIdx가 1과 동일하면, recSamples이 재구성된 크로마 샘플 어레이 SCb에 대응하고, 함수 clipCidx1이 Clip1C에 대응한다.
- 그렇지 않으면(cIdx가 2와 동일하면), recSamples이 재구성된 크로마 샘플 어레이 SCr에 대응하고, 함수 clipCidx1이 Clip1C에 대응한다.
Figure 112022109466880-pat00137
그렇지 않으면, 위치 ( xCurr, yCurr )에서 재구성된 샘플 어레이 recSamples의 (nCurrSw)x(nCurrSh) 블록이 다음과 같이 도출된다:
Figure 112022109466880-pat00138
Figure 112022109466880-pat00139
이 절은 매핑 프로세스를 이용한 화상 재구성을 특정한다. 루마 샘플 값에 대한 매핑 프로세스를 이용한 화상 재구성이 8.5.5.1.1에 특정된다. 크로마 샘플 값에 대한 매핑 프로세스를 이용한 화상 재구성이 8.5.5.1.2에 특정된다.
8.5.5.1.1 루마 샘플 값에 대한 매핑 프로세스를 이용한 화상 재구성
이 프로세스로의 입력은:
- 현재 블록의 루마 예측된 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 predSamples,
- 현재 블록의 루마 잔차 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 resSamples이다.
이 프로세스의 출력은:
- (nCurrSw)x(nCurrSh) 매핑된 루마 예측 샘플 어레이 predMapSamples,
- (nCurrSw)x(nCurrSh) 재구성된 루마 샘플 어레이 recSamples이다.
predMapSamples는 다음과 같이 도출된다:
Figure 112022109466880-pat00140
Figure 112022109466880-pat00141
recSamples은 다음과 같이 도출된다:
Figure 112022109466880-pat00142
8.5.5.1.2 크로마 샘플 값에 대한 매핑 프로세스를 이용한 화상 재구성
이 프로세스로의 입력은:
- 현재 블록의 매핑된 루마 예측된 샘플을 특정하는 (nCurrSwx2)x(nCurrShx2) 어레이 매핑된 predMapSamples,
- 현재 블록의 크로마 예측된 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 predSamples,
*- 현재 블록의 크로마 잔차 샘플을 특정하는 (nCurrSw)x(nCurrSh) 어레이 resSamples이다.
이 프로세스의 출력은 재구성된 크로마 샘플 어레이 recSamples이다.
recSamples은 다음과 같이 도출된다:
Figure 112022109466880-pat00143
변수 varScale이 다음과 같이 도출된다:
Figure 112022109466880-pat00144
2. 샘플 값 invAvgLuma의 입력으로
Figure 112022109466880-pat00145
절에 특정된 바와 같은 소구간별 함수 색인의 식별을 호출함으로써, 변수 idxYInv이 도출된다.
3. varScale = ChromaScaleCoef[ idxYInv ]
recSamples은 다음과 같이 도출된다:
Figure 112022109466880-pat00146
Figure 112022109466880-pat00147
8.5.6 화상 역 매핑 프로세스
이 절은, tile_group_reshaper_enabled_flag의 값이 1과 동일할 때, 호출된다. 입력이 재구성된 화상 루마 샘플 어레이 SL이고, 출력이 역 매핑 프로세스 후에 수정된 재구성된 화상 루마 샘플 어레이 S' L이다.
루마 샘플 값에 대한 역 매핑 프로세스가 8.4.6.1에 특정된다.
8.5.6.1 루마 샘플 값의 화상 역 매핑 프로세스
이 프로세스로의 입력이 현재 화상의 좌측-상단 루마 샘플에 대한 루마 샘플 위치를 특정하는 루마 위치( xP, yP )이다.
이 프로세스의 출력은 역 매핑된 루마 샘플 값 invLumaSample이다.
invLumaSample의 값은 다음의 순서화된 단계를 적용함으로써 도출된다:
1. 변수 idxYInv는 루마 샘플 값 SL[ xP ][ yP ]의 입력으로 8.5.6.2 절에 특정된 바와 같은 소구간별 함수 색인의 식별을 호출함으로써 도출된다.
2. reshapeLumaSample의 값은 다음과 같이 도출된다:
Figure 112022109466880-pat00148
3. clipRange = ((reshaper_model_min_bin_idx > 0) && (reshaper_model_max_bin_idx < MaxBinIdx));
clipRange이 1과 동일할 때, 다음이 적용된다:
Figure 112022109466880-pat00149
그렇지 않고 (clipRange이 0과 동일하면), 다음이 적용된다:
Figure 112022109466880-pat00150
8.5.6.2 루마 성분에 대한 소구간별 함수 색인의 식별
이 프로세스로의 입력은 루마 샘플 값 S이다.
이 프로세스의 출력이 샘플 S가 속하는 소구간을 식별하는 색인 idxS이다. 변수 idxS는 다음과 같이 도출된다:
*
Figure 112022109466880-pat00151
idxS ID(identification)을 찾기 위한 대안적인 구현이 다음과 같음에 주의해야 한다:
Figure 112022109466880-pat00152

Claims (5)

  1. 하나 이상의 프로세스로 코딩된 비디오 데이터를 재구성하는 방법으로서,
    입력 코드워드(codeword) 표현의 하나 이상의 코딩된 재성형된(reshaped) 이미지를 포함하는 코딩된 비트스트림을 수신하는 단계;
    상기 코딩된 비트스트림의 상기 하나 이상의 코딩된 재성형된 이미지에 대한 재성형 메타데이터를 수신하는 단계 - 상기 재성형 메타데이터는 디코딩된 크로마 잔차를 크기 조정하기 위한 루마-의존형인 크로마 잔차 크기 조정자 및 포워드(forward) 재성형 함수를 생성하기 위한 매개변수를 포함하고, 상기 포워드 재성형 함수는 이미지의 화소를 제1 코드워드 표현에서 상기 입력 코드워드 표현으로 매핑하고, 상기 재성형 메타데이터는:
    재성형에 사용 중인 최소 빈 색인을 나타내는 제1 매개변수;
    상기 재성형에 사용 중인 활성(active) 최대 빈 색인을 결정하기 위한 제2 매개변수 - 상기 활성 최대 빈 색인은 미리 정의된 최대 빈 색인 이하이고, 상기 활성 최대 빈 색인을 결정하는 것은 상기 미리 정의된 최대 빈 색인 및 상기 제2 매개변수 사이의 차이를 계산하는 것을 포함함 -;
    상기 입력 코드워드 표현의 각 활성 빈에 대한 절대(absoulte) 델타 코드워드 값; 및
    상기 입력 코드워드 표현의 각 활성 빈에 대한 상기 절대 델타 코드워드 값의 부호를 더 포함함 - ;
    상기 재성형 메타데이터에 기초하여 포워드 재성형 함수를 생성하는 것;
    상기 재성형 메타데이터 또는 상기 포워드 재성형 함수에 기초하여 역방향 재성형 함수를 생성하는 것 - 상기 역방향 재성형 함수는 재성형된 이미지의 화소를 상기 입력 코드워드 표현에서 상기 제1 코드워드 표현으로 매핑함 - ; 및
    상기 포워드 재성형 함수, 상기 역방향 재성형 함수, 및 상기 크로마 잔차 크기 조정자에 기초하여 상기 코딩된 비트스트림을 디코딩하는 것을 포함하는, 방법.
  2. 제1항에 있어서, 상기 포워드 재성형 함수는 상기 재성형 메타데이터에 의해 도출되는 선형 세그먼트를 갖는 소구간별 선형 함수(piece-wise linear function)로서 재구성되는, 방법.
  3. 프로세서로 비디오 시퀀스를 적응적으로 재성형하는 방법으로서, 상기 방법은:
    프로세서로 제1 코드워드 표현의 입력 이미지에 액세스하는 것;
    상기 입력 이미지의 화소를 제2 코드워드 표현으로 매핑하는 포워드 재성형 함수를 표현하기 위한 재성형 매개변수를 생성하는 것; 및
    상기 입력 이미지 및 상기 포워드 재성형 함수에 기초하여 코딩된 비트스트림을 생성하는 것을 포함하고,
    상기 재성형 매개변수는:
    재성형을 위한 활성 최대 코드워드 빈 색인을 결정하기 위한 제1 매개변수 - 상기 활성 최대 코드워드 빈 색인은 미리 정의된 최대 코드워드 빈 색인 이하임 -;
    상기 재성형에 사용 중인 최소 코드워드 빈 색인을 나타내는 제2 매개변수;
    상기 제2 코드워드 표현의 각 활성 코드워드 빈에 대한 절대 델타 코드워드 값;
    상기 제2 코드워드 표현의 각 활성 빈에 대한 상기 절대 델타 코드워드 값의 부호; 및
    하나 이상의 루마-의존형인 크로마 잔차 크기 조정 매개변수를 포함하는, 방법.
  4. 제3항에 있어서, 상기 포워드 재성형 함수는 상기 재성형 매개변수에 의해 특징지어지는 선형 세그먼트를 갖는 소구간별 선형 함수를 포함하는, 방법.
  5. 코딩된 비트스트림을 저장하는 컴퓨터-판독가능 기록 매체로서, 상기 코딩된 비트스트림은:
    입력 코드워드 표현의 하나 이상의 코딩된 재성형된 이미지; 및
    상기 코딩된 비트스트림의 상기 하나 이상의 코딩된 재성형된 이미지에 대한 재성형 메타데이터를 포함하고,
    상기 재성형 메타데이터는 디코딩된 크로마 잔차를 크기 조정하기 위한 루마-의존형인 크로마 잔차 크기 조정자 및 포워드 재성형 함수를 생성하기 위한 매개변수를 포함하고, 상기 포워드 재성형 함수는 이미지의 화소를 제1 코드워드 표현에서 상기 입력 코드워드 표현으로 매핑하고, 상기 재성형 메타데이터는:
    재성형에 사용 중인 최소 빈 색인을 나타내는 제1 매개변수;
    상기 재성형에 사용 중인 활성 최대 빈 색인을 결정하기 위한 제2 매개변수 - 상기 활성 최대 빈 색인은 미리 정의된 최대 빈 색인 이하이고, 상기 활성 최대 빈 색인을 결정하는 것은 상기 미리 정의된 최대 빈 색인 및 상기 제2 매개변수 사이의 차이를 계산하는 것을 포함함 -;
    상기 입력 코드워드 표현의 각 활성 빈에 대한 절대 델타 코드워드 값; 및
    상기 입력 코드워드 표현의 각 활성 빈에 대한 상기 절대 델타 코드워드 값의 부호
    를 더 포함하는, 컴퓨터-판독가능 기록 매체.
KR1020227036150A 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형 KR102487032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237000612A KR102625573B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US201862630385P 2018-02-14 2018-02-14
US62/630,385 2018-02-14
US201862691366P 2018-06-28 2018-06-28
US62/691,366 2018-06-28
US201862726608P 2018-09-04 2018-09-04
US62/726,608 2018-09-04
US201862739402P 2018-10-01 2018-10-01
US62/739,402 2018-10-01
US201862772228P 2018-11-28 2018-11-28
US62/772,228 2018-11-28
US201862782659P 2018-12-20 2018-12-20
US62/782,659 2018-12-20
US201962792122P 2019-01-14 2019-01-14
US62/792,122 2019-01-14
PCT/US2019/017891 WO2019160986A1 (en) 2018-02-14 2019-02-13 Image reshaping in video coding using rate distortion optimization
KR1020227028467A KR102457485B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227028467A Division KR102457485B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237000612A Division KR102625573B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Publications (2)

Publication Number Publication Date
KR20220145423A KR20220145423A (ko) 2022-10-28
KR102487032B1 true KR102487032B1 (ko) 2023-01-11

Family

ID=65529870

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020237003666A KR20230021187A (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020237000612A KR102625573B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020207023477A KR102409649B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020227028467A KR102457485B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020227019850A KR102435014B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020227036150A KR102487032B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1020237003666A KR20230021187A (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020237000612A KR102625573B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020207023477A KR102409649B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020227028467A KR102457485B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR1020227019850A KR102435014B1 (ko) 2018-02-14 2019-02-13 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형

Country Status (18)

Country Link
US (2) US11395009B2 (ko)
EP (1) EP3753253A1 (ko)
JP (3) JP7024102B2 (ko)
KR (6) KR20230021187A (ko)
CN (6) CN117097903A (ko)
AU (3) AU2019222715B2 (ko)
BR (1) BR112020015394A2 (ko)
CA (2) CA3142715A1 (ko)
CL (3) CL2020002090A1 (ko)
IL (3) IL276062B2 (ko)
MA (1) MA51865A (ko)
MX (1) MX2020008499A (ko)
RU (1) RU2741586C1 (ko)
SG (1) SG11202006779RA (ko)
TW (2) TWI787460B (ko)
UA (1) UA126871C2 (ko)
WO (1) WO2019160986A1 (ko)
ZA (2) ZA202104693B (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097903A (zh) * 2018-02-14 2023-11-21 杜比实验室特许公司 在视频编码中利用率失真优化进行图像再成形
KR102230776B1 (ko) * 2018-02-28 2021-03-22 돌비 레버러토리즈 라이쎈싱 코오포레이션 이미지/비디오 처리를 위한 선형 인코더
US11647188B2 (en) * 2019-01-04 2023-05-09 Interdigital Vc Holdings, Inc. Inverse mapping simplification
BR112021014202A2 (pt) 2019-02-01 2021-09-21 Beijing Bytedance Network Technology Co., Ltd. Sinalização de informações de reformulação em malha usando conjuntos de parâmetros
CN113994668A (zh) 2019-02-01 2022-01-28 北京字节跳动网络技术有限公司 基于环路整形的滤波过程
BR112021013611A2 (pt) 2019-02-28 2021-09-14 Interdigital Vc Holdings, Inc. Método e dispositivo para codificação e decodificação de imagens
KR102606330B1 (ko) * 2019-02-28 2023-11-24 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
US11924431B2 (en) * 2019-03-01 2024-03-05 Lg Electronics Inc. LMCS-based image coding method and device therefor
CN117560509A (zh) * 2019-03-04 2024-02-13 北京字节跳动网络技术有限公司 视频处理中滤波信息的两级信令
WO2020180143A1 (ko) * 2019-03-07 2020-09-10 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
JP7277599B2 (ja) * 2019-03-08 2023-05-19 北京字節跳動網絡技術有限公司 映像処理におけるモデルベース再整形に対する制約
EP3939322A1 (en) * 2019-03-13 2022-01-19 InterDigital VC Holdings, Inc. In-loop reshaping adaptive reshaper direction
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020182219A1 (en) * 2019-03-14 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Signaling and syntax for in-loop reshaping information
WO2020192613A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on in-loop reshaping parameter sets
AU2020256658A1 (en) 2019-04-12 2021-10-28 Beijing Bytedance Network Technology Co., Ltd. Most probable mode list construction for matrix-based intra prediction
WO2020211807A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Matrix derivation in intra coding mode
WO2020211869A1 (en) 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation in cross component mode
EP3935855A4 (en) 2019-04-23 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. METHOD OF CROSS-COMPONENT DEPENDENCE REDUCTION
WO2020221372A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
WO2020221373A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using filtering
KR102641796B1 (ko) 2019-05-08 2024-03-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차-성분 코딩의 적용가능성에 대한 조건들
WO2020231225A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 색차블록을 복원하는 방법 및 영상 복호화 장치
WO2020233663A1 (en) 2019-05-22 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using upsampling
CN114051735A (zh) 2019-05-31 2022-02-15 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的一步下采样过程
US20220256174A1 (en) * 2019-06-03 2022-08-11 Lg Electronics Inc. Video or image coding based on mapped luma component and scaled chroma component
EP3963885A4 (en) 2019-06-05 2022-12-14 Beijing Bytedance Network Technology Co., Ltd. DETERMINING CONTEXT FOR MATRIX-BASED INTRAPREDICTION
KR20220024006A (ko) 2019-06-22 2022-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 잔차 스케일링을 위한 신택스 요소
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
US11140388B2 (en) * 2019-09-06 2021-10-05 Tencent America LLC Method and apparatus for non-linear loop filtering
US11172237B2 (en) 2019-09-11 2021-11-09 Dolby Laboratories Licensing Corporation Inter-layer dynamic range scalability for HDR video
US11277623B2 (en) 2019-09-17 2022-03-15 Dolby Laboratories Licensing Corporation Block-level lossless video coding using in-loop reshaping
KR20220082847A (ko) 2019-10-28 2022-06-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 성분에 기초한 신택스 시그널링 및 파싱
CN114747224B (zh) * 2019-11-27 2023-12-01 杜比实验室特许公司 一种用于生成整形函数的方法、装置以及存储介质
EP4107962A4 (en) 2020-02-21 2023-07-26 Alibaba Group Holding Limited METHODS OF PROCESSING CHROMA SIGNALS
US11622122B2 (en) 2020-03-19 2023-04-04 FG Innovation Company Limited Video coding device and method for determining an MVP candidate list
EP4128770A4 (en) * 2020-03-27 2024-04-10 Beijing Dajia Internet Information Tech Co Ltd METHODS AND DEVICES FOR PREDICTION-DEPENDENT RESIDUAL SCALING FOR VIDEO CODING
US11601657B2 (en) * 2020-04-02 2023-03-07 Qualcomm Incorporated LUMA mapping with chroma scaling (LMCS) in video coding
WO2021222871A1 (en) * 2020-04-30 2021-11-04 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for prediction dependent residual scaling for video coding
WO2021223205A1 (en) 2020-05-08 2021-11-11 Huawei Technologies Co., Ltd. Encoder, decoder, system, and method for determining tone mapping curve parameters
US20240098293A1 (en) * 2022-09-20 2024-03-21 Qualcomm Incorporated Encoding high dynamic range video data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110243232A1 (en) 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
WO2016164235A1 (en) 2015-04-06 2016-10-13 Dolby Laboratories Licensing Corporation In-loop block-based image reshaping in high dynamic range video coding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
BRPI1009443B1 (pt) 2009-03-13 2021-08-24 Dolby Laboratories Licensing Corporation Método de geração de parâmetros de mapeamento de tons inverso, método de compactação de dados de vídeo e método para geração de um fluxo de bits de saída a partir de um fluxo de bits de entrada
US9438904B2 (en) * 2012-01-19 2016-09-06 Futurewei Technologies, Inc. Reduced look-up table for LM mode calculation
US9076224B1 (en) 2012-08-08 2015-07-07 Dolby Laboratories Licensing Corporation Image processing for HDR images
US9479782B2 (en) 2012-09-28 2016-10-25 Qualcomm Incorporated Supplemental enhancement information message coding
KR102149115B1 (ko) 2012-11-16 2020-08-27 인터디지털 브이씨 홀딩스 인코포레이티드 높은 동적 범위 이미지들의 프로세싱
PL2941872T3 (pl) * 2013-01-02 2019-03-29 Dolby Laboratories Licensing Corporation Kompatybilne wstecznie kodowanie dla sygnałów wideo o ultra wysokiej rozdzielczości z rozszerzonym zakresem dynamicznym
US9704226B2 (en) 2013-03-14 2017-07-11 Drs Network & Imaging Systems, Llc System and method for fast digital signal dynamic range reduction using adaptive histogram compaction and stabilization
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
JP6038360B2 (ja) * 2013-06-17 2016-12-07 ドルビー ラボラトリーズ ライセンシング コーポレイション エンハンストダイナミックレンジ信号の階層符号化のための適応的再構成
WO2016140954A1 (en) * 2015-03-02 2016-09-09 Dolby Laboratories Licensing Corporation Content-adaptive perceptual quantizer for high dynamic range images
RU2666234C1 (ru) * 2015-03-20 2018-09-06 Долби Лэборетериз Лайсенсинг Корпорейшн Аппроксимация восстановления формы сигнала
CN107852511B (zh) 2015-07-16 2020-09-22 杜比实验室特许公司 用于hdr和宽色域信号的信号整形和编码
WO2017053432A1 (en) 2015-09-21 2017-03-30 Vid Scale, Inc. Inverse reshaping for high dynamic range video coding
WO2017053849A1 (en) 2015-09-23 2017-03-30 Arris Enterprises Llc Single layer high dynamic range coding with standard dynamic range backward compatibility
CN106937121B (zh) 2015-12-31 2021-12-10 中兴通讯股份有限公司 图像解码和编码方法、解码和编码装置、解码器及编码器
US10165275B2 (en) 2016-01-26 2018-12-25 Dolby Laboratories Licensing Corporation Content-adaptive reshaping for high dynamic range images
US10032262B2 (en) * 2016-02-02 2018-07-24 Dolby Laboratories Licensing Corporation Block-based content-adaptive reshaping for high dynamic range images
EP3226563B1 (en) 2016-03-30 2021-06-23 Dolby Laboratories Licensing Corp. Chroma reshaping
EP3244616A1 (en) * 2016-05-13 2017-11-15 Thomson Licensing A method for encoding an input video comprising a luma component and two chroma components, the method comprising reshaping of said input video based on reshaping functions
CN117793378A (zh) * 2017-06-29 2024-03-29 杜比实验室特许公司 整合的图像整形和视频编码
CN117097903A (zh) 2018-02-14 2023-11-21 杜比实验室特许公司 在视频编码中利用率失真优化进行图像再成形

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110243232A1 (en) 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
WO2016164235A1 (en) 2015-04-06 2016-10-13 Dolby Laboratories Licensing Corporation In-loop block-based image reshaping in high dynamic range video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
F. Pu, et al. In-loop Reshaping for SDR Video. JVET of ITU-T and ISO/IEC. JVET-K0309 Ver.1, Jul. 3, 2018, pp.1-7

Also Published As

Publication number Publication date
CN117135355A (zh) 2023-11-28
CN111713108B (zh) 2023-10-20
UA126871C2 (uk) 2023-02-15
RU2741586C1 (ru) 2021-01-27
MA51865A (fr) 2020-12-23
RU2021100103A3 (ko) 2021-10-19
KR20220087569A (ko) 2022-06-24
IL300136B1 (en) 2023-10-01
US11395009B2 (en) 2022-07-19
KR102625573B1 (ko) 2024-01-16
SG11202006779RA (en) 2020-08-28
AU2021282439B2 (en) 2023-03-30
AU2019222715A1 (en) 2020-08-27
ZA202206622B (en) 2023-11-29
IL300136B2 (en) 2024-02-01
IL300136A (en) 2023-03-01
CA3091190A1 (en) 2019-08-22
AU2019222715B2 (en) 2021-09-16
JP7024102B2 (ja) 2022-02-22
CA3142715A1 (en) 2019-08-22
KR102409649B1 (ko) 2022-06-22
KR20230010062A (ko) 2023-01-17
CN117082248A (zh) 2023-11-17
JP2023166582A (ja) 2023-11-21
KR20230021187A (ko) 2023-02-13
TWI787460B (zh) 2022-12-21
TW202320544A (zh) 2023-05-16
IL276062A (en) 2020-08-31
CL2021003512A1 (es) 2022-08-19
KR20220145423A (ko) 2022-10-28
AU2023203814A1 (en) 2023-07-13
JP2022058944A (ja) 2022-04-12
JP2021513284A (ja) 2021-05-20
CN111713108A (zh) 2020-09-25
RU2021100103A (ru) 2021-02-16
US20210211738A1 (en) 2021-07-08
IL276062B1 (en) 2023-05-01
WO2019160986A1 (en) 2019-08-22
KR20200101990A (ko) 2020-08-28
KR102435014B1 (ko) 2022-08-23
EP3753253A1 (en) 2020-12-23
BR112020015394A2 (pt) 2020-12-08
IL305463A (en) 2023-10-01
IL276062B2 (en) 2023-09-01
CN117082246A (zh) 2023-11-17
TW201941606A (zh) 2019-10-16
MX2020008499A (es) 2020-09-25
ZA202104693B (en) 2023-01-25
CA3091190C (en) 2023-12-05
JP7353401B2 (ja) 2023-09-29
KR20220120713A (ko) 2022-08-30
CN117097903A (zh) 2023-11-21
KR102457485B1 (ko) 2022-10-24
US20220224946A1 (en) 2022-07-14
CL2020002090A1 (es) 2020-10-23
CN117082247A (zh) 2023-11-17
AU2021282439A1 (en) 2021-12-23
CL2021000102A1 (es) 2021-07-02

Similar Documents

Publication Publication Date Title
KR102487032B1 (ko) 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
KR102580314B1 (ko) 통합된 이미지 정형 및 비디오 코딩
CN111194551A (zh) 利用内容自适应空间变化量化的视频译码
RU2772104C2 (ru) Преобразование изображения в кодировании видео с использованием оптимизации зависимости искажения от скорости передачи
OA20172A (en) Image reshaping in video coding using rate distortion optimization.

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
AMND Amendment
X701 Decision to grant (after re-examination)