KR102424140B1 - 적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치 - Google Patents

적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102424140B1
KR102424140B1 KR1020197009038A KR20197009038A KR102424140B1 KR 102424140 B1 KR102424140 B1 KR 102424140B1 KR 1020197009038 A KR1020197009038 A KR 1020197009038A KR 20197009038 A KR20197009038 A KR 20197009038A KR 102424140 B1 KR102424140 B1 KR 102424140B1
Authority
KR
South Korea
Prior art keywords
block
picture
lut
format
mapping
Prior art date
Application number
KR1020197009038A
Other languages
English (en)
Other versions
KR20190052016A (ko
Inventor
파비앙 라까프
프랑크 갈팡
필립 보르드
Original Assignee
인터디지털 매디슨 페턴트 홀딩스 에스에이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 filed Critical 인터디지털 매디슨 페턴트 홀딩스 에스에이에스
Publication of KR20190052016A publication Critical patent/KR20190052016A/ko
Application granted granted Critical
Publication of KR102424140B1 publication Critical patent/KR102424140B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

전방향성 비디오들에 있어서, 렌더링 공간에서의 직선은, 인코딩 공간과 렌더링 공간 사이의 투영 때문에 인코딩될 프레임에서 더 이상 직선으로 보이지 않을 수 있다. 전방향성 비디오의 기하 구조에 적응하기 위해서, 인트라 예측이 비직선 곡선들을 따라 수행된다. 특히, 현재 블록의 이웃하는 재구성된 블록들에서의 참조 샘플들이 비직선 곡선들을 따라 복사되어 현재 블록에 대한 예측된 블록을 형성하게 된다. 비직선 곡선들은 현재 블록에 대한 단일의 인트라 예측 방향성 모드에 기초하여 온라인으로 계산될 수 있다. 비직선 곡선들의 파라미터들은 전방향성 비디오들을 형성하는데 사용되는 매핑, 및 현재 블록의 위치/크기에 기초할 수 있다. 비직선 곡선들은, 룩업 테이블 또는 현재 블록의 위치 및 크기에 의존하는 해석 함수를 이용하여 획득될 수 있다.

Description

적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치
본 실시예들은 일반적으로 비디오 인코딩 및 디코딩을 위한 방법 및 장치에 관한 것으로, 특히, 적응적 인트라 예측에 의한 비디오 인코딩 및 디코딩을 위한 방법 및 장치에 관한 것이다.
최근에, 이용가능한 넓은 시야 콘텐츠(360°까지의 것)의 성장이 있었다. 이러한 콘텐츠는 HMD(Head Mounted Display), 스마트 안경, PC 스크린, 태블릿, 스마트폰 등과 같은 몰입형 디스플레이 디바이스상에서 콘텐츠를 시청하는 사용자에 의해 잠재적으로 완전히 가시적이지는 않다. 이는, 주어진 순간에, 사용자가 콘텐츠의 일부만을 시청하고 있을 수 있다는 것을 의미한다. 그러나, 사용자는 통상적으로 머리 움직임, 마우스 움직임, 터치 스크린, 음성 등과 같은 다양한 수단에 의해 콘텐츠 내에서 탐색할 수 있다. 통상적으로 이 콘텐츠를 인코딩 및 디코딩하는 것이 바람직하다.
본 원리의 일반적인 양태에 따르면, 비디오 데이터를 인코딩하기 위한 방법이 제시되고, 이 방법은 픽처의 제1 블록에 대한 인트라 예측을 위해 방향성 모드에 액세스하는 단계; 제1 블록에 인접한 재구성된 블록들에서 복수의 참조 샘플을 결정하는 단계; 제1 블록에 대한 예측된 블록을 형성하기 위해, 비직선 곡선을 따라, 복수의 참조 샘플 각각을 제1 블록 내의 샘플 위치들의 세트로 전파하는 단계 - 비직선 곡선은 액세스된 방향성 모드에 기초함-; 상기 방향성 모드를 인코딩하는 단계; 및 제1 블록과 예측된 블록 사이의 차이를 인코딩하는 단계를 포함한다.
본 원리의 또 다른 양태에 따르면, 비디오 데이터를 인코딩하기 위한 장치가 제공되고, 이 장치는 적어도 하나의 메모리, 및 픽처의 제1 블록에 대한 인트라 예측을 위해 방향성 모드에 액세스하고; 상기 제1 블록에 인접한 재구성된 블록들에서 복수의 참조 샘플을 결정하고; 제1 블록에 대한 예측된 블록을 형성하기 위해, 비직선 곡선을 따라, 복수의 참조 샘플 각각을 제1 블록 내의 샘플 위치들의 세트로 전파하고- 비직선 곡선은 액세스된 방향성 모드에 기초함-; 상기 방향성 모드를 인코딩하고; 및 제1 블록과 예측된 블록 사이의 차이를 인코딩하도록 구성되는 하나 이상의 프로세서를 포함한다.
픽처는 제1 포맷으로 표현될 수 있고, 픽처와 연관된 획득된 픽처는 제2 포맷으로 표현될 수 있다. 비직선 곡선은 또한 제1 포맷과 제2 포맷 사이의 매핑에 추가로 기초할 수 있다. 제1 포맷은 2D 장방형 포맷일 수 있고, 제2 포맷은 3D 구 포맷 또는 입방체 포맷일 수 있고, 매핑은 등장방형 매핑, 입방체 매핑, 피라미드 매핑, 20면체 매핑 또는 8면체 매핑일 수 있다. 획득된 픽처는 매핑을 통해 픽처를 생성하는데 사용될 수 있다. 제1 포맷과 제2 포맷 사이의 매핑은 비트스트림에서 시그널링될 수 있다.
본 원리의 또 다른 일반적인 양태에 따르면, 비디오 데이터를 디코딩하기 위한 방법이 제시되고, 이 방법은: 픽처의 제1 블록에 대한 인트라 예측을 위해 방향성 모델에 액세스하는 단계; 제1 블록에 인접한 디코딩된 블록들에서 복수의 참조 샘플을 결정하는 단계; 제1 블록에 대한 예측된 블록을 형성하기 위해, 비직선 곡선을 따라, 복수의 참조 샘플 각각을 제1 블록 내의 샘플 위치들의 세트로 전파하는 단계 - 비직선 곡선은 액세스된 방향성 모드에 기초함-; 및 예측 블록을 이용하여 제1 블록을 디코딩하는 단계를 포함한다.
본 원리의 또 다른 양태에 따르면, 비디오 데이터를 디코딩하기 위한 장치가 제공되며, 이 디바이스는 적어도 하나의 메모리, 및 픽처의 제1 블록에 대한 인트라 예측을 위해 방향성 모델에 액세스하고; 상기 제1 블록에 인접한 디코딩된 블록들에서 복수의 참조 샘플을 결정하고; 제1 블록에 대한 예측된 블록을 형성하기 위해, 비직선 곡선을 따라, 복수의 참조 샘플 각각을 제1 블록 내의 샘플 위치들의 세트로 전파하고- 비직선 곡선은 액세스된 방향성 모드에 기초함-; 및 예측 블록을 이용하여 제1 블록을 디코딩하도록 구성된 하나 이상의 프로세서를 포함한다.
디코딩된 픽처는 제1 포맷으로 표현될 수 있고, 디코딩된 픽처와 연관된 디스플레이 픽처는 제2 포맷으로 표현될 수 있다. 비직선 곡선은 또한 제1 포맷과 제2 포맷 사이의 매핑에 추가로 기초할 수 있다. 제1 포맷은 2D 장방형 포맷일 수 있고, 제2 포맷은 3D 구 포맷 또는 입방체 포맷일 수 있고, 매핑은 등장방형 매핑, 입방체 매핑, 피라미드 매핑, 20면체 매핑 또는 8면체 매핑일 수 있다. 디코딩된 픽처는 역 매핑을 통해 디스플레이 픽처를 생성하는 데 사용될 수 있다.
예측을 위한 참조 샘플들을 결정하기 위해, 제1 블록에서의 제1 샘플 위치가 렌더링 공간에서 제2 블록에서의 제2 샘플 위치에 매핑될 수 있고 - 렌더링 공간에서의 제2 블록이 픽처에서의 제1 블록에 대응함-, 제2 블록에 인접한 제3 위치가 제2 샘플 위치 및 방향성 모드에 기초하여 렌더링 공간에서 결정될 수 있고; 이후, 제3 위치는 픽처에서의 제1 블록에 인접한 제4 위치에 매핑될 수 있고, 제4 위치에서의 샘플은 블록에서의 제1 샘플 위치를 예측하기 위한 참조 샘플로서 이용된다. 방향성 모드에 대응하는 방향은 렌더링 공간에서 또 다른 방향으로 변환될 수 있고, 제2 블록에 인접한 제3 위치는 또 다른 방향에 기초하여 결정될 수 있다.
계산을 가속화하기 위해, 룩업 테이블이 예측될 제1 블록에서의 샘플 위치를 대응하는 참조 샘플 위치와 연관시킬 수 있다. 룩업(look-up)은 방향성 모드 및 픽처에서의 제1 블록의 위치 및 크기에 의존할 수 있다. 제2 블록에 대한 룩업 테이블은 제2 블록이 제1 블록보다 작을 때 제1 블록에 대한 룩업 테이블의 하위 부분, 예로서 좌상 부분일 수 있다.
또 다른 실시예에서, 함수는 예측될 제1 블록에서의 샘플 위치를 대응하는 참조 샘플 위치와 연관시킬 수 있고, 여기서 함수의 하나 이상의 파라미터는 방향성 모드 및 픽처에서의 제1 블록의 위치 및 크기에 의존할 수 있다.
본 원리의 또 다른 양태에 따르면, 비트스트림은 픽처의 제1 블록에 대해 인코딩된 인트라 예측을 위한 방향성 모드; 및 픽처의 제1 블록과 제1 블록에 대한 예측된 블록 사이의 차이의 인코딩을 포함하고, 상기 예측 블록은 비직선 곡선을 따라, 복수의 참조 샘플 각각을 제1 블록 내의 샘플 위치들의 세트에 전파함으로써 형성되고, 비직선 곡선은 액세스된 방향성 모드에 기초하고, 복수의 참조 샘플은 제1 블록에 인접한 재구성된 블록들에 있다.
본 실시예들은 또한 전술한 방법들에 따라 비디오 데이터를 인코딩하고 또는 디코딩하기 위한 장치를 제공한다. 본 실시예들은 또한 전술한 방법들에 따라 생성된 비트스트림을 전송하기 위한 장치를 제공한다.
본 실시예들은 또한 전술한 방법들에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 또한, 본 실시예들은 전술된 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
도 1은 본 원리의 일 실시예에 따라 전방향성 비디오를 인코딩 및 디코딩하기 위한 예시적인 시스템을 도해한다.
도 2a는 예시적인 구 면 S가 등장방형 투영을 이용하여 2D 프레임 F에 매핑되고, 도 2b는 예시적인 입방체 면이 입방체 매핑을 이용하여 도 2c에 도시된 바와 같은 2D 프레임에 매핑되는 것을 도시한다.
도 3a, 도 3b, 도 3c, 및 도 3d는 예시적인 역 등장방형 매핑을 도해한다.
도 4a는 포인트가 3D 면으로부터 렌더링된 프레임 G로 투영되는 것을 도시하고, 도 4b는 투영의 근사화를 도시한다.
도 5는 예시적인 HEVC 비디오 인코더의 블록도를 도해한다.
도 6a는 HEVC에서 이용 가능한 35개의 인트라 예측 모드의 세트를 도시하고, 도 6b는 각도 예측 모드에 의해 표시된 방향을 따라 참조 샘플들이 복사되는 것을 도시한다.
도 7은 예시적인 HEVC 비디오 디코더의 블록도를 도해한다.
도 8은 렌더링된 프레임에서의 직선이 인코딩될 프레임에서 직선으로 보이지 않는 예를 도해한다.
도 9는 본 원리의 일 실시예에 따라 인트라 예측기를 로케이트하기 위한 예시적인 구현을 도해한다.
도 10은 본 원리의 일 실시예에 따른, 인트라 예측을 위한 인트라 예측기들을 로케이트하기 위한 예시적인 방법을 도해한다.
도 11a는 화살표로 도시된, 블록의 중심에서 특정 방향에 대해 유도된 곡선들의 예를 도시하고, 도 11b는 곡선들을 따른 인트라 예측의 또 다른 예들을 도시한다.
도 12는 본 원리들의 예시적인 실시예에 따른, 인코더 측에서 전방향성 비디오에 적응되는 인트라 예측을 수행하는 예시적인 방법을 도시한다.
도 13은 HEVC에 대한 평면 모드를 도해한다.
도 14는 상이한 예측 각도들에 대한 등장방형 매핑에 대한 제안된 새로운 방향성 인트라 모드들을 이용하는 예측의 예를 도시한다.
도 15는 등장방형 프레임에서의 예시적인 블록을 도시한다.
도 16은 참조 샘플들의 위치들을 도시한다.
도 17은 본 원리들의 예시적인 실시예들의 다양한 양태들이 구현될 수 있는 예시적인 시스템의 블록도를 도해한다.
도 18은 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 19는 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 20은 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 21은 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 22는 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 23은 본 원리들의 특정 실시예에 따른 시스템의 제1 실시예를 나타낸다.
도 24는 본 원리들에 따른 시스템의 제1 실시예를 나타낸다.
도 25는 본 원리들에 따른 시스템의 제1 실시예를 나타낸다.
도 26은 본 원리들에 따른 몰입형 비디오 렌더링 디바이스의 제1 실시예를 나타낸다.
도 27은 본 원리들에 따른 몰입형 비디오 렌더링 디바이스의 제1 실시예를 나타낸다.
도 28은 본 원리들에 따른 몰입형 비디오 렌더링 디바이스의 제1 실시예를 나타낸다
넓은 시야 콘텐츠는, 무엇보다도, 3D CGI 장면(three-dimension computer graphic imagery scene), 포인트 클라우드 또는 몰입형 비디오일 수 있다. 예로서, 가상 현실(VR), 360, 파노라마, 4π, 스테라디안, 몰입형, 전방향성, 넓은 시야와 같은 많은 용어들이 그러한 몰입형 비디오들을 설계하기 위해 사용될 수 있다.
몰입형 비디오는 통상적으로 "정규" 비디오와 같이 픽셀들(즉, 컬러 정보의 요소)의 2차원 어레이인 장방형 프레임상에 인코딩된 비디오를 지칭한다. 많은 구현들에서, 다음의 프로세스들이 수행될 수 있다. 렌더링되기 위해, 프레임은 먼저 매핑 면이라고도 불리는 볼록 볼륨(예로서, 구, 입방체, 피라미드)의 내면상에 매핑되고, 둘째로, 이 볼륨의 일부가 가상 카메라에 의해 캡처된다. 가상 카메라에 의해 캡처된 이미지들은 몰입형 디스플레이 디바이스의 스크린상에 렌더링된다. 입체 비디오가 하나 또는 2개의 장방형 프레임상에 인코딩되고, 디바이스의 특징들에 따라 2개의 가상 카메라들에 의해 캡처되도록 조합되는 2개의 매핑 면상에 투영된다.
픽셀들은 프레임에서의 매핑 함수에 따라 인코딩될 수 있다. 매핑 함수는 매핑 면에 의존할 수 있다. 동일한 매핑 면에 대해, 여러 매핑 함수가 가능하다. 예로서, 입방체의 면들은 프레임 면 내의 상이한 레이아웃들에 따라 구조화될 수 있다. 구가 예로서, 등장방형 투영법 또는 심사(gnomonic) 투영법에 따라 매핑될 수 있다. 선택된 투영 함수로부터 생기는 픽셀들의 조직은 라인 연속성들, 직교정규 로컬 프레임, 픽셀 밀도들을 수정하거나 분할하고, 시간 및 공간에서 주기성을 도입한다. 이들은 비디오들을 인코딩 및 디코딩하는데 사용되는 전형적인 특징이다. 기존의 인코딩 및 디코딩 방법은 보통은 몰입형 비디오의 특이성을 고려하지 않는다. 실제로, 몰입형 비디오들은 360°비디오일 수 있으므로, 패닝(panning)은, 예로서 장면의 콘텐츠가 변하지 않는 동안 인코딩될 많은 양의 데이터를 요구하는 움직임 및 불연속들을 도입한다. 비디오 프레임들을 인코딩 및 디코딩하는 동안 몰입형 비디오 특이성들을 고려하면 인코딩 또는 디코딩 방법들에 귀중한 장점들을 가져올 것이다.
도 1은 예시적인 실시예에 따른 인코딩 및 디코딩 시스템의 일반적인 개요를 도해한다. 도 1의 시스템은 기능적 시스템이다. 전처리 모듈(110)은 인코딩 디바이스(120)에 의한 인코딩을 위한 콘텐츠를 준비할 수 있다. 전처리 모듈(110)은 다중 이미지 획득, 공통 공간(전형적으로 방향들을 인코딩하는 경우 통상적으로 3D 구)에서의 획득된 다중 이미지의 병합, 및 예로서 등장방형 매핑 또는 입방체 매핑을 이용하여(이것에만 제한되지는 않음) 3D 구의 2D 프레임으로의 매핑을 수행할 수 있다. 전처리 모듈(110)은 또한 특정 포맷(예로서, 등장방형)에서의 전방향성 비디오를 입력으로서 수용하고, 비디오를 전처리하여 인코딩에 더 적합한 포맷으로 매핑을 변경할 수 있다. 획득된 비디오 데이터 표현에 의존하여, 전처리 모듈(110)은 매핑 공간 변경을 수행할 수 있다.
인코딩 디바이스(120) 및 인코딩 방법은 본 명세서의 다른 도면들과 관련하여 설명될 것이다. 인코딩된 후에, 예로서, 몰입형 비디오 데이터 또는 3D CGI 인코딩된 데이터를 인코딩할 수 있는 데이터는 네트워크 인터페이스(130)에 송신되는데, 이것은 통상적으로, 예로서, 게이트웨이에 존재하는 임의의 네트워크 인터페이스에서 구현될 수 있다. 이후, 데이터는 인터넷과 같은 통신 네트워크를 통해 전송되는데, 임의의 다른 네트워크가 예견될 수 있다. 이후, 데이터는 네트워크 인터페이스(140)를 통해 수신된다. 네트워크 인터페이스(140)는 게이트웨이에서, 텔레비전에서, 셋톱 박스에서, 헤드 마운트 디스플레이 디바이스에서, 몰입형(투영) 벽에서, 또는 임의의 몰입형 비디오 렌더링 디바이스에서 구현될 수 있다.
수신 후에, 데이터는 디코딩 디바이스(150)에 송신된다. 디코딩 기능은 이하의 도 18 내지 도 28에서 설명된 처리 기능들 중 하나이다. 이후, 디코딩된 데이터는 플레이어(160)에 의해 처리된다. 플레이어(160)는 렌더링 디바이스(170)를 위한 데이터를 준비하고, 센서들 또는 사용자 입력 데이터로부터 외부 데이터를 수신할 수 있다. 더 정확하게는, 플레이어(160)는 렌더링 디바이스(170)에 의해 디스플레이될 비디오 콘텐츠의 부분을 준비한다. 디코딩 디바이스(150) 및 플레이어(160)는 단일 디바이스(예로서, 스마트폰, 게임 콘솔, STB, 태블릿, 컴퓨터 등)에 통합될 수 있다. 다른 실시예들에서, 플레이어(160)는 렌더링 디바이스(170)에 통합될 수 있다.
예로서, 몰입형 비디오를 렌더링할 때, 몰입형 디스플레이 디바이스의 디코딩, 재생 및 렌더링 기능들을 수행하기 위해 여러 유형의 시스템이 구상될 수 있다.
증강 현실, 가상 현실, 또는 증강 가상 콘텐츠를 처리하기 위한 제1 시스템이 도 18 내지 도 22에 도시된다. 이러한 시스템은 처리 기능들 및 예로서 HMD(head mounted display), 태블릿 또는 스마트폰일 수 있는 몰입형 비디오 렌더링 디바이스를 포함하고, 센서들을 포함할 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 디스플레이 디바이스와 처리 기능들 사이의 추가적인 인터페이스 모듈들을 포함할 수 있다. 처리 기능들은 하나 또는 여러 개의 디바이스에 의해 수행될 수 있다. 이들은 몰입형 비디오 렌더링 디바이스 내에 통합될 수 있거나, 또는 이들은 하나 또는 여러 개의 처리 디바이스에 통합될 수 있다. 처리 디바이스는 하나 또는 여러 개의 프로세서, 및 무선 또는 유선 통신 인터페이스와 같은 몰입형 비디오 렌더링 디바이스와의 통신 인터페이스를 포함한다.
처리 디바이스는 또한 인터넷과 같은 광역 액세스 네트워크와의 제2 통신 인터페이스를 포함하고, 직접적으로 또는 홈 또는 로컬 게이트웨이와 같은 네트워크 디바이스를 통해 클라우드상에 위치한 콘텐츠에 액세스할 수 있다. 처리 디바이스는 또한 이더넷 타입의 로컬 액세스 네트워크 인터페이스와 같은 제3 인터페이스를 통해 로컬 저장 디바이스에 액세스할 수 있다. 일 실시예에서, 처리 디바이스는 하나 또는 여러 개의 처리 유닛을 갖는 컴퓨터 시스템일 수 있다. 또 다른 실시예에서, 이것은 몰입형 비디오 렌더링 디바이스에 유선 또는 무선 링크들을 통해 접속될 수 있거나 또는 몰입형 비디오 렌더링 디바이스의 하우징에 삽입될 수 있고 커넥터를 통해 또는 무선으로도 통신하는 스마트폰일 수 있다. 처리 디바이스의 통신 인터페이스는 유선 인터페이스(예로서, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스(예로서, IEEE 802.11 인터페이스 또는 Bluetooth® 인터페이스와 같은 것)이다.
처리 기능들이 몰입형 비디오 렌더링 디바이스에 의해 수행될 때, 몰입형 비디오 렌더링 디바이스는 콘텐츠를 수신 및/또는 송신하기 위해 직접적으로 또는 게이트웨이를 통해 네트워크에의 인터페이스를 제공받을 수 있다.
또 다른 실시예에서, 시스템은 몰입형 비디오 렌더링 디바이스와 및 처리 디바이스와 통신하는 보조 디바이스를 포함한다. 이러한 실시예에서, 이 보조 디바이스는 처리 기능들 중 적어도 하나를 포함할 수 있다.
몰입형 비디오 렌더링 디바이스는 하나 또는 여러 개의 디스플레이를 포함할 수 있다. 디바이스는 그 디스플레이 각각의 전면에 렌즈들과 같은 광학계들을 채택할 수 있다. 디스플레이는 또한 스마트폰들 또는 태블릿들의 경우에서와 같이 몰입형 디스플레이 디바이스의 일부일 수 있다. 또 다른 실시예에서, 디스플레이들 및 광학계들은 헬멧, 안경, 또는 사용자가 착용할 수 있는 바이저(visor)에 내장될 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 여러 개의 센서를 이후에 설명하는 대로 통합할 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 여러 개의 인터페이스 또는 커넥터를 포함할 수 있다. 이것은 센서들, 처리 기능들, 핸드헬드 또는 다른 보디 부분 관련 디바이스들 또는 센서들과 통신하기 위해 하나 또는 여러 개의 무선 모듈을 포함할 수 있다.
몰입형 비디오 렌더링 디바이스는 또한 하나 또는 여러 개의 프로세서에 의해 실행되고 콘텐츠를 디코딩하거나 콘텐츠를 처리하도록 구성된 처리 기능들을 포함할 수 있다. 여기서 콘텐츠를 처리함으로써, 디스플레이될 수 있는 콘텐츠를 준비하는 모든 기능들이 이해된다. 이는, 예로서, 콘텐츠를 디코딩하는 것, 콘텐츠를 디스플레이하기 전에 콘텐츠를 병합하는 것, 및 디스플레이 디바이스에 맞도록 콘텐츠를 수정하는 것을 포함할 수 있다.
몰입형 콘텐츠 렌더링 디바이스의 하나의 기능은 가상 볼륨으로서 구조화된 콘텐츠의 적어도 일부를 캡처하는 가상 카메라를 제어하는 것이다. 시스템은 가상 카메라의 자세를 처리하기 위해, 사용자의 자세, 예로서, 사용자의 머리의 자세를 완전히 또는 부분적으로 추적하는 자세 추적 센서들을 포함할 수 있다. 일부 포지셔닝 센서들은 사용자의 변위를 추적할 수 있다. 시스템은 또한 예로서 조명, 온도 또는 소리 조건들을 측정하기 위한 환경에 관련된 다른 센서들을 포함할 수 있다. 이러한 센서들은 또한 예로서, 땀 또는 심박수를 측정하기 위해 사용자들의 신체들과 관계될 수 있다. 이러한 센서들을 통해 획득된 정보는 콘텐츠를 처리하는 데 사용될 수 있다. 시스템은 또한 사용자 입력 디바이스들(예로서, 마우스, 키보드, 리모콘, 조이스틱)을 포함할 수 있다. 사용자 입력 디바이스들로부터의 정보는 콘텐츠를 처리하거나, 사용자 인터페이스들을 관리하거나, 가상 카메라의 자세를 제어하는 데 사용될 수 있다. 센서들 및 사용자 입력 디바이스들은 유선 또는 무선 통신 인터페이스들을 통해 처리 디바이스와 및/또는 몰입형 렌더링 디바이스와 통신한다.
도 18 내지 도 22를 이용하여, 증강 현실, 가상 현실, 증강 가상 또는 증강 현실부터 가상 현실까지의 임의의 콘텐츠를 디스플레이하기 위한 이러한 제1 유형의 시스템의 몇몇 실시예들이 설명된다.
도 18은 몰입형 비디오들을 디코딩, 처리 및 렌더링하도록 구성된 시스템의 특정 실시예를 도해한다. 시스템은 몰입형 비디오 렌더링 디바이스(10), 센서들(20), 사용자 입력 디바이스들(30), 컴퓨터(40) 및 게이트웨이(50)(선택적)를 포함한다.
도 26에 도해된 몰입형 비디오 렌더링 디바이스(10)는 디스플레이(101)를 포함한다. 디스플레이는, 예로서, OLED 또는 LCD 타입이다. 몰입형 비디오 렌더링 디바이스(10) 는, 예로서, HMD, 태블릿 또는 스마트폰이다. 디바이스(10)는
터치 표면(102)(예로서, 터치패드 또는 촉각 스크린), 카메라(103), 적어도 하나의 프로세서(104)와 접속 상태에 있는 메모리(105) 및 적어도 하나의 통신 인터페이스(106)를 포함할 수 있다. 적어도 하나의 프로세서(104)는 센서들(20)로부터 수신된 신호들을 처리한다.
센서들로부터의 측정들의 일부는 디바이스의 자세를 계산하고 가상 카메라를 제어하기 위해 사용된다. 자세 추정을 위해 사용되는 센서들은, 예로서, 자이로스코프, 가속도계 또는 나침반이다. 예로서, 카메라들의 리그를 이용하는 더 복잡한 시스템들이 또한 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 디바이스(10)의 자세를 추정하기 위해 이미지 처리를 수행한다. 환경 조건들 또는 사용자의 반응들에 따라 콘텐츠를 처리하기 위해 일부 다른 측정들이 사용된다. 환경 및 사용자들을 관찰하기 위해 사용되는 센서들은 예로서, 마이크로폰들, 광 센서 또는 접촉 센서들이다. 더 복잡한 시스템들이 또한 예로서 사용자의 눈들을 추적하는 비디오 카메라처럼 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 예상된 측정을 동작시키기 위해 이미지 처리를 수행한다. 센서들(20) 및 사용자 입력 디바이스들(30)로부터의 데이터는 또한 이러한 센서들의 입력에 따라 데이터를 처리할 컴퓨터(40)에 전송될 수 있다.
메모리(105)는 프로세서(104)에 대한 파라미터들 및 코드 프로그램 명령어들을 포함한다. 메모리(105)는 또한 센서들(20) 및 사용자 입력 디바이스들(30)로부터 수신된 파라미터들을 포함할 수 있다. 통신 인터페이스(106)는 몰입형 비디오 렌더링 디바이스가 컴퓨터(40)와 통신할 수 있게 한다. 처리 디바이스의 통신 인터페이스(106)는 유선 인터페이스들(예로서, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스들(IEEE 802.11 인터페이스 또는 Bluetooth® 인터페이스와 같은 것)일 수 있다.
컴퓨터(40)는 데이터 및 선택적으로 제어 명령들을 몰입형 비디오 렌더링 디바이스(10)에 송신한다. 컴퓨터(40)는 데이터를 처리하는 것을 담당하는데, 즉, 몰입형 비디오 렌더링 디바이스(10)에 의한 디스플레이를 위해 이들을 준비한다. 처리는 컴퓨터(40)에 의해 배타적으로 행해질 수 있거나, 또는 처리의 일부는 컴퓨터에 의해 행해질 수 있고 일부는 몰입형 비디오 렌더링 디바이스(10)에 의해 행해질 수 있다. 컴퓨터(40)는 직접적으로 또는 게이트웨이 또는 네트워크 인터페이스(50)를 통해 인터넷에 접속된다. 컴퓨터(40)는 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 수신하고, 이들 데이터를 처리하고(예로서, 이들을 디코딩하고 가능하게는 몰입형 비디오 렌더링 디바이스(10)에 의해 디스플레이될 비디오 콘텐츠의 부분을 준비함), 처리된 데이터를 디스플레이를 위해 몰입형 비디오 렌더링 디바이스(10)에 송신한다. 또 다른 실시예에서, 시스템은 또한 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현되지 않음)를 포함할 수 있고, 상기 로컬 저장 디바이스는 컴퓨터(40)상에 또는 예로서(표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버상에 있을 수 있다.
도 19는 제2 실시예를 나타낸다. 이 실시예에서, STB(90)는 인터넷과 같은 네트워크에 직접적으로(즉, STB(90)는 네트워크 인터페이스를 포함함) 또는 게이트웨이(50)를 통해 접속된다. STB(90)는 무선 인터페이스를 통해 또는 유선 인터페이스를 통해 텔레비전 세트(100) 또는 몰입형 비디오 렌더링 디바이스(200)와 같은 렌더링 디바이스들에 접속된다. STB의 고전적인 기능들에 더하여, STB(90)는 텔레비전(100)상에서 또는 임의의 몰입형 비디오 렌더링 디바이스(200)상에서 렌더링하기 위해 비디오 콘텐츠를 처리하기 위한 처리 기능들을 포함한다. 이러한 처리 기능들은 컴퓨터(40)에 대해 설명되는 것들과 동일하며, 여기서 다시 설명되지 않는다. 센서들(20) 및 사용자 입력 디바이스들(30)은 또한 도 18과 관련하여 전술한 것들과 동일한 타입의 것이다. STB(90)는 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득한다. 또 다른 실시예에서, STB(90)는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현 안됨)로부터 몰입형 비디오를 나타내는 데이터를 획득한다.
도 20은 도 18에 표현된 것과 관계된 제3 실시예를 나타낸다. 게임 콘솔(60)은 콘텐츠 데이터를 처리한다. 게임 콘솔(60)은 데이터 및 선택적으로 제어 명령들을 몰입형 비디오 렌더링 디바이스(10)에 송신한다. 게임 콘솔(60)은 몰입형 비디오를 나타내는 데이터를 처리하고 및 처리된 데이터를 디스플레이를 위해 몰입형 비디오 렌더링 디바이스(10)에 송신하도록 구성된다. 처리는 게임 콘솔(60)에 의해 배타적으로 행해질 수 있거나 또는 처리의 일부가 몰입형 비디오 렌더링 디바이스(10)에 의해 행해질 수 있다.
게임 콘솔(60)은 직접적으로 또는 게이트웨이 또는 네트워크 인터페이스(50)를 통해 인터넷에 접속된다. 게임 콘솔(60)은 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득한다. 또 다른 실시예에서, 게임 콘솔(60)은 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현 안됨)로부터 몰입형 비디오를 나타내는 데이터를 획득하는데, 상기 로컬 저장 디바이스는 게임 콘솔(60)상에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버상에 있을 수 있다.
게임 콘솔(60)은 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 수신하고, 이들 데이터를 처리하고(예로서, 이들을 디코딩하고, 가능하게는 디스플레이될 비디오의 부분을 준비함), 처리된 데이터를 디스플레이를 위해 몰입형 비디오 렌더링 디바이스(10)에 송신한다. 게임 콘솔(60)은 센서들(20) 및 사용자 입력 디바이스들(30)로부터 데이터를 수신할 수 있고, 인터넷으로부터 또는 로컬 저장 디바이스로부터 획득된 몰입형 비디오를 나타내는 데이터를 처리하기 위해 이들을 이용할 수 있다.
도 21은 몰입형 비디오 렌더링 디바이스(70)가 하우징(705)에 삽입된 스마트폰(701)에 의해 형성되는 상기 제1 타입의 시스템의 제4 실시예를 나타낸다. 스마트폰(701)은 인터넷에 접속될 수 있고, 따라서 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득할 수 있다. 또 다른 실시예에서, 스마트폰(701)은 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현 안됨)로부터 몰입형 비디오를 나타내는 데이터를 획득하는데, 상기 로컬 저장 디바이스는 스마트폰(701)상에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버상에 있을 수 있다.
몰입형 비디오 렌더링 디바이스(70)는 몰입형 비디오 렌더링 디바이스(70)의 바람직한 실시예를 제공하는 도 27을 참조하여 설명된다. 그것은 선택적으로 스마트폰(701)을 위한 적어도 하나의 네트워크 인터페이스(702) 및 하우징(705)을 포함한다. 스마트폰(701)은 스마트폰 및 디스플레이의 모든 기능들을 포함한다. 스마트폰의 디스플레이는 몰입형 비디오 렌더링 디바이스(70) 디스플레이로서 사용된다. 따라서, 스마트폰(701)의 것 이외의 어떤 디스플레이도 포함되지 않는다. 그러나, 스마트폰 디스플레이상의 데이터를 보기 위해 렌즈들과 같은 광학계(704)가 포함된다. 스마트폰(701)은 가능하게는 센서들(20)로부터 그리고 사용자 입력 디바이스들(30)로부터 수신된 데이터에 따라 몰입형 비디오를 나타내는 데이터를 처리하도록(예로서, 디스플레이를 위해 디코딩하고 준비하도록) 구성된다. 센서들로부터의 측정들 중 일부는 디바이스의 자세를 계산하고 또한 가상 카메라를 제어하는데 사용된다. 자세 추정을 위해 사용되는 센서들은, 예로서, 자이로스코프, 가속도계 또는 나침반이다. 예로서, 카메라들의 리그를 이용하는 더 복잡한 시스템들이 또한 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 디바이스(10)의 자세를 추정하기 위해 이미지 처리를 수행한다. 환경 조건들 또는 사용자의 반응들에 따라 콘텐츠를 처리하기 위해 일부 다른 측정들이 사용된다. 환경 및 사용자들을 관찰하기 위해 사용되는 센서들은 예로서, 마이크로폰들, 광 센서 또는 접촉 센서들이다. 더 복잡한 시스템들이 또한 예로서 사용자의 눈들을 추적하는 비디오 카메라처럼 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 예상된 측정을 동작시키기 위해 이미지 처리를 수행한다.
도 22는 몰입형 비디오 렌더링 디바이스(80)가 데이터 콘텐츠를 처리하고 디스플레이하기 위한 모든 기능성을 포함하는 상기 제1 유형의 시스템의 제5 실시예를 나타낸다. 시스템은 몰입형 비디오 렌더링 디바이스(80), 센서들(20) 및 사용자 입력 디바이스들(30)을 포함한다. 몰입형 비디오 렌더링 디바이스(80)는 가능하게는 센서들(20)로부터 그리고 사용자 입력 디바이스들(30)로부터 수신된 데이터에 따라 몰입형 비디오를 나타내는 데이터를 처리하도록(예로서, 디스플레이를 위해 디코딩 및 준비하도록) 구성된다. 몰입형 비디오 렌더링 디바이스(80)는 인터넷에 접속될 수 있고, 따라서 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득할 수 있다. 또 다른 실시예에서, 몰입형 비디오 렌더링 디바이스(80)는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현되지 않음)로부터 몰입형 비디오 데이터를 나타내는 데이터를 획득하는데, 상기 로컬 저장 디바이스는 렌더링 디바이스(80)상에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버상에 있을 수 있다.
몰입형 비디오 렌더링 디바이스(80)는 도 28에 도해되어 있다. 몰입형 비디오 렌더링 디바이스는 디스플레이(801)를 포함한다. 디스플레이는 예로서 OLED 또는 LCD 타입일 수 있고, 터치패드(선택적)(802), 카메라(선택적)(803), 적어도 하나의 프로세서(804)와 접속되는 메모리(805) 및 적어도 하나의 통신 인터페이스(806)가 있다. 메모리(805)는 프로세서(804)를 위한 파라미터들 및 코드 프로그램 명령어들을 포함한다. 메모리(805)는 또한 센서들(20) 및 사용자 입력 디바이스들(30)로부터 수신된 파라미터들을 포함할 수 있다. 메모리는 또한 몰입형 비디오 콘텐츠를 나타내는 데이터를 저장하기에 충분히 클 수 있다. 이러한 여러 유형의 메모리들이 존재할 수 있고 메모리(805)는 단일 메모리일 수 있거나 여러 유형의 저장 디바이스(SD 카드, 하드 디스크, 휘발성 또는 비휘발성 메모리)일 수 있다. 통신 인터페이스(806)는 몰입형 비디오 렌더링 디바이스가 인터넷 네트워크와 통신할 수 있게 한다. 프로세서(804)는 디스플레이(801)에 이들을 디스플레이하기 위해 비디오를 나타내는 데이터를 처리한다. 카메라(803)는 이미지 처리 단계를 위해 환경의 이미지들을 캡처한다. 몰입형 비디오 렌더링 디바이스를 제어하기 위해 이 단계로부터 데이터가 추출된다.
증강 현실, 가상 현실, 또는 증강 가상 콘텐츠를 처리하기 위한 제2 시스템이 도 23 내지 도 25에 도해되어 있다. 이러한 시스템은 몰입형 벽을 포함한다.
도 23은 제2 유형의 시스템을 나타낸다. 이것은 컴퓨터(4000)로부터 데이터를 수신하는 몰입형(투영) 벽인 디스플레이(1000)를 포함한다. 컴퓨터(4000)는 인터넷으로부터 몰입형 비디오 데이터를 수신할 수 있다. 컴퓨터(4000)는 보통은 인터넷에 직접적으로 또는 게이트웨이(5000) 또는 네트워크 인터페이스를 통해 접속된다. 또 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현되지 않음)로부터 컴퓨터(4000)에 의해 획득되는데, 상기 로컬 저장 디바이스는 컴퓨터(4000)에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버에 있을 수 있다.
이 시스템은 또한 센서들(2000) 및 사용자 입력 디바이스들(3000)을 포함할 수 있다. 몰입형 벽(1000)은 OLED 또는 LCD 타입일 수 있다. 이것은 하나 또는 여러 개의 카메라를 구비할 수 있다. 몰입형 벽(1000)은 센서(2000)(또는 복수의 센서(2000))로부터 수신된 데이터를 처리할 수 있다. 센서들(2000)로부터 수신된 데이터는 조명 조건들, 온도, 사용자의 환경, 예를 들어 물체들의 위치에 관계될 수 있다.
몰입형 벽(1000)은 또한 사용자 입력 디바이스들(3000)로부터 수신된 데이터를 처리할 수 있다. 사용자 입력 디바이스들(3000)은 사용자 감정에 대한 피드백을 제공하기 위해서 햅틱 신호들과 같은 데이터를 송신한다. 사용자 입력 디바이스들(3000)의 예는 스마트폰, 리모콘, 및 자이로스코프 기능을 갖는 디바이스와 같은 핸드헬드 디바이스이다.
센서들(2000) 및 사용자 입력 디바이스들(3000) 데이터도 컴퓨터(4000)에 전송될 수 있다. 컴퓨터(4000)는 이들 센서/사용자 입력 디바이스로부터 수신된 데이터에 따라 비디오 데이터를 처리할 수 있다(예로서, 이들을 디코딩하고 디스플레이를 위해 이들을 준비하는 것). 센서 신호들은 몰입형 벽의 통신 인터페이스를 통해 수신될 수 있다. 이 통신 인터페이스는 블루투스 타입, WIFI 타입 또는 임의의 다른 타입의 접속일 수 있고, 우선적으로는 무선이지만 유선 연결일 수도 있다.
컴퓨터(4000)는 처리된 데이터를 송신하고 선택적으로 몰입형 벽(1000)에의 명령들을 제어한다. 컴퓨터(4000)는 몰입형 벽(1000)에 의해 디스플레이되도록 데이터를 처리하도록, 즉 디스플레이를 위해 이들을 준비하도록 구성된다. 처리는 컴퓨터(4000)에 의해 배타적으로 행해질 수 있거나, 또는 처리의 일부는 컴퓨터(4000)에 의해 행해질 수 있고 일부는 몰입형 벽(1000)에 의해 행해질 수 있다.
도 24는 제2 타입의 또 다른 시스템을 나타낸다. 이것은 비디오 콘텐츠를 처리하고(예로서, 디스플레이를 위해 데이터를 디코딩 및 준비하고) 비디오 콘텐츠를 디스플레이하도록 구성되는 몰입형(투영) 벽(6000)을 포함한다. 이것은 센서들(2000), 사용자 입력 디바이스들(3000)을 더 포함한다.
몰입형 벽(6000)은 게이트웨이(5000)를 통해 인터넷으로부터 또는 인터넷으로부터 직접적으로 몰입형 비디오 데이터를 수신한다. 또 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현되지 않음)로부터 몰입형 벽(6000)에 의해 획득되는데, 상기 로컬 저장 디바이스는 몰입형 벽(6000)에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버에 있을 수 있다.
이 시스템은 또한 센서들(2000) 및 사용자 입력 디바이스들(3000)을 포함할 수 있다. 몰입형 벽(6000)은 OLED 또는 LCD 타입일 수 있다. 이것은 하나 또는 여러 개의 카메라를 구비할 수 있다. 몰입형 벽(6000)은 센서(2000)(또는 복수의 센서(2000))로부터 수신된 데이터를 처리할 수 있다. 센서들(2000)로부터 수신된 데이터는 조명 조건들, 온도, 사용자의 환경, 예를 들어 물체들의 위치에 관계될 수 있다.
몰입형 벽(6000)은 또한 사용자 입력 디바이스들(3000)로부터 수신된 데이터를 처리할 수 있다. 사용자 입력 디바이스들(3000)은 사용자 감정에 피드백을 제공하기 위해서 햅틱 신호들과 같은 데이터를 송신한다. 사용자 입력 디바이스들(3000)의 예는 스마트폰, 리모콘, 및 자이로스코프 기능을 갖는 디바이스와 같은 핸드헬드 디바이스이다.
몰입형 벽(6000)은 이들 센서들/사용자 입력 디바이스들로부터 수신된 데이터에 따라 비디오 데이터를 처리할 수 있다(예로서, 디스플레이를 위해 이들을 디코딩하고 이들을 준비하는 것). 센서 신호들은 몰입형 벽의 통신 인터페이스를 통해 수신될 수 있다. 이 통신 인터페이스는 블루투스 타입, WIFI 타입 또는 임의의 다른 타입의 접속일 수 있고, 우선적으로는 무선이지만 유선 연결일 수도 있다. 몰입형 벽(6000)은 센서들과 및 인터넷과 통신하기 위해 적어도 하나의 통신 인터페이스를 포함할 수 있다.
도 25는 몰입형 벽이 게임을 위해 사용되는 제3 실시예를 도해한다. 하나 또는 여러 개의 게임 콘솔(7000)이 바람직하게는 몰입형 벽(6000)에의 무선 인터페이스를 통해 접속된다. 몰입형 벽(6000)은 게이트웨이(5000)를 통해 인터넷으로부터 또는 인터넷으로부터 직접적으로 몰입형 비디오 데이터를 수신한다. 또 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장 디바이스(표현되지 않음)로부터 몰입형 벽(6000)에 의해 획득되는데, 상기 로컬 저장 디바이스는 몰입형 벽(6000)에 또는 예로서 (표현되지 않은) 로컬 영역 네트워크를 통해 액세스가능한 로컬 서버에 있을 수 있다.
게임 콘솔(7000)은 명령어들 및 사용자 입력 파라미터들을 몰입형 벽(6000)에 송신한다. 몰입형 벽(6000)은 가능하게는 디스플레이를 위해 콘텐츠를 준비하기 위해 센서들(2000) 및 사용자 입력 디바이스들(3000) 및 게임 콘솔들(7000)로부터 수신된 입력 데이터에 따라 몰입형 비디오 콘텐츠를 처리한다. 몰입형 벽(6000)은 또한 디스플레이될 콘텐츠를 저장하기 위한 내부 메모리를 포함할 수 있다.
일 실시예에서, 전방향성 비디오가 비디오 코덱에 적합한 포맷으로 표현되는 표준 장방형 프레임 F상으로의 주변 3D 면 S의 투영을 가능하게 하는 포맷으로 표현되는 것을 고려한다. 3D 면들을 2D 면들에 투영하기 위해 다양한 투영들이 사용될 수 있다. 예로서, 도 2a는 예시적 구 면 S가 등장방형 투영을 사용하여 2D 프레임 F에 매핑되는 것을 도시하고, 도 2b는 예시적인 입방체 면이 입방체 매핑을 이용하여 도 2c에 도시된 바와 같이 2D 프레임에 매핑되는 것을 도시한다. 피라미드, 20면체 또는 8면체 매핑과 같은 다른 매핑들이 3D 면을 2D 프레임에 매핑할 수 있다.
이후 2D 프레임 F는 기존의 비디오 인코더들, 예로서, VP9, VP 10, MPEG-2, H.264/AVC, 또는 H.265/HEVC를 준수하는 인코더들을 이용하여 인코딩될 수 있다. 2D 프레임 F는 또한, 예로서, 조정된 VP9, VP 10, MPEG-2, H.264/AVC, 또는 H.265/HEVC 인코더를 이용하여 전방향성 비디오들의 특성들에 적응적인 인코더로 인코딩될 수 있다. 인코딩 및 디코딩 후에, 디코딩된 2D 프레임은 대응하는 3D 면, 예로서 등장방형 매핑을 위한 구 또는 입방체 매핑을 위한 입방체에 되돌려 매핑될 수 있다. 이후, 3D 면은 최종 렌더링된 프레임을 획득하기 위해 사용자의 시점에 대응하는 "가상 스크린"상으로 투영될 수 있다. 2D 프레임을 디코딩하고 3D 면으로부터 렌더링된 프레임으로 투영하는 단계들은 단일 단계로 병합될 수 있고, 여기서 디코딩된 프레임의 일부는 렌더링된 프레임상으로 매핑된다.
표기의 간소화를 위해, 디코딩된 2D 프레임을 F로도 지칭할 수 있고, 렌더링에 사용된 3D 면은 S로도 지칭할 수 있다. 인코딩될 2D 프레임 및 디코딩될 2D 프레임은 비디오 압축으로 인해 상이할 수 있고, 전처리에서의 3D 면 및 렌더링에서의 3D 면은 또한 상이할 수 있다는 것을 이해해야 한다. 본 출원에서, 용어 "매핑" 및 "투영"을 교환가능하게 사용하고, 용어 "픽셀" 및 "샘플"을 교환가능하게 사용하고, 용어 "프레임" 및 "픽처"를 상호교환가능하게 사용한다.
등장방형 매핑(Equi-rectangular Mapping)
도 3은 예시적인 역 등장방형 매핑을 도해하며, 여기서 2D 프레임은 렌더링된 프레임에 매핑된다. 도 3a는 ("등장방형 프레임"이라고도 지칭되는) 디코딩된 프레임에서의 x-y 좌표에서의 포인트 P를 도시한다. 도 3b는 θ-φ 극좌표를 이용하여 P로부터 렌더링의 2D 면상으로 매핑된 포인트 P'을 도시한다. 도 3c는 데카르트 좌표를 이용하여, 3D 렌더링 공간 S 내의 P'에 대응하는 포인트 P3d를 도시한다. 도 3d는 로컬 렌더링된 프레임 G에서 P3d에서의 면에 접하는 로컬 평면상에 투영되는 P3d로부터 귀결되는 포인트 P"를 도시한다. 구성에 의해 P"는 프레임의 중심에 있다. 로컬 렌더링된 프레임 G는, 종종 사용자가 보기를 원하는 것에 기초하여, 예로서, HMD 또는 사용자의 핸드헬드 디바이스가 무엇을 가리키는지에 기초하여, 2D 프레임 F의 일부에 대응한다.
로컬 렌더링된 프레임 G는 로컬 렌더링된 버전이라고도 지칭된다.
P로부터 P'으로의, P'으로부터 P3d로의, 및 P3d로부터 P"으로의 매핑들은 제각기 "f", "3d", 및 "pro/"로 표시된다. 도 3에서, 역 등장방형 매핑은 예시의 목적을 위해 다중 단계("/", "3d", 및 "pro/")로 도시된다. 역 등장방형 매핑은 더 적은 단계들로, 예로서 "/", "3d", 및 "pro/"를 하나 또는 두 개의 단계로 조합함으로써 수행될 수 있다.
수학적으로, 매핑들 "/"는:
Figure 112019031943835-pct00001
정규화된 좌표들을 가정하면, 프레임 F에서의 픽셀 M(x,y)가 포인트
Figure 112019031943835-pct00002
에서 2D 파라미터 면상으로 매핑될 때 상기와 같이 표현될 수 있다. 비정규화된 좌표들로는:
Figure 112019031943835-pct00003
포인트
Figure 112019031943835-pct00004
로부터 좌표 M3d로의 3D 면상으로의 매핑 "3d"는 다음과 같이 표현될 수 있다:
Figure 112019031943835-pct00005
포인트 M3d로부터 프레임 F로 돌아가기 위해서, 역변환 T-1을 계산한다.
Figure 112019031943835-pct00006
3D 면 S상의 포인트
Figure 112019031943835-pct00007
로부터, 표준 데카르트 대 극 좌표 변환을 이용하여 2D 파라미터 프레임으로 되돌아 갈 수 있다:
Figure 112019031943835-pct00008
2D 프레임 F로 추가로 돌아가기 위해, 다음을 이용할 수 있다:
Figure 112019031943835-pct00009
특이점들에 대해(전형적으로, 극들에서), x와 y가 0에 가까울 때, 다음과 같이 직접 설정할 수 있다:
Figure 112019031943835-pct00010
모듈라 경우들에 대해 특별한 주의가 취해져야 한다는 점에 유의해야 한다.
도 4a는 포인트가 3D 면으로부터 렌더링된 프레임 G까지 투영되는("pro/") 것을 도시한다.
프레임 G에서의 로컬 렌더링된 프레임으로부터 보이는 포인트 Q'가 P'에 가까운 경우, 면 S에 접하는 평면은 면 자체에 의해 근사화될 수 있다. 도 4b에서, Q"는 면 Q'상의 Q의 이미지에 의해 근사화될 수 있다는 것을 도시한다.
3D 공간으로부터 2D 면으로의 투영은 종종 종래의 평면의 것들에 대해 획득된 것들과 유사한 품질/비트레이트 절충에서 결과적인 비디오를 인코딩하는 데에 어려울 수 있는 일부 효과들 또는 변경들을 도입한다. 그러한 효과들 또는 변경들은 다음을 포함할 수 있다:
- 강한 기하학적 왜곡:
· 직선들은 더 이상 직선이 아니다.
· 직교정규 좌표계는 더 이상 직교정규가 아니다.
- 불균일한 픽셀 밀도: 인코딩될 프레임에서의 픽셀은 인코딩될 면상에서 항상 동일한 크기(즉, 렌더링 페이즈 동안 이미지상에서의 동일한 크기)를 나타내지 않는다.
- 강한 불연속들: 프레임 레이아웃은 2개의 인접 픽셀 사이에 강한 불연속들을 도입할 수 있다.
- 일부 주기성이 프레임에서 (예로서, 하나의 경계로부터 대향 경계로) 발생할 수 있다.
표 1은 상이한 매핑들에 대한 일부 변경들을 열거한다:
Figure 112019031943835-pct00011
이하에서, 본 발명자들은 전방향성 비디오의 인코딩 및 디코딩을 설명하기 위해 HEVC 인코더 및 디코더를 주로 사용한다. 본 원리가 다른 인코더들 또는 디코더들에 적용될 수 있다는 점에 유의해야 한다.
도 5는 예시적인 HEVC 인코더(500)를 도해한다. 하나 이상의 픽처들을 갖는 비디오 시퀀스를 인코딩하기 위해, 픽처는 하나 이상의 슬라이스로 분할되고, 여기서 각각의 슬라이스는 하나 이상의 슬라이스 세그먼트를 포함할 수 있다. 슬라이스 세그먼트는 코딩된 유닛들, 예측 유닛들 및 변환 유닛들로 조직화된다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어는 상호교환가능하게 사용될 수 있다. 반드시는 아니지만 보통은 "재구성된"이라는 용어는 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
HEVC 규격은 "블록들"과 "유닛들" 사이를 구별하는데, 여기서 "블록"은 샘플 어레이에서의 특정 영역(예로서, 루마(luma), Y)을 어드레스하고, "유닛"은 모든 인코딩된 컬러 성분들(Y, Cb, Cr, 또는 모노크롬(monochrome))의 병치된 블록, 및 블록과 연관되는 신택스 요소들 및 예측 데이터(예로서, 움직임 벡터들)를 포함한다.
코딩을 위해, 픽처는 구성가능한 크기를 갖는 사각형 형상의 코딩 트리 블록들(CTB)로 분할되고, 코딩 트리 블록들의 연속적 세트는 슬라이스로 그룹화된다. 코딩 트리 유닛(CTU)은 인코딩된 컬러 성분들의 CTB들을 포함한다. CTB는 코딩 블록들(CB)로 분할되는 쿼드트리(quadtree)의 루트이고, 코딩 블록은 하나 이상의 예측 블록(PB)으로 분할되고, 변환 블록들(TB들)로 분할되는 쿼드트리의 루트를 형성한다. 코딩 블록, 예측 블록 및 변환 블록에 대응하여, 코딩 유닛(CU)은 예측 유닛들(PU들), 및 변환 유닛들(TU들)의 트리 구조화된 세트를 포함하고, PU는 모든 컬러 성분들에 대한 예측 정보를 포함하고, TU는 각각의 컬러 성분에 대한 잔차 코딩 신택스 구조를 포함한다. 루마 성분의 CB, PB 및 TB의 크기는 대응하는 CU, PU 및 TU에 적용된다. 본 출원에서, 용어 "블록"은 CTU, CU, PU, TU, CB, PB 및 TB 중 임의의 것을 지칭하도록 사용될 수 있다. 또한, "블록"은 H.264/AVC 또는 다른 비디오 코딩 표준들에서 명시된 바와 같은 매크로블록, 파티션 및 서브블록을 지칭하는 데 사용될 수 있으며, 더 일반적으로는 다양한 크기의 데이터의 어레이를 지칭한다.
예시적인 인코더(500)에서, 픽처는 후술하는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 CU들의 단위로 처리된다. 각각의 CU는 인트라 또는 인터 모드를 사용하여 인코딩된다. CU가 인트라 모드에서 인코딩되는 경우, 이것은 인트라 예측(560)을 수행한다. 인터 모드에서, 움직임 추정(575) 및 보상(570)이 수행된다. 인코더는 CU를 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(505), 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 예측 잔차들은 원래의 이미지 블록으로부터 예측된 블록을 감산(510)함으로써 계산된다.
인트라 모드에서의 CU들은 동일한 슬라이스 내의 재구성된 이웃 샘플들로부터 예측된다. 도 6a에 도시된 바와 같이, DC, 평면 및 33개의 각도 예측 모드를 포함하는 35개의 인트라 예측 모드의 세트가 HEVC에서 이용가능하다. 인트라 예측 참조는 현재 블록에 인접한 행 및 열로부터 재구성된다. 이 참조는 이전에 재구성된 블록들로부터의 이용가능한 샘플들을 사용하여 수평 및 수직 방향에서 블록 크기의 2배에 걸쳐 연장된다. 각도 예측 모드가 인트라 예측에 사용될 때, 참조 샘플들은 도 6b의 예에 도시된 바와 같이 각도 예측 모드에 의해 표시되는 방향을 따라 복사될 수 있다. 각도 예측 모드는 본 출원에서 방향성 예측 모드라고도 지칭된다.
현재 블록에 대한 적용가능한 루마 인트라 예측 모드는 2개의 상이한 옵션을 이용하여 코딩될 수 있다. 3개의 최고 확률 모드(MPM)의 구성된 리스트에 적용가능한 모드가 포함된다면, 모드는 MPM 리스트에서 인덱스에 의해 시그널링된다. 그렇지 않다면, 모드는 모드 인덱스의 고정 길이 이진화에 의해 시그널링된다. 3개의 최고 확률 모드는 상부 및 좌측 이웃 블록들의 인트라 예측 모드들로부터 도출된다.
인터 CU에 대해, 대응하는 코딩 블록은 하나 이상의 예측 블록으로 더 분할된다. 인트라 예측은 PB 레벨에서 수행되고, 대응하는 PU는 인터 예측이 어떻게 수행되는지에 대한 정보를 포함한다.
움직임 정보(즉, 움직임 벡터 및 참조 픽처 인덱스)는 2개의 방법, 즉 "병합 모드" 및 "진보된 움직임 벡터 예측(AMVP)"으로 시그널링될 수 있다.
병합 모드에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들에 기초하여 후보 리스트를 어셈블링하고, 비디오 인코더는 후보 리스트에서의 후보들 중 하나에 대한 인덱스를 시그널링한다. 디코더 측에서는, 시그널링된 후보에 기초하여 움직임 벡터(MV) 및 참조 픽처 인덱스가 재구성된다.
AMVP에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들로부터 결정된 움직임 벡터들에 기초하여 후보 리스트들을 어셈블링한다. 이후 비디오 인코더는 움직임 벡터 예측기(MVP)를 식별하기 위해 후보 리스트에서의 인덱스를 시그널링하고, 움직임 벡터 차이(MVD)를 시그널링한다. 디코더 측에서, 움직임 벡터(MV)는 MVP+MVD로서 재구성된다.
HEVC에서, 움직임 보상을 위한 움직임 정보의 정밀도는 루마 성분에 대한 하나의 1/4 샘플(또한 쿼터-펠 또는 1/4-펠이라고도 지칭함)이고, 크로마 성분들에 대한 1/8 샘플(1/8-펠 라고도 지칭함)이다. 7 탭 또는 8 탭 보간 필터가 분수 샘플 위치들의 보간을 위해 사용되는데, 즉 수평 방향 및 수직 방향 모두에서의 전체 샘플 위치들의 1/4, 1/2 및 3/4가 루마에 대해 어드레싱될 수 있다.
이후, 예측 잔차들이 변환되고(525) 양자화된다(530). 양자화된 변환 계수들뿐만 아니라 움직임 벡터들 및 다른 신택스 요소들이 비트스트림을 출력하도록 엔트로피 코딩된다(545). 인코더는 또한 변환을 건너뛰고 4x4 TU 기반으로 변환되지 않은 잔차 신호에 직접적으로 양자화를 적용할 수 있다. 인코더는 또한 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉, 잔차는 변환 또는 양자화 프로세스의 적용 없이 직접적으로 코딩된다. 직접 PCM 코딩에서, 어떠한 예측도 적용되지 않고, 코딩 유닛 샘플들은 비트스트림으로 직접적으로 코딩된다.
인코더는 인코딩된 블록을 디코딩하여 추가 예측을 위한 참조를 제공한다. 양자화된 변환 계수들은 예측 잔차들을 디코딩하기 위해 역 양자화되고(540) 역 변환된다(550). 디코딩된 예측 잔차들 및 예측된 블록을 결합하면(555), 이미지 블록이 재구성된다. 인 루프 필터들(565)은 예로서 인코딩 아티팩트들을 줄이도록 디블로킹/SAO 필터링을 수행하기 위해 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(580)에 저장된다.
도 7은 예시적인 HEVC 비디오 디코더(700)의 블록도를 도해한다. 예시적인 디코더(700)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(700)는 일반적으로, 이는 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행하는 도 5에 설명된 바와 같은 인코딩 패스(pass)에 대해 역인 디코딩 패스를 수행한다.
특히, 디코더의 입력은 비디오 인코더(500)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 움직임 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(730). 변환 계수들은 역양자화되고(740) 역변환되어(750) 예측 잔차들을 디코딩하게 된다. 디코딩된 예측 잔차들과 예측된 블록을 결합하면(755), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(760) 또는 움직임 보상 예측(즉, 인터 예측)(775)으로부터 획득될 수 있다(770). 전술한 바와 같이, AMVP 및 병합 모드 기술은 움직임 보상에 대한 움직임 벡터들을 도출하는데 사용될 수 있는데, 이것은 보간 필터들을 이용하여, 참조 블록의 서브-정수 샘플들에 대한 보간된 값들을 계산할 수 있다. 인 루프 필터들(765)이 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(780)에 저장된다.
도 6a 및 도 6b에 도시된 바와 같이, 인트라 예측은 현재 블록들을 예측하기 위해 이전에 재구성된 참조 픽셀들의 인과적 형상 내의 픽셀들을 이용하는데, 예로서, 참조 픽셀들은 도 6b에 도시된 바와 같은 방향을 따라 복사될 수 있다.
인트라 직선 전파 모드들은 이미지들 및 비디오들(예로서, 건물들, 직선 에지들을 포함하는 물체들)에서 강성 직선 텍스처(rigid straight texture)들의 로트(lot)들을 근사화할 시에 양호하다. 따라서, 방향성 모드들은 보통은 이미지 콘텐츠 분포가, 예측 블록에 걸쳐 주 방향을 나타낼 때 효율적이다. 그러나, 등장방형 매핑된 콘텐츠에서와 같이 구 면으로부터 워핑된 짧은 초점 길이 이미지들 또는 이미지들에 대해, 물체들은 왜곡될 수 있고, 주 방향들은 매핑 또는 원근 왜곡으로 인해 비직선 곡선들을 따를 가능성이 더 크다.
도 8은 렌더링된 프레임에서의 직선(820)이 인코딩될 프레임에서 직선(810)으로서 보이지 않는 예를 도해한다. 특히, 도 8은 현재 예측 블록(830) 및 대응하는 참조 샘플들(850)의 로컬 매핑 및 렌더링을 도해한다. 로컬 매핑 및 렌더링에서, 예측 블록 주변의 작은 부분만이 렌더링된 버전에 매핑된다. 좌측 이미지는 인코딩될 예시적인 등장방형 프레임 F의 크롭(crop)된 부분이다. 우측 이미지는 예측 블록의 로컬 렌더링된 버전(840)을 도해하기 위해 예시적인 렌더링된 프레임에서의 크롭된 부분이다. 등장방형 프레임에서의 예측 블록(830)의 이웃 샘플들(850)은 렌더링된 프레임 G에서의 이웃 영역(860)에 매핑된다. 참조 프레임(870)은 예측 블록의 중심에 중심을 둔다. 화살표(880)는 렌더링된 버전이 인코딩되는 경우에 전통적인 인코더에 의해 선택될 수 있는 가능한 방향성 모드를 도시한다.
직선들은 예측 블록(830)에서 더 이상 직선이 아니기 때문에, HEVC에서 정의된 대로의 방향성 인트라 예측은 등장방형 콘텐츠에서의 비직선 곡선들을 갖는 블록에 대해 아주 효율적이지는 않을 수 있다.
전방향성 비디오에 대한 인트라 예측을 적응시켜 압축 효율을 개선하는 것을 제안한다. 특히, 수정된 기하 구조, 예를 들어 인트라 예측을 개선하기 위해 코딩될 등장방형 이미지의 것들을 고려함으로써, 인트라 예측기, 즉 예측 블록에서의 픽셀을 예측하기 위해 선택된 방향을 따라 복사되는 참조 샘플을 선택할 수 있다.
일 실시예에서, 2D 프레임 F에서의 예측 블록은 렌더링 공간에 매핑된다. 이후, 직선 인트라 예측 방향에 기초하여, 2D 프레임에서의 예측 블록에 대응하는, 렌더링 공간에서의 블록에서의 픽셀에 대해 참조 샘플이 계산된다. 이후, 렌더링 공간에서의 참조 샘플에 대응하는, 2D 프레임에서의 참조 샘플을 위치시킬 수 있다.
참조 샘플은 정수-샘플 위치에 있을 수 있거나, 또는 분수-샘플 위치에 있을 수 있다. 분수-샘플 참조 샘플에 대해, 보간은 직선 방향성 모드들에 대한 경우에서와 같이 적용될 수 있다. 더욱이, 참조 샘플들은 더 나은 예측기를 제공할 가능성이 더 높은 더 평활한 신호를 전파하기 위해 저역 통과 커널을 이용하여 사전 필터링될 수 있다.
일반성의 손실 없이, 예측 블록의 중심에 참조 프레임을 갖는 예측 블록의 로컬 렌더링을 고려한다. 도 9에 도시된 바와 같이, 현재 예측 블록 주위의 샘플들(L)은 렌더링된 프레임 G에서 샘플들(L")에 투영되고, 현재 블록은 렌더링된 블록, 현재 블록의 중심에서 3D 렌더링 면(S)에 접하는 패치에 투영된다.
도 10은 본 원리의 일 실시예에 따라 인트라 예측을 위한 인트라 예측기들을 로케이트하기 위한 예시적인 방법(1000)을 도해한다. 인트라 예측이 인코더 및 디코더 둘 다에서 수행되기 때문에, 방법(1000)은 인코더 및 디코더 둘 다에서 사용될 수 있다. 표기의 편의를 위해, 인코더 또는 디코더 중 어느 하나를 지칭하기 위해 "코더"를 사용한다. HEVC에서와 같이, 인트라 예측 블록 B에 대해 단일 인트라 예측이 액세스된다(1005). 단계(1010)에서, 코더는 블록 B의 중심 P에 대해 P' 및 P3d를 계산한다(910):
Figure 112019031943835-pct00012
그 후 코더는 블록 B의 포인트 P3d에서 면에 접하는 평면 G를 획득한다(920). 구성에 의해,
Figure 112019031943835-pct00013
.
블록 B 주위의 인과적 이웃 L에 대해, 코더는 평면 G상의 대응하는 이웃 L', L3d, 및 투영 L"을 계산한다(1020).
Figure 112019031943835-pct00014
현재 블록 B의 픽셀 M에 대해, 코더는 M'을 계산하고, 이어서 M3d를 계산한다(1030, 910). 3D 면상의 포인트, M3d는 이후 포인트 M"에서 평면 G상으로 투영된다(920):
Figure 112019031943835-pct00015
인코더에서 테스트되거나 디코더에서 비트스트림으로부터 디코딩되는 방향 d"에 대해, 포인트 M"에 대해, 코더는 방향 d"에서 포인트 M을 통과하는 직선과 V"에서의 투영된 이웃 L"과의 교차점,
Figure 112019031943835-pct00016
을 로케이트한다(1040).
Figure 112019031943835-pct00017
수학식(11)에서의 d"은 렌더링 공간에서의 방향이고, 2D 인코딩 또는 디코딩 프레임에서의 방향 d로부터 도출될 수 있다. 방향 d"을 계산하기 위해, 코더는 픽셀
Figure 112019031943835-pct00018
에 대해 Q' 및 이후 Q3d를 계산할 수 있으며, 여기서 e는 작은 스텝이다:
Figure 112019031943835-pct00019
그리고 Q3d를 포인트 Q"에서의 평면 G상으로 투영한다
Figure 112019031943835-pct00020
다음으로, 방향 d"는 다음과 같이 계산될 수 있다:
Figure 112019031943835-pct00021
동일한 방향 d"은 렌더링된 프레임 G에서 모든 픽셀 M"에 적용될 수 있다. 이 접근법의 하나의 이점은 블록 내부의 패턴이 전체 블록에 대해 일관된다는 것이다.
인코딩될 또는 디코딩될 프레임에서 참조 픽셀을 로케이트하기 위해, V"는 V3d에서의 면상으로 이후 V'으로 되돌려 투영된다(930):
Figure 112019031943835-pct00022
이후 V의 좌표는 프레임 F에서의 V의 역 이미지로서 계산된다(940).
Figure 112019031943835-pct00023
그 다음, 결과적인 포인트 V는 방향 d에서 픽셀 M에 대한 인트라 예측기로서 사용된다(1050).
블록의 픽셀에 대해, 픽셀의 위치 및 방향 d가 주어지면, 인트라 예측기들은 미리 계산될 수 있고, 그 결과는 룩업 테이블(LUT)에 저장될 수 있다. 룩업 테이블을 사용할 때, 방법(1000)이 간략화될 수 있다. 예로서, 단계들(1010-1040)은 룩업 테이블에 액세스하는 것에 의해 대체될 수 있고, 단계(1050)에서, 예측 블록에서의 특정 위치에 대한 참조 샘플은 룩업 테이블에 기초하여 로케이트될 수 있다.
새로운 인트라 예측은 블록에 대한 인트라 예측 방향에 기초하여 도출되는 비직선 곡선들(또는 변형된 곡선들)을 따라 블록 내의 샘플들을 예측하는 것으로 볼 수 있다. 변형된 곡선들은 특정 위치("앵커 포인트"라고도 지칭함), 예로서 예측 블록의 중심 또는 그 좌측 코너에서 참조 프레임을 설정함으로써 계산될 수 있다. 방향 d"를 도출하는데 사용되는 앵커 포인트는 또한 또 다른 포인트, 예로서 좌측 상단 코너로부터 선택될 수 있다. 도 11a는 화살표(1110)로 묘사된 블록의 중심에서의 특정 방향 d에 대해 도출된 곡선들의 예를 도시한다.
여기서, 로컬 렌더링된 프레임 G에서의 참조 샘플은 직선에 기초하여 선택되고, 여기서 직선 전파 모드들은 2D 인코딩 또는 디코딩 프레임에서보다 작용할 가능성이 더 크다. 역 매핑에 기초하여 선택된 참조 샘플들은 매핑에 의해 야기된 변형을 반영할 것이다. 도 11a에 도시된 바와 같이, 화살표(1110)로 표시된 바와 같은 방향 d는 새로운 인트라 예측 방향을 반영하기 위해 비직선 곡선들(1120, 1130)에 적응될 것이다. 이 실시예에서, 참조 샘플들과 참조 샘플들에서의 방향 모두가 적응된다. 프레임 G에서의 방향은 모든 참조 샘플에 대해 동일하고, 따라서 프레임 F에서 상이하다.
상기에서, 직선 교차를 수행하기 위해 프레임 F에서의 방향 d를 렌더링된 프레임 G에서의 방향 d"로 변환한다. 또 다른 실시예에서, 방향 d는 직접적으로 G에서, 즉 현재 블록의 예측 방향으로서 직접적으로 d"을 인코딩하도록 표현될 수 있다. 이 경우, 로컬 렌더링된 프레임 G의 선택은 인코더와 디코더 사이에서 알려지고 동기화되어야 한다.
또 다른 실시예에서, 참조 샘플들을 따라 방향들을 근사화하고, 등장방형 도메인에서 직접적으로 방향성 모드를 적용할 수 있다. 여기서, 곡선들은 참조 샘플 위치들에서 평행하고, 이후 도 11b의 예에 도시된 바와 같이 매핑 함수에 의존하여 변형된다. 이 경우에, 참조 샘플들에서의 방향들은 프레임 F에서 동일하지만 프레임 G에서 상이하다.
이 실시예에서, 예측의 방향은 개별 픽셀 M에 대해 프레임 F에서 표현된다. 따라서 로컬 렌더링된 프레임 G에서 예측 d에 대한 방향을 계산하기 위해, 코더는
Figure 112019031943835-pct00024
에 대해 N'을 이후 N3d를 계산할 수 있고, 여기서 e는 블록의 픽셀에 대한 작은 스텝이다:
Figure 112019031943835-pct00025
그 후 N3d를 평면 G상으로 포인트 N"에 투영한다
Figure 112019031943835-pct00026
방향 d"은 M"에서 계산될 수 있다:
Figure 112019031943835-pct00027
d"이 픽셀 M"의 위치에 따라 변하기 때문에, 상이한 샘플들에 대한 렌더링된 프레임 G에서의 방향들 d"는 동일하지 않다.
도 12는 본 원리의 예시적인 실시예에 따라, 인코더 측에서 전방향성 비디오에 적응된 인트라 예측을 수행하기 위한 예시적인 방법(1200)을 도시한다. 인코더는 이미지 블록(1210)을 입력으로서 수용한다. 인코더는 또한 사용자 입력, 예로서, 전방향성 비디오들에 대해 적응된 인트라 예측을 사용할지의 여부를 나타내는 플래그 warped_intra를 획득할 수 있다.
블록을 획득한 후에(1220), 인코더는 인트라 예측을 위해 어느 이웃하는 샘플들이 참조 샘플들로서 사용될 것인지를 결정한다(1230). 참조 샘플들은 분수 샘플 위치들을 획득하기 위해 보간되거나 인트라 예측을 개선하기 위해 콘텐츠를 평활화하도록 필터링될 수 있다(1240). 플래그, warped_intra(1245)가 참이라면, 인코더는 새로운 곡선 방향들을 가능하게 한다. 특히, 인코더는, 새로운 방향들을 제공하기 위해, 예로서, 미리 정의된 LUT로서의 워핑 파라미터들, 또는 전술한 바와 같은 함수들 "f()", "projO", 또는 "3d()"를 계산하기 위한 매핑 파라미터들을 획득할 수 있다(1250). 새로운 방향들은 인트라 예측을 수행하기 위해(1260) 사용된다. 블록에 대해 RD(Rate-Distortion) 비용이 계산될 수 있다(1270). 인코더는 인트라 예측 또는 다른 테스트된 인터 예측 모드들에 기초하여 사용할 최상의 예측 모드를 결정한다(1280). 예측 블록에 대한 선택된 예측 모드, 및 RD 비용이 출력될 수 있다(1290). 인코더는 필요에 따라 이미지에서의 블록들에 걸쳐 루프할 수 있다. 인코더가 새로운 인트라 방향을 선택하면, 인코더는 새로운 인트라 방향을 이용하여 인트라 예측을 수행하여 예측된 블록을 형성하고, 현재 블록에 대한 새로운 인트라 모드 및 예측 잔차(즉, 현재 예측 블록과 예측된 블록 사이의 차이)를 인코딩한다.
디코더 측에서, warped_intra 플래그가 참으로 설정되면, 어느 예측 모드가 설정되는지에 기초하여 새로운 인트라 예측 모드가 선택될 수 있다. 새로운 인트라 예측이 선택되면, 디코더는, 예로서, 전술한 바와 같이, 새로운 인트라 예측 모드에 기초하여 블록을 디코딩하도록 진행한다.
시그널링
제1 실시예에 따르면, 디코더는 특정 타입의 전방향성 비디오 콘텐츠에 전용된다. 매핑 함수는 디폴트로 활성화되는데, 즉 블록은 전술한 방법들 중 하나를 이용하여 "곡선" 라인들을 이용하여 항상 예측될 것이다.
제2 실시예에 따르면, 디코더는 상이한 레이아웃들에 적응할 수 있다. 디코더는 고레벨 신택스를 통해 현재 레이아웃의 인덱스를 수신한다. 그 다음, 블록은 시그널링된 매핑 함수에 따라, 상기 방법들 중 하나를 이용하여 "곡선" 라인들을 이용하여 예측될 것이다.
또 다른 실시예에 따르면, 매핑 함수들이 전송될 수 있고, 디코더는 대응하는 방향들을 재생성한다. 이어서, 전송된 매핑 함수들에 따라, 상기 방법들 중 하나를 이용하여 "곡선" 라인들을 사용하여 블록이 예측될 것이다.
또 다른 실시예에 따르면, 매핑 함수는 블록, 슬라이스 또는 시퀀스 레벨에서 직접적으로 시그널링된다.
또 다른 실시예에 따르면, 변형 파라미터들은 블록, 슬라이스 또는 시퀀스 레벨에서 정의된 사전(dictionary)으로서 전송된다.
인코딩될 프레임을 구에 매핑하도록 선택된 특정 레이아웃은 통상적으로 시퀀스에 의해 고정되고, 시퀀스 레벨에서, 예로서, SPS(Sequence Parameter Set)에서 시그널링될 수 있다.
매핑 함수에 관하여, 정보를 검색하는 여러 방식이 이용될 수 있다.
- 디코더 측에서 룩업 테이블이 구현되어, 모든 등장방형 프레임에 걸쳐서 변형들을 시그널링할 수 있다. 여기서, 디코더 또는 인코더는 인트라 예측 동안 2D 프레임 F와 렌더링된 프레임 G 사이 내에서 투영을 수행할 필요가 없고, 변형들은 프레임 F에 직접적으로 적용된다.
- 디코더는 프레임 G에 대한 투영을 재생성하여 직선 모드를 적용하고 이어서 프레임 F에 되돌려 투영할 수 있다.
- 많은 매핑 함수가 존재한다. 디코더는, 예로서, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트와 같은 파라미터 세트를 통해 비트스트림에서 전송되는 인덱스에 기초하여 주 매핑 함수들을 결정할 수 있다.
전술한 전방향성 비디오들에 대한 매핑에 더하여, 변형들은 또한 짧은 초점 거리로부터 올 수 있다. 이 경우, 전역적 초점 거리 값뿐만 아니라 필요한 왜곡 파라미터들이 전체 시퀀스를 구동하는, VPS(Video Parameter Set) 또는 SPS(Sequence Parameter Set)와 같은 고레벨 신택스를 통해 전송될 수 있다. 초점 거리가 비디오를 따라 변하면, 이러한 값들은 픽처 파라미터 세트에 포함될 수 있다. 다른 실시예들에 따르면, 정보는 슬라이스 또는 블록 레벨에서 전송될 수 있다.
예측된 블록을 형성하기 위해 인과적 참조 샘플들의 평균 값으로 예측 블록을 채우는 DC 모드와 같은 다른 전파 방법들이 존재한다. 이 경우, 새로운 타입의 콘텐츠는 모드의 효율을 수정하지 않는다. 그러나, H.265/HEVC에서의 평면 모드, 또는 평면 모드 H.264/AVC과 같은 진보된 기술들은 참조 샘플들 사이의 픽셀 값들의 변형들을 활용하여 현재 블록 면의 평활한 예측을 생성한다. 이러한 모드들에 대해, 등장방형 매핑은 또한 그러한 모드들의 효율을 감소시킬 수 있다.
평면 모드에 대해, 예측될 블록에서의 픽셀 값은 도 13의 예에 도시된 바와 같이 4개의 픽셀에 직접적으로 의존한다. 평면 모드를 전방향성 비디오들에 적응시키기 위해, 수직 및 수평 방향들로부터의 픽셀들에 의존하는 대신에, 전술한 바와 같이 계산된 곡선들이 관련 참조 픽셀 위치들을 가리키는데 활용될 수 있다.
새로운 도구들은 참조 샘플 변동들을 활용하고, 이른바 위치 종속 인트라 예측 조합에 대한 PDPC 및 멀티-파라미터 인트라 예측에 대한 MPI와 같은 개선된 방법들로 예측 블록을 채운다. 이러한 모드들은 방향성 모드들에 대해 도출된 변형 곡선들을 따르는 픽셀들을 포인팅함으로써 적응될 수 있다.
도 14는 좌상으로부터 우하로, 상이한 예측 각들, -15°, -30°, -45°, -60°, -75°, -90°, -105°, -120°, -135°(0°는 수평 방향에 대응함)에 대한 등장방형 매핑을 위한 제안된 새로운 방향성 인트라 모드들을 이용한 예측의 예를 도시한다. 결과적인 예측된 블록들은 도 15에 묘사된 위치에서 등장방형 프레임으로부터 계산된다. 곡선들이 등장방형 매핑의 기하 구조와 정렬되는 것을 알 수 있다.
예측 블록에서의 개별 픽셀들에 대해, L 형상으로부터 복사하기 위한 참조 샘플이 전술한 방법들에 의해 주어진다. 매핑이 고정되고 알려지면, 예측 프로세스를 가속화하기 위해 함수 또는 LUT가 미리 계산될 수 있다. 표 2는 45°의 예측 각도에 대한 예시적인 LUT의 일부를 나타내고, 여기서 LUT에서의 (x,y) 위치에서의 엔트리는 블록에서의 (x,y) 위치에서의 샘플에 대해 사용할 참조 샘플의 위치를 나타낸다. LUT에 기초하여, 참조 샘플들은 예측된 블록을 형성하기 위해 예측 블록에서의 대응하는 샘플 위치들로 복사되거나 전파될 수 있다. 참조 샘플들의 위치를 나타내는 숫자들이 도 16에 묘사되어 있다. 도 16에 묘사된 바와 같이, 음의 값들은 좌측 참조 샘플에 대응하고 양의 값들은 상단 참조 샘플들에 대응한다.
동일한 룩업 테이블이 상이한 블록 크기들에 대해 사용될 수 있다. 인코더 또는 디코더는 특정 블록 위치 및 방향에 대한 최대 블록 크기에서 하나의 룩업 테이블만을 필요로 할 수 있고, 최대 블록 크기보다 작은 블록에 대한 룩업 테이블은 최대 크기의 LUT의 좌측 상단 부분을 이용하여 획득될 수 있다.
Figure 112019031943835-pct00028
등장방형 매핑에 대해, 룩업 테이블들은 블록의 수직 위치만을 이용하여 설명될 수 있다. 또한, 룩업 테이블들은 이미지의 제1 절반에 대해서만 설명될 수 있고, 제2 절반은 이미지의 제1 절반에 대한 인덱스들을 미러링함으로써 추론된다.
예측 블록에서의 위치와 참조 샘플 위치 사이의 대응 관계는 또한 해석 함수, 예로서, 이차 함수를 이용하여 상기 LUT를 피팅(fitting)하는 것에 의해 표현될 수 있다. 피팅은 항상 정확한 것이 아닐 수 있다. LUT 또는 분석 함수는 인트라 예측 방향, 예측 블록의 블록 위치/크기가 주어지면, 인코더 또는 디코더에서 도출되거나 미리 계산될 수 있다. 따라서, 인코더는 여전히 인트라 예측 블록에 대해 단일 방향성 모드를 전송할 필요만 있는 반면, 인트라 예측은 인트라 예측 블록에 대해 인코더 또는 디코더에서 상이한 변형 곡선들을 따를 수 있다.
제안된 방법은 고전적으로 사용되는 직선 방향들 대신에 곡선 인트라 전파를 정의하는 일반 원리에 의존한다. 일부 실시예들에 따르면, 곡선 전파들은 기존의 것들에 추가되는 새로운 방향성 인트라 모드들로서 볼 수 있다. 다른 실시예에서, 이들은 기존의 코덱들에서 대응하는 인트라 모드들을 대체할 수 있다.
예로서, 2차 곡선들은 비디오의 타입, 고려되는 예측 블록의 위치 및 크기에 의존하여 또 다른 인트라 모드로서 추가될 수 있다. 비디오가 넓은 각도/짧은 초점 거리로 촬영된 또 다른 예에서, 일부 왜곡은 직선들을 변형시킬 수 있다. 왜곡을 줄이기 위해 원통형 정정(cylindrical correction)이 때때로 사용된다. 비디오가 왜곡되는 경우, 곡선 인트라 예측은 종종, 특히 경계들상에서 변형 곡선들을 따라 참조 픽셀들을 전파함으로써 압축 효율을 향상시킬 수 있다.
짧은 초점 거리 비디오의 경우, 왜곡에 대한 고전적인 모델은, 2D + 3D 왜곡들이 단순한 2D 함수:
Figure 112019031943835-pct00029
로 병합되는 브라운-콘래디(Brown-Conrady) 모델을 사용하는 것인데, 여기서
Figure 112019031943835-pct00030
은 (프레임 F에서)의 왜곡 후의 픽셀 좌표이고,
Figure 112019031943835-pct00031
은 (프레임 G에서의) 왜곡 전의 픽셀들의 좌표이다. 왜곡 함수 g()는 복합 함수이다:
Figure 112019031943835-pct00032
. 왜곡 함수 g() 는 브라운-콘래디 모델을 이용하여 획득될 수 있다.
함수
Figure 112019031943835-pct00033
은 보통은 픽셀이 대응하는 왜곡 안된 픽셀에 매핑되는 오프라인 프로세스로서 g로부터 복구될 수 있는데, 상기 실시예들에 적용된다. 역 함수
Figure 112019031943835-pct00034
은 항상 해석적으로 가역적인 것은 아닐 수 있고, 수치 해석 방법들을 이용하여 또는 LUT를 이용하여 발견될 수 있다.
본 실시예들에서, 단일 인트라 예측 방향이 예측 블록에 대해 전송된다는 점에 유의해야 한다. 단일 방향에 기초하여, 인코더 또는 디코더는, 도 11a 및 도 11b에 도시된 바와 같이, 전술한 바와 같이 블록의 위치 및 매핑에 기초하여 인트라 예측을 위해 사용될 변형 곡선들을 도출할 수 있다. 블록의 위치가 이미 비트스트림에 표시되기 때문에, 블록의 위치에 대해 어떤 추가적인 신택스도 필요하지 않다. 매핑은 통상적으로 자주 변하지 않는다. 따라서, 매핑은 픽처 레벨, 시퀀스 레벨 또는 비디오 레벨에서 전송될 수 있고, 이는 매우 작은 오버헤드만을 초래할 것이다. 따라서, 본 실시예들은, 곡선들에 대한 파라미터들이 블록 레벨에서 전송될 필요가 있을 수 있기 때문에, 인트라 예측이 그를 따라 수행될 수 있는 곡선들에 대한 파라미터들을 인코딩하는 것보다 더 효율적이다.
전술한 바와 같이, 등장방형 매핑을 이용하여 다양한 실시예들을 설명하는데, 즉, 전방향성 비디오들에 대해 3D 면이 구인 것으로 간주된다. 본 원리들은 볼록 면들을 갖는 다른 3D 면들에, 그리고 다른 타입들의 비디오들에, 예로서, 매우 넓은 시야(물고기 눈 렌즈와 같은 매우 작은 초점 거리)로 취득되는 평면 이미지들에 적용될 수 있는데, 이것에만 제한되지는 않는다는 점에 유의해야 한다. 더 일반적으로, 본 원리들은 왜곡된 콘텐츠를 포함하는 이미지들/비디오들에 적용될 수 있고, 이 왜곡은 인코딩될 평면 프레임에 대한 면의 매핑에 기인한 것이거나 또는 매우 짧은 초점 거리로 캡처된 장면 - 이는 경계들에 가깝게 이미지들을 구부리는 경향이 있음 - 에 기인한 것일 수 있다.
도 17은 본 원리들의 예시적인 실시예들의 다양한 양태들이 구현될 수 있는 예시적인 시스템(1700)의 블록도를 도해한다. 시스템(1700)은 아래에서 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 구체화될 수 있고, 앞서 설명된 프로세스들을 수행하도록 구성된다. 이러한 디바이스들의 예들은, HMD들, 개인용 컴퓨터들, 랩탑 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋탑 박스들, 디지털 텔레비전 수신기들, 개인용 비디오 기록 시스템들, 접속된 가전 기기들, 및 서버들을 포함하지만, 이에 제한되는 것은 아니다. 시스템(1700)은 센서들을 포함할 수 있고, 그리고 도 17에 도시된 바와 같은 통신 채널을 통해 또한 전술한 예시적인 비디오 시스템을 구현하기 위해 본 기술분야의 통상의 기술자에 의해 공지된 바대로 다른 유사한 시스템들에 통신 가능하게 결합될 수 있다.
시스템(1700)은 전술한 바와 같은 다양한 프로세스들을 구현하기 위해 그 안에 로딩되는 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1710)를 포함할 수 있다. 프로세서(1710)는 본 기술분야에 공지된 바와 같이 내장 메모리, 입력 출력 인터페이스 및 다양한 다른 회로들을 포함할 수 있다. 시스템(1700)은 또한 적어도 하나의 메모리(1720)(예로서, 휘발성 메모리 디바이스, 비휘발성 메모리 디바이스)를 포함할 수 있다. 시스템(1700)은 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광 디스크 드라이브를 포함하지만 이에 한정되지 않는 비휘발성 메모리를 포함할 수 있는 저장 디바이스(1740)를 더 포함할 수 있다. 저장 디바이스(1740)는 비한정적인 예로서 내부 저장 디바이스, 부착형 저장 디바이스 및/또는 네트워크 액세스 가능 저장 디바이스를 포함할 수 있다. 시스템(1700) 은 또한 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1730)을 포함할 수 있다.
인코더/디코더 모듈(1730)은 인코딩 및/또는 디코딩 기능을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 인코더(500) 및 디코더(700) 는 인코더/디코더 모듈(1730)에서 사용될 수 있다. 공지된 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 게다가, 인코더/디코더 모듈(1730)은 시스템(1700)의 개별 요소로서 구현될 수 있거나, 본 기술 분야의 통상의 기술자들에게 공지된 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서들(1710) 내에 통합될 수 있다.
시스템(1700)은 디스플레이(1790)를 더 포함할 수 있거나, 또는 통신 채널을 통해 디스플레이에 통신가능하게 결합될 수 있다. 디스플레이는, 예로서, OLED 또는 LCD 타입이다. 디스플레이는 또한 보통은 거대한 크기인 몰입형(투영) 벽일 수 있다.
시스템(1700)은 터치 표면(1780)(예로서, 터치패드 또는 촉각 스크린) 및 카메라(1770)를 더 포함할 수 있다. 프로세서(1710)는 시스템(1700)의 일부일 수 있거나 그렇지 않을 수 있는 센서들로부터 수신된 신호들을 처리할 수 있다. 센서들로부터의 측정들 중 일부는 시스템(1700)의 또는 시스템(1700)에 접속된 또 다른 디바이스의 자세를 계산하는 데 사용될 수 있다. 카메라(1770)는 이미지 처리를 위해 환경의 이미지들을 캡처할 수 있다. 프로세서(1710)는 또한 도 1에 설명된 바와 같은 전처리 및 후처리 기능들을 수행할 수 있다.
위에 설명된 다양한 프로세스들을 수행하기 위해 프로세서(1710)상으로 로딩될 프로그램 코드가 저장 디바이스(1740)에 저장될 수 있고, 후속하여 프로세서들(1710)에 의한 실행을 위해 메모리(1720)상으로 로딩될 수 있다. 본 발명의 원리들의 예시적인 실시예들에 따르면, 프로세서(들)(1710), 메모리(1720), 저장 디바이스(1740) 및 인코더/디코더 모듈(1730) 중 하나 이상은, 본 명세서에서 앞서 논의한 프로세스들의 수행 동안 입력 비디오, 비트스트림, 방정식, 공식, 행렬, 변수, 연산 및 연산 논리를 포함하지만 이에 한정되지 않는 다양한 아이템들 중 하나 이상을 저장할 수 있다.
시스템(1700)은 또한 통신 채널(1760)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1750)를 포함할 수 있다. 통신 인터페이스(1750)는 통신 채널(1760)로부터 데이터를 송신 및 수신하도록 구성되는 송수신기를 포함할 수 있지만 이에 한정되지는 않는다. 통신 인터페이스는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 한정되지 않으며, 통신 채널은 유선 및/또는 무선 매체 내에 구현될 수 있다. 시스템(1700)의 다양한 컴포넌트들은, 내부 버스들, 와이어들 및 인쇄 회로 기판들을 포함하지만 이에 제한되는 것은 아닌 다양한 적절한 연결들을 사용하여 함께 접속되거나 통신가능하게 결합될 수 있다.
본 원리들에 따른 예시적인 실시예들은 프로세서(1710)에 의해 구현되는 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비한정적인 예로서, 본 발명의 원리들에 따른 예시적인 실시예들은 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1720)는 기술적 환경에 적절한 임의의 타입의 것일 수 있으며, 비제한적인 예로서, 광학 메모리 디바이스들, 자기 메모리 디바이스들, 반도체 기반 메모리 디바이스, 고정 메모리 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 이용하여 구현될 수 있다. 프로세서(1710)는 기술 환경에 적합한 임의의 타입의 것일 수 있고, 비제한적인 예로서 마이크로프로세서, 범용 컴퓨터, 특수 목적 컴퓨터 및 다중 코어 아키텍처에 기초한 프로세서 중 하나 이상을 포함할 수 있다.
다양한 방법들이 전술되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용이 수정되거나 조합될 수 있다.
본 명세서에 설명된 구현들은 예로서 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 비록 단일 형태의 구현의 맥락으로만 설명되었더라도(예로서, 오로지 방법으로서만 논의됨), 논의된 특징들의 구현은 다른 형태들(예로서, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예로서 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예로서 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능 로직 디바이스를 포함하는 처리 디바이스들을 일반적으로 지칭하는 예를 들어 프로세서와 같은 장치에서 예를 들어 구현될 수 있다. 프로세서들은 또한 예로서 컴퓨터들, 셀 폰들, 휴대용/개인용 정보 단말들(PDA들), 및 최종 사용자들 사이의 정보 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
본 원리들의 "일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현"뿐만 아니라 이들의 다른 변경에 대한 참조들은, 실시예와 관련하여 설명되는 특정한 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 위치들에서 등장하는 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"뿐만 아니라 임의의 다른 변경들의 출현은 반드시 모두 동일 실시예를 가리키는 것은 아니다.
추가적으로, 본 출원 또는 그의 청구항들은 다양한 정보 피스를 결정하는 것을 지칭할 수 있다. 정보를 결정하는 것은, 예로서, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원 또는 그 청구항들은 다양한 정보 피스에 액세스하는 것을 지칭할 수 있다. 정보에 액세스하는 것은, 예로서, 정보를 수신하는 것, (예로서, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 전송하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
추가적으로, 본 출원 또는 그 청구항들은 다양한 정보 피스를 수신하는 것을 지칭할 수 있다. 수신하는 것은, 액세스하는 것에서와 같이, 광의의 용어로 의도된다. 정보의 수신은, 예로서 정보의 액세스 또는(예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 추가적으로, 수신하는 것은 통상적으로, 어떻든지, 예로서 정보를 저장하는 것, 정보를 처리하는 것, 정보를 전송하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 수반된다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은 예로서 저장되거나 전송될 수 있는 정보를 운반하도록 포맷된 다양한 신호를 생성할 수 있다. 정보는 예로서 방법을 수행하기 위한 명령어들, 또는 설명된 구현 예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예로서, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷될 수 있다. 이러한 신호는, 예로서, (예로서, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 기저대역 신호로서 포맷될 수 있다. 포맷은, 예로서, 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예로서, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 다양한 상이한 유선 또는 무선 링크들을 통해 전송될 수 있다. 신호는 프로세서 판독가능 매체상에 저장될 수 있다.

Claims (27)

  1. 비디오 데이터를 인코딩하기 위한 방법으로서,
    2D 픽처의 제1 블록에 대한 인트라 예측을 위한 방향성 모드에 액세스하는 단계 - 상기 2D 픽처는 인코딩에 적합한 제1 포맷으로 표현되고, 상기 픽처는 제2 포맷으로 렌더링하기 위한 것이고, 상기 제2 포맷은 상기 2D 픽처가 매핑되는 3D 표면으로부터의 투영에 대응함 -;
    상기 방향성 모드에 기초하여 복수의 룩업 테이블(LUT) 중에서 하나의 LUT를 결정하는 단계 - 상기 복수의 LUT는 복수의 방향성 모드에 각각 대응함 -;
    상기 제1 블록에 인접한 재구성된 블록들에서 복수의 참조 샘플을 결정하는 단계;
    상기 제1 블록의 위치에 기초하여 상기 LUT의 일부에 액세스하고 상기 LUT의 일부에 기초하여 상기 제1 블록에 대한 예측된 블록을 형성하는 단계 - 상기 LUT의 일부의 복수의 엔트리는 상기 예측된 블록의 복수의 샘플 위치에 대응하고, 상기 복수의 엔트리는 상기 2D 픽처에서의 복수의 비직선 곡선을 나타내고, 상기 참조 샘플들은 상기 예측된 블록을 형성하기 위해 상기 2D 픽처에서의 복수의 비직선 곡선을 따라 상기 예측된 블록의 샘플 위치들로 전파되고, 상기 2D 픽처에서의 비직선 곡선들은 상기 2D 픽처의 투영에서의 직선들에 매핑함 -;
    상기 방향성 모드를 인코딩하는 단계; 및
    상기 제1 블록과 상기 예측된 블록 사이의 차이를 인코딩하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 제1 포맷과 상기 제2 포맷 사이의 매핑은 비트스트림으로 시그널링되는 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 LUT의 일부에 액세스하는 단계는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 방법.
  8. 제1항에 있어서, 상기 LUT의 액세스된 일부는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 방법.
  9. 제1항에 있어서, 상기 2D 픽처의 제1 절반에 대한 상기 LUT의 개별적인 엔트리들은 상기 2D 픽처의 제2 절반에 대해 미러링되는 방법.
  10. 제1항에 있어서, 상기 LUT의 일부에 액세스하는 단계는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치 및 상기 제1 블록의 크기에 기초하는 방법.
  11. 제1항에 있어서, 상기 복수의 엔트리의 개별적인 값들은 상기 참조 샘플들이 상기 제1 블록 위의 또는 상기 제1 블록 좌측의 재구성된 블록들에 있는지를 나타내는 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 비디오 데이터를 인코딩하기 위한 장치로서,
    하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    2D 픽처의 제1 블록에 대한 인트라 예측을 위한 방향성 모드에 액세스하고 - 상기 2D 픽처는 인코딩에 적합한 제1 포맷으로 표현되고, 상기 픽처는 제2 포맷으로 렌더링하기 위한 것이고, 상기 제2 포맷은 상기 2D 픽처가 매핑되는 3D 표면으로부터의 투영에 대응함 -;
    상기 방향성 모드에 기초하여 복수의 룩업 테이블(LUT) 중에서 하나의 LUT를 결정하고 - 상기 복수의 LUT는 복수의 방향성 모드에 각각 대응함 -;
    상기 제1 블록에 인접한 재구성된 블록들에서 복수의 참조 샘플을 결정하고;
    상기 제1 블록의 위치에 기초하여 상기 LUT의 일부에 액세스하고 상기 LUT의 일부에 기초하여 상기 제1 블록에 대한 예측된 블록을 형성하고 - 상기 LUT의 일부의 복수의 엔트리는 상기 예측된 블록의 복수의 샘플 위치에 대응하고, 상기 복수의 엔트리는 상기 2D 픽처에서의 복수의 비직선 곡선을 나타내고, 상기 참조 샘플들은 상기 예측된 블록을 형성하기 위해 상기 2D 픽처에서의 복수의 비직선 곡선을 따라 상기 예측된 블록의 샘플 위치들로 전파되고, 상기 2D 픽처에서의 비직선 곡선들은 상기 2D 픽처의 투영에서의 직선들에 매핑함 -;
    상기 방향성 모드를 인코딩하고;
    상기 제1 블록과 상기 예측된 블록 사이의 차이를 인코딩하도록
    구성되는 장치.
  16. 제15항에 있어서, 상기 LUT의 일부에 액세스하는 것은 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 장치.
  17. 제15항에 있어서, 상기 LUT의 액세스된 일부는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 장치.
  18. 제15항에 있어서, 상기 2D 픽처의 제1 절반에 대한 상기 LUT의 개별적인 엔트리들은 상기 2D 픽처의 제2 절반에 대해 미러링되는 장치.
  19. 비디오 데이터를 디코딩하기 위한 방법으로서,
    2D 픽처의 제1 블록에 대한 인트라 예측을 위한 방향성 모드에 액세스하는 단계 - 상기 2D 픽처는 디코더 출력을 위한 제1 포맷으로 표현되고, 상기 픽처의 디코딩된 버전은 제2 포맷으로 렌더링하기 위한 것이고, 상기 제2 포맷은 상기 2D 픽처가 매핑되는 3D 표면으로부터의 투영에 대응함 -;
    상기 방향성 모드에 기초하여 복수의 룩업 테이블(LUT) 중에서 하나의 LUT를 결정하는 단계 - 상기 복수의 LUT는 복수의 방향성 모드에 각각 대응함 -;
    상기 제1 블록에 인접한 디코딩된 블록들에서 복수의 참조 샘플을 결정하는 단계;
    상기 제1 블록의 위치에 기초하여 상기 LUT의 일부에 액세스하고 상기 LUT의 일부에 기초하여 상기 제1 블록에 대한 예측된 블록을 형성하는 단계 - 상기 LUT의 일부의 복수의 엔트리는 상기 예측된 블록의 복수의 샘플 위치에 대응하고, 상기 복수의 엔트리는 상기 2D 픽처에서의 복수의 비직선 곡선을 나타내고, 상기 참조 샘플들은 상기 예측된 블록을 형성하기 위해 상기 2D 픽처에서의 복수의 비직선 곡선을 따라 상기 예측된 블록의 샘플 위치들로 전파되고, 상기 2D 픽처에서의 비직선 곡선들은 상기 2D 픽처의 투영에서의 직선들에 매핑함 -; 및
    상기 예측된 블록을 이용하여 상기 제1 블록을 디코딩하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서, 상기 제1 포맷과 상기 제2 포맷 사이의 매핑은 비트스트림으로 시그널링되는 방법.
  21. 제19항에 있어서, 상기 LUT의 일부에 액세스하는 단계는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 방법.
  22. 제19항에 있어서, 상기 LUT의 액세스된 일부는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 방법.
  23. 제19항에 있어서, 상기 2D 픽처의 제1 절반에 대한 상기 LUT의 개별적인 엔트리들은 상기 2D 픽처의 제2 절반에 대해 미러링되는 방법.
  24. 제19항에 있어서, 상기 LUT의 일부에 액세스하는 단계는 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치 및 상기 제1 블록의 크기에 기초하는 방법.
  25. 비디오 데이터를 디코딩하기 위한 장치로서,
    하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    2D 픽처의 제1 블록에 대한 인트라 예측을 위한 방향성 모드에 액세스하고 - 상기 2D 픽처는 디코더 출력을 위한 제1 포맷으로 표현되고, 상기 픽처의 디코딩된 버전은 제2 포맷으로 렌더링하기 위한 것이고, 상기 제2 포맷은 상기 2D 픽처가 매핑되는 3D 표면으로부터의 투영에 대응함 -;
    상기 방향성 모드에 기초하여 복수의 룩업 테이블(LUT) 중에서 하나의 LUT를 결정하고 - 상기 복수의 LUT는 복수의 방향성 모드에 각각 대응함 -;
    상기 제1 블록에 인접한 디코딩된 블록들에서 복수의 참조 샘플을 결정하고;
    상기 제1 블록의 위치에 기초하여 상기 LUT의 일부에 액세스하고 상기 LUT의 일부에 기초하여 상기 제1 블록에 대한 예측된 블록을 형성하고 - 상기 LUT의 일부의 복수의 엔트리는 상기 예측된 블록의 복수의 샘플 위치에 대응하고, 상기 복수의 엔트리는 상기 2D 픽처에서의 복수의 비직선 곡선을 나타내고, 상기 참조 샘플들은 상기 예측된 블록을 형성하기 위해 상기 2D 픽처에서의 복수의 비직선 곡선을 따라 상기 예측된 블록의 샘플 위치들로 전파되고, 상기 2D 픽처에서의 비직선 곡선들은 상기 2D 픽처의 투영에서의 직선들에 매핑함 -;
    상기 예측된 블록을 이용하여 상기 제1 블록을 디코딩하도록
    구성되는 장치.
  26. 제25항에 있어서, 상기 LUT의 일부에 액세스하는 것은 상기 2D 픽처의 수직 방향에서의 상기 제1 블록의 위치에 기초하는 장치.
  27. 제25항에 있어서, 상기 2D 픽처의 제1 절반에 대한 상기 LUT의 개별적인 엔트리들은 상기 2D 픽처의 제2 절반에 대해 미러링되는 장치.
KR1020197009038A 2016-09-30 2017-09-28 적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치 KR102424140B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16306269.8 2016-09-30
EP16306269.8A EP3301931A1 (en) 2016-09-30 2016-09-30 Method and apparatus for omnidirectional video coding with adaptive intra prediction
PCT/EP2017/074672 WO2018060358A1 (en) 2016-09-30 2017-09-28 Method and apparatus for omnidirectional video coding and decoding with adaptive intra prediction

Publications (2)

Publication Number Publication Date
KR20190052016A KR20190052016A (ko) 2019-05-15
KR102424140B1 true KR102424140B1 (ko) 2022-07-25

Family

ID=57138005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197009038A KR102424140B1 (ko) 2016-09-30 2017-09-28 적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US11089296B2 (ko)
EP (2) EP3301931A1 (ko)
JP (1) JP7008903B2 (ko)
KR (1) KR102424140B1 (ko)
CN (1) CN109804633B (ko)
WO (1) WO2018060358A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10715818B2 (en) 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
EP3435676A1 (en) * 2017-07-25 2019-01-30 Thomson Licensing Method and apparatus for encoding and decoding an omnidirectional video
GB2567859A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
KR20200139830A (ko) * 2018-05-21 2020-12-14 엘지전자 주식회사 영상 코딩 시스템에서 lut를 기반으로 도출된 mvd를 사용하는 영상 디코딩 방법 및 그 장치
KR102664681B1 (ko) * 2018-06-19 2024-05-09 삼성전자 주식회사 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법
CN110662087B (zh) * 2018-06-30 2021-05-11 华为技术有限公司 点云编解码方法和编解码器
US10893299B2 (en) 2018-07-31 2021-01-12 Intel Corporation Surface normal vector processing mechanism
US11178373B2 (en) 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
US11212506B2 (en) 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
US10887574B2 (en) * 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US10762394B2 (en) 2018-07-31 2020-09-01 Intel Corporation System and method for 3D blob classification and transmission
US11057631B2 (en) 2018-10-10 2021-07-06 Intel Corporation Point cloud coding standard conformance definition in computing environments
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
US11012710B2 (en) 2019-03-06 2021-05-18 Tencent America LLC Techniques for intra prediction for 360 image and video coding
US11019360B2 (en) * 2019-03-21 2021-05-25 Qualcomm Incorporated Generalized reference sample derivation methods for intra prediction in video coding
US10855983B2 (en) 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search
CN112449171B (zh) * 2019-09-03 2021-10-29 上海交通大学 点云分视角传输的编码方法、系统及介质
WO2021045536A1 (en) * 2019-09-04 2021-03-11 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing imu sensor data for cloud virtual reality
US20230050660A1 (en) * 2020-02-13 2023-02-16 Google Llc Intra Prediction for Image and Video Compression
CN111818333B (zh) * 2020-06-16 2022-04-29 中国科学院深圳先进技术研究院 一种帧内预测方法、装置、终端及存储介质
US11563977B2 (en) 2020-09-24 2023-01-24 Tencent America LLC Method and apparatus for video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012095350A1 (de) 2011-01-14 2012-07-19 Siemens Aktiengesellschaft Verfahren und vorrichtungen zur bildung eines prädiktionswertes
US20160112489A1 (en) 2014-10-20 2016-04-21 Google Inc. Streaming the visible parts of a spherical video

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0714859A2 (pt) 2006-08-02 2013-05-21 Thomson Licensing mÉtodo e aparelho para particionamento geomÉtrico adaptativo para codificaÇço de vÍdeo e estrutura de sinal de vÍdeo para codificaÇço de vÍdeo
EP2070333A2 (en) 2006-09-29 2009-06-17 Thomson Licensing Geometric intra prediction
US8787693B2 (en) 2008-04-15 2014-07-22 Orange Prediction of images by prior determination of a family of reference pixels, coding and decoding using such a prediction
KR101379188B1 (ko) * 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
WO2014171713A1 (ko) 2013-04-15 2014-10-23 인텔렉추얼 디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
CN106664403B (zh) * 2014-10-20 2020-10-16 谷歌有限责任公司 连续预测域
US20160112713A1 (en) * 2014-10-20 2016-04-21 Google Inc. Mapping spherical image to 2d representations
US9918082B2 (en) * 2014-10-20 2018-03-13 Google Llc Continuous prediction domain
US9918094B2 (en) * 2014-10-20 2018-03-13 Google Llc Compressing and representing multi-view video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012095350A1 (de) 2011-01-14 2012-07-19 Siemens Aktiengesellschaft Verfahren und vorrichtungen zur bildung eines prädiktionswertes
US20160112489A1 (en) 2014-10-20 2016-04-21 Google Inc. Streaming the visible parts of a spherical video

Also Published As

Publication number Publication date
US20190260989A1 (en) 2019-08-22
US11089296B2 (en) 2021-08-10
EP3301931A1 (en) 2018-04-04
WO2018060358A1 (en) 2018-04-05
EP3520413A1 (en) 2019-08-07
CN109804633A (zh) 2019-05-24
KR20190052016A (ko) 2019-05-15
JP7008903B2 (ja) 2022-01-25
JP2019530350A (ja) 2019-10-17
CN109804633B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
KR102424140B1 (ko) 적응적 인트라 예측에 의한 전방향성 비디오 코딩 및 디코딩을 위한 방법 및 장치
KR102462344B1 (ko) 적응적 인트라 최고 확률 모드들에 의한 전방향성 비디오 코딩을 위한 방법 및 장치
EP3301916A1 (en) Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
US20200029092A1 (en) Method and apparatus for encoding and decoding a large field of view video
WO2018118159A1 (en) Sphere projected motion estimation/compensation and mode decision
US20190238848A1 (en) Method and apparatus for calculating quantization parameters to encode and decode an immersive video
US20190238853A1 (en) Method and apparatus for encoding and decoding an omnidirectional video
US20220345728A1 (en) Method and apparatus for encoding and decoding a large field of view video
CN111052746B (zh) 用于编码和解码全向视频的方法和装置
US20200275110A1 (en) Method and apparatus for motion vector predictor adaptation for omnidirectional video
US20200236370A1 (en) Method and apparatus for coding of omnidirectional video

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant