我酷爱下象棋,经常沉迷其中,不好啊,最近下定决心,尽量少下象棋. 现从下象棋的角度来类比浅析H.264中的像素残差和运动矢量残差.

第一帧: 双方把象棋摆放好,准备开始下,这个画面就是第一帧; (对应IDR帧)

第二帧: 红方走“炮二平五”,那么这个画面为第二帧;           (对应P帧)

编码端:两个象棋高手(比如洪智和许银川)在某五星级酒店下象棋,解说员就是编码器,要对这个比赛进行现场报道;

解码端:广大棋迷(比如本人)就是解码器,要理解解说员说到了哪一步.

先抛开H.264的具体情况不管,我们来玩象棋.

解说员:各位棋迷朋友,大家准备好了,象棋比赛开始,请各位棋迷朋友把象棋恢复到最原始状态.

棋迷:    在自己家里拿一副象棋,把象棋摆好,成最原始状态.

那么,第一帧就由编码端传到了解码端,显然是成功的.

解说员:洪智走了一步“炮二平五”.

棋迷    :把二路的炮移到了五路.

那么,第二帧就编码端传到了解码端,显然是成功的. 仔细想一下,解说员并没说第二帧的状态啊,他只说“炮二平五”啊,这个“炮二平五”实际上就相当于运动矢量,在用运动矢量进行补偿后,可以认为第二帧减去第一帧的结果为0,也就是说,第二帧和第一帧没有设么区别,就隔一个运动矢量.解说员不需要麻烦地说每个棋子的位置,只需要说第二帧与第一帧的变化在什么地方就可以了,编码端和解码端都省时省力,何乐而不为呢?这就实现所所谓的去冗余,从而压缩了所需要传输的数据量.

在象棋这个例子中,第二帧减去第一帧(此处指运动矢量补偿后的第一帧)的结果为0,那么这个结果实际上就是对应的就是H.264中的像素残差,这个“炮二平五”对应H.264中的运动矢量.

回到H.264中有:

原始像素 - 预测像素(运动矢量补偿得到预测像素) = 像素残差

那么什么是运动矢量残差呢?运动矢量残差就是两个运动矢量相减后得到的矢量(运动矢量残差),这个运动矢量残差最终会写进码流,至于为什么要引入运动矢量残差,这个很简单,就不多废话了, 具体可以H.264相关资料(下面仅仅给出示意的公式)

运动矢量残差(mvd) = 运动矢量(mv) - 预测的运动矢量(mvp)

啰嗦一句:万万不可混淆像素残差和运动矢量残差. 少下象棋,多干正事, 最后附上王阳明大哲人的著名诗句,以此自勉:

象棋终日乐悠悠,苦被严亲一旦丢。
兵卒坠河皆不救,将军溺水一齐休。  
马行千里随波去,象入三川逐浪游。
炮响一声天地震,忽然惊起卧龙愁。

从下象棋的角度来类比浅析H.264中的像素残差和运动矢量残差相关推荐

  1. H.264编解码浅析

    声明:本文是阅读<新一代视频压缩标准H.264_AVC>笔记总结 简介 H.264,又称为MPEG-4第10部分,高级视频编码(英语:MPEG-4 Part 10, Advanced Vi ...

  2. 奥特曼在银行里下象棋的梗

    一个笑话: 一位女子,开出征婚条件有两点 1.要帅 2.要有车 电脑显示搜索结果:象棋 这位女子不服搜出的结果,又输入 1.要有漂亮的房子 2.要有很多钱 电脑去帮她再次搜寻,结果:银行 此女子仍然不 ...

  3. 人工智能下象棋,走一步,能看几步?|漫画

    图文原创:谭婧 谭婧老师爱下象棋,就是谁也赢不了. 去公园下了一盘棋 ,第一步我就走了一个当头炮 ,剩下的都是大爷们帮我走的. 结果,我输了. 经过他们的总结研究,我第一步走错了 . 2022年,象棋 ...

  4. Wiki下象棋——bfs

    链接:https://ac.nowcoder.com/acm/contest/30532/E 题目描述 Wiki的业余爱好就是下象棋,他不仅会下中国象棋,还会下国际象棋.他发现中国象棋和国际象棋虽然都 ...

  5. 如何使用js加css加html实现下象棋功能

    为了使用 JavaScript.CSS 和 HTML 实现下象棋功能,您可以按以下步骤操作: 创建一个 HTML 页面,在其中编写代码来生成棋盘的图形. 使用 CSS 样式来设置棋盘的样式,如颜色.边 ...

  6. 从TCP三次握手说起——浅析TCP协议中的疑难杂症

    PeterWang_bupt 贡献值:2 等級:L1 0 发布 0 评论 1 顶 发布链接发布图文   全部主题 我关注的主题 GEEKNEWS Rust Swift 全栈工程师 /home Pres ...

  7. 网站推广专员浅析网站推广中网站优化的价值取向究竟为何?

    在网络营销之中任何企业的运营都需要通过网站建设而实现,通过站长日复一日的优化运营,提升网站排名.权重和流量,让企业网站在同行业网站中崭露头角展现在用户眼前,但是作为站长的你真的了解网站优化吗?为了避免 ...

  8. 浅析图片XSS中的哪些技术问题

    本文讲的是浅析图片XSS中的哪些技术问题,跨站请求漏洞是web漏洞中最普遍的漏洞,在特定的场景下可以造成很严重的破坏.可以让攻击者在受害者浏览器上执行一个恶意脚本,网络上关于这方面的文章已经很多了. ...

  9. 计算机和电子音乐之间的关系,浅析计算机音乐中算法作曲的特点及及作曲技法的对应关系.doc...

    浅析计算机音乐中算法作曲的特点及与作曲技法的对应关系 [摘要]计算机技术在音乐前期创作中的运用产生了算法作曲,开发的作曲程序已经能够生成已故作曲家风格的乐曲,计算机创作乐曲会更加便捷和简便,传统常规的 ...

最新文章

  1. java comparator 降序排序_【转】java comparator 升序、降序、倒序从源码角度理解
  2. mysqld 进程非常多_MySQL binlog后面的编号最大是多大?
  3. android 代码植入,Android Studio之Debug(一):运行期代码植入
  4. php 生成饼状图,折线图,条形图 通用类
  5. Transactional ejb 事务陷阱
  6. python 在线培训费用-参加线上python培训班要多少钱?
  7. Oh-My-Zsh 下远程ssh的乱码问题
  8. 2020年下半年信息系统项目管理师综合知识真题试题解析
  9. 软件读写中文字符的文件出现乱码的解决办法
  10. 像智能手机一样造车,可能吗?
  11. JavaWEB复习汇总
  12. 一杯免费咖啡引发的ERP上云思考
  13. 用纯CSS实现优雅的tab页
  14. Google微软IBM能打败亚马逊AWS的理由很丰满,进展却骨感
  15. windows server域服务器作用,windows server 2012 r2AD域搭建以及域的简单功能介绍
  16. 线条的样式solid dotted dashed
  17. 2021-05-12 MongoDB面试题 在MongoDB中如何排序
  18. 台湾大学教授洪士灏对产业前景的讨论
  19. Android仿微信朋友圈5实现朋友圈列表
  20. 网络计算机输入网络凭据,Win10访问局域网电脑提示需要输入网络凭证怎么办?

热门文章

  1. 模拟看门狗如何实现?
  2. iPhone12蜜汁操作,环保还是揽财?
  3. 01postman学习笔记记录
  4. bootstrap读书笔记
  5. replaceAll()用法
  6. 谷奥是一个非商业网站,我们欢迎所有的google用户/google爱好者贡献你的一份力量:
  7. javaScript封装的各种写法
  8. 在中国,哪个互联网行业职位更有前途?
  9. 利用Hive进行数据分析
  10. Android学习之ContentProvider