当前位置: 首页 > 编程日记 > 正文

最近很火的最新一代国际视频标准 VVC 到底是什么?阿里专家为你揭秘

作者 | 叶琰,阿里巴巴达摩院XG实验室视频标准团队负责人

责编 | 夕颜

头图 | CSDN付费下载自视觉中国

2020年7月1日晚上(日内瓦时间),第十九次JVET会议在线上落下帷幕,新一代国际视频编码标准VVC第一版(Versatile Video Coding version 1)[1] 在这次会议上正式定稿。接下来的两天里,JVET委员会的两个上层组织(parent body)分别用各自的方式认可了VVC标准:国际电信联盟ITU-T的SG16 (study group 16)批准VVC标准并正式定名为ITU H.266,而国际标准化组织ISO/IEC的MPEG工作组在第131次会议闭幕大会上批准VVC成为ISO/IEC 23090-3 FDIS(final draft international standard)并正式启动各个国家最后的投票过程。从2018年4月JVET在美国圣迭戈召开会议,评估各大公司提交的提案书(response to  joint  call  for  proposals)并设立了第一个VVC测试模型(VVC  test  model 1.0)开始,到2020年7月因为疫情将JVET会议从原计划在日内瓦ITU-T总部改成网会的形式召开,VVC标准共经历十次会议,总计六千多份技术提案的激烈讨论,第一版终于成功定稿。

相比起现在在业界广泛使用的H.265/HEVC标准和H.264/AVC标准,H.266/VVC标准的制定考虑了更多样的视频格式和内容,旨在为已有和新兴的视频应用提供更加强大的压缩性能以及更加灵活易用的功能。因此它的定稿将会给全球视频业界带来巨大的影响,商用VVC编解码器的成熟可以大幅度降低成本,提升效率,同时与5G网络更新换代的步伐相配合,促成更多的新兴视频应用的大规模推广。VVC的标准制定过程也代表着包括阿里巴巴在内的中国各家互联网公司第一次参加国际视频标准的制定,因此,VVC标准对中国视频业界的意义尤其重大。在这篇文章里,让我们来一起回顾一下VVC标准的制定过程,它所提供的先进的压缩工具,强大的压缩性能和灵活功能,以及达摩院XG实验室视频标准团队对VVC标准的贡献。

国际标准化组织ISO/IEC MPEG和国际电信联盟ITU-T VCEG简介

说起对业界影响最深的国际视频标准,不得不先说一下两个重磅国际标准组织:国际电信联盟ITU-T国际标准化组织ISO/IEC。从组织架构上来说,国际电信联盟和国际标准化组织都是联合国下属的技术部门。这两个组织所涉及的标准化范围非常广泛,涵盖了通信行业,多媒体行业,AI行业,以及其它数不胜数的行业,遍及大家现代生活的各个方面。这两家组织在视频编解码标准化方面的委员会分别是VCEG (video coding experts group,正式名称为ITU-T/SG 16/WP3/Q.6)MPEG(moving picture experts group,正式名称是ISO/IEC JTC1/SC 29/WG 11)这两个工作组。如图 1所示,这两个视频标准工作组都是从90年代初开始就制定视频编解码标准,到H.266/VVC已经是他们制定的第6代视频标准,也是这两强联手共同制定的第4代国际视频标准。这两强联合所制定的视频标准对技术的变革和产品的推动都有深刻影响,比如MPEG2(也是ITU H.262)引领了模拟电视到数字电视的变革,H.264/AVC引入了高清视频和互联网视频,并在各种端设备上(包括电视,手机,电脑,机顶盒等)全面落地,而H.265/HEVC则成功引入了超高清4K和HDR 视频。H.264/AVC和H.265/HEVC这两个视频标准是通过技术的变革来推动了商业上的巨大变革的成功案例。它们大幅度推广了视频应用,提高了用户体验,对业界产生的深远影响也让它们分别获得了国家电视艺术及科学学院所颁布的电视界最高荣誉:黄金时段艾美奖。

图 1. 各代国际视频标准“族谱”

读到这里,大家可能都想问,为什么几十年过去了,标准组织还在孜孜不倦的制定新的视频编解码标准?答案其实很简单,就是因为虽然同期内信息论和网络传输技术的迅猛发展给消费者带来了更多的带宽,但是光靠带宽的增长自身远远满足不了越来越多的视频应用对高效率高质量视频数据传输的需求;因此,供不应求的局面造成带宽资源的成本一直居高不下。为了解决这个问题,每一代视频标准的迭代更新都有一个必要条件,就是必须在视频画面质量保持不变的前提条件下,新的标准相比上一代视频标准的压缩性能要翻倍,也就是可以保证用一半的成本来实现同样的画质和用户体验。如图 2所示,这个目标在过去的每一次标准更新换代中都做到了,也同样代表着视频业界对最新一代标准VVC的期待。

图 2. 视频标准更新换代的性能目标:2x的压缩性能


VVC标准化进程概述

虽然从正式的标准化流程来说,VVC标准的制定是从2018年4月圣地亚哥会议开始的,但是其实早在2015年10月,VCEG和MPEG就已经成立了JVET (joint  video  exploration  team)联合技术委员会,并设立JEM(joint exploration model)参考平台,在此平台基础上专注开发比HEVC更加先进的视频编解码技术(图 3)。通过2年多在编解码技术上耕耘和积累,到2017年,在PSNR(peak signal to noise ratio)指标保持不变的情况下, JEM相比HEVC的参考测试模型HM已经可以做到34%的编码效率提升,为开始开发新一代视频标准奠定了重要的技术基础。同期内,JVET也致力研究360全景视频,为支持AR 和VR等新兴视频应用打基础。2016年内JVET建立了360Lib 这个参考平台,为360度全景视频的前后处理,编解码和全景视频质量评估等重要技术点定义了一整套全链路处理流程和质量评估体系。

图 3. VVC正式标准化开始之前,经历了3年的技术积累

2017年10月,ITU-T VCEG和ISO/IEC MPEG正式共同发布了新一代标准的技术征求书(joint call for proposals)[2]。这个技术征求书中不光包括了已经在业界广泛使用的标准动态范围(standard dynamic range,简称SDR)视频格式,同时还包括了高动态范围视频(high dynamic range,简称HDR)和360全景视频两种新兴视频格式,是ITU-T和ISO/IEC两个标准组织历史上第一次发布多视频格式的技术征求书。经过半年的准备工作,2018年4月圣地亚哥会议上,JVET共收到了来自全世界各地共32个单位所提交的共23份提案(response to joint call for proposals),其中性能最高的提案在同样PSNR指标下相比HM可以提升40%以上的编码效率,充分证明下一代标准的编解码技术已经成熟 [3]。鉴于这个联合技术征求书的成功,在圣地亚哥会议上,JVET正式更名为 joint video experts team,并将下一代标准命名为versatile video  coding,简称VVC,并建立了第一版VVC测试模型(VVC test model)VTM-1.0 [4]。

从2018年4月到2020年7月,JVET委员会共召开了10次会议,经历了100多个高强度会议工作日,处理了来自全世界各地几十家公司和单位的6000多份技术提案。两年的时间内,VVC标准顺利通过committee  draft (CD),draft international standard(DIS)和final draft international standard(FDIS)三个重要里程碑(图 4),克服了疫情的影响,并在2020年7月按时发布了VVC标准第一版![1]

图 4. VVC标准化进程的主要里程碑

做为一个主流视频标准, VVC产品型态将广泛触及视频产业链的各个环节:视频内容会涵括专业制作的版权内容,日常生活中拍摄的UGC,会议视频,直播视频,点播视频,体育赛事,HDR视频,全景视频,监控视频等多种视频类目,而设备上也会广泛覆盖手机,电脑,摄像头,机顶盒,电视,头戴式设备等多种终端。考虑到不同终端的软硬件能力相差悬殊,尤其是移动端更需特别关注功耗,JVET在制定VVC标准的过程中,不仅追求卓越的压缩性能,同时也始终倍加关注VVC编解码算法的复杂度,以保证VVC标准的实现复杂度不超过目前软硬件的实现能力,以促进VVC标准可以早日在端上有软硬件的实现并早日在业务和应用中落地。在视频编解码这个领域,绝大多数的应用场景都存在着编码一次解码多次的不对称性(比如直播点播广播等),因此和历届标准一样,相对于编码器的复杂度来说,VVC标准对解码器的复杂度控制得更紧。如图 5显示,VVC测试模型在从VTM-1.0到VTM-9.0的版本迭代过程中,在压缩性能大幅度提升的同时,解码器的复杂度一直基本持平,相比HEVC的解码复杂度不超过两倍。同时,编码的复杂度与压缩性能基本保持健康的正比关系。截至到VTM-9.0,VVC的性能基本稳定,在同样PSNR的条件下,相比HEVC对高清和超高清视频平均码率节省达到39%。在后面的章节里我们会看到,如果不用PSNR而是用主观质量做为衡量基准,这样的压缩效率的提升可以换算为50%以上的码率节省。

图 5. VTM的性能及复杂度演化史


灵活的块划分大幅度提高编码性能

为了提高压缩性能, VVC相比HEVC增加了30多种新的编码工具(图 6),覆盖了混合视频编解码系统框架中的每个模块,对包括块划分,帧内及帧间预测,残差编码,变换量化, CABAC熵编码,环路滤波等模块都做了一定程度的改进。

图 6. VVC编码工具一览

由于VVC中的编码工具众多,篇幅有限在这里不一一赘述。我们就只拿VVC所支持的块划分来做个简单的例子。VVC的编码单元(Coding Tree Unit,简称CTU)最大可以覆盖到128x128亮度像素区域,同时除了支持四分树,也支持二分树和三分树的块划分。如图 7所示,由于VVC的块划分更加灵活,相比H.265/HEVC标准而言,VVC可以用更大的块划分来高效率的表达视频内容中相对平缓的区域,而对于纹理细致边缘信息丰富的区域,VVC可以通过二分树和三分树的方式做到更加细致的表达。另外,VVC还支持几何划分模式这种非矩形形状的划分方法,因此可以更加精准地描述物体的轮廓。

图 7. VVC支持更加灵活的块划分


VVC为多种视频格式提供卓越的压缩性能

前面提到过,ITU-T  VCEG和ISO/IEC  MPEG 每次发布新一代的国际视频标准,其最重要的任务就是在视频质量相同的前提下,将压缩性能翻倍,也就是带宽(或存储)成本减半。VVC标准也肩负着一样的性能目标。

在标准开发过程中,JVET标准委员会需要进行大量的核心实验,来收集编码工具的压缩性能和复杂度数据,并根据核心实验的数据来决定是否采纳一个新的编码工具。为了可以快速收集到压缩性能和复杂度的数据,标准开发的过程中一般采用大家公认并易于计算的客观性能指标做为压缩效率的衡量,比如PSNR就是一个经常被使用的客观质量评估方法,可以用来衡量经过压缩后的视频相比原始视频的失真度。

如表 1所示,在PSNR保持不变的前提下, VVC参考软件VTM-9.0相比于HEVC来说,在不同分辨率的视频平均可以节省码率37.3%,而且分辨率越高,码率节省越多,对4K超高清视频来说,码率节省可以达到40%以上 [5]。

表 1. VVC在不同分辨率的SDR视频上的客观性能增益(基于PSNR的质量评估)

但是对视频质量评估而言,比PSNR这个客观质量远远更加重要的是主观质量。国际标准 ITU-R rec. BT500-14 对视频主观质量的评估制定了一套严谨的评估方法和步骤 [6],通过让视力正常的人群对视频质量打分并进行严格的统计分析的方法来得到视频主观质量平均分(mean  opinion  score ,简称MOS)和MOS的可信度(confidence interval)。这样所得到的MOS才是对视频质量最权威的评估,也是每次在新一代标准定稿以后,正式对比新旧两代标准的压缩性能的时候必须使用的质量评估方法。2020年上半年VVC标准即将定稿之际,JVET委员会就已经开始着手筹备VVC的性能验证测试(VVC verification testing)工作, 开启基于视频主观质量的压缩性能验证工作 [7]。如图 9所示,从目前收集到的初步主观测试结果上看,在4K视频内容上,在同样的主观质量前提下,VVC 可以达到50%-55%的码率节省 [8]。VVC性能验证测试的正式结果预期将在10月份发布。另外说明一下,为了有效地防止压缩算法的过拟合问题,保证测试结果的公允性,正式的性能验证测试所使用的视频内容都是在标准开发过程中从来没有使用过的视频内容。

图 9:两个4K序列的初步主观测试结果

前面提到VVC标准的全称是Versatile Video Coding,所以第一个V代表着VVC“多才多艺“的一面。因为最近几年视频采集处理技术的迅猛发展,除了传统的SDR视频内容,HDR和360全景视频等新兴视频内容开始走入消费者的生活。同时,由于远程办公的兴起,在视频会议场景中更多的时候需要对屏幕内容(如PPT,文档,xls等)进行分享。相比起图 7中摄像头采集的自然视频内容,图 10所示的屏幕视频内容富含文字,高频信息丰富,需要不同的编码工具。为了更好的支持屏幕内容编码,VVC将HEVC的屏幕编码扩展(HEVC screen content coding extension)中所支持的几个屏幕编码工具也纳入了VVC main profile,为屏幕内容编码提供更广泛的硬件解码支持。

图 10:屏幕内容示例

对于高动态范围HDR视频,VVC同时考虑到了业内广泛使用的HLG(hybrid log-gamma)和PQ (perceptual quantizer)两种主要变换函数(transfer function)。对于HDR视频,VTM参考编码器中支持块级QP调整的算法来适应HDR视频更大的亮度动态范围和更宽的色彩空间,提升HDR视频(尤其是基于PQ的HDR视频)的压缩性能。同时JVET委员会也通过一个叫做HDRTools的参考平台对HDR视频处理和质量评估等方面提供全面的技术支持。表 2显示在PSNR保持不变的前提下,VVC相比于HEVC可以在HLG和PQ两种HDR视频上达到快40%的码率节省 [9]。同时,VVC性能验证测试中也包括HDR视频格式,将通过正式主观质量测试的方法来确认VVC相对于HEVC在HDR视频上的性能增益,正式测试结果预期将在2020年内发布 [7]。

表 2. VVC在HLG和PQ两种HDR视频上的客观性能增益(基于PSNR的质量评估)

对于360全景视频来说,在VVC尚未正式开始的JEM时代,JVET委员会就采纳了360Lib参考平台,并将360Lib与HM,JEM和后来的VTM相结合形成一套完整的参考平台系统,并在这个平台的基础上,对360全景视频的投影,压缩和质量评估等关键技术问题进行了深入的研究。ITU-T和ISO/IEC联合发布的VVC技术征求书中也包括了360全景视频这一重要视频类目。因此,VVC标准从一开始就充分考虑到AR和VR这些新兴的视频应用,在VVC标准开发过程中针对这些应用的需求进行了深度的算法优化。VVC标准支持一个叫做水平环绕运动补偿(Horizontal wrap-around motion compensation)的编码工具,可以显著提高equi-rectangular projection(ERP)投影格式的主观质量(ERP是目前业界使用最广泛的全景视频投影格式)[10]。

另外,VVC还支持一些比ERP更加先进的投影格式(比如generalized cubemap projection,简称GCMP)[11]。实验证明将这些先进的投影格式与核心VVC编码器结合后,可以进一步提高全景视频的压缩性能。同时,VVC编码器还可以针对不同的投影格式进行采样密度的分析,并相应调整块级QP,这样的策略也可以用来提高全景视频的压缩性能。由于全景视频相机的可视角度(field of view)远远高于传统相机,因此在对全景视频进行数字化采样是,必须使用超高清及以上的分辨率才能保证全景视频的质量。4K超高清对全景视频只是最低要求,业界更多的是使用6K和8K这样的超高清分辨率来表达全景视频。这样高的视频分辨率对全景视频采集,处理,及压缩这些环节的算力都提出了很大的挑战。因此,VVC标准中提供了更多的并行化处理工具(如子图像,矩形slice等)来更好的支持AR和VR这样的新兴视频应用。

一般相机是在二维平面上对视频信号进行采集,而全景视频相机是基于球面对视频信号进行采集,然后将在球面上采集到的视频信号投影到平面上。因为这个特性,在客观视频质量评估的时候,一般意义上的PSNR并不适合直接套用在全景视频上。针对这个技术问题,JVET委员会设计了WS-PSNR (weighted spherical PSNR)这个改进后的PSNR指标对全景视频进行客观质量的评估 [11]。表 3中显示了VVC在同样的WS-PSNR指标之下,相比HEVC可以做到33%的码率降低 [12]。当然,与SDR视频和HDR视频一样,VVC在全景视频上的性能增益也一样需要通过主观质量测试的方法来进行正式的评估 [7]。前面所提到的VVC性能验证测试工作中也包括360全景视频这个类目,目前正在推进中,正式主观测试结果预期将在2020年内发布。

表 3. VVC在360全景视频上的客观性能增益(基于WS-PSNR的质量评估)


结语

在经历了JEM上的三年标准前期技术积累,两年多的标准化,三个重要里程碑,几千篇技术提案,100多个会议工作日,数十个核心实验和专题讨论组一轮又一轮的激烈讨论之后,VVC终于成功诞生!这是视频编码标准史中的一个里程碑,标志着视频编码技术迈上了一个新的台阶,将推动整个视频行业又一次产业革新。VVC的成功制定离开不全球几百位视频编码专家的辛勤汗水和付出!

VVC是包括阿里巴巴在内的多个中国互联网公司第一次入场参与制定的国际视频标准。在制定过程中,达摩院XG实验室的视频标准团队对VVC中的多个编码工具做出了重要的技术贡献,其中包括亮度映射与色度缩放(luma mapping with chroma scaling,简称LMCS),几何划分,调色板模式,变换跳过模式的残差编码,参考帧重采样等多个编码技术。同时,我们这个标准团队的成员也担任过核心实验和专题讨论组的主席,做过代理主席主持过JVET大会,JVET分会和一些技术小组的会议讨论。在VVC性能验证评测这个重要工作中,团队成员是全景视频类目测试的负责人,主导测试环境的定义并帮助生成多个测试码流。我们为VVC标准所做的这些贡献,既是XG实验室视频团队的荣幸,也是阿里巴巴作为一家中国互联网公司应有的技术担当和社会使命。

目前,XG实验室视频技术团队已启动VVC标准的软件编解码器项目研发,未来将用于提升直播、短视频等新业态的视频质量和用户体验。

参考文献

[1]. Versatile Video Coding (Draft 10), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10399

[2]. Joint Call for Proposals on Video Compression with Capability beyond HEVC,  http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=3361

[3]. Report of results from the Call for Proposals on Video Compression with Capability beyond HEVC, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=3540

[4]. Versatile Video Coding (Draft 1), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=3538

[5]. JVET AHG report: Test model software development (AHG3), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10370

[6]. Methodologies for the subjective assessment of the quality of television images, https://www.itu.int/rec/recommendation.asp?lang=en&parent=R-REC-BT.500-14-201910-I

[7]. VVC verification test plan (Draft 3), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10416

[8]. Results of dry run subjective assessment of SDR UHD verification test, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10385

[9]. JVET AHG report: Coding of HDR/WCG material (AHG7), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10374

[10]. Algorithm description for Versatile Video Coding and Test Model 9 (VTM 9), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10156

[11]. Algorithm descriptions of projection format conversion and video quality metrics in 360Lib (Version 10), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=9677

[12]. JVET AHG report: 360° video coding tools, software and test conditions (AHG6), http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=9366

作者介绍:

叶琰,阿里巴巴达摩院XG实验室视频标准团队负责人,代表阿里巴巴参与VVC标准制定,曾任代理主席主持过JVET大会,并多次参与VVC标准在内的3代视频编解码标准开发。

更多精彩推荐
  • 认知智能,AI的下一个十年 | AI Procon 202

  • 台积电9月14日断供华为:中国“芯”的坎坷之路

  • 2020 美国大选在即,又到了 AI 花式打击假新闻的季节

  • 从病毒到“基础软件污染”,Linux 真的安全吗?

  • 区块链加持《赛车经理》:ForceForFast 搭建由用户掌控的赛车新世界

相关文章:

nesC编程入门

1.接口 NesC程序主要由各式组件(component)构成,组件和组件之间通过特定的接口(interface)互相沟通。一个接口内声明了提供相关服务的方法(C语言函数)。例如数据读取接口(Read&#…

用asp.net实现的把本文推荐给好友功能

作者&#xff1a; 飞鹰 www.ASPCool.com 时间:2001-11-25 17:39:07 ///<summary> ///<author>飞鹰ASPCool.com</author> ///<description>本文用asp.net实现把此文推荐给好友的功能。</desciption> ///<copyright>ASP酷技术资讯…

Access sql语句创建表及字段类型

创建一张空表&#xff1a; Sql"Create TABLE [表名]" 创建一张有字段的表&#xff1a; Sql"Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200)) 字段类…

“刚毕业1年,做Python能挣多少?”网友:吹的不多..

01现状揭秘&#xff1a;Python的火持续燃烧程序员&#xff1a;心态崩了&#xff01;2020年转眼已经大半&#xff0c;在近几个月的榜单中&#xff0c;Python已经连续走上卫冕的道路&#xff0c;并且与Java的差距拉得更远了一些。以往与Java常呈现你追我赶之势&#xff0c;而这一…

Java编程的逻辑 (39) - 剖析LinkedList

本系列文章经补充和完善&#xff0c;已修订整理成书《Java编程的逻辑》&#xff0c;由机械工业出版社华章分社出版&#xff0c;于2018年1月上市热销&#xff0c;读者好评如潮&#xff01;各大网店和书店有售&#xff0c;欢迎购买&#xff0c;京东自营链接&#xff1a;http://it…

运用.NET读写Windows注册编辑表

作者&#xff1a; 冉林仓 www.ASPCool.com 时间:2001-11-9 如果你曾经使用过RegOpenKeyEx、RegCreateKeyEx、RegCloseKey等Win32 API函数读写过注册编辑表&#xff0c;你肯定非常熟悉这些复杂的Registry函数。相反&#xff0c;在.NET框架中&#xff0c;Registry和RegistryK…

使用正则表达式抽取新闻/BBS网页发表时间

package org.apache.nutch.parse.html; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 分析时间戳 * * author xum * */ public class Publish…

为什么Python没有main函数?

作者 | 豌豆花下猫来源 | Python猫&#xff08;ID:python_cat&#xff09;众所周知&#xff0c;Python中没有所谓的main函数&#xff0c;但是网上经常有文章提到“ Python的main函数”和“建议编写main函数”。其实&#xff0c;可能他们是想模仿真正的main函数&#xff0c;但是…

HTTP访问服务的相关解释

一、访问网站的基本流程第一步&#xff1a;客户端用户在浏览器输入www.51cto.com网站&#xff0c;回车后&#xff0c;系统首先会查找系统本地的DNS缓存及hosts文件信息&#xff0c;确定是否存在www.51cto.com余名对应的IP解析记录&#xff0c;如果有就直接获取IP地址&#xff0…

关于ASP.Net中的时间处理

作者&#xff1a; 飞刀 www.ASPCool.com 时间:2001-8-8 这里我想谈谈ASP.Net中对时间的处理 在ASP.Net中&#xff0c;M$为我们提供一种名为DateTime的对象&#xff0c;我们用这个对象来取得当前的时间。比如&#xff1a; DateTime dtDateTime.Now; 在上面…

还缺30万人!程序员2020年要过好日子了……

最近&#xff0c;程序员届有一个重大好消息&#xff0c;可能很多人还不知道&#xff0c;那就是&#xff1a;国内某些城市已经开始程序员人才补贴了&#xff01;对于人工智能公司的项目开发、人才引进、科技研发&#xff0c;最高按照国拨经费的30%给予配套支持&#xff0c;单个项…

淘宝海量数据库之二:一致性选择

众所周知&#xff0c;一致性是数据最关键的属性之一。2000年&#xff0c;Eric Brewer教授在ACM分布式计算年会上指出了著名的CAP理论&#xff1a; Brewer, E. A. 2000. Towards robust distributed systems. In Proceedings of the 19th Annual ACM Symposium on Principles of…

Linux 小记录!

rmdir与 rm -r 的不同处前者这能删除目录 后者目录和文件都可以删除cp 和echo 都会覆盖原有的内容ctrl &#xff0b; c 强制中断这条命令/前后是没有空格的快捷键&#xff1a;TAB 命令 路径补全符号&#xff1a;; 多个命令的分隔符/ 根或者路径的分隔符。> 标准输出重定向…

Session 详解

作者&#xff1a; heallven www.ASPCool.com 时间:2004-8-28 阅读本文章之前的准备 阅读本文章前&#xff0c;需要读者对以下知识有所了解。否则&#xff0c;阅读过程中会在相应的内容上遇到不同程度的问题。 懂得ASP/ASP.NET编程 了解ASP/ASP.NET的S…

实现一个模拟CMD.exe命令编辑模式执行与显示的Delphi控件

cmd.exe这个东西是Windows系统自带的执行Dos的一个灰常好的人机命令交互的执行方式&#xff0c;现在很多脚本语言也都带有这种即时解释的人机模式。当下由于工程的需要&#xff0c;也要做一个类似命令解释显示的编辑器&#xff0c;基本上完全模拟Cmd.exe的这种交互模式&#xf…

谷歌这波大动作,暴露了什么信号?

我们都知道谷歌爸爸收购了Cask Data一家公司。长期以来&#xff0c;谷歌致力于推动围绕 GoogleCloud 的企业业务&#xff0c;但在这方面一直被亚马逊和微软吊打&#xff0c;这次的收购正是为了弥补自身的短板。被收购的 Cask Data 是一家专门提供基于Hadoop的大型数据分析服务解…

OSChina 周一乱弹 ——喝不到放心奶

2019独角兽企业重金招聘Python工程师标准>>> 【今日歌曲推荐】 陈李雨声 : 梦想还是要有的 万一实现了呢。《secret base》 《secret base》- 茅野愛衣 / 戸松遥 / 早見沙織 手机党少年们想听歌&#xff0c;请使劲儿戳&#xff08;这里&#xff09;. 紫King : 这个大…

Assembly学习心得

http://blog.csdn.net/etmonitor/Assembly学习心得说明&#xff1a;最近开始准备把学到的.NET知识重新整理一遍&#xff0c;眼过千遍不如手过一遍&#xff0c;所以我准备记下我的学习心得&#xff0c;已备参考。J各位都是大虾了&#xff0c;如果有哪些错误或者不完整的地方&…

Oracle profile 用户资源限制 说明

一. 官网说明CREATE PROFILEhttp://download.oracle.com/docs/cd/E11882_01/server.112/e17118/statements_6010.htm#SQLRF01310Oracle recommends that you use the Database Resource Manager rather than this SQL statement to establish resource limits. The Database Re…

刚发布!2020年AI人才发展报告,这三个暗示程序员一定要知道!

最近&#xff0c;程序员届有一个重大好消息&#xff0c;可能很多人还不知道&#xff0c;那就是&#xff1a;国内某些城市已经开始程序员人才补贴了&#xff01;对于人工智能公司的项目开发、人才引进、科技研发&#xff0c;最高按照国拨经费的30%给予配套支持&#xff0c;单个项…

阿里巴巴开源技术汇总:115个软件(一)

阿里巴巴开源技术汇总&#xff1a;115个软件 摘要&#xff1a; 云栖社区近期策划了多期和开源产品相关的内容&#xff0c;如GitHub最流行的开源机器学习、大数据等项目&#xff0c;揭秘阿里Weex项目&#xff0c;Hilo开源分析等。深入挖掘&#xff0c;发现开源中国已经收集了数年…

Globalization Resources

http://blog.csdn.net/etmonitor/.NET系统学习----Globalization & Resources l 前言l 了解资源文件l 创建资源文件l 在程序中使用资源文件l 资源文件的命名和部署l 参考前言&#xff1a;在学习如何使用.NET资源文件…

用 Python 可以实现侧脸转正脸?我也要试一下!

作者 | 李秋键责编 | Carol封图 | CSDN 下载自视觉中国近几年来GAN图像生成应用越来越广泛&#xff0c;其中主要得益于GAN 在博弈下不断提高建模能力&#xff0c;最终实现以假乱真的图像生成。GAN 由两个神经网络组成&#xff0c;一个生成器和一个判别器组成&#xff0c;其中生…

Hive SQL 监控系统 - Hive Falcon

1.概述 在开发工作当中&#xff0c;提交 Hadoop 任务&#xff0c;任务的运行详情&#xff0c;这是我们所关心的&#xff0c;当业务并不复杂的时候&#xff0c;我们可以使用 Hadoop 提供的命令工具去管理 YARN 中的任务。在编写 Hive SQL 的时候&#xff0c;需要在 Hive 终端&am…

System commands can run from cmd

gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 logoff---------注销命令 tsshutdn-------60秒倒计时关机命令 lusrmgr.msc----本机用户和组 services.msc---本地服务设置 oobe/msoobe /a----检查XP是否激活 notepad…

做 Java 工程师,挺!好!

很多想要入行编程圈的人问到我该学哪一种语言&#xff0c;我都毫不犹豫的说Java。首先我们先看个排行榜&#xff0c;来自权威开发语言排行榜TIOBE的数据&#xff08;截止到2020年4月&#xff09;&#xff0c;可以看到Java语言依然在语言排行榜霸占第一的位置&#xff01;看到这…

使用tmpfs缓存文件提高性能

[ZT]使用tmpfs缓存文件提高性能 - 夜隼 - 博客园使用tmpfs缓存文件提高性能tmpfs是一种虚拟内存文件系统&#xff0c;它最大的特点就是它的存储空间在VM&#xff08;virtual memory&#xff09;里面。Linux系统中VM主要由RM(Real Memory)和swap组成&#xff0c;因此tmpfs最大的…

【转】RelativeLayout和LinearLayout及FrameLayout性能分析

原文&#xff1a;http://blog.csdn.net/hejjunlin/article/details/51159419 工作一段时间后&#xff0c;经常会被领导说&#xff0c;你这个进入速度太慢了&#xff0c;竞品的进入速度很快&#xff0c;你搞下优化吧&#xff1f;每当这时&#xff0c;你会怎么办&#xff1f;功能…

SQL Tips

出自&#xff1a;http://blog.csdn.net/etmonitor/一.怎样删除一个表中某个字段重复的列呀,举个例子表[table1]id name1 aa2 bb3 cc1 aa2 bb3 cc我想最后的表是这样的id name1 aa2 bb3 cc回答:将记录存到临时表#t中&#xff0c;重复的记录只存一条&#xff0c;然后将临时…

98年“后浪”科学家,首次挑战图片翻转不变性假设,一作拿下CVPR最佳论文提名​...

出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;刚刚结束的CVPR大会&#xff0c;总共收到6424篇论文中&#xff0c;仅有26篇获得最佳论文提名&#xff0c;占0.4%的比例。其中&#xff0c;康奈尔大学大四学生林之秋&#xff0c;以第一作者身份提交的“Visual Chiralit…