FPGA----视频下采样------分辨率转换-----yuv444----yuv420
来源:互联网 发布:个体户注册域名 编辑:程序博客网 时间:2024/06/18 04:17
本篇文章主要介绍了"FPGA----视频下采样------分辨率转换-----yuv444----yuv420 ",主要涉及到FPGA----视频下采样------分辨率转换-----yuv444----yuv420 方面的内容,对于FPGA----视频下采样------分辨率转换-----yuv444----yuv420 感兴趣的同学可以参考一下。
1、分辨率下采样:1080P到720P
1080P即:1920*1080
720P即: 1280*720
a:列变换:1920--1280
a.1:求最大公约数 为640
a.2:1920/640=3; 1280/640=2
a.3:裁剪比为2/3=1280/1920 即1920的视频每3列取2列,丢一列,做为1280的视频
b:行变换:1080--720
b.1:求最大公约数 为360
b.2:1920/360=5; 1280/360=3
b.3:裁剪比为3/5=720/1080 即1080的视频每5行取2行,丢一行,做为720的视频
2、YUV444--YUV422
列 像素点1 像素点2 像素点3 像素点4
YUV444 YUV YUV YUV YUV
YUV422 YU YV YU YV
3、YUV422--YUV420
YUV422第一行 YU YV YU YV
YUV422第二行 YU YV YU YV
YUV422第三行 YU YV YU YV
YUV422第四行 YU YV YU YV
YUV422第五行 YU YV YU YV
YUV422第六行 YU YV YU YV
变换:将偶数行的颜色分量丢弃
YUV420第一行 YU YV YU YV
YUV420第二行 Y Y Y Y
YUV420第三行 YU YV YU YV
YUV420第四行 Y Y Y Y
YUV420第五行 YU YV YU YV
YUV420第六行 Y Y Y Y
4、RGB到YUV转
Y <= ( (263 * iRed) + (516 * iGreen) + (100 * iBlue) + 16384)>>10; U <= ( (450 * iRed) - (377 * iGreen) - ( 73 * iBlue) + 131072)>>10; V <= (-(152 * iRed) - (298 * iGreen) + (450 * iBlue) + 131072)>>10;
注意:
如果时钟频率过高、组合逻辑耗费时间太长、FPGA等级低---即变为流水线来实现
如果为BT655传输:Y/U/V的值应该在-- 16<Y/U/V<235
- FPGA----视频下采样------分辨率转换-----yuv444----yuv420
- YUV444与YUV422下采样
- YUV420 YUV422 YUV444
- YUV420转YUV444
- YUV444转YUV420
- YUV420转YUV444
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB .
- yuv 信道等原理 yuv420 yuv444等
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
- 最简单解释 YUV444,YUV422,YUV420中的4,2,0
- YUV420 和RGB之间的转换的程序,YUV采样频率采用cif
- 【图像-视频处理】YUV420、YV12与RGB24的转换公式
- YUV格式学习:YUV444转换RGB24
- H264 YUV420视频翻转
- ROS从bag文件中导出图片
- 【Android】JNI调用简析
- mysql Tablespace exists解决
- struts2 结果类型
- 【Server端和Client端常见的通信方式】-TCP/IP和UDP
- FPGA----视频下采样------分辨率转换-----yuv444----yuv420
- UML 流程图 的简单识别
- List去重的几种方法
- 关于使用spring文件上传遇到的服务器中的图片访问不到报404的问题
- python:python语句中的continue和break
- memcached的基本命令
- ubuntu包管理命令apt和dpkg总结
- 交换排序算法
- adb server version (31) doesn’t match this client (36); killing… * daemon started successfully *