KR102082327B1 - 비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템 및 그에 의해 수행되는 방법 - Google Patents
비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템 및 그에 의해 수행되는 방법 Download PDFInfo
- Publication number
- KR102082327B1 KR102082327B1 KR1020180037162A KR20180037162A KR102082327B1 KR 102082327 B1 KR102082327 B1 KR 102082327B1 KR 1020180037162 A KR1020180037162 A KR 1020180037162A KR 20180037162 A KR20180037162 A KR 20180037162A KR 102082327 B1 KR102082327 B1 KR 102082327B1
- Authority
- KR
- South Korea
- Prior art keywords
- images
- panoramic image
- image
- image data
- video camera
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008569 process Effects 0.000 claims description 15
- 238000009499 grossing Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 20
- 238000002156 mixing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004374 forensic analysis Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440236—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
-
- 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
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234336—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
-
- 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/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/45—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
-
- H04N5/23238—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/917—Television signal processing therefor for bandwidth reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템에서 수행되는 방법이 제공된다. 상기 비디오 카메라는 부분적으로 중첩되는 시야를 갖는 복수의 이미지 센서들을 사용함으로써 동시에 복수의 이미지들을 캡처한다. 이미지들의 중첩부분들이 식별되고 이미지들은 결합되어 파노라마 이미지를 생성할 수 있다. 이미지들을 조인할 때, 중첩 부분들의 이미지들 중 단 하나로부터 이미지 데이터가 포함되고, 중첩 부분들의 다른 이미지들로부터의 화상 데이터는 무시된다. 파노라마 이미지 및 무시된 이미지 데이터는 인코딩되며, 인코딩된 비디오 스트림으로 클라이언트 디바이스에 전송된다. 클라이언트 디바이스는 비디오 스트림을 디코딩하고, 클라이언트 디바이스가 커스터마이즈된 경우, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 사용하여 복수의 이미지들의 중첩 부분들에 대응하는 부분들에서 파노라마 이미지를 업데이트한다.
Description
본 발명은 필드 멀티 센서 비디오 카메라들에 관한 것이다. 특히, 본 발명은 부분적으로 오버랩된 시야를 갖는 복수의 이미지 센서들을 사용하여 비디오 카메라에 의해 캡처된 복수의 이미지들로부터 파노라마 이미지들을 생성하는 것에 관한 것이다.
장면을 모니터링하기 위해 서로 옆에 장착된 멀티 이미지 센서들을 갖는 멀티 센서 비디오 카메라들은 예를 들어 감시 어플리케이션들에 대해 인기가 많아지고 있다. 다수의 이미지 센서들로부터 캡처된 이미지들은 장면의 파노라마 이미지를 생성하는데 사용될 수 있다. 이러한 파노라마 이미지를 생성하는데 포함되는 여러 처리 단계들이 있다. 이미지 센서들로부터의 이미지들은 종종 렌즈들로부터의 수차를 감소시키기 위해 변형될 필요가 있고, 인접한 이미지 센서들로부터의 이미지들의 오버랩이 식별될 필요가 있으며, 오버랩되는 부분들은 서로 옆에 장착된 이미지 센서들로부터 캡처된 이미지들의, 블렌딩, 또는 평활한 스티칭을 생성하기 위해 종종 처리될 필요가 있다.
따라서, 파노라마 이미지의 생성, 특히 평활한 스티칭을 달성하기 위해 수행되는 처리는 상당히 까다로운 처리다. 높은 프레임 레이트 멀티 센서 모니터링 카메라에서와 같이 높은 페이스로 이러한 이미지 처리를 수행하는 것은 많은 처리 능력을 필요로 한다. 일반적으로 처리 파워는 비디오 카메라에서 제한된 자원이기 때문에, 따라서 파노라마 이미지를 생성할 때 비디오 카메라의 처리 요구 사항들을 완화하는 것이 흥미롭다.
따라서, 상기를 고려하여, 본 발명의 목적은 파노라마 이미지를 생성할 때 비디오 카메라의 처리 요구 사항들을 용이하게 하는 것이다.
본 발명의 제1 양태에 따르면, 상기 목적은 비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템에서 수행되는 방법에 의해 달성된다. 방법은:
상기 비디오 카메라가, 부분적으로 오버랩되는 시야를 갖는 복수의 이미지 센서들을 사용함으로써 동시에 복수의 이미지들을 캡처하는 단계,
상기 비디오 카메라가, 복수의 이미지들 중 적어도 2개의 이미지들이 오버랩되는 부분들로서 복수의 이미지들의 오버랩되는 부분들을 식별하는 단계,
상기 비디오 카메라가, 상기 복수의 이미지들의 부분들을 함께 결합함으로써, 복수의 이미지 센서들의 시야의 결합에 대응하는 파노라마 이미지를 생성시키는 단계,
상기 복수의 이미지들의 각 오버랩되는 부분에 대해, 상기 비디오 카메라는 파노라마 이미지에서 오버랩되는 적어도 2개의 이미지들 중 하나로부터 이미지 데이터 및 오버랩되는 적어도 2개의 이미지들 중에서 다른 이미지들로부터 이미지 데이터를 무시하는 비디오 카메라를 포함하고,
상기 비디오 카메라가 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터 및 파노라마 이미지를 인코딩하고, 이들을 인코딩된 비디오 스트림 내의 클라이언트 디바이스에 송신하는 단계,
상기 클라이언트 디바이스가 인코딩된 비디오 스트림을 수신 및 디코딩하고,
상기 클라이언트 디바이스가, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 처리하기 위해 커스터마이스된 상태에서, 상기 클라이언트 디바이스는, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 사용하여 복수의 이미지들의 오버랩되는 부분들에 대응하는 부분들에서 파노라마 이미지를 업데이트하는 단계를 포함한다.
이 방법에 따르면, 파노라마 이미지를 생성하기 위한 처리의 일부가 클라이언트에 남겨진다. 간단한 파노라마 이미지는 복수의 이미지들로부터 이미지 데이터의 부분들을 함께 결합시킴으로써 비디오 카메라에 생성된다. 그러나, 가장 강하게 처리하는 처리의 일부, 즉, 복수의 이미지들의 평활한 스티칭, 또는 보다 고급의 스티칭 기술을 달성하기 위해 오버랩되는 이미지 부분들에서 이미지 데이터를 블렌딩하는 공정이 클라이언트에 남겨진다. 이러한 방식으로, 비디오 카메라 상의 처리 부담이 완화되고, 대신에, 모니터링 카메라는 복수의 이미지 센서들에 의해 캡처된 비디오 스트림들의 더 높은 프레임 속도를 처리할 수 있다.
여전히, 단순한 파노라마 이미지가 생성되어 카메라 측에 인코딩된다. 인접한 이미지 센서들로부터의 이미지들이 오버랩되는 부분들에서, 단 하나의 인접한 이미지 센서들로부터의 이미지 데이터가 사용되고, 카메라에서 파노라마 이미지를 생성할 때 다른 인접한 이미지 센서들로부터의 이미지 데이터는 무시된다. 오버랩되는 부분들에서 이미지 데이터를 블렌딩하는 것과 같이, 복수의 이미지 센서들로부터 이미지들의 보다 고급 스티칭을 수행하기 위해 구축용 블록들을 클라이언트 디바이스에 제공하기 위해, 비디오 카메라에 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터가 또한 인코딩되며, 클라이언트에 전송된다.
일부 클라이언트 디바이스들의 경우, 비디오 카메라에서 생성된 파노라마 이미지는 그 목적을 위해 충분히 양호하거나, 처리 파워가 단순히 매우 제한되어 임의의 고급 스티칭 처리를 수행할 수 없다. 이는, 예를 들어, 클라이언트가, 예를 들어 순찰 경비원에 의해 사용되는, 태블릿 또는 모바일 디바이스 상에 실행되는 경우가 될 수 있다. 여기서 비커스터마이즈된 디바이스들이라 하는 이러한 클라이언트 디바이스들은 비디오 카메라에서 생성된 파노라마 이미지를 디코딩하고 디스플레이할 수 있다. 그러나, 커스터마이즈된 클라이언트 디바이스들이라 하는 보다 고급 클라이언트들은 추가 정보로부터 이익을 얻고, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 사용하여 오버랩되는 부분들에서 파노라마 이미지를 업데이트할 수 있어야 한다. 이러한 방식으로, 커스터마이즈된 클라이언트 디바이스는 파노라마 이미지의 평활도(smoothness)를 향상시킬 수 있으며, 즉, 오버랩되는 부분의 복수의 이미지들로부터 이미지 데이터의 블렌딩에 의해, 개별 이미지들 사이의 변환을 보다 평활하고 끊김 없게 할 수 있다. 추가적으로, 이는 커스터마이즈된 클라이언트 디바이스가 이미지 데이터의 블렌딩을 수행하는 방법을 선택할 수 있게 한다. 따라서, 상이한 커스터마이즈된 클라이언트 디바이스들은 그들의 필요에 따라 이미지 데이터를 블렌딩하는 다른 방식을 사용할 수 있다. 예로서, 커스터마이즈된 클라이언트는 감시 센터에서 사용되는 큰 처리 능력을 가진 고급 컴퓨터 상에 실행될 수 있다.
여기에 사용된 바와 같은 파노라마 이미지는 일반적으로 복수의 이미지들의 결합된 뷰를 커버하는 이미지를 의미한다. 파노라마 이미지는 이미지 센서들의 부분적으로 오버랩되는 시야에 대응하는 복수의 이미지들의 부분들을 함께 결합함으로써 생성된다. 따라서, 결과적인 파노라마는 복수의 이미지 센서들의 시야의 결합의, 즉 조합에 대응한다.
파노라마 이미지를 생성할 때 이미지 데이터를 무시하는 비디오 카메라는, 일반적으로 이미지 데이터가 파노라마 이미지에 포함되지 않는다는 것을 의미한다.
파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 처리하기 위해 커스터마이즈되는 클라이언트 디바이스는 일반적으로 비디오 스트림 내의 무시된 이미지 데이터를 식별하고, 수신된 파노라마 이미지를 업데이트하기 위해 무시된 이미지 데이터를 사용하도록 적응된 클라이언트 디바이스를 의미한다.
클라이언트에서 파노라마 이미지의 업데이트는 원본 이미지들의 오버랩되는 부분들에 대응하는 부분들에서 비디오 카메라에 의해 생성된 파노라마 이미지의 이미지 데이터와, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시된 추가적으로 수신된 이미지 데이터와 블렌딩함으로써 수행될 수 있다. 이러한 방식으로, 클라이언트 디바이스는 원본 이미지들을 함께 스티칭하여 보다 평활한 파노라마 이미지를 생성할 수 있다. 여기에 사용된 바와 같은 블렌딩은 일반적으로 가중 평균이 형성된다는 것을 의미한다. 보다 상세하게는, 클라이언트 디바이스는, 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 각 부분에 대해, 그 오버랩되는 부분에 대해 비디오 카메라에 의해 무시되었던 이미지 데이터 및 파노라마 이미지의 가중 평균을 계산함으로써 파노라마 이미지를 업데이트할 수 있다. 여기에 사용된 바와 같은 복수의 이미지들의 스티칭은, 복수의 이미지들이 단일 이미지로 결합되고, 복수의 이미지들의 오버랩되는 부분들의 이미지 데이터가 한 방향으로 또는 다른 방향으로 결합되며, 즉 블렌딩되어, 복수의 이미지들 사이에 평활한 변환을 달성할 수 있다.
가중 평균은 일반적으로 오버랩되는 부분들에서 픽셀 단위로 계산된다. 가중 평균을 계산할 때 사용되는 가중치들은 픽셀 단위로 선택될 수 있다. 따라서, 가중치들은 오버랩되는 부분들 전체적으로 변할 수 있다. 가중치들은 상이한 방식으로 선택되거나 계산될 수 있다. 일부 실시예들에서, 가중치들은 오버랩되는 부분들의 이미지 데이터에 기초하여 계산되지만, 다른 실시예들에서는 가중치들은 오버랩되는 부분들의 이미지 데이터와 독립적으로 계산된다.
후자 경우의 예로서, 가중 평균의 가중치들은 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분의 주변부에 대한 픽셀의 근접성에 기초하여 픽셀 단위로 선택된다. 이는 원본 이미지들의 평활한 스티칭을 야기할 것이다. 예를 들어, 2개의 인접하는 센서들의 이미지들이 오버랩되고, 2개의 센서들 중 제1의 센서로부터의 이미지 데이터가 오버랩에 대응하는 부분의 파노라마 이미지에 포함되어 있으며, 오버랩되는 2개의 센서들 중 다른 하나의 이미지 데이터가 파노라마 이미지에 추가로 클라이언트 디바이스에도 전송된다는 것을 가정한다. 제1 센서로부터 발생하는 이미지 데이터의 가중치는 픽셀로부터 제1 센서로부터의 오버랩되는 부분과 비오버랩되는 부분 사이의 경계까지의 거리의 감소 함수일 수 있다. 마찬가지로, 제2 센서로부터 발생하는 이미지 데이터의 가중치는 픽셀로부터 제2 센서로부터의 오버랩되는 부분 및 비오버랩되는 부분 사이의 경계까지의 거리의 감소 함수일 수 있다. 가중치들은 간격 [0,1]에 있도록 정규화될 수 있고, 픽셀에 대한 가중치들의 합은 1과 동일할 수 있다. 이 경우 블렌딩은 알파 블렌딩이라 할 수 있다.
스티칭의 평활도(smoothness)를 훨씬 더 향상시키기 위해, 가중 평균의 가중치들은 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분의 주변부에 대한 픽셀의 근접성의 평활 함수일 수 있다. 평활 함수는 함수가 연속적이며, 바람직하게는 또한 유도가능하다는 것을 의미한다.
추가 실시예들에 따르면, 오버랩되는 부분들의 이미지 데이터의 저주파 컨텐츠는 이미지 데이터의 고주파 컨텐츠와 상이하게 블렌딩될 수 있다. 저주파 컨텐츠는 일반적으로 이미지 데이터의 공간 주파수들이 제1 임계값보다 낮다는 것을 의미하며, 고주파 컨텐츠는 일반적으로 이미지 데이터의 공간 주파수들이 제2 임계값과 동일하거나 더 크다는 것을 의미한다. 제2 임계값은 제1 임계값과 동일하거나 제1 임계값보다 클 수 있다.
일반적으로, 저주파 컨텐츠는 이미지 데이터의 평활한 변화들을 나타내는 반면, 고주파 컨텐츠는 노이즈와 같은 이미지 데이터의 불규칙한 변화를 나타낸다. 저주파 컨텐츠는 고주파 컨텐츠보다 결과적인 파노라마 이미지의 평활도에 영향을 주기 때문에, 종종 고주파보다 저주파 컨텐츠를 블렌딩하는 것이 더 중요한다. 이는 고주파와 저주파에 대해 상이한 블렌딩 전략들을 사용함으로써 달성될 수 있다. 보다 구체적으로는, 이는 상기 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 각 부분에 대해:
상기 클라이언트 디바이스가, 그 오버랩되는 부분에 대해 비디오 카메라에 의해 무시되었던 이미지 데이터 및 파노라마 이미지의 제1 가중 평균을 계산하는 단계, 상기 제1 가중 평균은 제1 임계값보다 낮은 공간 주파수에 대해 계산됨,
상기 클라이언트 디바이스가, 그 오버랩되는 부분에 대해 비디오 카메라에 의해 무시되었던, 이미지 데이터 및 파노라마 이미지의 제2 가중 평균을 계산하는 단계에 의해 달성될 수 있으며, 상기 제2 가중 평균은 제2 임계값과 동일하거나 그보다 높은 공간 주파수들에 대해 계산되고, 상기 제2 임계값은 제1 임계값보다 크거나 동일하며,
상기 파노라마 이미지는 제1 가중 평균 및 제2 가중 평균을 머징(merging)함으로써 복수의 이미지들의 오버랩되는 부분에 대응하는 각 부분에서 업데이트되고,
상기 제1 가중 평균 및 제2 가중 평균을 계산하는데 사용되는 가중치들은 상이하게 선택된다.
예시적인 실시예들에 따르면, 제1 가중 평균의 가중치들은 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분의 주변부에 대한 근접성의 평활 함수이고, 제2 가중 평균의 가중치들은 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분의 주변부에 대한 근접성에 의존하여 0 또는 1이다. 따라서, 이는 가장 중요한 곳에 저주파들에서 평활한 블렌딩을 제공할 것이다. 높은 주파수들의 경우, 어떠한 블렌딩도 발생하지 않는다.
복수의 센서들에 의해 캡처된 복수의 이미지들은 일반적으로 정렬된다. 정렬은 복수의 센서들에 대한 캘리브레이션 공정에 기인한 캘리브레이션 데이터에 의존하여 이루어진다. 정렬은 일반적으로 비디오 카메라로부터의 특정 거리에 대해 최적이지만 시차 때문에 정렬은 다른 거리에 대해 차선적이다. 결과적으로, 2개의 이웃하는 이미지 센서들이 오버랩되는 부분에서 상이한 픽셀 위치들에 (정렬이 차선적인 비디오 카메라로부터 멀리 떨어져 위치된) 장면 내의 객체를 묘사하는 것이 일어날 수 있다. 그러한 경우, 파노라마 이미지에서 객체의 복제물을 갖지 않기 위해 이미지 센서들 중 하나로부터의 객체를 묘사하는 이미지 데이터만을 사용하는 것이 바람직할 수 있다.
보다 상세하게는, 방법은:
상기 클라이언트 디바이스가, 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분 내에서, 및 파노라마 이미지의 그 부분을 생성할 때 비디오 카메라에 의해 무시된 이미지 데이터 모두에서, 객체들을 식별하는 단계를 더 포함할 수 있으며,
상기 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분에서, 및 파노라마 이미지의 그 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터 모두에서 객체가 식별된 경우, 그 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터 및 파노라마 이미지 중 하나의 가중치는 그 객체에 속하는 것으로서 식별된 픽셀들의 경우 0으로 설정된다.
식별된 객체는, 객체, 예를 들어, 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분에 부분적으로 묘사되고, 파노라마 이미지의 그 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터에 의해 부분적으로 묘사된 객체의 일부일 수 있다는 것이 이해되어야 한다.
클라이언트 디바이스는 평활한 파노라마 이미지를 제공하기 위해 수신된 데이터를 사용하여 파노라마 이미지를 업데이트할뿐만 아니라 다른 목적들을 위해 수신된 데이터를 사용할 수도 있다. 예를 들어, 2개의 상이한 이미지 센서들에 의해 캡처된 장면의 동일한 영역을 묘사하는 이미지 데이터를 갖는 것은 장면에 존재하는 사람을 식별할 때와 같이, 비디오 스트림의 포렌식 분석을 수행할 때 이점이 될 수 있다.
클라이언트 디바이스는 또한 수신된 데이터를 사용하여 복수의 이미지들을 복원할 수 있다. 이는 제안된 방법이 인코더에 의해 수행된 압축을 제외하고, 비디오 인코더에 의해 폐기된 어떠한 이미지 데이터도 없다는 점에서 손실이 적기 때문에 가능하다. 구체적으로, 모든 원본 이미지들의 비오버랩되는 부분들 및 오버랩되는 부분들로부터의 이미지 데이터는 클라이언트에서 수신된 데이터 내에 나타난다. 따라서, 방법은 클라이언트 디바이스가, 파노라마 이미지로부터 복수의 이미지들 및 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터를 복원하는 단계를 더 포함할 수 있다.
추가 실시예들에 따르면, 클라이언트 디바이스는 수신된 데이터를 사용하여 장면 내의 객체들에 대한 깊이 정보를 유도할 수 있다. 이는 복수의 이미지 센서들의 시차 때문에 가능하다. 보다 상세하게는, 클라이언트 디바이스는, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터 및 파노라마 이미지에 기초하여, 복수의 이미지들의 오버랩되는 부분들에 대응하는 파노라마 이미지의 부분들에 대한 깊이 정보를 계산할 수 있다.
더 전술한 바와 같이, 모든 클라이언트 디바이스들은 블렌딩 또는 보다 고급의 스티칭 공정들을 수행하기 위해 커스터마이즈되지 않을 수 있다. 그러한 클라이언트 디바이스들은 수신된 파노라마 이미지를 단순히 디코딩하고 디스플레이하며, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터에 대응하는 임의의 추가 데이터를 무시할 수 있다. 보다 구체적으로, 클라이언트 디바이스가, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 처리하기 위해 커스터마이즈되지 않은 상태에서, 클라이언트 디바이스는 파노라마 이미지를 디스플레이할 수 있다.
더 전술한 바와 같이, 파노라마 이미지, 및 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 복수의 이미지들의 오버랩되는 부분들로부터 이미지 데이터 형태의 추가 정보는 인코딩되며, 인코딩된 비디오 스트림 내에 클라이언트 디바이스로 송신된다. 인코딩된 비디오 스트림은 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 처리하기 위해 커스터마이즈되거나 커스터마이즈되지 않을 수 있는 상이한 타입들의 클라이언트 디바이스들에 의해 수신될 수 있기 때문에, 추가 정보의 송신이, 비커스터마이즈된 디바이스들이 여전히 본 비디오 디코딩 표준에 따라 수신된 비디오 스트림을 디스플레이하고 디코딩할 수 있도록 플렉서블하다는 것이 유리하다.
이를 달성하기 위해, 파노라마 이미지는 표준 비디오 인코딩 방식을 사용하여 비디오 스트림의 비디오 프레임으로서 인코딩될 수 있다. 추가 정보, 즉, 파노라마 이미지에 포함되지 않은 오버랩되는 부분들의 이미지 데이터는 타임 스탬프 정보를 이용함으로써 인코딩된 비디오 스트림에 링크된 추가 인코딩 아이템으로서 인코딩될 수 있다. 보다 상세하게는, 파노라마 이미지는 인코딩된 비디오 스트림에서 타임 스탬프에 의해 표시된 비디오 프레임으로서 인코딩될 수 있고, 비디오 카메라는 동일한 타임 스탬프에 의해 파노라마 이미지를 생성할 때 무시되었던 인코딩된 이미지 데이터를 표시할 수 있다.
실시예들에 따르면, 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터는 파노라마 이미지와 동일한 비디오 프레임에서 추가 인코딩 타일들 및/또는 슬라이스들로서 인코딩된다. 이러한 방식으로, 추가 정보는 파노라마 이미지과 동일한 비디오 프레임에 포함된다. 그러나, 비커스터마이즈된 디바이스는, 예를 들어, 추가 인코딩 타일들 및/또는 슬라이스들을 "비디스플레이"로 표시함으로써, 또는 프레임의 데이터 내의 추가 슬라이스들 및/또는 타일들을 포함시키지만, 추가 슬라이스들 및/또는 타일들의 존재를 나타내지 않는 프레임의 헤더를 사용함으로써, 추가 인코딩 타일들 및/또는 슬라이스들을 무시할 수 있다.
대안적으로, 파노라마 이미지를 생성할 때 무시된 이미지 데이터는 하나 또는 그 이상의 별도의 비디오 프레임들로서 인코딩될 수 있다. 보다 상세하게는, 파노라마 이미지를 생성할 때 무시되었던 오버랩되는 부분들의 이미지 데이터는 파노라마 이미지를 포함하는 비디오 프레임에 추가의 별도의 비디오 프레임들로서 인코딩될 수 있다. 별도의 비디오 프레임들에서, 무시된 이미지 데이터는 일반적으로 파노라마 이미지에서와 같이 대응 픽셀 위치에 위치된다. 나머지 픽셀 위치들은 스킵 블록 들로서 인코딩될 수 있다. 이후, 비커스터마이즈된 클라이언트 디바이스의 표준 비디오 디코더는 단순히 추가 프레임들을 디스플레이할 수 없지만, 클라이언트 디바이스의 커스터마이즈된 디코더는 이들 비디오 프레임들을 식별하고, 파노라마 이미지를 업데이트하기 위해 이들을 사용하도록 지시받을 것이다.
하나 또는 그 이상의 별도의 비디오 프레임들은 비디스플레이 프레임들로서 표시될 수 있다. 이러한 방식으로, 비디스플레이 프레임들이 이용가능한 표준을 실행하는 커스터마이즈된 디바이스의 표준 디코더는 별도의 비디오 프레임들의 추가 정보를 쉽게 무시할 수 있다. 비디스플레이 프레임들이 사용될 수 없는 비디오 디코딩 표준의 경우, 표준 디코더를 트릭하여 별도의 비디오 프레임들을 디스플레이하지 않도록 하기 위해, 하나 또는 그 이상의 별도의 비디오 프레임들은 대신에 비디오 스트림 내의 이전 또는 이후 위치를 나타내는 디스플레이 수 값으로 표시될 수 있다.
본 발명의 제2 양태에 따르면, 상기 목적은 시스템에 의해 달성되는데, 이는:
부분적으로 오버랩되는 시야를 갖는 복수의 이미지 센서들을 포함하는 비디오 카메라를 포함하되, 상기 복수의 이미지 센서들은 복수의 이미지들을 동시에 캡처하도록 구성되며,
상기 비디오 카메라는:
상기 복수의 이미지들 중 적어도 2개의 이미지들이 오버랩된 부분들로서 복수의 이미지들의 오버랩되는 부분들을 식별하고,
상기 복수의 이미지들의 부분들을 함께 결합함으로써, 복수의 이미지 센서들의 시야의 결합에 대응하는 파노라마 이미지를 생성하고, 상기 복수의 이미지들의 각 오버랩되는 부분에 대해, 비디오 카메라는 파노라마 이미지에서 오버랩되는 적어도 2개의 이미지들 중 하나로부터 이미지 데이터를 포함하고, 오버랩되는 적어도 2개의 이미지들 중에서 다른 이미지들로부터 이미지 데이터를 무시하도록 구성됨, 및
상기 파노라마 이미지를 생성할 때 무시된 이미지 데이터 및 파노라마 이미지를 인코딩하고, 이들을 인코딩된 비디오 스트림 내의 클라이언트 디바이스에 송신하도록 더 구성되며,
상기 시스템은:
상기 인코딩된 비디오 스트림을 수신 및 디코딩하고, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 사용하여 복수의 이미지들의 오버랩되는 부분들에 대응하는 부분들 내의 파노라마 이미지를 업데이트하도록 구성되는 클라이언트 디바이스를 더 포함한다.
제2 양태는 일반적으로 제1 양태와 동일한 특징들 및 이점들을 가질 수 있다. 또한, 본 발명은 달리 명시적으로 언급되지 않는 한 특징들의 모든 가능한 조합들에 관한 것이다. 여기에 개시된 임의의 방법의 단계들은 명시적으로 언급되지 않는 한, 개시된 정확한 순서로 수행될 필요는 없다.
상기뿐만 아니라, 본 발명의 추가의 목적들, 특징들 및 이점들은 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들에 대한 다음의 예시적이고 비제한적인 상세한 설명을 통해 더 잘 이해될 것이며, 동일한 도면 부호들은 유사한 요소들에 대해 사용될 것이다.
도 1은 실시예들에 따른 시스템을 개략적으로 도시한 것이다.
도 2는 멀티 센서 카메라에 의해 캡처된 이미지들을 개략적으로 도시한 것이다.
도 3은 실시예들에 따른 비디오 카메라의 내부 컴포넌트들을 개략적으로 도시한 것이다.
도 4는 실시예에 따른 클라이언트 디바이스의 내부 컴포넌트들을 개략적으로 도시한 것이다.
도 5는 멀티 센서 비디오 카메라에 의해 캡처된 변환 및 정렬된 이미지들, 비디오 카메라에 의해 생성된 파노라마 이미지, 및 실시예들에 따라 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되는 이미지 데이터를 개략적으로 도시한 것이다.
도 6은 실시예들에 따른 가중 평균을 계산하기 위한 가중치들의 선택을 개략적으로 도시한 것이다.
도 7은 실시예들에 따른 방법의 흐름도이다.
도 1은 실시예들에 따른 시스템을 개략적으로 도시한 것이다.
도 2는 멀티 센서 카메라에 의해 캡처된 이미지들을 개략적으로 도시한 것이다.
도 3은 실시예들에 따른 비디오 카메라의 내부 컴포넌트들을 개략적으로 도시한 것이다.
도 4는 실시예에 따른 클라이언트 디바이스의 내부 컴포넌트들을 개략적으로 도시한 것이다.
도 5는 멀티 센서 비디오 카메라에 의해 캡처된 변환 및 정렬된 이미지들, 비디오 카메라에 의해 생성된 파노라마 이미지, 및 실시예들에 따라 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되는 이미지 데이터를 개략적으로 도시한 것이다.
도 6은 실시예들에 따른 가중 평균을 계산하기 위한 가중치들의 선택을 개략적으로 도시한 것이다.
도 7은 실시예들에 따른 방법의 흐름도이다.
본 발명의 실시예들이 도시되어 있는, 첨부된 도면을 참조하여 본 발명이 이하에 보다 완전히 설명될 것이다. 여기에 개시된 시스템들 및 디바이스들은 동작 동안 설명될 것이다.
도 1은 복수의 이미지 센서들(103)을 갖는 비디오 카메라(102) 및 하나 또는 그 이상의 클라이언트 디바이스들(104a, 104b, 104c)을 포함하는 시스템(100)을 도시한다. 비디오 카메라(102)는 가시광선 카메라, 열 카메라 또는 ToF(time of flight) 카메라일 수 있다. 비디오 카메라(102)는 예를 들어 네트워크(106)를 통해 하나 또는 그 이상의 클라이언트 디바이스들과 통신하도록 배치된다. 통신은 유선 또는 무선일 수 있다.
하나 또는 그 이상의 클라이언트 디바이스들(104a, 104b, 104c)은 다양한 타입들일 수 있다. 도시된 예에서, 클라이언트 디바이스(104a)는 모바일 디바이스이고, 클라이언트 디바이스(104b)는 랩탑이며, 클라이언트 디바이스(104c)는 컴퓨터이다. 클라이언트 디바이스(104a, 104b, 104c)는 상이한 목적을 위해 사용될 수 있고 또한 상이한 처리 능력을 가질 수 있다. 예를 들어, 한편으로는 모바일 디바이스인 클라이언트 디바이스(104a)는 모바일 디바이스를 통해, 비디오 카메라(102)에 의해 생성된 파노라마 이미지를 볼 수 있는 순찰 경비원에 의해 사용될 수 있다. 모바일 디바이스의 제한된 처리 능력을 고려하여, 클라이언트 디바이스(104a)는 수신된 파노라마 이미지의 임의의 추가 처리를 수행하지 않을 수 있다. 동시에, 모바일 디바이스의 작은 스크린 및 그것이 사용되는 상황을 고려하여, 비디오 카메라(102)로부터 수신된 파노라마 이미지는 경비원에 비디오 카메라(102)의 센서들(103)에 의해 캡처된 뷰의 개략도를 제공하는 목적을 위해 충분히 양호할 수 있다. 한편, 컴퓨터(104c)는 감시 센터의 고급 컴퓨터일 수 있다. 이와 같이, 적어도 모바일 클라이언트 디바이스(104a)와 비교하여, 그것은 큰 처리 능력을 가질 수 있다. 클라이언트 디바이스(104c)는, 예를 들어, 파노라마 이미지를 보다 평활하게 생성하는데 사용되는 이미지들 사이의 변환들을 만들기 위해, 비디오 카메라(102)로부터 수신된 파노라마 이미지를 처리하도록 커스터마이즈될 수 있다. 결과적으로 고품질의 향상된 파노라마 이미지가 감시 센터의 운영자들에게 디스플레이될 수 있다.
다음에서, 카메라 측에서 무시되었던 복수의 이미지들의 오버랩되는 부분들의 이미지 데이터에 대응하는 수신된 비트 스트림의 추가 정보를 디코딩하고, 추가 정보에 기초하여 수신된 파노라마 이미지를 처리하도록 적응된 클라이언트 디바이스들은 커스터마이즈된 클라이언트 디바이스들이라 한다. 대조적으로, 추가 정보를 디코딩하거나 수신된 파노라마 이미지를 처리하도록 적응되지 않은 클라이언트 디바이스들은 비커스터마이즈된 클라이언트 디바이스들이라 한다. 따라서, 상기 예에서, 클라이언트 디바이스(104a)는 비커스터마이즈된 클라이언트 디바이스이고, 클라이언트 디바이스(104c)는 커스터마이즈된 클라이언트 디바이스이다.
비디오 카메라(102)의 복수의 센서들(103)은 부분적으로 오버랩되는 시야를 갖는다. 이는, 동시에, 즉 비디오 카메라(102)의 복수의 센서들(103)에 의해 동시에 캡처되는 복수의 이미지들(A, B, C, D)을 도시하는 도 2에 더 도시되어 있다. 따라서, 이미지들(A, B, C, D)은 이미지 센서들(103) 중 상이한 하나에 대응한다. 이 경우 4개의 센서들(103) 및 4개의 이미지들이 묘사되어 있지만, 센서들의 수는 2보다 크거나 동일한 임의의 수일 수 있다는 것이 이해된다. 도시된 예에서, 이미지 센서들은 1차원 어레이로 서로 옆에 장착된다. 그러나, 이미지 센서들은 다른 어레이형 패턴들, 예를 들어 2차원 어레이 상에 장착되거나 구체 상에 장착될 수 있다는 것이 이해되어야 한다.
오버랩되고 있는 센서들의 시야로 인해, 이미지들(A, B, C, D)는 서로 오버랩된다. 즉, 도 2에 점선 영역들로 표시된 바와 같이, 복수의 이미지들의 오버랩되는 부분들이 있다.
도 3은 비디오 카메라(102)의 내부 컴포넌트들을 도시한다. 비디오 카메라(102)는 복수의 센서들(103), 파노라마 이미지 생성기(302), 인코더(304), 및 송신기(306)를 포함한다.
도 4는 커스터마이즈된 클라이언트 디바이스(104c)의 내부 컴포넌트들을 도시한다. 클라이언트 디바이스(104c)는 수신기(402), 디코더(404) 및 스티칭 컴포넌트(406)를 포함한다. 클라이언트 디바이스(104c)는 또한 디스플레이를 포함할 수 있다. 비커스터마이즈된 클라이언트는 일반적으로 수신기 및 디코더를 포함한다. 그러나, 비커스터마이즈된 클라이언트는 일반적으로 스티칭 컴포넌트를 포함하지 않는다.
따라서 비디오 카메라(102)는 비디오 카메라(102)의 기능을 실행하도록 구성된 다양한 컴포넌트들(302, 304 및 306)을 포함한다. 유사하게, 클라이언트 디바이스(104c)는 클라이언트 디바이스(104c)의 기능을 실행하도록 구성된 다양한 컴포넌트들(402, 404, 406)을 포함한다. 특히, 각 도시된 컴포넌트는 비디오 카메라(102) 또는 클라이언트 디바이스(104c)의 기능에 대응한다. 일반적으로, 비디오 카메라(102) 및 클라이언트 디바이스(104c)는 컴포넌트들(302, 304, 306, 402, 404, 406), 및 보다 상세하게는, 그들의 기능을 실행하도록 구성된 회로를 포함할 수 있다.
하드웨어 실행에서, 컴포넌트들(302, 304, 306, 402, 404, 406) 각각은 전용이고 컴포넌트의 기능을 제공하도록 특별히 설계된 회로에 대응할 수 있다. 회로는 하나 또는 그 이상의 주문형 집적 회로와 같은 하나 또는 그 이상의 집적 회로들의 형태일 수 있다. 따라서, 예로서, 파노라마 이미지 생성기(302)는 사용 시 파노라마 이미지를 생성하는 회로를 포함할 수 있다.
소프트웨어 실행에서, 회로는 대신에 마이크로프로세서 또는 중앙 처리 장치와 같은 프로세서의 형태일 수 있으며, 비휘발성 메모리와 같은 (비일시적) 컴퓨터 판독 가능 매체 상에 저장된 컴퓨터 코드 명령어들과 관련하여, 여기에 개시된 임의의 방법을 수행하기 위해 비디오 카메라(102) 및 카메라 디바이스(104c)를 야기한다. 따라서, 그 경우, 컴포넌트들(302, 304, 306)은, 비디오 카메라에서 프로세서에 의해 실행될 때, 비디오 카메라(102)가 컴포넌트의 기능을 수행하는 것을 야기하는, 비디오 카메라(102)에서 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 코드 명령어들의 부분들에 각각 대응할 수 있다. 유사하게는, 따라서, 컴포넌트들(402, 404, 406)은, 클라이언트 디바이스(104c) 내에 프로세서에 의해 실행될 때, 클라이언트 디바이스(104c)가 컴포넌트의 기능을 수행하도록 야기하는, 클라이언트 디바이스(104c) 내의 컴퓨터 판독 가능 매체 상에 저장된 컴퓨터 코드 명령어들의 부분에 각각 대응할 수 있다.
하드웨어 및 소프트웨어 실행의 조합을 가질 수도 있다는 것이 이해되어야 하며, 이는 컴포넌트들(302, 304, 306, 402, 404, 406) 중 일부의 기능이 하드웨어 및 소프트웨어의 다른 것들에서 실행된다는 것을 의미한다.
비디오 카메라(102) 및 클라이언트 디바이스들(104a, 104b, 104c)을 포함하는 시스템(100)의 동작은 도 1, 도 2, 도 3, 도 4, 도 5, 및 도 7의 흐름도와 관련하여 설명될 것이다.
단계(S02)에서, 비디오 카메라(102)는 복수의 이미지 센서들(103)을 사용하여 복수의 이미지들(A, B, C, D)를 캡처한다. 보다 상세하게는, 복수의 센서들(103)은 장면의 비디오 스트림(308a, 308b, 308c, 308d)을 캡처하도록 각각 구성된다. 각 비디오 스트림은 비디오 프레임들 내에 배치된 이미지들의 시퀀스이다. 복수의 이미지 센서들(103)은 동시에 이미지들을 캡처하도록 동기화된다. 따라서, 제1 센서에 의해 캡처된 비디오 스트림(308a)의 각 프레임은 다른 이미지 센서들에 의해 캡처된 비디오 스트림들(308b, 308c, 308d)의 각각에 대응하는 프레임을 갖는다. 이미지들(A, B, C, D)은 이미지 센서들(104)에 의해 동시에 캡처되고 있는 비디오 스트림들(308a, 308b, 308c, 308d)의 프레임들에 대응한다.
비디오 스트림들(308a, 308b, 308c, 및 308d)은 파노라마 이미지 생성기(302)에 입력된다. 비디오 스트림(308a, 308b, 308c, 308d)의 프레임들이 파노라마 이미지 생성기(302)에 도달함에 따라, 파노라마 이미지 생성기(302)는 비디오 스트림들(308a, 308b, 308c, 308d)의 동시에 수신된 프레임들에 대응하는, 도 2에 도시된 복수의 이미지들(A, B, C, D)를 변환하고 정렬할 수 있다. 변환 및 정렬은 종종 배럴 왜곡 보정이라 하는 이미지 센서들(103) 상으로 장면을 이미지화하는 렌즈들로부터의 수차들을 보상하고, 복수의 이미지들이 단일 위치로부터 얻어지지 않는다는 사실을 보상하기 위해 공통 표면 상으로 복수의 이미지들을 투사하도록 이루어진다. 이러한 종류의 변형 및 정렬은 본 분야에 공지되어 있다. 보다 상세하게는, 이미지 센서들(103)은 동일한 물리적 위치에 장착되지 않으며, 또한 일반적으로 상이한 방향으로 보도록 장착된다. 결과적인 파노라마 이미지는 서로 오프셋된 위치들로부터가 아니라 단일 위치로부터 얻어진 것과 같이 보는 것이 바람직하기 때문에, 복수의 이미지들은 실린더 또는 구체와 같은 공통 표면 상으로 투사되도록 변환된다. 이루어진 변환 및 정렬은 상이한 센서들에 대해 상이할 것이다. 그러나, 동일한 변환 및 정렬은 일반적으로 동일한 이미지 센서(103)로부터 발생하는 각각의 프레임에 대해 이루어진다. 적용될 변환 및 정렬은 이미지 센서들(103)의 캘리브레이션으로부터 결정될 수 있으며, 이후 결정된 변환 및 정렬이 모든 후속 프레임들을 위해 사용될 수 있다.
변환 및 정렬 후의 이미지들(A, B, C, D)은 도 5의 아이템(500)으로서 도시된다. 이미지들(A, B, C, D)은 오버랩되는 부분들(502a, 502b, 502c)을 갖는다. 설명을 위해, 오버랩되는 부분들(502a, 502b, 502c)은 직사각형 형상을 갖는 것으로서 도시된다. 그러나, 정렬 및 변환으로 인해 오버랩되는 부분들은 일반적으로 비직사각형 형상을 갖는다는 것이 이해되어야 한다. 아래의 설명은 비직사각형 형상을 갖는 오버랩되는 부분들에도 동일하게 잘 적용된다. 또한, 변환 및 정렬은 일반적으로 이미지(A, B, C, D)의 주변부를 비직사각형이 되게 하는 것이 이해되어야 한다. 따라서, 도 5에 도시된 바와 같은 직사각형 형상(500)을 복원하기 위해 이미지들(A, B, C, D)에 크로핑이 적용될 수 있다. 이는, 직사각형 이미지, 즉 블랙 픽셀들(값 0을 갖는 픽셀들)에 의해, 값들을 갖지 않는 직사각형 형상(500) 내의 픽셀들 내에 "홀들"을 채움으로써 종종 보완될 수 있다. 각 오버랩되는 부분(502a, 502b, 502c)에서, 복수의 이미지들(A, B, C, D) 중 적어도 2개가 오버랩된다. 이는, 각 오버랩되는 부분(502a, 502b, 502c)의 경우, 적어도 2개의 이미지들로부터 이용가능한 이미지 데이터가 있다는 것을 의미한다. 이러한 예에서, 오버랩되는 부분(502a)에서 이미지(A) 및 이미지(B)로부터, 오버랩되는 부분(502b) 내의 이미지(B) 및 이미지(C)로부터, 및 오버랩되는 부분(502c) 내의 이미지(C)및 이미지(D)로부터 이용가능한 이미지 데이터가 있다. 비오버랩되는 부분들(504a, 504b, 504c 및 504d)에서, 이미지들 중 단 하나로부터의 이미지 데이터가, 이 경우에는 부분(504a)의 이미지(A)로부터, 부분(504b)의 이미지(B)로부터, 부분(504c)의 이미지(C)로부터, 및 부분(504d)의 이미지(D)로부터 이용가능하다. 변환 및 정렬로 인해, 오버랩되는 부분들(502a, 502b, 502c)의 형상은 도 2에 도시된 것에 비해 변화해왔다.
이후, 단계(S04)에서, 파노라마 이미지 생성기(302)는 복수의 이미지들(A, B, C, D)에서 오버랩되는 부분들(502a, 502b, 502c)을 식별하기 위해 진행한다. 오버랩되는 부분들(502a, 502b, 502c)은 예를 들어, 이미지 상관을 수행함으로써, 또는 복수의 이미지들에서 특징들을 식별 및 매칭시킴으로써 이미지들을 매칭하는 이미지 처리를 사용함으로써 식별될 수 있다. 그러나, 일단 이미지 센서들(103)의 초기 캘리브레이션이 이루어지면, 오버랩되는 부분들은 모든 후속 프레임들에서 동일할 것이다. 따라서, 이미지 센서들(103)의 캘리브레이션으로부터의 캘리브레이션 데이터에 기초하여 오버랩되는 부분들(502a, 502b, 502c)을 식별하는 것이 가능하다. 식별은 캘리브레이션 데이터에만 기초할 수 있거나, 또는 이미지 처리는 캘리브레이션 데이터로부터 기인하는 식별을 미세 조정하기 위해 또한 사용될 수 있다. 단계(S04)는 또한 비오버랩되는 부분들(504a, 504b, 504c, 및 504d)의 식별을 포함할 수 있다.
단계(S06)에서, 비디오 카메라(100)의 파노라마 이미지 생성기(302)는 파노라마 이미지를 생성한다. 파노라마 이미지는, 복수의 이미지들(A, B, C, D)의 선택된 부분들을 함께 결합시킴으로써, 즉 복수의 이미지들(A, B, C, D)의 선택된 부분들을 나란히 배열하여 파노라마 이미지를 형성함으로써 생성된다. 특히, 모든 이미지들(A, B, C, D)의 비오버랩되는 부분들(504a, 504b, 504c, 504d)은 이미지들(A, B, C, D)의 일부로부터 오버랩되는 부분들과 함께 결합된다. 그러나, 처리 파워를 절약하기 위해, 이미지 데이터의 어떠한 블렌딩도 비디오 카메라(100)에서 발생하지 않는다. 이는 파노라마 이미지(510)를 도시하는 도 5에 추가로 도시되어 있다. 파노라마 이미지(510)는 복수의 이미지 센서들(103)의 시야의 결합을 나타낸다. 파노라마 이미지(510)는 복수의 이미지들(A, B, C, D)의 비오버랩되는 부분들(504a, 504b, 504c, 및 504d)에 대응하는 부분들(514a, 514b, 514c, 및 514c)를 포함한다. 파노라마 이미지(510)는 또한 복수의 이미지들(A, B, C, D)의 오버랩되는 부분들(502a, 502b, 502c)에 대응하는 부분들(512a, 512b, 512c)을 포함한다.
이전에 설명된 바와 같이, 이미지 데이터는 각각의 비오버랩되는 부분(504a, 504b, 504c 및 504d) 내의 이미지들(A, B, C, D) 중 단 하나로부터 이용가능하다. 따라서, 파노라마 이미지(510)의 각 대응 부분(514a, 514b, 514c, 및 514d)에서, 파노라마 이미지 생성기(302)는 단일 이미지로부터 이미지 데이터를 포함한다. 이 경우에서, 파노라마 이미지 생성기(302)는 부분(514a) 내의 이미지(A)로부터의 이미지 데이터, 부분(514b) 내의 이미지(B)로부터의 이미지 데이터, 부분(514c) 내의 이미지(C)로부터의 이미지 데이터, 및 부분(514d) 내의 이미지(D)로부터의 이미지 데이터를 포함한다.
오버랩되는 부분들(502a, 502b, 502c)의 경우, 이미지 데이터는 이미지들(A, B, C, D) 중 여러 개로부터 이용가능하다. 이 예에서, 2개의 이미지들로부터의 이미지 데이터는 각각의 오버랩되는 부분에서 이용가능하다. 파노라마 이미지(510)의 대응 부분들(512a, 512b, 512c)의 경우, 파노라마 이미지 생성기(302)는 이미지 데이터가 이용가능한 이미지들(A, B, C, D) 중 단 하나로부터 이미지 데이터를 포함한다. 따라서, 파노라마 이미지 생성기(302)는 각 오버랩되는 부분에 대해 하나의 이미지를 선택하고, 파노라마 이미지(510)의 대응 부분 내의 선택된 이미지로부터 이미지 데이터를 포함한다. 도시된 예에서, 파노라마 이미지 생성기(302)는 파노라마 이미지(510)의 부분(512a) 내의 이미지(A)로부터의 이미지 데이터, 부분(512b) 내의 이미지(B)로부터의 이미지 데이터, 및 부분(512c) 내의 이미지(C)로부터의 이미지 데이터를 포함한다. 따라서, 파노라마 이미지(510)를 생성하기 위해, 이 예에서 파노라마 이미지 생성기(302)는 이미지들(A, B, C, D)의 비오버랩되는 부분들, 및 이미지들(A, B, C)의 오버랩되는 부분들을 함께 결합시킨다. 따라서, 이미지들(A, B, C, D) 중 적어도 2개가 오버랩될 때, 이미지들 중 단 하나는 대응 오버랩되는 부분을 위해 선택되고, 이미지들의 비오버랩되는 부분들과 함께 결합된다. 2개 또는 그 이상의 이미지들이 오버랩되는 경우, 그들 중 어느 하나가 대응 오버랩되는 부분을 위해 선택될 수 있다. 따라서, 파노라마 이미지(510)의 부분들(512a, 512b, 512c)을 생성할 때, 파노라마 이미지 생성기(302)는 선택된 이미지 모두로부터 이미지 데이터를 무시한다. 이 경우, 이미지(B)로부터의 이미지 데이터는, 부분(512a)을 생성할 때 무시되고, 이미지(C)로부터의 이미지 데이터는 부분(512b)을 생성할 때 무시되며, 이미지(D)로부터의 이미지 데이터는 부분(512c)을 생성할 때 무시된다. 파노라마 이미지(510)를 생성할 때 파노라마 이미지 생성기(302)에 의해 무시되었던 이미지 데이터는 도 5에서 아이템(520)으로서 도시된다. 아이템들(522a 522b, 522c)은 파노라마 이미지의 부분들(512a, 512b, 및 512c) 각각을 생성할 때 파노라마 이미지 생성기(302)에 의해 무시되었던 이미지 데이터에 대응한다.
파노라마 이미지 생성기(302)가 파노라마 이미지(510)을 생성할 때 일부 이미지 데이터를 무시할 지라도, 파노라마 이미지 생성기(302)는 무시된 이미지 데이터를 폐기하지 않는다. 반대로, 도 3에 도시된 바와 같이, 파노라마 이미지 생성기(302)는 파노라마 이미지(510) 및 무시된 이미지 데이터(520)를 인코더(304)에 전송한다. 무시된 이미지(520)는, 파노라마 이미지(510)의 대응 부분들(512a, 512b, 512c)을 식별하는, 예를 들어, 이미지 좌표들 형태로 위치 정보와 함께 전송된다.
비디오 스트림들(308a, 308b, 308c, 308d)의 신규 프레임들이 파노라마 이미지 생성기(302)에 도달함에 따라, 상기 단계들이 반복된다는 것이 이해되어야 한다. 따라서, 파노라마 이미지들(510)의 스트림 및 무시된 이미지 데이터(520)의 스트림은 인코더(304)에 순차적으로 전송된다.
인코더(304)가 파노라마 이미지들(510) 및 무시된 이미지 데이터(520)를 순차적으로 수신함에 따라, 단계(S08)에서 파노라마 이미지(510) 및 무시된 이미지 데이터(520)를 인코딩으로 진행한다. 인코더(304)는, H.264 또는 H.265와 같은 표준 비디오 인코딩 방식을 사용하여 비디오 스트림의 비디오 프레임들로서 파노라마 이미지들(510)의 스트림을 일반적으로 인코딩할 수 있다. 인코더(304)는 하나 또는 그 이상의 추가 인코딩 아이템들로서 무시된 이미지 데이터(520)를 더 인코딩하고, 이들을 타임 스탬프들에 의해 인코딩된 비디오 스트림을 링크한다. 예를 들어, 도 5의 파노라마 이미지(510)는 비디오 스트림 내의 타임 스탬프에 의해 표시된 비디오 프레임으로서 인코딩될 수 있다. 대응하는 인코딩된 무시된 이미지 데이터(520)는 동시 스탬프에 의해 표시될 수 있다. 이러한 방식으로, 디코더는 무시된 이미지 데이터(520)를 정확한 파노라마 이미지(510)와 연관시킬 수 있다.
추가 인코딩 아이템들을 생성하는 방법에 대한 상이한 대안들이 있으며, 즉, 무시된 이미지 데이터(520)는 상이한 방식으로 인코딩될 수 있다. 일 실시예에 따르면, 무시된 이미지 데이터(520)는 파노라마 이미지(510)와 동일한 비디오 프레임 내에 인코딩된다. 보다 상세하게는, 무시된 이미지 데이터(520)는 파노라마 이미지(510)의 대응 위치들에 추가 인코딩 타일들 및/또는 슬라이스들로서 인코딩될 수 있다. 예로서, 무시된 이미지 데이터(522a)는 파노라마 이미지(510)의 부분(512a)에 대응하는 위치들에 추가 타일들 및/또는 슬라이스들로서 인코딩될 수 있다.
비디오 프레임은 일반적으로 프레임 데이터, 이 경우 인코딩된 이미지 데이터가 후속하는 프레임 헤더를 포함할 수 있다. 인코딩될 이미지는 슬라이스들이라고 불리는 수평 파티션들로 분할할 수 있다. 추가적으로 또는 대안적으로, 인코딩될 이미지는 타일들이라고 불리는 수직 파티션들로 분할될 수 있다. 슬라이스들 및/또는 타일들은 별도로 인코딩 및 디코딩될 수 있지만, 여전히 동일한 비디오 프레임에 포함될 수 있다. 따라서 슬라이스들은 프레임의 수평으로 독립적으로 코딩 및 디코딩가능한 유닛들로서 고려될 수 있으며, 타일들은 프레임의 수직으로 독립적으로 코딩 및 디코딩가능한 유닛들로서 고려될 수 있다. 슬라이스들은, 예를 들어 H.264 및 H.265 표준에 의해 지원된다. 타일들 (및 슬라이스들)은 예를 들어 H.265 표준에 의해 지원된다. 디코더가 서로 상이한 슬라이스들 및/또는 타일들을 분리시키기 위해, 시작 코드 및 정지 코드는 프레임 데이터에서 슬라이스 또는 타일의 시작 및 정지를 식별하는데 사용될 수 있다. 예를 들어, 비디오 프레임이 2개의 타일들, 타일 1 및 타일 2를 포함하고, 이후 이들은:
프레임 헤더
시작 코드
타일 1
정지 코드
시작 코드
타일 2
정지 코드 형태를 가질 수 있다는 것을 가정한다.
디코더가 인코딩된 비디오 프레임으로부터의 이미지를 정확하게 구성하기 위해, 이는 또한 예를 들어 이미지 내의 픽셀 위치들에 대해 상이한 타일들 또는 슬라이스들의 위치를 알아야 할 필요가 있다. 즉, 인코딩된 타일들 또는 슬라이스들을 송신하는 것에 추가로, 프레임은 또한 인코딩된 타일들 또는 슬라이스들을 위한 위치 정보를 전달한다. 이러한 위치 정보는, 예를 들어, 시작 코드 내에 포함될 수 있다.
도 5의 예로 돌아가면, 파노라마 이미지(510)를 타일들로 분할하는 여러 가지 방법들이 있다. 예를 들어, 파노라마 이미지(510)는 단일 타일로서 인코딩될 수 있다. 다른 예에 따르면, 이미지(A)로부터 발생하는 부분들(514a, 512a)은 제1 타일로서 인코딩될 수 있고, 이미지(B)로부터 발생하는 부분들(514b, 512b)은 제2 타일로서 인코딩될 수 있으며, 이미지(C)로부터 발생하는 부분들(514c, 512c)은 제 3 타일로서 인코딩될 수 있고, 이미지(D)로부터 발생하는 부분(514d)은 제4 타일로서 인코딩될 수 있다. 이들 4개의 타일들은 위에서 설명한 바와 같이 비디오 프레임의 시작 및 정지 코드들로 나타낼 수 있다.
또한, 무시된 이미지 데이터(522a, 522b, 522c)는 동일한 프레임에서 인코딩될 수 있다. 예를 들어, 무시된 이미지 데이터(522a)는 제1 추가 타일로서 인코딩될 수 있고, 무시된 이미지 데이터(522b)는 제2 추가 타일로서 인코딩될 수 있으며, 무시된 이미지 데이터(522c)는 프레임 데이터의 엔드에서 추가되고, 즉 파노라마 이미지(510)를 나타내는 타일들 후에 제3 추가 타일로서 인코딩될 수 있다. 대안적으로, 무시된 이미지 데이터(522a, 522b, 522c)는 도 5의 아이템(520)의 점선 윤곽에 대응하는 단일의 추가 타일 내에 인코딩될 수 있다(순차적으로 파노라마 이미지(510)의 윤곽에 대응한다).
추가 타일들은 단지 커스터마이즈된 디코더에 의해 판독되도록 의도된 것이며, 따라서 비커스터마이즈된 디코더가 추가 타일들을 무시하고 여전히 파노라마 이미지(510)를 디코딩하기 위해 비디오 프레임을 디코딩할 수 있게 하는 방식으로 인코딩되어야 한다. 이는 여러 가지 방식으로 달성될 수 있다. 제1 방식으로, 추가 타일들은 위에서 설명한 바와 같은 시작 및 종료 코드들로 표시될 수 있다. 이 경우, 시작 코드(들)는, 무시된 이미지 데이터(522a)가 오버랩되는 부분(512a)의 위치에 대응하고, 무시된 이미지 데이터(522b, 522c)와 유사하다는 것을 나타내기 위해, 추가 타일들의 위치 정보를 전달할 수 있다. 또한, 추가 타일들은 프레임 헤더에서 "비디스플레이"로서 표시될 수 있다. "비디스플레이"로서 표시되는 타일들은, 여기서 실제로는 그렇지 않은, 다른 타일 또는 프레임에 의해 지칭되는 경우에만 디코딩되기 때문에 비커스터마이즈된 디코더가 추가 타일들을 무시하는 것을 가능하게 한다. 제2의 대안적인 방식에 따르면, 추가 타일들은 임의의 시작 및 정지 코드들을 사용하지 않고 프레임 내에 포함될 수 있다. 비커스터마이즈된 디코더는, 데이터 내에 판독하기 위해 시작 코드들을 검색하기 때문에, 그 방식으로 추가 타일들을 무시할 것이다. 그러나, 커스터마이즈된 디코더는, 시작 및 정지 코드들로 표시되지 않을지라도, 프레임 내에 모든 데이터를 판독할 수 있다. 그 경우, 추가 타일들의 위치 정보는, 예를 들어 프레임 헤더 내의 시작 코드에서보다 다른 방식으로 전달될 필요가 있다.
상기는 타일들에 대해 주로 설명되어왔지만, 이는 슬라이스들에도 동일하게 잘 적용된다. 이미지 센서들이 수평으로 배치될 때 타일들이 바람직하게 사용되고, 이미지 센서들이 수직으로 배치될 때 슬라이스들이 바람직하게 사용된다.
오버랩되는 부분이 비직사각형 형상인 경우에는, 전체 비직사각형 오버랩되는 부분을 포함하는 슬라이스/타일이 생성될 수 있고, 오버랩되는 부분의 어떠한 픽셀 정보도 갖지 않는 슬라이스/타일의 영역들은 이하에 설명된 것에 따라 스팁 블록들로 인코딩된다.
다른 실시예에 따르면, 무시된 이미지 데이터(520)는 인코딩된 비디오 스트림 내의 하나 또는 그 이상의 추가 비디오 프레임들 내에, 즉 대응 파노라마 이미지(510)를 전달하는 프레임으로부터 분리된 비디오 프레임들 내에 인코딩된다. 예를 들어, 하나 또는 그 이상의 추가 프레임들은 파노라마 이미지(510) 및 스킵 블록들에서와 같이 대응하는 위치에 위치된 무시된 이미지 데이터(520)를 포함할 수 있다. 보다 상세하게는, 별도의 프레임을 인코딩하기 위해, "대안적인" 파노라마 이미지가 생성될 수 있다. 도 5의 예를 참조하면, 대안적인 파노라마 이미지는 비오버랩되는 부분들(514a, 514b, 514c, 514d) 내의 파노라마 이미지(510)와 동일한 이미지 컨텐츠를 갖는다. 그러나, 오버랩되는 부분들(512a, 512b, 512c)에서, 이미지 데이터는 무시된 이미지 데이터(522a, 522b, 522c)로 대체된다. 비오버랩되는 부분들(514a, 514b, 514c)에 대응하는 대안적인 파노라마 이미지의 부분들은 파노라마 이미지(510)를 참조하여 코딩될 수 있으며, 이들 부분들이 P-스킵 블록들로서 인코딩되는 것을 야기한다. 그 결과, 무시된 이미지 데이터(522a, 522b, 522c)만이 인코딩될 필요가 있다.
추가 비디오 프레임들은 "비디스플레이" 프레임들로서, 또는 "비디스플레이" 프레임들이 사용될 수 없는 비디오 디코딩 표준으로 표시될 수 있으며, 이들 이미지 프레임들을 디스플레이하지 않기 위해 표준 디코더를 트릭시키기 위해, 비디오 스트림 내의 이전 또는 이후 위치를 나타내는 디스플레이 수 값으로 표시될 수 있다. 그러나, 커스터마이즈된 디코더는 이들 비디오 프레임들을 식별하고, 파노라마 이미지를 처리하기 위해 이들을 사용하도록 지시되는 한편, 비커스터마이즈된 디코더는 추가 프레임들을 무시할 수 있다. 이는 이하에 보다 상세히 설명될 것이다.
인코더(304)는 인코딩된 비디오 스트림을 송신기(306)에 전송하며, 이는 비트스트림의 형태로 클라이언트 디바이스들(104a, 104b, 104c) 중 하나 또는 그 이상으로 송신한다. 인코딩된 비디오 스트림은 도 3의 아이템(310)으로서 표시된다.
단계(S10)에서, 클라이언트 디바이스(104a, 104b, 104c)는 수신기(402)를 사용하여 인코딩된 비디오 스트림(310)을 수신하고, 디코더(404)를 사용하여 인코딩된 비디오 스트림(310)을 디코딩한다.
클라이언트 디바이스가 비커스터마이즈된 클라이언트 디바이스인 경우, 디코더는 일반적으로 H.264 또는 H.265와 같은 표준 비디오 디코딩 방식을 실행한다. 무시된 이미지 데이터(520)가 상술한 바와 같이 인코딩될 때, 비커스터마이즈된 클라이언트 디바이스의 표준 디코더는 단순히 인코딩된 비디오 스트림에서 무시된 이미지 데이터(520)를 무시하고, 비디오 카메라(102) 내의 파노라마 이미지 생성기(302)에 의해 생성된 파노라마 이미지(510)를 단순히 디스플레이할 수 있다.
클라이언트 디바이스(104c)와 같은 커스터마이즈된 클라이언트 디바이스는 비디오 스트림 내에 추가 정보, 즉 파노라마 이미지(500)를 생성할 때 비디오 카메라(102)에 의해 무시되었던 이미지 데이터(520)를 식별하는 디코더(404)를 갖는다. 예를 들어, 이는 비디오 스트림의 프레임들 내의 추가 타일들 및/또는 슬라이스들을 식별하거나, 상기 설명된 바와 같이 "비디스플레이" 프레임들로서 표시되고 있는 추가 비디오 프레임들을 식별할 수 있다.
이후, 추가 정보는, 예를 들어 파노라마 이미지(510)를 업데이트하기 위해 스티칭 컴포넌트(406)에 의해 사용된다. 일반적으로, 스티칭 컴포넌트(406)는 원본 이미지들(A, B, C, D) 내의 오버랩되는 부분들(502a, 502b, 502c)에 대응하는 부분들(512a, 512b, 512c) 내의 파노라마 이미지(510)를, 이들 부분들(512a, 512b, 512c)을 생성할 때 무시되었던 이미지 데이터(522a, 522b, 522c)를 블렌딩함으로써 파노라마 이미지(510)를 업데이트할 수 있다. 일반적으로, 블렌딩은 가중 평균을 계산하는 것을 포함한다. 예로서, 스티칭 컴포넌트(406)는 파노라마 이미지(510)의 부분들(512a) 내의 이미지 데이터 및 무시된 이미지 데이터(520)의 부분(522b) 내의 이미지 데이터의 가중 평균을 계산함으로써 파노라마 이미지(510)의 부분(512a)을 업데이트할 수 있다. 따라서, 원본 이미지들A 및 B)로부터의 이미지 데이터는 파노라마 이미지(510)의 부분(512a) 내에 블렌딩될 것이다. 유사하게는, 이미지들(B 및 C)의 이미지 데이터는 부분(512b) 내에 블렌딩되고, 이미지들(C 및 D)의 이미지 데이터는 부분(512c) 내에 블렝딘된다.
가중 평균을 계산할 때 적용된 가중치들은 픽셀 단위로 선택될 수 있다. 예를 들어, 가중치들은 부분(512a, 512b, 512c)의 경계에 대한 근접성에 기초하여 선택될 수 있다. 예로서, 이미지(A)로부터 발생하는 이미지 데이터의 경우, 가중치는 이미지(A)의 비오버랩되는 부분(504a)에 대응하는 부분(514a)에 가장 가까운 거리의 함수일 수 있다. 이는 파노라마 이미지(510)의 부분(512a) 내의 블렌딩에 대해 도 6에 더 도시된다.
도 6은 파노라마 이미지(510)의 부분(512a)을 도시한다. 이 부분에서 가중 평균은 이미지들(A 및 B), 즉 w1 A + w2 B로부터의 이미지 데이터로부터 형성된다. 가중치(w1)는 부분(512a)의 좌측 주변부에 대한, 즉 (이미지(A)의 비오버랩되는 부분(504a)에 대응하는) 부분(514a 및 512a) 사이의 경계에 대한 거리의 감쇄 함수이다. 가중치(w2)는 대신에 부분의 우측 주변부까지의, 즉 (이미지(B)의 비오버랩되는 부분(504a)에 대응하는) 부분(514b 및 512ab) 사이의 경계까지의 거리의 감쇄 함수이다. 가중치들은 1로 합계되어, 가중 평균을 야기할 수 있다. 여기서 가중치들은 부분(512a)의 주변부에 대한 거리의 선형 함수로서 도시된다. 그러나, 실제로, 기능의 정확한 형태가 다양할 수 있다. 그러나, 바람직하게는, 이는 평활 함수이다.
다른 실시예에 따르면, 가중치들은 픽셀 단위로 선택될 수 있을 뿐만 아니라 공간 주파수에 따라 다를 수도 있다. 예를 들어, 파노라마 이미지(500)의 부분(512a)의 이미지 데이터는, 예를 들어 저역 통과 필터 및 고역 통과 필터를 사용하여 이미지들을 공간적으로 필터링함으로써, 저주파 컨텐츠 및 고주파 컨텐츠로 분리될 수 있다. 유사하게는, 무시된 이미지 데이터(522a)는 저주파 컨텐츠 및 고주파 컨텐츠로 분리될 수 있다. 저주파수들은 일반적으로 제1 임계값 아래의 주파수들을 의미하고, 고주파수들은 일반적으로 제2 임계값보다 높거나 동일한 주파수들을 의미한다. 제1 및 제2 임계값은 동일할 수 있다. 이후, 스티칭 컴포넌트(406)는 부분들(512a 및 522b)의 이미지 데이터의 저주파 컨텐츠에 대한 제1 가중 평균 및 부분들(512a 및 522b)의 이미지 데이터의 고주파 컨텐츠에 대한 제2 가중 평균을 계산할 수 있다.
제1 및 제2 가중 평균을 계산할 때 사용되는 가중치들은 상이하게 선택될 수 있다. 예를 들어, 제1 가중 평균을 계산할 때 사용되는 가중치들은 도 6을 참조하여 상기 설명된 것에 따라 선택될 수 있다. 제2 가중 평균을 계산할 때 사용되는 가중치들은 0 또는 1과 동일하도록 선택될 수 있다. 따라서 고주파수들의 경우 어떠한 블렌딩도 발생하지 않는다. 예로서, 다시 파노라마 이미지(510)의 부분(512a)을 참조하면, 이미지(A)의 고주파 컨텐츠에 적용된 가중치(w1)은 1로 설정될 수 있고, 이미지(B)의 고주파 컨텐츠에 적용된 가중치(w2)는 부분(512a)의 우측 경계보다 좌측 경계에 더 가까운 픽셀들의 경우 0으로 설정될 수 있다. 반대로, 이미지(A)의 고주파수 컨텐츠에 적용된 가중치(w1)는 0으로 설정될 수 있고, 이미지(B)의 고주파 컨텐츠에 적용된 가중치(w2)는 부분(512a)의 좌측 경계보다 우측 경계에 더 가까운 픽셀들의 경우 0으로 설정될 수 있다.
가중치들은 또한 파노라마 이미지(510)의 부분들(512a, 512b, 512c)의 이미지 데이터 및 무시된 이미지 데이터(522a, 522b, 522c)에 의존하도록 설정될 수 있다. 예를 들어, 원본 이미지들(A, B, C, D)의 오버랩되는 부분들(502a, 502b, 502c) 중 하나를 커버하는 객체 또는 객체의 일부가 있는 경우, 적어도 객체에 의해 커버되는 픽셀들의 경우, 오버랩되는 부분 내의 오버랩되는 이미지들 중 하나로부터 이미지 데이터만을 사용하는 것이 유리할 수 있다. 시차로 인해, 그렇지 않으면, 객체가 결과적인 파노라마 이미지 내에 중복으로 도시될 수 있다는 위험이 있다. 따라서, 스티칭 컴포넌트(406)는 파노라마 이미지(500)의 부분들(512a, 512b, 512c) 내의 객체들 또는 객체들의 일부를 식별할 수 있다. 유사하게는, 스티칭 컴포넌트(406)는 대응하는 무시된 이미지 데이터(522a, 522b, 522c)의 객체들 또는 객체들의 일부들을 식별할 수 있다. 객체 식별은, 예를 들어, 본 분야에 공지된 바와 같이 이미지 데이터 내의 에지들, 코너들, 또는 콘트라스트 포인트들의 식별을 포함할 수 있다. 스티칭 컴포넌트(406)가 부분(512a, 512b, 512c) 및 무시된 이미지 데이터(522a, 522b, 522c)의 대응 피스 모두에서 객체 또는 객체의 일부를 식별하는 경우, 상기 설명된 가중 평균을 형성할 때 사용된 가중치는 객체에 속하는 픽셀들의 경우 파노라마 이미지(510) 및 무시된 이미지 데이터(520) 중 하나의 경우 0으로 설정된다.
스티칭 컴포넌트(406)가 파노라마 이미지(510)를 업데이트해왔을 때, 업데이트된 파노라마 이미지는 클라이언트 디바이스의 디스플레이 상에 디스플레이될 수 있다.
상기 설명은 주로 파노라마 이미지의 평활도를 개선시키기 위해 파노라마 이미지를 업데이트하는 것에 관한 것이지만, 커스터마이즈된 클라이언트 디바이스는 추가적으로 수신된 데이터, 즉, 파노라마 이미지를 생성할 때 카메라 측에서 무시되었던 이미지 데이터를 또한 사용할 수 있다는 것이 이해되어야 한다. 예를 들어, 클라이언트 디바이스는 파노라마 이미지(510) 및 무시된 이미지 데이터(520)로부터 복수의 이미지들을 복원할 수 있다. 다른 예에 따르면, 클라이언트 디바이스는 원본 이미지들의 오버랩되는 부분들(502a, 502b, 502c)에 대응하는 부분들(512a, 512b, 512c)의 깊이 정보를 계산하기 위해 수신된 파노라마 이미지(510) 및 무시된 이미지 데이터(520)를 사용할 수 있다. 깊이 정보는 이미지들(A, B, C, D)의 오버랩 내에 디스패리티(disparity)에 기초하여 계산될 수 있다.
상기 방법이 부분적으로 오버랩되는 시야를 갖는 복수의 이미지 센서들을 사용함으로써 복수의 이미지들을 동시에 캡처하는 비디오 카메라의 문맥에서 설명되어왔지만, 다른 상황들에도 적용가능하다. 예를 들어, 단일 이미지 센서를 갖는 비디오 카메라는, 예를 들어, 패닝 및 틸트 모션들을 수행함으로써 이동되어 장면을 스캔할 수 있다. 따라서, 이러한 비디오 카메라에 의해 캡처된 비디오 시퀀스는 약간 상이한 위치들 및/또는 방향들로부터 장면을 묘사하는 복수의 이미지를 포함한다. 따라서, 복수의 이미지들은 장면의 부분적으로 오버랩되는 시야에 대응할 것이다. 그러나, 이 경우 이미지들은 동시에 캡처되지 않지만 오히려 상이한 시점에서 캡처되고 있는 비디오 시퀀스의 비디오 프레임들에 대응한다. 상기 설명된 방법은 이러한 방식으로 캡처되고 있는 복수의 이미지들에 대해 필요한 부분만 약간 수정하여 적용될 수 있다. 특히, 방법은:
상기 비디오 카메라가, 부분적으로 오버랩되는 시야를 갖는 복수의 이미지들을 포함하는 비디오 시퀀스를 캡처하는 단계,
상기 비디오 카메라가, 복수의 이미지들 중 적어도 2개의 이미지들이 오버랩되는 부분들로서 복수의 이미지들의 오버랩되는 부분들을 식별하는 단계,
상기 비디오 카메라가, 복수의 이미지들의 부분들을 함께 결합시킴으로써, 복수의 이미지들의 시야의 결합에 대응하는 파노라마 이미지를 생성시키는 단계,
상기 복수의 이미지들의 각 오버랩되는 부분에 대해, 비디오 카메라는 파노라마 이미지에서 오버랩되는 적어도 2개의 이미지들 중 하나로부터 이미지 데이터를 포함하고, 비디오 카메라는 오버랩되는 적어도 2개의 이미지들 중에서 다른 이미지들로부터 이미지 데이터를 무시함,
상기 비디오 카메라가, 파노라마 이미지를 생성할 때 무시되어온 이미지 데이터 및 파노라마 이미지를 인코딩하고, 이들을 인코딩된 비디오 스트림 내의 클라이언트 디바이스에 송신하는 단계,
상기 클라이언트 디바이스가 인코딩된 비디오 스트림을 수신 및 디코딩하고, 클라이언트 디바이스가 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 처리하기 위해 커스터마이즈된 상태에서, 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터를 사용하여 복수의 이미지들의 오버랩되는 부분들에 대응하는 부분들의 파노라마 이미지를 업데이트하는 단계를 포함할 수 있다.
통상의 기술자는 여러 가지 방식으로 상기 설명된 실시예들을 변형할 수 있고, 상기 실시예들에 도시된 바와 같이 본 발명의 이점들을 여전히 사용할 수 있다는 것이 이해될 것이다. 예를 들어, 개시된 방법은 2개 이상의 이미지들이 오버랩되는 부분에서 오버랩될 때 동일하게 적용가능하다. 따라서, 본 발명은 도시된 실시예들에 제한되어서는 안되지만 첨부된 청구 범위에 의해서만 정의되어야 한다. 추가적으로, 통상의 기술자가 이해하는 바와 같이, 도시된 실시예들이 결합될 수 있다.
Claims (15)
- 비디오 카메라(102) 및 클라이언트 디바이스(104a, 104b, 104c)를 포함하는 시스템(100)에서 수행되는 방법으로서,
상기 비디오 카메라(102)가, 부분적으로 오버랩되는 시야를 갖는 복수의 이미지 센서들(103)을 사용함으로써 동시에 복수의 이미지들(A, B, C, D)을 캡처하는 단계(S02),
상기 비디오 카메라(102)가, 복수의 이미지들 중 적어도 2개의 이미지들이 오버랩되는 부분들로서 복수의 이미지들(A, B, C, D)의 오버랩되는 부분들(502a, 502b, 502c)을 식별하는 단계(S04),
상기 비디오 카메라(102)가, 상기 복수의 이미지들의 부분들(514a, 512a, 514b, 512b, 514c, 512c, 514d)을 함께 결합함으로써, 복수의 이미지 센서들의 시야의 결합에 대응하는 파노라마 이미지(510)를 생성시키는 단계를 포함하고,
상기 복수의 이미지들의 각 오버랩되는 부분(502a, 502b, 502c)에 대해, 상기 비디오 카메라는 파노라마 이미지에서 오버랩되는 적어도 2개의 이미지들 중 하나(A, B, C)로부터의 이미지 데이터(512a, 512b, 512c)를 포함하고, 상기 비디오 카메라(102)는 오버랩되는 적어도 2개의 이미지들 중에서 다른 이미지들(B, C, D)로부터의 이미지 데이터(522a, 522b, 522c)를 무시하고,
상기 비디오 카메라가 상기 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)를 인코딩하고, 이들을 인코딩된 비디오 스트림(310)으로 클라이언트 디바이스(104a, 104b, 104c)에 송신하는 단계(S08),
상기 클라이언트 디바이스(104a, 104b, 104c)가 인코딩된 비디오 스트림(104)을 수신 및 디코딩하고, 클라이언트 디바이스(104c)가, 파노라마 이미지(510)를 생성할 때 비디오 카메라(102)에 의해 무시되었던 이미지 데이터(522a, 522b, 522c)를 처리하기 위해 커스터마이스된 상태에서, 상기 클라이언트 디바이스(104c)는, 파노라마 이미지(510)를 생성할 때 비디오 카메라(102)에 의해 무시되었던 이미지 데이터(522a, 522b, 522c)를 사용하여 복수의 이미지들의 오버랩되는 부분들(502a, 502b, 502c)에 대응하는 부분들(512a 512b, 512c)에서 파노라마 이미지(510)를 업데이트하는 단계(S10)를 포함하는, 방법. - 제1항에 있어서,
상기 클라이언트 디바이스(104c)가, 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지(510)의 각 부분(512a, 512b, 512c)에 대해, 오버랩되는 부분에 대해 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)의 가중 평균을 계산함으로써 파노라마 이미지(510)를 업데이트하는, 방법. - 제2항에 있어서,
상기 가중 평균의 가중치(w1, w2)는 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지의 부분(512a, 512b, 512c)의 주변부에 대한 픽셀의 근접성에 기초하여 픽셀 단위로 선택되는, 방법. - 제3항에 있어서,
상기 가중 평균의 가중치들(w1, w2)은 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지의 부분(512a, 512b, 512c)의 주변부에 대한 픽셀의 근접성의 평활 함수인, 방법. - 제2항 내지 제4항 중 어느 한 항에 있어서,
상기 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지의 각 부분(512a, 512b, 512c)에 대해:
상기 클라이언트 디바이스(104c)가, 상기 오버랩되는 부분에 대해 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)의 제1 가중 평균을 계산하는 단계, 상기 제1 가중 평균은 제1 임계값보다 낮은 공간 주파수들에 대해 계산됨,
상기 클라이언트 디바이스(104c)가, 오버랩되는 부분에 대해 비디오 카메라(102)에 의해 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)의 제2 가중 평균을 계산하는 단계를 더 포함하되, 상기 제2 가중 평균은 제2 임계값과 동일하거나 그보다 높은 공간 주파수들에 대해 계산되고, 상기 제2 임계값은 제1 임계값보다 크거나 동일하며,
상기 파노라마 이미지(510)는 제1 가중 평균 및 제2 가중 평균을 머징함으로써 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 각 부분(512a, 512b, 512c)에서 업데이트되고,
상기 제1 가중 평균 및 제2 가중 평균을 계산하는데 사용되는 가중치들은 상이하게 선택되는, 방법. - 제5항에 있어서,
상기 제1 가중 평균의 가중치는 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지의 부분(512a, 512b, 512c)의 주변부에 대한 근접성의 평활 함수이고,
상기 제2 가중 평균의 가중치는 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지의 부분(512a, 512b, 512c)의 주변부에 대한 근접성에 의존하는 0 또는 1인, 방법. - 제2항에 있어서,
상기 복수의 이미지들의 오버랩되는 부분(502a, 502b, 502c)에 대응하는 파노라마 이미지 부분(512a, 512b, 512c)에서, 및 파노라마 이미지 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c)에서 클라이언트 디바이스(104c)가 객체들을 식별하는 단계를 더 포함하되,
상기 복수의 이미지들의 오버랩되는 부분에 대응하는 파노라마 이미지의 부분(512a, 512b, 512c)에서, 및 파노라마 이미지의 그 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c) 모두에서 객체가 식별된 경우, 그 부분을 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터 및 파노라마 이미지 중 하나의 가중치는 그 객체에 속하는 것으로서 식별되는 픽셀들의 경우 0으로 설정된, 방법. - 제1항에 있어서,
상기 클라이언트 디바이스(104c)가, 상기 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)로부터 복수의 이미지들(A, B, C, D)을 복원하는 단계를 더 포함하는, 방법. - 제1항에 있어서,
상기 클라이언트 디바이스(104c)가, 상기 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)에 기초하여, 복수의 이미지들의 오버랩되는 부분들에 대응하는 파노라마 이미지의 부분들(512a, 512b, 512c)에 대한 깊이 정보를 계산하는 단계를 더 포함하는, 방법. - 제1항에 있어서,
상기 파노라마 이미지를 생성할 때 비디오 카메라에 의해 무시되었던 이미지 데이터(522a, 522b, 522c)를 처리하기 위해 클라이언트 디바이스(104a)가 커스터마이즈되지 않은 상태에서, 상기 클라이언트 디바이스(104a)는 파노라마 이미지를 디스플레이하는 단계를 더 포함하는, 방법. - 제1항에 있어서,
상기 파노라마 이미지(510)는 인코딩된 비디오 스트림(310)에서 타임 스탬프에 의해 표시되는 비디오 프레임으로서 인코딩되고, 상기 비디오 카메라는 동시 스탬프에 의해 파노라마 이미지를 생성할 때 무시되었던 인코딩된 이미지 데이터(522a, 522b, 522c)를 표시하는, 방법. - 제11항에 있어서,
상기 파노라마 이미지(510)를 생성할 때 무시되었던 이미지 데이터(522a, 522b, 522c)는 파노라마 이미지(510)와 동일한 비디오 프레임에서 추가 인코딩 타일들 및 슬라이스들 중에서 하나 이상으로서 인코딩되는, 방법. - 제11항에 있어서,
상기 파노라마 이미지(510)를 생성할 때 무시되었된 이미지 데이터(522a, 522b, 522c)는 하나 또는 그 이상의 별도의 비디오 프레임들로서 인코딩되는, 방법. - 제13항에 있어서,
상기 하나 또는 그 이상의 별도의 비디오 프레임들은 비디스플레이 프레임들로서 표시되는, 방법. - 시스템(100)으로서,
부분적으로 오버랩되는 시야를 갖는 복수의 이미지 센서들(103)을 포함하는 비디오 카메라(102)를 포함하되, 상기 복수의 이미지 센서들(103)은 복수의 이미지들(A, B, C, D)을 동시에 캡처하도록 구성되고,
상기 비디오 카메라(102)는:
상기 복수의 이미지들 중 적어도 2개의 이미지들이 오버랩되는 부분들로서 복수의 이미지들(A, B, C, D)의 오버랩되는 부분들(502a, 502b, 502c)을 식별하고,
상기 복수의 이미지들(A, B, C, D)의 부분들(514a, 512a, 514b, 512b, 514c, 512c, 514d)을 함께 결합함으로써, 복수의 이미지 센서들(503)의 시야의 결합에 대응하는 파노라마 이미지(510)를 생성하고, 복수의 이미지들의 각 오버랩되는 부분(502a, 502b, 502c)에 대해, 비디오 카메라(102)는 파노라마 이미지에서 오버랩되는 적어도 2개의 이미지들 중 하나(A, B, C)로부터 이미지 데이터(512a, 512b, 512c)를 포함하고, 오버랩되는 적어도 2개의 이미지들 중에서 다른 이미지들(B, C, D)로부터 이미지 데이터(522a, 522b, 522c)를 무시하도록 구성됨,
상기 파노라마 이미지를 생성할 때 무시되었던 이미지 데이터(522a, 522b, 522c) 및 파노라마 이미지(510)를 인코딩하고, 이들을 비디오 스트림(310)으로 클라이언트 디바이스(104c)에 전송하도록 더 구성되며,
상기 시스템은:
상기 비디오 스트림(310)을 수신 및 디코딩하고, 파노라마 이미지(510)를 생성할 때 비디오 카메라(102)에 의해 무시되었던 이미지 데이터(522a, 522b, 522c)를 사용하여 복수의 이미지들의 오버랩되는 부분들(502a, 502b, 502c)에 대응하는 부분들(512a, 512b, 512c)의 파노라마 이미지(510)를 업데이트하도록 구성되는 클라이언트 디바이스(104c)를 더 포함하는, 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17171354.8A EP3404913B1 (en) | 2017-05-16 | 2017-05-16 | A system comprising a video camera and a client device and a method performed by the same |
EP17171354.8 | 2017-05-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180125878A KR20180125878A (ko) | 2018-11-26 |
KR102082327B1 true KR102082327B1 (ko) | 2020-02-27 |
Family
ID=58772353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180037162A KR102082327B1 (ko) | 2017-05-16 | 2018-03-30 | 비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템 및 그에 의해 수행되는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10511769B2 (ko) |
EP (1) | EP3404913B1 (ko) |
JP (1) | JP6666949B2 (ko) |
KR (1) | KR102082327B1 (ko) |
CN (1) | CN108881713B (ko) |
TW (1) | TWI728244B (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10616559B1 (en) * | 2018-12-12 | 2020-04-07 | Vmware, Inc. | Virtual stereo device redirection for virtual desktops |
CN111447403B (zh) * | 2019-01-16 | 2021-07-30 | 杭州海康威视数字技术股份有限公司 | 一种视频显示方法、装置及系统 |
EP3713235B1 (en) * | 2019-03-19 | 2023-08-02 | Axis AB | Methods and devices for encoding a video stream using a first and a second encoder |
WO2021003263A1 (en) * | 2019-07-01 | 2021-01-07 | Geomagical Labs, Inc. | Method and system for image generation |
CN110753217B (zh) * | 2019-10-28 | 2022-03-01 | 黑芝麻智能科技(上海)有限公司 | 色彩平衡方法和装置、车载设备以及存储介质 |
US11423559B2 (en) * | 2020-06-30 | 2022-08-23 | Bnsf Railway Company | Systems and methods for reconstructing objects using transitional images |
WO2022081717A1 (en) * | 2020-10-13 | 2022-04-21 | Flyreel, Inc. | Generating measurements of physical structures and environments through automated analysis of sensor data |
CN112437231B (zh) * | 2020-11-24 | 2023-11-14 | 维沃移动通信(杭州)有限公司 | 图像拍摄方法和装置、电子设备及存储介质 |
EP4060982B1 (en) * | 2021-03-15 | 2023-06-28 | Axis AB | Method and monitoring camera for handling video streams |
WO2023276007A1 (ja) * | 2021-06-29 | 2023-01-05 | 三菱電機株式会社 | 映像配信装置、ユーザ端末、プログラム、映像配信システム及び映像配信方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011211398A (ja) | 2010-03-29 | 2011-10-20 | Nikon Corp | 電子機器、およびパノラマ画像表示プログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006080739A1 (en) | 2004-10-12 | 2006-08-03 | Electronics And Telecommunications Research Institute | Method and apparatus for encoding and decoding multi-view video using image stitching |
JP4375305B2 (ja) * | 2004-10-26 | 2009-12-02 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
US8947502B2 (en) * | 2011-04-06 | 2015-02-03 | Qualcomm Technologies, Inc. | In camera implementation of selecting and stitching frames for panoramic imagery |
JP5359783B2 (ja) * | 2009-10-28 | 2013-12-04 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
CN102263926A (zh) * | 2010-05-31 | 2011-11-30 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及其图像处理方法 |
US20120293607A1 (en) * | 2011-05-17 | 2012-11-22 | Apple Inc. | Panorama Processing |
US8600194B2 (en) * | 2011-05-17 | 2013-12-03 | Apple Inc. | Positional sensor-assisted image registration for panoramic photography |
US9516225B2 (en) * | 2011-12-02 | 2016-12-06 | Amazon Technologies, Inc. | Apparatus and method for panoramic video hosting |
US10547825B2 (en) * | 2014-09-22 | 2020-01-28 | Samsung Electronics Company, Ltd. | Transmission of three-dimensional video |
CN104506826B (zh) * | 2015-01-13 | 2017-09-12 | 中南大学 | 一种无有效重叠区域的定点定向视频实时拼接装置 |
WO2016165016A1 (en) * | 2015-04-14 | 2016-10-20 | Magor Communications Corporation | View synthesis-panorama |
US11106273B2 (en) * | 2015-10-30 | 2021-08-31 | Ostendo Technologies, Inc. | System and methods for on-body gestural interfaces and projection displays |
US10148939B2 (en) * | 2016-07-19 | 2018-12-04 | Gopro, Inc. | Mapping of spherical image data into rectangular faces for transport and decoding across networks |
US20180101934A1 (en) * | 2016-10-06 | 2018-04-12 | Macau University Of Science And Technology | Device and a method for creating an image |
US10194097B2 (en) * | 2017-01-13 | 2019-01-29 | Gopro, Inc. | Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images |
EP3419278B1 (en) * | 2017-06-20 | 2019-09-25 | Axis AB | A multi-sensor video camera, and a method and processing pipeline for the same |
-
2017
- 2017-05-16 EP EP17171354.8A patent/EP3404913B1/en active Active
-
2018
- 2018-03-30 KR KR1020180037162A patent/KR102082327B1/ko active IP Right Grant
- 2018-04-12 TW TW107112550A patent/TWI728244B/zh active
- 2018-05-08 CN CN201810431240.5A patent/CN108881713B/zh active Active
- 2018-05-09 JP JP2018090325A patent/JP6666949B2/ja active Active
- 2018-05-15 US US15/980,392 patent/US10511769B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011211398A (ja) | 2010-03-29 | 2011-10-20 | Nikon Corp | 電子機器、およびパノラマ画像表示プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN108881713A (zh) | 2018-11-23 |
JP2018201197A (ja) | 2018-12-20 |
EP3404913A1 (en) | 2018-11-21 |
TWI728244B (zh) | 2021-05-21 |
US10511769B2 (en) | 2019-12-17 |
JP6666949B2 (ja) | 2020-03-18 |
KR20180125878A (ko) | 2018-11-26 |
EP3404913B1 (en) | 2019-11-06 |
TW201907702A (zh) | 2019-02-16 |
US20180338084A1 (en) | 2018-11-22 |
CN108881713B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102082327B1 (ko) | 비디오 카메라 및 클라이언트 디바이스를 포함하는 시스템 및 그에 의해 수행되는 방법 | |
US11575870B2 (en) | 3D video encoding and decoding methods and apparatus | |
EP3316589B1 (en) | Video synchronization device and video synchronization method | |
CN108012155A (zh) | 预拼接图像的视频编码方法、视频解码方法和相关的装置 | |
US8204133B2 (en) | Method and apparatus for encoding and decoding multi-view video using image stitching | |
US8488870B2 (en) | Multi-resolution, multi-window disparity estimation in 3D video processing | |
WO2016002130A1 (ja) | 撮影方法、撮影システム、端末装置およびサーバ | |
CN109074161A (zh) | 用于360度视频的混合图形及像素域架构 | |
JP4573366B2 (ja) | 動きベクトル符号化方法及び符号化装置 | |
US20120170654A1 (en) | Video coding system using implied reference frames | |
EP1889490A1 (en) | Multi-view image system and method for compressing and decompressing applied to the same | |
US11812045B2 (en) | Decoder and decoding method | |
US7606391B2 (en) | Video content scene change determination | |
CN108391028B (zh) | 一种自适应拍摄方向的可见光隐式成像通信方法 | |
JP2015511780A (ja) | ビデオ画像送信方法、装置及びシステム | |
US12119025B2 (en) | Image processing device, image processing method, and image processing program | |
CN205812229U (zh) | 一种头戴显示器、视频输出设备和视频处理系统 | |
US11736725B2 (en) | Methods for encoding decoding of a data flow representing of an omnidirectional video | |
US9118928B2 (en) | Method and system for providing single view video signal based on a multiview video coding (MVC) signal stream | |
US20080144950A1 (en) | Image Encoding Method and Associated Image Decoding Method, Encoding Device, and Decoding Device | |
Liu et al. | Coding of 3D holoscopic image by using spatial correlation of rendered view images | |
US12125171B2 (en) | Video denoising method and apparatus, and storage medium | |
JPH02305287A (ja) | 画像符号化方法 | |
JP2013232967A (ja) | 動画像復号装置、動画像復号方法及び動画像復号プログラム | |
KR20120041532A (ko) | 양안식 비디오 송신 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |