3D视频的播放

人眼产生立体效果的条件有两个:
1.须要左右眼两路影像,这两路影像是不同的。具有正确的视差;
2.进入左右眼的影像要全然分离。左影像进左眼,右影像进右眼。

第一条是对3D视频源提出的要求,视频源必须包含两路视频,这两路视频既有关系。又有区别。它们是在同一时刻、同一架3D摄像机(有两个摄像镜头。两镜头距离与人眼瞳距相近)拍摄的同一个场景所产生的两路视频。这两路视频非常类似,能够利用这些类似性设计压缩算法,以此来减少数据量,以后会学习3D视频的拍摄与存储。

第二条是对3D播放设备提出的要求。怎样才干让左右眼看到不同的视频,是核心的问题。眼下的3D技术能够分为裸眼式和眼镜式两大类别。裸眼3D观看者不用带3D眼镜,依靠显示屏前面的透镜阵列或者屏障栅栏来分离左右眼视频。裸眼式3D技术眼下主要应用在商用显示方面(以后还将应用于手机等显示设备中)对观看者的位置有极强的相关性。眼镜式3D尽管添加了一副辅助设备,可是简化了显示、播放设备上的难度,因此在电视、电影等消费级市场上得到广泛应用。

本文主要介绍这样的3D方式。

眼镜式3D细分为色差式、快门式和偏光式(也叫色分法、时分法、光分法)三种。

A. 色差式 分色
色差式3D显示能够称为分色立体成像技术。是将左右两路视频分别以两种不同的颜色(比如红-蓝、红-绿、红-青等两色)显示在同一帧内,用肉眼观看的话会呈现模糊的红蓝重影,而通过红蓝眼镜看到的效果是。红色或近红色的光谱仅仅能通过红色的镜片,蓝色或近蓝色的光谱仅仅能通过蓝色的镜片。这样就分离了左右眼视频。

进入左右眼的红蓝视频在大脑中重叠呈现出3D立体效果。因为全部点都是由红蓝两个基色调配而成,所以画面偏色严重,这样的方式3D效果较差,仅仅是其眼镜成本低廉,在某些图片的3D显示领域有应用。在电视、电影领域应用不多。

B.快门式 分时
快门式3D的眼镜片是能够分别控制开闭的两扇窗户,在同一台放映机上高速交替播放左右眼画面时,通过眼镜的同步开闭功能。在放映左画面时,左眼镜打开右眼镜关闭,观众左眼看到左画面。右眼什么都看不到(眼镜片处于黑屏状态)。相同翻转过来时,右眼看右画面,左眼看不到画面,就这样让左右眼分别看到左右各自的画面,高速的交错显示,通过视觉暂留,从而产生立体效果。快门式3D主要是通过提高显示设备的刷新率来实现的,然后显示设备与眼镜之间通过红外信号控制3D眼镜两个镜片的开闭。因为左右眼视频在时间上依次显示,等于帧率减少了一半,为了满足视觉暂留原理,须要提高刷新率,使减少一半的帧率还满足25Hz以上的刷新率。

在显示设备刷新率达不到60Hz之前。快门式3D是没有应用基础的。而当前LCD电视的刷新率达到了120Hz或以上的帧率,才使得快门式3D能够得到广泛应用。当前主流的电视厂商都有快门式3D电视产品。

快门式3D的优势是画质全帧无损,同一时候可视角度好,对于显示设备仅仅要添加刷新频率就能导入这个技术。它的缺点是1.亮度低,因为每次都有一仅仅眼睛看到的是黑屏,尽管能够通过调高显示亮度减少这个缺点,只是还是有影响。2.眼下快门式眼镜都是採用液晶分子材料制作,有透明和不透明两种状态,成本较高,重量较重,长时间佩戴不舒服,同一时候须要电池供电;3.由快门式3D技术的原理决定。当周围有光源时,画面不可避免的出现闪烁,长时间观看会造成人眼疲劳。4.快门开关和左右图像不全然同步时候会出现串扰现象,造成影像模糊。

C.偏振式/不闪式3D 分光
偏振式3D是利用光线有“振动方向”的原理来分解原始图像的,先通过偏振片把图像分为垂直向偏振光和水平向偏振光两组画面,然后3D眼镜左右分别採用不同偏振方向的偏光镜片,这样人的左右眼就能接收两组画面,再经过大脑合成立体影像。

偏振式3D显示技术之前一直用于立体电影。

两台放映机分别放映左右眼的视频,两台放影机前各装一块方向相反的偏振片。它的作用相当于起偏器,从放映机射出的光通过偏振片后。就成了偏振光,左右两台放映机前的偏振片的偏振方向互相垂直。因而产生的两束偏振光的偏振方向也互相垂直,这两束偏振光投射到银幕上(要求两个画面点对点全然一致地同步的投射到同一个银幕上)再反射到观众处,偏振光方向不改变,观众使用相应上述偏振光的偏振眼镜观看,即左眼仅仅能看到左机映出的画面。右眼仅仅能看到右机映出的画面。这样就会看到立体景像,这就是立体电影的原理。

也有单机交替放映左右眼视频,镜头前的偏振片偏振方向随左右眼视频变化而变化。眼下市面上常见的3D电影都是偏振式的。它配套的偏振3D眼镜,价格也非常廉价。

偏振式3D电视主要依靠液晶面板前端的偏振膜。将电视显示的画面分成有角度的偏振光,观看者通过佩戴左右眼不同偏振方向的偏振眼镜来滤过左右眼不同的偏振画面,终于再由大脑合成3D影像。偏振膜一般为横向的,类似隔行扫描方式,奇偶行具有不同的偏振方向。

电视处理系统将左眼的图像显示到奇数行的,右眼的图像显示到偶数行(有可能奇偶反过来),这样通过偏振眼镜就是奇数行的图像进入了左眼。偶数行的图像进入了右眼,这样达到了分离左右眼视频的目的。但左右眼的图像在垂直分辨率上都仅仅是原来图像的一半。

偏振式3D的优势在于两眼同一时候再看,不会有闪烁的感觉,立体感比較自然。同一时候眼镜简单廉价,质量轻。

缺点是:因为左右眼的两幅图像被同一时候呈如今显示面板上,因此须要按行交错或者列交错的方式分别向左眼和右眼提供仅仅有显示面板一半分辨率的图像。

快门式和偏振式两种3D电视模式互相竞争,不断论战。在眼下的市场上,两种方式都大量存在,电视厂商高中低产品线基本上都同一时候支持这两种方式。

以上是显示设备为了让左右眼看到不同的视频所做的输出工作。对于显示系统来说,还须要知道左右眼的视频数据在哪里。最简单的方式是给定两路码流,但这样的方式数据量太大,并且与现有显示系统不兼容(无论图像分辨率。现有系统一般仅仅支持一路数据输入)。因

此须要採用某些折中的方式。将左右眼视频数据存放在同一帧内。3D蓝光标准定义的方式是帧封装。先是整帧的左眼数据然后是45像素高的切割区,以下跟整帧的右眼数据。

一个1920x1080p的视频,解码后的左右眼视频帧数据为1920x(1080+45+1080)。另外还有常见的左右格式,水平分辨率减半,左右眼合在一起还是1920x1080,每眼为960x1080;或者上下格式,垂直分辨率减半。每眼1920x540。

或者棋盘格式。

显示设备对3D帧格式的解析必须正确,否则看到的将会是一团糟。

比如在正常电视状态下打开一个3D节目源,看到的非常可能是左右分屏的一副画面。这是显示设备解码了3D帧。但还依照2D帧输出造成的结果,这时候须要对显示设备做3D显示的设置,设置为左右格式,这是裸眼看到的将是一个有重影的模糊画面。带上3D眼镜。立体效果才干显现。

快门式在时间上分左右眼。在空间上左右眼视频能够做到全高宽。偏振式在空间上分左右眼。因此它的分辨率总是有一个维度被减半了,分辨率减少。

对于左右半宽或者上下半高格式的3D源。在快门式3D显示中。都没有满足全高清显示,但因为人眼对于垂直方向的图像损失更敏感。因此左右半宽比上下半高使人感觉上更好一些。
偏振式3D一般採用按行交错(类似1080i)每帧1920x540,正好相应上下半高格式,因此在偏振式3D电视中上下半高格式更好一些。

3D设备选快门还是偏光,影像格式选左右还是上下?这次给你终极答案!

http://www.world3dmodel.com/thread-450104-1-1.html

未来趋势必看贴 3D电视显示技术全解析
http://elec.it168.com/a2010/1108/1123/000001123346_all.shtml

偏光式主动快门式两大3D技术终极对照測试
http://tv.ea3w.com/topic/5103.html

3D视频的播放的更多相关文章

  1. H5 多个视频 循环播放效果

    跟轮播效果差不多 页面HTML结构 <video id="myvideo" width="100%" height="auto" co ...

  2. WPF VlC 实现视频的播放(1)

    WPF 使用VLC实现视频的播放:网上开源代码我复制了一份:  https://github.com/someonehan/Vlc.DotNet 1. 准备阶段 (I)  libvlc.dll 和 l ...

  3. iOS - 视频循环播放

    录制完视频后,我们想在录制视频的预览层上无限循环播放我们的小视频,是不是很炫酷,这时候我们就有三中选择了:1.MPMoviePlayerController2.AVPlayer3.AVAssetRea ...

  4. flash视频器播放器代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. 在滚动列表中实现视频的播放(ListView & RecyclerView)

    英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView) 本文将讲解如何在列表中实现视频播放. ...

  6. iOS 微信 音频 视频自动播放

    iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165

  7. C#使用EmguCV实现视频读取和播放,及多个视频一起播放的问题

    大家知道WPF中多线程访问UI控件时会提示UI线程的数据不能直接被其他线程访问或者修改,该怎样来做呢? 分下面两种情况 1.WinForm程序 1)第一种方法,使用委托: private delega ...

  8. Android SurfaceView + MediaPlayer实现分段视频无缝播放

    Android当中实现视频播放的方式有两种,即:通过VideoView实现或者通过SurfaceView + MediaPlayer实现. 由浅至深,首先来看下想要在Android上播放一段视频,我们 ...

  9. 项目源码--Android聚合视频类播放器

    下载源码 技术要点:  1.高效支持主流的视音频格式 2.本地视频的播放与管理 3.聚合电视在线直播 4.聚合优酷.搜狐.乐视.爱奇艺等多种在线视频 5.优质播放,包含播放.暂停,声音.亮度调整等功能 ...

随机推荐

  1. Asyncio中Lock部分的翻译

    Asyncio中Lock部分的翻译 Locks class asyncio.Lock(*, loop=None) 原始锁的对象. 这个基础的锁是一个同步化的组件,当它上锁的时候就不属于典型的协程了(译 ...

  2. SPOJ PGCD 4491. Primes in GCD Table && BZOJ 2820 YY的GCD (莫比乌斯反演)

    4491. Primes in GCD Table Problem code: PGCD Johnny has created a table which encodes the results of ...

  3. ChibiOS/RT 2.6.9 CAN Low Level Driver for STM32

    /* ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio Licensed under the Apache License, Version 2 ...

  4. VS2015 打包winform 安装程序

    最近开发了一个小软件.由于需要打包.网上找了一些资料.然后整合了起来.希望对大家有所帮助.不全面请见谅. 打包控件 InstallShield-Limited-Edition  下面是注册地址 htt ...

  5. 《Go学习笔记 . 雨痕》流程控制(if、switch、for range、goto、continue、break)

    Go 精简(合并)了流控制语句,虽然某些时候不够便捷,但够用. if...else... 条件表达式值必须是布尔类型,可省略括号,且左花括号不能另起一行. func main() { x := 3 i ...

  6. 【stanford C++】容器III——Vector类

    主要介绍如下5个容器类——Vector, Stack,Queue,Map和Set,各个都表示一重要的抽象数据类型.另外,各个类都是一些简单类型的值的集合,所以称它们为容器类. 暂且我们先不需要知道它们 ...

  7. [Node.js]操作mysql

    摘要 上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql. 安装 安装mysql模块 cnpm install mysql 一个例子 新建一个mysql.js的文件,代码 ...

  8. C++学习笔记23,类内函数重载

    该博文仅用于交流学习.请慎用于不论什么商业用途,本博主保留对该博文的一切权利. 博主博客:http://blog.csdn.net/qq844352155 转载请注明出处: 在一个类内,最常见的就是构 ...

  9. 统计代码执行时间,使用Stopwatch和UserProcessorTime的区别

    当我们需要统计一段代码的执行时间,首先想到的可能是Stopwatch类.在这里,先暂不使用Stopwatch,自定义一个统计代码执行时间的类,大致需要考虑到: 1.确保统计的是当前进程.当前线程中代码 ...

  10. 再谈vc发送键盘、组合键消息

    关于向Windows窗口发送Alt组合键的问题,这个真是经典问题啊,在网上找了一下,问的人N多,方法差不多, 但就是没有很好解决问题. 之前找到一个能正确发送的code:(Alt+A) PostMes ...