HEVC逆扫描之四:CG内部逆扫描过程

注:HM代码版本为HM-16.2+SCM-3.0rc1/

HEVC逆扫描之三:TU逆扫描过程中介绍了TU的逆扫描过程,这里继续介绍CG内部的逆扫描过程。

4x4CG内部的逆扫描流程如下图所示。

图14  4x4CG逆扫描流程

对于每一个4x4块,也是按照与扫描顺序相反的顺序进行逆扫描的。首先通过熵解码解出CG标识(如果是TU内的第一个或者最后一个CG那么CG标识一定为1),如果CG标识为0那么该CG的所有系数全部为0,可以直接跳过该CG;如果CG标识为1,那么首先通过熵解码解出所有非零系数的位置,然后依次解出所有非零系数的绝对值和符号位。至此已将所有的量化系数完成了逆扫描,下一步可以进行反量化。至于如何通过熵解码解出CG标识、非零系数的位置、绝对值和符号位,这里暂不做讨论。

时间: 2024-12-08 03:28:37

HEVC逆扫描之四:CG内部逆扫描过程的相关文章

HEVC逆扫描之二:关于扫描表的说明

注:HM代码版本为HM-16.2+SCM-3.0rc1/. 在介绍逆扫描的过程之前,先说明扫描表的存储和初始化过程(初始化只在解码器启动时进行,对应函数为initROM()). HEVC扫描方式中提到:对于超过 4x4 的块,先将块分成若干个4x4的CG(Coefficient Group),CG之间和每个CG内部都使用选定的扫描顺序进行扫描.所以,存在两种扫描表:像素点扫描表和CG扫描表. 在源程序中,扫描表是保存在一个四维数组g_scanOrder中,该数组的申明如下图. 图4  扫描数组的

HEVC逆扫描之三:TU逆扫描过程

注:HM代码版本为HM-16.2+SCM-3.0rc1/. 对应TDecSbac::parseCoeffNxN()函数解析.暂时先忽略掉几个模式:pcCU->getCUTransquantBypass(uiAbsPartIdx).pcCU->getSlice()->getPPS()->getUseTransformSkip().pcCU->isRDPCMEnabled(uiAbsPartIdx),这些判断假定全部为假. 忽略掉以上几个模式之后,程序流程图如下: 图8  逆扫描

【4. 扫描节点】 分布式漏洞扫描系统设计与实现

四? 扫描节点 4.1 概述 此文原出自[爱运维社区]: http://www.easysb.cn 扫描节点(scanner)是整个分布式扫描系统的终端节点,负责具体漏洞扫描.由于我们的漏洞扫描系统需要集中许多不同的扫描工具,在这些工具当中,有的是只能运行在Windows上,比如WVS,而有的则是只能运行在Linux上,比如openvas,而有的则是可以同时在两种系统上运行,比如nmap.所以,为了能够更好的地集中这些工具,就必须解决系统的异构问题,达到同时支持Linux扫描节点和Windows

蛋疼的郁闷——聚集索引扫描、非聚集索引扫描、表扫描区别

聚集索引扫描,首先我们知道数据它是以索引键为叶节点排列起来的树形数据结构,表中每行的数据都附属在索引键中,对这样的表进行数据查找时,最快的方式当然是“聚集索引查找”.什么情况下才是“聚集索引扫描”呢?是当你要查找的数据的条件字段上没有索引时,此时查询执行器将对整个表中的数据挨个的进行读取确认符合查询条件的数据,但当该表上有字段设有聚集索引时,该扫描过程称之为“聚集索引扫描",相反的情况是当该表上没有一个字段设有”聚集索引“时,该扫描过程称之为”表扫描“.其实他们本质上的过程都是一样的,就是挨个的

蛋疼的郁闷-聚集索引扫描、非聚集索引扫描、表扫描区别

本文适用于对数据库索引有一定深入的攻城师阅读参考. 我们对于聚集索引扫描和表扫描比较容易理解的,但是对于非聚集索引扫描不太容易理解,这一点也往往容易使初学者感到很是困惑,原因是总认为没必要存在非聚集索引扫描,因为如果查询结果不具有高选择性的话,在聚集索引表中可以使用聚集索引扫描,在对表中会使用表扫描的,那么为什么要会存在非聚集索引扫描呢? 之所以有这样的问题,是因为我们没有考虑到一种情况,那就是查询结果如果被建有非聚集索引的字段覆盖或包含了,而此时where条件字段上的非聚集索引对于本次查询结果

【c语言】将一个数的二进制序列逆序,然后输出逆序之后的二进制序,所对应的数

// 将一个数的二进制序列逆序,然后输出逆序之后的二进制序,所对应的数 #include <stdio.h> // 从原数拿出最低位,放到mid中,mid左移,原数右移 int reverse(int a) { int mid = 0; int bit; int n = 31; for (; n > 0; --n) { bit = a & 1; mid |= bit; mid <<= 1; a >>= 1; } return mid; } int main

iOS 开发之 ZBarSDK 二维码扫描自定义二维码扫描页面(二)

iOS 开发之 ZBarSDK 二维码扫描自定义二维码扫描页面(二) 上一篇解决了ZBarSDK不支持64bit的问题,下面我们就可以使用ZBarSDK了. 导入ZBarSDk.h文件 附上代码: // //  MeViewController.m //  Auditory Blog // //  Created by 寒竹子 on 15/4/28. //  Copyright (c) 2015年 寒竹子. All rights reserved. // #define ScanWidth  2

工厂用扫描枪和超市用扫描枪有何不同?

很多朋友在问工厂用条码扫描枪和超市用条码扫描枪有何不同,下面富立叶小编带你了解工厂用扫描枪和超市用扫描枪的不同.1.条码扫描枪的IP等级不同 首先我们来了解下什么是条码扫描枪的IP等级,条码扫描枪的IP等级是电器产品重要的安全性能之一,常称外壳防护等级.该组数字指灯具外壳能够保证灯具在对应的自然环境中安全工作,同时又不对外界产生不安全.前者是指条码扫描枪能防止外界固体物或液体的侵入,不会产生短路和起火,从而造成事故:后者是指条码扫描枪能防止触电,确保使用者或无意接触的人或动物的安全. 自然环境对

脚本应用之四: 批量端口扫描

作用:批量端口扫描,可根据扫描主机的配置调整后台扫描进程数量 实现:使用nc指令扫描端口, 使用管道特性控制后台扫描进程数量 不足:仅仅对扫描端口状态为down的信息做记录,并没有其他报警操作 使用:需要提供包含被扫描主机的ip地址.协议和端口号的配置文件(格式见演示或代码专区注释) 演示: