当前位置: 首页 > news >正文

hevc视频编码-搜索窗口和快速搜索

匹配搜索策略决定了运动估计收敛速度匹配准确度一般可以搜索策略分为两类全搜索快速搜索

全搜索也称为穷尽搜索遍历搜索区域所有位置块因此精确度最高耗费运算资源最多

为了保证搜索的效率整数运动估计不会整个参考帧进行而是限定某个搜索范围这一范围称为 搜索窗口HEVC标准下搜索窗口大小一般设置为[-64,64] 换而言之对于每一个PU都在16384(128x128种可能的运动矢量。显然,对于如此庞大的可能性,遍历是极不可取的搜索方法)因此不论软件还是硬件实现通常会选择某种快速搜索策略进行搜索快速搜索策略保证一定精度运动估计前提下通过减少检索从而减少运算复杂度因此可以根据一定收敛模型(搜索模版) 一步步缩小搜索范围逼近最佳匹配较为著名快速搜索 菱形搜索六边形搜索十字形搜索5-4给出菱形搜索六边形搜索图案

菱形搜素六边形搜索

4 HM推荐算法

HEVC模型HM整像素运动估计单元采用快速预测算法TZSearch 算法流程如图5-5.

开始->确定搜索起始->方形/菱形所有步长8搜索->两点搜索-> 距离大于 iRaster -> 光栅搜索->优化过程 ->结束

TZSearch 算法流程

第一步确定搜索起始点位置比较参考对应位置的PU上方左方右上方PUMV原点MV(0,0)作为起始MV匹配误差匹配误差误差最优候选MV用作起始运动矢量

第二 选用方形菱形搜索图形起始开始进行搜索步长164 搜索假如最佳搜索步长1进行一次两点搜索

第三搜索开始判断第二步得到最佳匹配位置索搜中心之间距离距离0直接跳过这一步搜索过程距离预设值iRaster 则要进行一次iRaster步长光栅搜索全搜索距离小于iRaster直接进入优化过程

第三步 搜索的开始先判断第二步 得到的最佳匹配位置与搜索中心之间的距离,若该距离为0,则直接跳过这一步的搜索过程;若该距离比预设值iRaster 要大,则要进行一次以iRaster为步长的光栅搜索,即全搜索;若该距离小于iRaster,则直接进入优化过程。

第四步以第三步得到的最优点作为起点,再进行8点的菱形形成方形 的搜索。这类似于第二步,但不同之处在于第二步是为了初步确定大致的位置,而第四步是在一个大范文内较优秀的位置开始进行运动矢量的优化。因此,第四步的搜索步长是逐步收敛的,从先前的最优步长逐步递减到1(同样以2的指数递减。) 此过程中一旦最优距离为零或者搜索步长为最小值1. 便终止所有搜索。经过四步搜索得到的位置即最终的整像素运动矢量。

表5-1给出了TZSearch 相对全搜索的B-DRate 增量。BD-Rate 是衡量图像编码效率的评判标准,表征的是在相同PSNR 图像质量下,不同编码方法之间的BitRate 的情况,以下实验基于HEVC测试视频系列,在HM 平台完成,采用帧间搜索的默认设置,但仅采用1帧参考帧。

相对于全搜索TZSearch 编码效果全搜索相比损失较小虽然TZSearch能够节省大量时间但是计算代价仍然很大不适合于硬件实现

http://www.dtcms.com/a/70573.html

相关文章:

  • Project回调函数qsort②进阶应用
  • C++学习之路,从0到精通的征途:类和对象(中)
  • gdal-linux-whl文件安装下载地址
  • 常用的Python库
  • 【时延】空口资源计算
  • 5G核心网实训室搭建方案:轻量化部署与虚拟化实践
  • 京瓷初期的按职能划分的组织
  • k8s系统学习路径
  • Next.js项目MindAI教程 - 第四章:用户认证系统
  • Modbus RTU转DeviceNet构建AB 1756-DNB PLC与电能表的冗余通信链路
  • 【八股文】ArrayList和LinkedList的区别
  • 如何用AI制作PPT,轻松实现高效演示
  • Windows 11 安装Docker Desktop环境
  • 使用 Java 获取咸鱼(微店)商品详情接口(micro.item_get)的完整指南
  • 剑指 Offer II 081. 允许重复选择元素的组合
  • [思考记录]关于AI辅助独立思考
  • 深度解析国产推理大模型DeepSeek:从入门到本地化部署!
  • (六)运算符 条件判断 类型转换
  • ShenNiusModularity项目源码学习(16:ShenNius.Admin.Mvc项目分析-1)
  • 鸿蒙开发:实现AI打字机效果
  • 【“以退为进“、“不得已而为之“与“风险对冲“的协同机制】
  • 大模型训练全流程深度解析
  • Deepseek-R1大模型微调实战技术深度解析
  • Qt 控件概述 QWdiget
  • 第一次使用腾讯云服务器部署项目记录与总结
  • Java 大视界 -- Java 大数据中的异常检测算法在工业物联网中的应用与优化(133)
  • ABAP语言的动态编程(4) - 综合案例:管理费用明细表
  • 如何配置 Docker 以实现无需 sudo 使用
  • 蓝桥杯十天冲刺-day1(getline读入空格)
  • 人工智能与人的智能,改变一生的思维模型【8】逆向思维