错误隐藏学习手记(三)

2023-11-17

帧内错误隐藏算法集合:

1、空间加权像素平均算法(加权像素平均插值算法)

P0就是丢失的宏块,灰色的是最近的像素点。


2、方向插值:

(1)边缘检测及梯度计算:

          使用Sobel算子,计算的是Sx和Sy(水平边缘和垂直边缘)下图中,a,b,c,d是缺失的宏块,灰色的是参考像素。

  


           Sobel算子如下,这是用来进行边缘检测的:

   

            
          对于Q要特别说明,它是灰色像素点的领域3*3矩阵。

          

           这样我们就得到了该点的角度。然后我们分类:

    

          这样角度就分成1~8,用k表示。

          领域的点用i表示,也是1~8。

          计算式:

         

          在计算梯度时,我们设置一个阈值,认为大于某阈值的就是相关像素点(比如60)

          我们要为每个相邻块Si [k] 取出最大的那个值并作为该邻域块的最佳边缘方向。

(2)丢失宏块的方向加权与插值:对于a块的插值,取编号为2,3,5,8的相邻块边缘方向作为a块方向加权的候选方向集,以此类推出b,c,d。

           对a进行插值的时候,使用R=S i[k] * d

           S i [k]是邻块最佳边缘方向对应的像素个数,d是丢失宏尺寸减去宏丢失块像素到相邻块的距离。

         

         

                

                 


以上摘自:基于H_264_AVC改进的时空域错误掩藏算法_吴明坤


(3)自适应帧内错误隐藏算法:结合前两种算法的优点,我们可以在某种条件下采用更好的做法来进行错误隐藏。

          采用方向熵来区别:

          方向熵的计算:

     

             当H为3的时候最大,这时候方向梯度每个方向大小都一样。H越大说明越不清晰,适合采用加权平均算法;反之采用方向加权插值。一般阈值为2.8。


  



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误隐藏学习手记(三) 的相关文章

  • 最能感动女人的十大瞬间

    拉着手在街上闲逛 忽然之间 他将她拽停 伸手轻轻地将眼睑下的一根睫毛拨开 她顿感幸福 拨走睫毛不过是弹指之间的小事 却充分说明他对她的注意力100 集中 要不是他喜欢仔细地偷看她 怎能发现刚跌落的一根细小睫毛 没有一个女人 能够抵抗男人如此
  • Java爬虫框架WebMagic的使用总结

    最近 项目做一个公司新闻网站 分为PC 移动端 h5 数据来源是从HSZX与huanqiu2个网站爬取 主要使用Java编写的WebMagic作为爬虫框架 数据分为批量抓取 增量抓取 批量抓当前所有历史数据 增量需要每10分钟定时抓取一次
  • CSS3 弹性盒子(flex、flex-direction属性、flex-wrap属性、align-items属性、align-content属性)详解

    文章目录 flex flex direction 属性 flex wrap 属性 align items 属性 align content 属性的使用 flex 在 CSS3 中给 display 属性增加了新的属性值 flex 如果一个元
  • 关于MFC中使用ShellExecute出现的进程冲突问题

    目录 问题背景 问题分析 问题背景 现在有一个MFC写的界面程序 以及一个外部exe文件 用户通过界面选择文件a MFC将文件a的路径作为参数 调用exe文件生成一个解析文件b 然后MFC再读取这个文件b 为了完成这一目的 就需要在MFC中
  • Airtest IDE 使用方法

    1 assert exists 找到图片则返回图片坐标 否则报错 raise AssertionError 引发断言错误 2 assert not exists 没找到图片则返回None 否则报错 raise AssertionError
  • 项目实战——文档扫描OCR识别

    扫描全能王的实现 maybe 目录 一 文档扫描 1 引入所需要的库 2 图像的读取与预处理 读取图像 图像reszie 图像灰度化 滤波 边缘检测 3 轮廓检测 4 透视与二值变换 二 文字识别 一 文档扫描 文档扫描所实现的功能如下图所
  • 【转载】浅谈蓝牙 Mesh 组网技术

    本文转载自 Eren https www erenship com posts 63c7 html 蓝牙技术联盟官方网址 https www bluetooth com zh cn 蓝牙技术联盟公众号 BluetoothSIG 蓝牙技术联盟
  • BIO与NIO、AIO的区别

    IO的方式通常分为几种 同步阻塞的BIO 同步非阻塞的NIO 异步非阻塞的AIO 一 BIO 在JDK1 4出来之前 我们建立网络连接的时候采用BIO模式 需要先在服务端启动一个ServerSocket 然后在客户端启动Socket来对服务

随机推荐

  • 使用Nuget 安装指定版本package或者更新package到指定版本

    首先打开程序包管理器控制台 工具 Nuget程序包管理器 程序包管理器控制台 打开如下图所示的命令行界面 安装指定版本的Package 例如 EntityFramework 5 0 PM gt Install Package BenchMa
  • 关于yolov5训练大量数据存在的问题记录

    相关配置环境 拉取官方最新的镜像 docker pull ultralytics yolov5 以及代码 git clone https github com ultralytics yolov5 torch 1 10 1 cu102 CU
  • 小程序requiredPrivateInfos 无效以及闪退问题

    原生微信小程序踩坑 requiredPrivateInfos 无效 1 检查单词拼写是否正确以及是否有空格存在 2 检查是否在微信公众平台中申请了权限 3 将多行改为一行 requiredPrivateInfos xxxxxxx xxxx
  • 【Qt】实现在窗口缩放时控件维持相对位置

    文章目录 01 背景 02 解决方案 03 位置和大小的计算 03 1 控件宽度或高度始终与窗体一致 03 2 控件左右居中 03 3 控件上下居中 03 4 控件位于窗体右上角 03 5 控件位于左右居中线向右30像素的地方 04 完成效
  • 华为od机试 Java 【编码方式】

    题目 你需要创建一个特殊的整数编码程序 在这个程序中 数字较小时 它的编码占用的空间也应更小 你的任务是根据以下规则将一个整数转换为一个特殊的编码字符串 将整数转换为它的二进制形式 从右到左每7位组成一个编码单元 在每个编码单元的前面添加一
  • C语言指针(一)——什么是指针及指针的定义

    1 什么是指针 计算机中所有的数据都必须放在内存中 不同类型的数据占用的字节数不一样 例如int 占用4个字节 char占用1个字节 为了正确地访问这些数据 必须为每个字节都编上号码 就像门牌号一样 每个字节的编号是唯一的 根据编号可以准确
  • 他98年的,我玩不过他...

    现在的小年轻真的卷得过分了 前段时间我们公司来了个98年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • Java 责任链模式

    责任链模式 一 什么是责任链模式 二 责任链模式的优势和劣势 2 1 优势 2 2 劣势 三 示例 一 什么是责任链模式 责任链模式定义 为了避免请求发送者与多个请求处理者耦合在一起 于是将所有请求的处理者通过前一对象记住其下一个对象的引用
  • YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)

    一 YOLOv5算法相关配置 这里如果是自己只想跑一跑YOLOV5的话 可以参考本章节 只想跑通YOLOv5 deepsort的看官移步到下一章节 1 1 yolov5下载 yolov5源码在github下载地址上或者Gitee上面都有 需
  • Critical dependency: the request of a dependency is an expression(import)

    定位到vue文件问题所在位置 export default created 告警所在 import md file then moduleFile gt catch err gt 原因 webpack 版本问题 webpack4中动态imp
  • 小程序中轮播图u-swiper图片无法显示问题

    问题 uview官网中 指定的图片路径字段为image 完全按照uview写轮播图却无法正常显示 解决方法 1 把image字段改成url字段 2 给u swiper加上 keyName image 最后找到了总结原因 npm下载的uvie
  • 【Spring源码】createBeanInstance()

    目录 创建实例 createBeanInstance 有参构造 autowireConstructor 无参构造 instantiateBean 实例化策略 instantiate createBeanInstance英文版 autowir
  • 你能写一个AIGC的python程序

    当然 我可以为您编写一个使用 Python 编写的 AIGC 程序 AIGC Artificial Intelligence Game Competition 是一种人工智能竞赛 其中参赛者需要编写人工智能程序 让其在模拟或真实游戏中进行操
  • linux服务器端启动NFS报“Job for nfs-server.service canceled.”的解决办法

    linux服务器端启动NFS报 Job for nfs server service canceled 的解决办法 网上百度了好久都没找到这个报错的原因 白嫖失败 打开linux的系统日志 tail f var log messages 再
  • CppUnit测试框架入门

    测试驱动开发 TDD 是以测试作为开发过程的中心 它坚持 在编写实际代码之前 先写好基于产品代码的测试代码 开发过程的目标就是首先使测试能够通过 然后再优化设计结构 测试驱动开发式是极限编程的重要组成部分 XUnit 一个基于测试驱动开发的
  • Spring Boot学习(一)之Controller的使用

    Controller 处理http请求 RestController RestController注解相当于 ResponseBody Controller合在一起的作用 Spring4之后新加入的注解 原来返回json需要 Respons
  • Pydantic系列之Model

    Model类 Python泛型类 TypeVar 是一个泛型类型变量 使用 bound 参数来限制所生成的类型的继承关系 from typing import Generic TypeVar from pydantic import Bas
  • Windows使用cmake编译dll

    目录 工具 注意事项 工具 CMake MinGW CMake工具负责将CMakeLists txt配置文件转换成相关的MakeFile脚本 本身并不参与编译 而是使用MinGW工具进行编译 在Linux系统使用CMake编译需要执行以下命
  • HashMap 面试题 11 问,看这篇就够了

    1 请你说说 HashMap 的数据结构有什么区别 jdk1 7 采用的是数组 链表结构 在 jdk1 8 采用数组 链表 红黑树的结构 2 上面说到 jdk1 8 之后增加了红黑树 什么 情况下转红黑树 什么情况下又转链表的 1 当链表的
  • 错误隐藏学习手记(三)

    帧内错误隐藏算法集合 1 空间加权像素平均算法 加权像素平均插值算法 P0就是丢失的宏块 灰色的是最近的像素点 2 方向插值 1 边缘检测及梯度计算 使用Sobel算子 计算的是Sx和Sy 水平边缘和垂直边缘 下图中 a b c d是缺失的