KR102664649B1 - 광시야 비디오를 인코딩하기 위한 구면 회전 기법 - Google Patents

광시야 비디오를 인코딩하기 위한 구면 회전 기법 Download PDF

Info

Publication number
KR102664649B1
KR102664649B1 KR1020197010912A KR20197010912A KR102664649B1 KR 102664649 B1 KR102664649 B1 KR 102664649B1 KR 1020197010912 A KR1020197010912 A KR 1020197010912A KR 20197010912 A KR20197010912 A KR 20197010912A KR 102664649 B1 KR102664649 B1 KR 102664649B1
Authority
KR
South Korea
Prior art keywords
rotation
value
video
spherical
pitch
Prior art date
Application number
KR1020197010912A
Other languages
English (en)
Other versions
KR20190095253A (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 인텔 코포레이션
Priority to KR1020207037175A priority Critical patent/KR102371099B1/ko
Publication of KR20190095253A publication Critical patent/KR20190095253A/ko
Application granted granted Critical
Publication of KR102664649B1 publication Critical patent/KR102664649B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • H04N13/393Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume the volume being generated by a moving, e.g. vibrating or rotating, surface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

구면 또는 반구면 비디오와 같은 광시야를 갖는 비디오를 인코딩하기 위한 구면 회전이 설명된다. 일 예는 회전 배향 메타데이터를 포함하는 인코딩된 비디오를 수신하는 것, 비디오를 디코딩하는 것, 회전 배향 메타데이터를 추출하는 것, 회전 배향 메타데이터에 기초하여 디코딩된 비디오를 회전시키는 것, 회전된 디코딩된 비디오의 뷰를 생성하는 것, 및 디스플레이하기 위해 생성된 뷰를 버퍼링하는 것과 관련된다.

Description

광시야 비디오를 인코딩하기 위한 구면 회전 기법
관련 출원에 대한 상호 참조
본 출원은 "SPHERICAL ROTATION FOR IMPROVED PANORAMIC VIDEO CODING EFFICIENCY"라는 명칭으로 2016년 11월 17일자로 출원된 미국 가출원 제62/423,319호를 우선권으로 주장하며, 그 개시 내용은 본 명세서에 참조로 포함된다.
본 명세서는 인코딩된 비디오의 통신에 관한 것으로, 특히 비디오의 구면 회전(a spherical rotation of a video)을 그 비디오와 통신하는 것에 관한 것이다.
저가의 고화질 비디오 카메라 및 고속 인터넷 접속의 등장으로 인해, 비디오 인터넷 트래픽이 빠르게 성장하고 있다. 360도 비디오가 가상 현실, 화상 회의, 자동차 및 감시 애플리케이션 등에서 새로 떠오르는 추세이며, 이 360도 비디오는 180 및 360도 시야의 카메라를 비롯한 광시야 카메라에 의해 지원된다. 가상 현실 콘텐츠를 비롯한 360도 비디오를 게시(post)하고 보는 데 전용 웹 사이트 및 채널이 또한 이용될 수 있다. 사용자 그룹 간 협업이 있을 시, 360도 비디오는 보다 나은 융통성을 제공한다. 카메라 사이에서 전환하지 않고도, 원격 뷰어(remote viewer)가 360도 뷰를 사용하여 방 내부 전체를 둘러볼 수도 있고 카메라의 시야 내에 있는 관심 대상의 사람 또는 물체를 확대할 수도 있다.
가상 현실(Virtual Reality: VR) 헤드 마운티드 디스플레이를 사용하는 파노라마 비디오 재생 시스템이 소비자용으로 부상하고 있다. 파노라마 및 360도 비디오 콘텐츠는 일반적으로 여러 카메라에 의해 캡처된 2D 비디오들을 구면 표현(spherical representation)으로 스티칭(stitching)함으로써 생성된다. 일부 경우, 다수의 뷰가 소프트웨어로 렌더링된다. 이 때, 구면 비디오는 등-직사각형 투영 포맷(an equi-rectangular projection format)이나 큐브 맵 투영 포맷과 같은 비디오 인코딩에 적합한 포맷으로 투영된다.
클라이언트측에서, 전체 파노라마 압축 비디오 프레임을 포함하는 비트스트림이 수신되고 디코딩되어, 전체 파노라마 시야의 표현을 생성한다. 전체 시야 중에서 보다 작은 부분이 디스플레이용으로 선택된다. 이 부분은 뷰포트(viewport)라고 지칭되는데, 이것은 사용자가 임의의 한 시점에서 볼 수 있는 유일한 부분이다. 이 부분은 전체 시야 중에서 큰 부분일 수 있고 또는 작은 부분일 수도 있다. 뷰포트에 의해 표현되는 디코딩된 비디오의 부분은 헤드 마운티드 디스플레이의 헤드 위치에 의해, 또는 통상의 2D 디스플레이에서 볼 때는 위치 선택 사용자 인터페이스를 통해 결정된다. 즉, 뷰포트의 위치는 뷰어가 어디를 보거 있거나 가리키고 있는지에 의해 결정된다. 또한, 뷰포트의 시야 및 해상도가 사용자에 의해 또한 결정되는 줌 기능이 있을 수도 있다.
본 명세서에 설명된 내용은 첨부된 도면에서 한정이 아니라 예로서 예시된다. 설명을 단순화하고 명료하게 하기 위해, 도면에 예시된 요소들은 반드시 일정한 비율로 그려진 것은 아니다. 예를 들어, 일부 요소의 치수는 명확성을 위해 다른 요소에 비해 과장될 수 있다.
도 1은 일 실시예에 따른 파노라마 비디오 코딩 시스템의 블록도이다.
도 2는 일 실시예에 따른 대안적인 파노라마 비디오 코딩 시스템의 블록도이다.
도 3은 피치(pitch), 요(yaw) 및 롤(roll)에 대한 회전 방향을 보여주는 3축 데카르트 좌표계의 다이어그램이다.
도 4는 구체(sphere)로부터 평면으로의 등-직사각형 포맷 투영을 도시한 다이어그램이다.
도 5는 구체가 0 내지 5로 라벨링된 6개의 평면에 투영되는 큐브 맵 투영의 다이어그램이다.
도 6은 큐브 맵 투영의 6개의 면을 갖는 4x3 평면 그리드의 다이어그램이다.
도 7은 큐브 맵 투영의 6개의 면이 컴팩트함을 위해 재배열된 2x3 평면 그리드의 다이어그램이다.
도 8은 구체로부터 평면으로의 20면체 포맷 투영의 다이어그램이다.
도 9는 실시예에 따라 회전을 적용하지 않고 구체로부터 평면으로 2개 물체를 등-직사각형 포맷 투영하는 것의 다이어그램이다.
도 10은 실시예에 따라 회전을 적용하여 구체로부터 평면으로 2개 물체를 등-직사각형 포맷 투영하는 것의 다이어그램이다.
도 11은 실시예에 따라 인코딩 및 뷰잉을 위한 비디오의 구면 회전의 프로세스 흐름도이다.
도 12는 실시예에 적합한 컴퓨팅 리소스에 접속된 헤드 마운티드 디스플레이의 블록도이다.
도 13은 일 실시예에 따른 비디오 캡처, 인코딩, 디코딩 및 디스플레이에 적합한 컴퓨팅 장치의 블록도이다.
구면 투영 포맷은 구면 표현에 비해, 비디오 콘텐츠의 불연속 및 왜곡을 초래한다. 불연속성 및 왜곡이 있는 비디오 콘텐츠의 영역들은 HEVC 및 AVC와 같은 레거시 비디오 코덱을 사용해서는 압축하기가 어렵다. 본 명세서에 설명된 바와 같이, 비디오 코딩 효율은 레거시 비디오 코덱을 사용하여 파노라마 비디오 콘텐츠를 인코딩할 때 개선된다. 이것은 비디오 품질 및 사용자 경험을 향상시킨다.
투영 포맷과 비디오 프레임의 영역 간의 관계를 고려함으로써, 파노라마 비디오 코딩 효율이 적어도 부분적으로 개선된다. 동일한 품질의 파노라마 비디오 시퀀스를 인코딩하는 데 보다 적은 수의 비트가 요구되고 주관적인 아티팩트가 보다 적게 존재한다. 일부 실시예에서, 구면 회전을 나타내기 위해 새로운 보충 강화 정보(Supplemental Enhancement Information: SEI) 메시지가 정의될 수 있지만, 다른 메시지 구조가 대신 사용될 수도 있다. 이러한 메시지와 함께 구면 회전 능력이 사용되어 비디오 인코딩 효율을 향상시킬 수 있다.
일정한 양자화 값을 이용하면, 상이한 구면 배향은 상이한 인코딩된 비디오 비트스트림 비트 레이트를 초래할 수 있다. 평면 장면이 인코딩되고 장면이 하이 모션(high motion) 또는 하이 텍스처(high texture) 영역이 작은 경우, 비디오 코딩은 이 작은 영역이 평면 장면의 중앙에 배치될 때 가장 효율적이다. 이 중앙배치의 작용은 구면 또는 광시야 장면의 평면 투영을 인코딩할 때도 적용된다. 본 명세서에 기술된 바와 같이, 장면의 구체(sphere)는 투영되기 전에 회전될 수 있다. 이러한 방식으로, 인코더에 대해 어떠한 변경도 하지 않고 코딩 효율이 향상된다. 구면 회전의 양은 결정 프로세스가 파노라마 프레임에서 하이 모션 및/또는 하이 텍스처의 영역을 검출하고, 그런 다음, 직사각형 프레임에 투영하기 전에 이들 영역을 구체 상의 특정 위치에 중앙배치함으로써 선택될 수 있다. 대안으로, 구면 회전의 양은 몇몇 상이한 구면 배향 값을 시도하고, 상이한 배향 값을 인코딩하며, 어떤 배향이 최저 비트레이트를 초래하는지를 결정함으로써 "사후" 프로세스를 통해 선택될 수 있다.
도 1은 파노라마 비디오 코딩 시스템의 블록도이다. 비디오는 서버, 생산 시스템 또는 상이한 시스템의 조합(102)에서 생성된다. 서버에서, 복수의 카메라(106)가 2D 비디오를 캡쳐한다. 6대의 카메라가 도시되어 있지만 더 많거나 더 적은 카메라가 사용될 수 있다. 카메라들은 제1 모듈(108)에 연결된다. 제1 모듈에서, 다수의 비디오가 함께 스티칭(stitching)되어 투영 포맷에 맵핑된다. 투영 포맷의 스티칭된 비디오는 HEVC 또는 AVC와 같은 비디오 인코더(110)에 입력된다. 인코더는 비디오를 인코딩하고 그 비디오를 전송하거나 또는 나중에 비트스트림으로 전송하기 위해 버퍼링한다. 버퍼는 인코더의 일부 또는 다른 컴포넌트의 일부일 수 있다.
인코딩된 비디오는 네트워크, 인터넷, 브로드캐스트 또는 점대점 접속(112)을 통해 서버 또는 헤드 엔드로부터 하나 이상의 클라이언트(104)로 비트스트림으로서 전송된다. 클라이언트측에서, 비디오 디코더(114)는 서버로부터 비디오를 수신하고 압축된 비트스트림을 디코딩한다. 디코딩된 비디오의 일부만이 보여질 때, 그 선택된 영역에 대한 뷰포트가 뷰포트 모듈(116)에서 생성된다. 뷰잉될 디코딩된 비디오의 일부분은 예를 들어, 헤드 마운티드 디스플레이의 헤드 위치 또는 위치 선택 사용자 인터페이스를 사용하여 위치 선택기(120)에 의해 결정된다. 위치는 디코딩된 비디오를 수신하고 적절한 비디오 스트림을 디스플레이(118)에 제공하는 뷰포트 생성기로 보내진다. 이 디스플레이는 뷰포트가 일반 2D 디스플레이에서 보여질 수 있게 한다.
도 2는 대안적인 파노라마 비디오 코딩 시스템의 블록도이다. 비디오는 서버(202), 생산 시스템 또는 상이한 시스템들의 조합에서 생성된다. 일부 경우, 복수의 카메라(206)가 2D 비디오를 캡처하여 그것을 제1 스티칭 및 투영 모듈(208)에 제공한다. 여러 비디오가 이 모듈의 버퍼에 저장되고, 이 모듈에서 함께 스티칭되어, 투영 포맷에 맵핑된다. 투영 포맷의 스티칭된 비디오는 HEVC 또는 AVC와 같은 비디오 인코더(210)에 입력된다.
구면 회전 배향 선택기(212)는 프레임의 어느 영역이 가장 인코딩하기 어려울지를 추정하는 것에 기초하여, 파노라마 비디오에 대해, 잠재적으로는 각각의 비디오 프레임에 대해 회전 배향을 결정한다. 이러한 어려움은 투영 포맷이 왜곡 및 불연속성을 가장 덜 초래하는 위치에 어려운 영역을 배치하는 데 사용될 수 있다.
선택기는 구면 회전기(214)에서 구면 회전을 적용한다. 회전기(214)는 투영 포맷의 스티칭된 비디오의 구면 투영을 선택된 배향에 따라 회전시킨다. 회전된 비디오는 비디오 인코더(210)에 입력된다. 인코더는 또한 선택기로부터 배향 선택(216)을 수신한다. 그런 다음, 인코딩된 비디오는 이 정보를 사용하여 인코딩된다. 본 발명의 실시예에서, 회전 배향 선택기 및 구면 회전기는 스티처(stitcher) 또는 인코더에 통합될 수 있다. 선택기는 또한 구면 회전 배향을 나타내는 메타데이터를 생성할 수 있다. 회전 배향 메타데이터(216)는 인코더의 비디오 비트스트림 출력에 추가된다. 이 메타데이터는 SEI 메시지의 형태로 또는 다른 형태로 추가될 수 있다. 회전 배향 메타데이터는 프레임과 연관되고 따라서 프레임 당 한 번씩과 같이 빈번히 업데이트될 수 있다.
인코딩된 비디오는 나중을 위해 인코더 버퍼 또는 연결된 메모리에 저장될 수 있고, 또는 네트워크, 인터넷, 브로드캐스트 또는 점대점 링크와 같은 데이터 링크(218)를 통해 서버(202) 또는 헤드 엔드로부터 하나 이상의 클라이언트(204)에 비트 스트림으로서 즉시 전송될 수 있다. 클라이언트측에서, 비디오 디코더(224)는 서버로부터 비디오를 수신한다. 비디오는 디코더 버퍼에 저장될 수 있다. 버퍼는 압축된 비트 스트림(218)을 디코딩하고 임의의 SEI 메시지를 추출한다. 이들 메시지는 회전 배향 메타데이터(216)를 포함한다. 언급한 바와 같이, 회전 배향 메타데이터는 다른 형식으로 통합될 수도 있다. 비디오 디코딩 후에, 디코딩된 비디오는 구면 회전기(222)에 인가된다. 회전 배향 메타데이터(220)도 디코더(224)로부터 회전기에 제공된다. 회전기는 인코딩 이전에 적용된 구면 회전 프로세스의 역(inverse)을 디코딩된 비디오에 적용한다.
뷰포트 생성기(226)는 디코딩되고 회전된 비디오를 수신하고 적절한 비디오 스트림을 디스플레이(228)에 제공한다. 클라이언트 측에서, 뷰어는 위치 선택기(230) 또는 다른 센서를 사용하여 뷰포트를 선택할 수 있다. 뷰포트 모듈은 비디오에 대해 선택된 뷰포트를 수신하고 이에 따라 디스플레이를 위해 뷰를 조정한다. 그런 다음 뷰포트가 생성되고 뷰잉을 위해 디스플레이(228)에 바로 보내진다. 일부 실시예에서, 생성된 뷰포트를 갖는 비디오는 나중에 볼 수 있도록 저장된다. 비디오 저장은 뷰포트 생성기 또는 관련 컴포넌트의 버퍼 또는 메모리에서 행해질 수 있다. 그러면 비디오는 사용자가 볼 수 있도록 나중에 또는 바로 디스플레이로 전송될 수 있다.
회전 배향 선택기, 디코더 또는 위치 센서로부터의 회전 배향을 나타내는 메타데이터는 피치, 요 및 롤을 포함하는 3개 이상의 파라미터를 포함할 수 있다. 도 3은 피치(254), 요(256) 및 롤(252)에 대한 회전 방향을 도시하는 3축 데카르트 좌표계(240)의 다이어그램이다. 3개의 축은 x 축(242), y 축(244) 및 z 축(246)이다. 회전 방향은 기준 프레임의 원점에서 보았을 때 각 축을 중심으로 시계 방향으로 회전하는 방향이다. 롤은 x 축을 중심으로 이루어진다. 피치는 y 축을 중심으로 이루어지며, 요는 z 축을 중심으로 이루어진다. 축은 수평, 수직, 깊이 또는 다른 적절한 명칭과 상이한 명칭을 가질 수 있다. 본 실시예는 기준이 되는 데카르트 좌표 프레임의 축을 중심으로 하는 회전하는 형태를 갖지만, 구면 투영의 회전은 다른 유형의 좌표계 및 투영을 사용하여 임의의 다른 바람직한 방식으로 표현될 수도 있다.
이 메타데이터는 HEVC 및 AVC 표준에서 사용되는 SEI(Supplemental Enhancement Information) 메시지에 포함될 수 있다. SEI 메시지를 사용하면 표준 인코딩 및 디코딩 프로세스가 변경되지 않기 때문에 레거시 인코더 및 디코더가 사용될 수 있다. 회전은 구체적인 구현에 따라, 송신기(202)에서는 예비 프로세스(214)로서 그리고 수신기(204)에서는 사후 프로세스(222)로서 또는 프로세스의 다른 위치에서 적용될 수 있다. 사후 프로세스 구면 회전은 디코더의 출력 화상에 적용된다.
SEI 및 메타데이터의 대안으로서, 회전 배향 메타데이터가 비디오 코덱 내의 파라미터 세트, 또는 슬라이스 헤더에 포함될 수 있다. 이 경우, 화상이 출력되기 전에 역 구면 회전이 이미 적용되어 있도록, 부합형 출력 화상(conformant output pictures)의 정의가 변경될 수 있다.
메타데이터 시그널링 방법 중 하나를 사용하면, 역 구면 회전 함수의 적용은 뷰포트 생성 프로세스와 결합될 수 있되, 추가의 클라이언트 복잡성은 거의 없다.
Figure 112019039029119-pct00001
표 1은 회전 배향에 사용될 수 있는 메타데이터 파라미터의 예로서 SEI 메시지에 대한 신택스(syntax)의 예이다. 이 메타데이터는 구면 배향이 적용될지 여부와 절대적인 배향이 제공되고 있는지 또는 상대적인 배향이 제공되고 있는지 여부를 나타내는 플래그를 갖는다. 위에서 언급했듯이, 구면 배향 변경은 왜곡이 높은 투영의 에지에 관심 영역이 있을 때 가장 유용하다. 일부 구현예에서, 구면 배향은 투영의 중심 근처의 영역에 대해서는 변경되지 않는다. 메타데이터는 또한 구면 배향의 두 가지 상이한 유형인 절대적 및 상대적 배향에 대한 피치, 요 및 롤 중 하나 이상을 포함한다. 피치, 요 및 롤은 도(degree), 라디안 또는 선형 거리와 같은 다양한 단위 중 임의의 단위로 제공될 수 있다. 실제 값이나 분수 값이 사용될 수 있다. 값은 고정 길이 코드 또는 가변 길이 코드로 인코딩될 수 있으며 동일하게 분할된 단차 또는 스케일된 단차를 가질 수 있다. 플래그는 임의의 사용되지 않은 메타데이터를 무시함으로써 구면 배향 모듈이 더 신속하게 작동할 수 있도록 하기 위해 사용될 수 있다.
Figure 112019039029119-pct00002
표 2는 구면 회전 정보에 관한 메타데이터 파라미터를 전송하는데 사용될 수 있는 SEI 메시지에 대한 신택스의 다른 예이다. 이 예에서, 상대적 회전 또는 절대적 회전 선택이 제거되고 따라서 신택스는 구면 회전 플래그와 그런 다음 피치, 요 및 롤 값만을 포함한다. 이들 값은 컨텍스트에 따라 상대적, 절대적 또는 다른 유형일 수 있다.
표 1 및 표 2에 도시된 바와 같이, 구면 배향 또는 구체 회전 SEI 메시지는 글로벌 좌표축과 로컬 좌표축 간의 변환에 사용되는 회전 각도인 요(a), 피치(β) 및 롤(γ)에 대한 정보를 제공한다.
일부 실시예에서, sphere_rotation_cancel_flag를 1로 설정하는 것은 SEI 메시지가 출력 순서에서 임의의 이전 구체 회전 SEI 메시지의 지속성을 취소한다는 것을 나타낸다. sphere_rotation_cancel_flag를 0으로 설정하는 것은 구체 회전 정보가 뒤따른다는 것을 나타낸다.
sphere_rotation_persistence_flag는 현재 계층에 대한 구체 회전 SEI 메시지의 지속성을 지정하는데 사용될 수 있다. 따라서, 일부 실시예에서, sphere_rotation_persistence_flag를 0으로 설정하는 것은 구체 회전 SEI 메시지가 현재의 디코딩된 화상에만 적용됨을 나타낸다.
picA가 현재 화상인 예를 생각해 본다. sphere_rotation_persistence_flag가 1인 것은, 후속하는 조건 중 하나 이상이 참(true)일 때까지 현재 계층에 대해 구체 회전 SEI 메시지가 출력 순서로 유지되도록 지정한다.
- 현재 계층의 새로운 CLVS(Coded Layer-Wise Video Sequence)가 시작된다.
- 비트스트림이 종료된다.
- 현재 계층에 적용가능한 구면 회전 SEI 메시지를 포함하는 액세스 유닛에서의 현재 계층 내의 화상 picB가 picB의 화상 순서 카운트에 대한 디코딩 프로세스의 호출 직후에 출력되는데, 이에 대해 PicOrderCnt(picB)는 PicOrderCnt(picA)보다 크고, PicOrderCnt(picB) 및 PicOrderCnt(picA)는 각각 picB 및 picA의 picOrderCntVal 값이다.
이 예에서는 sphere_rotation_reserved_zero_6bits를 따로 잡아두는데, 이는 비트스트림 유형, 사양 버전을 나타내기 위해 또는 다른 목적을 위해 사용될 수 있다.
yaw_rotation은 요 회전 각도의 값을 지정한다. 일부 실시예에서, 회전은 2°내지 16°의 단위로 표시될 수 있다. yaw_rotation의 값은 비트 수를 줄이기 위해 범위가 제한될 수 있다(예컨대, -120° 내지 +120°). 회전이 없음을 나타내기 위해 0을 사용하거나 비워둘(absent value) 수도 있다.
pitch_rotation은 피치 회전 각도의 값을 나타내고, roll_rotation은 롤 회전 각도의 값을 나타낸다. 이들 값은 같은 값일 수도 있고 다른 값일 수도 있으며 동일한 방식으로 표시될 수도 있고 다른 방식으로 표시될 수도 있다.
구면 회전 배향 메타데이터는 전체 코딩된 비디오 시퀀스에 대해 및/또는 프레임마다 전송될 수 있다. 시그널링된 값, 즉 메타데이터 내의 피치, 롤 및 요 파라미터는 디코더에 후속하여 구면 회전이 출력 이미지에 어떻게 적용되는지를 나타낸다. 많은 경우, 파라미터는 인코더에서 적용된 회전의 역이 될 것이다.
구면 회전 배향에 대해 절대 값과 상대 값 모두가 전송될 수 있다. 상대적인 배향 값은 절대 위치를 기준으로 시그널링될 수 있고 프레임마다 변경될 수 있다. 움직이는 카메라로 캡처한 콘텐츠에 대해, 절대적인 배향 값은 움직이는 카메라의 배향을 반영하는 반면, 상대적인 배향은 움직이는 물체의 위치에 기초하여 선택될 수 있다. 클라이언트측에서, 구면 회전을 수행하기 전에 절대적인 및 상대적인 배향 값은 결합될 수 있다.
본 명세서에 설명된 구면 배향 및 메타데이터는 등-직사각형 투영, 큐브 맵 투영, 8면체 투영, 20면체 투영, 절단형 정사각 피라미드 투영 등과 같은 인코딩에 사용되는 임의의 투영 포맷과 함께 사용될 수 있다. 회전은 투영 포맷 픽셀에 직접 적용되기보다는, 구면 표현에 적용된다. 코딩된 화상이 부합형 자르기(conformance cropping)를 포함하는 경우, 이 부합형 자르기 작업이 수행된 후 회전이 적용된다.
회전 배향 메타데이터 값을 선택하는 프로세스는, 투영 맵핑 중에 야기된 불연속 및 왜곡이 투영 포맷에 기초하여 변하기 때문에, 사용되는 특정 투영 포맷에 의존한다.
도 4는 등-직사각형 포맷 투영의 다이어그램이다. 본래의 구면 뷰(266)는 좌측에 도시되어 있고, 펼쳐진(unwrapped) 평면 그리드(260) 상에 구체가 투영된 것이 우측에 도시되어 있다. 불연속성은 우측의 직사각형 평면 프레임(260)의 좌측(262) 및 우측(264) 에지에서 발생된다. 좌측의 실세계 구면 표현을 사용하면, 좌측 및 우측 에지가 연결된다. 또한, 심각한 뒤틀림(warping)은 우측 상의 프레임의 위쪽과 아래쪽을 따라 픽셀을 왜곡시킨다. 이것은 좌측의 북극 및 남극 영역에 해당한다. 특정한 제안된 뷰포트는 등-직사각형 포맷의 좌측 및 우측 에지를 가로지를 수 있고, 그에 따라, 코딩된 투영 포맷 프레임 내의 두 개의 다른 영역에 대응할 수 있다. 마찬가지로, 특정한 제안된 뷰포트가 위쪽 에지의 다른 부분들을 가로지를 수 있고 왜곡될 수 있다.
공간적 방향성 인트라 예측(spatial directional intra-prediction) 및 블록 병진 모션 보상을 사용하는 현재의 비디오 코딩 표준은 극 근처, 또는 좌측 및 우측 에지를 따르는 곳보다, 등-직사각형 예측의 중심 근처에서 더 잘 수행될 것이다. 좌/우 에지 불연속부를 가로 질러 뻗어 있는 물체는 공간적 인트라-방향 위치 또는 움직임 보상을 사용하여서는 잘 예측되지 않을 것이다.
큐브 맵 투영에서, 6개의 큐브 면이 직사각형 프레임으로 배열된다. 도 5는 구체가 0 내지 5로 라벨링된 6개의 평면에 투영되는 큐브 맵 투영의 다이어그램이다. 6개의 면 각각은 구체의 일부에 투영된다. 그런 다음, 면들은 평면 그리드 상에 표시될 수 있다. 도 6은 투영의 인접한 영역들이 서로 옆에 배치되는 6개 면의 4×3 평면 레이아웃을 도시한다. 도시된 바와 같이, 면 1과 2, 1과 3, 1과 4, 4와 0 및 0과 5 사이의 경계는 인접하여 유지된다. 그러나, 다른 경계들은 도 6에서와 같이 서로 인접하여 배치되지 않는다. 면 2 및 3은 대신 해당 경계를 유지하기 위해 면 4, 5 또는 0 중의 어느 한 면으로 이동될 수 있다. 평면 그리드 표현이 많은 코덱 및 기타 디지털 처리 및 압축 시스템에 적합하지만, 도 6의 평면 프레임에는 큐브를 나타내는 픽셀이 포함되지 않은 일부 영역이 있다. 이들은 면 4, 5 및 0의 위와 아래에 있는 영역이다. 이들 면은 배경색으로 설정될 수 있지만 일부 데이터가 인코딩될 필요가 있다. 도 7은 큐브 면이 보다 컴팩트한 레이아웃에 맞게 재배열된 3x2 평면 레이아웃을 보여준다. 도 7의 표현은 에지를 처리하는 데 약간의 추가적인 복잡성을 요구할 수 있지만 픽셀 수는 4x3에서 3x2로 절반으로 줄어든다.
큐브 맵 투영 포맷의 인코딩을 위한 회전 배향의 선택은, 투영 포맷마다 불연속 부분의 수와 위치가 서로 다르기 때문에, 선택된 특정 레이아웃에 따라 달라질 것이다. 각 큐브 면의 에지 영역은 큐브 면의 중심 영역보다 많은 왜곡을 갖는다. 회전 배향의 선택은 특히 큐브 면 에지의 불연속 부분을 가로지르는 물체를 최소화하려 해야 한다. 에지가 있는 면을 포함하는 다른 투영 포맷에서도 유사한 불연속 및 왜곡이 발생한다.
도 8은 20면체 투영의 다이어그램이다. 이는 20면체를 사용하는, 구면 표현에서 평면 표현으로의 또 다른 유형의 투영이다. 이 예에서, 좌측은 도 5의 큐브 맵의 단지 6개의 패싯이 아니라, 자신을 둘러싸는 20면체의 20개의 패싯에 투영된 구체(280)를 도시한다. 이 때 20개의 패싯은 우측의 2차원 공간(282) 상의 레이아웃과 같이 도시되어 있다. 다른 투영과 마찬가지로, 각 패싯의 에지에는 왜곡 및 불일치가 있다. 패싯을 보다 많이 사용하면 왜곡이 줄어들지만 이음매(seam)의 수와 위치가 증가한다.
팔각형, 절단된 정사각형 피라미드 및 다양한 다른 유형의 다각형 투영 중 임의의 것을 포함하여, 상기 언급된 바와 같은 다양한 다른 투영 중 임의의 것이 사용될 수 있다. 패싯이 많을수록, 각 패싯의 왜곡은 줄어들지만 복잡성이 증가할 수 있고 에지를 피하는 것이 더 어려울 수 있다.
일부 실시예에서, 구면 회전 배향은 인코딩 프로세스의 일부로서 선택될 수 있다. 일부 실시예에서, 구면 배향은 몇몇 상이한 배향 값을 시도하고, 이 상이한 배향 값을 일정한 양자화 값으로 인코딩하고, 어느 배향이 최저 비트레이트를 초래하는지를 결정함으로써 "사후(a posteriori)" 프로세스를 통해 선택될 수 있다. 일부 실시예에서, 최대 해상도 프레임보다는 프레임의 다운샘플링된 버전이 인코딩되도록, 계층적 방법이 본 접근법과 함께 사용될 수 있다.
일부 실시예에서, 회전 값은 먼저 상이한 회전 값을 갖는 회전된 투영의 평면 투영에 대해 비디오를 인코딩함으로써 그에 따라 선택된다. 이로 인해 회전 값마다 하나씩 다수의 비디오 샘플이 생성된다. 구체 또는 구체의 평면 투영 또는 이들 모두는 인코딩 전에 다운샘플링될 수 있다. 인코딩된 비디오 샘플 각각에 대한 비트레이트들이 측정되고 비교되어 가장 낮은 비트레이트를 갖는 비디오 샘플을 결정한다. 이 때, 가장 낮은 비트 레이트를 갖는 인코딩된 비디오에 대응하는 회전 값은 비디오를 인코딩하는데 사용될 회전 값으로서 선택된다. 이러한 결정은 각각의 장면 변화마다 또는 구면 비디오의 특성에 각각의 심각한 변화가 있을 때마다 반복될 수 있다.
다른 접근 방법은 파노라마 프레임에서 하이 모션 및/또는 하이 텍스처의 영역을 감지하고, 사용되고 있는 투영 포맷에 따라 등-직사각형 프레임 또는 큐브 표면의 중심에 이들 영역을 두려는 것을 목표로 한다. 이 때 선택된 회전은 평면 투영의 중심에 하이 모션 영역을 배치하는 회전이다. 투영의 특성을 사용하면, 평면 투영의 중심은 구체의 특정 위치 또는 영역에 대응할 수 있다. 이렇게 하면 회전은 구체의 특정 위치로서 직접 선택될 수 있다.
상술한 바와 같은 SEI 메시지는 구면의 선택된 뷰포트 SEI 메시지와 결합하여 사용될 수 있다. 2개의 SEI 메시지가 함께 사용될 때, 구면 회전 정보 배향 SEI 메시지에 의해 제안된 회전이 먼저 적용될 수 있으며, 그런 다음, 제안된 뷰포트 SEI 메시지로부터 제안된 뷰포트 위치가 회전된 구면 표현에 대해 결정될 수 있다.
프레임으로 구성된(frame packed) 스테레오 비디오가 비디오 프레임 내에 포함되는 경우, 각 뷰에 대해 양쪽 배향 값이 개별적으로 전송될 수도 있고, 또는 가능하면 제1 뷰에 대한 제2 뷰의 상대 위치에 대한 임의의 정보를 고려하여, 제2 뷰에 대한 값이 제1 뷰의 값에 기초하여 도출될 수도 있다.
도 9는 파노라마 다중 카메라 뷰를 갖는 구체(302) 및 그 구체를 평면(304) 상으로 등-직사각형 투영한 것의 다이어그램이다. 이 예에서, 비디오 콘텐츠는 구체 내에서 타원형(314,316) 및 삼각형(312)으로 표현된다. 타원형(314,316)의 두 부분은 파노라마 뷰의 두 측면에서 보이는 것과 같이 동일한 타원형을 나타낸다. 이들 물체는 등-직사각형 맵핑(304)에 투영되고 동일한 타원형(324,326)의 두 부분 및 삼각형(322)으로 도시된다. 등-직사각형 맵핑에서, 타원은 좌측 및 우측 에지를 가로지르는 불연속부(324,326)를 갖는다. 이 타원형은 또한 북극에 가깝기 때문에 수평으로 뻗어 있다.
도 10은 구체(334) 및 구면 회전이 그 구체에 적용된 후 동일한 콘텐츠가 직사각형 맵핑(336)된 것의 다이어그램이다. 회전된 구체의 타원형(332)은 이제 프레임의 중심에 더 가깝다. 삼각형(330)은 타원형만큼 중심에 가깝고, 따라서 두 항목의 왜곡은 거의 동일할 것이다. 등-직사각형 투영에서, 모든 2차원 물체가 왜곡된다. 왜곡의 양은 중심으로부터의 거리에 따라 증가한다. 회전이 없는 동일한 구체(302)와 비교하여, 회전된 구체(334)로 도시된 바와 같이, 타원형에서는 더 이상 불연속이 없다. 타원형은 프레임의 중심에 가깝기 때문에, 왜곡도 적다. 삼각형도 개선되지만 크게는 아니다. 투영의 평면 그리드(336)는 투영된 타원형(340) 및 투영된 삼각형(338)이 왜곡이 적은 그리드의 중심에 가깝고 타원형이 회전 이전의 투영(304)에서와 같이 두 부분이 아니라 한 부분에 있다는 것을 더 명확하게 보여준다. 회전된 프레임을 기반으로 인코딩된 비디오는 회전되지 않은 프레임을 사용하는 비디오보다 레거시 비디오 인코더에 의해 더 효율적으로 코딩되어야 한다.
도 2로 돌아가서, 특유의 구조 및 구성은 파노라마 비디오, 360°비디오, VR 비디오 시스템 및 투영을 사용하는 임의의 다른 광시야 시스템에 대한 사용자의 경험을 향상시킨다. 이 구조의 동작은 전술한 구체로부터 직사각형으로의 맵핑의 설명에 비추어 보다 잘 이해될 수 있다.
서버 또는 송신기 측(202)에서, 투영 맵핑 모듈(208)은 광시야 비디오를 수신한다. 도면에서, 비디오는 복수의 카메라(206)로부터 수신되고, 따라서 맵핑 모듈(208) 또는 다른 비디오 스티처는 복수의 카메라로부터의 비디오를 함께 스티칭하여 단일의 광시야 비디오를 생성한다. 다른 경우에, 비디오는 이전에 저장되었다가 이후 인코딩을 위해 인출될 수도 있고, 또는 비디오의 일부 또는 전부가 소프트웨어 및 사용자 입력에 기초하여 그래픽 시스템에 의해 생성될 수도 있다. 비디오 입력은 시뮬레이션 세계 또는 가상 세계를 포함할 수 있고, 또는 가상 부분과 실제 부분이 함께 결합된 것일 수도 있다. 비디오는 180°, 360°, 파노라마 또는 다른 광시야를 가질 수 있다. 비디오는 수직 시야보다 더 넓은 수평 시야를 가질 수 있다.
어떻게 생성되거나 수신되건, 완전한 스티칭된 광시야 비디오는 평면 투영으로 맵핑된다. 위에서 도시되고 언급된 것을 포함하여 다양한 다른 투영 중 임의의 것이 사용될 수 있다. 등-직사각형 투영, 구면 큐브 투영, 20면체 투영이 도시되고 설명되어 있지만 그 대신 다른 투영이 있을 수도 있다.
본 명세서에 도시된 예에서, 비디오는 구면이고 회전은 구면 회전으로 지칭되지만, 완전한 구체가 필요한 것은 아니다. 비디오는 구체의 일부만 포함할 수 있다. 위에서 언급한 180°시야는 구체의 절반에 불과하다. 시야는 구체의 일부만을 보여주기 위해 수평으로 및 수직으로 축소될 수 있다. 한편, 시야는 구체의 일부분과 같이 곡선 형태이다. 이렇게 하면 이미지는 모든 방향에서 뷰어로부터 동일한 거리에 있게 될 수 있다.
이 곡선 형태의 이미지는 이후 위에 도시된 예를 포함하여 임의의 원하는 유형의 지오메트리를 사용하여 평면에 투영된다. 구체의 한 부분의 전부 혹은 일부인 곡선 형태의 시야는 고유한 왜곡이 없지만, 그러한 곡선 형태의 표면의 평면 투영에는 왜곡이 있다. 그러나, 평면 투영은 인코딩, 압축 및 기타 이미지 프로세스에 매우 적합하다.
비디오가 맵핑되기 전에, 이 비디오는 투영의 적절한 회전을 선택하기 위해 분석(212)된다. 중요한 영역 또는 관심 영역이 평면 투영의 여백 또는 에지에 있지 않도록 선택이 이루어진다. 이렇게 하면 사용자가 알아차릴 수 있는 왜곡 및 기타 효과가 줄어든다. 가상 현실과 같은 일부 실시예에서, 뷰포트가 사용자 인터페이스(230) 또는 몇몇 다른 제어 엔티티를 통해 사용자로부터 수신된다. 뷰포트는 광시야 비디오 중 어느 부분이 디스플레이(228) 상에서 사용자의 시야에 있을 것이며 따라서 사용자의 시야의 중간에 있는 있게 될 것인지를 나타낸다. 다른 실시 예에서는, 관심 지역 또는 영역이 존재한다. 이 지역 또는 영역은 화자(speaker), 인물, 새로 등장한 물체 또는 다른 지역보다 더 중요하게 만드는 어떤 다른 특성을 가질 수 있다. 이 때, 이 지역 또는 영역은 뷰포트에 해당하는 가장 중요한 것으로서 선택될 수 있다. 관심 영역은 비디오 편집기에 의해 결정되어 헤드 엔드의 선택기(212)로 전달되거나 인터페이스(230)를 통해 사용자에 의해 선택될 수 있다.
그 다음, 수신된 또는 생성된 뷰포트는 회전 선택기(212)에서 평면 투영의 에지와 비교된다. 뷰포트가 투영의 에지 근처에 있으면, 이때 회전은 뷰포트를 평면 투영의 에지로부터 멀리 이동시키도록 선택된다. 이 회전은 비디오가 인코딩되고 있을 때(210) 이 비디오에 적용되어 투영에 고유한 왜곡을 제거 또는 감소시킨다. 회전의 양은 뷰포트의 에지를 평면 투영의 에지에 비교함으로써 결정될 수 있다. 예를 들어 사전결정된 거리 임계치에 의해 측정되었을 때 에지가 너무 가깝다면, 이 때, 회전은 투영의 에지로부터 적어도 사전결정된 거리만큼 뷰포트의 에지를 에지로부터 이동시키도록 선택된다. 이 거리는 동일한 사전결정된 임계 거리 또는 다른 임계 거리일 수 있다.
회전 거리는 다양한 방식으로 표현될 수 있다. 구면 좌표계에서는, 구체 상에서의 위치를 나타내기 위해 롤, 피치 및 요가 사용된다. 이들 중 하나 이상이 사용될 수도 있고, 또는 투영을 기준으로 데카르트 좌표, 예를 들어 수직 및 수평 거리가 사용될 수 있다. 롤, 피치, 요의 경우, 3가지를 모두 사용할 필요는 없다. 관심 영역을 극점으로부터 멀리 이동시키는데 하나만 필요할 수 있다. 제2 좌표는 좌측 및 우측 이음매 에지로부터의 거리를 나타내는 데 사용될 수 있다. 롤, 피치 및 요에 대한 회전 정보는 각도로 표현될 수 있다. 일부 실시예에서, 회전의 각도는 비디오의 본래 배향에 대해 주어질 것이다. 또한, 비디오의 절대적인 배향은 메타데이터에 포함될 수 있다. 절대적인 배향은 카메라의 배향 또는 카메라 어레이가 있는 경우 복수의 카메라 중 하나 이상의 배향을 반영한다. 특정 구현에 따라 상대적인 배향, 절대적인 방향 또는 둘 다가 사용될 수 있다.
회전이 결정된 후, 구면 회전 선택기(212)는 선택된 회전을 설명하는 회전 배향 메타데이터(216)를 생성한다. 이는 구면 회전기(214)에 제공되어 선택된 회전에 기초하여 투영을 회전시키는 데 사용된다. 메타데이터는 또한 회전된 투영이 회전 배향 메타데이터를 포함하는 인코딩된 비디오로서 인코딩되도록 인코더(210)에 제공된다. 메타데이터를 갖는 회전된 인코딩된 비디오는 그 다음 디스플레이용으로 인코딩된 비디오로서 제공될 수 있도록 전송, 버퍼링 또는 저장된다(218). HEVC 및 AVC와 같은 여러 유형의 인코딩에 대해, 상술된 SEI 메시지와 같은 SEI 메시지가 사용될 수 있지만, 본 발명은 이에 국한되지 않는다.
회전의 양의 선택은 비디오의 각 프레임마다 또는 관심 영역이 이동하는 각 프레임마다 이루어질 수 있다. SEI 메시지는 관심 영역이 이동한 각 프레임이 자체 메시지를 가질 수 있도록 특정 프레임에 국한된다. 일부 경우, 메시지는, 새 메시지가 수신될 때까지, 다음 프레임 세트의 모든 회전을 취소하는 것일 수 있다. 이는 각 장면과 관심 영역의 변경이 대응하는 프레임에 대한 배향을 변경시키기 위해 다른 SEI 메시지로 플래그될 수 있게 해준다.
수신기 또는 클라이언트 측(204)에서, SEI 메시지와 같은 메타데이터(216)를 포함하는 인코딩된 비디오(218)는 서버 또는 브로드캐스터(202)로부터 수신된다. 클라이언트는 비디오를 디코딩하고 회전 배향 메타데이터(220)를 추출하기 위한 디코더(224)를 갖는다. 이어서, 디코딩된 비디오는 회전 배향 메타데이터에 기초하여 회전될 수 있다(222). 회전은 피치, 롤 및 요 각도 또는 몇몇 다른 방법으로 결정될 수 있다. 이 회전된 비디오는 사용자가 볼 수 있도록 헤드셋, 3D 모니터 또는 2D 디스플레이 스크린과 같은 디스플레이(228)에 제공된다. 많은 애플리케이션에 있어, 사용자에 의해 선택된 뷰포트가 있을 것이다. 이것은 종래의 사용자 입력 장치(230)를 통해 또는 다른 센서를 통해 수행될 수 있다. VR 헤드셋의 경우, 헤드셋 또는 사용자의 눈의 움직임이 검출될 수 있고 사용자가 어디를 보고 있는 지에 기초하여 뷰포트가 결정될 수 있다. 뷰포트 생성기(226)는 회전된 디코딩된 비디오의 뷰를 생성한다.
상술한 바와 같이, 수신된 인코딩된 비디오는 복수의 카메라로부터 수신되거나 그래픽 시스템에 의해 생성된 광시야의 투영이다. 이 투영은 등-직사각형 투영 또는 임의의 다른 적합한 평면 투영일 수 있다. 많은 비디오 인코딩 시스템은 SEI 메시지와 같은 메타데이터가 인코딩된 비디오의 특정 프레임과 연관되도록 한다. 결과적으로, 디코더가 새로운 SEI 배향 회전 메시지를 발견하면, 구면 회전기는 새로운 메시지를 사용하여 대응하는 프레임에 대한 회전을 변경하도록 명령받을 수 있다. 회전은 다음 메시지가 올 때까지 유지될 수 있다. 결과적으로, 인코딩된 비디오의 추가 프레임에 대해 추가 메타데이터가 수신될 수 있다.
도 11은 본 명세서에 설명된 하드웨어에 의해 수행되는 동작을 나타내는 프로세스 흐름도이다. 이 동작은 비디오와 함께 회전 정보를 전송하고 비디오를 수신한 후 그 회전 정보를 추출하여 사용하는 동작을 포함한다. 이 프로세스는 서버, 브로드캐스터, 프로듀서 또는 헤드 엔드 터미널 또는 스테이션에서, 버퍼에서 광시야 비디오를 수신하는 것(404)으로 시작된다. 이 비디오는 다양한 상이한 방법으로 제작될 수 있다. 일부 경우, 402에서, 복수의 카메라 비디오 소스로부터의 비디오는 함께 스티칭되어 단일의 광시야 비디오를 생성한다. 이들 카메라는 로컬 또는 원격일 수 있고, 비디오는 실시간으로 수신될 수 있고 또는 단기간 또는 장기간의 저장 이후 저장소로부터 수신될 수 있다. 다른 경우에, 단일의 광시야 카메라가 사용될 수 있다. 시야는 현재 사용가능한 카메라에서는 반원 또는 전체 원만큼 넓을 수 있다.
406에서, 비디오는 평면 투영으로 맵핑된다. 이는 일반적으로, 수신된 구면 입력 비디오의 각 픽셀에 영향을 주기 위해 병렬로 동작하는 전용 하드웨어 리소스들을 구비한 투영 맵핑 모듈에서 수행된다. 몇몇 다른 유형의 투영이 앞서 설명되었지만, 다른 유형의 투영이 대신 사용될 수도 있다. 평면 투영은 훨씬 좁은 시야와 평면 이미지 스트림에 대해 설계된 일반적으로 사용가능한 인코딩 시스템을 사용하여 파노라마 또는 광시야 비디오가 인코딩 및 디코딩되게 할 수 있다.
408에서, 투영에 대한 회전이 선택된다. 회전은 특정 뷰포트를 필요로 하는 클라이언트 측의 사용자로부터 제공될 수 있다. 회전은 특정 뷰포트가 비디오의 의도된 사용이나 경험에 더 중요하거나 더 적합하다고 결정하는 편집자, 프로듀서 또는 퍼블리셔로부터 제공될 수 있다. 이 회전은 뷰포트가 낮은 왜곡을 갖는 투영의 부분으로 이동될 수 있게 해준다. 전형적으로, 뷰포트는 왜곡이 큰 투영의 에지 및 이음매로부터 멀리 이동된다. 이동의 특정 양과 유형은 투영의 유형에 따라 달라질 것인데, 그 이유는 상이한 투영은 상이한 위치에서 상이한 양의 왜곡을 가지기 때문이다. 회전은 상대적 또는 절대적 회전의 측면에서 및 상이한 유형의 단위로 표현될 수 있다. 피치, 요 및 롤이 도 3에 도시되어 있지만 이러한 값 모두가 필요한 것은 아니며, 각도, 거리, 위도 및 경도 등과 같은 다른 유형의 좌표가 대신 사용될 수 있다. 예를 들어, 구체는 피치와 요만을 사용하여 회전될 수 있다.
회전의 양이 선택된 후에, 410에서 선택된 회전을 설명하기 위한 회전 배향 메타데이터가 생성된다. 이 메타데이터는 다양한 포맷을 가질 수 있다. 위에서 SEI 메시지가 설명되었지만 다른 포맷 및 구성이 대신 사용될 수 있다. 412에서, 투영은 선택된 회전에 따라 그리고 회전 메타데이터에 기술된 바와 같이 회전된다.
414에서, 회전된 투영은 비디오 비트스트림으로서 인코딩된다. 416에서, 회전 배향 메타데이터는 인코딩된 비디오에 포함된다. 이후 418에서, 인코딩되고 회전된 비디오는 전송되거나, 저장되거나, 또는 다르게 처리된다. 일반적으로, 비디오는 즉시 또는 나중에 원격 뷰어에게 전달하기 위해 저장되지만, 로컬에서도 보여질 수 있다.
비디오가 전송된 후, 프로세스는 회전된 비디오를 클라이언트 또는 사용자 측에서 계속해서 수신하여 사용할 수 있다. 비디오는 자신이 어떻게 회전되었는지에 대한 표시를 포함하기 때문에, 비디오는 회전된 구성에서 디코딩되고 디스플레이될 수도 있고, 또는 회전이 역전될 수 있고 비디오가 디스플레이될 때 다른 뷰포트가 사용될 수도 있다. 클라이언트 측 프로세스는 422에서, 회전 배향 메타데이터를 포함하는 인코딩된 비디오를 수신하는 것으로 시작한다. 이것은 임의의 원하는 포맷 또는 임의의 다른 유형의 포함된 메타데이터로 앞서 설명된 SEI일 수 있다. 424에서 비디오는 디코딩된다. 426에서, 회전 배향 메타데이터가 추출된다. 428에서, 디코딩된 비디오는 회전 배향 메타데이터에 기초하여 회전된다. 430에서 회전된 디코딩된 비디오의 뷰를 생성하는데 사용되고, 이는 그 후 디스플레이를 위해 432에서 버퍼링된다.
수신된 비디오는 비디오가 인코딩되기 전에 이미 서버 측에서 회전된 것이다. 어떠한 추가 회전도없이 비디오는 이 특정 회전으로 디스플레이될 수 있다. 그런 다음 사용자 명령에 기초하여 뷰포트가 회전된 비디오에 적용될 수 있다. 인코딩 전에 먼저 비디오를 회전시킴으로써, 전체 시야 중 가장 중요한 부분에 대한 평면 투영 왜곡이 방지된다. 사용자가 비디오를 수신하고 디코딩하면, 이 비디오는 디코딩된 평면 버전으로부터 역으로 구면 투영으로 다시 변환될 수 있다. 회전 SEI는 클라이언트 측 시스템이 구면 비디오의 본래 배향을 결정할 수 있게 해준다. 이렇게 하면 사용자 경험이 적절하게 조정될 수 있다. 사용자가 서버 측에서 선택된 뷰포트와 다른 뷰포트를 명령하면, 시스템은 올바르게 지향된 구면 투영에 기초하여 해당 뷰포트를 정확하게 적용할 수 있다.
도 12는 다수의 원격 정보 소스를 갖는 고성능 HMD(Head Mounted Display)의 다이어그램이다. HMD(502)는 본체(504) 및 부착 스트랩(506)을 갖는다. 본체는 가상 세계를 착용자에게 렌더링하기 위한 사용자 디스플레이 및 스피커를 구비한다. 본체는 관성 센서, 마이크로폰 및 기타 사용자 입력 장치를 구비한다. 처리, 통신 및 전력 또는 배터리 수트는 HMD가 비디오 및 사운드를 렌더링하고 테더링된 컴퓨터(510)와 무선으로(508) 통신할 수 있게 해준다.
사용자는 머리와 몸의 움직임을 통해 가상 세계와 상호작용하며 음성 명령, 손짓 및 다른 사용자 입력 장치를 사용하여 상호작용할 수도 있다. 게임 컨트롤러(520)는 추가적인 제어를 제공하기 위해 동일한 무선 인터페이스(508) 또는 다른 무선 인터페이스(522)를 통해 테더링된 컴퓨터에 연결될 수 있다. HMD는 WiFi, WiDi 또는 다른 고속 디지털 무선 연결을 통해 컴퓨터에 연결되어 렌더링되거나 압축된 비디오 프레임 및 오디오를 사용자에게 디스플레이하기 위해 그 컴퓨터로부터 수신할 수 있다. 추가 설명, 데이터, 파라미터 및 명령이 또한 컴퓨터로부터 수신될 수도 있다. HMD는 동일하거나 다른 무선 링크를 통해 명령, 제어 및 가상 상호작용 데이터를 컴퓨터에 전송할 수 있다. 제어기는 예를 들어 블루투스 또는 비인가 대역을 통해 통신할 수 있다. 여러 무선 인터페이스를 결합하여 완전한 사용자 경험을 제공할 수 있다.
일부 경우, 컴퓨터는 휴대가능하며 사용자에 의해 소지된다. 컴퓨터는 필요에 따라 유선 연결을 허용한다. 소지되는 컴퓨터는 노트북, 태블릿, 스마트폰 또는 기타 원하는 물리적 구성을 가질 수 있다. 다른 경우에, 컴퓨터는 고정되고 유선 연결을 사용하여 HMD에 연결된다.
컴퓨터는 이어서 인터넷, LAN(근거리 통신망) 또는 유선 또는 무선의 다른 연결(514)을 통해 원격 서버(516)에 연결될 수 있다. 원격 서버는 인코딩된 비디오를 제공하고 가상 세계에 대한 추가 정보를 제공할 수 있다. 원격 서버는 또한 동일하거나 관련된 가상 세계를 경험하고 있는 다른 사용자와의 통신을 제공할 수 있다. 대안으로, HMD는 컴퓨터(510)를 거치지 않고 서버와 직접 통신할 수 있다. 다른 실시예에서, 원격 서버는 사용되지 않고 테더링된 컴퓨터는 독립적으로 동작한다.
본 명세서의 실시예에서, 무선 HMD는 GPU(그래픽 프로세싱 유닛), 그래픽 프로세서, 메모리 및 HMD가 수신된 인코딩된 비디오를 저장 및 렌더링할 수 있게 해주는 기타 리소스에 결합될 수 있는 CPU(중앙 처리 장치)와 같은 로컬 컴퓨팅 리소스 또는 클라이언트 장치를 구비한다. 로컬 렌더링은 다른 작업들 중에서, 설명한 회전 및 뷰포트 생성을 포함할 수 있다.
도 13은 일 구현에 따른 컴퓨팅 장치(100)를 도시한다. 컴퓨팅 장치(100)는 시스템 보드(42)를 수용한다. 보드(42)는 프로세서(44) 및 적어도 하나의 통신 패키지(46)를 포함하나 이에 국한되지 않는 다수의 컴포넌트를 포함할 수 있다. 통신 패키지는 하나 이상의 안테나(16)에 연결된다. 프로세서(44)는 보드(42)에 물리적 및 전기적으로 결합된다.
해당 애플리케이션에 따라, 컴퓨팅 장치(100)는 보드(42)에 물리적으로 또는 전기적으로 결합될 수도 있고 결합되지 않을 수도 있는 다른 컴포넌트를 포함할 수 있다. 이들 다른 컴포넌트로는 휘발성 메모리(예컨대, DRAM)(48), 비휘발성 메모리(예컨대, ROM)(49), 플래시 메모리(도시되지 않음), 그래픽 프로세서(12), 디지털 신호 프로세서(미도시), 암호 프로세서(미도시), 칩셋(14), 안테나(16), 터치스크린 디스플레이와 같은 디스플레이(18), 터치스크린 제어기(20), 배터리(22), 오디오 코덱(미도시), 비디오 코덱(미도시), 전력 증폭기(24), GPS(global positioning system) 장치(26), 나침반(28), 가속도계(미도시), 자이로스코프(미도시), 스피커(30), 카메라 어레이(32), 마이크로폰 어레이(34), 및 대용량 저장 장치(예컨대, 하드 디스크 드라이브)(10), CD(compact disk)(미도시), DVD(digital versatile disk)(미도시) 등을 포함하나, 이에 국한되지 않는다. 이들 컴포넌트는 시스템 보드(2)에 연결되거나 시스템 보드에 장착되거나 임의의 다른 컴포넌트와 결합될 수 있다.
카메라 어레이는 직접적으로 또는 이미지 칩을 통해 이미지 칩(36) 및 프로세서(44)에 결합될 수 있다. 이미지 칩은 그래픽 코 프로세서, 디지털 신호 프로세서(DSP), 이미지 신호 프로세서(ISP) 또는 임의의 다른 유형의 개별 전용 이미징 관리 모듈과 같은 다양한 다른 형태를 취할 수 있다. 이러한 장치 또는 모듈은 하나 이상의 이미지를 캡처, 처리, 편집, 압축, 저장, 인쇄 및/또는 디스플레이하도록 동작하는 로직, 알고리즘 및/또는 명령어를 포함할 수 있다. 일부 실시예에서, 이미징 관리 모듈은 이미징 애플리케이션 또는 운영 체제 내의 소프트웨어로서 구현된 프로그래밍 루틴, 함수 및/또는 프로세스를 포함할 수 있다. 다양한 다른 실시예에서, 이미지 프로세싱은 독립형 칩 또는 집적 회로로서, 또는 프로세서 내에, 그래픽 칩 또는 다른 집적 회로 또는 칩 내에, 또는 카메라 모듈 내에 포함된 회로로서 구현될 수 있다. 상술한 기술들은 프로세서의 이미지 칩에서 구현될 수 있고 또는 기능들은 카메라, 이미지 칩, 프로세서 및 다른 컴포넌트들을 포함할 수 있는 상이한 컴포넌트들 사이에 분산될 수 있다.
통신 패키지(46)는 컴퓨팅 장치(100)로 및 그로부터 데이터를 전송하기 위한 무선 및/또는 유선 통신을 가능하게 한다. "무선" 및 그 파생어는 비 고체 매체를 통한 변조 전자기 방사의 사용을 통해 데이터를 통신할 수 있는 회로, 장치, 시스템, 방법, 기술, 통신 채널 등을 설명하는 데 사용될 수 있다. 이 용어는, 어떤 실시 예에서는 그렇지 않을 수도 있지만, 연관된 장치가 어떠한 배선도 포함하지 않는다는 것을 의미하지는 않는다. 통신 패키지(46)는 Wi-Fi(IEEE 802.11 계열), WiMAX(IEEE 802.16 계열), IEEE 802.20, LTE(Long Term Evolution), Ev-Do, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, 블루투스, 이들의 이더넷 파생물, 및 3G, 4G, 5G 이상으로 지정된 임의의 다른 무선 및 유선 프로토콜을 포함하나 이에 국한되지 않는 다수의 무선 또는 유선 표준 또는 프로토콜 중 임의의 것을 구현할 수 있다. 컴퓨팅 장치(100)는 복수의 통신 패키지(46)를 포함할 수 있다. 예를 들어, 제1 통신 패키지(46)는 Wi-Fi 및 블루투스와 같은 단거리 무선 통신에 전용될 수 있고 제2 통신 패키지(6)는 GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO 등과 같은 장거리 무선 통신에 전용될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(100)는 랩톱, 넷북, 노트북, 울트라북, 스마트폰, 웨어러블 장치, 태블릿, PDA(personal digital assistant), 울트라 모바일 PC, 휴대 전화, 데스크탑 컴퓨터, 서버, 프린터, 스캐너, 모니터, 셋톱 박스, 엔터테인먼트 컨트롤 유닛, 디지털 카메라, 휴대용 음악 플레이어 또는 디지털 비디오 레코더일 수 있다. 컴퓨팅 장치는 고정형, 휴대형 또는 웨어러블일 수 있다. 다른 구현에서, 컴퓨팅 장치(100)는 데이터를 처리하는 임의의 다른 전자 장치일 수 있다.
카메라 어레이(32)는 도 1 및 2를 참조하여 설명된 유형 또는 다른 적절한 구성일 수 있다. 카메라 어레이는 컴퓨팅 장치(100)의 나머지 부분과 동일한 하우징에 통합될 수도 있고, 또는 적절한 유선 또는 무선 커넥터를 통해 부착된 별도의 주변 장치일 수도 있다. 컴퓨팅 장치는 서버 장치, 편집 장치 또는 클라이언트 장치로서 고정형 또는 휴대형 구성으로 사용될 수 있다.
실시예는 마더보드, ASIC 및/또는 필드 프로그래머블 게이트 어레이(FPGA)를 사용하여 상호연결된 하나 이상의 메모리 칩, 제어기, CPU(Central Processing Unit), 마이크로칩 또는 집적 회로의 일부로서 구현될 수 있다.
"일 실시예", "실시예", "예시적인 실시예", "다양한 실시예" 등의 참조는 그와 같이 기술된 실시예(들)가 구체적 특징, 구조 또는 특성을 포함할 수 있음을 나타내지만, 모든 실시예가 반드시 그러한 구체적 특징, 구조 또는 특성을 포함하는 것은 아니다. 또한, 일부 실시예는 다른 실시예들에 대해 기술된 특징들의 일부 또는 전부를 가질 수 있고 또는 어느 것도 가지지 않을 수도 있다.
다음의 설명 및 청구범위에서, "결합된"이라는 용어는 그 파생어와 함께 사용될 수 있다. "결합된"은 두 개 이상의 요소가 서로 협력하거나 상호작용함을 나타내기 위해 사용되지만 이들 요소 사이에 물리적 또는 전기적 컴포넌트가 개입하거나 개입하지 않을 수도 있다.
청구범위에서 사용된 바와 같이, 달리 명시되지 않는 한, 공통 요소를 설명하기 위해 서수 형용사 "제1", "제2", "제3" 등을 사용하는 것은 단지 유사한 요소의 상이한 인스턴스가 참조되는 것을 나타내며, 그렇게 기술된 요소가 시간적으로, 공간적으로, 순위에 따라 또는 임의의 다른 방식으로 주어진 순서를 따라야 한다는 것을 의미하지는 않는다.
도면 및 상기 설명은 실시예의 예를 제공한다. 당업자는 설명된 요소들 중 하나 이상이 또한 단일 기능 요소로 결합될 수 있다는 것을 이해할 것이다. 대안 적으로, 특정 요소는 다수의 기능 요소로 분할될 수도 있다. 일 실시예로부터의 요소들은 다른 실시예에 추가될 수 있다. 예를 들어, 본 명세서에 기술된 프로세스의 순서는 변경될 수 있으며 본 명세서에 설명된 방식으로 국한되지 않는다. 또한, 임의의 흐름도의 동작들은 도시된 순서로 구현될 필요는 없으며, 또한 모든 동작이 반드시 수행될 필요도 없다. 또한, 다른 동작에 의존하지 않는 동작들은 다른 동작들과 병행하여 수행될 수 있다. 실시예의 범위는 이들 특정 예에 의해 결코 제한되지 않는다. 구조, 치수 및 재료 사용에 있어서의 차이와 같은 다양한 변형이, 본 명세서에 명시적으로 제공되었는지 여부에 관계없이, 가능하다. 실시예의 범위는 적어도 하기 청구범위에 의해 주어진 바와 같이 넓다. 상이한 실시예의 다양한 특징은 포함된 몇몇 특징과 다양하게 결합될 수 있으며, 다른 다양한 용도에 적합하도록 배제될 수도 있다.
일부 실시예는 회전 배향 메타데이터(rotation orientation metadata)를 포함하는 인코딩된 비디오를 수신하는 단계와, 비디오를 디코딩하는 단계와, 회전 배향 메타데이터를 추출하는 단계와, 회전 배향 메타데이터에 기초하여 디코딩된 비디오를 회전하는 단계와, 회전된 디코딩된 비디오의 뷰를 생성하는 단계와, 및 디스플레이를 위해 생성된 뷰를 버퍼링하는 단계를 포함하는 방법에 관한 것이다.
다른 실시예에서, 수신된 인코딩된 비디오는 광시야(a wide field of view)의 평면 투영(planar projection)이다.
다른 실시예에서, 평면 투영은 등-직사각형 투영(equi-rectangular projection)이고, 광시야는 파노라마 식이다.
다른 실시예에서, 메타데이터는 보충 강화 정보 메시지(Supplemental Enhancement Information message)로서 인코딩된다.
다른 실시예에서, 메타데이터는 디코딩된 비디오를 회전시키는 데 적용되는 피치(pitch), 요(yaw) 및 롤(roll) 중 적어도 하나를 포함한다.
다른 실시예에서, 메타데이터는 비디오의 상대적인 배향 및 비디오의 절대적인 배향에 대한 회전 정보를 포함한다.
또 다른 실시예에서, 상대적인 배향은 절대적인 배향과 관련되고 절대적인 배향은 카메라의 배향을 반영한다.
또 다른 실시예에서, 메타데이터는 수신된 인코딩된 비디오의 프레임과 관련되며, 상기 방법은 인코딩된 비디오의 추가 프레임에 대한 추가 메타데이터를 수신하는 단계를 포함한다.
또 다른 실시예에서, 메타데이터는 수신된 구면 회전이 부가적인 프레임에 적용되지 않음을 나타내는 구면 회전 지속 플래그를 포함한다.
다른 실시예는 디스플레이 상에 표시하기 위한 회전된 디코딩된 비디오의 뷰를 생성하는 것을 포함한다.
일부 실시예는 실행될 때 머신으로 하여금 동작들을 수행하게 하는 명령어가 저장된 머신 판독가능 매체에 관한 것으로, 상기 동작들은 회전 배향 메타데이터를 포함하는 인코딩된 비디오를 수신하는 동작과, 비디오를 디코딩하는 동작과, 회전 배향 메타데이터를 추출하는 동작과, 회전 배향 메타데이터에 기초하여 디코딩된 비디오를 회전시키는 동작과, 회전된 디코딩된 비디오의 뷰를 생성하는 동작과, 디스플레이를 위해 생성된 뷰를 버퍼링하는 동작을 포함한다.
다른 실시예에서, 평면 투영은 큐브 맵 투영(a cube map projection)이고, 광시야는 파노라마 식이다.
일부 실시예는 회전 배향 메타데이터를 포함하는 인코딩된 비디오를 수신하고, 비디오를 디코딩하고, 회전 배향 메타데이터를 추출하는 비디오 디코더와, 회전 배향 메타데이터에 기초하여 디코딩된 비디오를 회전시키는 구면 회전기와, 회전된 디코딩된 비디오의 뷰를 생성하고 디스플레이를 위해 생성된 뷰를 버퍼링하는 뷰포트 생성기를 포함하는 장치에 관한 것이다.
다른 실시예는 사용자로부터 뷰포트 선택을 수신하고 생성된 뷰를 디스플레이하는 헤드 마운티드 디스플레이를 포함하며, 뷰포트 생성기는 수신된 뷰포트 선택을 사용하여 뷰를 생성한다.
일부 실시예는 버퍼에서 광시야 비디오를 수신하는 단계와, 평면 투영의 회전을 선택하는 단계와, 광시야 비디오를 회전시키는 단계와, 선택된 회전을 기술하는(describing) 회전 배향 메타데이터를 생성하는 단계와, 회전된 투영을 형성하기 위해 투영 매핑 모듈에서 회전된 비디오를 평면 투영에 맵핑하는 단계와, 이 회전된 투영을 비디오 인코더에서 회전 배향 메타데이터를 포함하는 인코딩된 비디오로서 인코딩하는 단계와, 디스플레이를 위해 인코딩된 비디오를 버퍼링하는 단계를 포함하는 방법에 관한 것이다.
또 다른 실시예에서, 수신된 광시야 비디오는 복수의 카메라로부터 수신되며, 방법은 단일의 광시야 비디오를 생성하기 위해 복수의 카메라로부터의 비디오를 함께 스티칭하는(stitching) 단계를 더 포함한다.
다른 실시예에서, 비디오를 맵핑하는 단계는 비디오를 등-직사각형 투영에 맵핑하는 것을 포함하고, 광시야는 파노라마 식이다.
다른 실시예에서, 메타데이터는 보충 강화 정보 메시지로서 인코딩된다.
다른 실시예에서, 메타데이터는 비디오를 디코딩하는 경우 인코딩된 비디오를 회전시키는 데 적용되는 피치, 요 및 롤 중 적어도 하나를 포함한다.
다른 실시예에서, 메타데이터는 비디오의 상대적인 배향 및 비디오의 절대적인 배향에 대한 회전 정보를 포함한다.
또 다른 실시예에서, 상대적인 배향은 절대적인 배향과 관련되고 절대적인 배향은 카메라의 배향을 반영한다.
다른 실시예는 광시야 비디오에 대한 뷰포트를 수신하는 단계와, 뷰포트를 평면 투영의 에지와 비교하는 단계를 포함하며, 회전을 선택하는 단계는 뷰포트를 평면 투영의 에지로부터 멀리 이동시키는 회전을 선택하는 단계를 포함한다.
다른 실시예에서, 뷰포트를 비교하는 단계는 뷰포트의 에지를 평면 투영의 에지와 비교하는 단계를 포함하고, 회전을 선택하는 단계는 뷰포트의 에지를 평면 투영의 에지로부터 적어도 사전결정된 거리만큼 이동시키는 회전을 선택하는 단계를 포함한다.
다른 실시예에서, 회전을 선택하는 단계는 비디오의 하이 모션 영역을 결정하는 단계와, 하이 모션 영역을 평면 투영의 중심에 위치시키는 회전을 선택하는 단계를 포함한다.
다른 실시예에서, 회전을 선택하는 단계는 상이한 회전 값을 갖는 회전된 투영의 평면 투영에 대해 비디오를 인코딩하는 단계와, 인코딩된 비디오에 대한 비트 레이트들을 비교하는 단계와, 가장 낮은 비트레이트를 갖는 인코딩된 비디오에 대응하는 회전 값을 선택하는 단계를 포함한다.
일부 실시예는 실행될 때 머신으로 하여금 동작들을 수행하게 하는 명령어가 저장된 머신 판독가능 매체에 관한 것으로, 상기 동작들은 광시야 비디오를 수신하는 동작과, 평면 투영의 회전을 선택하는 동작과, 선택된 회전을 사용하여 광시야 비디오를 회전시키는 동작과, 선택된 회전을 기술하는 회전 배향 메타데이터를 생성하는 동작과, 회전된 투영을 형성하기 위해 회전된 비디오를 평면 투영에 맵핑하는 동작과, 비디오 인코더에서 회전 배향 메타데이터를 포함하는 인코딩된 비디오로서 회전된 투영을 인코딩하는 동작, 및 디스플레이를 위해 인코딩된 비디오를 버퍼링하는 동작을 포함한다.
다른 실시예에서, 회전을 선택하는 동작은 비디오의 하이 모션 영역을 결정하는 동작과, 하이 모션 영역을 평면 투영의 중심에 위치시키는 회전을 선택하는 동작을 포함한다.
일부 실시예는 광시야 비디오를 생성하고 이 비피디오를 버퍼에 저장하는 비디오 스티처(stitchcher)와, 저장된 비디오의 평면 투영의 회전을 선택하고 선택된 회전을 기술하는 회전 배향 메타데이터를 생성하는 회전 선택기와, 광시야 비디오를 회전시키는 구면 회전기와, 회전된 투영을 형성하기 위해 회전된 비디오를 평면 투영에 맵핑하는 투영 맵퍼(projection mapper)와, 비디오 인코더 내의 회전 배향 메타데이터를 포함하는 인코딩된 비디오로서 회전된 투영을 인코딩하는 비디오 인코더와, 디스플레이를 위해 인코딩된 비디오를 저장하는 버퍼를 포함하는 장치에 관한 것이다.

Claims (20)

  1. 디코더로서,
    비디오 비트스트림을 디코딩하고 보충 강화 정보 메시지(supplemental enhancement information message)를 추출하는 제1 회로 - 상기 보충 강화 정보 메시지는 구면 회전 보충 강화 정보 메시지(sphere rotation supplemental enhancement information message)를 포함함 - 와,
    상기 구면 회전 보충 강화 정보 메시지에 기초하여 상기 디코딩된 비디오 비트스트림을 회전하는 제2 회로와,
    상기 회전된 디코딩된 비디오 비트스트림을 출력하는 제3 회로
    를 포함하되,
    상기 구면 회전 보충 강화 정보 메시지는 글로벌 좌표축과 로컬 좌표축 간의 변환에 사용되는 회전 각도인 요(yaw)(α), 피치(pitch)(β) 및 롤(roll)(γ)에 대한 정보를 포함하되, 롤은 x 축을 중심으로 하는 회전에 대응하고, 피치는 y 축을 중심으로 하는 회전에 대응하며, 요는 z 축을 중심으로 하는 회전에 대응하고,
    상기 구면 회전 보충 강화 정보 메시지는,
    sphere_rotation_cancel_flag와,
    sphere_rotation_persistence_flag와,
    yaw_rotation, pitch_rotation, roll_rotation 중 적어도 하나
    를 포함하되,
    상기 sphere_rotation_cancel_flag 값이 1인 것은 상기 구면 회전 보충 강화 정보 메시지가 임의의 이전 구면 회전 보충 강화 정보 메시지의 지속성을 취소한다는 것을 나타내고,
    상기 sphere_rotation_persistence_flag는 현재 계층에 대한 상기 구면 회전 보충 강화 정보 메시지의 지속성을 나타내며, 상기 sphere_rotation_persistence_flag 값이 0인 것은 상기 구면 회전 보충 강화 정보 메시지가 현재의 디코딩된 화상에만 적용됨을 나타내고, 상기 sphere_rotation_persistence_flag 값이 1인 것은 상기 구면 회전 보충 강화 정보 메시지가 하나 이상의 조건이 만족될 때까지 상기 현재의 계층에 대해 적용되고 지속된다는 것을 나타내며,
    yaw_rotation은 요 회전 각도의 값을 지정하는 것으로 yaw_rotation 값이 0인 것은 요 회전이 없음을 나타내고, pitch_rotation은 피치 회전 각도의 값을 지정하는 것으로 pitch_rotation 값이 0인 것은 피치 회전이 없음을 나타내며, roll_rotation은 롤 회전 각도의 값을 지정하는 것으로 roll_rotation 값이 0인 것은 롤 회전이 없음을 나타내는 것인,
    디코더.
  2. 제1항에 있어서,
    상기 sphere_rotation_cancel_flag 값이 0인 것은 구면 회전 정보가 뒤따른다는 것을 나타내는 것인,
    디코더.
  3. 제1항에 있어서,
    상기 하나 이상의 조건은 상기 현재 계층의 새로운 CLVS(Coded Layer-Wise Video Sequence)가 시작되는 것, 비트스트림이 종료되는 것, 후속 구면 회전 보충 강화 정보 메시지와 연관된 상기 현재 계층에서의 화상이 출력 순서에 따라 현재 화상에 뒤이어 출력되는 것을 포함하는 것인,
    디코더.
  4. 제1항에 있어서,
    상기 yaw_rotation, 상기 pitch_rotation 및 상기 roll_rotation 중 적어도 하나는 2-16 도의 단위를 갖는 것인,
    디코더.
  5. 제1항에 있어서,
    상기 yaw_rotation의 값이 존재하지 않는 경우 상기 yaw_rotation의 값은 0인 것과, 상기 pitch_rotation의 값이 존재하지 않는 경우 상기 pitch_rotation의 값은 0인 것과, 상기 roll_rotation의 값이 존재하지 않는 경우 상기 roll_rotation의 값은 0인 것 중 적어도 하나가 만족되는,
    디코더.
  6. 제1항에 있어서,
    상기 제3 회로는 디스플레이를 위해 상기 디코딩된 비디오 비트스트림이 출력되게 하는
    디코더.
  7. 제1항에 있어서,
    상기 제3 회로는 상기 디코딩된 비디오 비트스트림을 저장하는
    디코더.
  8. 방법으로서,
    비디오 비트스트림을 디코딩하고, 보충 강화 정보 메시지(supplemental enhancement information message)를 추출하는 단계 - 상기 보충 강화 정보 메시지는 구면 회전 보충 강화 정보 메시지(sphere rotation supplemental enhancement information message)를 포함함 - 와,
    상기 구면 회전 보충 강화 정보 메시지에 기초하여 상기 디코딩된 비디오 비트스트림을 회전하는 단계와,
    상기 회전된 디코딩된 비디오 비트스트림을 출력하는 단계
    를 포함하되,
    상기 구면 회전 보충 강화 정보 메시지는 글로벌 좌표축과 로컬 좌표축 간의 변환에 사용되는 회전 각도인 요(yaw)(α), 피치(pitch)(β) 및 롤(roll)(γ)에 대한 정보를 포함하되, 롤은 x 축을 중심으로 하는 회전에 대응하고, 피치는 y 축을 중심으로 하는 회전에 대응하며, 요는 z 축을 중심으로 하는 회전에 대응하고,
    상기 구면 회전 보충 강화 정보 메시지는,
    sphere_rotation_cancel_flag와,
    sphere_rotation_persistence_flag와,
    yaw_rotation, pitch_rotation, roll_rotation 중 적어도 하나
    를 포함하되,
    상기 sphere_rotation_cancel_flag 값이 1인 것은 상기 구면 회전 보충 강화 정보 메시지가 임의의 이전 구면 회전 보충 강화 정보 메시지의 지속성을 취소한다는 것을 나타내고,
    상기 sphere_rotation_persistence_flag는 현재 계층에 대한 상기 구면 회전 보충 강화 정보 메시지의 지속성을 나타내며, 상기 sphere_rotation_persistence_flag 값이 0인 것은 상기 구면 회전 보충 강화 정보 메시지가 현재의 디코딩된 화상에만 적용됨을 나타내고, 상기 sphere_rotation_persistence_flag 값이 1인 것은 상기 구면 회전 보충 강화 정보 메시지가 하나 이상의 조건이 만족될 때까지 상기 현재의 계층에 대해 적용되고 지속된다는 것을 나타내며,
    yaw_rotation은 요 회전 각도의 값을 지정하는 것으로 yaw_rotation 값이 0인 것은 요 회전이 없음을 나타내고, pitch_rotation은 피치 회전 각도의 값을 지정하는 것으로 pitch_rotation 값이 0인 것은 피치 회전이 없음을 나타내며, roll_rotation은 롤 회전 각도의 값을 지정하는 것으로 roll_rotation 값이 0인 것은 롤 회전이 없음을 나타내는 것인,
    방법.
  9. 제8항에 있어서,
    상기 sphere_rotation_cancel_flag 값이 0인 것은 구면 회전 정보가 뒤따른다는 것을 나타내는 것인,
    방법.
  10. 제8항에 있어서,
    상기 하나 이상의 조건은 상기 현재 계층의 새로운 CLVS(Coded Layer-Wise Video Sequence)가 시작되는 것, 비트스트림이 종료되는 것, 후속 구면 회전 보충 강화 정보 메시지와 연관된 상기 현재 계층에서의 화상이 출력 순서에 따라 현재 화상에 뒤이어 출력되는 것을 포함하는 것인,
    방법.
  11. 제8항에 있어서,
    상기 yaw_rotation, 상기 pitch_rotation 및 상기 roll_rotation 중 적어도 하나는 2-16 도의 단위를 갖는 것인,
    방법.
  12. 제8항에 있어서,
    상기 yaw_rotation의 값이 존재하지 않는 경우 상기 yaw_rotation의 값은 0인 것과, 상기 pitch_rotation의 값이 존재하지 않는 경우 상기 pitch_rotation의 값은 0인 것과, 상기 roll_rotation의 값이 존재하지 않는 경우 상기 roll_rotation의 값은 0인 것 중 적어도 하나가 만족되는,
    방법.
  13. 제8항에 있어서,
    디스플레이를 위해 상기 디코딩된 비디오 비트스트림을 출력하는 단계를 더 포함하는
    방법.
  14. 제8항에 있어서,
    상기 디코딩된 비디오 비트스트림을 저장하는 단계를 더 포함하는
    방법.
  15. 시스템으로서,
    메모리와,
    적어도 하나의 센서와,
    디스플레이와,
    저장 장치와,
    통신 회로와,
    제8항 내지 제14항 중 어느 한 항의 방법을 수행하는 적어도 하나의 프로세서
    를 포함하는 시스템.
  16. 제8항 내지 제14항 중 어느 한 항의 방법을 수행하는 수단을 포함하는 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197010912A 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법 KR102664649B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207037175A KR102371099B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662423319P 2016-11-17 2016-11-17
US62/423,319 2016-11-17
PCT/US2017/061714 WO2018093840A1 (en) 2016-11-17 2017-11-15 Spherical rotation for encoding wide view video

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037175A Division KR102371099B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법

Publications (2)

Publication Number Publication Date
KR20190095253A KR20190095253A (ko) 2019-08-14
KR102664649B1 true KR102664649B1 (ko) 2024-05-08

Family

ID=62146853

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227006488A KR102568731B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법
KR1020197010912A KR102664649B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법
KR1020207037175A KR102371099B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227006488A KR102568731B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207037175A KR102371099B1 (ko) 2016-11-17 2017-11-15 광시야 비디오를 인코딩하기 위한 구면 회전 기법

Country Status (6)

Country Link
US (4) US10832378B2 (ko)
EP (3) EP3823273A1 (ko)
KR (3) KR102568731B1 (ko)
CN (3) CN110268711B (ko)
BR (1) BR112019007501A2 (ko)
WO (1) WO2018093840A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560678B2 (en) * 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function
KR102568731B1 (ko) 2016-11-17 2023-08-18 인텔 코포레이션 광시야 비디오를 인코딩하기 위한 구면 회전 기법
US10560660B2 (en) 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
KR102476057B1 (ko) 2019-09-04 2022-12-09 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
US20210211723A1 (en) * 2020-01-08 2021-07-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling 2d and 3d regions in immersive media
US11303931B2 (en) * 2020-06-10 2022-04-12 Mediatek Inc. Method and apparatus for processing projection-based frame having projection faces packed in hemisphere cubemap projection layout with face packing constraints
US11711505B2 (en) * 2020-07-16 2023-07-25 Nokia Technologies Oy Viewport dependent delivery methods for omnidirectional conversational video
TWI809451B (zh) * 2020-07-17 2023-07-21 智崴資訊科技股份有限公司 球幕顯示系統
US11539935B2 (en) * 2020-12-02 2022-12-27 Meta Platforms Technologies, Llc Videotelephony with parallax effect
CA3218634A1 (en) * 2021-05-18 2022-11-24 Patrick RAPPSILBER Communications system and method for communicating between at least two locations
EP4102449B1 (en) * 2021-06-10 2023-08-16 Axis AB Method and device for dewarping a region of a fisheye view image
EP4360316A2 (en) * 2021-06-22 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2024010386A1 (ko) * 2022-07-06 2024-01-11 엘지전자 주식회사 영상 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4704728A (en) * 1984-12-31 1987-11-03 Peter Scheiber Signal re-distribution, decoding and processing in accordance with amplitude, phase, and other characteristics
GB9907277D0 (en) * 1999-03-31 1999-05-26 Cambridge 3D Display Ltd Wide field view projection display
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム
US7774713B2 (en) * 2005-06-28 2010-08-10 Microsoft Corporation Dynamic user experience with semantic rich objects
JP4976378B2 (ja) 2006-03-23 2012-07-18 パナソニック株式会社 コンテンツ撮影装置
JP4945578B2 (ja) 2007-01-04 2012-06-06 肇 鳴川 情報処理方法
US7769240B2 (en) * 2007-02-07 2010-08-03 At&T Intellectual Property, I, L.P. Methods and systems for image processing
US8094892B2 (en) * 2007-11-19 2012-01-10 Arcsoft, Inc. Automatic photo orientation detection
US8743219B1 (en) 2010-07-13 2014-06-03 Marvell International Ltd. Image rotation correction and restoration using gyroscope and accelerometer
US8918219B2 (en) * 2010-11-19 2014-12-23 Google Inc. User friendly interface for control unit
US20120092348A1 (en) 2010-10-14 2012-04-19 Immersive Media Company Semi-automatic navigation with an immersive image
CN102042830B (zh) * 2010-10-15 2013-01-30 北京信息科技大学 一种硅微机械陀螺仪
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
ES2675802T3 (es) 2011-02-18 2018-07-12 Alcatel Lucent Procedimiento y aparato para transmitir y recibir un flujo de video panorámico
US20120230594A1 (en) 2011-03-10 2012-09-13 Jill Boyce Adaptive picture rotation
JP6026443B2 (ja) * 2011-03-10 2016-11-16 ヴィディオ・インコーポレーテッド ビデオ・ビットストリーム中の描画方向情報
US8767040B2 (en) * 2012-01-11 2014-07-01 Google Inc. Method and system for displaying panoramic imagery
US9438818B2 (en) * 2012-06-20 2016-09-06 Qualcomm Incorporated Device and method for multimedia communications with picture orientation information
US9497457B1 (en) 2012-10-18 2016-11-15 Altia Systems Inc Repacking of panoramic video based on standard image formats
KR101478908B1 (ko) * 2013-05-14 2015-01-02 고려대학교 산학협력단 증강 현실 기술을 이용한 이동 로봇의 원격 내비게이션 시스템
WO2015014773A1 (en) 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US11205305B2 (en) 2014-09-22 2021-12-21 Samsung Electronics Company, Ltd. Presentation of three-dimensional video
CN104482948B (zh) * 2014-11-25 2016-08-24 佛山轻子精密测控技术有限公司 一种高精度的旋转编码器及其测量方法
CN104457806B (zh) * 2014-12-02 2017-02-08 佛山轻子精密测控技术有限公司 一种复合型旋转编码器及其测量方法
CN104980697A (zh) * 2015-04-28 2015-10-14 杭州普维光电技术有限公司 一种网络摄像机视频传输方法
US9277122B1 (en) * 2015-08-13 2016-03-01 Legend3D, Inc. System and method for removing camera rotation from a panoramic video
US20170026659A1 (en) * 2015-10-13 2017-01-26 Mediatek Inc. Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video
CN105261257A (zh) * 2015-11-13 2016-01-20 中国民航大学 可实现360度滚转运动的四自由度混联飞行模拟机运动平台
WO2017116952A1 (en) 2015-12-29 2017-07-06 Dolby Laboratories Licensing Corporation Viewport independent image coding and rendering
WO2017142353A1 (ko) 2016-02-17 2017-08-24 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
CN106060515B (zh) * 2016-07-14 2018-11-06 腾讯科技(深圳)有限公司 全景媒体文件推送方法及装置
US10560678B2 (en) * 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function
KR102568731B1 (ko) 2016-11-17 2023-08-18 인텔 코포레이션 광시야 비디오를 인코딩하기 위한 구면 회전 기법
US10560660B2 (en) 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
US10375375B2 (en) 2017-05-15 2019-08-06 Lg Electronics Inc. Method of providing fixed region information or offset region information for subtitle in virtual reality system and device for controlling the same
KR102188270B1 (ko) 2018-07-06 2020-12-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
WO2020009341A1 (ko) 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
KR102258446B1 (ko) 2018-07-11 2021-05-31 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Also Published As

Publication number Publication date
CN112702525A (zh) 2021-04-23
US20210012460A1 (en) 2021-01-14
EP3826302A1 (en) 2021-05-26
CN110268711B (zh) 2021-07-02
EP3542529A1 (en) 2019-09-25
US20210118094A1 (en) 2021-04-22
BR112019007501A2 (pt) 2019-07-02
CN110268711A (zh) 2019-09-20
CN112702523A (zh) 2021-04-23
KR20210000331A (ko) 2021-01-04
KR20220029780A (ko) 2022-03-08
EP3542529A4 (en) 2020-07-08
CN112702523B (zh) 2022-05-06
KR102371099B1 (ko) 2022-03-04
US11699211B2 (en) 2023-07-11
US20220237737A1 (en) 2022-07-28
WO2018093840A1 (en) 2018-05-24
KR102568731B1 (ko) 2023-08-18
CN112702525B (zh) 2022-05-06
US20200043133A1 (en) 2020-02-06
US11301959B2 (en) 2022-04-12
US10832378B2 (en) 2020-11-10
EP3823273A1 (en) 2021-05-19
KR20190095253A (ko) 2019-08-14
US11308581B2 (en) 2022-04-19
WO2018093840A8 (en) 2019-05-31

Similar Documents

Publication Publication Date Title
US11792378B2 (en) Suggested viewport indication for panoramic video
KR102664649B1 (ko) 광시야 비디오를 인코딩하기 위한 구면 회전 기법
US11700352B2 (en) Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission

Legal Events

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