KR20230003491A - 참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들 - Google Patents

참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들 Download PDF

Info

Publication number
KR20230003491A
KR20230003491A KR1020227037500A KR20227037500A KR20230003491A KR 20230003491 A KR20230003491 A KR 20230003491A KR 1020227037500 A KR1020227037500 A KR 1020227037500A KR 20227037500 A KR20227037500 A KR 20227037500A KR 20230003491 A KR20230003491 A KR 20230003491A
Authority
KR
South Korea
Prior art keywords
region
frame
picture
sub
independent
Prior art date
Application number
KR1020227037500A
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 KR20230003491A publication Critical patent/KR20230003491A/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

디코더는, 비트스트림을 수신하고, 제1 프레임을 식별하고, 제1 프레임 내에서 제1 독립 참조 구역을 찾고, 제1 프레임으로부터 제1 독립 참조 구역을 추출하고, 그리고 제2 프레임에 대한 참조로서 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 구성된 회로를 포함한다.

Description

참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들
본 출원은, 2021년 4월 14일에 "METHODS AND SYSTEMS OF VIDEO CODING USING REFERENCE REGIONS"이란 명칭으로 출원되고 그 전체가 인용에 의해 본원에 포함되는 미국 정규 출원 번호 제17/229,957호의 우선권의 이익을 주장하며, 2020년 4월 14일에 "METHODS AND SYSTEMS OF VIDEO CODING USING REFERENCE REGIONS"란 명칭으로 출원되고 그 출원의 전체가 인용에 의해 본원에 포함되는 미국 가특허 출원 번호 제63/009,978호의 우선권의 이익을 주장한다.
본 발명은 일반적으로 비디오 압축 분야에 관한 것이다. 특히, 본 발명은 참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들에 관한 것이다.
비디오 코덱(video codec)은 디지털 비디오를 압축하거나 압축해제하는 전자 회로 또는 소프트웨어를 포함할 수 있다. 압축되지 않은 비디오를 압축 포맷으로 또는 그 반대로 변환할 수 있다. 비디오 압축의 맥락에서, 비디오를 압축하는(및/또는 그 일부 기능을 수행하는) 디바이스는 일반적으로 인코더라고 칭해질 수 있고, 비디오를 압축해제하는(및/또는 그 일부 기능을 수행하는) 디바이스는 디코더라고 칭해질 수 있다.
압축된 데이터의 포맷은 표준 비디오 압축 사양을 따를 수 있다. 압축된 비디오가 원본 비디오에 존재하는 일부 정보가 결여된다는 점에서 압축은 손실일 수 있다. 그 결과 원본 비디오를 정확하게 재구성하기 위한 정보가 충분하지 않기 때문에 압축해제된 비디오가 원래의 압축되지 않은 비디오보다 품질이 낮을 수 있다는 것이 포함될 수 있다.
비디오 품질, 비디오를 나타내는 데 사용되는 데이터의 양(예를 들어, 비트 레이트에 의해 결정됨), 인코딩 및 디코딩 알고리즘의 복잡성, 데이터 손실들 및 오류들에 대한 민감도, 편집 용이성, 랜덤 액세스, 종단간 지연(예를 들어, 레이턴시) 등 사이에 복잡한 관계들이 있을 수 있다.
모션 보상은 비디오에서 카메라 및/또는 객체들의 모션을 고려하여 이전 및/또는 미래 프레임들과 같은 참조 프레임이 주어진 비디오 프레임 또는 그 일부를 예측하는 접근법을 포함할 수 있다. 이는 MPEG(Motion Picture Experts Group)의 AVC(advanced video coding) 표준(또한 H.264라고 지칭됨)을 사용한 인코딩 및 디코딩과 같이 비디오 압축을 위한 비디오 데이터의 인코딩 및 디코딩에 사용될 수 있다. 모션 보상은 참조 픽처(picture)를 현재 픽처로 변환하는 관점에서 픽처를 설명할 수 있다. 참조 픽처는 현재 픽처와 비교하면 시간상 이전 픽처일 수 있고, 현재 픽처와 비교하면 미래 픽처일 수 있다. 이전에 송신 및/또는 저장된 이미지들로부터 이미지들을 정확하게 합성할 수 있다면, 압축 효율이 개선될 수 있다.
일 양태에서, 디코더는, 코딩된 비디오 비트스트림(bistream)을 수신하고 ― 코딩된 비디오 스트림은 제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처를 포함함 ―, 참조 픽처를 디코딩하고, 비트스트림으로부터 참조 픽처의 서브-구역을 식별하고 ― 서브-구역은 제2 크기를 갖고, 제2 크기는 제1 크기와 상이함 ―, 리스케일링(rescale)된 참조 픽처를 형성하기 위해 서브-구역을 제3 크기로 리스케일링하고 ― 제3 크기는 제1 크기와 동일함 ―, 그리고 리스케일링된 참조 픽처를 사용하여 현재 픽처를 디코딩하도록 구성된 회로를 포함한다.
다른 양태에서, 디코더는, 코딩된 제1 참조 픽처 및 코딩된 현재 픽처를 포함하는 코딩된 비디오 비트스트림을 수신하고, 참조 픽처를 디코딩하고, 비트스트림으로부터 참조 픽처의 제1 서브-구역을 식별하고, 제2 참조 픽처를 형성하기 위해 제1 서브-구역을 변환하고, 그리고 제2 참조 픽처를 사용하여 현재 픽처를 디코딩하도록 구성된 회로를 포함한다.
다른 양태에서, 참조 구역들을 사용하여 비디오 코딩하는 방법은 디코더에 의해, 코딩된 비디오 비트스트림을 수신하는 단계 ― 코딩된 비디오 비트스트림은 제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처를 포함함 ―, 디코더에 의해, 참조 픽처를 디코딩하는 단계, 디코더에 의해 비트스트림으로부터 참조 픽처의 서브-구역을 식별하는 단계 ― 서브-구역은 제2 크기를 가지며, 제2 크기는 제1 크기와 상이함 ―, 디코더에 의해, 리스케일링된 참조 픽처를 형성하기 위해 서브-구역을 제3 크기로 리스케일링하는 단계 ― 제3 크기는 제1 크기와 동일함 ―, 및 디코더에 의해, 리스케일링된 참조 픽처를 사용하여 현재 픽처를 디코딩하는 단계를 포함한다.
다른 양태에서, 디코더는, 비트스트림을 수신하고, 제1 프레임을 식별하고, 제1 프레임 내에서 제1 독립 참조 구역을 찾고, 제1 프레임으로부터 제1 독립 참조 구역을 추출하고, 그리고 제2 프레임에 대한 참조로서 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 구성된 회로를 포함한다.
다른 양태에서, 참조 구역들을 사용하여 비디오 코딩하는 방법은 비트스트림을 수신하는 단계, 제1 프레임을 식별하는 단계, 제1 프레임 내에서 제1 독립 참조 구역을 찾는 단계, 제1 프레임으로부터 제1 독립 참조 구역을 추출하는 단계, 및 제2 프레임에 대한 참조로서 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 포함한다.
본 발명의 비제한적 실시예들의 이들 및 다른 양태들 및 특징들은 첨부 도면들과 함께 본 발명의 특정 비제한적 실시예들의 하기 설명을 검토할 때 당업자들에게 명백해질 것이다.
본 발명을 예시할 목적으로, 도면들은 본 발명의 하나 이상의 실시예들의 양태들을 도시한다. 그러나, 본 발명이 도면들에 도시된 바로 그 배열들 및 수단으로 제한되지 않는다는 것이 이해되어야 한다.
도 1은 참조 프레임을 사용하는 예시적인 디코딩을 예시하는 블록도이다.
도 2는 독립 참조 구역을 갖는 참조 프레임의 예시적인 실시예의 예시이다.
도 3은 독립 참조 구역 및 예측 프레임의 예시적인 실시예의 예시이다.
도 4는 독립 참조 구역 및 예측 프레임의 예시적인 실시예의 예시이다.
도 5는 독립 참조 구역 및 예측 프레임의 예시적인 실시예의 예시이다.
도 6은 LTR 버퍼의 예시적인 실시예의 예시이다.
도 7은 현재 청구대상의 일부 구현들에 따라 비디오를 디코딩하기 위한 예시적인 프로세스를 예시하는 프로세스 흐름도이다.
도 8은 현재 청구대상의 일부 구현들에 따라 비트 스트림을 디코딩할 수 있는 예시적인 디코더를 예시하는 시스템 블록도이다.
도 9는 현재 청구대상의 일부 구현들에 따라 비디오를 인코딩하는 예시적인 프로세스를 예시하는 프로세스 흐름도이다.
도 10은 현재 청구대상의 일부 구현들에 따라 예시적인 비디오 인코더를 예시하는 시스템 블록도이다.
도 11은 본원에 개시된 방법론들 중 임의의 하나 이상 및 이의 임의의 하나 이상의 부분을 구현하는 데 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
도면들은 반드시 실척대로 도시된 것은 아니며, 가상 라인들, 도식적 표현들 및 단편적인 도해들에 의해 예시될 수 있다. 소정 사례들에서, 실시예들의 이해를 위해 필요하지 않거나 또는 다른 세부사항들을 표현하기 어렵게 하는 세부사항들은 생략될 수 있다.
기존의 비디오 코딩 시스템들에서, 비디오 시퀀스는 GOP(Groups-of-pictures)로 나뉜다. 각 GOP는 시간 및 공간 예측의 의미에서 자체-포함된다. 일반적으로, 그룹의 제1 픽처는 후속 픽처들의 참조 픽처로 사용된다. 픽처들 간의 시간적 및 공간적 관계들은 예측 코딩을 사용하여 매우 효율적인 압축을 허용한다.
이제 도 1을 참조하면, 각각의 GOP는 참조로 사용되는 참조 프레임(104) 또는 인트라-프레임(I-프레임), 및 참조로부터 다른 프레임(108)을 예측하는 데 사용가능한 정보를 포함할 수 있고; 예측에 사용가능한 정보는 글로벌 및/또는 로컬 모션 벡터들 및/또는 변환뿐만 아니라 추가로 설명되는 잔차를 제한 없이 포함할 수 있다. 참조 프레임(104) 또는 I-프레임의 송신은 GOP의 송신에 사용되는 대역폭의 상당 부분을 나타낼 수 있다.
일부 실시예들에서, LTR(long-term reference) 프레임을 사용하여 송신 대역폭은 감소되고/되거나 디코딩 및/또는 인코딩 효율은 개선될 수 있다. 본 개시내용에서 사용되는 바와 같이, LTR 프레임은 하나 이상의 픽처들의 그룹들(GOP)에서 예측된 프레임들 및/또는 픽처들을 생성하는데 사용되는 프레임 및/또는 픽처이지만, 비디오 픽처에서 그 자체가 디스플레이되지 않을 수 있다. 비디오 비트스트림에서 LTR 프레임으로 표시된 프레임은 비트스트림 시그널링에 의해 명시적으로 제거될 때까지 참조로 사용하기 위해 이용가능할 수 있다. LTR 프레임들은 오랜 기간 동안 정적 배경(예를 들어, 화상 회의의 배경 또는 주차장 감시 비디오)을 갖는 장면들에서 예측 및 압축 효율성을 개선시킬 수 있다.
H.264 및 H.265와 같은 현재 표준들은 새로 디코딩된 프레임을 저장하고 참조 프레임(104)으로 이용가능하게 시그널링함으로써 LTR 프레임과 같은 유사한 프레임들을 업데이트하는 것을 허용한다. 이러한 업데이트들은 인코더에 의해 시그널링되고 전체 프레임이 업데이트된다. 그러나 전체 프레임을 업데이트하는 것은 비용이 많이 들 수 있고, 특히 정적 배경의 작은 부분만 변경된 경우에는 더욱 그렇다.
이제 도 2를 참조하면, 본원에 개시된 실시예들은 현재 프레임에 대한 참조로서 참조 프레임(104)의 적어도 참조 구역을 사용하여 예측을 수행함으로써 전술된 예측 프로세스들의 효율성 및 유연성을 개선하고, 여기서 참조 구역 또는 "서브-구역"은 참조 프레임(104)의 영역보다 작은, 예를 들어 픽셀들로 정의된 영역을 포함할 수 있는 크기를 갖는다. 예측된 프레임들이 전체 참조 프레임들(104)로부터 생성되는 현재 코딩 표준들과 대조적으로, 전술된 접근법은 디코더가 디코딩 동작들을 보다 효율적이고 더 많은 변동으로 수행할 수 있게 할 수 있다. 적어도 서브-구역(204)은 GOP 내의 임의의 포지션에서 임의의 수의 프레임들에 대해 사용될 수 있으며, 따라서 I-프레임 재코딩 및/또는 재송신에 대한 요구를 제거한다.
계속해서 도 2를 참조하면, 비디오 뷰의 잘린 부분을 나타내는 서브-구역(204)을 갖는 참조 프레임(104)의 예시적인 실시예가 예시된다. 서브-구역(204)은 예를 들어 참조 프레임(104) 내에서 아래에서 더 자세히 설명되는 디코더에 의해 식별될 수 있다. 서브-구역(204)은, 잘려진 참조 프레임(104)이 별도로 송신될 것을 요구하지 않고, 잘려진 참조 프레임(104)의 사용과 유사한 방식으로 참조 구역으로서 사용될 수 있다.
비제한적이고 예시적인 예로서, 여전히 도 2를 참조하면, 참조 프레임(104)은 제1 폭(D1) 및 제1 높이(D2)에 의해 정의된 제1 해상도를 가질 수 있고, 여기서 D1 및 D2는 제한 없이 픽셀들 및/또는 픽셀들의 분율들과 같은 측정 단위들의 개수들일 수 있고; 참조 프레임(104)의 구역은 해상도 D1 x D2로 정의되는 측정 단위들(D1 및 D2)의 직사각형 어레이의 영역으로 정의될 수 있다. 서브-구역(204)은 W x H의 면적 또는 해상도를 정의하는 폭(W) 및 높이(H)를 가질 수 있다. 서브-구역(204)은 동일하거나 더 작은 치수들을 갖는 참조 픽처 내의 서브-픽처(204)를 정의할 수 있고, 여기서 "더 작은 치수들"은 W 및 H 중 적어도 하나가 참조 프레임(104)의 대응하는 치수보다 작다는 것을 의미하고; 즉, W가 D1보다 작거나 H가 D2보다 작다. 결과적으로, 해상도 또는 구역(W x H)은 해상도 또는 구역(D1 x D2)보다 작을 수 있다. 서브-구역(204)은 쿼드러플(quadruple)(X, Y, W, H)로 정의될 수 있고, 여기서 X, Y는 참조 픽처의 좌측-상단 모서리에 대한 서브-구역(204)의 좌측-상단 모서리 좌표이고, W, H는 측정 단위들로 표현된 서브-구역(204)의 폭 및 높이이다. 서브-구역(204)의 제한 없이 대안적인 모서리의 좌표들, 대각선으로 대향하는 2 개의 정점들의 세트, 및/또는 임의의 정의된 포인트들에 대한 벡터들과 같은 대안적인 쿼드러플이 서브-구역(204)을 정의하기 위해 선택될 수 있음이 유의되어야 한다. 서브-구역(204)을 정의하는 데이터는 GOP에 대해 정적일 수 있고; 예를 들어, 쿼드러플(X, Y, W, H) 또는 등가는 GOP에 대해 정적일 수 있다. 대안적으로, 또는 추가적으로, 서브-구역(204)을 정의하는 데이터는 동적일 수 있다. 예를 들어, 제한 없이, 서브-구역(204)은 비디오 픽처에서 관심 객체 및/또는 인물의 움직임을 따르기 위해 GOP의 후속 픽처 사이에서 변화하고; 이것은 일반적으로 비디오 코딩에서 사용되는 모션 벡터들 및/또는 변환들과 유사하게 코딩될 수 있다. 픽처들의 그룹의 각각의 픽처에 대해 서브-구역(204)을 정의하는 데이터가 제공될 수 있고; 이것은 제한 없이, 서브-구역(204)을 정의하는 데이터의 세트에 의해, 예를 들어 전술된 바와 같이, 픽처들의 그룹의 각각의 픽처에 대해, 하나의 픽처에서 서브-구역(204)을 정의하는 데이터의 세트에 의해, 그리고 하나의 픽처에서 이전 또는 후속 픽처로의 서브-구역(204)의 움직임을 설명하는 추가 데이터 등에 의해 달성될 수 있다. 서브-구역(204)을 정의하는 데이터는 시퀀스 파라미터 세트(SPS)에서 지정 및/또는 시그널링될 수 있고; 서브-구역(204)을 정의하는 업데이트된 데이터는 GOP의 하나 이상의 선택된 픽처들 및/또는 프레임들에 대한 픽처 파라미터 세트(PPS)에 제공될 수 있다.
계속해서 도 2를 참조하면, 디코더는 해상도(D1 x D2)에서 참조 프레임(104)을 수신 중이거나, 수신하려고 하거나, 이미 수신했을 수 있고 전술된 바와 같이 쿼드러플을 사용하여 서브-구역(204)을 선택할 수 있다. 일부 구현들에서, 인코더는 비트스트림의 여분의 비트들을 사용하여 디코더에 서브-구역(204)의 기하학적 특성을 시그널링할 수 있다. 시그널링 비트들은 아래에서 추가로 설명되는 바와 같은 LTR 버퍼 및/또는 참조 버퍼 같은 버퍼 내에서 참조 프레임(104) 인덱스 및/또는 GOP를 식별하는 인덱스, 디코더에서 픽처 인덱스들을 식별하는 인덱스, 및 서브-구역(204) 쿼드러플을 식별하는 인덱스를 나타낼 수 있다. 이어서, 디코더는 독립 참조 구역으로서 서브-구역(204)을 추출할 수 있다. 추출된 독립 참조 구역으로부터 후속 프레임들이 예측될 수 있다. 서브-구역(204)을 정의하는 데이터가 전술된 바와 같이 동적인 경우, 후속 프레임들은 이러한 데이터 및 참조 구역을 사용하여 추가로 예측될 수 있고; 유리하게, 단일 참조 구역은 참조 구역의 재송신을 요구하지 않고 픽처에 대해 이동하는 서브-구역(204)에 사용될 수 있다. 서브-구역(204), 참조 프레임(104) 등의 크기 및/또는 위치는 대안적으로 또는 추가로 높이 오프셋, 높이, 길이 오프셋 및/또는 길이 같은 비트스트림에서 시그널링될 수 있는 파라미터들을 사용하여 특성화될 수 있다.
여전히 도 2를 참조하면, 서브-구역(204)은 적어도 수직 오프셋 및 적어도 수평 오프셋을 사용하여 시그널링될 수 있고; 예를 들어, 제한 없이, 전술된 쿼드러플은 프레임의 상단 에지로부터의 수직 오프셋, 프레임의 하단 에지로부터의 수직 오프셋, 프레임의 좌측 에지로부터의 수평 오프셋, 및 프레임의 우측 에지로부터의 수평 오프셋을 지정할 수 있고; 여기에서 오프셋들은 아래에서 더 상세히 설명되는 바와 같이 리스케일링 이전 또는 이후에 프레임의 픽셀들 단위로 측정될 수 있다. 비제한적인 예로서, 적어도 수직 오프셋은 sps_conf_win_top_offset 및 sps_conf_win_bottom 오프셋을 포함할 수 있으며, 이는 SPS에서 시그널링될 수 있고 프레임의 상단 에지로부터의 수직 오프셋 및 프레임의 하단 에지로부터의 수직 오프셋을 각각 식별할 수 있다. 추가의 비제한적인 예로서, 적어도 수평 오프셋은 sps_conf_win_left_offset 및 sps_conf_win_right_offset을 포함할 수 있고, 이는 SPS에서 시그널링될 수 있고 프레임의 좌측 에지로부터의 수평 오프셋 및 프레임의 우측 에지로부터의 수평 오프셋을 각각 식별할 수 있다.
계속해서 도 2를 참조하면, 서브-구역(204)은 대안적으로 또는 추가적으로 서브-구역(204)에 포함 및/또는 제외될 하나 이상의 타일들 또는 슬라이스들의 사양에 의해 식별될 수 있다. 프레임 내 타일 번호 및 포지션은 픽처 헤더에서 시그널링될 수 있다. 실시예에서, 시그널링은 명시적일 수 있고; 대안적으로 또는 추가적으로, PPS는 타일 행들, 열들, 행 높이 및/또는 열 폭을 시그널링할 수 있고, 이들 중 일부 또는 전부는 타일 카운트 및/또는 개수를 결정하기 위해 디코더에 의해 결합 및/또는 활용될 수 있다. 예를 들어, 제한 없이, pps_num_exp_tile_columns_minus1로 표시된 PPS 파라미터는 1이 추가되어 명시적으로 제공된 타일 열 폭의 개수를 지정할 수 있다. 추가의 비제한적인 예로서, 1이 추가된 파라미터(pps_tile_column_width_minus1[i])는 i번째 타일 열의 폭을, 예를 들어 0 내지 pps_num_exp_tile_columns_minus1(포함)의 범위에서 i에 대한 코딩 트리 블록(CTB)들의 단위들로 지정할 수 있다. 파라미터(pps_tile_row_height_minus1[i]) 더하기 1은 1이 추가되어 i번째 타일 행의 높이를 예를 들어 i에 대한 CTB들의 단위들로 지정할 수 있다. 시그널링된 파라미터들은 대안적으로 또는 추가로 하나 이상의 타일들 내 슬라이스들의 개수들 및/또는 치수들을 지정할 수 있다. 예를 들어 pps_num_exp_slices_in_tile[i]로 표시된 파라미터는 i번째 슬라이스를 포함하는 타일의 슬라이스들에 대해 명시적으로 제공된 슬라이스 높이들의 개수를 지정할 수 있다. pps_slice_width_in_tiles_minus1[i]로 표시된 파라미터는 1이 추가되어 타일 열들의 단위로 i번째 직사각형 슬라이스의 폭을 지정할 수 있다. pps_slice_height_in_tiles_minus1[i]로 표시된 파라미터는 1이 추가되어 예를 들어, pps_num_exp_slices_in_tile[i]가 0인 경우 i번째 직사각형 슬라이스의 높이를 타일 행들의 단위들로 지정할 수 있다. 통상의 기술자들은 본 개시내용의 전체를 검토할 때, 암시적이든 명시적이든 타일 및/또는 슬라이스 파라미터들이 비트스트림 및/또는 헤더 파라미터들에서 및/또는 비트스트림 및/또는 헤더 파라미터로부터 시그널링 및/또는 결정될 수 있는 다양한 대안적 또는 추가적 방식들을 알 것이다.
여전히 도 2를 참조하면, 서브-구역(204)의 변환이 서브-구역(204)을 리스케일링하는 것을 포함하는 경우, 보다 작고 그리고/또는 보다 큰 서브-구역(204)의 폭 및 높이는 RefPicScale과 같은 변수 이름으로 대안적으로 또는 추가로 지칭될 수 있는 스케일링 인자 및/또는 상수라고 또한 지칭되는 임의의 리스케일링 상수(Rc)를 서브-구역(204)의 폭 및 높이에 곱함으로써 획득될 수 있다. 더 작은 서브-구역(204)의 경우, Rc는 0과 1 사이의 값을 가질 수 있다. 더 큰 프레임들의 경우, Rc는 1보다 큰 값을 가질 수 있고; 예를 들어, Rc는 1과 4 사이의 값을 가질 수 있다. 다른 값들도 가능하다. 리스케일링 상수는 해상도 차원에 따라 상이할 수 있고; 예를 들어, 리스케일링 상수(Rch)는 높이를 리스케일링하는데 사용될 수 있는 반면, 다른 리스케일링 상수(Rcw)는 폭을 리스케일링하는데 사용될 수 있다.
여전히 도 2를 참조하면, 리스케일링은 모드로 구현될 수 있다. 일부 구현들에서, 인코더는 예를 들어 pps_pic_width_in_luma_samples 파라미터, pps_scaling_win_right_offset 파라미터, 및/또는 pps_scaling_win_left_offset 파라미터와 같은 픽처 파라미터의 함수로서 사용할 리스케일링 상수를 디코더에 시그널링할 수 있다. 시그널링은 현재 픽처를 포함하는 GOP에 대응하는 시퀀스 파라미터 세트(SPS) 및/또는 현재 픽처에 대응하는 픽처 파라미터 세트(PPS)에서 수행될 수 있다. 예를 들어, 제한 없이 인코더는 a pps_pic_width_in_luma_samples, pps_pic_height_in_luma_samples, pps_scaling_win_left_offset, pps_scaling_win_right_offset, pps_scaling_win_top_offset, pps_scaling_win_bottom_offset, 및/또는 sps_num_subpics_minus1과 같은 필드들을 사용하여 리스케일링된 파라미터들에 시그널링할 수 있다. 1과 동일한 pps_scaling_window_explicit_signalling_flag와 같은 파라미터는 스케일링 윈도우 오프셋 파라미터가 PPS에 있음을 지정할 수 있고; 0과 동일한 pps_scaling_window_explicit_signalling_flag는 스케일링 윈도우 오프셋 파라미터가 PPS에 존재하지 않음을 나타낼 수 있다. sps_ref_pic_resampling_enabled_flag가 0과 동일할 때, pps_scaling_window_explicit_signalling_flag의 값은 0과 동일할 수 있다. pps_scaling_win_left_offset, pps_scaling_win_right_offset, pps_scaling_win_top_offset, 및 pps_scaling_win_bottom_offset은 스케일링 비율 계산을 위해 픽처 크기에 적용되는 오프셋들을 지정할 수 있다. 존재하지 않는 경우, pps_scaling_win_left_offset, pps_scaling_win_right_offset, pps_scaling_win_top_offset, 및 pps_scaling_win_bottom_offset의 값들은 각각 pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, 및 pps_conf_win_bottom_offset과 동일한 것으로 추론될 수 있다.
추가로 도 2를 참조하면, W 및 H 파라미터는 제한 없이 각각 변수들(CurrPicScalWinWidthL 및 CurrPicScalWinHeightL)을 사용하여 표현될 수 있고; 이들 변수들은 시그널링된 파라미터들과 변수들 사이의 하나 이상의 수학적 관계들을 사용하여 전술된 바와 같이 시그널링된 파라미터들로부터 유도될 수 있다. 예를 들어, 제한 없이, CurrPicScalWinWidthL은 다음 방정식에 따라 유도될 수 있다:
CurrPicScalWinWidthL = pps_pic_width_in_luma_samples  SubWidthC*(pps_scaling_win_right_offset + pps_scaling_win_left_offset)
추가의 비제한적 예로서, CurrPicScalWinHeightL은 다음 방정식에 따라 유도될 수 있다:
CurrPicScalWinWidthL = pps_pic_width_in_luma_samples  SubWidthC*(pps_scaling_win_right_offset + pps_scaling_win_left_offset)
리스케일링 동작은 인코딩된 프레임들 및/또는 서브-구역들(204)의 블록 레벨에서 실행될 수 있다. 예를 들어, 참조 프레임(104)으로서 사용될 서브-구역(204)은 먼저 리스케일링될 수 있고 후속적으로 예측이 수행될 수 있다. 블록 예측 프로세스는 원래 참조 프레임(104)보다 스케일링된 참조 프레임(104)(스케일링된 해상도를 가짐)에 대해 수행될 수 있다. 참조 프레임(104) 및/또는 서브-구역(204)을 리스케일링하는 것은 전술된 바와 같이 인코더에 의해 시그널링된 임의의 파라미터에 따라 리스케일링하는 것을 포함할 수 있고; 예를 들어 제한 없이, 현재 픽처와 함께 사용될 참조 프레임(104)은 예를 들어 참조 프레임(104)과 연관된 인덱스 값에 대한 참조를 통해 등으로 시그널링되는 경우, 시그널링된 참조 프레임(104)은 예측 이전에, 전술된 리스케일링의 임의의 방법에 따라 리스케일링될 수 있다. 리스케일링된 참조 프레임(104)은 메모리 및/또는 버퍼에 저장될 수 있고, 버퍼는 프레임 검색이 수행될 수 있는 인덱스들에 의해 그 안에 포함된 프레임들을 식별하는 버퍼를 제한 없이 포함할 수 있고; 버퍼는 디코딩된 픽처 버퍼(DCB) 및/또는 디코더에 의해 구현되는 하나 이상의 추가 버퍼들을 포함할 수 있다. 예측 프로세스는 예를 들어 모션 보상을 포함하는 인터 픽처 예측을 포함할 수 있다.
여전히 도 2를 참조하면, 블록-기반 리스케일링의 일부 구현들은 전체 프레임에 대해 동일한 필터를 적용하는 대신 각 블록에 대해 최적의 필터들을 적용하는 유연성을 가능하게 할 수 있다. 일부 구현들에서, 스킵-리스케일링 모드는 (예를 들어 픽셀들의 균일성 및 비트레이트 비용에 기반하여) 일부 블록들이 스킵-리스케일링 모드에 있을 수 있도록(예를 들어, 리스케일링이 비트레이트를 변경하지 않도록) 할 수 있다. 스킵-리스케일링 모드는 비트스트림에서 시그널링될 수 있고; 예를 들어, 제한 없이 스킵-리스케일링 모드는 PPS 파라미터에서 시그널링될 수 있다. 대안적으로 또는 추가로, 디코더는 디코더에 의해 설정되고/되거나 비트스트림에서 시그널링되는 하나 이상의 파라미터들에 기반하여 스킵-리스케일링 모드가 활성이라고 결정할 수 있다.
여전히 도 2를 참조하면, 리스케일링은 업샘플링 또는 그렇지 않으면 공간 필터들을 사용하는 것을 포함할 수 있다. 리스케일링에 사용되는 공간 필터들은 제한 없이, 쌍삼차 보간을 적용하는 쌍삼차 공간 필터들, 쌍선형 해석을 적용하는 쌍선형 공간 필터들, Lanczos 필터링을 사용하는 Lanczos 필터들 및/또는 사인 필터들의 조합들을 사용하는 Lanczos 재샘플링, 사인-함수 보간 및/또는 신호 재구성 기법들 등을 포함할 수 있고; 통상의 기술자들은 본 개시내용의 전체를 검토할 때, 본 개시내용과 일관되게 보간을 위해 사용될 수 있는 다양한 필터들을 인식할 것이다. 보간 필터들은 비제한적인 예로서, 위에 설명된 임의의 필터들, 업샘플링 프로세스에 의해 제한 없이 사용될 수 있는 저역 통과 필터를 포함할 수 있고, 이에 의해 스케일링 이전의 블록 및/또는 프레임의 픽셀들 사이의 픽셀들은 0으로 초기화되고, 이어서 저역 통과 필터의 출력으로 채워질 수 있다. 대안적으로 또는 추가적으로, 임의의 루마 샘플 보간 필터링 프로세스가 사용될 수 있다. 루마 샘플 해석은 스케일링되지 않은 샘플 어레이의 2 개의 연속 샘플 값들 사이에 있는 절반-샘플 보간 필터 인덱스에서 보간된 값의 계산을 포함할 수 있다. 보간된 값의 계산은 제한 없이, 룩업 테이블들로부터 계수들 및/또는 가중치들의 검색에 의해 수행될 수 있고; 룩업 테이블들의 선택은 예를 들어 전술된 바와 같은 스케일링 상수를 사용하여 결정된 바와 같이 코딩 단위들 및/또는 스케일링 비율 양들의 모션 모델들의 함수로서 수행될 수 있다. 계산은 제한 없이, 룩업 테이블들로부터 가중치가 검색되는 인접 픽셀 값들의 가중 합들을 수행하는 것을 포함할 수 있다. 계산된 값들은 대안적으로 또는 추가로 시프트될 수 있고; 예를 들어 제한 없이, 값들은 Min(4, BitDepth - 8), 6, Max(2, 14 - BitDepth) 등에 의해 시프트될 수 있다. 통상의 기술자들은 본 개시내용의 전체를 검토할 때, 보간 필터들에 사용될 수 있는 다양한 대안적 또는 추가적 구현들을 인식할 것이다.
이제 도 3을 참조하면, 예측된 픽처(108)는 추출된 독립 참조 구역(304)과 동일하거나 유사한 해상도 및/또는 크기를 가질 수 있다. 이 접근법은 비디오 해상도를 다운스케일링하고, 따라서 비트레이트를 감소시켜 시청자의 관심 구역에 초점을 맞추거나, 자동화 또는 일부 목적 및/또는 태스크에 더 크게 관련된 시각적 데이터를 포함시키는 것과 같은 사용자-촉진 검출에 의해 식별된 구역에 초점을 맞추는 데 사용할 수 있고; 대안적으로 또는 추가로, 이 접근법은 네트워크 속도들이 저하된 곳에서 비디오의 디스플레이를 계속 허용할 수 있다. 이 접근법에 따른 장점들은 비디오 송신에 사용되는 대역폭 절약, 비디오 인코딩에 사용되는 리소스들 절약 및/또는 비디오를 디코딩하고 재생하는 데 필요한 시간 절약을 포함할 수 있다. 결과는 개시된 실시예들을 구현하는 디바이스들 및/또는 네트워크들에서 리소스들의 보다 효율적인 사용뿐만 아니라 더 우수한 사용자 경험일 수 있다.
여전히 도 3을 참조하면, 예측된 픽처(108)는 후속하여 더 작거나 더 큰 픽처로 리스케일링될 수 있다. 더 작은 픽처들과 더 큰 픽처들의 폭과 높이는 W와 H에 임의의 리스케일링 상수(Rc)(또한 스케일링 팩터라고도 함)를 곱하여 획득될 수 있다. 더 작은 픽처들의 경우, 비제한적인 예로서, Rc는 0과 1 사이의 값을 가질 수 있다. 더 큰 프레임들에서, 추가의 비제한적인 예로서, Rc는 1과 4 사이의 값들을 가질 수 있다. 다른 값들도 가능하다. 리스케일링 동작은 최종 사용자 및/또는 최종 사용자에게 비디오를 디스플레이하는 컴퓨팅 디바이스에서 동작하는 추가 프로그램 및/또는 모듈을 위한 옵션으로 남겨질 수 있고, 이는 일 예에서 디스플레이 해상도에 맞게 픽처를 리스케일링할 수 있다.
이제 도 4를 참조하면, 디코더는 독립 참조 구역(304)을 리스케일링하여, 예를 들어, 원래의 비디오 픽처의 전체 해상도 및/또는 목표 해상도를 매칭하기 위해, 전술된 바와 같은 리스케일링 상수를 사용하여 리스케일링된 구역(404)을 생성할 수 있고; 예를 들어, W 및 H는 제한 없이 Rc= D1/W와 같이 전술된 바와 같은 D1 및 D2와 동일한 크기로 W 및 H를 스케일링하도록 선택된 Rc에 의해 각각 곱해질 수 있다. 리스케일링된 서브-구역을 사용하여 예측된 픽처를 획득하기 위해 예측 및 다른 동작들이 수행될 수 있다.
이제 도 5를 참조하면, 독립 참조 구역(204)은 전체 픽처보다는 픽처의 일부를 예측하기 위해 사용될 수 있다. 예를 들어, 제한 없이, 가상 현실에서 사용되는 360-비디오 픽처 및/또는 비디오 픽처와 같은 픽처는 사용자의 시야를 넘어 확장될 수 있고; 그러한 상황에서, 비디오 픽처의 주어진 프레임은 사용자의 예측된 및/또는 검출된 현재 시야에 대응하는 독립 참조 구역(204)으로 렌더링될 수 있다. 다른 실시예들에서, 독립 참조 구역은 제1 프레임의 중요하고, 높은-세부사항 및/또는 높은-모션 부분에 대응할 수 있다. 예측된 프레임의 나머지는 임의의 다른 적합한 예측 및/또는 디코딩 방법을 사용하여 생성될 수 있고; 픽셀들은 인코딩되지 않을 수 있고, 제한 없이 흑색과 같은 기본 색상으로 인코딩될 수 있고/있거나, 이웃 픽셀들의 크로마 및/또는 루마 값이 제공될 수 있고, 예를 들어 스크린을 채우기 위해 독립 참조 구역의 에지들로부터 크로마 및 루마 값을 확장시킨다. 부분들은 참조 프레임, 잔차, 모션 벡터들 등의 다른 부분들로부터 대안적으로 또는 추가로 예측될 수 있다.
여전히 도 5를 참조하면, 디코더는 예시적인 목적들을 위해 본원에서 "1"로 표시된 제1 독립 참조 구역(204)을 변환함으로써 제2 프레임의 전부 또는 일부를 디코딩할 수 있다. 제1 독립 참조 구역(204)을 변환하는 것은 예를 들어 전술된 바와 같이 제1 독립 참조 구역(204)을 스케일링하는 것을 포함할 수 있다. 대안적으로 또는 추가적으로, 제1 독립 참조 구역(204)을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역(204)을 이동시키는 것을 포함할 수 있고; 비디오 픽처의 위치는 비디오 픽처의 에지들 및/또는 임의의 좌표들을 포함할 수 있다. 비제한적인 예로서, 도 5에 예시적인 목적으로 예시된 바와 같이, 제1 독립 참조 구역(204)은 예를 들어 아핀 변환(affine transformation)과 같은 선형 변환을 사용하여 비디오 픽처 좌표 시스템의 원래 위치로부터 및/또는 에지들 및/또는 픽셀 카운트에 대해 새로운 위치로 변위될 수 있고, 본 개시내용에서 사용되는 "아핀 모션 변환"은 모션 동안 겉보기 형상을 변경하지 않고 비디오의 뷰를 가로질러 이동하는 객체를 예시하는 픽셀들의 세트 같은 픽처 및/또는 비디오 픽처에 표현된 포인트들 또는 픽셀들의 세트의 균일한 변위를 설명하는 매트릭스 및/또는 벡터와 같은 변환이다. 매트릭스 또는 다른 수학적 기술자를 사용하여 기술할 수 있는 임의의 변환을 포함하는 임의의 변환은 제1 독립 참조 구역을 이동하거나 그렇지 않으면 변환하기 위해 본 개시내용과 일관되게 사용될 수 있다. 예를 들어, 제한 없이, 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역을 회전시키는 것, 제1 독립 참조 구역을 뒤집는 것 등을 포함할 수 있다.
여전히 도 5를 참조하면, 디코딩은 예시적인 목적들을 위해 "2"로 표시된 제2 독립 참조 구역(204)의 사용을 포함할 수 있다. 실시예에서, 디코더는 제1 프레임에서 제2 독립 참조 구역(204)을 찾을 수 있고, 이는 제1 독립 참조 구역(204)에 대해 전술된 임의의 방식으로 수행될 수 있다. 대안적으로 또는 추가적으로, 제2 독립 참조 구역(204)은 아래에서 더 상세히 설명되는 바와 같이 다른 참조 프레임으로부터 추출되고/되거나 참조 버퍼 및/또는 LTR 버퍼와 같은 버퍼로부터 검색될 수 있다. 제2 독립 참조 구역(204)으로부터의 디코딩은 제1 독립 참조 구역에 대해 전술된 바와 같은 임의의 방법들 및/또는 방법 단계들을 사용하여 수행될 수 있다. 제1 독립 참조 구역(204)과 제2 독립 참조 구역(204)의 조합은 다양한 방식들로 사용될 수 있고; 예를 들어, 제1 독립 참조 구역(204)은 사용자의 시야를 초과하는 크기를 갖는 픽처의 사용자에게 제1 시야를 묘사할 수 있는 반면, 제2 독립 참조 구역(204)은 인접할 수 있는 다른 시야를 묘사할 수 있다. 추가적인 독립 참조 구역들(204)은 또한 디코딩된 프레임의 추가 부분들을 제공하기 위해 사용될 수 있고; 복수의 독립 참조 구역들은 픽처를 디코딩하기 위해 추출 및/또는 검색될 수 있고, 연속적일 수 있고, 전술된 임의의 방법을 사용하여 예측된 픽셀들에 의해 연결되거나, 그렇지 않으면 결합될 수 있다. 복수의 독립 참조 구역(204)은 대안적으로 또는 추가적으로 프레임들의 시퀀스에 대해 순차적으로 사용될 수 있다.
이제 도 6을 참조하면, 하나 이상의 독립 참조 구역(204)은 참조 버퍼와 같은 버퍼 및/또는 LTR 버퍼(604)에 저장될 수 있다. LTR 버퍼(604)는 복수의 프레임들을 포함할 수 있다. 실시예에서, LTR 버퍼(604)는 복수의 프레임들 및/또는 독립 참조 구역들(204)을 포함할 수 있고; 복수의 프레임들 및/또는 독립 참조 구역들 각각은, 예를 들어 아래에서 더 상세히 설명되는 바와 같이, 검색 및/또는 검색을 위한 시그널링을 허용하는 대응하는 인덱스를 가질 수 있다. 참조 버퍼 및/또는 LTR 버퍼(604)는 예를 들어 프레임들 및/또는 독립 참조 구역들의 추가 및/또는 제거에 의해 주기적으로 업데이트 및/또는 수정될 수 있다.
여전히 도 6을 참조하면, 독립 참조 구역(204) 및/또는 참조 프레임들(104)의 사용은 예를 들어 인코더에 의해 비트스트림에서 시그널링될 수 있다. 예를 들어, 제한 없이, 독립 참조 구역들의 사용, 픽처에서 독립된 참조 구역들의 존재는 비디오 시퀀스의 헤더에서 인코더에 의해 예를 들어 시퀀스 파라미터 세트 등에서 시그널링될 수 있다. 단일 플래그는 독립 구역들의 존재를 나타내는 데 사용될 수 있고; 플래그의 부재는 어떠한 독립 구역들도 없는 것으로 해석될 수 있다. 총 독립 구역들의 개수는 또한 시퀀스 헤더에서 시그널링될 수 있다. 독립 참조 구역들의 기하학적 특성, 예를 들어 전술된 버퍼들로부터의 검색을 위한 독립 참조 구역들의 식별자는 또한 시퀀스 헤더들에서 시그널링될 수 있다. 대안적으로 또는 추가로, 하나 이상의 신호들은 픽처 파라미터 세트에서와 같이 픽처 헤더들에서 제공될 수 있다. 실시예에서, 픽처 헤더에서의 시그널링은 디코더의 유연성을 확장하여, 픽처 레벨에 대한 결정들을 허용할 수 있다. 구역 ID들의 리스트는 규정된 순서로 구역 ID들을 나타내는 연속된 숫자들의 시퀀스를 포함할 수 있다. 디코더는 시그널링된 리스트를 사용하여 독립 구역들 및 독립 구역들로부터 예측된 픽처 구역들을 재배치하고 재구성할 수 있다.
이제 도 7을 참조하면, 참조 구역들을 사용하는 비디오 코딩 방법(700)의 예시적인 실시예가 예시된다. 단계(705)에서, 디코더는 예를 들어 아래에서 더 상세히 설명되는 바와 같이 비트스트림을 수신한다. 비트스트림은 코딩된 비디오 비트스트림을 포함할 수 있다. 비트스트림은 대안적으로 "참조 픽처" 및/또는 "LTR 픽처"로 지칭될 수 있는 적어도 하나의 코딩된 참조 픽처 및/또는 LTR 프레임, 및 적어도 하나의 코딩된 현재 픽처를 포함할 수 있다. 코딩된 현재 픽처는 영역을 포함하여 전술된 바와 같은 임의의 크기를 포함할 수 있는 제1 크기를 가질 수 있다. 단계(710)에서, 디코더는 참조 픽처 및/또는 LTR 프레임을 디코딩하고; 이것은 본 개시내용에서 설명된 디코딩을 위한 임의의 프로세스에 따라 수행될 수 있다. 디코더는 비트스트림에서 참조 프레임 및/또는 LTR 프레임을 식별할 수 있다. 대안적으로, 참조 프레임 및/또는 LTR 프레임은 디코딩되지 않을 수 있고, 독립 참조 구역만이 디코딩될 수 있다.
단계(715)에서, 여전히 도 7을 참조하면, 디코더는 참조 프레임 및/또는 LTR 프레임 내에서 제1 서브-구역을 찾고; 이것은 도 1-도 6을 참조하여 전술된 바와 같이 제한 없이 달성될 수 있다. 예를 들어, 제한 없이, 제1 서브-구역을 찾는 것은 비트스트림에서 참조 프레임 및/또는 LTR 프레임 내의 독립 참조 구역의 기하학적 특성을 식별하는 것을 포함할 수 있고; 비트스트림은 전술된 바와 같이 인코더에 의해 시그널링될 수 있다. 비제한적인 예로서, 제1 서브-구역은 직사각형일 수 있고, 기하학적 특성은 제1 서브-구역의 꼭지점들을 특징짓는 4 개의 숫자들을 포함할 수 있다. 추가의 비제한적인 예로서, 기하학적 특성은 높이 오프셋, 높이, 길이 오프셋 및 길이를 포함할 수 있고/있거나 서브-구역(204)은 높이 오프셋, 높이, 길이 오프셋 및 길이에 의해 특성화될 수 있다. 제1 서브-구역은 제2 크기를 갖고; 제2 크기는 제1 크기와 상이할 수 있거나, 즉, 제1 크기보다 크거나 작을 수 있다. 제1 서브-구역을 식별하는 것은 비트스트림에서, 제1 서브-구역이 존재한다는 표시를 수신하는 것을 포함할 수 있다. 실시예에서, 참조 프레임을 사용하는 종래의 예측은 픽처 내에 제로 구역들이 있다는 것을 시그널링하거나 원래 픽처와 동일한 크기를 갖는 하나의 구역을 정의함으로써 여전히 지원될 수 있다. 미래 예측을 위한 독립적인 참조 픽처로 간주되고 추출되는 하나 이상의 구역의 구역들의 사양을 허용함으로써 유연성이 제공될 수 있다.
계속해서 도 7을 참조하면, 단계(720)에서, 디코더는 제1 서브-구역(204)을 변환한다. 변환은 제2 및/또는 리스케일링된 참조 픽처 및/또는 그 일부를 생성할 수 있다. 제1 서브-구역을 변환하는 것은 본 개시내용에 설명된 바와 같이 임의의 서브-구역에 대한 임의의 변환 및/또는 수정을 포함할 수 있다. 제1 서브-구역을 변환하는 것은 제한 없이 제1 서브-구역을 트랜슬레이팅(translating)하는 것을 포함할 수 있다. 추가 예로서, 디코더는 전술된 바와 같은 임의의 아핀 변환을 포함할 수 있는 아핀 변환을 적용함으로써 제1 서브-구역을 변환하도록 구성될 수 있다. 추가적인 비제한적 예로서, 디코더는 제1 서브-구역을 제3 크기로 리스케일링할 수 있고; 제3 크기는 리스케일링된 참조 픽처를 형성하기 위해 제1 크기와 동일할 수 있다. 즉, 디코더는 현재 프레임의 현재 및/또는 시그널링된 크기와 매칭하도록 서브-구역을 리스케일링할 수 있다. 대안적으로 또는 추가적으로, 제1 서브-구역은 제1 서브-구역의 현재 크기로 남을 수 있고; 디코더는 제1 서브-구역을 변환하지 않을 수 있다. 디코더는 참조 프레임 및/또는 LTR 프레임에서 제1 서브-구역을 추출할 수 있고; 이것은 제한 없이 도 1-도 6을 참조하여 전술된 바와 같이 수행될 수 있다. 단계(725)에서, 디코더는 현재 프레임에 대한 참조로서 제1 서브-구역을 사용하여 현재 프레임을 디코딩하고; 이것은 제한 없이 도 1-도 6을 참조하여 전술된 바와 같이 구현될 수 있다. 예를 들어, 현재 프레임을 디코딩하는 것은 제1 서브-구역과 동일한 크기를 갖는 현재 프레임을 디코딩하는 것을 포함할 수 있다. 제2 프레임을 디코딩하는 것은 제1 서브-구역을 변환하는 것을 포함할 수 있다. 제1 서브-구역을 변환하는 것은 제1 서브-구역을 스케일링하는 것, 제1 서브-구역을 뒤집는 것, 비디오 픽처 내의 위치에 대해 제1 서브-구역을 이동시키는 것, 및/또는 비디오 픽처 내의 위치에 대해 제1 서브-구역을 회전시키는 것을 포함할 수 있다.
여전히 도 7을 참조하면, 디코더는 버퍼에 참조 프레임 및/또는 LTR 프레임을 저장할 수 있고; 버퍼는 장기 참조 버퍼 및/또는 참조 픽처 버퍼를 포함할 수 있다. 디코더는 참조 프레임 및/또는 LTR 프레임에서 제2 서브-구역을 찾도록 추가로 구성될 수 있다. 디코더는 제1 서브-구역 및/또는 제2 서브-구역을 사용하여 제2 현재 프레임을 디코딩할 수 있다. 디코더는 제2 독립 참조 구역을 버퍼에 저장할 수 있다. 디코더는 버퍼로부터 검색되거나, 다른 프레임으로부터 추출될 수 있는 등일 수 있는 제1 서브-구역 및/또는 제2 서브-구역 및/또는 참조 프레임을 사용하여 제2 현재 프레임을 디코딩할 수 있다.
도 8은 인접 블록에 의해 활용되는 글로벌 모션 벡터 후보를 사용하여 모션 벡터 후보 리스트를 구성하는 것을 포함하여 비트스트림을 디코딩할 수 있는 예시적인 디코더(800)를 예시하는 시스템 블록도이다. 디코더(800)는 엔트로피 디코더 프로세서(804), 역양자화 및 역변환 프로세서(808), 디블로킹 필터(812), 프레임 버퍼(816), 모션 보상 프로세서(820) 및/또는 인트라 예측 프로세서(824)를 포함할 수 있다.
동작 중에, 여전히 도 8을 참조하면, 비트 스트림(828)은 디코더(800)에 의해 수신될 수 있고 엔트로피 디코더 프로세서(804)에 입력될 수 있으며, 엔트로피 디코더 프로세서(804)는 비트 스트림의 부분들을 양자화된 계수들로 엔트로피 디코딩할 수 있다. 양자화된 계수들은 역양자화 및 역변환 프로세서(808)에 제공될 수 있고, 이는 역양자화 및 역변환을 수행하여 잔차 신호를 생성할 수 있고, 잔차 신호는 프로세싱 모드에 따라 모션 보상 프로세서(820) 또는 인트라 예측 프로세서(824)의 출력에 추가될 수 있다. 모션 보상 프로세서(820) 및 인트라 예측 프로세서(824)의 출력은 이전에 디코딩된 블록에 기반한 블록 예측을 포함할 수 있다. 예측 및 잔차의 합은 디블록킹 필터(812)에 의해 프로세싱되고 프레임 버퍼(816)에 저장될 수 있다.
실시예에서, 여전히 도 8을 참조하면, 디코더(800)는 전술된 임의의 실시예에서 전술된 바와 같은 임의의 동작들을 임의의 순서 및 임의의 반복도로 구현하도록 구성된 회로를 포함할 수 있다. 예를 들어, 디코더(800)는 원하는 또는 명령된 결과가 달성될 때까지 단일 단계 또는 시퀀스를 반복적으로 수행하도록 구성될 수 있고; 단계 또는 단계들의 시퀀스의 반복은 이전 반복들의 출력들을 후속 반복들에 대한 입력들로 사용하여 반복적으로 및/또는 재귀적으로 수행되어, 입력들 및/또는 반복들의 출력들을 집계하여 집계 결과를 생성하고, 하나 이상의 변수들, 이를테면 글로벌 변수들을 감소 또는 감분시키고/시키거나, 더 큰 프로세싱 태스크를 반복적으로 처리되는 더 작은 프로세싱 태스크들의 세트로 나눌 수 있다. 디코더는 2 개 이상의 병렬 스레드들, 프로세서 코어들 등을 사용하여 2 회 이상 단계를 동시에 및/또는 실질적으로 동시에 수행하는 것과 같이, 본 개시내용에 설명된 임의의 단계 또는 단계들의 시퀀스를 병렬로 수행할 수 있고; 병렬 스레드들 및/또는 프로세스들 간의 태스크들의 나눔은 반복들 간의 태스크들의 나눔에 적합한 임의의 프로토콜에 따라 수행될 수 있다. 통상의 기술자들은 본 개시내용 전체를 검토할 때, 단계들, 단계들의 시퀀스들, 프로세싱 태스크들 및/또는 데이터가 반복, 재귀, 및/또는 병렬 프로세싱을 사용하여 세분, 공유, 또는 달리 처리될 수 있는 다양한 방식들을 인식할 것이다.
계속해서 도 8을 참조하면, 디코더(800) 및/또는 이들의 회로는 본 개시내용에 설명된 임의의 실시예에서 임의의 방법, 방법 단계 또는 방법 단계들의 시퀀스를 임의의 순서 및 임의의 반복도로 수행하도록 설계 및/또는 구성될 수 있다. 예를 들어, 디코더(800) 및/또는 그 회로는 원하는 또는 커맨드된 결과가 달성될 때까지 단일 단계 또는 시퀀스를 반복적으로 수행하도록 구성될 수 있고; 단계 또는 단계들의 시퀀스의 반복은 이전 반복들의 출력들을 후속 반복들에 대한 입력들로 사용하고, 반복적으로 및/또는 재귀적으로 수행될 수 있어서, 입력들 및/또는 반복들의 출력들을 집계하여 집계 결과를 생성하고, 글로벌 변수들 같은 하나 이상의 변수들을 감소 또는 감분시키고/시키거나, 더 큰 프로세싱 태스크를 반복적으로 처리되는 더 작은 프로세싱 태스크들의 세트로 나눌 수 있다. 디코더(800) 및/또는 그 회로는 2 개 이상의 병렬 스레드들, 프로세서 코어들 등을 사용하여 2 회 이상 단계를 동시에 그리고/또는 실질적으로 동시에 수행하는 것과 같이 본 개시내용에 설명된 임의의 단계 또는 단계들의 시퀀스를 병렬로 수행할 수 있고; 병렬 스레드들 및/또는 프로세스들 간의 태스크들의 나눔은 반복들 간의 태스크들 나눔에 적합한 임의의 프로토콜에 따라 수행될 수 있다. 통상의 기술자들은 본 개시내용 전체를 검토할 때, 단계들, 단계들의 시퀀스들, 프로세싱 태스크들 및/또는 데이터가 반복, 재귀, 및/또는 병렬 프로세싱을 사용하여 세분, 공유, 또는 달리 처리될 수 있는 다양한 방식들을 인식할 것이다.
도 9는 다양한 사용 사례들에서 비트레이트 절약들을 허용하는 비디오 인코더/디코더에 대한 추가적인 유연성을 가능하게 할 수 있는 적응형 절단으로 비디오를 인코딩하는 예시적인 프로세스(900)를 예시하는 프로세스 흐름도이다. 단계(905)에서, 비디오 프레임은 예를 들어 픽처 프레임을 CTU들 및 CU들로 분할하는 것을 포함할 수 있는 트리-구조화 매크로 블록 분할 방식을 사용하여 초기 블록 세그먼트화를 겪을 수 있다.
단계(910)에서, 여전히 도 9를 참조하면, 프레임의 서브-구역 또는 그 일부의 선택을 포함하여, 제1 참조 구역의 식별이 수행될 수 있다. 구역은 자동 또는 전문가 입력을 통해 선택될 수 있다. 비제한적인 예로서, 소정 객체들을 검출하는 컴퓨터 비전 알고리즘에 의해 자동 선택이 달성될 수 있고; 객체 검출은 객체 분류 등과 같은 추가 프로세싱을 포함할 수 있다. 전문가 입력 선택은 제한 없이, 인간 수동 개입, 예를 들어 감시 비디오의 사람과 같은 비디오에서 관심 인물 및/또는 객체의 클로즈업 선택을 사용하여 달성될 수 있다. 다른 가능한 사용 사례는 비트 레이트 감소에 가장 많이 기여하는 가장 중요한 구역을 선택하는 것일 수 있다. 적응형 절단은 서브-구역의 기하학적 특성의 선택을 더 포함할 수 있고, 예를 들어, 제한 없이, 서브-구역의 기하학적 특성의 선택은 제한 없이 (X, Y, W, H)와 같이 전술된 쿼드러플 선택을 포함할 수 있다. 서브-구역의 기하학적 특성의 선택은 서브-구역을 정의하는 동적 데이터와 관하여 전술된 바와 같이 한 프레임에서 다른 프레임으로 서브-구역을 정의하는 데이터에 대한 변화들을 나타내는 정보 및/또는 정보를 업데이트하는 것을 포함할 수 있다.
여전히 도 9를 참조하면, 단계(915)에서, 블록은 인코딩되어 비트 스트림에 포함될 수 있다. 인코딩은 예를 들어 인터 예측 및 인트라 예측 모드들을 활용하는 것을 포함할 수 있다. 인코딩은 예를 들어 전술된 바와 같이 비트스트림 특성(X, Y, W, H)에 비트들 추가, 적응형 절단 모드 식별 등을 포함할 수 있다. 인코딩은 서브-구역을 정의하는 동적 데이터와 관련하여 전술된 바와 같이 한 프레임에서 다른 프레임으로 서브-구역을 정의하는 데이터에 대한 변화들을 나타내는 정보 및/또는 정보를 업데이트하는 것을 포함할 수 있다.
도 10은 다양한 사용 사례들에서 비트레이트 절약들을 허용하는 비디오 인코더/디코더에 대한 추가적인 유연성을 가능하게 할 수 있는 적응성 절단을 가능하게 하는 예시적인 비디오 인코더(1000)를 예시하는 시스템 블록도이다. 예시적인 비디오 인코더(1000)는 입력 비디오(1005)를 수신하고, 입력 비디오(1005)는 트리-구조화 매크로 블록 분할 방식(예를 들어, 쿼드-트리 플러스 이진 트리)과 같은 프로세싱 방식에 따라 초기에 세그먼트화되거나 나눌 수 있다. 트리-구조화 매크로 블록 분할 방식의 예는 픽처 프레임을 코딩 트리 단위(CTU)들이라고 칭해지는 큰 블록 요소들로 분할하는 것을 포함할 수 있다. 일부 구현들에서, 각각의 CTU는 코딩 단위(CU)들이라고 칭해지는 다수의 서브-블록들로 1회 이상 더 분할될 수 있다. 이 분할의 최종 결과는 예측 단위(PU)들이라고 칭해질 수 있는 서브-블록들의 그룹을 포함할 수 있다. 변환 단위(TU)들이 또한 활용될 수 있다.
여전히 도 10을 참조하면, 예시적인 비디오 인코더(1000)는 인트라 예측 프로세서(1015), 적응형 절단을 지원할 수 있는 모션 추정/보상 프로세서(1020)(또한 인터-예측 프로세서로 지칭됨), 변환/양자화 프로세서(1025), 역양자화/역변환 프로세서(1030), 인루프 필터(1035), 디코딩된 픽처 버퍼(1040), 및 엔트로피 코딩 프로세서(1045)를 포함한다. 비트 스트림 파라미터들은 출력 비트 스트림(1050)에 포함시키기 위해 엔트로피 코딩 프로세서(1045)에 입력될 수 있다.
동작 중에, 계속해서 도 10을 참조하면, 입력 비디오(1005)의 프레임의 각 블록에 대해, 인트라 픽처 예측을 통해 블록을 처리할지 또는 움직임 추정/보상을 사용할지 여부가 결정될 수 있다. 블록은 인트라 예측 프로세서(1010) 또는 모션 추정/보상 프로세서(1020)에 제공될 수 있다. 블록이 인트라 예측을 통해 프로세싱되어야 하는 경우, 인트라 예측 프로세서(1010)는 예측자를 출력하기 위한 프로세싱을 수행할 수 있다. 블록이 모션 추정/보상을 통해 프로세싱되어야 한다면, 모션 추정/보상 프로세서(1020)는 적용 가능한 경우 적응성 절단을 사용하는 것을 포함하는 프로세싱을 수행할 수 있다.
여전히 도 10을 참조하면, 입력 비디오에서 예측자를 감산함으로써 잔차가 형성될 수 있다. 잔차는 변환/양자화 프로세서(1025)에 의해 수신될 수 있고, 변환/양자화 프로세서(1025)는 양자화될 수 있는 계수들을 생성하기 위해 변환 프로세싱(예를 들어, 이산 코사인 변환(DCT))을 수행할 수 있다. 양자화된 계수들 및 임의의 연관된 시그널링 정보는 엔트로피 인코딩 및 출력 비트 스트림(1050)에 포함하기 위해 엔트로피 코딩 프로세서(1045)에 제공될 수 있다. 엔트로피 인코딩 프로세서(1045)는 현재 블록의 인코딩과 관련된 시그널링 정보의 인코딩을 지원할 수 있다. 또한, 양자화된 계수들은 역양자화/역변환 프로세서(1030)에 제공될 수 있고, 역양자화/역변환 프로세서(1030)는 픽셀들을 재생할 수 있고, 픽셀들은 예측자와 결합되고 인루프 필터(1035)에 의해 프로세싱되며, 그 출력은 적응형 절단이 가능한 모션 추정/보상 프로세서(1020)에 의해 사용하기 위해 디코딩된 픽처 버퍼(1040)에 저장된다.
계속해서 도 10을 참조하면, 위에서 몇 가지 변형들이 상세하게 설명되었지만, 다른 수정들 또는 추가들이 가능하다. 예를 들어, 일부 구현들에서, 현재 블록들은 임의의 대칭 블록들(8 x 8, 16 x 16, 32 x 32, 64 x 64, 128 x 128 등) 및 임의의 비대칭 블록(8 x 4, 16 x 8 등)을 포함할 수 있다.
여전히 도 10을 참조하면, 일부 구현들에서, 쿼드트리 플러스 이진 결정 트리(QTBT)가 구현될 수 있다. QTBT에서, 코딩 트리 단위 레벨에서, QTBT의 분할 파라미터들은 임의의 오버헤드를 송신하지 않고 로컬 특성에 적응하도록 동적으로 유도될 수 있다. 후속하여, 코딩 단위 레벨에서, 공동-분류기 결정 트리 구조는 불필요한 반복들을 제거하고 잘못된 예측의 위험을 제어할 수 있다. 일부 구현들에서, LTR 프레임 블록 업데이트 모드는 QTBT의 모든 리프 노드에서 이용가능한 추가 옵션으로 이용할 수 있다.
일부 구현들에서, 여전히 도 10을 참조하면, 추가적인 신택스 요소들은 비트스트림의 상이한 계층 레벨들에서 시그널링될 수 있다. 예를 들어, 플래그는 SPS(Sequence Parameter Set)에 코딩된 인에이블 플래그를 포함함으로써 전체 시퀀스에 대해 인에이블될 수 있다. 또한, CTU 플래그는 코딩 트리 단위(CTU) 레벨에서 코딩될 수 있다.
여전히 도 10을 참조하면, 인코더(1000)는 도 8 또는 도 10을 참조하여 전술된 바와 같은 임의의 동작들을 임의의 실시예에서 임의의 순서 및 임의의 반복도로 구현하도록 구성된 회로를 포함할 수 있다. 예를 들어, 인코더(1000)는 원하는 또는 명령된 결과가 달성될 때까지 단일 단계 또는 시퀀스를 반복적으로 수행하도록 구성될 수 있고; 단계 또는 단계들의 시퀀스의 반복은 이전 반복들의 출력들을 후속 반복들에 대한 입력들로 사용하여 반복적으로 및/또는 재귀적으로 수행되어, 입력들 및/또는 반복들의 출력들을 집계하여 집계 결과를 생성하고, 하나 이상의 변수들, 이를테면 글로벌 변수들을 감소 또는 감분시키고/시키거나, 더 큰 프로세싱 태스크를 반복적으로 처리되는 더 작은 프로세싱 태스크들의 세트로 나눌 수 있다. 인코더(1000)는 2 개 이상의 병렬 스레드들, 프로세서 코어들 등을 사용하여 2 회 이상 단계를 동시에 및/또는 실질적으로 동시에 수행하는 것과 같이, 본 개시내용에 설명된 임의의 단계 또는 단계들의 시퀀스를 병렬로 수행할 수 있고; 병렬 스레드들 및/또는 프로세스들 간의 태스크들의 나눔은 반복들 간의 태스크들의 나눔에 적합한 임의의 프로토콜에 따라 수행될 수 있다. 통상의 기술자들은 본 개시내용 전체를 검토할 때, 단계들, 단계들의 시퀀스들, 프로세싱 태스크들 및/또는 데이터가 반복, 재귀, 및/또는 병렬 프로세싱을 사용하여 세분, 공유, 또는 달리 처리될 수 있는 다양한 방식들을 인식할 것이다.
계속해서 도 10을 참조하면, 비일시적 컴퓨터 프로그램 제품들(즉, 물리적으로 구현된 컴퓨터 프로그램 제품들)은 하나 이상의 컴퓨팅 시스템들의 하나 이상의 데이터 프로세서들에 의해 실행될 때, 적어도 하나의 데이터 프로세서가 제한 없이 전술된 임의의 동작들(700) 및/또는 디코더(700) 및/또는 인코더(1000)가 수행하도록 구성될 수 있는 것들을 포함하여, 본 개시내용에서 설명된 동작들 및/또는 이의 단계들을 수행하게 하는 명령들을 저장할 수 있다. 유사하게, 하나 이상의 데이터 프로세서들 및 하나 이상의 데이터 프로세서들에 결합된 메모리를 포함할 수 있는 컴퓨터 시스템이 또한 설명된다. 메모리는 적어도 하나의 프로세서가 본원에 설명된 동작들 중 하나 이상을 수행하게 하는 명령들을 일시적으로 또는 영구적으로 저장할 수 있다. 또한, 방법들은 단일 컴퓨팅 시스템 내에서 또는 2 개 이상의 컴퓨팅 시스템에 분산된 하나 이상의 데이터 프로세서들에 의해 구현될 수 있다. 그러한 컴퓨팅 시스템들은 네트워크(예를 들어, 인터넷, 무선 광역 네트워크, 근거리 통신망, 광역 네트워크, 유선 네트워크 등)를 통한 연결을 포함하는 하나 이상의 연결들을 통해, 다중 컴퓨팅 시스템 등 중 하나 이상 간의 직접 연결을 통해 등으로 연결될 수 있고 데이터 및/또는 커맨드들 또는 다른 명령들 등을 교환할 수 있다.
계속해서 도 10을 참조하면, 인코더(1000) 및/또는 이들의 회로는 본 개시내용에 설명된 임의의 실시예에서 임의의 방법, 방법 단계 또는 방법 단계들의 시퀀스를 임의의 순서 및 임의의 반복도로 수행하도록 설계 및/또는 구성될 수 있다. 예를 들어, 인코더(1000) 및/또는 그 회로는 원하는 또는 커맨드된 결과가 달성될 때까지 단일 단계 또는 시퀀스를 반복적으로 수행하도록 구성될 수 있고; 단계 또는 단계들의 시퀀스의 반복은 이전 반복들의 출력들을 후속 반복들에 대한 입력들로 사용하고, 반복적으로 및/또는 재귀적으로 수행될 수 있어서, 입력들 및/또는 반복들의 출력들을 집계하여 집계 결과를 생성하고, 글로벌 변수들 같은 하나 이상의 변수들을 감소 또는 감분시키고/시키거나, 더 큰 프로세싱 태스크를 반복적으로 처리되는 더 작은 프로세싱 태스크들의 세트로 나눌 수 있다. 디코더(1000) 및/또는 그 회로는 2 개 이상의 병렬 스레드들, 프로세서 코어들 등을 사용하여 2 회 이상 단계를 동시에 그리고/또는 실질적으로 동시에 수행하는 것과 같이 본 개시내용에 설명된 임의의 단계 또는 단계들의 시퀀스를 병렬로 수행할 수 있고; 병렬 스레드들 및/또는 프로세스들 간의 태스크들의 나눔은 반복들 간의 태스크들 나눔에 적합한 임의의 프로토콜에 따라 수행될 수 있다. 통상의 기술자들은 본 개시내용 전체를 검토할 때, 단계들, 단계들의 시퀀스들, 프로세싱 태스크들 및/또는 데이터가 반복, 재귀, 및/또는 병렬 프로세싱을 사용하여 세분, 공유, 또는 달리 처리될 수 있는 다양한 방식들을 인식할 것이다.
일부 실시예들에서, 디코더는, 코딩된 비디오 비트스트림을 수신하고 ― 코딩된 비디오 스트림은 제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처를 포함함 ―, 참조 픽처를 디코딩하고, 비트스트림으로부터 참조 픽처의 서브-구역을 식별하고 ― 서브-구역은 제2 크기를 고, 제2 크기는 제1 크기와 상이함 ―, 리스케일링(rescale)된 참조 픽처를 형성하기 위해 서브-구역을 제3 크기로 리스케일링하고 ― 제3 크기는 제1 크기와 동일함 ―, 그리고 리스케일링된 참조 픽처를 사용하여 현재 픽처를 디코딩하도록 구성된 회로를 포함한다.
서브-구역은 상단 오프셋, 하단 오프셋, 우측 오프셋 및 좌측 오프셋으로 특징지어질 수 있다. 서브-구역을 식별하는 것은 비트스트림에서, 서브-구역이 존재한다는 표시를 수신하는 것을 포함할 수 있다.
일부 실시예들에서, 디코더는, 코딩된 제1 참조 픽처 및 코딩된 현재 픽처를 포함하는 코딩된 비디오 비트스트림을 수신하고, 참조 픽처를 디코딩하고, 비트스트림으로부터 참조 픽처의 제1 서브-구역을 식별하고, 제2 참조 픽처를 형성하기 위해 제1 서브-구역을 변환하고, 제2 참조 픽처를 사용하여 현재 픽처를 디코딩하도록 구성된 회로를 포함한다.
현재 픽처는 제1 크기를 가질 수 있고, 제1 서브-구역은 제1 크기와 상이한 제2 크기를 가질 수 있고, 디코더는 제1 서브-구역을 제1 크기와 동일한 제3 크기로 스케일링함으로써 서브-구역을 변환하도록 구성될 수 있다. 디코더는 제1 서브-구역을 트랜슬레이팅함으로써 제1 서브-구역을 변환하도록 구성될 수 있다. 디코더는 아핀 변환을 적용함으로써 제1 서브-구역을 변환하도록 구성될 수 있다. 디코더는 버퍼에 제1 참조 픽처를 저장하도록 추가로 구성될 수 있다. 버퍼는 장기 참조 버퍼를 포함할 수 있다. 버퍼는 참조 픽처 버퍼를 포함할 수 있다. 디코더는 제1 참조 픽처에서 제2 서브-구역을 찾도록 추가로 구성될 수 있다. 디코더는 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 추가로 구성될 수 있다. 디코더는 버퍼에 제2 독립 참조 구역을 저장하도록 추가로 구성될 수 있다. 현재 픽처는 제1 픽처일 수 있고, 디코더는 제1 서브-구역 및 제2 서브-구역을 사용하여 제2 픽처를 디코딩하도록 추가로 구성될 수 있다.
일부 실시예들에서, 참조 구역들을 사용하여 비디오 코딩하는 방법은 디코더에 의해, 코딩된 비디오 비트스트림을 수신하는 단계 ― 코딩된 비디오 비트스트림은 제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처를 포함함 ―, 디코더에 의해, 참조 픽처를 디코딩하는 단계, 디코더에 의해 비트스트림으로부터 참조 픽처의 서브-구역을 식별하는 단계 ― 서브-구역은 제2 크기를 가지며, 제2 크기는 제1 크기와 상이함 ―, 디코더에 의해, 리스케일링된 참조 픽처를 형성하기 위해 서브-구역을 제3 크기로 리스케일링하는 단계 ― 제3 크기는 제1 크기와 동일함 ―, 및 디코더에 의해, 리스케일링된 참조 픽처를 사용하여 현재 픽처를 디코딩하는 단계를 포함한다.
서브-구역은 높이 오프셋, 높이, 길이 오프셋 및 길이로 특징지어질 수 있다. 서브-구역을 식별하는 것은 비트스트림에서, 서브-구역이 존재한다는 표시를 수신하는 것을 포함할 수 있다. 방법은 버퍼에 참조 프레임을 저장하는 단계를 포함할 수 있다. 버퍼는 장기 참조 버퍼를 포함할 수 있다. 버퍼는 참조 픽처 버퍼를 포함할 수 있다.
일부 실시예들에서, 디코더는, 비트스트림을 수신하고, 제1 프레임을 식별하고, 제1 프레임 내에서 제1 독립 참조 구역을 찾고, 제1 프레임으로부터 제1 독립 참조 구역을 추출하고, 제2 프레임에 대한 참조로서 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 구성된 회로를 포함한다.
디코더는 비트스트림에서 제1 프레임 내의 독립 참조 구역의 기하학적 특성을 식별함으로써 제1 독립 참조 구역을 찾도록 추가로 구성될 수 있다. 제1 독립 참조 구역은 직사각형일 수 있고, 기하학적 특성은 제1 독립 참조 구역의 꼭지점들을 특징으로 하는 4 개의 숫자들을 포함할 수 있다. 제1 독립 참조 구역을 식별하는 것은 비트스트림에서, 제1 독립 참조 구역이 존재한다는 표시를 수신하는 것을 포함할 수 있다. 제1 독립 참조 구역은 크기를 가질 수 있고, 디코더는 제1 독립 참조 구역과 동일한 크기의 제2 프레임을 디코딩하여 제2 프레임을 디코딩하도록 구성될 수 있다. 디코더는 제1 독립 참조 구역을 변환하여 제2 프레임을 디코딩하도록 구성될 수 있다. 제1 독립 참조 구역을 변환하는 것은 제1 독립 참조 구역을 스케일링하는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 제1 독립 참조 구역을 뒤집는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역을 이동시키는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역을 회전시키는 것을 포함할 수 있다.
디코더는 버퍼에 제1 프레임을 저장하도록 추가로 구성될 수 있다. 버퍼는 장기 참조 버퍼를 포함할 수 있다. 버퍼는 참조 픽처 버퍼를 포함할 수 있다. 디코더는 제1프레임에서 제2 참조 구역을 찾도록 추가로 구성될 수 있다. 디코더는 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 추가로 구성될 수 있다. 디코더는 버퍼에 제2 독립 참조 구역을 저장하도록 추가로 구성될 수 있다. 디코더는 제1 참조 구역 및 제2 참조 구역을 사용하여 제2 프레임을 디코딩하도록 추가로 구성될 수 있다.
일부 실시예들에서, 참조 구역들을 사용하여 비디오 코딩하는 방법은 비트스트림을 수신하는 단계, 제1 프레임을 식별하는 단계, 제1 프레임 내에서 제1 독립 참조 구역을 찾는 단계, 제1 프레임으로부터 제1 독립 참조 구역을 추출하는 단계, 및 제2 프레임에 대한 참조로서 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 포함한다.
제1 독립 참조 구역을 찾는 것은 비트스트림에서 제1 프레임 내의 독립 참조 구역의 기하학적 특성을 식별하는 것을 포함할 수 있다. 제1 독립 참조 구역은 직사각형일 수 있고, 기하학적 특성은 제1 독립 참조 구역의 꼭지점들을 특징으로 하는 4 개의 숫자들을 포함할 수 있다. 제1 독립 참조 구역을 식별하는 것은 비트스트림에서, 제1 독립 참조 구역이 존재한다는 표시를 수신하는 것을 포함할 수 있다. 제1 독립 참조 구역은 크기를 가질 수 있고 제2 프레임을 디코딩하는 것은 제1 독립 참조 구역과 동일한 크기의 제2 프레임을 디코딩하는 것을 포함할 수 있다. 방법은 제1 독립 참조 구역을 변환하여 제2 프레임을 디코딩하는 단계를 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 제1 독립 참조 구역을 스케일링하는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 제1 독립 참조 구역을 뒤집는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역을 이동시키는 것을 포함할 수 있다. 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 제1 독립 참조 구역을 회전시키는 것을 포함할 수 있다.
방법은 버퍼에 제1 프레임을 저장하는 단계를 포함할 수 있다. 버퍼는 장기 참조 버퍼를 포함할 수 있다. 버퍼는 참조 픽처 버퍼를 포함할 수 있다. 디코더는 제1 프레임에서 제2 참조 구역을 찾도록 추가로 구성될 수 있다. 방법은 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 포함할 수 있다. 방법은 버퍼에 제2 독립 참조 구역을 저장하는 단계를 포함할 수 있다. 방법은 제1 참조 구역 및 제2 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 포함할 수 있다.
본원에 설명된 양태들 및 실시예들 중 임의의 하나 이상이 컴퓨터 기술의 통상의 기술자들에게 명백할 바와 같이, 본 명세서의 지침들에 따라 프로그래밍된 하나 이상의 기계들(예를 들어, 전자 문서에 대한 사용자 컴퓨팅 디바이스로서 활용되는 하나 이상의 컴퓨팅 디바이스들, 하나 이상의 문서 서버와 같은 서버 디바이스들 등)을 사용하여 편리하게 구현될 수 있음이 유의되어야 한다. 적절한 소프트웨어 코딩은 소프트웨어 기술의 통상의 기술자들에게 명백할 바와 같이, 본 개시내용의 교시들에 기반하여 숙련된 프로그래머들에 의해 용이하게 준비될 수 있다. 소프트웨어 및/또는 소프트웨어 모듈들을 이용하여 위에서 논의된 양태들 및 구현들은 또한 소프트웨어 및/또는 소프트웨어 모듈의 기계 실행가능 명령들의 구현을 지원하기 위한 적절한 하드웨어를 포함할 수 있다.
그러한 소프트웨어는 기계-판독가능 저장 매체를 이용하는 컴퓨터 프로그램 제품일 수 있다. 기계-판독가능 저장 매체는 기계(예를 들어, 컴퓨팅 디바이스)에 의한 실행을 위한 명령들의 시퀀스를 저장 및/또는 인코딩할 수 있고 기계가 본원에 설명된 방법론들 및/또는 실시예들 중 어느 하나를 수행하게 하는 임의의 매체일 수 있다. 기계-판독가능 저장 매체의 예들은 자기 디스크, 광 디스크(예를 들어, CD, CD-R, DVD, DVD-R 등), 광자기 디스크, 판독- 전용 메모리 "ROM" 디바이스, 랜덤-액세스 메모리 "RAM" 디바이스, 자기 카드, 광학 카드, 솔리드-스테이트 메모리 디바이스, EPROM, EEPROM 및 이들의 임의의 조합을 포함하지만, 이에 제한되지 않는다. 본원에서 사용되는 기계-판독가능 매체는 단일 매체뿐만 아니라 물리적으로 분리된 매체의 집합, 이를테면, 예를 들어 컴퓨터 메모리와 결합된 콤팩트 디스크 또는 하나 이상의 하드 디스크 드라이브의 집합을 포함하도록 의도된다. 본원에서 사용되는 바와 같이, 기계-판독가능 저장 매체는 일시적인 신호 송신 형태들을 포함하지 않는다.
그러한 소프트웨어는 또한 반송파와 같은 데이터 반송파 상에서 데이터 신호로서 운반되는 정보(예를 들어, 데이터)를 포함할 수 있다. 예를 들어, 기계-실행가능 정보는 신호가 기계(예를 들어, 컴퓨팅 디바이스)에 의한 실행을 위한 명령의 시퀀스, 또는 이의 일부 및 기계로 하여금 본원에 설명된 방법론들 및/또는 실시예들 중 어느 하나를 실행하게 하는 임의의 관련 정보(예를 들어, 데이터 구조들 및 데이터)를 인코딩하는 데이터 반송파에 구현된 데이터-운반 신호로서 포함될 수 있다.
컴퓨팅 디바이스의 예들은 전자 책 읽기 디바이스, 컴퓨터 워크스테이션, 단말 컴퓨터, 서버 컴퓨터, 핸드헬드 디바이스(예를 들어, 태블릿 컴퓨터, 스마트폰 등), 웹 기기, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 해당 기계가 취해야 할 동작을 지정하는 일련의 명령들을 실행할 수 있는 임의의 기계 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지 않는다. 일 예에서, 컴퓨팅 디바이스는 키오스크를 포함 및/또는 키오스크에 포함될 수 있다.
도 11은 컴퓨터 시스템(1100)의 예시적인 형태의 컴퓨팅 디바이스의 일 실시예의 개략도를 도시하고, 컴퓨터 시스템(10000) 내에서, 제어 시스템이 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 수행하게 하기 위한 명령들의 세트가 실행될 수 있다. 또한, 디바이스들 중 하나 이상이 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 수행하게 하기 위해 특별히 구성된 명령들의 세트를 구현하기 위해 다수의 컴퓨팅 디바이스가 활용될 수 있음이 고려된다. 컴퓨터 시스템(1100)은 버스(1112)를 통해 서로 통신하고 다른 구성요소들과 통신하는 프로세서(1104) 및 메모리(1108)를 포함한다. 버스(1112)는 다양한 버스 아키텍처들 중 임의의 것을 사용하여 메모리 버스, 메모리 제어기, 주변 버스, 로컬 버스, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는 임의의 여러 유형들의 버스 구조들을 포함할 수 있다.
프로세서(1104)는 제한 없이 상태 머신으로 조절되고 메모리 및/또는 센서들로부터의 연산 입력들에 의해 지시받을 수 있는 산술 및 논리 유닛(ALU)과 같은 산술 및 논리 연산들을 수행하기 위한 논리 회로를 통합하는 프로세서와 같은 임의의 적합한 프로세서를 포함할 수 있고; 프로세서(1104)는 비제한적인 예로서 폰 노이만 및/또는 하버드 아키텍처에 따라 구성될 수 있다. 프로세서(1104)는 제한 없이 마이크로제어기, 마이크로프로세서, 디지털 신호 프로세서(DSP), FPGA(Field Programmable Gate Array), CPLD(Complex Programmable Logic Device), GPU(Graphical Processing Unit), 범용 GPU, TPU(Tensor Processing Unit), 아날로그 또는 혼합 신호 프로세서, TPM(Trusted Platform Module), FPU(floating-point unit) 및/또는 SoC(system on a chip)를 포함할 수 있고/있거나 이에 통합될 수 있다.
메모리(1108)는 랜덤-액세스 메모리 구성요소, 판독 전용 구성요소, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는 다양한 구성요소들(예를 들어, 기계-판독가능 매체)를 포함할 수 있다. 일 예에서, 시작 동안과 같이 컴퓨터 시스템(1100) 내의 요소들 간의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(1116)(BIOS)은 메모리(1108)에 저장될 수 있다. 메모리(1108)는 또한 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 구현하는 (예를 들어, 하나 이상의 기계-판독가능 매체에 저장된) 명령들(예를 들어, 소프트웨어)(1120)을 포함할 수 있다. 다른 예에서, 메모리(1108)는 운영 체제, 하나 이상의 애플리케이션 프로그램들, 다른 프로그램 모듈들, 프로그램 데이터, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는 임의의 수의 프로그램 모듈들을 더 포함할 수 있다.
컴퓨터 시스템(1100)은 또한 저장 디바이스(1124)를 포함할 수 있다. 저장 디바이스(예를 들어, 저장 디바이스(1124))의 예들은 하드 디스크 드라이브, 자기 디스크 드라이브, 광학 매체와 결합된 광학 디스크 드라이브, 솔리드-스테이트 메모리 디바이스, 및 임의의 이들의 조합들을 포함하지만, 이에 제한되지 않는다. 저장 디바이스(1124)는 적절한 인터페이스(도시되지 않음)에 의해 버스(1112)에 연결될 수 있다. 예시적인 인터페이스들은 SCSI, ATA(Advanced Technology Attachment), 직렬 ATA, USB(Universal Serial Bus), IEEE 1394(FIREWIRE) 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는다. 일 예에서, 저장 디바이스(1124)(또는 이들의 하나 이상의 구성요소)는 (예를 들어, 외부 포트 커넥터(도시되지 않음)를 통해) 컴퓨터 시스템(1100)과 제거 가능하게 인터페이스될 수 있다. 특히, 저장 디바이스(1124) 및 연관된 기계-판독가능 매체(1128)는 기계-판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및/또는 컴퓨터 시스템(1100)을 위한 다른 데이터의 비휘발성 및/또는 휘발성 저장을 제공할 수 있다. 일 예에서, 소프트웨어(1120)는 기계-판독가능 매체(1128) 내에 완전히 또는 부분적으로 상주할 수 있다. 다른 예에서, 소프트웨어(1120)는 프로세서(1104) 내에 완전히 또는 부분적으로 상주할 수 있다.
컴퓨터 시스템(1100)은 또한 입력 디바이스(1132)를 포함할 수 있다. 일 예에서, 컴퓨터 시스템(1100)의 사용자는 입력 디바이스(1132)를 통해 커맨드들 및/또는 다른 정보를 컴퓨터 시스템(1100)에 입력할 수 있다. 입력 디바이스(1132)의 예들은 문자숫자식 입력 디바이스(예를 들어, 키보드), 포인팅 디바이스, 조이스틱, 게임패드, 오디오 입력 디바이스(예를 들어, 마이크로폰, 음성 응답 시스템 등), 커서 제어 디바이스(예를 들어, 마우스), 터치패드, 광학 스캐너, 비디오 캡처 디바이스(예를 들어, 스틸 카메라, 비디오 카메라), 터치스크린, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지 않는다. 입력 디바이스(1132)는 직렬 인터페이스, 병렬 인터페이스, 게임 포트, USB 인터페이스, FIREWIRE 인터페이스, 버스(1112)에 대한 직접 인터페이스를 포함하지만 이에 제한되지 않는 다양한 인터페이스들(도시되지 않음), 및 이들의 임의의 조합들 중 임의의 것을 통해 버스(1112)에 인터페이스될 수 있다. 입력 디바이스(1132)는 아래에서 더 논의되는 디스플레이(1136)의 일부이거나 디스플레이(1136)와 별개일 수 있는 터치 스크린 인터페이스를 포함할 수 있다. 입력 디바이스(1132)는 전술된 바와 같이 그래픽 인터페이스에서 하나 이상의 그래픽 표현들을 선택하기 위한 사용자 선택 디바이스로서 활용될 수 있다.
사용자는 또한 저장 디바이스(1124)(예를 들어, 이동식 디스크 드라이브, 플래시 드라이브 등) 및/또는 네트워크 인터페이스 디바이스(1140)를 통해 컴퓨터 시스템(1100)에 커맨드들 및/또는 다른 정보를 입력할 수 있다. 네트워크 인터페이스 디바이스(1140)와 같은 네트워크 인터페이스 디바이스는 컴퓨터 시스템(1100)을 네트워크(1144) 및 이에 연결된 하나 이상의 원격 디바이스들(1148)과 같은 다양한 네트워크들 중 하나 이상에 연결하기 위해 활용될 수 있다. 네트워크 인터페이스 디바이스의 예들은 네트워크 인터페이스 카드(예를 들어, 모바일 네트워크 인터페이스 카드, LAN 카드), 모뎀, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는다. 네트워크의 예들은 광역 네트워크(예를 들어, 인터넷, 기업 네트워크), 근거리 통신망(예를 들어, 사무실, 건물, 캠퍼스 또는 다른 비교적 소규모 지리적 공간), 전화 네트워크, 전화/음성 제공자와 연관된 데이터 네트워크(예를 들어, 모바일 통신 제공자 데이터 및/또는 음성 네트워크), 2 개의 컴퓨팅 디바이스들 간의 직접 연결, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는다. 네트워크(1144)와 같은 네트워크는 유선 및/또는 무선 통신 모드를 이용할 수 있다. 일반적으로, 모든 네트워크 토폴로지가 사용될 수 있다. 정보(예를 들어, 데이터, 소프트웨어(1120) 등)는 네트워크 인터페이스 디바이스(1140)를 통해 컴퓨터 시스템(1100)으로 및/또는 컴퓨터 시스템(600)으로부터 통신될 수 있다.
컴퓨터 시스템(1100)은 디스플레이 디바이스(1136)와 같은 디스플레이 디바이스에 디스플레이가능 이미지를 통신하기 위한 비디오 디스플레이 어댑터(1152)를 더 포함할 수 있다. 디스플레이 디바이스의 예들은 액정 디스플레이(LCD), 음극선관(CRT), 플라즈마 디스플레이, 발광 다이오드(LED) 디스플레이, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는다. 디스플레이 어댑터(1152) 및 디스플레이 디바이스(1136)는 프로세서(1104)와 조합하여 이용되어 본 개시내용의 양태들의 그래픽 표현들을 제공할 수 있다. 디스플레이 디바이스에 추가하여, 컴퓨터 시스템(1100)은 오디오 스피커, 프린터, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는 하나 이상의 다른 주변 출력 디바이스들을 포함할 수 있다. 이러한 주변 출력 디바이스들은 주변 인터페이스(1156)를 통해 버스(1112)에 연결될 수 있다. 주변 인터페이스의 예들은 직렬 포트, USB 연결, FIREWIRE 연결, 병렬 연결, 및 이들의 임의의 조합들을 포함하지만 이에 제한되지 않는다.
이상은 본 발명의 예시적인 실시예들의 상세한 설명이었다. 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정들 및 추가들이 이루어질 수 있다. 전술된 다양한 실시예들 각각의 특징들은 연관된 새로운 실시예들에서 다수의 특징 조합들을 제공하기 위해 적절하게 다른 설명된 실시예들의 특징들과 결합될 수 있다. 또한, 전술한 내용이 다수의 개별 실시예들 설명하지만, 본원에 설명된 것은 단지 본 발명의 원리들의 적용을 예시한다. 추가로, 본원의 특정 방법들이 특정 순서로 수행되는 것으로 예시 및/또는 설명될 수 있지만, 순서는 본 개시내용에 따른 방법들, 시스템 및 소프트웨어를 달성하기 위해 통상의 기술 내에서 매우 가변적이다. 따라서, 이 설명은 단지 예로서 취해져야 하고, 본 발명의 범위를 달리 제한하지 않아야 한다.
예시적인 실시예들은 위에 개시되었고 첨부 도면에 예시되었다. 통상의 기술자가 본 발명의 사상 및 범위를 벗어나지 않고 본원에 구체적으로 개시된 것에 다양한 변경들, 생략들 및 추가들이 이루어질 수 있음을 이해할 것이다.

Claims (54)

  1. 디코더로서,
    제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처(picture)를 포함하는 코딩된 비디오 비트스트림(bitstream)을 수신하고;
    상기 참조 픽처를 디코딩하고;
    상기 비트스트림으로부터 상기 참조 픽처의 서브-구역을 식별하고 ― 상기 서브-구역은 제2 크기를 가지며, 상기 제2 크기는 상기 제1 크기와 상이함 ―;
    리스케일링(rescale)된 참조 픽처를 형성하기 위해 상기 서브-구역을 제3 크기로 리스케일링하고 ― 상기 제3 크기는 상기 제1 크기와 동일함 ―; 그리고
    상기 리스케일링된 참조 픽처를 사용하여 상기 현재 픽처를 디코딩하도록 구성된 회로를 포함하는, 디코더.
  2. 제1 항에 있어서,
    상기 서브-구역은 상단 오프셋, 하단 오프셋, 우측 오프셋 및 좌측 오프셋으로 특징지어지는, 디코더.
  3. 제1 항에 있어서,
    상기 서브-구역을 식별하는 것은, 상기 비트스트림에서, 상기 서브-구역이 존재한다는 표시를 수신하는 것을 더 포함하는, 디코더.
  4. 디코더로서,
    코딩된 제1 참조 픽처 및 코딩된 현재 픽처를 포함하는 코딩된 비디오 비트스트림을 수신하고;
    상기 참조 픽처를 디코딩하고;
    상기 비트 스트림으로부터 상기 참조 픽처의 제1 서브-구역을 식별하고;
    제2 참조 픽처를 형성하기 위해 상기 제1 서브-구역을 변환하고; 그리고
    상기 제2 참조 픽처를 사용하여 상기 현재 픽처를 디코딩하도록 구성된 회로를 포함하는, 디코더.
  5. 제4 항에 있어서,
    상기 현재 픽처는 제1 크기를 갖고, 상기 제1 서브-구역은 상기 제1 크기와 상이한 제2 크기를 가지며, 상기 디코더는 상기 제1 서브-구역을 상기 제1 크기와 동일한 제3 크기로 스케일링함으로써 서브-구역을 변환하도록 구성되는, 디코더.
  6. 제4 항에 있어서,
    상기 디코더는 상기 제1 서브-구역을 트랜슬레이팅(translating)함으로써 상기 제1 서브-구역을 변환하도록 구성되는, 디코더.
  7. 제4 항에 있어서,
    상기 디코더는 아핀 변환(affine transformation)을 적용함으로써 상기 제1 서브-구역을 변환하도록 구성되는, 디코더.
  8. 제1 항에 있어서,
    버퍼에 상기 제1 참조 픽처를 저장하도록 추가로 구성되는, 디코더.
  9. 제8 항에 있어서,
    상기 버퍼는 장기 참조 버퍼를 더 포함하는, 디코더.
  10. 제8항에 있어서,
    상기 버퍼는 참조 픽처 버퍼를 더 포함하는, 디코더.
  11. 제1 항에 있어서,
    상기 디코더는 상기 제1 참조 픽처에서 제2 서브-구역을 찾도록 추가로 구성되는, 디코더.
  12. 제11 항에 있어서,
    상기 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 추가로 구성되는, 디코더.
  13. 제12 항에 있어서,
    버퍼에 상기 제2 독립 참조 구역을 저장하도록 추가로 구성되는, 디코더.
  14. 제1 항에 있어서,
    상기 현재 픽처는 제1 픽처이고, 상기 디코더는 제1 서브-구역 및 제2 서브-구역을 사용하여 제2 픽처를 디코딩하도록 추가로 구성되는, 디코더.
  15. 참조 구역들을 사용하는 비디오 코딩의 방법으로서,
    디코더에 의해, 제1 크기를 갖는 코딩된 참조 픽처 및 코딩된 현재 픽처를 포함하는 코딩된 비디오 비트스트림을 수신하는 단계;
    상기 디코더에 의해, 상기 참조 픽처를 디코딩하는 단계;
    상기 디코더에 의해 상기 비트스트림으로부터, 상기 참조 픽처의 서브-구역을 식별하는 단계 ― 상기 서브-구역은 제2 크기를 가지며, 상기 제2 크기는 상기 제1 크기와 상이함 ―;
    상기 디코더에 의해, 리스케일링된 참조 픽처를 형성하기 위해 상기 서브-구역을 제3 크기로 리스케일링하는 단계 ― 상기 제3 크기는 상기 제1 크기와 동일함 ―; 및
    상기 디코더에 의해, 상기 리스케일링된 참조 픽처를 사용하여 상기 현재 픽처를 디코딩하는 단계를 포함하는, 방법.
  16. 제15 항에 있어서,
    상기 서브-구역은 높이 오프셋, 높이, 길이 오프셋 및 길이로 특징지어지는, 방법.
  17. 제15 항에 있어서,
    상기 서브-구역을 식별하는 단계는, 상기 비트스트림에서, 상기 서브-구역이 존재한다는 표시를 수신하는 단계를 더 포함하는, 방법.
  18. 제15 항에 있어서,
    버퍼에 상기 참조 프레임을 저장하는 단계를 더 포함하는, 방법.
  19. 제18 항에 있어서,
    상기 버퍼는 장기 참조 버퍼를 더 포함하는, 방법.
  20. 제18 항에 있어서,
    상기 버퍼는 참조 픽처 버퍼를 더 포함하는, 방법.
  21. 디코더로서,
    비트스트림을 수신하고;
    제1 프레임을 식별하고;
    상기 제1 프레임 내의 제1 독립 참조 구역을 찾고;
    상기 제1 프레임에서 상기 제1 독립 참조 구역을 추출하고; 그리고
    제2 프레임에 대한 참조로서 상기 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하도록 구성된 회로를 포함하는, 디코더.
  22. 제21 항에 있어서,
    상기 디코더는 상기 비트스트림에서 상기 제1 프레임 내의 독립 참조 구역의 기하학적 특성을 식별함으로써 상기 제1 독립 참조 구역을 찾도록 추가로 구성되는, 디코더.
  23. 제22 항에 있어서,
    상기 제1 독립 참조 구역은 직사각형이고, 상기 기하학적 특성은 상기 제1 독립 참조 구역의 꼭지점들을 특징으로 하는 4 개의 숫자들을 더 포함하는, 디코더.
  24. 제21 항에 있어서,
    상기 제1 독립 참조 구역을 식별하는 것은, 상기 비트스트림에서, 상기 제1 독립 참조 구역이 존재한다는 표시를 수신하는 것을 더 포함하는, 디코더.
  25. 제21 항에 있어서,
    상기 제1 독립 참조 구역은 크기를 갖고, 상기 디코더는 상기 제1 독립 참조 구역과 동일한 크기의 상기 제2 프레임을 디코딩함으로써 상기 제2 프레임을 디코딩하도록 구성되는, 디코더.
  26. 제21 항에 있어서,
    상기 디코더는 상기 제1 독립 참조 구역을 변환함으로써 상기 제2 프레임을 디코딩하도록 구성되는, 디코더.
  27. 제26 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 것은 상기 제1 독립 참조 구역을 스케일링하는 것을 더 포함하는, 디코더.
  28. 제26 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 것은 상기 제1 독립 참조 구역을 뒤집는 것을 더 포함하는, 디코더.
  29. 제26 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 상기 제1 독립 참조 구역을 이동시키는 것을 더 포함하는, 디코더.
  30. 제26 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 것은 비디오 픽처 내의 위치에 대해 상기 제1 독립 참조 구역을 회전시키는 것을 더 포함하는, 디코더.
  31. 제21 항에 있어서,
    버퍼에 상기 제1 프레임을 저장하도록 추가로 구성되는, 디코더.
  32. 제31 항에 있어서,
    상기 버퍼는 장기 참조 버퍼를 더 포함하는, 디코더.
  33. 제31항에 있어서,
    상기 버퍼는 참조 픽처 버퍼를 더 포함하는, 디코더.
  34. 제21 항에 있어서,
    상기 디코더는 상기 제1 프레임에서 제2 참조 구역을 찾도록 추가로 구성되는, 디코더.
  35. 제34 항에 있어서,
    상기 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 상기 제2 프레임을 디코딩하도록 추가로 구성되는, 디코더.
  36. 제35 항에 있어서,
    버퍼에 상기 제2 독립 참조 구역을 저장하도록 추가로 구성되는, 디코더.
  37. 제21 항에 있어서,
    상기 제1 참조 구역 및 제2 참조 구역을 사용하여 제2 프레임을 디코딩하도록 추가로 구성되는, 디코더.
  38. 참조 구역들을 사용하는 비디오 코딩의 방법으로서,
    비트스트림을 수신하는 단계;
    제1 프레임을 식별하는 단계;
    상기 제1 프레임 내의 제1 독립 참조 구역을 찾는 단계;
    상기 제1 프레임에서 상기 제1 독립 참조 구역을 추출하는 단계; 및
    제2 프레임에 대한 참조로서 상기 제1 독립 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 포함하는, 방법.
  39. 제38 항에 있어서,
    상기 제1 독립 참조 구역을 찾는 단계는 상기 비트스트림에서, 상기 제1 프레임 내의 독립 참조 구역의 기하학적 특성을 식별하는 단계를 더 포함하는, 방법.
  40. 제39 항에 있어서,
    상기 제1 독립 참조 구역은 직사각형이고, 상기 기하학적 특성은 상기 제1 독립 참조 구역의 꼭지점들을 특징으로 하는 4 개의 숫자들을 더 포함하는, 방법.
  41. 제38 항에 있어서,
    상기 제1 독립 참조 구역을 식별하는 단계는, 상기 비트스트림에서, 상기 제1 독립 참조 구역이 존재한다는 표시를 수신하는 단계를 더 포함하는, 방법.
  42. 제38 항에 있어서,
    상기 제1 독립 참조 구역은 크기를 갖고, 상기 제2 프레임을 디코딩하는 단계는 상기 제1 독립 참조 구역과 동일한 크기의 상기 제2 프레임을 디코딩하는 단계를 더 포함하는, 방법.
  43. 제38 항에 있어서,
    상기 제1 독립 참조 구역을 변환함으로써 상기 제2 프레임을 디코딩하는 단계를 더 포함하는, 방법.
  44. 제43 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 단계는 상기 제1 독립 참조 구역을 스케일링하는 단계를 더 포함하는, 방법.
  45. 제43 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 단계는 상기 제1 독립 참조 구역을 뒤집는 단계를 더 포함하는, 방법.
  46. 제43 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 단계는 비디오 픽처 내의 위치에 대해 상기 제1 독립 참조 구역을 이동시키는 단계를 더 포함하는, 방법.
  47. 제43 항에 있어서,
    상기 제1 독립 참조 구역을 변환하는 단계는 비디오 픽처 내의 위치에 대해 상기 제1 독립 참조 구역을 회전시키는 단계를 더 포함하는, 방법.
  48. 제38 항에 있어서,
    버퍼에 상기 제1 프레임을 저장하는 단계를 더 포함하는, 방법.
  49. 제48 항에 있어서,
    상기 버퍼는 장기 참조 버퍼를 더 포함하는, 방법.
  50. 제48 항에 있어서,
    상기 버퍼는 참조 픽처 버퍼를 더 포함하는, 방법.
  51. 제48 항에 있어서,
    디코더는 상기 제1 프레임에서 제2 참조 구역을 찾도록 추가로 구성되는, 방법.
  52. 제31 항에 있어서,
    상기 제1 참조 구역 및 제2 독립 참조 구역을 사용하여 상기 제2 프레임을 디코딩하는 단계를 더 포함하는, 방법.
  53. 제35 항에 있어서,
    버퍼에 상기 제2 독립 참조 구역을 저장하는 단계를 더 포함하는, 방법.
  54. 제38 항에 있어서,
    상기 제1 참조 구역 및 제2 참조 구역을 사용하여 제2 프레임을 디코딩하는 단계를 더 포함하는, 방법.
KR1020227037500A 2020-04-14 2021-04-14 참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들 KR20230003491A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063009978P 2020-04-14 2020-04-14
US63/009,978 2020-04-14
PCT/US2021/027183 WO2021211651A1 (en) 2020-04-14 2021-04-14 Methods and systems of video coding using reference regions
US17/229,957 US11356660B2 (en) 2020-04-14 2021-04-14 Methods and systems of video coding using reference regions
US17/229,957 2021-04-14

Publications (1)

Publication Number Publication Date
KR20230003491A true KR20230003491A (ko) 2023-01-06

Family

ID=78006600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037500A KR20230003491A (ko) 2020-04-14 2021-04-14 참조 구역들을 사용하는 비디오 코딩의 방법들 및 시스템들

Country Status (8)

Country Link
US (1) US11356660B2 (ko)
EP (1) EP4136577A4 (ko)
JP (1) JP2023522845A (ko)
KR (1) KR20230003491A (ko)
CN (1) CN115917611B (ko)
BR (1) BR112022020770A2 (ko)
MX (1) MX2022012430A (ko)
WO (1) WO2021211651A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11616955B2 (en) * 2020-07-14 2023-03-28 Avago Technologies International Sales Pte. Limited Signaling of rectangular slices in the VVC video compression standard

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1408696A4 (en) * 2002-07-02 2008-04-09 Matsushita Electric Ind Co Ltd METHOD FOR EVALUATING MOTION VECTORS, METHOD FOR CYCLING A DYNAMIC IMAGE, METHOD FOR DECODING A DYNAMIC IMAGE
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
CN102036070A (zh) * 2005-12-08 2011-04-27 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
KR100900294B1 (ko) * 2006-11-09 2009-05-29 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
CN107277542B (zh) * 2011-02-10 2019-12-10 太阳专利托管公司 动态图像解码方法、动态图像解码装置
WO2013111994A1 (en) * 2012-01-26 2013-08-01 Samsung Electronics Co., Ltd. Image processing method and apparatus for 3d video
US20150085939A1 (en) * 2012-04-13 2015-03-26 Sharp Kabushiki Kaisha Devices for sending and receiving a long-term reference picture indicator
WO2014006854A1 (en) * 2012-07-01 2014-01-09 Sharp Kabushiki Kaisha Device for signaling a long-term reference picture in a parameter set
US9800857B2 (en) * 2013-03-08 2017-10-24 Qualcomm Incorporated Inter-view residual prediction in multi-view or 3-dimensional video coding
CN105284115B (zh) * 2013-04-05 2018-11-23 三星电子株式会社 用于对多层视频进行解码的方法和设备以及用于对多层视频进行编码的方法和设备
US10368097B2 (en) * 2014-01-07 2019-07-30 Nokia Technologies Oy Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures
US10469864B2 (en) * 2014-11-27 2019-11-05 Kt Corporation Method and apparatus for video signal coding using current picture reference flag
MX2018003688A (es) * 2015-09-25 2018-08-01 Huawei Tech Co Ltd Aparato y metodo para compensacion de movimiento de video.
FI20165547A (fi) * 2016-06-30 2017-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
CN114531592A (zh) * 2016-10-04 2022-05-24 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和发送比特流的方法
US10798376B2 (en) * 2018-07-17 2020-10-06 Tencent America LLC Method and apparatus for video coding
WO2020185879A1 (en) * 2019-03-11 2020-09-17 Dolby Laboratories Licensing Corporation Video coding using reference picture resampling supporting region of interest
US11206404B2 (en) * 2019-07-08 2021-12-21 Fastvdo Llc Adaptive resolution change in video streams

Also Published As

Publication number Publication date
US11356660B2 (en) 2022-06-07
WO2021211651A1 (en) 2021-10-21
BR112022020770A2 (pt) 2022-11-29
CN115917611B (zh) 2024-04-26
EP4136577A1 (en) 2023-02-22
MX2022012430A (es) 2022-11-30
US20210321088A1 (en) 2021-10-14
CN115917611A (zh) 2023-04-04
EP4136577A4 (en) 2024-05-01
JP2023522845A (ja) 2023-06-01

Similar Documents

Publication Publication Date Title
JP2022544164A (ja) フレームタイプに基づく適応分解能管理の暗示的信号伝達
US20230129532A1 (en) Adaptive resolution management signaling
US11102498B2 (en) Block-based adaptive resolution management
JP2022529508A (ja) インタ予測における大域的運動制約運動ベクトル
US20240114161A1 (en) Adaptive resolution management using sub-frames
JP2022523309A (ja) 指数関数的分割におけるインター予測
US20240137532A1 (en) Methods and systems for adaptive cropping
JP2022544157A (ja) 適応分解能管理予測再スケーリング
US11356660B2 (en) Methods and systems of video coding using reference regions
US20230388483A1 (en) Methods and Systems of Video Coding Using Reference Regions
WO2021026361A1 (en) Adaptive resolution management using sub-frames
WO2021026334A1 (en) Adaptive resolution management signaling

Legal Events

Date Code Title Description
A201 Request for examination