浅压缩、深压缩、双引擎、计算机屏幕编码……何去何从?
专业视听领域尤其显示控制和坐席控制领域,最近几年最激动人心的技术,莫过于分布式了。
分布式从推出之日就备受关注:担心稳定性的,质疑同步性能的,怀疑画面质量的……
诚然,我们在此前见多了带着马赛克的模糊不清的监控画面,遇到过电脑上网刷个网页几秒钟不出来的事情。
这么不靠谱的网络上能担当起专业音视频所需要的高画质、高度同步和低延时?
但是分布式音视频带给人们的体验确实是革命性的,因此吸引了众多的行业精英倾其所能的投入研发。
路虽远行则将至,事虽难做则必成。
至今,无论过去对分布式持何种看法的主流视听领域的公司都在投入研发,并且提出了各自的解决方案。
因每个公司看问题的角度,解决问题的出发点不同,提出了不同的解决方案,浅压缩、深压缩、双引擎、计算机屏幕编码……眼花缭乱。
这些分布式方案都对音视频进行IP化,但IP化必然会对视频压缩,毕竟视频的带宽比网络的带宽大太多了。
压缩就面临画质和码率问题。
分布式产品最基本的是解决显示问题,如果图像不好,再丰富的功能也是舍本逐末;如果码率过大,IP化不“彻底”,不能获得IP化的红利。
因此可以说,图像压缩和还原技术好坏,是评判一家公司技术水平的关键,也是评判一款产品优劣的核心要素。
那么何谓浅压缩、深压缩、双引擎、计算机屏幕编码?各自有什么优劣?这应该是系统建设方、使用方、设计方最关心的问题了。
首先我们以一个表格来列举下各种方式的对比,然后再逐一尽量详细客观的列出其优缺点,以便读者在设计和建设音视频系统时参考。
计算机屏幕编码:只用低码率、高压缩比编码方式(一般H.264/265),实现达到计算机屏幕级别(表现为颜色突然跳变,如黑底红字,黑底蓝字,红底黑字,红底蓝字等)画质要求的编码技术。高通、微软、华为都具备这方面的发明专利,国内分布式领域也有公司具有这方面的发明专利技术。系统不论大小均可胜任,缺点是成本较高。
优点之一:画质好,即便严苛的计算机测试画面,也和原图几乎没有差异(如上图);
优点之二:是带宽低。其采用的编码方式还是HEVC(H.265)或者H.264,因此码率1路1080P@60一般就在10-20Mbps水平,对一般的有线网络来说非常轻松,甚至可以用现有的计算机网络(甚至因特网)承载而不影响业务网络;
优点之三:和安防、视频图像网、AI等无缝衔接(因为都是H.264/265),分布式的优势体现得更大(如无需任何解码器直接取安防平台流上显示墙,直接取流进行人、车以及人脸识别等)。
缺点:技术难度大,用以实现的芯片组价格昂贵,往往还需要配合FPGA或者DSP之类,设备成本高,价格往往比较高;
浅度压缩:视听行业中一类高码率视频压缩算法的总称,这类算法因压缩程度相对较低,算法复杂度也较低,故称为浅度压缩。浅压缩分布式主要采用SDVoE、VC-2、JPEG2000和私有算法等编码方式,对视频的压缩较小,视频画面的还原度高,相比深压缩产品,画质更好,同步性更高,延时更低。但同时因为码率高,所以较多用于本地会议级的小规模场景应用,整个系统对网络带宽的要求也会高出很多,整体建设成本更高。
优点之一:相对降采样为4:2:0后的深度压缩画质好,尤其计算机画面,基本能做到视觉无损;
优点之二:一般来说浅度压缩用帧内编码,编码延时比较小;但是因为码率大,往往消除网络抖动的时间余量都留得比较大;综合后延时有的产品和深压缩相当,有的略优。
优点之三:器件要求不高,成本低,容易实现。
缺点之一:码率太大,一般1路1080P@60就达到300-900Mbps,1路4KP@60最大可能达到4000Mbps,远超1路千兆网的承载水平,和5G等结合就更没可能了。
缺点之二:存储需求的存储空间太大,几乎不可用。按平均码率500Mbps算,也是H.264/265码率的20-50倍。
缺点之三:编码方式和安防平台几乎都不兼容,分布式的红利发挥不出来,还需要大量的转码器、编解码器和安防平台对接。
深度压缩:视听行业中一类低码率视频压缩算法的总称,与浅度压缩相反,这类算法因压缩程度相对较高,故称为深度压缩。行业内一般特指用安防H.264/265编码芯片的,降采样为4:2:0后进行编码的方式。因为画质比较低,所以一般应用于低成本,要求不高的场合。
优点之一:带宽低。其采用的编码方式是HEVC(H.265)或者H.264,因此1路1080P@60码率一般就在10-20Mbps水平,对一般的有线网络来说非常轻松,甚至可以用现有的计算机网络承载而不影响业务;
优点之二:和安防、视频图像网、AI等无缝衔接(因为都是H.264/265),分布式的优势体现得更大(如无需任何解码器直接取安防平台流上显示墙,直接取流进行人、车以及人脸识别等)。
优点之三:成本低,容易实现。因为采用安防芯片,芯片成本低,而且一般有较为成熟的方案,进行功能性研发即可。
缺点:画质较差。一般视频画面,电脑画面没问题,但是有强烈反差的画面,如CAD图、轨道交通图、雷达图、电力运行图,甚至部分情况下word,excel的效果都无法接受(如当excel表格选中一列时就模糊了,特别是当文字是红色时)。
双引擎(双码流):一个设备里边同时放置高码率编码芯片和低码率编码芯片,严格来说它并不是一种编码方式,但它是一种解决码率和画质的方法:高码率芯片用于解决本地显示清晰度问题,低码率编解码芯片(一般是H.264/265)为了解决远距离传输和对接安防平台的问题。实现较为容易,但网络较为复杂,同时只解决了本地画质问题,异地画质和存储画质问题还是未能解决。
优点之一:能兼顾本地显示画质和远距离传输的低码率要求;
优点之二:低码率引擎其实一般就是安防编解码芯片,所以也能和安防、视频图像网等对接。
优点之三:成本虽然比浅压缩和深压缩略高,但是浅压缩芯片和安防芯片(深压缩)都便宜,所以即便都放置进去,成本也低,而且容易实现。
缺点之一:远距离传输和存储的画质始终还是安防级的画质,是难以让人满意的。高码率和低码率同时编码1路图像,始终只是权宜之计,并没有从根本上解决压缩率和画质的问题。
缺点之二:浅压缩的码率还是很高,即便本地应用,大规模的应用对核心交换机的压力非常大,接入交换机选型也非常苛刻(系统必须满足极限要求,即每个端口900Mbps,48路的接入交换机,则上行44G,10个10G口都不够,但是往往接入交换机达不到48个千兆线速+4个万兆线速的包交换速度)。
缺点之三:系统互相影响大,系统稳定性,特别是大规模项目的稳定性,尚需要时间检验。
结语
一方面,是网络技术的飞速发展,虽然主流还是千兆网络,但是万兆网络也不再昂贵,且全部的千兆网络迭代到万兆尚需时日;
另一方面是视频清晰度往更清(4KP30,4KP60,8KP30均已经较为常见)、色彩更丰富(从24位色往30、36位升级,内容增加50%)方向升级的速度更快。
正在建设中,且可预见的近5-10年内大放异彩的5G,虽然下载速度达到500Mbps甚至更高,但是普遍上行速度为50+Mbps,即便网络良好的地方上行速度也就在200Mbps,是无法承载哪怕1路1080P@60的浅压缩视频流的,更别说1路4KP60了。
所以现阶段看来,分布式在未来5-10年内要充分5G的红利,依托5G生态建立更多精彩的应用,甚至能否跳出显示控制的狭窄应用,无缝融合到指挥、业务流程,实现更大的价值,低码率和画质始终是绕不过去的槛。
何去何从,我们拭目以待!
原文链接:https://mp.weixin.qq.com/s/jvp1I9BcngYxX0OVwqHivw
相关文章:

浅压缩、深压缩、双引擎、计算机屏幕编码……何去何从?
专业视听领域尤其显示控制和坐席控制领域,最近几年最激动人心的技术,莫过于分布式了。 分布式从推出之日就备受关注:担心稳定性的,质疑同步性能的,怀疑画面质量的…… 诚然,我们在此前见多了带着马赛克的…...

2020年通信工程师初级专业实务真题
文章目录 一、第1章 现代通信网概述:信令网、同步网、管理网。第10章 通信业务:通信产业链,通信终端的分类,通信业务的定义及分类二、第3章 接入网:无线接入网的优点,接入网的接口(UNIÿ…...
Linux常见面试题汇总
Linux上如何查询某个端口是否被占用? 在Linux上,你可以使用以下几种方法来查询某个端口是否被占用: 使用netstat命令: netstat -tuln | grep <端口号>这个命令会列出当前正在运行的所有TCP和UDP端口,并过滤出指…...

C语言小游戏:贪吃蛇(游戏开发的环境和功能介绍)
❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载,请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主,代码兴国!❤❤❤ 生命不停,学习不止。铁汁们,我是大伟,欢迎来到大伟的游戏时间,…...

ElementUI Form:InputNumber 计数器
ElementUI安装与使用指南 InputNumber 计数器 点击下载learnelementuispringboot项目源码 效果图 el-radio.vue (InputNumber 计数器)页面效果图 项目里el-input-number.vue代码 <script> export default {name: el_input_number,data() {re…...

apk反编译修改教程系列---修改apk的默认颜色 布局颜色 手机电脑同步演示【十】
往期教程: apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】 apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】 apk反编译修改教程系列-----修改apk中的图片 任意更换apk桌面图片【三】 apk反编译修改教程系列---简单…...

响应式开发如何设置断点,小屏幕界面该如何显示(有动图)
Hi,我是贝格前端工场,本期分享响应式开发,如何设置屏幕断点,pc页面布局到了移动端之后该如何布局的问题,微软也提供了设置屏幕断点的动图演示,非常直观。 一、什么是响应式开发,为何要设置屏幕断…...

Java基础 集合(二)List详解
目录 简介 数组与集合的区别如下: 介绍 AbstractList 和 AbstractSequentialList Vector 替代方案 Stack ArrayList LinkedList 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界…...

UE4运用C++和框架开发坦克大战教程笔记(十七)(第51~54集)
UE4运用C和框架开发坦克大战教程笔记(十七)(第51~54集) 51. UI 框架介绍UE4 使用 UI 所面临的问题以及解决思路关于即将编写的 UI 框架的思维导图 52. 管理类与面板类53. 预加载与直接加载54. UI 首次进入界面 51. UI 框架介绍 U…...

GaussDB新体验,新零售选品升级注入新思路【华为云GaussDB:与数据库同行的日子】
选品思维:低频VS高频 一个的商超,假设有50个左右的品类,每个品类下有2到10个不等的商品。然而如此庞大的商品,并非所有都是高频消费品。 结合自身日常的消费习惯,对于高频和低频的区分并不难。一般大型家电、高端礼盒…...

C语言问题汇总
指针 #include <stdio.h>int main(void){int a[4] {1,2,3,4};int *p &a1;int *p1 a1;printf("%#x,%#x",p[-1],*p1);} 以上代码中存在错误。 int *p &a1; 错误1:取a数组的地址,然后1,即指针跳过int [4]大小的字节…...
QT 的 blockSignals(true) 的作用范围
在 Qt 中,blockSignals 是一个用于控件的方法,它用于阻止控件发出的信号。如果你在一个 MainWindow 对象上调用 blockSignals(true),它会阻止该 MainWindow 对象发出的所有信号。 这意味着,如果 MainWindow 上有任何子控件&#…...

【C++私房菜】类和对象万字详解
目录 一、类与对象 1、类是什么 二、类和对象的基础知识 2.1 定义类:成员变量和成员函数 2.2 创建对象:实例化一个类的对象。 2.3对象的生命周期:构造函数和析构函数。 a. 构造函数 b. 析构函数 c.小结: 三、成员变量和…...
PDF下载添加水印和访问密码
下载接口 ApiOperation(value "下载文件-pdf", notes "下载文件pdf版", httpMethod "GET", response WebResult.class)RequestMapping(value "/downloadPdf", method RequestMethod.GET)public void downloadFilePdf(RequestPar…...

基于SSM+MySQL的的新闻发布系统设计与实现
目录 项目简介 项目技术栈 项目运行环境 项目截图 代码截取 源码获取 项目简介 新闻发布系统是一款基于Servletjspjdbc的网站应用程序,旨在提供一个全面且高效的新闻发布平台。该系统主要包括后台管理和前台新闻展示两个平台,涵盖了新闻稿件的撰写…...
记录首次使用yolov8-obb
1.数据格式 之前使用的数据格式是yolov5_obb的数据格式,然后需要转数据格式: 目前的数据只支持四个坐标点标注的数据,参考:If a corner of the rotate rectangle is out of the image range, How to annotate the image? Issu…...

深度学习环境配置:Anaconda 安装和 pip 源
conda是一种通用包管理系统,与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。 Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用…...
100 个 NLP 面试问题
100 个 NLP 面试问题 一、 说明 对于技术磨练中,其中一项很酷的技能培训是提问。不知道答案并没有多大的错;错就错在不谷歌这些疑问。本篇就是在面试之前,您将此文档复制给自己,做一个系统的模拟实战。 二、经典NLP问题(共8题&a…...

C# OMRON PLC FINS TCP协议简单测试
FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS指令可实现各种网络间的无缝通信,包括用于信息网络的 Etherne(以太网),用于控制网络的Controller Link和SYSMAC LINK。…...

MQTT在linux下服务端和客户端的应用
MQTT(Message Queuing Telemetry Transport)是一种轻量级、开放标准的消息传输协议,设计用于受限设备和低带宽、不稳定网络的通信。 MQTT的一些关键特点和概念: 发布/订阅模型: MQTT采用发布/订阅(Publ…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...