嵌入式媒体处理(EMP)中的编码和解码
我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。本公众号作者ALIFPGA,多年FPGA开发经验,所有文章皆为多年学习和工作经验之总结。
很多视频压缩算法都存在着竞争,都想获得业界和消费者的认可。它们的出现反映了一种趋势,即从单个设备上专门存储和播放媒体转向所谓流媒体概念,也就是说媒体内容在由无线或有线网络连接的媒体节点之间流动。这些传输网络可能是低带宽的,也有可能是高带宽的,最重要的是流媒体内容要与传输媒介协调一致。否则,用户体验是和糟糕的——移动缓慢的视频、音频以及巨大的处理延迟。
同等画质下对压缩带宽的估计
新的算法都在努力以比上一代标准更低的比特率提供更高分辨率的视频内容,但视频质量与以前相当甚至更好。而且好处还远不止这些,这些算法延伸到比其上一代标准更多的应用领域,提供了很多新的特性,例如更强的可扩展性、更好的容错性能,以及数字版权管理能力。
但是,这些最新的算法也有缺点,即为了实现更好的结果,它们往往要比其前一代标准需要更强大的处理能力。
和编码相比,解码的处理通常要小的多,大约只有前者的一半。解码器的操作流程通常由设计压缩算法的标准组织指定。但是,同样是这个机构,却不规定编码器如何实现。因此,为了以最低的输出比特率处理输入流,编码器往往会使用更多的处理能力。实际上,现在对于一些便携式设备而言,比较常用的模式是在PC上编码,在设备上解码。
随着视频和音频标准的显著增加,系统之间的互操作性变得越来越具有挑战性。当可用的格式不断增加的时候,网络和媒体设备的种类和数量也在急剧增加。不同的网络服务等级产生了多种压缩标准,分别可以满足系统中不同的多媒体需求。
编码转换
消费者需要有一条无缝途径来实现媒体内容的分享、传输和体验。多媒体内容的编码转换有助于不同编码平台之间的障碍。编码转换可以允许在有限和无线网络之间或之内完全透明的传输。在最高层次,只是简单的从一种编码格式转换为另一种编码格式而已。重要的是,它允许在视频内容有一定损失的前提下降低比特流,自动适应可用的数据通道。换句话说,编码转换允许对数据流进行压缩以满足目标存储区大小或者专门的传输路径要求。例如,从DVD服务器而来的MPEG-2内容,在通过无线网络传输到PDA之前可能先被转换为MPEG-4格式,这样就可以极大的减少比特流。数据到达PDA之后,在显示前再转换为适当的格式。
上述描述的这种操作称为格式转换。另一个相关的过程是采样率降低转换,也就是通过降低显示分辨率或者帧速率来降低流媒体比特率。在这两种情况下,为了满足目标设备的要求,需要进行适当的转换,这样在系统处理器上就会有很大的负担。
就编码转换而言,像汇聚式处理器这样的完全可编程解决方案要比功能固定的ASIC更有优势,因为它们允许在任意的媒体格式之间进行非常灵活的转换。此外,汇聚式处理器具有非常快速的时钟,可以完成实时编码转换,这样处理器可以一边对输入数据流进行解码,一边将解码后的数据编码为目标格式。这样就加速了处理过程,同时也省掉了中间过程的存储空间。也就是说,整个源数据流在开始转换为要求的格式之前不必下载到存储器中。在这种方案中,处理器执行的任务可能是多个ASIC执行任务的总和,这些ASIC每一个专门执行一组有限的视频编码或者解码功能。
嵌入式媒体处理(EMP)中的编码和解码的更多相关文章
- 说说http协议中的编码和解码
http://www.csdn1 2 3.com/html/itweb/20130730/29422_29378_29408.htm ****************************** 一. ...
- 转 python3中SQLLIT编码与解码之Unicode与bytes
#########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...
- Android 中的编码与解码
前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败.但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * .# . 特殊符号在提交表单的时候,出现了编码不一样的 ...
- js和C#中的编码和解码
同一个字符串,用URL编码和HTML编码,结果是完全不同的. JS中的URL编码和解码.对 ASCII 字母和数字及以下特殊字符无效: - _ . ! ~ * ' ( ) ,/?:@&=+$# ...
- ASP.Net中的编码与解码
当javascript传递的参数中有中文时,服务端获得的将是乱码,此时需要用到编码和解码 javascript中编码与解码的三种方法 escape方法返回一个可在所有计算机上读取的编码 String ...
- 关于JavaScript中的编码和解码函数
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...
- python3中的编码与解码(超好理解)
编码和解码是针对数据而言的,数据能干什么呢?无非就是用来显示,储存和传输的: 储存和传输数据当然是希望数据越小越好,所以发明了utf-8这种数据编码显示:它智能将英文用一个字节表示,欧洲的字符用两个字 ...
- python中的编码与解码
编码与解码 首先,明确一点,计算机中存储的信息都是二进制的 编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显 ...
- python中base64编码与解码
在python3中用base64进行编码和解码的时候特别注意: 题目要求: 准备一张.jpg图片,比如:mm.jpg,读取图片数据并通过b85encode加密之后写入到新文件mm.txt文件中,然后读 ...
随机推荐
- Floyd算法--一个人的旅行
2017-07-27 22:37:32 writer:pprp 题目如下: 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人 ...
- zend studio 添加xdebug调试php代码
1.Eclipse下对于大部分语言都提供了调试器接口,自然的对于PHP,Zend已经集成了XDebug调试器,找到Zend中的Preferences->PHP->Debug, 将调试器设置 ...
- 教你10步闯进google play排行榜前列
1.正视最高榜单的价值 我们需要了解排名对你的游戏的价值,进入前20名你的游戏获得每日至少1万5千的安装量,而前10名获得至少2万5千的安装量.通过奖励性广告网络而获得这些流量需要你每日支付至 ...
- SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://blog.csdn.net/forezp. http://blog.csdn.net/forezp/art ...
- kibana查询语法
单项term查询 例: 搜 Dahlen, Malone 字段field查询 field:value 例:city:Keyport, age:26 通配符 ? 匹配单个字符 例: H?b ...
- H264子宏块的划分有哪些?
每个分割或子宏块都有一个独立的运动补偿.每个 MV 必须被编码.传输,分割的选择也需编 码到压缩比特流中.对大的分割尺寸而言,MV 选择和分割类型只需少量的比特,但运动补偿残差 在多细节区域能量将非常 ...
- 使用 nvm 管理多版本 node
首先,使用下面的命令来安装 nvm $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | b ...
- 【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔
原题地址:http://www.rqnoj.cn/problem/82 解题思路: 简单的动态规划 状态表示:DP[i][0]表示当前在第i层,且当前跳跃状态不可用,此时消耗的最短时间. DP[i ...
- 牛客国庆集训派对Day1:J:Princess Principal(栈模拟求括号匹配)
题目描述 阿尔比恩王国(the Albion Kingdom)潜伏着一群代号“白鸽队(Team White Pigeon)”的间谍.在没有任务的时候,她们会进行各种各样的训练,比如快速判断一个文档有没 ...
- intellij idea 如何更改比编辑器文本字体和大小
换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intellij idea字体设值分成两部分,一部分是UI部分字体字号设 ...