KR20240018650A - 픽처 리샘플링을 위한 고급 신택스 - Google Patents

픽처 리샘플링을 위한 고급 신택스 Download PDF

Info

Publication number
KR20240018650A
KR20240018650A KR1020247000920A KR20247000920A KR20240018650A KR 20240018650 A KR20240018650 A KR 20240018650A KR 1020247000920 A KR1020247000920 A KR 1020247000920A KR 20247000920 A KR20247000920 A KR 20247000920A KR 20240018650 A KR20240018650 A KR 20240018650A
Authority
KR
South Korea
Prior art keywords
filter
filtering
pictures
parameters
metadata
Prior art date
Application number
KR1020247000920A
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 KR20240018650A publication Critical patent/KR20240018650A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/179Methods 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 scene or a shot
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방법으로서, 비디오 데이터로부터 비디오 시퀀스를 표현하는 복수의 픽처 중 한 픽처를 디코딩하는 단계(701); 비디오 데이터에 연관된 메타데이터로부터 결정된 필터의 파라미터를 획득하는 단계(702) - 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함함 -; 및 메타데이터에 응답하여 디코딩된 픽처에 필터를 적용하는 단계(703)를 포함한다.

Description

픽처 리샘플링을 위한 고급 신택스
본 실시예들 중 적어도 하나는 일반적으로 비디오 콘텐츠의 픽처들을 리샘플링하도록 의도된 포스트 필터링(post-filtering) 프로세스를 제어하기 위한 방법, 장치 및 신호에 관한 것이다.
높은 압축 효율을 달성하기 위해, 비디오 코딩 스킴들은 통상적으로 비디오 콘텐츠에서 공간적 리던던시 및 시간적 리던던시를 활용하기 위해 예측 및 변환을 채용한다. 인코딩 동안, 비디오 콘텐츠의 픽처들은 샘플들(즉, 픽셀들)의 블록들로 분할되고, 이러한 블록들은 이어서, 하기에서 오리지널 하위 블록들로 불리는 하나 이상의 하위 블록들로 파티셔닝된다. 이어서, 인트라 또는 인터 예측이 인트라 또는 인터 이미지 상관관계들을 활용하기 위해 각각의 하위 블록에 적용된다. 어떤 예측 방법(인트라 또는 인터)이 사용되었든, 예측자 하위 블록이 각각의 오리지널 하위 블록에 대해 결정된다. 이어서, 예측 에러 하위 블록, 예측 잔차 하위 블록, 또는 간단히 잔차 블록으로 종종 표시되는, 오리지널 하위 블록과 예측자 하위 블록 사이의 차이를 표현하는 하위 블록이, 인코딩된 비디오 스트림을 생성하도록 변환되고 양자화되고 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 변환, 양자화, 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
MPEG-4/AVC(ISO/CEI 14496-10), HEVC(ISO/IEC 23008-2 - MPEG-H Part 2, 고효율 비디오 코딩/ITU-T H.265)와 같은 최신 세대의 비디오 압축 표준들 또는 JVET(Joint Video Experts Team)로 알려진 ITU-T와 ISO/IEC 전문가들의 공동 협력 팀에 의해 개발 중인 VVC(Versatile Video Coding)라고 불리는 국제 표준은 모두 적응된 메타데이터의 정의를 통해 포스트 필터링의 사용을 선호한다. 예를 들어, SEI(Supplemental Enhanced Information) 메시지가 일부 포스트 필터링 파라미터를 전달하기 위해 정의되었다.
VVC에서는, RPR(Reference Picture Resampling)이라는 새로운 도구가 픽처 해상도가 이질적인 픽처들의 시퀀스들을 인코딩할 수 있게 한다.
도 1은 RPR 도구의 적용례를 나타낸다. 도 1에서, 픽처 4는 픽처 3으로부터 시간적으로 예측된다. 픽처 3은 픽처 2로부터시간적으로 예측된다. 픽처 2는 픽처 1로부터 시간적으로 예측된다. 픽처 4와 픽처 3은 상이한 해상도를 가지므로, 픽처 3은 디코딩 프로세스 동안 픽처 4 해상도로 업샘플링된다. 픽처 3과 2는 동일한 해상도를 갖는다. 시간적 예측을 위해 픽처 2에는 업샘플링이나 다운샘플링이 적용되지 않는다. 픽처 1은 픽처 2보다 크다. 디코딩 프로세스 동안 픽처 2의 시간적 예측을 위해 픽처 1에 다운샘플링이 적용된다. 그러나, 시간적 예측을 위해 적용되는 리샘플링 프로세스는 일반적으로 블록 레벨에서 적용되므로, 리샘플링된 픽처는 디코더의 출력에서 이용 가능하지 않다. 재구성된 해상도의 픽처들만이 이용 가능하며, 상이한 해상도들의 픽처로 인코딩된 비디오 시퀀스는 인코딩된 해상도의 픽처들과 함께 출력된다. 따라서 픽처 해상도를 균질화하기 위해서는 리샘플링 포스트 필터링 프로세스가 필요하다.
지금까지 정의된 포스트 필터링 SEI 메시지들은 주로 출력 픽처 주관적 품질을 개선하기 위해 의도된 필터들을 지정하도록 설계되었다. 이러한 SEI 메시지들은 리샘플링 필터들을 지정하기 위해 설계되지 않았으며, 또한 불균질한 해상도들을 갖는 픽처들을 포함하는 비디오 시퀀스들을 위해 설계되지도 않았다. 실제로, 이러한 SEI 메시지들은 비디오 시퀀스의 모든 픽처를 동일하게 포스트 필터링하도록 설계되었지만 픽처 해상도를 균질화하도록 의도된 리샘플링 포스트 필터링 프로세스는 상이한 해상도의 픽처들을 동일하게 처리할 수 없다.
상기 문제를 극복할 수 있게 하는 솔루션을 제안하는 것이 바람직하다. 특히, 리샘플링 포스트 필터들을 지정하고 이러한 해상도들의 균질화가 필요한 불균질한 인코딩된 해상도를 갖는 비디오 시퀀스의 특정 경우에 적응될 수 있게 하는 솔루션을 제안하는 것이 바람직하다.
제1 양태에서, 본 실시예들 중 하나 이상은 방법을 제공하는 바, 본 방법은,
비트스트림의 일부로부터 비디오 시퀀스를 나타내는 복수의 픽처 중 현재 픽처를 디코딩하는 단계; 비트스트림에 임베딩된 메타데이터로부터 결정된 필터의 파라미터들을 획득하는 단계 - 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함함 -; 및 메타데이터에 응답하여 디코딩된 현재 픽처에 필터를 적용하는 단계를 포함한다.
일 실시예에서, 필터는 리샘플링 필터이다.
일 실시예에서, 필터는 분리 가능한 필터이고 메타데이터는 수평 필터의 파라미터들 및 수직 필터의 파라미터들을 지정한다.
일 실시예에서, 필터는 픽처들의 서브세트의 각 픽처의 루마(luma) 및 크로마(chroma) 성분에 적용되도록 의도되고, 메타데이터는 루마 성분의 필터링을 위해 적응된 필터의 파라미터들 및 루마 성분들의 필터링을 위해 적응된 필터의 파라미터들과는 다른 크로마 성분들의 필터링을 위해 적응된 필터의 파라미터들을 지정한다.
일 실시예에서, 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 필터가 적용된다는 것을 지정한다.
일 실시예에서, 메타데이터는 복수의 필터링 방법 중 한 필터링 방법을 지정하는 제2 정보를 포함한다.
일 실시예에서, 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링(bilinear filtering), 방향성 큐빅 컨볼루션 보간(Directional Cubic Convolution Interpolation), 반복 곡률 기반 보간(Iterative Curvature-based Interpolation), 에지 가이드 이미지 보간(Edge-Guided Image Interpolation) 및 딥러닝 기반 필터링 방법을 포함한다.
제2 양태에서, 본 실시예들 중 하나 이상은 방법을 제공하는 바, 본 방법은,
비트스트림의 일부에서 비디오 시퀀스를 나타내는 복수의 픽처들을 인코딩하는 단계; 및 비트스트림에서 필터를 나타내는 메타데이터를 인코딩하는 단계를 포함하고, 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함한다.
일 실시예에서, 필터는 리샘플링 필터이다.
일 실시예에서, 필터는 분리 가능한 필터이고 메타데이터는 수평 필터의 파라미터들 및 수직 필터의 파라미터들을 지정한다.
일 실시예에서, 필터는 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 메타데이터는 루마 성분의 필터링을 위해 적응된 필터의 파라미터들 및 루마 성분들의 필터링을 위해 적응된 필터의 파라미터들과는 다른 크로마 성분들의 필터링을 위해 적응된 필터의 파라미터들을 지정한다.
일 실시예에서, 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 필터가 적용된다는 것을 지정한다.
일 실시예에서, 메타데이터는 복수의 필터링 방법 중 한 필터링 방법을 지정하는 제2 정보를 포함한다.
일 실시예에서, 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함한다.
제3 양태에서, 본 실시예들 중 하나 이상은 전자 회로부를 포함하는 디바이스를 제공하는 바, 전자 회로부는,
비트스트림의 일부로부터 비디오 시퀀스를 나타내는 복수의 픽처 중 현재 픽처를 디코딩하도록; 비트스트림에 임베딩된 메타데이터로부터 결정된 필터의 파라미터들을 획득하도록 - 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함함 -; 그리고 메타데이터에 응답하여 디코딩된 현재 픽처에 필터를 적용하도록 구성된다.
일 실시예에서, 필터는 리샘플링 필터이다.
일 실시예에서, 필터는 분리 가능한 필터이고 메타데이터는 수평 필터의 파라미터들 및 수직 필터의 파라미터들을 지정한다.
일 실시예에서, 필터는 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 메타데이터는 루마 성분의 필터링을 위해 적응된 필터의 파라미터들 및 루마 성분들의 필터링을 위해 적응된 필터의 파라미터들과는 다른 크로마 성분들의 필터링을 위해 적응된 필터의 파라미터들을 지정한다.
일 실시예에서, 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 필터가 적용된다는 것을 지정한다.
일 실시예에서, 메타데이터는 복수의 필터링 방법 중 한 필터링 방법을 지정하는 제2 정보를 포함한다.
일 실시예에서, 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함한다.
제4 양태에서, 본 실시예들 중 하나 이상은 전자 회로부를 포함하는 디바이스를 제공하는 바, 전자 회로부는,
비트스트림의 일부에서 비디오 시퀀스를 나타내는 복수의 픽처들을 인코딩하도록; 그리고 비트스트림에서 필터를 나타내는 메타데이터를 인코딩하도록 구성되고, 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함한다.
일 실시예에서, 필터는 리샘플링 필터이다.
일 실시예에서, 필터는 분리 가능한 필터이고 메타데이터는 수평 필터의 파라미터들 및 수직 필터의 파라미터들을 지정한다.
일 실시예에서, 필터는 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 메타데이터는 루마 성분의 필터링을 위해 적응된 필터의 파라미터들 및 루마 성분들의 필터링을 위해 적응된 필터의 파라미터들과는 다른 크로마 성분들의 필터링을 위해 적응된 필터의 파라미터들을 지정한다.
일 실시예에서, 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 필터가 적용된다는 것을 지정한다.
일 실시예에서, 메타데이터는 복수의 필터링 방법에서 한 필터링 방법을 지정하는 제2 정보를 포함한다.
일 실시예에서, 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함한다.
제5 양태에서, 본 실시예들 중 하나 이상은 비디오 시퀀스를 나타내는 복수의 픽처와 연관되며 필터를 나타내는 메타데이터를 포함하는 신호를 제공하며, 메타데이터는 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 정보를 포함한다.
제6 양태에서, 본 실시예들 중 하나 이상은 제1 또는 제2 양태에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램을 제공한다.
제7 양태에서, 본 실시예 중 하나 이상은 제1 또는 제2 양태에 따른 방법을 구현하기 위한 프로그램 코드 명령어를 저장하는 비일시적 정보 저장 매체를 제공한다.
도 1은 기준 픽처 리샘플링 도구의 적용례를 나타낸다.
도 2는 오리지널 비디오의 픽셀들의 픽처가 겪는 파티셔닝의 예를 개략적으로 예시한다.
도 3은 비디오 스트림을 인코딩하기 위한 방법을 개략적으로 도시한다.
도 4는 인코딩된 비디오 스트림을 디코딩하기 위한 방법을 개략적으로 도시한다.
도 5a는 실시예들이 구현되는 비디오 스트리밍 시스템의 예를 개략적으로 예시한다.
도 5b는 다양한 양태 및 실시예가 구현되는 인코딩 모듈 또는 디코딩 모듈을 구현할 수 있는 처리 모듈의 하드웨어 아키텍처의 예를 개략적으로 예시한다.
도 5c는 다양한 양태 및 실시예가 구현되는 제1 시스템의 예의 블록도를 예시한다.
도 5d는 다양한 양태 및 실시예가 구현되는 제2 시스템의 예의 블록도를 예시한다.
도 6은 이러한 픽처들의 리샘플링을 제어할 수 있는 메타데이터와 함께 비디오 시퀀스의 픽처들을 인코딩하기 위한 방법의 예를 개략적으로 예시한다.
도 7은 메타데이터에 응답하여 이러한 픽처들을 리샘플링하는 것을 포함하는 픽처들을 재구성하기 위한 방법의 예를 개략적으로 나타낸다.
실시예들의 다음의 예들은 VVC와 유사한 비디오 포맷의 맥락에서 설명된다. 그러나, 이러한 실시예는 VVC에 상응하는 비디오 코딩/디코딩 방법으로 제한되지 않는다. 이러한 실시예들은 특히, 상이한 해상도들을 갖는 그리고/또는 픽처의 재구성된 해상도가 디스플레이 해상도와 다를 수 있는 픽처들을 포함하는 비디오 스트림들을 생성할 수 있게 하는 임의의 비디오 포맷에 적응된다. 이러한 포맷들은, 예를 들어 표준 HEVC, S-HVC(Scalable High Efficiency Video Coding), AVC, SVC(Scalable Video Coding), EVC(Essential Video Coding/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로 수직으로 파티셔닝된다.
픽처의 코딩 동안, 파티셔닝은 적응적이며, 각각의 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)는 리샘플링(다운샘플링 또는 업샘플링)을 포함할 수 있다. 리샘플링은 일부 픽처에 적용될 수 있어서, 생성된 비트스트림은 오리지널 해상도에서의 픽처들 및 다른 해상도에서의 픽처를 포함할 수 있다. 리샘플링은 일반적으로 다운샘플링으로 이루어지고, 생성된 비트스트림의 비트레이트를 감소시키는 데 사용된다. 그럼에도 불구하고, 업샘플링이 또한 가능하다. 전처리에 의해 획득된 픽처는 다음에서 전처리된 픽처로 지칭된다.
전처리된 픽처의 인코딩은, 도 1과 관련하여 설명된 바와 같이, 단계 302 동안 전처리된 픽처의 파티셔닝으로 시작한다. 따라서 전처리된 픽처는 CTU, CU, PU, TU 등으로 파티셔닝된다. 각 블록에 대해, 인코딩 모듈은 인트라 예측과 인터 예측 간의 코딩 모드를 결정한다.
인트라 예측은, 인트라 예측 방법에 따라, 단계 303 동안, 코딩될 현재 블록의 인과적 부근에 위치한 재구성된 블록의 픽셀로부터 도출된 예측 블록으로부터 현재 블록의 픽셀을 예측하는 것으로 이루어진다. 인트라 예측의 결과는 부근에서 블록의 어느 픽처를 사용할지를 나타내는 예측 방향, 및 현재 블록과 예측 블록 사이의 차이의 계산에 기인한 잔차 블록이다.
인터 예측은 현재 픽처를 선행하거나 후행하는 픽처(이러한 픽처는 기준 픽처로 지칭됨)의, 기준 블록으로 지칭되는, 픽셀 블록으로부터 현재 블록의 픽셀을 예측하는 것으로 이루어진다. 인터 예측 방법에 따른 현재 블록의 코딩 동안, 유사도 기준에 따라, 현재 블록에 가장 가까운 기준 픽처의 블록이 모션 추정 단계 304에 의해 결정된다. 단계 304 동안, 기준 픽처 내의 기준 블록의 위치를 나타내는 모션 벡터가 결정된다. 상기 모션 벡터는, 현재 블록과 참조 블록 사이의 차이의 형태로 잔차 블록이 계산되는 모션 보상 단계(305) 동안 사용된다. 제1 비디오 압축 표준에서, 전술된 단방향 인터 예측 모드는 이용가능한 유일한 인터 모드였다. 비디오 압축 표준이 진화함에 따라, 인터 모드의 계열은 유의하게 성장하였고, 이제 많은 상이한 인터 모드를 포함한다.
선택 단계 306 동안, 테스트되는 예측 모드(인트라 예측 모드, 인터 예측 모드) 중에서, 속도/왜곡 최적화 기준(즉, RDO 기준)에 따라, 압축 성능을 최적화하는 예측 모드가 인코딩 모듈에 의해 선택된다.
예측 모드가 선택될 때, 잔차 블록은 단계 307 동안 변환되고 단계 309 동안 양자화된다. 인코딩 모듈은 변환을 스킵할 수 있고, 변환되지 않은 잔차 신호에 직접 양자화를 적용할 수 있다는 것에 주목한다. 현재 블록이 인트라 예측 모드에 따라 코딩될 때, 예측 방향 및 변환되고 양자화된 잔차 블록이 단계 310 동안 엔트로피 인코더에 의해 인코딩된다. 현재 블록이 인터 예측에 따라 인코딩될 때, 적절한 경우, 블록의 모션 벡터는 코딩될 블록 부근에 배치된 재구성된 블록에 상응하는 모션 벡터의 세트로부터 선택된 예측 벡터로부터 예측된다. 모션 정보는 다음으로, 단계 310 동안 엔트로피 인코더에 의해 모션 잔차 및 예측 벡터를 식별하기 위한 인덱스의 형태로 인코딩된다. 변환되고 양자화된 잔차 블록은 단계 310 동안 엔트로피 인코더에 의해 인코딩된다. 인코딩 모듈은 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉, 엔트로피 인코딩이 변환 또는 양자화 프로세스의 적용 없이 잔차에 적용된다는 것에 주목한다. 엔트로피 인코딩의 결과는 인코딩된 비디오 스트림(311)에 삽입된다.
SEI(보충 향상 정보) 메시지와 같은 메타데이터가 인코딩된 비디오 스트림(311)에 부착될 수 있다. 예를 들어, AVC, HEVC 또는 VVC와 같은 표준들에서 정의된 바와 같은 SEI 메시지는, 비디오 스트림에 연관되고 비디오 스트림에 대한 정보를 제공하는 메타데이터를 포함하는 데이터 컨테이너이다.
일부 SEI 메시지는 포스트 필터링 정보를 전송하기 위해 정의되었다. 이러한 SEI 메시지의 일례가 표 TAB1에 나타나 있다.
[표 TAB1]
상기 SEI 메시지는 포스트 필터링 픽처들에 대한 필터를 정의할 수 있게 한다. 이 SEI 메시지는 포스트 필터의 계수 또는 포스트 필터 설계를 위한 상관 정보를 제공한다. 이 SEI 메시지는 전형적으로 디코더에 의해 출력되는 픽처들의 주관적 품질을 개선할 수 있게 하는 포스트 필터들을 위해 설계되었다.
이 SEI 메시지에서:
Figure pct00008
filter_hint_size_y는 필터 계수 어레이 또는 상관 어레이의 수직 크기를 지정하는 신택스 요소이다. filter_hint_size_y의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
filter_hint_size_x는 필터 계수 어레이 또는 상관 어레이의 수평 크기를 지정하는 신택스 요소이다. filter_hint_size_x의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
filter_hint_type은 아래 표 TAB2에 지정된 바와 같이 송신된 필터 힌트들의 유형을 식별하는 신택스 요소이다. filter_hint_type의 값은 "0" 내지 "2"를 포함하는 범위에 있을 것이다. "3"과 같은 filter_hint_type의 값은 향후 사용을 위해 예약된다. 디코더들은 "3"과 같은 filter_hint_type을 갖는 포스트 필터 힌트 SEI 메시지를 무시할 것이다.
[표 TAB2]
filter_hint_value[ cIdx ][ cy ][ cx ]는 필터 계수를 지정하는 신택스 요소 또는 16비트 정밀도의 오리지널 신호와 디코딩된 신호 사이의 교차상관 행렬의 요소이다. filter_hint_value[ cIdx ][ cy ][ cx ]의 값은 + 1 내지 - 1을 포함하는 범위에 있을 것이다.cIdx는 관련된 색상 성분을 지정하고, cy는 수직 방향의 카운터를 나타내고, cx는 수평 방향의 카운터를 나타낸다. filter_hint_type의 값에 따라, 다음이 적용된다:
filter_hint_type이 "0"과 같은 경우, filter_hint_size_y * filter_hint_size_x의 크기를 갖는 2차원 FIR(Finite Impulse Response) 필터의 계수가 송신된다.
그렇지 않고, filter_hint_type이 "1"과 같은 경우, 2개의 1차원 FIR 필터의 필터 계수가 송신된다. 이 경우, filter_hint_size_y는 "2"와 같을 것이다. "0"과 같은 인덱스 cy는 수평 필터의 필터 계수를 지정하고, "1"과 같은 cy는 수직 필터의 필터 계수를 지정한다. 필터링 프로세스에서는, 수평 필터가 먼저 적용되고 결과가 수직 필터에 의해 필터링된다.
그렇지 않은 경우(filter_hint_type이 "2"와 같음), 송신된 힌트들은 오리지널 신호와 디코딩된 신호 간의 교차상관 행렬을 지정한다.
표 TAB1의 SEI 메시지의 한 가지 제한사항은 이 SEI 메시지의 적용 가능성에 대한 지속기간 또는 시간 간격을 지정할 수 없다는 것이다. 이 SEI 메시지는 시퀀스 레벨로 적용되며, 적용 가능성은 픽처 해상도에 의존하지 않는다. 다른 제한사항은 이 SEI 메시지에 의해 지정될 수 있는 필터 유형의 수가 제한된다는 것이다. 예를 들어, 필터의 최종 세대인 뉴럴 네트워크에 기초하여 필터들을 지정할 수 없다. 또한, 픽처들의 시각적(주관적) 품질을 개선하도록 의도된 필터들만이 지정될 수 있다. 리샘플링 필터들은 지정될 수 없다.
특히 크로마 전용 리샘플링 정보를 전송하기 위해 다른 SEI 메시지가 정의되었다. 이 SEI 메시지가 표 TAB3에 나타나 있다.
[표 TAB3]
TAB3의 SEI 메시지는 디코딩된 픽처들의 크로마 성분들에 대한 하나의 다운샘플링 프로세스와 하나의 업샘플링 프로세스를 시그널링한다. TAB3의 SEI 메시지에 시그널링된 리샘플링 프로세스가 사용될 때, 디코딩된 픽처들에 대해 수행되는 임의의 수의 업샘플링 및 다운샘플링 반복에 대해, 색상 성분들의 열화가 최소화될 것으로 예상된다.
ver_chroma_filter_idc는 표 TAB4에 지정된 바와 같이 다운샘플링 및 업샘플링 필터 세트들의 수직 성분들을 식별하는 신택스 요소이다. ver_chroma_filter_idc의 값에 기초하여, verFilterCoeff[ ][ ]의 값들은 표 TAB5으로부터 도출된다. ver_chroma_filter_idc의 값은 "0" 내지 "2"를 포함하는 범위에 있을 것이다. "2"보다 큰 ver_chroma_filter_idc의 값들은 향후 사용을 위해 예약된다.
ver_chroma_filter_idc가 "0"과 같을 때, 수직 방향의 크로마 리샘플링 필터는 지정되지 않는다.
chroma_format_idc가 "1"과 같을 때, ver_chroma_filter_idc는 "1" 또는 "2"와 같을 것이다.
[표 TAB4]
[표 TAB5]
hor_chroma_filter_idc는 표 TAB6에 지정된 바와 같이 다운샘플링 및 업샘플링 필터 세트들의 수평 성분들을 식별하는 신택스 요소이다. hor_chroma_filter_idc의 값에 기초하여, horFilterCoeff[ ][ ]의 값들은 표 TAB7로부터 도출된다. hor_chroma_filter_idc의 값은 0 내지 2를 포함하는 범위에 있을 것이다. "2"보다 큰 hor_chroma_filter_idc의 값들은 향후 사용을 위해 예약된다.
hor_chroma_filter_idc가 "0"과 같을 때, 수평 방향의 크로마 리샘플링 필터는 지정되지 않는다.
chroma_format_idc가 "3"과 같을 때, hor_chroma_filter_idc는 "1" 또는 "2"와 같을 것이다.
chroma_format_idc가 "2"와 같고 ver_chroma_filter_idc가 "2"와 같을 때, hor_chroma_filter_idc는 "0"과 같을 것이다.
ver_chroma_filter_idchor_chroma_filter_idc가 모두 "0"과 같지 않아야 된다는 것이 비트스트림 적합성의 요구사항이다.
[표 TAB6]
[표 TAB7]
TAB3의 SEI 메시지는 TAB1의 SEI 메시지와 동일한 제한사항들을 갖는다. 또한, 그것은 크로마에만 적용된다.
양자화 단계 309 후에, 현재 블록은 그 블록에 상응하는 픽셀이 미래의 예측에 사용될 수 있도록 재구성된다. 이러한 재구성 단계는 예측 루프로도 지칭된다. 따라서, 역양자화가 단계 312 동안 변환되고 양자화된 잔차 블록에 적용되고, 역변환이 단계 313 동안 적용된다. 단계 314 동안 획득된 블록에 사용되는 예측 모드에 따라, 블록의 예측 블록이 재구성된다. 현재 블록이 인터 예측 모드에 따라 인코딩되는 경우, 인코딩 모듈은, 적절한 경우, 단계 316 동안, 현재 블록의 기준 블록을 식별하기 위해 현재 블록의 모션 벡터를 사용하여 모션 보상을 적용한다. 현재 블록이 인트라 예측 모드에 따라 인코딩되는 경우, 단계 315 동안, 현재 블록에 대응하는 예측 방향은 현재 블록의 예측 블록을 재구성하기 위해 사용된다. 예측 블록 및 재구성된 잔차 블록은 재구성된 현재 블록을 획득하기 위해 추가된다.
재구성 이후, 인코딩 아티팩트를 감소시키도록 의도된 인루프 필터링이, 단계 317 동안, 재구성된 블록에 적용된다. 이러한 필터링은 인루프 필터링으로 불리는데, 이러한 필터링이 예측 루프 내에서 발생하여, 인코더와 동일한 기준 픽처들을 디코더에서 획득하고 이에 따라 인코딩과 디코딩 프로세스 사이의 드리프트를 피하기 때문이다. 인루프 필터링 도구는 디블록킹 필터링, SAO(Sample adaptive Offset) 및 ALF(Adaptive Loop Filtering)를 포함한다.
블록이 재구성될 때, 그것은 단계 318 동안, 일반적으로 디코딩된 픽처 버퍼(DPB: Decoded Picture Buffer)라고 불리는 재구성된 픽처들의 메모리(319)에 저장된 재구성된 픽처 내로 삽입된다. 이와 같이 저장된 재구성된 픽처들은 이어서 코딩될 다른 픽처들에 대한 기준 픽처들로서의 역할을 할 수 있다.
RPR이 활성화될 때, DPB에 저장된 픽처들(즉, 그들의 적어도 일부)로부터의 샘플들은 모션 추정 및 보상에 사용될 때 단계 320에서 리샘플링된다. 리샘플링 단계 320과 모션 보상 단계 316은 하나의 단일 샘플 보간 단계로 조합될 수 있다. 실제로 모션 보상을 사용하는 모션 추정 단계(304)는 이 경우에도 단일 샘플 보간 단계를 사용한다는 점에 유의해야 한다.
도 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)는 하나의 단일 샘플 보간 단계로 조합될 수 있다.
불균질한 픽처 해상도를 갖는 비디오 시퀀스를 디스플레이하는 것이 사용자에게 허용되지 않기 때문에, RPR이 사용될 때, 해상도를 균질화하기 위해 재구성된 픽처에 대한 후처리 단계(421)에서 리샘플링이 적용된다.
상기에 이미 언급된 바와 같이, 지금까지 정의된(그리고 표 TAB1 및 TAB3과 관련하여 설명된) 포스트 필터링 SEI 메시지의 하나의 문제는 이러한 SEI 메시지들이 상이한 해상도로 인코딩된 픽처들을 포함하는 비디오 시퀀스에 적응되지 않는다는 것이다. 이하에서는, 이 문제를 처리하기 위해 새로운 SEI 메시지들이 제안된다.
후처리 단계 421은 또한 역 컬러 변환(예를 들어, YCbCr 4:2:0로부터 RGB 4:4:4로의 변환), 단계 301의 전처리에서 수행된 리매핑 프로세스의 역을 수행하는 역 매핑 및 예를 들어 SEI 메시지에 제공된 필터 파라미터들에 기초하여 재구성된 픽처들을 개선하기 위한 포스트 필터링을 포함할 수 있다.
도 5a는 이하의 실시예들이 구현될 수 있는 정황의 예를 설명한다.
도 4a에서, 카메라, 저장 디바이스, 컴퓨터, 서버 또는 비디오 스트림을 전달할 수 있는 임의의 디바이스일 수 있는, 장치(51)는 통신 채널(52)을 사용하여 비디오 스트림을 시스템(53)으로 송신한다. 비디오 스트림은 장치(51)에 의해 인코딩되고 송신되거나 장치(51)에 의해 수신 및/또는 저장된 다음 송신된다. 통신 채널(52)은 유선(예를 들어, 인터넷 또는 이더넷) 또는 무선(예를 들어, WiFi, 3G, 4G 또는 5G) 네트워크 링크이다.
예를 들어 셋톱박스일 수 있는 시스템(53)은 비디오 스트림을 수신하고 디코딩하여 디코딩된 픽처들의 시퀀스를 생성한다.
이어서, 디코딩된 픽처들의 획득된 시퀀스는 유선 또는 무선 네트워크일 수 있는 통신 채널(54)을 사용하여 디스플레이 시스템(55)으로 송신된다. 그 후, 디스플레이 시스템(55)은 상기 픽처들을 디스플레이한다.
일 실시예에서, 시스템(53)은 디스플레이 시스템(55)에 포함된다. 이 경우, 시스템(53) 및 디스플레이(55)는 TV, 컴퓨터, 태블릿, 스마트폰, 헤드 마운트 디스플레이 등으로 구성된다.
도 5b는 상이한 양태들 및 실시예들에 따라 수정된 도 3의 인코딩을 위한 방법 및 도 4의 디코딩을 위한 방법을 각각 구현할 수 있는 인코딩 모듈 또는 디코딩 모듈을 구현할 수 있는 처리 모듈(500)의 하드웨어 아키텍처의 예를 개략적으로 예시한다. 인코딩 모듈은 예를 들어 이 장치가 비디오 스트림의 인코딩을 담당할 때 장치(51)에 포함된다. 디코딩 모듈은 예를 들어 시스템(53)에 포함된다. 통신 버스(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)이 인코딩된 비디오 스트림들을 수신하고 디코딩된 픽처들의 시퀀스를 제공할 수 있게 한다. 처리 모듈(500)이 인코딩 모듈을 구현하는 경우, 통신 인터페이스(5004)는, 예를 들어, 프로세싱 모듈(500)이 오리지널 픽처 데이터를 수신하여 인코딩하고 인코딩된 비디오 스트림을 제공할 수 있게 한다.
프로세서(5000)는 ROM(5002)으로부터, 외부 메모리(미도시)로부터, 저장 매체로부터, 또는 통신 네트워크로부터 RAM(5001) 내에 로딩된 명령어를 실행할 수 있다. 처리 모듈(500)에 전력이 공급될 때, 프로세서(5000)는 RAM(5001)으로부터의 명령어를 판독하고 이들을 실행할 수 있다. 이러한 명령어들은, 예를 들어, 도 4와 관련하여 설명된 디코딩 방법, 도 3과 관련하여 설명된 인코딩 방법, 및 도 6 또는 도 7과 관련하여 설명된 방법들의 프로세서(5000)에 의한 구현을 야기하는 컴퓨터 프로그램을 형성하고, 이러한 방법들은 본 문서에서 후술되는 다양한 양태 및 실시예를 포함한다.
도 3, 도 4, 도 6 및 도 7의 방법들의 알고리즘들 및 단계들의 전부 또는 일부는 프로그래밍가능 기계, 예컨대 DSP(digital signal processor) 또는 마이크로제어기에 의한 명령어들의 세트의 실행에 의해 소프트웨어 형태로 구현될 수 있거나, 또는 기계 또는 전용 컴포넌트, 예컨대 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 하드웨어 형태로 구현될 수 있다.
알 수 있는 바와 같이, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 멀티코어 아키텍처에 기반한 또는 기반하지 않은 프로세서들, DSP, 마이크로제어기, FPGA 및 ASIC은 도 3, 도 4, 도 6 및 도 7의 방법들을 적어도 부분적으로 구현하도록 적응된 전자 회로부이다.
도 5d는 다양한 양태 및 실시예가 구현되는 시스템(53)의 예의 블록도를 예시한다. 시스템(53)은 후술되는 다양한 컴포넌트를 포함하는 디바이스로서 실시될 수 있고, 본 문서에 설명된 양태들 및 실시예들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스의 예는, 다양한 전자 디바이스, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 커넥티드 가전, 및 머리 장착 디스플레이를 포함하지만, 이들로 제한되지 않는다. 시스템(53)의 요소들은 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(53)은 디코딩 모듈을 구현하는 하나의 처리 모듈(500)을 포함한다. 다양한 실시예들에서, 시스템(53)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 기타 전자 디바이스들에 통신 가능하게 결합된다. 다양한 실시예들에서, 시스템(53)은 본 문서에 기술된 양태들 중 하나 이상을 구현하도록 구성된다.
처리 모듈(500)에 대한 입력은 블록(531)에 나타낸 바와 같은 다양한 입력 모듈을 통해 제공될 수 있다. 이러한 입력 모듈들은, (i) 예를 들어 브로드캐스터에 의해 무선으로(over the air) 송신된 무선 주파수(RF) 신호를 수신하는 무선 주파수(RF) 모듈, (ii) 컴포넌트(COMP) 입력 모듈(또는 COMP 입력 모듈들의 세트), (iii) 범용 직렬 버스(USB) 입력 모듈, 및/또는 (iv) 고화질 멀티미디어 인터페이스(HDMI) 입력 모듈을 포함하지만, 이들로 제한되지 않는다. 도 5d에 도시되지 않은 다른 예들은 복합 비디오를 포함한다.
다양한 실시예에서, 블록(531)의 입력 모듈은 당업계에 알려진 바와 같은 연관된 각각의 입력 처리 요소를 갖는다. 예를 들어, RF 모듈은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) (예를 들어) 특정 실시예에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 더 좁은 주파수 대역으로 다시 대역-제한하는 것, (iv) 하향 변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예의 RF 모듈은 이러한 기능을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기, 신호 선택기, 대역-제한기, 채널 선택기, 필터, 하향변환기, 복조기, 에러 정정기, 및 역다중화기를 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 인근 주파수)로 또는 기저대역으로 하향-변환하는 것을 포함하여, 다양한 이들 기능을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱박스 실시예에서, RF 모듈 및 그의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향-변환, 및 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시형태는 전술한(및 다른) 요소의 순서를 재배열하고, 이들 요소 중 일부를 제거하고 그리고/또는 유사하거나 상이한 기능을 수행하는 다른 요소를 추가한다. 요소를 추가하는 것은, 예를 들어, 증폭기 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소들 사이에 요소를 삽입하는 것을 포함할 수 있다. 다양한 실시예에서, RF 모듈은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 모듈은 USB 및/또는 HDMI 접속을 통해 시스템(53)을 기타 전자 디바이스들에 접속하기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리, 예를 들어, 리드 솔로몬 에러 정정의 다양한 양태이, 예를 들어, 필요에 따라, 별개의 입력 처리 IC 내에서 또는 처리 모듈(500) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태이, 필요에 따라, 별개의 인터페이스 IC 내에서 또는 처리 모듈(500) 내에서 구현될 수 있다. 복조된, 에러 정정된, 그리고 역다중화된 스트림이 처리 모듈(500)에 제공된다.
시스템(53)의 다양한 요소가 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소는 적합한 접속 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 보드를 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 시스템(53)에서, 처리 모듈(500)은 버스(5005)에 의해 상기 시스템(53)의 다른 요소에 상호접속된다.
처리 모듈(500)의 통신 인터페이스(5004)는 시스템(53)이 통신 채널(52) 상에서 통신할 수 있게 한다. 상기에 이미 언급된 바와 같이, 통신 채널(52)은, 예를 들어 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(53)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예의 Wi-Fi 신호는 Wi-Fi 통신에 대해 적응되는 통신 채널(52) 및 통신 인터페이스(5004)를 통해 수신된다. 이들 실시예들의 통신 채널(52)은 전형적으로, 스트리밍 응용들 및 다른 오버-더-탑 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(531)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(53)에 제공한다. 전술한 바와 같이, 다양한 실시형태는 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시형태는 Wi-Fi 이외의 무선 네트워크, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(53)은 디스플레이 시스템(55), 스피커(56), 및 다른 주변 디바이스들(57)을 포함하는 다양한 출력 디바이스에 출력 신호를 제공할 수 있다. 다양한 실시예의 디스플레이 시스템(55)은, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(55)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일 폰), 머리 장착형 디스플레이 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이 시스템(55)은 또한 (예를 들어, 스마트 폰에서와 같이) 다른 컴포넌트들과 통합될 수도 있고, 별개일 수도 있다(예를 들어, 랩톱을 위한 외부 모니터). 실시예들의 다양한 예에서, 다른 주변 디바이스들(57)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(53)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스(57)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(53)의 출력을 재생하는 기능을 수행한다.
다양한 실시예에서, 제어 신호는, 시그널링, 예컨대, AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입이 있거나 또는 개입 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜을 사용하여 시스템(53)과 디스플레이 시스템(55), 스피커(56), 또는 다른 주변 디바이스들(57) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(532, 533, 534)을 통해 전용 접속들을 거쳐 시스템(53)에 통신 가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(5004)를 통한 통신 채널(52) 또는 통신 인터페이스(5004)를 통한 도 5a의 통신 채널(54)에 대응하는 전용 통신 채널을 사용하여 시스템(53)에 접속될 수 있다. 디스플레이 시스템(55) 및 스피커(56)는, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(53)의 다른 컴포넌트와 단일 유닛으로 통합될 수 있다. 다양한 실시예에서, 디스플레이 인터페이스(532)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이 시스템(55) 및 스피커(56)는 대안적으로 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이 시스템(55) 및 스피커(56)가 외부 컴포넌트인 다양한 실시예에서, 출력 신호는, 예를 들어, HDMI 포트, USB 포트, 또는 COMP 출력을 포함하는 전용 출력 접속을 통해 제공될 수 있다.
도 5c는 다양한 양태 및 실시예가 구현되는 시스템(51)의 예의 블록도를 예시한다. 시스템(51)은 시스템(53)과 매우 유사하다. 시스템(51)은 후술되는 다양한 컴포넌트를 포함하는 디바이스로서 실시될 수 있고, 본 문서에 설명된 양태들 및 실시예들 중 하나 이상을 수행하도록 구성된다. 이러한 장치의 예로는 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 카메라 및 서버와 같은 다양한 전자 디바이스가 포함되지만, 이에 제한되지 않는다. 시스템(51)의 요소들은 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(51)은 인코딩 모듈을 구현하는 하나의 처리 모듈(500)을 포함한다. 다양한 실시예들에서, 시스템(51)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 기타 전자 디바이스들에 통신 가능하게 결합된다. 다양한 실시예들에서, 시스템(51)은 본 문서에 기술된 양태들 중 하나 이상을 구현하도록 구성된다.
처리 모듈(500)에 대한 입력은 도 5d와 관련하여 이미 설명된 블록(531)에 나타낸 바와 같은 다양한 입력 모듈을 통해 제공될 수 있다.
시스템(51)의 다양한 요소가 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소는 적합한 접속 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 보드를 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 시스템(51)에서, 처리 모듈(500)은 버스(5005)에 의해 상기 시스템(51)의 다른 요소들에 상호접속된다.
처리 모듈(500)의 통신 인터페이스(5004)는 시스템(500)이 통신 채널(52) 상에서 통신할 수 있게 한다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(51)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신에 대해 적응되는 통신 채널(52) 및 통신 인터페이스(5004)를 통해 수신된다. 이들 실시예들의 통신 채널(52)은 전형적으로, 스트리밍 응용들 및 다른 오버-더-탑 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(531)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(51)에 제공한다.
전술한 바와 같이, 다양한 실시형태는 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시형태는 Wi-Fi 이외의 무선 네트워크, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(51)에 제공된 데이터는 상이한 포맷으로 제공될 수 있다. 다양한 실시예에서 이러한 데이터들은 AV1, VP9, VVC, HEVC, AVC, SVC, SHVC 등과 같은 알려진 비디오 압축 포맷으로 인코딩되고 이들과 호환된다. 다양한 실시예에서, 이러한 데이터는 시스템(51)에 연결되거나 시스템(51)에 포함된 픽처 및/또는 오디오 획득 모듈에 의해 제공되는 원시 데이터이다. 이 경우, 처리 모듈은 이러한 데이터의 인코딩을 담당한다.
시스템(51)은 시스템(53)과 같은 출력 신호를 저장 및/또는 디코딩할 수 있는 다양한 출력 디바이스에 출력 신호를 제공할 수 있다.
다양한 구현예들은 디코딩을 포함한다. 본 출원에서 사용되는 바와 같이, "디코딩"은 예를 들어, 수신된 인코딩된 비디오 스트림에 대해 수행되어 디스플레이에 적합한 최종 출력을 생성하는 프로세스의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 그러한 프로세스는 디코더에 의해 전형적으로 수행되는 프로세스 중 하나 이상의 프로세스, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 예측을 포함한다. 다양한 실시예에서, 이러한 프로세스는 또한, 또는 대안적으로, 예를 들어 인코딩된 비디오 스트림으로부터 상이한 해상도의 픽처들을 디코딩하기 위해, 포스트 필터링 정보를 포함하는 SEI 메시지를 디코딩하기 위해, 그리고 포스트 필터링 정보에 응답하여 픽처들을 리샘플링하기 위해, 본원에 설명된 다양한 구현예의 디코더에 의해 수행되는 프로세스들을 포함한다.
어구 "디코딩 프로세스"가 작동의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 일반적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들은 인코딩을 포함한다. "디코딩"에 관한 상기의 논의와 유사한 방식으로, 본 출원에서 사용된 바와 같은 "인코딩"은 인코딩된 비디오 스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스의 전부 또는 일부를 포괄할 수 있다. 다양한 실시예에서, 이러한 프로세스는 전형적으로 인코더에 의해 수행되는 프로세스, 예를 들어, 파티셔닝, 예측, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예에서, 이러한 프로세스는 또한, 또는 대안적으로, 예를 들어 상이한 해상도의 픽처들을 포함하는 인코딩된 비디오 스트림을 생성하기 위해 그리고 포스트 필터링 정보를 포함하는 SEI 메시지를 연관시키기 위해, 본원에 설명된 다양한 구현예의 인코더에 의해 수행되는 프로세스들을 포함한다.
어구 "인코딩 프로세스"가 작동의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 일반적으로 보다 광의의 인코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에 사용된 바와 같은 신택스 요소 명칭은, 설명적 용어임에 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
다양한 실시예들은 레이트 왜곡 최적화를 지칭한다. 특히, 인코딩 프로세스 동안, 일반적으로, 레이트와 왜곡 사이의 균형 또는 절충이 고려된다. 레이트 왜곡 최적화는 일반적으로 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 접근법들은 코딩 및 디코딩 후의 재구성된 신호의 그들의 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함한, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 연산에 의해 인코딩 복잡도를 감소시키기 위해, 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법들의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부만에 대한 근사화된 왜곡 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기술들 중 임의의 기술을 채용하지만, 최적화가 반드시 코딩 비용과 관련된 왜곡 둘 모두에 대한 완전한 평가이지는 않다.
본 명세서에 기술된 구현예들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 구현예의 단일 형태의 맥락에서 논의된다 하더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 장치 또는 프로그램)에서 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법은, 예를 들어, 프로세서에서 구현될 수 있으며, 이는, 예컨대 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 일반적으로 처리 디바이스를 지칭한다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대폰들, 휴대용/개인 디지털 어시스턴트들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "실시예" 또는 "하나의 구현예" 또는 "구현예"뿐만 아니라 그의 다른 변형례에 대한 언급은, 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 어구 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현예에서" 또는 "구현예에서"뿐만 아니라 임의의 다른 변형례의 출현이 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
또한, 본 출원은 여러 가지의 정보를 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 메모리로부터 정보를 검색하는 것, 또는 예를 들어 다른 디바이스, 모듈, 또는 사용자로부터 정보를 얻는 것 중 하나 이상을 포함할 수 있다.
또한, 본원은 여러 가지의 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본원은 여러 가지의 정보를 "수신하는 것"을 지칭할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어 정보를 저장하는 동작, 정보를 처리하는 동작, 정보를 전송하는 동작, 정보를 이동하는 동작, 정보를 복사하는 동작, 정보를 소거하는 동작, 정보를 계산하는 동작, 정보를 결정하는 동작, 정보를 예측하는 동작, 또는 정보를 추정하는 동작 동안 어떤 방식으로든 포함된다.
예를 들어 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나", "A 및 B 중 하나 이상"의 경우에 있어서, 다음의 "/", "및/또는", 및 "중 적어도 하나", "중 하나 이상" 중 임의의 것의 사용은, 첫 번째 열거된 옵션(A) 단독의 선택, 또는 두 번째 열거된 옵션(B) 단독의 선택, 또는 옵션(A, B) 둘 모두의 선택을 포괄하도록 의도된다는 것이 이해될 것이다. 추가의 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나", "A, B 및 C 중 하나 이상"의 경우에서, 그러한 어구는 첫 번째 열거된 옵션(A) 단독의 선택, 또는 두 번째 열거된 옵션(B) 단독의 선택, 또는 세 번째 열거된 옵션(C) 단독의 선택, 또는 첫 번째 및 두 번째 열거된 옵션(A 및 B) 단독의 선택, 또는 첫 번째 및 세 번째 열거된 옵션(A 및 C) 단독의 선택, 또는 두 번째 및 세 번째 열거된 옵션(B 및 C) 단독의 선택, 또는 3개의 모든 옵션(A, B 및 C)의 선택을 포괄하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, 용어 "신호"는 특히 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 예를 들어, 특정 실시예에서, 인코더는 일부 코딩 도구의 사용을 시그널링한다. 이러한 방식으로, 실시예에서, 동일한 파라미터가 인코더 측 및 디코더 측 둘 모두에서 사용될 수 있다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 전송할 수 있다(명시적 시그널링). 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 전송 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 전송을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소들, 플래그들 등이 다양한 실시예들에서 대응하는 디코더에 정보를 시그널링하는 데 사용된다. 전술된 표현이 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백할 바와 같이, 구현예는, 예를 들어 저장되거나 전송될 수 있는 정보를 반송하도록 포맷화된 다양한 신호를 생성할 수 있다. 예를 들어, 정보는 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 인코딩된 비디오 스트림 및 SEI 메시지를 반송하도록 포맷화될 수 있다. 이러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 인코딩된 비디오 스트림을 인코딩하는 것, 및 인코딩된 비디오 스트림으로 반송파를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크를 통해 전송될 수 있다. 신호는 프로세서 판독 가능 매체 상에 저장될 수 있다.
이하에서, 다양한 실시예는 불균질한 픽처 해상도들을 갖는 픽처들을 포함하는 비디오 시퀀스에 더 적합한 2개의 새로운 SEI 메시지를 제안한다. 제안된 SEI 메시지들은 다음과 같은 점에서 표 TAB1 및 TAB3의 SEI 메시지와는 다르다:
Figure pct00022
이들은 주관적 품질 개선보다는 리샘플링 개선을 위한 필터들을 제공하고; 2개의 새로운 SEI 메시지는 양쪽의 양태을 개선하기 위해 공동으로 또는 별개로 사용될 수 있고;
이들은, 예를 들어 뉴럴 네트워크(NN) 기반 리샘플링 필터들과 같은 다양한 유형의 필터들을 시그널링할 수 있게 하고;
이들은 모든 픽처에 또는 리샘플링될 필요가 있는 픽처들의 서브세트에만 적용될 수 있고;
이들은 특정 지속기간 동안 적용될 수 있고 시퀀스 레벨에서 적용하기보다는 다른 파라미터들을 갖는 연속적인 SEI 메시지들로 대체될 수 있고;
이들은 루마와 크로마 모두에 적용될 수 있다.
표 TAB8은 이종 픽처 해상도를 갖는 픽처들을 포함하는 비디오 시퀀스들에 더 잘 적응되는 리샘플링 SEI 메시지라고 불리는 새로운 SEI 메시지의 제1 실시예를 설명한다.
[표 TAB8]
resampling_id는 리샘플링 정보의 목적을 식별하는 데 사용되는 식별자이다. resampling_id의 값은 0 내지 를 포함하는 범위에 있을 것이다.
"1"과 같은 신택스 요소 resampling_cancel_flag는 리샘플링 SEI 메시지가 예를 들어 VVC에서 정의된 바와 같이 현재 레이어에 적용되는 출력 순서로 이전의 리샘플링 SEI 메시지의 지속성을 취소한다는 것을 나타낸다."0"과 같은 resampling_cancel_flag는 리샘플링 정보가 후속된다는 것을 나타낸다.
신택스 요소 resampling_persistence_flag는 리샘플링 SEI 메시지의 지속성을 지정한다."0"과 같은 resampling_persistence_flag는 리샘플링 정보가 현재 디코딩된 픽처에만 적용됨을 지정한다. picA를 현재 픽처로 한다."1"과 같은 resampling_persistence_flag는 다음 조건들 중 어느 하나가 참(true)일 때까지 출력 순서대로 현재 레이어에 대해 리샘플링 정보가 지속됨을 지정한다:
Figure pct00029
현재 레이어의 새로운 CLVS(예를 들어 VVC에서 정의된 바와 같은 코딩된 레이어 비디오 시퀀스)가 시작된다.
resampling_id의 동일한 값을 갖는 리샘플링 SEI 메시지를 포함하는 액세스 유닛에서 픽처 picA의 픽처 순서 카운트보다 큰 픽처 순서 카운트(즉, 디코딩 순서의 픽처 번호)를 갖는 현재 레이어의 픽처 picB.
신택스 요소 resampling_tap_luma_hor_minus1은 리샘플링될 픽처들에 적용되는 필터 계수 어레이의 크기를 지정한다. resampling_tap_luma_hor_minus1의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
신택스 요소 resampling_luma_hor_coeff[ i ]는 리샘플링될 픽처들에 적용되는 16비트 정밀도를 갖는 루마 성분에 대한 필터 계수를 지정한다. resampling_luma_hor_coeff[ i ]의 값은 + 1 내지 - 1의 범위에 있을 것이다.
신택스 요소 use_alternative_filter_for_vertical_luma는 루마 성분에 대한 수직 필터링을 위한 리샘플링 정보가 수평 루마 정보와 다른 경우를 지정한다.
신택스 요소 num_resampling_filters_luma_hor는 수평 방향의 루마 리샘플링을 위해 시그널링되는 필터들의 수를 지정한다.
신택스 요소 resampling_tap_luma_ver_minus1은 리샘플링될 픽처들에 적용되는 필터 계수 어레이의 크기를 지정한다. resampling_tap_luma_ver_minus1의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
신택스 요소 resampling_luma_ver_coeff[ i ]는 리샘플링될 픽처들에 적용되는 16비트 정밀도를 갖는 루마 성분에 대한 필터 계수를 지정한다. resampling_luma_ver_coeff[ i ]의 값은 + 1 내지 - 1의 범위에 있을 것이다.
신택스 요소 use_alternative_filter_for_chroma는 리샘플링 정보가 크로마에 대해 코딩되는 경우를 지정한다.
use_alternative_filter_for_chroma가 "1"과 같을 때, sps_chroma_format_idc(이는 루마 샘플링에 대한 크로마 샘플링을 지정함)가 단색 시퀀스를 나타내는 "0"과 같지 않아야 한다는 것이 비트스트림 적합성의 요구사항이다.
신택스 요소 num_resampling_filters_chroma_hor는 수평 방향의 크로마 리샘플링을 위해 시그널링되는 필터들의 수를 지정한다.
신택스 요소 resampling_tap_chroma_hor_minus1은 리샘플링될 픽처들에 적용되는 필터 계수 어레이의 크기를 지정한다. resampling_tap_chroma_minus1의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
신택스 요소 resampling_chroma_hor_coeff[ i ]는 리샘플링될 픽처들에 적용되는 16비트 정밀도를 갖는 크로마 성분에 대한 필터 계수를 지정한다. resampling_chroma_coeff[ i ]의 값은 + 1 내지 - 1의 범위에 있을 것이다.
신택스 요소 use_alternative_filter_for_vertical_chroma는 크로마 성분에 대한 수직 필터링을 위한 리샘플링 정보가 수평 크로마 정보와 다른 경우를 지정한다.
신택스 요소 resampling_tap_chroma_ver_minus1은 리샘플링될 픽처들에 적용되는 필터 계수 어레이의 크기를 지정한다. resampling_tap_chroma_ver_minus1의 값은 "1" 내지 "15"를 포함하는 범위에 있을 것이다.
resampling_chroma_ver_coeff[ i ]는 리샘플링될 픽처들에 적용되는 16비트 정밀도를 갖는 크로마 성분에 대한 필터 계수를 지정한다. resampling_chroma_ver_coeff[ i ]의 값은 + 1 내지 - 1의 범위에 있을 것이다.
리샘플링 SEI 메시지는 루마 및 크로마 리샘플링 계수 둘 모두에 대한 설명을 가능하게 한다. 리샘플링 SEI 메시지는 특히 RPR 도구를 사용하여 인코딩된 비디오 시퀀스들의 경우에 적응된다. 실제로, 이러한 시퀀스들은 주로 오리지널 해상도의 픽처들과 감소된 해상도의 픽처들로 구성된다. 이 경우, 리샘플링은 감소된 해상도에서의 픽처들을 오리지널 해상도로 업샘플링하는 것에 있다. 그러나, 리샘플링 SEI 메시지의 적용례들은 업샘플링으로 제한되지 않고, 리샘플링 SEI 메시지는 다운샘플링 필터뿐만 아니라 픽처들의 주관적 품질을 개선하도록 적응된 필터와 같은 임의의 필터를 지정하도록 적응된다.
일부 실시예에서, 리샘플링 SEI 메시지는 임의의 포스트 필터 SEI 메시지(표 TAB1 및 TAB3의 이러한 SEI 메시지)와 조합하여 사용되며, 리샘플링은 포스트 필터링 전에 적용된다.
제1 실시예의 제1 변형예에서는, 리샘플링 SEI 메시지의 시맨틱이 최대 해상도와 동일한 해상도가 아닌 픽처들에만 적용하도록 변경되므로, pps_pic_width_in_luma_samples(이는 루마 샘플들의 단위로 픽처 파라미터 세트(PPS)(즉, 픽처 헤더)를 참조하는 각 디코딩된 픽처의 폭을 지정함)는 sps_pic_width_max_in_luma_samples(이는 루마 샘플들의 단위로, 시퀀스 파라미터 세트(SPS)(즉, 시퀀스 헤더)를 참조하는 각 디코딩된 픽처의 최대 폭을 지정함)와 같지 않고, pps_pic_height_in_luma_samples(이는 PPS를 참조하는 각 디코딩된 픽처의 높이를 지정함)는 sps_pic_height_max_in_luma_samples(이는 루마 샘플들의 단위로, SPS를 참조하는 각 디코딩된 픽처의 최대 높이를 지정함)와 같지 않다.
제1 실시예의 제2 변형예에서, 리샘플링 SEI 메시지의 신택스는 현재 픽처가 시퀀스의 최대 해상도보다 낮은 해상도인지 여부를 확인하기 위해 수정된다. 제2 변형예를 표 TAB9에 나타내고 있으며, 표 TAB9와 표 TAB8 간의 차이가 굵게 표시되어 있다.
[표 TAB9]
제2 실시예에서는, 표 TAB10에 나타낸 리샘플링 방법 SEI 메시지라고 불리는 제2 SEI 메시지가 제안된다. 리샘플링 방법 SEI 메시지에서는, 기존 리샘플링 필터를 시그널링하기 위해 인덱스가 코딩되며, 그 특성은 인코딩 모듈과 디코딩 모듈에 의해 알려져 있다.
[표 TAB10]
신택스 요소 resampling_method_hor_luma는 표 TAB11에 지정된 바와 같이 루마 성분의 수평 필터링에 사용되는 리샘플링 방법을 식별한다. resampling_method_luma의 값은 "0" 내지 "6"을 포함하는 범위에 있을 것이다. 값들 "7" 내지 "15"는 향후 사용을 위해 예약된다.
신택스 요소 use_alternative_filter_for_vertical_luma는 루마 성분의 수직 필터링을 위한 리샘플링 정보가 루마 성분의 수평 필터링을 위한 리샘플링 정보와 다른 경우를 지정한다.
표 TAB11의 방법 "3" 내지 "6"은 분리 불가능하므로, resampling_method_hor_luma(각각 resampling_method_hor_chroma)가 "3" 이상인 경우에 use_alternative_filter_for_vertical_luma(각각 use_alternative_filter_for_vertical_chroma)를 코딩할 필요가 없다.
신택스 요소 resampling_method_ver_luma는 표 TAB11에 지정된 바와 같이 루마 성분에 대한 수평 필터링에 사용되는 리샘플링 방법을 식별한다. resampling_method_luma의 값은 "0" 내지 "6"을 포함하는 범위에 있을 것이다. 값들 "7" 내지 "15"는 향후 사용을 위해 예약된다.
신택스 요소 resampling_method_hor_chroma는 표 TAB11에 지정된 바와 같이 크로마 성분의 수평 필터링에 사용되는 리샘플링 방법을 식별한다. resampling_method_chroma의 값은 "0" 내지 "6"을 포함하는 범위에 있을 것이다. 값들 "7" 내지 "15"는 향후 사용을 위해 예약된다.
신택스 요소 use_alternative_filter_for_vertical_chroma는 크로마 성분의 수직 필터링을 위한 리샘플링 정보가 루마 성분의 수직 필터링을 위한 리샘플링 정보와 다른 경우를 지정한다.
[표 TAB11]
변형예에서, 이 리샘플링 방법 SEI 메시지는 sps_ref_pic_resampling_enabled_flag 또는 sps_res_change_in_clvs_allowed_flag가 "1"과 같은 경우에만 적용된다."1"과 같은 sps_ref_pic_resampling_enabled_flag는 RPR이 인에이블됨을 지정한다."0"과 같은 sps_ref_pic_resampling_enabled_flag는 RPR이 디스에이블됨을 지정한다."1"과 같은 sps_res_change_in_clvs_allowed_flag는 SPS를 참조하는 임의의 CLVS 내에서 픽처 공간 해상도가 변경될 수 있음을 지정한다."0"과 같은 sps_res_change_in_clvs_allowed_flag는 SPS를 참조하는 임의의 CLVS 내에서 픽처 공간 해상도가 변경되지 않음을 지정한다.
일 실시예에서는, 리샘플링 방법 SEI 메시지가 리샘플링 SEI 메시지의 변형과 조합하여 사용된다. 본 실시예에 대응하는 리샘플링 SEI 메시지의 변형이 표 TAB12에 설명되어 있다:
[표 TAB12]
TAB8과 TAB12의 리샘플링 SEI 메시지 간의 차이가 굵게 표시되어 있다.
신택스 요소 use_resampling_method_SEI는, "1"과 같을 때, 적어도 하나의 리샘플링 방법 SEI 메시지가 비트스트림에 존재하는 경우, 최종 수신된 리샘플링 방법 SEI 메시지에 지정된 리샘플링 방법이 리샘플링 SEI 메시지에 지정된 리샘플링 필터 대신에 사용되어야 함을 나타낸다. use_resampling_method_SEI가 0과 같은 경우, 리샘플링 SEI 메시지에 지정된 리샘플링 필터가 사용된다.
일 실시예에서, 리샘플링 방법 SEI는 리샘플링 SEI 메시지와 무관하다. 이 실시예에서, 리샘플링 방법 SEI 메시지는 리샘플링 SEI 메시지에 대한 대안으로 볼 수 있다. 이 실시예는 표 TAB13에 설명된 리샘플링 방법 SEI 메시지의 변형을 사용한다:
[표 TAB13]
TAB10과 TAB13의 리샘플링 SEI 메시지 간의 차이가 굵게 표시되어 있다. 알 수 있는 바와 같이, 신택스 요소 resampling_id, resampling_cancel_flagresampling_persistence_flag는 표 TAB8의 리샘플링 SEI 메시지와 관련하여 설명된 것과 동일한 시맨틱을 갖는 리샘플링 방법 SEI 메시지에 도입된다.
도 6은 이러한 픽처들의 리샘플링을 제어할 수 있는 메타데이터와 함께 비디오 시퀀스의 픽처들을 인코딩하기 위한 방법의 예를 개략적으로 예시한다.
도 6의 방법은 예를 들어 장치(51)에 의해, 더 정확하게는 장치(51)의 처리 모듈(500)에 의해 구현된다.
일 실시예에서, 장치(51)는 입력 모듈(531)로부터 RAW 비디오 시퀀스를 수신한다.
단계 601에서, 장치(51)의 처리 모듈(500)은 예를 들어 도 3의 방법을 사용하여 비트스트림의 일부로 RAW 비디오 시퀀스의 복수의 픽처를 인코딩한다. 일 실시예에서, 복수의 픽처의 서브세트는 단계 301에서 인코딩하기 전에 다운샘플링(각각 업샘플링)되었다.
단계 602에서, 장치(51)의 처리 모듈(500)은 비트스트림에서 적어도 하나의 리샘플링 SEI 메시지 및/또는 적어도 하나의 리샘플링 방법 SEI 메시지(즉, 필터를 나타내는 메타데이터)를 인코딩한다. 전술한 바와 같이, 리샘플링 SEI 메시지(또는 표 TAB13의 리샘플링 방법 SEI 메시지)는 SEI 메시지에 의해 지정된 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 신택스 요소(즉, resampling_cancel_flag, resampling_persistence_flag)를 포함한다. 예를 들어, 장치(51)의 처리 모듈(500)은 디코더 상에서 리샘플링될 필요가 있는 각 픽처에 대한 리샘플링 SEI 메시지(또는 TAB13의 리샘플링 방법 SEI 메시지)를 비트스트림에서 인코딩하고, 각 리샘플링 SEI 메시지(각각 TAB13의 각 리샘플링 방법 SEI 메시지)는 0과 같은 resampling_persistence_flag를 포함한다.
도 7은 리샘플링 SEI 메시지 및/또는 리샘플링 방법 SEI 메시지에 응답하여 픽처들을 리샘플링하는 것을 포함하는 픽처들을 재구성하기 위한 방법의 예를 개략적으로 나타낸다.
도 7의 방법은 예를 들어 시스템(53)에 의해, 더 정확하게는 시스템(53)의 처리 모듈(500)에 의해 구현된다.
단계 701에서, 시스템(53)의 처리 모듈(500)은 비트스트림의 일부로부터 비디오 시퀀스를 나타내는 복수의 픽처 중 현재 픽처를 디코딩한다. 예를 들어, 현재 픽처는 인코딩 전에 다운샘플링(각각 업샘플링)되었다.
단계 702에서, 시스템(53)의 처리 모듈(500)은 비트스트림에 임베딩된 적어도 하나의 리샘플링 SEI 메시지 및/또는 적어도 하나의 리샘플링 방법 SEI 메시지로부터 결정된 필터의 파라미터들을 획득한다. 이미 언급된 바와 같이, 리샘플링 SEI 메시지(또는 표 TAB13의 리샘플링 방법 SEI 메시지)는 SEI 메시지에 의해 지정된 필터가 적용되어야 하는 복수의 픽처의 서브세트를 지정하는 적어도 하나의 신택스 요소(즉, resampling_cancel_flag, resampling_persistence_flag)를 포함한다. 예를 들어, 비트스트림은 현재 픽처와 연관된(즉, 0과 같은 resampling_persistence_flag를 포함하는) 리샘플링 SEI 메시지(또는 TAB13의 리샘플링 방법 SEI 메시지)를 포함한다. 필터는 예를 들어 현재 픽처를 오리지널 해상도로 리샘플링할 수 있게 하는 업샘플링(각각 다운샘플링) 필터이다.
단계(703)에서, 시스템(53)의 처리 모듈(500)은 리샘플링 SEI 메시지(및/또는 리샘플링 방법 SEI 메시지)에 응답하여 디코딩된 현재 픽처에 필터를 적용한다.
다수의 실시예가 전술되었다. 이들 실시예의 특징은 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구항 카테고리들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 하기의 특징, 디바이스, 또는 양태 중 하나 이상을 포함할 수 있다:
Figure pct00044
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 전송하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예들 중 적어도 하나를 수행하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 기타 전자 디바이스.
기술된 실시예들 중 적어도 하나를 수행하고 생성된 픽처를 (예를 들어, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 기타 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 수신할 채널을 (예를 들어, 동조기를 사용하여) 동조시키고, 기술된 실시예들 중 적어도 하나를 수행하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 기타 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 무선으로 (예를 들어, 안테나를 사용하여) 수신하고 기술된 실시예들 중 적어도 하나를 수행하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 기타 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 무선으로 (예를 들어, 안테나를 사용하여) 송신하고, 기술된 실시예들 중 적어도 하나를 수행하는 서버, 카메라, 휴대폰, 태블릿 또는 기타 전자 디바이스.
인코딩된 비디오 스트림을 포함하는 신호를 송신할 채널을 (예를 들어, 동조기를 사용하여) 동조시키고, 기술된 실시예들 중 적어도 하나를 수행하는 서버, 카메라, 휴대폰, 태블릿 또는 기타 전자 디바이스.

Claims (31)

  1. 방법으로서,
    비디오 데이터로부터 비디오 시퀀스를 표현하는 복수의 픽처 중 한 픽처를 디코딩하는 단계(701);
    상기 비디오 데이터에 연관된 메타데이터로부터 결정된 필터의 파라미터들을 획득하는 단계(702) - 상기 메타데이터는 상기 필터가 적용되어야 하는 상기 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함함 -; 및
    상기 메타데이터에 응답하여 상기 디코딩된 픽처에 상기 필터를 적용하는 단계(703)를 포함하는, 방법
  2. 제1항에 있어서, 상기 필터는 리샘플링 필터인, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 필터는 분리 가능한 필터이고, 상기 메타데이터는 수평 필터의 파라미터들과 수직 필터의 파라미터들을 지정하는, 방법.
  4. 제1항, 제2항 또는 제3항에 있어서, 상기 필터는 상기 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 상기 메타데이터는 상기 루마 성분의 필터링을 위해 적응된 상기 필터의 파라미터들 및 상기 루마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들과는 다른 상기 크로마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들을 지정하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 상기 필터가 적용된다는 것을 지정하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 메타데이터는 복수의 필터링 방법에서 한 필터링 방법을 지정하는 제2 정보를 포함하는, 방법.
  7. 제6항에 있어서, 상기 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링(bilinear filtering), 방향성 큐빅 컨볼루션 보간(Directional Cubic Convolution Interpolation), 반복 곡률 기반 보간(Iterative Curvature-based Interpolation), 에지 가이드 이미지 보간(Edge-Guided Image Interpolation) 및 딥러닝 기반 필터링 방법을 포함하는, 방법.
  8. 방법으로서,
    비디오 데이터 내의 비디오 시퀀스를 나타내는 복수의 픽처를 인코딩하는 단계; 및
    상기 비디오 데이터 내의 필터를 나타내는 메타데이터를 인코딩하는 단계를 포함하고, 상기 메타데이터는 상기 필터가 적용되어야 하는 상기 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함하는, 방법.
  9. 제8항에 있어서, 상기 필터는 리샘플링 필터인, 방법.
  10. 제8항 또는 제9항에 있어서, 상기 필터는 분리 가능한 필터이고, 상기 메타데이터는 수평 필터의 파라미터들과 수직 필터의 파라미터들을 지정하는, 방법.
  11. 제8항, 제9항 또는 제10항에 있어서, 상기 필터는 상기 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 상기 메타데이터는 상기 루마 성분의 필터링을 위해 적응된 상기 필터의 파라미터들 및 상기 루마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들과는 다른 상기 크로마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들을 지정하는, 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 상기 필터가 적용된다는 것을 지정하는, 방법.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 메타데이터는 복수의 필터링 방법에서 한 필터링 방법을 지정하는 제2 정보를 포함하는, 방법.
  14. 제13항에 있어서, 상기 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함하는, 방법.
  15. 전자 회로부를 포함하는 디바이스로서, 상기 전자 회로부는,
    비디오 데이터로부터 비디오 시퀀스를 나타내는 복수의 픽처 중 한 픽처를 디코딩하도록;
    상기 비디오 데이터에 연관된 메타데이터로부터 결정된 필터의 파라미터들을 획득하도록 - 상기 메타데이터는 상기 필터가 적용되어야 하는 상기 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함함 -; 그리고
    상기 메타데이터에 응답하여 상기 디코딩된 픽처에 상기 필터를 적용하도록 구성된, 디바이스.
  16. 제15항에 있어서, 상기 필터는 리샘플링 필터인, 디바이스.
  17. 제15항 또는 제16항에 있어서, 상기 필터는 분리 가능한 필터이고, 상기 메타데이터는 수평 필터의 파라미터들과 수직 필터의 파라미터들을 지정하는, 디바이스.
  18. 제15항, 제16항 또는 제17항에 있어서, 상기 필터는 상기 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 상기 메타데이터는 상기 루마 성분의 필터링을 위해 적응된 상기 필터의 파라미터들 및 상기 루마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들과는 다른 상기 크로마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들을 지정하는, 디바이스.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 상기 필터가 적용된다는 것을 지정하는, 디바이스.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 메타데이터는 복수의 필터링 방법에서 한 필터링 방법을 지정하는 제2 정보를 포함하는, 디바이스.
  21. 제20항에 있어서, 상기 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함하는, 디바이스.
  22. 전자 회로부를 포함하는 디바이스로서, 상기 전자 회로부는,
    비디오 데이터 내의 비디오 시퀀스를 나타내는 복수의 픽처를 인코딩하도록; 그리고
    상기 비디오 데이터 내의 필터를 나타내는 메타데이터를 인코딩하도록 구성되고, 상기 메타데이터는 상기 필터가 적용되어야 하는 상기 복수의 픽처의 서브세트를 지정하는 적어도 하나의 제1 정보를 포함하는, 디바이스.
  23. 제22항에 있어서, 상기 필터는 리샘플링 필터인, 디바이스.
  24. 제21항 또는 제22항에 있어서, 상기 필터는 분리 가능한 필터이고, 상기 메타데이터는 수평 필터의 파라미터들과 수직 필터의 파라미터들을 지정하는, 디바이스.
  25. 제21항, 제22항 또는 제23항에 있어서, 상기 필터는 상기 픽처들의 서브세트의 각 픽처의 루마 및 크로마 성분에 적용되도록 의도되고, 상기 메타데이터는 상기 루마 성분의 필터링을 위해 적응된 상기 필터의 파라미터들 및 상기 루마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들과는 다른 상기 크로마 성분들의 필터링을 위해 적응된 상기 필터의 파라미터들을 지정하는, 디바이스.
  26. 제22항 내지 제25항 중 어느 한 항에 있어서, 상기 적어도 하나의 제1 정보는 최대 해상도와는 다른 해상도를 갖는 픽처들에만 상기 필터가 적용된다는 것을 지정하는, 디바이스.
  27. 제22항 내지 제26항 중 어느 한 항에 있어서, 상기 메타데이터는 복수의 필터링 방법에서 한 필터링 방법을 지정하는 제2 정보를 포함하는, 디바이스.
  28. 제27항에 있어서, 상기 복수의 필터링 방법은 루마 필터링, 크로마 필터링, 이중선형 필터링, 방향성 큐빅 컨볼루션 보간, 반복 곡률 기반 보간, 에지 가이드 이미지 보간 및 딥러닝 기반 필터링 방법을 포함하는, 디바이스.
  29. 필터를 나타내고, 비디오 시퀀스를 나타내는 복수의 픽처에 연관된 메타데이터를 포함하는 신호로서, 상기 메타데이터는 상기 필터가 적용되어야 하는 상기 복수의 픽처의 서브세트를 지정하는 적어도 하나의 정보를 포함하는, 신호.
  30. 제1항 내지 제14항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는, 컴퓨터 프로그램.
  31. 제1항 내지 제14항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 저장하는, 비일시적 정보 저장 매체.
KR1020247000920A 2021-06-11 2022-05-23 픽처 리샘플링을 위한 고급 신택스 KR20240018650A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21305804.3 2021-06-11
EP21305804 2021-06-11
PCT/EP2022/063898 WO2022258356A1 (en) 2021-06-11 2022-05-23 High-level syntax for picture resampling

Publications (1)

Publication Number Publication Date
KR20240018650A true KR20240018650A (ko) 2024-02-13

Family

ID=76708166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247000920A KR20240018650A (ko) 2021-06-11 2022-05-23 픽처 리샘플링을 위한 고급 신택스

Country Status (5)

Country Link
EP (1) EP4352959A1 (ko)
KR (1) KR20240018650A (ko)
CN (1) CN117616752A (ko)
BR (1) BR112023025800A2 (ko)
WO (1) WO2022258356A1 (ko)

Also Published As

Publication number Publication date
EP4352959A1 (en) 2024-04-17
CN117616752A (zh) 2024-02-27
WO2022258356A1 (en) 2022-12-15
BR112023025800A2 (pt) 2024-02-27

Similar Documents

Publication Publication Date Title
EP3840378A1 (en) Video decoding method and video decoder
KR20210107131A (ko) 이미지 예측 방법, 장치 및 시스템, 디바이스 및 저장 매체
US20230164360A1 (en) Method and device for image encoding and decoding
US20230232003A1 (en) Single-index quantization matrix design for video encoding and decoding
KR20240018650A (ko) 픽처 리샘플링을 위한 고급 신택스
US20230379482A1 (en) Spatial resolution adaptation of in-loop and post-filtering of compressed video using metadata
US20230262268A1 (en) Chroma format dependent quantization matrices for video encoding and decoding
US20240205412A1 (en) Spatial illumination compensation on large areas
US20240121403A1 (en) Metadata for signaling information representative of an energy consumption of a decoding process
WO2023222521A1 (en) Sei adapted for multiple conformance points
JP2024522138A (ja) ビデオを符号化/復号するための方法及び装置
WO2024126057A1 (en) Reference picture marking process based on temporal identifier
WO2022263111A1 (en) Coding of last significant coefficient in a block of a picture
CN117015969A (zh) 用于发信号通知表示解码过程的能量消耗的信息的元数据
WO2024126058A1 (en) Reference picture lists signaling
EP4320868A1 (en) High precision 4x4 dst7 and dct8 transform matrices
KR20240087768A (ko) 비디오를 인코딩/디코딩하기 위한 방법들 및 장치들
WO2023194334A1 (en) Video encoding and decoding using reference picture resampling
KR20240099324A (ko) 기준 픽처 리샘플링을 사용한 비디오 인코딩 및 디코딩
CN117813817A (zh) 用于对视频进行编码/解码的方法和装置
WO2020260310A1 (en) Quantization matrices selection for separate color plane mode
CN114788275A (zh) 用于联合Cb-Cr编码的量化矩阵的推导