KR20190010646A - 제어 디바이스, 제어 방법 및 저장 매체 - Google Patents
제어 디바이스, 제어 방법 및 저장 매체 Download PDFInfo
- Publication number
- KR20190010646A KR20190010646A KR1020187037416A KR20187037416A KR20190010646A KR 20190010646 A KR20190010646 A KR 20190010646A KR 1020187037416 A KR1020187037416 A KR 1020187037416A KR 20187037416 A KR20187037416 A KR 20187037416A KR 20190010646 A KR20190010646 A KR 20190010646A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- camera
- data
- unit
- virtual
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4347—Demultiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Studio Devices (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Closed-Circuit Television Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
시스템을 위한 제어 디바이스는 복수의 카메라를 사용해서 복수의 방향에서 촬영을 수행함으로써 획득되는 화상 데이터에 기초하여 가상 시점 화상을 생성한다. 제어 디바이스는 가상 시점 화상의 생성과 연관된 가상 시점을 지정하기 위한 유저에 의해 발행된 지시를 수신하도록 구성되는 수신 유닛, 수신 유닛에 의해 수신된 지시에 기초하여 가상 시점의 지정이 제한되는 제한 영역을 지정하기 위한 제한 정보를 획득하도록 구성되는 획득 유닛- 제한 영역은 화상 데이터와 연관된 파라미터에 따라 변경됨 -, 및 획득 유닛에 의해 획득된 제한 정보에 기초하여 통지를 수행하도록 구성되는 통지 유닛을 포함한다.
Description
본 발명은 가상 시점 화상을 생성하는 시스템에 관한 것이다.
최근에, 상이한 카메라를 상이한 위치에 설치하여 다시점에서 동기 촬영을 수행함으로써 획득된 복수 시점 화상을 사용해서 가상 시점 콘텐츠를 생성하는 기술이 주목받고 있다. 위에서 설명된 복수 시점 화상을 사용해서 가상 시점 콘텐츠를 생성하는 기술에 따르면, 유저는 축구나 농구의 하이라이트 장면을 통상의 화상들에 비해 더 현실감있게 다양한 각도에서 시청할 수 있다.
복수 시점 화상에 기초하는 가상 시점 콘텐츠의 생성 및 열람은, 복수의 카메라가 촬영한 화상들을 화상 프로세서에 수집하고, 화상 프로세서를 사용해서 3D 모델 생성 및 렌더링을 포함하는 처리들을 수행하고, 처리된 화상들을 유저 단말기에 송신함으로써 실현될 수 있다.
또한, 특허문헌 1은 시점들이 되지 않는 위치들 또는 시청되지 않는 방향들을 향하지 않도록 가상 카메라들을 설정하는 기술을 개시한다.
그러나, 특허문헌 1에서는, 상황에 따라 변경되는 범위 내에서 시점이 지정되지 않을 수 있다. 따라서, 가상 시점 화상에서의 시점 설정 가능 범위가 카메라 동작 상태에 따라 변경되는 경우에, 설정 가능 범위 밖으로 시점이 지정되면, 원하는 가상 시점 화상이 생성되지 않을 수 있다.
본 발명의 실시예에 따르면, 시스템을 위한 제어 디바이스는 복수의 카메라를 사용해서 복수의 방향에서 촬영을 수행함으로써 획득되는 화상 데이터에 기초하여 가상 시점 화상을 생성한다. 제어 디바이스는 가상 시점 화상의 생성과 연관된 가상 시점을 지정하기 위한 유저에 의해 발행된 지시를 수신하도록 구성되는 수신 유닛(reception unit), 수신 유닛에 의해 수신된 지시에 기초하여 가상 시점의 지정이 제한되는 제한 영역을 지정하기 위한 제한 정보를 획득하도록 구성되는 획득 유닛- 제한 영역은 화상 데이터와 연관된 파라미터에 따라 변경됨 -, 및 획득 유닛에 의해 획득된 제한 정보에 기초하여 통지를 수행하도록 구성되는 통지 유닛을 포함한다.
본 발명의 추가 특징들은 첨부된 도면들을 참조하여 예시적인 실시예들에 대한 다음의 설명으로부터 명백해질 것이다.
[도 1] 도 1은 화상 처리 시스템의 구성을 설명하는 도면이다.
[도 2] 도 2는 카메라 어댑터의 기능 구성을 설명하는 블록도이다.
[도 3] 도 3은 화상 프로세서의 구성을 설명하는 블록도이다.
[도 4] 도 4는 프론트-엔드 서버의 기능 구성을 설명하는 블록도이다.
[도 5] 도 5는 프론트-엔드 서버에 포함된 데이터 입력 컨트롤러의 구성을 설명하는 블록도이다.
[도 6] 도 6은 데이터베이스의 기능 구성을 설명하는 블록도이다.
[도 7] 도 7은 백-엔드 서버의 기능 구성을 설명하는 블록도이다.
[도 8] 도 8은 가상 카메라 조작 UI의 기능 구성을 설명하는 블록도이다.
[도 9] 도 9는 엔드-유저 단말기의 접속 구성을 설명하는 도면이다.
[도 10] 도 10은 엔드-유저 단말기의 기능 구성을 설명하는 블록도이다.
[도 11] 도 11은 전체 워크플로우의 흐름도이다.
[도 12] 도 12는 기재(machinery) 설치 전에 워크플로우의 흐름도이다.
[도 13] 도 13은 기재 설치시에 워크플로우의 흐름도이다.
[도 14] 도 14는 촬영 전에 워크플로우의 흐름도이다.
[도 15] 도 15는 제어 스테이션에 의해 수행된 촬영시에 확인 워크플로우의 흐름도이다.
[도 16] 도 16은 가상 카메라 조작 UI에 의해 수행된 촬영시에 유저 워크플로우의 흐름도이다.
[도 17] 도 17은 설치시에 캘리브레이션의 전체 처리를 설명하는 시퀀스도이다.
[도 18] 도 18은 촬영 전에 프론트-엔드 서버 동작의 흐름도이다.
[도 19] 도 19는 촬영 전에 데이터베이스 동작의 흐름도이다.
[도 20] 도 20은 촬영 중에 데이터베이스 동작의 흐름도이다.
[도 21] 도 21은 설치시에 캘리브레이션 처리의 흐름도이다.
[도 22a] 도 22a는 촬영 개시 처리를 설명하는 시퀀스도이다.
[도 22b] 도 22b는 촬영 개시 처리를 설명하는 시퀀스도이다.
[도 23] 도 23은 3D 모델 정보를 생성하는 처리를 설명하는 시퀀스도이다.
[도 24] 도 24는 3D 모델 정보를 생성하는 처리의 흐름도이다.
[도 25] 도 25는 3D 모델 정보를 생성하는 처리의 흐름도이다.
[도 26] 도 26은 주시점 그룹들을 설명하는 도면이다.
[도 27] 도 27은 바이패스 송신 제어를 설명하는 도면이다.
[도 28] 도 28은 바이패스 제어를 설명하는 도면이다.
[도 29] 도 29는 데이터 송신 플로우를 설명하는 도면이다.
[도 30] 도 30은 송신 데이터 삭감 처리의 흐름도이다.
[도 31] 도 31은 파일 생성 처리의 흐름도이다.
[도 32] 도 32는 데이터베이스에 파일을 기입하는 처리의 흐름도이다.
[도 33] 도 33은 데이터베이스에서 파일을 판독하는 처리의 흐름도이다.
[도 34a] 도 34a는 촬영 화상을 예시하는 도면이다.
[도 34b] 도 34b는 촬영 화상을 예시하는 도면이다.
[도 34c] 도 34c는 촬영 화상을 예시하는 도면이다.
[도 35a] 도 35a는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35b] 도 35b는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35c] 도 35c는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35d] 도 35d는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35e] 도 35e는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 36] 도 36은 가상 카메라 화상 생성 처리를 설명하는 시퀀스도이다.
[도 37a] 도 37a는 가상 카메라를 설명하는 도면이다.
[도 37b] 도 37b는 가상 카메라를 설명하는 도면이다.
[도 38a] 도 38a는 라이브 화상 생성 처리의 흐름도이다.
[도 38b] 도 38b는 라이브 화상 생성 처리의 흐름도이다.
[도 39] 도 39는 재생 화상 생성 처리의 흐름도이다.
[도 40] 도 40은 가상 카메라 경로 선택의 흐름도이다.
[도 41] 도 41은 엔드-유저 단말기가 표시하는 화면을 예시하는 도면이다.
[도 42] 도 42는 애플리케이션 관리 유닛에 의해 수행되는 수동 조작 처리의 흐름도이다.
[도 43] 도 43은 애플리케이션 관리 유닛에 의해 수행되는 자동 조작 처리의 흐름도이다.
[도 44] 도 44는 렌더링 처리의 흐름도이다.
[도 45] 도 45는 전경 화상 생성 처리의 흐름도이다.
[도 46] 도 46은 설치 후에 수행되는 워크플로우에 의해 생성되는 설정 리스트를 도시하는 도면이다.
[도 47] 도 47은 제어 스테이션에 의해 수행되는 설정 정보 변경 처리를 설명하는 시퀀스도이다.
[도 48] 도 48은 프론트-엔드 서버에 의해 수행되는 데이터 수신 처리의 흐름도이다.
[도 49] 도 49는 카메라 어댑터의 하드웨어 구성을 도시하는 블록도이다.
[도 2] 도 2는 카메라 어댑터의 기능 구성을 설명하는 블록도이다.
[도 3] 도 3은 화상 프로세서의 구성을 설명하는 블록도이다.
[도 4] 도 4는 프론트-엔드 서버의 기능 구성을 설명하는 블록도이다.
[도 5] 도 5는 프론트-엔드 서버에 포함된 데이터 입력 컨트롤러의 구성을 설명하는 블록도이다.
[도 6] 도 6은 데이터베이스의 기능 구성을 설명하는 블록도이다.
[도 7] 도 7은 백-엔드 서버의 기능 구성을 설명하는 블록도이다.
[도 8] 도 8은 가상 카메라 조작 UI의 기능 구성을 설명하는 블록도이다.
[도 9] 도 9는 엔드-유저 단말기의 접속 구성을 설명하는 도면이다.
[도 10] 도 10은 엔드-유저 단말기의 기능 구성을 설명하는 블록도이다.
[도 11] 도 11은 전체 워크플로우의 흐름도이다.
[도 12] 도 12는 기재(machinery) 설치 전에 워크플로우의 흐름도이다.
[도 13] 도 13은 기재 설치시에 워크플로우의 흐름도이다.
[도 14] 도 14는 촬영 전에 워크플로우의 흐름도이다.
[도 15] 도 15는 제어 스테이션에 의해 수행된 촬영시에 확인 워크플로우의 흐름도이다.
[도 16] 도 16은 가상 카메라 조작 UI에 의해 수행된 촬영시에 유저 워크플로우의 흐름도이다.
[도 17] 도 17은 설치시에 캘리브레이션의 전체 처리를 설명하는 시퀀스도이다.
[도 18] 도 18은 촬영 전에 프론트-엔드 서버 동작의 흐름도이다.
[도 19] 도 19는 촬영 전에 데이터베이스 동작의 흐름도이다.
[도 20] 도 20은 촬영 중에 데이터베이스 동작의 흐름도이다.
[도 21] 도 21은 설치시에 캘리브레이션 처리의 흐름도이다.
[도 22a] 도 22a는 촬영 개시 처리를 설명하는 시퀀스도이다.
[도 22b] 도 22b는 촬영 개시 처리를 설명하는 시퀀스도이다.
[도 23] 도 23은 3D 모델 정보를 생성하는 처리를 설명하는 시퀀스도이다.
[도 24] 도 24는 3D 모델 정보를 생성하는 처리의 흐름도이다.
[도 25] 도 25는 3D 모델 정보를 생성하는 처리의 흐름도이다.
[도 26] 도 26은 주시점 그룹들을 설명하는 도면이다.
[도 27] 도 27은 바이패스 송신 제어를 설명하는 도면이다.
[도 28] 도 28은 바이패스 제어를 설명하는 도면이다.
[도 29] 도 29는 데이터 송신 플로우를 설명하는 도면이다.
[도 30] 도 30은 송신 데이터 삭감 처리의 흐름도이다.
[도 31] 도 31은 파일 생성 처리의 흐름도이다.
[도 32] 도 32는 데이터베이스에 파일을 기입하는 처리의 흐름도이다.
[도 33] 도 33은 데이터베이스에서 파일을 판독하는 처리의 흐름도이다.
[도 34a] 도 34a는 촬영 화상을 예시하는 도면이다.
[도 34b] 도 34b는 촬영 화상을 예시하는 도면이다.
[도 34c] 도 34c는 촬영 화상을 예시하는 도면이다.
[도 35a] 도 35a는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35b] 도 35b는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35c] 도 35c는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35d] 도 35d는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 35e] 도 35e는 전경과 배경 사이의 분리에 대한 흐름도이다.
[도 36] 도 36은 가상 카메라 화상 생성 처리를 설명하는 시퀀스도이다.
[도 37a] 도 37a는 가상 카메라를 설명하는 도면이다.
[도 37b] 도 37b는 가상 카메라를 설명하는 도면이다.
[도 38a] 도 38a는 라이브 화상 생성 처리의 흐름도이다.
[도 38b] 도 38b는 라이브 화상 생성 처리의 흐름도이다.
[도 39] 도 39는 재생 화상 생성 처리의 흐름도이다.
[도 40] 도 40은 가상 카메라 경로 선택의 흐름도이다.
[도 41] 도 41은 엔드-유저 단말기가 표시하는 화면을 예시하는 도면이다.
[도 42] 도 42는 애플리케이션 관리 유닛에 의해 수행되는 수동 조작 처리의 흐름도이다.
[도 43] 도 43은 애플리케이션 관리 유닛에 의해 수행되는 자동 조작 처리의 흐름도이다.
[도 44] 도 44는 렌더링 처리의 흐름도이다.
[도 45] 도 45는 전경 화상 생성 처리의 흐름도이다.
[도 46] 도 46은 설치 후에 수행되는 워크플로우에 의해 생성되는 설정 리스트를 도시하는 도면이다.
[도 47] 도 47은 제어 스테이션에 의해 수행되는 설정 정보 변경 처리를 설명하는 시퀀스도이다.
[도 48] 도 48은 프론트-엔드 서버에 의해 수행되는 데이터 수신 처리의 흐름도이다.
[도 49] 도 49는 카메라 어댑터의 하드웨어 구성을 도시하는 블록도이다.
스타디움들 및 콘서트 홀들에서 복수의 카메라 및 복수의 마이크를 설치하여 화상들을 촬영하고 사운드를 수집하는 시스템에 대해서, 도 1에 도시된 시스템 구성도를 참조해서 설명할 것이다. 화상 처리 시스템(100)은, 센서 시스템들(110a-110z), 화상 컴퓨팅 서버(200), 컨트롤러(300), 스위칭 허브(180) 및 엔드-유저 단말기(190)를 포함한다.
컨트롤러(300)는 제어 스테이션(310)과 가상 카메라 조작 유저 인터페이스(UI)(330)를 포함한다. 제어 스테이션(310)은 화상 처리 시스템(100)에 포함되는 블록들에 대하여 네트워크들(310a-310c), 네트워크들(180a 및 180b) 및 네트워크들(170a-170y)을 통해서 동작 상태들의 관리 및 파라미터 설정 제어 등을 수행한다. 여기서, 네트워크들은 이더넷(Ethernet)인 IEEE 표준 준거의 GbE(기가비트 이더넷(등록 상표))나 10 GbE일 수 있거나, 인터커넥트 Infiniband, 산업용 이더넷 등의 조합일 수 있다. 대안적으로, 네트워크들은 이들에 한정되지 않고, 다른 타입들의 네트워크가 이용될 수 있다.
최초로, 센서 시스템들(110a-110z)의 26세트의 화상 및 사운드를 센서 시스템(110z)으로부터 화상 컴퓨팅 서버(200)에 송신하는 동작을 설명할 것이다. 본 실시예의 화상 처리 시스템(100)에서, 센서 시스템들(110a-110z)은 데이지 체인에 의해 서로 접속된다.
본 실시예에서, 달리 설명되지 않을 경우에는, 센서 시스템들(110a-110z)의 26세트의 시스템을 서로 구별하지 않고 센서 시스템(110)으로서 기재한다. 각 센서 시스템(110) 내에 포함되는 디바이스들에 대해서도 마찬가지로, 달리 설명되지 않을 경우에는 구별하지 않고, 마이크(111), 카메라(112), 카메라 플랫폼(113), 외부 센서(114) 및 카메라 어댑터(120)로서 기재한다. 센서 시스템들의 수인 26은 단지 일례이고, 센서 시스템들의 수가 이것으로 한정되는 것은 아니라는 것에 유의한다. 또한, 복수의 센서 시스템(110)은 동일한 구성을 갖지 않을 수도 있고, 예를 들어 상이한 타입들의 디바이스일 수도 있다. 본 실시예에서, "화상(image)"이라는 용어는, 달리 언급되지 않는 한, 동화상 및 정지 화상의 개념을 포함한다는 것에 유의한다. 구체적으로, 본 실시예의 화상 처리 시스템(100)은, 정지 화상들 및 동화상들 양자 모두를 처리할 수 있다. 또한, 본 실시예에서는, 화상 처리 시스템(100)에 의해 제공되는 가상 시점 콘텐츠에, 가상 시점 화상과 가상 시점 사운드가 포함되는 경우를 주로 설명하지만, 본 발명은 이것에 제한되지 않는다. 예를 들어, 가상 시점 콘텐츠에 사운드가 포함되지 않을 수 있다. 또한 예를 들어, 가상 시점 콘텐츠에 포함되는 사운드가, 가상 시점에 가장 가깝게 위치되는 마이크에 의해 집음될 수 있다. 또한, 본 실시예에서는, 설명의 간략화 때문에, 부분적으로 사운드에 관한 기재를 생략하고 있지만, 기본적으로 화상과 사운드는 동시에 처리된다.
센서 시스템들(110a-110z)은, 각각 카메라들(112a-112z)을 갖는다. 구체적으로, 화상 처리 시스템(100)은, 오브젝트를 복수의 방향으로부터 촬영하기 위한 복수의 카메라(112)를 포함한다. 복수의 카메라(112)는 동일 참조 번호들로 설명되지만, 카메라들(112)의 성능들 및 타입들이 서로 상이할 수도 있다. 복수의 센서 시스템(110)은 데이지 체인을 통해 서로 접속된다. 이 접속 형태에 의해, 촬영 화상의 4K나 8K를 위해 요구되는 고해상도 및 고프레임 레이트로 인해 화상 데이터의 양이 증가되는 경우에, 접속 케이블 수의 삭감 및 배선 작업들의 삭감의 효과들이 달성될 수 있다.
접속 형태는 이에 한정되지 않고, 센서 시스템들(110a-110z)이 스위칭 허브(180)에 개별적으로 접속되고, 스위칭 허브(180)를 통해 데이터 송신 및 수신을 수행하는 스타 타입(star type) 네트워크 구성이 이용될 수 있다는 것에 유의한다.
도 1에서는, 데이지 체인이 구성되도록 센서 시스템들(110a-110z) 모두가 캐스케이드 접속되지만, 접속 형태가 이것에 한정되는 것이 아니다. 예를 들어, 복수의 센서 시스템(110)을 그룹들로 분할하고, 분할에 의해 획득된 그룹 단위로 센서 시스템들(110)이 데이지 체인에 의해 접속될 수 있다. 그 후, 분할 단위들의 종단부들로서 역할을 하는 카메라 어댑터들(120)이 스위칭 허브(180)에 접속되어서 화상 컴퓨팅 서버(200)에 화상들이 제공될 수 있다. 이와 같은 구성은, 스타디움들에서 특히 유효하다. 여기서, 스타디움이 복수의 플로어를 갖고, 개개의 플로어에서 센서 시스템들(110)이 설치되는 것으로 가정한다. 이 경우에, 각각의 플로어마다, 또는 스타디움의 각각의 반 원주(half circumference)마다 화상 컴퓨팅 서버(200)에의 입력을 수행할 수 있고, 전체 센서 시스템들(110)을 1개의 데이지 체인에 의해 와이어링하는 것이 곤란한 장소에서도 센서 시스템들(110)의 설치가 간편화될 수 있고 화상 처리 시스템(100)이 유연화될 수 있다.
또한, 데이지 체인에 의해 접속되고 화상 컴퓨팅 서버(200)에 화상 입력을 수행하는 카메라 어댑터들(120)의 수가 1개일지 2개 이상일지에 관한 결정의 결과에 따라, 화상 컴퓨팅 서버(200)에 의해 수행되는 화상 처리의 제어가 변경된다. 구체적으로, 센서 시스템들(110)이 복수의 그룹으로 분할되는지에 관한 결정의 결과에 따라서 제어가 변경된다. 단지 1개의 카메라 어댑터(120)가 화상 입력을 수행하는 경우에는, 데이지 체인 접속에 의해 화상 송신을 수행하면서 스타디움 전체 둘레의 화상이 생성되고, 따라서, 화상 컴퓨팅 서버(200)가 스타디움 전체 둘레의 화상 데이터를 획득하는 타이밍들이 동기된다. 구체적으로, 센서 시스템들(110)이 그룹들로 분할되지 않으면, 동기가 달성된다.
그러나, 복수의 카메라 어댑터(120)가 화상 입력에 사용될 경우에는, 화상이 촬영된 때부터 화상이 화상 컴퓨팅 서버(200)에 입력될 때까지의 상이한 기간 지연들이 데이지 체인의 상이한 레인들(경로들)마다 발생할 수 있다. 구체적으로, 센서 시스템들(110)이 그룹들로 분할되는 경우에는, 화상 컴퓨팅 서버(200)가 스타디움 전체 둘레의 화상 데이터를 획득하는 타이밍들은 동기되지 않을 수 있다. 따라서, 화상 컴퓨팅 서버(200)에서, 스타디움 전체 둘레의 화상 데이터를 기다려서 동기를 수행하는 동기 제어에 의해, 화상 데이터의 집결을 확인하면서 후단의 화상 처리들을 수행해야 한다.
본 실시예에서는, 센서 시스템(110a)은 마이크(111a), 카메라(112a), 카메라 플랫폼(113a), 외부 센서(114a) 및 카메라 어댑터(120a)를 포함한다. 센서 시스템(110a)이 적어도 하나의 카메라 어댑터(120a) 및 하나의 카메라(112a) 또는 하나의 마이크(111a)를 포함하기만 하면, 구성은 이에 한정되지 않는다는 것에 유의한다. 또한 예를 들어, 센서 시스템(110a)은 1대의 카메라 어댑터(120a)와, 복수의 카메라(112a)를 포함할 수 있거나, 1대의 카메라(112a)와 복수의 카메라 어댑터(120a)를 포함할 수 있다. 구체적으로, 화상 처리 시스템(100) 내에 포함된 복수의 카메라(112)와 복수의 카메라 어댑터(120)는 N:M(N 및 M은 1 이상의 정수임)의 비율 관계를 갖는다. 또한, 센서 시스템(110)은, 마이크(111a), 카메라(112a), 카메라 플랫폼(113a) 및 카메라 어댑터(120a) 이외의 디바이스들을 포함할 수 있다. 또한, 카메라(112)와 카메라 어댑터(120)가 서로 일체로 되어 있을 수 있다. 또한, 프론트-엔드 서버(230)는 카메라 어댑터(120)의 기능의 적어도 일부를 가질 수 있다. 센서 시스템들(110b-110z)은, 센서 시스템(110a)의 구성과 동일한 구성들을 가지기 때문에, 센서 시스템들(110b-110z)의 구성들의 설명들은 생략된다. 구성들은 센서 시스템(110a)의 구성에 한정되지 않고, 상이한 센서 시스템들(110)은 상이한 구성들을 가질 수 있다는 것에 유의한다.
마이크(111a)에 의해 수집된 사운드와 카메라(112a)에 의해 촬영된 화상은, 카메라 어댑터(120a)에 의해 수행된 아래 설명되는 화상 처리가 실시된 후, 데이지 체인(170a)을 통해서 센서 시스템(110b)에 포함된 카메라 어댑터(120b)에 송신된다. 마찬가지로, 센서 시스템(110b)은, 수집된 사운드와 촬영된 화상을, 센서 시스템(110a)으로부터 제공된 화상 및 사운드에 추가하여 센서 시스템(110c)에 송신한다.
전술한 동작을 계속 수행함으로써, 센서 시스템들(110a-110z)이 획득한 화상들 및 사운드는, 센서 시스템(110z)으로부터 네트워크(180b)를 통해 스위칭 허브(180)에 송신되고, 그 후, 화상 컴퓨팅 서버(200)에 송신된다.
본 실시예에서는, 카메라들(112a-112z)이 카메라 어댑터들(120a-120z)과 분리되지만, 카메라들(112a-112z) 및 카메라 어댑터들(120a-120z)이 동일한 케이스들 내에 통합될 수도 있다는 것에 유의한다. 이 경우, 마이크들(111a-111z)는 일체화된 카메라(112)에 내장될 수 있거나, 카메라(112)의 외부에 접속될 수 있다.
이어서, 화상 컴퓨팅 서버(200)의 구성 및 동작에 대해서 설명할 것이다. 본 실시예의 화상 컴퓨팅 서버(200)는, 센서 시스템(110z)으로부터 획득한 데이터를 처리한다. 화상 컴퓨팅 서버(200)는 프론트-엔드 서버(230), 데이터베이스(250)(이하, "DB"로서도 기재함), 백-엔드 서버(270), 및 타임 서버(290)를 포함한다.
타임 서버(290)는 시각 및 동기 신호를 배신하는 기능을 갖고, 스위칭 허브(180)를 통해 센서 시스템들(110a-110z)에 시각 및 동기 신호를 배신한다. 시각과 동기 신호를 수신한 카메라 어댑터들(120a-120z)은, 카메라들(112a-112z)을 시각과 동기 신호를 바탕으로 생성기 로크(젠록(Genlock))를 수행하여 화상 프레임 동기를 수행한다. 구체적으로, 타임 서버(290)는, 복수의 카메라(112)의 촬영 타이밍들을 동기시킨다. 이에 의해, 화상 처리 시스템(100)은 동일한 타이밍에 촬영된 복수의 촬영 화상에 기초하여 가상 시점 화상을 생성할 수 있고, 따라서, 촬영 타이밍들 간의 차이로 인한 가상 시점 화상의 품질 저하를 억제할 수 있다. 본 실시예에서는 타임 서버(290)가 복수의 카메라(112)의 시각 동기를 관리하지만, 본 발명은 이에 한정하지 않고, 시각 동기를 위한 처리를 개개의 카메라(112) 또는 개개의 카메라 어댑터(120)가 수행할 수 있다.
프론트-엔드 서버(230)는, 센서 시스템(110z)으로부터 획득한 화상들 및 사운드들을 사용하여 세그먼트화된 송신 패킷들을 재구성하고 데이터 포맷을 변환한 후에, 카메라들의 식별자들, 데이터 타입들, 및 프레임 번호들에 따라서 화상들 및 사운드를 데이터베이스(250)에 기입한다.
이어서, 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)로부터 시점의 지정을 수신하고, 수신된 시점에 따라, 데이터베이스(250)로부터 화상 및 사운드 데이터를 판독하고, 렌더링 처리를 수행함으로써 가상 시점 화상을 생성한다.
화상 컴퓨팅 서버(200)의 구성은 이것에 제한되지 않는다. 예를 들어, 프론트-엔드 서버(230), 데이터베이스(250) 및 백-엔드 서버(270) 중 적어도 2개가 일체로 될 수 있다. 또한, 프론트-엔드 서버(230), 데이터베이스(250) 및 백-엔드 서버(270)의 적어도 하나가 화상 컴퓨팅 서버(200)에 복수 포함될 수 있다. 화상 컴퓨팅 서버(200)의 임의인 위치에 전술한 디바이스들 이외의 디바이스가 포함될 수 있다. 또한, 화상 컴퓨팅 서버(200)의 기능들 중 적어도 일부를 엔드-유저 단말기(190)나 가상 카메라 조작 UI(330)가 가질 수 있다.
렌더링 처리된 화상은, 백-엔드 서버(270)로부터 엔드-유저 단말기(190)에 송신되어, 엔드-유저 단말기(190)를 조작하는 유저는 지정된 시점에 따른 화상 열람 및 사운드 청취를 할 수 있다. 구체적으로, 백-엔드 서버(270)는, 복수의 카메라(112)에 의해 촬영된 화상들(복수 시점 화상들)과 시점 정보에 기초하는 가상 시점 콘텐츠를 생성한다. 보다 구체적으로는, 백-엔드 서버(270)는, 복수의 카메라 어댑터(120)에 의해 복수의 카메라(112)에 의해 촬영된 화상들로부터 추출된 특정 영역의 화상 데이터와, 유저 조작에 의해 지정된 시점에 기초하여, 가상 시점 콘텐츠를 생성한다. 백-엔드 서버(270)는, 생성한 가상 시점 콘텐츠를 엔드-유저 단말기(190)에 제공한다. 카메라 어댑터(120)에 의해 수행된 특정 영역의 추출은 상세히 후술할 것이다. 본 실시예에서는 가상 시점 콘텐츠가 화상 컴퓨팅 서버(200)에 의해 생성되고, 특히, 가상 시점 콘텐츠가 백-엔드 서버(270)에 의해 생성되는 경우가 주로 설명될 것이라는 것에 유의한다. 그러나, 가상 시점 콘텐츠는, 화상 컴퓨팅 서버(200)에 포함되는 백-엔드 서버(270) 이외의 디바이스에 의해 생성될 수 있거나, 컨트롤러(300) 또한 엔드-유저 단말기(190)에 의해 생성될 수 있다.
본 실시예의 가상 시점 콘텐츠는, 가상 시점으로부터 피사체를 촬영한 경우에 얻어지는 가상 시점 화상을 포함한다. 바꾸어 말하면, 가상 시점 화상은, 지정된 시점에서의 뷰(view)를 나타낸다. 가상 시점은 유저에 의해 지정될 수 있거나, 화상 해석의 결과 등에 기초하여 자동적으로 지정될 수 있다. 구체적으로, 가상 시점 화상의 예들은, 유저에 의해 임의로 지정한 시점에 대응하는 임의 시점 화상(자유 시점 화상)을 포함한다. 가상 시점 화상의 예들은 복수의 후보로부터 유저가 지정한 시점에 대응하는 화상, 및 디바이스가 자동으로 지정한 시점에 대응하는 화상을 추가로 포함한다. 본 실시예에서는, 가상 시점 콘텐츠가 사운드 데이터(오디오 데이터)를 포함하는 경우가 예로서 주로 설명되지만, 사운드 데이터가 가상 시점 콘텐츠에 포함되지 않을 수 있다. 또한, 백-엔드 서버(270)는, 가상 시점 화상을 예컨대 H.264나 HEVC 등의 부호화 방식을 따라서 압축 부호화를 수행한 다음, 가상 시점 화상을 MPEG-DASH 프로토콜을 사용해서 엔드-유저 단말기(190)에 송신할 수 있다. 또한, 가상 시점 화상은, 비압축하여 엔드-유저 단말기(190)에 송신될 수 있다. 특히, 압축 부호화를 사용하는 전자의 방법은 엔드-유저 단말기(190)로서 스마트폰이나 태블릿을 사용하는 경우에 이용되는 반면, 비압축하는 후자의 방법은 비압축 화상을 표시할 수 있는 디스플레이가 사용되는 경우에 이용된다. 구체적으로, 엔드-유저 단말기(190)의 타입에 따라서 화상 포맷이 변경가능하다. 또한, 화상의 송신 프로토콜은 MPEG-DASH에 한정하지 않고, HLS(HTTP Live Streaming)나 기타의 송신 방법들을 사용할 수 있다.
전술한 바와 같이, 화상 처리 시스템(100)은, 영상 수집 도메인, 데이터 저장 도메인 및 영상 생성 도메인이라고 하는 3개의 기능 도메인을 갖는다. 영상 수집 도메인은 센서 시스템들(110a-110z)을 포함하고, 데이터 저장 도메인은 데이터베이스(250), 프론트-엔드 서버(230) 및 백-엔드 서버(270)를 포함하고, 영상 생성 도메인은 가상 카메라 조작 UI(330) 및 엔드-유저 단말기(190)를 포함한다. 본 구성은 이에 한정되지 않고, 예를 들어 가상 카메라 조작 UI(330)이 직접 센서 시스템들(110a-110z)로부터 화상들을 획득할 수 있다. 그러나, 본 실시예에서는, 센서 시스템들(110a-110z)로부터 직접 화상들을 획득하는 방법 대신에 데이터 저장 기능을 중간 부분에 배치하는 방법이 이용된다. 구체적으로, 프론트-엔드 서버(230)는 센서 시스템들(110a-110z)에 의해 생성된 화상 데이터와 사운드 데이터 및 그 데이터의 메타데이터를 데이터베이스(250)의 공통 스키마 및 공통 데이터 타입으로 변환한다. 이에 의해, 센서 시스템들(110a-110z)의 카메라들(112)의 타입이 다른 타입으로 변경되더라도, 변경에 있어서의 차분이 프론트-엔드 서버(230)에 의해 흡수되고 데이터베이스(250)에 등록될 수 있다. 그에 따라, 카메라(112)의 타입이 다른 타입으로 변경되는 경우에, 가상 카메라 조작 UI(330)가 적절하게 동작하지 않을 가능성이 저감될 수 있다.
또한, 가상 카메라 조작 UI(330)는, 직접 데이터베이스(250)에 액세스하지 않고 백-엔드 서버(270)를 통해 데이터베이스(250)에 액세스한다. 백-엔드 서버(270)는 화상 생성 처리에 연관된 공통 처리를 수행하고, 가상 카메라 조작 UI(330)는 조작 UI에 연관된 애플리케이션의 차분 부분을 처리한다. 그에 따라, 가상 카메라 조작 UI(330)의 개발, UI 조작 디바이스의 개발, 생성될 가상 시점 화상을 조작하는 UI의 기능 요구들에 대한 개발에 주력할 수 있다. 또한, 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)로부터 제공된 요구에 응답하여 화상 생성 처리에 연관된 공통 처리를 추가 또는 삭제할 수 있다. 이렇게 하여, 가상 카메라 조작 UI(330)로부터 제공된 요구에 유연하게 대응할 수 있다.
전술한 바와 같이, 화상 처리 시스템(100)에서는, 피사체의 화상들을 복수의 방향으로부터 촬영하기 위한 복수의 카메라(112)에 의해 수행되는 촬영에 의해 획득되는 화상 데이터에 기초하여, 백-엔드 서버(270)가 가상 시점 화상을 생성한다. 본 실시예의 화상 처리 시스템(100)의 구성은, 전술한 물리적인 구성에 한정되는 것은 아니고, 화상 처리 시스템(100)이 논리적으로 구성될 수 있다. 또한, 본 실시예에서는 카메라들(112)에 의해 촬영된 화상에 기초하여 가상 시점 화상을 생성하는 기술에 대해서 설명하지만, 예를 들어 촬영 화상들 대신에 컴퓨터 그래픽스에 의해 생성된 화상들에 기초하여 가상 시점 화상을 생성할 경우에 본 실시예를 이용할 수 있다.
다음으로, 도 1의 시스템에서의 노드들(카메라 어댑터(120), 프론트-엔드 서버(230), 데이터베이스(250), 백-엔드 서버(270), 가상 카메라 조작 UI(330), 및 엔드-유저 단말기(190))의 기능 블록도를 설명할 것이다.
본 실시예에서의 카메라 어댑터(120)의 기능 블록에 대해서 도 2를 참조하여 설명한다. 카메라 어댑터들(120)의 기능 블록들 간에서의 데이터 흐름은 도 29를 참조하여 아래 상세히 설명될 것이다라는 것에 유의한다.
카메라 어댑터(120)는, 네트워크 어댑터(06110), 송신 유닛(06120), 화상 프로세서(06130) 및 외부 디바이스 컨트롤러(06140)를 포함한다. 네트워크 어댑터(06110)는, 데이터 송/수신 유닛(06111) 및 시각 컨트롤러(06112)를 포함한다.
데이터 송/수신 유닛(06111)은, 데이지 체인(170), 네트워크(291) 및 네트워크(310a)를 통해 다른 카메라 어댑터들(120), 프론트-엔드 서버(230), 타임 서버(290) 및 제어 스테이션(310)과 데이터 통신을 수행한다. 예를 들어 데이터 송/수신 유닛(06111)은, 카메라(112)에 의해 촬영된 화상에서 전경/배경 분리 유닛(06131)에 의해 분리된 전경 화상과 배경 화상을, 예를 들어, 다른 카메라 어댑터(120) 중 하나에 대하여 출력한다. 출력처로서 역할을 하는 카메라 어댑터(120)는, 화상 처리 시스템(100) 내에 포함된 카메라 어댑터들(120) 중 하나이며, 이 카메라 어댑터는 데이터 라우팅 프로세서(06122)에 의해 수행되는 처리에 따라 결정된 미리 결정된 순서로 다음으로 처리될 것이다. 개개의 카메라 어댑터(120)가 전경 화상들과 배경 화상들을 출력하고, 복수의 시점으로부터 촬영된 전경 화상들과 배경 화상들에 기초하여 가상 시점 화상이 생성된다. 카메라 어댑터들(120)은 배경 화상들을 출력하지 않지만 촬영 화상들로부터 분리된 전경 화상들을 출력할 수 있다는 것에 유의한다.
시각 컨트롤러(06112)는, 예를 들어 IEEE 1588 규격에 기초한 OrdinaryClock에 준거하고, 타임 서버(290)에 송신되고 이로부터 수신되는 데이터의 타임 스탬프를 저장하는 기능을 갖고, 타임 서버(290)와 시각 동기를 수행한다. 시각 컨트롤러(06112)는, IEEE 1588 규격 대신에, EtherAVB 규격이나, 독자 프로토콜과 같은 다른 규격들에 따라 타임 서버(290)와의 시각 동기를 실현할 수 있다. 본 실시예에서는, 네트워크 어댑터(06110)로서 NIC(network interface card)를 이용하지만, NIC 대신에, 다른 유사한 인터페이스들을 이용할 수 있다. 또한, IEEE 1588은 IEEE 1588-2002, 또는 IEEE 1588-2008과 같은 규격들로서 갱신되고, IEEE 1588-2008는, PTPv2(precision time protocol version 2)라고도 불린다.
송신 유닛(06120)은, 네트워크 어댑터(06110)를 통해 스위칭 허브(180) 등에 대한 데이터의 송신을 제어하는 기능을 갖고, 이하의 기능 유닛들을 갖는다.
데이터 압축/신장 유닛(06121)은, 데이터 송/수신 유닛(06111)을 통해 송수신되는 데이터에 대하여 미리 결정된 압축 방식, 미리 결정된 압축률 및 미리 결정된 프레임 레이트를 사용한 압축을 수행하는 기능과, 압축된 데이터를 신장하는 기능을 갖는다.
데이터 라우팅 프로세서(06122)는, 후술하는 데이터 라우팅 정보 저장 유닛(06125)에 저장되는 데이터를 이용하여, 데이터 송/수신 유닛(06111)이 수신한 데이터 및 화상 프로세서(06130)에 의해 처리된 데이터의 라우팅처들을 결정한다. 데이터 라우팅 프로세서(06122)는 결정한 라우팅처에 데이터를 송신하는 기능을 추가로 갖는다. 라우팅처는 바람직하게는, 카메라들(112) 간의 화상 프레임 상관이 높기 때문에 화상 처리 관점에서, 동일한 주시점에 포커스된 카메라들(112) 중 하나에 대응하는 카메라 어댑터들(120) 중 하나에 대응한다. 복수의 카메라 어댑터(120)의 데이터 라우팅 프로세서(06122)에 의해 수행되는 결정들에 따라, 화상 처리 시스템(100) 내에서 전경 화상들 및 배경 화상들을 릴레이 방식으로 출력하는 카메라 어댑터들(120)의 순서가 결정된다.
시각 동기 컨트롤러(06123)는, IEEE 1588 규격의 PTP(precision time protocol)에 준거하고, 타임 서버(290)와 시각 동기에 연관된 처리를 수행하는 기능을 갖는다. 시각 동기 컨트롤러(06123)는, PTP 대신에 다른 유사한 프로토콜들을 이용하여 시각 동기를 수행할 수 있다.
화상/사운드 송신 프로세서(06124)는, 화상 데이터 또는 사운드 데이터를, 데이터 송/수신 유닛(06111)을 통해 다른 카메라 어댑터들(120) 또는 프론트-엔드 서버(230)에 이송하기 위한 메시지를 생성하는 기능을 갖는다. 메시지는 화상 데이터 또는 사운드 데이터 및 화상 데이터 또는 사운드 데이터의 메타데이터를 포함한다. 본 실시예의 메타데이터는 화상이 촬영되거나 사운드가 샘플링될 때에 획득되는 타임 코드 또는 시퀀스 번호, 데이터 타입, 및 카메라(112) 또는 마이크(111)의 식별자를 포함한다. 송신될 화상 데이터 또는 송신될 사운드 데이터는 데이터 압축/신장 유닛(06121)에 의해 압축될 수 있다는 것에 유의한다. 또한, 화상/사운드 송신 프로세서(06124)는, 다른 카메라 어댑터들(120)로부터 데이터 송/수신 유닛(06111)을 통해 메시지를 수신한다. 그 후에, 화상/사운드 송신 프로세서(06124)는 메시지에 포함되는 데이터 타입에 따라, 송신 프로토콜에 의해 규정된 패킷 사이즈로 프래그먼트화되는 데이터 정보에 대한 복원을 수행하여 화상 데이터 또는 사운드 데이터를 획득한다. 데이터가 복원된 후에 데이터가 압축 상태에 있는 경우에는, 데이터 압축/신장 유닛(06121)이 신장 처리를 수행한다는 것에 유의한다.
데이터 라우팅 정보 저장 유닛(06125)은, 데이터 송/수신 유닛(06111)에 의해 송신 또는 수신되는 데이터의 송신처를 결정하기 위한 어드레스 정보를 저장하는 기능을 갖는다. 라우팅 방법에 대해서는 후술할 것이다.
화상 프로세서(06130)는, 카메라 컨트롤러(06141)의 제어 하에 카메라(112)가 촬영한 화상 데이터 및 다른 카메라 어댑터들(120) 중 하나로부터 제공된 화상 데이터에 대하여 처리를 수행하는 기능을 갖고, 후술하는 기능 유닛들을 갖는다.
전경/배경 분리 유닛(06131)은, 카메라(112)가 촬영한 화상 데이터에서 전경 화상과 배경 화상을 서로로부터 분리하는 기능을 갖는다. 구체적으로, 복수의 카메라 어댑터(120) 각각은, 복수의 카메라(112) 중 대응하는 카메라에 의해 촬영된 화상으로부터 미리 결정된 영역을 추출하는 화상 처리 디바이스로서 동작한다. 미리 결정된 영역은 예를 들어 촬영 화상에 대해 수행된 오브젝트 검출의 결과로서 얻어지는 전경 화상이다. 이 추출에 의해 전경/배경 분리 유닛(06131)은, 촬영 화상에서 전경 화상과 배경 화상을 서로로부터 분리한다. 오브젝트는, 예를 들어, 사람에 대응한다는 것에 유의한다. 오브젝트는 특정한 사람(선수, 감독, 및/또는 심판)일 수도 있고 또는 미리 결정된 화상 패턴을 갖는 공 또는 골일 수도 있다. 대안적으로, 오브젝트로서, 동체가 검출될 수 있다. 인물 등의 중요한 오브젝트를 포함하는 전경 화상과 그러한 중요한 오브젝트를 포함하지 않는 배경 영역을 서로로부터 분리한 후 처리하는 경우, 화상 처리 시스템(100)에서 생성되는 가상 시점 화상에서의 오브젝트에 대응하는 부분의 화상 품질이 향상될 수 있다. 또한, 전경 화상과 배경 화상 사이의 분리는 카메라 어댑터들(120) 각각이 행하여, 복수의 카메라(112)를 포함한 화상 처리 시스템(100)에서의 부하를 분산시킬 수 있다. 미리 결정된 영역은 전경 화상 대신에, 예를 들어, 배경 화상일 수 있다는 것에 유의한다.
3D 모델 정보 생성 유닛(06132)은, 전경/배경 분리 유닛(06131)에 의해 분리된 전경 화상 및 다른 카메라 어댑터들(120) 중 하나로부터 제공된 전경 화상을 이용하여, 예를 들어 스테레오 카메라의 원리에 따라 3D 모델에 연관된 화상 정보를 생성하는 기능을 갖는다.
캘리브레이션 컨트롤러(06133)는, 캘리브레이션에 필요한 화상 데이터를, 카메라 컨트롤러(06141)를 통해 카메라(112)로부터 획득하고, 화상 데이터를 캘리브레이션에 연관된 연산 처리를 수행하는 프론트-엔드 서버(230)에 송신하는 기능을 갖는다. 본 실시예의 캘리브레이션은, 개개의 카메라들(112)에 파라미터들을 연관하여 정합을 취하는 처리이다. 캘리브레이션으로서 예를 들어, 설치된 카메라들(112)의 세계 좌표계들이 서로 일치하도록 제어를 수행하는 처리, 및 카메라들(112) 간의 색의 변동을 억제하기 위한 색 정정 처리가 수행된다. 캘리브레이션의 구체적인 처리 내용은 이것에 한정되지 않는다는 것에 유의한다. 또한, 본 실시예에서는 캘리브레이션에 연관된 연산 처리가 프론트-엔드 서버(230)에 의해 수행되지만, 연산 처리를 수행하는 노드는 프론트-엔드 서버(230)에 한정되지 않는다. 예를 들어, 제어 스테이션(310)이나 카메라 어댑터(120)(다른 카메라 어댑터들(120)을 포함함) 등의 다른 노드에 의해 연산 처리가 수행될 수 있다. 캘리브레이션 컨트롤러(06133)는, 카메라 컨트롤러(06141)를 통해 카메라(112)로부터 제공된 화상 데이터에 대하여 미리 설정된 파라미터에 따라서 촬영 중의 캘리브레이션(동적 캘리브레이션)을 수행하는 기능을 갖는다.
외부 디바이스 컨트롤러(06140)는, 카메라 어댑터(120)에 접속하는 디바이스들을 제어하는 기능을 갖고, 후술한 기능 블록들을 갖는다.
카메라 컨트롤러(06141)는, 카메라(112)에 접속하고, 카메라(112)의 제어, 촬영 화상 획득, 동기 신호 제공 및 시각 설정을 수행하는 기능을 갖는다. 카메라(112)의 제어는, 예를 들어 촬영 파라미터들(화소수, 색 심도, 프레임 레이트 및 화이트 밸런스의 설정들 등)의 설정들 및 참조, 카메라(112)의 상태(촬영 중, 정지 중, 동기, 에러 등의 상태들)의 획득, 촬영의 개시 및 정지, 포커스 조정 등을 포함한다. 본 실시예에서는 카메라(112)를 통해 포커스 조정이 수행되지만, 분리가능한 렌즈가 카메라(112)에 부착되는 경우에는, 카메라 어댑터(120)가 렌즈에 접속되어, 렌즈를 직접적으로 조정할 수도 있다는 것에 유의한다. 또한, 카메라 어댑터(120)가 카메라(112)를 통해 줌 등의 렌즈 조정을 수행할 수 있다. 동기 신호 제공은, 시각 동기 컨트롤러(06123)가 타임 서버(290)와 동기한 시각을 이용하여, 촬영 타이밍(제어 클럭)을 카메라(112)에 제공하는 경우에 수행된다. 시각 설정은, 시각 동기 컨트롤러(06123)가 타임 서버(290)와 동기한 시각을 예를 들어 SMPTE12M의 포맷에 준거한 타임 코드로서 제공함으로써 수행된다. 이에 의해, 카메라(112)로부터 제공된 화상 데이터에 부여된 타임 코드가 부여된다. 타임 코드의 포맷은 SMPTE12M에 한정되지 않고, 다른 포맷들이 이용될 수 있다는 것에 유의한다. 또한, 카메라 컨트롤러(06141)는, 카메라(112)에 대한 타임 코드를 부여하지 않고, 카메라(112)로부터 제공된 화상 데이터에 타임 코드를 부여할 수 있다.
마이크 컨트롤러(06142)는, 마이크(111)에 접속하고, 마이크(111)의 제어, 수음(sound collection)의 개시 및 정지, 수음된 사운드 데이터의 획득 등을 수행하는 기능을 갖는다. 마이크(111)의 제어는, 이득(gain) 제어, 상태 획득 등을 포함한다. 카메라 컨트롤러(06141)와 같이, 마이크 컨트롤러(06142)는, 마이크(111)에 대하여 사운드 샘플링 타이밍과 타임 코드를 제공한다. 사운드 샘플링의 타이밍을 나타내는 클럭 정보로서, 타임 서버(290)로부터 제공된 시간 정보가 예를 들어 48KHz의 워드 클럭으로 변환되고 마이크(111)에 제공된다.
카메라 플랫폼 컨트롤러(06143)는 카메라 플랫폼(113)에 접속되고, 카메라 플랫폼(113)을 제어하는 기능을 갖는다. 카메라 플랫폼(113)의 제어의 예들은, 팬/틸트 제어, 및 상태 획득을 포함한다.
센서 컨트롤러(06144)는, 외부 센서(114)와 접속하고, 외부 센서(114)가 감지한 센서 정보를 획득하는 기능을 갖는다. 예를 들어, 외부 센서(114)로서 자이로 센서가 이용되는 경우에는, 진동을 나타내는 정보를 획득할 수 있다. 센서 컨트롤러(06144)가 획득한 진동에 대한 정보를 사용하여, 화상 프로세서(06130)는, 전경/배경 분리 유닛(06131)에 의해 수행되는 처리에 앞서, 카메라(112)의 진동에 의한 영향을 저감시킨 화상을 생성할 수 있다. 진동 정보는, 예를 들어, 8K 카메라에 의해 획득된 화상 데이터를, 진동 정보를 고려하고, 원래의 8K 사이즈보다 작은 사이즈로 추출하고, 대상 카메라(112)에 인접 설치된 카메라(112)의 화상과의 위치 정렬을 수행하는 경우에 이용된다. 그에 따라, 건물의 골조 진동이 카메라들(112)에 다른 주파수들로 전달되어도, 카메라 어댑터(120)의 본 기능에 의해 위치 정렬을 수행한다. 그 결과, 화상 처리에 의해 영향이 저감된(전자적으로 방지된) 화상 데이터를 생성할 수 있고, 화상 컴퓨팅 서버(200)에서의 다수의 카메라(112)에 대해 수행되는 위치 정렬 처리 부하를 경감하는 효과가 얻어질 수 있다. 센서 시스템(110)의 센서는 외부 센서(114)에 한정되지 않고, 센서가 카메라 어댑터(120)에 통합된 경우에도 동일한 효과가 획득될 수 있다는 것에 유의한다.
도 3은, 카메라 어댑터(120) 내에 포함된 화상 프로세서(06130)를 도시하는 기능 블록도이다. 캘리브레이션 컨트롤러(06133)는, 입력된 화상들에 대하여 카메라들(112) 간의 색 변동을 억제하기 위한 색 정정 처리, 및 입력된 화상들에 대하여 카메라들(112)의 진동에 의해 기인하는 화상들의 떨림을 저감시켜서 화상들을 안정시키기 위한 떨림 정정 처리(전자 진동 제어 처리)를 수행한다.
전경/배경 분리 유닛(06131)의 기능 블록에 대해서 설명할 것이다. 전경 분리 유닛(05001)은, 카메라(112)에 의해 촬영된 화상에 대해서 위치 정렬이 수행된 후에 얻어진 화상 데이터를 배경 화상(05002)과 비교하는 것에 의해 전경 화상의 분리 처리를 수행한다.
배경 갱신 유닛(05003)은, 배경 화상(05002)과, 카메라(112)에 의해 촬영되고 위치 정렬이 실시된 화상을 사용하여 새로운 배경 화상을 생성하고, 배경 화상(05002)을 새로운 배경 화상에 의해 갱신한다.
배경 추출 유닛(05004)은, 배경 화상(05002)의 일부를 추출하는 제어를 수행한다. 여기서, 3D 모델 정보 생성 유닛(06132)의 기능에 대해서 설명할 것이다.
3D 모델 프로세서(05005)는, 전경 분리 유닛(05001)에 의해 분리된 전경 화상과, 송신 유닛(06120)을 통해 제공된 다른 카메라들(112) 중 하나에 의해 촬영된 전경 화상을 사용하여, 예를 들어 스테레오 카메라의 원리에 따라 3D 모델에 연관된 화상 정보를 순차 생성한다.
타 카메라 전경 수신 유닛(05006)은, 다른 카메라 어댑터들(120) 중 하나에 의해 수행되는 전경/배경 분리를 통해 획득된 전경 화상을 수신한다.
카메라 파라미터 수신 유닛(05007)은, 각각의 카메라에 대해 고유의 내부 파라미터들(초점 거리, 화상 중심 및 렌즈 왜곡의 파라미터들을 포함함)과, 각각의 카메라의 위치/자세를 나타내는 외부 파라미터들을 수신한다. 이들 파라미터들은, 후술하는 캘리브레이션 처리에 의해 얻어지는 정보이며, 제어 스테이션(310)에 의해 카메라 어댑터(120)에 대하여 송신 및 설정된다. 후속하여, 3D 모델 프로세서(05005)는, 카메라 파라미터 수신 유닛(05007)과 타 카메라 전경 수신 유닛(05006)을 사용하여 3D 모델 정보를 생성한다.
도 4는 프론트-엔드 서버(230)를 도시하는 기능 블록도이다. 컨트롤러(02110)는 CPU와, DRAM(dynamic random access memory), 프로그램 데이터 및 각종 데이터를 저장하는 HDD(hard disk drive)나 NAND(inverted AND) 메모리 등의 저장 매체와, 이더넷 등의 하드웨어에 의해 구성된다. 그 후, 컨트롤러(02110)는 프론트-엔드 서버(230)에 포함된 다양한 블록들 및 프론트-엔드 서버(230)의 시스템 전체를 제어한다. 또한, 컨트롤러(02110)는 캘리브레이션 동작, 촬영 전의 준비 동작 및 촬영중 동작을 포함하는 동작 모드들 간의 스위칭을 수행한다. 또한, 컨트롤러(02110)는 이더넷을 통해서 제어 스테이션(310) 등으로부터의 제어 지시를 수신하고, 모드들 간의 스위칭 및 데이터의 입출력을 수행한다. 또한, 컨트롤러(02110)는 네트워크를 통해서 제어 스테이션(310)으로부터 스타디움 CAD 데이터(스타디움 형상 데이터)를 획득하고, 스타디움 CAD 데이터를 CAD 데이터 저장 유닛(02135)과 촬영 데이터 파일 생성 유닛(02180)에 송신한다. 본 실시예에서의 스타디움 CAD 데이터(스타디움 형상 데이터)는 스타디움의 형상을 나타내는 3D 데이터이며, 스타디움 CAD 데이터가 메시 모델 또는 그 외의 3D 형상들을 나타내기만 하면, CAD 방법은 한정되지 않는다는 것에 유의한다.
데이터 입력 컨트롤러(02120)는, 이더넷 등의 통신로와 스위칭 허브(180)를 개재하여, 네트워크를 통해 카메라 어댑터(120)와 접속된다. 데이터 입력 컨트롤러(02120)는, 네트워크를 통해서 카메라 어댑터(120)로부터 전경 화상, 배경 화상, 피사체의 3D 모델, 사운드 데이터 및 카메라 캘리브레이션 촬영 화상 데이터를 획득한다. 여기서, 전경 화상은 가상 시점 화상의 생성을 위한 촬영 화상의 전경 영역에 기초하는 화상 데이터에 대응하고, 배경 화상은 촬영 화상의 배경 영역에 기초하는 화상 데이터에 대응한다. 카메라 어댑터(120)는, 카메라(112)에 의해 촬영된 화상에 대해 수행된 미리 결정된 오브젝트를 검출하는 처리의 결과에 따라, 전경 영역 및 배경 영역을 지정하고, 전경 화상 및 배경 화상을 생성한다. 미리 결정된 오브젝트는, 예를 들어, 사람에 대응한다. 미리 결정된 오브젝트는 특정한 인물(선수, 감독, 및/또는 심판)일 수 있다. 미리 결정된 오브젝트의 예들은, 공이나 골 등의, 미리 결정된 화상 패턴을 갖는 오브젝트를 추가로 포함할 수 있다. 대안적으로, 미리 결정된 오브젝트로서, 동체(moving object)가 검출될 수 있다.
데이터 입력 컨트롤러(02120)는, 획득한 전경 화상 및 획득한 배경 화상을 데이터 동기 유닛(02130)에 송신하고, 카메라 캘리브레이션 촬영 화상 데이터를 캘리브레이션 유닛(02140)에 송신한다. 또한, 데이터 입력 컨트롤러(02120)는 수신한 데이터에 대한 압축 및 신장, 데이터 라우팅 처리 등을 수행하는 기능을 갖는다. 또한, 컨트롤러(02110)와 데이터 입력 컨트롤러(02120)는 이더넷 등의 네트워크를 통한 통신 기능을 개별적으로 갖지만, 컨트롤러(02110)와 데이터 입력 컨트롤러(02120)는 공통 통신 기능을 가질 수 있다. 그 경우에는, 제어 스테이션(310)으로부터 제공된 제어 커맨드의 지시 및 스타디움 CAD 데이터는 데이터 입력 컨트롤러(02120)에 의해 수신되고, 컨트롤러(02110)에 대하여 추가로 송신될 수 있다.
데이터 동기 유닛(02130)은, 카메라 어댑터(120)로부터 획득한 데이터를 DRAM에 일시적으로 저장하고, 전경 화상, 배경 화상, 사운드 데이터 및 3D 모델 데이터가 획득될 때까지 버퍼한다. 전경 화상, 배경 화상, 사운드 데이터, 및 3D 모델 데이터는 이후에는 집합적으로 "촬영 데이터(imaging data)"로 지칭된다는 것에 유의한다. 촬영 데이터에는 라우팅 정보, 타임 코드 정보(시간 정보), 및 카메라 식별자를 포함하는 메타데이터가 부여되고, 데이터 동기 유닛(02130)은 이 메타데이터를 바탕으로 데이터의 속성을 확인한다. 이에 의해, 데이터 동기 유닛(02130)은 동일 시각에서의 데이터가 획득된 것으로 결정할 때, 그래서 데이터 전부가 획득된 것으로 결정한다. 이는, 네트워크를 통해 개개의 카메라 어댑터들(120)로부터 이송된 데이터의, 네트워크 패킷들의 수신 순서는 보증되지 않고, 파일 생성에 필요한 데이터 전부가 획득될 때까지 데이터가 버퍼될 필요가 있기 때문이다. 데이터 전부가 획득되면, 데이터 동기 유닛(02130)은, 전경 화상 및 배경 화상을 화상 프로세서(02150)에, 3D 모델 데이터를 3D 모델 결합 유닛(02160)에, 사운드 데이터를 촬영 데이터 파일 생성 유닛(02180)에 송신한다. 획득될 데이터는 아래 설명되는 촬영 데이터 파일 생성 유닛(02180)에 의해 수행되는 파일 생성을 위해 요구된다는 것에 유의한다. 또한, 배경 화상과 전경 화상은 다른 프레임 레이트들로 촬영될 수 있다. 예를 들어, 배경 화상의 프레임 레이트가 1fps일 경우, 1초마다 1개의 배경 화상이 촬영되고, 따라서, 배경 화상이 획득되지 않는 시간 기간에서는, 배경 화상이 없는 상태에서 모든 데이터 전부가 획득된 것으로 결정할 수 있다. 또한, 데이터 동기 유닛(02130)은, 미리 결정된 시간 기간 후에 데이터가 획득되지 않을 경우에는, 데이터 전부가 획득되지 않는 것을 나타내는 정보를 데이터베이스(250)에 송신한다. 후단의 데이터베이스(250)가, 데이터를 저장할 때, 카메라 번호 및 프레임 번호와 함께 데이터의 결여를 나타내는 정보를 저장한다. 그에 따라, 데이터베이스(250)에 수집된 카메라들(112)에 의해 촬영된 화상들로부터 원하는 화상이 형성될 수 있는지에 관한 결정의 결과는, 가상 카메라 조작 UI(330)로부터 백-엔드 서버(270)로 발행된 시점 지시에 따라서 렌더링 전에 자동 송신될 수 있다. 그 결과, 가상 카메라 조작 UI(330)의 오퍼레이터의 시각적 확인의 부하를 경감할 수 있다.
CAD 데이터 저장 유닛(02135)은 컨트롤러(02110)로부터 수신한 스타디움 형상을 나타내는 3D 데이터를 DRAM, HDD, 또는 NAND 메모리 등의 저장 매체에 저장한다. 그 후, CAD 데이터 저장 유닛(02135)은 화상 결합 유닛(02170)에 대하여, 스타디움 형상 데이터의 요구를 수신한 때에, 저장된 스타디움 형상 데이터를 송신한다.
캘리브레이션 유닛(02140)은 카메라 캘리브레이션 동작을 수행하고, 캘리브레이션에 의해 얻어진 카메라 파라미터를 후술하는 비-촬영 데이터 파일 생성 유닛(02185)에 송신한다. 동시에, 캘리브레이션 유닛(02140)은 자신의 저장 영역에 카메라 파라미터들을 저장하고, 후술하는 3D 모델 결합 유닛(02160)에 카메라 파라미터들에 대한 정보를 제공한다.
화상 프로세서(02150)는 전경 화상들 및 배경 화상들에 대하여 카메라들(112)의 색들 및 휘도값들의 조정, RAW 화상 데이터가 입력되는 경우에는 현상 처리 및 카메라 렌즈들의 왜곡의 정정을 수행한다. 화상 처리를 실시한 전경 화상들 및 배경 화상들은 촬영 데이터 파일 생성 유닛(02180) 및 화상 결합 유닛(02170)에 각각 송신된다.
3D 모델 결합 유닛(02160)은, 카메라 어댑터들(120)로부터 획득한 동일 시각의 3D 모델 데이터를 캘리브레이션 유닛(02140)이 생성한 카메라 파라미터들을 사용하여 서로 결합한다. 그 후, 3D 모델 결합 유닛(02160)은 소위 VisualHull 방법을 사용하여, 스타디움 전체의 전경 화상의 3D 모델 데이터를 생성한다. 생성한 3D 모델은 촬영 데이터 파일 생성 유닛(02180)에 송신된다.
화상 결합 유닛(02170)은 화상 프로세서(02150)로부터 배경 화상들을 획득하고, CAD 데이터 저장 유닛(02135)으로부터 스타디움의 3D 형상 데이터(스타디움 형상 데이터)를 획득하고, 획득한 스타디움의 3D 형상 데이터의 좌표에 대응하는 배경 화상들의 위치들을 지정한다. 개개의 배경 화상들에서 스타디움의 3D 형상 데이터의 좌표에 대응하는 위치들이 지정되는 경우, 배경 화상들을 서로 결합하여 1개의 배경 화상이 획득된다. 배경 화상들의 3D 형상 데이터의 생성은 백-엔드 서버(270)에 의해 수행될 수 있다는 것에 유의한다.
촬영 데이터 파일 생성 유닛(02180)은 데이터 동기 유닛(02130)으로부터 사운드 데이터를 획득하고, 화상 프로세서(02150)로부터 전경 화상들을 획득하고, 3D 모델 결합 유닛(02160)으로부터 3D 모델 데이터를 획득하고, 화상 결합 유닛(02170)으로부터 3D 형상에 결합된 배경 화상들을 획득한다. 그 후, 촬영 데이터 파일 생성 유닛(02180)은 획득한 데이터를 DB 액세스 컨트롤러(02190)에 대하여 출력한다. 여기서, 촬영 데이터 파일 생성 유닛(02180)은, 데이터를 출력하기 전에 데이터의 시간 정보에 기초하여 데이터를 서로 연관된다. 데이터의 일부는 데이터를 출력하기 전에 서로 연관될 수 있다는 것에 유의한다. 예를 들어, 촬영 데이터 파일 생성 유닛(02180)은, 전경 화상들과 배경 화상들을 출력하기 전에, 전경 화상들과 배경 화상들을, 전경 화상들의 시간 정보 및 배경 화상들의 시간 정보에 기초하여 서로 연관된다. 또한, 예를 들어, 촬영 데이터 파일 생성 유닛(02180)은, 전경 화상들, 배경 화상들, 및 3D 모델 데이터를 출력하기 전에, 전경 화상들, 배경 화상들, 3D 모델 데이터를, 전경 화상들의 시간 정보, 배경 화상들의 시간 정보 및 3D 모델 데이터의 시간 정보에 기초하여 서로 연관된다. 촬영 데이터 파일 생성 유닛(02180)은 연관된 데이터의 파일을 출력하기 전에 데이터의 각각의 타입별 데이터 단위로 생성할 수 있거나, 복수의 타입의 데이터의 파일을 시간 정보가 나타내는 시각에 대한 데이터 단위로 생성할 수 있다는 점에 유의한다. 이렇게 하여, 연관된 촬영 데이터가, 연관을 수행하는 정보 처리 장치로서 역할을 하는 프론트-엔드 서버(230)로부터 데이터베이스(250)에 출력되는 경우, 백-엔드 서버(270)는 동일한 시간 정보를 갖는 전경 화상들과 배경 화상들을 사용하여 가상 시점 화상을 생성할 수 있다.
데이터 입력 컨트롤러(02120)에 의해 획득되는 전경 화상들과 배경 화상들의 프레임 레이트들이 서로 상이한 경우, 촬영 데이터 파일 생성 유닛(02180)은, 동일한 시각에서 획득된 전경 화상들과 배경 화상들을 출력하기 전에 서로 연관하는 것은 어렵다. 따라서, 촬영 데이터 파일 생성 유닛(02180)은, 전경 화상의 시간 정보와 미리 결정된 규칙에 기초하는 관계를 갖는 시간 정보를 갖는 배경 화상을 출력하기 전에 서로 연관한다. 여기서, 전경 화상의 시간 정보와 미리 결정된 규칙에 기초하는 관계를 갖는 시간 정보를 갖는 배경 화상은, 예를 들어 촬영 데이터 파일 생성 유닛(02180)이 획득한 배경 화상들 중 전경 화상의 시간 정보에 가장 유사한 시간 정보를 갖는 배경 화상을 의미한다. 이렇게 하여, 미리 결정된 규칙에 기초하여 전경 화상과 배경 화상을 연관시킴으로써, 전경 화상과 배경 화상의 프레임 레이트들이 서로 상이한 경우에도, 유사한 시각들에서 촬영된 전경 화상과 배경 화상을 사용하여 가상 시점 화상을 생성할 수 있다. 전경 화상과 배경 화상을 연관시키기 위한 방법은 위에서 설명된 방법에 한정되지 않는다는 것에 유의한다. 예를 들어, 전경 화상의 시간 정보와 미리 결정된 규칙에 기초하는 관계를 갖는 시간 정보를 갖는 배경 화상은, 전경 화상의 시각 전의 시점들에 대응하는 시간 정보를 갖는 획득된 배경 화상들 중, 전경 화상의 시간 정보에 가장 가까운 시간 정보를 갖는 배경 화상일 수 있다. 이 방법에 따르면, 전경 화상들의 프레임 레이트보다 낮은 프레임 레이트를 갖는 배경 화상들의 획득을 기다리지 않고서, 서로 연관된 전경 화상들과 배경 화상들을 저지연으로 출력할 수 있다. 전경 화상의 시간 정보와 미리 결정된 규칙에 기초하는 관계를 갖는 시간 정보를 갖는 배경 화상은, 전경 화상의 시각 후의 시각들에 대응하는 시간 정보를 갖는 획득된 배경 화상들 중, 전경 화상의 시간 정보에 가장 가까운 시간 정보를 갖는 배경 화상일 수 있다.
비-촬영 데이터 파일 생성 유닛(02185)은, 캘리브레이션 유닛(02140)으로부터 카메라 파라미터들, 및 컨트롤러(02110)로부터 스타디움의 3D 형상 데이터를 획득하고, 파일 포맷으로 카메라 파라미터들 및 3D 형상 데이터를 변환한 후에 카메라 파라미터들 및 3D 형상 데이터를 DB 액세스 컨트롤러(02190)에 송신한다. 비-촬영 데이터 파일 생성 유닛(02185)에 입력될 카메라 파라미터들 및 스타디움 형상 데이터는 파일 포맷에 따라 개별적으로 변환된다는 것에 유의한다. 구체적으로, 비-촬영 데이터 파일 생성 유닛(02185)은, 데이터 중 하나를 수신한 경우, 데이터를 독립적으로 DB 액세스 컨트롤러(02190)에 송신한다.
DB 액세스 컨트롤러(02190)는, InfiniBand에 의해 고속 통신이 수행되도록 데이터베이스(250)와 접속된다. 그 후, DB 액세스 컨트롤러(02190)는 촬영 데이터 파일 생성 유닛(02180) 및 비-촬영 데이터 파일 생성 유닛(02185)으로부터 제공된 파일들을 데이터베이스(250)에 대하여 송신한다. 본 실시예에서는, 촬영 데이터 파일 생성 유닛(02180)이 시간 정보에 기초하여 연관되는 촬영 데이터는, 프론트-엔드 서버(230)에 네트워크를 통해서 접속되는 저장 디바이스인 데이터베이스(250)에 DB 액세스 컨트롤러(02190)를 통해 출력된다. 연관된 촬영 데이터의 출력처는 이것에 한정되지 않는다는 것에 유의한다. 예를 들어, 프론트-엔드 서버(230)는, 시간 정보에 기초하여 연관된 촬영 데이터를, 프론트-엔드 서버(230)에 네트워크를 통해서 접속되고 가상 시점 화상을 생성하는 화상 생성 디바이스로서 역할을 하는 백-엔드 서버(270)에 출력할 수 있다. 또한, 프론트-엔드 서버(230)는, 이 촬영 데이터를 데이터베이스(250)와 백-엔드 서버(270)의 양쪽에 출력할 수 있다.
본 실시예에서는 프론트-엔드 서버(230)가 전경 화상들과 배경 화상들을 연관하지만, 본 발명은 이에 한정되지 않고, 데이터베이스(250)가 연관을 수행할 수 있다. 예를 들어, 데이터베이스(250)는 프론트-엔드 서버(230)로부터 시간 정보를 갖는 전경 화상들 및 배경 화상들을 획득한다. 그 후 데이터베이스(250)는, 데이터베이스(250)에 포함되는 저장 유닛에 전경 화상들과 배경 화상들을 출력하기 전에, 전경 화상들과 배경 화상들을 전경 화상들의 시간 정보 및 배경 화상들의 시간 정보에 기초하여 서로 연관할 수 있다.
도 5는 프론트-엔드 서버(230)에 포함되는 데이터 입력 컨트롤러(02120)를 도시하는 기능 블록도이다.
데이터 입력 컨트롤러(02120)는, 서버 네트워크 어댑터(06210), 서버 송신 유닛(06220) 및 서버 화상 프로세서(06230)을 포함한다. 서버 네트워크 어댑터(06210)는, 서버 데이터 수신 유닛(06211)을 포함하고, 카메라 어댑터(120)로부터 송신되는 데이터를 수신하는 기능을 갖는다.
서버 송신 유닛(06220)은, 서버 데이터 수신 유닛(06211)으로부터 제공된 데이터를 처리하는 기능을 갖고, 후술한 기능 유닛들을 포함한다. 서버 데이터 신장 유닛(06221)은, 압축된 데이터를 신장하는 기능을 갖는다.
서버 데이터 라우팅 프로세서(06222)는, 후술하는 서버 데이터 라우팅 정보 저장 유닛(06224)에 저장되는 어드레스 등의 라우팅 정보에 따라 데이터의 이송처를 결정하고, 서버 데이터 수신 유닛(06211)으로부터 제공된 데이터를 이송한다.
서버 화상/사운드 송신 프로세서(06223)는, 카메라 어댑터(120)로부터 서버 데이터 수신 유닛(06211)을 통해 메시지를 수신하고, 메시지에 포함되는 데이터 타입에 따라, 프래그먼트화된 데이터를 화상 데이터 또는 사운드 데이터로 복원한다. 복원된 화상 데이터 또는 복원된 사운드 데이터가 압축된 경우에는, 서버 데이터 신장 유닛(06221)이 신장 처리를 수행한다는 것에 유의한다.
서버 데이터 라우팅 정보 저장 유닛(06224)은, 서버 데이터 수신 유닛(06211)이 수신한 데이터의 송신처를 결정하기 위한 어드레스 정보를 저장하는 기능을 갖는다. 라우팅 방법에 대해서는 후술할 것이다.
서버 화상 프로세서(06230)는, 카메라 어댑터(120)로부터 제공된 화상 데이터 또는 사운드 데이터에 연관된 처리를 수행하는 기능을 갖는다. 처리 내용은, 화상 데이터의 데이터 실체(전경 화상, 배경 화상 및 3D 모델 정보)에 따른, 카메라 번호, 화상 프레임의 촬영 시각, 화상 사이즈, 화상 포맷 및 화상의 좌표 속성 정보가 부여된 적절한 포맷으로의 변환 처리를 포함한다.
도 6은 데이터베이스(250)를 도시한 기능 블록도이다. 컨트롤러(02410)는 CPU와, DRAM(dynamic random access memory), 프로그램 데이터 및 각종 데이터를 저장하는 HDD(hard disk drive)나 NAND(inverted AND) 메모리 등의 저장 매체와, 이더넷 등의 하드웨어에 의해 구성된다. 그 후, 컨트롤러(02410)는 데이터베이스(250)의 다양한 기능 블록들 및 데이터베이스(250)의 시스템 전체를 제어한다.
데이터 입력 유닛(02420)은 InfiniBand 등의 고속 통신에 의해, 프론트-엔드 서버(230)로부터 촬영 데이터나 비-촬영 데이터의 파일을 수신한다. 수신한 파일은 캐시(02440)로 송신된다. 또한, 데이터 입력 유닛(02420)은 수신한 촬영 데이터의 메타데이터를 판독하고, 메타데이터에 기록된 타임 레코드 정보, 라우팅 정보, 및 카메라 식별자에 대한 정보를 사용하여, 획득한 데이터가 액세스되도록 데이터베이스 테이블을 생성한다.
데이터 출력 유닛(02430)은, 백-엔드 서버(270)에 의해 요구된 데이터를 저장하는 캐시(02440), 1차 스토리지(02450), 및 2차 스토리지(02460) 중 하나를 결정한다. 그 후, 데이터 출력 유닛(02430)은 InfiniBand 등의 고속 통신을 통해, 저장처로부터의 데이터를 판독하고 판독된 데이터를 백-엔드 서버(270)로 송신한다.
캐시(02440)는 고속 입/출력 스루풋을 실현할 수 있는 DRAM 등의 저장 디바이스를 포함하고, 데이터 입력 유닛(02420)으로부터 제공된 촬영 데이터 및 비-촬영 데이터를 저장 디바이스에 저장한다. 저장된 데이터는 미리 결정된 양이 도달될 때까지 유지되고, 데이터량이 미리 결정된 양을 초과할 때마다, 더 오래된 데이터로부터의 순서로, 1차 스토리지(02450)에 데이터가 성공적으로 기입되고 1차 스토리지(02450)에 기입된 데이터가 기입되었던 부분에 새로운 데이터가 기입된다. 캐시(02440)에 특정량 저장되는 데이터는 적어도 1 프레임분의 촬영 데이터에 대응한다. 그에 따라, 백-엔드 서버(270)가 화상 렌더링 처리를 수행할 때, 데이터베이스(250) 내에서의 스루풋을 최소한으로 억제할 수 있고, 최신의 화상 프레임들을 저지연으로 연속적으로 렌더링할 수 있다. 여기서, 전술한 목적을 달성하기 위해서는, 캐시된 데이터에 배경 화상이 포함될 필요가 있다. 따라서, 캐시에서의 배경 화상은 갱신되지 않고서, 배경 화상을 포함하지 않은 프레임의 촬영 데이터가 캐시된다. 데이터를 캐시할 수 있는 DRAM의 용량은, 미리 시스템에 설정된 캐시 프레임 사이즈 또는 제어 스테이션(310)에 의해 발행된 지시에 따라 결정된다. 비-촬영 데이터는, 비-촬영 데이터의 입력/출력의 빈도가 적고 게임 전 등에서는 고속 스루풋이 요구되지 않기 때문에, 1차 스토리지(02450)에 즉시 카피된다는 것에 유의한다. 캐시된 데이터는 데이터 출력 유닛(02430)에 의해 판독된다.
1차 스토리지(02450)는 SSD들 등의 스토리지 미디어를 병렬로 연결하는 것에 의해 구성되고 데이터 입력 유닛(02420)으로부터의 대량의 데이터의 기입 및 데이터 출력 유닛(02430)에 의한 데이터 판독을 동시에 수행할 수 있어서 고속 처리가 실현된다. 1차 스토리지(02450)에는, 캐시(02440)에 저장된 데이터가 캐시(02440)에 저장된 더 오래된 데이터로부터의 순서로 기입된다.
2차 스토리지(02460)는 HDD, 테이프 미디어 등에 의해 구성된다. 2차 스토리지(02460)에서는 고속 처리보다도 대용량이 더 중시되고, 2차 스토리지(02460)는 1차 스토리지(02450)와 비교하여 더 저렴한 장기간의 저장에 적합한 미디어가 되도록 요구된다. 2차 스토리지(02460)에는, 촬영이 완료된 후, 데이터의 백업으로서 1차 스토리지(02450)에 저장된 데이터가 기입된다.
도 7은, 본 실시예의 백-엔드 서버(270)의 구성을 나타내는 도면이다. 백-엔드 서버(270)는, 데이터 수신 유닛(03001), 배경 텍스처 부착 유닛(03002), 전경 텍스처 결정 유닛(03003), 텍스처 경계 색 조정 유닛(03004), 가상 시점 전경 화상 생성 유닛(03005) 및 렌더링 유닛(03006)을 포함한다. 백-엔드 서버(270)는, 가상 시점 사운드 생성 유닛(03007), 합성 유닛(03008), 화상 출력 유닛(03009), 전경 오브젝트 결정 유닛(03010), 요구 리스트 생성 유닛(03011), 요구 데이터 출력 유닛(03012), 및 렌더링 모드 관리 유닛(03014)을 추가로 포함한다.
데이터 수신 유닛(03001)은, 데이터베이스(250) 및 컨트롤러(300)로부터 송신되는 데이터를 수신한다. 또한 데이터 수신 유닛(03001)은, 데이터베이스(250)로부터, 스타디움의 형상을 나타내는 3D 데이터(스타디움 형상 데이터), 전경 화상들, 배경 화상들, 전경 화상들의 3D 모델(이후, "전경 3D 모델"이라고 칭함) 및 사운드를 수신한다.
또한, 데이터 수신 유닛(03001)은, 가상 시점 화상의 생성에 관한 시점(가상 시점)을 지정하는 지정 디바이스로서 역할을 하는 컨트롤러(300)로부터 출력되는 가상 카메라 파라미터를 수신한다. 가상 카메라 파라미터는, 가상 시점의 위치 및 자세를 표현하는 데이터이고, 예를 들어 외부 파라미터들의 행렬과 내부 파라미터들의 행렬이 사용된다.
데이터 수신 유닛(03001)에 의해 컨트롤러(300)로부터 획득된 데이터는 가상 카메라 파라미터에 한정되지 않는다는 것에 유의한다. 예를 들어, 컨트롤러(300)로부터 출력되는 정보는, 시점의 지정 방법, 컨트롤러(300)가 동작시키고 있는 애플리케이션을 지정하는 정보, 컨트롤러(300)의 식별 정보 및 컨트롤러(300)를 사용하는 유저의 식별 정보 등의, 시점의 지정 상황들을 나타내는 정보를 포함할 수 있다. 또한, 데이터 수신 유닛(03001)은, 컨트롤러(300)로부터 출력되는 전술한 정보와 유사한 정보를, 엔드-유저 단말기(190)로부터 획득할 수 있다. 또한, 데이터 수신 유닛(03001)은, 데이터베이스(250)나 컨트롤러(300) 등의 외부 디바이스로부터, 복수의 카메라(112)에 관한 정보를 획득할 수 있다. 복수의 카메라(112)에 관한 정보의 예들은, 카메라들(112)의 수에 관한 정보 및 복수의 카메라(112)의 동작 상태들에 관한 정보 등의, 촬영의 상황들을 나타내는 정보를 포함한다. 카메라들(112)의 동작 상태의 예들은, 예를 들어, 카메라(112)의 정상 상태, 고장 상태, 대기 상태, 기동 준비 상태 및 재기동 상태 중 적어도 하나를 포함한다. 여기서, 정상 상태는 촬영이 가능한 상태를 나타내며, 고장 상태는 촬영이 제한되는 상태를 나타내며, 대기 상태는 촬영이 정지되는 상태를 나타내며, 기동 준비 상태는 촬영을 개시하기 위한 처리를 수행하는 상태이며, 재기동 상태는 미리 결정된 초기 설정을 수행하는 상태를 나타낸다.
배경 텍스처 부착 유닛(03002)은, 배경 메쉬 모델 관리 유닛(03013)으로부터 획득하는 배경 메쉬 모델(스타디움 형상 데이터)에 의해 나타나는 3D 공간 형상에 대하여 배경 화상을 텍스처로서 부착한다. 이에 의해, 배경 텍스처 부착 유닛(03002)은, 텍스처를 갖는 배경 메쉬 모델을 생성한다. 메쉬 모델은, 예컨대 CAD 데이터 등의 3D의 공간 형상을 면들의 집합에 의해 표현한 데이터를 나타낸다. 텍스처는, 오브젝트의 표면 질감을 표현하기 위해서 부착하는 화상을 의미한다.
전경 텍스처 결정 유닛(03003)은, 전경 화상 및 전경 3D 모델 그룹을 사용하여 전경 3D 모델의 텍스처 정보를 결정한다.
텍스처 경계 색 조정 유닛(03004)은, 전경 3D 모델들의 텍스처 정보와 3D 모델 그룹에 따라 텍스처의 경계 색을 조정하고, 각각의 전경 오브젝트마다 착색 전경 3D 모델 그룹을 생성한다.
가상 시점 전경 화상 생성 유닛(03005)은, 가상 카메라 파라미터들에 기초하여, 전경 화상 그룹을 가상 시점으로부터 보이도록 투시 변환을 수행한다. 렌더링 유닛(03006)은, 렌더링 모드 관리 유닛(03014)에 의해 결정된, 가상 시점 화상의 생성에 사용되는 생성 방식에 기초하여, 배경 화상들과 전경 화상들을 렌더링해서 파노라마(panoramic) 가상 시점 화상을 생성한다. 본 실시예에서는 가상 시점 화상의 생성 방식으로서, 모델-베이스 렌더링(model-based rendering: MBR)과 이미지-베이스 렌더링(image-based rendering: IBR)을 포함하는 2개의 렌더링 모드가 사용된다.
MBR가 사용될 때, 피사체를 복수의 방향으로부터 촬영하는 것에 의해 획득된 복수의 촬영 화상에 기초하여 생성되는 3D 모델을 사용하여 가상 시점 화상을 생성한다. 구체적으로는, MBR은 MVS(multi-view-stereo) 등의 3D 형상 복원 방법에 의해 얻어진 대상 씬(scene)의 3D 형상(모델)을 이용하여, 가상 시점으로부터의 씬의 외관을 화상으로서 생성하는 기술이다.
IBR은, 대상 씬을 복수 시점으로부터 촬영하는 것에 의해 입력 화상 그룹을 변형 및 합성함으로써 가상 시점으로부터의 외관을 재현한 가상 시점 화상을 생성하는 기술이다. 본 실시예에서는, 적어도 하나의 촬영 화상에 기초하여 가상 시점 화상이 생성된다. 촬영 화상들의 수는 MBR을 사용하여 3D 모델을 생성하기 위한 촬영 화상들의 수보다 작다.
렌더링 모드가 MBR인 경우, 배경 메쉬 모델과, 텍스처 경계 색 조정 유닛(03004)에 의해 생성한 전경 3D 모델 그룹을 서로 합성함으로써 파노라마 모델이 생성된다. 그 파노라마 모델로부터 가상 시점 화상이 생성된다.
렌더링 모드가 IBR인 경우, 배경 텍스처 모델에 기초하여 가상 시점으로부터 본 배경 화상이 생성되고, 이 배경 화상과, 가상 시점 전경 화상 생성 유닛(03005)에 의해 생성된 전경 화상을 합성하여 가상 시점 화상이 생성된다.
렌더링 유닛(03006)은 MBR과 IBR 이외의 렌더링 방법을 이용할 수 있다는 것에 유의한다. 또한, 렌더링 모드 관리 유닛(03014)에 의해 결정된 가상 시점 화상의 생성 방식은 렌더링의 방식에 한정되지 않고, 렌더링 모드 관리 유닛(03014)은 가상 시점 화상을 생성하기 위한 렌더링 이외의 처리의 방식을 결정할 수 있다. 렌더링 모드 관리 유닛(03014)은, 가상 시점 화상의 생성에 사용되는 생성 방식으로서의 렌더링 모드를 결정하고, 결정 결과를 저장한다.
본 실시예에서는, 렌더링 모드 관리 유닛(03014)은, 복수의 렌더링 모드들 중에서 사용될 렌더링 모드를 결정한다. 이 결정은, 데이터 수신 유닛(03001)이 획득한 정보에 기초하여 수행된다. 예를 들어, 렌더링 모드 관리 유닛(03014)은, IBR은, 획득된 정보에 따라 지정되는 카메라들의 수가 임계값 이하인 경우에, 가상 시점 화상의 생성에 사용되는 생성 방식인 것으로 결정한다. 한편, 카메라들의 수가 임계값보다 많은 경우에는 렌더링 모드 관리 유닛(03014)은, 생성 방식이 MBR인 것으로 결정한다. 이렇게 하여, 카메라들의 수가 많은 경우에는 MBR을 사용하여 가상 시점 화상을 생성함으로써 넓은 시점 지정 가능 범위가 달성된다. 한편, 카메라들의 수가 작은 경우에는, IBR을 사용함으로써 MBR을 사용하여 생성된 3D 모델의 정밀도 저하에 의해 야기되는 가상 시점 화상의 화질 저하를 회피할 수 있다. 또한, 촬영을 수행할 때로부터 화상이 출력될 때까지 기간에서 허용 가능한 처리 지연 시간의 길이에 따라 생성 방식을 결정할 수 있다. 지연 시간이 길어도 자유도에 대해 우선권이 주어질 경우에, MBR이 사용되는 반면, 지연 시간의 감소가 요구되는 경우에, IBR이 사용된다. 또한 예를 들어, 컨트롤러(300)나 엔드-유저 단말기(190)가 시점의 높이를 지정할 수 있는 것을 나타내는 정보를 데이터 수신 유닛(03001)이 획득한 경우에는, 가상 시점 화상의 생성에 사용되는 생성 방식으로서 MBR이 결정된다. 이에 의해, 생성 방식이 IBR이기 때문에 유저에 의해 발행된 시점의 높이 변경 요구가 받아들여지지 않게 되는 경우가 방지될 수 있다. 이렇게 하여, 상황에 따라서 가상 시점 화상의 생성 방식을 복수의 생성 방식 중으로부터 결정하기 때문에, 적절하게 결정된 생성 방식에 의해 가상 시점 화상을 생성할 수 있다. 또한, 복수의 렌더링 모드가 요구에 따라서 하나의 모드에서 다른 모드로 스위칭될 수 있기 때문에, 유연하게 시스템을 구성할 수 있고, 본 실시예를 스타디움 이외의 피사체들에도 적용할 수 있다.
렌더링 모드 관리 유닛(03014)에 저장된 렌더링 모드들은 시스템에 사전 설정된 방법들일 수 있다는 점에 유의한다. 대안적으로, 가상 카메라 조작 UI(330)나 엔드-유저 단말기(190)를 조작하는 유저가 렌더링 모드를 임의로 설정할 수 있다.
가상 시점 사운드 생성 유닛(03007)은, 가상 카메라 파라미터에 기초하여, 가상 시점에서 들리는 사운드(사운드 그룹)를 생성한다. 합성 유닛(03008)은, 렌더링 유닛(03006)에 의해 생성된 화상 그룹과 가상 시점 사운드 생성 유닛(03007)에 의해 생성된 사운드를 합성해서 가상 시점 콘텐츠를 생성한다.
화상 출력 유닛(03009)은, 컨트롤러(300)와 엔드-유저 단말기(190)에 이더넷을 통해 가상 시점 콘텐츠를 출력한다. 외부로의 송신을 위한 방법은 이더넷에 한정되는 것이 아니라, SDI, Display Port 및 HDMI(등록 상표)와 같은 다양한 신호 송신 방법들이 사용될 수 있다는 점에 유의한다. 백-엔드 서버(270)는 렌더링 유닛(03006)에 의해 생성되고 사운드를 포함하지 않는 가상 시점 화상을 출력할 수 있다는 점에 유의한다.
전경 오브젝트 결정 유닛(03010)은, 가상 카메라 파라미터와, 전경 3D 모델에 포함되는 전경 오브젝트의 공간에서의 위치를 나타내는 전경 오브젝트의 위치 정보를 사용하여 표시되는 전경 오브젝트 그룹을 결정하고, 전경 오브젝트 리스트를 출력한다. 구체적으로, 전경 오브젝트 결정 유닛(03010)은, 가상 시점의 화상 정보를 물리적인 카메라들(112)에 매핑하는 처리를 수행한다. 본 가상 시점은, 렌더링 모드 관리 유닛(03014)에 의해 결정되는 렌더링 모드에 따라서 상이한 매핑 결과들을 갖는다. 따라서, 복수의 전경 오브젝트를 결정하는 컨트롤러가 전경 오브젝트 결정 유닛(03010)에 포함되고 렌더링 모드와 함께 제어를 수행한다.
요구 리스트 생성 유닛(03011)은, 지정 시각의 전경 오브젝트 리스트에 대응하는 전경 화상 그룹과 전경 3D 모델 그룹, 배경 화상들, 및 사운드 데이터를 데이터베이스(250)에 요구하기 위한, 요구 리스트를 생성한다. 전경 오브젝트에 대해서는, 가상 시점을 고려해서 선택된 데이터가 데이터베이스(250)에 요구된다. 그러나, 배경 화상과 사운드 데이터에 대해서는, 관심 프레임에 연관된 모든 데이터가 요구된다. 백-엔드 서버(270)가 기동될 때부터, 배경 메쉬 모델이 획득될 때까지의 시간 기간에 배경 메쉬 모델 요구 리스트가 생성된다.
요구 데이터 출력 유닛(03012)은, 입력된 요구 리스트를 바탕으로 데이터베이스(250)에 대하여 데이터 요구 커맨드를 출력한다. 배경 메쉬 모델 관리 유닛(03013)은, 데이터베이스(250)로부터 제공된 배경 메쉬 모델을 저장한다.
본 실시예에서는 백-엔드 서버(270)가 가상 시점 화상을 생성하기 위한 방법의 결정과 가상 시점 화상의 생성 양쪽을 수행하는 경우가 주로 설명된다는 점에 유의한다. 구체적으로, 백-엔드 서버(270)가 생성 방식의 결정 결과에 대응하는 데이터로서 가상 시점 화상을 출력한다. 그러나, 본 발명은 이에 한정되지 않고, 프론트-엔드 서버(230)가, 복수의 카메라(112)에 관한 정보 및 가상 시점 화상의 생성에 연관된 시점을 지정하는 디바이스로부터 출력되는 정보에 기초하여, 가상 시점 화상의 생성에 사용되는 생성 방식을 결정할 수 있다. 그 후, 프론트-엔드 서버(230)는, 카메라(112)에 의해 수행되는 촬영에 기초하는 화상 데이터와 결정된 생성 방식을 나타내는 정보를, 데이터베이스(250) 등의 저장 디바이스 및 백-엔드 서버(270) 등의 화상 생성 디바이스 중 적어도 하나에 출력할 수 있다. 이 경우에는, 예를 들어 프론트-엔드 서버(230)에 의해 생성 방식의 결정 결과에 대응하는 데이터로서 출력한 생성 방식을 나타내는 정보에 기초하여, 백-엔드 서버(270)가 가상 시점 화상을 생성한다. 프론트-엔드 서버(230)가 생성 방식을 결정할 때, 결정된 방식 이외의 방식을 이용하는 화상 생성을 위한 데이터에 대해 데이터베이스(250)나 백-엔드 서버(270)에 의해 수행되는 처리에 의해 야기되는 처리 부하를 저감할 수 있다. 그러나, 본 실시예에서 설명된 바와 같이 백-엔드 서버(270)가 생성 방식을 결정하는 경우, 데이터베이스(250)는 복수의 생성 방식을 따르는 데이터를 저장할 수 있고, 따라서 복수의 생성 방식에 대응하는 복수의 가상 시점 화상이 생성될 수 있다.
도 8은, 가상 카메라 조작 UI(330)의 기능 구성을 설명하는 블록도이다. 가상 카메라(08001)에 대해서 도 37a를 참조하여 설명할 것이다. 가상 카메라(08001)는, 설치된 카메라들(112)의 시점과 다른 시점에서 촬영을 수행할 수 있다. 구체적으로, 화상 처리 시스템(100)에서 생성되는 가상 시점 화상이, 가상 카메라(08001)에 의해 촬영된 화상에 대응한다. 도 37a에서, 원주에 설치된 복수의 센서 시스템(110)은 각자의 카메라들(112)을 갖는다. 예를 들어, 가상 시점 화상을 생성함으로써, 마치 화상이 축구 골의 근처에 설치된 가상 카메라(08001)에 의해 촬영된 것처럼 보이는 화상을 생성할 수 있다. 가상 카메라(08001)에 의해 촬영된 화상인 가상 시점 화상은, 설치된 복수의 카메라(112)에 의해 촬영된 화상들에 대해 화상 처리를 수행함으로써 생성된다. 오퍼레이터(유저)는 가상 카메라(08001)의 위치를 조작할 때, 임의의 시점에서 촬영된 화상을 얻을 수 있다.
가상 카메라 조작 UI(330)는, 가상 카메라 관리 유닛(08130) 및 조작 UI 유닛(08120)을 포함한다. 가상 카메라 관리 유닛(08130) 및 조작 UI 유닛(08120)은 동일 디바이스에 구현될 수 있거나, 각각 서버로서 역할을 하는 디바이스와 클라이언트로서 역할을 하는 디바이스에 각각 구현될 수 있다. 예를 들어, 방송국에서 사용되는 가상 카메라 조작 UI(330)에서는, 중계차 내의 워크스테이션에 가상 카메라 관리 유닛(08130)과 조작 UI 유닛(08120)이 구현될 수 있다. 또한 예를 들어, 가상 카메라 관리 유닛(08130)을 웹 서버에 구현하고, 엔드-유저 단말기(190)에 조작 UI 유닛(08120)을 구현함으로써 유사한 기능을 실현할 수 있다.
가상 카메라 조작 유닛(08101)은, 가상 카메라(08001)에 대해 수행된 조작, 즉 가상 시점 화상의 생성에 관한 시점을 지정하기 위한 유저에 의해 발행된 지시를 수신할 때 처리를 수행한다. 오퍼레이터의 조작 내용은, 예를 들어 위치의 변경(시프트), 자세의 변경(회전) 및 줌 배율의 변경을 포함한다. 오퍼레이터는, 가상 카메라(08001)를 조작하기 위해서, 조이스틱, 조그 다이얼, 터치 패널, 키보드 및 마우스를 포함하는 입력 디바이스들을 사용한다. 입력 디바이스들의 입력들과 가상 카메라(08001)의 조작들 사이의 대응은 미리 결정된다. 예를 들어, 키보드의 “w” 키는, 가상 카메라(08001)를 전방으로 1 m만큼 이동하는 조작에 대응한다. 또한, 오퍼레이터는 궤적을 지정한 후 가상 카메라(08001)를 조작할 수 있다. 예를 들어 오퍼레이터는, 골포스트를 중심으로 하는 원주 상에서 움직이는 가상 카메라(08001)의 궤적을, 터치 패드 상에 원을 그리도록 터치 패드를 접촉함으로써 지정한다. 가상 카메라(08001)는, 지정된 궤적을 따라서 골포스트의 주위를 이동한다. 이 경우에는, 가상 카메라(08001)가 항상 골포스트 쪽을 향하도록 자동으로 가상 카메라(08001)의 자세를 변경할 수 있다. 가상 카메라 조작 유닛(08101)은, 라이브 화상 및 리플레이 화상의 생성에 이용할 수 있다. 리플레이 화상을 생성할 때는, 카메라의 위치 및 자세 이외에 시간을 지정하는 조작이 수행된다. 리플레이 화상에서는, 예를 들어 시간을 멈추어서 가상 카메라(08001)를 이동시킬 수 있다.
가상 카메라 파라미터 획득 유닛(08102)은, 가상 카메라(08001)의 위치 및 자세를 표현하는 가상 카메라 파라미터를 획득한다. 가상 카메라 파라미터들은, 연산에 의해 도출될 수 있거나, 룩업 테이블의 참조 등에 의해 도출될 수 있다. 가상 카메라 파라미터들로서, 예를 들어 외부 파라미터들의 행렬과 내부 파라미터들의 행렬이 사용된다. 여기서, 가상 카메라(08001)의 위치와 자세는 외부 파라미터들에 포함되고, 줌 값은 내부 파라미터들에 포함된다.
가상 카메라 제한 관리 유닛(08103)은, 가상 카메라 조작 유닛(08101)에 의해 수신되는 지시에 기초하는 시점의 지정이 제한되는 제한 영역을 지정하기 위한 제한 정보를 획득하고 관리한다. 이 제한 정보는 예를 들어, 가상 카메라(08001)의 위치, 자세, 줌 값 등에 연관된 제한을 나타낸다. 가상 카메라(08001)는, 카메라들(112)과 상이하여, 임의로 시점을 이동하면서 촬영을 수행할 수 있다. 그러나, 반드시 가상 카메라(08001)가 항상 다양한 시점들로부터의 화상들을 생성할 수 있는 경우인 것은 아니다. 예를 들어, 가상 카메라(08001)가 카메라들(112) 중 어느 것에 의해서도 촬영되지 않는 오브젝트가 존재하는 방향을 향하고 있는 경우, 오브젝트의 화상이 촬영될 수 없다. 또한, 가상 카메라(08001)의 줌 배율을 증가시키면, 해상도의 제한으로 인해 화질이 열화된다. 따라서, 특정 기준의 화질을 유지하는 범위의 줌 배율이 가상 카메라 제한으로서 설정될 수 있다. 가상 카메라 제한은, 카메라들(112)의 배치에 따라 사전에 획득될 수 있다. 또한, 송신 유닛(06120)이 네트워크의 부하에 따라서 송신 데이터량을 삭감할 수 있다. 이 데이터량 삭감은, 촬영 화상들에 연관된 파라미터들을 동적으로 변경하고, 화상들을 생성할 수 있는 범위 및 화질을 유지하는 범위를 변경한다. 가상 카메라 제한 관리 유닛(08103)은, 송신 유닛(06120)으로부터 출력된 데이터의 양 삭감에 사용한 방법을 나타내는 정보를 수신하고, 그 정보에 따라서 가상 카메라 제한을 동적으로 갱신할 수 있다. 이에 의해, 송신 유닛(06120)은 데이터량 삭감을 달성하면서, 가상 시점 화상의 화질을 특정 기준으로 유지할 수 있다.
또한, 가상 카메라(08001)의 제한은 전술한 제한에 한정되지 않는다. 본 실시예에서는, 시점의 지정이 제한되는 제한 영역(가상 카메라 제한을 만족시키지 않는 영역)은 적어도 화상 처리 시스템(100)에 포함되는 디바이스들의 동작 상태들 또는 가상 시점 화상을 생성하기 위한 화상 데이터에 연관된 파라미터들에 따라서 변경된다. 예를 들어, 제한 영역은, 화상 처리 시스템(100)에서 송신되는 화상 데이터의 데이터량이 이 데이터량의 제한에 기초하여, 미리 결정된 범위 내로 제어되는 파라미터에 따라서 변경된다. 이 파라미터는, 화상 데이터의 프레임 레이트, 해상도, 양자화 스텝 및 촬영 범위 중 적어도 하나를 포함한다. 예를 들어, 송신 데이터량 삭감을 위해서 화상 데이터의 해상도가 저감되는 경우, 특정 화질을 유지할 수 있는 줌 배율의 범위가 변경된다. 이러한 경우에, 가상 카메라 제한 관리 유닛(08103)이 파라미터에 의해 변경되는 제한 영역을 나타내는 정보를 획득할 때, 가상 카메라 조작 UI(330)는 파라미터의 변화에 따른 범위에서 유저가 시점을 지정하도록 제어를 수행할 수 있다. 파라미터의 내용은 위에서 설명한 내용에 한정되지 않는다는 점에 유의한다. 또한, 본 실시예에서 데이터량이 제어되는 화상 데이터는 카메라들(112)에 의해 촬영된 복수의 화상 간의 차분들에 기초하여 생성되지만, 본 발명은 이것에 제한되지 않는다. 화상 데이터는, 촬영 화상 자체일 수 있거나, 전경 화상이나 배경 화상일 수 있다.
또한 예를 들어, 제한 영역은, 화상 처리 시스템(100)에 포함되는 디바이스들의 동작 상태에들 따라서 변한다. 여기서, 화상 처리 시스템(100)에 포함되는 디바이스들은, 카메라(112) 및 카메라(112)에 의해 촬영된 화상에 대해 화상 처리를 수행함으로써 화상 데이터를 생성하는 카메라 어댑터(120) 중 적어도 하나를 포함한다. 디바이스들의 동작 상태들은, 예를 들어 디바이스들의 정상 상태, 고장 상태, 기동 준비 상태 및 재기동 상태 중 적어도 하나를 포함한다. 예를 들어, 카메라들(112) 중 하나가 고장 상태나 재기동 상태에 있는 경우, 그 카메라(112)의 주변 위치들에 시점이 지정되지 않을 수 있다. 이러한 경우에, 가상 카메라 제한 관리 유닛(08103)이 디바이스들의 동작 상태들에 따라서 변경되는 제한 영역을 나타내는 정보를 획득하는 경우, 가상 카메라 조작 UI(330)는 디바이스들의 동작 상태들의 변화에 따른 범위에서 유저가 시점을 지정하도록 제어를 수행할 수 있다. 제한 영역의 변화와 연관된 디바이스들 및 그 동작 상태들은 위에서 설명된 것들에 한정되지 않는다는 점에 유의한다.
충돌 결정 유닛(08104)은, 가상 카메라 파라미터 획득 유닛(08102)에 의해 획득된 가상 카메라 파라미터가 가상 카메라 제한을 만족시키는지를 결정한다. 이 결정이 부정인 경우에는, 오퍼레이터에 의해 수행되는 조작 입력을 취소하고, 제한을 만족시키는 위치로부터 가상 카메라(08001)가 움직이지 않도록 제어하거나, 제한을 만족시키는 위치로 가상 카메라(08001)를 복귀시킨다.
피드백 출력 유닛(08105)은, 충돌 결정 유닛(08104)에 의해 수행되는 결정 결과를 오퍼레이터에 피드백한다. 예를 들어, 오퍼레이터에 의해 수행되는 조작으로 인해, 가상 카메라 제한이 만족되지 않을 경우에, 충돌 결정 유닛(08104)은 오퍼레이터에 통지를 송신한다. 오퍼레이터가 가상 카메라(08001)를 상방으로 이동하는 조작을 수행했지만, 이동처가 가상 카메라 제한을 만족시키지 않는 것으로 가정한다. 이 경우, 피드백 출력 유닛(08105)은 가상 카메라(08001)가 오퍼레이터에, 상방으로 더 이상 이동되지 않을 수 있는 것을 나타내는 통지를 송신한다. 통지는, 사운드, 메시지 출력, 화면의 색 변화 및 가상 카메라 조작 유닛(08101)을 로크하는 등에 의해 수행된다. 또한, 제한을 만족시키는 위치까지 가상 카메라(08001)의 위치를 자동으로 복귀시킬 수 있고, 이에 의해 오퍼레이터에 의해 수행되는 조작이 간편화될 수 있다. 피드백이 화상 표시에 의해 수행되는 경우, 피드백 출력 유닛(08105)은, 가상 카메라 제한 관리 유닛(08103)이 획득한 제한 정보에 기초하여, 제한 영역에 따른 표시 제어에 기초하는 화상을 표시 유닛에 표시한다. 예를 들어, 피드백 출력 유닛(08105)은, 가상 카메라 조작 유닛(08101)에 의해 수신된 지시에 대응하는 시점이 제한 영역 내인 것을 나타내는 화상을 표시 유닛에 표시한다. 이에 의해, 오퍼레이터는 지정된 시점이 제한 영역 내에 포함되고, 따라서 원하는 가상 시점 화상을 생성할 수 없다는 것을 인식할 수 있다. 그에 따라, 오퍼레이터는 제한 영역 외부의 위치(제한을 만족시키는 위치)에 시점을 다시 지정할 수 있다. 구체적으로, 가상 시점 화상의 생성에서, 상황에 따라서 변하는 범위 내에서 시점이 지정될 수 있다. 제한 영역에 따른 표시 제어를 수행하는 제어 디바이스의 역할을 하는 가상 카메라 조작 UI(330)에 의해 표시 유닛에 표시되는 내용은 이것에 한정되지 않는다는 점에 유의한다. 예를 들어, 시점의 지정 대상이 되는 영역(스타디움의 내부 등)에 제한 영역에 대응하는 부분을 미리 결정된 색으로 채운 화상 등의, 제한 영역을 나타내는 화상이 표시될 수 있다. 본 실시예에서는 표시 유닛이 가상 카메라 조작 UI(330)에 접속되는 외부 디스플레이이지만, 본 발명은 이에 한정되지 않고, 표시 유닛이 가상 카메라 조작 UI(330) 내부에 포함될 수 있다.
가상 카메라 경로 관리 유닛(08106)은, 오퍼레이터에 의해 수행되는 조작에 대응하는 가상 카메라(08001)의 경로(가상 카메라 경로(08002))를 관리한다. 가상 카메라 경로(08002)는, 가상 카메라(08001)의 개개의 프레임들마다 위치들 및 자세들을 나타내는 정보의 라인이다. 도 37b를 참조하여 설명이 이루어질 것이다. 예를 들어, 가상 카메라(08001)의 위치 및 자세를 나타내는 정보로서 가상 카메라 파라미터가 사용된다. 예를 들어, 60 프레임/초의 프레임 레이트 설정에서의 1초분의 정보는, 60개의 가상 카메라 파라미터의 라인에 대응한다. 가상 카메라 경로 관리 유닛(08106)은, 충돌 결정 유닛(08104)에 의해 결정된 가상 카메라 파라미터들을, 백-엔드 서버(270)에 송신한다. 백-엔드 서버(270)는, 수신한 가상 카메라 파라미터들을 사용하여, 가상 시점 화상 및 가상 시점 사운드를 생성한다. 또한, 가상 카메라 경로 관리 유닛(08106)은, 가상 카메라 파라미터들을 가상 카메라 경로(08002)에 부가한 후 가상 카메라 파라미터들을 저장하는 기능을 갖는다. 예를 들어, 가상 카메라 조작 UI(330)를 사용하여, 1시간분의 가상 시점 화상 및 가상 시점 사운드를 생성한 경우, 1시간분의 가상 카메라 파라미터들이 가상 카메라 경로(08002)로서 저장된다. 가상 카메라 경로(08002)를 저장함으로써, 데이터베이스(250)의 2차 스토리지(02460)에 저장된 화상 정보와 가상 카메라 경로(08002)를 뒤에서 참조함으로써, 가상 시점 화상 및 가상 시점 사운드를 다시 생성할 수 있다. 즉, 고도의 가상 카메라 조작을 수행하는 오퍼레이터가 생성한 가상 카메라 경로(08002)와 2차 스토리지(02460)에 저장된 화상 정보를 다른 유저가 재이용할 수 있다. 복수의 가상 카메라 경로에 대응하는 복수의 선택가능한 씬은 가상 카메라 관리 유닛(08130)에 저장될 수 있다는 점에 유의한다. 복수의 가상 카메라 경로를 가상 카메라 관리 유닛(08130)에 저장하는 때, 가상 카메라 경로들에 대응하는 씬들의 스크립트들, 게임의 경과 시간들, 씬들의 전후 지정 시간 및 선수 정보를 포함하는 메타데이터가 또한 입력 및 저장될 수 있다. 가상 카메라 조작 UI(330)는, 이들의 가상 카메라 경로들을 가상 카메라 파라미터들로서, 백-엔드 서버(270)에 통지한다.
엔드-유저 단말기(190)는, 백-엔드 서버(270)에 가상 카메라 경로를 선택하기 위한 선택 정보를 요구함으로써, 씬의 이름, 선수, 또는 게임의 경과 시간으로부터, 가상 카메라 경로를 선택할 수 있다. 백-엔드 서버(270)는 엔드-유저 단말기(190)에 선택가능한 가상 카메라 경로의 후보들을 통지한다. 엔드-유저는 엔드-유저 단말기(190)를 조작하는 것에 의해, 후보들 중에서 원하는 가상 카메라 경로를 선택한다. 엔드-유저 단말기(190)는 선택된 가상 카메라 경로에 대응하는 화상 생성을 백-엔드 서버(270)에 요구하여, 화상 배신 서비스를 인터렉티브하게 획득한다.
편집 유닛(08107)은, 오퍼레이터가 리플레이 화상을 생성할 때 편집을 수행하는 기능을 갖는다. 편집 유닛(08107)은, 유저 조작에 응답하여, 리플레이 화상용의 가상 카메라 경로(08002)의 초기값으로서, 가상 카메라 경로 관리 유닛(08106)에 저장되는 가상 카메라 경로(08002)의 일부를 추출한다. 전술한 바와 같이, 가상 카메라 경로 관리 유닛(08106)은, 가상 카메라 경로(08002)와 연관되는 씬의 이름, 선수, 경과 시간 및 씬의 전후 지정 시간을 포함하는 메타데이터를 저장한다. 예를 들어, "골 씬"이라는 씬의 이름, 및 총 10초의 씬의 전후 지정 시간을 갖는 가상 카메라 경로(08002)가 추출된다. 또한, 편집 유닛(08107)은, 편집한 카메라 경로에 재생 속도를 설정한다. 예를 들어, 공이 골로 날아가는 동안 가상 카메라 경로(08002)에 슬로우 재생을 설정한다. 화상이 다른 시점으로부터의 다른 화상에 의해 대체되는 경우에, 즉 가상 카메라 경로(08002)가 변경되는 경우에, 유저는 가상 카메라 조작 유닛(08101)을 사용해서 다시, 가상 카메라(08001)를 조작한다는 점에 유의한다.
가상 카메라 화상/사운드 출력 유닛(08108)은, 백-엔드 서버(270)로부터 제공된 가상 카메라 화상 및 사운드를 출력한다. 오퍼레이터는 출력된 화상 및 출력된 사운드를 확인하면서 가상 카메라(08001)를 조작한다. 가상 카메라 화상/사운드 출력 유닛(08108)은, 피드백 출력 유닛(08105)에 의해 수행되는 피드백의 내용에 따라, 제한 영역에 기초한 표시 제어에 기초하여 화상을 표시 유닛에 표시시킨다는 점에 유의한다. 예를 들어, 가상 카메라 화상/사운드 출력 유닛(08108)은, 오퍼레이터가 지정한 시점의 위치가 제한 영역에 포함되는 경우에, 지정된 위치의 부근이며 제한 영역 외부인 지정된 위치를 시점으로 한 가상 시점 화상을 표시할 수 있다. 이에 의해, 오퍼레이터가 제한 영역 외부에 시점을 다시 지정하는 수고가 삭감된다.
이어서, 시청자(유저)가 사용하는 엔드-유저 단말기(190)에 대해서 설명할 것이다. 도 9는, 엔드-유저 단말기(190)의 구성도를 도시하는 도면이다.
서비스 애플리케이션이 동작하는 엔드-유저 단말기(190)는, 예를 들어 PC(personal computer)이다. 엔드-유저 단말기(190)는, PC에 한정되지 않고, 스마트폰, 태블릿 단말기, 또는 고-화질 대형 디스플레이일 수도 있다는 점에 유의한다.
엔드-유저 단말기(190)는, 인터넷(9001)을 통해, 화상을 배신하는 백-엔드 서버(270)에 접속된다. 예를 들어, 엔드-유저 단말기(190)(PC)는 LAN(local area network) 케이블이나, 무선 LAN을 통해 라우터 및 인터넷(9001)에 접속된다.
또한, 엔드-유저 단말기(190)에는, 시청자가 시청하기 위한 스포츠 방송 화상 등의 가상 시점 화상을 표시하는 디스플레이(9003)와, 시청자에 의해 수행되는 시점 변경 등의 조작을 접수하는 유저 입력 디바이스(9002)가 접속된다. 예를 들어, 디스플레이(9003)는 액정 디스플레이이며, 디스플레이 포트(display port) 케이블을 통해 PC에 접속된다. 유저 입력 디바이스(9002)는 마우스나 키보드이며, USB(universal serial bus) 케이블을 통해 PC에 접속된다.
엔드-유저 단말기(190)의 내부 기능에 대해서 설명할 것이다. 도 10은 엔드-유저 단말기(190)의 기능 블록도이다.
애플리케이션 관리 유닛(10001)은, 오퍼레이팅 시스템 유닛(10002)에 의해 입력된 유저 입력 정보를, 백-엔드 서버(270)의 백엔드 서버 커맨드로 변환하여, 오퍼레이팅 시스템 유닛(10002)에 출력한다. 또한, 애플리케이션 관리 유닛(10001)은, 오퍼레이팅 시스템 유닛(10002)에 의해 입력된 화상을, 미리 결정된 표시 영역에 렌더링하기 위한 화상 렌더링 지시를, 오퍼레이팅 시스템 유닛(10002)에 출력한다.
오퍼레이팅 시스템 유닛(10002)은, 예를 들어 OS(operating system)이며, 후술하는 유저 입력 유닛(10004)으로부터 제공된 유저 입력 정보를, 애플리케이션 관리 유닛(10001)에 출력한다. 또한, 오퍼레이팅 시스템 유닛(10002)은, 후술하는 네트워크 통신 유닛(10003)으로부터 제공된 화상 및 사운드를 애플리케이션 관리 유닛(10001)에 출력하고 애플리케이션 관리 유닛(10001)으로부터 제공된 백엔드 서버 커맨드를 네트워크 통신 유닛(10003)에 출력한다. 또한, 오퍼레이팅 시스템 유닛(10002)은, 애플리케이션 관리 유닛(10001)으로부터 제공된 화상 렌더링 커맨드를, 화상 출력 유닛(10005)에 출력한다.
네트워크 통신 유닛(10003)은, 오퍼레이팅 시스템 유닛(10002)으로부터 제공된 백엔드 서버 커맨드를, LAN 케이블을 통해 송신될 수 있는 LAN 통신 신호로 변환하고, 이 LAN 통신 신호를 백-엔드 서버(270)에 출력한다. 그 후에, 네트워크 통신 유닛(10003)은, 백-엔드 서버(270)로부터 제공된 화상 데이터 및 사운드 데이터를, 이 데이터가 처리될 수 있도록 오퍼레이팅 시스템 유닛(10002)에 제공한다.
유저 입력 유닛(10004)은, 키보드 입력(물리 키보드 또는 소프트(soft) 키보드)이나 버튼 입력에 기초하는 유저 입력 정보, 및 유저 입력 디바이스로부터 USB 케이블을 통해 입력된 유저 입력 정보를 획득하여, 오퍼레이팅 시스템 유닛(10002)에 출력한다.
화상 출력 유닛(10005)은, 오퍼레이팅 시스템 유닛(10002)으로부터 제공된 화상 표시 지시에 기초하는 화상을 화상 신호로 변환하여, 외부 디스플레이나 일체형의 디스플레이에 출력한다.
사운드 출력 유닛(10006)은, 오퍼레이팅 시스템 유닛(10002)에 의해 발행된 사운드 출력 지시에 기초하는 사운드 데이터를 외부 스피커 또는 일체형 스피커에 출력한다. 단말기 속성 관리 유닛(10007)은, 엔드-유저 단말기(190)의 해상도, 화상 부호화 코덱 타입, 및 단말기 타입(이를테면, 스마트폰, 대형 디스플레이 등)을 관리한다.
서비스 속성 관리 유닛(10008)은, 엔드-유저 단말기(190)에 제공하는 서비스 타입에 관한 정보를 관리한다. 서비스 속성 관리 유닛(10008)은, 예를 들어, 엔드-유저 단말기(190)에 설치되는 애플리케이션의 타입 및 사용가능한 화상 배신 서비스를 관리한다.
과금 관리 유닛(10009)은, 유저에 의해, 화상 배신 서비스에서 등록되는 결제 상황 및 과금 금액에 대응하는, 수신 가능한 화상 배신 씬들의 수의 관리 등을 수행한다.
다음으로, 본 실시예의 워크플로우에 대해서 설명할 것이다. 스타디움이나 콘서트 홀 등의 시설에 복수의 카메라(112) 및 복수의 마이크(111)를 설치하고 촬영을 수행하는 경우의 워크플로우에 대해서 설명할 것이다.
도 11은 전체 워크플로우의 흐름도이다. 이하에서 설명하는 워크플로우의 처리는, 달리 설명되지 않는 한, 컨트롤러(300)의 제어 하에 실현된다. 구체적으로, 컨트롤러(300)가, 화상 처리 시스템(100) 내에 포함된 다른 디바이스들(예컨대 백-엔드 서버(270) 및 데이터베이스(250))을 제어할 때, 워크플로우의 제어가 실현된다.
도 11의 처리 개시 전에, 화상 처리 시스템(100)을 설치하고 조작하는 오퍼레이터(유저)는 설치 전에 필요한 정보(사전 정보)를 수집하고 계획을 수행한다. 또한, 오퍼레이터는, 도 11의 처리 개시 전에, 대상 시설에 장비를 설치하는 것으로 가정한다.
단계 S1100에서, 컨트롤러(300)의 제어 스테이션(310)은, 유저에 의해 입력된, 사전 정보에 기초하는 설정을 접수한다. 단계 S1100에서의 처리는 도 12를 참조하여 상세히 후술할 것이다. 다음으로, 단계 S1101에서 화상 처리 시스템(100)에 포함된 디바이스들은, 유저 조작에 따라 컨트롤러(300)에 의해 발행된 커맨드에 따라, 시스템의 동작 확인을 위한 처리를 수행한다. 단계 S1101에서의 처리는 도 13을 참조하여 상세히 후술할 것이다.
단계 S1102에서, 가상 카메라 조작 UI(330)는, 게임 등을 위한 촬영 개시 전에 화상 및 사운드를 출력한다. 이에 의해, 유저는, 게임 등의 전에, 마이크들(111)에 의해 수집된 사운드 및 카메라들(112)에 의해 촬영된 화상들을 확인할 수 있다. 단계 S1102에서의 처리는 도 14를 참조하여 상세히 후술할 것이다.
단계 S1103에서, 컨트롤러(300)의 제어 스테이션(310)은, 마이크들(111)로 하여금 사운드를 수집하게 하고, 카메라들(112)로 하여금 화상들을 촬영하게 한다. 본 단계에서의 촬영은 마이크들(111)을 사용한 사운드 수집을 포함하지만, 본 발명은 이에 한정되지 않고, 화상들만이 촬영될 수도 있다. 단계 S1103에서의 처리는 도 15 및 도 16을 참조하여 상세히 후술할 것이다. 단계 S1101에서 수행되는 설정을 변경하는 경우 또는 촬영을 종료하는 경우에는, 처리는 단계 S1104로 진행한다. 단계 S1104에서, 단계 S1101에서 수행되는 설정을 변경하고 촬영을 계속할 경우에는, 처리는 단계 S1105로 진행하는 반면, 촬영을 종료할 경우에는, 처리는 단계 S1106로 진행한다. 단계 S1104에서의 결정은, 전형적으로는, 컨트롤러(300)에의 유저 입력에 따라 수행된다. 그러나, 본 발명은 이 예에 제한되지 않는다. 단계 S1105에서, 컨트롤러(300)는, 단계 S1101에서 수행되는 설정을 변경한다. 변경 내용은, 전형적으로는, 단계 S1104에서 획득된 유저 입력에 의해 결정된다. 본 단계에서의 설정의 변경에서 촬영을 정지할 필요가 있는 경우에는, 촬영이 일시적으로 정지되고, 설정을 변경한 후에 개시된다. 또한, 촬영을 정지하는 필요가 없을 경우에는, 촬영과 병행해서 설정의 변경을 수행한다.
단계 S1106에서, 컨트롤러(300)는, 복수의 카메라(112)에 의해 촬영된 화상들 및 복수의 마이크(111)에 의해 수집된 사운드에 대한 편집을 수행한다. 이 편집은, 전형적으로는, 가상 카메라 조작 UI(330)를 통해 입력된 유저 조작에 기초하여 수행된다.
단계 S1106 및 단계 S1103에서의 처리들은 병행해서 수행될 수 있다는 점에 유의한다. 예를 들어, 스포츠 게임 또는 콘서트가 실시간으로 배신되는 경우(예를 들어, 게임 중에 게임의 화상들이 배신됨), 단계 S1103에서의 촬영과 단계 S1106에서의 편집이 동시에 수행된다. 또한, 스포츠 게임의 하이라이트 화상이 게임 후에 배신되는 경우에는, 단계 S1104에서 촬영을 종료한 후에 편집이 수행된다.
이어서, 단계 S1100(설치전 처리)에서의 처리는, 도 12를 참조하여 상세히 설명할 것이다. 먼저, 단계 S1200에서, 제어 스테이션(310)은 촬영될 시설에 관한 정보(스타디움 정보)에 연관된 유저 입력을 접수한다.
본 단계에서의 스타디움 정보는, 스타디움의 형상, 사운드, 조명, 전원, 송신 환경 및 스타디움의 3D 모델 데이터를 나타낸다. 구체적으로, 스타디움 정보는, 전술한 스타디움 형상 데이터를 포함한다. 본 실시예에서는 촬영될 시설이 스타디움인 경우가 설명된다는 점에 유의한다. 이 경우에, 스타디움에서 개최되는 스포츠 게임의 화상들이 생성되는 것으로 가정한다. 일부 스포츠 게임들은 실내에서 개최되고, 그러므로 촬영 대상의 시설은 스타디움에 한정되지 않는다는 점에 유의한다. 또한, 콘서트 홀에서의 콘서트의 가상 시점 화상을 생성할 수도 있고, 스타디움에서의 야외 콘서트의 화상들을 생성할 수도 있으며, 따라서 촬영 대상의 이벤트는 게임에 한정되는 것은 아니다.
단계 S1201에서 제어 스테이션(310)은, 디바이스 정보에 연관된 유저 입력을 접수한다. 본 단계에서의 디바이스 정보는, 카메라들, 카메라 플랫폼들, 렌즈들 및 마이크들 등의 촬영 장비, LAN, PC, 서버 및 케이블들 등의 정보 디바이스들, 및 중계차에 관한 정보를 나타낸다. 그러나, 반드시 모든 정보가 입력되는 것은 아니다.
단계 S1202에서 제어 스테이션(310)은, 단계 S1201에서 디바이스 정보가 입력된 촬영 장비에, 카메라들, 카메라 플랫폼들 및 마이크들의 배치 정보의 입력을 접수한다. 배치 정보는, 전술한 스타디움의 3D 모델 데이터를 이용해서 입력할 수 있다.
단계 S1203에서 제어 스테이션(310)은, 화상 처리 시스템(100)의 운용 정보에 연관된 유저 입력을 접수한다. 본 단계에서의 운용 정보는, 촬영 대상, 촬영 시간, 카메라 워크 및 주시점을 나타낸다. 예를 들어, 촬영 대상이, 촬영 화상에서 선수들 등의 전경 화상들의 수가 게임들에서의 전경 화상들의 수보다 압도적으로 더 많은 개회식인 경우에는, 화상 생성 방법을 그 상황에 적합한 방법으로 변경할 수 있다. 또한, 육상 게임(track and field), 필드를 사용하는 축구 게임 등과 같은 게임 타입에 따라, 복수의 카메라에 의해 촬영되는 주시점의 변경과, 카메라 워크의 제한 조건 변경이 수행될 수 있다. 이들의 운용 정보의 조합에 의해 구성되는 설정 정보 테이블이 제어 스테이션(310)에 의해 관리, 변경, 및 지시된다. 본 제어에 대해서는 후술할 것이다. 전술한 바와 같이 단계 S1200으로부터 단계 S1203까지의 처리가 수행된 후에, 시스템 설치 전의 워크플로우가 완료된다. 이어서, 단계 S1101(설치시 처리)에서의 처리는 도 13을 참조하여 상세히 후술될 것이다. 단계 S1300에서, 제어 스테이션(310)은, 설치 장비의 부족 및 과잉에 연관된 유저 입력을 접수한다. 유저는, 단계 S1201에서 입력된 디바이스 정보와 설치하는 장비를 비교하는 것에 의해 부족 및 과잉을 확인하여 설치 장비의 부족 또는 과잉이 발생하는지를 결정한다. 단계 S1301에서, 제어 스테이션(310)은, 단계 S1300에서 부족에 대응하는 장비의 설치 확인 처리를 실행한다. 즉, 유저는, 단계 S1300에서의 처리와 단계 S1301에서의 처리 사이에, 부족에 대응하는 장비를 설치할 수 있고, 제어 스테이션(310)은, 유저에 의해 부족에 대응하는 장비가 설치된 것을 확인한다.
다음으로, 단계 S1302에서, 제어 스테이션(310)은, 단계 S1301에서 설치된 장비를 기동하고, 설치 장비가 정상적으로 동작하는지를 결정하기 위해 조정 전 시스템 동작 확인을 수행한다. 단계 S1302에서의 처리에서, 유저는 시스템 동작 확인을 수행하고, 그 후 유저가 확인 결과를 제어 스테이션(310)에 입력할 수 있다는 점에 유의한다.
장비의 부족 및 과잉이나, 동작에 에러가 발생한 경우에는, 제어 스테이션(310)에 대하여 에러 통지가 송신된다(S1303). 제어 스테이션(310)은, 로크 상태, 즉 에러가 해제될 때까지 다음 단계로 진행하지 않는 상태가 된다. 에러 상태가 해제된 경우에는, 제어 스테이션(310)에 정상 통지가 송신되고(S1304), 처리는 다음 단계로 진행한다. 이에 의해, 초기 단계에서 에러를 검지할 수 있다. 확인 후, 처리는 카메라(112)에 연관된 처리가 수행되는 단계 S1305로 진행하는 한편, 처리는 마이크(111)에 연관된 처리가 수행되는 단계 S1308로 진행한다.
먼저, 카메라들(112)에 대해서 설명할 것이다. 단계 S1305에서, 제어 스테이션(310)은, 설치된 카메라들(112)을 조정한다. 본 단계의 카메라들(112)의 조정은, 뷰들의 각도들의 조정과 색 조정을 나타내고, 설치된 카메라들(112) 모두에 대해서 수행된다. 단계 S1305에서의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다.
또한, 뷰의 각도들의 조정에서는, 줌, 팬, 틸트 및 포커스의 조정들이 병행해서 수행되어, 그 조정들의 결과들이 제어 스테이션(310)에 저장된다. 색 조정에서는, IRIS, ISO/이득, 화이트 밸런스, 선명도 및 셔터 스피드의 조정들이 동시에 수행되고, 그 조정들의 결과들이 제어 스테이션(310)에 저장된다.
단계 S1306에서, 제어 스테이션(310)은, 설치된 카메라들(112) 모두가 서로 동기하도록 조정을 수행한다. 단계 S1306에서의 동기의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다. 단계 S1307에서, 제어 스테이션(310)은, 카메라 설치시 캘리브레이션을 수행한다. 구체적으로는, 제어 스테이션(310)은, 모든 설치된 카메라(112)의 좌표들이 세계 좌표에 일치하도록 조정을 수행한다. 캘리브레이션에 대해서는 도 17을 참조하여 상세히 설명할 것이다. 카메라들(112)의 제어 커맨드들 및 타임 서버와의 동기에 연관된 네트워크 경로의 통신 확인 또한 수행된다는 점에 유의한다. 그 후, 조정 후 시스템 동작 정상 확인 처리에서 대기 상태로 진입된다(S1311).
이어서, 마이크(111)에 연관된 처리에 대해서 설명할 것이다. 단계 S1308에서, 제어 스테이션(310)은, 설치된 마이크들(111)을 조정한다. 본 단계의 마이크들(111)의 조정은, 이득 조정을 나타내고, 설치한 마이크들(111) 전부에 대해서 수행된다. 단계 S1308에서의 마이크들(111)의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다.
단계 S1309에서, 제어 스테이션(310)은, 설치된 마이크들(111) 전부가 서로 동기하도록 제어를 수행한다. 구체적으로는, 제어 스테이션(310)은 동기 클럭을 확인한다. 단계 S1309에서의 동기의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다.
단계 S1310에서, 제어 스테이션(310)은, 설치된 마이크들(111) 중, 필드에 설치된 마이크들(111)의 위치들을 조정한다. 단계 S1310에서의 마이크들(111)의 위치들의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다. 마이크들(111)의 제어 커맨드들 및 타임 서버와의 동기에 연관된 네트워크 경로의 통신 확인 또한 수행된다는 점에 유의한다.
단계 S1311에서, 제어 스테이션(310)은, 카메라들(112a-112z) 및 마이크들(111a-111z)이 정확하게 조정될 수 있는지를 결정하기 위해 조정 후 시스템 동작 확인을 수행한다. 단계 S1311에서의 처리는, 유저 지시에 응답하여 실행될 수 있다. 카메라들(112) 및 마이크들(111)에 대해 조정 후 시스템 동작이 정상적으로 수행된 것으로 결정되는 경우에는, 단계 S1313에서, 제어 스테이션(310)에 정상 동작을 나타내는 통지가 송신된다. 한편, 에러가 발생한 경우에는, 카메라들(112) 및 마이크들(111)의 타입들 및 개개의 번호들과 함께 제어 스테이션(310)에 에러 통지가 송신된다(S1312). 제어 스테이션(310)은, 에러가 발생한 디바이스의 타입 및 개개의 번호에 따라 재조정의 지시를 발행한다.
이어서, 전술한 단계 S1102(촬영전 처리)에서의 처리는 도 14를 참조하여 상세히 후술할 것이다. 단계 S1400에서, 가상 카메라 조작 UI(330)는, 백-엔드 서버(270)에 의해 수행된 처리가 실시된 화상을 표시한다. 컨트롤러(300)의 오퍼레이터(유저)는 가상 카메라 조작 UI(330)의 화면을 확인함으로써 백-엔드 서버(270)에 의해 수행된 처리 결과를 확인할 수 있다.
단계 S1400에서의 처리에 병행해서, 단계 S1401에서의 처리가 수행된다. 단계 S1401에서, 가상 카메라 조작 UI(330)는, 백-엔드 서버(270)에 의해 처리된 사운드를 출력한다. 컨트롤러(300)의 오퍼레이터(유저)는 가상 카메라 조작 UI(330)의 사운드 출력을 확인함으로써 백-엔드 서버(270)에 의해 수행된 처리 결과를 확인할 수 있다.
단계 S1402에서, 백-엔드 서버(270)에 의해 처리된 화상 및 사운드가 서로 결합되고, 가상 카메라 조작 UI(330)는 이 결합된 화상 및 사운드의 배신 신호로의 변환 결과를 출력한다. 컨트롤러(300)의 오퍼레이터(유저)는 가상 카메라 조작 UI(330)의 배신 신호의 출력을 확인함으로써 백-엔드 서버(270)에 의해 처리된 화상 및 사운드를 확인할 수 있다.
다음으로, 전술한 단계 S1103(촬영시 처리)에서의 처리를 도 15 및 도 16을 참조하여 상세히 설명할 것이다.
단계 S1103에서, 제어 스테이션(310)은 시스템 제어 및 확인 동작을 수행하고, 가상 카메라 조작 UI(330)는 화상 및 사운드를 생성하는 동작을 수행한다. 도 15를 참조하여 시스템 제어 및 확인 동작을 설명하고, 도 16을 참조하여 화상 및 사운드를 생성하는 동작을 설명한다. 먼저, 도 15를 참조하여 설명이 이루어질 것이다. 전술한 제어 스테이션(310)에 의해 수행되는 시스템 제어 및 확인 동작에서는, 화상과 사운드의 제어 및 확인 동작이 독립적으로 동시에 수행된다.
먼저, 화상에 연관된 동작을 설명할 것이다. 단계 S1500에서, 가상 카메라 조작 UI(330)는, 백-엔드 서버(270)가 생성한 가상 시점 화상을 표시한다. 단계 S1501에서, 가상 카메라 조작 UI(330)는, 단계 S1500에서 표시된 화상의 유저에 의해 수행되는 확인 결과에 연관된 입력을 접수한다. 단계 S1502에서, 촬영을 종료하는 것으로 결정된 경우에는 처리는 단계 S1508로 진행하고, 그렇지 않은 경우, 처리는 단계 S1500으로 복귀한다. 구체적으로, 촬영 동안, 단계 S1500과 단계 S1501에서의 처리가 반복적으로 수행된다. 촬영을 종료할지 계속할지에 대한 결정은, 예를 들어, 유저 입력에 따라서 제어 스테이션(310)에 의해 실시될 수 있다는 점에 유의한다.
이어서, 사운드에 연관된 동작을 설명할 것이다. 단계 S1503에서, 가상 카메라 조작 UI(330)는, 마이크들(111)의 선택 결과에 연관된 유저 조작을 접수한다. 마이크들(111)이 미리 결정된 순서로 하나씩 선택되는 경우에, 유저 조작이 반드시 수행될 필요는 없다는 점에 유의한다. 단계 S1504에서, 가상 카메라 조작 UI(330)는, 단계 S1503에서 선택된 마이크(111)의 사운드를 재생한다. 단계 S1505에서, 가상 카메라 조작 UI(330)는, 단계 S1504에서 재생된 사운드에 노이즈가 포함되는지를 결정한다. 노이즈가 포함되는지에 대한 결정은, 컨트롤러(300)의 오퍼레이터(유저)에 의해 이루어질 수 있거나, 사운드 해석 처리에 의해 자동으로 결정이 이루어질 수 있거나, 그 방법들 양쪽에 의해 이루어질 수 있다. 유저가 노이즈의 존재 또는 부재를 결정하는 경우에, 단계 S1505에서, 가상 카메라 조작 UI(330)는, 유저에 의해 수행되는 노이즈 결정 결과에 연관된 입력을 접수한다. 단계 S1505에서 노이즈가 검출된 경우에, 단계 S1506에서, 가상 카메라 조작 UI(330)는, 마이크 이득을 조정한다. 단계 S1506에서의 마이크 이득의 조정은, 유저 조작에 따라 수행될 수 있거나, 자동 조정 기능에 의해 실현될 수 있다. 유저 조작에 따라서 마이크 이득의 조정이 수행될 경우에는, 단계 S1506에서, 가상 카메라 조작 UI(330)는 마이크 이득의 조정과 연관된 유저 입력을 접수하고, 그 유저 입력에 따라서 마이크 이득을 조정한다는 점에 유의한다. 또한, 노이즈의 상태에 따라서는 선택한 마이크들(111)이 정지될 수 있다. 단계 S1507에서, 사운드 수집을 종료하는 것으로 결정된 경우에는, 처리는 단계 S1508로 진행하고, 그렇지 않은 경우, 처리는 단계 S1503으로 복귀한다. 즉, 사운드 수집 동안, 처리는 단계 S1503으로부터 단계 S1506까지의 처리가 반복적으로 수행된다. 사운드 수집을 종료할지 계속할지에 대한 결정은, 예를 들어, 유저 입력에 따라서 제어 스테이션(310)에 의해 실시될 수 있다는 점에 유의한다.
단계 S1508에서, 시스템을 종료하는 것으로 결정된 경우에는 처리는 단계 S1509로 진행하고, 그렇지 않은 경우, 처리는 단계 S1500 및 단계 S1503으로 복귀한다. 단계 S1508에서의 결정은 유저 조작에 따라 실행될 수 있다. 단계 S1509에서, 화상 처리 시스템(100)에 의해 획득된 로그가 제어 스테이션(310)에 의해 수집된다. 다음으로, 도 16을 참조하여 화상 및 사운드를 생성하는 동작을 설명할 것이다. 전술한 가상 카메라 조작 UI(330)에 의해 수행되는 화상 및 사운드를 생성하는 동작에서는, 화상과 사운드가 개별적으로 병행하여 생성된다.
먼저, 화상에 연관된 동작을 설명할 것이다. 단계 S1600에서, 가상 카메라 조작 UI(330)는, 백-엔드 서버(270)에 대하여 가상 시점 화상을 생성하기 위한 지시를 발행한다. 단계 S1600에서, 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)에 의해 발행된 지시에 따라서 가상 시점 화상을 생성한다. 단계 S1601에서, 화상 생성을 종료하는 것으로 결정된 경우에는 처리는 단계 S1604로 진행하고, 그렇지 않은 경우, 처리는 단계 S1600으로 복귀한다. 단계 S1601에서의 결정은, 유저 조작에 따라서 실행될 수 있다.
이어서, 사운드에 연관된 동작을 설명할 것이다. 단계 S1602에서, 가상 카메라 조작 UI(330)는, 백-엔드 서버(270)에 대하여 가상 시점 사운드를 생성하기 위한 지시를 발행한다. 단계 S1602에서, 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)에 의해 발행된 지시에 따라서 가상 시점 사운드를 생성한다. 단계 S1603에서, 사운드 생성을 종료하는 것으로 결정된 경우에는 처리는 단계 S1604로 진행하고, 그렇지 않은 경우, 처리는 단계 S1602로 복귀한다. 단계 S1603에서의 결정은, 단계 S1601에서의 결정과 연동될 수 있다는 점에 유의한다.
다음으로, 설치시 워크플로우 및 촬영 전 워크플로우에 대해서 설명할 것이다. 화상 처리 시스템(100)은, 설치시 캘리브레이션을 수행하는 상태와 통상의 촬영을 수행하는 상태 사이에서, 동작 모드 변경에 의해 스위칭 제어할 수 있다. 촬영 중에 있는 특정 카메라의 캘리브레이션이 요구될 수 있고, 이 경우에는, 2개 타입의 동작, 즉, 촬영 및 캘리브레이션이 수행된다는 점에 유의한다.
설치시 캘리브레이션 처리에 대해서, 도 17의 흐름도를 참조하여 설명할 것이다. 도 17에서는, 디바이스들 간에서 송신 및 수신되는 지시들에 응답하여 데이터의 수신 완료의 통지 및 처리 완료의 통지에 관한 기재들은 생략하지만, 지시들에 응답하여 어떠한 종류의 응답이 반환된다.
카메라들(112)의 설치가 완료되는 경우, 유저는 제어 스테이션(310)에 대하여 설치시 캘리브레이션의 실행을 지시한다. 그 후, 제어 스테이션(310)은, 프론트-엔드 서버(230) 및 카메라 어댑터(120)에 대하여 캘리브레이션 개시를 지시한다(S04100).
프론트-엔드 서버(230)는, 캘리브레이션 개시 지시를 수신하는 경우, 그 지시 이후에 수신한 화상 데이터를 캘리브레이션용 데이터인 것으로 결정하고, 캘리브레이션 유닛(02140)이 처리에 이용 가능하도록 제어 모드를 변경한다(S04102a). 또한, 카메라 어댑터(120)는, 캘리브레이션 개시 지시를 수신하는 경우, 전경/배경 분리 등의 화상 처리를 수행하지 않고 비압축의 프레임 화상을 취급하는 제어 모드로 진입한다(S04102b). 또한, 카메라 어댑터(120)는, 카메라(112)에 대하여 카메라 모드 변경을 지시한다(S04101). 카메라(112)는, 이 지시를 수신하는 경우, 예를 들어 1 fps의 프레임 레이트를 설정한다. 대안적으로, 카메라들(112)이 동화상 대신 정지 화상을 송신하는 모드가 설정될 수 있다(S04102c). 또한, 카메라 어댑터(120)에 의해 프레임 레이트가 제어되고 캘리브레이션 화상이 송신되는 모드가 설정될 수 있다.
제어 스테이션(310)은, 카메라 어댑터(120)에 대하여 카메라(112)의 줌 값과 포커스 값의 획득을 지시하고(S04103), 카메라 어댑터(120)는, 제어 스테이션(310)에, 카메라(112)의 줌 값과 포커스 값을 송신한다(S04104).
도 17에서는, 단지 하나의 카메라 어댑터(120) 및 하나의 카메라(112)만 예시되지만, 화상 처리 시스템(100) 내에 포함된 모든 카메라 어댑터(120) 및 모든 카메라(112)가 개별적으로 제어된다는 점에 유의한다. 따라서, 단계 S04103 및 단계 S04104에서의 처리는 카메라들(112)의 수에 대응하여 다수회 실행되고, 모든 카메라(112)에 대해 수행되는 단계 S04103 및 단계 S04104의 처리가 완료된 때, 제어 스테이션(310)은, 모든 카메라(112)의 줌 값들과 포커스 값들을 수신한다.
제어 스테이션(310)은, 프론트-엔드 서버(230)에, 단계 S04104에서 수신한 모든 카메라(112)의 줌 값들과 포커스 값들을 송신한다(S04105). 이어서, 제어 스테이션(310)은, 프론트-엔드 서버(230)에, 설치시 캘리브레이션용 촬영의 촬영 패턴을 통지한다(S04106).
여기서, 촬영 패턴에는, 화상 특징점으로서 역할을 하는 마커 등을 그라운드 내에서 움직이게 하면서 상이한 타이밍들에서 복수회 촬영된 화상들 중 하나를 식별하기 위한 패턴명(예를 들어, 패턴 1-10)의 속성이 부가된다. 구체적으로, 프론트-엔드 서버(230)는, 단계 S04106 이후에 수신한 캘리브레이션용의 화상 데이터를, 단계 S04106에서 수신한 촬영 패턴에서의 촬영 화상인 것으로 결정한다. 그 후에, 제어 스테이션(310)은, 카메라 어댑터들(120)에 대하여 동기 정지 화상 촬영을 수행하도록 지시하고(S04107), 카메라 어댑터들(120)은, 모든 카메라(112)가 서로 동기하면서 정지 화상 촬영을 수행하도록 카메라들(112)에 지시한다(S04108). 그 후에, 카메라(112)는 촬영 화상들을 카메라 어댑터들(120)로 송신한다(S04109).
복수의 주시점 그룹이 존재하고, 각각의 주시점 그룹마다 단계 S04106로부터 단계 S04111까지의 캘리브레이션 화상 촬영이 수행될 수 있다는 점에 유의한다.
그 후에, 제어 스테이션(310)은, 카메라 어댑터들(120)에 대하여 단계 S04107에서 촬영 지시한 화상들을 프론트-엔드 서버(230)에 송신하도록 지시한다(S04110). 또한, 카메라 어댑터들(120)은, 송신처로서 지정된 프론트-엔드 서버(230)에 단계 S04109에서 수신한 화상들을 송신한다(S04111).
단계 S04111에서, 캘리브레이션용 화상은, 전경/배경 분리 등의 화상 처리가 실시되지 않고, 촬영된 화상이 압축되지 않고서 단계 S04111에서 송신된다. 따라서, 모든 카메라(112)가 고해상도에서 화상들을 촬영하는 경우나, 카메라들(112)의 수가 많은 경우, 송신 대역의 제한으로 인해, 모든 비압축 화상이 동시에 송신되는 것은 아닐 수 있다. 그 결과, 워크플로우에서 캘리브레이션에 요구되는 시간 기간이 길어질 수 있다. 그 경우, 단계 S04110에서의 화상 송신 지시에서, 카메라 어댑터들(120) 각각에 대하여 캘리브레이션의 패턴 속성에 대응하는 비압축 화상의 송신 지시가 차례로 발행된다. 또한 이러한 경우, 마커의 패턴 속성에 대응하는 보다 많은 특징점을 촬영할 필요가 있고, 따라서, 복수 마커를 사용한 캘리브레이션용의 화상 촬영이 수행된다. 이 경우, 부하 분산의 관점에서, 화상 촬영과 비압축 화상들의 송신이 비동기 방식으로 수행될 수 있다. 또한, 캘리브레이션용의 화상 촬영에서 획득한 비압축 화상들을, 카메라 어댑터(120)에 개개의 패턴 속성들마다 순차 축적하고, 이와 병행하여 비압축 화상들의 송신이 단계 S04110에서 발행된 화상 송신 지시에 응답하여 수행된다. 이에 의해, 워크플로우의 처리 시간 및 인간의 에러의 삭감 효과가 달성될 수 있다.
모든 카메라(112)에서 단계 S04111의 처리가 완료된 시점에서, 프론트-엔드 서버(230)는, 모든 카메라(112)에 의해 촬영된 화상들을 수신한 상태가 된다.
전술한 바와 같이, 복수의 촬영 패턴이 존재하는 경우에는, 단계 S04106으로부터 단계 S04111까지의 처리를 패턴들 수에 대해 반복적으로 수행된다.
이어서, 모든 캘리브레이션용 촬영이 완료되면, 제어 스테이션(310)은, 프론트-엔드 서버(230)에 대하여 카메라 파라미터 추정 처리를 수행하도록 지시한다(S04112).
프론트-엔드 서버(230)는, 카메라 파라미터 추정 처리를 수행하기 위한 지시를 수신할 때, 단계 S04105에서 수신한 모든 카메라(112)의 줌 값들과 포커스 값들 및 단계 S04111에서 수신한 모든 카메라(112)의 촬영 화상들을 사용하여, 카메라 파라미터 추정 처리를 수행한다(S04113). 단계 S04113에서 수행되는 카메라 파라미터 추정 처리는 상세히 후술할 것이다. 복수의 주시점이 존재하는 경우에는, 각각의 주시점 그룹마다 단계 S04113에서 카메라 파라미터 추정 처리를 수행한다.
그 후, 프론트-엔드 서버(230)는, 단계 S04113에서 수행되는 카메라 파라미터 추정 처리의 결과들로서 획득된 모든 카메라(112)의 카메라 파라미터들을 데이터베이스(250)에 송신해서 카메라 파라미터들을 저장한다(S04114).
또한, 프론트-엔드 서버(230)는, 제어 스테이션(310)에 대해 유사하게 모든 카메라(112)의 카메라 파라미터들을 송신한다(S04115). 제어 스테이션(310)은, 카메라 어댑터들(120)에 대하여 카메라들(112)에 대응하는 카메라 파라미터들을 송신하고(S04116), 카메라 어댑터들(120)은, 대응하는 카메라(112)의 수신된 카메라 파라미터들을 저장한다(S04117).
그 후에, 제어 스테이션(310)은, 캘리브레이션 결과를 확인한다(S04118). 확인 방법으로서는, 획득된 카메라 파라미터들의 수치들을 확인할 수 있거나, 단계 S04114에서 수행되는 카메라 파라미터 추정 처리의 연산 과정을 확인할 수 있거나, 카메라 파라미터들을 사용한 화상 생성을 통해 생성된 화상을 확인할 수 있다. 그 후, 제어 스테이션(310)은, 프론트-엔드 서버(230)에 대하여 캘리브레이션 종료를 지시한다(S04119).
프론트-엔드 서버(230)는 캘리브레이션 종료 지시를 수신하는 경우, 단계 S04101에서 실행한 캘리브레이션 개시 처리와는 다르게, 그 지시 이후에 수신한 화상 데이터를 캘리브레이션용 데이터가 아닌 것으로 결정하도록 제어 모드를 변경한다(S04120). 전술한 처리에 따르면, 설치 캘리브레이션 처리에서, 모든 카메라의 카메라 파라미터들을 획득하고, 획득된 카메라 파라미터들을 카메라 어댑터(120) 및 데이터베이스(250)에 저장한다.
또한, 설치 캘리브레이션 처리는, 카메라(112) 설치 후 및 촬영 전에 수행된다. 카메라(112)가 움직이지 않으면, 처리가 다시 수행될 필요는 없다. 그러나, 카메라(112)가 움직이는 경우(예를 들어, 게임의 전과 후에 주시점을 변경할 경우), 동일한 처리가 다시 수행된다.
또한, 촬영 중에 공의 충돌 등의 사고로 인해 미리 결정된 임계값 이상으로 카메라(112)가 움직인 경우에, 촬영 상태의 카메라(112)는 캘리브레이션 개시 상태가 될 수 있고 전술한 설치 캘리브레이션이 수행될 수 있다. 그 경우, 시스템은 통상 촬영 상태를 유지하고, 카메라(112)만이 캘리브레이션용 화상을 송신하는 것을 나타내는 정보를 프론트-엔드 서버(230)에 송신한다. 이렇게 하여, 시스템 전체를 캘리브레이션 모드로 할 필요는 없고, 촬영이 계속 수행될 수 있다. 또한, 본 시스템의 데이지 체인에서의 송신에서는, 통상의 촬영에서의 화상 데이터의 송신 대역에 캘리브레이션용의 비압축 화상을 송신하면, 송신 대역 제한을 초과한다. 이 경우, 비압축 화상의 송신 우선도를 낮추거나, 비압축 화상을 분할한 후 송신한다. 또한, 카메라 어댑터들(120) 간의 접속이 10GbE 등인 경우에, 전이중(full duplex) 특징을 사용하여, 통상의 촬영에서의 화상 데이터 송신과는 역방향으로 비압축 화상을 송신하여서 대역이 확보될 수 있다.
또한, 복수의 주시점 중 1개의 주시점을 변경할 경우, 주시점 그룹에 대응하는 카메라(112)만, 전술한 설치 캘리브레이션 처리를 다시 수행할 수 있다. 그 경우, 대상 주시점 그룹의 카메라(112)는, 통상의 촬영 또는 가상 시점 화상 생성을 수행하지 않을 수 있다. 따라서, 캘리브레이션 처리가 수행되고 있는 것을 나타내는 통지가 제어 스테이션(310)에 송신되고, 제어 스테이션(310)이 가상 카메라 조작 UI(330)에 대하여 시점 조작의 제한 등의 처리를 수행하도록 요구한다. 프론트-엔드 서버(230)는, 카메라 파라미터 추정 처리가 가상 시점 화상의 생성 처리에 영향을 미치지 않도록 제어하면서 카메라 파라미터 추정 처리를 수행한다.
도 18의 흐름도를 참조하여, 설치 전 워크플로우의 단계 S1200 및 설치 워크플로우의 단계 S1305에서의 프론트-엔드 서버(230)의 동작들에 대해서 설명할 것이다.
설치 전 워크플로우의 단계 S1200에서, 프론트-엔드 서버(230)의 컨트롤러(02110)는 제어 스테이션(310)으로부터 CAD 데이터의 입력 모드로 스위칭하는 지시를 수신하고, CAD 데이터 입력 모드로 전환하기를 수행한다(S02210).
데이터 입력 컨트롤러(02120)는 제어 스테이션(310)으로부터 스타디움 CAD 데이터(스타디움 형상 데이터)를 수신한다(S02220). 데이터 입력 컨트롤러(02120)는 수신한 데이터를 비-촬영 데이터 파일 생성 유닛(02185)과 CAD 데이터 저장 유닛(02135)에 송신한다. CAD 데이터 저장 유닛(02135)은 데이터 입력 컨트롤러(02120)로부터 제공된 스타디움 형상 데이터를 저장 매체에 저장한다(S02230).
설치 워크플로우의 단계 S1305에서, 컨트롤러(02110)는 제어 스테이션(310)으로부터 캘리브레이션 모드로 전환하는 지시를 수신하고, 캘리브레이션 모드로 스위칭하기를 수행한다(S02240).
데이터 입력 컨트롤러(02120)는 카메라 어댑터(120)로부터 캘리브레이션 촬영 화상을 수신하고, 캘리브레이션 유닛(02140)에 캘리브레이션 촬영 화상을 송신한다(S02250).
캘리브레이션 유닛(02140)은 캘리브레이션을 수행하여, 카메라 파라미터들을 획득한다(S02260). 캘리브레이션 유닛(02140)은 획득된 카메라 파라미터들을 저장 영역에 저장하고, 비-촬영 데이터 파일 생성 유닛(02185) 및 DB 액세스 컨트롤러(02190)를 통해 데이터베이스(250)에 카메라 파라미터들을 송신한다(S02270).
도 19의 흐름도를 참조하여, 설치 전 워크플로우의 단계 S1200에서의 데이터베이스(250)의 동작에 대해서 설명할 것이다. 데이터베이스(250)는, 컨트롤러(300)에 의해 발행된 지시들에 응답하여 이하에 설명하는 도 19 및 도 20의 처리들을 실행한다.
설치 전 워크플로우의 단계 S1200에서, 데이터 입력 유닛(02420)은 프론트-엔드 서버(230)로부터 스타디움 CAD 데이터(스타디움 형상 데이터)를 수신하고, 캐시(02440)에 데이터를 저장한다(S02510). 캐시(02440)는 저장된 스타디움 CAD 데이터를 1차 스토리지(02450)로 이동시켜 이 데이터를 저장한다(S02520).
도 20의 흐름도를 참조하여, 설치 워크플로우의 단계 S1305에서의 데이터베이스(250)의 동작에 대해서 설명할 것이다.
설치 워크플로우의 단계 S1305에서, 데이터 입력 유닛(02420)은 프론트-엔드 서버(230)로부터 카메라 파라미터들을 수신하고, 이 카메라 파라미터들을 캐시(02440)에 저장한다(S02610).
캐시(02440)는 저장된 카메라 파라미터들을 1차 스토리지(02450)로 이동시켜 이 카메라 파라미터들을 저장한다(S02620). 제어 스테이션(310)에 의해 발행된 지시 또는 캐시(02440)의 용량에 따라, 컨트롤러(02410)는 프레임들의 수 N을 설정한다(S02630).
계속해서, 프론트-엔드 서버(230)의 캘리브레이션 유닛(02140)에 의해 수행된 카메라 파라미터 추정 처리는 도 21의 흐름도를 참조하여 설명될 것이다. 캘리브레이션 유닛(02140)은 제어 스테이션(310)에 의해 발행된 지시에 따라 카메라 파라미터 추정 처리를 실행한다는 점에 유의한다. 본 시퀀스가 개시되기 전에, 내부 파라미터 맵, 스타디움 데이터, 모든 카메라(112)의 줌 값들과 포커스 값들, 및 모든 카메라(112)의 캘리브레이션용 촬영 화상들은 캘리브레이션 유닛(02140)에 저장되었다.
먼저, 캘리브레이션 유닛(02140)은 카메라들(112) 중 하나를 지정하고(S04201), 그 후에, 줌 값들 중 대응하는 하나와 포커스 값들 중 대응하는 하나를 지정하여, 내부 파라미터 맵을 사용해서 지정된 줌 값과 지정된 포커스 값으로부터 내부 파라미터 초기 값을 획득한다(S04202). 단계 S04202에서 모든 카메라(112)의 내부 파라미터 초기 값들이 획득될 때까지, 단계 S04201 및 단계 S04202에서의 처리가 반복적으로 수행된다(S04203).
이어서, 캘리브레이션 유닛(02140)은, 다시 카메라들(112) 중 다른 하나를 지정하고, 그 후에, 캘리브레이션용 촬영 화상들 중 대응하는 하나를 지정하여(S04204), 화상 내의 특징점(화상 특징점)을 검출한다(S04205). 화상 특징점의 예들은 캘리브레이션을 위해 제공된 마커, 미리 스타디움의 지면에 그려진 피치 라인, 및 미리 놓인 오브젝트(이를테면, 축구 골 또는 예비 선수들을 위한 벤치)의 에지 부분을 포함한다.
단계 S04205에서 모든 카메라(112)의 화상 특징 값들이 검출될 때까지, 단계 S04204 및 단계 S04205에서의 처리가 반복적으로 수행된다(S04206).
이어서, 캘리브레이션 유닛(02140)은 단계 S04205에서 검출된 카메라들(112)의 캘리브레이션용 촬영 화상들의 화상 특징점들 사이의 매칭을 수행한다(S04207). 그 후에, 캘리브레이션 유닛(02140)은 매칭에 사용된 특징점들의 수가 임계값 이하인지를 결정한다(S04208). 단계 S04208에서 사용된 특징점들의 수의 임계값은 미리 설정될 수 있거나, 카메라들(112)의 수 혹은 시야(field of view)와 같은 촬영 조건에 따라 자동으로 획득될 수 있다. 구체적으로, 외부 파라미터들의 추정을 위한 최소 요구 값이 사용된다.
단계 S04208에서 사용된 특징점들의 수가 임계값 이하가 아닐 경우, 캘리브레이션 유닛(02140)은 카메라들(112)에 대해 외부 파라미터 추정 처리를 수행한다(S04209). 단계 S04209에서의 외부 파라미터 추정 처리의 결과로서, 재-투영 에러가 임계값 이하인지가 결정된다(S04210). 단계 S04210에서 사용된 재-투영 에러의 임계값은 미리 설정될 수 있고, 또는 생성될 가상 시점 화상의 정밀도에 대응하는 값이 사용되기만 하면, 카메라들(112)의 수와 같은, 촬영 조건에 따라 자동으로 획득될 수 있다.
단계 S04210에서의 결정에서 재-투영 에러가 임계값 이하가 아닐 경우, 캘리브레이션 유닛(02140)은 에러가 크다고 결정하고, 단계 S04205에서의 화상 특징점의 오검출을 삭제하는 처리 및 단계 S04207에서의 화상 특징점의 오매칭을 삭제하는 처리를 수행한다(S04211).
단계 S04211에서 오검출 및 오매칭을 결정하는 방법으로서, 캘리브레이션 유닛(02140)이 재-투영 에러가 큰 특징점을 자동으로 삭제할 수 있거나, 유저가 재-투영 에러 및 화상을 관찰하면서 그러한 특징점을 수동으로 삭제할 수 있다.
캘리브레이션 유닛(02140)은 단계 S04202에서 획득된 내부 파라미터 초기값에 대해 내부 파라미터 정정을 수행한다(S04212). 그 다음에, 단계 S04208에서 사용된 특징점들의 수가 임계값 이하가 아닌 범위 내에서, 단계 S04210에서 재-투영 에러가 임계값 이하로 될 때까지, 단계 S04208에서 단계 S04212까지의 처리가 반복적으로 수행된다.
단계 S04208에서의 결정에서 사용된 특징점들의 수가 임계값 이하인 경우에, 캘리브레이션 유닛(02140)은 캘리브레이션에 실패한 것으로 결정한다(S04213). 캘리브레이션에 실패한 경우, 캘리브레이션을 위한 촬영이 다시 수행된다. 캘리브레이션이 성공적으로 수행되었는지 아니면 실패했는지에 대한 결정의 결과는 제어 스테이션(310)으로 송신되고, 실패 이후에 수행되는 캘리브레이션 처리를 포함하는 대책들은 제어 스테이션(310)에 의해 통합적으로 관리된다.
단계 S04210에서의 결정에서 재-투영 에러가 임계값 이하인 경우, 캘리브레이션 유닛(02140)은 스타디움 데이터를 사용하여, 단계 S04209에서 추정된 외부 파라미터 좌표에서, 카메라 좌표계로부터 세계 좌표계로의 강체 변환을 수행한다(S04214).
스타디움 데이터로서, X축, Y축, 및 Z축의 원점들(예를 들어, 피치상의 센터 서클의 센터 포인트) 또는 스타디움내의 복수의 특징점(예를 들어, 피치 라인들의 교차점들)의 좌표값들과 같은, 강체 변환을 수행하기 위한 좌표값들이 정의된다.
예를 들어, 스타디움 데이터가 존재하지 않거나 데이터 정밀도가 낮은 경우에는, 강체 변환을 위한 세계 좌표가 수동으로 입력될 수 있거나, 세계 좌표를 나타내는 데이터가 캘리브레이션 유닛(02140)에 독립적으로 배정될 수 있다는 점에 유의한다.
단계 S04214에서의 처리를 수행함으로써 캘리브레이션을 위한 촬영 화상 내의 세계 좌표가 획득되고, 그러므로 미리 스타디움 데이터에 기록된 스타디움내에 포함된 특징점들의 좌표들이 정밀도가 개선되도록 갱신될 수 있다.
위에서 설명된 처리에 따르면, 카메라 파라미터 추정 처리에서, 모든 카메라(112)의 카메라 파라미터들이 획득될 수 있고, 획득된 카메라 파라미터들이 카메라 어댑터(120) 및 데이터베이스(250)에 저장될 수 있다.
복수의 카메라(112)의 촬영 화상을 사용해서 가상 시점 화상을 생성하는 시스템에서는, 카메라들(112)이 설치되는 경우, 카메라들(112)의 설치시에 카메라들(112)의 위치들 및 자세들을 추정하기 위한 캘리브레이션 처리(설치 캘리브레이션)가 요구된다는 점에 유의한다.
설치 캘리브레이션에서는, 개개의 카메라(112)의 카메라 파라미터들을 획득하는 처리가 수행된다. 카메라 파라미터들은, 각각의 카메라에 고유한 내부 파라미터들(초점 거리, 화상 중심 및 렌즈 왜곡의 파라미터들을 포함함), 및 각각의 카메라의 위치/자세를 나타내는 외부 파라미터들(회전 행렬, 위치 벡터 등)을 포함한다. 설치 캘리브레이션 처리가 완료된 경우에, 개개의 카메라(112)의 카메라 파라미터들은 획득된 상태가 된다.
카메라 파라미터들 중에서, 내부 파라미터들은, 카메라들(112) 및 렌즈들이 결정된 경우에, 줌 값들 및 포커스 값들에 따라서 변경된다. 그러므로, 본 시스템에서는, 카메라들(112)이 스타디움에 설치되기 전에, 카메라들(112) 및 렌즈들을 사용하여 내부 파라미터들을 획득하기 위해 요구되는 촬영이 수행되므로 내부 파라미터들이 획득되게 된다. 그 다음에, 카메라들(112)이 스타디움에 설치될 때 줌 값들 및 포커스 값들이 결정되는 경우, 내부 파라미터들이 자동으로 획득될 수 있도록 설정된다. 이것은 본 명세서에서 내부 파라미터들이 맵핑된다는 것으로 표현되고, 맵핑의 결과는 "내부 파라미터 맵"으로서 지칭된다.
내부 파라미터 맵의 포맷으로서, 줌 값들 및 포커스 값들에 대응하는 복수의 기록된 내부 파라미터의 포맷이 기록될 수 있거나, 내부 파라미터 값들을 산출할 수 있는 연산식의 포맷이 이용될 수 있다. 구체적으로, 내부 파라미터들이 줌 값들 및 포커스 값들에 따라 고유하게 획득되기만 하면, 임의의 내부 파라미터 맵이 이용될 수 있다.
내부 파라미터 맵에 의해 획득된 파라미터 값들은 내부 파라미터들의 초기 값들로서 사용된다. 카메라 파라미터 추정 처리 결과로서 획득된 내부 파라미터들은 카메라들(112)이 스타디움에 설치된 후에 캘리브레이션용으로서 촬영한 화상들을 사용하는 카메라 파라미터 추정 처리에서 정정된 값들이다.
또한, 본 실시예에서는, 동일한 타입의 카메라들(112) 및 동일한 타입의 렌즈들이 설치되며, 줌 값들이 동일하고 포커스 값들이 동일하기만 하면, 동일한 내부 파라미터들이 사용될 수 있다.
본 발명은 이에 한정되지 않고, 복수의 타입의 카메라(112) 및 복수의 타입의 렌즈가 사용되는 경우와 같이, 줌 값들이 동일하고 포커스 값들이 동일하더라도 내부 파라미터들이 개개의 차이를 갖는 경우에는, 상이한 타입들 및 상이한 카메라들(112)에 상이한 내부 파라미터 맵들이 포함될 수 있다는 점에 유의한다.
다음으로, 카메라(112)에 의한 촬영, 마이크(111)에 의한 사운드 수집, 및 촬영 또는 사운드 수집에 의해 획득된 데이터를 카메라 어댑터(120) 및 프론트-엔드 서버(230)를 통해 데이터베이스(250)에 축적하는 처리가 설명될 것이다.
도 22a 및 도 22b를 참조하여, 카메라들(112)의 촬영 개시 처리 시퀀스가 설명될 것이다. 도 22a 및 도 22b에는 상이한 처리 시퀀스들이 예시되지만, 시퀀스들 둘 다 동일한 결과가 획득될 수 있다. 카메라 어댑터(120)는, 도 22a에 예시된 처리를 수행할지 도 22b에 예시된 처리를 수행할지를, 카메라(112)의 사양에 따라서 결정한다.
먼저, 도 22a에서의 처리가 설명될 것이다. 타임 서버(290)는 예를 들어 GPS(2201)와 시간 동기를 수행하고, 타임 서버(290)에 의해 관리되는 시각을 설정한다(06801). GPS(2201)를 사용하는 방법 대신에, NTP(Network Time Protocol)와 같은, 또 다른 방법에 의해 시각이 설정될 수 있다는 점에 유의한다.
다음으로, 카메라 어댑터(120)는 PTP(precision time protocol)를 사용하여 타임 서버(290)와 통신하고, 카메라 어댑터(120)에 의해 관리되는 시각을 정정하고, 타임 서버(290)와 시간 동기를 수행한다(06802).
카메라 어댑터(120)는 카메라(112)에 대하여 젠록 신호, 3-치(three-valued) 동기 신호 등과 같은 동기 촬영 신호 및 타임 코드 신호를 제공하기 시작한다(06803). 제공되는 정보는 타임 코드에 한정되지 않고, 다른 정보가 촬영 프레임을 식별하기 위한 식별자이기만 하면, 다른 정보가 제공될 수도 있다는 점에 유의한다.
다음으로, 카메라 어댑터(120)는 카메라(112)에 대하여 촬영 개시 지시를 발행한다(06804). 카메라(112)는 촬영 개시 지시를 수신하면, 젠록 신호에 동기해서 촬영을 수행한다(06805).
다음으로, 카메라(112)는 촬영한 화상에 타임 코드 신호를 포함해서 카메라 어댑터(120)에 송신한다(06806). 카메라(112)가 촬영을 정지할 때까지 젠록 신호에 동기하여 촬영이 수행된다.
카메라 어댑터(120)는 촬영 도중에 타임 서버(290)와 PTP 시각 정정 처리를 수행하여 젠록 신호 발생 타이밍을 정정한다(06807). 요구되는 정정량이 클 경우에는, 미리 설정된 변경량에 따른 정정이 수행될 수 있다.
이에 의해, 시스템내의 복수의 카메라 어댑터(120)에 접속하는 복수의 카메라(112)가 실현될 수 있다.
다음으로, 도 22b에서의 처리가 설명될 것이다. 도 22a의 경우와 마찬가지로, 타임 서버(290)와 GPS(2201) 사이 및 카메라 어댑터(120)와 타임 서버(290) 사이에 시간 동기 처리가 수행된다(06851, 06852). 후속해서, 카메라 어댑터(120)는 촬영 개시 지시를 발행한다(06853). 촬영 개시 지시는 촬영이 수행되는 시간 기간을 나타내는 정보 및 프레임 수를 지정하는 정보를 포함한다. 카메라(112)는 촬영 개시 지시에 따라 촬영을 수행한다(06854).
다음으로, 카메라(112)는 촬영한 화상 데이터를 카메라 어댑터(120)에 송신한다(06855). 화상 데이터를 수신한 카메라 어댑터(120)는 화상 데이터의 메타데이터에 타임 코드를 배정한다(06856).
카메라 어댑터(120)는 촬영 도중에 타임 서버(290)와 PTP 시각 정정 처리를 수행하여 카메라(112)의 촬영 타이밍을 정정한다. 요구되는 정정량이 클 경우에는, 미리 설정된 변경량에 따른 정정이 수행될 수 있다. 예를 들어, 하나의 프레임 마다와 같은 짧은 타이밍에서 촬영 개시 지시가 반복적으로 발행된다.
도 22a 및 도 22b를 참조하여 촬영 개시 처리의 시퀀스가 설명되지만, 마이크(111)는 또한 카메라(112)에 의해 수행되는 동기 촬영과 유사한 처리를 수행하여, 동기 사운드 수집을 수행한다는 점에 유의한다. 한편, 카메라 화상의 해상도가 개선됨에 따라, 카메라들(112)이 화상 프레임들을 송신했을 때에 데이터 송신량이 네트워크 송신 대역 제한을 초과할 가능성이 있다. 이 가능성을 저감하는 방법에 대해서, 이하의 실시예에서 설명될 것이다.
먼저, 복수의 카메라 어댑터(120)(120a, 120b, 120c 및 120d)를 서로 조정해서 3D 모델 정보를 생성하는 처리 시퀀스에 대해서 도 23을 참조하여 설명될 것이다. 처리 순서는 도 23에 예시된 것에 한정되지 않는다는 점에 유의한다.
본 실시예의 화상 처리 시스템(100)에는 26개의 카메라(112) 및 26개의 카메라 어댑터(120)를 포함한다. 그러나, 본 명세서에서는 단지 2개의 카메라(112b 및 112c) 및 4개의 카메라 어댑터(120a-120d)에 중점을 둔다. 카메라(112b)는 카메라 어댑터(120b)에 접속되고, 카메라(112c)는 카메라 어댑터(120c)에 접속된다. 카메라 어댑터(120a)에 접속되는 카메라(112), 카메라 어댑터(120d)에 접속되는 카메라(112), 및 각 카메라 어댑터(120)에 접속되는 마이크들(111), 카메라 플랫폼들(113) 및 외부 센서들(114)은 생략된다는 점에 유의한다. 또한, 카메라 어댑터들(120a-120d)은 타임 서버(290)와 시각 동기를 완료하고, 촬영 상태로 되는 것으로 가정한다. 카메라들(112b 및 112c)은 각각 카메라 어댑터들(120b 및 120c)에 대하여 촬영 화상들(1 및 2)을 송신한다(F06301 및 F06302). 카메라 어댑터들(120b 및 120c)은, 수신한 촬영 화상들(1 및 2)에 대하여 각 캘리브레이션 컨트롤러(06133)가 캘리브레이션 처리를 각각 수행하게 한다(F06303 및 F06304). 캘리브레이션 처리에서는, 예를 들어 색 정정, 블러 정정 등이 수행된다. 본 실시예에서는 캘리브레이션 처리가 수행되지만, 캘리브레이션 처리가 반드시 수행되는 것은 아니다.
다음으로, 캘리브레이션 처리가 실시된 촬영 화상들(1 및 2)에 대하여 전경/배경 분리 유닛(06131)에 의해 전경/배경 분리 처리가 수행된다(F06305 및 F06306).
후속하여, 서로에게서 분리되는 전경 화상들 및 배경 화상들을 데이터 압축/신장 유닛(06121)이 압축한다(F06307 및 F06308). 서로에게서 분리되는 전경 화상들 및 배경 화상들의 중요도들에 따라서 압축률이 변경될 수 있다는 점에 유의한다. 경우에 따라 압축이 수행되지 않을 수도 있다. 카메라 어댑터들(120) 중 특정 카메라 어댑터는, 배경 화상의 압축률보다 전경 화상의 압축률이 낮아지도록, 전경 화상과 배경 화상 사이에서 적어도 배경 화상을 압축하고, 적어도 압축된 배경 화상을 카메라 어댑터들(120) 중 다음 카메라 어댑터에 출력한다. 전경 화상 및 배경 화상 둘 다 압축할 경우에, 중요한 촬영 대상을 포함하는 전경 화상에는 손실 없는 압축이 실시되고, 촬영 대상을 포함하지 않는 배경 화상에 대해서는 손실 있는 압축이 실시된다. 그에 따라, 다음 카메라 어댑터(120c) 또는 다음 카메라 어댑터(120d)에 송신되는 데이터량을 효율적으로 삭감할 수 있다. 예를 들어, 축구, 럭비, 야구 등의 게임이 개최되는 스타디움의 필드의 화상을 촬영한 경우에는, 배경 화상이 화상의 대부분을 차지하고 선수들을 포함하는 전경 화상의 영역이 작다. 그러므로, 송신 데이터량을 상당히 삭감할 수 있다.
또한, 카메라 어댑터(120b) 또는 카메라 어댑터(120c)는, 중요도에 따라, 다음 카메라 어댑터(120c) 또는 다음 카메라 어댑터(120d)에 대하여 출력될 화상의 프레임 레이트를 변경할 수도 있다. 예를 들어, 전경 화상보다도 배경 화상의 출력 프레임 레이트가 낮아지도록, 중요한 촬영 대상을 포함하는 전경 화상은 고프레임 레이트로 출력될 수 있고, 촬영 대상을 포함하지 않는 배경 화상은 저프레임 레이트로 출력될 수 있다. 그에 따라, 다음 카메라 어댑터(120c) 또는 다음 카메라 어댑터(120d)에 송신되는 데이터량을 삭감할 수 있다. 예를 들어, 카메라(112)의 설치 장소, 촬영 장소, 및/또는 카메라(112)의 성능에 따라 각각의 카메라 어댑터(120)에 대한 압축률이나 송신 프레임 레이트가 변경될 수도 있다. 또한, 스타디움의 관객석들 등의 3D 구조는 도면을 사용해서 미리 확인될 수 있고, 그러므로, 카메라 어댑터(120)는 배경 화상으로부터 관객석들의 부분을 제외하여 획득된 화상을 송신할 수 있다. 이에 의해, 아래 설명되는 렌더링 시에, 미리 생성한 스타디움 3D 구조를 사용함으로써 게임 중의 플레이어들에 중점을 둔 화상 렌더링이 수행되어, 전체 시스템에서 송신 및 저장되는 데이터량이 삭감되는 효과를 이룰 수 있게 된다.
후속해서, 카메라 어댑터들(120)은, 압축한 전경 화상들 및 압축한 배경 화상들을 인접한 카메라 어댑터들(120)에 송신한다(F06310, F06311 및 F06312). 본 실시예에서는 전경 화상 및 배경 화상이 동시에 이송되지만, 전경 화상 및 배경 화상은 개별적으로 이송될 수 있다는 점에 유의한다.
후속해서, 카메라 어댑터(120b)는, 카메라 어댑터(120a)로부터 제공된 전경 화상 및 전경/배경 분리 처리(F06305)에 의해 분리된 전경 화상을 사용해서 3D 모델 정보를 생성한다(F06313). 마찬가지로, 카메라 어댑터(120c)도 3D 모델 정보를 생성한다(F06314).
그 후에, 카메라 어댑터(120b)는 카메라 어댑터(120a)로부터 제공된 전경 화상 및 배경 화상을 카메라 어댑터(120c)에 이송한다(F06315). 마찬가지로, 카메라 어댑터(120c)도 카메라 어댑터(120d)에 전경 화상 및 배경 화상을 이송한다. 본 실시예에서는 전경 화상 및 배경 화상이 동시에 이송되지만, 전경 화상 및 배경 화상은 개별적으로 이송될 수 있다는 점에 유의한다.
또한, 카메라 어댑터(120c)는, 카메라 어댑터(120a)에 의해 생성되고, 카메라 어댑터(120b)로부터 제공된 전경 화상 및 배경 화상을 카메라 어댑터(120d)에 이송한다(F06317).
후속해서, 카메라 어댑터들(120a-120c)은, 생성된 3D 모델 정보를 각각 다음 카메라 어댑터들(120b-120d)에 이송한다(F06318, F06319, 및 F06320).
또한, 카메라 어댑터들(120b 및 120c)은 수신된 3D 모델 정보를 각각 다음 카메라 어댑터들(120c 및 120d)에 연속적으로 이송한다(F06321 및 F06322).
또한, 카메라 어댑터(120c)는, 카메라 어댑터(120a)에 의해 생성되고, 카메라 어댑터(120b)로부터 제공된 3D 모델 정보를 카메라 어댑터(120d)에 이송한다(F06323).
최종적으로, 카메라 어댑터들(120a-120d)에 의해 생성된 전경 화상들, 배경 화상들 및 3D 모델 정보는, 네트워크를 통해 접속된 카메라 어댑터들(120)을 통해 프론트-엔드 서버(230)에 연속적으로 이송된다.
본 시퀀스도에서는 카메라 어댑터(120a) 및 카메라 어댑터(120d)에 의해 수행될 캘리브레이션 처리, 전경/배경 분리 처리, 압축 처리, 및 3D 모델 정보 생성 처리는 생략된다는 점에 유의한다. 그러나, 실제는 카메라 어댑터들(120a 및 120d)이 카메라 어댑터들(120b 및 120c)과 동일한 동작들을 수행하여, 전경 화상들, 배경 화상들 및 3D 모델 정보를 생성하게 한다. 또한, 4개의 카메라 어댑터(120) 사이에서 수행되는 데이터 이송 시퀀스가 설명되지만, 카메라 어댑터들(120)의 수가 증가해도 동일한 처리가 수행된다.
위에 설명한 바와 같이, 복수의 카메라 어댑터(120)에서 미리 결정된 순서에서 최후의 카메라 어댑터(120) 이외의 카메라 어댑터들(120)은, 대응하는 카메라들(112)에 의한 촬영 화상들로부터 미리 결정된 영역을 추출한다. 그 다음에, 카메라 어댑터들(120)은 추출 결과들에 기초하는 화상 데이터를 위에 설명된 미리 결정된 순서에서 다음 카메라 어댑터들(120)에 출력한다. 한편, 미리 결정된 순서에서 최후의 카메라 어댑터(120)는, 추출 결과들에 기초하는 화상 데이터를 화상 컴퓨팅 서버(200)에 출력한다. 구체적으로, 복수의 카메라 어댑터(120)는 데이지 체인에 의해 서로 접속되고, 카메라 어댑터들(120)에 의해 수행된 촬영 화상들로부터 미리 결정된 영역을 추출한 결과들에 기초하는 화상 데이터는, 미리 결정된 카메라 어댑터들(120)에 의해 화상 컴퓨팅 서버(200)에 입력된다. 이러한 데이터 송신 방법을 이용함으로써, 화상 처리 시스템(100) 내에 포함된 센서 시스템들(110)의 수가 변경되는 경우에 발생하는, 화상 컴퓨팅 서버(200)에서의 처리 부하의 변경 및 네트워크의 송신 부하의 변경이 억제될 수 있다. 또한, 카메라 어댑터(120)가 출력하는 화상 데이터는, 추출 결과에 기초하는 화상 데이터 및 미리 결정된 순서에서 선행 카메라 어댑터(120)에 의해 수행되는 미리 결정된 영역의 추출 결과에 기초하는 화상 데이터를 사용해서 생성되는 데이터일 수 있다. 예를 들어, 카메라 어댑터들(120)에 의해 수행된 추출 결과들과 선행 카메라 어댑터들(120)에 의해 수행된 추출 결과들 사이의 차분에 기초하는 화상 데이터를 출력함으로써, 시스템 내의 송신 데이터량을 저감할 수 있다. 위에 설명된 순서에서 최후의 카메라 어댑터(120)는, 다른 카메라들(112)에 의한 촬영 화상들로부터 다른 카메라 어댑터들(120)에 의해 추출된 미리 결정된 영역들의 화상 데이터에 기초하는 추출 화상 데이터를 다른 카메라 어댑터들(120)로부터 획득한다. 그 다음에, 최후의 카메라 어댑터(120)는 카메라 어댑터(120) 자신이 추출한 미리 결정된 영역의 추출 결과와, 다른 카메라 어댑터들(120)로부터 획득한 추출 화상 데이터에 대응하는 화상 데이터를, 가상 시점 화상을 생성하는 화상 컴퓨팅 서버(200)에 출력한다.
또한, 카메라 어댑터(120)는, 카메라(112)가 촬영한 화상에서 전경 부분과 배경 부분을 서로에게서 분리하고, 전경 부분 및 배경 부분의 우선도들에 따라서 압축률들 및 송신 프레임 레이트들을 변경한다. 그에 따라, 카메라들(112)에 의한 촬영 화상들에 대응하는 데이터의 모두가 프론트-엔드 서버(230)에 송신되는 경우와 비교할 때 송신량을 저감할 수 있다. 또한, 3D 모델 생성에 요구되는 3D 모델 정보를 카메라 어댑터들(120)에 의해 연속적으로 생성한다. 그에 따라, 모든 데이터를 프론트-엔드 서버(230)에 수집시켜, 프론트-엔드 서버(230)에서 모든 3D 모델 정보를 생성하는 처리가 수행되는 경우와 비교할 때 서버의 처리 부하를 저감시킬 수 있고, 그에 따라, 실시간으로 3D 모델 생성이 수행될 수 있다.
다음으로, 카메라 어댑터들(120)에 의해 수행되는 연속 3D 모델 정보 생성의 처리에서, 전경 화상 및 배경 화상을 생성해서 그 전경 화상 및 배경 화상을 다음 카메라 어댑터(120)에 이송하는 처리의 플로우가 도 24를 참조하여 설명될 것이다.
카메라 어댑터들(120)은, 카메라 어댑터(120)에 접속되는 카메라(112)로부터 촬영 화상을 획득한다(06501). 후속해서, 획득한 촬영 화상에서 전경 화상과 배경 화상을 분리하는 처리가 수행된다(06502). 본 실시예에서의 전경 화상은, 카메라(112)에 의한 촬영 화상에 포함된 미리 결정된 오브젝트의 검출 결과에 기초하여 결정된다는 점에 유의한다. 미리 결정된 오브젝트는, 예를 들어, 사람에 대응한다. 오브젝트는 특정한 사람(선수, 감독, 및/또는 심판)일 수도 있고 또는 미리 결정된 화상 패턴을 갖는 공 또는 골일 수도 있다. 대안적으로, 오브젝트로서, 동체가 검출될 수도 있다.
그 후에, 분리되는 전경 화상 및 배경 화상의 압축 처리가 수행된다. 전경 화상에 대해서는 무손실(loss less) 압축이 행해지고, 전경 화상은 고화질을 유지한다. 배경 화상에 대해서는 유손실(with loss) 압축이 행해지고, 데이터 송신량이 삭감된다(06503).
후속해서, 카메라 어댑터(120)는, 압축된 전경 화상 및 압축된 배경 화상을 다음 카메라 어댑터(120)에 이송한다(06504). 배경 화상은 프레임마다 이송이 수행되는 대신에 이송 프레임이 추출되면서 이송될 수 있다. 예를 들어, 촬영 화상의 프레임 레이트가 60 fps인 경우에, 전경 화상은 프레임마다 이송되지만, 배경 화상은 1 초간의 60 프레임 중 1 프레임만이 송신된다. 이에 의해, 데이터 송신량의 삭감이라는 고유의 효과가 얻어진다.
또한, 카메라 어댑터(120)는, 다음 카메라 어댑터(120)에 전경 화상 및 배경 화상을 송신하기 전에 메타데이터를 배정할 수 있다. 예를 들어, 카메라 어댑터(120) 및 카메라(112)의 식별자들, 프레임 내의 전경 화상의 위치(xy 좌표), 데이터 사이즈, 프레임 번호 및 촬영 시각이 메타데이터로서 배정된다. 대안적으로, 대상점을 식별하기 위한 주시점 그룹에 대한 정보 및 전경 화상 및 배경 화상을 지정하기 위한 데이터 타입 정보가 배정될 수 있다. 배정되는 데이터의 내용은 이들에 한정되지 않고, 다른 데이터가 배정될 수 있다는 점에 유의한다.
카메라 어댑터(120)가 데이지 체인을 통해서 데이터를 송신할 때에, 카메라 어댑터(120)에 접속된 카메라(112)와 상관이 높은 카메라(112)의 촬영 화상만을 선택적으로 처리한다. 이에 의해, 카메라 어댑터(120)의 송신 처리 부하를 경감할 수 있다. 또한, 데이지 체인 송신에서, 어느 하나의 카메라 어댑터(120)에서 고장이 발생해도 카메라 어댑터들(120) 사이의 데이터 송신이 정지하지 않도록 시스템을 구성함으로써, 로버스트성을 확보할 수 있다.
다음으로, 특정한 카메라 어댑터(120)에 의해 수행된 3D 모델 정보 생성 처리 플로우에서의, 인접한 카메라 어댑터(120)로부터 데이터가 제공될 때 수행되는 처리 플로우가 도 25를 참조하여 설명될 것이다.
먼저, 특정한 카메라 어댑터(120)는 인접한 카메라 어댑터(120)로부터 데이터를 수신한다(S06601). 카메라 어댑터(120)는 자신의 이송 모드가 바이패스 제어 모드인지를 결정한다(S06602). 바이패스 제어는 도 28을 참조하여 설명될 것이다.
결정이 긍정인 경우에는, 카메라 어댑터(120)는, 다음 카메라 어댑터(120)에 데이터를 이송한다(S06611). 한편, 결정이 부정인 경우에는, 카메라 어댑터(120)가 수신한 데이터의 패킷을 분석한다(S06603).
분석 결과로서 패킷이 바이패스 송신 제어 대상이라고 결정한 경우에는(단계 S06604에서 예(Yes)), 카메라 어댑터(120)는 다음 카메라 어댑터(120)에 데이터를 이송한다(S06610). 바이패스 송신 제어 대상의 패킷은, 예를 들어, 3D 모델 정보 생성에 사용하지 않는 화상 데이터, 아래 설명되는 제어 메시지, 또는 시간 정정과 연관된 메시지다. 바이패스 송신 제어는 도 27을 참조하여 설명될 것이다.
패킷이 바이패스 송신 제어 대상이 아니라고 결정하는 경우에는, 카메라 어댑터(120)가 데이터 타입을 결정하고(S06605), 데이터 타입에 대응하는 처리를 수행한다.
데이터 타입이, 제어 스테이션(310)으로부터 자신의 카메라 어댑터(120)로 송신될 제어 메시지 패킷인 경우, 카메라 어댑터(120)는 제어 메시지를 분석하고, 분석 결과에 기초하여 처리를 수행한다(S06606). 제어 메시지의 송신원이 제어 스테이션(310)이 아니라 다른 노드인 경우도 동일한 처리가 수행된다. 또한, 패킷이 자신의 카메라 어댑터(120) 뿐만 아니라, 카메라 어댑터(120)를 포함하는 주시점 그룹에 송신되는 경우도 마찬가지이다. 카메라 어댑터(120)가 수행하는 처리의 예들로는, 카메라 어댑터(120)에 접속되는 마이크(111), 카메라(112) 및 카메라 플랫폼(113)의 제어 및 카메라 어댑터(120) 자신의 제어를 포함한다. 카메라 어댑터(120)는, 제어 메시지의 내용에 따라 제어 결과를 송신원 또는 지정된 노드로 반환한다. 또한, 패킷이 그룹에 송신될 제어 메시지인 경우에는, 다음 카메라 어댑터(120)에 제어 메시지가 이송된다.
후속해서, 카메라 어댑터(120)는, 데이터 타입이 시간 정정과 연관되는 경우에는 시간 정정 처리를 수행한다(S06607). 예를 들어, 카메라 어댑터(120)는 타임 서버(290)와의 PTP 처리에 기초하여 카메라 어댑터(120)의 시간 정정을 수행한다. 그 다음에, 정정된 시간에 기초하여 마이크(111) 및 카메라(112)에 제공되는 워드 클록이 정정된다. 시간의 정정량이 큰 경우에 워드 클록의 타이밍을 한번에 변경하면, 그 변경이 사운드 및 화질에 영향을 미치므로, 미리 설정된 변경량에 따라 서서히 시간을 정정하는 처리가 수행될 수 있다. 또한, 카메라 어댑터(120)는 생성된 3D 모델 정보 및 3D 모델 정보 생성에 사용된 전경 화상을 다음 카메라 어댑터(120)에 이송하여, 생성된 3D 모델 정보 및 전경 화상이 추가로 프론트-엔드 서버(230)에 이송되게 한다.
카메라 어댑터(120)는, 데이터 타입이 전경 화상 또는 배경 화상인 경우에 3D 모델 정보를 생성하는 처리를 수행한다(S06608).
다음으로, 주시점 그룹에 따른 제어가 설명될 것이다. 도 26은, 주시점 그룹을 예시하는 도면이다. 카메라들(112)은 그들의 광축들이 특정한 주시점들(06302) 중 하나를 향하도록 설치된다. 동일한 주시점 그룹(06301)에 대응하는 카메라들(112)은, 카메라들(112)이 동일한 주시점(06302)을 향하도록 설치된다.
도 26은, 주시점 A(06302A)과 주시점 B(06302B)을 포함하는 2개의 주시점(06302)이 설정되고, 9개의 카메라(112a-112i)가 설치되는 경우를 예시하는 도면이다. 4개의 카메라(112a, (112c, 112e 및 112g)는 동일한 주시점 A(06302A)을 향하고 있고, 주시점 그룹 A(06301A)에 속한다. 또한, 나머지 5개의 카메라(112b, 112d, 112f, 112h 및 112i)는 동일한 주시점 B(06302B)을 향하고 있고, 주시점 그룹 B(06301B)에 속한다.
여기에서는, 동일한 주시점 그룹(06301)에 속하고 서로 가장 가까운(접속 홉들의 수가 가장 적음) 카메라들(112)의 쌍을 논리적으로 서로 인접하는 카메라들(112)로서 표현한다. 예를 들어, 카메라(112a) 및 카메라(112b)가 물리적으로는 서로 인접하지만, 카메라(112a) 및 카메라(112b)가 상이한 주시점 그룹들(06301)에 속하기 때문에, 카메라(112a) 및 카메라(112b)는 논리적으로는 서로 인접하지 않다. 카메라(112c)는 카메라(112a)에 논리적으로 인접하다. 한편, 카메라(112h) 및 카메라(112i)는, 물리적으로 서로 인접하지 않을 뿐만 아니라, 논리적으로도 서로 인접하지 않는다.
물리적으로 인접하는 카메라(112)가 또한 논리적으로도 인접하는 카메라(112)인지에 관한 결정 결과에 따라, 카메라 어댑터들(120)이 상이한 처리들을 수행한다. 이하에서는 구체적인 처리가 설명될 것이다.
바이패스 송신 제어가 도 27을 참조하여 설명될 것이다. 바이패스 송신 제어는, 카메라 어댑터들(120) 각각을 포함하는 주시점 그룹에 따라 송신 데이터가 바이패스되는 기능이다. 외부 디바이스 컨트롤러(06140), 화상 프로세서(06130), 송신 유닛(06120) 및 네트워크 어댑터(06110)를 구성하는 기능 유닛들에 대한 설명은 생략된다.
화상 처리 시스템(100)에서, 카메라 어댑터들(120)의 수에 대한 설정 및 주시점 그룹들과 카메라 어댑터들(120) 사이의 대응관계들에 대한 설정은 변경될 수 있다. 도 27에서는, 카메라 어댑터들(120g, 120h 및 120n)은 주시점 그룹 A에 속하고, 카메라 어댑터(120i)는 주시점 그룹 B에 속하는 것으로 가정한다.
루트(06450)는 카메라 어댑터(120g)가 생성한 전경 화상의 송신 루트를 나타내고, 전경 화상은 최종적으로 프론트-엔드 서버(230)에 송신된다. 도 27에서는, 배경 화상, 3D 모델 정보, 제어 메시지, 및 카메라 어댑터들(120h, 120i 및 120n)이 생성한 전경 화상들은 생략된다.
카메라 어댑터(120h)는, 카메라 어댑터(120g)가 생성한 전경 화상을 네트워크 어댑터(06110h)를 통해 수신하고, 송신 유닛(06120h)은 라우팅 목적지를 결정한다. 수신된 전경 화상을 생성한 카메라 어댑터(120g)가 동일한 주시점 그룹(본 실시예에서는 그룹 A)에 속한다고 결정하면, 송신 유닛(06120h)은 수신된 전경 화상을 화상 프로세서(06130h)에 이송한다. 화상 프로세서(06130h)가 카메라 어댑터(120g)가 생성해서 송신한 전경 화상에 기초하여 3D 모델 정보를 생성하면, 카메라 어댑터(120g)의 전경 화상은 다음 카메라 어댑터(120i)에 이송된다.
후속해서, 카메라 어댑터(120i)는, 카메라 어댑터(120h)로부터 카메라 어댑터(120g)가 생성한 전경 화상을 수신한다. 카메라 어댑터(120g)가 속하는 주시점 그룹이 카메라 어댑터(120i)가 속하는 주시점 그룹과 상이하다고 결정하면, 카메라 어댑터(120i)의 송신 유닛(06120i)은 전경 화상을 화상 프로세서(06130i)에는 이송하지 않고 전경 화상을 다음 카메라 어댑터(120)에 이송한다.
그 후에, 카메라 어댑터(120n)는, 카메라 어댑터(120g)가 생성한 전경 화상을, 네트워크 어댑터(06110n)를 통해 수신하고, 송신 유닛(06120n)은 라우팅 목적지를 결정한다. 송신 유닛(06120n)은, 카메라 어댑터(120g)가 속하는 주시점 그룹에 카메라 어댑터(120n)가 속한다고 결정한다. 그러나, 화상 프로세서(06130n)가 카메라 어댑터(120g)의 전경 화상이 3D 모델 정보 생성에 요구되지 않는다고 결정하면, 전경 화상은 그대로 다음 카메라 어댑터(120)에 데이지 체인의 네트워크를 통해서 이송된다.
이 방식에서, 카메라 어댑터(120)의 송신 유닛(06120)은, 수신한 데이터가, 화상 프로세서(06130)에 의해 수행된 화상 처리인 3D 모델 정보의 생성에 요구되는지를 결정한다. 수신된 데이터가 화상 처리에 요구되지 않는다고 결정되면, 즉, 수신된 데이터가 자신의 카메라 어댑터(120)와의 상관이 낮다고 결정되면, 데이터는 화상 프로세서(06130)에 이송되지 않고, 다음 카메라 어댑터(120)에 이송된다. 구체적으로, 데이지 체인(170)을 통한 데이터 송신에서, 개개의 카메라 어댑터(120)에 요구되는 데이터가 선택되고 3D 모델 정보를 연속적으로 생성하는 처리가 수행된다. 그에 따라, 데이터가 카메라 어댑터(120)에 의해 수신되고 나서 데이터가 이송될 때까지의 시간 기간 내에 데이터 이송과 연관된 처리 부하 및 처리 시간이 단축될 수 있다.
다음으로, 카메라 어댑터(120b)에 의해 수행된 바이패스 제어가 도 28을 참조하여 상세히 설명될 것이다. 외부 디바이스 컨트롤러(06140), 화상 프로세서(06130), 송신 유닛(06120) 및 네트워크 어댑터(06110)를 구성하는 기능 유닛들에 대한 설명은 생략된다.
바이패스 제어는, 카메라 어댑터(120b)가, 카메라 어댑터(120c)로부터 제공된 데이터를, 송신 유닛(06120)의 데이터 라우팅 프로세서(06122)에 의해 수행될 라우팅 제어를 행하지 않고 다음 카메라 어댑터(120a)에 이송하는 기능이다.
예를 들어, 카메라 어댑터(120b)는, 카메라(112b)가 촬영 정지 상태, 캘리브레이션 상태, 또는 에러 처리 상태일 경우에, 네트워크 어댑터(06110)에 대하여 바이패스 제어를 기동시킨다. 송신 유닛(06120) 또는 화상 프로세서(06130)가 고장난 경우에도, 바이패스 제어를 기동시킨다. 또한, 네트워크 어댑터(06110)는 송신 유닛(06120)의 상태를 검출할 수 있고, 능동적으로 바이패스 제어 모드로 천이될 수 있다. 송신 유닛(06120) 또는 화상 프로세서(06130)의 에러 상태 또는 정지 상태를 검출하는 서브 CPU는 카메라 어댑터(120b)에 포함될 수 있고, 서브 CPU가 에러 검출을 수행한 경우에 네트워크 어댑터(06110)를 바이패스 제어 모드에 진입하게 하는 처리가 추가될 수 있다는 점에 유의한다. 이에 의해, 기능 블록들의 폴트 상태들 및 바이패스 제어를 독립적으로 제어할 수 있다.
또한, 카메라 어댑터(120)는, 카메라(112)가 캘리브레이션 상태로부터 촬영 상태로 천이된 경우나, 송신 유닛(06120) 등이 동작 불량으로부터 복원된 경우에, 바이패스 제어 모드에서 통상의 통신 상태로 천이될 수 있다.
이 바이패스 제어 기능에 의해, 카메라 어댑터(120)는 데이터 이송을 고속으로 수행할 수 있고, 예상치 못한 고장의 발생으로 인해 데이터 라우팅과 연관된 결정을 실시할 수 없는 경우에도 다음 카메라 어댑터(120a)에 데이터를 이송할 수 있다.
본 시스템에서는, 전경 화상, 배경 화상 및 3D 모델 정보가, 데이지 체인에 의해 접속된 복수의 카메라 어댑터(120)를 통해 송신되고 프론트-엔드 서버(230)에 제공된다. 여기서, 촬영 화상 내에서 전경 영역들의 수가 상당히 증가하는 이벤트, 이를테면, 모든 선수가 함께 모이는 개회식이 촬영되는 경우에는, 송신될 전경 화상들의 데이터량이 통상의 게임을 촬영하는 경우와 비교할 때 증가한다. 그러므로, 데이지 체인에 의해 송신될 데이터량이 송신 대역을 초과하지 않도록 제어하기 위한 방법이 아래 설명될 것이다.
카메라 어댑터(120)에서 송신 유닛(06120)으로부터 데이터를 출력하는 처리의 플로우가 도 29 및 도 30을 참조하여 설명될 것이다. 도 29는 카메라 어댑터들(120a-120c) 사이에서 데이터의 플로우를 예시하는 도면이다. 카메라 어댑터(120a)는 카메라 어댑터(120b)에 접속되고, 카메라 어댑터(120b)는 카메라 어댑터(120c)에 접속된다. 또한, 카메라(112b)는 카메라 어댑터(120b)에 접속되고, 카메라 어댑터(120c)는 프론트-엔드 서버(230)에 접속된다. 카메라 어댑터(120b)의 송신 유닛(06120)에 의해 수행된 데이터 출력 처리 플로우가 이제 설명될 것이다.
카메라 어댑터(120b)의 송신 유닛(06120)에는, 카메라(112b)로부터 촬영 데이터(06720)가 제공되고, 카메라 어댑터(120b)의 송신 유닛(06120)에는, 카메라 어댑터(120a)로부터 화상 처리가 행해진 입력 데이터(06721) 및 입력 데이터(06722)가 제공된다. 또한, 송신 유닛(06120)은, 입력 데이터에 대하여 화상 프로세서(06130)로의 출력, 압축, 프레임 레이트의 설정 및 패킷화와 같은 다양한 처리를 수행하고, 그 데이터를 네트워크 어댑터(06110)에 출력한다.
다음으로, 송신 유닛(06120)에 의해 수행된 출력 처리 플로우가 도 30을 참조하여 설명될 것이다. 송신 유닛(06120)은, 화상 프로세서(06130)로부터 제공된 입력 데이터(06721) 및 촬영 데이터(06720)에 대한 화상 처리 결과인 데이터량을 획득하는 단계를 실행한다(S06701).
후속해서, 송신 유닛(06120)은 카메라 어댑터(120a)로부터 제공된 입력 데이터(06722)의 양을 획득하는 단계를 실행한다(S06702). 그 후에, 송신 유닛(06120)은 입력 데이터의 타입에 따라서 카메라 어댑터(120c)로 출력될 데이터량을 획득하는 단계를 실행한다(S06703).
그 후에, 송신 유닛(06120)은, 출력 데이터량과 미리 결정된 송신 대역 제한량을 비교하여, 송신이 수행될 수 있는지를 결정한다. 구체적으로, 송신 유닛(06120)은 네트워크 어댑터(06110)에 출력될 데이터량이 미리 지정된 출력 데이터량의 임계값을 초과하는지를 결정한다(S06704). 임계값은 데이터 타입별로 (이를테면, 전경 화상, 배경 화상, 풀-뷰 프레임 데이터 및 3D 모델 정보) 제공될 수 있다는 점에 유의한다. 또한, 출력될 데이터량은 송신 유닛(06120)에 의해 데이터가 압축된 경우에 송신 유닛(06120)에 수행된 데이터의 압축 결과에 기초하여 획득된다. 출력 데이터량의 임계값은 패킷화에 사용되는 헤더 정보 및 에러 정정 정보의 오버헤드들을 고려해서 바람직하게 설정된다는 점에 유의한다.
송신 유닛(06120)은, 출력 데이터량이 임계값을 초과하지 않는다고 결정한 경우에는, 입력 데이터를 네트워크 어댑터(06110)에 출력하는 통상의 이송을 수행한다(S06712). 한편, 출력 데이터량이 임계값을 초과한다고 결정한 경우(단계 S6704에서 예)에, 송신 유닛(06120)은 송신 유닛(06120)에 입력된 데이터가 화상 데이터인 경우에 출력 데이터량의 초과에 대한 정책을 획득한다(S06705). 그 다음에, 송신 유닛(06120)은 획득된 정책에 따라 아래 설명되는 복수의 처리(S06707-S06711) 중 적어도 하나를 선택하고(S06706) 선택된 처리를 실행한다. 송신 유닛(06120)은 화상 데이터 이외에 시간 정정과 연관되는 데이터 및 제어 메시지와 연관되는 데이터에 대해 통상의 이송을 수행할 수 있다는 점에 유의한다. 또한, 메시지는 메시지의 타입 또는 우선도에 따라서 드롭될 수도 있다. 출력 데이터의 양을 줄임으로써 데이터 이송의 오버플로우를 억제할 수 있다.
송신 유닛(06120)이 실행하는 처리로서, 송신 유닛(06120)은 화상 데이터의 프레임 레이트를 낮춰서 그 화상 데이터를 네트워크 어댑터(06110)에 출력한다(S06707). 일부 프레임이 생략되면서 송신이 수행되어 데이터량이 삭감된다. 그러나, 움직임이 빠른 오브젝트를 추종하는 경우에는, 높은 프레임 레이트에서의 출력과 비교할 때 화질이 낮아질 수 있으므로, 대상 촬영 씬에 따라 이용될 방법에 관한 결정이 실시된다.
또 다른 처리로서, 송신 유닛(06120)은, 화상 데이터의 해상도를 낮춘 후에 화상 데이터를 네트워크 어댑터(06110)에 출력한다(S06708). 이 처리는 출력 화상의 화질에 영향을 미치므로, 엔드-유저 단말기의 타입에 따라 정책이 설정된다. 예를 들어, 화상 데이터가 스마트폰에 출력될 경우에는 해상도를 상당히 낮춰서 데이터량이 삭감되게 하는 한편, 화상 데이터가 고-해상도 디스플레이 등에 출력될 경우에는 해상도를 약간 낮추는 것과 같이 적절한 해상도 변환과 연관된 정책이 설정된다.
또 다른 처리로서, 송신 유닛(06120)은, 화상 데이터의 압축률을 증가시킨 후에 화상 데이터를 네트워크 어댑터(06110)에 출력한다(S06709). 여기에서는, 입력 화상 데이터의 양은, 무손실 압축, 유손실 압축 등과 같은 복원 성능 요구, 즉, 화질 요구에 따라서 삭감된다.
또 다른 처리로서, 송신 유닛(06120)은, 화상 프로세서(06130)로부터의 촬영 데이터(06720)의 출력을 정지한다(S06710). 여기에서는, 화상 처리가 행해진 화상 데이터의 출력을 정지해서 데이터량을 삭감시킨다. 충분한 수의 카메라(112)가 제공되는 경우에는, 가상 시점 화상의 생성에, 동일한 주시점 그룹에 포함된 카메라들(112)이 모두 요구되는 경우가 필수적이지는 않을 수 있다. 예를 들어, 스타디움의 필드 전체를 촬영할 때 카메라들(112)의 수를 삭감하더라도, 블라인드 각도가 발생하지 않는다는 것을 미리 결정할 수 있는 경우에 본 제어가 이용된다. 구체적으로, 후속 단계들에서 화상의 오류가 발생하지 않는다는 것을 조건으로 하여, 화상 데이터의 송신을 수행하지 않는 카메라들을 선택함으로써 송신 대역이 확보될 수 있다.
추가의 처리로서, 송신 유닛(06120)은 화상 프로세서(06130)로부터의 입력 데이터(06721)의 출력을 정지하거나 또는 카메라 어댑터들(120)의 일부로부터의 화상들의 출력만을 정지한다(S06711). 추가하여, 다른 카메라 어댑터(120)로부터 제공되는 화상을 사용해서 3D 모델 정보를 생성할 수 있는 경우에는, 다른 카메라 어댑터(120)로부터의 전경 화상이나 배경 화상의 출력을 정지하고, 3D 모델 정보만을 출력 제어할 수 있어 데이터양이 삭감되게 한다.
출력 데이터의 양을 저감시키는데 사용된 방법에 대한 정보는 프론트-엔드 서버(230)를 통해 백-엔드 서버(270), 가상 카메라 조작 UI(330), 및 제어 스테이션(310)에 송신된다(S06713). 본 실시예에서는, 프레임 레이트를 제어하는 처리, 해상도를 제어하는 처리, 압축률을 제어하는 처리 또는 데이터 정지를 제어하는 처리가 수행되도록 플로우가 분기된다. 그러나, 본 발명은 이것에 한정되는 것은 아니다. 복수의 제어 동작을 조합함으로써, 데이터량 삭감이 더 효과적으로 수행된다. 또한, 단계 S06713에서 본 제어 처리의 통지가 수행된다. 이러한 통지에 의해, 예를 들어, 압축률의 증가 결과로서 화질면에서 충분한 해상도가 획득되지 않는 경우에는, 가상 카메라 조작 UI(330)에서, 줌 조작이 제한될 수 있다. 또한, 송신 대역 제한량 초과 처리 이후에도, 적절한 곳에서 출력 데이터량의 초과가 확인되고, 데이터량이 안정되면, 송신 처리의 정책이 원래의 설정값으로 반환될 수 있다.
이러한 방식에서, 데이지 체인의 송신 대역의 초과를 해결하기 위하여 상태에 대응하는 송신 제어 처리를 수행함으로써, 송신 대역 제한을 만족시키는 송신이 효과적으로 실현될 수 있다.
다음으로, 촬영시 워크플로우들에서 단계 S1500 및 단계 S1600에서의 프론트-엔드 서버(230)의 동작이 도 31의 흐름도를 참조하여 설명될 것이다.
컨트롤러(02110)는, 제어 스테이션(310)으로부터 촬영 모드로 스위칭하라는 지시를 수신하고, 촬영 모드로의 스위칭을 수행한다(S02300). 촬영이 개시되면, 데이터 입력 컨트롤러(02120)는 카메라 어댑터(120)로부터의 촬영 데이터의 수신을 개시한다(S02310).
촬영 데이터는, 파일 생성에 요구되는 촬영 데이터가 모두 획득될 때까지 데이터 동기 유닛(02130)에 의해 버퍼링된다(S02320). 흐름도에서는 분명히 예시되어 있지 않지만, 본 실시예에서는, 촬영 데이터에 배정된 시간 정보의 매칭이 얻어지는지에 관한 결정 및 미리 결정된 수의 카메라가 제공되었는지에 관한 결정이 실시된다. 또한, 화상 데이터는 카메라(112)의 상태, 예컨대, 캘리브레이션이 수행되고 있는 상태 또는 에러 처리가 수행되고 있는 상태에 따라 송신되지 않을 수도 있다. 이 경우에는, 미리 결정된 카메라 번호를 갖는 화상의 부족이 후단의 데이터베이스(250)로의 이송(S2370) 중에 통지된다. 여기서, 미리 결정된 카메라들의 수가 제공되었는지에 관한 결정을 수행하기 위해서, 화상 데이터의 도착을 미리 결정된 시간 기간 동안 대기하는 방법이 이용될 수 있다. 그러나, 본 실시예에서는, 시스템에 의해 수행되는 일련의 처리 지연을 억제하기 위해서, 카메라 어댑터들(120)이 데이지 체인에 의해 데이터를 송신할 때에 카메라 번호에 대응하는 화상 데이터가 존재하는지에 관한 결정 결과를 나타내는 정보가 배정된다. 이에 의해, 프론트-엔드 서버(230)의 컨트롤러(02110)에 의해 즉시 결정이 실시될 수 있다. 또한, 촬영 화상의 도착을 대기하는 시간 기간이 요구되지 않는 효과가 획득될 수 있다.
데이터 동기 유닛(02130)에 의해 파일 생성에 요구되는 데이터가 버퍼링된 후에, RAW 화상 데이터의 현상 처리, 렌즈 왜곡 정정, 전경 화상 및 배경 화상과 같은 카메라들에 의해 촬영된 화상들의 색들 및 휘도값들의 조정을 포함하는 다양한 변환 처리가 수행된다(S02330).
데이터 동기 유닛(02130)에 의해 버퍼링된 데이터가 배경 화상들을 포함하는 경우에는, 배경 화상들의 결합 처리(S02340)가 수행되고, 그렇지 않으면, 3D 모델들의 결합 처리(S02350)가 수행된다(S02335).
단계 S02330에서, 화상 프로세서(02150)가 처리한 배경 화상들을 화상 결합 유닛(02170)이 획득한다. 단계 S02230에서는 CAD 데이터 저장 유닛(02135)에 저장된 스타디움 형상 데이터의 좌표들에 따라 배경 화상들이 결합되고, 결합한 배경 화상을 촬영 데이터 파일 생성 유닛(02180)에 제공한다(S02340).
데이터 동기 유닛(02130)으로부터 3D 모델을 획득한 3D 모델 결합 유닛(02160)은 3D 모델 데이터 및 카메라 파라미터들을 사용해서 전경 화상의 3D 모델을 생성한다(S02350).
단계 S02350에서의 처리까지 수행된 처리에 의해 생성된 촬영 데이터를 수신하는 촬영 데이터 파일 생성 유닛(02180)은, 촬영 데이터를 파일 포맷에 따라 변환하고 그 화상 데이터를 패킹한다. 그 후에, 촬영 데이터 파일 생성 유닛(02180)은 DB 액세스 컨트롤러(02190)에 생성된 파일을 송신한다(S02360). DB 액세스 컨트롤러(02190)는, 단계 S02360에서 촬영 데이터 파일 생성 유닛(02180)으로부터 제공된 촬영 데이터 파일을, 데이터베이스(250)에 송신한다(S02370).
다음으로, 촬영시 워크플로우에서 단계 S1500 및 단계 S1600에서의 가상 시점 화상 생성에서 수행되는 데이터베이스(250)의 동작에 포함된 데이터 기입 동작이 특히 도 32의 흐름도를 참조하여 설명될 것이다.
프론트-엔드 서버(230)는 데이터베이스(250)의 데이터 입력 유닛(02420)에 촬영 데이터를 제공한다. 데이터 입력 유닛(02420)은 제공된 촬영 데이터와 메타데이터로서 연관된 시간 정보 또는 타임 코드 정보를 추출하고, 제공된 촬영 데이터가 시각 t1에 획득되었다는 것을 검출한다(S2810).
데이터 입력 유닛(02420)은 시각 t1에 획득된 제공된 촬영 데이터를 캐시(02440)에 송신하고, 캐시(02440)는 시각 t1에 획득된 촬영 데이터를 캐시한다(S02820).
데이터 입력 유닛(02420)은 시각 t1의 N 프레임 전에 획득한 촬영 데이터, 즉, 시각 t1-N의 촬영 데이터가 캐시되었는지를 결정하고(S02825), 결정이 긍정인 경우에는, 처리가 단계 S02830로 진행되고, 그렇지 않으면 처리가 종료된다. "N"은 프레임 레이트에 따라 달라진다는 점에 유의한다. 여기서, "t1-N"은, 시각 t1보다 프레임 단위 시간의 N배만큼 이전의 시각일 수도 있고, 또는 시각 t1의 프레임보다 N 프레임만큼 이전의 타임 코드일 수 있다.
시각 t1에 획득된 촬영 데이터를 캐시할 때, 캐시(02440)는 캐시된 시각 t1-N에 획득된 촬영 데이터를 1차 스토리지(02450)로 이송하고, 1차 스토리지(02450)는 캐시(02440)로부터 송신된 시각 t1-N에 획득된 촬영 데이터를 기록한다(S02830). 이에 의해, 고속 액세스 가능한 캐시(02440)의 용량 제한에 따라, 미리 결정된 시각 이전의 프레임이 1차 스토리지(02450)에 연속적으로 저장된다. 이것은, 예를 들어, 캐시(02440)가 링 버퍼 구성을 가질 때 실현된다.
다음으로, 촬영시 워크플로우의 단계 S1500 및 단계 S1600에서 가상 시점 화상 생성에서 수행된 데이터베이스(250)의 동작에 포함된 데이터 판독 동작이 특히 도 33의 흐름도를 참조하여 설명될 것이다.
백-엔드 서버(270)는 데이터 출력 유닛(02430)에 대하여 시각 t의 타임 코드에 대응하는 데이터를 송신하도록 요구한다(S02910). 데이터 출력 유닛(02430)은 시각 t에 대응하는 데이터가 캐시(02440)에 저장되어 있는지 또는 1차 스토리지(02450)에 저장되어 있는지를 결정하여, 데이터 판독 소스를 결정한다(S02920). 예를 들어, 전술한 도 32의 경우와 마찬가지로, 시각 t1에서 데이터 입력 유닛(02420)에 촬영 데이터가 제공된 경우, 시각 t가 시각 t1-N 전이면, 1차 스토리지(02450)로부터 데이터가 판독된다(S02930). 시각 t가 시각 t1-N과 시각 t1의 사이에 있다면, 데이터가 캐시(02440)로부터 판독된다(S02940). 시각 t가 시각 t1보다 나중일 경우에, 데이터 출력 유닛(02430)은 백-엔드 서버(270)에 대하여 에러 통지를 수행한다(S02950).
다음으로, 카메라 어댑터(120)에 포함된 화상 프로세서(06130)의 처리 플로우는 도 35a 내지 도 35e의 흐름도들을 참조하여 설명될 것이다.
도 35a의 처리에 앞서, 캘리브레이션 컨트롤러(06133)는 카메라들(112) 사이의 색 변동을 억제하기 위해 입력 화상들에 대해 색 정정 처리를 수행하고, 카메라들(112)의 진동에 기인하는 화상들의 블러들을 저감시켜서 화상들을 안정시키기 위해 입력 화상들에 대해 블러 정정 처리(전자 진동 제어 처리)를 수행한다. 색 정정 처리에서는, 프론트-엔드 서버(230)로부터 제공된 파라미터들에 따라서, 입력 화상들의 화소값들에 오프셋값들을 가산하는 등의 처리가 수행된다. 블러 정정 처리에서는, 카메라들(112)에 통합된 가속도 센서들 또는 자이로 센서들과 같은 센서들로부터의 출력된 데이터에 기초하여 화상들의 블러량들이 추정된다. 추정된 블러량들에 따라서 화상 위치들의 시프트 및 화상들의 회전 처리를 수행함으로써, 프레임 화상들 간의 블러가 억제될 수 있다. 블러 정정 방법으로서 다른 방법들이 사용될 수도 있다는 점에 유의한다. 예를 들어, 시간 면에서 서로 접속되는 복수의 프레임 화상과 그 화상을 비교함으로써 화상의 시프트량을 추정 및 정정하는 화상 처리를 수행하는 방법, 또는 렌즈 시프트 방법이나 센서 시프트 방법과 같은 카메라에서 실현되는 방법이 이용될 수 있다.
배경 갱신 유닛(05003)은, 입력 화상과, 메모리에 저장되는 배경 화상을 사용하여, 배경 화상(05002)을 갱신하는 처리를 수행한다. 배경 화상의 일례가 도 34a에 예시된다. 갱신 처리는 개개의 화소에 대하여 수행된다. 처리 플로우가 도 35a를 참조하여 설명될 것이다.
먼저, 배경 갱신 유닛(05003)은, 단계 S05001에서, 입력 화상의 화소들과 배경 화상 내의 대응하는 위치들에 있는 화소들 사이의 차분들을 획득한다. 단계 S05002에서, 차분들이 임계값 K보다 작은 것인지를 결정한다. 차분이 임계값 K보다 작은 경우에는 그 화소는 배경 화상에 대응하는 것으로 결정된다(단계 S05002에서 예). 단계 S05003에서, 배경 갱신 유닛(05003)은, 입력 화상의 화소값들과 배경 화상의 화소값들을 일정한 비율로 혼합한 값들을 계산한다. 단계 S05004에서, 배경 갱신 유닛(05003)은 배경 화상 내의 화소값을 추출하여 획득한 값을 사용하여 갱신을 수행한다.
배경 화상인 도 34a에 예시된 도면에 사람이 포함되는 예가 도 34b를 참조하여 설명될 것이다. 이 경우에는, 사람에 대응하는 화소들에 착안하면, 배경에 대한 화소값들 사이의 차분들이 커지고, 단계 S05002에서 차분들이 임계값 K 이상이 된다. 이 경우에는, 화소값들의 변경들이 크므로, 배경 이외의 오브젝트가 포함되는 것으로 결정되고, 배경 화상(05002)은 갱신되지 않는다(단계 S05002에서 아니오). 배경 갱신 처리에서는 다양한 다른 방법들이 이용될 수 있다.
다음으로, 배경 추출 유닛(05004)은, 배경 화상(05002)의 일부를 판독하고, 배경 화상(05002)의 일부를 송신 유닛(06120)에 송신한다. 스타디움 등에서 축구 게임과 같은 게임의 화상이 촬영될 때에 필드 전체가 블라인드 각도 없이 촬영될 수 있도록 복수의 카메라(112)를 설치한 경우, 카메라들(112)의 배경 정보의 대부분이 서로 중복된다. 배경 정보는 방대하기 때문에, 화상들은 송신 대역 제한 면에서 중복 부분들을 삭제한 후에 송신될 수 있어 송신량을 삭감할 수 있다. 이 처리의 플로우가 도 35d를 참조하여 설명될 것이다. 단계 S05010에서, 배경 추출 유닛(05004)은, 예를 들어, 도 34c에서 점선으로 둘러싸인 부분 영역(3401)에 의해 표기된 바와 같이, 배경 화상의 중앙 부분을 설정한다. 구체적으로, 부분 영역(3401)은 카메라(112) 자신에 의해 송신되는 배경 영역을 나타내고, 배경 영역에서 그 이외의 부분들은, 다른 카메라들(112)에 의해 송신된다. 단계 S05011에서, 배경 추출 유닛(05004)은, 배경 화상에서 설정된 부분 영역(3401)을 판독한다. 단계 S05012에서, 배경 추출 유닛(05004)은 그 부분 영역(3401)을 송신 유닛(06120)에 출력한다. 출력된 배경 화상들은 화상 컴퓨팅 서버(200)에 수집되고, 배경 모델의 텍스처로서 사용된다. 카메라 어댑터들(120)에서 배경 화상들(05002)의 추출 위치들은, 배경 모델에 대한 텍스처 정보의 부족이 발생하지 않도록, 미리 결정된 파라미터값들에 따라서 설정된다. 통상은, 송신 데이터량을 삭감하기 위해서, 추출 영역들의 필요 최저(requisite minimum)가 설정된다. 그에 따라, 방대한 배경 정보의 송신량이 효율적으로 삭감될 수 있고, 시스템은 고해상도에 대처할 수 있다.
다음으로, 전경 분리 유닛(05001)은, 전경 영역(사람과 같은 오브젝트를 포함하는 영역)을 검출하는 처리를 수행한다. 화소마다 실행되는 전경 영역 검출 처리의 플로우가 도 35b를 참조하여 설명될 것이다. 전경의 검출에 대해서는, 배경 차분 정보를 사용하는 방법이 사용된다. 단계 S05005에서, 전경 분리 유닛(05001)은, 새롭게 입력된 화상의 화소들과, 배경 화상(05002)에서 대응하는 위치들에 있는 화소들 사이의 차분들을 획득한다. 그 다음에, 단계 S05006에서 차분들이 임계값 L보다 큰지가 결정된다. 여기서, 도 34a에서의 배경 화상(05002)에 대하여, 새롭게 입력된 화상이, 예를 들어, 도 34b에 예시되는 것으로 가정하면, 사람들을 포함하는 영역에서의 화소들이 큰 차분들을 갖는다. 차분들이 임계값 L보다 큰 경우에는, 단계 S05007에서, 그 화소들이 전경으로서 설정된다. 배경 차분 정보를 사용하는 전경의 검출 방법은, 전경이 고정밀도로 검출되기 위한 독창적인 동작들을 갖는다. 또한, 전경 검출에는, 특징값을 사용하는 방법 또는 기계 학습을 사용하는 방법을 포함하는 다양한 방법이 이용될 수 있다.
전경 분리 유닛(05001)은, 위에 도 35b를 참조하여 설명된 처리를 입력 화상의 개개의 화소에 대해 실행한 후에, 전경 영역을 블록으로서 결정해서 출력하는 처리를 수행한다. 이 처리의 플로우는 도 35c를 참조하여 설명될 것이다. 단계 S05008에서, 서로 결합된 복수의 화소로 구성된 전경 영역은 그 전경 영역이 검출되는 화상에서 하나의 전경 화상으로서 결정된다. 서로 결합된 화소들을 포함하는 영역을 검출하는 처리로서는, 예를 들어, 영역 성장 방법이 사용된다. 영역 성장 방법은 일반적인 알고리즘이기 때문에, 그에 대한 상세한 설명은 생략된다. 단계 S05008에서 전경 영역들이 전경 화상들로서 수집된 후에, 단계 S05009에서 전경 화상들이 연속적으로 판독되어 송신 유닛(06120)에 출력된다.
다음으로, 3D 모델 정보 생성 유닛(06132)은 전경 화상들을 사용해서 3D 모델 정보를 생성한다. 카메라 어댑터(120)가 인접한 카메라(112)로부터 전경 화상을 수신하면, 전경 화상은 송신 유닛(06120)을 통해 타 카메라(different-camera) 전경 수신 유닛(05006)에 제공된다. 전경 화상이 입력된 때 3D 모델 프로세서(05005)에 의해 실행되는 처리의 플로우가 도 35e를 참조하여 설명될 것이다. 여기서, 화상 컴퓨팅 서버(200)가 카메라들(112)의 촬영 화상 데이터를 수집하고, 화상 처리를 개시하고, 가상 시점 화상을 생성할 경우에, 많은 계산량으로 인해 화상 생성에 요구되는 시간 기간이 증가될 수 있다. 특히, 3D 모델 생성에서의 계산량이 상당히 증가될 수 있다. 그러므로, 도 35e에서는, 화상 컴퓨팅 서버(200)에 의해 수행된 처리량을 저감하기 위해서, 카메라 어댑터들(120)을 서로 접속하는 데이지 체인에 의해 데이터가 송신되는 동안 3D 모델 정보를 연속적으로 생성하는 방법이 설명될 것이다.
먼저, 단계 S05013에서, 3D 모델 정보 생성 유닛(06132)은, 다른 카메라들(112) 중 하나에 의해 촬영된 전경 화상을 수신한다. 후속해서, 3D 모델 정보 생성 유닛(06132)은, 수신된 전경 화상을 촬영한 카메라(112)가 대상 카메라(112)의 주시점 그룹에 속하는지 그리고 카메라(112)가 대상 카메라(112)에 인접한지를 결정한다. 단계 S05014에서 결정이 긍정인 경우에는, 처리가 단계 S05015로 진행한다. 한편, 결정이 부정인 경우에는, 다른 카메라(112)의 전경 화상이 대상 카메라(112)와 연관되지 않는 것으로 결정되고 처리가 종료, 즉, 처리가 수행되지 않는다. 또한, 단계 S05014에서, 카메라(112)가 대상 카메라(112)에 인접한지에 관한 결정이 실시되지만, 카메라들(112) 사이의 관계를 결정하는 방법은 이에 한정되지 않는다. 예를 들어, 3D 모델 정보 생성 유닛(06132)은 연관된 카메라(112)의 카메라 번호를 미리 획득 및 설정할 수 있고, 연관된 카메라(112)의 화상 데이터가 송신된 경우에만 화상 데이터를 획득해서 처리를 수행할 수 있다. 이 경우에도, 동일한 효과가 획득될 수 있다.
단계 S05015에서는, 3D 모델 정보 생성 유닛(06132)이, 전경 화상의 깊이 정보를 획득한다. 구체적으로, 3D 모델 정보 생성 유닛(06132)은 전경 분리 유닛(05001)으로부터 제공된 전경 화상을 다른 카메라들(112) 중 하나의 전경 화상과 연관시킨 후에, 연관된 화소들의 좌표값들과 카메라 파라미터들에 따라서, 전경 화상에 포함된 화소들의 깊이 정보를 획득한다. 여기서, 화상들을 서로 연관시키는 방법으로서는, 예를 들어, 블록 매칭 방법이 이용된다. 블록 매칭 방법은 일반적으로 사용되므로, 그에 대한 상세한 설명은 생략된다. 연관시키는 방법으로서, 특징점 검출, 특징값 계산, 매칭 처리 등을 서로 조합해서 성능을 향상시키는 방법과 같은 다양한 방법이 이용될 수 있다.
단계 S05016에서, 3D 모델 정보 생성 유닛(06132)은, 전경 화상의 3D 모델 정보를 획득한다. 구체적으로, 전경 화상에 포함된 화소들의 세계 좌표값들은, 단계 S05015에서 획득된 깊이 정보 및 카메라 파라미터 수신 유닛(05007)에 저장된 카메라 파라미터들에 따라서 획득된다. 그 다음에, 세계 좌표값들 및 화소값들이 세트로서 사용되어, 포인트 그룹으로서 구성되는 3D 모델의 하나의 포인트 데이터가 설정된다. 위에 설명한 바와 같이, 전경 분리 유닛(05001)으로부터 제공된 전경 화상으로부터 획득된 3D 모델의 일부의 포인트 그룹에 대한 정보 및 다른 카메라(112)의 전경 화상으로부터 획득된 3D 모델의 일부의 포인트 그룹에 대한 정보가 획득될 수 있다. 단계 S05017에서, 3D 모델 정보 생성 유닛(06132)은, 획득된 3D 모델 정보에 카메라 번호 및 프레임 번호를 메타데이터로서 추가하고(예를 들어, 타임 코드 및 절대 시간이 메타데이터의 역할을 할 수도 있다) 3D 모델 정보를 송신 유닛(06120)에 송신한다.
이러한 방식에서, 카메라 어댑터들(120)이 데이지 체인에 의해 서로 접속되고 복수의 주시점이 설정되는 경우에도, 데이지 체인에 의해 데이터를 송신하면서, 카메라들(112) 사이의 상관들에 따라서 화상 처리를 수행하여, 3D 모델 정보를 연속적으로 생성하게 된다. 그 결과, 고속 처리가 효율적으로 실현된다.
본 실시예에 따르면, 위에 설명한 처리들은 카메라 어댑터(120)에 구현된 FPGA 또는 ASIC와 같은 하드웨어에 의해 실행되지만, 처리들이, 예를 들어, CPU, GPU, 또는 DSP를 사용해서 소프트웨어 처리에 의해 실행될 수도 있다. 또한, 본 실시예에서는 카메라 어댑터(120)가 3D 모델 정보 생성을 실행하지만, 카메라들(112)로부터의 모든 전경 화상이 수집되는 화상 컴퓨팅 서버(200)가 3D 모델 정보의 생성할 수도 있다.
다음으로, 데이터베이스(250)에 저장된 데이터에 기초하여 라이브 화상 생성 및 재생 화상 생성을 수행하고 백-엔드 서버(270)에 의해 수행되는 생성된 화상을 엔드-유저 단말기(190)로 하여금 표시하게 하는 처리가 설명될 것이다. 본 실시예의 백-엔드 서버(270)는 라이브 화상 또는 재생 화상으로서 가상 시점 콘텐츠를 생성한다는 점에 유의한다. 본 실시예에서, 가상 시점 콘텐츠는 복수의 카메라(112)에 의한 촬영 화상들을 복수 시점 화상으로서 사용해서 생성된다. 구체적으로, 백-엔드 서버(270)는, 예를 들어, 유저 조작에 따라서 지정된 시점 정보에 기초하여, 가상 시점 콘텐츠를 생성한다. 본 실시예에서는 가상 시점 콘텐츠가 사운드 데이터(오디오 데이터)를 포함하는 경우가 예로서 설명되지만, 사운드 데이터가 포함되지 않을 수도 있다.
유저가 가상 카메라 조작 UI(330)를 조작해서 시점을 지정했을 경우에, 지정된 시점 위치(가상 카메라의 위치)에 대응하는 화상을 생성하기 위한 카메라(112)에 의한 촬영 화상이 존재하지 않을 수 있거나, 화상의 해상도가 충분하지 않을 수 있거나, 또는 화질이 낮을 수 있다. 이 경우에, 유저에 대한 화상 제공의 조건이 만족되지 않는다는 결정이 화상 생성 스테이지까지 실시되지 않을 수 있는 경우, 조작성이 저하될 가능성이 있을 수 있다. 이하에서는, 이러한 가능성을 저감하는 방법이 설명될 것이다.
도 36은, 오퍼레이터(유저)가 입력 디바이스에의 조작을 수행하고 나서 가상 시점 화상이 표시될 때까지의 시간 기간에 가상 카메라 조작 UI(330), 백-엔드 서버(270), 및 데이터베이스(250)가 수행한 처리 흐름도이다.
먼저, 오퍼레이터가 가상 카메라를 조작하기 위해서 입력 디바이스를 조작한다(S03300).
입력 디바이스의 예들은 조이스틱, 조그 다이얼, 터치 패널, 키보드 및 마우스를 포함한다.
가상 카메라 조작 UI(330)는, 가상 카메라의 입력 위치 및 입력 자세를 나타내는 가상 카메라 파라미터들을 획득한다(S03301).
가상 카메라 파라미터들은, 가상 카메라의 위치와 자세를 나타내는 외부 파라미터들 및 가상 카메라의 줌 배율을 나타내는 내부 파라미터들을 포함한다.
가상 카메라 조작 UI(330)는, 획득된 가상 카메라 파라미터들을 백-엔드 서버(270)에 송신한다.
백-엔드 서버(270)는, 가상 카메라 파라미터들을 수신하면, 데이터베이스(250)에 대하여 전경 3D 모델 그룹을 요구한다(S03303). 데이터베이스(250)는, 요구에 응답하여 전경 오브젝트의 위치 정보를 포함하는 전경 3D 모델 그룹을 백-엔드 서버(270)에 송신한다(S03304).
백-엔드 서버(270)는, 가상 카메라 파라미터들 및 전경 3D 모델에 포함되는 전경 오브젝트의 위치 정보에 기초하여 가상 카메라의 시야에 포함되는 전경 오브젝트 그룹을 기하학적으로 획득한다(S03305).
백-엔드 서버(270)는, 획득한 전경 오브젝트 그룹의 전경 화상, 전경 3D 모델, 배경 화상, 및 사운드 데이터 그룹을 송신하도록 데이터베이스(250)에 요구한다(S03306). 데이터베이스(250)는, 요구에 응답하여 데이터를 백-엔드 서버(270)에 송신한다(S03307).
백-엔드 서버(270)는, 수신한 전경 화상, 수신한 전경 3D 모델, 및 수신한 배경 화상으로부터 가상 시점에 전경 화상 및 배경 화상을 생성하고, 그 화상들을 조합함으로써 가상 시점에서의 풀-뷰 화상을 생성한다.
또한, 백-엔드 서버(270)는 사운드 데이터 그룹에 따라서 가상 카메라의 위치에 대응하는 사운드 데이터를 조합하여, 가상 시점에서의 풀-뷰 화상과 사운드 데이터를 통합해서 가상 시점에서의 화상 및 사운드를 생성한다(S03308).
백-엔드 서버(270)는, 가상 시점에 생성된 화상 및 사운드를 가상 카메라 조작 UI(330)에 송신한다(S03309). 가상 카메라 조작 UI(330)는 수신한 화상을 표시함으로써 가상 카메라에 의한 촬영 화상의 표시를 실현한다.
도 38a는 가상 카메라 조작 UI(330)가 라이브 화상을 생성할 때 수행되는 처리 절차의 흐름도이다.
단계 S08201에서, 가상 카메라 조작 UI(330)는 오퍼레이터가 가상 카메라(08001)를 조작하기 위해서 입력 디바이스에 입력한 조작에 대한 정보를 획득한다. 단계 S08202에서, 가상 카메라 조작 유닛(08101)은, 오퍼레이터의 조작이 가상 카메라(08001)의 이동에 대응하는지 아니면 회전에 대응하는지를 결정한다. 이동 또는 회전은 하나의 프레임에 대해 수행된다. 결정이 긍정인 경우에는, 처리가 단계 S08203로 진행한다. 그렇지 않으면, 처리는 단계 S08205로 진행한다. 여기서, 이동 조작, 회전 조작, 및 궤적 선택 조작을 위해 상이한 처리들이 수행된다. 그에 따라, 시간을 정지시켜서 시점 위치를 회전시키는 화상 표현과 연속적인 이동에 대한 화상 표현이 간편한 조작에 의해 서로 스위칭될 수 있다.
단계 S08203에서, 도 38b를 참조하여 설명될 하나의 프레임에 대한 처리가 수행된다. 단계 S08204에서, 가상 카메라 조작 UI(330)는 오퍼레이터가 종료 조작을 입력 했는지를 결정한다. 결정이 긍정인 경우에는, 처리가 종료되고, 그렇지 않으면, 처리는 단계 S08201에 복귀한다. 단계 S08205에서, 가상 카메라 조작 유닛(08101)은, 오퍼레이터가 궤적(가상 카메라 경로)의 선택 조작을 입력했는지를 결정한다. 예를 들어, 궤적은 복수 프레임에 대한 가상 카메라(08001)의 조작 정보의 라인으로 표현될 수 있다. 궤적의 선택 조작이 입력되었다고 결정된 경우에는, 처리가 단계 S08206로 진행한다. 그렇지 않으면, 처리는 단계 S08201에 복귀한다.
단계 S08206에서, 가상 카메라 조작 UI(330)는, 선택된 궤적에 따라서 다음 프레임의 조작을 획득한다. 단계 S08207에서, 도 38b를 참조하여 설명될 하나의 프레임에 대한 처리가 수행된다. 단계 S08208에서, 선택된 궤적의 모든 프레임에 대한 처리가 수행되었는지를 결정한다. 결정이 긍정인 경우에는, 처리가 단계 S08204로 진행하고, 그렇지 않으면, 처리는 단계 S08206에 복귀한다. 도 38b는 단계 S08203 및 단계 S08206에서 수행되는 하나의 프레임에 대한 처리의 흐름도이다.
단계 S08209에서, 가상 카메라 파라미터 획득 유닛(08102)이, 위치 및 자세가 변경된 후의, 가상 카메라 파라미터를 획득한다. 단계 S08210에서, 충돌 결정 유닛(08104)이, 충돌 결정을 수행한다. 충돌이 발생할 때, 즉, 가상 카메라 제한이 만족되지 않는 경우에는, 처리가 단계 S08214로 진행한다. 충돌이 발생하지 않을 때, 즉, 가상 카메라 제한이 만족되는 경우에는, 처리가 단계 S08211로 진행한다.
이러한 방식에서, 가상 카메라 조작 UI(330)가 충돌 결정을 수행한다. 그 다음에, 결정 결과에 따라서, 조작 유닛을 로크하는 처리, 또는 색이 상이한 메시지를 표시해서 경고를 생성하는 처리가 수행됨으로써, 오퍼레이터에 대한 즉각적인 피드백이 향상될 수 있다. 그 결과, 조작성이 향상된다.
단계 S08211에서, 가상 카메라 경로 관리 유닛(08106)이, 가상 카메라 파라미터를 백-엔드 서버(270)에 송신한다. 단계 S08212에서, 가상 카메라 화상/사운드 출력 유닛(08108)이, 백-엔드 서버(270)로부터 제공된 화상을 출력한다.
단계 S08214에서, 가상 카메라 제한을 충족하도록 가상 카메라(08001)의 위치 및 자세가 정정된다. 예를 들어, 유저에 의해 수행되는 최신의 조작 입력이 캔슬되어, 가상 카메라 파라미터가 선행 프레임의 상태로 되돌려진다. 이에 의해, 오퍼레이터는, 예를 들어, 궤적이 입력된 후에 충돌이 발생한 경우에, 처음부터 조작 입력을 수행하지 않고, 충돌이 발생한 부분으로부터 인터렉티브하게 조작 입력을 정정할 수 있고, 그에 따라 조작성이 향상된다.
단계 S08215에서, 피드백 출력 유닛(08105)은, 가상 카메라 제한이 충족되지 않는다는 것을 나타내는 정보를 오퍼레이터에 통지한다. 통지는 사운드, 메시지, 또는 가상 카메라 조작 UI(330)를 로크시키는 방법에 의해 수행된다. 그러나, 통지 방법은 이들로 한정되지 않는다.
도 39는, 가상 카메라 조작 UI(330)가 재생 화상을 생성할 때 수행되는 처리 절차의 흐름도이다.
단계 S08301에서, 가상 카메라 경로 관리 유닛(08106)은 라이브 화상의 가상 카메라 경로(08002)를 획득한다. 단계 S08302에서, 가상 카메라 경로 관리 유닛(08106)은, 라이브 화상의 가상 카메라 경로(08002)의 개시점과 종료점을 선택하기 위해 오퍼레이터에 의해 수행된 조작을 접수한다. 예를 들어, 골 씬(goal scene) 전후의 10초에 대한 가상 카메라 경로(08002)가 선택된다. 라이브 화상이 초 당 60 프레임을 갖는 경우에는, 10초에 대해 가상 카메라 경로(08002)에, 600개의 가상 카메라 파라미터가 포함된다. 이에 의해, 상이한 가상 카메라 파라미터 정보가 상이한 프레임들과 연관되어 관리된다.
단계 S08303에서, 10초에 대해 선택된 가상 카메라 경로(08002)는, 재생 화상에서 가상 카메라 경로(08002)의 초기값으로서 저장된다. 또한, 단계 S08307로부터 단계 S08309의 처리에서, 가상 카메라 경로(08002)가 편집되었을 경우에는, 편집한 결과가 갱신으로서 저장된다.
단계 S08304에서, 가상 카메라 조작 UI(330)는, 오퍼레이터에 의해 입력된 조작이 재생 조작인지를 결정한다. 결정이 긍정인 경우에는, 처리가 단계 S08305로 진행하고, 그렇지 않으면, 처리는 단계 S08307로 진행한다.
단계 S08305에서, 재생 범위의 선택과 연관된 오퍼레이터 입력이 접수된다. 단계 S08306에서, 오퍼레이터에 의해 선택된 범위의 화상 및 사운드가 재생된다. 구체적으로, 가상 카메라 경로 관리 유닛(08106)이, 선택된 범위의 가상 카메라 경로(08002)를 백-엔드 서버(270)에 송신한다. 즉, 가상 카메라 경로 관리 유닛(08106)은 가상 카메라 경로(08002)에 포함되는 가상 카메라 파라미터들을 연속적으로 송신한다. 가상 카메라 화상/사운드 출력 유닛(08108)이, 백-엔드 서버(270)로부터 제공된 가상 시점 화상 및 가상 시점 사운드를 출력한다. 단계 S08307에서, 가상 카메라 조작 UI(330)는, 오퍼레이터에 의해 입력된 조작이 편집 조작인지를 결정한다. 결정이 긍정인 경우에는, 처리가 단계 S08308로 진행하고, 그렇지 않으면, 처리는 단계 S08310로 진행한다.
단계 S08308에서, 가상 카메라 조작 UI(330)는, 편집 범위로서 오퍼레이터에 의해 선택된 범위를 지정한다. 단계 S08309에서, 단계 S08306에서 수행된 것과 동일한 처리에 의해, 선택된 편집 범위에서의 화상 및 사운드가 재생된다. 그러나, 가상 카메라 조작 유닛(08101)을 사용해서 가상 카메라(08001)가 조작된 경우, 조작 결과가 반영된다. 구체적으로, 라이브 화상과는 상이한 시점에서의 화상이 되도록, 리플레이 화상이 편집될 수 있다. 또한, 슬로우 재생이 수행되고 재생이 정지되도록 리플레이 화상이 편집될 수 있다. 예를 들어, 시간이 정지되고, 시점이 이동되도록 편집이 수행될 수도 있다.
단계 S08310에서, 가상 카메라 조작 UI(330)는, 오퍼레이터에 의해 입력된 조작이 종료 조작인지를 결정한다. 결정이 긍정인 경우에는, 처리가 단계 S08311로 진행하고, 그렇지 않으면, 처리는 단계 S08304로 진행한다.
단계 S08311에서, 편집이 끝난 가상 카메라 경로(08002)가 백-엔드 서버(270)에 송신된다.
도 40은, 가상 카메라 조작 UI(330)에 의해 생성된 복수의 가상 카메라 화상 중에서 원하는 가상 카메라 화상을 유저가 선택해서 선택된 가상 카메라 화상을 감상하는 처리 절차의 흐름도이다. 예를 들어, 유저는 엔드-유저 단말기(190)를 사용하여, 가상 카메라 화상을 감상한다. 가상 카메라 경로(08002)는 화상 컴퓨팅 서버(200), 또는 화상 컴퓨팅 서버(200)와는 상이한 웹 서버(도시하지 않음)에 저장될 수 있다는 점에 유의한다.
단계 S08401에서, 엔드-유저 단말기(190)는, 가상 카메라 경로들(08002)의 리스트를 획득한다. 가상 카메라 경로(08002)에는, 섬네일, 유저의 평가 등이 추가될 수도 있다. 단계 S08401에서, 엔드-유저 단말기(190)에는, 가상 카메라 경로들(08002)의 리스트가 표시된다.
단계 S08402에서, 엔드-유저 단말기(190)는, 유저에 의해 리스트 그 중에서 선택된 가상 카메라 경로(08002)와 연관된 지정 정보를 획득한다.
단계 S08403에서, 엔드-유저 단말기(190)는, 유저에 의해 선택된 가상 카메라 경로(08002)를 백-엔드 서버(270)에 송신한다. 백-엔드 서버(270)는 수신한 가상 카메라 경로(08002)로부터 가상 시점 화상 및 가상 시점 사운드를 생성하고, 엔드-유저 단말기(190)에 송신한다.
단계 S08404에서, 엔드-유저 단말기(190)는, 백-엔드 서버(270)로부터 제공된 가상 시점 화상 및 가상 시점 사운드를 출력한다.
이렇게 하여, 가상 카메라 경로들(08002)의 리스트가 저장되고, 그 후에 가상 카메라 경로(08002)를 사용해서 화상이 재생될 수 있기 때문에, 가상 시점 화상들을 계속해서 저장할 필요가 없고, 그에 따라, 저장 디바이스 비용을 삭감할 수 있다. 또한, 우선도가 높은 가상 카메라 경로(08002)에 대응하는 화상 생성이 요구되는 경우에, 우선도가 낮은 가상 카메라 경로(08002)의 화상 생성은 나중에 수행될 수 있다. 또한, 가상 카메라 경로(08002)를 웹 서버에서 공개하는 경우에는, 웹에 접속되는 엔드 유저들에 대하여 가상 시점 화상을 제공하거나 공유할 수 있고, 그에 따라, 유저들에 대한 서비스성을 향상시킬 수 있다.
엔드-유저 단말기(190)에 표시되는 화면이 설명될 것이다. 도 41(일러스트의 저작자: Vector Open Stock, 이용 허락: http://creativecommons.org/licenses/by/2.1/jp/legalcode)은 엔드-유저 단말기(190)가 표시하는 표시 화면(41001)을 예시하는 도면이다.
엔드-유저 단말기(190)가, 화상이 표시되는 영역(41002)에, 백-엔드 서버(270)로부터 제공된 화상들을 연속적으로 표시함으로써, 시청자(유저)는 축구 게임과 같은 가상 시점 화상을 시청할 수 있다. 시청자는, 이 표시 화상에 따라서 유저 입력 디바이스를 조작함으로써, 화상의 시점을 변경한다. 예를 들어, 유저가 마우스를 왼쪽으로 이동시키면, 표시되는 화상에서의 왼쪽으로 시점이 향한 화상이 표시된다. 유저가 마우스를 위쪽으로 이동시킨다면, 표시되는 화상에서의 위쪽 방향이 보여지는 화상이 표시된다.
화상 표시 영역(41002)과는 상이한 영역에는, 수동 조작과 자동 조작이 서로 스위칭될 수 있는 GUI(Graphic User Interface) 버튼들(41003 및 41004)이 배치된다. 버튼(41003) 또는 버튼(41004)이 조작되는 경우에, 시청자는 시점을 변경해서 시청할 것인지 아니면 미리 설정된 시점에서 시청을 수행할지를 결정할 수 있다.
예를 들어, 엔드-유저 단말기(190)는 유저에 의해 수동으로 조종된 시점의 스위칭 결과를 나타내는 시점 조작 정보를 화상 컴퓨팅 서버(200) 또는 웹 서버(도시하지 않음)에 연속적으로 업로드한다. 그 후에, 또 다른 엔드-유저 단말기(190)를 조작하는 유저가 그 시점 조작 정보를 획득할 수 있고, 시점 조작 정보에 대응하는 가상 시점 화상을 시청할 수 있다. 또한, 업로드되는 시점 조작 정보를 레이팅함으로써, 유저는, 예를 들어, 인기 있는 시점 조작 정보에 대응하는 선택된 화상을 시청할 수 있고, 조작에 익숙하지 않은 유저도 본 서비스를 쉽게 사용할 수 있다.
다음으로, 시청자가 수동 조작을 선택한 이후, 수동으로 조작되는, 애플리케이션 관리 유닛(10001)의 동작이 설명될 것이다. 도 42는, 애플리케이션 관리 유닛(10001)에 의해 수행되는 수동 조작 처리의 흐름도이다.
애플리케이션 관리 유닛(10001)은, 유저가 입력을 수행했는지를 결정한다(S10010).
결정이 긍정인 경우에(단계 S10010에서 예), 애플리케이션 관리 유닛(10001)은, 유저 입력 정보를 백-엔드 서버(270)가 인식할 수 있도록, 사용자 입력 정보를 백엔드 서버 커맨드로 변환한다(S10011).
한편, 결정이 부정인 경우에(단계 S10010에서 아니오(No)), 처리는 단계 S10013으로 진행한다.
후속해서, 애플리케이션 관리 유닛(10001)은, 백-엔드 서버 커맨드를, 시스템 오퍼레이팅 유닛(10002) 및 네트워크 통신 유닛(10003)을 통해 송신한다(S10012). 백-엔드 서버(270)가 유저 입력 정보에 기초하여 시점이 변경된 화상을 생성한 후에, 애플리케이션 관리 유닛(10001)은, 네트워크 통신 유닛(10003) 및 시스템 오퍼레이팅 유닛(10002)을 통해 백-엔드 서버(270)로부터 화상을 수신한다(S10013). 그 다음에, 애플리케이션 관리 유닛(10001)은, 수신한 화상을 미리 결정된 화상 표시 영역(41002)에 표시한다(S10014). 위에 설명한 처리를 수행함으로써, 수동 조작에 의해, 화상의 시점이 변경된다.
다음으로, 시청자(유저)가 자동 조작을 선택했을 때의, 애플리케이션 관리 유닛(10001)의 동작이 설명될 것이다. 도 43은, 애플리케이션 관리 유닛(10001)에 의해 수행된 자동 조작 처리의 흐름도이다.
애플리케이션 관리 유닛(10001)은, 자동 조작용 입력 정보가 검출된 경우(S10020), 자동 조작용 입력 정보를 판독한다(S10021).
애플리케이션 관리 유닛(10001)은, 판독한 자동 조작용 입력 정보를, 백-엔드 서버(270)가 인식가능한 백엔드 서버 커맨드로 변환한다(S10022).
후속해서, 애플리케이션 관리 유닛(10001)은 백-엔드 서버 커맨드를, 시스템 오퍼레이팅 유닛(10002) 및 네트워크 통신 유닛(10003)을 통해 송신한다(S10023).
백-엔드 서버(270)가 유저 입력 정보에 기초하여 시점이 변경된 화상을 생성한 후에, 애플리케이션 관리 유닛(10001)은, 네트워크 통신 유닛(10003) 및 시스템 오퍼레이팅 유닛(10002)을 통해 백-엔드 서버(270)로부터 화상을 수신한다(S10024). 마지막으로, 애플리케이션 관리 유닛(10001)은, 수신한 화상을 미리 결정된 화상 표시 영역에 표시한다(S10025). 위에서 설명된 처리는 자동 조작용 입력 정보가 존재하기만 하면 반복적으로 수행될 수 있어, 자동 조작으로 인해, 화상의 시점이 변경되게 된다.
도 44는, 백-엔드 서버(270)에 의해 수행된 하나의 프레임에 대한 가상 시점 화상을 생성하는 처리 흐름도이다.
데이터 수신 유닛(03001)은, 컨트롤러(300)로부터 가상 카메라 파라미터들을 수신한다(S03100). 위에 설명한 바와 같이, 가상 카메라 파라미터들은, 가상 시점의 위치 및 자세 등을 나타낸다.
전경 오브젝트 결정 유닛(03010)은, 수신한 가상 카메라 파라미터들 및 전경 오브젝트의 위치에 기초하여 가상 시점 화상의 생성에서 요구되는 전경 오브젝트를 결정한다(S03101). 가상 시점에서 볼 때 시야에 포함되는 전경 오브젝트가 3D-기하학적으로 획득된다. 요구 리스트 생성 유닛(03011)은, 결정한 전경 오브젝트의 전경 화상, 전경 3D 모델 그룹, 배경 화상 및 사운드 데이터 그룹의 요구 리스트를 생성하고, 요구 데이터 출력 유닛(03012)이 데이터베이스(250)에 요구를 송신한다(S03102). 요구 리스트는 데이터베이스(250)에 대하여 요구될 데이터의 내용을 포함한다.
데이터 수신 유닛(03001)은, 요구된 정보를 데이터베이스(250)로부터 수신한다(S03103). 데이터 수신 유닛(03001)은, 데이터베이스(250)로부터 제공된 정보가 에러를 나타내는 정보를 포함하는지를 결정한다(S03104).
여기서, 에러를 나타내는 정보의 예들은 화상 이송량 오버플로우, 화상 촬영 실패, 및 화상의 데이터베이스(250)에서의 저장 실패를 포함한다. 에러 정보는 데이터베이스(250)에 저장된다.
단계 S03104에서 에러를 나타내는 정보가 포함되는 경우, 데이터 수신 유닛(03001)은, 가상 시점 화상의 생성은 불가능하다고 결정하고, 데이터를 출력하지 않고 처리를 종료한다. 단계 S03104에서 에러를 나타내는 정보가 포함되지 않은 것으로 결정된 경우, 백-엔드 서버(270)는 가상 시점에서의 배경 화상의 생성, 전경 화상의 생성, 및 시점에 대응하는 사운드의 생성을 수행한다. 배경 텍스처 추가 유닛(03002)은, 시스템의 기동 후에 획득되어 배경 메시 모델 관리 유닛(03013)에 저장되는 배경 메시 모델과 데이터베이스(250)에 의해 획득된 배경 화상으로부터, 텍스처를 갖는 배경 메시 모델을 생성한다(S03105).
또한, 백-엔드 서버(270)는, 렌더링 모드에 따라서 전경 화상을 생성한다(S03106). 또한, 백-엔드 서버(270)는, 가상 시점에서의 사운드가 복사되는 것처럼 사운드 데이터 그룹을 합성해서 사운드를 생성한다(S03107). 사운드 데이터 그룹의 합성에서는, 가상 시점과 오디오 데이터의 획득 위치들에 기초하여 개개의 사운드 데이터의 사이즈들이 제어된다.
렌더링 유닛(03006)은, 단계 S3105에서 생성된 텍스처를 갖는 배경 메시 모델을 가상 시점으로부터 본 시야 내에 트리밍함으로써 가상 시점 내에 풀-뷰 화상을 생성하고, 전경 화상들을 조합함으로써 가상 시점의 풀-뷰 화상을 생성한다(S03108).
합성 유닛(03008)은, 가상 시점 사운드 생성(S03107)에서 생성된 가상 사운드 및 가상 시점에서 렌더링된 풀-뷰 화상을 통합해서(S03109), 하나의 프레임에 대한 가상 시점 콘텐츠를 생성한다.
화상 출력 유닛(03009)은, 하나의 프레임에 대해 생성된 가상 시점 콘텐츠를 외부의 컨트롤러(300) 및 외부 엔드-유저 단말기(190)에 출력한다(S03110).
다음으로, 본 시스템을 적용가능한 유스 케이스들(use cases)을 증대하기 위해서, 다양한 가상 시점 화상 생성의 요구에 대처할 수 있는 유연한 제어 결정을 수행하는 것에 대해서 설명될 것이다.
도 45는 전경 화상 생성의 흐름도이다. 여기서, 가상 시점 화상 생성에서, 화상의 출력처에 대응하는 요구에 대처하기 위해서, 복수의 렌더링 알고리즘 중 하나를 선택하는 정책의 일례가 설명될 것이다.
먼저, 백-엔드 서버(270)의 렌더링 모드 관리 유닛(03014)은, 렌더링 방법을 결정한다. 렌더링 방법을 결정하기 위한 요구사항들은, 제어 스테이션(310)에 의해 백-엔드 서버(270)에 대하여 설정된다. 렌더링 모드 관리 유닛(03014)은, 요구사항들에 따라서 렌더링 방법을 결정한다. 렌더링 모드 관리 유닛(03014)은, 카메라 플랫폼(113)에 의한 촬영에 기초하는 백-엔드 서버(270)에 의해 수행되는 가상 시점 화상 생성에서 고속 동작에 우선권을 주는 요구가 수행되는지를 확인한다(S03200). 고속 동작에 우선권을 주는 요구는 저지연의 화상 생성의 요구와 등가이다. 단계 S03200에서 결정이 긍정인 경우에는, 렌더링으로서 IBR을 유효로 한다(S03201). 후속해서, 가상 시점 화상 생성과 연관된 시점의 지정 자유도에 우선권을 주는 요구가 수행되는지에 관한 결정이 실시되었다(S03202). 단계 S03202에서 결정이 긍정인 경우에는, 렌더링으로서 MBR을 유효로 한다(S03203). 후속해서, 가상 시점 화상 생성에서 계산 처리 경량화에 우선권을 주는 요구가 수행되는지에 관한 결정이 실시된다(S03204). 계산 처리 경량화에 우선권을 주는 요구는, 예를 들어, 작은 양의 컴퓨터 자원이 사용되면서 저비용인 시스템을 구성하는 경우에 수행된다. 단계 S03204에서 결정이 긍정인 경우에는, 렌더링으로서 IBR을 유효로 한다(S03205). 그 후에, 렌더링 모드 관리 유닛(03014)은, 가상 시점 화상 생성을 위해서 사용되는 카메라들(112)의 수가 임계값 이상인지를 결정한다(S03206). 단계 S03206에서 결정이 긍정인 경우에는, 렌더링으로서 MBR을 유효로 한다(S03207).
백-엔드 서버(270)는, 렌더링 모드 관리 유닛(03014)에 의해 관리되는 모드 정보에 따라서, 렌더링 방법이 MBR인지 또는 IBR인지를 결정한다(S03208). 단계 S03201, 단계 S03203, 단계 S03205, 및 단계 S03207에서의 처리들 중 임의의 것이 수행되지 않은 경우에는, 시스템이 가동될 때 미리 결정된 디폴트 렌더링 방법이 사용된다는 점에 유의한다.
단계 S03208에서, 렌더링 방법이 모델 베이스(MBR)인 것으로 결정된 경우, 전경 텍스처 결정 유닛(03003)은, 전경 3D 모델 및 전경 화상 그룹에 기초하여 전경의 텍스처를 결정한다(S03209). 그 후에, 전경 텍스처 경계 색 조정 유닛(03004)은, 결정한 전경 텍스처의 경계에서 색 매칭을 수행한다(S03210). 전경 3D 모델의 텍스처는 복수의 전경 화상 그룹에서 추출되기 때문에, 전경 화상들의 촬영 상태들의 차이들에 의해 야기된 텍스처에 있어서의 색 차이들을 해결하기 위해 색 매칭이 수행된다.
단계 S03208에서, 렌더링 방법이 IBR인 것으로 결정된 경우, 가상 시점 전경 화상 생성 유닛(03005)은, 가상 카메라 파라미터들 및 전경 화상 그룹들에 기초하여 투시 변환(perspective transformation)과 같은 기하학적 변환(geometric conversion)을 전경 화상들에 대해 수행하여, 가상 시점에서의 전경 화상들이 생성된다(S03211).
시스템 동작 중에 유저가 임의로 렌더링 방법을 변경할 수 있고, 또는 가상 시점의 상태에 따라서 시스템이 렌더링 방법을 변경할 수 있다는 점에 유의한다. 또한, 후보 렌더링 방법들이 시스템 동작 중에 변경될 수 있다.
그에 따라, 가상 시점의 생성과 연관된 렌더링 알고리즘은, 기동시에 설정될 뿐만 아니라, 상황에 따라서 변경될 수 있으므로, 다양한 요구가 처리될 수 있다. 구체적으로, 상이한 화상 출력처들에 대응하는 요소들(예를 들어, 파라미터들의 우선도들)이 요구되는 경우에도, 요구는 유연하게 대처된다. 본 실시예에서 렌더링 방법으로서 IBR 및 MBR 중 하나가 사용되지만, 본 발명은 이에 한정되지 않고 양쪽 방법을 사용하는 하이브리드 방법이 이용될 수 있다는 점에 유의한다. 하이브리드 방법을 이용하는 경우, 렌더링 모드 관리 유닛(03014)은, 데이터 수신 유닛(03001)이 획득한 정보에 따라서, 가상 시점 화상을 분할하여 획득한 분할 영역들의 생성에 사용되는 복수의 방법을 결정한다. 구체적으로, 하나의 프레임에 대한 가상 시점 화상의 일부는 MBR에 기초하여 생성될 수 있고, 다른 부분들은 IBR에 기초하여 생성될 수 있다. 예를 들어, 광택이 있는, 텍스처가 없는, 그리고 비볼록면을 갖는 오브젝트는 IBR을 사용함으로써 3D 모델의 정밀도 저하를 회피할 수 있고, 가상 시점에 가까운 오브젝트는 MBR을 사용함으로써 화상의 편평성을 회피할 수 있다. 또한, 화면의 중심 부근의 오브젝트는 선명하게 표시될 것이고, 그러므로, MBR에 의해 화상이 생성되고, 단부에 위치된 오브젝트의 처리 부하는 IBR에 의해 화상을 생성함으로써 삭감될 수 있다. 이렇게 하여, 가상 시점 화상의 생성과 연관된 처리 부하와 가상 시점 화상의 화질이 상세하게 제어될 수 있다.
또한, 상이한 게임들에 대해, 주시점, 카메라 워크, 및 송신 제어의 설정들을 포함하는 시스템에 적절한 상이한 설정들이 설정될 수 있지만, 게임이 개최될 때마다 시스템의 설정들을 오퍼레이터가 수동으로 수행하면 오퍼레이터의 부담이 증가될 수 있고, 그에 따라, 설정의 간단화가 요구된다. 그에 따라, 화상 처리 시스템(100)은, 설정 변경이 실시되는 디바이스의 설정들을 자동으로 갱신하여, 가상 시점 화상을 생성하기 위한 시스템의 설정들을 수행하는 조작자의 부담을 저감하는 메커니즘이 제공된다. 이 메커니즘에 대해서, 이하에서 설명될 것이다.
도 46은 위에 설명한 설치-후 워크플로우에서 생성되고, 촬영-전 워크플로우에서 시스템에 포함되는 디바이스들에 설정되는 동작들과 연관되는 정보 리스트의 표이다. 제어 스테이션(310)은, 복수의 카메라(112)에 의해 촬영될 게임에 관한 정보를 유저에 의해 수행된 입력 조작에 따라서 획득한다. 게임 정보를 획득하기 위한 방법은 이에 한정되지 않고, 예를 들어, 제어 스테이션(310)은 게임 정보를 다른 디바이스들로부터 획득할 수 있다는 점에 유의한다. 그 다음에, 제어 스테이션(310)은, 획득한 게임 정보 및 화상 처리 시스템(100)의 설정 정보를 서로 연관시켜서 정보 리스트로서 저장한다. 이하에서는, 동작과 연관된 정보 리스트가 "설정 리스트"로서 지칭된다. 제어 스테이션(310)이, 저장된 설정 리스트에 따라서 시스템의 설정 처리를 수행하는 제어 디바이스로서 동작하는 경우에, 시스템 설정을 수행하는 조작자의 부담이 저감된다.
제어 스테이션(310)이 획득하는 게임 정보는, 예를 들어, 촬영 대상인 게임의 타입 및 개시 시각 중 적어도 하나를 포함한다. 그러나, 게임 정보는 이에 한정되지 않고, 게임과 연관된 다른 정보가 게임 정보일 수 있다.
촬영 번호(46101)는 촬영될 각각의 게임에 대응하는 씬을 나타내고, 예정 시간(46103)은 각각의 게임의 개시 예정 시각 및 종료 예정 시각을 나타낸다. 각각의 씬의 개시 시각 전에는, 제어 스테이션(310)이 디바이스들에 대하여 설정 리스트에 따른 변경 요구를 송신한다.
게임의 명칭(46102)은 게임 타입의 명칭을 나타낸다. 주시점(좌표 지정)(46104)은, 카메라들(112a-112z)의 주시점들의 수, 주시점들의 좌표 위치들 및 주시점들에 대응하는 카메라 번호들을 포함한다. 주시점들의 위치들에 따라서, 개개의 카메라(112)의 촬영 방향들이 결정된다. 예를 들어, 게임의 타입이 축구일 경우에는, 필드의 중앙, 골 앞의 에어리어 등이 주시점들로서 설정된다. 카메라 워크(46105)는, 가상 카메라 조작 UI(330) 및 백-엔드 서버(270)가 가상 시점을 조작하고 화상이 생성될 때의 카메라 경로의 범위를 나타낸다. 카메라 워크(46105)에 기초하여, 가상 시점 화상의 생성과 연관된 시점의 지정 가능 범위가 결정된다.
캘리브레이션 파일(46106)은, 도 17을 참조하여 설명한 설치-시 캘리브레이션에서 획득되고, 가상 시점 화상의 생성과 연관된 복수의 카메라(112)의 위치지정과 연관되는 카메라 파라미터들의 값들을 저장하고, 각각의 주시점에 대해 생성된다.
화상 생성 알고리즘(46107)은, 촬영 화상에 기초하는 가상 시점 화상의 생성과 연관된 렌더링 방법으로서 IBR이 사용될지, MBR이 사용될지, 또는 IBR과 MBR의 하이브리드 방법이 사용될지에 관한 결정 결과의 설정을 나타낸다. 렌더링 방법은 제어 스테이션(310)에 의해 백-엔드 서버(270)에 대하여 설정된다. 예를 들어, 촬영 번호 3에 대응하는 투포환이나 높이-뛰기와 같이 임계값 이하의 선수들의 수에 대응하는 게임의 타입을 나타내는 게임 정보, 및 복수의 촬영 화상에 기초하여 생성되는 3D 모델을 사용해서 가상 시점 화상을 생성하는 MBR 방법을 나타내는 설정 정보가 서로 연관된다. 그에 따라, 적은 선수들의 수에 대응하는 게임의 가상 시점 화상에서의 시점의 지정 자유도가 높아진다. 한편, 촬영 번호 1에 대응하는, 개회식과 같은, 임계값보다 많은 선수들의 수에 대응하는 게임에서는, MBR 방법에 의해 가상 시점 화상이 생성되는 경우 처리 부하가 커지므로, MBR 방법을 이용하는 3D 모델의 생성에 사용되는 촬영 화상들의 수보다 적은 촬영 화상들의 수를 사용하여, 보다 작은 처리 부하에서 가상 시점 화상을 생성하기 위한 IBR 방법이 연관된다.
전경/배경 송신(46108)은, 촬영 화상으로부터 분리되는 전경 화상(FG) 및 배경 화상(BG)의 압축 비율들 및 프레임 레이트들(단위는 fps)의 설정들을 나타낸다. 전경 화상은 가상 시점 화상의 생성을 위해 촬영 화상으로부터 추출되는 전경 영역에 기초하여 생성되고 화상 처리 시스템(100) 내로 송신된다는 점에 유의한다. 마찬가지로, 배경 화상은 촬영 화상으로부터 추출되는 배경 영역에 기초하여 생성 및 송신된다. 도 47은 제어 스테이션(310)에 의해 수행된 촬영-전 워크플로우에서 시스템에 포함되는 디바이스들에 설정 리스트에서 촬영 번호 2에 대응하는 정보가 설정되는 경우의 동작 시퀀스이다.
제어 스테이션(310)은, 시스템 동작이 개시된 후에, 저장된 설정 리스트를 사용하여 지정된 촬영의 대상의 역할을 하는 게임의 개시 예정 시각을 확인한다(F47101). 그 후에, 제어 스테이션(310)은, 개시 예정 시각보다 미리 결정된 시간 기간만큼 전인 시각에 도달하는 경우에, 촬영 번호 2에 대응하는 설정 처리를 개시한다(F47102). 위에서 설명된 미리 결정된 시간 기간은 제어 스테이션(310)에 의해 획득된 게임 정보에 기초해서 수행되는 설정 처리에 요구되는 기간보다 길고, 촬영 대상의 역할을 하는 게임의 타입에 따라 달라진다. 이렇게 하여, 게임 개시보다 미리 결정된 시간 기간만큼 전인 시각에 자동으로 설정 처리가 개시되는 경우에, 오퍼레이터의 설정 개시 지시 없이 게임이 개시될 때 설정을 완료할 수 있다. 유저에 의해 설정 개시의 지시가 발행된 경우에, 제어 스테이션(310)은 게임의 개시 시간에 관계 없이 설정 처리를 개시할 수 있다는 점에 유의한다.
제어 스테이션(310)에 의해 수행된 설정 처리는, 예를 들어, 가상 시점 화상을 생성하는 디바이스에 의해 수행된 화상 처리와 연관된 파라미터들을 설정하는 처리, 및 카메라들(112)에 의해 수행된 촬영과 연관된 파라미터들을 설정하는 처리를 포함한다. 화상 처리와 연관된 파라미터들은, 예를 들어, 촬영에 기초하는 화상 데이터로부터 가상 시점 화상을 생성하기 위해서 사용하는 생성 방법을 지정한다. 또한, 촬영과 연관된 파라미터들의 예들은 카메라의 촬영 방향 및 줌 배율을 포함한다. 설정 처리의 내용은 이에 한정되지 않고, 화상 처리 시스템(100)에 포함되는 디바이스들을 기동시키는 처리일 수 있다는 점에 유의한다.
먼저, 제어 스테이션(310)은, 주시점 설정을 수행한다(F47103). 그 후에, 카메라 어댑터(120)에 대하여 각각의 카메라마다의 주시점 좌표 설정에 대한 요구가 송신된다(F47104). 여기서, 카메라들(112)은 주시점에 따라서 그룹화되고, 주시점 그룹들 내에 포함된 카메라들(112)에는 동일 좌표의 주시점이 설정된다. 각각의 카메라마다 가상 시점 좌표 설정에 대한 요구를 수신한 카메라 어댑터(120)는, 팬(panning)/틸트(tilting)(PT)의 설정 지시와, 카메라(112) 및 렌즈에 대한, 렌즈 저 각도(lens low angle)와 같은 설정 지시를 포함하는 카메라-플랫폼 PT 지시 요구를 송신한다(F47105). F47104 및 F47105에서의 처리는 센서 시스템들(110)의 수에 대해 반복적으로 수행된다. 또한, 제어 스테이션(310)은, 프론트-엔드 서버(230) 및 데이터베이스(250)에 대하여 각각의 카메라마다 주시점 그룹에 대한 정보를 설정한다(F47106).
다음으로, 제어 스테이션(310)은, 캘리브레이션에 의해 획득한 값을 설정한다(F47107). 구체적으로, 캘리브레이션 파일의 정보를 센서 시스템들(110) 모두에 설정한다. 제어 스테이션(310)은, 카메라 어댑터들(120)에 대하여 캘리브레이션 설정 요구를 송신한다(F47108). 요구를 수신한 카메라 어댑터들(120)은, 카메라(112), 렌즈, 및 카메라 플랫폼(113)에 대하여 촬영 파라미터들, 포커스, 및 줌의 설정을 수행한다(F47109). 또한, 제어 스테이션(310)은, 캘리브레이션 설정 요구를 프론트-엔드 서버(230)에도 송신한다(F47110).
후속해서, 제어 스테이션(310)은, 카메라 워크의 설정을 수행한다(F47111). 그 다음에, 제어 스테이션(310)은, 주시점에 기초한 카메라 그룹들, 카메라들(112)의 촬영 범위들, 및 가상 카메라 경로의 범위의 설정 요구를 백-엔드 서버(270)에 송신한다(F47112). 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)로부터의 가상 카메라(08001)의 시점 경로를 물리적인 카메라들(112)에 매핑하여 화상을 렌더링하기 위해 카메라 워크에 대한 정보를 요구한다. 백-엔드 서버(270)는, 가상 카메라의 이동가능 범위를 확인하기 위해서, 가상 카메라 조작 UI(330)에 대하여 가상 카메라 시행 요구를 송신한다(F47113). 그 후에, 백-엔드 서버(270)는, 가상 카메라 조작 UI(330)로부터 가상 카메라 조작 통지를 수신한다(F47114). 여기서, 백-엔드 서버(270)는, 수신한 가상 카메라 조작 통지에 따라서 시점 위치에 대응하는 유효한 화상이 존재하지 않는 것으로 결정한다(F47115). 그 다음에, 백-엔드 서버(270)는 가상 카메라 조작 UI(330)에 대하여 에러 통지를 송신한다(F47116). 가상 카메라 조작 UI(330)는 에러 통지에 따라서 더 이상의 시점 이동을 할 수 없는 것으로 결정하고, 또 다른 시점으로 가상 카메라를 조작하고, 백-엔드 서버(270)에 통지를 송신한다(F47117). 백-엔드 서버(270)는, 통지에 대응하는 시점에 대응하는 유효한 화상이 존재하는 것으로 결정하고(F47118), 대응하는 화상 응답을 가상 카메라 조작 UI(330)에 대하여 송신한다(F47119).
다음으로, 제어 스테이션(310)은, 화상 생성 알고리즘의 설정을 수행한다(F47120). 그 다음에, 제어 스테이션(310)은 알고리즘 방법들, 즉, IBR, MBR 및 하이브리드 중 하나를 결정하고, 결정된 알고리즘 방법을 백-엔드 서버(270)에 통지한다(F47121).
그 후에, 제어 스테이션(310)은, 전경 화상 및 배경 화상의 송신 방법과 연관된 설정들을 수행한다(F47112). 제어 스테이션(310)은, 설정 리스트에 따라서, 전경 화상(FG) 및 배경 화상(BG)의 압축 비율들, 및 프레임 레이트(1초당 프레임 수: fps)의 설정들을 카메라 어댑터들(120)에 대하여 수행한다. 도 47에서는, FG의 압축 비율을 1/3 압축으로 설정하고 FG의 프레임 레이트를 60 fps로 설정하라는 지시 및 BG를 송신하지 않는다는 것을 나타내는 정보가 카메라 어댑터들(120)에 제공된다(F47123). 이 경우, 카메라 어댑터(120)로부터 배경 화상이 송신되지 않기 때문에, 백-엔드 서버(270)는 렌더링시에 배경의 텍스처를 획득하지 않을 수 있다. 그러므로, 제어 스테이션(310)은, 백-엔드 서버(270)에 대하여 배경 3D 모델의 사용 지시, 즉, 스타디움 형상의 와이어 프레임에 기초한 배경 화상 생성의 지시를 송신한다(F47124).
위에 설명한 처리들이 수행되는 동안 게임의 종료 시간까지 촬영이 계속해서 수행된다. 게임 시간이 연장될 수 있으므로, 오퍼레이터는 촬영의 정지를 최종적으로 결정할 수 있다는 점에 유의한다.
촬영이 종료된 후에, 제어 스테이션(310)은 다음 씬의 개시 예정 시간 전에 시스템 개시 처리를 새롭게 수행한다. 구체적으로, 제어 스테이션(310)은, 촬영 번호 3의 씬 개시 예정 시각을 확인하고(F47125), 촬영 번호 3에 대응하는 설정을, 시스템에 포함되는 디바이스들에 대하여 수행한다(F47126). 그 후에, 설정 리스트에 따라서 위에 설명한 처리가 반복적으로 수행된다.
이렇게 하여, 제어 스테이션(310)이 자동으로 디바이스들의 설정을 수행하기 때문에, 오퍼레이터는 시스템 개시 조작 및 시스템 확인 조작만을 수행하고, 그에 따라, 복잡한 촬영 제어와 연관된 오퍼레이터의 조작을 간단화할 수 있다.
도 48은, 프론트-엔드 서버(230)에 의해 수행되는, 데이지 체인의 레인을 통해 카메라 어댑터(120)로부터 제공되는 카메라 동기 화상 프레임 m의 수신 제어의 흐름도이다. 데이지 체인이 각각의 반 원주(half circumference)마다 다르게 구성되는 경우 또는 데이지 체인이 복수의 플로어에 걸쳐 제공되는 경우에는, 프론트-엔드 서버(230)가 모든 카메라(112)의 화상 데이터의 수신을 대기할 때, 저지연의 가상 시점 화상 생성의 생성 실현이 어려워질 수 있는 가능성이 있다. 이하에서는, 이러한 가능성을 저감하는 방법이 설명될 것이다.
먼저, 프론트-엔드 서버(230)는, 데이지 체인의 각각의 카메라 레인마다 화상 데이터 패킷을 수신한다(S48100). 그 다음에, 카메라 동기 화상 프레임들 m은 연속적으로 저장된다(S48101). 다음으로, 주시점 그룹의 수가 1인지가 결정된다(S48102). 단계 S48102에서 결정이 부정인 경우, 즉, 복수의 주시점 그룹의 경우, 복수의 주시점 그룹에 카메라 화상 프레임들을 분류한다(S48103). 그 후에, 프론트-엔드 서버(230)는, 주시점 그룹들 중 적어도 하나가 카메라들(112)에서 화상 프레임 m의 수신을 완료했는지를 결정한다(S48104). 결정이 긍정인 경우에는, 각각의 주시점 그룹마다 화상 프로세서(02150), 3D 모델 결합 유닛(02160), 화상 결합 유닛(02170) 및 촬영 데이터 파일 생성 유닛(02180)에 의해 화상 처리가 수행된다(S48105). 후속해서, 프론트-엔드 서버(230)는, 모든 주시점 그룹에 대해서 화상 처리가 수행되었는지를 결정한다. 결정이 부정인 경우에는(단계 S48106에서 아니오), 프론트-엔드 서버(230)가 화상 프레임 대기의 타임아웃이 발생했는지를 결정한다(S48107). 임계값은 하나의 프레임에 대한 단위 시간에 따라서 고정될 수 있다. 단계 S48107에서 결정이 긍정인 경우에, 프론트-엔드 서버(230)는, 손실된 화상 프레임을 검출하고, 손실이 발생한 카메라(112)의 대상 프레임에 손실을 나타내는 정보를 마킹하고(S48108) 그 화상 데이터를 데이터베이스(250)에 기입한다. 이에 의해, 백-엔드 서버(270)는 화상 프레임의 손실을 인식하는데, 이는 렌더링 처리에 효과적이다. 구체적으로, 가상 카메라 조작 UI(330)에 의해 지정된 가상 카메라와 실제 카메라(112)의 매핑이 백-엔드 서버(270)에 의해 수행되는 경우에, 백-엔드 서버(270)는 손실이 발생한 카메라(112)의 화상을 즉시 결정할 수 있다. 그러므로, 생성되는 가상 시점 화상이 고장날 가능성이 있는 경우에, 오퍼레이터의 시각적 접촉 없이 화상 출력에 대하여 자동으로 정정 처리 등이 수행될 수 있다.
다음으로, 본 실시예에 따른 디바이스들의 하드웨어 구성에 대해서, 상세하게 설명될 것이다. 위에 설명한 바와 같이, 본 실시예에서는, 카메라 어댑터(120)가 FPGA 및/또는 ASIC와 같은 하드웨어를 구현하고, 그 하드웨어가 위에 설명한 다양한 처리를 실행하는 경우가 주로 예시된다. 그것은 센서 시스템(110) 내에 포함되는 다양한 디바이스, 프론트-엔드 서버(230), 데이터베이스(250), 백-엔드 서버(270) 및 컨트롤러(300)에 대해서도 마찬가지이다. 그러나, 디바이스들 중 적어도 일부는 CPU, GPU, DSP 등을 사용하여, 소프트웨어 처리에 의해 본 실시예의 처리를 실행하게 할 수 있다.
도 49는, 도 2에 예시한 기능 구성을 소프트웨어 처리에 의해 실현하기 위한, 카메라 어댑터(120)의 하드웨어 구성을 예시하는 블록도이다. 프론트-엔드 서버(230), 데이터베이스(250), 백-엔드 서버(270), 제어 스테이션(310), 가상 카메라 조작 UI(330), 및 엔드-유저 단말기(190)는 도 49의 하드웨어 구성일 수 있다는 점에 유의한다. 카메라 어댑터(120)는, CPU(1201), ROM(1202), RAM(1203), 보조 저장 디바이스(1204), 표시 유닛(1205), 조작 유닛(1206), 통신 유닛(1207) 및 버스(1208)를 포함한다.
CPU(1201)는, ROM(1202) 및 RAM(1203)에 저장되는 컴퓨터 프로그램들 및 데이터를 사용해서 카메라 어댑터(120)의 전체를 제어한다. ROM(1202)은, 변경을 요구하지 않는 프로그램들 및 파라미터들을 저장한다. RAM(1203)은, 보조 저장 디바이스(1204)로부터 제공되는 프로그램들과 데이터, 및 통신 유닛(1207)을 통해 외부에서 제공되는 데이터를 일시적으로 저장한다. 보조 저장 디바이스(1204)는, 예를 들어, 하드 디스크 드라이브로 구성되고, 정지 화상들 및 동화상들과 같은 콘텐츠 데이터를 저장한다.
표시 유닛(1205)은 액정 디스플레이 등으로 구성되고, 유저가 카메라 어댑터(120)를 조작하기 위해 사용하는 GUI(Graphical User Interface)를 표시한다. 조작 유닛(1206)은, 예를 들어, 키보드 또는 마우스로 구성되고, 유저 조작에 응답하여 다양한 지시를 CPU(1201)에 제공한다. 통신 유닛(1207)은, 카메라(112) 및 프론트-엔드 서버(230)와 같은 외부 디바이스들과 통신한다. 예를 들어, 카메라 어댑터(120)가 외부 디바이스에 유선 방식으로 접속되는 경우에는, LAN 케이블 등이 통신 유닛(1207)에 접속된다. 카메라 어댑터(120)가 외부 디바이스와 무선 통신을 실현하는 기능을 갖는 경우에, 통신 유닛(1207)은 안테나를 갖는다는 점에 유의한다. 버스(1208)는 카메라 어댑터(120)의 부분들을 접속하여 정보를 전달하는데 사용된다.
카메라 어댑터(120)에 의해 수행된 처리의 일부는 FPGA에 의해 수행될 수 있고, 처리의 다른 부분은 CPU를 사용하는 소프트웨어 처리에 의해 실현될 수 있다는 점에 유의한다. 또한, 도 49에 예시된 카메라 어댑터(120)의 구성요소들은, 단일 전자 회로 또는 복수의 전자 회로에 의해 구성될 수 있다. 예를 들어, 카메라 어댑터(120)는, CPU(1201)로서 동작하는 복수의 전자 회로를 포함할 수 있다. 복수의 전자 회로가 CPU(1201)로서의 처리를 병행해서 수행하는 경우에는, 카메라 어댑터(120)의 처리 속도가 향상될 수 있다.
또한, 본 실시예의 표시 유닛(1205) 및 조작 유닛(1206)은 카메라 어댑터(120)에 포함되지만, 카메라 어댑터(120)는 표시 유닛(1205) 및 조작 유닛(1206) 중 적어도 하나를 포함하지 않을 수도 있다. 표시 유닛(1205) 및 조작 유닛(1206) 중 적어도 하나가 카메라 어댑터(120)의 외부에 독립적인 디바이스로서 배치될 수 있고, CPU(1201)는 표시 유닛(1205)을 제어하는 표시 컨트롤러 및 조작 유닛(1206)을 제어하는 조작 컨트롤러로서 기능할 수 있다. 화상 처리 시스템(100)에 포함된 다른 디바이스들이 동일한 방식으로 기능한다. 또한, 예를 들어, 프론트-엔드 서버(230), 데이터베이스(250) 및 백-엔드 서버(270)는 표시 유닛(1205)을 포함하지 않을 수 있지만, 제어 스테이션(310), 가상 카메라 조작 UI(330) 및 엔드-유저 단말기(190)는 표시 유닛(1205)을 포함할 수 있다. 또한, 본 실시예에서는, 화상 처리 시스템(100)이 스타디움 또는 콘서트홀과 같은 시설들에 설치되는 경우가 예로서 주로 설명된다. 다른 시설들의 예로는, 유원지들, 놀이터들, 경마장들, 경륜장들, 카지노들, 풀(pool)들, 아이스 링크들, 스키장들, 및 라이브 음악이 있는 클럽들을 포함한다. 또한, 다양한 시설들에서 개최되는 이벤트들은 실내 이벤트들 또는 실외 이벤트들일 수 있다. 또한, 본 실시예에서의 시설들은, 일시적으로(한정된 시간 동안만) 오픈될 수도 있다.
위에 설명한 실시예에 따르면, 카메라들(112)의 수와 같이, 시스템에 포함되는 디바이스들의 규모들, 촬영 화상의 출력 해상도, 및 출력 프레임 레이트에 관계없이 가상 시점 화상이 쉽게 생성될 수 있다. 위에서는, 본 발명의 실시예에 대해서 설명했지만, 본 발명은 전술한 실시예에 한정되는 것이 아니고, 청구항들에 기재된 본 발명의 범위 내에서, 다양한 변형 및 변경이 실시될 수 있다.
위에 설명한 실시예에 따르면, 가상 시점 화상의 생성시, 상황에 따라 변경되는 범위에서 시점이 지정될 수 있다.
다른 실시예들
본 발명의 실시예(들)는, 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 별도의 컴퓨터 또는 별도의 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어들은, 예를 들어, 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는 예컨대, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산 컴퓨팅 시스템들의 스토리지, 광학 디스크(예컨대, 콤팩트 디스크(CD), 디지털 다목적 디스크(DVD) 또는 블루레이 디스크(BD)TM), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
본 발명은 예시적인 실시예들을 참조하여 설명되었지만, 본 발명은 개시된 예시적인 실시예들에 한정되지 않는다는 것을 이해해야 한다. 이하의 청구항들의 범위는 모든 변형 및 균등 구조 및 기능을 포괄하도록 가장 넓게 해석되어야 한다.
본 출원은 2016년 5월 25일자로 출원된 일본 특허 출원 제2016-104433호의 이익을 주장하며, 이로써 그 전문이 본 명세서에 참고로 통합된다.
Claims (14)
- 복수의 카메라를 사용해서 복수의 방향에서 촬영을 수행함으로써 획득되는 화상 데이터에 기초하여 가상 시점 화상(virtual viewpoint image)을 생성하는 시스템을 위한 제어 디바이스로서,
가상 시점 화상의 생성과 연관된 가상 시점을 지정하기 위한 유저에 의해 발행된 지시를 수신하도록 구성되는 수신 유닛(reception unit),
상기 수신 유닛에 의해 수신된 상기 지시에 기초하여 가상 시점의 지정이 제한되는 제한 영역을 지정하기 위한 제한 정보를 획득하도록 구성되는 획득 유닛- 상기 제한 영역은 상기 화상 데이터와 연관된 파라미터에 따라 변경됨 -; 및
상기 획득 유닛에 의해 획득된 상기 제한 정보에 기초하여 통지를 수행하도록 구성되는 통지 유닛
을 포함하는 제어 디바이스. - 제1항에 있어서,
상기 통지 유닛은 상기 획득 유닛에 의해 획득된 상기 제한 정보에 기초하여 화상을 표시 유닛에 표시시킴으로써 상기 통지를 수행하는 제어 디바이스. - 제1항에 있어서,
상기 통지 유닛은 상기 유저에 의해 발행된 상기 지시에 의해 지정된 상기 가상 시점의 위치를 자동으로 변경함으로써 통지를 수행하는 제어 디바이스. - 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 획득 유닛은 상기 시스템에서 송신되는 상기 화상 데이터의 양에 대한 제한에 기초하여 제어되는 상기 파라미터에 따라 변경되는 상기 제한 영역을 지정하기 위한 상기 제한 정보를 획득하는 제어 디바이스. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파라미터는 상기 화상 데이터의 프레임 레이트, 해상도, 양자화 단계, 및 촬영 범위 중 적어도 하나를 포함하는 제어 디바이스. - 제2항에 있어서,
상기 통지 유닛은, 상기 수신 유닛에 의해 수신된 상기 지시에 응답하여, 상기 지시에 대응하는 시점이 상기 제한 영역 내에 있다는 것을 나타내는 화상을, 상기 제한 정보에 기초한 화상으로서 상기 표시 유닛에 표시하는 제어 디바이스. - 제2항에 있어서,
상기 통지 유닛은 상기 제한 영역을 나타내는 화상을 상기 제한 정보에 기초한 화상으로서 상기 표시 유닛에 표시하는 제어 디바이스. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 획득 유닛은 상기 카메라들의 동작 상태들에 따라 변경되는 상기 제한 영역을 지정하기 위한 상기 제한 정보를 획득하는 제어 디바이스. - 제8항에 있어서,
상기 동작 상태들은 촬영이 정상적으로 수행되는 정상 상태(normal state), 촬영이 제한되는 고장 상태(failure state), 촬영을 개시하는 처리가 수행되는 기동 준비 상태(boot preparation state), 및 미리 결정된 초기 설정이 수행되는 재기동 상태(reboot state) 중 적어도 하나를 포함하는 제어 디바이스. - 제1항 내지 제9항 중 어느 한 항에 있어서,
상기 화상 데이터는 촬영 화상 내에서 미리 결정된 오브젝트의 위치에 대응하는 오브젝트 영역에 기초한 전경 화상 및 상기 촬영 화상 내에서 상기 오브젝트 영역과 상이한 영역에 기초한 배경 화상 중 적어도 하나를 포함하는 제어 디바이스. - 복수의 카메라를 사용해서 복수의 방향에서 촬영을 수행함으로써 획득되는 화상 데이터에 기초하여 가상 시점 화상을 생성하는 시스템을 위한 제어 디바이스의 제어 방법으로서,
가상 시점 화상의 생성과 연관된 가상 시점의 지정(designation)이 제한되는 제한 영역을 지정하기 위한 제한 정보를 획득하는 단계- 상기 제한 영역은 상기 화상 데이터와 연관된 파라미터에 따라 변경됨 -;
획득된 제한 정보에 기초하여 통지를 수행하는 단계; 및
상기 제한 정보에 기초한 통지가 수행된 후에 유저에 의해 발행되는 상기 가상 시점을 지정하기 위한 지시를 수신하는 단계
를 포함하는 제어 방법. - 제11항에 있어서,
상기 통지는 획득된 제한 정보에 기초한 화상을 표시 유닛에 표시시킴으로써 수행되는 제어 방법. - 제11항 또는 제12항에 있어서,
상기 카메라들의 동작 상태들에 따라 변경되는 상기 제한 영역을 지정하기 위한 상기 제한 정보가 획득되는 제어 방법. - 컴퓨터로 하여금 제1항 내지 제10항 중 어느 한 항에 따른 제어 디바이스의 유닛들로서 기능하게 하는 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2016-104433 | 2016-05-25 | ||
JP2016104433A JP6482498B2 (ja) | 2016-05-25 | 2016-05-25 | 制御装置、制御方法、及び、プログラム |
PCT/JP2017/019081 WO2017204173A1 (en) | 2016-05-25 | 2017-05-22 | Control device, control method, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190010646A true KR20190010646A (ko) | 2019-01-30 |
KR102121931B1 KR102121931B1 (ko) | 2020-06-11 |
Family
ID=59009716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187037416A KR102121931B1 (ko) | 2016-05-25 | 2017-05-22 | 제어 디바이스, 제어 방법 및 저장 매체 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20200322584A1 (ko) |
EP (1) | EP3466066A1 (ko) |
JP (1) | JP6482498B2 (ko) |
KR (1) | KR102121931B1 (ko) |
CN (1) | CN109644265A (ko) |
AU (1) | AU2017270401B2 (ko) |
CA (1) | CA3025478C (ko) |
RU (1) | RU2704608C1 (ko) |
WO (1) | WO2017204173A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11855831B1 (en) | 2022-06-10 | 2023-12-26 | T-Mobile Usa, Inc. | Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7051457B2 (ja) * | 2018-01-17 | 2022-04-11 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP2019125303A (ja) | 2018-01-19 | 2019-07-25 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US10902676B2 (en) * | 2018-03-13 | 2021-01-26 | Canon Kabushiki Kaisha | System and method of controlling a virtual camera |
JP7075252B2 (ja) | 2018-03-23 | 2022-05-25 | キヤノン株式会社 | 情報処理装置およびその制御方法、プログラム |
FR3080968A1 (fr) | 2018-05-03 | 2019-11-08 | Orange | Procede et dispositif de decodage d'une video multi-vue, et procede et dispositif de traitement d'images. |
JP7170441B2 (ja) * | 2018-07-12 | 2022-11-14 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP7254464B2 (ja) * | 2018-08-28 | 2023-04-10 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP7245013B2 (ja) * | 2018-09-06 | 2023-03-23 | キヤノン株式会社 | 制御装置及び制御方法 |
JP7313811B2 (ja) | 2018-10-26 | 2023-07-25 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP6790145B2 (ja) * | 2019-02-13 | 2020-11-25 | キヤノン株式会社 | 制御装置、制御方法、及び、プログラム |
JP7341674B2 (ja) * | 2019-02-27 | 2023-09-11 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2020209108A1 (ja) * | 2019-04-12 | 2020-10-15 | ソニー株式会社 | 画像処理装置、3dモデル生成方法、およびプログラム |
JP7408298B2 (ja) | 2019-06-03 | 2024-01-05 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP7401199B2 (ja) | 2019-06-13 | 2023-12-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP7418101B2 (ja) | 2019-07-26 | 2024-01-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP7423251B2 (ja) * | 2019-10-25 | 2024-01-29 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
EP4072147A4 (en) * | 2019-12-30 | 2022-12-14 | Huawei Technologies Co., Ltd. | VIDEO STREAM PROCESSING METHOD, APPARATUS AND DEVICE AND MEDIA |
JPWO2022070603A1 (ko) * | 2020-09-30 | 2022-04-07 | ||
CN114870395B (zh) | 2021-02-05 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 游戏场景的终端振动检测方法、装置、介质及设备 |
CN117015805A (zh) | 2021-03-31 | 2023-11-07 | 富士胶片株式会社 | 图像处理装置、图像处理方法及程序 |
JP2022169177A (ja) | 2021-04-27 | 2022-11-09 | キヤノン株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US11943565B2 (en) * | 2021-07-12 | 2024-03-26 | Milestone Systems A/S | Computer implemented method and apparatus for operating a video management system |
WO2024029497A1 (ja) * | 2022-08-04 | 2024-02-08 | 株式会社Nttドコモ | 仮想空間提供システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020061131A1 (en) * | 2000-10-18 | 2002-05-23 | Sawhney Harpreet Singh | Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery |
JP3887403B2 (ja) * | 2004-12-21 | 2007-02-28 | 松下電器産業株式会社 | カメラ端末および撮影領域調整装置 |
JP2007195091A (ja) | 2006-01-23 | 2007-08-02 | Sharp Corp | 合成映像生成システム |
JP2010250452A (ja) * | 2009-04-14 | 2010-11-04 | Tokyo Univ Of Science | 任意視点画像合成装置 |
US20140192148A1 (en) * | 2011-08-15 | 2014-07-10 | Telefonaktiebolaget L M Ericsson (Publ) | Encoder, Method in an Encoder, Decoder and Method in a Decoder for Providing Information Concerning a Spatial Validity Range |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6768563B1 (en) * | 1995-02-24 | 2004-07-27 | Canon Kabushiki Kaisha | Image input system |
US6985178B1 (en) * | 1998-09-30 | 2006-01-10 | Canon Kabushiki Kaisha | Camera control system, image pick-up server, client, control method and storage medium therefor |
FR2901049B1 (fr) * | 2006-05-12 | 2008-11-21 | Techviz Soc Par Actions Simpli | Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese |
JP2011151773A (ja) * | 2009-12-21 | 2011-08-04 | Canon Inc | 映像処理装置及び制御方法 |
JP5558862B2 (ja) * | 2010-02-22 | 2014-07-23 | キヤノン株式会社 | 映像処理装置及びその制御方法 |
JP2012120031A (ja) * | 2010-12-02 | 2012-06-21 | Canon Inc | 映像処理装置及びその制御方法 |
US10158838B2 (en) * | 2012-07-10 | 2018-12-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for supporting view synthesis |
JP6548203B2 (ja) * | 2013-03-18 | 2019-07-24 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム、および、パノラマ動画表示方法 |
JP2015204512A (ja) * | 2014-04-14 | 2015-11-16 | パナソニックIpマネジメント株式会社 | 情報処理装置、情報処理方法、カメラ、受信装置、受信方法 |
WO2015159487A1 (ja) * | 2014-04-14 | 2015-10-22 | パナソニックIpマネジメント株式会社 | 映像配信方法、映像受信方法、サーバ、端末装置及び映像配信システム |
JP2015212876A (ja) * | 2014-05-02 | 2015-11-26 | キヤノン株式会社 | 映像再生システム |
-
2016
- 2016-05-25 JP JP2016104433A patent/JP6482498B2/ja active Active
-
2017
- 2017-05-22 AU AU2017270401A patent/AU2017270401B2/en active Active
- 2017-05-22 RU RU2018145739A patent/RU2704608C1/ru active
- 2017-05-22 CA CA3025478A patent/CA3025478C/en active Active
- 2017-05-22 WO PCT/JP2017/019081 patent/WO2017204173A1/en unknown
- 2017-05-22 KR KR1020187037416A patent/KR102121931B1/ko active IP Right Grant
- 2017-05-22 EP EP17727965.0A patent/EP3466066A1/en not_active Withdrawn
- 2017-05-22 US US16/303,445 patent/US20200322584A1/en not_active Abandoned
- 2017-05-22 CN CN201780032296.7A patent/CN109644265A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020061131A1 (en) * | 2000-10-18 | 2002-05-23 | Sawhney Harpreet Singh | Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery |
JP2004525437A (ja) * | 2000-12-01 | 2004-08-19 | サーノフ コーポレイション | 一群の実際のビデオおよび/または静止画像から新規ビデオおよび/または静止画像を合成する方法および装置 |
JP3887403B2 (ja) * | 2004-12-21 | 2007-02-28 | 松下電器産業株式会社 | カメラ端末および撮影領域調整装置 |
JP2007195091A (ja) | 2006-01-23 | 2007-08-02 | Sharp Corp | 合成映像生成システム |
JP2010250452A (ja) * | 2009-04-14 | 2010-11-04 | Tokyo Univ Of Science | 任意視点画像合成装置 |
US20140192148A1 (en) * | 2011-08-15 | 2014-07-10 | Telefonaktiebolaget L M Ericsson (Publ) | Encoder, Method in an Encoder, Decoder and Method in a Decoder for Providing Information Concerning a Spatial Validity Range |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11855831B1 (en) | 2022-06-10 | 2023-12-26 | T-Mobile Usa, Inc. | Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses |
Also Published As
Publication number | Publication date |
---|---|
CA3025478C (en) | 2020-04-21 |
CN109644265A (zh) | 2019-04-16 |
AU2017270401A1 (en) | 2019-01-17 |
US20200322584A1 (en) | 2020-10-08 |
EP3466066A1 (en) | 2019-04-10 |
AU2017270401B2 (en) | 2019-07-18 |
JP6482498B2 (ja) | 2019-03-13 |
WO2017204173A1 (en) | 2017-11-30 |
RU2704608C1 (ru) | 2019-10-30 |
KR102121931B1 (ko) | 2020-06-11 |
JP2017212592A (ja) | 2017-11-30 |
CA3025478A1 (en) | 2017-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102208473B1 (ko) | 상이한 프레임 레이트들로 전경 화상 및 배경 화상을 송신하는 카메라 어레이로부터, 유저에 의해 선택된 시점으로부터의 가상 화상을 생성하는 방법 및 장치 | |
KR102032082B1 (ko) | 데이지 체인 접속이 있는 카메라 어레이로부터, 유저에 의해 선택된 시점으로부터의 가상 화상을 생성하는 방법 및 장치 | |
KR102121931B1 (ko) | 제어 디바이스, 제어 방법 및 저장 매체 | |
KR102270429B1 (ko) | 디폴트 파라미터들이 스포츠 이벤트의 선택된 타입에 연관되는 카메라 어레이로부터, 유저에 의해 선택된 시점으로부터의 가상 화상을 생성하는 방법 및 장치 | |
KR102129792B1 (ko) | 정보 처리 장치, 화상 생성 방법, 제어 방법 및 프로그램 | |
JP6790145B2 (ja) | 制御装置、制御方法、及び、プログラム | |
JP7297969B2 (ja) | 情報処理装置、プログラム、生成方法、及び、システム | |
JP7204789B2 (ja) | 制御装置、制御方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |