文档章节

视频基础知识

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 1152
阅读 3
收藏 0
 

零散的一些笔记~~~

人眼及显示器对亮度的非线性,gamma校正

人眼对亮度的敏感能力优于色差
YUV,YCbCr可进行色度子采样
YCbCr 4:4:4 4:2:2 4:2:0

分辨率,帧速率:广播电视与计算机图形两条线
计算机 广播电视
          QCIF(176*144)
QVGA(320*240) CIF(352*288)
VGA(640*480) NTSC(720*480)
SVGA(800*600) PAL(720*576)
XGA(1024*768) HDTV(720p)1280*720
SXGA(1280*1024)

NTSC 隔行扫描 30fps
PAL逐行扫描 25fps


为了实现数字视频,NTSC,PAL之间的互操作 
ITU-R BT.601规定了对视频信号进行数字化编码的方法
建议采用4:2:2 YCbCr作为广播视频的首选格式
同时也提供了同步信号(HSYNC,VSYNC,FIELD)
ITU-R BT.656实际定义了实施BT.601所必须的物理接口和数据流

嵌入式数字视频系统

Analog video Camera or CCD---->HW Decode(A/D converter)------> SW Encoder(compression)
                                        |
                          storage media<--------->|
                                        |
   TV or Monitor<--HW Encoder(D/A convertr)<------SW Decoder(uncompression)


CMOS Sensor --> 去隔行(de-interlacing)-->(Scan Rate Conversion)-->pix processing
--->chroma re-sample(4:2:2 to 4:4:4)-->gamma correction,YCbCr to RGB conversion
-->scaling-->display processing-->Output to RGB LCD panel

1去隔行:方法有行倍增,行平均,中值滤波,运动补偿
2扫描速率转换:如电影录制的24fps转换为30fps,可以通过周期化的样式重复各帧来实现
3像素处理
如2d卷积滤波
边界处理:忽略边缘,复制像素,补0
4色度再采样和颜色转换
插值出Cb,Cr:复制,平均值,其它高阶滤波
色度的再采样和到RGB的转换都线性的运算,有可能组合这些步骤,形成单个的运算,从而提高效率
5缩放和裁切
缩减:最简单的方法是裁切,下采样,上采样
增加或减小每行的像素数量
丢弃像素或复制现有像素,线性内插,
增加和减小每帧的行数
丢弃行,复制行,简单垂直平均,更高阶的FIR滤波器或者多比例滤波器
6显示处理
RGB888, RGB666, RGB565
alpha混合,合成操作,色度键控
输出格式化

高效技术:
NTSC:27MB/s, 存储器:133/266MB/s
1视频流接口:FPGA, FIFO, PPI(并行外设接口)
可能的数据流
低分辨率的视频处理和JPEG等图像压缩算法,无需缓冲存储
imagedata and syncs -->PPI --(DMA)--> L1 Memory(processor)--(DMA,compressed video)-->serial port
MPEG2,MPEG4,需要将中间视频帧存储在存储器中,以执行时间域的压缩
videodata -->PPI         L1 Memory(processor)--(DMA,compressed video)-->serial port
&syncs         |         |
           |         |
           --(DMA)-->SDRAM

2视频ALU
1)专门优化的指令
如4重的8bit减法-绝对值-累加(SAA)指令
非常适合于基于块的视频运动估计(目标宏块的最佳匹配)
如4个相邻值平均值的运算指令
2)关于DMA的考虑
2D DMA可以实现视频数据顺序的转换(交织的RGB到分离的RGB)和有选择的传输
平面化和间插式缓冲格式的对比:平面化的缓冲器可能更有效,很多视频算法是依靠
单独的亮度和色度信号工作的;减少SDRAM缺页延迟
3)双重缓冲
对视频显示缓冲区的管理就是这一方法的绝好实例。通常,在系统中,如果各种视频源与最终显示的内容之间存在传输速率差异的话,就应该保证在老的内容和新的视频帧之间实现平滑的切换。这是利用双缓冲管理方法来实现的。一个缓冲区指向目前的视频帧,该帧被以一定的刷新速率送到显示器上。第二个缓冲区则用最新输出的帧来填充。当后一个缓冲器被填满时,DMA发出中断信号,指示现在应该将新的帧发送到显示器上。此时,第一个缓冲区开始填充经过处理的、用于显示的视频信号,而第二个缓冲区则输出当前的显示帧。这两个缓冲区以“乒乓”方式来回切换。


高清电视即高清晰度电视,英文:High Defintion TeleVision, 缩写为HDTV, 高清电视显示屏幕必须至少具备720线逐行(720p)或1080线隔行(1080i)扫描的物理分辨率,屏幕纵横比为16:9, 同时能兼容接收其它较低格式的信号并进行数字化处理重放。
编码方式有H.264, MPEG-4, WMV-HD

© 著作权归作者所有

共有 人打赏支持
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频

这两天开始带广播电视工程大二的暑假小学期的课程设计了。本次小学期课程内容为《基于 FFmpeg + SDL 的视频播放器的制作》,其中主要讲述了视音频开发的入门知识。由于感觉本课程的内容不但适...

leixiaohua1020
2015/07/26
0
0
黑马程序员:前端学习路线图

前端很火,想自学前端的人也多。作为过来人,知道自学的辛苦。特来给大家分享这份学习路线图,让想自学前端的小伙伴们有一份系统专业的学习资源和学习指导。若是觉得有用记得给点个赞哦!无论...

传智播客
2017/03/08
683
2
自学前端之前端学习路线图

前端很火,想自学前端的人也多。作为过来人,知道自学的辛苦。特来给大家分享这份学习路线图,让想自学前端的小伙伴们有一份系统专业的学习资源和学习指导。若是觉得有用记得给点个赞哦!无论...

爱龙猫
2017/02/24
1K
7
零基础自学人工智能,看这些资料就够了(300G资料免费送)

为什么有今天这篇? 首先,标题不要太相信,哈哈哈。 本公众号之前已经就人工智能学习的路径、学习方法、经典学习视频等做过完整说明。但是鉴于每个人的基础不同,可能需要额外的学习资料进行...

经济与编程
08/17
0
0
来自IOS开发工程师的零基础自学HTML5经验分享

移动互联网的火爆,而Html具有跨平台、开发快的优势,越来越受到开发者的青睐。感谢IOS开发工程师“小木_Boy”’带来的HTML5学习经验分享。 一、学习途径 1、很多视频网站 比如慕课、和极客学...

inw3cschool
2017/03/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java序列化(七) - fst 序列化

java序列化(七) - fst 序列化 github https://github.com/RuedigerMoeller/fast-serialization 实践 https://gitee.com/mengzhang6/serializable-demo.git maven依赖 <!-- https://mvnrepo......

晨猫
20分钟前
2
0
智力问题汇总

南京新建地铁线路,给你2块钱,测出来需要配置多少辆车? 参考答案:根据地铁有固定时间间隔,坐一圈该线路,推算出需要多少辆。 一共50张卡片,上面写着1--50 ,50个数字,藏起来一张,打乱...

职业搬砖工程师
23分钟前
1
0
ZFS-自我恢复RAID

ZFS-自我恢复RAID 这个给了我一个简单而又强大的理由,让我立马为之折服,ZFS可以自动的检测发生的错误,而且,可以自我修复这些错误。假设有一个时刻,磁盘阵列中的数据是错误的,不管是什么...

openthings
32分钟前
2
0
从Hash到一致性Hash原理(深度好文)

要讲一致性Hash原理,先从一般性Hash讲起,其实Hash的本质就是一个长度可变的数组,那为什么Hash的时间复杂度是O(1),而其他类型的数据结构查找都是要遍历来,遍历去,即便是树,二叉树,也是要经过几...

算法之名
45分钟前
17
0
软件测试工具书籍与面试题汇总下载(持续更新)

简介 本文是https://github.com/china-testing/python-api-tesing/blob/master/books.md 的节选。 欢迎转载,转载请附带此简介,谢谢! 试题 软件测试综合面试题(高级测试)-试题.pdf 软件测试...

python测试开发人工智能安全
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部