KR102209192B1 - 다시점 360도 영상 처리 및 전송 - Google Patents

다시점 360도 영상 처리 및 전송 Download PDF

Info

Publication number
KR102209192B1
KR102209192B1 KR1020190146803A KR20190146803A KR102209192B1 KR 102209192 B1 KR102209192 B1 KR 102209192B1 KR 1020190146803 A KR1020190146803 A KR 1020190146803A KR 20190146803 A KR20190146803 A KR 20190146803A KR 102209192 B1 KR102209192 B1 KR 102209192B1
Authority
KR
South Korea
Prior art keywords
image
degree
region
images
information
Prior art date
Application number
KR1020190146803A
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 가천대학교 산학협력단
Priority to KR1020190146803A priority Critical patent/KR102209192B1/ko
Application granted granted Critical
Publication of KR102209192B1 publication Critical patent/KR102209192B1/ko

Links

Images

Classifications

    • 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
    • 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/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • 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/194Transmission of image signals

Landscapes

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

Abstract

본 명세서에 개시된 영상 전송 장치의 동작 방법은 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하는 동작, 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하는 동작, 및 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완하는 동작을 포함할 수 있다.

Description

다시점 360도 영상 처리 및 전송{MULTIVIEW 360 DEGREE VIDEO PROCESSING AND TRANSMISSION}
본 명세서는 3DoF+ 또는 6DoF 몰입형 미디어 구현을 위한 다시점 360도 영상 처리 및 전송 기술에 관한 것이다.
최근 가상 현실 기술 및 장비의 발달과 함께 머리장착형 영상장치(Head-Mounted Display; HMD)와 같은 착용 가능한 기기들이 선보이고 있다. 머리 장착형 영상장치는 눈앞에서 재생되고 구 형태의 360도 화면을 재생해야 하기 때문에 UHD(Ultra High-Definition)급 이상의 초 고화질 영상이 요구된다.
초 고화질 영상의 전송에는 높은 대역폭이 요구되기 때문에 대역폭을 낮추기 위한 기술 중의 하나로 비디오 표준화(MPEG, JTC-VC, JVET)미팅에서는 사용자의 뷰포트에 해당하는 영상만 고화질로 전송하고 나머지 영역을 저화질로 전송하는 방안이 논의되고 있다.
실감형 가상 현실 미디어를 위한 가상현실 시스템은 머리 장착형 영상 장치에서 사용자 시점에 대응하는 가상 영상을 생성하기 위해 다수의 360도 영상들을 전송 받아 해당 시점에 렌더링한다.
대한민국 등록특허공보 제10-1976288호 (2019.04.30.)
단일 시점 영상만을 제공하여 제한적인 자유도를 보장하는 기존 가상 현실 서비스의 단점을 극복하기 위해 여러 시점에서 취득된 영상의 필요성이 대두되고 있다. 이를 위해 여러 위치에서 동시에 취득된 영상들을 이용하여 사용자의 현재 시점에 해당하는 가상 영상을 클라이언트 장치로 전송함으로써 3DoF+와 6DoF를 위한 다시점 비디오 코딩 기술에 대한 필요성이 증가하고 있다.
가상 현실 공간 내에서 사용자 시점이 변경되었을 때, 사용자 클라이언트 장치는 변경된 사용자 시점에 해당하는 영상의 데이터 패킷을 서버 장치에 전송해줄 것을 요청한다. 이 때, 영상 서버 장치는 미리 생성되어 저장되어 있는 다양한 사용자 시점에 대한 360도 영상 중에서 요청된 사용자 시점에 대응하는 다수의 360도 영상들을 사용자 클라이언트 장치로 전송하고, 사용자 클라이언트 장치는 전송 받은 해당 시점의 360도 영상을 렌더링하여 사용자에게 출력한다. 하지만, 사용자의 시점이 변할 때마다 고화질의 360도 영상을 전송 받아 렌더링 하는 것은 전송 대역폭이 낭비되는 문제가 있고, 또한 전송 받은 360도 영상을 처리하는 것도 클라이언트 장치의 영상 처리 부하가 커지는 문제점이 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 명세서는 영상 전송 장치의 동작 방법을 제시한다. 상기 영상 전송 장치의 동작 방법은 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하는 동작, 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하는 동작, 및 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완하는 동작을 포함할 수 있다.
상기 영상 전송 장치의 동작 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 보완하는 동작은, 상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크(binary mask)로 나타내는 동작, 상기 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우는 동작, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채우는 동작을 포함할 수 있다.
상기 영상 전송 장치의 동작 방법은, 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구하는 동작, 상기 이진 마스크들을 미리 결정된 프레임 간격 단위로 중첩하는 동작, 상기 중첩된 이진 마스크에서 영역 확장(region growing)을 실행하여 영상 정보가 존재하는 영역을 추출하는 동작, 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성하는 동작, 및 상기 병합 영상들에 대한 데이터를 전송하는 동작을 더 포함할 수 있다.
상기 기준 영상을 생성하는 동작은 상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상으로 생성할 수 있다.
상기 왜곡 영역은 상기 기준 영상 및 상기 복수의 360도 영상들 간에 영상이 중복되지 않는 영역일 수 있다.
상기 추출 영역을 병합하여 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수의 병합 영상들을 생성하는 동작은, 상기 추출 영역들 중 적어도 일부를 병합하여 영상을 생성하되, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치할 수 있다.
상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성하는 동작은, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나, 상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는 상기 추출 영역들 중 적어도 일부를 회전하여 병합하는 동작일 수 있다.
한편, 본 명세서는 영상 전송 장치를 제시한다. 상기 영상 전송 장치는 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하고, 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하고, 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완한 영상을 생성하는 제어부, 상기 360도 영상, 상기 기준 영상 및 상기 왜곡 영역이 보완된 영상의 데이터를 인코딩하는 인코더, 및 영상 재생 장치로 상기 영상 데이터 및 상기 영상 데이터에 대한 영상 정보를 송신하는 통신부를 포함할 수 있다.
상기 영상 전송 장치 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 제어부는, 상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크(binary mask)로 나타내고, 상기 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채워 왜곡 영역이 보완된 영상을 생성할 수 있다.
또한, 상기 제어부는, 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구하고, 상기 이진 마스크들을 미리 결정된 프레임 간격 단위로 중첩하고, 상기 중첩된 이진 마스크에서 영역 확장(region growing)을 실행하여 영상 정보가 존재하는 영역을 추출하고, 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성할 수 있다.
또한, 상기 제어부는, 상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상으로 생성할 수 있다.
또한, 상기 제어부는, 상기 추출 영역들 중 적어도 일부를 병합하여 새로운 영상을 생성하되, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성할 수 있다.
또한, 상기 제어부는, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나, 상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는 상기 추출 영역들 중 적어도 일부를 회전하여 병합할 수 있다.
한편, 본 명세서는 영상 재생 장치의 동작 방법을 제시한다. 상기 영상 재생 장치의 동작 방법은, 가상 현실 공간에서 사용자 시점을 감지하는 동작, 영상 전송 장치로부터 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 상기 감지된 사용자 시점에 해당하는 360도 영상의 영상 데이터의 전송을 요청하는 동작, 상기 영상 전송 장치로부터 상기 사용자 시점에 해당하는 기준 영상 및 중복성이 제거된 영상에 대한 영상 데이터를 수신하는 동작, 및 상기 영상 데이터를 기초로 상기 기준 영상 및 중복성이 제거된 영상을 렌더링하여 출력하도록 제어하는 동작을 포함하되, 상기 기준 영상은 상기 가상 현실 공간에서 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상으로 생성되고, 상기 중복성이 제거된 영상은 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑한 결과가 미리 설정된 기준 이하인 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 상기 적어도 하나의 360도 영상의 데이터로 보완하여 생성될 수 있다.
상기 영상 재생 장치의 동작 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 중복성이 제거된 영상은, 상기 왜곡 영역을 나타낸 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채워져 생성된 영상일 수 있다.
또한, 상기 중복성이 제거된 영상은, 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 이진 마스크들이 미리 결정된 프레임 간격 단위로 중첩되고, 영역 확장(region growing)으로 추출된 상기 중첩된 이진 마스크에서 영상 정보가 존재하는 영역을 병합하여 생성된 병합 영상이고, 상기 병합 영상의 수는 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작을 수 있다.
상기 병합 영상은, 상기 추출 영역들 중 적어도 일부가 병합되어 생성되며, 상기 추출 영역들은 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치될 수 있다.
상기 영상 데이터는, 상기 병합 영상의 개수 정보, 상기 병합 영상에서 상기 추출 영역에 대한 개수 정보, 크기 정보 및 배치 정보, 및 상기 병합 영상에서 상기 추출 영역 중 적어도 일부에 대한 회전 정보를 포함할 수 있다.
한편, 본 명세서는 컴퓨팅 장치에서 다음의 동작들을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 제시한다. 상기 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에서, 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하는 동작, 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하는 동작, 및 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완하는 동작을 실행시킬 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 사용자 움직임 추적이 가능한 머리 장착형 영상장치를 통한 다수의 360도 영상들을 전송할 때, 다시점의 영상들 사이의 중복성을 제거하여 데이터 전송량을 줄일 수 있으므로, 고화질의 360도 영상 데이터 전송에 대한 전송 대역폭을 낮추고 사용자의 움직임에 대한 대응을 신속하게 할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 영상 전송 장치가 다양한 사용자 시점에 해당하는 원본 360도 영상을 모두 전송할 필요가 없어서 통신회선의 대역폭을 확보할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 영상 재생 장치가 다양한 사용자 시점에 해당하는 360도 영상을 렌더링하는 데이터의 양을 줄일 수 있어서 영상 재생 장치의 처리 부하를 저감할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 영상 재생 장치가 다양한 사용자 시점에 해당하는 360도 영상을 렌더링하는 데이터의 양을 줄일 수 있어서 영상 재생 장치에 요구되는 디코더의 수를 저감할 수 있는 효과가 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 영상 전송 장치 및 영상 재생 장치를 포함하는 예시적인 360도 영상 컨텐츠 전송 시스템을 도시한다.
도 2 및 도 3은 영상 재생 장치의 일 실시 예다.
도 4는 영상 재생 장치의 예시적인 블록 다이어그램이다.
도 5는 영상 전송 장치의 예시적인 블록 다이어그램이다.
도 6은 영상 전송 장치의 제어부의 예시적인 블록 다이어그램이다.
도 7은 서로 다른 시점의 360도 영상 간의 중복성 제거 방법의 개념을 설명한 도면이다.
도 8은 영상 처리 부하를 줄이기 위하여 중복성이 제거된 영상을 이용한 영역 추출 및 병합 방법의 개념을 설명한 도면이다.
도 9는 도 7 및 8의 영상 처리 방법에 대한 흐름도이다.
도 10은 영상 재생 장치의 360도 영상 컨텐츠의 재생 방법을 나타내는 흐름도이다.
도 11는 영상 전송 장치의 360도 영상 컨텐츠의 전송 방법을 나타내는 흐름도이다.
도 12는 360도 영상 컨텐츠 데이터의 시점 정보와 영상 정보를 전달하는 신호 체계의 실시 예이다.
도 13는 중복성 제거 및 병합에 대한 구문 의미론의 일 실시 예이다.
도 14는 XML 형태로 영상 병합 정보를 표현한 일 실시 예이다.
본 명세서에 개시된 기술은 네트워크 기반의 360도 영상 컨텐츠 전송 장치 및 재생 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
본 명세서는 3DoF+ 또는 6DoF에 대응하는 사용자 시점 기반 비디오 압축 및 전송 기술을 제시한다. 제시하는 기술은 와핑 기반의 복수의 뷰 간의 중복성 제거 기법과 영역 확장 기반 잔여 뷰 병합 기법으로 설명된다.
도 1은 영상 전송 장치 및 영상 재생 장치를 포함하는 예시적인 360도 영상 컨텐츠 전송 시스템을 도시한다.
360도 영상 컨텐츠 전송 시스템(100)은 360도 영상을 생성하는 360도 영상 생성 장치(110), 상기 입력된 360도 영상을 인코딩하여 전송하는 영상 전송 장치(120)(인코딩은 별도의 장치에서 수행될 수도 있음), 및 상기 전송된 360도 영상을 디코딩하여 사용자에게 출력하는 하나 이상의 영상 재생 장치(130)를 포함하도록 구성될 수 있다.
도 1은 360도 영상 생성 장치(110), 영상 전송 장치(120), 및 하나 이상의 영상 재생 장치(130)가 포함된 360도 영상 컨텐츠 전송 시스템(100)을 도시한다. 상기 360도 영상 컨텐츠 전송 시스템(100)은 가상 현실 영상 제공 시스템, 게임 영상 제공 시스템 등으로 불릴 수 있다. 도 1에 도시된 각 구성요소들의 수는 예시적인 것일 뿐 이에 제한되지 아니한다.
상기 360도 영상 생성 장치(110)는 적어도 하나 이상의 카메라 모듈을 포함하고 있으며, 자신이 위치하고 있는 공간에 대한 영상을 촬영함으로써 공간 영상을 생성할 수 있다.
또한, 상기 360도 영상 생성 장치(110)는 컴퓨터 그래픽스를 이용하여 가상 공간에 대한 360도 영상을 생성할 수 있다.
상기 영상 전송 장치(120)는 상기 360도 영상 생성 장치(110)에서 생성되어 입력된 영상을 스티칭(Image stitching), 프로젝션(Projection), 맵핑(Mapping), 팩킹(Packing)하여 360도 영상을 생성하고, 상기 생성된 360도 영상을 원하는 품질의 비디오 데이터로 조절한 뒤 인코딩(Encoding; 부호화)할 수 있다.
또한, 영상 전송 장치(120)는 상기 인코딩된 360도 영상에 대한 비디오 데이터와 시그널링(Signaling) 데이터를 포함하는 비트스트림 데이터를 네트워크(통신망)을 통해서 영상 재생 장치(130)로 전송할 수 있다.
상기 영상 재생 장치(130)는 수신된 비트스트림 데이터를 디코딩(Decoding; 복호화)하여 상기 영상 재생 장치(130)를 착용한 사용자에게 360도 영상을 출력할 수 있다. 상기 영상 재생 장치(130)는 머리장착형 영상장치(Head-Mounted Display; HMD)와 같은 근안 디스플레이(Near-eye display) 장치일 수 있다.
한편, 360도 영상 생성 장치(110)는 컴퓨터 시스템으로 구성되어 컴퓨터 그래픽으로 구현된 가상의 360도 공간에 대한 영상을 생성할 수도 있다. 또한, 상기 360도 영상 생성 장치(110)는 가상 현실 게임 등의 360도 가상 현실 콘텐츠의 공급자일 수 있다.
상기 360도 영상 생성 장치(110)는 영상 전송 장치(120)에 통합된 형태로 구현될 수도 있다.
영상 재생 장치(130)는 해당 영상 재생 장치(130)를 사용하는 사용자로부터 사용자 데이터를 획득할 수 있다. 사용자 데이터는 사용자의 영상 데이터, 음성 데이터, 뷰포트 데이터(시점 데이터 또는 시선 데이터), 관심 영역 데이터 및 부가 데이터를 포함할 수 있다.
일 예로서, 영상 재생 장치(130)는 사용자의 영상 데이터를 획득하는 2D/3D 카메라 및 Immersive 카메라(즉, 몰입형 영상 촬영 카메라) 중에서 적어도 하나를 포함할 수 있다. 2D/3D 카메라는 180도 이하의 시야각을 가지는 영상을 촬영할 수 있다. Immersive 카메라는 360도 이하의 시야각을 가지는 영상을 촬영할 수 있다.
예를 들어, 영상 재생 장치(130)는 제1 장소에 위치한 제1 사용자의 사용자 데이터를 획득하는 제1 영상 재생 장치(131), 제2 장소에 위치한 제2 사용자의 사용자 데이터를 획득하는 제2 영상 재생 장치(132), 및 제3 장소에 위치한 제3 사용자의 사용자 데이터를 획득하는 제3 영상 재생 장치(133) 중에서 적어도 하나를 포함할 수 있다.
각각의 영상 재생 장치(130)는 획득한 사용자 데이터를 네트워크를 통하여 영상 전송 장치(120)로 전송할 수 있다.
영상 전송 장치(120)는 영상 재생 장치(130)로부터 적어도 하나의 사용자 데이터를 수신할 수 있다. 영상 전송 장치(120)는 수신한 사용자 데이터를 기초로 가상 공간에 대한 전체 영상을 생성할 수 있다. 상기 전체 영상은 가상 공간 내에서 360도 방향의 영상을 제공하는 Immersive 영상을 나타낼 수 있다. 영상 전송 장치(120)는 사용자 데이터에 포함된 영상 데이터를 가상 공간에 매핑하여 전체 영상을 생성할 수 있다.
영상 전송 장치(120)는 360도 전체 영상 또는 일부 그 중 일부 영역의 영상 컨텐츠 데이터를 각 사용자에게 전송할 수 있다.
각각의 영상 재생 장치(130)는 전체 또는 일부 그 중 일부 영역의 영상 컨텐츠 데이터를 수신하고, 각 사용자가 바라보는 영역에 대해 가상 공간에 렌더링 및/또는 표시(디스플레이)할 수 있다.
다른 일 예로서, 영상 재생 장치(130)는 착용한 사용자의 머리 움직임을 파악하기 위해 움직임 센서를 포함할 수 있고, 3축 기울기 센서, 자이로 센서 및/또는 가속도 센서를 포함할 수 있다.
상기 움직임 센서는 영상 재생 장치(130)의 내부 또는 외부의 소정 부위에 장착되고, 영상 재생 장치(130)의 움직임 및 기울기를 실시간으로 감지한다. 따라서, 영상 재생 장치(130)를 착용한 사용자의 머리 움직임을 알 수 있고, 이를 반영하여 영상 전송 장치(120)로 새로운 시점 영역(뷰포트, Viewport) 및 전후좌우 이동에 따라 변경되는 영상 컨텐츠의 전송을 요청할 수 있다.
또한, 상기 영상 재생 장치(130)는 사용자의 눈의 움직임을 추적하여 가상 공간 전체 내에서 사용자가 현재 바라보고 있는 영역을 파악할 수도 있다.
본 명세서에서 개시되는 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(Global System for Mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(General Packet Radio Network; GPRS), 근거리 네트워크(Local Area Network; LAN), 광역 네트워크(Wide Area Network; WAN), 거대도시 네트워크(Metropolitan Area Network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(Public Switched Telephone Network; PSTN), 개인 네트워크(Personal Area Network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field Communication), 초 광 대역(Ultra-Wide Band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.
도 2는 영상 재생 장치의 실시 예들을 개략적으로 도시한다.
영상 재생 장치(130)는 안경 형태(210), 디스플레이부 및 제어부가 일체화된 형태(220) 또는 스마트폰 등의 기기(232)에서 제어부 및 디스플레이부가 구현되고 마운트 장치(231)와 결합되는 형태로 구현될 수 있다.
안경 형태(210)로 구현된 영상 재생 장치(130)는 디스플레이부 및 제어부가 일체화되어 구현되거나 도 3과 같은 별도의 컴퓨팅 장치(320)와 유선 또는 무선으로 연결되어 360도 영상을 표시할 수 있다.
디스플레이부 및 제어부가 일체화된 형태(220) 또는 스마트폰 등의 기기(232)와 마운트 장치(231)의 결합된 형태의 영상 재생 장치(130)는 디스플레이부 및 제어부가 일체화되어 영상 전송 장치(120)와 네트워크를 통하여 연결하여 360도 영상을 요청 및 수신하고 표시할 수 있다.
스마트폰 등의 기기(232)와 마운트 장치(231)의 결합된 형태의 영상 재생 장치(130)는 마운트 장치에 양안 렌즈 및 사용자 인터페이스 도구를 포함할 수 있고, 스마트폰 등의 기기(232)와 유선 또는 무선으로 연결되어 스마트폰 등의 기기(232)의 디스플레이부에 표시된 360도 영상을 사용자의 양안에 맞게 보여줄 수 있다. 이 경우, 영상 재생 장치(130)는 스마트폰 등의 기기(232)와 마운트 장치(231)가 결합된 형태를 지칭할 수 있다.
도 3은 영상 재생 장치의 실시 예를 개략적으로 도시한다.
일 실시 예에서, 영상 재생 장치(130)는 디스플레이부(310)와 제어부(320)가 유선 또는 무선으로 연결되는 형태로 분리되어 구현될 수 있다.
이 경우, 영상 재생 장치(130)는 제어부(320)가 디코딩(Decoding, 복호화)한 360도 영상 중에서 디스플레이부(310)를 착용한 사용자의 시점 영역에 적합한 영역의 영상을 디스플레이부(310)로 전송하여 표시하도록 할 수 있다.
상기 제어부(320)는 영상 전송 장치(120)에 사용자가 착용한 디스플레이부(310)의 움직임에 따라 변화된 시점이나 시점의 영역을 계산하고, 변화된 시점 또는 시점 영역에 대한 영상, 또는 변화된 시점 또는 시점 영역을 포함하는 전체 영상 또는 변화된 시점 또는 시점 영역에 대한 고화질 영상을 전송할 것을 요청할 수 있다.
도 4는 영상 재생 장치의 예시적인 블록 다이어그램이다.
도 4를 참조하면, 도면은 영상 재생 장치(130)의 예시적인 구성을 나타낸다.
영상 재생 장치(130)는 제어부(410), 표시부(420), 센서부(430), 디코더(440) 및/또는 통신부(450)를 포함할 수 있다.
일 실시 예로서, 상기 영상 재생 장치(130)는 HMD(Head-Mounted Display)일 수 있고, 앞서 설명한 것처럼 상기 제어부(410)는 상기 표시부(420)와 통합되어 구현되거나 유선 또는 무선 연결되는 형태로 구현될 수 있다.
표시부(420)는 LCD, LED, Micro LED 등의 디스플레이부를 포함할 수 있고, 레이져 광 출력 시, 광 도파로 및 미러(Mirror)를 포함하는 홀로그램 방식의 디스플레이부를 포함할 수 있다.
센서부(430)는 사용자 시선/시점의 움직임 및/또는 영상 재생 장치(130)가 착용된 머리의 움직임에 대한 정보를 획득할 수 있다. 예를 들어, 센서부(430)는 물체의 방위 변화를 감지하는 자이로 센서, 이동하는 물체의 가속도나 충격의 세기를 측정하는 가속도 센서, 사용자의 홍채 등을 파악할 수 있는 카메라 및/또는 적외선 센서를 포함할 수 있다.
센서부(430)는 두 쌍의 적외선 LED(Light-Emitting-Diode) 및/또는 적외선 CCD(Charge Coupled Device)를 포함할 수 있고, 예를 들어, 센서부(430)는 좌우측 눈동자 영상을 촬영하여 시선을 추적하기 위해 좌측 적외선 LED, 좌측 적외선 CCD, 우측 적외선 LED, 우측 적외선 CCD를 포함할 수 있다.
디코더(440)는 통신부(450)를 통해 수신한 360도 영상 컨텐츠 데이터 및 시그널링 정보를 디코딩할 수 있다.
디코더(440)는 시그널링 정보를 기초로 360도 영상 컨텐츠 데이터를 디캡슐화(Decapsulation)한 후 디코딩할 수 있다. 예를 들어, 디코더(440)는 각 사용자의 시점을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 디코딩할 수 있다. 예를 들어, 가상 공간 내에서 사용자가 특정 영역을 바라보는 경우, 디코더(440)는 가상 공간 내의 사용자 시점 영역에 해당하는 영상은 고화질로 디코딩하고, 특정 영역 이외에 해당하는 영상은 저화질로 디코딩할 수 있다.
디코더(440)는 시그널링 정보 또는 센서부(430)에서 측정된 정보를 이용하여 사용자의 시점 또는 시점 영역에 대한 360도 영상 컨텐츠 데이터를 우선적으로 처리할 수도 있다.
제어부(410)는 디코더(440)에서 복호화된 데이터들을 시그널링 정보를 참조하여 렌더링하고 표시부(420)에 표시하도록 제어할 수 있으며, 상기 렌더링은 평면 상에 프로젝션된 360 영상 컨텐츠 데이터를 스티칭하여 3차원 공간에 리-프로젝션(Re-projection)하는 것일 수 있다.
제어부(410)는 파싱된 시그널링 정보에 포함된 3D 모델의 타입 등 메타데이터 정보를 이용하여 360도 영상 컨텐츠 데이터를 렌더링할 수 있다.
제어부(410)는 시그널링 정보 또는 센서부(430)에서 측정된 정보를 이용하여 사용자의 시점 영역에 대한 360도 영상 컨텐츠 데이터를 우선적으로 처리하거나 해당 데이터만 처리할 수도 있다.
시그널링 정보는 360도 영상 컨텐츠 데이터에 대한 다양한 정보를 포함한 메타데이터일 수 있으며, 해당 영상을 스티칭, 프로젝션 등의 처리하는 것과 관련될 수 있다.
예를 들어, 시그널링 정보는 360도 영상 컨텐츠 데이터가 평면 이미지 상에 프로젝션될 때 사용된 프로젝션 방식에 대한 정보를 포함할 수 있으며, 등정방형 프로젝션(Equirectangular Projection) 방식, 큐빅 프로젝션(Cubic Projection) 방식, 실린더형 프로젝션(Cylindrical Projection) 방식, 타일-기반 프로젝션(Tile-based Projection) 방식 등을 지시할 수 있다.
시그널링 정보는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header) 및 360도 영상 컨텐츠 데이터를 설명하는 별도의 파일(예: DASH의 MPD) 중에서 적어도 하나를 통하여 전송 또는 수신될 수 있다.
실시 예에 따라서, 센서부(430)는 영상 입력부(미도시) 및 오디오 입력부(미도시)를 포함할 수도 있다.
통신부(450)는 방송망, 무선통신망 및/또는 브로드밴드 등의 네트워크를 통해서 외부의 클라이언트 디바이스 및/또는 서버 디바이스와 통신할 수 있다. 예를 들어, 통신부(450)는 데이터를 전송하는 전송부(미도시) 및/또는 데이터를 수신하는 수신부(미도시)를 포함할 수 있다.
통신부(450)는 네트워크를 통해서 영상 전송 장치(120)로부터 가상 현실 공간에 대한 360도 영상 컨텐츠 데이터 및 상기 360도 영상 컨텐츠 데이터에 대한 영상 구성 정보를 수신할 수 있다.
360도 영상 컨텐츠에 대한 영상 구성 정보는 시그널링 정보에 포함될 수 있으며, 가상 현실 공간을 나타내는 분할 영상으로 이루어진 타일 세트에 대한 정보, 상기 타일 세트에 포함된 타일 영상에 대한 크기 정보, 개수 정보 및 화질 정보, 상기 타일의 위치 정보를 포함할 수 있다.
또한, 상기 영상 구성 정보는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI(Supplement Enhancement Information), VUI(Video Usability Information), 슬라이스 헤더(Slice Header), 및 상기 가상 현실 공간에 대한 영상 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 수신될 수 있다.
도 5는 영상 전송 장치의 예시적인 블록 다이어그램이다.
도 5를 참조하면, 도면은 영상 전송 장치(120)의 예시적인 구성을 나타낸다.
영상 전송 장치(120)는 제어부(510) 및 통신부(520)를 포함할 수 있다.
제어부(510)는 가상 공간에 대한 전체 영상을 생성하고, 생성된 전체 영상을 인코딩할 수 있다. 또한, 제어부(510)는 영상 전송 장치(120)의 모든 동작을 제어할 수 있다. 구체적인 내용은 이하에서 설명한다.
통신부(520)는 외부 장치 및/또는 영상 재생 장치(130)로 데이터를 전송 및/또는 수신할 수 있다. 예를 들어, 통신부(520)는 적어도 하나의 영상 재생 장치(130)로부터 사용자 데이터 및/또는 시그널링 데이터를 수신할 수 있다. 또한, 통신부(520)는 가상 공간에 대한 전체 영상 및/또는 일부의 영역에 대한 영상을 영상 재생 장치(130)로 전송할 수 있다.
도 6은 영상 전송 장치의 제어부의 예시적인 블록 다이어그램이다.
제어부(510)는 시그널링 데이터 추출부(610), 영상 생성부(620), 시점 판단부(630), 시그널링 데이터 생성부(640), 및/또는 인코더(650) 중에서 적어도 하나를 포함할 수 있다.
시그널링 데이터 추출부(610)는 클라이언트 디바이스로부터 전송받은 데이터로부터 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 영상 구성 정보를 포함할 수 있다. 상기 영상 구성 정보는 가상 공간 내에서 사용자의 시선 방향을 지시하는 시선 정보 및 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다. 또한, 상기 영상 구성 정보는 가상 공간 내에서 사용자의 뷰포트 정보를 포함할 수 있다.
영상 생성부(620)는 가상 공간에 대한 전체 영상 및 가상 공간 내의 특정 영역에 대한 영상을 생성할 수 있다.
영상 생성부(620)는 가상 공간에 대한 전체 영상 및 가상 공간 내의 특정 영역에 대하여 다양한 크기의 타일로 영상을 생성할 수 있다.
영상 생성부(620)는 가상 공간에 대한 전체 영상 및 가상 공간 내의 특정 영역에 대하여 다양한 해상도, 영상 품질, 양자화 수준으로 영상을 생성할 수 있다.
시점 판단부(630)는 가상 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 시점을 판단할 수 있다.
또한, 시점 판단부(630)는 가상 공간의 전체 영역 내에서 사용자의 뷰포트를 판단할 수 있다. 예를 들어, 시점 판단부(630)는 시선 정보 및/또는 줌 영역 정보를 기초로 시점 영역을 판단할 수 있다. 예를 들어, 시점 영역은 사용자가 보게 될 가상의 공간에서 중요 오브젝트가 위치할 타일의 위치(예를 들어, 게임 등에서 새로운 적이 등장하는 위치, 가상 공간에서의 화자의 위치), 및/또는 사용자의 시선이 바라보는 곳일 수 있다.
또한, 시점 판단부(630)는 가상 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 시점 및 시점 영역을 지시하는 시점 정보와 사용자의 뷰포트에 대한 정보를 생성할 수 있다.
또한, 시점 판단부(630)는 가상 공간의 전체 영역 내에서 사용자의 관심 영역을 지시하는 관심 영역 정보를 생성할 수 있다.
시그널링 데이터 생성부(640)는 전체 영상을 처리하기 위한 시그널링 데이터를 생성할 수 있다. 예를 들어, 시그널링 데이터는 시점 정보, 뷰포트 정보, 및/또는 영상 구성 정보를 포함할 수 있다. 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더 (Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
인코더(650)는 시그널링 데이터를 기초로 전체 영상을 인코딩할 수 있다. 예를 들어, 인코더(650)는 각 사용자의 시선 방향을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 인코딩할 수 있다. 예를 들어, 가상 공간 내에서 사용자가 특정 지점을 바라보는 경우, 인코더(650)는 가상 공간 내의 사용자 시선을 기초로 특정 지점에 해당하는 영상은 고화질로 인코딩하고, 상기 특정 지점 이외에 해당하는 영상은 저화질로 인코딩할 수 있다.
또한, 인코더(650)는 시그널링 데이터를 기초로 전체 영상 또는 특정 영역의 영상을 인코딩하되, 다양한 크기의 타일 및 다양한 영상 품질로 영상을 인코딩할 수 있다.
이하에서는 본 발명의 실시 예에 따른 영상 전송 장치(120)를 이용한 예시적인 영상 전송 방법을 설명한다.
영상 전송 장치(120)는, 통신부(520)를 이용하여, 적어도 하나의 영상 재생 장치(130)로부터 시그널링 데이터를 수신할 수 있다. 또한, 영상 전송 장치(120)는, 시그널링 데이터 추출부(610)를 이용하여, 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 시점 정보 및 줌 영역 정보를 포함할 수 있다.
시점 정보는 사용자가 가상 공간 내에서 어느 영역(지점)을 바라보는지 여부를 지시할 수 있다. 가상 공간 내에서 사용자가 특정 영역을 바라보면, 시점 정보는 사용자에서 상기 특정 영역으로 향하는 방향을 지시할 수 있다.
줌 영역 정보는 사용자의 시선 방향에 해당하는 비디오 데이터의 확대 범위 및/또는 축소 범위를 지시할 수 있다. 또한, 줌 영역 정보는 사용자의 시야각을 지시할 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 확대되면, 사용자는 특정 영역만을 볼 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 축소되면, 사용자는 특정 영역뿐만 아니라 상기 특정 영역 이외의 영역 일부 및/또는 전체를 볼 수 있다.
영상 전송 장치(120)는 영상 생성부(620)를 이용하여, 가상 공간에 대한 전체 영상을 생성할 수 있다.
영상 전송 장치(120)는 시점 판단부(630)를 이용하여, 시그널링 데이터를 기초로 가상 공간 내에서 각 사용자가 바라보는 시점 및 줌(zoom) 영역에 대한 영상 구성 정보를 파악할 수 있다.
영상 전송 장치(120)는 시점 판단부(630)를 이용하여, 영상 구성 정보를 기초로 사용자의 시점 영역을 결정할 수 있다.
시그널링 데이터(예를 들어, 시점 정보 및 줌 영역 정보 중에서 적어도 하나)가 변경될 경우, 영상 전송 장치(120)는 새로운 시그널링 데이터를 수신할 수 있다. 이 경우, 영상 전송 장치(120)는 새로운 시그널링 데이터를 기초로 새로운 시점을 결정할 수 있다.
영상 전송 장치(120)는 제어부(510)로 하여금 시그널링 데이터를 기초로 현재 처리하는 데이터가 시점 영역에 해당하는 데이터인지 아닌지 여부를 판단할 수 있다.
시그널링 데이터가 변경되는 경우, 영상 전송 장치(120)는 새로운 시그널링 데이터를 기초로 현재 처리하는 데이터가 시점에 해당하는 데이터인지 아닌지 여부를 판단할 수 있다.
시점에 해당하는 데이터일 경우, 영상 전송 장치(120)는, 인코더(650)를 이용하여, 사용자의 시점에 해당하는 비디오 데이터(예를 들어, 관심 영역)는 고품질로 인코딩할 수 있다. 예를 들어, 영상 전송 장치(120)는 사용자의 시점에 해당하는 비디오 데이터에 대하여 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 생성하고, 이들을 전송할 수 있다.
시그널링 데이터가 변경되는 경우, 영상 전송 장치(120)는 새로운 시점에 해당하는 비디오 데이터(새로운 관심 영역)는 고품질의 영상으로 전송할 수 있다. 기존에 영상 전송 장치(120)가 저품질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 영상 전송 장치(120)가 고품질의 영상을 전송하는 경우, 영상 전송 장치(120)는 향상 계층 비디오 데이터를 추가로 생성 및/또는 전송할 수 있다.
시점에 해당하지 않는 데이터일 경우, 영상 전송 장치(120)는 사용자의 시점에 해당하지 않는 비디오 데이터(예를 들어, 비-관심 영역)은 저품질로 인코딩할 수 있다. 예를 들어, 영상 전송 장치(120)는 사용자의 시점에 해당하지 않는 비디오 데이터에 대하여 기본 계층 비디오 데이터만 생성하고, 이들을 전송할 수 있다.
시그널링 데이터가 변경되는 경우, 영상 전송 장치(120)는 새로운 사용자의 시점에 해당하지 않는 비디오 데이터(새로운 비-관심 영역)은 저품질의 영상으로 전송할 수 있다. 기존에 영상 전송 장치(120)가 고품질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 영상 전송 장치(120)가 저품질의 영상을 전송하는 경우, 영상 전송 장치(120)는 더 이상 적어도 하나의 향상 계층 비디오 데이터를 생성 및/또는 전송하지 않고, 기본 계층 비디오 데이터만을 생성 및/또는 전송할 수 있다.
즉, 기본 계층 비디오 데이터를 수신했을 때의 비디오 데이터의 화질은 향상 계층 비디오 데이터까지 받았을 때의 비디오 데이터의 화질보다는 낮으므로, 영상 재생 장치(130)는 사용자가 고개를 돌린 정보를 센서 등으로부터 얻는 순간에, 사용자의 시선 방향에 해당하는 비디오 데이터(예를 들어, 시점 영역에 대한 비디오 데이터)에 대한 향상 계층 비디오 데이터를 수신할 수 있다. 그리고, 영상 재생 장치(130)는 짧은 시간 내에 고화질의 비디오 데이터를 사용자에게 제공할 수 있다.
인코더(650)는 적어도 하나의 기본 계층 인코더(미도시), 적어도 하나의 향상 계층 인코더(미도시), 및 다중화기(미도시)를 포함할 수 있다.
인코더(650)는 스케일러블 비디오 코딩 방법을 사용하여 전체 영상을 인코딩할 수 있다. 스케일러블 비디오 코딩 방법은 SVC(Scalable Video Coding) 및/또는 SHVC(Scalable High Efficiency Video Coding)를 포함할 수 있다.
스케일러블 비디오 코딩 방법은 다양한 멀티미디어 환경에서 네트워크의 상황 혹은 단말기의 해상도 등과 같은 다양한 사용자 환경에 따라서 시간적, 공간적, 및 화질 관점에서 계층적(Scalable)으로 다양한 서비스를 제공하기 위한 영상 압축 방법이다. 예를 들어, 인코더(650)는 동일한 비디오 데이터에 대하여 두 가지 이상의 다른 품질(또는 해상도, 프레임 레이트)의 영상들을 인코딩하여 비트스트림을 생성할 수 있다.
예를 들어, 인코더(650)는 비디오 데이터의 압축 성능을 높이기 위해서 계층 간 중복성을 이용한 인코딩 방법인 계층간 예측 툴(Inter-layer prediction tools)을 사용할 수 있다. 계층 간 예측 툴은 계층 간에 존재하는 영상의 중복성을 제거하여 향상 계층(Enhancement Layer; EL)에서의 압출 효율을 높이는 기술이다.
향상 계층은 계층 간 예측 툴을 이용하여 참조 계층(Reference Layer)의 정보를 참조하여 인코딩될 수 있다. 참조 계층이란 향상 계층 인코딩 시 참조되는 하위 계층을 말한다. 여기서, 계층 간 툴을 사용함으로써 계층 사이에 의존성(Dependency)이 존재하기 때문에, 최상위 계층의 영상을 디코딩하기 위해서는 참조되는 모든 하위 계층의 비트스트림이 필요하다. 중간 계층에서는 디코딩 대상이 되는 계층과 그 하위 계층들의 비트스트림 만을 획득하여 디코딩을 수행할 수 있다. 최하위 계층의 비트스트림은 기본 계층(Base Layer; BL)으로서, H.264/AVC, HEVC 등의 인코더로 인코딩될 수 있다.
기본 계층 인코더는 전체 영상을 인코딩하여 기본 계층을 위한 기본 계층 비디오 데이터(또는 기본 계층 비트스트림)를 생성할 수 있다. 예를 들어, 기본 계층 비디오 데이터는 사용자가 가상 공간 내에서 바라보는 전체 영역을 위한 비디오 데이터를 포함할 수 있다. 기본 계층의 영상은 가장 낮은 화질의 영상일 수 있다.
향상 계층 인코더는, 시그널링 데이터(예를 들어, 시점 영역 정보) 및 기본 계층 비디오 데이터를 기초로, 전체 영상을 인코딩하여 기본 계층으로부터 예측되는 적어도 하나의 향상 계층을 위한 적어도 하나의 향상 계층 비디오 데이터(또는 향상 계층 비트스트림)를 생성할 수 있다. 향상 계층 비디오 데이터는 전체 영역 내에서 시점 영역을 위한 비디오 데이터를 포함할 수 있다.
다중화기는 기본 계층 비디오 데이터, 적어도 하나의 향상 계층 비디오 데이터, 및/또는 시그널링 데이터를 멀티플렉싱하고, 전체 영상에 해당하는 하나의 비트스트림을 생성할 수 있다.
이하에서는 도 7 내지 9를 참조하여 본 발명의 실시 예에 따른 3DoF+ 또는 6DoF 몰입형 미디어 구현을 위한 다시점 360도 영상 처리 및 전송 방법에 대해서 상세히 설명한다. 도 7은 전송 대역폭 절감을 위한 서로 다른 시점의 360도 영상 간의 중복성 제거 방법을 설명하고, 도 8은 영상 재생 장치의 영상 처리 부하를 줄이기 위하여 중복성이 제거된 영상을 이용한 영역 추출 및 병합 방법을 설명한다.
도 7은 서로 다른 시점의 360도 영상 간의 중복성 제거 방법의 개념을 설명한 도면이다. 도 8은 영상 처리 부하를 줄이기 위하여 중복성이 제거된 영상을 이용한 영역 추출 및 병합 방법의 개념을 설명한 도면이다. 도 9는 도 7 내지 8의 영상 처리 방법을 나타내는 흐름도이다.
3DoF+와 6DoF를 위한 360도 영상 전송 시스템은 영상 재생 장치(130)(머리 장착형 영상 장치)에서 사용자 시점에 대응하는 가상 영상을 생성하기 위해 다양한 사용자 시점에 따른 다수의 360도 영상들을 전송 받아 해당 시점에 대응하는 영상을 렌더링하여 출력한다.
본 명세서는 전송 대역폭을 절감하면서도 고품질의 영상들을 전송하기 위해 도 7에 제시한 실시 예와 같이 다양한 사용한 시점에 대한 다수의 360도 영상들 간의 중복성을 제거하는 방법을 개시한다(S910).
도 7을 참조하면, 먼저, 영상 생성 장치(110)는 3DoF+ 또는 6DoF를 위한 다양한 사용자 시점에서 생성된 360 영상들을 영상 전송 장치(120)에 저장해 둔다.
영상 전송 장치(120)는 다양한 사용자 시점에서 생성된 360 원본 영상들(700) 중에서 여러 시점에서 생성된 영상들 간의 중복성을 제거할 기준이 될 영상을 생성한다(710). 상기 중복성 제거의 기준이 될 영상은 중복된 부분이 가장 많은 시점의 360도 영상으로 선택될 수 있다. 본 명세서는 상기 중복성 제거의 기준이 되는 영상을 기준 영상 또는 중앙 영상이라고 정의한다. 상기 원본 영상들(700)은 텍스쳐 정보를 포함한 영상(701)과 깊이 정보를 포함한 영상(703)을 포함할 수 있다.
이후, 영상 전송 장치(120)는 중앙 영상의 픽셀들을 기존의 영상들(중앙 영상에 사용된 360도 영상 외의 다른 시점에 대한 360도 영상들)의 위치로 와핑(War-ping)한다(720).
만약 각각의 픽셀이 중앙 영상과 기존 영상들에 의해 표현될 수 있다면 문제없이 와핑되지만, 그렇지 않을 경우, 참조기호 731로 표시된 영상의 왜곡 부분처럼 와핑 영상의 픽셀들이 왜곡되어 표현된다(730). 상기 왜곡되어 표현된 부분은 중앙 영상에 의하여 표현될 수는 없으며, 오직 기존 영상들에 의해서만 표현될 수 있다.
이어서, 영상 전송 장치(120)는 왜곡된 픽셀 영역을 계산하고(740), 영역의 축소 또는 확장을 실행하여 상기 왜곡 영역을 이진 마스크(Binary mask)의 형태로 나타낸다. 이진 마스크의 정보는 검정색 또는 하얀색으로 표기될 수 있으며, 검정색 영역(761)은 이미 중앙 영상에 포함되어 기존 영상들에서 제외가 가능한 정보를 나타내고, 하얀색 영역(763)은 영상 와핑으로 생성된 왜곡된 부분에 해당하며 유의미한 정보를 나타낼 수 있다. 영역 확장(region growing)을 실행하면 유의미한 정보의 양을 늘릴 수 있어서, 제거된 영역을 복원할 때 경계선에서의 왜곡을 줄일 수 있고, 영역 축소를 실행하면 유의미한 정보의 양을 줄일 수 있어서, 이진 마스크를 깔끔하게 정리함과 동시에 대역폭을 절감할 수 있다.
다음으로, 영상 전송 장치(120)는 이진 마스크에서 유의미하다고 판단된 영역의 픽셀들(791)을 기존의 360도 영상들에서 가져온다(770).
마지막으로 영상 전송 장치(120)는 유의미하지 않은 영역들(793), 즉, 이진 마스크에서 빈 부분(홀)을 미리 정해진 값으로 채우면(780), 서로 다른 시점들의 360도 영상들 사이에서 중복성이 제거된 영상을 출력할 수 있다(790).
도 12에 도시한 바와 같이, 본 발명의 실시 예에 따른 신호 체계에서는 전술한 유의미하지 않는 영역의 채우기 방법, 빈 공간 채우기 방법이 'hole_filling_type'로 정의되며, 그 값이 '0'이면 빈 공간을 중간 값으로 채우는 것을 의미하고, '1'은 빈 공간을 유의미한 영역들의 평균 값으로 채우는 것을 의미하여, '2'는 빈 공간을 보간 값으로 채우는 것을 의미할 수 있다.
한편, 전술한 중복성 제거 방법을 통해 다양한 사용자 시점의 영상들 사이의 중복성을 제거하여 전송 대역폭을 절감할 수 있으나, 영상 재생 장치(130)에 요구되는 디코더의 개수가 많으므로 이는 여전히 영상 재생 장치(130)에 큰 영상 처리 부담을 야기한다. 따라서, 본 명세서는 영상 재생 장치(130)의 영상 처리 부하를 줄이기 위해 도 8에 제시한 실시 예와 같이 중복성이 제거된 영상을 이용한 영역 추출 및 병합 방법을 개시한다(S920).
영상 재생 장치(130)의 큰 영상 처리 부담을 경감하기 위해 본 명세서는 도 8에 도시한 실시 예와 같이 중복성이 제거된 다수의 360도 영상들에서 유의미한 영역, 즉, 영상 정보가 존재하는 영역을 추출하여 기존보다 더 적은 수의 영상들로 병합하는 방법을 제시한다. 영상 간 중복성의 제거 시, 카메라의 이동, 즉, 사용자 시점의 변화에 따라 이진 마스크가 변하게 되는데, 유의미한 영역들을 추출할 때 한 프레임 단위로 추출한다면 매번 영역의 위치가 달라져 압축 효율이 저하될 수 있다.
상기 압축 효율 저하 문제를 방지하기 위해, 영상 전송 장치(120)는 먼저, 중복성이 제거된 다양한 사용자 시점의 360도 영상들(800)의 프레임들의 이진 마스크들(810)을 구한다.
영상 전송 장치(120)는 상기 이진 마스크들을 미리 결정한 일정 간격(intra period) 단위로 병합(820)하여 병합된 마스크(830)를 구한다.
이후, 영상 전송 장치(120)는 병합된 이진 마스크를 일정 크기의 블록으로 나누고 마스크 내의 유의미한 부분에 대해 영역 확장을 실행하여 직사각형 형태의 영역 단위(841, 843, 945, 847)로 추출한다(840). 여기에서, 추출된 영역은 본 발명의 실시 예에 따른 신호 체계에서는 도 12에 도시한 바와 같이, 해당 영역의 좌측 상단 x, y 좌표와 영역의 너비 및 높이를 정의해서 특정할 수 있다.
마지막으로, 영상 전송 장치(120)는 추출된 영역들(841, 843, 945, 847)을 기존 영상들의 수보다 적은 수의 영상들에 위치를 할당하여 병합한다(850). 본 명세서에서는 해당 영상이 병합된 영상이라고 불린다.
영상 전송 장치(120)는 병합된 영상에서의 추출된 영역들(841, 843, 945, 847)의 위치를 할당할 때, 영역(851) 안에 영역(853)이 포함되게 하여 병합된 영상의 크기를 줄일 수 있다. 또한, 영상 전송 장치(120)는 어떤 추출 영역이 병합된 영상에 그대로 할당되기 어렵다고 판단될 때 해당 영역을 회전하여 할당할 수 있다(857). 또한, 영상 전송 장치(120)는 병합된 영상에서의 각 영역의 좌측 상단 x, y 좌표는 메타데이터로 나타내어질 수 있다.
따라서, 영상 전송 장치(120)는 영상 재생 장치(130)가 특정 사용자 시점에 대한 영상 데이터의 전송을 요청해오면, 특정 사용자 시점의 중복성이 제거된 영상과 프레임 마스크들을 병합하여 생성한 기존 영상들의 수보다 적은 수의 영상들에 대한 데이터를 영상 재생 장치(130)로 전송해 줌으로써, 영상 재생 장치(130)가 전송 받은 영상 데이터를 처리하여 360도 영상을 렌더링하는 부하를 줄일 수 있다.
구체적으로 본 명세서에서 도 7 내지 8의 방법의 수행 중에 영상 전송 장치와 영상 재생 장치 간에 송수신되는 시그널링 정보가 전달하는 메타데이터의 포함 정보 및 그 전송 순서는 도 9와 같다.
실시 예에 따른 방법은, 먼저, 입력 옵션으로 영상 인덱스와 영상의 수평, 수직 길이 정보를 전달한다(S911).
다음으로, 상기 방법은 영상의 프로젝션 타입을 구분한다(S912).
이어서, 상기 방법은 이진 마스크의 축소 및/또는 확장을 수행하고(S913), 그 후에 이진 마스크의 빈 공간 채우기를 수행한다(S914). 빈공간 채우기 방법은 전술한 바와 같이 빈 공간을 중간 값으로 채우는 방법, 빈 공간을 유의미한 영역들의 평균 값으로 채우는 방법, 및 빈 공간을 보간 값으로 채우는 방법이 있다.
다음으로, 상기 방법은 생성된 이진 마스크들을 일정 프레임 단위(간격)로 병합한다(S921). 이 때, 병합된 프레임 수에 대한 정보가 전달된다.
상기 방법은 이진 마스크를 블록으로 분할한다(S922). 이 때, 블록의 크기는 블록의 수평 길이 정보 및 수직 길이 정보로 정의된다.
다음으로, 상기 방법은 이진 마스크에서 유의미한 영역을 확장하고 추출한다(S923). 이 때, 메타 데이터에는 상기 영역의 최대 수평 길이 및 최대 수직 길이 정보, 중복성이 제거된 영상에서의 유의미 영역의 좌상단 x, y 좌표, 추출된 영역의 수평 길이 및 수직 길이 정보를 포함한다.
마지막으로, 상기 방법은 병합된 이진 마스크 영상에 상기 추출된 영역을 할당하여 기존 보다 적은 수의 병합 영상을 생성한다(S924). 이 때, 메타 데이터에는 하나의 추출 영역 내에 다른 추출 영역의 할당 여부 정보, 영역 할당 간격의 수평 길이 및 수직 길이 정보, 병합된 영상에서의 할당 영역의 좌상단 x, y 좌표, 할당된 영역의 회전 여부 정보, 병합된 영상의 인덱스 정보, 병합된 영상의 수평 길이 및 수직 길이 정보가 포함된다.
전술한 다시점 360도 영상의 처리 및 전송 방법을 수행하는 영상 전송 장치(120) 및 영상 재생 장치(130)의 구성요소들은 다음의 설명과 같이 기능할 수 있다.
도 4 내지 6을 참조하면, 제어부(510)는 서로 다른 사용자 시점에서 촬영되거나 생성된 복수의 360도 영상들 중에서 기준 영상을 생성할 수 있다. 상기 기준 영상은 중앙 뷰 또는 중앙 영상이라고 정의될 수 있으며, 기준 영상은 취득된 영상들의 한가운데 위치할 수 있다. 또한, 제어부(510)는 상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상, 중앙 영상으로 생성할 수 있다. 만약 그 위치에 중앙 영상이 없을 경우에는 RVS(Reference View Synthesizer)를 이용하여 중앙 영상, 즉, 기준 영상을 합성하여 생성할 수 있다.
제어부(510)는 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정할 수 있다.
제어부(510)는 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완한 영상을 생성할 수 있다.
인코더(650)는 상기 360도 영상, 상기 기준 영상 및 상기 왜곡 영역이 보완된 영상의 데이터를 인코딩할 수 있다.
통신부(520)는 영상 재생 장치(130)로 상기 영상 데이터 및 상기 영상 데이터에 대한 영상 정보를 송신할 수 있다.
또한, 제어부(510)는 상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크(binary mask)로 나타낼 수 있다.
또한, 제어부(510)는 상기 이진 마스크에서 상기 왜곡 영역(763)에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채울 수 있다.
또한, 제어부(510)는 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역(761)은 미리 정해진 영상으로 채워 왜곡 영역이 보완된 영상을 생성할 수 있다. 상기 왜곡 영역 이외의 영역은 임의의 값으로 채워도 무방하며, 왜곡 영역 채우기는 전술한 빈공간 채우기 방법이 적용될 수 있다.
상기 이진 마스크에서 왜곡 영역은 검정색으로 나타나고, 왜곡 영역 외의 영역은 하얀색으로 나타날 수 있다. 상기 검정색 영역은 해당 위치의 비디오에서 텍스쳐를 가져올 영역을 의미하며, 하얀색 영역은 임의의 값으로 채워도 무방한 영역을 의미할 수 있다.
제어부(510)는 이진 마스크가 생성되면, 검정색 영역에 해당하는 부분만 텍스쳐를 매핑하여 중복성이 제거된 뷰를 출력할 수 있다.
또한, 제어부(510)는 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정한 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구한 뒤, 이들을 미리 결정된 프레임 간격 단위로 중첩하거나 병합할 수 있다.
또한, 제어부(510)는 상기 중첩 또는 병합된 이진 마스크에서 영역 확장(region growing)이나 영역 축소를 실행하여 영상 정보가 존재하는 영역을 추출할 수 있다.
또한, 제어부(510)는 상기 추출 영역을 병합하여 상기 특정한 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성할 수 있다.
따라서, 영상 전송 장치(120)는 영상 재생 장치(130)가 특정 시점의 영상 데이터의 전송을 요청할 때 영상 데이터의 전송 량을 줄일 수 있어, 대역폭을 줄일 수 있는 효과가 있다.
또한, 제어부(510)는 상기 추출 영역들 중 적어도 일부를 병합하여 새로운 영상을 생성하되, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성할 수 있다.
또한, 제어부(510)는 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나, 상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는 상기 추출 영역들 중 적어도 일부를 회전하여 병합할 수 있다.
이하에서는 본 발명의 일 실시 예에 따른 360도 영상 컨텐츠의 전송 및 표시에 방법에 대해서 간략하게 설명한다.
영상 전송 장치(120)는 네트워크를 통해 적어도 하나의 영상 재생 장치(130)로부터 영상 요청과 관련된 정보를 수신할 수 있고, 상기 정보에는 사용자의 시점 영역에 대한 정보를 포함할 수 있다.
시점 영역에 대한 정보는 사용자가 가상 공간 내에서 바라보는 영역(지점)에 대한 정보를 포함할 수 있다. 가상 공간 내에서 사용자가 특정 영역을 바라보면, 시점 영역 정보는 전체 360도 영상에서 상기 특정 영역으로 향하는 방향을 지시할 수 있다.
영상 전송 장치(120)는 360도 영상 컨텐츠에 대한 데이터 전체 또는 일부를 영상 재생 장치(130)로 전송하면서, 사용자의 시점 영역에 대응되는 영역은 고화질 데이터로 전송할 수 있다.
영상 전송 장치(120)는 360도 영상을 직사각형 모양의 다양한 크기 및 다양한 품질을 갖는 여러 타일들로 분할할 수 있다. 예를 들어, 영상 컨텐츠 데이터는 Coding Tree Unit(CTU) 단위를 경계로 분할될 수 있다. 예를 들어, 하나의 CTU는 Y CTB, Cb CTB, 및 Cr CTB를 포함할 수 있다.
영상 재생 장치(130)가 전체 영상을 하나의 압축된 영상 컨텐츠 데이터로 수신하고 이를 디코딩하고 사용자가 바라보는 시점 영역을 표시 장치(디스플레이 장치)에 렌더링(Rendering)하여 표시하는 방법은 전체 영상(예를 들어, 360도 영역 모두에 대한 영상 컨텐츠 데이터)을 모두 영상 컨텐츠 데이터로 전송 받아 수행할 수 있다. 이 겨우, 해당 영상 컨텐츠 데이터의 총 대역폭은 매우 크므로, 국제 비디오 표준 기술 중 SVC 및 HEVC의 스케일러블 확장 표준인 스케일러블 고효율 비디오 부호화(Scalable High Efficiency Video Coding)와 같은 스케일러블 비디오 기술이 사용될 수 있다.
스케일러블 비디오 기술을 이용하여 타일 형태로 360도 영상 컨텐츠 데이터를 전송하는 경우, 영상 전송 장치(120)는 빠른 사용자 응답을 위해서 기본 계층의 비디오 데이터는 타일로 분할하지 않고 전체적으로 인코딩하고, 하나 이상의 향상 계층들의 영상 컨텐츠 데이터는 필요에 따라서 일부 또는 전체를 여러 타일들로 분할하여 인코딩할 수 있다.
이하에서는 본 발명의 일 실시 예에 따른 3DoF+ 또는 6DoF 몰입형 미디어 구현을 위한 다시점 360도 영상 처리 및 전송 방법에 대해서 도 10 내지 11을 참조하여 설명한다.
도 10은 본 발명의 일 실시 예에 따른 360도 영상 전송 장치의 동작 방법 설명한다.
먼저, 영상 전송 장치(120)는 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성할 수 있다(S1010).
영상 전송 장치(120)는 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정할 수 있다(S1020).
이어서, 영상 전송 장치(120)는 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완할 수 있다(S1030)
상기 보완하는 동작은 영상 전송 장치(120)가 상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크로 나타내고, 상기 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채움으로써 수행될 수 있다.
또한, 영상 전송 장치(120)는 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구할 수 있다. 여기서, 상기 왜곡 영역은 상기 기준 영상 및 상기 복수의 360도 영상들 간에 영상이 중복되지 않는 영역을 의미할 수 있다.
또한, 영상 전송 장치(120)는 상기 이진 마스크들을 미리 결정된 프레임 간격 단위로 중첩할 수 있으며, 상기 중첩된 이진 마스크에서 영역 확장(region growing)을 실행하여 영상 정보가 존재하는 영역을 추출할 수 있다.
또한, 영상 전송 장치(120)는 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성하고, 생성된 상기 병합 영상들에 대한 데이터를 영상 재생 장치(130)로 전송할 수 있다. 여기서, 영상 전송 장치(120)는 상기 추출 영역들 중 적어도 일부를 병합하여 영상을 생성하되, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치함으로써, 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성할 수 있다.
영상 전송 장치(120)는 상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상으로 생성할 수 있다.
또한, 영상 전송 장치(120)는 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나, 상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는 상기 추출 영역들 중 적어도 일부를 회전하여 병합함으로써, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 360도 영상 재생 장치의 동작 방법 설명한다.
실시 예에 따른 영상 재생 장치(130)는 가상 현실 공간에서 사용자 시점을 감지하고, 감지된 사용자 시점 정보를 영상 전송 장치(120)으로 전송할 수 있다(S1110).
영상 재생 장치(130)는 영상 전송 장치(120)에 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 사용자 시점에 해당하는 360도 영상의 영상 데이터의 전송을 요청할 수 있다(S1120).
영상 전송 장치(120)는 상기 영상 데이터 전송 요청에 응답하여 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 사용자 시점에 해당하는 360도 영상의 영상 데이터를 영상 재생 장치(130)로 전송할 수 있다.
또한, 영상 재생 장치(130)는 영상 전송 장치(120)로부터 사용자 시점에 해당하는 기준 영상 및 중복성이 제거된 영상에 대한 영상 데이터를 수신할 수 있다(S1130). 여기서, 상기 기준 영상은 상기 가상 현실 공간에서 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상으로 생성될 수 있다.
상기 영상 데이터를 기초로 상기 기준 영상 및 중복성이 제거된 영상을 렌더링하여 출력하도록 제어할 수 있다(S1140).
여기에서, 상기 중복성이 제거된 영상은, 영상 전송 장치(120)가 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑한 결과가 미리 설정된 기준 이하인 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터로 보완하여 생성한 영상일 수 있다.
또한, 상기 중복성이 제거된 영상은, 영상 전송 장치(120)가 상기 왜곡 영역을 나타낸 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채워서 생성한 영상일 수 있다.
또한, 상기 중복성이 제거된 영상은, 영상 전송 장치(120)가 상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 이진 마스크들이 미리 결정된 프레임 간격 단위로 중첩하고, 영역 확장(region growing)으로 추출한 상기 중첩된 이진 마스크에서 영상 정보가 존재하는 영역을 병합하여 생성한 병합 영상일 수 있으며, 상기 병합 영상의 수는 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작을 수 있다.
또한, 상기 병합 영상은, 상기 추출 영역들 중 적어도 일부가 병합되어 생성되며, 상기 추출 영역들은 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치되는 영상일 수 있다.
상기 영상 데이터는, 상기 병합 영상의 개수 정보, 상기 병합 영상에서 상기 추출 영역에 대한 개수 정보, 크기 정보 및 배치 정보, 및 상기 병합 영상에서 상기 추출 영역 중 적어도 일부에 대한 회전 정보를 포함할 수 있다.
도 12는 360도 영상 컨텐츠 데이터의 시점 정보와 영상 정보를 전달하는 신호 체계(시그널링 정보)의 실시 예다.
앞서 설명한 것처럼, 시그널링 정보는 세션 정보를 실어 나르는 고수준 구문 프로토콜, SEI, VUI, 슬라이스 헤더 및 DASH의 MPD와 같이 데이터를 설명하는 별도의 파일 중에서 적어도 하나를 통하여 전송 또는 수신될 수 있다.
영상 전송 장치(120)는 중복성이 제거되어 병합된 영상들을 원래의 영상으로 복원할 수 있도록 하는 정보를 영상 재생 장치(130)에 전달해야 한다. 영상 전송 장치(120)와 영상 재생 장치(130) 사이에는 원본 영상 정보, 병합된 영상의 개수와 인덱스 정보, 그리고 영상의 크기에 대한 정보가 전달되어야 하며, 대역폭 적응을 위한 다수의 360도 영상 전송을 위해 사용된 방법들에 대한 정보도 전송되어야 한다.
도 12를 참조하면, 도면은 HEVC나 VVC와 같은 국제 비디오 표준에서의 OMAF 구문(Syntax)의 예를 보여준다.
unsigned int(n)는 부호가 없는(unsigned) 'n' 비트 수를 의미한다.
num_pruned_views은 중복성이 제거된 영상들의 개수를 의미할 수 있다.
pruned_view_id는 중복성이 제거된 영상의 id를 의미할 수 있다.
pruned_view_width는 중복성이 제거된 영상의 너비를 의미할 수 있다.
pruned_view_height는 중복성이 제거된 영상의 높이를 의미할 수 있다.
erosion_size는 이진 마스크 축소 크기를 의미하고, dilation_size는 이진 마스크 확장 크기를 의미할 수 있다.
hole_filling_type은 빈 공간 채우기 방법을 의미할 수 있다. 예를 들어, 그 값이 '0'이면 빈 공간을 중간 값으로 채우는 것을 의미하고, '1'이면 빈 공간을 유의미한 영역들의 평균 값으로 채우는 것을 의미하여, '2'는 빈 공간을 보간 값으로 채우는 것을 의미할 수 있다.
num_packed_views은 병합된 영상들의 개수를 의미할 수 있다.
packed_view_id는 병합된 영상의 id를 의미할 수 있다.
packed_view_width는 병합된 영상의 너비를 의미하고, packed_view_height는 병합된 영상의 높이를 의미할 수 있다.
intra_period는 이진 마스크 병합 프레임 수를 의미할 수 있다.
block_width는 블록의 너비를 의미하고, block_height는 블록의 높이를 의미할 수 있다.
max_region_width는 영역의 최대 너비를 의미하고, max_region_height는 영역의 최대 높이를 의미할 수 있다.
stride_width는 병합된 영상으로의 영역 할당 간격 너비를 의미하고, stride_height는 병합된 영상으로의 영역 할당 간격 높이를 의미할 수 있다.
region_in_region_flag는 병합된 영상에서의 영역 내 영역 할당 여부를 의미할 수 있다. 예를 들어, 그 값이 '0'이면, 영역 내 영역이 할당되었음을 지시하고, '1'이면, 영역 내 영역 할당이 없음을 지시할 수 있다.
num_regions은 영역들의 개수를 의미할 수 있다.
region_id는 영역의 id를 의미할 수 있다.
region_in_pruned_view_left_top_x는 중복성이 제거된 영상에서의 영역의 왼쪽 위 모서리 x값을 의미하고, region_in_pruned_view_left_top_y는 중복성이 제거된 영상에서의 영역의 왼쪽 위 모서리 y값을 의미할 수 있다.
region_in_packed_view_left_top_x는 병합된 영상에서의 영역의 왼쪽 위 모서리 x값을 의미하고, region_in_packed_view_left_top_y는 병합된 영상에서의 영역의 왼쪽 위 모서리 y값을 의미할 수 있다.
region_width는 영역의 너비를 의미하고, region_height는 영역의 높이를 의미할 수 있다.
region_rotation_flag는 병합된 영상에서의 영역의 회전 여부를 의미할 수 있다. 예를 들어, 그 값이 '0'이면 병합된 영상에서 삽입된 영역의 회전 값은 0도이고, '1'이면 그 회전 값은 90도이다.
그 외, version_info는 신호 체계(시그널링 정보) 규약의 버전 정보를 지시하고, 부호 없는 8비트의 정보로 표현될 수 있으며, file_size는 파일 크기를 지시하고, 부호 없는 64 비트의 정보로 표현될 수 있다.
중복성 제거 및 병합에 대한 구문 의미론을 정리하면 일 실시 예로서 도 13과 같을 수 있다.
전술한 정의된 구문과 의미론에 관한 정보들은 MPEG DASH와 같은 HTTP 기반의 영상 통신에서 도 14와 같이 XML 형태로 병합된 영상 정보가 표현될 수도 있다.
본 명세서에 제시한 360도 영상 컨텐츠 전송 및 재생 방법들은 타일 분할 기법을 이용한 차별적 전송 기법에 대해서 이야기하고 있지만, 슬라이스(Slice), FMO(Flexible Macro Block) 등의 화면 분할을 지원하는 다른 비디오 병렬처리 기법들에도 적용 가능하다. 또한 비트 스트림을 분할하여 전송하는 스트리밍 서비스인 MPEG DASH, 마이크로소프트(MS)사의 Smooth 스트리밍(Streaming), 애플(Apple)사의 HLS (HTTP Live Streaming; HTTP 라이브 스트리밍)에도 적용 가능하고 MPEG에서 표준화 중인 OMAF의 일부를 수정하여 적용할 수 있다.
본 문서에서 사용된 용어 "부"는(예를 들면, 제어부 등), 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "부"는, 예를 들어, 유닛(unit), 로직(logic), 논리블록 (logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "부"는, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "부"는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "부"는 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, "부"는, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들어, 메모리가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술된 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 명세서에 사용된 용어 "하나"는 하나 또는 하나 이상으로 정의된다. 또한, 청구 범위에서 "적어도 하나" 및 "하나 이상"과 같은 도입 문구를 사용하는 것은, 동일한 청구항에 "적어도 하나" 및 "하나 이상"과 같은 도입 문구 및 "하나" 같은 불명료한 문구가 포함되어 있는 경우라 할지라도, 불명료한 문구 "하나"에 의한 다른 청구항 요소의 도입이 그러한 요소를 하나만을 포함하는 발명에 대해 그렇게 도입된 청구항 요소를 포함하는 임의의 특정 청구항을 제한한다는 것을 의미하는 것으로 해석되어서는 안된다.
달리 명시하지 않는 한, "제1" 및 "제2"와 같은 용어는 그러한 용어가 설명하는 요소들을 임의로 구별하는 데 사용된다. 따라서, 이들 용어는 그러한 요소들의 시간적 또는 다른 우선 순위를 나타내도록 반드시 의도된 것은 아니며, 특정 수단이 서로 다른 청구항들에 열거되어 있다는 단순한 사실만으로 이러한 수단들의 조합이 유리하게 사용될 수 없다는 것을 나타내는 것은 아니다. 따라서, 이들 용어는 그러한 요소의 시간적 또는 다른 우선 순위를 나타내도록 반드시 의도되지는 않는다. 특정 조치가 서로 다른 주장에 인용되었다는 단순한 사실만으로 이러한 조치의 조합이 유용하게 사용될 수 없다는 것을 나타내지는 않는다.
또한, 상세한 설명 및 청구 범위에서의 "앞", "뒤", "꼭대기", "상부", "밑", "바닥", "위에", "아래" 등의 용어는 설명을 목적으로 사용되었지만 영구적인 상대적 위치를 설명하는 데 반드시 사용되는 것은 아니다. 그렇게 사용되는 용어는 본 명세서에 기술된 본 발명의 실시예가 예를 들어 여기에 도시되거나 달리 설명된 것 외의 다른 방향으로 작동할 수 있도록 적절한 환경 하에서 상호 교환 가능하다는 것으로 이해된다.
동일한 기능을 달성하기 위한 구성 요소의 배열은 효과적으로 "관련"되어 원하는 기능이 달성된다. 따라서, 특정 기능성을 달성하기 위해 결합된 임의의 2 개의 구성 요소는 구조 또는 중개하는 구성 요소와 관계없이 원하는 기능이 달성되도록 서로 "관련"되는 것으로 간주될 수 있다. 마찬가지로 이와 같이 연관된 두 개의 구성 요소는 원하는 기능을 달성하기 위해 서로 "작동 가능하게 연결"되거나 "작동 가능하게 결합된" 것으로 간주될 수 있다.
또한, 통상의 기술자는 전술한 동작들의 기능성 사이의 경계가 단지 예시적인 것임을 인식할 것이다. 복수의 동작들은 단일 동작으로 결합될 수 있고, 단일 동작은 추가 동작들로 분산될 수 있으며, 동작들은 시간적으로 적어도 부분적으로 겹쳐서 실행될 수 있다. 또한, 대안적인 실시예들은 특정 동작에 대한 복수의 인스턴스들을 포함할 수 있고, 동작들의 순서는 다양한 다른 실시예에서 변경될 수 있다.
그러나, 다른 수정, 변형 및 대안이 또한 가능하다. 따라서, 상세한 설명 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
"X일 수 있다"는 문구는 조건 X가 충족될 수 있음을 나타낸다. 이 문구는 또한 조건 X가 충족되지 않을 수도 있음을 나타낸다. 예를 들어, 특정 구성 요소를 포함하는 시스템에 대한 참조는 시스템이 특정 구성 요소를 포함하지 않는 시나리오도 포함해야 한다. 예를 들어, 특정 동작을 포함하는 방법에 대한 참조는 해당 방법이 특정 구성 요소를 포함하지 않는 시나리오도 포함해야 한다. 그러나 또 다른 예를 들면, 특정 동작을 수행하도록 구성된 시스템에 대한 참조는 시스템이 특정 작업을 수행하도록 구성되지 않은 시나리오도 포함해야 한다.
용어 "포함하는", "갖는", "구성된", "이루어진" 및 "본질적으로 이루어진"은 상호 교환적으로 사용된다. 예를 들어, 임의의 방법은 적어도 도면 및/또는 명세서에 포함된 동작을 포함할 수 있으며, 도면 및/또는 명세서에 포함된 동작만을 포함할 수 있다.
도시의 단순성 및 명료성을 위해, 도면들에 도시된 요소들(요소)은 반드시 일정한 비율로 그려진 것은 아니라는 것으로 이해될 것이다. 예를 들어, 일부 요소들의 치수는 명확성을 위해 다른 요소들에 비해 과장될 수 있다. 또한, 적절한 것으로 고려되는 경우, 참조 번호들은 대응되거나 유사한 요소들을 나타내기 위해 도면들 사이에서 반복될 수 있다.
통상의 기술자는 논리 블록들 사이의 경계가 단지 예시적인 것이며, 대안적인 실시 예들이 논리 블록들 또는 회로 소자들을 병합하거나 또는 다양한 논리 블록들 또는 회로 소자들 상에 기능의 대체적인 분해를 부과할 수 있음을 인식할 것이다. 따라서, 여기에 도시된 아키텍처는 단지 예시적인 것이며, 사실 동일한 기능을 달성하는 많은 다른 아키텍처가 구현될 수 있다는 것으로 이해되어야 한다.
동일한 기능을 달성하기 위한 구성 요소의 배열은 효과적으로 "관련"되어 원하는 기능이 달성된다. 따라서, 특정 기능성을 달성하기 위해 결합된 임의의 2 개의 구성 요소는 구조 또는 중개하는 구성 요소와 관계없이 원하는 기능이 달성되도록 서로 "관련"되는 것으로 간주될 수 있다. 마찬가지로 이와 같이 연관된 두 개의 구성 요소는 원하는 기능을 달성하기 위해 서로 "작동 가능하게 연결"되거나 "작동 가능하게 결합된" 것으로 간주될 수 있다.
또한, 통상의 기술자는 전술한 동작들의 기능성 사이의 경계가 단지 예시적인 것임을 인식할 것이다. 복수의 동작들은 단일 동작으로 결합될 수 있고, 단일 동작은 추가 동작들로 분산될 수 있으며, 동작들은 시간적으로 적어도 부분적으로 겹쳐서 실행될 수 있다. 또한, 대안적인 실시예들은 특정 동작에 대한 복수의 인스턴스들을 포함할 수 있고, 동작들의 순서는 다양한 다른 실시예에서 변경될 수 있다.
또한, 예를 들어, 일 실시예에서, 도시된 예들은 단일 집적 회로 상에 또는 동일한 장치 내에 위치된 회로로서 구현될 수 있다. 대안적으로, 상기 예들은 임의의 수의 개별적인 집적 회로들 또는 적합한 방식으로 서로 상호 접속된 개별 장치들로서 구현될 수 있다.
또한, 예를 들어, 상기 예들 또는 그 일부는, 임의의 적절한 유형의 하드웨어 기술 언어와 같은, 물리적 회로 또는 물리적 회로로 변환 가능한 논리적 표현의 소프트웨어 또는 코드 표현으로서 구현될 수 있다.
또한, 본 발명은 비 프로그래머블 하드웨어로 구현된 물리적 장치 또는 유닛으로 제한되지 않지만, 일반적으로 본원에서는 '컴퓨터 시스템'으로 표시되는 메인 프레임, 미니 컴퓨터, 서버, 워크스테이션, 개인용 컴퓨터, 노트패드(notepad), 개인용 디지털 정보 단말기(PDA), 전자 게임(electronic games), 자동차 및 기타 임베디드 시스템, 휴대전화 및 다양한 다른 무선 장치 등과 같은, 적절한 프로그램 코드에 따라 동작함으로써 원하는 장치 기능을 수행할 수 있는 프로그램 가능한 장치 또는 유닛에도 적용될 수 있다.
그러나, 다른 변경, 수정, 변형 및 대안들이 또한 가능하다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
청구항에서, 괄호 사이에 위치한 임의의 참조 부호는 청구항을 제한하는 것으로 해석되어서는 아니 된다. '포함하는'이라는 단어는 청구항에 나열된 요소들 또는 동작들의 존재를 배제하지 않는다.
이 특허 출원에 언급된 시스템, 장치 또는 디바이스는 적어도 하나의 하드웨어 구성 요소를 포함한다.
본 명세서에 설명된 바와 같은 연결들은 예를 들어 중간 장치를 통해 각각의 노드, 유닛 또는 장치로부터 또는 각각의 노드, 유닛 또는 장치로 신호를 전송하기에 적합한 임의의 유형의 연결일 수 있다. 따라서, 묵시적으로 또는 달리 언급되지 않는 한, 연결은 예를 들어 직접 연결 또는 간접 연결일 수 있다. 연결은 단일 연결, 다수의 연결, 단방향 연결 또는 양방향 연결이라는 것을 참조하여 설명되거나 묘사될 수 있다. 그러나, 서로 다른 실시 예들은 연결의 구현을 변화시킬 수 있다. 예를 들어 양방향 연결이 아닌 별도의 단방향 연결을 사용할 수 있으며 그 반대의 경우도 가능할 수 있다. 또한, 다수의 연결은 복수의 신호를 순차적으로 또는 시간 다중화 방식으로 전송하는 단일 연결로 대체될 수 있다. 마찬가지로, 복수의 신호를 전송하는 단일 연결은 이러한 신호의 서브 세트를 전송하는 다양한 연결로 분리될 수 있다. 따라서 신호를 전송하기 위한 많은 옵션들이 존재한다.
비록 특정 전도 형태 또는 전위의 극성이 실시 예에서 기술되었지만, 전도 형태들 및 전위의 극성들이 역전될 수 있다는 것을 이해할 것이다.
통상의 기술자는 논리 블록들 사이의 경계가 단지 예시적인 것이며, 대안적인 실시 예들이 논리 블록들 또는 회로 소자들을 병합하거나 또는 다양한 논리 블록들 또는 회로 소자들 상에 기능의 대체적인 분해를 부과할 수 있음을 인식할 것이다. 따라서, 여기에 도시된 아키텍처는 단지 예시적인 것이며, 사실 동일한 기능을 달성하는 많은 다른 아키텍처가 구현될 수 있다는 것으로 이해되어야 한다.
또한, 예를 들어, 일 실시예에서, 도시된 예들은 단일 집적 회로 상에 또는 동일한 장치 내에 위치된 회로로서 구현될 수 있다. 대안적으로, 상기 예들은 임의의 수의 개별적인 집적 회로들 또는 적합한 방식으로 서로 상호 접속된 개별 장치로서 구현될 수 있다.
다른 변경, 수정, 변형 및 대안들이 또한 가능하다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
용어 "포함하는", "~로 이루어지는", "갖는", "구성되는"및 "본질적으로 이루어진"은 상호 교환 가능한 방식으로 사용된다. 예를 들어, 임의의 방법은 적어도 도면 및/또는 명세서에 포함된 단계(동작)를 포함할 수 있으며, 도면 및/또는 명세서에 포함된 단계(동작)만을 포함할 수 있다. 동일한 용어들이 감지 장치와 시스템에도 동일하게 적용된다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 명세서에서, 본 발명은 본 발명의 실시예에 대한 특정 예를 참조하여 설명되었다. 그러나, 본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (19)

  1. 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하는 동작;
    상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하는 동작; 및
    상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완하는 동작을 포함하는 영상 전송 장치의 동작 방법.
  2. 제1 항에 있어서, 상기 보완하는 동작은,
    상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크(binary mask)로 나타내는 동작;
    상기 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우는 동작;
    상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채우는 동작을 포함하는 영상 전송 장치의 동작 방법.
  3. 제2 항에 있어서,
    상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구하는 동작;
    상기 이진 마스크들을 미리 결정된 프레임 간격 단위로 중첩하는 동작;
    상기 중첩된 이진 마스크에서 영역 확장(region growing)을 실행하여 영상 정보가 존재하는 영역을 추출하는 동작;
    상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성하는 동작; 및
    상기 병합 영상들에 대한 데이터를 전송하는 동작을 더 포함하는 영상 전송 장치의 동작 방법.
  4. 제1 항에 있어서, 상기 기준 영상을 생성하는 동작은,
    상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상으로 생성하는 영상 전송 장치의 동작 방법.
  5. 제2 항에 있어서,
    상기 왜곡 영역은 상기 기준 영상 및 상기 복수의 360도 영상들 간에 영상이 중복되지 않는 영역인 영상 전송 장치의 동작 방법.
  6. 제3 항에 있어서,
    상기 추출 영역을 병합하여 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수의 병합 영상들을 생성하는 동작은,
    상기 추출 영역들 중 적어도 일부를 병합하여 영상을 생성하되,
    상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하는 영상 전송 장치의 동작 방법.
  7. 제6 항에 있어서,
    상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성하는 동작은,
    상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나,
    상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는
    상기 추출 영역들 중 적어도 일부를 회전하여 병합하는 동작인 영상 전송 장치의 동작 방법.
  8. 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하고, 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하고, 상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완한 영상을 생성하는 제어부;
    상기 360도 영상, 상기 기준 영상 및 상기 왜곡 영역이 보완된 영상의 데이터를 인코딩하는 인코더; 및
    영상 재생 장치로 상기 영상 데이터 및 상기 영상 데이터에 대한 영상 정보를 송신하는 통신부를 포함하는 영상 전송 장치.
  9. 제8 항에 있어서, 상기 제어부는,
    상기 왜곡 영역을 축소 및/또는 확장하여 상기 와핑된 360도 영상들을 이진 마스크(binary mask)로 나타내고, 상기 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채워 왜곡 영역이 보완된 영상을 생성하는 영상 전송 장치.
  10. 제8 항에 있어서, 상기 제어부는,
    상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 프레임들의 이진 마스크들을 구하고,
    상기 이진 마스크들을 미리 결정된 프레임 간격 단위로 중첩하고,
    상기 중첩된 이진 마스크에서 영역 확장(region growing)을 실행하여 영상 정보가 존재하는 영역을 추출하고,
    상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 수로 상기 추출 영역을 병합한 영상을 생성하는 영상 전송 장치.
  11. 제8 항에 있어서, 상기 제어부는,
    상기 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상을 선택하여 기준 영상으로 생성하는 영상 전송 장치.
  12. 제10 항에 있어서, 상기 제어부는,
    상기 추출 영역들 중 적어도 일부를 병합하여 새로운 영상을 생성하되, 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 상기 추출 영역들을 배치하여 새로운 영상을 생성하는 영상 전송 장치.
  13. 제12 항에 있어서, 상기 제어부는,
    상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치하거나,
    상기 추출 영역들 중 제1 추출 영역 내의 영상 정보가 없는 영역에 제2 추출 영역이 포함되도록 병합하거나, 또는 상기 추출 영역들 중 적어도 일부를 회전하여 병합하는 영상 전송 장치.
  14. 가상 현실 공간에서 사용자 시점을 감지하는 동작;
    영상 전송 장치로부터 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 상기 감지된 사용자 시점에 해당하는 360도 영상의 영상 데이터의 전송을 요청하는 동작;
    상기 영상 전송 장치로부터 상기 사용자 시점에 해당하는 기준 영상 및 중복성이 제거된 영상에 대한 영상 데이터를 수신하는 동작; 및
    상기 영상 데이터를 기초로 상기 기준 영상 및 중복성이 제거된 영상을 렌더링하여 출력하도록 제어하는 동작을 포함하되,
    상기 기준 영상은 상기 가상 현실 공간에서 서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 영상들 간의 중복성이 가장 큰 영상으로 생성되고,
    상기 중복성이 제거된 영상은 상기 기준 영상을 적어도 하나의 360도 영상으로 와핑한 결과가 미리 설정된 기준 이하인 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 상기 적어도 하나의 360도 영상의 데이터로 보완하여 생성되는 영상 재생 장치의 동작 방법.
  15. 제14 항에 있어서, 상기 중복성이 제거된 영상은,
    상기 왜곡 영역을 나타낸 이진 마스크에서 상기 왜곡 영역에 해당하는 영상 데이터를 상기 360도 영상들 중에서 해당하는 사용자 시점의 360도 영상으로부터 채우고, 상기 이진 마스크에서 상기 왜곡 영역 이외의 영역은 미리 정해진 영상으로 채워져 생성된 영상인 영상 재생 장치의 동작 방법.
  16. 제14 항에 있어서, 상기 중복성이 제거된 영상은,
    상기 왜곡 영역이 보완된 360도 영상들 중에서 특정 사용자 시점의 360도 영상의 이진 마스크들이 미리 결정된 프레임 간격 단위로 중첩되고, 영역 확장(region growing)으로 추출된 상기 중첩된 이진 마스크에서 영상 정보가 존재하는 영역을 병합하여 생성된 병합 영상이고,
    상기 병합 영상의 수는 상기 특정 사용자 시점의 360도 영상을 구성하는 개별 영상들의 수보다 작은 영상 재생 장치의 동작 방법.
  17. 제16 항에 있어서, 상기 병합 영상은,
    상기 추출 영역들 중 적어도 일부가 병합되어 생성되며,
    상기 추출 영역들은 상기 추출 영역들의 영상 정보가 서로 중첩되지 않도록 배치되는 영상 재생 장치의 동작 방법.
  18. 제17 항에 있어서, 상기 영상 데이터는,
    상기 병합 영상의 개수 정보,
    상기 병합 영상에서 상기 추출 영역에 대한 개수 정보, 크기 정보 및 배치 정보, 및
    상기 병합 영상에서 상기 추출 영역 중 적어도 일부에 대한 회전 정보를 포함하는 영상 재생 장치의 동작 방법.
  19. 컴퓨팅장치에서,
    서로 다른 사용자 시점에서 생성된 복수의 360도 영상들 중에서 기준 영상을 생성하는 동작;
    상기 기준 영상을 적어도 하나의 360도 영상으로 와핑(warping)하고, 와핑의 결과가 미리 설정된 기준 이하인 왜곡 영역을 결정하는 동작; 및
    상기 왜곡 영역의 영상 데이터를 상기 왜곡 영역에 대응하는 적어도 하나의 360도 영상의 데이터에 기반하여 보완하는 동작을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.
KR1020190146803A 2019-11-15 2019-11-15 다시점 360도 영상 처리 및 전송 KR102209192B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190146803A KR102209192B1 (ko) 2019-11-15 2019-11-15 다시점 360도 영상 처리 및 전송

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146803A KR102209192B1 (ko) 2019-11-15 2019-11-15 다시점 360도 영상 처리 및 전송

Publications (1)

Publication Number Publication Date
KR102209192B1 true KR102209192B1 (ko) 2021-01-28

Family

ID=74239153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146803A KR102209192B1 (ko) 2019-11-15 2019-11-15 다시점 360도 영상 처리 및 전송

Country Status (1)

Country Link
KR (1) KR102209192B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976288B1 (ko) 2017-12-05 2019-05-07 서울과학기술대학교 산학협력단 다시점 영상 생성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976288B1 (ko) 2017-12-05 2019-05-07 서울과학기술대학교 산학협력단 다시점 영상 생성 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌 1* *

Similar Documents

Publication Publication Date Title
US11700352B2 (en) Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
Wien et al. Standardization status of immersive video coding
US11405643B2 (en) Sequential encoding and decoding of volumetric video
US11388381B2 (en) Suggested viewport indication for panoramic video
KR102493754B1 (ko) 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
CN111164969B (zh) 使用拼接和重新投影相关元数据发送或接收6dof视频的方法和装置
US20170347084A1 (en) Virtual reality panoramic video system using scalable video coding layers
KR101713492B1 (ko) 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 및 영상 부호화 장치
KR102371099B1 (ko) 광시야 비디오를 인코딩하기 위한 구면 회전 기법
KR102166158B1 (ko) 입체 영상 생성 장치, 입체 영상 복원 장치와 이를 포함하는 입체 영상 재생 시스템
US11394946B2 (en) Video transmitting method, video transmitting apparatus, video receiving method, and video receiving apparatus
US10999583B2 (en) Scalability of multi-directional video streaming
JP7376705B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置およびポイントクラウドデータ受信方法
US10958950B2 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
KR101898822B1 (ko) 뷰포트 정보 시그널링을 이용한 가상 현실 비디오 스트리밍
US20210329214A1 (en) An apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
CN115514972A (zh) 视频编解码的方法、装置、电子设备及存储介质
KR101941789B1 (ko) 뷰포트와 타일 크기에 기초한 가상 현실 비디오 전송
KR20220025686A (ko) Mpeg 몰입형 비디오 포맷에서의 프레임 패킹방법
KR102220091B1 (ko) 시선 기반의 360도 영상 스트리밍
KR102259540B1 (ko) 시선 기반의 360도 영상 스트리밍
KR102209192B1 (ko) 다시점 360도 영상 처리 및 전송
KR102183895B1 (ko) 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱
KR101981868B1 (ko) 가상 현실 비디오 품질 제어
US11558597B2 (en) Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant