KR102461032B1 - 영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치 - Google Patents

영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치 Download PDF

Info

Publication number
KR102461032B1
KR102461032B1 KR1020200033089A KR20200033089A KR102461032B1 KR 102461032 B1 KR102461032 B1 KR 102461032B1 KR 1020200033089 A KR1020200033089 A KR 1020200033089A KR 20200033089 A KR20200033089 A KR 20200033089A KR 102461032 B1 KR102461032 B1 KR 102461032B1
Authority
KR
South Korea
Prior art keywords
parameter
image
workflow
parameters
degree
Prior art date
Application number
KR1020200033089A
Other languages
English (en)
Other versions
KR20200111639A (ko
Inventor
이희경
엄기문
서정일
임성용
윤정일
정원식
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US16/822,654 priority Critical patent/US11694303B2/en
Publication of KR20200111639A publication Critical patent/KR20200111639A/ko
Application granted granted Critical
Publication of KR102461032B1 publication Critical patent/KR102461032B1/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/161Encoding, multiplexing or demultiplexing different image signal components
    • 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
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • 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/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터를 획득하는 단계, 영상 스티칭 워크플로우에 적용될 수 있는 기능 리스트를 획득하는 단계, 기능 리스트로부터 선택된 기능들에 기초하여, 영상 스티칭 워크플로우를 생성하는 단계, 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계, 영상 스티칭 워크플로우를 구성하는 작업들을 복수의 미디어 처리 주체에 할당하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법이 제공된다.

Description

영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING 360 STITCHING WORKFLOW AND PARAMETER}
본 개시는 고화질 360도 VR 영상 처리 장치 및 방법에 관한 것이다. 보다 구체적으로, 본 개시는 고화질 360도 VR 방송 서비스에 관한 영상 스티칭 워크플로우가 클라우드 플랫폼의 복수의 미디어 처리 주체에 의하여 수행될 수 있도록, 워크플로우의 각 작업을 복수의 미디어 처리 주체에 분배하는 장치 및 방법을 제공한다. 또한 본 개시는 고화질 360도 VR 방송 서비스에 관한 영상 스티칭 워크플로우에 관한 파라미터를 제공한다.
디지털 방송의 출현은 방송국에서 일방적으로 송출한 신호를 시청하던 전통적 방송 방식을 사용자가 원하는 시간에 원하는 콘텐츠만을 선택적으로 시청할 수 있는 형태로 변화시켰다. 또한 광대역 전송 기술의 발전은 대역폭 한계를 극복하면서 시청자에게 4K 이상의 고화질 실감 미디어(예를 들어, UHDTV, 3DTV 등)를 제공할 수 있는 실감형 방송서비스를 제공할 수 있게 되었다
360도 가상현실(virtual reality, VR) 미디어는 시청자에게 전방위 영상을 제공함으로써 원하는 뷰(view)를 선택하여 볼 수 있는 미디어로서, 최근 방송망 접목을 통해 360도 VR 미디어를 서비스하려는 노력이 가속화되고 있다. 현재 일반적으로 적용되고 있는 360도 VR 미디어의 경우 전체 4K 또는 FHD급 VR 미디어를 동시에 제공할 수 있는데, 시청자에게 시청자가 원하는 뷰 또는 관심 영역(Region of Interest, RoI)을 지연 없이 제공할 수 있는 장점이 있으나, 실제 시청자의 움직임에 따라 재생되는 뷰의 화질이 열화되는 문제가 있다. 또한, 다른 형태로써, 시청자의 움직임 또는 시청자가 선택한 뷰의 정보에 기초하여 해당 영역에 대해 스트리밍하는 360도 VR 서비스는, 상대적으로 고화질의 뷰를 제공할 수 있으나 사용자 움직임에 따라 그에 응답하여 고화질의 영상을 재생하기 위한 지연시간(Motion to Photon, MTP)이 길어지는 문제가 있다.
360도 VR 미디어 관련 기술로서 파노라마 비디오 방송서비스 인식 및 관련 비디오 특성을 나타내기 위한 시그널링을 제공하는 기술, 썸네일(thumbnail) 영상을 우선 전송하고 수신기에서는 썸네일에 기초하여 요청된 특정 영역의 데이터를 전송하는 기술 또는 파노라마 비디오를 일정 영역의 타일로 분류하고 사용자가 선택한 영역에 대한 타일의 데이터만을 전송하는 기술 등이 있다. 이러한 기존의 기술들은 파노라마 방송서비스를 제공하기 위한 시그널링, 타일링 전송 및 동기화 방법 등을 제안하고 있으나, 고화질 360도 VR 영상에 대하여 방송망 환경 하에서 사용자의 움직임 또는 사용자의 선택에 기반한 360도 VR 방송서비스를 제공하기 어렵다는 문제가 있다.
본 개시는 고화질 360도 VR 영상 처리 장치 및 방법에 관한 것이다. 본 개시에서, 영상 스티칭(stitching)의 워크플로우를 생성하기 위한 각종 파라미터가 제공된다. 그리고 영상 스티칭 프로세스에 많은 컴퓨팅 리소스가 필요한 바, 영상 스티칭에 필요한 작업(task)을 복수의 미디어 처리 주체에 할당하는 방법 및 장치가 제안된다.
본 개시에서, 영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터를 획득하는 단계, 상기 영상 스티칭 워크플로우에 적용될 수 있는 기능(function) 리스트를 획득하는 단계, 상기 기능 리스트로부터 선택된 기능들에 기초하여, 상기 영상 스티칭 워크플로우를 생성하는 단계, 상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계, 상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법이 제공된다.
일 실시 예에 따르면, 상기 영상 스티칭 워크플로우 생성 방법은, 상기 영상 스티칭 워크플로우를 구성하는 현재 작업에 대한 설정 정보를 결정하고, 상기 현재 작업에 대한 설정 정보를 작업 관리자에게 전송하는 단계, 및 상기 작업 관리자에 의하여 상기 현재 작업에 대한 성공적인 설정이 확인되는 경우, 상기 작업 관리자로부터 상기 현재 작업 바로 후 수행되는 다음 작업에 대한 접근 정보를 획득하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 영상 스티칭 워크플로우 생성 방법은, 상기 360도 VR 영상 파라미터 중 컨텐트에 따라 변경되는 컨텐트-종속 파라미터의 변경이 있는 경우, 상기 변경된 컨텐트-종속 파라미터에 관련된 작업에 대한 설정 정보를 업데이트하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 미디어 소스로부터, 영상 스티칭에 대한 요청이 중단될 때, 상기 360도 VR 영상 파라미터를 획득하는 단계 내지 상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계의 수행이 중단될 수 있다.
일 실시 예에 따르면, 상기 영상 스티칭 워크플로우를 구성하는 작업들은, 부호화된 미가공 영상을 복호화하는 단계, 상기 복호화된 미가공 영상의 특징점을 추출하는 단계, 상기 특징점에 기초하여, 카메라 파라미터를 추출하는 단계, 상기 카메라 파라미터에 기초하여, 상기 복호화된 미가공 영상을 투사체에 투사함으로써, 360도 VR 영상을 생성하는 단계, 상기 카메라 파라미터에 기초하여, 상기 360도 VR 영상의 경계선 정보를 결정하는 단계, 상기 경계선 정보에 기초하여, 상기 360도 VR 영상을 후처리하는 단계, 및 상기 후처리된 360도 VR 영상을 부호화하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 360도 VR 영상 파라미터는, 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 360도 VR 영상 파라미터는, 설정 파라미터를 포함하고, 상기 설정 파라미터는 미디어 파라미터, 특징 파라미터, 카메라 파라미터, 프로젝션 파라미터, 스티칭 파라미터, 및 클라우드 파라미터 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 미디어 파라미터는 코덱 파라미터, 크로마 파라미터, fps 파라미터, gop 파라미터, 해상도 파라미터 중 적어도 하나를 포함하고, 상기 특징 파라미터는 특징 추출 방법 파라미터, 특징점 개수 파라미터, 특징점 위치 파라미터, 선택적 특징 대응점 파라미터 중 적어도 하나를 포함하고, 상기 카메라 파라미터는 초점거리 파라미터, 주점 파라미터, 비대칭 계수 파라미터, 이동 파라미터, 및 회전 파라미터 중 적어도 하나를 포함하고, 상기 프로젝션 파라미터는 프로젝션 타입 파라미터를 포함하고, 상기 스티칭 파라미터는 경계점 위치 파라미터 및 경계점 마스크 파라미터 중 적어도 하나를 포함하고, 상기 클라우드 파라미터는 쓰레드 개수 파라미터 및 GPU 개수 파라미터 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 클라우드 파라미터는 상기 영상 스티칭 워크플로우를 수행하기 위하여 필요한 컴퓨팅 리소스를 나타내고, 상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계는, 상기 클라우드 파라미터에 따라, 상기 미디어 처리 주체의 개수를 결정할 수 있다.
본 개시에서, 하나 이상의 프로세서 및 하나 이상의 메모리 디바이스를 포함하는, 영상 스티칭 워크플로우를 생성하는 영상 스티칭 워크플로우 생성 장치에 있어서, 상기 하나 이상의 프로세서는 상기 하나 이상의 메모리 디바이스에 저장된 영상 스티칭 워크플로우 생성을 위한 프로그램의 하나 이상의 명령을 수행하고, 상기 하나 이상의 메모리 디바이스는 상기 영상 스티칭 워크플로우 생성을 위한 프로그램을 저장하며, 상기 하나 이상의 명령들은, 영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터를 획득하는 단계, 상기 영상 스티칭 워크플로우에 적용될 수 있는 기능(function) 리스트를 획득하는 단계, 상기 기능 리스트로부터 선택된 기능들에 기초하여, 상기 영상 스티칭 워크플로우를 생성하는 단계, 상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계, 상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치가 제공된다.
일 실시 예에 따르면, 상기 하나 이상의 명령들은, 상기 영상 스티칭 워크플로우를 구성하는 현재 작업에 대한 설정 정보를 결정하고, 상기 현재 작업에 대한 설정 정보를 작업 관리자에게 전송하는 단계, 및 상기 작업 관리자에 의하여 상기 현재 작업에 대한 성공적인 설정이 확인되는 경우, 상기 작업 관리자로부터 상기 현재 작업 바로 후 수행되는 다음 작업에 대한 접근 정보를 획득하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 하나 이상의 명령들은, 상기 360도 VR 영상 파라미터 중 컨텐트에 따라 변경되는 컨텐트-종속 파라미터의 변경이 있는 경우, 상기 변경된 컨텐트-종속 파라미터에 관련된 작업에 대한 설정 정보를 업데이트하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 미디어 소스로부터, 영상 스티칭에 대한 요청이 중단될 때, 상기 하나 이상의 명령들의 수행이 중단될 수 있다.
본 개시에서, 360도 VR 영상의 영상 스티칭에 필요한 360도 VR 영상 파라미터가 포함된 비트스트림을 포함하는 컴퓨터로 판독가능한 기록 매체에 있어서, 상기 360도 VR 영상 파라미터는 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 기록 매체가 제공된다.
카메라에서 동기화된 여러 영상을 하나의 스티칭된 360도 VR 영상으로 전환함으로써, 사용자에게 3DoF (Degree of Freedom) 경험이 제공될 수 있다. 그러나 3DoF 360 컨텐츠에 많은 양의 데이터가 있는 경우, 독립형 서버에서 3DoF 360 컨텐츠를 처리하기 어렵다. 그러므로, 복수의 처리 주체에 따른 네트워크 기반 영상 스티칭에 따라 상기 문제점이 해결될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 카메라 영상 및 카메라 깊이 영상을 이용한 360도 VR 영상의 처리 방법을 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른 복수의 처리 주체에 따른 영상 스티칭을 위한 미디어 시스템을 도시한다.
도 3은 본 개시의 일 실시 예에 따른 영상 스티칭의 작업을 수행하기 위한 워크플로우를 자세히 설명한다.
도 4는 다중 경로 타입(Multi-path type)에 따른 중요 영역(Preserved Region)을 결정하는 방법을 나타낸다.
도 5는 본 개시의 일 실시 예에 따른, 영상 스티칭 워크플로우 생성 방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 발명의 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 개시에서 360도 VR 영상을 생성하기 위한 스티칭(stitching) 방법에 대한 다양한 실시 예가 설명된다. 본 개시에서 상기 스티칭 방법을 클라우드 환경에서 실시하기 위한 방법에 대한 다양한 실시 예가 설명된다.
도 1은 본 개시의 일 실시 예에 따른 360도 VR 영상의 처리 방법을 나타내는 도면이다.
미디어 처리 소스(100)는 설정 정보(102), 미디어 소스(104), 및 메타데이터(106)를 포함한다. 설정 정보(102) 및 메타데이터(106)는 복수의 입력 비디오 스트림에 관련된 정보를 나타낸다. 미디어 소스(104)는 360도 VR 영상의 재료가 되는 미가공 영상을 포함한다. 일 실시 예에 따라, 미디어 소스(104)는 텍스쳐 영상 및 깊이 영상을 포함할 수 있다. 또는 일 실시 예에 따라, 미디어 소스(104)는 텍스쳐 영상만을 포함할 수 있다. 미디어 처리 소스(100)의 설정 정보(102), 미디어 소스(104), 및 메타데이터(106)는 미디어 처리 주체(110)로 전송된다.
미디어 처리 주체(110)는 설정 정보(102) 및 메타데이터(106)에 따라, 미디어 소스(104)의 영상을 스티칭한다. 도 1에는 영상 스티칭에 필요한 세부 단계들이 도시되어 있다. 상기 도 1에 따른 영상 스티칭에 따라 360도 VR 영상이 생성된다. 그리고 360도 VR 영상은 360도 VR 영상을 처리하는 어플리케이션(120)으로 전송될 수 있다.
미디어 처리 주체(110)는 이하 설명될 도 2의 워크플로우 관리자(202)에 의하여, 설정된다. 영상 스티칭 워크플로우가 단일 처리 주체에 의하여 처리될 수 없다고 판단되면, 미디어 처리 주체(110)는 2개 이상 설정될 수 있다. 만약 영상 스티칭 워크플로우가 단일 처리 주체에 의하여 처리될 수 있다고 판단되면, 미디어 처리 주체(110)는 1개만 설정될 수 있다. 상기 미디어 처리 주체(110)는 도 2의 워크플로우 관리자(202)에 의하여 도 2의 클라우드 플랫폼(210)에서 생성될 수 있다.
만약 미디어 처리 주체(110)가 2개 이상 설정될 경우, 도 1의 단계 130 내지 단계 142에 따른 작업들이 복수의 미디어 처리 주체(110)에 할당될 수 있다. 따라서, 많은 컴퓨팅 리소스를 필요로 하는 영상 스티칭 작업이 복수의 미디어 처리 주체(110)에 의하여 빠르게 처리될 수 있다.
영상 스티칭 작업이 복수의 미디어 처리 주체(110)에 의하여 처리될 경우, 상기 작업들의 할당을 위하여, 영상 스티칭에 관련된, 예를 들어, 영상 복호화, 특징점 추출, 카메라 파라미터 추출, 영상 프로젝션, 경계선 정보 추출, 블렌딩, 후처리 및 영상 부호화 등과 같은 세부적인 작업에 대한 설정 정보, 인풋 및 아웃풋 설명자, 및 메타 데이터가 필요하다. 상기 정보는 복수의 처리 주체에서 여러 작업들 간의 인터페이스를 처리하기 위해 사용된다. 이를 위하여, 영상 스티칭 프로세스의 각 작업에 사용할 미디어, 기능, 카메라, 프로젝션, 스티칭 및 클라우드 매개 변수와 같은 세부 정보가 영상 스티칭의 각 세부 단계에 적용된다. 이하, 영상 스티칭의 세부 단계 (단계 130 내지 142)에 대하여 자세히 설명된다.
단계 130에서, 부호화된 영상이 복호화된다. 구체적으로, 단계 130에서 여러 스레드 또는 GPU의 연산에 따라, 미디어 소스(104)의 부호화된 미가공 영상이 복호화된다. 또한, 미디어 소스(104) 뿐만 아니라, 클라우드 파라미터부터 부호화된 미디어 데이터 피드가 단계 130의 복호화에 사용될 수 있다. 상기 미가공 영상은 후처리 등이 적용되지 않은 원본 영상을 나타낸다.
단계 132에서, 단계 130에서 복호화된 미가공 영상으로부터 특징점이 추출된다. 상기 특징점은 복수의 영상에서 특정 물체를 추적하거나 인식할 때, 영상과 영상을 매칭하는 기준이 되는 지점을 의미한다. 특징점을 기준으로 분포하는 픽셀들의 값을 분석함으로써, 서로 다른 영상 간에 유사한 부분이 검출된다. 따라서, 단계 132에서 인접한 미가공 영상들 간의 특징점을 비교함으로써, 인접한 미가공 영상들 간의 대응점이 결정될 수 있다. 그리고 상기 대응점에 따라, 인접한 미가공 영상들 간에 스티칭 프로세스가 수행될 수 있다.
단계 134에서, 특징점 및 대응점 세트에 따라, 외부 및 내부 카메라 파라미터가 계산된다. 상기 외부 카메라 파라미터는 카메라의 촬영 각도, 촬영 위치 등을 포함한다. 상기 내부 카메라 파라미터는 카메라의 초점거리, 주점, 비대칭 계수 등을 포함한다.
일 실시 예에 따르면, 상기 특징점 및 대응점을 분석함으로써, 2개의 인접한 영상들의 촬영에 사용된 2개의 카메라 간의 촬영 각도 및 촬영 위치의 차이가 계산될 수 있다. 따라서, 상기 특징점 및 대응점에 따라, 카메라의 외부 파라미터가 결정될 수 있다.
일 실시 예에 따르면, 상기 특징점 및 대응점을 분석함으로써, 상기 2개의 카메라의 초점거리, 주점, 비대칭 계수의 차이가 계산될 수 있다. 따라서, 상기 특징점 및 대응점에 따라, 카메라의 내부 파라미터가 결정될 수 있다.
또한, 단계 134에서, 선택적으로 카메라 파라미터에 기초한 영상 왜곡 보정 프로세스가 수행될 수 있다. 일 실시 예에 따르면, 상기 영상 왜곡 보정 프로세스는 렌즈 특성에 따른 영상 왜곡을 보정하는 프로세스일 수 있다.
단계 136에서, 단계 134에서 결정된 카메라 파라미터에 기초하여, 구면, 큐브, 다면체 및 ERP(EquiRectangular Projection)에 단계 130에서 복호화된 미가공 영상들이 투사된다. 구체적으로, 카메라 파라미터 및 영상 프로젝션 면에 기초하여, 영상들이 기하학적으로 정렬된다. 그리고 기하학적으로 정렬된 영상들이 영상 프로젝션 면에 투사된다. 상기 영상 프로젝션의 결과, 360도 VR 영상이 생성된다.
단계 138에서, 단계 136에서 생성된 360도 VR 영상으로부터 상기 인접한 영상들의 경계선에 대한 스티칭 파라미터가 추출된다. 상기 스티칭 파라미터는 상기 경계선의 위치에 대한 경계선 위치 파라미터 또는 영상에서 경계선에 해당되는 영역을 나타내는 경계선 마스크 파라미터를 포함할 수 있다. 상기 경계선에 대한 스티칭 파라미터는 단계 134로부터 결정된 카메라 파라미터에 기초하여 결정될 수 있다.
단계 138에서, 상기 인접한 영상의 중복 영역에 이전 시점에 존재하지 않던 객체가 갑자기 나타날 때, 스티칭 파라미터 업데이트될 수 있다. 따라서, 중복 영역의 변화에 따라, 경계선 위치 파라미터 또는 경계선 마스크 파라미터가 변경될 수 있다.
단계 140에서, 단계 136에서 생성된 360도 VR 영상의 중복 영역에 대하여 블렌딩, 색 보정 및 노이즈 필터링 프로세스 등이 수행될 수 있다. 상기 블렌딩, 색 보정 및 노이즈 필터링 프로세스 등은 단계 138에서 추출된 경계선 정보에 기초하여 수행될 수 있다.
상기 블렌딩 프로세스는, 360도 VR 영상의 중복 영역에 대응되는 2개의 부분 영상을 섞어서, 360도 VR 영상이 하나의 연속된 영상으로 시각적으로 인식될 수 있도록 처리하는 프로세스이다. 상기 색 보정 프로세스는 360도 VR 영상을 구성하는 영상들이 하나의 영상으로 인식될 수 있도록, 색상, 명도 및 채도 등과 같은 색 파라미터를 조절하는 프로세스를 의미한다. 노이즈 필터링 프로세스는 영상의 노이즈를 제거하는 프로세스를 의미한다. 단계 140의 프로세스에 따라, 복수의 영상으로부터 생성된 360도 VR 영상이 시각적으로 하나의 영상으로 인지될 수 있다.
단계 142에서, 단계 140에서 처리된 360도 VR 영상이 부호화된다. 상기 단계 142의 부호화는 클라우드 파라미터에 따라 수행될 수 있다. 그리고 상기 부호화된 360도 VR 영상은 클라우드 플랫폼에 의하여 출력될 수 있다.
상기 단계 130 내지 단계 142를 거쳐서, 부호화된 2차원 영상으로 구성된 비디오 스트림으로부터 부호화된 360도 VR 영상으로 구성된 비디오 스트림이 생성된다. 실시 예에 따라, 단계 130 내지 단계 142의 순서가 일부 변경될 수 있으며, 소정의 단계가 생략될 수 있다. 또한, 단계 130 내지 단계 142의 중간에, 영상 처리 분야에서 관용적인 영상 처리 기법이 적용될 수 있다. 단계 130 내지 단계 142에 대응되는 명령은 도 2의 클라우드 플랫폼(210)에서 수행될 수 있다. 이하, 표 1에서, 단계 130 내지 단계 142의 각 작업에 대한 설명, 입력 및 출력이 설명되어 있다.
작업 설명 입력 출력
복호화 여러 스레드 또는 GPU를 사용한, 미디어 소스의 부호화된 비디오 스트림 피드를 미가공 비디오 스트림으로 변환하는 비디오 유형 변환이 포함됨. 미디어 소스 및 미디어 및 클라우드 파라미터로부터 부호화된 미디어 데이터 피드 미가공 영상과 같은 복호화된 미디어 데이터
특징점 추출 특징점 추출 및 인접한 미가공 영상들 간의 대응점 매칭 프로세스가 포함됨. 정렬(스티칭)할 미가공 영상 및 특징 추출 방법 추출된 특징점 및 대응 세트
카메라 파라미터 추출 특징점 및 대응 세트를 사용한 외부 및 내부 카메라 파라미터의 계산을 포함. 선택적으로, 카메라 파라미터를 사용한 영상 왜곡 보정 프로세스가 포함됨. 추출된 특징점 및 대응 세트 외부 및 내부 카메라 파라미터 및 렌즈 왜곡 보정 영상
프로젝션 카메라 파라미터에 기초하여, 구면, 큐브, 다면체 및 ERP(EquiRectangular Projection)에 기하학적 정렬에 따른 영상 프로젝션이 포함됨. 외부 및 내부 카메라 파라미터 및 렌즈 왜곡 보정 영상 360도 VR 영상
경계선 정보 추출 경계선 정보 추출 및 중복 영역에 객체가 갑자기 나타날 때 필요한 업데이트 프로세스가 포함됨. 360도 VR 영상 및 경계선 위치 및 경계선 마스크에 대한 최초 추출된 스티칭 파라미터 경계선 위치 또는 경계선 마스크를 포함하는 추출 또는 업데이트된 스티칭 파라미터
블렌딩 및 후처리 360도 VR 영상의 중복 영역의 블렌딩, 색 보정 및 노이즈 필터링이 포함됨. 360도 VR 영상 및 스티칭 파라미터 블렌딩 및 후처리된 360도 VR 영상
부호화 여러 스레드 또는 GPU를 사용한, 블렌딩 및 후처리된 360도 VR 영상의 비디오 부호화가 포함됨. 블렌딩 및 후처리된 360도 VR 영상과 클라우드 파라미터 부호화된 360 투사 영상 (클라우드 플랫폼의 출력일 수 있음)
미디어 서비스 제공자는 상기의 단계 130 내지 142에 따른 워크플로우를 사용하여, 사용자에게 영상 스티칭 서비스를 제공할 수 있다. 미디어 서비스 제공자의 작업 디렉토리는 표 1의 각 작업에 대한 세부 사항을 포함할 수 있다. 그리고 도 2의 워크플로우 관리자(202)는 표 1의 각 작업을 선택하여 도 1에 설명된 워크플로우를 준비할 수 있다. 이하, 도 1에서 설명된 단계 130 내지 단계 142에 따른 영상 스티칭 프로세스를 복수의 미디어 처리 주체(110)에 분배하는 미디어 시스템(200)이 설명된다.
도 2는 본 개시의 일 실시 예에 따른 복수의 처리 주체에 따른 영상 스티칭을 위한 미디어 시스템(200)을 도시한다.
미디어 시스템(200)은 워크플로우 관리자(202), 미디어 소스(204), 기능 레지스트리(206), 미디어 작업 관리자(208) 및 클라우드 플랫폼(210) 등을 포함한다. 도 2의 미디어 시스템(200)은 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시할 뿐, 본 개시의 미디어 시스템(200)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다. 예컨대, 둘 이상의 구성요소가 하나의 구성요소 내에서 구현될 수도 있고, 하나의 구성요소에서 실행되는 동작이 분할되어 둘 이상의 구성요소에서 실행되도록 구현될 수도 있다. 또한, 일부 구성요소가 생략되거나 부가적인 구성요소가 추가될 수도 있다.
워크플로우 관리자(202), 미디어 소스(204), 기능 레지스트리(206) 및 미디어 작업 관리자(208)는 각각 별도의 프로세서에 의하여 동작될 수 있다. 또는 워크플로우 관리자(202), 미디어 소스(204), 기능 레지스트리(206) 및 미디어 작업 관리자(208) 중 전부 또는 일부는 하나의 프로세서에 의하여 동작될 수 있다. 그리고 워크플로우 관리자(202), 미디어 소스(204), 기능 레지스트리(206) 및 미디어 작업 관리자(208)는 각각 영상 스티칭을 위한 정보를 저장하기 위한 메모리 디바이스를 포함할 수 있다.
워크플로우 관리자(202)는 영상 스티칭을 위한 워크플로우를 생성할 수 있다. 그리고 워크플로우 관리자(202)는 클라우드 플랫폼(210)에 상기 워크플로우에 포함된 복수의 작업을 수행하기 위한 복수의 미디어 처리 주체를 생성할 수 있다.
클라우드 플랫폼(210)은 복수의 프로세서를 포함한다. 그리고 클라우드 플랫폼(210)에 설정된 복수의 미디어 처리 주체에 의하여, 영상 스티칭을 위하여 필요한 작업들이 수행될 수 있다. 이하, 워크플로우 관리자(202)에 의한 영상 스티칭의 워크플로우 설정 방법이 이하 도 3에서 자세히 설명된다.
도 3은 본 개시의 일 실시 예에 따른 영상 스티칭의 작업을 수행하기 위한 워크플로우를 자세히 설명한다.
단계 S302에서, 미디어 소스(204)는, CreateWorkflow API(Application Programming Interface)를 사용하여, 영상 스티칭에 대한 요청과 함께, 영상 스티칭을 위한 워크플로우를 생성한다. 상기 CreateWorkflow API는 워크플로우 생성을 위한 전용 API이다. 그리고 미디어 소스(204)는, 상기 생성된 워크플로우를 설명하는 워크플로우 설명 문서를 생성하고, 상기 워크플로우 설명 문서를 워크플로우 관리자(202)에 전송한다. 워크플로우 관리자(202)는 전송된 워크플로우 설명 문서에 따라, 워크플로우를 생성한다.
워크플로우 설명 문서는 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 등을 포함할 수 있다.
일반 설명자 파라미터는 워크플로우의 ID, 명칭, 설명자, 브랜드, 우선도 등을 포함한다. 입력 설명자 파라미터는 입력될 영상의 코덱 유형, 프레임 속도, 해상도, 입력 뷰 수, 메타데이터 스트림, 및 메타 데이터 수집 포맷 등과 같은 미디어 파라미터를 포함한다. 출력 설명자 파라미터 는 워크플로우에 의하여 출력될 스티칭 영상의 코덱 유형, 프레임 속도, 게시 포맷, 메타데이터 스트림, 및 메타 데이터 수집 포맷 등과 같은 미디어 파라미터를 포함한다. 처리 설명자 파라미터는, 영상 스티칭의 각 작업들의 처리 유형 및 각 작업들 간의 연결 정보에 대한 파라미터를 포함한다. 요구 사항 설명자 파라미터는, 지연 요구 사항 등의, 전체 워크플로우에 대한 요구 사항에 대한 파라미터를 포함한다. 클라이언트 지원 설명자 파라미터는 워크 플로우에 대한 클라이언트 지원에 대한 파라미터를 포함한다. 대체 작동 설명자 파라미터는 워크플로우의 시스템 대체 작동에 대한 파라미터를 포함한다. 모니터링 설명자 파라미터는 워크 플로우의 모니터링 유형에 대한 파라미터를 포함한다. 보고 설명자 파라미터는 워크플로우의 모니터링에 대한 결과를 보고하는 유형, 주기, 시작시간 등을 나타내는 파라미터를 포함한다.
이하, 표 2에 워크플로우 설명 문서의 각 설명자 파라미터와 설명자 파라미터에 포함된 하위 파라미터들의 일 실시 예가 설명되어 있다.
번호 파라미터 추가 설명
1 General Descriptor 요구되는 워크플로우의 세부사항이 제공됨. 이하 파라미터의 리스트가 설명됨:● ID: m-360VR stitching
명칭: m-360VR stitching
설명자: 복수의 처리 주체에 따른 360VR 스티칭 워크플로우
브랜드: urn:mpeg:nbmp:2019:functions: m-360VRStitcher
우선도:2
2 InputDescriptor 미디어 소스가 상기 워크플로우에 사용하려 하는 입력을 설명하는 정보가 제공됨.● 미디어 파라미터:
미디어 설명자의 총 개수 N. 각 미디어 설명자는 아래의 미디어 파라미터를 포함함.
■ 미디어 스트림 Id: 미디어 스트림의 MediaStreamId
■ 코덱 타입: HEVC
■ 미디어 타입: Video
■ 코덱 클럭 레이트: 60fps
■ 프로토콜: MMT
■ 발생점(origination): 미디어 스트림의 URL
메타데이터 파라미터:
메타데이터 스트림 Id: 관심있는 뷰 스트림에 대한 메타 데이터 설명의 MetadataStreamId
메타데이터 사전: MORE
프로토콜: <ingest-protocol>
메타 데이터 수집 포맷: JSON
발생점(origination): 메타데이터 스트림의 URL
3 OutputDescriptor 미디어 소스가 상기 워크플로우에 사용하려 하는 출력을 설명하는 정보가 제공됨.● 미디어 파라미터:
○ 스트림 정보
■ 미디어 스트림 Id: MediaStreamId of output media stream
■ 스트림 태그: stream-tag
■ 대역폭: Bandwidth
■ 코덱 타입: AVC, HEVC, VVC
■ 미디어 타입: Video
■ 클럭 레이트: 60fps
■ 프로토콜: <protocol>
■ 목적지: <destination-location>
■ 게시 포맷: OMAF
메타데이터 파라미터:
메타데이터 스트림 Id: n/a
메타데이터 사전: MPEG-I Metadata
프로토콜: n/a
메타 데이터 수집 포맷: JSON
발생점(origination): URL of the Metadata stream
4 ProcessingDescriptor 미디어 소스에서 설정하려는 처리 유형에 대한 세부 정보가 제공됨.● Keyword Search for Tasks: 360VR stitching, multiple processing entities
TaskConnectionMap: 정적 워크플로우의 서로 다른 작업들 간의 연결 정보
<OutputTask.OutputPort,InputTask.InputPort>

· Decoding[0..n].outputFrame, FeaturepointExtraction[0..n].inputFrame
· FeaturepointExtraction[0..n].outputFeatureArray, CameraParameterExtraction.inputFeatureArray
· CameraParameterExtraction.outputCameraParameters, Projection.inputCameraParameters
· Decoding[0..n].outputFrame, Projection[0..n].inputFrame
· CameraParameterExtraction.outputCameraParameters, SeamInformationExtraction.inputCameraParameters
· Projection[0..n].outputFrame, SeamInformationExtraction.inputFrame
· SeamInformationExtraction.outputSeamMasks, BlendingandPostProcessing.inputSeamMasks
· Projection[0..n].outputFrame, BlendingandPostProcessing.inputFrame
BlendingandPostProcessing.outputFrame, Encoding.inputFrame
5 RequirementDescriptor 전체 워크 플로우에 대한 요구 사항 정보가 지정됨. 상기 정보는 이하의 사항을 포함함.● QoS 요구사항: end-to-end 워크플로우를 위한 자세한 QoS 요구사항
지연 요구사항: 실시간
프로세싱 요구사항:
하드웨어 요구사항:
GPU: 4
CPU 코어: 8
배치 요구사항:
위치: <network-edge>
보안 요구사항: 불필요
6 ClientAssistance 워크 플로우에 대한 클라이언트 지원 정보가 제공됨.● Device-capabilities: n/a
User-preferences: n/a
7 FailoverDescriptor 상기 워크플로우의 시스템 대체 작동(failover) 케이스의 정보가 제공됨.● FailoverMode:
ExecuteBackupDeployment
FailoverDelay: 0
상태 지속성 설명자:
BackupDeployment:
8 MonitoringDescriptor 상기 워크 플로우의 모니터링 유형에 대한 정보가 제공됨. 상기 정보는 이하의 사항을 포함함:● 이벤트: CRITICAL event
변수: No need
시스템: No need
9 ReportingDescriptor Report-type: <Consumption, QoS>● Reporting-Interval: 120
Reporting-start-time: <start-time>
URL: <reporting-server-URL>
단계 304에서, 워크플로우 관리자(202)는 영상 스티칭을 위한 워크플로우에 배치될 기능을 찾기 위하여, 쿼리 또는 쿼리 세트를 기능 레지스트리(206)에 전송한다. 상기 쿼리 또는 쿼리 세트는, 단계 302의 워크플로우 설명 문서에 의하여 요구되는 워크플로우의 기능을 설명한다. 그리고 기능 레지스트리(206)는 미디어 시스템(200)에서 지원하는 기능들의 리스트를 보관한다.
단계 306에서, 각 쿼리에 대하여, 기능 레지스트리(206)는 영상 스티칭에 사용될 수 있는 기능들, 그리고 그것들의 설명 및 구성 정보의 목록을 워크플로우 관리자(202)에 제공한다. 기능 레지스트리(206)는 미디어 시스템(200)에서 지원하는 기능들의 리스트와 쿼리 또는 쿼리 세트에 설명된 워크플로우의 기능들의 설명을 비교한다. 그리고 기능 레지스트리(206)는 미디어 시스템(200)에서 지원되는 기능들 중, 상기 워크플로우에 적용될 수 있는 기능들의 리스트를 워크플로우 관리자(202)에 제공할 수 있다.
단계 308에서, 워크플로우 관리자(202)는 단계 306에서 기능 레지스트리(206)로부터 제공된 기능들의 리스트로부터 상기 워크플로우에 필요한 기능들을 선택한다. 그리고, 워크플로우 관리자(202)는, 클라우드 플랫폼(210)에 접속하여, 상기 선택된 기능들의 요구 사항에 따라, 클라우드 플랫폼(210)에 하나 이상의 미디어 처리 주체들을 생성할 수 있다.
단계 310에서, 클라우드 플랫폼(210)은 하나 이상의 미디어 처리 주체의 생성을 확인한다. 그리고 클라우드 플랫폼(210)은 하나 이상의 미디어 처리 주체에 대한 네트워크 액세스 정보의 생성을 확인할 수 있다. 클라우드 플랫폼(210)은 하나 이상의 미디어 처리 주체의 생성되었음을 워크플로우 관리자(202)에 전달한다.
단계 312에서, 워크플로우 관리자(202)는 각 작업(task)에 대한 설정 정보를 생성한다. 그리고 워크플로우 관리자(202)는 작업 관리자(208)에게 각 작업마다 설정 정보를 전송한다. 상기 설정 정보를 작업 관리자(208)에게 전송하기 위하여, 작업 API가 사용될 수 있다. 작업 API는 설정 정보를 생성하기 위한 전용 API이다
단계 314에서, 작업 관리자(208)는 각 작업에 대한 성공적인 설정이 이루어졌는지 확인한다. 만약 현재 작업에 대한 성공적인 설정이 이루어진 경우, 작업 관리자(208)는 워크플로우 관리자(202)가 다음 작업에 접근할 수 있도록 접근 정보를 생성한다. 그리고 작업 관리자(208)는 워크플로우 관리자(202)에게 접근 정보를 생성한다. 각 작업에 대하여 단계 312와 단계 314가 수행됨으로써, 전체 워크플로우에 대한 성공적인 설정이 이루어졌는지 확인될 수 있다.
단계 316에서, 워크플로우 관리자(202)는 워크플로우의 생성을 확인하고, 미디어 소스(204)에 영상 스티칭을 위한 미디어 처리가 시작될 수 있음을 알린다. 그리고 미디어 소스(204)에서 제공되는 미디어 소스(104)가 상기 워크플로우에 따라 처리됨으로써, 360도 VR 이미지가 생성될 수 있다.
일 실시 예에 따르면, 워크플로우 관리자(202)는 각 작업의 출력과 관련된 컨텐트-종속 파라미터를 지속적으로 모니터링할 수 있다. 컨텐트-종속 파라미터는 컨텐트에 따라 변경되는 파라미터를 의미한다. 비디오의 다음 세그먼트에 대해 각 작업의 일부 컨텐트-종속 파라미터를 변경해야 하는 경우, 워크플로우 관리자(202)는 작업 API를 사용하여 설정 정보를 업데이트할 수 있다. 그리고 워크플로우 관리자(202)는 업데이트된 설정 정보를 해당 작업으로 전송할 수 있다.
일 실시 예에 따르면, 영상 스티칭에 대한 요청이 없을 경우 (또는 요청이 중단될 경우), 미디어 소스(204)는 DeleteWorkflow API 를 사용하여, 영상 스티칭을 중단할 수 있다.
도 2 및 도 3에서, 단계 302 내지 단계 316에서 스티칭 워크플로우의 생성 및 스티칭 워크플로우의 프로세스가 복수의 주체가 상호작용하여 실시되는 것으로 설명되었다. 그러나 일 실시 예에 따르면, 도 2 및 도 3과 달리, 워크플로우 관리자(202), 미디어 소스(204), 기능 레지스트리(206), 미디어 작업 관리자(208)의 기능이 모두 클라우드 플랫폼(210)에서 처리될 수 있다. 따라서 일 실시 예에 따르면, 클라우드 플랫폼(210)에서 스티칭에 대한 워크플로우 생성에 필요한 모든 작업이 수행될 수 있다.
이상 설명된 바와 같이, 워크플로우에서 사용되는 기능(function)을 설정하고, 워크플로우의 작업을 수행하기 위한 적절한 개수의 미디어 처리 주체를 생성하고, 워크플로우의 각 작업의 설정 정보를 결정하기 위하여, 워크플로우의 작업들에 대한 많은 파라미터들이 필요하다.
이하, 표 3는 영상 스티칭 기능 참조 템플릿의 파라미터 리스트의 일 실시 예를 나타낸다. 표 3에서 워크플로우에 대한 파라미터의 타입과 설명이 더 구체적으로 설명된다.
설명자 파라미터 명칭 타입 설명
General ID 스트링 기능 저장소로부터 제공됨
Name 스트링 "m-360VRStitcher"
Description 스트링 "360 VR stitcher with multiple processing entities"
Brand 스트링 "urn:mpeg:nbmp:2019:functions:m-360VRStitcher"
InputPorts 적어도 하나의 입력 미디어와 함께, 선택적으로 입력 메타데이터가 포함될 수 있음.
OutputPorts 적어도 하나의 출력 미디어와 함께, 선택적으로 출력 메타데이터가 포함될 수 있음.
Input Media Parameters 오브젝트 스티칭 할 (인코딩 된) 영상 또는 비디오.m-360VRstitcher의 입력 미디어 능력이 제공됨
● 스트림 개요: CMAF, OMAF, ISOBMFF
● 미디어 스트림 Id: n/a
● 코덱 타입: AVC, HEVC, VVC
● 미디어 타입: Video, Image
● 코덱 클럭 레이트: 24fps, 25fps, 30fps, 50fps, 60fps
● 프로토콜: n/a
● 발생점(origination): n/a
Metadata Parameters 오브젝트 m-360VRstitcher의 입력 메타데이터 능력이 제공됨● 스트림 개요: MORE, MPEG-V[W사1]
● 메타데이터 스트림 Id: n/a
● 메타데이터 사전: MORE, MPEG-V
● 프로토콜: n/a
● 메타 데이터 수집 포맷: JSON, ISOBMFF, XML
● 발생점(origination): URL of the Metadata stream
Output Media Parameters 오브젝트 m-360VRstitcher의 출력 미디어 능력이 제공됨● 스트림 개요: OMAF
● 미디어 스트림 Id: n/a
● 코덱 타입: AVC, HEVC, VVC
● 미디어 타입: Video, Image
● 코덱 클럭 레이트: 24fps, 25fps, 30fps, 50fps, 60fps
● 프로토콜: MPEG-DASH, MPEG-MMT, MPEG2-TS
● 발생점(origination): n/a
Metadata Parameters 오브젝트 m-360VRstitcher의 출력 메타데이터 능력이 제공됨● 메타데이터 개요: MPEG-I Metadata, MORE
● 메타데이터 스트림 Id: n/a
● 메타데이터 사전 MPEG-I Metadata, MORE
● 프로토콜: n/a
● 메타 데이터 수집 포맷: JSON, ISOBMFF, XML
● 발생점(origination): URL of the Metadata stream
Processing Keywords 어레이 키워드의 개수· "m-360vrstitching"
· "m-360 stitching"
TaskConnectionMap 정적 워크플로우의 다른 작업들 간의 연결 정보 <OutputTask.OutputPort,InputTask.InputPort>
● Decoding[0..n].outputFrame, FeaturepointExtraction[0..n].inputFrame
● FeaturepointExtraction[0..n].outputFeatureArray, CameraParameterExtraction.inputFeatureArray
● CameraParameterExtraction.outputCameraParameters, Projection.inputCameraParameters
● Decoding[0..n].outputFrame, Projection[0..n].inputFrame
● CameraParameterExtraction.outputCameraParameters, SeamInformationExtraction.inputCameraParameters
● Projection[0..n].outputFrame, SeamInformationExtraction.inputFrame
● SeamInformationExtraction.outputSeamMasks, BlendingandPostProcessing.inputSeamMasks
● Projection[0..n].outputFrame, BlendingandPostProcessing.inputFrame
● BlendingandPostProcessing.outputFrame, Encoding.inputFrame
Requirements QoS Requirements 오브젝트 ● 모든 입력 비디오는 MORE 에 기초하여 동기화되어야 함
Processing Requirements 오브젝트 ● 프로세싱 요구사항:○ 하드웨어 요구사항:
■ GPU: 4
■ CPU 코어: 8
○ 배치 요구사항:
■ 위치: <network-edge>
Security Requirements 오브젝트 n/a
Configuration Parameters 어레이 기능 파라미터● 미디어 파라미터 (코덱, 크로마, fps, gop, 해상도)
● 특징 파라미터 (특징 추출 방법, 특징점 개수, 특징점 위치, 선택적 특징 대응점)
● 카메라 파라미터 (내부 및 외부 파라미터: 카메라의 초점거리, 주점, 비대칭 계수, 카메라의 이동 및 회전 파라미터)
● 프로젝션 파라미터 (프로젝션 타입)
● 스티칭 파라미터 (경계점 위치 및 경계점 마스크)
● 클라우드 파라미터(쓰레드의 개수, GPU의 개수)
ClientAssistance clientAssistanceFlag 부울 계수
Device Capabilities 스트링
User Preferences 스트링
Monitoring Variable 어레이
Assertion Assertions 오브젝트
상기 표 3의 처리(processing) 설명자 파라미터의 TaskConnectionMap 파라미터에는 단계 130 내지 142에서 설명된 영상 스티칭의 워크플로우의 각 작업에 대한 연결 정보가 포함된다. TaskConnectionMap에 대한 설명에 따르면, 상기 연결 정보는 “<OutputTask.OutputPort,InputTask.InputPort>”의 형태로 제공된다. OutputTask는 출력 작업을 나타내고, InputTask는 입력 작업을 나타낸다. 그리고 OutputPort는 출력 작업에 따른 출력 정보의 형태를 나타내고, InputPort는 입력 작업을 위한 입력 정보의 형태를 나타낸다.
예를 들어, ”Decoding[0..n].outputFrame, FeaturepointExtraction[0..n].inputFrame” 출력 작업은 복호화이고, 복호화 작업의 종결에 따라 출력 프레임이 생성됨을 나타낸다. 또한, 상기 구문은 입력 작업은 특징점 추출이며, 특징점 추출 작업을 위하여 입력 프레임이 입력됨을 나타낸다. 또한 상기 구문에 따라, 복호화 작업의 출력 정보가 특징점 추출 작업에 입력됨을 알 수 있다.
표 3의 TaskConnectionMap에 따른 연결 정보에 따라 영상 스티칭 워크플로우를 구현할 때, 영상 스티칭의 세부 단계가 도 1의 단계 130 내지 142와 마찬가지로 구현됨을 알 수 있다.
표 3에는 설정 파라미터(Configuration parameter)가 정의되어 있다. 설정 파라미터에는 영상 스티칭 워크플로우에 필요한 작업들의 설정 정보를 위한 하위 파라미터가 포함된다. 예를 들어, 미디어 파라미터는 코덱, 크로마, fps(frame per second), gop(group of pictures), 해상도에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다. 특징 파라미터는 특징 추출 방법, 특징점 개수, 특징점 위치, 선택적 특징 대응점 에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다. 카메라 파라미터는 카메라의 초점거리(focal length), 주점(principal point), 비대칭 계수(skew coefficient), 카메라의 이동 및 회전(translation and rotation) 등에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다. 프로젝션 파라미터는 프로젝션 타입 등에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다. 스티칭 파라미터는 경계점 위치 및 경계점 마스크 등에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다. 클라우드 파라미터는 쓰레드의 개수, GPU의 개수 등에 관한 하위 파라미터를 포함하는 어레이 형태의 데이터로 표현될 수 있다.
이하, 표 4 내지 표 9에서 영상 스티칭의 각 작업에 필요한 파라미터들의 실시 예들이 설명된다.
표 4는 미디어 파라미터의 실시 예를 나타낸다.
파라미터 명칭 타입 파라미터 설명
Codec 스트링 비디오 코덱 타입. 예) h.264/avc, h.265/hevc 등 영상 코덱 타입. 예) png, jpg 등.
Chroma 스트링 크로마 서브샘플링 타입 yuv420, yuv422, yuv444 etc.
Fps 숫자 Frame 초당 프레임, 30, 60 등.
Gop 숫자 GOP 크기, 15, 30 등.
Resolution 스트링 해상도 3840x2160, 7680 x 4320 등.
표 5은 특징 파라미터의 실시 예를 나타낸다.
파라미터 명칭 타입 파라미터 설명
Feature extraction method 스트링 특징점 검출 방법 예)SIFT, SURF, KAZE, AKAZE, ORB, BRISK, BRIEF, LoG 등.
Feature point number 숫자 특징점의 개수
Feature point positions 어레이 x, y 좌표들에 따라 특정되는 특징점의 위치
Feature correspondence 스트링 각 특징점의 대응점
표 6은 카메라 파라미터의 실시 예를 나타낸다.
파라미터 명칭 타입 파라미터 설명
Camera_shutter_type 스트링 "rolling" 또는 "global"
Camera_sync_skew 숫자 0 if in synch, milliseconds for out of synch, -1 if not known
Capturing_settings 오브젝트 장면 타입 (실내 또는 실외), 주변 조명의 노출도 등.
Camera_extrinsics 오브젝트 3D 공간에서 영상을 정렬하기 위한 카메라 변환 파라미터 (카메라의 이동 및 회전 파라미터)
Camera_intrinsics 오브젝트 3D 공간에서 영상을 정렬하기 카메라 내부 파라미터 (카메라의 초점거리, 주점, 비대칭 계수)
표 7은 프로젝션 파라미터의 실시 예를 나타낸다.
파라미터 명칭 타입 파라미터 설명
Projection_type 스트링 프로젝션 타입 예) 등장방형, 정방형, 원형 실린더형 등.
표 8는 스티칭 파라미터의 실시 예를 나타낸다.
파라미터 명칭 타입 파라미터 설명
Seam_positions 어레이 최종 스티칭 품질에 영향을 미치는 보간 영역. 영역 구조는 일련의 픽셀 포인트 (시작점, 교차점, 끝점)로 표시될 수 있음.
Seam_mask 오브젝트 선택적으로, 보간된 영역 위치는 보다 정교한 스티칭 프로세스를 위해 1 또는 0 값 만을 갖는 마스크 이미지로 표현될 수 있음. URL 또는 URI로 마스크 이미지를 배치할 수도 있음.
Preserved_regions 어레이 복수의 미디어가 아래의 타입들 중 하나의 타입으로 처리될 때, 중요 영역이 제공됨.- Input media stream id
- RectangleType{left, right, top, bottom}
- RegionMask{Mask_image}
-DepthMask{Mask_Grey_image}
-MultipathType(Array of 2D Points)

Stitching_method 스트링 부분 또는 전부 스티칭 접근으로 특정되는 특정 스티칭 알고리즘.
Seam_extent_of_freedom 숫자 경계 영역이 움직일 수 있는 자유도, 예. 수평 방향
도 4는 다중 경로 타입(Multi-path type)에 따른 중요 영역(Preserved Region)을 결정하는 방법을 나타낸다. 도 4에 따르면, (x1, y1) 내지 (x5, y5)에 따른 5개의 지점에 따라 중요 영역이 결정될 수 있다. 실시 예에 따라, 중요 영역을 결정하기 위한 지점의 개수는 다르게 설정될 수 있다.
표 9은 클라우드 파라미터의 실시 예를 나타낸다.
파라미터 타입 파라미터 설명
Thread number 숫자 사용되는 쓰레드의 개수
GPU number 숫자 사용되는 GPU의 개수
표 4 내지 표 9에서 설명된 실시 예들의 파라미터에 따라, 영상 스티칭의 각 작업이 설정될 수 있다.
도 5는 본 개시의 일 실시 예에 따른, 영상 스티칭 워크플로우 생성 방법의 흐름도이다.
단계 502에서, 영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터가 획득된다.
단계 504에서, 영상 스티칭 워크플로우에 적용될 수 있는 기능(function) 리스트가 획득된다.
단계 506에서, 기능 리스트로부터 선택된 기능들에 기초하여, 영상 스티칭 워크플로우가 생성된다.
단계 508에서, 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체가 생성된다.
단계 510에서, 영상 스티칭 워크플로우를 구성하는 작업들이 복수의 미디어 처리 주체에 할당된다.
상기 영상 스티칭 워크플로우 생성 방법은, 영상 스티칭 워크플로우를 구성하는 현재 작업에 대한 설정 정보를 결정하고, 현재 작업에 대한 설정 정보를 작업 관리자에게 전송하는 단계 및 작업 관리자에 의하여 현재 작업에 대한 설정이 확인되는 경우, 작업 관리자로부터 현재 작업 바로 후 수행되는 다음 작업에 대한 접근 정보를 획득하는 단계를 더 포함할 수 있다.
상기 영상 스티칭 워크플로우 생성 방법은, 360도 VR 영상 파라미터 중 컨텐트에 따라 변경되는 컨텐트-종속 파라미터의 변경이 있는 경우, 변경된 컨텐트-종속 파라미터에 관련된 작업에 대한 설정 정보를 업데이트하는 단계를 더 포함할 수 있다.
상기 영상 스티칭 워크플로우 생성 방법은, 미디어 소스로부터, 영상 스티칭에 대한 요청이 중단될 때, 상기 도 5의 각 단계들의 수행이 중단되도록 설정될 수 있다.
상기 영상 스티칭 워크플로우를 구성하는 작업들은 부호화된 미가공 영상을 복호화하는 단계, 복호화된 미가공 영상의 특징점을 추출하는 단계, 특징점에 기초하여, 카메라 파라미터를 추출하는 단계, 카메라 파라미터에 기초하여, 복호화된 미가공 영상을 투사체에 투사함으로써, 360도 VR 영상을 생성하는 단계, 카메라 파라미터에 기초하여, 360도 VR 영상의 경계선 정보를 결정하는 단계, 경계선 정보에 기초하여, 360도 VR 영상을 후처리하는 단계, 후처리된 360도 VR 영상을 부호화하는 단계를 포함할 수 있다.
상기 360도 VR 영상 파라미터는, 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함할 수 있다.
상기 360도 VR 영상 파라미터는, 설정 파라미터를 포함하고, 상기 설정 파라미터는 미디어 파라미터, 특징 파라미터, 카메라 파라미터, 프로젝션 파라미터, 스티칭 파라미터, 및 클라우드 파라미터 중 적어도 하나를 포함할 수 있다. 상기 클라우드 파라미터는 상기 영상 스티칭 워크플로우를 수행하기 위하여 필요한 컴퓨팅 리소스를 나타내고, 상기 클라우드 파라미터에 따라, 상기 미디어 처리 주체의 개수를 결정될 수 있다.
상술한 실시 예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터를 획득하는 단계;
    상기 영상 스티칭 워크플로우에 적용될 수 있는 기능(function) 리스트를 획득하는 단계;
    상기 기능 리스트로부터 선택된 기능들에 기초하여, 상기 영상 스티칭 워크플로우를 생성하는 단계;
    상기 360도 VR 영상 파라미터를 기초로 상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하는 단계;
    상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계; 및
    상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  2. 제1항에 있어서,
    상기 영상 스티칭 워크플로우 생성 방법은,
    상기 영상 스티칭 워크플로우를 구성하는 현재 작업에 대한 설정 정보를 결정하고, 상기 현재 작업에 대한 설정 정보를 작업 관리자에게 전송하는 단계; 및
    상기 작업 관리자에 의하여 상기 현재 작업에 대한 설정이 확인되는 경우, 상기 작업 관리자로부터 상기 현재 작업 바로 후 수행되는 다음 작업에 대한 접근 정보를 획득하는 단계를 더 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  3. 제2항에 있어서,
    상기 영상 스티칭 워크플로우 생성 방법은,
    상기 360도 VR 영상 파라미터 중 컨텐트에 따라 변경되는 컨텐트-종속 파라미터의 변경이 있는 경우, 상기 변경된 컨텐트-종속 파라미터에 관련된 작업에 대한 설정 정보를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  4. 제1항에 있어서,
    미디어 소스로부터, 상기 영상 스티칭에 대한 요청이 중단될 때, 상기 360도 VR 영상 파라미터를 획득하는 단계 내지 상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계의 수행이 중단되는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  5. 제1항에 있어서,
    상기 영상 스티칭 워크플로우를 구성하는 작업들은,
    부호화된 미가공 영상을 복호화하는 단계;
    상기 복호화된 미가공 영상의 특징점을 추출하는 단계;
    상기 특징점에 기초하여, 카메라 파라미터를 추출하는 단계;
    상기 카메라 파라미터에 기초하여, 상기 복호화된 미가공 영상을 투사체에 투사함으로써, 360도 VR 영상을 생성하는 단계;
    상기 카메라 파라미터에 기초하여, 상기 360도 VR 영상의 경계선 정보를 결정하는 단계;
    상기 경계선 정보에 기초하여, 상기 360도 VR 영상을 후처리하는 단계; 및
    상기 후처리된 360도 VR 영상을 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  6. 제1항에 있어서,
    상기 360도 VR 영상 파라미터는, 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  7. 제1항에 있어서,
    상기 360도 VR 영상 파라미터는, 설정 파라미터를 포함하고,
    상기 설정 파라미터는 미디어 파라미터, 특징 파라미터, 카메라 파라미터, 프로젝션 파라미터, 스티칭 파라미터, 및 클라우드 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  8. 제7항에 있어서,
    상기 클라우드 파라미터는 상기 영상 스티칭 워크플로우를 수행하기 위하여 필요한 컴퓨팅 리소스를 나타내고,
    상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하고, 상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계는,
    상기 클라우드 파라미터에 따라, 상기 미디어 처리 주체의 개수를 결정하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 방법.
  9. 하나 이상의 프로세서 및 하나 이상의 메모리 디바이스를 포함하는, 영상 스티칭 워크플로우를 생성하는 영상 스티칭 워크플로우 생성 장치에 있어서,
    상기 하나 이상의 프로세서는 상기 하나 이상의 메모리 디바이스에 저장된 영상 스티칭 워크플로우 생성을 위한 프로그램의 하나 이상의 명령을 수행하고,
    상기 하나 이상의 메모리 디바이스는 상기 영상 스티칭 워크플로우 생성을 위한 프로그램을 저장하며,
    상기 하나 이상의 명령들은,
    영상 스티칭에 대한 요청 및 영상 스티칭 워크플로우의 생성에 필요한 360도 VR 영상 파라미터를 획득하는 단계;
    상기 영상 스티칭 워크플로우에 적용될 수 있는 기능(function) 리스트를 획득하는 단계;
    상기 기능 리스트로부터 선택된 기능들에 기초하여, 상기 영상 스티칭 워크플로우를 생성하는 단계;
    상기 360도 VR 영상 파라미터를 기초로 상기 영상 스티칭 워크플로우를 구성하는 작업들을 처리하기 위하여 필요한 미디어 처리 주체의 개수를 결정하는 단계;
    상기 결정된 미디어 처리 주체의 개수에 따라, 복수의 미디어 처리 주체를 생성하는 단계; 및
    상기 영상 스티칭 워크플로우를 구성하는 작업들을 상기 복수의 미디어 처리 주체에 할당하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  10. 제9항에 있어서,
    상기 하나 이상의 명령들은,
    상기 영상 스티칭 워크플로우를 구성하는 현재 작업에 대한 설정 정보를 결정하고, 상기 현재 작업에 대한 설정 정보를 작업 관리자에게 전송하는 단계; 및
    상기 작업 관리자에 의하여 상기 현재 작업에 대한 성공적인 설정이 확인되는 경우, 상기 작업 관리자로부터 상기 현재 작업 바로 후 수행되는 다음 작업에 대한 접근 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  11. 제10항에 있어서,
    상기 하나 이상의 명령들은,
    상기 360도 VR 영상 파라미터 중 컨텐트에 따라 변경되는 컨텐트-종속 파라미터의 변경이 있는 경우, 상기 변경된 컨텐트-종속 파라미터에 관련된 작업에 대한 설정 정보를 업데이트하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  12. 제9항에 있어서,
    미디어 소스로부터, 영상 스티칭에 대한 요청이 중단될 때, 상기 하나 이상의 명령들의 수행이 중단되는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  13. 제9항에 있어서,
    상기 영상 스티칭 워크플로우를 구성하는 작업들은,
    부호화된 미가공 영상을 복호화하는 단계;
    상기 복호화된 미가공 영상의 특징점을 추출하는 단계;
    상기 특징점에 기초하여, 카메라 파라미터를 추출하는 단계;
    상기 카메라 파라미터에 기초하여, 상기 복호화된 미가공 영상을 투사체에 투사함으로써, 360도 VR 영상을 생성하는 단계;
    상기 카메라 파라미터에 기초하여, 상기 360도 VR 영상의 경계선 정보를 결정하는 단계;
    상기 경계선 정보에 기초하여, 상기 360도 VR 영상을 후처리하는 단계; 및
    상기 후처리된 360도 VR 영상을 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  14. 제9항에 있어서,
    상기 360도 VR 영상 파라미터는, 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  15. 제9항에 있어서,
    상기 360도 VR 영상 파라미터는, 설정 파라미터를 포함하고,
    상기 설정 파라미터는 미디어 파라미터, 특징 파라미터, 카메라 파라미터, 프로젝션 파라미터, 스티칭 파라미터, 및 클라우드 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  16. 제15항에 있어서,
    상기 클라우드 파라미터는 상기 영상 스티칭 워크플로우를 수행하기 위하여 필요한 컴퓨팅 리소스를 나타내고,
    상기 하나 이상의 명령들은,
    상기 클라우드 파라미터에 따라, 상기 미디어 처리 주체의 개수를 결정하는 것을 특징으로 하는 영상 스티칭 워크플로우 생성 장치.
  17. 360도 VR 영상의 영상 스티칭에 필요한 360도 VR 영상 파라미터가 포함된 비트스트림을 포함하는 컴퓨터로 판독가능한 기록 매체에 있어서,
    상기 360도 VR 영상 파라미터는 일반 설명자 파라미터, 입력 설명자 파라미터, 출력 설명자 파라미터, 프로세싱 설명자 파라미터, 요구사항 설명자 파라미터, 클라이언트 지원 설명자 파라미터, 대체 작동(failover) 설명자 파라미터, 모니터링 설명자 파라미터, 및 보고 설명자 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 기록 매체.
  18. 제17항에 있어서,
    상기 360도 VR 영상 파라미터는, 설정 파라미터를 포함하고,
    상기 설정 파라미터는 미디어 파라미터, 특징 파라미터, 카메라 파라미터, 프로젝션 파라미터, 스티칭 파라미터, 및 클라우드 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 기록 매체.
  19. 제18항에 있어서,
    상기 클라우드 파라미터는 영상 스티칭 워크플로우를 수행하기 위하여 필요한 컴퓨팅 리소스를 나타내고,
    상기 클라우드 파라미터에 따라, 영상 스티칭 워크플로우의 처리를 위한 미디어 처리 주체의 개수를 결정되는 것을 특징으로 하는 컴퓨터로 판독가능한 기록 매체.
  20. 제18항에 있어서,
    상기 미디어 파라미터는 코덱 파라미터, 크로마 파라미터, fps 파라미터, gop 파라미터, 해상도 파라미터 중 적어도 하나를 포함하고,
    상기 특징 파라미터는 특징 추출 방법 파라미터, 특징점 개수 파라미터, 특징점 위치 파라미터, 선택적 특징 대응점 파라미터 중 적어도 하나를 포함하고,
    상기 카메라 파라미터는 초점거리 파라미터, 주점 파라미터, 비대칭 계수 파라미터, 이동 파라미터, 및 회전 파라미터 중 적어도 하나를 포함하고,
    상기 프로젝션 파라미터는 프로젝션 타입 파라미터를 포함하고,
    상기 스티칭 파라미터는 경계점 위치 파라미터 및 경계점 마스크 파라미터 중 적어도 하나를 포함하고,
    상기 클라우드 파라미터는 쓰레드 개수 파라미터 및 GPU 개수 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 기록 매체.
KR1020200033089A 2019-03-19 2020-03-18 영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치 KR102461032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/822,654 US11694303B2 (en) 2019-03-19 2020-03-18 Method and apparatus for providing 360 stitching workflow and parameter

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20190031415 2019-03-19
KR1020190031415 2019-03-19
KR1020190035223 2019-03-27
KR20190035223 2019-03-27
KR20190080820 2019-07-04
KR1020190080820 2019-07-04

Publications (2)

Publication Number Publication Date
KR20200111639A KR20200111639A (ko) 2020-09-29
KR102461032B1 true KR102461032B1 (ko) 2022-10-31

Family

ID=72661147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200033089A KR102461032B1 (ko) 2019-03-19 2020-03-18 영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102461032B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160115466A (ko) * 2015-03-27 2016-10-06 한국전자통신연구원 파노라믹 비디오를 스티칭하는 장치 및 이를 위한 스티칭 방법
KR102498815B1 (ko) * 2016-07-21 2023-02-13 삼성전자주식회사 전자 장치 및 전자 장치의 비디오 편집 방법

Also Published As

Publication number Publication date
KR20200111639A (ko) 2020-09-29

Similar Documents

Publication Publication Date Title
US11694303B2 (en) Method and apparatus for providing 360 stitching workflow and parameter
US11653065B2 (en) Content based stream splitting of video data
JP6833348B2 (ja) 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
JP6808357B2 (ja) 情報処理装置、制御方法、及び、プログラム
US20180204381A1 (en) Image processing apparatus for generating virtual viewpoint image and method therefor
US8953079B2 (en) System and method for generating 360 degree video recording using MVC
US20180295400A1 (en) Enhancing A Region Of Interest In Video Frames Of A Video Stream
US20180310010A1 (en) Method and apparatus for delivery of streamed panoramic images
US20160277772A1 (en) Reduced bit rate immersive video
RU2718118C2 (ru) Устройство для обработки информации и способ обработки информации
CN110115041B (zh) 生成装置、识别信息生成方法、再现装置和图像生成方法
EP3434021B1 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
JP2007295559A (ja) ビデオ処理および表示
WO2020057249A1 (zh) 图像处理方法、装置、系统、网络设备、终端及存储介质
KR102461032B1 (ko) 영상 스티칭 워크플로우 및 파라미터 제공 방법 및 장치
US20200226716A1 (en) Network-based image processing apparatus and method
US11706375B2 (en) Apparatus and system for virtual camera configuration and selection
KR20220101565A (ko) 360도 영상 스티칭 장치 및 방법
KR102461031B1 (ko) 네트워크 기반의 영상 처리 방법 및 이를 위한 장치
KR102337699B1 (ko) 영상 처리 장치 및 방법
TWI828091B (zh) 全景影像傳輸系統、方法以及電腦程式產品
KR102658474B1 (ko) 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치
KR102499900B1 (ko) 고해상도 영상의 스트리밍을 위한 영상 전송 장치와 영상 재생 장치 및 그 동작 방법
Niamut et al. Advanced visual rendering, gesture-based interaction and distributed delivery for immersive and interactive media services
Macq et al. Application Scenarios and Deployment Domains

Legal Events

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