KR20230150293A - 비디오를 인코딩/디코딩하기 위한 방법들 및 장치들 - Google Patents

비디오를 인코딩/디코딩하기 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR20230150293A
KR20230150293A KR1020237029003A KR20237029003A KR20230150293A KR 20230150293 A KR20230150293 A KR 20230150293A KR 1020237029003 A KR1020237029003 A KR 1020237029003A KR 20237029003 A KR20237029003 A KR 20237029003A KR 20230150293 A KR20230150293 A KR 20230150293A
Authority
KR
South Korea
Prior art keywords
picture
filter
video
encoding
decoding
Prior art date
Application number
KR1020237029003A
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 KR20230150293A publication Critical patent/KR20230150293A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/167Position within a video image, e.g. region of interest [ROI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오를 인코딩하기 위한 방법이 제공되며, 비디오를 인코딩하는 것은, 제1 픽처의 샘플들을 분류하는 단계, 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 단계 - 상기 제1 필터는 제1 픽처의 또는 제2 픽처의 제1 인코딩 동작에 사용됨 -, 상기 분류에 기초하여 제2 필터를 결정하는 단계 - 상기 제2 필터는 제1 픽처의 또는 제2 픽처의 제2 인코딩 동작에 사용됨 - 를 포함한다. 비디오를 인코딩하기 위한 장치, 디코딩 방법 및 장치가 또한 제공된다.

Description

비디오를 인코딩/디코딩하기 위한 방법들 및 장치들
본 실시예들은 대체적으로, 비디오 인코딩 또는 디코딩을 위한 방법 및 장치에 관한 것이다. 일부 실시예들은 비디오 인코딩 또는 디코딩을 위한 방법들 및 장치들에 관한 것으로, 여기서 원래의 픽처들 및 재구성된 픽처들은 인코딩을 위해 동적으로 재스케일링된다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 일반적으로, 예측을 채용하고, 비디오 콘텐츠에서 공간적 및 시간적 리던던시(redundancy)를 레버리징하도록 변환한다. 대체적으로, 인트라 또는 인터 예측은 인트라 또는 인터 픽처 상관관계를 이용하는 데 사용되고, 이어서, 종종 예측 오류들 또는 예측 잔차들로 표시되는, 원래 블록과 예측된 블록 사이의 차이들은 변환되고, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
일 태양에 따르면, 비디오를 인코딩하기 위한 방법이 제공되며, 비디오를 인코딩하는 것은, 제1 픽처의 샘플들을 분류하는 단계, 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 단계 - 상기 제1 필터는 제1 픽처의 적어도 하나의 부분을 사용하는 제1 인코딩 동작에 사용됨 -, 제1 픽처의 제1 수정된 부분을 제공하는 단계, 상기 분류에 기초하여 제2 필터를 결정하는 단계 - 상기 제2 필터는 상기 제1 픽처의 제1 수정된 부분을 사용하는 제2 인코딩 동작에 사용됨 - 를 포함한다.
비디오를 인코딩하기 위한 장치가 제공된다. 본 장치는 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 제1 픽처의 샘플들을 분류하고, 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하고 - 상기 제1 필터는 상기 제1 픽처의 적어도 하나의 부분을 사용하는 제1 인코딩 동작에 사용됨 -, 제1 픽처의 제1 수정된 부분을 제공하고, 상기 분류에 기초하여 제2 필터를 결정함으로써 - 상기 제2 필터는 상기 제1 픽처의 제1 수정된 부분을 사용하는 제2 인코딩 동작에 사용됨 - 비디오를 인코딩하도록 구성된다.
다른 태양에 따르면, 비디오를 디코딩하기 위한 방법이 제공되며, 비디오를 디코딩하는 것은, 제1 픽처의 샘플들을 분류하는 단계, 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 단계 - 상기 제1 필터는 상기 제1 픽처의 적어도 하나의 부분을 사용하는 제1 디코딩 동작에 사용됨 -, 제1 픽처의 제1 수정된 부분을 제공하는 단계, 상기 분류에 기초하여 제2 필터를 결정하는 단계 - 상기 제2 필터는 상기 제1 픽처의 제1 수정된 부분을 사용하는 제2 디코딩 동작에 사용됨 - 를 포함한다.
비디오를 디코딩하기 위한 장치가 제공된다. 본 장치는 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은 비디오를 디코딩하도록 구성되며, 비디오를 디코딩하는 것은, 제1 픽처의 샘플들을 분류하는 것, 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 것 - 상기 제1 필터는 상기 제1 픽처의 적어도 하나의 부분을 사용하는 제1 디코딩 동작에 사용됨 -, 제1 픽처의 제1 수정된 부분을 제공하는 것, 상기 분류에 기초하여 제2 필터를 결정하는 것 - 상기 제2 필터는 상기 제1 픽처의 제1 수정된 부분을 사용하는 제2 디코딩 동작에 사용됨 - 을 포함한다.
상기에서 인용된 태양들 중 임의의 태양의 일 실시예에 따르면, 분류는 기준 픽처들을 저장하는 디코딩된 픽처 버퍼에 저장되는데, 즉, 제1 픽처의 각각의 샘플과 연관된 인덱스는 디코딩된 픽처 버퍼에 저장된다.
다른 태양에 따르면, 비디오를 인코딩하기 위한 다른 방법이 제공되며, 비디오를 인코딩하는 것은, 기준 픽처의 샘플들을 분류하는 단계, 및 비디오의 적어도 하나의 블록에 대해, 적어도 하나의 블록의 적어도 하나의 모션 벡터를 사용하여, 기준 픽처의 적어도 하나의 부분을 결정하는 단계, 기준 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 적어도 하나의 보간 필터를 결정하는 단계, 상기 결정된 적어도 하나의 보간 필터를 사용하는 상기 기준 픽처의 적어도 하나의 부분의 필터링에 기초하여, 상기 블록에 대한 예측을 결정하는 단계, 상기 예측에 기초하여 상기 블록을 인코딩하는 단계를 포함한다.
비디오를 인코딩하기 위한 장치가 제공되며, 장치는 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 기준 픽처의 샘플들을 분류하고, 비디오의 적어도 하나의 블록에 대해: 적어도 하나의 블록의 적어도 하나의 모션 벡터를 사용하여, 기준 픽처의 적어도 하나의 부분을 결정하고, 기준 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 적어도 하나의 보간 필터를 결정하고, 상기 결정된 적어도 하나의 보간 필터를 사용하는 상기 기준 픽처의 적어도 하나의 부분의 필터링에 기초하여, 상기 블록에 대한 예측을 결정하고, 상기 예측에 기초하여 상기 블록을 인코딩함으로써, 비디오를 인코딩하도록 구성된다.
다른 태양에 따르면, 비디오를 디코딩하기 위한 다른 방법이 제공되며, 이는, 기준 픽처의 샘플들을 분류하는 단계, 및 비디오의 적어도 하나의 블록에 대해: 적어도 하나의 블록의 적어도 하나의 모션 벡터를 사용하여, 기준 픽처의 적어도 하나의 부분을 결정하는 단계, 기준 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 적어도 하나의 보간 필터를 결정하는 단계, 상기 결정된 적어도 하나의 보간 필터를 사용하는 상기 기준 픽처의 적어도 하나의 부분의 필터링에 기초하여, 상기 블록에 대한 예측을 결정하는 단계, 상기 예측에 기초하여 상기 블록을 디코딩하는 단계를 포함한다.
비디오를 디코딩하기 위한 장치가 제공되며, 장치는 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 기준 픽처의 샘플들을 분류하고, 비디오의 적어도 하나의 블록에 대해: 적어도 하나의 블록의 적어도 하나의 모션 벡터를 사용하여, 기준 픽처의 적어도 하나의 부분을 결정하고, 기준 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 적어도 하나의 보간 필터를 결정하고, 상기 결정된 적어도 하나의 보간 필터를 사용하는 상기 기준 픽처의 적어도 하나의 부분의 필터링에 기초하여, 상기 블록에 대한 예측을 결정하고, 상기 예측에 기초하여 상기 블록을 디코딩함으로써, 비디오를 디코딩하도록 구성된다.
다른 태양에 따르면, 제2 픽처의 적어도 하나의 부분으로부터, 제1 픽처의 적어도 하나의 부분을 재구성하기 위한 방법이 제공되며, 상기 제1 픽처 및 상기 제2 픽처는 상이한 크기들을 갖고, 상기 재구성하는 것은, 비트스트림으로부터 상기 제2 픽처를 디코딩하는 단계, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 재샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 단계를 포함한다.
다른 실시예에 따르면, 제2 픽처의 적어도 하나의 부분으로부터, 제1 픽처의 적어도 하나의 부분을 재구성하기 위한 장치가 제공되며, 이는 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 비트스트림으로부터 상기 제2 픽처를 디코딩하고, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 재샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하도록 구성되고, 상기 제1 픽처 및 상기 제2 픽처는 상이한 크기들을 갖는다.
다른 태양에 따르면, 비디오 인코딩의 방법이 제공되며, 이는, 비트스트림에서 제2 픽처를 인코딩하는 단계 - 상기 제2 픽처는 제1 픽처로부터 다운스케일링된 픽처임 -, 비트스트림에서 제3 픽처를 인코딩하는 단계 - 제3 픽처는 제1 픽처와 동일한 크기를 가짐 - 를 포함하고, 제3 픽처를 인코딩하는 단계는 디코딩 후에 제2 픽처의 적어도 하나의 부분을 업샘플링함으로써 제1 픽처의 적어도 하나의 부분을 재구성하는 단계를 포함하고, 상기 업샘플링은, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 업샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 것을 포함한다.
다른 실시예에 따르면, 비디오 인코딩을 위한 장치가 제공되며, 이는 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 비트스트림에서 제2 픽처를 인코딩하도록 - 상기 제2 픽처는 제1 픽처로부터 다운스케일링된 픽처임 -, 비트스트림에서 제3 픽처를 인코딩하도록 - 제3 픽처는 제1 픽처와 동일한 크기를 가짐 - 구성되고, 제3 픽처를 인코딩하는 것은, 디코딩 후에 제2 픽처의 적어도 하나의 부분을 업샘플링함으로써 제1 픽처의 적어도 하나의 부분을 재구성하는 것을 포함하고, 상기 업샘플링은, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 업샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 것을 포함한다.
다른 실시예에 따르면, 비디오 디코딩의 방법이 제공되며, 이는, 비트스트림에서 제2 픽처를 디코딩하는 단계 - 상기 제2 픽처는 제1 픽처로부터 다운스케일링된 픽처임 -, 비트스트림에서 제3 픽처를 디코딩하는 단계 - 제3 픽처는 제1 픽처와 동일한 크기를 가짐 - 를 포함하고, 제3 픽처를 디코딩하는 단계는 디코딩 후에 제2 픽처의 적어도 하나의 부분을 업샘플링함으로써 제1 픽처의 적어도 하나의 부분을 재구성하는 단계를 포함하고, 상기 업샘플링은, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 업샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 것을 포함한다.
다른 실시예에 따르면, 비디오 디코딩을 위한 장치가 제공되며, 이는 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 비트스트림에서 제2 픽처를 디코딩하도록 - 상기 제2 픽처는 제1 픽처로부터 다운스케일링된 픽처임 -, 비트스트림에서 제3 픽처를 디코딩하도록 - 제3 픽처는 제1 픽처와 동일한 크기를 가짐 - 구성되고, 제3 픽처를 디코딩하는 것은, 디코딩 후에 제2 픽처의 적어도 하나의 부분을 업샘플링함으로써 제1 픽처의 적어도 하나의 부분을 재구성하는 것을 포함하고, 상기 업샘플링은, 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 업샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 것을 포함한다.
일 변형예에서, 비디오를 인코딩/디코딩하기 위한 방법은 제3 픽처를 코딩하기 위해 기준 픽처들을 저장하는 디코딩된 픽처 버퍼에 상기 제1 픽처의 적어도 하나의 재구성된 부분을 저장하는 단계를 포함한다.
하나 이상의 실시예들은 또한, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본 명세서에 기술된 실시예들 중 임의의 것에 따른 재구성 방법, 또는 인코딩 방법 또는 디코딩 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램을 제공한다. 본 실시예들 중 하나 이상은 또한, 전술된 방법들에 따라 픽처의 일부를 재구성하거나, 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예들은 또한, 전술된 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예들은 또한, 전술된 방법들에 따라 생성된 비트스트림을 송신하거나 또는 수신하기 위한 방법 및 장치를 제공한다.
도 1은 본 실시예들의 태양들이 구현될 수 있는 시스템의 블록도를 예시한다.
도 2는 비디오 인코더의 일 실시예의 블록도를 예시한다.
도 3은 비디오 디코더의 일 실시예의 블록도를 예시한다.
도 4는 일 실시예에 따른, 비디오를 인코딩하기 위한 예시적인 방법을 예시한다.
도 5는 일 실시예에 따른, 비디오를 재구성하기 위한 예시적인 방법을 예시한다.
도 6은 일 실시예에 따른, 기준 픽처가 현재 픽처와는 상이한 해상도를 가질 때, 기준 픽처에서 현재 픽처 내의 현재 블록의 모션 보상의 일례를 예시한다.
도 7은 일 실시예에 따른, 샘플의 위상의 함수로서 필터 계수 값들의 결정의 일례를 예시한다.
도 8은 일 실시예에 따른, 2개의 스테이지들의 모션 보상 필터링의 일례를 예시한다.
도 9는 일 실시예에 따른, 모션 보상 필터링의 제1 스테이지에서의 수평 필터링의 일례를 예시한다.
도 10은 일 실시예에 따른, 모션 보상 필터링의 제2 스테이지에서의 수직 필터링의 일례를 예시한다.
도 11은 대칭 필터 및 필터 회전의 예들을 예시한다.
도 12는 일 실시예에 따른, 업샘플링 필터를 결정하기 위한 방법의 일례를 예시한다.
도 13은 일 실시예에 따른, 픽처를 인코딩/디코딩하기 위한 방법의 일례를 예시한다,
도 14a는 일 실시예에 따른, 수평 및 수직 방향들에서 2배 업샘플링(upsampling by two)에 대응하는 상이한 위상들의 일례를 예시한다.
도 14b 내지 도 14i는 실시예들에 따른, 업샘플링 필터에 대한 상이한 형상들의 예들을 예시한다.
도 15는 일 실시예에 따른 업샘플링 필터 계수들을 결정하기 위한 방법의 일례를 예시한다.
도 16은 일 실시예에 따른, 비디오를 인코딩하기 위한 방법의 일례를 예시한다.
도 17은 일 실시예에 따른, 비디오를 디코딩하기 위한 방법의 일례를 예시한다.
도 18은 일 실시예에 따른, 비디오를 인코딩/디코딩하기 위한 방법의 일례를 예시한다,
도 19는 다른 실시예에 따른, 비디오를 인코딩/디코딩하기 위한 방법의 일례를 예시한다,
도 20은 다른 실시예에 따른, 비디오를 인코딩/디코딩하기 위한 방법의 일례를 예시한다,
도 21은 다른 실시예에 따른, 비디오를 디코딩하기 위한 방법의 일례를 예시한다.
도 22는 본 발명의 원리들의 일례에 따른, 통신 네트워크를 통해 통신하는 2개의 원격 디바이스들을 도시한다.
도 23은 본 발명의 원리들의 일례에 따른 신호의 신택스를 도시한다.
본 출원은 도구들, 특징부들, 실시예들, 모델들, 접근법들 등을 포함한 다양한 태양들을 기술한다. 이들 태양들 중 많은 것은 특이성을 갖고서 기술되며, 적어도, 개별 특성들을 보여주기 위해, 종종, 제한사항으로 들릴 수 있는 방식으로 기술된다. 그러나, 이는 설명의 명확성을 위한 것이며, 그들 태양들의 응용 또는 범주를 제한하지 않는다. 실제로, 상이한 모든 태양들이 조합되고 상호교환되어 추가의 태양들을 제공할 수 있다. 또한, 태양들이 조합될 수 있고, 마찬가지로 이전의 출원에 기술된 태양들과 상호교환될 수 있다.
본 출원에서 기술되고 고려되는 태양들은 많은 상이한 형태들로 구현될 수 있다. 하기의 도 1, 도 2 및 도 3은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 1, 도 2 및 도 3의 논의는 구현예들의 폭을 제한하지는 않는다. 태양들 중 적어도 하나는 대체적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 태양은 대체적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 태양들은 기술된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 방법, 장치, 컴퓨터 판독가능 저장 매체, 및/또는 기술된 방법들 중 임의의 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된"및 "디코딩된"이라는 용어들은 상호교환가능하게 사용될 수 있으며, "픽셀" 및 "샘플"이라는 용어들은 상호교환가능하게 사용될 수 있고, "이미지", "픽처" 및 "프레임"이라는 용어들은 상호교환가능하게 사용될 수 있다.
다양한 방법들이 본 명세서에 기술되고, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다. 추가적으로, "제1", "제2" 등과 같은 용어들은, 예를 들어, "제1 디코딩" 및 "제2 디코딩"과 같은 요소, 컴포넌트, 단계, 동작 등을 수정하기 위해 다양한 실시예들에서 사용될 수 있다. 그러한 용어들의 사용은, 구체적으로 요구되지 않는 한 수정된 동작들에 대한 순서화를 의미하지 않는다. 따라서, 이러한 예에서, 제1 디코딩은 제2 디코딩 전에 수행될 필요가 없고, 예를 들어, 제2 디코딩 전에, 그 동안, 또는 그와 중첩되는 기간에 발생할 수 있다.
본 출원에서 기술된 다양한 방법들 및 다른 태양들은 모듈들, 예를 들어, 도 2 및 도 3에 도시된 바와 같은 비디오 인코더(200) 및 디코더(300)의 모션 보상 모듈(270, 375)을 수정하는 데 사용될 수 있다. 또한, 본 태양들은 VVC 또는 HEVC로 제한되지 않으며, 예를 들어, 기존에 존재하든 향후 개발되든, 다른 표준들 및 권고들, 및 임의의 그러한 표준들 및 권고들(VVC 및 HEVC를 포함함)의 확장들에 적용될 수 있다. 달리 나타내지 않거나, 또는 기술적으로 배제되지 않는 한, 본 출원에 기술되는 태양들은 개별적으로 또는 조합하여 사용될 수 있다.
도 1은 다양한 태양들 및 실시예들이 구현될 수 있는 시스템의 일례의 블록도를 도시한다. 시스템(100)은 후술되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있으며, 본 출원에 기술된 태양들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들에는 개인용 컴퓨터들, 랩톱 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인용 비디오 녹화 시스템들, 연결형 가전 제품들, 및 서버들과 같은 다양한 전자 디바이스들이 포함되지만, 이들로 제한되지 않는다. 시스템(100)의 요소들은 단일 집적 회로, 다수의 IC들, 및/또는 별개의 컴포넌트들에, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(100)의 프로세싱 및 인코더/디코더 요소들은 다수의 IC들 및/또는 별개의 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(100)은, 예를 들어 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 다른 시스템들에 또는 다른 전자 디바이스들에 통신가능하게 커플링된다. 다양한 실시예들에서, 시스템(100)은 본 출원에 기술된 태양들 중 하나 이상을 구현하도록 구성된다.
시스템(100)은, 예를 들어 본 출원에 기술된 다양한 태양들을 구현하기 위해 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(110)를 포함한다. 프로세서(110)는 임베딩된 메모리, 입출력 인터페이스 및 당업계에 알려진 바와 같은 다양한 다른 회로부들을 포함할 수 있다. 시스템(100)은 적어도 하나의 메모리(120)(예컨대, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(100)은 저장 디바이스(140)를 포함하며, 이는 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이들로 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있다. 비제한적인 예로서, 저장 디바이스(140)는 내부 저장 디바이스, 부착된 저장 디바이스 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
예를 들어, 시스템(100)은 데이터를 프로세싱하여 인코딩된 비디오 또는 디코딩된 비디오를 제공하도록 구성된 인코더/디코더 모듈(130)을 포함하고, 인코더/디코더 모듈(130)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(130)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 또한, 인코더/디코더 모듈(130)은 시스템(100)의 별개의 요소로서 구현될 수 있거나, 또는 당업자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(110) 내에 통합될 수 있다.
본 출원에 기술된 다양한 태양들을 수행하기 위해 프로세서(110) 또는 인코더/디코더(130) 상에 로딩될 프로그램 코드는 저장 디바이스(140)에 저장되고, 이어서 프로세서(110)에 의한 실행을 위해 메모리(120) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(110), 메모리(120), 저장 디바이스(140) 및 인코더/디코더 모듈(130) 중 하나 이상은 본 출원에 기술된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 저장된 그러한 항목들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분, 비트스트림, 매트릭스, 변수, 및 식, 공식, 연산 및 연산 로직의 프로세싱으로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이들로 제한되지 않는다.
일부 실시예들에서, 프로세서(110) 및/또는 인코더/디코더 모듈(130) 내부의 메모리는 명령어들을 저장하고, 인코딩 또는 디코딩 동안 필요한 프로세싱을 위한 작업 메모리를 제공하는 데 사용된다. 그러나, 다른 실시예들에서, 프로세싱 디바이스(예를 들어, 프로세싱 디바이스는 프로세서(110) 또는 인코더/디코더 모듈(130) 중 어느 하나일 수 있음) 외부의 메모리가 이러한 기능들 중 하나 이상에 사용된다. 외부 메모리는 메모리(120) 및/또는 저장 디바이스(140), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 여러 실시예들에서, 외부 비휘발성 플래시 메모리가 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는, MPEG-2(MPEG는 Moving Picture Experts Group을 지칭하고, MPEG-2는 또한 ISO/IEC 13818로도 지칭되고, 13818-1은 또한 H.222로도 알려져 있고, 13818-2는 또한 H.262로도 알려져 있음), HEVC(HEVC는 High Efficiency Video Coding을 지칭하고, H.265 및 MPEG-H Part 2로도 알려져 있음), 또는 VVC(Versatile Video Coding, JVET(Joint Video Experts Team)에서 개발 중인 새로운 표준)에 대한 것과 같은, 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(100)의 요소들에 대한 입력은 블록(105)에 나타낸 바와 같은 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은, (i) 예를 들어, 브로드캐스터(broadcaster)에 의해 무선으로(over the air) 송신된 무선 주파수(radio frequency, RF) 신호를 수신하는 RF 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(Universal Serial Bus, USB) 입력 단자, 및/또는 (iv) 고화질 멀티미디어 인터페이스(HDMI) 입력 단자를 포함하지만, 이들로 제한되지 않는다. 도 1에 도시되지 않은 다른 예들은 복합 비디오(composite video)를 포함한다.
다양한 실시예들에서, 블록(105)의 입력 디바이스들은 당업계에 알려진 바와 같은 연관된 각자의 입력 프로세싱 요소들을 갖는다. 예를 들어, RF 부분은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수들의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향변환하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향변환되고 대역-제한된 신호를 복조하는 것, (v) 오류 보정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 오류 보정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 근접 주파수(near-baseband frequency))로 또는 기저대역으로 하향변환하는 것을 포함하여, 다양한 이들 기능들을 수행하는 동조기를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 프로세싱 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향변환, 및 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이들 요소들 중 일부를 제거하고/하거나 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은 기존 요소들 사이에 요소들을 삽입하는 것, 예를 들어, 증폭기들 및 아날로그-대-디지털 변환기를 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
추가로, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 접속을 통해 다른 전자 디바이스들에 시스템(100)을 접속시키기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 프로세싱, 예를 들어, 리드 솔로몬(Reed-Solomon) 오류 보정의 다양한 태양들이, 예를 들어, 필요에 따라, 별개의 입력 프로세싱 IC 내에서 또는 프로세서(110) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 프로세싱의 태양들이, 필요에 따라, 별개의 인터페이스 IC들 내에서 또는 프로세서(110) 내에서 구현될 수 있다. 복조되고, 오류 보정되고, 역다중화된 스트림은, 출력 디바이스 상의 프레젠테이션을 위해 필요에 따라 데이터스트림을 프로세싱하기 위해, 예를 들어, 프로세서(110), 및 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(130)를 포함하는 다양한 프로세싱 요소들에 제공된다.
시스템(100)의 다양한 요소들이 집적 하우징 내에 제공될 수 있다. 집적 하우징 내에서, 다양한 요소들은 I2C 버스, 배선 및 인쇄 회로 기판들을 포함한 적합한 접속 배열물(115), 예를 들어, 당업계에 알려져 있는 바와 같은 내부 버스를 사용하여, 상호접속될 수 있고 그들 사이에서 데이터를 송신할 수 있다.
시스템(100)은 통신 채널(190)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(150)를 포함한다. 통신 인터페이스(150)는 통신 채널(190)을 통해 데이터를 송수신하도록 구성되는 송수신기를 포함할 수 있지만, 이로 제한되지 않는다. 통신 인터페이스(150)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이로 제한되지 않으며, 예를 들어, 통신 채널(190)이 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예컨대 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)를 사용하여, 시스템(100)에 스트리밍된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들에 대해 적응된 통신 채널(190) 및 통신 인터페이스(150)를 통해 수신된다. 이러한 실시예들의 통신 채널(190)은 전형적으로, 스트리밍 애플리케이션들 및 다른 오버더톱(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(105)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(100)에 제공한다. 또 다른 실시예들은 입력 블록(105)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(100)에 제공한다. 전술한 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(100)은 디스플레이(165), 스피커(175), 및 다른 주변 디바이스들(185)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(165)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 커브드(curved) 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(165)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일 폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(165)는 또한 (예를 들어, 스마트 폰에서와 같이) 다른 컴포넌트들과 통합될 수 있거나, 또는 별개일 수 있다(예를 들어, 랩톱을 위한 외부 모니터). 실시예들의 다양한 예들에서, 다른 주변 디바이스들(185)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어들 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(100)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스들(185)을 사용한다. 예를 들어, 디스크 플레이어는 시스템(100)의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은, 사용자 개입으로 또는 사용자 개입 없이 디바이스-대-디바이스 제어를 가능하게 하는 AV.Link, CEC, 또는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(100)과 디스플레이(165), 스피커들(175), 또는 다른 주변 디바이스들(185) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(160, 170, 180)을 통한 전용 접속들을 통해 시스템(100)에 통신가능하게 커플링될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(150)를 통해 통신 채널(190)을 사용하여 시스템(100)에 접속될 수 있다. 디스플레이(165) 및 스피커(175)는 전자 디바이스, 예를 들어, 텔레비전에서 시스템(100)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(160)는 디스플레이 드라이버, 예를 들어 타이밍 제어기(T Con) 칩을 포함한다.
예를 들어, 디스플레이(165) 및 스피커(175)는 대안적으로 입력(105)의 RF 부분이 별개의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(165) 및 스피커들(175)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어 HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
실시예들은 프로세서(110)에 의해 구현되는 컴퓨터 소프트웨어에 의해 또는 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로들에 의해 구현될 수 있다. 메모리(120)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스, 자기 메모리 디바이스, 반도체 기반 메모리 디바이스, 고정 메모리, 및 착탈식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(110)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티 코어 아키텍처에 기반한 프로세서들 중 하나 이상을 포괄할 수 있다.
도 2는 인코더(200)를 예시한다. 이러한 인코더(200)의 변형들이 고려되지만, 인코더(200)는 모든 예상된 변형들을 기술하지 않고서 명료성의 목적들을 위해 후술된다.
일부 실시예들에서, 도 2는 또한, HEVC 표준에 대한 개선들이 이루어진 인코더 또는 HEVC와 유사한 기술들을 채용하는 인코더, 예컨대 JVET에 의해 개발 중인 VVC 인코더를 예시한다.
인코딩되기 전에, 비디오 시퀀스는, 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하거나(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환), 또는 (예를 들어, 컬러 성분들 중 하나의 성분의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위해 입력 픽처 성분들의 재맵핑(remapping)을 수행하는, 사전 인코딩 프로세싱(201)을 거칠 수 있다. 메타데이터는 사전-프로세싱과 연관될 수 있고, 비트스트림에 부착될 수 있다.
인코더(200)에서 픽처는 후술되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는, 예를 들어 CU들의 단위들로 파티셔닝(202) 및 프로세싱된다. 각각의 유닛은, 예를 들어 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 그것은 인트라 예측을 수행한다(260). 인터 모드에서는 모션 추정(275) 및 보상(270)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(205), 예를 들어 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 인코더는 또한 인트라 예측 결과 및 인터 예측 결과를 블렌딩하거나(263), 또는 상이한 인트라/인터 예측 방법들로부터의 결과들을 블렌딩할 수 있다. 예측 잔차들은, 예를 들어 오리지널 이미지 블록에서 예측된 블록을 감산함으로써(210) 계산된다.
모션 정제 모듈(272)은 원래 블록을 참조하지 않고 블록의 모션 필드를 정제하기 위해 이미 이용가능한 기준 픽처를 사용한다. 영역에 대한 모션 필드는 영역을 갖는 모든 픽셀들에 대한 모션 벡터들의 집합체로 간주될 수 있다. 모션 벡터들이 서브-블록 기반인 경우, 모션 필드는 또한 영역 내의 모든 서브-블록 모션 벡터들의 집합체로서 표현될 수 있다(서브-블록 내의 모든 픽셀들은 동일한 모션 벡터를 갖고, 모션 벡터들은 서브-블록마다 다를 수 있음). 단일 모션 벡터가 영역에 대해 사용되는 경우, 영역에 대한 모션 필드는 또한 단일 모션 벡터(영역 내의 모든 픽셀들에 대해 동일한 모션 벡터들)에 의해 표현될 수 있다.
이어서, 예측 잔차들은 변환되고(225) 양자화된다(230). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들은 엔트로피 코딩되어(245) 비트스트림을 출력한다. 인코더는 변환을 스킵할 수 있고, 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 모두를 스킵할 수 있으며, 즉, 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩된다.
인코더는 인코딩된 블록을 디코딩하여 추가 예측들을 위한 기준을 제공한다. 양자화된 변환 계수들은 예측 잔차들을 디코딩하기 위해 역양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(255) 이미지 블록이 재구성된다. 인루프(in-loop) 필터들(265)이, 예를 들어, 인코딩 아티팩트들을 감소시키기 위해 디블록킹(deblocking)/SAO(Sample Adaptive Offset) 필터링을 수행하도록 재구성된 픽처에 적용된다. 필터링된 이미지는 기준 픽처 버퍼(280)에 저장된다.
도 3은 비디오 디코더(300)의 블록도를 예시한다. 디코더(300)에서, 비트스트림은 후술되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(300)는 대체적으로 도 2에 기술된 바와 같은 인코딩 패스에 상반적인 디코딩 패스를 수행한다. 인코더(200)는 또한 대체적으로, 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(200)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(330). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 나타낸다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(335). 변환 계수들은 예측 잔차들을 디코딩하기 위해 역양자화되고(340) 역변환된다(350). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(355) 이미지 블록이 재구성된다.
예측된 블록은 인트라 예측(360) 또는 모션 보상된 예측(즉, 인터 예측)(375)으로부터 획득될 수 있다(370). 디코더는 인트라 예측 결과 및 인터 예측 결과를 블렌딩하거나(373), 또는 다수의 인트라/인터 예측 방법들로부터의 결과들을 블렌딩할 수 있다. 모션 보상 전에, 모션 필드는 이미 이용가능한 기준 픽처들을 사용함으로써 정제될 수 있다(372). 재구성된 이미지에 인루프 필터들(365)이 적용된다. 필터링된 이미지는 기준 픽처 버퍼(380)에 저장된다.
디코딩된 픽처는 사후 디코딩 프로세싱(385), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 사전 인코딩 프로세싱(201)에서 수행된 재맵핑 프로세스의 역을 수행하는 역 재맵핑을 추가로 거칠 수 있다. 사후 디코딩 프로세싱은 사전 인코딩 프로세싱에서 도출되고 비트스트림에서 시그널링된 메타데이터를 사용할 수 있다.
기준 픽처 재샘플링
낮은 비트레이트에서 그리고/또는 픽처들이 몇 개의 고주파수들을 가질 때, 더 양호한 코딩 효율 트레이드-오프를 위해, 전형적으로 4K 또는 8K 프레임들의 경우에 전체 해상도보다는 축소된 크기의 픽처들이 인코딩될 수 있다. 디스플레이 전에, 디코더가 디코딩된 픽처들을 업스케일링할 것을 책임진다. 기준 픽처 재샘플링(Reference Picture Re-sampling, RPR)의 원리는 더 양호한 코딩 효율 트레이드-오프를 위해 픽처 단위로 비디오 시퀀스의 이미지들을 동적으로 재스케일링하는 것이다.
도 4 및 도 5는 각각, 일 실시예에 따른 비디오를 인코딩하기 위한 방법(400) 및 디코딩하기 위한 방법(500)의 예들을 예시하며, 여기서 인코딩할 이미지는 인코딩을 위해 재스케일링될 수 있다. 예를 들어, 그러한 인코더 및 디코더는 VVC 표준에 순응할 수 있다.
크기(picWidth x picHeight)의 픽처들로 구성된 원래의 비디오 시퀀스를 고려하면, 인코더는 각각의 원래의 픽처에 대해 프레임을 코딩하기 위한 해상도(즉, 픽처 크기)를 선택한다. (픽처 파라미터 세트에 대해) 상이한 PPS(Picture Parameter Set)는 픽처들의 크기를 갖는 비트스트림에서 코딩되고, 디코딩할 픽처의 슬라이스/픽처 헤더는, 픽처를 디코딩하기 위해 디코더 측에서 어느 PPS를 사용할 것인지를 나타낸다.
각각 사전 또는 사후 프로세싱으로서 사용되는 다운샘플러(440) 및 업샘플러(540) 기능들은 표준에 의해 명시되지 않는다.
각각의 프레임에 대해, 인코더는, 원래의 또는 축소된 크기의 해상도(예컨대, 2로 나눈 픽처 폭/높이)로 인코딩할지 여부를 선택한다. 선택은 원래의 픽처들에서 공간적 및 시간적 활동을 인코딩하거나 또는 고려하는 2회 패스(pass)들로 이루어질 수 있다.
인코더가 축소된 크기의 해상도로 원래의 픽처를 인코딩할 것을 선택할 때, 원래의 픽처는, 비트스트림을 생성하기 위해 코어 인코더(410)에 입력되기 전에 다운스케일링된다(440). 이어서, 다운스케일링된 해상도에서 재구성된 픽처는 후속 픽처들을 코딩하기 위해 디코딩된 픽처 버퍼(decoded picture buffer, DPB)에 저장된다(420). 결과적으로, 디코딩된 픽처 버퍼(DPB)는 현재 픽처 크기와는 상이한 크기를 갖는 픽처들을 포함할 수 있다.
디코더에서, 픽처는 비트스트림으로부터 디코딩되고(510), 다운스케일링된 해상도에서 재구성된 픽처는 후속 픽처들을 디코딩하기 위해 디코딩된 픽처 버퍼(DPB)에 저장된다(520). 일 실시예에 따르면, 재구성된 픽처는 그의 원래의 해상도로 업샘플링되고(540), 예를 들어, 디스플레이로 송신된다.
일 실시예에 따르면, 인코딩될 현재 픽처가 현재 픽처와는 상이한 크기를 갖는 DPB로부터의 기준 픽처를 사용하는 경우에, 예측 블록을 구축하기 위한 기준 블록의 재스케일링(430/530)(업 스케일링 또는 다운스케일링)이 분리가능한(수평 및 수직) 보간 필터들 및 적절한 샘플링을 이용한 모션 보상 프로세스 동안 (온더플라이(on-the-fly)로) 이루어진다. 도 6은 상기에서 논의된 인코딩 방법 및 디코딩 방법의 재스케일링(430/530)에서 구현될 수 있는 암시적 블록 재샘플링을 이용한 모션 보상의 일례를 예시한다. 필터 계수들의 선택은 위상 (기준 픽처에서 보간할 샘플의 포지션)에 의존하며, 이는 모션 벡터 둘 모두에 그리고 이러한 경우(식 1)(도 6)에서 기준 픽처(도 6의 620)의 크기(SXref, SYref) 및 현재 픽처(도 6의 610)의 크기(SXcur,SYcur) 둘 모두에 의존한다.
크기(SXcur,SYcur)의 현재 블록 예측 P(610)을 예측하기 위해, P의 각각의 샘플 Xcur에 대해, 기준 픽처 내의 그의 포지션(Xref,Yref)이 결정된다. (Xref,Yref)의 값들은 현재 블록의 모션 벡터(MVx,MVy)의 그리고 현재 블록 크기와 기준 픽처 내의 대응하는 영역(SXref,SYref)(620) 사이의 스케일링 비율의 함수이다.
도 6에 도시된 바와 같이, 기준 픽처 내의 모션 보상된 포인트(Xref,Yref)의 비-정수 부분인 위상을 로 표기한다. 포지션들(Xref,Yref) 및 위상들은 하기의 식들에 의해 주어진다:
(식 1)
이때, int(x)는 x의 정수 부분을 제공한다.
일 실시예에서, 모션 보상(motion compensation, MC)은 계산들의 양을 감소시키기 위해 2개의 별개의 1D 필터들을 사용한다(도 7). MC 프로세스는 도 8, 도 9 및 도 10에 도시된 바와 같은 2개의 스테이지들: 먼저 수평 모션 보상 필터링(820, 900) 그리고 다음으로 수직 모션 보상 필터링(840, 1000)에서 수행되거나, 또는 일 변형예에서, 수직 모션 보상 필터링이 먼저 수행되고, 다음으로 수평 모션 보상 필터링이 수행될 수 있다.
도 8은 일 실시예에 따른, 2개의 스테이지들의 모션 보상 필터링의 일례를 예시한다. 기준 픽처 내의 블록 포지션(Xref, Yref) 및 위상은 현재 픽처 내의 블록 포지션(XCur, YCur) 및 현재 블록의 모션 벡터(MVx,MVy)로부터 결정된다(810). 일 실시예에 따르면, 수평 방향을 따라 업스케일링된 모션 보상된 샘플들을 결정하기 위해, 1D 필터를 이용한 수평 필터링(도 9에 예시됨)이 수행된다(820, 940).
일 실시예에서, 모션 벡터들이 서브 픽셀 정밀도를 갖기 때문에, 서브 픽셀 포지션(위상)의 수만큼 많은 1D 필터들이 존재한다. 도 7은 모션 보상된 샘플(Xcur)의 위상에 따라 필터들의 계수들 w(i)가 결정되는 방법을 도시한다. 재구성된 샘플 "rec"는 다음과 같이 1D 필터링으로 계산된다:
(식 2)
재구성된 샘플들은 동일한 크기(SXcur, SYref)의 임시 버퍼(도 9의 930) 내에 저장된다(830). 이어서, 수직 방향을 따라 업스케일링된 모션 보상된 샘플들을 결정하기 위해 임시 버퍼를 입력으로서 사용하는 도 10에 예시된 바와 같이, 1D 필터를 이용하여 수직 필터링이 수행된다(840).
또한, 그들이 별개의 필터들이기 때문에, 먼저 수직 필터링을 그리고 다음으로 수평 필터링을 수행할 수 있다는 것에 유의한다.
생성된 예측된 샘플들은 크기 (SXcur, SYcur)의 블록(1050) 내에 저장된다(850).
상기의 설명에서, 현재 픽처 및 기준 픽처가 동일한 윈도우에 대응하는 것으로 간주된다. 그것은, 모션이 0이면, 2개의 픽처들의 상단 좌측 및 하단 우측 샘플들이 2개의 동일한 장면 포인트들에 대응함을 의미한다. 이것이 그 경우가 아니면, 오프셋 윈도우 파라미터를 (Xref,Yref)에 추가해야 한다.
전술된 암시적 재샘플링을 이용한 모션 보상은 고전적 모션 보상을 위해 설계된 보간 필터들, 예컨대 VVC 표준에서 사용되는 보간 필터들을 재사용할 수 있게 한다. 또한, 이러한 프로세스는 여러 해상도들에서 기준 픽처들을 저장할 필요성을 회피한다. 그러나, 업샘플링 필터들의 단순화는 인코더의 압축 효율을 제한한다. 따라서, 개선에 대한 필요성이 존재한다.
일 실시예에서, 제2 픽처의 적어도 하나의 부분으로부터 제1 픽처의 적어도 하나의 부분을 재구성하기 위한 방법이 제공되며, 여기서 제1 픽처 및 제2 픽처는 상이한 크기들을 갖는다. 예를 들어, 제2 픽처는 제1 픽처보다 더 작은 해상도를 갖는다. 이 실시예에 따르면, 제1 픽처의 일부를 재구성하는 것은, 비트스트림으로부터 제2 픽처를 디코딩하는 것, 및 상기 디코딩된 제2 픽처의 적어도 하나의 부분의 적어도 하나의 제2 샘플에 적용된 적어도 하나의 업샘플링 필터를 사용하여 상기 제1 픽처의 적어도 하나의 부분의 적어도 하나의 제1 샘플을 결정하는 것을 포함한다.
일 실시예에서, 재구성하기 위한 방법은, 상기 제1 픽처의 적어도 하나의 재구성된 부분을 디스플레이로 송신하는 단계를 포함한다. 일 실시예에서, 하기에 제공되는 재구성 방법의 단계들은 도 5와 관련하여 설명된 디코딩(510, 540)을 위한 방법에서 구현될 수 있다.
일 실시예에 따르면, 재구성하기 위한 방법은 인코딩 방법 또는 디코딩 방법에서 구현될 수 있다. 제1 픽처의 적어도 하나의 부분은, 제2 픽처를 디코딩하고 후술되는 바와 같이 제2 픽처의 적어도 하나의 부분을 업샘플링하는 것으로부터 획득된다. 이어서, 제1 픽처의 재구성된 적어도 하나의 부분은, 제1 픽처와 동일한 크기 또는 상이한 크기의 후속 픽처들을 코딩/디코딩할 때 기준 픽처들로서 미래의 사용을 위해 디코딩된 픽처 버퍼에 저장된다.
하기에서, 필터 파라미터들이 결정되는 일부 실시예들이 제공된다. 필터 파라미터들은 업샘플링 필터 계수들, 연관된 탭 위치들(형상), 및 가능하게는 필터를 식별하기 위한 인덱스를 포함한다. 하기에 제공되는 실시예들 중 임의의 것은, 픽처를 재구성하기 위한 방법, 인코딩을 위한 방법, 및/또는 상기에 제공된 디코딩을 위한 방법에서, 단독으로 또는 다른 실시예들 중 임의의 하나 이상과 조합하여 구현될 수 있다.
일 실시예에 따르면, 업샘플링 필터는 분리가능하지 않다. 이러한 실시예에서, 업샘플링 필터는 1D 필터들을 이용한 2-스텝 업샘플링을 통해 다루어질 수 없다. 필터들은 선형이거나 또는 비선형일 수 있다.
다른 실시예에 따르면, 업샘플링 필터 계수들은 비트스트림에서 코딩된다. 일 변형예에서, 기준 픽처 및 현재 픽처가 동일한 크기를 갖는 경우에도, 업샘플링 필터 계수들이 코딩될 수 있다. 비트스트림에서, (업샘플링 후) 원래의 픽처의 크기가 코딩된다. 원래의 픽처의 크기는 업샘플링 필터와 연관된 파라미터일 수 있다. 업샘플링 필터 계수들 및/또는 원래의 크기는, 예를 들어, APS(예를 들어, 적응적 루프 필터 계수들을 송신하기 위해 VVC 표준에서 사용되는 적응 파라미터 세트(Adaptation Parameter Set)), 슬라이스 헤더, 픽처 헤더 또는 PPS에서 코딩될 수 있다. 비트스트림에서 코딩되지 않은 업샘플링 필터 계수들의 디폴트 값들을 가질 수 있다.
필터(들) 계수들은, 픽처마다, 하나의 픽처 내의 영역마다, 여러 픽처들 또는 상이한 픽처들 내의 여러 영역들의 그룹마다 도출될 수 있다.
도 12는 일 실시예에 따른, 업샘플링 필터를 결정하기 위한 방법(1200)의 일례를 예시한다. 여러 업샘플링 필터들이 이용가능할 수 있다. 사용할 업샘플링 필터의 선택은 분류 프로세스에 의해 제어될 수 있다.
일 변형예에 따르면, 업샘플링이 현재 픽처를 예측하기 위한 모션 보상의 인루프에 있을 때, 현재 픽처에 의해 사용될 기준 픽처의 업샘플링은, 기준 픽처 해상도가 현재 픽처보다 더 작다(1210)는 결정에 응답하여 수행된다.
분류 프로세스는, 각각의 기준 샘플 또는 기준 샘플들의 그룹(예를 들어, 4x4 샘플들의 그룹)에 대한 클래스 인덱스를 결정한다(1220). 하나의 필터는 하나의 클래스 인덱스와 연관된다. 보간할 영역을 보여주는 도 14a의 예에서, 블랙 샘플들은, 클래스 인덱스가 결정되었던 기준 샘플들, 및 보간될 샘플들(1,2,3)의 예를 예시한다.
각각의 샘플에 대해, 업샘플링된 픽처에서 보간하기 위해, 대응하는 공동 위치된 기준 샘플들의 세트가 결정된다. 예를 들어, 도 14a는 보간될 샘플(3)과 연관된 공동 위치된 기준 샘플들(점선 박스 내의 블랙 샘플들)의 예들을 도시한다. 보간할 샘플의 공동 위치된 기준 샘플들과 연관된 클래스 인덱스들은 보간할 샘플에 대한 하나의 단일 클래스 인덱스 값을 도출할 수 있게 한다. 예를 들어, 그것은 보간할 현재 샘플과 또는 미리결정된 상대적 포지션에서 가장 가까운 공동 위치된 기준 샘플의 클래스 인덱스 값이거나 또는 여러 개의 공동 위치된 기준 샘플들의 클래스 인덱스 값들의 평균/중간값일 수 있다.
보간할 각각의 샘플에 대해, 보간할 샘플에 대해 도출된 클래스 인덱스에 기초하여 업샘플링 필터가 선택된다(1230). 디스플레이를 위한 업샘플링의 경우에 업샘플링할 기준 픽처 또는 디코딩된 픽처의 기준 샘플들에 대해 분류가 수행되기 때문에, 보간할 각각의 샘플에 대한 업샘플링 필터를 결정하는 데 사용되는 클래스 인덱스 값은 코딩될 필요가 없다.
이어서, 보간할 샘플의 값을 결정하기 위해 업샘플링 필터가 적용된다(1240).
실시예에 따르면, 분류 프로세스(1220)는 VVC 표준에서 적응적 루프 필터(Adaptive Loop Filter, ALF)에 사용되는 것과 유사할 수 있다. 재구성된 샘플들 "t(r)"은 K개의 클래스들로 분류되고(루마 샘플들에 대해 K=25, 크로마 샘플들에 대해 K=8), 각각의 클래스의 샘플들로 K개의 상이한 필터들이 결정된다. 분류는 국소적 기울기들로 도출된 방향성 및 활동 값들로 이루어진다.
상기의 방법(1200)은, 예를 들어, 픽처가 다운스케일링된 버전에서 인코딩되고, 다운스케일링된 버전에서 디코딩되고, 출력을 위해, 예를 들어, 디스플레이로의 송신을 위해 업샘플링될 때 적용될 수 있다.
다른 실시예에 따르면, 방법(1200)은 또한 픽처를 다운샘플링하기 위해 사용될 수 있는 다운샘플링 필터를 결정하기 위해 사용될 수 있다. 예를 들어, 픽처의 다운샘플링은, 픽처가 다운스케일링된 버전에서 인코딩될 때 그의 인코딩 이전에 수행될 수 있다.
도 13은 일 실시예에 따른, 픽처를 인코딩/디코딩하기 위한 방법의 일례를 예시한다, 이러한 실시예에 따르면, 현재 픽처가 인터 예측을 사용하여 코딩될지 또는 디코딩될지 여부가 결정된다(1305).
현재 픽처가 인터 예측을 사용하여 코딩/디코딩되지 않을 때, 픽처는, 예를 들어, 인트라 예측을 사용하여 코딩/디코딩된다(1340).
현재 픽처가 인터 예측을 사용하여 코딩/디코딩될 때, 기준 픽처 해상도가 현재 픽처의 해상도보다 더 작은지 여부가 결정된다(1310). 아니오이면, 현재 픽처는 DPB에 저장된 기준 픽처들을 사용하여 코딩/디코딩된다(1340). 기준 픽처가 현재 픽처보다 더 큰 크기를 갖는 경우, 현재 픽처를 인코딩/디코딩할 때 VVC 표준으로부터의 일반 RPR(Reference Picture Resampling) 모션 보간 프로세스를 이용하여 다운스케일링이 수행된다.
기준 픽처가 현재 픽처보다 더 작은 크기를 가질 때(1310), 본 명세서에 제안된 실시예들 중 임의의 실시예에 따라 결정된 업샘플링 필터(들)로 업스케일링(1320)이 수행된다. 필터(들)를 이용한 업샘플링은, 현재 픽처를 인코딩/디코딩할 때(1340) 모션 보상 프로세스 내에서 온더플라이로 수행될 수 있거나, 또는 현재 프레임을 코딩/디코딩하고(1340) DPB에 저장되기(1330) 전에 DPB의 기준 픽처들이 업스케일링될 수 있다(1320).
이러한 마지막 경우에, DPB는 상이한 해상도들에서 기준 픽처들의 여러 인스턴스들을 포함할 수 있고, 모션 보상은 RPR 없이 인코딩/디코딩하는 것(1340)과 비교하여 변경되지 않는다.
일 실시예에 따르면, 업샘플링 필터는 위너 기반 적응적 필터(Wiener-based adaptive filter, WF)이다. 예를 들어, 계수들은 VVC 표준에서 ALF의 계수들과 유사한 방식으로 결정된다.
VVC에서, 인루프 ALF 필터(적응적 루프 필터링)는 선형 필터인데, 그의 목적은 재구성된 샘플들에 대한 코딩 아티팩트들을 감소시키는 것이다. 필터의 계수들 은, 위너 기반 적응적 필터 기법을 사용함으로써 원래의 샘플들 s(r)과 필터링된 샘플들 t(r) 사이의 평균 제곱 오차를 최소화하도록 결정된다.
(식 2)
여기서,
r=(x,y)은 필터링될 영역 "R"에 속하는 샘플 위치이다.
원래의 샘플: s(r)
필터링될 샘플: t(r)
N개의 계수들을 갖는 FIR 필터: c = [c0, … cN-1]T
필터 탭 포지션 오프셋: { p0, p1,… pN-1}, 여기서 은 n번째 필터 탭의 r에 대한 샘플 위치 오프셋을 나타낸다. 탭 포지션들의 세트는 또한 필터 "형상"으로 명명될 수 있다.
필터링된 샘플: f(r)
s(r)과 f(r) 사이의 최소 제곱 오차 합(sum of squared error, SSE)을 찾기 위해, 과 관련되는 SSE의 도함수들이 결정되고, 도함수들을 0이 되게 할 수 있다. 이어서, 계수 값들 "c"는 하기 식을 해결함으로써 획득된다:
[Tc].cT = vT (식 3)
여기서,
VVC에서, ALF의 계수들은 비트스트림에서 코딩되어, 그들이 비디오 콘텐츠에 동적으로 적응될 수 있게 할 수 있다. 또한 일부 디폴트 계수들이 존재하고, 인코더는, CTU마다 어느 계수들의 세트가 사용될지를 나타낸다.
VVC에서는, 도 11의 상부 부분에 예시된 바와 같이, 대칭 필터들이 사용되고, 도 11의 하부 부분에 예시된 바와 같이, 일부 필터들은 회전에 의해 다른 필터로부터 획득될 수 있다. 도 11의 상부 부분 상에 예시된 필터에서의 각각의 계수는 하나 또는 2개의 포지션들 p(x, y)와 연관된다. 예를 들어, c9 및 c3의 포지션들을 p9(0,0) 및 p3(0,-1) 또는 p3(0,1)으로 나타낸다. 대각선 변환의 경우에, 포지션 p(x, y)는 p(y,x)로 이동되고, 수직 플립 변환의 경우에, 포지션 p(x,y)는 p(-x,y)로 이동되고, 회전의 경우에, 포지션 p(x,y)는 p(y,-x)로 이동된다.
일 실시예에 따르면, ALF 계수들을 결정하기 위한 상기 방법은 업샘플링 필터 계수들을 결정하기 위해 사용된다.
일 실시예에 따르면, 업샘플링 위상마다 적어도 하나의 WF를 가질 수 있다. 보간할 샘플의 위상은 사용할 업샘플링 필터를 결정하는 것을 허용한다(1230). 도 14a에 도시된 예는 수평 및 수직 방향들에서 2배 업샘플링에 대응한다. 블랙 포인트들은 디코딩된 픽처(기준 픽처 또는 디스플레이를 위해 업샘플링할 디코딩된 픽처 중 어느 하나)의 재구성된 샘플들 t(r)이고, 화이트 포인트들은 보간될 샘플들 f(r')(누락 샘플들)에 대응한다. 이어서, "r'"은 "r"과 상이할 수 있다. 이러한 예에서, 3개의 위상들{0,1,2,3}이 존재한다. 위상-0은 재구성된 샘플들과 동일한 위치를 갖는다(r'=r). 위상-0에 대응하는 WF는 생략될 수 있다(아이덴티티로 추론됨).
(식 2)는 하기와 같이 수정된다(1240):
(식 4)
(식 3)에서, "v"의 표현식은 하기와 같이 수정된다:
(식 5)
여기서, r'=(x,y)은 보간될 영역 "R'"에 속하는 샘플 위치이다.
일 변형예에 따르면, 업스케일링된 픽처 내의 누락 포인트들 r(x,y), 즉, 다운스케일링된 픽처에서 어떠한 공동 위치된 포인트들도 갖지 않는 포인트들만이 보간된다. 다른 변형예에서, 모든 포지션들 r(x,y)이 보간되는데, 즉, 누락 포인트들 및 다운스케일링된 픽처에서 어떠한 공동 위치된 포인트도 갖지 않은 포인트들이 보간된다.
일 변형예에서, 위상들의 일부 서브세트들에 대응하는 일부 샘플들은 WF 필터로만 보간되는 반면, 다른 위상들은 일반 분리가능 1D 필터들로 보간된다. 예를 들어, 도 14a에서, 위상들 0 및 1은 제1 단계에서 WF로 보간되고, 다음 위상들 2,3은 위상들 0 및 1의 필터링된 샘플들을 사용하여 수평 1D 필터로 보간된다. 또는 반대로, 위상들 0 및 2는 WF로 보간되고, 다음 위상들 1,3은 1D 수직 필터로 보간된다.
도 14a에서, 크기 4x4의 정사각형 필터 형상이 도시되지만, 그것은 상이한 형상을 가질 수 있다. 도 14b 내지 도 14e는 위상 3으로 샘플을 보간하는 데 사용될 수 있는 상이한 형상들을 예시하며, 필터 형상은 위상 3으로 샘플을 보간하기 위해 사용할 재구성된 샘플들을 나타내는 블랙 샘플들에 의해 예시되어 있다.
도 14f 및 도 14g는 위상 2로 샘플을 보간하기 위해 사용될 수 있는 수평 필터 형상들의 다른 예들을 예시한다. 도 14h는 위상 1로 샘플을 보간하기 위해 사용될 수 있는 수직 필터 형상의 다른 예를 예시한다. 도 14i는 위상 3으로 샘플을 보간하기 위해 사용될 수 있는 중앙 필터 형상의 다른 예를 예시한다.
형상은 클래스에 그리고/또는 위상에 의존할 수 있다. ALF와 유사하게, 일부 형상들/클래스의 계수들은 다른 클래스/형상과 동일할 수 있지만 회전에 의해 획득될 수 있고, 하나의 형상의 계수들은 대칭으로 획득될 수 있다. 예를 들어, 도 14b의 형상의 계수들은, 90o 회전 후에 도 14c의 형상과 동일할 수 있다.
일 변형예에서, 기준 샘플들의 분류가 이루어진다(1220). 각각의 클래스에 대해, 상이한 업샘플링 WF가 사용된다. 다른 변형예에서, 분류는 ALF에 의해 사용되는 것과 동일할 수 있다.
도 15는 일 실시예에 따른, 인코더 측에서 사용할 업샘플링 필터 계수들을 결정하기 위한 방법(1500)의 일례를 예시한다.
원래의 픽처는 다운스케일링되고(1510), 인코딩된다(1520). 코딩된 픽처로부터의 재구성된 샘플들은 클래스마다 분류된다(1530). 예를 들어, CTU 또는 CTU들의 그룹의 경우, 재구성된 픽처의 영역 R에 대해 필터 계수들의 세트 F0가 결정된다(1540). 필터 계수들의 세트 F0는 F0={g00, g01, …, g0M}인 각각의 클래스 및 위상에 대한 업샘플링 필터를 포함하고, 여기서 M은, 각각의 클래스 및 위상마다 연관된 하나의 필터가 존재하는 경우에, 클래스들 또는 위상들의 수 또는 클래스들 및 위상들의 조합의 수이다. 세트 F0의 필터들은 상기에 설명된 바와 같은 (식 3, 식 5)로 결정된다.
결정된 업샘플링 필터들 F0은 식 4를 사용하여, 재구성된 픽처의 영역 R의 샘플링되지 않은 영역 Rup의 샘플들 f0(r')을 획득하기 위해 적용된다(1550).
Fi={gi0, gi1, …, giM} 및 i={1, …L}인, 재구성된 픽처의 영역 R의 업샘플링된 영역 Rup의 샘플들 fi(r')을 결정하기 위해, 다른 업샘플링 필터들 Fi가 유사하게 적용되고(1555), 여기서 L은 디코더에 의해 이미 송신되거나 또는 알려져 있는 각각의 클래스 및/또는 위상에 대한 가능한 필터들의 수이다. 유리하게는, 왜곡은 계수들 및 원래의 샘플들 s(r')의 값들로부터 직접 도출될 수 있다.
클래스/위상에 대해 사용될 필터의 선택은, 각각의 클래스/위상 s에 대해 디폴트 또는 이전에 송신된 필터 값들, gis, i={1,…L}를 재사용하는 것 또는 새로운 업샘플링 필터 g0s를 코딩하는 것 사이에서, 예를 들어 레이트 왜곡 라그랑제 비용(Lagrangian cost)을 사용하여, 최선의 트레이드-오프를 찾음으로써(1560) 결정될 수 있다. 왜곡은 업샘플링된 재구성된 영역과 원래의 픽처 내의 대응하는 영역 사이의 차이(예컨대, L1 또는 L2 놈(norm))이다.
클래스/위상에 대해 결정된 필터 g0s의 레이트 왜곡 비용이 필터들 gis의 레이트 왜곡 비용 중 임의의 것보다 더 낮으면, 필터 g0s의 계수들이 비트스트림에서 코딩된다(1570).
각각의 클래스/위상 s에 대해, 최저 레이트 왜곡 비용을 제공하는 필터의 인덱스 I(이때, i=0…L)는 영역 R에 대한 비트스트림에서 코딩된다(1580).
일부 실시예들에서, 영역 R은 재구성된 픽처 내의 영역, 전체 픽처, 여러 픽처들의 그룹 또는 상이한 픽처들 내의 여러 영역들의 그룹일 수 있다.
클래스 및/또는 위상마다 하나의 필터가 존재하는 경우에, 영역 R에 사용하기 위한 필터를 결정하기 위한 방법은 전술되어 있다. F0 및 Fi가 각각 하나의 단일 필터를 포함하는 경우에, 유사한 방법이 적용될 수 있다.
일 변형예에서, 필터 계수들의 결정은 반복적인 최적화 알고리즘(예컨대, 기울기 하강을 이용함)을 사용하여 기계 학습으로 수행될 수 있다. 이것은, R이 클 때 Tc 및 v의 수치 제한들 없이 많은 샘플들/이미지들에 대해 학습하는 이점을 가질 수 있다.
일 실시예에 따르면, 재구성된 업샘플링된 픽처들은, 코딩된 픽처들이 도 16 및 도 17에 도시된 바와 같이, 다운샘플링된 픽처들에 대응하더라도 DPB에 저장된다. 이러한 실시예에 따르면, DPB는 고해상도로만 기준 픽처들을 포함한다.
도 16 및 도 17은 각각, 일 실시예에 따른, 비디오를 인코딩하기 위한 방법(1600), 비디오를 디코딩하기 위한 방법(1700)을 각각 예시한다. 원래의 픽처들은 더 낮은 해상도 또는 고해상도로 코딩될 수 있다.
원래의 고해상도 픽처들은 코딩 전에 인코더(1610)에 의해 다운샘플링된다(1660). 업샘플링 필터(들) 계수들은 전술된 바와 같이 도출될 수 있고(1640), 재구성된 픽처들은 DPB(1620)에 저장되기 전에 업샘플링된다(1650). 이어서, 일반 RPR 모션 보상이 적용된다(기준 픽처는 고해상도이고, 현재 픽처는 저해상도임)(1630).
디코딩 스테이지에서, 다운스케일링된 픽처들은 비트스트림으로부터 디코딩되고(1710), 업샘플링 필터 계수들은, 비트스트림에 존재하는 경우 디코딩된다(1740). 저해상도 디코딩된 픽처들은 업샘플링되고(1750), DPB(1720)에 저장된다. 이어서, 일반 RPR 모션 보상이 적용된다(기준 픽처는 고해상도이고, 현재 픽처는 저해상도임)(1730). 일 변형예에서, 저해상도 디코딩된 픽처들은 DPB에 저장되고, 업샘플링된 디코딩된 픽처들은 디스플레이만을 위해 사용된다.
원래의 픽처가 고해상도로 코딩되는 경우, 다운샘플링(1660) 및 업샘플링(1650, 1750)이 바이패스된다.
일 변형예에서, 업샘플링 필터(들)는 미리결정된 디폴트 계수들을 갖고, 단계들(1640, 1740)은 존재하지 않는/바이패스된다는 것에 유의한다.
이미지 복원을 위한 사후 필터링
비디오 표준들(예컨대, HEVC, VVC)에서, 복원 필터들은 재구성된 픽처들에 적용되어, 코딩 아티팩트들을 감소시킨다. 예를 들어, 구체적으로 블록 경계들에서 아티팩트들을 감소시키는, 디-블록킹 필터(De-Blocking Filter, DBF)에 대한 보완으로, 재구성된 픽처들 내의 링잉(ringing) 및 밴딩(banding) 아티팩트들을 감소시키기 위해 샘플 적응적 오프셋(SAO) 필터가 HEVC에 도입되었다. VVC에서, 추가적인 적응적 루프 필터(ALF)는 위너 기반 적응적 필터 계수들을 사용하여 원래의 샘플들과 재구성된 샘플들 사이의 평균 제곱 오차를 최소화하려고 시도한다. SAO 및 ALF는 적용할 필터를 선택하기 위해 재구성된 샘플들의 분류를 채용한다.
ALF 분류
상기에서 논의된 바와 같이, ALF는 재구성된 이미지 복원을 위한 특정 사후 필터이다. ALF는 샘플들을 K개의 클래스들(일례로서, 루마 샘플들에 대해 K=25) 또는 K개의 영역들(일례로서, 크로마 샘플들에 대해 K=8)로 분류하고, K개의 상이한 필터들은 각각의 클래스 또는 영역들의 샘플들로 결정된다. 클래스들의 경우에, 루마 샘플들의 분류는 국소적 기울기들로 도출된 방향성 및 활동 값들로 이루어진다.
VVC에서, ALF의 계수들은 비트스트림에서 코딩되어, 그들이 비디오 콘텐츠에 동적으로 적응될 수 있게 할 수 있다. 이들 계수들은 추가 픽처들에 대해 재사용되도록 저장될 수 있다. 또한 일부 디폴트 계수들이 존재하고, 인코더는, CTU마다 어느 계수들의 세트가 사용될지를 나타낸다.
VVC에서는, (도 11의 상단 부분에 예시된 바와 같이) 대칭 필터들이 사용되고, (도 11의 하단 부분에 예시된 바와 같이) 일부 필터들 계수들은 회전에 의해 다른 필터 계수들로부터 획득될 수 있다.
모션 보상 필터링 및 SIF
하이브리드 비디오 코딩에서, 인터 예측은, 이전에 재구성된 기준 픽처로부터 추출된 기준 블록의 모션 보상으로 현재 블록을 예측한다. 현재 블록과 기준 블록 사이의 포지션의 차이는 모션 벡터이다.
모션 벡터들은 서브 픽셀 정밀도(예컨대, VVC에서 1/16)를 가질 수 있고, 모션 보상 프로세스는 도 6에 도시된 바와 같이 기준 픽처 내의 대응하는 서브 픽셀 포지션 을 갖는 보간 필터를 선택한다. 전통적으로, 구현 복잡도를 감소시키기 위해, 모션 보상 보간 필터링은 분리가능 필터들로 수행된다: 하나는 수평이고 하나는 수직임.
코딩 효율을 개선시키기 위해, 일부 서브 픽셀 포지션들에 대해, 인코더는 여러 개의 필터들 중에서 선택하고, 그것을 비트스트림에서 시그널링할 수 있다. 예를 들어, VVC 표준에서, 1/2 서브 픽셀 포지션에 대해, 2개의 보간 필터들(일반 또는 가우시안 필터) 사이에서 선택할 수 있다. 그러한 도구는 또한 스위칭 보간 필터(Switching Interpolation Filter, SIF 도구)로서 알려져 있다. 가우시안 필터는, 일반 필터와 비교하여 높은 주파수들을 평활화하는 저역 통과 필터이다.
ALF 사후 필터링에 따르면, 필터링될 샘플들(또는 샘플들의 그룹)이 사전 분류되고, 분류가 각각의 샘플(또는 샘플들의 그룹)에 대해 하나의 특정 필터 계수 세트를 선택하는 데 사용될 때, 필터링 프로세스에서 더 양호한 효율이 획득된다. 인코더 측에서, 분류는, (예를 들어, 문헌[C.Tsai et al. "Adaptive Loop Filtering for Video Coding," IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, VOL. 7, NO. 6 , DECEMBER 2013]에 설명된 바와 같은) 위너 기반 적응적 필터 기법을 사용함으로써 원래의 샘플들 "s(r)"과 필터링된 샘플들 "t(r)" 사이의 평균 제곱 오차를 최소화하는 필터의 계수들을 결정하는 데 사용될 수 있다.
그러나, 샘플들의 분류는 유의하게 샘플당 동작들의 수를 증가시킨다.
VVC에서는, ALF만이 분류를 사용한다. SIF 도구는, 모션 보상을 위해 어느 필터가 사용될지를 CU마다 시그널링하지만, 동일한 필터가 예측 유닛의 모든 예측 샘플들을 구축하기 위해 사용된다. RPR의 경우, 재스케일링 보간 필터의 하나의 단일 세트는 기준과 현재 블록 크기 사이의 비율로 픽처마다 선택되고, 이러한 단일 필터를 이용하여 모든 샘플들이 필터링된다. 재스케일링 필터의 세트는 사용될 필터의 계수들을 각각의 위상에 대해 포함한다.
본 발명의 원리들의 태양에 따르면, 비디오를 인코딩/디코딩하기 위한 방법이 제공되며, 비디오의 픽처의 블록을 예측할 때 적어도 하나의 모션 보상 보간 필터를 선택하기 위해 기준 픽처의 샘플 분류가 사용된다.
일 실시예에 따르면, 보간될 필요가 있는 기준 픽처로부터의 샘플들의 그룹 또는 각각의 샘플에 대해, (기준 픽처에 대해 수행된 분류로부터) 샘플이 속하는 클래스가 결정된다. 이어서, 이러한 클래스에 연관된 보간 필터가 선택되고, 선택된 필터의 계수들을 사용하여 샘플이 필터링된다.
본 발명의 원리들의 다른 태양에 따르면, 비디오를 인코딩/디코딩하기 위한 방법이 제공되며, 재구성된 픽처의 샘플 분류는 인코더/디코더의 상이한 인코딩/디코딩 모듈들 사이에서 공유된다. 예를 들어, 기준 픽처가 분류되고, 이어서, 재샘플링 필터링, 또는 모션 보상 보간 필터링과 같은, 기준 픽처를 사용한 새로운 픽처의 인코딩/디코딩 동작 동안 사용되는 적어도 하나의 필터를 선택하기 위해 분류가 사용된다.
다른 예에 따르면, 재구성된 픽처가 분류되고, 이어서, 사후 필터링, 및/또는 디스플레이를 위한 재샘플링과 같은 재구성된 픽처에 대한 인코딩/디코딩 동작 동안, 그리고/또는 재샘플링 필터링, 또는 모션 보상 보간 필터링과 같은, 기준 픽처로서 재구성된 픽처를 사용하는 새로운 픽처의 인코딩/디코딩 동작 동안 사용되는 적어도 하나의 필터를 선택하기 위해 분류가 사용된다. 예를 들어, 이것은 각각의 샘플(또는 샘플들의 그룹)에 대해 수행될 수 있고, 샘플(또는 샘플들의 그룹) 분류는 이러한 샘플(또는 샘플들의 그룹)과 함께 사용될 필터를 선택할 수 있게 한다.
고전적으로, 필터는 여러 계수들을 포함하고 - 각각의 계수는 필터링되고 있는 현재 샘플의 이웃 샘플에 적용되고, 이웃 샘플들은 선택된 필터 형상에 따라 결정됨 -, 필터 형상들의 일례는 도 11에 주어진다.
일 실시예에 따르면, 임의의 인코딩/디코딩 모듈들 사이에서 분류를 공유하기 위해, 분류의 결과는, 기준 픽처들을 저장하는 디코딩된 픽처 버퍼(DPB)와 같은, 인코딩/디코딩 모듈들 중 임의의 하나의 모듈에 의해 액세스가능한 공통 공간에 저장된다.
본 발명의 원리들에 따르면, 필터 선택을 위한 샘플 분류의 파워는, 복잡성을 상대적으로 작게 유지하면서, 모션 보상 보간 필터들 및 재샘플링 필터들에 레버리징된다. 이것은, 여러 필터링 목적들을 위해 샘플 분류를 공유함으로써 수행된다: 복원 필터들(예컨대, ALF 또는 양방향 필터), MC 필터링, 재샘플링 필터들. 일 실시예에서, 분류는 DPB에 저장될 수 있다.
인코더에서, 재구성된 샘플들의 분류는 샘플들의 각각의 클래스에 대해 특수 필터들을 도출하는 것을 허용한다. 이것은, 예를 들어, 위너 기반 적응적 필터 계수들을 사용하여, 하나의 클래스에 속하는 재구성된 샘플들과 원래의 샘플들 사이의 평균 제곱 오차를 최소화함으로써 수행될 수 있다.
다음으로, 디코더 측에서, 사용할 필터의 선택은 분류 프로세스에 의해 제어된다. 예를 들어, 분류 프로세스는 각각의 샘플에 대한 클래스 인덱스를 결정하고, 하나의 필터가 하나의 클래스 인덱스와 연관된다.
일부 변형예들에서, 샘플마다가 아닌 샘플들의 그룹마다 분류가 이루어진다. 예를 들어, 샘플들의 그룹은 2x2 영역이다.
보간 필터들에 대한 분류
도 18은 일 실시예에 따른, 비디오를 인코딩하거나 또는 디코딩하기 위한 방법(1800)을 예시한다. 이러한 실시예에 따르면, 각각의 클래스 인덱스에 대해 보간 필터를 포함하는 보간 필터들의 세트가 정의된다. 보간 필터들은 ALF 필터들에 대해서와 동일한 방식으로 결정될 수 있고, 새로운 보간 필터의 계수들이, 필요할 때 콘텐츠에 적응하기 위해 디코더로 송신될 수 있다.
기준 픽처는 프로세스에 입력된다. 기준 픽처의 샘플들이 분류된다(1810). 이어서, 1820에서, 인코딩 또는 디코딩할 현재 블록에 대한 예측을 결정하기 위해, 블록의 모션 보상이 수행된다.
인코딩할 또는 디코딩할 비디오의 블록에 대해, 모션 벡터가 획득된다. 모션 벡터는, 블록을 예측하기 위해 기준 픽처의 일부 또는 블록을 결정하는 것을 허용한다.
도 6에 예시된 바와 같이, 모션 벡터가 서브 샘플 위치들을 가리킬 때, 기준 픽처의 모션 보상된 부분의 샘플들은 예측을 위한 블록 샘플들을 결정하기 위해 보간되어야 한다. 본 발명의 원리들에 따르면, 분류에 기초하여 각각의 서브 샘플에 사용되는 보간 필터가 결정된다(1830).
따라서, 블록에 대한 예측은 기준 픽처의 보간된 샘플들로서 결정된다(1840).
일 실시예에 따르면, 보간 필터를 결정하기 위해(1830), 기준 픽처의 모션 보상된 부분의 각각의 샘플에 대해, 예를 들어, 기준 픽처 내의 샘플 위치에서 하나 이상의 이웃 샘플들과 연관된 하나 이상의 클래스 인덱스로부터 클래스 인덱스가 결정된다. 이어서, 서브 샘플에 대해 결정된 클래스 인덱스를 사용하여 보간하기 위해, 각각의 서브 샘플에 대해 보간 필터가 선택된다. 이어서, 기준 픽처의 모션 보상된 부분의 각각의 서브 샘플을 이러한 서브 샘플에 대해 선택된 보간 필터로 보간함으로써, 블록의 예측이 생성된다(1840). 마지막으로, 예측을 사용하여 (방법이 인코더에서 구현되는지 또는 디코더에서 구현되는지 여부에 따라) 블록이 인코딩되거나 또는 디코딩된다(1850). 인코딩에서, 잔차가 원래의 블록과 그의 예측 사이에서 결정되고, 코딩된다. 디코딩에서, 잔차는 블록을 재구성하기 위해 디코딩되고 예측에 추가되며, 블록의 예측은 인코더에 대해서와 동일한 프로세스로 생성된다.
본 발명의 원리들의 다른 태양에 따르면, 동일한 샘플 분류가 인코더 또는 디코더의 인코딩/디코딩 모듈들 사이에서 공유된다. 필터들의 세트가, 모션 보상 보간, 재샘플링, ALF와 같은 필터를 사용하여 각각의 종류의 인코딩 또는 디코딩 동작들에 대해 정의된다.
보간 및 재샘플링 필터들에 대한 동일한 분류
도 19는 다른 실시예에 따른, 비디오를 인코딩하거나 또는 디코딩하기 위한 방법(1800)의 일례를 예시한다, 모션 보상(MC) 보간(1940) 필터들 및 재샘플링(1930) 필터들 둘 모두에 대해 필터 선택을 위한 샘플 분류의 파워를 레버리징하기 위해, 기준 픽처의 공통 분류(19810)를 수행하고 이를 사용할 수 있다.
유리하게는, 전체 재구성된 픽처에 대해 분류가 이루어지고, 각각의 샘플의 분류가 저장되어(1920), 그것이 모션 보상 보간 필터들 및 재샘플링 필터들 프로세스들에 의해 사용될 수 있도록 한다. 재샘플링이 MC 프로세스(1950) 내에서 암시적으로 수행되는 경우에, 분류는 MC에 직접 입력된다.
일 실시예에 따르면, 분류는 기준 픽처들과 함께 DPB에 저장되어, 그것이 다른 프로세스들에 의해 재사용될 수 있도록 한다.
보간, 재샘플링 필터들 및 사후 필터링에 대한 동일한 분류
도 20은 다른 실시예에 따른, 비디오를 인코딩하거나 또는 디코딩하기 위한 방법(2000)의 일례를 예시한다, 이러한 변형예에서, 복원 필터(사후 필터들, PF로 알려짐)(예컨대, ALF)를 적용하기(2050) 전에, 재구성된 픽처들에 대해 분류가 수행된다(2030). 이어서, 사후 필터들(예컨대, ALF)의 필터 계수들을 도출하기 위해(2040), 인코더에 의해 분류가 사용될 수 있다. 분류는, 사후 필터링에 의해 사용될 필터들을 선택하는 데(2050) 사용된다. 유리하게는, 이러한 분류는 또한, 하나의 단일 분류 스테이지(2030)만이 수행되도록 재샘플링 필터링 또는 모션 보상 보간 필터링에 의해 사용된다. 이러한 변형예에서, 다른 프로세스들(예컨대, 재샘플링 필터링 또는 모션 보상 보간 필터링)은 복원 필터들을 적용하기(사후 필터링) 전에 수행되는 분류를 사용하는 반면, 다른 프로세스들은 (사후 필터링을 적용한 후에) 복원된 픽처들 샘플들을 사용한다는 것에 유의한다.
실시예에 따르면, 분류는 DPB(2020)에 저장될 수 있어, 그것이 다른 프로세스들에 의해 재사용될 수 있도록 한다. 일 변형예에서, 픽처만이 기준으로서 사용되는(2060) 경우, DPB 내의 저장이 수행된다.
루프 외(out-of-loop) 재샘플링
RPR의 경우에, 디코딩된 픽처들의 재샘플링 프로세스들은 명시되지 않을 수 있다(도 5의 540). 도 21은 다른 실시예에 따른, 비디오를 디코딩하기 위한 방법(2100)의 일례를 예시한다. 픽처가 디코딩되고(2110), 디코딩된 픽처의 샘플들이 분류된다(2130). 분류에 기초하여 사후 필터들이 적용되고(2150), 분류는 결국 DPB에 저장되어, 그것이 디코딩된 픽처를 기준 픽처로서 사용하여 다른 프로세스들에 이용가능하게 하도록 한다.
사용할 재샘플링 필터(예컨대, 업샘플링)의 선택은 분류 프로세스에 의해 제어될 수 있다(2130). 분류 프로세스는 각각의 샘플(또는 샘플들의 그룹)에 대한 클래스 인덱스를 결정하고, 하나의 필터가 하나의 클래스 인덱스와 연관된다. 필터 인덱스는 재샘플링 필터를 선택할 수 있게 한다(2160).
전술된 인코딩, 디코딩 방법들은 각각 비트스트림에서/비트스트림으로부터의 비디오를 각각 인코딩, 디코딩하기 위해 도 2 및 도 3과 관련하여 기술된 인코더(200), 디코더(300)에서 각각 구현될 수 있다는 것이 이해되어야 한다.
도 22에 예시된 일 실시예에서, 통신 네트워크 NET를 통한 2개의 원격 디바이스들 A 및 B 사이의 송신 콘텍스트에서, 디바이스 A는 도 1 내지 도 21을 이용하여 기술된 실시예들 중 임의의 실시예에 따라 비디오를 인코딩하기 위한 방법을 구현하도록 구성되는 메모리 RAM 및 ROM과 관련된 프로세서를 포함하고, 디바이스 B는 도 1 내지 도 21과 관련하여 기술된 실시예 중 임의의 실시예에 따라 비디오를 디코딩하기 위한 방법을 구현하도록 구성되는 메모리 RAM 및 ROM과 관련된 프로세서를 포함한다.
일례에 따르면, 네트워크는 디바이스 A로부터의 비디오를 나타내는 인코딩된 데이터를 디바이스 B를 포함하는 디코딩 디바이스들로 브로드캐스트/송신하도록 적응된 브로드캐스트 네트워크이다.
디바이스 A에 의해 송신되도록 의도된 신호는 비디오를 나타내는 코딩된 데이터를 포함하는 적어도 하나의 비트스트림을 반송한다. 비트스트림은 본 발명의 원리들의 임의의 실시예들로부터 생성될 수 있다.
도 23은 패킷 기반 송신 프로토콜을 통해 송신된 그러한 신호의 신택스의 일례를 도시한다. 각각의 송신된 패킷(P)은 헤더 H 및 페이로드 PAYLOAD를 포함한다. 일부 실시예들에서, 페이로드 PAYLOAD는 전술된 실시예들 중 임의의 실시예에 따라 인코딩된 코딩된 비디오 데이터를 포함할 수 있다. 일부 실시예들에서, 신호는 상기에서 결정된 바와 같은 필터(업샘플링, 보간) 계수들을 포함한다.
다양한 구현예들이 디코딩을 수반한다. 본 출원에서 사용되는 바와 같이, "디코딩"은 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되어 디스플레이에 적합한 최종 출력을 생성하는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 전형적으로 수행되는 프로세스들 중 하나 이상의 프로세스들, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 차동 디코딩을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 디코더에 의해 수행되는 프로세스들, 예를 들어, 업샘플링 필터 계수들을 디코딩하는 것, 디코딩된 픽처를 업샘플링하는 것을 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 차동 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩과 차동 디코딩의 조합을 지칭한다. 어구 "디코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들이 인코딩을 수반한다. "디코딩"에 대한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은, 예를 들어 입력 비디오 시퀀스에 대해 수행되어 인코딩된 비트스트림을 생성하는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 이러한 프로세스들은 전형적으로 인코더에 의해 수행되는 프로세스들, 예를 들어, 파티셔닝, 차동 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 인코더에 의해 수행되는 프로세스들, 예를 들어, 업샘플링 필터 계수들을 결정하는 것, 디코딩된 픽처를 업샘플링하는 것을 포함한다.
추가 예들에서, 하나의 실시예에서, "인코딩"은 단지 엔트로피 인코딩을 지칭하며, 다른 실시예에서 "인코딩"은 단지 차동 인코딩을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩과 엔트로피 인코딩의 조합을 지칭한다. 어구 "인코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 인코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에 사용된 바와 같은 신택스 요소들은 설명적 용어들임에 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
이러한 개시내용은, 예를 들어, 송신 또는 저장될 수 있는, 예를 들어, 신택스와 같은 다양한 정보들을 설명하였다. 이러한 정보는, 예를 들어 정보를 SPS, PPS, NAL 유닛, 헤더(예를 들어, NAL 유닛 헤더, 또는 슬라이스 헤더), 또는 SEI 메시지에 넣는 것과 같은 비디오 표준들에서 보편적인 방식들을 포함하는, 다양한 방식들로 패키징되거나 배열될 수 있다. 예를 들어, 정보를 하기 중 하나 이상에 넣는 것과 같은 시스템 레벨 또는 애플리케이션 레벨 표준들에 대해 보편적인 방식들을 포함하는, 다른 방식들이 또한 이용가능하다:
a. SDP(session description protocol), 예를 들어, RFC들에 설명되고 RTP(Real-time Transport Protocol) 송신과 함께 사용되는 것과 같은, 세션 공지 및 세션 초대의 목적들을 위한 멀티미디어 통신 세션들을 설명하기 위한 포맷.
b. 예를 들어, DASH에서 사용되고 HTTP를 통해 송신되는 것과 같은, DASH MPD(Media Presentation Description) 디스크립터들, 디스크립터는 콘텐츠 표현에 추가적인 특성을 제공하기 위한 표현 또는 표현들의 모음에 연관됨.
c. 예를 들어, RTP 스트리밍 동안 사용되는 것과 같은, RTP 헤더 확장들.
d. 예를 들어, OMAF에서 사용되는 것과 같은 그리고 일부 사양들에서 '아톰(atom)들'로서도 알려진 고유 유형 식별자 및 길이에 의해 정의되는 객체 지향 구축 블록들인 박스들을 사용하는, ISO 기반 미디어 파일 포맷.
e. HTTP를 통해 송신되는 HLS(HTTP live Streaming) 목록. 목록은, 예를 들어, 버전 또는 버전들의 모음의 특성들을 제공하기 위해 콘텐츠의 버전 또는 버전들의 모음에 연관될 수 있다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
일부 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡성의 제약들이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 트레이드오프가 보통 고려된다. 레이트 왜곡 최적화는 일반적으로 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 접근법들은, 코딩 및 디코딩 후 재구성된 신호의 코딩 비용 및 관련된 왜곡의 완전한 평가를 이용한, 모든 고려된 모드들 또는 코딩 파라미터들 값들을 포함하는 모든 인코딩 옵션들의 광범위한 테스트에 기초할 수 있다. 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산과 함께 인코딩 복잡성을 덜기 위해, 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법들의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부만에 대한 근사화된 왜곡 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기술들 중 임의의 기술을 채용하지만, 최적화가 반드시 코딩 비용과 관련된 왜곡 둘 모두에 대한 완전한 평가이지는 않다.
본 명세서에 기술된 구현예들 및 태양들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 구현예의 단일 형태의 맥락에서 논의된다 하더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 장치 또는 프로그램)에서 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스들로 지칭되는, 예를 들어, 프로세서에서 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대폰들, 휴대용/개인 디지털 어시스턴트들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 기술된 특정 특징부, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 어구 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"뿐만 아니라 임의의 다른 변형들의 출현들이 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
또한, 본 출원은 다양한 피스들의 정보들을 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 피스들의 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 피스들의 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어 정보를 저장하는 동작, 정보를 프로세싱하는 동작, 정보를 전송하는 동작, 정보를 이동하는 동작, 정보를 복사하는 동작, 정보를 소거하는 동작, 정보를 계산하는 동작, 정보를 결정하는 동작, 정보를 예측하는 동작, 또는 정보를 추정하는 동작 동안 어떤 방식으로든 수반된다.
예를 들어 다음의 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서 "/", "및/또는", 및 "적어도 하나" 중 임의의 것의 사용은 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 옵션들(A 및 B) 둘 모두의 선택을 포함하도록 의도됨을 이해해야 한다. 또 다른 예로서, "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)의 선택을 포함하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목들에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, 용어 "신호"는 특히 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 예를 들어, 소정 실시예들에서, 인코더는 복수의 업샘플링 필터 계수들 중 특정 계수를 시그널링한다. 이러한 방식으로, 일 실시예에서, 동일한 파라미터가 인코더 측 및 디코더 측 둘 모두에서 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신할 수 있다(명시적 시그널링). 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소들, 플래그들 등이 다양한 실시예들에서 대응하는 디코더에 정보를 시그널링하는 데 사용된다. 전술된 표현이 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백한 바와 같이, 구현예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 반송하도록 포맷화된 다양한 신호들을 생성할 수 있다. 예를 들어, 정보는 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 전달하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다수의 실시예들을 설명한다. 이들 실시예들의 특징부들은 다양한 청구항 카테고리들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구 범위들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 다음의 특징부들, 디바이스들, 또는 태양들 중 하나 이상을 포함할 수 있다:
Figure pct00015
기술된 실시예들 중 임의의 것에 따라, 원래의 픽처가 고해상도 또는 더 낮은 해상도로 인코딩될 수 있는 비디오를 인코딩/디코딩하는 것.
기술된 실시예들 중 임의의 것에 따라, 다운스케일링된 디코딩된 픽처로부터 픽처를 재구성하는 것.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
기술된 실시예들 중 임의의 것에 따라 생성된 신택스 이송 정보를 포함하는 비트스트림 또는 신호.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예들 중 임의의 것에 따라 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어들을 저장하는 매체, 데이터를 저장하는 매체, 또는 신호.
기술된 실시예들 중 임의의 것에 따른 업샘플링으로 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
기술된 실시예들 중 임의의 것에 따른 업샘플링으로 픽처의 재구성을 수행하고, (예컨대, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 생성된 이미지를 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예컨대, 동조기를 사용하여) 선택하고, 기술된 실시예들 중 임의의 것에 따른 업샘플링으로 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 무선으로 (예컨대, 안테나를 사용하여) 수신하고, 기술된 실시예들 중 임의의 것에 따른 업샘플링으로 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
기술된 실시예들 중 임의의 것에 따라, 픽처의 동일한 분류가 인코딩 또는 디코딩 프로세스들 사이에서 공유되는 비디오를 인코딩/디코딩하는 것.
기술된 실시예들 중 임의의 것에 따라, 서브샘플이 보간될 때 보간 필터들을 선택하기 위해 분류가 사용되는 비디오를 인코딩/디코딩하는 것.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
기술된 실시예들 중 임의의 것에 따라 생성된 신택스 이송 정보를 포함하는 비트스트림 또는 신호.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예들 중 임의의 것에 따라 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
기술된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어들을 저장하는 매체, 데이터를 저장하는 매체, 또는 신호.
기술된 실시예들 중 임의의 것에 따른 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
기술된 실시예들 중 임의의 것에 따른 픽처의 재구성을 수행하고, (예컨대, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 생성된 이미지를 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예컨대, 동조기를 사용하여) 선택하고, 기술된 실시예들 중 임의의 것에 따른 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 무선으로 (예컨대, 안테나를 사용하여) 수신하고, 기술된 실시예들 중 임의의 것에 따른 픽처의 재구성을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.

Claims (31)

  1. 비디오를 인코딩하는 단계를 포함하는 방법으로서, 상기 비디오를 인코딩하는 단계는,
    제1 픽처의 샘플들을 분류하는 단계,
    상기 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 단계 - 상기 제1 필터는 상기 제1 픽처의 또는 제2 픽처의 제1 인코딩 동작에 사용됨 -, 및
    상기 분류에 기초하여 제2 필터를 결정하는 단계 - 상기 제2 필터는 상기 제1 픽처의 또는 상기 제2 픽처의 제2 인코딩 동작에 사용됨 - 를 포함하는, 방법.
  2. 하나 이상의 프로세서들을 포함하는 장치로서, 상기 하나 이상의 프로세서들은 비디오를 인코딩하도록 구성되고, 상기 비디오를 인코딩하는 것은,
    제1 픽처의 샘플들을 분류하는 것,
    상기 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 것 - 상기 제1 필터는 상기 제1 픽처의 또는 제2 픽처의 제1 인코딩 동작에 사용됨 -, 및
    상기 분류에 기초하여 제2 필터를 결정하는 것 - 상기 제2 필터는 상기 제1 픽처의 또는 상기 제2 픽처의 제2 인코딩 동작에 사용됨 - 을 포함하는, 장치.
  3. 제1항의 방법 또는 제2항의 장치에 있어서, 상기 분류는 기준 픽처들을 저장하는 디코딩된 픽처 버퍼에 저장되는, 방법 또는 장치.
  4. 제1항 또는 제3항의 방법, 또는 제2항 또는 제3항의 장치에 있어서, 상기 제1 픽처는 인코딩된-디코딩된 픽처인, 방법 또는 장치.
  5. 제1항, 제3항, 제4항 중 어느 한 항의 방법, 또는 제2항 내지 제4항 중 어느 한 항의 장치에 있어서, 상기 제1 픽처는 기준 픽처인, 방법 또는 장치.
  6. 제1항 또는 제3항 내지 제5항 중 어느 한 항의 방법, 또는 제2항 내지 제5항 중 어느 한 항의 장치에 있어서, 상기 제1 인코딩 동작, 상기 제2 인코딩 동작은 각각, 적어도:
    픽처 재샘플링,
    모션 보상 보간 필터링,
    사후 필터링 중에서 일정 동작인, 방법 또는 장치.
  7. 제1항 또는 제3항 내지 제6항 중 어느 한 항의 방법, 또는 제2항 내지 제6항 중 어느 한 항의 장치에 있어서, 상기 제1 필터 및 상기 제2 필터는, 상기 분류에 기초하여 상기 제1 인코딩 동작에 대해 정의된 제1 세트의 필터들로부터 그리고 상기 제2 인코딩 동작에 대해 정의된 제2 세트의 필터들로부터 각각 선택되는, 방법 또는 장치.
  8. 제1항 또는 제3항 내지 제7항 중 어느 한 항의 방법, 또는 제2항 내지 제7항 중 어느 한 항의 장치에 있어서, 상기 제2 인코딩 동작은 상기 제1 픽처의 또는 상기 제2 픽처의 수정된 부분을 제공하고,
    상기 방법은,
    상기 수정된 부분을 사용하여 제3 픽처의 적어도 하나의 블록에 대한 예측을 결정하는 단계, 및
    상기 예측을 사용하여 상기 적어도 하나의 블록을 인코딩하는 단계를 추가로 포함하거나, 또는
    상기 하나 이상의 프로세서들은,
    상기 수정된 부분을 사용하여 제3 픽처의 적어도 하나의 블록에 대한 예측을 결정하기 위해, 그리고
    상기 예측을 사용하여 상기 적어도 하나의 블록을 인코딩하기 위해 추가로 구성되는, 방법 또는 장치.
  9. 비디오를 디코딩하는 단계를 포함하는 방법으로서, 상기 비디오를 디코딩하는 단계는,
    제1 픽처의 샘플들을 분류하는 단계,
    상기 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 단계 - 상기 제1 필터는 상기 제1 픽처의 또는 제2 픽처의 제1 디코딩 동작에 사용됨 -, 및
    상기 분류에 기초하여 제2 필터를 결정하는 단계 - 상기 제2 필터는 상기 제1 픽처의 또는 상기 제2 픽처의 제2 디코딩 동작에 사용됨 - 를 포함하는, 방법.
  10. 하나 이상의 프로세서들을 포함하는 장치로서, 상기 하나 이상의 프로세서들은 비디오를 디코딩하도록 구성되고, 상기 비디오를 디코딩하는 것은,
    제1 픽처의 샘플들을 분류하는 것,
    상기 제1 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 제1 필터를 결정하는 것 - 상기 제1 필터는 상기 제1 픽처의 또는 제2 픽처의 제1 디코딩 동작에 사용됨 -, 및
    상기 분류에 기초하여 제2 필터를 결정하는 것 - 상기 제2 필터는 상기 제1 픽처의 또는 상기 제2 픽처의 제2 디코딩 동작에 사용됨 - 을 포함하는, 장치.
  11. 제9항의 방법 또는 제10항의 장치에 있어서, 상기 분류는 기준 픽처들을 저장하는 디코딩된 픽처 버퍼에 저장되는, 방법 또는 장치.
  12. 제9항 또는 제11항의 방법, 또는 제10항 또는 제11항의 장치에 있어서, 상기 제1 픽처는 디코딩된 픽처인, 방법 또는 장치.
  13. 제9항, 제11항, 제12항 중 어느 한 항의 방법, 또는 제10항 내지 제12항 중 어느 한 항의 장치에 있어서, 상기 제1 픽처는 기준 픽처인, 방법 또는 장치.
  14. 제9항 또는 제11항 내지 제13항 중 어느 한 항의 방법, 또는 제10항 내지 제13항 중 어느 한 항의 장치에 있어서, 상기 제1 디코딩 동작, 상기 제2 디코딩 동작은 각각, 적어도:
    픽처 재샘플링,
    모션 보상 보간 필터링,
    사후 필터링 중에서 일정 동작인, 방법 또는 장치.
  15. 제9항 또는 제10항 내지 제14항 중 어느 한 항의 방법, 또는 제10항 내지 제14항 중 어느 한 항의 장치에 있어서, 상기 제1 필터 및 상기 제2 필터는, 상기 분류에 기초하여 상기 제1 디코딩 동작에 대해 정의된 제1 세트의 필터들로부터 그리고 상기 제2 디코딩 동작에 대해 정의된 제2 세트의 필터들로부터 각각 선택되는, 방법 또는 장치.
  16. 제9항 또는 제10항 내지 제15항 중 어느 한 항의 방법, 또는 제10항 내지 제15항 중 어느 한 항의 장치에 있어서, 상기 제2 인코딩 동작은 상기 제1 픽처의 또는 상기 제2 픽처의 수정된 부분을 제공하고,
    상기 방법은,
    상기 수정된 부분을 사용하여 제3 픽처의 적어도 하나의 블록에 대한 예측을 결정하는 단계, 및
    상기 예측을 사용하여 상기 적어도 하나의 블록을 디코딩하는 단계를 추가로 포함하거나, 또는
    상기 하나 이상의 프로세서들은,
    상기 수정된 부분을 사용하여 제3 픽처의 적어도 하나의 블록에 대한 예측을 결정하기 위해, 그리고
    상기 예측을 사용하여 상기 적어도 하나의 블록을 디코딩하기 위해 추가로 구성되는, 방법 또는 장치.
  17. 제9항 또는 제10항 내지 제16항 중 어느 한 항의 방법, 또는 제10항 내지 제16항 중 어느 한 항의 장치에 있어서, 상기 제1 인코딩 동작은 상기 제1 픽처의 또는 상기 제2 픽처의 수정된 부분을 제공하고, 상기 방법은,
    상기 분류에 기초하여 결정된 적어도 하나의 필터를 사용하여 상기 수정된 부분을 재샘플링하는 단계, 및
    상기 재샘플링된 수정된 부분을 디스플레이로 송신하는 단계를 추가로 포함하거나,
    또는 상기 하나 이상의 프로세서들은, 상기 분류에 기초하여 결정된 적어도 하나의 필터를 사용하여 상기 수정된 부분을 재샘플링하기 위해, 그리고 상기 재샘플링된 수정된 부분을 디스플레이로 송신하기 위해 추가로 구성되는, 방법 또는 장치.
  18. 비디오를 인코딩하거나 또는 디코딩하는 단계를 포함하는 방법으로서, 상기 비디오를 인코딩하거나 또는 디코딩하는 단계는, 상기 비디오의 적어도 하나의 블록에 대해,
    기준 픽처의 샘플들을 분류하는 단계,
    상기 비디오의 블록을 예측하기 위해 상기 분류에 기초하여 적어도 하나의 모션 보상 보간 필터를 선택하는 단계, 및
    상기 예측에 기초하여 상기 블록을 인코딩하거나 또는 디코딩하는 단계를 포함하는, 방법.
  19. 하나 이상의 프로세서들을 포함하는 장치로서, 상기 하나 이상의 프로세서들은 비디오를 인코딩하거나 또는 디코딩하도록 구성되고, 상기 비디오를 인코딩하거나 또는 디코딩하는 것은, 상기 비디오의 적어도 하나의 블록에 대해,
    기준 픽처의 샘플들을 분류하는 것,
    상기 비디오의 블록을 예측하기 위해 상기 분류에 기초하여 적어도 하나의 모션 보상 보간 필터를 선택하는 것, 및
    상기 예측에 기초하여 상기 블록을 인코딩하거나 또는 디코딩하는 것을 포함하는, 장치.
  20. 제18항의 방법 또는 제19항의 장치에 있어서, 상기 비디오의 블록을 예측하기 위해 상기 분류에 기초하여 적어도 하나의 모션 보상 보간 필터를 선택하는 것은,
    상기 적어도 하나의 블록의 적어도 하나의 모션 벡터를 사용하여, 상기 기준 픽처의 적어도 하나의 부분을 결정하는 것,
    상기 기준 픽처의 적어도 하나의 부분에 대해, 상기 기준 픽처의 적어도 하나의 부분에서 샘플들에 연관된 클래스 인덱스에 기초하여 적어도 하나의 보간 필터를 결정하는 것, 및
    상기 결정된 적어도 하나의 보간 필터를 사용하는 상기 기준 픽처의 적어도 하나의 부분의 샘플들의 필터링에 기초하여, 상기 블록에 대한 예측을 결정하는 것을 포함하는, 방법 또는 장치.
  21. 제18항 또는 제20항의 방법 또는 제19항 또는 제20항의 장치에 있어서, 상기 기준 픽처의 적어도 하나의 부분에 대해, 상기 분류에 기초하여 적어도 하나의 보간 필터를 결정하는 것은,
    상기 기준 픽처의 적어도 하나의 부분 내의 적어도 하나의 이웃 샘플과 연관된 적어도 하나의 클래스 인덱스로부터 상기 기준 픽처의 적어도 하나의 부분의 적어도 하나의 서브샘플에 대한 클래스 인덱스를 결정하는 것, 및
    상기 적어도 하나의 서브샘플에 대해, 보간 필터들의 세트로부터, 상기 결정된 클래스 인덱스에 응답하여 보간 필터를 선택하는 것을 포함하는, 방법 또는 장치.
  22. 제21항에 있어서, 상이한 보간 필터가 각각의 클래스와 연관되는, 방법 또는 장치.
  23. 제18항, 제20항, 제21항, 제22항 중 어느 한 항의 방법, 또는 제19항, 제21항 내지 제22항 중 어느 한 항의 장치에 있어서, 비트스트림에서 상기 필터들의 세트의 적어도 하나의 보간 필터의 계수들을 인코딩하거나 또는 디코딩하는 것을 추가로 포함하는, 방법 또는 장치.
  24. 제1항, 제3항 내지 제8항, 제18항, 제20항 내지 제23항 중 어느 한 항의 방법을 수행함으로써 형성된, 비디오를 나타내는 코딩된 데이터를 포함하는 비트스트림을 포함하는, 신호.
  25. 제24항에 따른 비트스트림을 포함하는 컴퓨터 판독가능 매체.
  26. 하나 이상의 프로세서들로 하여금, 제1항, 제3항 내지 제8항, 제18항, 제20항 내지 제23항 중 어느 한 항의 방법을 수행하게 하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체.
  27. 프로그램이 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금, 제1항, 제3항 내지 제8항, 제18항, 제20항 내지 제23항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
  28. 디바이스로서,
    - 제10항 내지 제17항 또는 제19항 내지 제23항 중 어느 한 항에 따른 장치; 및
    - (i) 비디오를 나타내는 데이터를 포함하는 신호를 수신하도록 구성된 안테나, (ii) 상기 수신된 신호를, 상기 비디오를 나타내는 데이터를 포함하는 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 또는 (iii) 상기 디코딩된 비디오를 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  29. 제28항에 있어서, TV, 휴대폰, 태블릿 또는 셋톱 박스를 포함하는, 디바이스.
  30. 장치로서,
    o 제24항에 따른 신호를 포함하는 데이터에 액세스하도록 구성되는 액세스 유닛, 및
    o 상기 액세스된 데이터를 송신하도록 구성되는 송신기를 포함하는, 장치.
  31. 방법으로서, 제24항에 따른 신호를 포함하는 데이터에 액세스하는 단계, 및 상기 액세스된 데이터를 송신하는 단계를 포함하는, 방법.
KR1020237029003A 2021-02-25 2022-02-22 비디오를 인코딩/디코딩하기 위한 방법들 및 장치들 KR20230150293A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP21305227.7 2021-02-25
EP21305227 2021-02-25
EP21305578.3 2021-05-04
EP21305578 2021-05-05
PCT/EP2022/054395 WO2022180033A1 (en) 2021-02-25 2022-02-22 Methods and apparatuses for encoding/decoding a video

Publications (1)

Publication Number Publication Date
KR20230150293A true KR20230150293A (ko) 2023-10-30

Family

ID=80928903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237029003A KR20230150293A (ko) 2021-02-25 2022-02-22 비디오를 인코딩/디코딩하기 위한 방법들 및 장치들

Country Status (6)

Country Link
US (1) US20240137504A1 (ko)
EP (2) EP4298791A1 (ko)
JP (1) JP2024507791A (ko)
KR (1) KR20230150293A (ko)
MX (1) MX2023009529A (ko)
WO (2) WO2022180031A1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE063986T2 (hu) * 2018-09-16 2024-02-28 Huawei Tech Co Ltd Eljárás és berendezés predikcióhoz

Also Published As

Publication number Publication date
EP4298791A1 (en) 2024-01-03
WO2022180033A1 (en) 2022-09-01
WO2022180031A1 (en) 2022-09-01
MX2023009529A (es) 2023-08-24
EP4298790A1 (en) 2024-01-03
JP2024507791A (ja) 2024-02-21
US20240137504A1 (en) 2024-04-25

Similar Documents

Publication Publication Date Title
JP7299221B2 (ja) 隣接サンプルに応じた線形モデルに基づく映像符号化及び復号のための方法と装置
US20230095387A1 (en) Neural network-based intra prediction for video encoding or decoding
AU2023208181A1 (en) Generalized bi-prediction and weighted prediction
EP3641311A1 (en) Encoding and decoding methods and apparatus
US20240137504A1 (en) Methods and apparatuses for encoding/decoding a video
WO2020214564A1 (en) Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation
US20240205412A1 (en) Spatial illumination compensation on large areas
CN117083853A (zh) 用于对视频进行编码/解码的方法和装置
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
WO2023099249A1 (en) Downsample phase indication
US20230141577A1 (en) Method and apparatus for video encoding and decoding
US20240080484A1 (en) Method and device for luma mapping with cross component scaling
WO2023041317A1 (en) Method and apparatus for video encoding and decoding with chroma residuals sampling
WO2022268627A1 (en) Methods and apparatuses for encoding/decoding a video
WO2022258356A1 (en) High-level syntax for picture resampling
WO2023222521A1 (en) Sei adapted for multiple conformance points
WO2024083500A1 (en) Methods and apparatuses for padding reference samples
KR20240099324A (ko) 기준 픽처 리샘플링을 사용한 비디오 인코딩 및 디코딩
WO2024002675A1 (en) Simplification for cross-component intra prediction
WO2023186752A1 (en) Methods and apparatuses for encoding/decoding a video
WO2023052141A1 (en) Methods and apparatuses for encoding/decoding a video
KR20240087768A (ko) 비디오를 인코딩/디코딩하기 위한 방법들 및 장치들
EP3994893A1 (en) Signaling of merge indices for triangle partitions
CN117813817A (zh) 用于对视频进行编码/解码的方法和装置