嵌入式媒体处理(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文件中,然后读 ...
随机推荐
- Java中遍历map的四种方法 - 转载
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- codeforces781A Andryusha and Colored Balloons
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- tyvj 1091 等差数列 dp
P1091 等差数列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 广东汕头聿怀初中 Train#3 Problem 3 描述 等差数列的定义是一个数列S, ...
- Mongodb笔记(三)user && aggregate && mapReduce
版本:mongodb3.4. User: mongodb使用验证登录:默认不开启,mongod中使用--auth开启: mongod -port=3000 --auth : 基本方法: db.cr ...
- Angular 2 Architecture Overview
Module 简单来说模块(module)就是完成共同目的的代码块,export一些内容例如一个类.函数.或值变量. component就是一个基本的Angular块,一个component类其实也是 ...
- js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
js进阶---12-11.jquery如何给动态创建出来的元素绑定事件 一.总结 一句话总结:通过事件委托的方式,通过on方法 1.on方法在事件绑定的时候,data方式带额外参数时,字符串参数和其它 ...
- ddt读取json文件测试用例的执行顺序
一. 源码的说明 在源码中,ddt的file_data函数下有这样一段话 意思是说,如果json文件的内容是字典,字典的键名将会作为测试用例名的后缀,字典的值将会作为测试数据,如果这样的话,如果键名字 ...
- docker mysql 8.0
Pull library/mysql $ docker pull mysql Load image $ docker load -i mysql.tar Save image $ docker sav ...
- C# List 排序
(转自:http://www.cnblogs.com/bradwarden/archive/2012/06/19/2554854.html) 第一种:实体类实现IComparable接口,而且必须实现 ...
- 【2018年全国多校算法寒假训练营练习比赛(第五场)-C】字符串问题(KMP)
题目链接:https://www.nowcoder.com/acm/contest/77/C [题意] 求一个字符串中最长的子串,要求子串既是原串的前缀又是后缀,除前后缀还在中间出现过. [思路] K ...
