精华内容
下载资源
问答
  • 常见会议类型
    千次阅读
    2020-01-17 19:00:53

    曾经的你是否遇到过这样的窘境?

    出门在外巧遇紧急会议,手机接入模糊不清,挠头状……

    企业内部分支偏远,开会协同缓慢,耸肩状……

    异地开会成本居高不下,叹气状……

    跨企业跨区域交流沟通,效率低下,无奈状……

    这些该怎么办?

    开会这件事,作为企业级人才来说绝对是件重要却让人伤神的事儿,何时才能让我们做到手机在手会议出差两不误,多端畅想还能体验高清效果,灵活扩容且成本不高?

    敢不敢让大家不用再担心偏远分支协作开会的各种坑,从而能够多地享受“零距离”会议,共享协作轻松加愉快,这波操作听起来就觉得美滋滋。

    面对以上诸多难题与愿景,作为每天本就因工作而心力憔悴的“企业级人才”,深知在如今快速发展的信息化时代,高效沟通与跨企业、跨区域的团队协作工作是何等关键重要,而企业级通信技术作为信息链接与沟通的重要工具之一,在云计算、人工智能以及5G技术的推动下有了十足的长进,所以,能够帮助企业完成实时的信息链接与决策的云通信,从根源上帮助企业节省人力、物力和时间成本的云视频会议产品应运而生。

    谈及云通信,事实上企业通信市场向云上转型的趋势早就显而易见,不仅带来了通信方式的变革,还在一定程度上促成了互联网和云服务资源的融合与对接,将其称为企业的信息中枢也丝毫不为过。据IDC发布《2018年中国协作与视频会议市场跟踪报告》及IDC产业研究院数据,国内以云视频会议为代表的软件会议市场规模约133亿元人民币,在增速上,未来5年的CAGR为25%。由此看来,云视频会议已是大势所趋。

    发展前景如此远大,但目前国内云视频会议相关领域的增速同国外发达市场相比还是慢了一些,问题可能集中在系统兼容、安全隐患甚至是“上云慢”等多个方面。尽管如此,腾讯云依靠腾讯多媒体实验室所提供的强大技术,推陈出新破局企业云会议,云视频会议的压舱石“腾讯会议”依然以强大的功能与良好的体验,为视频会议市场打上了一针强心剂。那么,究竟它是怎么做到了简单易用、安全可靠、门槛很低但工作起来又“掉价儿”的呢?对此,阿丹有幸采访到多位腾讯多媒体实验室的技术专家,为我们详细介绍了关于腾讯会议背后究竟有些哪些技术支撑,一并揭开腾讯多媒体实验室的神秘面纱。

    揭秘!“腾讯会议”背后究竟有哪些炫酷黑科技?

    基于腾讯20余年业务音视频技术积累,此次发布的“腾讯会议”能够确保不同设备、系统,且分布在世界各地所带来的底层低延迟的全球网络的参会者,能够自然方便的开启一场高清流畅的音视频会议。换言之,腾讯多媒体实验室通过融合经典信号处理、心理听觉和深度学习理论,针对端到端音频通信链路上的复杂特性,打造出高品质、低时延、强抗性的新一代智能实时音视频解决方案,提升用户的音视频体验。

    多端协同、高清体验、灵活扩容还不够,腾讯会议同时兼具会议文档分享、背景虚化、人像美颜与追踪、AI语音降噪、安全保驾护航等超多贴心功能与服务。接下来,就让我们一同揭秘“腾讯会议”背后的黑科技吧。

    目前,市面上的音视频会议产品并不在少数,对此腾讯多媒体实验室技术专家强调,尽管音视频类产品众多,但是从技术细节到用户体验都存在着较大的差别,无论是从网络、质量评估还是音视频处理来说,腾讯会议这款产品都体现出差异化的竞争优势。例如在互联互通方面,腾讯多媒体实验室打通了VoIP和PSTN传统话机等多种接入设备,支持从窄带、宽带到超宽带等多种采样率和带宽。

    而之所以用户能够收到如此高清高语音品质的视频通话,除了音频超分等黑科技的加持,考虑到语音通话系统的复杂性,腾讯多媒体实验室还打造了面向真实网络场景的语音质量运维和保障方案,实时检测通话的质量、对杂音和嘈杂声进行快速定位,从而持续保障高品质通话。除此之外,为确保参会人员能够拥有一个安静的远程沟通环境,腾讯多媒体实验室专门针对诸如键盘声、咳嗽声、放水杯声等常见噪声的定点降噪,保证与会人员在智能降噪的环境中专心会议无忧其他。

    如何做到远程多人协同会议与在同一间房间面对面体验无差别?对此技术专家表示,依据国际IPO标准,端到端延迟需要控制在150毫秒,才能保证良好的音频沟通体验效果。对于端到端延迟问题,在现有的环境下,网络环境作为通信脉络最复杂的一环,其状态是不可控的。“为达到良好的沟通效果,我们尽可能的在有限的情况下达到最优值,例如在极限无损、无丢包、延迟低的情况下,延迟甚至可以达到67毫秒的极限值。在该优化基础上,针对网络状态再做实时检测,所得到的实时反馈结果,在做进一步的策略调整;倘若,网络遭遇类似突发丢包或者延时等情况,我们将调整传输策略以抵抗网络的波动。最终,尽管延时会在直接网络下有一些波动,但并不会影响与会人员的主观体验。”技术专家详细解答了这一问题。另外,基于腾讯多媒体实验室提供的优良丢包补偿技术,可以实现在视频丢包70%和音频丢包80%的情况下,仍然保证大家能够流畅的开会。

    腾讯会议如何保证用户的数据和隐私安全?尤其是对于金融用户而言任何数据的丢失与泄漏都是不可挽回的损失。针对安全问题,这就妥妥的交给腾讯七大安全实验室来为用户“保驾航”吧。据介绍,在保证商务内容的安全性和私密性上,腾讯会议有七大安全实验室使用Web应用防火墙,有效抵御OWASP 定义十大 Web 安全威胁攻击,同时在业务数据、管理机制、网络设备、接入策略方面进行多重安全防护。

    除此之外,腾讯多媒体实验室利用智能网络状态探测算法,以及基于数学推导的实时参数调整策略,全面覆盖用户的每一种网络连接类型,保证在复杂网络环境下,腾讯会议用户视频通话都能达到满意效果,再加上特有的基于用户体验的实时评估和调优系统,腾讯会议能达到各路流的动态平衡,保证用户视觉和听觉上的最优体验。

    更为贴心的是,腾讯会议考虑到大部分人因为隐私与心理因素,特别推出了背景虚化功能,最大程度的保证背景精准虚化,避免隐私暴露;而专门为爱美人士提供的美颜功能,则基于美颜算法,帮助女性用户无论通过手机端,还是PC端屏幕,都可以轻松参与任何重要会议,大大降低大家对于开视频的心理负担,视频会议再无压力。

    在质量评估方面,腾讯多媒体实验室拥有专业的音视频实验室和测试设备,任何技术都要经过层层考验,这其中有上百个符合ITU/3GPP/AVS等国内外标准的指标进行评判。同时,为了更好的衡量QoE,腾讯多媒体实验室构建了大规模音视频主观质量数据库,并基于这些数据来研发客观质量评估算法,然后部署到业务线中,闭环监控全网的用户体验质量。

    腾讯多媒体实验室为“腾讯会议”提供了如此多的音视频能力支持,更凭借完善的音视频技术储备,已经为包括在线教育、企业办公、在线医疗、全民K歌等腾讯内外产品的亿万用户提供音视频能力服务,也就是说在我们能够听到看到的众多产品的背后,均有腾讯多媒体实验室音视频能力的支撑。

    创新黑科技提供者——腾讯多媒体实验室

    众多创新黑科技的背后,自然离不开腾讯20余年业务音视频技术的积累,要知道早在2011年,腾讯在QQ业务下成立音视频中心,经过QQ十余年发展,腾讯早已在PC端、移动端积累了超强的音视频能力;

    2016年,随着直播行业异军突起,音视频作为一个较长链路的技术,环环相扣容不得一丝偏差。相较于过去的以机型性能与基础设施的好坏制约音视频发展的主要因素,随着4G的不断完善,“云”上音视频的技术需求开成井喷增长,因此,腾讯音视频实验室成立,为云上音视频技术提供专业的技术支持;

    加入腾讯音视频实验室的吴祖榕发现,过去实验室长期为QQ场景服务,随着产业互联网的转型,形成更完整的音视频技术栈迫在眉睫,于是吴祖榕向汤道生建议:“如果想要让音视频实验室对公司有足够的影响力与价值,我们需要走出去做标准。”至此,实验室在2017年组建国际标准团队并邀请刘杉博士正式加入,带领团队加强音视频技术壁垒,进一步在泛媒体、富媒体、融合媒体等领域进行技术拓展和产品研发。2019年,音视频实验室正式更名为多媒体实验室,以更准确地表达实验室涵盖的技术和业务范畴。

    众所周知,腾讯内部有多个实验室,全行业同样有众多实验室,而腾讯多媒体实验室的核心优势是什么呢?对此腾讯多媒体实验室高级总监向阿丹介绍其优势具体体现为三方面,首先, 基于腾讯云深厚的IaaS和PaaS能力,腾讯多媒体实验室对基础设施有着深刻的理解;其次,背靠腾讯丰富的基础能力研究,包括优图、AI Lab、安全等实验室,为其提供超强的AI算法,为像腾讯会议这样的产品提供更加智能的产品体验;最后,在众多技术能力、产品推出之前,腾讯会在内部先行试用,完善后推出市场,不仅可以让产品打磨的更完美,以便让客户少冒险,其负责任的态度可见一斑。

    腾讯多媒体实验室专家向我们透露,未来腾讯多媒体实验室将会持续释放实时音视频通信的基础能力,保证做到“随时随地,在任何设备、任何网络的情况下,两点之间能够快速、高品质通信。”换言之,腾讯多媒体实验室要做的事情就是从听得清,看得清;到听得真,看的真;再到听得懂,看得懂。综上来看,腾讯会议觉不单单是一个产品,对于腾讯多媒体实验室而言,它向我们展示了腾讯音视频核心能力的积累,而对于腾讯云来说其更是具有重大的战略意义,即在颠覆视频会议市场中的“杀手锏”。

    更多相关内容
  • 这一款整理发布的公司常见会议的种类与作用,适用于日常学习、参考、借鉴公司常见会议的种类与...该文档为公司常见会议的种类与作用,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 本文从真空断路器运行中常见的故障着手,进行故障分析和提供...至1992年天津真空开关应用推广会议时,我国真空断路器的制造技术已经进入了国际同行业同类型产品的前列,成为我国高压真空断路器应用、制造技术新的历史
  • 范围类型(range)是es中比较具有特色的数据类型。下面我们就先来看看官方对其的定义。 定义 数字范围类数据。主要类型及范围如下。 数据范围类型的使用 映射定义 假设我们有一张会议表。我们知道实际中党政机关会议...

    范围类型(range)是es中比较具有特色的数据类型。下面我们就先来看看官方对其的定义。

    定义

    数字范围类数据。主要类型及范围如下。

    在这里插入图片描述

    数据范围类型的使用

    映射定义

    假设我们有一张会议表。我们知道实际中党政机关会议都有一个出席率的问题,需要出席率在某个点或某个区间内才能算作是有效的。所以我们的映射结构来了。

    示例如下。

    PUT example
    PUT example/docs/_mapping
    {
      "properties": {
        "expectedAttendees":{
          "type": "integer_range"
        },
        "time": {
          "type": "date_range",
          "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        }
      }
    }
    

    数据新增

    假如这时我们需要添加一个10-20人参与,并且在2019-12-01到2019-12-02期间举行的会议。

    PUT example/docs/112313213?refresh
    {
        "expectedAttendees": {
            "gte": 10,
            "lte": 20
        },
        "time": {
            "gte": "2019-12-01 12:00:00",
            "lte": "2019-12-02 17:00:00"
        }
    }
    

    数据查询

    怎么查询呢?假如我们需要查询参会人数满足12人的会议记录。

    GET example/docs/_search
    {
        "query": {
            "term": {
                "expectedAttendees": {
                    "value": 12
                }
            }
        }
    }
    

    结果如下

    {
      "took": 13,
      "timed_out": false,
      "_shards" : {
        "total": 2,
        "successful": 2,
        "skipped" : 0,
        "failed": 0
      },
      "hits" : {
        "total" : 1,
        "max_score" : 1.0,
        "hits" : [
          {
            "_index" : "range_index",
            "_type" : "my_type",
            "_id" : "1",
            "_score" : 1.0,
            "_source" : {
              "expected_attendees" : {
                "gte" : 10, "lte" : 20
              },
              "time" : {
                "gte" : "2019-12-01 12:00:00", "lte" : "2019-12-02 17:00:00"
              }
            }
          }
        ]
      }
    }
    

    当然我们可以按照_日期进行筛选_。例如下面这个查询。

    POST example/docs/_search
    {
        "query": {
            "range": {
                "time": {
                    "gte": "2019-12-01",
                    "lte": "2019-12-02",
                    "relation": "within"
                }
            }
        }
    }
    

    聪明的同学肯定注意到relation关键字。relation字段上的范围查询支持一个关系参数,该参数可以是WITHINCONTAINSINTERSECTS之一(默认)。

    结果如下

    {
      "took": 13,
      "timed_out": false,
      "_shards" : {
        "total": 2,
        "successful": 2,
        "skipped" : 0,
        "failed": 0
      },
      "hits" : {
        "total" : 1,
        "max_score" : 1.0,
        "hits" : [
          {
            "_index" : "range_index",
            "_type" : "my_type",
            "_id" : "1",
            "_score" : 1.0,
            "_source" : {
              "expected_attendees" : {
                "gte" : 10, "lte" : 20
              },
              "time" : {
                "gte" : "2019-12-01 12:00:00", "lte" : "2019-12-02 17:00:00"
              }
            }
          }
        ]
      }
    }
    

    基于ip的数据类型也有很有趣的用法,感兴趣的同学可以深入研究下,这里就不展开。

    展开全文
  • 第十三章 会议与WebRTC视频会议

    千次阅读 2019-10-18 16:51:59
    会议是你希望向用户和客户提供的高级功服务一。在我们处于成本控制和时间限制的夹缝之中时,拥有虚拟会议的能力是一种实打实的好处。 更重要的是,如果你能够管理会议,有序地为每位演讲者配麦,对每个与会者静音/...

            会议是你希望向用户和客户提供的高级功服务一。在我们处于成本控制和时间限制的夹缝之中时,拥有虚拟会议的能力是一种实打实的好处。

            更重要的是,如果你能够管理会议,有序地为每位演讲者配麦,对每个与会者静音/取消静音,等等。

            当你能够为与会者混合视频流时,你就能够提供更多的特性:屏幕共享、播放视频、录制,同时提供不同人组成的“舞台”画面…这不仅比在一个实际房间里走来走去参加会议更经济,更便捷,而且会更有成效。

            我们还开发了一个WebRTC客户端,充分利用我们的现代VERTO协议,为参与者和主持人提供一个美丽、高效、沉浸式和引人入胜的会议体验!

            FreeSWITCH给出了所有构建块,由于WebRTC的支持,你的会议参与者、主持人和演示者只需要在他们的计算机、平板电脑或智能手机上安装一款标准浏览器就够了。

            这一章,我们将讨论以下主题:

    • 会议概念,音频和视频
    • FreeSWITCH的会议支持
    • 在FreeSWITCH中设置音频会议
    • 音频会议操作
    • 在FreeSWITCH中设置视频会议
    • 视频会议操作
    • 视频会议中的Verto通信
    • 视频会议的其它技巧

    会议概念

            会议指的是超过两方参与者的一路话务,它一直是电信领域中最受欢迎的服务之一。

            允许两个以上的参与者同时交谈的技术(例如,不在一键通服务中)与两个参与者的“正常”通话的技术大不相同。在“正常”的通话中,你只关心主叫与被叫间的媒体流交换。事实上,你可以让媒体流(以RTP形式)直接在主叫与被叫间双向流动,而不必经过FreeSWITCH或其它任何中间电信服务器。

            另一方面,会议需要一台服务器。会议服务中的最基本功能是混合,比如说把不同参与者所发送的媒体流合并。因此,每个参与者把他们自身的媒体流发给服务器,而所有参与者收到的媒体流是服务器收到的所有媒体流的“和”。参与者之间不直接通信,而是通过会议服务器作为中心枢纽的“星型拓扑”连接在一起。

             除了基本的“合并所有传入流并发送结果流”功能外,会议服务还可以提供更高级的特性。它们可以接受命令来变更输入流的合并方式:仅合并其中的一些流(或仅广播一个流);向参与者播放媒体文件;录制会议会话;更改接收或发送的流的特征,请求识别参与者身份的PIN码;把一名或多名与会者视为“主持人”,对其他与会者和会议管理;等等。

            如你所料,FreeSWITCH提供所有这些功能,甚至更多。

     

    FreeSWITCH的会议支持

            从构思的第一阶段起,FreeSWITCH的设计结构就擅长混音功能。它的内核可以高效地揉合各种流。

            Freeswitch内核中的媒体处理引擎非常灵活,并提供钩子,以便内核开发人员和贡献者添加功能,而不会危及系统的稳定性和效率。

            显然,媒体处理有两个主要的领域:音频和视频。音频和视频的处理方式完全不同,因为它们的性质完全不同。

    音频会议

            音频流由一系列音频样本组成。每个音频样本本质上是一个数字(一个量值),代表声音在时间上的演变。声音可以用我们在高中课本上的正弦波来描述,每个样本都是在某一时刻的振幅值。


            混合(合并,组合)两个或更多的声音样本本质上是对它们的数值求和,然后除以我们混合的流的数量(例如:在每个时间点取平均值)。显然,如果之前样本事先经过压缩、编码,情况就完全不是那么简单了。你需要先对体积标准化。但其最简单的概念形式(未压缩、原始、声音样本)是完全相同的。

    视频会议

            视频流完全是另一回事!它们是一个复杂的值序列,描述图像(“屏幕”)随时间的变化。假设有一部分辨率为1920x1080像素的流式电影(或网络摄像机源)。这些像素中的每一个或大部分(全部变化的情况比较罕见)都可以在每个时间点改变值(颜色、亮度等)。因此,每个时间点的样本并不代表屏幕上每个像素的值,而是分析哪个像素发生了变化以及如何变化的复杂计算结果。你不能直接把它们相加,这样没有任何意义。

             而且,当您将视频流组合在一起时,您希望得到的结果一般不是它们的混合叠加(例如“透明”过渡效果)。您希望将屏幕划分为多个区域,并在每个定义的区域中显示不同的视频流(缩放)。或者在每个屏幕区域上显示浮动徽标或标题。这更类似于电视脱口秀节目中导演所使用的“视频混音与特效”处理。

            在当今的电信世界中,视频会议(视频流组合)有多种策略,每种策略都有其自身的理由和用例:

    • Peer-to-Peer (MESH) 这是基于纯设备到设备的通信(无服务器),其中每个参与者向所有其他参与者发送和接收视频流。视频流在设备端(比如说浏览器)进行组合。如果必须影响所有设备的显示,那么每个参与者必须向所有其他参与者广播控制命令。这种策略的明显问题是带宽的开销与参与者方数呈指数级增长:三方会议交换6路视频流;四方会议交换12路视频流;10方会议需要交换90路视频流…这种技术在WebRTC服务中很流行,但不适用于超过四个参与者的会议场景。
    • Selective Forwarding Unit (SFU)它是一种中央服务器,它接收所有参与者的视频流,并决定将哪个流转发给哪个参与者。中央服务器(SFU)不组合流或对其应用效果,它只决定数据包的出入路由。流由终端设备(比如说浏览器)负责组合,一般情况下它们仅是在不同的区域显示不同的流,并没有进一步处理。如果需要在参与者屏幕上组合多个流,那么所有流都需要路由给所有参与者。这对带宽使用和客户端CPU要求非常高,代价可能是非常昂贵的。
    • Multipoint Conferencing Unit (MCU)它是一种中央服务器,它接收所有参与者的视频流,对它们进行混合、转换和应用特效,然后从处理结果中选择一个流发送给所有参与者。对于带宽和客户端的CPU来说,这种策略的要求可能是最低的(每个客户端向MCU发送它们的视频流,并从MCU接收一路视频流)。但是,它对MCU侧的CPU施加了极大的压力,它必解码所有待混合的流,将复杂的计算机图形应用于标题、徽标、合并和缩放,然后对结果重新编码。
    • FreeSWITCH是一个高级的 MCU(混合视频流和应用效果是一项非常繁重的任务),在“只有一个参与者发起视频流并显示在所有参与者屏幕上”的极端场景下,它会变成对CPU需求极低的SFU(换句话说,没有视频合成,没有特效,只是向所有与会者路由一路视频流)。

     

    FreeSWITCH中的音频会议设置

            Freeswitch包含一个功能强大的内置引擎,它允许在多用户音频会议系统中对呼叫者之间的音频通道进行混音。            mod_conference允许完全控制音频混合和用户交互功能,比如说tone音监测,管理每个通道的的音频收发路径、音量控制、增益控制等等。只要服务器上的资源(内存、CPU等等)允许,你可以创建会议,没有数量的限制。

            mod_conference的配置文件是/usr/local/freeswitch/autoload_configs/conference.conf.xml。会议的特征和行为都由它的profile决定。你可以在配置文件中设定多个profile,每个profile都有其独特的参数集。创建会议时会分配一个profile(通常是在拨号方案中)。会议的配置文件被划分为几个部分,我们接下来会介绍它们。

     

    profiles

            一个会议profile是一组可用于特定会议的设置。与caller-controls(这一节会讨论)结合,会议profiles允许完全定制各个会议的行为。你可以建立几个profiles,并把它们应用到许多会议上;或者为每个打算召开的会议分别建立一个profile;或者干脆简单地使用缺省定义。

            通常的会议profile结构是这样的:

    <profiles>
    <profile name="default">
    <param name="paramName" value="paramValue"/>
    </profile>
    </profiles>

     

            你可以有任意数量的<profile>标记,每个<profile>标记可以配置任意数量的<param>标记。下面是部分可用参数的解释。如果需要完整的参数列表和扩展说明,请打开我们的在线文档http://freeswitc h.org/confluence,并搜索"mod_conference"。

     

    rate

            这个参数定义会议中采用的缺省(最高)采样率。如果不是使用这个采样率,所有接入这个通道的用户都需要把他们的音频转换为这个采样率。为了混音目的,这定义了系统相关的最低采样率----如果两个用户使用高保真话机接入会议,但会议设置的采样率为8000,那么这些用户的音频采样率也将降到较低的速率。

    参数语法:<param name="rate" value="8000"/>

    可选值有:8000、12000、16000、24000、32000, 和 48000

     

    caller-controls

            这个参数定义会议桥所使用的caller-controls profile。

    参数语法:<param name="caller-controls" value="default"/>

     

    auto-record

            这个参数定义会议是否需要自动录音。如果与会人数达到min-required-recording-participants要求,会议就开始录音。如果设置了这个选项,那么必须包含一条可写的路径,以便存储会议录音。

    参数语法:<param name="auto-record" value="filename"/>

    缺省值:off。

    样本文件名:/usr/local/freeswitch/sounds/conferences/${conference_name}.wav

    列出的样本文件名将根据会议桥的名字把会议录制到一个文件中。

     

    interval

            这个参数指定混音时每一帧的长度,单位是毫秒。这个设置类似于ptime的工作方式,但不需要与主叫的实际ptime相匹配。它的数值越高,所需要CPU开销越小,但会导致混音后的音质问题,因此,可以通过试验确定你的设定值。通道使用缺省值就足够了。

    参数语法:<param name="interval" value="20"/>

    缺省值: 20

     

    energy-level

             这个参数指定向其他用户发送音频所需要的能量级别(音频强度/音量)。能量水平是一个阈值,它规定了一个门限,用于判断人的说话声音还是前景噪音。这个特性有助于消除混入会议的背景噪音或环境噪音。如果这个选项值设置过高,会导致一句话的开头部分和结束部分被剪掉。零值表示禁用这项检测,所有语音包都会进行混音,即使是背景 噪音也一样。

    参数语法: <param name="energy-level" value="20"/>

    缺省值:20

    设置为0表示完全禁用。

     

    member-flags

            此参数允许在各个会议成员上设置特定的成员标志或参数。这些选项包括:参与者是否是主持人;是否以浪费方式混音(即使会议中没有人发言,也照常向个人发送音频);某个特定成员是否是会议的领导者(会议需要等待他进入才能开始,他离开后会议结束),等等。选项可以是多选的,各个选项间以管道符”|”分隔。

     

    参数语法: <param name="member-flags" value="waste|endconf"/>

     

            下面我们解释几个member-flags参数的选项。如果需要完整的列表和进一步解释,请访问我们的在线文档http://freeswitch.org/confluence,搜索"mod_conference"。

    • moderator成员拥有一组不同的呼叫控制,可以管理会议:比如对与会者静音或取消静音。
    • deaf默认情况下阻止成员听取会议中的其他成员的意见(可以在会议开始后更改)
    • waste:即使没有对话,也向通道发送音频
    • dist-dtmf向每个通道分发DTMF信号。如果有人在会议中发送DTMF信号音,它通常被FreeSWITCH拦截并处理。这个选项改变DTMF的处理行为,直接把DTMF透传给所有其他成员。
    • endconf如果这个成员退出,那么会议结束

     

    conference-flags

            这个参数设置会议级的标志,定义会议的行为。多个选项间以管道符分隔。

    参数语法:<param name="conference-flags" value="wait-mod|audio-always"/>

     

    下面解释几个常用的conference-flags参数选项。如果需要完整的列表和进一步解释,请访问我们的在线文档http://freeswitch.org/confluence,搜索"mod_conference"。

    • wait-mod强制用户等待主持人进入才能开始会议。当桥接会议时,主持人通过拨号方案传递额外的成员标志来确定。在等待主持人期间,用户会听到保持音。
    • audio-always不检测能量值,成员的发的所有音频包都进入混音(不做静音监测)
    • restart-auto-record如果会议设置了auto-record,并且录音中断,会自动重启录音,录制到一个新文件中。

     

    tts-engine

            此参数指定会议桥中使用的TTS引擎。

    参数语法: <param name="tts-engine" value="cepstral"/>

     

    tts-voice

             这个参数设置会议中TTS引擎输出的声音类型(比如男声、女声、名人的声音)。

    参数语法:<param name="tts-voice" value="david"/>

     

    pin

            设定会议的PIN码(密码),用户进入会议前必须校验它。

    参数语法:<param name="pin" value="12345"/>

     

    max-members

            这个参数设定会议允许的最大成员数。如果会议满员后还有其他人接入会议,系统会拒绝,并向他播放max-members-sound。

    参数语法:<param name="max-members" value="20"/>

     

    caller-id-name

            这个参数设置一个caller ID名字,用于从会议中发出的邀请。

    参数语法: <param name="caller-id-name" value="John Doe"/>

     

    caller-id-number

            这个参数设置从会议桥中出局呼叫时携带的caller ID号码。

    参数语法: <param name="caller-id-number" value="4158867900"/>

     

    comfort-noise

            这个参数设定会议中添加的背景白噪声的音量级别。如果会场中没有人发言,太安静的话有些人会误以为掉线了。此时在会场中加入舒适噪音会让人感觉到依然在线。请注意,在较高的音频采样率下,这个噪声可能会变得烦人,因此如果采样率超过8000赫兹,您可能需要调整此设置。

    参数语法:<param name="comfort-noise" value="1000"/>

     

    announce-count

            此参数将在新成员加入时播报会议中参与人数,但仅当达到此参数所指定的阈值时。它需要有效的TTS引擎。

    参数语法: <param name="announce-count" value="5"/>

     

    suppress-events

            这个参数用于FreeSWITCH事件系统。它是一个逗号分隔的字符串,它限定了获取自定义事件conference::maintenance时,哪些事件不发送给对方。

    参数语法: <param name="suppress-events" value="add-member,del-member"/>

     

    sound-prefix

            这个参数设定检索会议语音文件的缺省路径。

    参数语法:<param name="sound-prefix" value="/usr/local/freeswitch/sounds/"/>

     

    自定义提示音

             在会议中发生某些事件时,会向用户播报一些提示音,有许多参数可以用于自定义提示内容。除了入会与离会的提示音是向所有成员播报之外,其他所有的声音都是在与会者的独立通道中播放的。

            所有声音文件的定义格式都是这样的: <param name="sound-name" value="file.wav"/>

    • muted-sound某个成员静音时听到的声音
    • unmuted-sound:某个成员取消静音时听到的声音
    • alone-sound当场中只有一个成员时听到的提示音
    • enter-sound当新成员入会时,所有与会者听到的提示音
    • exit-sound当成员离会时,其他所有成员听到的提示音
    • kicked-sound被踢出会议时听到的提示音
    • locked-sound尝试接入锁定的会议时听到的提示音
    • is-locked-sound会议被锁定时,与会者听到的提示音
    • is-unlocked-sound会议解锁时,与会者听到的提示音
    • pin-sound要求用户输入PIN码的提示音
    • bad-pin-sound输入PIN码错误时听到的提示音
    • perpetual-sound一种特殊的设置——它永远在一个连续的循环中播放声音。这可以用于广播销售或紧急消息。
    • moh-sound:一个文件或资源句柄,当会议中只有一名成员时,向他播放这个资源。一旦有第二个人入会,除非有mod-wait设定(如前所述),否则立刻停止播放
    • max-members-sound如果会议满员,有人尝试继续接入会议,将听到这个提示音

    caller-controls

               会议中可以配置一些呼叫者控制组,它们开放一些命令,与会者在活跃会场中可以通过按键音执行这些命令。可执行命令有:调整会议音量、对自己静音/解除静音,或其它更高级的选项,例如向个人播放菜单或将人们从一个会议转移到另一个会议。

              呼叫者控制基于会议开始时所应用的预置模板。比如,你可以指定一个控制组(如:按0静音、按1调低音量、按3调高音量),然后把它应用到三个不同的会议中。这些设置在会议开始时(第一个人入会)应用,并在整个会议持续期间生效(最后一个成员退出之前)。你不能在同一个会议中为不同的与会者指定不同的控制集。

              不要把你的控制组命名为"default"或"none"。这些是保留关键字,它们分别对应预置的缺省映射和没有映射的场景。

    下面是一个呼叫者控制组的配置实例:

    <caller-controls>
    <group name="standard-keys">
    <control action="vol talk dn" digits="1"/>
    <control action="vol talk zero" digits="2"/>
    <control action="vol talk up" digits="3"/>
    <control action="transfer" digits="5" data="100 XML default"/>
    <control action="execute_application" digits="0" data="playback conf_help.wav"/>
    <control action="execute_application" digits="#" data="execute_dialplan conference-menu"/>
    </group>
    </caller-controls>

     

            前面这个示例创建了一个叫“standard-keys”的caller-controls profile。按键1、2、3分别对应调低音量、音量正常化,和调高音量;按键5把按键的参与者转移到extension 100上;按键0和#分别执行一个指定的拨号方案APP。

     

    缺省的caller-controls 组 "default"的设置如下:

    <caller-controls>
    <group name="default">
    <control action="mute" digits="0"/>
    <control action="deaf mute" digits="*"/>
    <control action="energy up" digits="9"/>
    <control action="energy equ" digits="8"/>
    <control action="energy dn" digits="7"/>
    <control action="vol talk up" digits="3"/>
    <control action="vol talk zero" digits="2"/>
    <control action="vol talk dn" digits="1"/>
    <control action="vol listen up" digits="6"/>
    <control action="vol listen zero" digits="5"/>
    <control action="vol listen dn" digits="4"/>
    <control action="hangup" digits="#"/>
    </group>
    </caller-controls>

     

    advertise

              会议配置文件中的advertise部分允许你通过FreeSWITCH事件系统向其他服务和订阅方生成状态事件(通告)。这个构想是基于永久性的会议室名称之上生成状态事件,会议室的存在就像一部话机和其它设备一样。外部程序可以监控会议室,并随时获知它的使用状态。

            Advertise设置在Advertise标记中的每个元素中都包含一个会议室名称,例如:

    <advertise>
    <room name="888@$${domain}" status="FreeSWITCH"/>
    </advertise>

     

    FreeSWITCH中的WebRTC视频会议设置

            视频会议的设置是音频会议设置的超集。事实上,无论是音频会议,还是视频会议,配置都由同一模块读取,那就是mod_conference。

            仅支持音频的用户也可以加入视频会议,比如说,来自PSTN的用户(显然,他们只能以声音方式在会议中交流,因为他们不能接收或发送视频流)。SIP用户可以用视频方式入会,尤其是软电话和通信APP的用户。但FreeSWITCH视频会议中的王者是WebRTC客户端,特别是走VERTO的客户端,能够利用一系列高级交互功能。VERTO客户端中的女王者是Verto Communicator,我们面向WebRTC浏览器的旗舰会议客户端。我们后面将学习关于她的更多内容。

            完全配置的Freeswitch视频会议启用了所有特殊的VERTO功能,也是一个完全合法的音频会议,如果所有与会者都没有视频处理能力,那么这个会议与纯音频会议将是不可区分的,它不会创建任何视频流,而且不会使用额外的CPU。

    Profiles中添加的视频参数

            在/usr/local/freeswitch/autoload_configs/conference.conf.xml的"profile"部分中,我们可以添加许多参数,它们用于控制会议中的视频行为,和VERTO客户端特有的功能。接下来我们描述其中的一部分,如果需要完整的参数列表和扩展的说明,请访问我们的在线文档http://freeswitch.org/confluence,并搜索"mod_conference"。

     

    video-mode

            设置视频会议的视频处理模式。透传模式(passthrough)没有进行编码转换。转码(transcode)模式允许转换多种编码格式。复用(mux)模式允许把多个参与方视频合成到同一路视频画面中。允许的参数值:mux, transcode, passthrough。显然透传模式的CPU开销最小。

    参数语法:<param name="video-mode" value="mux"/>

    缺省值:passthrough

     

    video-layout-name

            指定视频布局的名字,这个名字来自conference_layouts.conf.xml或是以"group:"打头的组。这个配置项将启用mux视频模式。没有设置这个参数将按楼层切换演示视频。

    参数值可以是"layout-name"的格式或group:"group-name"的格式(也就是说,组的名字必须以"group:"打头)。

     

    参数语法:<param name="video-layout-name" value="2x2"/>

     

    video-canvas-size

            mux 模式下,画布的像素尺寸。它的值必须是"integer"x"integer"的格式。

     

    参数语法:<param name="video-canvas-size" value="1920x1080"/>

     

    video-no-video-avatar

            为没有视频源的成员准备的PNG文件的路径。

     

    参数语法: <param name="video-no-video-avatar" value="/tmp/novideo.png"/>

     

    video-mute-banner

            为成员设置视频静音横幅文本、字体、字体大小、字体颜色和背景色。字体缩放有效值5-50,fg/bg(前景/背景)十六进制颜色代码,除文本之外的所有设置都是可选的。

            参数值可以是"layout-name"的格式或group:"group-name"的格式(也就是说,组的名字必须以"group:"打头)。

    参数语法:<param name="video-mute-banner" value="{font_face=/path/to/font.ttf,font_scale=5,bg=#000000,fg=#FFFFFF}VIDEO MUTED"/>

     

    caller-controls里增加的视频相关操作

    • vmute视频静默。把这个成员的视频切换进会议
    • vmute on这个成员的视频流静默启用,他的视频不进入会议
    • vmute off取消这个成员的视频静默,他的视频进入会议
    • vmute snap拍摄此用户在vmute中使用的视频快照
    • vmute snapoff丢弃vmute视频快照

    member-flags里增加的视频选项

    • join-vid-floor把这个成员锁定为焦点视频流
    • no-minimize-encoding绕过视频转码最小化器并为此成员单独编码视频
    • vmute进入会议视频 静默

     

    conference-flags里增加的视频选项

    • minimize-video-encoding每个输出编解码使用一个视频编码器
    • livearray-json-status激活一种状态传输机制,以一种机器解析方式描述与会者的状态

    屏幕布局

            在/usr/local/freeswitch/conf/autoload_configs/conference_layouts.conf.xml文件中包含了一些视频相关的配置,它们指定了会议期间组织和填充屏幕的不同方式。

            主持人可以在会议期间动态变更视频的布局以适应不断变化的场景:演示期间,你可能希望演示者的头像可以叠加到她正共享的屏幕上,最终效果就是在PPT上叠加上演讲者的一个小小的头像,形成一个画中画。

            布局定义组织结构有一个标识的名字,将屏幕分成区域的坐标,以及视频流在每个区域的比例。所有的数字,包括坐标和比例因子,都在0-360范围内,并且与画布成比例。因此,将屏幕空间划分为3行3列大小相同的区域(例如,3x3配置)的布局,它的作用在1920x1080画布和800x600画布上是一样的。

    <layout name="3x3">
    <image x="0" y="0" scale="120"/>
    <image x="120" y="0" scale="120"/>
    <image x="240" y="0" scale="120"/>
    <image x="0" y="120" scale="120"/>
    <image x="120" y="120" scale="120"/>
    <image x="240" y="120" scale="120"/>
    <image x="0" y="240" scale="120"/>
    <image x="120" y="240" scale="120"/>
    <image x="240" y="240" scale="120"/>
    </layout>

    布局组

            布局可以按命名的“组”进行分组。如果您在会议上使用“group:groupname”的视频布局,那么FreeSWITCH动态调整视频布局,在组成员中选择最合适显示所有成员的布局方式。

    <group name="grid">
    <layout>1x1</layout>
    <layout>2x1</layout>
    <layout>1x1+2x1</layout>
    <layout>2x2</layout>
    <layout>3x3</layout>
    <layout>4x4</layout>
    <layout>5x5</layout>
    <layout>6x6</layout>
    <layout>8x8</layout>
    </group>

     

            比方说使用上述示例中的组定义,当第一个成员入会时,将适用1x1的布局。然后,随着更多成员加入,布局将动态选择以适应 所有参与者。当成员数从36增长到37的时候,FreeSWITCH会把布局从"6x6"变更为"8x8"。是的,在1920x1080像素的屏幕上,我们可以同时容纳64个与会者的视频流!


     

    FreeSWITCH会议操作

                怎样在拨号方案中调用会议?怎么把一路来电加入已经开始的会议中?怎样在会议中发起呼叫拉入新的成员?此外,会议和视频会议完全可以变得更富有成效和更有趣:避免与会者一个接一个地发言;如果视频焦点能够跟随发言者;如果演讲者演讲时能够分享他的屏幕(过一会后,任何幻灯片都会变得无聊)。

               下一节,我们将讲述如何调用管理会议。

     

    Conference APP (拨号方案)

            呼叫可以通过conference APP接入会议,一般是通过拨号方案调用发起的,通过event socket的API调用发起的场景也很常见。将呼叫者连接到会议的一般语法如下:

    <action application="conference" data="confname@profilename"/>

     

             其中confname参数是任意会议室的名字,而profilename是会议配置文件中定义的(如本章前面所述)。引导到同一个confname@profilename的所有成员,将加入同一个会议室。

               你可以选择性地传递一些特定参数给conference APP,格式是在profile名字之后添加+PIN+flags,下面是一个示例:

     

    <action application="conference" data="confname@profilename+12345+flags{ mute|deaf|waste|moderator|vmute}"/>

     

            如果你只需要传递标记,而不要求PIN码,这时引导PIN码的加号不能省略,就如(请注意连续的两个"+"):

    <action application="conference" data="confname@profilename++flags{ mute|deaf|waste|moderator|vmute}"/>

     

              当第一个与会者接入时,会议按需创建。创建时,profile的设置以及指定的会议PIN码,将连同会议一起记录在内存中。这一点很重要,加载内存的更改,不会影响正在进行中的会议。比如说,一旦一个会议开始时设置了PIN码,任何后续加入这个会议的参与者都必须指定同一PIN码。

              会议的生命周期持续到最后一名成员离会时。

    下面是桥接会议时,data参数的一些示例和说明:

     

    data字段值

    说明

    confname

    Profile为"default",没有任何或PIN码

    confname+1234

    Profile 为"default",PIN码是1234

    confname@profilename+1234

    Profile为 " profilename ",PIN码是1234,没有标记

    confname@profilename++flags{mute|waste}

    Profile为 " profilename ",没有PIN码,设置了多个标记

    confname+1234+flags{mute|waste|vmute}

    Profile 为"default",PIN码是1234,带有三个标记

     

              请注意,虽然有些参数是可选的,但它们的顺序非常重要。

    控制活动会议

            有许多CLI和API命令可用于控制活动的会议。最常用的命令是踢除成员;调整音量;向一个与会者的视频流添加文本横幅(比如说标识他的名字和角色);或者发起呼叫(邀请其他人加入会议)。


            前面这张截图显示了了所有FreeSWITCH控制台可用的API命令。在控制台上输入"conference",然后敲击两下TAB键就可以看到(第一次敲击TAB键将列出所有运行中的会议,在我们的案例中只有一个,第二次敲击TAB就会显示与这个会议相关的所有可用命令)。比如说,你可以用以下命令变更视频布局:

    conference 3500-lab.opentelecomsolutions.com vid-layout 3x3

     

            或者在member_id为"2"的与会者的视频流底部加上一个标题(注意单引号的使用保证横幅内容的完整):

     

    conference 3500-lab.opentelecomsolutions.com vid-banner 2 'Giovanni Maruzzelli <gmaruzz@OpenTelecom.IT>'

     

            更多扩展说明,请访问我们的在线文档http://freeswitch.org/confluence,并搜索 "mod_conference"。

     

    邀请人员加入会议

              FreeSWITCH可以向外发起一呼呼叫,并把被叫接入会议。这可以通过APP "conference_set_auto_outcall"和它的辅助通道变量来完成。

            但是,由FreeSWITCH管理员(或会议主持人)来执行这个动作或许会更有用,可以实时通过fs_cli交互:

     

    conference 3500-lab.opentelecomsolutions.com bgdial user/1010 +12125551212 weekly_conference

     

    Verto Communicator与Video-WebRTC会议

            Verto Communicator是我们的旗舰WebRTC客户端,专门开发用于参与、管理和主持FreeSWITCH视频会议。在华丽的用户界面之下,有VERTO协议的强大支撑。VERTO协议的设计对于web开发人员来说很容易上手 ,它是基于JSON的。JSON + WebSocket意味着双向实时交换信息的能力。只有你看到以下这些,对这一点才会有深切的感受:Verto Communicator(VC)会实时更新聊天信息和参与者数组;参与者说话时伴随着图标闪烁;她自己静音时,麦克风和摄像头的颜会随之改变。

            VC允许参与者自行设置自身相关的一些内容:出入的音量、音频静音、视频静默、选择要麦克风和摄像头(重要的是,如果你有一台笔记本,兼作工作站,你可以躺在桌子旁边,附在华丽的USB 3供电的集线器和背投显示器)。

            此外,VC在它的GUI中公开了所有管理员工具:踢人、静音、视频静默、选择流、添加标题、快照、会话录音、播放音/视频文件、改变布局……重要的是这些都是通过点击鼠标完成的。

            要安装支持WebRTC视频会议所需要的各种组件和VC,请参考本书的第五章“WebRTC,SIP和Verto”。

     

    设置

            当你第一次连接Verto Communicator页面时,呈现在你面前的是一个简约的小窗口,它请求你输入姓名(稍后你的名字将出现在会议参与者名单和聊天窗口中)。如果单击“设置”链接,则该窗口将展开,你可以输入所有连接细节,包括连接到哪个服务器、授权用户名和密码。


            然后,有可能需要你选择使用哪些多媒体源,比如麦克风、摄像头和扬声器(你可以轻松地在树状控件中选择音频资源:笔记本电脑内置、USB声卡、摄像头内的麦克风):


            现在,你已经完成设置并登陆,可以拨号了:


    成员列表

            加入会议后,你将在右侧看到带有交互头像和状态图标的成员列表。


    参与者GUI命令和聊天

            点击"chat"选项卡,你会看到实时同步的聊天窗口,当你将鼠标悬停在主窗口上时,屏幕上会显示用户操作命令:麦克风切换、网络摄像机切换、全屏、屏幕共享、音频输出选择和拨号盘。


    主持人GUI命令


            如果你是以主持人身份连接的,那么你的屏幕上会有更多的控制功能:除了参与者控件之外,主持人还有录音/停止录音、播放/停止播放、抓取快照和一个设置屏幕布局的下拉菜单。

            此外,会议主持人还能点击右边参与者列表中的音频和视频小图标,切换他们的媒体,可以给他们添加标题(比如说姓名和角色),设置视频优先级(会议焦点),等等。


    屏幕共享

            共享你的整个屏幕,或一个应用窗口是很简单的。只需要点击参与者控件中的屏幕共享("screenshare")按键,将会弹出一个提示框,选择你希望共享的内容就可以了。我决定共享我写这一章时用的LibreOffice窗口。此外,我将会议布局更改为“重叠”("overlaps"),现在会议参与者是在我的应用程序窗口(可以是幻灯片、电子表格、终端等)上叠加的实时视频小窗口。


    总结

            这一章我们学习了FreeSWITCH的会议功能。在简要概述音频和视频会议技术之后,我们了解了Freeswitch如何支持它们的。

           我们学习了如何在FreeSWITCH中设置音频会议和使用它的丰富功能。进一步了解如何扩展设置会议的视频能力,和WebRTC交互。

            然后,我们了解了怎样在FreeSWITCH控制台上管理和操纵会议,怎样从拨号方案呼入会议,怎样从会议中发出邀请。

            本章结束时,我们对会议参与者和主持人的Verto Communicator特性和功能进行了可视化演示。

           我们已经准备好为我们的用户提供领先的会议服务!

            下一章,我们将研究电信实施者的可怕敌人:NAT,并介绍FreeSWITCH的设计中是怎样解决它的。

     

    展开全文
  • DAC会议2021

    千次阅读 2022-02-06 10:30:47
    Analog IC Aging-induced ...为了描述多类型设备和连接端口,本文采用了一种异构有向多重图来有效地表示模拟IC后布局网表。我们研究了一种异构图卷积网络(H-GCN)来快速准确地估计老化引起的晶体管退化。在所提出

    在这里插入图片描述

    Analog IC Aging-induced Degradation Estimation via Heterogeneous Graph Convolutional Networks

    基于异质图卷积网络的模拟集成电路老化退化估计

    随着规模的不断扩大,热载流子注入和偏置温度不稳定导致的晶体管老化导致纳米级集成电路(IC)逐渐失效。为了描述多类型设备和连接端口,本文采用了一种异构有向多重图来有效地表示模拟IC后布局网表。我们研究了一种异构图卷积网络(H-GCN)来快速准确地估计老化引起的晶体管退化。在所提出的H-GCN中,开发了一种嵌入生成算法,该算法采用潜在空间映射方法,通过多类型边聚合节点本身及其多类型相邻节点的信息。由于我们提出的H-GCN与动态应力条件无关,因此它可以取代静态老化分析。

    半导体微电子器件的两个主要老化相关磨损机制是偏置温度不稳定性(BTI)和热载流子注入(HCI)[2]。随着时间的推移,这些老化效应会导致晶体管参数(例如阈值电压)偏离其标称值,从而导致电路逐渐失效[3–5]。与数字集成电路相比,模拟集成电路更容易受到这些晶体管参数的影响。为了节省开发成本,并在设计过程中提供交互反馈的机会,在将设计提交给硅之前,估计晶体管的诱导退化是计算机辅助设计(CAD)中的一个关键步骤。与布局前的网表相比,布局后的网表老化分析具有更高的效率

    卷积神经网络(CNN)在CAD领域取得了巨大成功,如可制造性设计[9]。直观地说,模拟IC网表可以很好地表示为图形。然而,该图是基于不规则网格的数据,不像传统CNN中的卷积和池那样简单。图卷积网络(GCN)被提议在这些基于不规则网格的数据上执行机器学习任务[10,11]
    由于典型的模拟IC包含多类型基本设备和多类型连接端口,因此模拟IC网络表具有异构性。因此,传统的GCN不能直接用于模拟IC网络表。本文考虑到不同设计参数的多类型连接端口和设备,采用异构有向多重图来高效地表示布局后的网表。然后,我们提出了一种异质GCN(H-GCN)来快速准确地估计老化引起的晶体管退化

    DNR: A Tunable Robust Pruning Framework Through Dynamic Network Rewiring of DNNs DNR:一种通过动态网络重组DNN的可调健壮剪枝框架

    本文提出了一种动态网络重组(DNR)方法来生成剪枝深度神经网络(DNN)模型,该模型对敌对攻击具有鲁棒性,但在干净的图像上仍保持较高的精度。具体而言,所公开的DNR方法基于使用混合损失函数的统一约束优化公式,该混合损失函数将超高模型压缩与鲁棒对抗训练相结合。该训练策略基于混合损失函数计算的每层归一化动量动态调整层间连通性。与需要多次训练迭代的现有健壮修剪框架相比,所提出的学习策略只需一次训练迭代即可实现整体目标修剪率,并且可以调整以支持不规则和结构化的通道修剪。为了评估DNR的优点,在CIFAR-10、CIFAR-100上使用两种广泛接受的模型,即VGG16和ResNet-18,以及在Tiny ImageNet上使用VGG16进行了实验。与基线未压缩模型相比,DNR在所有数据集上提供了超过20倍的压缩,而在干净或对抗性分类精度方面没有显著下降。此外,我们的实验表明,与通过最先进的替代方案可以实现的性能相比,DNR始终能够找到具有更好的清晰和对抗性图像分类性能的压缩模型。

    大型模型具有较高的推理延迟、计算和存储成本,这对物联网设备的部署带来了重大挑战。因此,缩小模型[7,19]和模型压缩技术(例如修剪[4,5,12])获得了显著的吸引力。特别是,早期的研究表明,在没有显著精度下降的情况下,修剪可以删除90%以上的模型参数[4,5],并且确保修剪后的模型具有结构,可以在广泛的计算平台上观察到性能改进[13]。不幸的是,尽管有大量关于压缩模型在干净数据上的性能的研究,但关于压缩模型在对抗性攻击下的鲁棒性的研究却很少。
    本文提出了动态网络重新布线(DNR),这是一个统一的训练框架,用于找到一个具有更高鲁棒性的压缩模型,该模型不需要单独的每层目标稀疏率。特别是,我们引入了一个用于鲁棒压缩的混合损失函数,它有三个主要组成部分:干净的图像分类损失,动态的퐿2-正则化术语的灵感来源于ADMM[6]的放松版本,以及对抗性训练失败。受[4]中基于稀疏学习的训练方案的启发,我们提出了一个单次训练框架,以利用所提出的损失实现一个健壮的修剪DNN。特别是,DNR使用标准化动量动态安排每层修剪比率,在每个历元中保持目标修剪,而无需任何微调。综上所述,我们的主要贡献是:•仅考虑全局剪枝率,我们提出了一个单次(非迭代)训练框架,该框架可同时实现超高压缩比、干净数据的最新精度,以及对扰动图像的鲁棒性我们扩展了该方法,以支持结构化修剪技术,即通道修剪,从而在更广泛的计算平台上实现优势。与只能执行不规则修剪的传统稀疏学习[4]不同,通过结构化DNR生成的模型可以显著加快推理速度。据我们所知,我们是第一个提出一个支持不规则修剪和通道修剪的非迭代健壮训练框架的人。

    Automated Test Generation for Hardware Trojan Detection using Reinforcement Learning

    基于强化学习的硬件特洛伊木马检测自动测试生成

    由于半导体供应链的全球化,芯片上系统(SoC)设计暴露于恶意植入物(俗称硬件特洛伊木马)的风险越来越大。不幸的是,由于现代SOC的指数输入空间复杂性,传统的基于模拟的验证使用数百万个测试向量不适合检测触发条件极其罕见的秘密特洛伊木马。迫切需要开发高效的特洛伊木马检测技术,以确保可靠的SOC。虽然有一些很有前途的测试生成方法,但它们在可伸缩性和检测准确性方面存在严重限制。在本文中,我们提出了一种新的特洛伊木马检测逻辑测试方法,将可测试性分析和强化学习有效地结合起来。具体而言,本文做出了三个重要贡献。1) 与现有方法不同,我们利用可控性和可观测性分析以及信号稀少性来显著提高触发覆盖率。2) 强化学习的使用大大减少了测试生成时间,同时又不牺牲测试质量。3) 实验结果表明,与最先进的技术相比,我们的方法可以显著提高触发器覆盖率(平均14.5%)和测试生成时间(平均6.5倍)。

    在特洛伊木马检测方面有很多有前途的研究工作。这些方法可以大致分为两类:侧通道分析和基于仿真的验证(逻辑测试)。侧通道分析侧重于侧通道特征码(如功率、路径延迟等)在预期(黄金规格)和实际(插入特洛伊木马的实现)值之间的差异[6、10、14]。侧通道分析的一个主要缺点是,很难检测到微小特洛伊木马(例如,数百万门设计中的几个门)造成的可忽略的侧通道差异,因为这种差异很容易隐藏在过程变化和环境噪声中。相比之下,逻辑测试对过程变化和噪声裕度具有鲁棒性[3]。然而,在不尝试所有可能的输入序列的情况下激活一个极其罕见的触发器是一个根本性的挑战。由于指数输入空间的复杂性,传统的逻辑测试不适用于大型设计中的特洛伊木马检测。现有的基于逻辑测试的特洛伊木马检测方法有两个基本局限性:计算复杂度高(测试生成时间长)和特洛伊木马检测精度低(触发器覆盖率低)

    检测硬件特洛伊木马是解决半导体供应链漏洞的一个新兴而紧迫的需求。虽然有一些很有前途的测试生成技术,但由于其固有的基本局限性,它们在实践中没有用处。具体而言,它们无法提供合理的触发范围。最重要的是,它们需要很长的测试生成时间,而且仍然提供不稳定的性能。为了应对这些严峻的挑战,我们提出了一种使用强化学习的自动测试生成方案,用于有效的硬件特洛伊木马检测。提出的方法做出了几项重要贡献。它探索了信号稀有性和可测试性属性的有效组合,为提高可疑信号的覆盖率提供了新的视角。我们还开发了一个自动测试生成方案,利用随机方法训练的强化学习模型,能够大幅减少测试生成时间。

    Fast and Efficient Constraint Evaluation of Analog Layout Using Machine Learning Models

    基于机器学习模型的模拟布局快速高效约束评估

    模拟电路的布局算法在迭代搜索中探索了许多布局配置。为了引导这些引擎朝向满足设计上的电气约束的布局,本工作开发了一个快速可行性预测器来指导布局引擎。该流程首先识别布局寄生的大致边界,并修剪特征空间。接下来,使用拉丁超立方体采样技术对缩减的搜索空间进行采样,并使用线性支持向量机(SVM)对标记样本进行分类。如果有必要,使用更密集的样本集来支持向量机,或者如果发现约束是非线性的,则使用多层感知器(MLP)。由此产生的机器学习模型可以快速评估放置器中的候选位置,并用于构建多个模拟块的布局。

    在本文中,我们提出了一个框架,在该框架中,给定一个电路、其性能规格和模拟电路以提取其性能的测试台,我们使用机器学习(ML)自动提取所有敏感互连寄生之间的相关性,并使用它们为每个约束构建基于ML的紧凑模型。通过我们的方法建立的ML模型可以很容易地进行训练,并用于地点和路线引擎中的快速推理。在布局过程中,考虑到候选布局的RC寄生,我们的模型可以预测布局是否符合规范。因此,我们基于ML的约束建模方法可以引导布局引擎远离可能不满足约束的设计空间部分。我们的ML模型易于评估,对布局引擎的开销可以忽略不计。该框架可以在RC寄生的多维搜索空间中提取所有敏感寄生之间的线性和非线性相关性,并且不依赖于设计数据库。我们使用尽可能简单的模型:快速评估确定线性模型是否可行,然后对线性模型进行优化,或者仅在需要时使用非线性模型。为每个性能约束建立单独的模型。这可以应用于任何模拟电路。

    Read your Circuit: Leveraging Word Embedding to Guide Logic Optimization

    阅读你的电路:利用单词嵌入指导逻辑优化

    缩小逻辑综合工具和物理设计(PnR)工具之间的差距是提高结果质量(QoR)的关键,同时可能缩短上市时间。为了解决这个问题,在这项工作中,我们将逻辑路径形式化为句子,门是一袋单词。因此,我们展示了如何利用单词嵌入来表示泛型路径,并预测给定路径是否可能是PnR后的关键路径。

    探讨了机器学习(ML)在逻辑综合和物理设计之间架起桥梁的最新进展。更具体地说,我们提出了一种将通用逻辑路径嵌入低维表示空间的综合方法,这样不仅能够在技术映射之前预测post Place and Route(PnR)关键路径,而且能够利用这些信息在整个流程中指导优化算法。

    **逻辑路径很适合CNN,因为它可以被看作是一个一维的网格。**此外,卷积操作通常在有空间关联感的情况下是有意义的。在逻辑路径中,逻辑门出现的环境具有重要作用。由于我们对预测关键路径感兴趣,我们的CNN作为一个二元分类器工作,并预测一个路径是否可能是关键的,给定一个目标时间约束。**逻辑合成和物理设计:逻辑合成分为两个主要步骤:技术独立和技术依赖。在这项工作中,我们在与技术无关的层面上处理网络。因此,该工具将电路表示为一个双向无环图(DAG),其中每个顶点对应于一个布尔原语。**常见的独立于技术的DAG包括And-Inverter Graph(AIG)[20],或Majority-Inverter Graph(MIG)[1]。在我们的案例中,我们采用了一个商业工具,它使用的基本函数是:not,and2,nand2,or2,nor2,complex2,和flip-flops。在通用优化之后,电路要经过技术映射,然后是物理设计,这就是最终的电路实现。技术映射和物理设计不属于本工作范围,我们请读者参考[4,12]以了解更多细节。在这里,我们注意到。(i) 来自逻辑综合工具的输入图在物理设计流程中起着关键作用,(ii) 物理设计工具的优化能力有限,通常只限于门的尺寸和缓冲。因此,如果设计者不能达到设计约束,他需要在整个流程中重新运行电路,手动调整它们的任何步骤,以优化未能实现时序保证的路径。不幸的是,在整个EDA流程中运行电路是一项耗时的工作;因此,在早期阶段优化正确的路径是非常有益的

    Layout Symmetry Annotation for Analog Circuits with Graph Neural Networks

    基于图神经网络的模拟电路版图对称性标注

    模拟电路的性能容易受到各种布局约束的影响,如对称性、匹配等。现代模拟布局和布线算法通常需要将这些约束作为高质量解决方案的输入,而手动注释这些约束则非常繁琐,需要设计专业知识。因此,电路网表中的自动约束注释是模拟布局自动化的关键步骤。在这项工作中,我们提出了一个基于图学习的框架,通过基于路径的特征提取和标签过滤技术来学习对称约束标注的一般规则。在开源模拟电路设计上的实验结果表明,与最近利用图形相似性和信号流分析技术进行对称约束检测的工作相比,我们的框架能够实现更高的精度。该框架是通用的,也可以扩展到其他成对约束。
    模拟布局约束的自动标注是保证两个项目中模拟布局和布线性能的关键预处理步骤。
    现有的对称约束标注工作可分为两大类:1)电路分析[6];2) 图匹配[7-11]。电路分析方法通常需要昂贵的电路模拟来检测对称性和匹配约束[6]。基于图匹配的方法包括基于信号流的图自同构、基于电路模板库的模式匹配和图相似性[7-11]。这些方法的性能要么与模式库的覆盖率高度相关,要么对相似性阈值的选择非常敏感。还有其他一些基于规则和专家知识的模拟尺寸的工作[12-14]。
    在这项工作中,我们提出了一个
    基于图形学习的模拟电路布局对称性标注框架
    。通过从模拟网络表的图形表示中提取局部和全局特征,我们开发了一个带有专门训练技术的图形神经网络来学习不平衡数据上的节点相似性我们进一步提出了一个基于规则的过滤器和基于概率的过滤器,有效地减少了错误阳性率。实验结果表明,与现有的基于图匹配和信号流分析的检测算法相比,我们可以获得更高的真阳性率(>90%)和更低的假阳性率(<1%)。除此之外,我们还进一步扩展了两两的对称性和非对称性等限制条件

    **

    PCBench: Benchmarking of Board-Level Hardware Attacks and Trojans

    PCBench:板级硬件攻击和特洛伊木马的基准测试

    大多数现代电子系统都由印刷电路板(PCB)承载,这使得它们成为无处不在的系统组件,可以有许多不同的形状和形式。为了实现高水平的规模经济,电子系统的全球供应链已演变为PCB板及其各种相关组件的设计、制造、组装和测试的不同部分。因此,现代PCB供应链在其不同阶段暴露出许多漏洞,允许对手引入恶意更改以促进板级攻击。作为一种新兴的硬件威胁,板级攻击和防御技术尚未得到系统的探索,因此需要进行彻底和全面的调查。在缺乏标准的板级攻击基准的情况下,当前对透视对抗措施的研究可能会根据特定攻击的专有变体进行评估,从而防止在不同技术之间进行可信和可验证的比较。根据这一要求,在本文中,我们将系统地定义和分类广泛的板级攻击。首次开发了板级攻击的攻击向量和构造规则。此外,还开发了一种实用可靠的板级攻击基准生成方案,可用于评估对抗措施。最后,基于提出的方法,我们为开源版本创建了一套全面的板级攻击基准

    然而,在所有设计约束中,安全性通常在板级设计中被忽略,尽管由于板级供应链的分段,已经有许多漏洞被利用[1,14,19,28]。遵循全球PCB供应链,不同电子元件的设计、制造、测试和销售由不同的、通常不受信任的方进行。虽然研究人员最近开始研究这个问题并试图制定对策,但他们遇到了一个主要障碍,即缺乏针对多氯联苯的安全评估基准。迫切需要开发代表所有不同类型的板级威胁的基准,以便验证和比较不同的检测技术。
    在安全基准测试领域,过去的研究已经在芯片级深入研究了攻击和特洛伊木马。在[24]中,作者提出了不同级别(RTL、网表和布局)的标准基准,以利用漏洞分析流程评估芯片级硬件特洛伊木马及其检测技术。还介绍了基准测试的评估指标,如特洛伊木马的可检测性。尽管在开发芯片级特洛伊木马基准[24,29]方面做了大量工作,但这些方法、设计和评估结果无法直接应用于电路板级。在插入芯片级特洛伊木马的情况下,通常的假设是:芯片块的电源电压和I/O规格都是统一的,恶意电路可以在填充单元或电容单元占据的任何位置实施,而不受路由限制。然而,这些假设在测试板级攻击时并不成立。对于PCB设计,可以有不同的电源电压域,芯片的I/O规格也可以不同。此外,恶意电路的放置和布线受到电路板备用面积和迹线密度的限制。

    在本文中,我们在全面分析现有和新出现的板级威胁的基础上,提出了板级攻击的系统定义和全面分类。对潜在的攻击机制和攻击向量进行了检查和评估。此外,还指定了一组约束条件,用于在目标设计中成功实施板级攻击。基于这些约束,开发了一种新的基于规则的基准生成机制,以创建可靠、实用的板级安全基准。本文的主要贡献如下。 •我们根据目标组件和攻击机制对板级攻击和特洛伊木马进行定义和分类。•提出了一种实用可靠的板级硬件攻击和木马基准生成方案。
    该方法可以指导研究人员针对新出现的板级漏洞和系统安全威胁制定和评估对策根据所提出的方法,对选定的PCB设计进行大量攻击,以验证所提出的基准测试方法

    图1(右)显示了飞行控制器板,它代表了当今电子系统中常见的典型PCB设计。通常,PCB设计过程由以下步骤组成:顶层设计、原理图捕获、PCB布局、PCB制造和电气元件组装。在顶层设计中,根据系统的功能需求和物理约束定义系统架构和框图。因此,PCB的详细规格(例如,物理尺寸、电源布线策略、成本预算等)在此过程中确定。根据方框图,捕获PCB的示意图。在现代设计中,设计师首先会选择能够实现每个模块计划功能的芯片。然后围绕每个芯片设计外围电路,用于支持这些芯片的功能。在原理图步骤结束时,可以生成原理图文件(即网表)和物料清单(BOM)文件。前者包含电气网络连接的信息,后者定义了准确的模型,包括本设计中所有组件的价值、供应商、包装等。
    PCB布局类似于数字IC设计的Place&Route(P&R)过程,在原理图捕获步骤之后进行设计。与通常依靠设计自动化工具自动执行的芯片级P&R过程不同,由于对电源完整性、信号完整性、干扰和可组装性的复杂考虑,PCB布局通常是手动执行的。布局文件(即Gerber文件)在此步骤中准备。该文件包含所有元件和布线图形信息,可用于PCB制造。印制电路板制造完成后,根据BOM文件手动或自动组装和焊接组件。可以在流程的每个步骤之间执行测试和验证

    基于上述PCB设计过程,我们将**板级攻击定义为在PCB的设计、制造、组装和现场使用的任何阶段故意对PCB进行恶意修改。**在这个定义中,我们假设任何针对板及其相关组件的攻击都可能构成板级攻击。如图1所示,板级攻击包括应用于处理单元(微控制器、FPGA等)、组件(无源组件和ASIC)、跟踪/通孔、制造参数的恶意修改,以及故意违反设计师或分销商设置的正常使用限制,即恶意探测和访问。修改可以在PCB整个过程的任何阶段进行,包括PCB设计、制造、组装和现场使用。根据我们定义的范围,板级特洛伊木马是板级攻击的主要子集。板级特洛伊木马通常包含两部分:触发器和有效负载[24]。触发器监控信号的变化或电路板上的一系列事件。一旦满足触发器的预设条件,有效负载将被激活并执行恶意行为[29]。

    Standard Cell Routing with Reinforcement Learning and Genetic Algorithm in Advanced Technology Nodes

    基于强化学习和遗传算法的先进节点标准单元路由

    在当今的行业中,先进技术节点中的标准单元布局是手动完成的。由于大量设计规则的限制,自动化标准单元布局过程,尤其是布线步骤,具有挑战性。在本文中,我们提出了一种基于机器学习的方法,该方法**应用遗传算法来创建初始候选路由,并使用强化学习(RL)来逐步修复违反设计规则的情况。设计规则检查器将违规情况反馈给RL代理,该代理将学习如何根据数据修复违规情况。**这种方法也适用于具有未知设计规则的未来技术节点。我们在许多标准电池上证明了这种方法的有效性。我们已经证明,它可以手动路由一个被认为不可中断的单元,将单元大小减少11%。
    我们提出了一种基于强化学习的方法,以修复具有单向金属的先进技术节点中标准单元上现有路由的DRC错误。该模型在一个标准单元上进行训练,可以转移到我们在库中测试过的所有标准单元。该模型可以对每个细胞进行进一步再训练,以改善结果我们提出使用遗传算法来寻找最小路由并优化DRC错误。它成功地路由了我们库中所有大小复杂的标准单元,无需DRC。与经验丰富的设计师的最佳设计相比,它还以较小的宽度布置多个单元,减少了11%的单元面积我们开发了一个名为Sticks的程序,它直接从基于网格的布局的stick图生成DRC/LVS清洁布局。

    标准单元是数字超大规模集成电路设计的基石。现代设计由数亿个标准电池组成。大型半导体公司和知识产权提供商通常有专门的团队为每个技术节点设计标准单元库。每个库通常由数千个标准单元组成。单元设计的优化目标是最小化单元宽度(每个库的单元高度是固定的),以提高区域效率,并在可能的情况下减少线迹使用,从而提高单元性能。自动化标准单元布局不仅可以加快设计过程,还可以进行后期更改。这可以让设计师同时优化标准单元和芯片设计,以获得更好的性能。标准单元布局设计自动化可分为两个主要步骤:布局和布线。放置步骤将晶体管和单元管脚放置在单元内,布线步骤将晶体管端子和单元管脚彼此连接。布线步骤是任何自动布局工具必须解决的最重要和更困难的步骤,因为布线必须能够满足所有设计规则。

    Machine Learning-based Structural Pre-route Insertability Prediction and Improvement with Guided Backpropagation

    基于机器学习的带引导反向传播的结构预路由可插入性预测与改进

    随着半导体技术的发展,标准单元的尺寸越来越小,标准单元的数量急剧增加,从而在集成电路(IC)中实现更多功能。然而,标准单元尺寸的缩小导致了集成电路的许多问题,如时序、功率和电迁移(EM)。为了解决这些问题,提出了一种新型结构预布线(SPR)。这种类型的预布线由冗余平行金属和过孔组成,因此低电阻和冗余子结构可以提高时序和成品率。但是,大面积的开销成为在整个设计中插入此类预路由的主要问题。在本文中,我们**提出了一种基于机器学习的方法来预测放置设计的SPR的可插入性。此外,我们通过使用引导反向传播技术应用模式可视化方法来深入查看我们的模型,并识别导致SPR插入失败的问题布局特征。**实验结果不仅显示了我们模型的优异性能,而且还表明,与商业SPR感知放置工具相比,避免在合法化过程中生成已识别的关键特征可以提高SPR的可插入性。

    由于半导体工艺节点的进步,金属特征的宽度显著减小。在先进节点的现代设计中,电迁移(EM)问题和定时闭合的困难都在恶化。为了解决这个问题,采用了特定单元引脚连接的结构预布线(SPR)。图1显示了SPR的结构,其由多条平行的金属线和通孔组成,并且每层上的金属线被放置在优选的布线方向上。在详细布线(DR)程序之前,几个指定的电池管脚将通过SPR预连接到更高的金属层,如图1所示。这种具有更多金属冗余和更低电阻的架构有助于提高产量和时序。由于时序改善的能力,此类预路由通常插入时钟引脚和输出引脚,以减少延迟或/和驱动更大的电流。然而,SPR能否插入到指定的引脚上,在很大程度上取决于附近的电源/接地(PG)条带和单元。图2(a)给出了由于SPR和附近或非门的metal2(M2)引脚之间的设计规则冲突(DRV)导致触发器时钟引脚上SPR插入失败的示例。图2(b)示出了由于SPR和相邻的metal3(M3)PG条带之间的DRV而导致同一引脚上SPR插入失败的另一个示例。因为两个相邻细胞的相对位置以及相邻PG条带中细胞的相对位置是在pla期间确定的
    据我们所知,目前还没有针对SPR可插入性问题的研究。在本文中,我们提出了**第一个在放置阶段考虑SPR可插入性的工作。我们首先提出了一个基于CNN的SPR可插入性预测模型,用于预测SPR是否可以成功插入到特定的管脚上。**基于精确的预训练模型,提出了一种基于引导反向传播的问题模式可视化方法来提取导致SPR插入失败的关键特征。最后,从有问题的模式中构造一个简化的特征集,以防止放置者生成那些导致插入失败的模式。主要贡献如下:•据我们所知,这是第一次考虑SPR在安置阶段的可插入性的学术工作。以相邻小区的布局模式和PG条带为主要特征,提出了基于CNN的SPR可插入性级联预测模型我们不仅训练了一个SPR可插入性预测模型,而且还应用预先训练好的模型来指导商业配售商,以避免在单元合法化阶段生成有问题的布局模式。提出了一种基于引导反向传播的问题模式可视化方法来提取导致插入失败的代表性模式。实验结果表明,所提出的基于CNN的级联模型不仅能准确识别SPR插入管脚的故障,而且所提出的基于引导反向传播的模式可视化方法也能准确识别SPR插入管脚的故障

    2017-2021近五年关键词统计图

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 视频会议场景一直被认为是 RTC 最具挑战性的场景,本文给大家分享下视频会议对 RTC 的几个新的挑战和我们的思考实践。
  • 游戏中常见的Bug也有你不知道的秘密

    千次阅读 多人点赞 2020-10-03 00:32:00
    游戏测试的Bug主要分为8大类型:  (1)功能错误:最常见的错误类型,功能错误即为功能性上的错误 例如:充值未到账、经验卡加成道具无法使用、无法接收到邮件等  (2)代码错误:开发人员代码程序上的错误逻辑与...
  • 音视频会议技术参数

    千次阅读 2021-12-27 05:31:10
    音视频会议技术参数 实时音视频 SDK,支持高质量的多人会议,可快速获得流畅稳定、多端互通的网络通话体验。 提供什么 高质量的多人会议 采用先进的抗丢包技术,提供高质量的多人会议。 • 最高分辨率可达 1080p •...
  • IEEE 会议论文的参考文献

    千次阅读 2020-06-14 17:39:51
    比如说 Reference 就存在一些常见的做法(这里不说规范而说常见,是因为相当一部分顶会论文在Reference都相当随意)。该文将介绍计算机中 Computer Vision 领域 Conference Paper 的 Latex 里的 Reference 的写法。...
  • 视频会议 sdk 选择Statista.com Statista.com Video conferencing App / Country Hangouts Meet Houseparty Ms Teams Zoom USA 30 8 11 4 France 23 30 16 2 Germany 15 26 11 17...
  • 什么是云计算,云计算的三种类型

    万次阅读 2020-12-29 16:11:29
    什么是云计算,云计算的三种类型1、什么是云计算1.1 云计算的五个基本特征1)自助服务2)广泛的网络访问3)资源池化4)快速弹性5)计费服务1.2 云计算的4种部署类型1)私有云2)社区云3)公共云4)混合云1.3 云计算...
  • EDAS投稿常见的一些问题

    千次阅读 2022-04-14 09:47:34
    EDAS投稿常见的一些小问题
  • 视频会议 终端 ZXV10 T800(V1.1)快速连接使用指南 R1.2,包含详细的背板接口说明,常见的四种视频会议类型的快速连接方法,以及基础的操作方法等
  • 复杂数据有时也更宜使用特殊的或不常见的可视化类型,例如展示集群关系网的力导向网络图(force-directed network diagram),或者地形图。 在可视化探索中,功能才是决定采用图表与否的最重要因素:软件操作能力、...
  • 软件测试工程师常见的面试题大全

    千次阅读 2021-12-07 11:50:56
    软件测试工程师常见的面试题大全
  • 但人们对于社交的渴望以及共同圈层之间的交流却是难以阻止的,而会议则正好提供了这样一种交流的载体。 随着消费升级,用户的消费理念、消费环境和消费能力的变化,参会者的思想也逐渐发生转变。那什么样的会议才能...
  • 几种常见音视频传输协议使用总结

    千次阅读 2021-07-12 10:58:05
    RTSP、RTMP、HTTP、SIP协议是常见的几种音视频解决方案传输协议。 (1)、RTMP协议 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/...
  • 运维常见问题及解决策略

    千次阅读 2020-10-28 11:20:53
    本文将对运维工作中常见的问题进行分类,并总结常用的解决办法和注意事项,同时为制定运维管理制度提供思路以及解决办法。 1运维工作理解 与一般工作相比,运维工作的特别在于突发性、时间不规律性和紧迫性。 ...
  • API是什么?有哪些常见的API?

    万次阅读 多人点赞 2019-02-27 19:49:17
    允许您使用多媒体来做一些非常有趣的事情,比如创建用于播放音频和视频的自定义UI控件,显示字幕字幕和您的视频,从网络摄像机抓取视频,通过画布操纵(见上),或在网络会议中显示在别人的电脑上,或者添加效果到...
  • 常见视频编码格式

    千次阅读 2021-11-03 11:12:42
    H.26x系列编码(压缩) 概述: H.26X有H.261,H.262,H.263,H...它最初是针对在ISDN(综合业务数字网,Integrated Services Digital Network)上双向声像业务(特别是可视电话,视频会议)而设计的,后来的视频编码标准都
  • 腾讯会议去年推出,疫情期间两个月急速扩容,日活跃账户数已超过1000万,成为了当前中国最多人使用的视频会议应用。腾讯会议突围背后,是如何通过端到端实时语音技术保障交流通畅的?本文是腾讯多媒体实验室音频技术...
  • 常见风控策略

    千次阅读 2020-09-14 11:17:09
    一是了解风控中金融常见业务规则的类型(大概有个认知即可); 二是了解对应架构是如何的(以携程为例,简单了解即可); 三是对一些金融中常用的策略模型算法解释,这部分是重点重点 风控金融的基本业务 消费分期...
  • 浅谈网络编程中的常见问题

    万次阅读 2019-08-27 17:43:47
    UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等) 4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信 5、TCP首部...
  • 文献类型

    千次阅读 2017-02-07 02:33:11
    文献类型
  • 常见网络安全产品汇总,可作初步了解。
  • ROS会议 ROSCon 2017

    千次阅读 2017-08-02 16:38:53
    ----ROSCon2012-2017----来源链接:https://roscon.ros.org 近三年ROSCon(2015-2017)都会将...那就是在加拿大温哥华温哥华会议中心的同一地点发生的IROS之前的星期四和星期五。所以如果你打算到IROS旅行,只需要加
  • 常见的几款四足机器人

    千次阅读 2020-05-12 17:10:47
    机械结构参考 宇树科技—莱卡狗 早在2019年5月28日的国际机器人与自动化会议(ICRA)上,宇树科技就展示了Laikago四足机器狗。在展会上宇树科技表示,除了用于研究机器人技术,莱卡狗其他可能应用于包括安全巡逻、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,076
精华内容 12,030
热门标签
关键字:

常见会议类型