蔡砚刚:uAVS3对标x265 veryslow将节省30%码率

在高清+5G的大潮下,由于其技术难度进一步提升,伴随了行业升级,也将有一批技术公司脱颖而出。蔡砚刚和他的团队就是其中之一。


文 / 蔡砚刚

策划 / LiveVideoStack


LiveVideoStack:蔡砚刚你好,很高兴您接受LiveVideoStack的采访,首先,能否向我们的读者介绍下自己?


蔡砚刚:大家好,我是蔡砚刚,来自深圳市优微视觉科技有限公司,也是一名在音视频领域摸爬滚打多年的老兵。目前主要负责优微视觉的前进方向以及主持公司的日常业务活动。在这里我更期望先介绍一下我们的团队,我们团队核心成员均出自北京大学数字视频编解码技术国家工程实验室:有在北大学习工作十六载并持续优化编解码器的王振宇,有在腾讯工作过的韩冰杰,有在人民银行工作过的李旭峰,我本人曾在阿里、快手等公司工作过。“十年磨一剑,霜刃未曾试。今日把示君,谁有不平事。”经过大家十年间的持续积累与摸索,我们拥有了自己的u264、u265、uavs、uavs+、uavs2、uavs3等编解码器,并且我们的内核也普遍应用到广电与互联网领域。


LiveVideoStack:从你们公布的测试数据看,uAVS3d在服务器解码性能比AV1解码器dav1d和aomdec性能高出不少。如何在这么短的时间内实现大幅的性能提升?


蔡砚刚:短时间内获取大幅性能提升主要得益于AVS系列标准的延续性以及团队的经验积累。AVS3虽然在块划分、运动估计等方面采用了更复杂的方法,但其解码复杂度还是得到了有效控制,并且基本解码框架与基本模块与AVS2一脉相承。我们团队已经深耕视频编解码领域多年,编解码器优化经验丰厚,已相继产出性能优越的H264/AVS/AVS+/AVS2/HEVC软件编解码器࿰

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
class AbstractGreedyAndPrune(): def __init__(self, aoi: AoI, uavs_tours: dict, max_rounds: int, debug: bool = True): self.aoi = aoi self.max_rounds = max_rounds self.debug = debug self.graph = aoi.graph self.nnodes = self.aoi.n_targets self.uavs = list(uavs_tours.keys()) self.nuavs = len(self.uavs) self.uavs_tours = {i: uavs_tours[self.uavs[i]] for i in range(self.nuavs)} self.__check_depots() self.reachable_points = self.__reachable_points() def __pruning(self, mr_solution: MultiRoundSolution) -> MultiRoundSolution: return utility.pruning_multiroundsolution(mr_solution) def solution(self) -> MultiRoundSolution: mrs_builder = MultiRoundSolutionBuilder(self.aoi) for uav in self.uavs: mrs_builder.add_drone(uav) residual_ntours_to_assign = {i : self.max_rounds for i in range(self.nuavs)} tour_to_assign = self.max_rounds * self.nuavs visited_points = set() while not self.greedy_stop_condition(visited_points, tour_to_assign): itd_uav, ind_tour = self.local_optimal_choice(visited_points, residual_ntours_to_assign) residual_ntours_to_assign[itd_uav] -= 1 tour_to_assign -= 1 opt_tour = self.uavs_tours[itd_uav][ind_tour] visited_points |= set(opt_tour.targets_indexes) # update visited points mrs_builder.append_tour(self.uavs[itd_uav], opt_tour) return self.__pruning(mrs_builder.build()) class CumulativeGreedyCoverage(AbstractGreedyAndPrune): choice_dict = {} for ind_uav in range(self.nuavs): uav_residual_rounds = residual_ntours_to_assign[ind_uav] if uav_residual_rounds > 0: uav_tours = self.uavs_tours[ind_uav] for ind_tour in range(len(uav_tours)): tour = uav_tours[ind_tour] quality_tour = self.evaluate_tour(tour, uav_residual_rounds, visited_points) choice_dict[quality_tour] = (ind_uav, ind_tour) best_value = max(choice_dict, key=int) return choice_dict[best_value] def evaluate_tour(self, tour : Tour, round_count : int, visited_points : set): new_points = (set(tour.targets_indexes) - visited_points) return round_count * len(new_points) 如何改写上述程序,使其能返回所有已经探索过的目标点visited_points的数量,请用代码表示
06-10

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值