KR20190054060A - 360도 비디오 정보의 시그널링을 위한 방법 및 시스템 - Google Patents

360도 비디오 정보의 시그널링을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20190054060A
KR20190054060A KR1020197006342A KR20197006342A KR20190054060A KR 20190054060 A KR20190054060 A KR 20190054060A KR 1020197006342 A KR1020197006342 A KR 1020197006342A KR 20197006342 A KR20197006342 A KR 20197006342A KR 20190054060 A KR20190054060 A KR 20190054060A
Authority
KR
South Korea
Prior art keywords
geometry
projection
video
format
parameter
Prior art date
Application number
KR1020197006342A
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 KR20190054060A publication Critical patent/KR20190054060A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

360도 비디오에 대한 코딩 기술이 설명된다. 인코더는 투영 포맷을 선택하고 선택된 투영 포맷을 사용하여 360도 비디오를 2D 평면 비디오에 매핑한다. 인코더는 2D 평면 비디오를 비트스트림 내에 인코딩하고, 비트스트림에서, 투영 포맷을 식별하는 파라미터를 추가로 시그널링한다. 투영 포맷을 식별하는 파라미터는 비트스트림의 비디오 파라미터 세트, 시퀀스 파라미터 세트, 및/또는 픽쳐 파라미터 세트에서 시그널링 될 수도 있다. 시그널링 될 수도 있는 상이한 투영 포맷은, 등장방형, 큐브맵, 등적, 8면체, 20면체, 원통, 및 유저 명시 다각형과 같은 지오메트리를 사용하는 포맷을 포함한다. 시그널링 될 수도 있는 다른 파라미터는, 지오메트리 면(geometric face)의 상이한 배치 또는 상이한 면에 대한 상이한 인코딩 품질을 포함한다. 대응하는 디코더도 또한 설명된다. 몇몇 실시형태에서, 투영 파라미터는, 투영 지오메트리의 방위를 정의하는 상대적인 지오메트리 회전 파라미터를 더 포함할 수도 있다.

Description

360도 영상 정보의 신호 처리 방법 및 시스템
본 출원은 2016년 9월 2일자로 출원된 발명의 명칭이 "Method and System for Signaling of 360-Degree Video Information"인 미국 특허 가출원 제62/383,367호, 및 2016년 10월 12일자로 출원된 발명의 명칭이 "Method and System for Signaling of 360-Degree Video Information"인 미국 특허 가출원 제62/407,337호의 정식(non-provisional) 출원이며, 이들로부터의 35 U.S.C. §119(e) 하에서의 이익을 주장하는데, 이들 가출원 둘 모두는 참조에 의해 그들 전체가 본원에 통합된다.
가상 현실(virtual reality; VR)은 연구실로부터 나와서 및 일상 생활에 들어오고 있다. VR은 많은 응용 분야를 갖는다: 의료, 교육, 소셜 네트워킹, 산업 디자인/트레이닝, 게임, 영화, 쇼핑, 엔터테인먼트, 및 그 이상. VR이 몰입형 뷰잉 경험(immersive viewing experience)을 가져올 수 있기 때문에, 그것은 업계 및 소비자로부터 상당한 주목을 받고 있다. 그것은 뷰어를 둘러싸는 가상 환경을 생성하고 "그곳에 있다는" 진정한 느낌을 생성할 수도 있다. VR 환경에서 완전한 실제 느낌을 제공하는 방법은 유저의 경험에 중요하다. 예를 들면, VR 시스템은, 자세(posture), 제스쳐, 시선(eye gaze), 음성, 및/또는 등등을 통한 상호 작용을 지원해야 한다. 유저가 VR 세계의 오브젝트와 자연스러운 방식으로 상호 작용하는 것을 허용하기 위해, 시스템은 햅틱 피드백을 유저에게 또한 제공할 수도 있다.
오늘날의 VR 시스템은 360도 비디오를 사용하여 수평 방향에서 360도 각도 그리고 수직 방향에서 180도 각도로부터의 장면을 보는 능력을 유저에게 제공한다. 동시에, VR 및 360도 비디오는 초고선명(Ultra High Definition; UHD) 서비스를 능가하는 미디어 소비에 대한 미래의 방향으로 간주되고 있다. VR에서 360도 비디오의 품질을 향상시키기 위해 그리고 VR 클라이언트의 상호 운용성을 위한 프로세싱 체인을 표준화하기 위해, 2016년 초에, MPEG-A(멀티미디어 애플리케이션 포맷) 파트 19에 속하는 애드 혹 그룹이 ISO/IEC/MPEG에서 설치되어, 무지향성 미디어 애플리케이션 포맷에 대한 요건 및 잠재적 기술에 대해 연구하였다. 다른 애드 혹 그룹인 프리 뷰 TV(Free View TV; FTV)는 360도 3D 비디오 애플리케이션에 대한 탐사 실험을 발표하였다. FTV에 대한 하나의 주요 목표는 두 솔루션의 성능을 테스트하는 것이다: (1) 360도 비디오(무지향성 비디오) 기반의 시스템; (2) 멀티 뷰 기반의 시스템. 차세대 비디오 코딩 표준을 위한 새로운 기술을 모색하고 있는 MPEG 및 ITU-T로부터의 공동 비디오 탐구 팀(joint video exploration team; JVET)은 VR을 포함하는 테스트 시퀀스에 대한 요구를 발표하였다. 2016년 6월 회의에서, 애드 혹 그룹(AHG8)이 설립되었으며 AHG8 그룹의 위임 사항은 360 비디오 코딩에 대한 공통 테스트 조건, 테스트 시퀀스 포맷 및 평가 기준을 책정하는 것이다. AHG8은 또한, 상이한 투영 방법이 적용될 때 압축에 대한 효과뿐만 아니라, 변환 소프트웨어를 연구할 것이다.
업계는, 캡쳐, 프로세싱, 디스플레이, 및 애플리케이션을 비롯한, VR 프로세싱 체인에서의 다양한 양태의 품질 및 유저 경험을 개선하는 것에 대해 연구하고 있다. 캡쳐 측면에서, VR 시스템은 상이한 서로 다른 뷰(예를 들면, 몇몇 경우에 대략 6 내지 12 개의 뷰)로부터 장면을 캡쳐하기 위해 다수의 카메라 시스템을 사용한다. 그들 뷰는 함께 스티칭(stitch)되어 고해상도(예를 들면, 4K 또는 8K)의 360도 비디오를 형성한다. 클라이언트 또는 유저 측면에서, 현재의 가상 현실 시스템은 일반적으로 계산 플랫폼, 헤드 마운트형 디스플레이(head mounted display; HMD), 머리 추적 센서를 포함한다. 계산 플랫폼은, 360도 비디오를 수신하고 디코딩하는 것, 및 디스플레이를 위한 뷰포트를 생성하는 것을 담당한다. 각각의 눈에 대해 하나씩의 두 개의 픽쳐가 뷰포트에 대해 렌더링된다. 스테레오 뷰잉(stereo viewing)을 위해 두 개의 픽쳐가 HMD에서 디스플레이된다. 더 나은 뷰잉(viewing)을 위해 렌즈가 사용되어 HMD에서 디스플레이되는 이미지를 확대할 수도 있다. 머리 추적 센서는 뷰어의 머리 방위를 지속적으로 추적할 수도 있고, 그 방위에 대한 뷰포트 픽쳐를 디스플레이하기 위해 방위 정보를 시스템에 제공할 수도 있다.
몇몇 VR 시스템은 뷰어가 가상 세계의 오브젝트와 상호 작용할 특수한 터치 디바이스를 제공할 수도 있다. 시장에서 이용 가능한 현존하는 VR 시스템이 있다. 하나는 Oculus(오큘러스)에 의해 제공되는 Rift(리프트)이고, 또한 Gear VR(기어 VR)은 Samsung(삼성) 및 오큘러스로부터의 제품이다. 리프트는, 우수한 GPU 지원을 갖는 강력한 워크스테이션에 의해 구동된다. 기어 VR은, 계산 플랫폼, HMD 디스플레이, 및 머리 추적 센서로서 스마트폰을 사용하는 가벼운 VR 시스템이다. 제2 VR 시스템은 HTC Vive(바이브) 시스템이다. 리프트 및 바이브는 유사한 성능을 갖는다. 공간 HMD 해상도는 2160x1200이고, 리프레시율은 90 Hz이며, 시야(field of view; FOV)는 약 110도이다. 머리 추적 센서에 대한 샘플링 레이트는, 아주 빠른 움직임을 캡쳐할 수 있는 1000 Hz이다. Google(구글)도 또한 카드보드(cardboard)로 칭해지는 간단한 VR 시스템을 가지고 있다. 구글 카드보드는 렌즈 및 카드보드 어셈블리를 가지며, 기어 VR과 유사하게, 그것은 스마트폰에 의해 구동된다. Sony(소니)도 또한 게임용 PlayStation(플레이스테이션) VR을 제공한다. 360도 비디오 스트리밍 서비스 측면에서, 초기 공급자 중에는 YouTube(유튜브) 및 Facebook(페이스북)이 있다.
상호 작용성 및 햅틱 피드백과 같은 경험 품질(quality of experience)은 이들 현재의 VR 시스템에서 추가적인 개선을 여전히 필요로 하고 있다. 예를 들면, 오늘날의 HMD는 여전히 너무 크고 착용하기에 편리하지 않다. 또한, HMD에 의해 제공되는 입체뷰를 위한 2160×1200의 현재 해상도는 충분하지 않으며, 몇몇 유저에게는 어지러움 및 불편함을 야기할 수도 있다. 따라서, 해상도 증가는 유익할 것이다. 게다가, VR 환경으로부터의 시각으로부터의 감각과 실세계에서의 힘 피드백을 결합하는 것은, VR 경험을 향상시키는 하나의 옵션이다. VR 롤러 코스터는 예시적인 애플리케이션이다.
많은 회사가 360도 비디오 압축 및 전달 시스템에 대해 연구하고 있으며, 그들은 그들 자신의 솔루션을 가지고 있다. 예를 들면, Google YouTube(구글 유튜브)는 DASH 기반의 360도 비디오 스트리밍을 위한 채널을 제공하였다. 페이스북도 또한 360도 비디오 전달 솔루션을 가지고 있다.
본원의 시스템 및 방법은, 360도 비디오 데이터 인코딩 및 디코딩에 관련되는 문제를 해결하려고 시도한다.
360도 비디오를 인코딩하는 예시적인 방법에서, 인코더는 투영 포맷을 선택하는데, 투영 포맷은 지오메트리(geometry) 타입 및/또는 지오메트리 방위와 같은 정보를 포함한다. 인코더는 선택된 투영 포맷을 사용하여 360도 비디오를 2D 평면 비디오에 매핑한다. 인코더는 2D 평면 비디오를 비트스트림 내에 인코딩하고, 비트스트림에서, 투영 포맷을 식별하는 파라미터를 추가로 시그널링한다. 등장방형, 큐브맵, 등적(equal-area), 8면체, 20면체, 원통, 및 유저 명시 다각형(user-specified polygon)을 비롯한 다양한 지오메트리 타입이 사용될 수도 있고 비트스트림에서 시그널링될 수도 있다. 복수의 면(face)과 관련되는 지오메트리 타입의 경우, 2D 평면 비디오에서 그들 면의 위치 및/또는 방위를 식별하기 위해 프레임 패킹 파라미터(frame-packing parameter)가 시그널링될 수도 있다. 상이한 면은 상이한 사이즈 및/또는 상이한 레벨의 품질로 인코딩될 수도 있다. 지오메트리 방위를 식별하는 파라미터는, 요(yaw) 파라미터, 피치(pitch) 파라미터, 및 롤(roll) 파라미터 중 적어도 하나를 포함할 수도 있다.
투영 포맷을 식별하는 파라미터는 비트스트림의 비디오 파라미터 세트, 시퀀스 파라미터 세트, 및/또는 픽쳐 파라미터 세트에서 시그널링될 수도 있다. 투영 파라미터는 레이트 왜곡 최적화(rate-distortion optimization)에 기초하여 선택될 수도 있다. 비디오에서의 상이한 픽쳐 또는 상이한 시퀀스는 (예를 들면, 상이한 픽쳐 또는 시퀀스가 상이한 투영 포맷에서 더 높은 레이트 왜곡 성능을 갖는 경우) 상이한 투영 포맷을 사용하여 인코딩될 수도 있는데, 투영 포맷 파라미터의 시그널링은 적절한 파라미터 세트(들)에서 제공된다. 상응하는 디코딩 기술도 또한 설명된다.
360도 비디오 코딩과 함께 사용하기 위한 예시적인 신택스(syntax)가 본 개시에서 설명된다. 신택스 엘리먼트는, 투영 지오메트리를 명시하기 위해 및/또는 프레임 패킹된 픽쳐(frame-packed picture)에서의 면의 배치를 그리드 시스템을 사용하여 명시하기 위해 사용될 수도 있다. 면은 상이한 사이즈 및/또는 방위를 가질 수 있다. 몇몇 실시형태에서, 2D 평면 상에서의 면 배치는, 각각의 열/행을 따르는 일정한 측면 폭/높이와 같은 다양한 특성을 가질 수도 있다. 몇몇 실시형태에서, 예시적인 신택스는 임의의 폴리곤 기반의 표현을 사용하여 유저 명시 지오메트리에 대해 설명된다. 몇몇 실시형태에서 활용되는 추가적인 피쳐는, 프레임 패킹된 픽쳐를 패딩하기 위해 사용되는 샘플을 스킵하는 플래그, 면별 레벨(face-by-face level) 상에서의 델타 양자화 파라미터(quantization parameters; QP)의 시그널링, 특정한 면에 걸쳐 루프 필터를 인에이블/디스에이블하는 플래그, 및/또는 360 비디오의 특정한 영역만을 코딩하는 신택스의 사용을 포함할 수도 있다.
몇몇 실시형태에서, 투영 파라미터는 상대적인 지오메트리 회전 파라미터를 더 포함할 수도 있다. 이러한 파라미터는 투영 지오메트리의 방위를 정의할 수도 있다. 투영 지오메트리는, 주목하는 오브젝트가 투영 지오메트리의 단일 면 내에 실질적으로 완전히 포함되도록 선택적으로 배향될 수도 있다. 상이한 면이 상이한 레벨의 품질(예를 들면, 상이한 QP 값)로 인코딩되는 실시형태에서, 투영 지오메트리는, 주목하는 오브젝트가 상대적으로 높은 품질 레벨로 인코딩되는 면 내에 실질적으로 완전히 포함되도록, 배향될 수도 있다.
첨부의 도면과 연계하여 예로서 제시되는 다음의 설명으로부터 더 상세한 이해가 이루어질 수도 있는데, 첨부의 도면에서:
도 1a는 경도 및 위도 단위의 구체 샘플링(sphere sampling)을 갖는 구형 지오메트리(sphere geometry)에 대한 등장방형 투영(equirectangular projection)을 예시한다.
도 1b는 도 1a의 샘플링을 위한 2D 평면 등장방형 투영을 예시하는데, 도 1a에서 구체 상의 포인트 P는 2D 평면에서의 포인트 q로 투영된다.
도 1c는 등변 삼각형 투영을 사용한 예시적인 픽쳐의 개략적인 예시이다.
도 2a는 면 PX (0), NX (1), PY (2), NY (3), PZ (4), NZ (5)를 갖는 3D 지오메트리 구조체 상의 큐브맵 투영을 예시한다.
도 2b는 도 2a에서 정의되는 여섯 개의 면에 대한 2D 평면을 예시한다.
도 2c는 큐브맵 투영을 사용한 예시적인 픽쳐를 개략적으로 예시한다.
도 3a는 등적 투영을 위한 등적 방식의 구체 샘플링을 예시한다.
도 3b는 도 3a의 등적 투영의 2D 평면을 예시하는데, 구체 상의 포인트 p는 2D 평면에서의 포인트 q로 투영되고, 수평선(A0, A1, A2, 등등)의 위도는 등간격이 아니다.
도 3c는 등적 투영을 사용한 예시적인 픽쳐를 개략적으로 예시한다.
도 4a는 3D 지오메트리 구조체를 사용한 8면체 투영을 예시한다.
도 4b는 도 4a의 3D 구조체의 2D 평면 패킹(2D planar packing)을 예시한다.
도 4c는 8면체 투영을 사용한 예시적인 픽쳐를 개략적으로 예시한다.
도 5는 360도 비디오 프로세싱 워크플로(workflow)의 하나의 실시형태를 예시한다.
도 6은 블록 기반의 비디오 인코더의 기능 블록도의 하나의 실시형태를 예시한다.
도 7은 비디오 디코더의 기능 블록도의 하나의 실시형태를 예시한다.
도 8a는 큐브맵 투영 포맷의 물리적 레이아웃의 하나의 실시형태를 예시한다.
도 8b는 8면체 투영 포맷의 물리적 레이아웃의 하나의 실시형태를 예시한다.
도 9a는 4×3 포맷으로 표현되는 큐브맵을 예시한다.
도 9b는 3×2 포맷으로 표현되는 큐브맵을 예시한다.
도 9c는, 전면(front face)이 다른 면의 사이즈의 두 배인(면적이 네 배인)(이 경우, 전면은 두 개의 행 및 두 개의 열에 걸쳐 확장됨) 3×3 포맷으로 표현되는 큐브맵을 예시한다.
도 10a 내지 도 10h는, 삼각형 면에 대한 면 회전의 정의를 예시한다: 도 10a: 0° 회전; 도 10b: 90° 회전; 도 10c: 180° 회전; 도 10d: 270° 회전; 도 10e: 0° 회전 이후 수직 플립(flip). 도 10f: 90° 회전 이후 수직 플립; 도 10g: 180° 회전 뒤의 수직 플립; 도 10h: 270° 회전 이후 수직 플립.
도 11a는 8면체에 대한 비 콤팩트 프레임 패킹 포맷(non-compact frame packing format)을 예시한다.
도 11b는 8면체에 대한 콤팩트 프레임 패킹 포맷(compact frame packing format)을 예시한다.
도 12a는 20면체의 비 콤팩트 프레임 패킹 포맷을 예시한다.
도 12b는 20면체에 대한 콤팩트 프레임 패킹 포맷을 예시한다.
도 13a는 큐브맵에 대한 제한된 구체 범위 코딩을 예시하는데, 전체 픽쳐는 프레임 패킹된 픽쳐를 나타내고 직사각형은 코딩된 영역의 범위를 정한다.
도 13b는 등변(equilateral)에 대한 제한된 구체 범위 코딩을 예시하는데, 전체 픽쳐는 프레임 패킹된 픽쳐를 나타내고 직사각형은 코딩된 영역의 범위를 정한다.
도 14a 및 도 14b는, 큐브맵 투영과 연계하여 사용될 수도 있는 것과 같은, 프레임 패킹된 픽쳐에서의 면의 예시적인 대안적 배치를 예시하는데, 각각은 여섯 개의 면의 배치를 예시한다.
도 15는 몇몇 실시형태에서 인코더 또는 디코더로서 활용될 수도 있는 예시적인 무선 송수신 유닛(wireless transmit/receive unit; WTRU)을 예시한다.
도 16은 몇몇 실시형태에서 인코더 또는 디코더로서 활용될 수도 있는 예시적인 네트워크 엔티티를 예시한다.
이제, 예시적인 실시형태의 상세한 설명이 다양한 도면을 참조로 제공될 것이다. 비록 본 설명이 가능한 구현예의 상세한 예를 제공하지만, 제공된 상세는 예로서 의도된 것이며 본 출원의 범위를 어떤 식으로든 제한하도록 의도되지는 않는다는 것을 유의해야 한다.
360도 비디오 인코딩 및 디코딩
360도 비디오 전달의 하나의 기술은 구체 지오메트리 구조체를 사용하여 360도 정보를 나타내는 것이다. 예를 들면, 다수의 카메라에 의해 캡쳐되는 동기화된 다수의 뷰는 구체 상에서 하나의 완전한 구조체로서 스티칭된다. 그 다음, 구체 정보는 주어진 지오메트리 변환 프로세스, 예를 들면, 등장방형 투영(equirectangular projection; ERP) 방법을 사용하여 2D 평면 표면으로 투영된다. 도 1a는, 경도(φ) 및 위도(θ) 단위의 구체 샘플링을 도시하며, 도 1b는 등장방형 투영을 사용하여 2D 평면으로 투영되어 있는 구체를 도시한다. 범위 [-π, π] 내의 경도(φ)는 요로서 알려져 있고, 범위 [-π/2, π/2] 내의 위도(θ)는 항공학에서 피치로 알려져 있는데, 여기서 π는 원의 직경에 대한 원주의 비율이다. 설명의 용이성을 위해, (x, y, z)는 3D 공간에서 포인트의 좌표를 나타내기 위해 사용되며, (ue, ve)는 등장방형 투영을 사용한 2D 평면에서의 포인트의 좌표를 나타내기 위해 사용된다. 등장방형 투영은 수학식 (1) 및 (2)에서 수학적으로 표현될 수 있다:
Figure pct00001
여기서 W 및 H는 2D 평면 픽쳐의 폭 및 높이이다. 도 1a에서 도시되는 바와 같이, 구체 상의 경도 L4와 위도 A1 사이의 교차 포인트인 포인트 P는 수학식 (1) 및 (2)를 사용하여 2D 평면에서의 고유 포인트 q(도 1b)에 매핑된다. 2D 평면에서의 포인트 q는 역 투영을 통해 구체 상의 포인트 P로 다시 투영될 수 있다. 도 1b에서의 시야(FOV)는, 구체에서의 FOV가, X 축을 따르는 시야각(view angle)이 약 110도인 2D 평면에 매핑되는 예를 도시한다.
ERP에서, 360도 비디오는 일반적인 2D 비디오에 매핑될 수 있다. 그것은, H.264 또는 HEVC와 같은 현존하는 비디오 코덱을 사용하여 인코딩될 수 있고, 그 다음, 클라이언트로 전달될 수 있다. 클라이언트 측에서, 등장방형 비디오가 디코딩되고, 그 다음, 등장방형 픽쳐에서 FOV에 속하는 부분을 HMD 내에서 투영 및 디스플레이하는 것에 의해 유저의 뷰포트에 기초하여 렌더링된다. 비록 구형 비디오(spherical video)가 등장방형 투영을 사용한 인코딩을 위해 2D 평면 픽쳐로 변환될 수 있지만, 등장방형 2D 픽쳐의 특성은 종래의 2D 픽쳐(직선형 비디오로 또한 칭해짐)의 특성과는 상이하다. 도 1c는, 방의 실내의 예시적인 등장방형 픽쳐의 개략적인 표현이다. 2D 공간 도메인에서의 등장방형 샘플링이 불균일하게 되는 것의 결과로서, 북극에 대응하는 픽쳐의 상부 부분 및 남극에 대응하는 하부 부분은, 적도에 대응하는 픽쳐의 중간 부분과 비교하여 신장된다. 시간 방향(temporal direction) 사이에서의 2D 등장방형 픽쳐에서의 모션 필드는 일반적인 2D 비디오에서의 모션과 비교하여 복잡하게 된다.
MPEG-2, H.264, 및 HEVC와 같은 비디오 코덱은 모션 필드를 설명하기 위해 병진 모델(translational model)을 사용하고, 등장방형 투영된 2D 평면 픽쳐에서 형상 변화 운동을 효율적으로 나타낼 수 없다. 등장방형 투영의 다른 단점은, 적도에 더 가까운 영역과 비교하여, 극에 더 가까운 영역이 뷰어 및/또는 콘텐츠 공급자에게 덜 흥미로울 수도 있다는 것이다. 예를 들면, 뷰어는 임의의 상당한 지속 기간 동안 상부 및 하부 영역에 집중하지 않을 수도 있다. 그러나, 뒤틀림(warping) 효과에 기초하여, 이들 영역은, 등장방형 투영 이후 2D 평면의 더 큰 부분이 되도록 신장되고, 이들 영역을 압축하는 것은 결과적으로 상당한 수의 비트를 필요로 할 수도 있다.
이들 관찰에 기초하여, 예를 들면, 이들 극 영역에 평활화와 같은 사전 프로세싱을 적용하여 그들을 코딩하는 데 필요한 대역폭을 감소시키는 것에 의해 등장방형 픽쳐 코딩을 개선하기 위해 몇몇 프로세싱 방법이 연구되고 있다. 또한, 큐브맵, 등적, 원통, 피라미드, 8면체, 등등과 같은, 360도 비디오를 표현하기 위한 상이한 지오메트리 투영이 제안되었다. 이들 투영 방법 중에서, 가장 압축 친화적인 지오메트리는 큐브맵일 수도 있는데, 큐브맵은, 각각의 면이 평면의 정사각형인 총 6 개의 면을 갖는다. 도 2a는 큐브맵 지오메트리의 예를 도시한다. 큐브맵은 6 개의 정사각형 면으로 구성된다. 탄젠트 구체(tangent sphere)의 반경이 1이라고 가정하면, 큐브맵의 각각의 면(정사각형)의 변 길이는 2이다. 도 2b는, 인코딩 및 전달을 위해 사용될 수 있는 직사각형 안으로 6 개의 면을 배치하기 위한 하나의 패킹 방법을 도시한다. 큐브맵 투영을 사용한 예시적인 픽쳐의 개략적인 예시가 도 2c에 도시되어 있다. 빈 영역(20)은 직사각형 픽쳐를 채울 패딩 영역이다. 각각의 면에 대해, 픽쳐는 일반적인 2D 픽쳐와 동일하게 보인다. 그러나, 각각의 면의 경계는 연속적이지 않다. 벽과 천장 사이의 접합부를 나타내는 라인(22)과 같은 두 개의 이웃하는 면과 교차하는 직선은 그들 두 면의 경계에서 굴곡될 것이다. 이것은, 면 경계에서의 모션이 또한 불연속적일 것이다는 것을 의미한다.
도 3a 및 도 3b는, 등적 투영의 예시적인 지오메트리 구조체를 도시한다. 등장방형 투영과는 상이하게, 구체 상의 수직 샘플링은 짝수 간격의 피치에 기초하지 않는다. 각각의 샘플링된 위도의 Y 축 상에서의 투영은, 구체 상의 각각의 샘플에 대해 동일한 면적을 달성하기 위해 균등하게 분포된다. 수직 방향에서의 샘플링은 극 영역에 가까운 그들 영역에 대해 더욱 희소하게 된다. 그것은 또한, 적도 주변에 더 많은 샘플이 있다는 것을 의미한다. 실제 상황에서, 유저가 일반적으로 적도 근처의 영역을 극 근처의 영역보다 더욱 빈번하게 보기 때문에, 이것은 바람직하다. 도 3c는, 등적 투영을 사용한 예시적인 픽쳐의 개략적인 예시이다. 도 1c와 비교하여, 적도 주변의 도 3c의 영역은 확대되고, 한편 극 주변의 영역은 축소된다.
도 4a는 8면체 투영의 지오메트리 구조체의 예를 도시한다. 8면체는 8 개의 정삼각형 면으로 구성된다. 탄젠트 구체의 반경이 1이면, 각각의 삼각형의 변 길이는 √6일 수도 있다. 도 4b는 8 개의 삼각형을 하나의 직사각형 안으로 배열하기 위한 하나의 패킹 방법을 도시한다. 도 4c는 8면체 투영을 사용한 하나의 예시적인 픽쳐를 개략적으로 예시한다. 뒤틀림 왜곡(warping distortion)은, 예를 들면, 출입문(402)의 왜곡에서 보이는 바와 같이, 두 개의 이웃하는 삼각형의 공유된 경계의 코너에서 관찰된다.
상이한 지오메트리 투영 방법의 코딩 효율성을 비교하기 위해, Yu 등등은, [M. Yu, H. Lakshman, B. Girod, "A Framework to Evaluate Omnidirectional Video Coding Schemes", IEEE International Symposium on Mixed and Augmented Reality, 2015]에서 위도 기반의 PSNR(latitude-based PSNR; L-PSNR)을 제안하였다. 그것은 두 가지 인자로 구성된다: (1) 구체 상에서의 균등한 샘플링; (2) 뷰어의 뷰잉 행동(viewing behavior). 그것은 구체 상에서 균등하게 분포되는 어떤 수의 샘플을 정의하며, 그것은 또한 샘플의 중량을 그것의 위도에 기초하여 정의한다. 왜곡은, 균등하게 분포된 샘플 모두를 고려하는 것에 의해 가중된 평균 제곱 오차(mean square error; MSE)를 사용하여 측정된다. 가중치는, 뷰어가 그들의 트레이닝 시퀀스를 볼 때 뷰어의 시야각을 추적하는 것에 의해 유도된다. 가중치는 그것을 더욱 빈번하게 보는 경우 더 크다. 이들 통계치로부터, 가장 흥미로운 콘텐츠가 적도 주변에 위치되기 때문에, 적도 주변의 가중치는 극 주변의 가중치보다 더 크다. 구체 상에서 이들 균등하게 분포된 샘플을 사용하는 것은, 상이한 투영 방법의 성능을 비교하기 위한 하나의 척도를 제공한다. 그러나, 그들 미리 정의된 구체 샘플은, 상이한 투영이 적용될 때, 정수 샘플링 위치로 투영되지 않을 수도 있다. 보간 필터 기반의 재샘플링 방법(interpolation filter based resampling method)이 적용되는 경우, 추가적인 보간 에러가 도입될 것이다. 최근접 이웃 샘플링(nearest neighboring sampling)이 적용되면, 균등한 샘플링은 더 이상 보장되지 않는다. 따라서, 객관적이고 주관적인 품질 평가 방법은 여전히 360도 비디오 코딩에 대한 열린 주제(open topics)이다.
등장방형 포맷은 360도 카메라 및 스티칭 소프트웨어에서 광범위하게 지원된다. 큐브맵 지오메트리에서 360도 비디오를 인코딩하기 위해, 등장방형 포맷은 큐브맵 포맷으로 변환되어야 한다. 등장방형과 큐브맵 사이의 관계는 다음과 같다. 도 2a에서, 구체의 중심으로부터 면의 중심 쪽으로 진행하는 세 개의 축의 각각을 사용하여 각각의 면이 참조될 수도 있다. "P"가 양을 나타내고 "N"이 음을 나타내면, PX는 구체의 중심으로부터 양의 X 축을 따르는 방향을 의미하고, NX는 PX의 역방향이고, PY, NY, PZ 및 NZ에 대해서도 유사하게 라벨링한다. 그 다음, 전, 후, 상부, 하부, 우측 및 좌측 면에 각각 대응하는 6 개의 면 {PX, NX, PY, NY, PZ, NZ}이 있으며, 그들 면은 0에서부터 5까지 인덱싱된다(indexed). Ps(X_s, Y_s, Z_s)가 반경이 1인 구체 상의 포인트라고 하자. 그것은 다음과 같이 요(φ) 및 피치(θ) 단위로 표현될 수 있다:
Figure pct00002
라인을 구체 중심으로부터 Ps로 연장할 때 Pf를 큐브 상의 포인트라고 하자. 보편성의 손실 없이, Pf가 면 NZ 상에 있다고 하자. Pf의 좌표인 (X_f, Y_f, Z_f)는 다음과 같이 계산될 수 있는데:
Figure pct00003
여기서 |x|는 변수 x의 절대 값이다. 그 다음, 면 NZ의 2D 평면에서 Pf의 좌표인 (uc, vc)는 다음과 같이 계산된다:
Figure pct00004
수학식 (3) 내지 수학식 (10)으로부터, 특정한 면 상의 큐브맵에서의 좌표 (uc, vc)와 구체 상에서의 좌표 (φ, θ) 사이에 관계가 구축될 수 있다. 그리고, 구체 상에서의 포인트(φ, θ)와 등장방형 포인트 (ue, ve) 사이의 관계는, 수학식 (1) 및/또는 (2)로부터 알려진다. 따라서, 등장방형 지오메트리와 큐브맵 지오메트리 사이의 관계가 발견될 수 있다. 큐브맵으로부터 등장방형으로의 지오메트리 매핑은 다음과 같이 요약될 수 있다. 큐브맵의 한 면 상의 포인트 (uc, vc)가 주어지면, 등장방형 평면 상에서의 출력 (ue, ve)는 다음과 같이 계산될 수 있다:
1) (uc, vc)를 갖는 면 상에서의 3D 포인트 P_f의 좌표를 수학식 (9) 및 (10)에서의 관계에 따라 계산한다;
2) P_f를 갖는 구체 상에서의 3D 포인트 P_s의 좌표를 수학식 (6), (7), 및 (8)에서의 관계에 따라 계산한다;
3) P_s를 갖는 구체 상에서의 (φ, θ)를 수학식 (3), (4) 및 (5)에서의 관계에 따라 계산한다;
4) (φ, θ)로부터 등장방형 픽쳐 상에서의 포인트 (ue, ve)의 좌표를 수학식 (1) 및 (2)에서의 관계에 따라 계산한다.
큐브맵을 사용하여 하나의 2D 픽쳐에서 360도 비디오를 표현하기 위해, 큐브맵의 6 개의 면은 하나의 직사각형 영역 안으로 패킹될 수 있는데, 이것은 프레임 패킹으로 알려져 있다. 그 다음, 프레임 패킹된 픽쳐는, 하나의 일반적인 2D 픽쳐로 취급(예를 들면, 코딩)된다. 3×2 및 4×3과 같은, 상이한 프레임 패킹 구성이 존재한다. 3×2 구성에서, 6 개의 면은, 3 개의 면이 하나의 행에 있는, 2 개의 행으로 패킹된다. 4×3 구성에서, 4개의 면(PX, NZ, NX, PZ)는 하나의 행(예를 들면, 중심 행)으로 패킹되고, 면(PY 및 NY)은 두 개의 상이한 행(예를 들면, 상부 행 및 하부 행)으로 개별적으로 패킹된다. 도 2c의 예는, 도 1c의 등장방형 픽쳐에 해당하는 4×3 프레임 패킹을 사용한다.
예시적인 시나리오에서, 등장방형 포맷의 360도 비디오가 입력으로서 취해지고, 입력을 큐브맵 포맷으로 변환하는 것이 소망된다. 다음의 단계가 적용된다:
1) 큐브맵 포맷의 각각의 샘플 위치 (uc, vc)에 대해, 상기에서 소개되는 방법에 의해 등장방형 포맷에서의 대응하는 좌표 (ue, ve)를 계산한다.
2) 이렇게 계산된 등장방형에서의 좌표 (ue, ve)가 정수 샘플 위치에 있지 않으면, 그것의 이웃하는 정수 위치에 있는 샘플을 사용하여 이 분수 위치에서 샘플 값을 획득하기 위해 보간 필터가 적용될 수도 있다.
360도 비디오 시스템에 대한 하나의 워크플로가 도 5에서 묘사되어 있다. 그것은, 다수의 카메라를 사용하여 전체 구체 공간을 커버하는 비디오를 캡쳐하는 것과 같은, 360도 비디오 캡쳐(502)를 포함한다. 그 다음, 그들 비디오는, 예를 들면 등장방형 지오메트리 구조체에서 함께 스티칭된다(504). 등장방형 지오메트리 구조체는, 인코딩, 예컨대 현존하는 비디오 코덱을 사용한 인코딩을 위한, 큐브맵과 같은 다른 지오메트리 구조체(506)로 변환될 수 있다. 프레임 패킹(508)은 인코딩(510) 이전에 수행될 수도 있다. 코딩된 비디오는, 예를 들면, 동적 스트리밍 또는 브로드캐스팅을 통해 클라이언트에게 전달된다. 수신기에서, 비디오는 디코딩되고(512), 압축 해제된 프레임은 언패킹되고(514) 디스플레이 지오메트리(예를 들면, 등장방형)로 변환된다(516). 그 다음, 그것은 유저의 시야각에 따라 뷰포트 투영을 통해 렌더링(518)을 위해 사용될 수 있고 헤드 장착형 디스플레이(520) 상에 디스플레이될 수 있다.
전문가 및/또는 소비자 비디오 애플리케이션에서, 크로마 성분은 종종 루마 성분의 것보다 더 작은 해상도로 서브샘플링된다. 크로마 서브샘플링은, 비디오 품질에 큰 영향을 미치지 않으면서, 인코딩될 비디오 데이터의 양을 감소시킨다(따라서 대역폭 및 컴퓨팅 파워를 절약한다). 예를 들면, 널리 사용되는 크로마 포맷 중 하나는 4:2:0 크로마 포맷으로 칭해지는데, 4:2:0 크로마 포맷에서, 크로마 성분 둘 모두는 루마 해상도의 1/4(수평으로 1/2 그리고 수직으로 1/2)이 되도록 서브샘플링된다. 크로마 서브샘플링 이후, 크로마 샘플링 그리드는 루마 샘플링 그리드와는 상이하게 될 수도 있다. 도 5에서, 프로세싱 흐름 전반에 걸쳐, 각각의 단계에서 프로세싱되는 360도 비디오는, 크로마 성분이 서브샘플링된 크로마 포맷일 수도 있다.
도 6은 일반적인 블록 기반의 하이브리드 비디오 인코딩 시스템의 하나의 실시형태의 블록도이다. 입력 비디오 신호(102)는 블록 단위로 프로세싱된다. HEVC에서, 고해상도(예를 들면, 1080p 및 그 이상) 비디오 신호를 효율적으로 압축하기 위해 확장된 블록 사이즈("코딩 단위(coding unit)" 또는 CU로 칭해짐)가 사용된다. HEVC에서, CU는 최대 64×64 픽셀일 수 있다. CU는, 예측 단위(prediction unit) 또는 PU로 추가로 구획될 수 있는데, 이것에 대해 별개의 예측 방법이 적용된다. 각각의 입력 비디오 블록(MB 또는 CU)에 대해, 공간 예측(160) 및/또는 시간 예측(162)이 수행될 수도 있다. 공간 예측(또는, "인트라 예측(intra prediction)")은, 현재 비디오 블록을 예측하기 위해, 동일한 비디오 픽쳐/슬라이스 내의 이미 코딩된 이웃 블록으로부터의 픽셀을 사용한다. 공간 예측은, 비디오 신호에서는 본질적인 공간 중복성을 감소시킨다. 시간 예측("인터 예측(inter prediction)" 또는 "모션 보상 예측(motion compensated prediction)"으로도 또한 칭해짐)은, 현재 비디오 블록을 예측하기 위해, 이미 코딩된 비디오 픽쳐로부터의 픽셀을 사용한다. 시간 예측은, 비디오 신호에서는 본질적인 시간 중복성을 감소시킨다. 주어진 비디오 블록에 대한 시간 예측 신호는, 현재 블록과 그것의 참조 블록 사이의 모션의 양 및 방향을 나타내는 하나 이상의 모션 벡터에 의해 일반적으로 시그널링된다. 또한, (H.264/AVC 또는 HEVC와 같은 최근의 비디오 코딩 표준에 대한 경우에서와 같이) 다수의 참조 픽쳐가 지원되는 경우, 각각의 비디오 블록에 대해, 그것의 참조 픽쳐 인덱스도 또한 전송되고; 참조 인덱스는, 참조 픽쳐 저장소(164) 내의 어떤 참조 픽쳐로부터 시간 예측 신호가 유래하는지를 식별하기 위해 사용된다. 공간 및/또는 시간 예측 이후, 인코더 내의 모드 결정 블록(180)은, 예를 들면, 레이트 왜곡 최적화 방법(rate-distortion optimization method)에 기초하여, 최상의 예측 모드를 선택한다. 그 다음, 예측 블록은 현재 비디오 블록으로부터 감산되고(116); 예측 잔차는 변환(104)을 사용하여 상관 해제되고(de-correlated) 목표 비트 레이트를 달성하기 위해 양자화된다(106). 양자화된 잔차 계수는 역양자화되고(110) 역변환되어(112) 재구성된 잔차를 형성하는데, 재구성된 잔차는, 그 다음, 예측 블록에 다시 가산되어(126) 재구성된 비디오 블록을 형성한다. 재구성된 비디오 블록이 참조 픽쳐 저장소(164)에 저장되고 미래의 비디오 블록을 코딩하기 위해 사용되기 이전에, 재구성된 비디오 블록에 대해 추가적인 루프 내 필터링 예컨대 디블로킹 필터 및 적응 루프 필터(Adaptive Loop Filter)가 적용될 수도 있다(166). 출력 비디오 비트스트림(120)을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 모션 정보, 및 양자화된 잔차 계수 모두가 엔트로피 코딩 유닛(108)으로 전송되어 추가적으로 압축 및 패킹되어 비트스트림을 형성한다.
도 7은 블록 기반의 비디오 디코더의 일반적인 블록도를 나타낸다. 비디오 비트스트림(202)은 엔트로피 디코딩 유닛(208)에서 먼저 언패킹되고 엔트로피 디코딩된다. 코딩 모드 및 예측 정보는, 공간 예측 유닛(260)(인트라 코딩된 경우) 또는 시간 예측 유닛(262)(인터 코딩된 경우) 중 하나로 전송되어, 예측 블록을 형성한다. 잔차 변환 계수는, 역양자화 유닛(210) 및 역변환 유닛(212)으로 전송되어, 잔차 블록을 재구성한다. 그 다음, 예측 블록 및 잔차 블록은 226에서 함께 가산된다. 재구성된 블록은 또한, 재구성된 블록이 참조 픽쳐 저장소(264)에 저장되기 이전에, 루프 내 필터링을 통과할 수도 있다. 그 다음, 참조 픽쳐 저장소 내의 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 전송되고, 뿐만 아니라 미래의 비디오 블록을 예측하기 위해 사용된다.
예시적인 실시형태의 개관
360도 비디오 데이터는 종래의 2D 평면 비디오 코딩을 사용하여 정보를 인코딩하기 위해 2D 평면 상으로 투영될 수도 있다. 360도 데이터를 표현하기 위해 사용할 수 있는 많은 지오메트리 투영이 존재하고 투영된 데이터가 상이한 구성으로 패킹될 수 있기 때문에, 이것은 다양한 문제로 이어진다.
하나의 문제는, 디코딩된 2D 평면 비디오로부터 360 비디오를 적절하게 재구성할 수도 있기 위해서는, 데이터를 언패킹하고 그것을 2D 공간으로부터 3D 공간으로 다시 투영하도록 디코더가 지오메트리 및 프레임 패킹 파라미터를 이용 가능할 수 있어야 한다는 것이다. 예를 들면, 큐브맵 포맷은, 상이한 면 순서, 상이한 면 회전, 또는 상이한 면 사이즈를 갖는, 3×2, 4×3, 1×6 또는 6×1과 같은 상이한 배치를 사용하여 표현될 수 있다. 추가적으로, 수신기 측에서 코딩 포맷과는 상이한 포맷이 사용되는 경우, 코딩 포맷을 필요한 포맷으로 변환하기 위해 지오메트리 및 프레임 패킹 파라미터가 또한 필요로 된다. 예를 들면, 코딩 포맷이 큐브맵이지만 그러나 디스플레이 포맷이 등장방형이면, 변환이 수행되어야 한다. 실용적인 방식에서, 파일 포맷 멀티플렉서는, 그들 기본 스트림을 멀티플렉싱할 때, 외부 메타데이터에 의존하는 대신 비디오를 그 자체로부터 그들 프레임 패킹 배치 정보를 추출하는 것이 더 좋다.
다른 문제는, 몇몇 프레임 패킹 구성에서, 결과적으로 나타나는 프레임 패킹된 픽쳐가 직사각형 영역을 형성하도록 랩핑되지 않은(unwrapped) 면을 패딩하는 것이 저장 또는 압축 목적을 위해 유익할 수도 있다는 것이다. 예를 들면, 큐브맵 4×3 포맷에서, 우측 상부 및 우측 하부 에지에 추가적인 픽셀이 추가되어야 한다(도 2b 및 2c 참조). 이들 추가적인 픽셀을 인코딩하는 것은 비트를 소비하지만, 그러나 어떠한 의미있는 정보를 전달하지는 않는다. 따라서, 이들 픽셀이 인코더에 의해 스킵되면 비트 레이트 절약이 달성될 수 있다. 이 경우, 360도 비디오의 올바른 재구성을 위해 콤팩트 구성이 사용된다는 것이 디코더에게 시그널링되어야 한다. 게다가, 종래의 2D 평면 비디오와는 달리, 비디오를 재생하는 동안 임의의 시간에, 360 비디오(예를 들면, 뷰포트)의 일부만이 렌더링되어 유저에게 디스플레이된다(도 5 참조). 통계치는, 뷰잉 확률이, 일반적으로, 극 주변보다 적도 주변에서 더 높고, 후면 뷰 근처보다 전면 뷰 근처에서 더 높다는 것을 나타낸다. 따라서, 투영 포맷을 식별하는 정보는, 인코더가 투영된 2D 비디오에서 이들 영역(즉, 적도 대 극 및 전면 대 후면)을 식별하는 것, 및 상이한 인코딩 전략을 적용하여(예를 들면, 적도 및/또는 전면 영역에 대응하는 영역에 더 많은 비트를 소비하고 및/또는 더 복잡한 최적화 전략을 적용하는 것, 및 극 및/또는 후면에 대응하는 영역에 더 적은 비트를 소비하고 및/또는 더 간단한 최적화 전략을 적용하는 것) 비트 및/또는 컴퓨팅 리소스를 유저의 뷰잉 행동을 활용하는 것에 의해 더욱 지능적인 방식으로 할당할 것을 허용할 것이다.
또 다른 문제는, MPEG-2, H.264 및 HEVC와 같은 현존하는 코덱이 종래의 2D 비디오를 위해 특별히 설계되고 360도 데이터 표현의 어떠한 속성(property)도 고려하지 않는다는 것이다. 더 나은 압축 효율성을 달성하기 위해, 고급 360 비디오 코딩 툴은 전체 3D 표현을 활용할 수도 있지만, 그러나 이들 툴은, 투영된 2D 평면 비디오에 대해 코딩이 수행될 때 지오메트리 및 프레임 패킹에 관한 정보로부터 이익을 얻을 수도 있다. 따라서, 지오메트리 및 프레임 패킹 파라미터에 관한 정보는, 360 비디오를 적절하고 더욱 효율적으로 인코딩 및 디코딩할 수도 있도록 인코더 및 디코더 둘 모두에게 이용 가능하게 될 수도 있다. 예를 들면, 큐브맵 포맷에서, 펼쳐진 면(unfolded face)은 2D 평면 비디오 상에서 단지 몇 개의 올바르게 배치된 이웃하는 면만을 가지는데, 이것은 이웃하는 면 사이의 중복 정보를 활용하는 코덱의 용량을 제한한다. 그러나, 코덱이 3D 표현에 관한 정보를 가지며, 이 경우 큐브의 각각의 면이 정확하게 4 개의 이웃하는 면을 갖는 경우, 더 많은 중복 정보가 활용되어 인코딩되어야 하는 데이터 양을 감소시킬 수 있다.
추가적인 문제는, 지오메트리 및 프레임 패킹 파라미터가 360도 비디오의 지속 기간에 걸쳐 변할 수도 있다는 것이다. 따라서, 시간이 지남에 따라 지오메트리 및 프레임 패킹 파라미터가 변하면, 이들 파라미터는 360 비디오의 각각의 프레임에 대해 인코더 및 디코더에게 이용 가능해야 한다. 예를 들면, 코딩 포맷은 더 나은 압축 성능을 달성하기 위해 특정한 시간 순간에 큐브맵으로부터 등장방형으로 변경될 수도 있거나, 또는 특정한 비디오 세그먼트 동안 더 낮은 또는 더 높은 대역폭 요건을 수용하도록 큐브맵 면의 특정한 세트의 사이즈는 변경될 수도 있다.
본원에서 개시되는 시스템 및 방법은 이들 문제, 및 다른 문제를 해결한다.
몇몇 실시형태에서, 360도 비디오 코딩에 대한 상기에서 기술되는 문제 중 하나 이상은, 추가적인 하이 레벨의 신택스 엘리먼트에 의해 비트스트림에서 지오메트리 및 프레임 패킹 파라미터를 시그널링하는 것에 의해 해결된다. 특히, 2D 평면 비디오 상에서 지오메트리 면을 위치 결정하기 위한 지오메트리 면에 대한 상이한 파라미터를 비롯하여, 투영 지오메트리 타입은 명시될 수 있다. 360 비디오 파라미터는 상이한 레벨에서 시그널링될 수 있다. 하기의 하나의 섹션은, 상이한 레이어 및/또는 시퀀스 및/또는 픽쳐가 동일한 투영 포맷을 사용할 때 전송되어야 하는 정보의 양을 최소화하기 위해 투영 포맷 파라미터가 비디오 레벨(예를 들면, 비디오 파라미터 세트 또는 VPS 레벨)에서 저장될 수 있는 방법을 설명한다. 하기의 다른 섹션은, 동일한 비디오의 상이한 시퀀스가 상이한 투영 포맷을 사용하는 것, 또는 주어진 투영 포맷에 관련되는 파라미터를 변경하는 것을 허용하면서, 투영 포맷이 시퀀스 레벨(예를 들면, 시퀀스 파라미터 세트, SPS 레벨)에서 시그널링될 수 있는 방법을 제시한다. 하기의 다른 섹션은, 동일한 시퀀스의 상이한 픽쳐가 상이한 투영 포맷을 사용하는 것, 또는 주어진 투영 포맷에 관련되는 파라미터를 변경하는 것을 허용하면서, 투영 포맷이 픽쳐 레벨(예를 들면, 픽쳐 파라미터 세트, PPS 레벨)에서 시그널링될 수 있는 방법을 제시한다. 본원에서 개시된 시스템 및 방법의 다른 양태는, 상이한 품질 인자를 갖는 상이한 지오메트리 면의 인코딩을 가능하게 하는 것이다. 예를 들면, 큐브맵 포맷에서, 전, 후, 좌측 및 우측 면은 더 높은 품질로 코딩될 수도 있고, 반면, 상부 및 하부 면은 더 낮은 품질로 코딩될 수도 있다. 이것은, 뷰어가 극 근처보다는 수평선 주변 영역을 볼 가능성이 더 높기 때문이다. 이 방법으로, 360 비디오가 더욱 효율적으로 코딩될 수 있다.
몇몇 실시형태에서, 절대 좌표 시스템에 대한 지오메트리 좌표 시스템의 회전을 명시하는 시스템 및 방법이 소개된다. 이들 시스템 및 방법은, 주목하는 오브젝트 또는 영역이, 더 높은 품질로 인코딩될 수도 있는 면 또는 면의 세트 안으로 투영되도록 3D 지오메트리를 회전시키기 위해 사용될 수도 있다. 마찬가지로, 주목하는 오브젝트 또는 영역이 여러 개의 면에 걸쳐 분할되면 - 이것은 각각의 면 내에서 중복성(redundancy)을 감소시킬 수도 있음 - , 더 나은 압축 효율성이 달성될 수도 있도록 하나 이상의 중요한 오브젝트가 하나의 면 내에 배치될 수 있도록 하는 상이한 방위를 정의하기 위해 지오메트리 회전이 사용될 수도 있다. 몇몇 경우에, 이것이 가능하지 않은 경우, 예를 들면, 오브젝트가 수평 및 수직 방향 중 하나 또는 둘 모두에서 90도 넘게 걸칠만큼 충분히 크고 및/또는 가까우면, 중요한 오브젝트(들)의 가능한 한 큰 부분이 하나의 면 내에 배치되도록 면은 회전될 수도 있다. 3D 지오메트리의 내재하는 본질에 기인하여, 오브젝트가 하나보다 더 많은 면에 걸치는 경우, 그것의 지오메트리 구조체는, 하나의 면으로부터 다른 면으로 전이할 때 "왜곡"될 것이고, 따라서 상관 관계 및 코딩 효율성을 감소시킬 것이다. 하나의 면 내에서의 오브젝트 연속성이 최대화되도록 투영 방위를 명시할 수 있는 것은 코딩 효율성을 향상시킬 수 있다.
비디오 레벨에서의 360도 비디오 속성 시그널링
상이한 투영 지오메트리는 상이한 특성을 갖는다. 예를 들면, 등장방형 투영 및 등적 투영에 대해 단지 하나의 면이 존재한다. 픽쳐가 신장되더라도, 면 경계 문제는 없다. 큐브맵은 여섯 개의 면을 가지며, 프레임 패킹된 픽쳐에서 면 경계를 갖는다. 각각의 픽쳐는 상이한 투영 지오메트리에서 또는 동일한 지오메트리를 가지지만 그러나 상이한 면 배치, 사이즈, 또는 품질을 가지고 코딩될 수도 있다. 이 목적을 위해, 새로운 파라미터 세트가, 표 1에서 묘사되는 바와 같이, 360 비디오에 대한 몇몇 실시형태에서 도입될 수도 있다.
Figure pct00005
예시적인 실시형태에서, 플래그 vps_360_extension_flag는 다음의 의미론(semantics)을 가질 수도 있다.
vps_360_extension_flag: 비디오가 360도 비디오인지의 여부를 명시함, 이 경우 360 비디오의 효율적인 표현 및 압축을 위한 특정한 파라미터 및 툴이 사용될 수도 있음. 존재하지 않는 경우, vps_360_extension_flag의 값은 0과 동일한 것으로 추론될 수 있다.
비디오 레벨에서, 상이한 시퀀스 및/또는 레이어에서 사용되는 투영 포맷의 총 수는, 표 2에 따라, 몇몇 실시형태에서 시그널링될 수도 있다.
Figure pct00006
예시적인 실시형태에서, 표 2의 파라미터는 다음의 의미론을 가질 수도 있다.
vps_num_360_formats_minus1: 상이한 시퀀스 및/또는 레이어에서 사용되는 투영 포맷의 수(마이너스 1)를 명시함. 존재하지 않는 경우, vps_num_360_formats_minus1의 값은 0과 동일한 것으로 추론될 수 있는데, 단지 하나의 투영 포맷만이 사용된다는 것을 나타낸다.
360_format_idx_present_flag: 신택스 엘리먼트 vps_360_format_idx[i]가 존재하는지 또는 존재하지 않는지의 여부를 명시함. 존재하지 않는 경우, 360_format_idx_present_flag의 값은 0과 동일한 것으로 추론될 수 있다.
vps_360_format_idx[i]: VPS 내의 360_format() 신택스 구조의 목록으로의, layer_id_in_nuh[i]와 동일한 nuh_layer_id를 갖는 레이어에 적용되는 360_format() 신택스 구조의 인덱스를 명시함. 존재하지 않는 경우, vps_rep_format_idx[i]의 값은 Min(i, vps_num_rep_formats_minus1)과 동일한 것으로 추론될 수 있다.
제안된 신택스 구조에서, 멀티 레이어 비디오 스트림에서, 각각의 레이어에 대한 투영 포맷은 상이할 수도 있다. 예를 들면, 각각의 레이어에 대한 투영 포맷은 레이트 왜곡 최적화를 사용하여 인코더에서 결정될 수도 있다. 인코더는, 모든 이용 가능한 투영 포맷으로 현재 레이어를 인코딩하고 후속하여 레이트 왜곡 비용을 측정할 수 있다. 현재 레이어가 향상 레이어(enhancement layer)인 경우, 그것은 동일한 레이어에서의 인트라 및 인터 예측뿐만 아니라, 동일한 또는 상이한 투영 포맷의 다른 레이어(예를 들면, 참조 레이어)로부터의 레이어간 예측(inter-layer prediction)으로도 또한 인코딩될 수도 있다. 참조 레이어로부터의 투영 포맷이 현재 레이어의 투영 포맷과는 상이한 경우, 인터 레이어 예측 프로세스는 투영 포맷 변환을 더 포함할 수도 있다. 최종적으로, 최소 레이트 왜곡 비용으로 나타나는 투영 포맷이 최종 코딩을 위해 선택될 수도 있다.
몇몇 실시형태에서, 각각의 투영 포맷 및 관련 파라미터의 속성은 표 3에 따라 시그널링될 수도 있다.
Figure pct00007
예시적인 실시형태에서, 표 3의 파라미터는 다음과 같은 의미론을 가질 수도 있다.
projection_geometry: 사용된 투영 지오메트리의 표 4의 매핑 인덱스를 명시함.
geometry_rotation_param_present_flag: 신택스 엘리먼트 geometry_rotation_yaw, geometry_rotation_pitch 및 geometry_rotation_roll이 존재하는지의 여부를 명시함. 존재하지 않는 경우, geometry_rotation_param_present_flag의 값은 0과 동일한 것으로 추론될 수 있다.
geometry_rotation_yaw: 절대 좌표 시스템에 대한 지오메트리 좌표 시스템의 Y 축(도 2a 참조)을 중심으로 한 회전을 명시함. 존재하지 않는 경우, geometry_rotation_yaw의 값은 0과 동일한 것으로 추론될 수 있다.
geometry_rotation_pitch: 절대 좌표 시스템에 대한 지오메트리 좌표 시스템의 Z 축(도 2a 참조)을 중심으로 한 회전을 명시함. 존재하지 않는 경우, geometry_rotation_pitch의 값은 0과 동일한 것으로 추론될 수 있다.
geometry_rotation_roll: 절대 좌표 시스템에 대한 지오메트리 좌표 시스템의 X 축(도 2a 참조)을 중심으로 한 회전을 명시함. 존재하지 않는 경우, geometry_rotation_roll의 값은 0과 동일한 것으로 추론될 수 있다.
compact_representation_enabled_flag: 프레임 패킹된 이미지를 직사각형 픽쳐 안으로 패딩하기 위해 사용되는 샘플 또는 블록이 인코더에 의해 스킵되는지의 여부를 명시함. 존재하지 않는 경우, compact_representation_enabled_flag의 값은 0과 동일한 것으로 추론될 수 있다.
loop_filter_across_faces_enabled_flag: 루프 내 필터링(in-loop filtering) 동작이 면 경계를 가로질러 수행될 수도 있는지의 여부를 명시함. 존재하지 않는 경우, loop_filter_across_faces_enabled_flag의 값은 1과 동일한 것으로 추론될 수 있다.
num_face_rows: 프레임 패킹된 픽쳐 내의 면 행(face row)의 수를 명시함. 존재하지 않는 경우, num_face_rows의 값은 1과 동일한 것으로 추론될 수 있다.
num_face_columns: 프레임 패킹된 픽쳐 내의 면 열(face column)의 수를 명시함. 존재하지 않는 경우, num_face_columns의 값은 1과 동일한 것으로 추론될 수 있다.
num_face_rows 및 num_face_columns를 시그널링하는 대신, 이들 신택스 엘리먼트를 코딩하는 데 필요한 비트의 수를 감소시키기 위해, num_face_rows_minus1 및 num_face_columns_minus1이 시그널링될 수도 있다는 것을 유의한다.
equal_face_size_flag: 모든 면이 동일한 사이즈(동일한 폭 및 높이)를 공유하는지의 여부를 명시함. 존재하지 않는 경우, equal_face_size_flag의 값은 0과 동일한 것으로 추론될 수 있다. equal_face_size_flag가 1로 설정되는 경우, 프레임 패킹된 픽쳐의 모든 면의 폭 및 높이는 투영 지오메트리에 기초하여 추론될 수 있다. 예를 들면, 큐브맵 투영에서, 프레임 패킹된 픽쳐의 모든 면의 루마 샘플에서의 폭은 pic_width_in_luma_samples/num_face_columns와 동일한 것으로 추론될 수 있고, 한편 프레임 패킹된 픽쳐의 모든 면의 루마 샘플에서의 높이는 pic_height_in_luma_samples/num_face_rows와 동일한 것으로 추론될 수 있다. 프레임 패킹된 픽쳐 내의 모든 면의 루마 샘플의 폭 및 높이는 0과 동일하지 않아야 하고 MinCbSizeY의 정수 배가 되어야 한다는 것을 유의한다.
face_qp_offset_enabled_flag: 상이한 QP가 상이한 면에 대해 사용되는지의 여부를 명시함. 존재하지 않는 경우, face_qp_offset_enabled_flag의 값은 0과 동일한 것으로 추론될 수 있다.
face_idx[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 인덱스를 명시함. 등장방형 또는 등적과 같은, 단일의 면만을 갖는 단순 지오메트리의 경우, 유일한 면은 면 # 0이다. 다른 지오메트리의 경우, 큐브맵 및 8면체 지오메트리에 대한 표 5에서 예시되는 바와 같이, 면의 디폴트 넘버링(numbering) 및 위치 결정이 사용될 수 있다.
face_width_in_luma_samples[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 루마 샘플에서의 폭을 명시함. 프레임 패킹된 픽쳐 폭과 관련하여 모호성을 방지하기 위한 기술이 활용될 수도 있다. 예를 들면, 각각의 행을 따른 상이한 면 폭의 합이 프레임 패킹된 픽쳐 폭과 동일하다는 것이 강제될 수 있다. face_width_in_luma_samples[i][j]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수 배가 되어야 한다.
face_height_in_luma_samples[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 루마 샘플에서의 높이를 명시함. 프레임 패킹된 픽쳐 높이와 관련하여 모호성을 방지하기 위한 기술이 활용될 수도 있다. 예를 들면, 각각의 열을 따른 상이한 면 높이의 합이 프레임 패킹된 픽쳐 높이와 동일하다는 것이 강제될 수 있다. face_height_in_luma_samples[i][j]는 0이 동일하지 않아야 하고 MinCbSizeY의 정수 배가 되어야 한다.
face_rotation_idc[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 픽쳐 좌표 시스템과 면 좌표 시스템 사이의 회전의 표 6에서의 매핑 인덱스를 명시함. 존재하지 않는 경우, face_rotation_idc[i][j]의 값은 0과 동일한 것으로 추론될 수 있다.
face_rotation[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 픽쳐 좌표 시스템과 면 좌표 시스템 사이의 회전의 정도를 명시함.
face_vertical_flip_flag[i][j]: 프레임 패킹된 픽쳐의 i 번째 행과 j 번째 열에 위치되는 면이 회전 이후에 수직으로 플립되는지의 여부를 명시함. 존재하지 않는 경우, face_vertical_flip_flag[i][j]의 값은 0과 동일한 것으로 추론될 수 있다.
face_qp_offset[i][j]: 프레임 패킹된 픽쳐의 i 번째 행 및 j 번째 열에 위치되는 면의 QP 값을 결정할 때 시퀀스 레벨 QP에 추가될 차이를 명시함.
Figure pct00008
Figure pct00009
Figure pct00010
프레임 패킹된 픽쳐를 면 그리드로서 고려하면, 이들 파라미터는 지오메트리 포맷의 매우 유연하고 여전히 강력한 시그널링을 위해 사용될 수 있다. 등장방형, 등적, 또는 원통과 같은 단일의 면으로 나타나는 투영 지오메트리의 경우, 파라미터 num_face_rows, num_face_columns, face_idx, face_width_in_luma_samples, face_height_in_luma_samples, 및 face_rotation은 지오메트리 및 픽쳐 사이즈로부터 추론될 수 있다. 그러나, 큐브맵, 8면체 또는 20면체와 같은 다른 지오메트리의 경우, 면이 상이한 방식으로 배열될 수도 있거나 또는 상이한 사이즈를 가질 수도 있기 때문에 이들 파라미터를 명시하는 것이 바람직하다. 예를 들면, 도 9a 내지 도 9c에서 예시되는 바와 같이, 동일한 큐브맵 투영은, (a) 3×4 그리드(도 9a) 또는 (b) 2×3 그리드(도 9b)와 같은 상이한 방식으로 패킹될 수 있다. 3×4 그리드의 경우, 실제 면을 포함하지 않는 그리드에서의 위치를 나타내기 위해, face_idx는, 지오메트리로부터 추론될 수 있는 실제 면 수보다 더 높은 값으로 설정될 수 있다. 예를 들면, 다음과 같이 파라미터를 설정할 수 있다:
Figure pct00011
몇몇 방향에서 더 나은 세부 사항을 제공하기 위해, 소정의 면은 더 높은 해상도로 인코딩될 수도 있다. 이것은, 뷰어가 특히 전방 방향 근처에서, 다른 영역보다 어떤 영역을 더 자주 시청할 가능성이 있기 때문이다. 이러한 방식에서, 360도 비디오는 더욱 효율적으로 코딩될 수 있다. 이 목적을 위해, face_width_in_luma_samples 및 face_height_in_luma_samples 파라미터는, 상이한 면에 대한 상이한 사이즈를 명시하기 위해 사용될 수 있다. 예를 들면, 큐브맵 포맷에서, 전면은, 도 9c에서 예시되는 바와 같이, 다른 면보다 더 높은 해상도로 코딩될 수 있고, 다음과 같이 파라미터를 설정할 수 있다:
Figure pct00012
W는 루마 샘플에서의 면 폭이고, H는 면 0(전면)을 제외한 모든 다른 면의 루마 샘플에서의 면 높이이다.
이들 파라미터로부터, 전면은 그 사이즈가 다른 면의 두 배 사이즈만큼 크고 정보가 적절하게 검색될 수 있기 때문에 4 개의 그리드 위치에 걸쳐 있다는 것이 추론될 수 있다.
면은 상이한 방위로 배치될 수도 있다. 예를 들면, 큐브맵 투영에 대해 예시되는 바와 같이, 도 9a의 3×4 그리드와 비교하여, 면 "2", "1", 및 "3"은 도 9b의 2×3 그리드에서 90도만큼 반시계 방향으로 회전된다. face_rotation_idc 파라미터는, 면 좌표 시스템과 프레임 패킹된 픽쳐 좌표 시스템 사이의 회전을 명시하기 위해 사용될 수 있다.
그리드 시스템은, 8면체 및 20면체에 대해 각각 도 11 및 도 12에서 예시되는 바와 같이, 삼각형 면과 같은 비정사각형 면(non-square face)을 갖는 지오메트리에 대해서도 또한 사용될 수 있다. 콤팩트한 표현을 위해 몇몇 삼각형 면이 두 부분으로 분할되기 때문에(도 11b 및 도 12b 참조), 하나의 2등변 또는 등변 삼각형 대신, 두 개의 직각 삼각형을 사용하여 하나의 삼각형 면이 정의될 수도 있다. 기본적인 직각 삼각형은 도 10a에서 묘사되는 바와 같이 정의될 수도 있다. 두 개의 직각 삼각형을 사용하여 하나의 2등변 또는 등변 삼각형을 구성하기에 회전이 충분하지 않기 때문에, 회전은 수직 플립(또는, 몇몇 실시형태에서는, 수평 플립)과 조합될 수도 있다. 이 표현에서, 콤팩트 및 비 콤팩트 표현 둘 모두에 대해 많은 유연성을 가지고 동일한 신택스가 사용될 수도 있다. 예를 들면, 도 11b에서 표현되는 콤팩트한 8면체를 시그널링하기 위해, 파라미터는 다음과 같이 설정될 수도 있다
Figure pct00013
face_qp_delta 파라미터는, 특정한 면이 더 높은 또는 더 낮은 품질로 인코딩되는지를 명시하기 위해 사용될 수 있다. 예를 들면, 슬라이스 또는 코딩 단위 레벨에서 품질을 적응시키는 것에 의해, 비슷한 결과가 획득될 수 있다. 그러나, 슬라이스는 여러 면을 커버할 수도 있고 면은 여러 개의 코딩 단위를 포함할 가능성이 가장 높을 것이고, 따라서, 각각의 면에 대한 품질 차이를 직접적으로 시그널링하는 것이 더욱 효율적일 수도 있다.
각각의 열을 따라 동일한 폭을(그러나 상이한 열에 걸쳐 상이한 폭을) 그리고 각각의 행을 따라 동일한 높이를(그러나 상이한 열에 걸쳐 상이한 높이를) 갖는 면으로 구성되는 규칙적인 프레임 패킹 그리드의 경우, 면 속성은, 표 7에서 예시되는 바와 같이, 더 적은 파라미터를 사용하여 또한 시그널링될 수 있다.
Figure pct00014
예시적인 실시형태에서, 표 7의 파라미터는 다음의 의미론을 가질 수도 있다.
num_face_rows_minus1: 프레임 패킹된 픽쳐에서의 면 행의 수(마이너스 1)를 명시함. 존재하지 않는 경우, num_face_rows_minus1의 값은 0과 동일한 것으로 추론될 수 있다.
num_face_columns_minus1: 프레임 패킹된 픽쳐에서의 면 열의 수(마이너스 1)를 명시함. 존재하지 않는 경우, num_face_columns_minus1의 값은 0과 동일한 것으로 추론될 수 있다.
row_height_in_luma_samples[i]: 프레임 패킹된 픽쳐의 i 번째 행에 위치되는 면의 루마 샘플에서의 높이를 명시함. 마지막 행의 경우, 높이는 pic_height_in_luma_samples - Σirow_height_in_luma_samples[i]과 동일한 것으로 추론될 수 있다. row_height_in_luma_samples[i]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수 배가 되어야 한다.
column_width_in_luma_samples[j]: 프레임 패킹된 픽쳐의 j 번째 열에 위치되는 면의 루마 샘플에서의 폭을 명시함. 마지막 열의 경우, 폭은 pic_width_in_luma_samples - Σjcolumn_width_in_luma_samples[j]과 동일한 것으로 추론될 수 있다. column_width_in_luma_samples[j]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수 배가 되어야 한다.
또한, 면 속성은 불규칙면 형상의 경우 면 인덱스 순서(face index order)로 시그널링될 수 있다. 표 8은 예를 도시한다.
Figure pct00015
예시적인 실시형태에서, 표 8의 파라미터는 다음의 의미론을 가질 수도 있다.
num_faces: 프레임 패킹된 픽쳐 내의 면의 수를 명시함. 존재하지 않는 경우, num_faces의 값은 1과 동일한 것으로 추론될 수 있다.
num_faces를 시그널링하는 대신, 이 신택스 엘리먼트를 코딩하는 데 필요한 비트의 수를 감소시키기 위해, num_faces, num_faces_minus1이 시그널링될 수도 있다는 것을 유의한다.
num_face_vertices[i]: i 번째 면의 정점 수를 명시함. 존재하지 않는 경우, num_face_vertices[i]의 값은, 사변형이 가장 일반적인 면 다각형 타입(face polygon type)이기 때문에, 4와 동일한 것으로 추론될 수 있다.
vertex_2D_pos_x[i][j]: i 번째 면의 j 번째 정점의 프레임 패킹된 픽쳐에서의 x 좌표를 명시함.
vertex_2D_pos_y[i][j]: i 번째 면의 j 번째 정점의 프레임 패킹된 픽쳐에서의 y 좌표를 명시함.
vertex_3D_pos_x[i][j]: i 번째 면의 j 번째 정점의 3D 좌표 시스템에서의 x 좌표를 명시함.
vertex_3D_pos_y[i][j]: i 번째면의 j 번째 정점의 3D 좌표 시스템에서의 y 좌표를 명시함.
vertex_3D_pos_z[i][j]: i 번째 면의 j 번째 정점의 3D 좌표 시스템에서의 z 좌표를 명시함.
vertex_3D_pos_x[i][j], vertex_3D_pos_y[i][j], 및 vertex_3D_pos_z[i][j] 파라미터는 3D 공간에서 유저 명시 다각형 기반의 지오메트리를 정의하기 위해 사용될 수 있다. 이들 파라미터는 샘플을 프레임 패킹된 픽쳐에서의 자신의 위치로부터 3D 지오메트리에서의 대응하는 위치로 매핑하기 위해 사용될 수도 있다. 이 정보는, 더 나은 압축 효율성을 달성하기 위해 고급 360 비디오 코딩에 의해 활용될 수도 있다. 예를 들면, 코덱은, 프레임 패킹된 픽쳐에서 함께 배치되지 않는 3D 표현에서의 이웃하는 면 사이의 중복 정보를 활용할 수도 있다.
시퀀스 레벨에서의 360도 비디오 속성 시그널링.
시퀀스 레벨에서, 사용되는 투영 포맷이 시그널링될 수도 있다. 이 목적을 위해, 표 9에서 묘사되는 바와 같이, 360 비디오에 대해 새로운 파라미터 세트가 도입될 수 있다.
Figure pct00016
예시적인 실시형태에서, 표 9의 파라미터는 다음의 의미론을 가질 수도 있다.
sps_360_extension_flag: 시퀀스가 360 비디오인지의 여부를 명시함, 이 경우, 360 비디오의 효율적인 압축을 위한 특정한 파라미터 및 툴이 사용될 수도 있음.
사용된 투영 포맷은 표 10에 따라 시그널링될 수 있다.
Figure pct00017
예시적인 실시형태에서, 표 10의 파라미터는 다음의 의미론을 가질 수도 있다.
sps_num_360_formats_minus1: 시퀀스에서 사용되는 투영 포맷의 수(마이너스 1)를 명시함. 존재하지 않는 경우, sps_num_360_formats_minus1의 값은 0과 동일한 것으로 추론될 수 있는데, 단지 하나의 투영 포맷만이 사용된다는 것을 나타낸다.
sps_360_format_idx[i]: VPS 내의 360_format() 신택스 구조의 목록으로의, 시퀀스에서 사용되는 360_format() 신택스 구조의 인덱스의 목록을 명시함. sps_360_format_idx[i]의 값은 0 이상 vps_num_360_formats_minus1 이하의 범위 내에 있을 수도 있다.
VPS 레벨에서 정의되는 모든 360 비디오 관련 파라미터는 SPS 레벨에서 변경될 수도 있다는 것을 유의한다. 비록 표 10에서 나타나지는 않지만, VPS에서 전송되는 360 비디오 포맷의 세트로 인덱싱하기 위해 sps_360_format_idx를 사용하는 대신, 이 SPS를 참조하는 비디오 시퀀스의 360 비디오 파라미터를 나타내기 위한 SPS 확장의 일부로서, 표 3에서 정의되는 것과 유사한 신택스 엘리먼트(예를 들면, projection_geometry, 면 치수 파라미터, 면 QP 오프셋, 등등)가 직접적으로 시그널링될 수도 있다.
픽쳐 레벨에서의 360도 비디오 속성 시그널링
몇몇 실시형태에서, 더 큰 코딩 최적화를 제공하기 위해, 시퀀스는 상이한 프레임에 대해 상이한 투영 포맷을 사용하여 인코딩될 수도 있다. 이 경우, 투영 포맷은, VPS 또는 SPS 레벨에서 이미 시그널링된 투영 포맷의 세트로의 인덱스를 통해 픽쳐 레벨에서 시그널링될 수 있다. 이 목적을 위해, 몇몇 실시형태에서, 표 11에서 묘사되는 바와 같이 360 비디오에 대해 새로운 파라미터 세트가 도입될 수도 있다.
Figure pct00018
예시적인 실시형태에서, 표 11의 파라미터는 다음의 의미론을 가질 수도 있다.
pps_360_extension_flag: 이 PPS를 참조하는 픽쳐가 360도 비디오 코딩에 관련되는 특정한 파라미터를 포함하는지의 여부를 명시함. 존재하지 않는 경우, pps_360_extension_flag의 값은 sps_360_extension_flag와 동일한 것으로 추론될 수 있다.
360 비디오에 대한 PPS 확장의 예가 표 12 및 표 13에서 제공된다.
Figure pct00019
Figure pct00020
예시적인 실시형태에서, 표 12 및 표 13의 파라미터는 다음의 의미론을 가질 수도 있다.
pps_360_format_idx: 이 PPS에 의해 참조되는 SPS에서 정의되는 투영 지오메트리의 세트로의 인덱스를 명시한다. pps_360_format_idx의 값은 0 이상 sps_num_360_formats_minus1 이하의 범위 내에 있어야 한다. 존재하지 않는 경우, pps_360_format_idx의 값은 0과 동일한 것으로 추론될 수 있다.
pps_360_format_idx 파라미터는, 시퀀스 레벨에서 열거되는 이용 가능한 투영 포맷 중 현재의 픽쳐에 대한 투영 포맷을 명시하기 위해 사용된다. 예를 들면, SPS 내의 sps_360_format_idx의 목록에서 등장방형 및 등적만이 이용 가능하고, 등적을 나타내기 위해 인덱스 "0"을 그리고 등장방형을 나타내기 위해 "1"을 사용하는 경우, 파라미터는 다음과 같이 설정될 수 있다
pps_360_format_idx = 0 // 이 PPS를 참조하는 모든 픽쳐는 등적 포맷으로 코딩될 것이다
pps_360_format_idx = 1 // 이 PPS를 참조하는 모든 픽쳐는 등장방형 포맷으로 코딩된다.
동일한 비디오 시퀀스 내에서, 상이한 픽쳐가 상이한 투영 지오메트리 포맷을 갖도록 허용되면, 2 개의 모션 파라미터(각각 수평 및 수직 변위 파라미터)를 갖는 병진 모션 모델을 사용하는 또는 4 개 또는 6 개의 모션 파라미터를 갖는 아핀 기반의 모션 모델(affine based motion model)을 사용하는 시간 모션 보상 예측(temporal motion compensated prediction)은 더 이상 효율적으로 작용하지 않을 수도 있다. 대신, 현재 픽쳐의 투영 지오메트리가, 자신의 시간 참조 픽쳐의 투영 지오메트리와 상이하면, 현존하는 시간 모션 보상 예측이 적용되기 이전에, 현재 픽쳐와 그것의 시간 참조 사이의 투영 지오메트리를 정렬하기 위해 지오메트리 변환이 수행될 수도 있다. 이것은, 비록 더 높은 컴퓨팅 복잡도를 대가로 하더라도, 시간 예측 효율성을 증가시킬 수도 있다. 하나보다 더 많은 시간 참조 픽쳐가 모션 보상 예측(예를 들면, 양예측(bi-prediction))에서 사용되는 경우, 모션 보상 예측이 수행될 수도 있기 이전에, 현재 픽쳐와 그것의 모든 참조 픽쳐 사이에서 투영 지오메트리가 정렬될 수도 있다.
예시적인 실시형태에서, coding_region_table() 신택스 구조의 의미론은 다음과 같을 수도 있다:
full_sphere_range_coding_flag: 전체 구체 범위가 코딩되는지의 여부 또는 그것의 일부만이 코딩되는지를 명시함. 존재하지 않는 경우, full_sphere_range_coding_flag의 값은 1과 동일한 것으로 추론될 수 있다.
pos_x_in_360_packed_frame: 프레임 패킹된 픽쳐에서의 코딩된 픽쳐 상부 좌측 코너의 x 좌표를 명시함.
pos_y_in_360_packed_frame: 프레임 패킹된 픽쳐의 코딩된 픽쳐 상부 좌측 코너의 y 좌표를 명시함.
대역폭 또는 메모리 제한 또는 디코딩 성능과 같은 상이한 제한 때문에, 전체 구체의 일부만이 코딩될 수도 있다. 이 정보는 full_sphere_range_coding_flag 및 관련된 pos_x_in_360_packed_frame 및 pos_y_in_360_packed_frame 파라미터를 사용하여 시그널링될 수 있다. full_sphere_range_coding_flag가 0으로 설정되면, 전체 프레임 패킹된 픽쳐의 직사각형 부분만이 코딩된다. 그 다음, 프레임 패킹된 픽쳐 내부의 코딩된 픽쳐의 상부 좌측 코너는 관련된 pos_x_in_360_packed_frame 및 pos_y_in_360_packed_frame 파라미터를 사용하여 시그널링된다.
도 13a 및 도 13b는, 큐브맵(도 13a) 및 등장방형(도 13b) 투영에 대한 제한된 구체 범위 코딩의 사용을 예시한다. 이들 예에서, 전면 영역만이 코딩된다. 제한된 구체 범위 코딩을 사용하는 경우, 면 폭/높이 및 코딩된 픽쳐 폭/높이를 연결하는 제약은 디스에이블되어야 한다는 것을 유의한다. 도 13a에서 도시되는 바와 같이, 전체 픽쳐는 프레임 패킹된 픽쳐를 나타내고, 직사각형(1305)은 코딩된 영역의 범위를 정한다. 도 13b에서 도시되는 바와 같이, 전체 픽쳐는 프레임 패킹된 픽쳐를 나타내고, 직사각형(1310)은 코딩된 영역의 범위를 정한다.
coding_region_table()은 또한 각각의 투영 포맷에 대해 VPS 및/또는 PPS 레벨에서 시그널링될 수도 있다.
SPS 및/또는 VPS 레벨에서 정의되는 파라미터 중 일부는 대안적으로 또는 추가적으로 PPS 레벨에서 시그널링될 수도 있다는 것을 유의한다. 예를 들면, VPS 또는 SPS 레벨 대신, PPS 레벨에서 면 QP 오프셋 파라미터를 시그널링하는 것이 특히 유리할 수도 있는데, 픽쳐 레벨에서 각각의 개개의 면의 면 품질을 조정하는 더 많은 유연성을 허용하기 때문이다. 예를 들면, 그것은, 계층적 B 예측 구조에서 현재의 프레임 패킹된 픽쳐의 시간적 레벨에 따라 각각의 개개의 면의 면 품질을 조정하는 유연성을 허용한다. 예를 들면, 더 높은 시간적 레벨에서, 면 QP 오프셋은 비 전면에 대해 더 큰 값으로 설정될 수도 있고, 반면 면 QP 오프셋은 전면에 대해 더 작은 값(예를 들면, 0)으로 설정될 수도 있다. 이것은, 현재의 픽쳐의 시간적 레벨에 관계없이, 전면이 상대적으로 높은 일정한 품질에서 항상 코딩되는 것을 보장할 수도 있고, 반면 더 높은 시간적 레벨 픽쳐의 다른 면은 비트를 절약하기 위해 양자화될 수도 있다.
마찬가지로, 지오메트리 회전 파라미터, 예를 들면, geometry_rotation_yaw, geometry_rotation_pitch, 및 geometry_rotation_roll은, VPS 또는 SPS 레벨 대신, PPS 레벨에서 정의 및 시그널링될 수도 있는데, 픽쳐 레벨에서 지오메트리 회전을 조정하는 더 큰 유연성을 허용하기 때문이다. 몇몇 실시형태에서, (예를 들면, 비디오 콘텐츠의 디렉터에 의해 선택되는) 인코딩되고 있는 콘텐츠에 대한 권장 뷰잉 방향(recommended viewing direction)이 선택되는데, 권장 뷰잉 방향은 비디오의 진행 동안 변경될 수도 있다. 이러한 실시형태에서, 지오메트리 회전 파라미터는 권장 뷰잉 방향에 따라 설정될 수도 있고 주목하는 오브젝트 또는 영역이 최고 품질로 코딩되는 면에 투영되도록 면 QP 오프셋 파라미터와 커플링될 수도 있다.
도 14a 및 도 14b는 프레임 패킹된 픽쳐에서의 면의 예시적인 대안적 배치를 예시한다. 도 14a 및 도 14b는, 예컨대 큐브맵 투영과 연계하여 사용될 수도 있는 여섯 개의 면의 배치를 각각 예시한다. 도 14a 및 14b에서의 면의 배치는, 본원에서 개시되는 실시형태를 사용하여 유저 명시 지오메트리로서 활용될 수도 있다.
본원에서 개시되는 예시적인 실시형태는, 무선 송수신 유닛(wireless transmit/receive unit; WTRU) 또는 다른 네트워크 엔티티와 같은, 하나 이상의 유선 및/또는 무선 네트워크 노드를 사용하여 구현된다.
도 15는 본원에서 설명되는 실시형태에서 인코더 또는 디코더로서 활용될 수도 있는 예시적인 WTRU(1502)의 시스템 다이어그램이다. 도 15에서 도시되는 바와 같이, WTRU(1502)는 프로세서(1518), 트랜스시버(1520)를 포함하는 통신 인터페이스(1519), 송신/수신 엘리먼트(1522), 스피커/마이크(1524), 키패드(1526), 디스플레이/터치패드(1528), 비착탈식 메모리(1530), 착탈식 메모리(1532), 전원(1534), 전지구 위치 결정 시스템(global positioning system; GPS) 칩셋(1536), 및 센서(1538)를 포함할 수도 있다. WTRU(1502)는 한 실시형태와 여전히 부합하면서 전술한 엘리먼트의 임의의 부조합을 포함할 수도 있다는 것이 인식될 것이다.
프로세서(1518)는 범용 프로세서, 특수 목적의 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 복수의 마이크로프로세서, DSP 코어와 관련하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 반도체(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신, 및 등등일 수도 있다. 프로세서(1518)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입력/출력 프로세싱, 및/또는 WTRU(1502)가 무선 환경에서 동작하는 것을 가능하게 하는 임의의 다른 기능성(functionality)을 수행할 수도 있다. 프로세서(1518)는, 송신/수신 엘리먼트(1522)에 커플링될 수도 있는 트랜스시버(1520)에 커플링될 수도 있다. 도 15가 프로세서(1518) 및 트랜스시버(1520)를 별개의 컴포넌트로서 묘사하지만, 프로세서(1518) 및 트랜스시버(1520)는 전자적 패키지 또는 칩에 함께 집적될 수도 있다는 것이 인식될 것이다.
송신/수신 엘리먼트(1522)는 무선 인터페이스(1516)를 통해 기지국으로 신호를 송신하도록, 또는 그 기지국으로부터 신호를 수신하도록 구성될 수도 있다. 예를 들면, 하나의 실시형태에서, 송신/수신 엘리먼트(1522)는 RF 신호를 송신하도록 및/또는 수신하도록 구성되는 안테나일 수도 있다. 다른 실시형태에서, 송신/수신 엘리먼트(1522)는, 예로서, IR, UV, 또는 가시광 신호를 송신 및/또는 수신하도록 구성되는 방출기(emitter)/검출기(detector)일 수도 있다. 여전히 다른 실시형태에서, 송신/수신 엘리먼트(1522)는 RF 및 광 신호 둘 모두를 송신 및 수신하도록 구성될 수도 있다. 송신/수신 엘리먼트(1522)는 무선 신호의 임의의 조합을 송신 및/또는 수신하도록 구성될 수도 있다는 것이 인식될 것이다.
또한, 비록 송신/수신 엘리먼트(1522)가 도 15에서는 단일의 엘리먼트로서 묘사되지만, WTRU(1502)는 임의의 수의 송신/수신 엘리먼트(1522)를 포함할 수도 있다. 더 구체적으로는, WTRU(1502)는 MIMO 기술을 활용할 수도 있다. 따라서, 하나의 실시형태에서, WTRU(1502)는, 무선 인터페이스(1516)를 통해 무선 신호를 송신 및 수신하기 위한 두 개 이상의 송신/수신 엘리먼트(1522)(예를 들면, 다수의 안테나)를 포함할 수도 있다.
트랜스시버(1520)는, 송신/수신 엘리먼트(1522)에 의해 송신될 신호를 변조하도록 그리고 송신/수신 엘리먼트(1522)에 의해 수신되는 신호를 복조하도록 구성될 수도 있다. 상기에서 언급되는 바와 같이, WTRU(1502)는 멀티 모드 성능을 가질 수도 있다. 따라서, 트랜스시버(1520)는, WTRU(1502)가, 예로서, UTRA 및 IEEE 802.11과 같은 다수의 RAT를 통해 통신하는 것을 가능하게 하기 위한 다수의 트랜스시버를 포함할 수도 있다.
WTRU(1502)의 프로세서(1518)는, 스피커/마이크(1524), 키패드(1526), 및/또는 디스플레이/터치패드(1528)(예를 들면, 액정 디스플레이(liquid crystal display; LCD) 디스플레이 유닛 또는 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이 유닛)에 커플링될 수도 있고, 그리고 이들로부터 유저 입력 데이터를 수신할 수도 있다. 프로세서(1518)는 유저 데이터를 스피커/마이크(1524), 키패드(1526), 및/또는 디스플레이/터치패드(1528)로 또한 출력할 수도 있다. 또한, 프로세서(1518)는, 비착탈식 메모리(1530) 및/또는 착탈식 메모리(1532)와 같은 임의의 타입의 적절한 메모리의 정보에 액세스할 수도 있고, 그리고 그 임의의 타입의 적절한 메모리에 데이터를 저장할 수도 있다. 비착탈식 메모리(1530)는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 하드디스크, 또는 임의의 다른 타입의 메모리 스토리지 디바이스를 포함할 수도 있다. 착탈식 메모리(1532)는 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 스틱, 시큐어 디지털(secure digital; SD) 메모리 카드, 및 등등을 포함할 수도 있다. 다른 실시형태에서, 프로세서(1518)는, WTRU(1502) 상에 물리적으로 위치되지 않는 메모리, 예컨대 서버 또는 가정용 컴퓨터(도시되지 않음) 상의 메모리의 정보에 액세스할 수도 있고, 그리고 그 메모리에 데이터를 저장할 수도 있다.
프로세서(1518)는 전원(1534)으로부터 전력을 수신할 수도 있고, WTRU(1502)의 다른 컴포넌트로 전력을 분배하도록 및/또는 그 전력을 제어하도록 구성될 수도 있다. 전원(1534)은 WTRU(1502)에 전력을 공급하기 위한 임의의 적절한 디바이스일 수도 있다. 예로서, 전원(1534)은 하나 이상의 드라이 셀 배터리(예를 들면, 니켈 카드뮴(NiCd), 니켈 아연(NiZn), 니켈 금속 수소(NiMH), 리튬 이온(Li ion), 및 등등), 솔라 셀, 연료 전지, 및 등등을 포함할 수도 있다.
프로세서(1518)는, WTRU(1502)의 현재 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성될 수도 있는 GPS 칩셋(1536)에 또한 커플링될 수도 있다. GPS 칩셋(1536)으로부터의 정보 외에, 또는 그 정보 대신, WTRU(1502)는 무선 인터페이스(1516)를 통해 기지국으로부터 위치 정보를 수신할 수도 있고 및/또는 두 개 이상의 근처의 기지국으로부터 수신되고 있는 신호의 타이밍에 기초하여 자신의 위치를 결정할 수도 있다. WTRU(1502)는 한 실시형태와 여전히 부합하면서 임의의 적절한 위치 결정 방법을 통해 위치 정보를 획득할 수도 있다는 것이 인식될 것이다.
프로세서(1518)는, 추가적인 피쳐, 기능성, 및/또는 유선 또는 무선 연결성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수도 있는 다른 주변장치(1538)에 추가로 커플링될 수도 있다. 예를 들면, 주변장치(1538)는 가속도계, 전자 콤파스, 위성 트랜스시버, (사진 및 비디오용의) 디지털 카메라, 범용 직렬 버스(universal serial bus; USB) 포트, 진동 디바이스, 텔레비전 트랜스시버, 핸즈프리 헤드셋, Bluetooth® 모듈, 주파수 변조(frequency modulated; FM) 무선 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 및 등등과 같은 센서를 포함할 수도 있다.
도 16은, 본 개시의 실시형태에서, 예를 들면, 인코더 또는 디코더로서 사용될 수도 있는 예시적인 네트워크 엔티티(1590)를 묘사한다. 도 16에서 묘사되는 바와 같이, 네트워크 엔티티(1590)는 버스, 네트워크, 또는 다른 통신 경로(1598)에 의해 통신 가능하게 모두 연결되는, 통신 인터페이스(1592), 프로세서(1594), 및 비일시적인 데이터 스토리지(1596)를 포함한다.
통신 인터페이스(1592)는 하나 이상의 유선 통신 인터페이스 및/또는 하나 이상의 무선 통신 인터페이스를 포함할 수도 있다. 유선 통신과 관련하여, 통신 인터페이스(1592)는, 예로서, 이더넷 인터페이스와 같은 하나 이상의 인터페이스를 포함할 수도 있다. 무선 통신에 관하여, 통신 인터페이스(1592)는, 하나 이상의 안테나, 하나 이상의 타입의 무선(예를 들면, LTE) 통신을 위해 설계되고 구성되는 하나 이상의 트랜스시버/칩셋과 같은 컴포넌트, 및/또는 관련 기술분야에서 숙련된 자에 의해 적절한 것으로 간주되는 임의의 다른 컴포넌트를 포함할 수도 있다. 또한, 무선 통신과 관련하여, 통신 인터페이스(1592)는, 무선 통신(예를 들면, LTE 통신, 와이파이 통신, 및 등등)의 네트워크 측 - 클라이언트 측과는 반대 - 상에서 작용하는 데 적절한 구성 및 스케일로 구비될 수도 있다. 따라서, 통신 인터페이스(1592)는 다수의 이동국(mobile station), UE, 또는 커버리지 영역 내의 다른 액세스 단말을 서비스하기 위한 적절한 기기 및 회로부(어쩌면 다수의 트랜스시버를 포함함)를 포함할 수도 있다.
프로세서(1594)는, 관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 임의의 타입의 하나 이상의 프로세서를 포함할 수도 있는데, 몇몇 예는 범용 마이크로프로세서 및 전용 DSP를 포함한다.
관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 임의의 하나 이상 타입의 비일시적 데이터 스토리지가 사용될 수도 있기 때문에, 데이터 스토리지(1596)는 임의의 비일시적 컴퓨터 판독 가능 매체 또는 이러한 매체의 조합의 형태를 취할 수도 있는데, 몇몇 예는, 단지 몇몇을 거론하자면, 플래시 메모리, 리드 온리 메모리(ROM), 및 랜덤 액세스 메모리(RAM)를 포함한다. 도 16에서 묘사되는 바와 같이, 데이터 스토리지(1596)는 본원에서 설명되는 다양한 네트워크 엔티티 기능의 다양한 조합을 수행하기 위해 프로세서(1594)에 의해 실행 가능한 프로그램 명령어(1597)를 포함한다.
설명된 실시형태 중 하나 이상의 실시형태의 다양한 하드웨어 엘리먼트는, 각각의 모듈과 관련하여 본원에서 설명되는 다양한 기능을 수행하는(carry out)(즉, 수행하는(perform), 실행하는, 및 등등을 하는)하는 "모듈"로서 지칭된다는 것을 유의한다. 본원에서 사용될 때, 모듈은, 주어진 구현을 위한 관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 하드웨어(예를 들면, 하나 이상의 프로세서, 하나 이상의 마이크로프로세서, 하나 이상의 마이크로컨트롤러, 하나 이상의 마이크로칩, 하나 이상의 주문형 반도체(ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이(FPGA), 하나 이상의 메모리 디바이스)를 포함한다. 각각의 설명된 모듈은 또한, 각각의 모듈에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행하도록 실행 가능한 명령어를 포함할 수도 있고, 그들 명령어는 하드웨어(즉, 하드웨어에 내장되는) 명령어, 펌웨어 명령어, 소프트웨어 명령어, 및/또는 등등의 형태를 취할 수 있거나 또는 그들을 포함할 수 있고, 예컨대 RAM, ROM, 등등으로 일반적으로 칭해지는 임의의 적절한 비일시적 컴퓨터 판독 가능 매체 또는 매체들에 저장될 수도 있다는 것을 유의한다.
비록 피쳐 및 엘리먼트가 특정한 조합으로 상기에서 설명되었지만, 기술 분야에서 통상의 지식을 가진 자라면, 각각의 피쳐 또는 엘리먼트는 단독으로 사용될 수 있거나 또는 다른 피쳐 및 엘리먼트와의 임의의 조합으로 사용될 수 있다는 것을 인식할 것이다. 또한, 본원에서 설명되는 방법은, 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독 가능한 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독 가능 저장 매체의 예는, 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 광자기 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 그러나 이들로 제한되지는 않는다. 소프트웨어와 관련하는 프로세서는, WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜스시버를 구현하기 위해 사용될 수도 있다.

Claims (20)

  1. 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법으로서,
    2D 평면 비디오를 인코딩하는 비트스트림 - 상기 비트스트림은 투영 지오메트리 포맷(projection geometry format)을 식별하는 파라미터를 포함함 - 을 수신하는 단계; 및
    상기 식별된 투영 지오메트리 포맷을 사용하여 상기 2D 평면 비디오를 360도 비디오에 매핑하는 단계
    를 포함하는, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  2. 제1항에 있어서,
    상기 비트스트림은, 상기 비트스트림이 360도 비디오를 인코딩하는지의 여부를 나타내는 파라미터를 더 포함하고,
    상기 360도 비디오로의 상기 2D 평면 비디오의 매핑은, 상기 비트스트림이 360도 비디오를 표현한다는 것을 상기 파라미터가 나타내는 경우에만 수행되는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  3. 제1항에 있어서,
    상기 투영 포맷은 투영 지오메트리 타입을 포함하고,
    상기 투영 포맷을 식별하는 파라미터는 상기 투영 지오메트리 타입을 식별하는 파라미터를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  4. 제3항에 있어서,
    상기 투영 지오메트리 타입을 식별하는 파라미터는 상기 식별된 투영 지오메트리 타입의 인덱스를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  5. 제3항에 있어서,
    상기 투영 지오메트리 타입을 식별하는 파라미터는, 등장방형(equirectangular), 큐브맵(cubemap), 등적(equal-area), 8면체, 20면체, 원통, 및 유저 명시 다각형 중 하나 이상으로부터 선택되는 지오메트리 타입을 식별하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  6. 제3항에 있어서,
    상기 식별된 투영 지오메트리 타입은 복수의 면(face)을 구비하고,
    상기 투영 지오메트리 타입을 식별하는 파라미터는 면의 수의 표시(indication)를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  7. 제3항에 있어서,
    상기 식별된 투영 지오메트리 타입은 복수의 면을 구비하고,
    상기 투영 지오메트리 타입을 식별하는 파라미터는, 상기 2D 평면 비디오에서의 상기 면의 배치를 식별하는 프레임 패킹 파라미터(frame packing parameter)를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  8. 제1항에 있어서,
    상기 식별된 투영 포맷은 복수의 면을 구비하고,
    상기 비트스트림은 상기 2D 평면 비디오에서의 상기 면의 품질 레벨을 식별하는 파라미터를 더 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  9. 제1항에 있어서,
    상기 투영 지오메트리 포맷은 투영 지오메트리의 지오메트리 방위를 포함하고,
    상기 투영 지오메트리 포맷을 식별하는 파라미터는 상기 지오메트리 방위를 식별하는 파라미터를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  10. 제9항에 있어서,
    상기 지오메트리 방위를 식별하는 파라미터는 요(yaw) 파라미터, 피치(pitch) 파라미터, 및 롤(roll) 파라미터 중 적어도 하나를 포함하는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  11. 제9항에 있어서,
    상기 지오메트리 방위를 식별하는 파라미터는 등장방형 투영의 상기 지오메트리 방위를 식별하는 파라미터를 포함하고,
    360도 비디오로의 상기 2D 평면 비디오의 매핑은 상기 식별된 지오메트리 방위를 갖는 등장방형 투영을 사용하여 수행되는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 투영 포맷을 식별하는 파라미터는 상기 비트스트림의 적어도 하나의 비디오 파라미터 세트에서 수신되는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  13. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 투영 포맷을 식별하는 파라미터는 상기 비트스트림의 적어도 하나의 시퀀스 파라미터 세트에서 수신되는 것인, 비트스트림에서 인코딩된 360도 비디오를 디코딩하는 방법.
  14. 360도 비디오를 인코딩하는 방법으로서,
    투영 지오메트리 포맷을 선택하는 단계;
    상기 선택된 투영 지오메트리 포맷을 사용하여 상기 360도 비디오를 2D 평면 비디오에 매핑하는 단계;
    상기 2D 평면 비디오를 비트스트림에 인코딩하는 단계; 및
    상기 비트스트림에서, 상기 투영 지오메트리 포맷을 식별하는 파라미터를 시그널링하는 단계
    를 포함하는, 360도 비디오를 인코딩하는 방법.
  15. 제14항에 있어서,
    상기 비트스트림이 360도 비디오를 인코딩한다는 것을 나타내는 파라미터를 상기 비트스트림에서 시그널링하는 단계
    를 더 포함하는, 360도 비디오를 인코딩하는 방법.
  16. 제14항에 있어서,
    상기 투영 지오메트리 포맷을 선택하는 단계는, 투영 지오메트리의 지오메트리 방위를 선택하는 단계를 포함하고,
    상기 비트스트림에서 시그널링되는 파라미터는 상기 선택된 지오메트리 방위를 식별하는 파라미터를 포함하는 것인, 360도 비디오를 인코딩하는 방법.
  17. 제16항에 있어서,
    상기 투영 지오메트리 방위를 식별하는 파라미터는 등장방형 투영의 상기 지오메트리 방위를 식별하는 파라미터를 포함하고,
    상기 2D 평면 비디오로의 상기 360도 비디오의 매핑은 상기 식별된 지오메트리 방위를 갖는 등장방형 투영을 사용하여 수행되는 것인, 360도 비디오를 인코딩하는 방법.
  18. 제16항에 있어서,
    상기 투영 지오메트리는 복수의 면을 포함하고,
    상기 투영 지오메트리의 상기 지오메트리 방위는, 상기 복수의 면 중 하나 내에 속하는 상기 360도 비디오 내에서 주목하는 선택된 영역의 부분을 실질적으로 최대화하도록 선택되는 것인, 360도 비디오를 인코딩하는 방법.
  19. 제16항에 있어서,
    상기 투영 지오메트리는, 적어도 하나의 다른 면보다 더 높은 품질 레벨로 인코딩되는 적어도 하나의 면을 포함하는 복수의 면을 포함하고,
    상기 투영 지오메트리의 상기 지오메트리 방위는, 상기 더 높은 품질 레벨을 갖는 상기 면 내에 속하는 상기 360도 비디오 내에서 주목하는 선택된 영역의 부분을 실질적으로 최대화하도록 선택되는 것인, 360도 비디오를 인코딩하는 방법.
  20. 제14항에 있어서,
    상기 투영 포맷을 선택하는 단계는 지오메트리 타입을 선택하는 단계를 포함하고, 상기 비트스트림에서 시그널링되는 파라미터는 상기 선택된 지오메트리 타입을 식별하는 파라미터를 포함하는 것인, 360도 비디오를 인코딩하는 방법.
KR1020197006342A 2016-09-02 2017-08-30 360도 비디오 정보의 시그널링을 위한 방법 및 시스템 KR20190054060A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662383367P 2016-09-02 2016-09-02
US62/383,367 2016-09-02
US201662407337P 2016-10-12 2016-10-12
US62/407,337 2016-10-12
PCT/US2017/049495 WO2018045108A1 (en) 2016-09-02 2017-08-30 Method and system for signaling of 360-degree video information

Publications (1)

Publication Number Publication Date
KR20190054060A true KR20190054060A (ko) 2019-05-21

Family

ID=59856633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197006342A KR20190054060A (ko) 2016-09-02 2017-08-30 360도 비디오 정보의 시그널링을 위한 방법 및 시스템

Country Status (7)

Country Link
US (2) US11284089B2 (ko)
EP (1) EP3507985A1 (ko)
JP (1) JP2019530311A (ko)
KR (1) KR20190054060A (ko)
CN (2) CN117201817A (ko)
TW (1) TW201813372A (ko)
WO (1) WO2018045108A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018049221A1 (en) 2016-09-09 2018-03-15 Vid Scale, Inc. Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
KR20180029315A (ko) * 2016-09-12 2018-03-21 삼성전자주식회사 가상 현실 컨텐트의 영상을 투영하기 위한 영상 처리 방법 및 장치
KR20180042098A (ko) * 2016-10-17 2018-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
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
EP3554081A4 (en) * 2016-12-27 2019-12-04 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR 360-DEGREE IMAGE ENCODING AND DECODING
WO2018123645A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 生成装置、識別情報生成方法、再生装置および画像再生方法
WO2018128247A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
US20180192074A1 (en) * 2017-01-03 2018-07-05 Mediatek Inc. Video processing method for processing projection-based frame with 360-degree content represented by projection faces packed in 360-degree virtual reality projection layout
US10742999B2 (en) * 2017-01-06 2020-08-11 Mediatek Inc. Methods and apparatus for signaling viewports and regions of interest
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
CN116781932A (zh) * 2017-03-13 2023-09-19 韩国电子通信研究院 基于非典型块的运动预测和补偿的方法及其装置
KR102277267B1 (ko) * 2017-03-29 2021-07-14 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190045212A1 (en) * 2017-08-07 2019-02-07 The Regents Of The University Of California METHOD AND APPARATUS FOR PREDICTIVE CODING OF 360º VIDEO
EP3457695A1 (en) * 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for motion vector predictor adaptation for omnidirectional video
KR20200064989A (ko) 2017-09-20 2020-06-08 브이아이디 스케일, 인크. 360도 비디오 코딩에서의 면 불연속 처리
FR3072850B1 (fr) * 2017-10-19 2021-06-04 Tdf Procedes de codage et de decodage d'un flux de donnees representatif d'une video omnidirectionnelle
US10764605B2 (en) * 2018-02-14 2020-09-01 Qualcomm Incorporated Intra prediction for 360-degree video
US11212438B2 (en) * 2018-02-14 2021-12-28 Qualcomm Incorporated Loop filter padding for 360-degree video coding
CN108307166A (zh) * 2018-03-09 2018-07-20 嘀拍信息科技南通有限公司 一种新的全景视频传输投影模型
US11317114B2 (en) * 2018-03-19 2022-04-26 Sony Corporation Image processing apparatus and image processing method to increase encoding efficiency of two-dimensional image
CN110349226B (zh) * 2018-04-01 2021-06-01 浙江大学 一种全景图像处理方法及装置
WO2019194544A1 (en) * 2018-04-02 2019-10-10 Samsung Electronics Co., Ltd. Method and system for handling 360 degree image content
WO2019203456A1 (ko) * 2018-04-15 2019-10-24 엘지전자 주식회사 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US20190370932A1 (en) * 2018-06-04 2019-12-05 Simon Romanus Systems And Methods For Transforming Media Artifacts Into Virtual, Augmented and Mixed Reality Experiences
GB2585760B (en) * 2018-06-06 2022-04-20 Canon Kk Method, device, and computer program for transmitting media content
CN112313958B (zh) 2018-06-29 2024-05-03 华为技术有限公司 用于编码和解码视频信号的装置和方法
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
KR20210030276A (ko) * 2018-07-11 2021-03-17 소니 주식회사 화상 처리 장치 및 방법
US20220038737A1 (en) 2018-09-14 2022-02-03 Vid Scale, Inc. Methods and apparatus for flexible grid regions
WO2020058951A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Utilization of non-sub block spatial-temporal motion vector prediction in inter mode
US10904528B2 (en) * 2018-09-28 2021-01-26 Tencent America LLC Techniques for QP selection for 360 image and video coding
US10638146B2 (en) * 2018-10-01 2020-04-28 Tencent America LLC Techniques for QP coding for 360 image and video coding
WO2020094075A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Multiple merge lists and orders for inter prediction with geometric partitioning
WO2020094049A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Extensions of inter prediction with geometric partitioning
US10491857B1 (en) 2018-11-07 2019-11-26 Nanning Fugui Precision Industrial Co., Ltd. Asymmetric video conferencing system and method
WO2020103935A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Blending method for inter prediction with geometry partition
WO2020034509A1 (en) 2018-12-14 2020-02-20 Zte Corporation Immersive video bitstream processing
WO2020125803A1 (en) 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Intra prediction using polynomial model
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
JP7416820B2 (ja) * 2019-03-08 2024-01-17 中興通訊股▲ふん▼有限公司 ビデオコーディングにおけるヌルタイルコーディング
JP7273193B2 (ja) * 2019-05-12 2023-05-12 北京字節跳動網絡技術有限公司 参照ピクチャ再サンプリングのための信号通知
US11070848B2 (en) * 2019-06-24 2021-07-20 Tencent America LLC Method for efficient signaling of virtual boundary for loop filtering control
US11190768B2 (en) 2019-07-02 2021-11-30 Mediatek Inc. Video encoding method with syntax element signaling of packing of projection faces derived from cube-based projection and associated video decoding method and apparatus
US11190801B2 (en) * 2019-07-02 2021-11-30 Mediatek Inc. Video encoding method with syntax element signaling of mapping function employed by cube-based projection and associated video decoding method
US11659206B2 (en) 2019-07-02 2023-05-23 Mediatek Inc. Video encoding method with syntax element signaling of guard band configuration of projection-based frame and associated video decoding method and apparatus
CN110636294B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频解码方法及装置,视频编码方法及装置
WO2021068920A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Use of non-rectangular partitions in video coding
US11095912B2 (en) * 2019-10-28 2021-08-17 Mediatek Inc. Video decoding method for decoding part of bitstream to generate projection-based frame with constrained guard band size, constrained projection face size, and/or constrained picture size
EP4049451A4 (en) 2019-11-30 2022-12-28 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFIED INTERIM PREDICTION WITH GEOMETRIC BREAKDOWN
WO2021129694A1 (en) 2019-12-24 2021-07-01 Beijing Bytedance Network Technology Co., Ltd. High level syntax for inter prediction with geometric partitioning

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4403421B2 (ja) * 2006-08-17 2010-01-27 ソニー株式会社 画像処理装置及び画像処理方法
EP2389764A2 (en) 2009-01-26 2011-11-30 Thomson Licensing Frame packing for video coding
JP2015156523A (ja) 2012-06-06 2015-08-27 ソニー株式会社 画像処理装置、画像処理方法、プログラム
KR20140122200A (ko) 2013-04-05 2014-10-17 삼성전자주식회사 멀티 레이어 비디오의 복호화 방법 및 장치, 멀티 레이어 비디오의 부호화 방법 및 장치
WO2015151791A1 (ja) * 2014-03-31 2015-10-08 ソニー株式会社 画像復号装置および方法
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
CN112218074A (zh) 2014-10-20 2021-01-12 谷歌有限责任公司 连续预测域
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
CN105681805B (zh) * 2016-01-19 2019-05-21 北京大学深圳研究生院 视频编码、解码方法及其帧间预测方法和装置
FI20165256A (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
CN105812759A (zh) * 2016-04-15 2016-07-27 杭州当虹科技有限公司 一种360度全景视频的平面投射方法及编码方法
CN109076255B (zh) 2016-04-26 2021-10-08 Lg电子株式会社 发送、接收360度视频的方法及设备
US10249019B2 (en) * 2016-05-06 2019-04-02 Mediatek Inc. Method and apparatus for mapping omnidirectional image to a layout output format
US11019257B2 (en) * 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
WO2017205648A1 (en) 2016-05-26 2017-11-30 Vid Scale, Inc. Geometric conversion for 360-degree video coding
US10264282B2 (en) 2016-06-27 2019-04-16 Mediatek Inc. Method and apparatus of inter coding for VR video using virtual reference frames
US10887621B2 (en) 2016-07-08 2021-01-05 Vid Scale, Inc. 360-degree video coding using geometry projection
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus

Also Published As

Publication number Publication date
JP2019530311A (ja) 2019-10-17
US20220174289A1 (en) 2022-06-02
US20190200023A1 (en) 2019-06-27
CN109644279B (zh) 2023-09-22
CN109644279A (zh) 2019-04-16
US11284089B2 (en) 2022-03-22
CN117201817A (zh) 2023-12-08
US11876981B2 (en) 2024-01-16
TW201813372A (zh) 2018-04-01
WO2018045108A1 (en) 2018-03-08
EP3507985A1 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
US11876981B2 (en) Method and system for signaling of 360-degree video information
US11388438B2 (en) 360-degree video coding using geometry projection
US11490065B2 (en) Method and apparatus for processing 360-degree image
CN111615715B (zh) 编码/解码体积视频的方法、装置和流
US11798166B2 (en) Sphere pole projections for efficient compression of 360-degree video
CN108111851B (zh) 一种去块滤波方法及终端
JP7271672B2 (ja) 没入型ビデオビットストリーム処理
WO2018017599A1 (en) Quality evaluation system and method for 360-degree video