KR20200053498A - 전방위 비디오를 위한 움직임 벡터 예측기의 적응을 위한 방법 및 장치 - Google Patents

전방위 비디오를 위한 움직임 벡터 예측기의 적응을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20200053498A
KR20200053498A KR1020207007535A KR20207007535A KR20200053498A KR 20200053498 A KR20200053498 A KR 20200053498A KR 1020207007535 A KR1020207007535 A KR 1020207007535A KR 20207007535 A KR20207007535 A KR 20207007535A KR 20200053498 A KR20200053498 A KR 20200053498A
Authority
KR
South Korea
Prior art keywords
motion vector
block
point
vector predictor
predictor
Prior art date
Application number
KR1020207007535A
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 KR20200053498A publication Critical patent/KR20200053498A/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/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/513Processing of motion vectors
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

방법 및 장치는 전방위 비디오에 대한 적합성을 위해 움직임 벡터 예측을 적응시킨다. 일 실시예는 시간적 움직임 벡터 예측기 또는 리스케일링된 움직임 벡터 예측기의 취급을 개선한다. 다른 실시예는 공간 움직임 벡터 예측기에 적합하고, 다른 실시예는 시간적 또는 공간적 움직임 벡터 예측기의 조합에 적합하다. 이 방법은 예측기의 타임 인덱스, 레퍼런스 이미지의 예측기의 타임 인덱스, 레퍼런스 이미지의 현재 블록의 타임 인덱스, 및 현재 블록의 타임 인덱스 중 적어도 하나로부터 도출된 스케일 팩터를 분석한다. 예를 들어, 스케일 팩터가 1 보다 크면, 움직임 벡터 변환은 움직임 벡터 리스케일링 이전에 수행된다. 그러나, 스케일 팩터가 1 이하인 경우, 움직임 벡터 리스케일링은 움직임 벡터 변환 전에 수행된다.

Description

전방위 비디오를 위한 움직임 벡터 예측기의 적응을 위한 방법 및 장치
본 발명은 일반적으로 비디오 압축 분야에 관한 것이며, 특히 전방위 비디오 분야에 관한 것이다.
최근에 이용 가능한 넓은 시야(Field of View) 콘텐츠(360° 까지)가 증가했다. 이러한 콘텐츠는 잠재적으로는 사용자가 HMD(Head Mounted Displays), 스마트 안경(smart glasses), PC 스크린, 태블릿(tablets), 스마트폰 등과 같은 몰입형 디스플레이 디바이스(immersive display devices)에서 콘텐츠를 보고 있을 때 완전히 보이지 않을 수 있다. 즉, 주어진 순간에 사용자는 콘텐츠의 일부만 보고 있을 수 있다. 그러나, 사용자는 일반적으로 머리 움직임, 마우스 움직임, 터치 스크린, 음성 등과 같은 다양한 수단에 의해 콘텐츠 내에서 탐색할 수 있다. 일반적으로, 이 콘텐츠를 인코딩하고 디코딩하는 것이 바람직하다.
종래 기술의 이러한 및 이외의 약점 및 단점은 움직임 벡터의 증가된 정밀도를 통해 비디오 인코더 및 디코더의 압축 효율을 개선하기 위한 방법 및 장치에 관한 기술된 실시예 중 적어도 하나에 의해 해결된다.
적어도 하나의 실시예에서, 방법이 제공된다. 이 방법은 화상 블록(a block of a picture)의 움직임 벡터 예측기에 대한 스케일 팩터(scale factor)를 계산하는 단계; 스케일 팩터에 기초하는 순서로, 움직임 벡터 예측기상에서 움직임 벡터 리스케일링(rescaling) 및 움직임 벡터 변환(transformation)을 수행하는 단계; 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 화상 블록에 대한 움직임 보상(motion compensation)을 수행하는 단계; 및 움직임 보상된 비디오 데이터 블록을 인코딩하는 단계를 포함한다.
적어도 하나의 다른 실시예에서, 방법이 제공된다. 이 방법은 화상 블록의 움직임 벡터 예측기에 대한 스케일 팩터를 계산하는 단계; 스케일 팩터에 기초하는 순서로, 움직임 벡터 예측기상에서 움직임 벡터 리스케일링 및 움직임 벡터 변환을 수행하는 단계; 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 화상 블록에 대해 움직임 보상을 수행하는 단계; 및 움직임 보상된 비디오 데이터 블록을 디코딩하는 단계를 포함한다.
다른 실시예에서, 전술한 방법 중 어느 하나에 따른 방법이 제공되며, 이 방법은 프레임 레이트 업 변환(frame rate up conversion), 진보된 움직임 벡터 예측(advanced motion vector prediction), 진보된 시간적 움직임 벡터 예측(advanced temporal motion vector prediction), 또는 이들 움직임 보상 기술의 임의의 조합에 사용된다.
다른 실시예에서, 장치가 제공된다. 이 장치는 메모리 및 프로세서를 포함한다. 프로세서는 전술한 방법 실시예들의 임의의 변형을 수행하도록 구성된다.
본 명세서에 기술된 다른 양태에 따르면, 프로세서를 사용한 재생을 위해, 전술한 방법 실시예들 중 어느 하나의 방법에 따라, 또는 전술한 장치 실시예들 중 어느 하나의 장치에 의해 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독 가능 저장 매체(nontransitory computer readable storage medium)가 제공된다.
본 명세서에 기술된 다른 양태에 따르면, 프로세서를 사용한 재생을 위해, 비디오 데이터의 블록을 코딩하기 위한 전술한 방법 실시예들 중 어느 하나의 방법에 따라, 또는 비디오 데이터의 블록을 코딩을 위한 전술한 장치 실시예들 중 어느 하나의 장치에 의해 생성된 비디오 데이터를 포함하는 신호가 제공된다.
본 명세서에 기술된 다른 양태에 따르면, 프로그램이 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 전술한 방법 실시예들 중 어느 하나의 방법을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 원리의 이들 및 다른 양태, 특징 및 장점은 첨부 도면과 관련하여 읽혀질 예시적인 실시예에 대한 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 특정한 비제한적 실시예에 따라 전방위 비디오를 인코딩 및 디코딩 하기 위한 예시적인 시스템을 도시한다.
도 2 내지 도 6은 다양한 실시예들에 따른 몰입형 비디오를 디코딩, 프로세싱 및 렌더링하도록 구성된 시스템을 도시한다.
도 7 내지 도 9는 다양한 실시예들에 따른 몰입형 비디오를 디코딩, 처리 및 렌더링하도록 구성된 몰입형 벽(immersive wall)을 갖는 시스템을 도시한다.
도 10 내지 도 12는 다양한 실시예들에 따른 몰입형 비디오 렌더링 디바이스를 도시한다.
도 13a 및 도 13b는 구형 표면 S로부터 직사각형 화상 F로의 투영의 예를 도시한다.
도 14a 및 도 14b는 큐브 표면 S로부터 6개의 화상으로의 투영 및 2차원(2D) 화상으로 투영된 큐브의 6개 면의 레이아웃의 예를 도시한다.
도 15a 및 도 15b는 전방위 비디오를 나타내는 3차원(3D) 표면의 투영된 화상 F에서의 움직이는 물체 및 투영된 화상의 블록 분할에서의 대응하는 움직임 벡터를 도시한다.
도 16a 및 도 16b는 프레임 좌표로부터 렌더링된 프레임으로, 그리고 렌더링된 프레임으로부터 인코딩된 프레임으로의 매핑을 도시한다.
도 17은 움직임 벡터 예측기 스케일링(scaling)의 예를 도시한다.
도 18은 설명된 양태들이 적용될 수 있는 인코더의 예를 도시한다.
도 19는 설명된 양태들이 적용될 수 있는 디코더의 예를 도시한다.
도 20은 움직임 보상 블록에서의 추가적인 상세한 예를 도시한다.
도 21은 설명된 양태들에 따른 움직임 벡터 변환/리스케일링을 위한 흐름도의 예를 도시한다.
도 22는 설명된 양태들에 따른 인코딩 방법의 일 실시예를 도시한다.
도 23은 설명된 양태들에 따른 디코딩 방법의 일 실시예를 도시한다.
도 24는 설명된 양태들에 따른 인코딩 또는 디코딩 장치의 일 실시예를 도시한다.
전방위 콘텐츠는 일반적으로 주어진 레이아웃에 투영되므로, 인코딩/디코딩할 최종 콘텐츠는 기존 코덱에서 처리하기에 편리한 직사각형 프레임에 맞게 된다. 매핑(mapping)에 따라, 압축 성능을 저하시킬 수 있는 기하학적 왜곡이 도입될 수 있다. 특히, 정방형(equi-rectangular)(ERP) 매핑을 다룰 때는 움직임 벡터 예측이 적응되지 않을 수 있다. 이하의 실시예들은 비슷한 속성을 지닌 다른 매핑들로도 확장될 수 있다.
설명된 실시예들 중 적어도 하나는 ERP 매핑에 적응되는 새로운 움직임 벡터 예측을 설계하는 데 사용된다. 종래 기술에 대한 몇몇 개선, 특히 시간적 움직임 벡터 예측기 또는 리스케일링된 움직임 벡터 예측기를 다루기 위한 더 나은 방법이 만들어졌다.
넓은 시야 콘텐츠는, 특히, 3차원 컴퓨터 그래픽 이미지 장면(3D CGI scene), 포인트 클라우드(point cloud) 또는 몰입형 비디오(immersive video) 일 수 있다. 몰입형 비디오를 설계하는 데 VR(Virtual Reality), 360, 파노라마(panoramic), 4π, 입체 호도법(steradians), 몰입형, 전방위, 넓은 시야 등의 많은 용어들이 사용될 수 있다.
몰입형 비디오는 일반적으로 "정규(regular)" 비디오와 같이 픽셀의 2차원 배열(즉, 컬러 정보 요소)인 직사각형 프레임 상에 인코딩된 비디오를 지칭한다. 많은 구현에서, 다음 프로세스들이 수행될 수 있다. 렌더링되기 위해, 프레임은, 먼저 매핑 표면(예를 들어, 구, 큐브, 피라미드)이라고도 하는 볼록한 체적의 내면에 매핑되고, 두번째로, 이 체적의 일부는 가상 카메라(virtual camera)에 의해 캡처(capture)된다. 가상 카메라로 캡처된 이미지들은 몰입형 디스플레이 디바이스의 화면에 렌더링된다. 입체 비디오는 하나 또는 두 개의 직사각형 프레임에 인코딩되며, 디바이스의 특성에 따라 두 개의 가상 카메라에 의해 캡처되도록 결합된 두 개의 매핑 표면에 투영된다.
프레임 내의 매핑 함수에 따라 픽셀들이 인코딩될 수 있다. 매핑 함수는 매핑 표면에 의존할 수 있다. 동일한 매핑 표면에 대해 몇 가지 매핑 함수가 가능하다. 예를 들어, 큐브의 면들은 프레임 표면 내의 상이한 레이아웃들에 따라 구조화될 수 있다. 구는 예를 들어 정방형 투영법 또는 투시방위도법(gnomonic projection)에 따라 매핑될 수 있다. 선택된 투영 함수에 기인하는 픽셀들의 조직은 라인 연속성(line continuities), 정규 직교 로컬 프레임(orthonormal local frame), 픽셀 밀도(pixel densities)를 수정하거나 끊고, 시간과 공간의 주기성을 도입한다. 이는 비디오를 인코딩하고 디코딩하는 데 사용되는 일반적인 특징이다. 기존의 인코딩 및 디코딩 방법들은 일반적으로 몰입형 비디오의 특수성을 고려하지 않는다. 실제로, 몰입형 비디오는 360° 비디오일 수 있으므로, 예를 들어, 패닝은 장면의 내용이 변경되지 않는 동안 대량의 데이터가 인코딩될 것을 요구하는 움직임 및 불연속성을 도입한다. 비디오 프레임들을 인코딩 및 디코딩하는 동안 몰입형 비디오의 특수성들을 고려하는 것은 인코딩 또는 디코딩 방법에 유용한 이점들을 가져다 줄 수 있다.
도 1은 특정한 비제한적 실시예에 따라 인코딩 및 디코딩 시스템의 일반적인 개요를 도시한다. 도 1의 시스템은 기능적인 시스템이다. 전처리 모듈(110)은 인코딩 디바이스(120)에 의해 인코딩할 콘텐츠를 준비할 수 있다. 전처리 모듈(110)은 멀티 이미지(multi-image) 취득, 공통 공간(방향들이 인코딩되는 경우 일반적으로 3D 구면)에서의 취득된 다수의 이미지의 병합, 제한적인 것은 아니지만 예를 들어 정방형 매핑 또는 큐브 매핑을 사용한 3D 구로부터 2D 프레임으로의 매핑을 수행할 수 있다. 전처리 모듈(110)은 또한 특정 포맷(예를 들어, 정방형 투영법)의 전방위 비디오를 입력으로 수용할 수 있고, 비디오를 전처리하여 인코딩에 더 적합한 포맷으로 매핑을 변경할 수 있다. 취득한 비디오 데이터 표현에 따라, 전처리 모듈(110)은 매핑 공간 변경을 수행할 수 있다.
인코딩 디바이스(120) 및 인코딩 방법은 본 명세서의 다른 도면들과 관련하여 설명될 것이다. 인코딩된 후, 예를 들어 몰입형 비디오 데이터 또는 3D CGI 인코딩된 데이터는 예를 들어 게이트웨이에 존재하는 임의의 네트워크 인터페이스로 통상적으로 구현될 수 있는 네트워크 인터페이스(130)로 전송된다. 다음으로, 데이터는 인터넷과 같은 통신 네트워크를 통해 전송되지만, 임의의 다른 네트워크가 예상될 수 있다. 다음으로, 이 데이터는 네트워크 인터페이스(140)를 통해 수신된다. 네트워크 인터페이스(140)는 게이트웨이, 텔레비전, 셋톱박스, 헤드 마운트 디스플레이 디바이스, 몰입형(투영) 벽 또는 임의의 몰입형 비디오 렌더링 디바이스 내에서 구현될 수 있다.
수신 후, 데이터는 디코딩 디바이스(150)로 보내진다. 디코딩 기능은 아래의 도 2 내지 도 12에 설명된 처리 기능들 중 하나이다. 다음으로, 디코딩된 데이터는 플레이어(160)에 의해 처리된다. 플레이어(160)는 렌더링 디바이스(170)를 위한 데이터를 준비하고, 센서들로부터의 외부 데이터 또는 사용자 입력 데이터를 수신할 수 있다. 보다 정확하게는, 플레이어(160)는 렌더링 디바이스(170)에 의해 디스플레이될 비디오 콘텐츠의 일부를 준비한다. 디코딩 디바이스(150)와 플레이어(160)는 하나의 디바이스(예를 들어, 스마트폰, 게임 콘솔, 셋톱박스(STB), 태블릿, 컴퓨터 등)로 통합될 수 있다. 다른 실시예들에서, 플레이어(160)는 렌더링 디바이스(170)에 통합될 수 있다.
예를 들어 몰입형 비디오를 렌더링할 때, 몰입형 디스플레이 디바이스의 디코딩, 플레잉 및 렌더링 기능을 수행하기 위한 다양한 타입의 시스템들이 구상될 수 있다.
증강 현실(augmented reality), 가상 현실(virtual reality) 또는 증강 가상 콘텐츠(augmented virtuality content)를 처리하기 위한 제1 시스템은 도 2 내지 도 6에 도시되어 있다. 이러한 시스템은 프로세싱 기능, 헤드 마운트 디스플레이(HMD), 태블릿, 또는 스마트폰일 수 있는 몰입형 비디오 렌더링 디바이스를 포함하고, 센서들을 포함할 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 디스플레이 디바이스와 프로세싱 기능들 사이에 추가적인 인터페이스 모듈들을 포함할 수 있다. 프로세싱 기능들은 하나 또는 수 개의 디바이스에 의해 수행될 수 있다. 프로세싱 기능들은 몰입형 비디오 렌더링 디바이스에 통합되거나 하나 또는 수 개의 프로세싱 디바이스에 통합될 수 있다. 프로세싱 디바이스는 하나 또는 수 개의 프로세서 및 무선 또는 유선 통신 인터페이스와 같은 몰입형 비디오 렌더링 디바이스와의 통신 인터페이스를 포함한다.
프로세싱 디바이스는 또한 인터넷과 같은 광역 액세스 네트워크와의 제2 통신 인터페이스를 포함할 수 있고, 홈 또는 로컬 게이트웨이와 같은 네트워크 디바이스를 통해서 또는 직접, 클라우드 상에 위치한 콘텐츠에 액세스할 수 있다. 프로세싱 디바이스는 또한 이더넷 타입(Ethernet type)의 로컬 액세스 네트워크 인터페이스와 같은 제3 인터페이스를 통해 로컬 저장소에 액세스할 수 있다. 한 실시예에서, 프로세싱 디바이스는 하나 또는 수 개의 프로세싱 유닛을 가진 컴퓨터 시스템일 수 있다. 다른 실시예에서, 프로세싱 디바이스는 유선 또는 무선 링크들을 통해 몰입형 비디오 렌더링 디바이스와 연결될 수 있거나, 몰입형 비디오 렌더링 디바이스 내의 하우징(housing)에 삽입되어 디바이스와 커넥터를 통해 또는 무선으로 통신할 수 있는 스마트폰일 수 있다. 프로세싱 디바이스의 통신 인터페이스들은 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스(wide area network interface), 근거리 네트워크 인터페이스(local area network interface))이거나 무선 인터페이스(예를 들어, IEEE 802.11 인터페이스 또는 블루투스® 인터페이스)이다.
프로세싱 기능들이 몰입형 비디오 렌더링 디바이스에 의해 수행될 때, 몰입형 비디오 렌더링 디바이스는 콘텐츠를 수신 및/또는 전송하기 위해 직접 또는 게이트웨이를 통해 네트워크에 대한 인터페이스를 제공받을 수 있다.
다른 실시예에서, 시스템은 몰입형 비디오 렌더링 디바이스 및 프로세싱 디바이스와 통신하는 보조적인 디바이스를 포함한다. 이러한 실시예에서, 이러한 보조적인 디바이스는 프로세싱 기능들 중 적어도 하나를 포함할 수 있다.
몰입형 비디오 렌더링 디바이스는 하나 또는 수 개의 디스플레이를 포함할 수 있다. 이 디바이스는 각각의 디스플레이의 앞에 렌즈와 같은 광학 장치(optics)를 둘 수 있다. 디스플레이는 또한 스마트폰 또는 태블릿의 경우에서와 같이 몰입형 디스플레이 디바이스의 일부일 수 있다. 다른 실시예에서, 디스플레이 및 광학 장치는 헬멧, 안경, 또는 사용자가 착용할 수 있는 바이저(visor)에 내장될 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 후술하는 바와 같이 여러 센서들을 통합할 수 있다. 몰입형 비디오 렌더링 디바이스는 또한 여러 인터페이스 또는 커넥터를 포함할 수 있다. 이 디바이스는 센서, 프로세싱 기능, 손에 쥐고 쓸 수 있거나 다른 신체 부위에 관련된 디바이스 또는 센서와 통신하기 위한 하나 또는 수 개의 무선 모듈을 포함할 수 있다.
몰입형 비디오 렌더링 디바이스는 또한 하나 이상의 프로세서에 의해 실행되고 콘텐츠를 디코딩하거나 콘텐츠를 처리하도록 구성되는 프로세싱 기능들을 포함할 수 있다. 여기서 콘텐츠를 처리한다는 것에 의해, 디스플레이될 수 있는 콘텐츠를 준비하기 위한 모든 기능이 이해된다. 이는 예를 들어, 콘텐츠를 디코딩하고, 콘텐츠를 디스플레이하기 전에 병합하고, 콘텐츠를 디스플레이 디바이스에 맞게 수정하는 것을 포함할 수 있다.
몰입형 콘텐츠 렌더링 디바이스의 기능 중 하나는 가상 체적으로 구조화된 콘텐츠의 적어도 한 부분을 캡처하는 가상 카메라를 제어하는 것이다. 시스템은 가상 카메라의 포즈(pose)를 처리하기 위해, 전체적으로 또는 부분적으로 사용자의 포즈, 예를 들어, 사용자의 머리 포즈를 추적하는 포즈 추적 센서들을 포함할 수 있다. 일부 위치 센서(positioning sensor)들은 사용자의 변위를 추적할 수 있다. 시스템은 또한, 예를 들어 조명, 온도, 또는 음향 조건들을 측정하기 위해, 환경과 관련된 센서들을 포함할 수 있다. 이러한 센서들은, 예를 들어 발한이나 심박수를 측정하기 위해 사용자의 신체와도 관련될 수 있다. 이러한 센서들을 통해 취득된 정보는 콘텐츠를 처리하는 데 이용될 수 있다. 시스템은 또한 사용자 입력 디바이스들(예를 들어, 마우스, 키보드, 리모컨, 조이스틱)을 포함할 수 있다. 사용자 입력 디바이스들로부터의 정보는 콘텐츠를 처리하거나, 사용자 인터페이스들을 관리하거나, 가상 카메라의 포즈를 제어하는 데 이용될 수 있다. 센서들 또는 사용자 입력 디바이스들은 프로세싱 디바이스 및/또는 몰입형 렌더링 디바이스와 유선 또는 무선 통신 인터페이스를 통해 통신한다.
도 2 내지 도 6을 사용하여, 증강 현실, 가상 현실, 증강 가상 또는 증강 현실에서 가상 현실까지의 임의의 콘텐츠를 디스플레이하기 위한 이 제1 타입의 시스템에 대한 몇 가지 실시예가 설명된다.
도 2는 몰입형 비디오를 디코딩, 처리 및 렌더링하도록 구성된 시스템의 특정 실시예를 도시한다. 시스템은 몰입형 비디오 렌더링 디바이스(10), 센서들(20), 사용자 입력 디바이스들(30), 컴퓨터(40) 및 게이트웨이(50)(임의적)를 포함한다.
도 10에 도시된 몰입형 비디오 렌더링 디바이스(10)는 디스플레이(101)를 포함한다. 디스플레이는 예를 들어 OLED 또는 LCD 타입일 수 있다. 몰입형 비디오 렌더링 디바이스(10)는 예를 들어 HMD, 태블릿 또는 스마트폰이다. 디바이스(10)는 터치 표면(102)(예를 들어, 터치패드 또는 촉각 스크린), 카메라(103), 적어도 하나의 프로세서(104) 및 적어도 하나의 통신 인터페이스(106)와 연결된 메모리(105)를 포함할 수 있다. 적어도 하나의 프로세서(104)는 센서들(20)로부터 수신된 신호들을 처리한다.
센서들로부터의 측정값들 중 일부는 디바이스의 포즈를 계산하고 가상 카메라를 제어하는 데 사용된다. 포즈 추정을 위해 사용되는 센서들은 예를 들어 자이로스코프(gyroscopes), 가속도계(accelerometers) 또는 나침반이다. 예를 들어 카메라 리그(rig of cameras)를 사용하는 더 복잡한 시스템도 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 디바이스(10)의 포즈를 추정하기 위해 이미지 처리를 수행한다. 일부 다른 측정값은 환경 조건이나 사용자의 반응에 따라 콘텐츠를 처리하는 데 사용된다. 환경 및 사용자 관찰에 사용되는 센서들은 예를 들어 마이크(microphones), 광센서(light sensors) 또는 접촉센서(contact sensors)이다. 예를 들어 사용자의 눈을 추적하는 비디오 카메라와 같은 더 복잡한 시스템들도 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 예상되는 측정을 작동시키기 위해 이미지 처리를 수행한다. 센서들(20) 및 사용자 입력 디바이스들(30)로부터의 데이터는 또한 이러한 센서들로부터의 입력에 따라 데이터를 처리할 컴퓨터(40)로 전송될 수 있다.
메모리(105)는 프로세서(104)를 위한 파라미터들과 코드 프로그램 명령어들을 포함한다. 메모리(105)는 또한 센서들(20) 및 사용자 입력 디바이스(30)로부터 수신받은 파라미터들을 포함할 수 있다. 통신 인터페이스(106)는 몰입형 비디오 렌더링 디바이스가 컴퓨터(40)와 통신하는 것을 가능하게 한다. 프로세싱 디바이스의 통신 인터페이스(106)는 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 근거리 네트워크 인터페이스)이거나 무선 인터페이스(IEEE 802.11 인터페이스 또는 블루투스® 인터페이스)이다.
컴퓨터(40)는 몰입형 비디오 렌더링 디바이스(10)에게 데이터를 전송하고, 임의적으로 제어 명령들을 전송한다. 컴퓨터(40)는 데이터의 처리를 담당하는데, 즉, 몰입형 비디오 렌더링 디바이스(10)에 의해 데이터가 디스플레이될 수 있도록 준비한다. 처리는 컴퓨터(40)에 의해 독점적으로 행해질 수도 있고, 또는 처리의 일부만 컴퓨터(40)에 의하고 일부는 몰입형 비디오 렌더링 디바이스(10)에 의할 수도 있다. 컴퓨터(40)는 직접적으로 또는 게이트웨이나 네트워크 인터페이스(50)를 통해 인터넷과 연결된다. 컴퓨터(40)는 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 수신하고, 이 데이터를 처리하고(예를 들어, 데이터를 디코딩하고, 아마도 몰입형 비디오 렌더링 디바이스(10)에 의해 디스플레이될 비디오 콘텐츠의 일부를 준비한다), 처리된 데이터를 디스플레이하기 위해 몰입형 비디오 렌더링 디바이스(10)로 보낸다. 다른 실시예에서, 시스템은 몰입형 비디오를 나타내는 데이터를 저장할 로컬 저장소(미도시)를 또한 포함할 수 있고, 상기 로컬 저장소는 예를 들어 컴퓨터(40)에, 또는 근거리 네트워크(local area network)를 통해 액세스 가능한 로컬 서버(미도시)에 위치할 수 있다.
도 3은 제2 실시예를 나타낸다. 이 실시예에서, STB(90)는 인터넷과 같은 네트워크에 직접적으로(즉, STB(90)가 네트워크 인터페이스를 포함하는 경우) 또는 게이트웨이(50)를 거쳐서 연결된다. STB(90)는 유선 인터페이스 또는 무선 인터페이스를 통해 텔레비전 세트(100) 또는 몰입형 비디오 렌더링 디바이스(200)와 같은 렌더링 디바이스들에 연결된다. STB의 전형적인 기능들에 더하여, STB(90)는 텔레비전(100)이나 임의의 몰입형 비디오 렌더링 디바이스(200)에서 렌더링하기 위한 비디오 콘텐츠를 처리하기 위한 프로세싱 기능들을 포함한다. 이러한 프로세싱 기능들은 컴퓨터(40)에 대해 설명된 것과 동일하고 여기서 다시 설명되지 않는다. 센서(20)와 사용자 입력 디바이스(30) 또한 앞서 도 2에서 설명된 것과 동일한 타입이다. STB(90)는 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득한다. 또 다른 실시예에서, STB(90)는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 몰입형 비디오를 나타내는 데이터를 획득한다.
도 4는 도 2에 표현된 것에 관련된 제3 실시예를 나타낸다. 게임 콘솔(60)은 콘텐츠 데이터를 처리한다. 게임 콘솔(60)은 몰입형 비디오 렌더링 디바이스(10)에게 데이터를 전송하고, 임의적으로 제어 명령들을 전송한다. 게임 콘솔(60)은 몰입형 비디오를 나타내는 데이터를 처리하고 처리된 데이터를 디스플레이하기 위해 몰입형 비디오 렌더링 디바이스(10)에 전송하도록 구성된다. 처리는 게임 콘솔(60)에 의해 독점적으로 행해질 수도 있고, 또는 처리의 일부가 몰입형 비디오 렌더링 디바이스(10)에 의해 행해질 수도 있다.
게임 콘솔(60)은 직접 또는, 게이트웨이 또는 네트워크 인터페이스(50)를 통해 인터넷에 연결된다. 게임 콘솔(60)은 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득한다. 다른 실시예에서, 게임 콘솔(60)은 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 몰입형 비디오를 나타내는 데이터를 획득하고, 상기 로컬 저장소는 예를 들어 게임 콘솔(60)에, 또는 근거리 네트워크를 통해 액세스 가능한 로컬 서버(미도시)에 위치할 수 있다.
게임 콘솔(60)은 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 수신하고, 이들 데이터를 처리하고(예를 들어, 디코딩하고, 아마도 디스플레이될 비디오의 일부를 준비 할 수 있음), 처리된 데이터를 디스플레이하기 위해 몰입형 비디오 렌더링 디바이스(10)에 전송한다. 게임 콘솔(60)은 센서들(20) 및 사용자 입력 디바이스들(30)로부터 데이터를 수신할 수 있고, 수신한 데이터를 인터넷이나 로컬 저장소로부터 획득한 몰입형 비디오를 나타내는 데이터를 처리하는 데 이용할 수 있다.
도 5는 몰입형 비디오 렌더링 디바이스(70)가 하우징(705)에 삽입된 스마트폰(701)에 의해 형성되는 상기 제1 타입의 시스템의 제4 실시예를 나타낸다. 스마트폰(701)은 인터넷에 연결될 수 있고, 따라서 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 얻을 수 있다. 다른 실시예에서, 스마트폰(701)은 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 몰입형 비디오를 나타내는 데이터를 획득하고, 상기 로컬 저장소는 예를 들어 스마트폰(701)에, 또는 근거리 네트워크를 통해 액세스 가능한 로컬 서버(미도시)에 있을 수 있다.
몰입형 비디오 렌더링 디바이스(70)는 몰입형 비디오 렌더링 디바이스(70)의 바람직한 실시예를 제공하는 도 11을 참조하여 설명된다. 이것은 적어도 하나의 네트워크 인터페이스(702), 및 스마트폰(701)을 위한 하우징(705)을 임의적으로 포함한다. 스마트폰(701)은 스마트폰과 디스플레이의 모든 기능을 포함한다. 스마트폰의 디스플레이는 몰입형 비디오 렌더링 디바이스(70)의 디스플레이로 사용된다. 따라서, 스마트폰(701)의 것 이외의 디스플레이는 포함되지 않는다. 그러나, 렌즈와 같은 광학 장치(704)는 스마트폰 디스플레이의 데이터를 보기 위해 포함된다. 스마트폰(701)은 아마도 센서들(20) 및 사용자 입력 디바이스들(30)로부터 수신된 데이터에 따라서 몰입형 비디오를 나타내는 데이터를 처리(예를 들어, 디코딩, 및 디스플레이를 위해 준비하는 것)하도록 구성된다. 센서들로부터의 일부 측정값들은 디바이스의 포즈를 계산하고 가상 카메라를 제어하기 위해 사용된다. 포즈 추정을 위해 사용되는 센서들은 예를 들어 자이로스코프, 가속도계 또는 나침반이다. 예를 들어 카메라 리그를 사용하는 더 복잡한 시스템도 사용될 수 있다. 이 경우, 적어도 하나의 프로세서가 디바이스(10)의 포즈를 추정하기 위한 이미지 처리를 수행한다. 일부 다른 측정값은 환경 조건이나 사용자의 반응에 따라 콘텐츠를 처리하는 데 사용된다. 환경 및 사용자 관찰에 사용되는 센서들은 예를 들어 마이크, 광센서(light sensors) 또는 접촉센서(contact sensors)이다. 예를 들어 사용자의 눈을 추적하는 비디오 카메라와 같은 더 복잡한 시스템도 사용될 수 있다. 이 경우, 적어도 하나의 프로세서는 예상되는 측정을 작동시키기 위해 이미지 처리를 수행한다.
도 6은 몰입형 비디오 렌더링 디바이스(80)가 데이터 콘텐츠를 처리하고 디스플레이하기 위한 모든 기능을 포함하는 상기 제1 타입 시스템의 제5 실시예를 나타낸다. 이 시스템은 몰입형 비디오 렌더링 디바이스(80), 센서들(20) 및 사용자 입력 디바이스들(30)을 포함한다. 몰입형 비디오 렌더링 디바이스(80)는 센서들(20) 및 사용자 입력 디바이스들(30)로부터 수신된 데이터에 따라서 몰입형 비디오를 나타내는 데이터를 처리(예를 들어, 디코딩, 및 디스플레이를 위해 준비하는 것)하도록 구성된다. 몰입형 비디오 렌더링 디바이스(80)는 인터넷에 연결될 수 있고, 따라서 인터넷으로부터 몰입형 비디오를 나타내는 데이터를 획득할 수 있다. 다른 실시예에서, 몰입형 비디오 렌더링 디바이스(80)는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 몰입형 비디오를 나타내는 데이터를 획득하고, 상기 로컬 저장소는 예를 들어 렌더링 디바이스(80)에, 또는 근거리 네트워크를 통해 액세스 가능한 로컬 서버(미도시)에 있을 수 있다.
몰입형 비디오 렌더링 디바이스(80)는 도 12에 도시된다. 몰입형 비디오 렌더링 디바이스는 디스플레이(801)를 포함한다. 디스플레이는 예를 들어 OLED 또는 LCD 타입일 수 있다. 이 디바이스(80)는 터치 표면(802)(임의적)(예를 들어, 터치패드나 촉각 스크린), 카메라(803)(임의적), 적어도 하나의 프로세서(804)와 연결된 메모리(805), 및 적어도 하나의 통신 인터페이스(806)를 포함할 수 있다. 메모리(805)는 프로세서(804)를 위한 파라미터들과 코드 프로그램 명령어들을 포함한다. 메모리(805)는 또한 센서들(20) 및 사용자 입력 디바이스들(30)로부터 수신받은 파라미터들을 포함할 수 있다. 메모리는 또한 몰입형 비디오 콘텐츠를 나타내는 데이터를 저장할 수 있을 정도로 클 수 있다. 이를 위해 여러 타입의 메모리가 존재할 수 있고, 메모리(805)는 단일 메모리(single memory)이거나 여러 타입의 저장소(SD 카드, 하드디스크, 휘발성 또는 비휘발성 메모리 등)일 수 있다. 통신 인터페이스(806)는 몰입형 비디오 렌더링 디바이스가 인터넷 네트워크와 통신할 수 있게 한다. 프로세서(804)는 비디오와 관련된 데이터를 디스플레이(801)에 디스플레이하기 위해 처리한다. 카메라(803)는 이미지 처리 단계를 위해 환경의 이미지들을 캡처한다. 데이터는 몰입형 비디오 렌더링 디바이스를 제어하기 위해 이 단계에서 추출된다.
증강 현실, 가상 현실 또는 증강 가상 컨텐츠를 처리하기 위한 제2 시스템이 도 7 내지 도 9에 도시되어 있다. 이러한 시스템은 몰입형 벽을 포함한다.
도 7은 제2 타입의 시스템을 나타낸다. 이것은 컴퓨터(4000)로부터 데이터를 수신하는 몰입형(투영형) 벽인 디스플레이(1000)를 포함한다. 컴퓨터(4000)는 인터넷으로부터 몰입형 비디오 데이터를 수신할 수 있다. 컴퓨터(4000)는 대개 직접적으로 또는 게이트웨이(5000)나 네트워크 인터페이스를 통해 인터넷에 연결되어 있다. 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 컴퓨터(4000)에 의해 획득되는데, 상기 로컬 저장소는 예를 들어 컴퓨터(4000)에, 또는 예를 들어 근거리 네트워크를 통해 액세스 가능한 로컬 서버(미도시) 내에 있을 수 있다.
이 시스템은 또한 센서들(2000) 및 사용자 입력 디바이스들(3000)을 포함할 수 있다. 몰입형 벽(1000)은 OLED 또는 LCD 타입일 수 있다. 이것에는 하나 또는 여러 대의 카메라가 장착될 수 있다. 몰입형 벽(1000)은 센서(2000)(또는 복수의 센서들(2000))로부터 수신된 데이터를 처리할 수 있다. 센서들(2000)로부터 수신된 데이터는 조명 조건들, 온도, 사용자의 환경, 예를 들어, 물체의 위치에 관련될 수 있다.
몰입형 벽(1000)은 또한 사용자 입력 디바이스들(3000)로부터 수신받은 데이터를 처리할 수 있다. 사용자 입력 디바이스들(3000)은 사용자 감정에 대한 피드백을 제공하기 위해 촉각 신호(haptic signals)와 같은 데이터를 전송한다. 사용자 입력 디바이스들(3000)의 예들은 스마트폰, 리모컨, 및 자이로스코프 기능이 있는 디바이스와 같이 손에 쥘 수 있는 디바이스들이다.
센서들(2000) 및 사용자 입력 디바이스들(3000)의 데이터는 또한 컴퓨터(4000)로 전송될 수 있다. 컴퓨터(4000)는 이러한 센서들/사용자 입력 디바이스들로부터 수신된 데이터에 따라 비디오 데이터를 처리(예를 들어, 디코딩, 및 디스플레이를 위해 준비하는 것)를 할 수 있다. 센서 신호들은 몰입형 벽의 통신 인터페이스를 통해 수신될 수 있다. 이 통신 인터페이스는 블루투스 타입, 와이파이 타입 또는 임의의 다른 연결 타입일 수 있으며, 무선이 바람직하지만 유선 연결도 될 수 있다.
컴퓨터(4000)는 처리된 데이터 및 임의적으로 제어 명령들을 몰입형 벽(1000)으로 보낸다. 컴퓨터(4000)는 몰입형 벽(1000)에 디스플레이되도록 데이터를 처리(예를 들어, 데이터를 디스플레이하기 위해 준비)하도록 구성된다. 처리는 컴퓨터(4000)에 의해 독점적으로 행해질 수도 있고, 또는 일부만 컴퓨터(4000)에 의하고 일부는 몰입형 벽(1000)에 의할 수도 있다.
도 8은 제2 타입의 다른 시스템을 나타낸다. 이것은 비디오 콘텐츠를 처리(예를 들어, 디코딩, 및 디스플레이를 위한 데이터 준비)하고 디스플레이하도록 구성된 몰입형(투영형) 벽(6000)을 포함한다. 이것은 센서들(2000), 및 사용자 입력 디바이스들(3000)을 더 포함한다.
몰입형 벽(6000)은 인터넷으로부터 직접적으로 또는 게이트웨이(5000)를 통해 인터넷으로부터 몰입형 비디오 데이터를 수신한다. 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 벽(6000)에 의해 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 획득되는데, 상기 로컬 저장소는 예를 들어 몰입형 벽(6000)에, 또는 근거리 네트워크를 통해 액세스할 수 있는 로컬 서버(미도시) 내에 있을 수 있다.
이 시스템은 또한 센서들(2000) 및 사용자 입력 디바이스들(3000)을 포함할 수 있다. 몰입형 벽(6000)은 OLED 또는 LCD 타입일 수 있다. 이것에 하나 또는 여러 대의 카메라가 장착될 수 있다. 몰입형 벽(6000)은 센서(2000)(또는 복수의 센서들(2000))로부터 수신된 데이터를 처리할 수 있다. 센서들(2000)로부터 수신된 데이터는 조명 조건들, 온도, 사용자의 환경, 예를 들어, 물체의 위치에 관련될 수 있다.
몰입형 벽(6000)은 또한 사용자 입력 디바이스들(3000)로부터 수신된 데이터를 처리할 수 있다. 사용자 입력 디바이스들(3000)은 사용자 감정에 대한 피드백을 제공하기 위해 촉각 신호(haptic signals)와 같은 데이터를 전송한다. 사용자 입력 디바이스들(3000)의 예들은 스마트폰, 리모컨, 및 자이로스코프 기능이 있는 디바이스와 같이 손에 쥘 수 있는 디바이스들이다.
몰입형 벽(6000)은 이러한 센서들/사용자 입력 디바이스들로부터 수신된 데이터에 따라 비디오 데이터를 처리(예를 들어, 디코딩, 및 디스플레이를 위해 준비하는 것)할 수 있다. 센서 신호들은 몰입형 벽의 통신 인터페이스를 통해 수신될 수 있다. 이 통신 인터페이스는 블루투스 타입, 와이파이 타입 또는 임의의 다른 타입의 연결일 수 있으며, 무선이 바람직하지만 유선 연결도 될 수 있다. 몰입형 벽(6000)은 센서들 및 인터넷과 통신하기 위한 적어도 하나의 통신 인터페이스를 포함할 수 있다.
도 9는 몰입형 벽이 게이밍(gaming)에 쓰이는 제3 실시예를 도시한다. 하나 또는 수 개의 게이밍 콘솔(7000)이, 바람직하게는 무선 인터페이스를 통해서 몰입형 벽(6000)에 연결된다. 몰입형 벽(6000)은 게이트웨이(5000)를 통해 인터넷으로부터, 또는 직접적으로 인터넷으로부터 몰입형 비디오 데이터를 수신한다. 다른 실시예에서, 몰입형 비디오 데이터는 몰입형 벽(6000)에 의해 몰입형 비디오를 나타내는 데이터가 저장되는 로컬 저장소(미도시)로부터 획득되는데, 상기 로컬 저장소는 예를 들어 몰입형 벽(6000)에, 또는 근거리 네트워크를 통해 액세스할 수 있는 로컬 서버(미도시) 내에 있을 수 있다.
게이밍 콘솔(7000)은 명령어와 사용자 입력 파라미터들을 몰입형 벽(6000)으로 보낸다. 몰입형 벽(6000)은 디스플레이할 콘텐츠를 준비하기 위하여, 아마도 센서들(2000), 사용자 입력 디바이스들(3000) 및 게이밍 콘솔들(7000)로부터 수신된 입력 데이터에 따라 몰입형 비디오 콘텐츠를 처리한다. 몰입형 벽(6000)은 또한 디스플레이될 콘텐츠를 저장할 내부 메모리를 포함할 수 있다.
일 실시예에서, 전방위 비디오는 서라운딩(surrounding) 3D 표면(S)을 비디오 코덱에 알맞은 형식으로 표현된 표준 직사각형 프레임(F) 상으로 투영할 수 있게 하는 포맷으로 표현되는 것으로 고려된다. 3D 표면을 2D 표면으로 투영하는 데 다양한 투영법이 사용될 수 있다. 예를 들어, 도 13a는 예시적인 구면(S)이 정방형 투영법을 사용하여 2D 프레임(F)에 매핑되는 것을 나타내고, 도 13b는 예시적인 큐브 표면이 큐브 매핑을 사용하여 2D 프레임에 매핑되는 것을 나타낸다. 피라미드(pyramidal), 이십면체(icosahedral) 또는 팔면체(octahedral) 매핑과 같은 다른 매핑을 사용하여 3D 표면을 2D 프레임에 매핑할 수 있다.
다음으로, 2D 프레임(F)은 기존의 비디오 인코더, 예를 들어, VP9, AV1, MPEG-2, H.264/AVC 또는 H.265/HEVC와 호환되는 인코더를 이용해 인코딩될 수 있다. 2D 프레임(F)은 또한 전방위 비디오의 특성에 적응된 인코더, 예를 들어, 적응된 VP9, VP10, MPEG-2, H.264/AVC, 또는 H.265/HEVC 인코더를 이용해 인코딩될 수도 있다. 인코딩 및 디코딩 이후, 디코딩된 2D 프레임은 대응하는 3D 표면에 다시 매핑될 수 있는데, 예를 들어, 정방형 투영법에 대해서는 구로, 큐브 매핑에 대해서는 큐브로 매핑될 수 있다. 다음으로, 3D 표면은 최종적으로 렌더링된 프레임을 얻기 위해 사용자의 시점에 대응하는 "가상 스크린(virtual screen)"에 투영될 수 있다. 2D 프레임을 디코딩하고 3D 표면으로부터 렌더링된 프레임으로 투영하는 단계는 단일 단계로 병합될 수 있으며, 디코딩된 프레임의 일부는 렌더링된 프레임에 매핑된다.
표기의 단순화를 위해, 디코딩된 2D 프레임은 "F"로도 지칭될 수 있고, 렌더링에 사용된 3D 표면은 또한 S로 지칭될 수 있다. 인코딩될 2D 프레임 및 디코딩될 2D 프레임은 비디오 압축(video compression)으로 인해 다를 수 있으며, 전처리(pre-processing)에서의 3D 표면과 렌더링에서의 3D 표면도 다를 수 있음을 이해해야 한다. "매핑(mapping)" 및 "투영(projection)"이라는 용어는 서로 통용되고, "픽셀(pixel)" 및 "샘플(sample)"이라는 용어도 서로 통용되며, "프레임(frame)" 및 "화상(picture)" 이라는 용어도 서로 통용될 수 있다.
3차원(3D) 표면을 직사각형 표면으로 매핑하는 문제는 처음에 전방위 비디오의 전형적인 레이아웃(layout)인 정방형 레이아웃(equirectangular layout)에 대해 설명되었지만, 일반적인 원리는 3D 표면(S)으로부터 직사각형 프레임(F)으로의 임의의 매핑에 적용가능하다. 같은 원리가 예를 들어 큐브 매핑 레이아웃에도 적용될 수 있다.
도 15a 및 도 15b에서, 장면(scene)에서 직선을 따라 움직이는 물체와, 프레임에서 점선의 곡선으로 보이는 결과적인 겉보기 움직임(apparent motion)의 예를 보여준다. 임의의 예측 단위(Prediction Unit, PU) 분할에 대한 결과적인 움직임 벡터들이 오른쪽에 보여진다. 알 수 있듯이, 렌더링된 이미지에서 움직임이 완벽히 직선이더라도, 인코딩할 프레임은 균일하지 않은 움직임 벡터를 보여준다.
움직임 벡터 예측기들이 서라운딩 움직임 벡터들을 사용하여 형성되기 때문에, 블록 D의 움직임 벡터를 예측하는 데 사용가능한 예측기들은 적절하지 않다. 예를 들어, 오른쪽 도면에서, 블록 A, B 또는 C의 움직임으로부터 블록 D의 움직임을 예측하는 것은 적절하지 않을 수 있다.
이웃하는 움직임 벡터로부터 움직임 벡터 예측기를 도출하기 위한 대략적인 프로세스는, 프레임 좌표계로부터 렌더링된 프레임으로의 매핑, 다음으로 렌더링된 프레임으로부터 인코더 프레임으로의 매핑을 나타내는 도 16의 표기법으로부터 다음과 같다.
- P는 움직임 벡터를 예측하려는 현재 CU의 중심점이다.
- V는 움직임 벡터를 예측하려는 인접 CU(neighbor CU)의 중심점이다.
- dV는 인접 CU에 연관된 움직임 벡터이다.
1- V'=3d(V), W'=3d(V+dV), dV'=W'-V'를 계산한다.
2- P'=3d(P) 및 Q'=P'+dV'를 계산한다.
3- Q=3d-1(Q')를 계산한다.
4- 예측되는 움직임 벡터인 dP=Q-P를 계산한다.
움직임 벡터 예측기의 더 정밀한 도출을 만들어내는 다른 변형은 아래와 같다.
- P는 움직임 벡터를 예측하려는 현재 CU의 중심점이다.
- V는 움직임 벡터를 예측하려는 CU의 중심점이다.
- dW는 인접 CU에 연관된 움직임 벡터이다.
1- P"=3d(P)를 계산하고 -P"은 단일함(unitary)에 유의해야 함-, P"과 수직이며 P"을 지나가는 평면 F를 정의한다.
2- V"=3d(V)를 계산한다.
3- V"의 평면 F로의 투영(projection)인
Figure pct00001
를 계산한다.
4- W=V+dV를 계산한다.
5- W"=3d(W)를 계산한다.
6- W"의 평면 F로의 투영인
Figure pct00002
를 계산한다.
7- 평면 F로의 움직임 벡터의 투영인 dVp=Wp-Vp를 계산한다.
8- Q"=Qp=Pp+dVp=P"+dVp를 계산한다.
9- Q=3d-1(Q)를 계산한다.
10- 최종 움직임 벡터인 dP=Q-P를 계산한다.
다음과 같이 정의한다.
Figure pct00003
[수학식 1]
Figure pct00004
이 때,
Figure pct00005
Figure pct00006
이며, 이 때 w와 h는 이미지의 너비와 높이이고, x와 y는 픽셀 좌표이다. 픽셀 좌표는 여기서 부동소수점으로 나타내어지며, 아래와 같다.
Figure pct00007
이 때,
Figure pct00008
,
Figure pct00009
는 정수 픽셀 좌표이다.
역함수는 다음과 같이 정의된다.
Figure pct00010
[수학식 2]
Figure pct00011
이 때,
Figure pct00012
이다.
일반적인 양태들이 다른 매핑에도 마찬가지로 적용될 수 있음에도 불구하고, 설명된 실시예들에 의해 다루어지는 하나의 문제는 ERP 매핑에 적응되는 움직임 벡터 예측이다.
HEVC에서, 또는 실험용 모델인 JEM(Joint Exploration Model)에서, 움직임 벡터 예측기들은 두 가지 타입이 될 수 있다. 공간 예측기들(spatial predictors)은 처리할 현재 블록과 인과관계가 있는 이웃에 위치한 인접 블록들로부터 산출된다. (A)TMVP((Advanced) Temporal Motion Vector Prediction) 또는 단방향 프레임 레이트 업 변환(uni-direction Frame Rate Up Conversion)(FRUC/UniDir)에서 사용되는 시간 예측기들(temporal predictors)은 이미 디코딩된 또다른 레퍼런스 프레임의 블록들로부터 산출된다(도 18의 180 참조).
설명된 실시예들은 움직임 벡터들의 리스케일링으로 인해 발생하는 쟁점들을 다룬다. HEVC 표준은 현재 프레임과 레퍼런스 프레임의 시간 차이를 고려하기 위해 예측기가 스케일링되는 시간적 움직임 스케일링을 기술한다. 도 17에서, 시간 t=1일 때의 프레임을 처리할 현재 프레임으로, t=0일 때의 프레임을 디코딩/인코딩할 현재 블록 B1의 레퍼런스 프레임으로, t=3일 때의 프레임을 블록 B1의 시간적 움직임 벡터 예측을 위해 사용되는 블록 B3을 포함하는 프레임으로, t=0에서의 프레임을 블록 B3의 움직임 벡터의 레퍼런스 프레임으로 생각하면, 프레임 타이밍(frame timing)을 고려하여 움직임 벡터는 1/3배 다운스케일된다. 이러한 다운스케일링은 ERP 변환 프로세스에서 고려될 필요가 있다.
AMVP(Advanced Motion Vector Prediction)에 대하여, 예측기 블록의 레퍼런스 화상이 현재 블록 중 하나와 동일하지 않다면 움직임 벡터들은 동일한 방식으로 리스케일링될 수 있다.
비슷하게, ATMVP(-EXT)의 경우, 공간적 이웃들로부터 최초의 "시간적 움직임 벡터(temporal motion vector)"를 계산하는 것, 및 공동 위치된(collocated) 서브-PU(sub-PU) 움직임 벡터들의 스케일을 적응시키는 것 둘 다 위해 수 회의 리스케일링이 수행된다.
기술된 실시예들은, 예를 들어, 움직임 보상 프로세스(도 18의 인코더 내의 170, 도 19의 디코더 내의 375)동안 발생할 수 있다. 더 상세하게는, 그 프로세스는 움직임 벡터(들)의 예측 단계에서 발생할 수 있다.
도 20은 움직임 보상 프로세스의 더 상세한 뷰를 보여준다. 예를 들어, JEM 소프트웨어는 다음과 같은 특징들을 갖는다. 움직임 벡터 예측의 경우, 모드(mode)에 따라서, 공간적 인접 블록들 및 시간적 블록들로부터 오는 하나 또는 수 개의 예측기가 이용 가능하다. 합병(merge) 또는 스킵(skip) 모드가 사용되지 않는 경우, 움직임 벡터 잔차(motion vector residual)는 예측기를 개선하기 위해 보내진다. FRUC 모드 또는 BIO가 사용되는 경우, 최초의 움직임 벡터가 개선된다. FRUC 또는 AFFINE 모드가 사용되는 경우, 서브 블록당 움직임 벡터들이 도출되거나 개선된다.
ATMVP 및 ATMP-EXT(Extension of Advanced Temporal Motion Vector Predictor(ATMVP))에서, 움직임 벡터 예측 프로세스는 다음과 같이 요약될 수 있다.
1- 움직임 벡터를 갖는 공간적 이웃을 찾는다.
2- TMVP 움직임 벡터 예측기에 행해지는 것과 동일한 방식으로 이 예측기를 리스케일링한다.
3- 현재 블록의 움직임 보상된 공동 위치 서브 블록들로부터 시간적 움직임 벡터를 찾기 위해 이 시간적 움직임 벡터를 사용한다.
ATMVP-EXT에서, 움직임 벡터는 공간적 움직임 벡터 예측기와 평균화되기 위해 더 처리된다.
현재 실시예들은 움직임 벡터 예측 프로세스를 변화시킨다. 기술된 실시예들은 변환된 ERP 움직임 벡터의 향상을 허용하며, 따라서 전체 비디오 압축 방식의 성능을 향상시킨다.
위에서 언급한 응용에서 기술된 추론에 기초하여, 움직임 벡터 예측기의 기하학적인 적응은 작은 벡터들에 더 유효하다는 것을 알아챌 수 있다. 여기에서 움직임 벡터 예측기에 적용된 스케일 팩터에 기초하여 스케일링 및 변환 프로세스의 교환(commutation)을 수행하도록 제안된다.
한 실시예에서, 만약 스케일 팩터가 1보다 작거나 같다면, 예를 들어, 처음에 리스케일링이 행해지고 움직임 벡터 변환은 이후에 행해진다. 만약 아니라면, 변환이 먼저 행해지고 스케일링이 이후에 행해진다.
다른 실시예에서, 스케일링이 항상 먼저 행해진다. 이론적 근거는 랜덤 액세스 모드(Random Access mode)의 일반 GOP 구조에 대한 움직임 벡터가 업 스케일링보다 다운스케일링(1 미만의 스케일 팩터)될 가능성이 높다는 것이다. 다른 스케일 팩터 값들이 사용될 수 있다.
도 21에서, ERP 움직임 벡터 변환은 언급된 응용들에서 기술된 것이다. 이 프로세스는 AMVP, TMVP, ATMVP, ATMVP-EXT 또는 FRUC/UniDir 움직임 벡터 리스케일링에 적용될 수 있다. AMVP에서, 예측기와 현재 블록의 타임 인덱스(time index)가 동일하다. ATMVP의 최초의 "시간적 벡터"에서, 예측기와 현재 블록의 타임 인덱스는 동일하다. ATMVP와 ATMVP-EXT에서, 공동 위치된 sub-PU 움직임 벡터 예측기 또한 리스케일링된다.
도 22는 기술된 양태들 하에서의 방법(2200)의 일 실시예를 보여준다. 이 방법은 시작 블록(2201)에서 시작되고 제어는 화상 블록의 움직임 벡터 예측기의 스케일 팩터를 계산하기 위한 블록(2210)으로 진행된다. 스케일 팩터에 기초하는 순서로 움직임 벡터 예측기 상에서 움직임 벡터 리스케일링과 움직임 벡터 변환을 수행하기 위하여 블록(2210)으로부터 블록(2220)으로 제어가 진행된다. 다음으로, 변환 및 리스케일링된 움직임 벡터 예측기를 이용하여 화상 블록 상에서 움직임 보상을 수행하기 위하여 블록(2220)으로부터 블록(2230)으로 제어가 진행된다. 다음으로, 비디오 데이터의 움직임 보상된 블록을 인코딩하기 위해 블록(2230)으로부터 블록(2240)으로 제어가 진행된다.
도 23은 기술된 양태들 하에서의 방법(2300)의 일 실시예를 보여준다. 이 방법은 시작 블록(2301)에서 시작되고, 제어는 화상 블록의 움직임 벡터 예측기의 스케일 팩터를 계산하기 위한 블록(2310)으로 진행된다. 스케일 팩터에 기초하는 순서로 움직임 벡터 예측기 상에서 움직임 벡터 리스케일링과 움직임 벡터 변환을 수행하기 위하여 블록(2310)으로부터 블록(2320)으로 제어가 진행된다. 다음으로, 변환 및 리스케일링된 움직임 벡터 예측기를 이용하여 화상 블록 상에서 움직임 보상을 수행하기 위하여 블록(2320)으로부터 블록(2330)으로 제어가 진행된다. 다음으로, 비디오 데이터의 움직임 보상된 블록을 인코딩하기 위해 블록(2330)으로부터 블록(2340)으로 제어가 진행된다.
도 24는 비디오 데이터 블록을 코딩 또는 디코딩하기 위한 장치(2400)의 일 실시예를 나타낸다. 장치는 입력 및 출력 포트들을 갖고, 메모리(2420)와 신호 연결되는 프로세서(2410)를 포함하며, 메모리도 마찬가지로 입력 및 출력 포트들을 갖는다. 장치는 전술한 방법 실시예들 중 어느 하나 또는 변형들을 실행할 수 있다.
도면에서 보여지는 다양한 요소들의 기능들은 전용 하드웨어 및 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어를 이용하여 제공될 수 있다. 프로세서에 의해 제공될 경우, 기능들은 단일 전용 프로세서, 단일 공유 프로세서, 또는 몇몇은 공유될 수 있는 복수의 개별 프로세서들에 의해 제공될 수 있다. 더욱이, "프로세서(processor)"또는 "컨트롤러(controller)"라는 용어의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 독점적으로 나타내는 것으로 해석되어서는 안되며, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하기 위한 읽기 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM") 및 비휘발성 저장소를 암시적으로 제한없이 포함할 수 있다.
종래의 및/또는 주문형의 다른 하드웨어도 포함될 수 있다. 마찬가지로, 도면들에 도시된 임의의 스위치들은 개념적일 뿐이다. 이들의 기능은 프로그램 로직(logic)의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호 작용을 통해, 또는 심지어 수동으로 수행될 수 있고, 특정 기술은 맥락으로부터 구체적으로 이해되는 바와 같이 구현자에 의해 선택가능하다.
본 설명은 본 개념들을 예시한다. 따라서, 당업자는 본 명세서에 명시적으로 설명되거나 도시되지는 않았지만 본 개념들을 구현하고 그 범위 내에 포함되는 다양한 구성을 만들어낼 수 있음을 이해할 것이다.
본 명세서에 기재된 모든 예시들 및 조건부 언어는 독자가 발명가(들)로부터 기여된 본 발명의 원리와 개념을 이해하여 본 기술을 발전시킬 수 있도록 돕기 위한 교육적인 목적을 위한 것이며, 그러한 구체적으로 기재된 예들과 조건들에 제한되지 않는 것으로 해석되어야 한다.
더욱이, 본 발명의 원리들의 원리들, 양태들 및 실시예들을 언급하는 본 명세서의 모든 진술 및 그의 구체적인 예들은 그의 구조적 및 기능적 등가물을 모두 포함하는 것으로 의도된다. 또한, 그러한 등가물은 현재 알려진 등가물뿐만 아니라 미래에 개발된 등가물, 즉 구조에 관계없이 동일한 기능을 수행하도록 개발된 임의의 요소들을 포함하는 것으로 의도된다.
따라서, 예를 들어, 본 명세서에 제시된 블록도들은 본 발명의 원리들을 구현하는 예시적인 회로의 개념도를 나타낸다는 것을 본 기술분야의 통상의 기술자는 이해할 것이다. 유사하게, 임의의 순서도(flow chart), 흐름도(flow diagram), 상태 변환도(state transition diagram), 의사 코드(pseudocode) 등은 컴퓨터 판독 가능 매체로 실질적으로 표현될 수 있고 따라서 컴퓨터 또는 프로세서가 명시적으로 도시되어 있는지 여부에 관계없이 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스들을 나타낸다는 점이 이해될 것이다.
본 명세서의 청구항들에서, 지정된 기능을 수행하기 위한 수단으로 표현된 임의의 요소는 예를 들어, a) 그 기능을 수행하는 회로 요소들의 조합 또는 b) 임의의 형태의 소프트웨어를 포함하여, 따라서, 그 기능을 수행하기 위해 해당 소프트웨어를 실행하기 위한 적절한 회로와 결합된 임의의 형태의, 따라서 펌웨어(firmware), 마이크로코드(microcode) 등을 포함하는 소프트웨어를 포함하여, 그 기능을 수행하는 모든 방식을 포괄하도록 의도된다. 그러한 청구항들에 의해 정의된 본 발명의 원리들은 다양한 기재된 수단에 의해 제공되는 기능들이 청구항들이 요구하는 방식으로 결합되고 조합된다는 사실에 있다. 따라서 이러한 기능들을 제공할 수 있는 임의의 수단은 본 명세서에 도시된 수단들과 동등한 것으로 간주된다.
본 명세서에서 본 원리들의 "일 실시예" 또는 "실시예" 및 다른 변형 예를 참조하는 것은 실시예와 관련하여 설명된 특정 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에서 포함된다는 것을 의미한다. 따라서, 명세서 전체의 여러 곳에서 나타나는 "일 실시예에서" 또는 "실시예에서"라는 문구는 물론 임의의 다른 변형들의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
결론적으로, 전방위 비디오에 적합한 움직임 벡터 예측을 적응시키는 방법 및 장치가 제시된다. 일 실시예는 시간적 움직임 벡터 예측기 또는 리스케일링된 움직임 벡터 예측기의 취급을 향상시킨다. 다른 실시예는 공간적 움직임 벡터 예측기에 적합하고, 다른 하나는 시간적 또는 공간적 움직임 벡터 예측기의 조합에 적합하다. 이 방법은 예측기의 타임 인덱스, 레퍼런스 이미지의 예측기의 타임 인덱스, 레퍼런스 이미지의 현재 블록의 타임 인덱스 및 현재 블록의 타임 인덱스 중 적어도 하나로부터 도출된 스케일 팩터를 분석한다. 만약, 예를 들어, 스케일 팩터가 1보다 크면 움직임 벡터 리스케일링 전에 움직임 벡터 변환이 수행된다. 그러나, 만약, 스케일 팩터가 1보다 작거나 같은 경우, 움직임 벡터 리스케일링이 움직임 벡터 변환 전에 수행된다.

Claims (15)

  1. 방법으로서,
    화상의 블록의 움직임 벡터 예측기(motion vector predictor)에 대한 스케일 팩터를 계산하는 단계;
    상기 스케일 팩터에 기초하는 순서로, 상기 움직임 벡터 예측기에 대해 움직임 벡터 리스케일링 및 움직임 벡터 변환을 수행하는 단계;
    상기 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 상기 블록에 대해 움직임 보상을 수행하는 단계; 및
    상기 화상의 상기 움직임 보상된 블록을 인코딩하는 단계
    를 포함하는 방법.
  2. 방법으로서,
    화상의 블록의 움직임 벡터 예측기에 대한 스케일 팩터를 계산하는 단계;
    상기 스케일 팩터에 기초하는 순서로, 상기 움직임 벡터 예측기에 대해 움직임 벡터 리스케일링 및 움직임 벡터 변환을 수행하는 단계;
    상기 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 상기 블록에 대해 움직임 보상을 수행하는 단계; 및
    상기 화상의 상기 움직임 보상된 블록을 디코딩하는 단계
    를 포함하는 방법.
  3. 비디오 데이터의 블록을 코딩하기 위한 장치로서,
    메모리, 및 프로세서를 포함하며,
    상기 프로세서는,
    화상의 블록의 움직임 벡터 예측기에 대한 스케일 팩터를 계산하는 단계;
    상기 스케일 팩터에 기초하는 순서로, 상기 움직임 벡터 예측기에 대해 움직임 벡터 리스케일링 및 움직임 벡터 변환을 수행하는 단계;
    상기 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 상기 블록에 대해 움직임 보상을 수행하는 단계; 및
    상기 화상의 상기 움직임 보상된 블록을 인코딩하는 단계
    를 수행하도록 구성되는, 장치.
  4. 비디오 데이터의 블록을 디코딩하기 위한 장치로서,
    메모리, 및 프로세서를 포함하며,
    상기 프로세서는,
    화상의 블록의 움직임 벡터 예측기에 대한 스케일 팩터를 계산하는 단계;
    상기 스케일 팩터에 기초하는 순서로, 상기 움직임 벡터 예측기에 대해 움직임 벡터 리스케일링 및 움직임 벡터 변환을 수행하는 단계;
    상기 변환 및 리스케일링된 움직임 벡터 예측기를 사용하여 상기 블록에 대해 움직임 보상을 수행하는 단계; 및
    상기 화상의 상기 움직임 보상된 블록을 디코딩하는 단계
    를 수행하도록 구성되는 장치.
  5. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 넓은 시야 비디오에 대해, 상기 넓은 시야 비디오의 적어도 하나의 화상은 투영 함수(projection function)를 사용하여 적어도 하나의 2차원 화상에 투영되는 3차원 표면으로 표현되고, 상기 움직임 벡터 변환은,
    3차원 표면 상에서 상기 블록의 점 P를 점 P'''로 투영하고, 다른 블록의 점 V를 점 V'''로 투영하는 단계 -상기 다른 블록의 점 V는 움직임 벡터(dV)에 의해 점 W'''로 변위됨-;
    벡터 OV'''와 평면 G 사이의 교차점 Vp 및 벡터 OW'''와 평면 G 사이의 교차점 Wp를 결정하는 단계 -상기 평면 G는 상기 표면에 대한 P'''의 접평면(plane tangent)이고, O는 구의 원점임-;
    평면 G에서 점 Qp를 획득하기 위해 dVp에 의해 P'''를 변위시키는 단계 -dVp는 벡터 VpWp와 동일함-;
    상기 화상 내의 점 Qp를 점 Q로 투영하는 단계; 및
    P로부터 Q까지의 벡터로서 상기 블록에 대한 현재 움직임 벡터(dP)를 결정하는 단계
    를 포함하는, 방법 또는 장치.
  6. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 넓은 시야 비디오에 대해, 상기 넓은 시야 비디오의 적어도 하나의 화상은 투영 함수를 사용하여 적어도 하나의 2차원 화상에 투영되는 3차원 표면으로 표현되고, 상기 움직임 벡터 변환은,
    상기 움직임 벡터 예측기를 사용하여 상기 블록의 적어도 하나의 점의 이동을 투영 공간에서 계산하여, 상기 투영 공간에서 변위된 점을 획득하는 단계;
    상기 변위된 점을 상기 화상으로 투영하는 단계; 및
    조정된 움직임 벡터 예측기를 상기 투영된 변위된 점의 상기 화상에서의 위치와 상기 현재 블록의 상기 점의 위치의 차이로서 계산하는 단계;
    변위된 앵커 포인트(anchor point)를 획득하기 위해 상기 움직임 벡터 예측기를 상기 화상의 앵커 포인트에 적용하는 단계;
    상기 블록의 상기 점, 상기 앵커 포인트, 및 상기 변위된 앵커 포인트를 상기 투영 공간 상으로 투영하는 단계; 및
    상기 투영 공간에서, 상기 투영된 변위된 앵커 포인트와 상기 투영된 앵커 포인트 사이의 차이로서 투영된 움직임 벡터 예측기를 계산하는 단계 -상기 투영 공간에서 상기 블록의 적어도 하나의 점의 변위를 계산하는 것은 상기 투영된 움직임 벡터 예측기를 사용하여 수행됨-
    를 포함하는, 방법 또는 장치.
  7. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 상기 스케일 팩터는 예측기의 타임 인덱스, 레퍼런스 이미지 예측기의 타임 인덱스, 레퍼런스 이미지 현재 블록의 타임 인덱스, 및 현재 블록의 타임 인덱스에 기초하는, 방법 또는 장치.
  8. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 상기 움직임 벡터 예측기들은 상기 블록의 공간적으로 이웃하는 블록들로부터의 것인, 방법 또는 장치.
  9. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 상기 움직임 벡터 예측기들은 이미 디코딩 또는 복원(reconstructed)된 레퍼런스 프레임의 블록들로부터의 것인, 방법 또는 장치
  10. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 상기 스케일 팩터가 1보다 작거나 같은 경우, 상기 움직임 벡터 예측기에 대해, 상기 움직임 벡터 리스케일링은 상기 움직임 벡터 변환 전에 수행되는, 방법 또는 장치.
  11. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, 상기 스케일 팩터가 1보다 큰 경우, 상기 움직임 벡터 예측기에 대해, 상기 움직임 벡터 리스케일링은 상기 움직임 벡터 변환 후에 수행되는, 방법 또는 장치.
  12. 제1항 또는 제2항의 방법, 또는 제3항 또는 제4항의 장치로서, ATMVP(advanced temporal motion vector prediction)에 대해, 공동 위치된 서브-예측 유닛 움직임 벡터 예측기들(co-located sub-prediction unit motion vector predictors)도 리스케일링되는, 방법 또는 장치.
  13. 프로세서를 사용하여 재생하기 위해, 제1항 및 제5항 내지 제12항 중 어느 한 항에 따른 방법에 따라, 또는 제3항 및 제5항 내지 제12항 중 어느 한 항의 장치에 의해 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독 가능 매체.
  14. 프로세서를 사용하여 재생하기 위해, 제1항 및 제5항 내지 제12항 중 어느 한 항에 따른 방법에 따라, 또는 제3항 및 제5항 내지 제12항 중 어느 한 항의 장치에 의해 생성된 비디오 데이터를 포함하는 신호.
  15. 컴퓨터 프로그램 제품으로서,
    프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 제2항 및 제5항 내지 제12항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
KR1020207007535A 2017-09-18 2018-09-14 전방위 비디오를 위한 움직임 벡터 예측기의 적응을 위한 방법 및 장치 KR20200053498A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17306198.7 2017-09-18
EP17306198.7A EP3457695A1 (en) 2017-09-18 2017-09-18 Method and apparatus for motion vector predictor adaptation for omnidirectional video
PCT/US2018/051081 WO2019055782A1 (en) 2017-09-18 2018-09-14 METHOD AND APPARATUS FOR ADAPTATION OF MOTION VECTOR PREDICTOR FOR OMNIDIRECTIONAL VIDEO

Publications (1)

Publication Number Publication Date
KR20200053498A true KR20200053498A (ko) 2020-05-18

Family

ID=60001808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207007535A KR20200053498A (ko) 2017-09-18 2018-09-14 전방위 비디오를 위한 움직임 벡터 예측기의 적응을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US11076166B2 (ko)
EP (2) EP3457695A1 (ko)
KR (1) KR20200053498A (ko)
CN (1) CN111108751B (ko)
WO (1) WO2019055782A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020004990A1 (ko) * 2018-06-27 2020-01-02 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538215B1 (ko) * 2002-01-23 2005-12-21 삼성전자주식회사 고속 후처리가 가능한 영상 재생 장치 및 그 방법
KR20040070490A (ko) * 2003-02-03 2004-08-11 삼성전자주식회사 비월 주사 방식의 동영상 부호화/복호화 방법 및 그 장치
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101712156B1 (ko) 2010-12-06 2017-03-06 에스케이 텔레콤주식회사 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US9124899B2 (en) 2012-09-28 2015-09-01 Sharp Laboratories Of America, Inc. Motion derivation and coding for scaling video
KR20220131366A (ko) * 2012-10-01 2022-09-27 지이 비디오 컴프레션, 엘엘씨 베이스 레이어로부터 예측을 위한 서브블록 세부분할의 유도를 이용한 스케일러블 비디오 코딩
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
US9917877B2 (en) * 2014-10-20 2018-03-13 Google Llc Streaming the visible parts of a spherical video
US9918082B2 (en) * 2014-10-20 2018-03-13 Google Llc Continuous prediction domain
CN111741311B (zh) * 2014-10-31 2024-04-02 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
CN109644279B (zh) * 2016-09-02 2023-09-22 Vid拓展公司 用于用信号通知360度视频信息的方法和系统

Also Published As

Publication number Publication date
US20200275110A1 (en) 2020-08-27
EP3457695A1 (en) 2019-03-20
CN111108751A (zh) 2020-05-05
US11076166B2 (en) 2021-07-27
CN111108751B (zh) 2024-04-16
EP3685582A1 (en) 2020-07-29
WO2019055782A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
JP7008903B2 (ja) 適応イントラ予測による全方位映像符号化および復号のための方法および装置
JP7043148B2 (ja) 適応型イントラ最確モードを用いた全方位映像符号化のための方法および装置
US20190281319A1 (en) Method and apparatus for rectified motion compensation for omnidirectional videos
US11812066B2 (en) Methods, devices and stream to encode global rotation motion compensated images
US11653014B2 (en) Method and apparatus for encoding and decoding an omnidirectional video
US11076166B2 (en) Method and apparatus for motion vector predictor adaptation for omnidirectional video
US20210195240A1 (en) Omnidirectional video slice segmentation
US20210195161A1 (en) Stereo omnidirectional frame packing
EP3349463A1 (en) Method and apparatus for coding/decoding a picture of an 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