KR20230140450A - 디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하기 위한 메타데이터 - Google Patents

디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하기 위한 메타데이터 Download PDF

Info

Publication number
KR20230140450A
KR20230140450A KR1020237026391A KR20237026391A KR20230140450A KR 20230140450 A KR20230140450 A KR 20230140450A KR 1020237026391 A KR1020237026391 A KR 1020237026391A KR 20237026391 A KR20237026391 A KR 20237026391A KR 20230140450 A KR20230140450 A KR 20230140450A
Authority
KR
South Korea
Prior art keywords
picture
blocks
pictures
energy consumption
metadata
Prior art date
Application number
KR1020237026391A
Other languages
English (en)
Inventor
에두아드 프랑수아
밀로스 라도사블제빅
에릭 레인하드
크리스텔 샤마렛
Original Assignee
인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 filed Critical 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Publication of KR20230140450A publication Critical patent/KR20230140450A/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/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/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/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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

Landscapes

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

Abstract

픽처의 시퀀스를 나타내는 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 데이터 구조 메타데이터에서 시그널링하는 단계(102); 및 상기 비디오 스트림의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 데이터 구조를 상기 비디오 스트림에 연관시키는 단계(103)를 포함하되; 적어도 하나의 인코딩 도구 또는 특징은: 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는, 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는, 정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는, 방법.

Description

디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하기 위한 메타데이터
본 실시예 중 적어도 하나는 일반적으로 디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하고 및 획득하기 위한 방법 및 장치에 관한 것이다.
에너지 소비는 말단 디바이스에 대한, 특히 제한된 에너지 전력 리소스를 갖는 모바일 세트에 대한 핵심 문제이다. TV 세트에 대해서도, 그들의 에너지 소비를 제한하는 것은 적절한 의도이다. 비디오 디코딩이 이러한 디바이스의 에너지 소비의 주요 부분이 아니더라도(통상적으로 모바일폰에서 약 15%인 반면, 디스플레이는 50%에 가깝다), 그의 에너지 영향을 감소시킬 수 있다는 것은, 비디오 렌더링과 관련된 임의의 프로세스에 대해서와 마찬가지로, 유익하다.
녹색 MPEG 표준(ISO-IEC-23001-11)(이하에서 녹색 MPEG 로 불림)은, 디코더가 그의 에너지 사용을 최적화할 수 있게 하는, 비트스트림에 관련된 표준 AVC(ISO/CEI 14496-10/ITU-T H.264) 또는 표준 HEVC(ISO/IEC 23008-2 - MPEG-H 파트 2, 고효율 비디오 코딩/ITU-T H.265) 복잡성 정보 또는 메트릭(CM)을 준수하는 디코더에 표시하기 위한 메타데이터를 정의한다. 메타데이터는 AVC 및 HEVC 디자인에 정확하게 적응된다.
VVC(다용도 비디오 코딩)로 불리는 새로운 비디오 코딩 표준은 공동 비디오 전문가 팀(JVET)으로 알려진 ITU-T 및 ISO/IEC 전문가의 공동 협력 팀에 의해 최근에 개발되었다. VVC는 원래 AVC 및 HEVC용으로 특정된 CM 메타데이터의 직접 사용을 방지하는 많은 새로운 도구 및 특징을 포함한다. VVC의 새로운 도구 및 특징은 AVC 또는 HEVC 디코딩 프로세스와 비교하는 VVC 디코딩 프로세스의 복잡성을 상당히 증가시켰다. 이렇게 복잡성이 증가함에 따라 에너지 소비를 제어할 수 있는 도구의 필요성이 더욱 더 중요해졌다.
상기 이슈를 극복할 수 있게 하는 솔루션을 제안하는 것이 바람직하다. 특히, VVC의 새로운 도구 및 특징을 포함하는 표준에 더 잘 적응된 CM 메타데이터를 제안하는 것이 바람직하다.
제1 양태에서, 본 실시예 중 하나 이상은 픽처의 시퀀스를 나타내는 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 데이터 구조 메타데이터에서 시그널링하는 단계; 및 상기 비디오 스트림의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 데이터 구조를 비디오 스트림에 연관시키는 단계를 포함하되; 적어도 하나의 인코딩 도구 또는 특징은 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는, 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는, 정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는 방법을 제공한다.
일 실시예에서, 데이터 구조는 SEI 메시지이다.
일 실시예에서, 에너지 소비를 나타내는 정보는 복수의 픽처를 포함하는 픽처의 서브세트에 응답하는 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존한다.
일 실시예에서, 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 적어도 하나의 인코딩 도구 또는 특징은: 엔트로피 디코딩; 역변환; 인트라 예측 및 인트라 블록 디코딩; 인터 예측 및 인터 블록 디코딩; 시간적 예측에 대한 보간; 루프내 필터링; 서브픽처의 사용 중 적어도 하나에 연관된다.
일 실시예에서, 에너지 소비를 나타내는 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능하다.
일 실시예에서, 에너지 소비를 나타내는 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 방법이 적용되고;
에너지 소비를 나타내는 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 방법이 적용된다.
일 실시예에서, 픽처에서 주어진 크기의 블록의 총 수는 픽처의 적어도 하나의 서브세트에 대한 메타데이터에서 시그널링된다.
제2 양태에서, 본 실시예 중 하나 이상은: 비디오 스트림에 의해 표현되는 픽처의 시퀀스의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 비디오 스트림에 연관되고 상기 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 메타데이터를 포함하는 데이터 구조를 획득하는 단계를 포함하되, 적어도 하나의 인코딩 도구 또는 특징은 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는, 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는, 정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는 방법을 제공한다.
일 실시예에서, 데이터 구조는 SEI 메시지이다.
일 실시예에서, 에너지 소비를 나타내는 정보는 복수의 픽처를 포함하는 픽처의 서브세트에 응답하는 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존한다.
일 실시예에서, 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 적어도 하나의 인코딩 도구 또는 특징은: 엔트로피 디코딩; 역변환; 인트라 예측 및 인트라 블록 디코딩; 인터 예측 및 인터 블록 디코딩; 시간 예측에 대한 보간; 루프내 필터링; 서브픽처의 사용 중 적어도 하나에 연관된다.
일 실시예에서, 에너지 소비를 나타내는 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 카운팅된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능하다.
일 실시예에서,
에너지 소비를 나타내는 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 방법이 적용되고;
에너지 소비를 나타내는 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 방법이 적용된다.
일 실시예에서, 픽처에서 주어진 크기의 블록의 총 수는 픽처의 적어도 하나의 서브세트에 대한 메타데이터에서 시그널링된다.
제3 양태에서, 본 실시예 중 하나 이상은: 픽처의 시퀀스를 나타내는 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 데이터 구조 메타데이터에서 시그널링하기 위한 수단; 및 상기 비디오 스트림의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 데이터 구조를 상기 비디오 스트림에 연관시키기 위한 수단을 포함하되; 적어도 하나의 인코딩 도구 또는 특징은 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는, 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는, 정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는 디바이스를 제공한다.
일 실시예에서, 데이터 구조는 SEI 메시지이다.
일 실시예에서, 에너지 소비를 나타내는 정보는 복수의 픽처를 포함하는 픽처의 서브세트에 응답하는 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존한다.
일 실시예에서, 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 적어도 하나의 인코딩 도구 또는 특징은: 엔트로피 디코딩; 역변환; 인트라 예측 및 인트라 블록 디코딩; 인터 예측 및 인터 블록 디코딩; 시간 예측에 대한 보간; 루프내 필터링; 서브픽처의 사용 중 적어도 하나에 연관된다.
일 실시예에서, 에너지 소비를 나타내는 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 카운팅된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능하다.
일 실시예에서,
에너지 소비를 나타내는 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 수단이 사용되고;
에너지 소비를 나타내는 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 수단이 사용된다.
일 실시예에서, 픽처에서 주어진 크기의 블록의 총 수는 픽처의 적어도 하나의 서브세트에 대한 메타데이터에서 시그널링된다.
제4 양태에서, 본 실시예 중 하나 이상은: 비디오 스트림에 의해 표현되는 픽처의 시퀀스의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 비디오 스트림에 연관되고 상기 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 메타데이터를 포함하는 데이터 구조를 획득하기 위한 수단을 포함하되, 적어도 하나의 인코딩 도구 또는 특징은 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는, 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는, 정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는 디바이스를 제공한다.
일 실시예에서, 데이터 구조는 SEI 메시지이다.
일 실시예에서, 에너지 소비를 나타내는 정보는 복수의 픽처를 포함하는 픽처의 서브세트에 응답하는 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존한다.
일 실시예에서, 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 적어도 하나의 인코딩 도구 또는 특징은: 엔트로피 디코딩; 역변환; 인트라 예측 및 인트라 블록 디코딩; 인터 예측 및 인터 블록 디코딩; 시간적 예측에 대한 보간; 루프내 필터링; 서브픽처의 사용 중 적어도 하나에 연관된다.
일 실시예에서, 에너지 소비를 나타내는 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능하다.
일 실시예에서,
에너지 소비를 나타내는 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 수단이 적용되고;
에너지 소비를 나타내는 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 수단이 적용된다.
일 실시예에서, 픽처에서 주어진 크기의 블록의 총 수는 픽처의 적어도 하나의 서브세트에 대한 메타데이터에서 시그널링된다.
제5 양태에서, 본 실시예 중 하나 이상은 제3 또는 제4 양태에 따른 디바이스를 포함하는 장치를 제공한다.
제6 양태에서, 본 실시예 중 하나 이상은 제1 양태의 방법에 의해 또는 제3 양태의 디바이스에 의해 생성된 신호를 제공한다.
제7 양태에서, 본 실시예 중 하나 이상은 제1 또는 제2 양태에 따른 방법을 구현하기 위한 프로그램 코드 명령어를 포함하는 컴퓨터 프로그램을 제공한다.
제8 양태에서, 본 실시예 중 하나 이상은 제1 또는 제2 양태에 따른 방법을 구현하기 위한 프로그램 코드 명령어를 저장하는 비일시적 정보 저장 매체를 제공한다.
도 1a는 실시예가 구현될 수 있는 맥락의 일례를 설명한다.
도 1b는 다양한 실시예가 구현될 수 있는 프로세스의 일례를 예시한다.
도 2는 원래 비디오의 픽셀의 픽처가 겪는 파티셔닝의 일례를 개략적으로 예시한다.
도 3은 비디오 스트림을 인코딩하기 위한 방법을 개략적으로 도시한다.
도 4는 인코딩된 비디오 스트림을 디코딩하기 위한 방법을 개략적으로 도시한다.
도 5a는 다양한 양태 및 실시예가 구현되는 인코딩 모듈 또는 디코딩 모듈을 구현할 수 있는 처리 모듈의 하드웨어 아키텍처의 일례를 개략적으로 예시한다.
도 5b는 다양한 양태 및 실시예가 구현되는 제1 시스템의 일례의 블록도를 예시한다.
도 5c는 다양한 양태 및 실시예가 구현되는 제2 시스템의 일례의 블록도를 예시한다.
도 6은 실시예를 개략적으로 예시한다.
도 7은 다양한 양태 및 실시예가 구현되는 디코딩 프로세스의 블록도를 예시한다.
도 8a는 일 실시예의 시그널링 프로세스의 일례를 예시한다
도 8b는 일 실시예의 디코딩 프로세스의 일례를 예시한다.
실시예의 다음의 예는 VVC와 유사한 비디오 포맷의 맥락에서 설명된다. 그러나, 이러한 실시예는 VVC에 상응하는 비디오 코딩/디코딩 방법으로 제한되지 않는다. 이들 실시예는 특히 AVC, HEVC 및 VVC에 사용되는 도구 또는 특징 중 적어도 하나를 사용하여 임의의 비디오 포맷에 적응된다. 이러한 포맷은 예를 들어 표준 EVC(에센셜 비디오 코딩/MPEG-5), AV1 및 VP9를 포함한다.
도 2, 도 3 및 도 4는 비디오 포맷의 일례를 소개한다.
도 2는 원래 비디오(20)의 픽셀(21)의 픽처가 겪는 파티셔닝의 일례를 예시한다. 여기서, 픽셀은 3개의 성분, 즉 1개의 휘도 성분 및 2개의 색차 성분으로 구성된다고 간주된다. 그러나, 단지 휘도 성분 또는 추가 깊이 성분과 같은 더 적거나 더 많은 성분을 포함하는 다른 유형의 픽셀이 가능하다.
픽처는 복수의 코딩 엔티티로 분할된다. 첫째, 도 2에서 참조번호 23에 의해 표현되는 바와 같이, 픽처는 코딩 트리 단위(CTU)로 불리는 블록의 그리드로 분할된다. CTU는 색차 샘플의 2개의 상응하는 블록과 함께 휘도 샘플의 블록으로 이루어진다. N은 일반적으로, 예를 들어, "128"의 최대 값을 갖는 2의 거듭제곱이다. 둘째, 픽처는 CTU의 하나 이상의 그룹으로 분할된다. 예를 들어, 그것은 하나 이상의 타일 행들 및 타일 열로 분할될 수 있으며, 타일은 픽처의 직사각형 영역을 커버하는 CTU의 시퀀스이다. 일부 경우에서, 타일은 하나 이상의 브릭(brick)으로 분할될 수 있으며, 이들 각각은 타일 내의 CTU의 적어도 하나의 행으로 이루어진다. 타일의 특정 유형은 다른 타일로부터의 샘플로부터의 공간적 및 시간적 예측을 방지한다. 이들 타일은 서브픽처로 불린다. 타일 및 브릭의 개념을 넘어, 슬라이스로 불리는, 다른 인코딩 엔티티가 존재하는데, 이는 픽처의 적어도 하나의 타일 또는 타일의 적어도 하나의 브릭을 포함할 수 있다.
도 2의 예에서, 참조번호 22에 의해 표현되는 바와 같이, 픽처(21)는 래스터-스캔 슬라이스 모드의 3개의 슬라이스 S1, S2 및 S3으로 분할되며, 각각은 복수의 타일을 포함하고(미표현), 각각의 타일은 단지 하나의 브릭을 포함한다.
도 1에서 참조번호 24에 의해 표현된 바와 같이, CTU는 코딩 단위(CU)로 불리는 하나 이상의 서브-블록의 계층구조적 트리의 형태로 파티셔닝될 수 있다. CTU는 계층구조적 트리의 루트(즉, 부모 노드)이고, 복수의 CU(즉, 자식 노드)로 파티셔닝될 수 있다. 각각의 CU는 그것이 더 작은 CU로 추가로 파티셔닝되지 않은 경우에 계층구조적 트리의 리프가 되거나, 또는 그것이 추가로 파티셔닝되는 경우에 더 작은 CU(즉, 자식 노드)의 부모 노드가 된다.
도 1의 예에서, CTU(14)는 먼저 사진 트리 유형 파티셔닝을 사용하여 "4"개의 정사각형 CU로 파티셔닝된다. 상부 좌측 CU는, 그것이 추가로 파티셔닝되지 않기 때문에, 즉 그것이 임의의 다른 CU의 부모 노드가 아니기 때문에, 계층구조적 트리의 리프이다. 상부 우측 CU는 사진 트리 유형 파티셔닝을 다시 사용하여 "4"개의 더 작은 정사각형 CU로 추가로 파티셔닝된다. 하단 우측 CU는 이진 트리 유형 파티셔닝을 사용하여 "2"개의 직사각형 CU로 수직으로 파티셔닝된다. 하단 좌측 CU는 삼진 트리 유형 파티셔닝을 사용하여 "3"개의 직사각형 CU로 수직으로 파티셔닝된다. 직사각형 CU는 AVC 및 HEVC에서 이용가능하지 않은 VVC의 새로운 특징임을 유의할 수 있다.
픽처의 코딩 동안, 파티셔닝은 적응적이며, 각각의 CTU는 CTU 기준의 압축 효율을 최적화하기 위해 파티셔닝된다.
HEVC에서 예측 단위(PU) 및 변환 단위(TU)의 개념이 등장했다. 실제로, HEVC에서, 예측(즉, PU) 및 변환(즉, TU)에 사용되는 코딩 엔티티는 CU의 세분일 수 있다. 예를 들어, 도 1에 표현된 바와 같이, 크기 의 CU는 크기 또는 크기 의 PU(2411)로 분할될 수 있다. 또한, 상기 CU는 크기 의 "4"개의 TU(2412)로 또는 크기 의 "16"개의 TU로 분할될 수 있다.
일부 특정 경우를 제외하고, VVC에서, TU와 PU의 프론티어가 CU의 프론티어에 정렬됨을 유의할 수 있다. 결과적으로, CU는 일반적으로 하나의 TU 및 하나의 PU를 포함한다.
본 출원에서, 용어 "블록" 또는 "픽처 블록"은 CTU, CU, PU 및 TU 중 어느 하나를 지칭하는 데 사용될 수 있다. 또한, 용어 "블록" 또는 "픽처 블록"은 H.264/AVC에서 또는 다른 비디오 코딩 표준에서 특정된 바와 같이 매크로블록, 파티션, 및 서브-블록을 지칭하기 위해, 그리고 더 일반적으로, 수많은 크기의 샘플의 어레이를 지칭하기 위해 사용될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어는 상호교환가능하게 사용될 수 있고, "픽셀" 및 "샘플"이라는 용어는 상호교환가능하게 사용될 수 있으며, "이미지", "픽처", "서브픽처", "슬라이스" 및 "프레임"이라는 용어는 상호교환가능하게 사용될 수 있다. 반드시 그렇지는 않지만, 일반적으로, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
도 3은 인코딩 모듈에 의해 실행되는 비디오 스트림을 인코딩하기 위한 방법을 개략적으로 도시한다. 이러한 인코딩하기 위한 방법의 변형이 고려되지만, 도 3의 인코딩하기 위한 방법은 모든 예상되는 변형을 기술하지 않으면서 명확성을 위해 후술된다.
인코딩되기 전에, 원래 비디오 시퀀스의 현재 원래 이미지는 전처리를 거칠 수 있다. 예를 들어, 301 단계에서, (예: 하나의 색상 성분의 히스토그램 등화를 사용하여) 압축에 대해 보다 탄력적인 신호 분포를 얻기 위해 색상 변환(예: RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환)이 현재 원래 픽처에 적용되거나, 현재 원래 픽처 성분에 리매핑이 적용된다. 또한, 전처리(301)는 리샘플링(다운-샘플링 또는 업-샘플링)을 포함할 수 있다. 리샘플링은 일부 픽처에 적용될 수 있어서, 생성된 비트스트림은 원래 해상도에서의 픽처 및 다른 해상도에서의 픽처(또는 적어도 2개의 상이한 해상도에서의 적어도 픽처)를 포함할 수 있다. 리샘플링은 일반적으로 다운-샘플링으로 이루어지고, 생성된 비트스트림의 비트레이트를 감소시키는 데 사용된다. 그럼에도 불구하고, 업-샘플링이 또한 가능하다. 전처리에 의해 획득된 픽처는 다음에서 전처리된 픽처로 지칭된다.
전처리된 픽처의 인코딩은, 도 1과 관련하여 설명된 바와 같이, 302 단계 동안 전처리된 픽처의 파티셔닝으로 시작한다. 따라서, 전처리된 픽처는 CTU, CU, PU, TU 등으로 파티셔닝된다. 각각의 블록에 대해, 인코딩 모듈은 인트라 예측과 인터 예측 사이에서 코딩 모드를 결정한다.
인트라 예측은, 인트라 예측 방법에 따라, 303 단계 동안, 코딩될 현재 블록의 인과적 부근에 위치한 재구성된 블록의 픽셀로부터 도출된 예측 블록으로부터 현재 블록의 픽셀을 예측하는 것으로 이루어진다. 인트라 예측의 결과는 부근에서 블록의 어느 픽처를 사용할지를 나타내는 예측 방향, 및 현재 블록과 예측 블록 사이의 차이의 계산에 기인한 잔차 블록이다. 최근에, 새로운 인트라 예측 모드가 제안되었고 VVC에서 도입되었다. 이러한 새로운 인트라 예측 모드는 다음을 포함한다:
Figure pct00007
예측할 블록의 좌측 및 상부에 재구성된 이웃 경계 샘플로부터 인트라 예측기를 생성하기 위한 매트릭스를 사용하는 것으로 이루어진 MIP(매트릭스 가중 인트라 예측);
블록 크기에 따라 루마 인트라 예측된 블록을 수직으로 또는 수평으로 2개 또는 4개의 서브-파티션으로 분할하는 ISP(인트라 서브-파티션);
CU의 크로마 샘플이 선형 모델을 사용함으로써 동일한 CU의 재구성된 루마 샘플에 기초하여 예측되는 CCLM(교차-성분 선형 모델) 예측;
동일한 픽처의 다른 블록으로부터 픽처 내의 블록을 예측하는 것으로 이루어진 IBC(인트라 블록 복사); 및
인트라 예측에 사용되는 기준 샘플을 필터링하는 것으로 이루어진 인트라 영역에서 기준 샘플 필터링.
인터 예측은 현재 픽처를 선행하거나 후행하는 픽처(이러한 픽처는 기준 픽처로 지칭됨)의, 기준 블록으로 지칭되는, 픽셀 블록으로부터 현재 블록의 픽셀을 예측하는 것으로 이루어진다. 인터 예측 방법에 따른 현재 블록의 코딩 동안, 유사도 기준에 따라, 현재 블록에 가장 가까운 기준 픽처의 블록이 모션 추정 단계(304)에 의해 결정된다. 304 단계 동안, 기준 픽처 내의 기준 블록의 위치를 나타내는 모션 벡터가 결정된다. 모션 추정은 일반적으로 서브-픽셀 정밀도에서 수행되는데, 즉 현재 및 기준 픽처가 보간된다. 가장 최근의 비디오 표준에서, 보간은 시간적 예측에 사용되는 보간의 위상(서브-픽셀 위치)에 의존한다. 예를 들어, VVC의 경우에, 위상 0(샘플이 (정수-픽셀 보간에 해당하는) 그들의 위치으로부터 직접 보간됨)에 대해, 또는 (서브-픽셀 보간에 해당하는) 0보다 큰 위상에 대해 보간이 정의된다. 서브-픽셀 보간이 적용될 때, 루마는 "15" 서브-픽셀 위상 및 8-탭 다중 위상 필터를 사용하고, 크로마는 "31" 서브 픽셀 위상 및 4-탭 다중 위상 필터를 사용한다. 따라서, 3가지 경우는 고려되어야 한다: 정수-보간, 수평 또는 수직 방향의 서브-픽셀 보간, 수평 및 수직 방향의 서브-픽셀 보간. 모션 추정에 의해 결정되는 모션 벡터는 현재 블록과 기준 블록 사이의 차이의 형태로 잔차 블록이 계산되는 모션 보상 단계(305) 동안 사용된다. 제1 비디오 압축 표준에서, 전술된 단방향 인터 예측 모드는 이용가능한 유일한 인터 모드였다. 비디오 압축 표준이 진화함에 따라, 인터 모드의 계열은 유의하게 성장하였고, 이제 많은 상이한 인터 모드를 포함한다. 이러한 인터 예측 모드는 예를 들어 다음을 포함한다:
DMVR(디코더 측부 모션 벡터 정제), 여기서, 이중-예측에서, 개정된 모션 벡터가 각각의 초기 모션 벡터 주위에서 검색된다. 정제는 인코더 및 디코더에 의해 대칭으로 수행된다.
물체의 움직임이 매끄럽다고 가정하는, 광학 유동 개념에 기초하는 BDOF(양방향 광학 유동). BDOF는 4×4 서브-블록 레벨에서 CU의 이중-예측 신호를 정제하는데 사용된다. BDOF는 루마 성분에만 적용된다.
PROF(광학 유동을 활용한 예측 정제): 서브-블록 기반 아핀(affine) 모션 보상은, 예측 정확도 페널티의 비용으로, 메모리 액세스 대역폭을 절약하고 픽셀 기반 모션 보상에 비해 계산 복잡성을 감소시킬 수 있다. 모션 보상의 더 미세한 입도를 달성하기 위해, 모션 보상에 대한 메모리 액세스 대역폭을 증가시키지 않으면서 서브-블록 기반 아핀 모션 보상된 예측을 정제하기 위해, 광학 유동(PROF)을 활용한 예측 정제를 사용한다.
인터 예측 신호를 인트라 예측 신호와 조합하는 CIIP(조합된 인터 및 인트라 예측).
기하학적으로 위치한 직선에 의해 CU를 2개의 부분으로 분할하는 GPM(기하학적 파티셔닝 모드). CU에서의 기하학적 파티션의 각 부분은 그 자신의 모션을 사용하여 인터-예측되고; 각각의 파티션에 대해 단일 예측만이 허용된다.
선택 단계(306) 동안, 테스트되는 예측 모드(인트라 예측 모드, 인터 예측 모드) 중에서, 속도/왜곡 최적화 기준(즉, RDO 기준)에 따라, 압축 성능을 최적화하는 예측 모드가 인코딩 모듈에 의해 선택된다.
예측 모드가 선택될 때, 잔차 블록은 307 단계 동안 변환되고 309 단계 동안 양자화된다. 변환은 또한 진화되고 새로운 도구가 최근에 제안되었다. 이러한 새로운 도구는 다음을 포함한다:
JCCR(크로마 잔차의 공동 코딩), 여기서 크로마 잔차는 공동으로 코딩된다.
MTS(다중 변환 선택), 여기서 선택은 수평 및 수직 변환에 대해 DCT-2, DST-7 및 DCT-8 사이에서 수행된다.
LFNST(저주파 비분리 변환): LFNST가 (인코더에서) 순방향 1차 변환과 양자화 사이에 그리고 (디코더 측에서) 탈양자화 및 역방향 1차 변환 사이에 적용된다. 4x4 비분리 변환 또는 8x8 비분리 변환이 블록 크기에 따라 인가된다.
BDPCM(블록 차동 펄스 코딩된 변조). BDPCM은 정규 인트라 모드의 경쟁자로서 볼 수 있다. BDPCM이 사용될 때, BDPCM 예측 방향 플래그는 예측이 수평 또는 수직인지 여부를 나타내기 위해 송신된다. 이어서, 블록은 필터링되지 않은 기준 샘플로 정규 수평 또는 수직 인트라 예측 프로세스를 사용하여 예측된다. 잔차가 양자화되고 각각의 양자화된 잔차 및 그의 예측기 사이의 차이, 즉, (BDPCM 예측 방향에 의존하는) 수평 또는 수직 이웃 위치의 이전에 코딩된 잔차가 코딩된다.
SBT(서브-블록 변환), 여기서 잔차 블록의 서브-파트만이 CU에 대해 코딩된다.
인코딩 모듈은 변환을 스킵할 수 있고, 변환되지 않은 잔차 신호에 직접 양자화를 적용할 수 있다는 것에 주목한다. 현재 블록이 인트라 예측 모드에 따라 코딩될 때, 예측 방향 및 변환되고 양자화된 잔차 블록이 310 단계 동안 엔트로피 인코더에 의해 인코딩된다. 현재 블록이 인터 예측에 따라 인코딩될 때, 적절한 경우, 블록의 모션 벡터는 코딩될 블록 부근에 배치된 재구성된 블록에 상응하는 모션 벡터의 세트로부터 선택된 예측 벡터로부터 예측된다. 모션 정보는 다음으로, 310 단계 동안 엔트로피 인코더에 의해 모션 잔차 및 예측 벡터를 식별하기 위한 인덱스의 형태로 인코딩된다. 변환되고 양자화된 잔차 블록은 310 단계 동안 엔트로피 인코더에 의해 인코딩된다. 인코딩 모듈은 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉, 엔트로피 인코딩이 변환 또는 양자화 프로세스의 적용 없이 잔차에 적용된다는 것에 주목한다. 엔트로피 인코딩의 결과는 인코딩된 비디오 스트림(311)에 삽입된다.
양자화 단계(309) 이후, 현재 블록은 해당 블록에 상응하는 픽셀이 미래의 예측에 사용될 수 있도록 재구성된다. 이러한 재구성 단계는 예측 루프로도 지칭된다. 따라서, 역양자화가 312 단계 동안 변환되고 양자화된 잔차 블록에 적용되고, 역변환이 313 단계 동안 적용된다. 314 단계 동안 획득된 블록에 사용되는 예측 모드에 따라, 블록의 예측 블록이 재구성된다. 현재 블록이 인터 예측 모드에 따라 인코딩되는 경우, 인코딩 모듈은, 적절한 경우, 316 단계 동안, 현재 블록의 기준 블록을 식별하기 위해 현재 블록의 모션 벡터를 사용하여 모션 보상을 적용한다. 현재 블록이 인트라 예측 모드에 따라 인코딩되는 경우, 315 단계 동안, 현재 블록에 해당하는 예측 방향은 현재 블록의 기준 블록을 재구성하기 위해 사용된다. 기준 블록 및 재구성된 잔차 블록은 재구성된 현재 블록을 획득하기 위해 추가된다.
재구성 이후, 인코딩 아티팩트를 감소시키도록 의도된 루프내 필터링이, 317 단계 동안, 재구성된 블록에 적용된다. 이러한 필터링은 루프내 필터링으로 불리는데, 이러한 필터링이 예측 루프내에서 발생하여, 인코더와 동일한 기준 이미지를 디코더에서 획득하고 이에 따라 인코딩과 디코딩 프로세스 사이의 드리프트를 피하기 때문이다. 앞서 언급된 바와 같이, 루프내 필터링 도구는 디블록킹 필터링, SAO(샘플 적응적 오프셋), ALF(적응적 루프 필터) 및 CC-ALF(교차 성분 ALF)를 포함한다. CC-ALF는 루마 샘플 값을 사용하여, 적응적 선형 필터를 루마 채널에 적용하고 이어서 크로마 정제를 위해 이러한 필터링 작동의 출력을 사용함으로써 각각의 크로마 성분을 정제한다. LMCS(크로마 스케일링을 갖는 루마 매핑)로 불리는 새로운 도구는 또한 루프내 필터링으로서 고려될 수 있다. LMCS는 다른 루프 필터 이전에 새로운 프로세싱 블록으로서 추가된다. LMCS는 2개의 주요 성분을 갖는다: 적응적 조각별 선형 모델에 기초한 루마 성분의 루프내 매핑; 크로마 성분의 경우, 루마-의존적 크로마 잔차 스케일링이 적용된다.
블록이 재구성될 때, 그것은 318 단계 동안, 일반적으로 디코딩된 픽처 버퍼(DPB)라고 불리는 상응하는 재구성된 이미지의 메모리(319)에 저장된 재구성된 픽처 내로 삽입된다. 이와 같이 저장된 재구성된 이미지는 이어서 코딩될 다른 이미지에 대한 기준 이미지로서의 역할을 할 수 있다.
기준 픽처 리샘플링(RPR)으로 불리는, VVC의 새로운 도구는 코딩된 픽처의 해상도를 즉시 변경할 수 있게 한다. 픽처는, 그들의 실제 코딩/디코딩된 해상도에서, DPB에 저장되며, 이는 비트스트림의 고레벨 신택스(HLS)에서 시그널링된 비디오 공간 해상도보다 더 낮을 수 있다. 주어진 해상도에서 코딩되는 픽처가 시간적 예측을 위해 동일한 해상도에 있지 않은 기준 픽처를 사용하는 경우, 예측된 픽처 및 기준 픽처가 (도 3의 320 단계에 의해 표현된) 동일한 해상도를 갖도록 텍스처의 기준 픽처 리샘플링이 적용된다. 구현에 따라, 리샘플링 프로세스는 반드시 전체 기준 픽처(전체 기준 픽처 리샘플링)에 적용되지는 않지만, 현재 픽처의 디코딩 및 재구성(블록 기반 기준 픽처 리샘플링)을 수행할 때 기준 블록으로서 식별된 블록에만 적용될 수 있다는 것에 유의한다. 이 경우에, 현재 픽처 내의 현재 블록이 현재 픽처와는 상이한 해상도를 갖는 기준 픽처를 사용할 경우, 현재 블록의 시간적 예측에 사용되는 기준 픽처 내의 샘플은 현재 픽처 해상도와 기준 픽처 해상도 사이의 비율로서 계산된 리샘플링 비율에 따라 리샘플링된다.
SEI(보충 향상 정보) 메시지와 같은 메타데이터가 인코딩된 비디오 스트림(311)에 부착될 수 있다. 예를 들어, AVC, HEVC 또는 VVC와 같은 표준에서 정의된 바와 같은 SEI(보충 향상 정보) 메시지는 비디오 스트림에 연관되고 비디오 스트림에 대한 정보를 제공하는 메타데이터를 포함하는 데이터 컨테이너 또는 데이터 구조이다.
도 4는 디코딩 모듈에 의해 실행되는 도 3과 관련하여 설명된 방법에 따라 인코딩된 인코딩된 비디오 스트림(311)을 디코딩하기 위한 방법을 개략적으로 도시한다. 이러한 디코딩하기 위한 방법의 변형이 고려되지만, 도 4의 디코딩하기 위한 방법은 모든 예상되는 변형을 기술하지 않으면서 명확성을 위해 후술된다.
디코딩은 블록별로 행해진다. 현재 블록의 경우, 그것은 410 단계 동안 현재 블록의 엔트로피 디코딩으로 시작한다. 엔트로피 디코딩은 블록의 예측 모드를 획득할 수 있게 한다.
블록이 인터 예측 모드에 따라 인코딩된 경우, 엔트로피 디코딩은, 적절한 경우, 예측 벡터 인덱스, 모션 잔차 및 잔차 블록을 얻을 수 있게 한다. 408 단계 동안, 예측 벡터 인덱스 및 모션 잔차를 사용하여 현재 블록에 대해 모션 벡터가 재구성된다.
블록이 인트라 예측 모드에 따라 인코딩되었다면, 엔트로피 디코딩은 예측 방향 및 잔차 블록을 획득할 수 있게 한다. 디코딩 모듈에 의해 구현된 단계(412, 413, 414, 415, 416 및 417)는 모든 측면에서 인코딩 모듈에 의해 구현된 단계(412, 413, 414, 415, 416 및 417)에 각각 동일하다. 디코딩된 블록은 디코딩된 픽처에 저장되고, 디코딩된 픽처는 418 단계에서 DPB(419)에 저장된다. 디코딩 모듈이 주어진 픽처를 디코딩할 때, DPB(419)에 저장된 픽처는 상기 주어진 이미지의 인코딩 동안 인코딩 모듈에 의해 DPB(319)에 저장된 픽처와 동일하다. 디코딩된 픽처는 또한 디코딩 모듈에 의해 출력되어, 예를 들어 디스플레이될 수 있다. RPR이 활성화될 때, 기준 픽처로서 사용되는 픽처(즉, 의 적어도 일부분)의 샘플은 420 단계에서 예측된 픽처의 해상도로 리샘플링된다. 리샘플링 단계(420) 및 모션 보상 단계(416)는 일부 구현에서 하나의 단일 샘플 보간 단계에서 조합될 수 있다.
디코딩된 이미지는 421 단계에서 후처리를 추가로 겪을 수 있다. 후처리는 역 색상 변환(예: YCbCr 4:2:0에서 RGB 4:4:4로의 변환), 301 단계의 전처리에서 수행된 리매핑 프로세스의 역을 수행하는 역 매핑, 예를 들어 SEI 메시지에 제공된 필터 파라미터에 기초하여 재구성된 픽처를 개선하기 위한 포스트-필터링 및/또는 예를 들어 출력 이미지를 조정하여 제약을 디스플레이하기 위한 리샘플링을 포함할 수 있다.
위에서 이미 언급된 바와 같이, 표준 ISO/IEC 23001-11 에너지-효율적인 미디어 소비(녹색 메타데이터)는 비디오 분배 체인(인코딩, 적응적 스트리밍, 디코딩, 디스플레이)의 상이한 프로세스에 대한 시그널링 복잡성 정보 또는 메트릭(CM)을 목표로 하는 메타데이터를 특정한다. 따라서, CM은 상기 상이한 프로세스에 의해 도출된 에너지 소비를 나타낸다. 디코더 측에 관하여, 복잡성 정보는 상이한 디코딩 모듈(DM)에 대해 주어진다: 엔트로피 디코딩, 탈양자화 및 역변환, 인트라 예측, 모션 보상, 디블록킹, 및 측면 정보 준비. 이러한 정보를 디코더가 사용하여 그의 CPU 주파수를 프레임 속도 한도 내에 디코딩 완료를 보장하고 따라서 잠재적으로 전력 감소를 제공하는 가장 낮은 주파수로 설정할 수 있다.
기존의 녹색 MPEG에서, CM은 기간마다 시그널링된다. (신택스 요소 period_type에 의해 표시되는) 기간 유형은 단일 픽처, 픽처의 그룹(GOP), 또는 시간 간격 중 어느 하나이다. CM은 하기 정보로 구성된다:
0이 아닌 영역에 있는, 크기 8x8, 16x16 및 32x32의 블록, 각각의 비율. 이러한 정보는 엔트로피 디코딩, 역양자화 및 역변환 프로세스에 영향을 준다.
인트라 블록의 비율, 및 이들 인트라 블록의 경우, 특정 인트라 모드(평면, DC, 각도 수평/수직)에 따라 코딩되는 블록의 비율. 이러한 정보는 인트라 블록 디코딩 프로세스에 영향을 준다.
인터 블록의 경우, 상이한 서브-샘플 위치에 대한 모션 보상을 사용하는 블록의 비율. 이러한 정보는 모션 보상 프로세스에 영향을 준다.
디블록킹 필터링을 사용하는 블록의 비율.
하기는 CM을 전송하기 위한 HEVC에 대해 정의된 SEI 메시지이다(표 TAB1). 단어 "부분"은 코딩 도구/구성의 사용에 관한 비율이 SEI 메시지에서 시그널링됨을 나타낸다. 이들 "사용 비율"은 인코더에 의해 계산되고, 디코더에 의해 활용되어 그의 에너지 소비를 더 잘 제어한다.
[표 TAB1]
사용 비율의 시그널링은 신택스 요소 period_type에 의해 정의된 상이한 유형의 픽처 세트에 따라 이루어질 수 있다. HEVC의 경우, period_type은 다음과 같이 정의된다(표 TAB2):
[표 TAB2]
표 TAB1의 SEI 메시지는 원래 AVC 및 HEVC를 위해 설계되었다. 위에서 알 수 있는 바와 같이, VVC에 도입된 많은 새로운 도구 및 특징은 고려되지 않는다. 다양한 다음의 실시예는 VVC에서 채택된 새로운 도구 및 특징을 고려하는 것을 허용하는 표 TAB1의 SEI 메시지의 적응을 설명한다.
도 1a는 다음의 실시예가 구현될 수 있는 맥락의 일례를 설명한다.
도 1a에서, 카메라, 저장 디바이스, 컴퓨터, 서버 또는 비디오 스트림을 전달할 수 있는 임의의 디바이스일 수 있는, 장치(10)는 통신 채널(11)을 사용하여 비디오 스트림을 시스템(12)으로 송신한다. 비디오 스트림은 장치(10)에 의해 인코딩되고 송신되거나 장치(10)에 의해 수신 및/또는 저장된 다음 송신된다. 통신 채널(11)은 유선(예: 인터넷 또는 이더넷) 또는 무선(예: WiFi, 3G, 4G 또는 5G) 네트워크 링크이다.
장치(10)는 도 3과 관련하여 설명된 인코딩 방법을 따르는 인코딩 모듈(100)을 포함한다. 시스템(12)는, 예를 들어, 디코딩 모듈(120) 및 디스플레이 디바이스(121)를 포함한다. 디코딩 모듈(120)은 도 4와 관련하여 설명된 방법을 따른다.
도 1b는 다양한 실시예가 구현될 수 있는 프로세스의 일례를 예시한다.
101 단계에서, 장치(10)는 인코딩하기 위한 픽처의 시퀀스를 획득한다.
102 단계에서, 장치(10)의 인코딩 모듈(100)은 도 3의 방법을 적용하는 비트스트림의 형태로 픽처의 시퀀스를 인코딩한다. 인코딩과 병렬로, 인코딩 모듈(100)은 도 3의 방법에 의해 구현된 인코딩 도구 및 특징에 해당하는 CM을 계산하고, 이들 CM을 적어도 하나의 SEI 메시지에서 시그널링한다.
103 단계에서, 장치(10)는 적어도 하나의 SEI 메시지를 비트스트림에 연관시키고 비트스트림 및 연관된 SEI 메시지(들)를 시스템(12)에 송신한다. SEI 메시지는 예를 들어 VVC NAL(네트워크 추상화 계층) 유닛에서 송신된다.
104 단계에서, 시스템(12)은 비트스트림을 수신한다.
105 단계에서, 디코딩 모듈(120)은 SEI 메시지를 송신하는 VVC NAL 유닛을 인식하고, SEI 메시지를 디코딩하고 CM을 획득한다.
106 단계에서, 디코딩 모듈(120)은 디코딩된 CM의 함수에서 그의 디코딩 파라미터를 조정한다. 예를 들어, 그것은 그의 CPU 주파수를 최소 값으로 조정하여 픽처를 실시간으로 디코딩할 수 있다.
107 단계에서, 디코딩 모듈(120)은, 그의 조정된 파라미터로, 픽처를 디코딩한다.
도 5a는 장치(10)에 관련되거나 시스템(12)에 관련된 도 1b의 프로세스의 상이한 양태 및 실시예 또는 부분에 따라 수정된 도 3의 인코딩 방법 및 도 4의 디코딩 방법을 각각 구현할 수 있는 인코딩 모듈(100) 또는 디코딩 모듈(120)을 구현할 수 있는 처리 모듈(500)의 하드웨어 아키텍처의 일례를 개략적으로 도시한다. 통신 버스(5005)에 의해 연결되는, 처리 모듈(500)은 다음을 포함한다: 비제한적인 예로서, 하나 이상의 마이크로프로세서, 범용 컴퓨터, 특수 목적 컴퓨터, 및 멀티코어 아키텍처에 기초한 프로세서를 포괄하는 프로세서 또는 CPU(중앙 처리 장치)(5000); 랜덤 액세스 메모리(RAM)(5001); 판독 전용 메모리(ROM)(5002); 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM), 판독 전용 메모리(ROM), 프로그래밍가능 판독 전용 메모리(PROM), 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이들로 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리, 또는 저장 매체 판독기, 예컨대 SD(secure digital) 카드 판독기 및/또는 하드 디스크 드라이브(HDD) 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있는 저장 유닛(5003); 다른 모듈, 디바이스, 또는 장비와 데이터를 교환하기 위한 적어도 하나의 통신 인터페이스(5004). 통신 인터페이스(5004)는, 통신 채널을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이로 제한되지 않는다. 통신 인터페이스(5004)는, 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이로 제한되지 않는다.
처리 모듈(500)이 디코딩 모듈을 구현하는 경우, 통신 인터페이스(5004)는 예를 들어 처리 모듈(500)이 인코딩된 비디오 스트림 및/또는 SEI 메시지를 수신하고 SEI 메시지에 기초하여 일련의 디코딩된 화상을 제공할 수 있게 한다. 처리 모듈(500)이 인코딩 모듈을 구현하는 경우, 통신 인터페이스(5004)는 예를 들어 처리 모듈(500)이 인코딩할 원래 픽처 데이터의 시퀀스를 수신하고 인코딩된 비디오 스트림 및 관련 SEI 메시지를 제공할 수 있게 한다.
프로세서(5000)는 ROM(5002)으로부터, 외부 메모리(미도시)로부터, 저장 매체로부터, 또는 통신 네트워크로부터 RAM(5001) 내에 로딩된 명령어를 실행할 수 있다. 처리 모듈(500)에 전력이 공급될 때, 프로세서(5000)는 RAM(5001)으로부터의 명령어를 판독하고 이들을 실행할 수 있다. 이러한 명령어는, 예를 들어, 도 4와 관련하여 기술된 디코딩 방법 또는 도 3과 관련하여 기술된 인코딩 방법, 또는 도 1b과 관련하여 기술된 프로세스의 일부의 프로세서(5000)에 의한 구현을 야기하는 컴퓨터 프로그램을 형성하고, 디코딩 및 인코딩 방법 및 프로세서는 본 문서에서 후술되는 다양한 양태 및 실시예를 포함한다.
상기 인코딩 또는 디코딩 방법의 알고리즘 및 단계의 전부 또는 일부는 프로그래밍가능 기계, 예컨대 DSP(digital signal processor) 또는 마이크로컨트롤러에 의한 명령어의 세트의 실행에 의해 소프트웨어 형태로 구현될 수 있거나, 또는 기계 또는 전용 구성요소, 예컨대 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 하드웨어 형태로 구현될 수 있다.
도 5c는 다양한 양태 및 실시예가 구현되는 시스템(12)의 일례의 블록도를 도시한다. 시스템(12)은 후술되는 다양한 구성요소를 포함하는 디바이스로서 실시될 수 있고, 본 문서에 기술된 양태 및 실시예 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스의 예는, 다양한 전자 디바이스, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 커넥티드 가전, 및 머리 장착 디스플레이를 포함하지만, 이들로 제한되지 않는다. 시스템(12)의 요소는 단일 집적 회로(IC), 다수의 IC, 및/또는 별개의 구성요소에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(12)은 디코딩 모듈을 구현하는 하나의 처리 모듈(500)을 포함한다. 다양한 실시예에서, 시스템(12)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트를 통해 하나 이상의 다른 시스템, 또는 다른 전자 디바이스에 통신가능하게 결합된다. 다양한 실시예에서, 시스템(12)은 본 문서에 기술된 양태 중 하나 이상을 구현하도록 구성된다.
처리 모듈(500)에 대한 입력은 블록(531)에 나타낸 바와 같은 다양한 입력 모듈을 통해 제공될 수 있다. 그러한 입력 모듈은, (i) 예를 들어, 브로드캐스터에 의해 무선으로 송신된 무선 주파수(RF) 신호를 수신하는 RF 모듈, (ii) 구성요소(COMP) 입력 모듈(또는 COMP 입력 모듈의 세트), (iii) 범용 직렬 버스(USB) 입력 모듈, 및/또는 (iv) 고 화질 멀티미디어 인터페이스(HDMI) 입력 모듈을 포함하지만, 이들로 제한되지 않는다. 도 5c에 도시되지 않은 다른 예는 복합 비디오를 포함한다.
다양한 실시예에서, 블록(531)의 입력 모듈은 당업계에 알려진 바와 같은 연관된 각각의 입력 처리 요소를 갖는다. 예를 들어, RF 모듈은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) (예를 들어) 특정 실시예에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 더 좁은 주파수 대역으로 다시 대역-제한하는 것, (iv) 하향 변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소와 연관될 수 있다. 다양한 실시예의 RF 모듈은 이러한 기능을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기, 신호 선택기, 대역-제한기, 채널 선택기, 필터, 하향변환기, 복조기, 에러 정정기, 및 역다중화기를 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예: 중간 주파수 또는 기저대역 인근 주파수)로 또는 기저대역으로 하향-변환하는 것을 포함한, 다양한 이들 기능을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 모듈 및 그의 연관된 입력 처리 요소는 유선(예: 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향-변환, 및 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예는 전술한(및 다른) 요소의 순서를 재배열하고, 이들 요소 중 일부를 제거하고/하거나 유사하거나 상이한 기능을 수행하는 다른 요소를 추가한다. 요소를 추가하는 것은, 예를 들어, 증폭기 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소 사이에 요소를 삽입하는 것을 포함할 수 있다. 다양한 실시예에서, RF 모듈은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 모듈은 USB 및/또는 HDMI 연결을 통해 시스템(12)을 다른 전자 디바이스에 연결시키기 위한 각자의 인터페이스 프로세서를 포함할 수 있다. 입력 처리, 예를 들어, 리드 솔로몬 에러 정정의 다양한 양태가, 예를 들어, 필요에 따라, 별개의 입력 프로세싱 IC 내에서 또는 처리 모듈(500) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 프로세싱의 양태가, 필요에 따라, 별개의 인터페이스 IC 내에서 또는 처리 모듈(500) 내에서 구현될 수 있다. 복조된, 에러 정정된, 그리고 역다중화된 스트림이 처리 모듈(500)에 제공된다.
시스템(12)의 다양한 요소가 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소는 적합한 연결 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 보드를 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호연결되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 시스템(12)에서, 처리 모듈(500)은 버스(5005)에 의해 상기 시스템(12)의 다른 요소에 상호연결된다.
처리 모듈(500)의 통신 인터페이스(5004)는 시스템(12)이 통신 채널(11) 상에서 통신할 수 있게 한다. 상기에 이미 언급된 바와 같이, 통신 채널(11)은, 예를 들어 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(12)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예의 Wi-Fi 신호는 Wi-Fi 통신에 대해 적응된 통신 채널(11) 및 통신 인터페이스(5004)를 통해 수신된다. 이들 실시예의 통신 채널(11)은 통상적으로, 스트리밍 응용 및 다른 오버-더-톱 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 연결된다. 또 다른 실시예는 입력 블록(531)의 RF 연결을 사용하여 스트리밍된 데이터를 시스템(12)에 제공한다. 전술한 바와 같이, 다양한 실시예는 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예는 Wi-Fi 이외의 무선 네트워크, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(12)은 디스플레이 시스템(55), 스피커(56), 및 다른 주변 디바이스(57)을 포함하는 다양한 출력 디바이스에 출력 신호를 제공할 수 있다. 다양한 실시예의 디스플레이 시스템(55)은, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(55)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일 폰), 머리 장착형 디스플레이 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이 시스템(55)은 또한, 도 1a에서와 같이 (예: 스마트 폰에서와 같이), 다른 구성요소와 통합될 수도 있고, 별개(예: 랩톱을 위한 외부 모니터)일 수 있다. 실시예의 다양한 예에서, 다른 주변 디바이스(57)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예는 시스템(12)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스(57)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(12)의 출력을 재생하는 기능을 수행한다.
다양한 실시예에서, 제어 신호는, 시그널링, 예컨대, AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입이 있거나 또는 개입 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜을 사용하여 시스템(12)과 디스플레이 시스템(55), 스피커(56), 또는 다른 주변 디바이스(57) 사이에서 통신된다. 출력 디바이스는 각자의 인터페이스(532, 533, 534)를 통해 전용 연결을 거쳐 시스템(12)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 장치는 통신 인터페이스(5004)를 통한 통신 채널(11) 또는 통신 인터페이스(5004)를 통한 전용 통신 채널을 사용하여 시스템(12)에 연결될 수 있다. 디스플레이 시스템(55) 및 스피커(56)는, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(12)의 다른 구성요소와 단일 유닛으로 통합될 수 있다. 다양한 실시예에서, 디스플레이 인터페이스(532)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이 시스템(55) 및 스피커(56)는 대안적으로 다른 구성요소 중 하나 이상과 별개일 수 있다. 디스플레이 시스템(55) 및 스피커(56)가 외부 구성요소인 다양한 실시예에서, 출력 신호는, 예를 들어, HDMI 포트, USB 포트, 또는 COMP 출력을 포함하는 전용 출력 연결을 통해 제공될 수 있다.
도 5b는 다양한 양태 및 실시예가 구현되는 장치(10)의 일례의 블록도를 예시한다. 장치(10)는 시스템(12)과 매우 유사하다. 장치(10)는 후술되는 다양한 구성요소를 포함하는 디바이스로서 실시될 수 있고, 본 문서에 기술된 양태 및 실시예 중 하나 이상을 수행하도록 구성된다. 이러한 장치의 예로는 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 카메라 및 서버와 같은 다양한 전자 디바이스가 포함되지만, 이에 제한되지 않는다. 장치(10)의 요소는 단일 집적 회로(IC), 다수의 IC, 및/또는 별개의 구성요소에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 장치(10)는 인코딩 모듈을 구현하는 하나의 처리 모듈(500)을 포함한다. 다양한 실시예에서, 장치(10)는, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트를 통해 하나 이상의 다른 시스템, 또는 다른 전자 디바이스에 통신가능하게 결합된다. 다양한 실시예에서, 장치(10)는 본 문서에 기술된 양태 중 하나 이상을 구현하도록 구성된다.
처리 모듈(500)에 대한 입력은 도 5c와 관련하여 이미 설명된 블록(531)에 나타낸 바와 같은 다양한 입력 모듈을 통해 제공될 수 있다.
장치(10)의 다양한 요소가 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소는 적합한 연결 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 보드를 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호연결되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 장치(10)에서, 처리 모듈(500)은 버스(5005)에 의해 상기 장치(10)의 다른 요소에 상호연결된다.
처리 모듈(500)의 통신 인터페이스(5004)는 시스템(500)이 통신 채널(11) 상에서 통신할 수 있게 한다.
데이터는, 다양한 실시예에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회를 지칭함)과 같은 무선 네트워크를 사용하여, 장치(10)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예의 Wi-Fi 신호는 Wi-Fi 통신에 대해 적응된 통신 채널(11) 및 통신 인터페이스(5004)를 통해 수신된다. 이들 실시예의 통신 채널(11)은 통상적으로, 스트리밍 응용 및 다른 오버-더-톱 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 연결된다. 또 다른 실시예는 입력 블록(531)의 RF 연결을 사용하여 스트리밍된 데이터를 장치(10)에 제공한다.
전술한 바와 같이, 다양한 실시예는 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예는 Wi-Fi 이외의 무선 네트워크, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
제공된 데이터는 장치(10)에 연결되거나 장치(10)에 포함된 픽처 및/또는 오디오 획득 모듈에 의해 제공되는 원시 데이터이다.
장치(10)는 시스템(12)과 같은 출력 신호를 저장 및/또는 디코딩할 수 있는 다양한 출력 장치에 출력 신호를 제공할 수 있다.
다양한 실시예가 디코딩을 수반한다. 본 출원에서 사용되는 바와 같이, "디코딩"은 예를 들어, 수신된 인코딩된 비디오 스트림에 대해 수행되어 디스플레이에 적합한 최종 출력을 생성하는 프로세스의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 이러한 프로세스는 디코더에 의해 통상적으로 수행되는 프로세스 중 하나 이상의 프로세스, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 예측을 포함한다. 다양한 실시예에서, 이러한 프로세스는 예를 들어 디코딩을 수행하기 위한 CPU 주파수를 결정하기 위해 본 출원에서 설명된 다양한 구현의 디코더에 의해 수행되는 프로세스를 또한 또는 대안적으로 포함한다.
어구 "디코딩 프로세스"가 작동의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 실시예가 인코딩을 수반한다. "디코딩"에 관한 상기의 논의와 유사한 방식으로, 본 출원에서 사용된 바와 같은 "인코딩"은 인코딩된 비디오 스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행된 프로세스의 전부 또는 일부를 포괄할 수 있다. 다양한 실시예에서, 이러한 프로세스는 전형적으로 인코더에 의해 수행되는 프로세스, 예를 들어, 파티셔닝, 예측, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예에서, 이러한 프로세스는 또한, 또는 대안적으로 예를 들어 CM을 포함하는 SEI 메시지를 생성하기 위해 본 출원에서 설명된 다양한 구현의 인코더에 의해 수행되는 프로세스를 포함한다.
어구 "인코딩 프로세스"가 작동의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 인코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에 사용된 바와 같은 신택스 요소 명칭은, 설명적 용어임에 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 상응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 상응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
본 명세서에 기술된 실시예 및 양태는, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 실시예의 단일 형태의 맥락에서 논의된다 하더라도(예: 방법으로서만 논의됨), 논의된 특징의 실시예는 다른 형태(예: 장치 또는 프로그램)에서도 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법은, 예를 들어, 프로세서에서 구현될 수 있으며, 이는, 예컨대 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스를 지칭한다. 프로세서는 또한, 예를 들어, 컴퓨터, 셀 폰, 휴대용/개인 디지털 어시스턴트("PDA"), 및 최종 사용자 사이의 정보의 통신을 용이하게 하는 다른 디바이스과 같은 통신 디바이스를 포함한다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 그의 다른 변형에 대한 언급은, 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 어구 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"뿐만 아니라 임의의 다른 변형의 출현이 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
또한, 본 출원은 다양한 조각의 정보를 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 메모리로부터 정보를 검색하는 것, 또는 예를 들어 다른 디바이스, 모듈, 또는 사용자로부터 정보를 얻는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 조각의 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것,(예: 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 조각의 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예: 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로, 예를 들어 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 작동 동안, 어떤 방식으로든, 수반된다.
예를 들어 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나", "A 및 B 중 하나 이상"의 경우에 있어서, 다음의 "/", "및/또는", 및 "중 적어도 하나", "중 하나 이상" 중 임의의 것의 사용은, 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 옵션(A, B) 둘 모두의 선택을 포괄하도록 의도된다는 것이 이해될 것이다. 또 다른 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나", "A, B 및 C 중 하나 이상"의 경우에서, 그러한 어구는 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 제3 열거된 옵션(C) 단독의 선택, 또는 제1 및 제2 열거된 옵션(A 및 B) 단독의 선택, 또는 제1 및 제3 열거된 옵션(A 및 C) 단독의 선택, 또는 제2 및 제3 열거된 옵션(B 및 C) 단독의 선택, 또는 3개의 모든 옵션(A, B 및 C)의 선택을 포괄하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, 용어 "신호"는 특히 상응하는 디코더에 무언가를 나타내는 것을 지칭한다. 예를 들어, 특정 실시예에서, 인코더는 일부 코딩 도구의 사용을 시그널링한다. 이러한 방식으로, 실시예에서, 동일한 파라미터가 인코더 측 및 디코더 측 둘 모두에서 사용될 수 있다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신할 수 있다(명시적 시그널링). 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능의 송신을 회피함으로써, 다양한 실시예에서 비트 절약이 실현된다. 시그널링은 다양한 방식으로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소, 플래그 등이 다양한 실시예에서 상응하는 디코더에 정보를 시그널링하는 데 사용된다. 전술된 표현이 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백한 바와 같이, 실시예는, 예를 들어 저장되거나 송신될 수 있는 정보를 반송하도록 포맷화된 다양한 신호를 생성할 수 있다. 예를 들어, 정보는 방법을 수행하기 위한 명령어, 또는 기술된 실시예 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 인코딩된 비디오 스트림 및 SEI 메시지를 반송하도록 포맷화될 수 있다. 이러한 신호는, 예를 들어, 전자기파로서(예: 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 인코딩된 비디오 스트림을 인코딩하는 것, 및 인코딩된 비디오 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
제1 실시예는 녹색 MPEG 메타데이터에서 RPR에 적응된 CM을 제공하는 것에 초점을 맞춘다.
기존의 녹색 MPEG에서, AVC 및 HEVC에 대해 정의된 많은 신택스 요소는, 픽처 헤더(픽처 파라미터 세트(PPS))에서 시그널링된 크기를 지칭하는 시퀀스에 걸쳐 일정한, 픽처 크기에 기초한다. 상이한 코딩 모드의 사용량은 이러한 픽처 크기에 대해 표시된다. 이는, 예를 들어, 파라미터 TotalNum4x4BlocksInPeriod에 의해 녹색 MPEG 사양에서 정의된, 기간에서 처리된 4x4 블록의 총 수를 결정하는 데 사용된다.
또한, 몇몇 모드 m1 내지 mN를 지원하는 일부 디코더 특징의 경우, 비율은 일반적으로 모드 m1 내지 mN-1에 대해 보고되고, 모드 mN에 대한 비율은 ratio_mN = 255 - ratio_m1 - … - ratio_mN-1과 같은 다른 비율로부터 추론된다(비율은, 100%의 비율에 해당하는, 255의 진폭을 사용하여, 고정점으로 표시됨).
RPR에 의해 허용되는 픽처 크기의 변동으로 인해, 기존의 녹색 MPEG의 다양한 모드의 사용량을 보고하는 방법은 VVC에 더 이상 적응되지 않는다.
제1 실시예의 제1 변형에서, 다양한 비율은, 예를 들어, 시퀀스 헤더(시퀀스 파라미터 세트(SPS))에서 시그널링된 바와 같은 비트스트림의 최대 픽처 크기를, 디코딩된 픽처 크기를 사용하는 대신, 파라미터 sps_pic_width_max_in_luma_samplessps_pic_height_max_in_luma_samples를 통해 기준 픽처 크기로서 고려함으로써 정의된다. 다양한 비율(즉, CM = 에너지 소비를 나타내는 정보)은 시퀀스 헤더에서 픽처의 시퀀스(즉, SPS)에 대해 정의된 단일 기준 픽처 크기에 의존한다.
기준 픽처 크기는, 다음과 같이 정의된, 파라미터 maxPicSizeInCtbsY에 의해 정의된다:
maxPicSizeInCtbsY =maxPicWidthInCtbsY* maxPicHeightInCtbsY
이때 maxPicWidthInCtbsY 및maxPicheightInCtbsY는 다음과 같이 정의된다:
maxPicWidthInCtbsY = (sps_pic_width_max_in_luma_samples + CtbSizeY - 1) / CtbSizeY
maxPicHeightInCtbsY = (sps_pic_height_max_in_luma_samples + CtbSizeY - 1) / CtbSizeY
여기서 CtbSizeY 는 루마 코딩 트리 블록의 크기(최대 블록 크기)로서 정의된다.
결과적으로, 특징의 상이한 모드에 대한 사용 비율의 합은, 예를 들어 여러 픽처 중 하나가 SPS에서 시그널링된 최대 픽처 해상도에서 코딩되지 않는 경우, 255 미만(100%)일 수 있다. 하나의 결과는 특징의 모든 모드에 대한 사용 비율이 명시적으로 보고된다는 것이다. 실제로, 해당 경우에, 하나의 모드의 사용 비율은 다른 모드로부터 추론될 수 없다. 위에서 언급한 예에서, AVC 및 HEVC에 대한 기존 그린 MPEG 사양에서 수행되는 바와 같이, 모드 m1 내지 mN-1 대신에, 모든 모드 m1 내지 mN에 대해 사용 비율이 특정된다.
기존의 녹색 MPEG 사양에서 정의된 파라미터 TotalNum4x4BlocksPic의 예를 참조하여, 제1 실시예의 제1 변형에서, 파라미터 TotalNum4x4BlocksPic는 이제 다음과 같이 도출된다:
여기서 CtbLog2SizeY는 CTB 크기의 log2를 정의한다(예: CTB 크기 16x16에 대해 2와 동일, CTB 크기 32x32에 대해 3과 동일, CTB 크기 64x64에 대해 4와 동일, CTB 크기 128x128에 대해 5와 동일). 대안적으로, 변수는, 16 개의 샘플을 포함하는 블록을 지칭하는, TotalNum16BlocksPic로 재명명될 수 있다.
도 6에 예시된 제1 실시예의 제2 변형은, 처리 모듈(500)이 디코딩 모듈(120)을 구현할 때, 처리 모듈(500)에 의해 구현된다.
600 단계에서, 처리 모듈(500)은 신택스 요소 period_type가 (즉, CM의) 사용의 보고가 단일 픽처에 대해 이루어지는 것을 나타내는지 아닌지 여부를 결정한다.
사용의 보고가 단일 픽처에 대해 이루어짐을 나타내는 신택스 요소 period_type으로, 602 단계에서, 처리 모듈(500)은 PPS에서 시그널링된 바와 같은 디코딩된 픽처 크기가 (예: 파라미터 TotalNum4x4BlocksPic를 계산하기 위해) 사용됨을 특정한다.
사용 보고가 여러 픽처에 대해 이루어짐을 나타내는 신택스 요소 period_type으로, 601단계에서, 처리 모듈은 SPS에서 시그널링된 바와 같은 최대 픽처 크기가 (예: 파라미터 TotalNum4x4BlocksPic를 계산하기 위해) 사용됨을 특정한다. 이러한 제2 변형은 사용 비율을 보고하기 위해 최대 정밀도를 유지할 수 있게 한다.
이 제2 변형에서, 다양한 비율(즉, CMS = 에너지 소비를 나타내는 정보)은, 다양한 비율이 여러 픽처에 대해 시그널링되는 경우, 단일 기준 픽처 크기가 시퀀스 헤더에서 픽처의 시퀀스(즉, SPS)에 대해 정의하는 것에 의존한다.
제1 실시예의 제3 변형에서, 4x4 블록의 총 수 TotalNum4x4BlocksInPeriod는 신택스 요소 total_number_4x4_blocks_in_period에 의해 SEI 메시지에서 명시적으로 시그널링된다. 따라서, 고려된 기간에서 상이한 픽처의 픽처 크기를 체크할 필요가 없으며, 기간은 비디오 스트림의 연속적인 픽처의 서브세트로서 정의된다.
4x4 블록의 총 수 TotalNum4x4BlocksInPeriod가 그대로 코딩되는 경우, "26" 비트는 8K 픽처에 대해, 그리고 "128" 픽처의 세그먼트에 대해(통상적으로 "120" fps 비디오에 대해) 그 값을 나타내기에 충분히 큰 것으로 간주된다. 따라서, 더 용이한 바이트 정렬을 위해, 신택스 요소 total_number_4x4_blocks_in_period에 대해 "32" 비트가 권장된다.
더 적은 비트를 사용하는 것이 바람직한 경우, 이는 "16" 비트로 감소될 수 있다. 이러한 경우에 4x4 블록의 총 수 TotalNum4x4BlocksInPeriod의 값을, 예를 들어 인자 "1024"(210)에 의해, 양자화하는 것이 가능하며, 4x4 블록의 실제 총 수는 다음과 같다:
TotalNum4x4BlocksInPeriod = 1024 * total_number_4x4_blocks_in_period.
다른 변형에서, "32" 비트를 초과하는 4x4 블록의 총 수 TotalNum4x4BlocksInPeriod의 너무 큰 값을 회피하기 위해, 신택스 요소 total_number_4x4_blocks_in_period는 다음으로 설정된다:
period_type이 2일 때 CM이 적용가능한 초의 수를 표시하는 SEI 메시지의 신택스 요소 num_seconds가 주어진 임계점 numSecondsMax(통상적으로 numSecondsMax = 1)보다 큰 경우, 임계점 numSecondsMax에 의존하는 값; 또는,
period_type이 3일 때 복잡성 메트릭이 적용가능한, 디코딩 순서로 카운팅되는, 픽처의 수를 특정하는 SEI 메시지의 신택스 요소 num_pictures가 주어진 임계점 numPicturesMax(통상적으로 코딩된 비디오 콘텐츠의 초당 프레임 수로 설정됨)보다 큰 경우, 임계점 numPicturesMax에 의존하는 값.
이는 신택스 요소 total_number_4x4_blocks_in_period에 대해 다음의 시맨틱(다음에서 굵게 표시됨)으로 이어진다:
total_number_4x4_blocks_in_period는 특정 기간에 코딩된 4x4 블록(또는 16개 샘플을 포함하는 블록)의 총 수를 특정한다. 파라미터 TotalNum4x4BlocksInPeriod는 다음과 같이 도출된다:
TotalNum4x4BlocksInPeriod는 total_number_4x4_blocks_in_period와 동일하게 설정된다
다음 조건이 참일 때, TotalNum4x4BlocksInPeriod는 (num_seconds x TotalNum4x4BlocksInPeriod + numSecondsMax/2) / numSecondsMax와 동일하게 설정된다:
o period_type은 "2"와 동일하고;
o num_seconds는 numSecondsMax보다 크다.
다음 조건이 참일 때, TotalNum4x4BlocksInPeriod는 (num_pictures x TotalNum4x4BlocksInPeriod + numPicturesMax/2) / numPicturesMax와 동일하게 설정된다:
o period_type은 "3"과 동일하고;
o num _pictures는 numPicturesMax보다 크다.
변형에서, 4x4 또는 16 샘플보다 더 작은 크기의 블록이 기준 크기로 간주된다. 예를 들어, 기준 크기는 2x2이고, 이는 크로마 블록에 대한 최소 크기이다. 이어서, 상응하는 신택스 요소는 TotalNum2x2BlocksInPeriod로 정의된다. 그럼에도 불구하고, 일반적으로 4개의 샘플의 블록이 전체적으로 작은 비율이고 전체 디코더 복잡성에 크게 영향을 미치지 않는 것으로 고려된다. 또한, 이들을 계수하여 블록 4x4의 수에 추가할 수 있으며, 이들 각각은 이러한 넘버링에 ¼ = 0.25로 기여한다. 동일한 개념은 4x4 또는 16 샘플보다 작은 다른 블록 크기에 대해 적용될 수 있다.
제2 실시예는 녹색 MPEG 메타데이터에서 직사각형 블록에 적응된 CM을 제공하는 것에 초점을 맞춘다.
주어진 신택스 요소에 의해 보고된 주어진 모드에 대한 사용 비율(즉, CMS = 에너지 소비를 나타내는 정보)은 일부 경우에서 모드를 사용하는 모든 다양한 블록 크기에 대한 사용 비율의 연결에 기초한다. VVC에서 블록이 직사각형일 수 있으므로, 기존의 녹색 MPEG 사양에서 수행되는 바와 같이 정사각형 블록 폭/높이를 고려하는 대신에, 정사각형 및 직사각형 블록당 샘플 수를 고려하는 것이 바람직하다. 예를 들어, 4x4 내지 64x64의 블록 크기에 대해, AVC 및 HEVC에 대한 녹색 MPEG 사양에서 현재 수행되는 바와 같이 블록 4x4, 8x8, 16x16, 32x32, 64x64에 대한 사용을 추가하는 대신에, 이들 크기가 적절할 경우, 합은 샘플의 수(16, 32, 64, 128, 256, 512, 1024, 2048, 4096)를 갖는 블록에 대해 추가되어야 한다.
VVC에서, "3" 변환 유형이 지원된다, 유형 "0"(DCT-II에 해당함), 유형 "1"(DST-VII에 해당함), 유형 "2"(DCT-VIII에 해당함). 주어진 블록에 대해, 유형 "0"이 수평 및 수직 차원 둘 모두에서 변환에 대해 사용되거나, 유형 "1" 및 "2"가 수평 및 수직 차원 둘 모두에서 변환에 대해 함께 사용될 수 있다. 유형 "0" 변환은 나비 구현과 같은 빠른 구현을 사용하여 구현될 수 있다. 다른 한편, 유형 "1" 및 "2"는 이러한 솔루션을 사용하여 구현될 수 없고, 변환의 크기의 매트릭스 곱셈을 수반한다. 이러한 제2 실시예를 예시하는 텍스트 사양의 일례가 변환 유형 "0" 의 사용에 대해 (볼드체로) 하기에 제공된다. 동등한 텍스트 사양은 변환 유형 "1" 및 "2"에 대해 사용될 수 있다.
portion_trtype0_blocks_area는, 4x4 입도를 사용하여, 특정 기간의 픽처에서 유형 "0"의 변환을 사용하여 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
NumTrType0Blocks는 4x4 입도를 사용하여 특정 기간에 유형 0의 변환을 사용하는 블록 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
NumTrType0Blocks =NumTrType0_16Blocks+2*NumTrType0_32Blocks+4*NumTrType0_64Blocks
+8*NumTrType0_128Blocks+16*NumTrType0_256Blocks
+32*NumTrType0_512Blocks+64*NumTrType0_1024Blocks
+128*NumTrType0_2048Blocks+256*NumTrType0_4096Blocks
여기서 NumTrType0_XBlocks는 X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플 수에 대해 변환 유형 "0"을 사용하는 블록 수이다. 공식에서 인자 2, 4, … 256은 크기 16의 블록에 대한 블록 크기 비율에 해당한다. 예를 들어, 크기 32의 블록(NumTrType0_32Blocks)의 경우, 인자는 32/16 = 2이다. 크기 4096의 블록(NumTrType0_4096Blocks)의 경우, 인자는 4096/16 = 256이다.
예를 들어, 인코더가 "8" 및 "4" 샘플을 포함하는 블록 수로 NumTrType0_8Blocks 및 NumTrType0_4Blocks를 도출하는 경우, NumTrType0Blocks는 NumTrType0_8Blocks/2 또는 (NumTrType0_8Blocks +1)/2에 의해 그리고 NumTrType0_4Blocks/4 또는 (NumTrType0_4Blocks +2)/4에 의해 증분될 수 있다.
제3 실시예는 녹색 MPEG 메타데이터에서 엔트로피 디코딩 복잡성에 영향을 미치는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
이러한 제3 실시예에서, 상이한 정사각형 블록 크기에 대해, 0이 아닌 블록의 양과 관련된 AVC 및 HEVC에 대해 특정된 신택스 요소는 이제 상이한 수의 샘플의 정사각형 및 직사각형 블록에 대해 시그널링된다. 새로운 신택스 요소 portion_X_blocks_in_non_zero_area가 추가되며,X는 블록의 샘플 수이다(여기서,X =16, 32, 64, 128, 256, 512, 1024, 2048 및 4096). X=4096의 마지막 값은 VVC에서 정의된 64x64의 최대 변환 단위 크기와 동일한 크기를 갖는 블록을 고려하기 위해 도입되었음을 알 수 있다.
잔차 블록의 서브-파트만이 인코딩되고, 나머지 서브-파트는 0으로 설정되는, SBT 모드는 또한 엔트로피 디코딩에 직접 영향을 미친다. 따라서, SBT 모드와 관련된 새로운 신택스 요소 portion_sbt_blocks_in_non_zero_area가 추가된다. 신택스 요소 portion_sbt_blocks_in_non_zero_area는 서브-블록 변환(SBT) 모드의 상대적 사용을 나타낸다.
제4 실시예는 녹색 MPEG 메타데이터에서 역변환 복잡성에 영향을 미치는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
VVC에서, 몇몇 새로운 도구는 역변환의 복잡성에 영향을 미친다: JCCR, MTS, LFNST 및 BDPCM. 제4 실시예에서, 새로운 신택스 요소는 이들 새로운 도구를 처리하도록 정의된다:
portion_jccr_blocks_area: 이 새로운 신택스 요소는 JCCR 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_trtype0_blocks_area: 이 새로운 요소는 MTS 도구에서 변환 유형 0(DCT2)의 상대적 사용을 나타내기 위해 추가된다;
portion_trtype1_2_blocks_area: 이 새로운 신택스 요소는 MTS 도구에서 변환 유형 "1" 또는 "2"(각각 DST7 또는 DCT8)의 상대적 사용을 나타내기 위해 추가된다;
portion_lfnst_blocks_area: 이 새로운 신택스 요소는 LFNST 도구의 상대적 사용을 나타내기 위해 추가된다; 그것은 크기 16x16 및 48x16의 LFNST를 사용하여 픽처 내의 영역을 계수한다;
portion_bdpcm_blocks_area: 이 새로운 신택스 요소는 BDPCM 모드의 상대적 사용을 나타내기 위해 추가된다.
제5 실시예는 녹색 MPEG 메타데이터에서 인트라 예측 및 인트라 블록 디코딩 복잡성에 영향을 주는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
MIP, ISP, CCLM, IBC와 같은 새로운 인트라 예측 도구 및 인트라 영역의 기준 샘플 필터링은 디코딩 복잡성에 영향을 미친다. 제5 실시예에서, 새로운 신택스 요소는 이러한 새로운 도구를 처리하도록 정의된다:
portion_mip_blocks_in_intra_area: 이 새로운 신택스 요소는 MIP 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_isp_blocks_in_intra_area: 이 새로운 신택스 요소는 ISP 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_cclm_blocks_in_intra_area: 이 새로운 신택스 요소는 CCLM 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_ibc_blocks_in_intra_area: 이 새로운 신택스 요소는 IBC 모드의 상대적 사용을 나타내기 위해 추가된다;
ref_samples_filtering_in_intra_area: 이 새로운 신택스 요소는 인트라 예측에서 기준 샘플 필터링 모드의 상대적 사용을 나타내기 위해 추가된다.
변형에서, MIP는 블록 크기에 의존하는 상이한 크기의 매트릭스를 사용함에 따라, 신택스 요소 portion_mip_blocks_in_intra_area은 상이한 블록 크기에 대해 보고될 수 있다. 예를 들어, 다음의 신택스 요소가 도입될 수 있다:
16x4 블록에 대해 portion_mip16x4_blocks_in_intra_area;
16x8 블록에 대해 portion_mip16x8_blocks_in_intra_area;
64x8 블록에 대해 portion_mip64x8_blocks_in_intra_area.
대안적으로, 신택스 요소 portion_mip_blocks_in_intra_area의 값은 다음과 같이 상이한 블록 크기로부터의 파라미터 NumMipCodedBlocks로부터 계산될 수 있다:
NumMipCodedBlocks = 4 * NumMipCoded_16x4Blocks
+ 8 * NumMipCoded_16x8Blocks
인자 "4" 및 "8"은 크기 "16"의 블록에 대한 블록 크기 비율에 해당한다. 예를 들어, 크기 16x4의 블록(NumMipCoded_16x4Blocks)의 경우, 인자는 16x4/16 = 4이다. 크기 16x4의 블록(NumMipCoded_16x8Block)의 경우, 인자는 16x8/16 = 8이다. 인코더는 NumMipCodedblocks의 값을 계산하고, portion_mip_blocks_in_intra_areaNumMipCodedBlocks와 동일하게 설정하고, 스트림에서 portion_mip_blocks_in_intra_area를 시그널링한다.
제6 실시예는 녹색 MPEG 메타데이터에서 인터 예측 및 인터 블록 디코딩 복잡성에 영향을 미치는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
인터 예측의 복잡성에 영향을 주는 하나의 특징은 단방향 예측 또는 양방향 예측을 사용하여 블록이 예측된다는 사실이다. 이 정보는 기존의 녹색 MPEG 사양에서(즉, AVC 및 HEVC에 대해) 보고되지 않지만, 이는 디코더 복잡성에 중요한 영향을 미친다.
제6 실시예에서, 새로운 신택스 요소는 이 특징을 해결하도록 정의된다:
portion_uni_predicted_blocks_area: 이 새로운 신택스 요소는 인터 예측에서 단방향 예측의 상대적 사용을 나타내기 위해 추가된다;
portion_bi_predicted_blocks_area: 이 새로운 신택스 요소는 인터 예측에서 양방향 예측의 상대적 사용을 나타내기 위해 추가된다.
또한, 새로운 인터 예측 모드는 또한 디코딩 복잡성에 영향을 준다. 제7 실시예에서, 새로운 신택스 요소는 이들 새로운 모드를 해결하도록 정의된다:
portion_dmvr_blocks: 이 새로운 신택스 요소는 DMVR 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_bdof_blocks: 이 새로운 신택스 요소는 BDOF 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_prof_blocks: 이 새로운 신택스 요소는 PROF 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_ciip_blocks_area: 이 새로운 신택스 요소는 CIIP 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_gpm_blocks_area: 이 새로운 신택스 요소는 GPM 모드의 상대적 사용을 나타내기 위해 추가된다.
제7 실시예는 녹색 MPEG 메타데이터에서 시간적 예측 복잡성에 대한 보간에 영향을 주는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
위에서 알 수 있는 바와 같이, 모션 추정은 일반적으로, 픽처를 보간하는 것을 요구하는 서브-픽셀 정밀도로 수행된다. 제7 실시예에서, 3개의 신택스 요소는 3개의 가능한 보간 경우, 즉 정수-보간, 수평 또는 수직 방향에서의 서브-픽셀 보간, 수평 및 수직 방향에서의 서브-픽셀 보간을 고려하도록 정의된다:
portion_integer_interpolation_blocks: 이 새로운 신택스 요소는 모션 보상을 위한 정수-픽셀 보간의 상대적 사용을 나타내기 위해 추가된다;
portion_hor_or_ver_interpolation_blocks: 이 새로운 신택스 요소는 모션 보상을 위한 수평 또는 수직 방향 중 하나에서의 서브-픽셀 보간의 상대적 사용을 나타내기 위해 추가된다;
portion_hor_and_ver_interpolation_blocks: 이 새로운 신택스 요소는 모션 보상을 위한 수평 및 수직 방향에서의 서브-픽셀 보간의 상대적 사용을 나타내기 위해 추가된다.
제8 실시예는 녹색 MPEG 메타데이터에서 루프내 필터링 복잡성에 영향을 주는 새로운 특징에 적응된 CM을 제공하는 것에 초점을 맞춘다.
VVC에서, 3개의 새로운 루프내 필터링 도구가 도입되었다: ALF, CCALF, 및 LMCS. 제8 실시예에서, 3개의 신택스 요소가 이들 3개의 도구를 고려하도록 정의된다:
portion_alf_instances: 이 새로운 신택스 요소는 ALF 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_ccalf_instances: 이 새로운 신택스 요소는 CCALF 모드의 상대적 사용을 나타내기 위해 추가된다;
portion_lmcs_instances: 이 새로운 요소는 LMCS 모드의 상대적 사용을 나타내기 위해 추가된다.
다음의 표 TAB3은 VVC와 관련된 위의 8개의 실시예에 의해 도출된 녹색 MPEG SEI 신택스의 변경을 도시하는데, 여기서 기존의 녹색 MPEG SEI 신택스와 비교한 변경은 굵게 표시된다.
[표 TAB3]
슬라이스/타일/서브픽처 입도를 갖는 픽처별 시그널링에 해당하는, 4와 동일한 period_type의 경우, 동일한 신택스 변경이 신택스 부분에서 이루어지며, 인덱스 [t]가 각각의 추가된 신택스 요소에 대해 추가되고, t는 표 TAB3bis에 표현된 바와 같이 슬라이스/타일 인덱스를 나타낸다.
[표 TAB3bis]
Figure pct00063
제9 실시예는 녹색 MPEG 메타데이터 내의 서브픽처의 사용에 적응된 CM을 제공하는 것에 초점을 맞춘다.
서브픽처가 VVC 비트스트림에서 사용될 때, SEI에서 시그널링된 파라미터는 서브픽처마다 시그널링된다. 서브픽처는 VVC SPS의 신택스 요소 sps_num_subpics_minus1이 "0"보다 클 때 사용되며, sps_num_subpics_minus1은 픽처의 서브픽처 수를 나타낸다.
표 TAB4는 활성화된(값 5) 서브픽처의 경우에 대해 새로운 엔트리가 추가되는 표 TAB2의 수정된 버전을 나타낸다.
[표 TAB4]
또한, 표 TAB3의 신택스 요소는, 신택스 요소 period_type의 값의 동등성 검사를 5에 추가함으로써(if(period_type == 5)), 서브픽처 경우에 대해 복제된다. 사용 비율을 보고하는 신택스 요소는 서브픽처 인덱스를 나타내는 인덱스 [z]에 의해 인덱싱된다. 표 TAB3의 제9 실시예에 의해 도출된 일부 변형의 예시가 표 TAB5에 제공되어 있다.
[표 TAB5]
제9 실시예의 변형에서, 서브픽처 입도의 경우에, 사용 비율 파라미터는 또한 픽처의 기간에 대해 시그널링될 수 있다. 예를 들어, period_type (6, 7, 8)의 다음의 새로운 값에 의해:
제9 실시예의 변형에서, 새로운 period_type 값(period_type = 5)은 표 TAB2에 추가되지 않지만, 서브픽처의 경우에서 시그널링은 period_type 값 "4"(슬라이스/타일 입도를 갖는 단일 픽처)에 의존한다. 서브픽처의 경우, 서브픽처에 포함된 슬라이스를 식별하는 것이 필요하다. 이어서, 서브픽처를 디코딩할 때, 서브픽처에 의해 포함된 슬라이스를 식별하고, 이러한 슬라이스로부터의 메타데이터를 얻는 것이 가능하다. 이는 슬라이스가 속한 서브픽처를 식별하는 것을 허용하는 신택스 요소 sh_subpic_id 덕분에 수행될 수 있다.
제10 실시예에서, 도 1b의 103 및 104 단계에서 언급된 바와 같이, TAB3(또는 TAB3bis)의 녹색 MPEG SEI 메시지는 VVC NAL 유닛에서 전송되고, NAL(네트워크 추상화 계층) 유닛은 데이터 컨테이너이다. NAL 유닛은 디코더가 NAL 유닛에 의해 전송된 데이터의 유형을 인식하게 하는 NAL 유닛 유형에 의해 식별된다. 녹색 MPEG SEI 메시지의 경우에, NAL 유닛 유형은 PREFIX_SEI_NUT로 설정된다. 표 TAB6은, 표 TAB3에 기술된 바와 같이, 녹색 MPEG SEI 메시지를 전송하도록 적응된 페이로드의 신택스를 설명한다.
[표 TAB6]
신택스 요소 green_metadata_type의 시멘틱의 일례는 다음과 같다:
green_metadata_type: SEI 메시지에 존재하는 메타데이터의 유형을 특정함. green_metadata_type이 "0"인 경우, 복잡성 메트릭이 존재한다. 그렇지 않으면, green_metadata_type이 "1"인 경우, 저전력 인코딩 후에 품질 회복을 가능하게 하는 메타데이터가 존재한다. green_metadata_type의 다른 값은 ISO/IEC에 의한 미래 사용을 위해 예비된다.
하기에서, 상기에서 논의된 다양한 신택스 요소의 시맨틱의 일례가 제공된다:
Figure pct00070
period_type은 복잡성 메트릭이 적용가능하고 다음 표에 정의되는 다가오는 기간의 유형을 특정한다:
[표 TAB7]
num_secondsperiod_type이 "2"일 때 복잡성 메트릭이 적용가능한 초 수를 나타낸다.
num_picturesperiod_type이 "3"일 때 복잡성 메트릭이 적용가능한, 디코딩 순서로 계수된, 픽처의 수를 특정한다.
NumPicsInPeriod는 특정 기간에서의 픽처의 수이다. period_type이 "0"인 경우, NumPicsInPeriod는 "1"이다. period_type이 "1"인 경우, NumPicsInPeriod는 다음 I 슬라이스를 포함하는 픽처까지(포함하지 않음) 디코딩 순서로 픽처를 계수함으로써 결정된다. period_type이 "2"인 경우, NumPicsInPeriod는 프레임 속도로부터 결정된다. period_type이 "3"인 경우, NumPicsInPeriodnum_pictures와 같다.
total_number_4x4_blocks_in_period는 특정 기간에 코딩된 4x4 블록의 총 수를 특정한다. 파라미터 TotalNum4x4BlocksInPeriod는 다음과 같이 도출된다:
TotalNum4x4BlocksInPeriod는 특정 기간에 코딩되는 4x4 블록의 총 수이다. TotalNum4x4BlocksInPeriod은 다음과 같이 도출된다:
o TotalNum4x4BlocksInPeriod은 total_number_4x4_blocks_in_period와 동일하게 설정된다;
o 다음 조건이 참일 때, TotalNum4x4BlocksInPeriod는 (num_seconds x TotalNum4x4BlocksInPeriod)와 동일하게 설정되고:
period_type은 2와 같고;
num_seconds는 1보다 크다;
o 다음 조건이 참일 때, TotalNum4x4BlocksInPeriod는 (num_pictures x TotalNum4x4BlocksInPeriod + 64) / 128와 동일하게 설정되고:
period_type은 3과 같고;
num_pictures는 128보다 크다
portion_non_zero_blocks_area는, 4x4 블록 입도를 사용하여, 특정 기간의 픽처에서, 0이 아닌 변환 계수 값을 갖는 블록으로 덮힌 영역의 부분을 나타내며 다음과 같이 정의된다:
여기서 NumNonZeroBlocks는 4x4 입도를 사용하여 특정 기간에서 0이 아닌 변환 계수 값을 갖는 블록의 수이다. 인코더 측에서, NumNonZeroBlocks은 다음과 같이 계산된다:
여기서, NumNonZeroXBlocks은, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대해, 각각, 0이 아닌 변환 계수 값을 갖는 블록의 수이다.
NumNonZeroBlocks는 디코더에서 portion_non_zero_blocks_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_64_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "64" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero64Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "64" 샘플 블록의 수이다. 이는 디코더의 portion_64_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_128_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역에서 "128" 샘플 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero128Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "128" 샘플 블록의 수이다. 이는 디코더의 portion_128_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_256_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "256" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero256Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 256 샘플 블록의 수이다. 이는 디코더의 portion_256_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_512_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "512" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero512Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 512 샘플 블록의 수이다. 이는 디코더의 portion_512_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_1024_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "1024" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero1024Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "1024" 샘플 블록의 수이다. 이는 디코더의 portion_1024_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_2048_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "2048" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero2048Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "2048" 샘플 블록의 수이다. 이는 디코더의 portion_2048_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
portion_4096_blocks_in_non_zero_area는 특정 기간에서 0이 아닌 영역의 "4096" 샘플 블록 영역의 부분을 나타내며 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumNonZero4096Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "4096" 샘플 블록의 수이다. 디코더의 portion_4096_blocks_in_non_zero_area 및 NumNonZeroBlocks로부터 도출된다.
NumNonZero16Blocks는 특정 기간에서 0이 아닌 변환 계수 값을 갖는 "16" 샘플 블록의 수이다. NumNonZero4x4Blocks는 디코더에서 다음과 같이 NumNonZeroBlocks, NumNonZero64Blocks, NumNonZero128Blocks, NumNonZero256Blocks, NumNonZero512Blocks, NumNonZero1024Blocks, NumNonZero2048Blocks 및 NumNonZero4096Blocks로부터 도출된다:
portion_jccr_blocks_area는 4x4 입도를 사용하여 특정 기간의 픽처에서 JCCR 코딩된 블록에 의해 커버되는 영역의 부분을 나타내며 다음과 같이 정의된다:
NumJccrCodedBlocks는 4x4 입도를 사용하여 특정 기간에 JCCR로 코딩된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumJccrCoded_XBlocks는, 특정 기간에, 샘플의 수 X=16, 32, 64, 128, 256, 512,1024, 2048, 4096에 대해 JCCR로 코딩된 블록의 수이다.
NumJccrCodedBlocks는 디코더의 portion_jccr_blocks_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_trtype0_blocks_area는, 4x4 입도를 사용하여, 특정 기간의 픽처에서 유형 "0"의 변환을 사용하여 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
NumTrType0Blocks는 4x4 입도를 사용하여 특정 기간에 유형 0의 변환을 사용하는 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumTrType0_XBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플 수에 대해 변환 유형 "0"을 사용하는 블록의 수이다.
NumTrType0Blocks는 디코더의 portion_trtype0_blocks_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_trtype1_2_blocks_area는, 4x4 입도를 사용하여, 특정 기간의 픽처에서 유형 1 또는 2의 변환을 사용하여 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
NumTrType1_2Blocks는 4x4 입도를 사용하여 특정 기간에 유형 0의 변환을 사용하는 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumTrType1_2_XBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024으로부터의 샘플 수에 대해, 변환 유형 1 또는 2를 사용하는 블록의 수이다.
NumTrType1_2Blocks는 디코더의 portion_trtype1_2_blocks_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_lfnst_blocks_area는, 4x4 입도를 사용하여, 특정 기간의 픽처에서 LFNST 변환을 사용하는 블록으로 커버되는 영역의 부분을 나타내며 다음과 같이 정의된다:
는 4x4 입도를 사용하여 특정 기간에서 LFNST 변환을 사용하는 블록에 의해 커버되는 영역이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumLfnst16x16BlocksNumLfnst48x16Blocks는, 특정 기간에서, 각각 크기 16x16 및 48x16의 LFNST 변환을 사용하는 블록의 수이다.
NumLfnstBlocks는 디코더의 portion_lfnst_blocks_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_intra_predicted_blocks_area는는 4x4 입도를 사용하여 특정 기간의 픽처에서 인트라 예측된 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
NumIntraPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumIntraPredictedBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 예측을 사용하는 블록의 수이다.
NumIntraPredictedBlocks는 디코더에서 portion_intra_predicted_blocks_area 및TotalNum4x4BlocksInPeriod 로부터 도출된다.
portion_uni_predicted_blocks_area 4x4 입도를 사용하여 특정 기간의 픽처에서 인터 단일-예측된 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
NumUniPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인터 단일-예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumUniPredictedXBlocks은, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인터 단일-예측된 예측을 사용하는 블록의 수이다.
NumUniPredictedBlocks는 디코더에서 portion_uni_predicted_blocks_area 및TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_bi_predicted_blocks_area는 4x4 입도를 사용하여 특정 기간의 픽처에서 인터 이중-예측된 블록에 의해 커버되는 영역의 부분을 나타내고 다음과 같이 정의된다:
NumBiPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인터 이중-예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumBiPredictedXBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인터 이중-예측된 예측을 사용하는 블록의 수이다.
NumBiPredictedBlocks는 디코더에서 portion_bi_predicted_blocks_area 및TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_planar_blocks_in_intra_area는, 특정 기간에서, 인트라 예측된 영역에서 평면 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumPlanarPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 평면 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumPlanarPredictedXBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 평면 예측을 사용하는 블록의 수이다.
NumPlanarPredictedBlocks는 디코더에서 portion_planar_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_dc_blocks_in_intra_area는 특정 기간에서 인트라 예측된 영역에서 DC 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumDcPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 dc 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumDcPredictedXBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 DC 예측을 사용하는 블록의 수이다.
NumDcPredictedBlocks는 디코더에서 portion_dc_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_angular_hv_blocks_in_intra_area는 특정 기간에서 인트라 예측된 영역에서 각도 수평 또는 수직 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumAngularHVPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 각도 수평 또는 수직 예측 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 은, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 각도 수평 또는 수직 예측을 사용하는 블록의 수이다.
NumAngularHVPredictedBlocks는 디코더에서portion_angular_hv_blocks_in_intra_area 및 NumIntraPredictedBlocks로부터 도출된다.
portion_mip_blocks_in_intra_area은 특정 기간에서 인트라 예측된 영역에서 MIP 예측된 블록 영역의 부분을 나타내고, 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumMipPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 MIP 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 은, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 MIP 예측을 사용하는 블록의 수이다.
NumMipPredictedBlocks는 디코더에서 portion_mip_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_cclm_blocks_in_intra_area은 특정 기간에서 인트라 예측된 영역에서 CCLM 모드를 사용하는 블록 영역의 부분을 나타내고, 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumCclmPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 CCLM 크로마 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumCclmPredictedXBlocks은, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048로부터의 샘플의 수에 대한, 인트라 CCLM 예측을 사용하는 블록의 수이다.
NumCclmPredictedBlocks는 디코더에서 portion_cclm_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_ibc_blocks_in_intra_area은 특정 기간에서 인트라 예측된 영역에서 IBC 모드를 사용하여 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumIbcPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인트라 IBC 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumIbcPredictedXBlocks은, 특정 기간에서 X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인트라 IBC 예측을 사용하는 블록의 수이다.
NumIbcPredictedBlocks는 디코더에서 portion_ibc_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_integer_interpolation_blocks은, 특정 기간에서, 루마 샘플 위치가 수평 및 수직 정수-샘플 위치에 위치되는 예측 블록의 부분을 나타내고, 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumBlocksIntegerInterpolation은, 특정 기간에서, 루마 샘플 위치가 수평 및 수직 정수-샘플 위치에 위치되는 예측 블록의 수이다. 이는 디코더에서 portion_integer_interpolation_blocks 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_hor_or_ver_interpolation_blocks는, 특정 기간에, 루마 샘플 위치가 수평 또는 수직 방향 중 하나에서 정수 샘플 위치에, 그리고 다른 방향으로 서브-샘플 위치에 위치되는 예측 블록의 부분을 나타내고, 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumBlocksHorOrVerInterpolation는, 특정 기간에서, 루마 샘플 위치가 수평 또는 수직 방향 중 하나에서 정수-샘플 위치에 위치되는 예측 블록의 수이다. 이는 디코더에서 portion_hor_or_ver_interpolation_blocks 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_hor_and_ver_interpolation_blocks는, 특정 기간에서, 루마 샘플 위치가 수평 방향 및 수직 방향 둘 모두에서 서브-샘플 위치에 위치되는 예측 블록의 부분을 나타내고, 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumBlocksHorAndVerInterpolation는, 특정 기간에서, 루마 샘플 위치가 수평 방향 및 수직 방향 둘 모두에서 서브-샘플 위치에 위치되는 예측 블록의 수이다. 이는 디코더에서 portion_hor_and_ver_interpolation_blocks 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_dmvr_blocks 4x4 입도를 사용하여 특정 기간의 픽처에서 DMVR을 인가하는 블록에 의해 커버되는 영역의 부분을 나타내고 다음과 같이 정의된다:
NumBiPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서의 인터 이중-예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumBiPredictedXBlocks는, 특정 기간에서, X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 인터 이중-예측된 예측을 사용하는 블록의 수이다.
NumBiPredictedBlocks는 디코더에서 portion_bi_predicted_blocks_area 및TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_bdof_blocks는 특정 기간에서 인터 예측된 영역에서 BDOF 필터링을 사용하여 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumBdofPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서 BDOF 필터링을 사용하는 인터 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumBdofPredictedXBlocks는, 특정 기간에서 X=64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, BDOF 필터링을 사용하는 인터 코딩된 블록의 수이다.
NumBdofPredictedBlocks는 디코더에서 portion_bdof_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_prof_blocks는 특정 기간에서 인터 예측된 영역에서 PROF 필터링을 사용하여 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
NumProfPredictedBlocks는 4x4 입도를 사용하여 특정 기간에서 PROF 필터링을 사용하는 인터 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumProfPredictedXBlocks는, 특정 기간에서 X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, PROF 필터링을 사용한 인터 코딩된 블록의 수이다.
NumProfPredictedBlocks는 디코더에서 portion_prof_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_gpm_blocks_area은 특정 기간에서 GPM 인터 예측된 영역을 사용하는 블록 영역의 부분을 나타내고 다음과 같이 정의된다:
존재하지 않는 경우, "0"과 동일하다.
는 4x4 입도를 사용하여 특정 기간에서 GPM을 사용하는 인터 예측된 블록의 수이다. 인코더 측에서, 그것은 다음과 같이 계산된다:
여기서 NumGpmPredictedXBlocks는, 특정 기간에서 X=64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대해, GPM을 사용하는 인터 코딩된 블록의 수이다.
NumGpmPredictedBlocks는 디코더에서 portion_gpm_blocks_in_intra_area 및 TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_deblocking_instances는, 특정 기간에, 본 문서의 용어 및 정의에서 정의된 바와 같이, 디블록킹 필터링 인스턴스의 부분을 나타내고, 다음과 같이 정의된다:
ChromaFormatMultiplier는 다음 표 TAB8에 나타낸 바와 같이 VVC 변수 sps_chroma_format_idc에 의존한다.
[표 TAB8]
NumDeblockingInstances는 특정 기간에서의 디블록킹 필터링 인스턴스의 수이다. 이는 디코더에서 portion_deblocking_instances, TotalNum4x4BlocksInPeriod 및 ChromaFormatMultiplier로부터 도출된다.
portion_alf_instances는, 특정 기간에, 본 문서의 용어 및 정의에서 정의된 바와 같이, ALF 필터링 인스턴스의 부분을 나타내고, 다음과 같이 정의된다:
NumAlfInstances는 특정 기간에서의 ALF 필터링 인스턴스의 수이다. 이는 디코더에서 portion_alf_instances, TotalNum4x4BlocksInPeriod로부터 도출된다.
portion_ccalf_instances는, 특정 기간에, 본 문서의 용어 및 정의에서 정의된 바와 같이, CCALF 필터링 인스턴스의 부분을 나타내고 다음과 같이 정의된다:
NumCcalfInstances는 특정 기간에서 CCALF 필터링 인스턴스의 수이다. 이는 디코더에서 portion_ccalf_instances, TotalNum4x4BlocksInPeriod로부터 도출된다.
max_num_slices_tiles_subpicture_minus1는 슬라이스의 수와 연관된 픽처에서의 타일의 수 사이의 최대 수를 특정한다.
first_ctb_in_slice_or_tile_or_subpict[t]는 래스터 스캔 순서로 slice[t] 또는 tile[t]에서 제1 코딩 트리 블록(CTB) 수를 특정한다.
period_type이 "4"(슬라이스 또는 타일당 시그널링에 해당함)인 경우에, 파라미터 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]는 다음과 같이 정의된다:
TotalNum4x4BlocksInSliceOrTileOrSubpic[t]는 slice[t] 또는 tile[t]에서 4x4 블록의 총 수이고, ISO/IEC 23090-3의 "CTB 래스터 스캐닝, 타일 스캐닝 및 서브픽처 스캐닝 프로세스" 절에 명시된 파라미터 ctbToTileColIdx, ctbToTileRowIdx, ColWidthValRowHeightVal를 사용하여, 다음 계산에 의해 결정된다:
o ctbAddrX = first_ctb_in_slice_or_tile_or_subpict[t]
o tileColIdx = ctbToTileColIdx[ ctbAddrX ]
o tileRowIdx = ctbToTileRowIdx[ ctbAddrX ]
o tileWidth = ColWidthVal[ tileColIdx ]
o tileHeight = RowHeightVal [ tileRowIdx ]
o TotalNum4x4BlocksInSliceOrTileOrSubpic[t] = tileWidth * tileHeight * (1 << (CtbLog2SizeY-2))²
period_type이 "5"(서브픽처별 시그널링에 해당함)인 경우에, 파라미터 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]는 다음과 같이 정의된다.
TotalNum4x4BlocksInSliceOrTileOrSubpic[t]는 subpict[t]에서 4x4 블록의 총 수이고, ISO/IEC 23090-3의 "시퀀스 파라미터 세트 RBSP 시맨틱" 절에 명시된 신택스 요소 sps_subpic_ctu_top_left_x 및 sps_subpic_ctu_top_left_y를 사용하여, 다음 계산에 의해 결정된다:
o subpicWidth = 1 + sps_subpic_width_minus1[ t ]
o subpicHeight = 1 + sps_subpic_height_minus1[ t ]
o TotalNum4x4BlocksInSliceOrTileOrSubpic[t] = subpicWidth * subpicHeight * (1 << (CtbLog2SizeY-2))²
그 다음, index[t]를 추가하고, 를 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]로 대체하여 위에서 설명한 모든 신택스 요소를 복제한다.
예를 들어, 다음의 신택스 요소가 추가된다:
portion_non_zero_blocks_area[t]는, slice[t] 또는 tile[t] 또는 subpicture[t]에서, 4x4 블록 입도를 사용하여, 0이 아닌 변환 계수 값을 갖는 블록에 의해 커버되는 영역의 부분을 나타내고, 다음과 같이 정의된다:
여기서 NumNonZeroBlocks[t]는 4x4 입도를 사용하여 slice[t] 또는 tile[t]에서 0이 아닌 변환 계수 값을 갖는 블록의 수이다. 인코더 측에서, NumNonZeroBlocks[t]는 다음과 같이 계산된다:
여기서 NumNonZeroXBlocks[t]는, slice[t] 또는 tile[t]에서, 각각 X=16, 32, 64, 128, 256, 512, 1024, 2048, 4096으로부터의 샘플의 수에 대한, 0이 아닌 변환 계수 값을 갖는 블록의 수이다.
NumNonZeroBlocks[t]는 디코더에서portion_non_zero_blocks_area[t] 및 로부터 도출된다.
더 명시적으로, 디코더에서, 파라미터 는, 0이 아닌 변환 계수를 포함하는, 4x4(또는 16개의 샘플) 블록의 수 를 도출하는 데 사용된다. 이 수는 다음과 같이 도출된다:
그리고, 표 Tab6에서 시그널링된 신택스 요소 portion_64_blocks_in_non_zero_area[t] 또는 portion_alf_instances[t]와 같은, 코딩 모드의 사용 비율과 관련된 모든 다른 신택스 요소에 대해서도 마찬가지인데, 이는 파라미터 또는 로부터 인코더에서 계산된 다음 SEI에서 시그널링되고, 이는 디코더에서 SEI로부터 디코딩되고 각각 파라미터 또는 를 도출하는 데 사용된다.
또는 와 같은 파라미터를 디코더가 이용하여, 예를 들어 ISO/IEC 23001-11 (그린 메타데이터) 사양의 Annex B.1에 설명된 바와 같이, 작동 주파수를 변경하여 디코더 전력 소비를 줄인다.
일 실시예에서, 디코딩 복잡성 메트릭에 관련된 신택스 요소는 메타데이터의 더 콤팩트한 표현을 얻기 위해 그룹화되거나 제거된다. 일례가 표 TBA9에 제공된다. 표 TAB9에서, 메트릭을 나타내기 위한 입도는 4x4 블록이 아니고, 일부 실시예에서 지원되는 최소 변환 블록에 해당하는, "4" 샘플의 블록이다. 예를 들어, 0이 아닌 영역에 관련된 신택스 요소는 상이한 블록 크기에 대해 그룹화되어, "4" 신택스 요소 portion_non_zero_4_8_16_blocks_area(크기 "4", "8" 및 "16" 샘플의 변환 블록 포함), portion_non_zero_32_64_128_blocks_area(크기 "32", "64" 및 "128" 샘플의 변환 블록 포함), portion_non_zero_256_512_1024_blocks_area(크기 "256", "512" 및 "1024" 샘플의 변환 블록 포함) 및 portion_non_zero_2048_4096_blocks_area(크기 "2048" 및 "4096" 샘플의 변환 블록 포함)으로 이어진다. 변환과 관련된 몇몇 신택스 요소가 제거되었다(portion_jccr_blocks_area, portion_trtype0_blocks_area, portion_trtype1_2_blocks_area, portion_lfnst_blocks_area, portion_bdpcm_blocks_area). 인트라- 및 인터-관련 신택스 요소가 또한 단순화되었다. portion_non_zero_transform_coefficients_area는 0이 아닌 블록에서 0이 아닌 계수의 부분을 나타낸다.
인트라 부분의 경우, 단지 "4" 신택스 요소가 고려된다 : portion_planar_blocks_in_intra_area(평면 예측을 사용한 블록 예측의 부분),portion_dc_blocks_in_intra_area(DC 예측을 사용한 블록 예측의 부분),portion_angular_hv_blocks_in_intra_area(방향 수평 또는 수직 예측을 사용한 블록 예측의 부분), portion_mip_blocks_in_intra_area(MIP 예측을 사용한 블록 예측의 부분).
인터 부분의 경우, 단지 portion_bi_and_gpm_predicted_blocks_area가 정의되고, 단일-예측 부분은 그것으로부터 그리고 기간 내의 블록의 총 수로부터 추론될 수 있다.
루프 필터링의 경우, 각각의 루프 필터에 대한 신택스 요소가 정의된다: portion_deblocking_instances, portion_sao_filtered_blocks, portion_alf_filtered_blocks.
[표 TAB9]
Figure pct00177
period_type는 표 TAB10에 다음과 같이 정의된다.
[표 TAB10]
표 TAB9의 예에서, "3" 이하의 period_type에 대한 최대 페이로드 크기는 "14" 바이트이다.
이 예에서, "3"보다 큰 period_type에 대한 최대 페이로드 크기는 (3 + 11*세그먼트의 수)바이트이며, 여기서 세그먼트는 픽처에서 타일, 슬라이스 또는 서브픽처로 정의된다.
컴팩시티를 개선하는 제1 실시예로 불리는, 디코딩 복잡성 메트릭 메타데이터의 컴팩시티를 개선하는 다른 실시예에서, 0이 아닌 블록과 관련된 상세한 신택스 요소 portion_non_zero_4_8_16_blocks_area, portion_ non_zero_32_64_128_blocks_area, portion_ non_zero_256_512_1024_blocks_area, portion_ non_zero_2048_4096_blocks_area는 추가로 그룹화된다. 예를 들어, 이들은 "2" 신택스 요소 portion_non_zero_small_blocks_area 및 portion_non_zero_large_blocks_area로 그룹화되며, 여기서 작은 블록은 샘플 수가 M 샘플 이하인 샘플의 수를 갖는 변환 블록이고, 큰 블록은 M 샘플보다 많은 샘플의 수를 갖는 변환 블록이다. 일 실시예에서 M은 (32x32 미만의 변환에 해당하는) "512"와 동일하다. 다른 실시예에서 M은 (최대 32x32까지의 변환에 해당하는) "1024"와 동일하다. 컴팩시티를 개선하는 제1 실시예의 변형에서, 0이 아닌 블록과 관련된 상세한 신택스 요소는 제거되고 단지 portion_non_zero_blocks_area 및 portion_non_zero_transform_coefficients_area이 변환 복잡성을 적격화하는 신택스 요소로서 유지된다.
컴팩시티를 개선하는 제2 실시예로 불리는, 디코딩 복잡성 메트릭 메타데이터의 컴팩시티를 개선하는 다른 실시예에서, 인트라 코딩에 관련된 신택스 요소는, 인트라 예측을 사용하는 부분 영역을 나타내는 하나의 신택스 요소(portion_intra_predicted_blocks_area)에, 인트라 예측을 사용하는 영역 중에서, MIP 예측의 사용을 나타내는 하나의 신택스 요소(portion_mip_blocks_in_intra_area)를 더하여, 그룹화된다.
컴팩시티를 개선하는 제2 실시예의 변형에서, 신택스 요소 portion_mip_blocks_in_intra_area는 제거되고, 신택스 요소 portion_planar_blocks_in_intra_area, portion_dc_blocks_in_intra_area 및 portion_angular_hv_blocks_in_intra_area는, 신택스 요소 portion_intra_predicted_blocks_area에 더하여, 유지된다.
컴팩시티를 개선하는 제2 실시예의 다른 변형에서, 인트라 코딩과 관련된 신택스 요소는, 글로벌 계수 신택스 요소 portion_intra_predicted_blocks_area를 제외하고, 제거된다.
컴팩시티를 개선하는 제3 실시예로 불리는, 디코딩 복잡성 메트릭 메타데이터의 컴팩시티를 개선하는 다른 실시예에서, 루프 필터링에 관련된 신택스 요소는 그룹화된다. 예를 들어, portion_sao_filtered_blocksportion_alf_filtered_blocksportion_sao_alf_filtered_blocks로 그룹화된다.
표 TAB11은, 페이로드 크기를 줄이는 것을 목표로 하는 위의 컴팩시티를 개선하는 제1, 제2 및 제3 실시예에 기초한, 디코딩 복잡성 메타데이터의 가장 컴팩트 버전을 보여준다. 이 버전에 기초하여, "3" 이하인 period_type에 대한 최대 페이로드 크기는 "9" 바이트이다(이는 확장된 버전에 비해 "5" 바이트가 절약됨을 의미함). 신택스 요소는 "3"보다 큰 period_type에 대해 각 타일/슬라이스/서브픽처에 대해 복제된다.
[표 TAB11]
일 실시예에서, 컴팩트 버전, 또는 메타데이터 페이로드의 완전한 버전이 사용되는지 여부를 나타내기 위해 신택스 요소가 추가된다. 예를 들어, 이는 신택스 요소 extended_representation_flag를 사용하여 표시된다.
바이트 정렬된 페이로드를 유지하기 위해, 플래그가 추가될 때, period_type를 코딩하기 위한 비트 길이는 가능하게는 "1" 비트 만큼 감소된다. 이러한 비트 길이 감소는 대안적으로 페이로드에 포함된 다른 신택스 요소 중 임의의 것에 적용될 수 있다. 대안적으로, 이는 period_type의 특정 값에 의해 표시된다. 대안적으로, "8" 비트가 extended_representation_flag를 코딩하기 위해 사용되고 "8" 비트가 period_type를 코딩하기 위해 사용된다.
아래의 표 TAB12는 결과적인 페이로드를 보여주며, 이는 디코딩 복잡성 메트릭의 콤팩트한 및 더 상세한(확장된) 표현을 가능하게 한다. 이 예는 period_type <= 3에 대해서만 제시되지만 period_type > 3(타일/슬라이스/서브픽처 버전)의 경우에 대해 쉽게 일반화할 수 있다.
컴팩트한 및 확장된 버전 둘 모두에 대해 정의된 코어 신택스 요소가 존재한다, 즉:
portion_non_zero_blocks_area,
portion_non_zero_transform_coefficients_area,
portion_intra_predicted_blocks_area,
portion_bi_and_gpm_predicted_blocks_area,
portion_deblocking_instances, portion_sao_alf_filtered_blocks.
또한, 확장된 신택스 요소는 확장된 버전이 사용될 때 시그널링된다:
portion_non_zero_4_8_16_blocks_area,
portion_non_zero_32_64_128_blocks_area,
portion_non_zero_256_512_1024_blocks_area,
portion_non_zero_2048_4096_blocks_area,
portion_planar_blocks_in_intra_area,
portion_dc_blocks_in_intra_area,
portion_angular_hv_blocks_in_intra_area,
portion_mip_blocks_in_intra_area.
[표 TAB12]
일 실시예에서, 플래그 extended_representation_flag는 타일/슬라이스/서브픽처 경우에 대해, 즉 본 문서에서 사용된 period_type 정의를 참조할 때 period_type이 "3"보다 큰 경우에만 시그널링된다.
시그널링/디코딩 프로세스의 일례가 2개의 상이한 구현으로 도 8a 및 도 8b에 예시되어 있다.
도 8a에서, extended_representation_flag의 값은 800 단계에서 확인된다. extended _representation_flag가 거짓이면, 코어 신택스 요소만 801 단계에서 디코딩된다. extended_representation_flag가 참이면, 코어 및 확장된 신택스 요소가 802 단계에서 디코딩된다.
도 8b에서, 코어 신택스 요소만이 803 단계에서 디코딩된다. 이어서, extended_representation_flag의 값은 804 단계에서 확인된다. extended_representation_flag가 참이면, 확장된 신택스 요소가 805 단계에서 디코딩된다.
다른 실시예에서, 타일/슬라이스 경우와 서브픽쳐 경우 사이에 period_type 값의 차이가 없다. 대신에, period_type 값은, 아래의 표 TAB13에서 굵은 글꼴로 표시된 바와 같이, 타일/슬라이스/서브픽처 입도가 사용되는지 또는 아닌지 여부를 나타낼 수 있다.
[표 TAB13]
타일/슬라이스/서브픽처 입도가 사용될 때, 타일, 슬라이스 또는 서브픽처 중에서 어느 유형의 세그먼트가 사용되는지를 나타내기 위해 추가적인 신택스 요소가 추가된다. 아래의 표에서, 이러한 신택스 요소는 type_segments로 명명된다. type_segments = 0인 경우, 세그먼트는 타일에 해당하고, type_segments = 1인 경우, 세그먼트는 슬라이스에 해당하고, type_segments = 2인 경우, 세그먼트는 서브픽처에 해당한다. 대안적으로, type_segments = 0인 경우, 세그먼트는 타일 또는 슬라이스에 해당하고, type_segments = 1인 경우, 세그먼트는 서브픽처에 해당한다. 다른 값은 미래에 또는 특정 응용에 대해 정의될 수 있는 다른 유형의 세그먼트를 위해 예비된다.
아래의 표 TAB14는, period_type >= 4에 해당하는, 타일/슬라이스/서브픽처 입도의 경우에 대한 이 새로운 신택스 요소 type_segments를 포함한다.
[표 TAB14]
파라미터 TotalNum4BlocksInSegment[t]는 세그먼트에서 4-샘플 블록의 수를 정의하고, 세그먼트는 type_segments가 "0"일 때 슬라이스 또는 타일이고, type_segments가 "1"일 때 서브픽처이며, 다음과 같이 정의된다:
TotalNum4BlocksInSegment[t]는 slice[t] 또는 tile[t] 또는 subpicture[t]에서 4-샘플 블록의 총 수이고, MaxNumDbfInstancesInSegment[t]는 slice[t] 또는 tile[t] 또는 subpicture[t]에서 디블록킹 인스턴스의 최대 수이다. TotalNum4BlocksInSegment[t] 및 MaxNumDbfInstancesInSegment[t]는 다음 계산에 의해 결정된다.
- type_segments가 0인 경우, TotalNum4BlocksInSegment[t]는 ISO/IEC 23090-3의 "시퀀스 파라미터 세트 RBSP 시멘틱" 절에 특정된 신택스 요소 sps_subpic_ctu_top_left_x 및 sps_subpic_ctu_top_left_y로부터 다음과 같이 도출된다:
- ctbAddrX는 first_ctb_in_segment[t]와 동일하게 설정된다
- tileColIdx는 ctbToTileColIdx[ctbAddrX]와 동일하게 설정된다
- tileRowIdx는 ctbToTileRowIdx[ctbAddrX]와 동일하게 설정된다
- tilewidth는ColWidthVal[tileColIdx ]<< (CtbLog2SizeY - 1)와 동일하게 설정된다
- tileHeight는 RowHeightVal[tileRowIdx ]<< (CtbLog2SizeY - 1)와 동일하게 설정된다
- TotalNum4BlocksInsegment[t]는 (tilewidth * tileHeight)와 동일하게 설정된다
- MaxNumDbfinstancesInsegment[t]는 ChromaFormatMultiplier * (tileWidth * tileHeight - 2 * (tileWidth + tileHeight))와 동일하게 설정된다
- 그렇지 않으면, type_segments가 1인 경우, TotalNum4BlocksInSegment[t]는 ISO/IEC 23090-3의 "CTB 래스터 스캐닝, 타일 스캐닝 및 서브픽처 스캐닝 프로세스" 절에 특정된 파라미터 ctbToTileColIdx, ctbToTileRowIdx, ColWidthValRowHeightVal로부터 다음과 같이 도출된다:
- subpicWidth는 (1 + sps_subpic_width_minus1[t]) << (CtbLog2SizeY - 1)와 동일하게 설정된다
- subpicHeight는 (1 + sps_subpic_height_minus1[t]) << (CtbLog2SizeY - 1)와 동일하게 설정된다
- TotalNum4BlocksInSegment[t]는 (subpicWidth * subpicHeigh)와 동일하게 설정된다
- MaxNumDbfInstancesInSegment[t]는 ChromaFormatMultiplier * (subpicWidth * subpicHeight - 2 * (subpicWidth + subpicHeight))와 동일하게 설정된다
도 7은 실시예에 따른 디코딩 프로세스의 블록도를 예시한다.
단계(700)에서, 처리 모듈(500)은 파라미터 period_type를 확인한다.
period_type이 슬라이스, 타일 또는 서브픽처 입도를 갖는 단일 픽처에 해당하지 않는 경우, 처리 모듈(500)은 701 단계에서 파라미터 TotalNum4x4BlocksInPeriod를 도출한다.
이어서, 703 단계에서, 처리 모듈(500)은 기간의 픽처를 디코딩하여, 기간 동안 코딩 모드의 사용 비율을 도출하기 위해 TotalNum4x4BlocksInPeriod의 값을 고려함으로써, 디코더 전력 소모를 줄인다.
700 단계에서, period_type이 슬라이스, 타일 또는 서브픽처 입도를 가진 단일 픽처에 해당하는 경우, 처리 모듈(500)은 702 단계에서 파라미터 period_type을 다시 확인한다.
702 단계에서, period_type이 서브픽처 입도에 해당하는 경우, t1에서 tK로 진행하는 인덱스 t에 의해 인덱싱된, 디코딩될 K개의 서브픽처에 대해(704 단계), 처리 모듈(500)은 705 단계에서 값 period_type = 5에 대해 위에서 설명한 프로세스에 따라 파라미터 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]를 도출한다.
이어서, 처리 모듈(500)은 706 단계에서 인덱스 t의 서브픽처를 디코딩하고, 서브픽처에서 코딩 모드의 사용 비율을 도출하기 위해 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]의 값을 고려함으로써, 디코더 전력 소모를 감소시킨다.
702 단계에서, period_type이 서브픽처 입도에 해당하지 않는 경우, t1에서 nbTiles로 진행하는 인덱스 t에 의해 인덱싱된, 디코딩될 각 타일에 대해(707 단계), 처리 모듈(500)은 708 단계에서 값 period_type = 4 에 대해 위에서 설명한 프로세스에 따라 파라미터 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]를 도출한다.
이어서, 709 단계에서, 처리 모듈(500)은 인덱스 t의 타일을 디코딩하여, 타일에서 코딩 모드의 사용 비율을 도출하기 위해 TotalNum4x4BlocksInSliceOrTileOrSubpic[t]의 값을 고려함으로써, 디코더 전력 소모를 감소시킨다.
일 실시예에서, 서브픽처 입도에 해당하는 period_type의 경우에, 디코더는 서브픽처가 관련있는 인코더를 나타내는 후방 채널을 사용할 수 있어서, 그러한 서브픽처에 해당하는 사용 비율 값만이 SEI에서 계산되고 시그널링된다.
다수의 실시예가 전술되었다. 이들 실시예의 특징은 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예는 다양한 청구 범위 및 유형에 걸쳐 단독으로 또는 임의의 조합으로 다음의 특징, 디바이스, 또는 양태 중 하나 이상을 포함할 수 있다:
기술된 신택스 요소, 또는 이들의 변형 중 하나 이상을 포함하는 비트스트림 또는 신호.
기술된 신택스 요소, 또는 이들의 변형 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예 중 적어도 하나를 수행하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
기술된 실시예 중 적어도 하나를 수행하고 생성된 이미지를(예: 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 수신할 채널을 (예: 동조기를 사용하여) 동조시키고, 기술된 실시예 중 적어도 하나를 수행하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 무선으로 (예: 안테나를 사용하여) 수신하고 기술된 실시예 중 적어도 하나를 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.

Claims (32)

  1. 방법으로서,
    픽처의 시퀀스를 나타내는 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 데이터 구조 메타데이터에서 시그널링하는 단계(102); 및
    상기 비디오 스트림의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 데이터 구조를 상기 비디오 스트림에 연관시키는 단계(103)를 포함하되; 적어도 하나의 인코딩 도구 또는 특징은
    상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는,
    픽처에서 주어진 크기의 블록의 총 수; 또는,
    정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는, 방법.
  2. 제1항에 있어서, 상기 데이터 구조는 SEI 메시지인, 방법.
  3. 제1항 또는 제2항에 있어서, 에너지 소비를 나타내는 상기 정보는 복수의 픽처를 포함하는 상기 픽처의 서브세트에 응답하여 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존하는, 방법.
  4. 제1항 또는 제2항에 있어서, 상기 메타데이터에서 시그널링된 픽처에서 상기 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 상기 적어도 하나의 인코딩 도구 또는 특징은:
    엔트로피 디코딩;
    역변환;
    인트라 예측 및 인트라 블록 디코딩;
    인터 예측 및 인터 블록 디코딩;
    시간적 예측에 대한 보간;
    루프내 필터링;
    서브픽처의 사용 중 적어도 하나에 관련되는, 방법.
  5. 제1항 또는 제2항에 있어서, 에너지 소비를 나타내는 상기 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능한, 방법.
  6. 제5항에 있어서,
    에너지 소비를 나타내는 상기 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 방법이 적용되고;
    에너지 소비를 나타내는 상기 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 방법이 적용되는, 방법.
  7. 제1항 또는 제2항에 있어서, 픽처에서 주어진 크기의 블록의 총 수는 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링되는, 방법.
  8. 방법으로서,
    비디오 스트림에 의해 표현되는 픽처의 시퀀스의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대한 상기 비디오 스트림에 연관되고 상기 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 메타데이터를 포함하는 데이터 구조를 획득하는 단계(102)를 포함하되, 적어도 하나의 인코딩 도구 또는 특징은:
    상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는,
    상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는,
    정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는, 방법.
  9. 제8항에 있어서, 상기 데이터 구조는 SEI 메시지인, 방법.
  10. 제8항 또는 제9항에 있어서, 에너지 소비를 나타내는 상기 정보는 복수의 픽처를 포함하는 상기 픽처의 서브세트에 응답하여 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존하는, 방법.
  11. 제8항 또는 제9항에 있어서, 상기 메타데이터에서 시그널링된 픽처에서 상기 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 상기 적어도 하나의 인코딩 도구 또는 특징은:
    엔트로피 디코딩;
    역변환;
    인트라 예측 및 인트라 블록 디코딩;
    인터 예측 및 인터 블록 디코딩;
    시간적 예측에 대한 보간;
    루프내 필터링;
    서브픽처의 사용 중 적어도 하나에 관련되는, 방법.
  12. 제8항 또는 제9항에 있어서, 에너지 소비를 나타내는 상기 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능한, 방법.
  13. 제12항에 있어서,
    에너지 소비를 나타내는 상기 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 방법이 적용되고;
    에너지 소비를 나타내는 상기 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 방법이 적용되는, 방법.
  14. 제8항 또는 제9항에 있어서, 픽처에서 주어진 크기의 블록의 총 수는 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링되는, 방법.
  15. 디바이스로서,
    픽처의 시퀀스를 나타내는 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 데이터 구조 메타데이터에서 시그널링(102)하기 위한 수단; 및
    상기 비디오 스트림의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대해 상기 데이터 구조를 상기 비디오 스트림에 연관시키기 위한 수단을 포함하되; 적어도 하나의 인코딩 도구 또는 특징은:
    상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는,
    상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는,
    정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는, 디바이스.
  16. 제15항에 있어서, 상기 데이터 구조는 SEI 메시지인, 디바이스.
  17. 제15항 또는 제16항에 있어서, 에너지 소비를 나타내는 상기 정보는 복수의 픽처를 포함하는 상기 픽처의 서브세트에 응답하여 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존하는, 디바이스.
  18. 제15항 또는 제16항에 있어서, 상기 메타데이터에서 시그널링된 픽처에서 상기 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 상기 적어도 하나의 인코딩 도구 또는 특징은:
    엔트로피 디코딩;
    역변환;
    인트라 예측 및 인트라 블록 디코딩;
    인터 예측 및 인터 블록 디코딩;
    시간적 예측에 대한 보간;
    루프내 필터링;
    서브픽처의 사용 중 적어도 하나에 관련되는, 디바이스.
  19. 제15항 또는 제16항에 있어서, 에너지 소비를 나타내는 상기 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능한, 디바이스.
  20. 제19항에 있어서,
    에너지 소비를 나타내는 상기 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 수단이 사용되고;
    에너지 소비를 나타내는 상기 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 수단이 사용되는, 디바이스.
  21. 제15항 또는 제16항에 있어서, 픽처에서 주어진 크기의 블록의 총 수는 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링되는, 디바이스.
  22. 디바이스로서,
    비디오 스트림에 의해 표현되는 픽처의 시퀀스의 기간을 나타내는 픽처의 적어도 하나의 서브세트에 대한 상기 비디오 스트림에 연관되고 상기 비디오 스트림을 획득하도록 구현된 인코딩 도구 및/또는 특징에 의해 도출된 에너지 소비를 나타내는 메타데이터를 포함하는 데이터 구조를 획득(102)하기 위한 수단을 포함하되, 적어도 하나의 인코딩 도구 또는 특징은:
    상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기; 또는,
    상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링된 픽처에서 주어진 크기의 블록의 총 수; 또는,
    정사각형 및 직사각형 블록당 샘플의 수에 의존하는 에너지 소비를 나타내는 정보에 연관되는, 디바이스.
  23. 제22항에 있어서, 상기 데이터 구조는 SEI 메시지인, 디바이스.
  24. 제21항 또는 제22항에 있어서, 에너지 소비를 나타내는 상기 정보는 복수의 픽처를 포함하는 상기 픽처의 서브세트에 응답하여 상기 픽처의 시퀀스에 대해 정의된 단일 기준 픽처 크기에 의존하는, 디바이스.
  25. 제21항 또는 제22항에 있어서, 상기 메타데이터에서 시그널링된 픽처에서 상기 주어진 크기의 블록의 총 수에 의존하는 에너지 소비를 나타내는 정보에 연관된 상기 적어도 하나의 인코딩 도구 또는 특징은:
    엔트로피 디코딩;
    역변환;
    인트라 예측 및 인트라 블록 디코딩;
    인터 예측 및 인터 블록 디코딩;
    시간적 예측에 대한 보간;
    루프내 필터링;
    서브픽처의 사용 중 적어도 하나에 관련되는, 디바이스.
  26. 제22항 또는 제23항에 있어서, 에너지 소비를 나타내는 상기 정보는 단일 픽처에 또는 인트라 슬라이스를 포함하는 다음 픽처까지 디코딩 순서로 모든 픽처에, 또는 특정 시간 간격에 걸쳐, 또는 디코딩 순서로 계수된 특정 수의 픽처에 걸쳐, 또는 슬라이스 또는 타일 입도를 갖는 단일 픽처에, 또는 서브픽처 입도를 갖는 단일 픽처에 적용가능한, 디바이스.
  27. 제26항에 있어서,
    에너지 소비를 나타내는 상기 정보가 슬라이스 또는 타일 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제1 수단이 적용되고;
    에너지 소비를 나타내는 상기 정보가 서브픽처 입도를 갖는 단일 픽처에 적용가능한 것에 응답하여 픽처에서 주어진 크기의 블록의 총 수를 도출하기 위해 제2 수단이 적용되는, 디바이스.
  28. 제22항 또는 제23항에 있어서, 픽처에서 주어진 크기의 블록의 총 수는 상기 픽처의 적어도 하나의 서브세트에 대한 상기 메타데이터에서 시그널링되는, 디바이스.
  29. 제15항 내지 제28항 중 어느 한 항에 따른 디바이스를 포함하는 장치.
  30. 제1항 내지 제7항 중 어느 한 항의 방법에 의해 또는 제15항 내지 제21항 중 어느 한 항의 디바이스에 의해 또는 제29항이 제15항 내지 제21항 중 한 항에 의존할 경우 제29항의 장치에 의해 생성된, 신호.
  31. 제1항 내지 제14항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어를 포함하는, 컴퓨터 프로그램.
  32. 제1항 내지 제14항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어를 저장하는, 비일시적 정보 저장 매체.
KR1020237026391A 2021-02-03 2022-01-18 디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하기 위한 메타데이터 KR20230140450A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP21305142.8 2021-02-03
EP21305142 2021-02-03
EP21306117 2021-08-13
EP21306117.9 2021-08-13
PCT/EP2022/050947 WO2022167210A1 (en) 2021-02-03 2022-01-18 Metadata for signaling information representative of an energy consumption of a decoding process

Publications (1)

Publication Number Publication Date
KR20230140450A true KR20230140450A (ko) 2023-10-06

Family

ID=80218417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237026391A KR20230140450A (ko) 2021-02-03 2022-01-18 디코딩 프로세스의 에너지 소비를 나타내는 정보를 시그널링하기 위한 메타데이터

Country Status (6)

Country Link
US (1) US20240121403A1 (ko)
EP (1) EP4289139A1 (ko)
JP (1) JP2024504672A (ko)
KR (1) KR20230140450A (ko)
IL (1) IL304421A (ko)
WO (1) WO2022167210A1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609329B2 (en) * 2013-06-25 2017-03-28 Samsung Electronics Co., Ltd Dynamic voltage/frequency scaling for video processing using embedded complexity metrics
US9866846B2 (en) * 2014-10-14 2018-01-09 Samsung Electronics Co., Ltd. Method and apparatus for video processing with complexity information

Also Published As

Publication number Publication date
IL304421A (en) 2023-09-01
JP2024504672A (ja) 2024-02-01
WO2022167210A1 (en) 2022-08-11
EP4289139A1 (en) 2023-12-13
US20240121403A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
JP7087071B2 (ja) 符号化方法及び機器
CN113748676B (zh) 帧内编解码模式下的矩阵推导
KR20210145752A (ko) 행렬 기반 인트라 예측을 위한 최고 확률 모드 리스트 구성
KR102618466B1 (ko) 보간 필터를 사용하는 인트라 예측을 위한 방법 및 장치
TW201711461A (zh) 片級內部區塊複製及其他視訊寫碼改善
JP7143512B2 (ja) ビデオ復号方法およびビデオデコーダ
AU2020206823B2 (en) Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool
JP2022159392A (ja) ビデオ符号化のための位置依存の空間変化変換
US20230164360A1 (en) Method and device for image encoding and decoding
JP2023500503A (ja) 符号化及び復号化方法並びに装置
US20230188757A1 (en) Method and device to finely control an image encoding and decoding process
US20240121403A1 (en) Metadata for signaling information representative of an energy consumption of a decoding process
US20240205412A1 (en) Spatial illumination compensation on large areas
RU2815738C2 (ru) Определение режима кодирования цветности на основе внутрикадрового предсказания на основе матрицы
US20230379482A1 (en) Spatial resolution adaptation of in-loop and post-filtering of compressed video using metadata
EP4246971A1 (en) Quantization parameter decoding method and device
CN117015969A (zh) 用于发信号通知表示解码过程的能量消耗的信息的元数据
KR20240018650A (ko) 픽처 리샘플링을 위한 고급 신택스
EP3994883A1 (en) Chroma format dependent quantization matrices for video encoding and decoding
WO2023114155A1 (en) Methods and devices for decoder-side intra mode derivation
WO2024126057A1 (en) Reference picture marking process based on temporal identifier
WO2023129744A1 (en) Methods and devices for decoder-side intra mode derivation
CN118160303A (zh) 用于解码器侧帧内模式推导的方法和设备