为什么虚拟现实视频看上去那么粗糙?

2023-11-17

分辨率

Gear VR 可以支持超高分辨率(UHD) 的播放。在像素方面,UHD视频每一帧有 3840 像素宽 x 1920 像素高的大小。视频经常播放 30 帧每秒 (较低的分辨率也支持高帧率)。Galaxy S6 手机显然是能够轻松地播放 4k 视频的。但这分辨率实在太低,看不到太清的图像。
 要明白个中原因,我们需要回答关于分辨率的两个不同的问题。我们看这个Galaxy 屏幕的显示分辨率是多少呢? 让我们把它叫做屏幕分辨率。第二个问题是,在头显中我们可以看到多大的UHD图像 ?我们把它叫做视场分辨率。
 Galaxy S6 的屏幕分辨率为 2560 x 1440 像素。所以每只眼睛可以看到 1280 x 1440 像素的图像,通过Gear VR的单个透镜进行查看。
 [题外话 ︰ Gear VR 镜头会扭曲图像,实际分辨率是 1280 x 1280。每只眼睛可以看到 1280 x 1280 的图像。还不算太糟糕,但这并不是全屏。但在超过 500 像素 / 英寸的图像下,这应该足够使图像变得清晰。]
 让我们回到视场分辨率上。记得视频的每一帧是 3840 × 1920 像素,但是这个视频的每一帧都需要填补 360 ° 的水平视图和 180 ° 的垂直视图。对于Gear VR来说 ,视场是 96 ° — — 超过 360 ° 视图的四分之一多点。当我们查看图像时,我们只会看到一个小方形截面。我们移动头的方向的时候,视野图像就需要更新, 而软件显示的这小部分视图正是我们在某一特定时刻所能看到的图像。这个小方框就被叫做视场。
 视场只是完整的 360 ° 全景视频的一小部分
 简单的数学运算显示,每一度的视图对应 10.6667 的像素 (1920像素/180 度 = 10.6667 像素/度)。乘 10.6667 x 96的话,你得到的是 1024。
 所以我们透过头显看到的图像是 1024 x 1024 像素 (最多),但显示的大小是 1280 x 1280 像素。还有为什么视频看起来那么粗糙呢。 用软件剪切出来的这一小段视频比显示的分辨率要小。因此软件需要拉伸图像来达到视场所需的分辨率。这还是以较低的标准来衡量的,因为Galaxy 手机需要同时解压图像并把图像投射到屏幕上。这样的结果是,图像会有一点点的粗糙。但 20%的程度不算什么大问题。

立体使它变得更糟

 到目前为止讨论的显示问题都只和单源视频有关 (每只眼睛都看到相同的图像)。若要增加沉浸感,立体显示是首选, 每只眼睛看到的偏移图像将会欺骗你大脑的深度感知。对于Gear VR ,立体显示能真正提高现实感。立体图像看起来更加逼真,这是因为偏移量有助于区分场景中的物体。对Gear VR来说, 一些 3D 游戏可以在立体环境中操作,使玩家觉得更加真实。
 每只眼睛在理想情况下应该得到高分辨率的 360 ° 视图。这就要求我们在一维空间把分辨率加倍,例如垂直情况,每只眼睛都要单独看到图像。
 如果一般的 UHD 视频是 3840 × 1920,每一帧提高一倍分辨率图像将会变成 3840 x 3840的超大图像,这需要硬件支持。但是我们只能将此超大的视频打包在 3840 × 1920 框架上。左眼和右眼共享同一帧的画面,每只眼睛将获取 3840 × 960 像素的图像, 想要覆盖完整的视图,就必须垂直拉伸。
 立体图像从头到脚打包在 3840 x1920 像素里。视场会被垂直挤压 50%。”Image Credit的 鲍勃达斯表示 (Bob Dass) — — Flickr
 两个图像视图打包成一帧的结果是每只眼睛得到的分辨率要小得多。缩放比例 20%不是最好的。但缩放 150%(512 像素垂直拉伸到 1280像素) 会导致分辨率感知损失。无论你的格式填充在哪里, 你都会失去一半的分辨率。

流媒体使其变得更小

 当我们看着流式视频的时候,情况会变得更糟。 YouTube 360 ° 和其他流式视频服务的分辨率会比4k分辨率低, 这是因为很少有观众有足够大的宽带来观看UHD视频。 因为播放的视频是从互联网上的一个服务器下载观看而不是在本地设备上直接观看,所以他们降低分辨率来保持稳定的流媒体体验。通常, 图像会在 2048 x 1024 的分辨率上上显示。使用上面的公式计算的话,YouTube 每帧 540 x 540 像素的视场分辨率就足够了。360 ° 视频流媒体播放高清分辨率的视频时候, 真的像在看一台只有 720 x 480 或 720 x 576分辨率的旧电视 ,而且它必须拉伸 230%才能全屏播放,这就是为什么播放立体声 VR 视频的时候, 会看起来会很粗糙。
 越大越好
 对于目前的播放设备例如 Galaxy S6 (甚至是即将发布的Oculus Rift ),略大于显示器分辨率的视场分辨率会有帮助。把稍大的图像缩减一下会使图像看起来更加平滑并将减少失真和噪点。
 1536 × 1536 像素分辨率会是一个好的分辨率。这比显示器分辨率大 17%左右,在我们的测试中,它的体验有了很大的改善。我们继续使用上面提到的公式, 如果我们想要用1536像素来覆盖 96 ° 视场的话,我们需要 16 像素/度的分辨率。乘以360 ° × 180 °,你将得到 5760 x 2880 的分辨率。结果显示我们需要近 6000 像素以获得更高覆盖率的图像。
 那立体声呢?记住,对于立体图像,理想的情况是每只眼睛都能看到高分辨图像 (一个聪明的办法是把左眼和右眼钉在一起) 。粗糙的计算,这至少需要 5760 像素宽 5760 像素高的视频文件。这相当于 3千3百万像素的视频。即使有千兆位网速或 5 G 无线网络和更好的压缩, 制作能播放3千3百万像素视频的头显将会成为一个巨大的挑战。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么虚拟现实视频看上去那么粗糙? 的相关文章

  • 广西高等教育学会高校教育技术委员会莅临瑞云科技考察交流

    2023年3月18日上午11点整 广西高等教育学会高校教育技术专业委员会组织了一批来自广西各院校的专家老师 来到深圳市瑞云科技股份有限公司 以下简称瑞云科技 参观考察 瑞云科技是一家专注为视觉行业提供垂直云计算服务的公司 用户超20万 遍及
  • 【GB28181】PJSIP库(六)使用视频:获取图像、本地预览、发送接收视频等

    目录 郭老二博文之 图像视频汇总 1 简介 PJSUA2 的媒体对象均派生自抽象基类pj Media 媒体对象是指能够生成或读取媒体的对象 类pj VideoMedia派生自pj Media 代表视频媒体 PJSUA2 支持多种类型的视频媒
  • HTML5实现音频和视频嵌入

    简介 HTML5未出来之前 在线的音频和视频都是借助Flash或者第三方工具实现的 现在HTML5也支持了这方面的功能 在一个支持HTML5的浏览器中 不需要安装任何插件就能播放音频和视频 原生的支持音频和视频 为HTML5注入了巨大的发展
  • 3DCAT携手华为,打造XR虚拟仿真实训实时云渲染解决方案

    2023年5月8日 9日 以 因聚而生 众志有为 为主题的 华为中国合作伙伴大会2023 在深圳国际会展中心隆重举行 本次大会汇聚了ICT产业界的广大新老伙伴朋友 共同探讨数字化转型的新机遇 共享数字化未来的新成果 华为中国合作伙伴大会20
  • Qt源码重新编译QtMultimedia模块解决XP播放视频问题

    当用qml的MediaPlayer在XP系统下播放视频时 会报错 QtMultimedia defaultServiceProvider requestService no service found for org qt project
  • 绿幕换背景、绿幕视频实时换背景

    PS 陆陆续续做绿幕抠图相关的工作也有2年之久了 一直研究普通摄像头下的绿幕抠图工作 这样的工作要比摄影棚下的难度要高很多 当然现在也出来很多的工具 抠图算法也越来越成熟 本人较懒 后面会一点点的把相关内容补齐 先上图 上面是效果 边缘做的
  • three.js全景视频

    小生最近学习three js 将three js官网提供的网站实例翻译翻译 共同学习 接下来翻译一下 webgl video panorama equirectangular html 运行结果https threejs org examp
  • NDK开发——FFmpeg实现视频转YUV、视频转RGB显示、音频转PCM、音频播放、音视频同步

    项目演示 前提准备 编译FFmpeg CMake并能运行 详细可见我博客 下载libyuv库并编译成libyuv so库 用于实现转换RGB格式功能 FFmpeg库简介 avcodec 编解码 包含 avformate 封装格式处理 avf
  • C#编写的基于VLC的播放器

    首先看一下最终的程序效果 实现的功能 1 打开播放的音视频文件 1 菜单栏 文件 gt 打开 2 工具栏 下面 打开 3 播放器右键 gt 打开 2 暂停 继续播放 停止音视频文件 3 进度条和右下角文本框显示播放进度 4 拖动进度条对视频
  • 虚拟现实(VR)在医疗保健中的5种应用

    医疗保健中的VR虚拟现实 虚拟现实的由来已久 18世纪 法国的医生使用布制的分娩模拟器向助产师和外科医生教授医学技术 在20世纪60年代初 医生一边对心肺复苏学员口述心肺复苏的技巧 一边使用一家塑料玩具厂家制造的塑料娃娃现场演示胸部按压和人
  • 7个视频素材网站,不用再为素材发愁

    1 pond5 https www pond5 com 全球最大的开放版权视频合集 不仅有视频 还有音乐 动态图片 用这些世界级的好素材 让你的视频如虎添翼 2 splashbase http www splashbase co 在这里搜索
  • 谷歌整体战略:关于人工智能、云服务和登月计划的未来

    转载自我的博客 谷歌整体战略 关于人工智能 云服务和登月计划的未来 CB Insights 今日发布了一篇关于谷歌业务战略的深度分析报告 Google Strategy Teardown Betting The Future On AI C
  • AVPlayer视频播放

    AVFoundation中的元数据 Apple环境下的媒体类型主要有四种 QuickTime mov MPEG 4 video mp4和m4v MPEG 4 audio m4a MPEG Layer III audio mp3 使用元数据
  • “元宇宙”,究竟离我们有多远?(下)

    目录 引言 由 Z世代 引入 元宇宙 1 黑客帝国 究竟什么才是真实的世界 1 1 故事背景 1 2 矩阵 Matrix 矩阵计算与AI革命 1 3 D j vu 1 4 红蓝药丸 1 5 绿色代码雨 附源码 1 6 元宇宙 2 专访 时隔
  • 影视剪辑,短视频从拍摄到剪辑,超详细教程

    Hello 在这个短视频时代很多小伙伴想拍摄短视频 却无从下手 给你们分享一下 新手拍短视频的技巧 希望能帮助你轻松入门 关于视频后期制作也分享8个技巧 一 闪白 在视频拍摄剪辑合成节目时 如果不直接使用白帧叠化 而是在原素材上调高gamm
  • Unity3D:角色拾取技术

    工程包下载 Unity3D虚拟现实开发之角色拾取 这个是成品图 角色拾取的原理是 由摄像机与屏幕上鼠标点击的位置确定一条射线 由此射线射向3D世界 最先和此射线相交的物体就是被选中的物体 然后对该物体的操控编写对应的代码即可 具体代码如下
  • [从零开始学DeepFaceLab-7]: 使用-命令行八大操作步骤-第4步:从目标图片中提取所需图片

    目录 总体流程 步骤4 从源片中提取脸部图片 4 1 命令 4 data src faceset extract MANUAL bat 不推荐使用
  • 为什么虚拟现实视频看上去那么粗糙?

    分辨率 Gear VR 可以支持超高分辨率 UHD 的播放 在像素方面 UHD视频每一帧有 3840 像素宽 x 1920 像素高的大小 视频经常播放 30 帧每秒 较低的分辨率也支持高帧率 Galaxy S6 手机显然是能够轻松地播放 4
  • 抖音如何变现(赚钱)

    未来 每个人都能出名15分钟 安迪 沃霍尔 美国著名波谱艺术领袖 有必要见一下伟大预言家的风采 预言了短视频的兴起 突如一夜春风来 五洲四海刷抖音 2017 2018抖音突然火起了 从城市到农村 从国内到国外 从老人到小孩 从男人到女人 各
  • C#使用NuGet包播放视频之二————读取RTSP流

    RTSP流的读取 上篇文章做到读取本地摄像头 基本事都做完了 这篇文章将RTSP流加进去 双击窗体中ToolStrip的RTSP 为之添加事件 事件中编写代码如下

随机推荐

  • C语言中的static 详细分析

    google了近三页的关于C语言中static的内容 发现可用的信息很少 要么长篇大论不知所云要么在关键之处几个字略过 对于想挖掘底层原理的初学者来说参考性不是很大 所以 我这篇博文博采众家之长 把互联网上的资料整合归类 并亲手编写程序验证
  • 仓鼠与厕鼠

    author skate time 2010 05 28 仓鼠与厕鼠 昨天晚上坐车回家的路上 看见来来往往的人流与车流 行走在高楼之间的马路上 心里当时有个触动 把自己抛离这个画面 站在一个全局的角度看 看似简单的画面 却让人感触很深 行走
  • [Windows驱动开发](一)序言

    笔者学习驱动编程是从两本书入门的 它们分别是 寒江独钓 内核安全编程 和 Windows驱动开发技术详解 两本书分别从不同的角度介绍了驱动程序的制作方法 在我理解 驱动程序可分为两类三种 第一类 传统型驱动 传统型驱动的特点就是所有的IRP
  • 解决网页不能复制或者答题不可粘贴

    F12 gt F1 gt Debugger Disable JavaScript 打勾
  • 用最简单的例子告诉你kafka是怎么用的

    1 首先打开zookeeper集群和kafka集群 三台都开上 2 创建 Kafka 主题 call 在任意几点创都可以 kafka topics sh zookeeper hadoop01 2181 topic call create r
  • Python每日练习题以及答案解析,还不进来测试一下?

    问题引入 现在有5个小朋友要分糖果 他们按照自己的编号顺序围坐在一张圆桌旁边 他们身上都有一些糖果 通过输入来决定每个小孩糖果的数量 从1号小朋友开始 将自己的糖果平均分成最多的3份 多出来的自己吃掉 自己留一份 其余两份分给他相邻的两位小
  • Python中字符串中函数rfind()用法

    Python中字符串中函数rfind 用法 1 rfind 函数概述 rfind 用来在一个字符串中查找一个字符串的最后出现时的索引位置 2 语法 str rfind substr beg 0 end len string rfind 方法
  • Jlink使用技巧之合并烧写文件

    文章目录 前言 准备 创建工程 1 打开JFlash 2 创建新工程 3 选择芯片的型号 4 打开要合并的程序文件1 bootloader hex 5 打开要合并的程序文件2 app hex 6 保存合并后的文件 注意 JLink软件的下载
  • select函数详解

    select函数的功能和调用顺序 使用select函数可以完成非阻塞方式工作的程序 它能够监视我们需要监视的文件描述符的变化情况 读写或是异常 非阻塞方式 non block 就是进程或线程执行此函数时不必非要等待事件的发生 一旦执行肯定返
  • 安装计算机一级出现appcrash,电脑appcrash的问题怎么修复

    电脑是很复杂的程序代码设计的 因而有时会遇到一些奇怪的问题 而APPCRASH错误也是其中一种 如运行程序出现APPCRASH错误 我们在日志中查看事件名称为APPCRASH 这时很多朋友不知道怎么解决 下面小编和大家一起分享下修复这个问题
  • php服务不可用,ThinkPHP/Library/Vendor/Tcpdf/fonts/uni2cid_ak12.php · 白俊遥/thinkphp-bjyadmin - Gitee.com...

    unicode to cid conversion table is from ftp ftp oreilly com pub examples nutshell cjkv adobe cid2code txt in ak12 tar Z
  • SAP与 WebService接口的配置与调用

    SAP 能通过设置WebService与外部的webservice服务连接 1 进入事务 SE80 选择 Package 指定保存的开发包 如图 创建一个Enterprise Service 2 在弹出的下一个窗口中选择 URL HTTP
  • Unity2018打包图集(SpriteAtlas)以及使用

    将编辑器中Edit ProjectSettings Edit SpritePacker Mode设置为AlwaysEnabled Assets右键Create创建SpriteAtlas 将需要打包图集的图片文件夹选中 然后点击packpre
  • C语言:二分查找(折半查找),冒泡排序

    目录 一 二分查找 二分查找的需注意的细节 二 冒泡排序 冒泡排序需注意的细节 本篇博客详细讲解常用的几个方法 分别是二分查找和冒泡排序法 一 二分查找 二分查找 意思就是每次都分为两部分 将查找的数字和中间数字相比 判断大小后确定所查找数
  • ajax 填充下拉框,使用ajax填充下拉框--普通select

    1 与普通select有区别的是另一种带分组的select 2 带分组的select见另一篇 使用ajax填充下拉框 分组select 3 两者均使用ajax填充 数据来源于后台大哥 效果如下图 html 运营商 js callBack f
  • Centos 8.0中安装Redis服务器

    企业级开发中 经常需要把一些中间件安装在Linux服务上 主要考虑到linux服务器的性能吧 1 官网下载Linux版安装包 Redis 楼主使用的是 6 2 1 目前最新是6 2 6 差别不大 2 使用XShell 和Xftp连接Cent
  • 关于C++智能指针

    普通指针到智能指针的转换 int iPtr new int 42 shared ptr
  • Android Studio中的keystore

    跟着导师第一次做一个使用人数达到4位数的软件 软件提供了更新 结果在更新的时候发现 有的人显示的是已安装了存在签名冲突的同名数据包 不能安装 查了下发现是keystore的问题 直接用apk文件夹下的debug版本的apk放在服务器给他们安
  • JVM jmap命令

    作用 主要用来生成堆dump文件 C Users qianqian gt jmap h Usage jmap option
  • 为什么虚拟现实视频看上去那么粗糙?

    分辨率 Gear VR 可以支持超高分辨率 UHD 的播放 在像素方面 UHD视频每一帧有 3840 像素宽 x 1920 像素高的大小 视频经常播放 30 帧每秒 较低的分辨率也支持高帧率 Galaxy S6 手机显然是能够轻松地播放 4