FPGA VR摄像机-拍摄和拼接立体 360 度视频

本文介绍的是 FPGA VR 相机的第二个版本,第一个版本是下面这样:

第一版地址:

https://hackaday.io/project/26974-vr-camera-fpga-stereoscopic-3d-360-camera

本文主要介绍第二版本,第二版本的 VR 摄像机,能够以 30fps 的速度拍摄 4k(3840 x 1920)立体 360 度视频,同时在摄像机上实时拼接和编码。除了最终的 H.264 编码将在 Nvidia Jetson TX2 上执行之外,所有图像处理功能都将在 FPGA 上执行。

硬件组成

  • 友晶DE10-Nano

  • 8×Aptina AR0330 摄像头模块,带 12 毫米镜头卡口

  • 2×四摄像头接口PCB

  • 1×NVIDIA Jetson TX2

下面显示的是相机的主数据流和硬件连接图。

FPGA VR摄像机-拍摄和拼接立体 360 度视频_第1张图片

以下是迄今为止已成功实现的功能:

  • 相机I2C控制

  • 去马赛克模块

  • 相机图像变形矫正模块

  • 摄像头接口PCB

  • 灰度图像到单位像素

  • 3D 图像拼接/块匹配/光流

将灰度图像分成 3 个垂直部分:左、中、右。这三分之一都是完整 360 度水平图像的 45 度切片。因为我们有 8 个均匀分布的摄像机,这意味着我们的摄像机彼此之间的角度为 360/8 = 45 度。由此,我们知道,如果我们将摄像机 A、B、C 排列如下:

FPGA VR摄像机-拍摄和拼接立体 360 度视频_第2张图片

那么摄像机 A 的右三分之一、摄像机 B 的中心和摄像机 C 的左三分之一必须都指向同一方向。如果他们都在看无限远的东西,那么所有三个切片都应该是完全相同的图像。然而,我们希望在输出图像中显示深度。因此,我们将使用摄像机 C 的左三分之一和摄像机 A 的右三分之一来分别提供当观看者面向该方向时的右眼和左眼的图像。当观看者将头转向左侧时,他们的右眼将从看到摄像机 C 的左侧三分之一转向摄像机 B 的左侧三分之一。

开源地址

https://github.com/colinpate

https://github.com/colinpate/fpga-vr-remap

CAD外形:

https://cad.onshape.com/documents/e230395963de661bfa5c14c7/w/05d75a95b60ee2972e714205/e/a708f4a0d0e872dd361e0a75

FPGA VR摄像机-拍摄和拼接立体 360 度视频_第3张图片

你可能感兴趣的:(fpga开发,vr,音视频)