关键词:
3、符号和缩略语
DCT
离散余弦变换
ADST
非对称离散正弦变换
LSB
最低有效位
MSB
最高有效位
WHT
沃尔什 Hadamard变换
该规范使用了一些常量整数,与特定句法元素的语义相关的常量在第6节中定义,其他的常数定义如下:
符号名 | 值 | 描述 |
---|---|---|
REFS_PER_FRAME |
7 | 帧间编码可以使用的参考帧数目 |
TOTAL_REFS_PER_FRAME |
8 | 参考帧类型的数量(包括帧内类型) |
BLOCK_SIZE_GROUPS |
4 | 解码y_mode时上下文数目 |
BLOCK_SIZES |
22 | 使用的不同块大小的数目 |
BLOCK_INVALID |
14 | 标记值以标记非法的分区选择 |
MAX_SB_SIZE |
128 | 超块以像素为单位的最大尺寸 |
MI_SIZE |
4 | 模式信息块以像素为单位的最小尺寸 |
MI_SIZE_LOG2 |
2 | 最小模式信息块大小以2为底的对数值 |
MAX_TILE_WIDTH |
4096 | 一个tile以亮度像素为单位的最大宽度 |
MAX_TILE_AREA |
4096 * 2304 | 一个tile以亮度像素为单位的最大范围 |
MAX_TILE_ROWS |
64 | tile行的最大数目 |
MAX_TILE_COLS |
64 | tile列的最大数目 |
INTRABC_DELAY_PIXELS |
256 | 可以使用intra块复制之前的水平像素数量 |
INTRABC_DELAY_SB64 |
4 | 可以使用intra块复制之前的64x64块的数量 |
NUM_REF_FRAMES |
8 | 可以存储为将来参考的帧数 |
IS_INTER_CONTEXTS |
4 | is_inter上下文数目 |
REF_CONTEXTS |
3 | single_ref , comp_ref , comp_bwdref , uni_comp_ref , uni_comp_ref_p1 和 uni_comp_ref_p2的上下文数目 |
MAX_SEGMENTS |
8 | 段映射中允许的段数 |
SEGMENT_ID_CONTEXTS |
3 | segment_id上下文数目 |
SEG_LVL_ALT_Q |
0 | 量化器段特性索引 |
SEG_LVL_ALT_LF_Y_V |
1 | 垂直亮度环滤波段特性索引 |
SEG_LVL_REF_FRAME |
5 | 参考帧段特性索引 |
SEG_LVL_SKIP |
6 | skip段特性索引 |
SEG_LVL_GLOBALMV |
7 | 全局mv特性索引 |
SEG_LVL_MAX |
8 | 段特性数目 |
PLANE_TYPES |
2 | 不同平面类型的数目(亮度和色度) |
TX_SIZE_CONTEXTS |
3 | 变换大小上下文数目 |
INTERP_FILTERS |
3 | interp_filter值的数目 |
INTERP_FILTER_CONTEXTS |
16 | interp_filter上下文数目 |
SKIP_MODE_CONTEXTS |
3 | 解码skip_mode上下文数目 |
SKIP_CONTEXTS |
3 | 解码skip上下文数目 |
PARTITION_CONTEXTS |
4 | 解码partition上下文数目 |
TX_SIZES |
5 | 正方形变换大小的数目 |
TX_SIZES_ALL |
19 | 变换大小的数目 (包括非正方形大小) |
TX_MODES |
3 | tx_mode值的数目 |
DCT_DCT |
0 | 反变换 行用DCT算法 列用DCT算法 |
ADST_DCT |
1 | 反变换 行用DCT算法 列用ADST算法? |
DCT_ADST |
2 | 反变换 行用ADST算法 列用DCT算法? |
ADST_ADST |
3 | 反变换 行用ADST算法 列用ADST算法 |
FLIPADST_DCT |
4 | 反变换 行用FLIPADST算法 列用DCT算法 |
DCT_FLIPADST |
5 | 反变换 行用DCT算法 列用FLIPADST算法 |
FLIPADST_FLIPADST |
6 | 反变换 行用FLIPADST算法 列用FLIPADST算法 |
ADST_FLIPADST |
7 | 反变换 行用ADST算法 列用FLIPADST算法 |
FLIPADST_ADST |
8 | 反变换 行用FLIPADST算法 列用ADST算法 |
IDTX |
9 | 反变换 行和列用恒等式 |
V_DCT |
10 | 反变换 行用恒等式 列用DCT算法 |
H_DCT |
11 | 反变换 行用DCT算法 列用恒等式 |
V_ADST |
12 | 反变换 行用恒等式 列用ADST算法 |
H_ADST |
13 | 反变换 行用ADST算法 列用恒等式 |
V_FLIPADST |
14 | 反变换 行用恒等式 列用FLIPADST算法 |
H_FLIPADST |
15 | 反变换 行用FLIPADST算法 列用恒等式 |
TX_TYPES |
16 | 反变换类型数目 |
MB_MODE_COUNT |
17 | YMode值的数目 |
INTRA_MODES |
13 | y_mode值的数目 |
UV_INTRA_MODES_CFL_NOT_ALLOWED |
13 | 当色度不允许从亮度推导时uv_mode值的数目 |
UV_INTRA_MODES_CFL_ALLOWED |
14 | 当色度允许从亮度推导时uv_mode值的数目 |
COMPOUND_MODES |
8 | compound_mode值的数目 |
COMPOUND_MODE_CONTEXTS |
8 | compound_mode上下文数目 |
COMP_NEWMV_CTXS |
5 | 当构建compound_mode上下文时可以使用的新的mv值的数目 |
NEW_MV_CONTEXTS |
6 | new_mv上下文数目 |
ZERO_MV_CONTEXTS |
2 | zero_mv上下文数目 |
REF_MV_CONTEXTS |
6 | ref_mv上下文数目 |
DRL_MODE_CONTEXTS |
3 | drl_mode上下文数目 |
MV_CONTEXTS |
2 | 解码运动矢量上下文数目,包括一个用来做intra块复制 |
MV_INTRABC_CONTEXT |
1 | 用来做intra块复制的运动矢量上下文 |
MV_JOINTS |
4 | mv_joint值的数目 |
MV_CLASSES |
11 | mv_class值的数目 |
CLASS0_SIZE |
2 | mv_class0_bit值的数目 |
MV_OFFSET_BITS |
10 | 解码运动矢量使用的最大bit数 |
MAX_LOOP_FILTER |
63 | 环滤波使用的最大值 |
REF_SCALE_SHIFT |
14 | 缩放参考帧时的精度位数 |
SUBPEL_BITS |
4 | 选择一个帧间预测过滤器内核时的精度位数 |
SUBPEL_MASK |
15 | ( 1 << SUBPEL_BITS ) - 1 |
SCALE_SUBPEL_BITS |
10 | 计算帧间预测位置时的精度位数 |
MV_BORDER |
128 | 裁剪运动矢量时使用的值 |
PALETTE_COLOR_CONTEXTS |
5 | 颜色上下文值的数目 |
PALETTE_MAX_COLOR_CONTEXT_HASH |
8 | 颜色上下文哈希和颜色上下文之间的映射数量 |
PALETTE_BLOCK_SIZE_CONTEXTS |
7 | 调色板块大小值的数目 |
PALETTE_Y_MODE_CONTEXTS |
3 | 调色板Y平面模式上下文值的数目 |
PALETTE_UV_MODE_CONTEXTS |
2 | 调色板UV平面模式上下文值的数目 |
PALETTE_SIZES |
7 | palette_size值的数目 |
PALETTE_COLORS |
8 | palette_color值的数目 |
PALETTE_NUM_NEIGHBORS |
3 | 调色板计算时考虑的相邻的数目 |
DELTA_Q_SMALL |
3 | 用来表示量化器索引delta可选编码的值 |
DELTA_LF_SMALL |
3 | 用来表示环滤波delta值可选编码的值 |
QM_TOTAL_SIZE |
3344 | 量化矩阵值的数目 |
MAX_ANGLE_DELTA |
3 | AngleDeltaY 和 AngleDeltaUV最大幅度 |
DIRECTIONAL_MODES |
8 | 方向帧内模式的数目 |
ANGLE_STEP |
3 | AngleDeltaY 或者 AngleDeltaUV每单位增加的角度. |
TX_SET_TYPES_INTRA |
3 | 帧内变换集类型的数目 |
TX_SET_TYPES_INTER |
4 | 帧间变换集类型的数目 |
WARPEDMODEL_PREC_BITS |
16 | 变形运动模型的内部精度 |
IDENTITY |
0 | 变形模型只是一个恒等式变换 |
TRANSLATION |
1 | 变形模型只是一个单纯的平移 |
ROTZOOM |
2 | 变形模型是旋转 + 对称缩放 + 平移 |
AFFINE |
3 | 变形模型是一个通用的仿射变换 |
GM_ABS_TRANS_BITS |
12 | 如果是ROTZOOM或者AFFINE模型的一部分,此值是编码全局运动模型的平移分量的bit数 |
GM_ABS_TRANS_ONLY_BITS |
9 | 如果是TRANSLATION模型的一部分,此值是编码全局运动模型的平移分量的bit数 |
GM_ABS_ALPHA_BITS |
12 | 此值是编码全局运动模型非平移分量的bit数 |
DIV_LUT_PREC_BITS |
14 | 在除数查找表中条目的分数bit数 |
DIV_LUT_BITS |
8 | 在除数查找表中查找的分数bit数 |
DIV_LUT_NUM |
257 | 除数查找表的条目个数 |
MOTION_MODES |
3 | 运动模式的个数 |
SIMPLE |
0 | 使用平移或者全局运动补偿 |
OBMC |
1 | 使用重叠块运动补偿 |
LOCALWARP |
2 | 使用本地变形运动补偿 |
LEAST_SQUARES_SAMPLES_MAX |
8 | 计算一个本地变形时使用的最大样点数 |
LS_MV_MAX |
256 | 在本地变形计算中包含的最大运动矢量差 |
WARPEDMODEL_TRANS_CLAMP |
1<<23 | 变形平移分量使用的最大值 |
WARPEDMODEL_NONDIAGAFFINE_CLAMP |
1<<13 | 变形矩阵分量使用的最大值 |
WARPEDPIXEL_PREC_SHIFTS |
1<<6 | 用于变形过滤的相位数 |
WARPEDDIFF_PREC_BITS |
10 | 变形过滤的额外精度bit数 |
GM_ALPHA_PREC_BITS |
15 | 发送非平移变形模型系数需要的分数bit数 |
GM_TRANS_PREC_BITS |
6 | 发送平移变形模型系数需要的分数bit数 |
GM_TRANS_ONLY_PREC_BITS |
3 | 单纯的平移变形需要的分数bit数 |
INTERINTRA_MODES |
4 | 帧间帧内模式的数目 |
MASK_MASTER_SIZE |
64 | MasterMask数组的大小 |
SEGMENT_ID_PREDICTED_CONTEXTS |
3 | segment_id_predicted上下文数目 |
IS_INTER_CONTEXTS |
4 | is_inter上下文数目 |
SKIP_CONTEXTS |
3 | skip上下文数目 |
FWD_REFS |
4 | 前向参考帧句法元素的数目 |
BWD_REFS |
3 | 后向参考帧句法元素的数目 |
SINGLE_REFS |
7 | 单一的参考帧句法元素数目 |
UNIDIR_COMP_REFS |
4 | 单向混合参考帧句法元素数目 |
COMPOUND_TYPES |
2 | compound_type值的数目 |
CFL_JOINT_SIGNS |
8 | cfl_alpha_signs值的数目 |
CFL_ALPHABET_SIZE |
16 | cfl_alpha_u 和 cfl_alpha_v值的数目 |
COMP_INTER_CONTEXTS |
5 | comp_mode上下文数目 |
COMP_REF_TYPE_CONTEXTS |
5 | comp_ref_type上下文数目 |
CFL_ALPHA_CONTEXTS |
6 | cfl_alpha_u 和 cfl_alpha_v上下文数目 |
INTRA_MODE_CONTEXTS |
5 | intra_frame_y_mode上下文数目 |
COMP_GROUP_IDX_CONTEXTS |
6 | comp_group_idx上下文数目 |
COMPOUND_IDX_CONTEXTS |
6 | compound_idx上下文数目 |
INTRA_EDGE_KERNELS |
3 | 帧内边缘过滤器的过滤器核的数目 |
INTRA_EDGE_TAPS |
5 | 帧内边缘过滤器的kernel taps数目 |
FRAME_LF_COUNT |
4 | 环滤波强度值的数目 |
MAX_VARTX_DEPTH |
2 | 可变变换树的最大深度 |
TXFM_PARTITION_CONTEXTS |
21 | txfm_split上下文数目 |
REF_CAT_LEVEL |
640 | 近距离运动矢量的额外权重 |
MAX_REF_MV_STACK_SIZE |
8 | 堆栈中运动矢量的最大数目 |
MFMV_STACK_SIZE |
3 | 运动场运动矢量的栈大小 |
MAX_TX_DEPTH |
2 | 当最大变换大小是8x8的时候tx_depth上下文的数目 |
WEDGE_TYPES |
16 | 楔形掩模过程的方向数 |
FILTER_BITS |
7 | 维纳滤波系数使用的bit数 |
WIENER_COEFFS |
3 | 要读取的维纳滤波系数的数量 |
SGRPROJ_PARAMS_BITS |
4 | 指定自导向过滤器集所需的位数 |
SGRPROJ_PRJ_SUBEXP_K |
4 | 控制如何读取自引导的deltas |
SGRPROJ_PRJ_BITS |
7 | 在自引导的恢复过程中精度 |
SGRPROJ_RST_BITS |
4 | Restoration precision bits generated higher than source before projection |
SGRPROJ_MTABLE_BITS |
20 | mtable划分表的精度 |
SGRPROJ_RECIP_BITS |
12 | 按n表划分的精度 |
SGRPROJ_SGR_BITS |
8 | selfguided_restoration核心的内部精度 |
EC_PROB_SHIFT |
6 | 在算术编码中减少CDF精度的位数 |
EC_MIN_PROB |
4 | 算术编码中分配给每个符号的最小概率 |
SELECT_SCREEN_CONTENT_TOOLS |
2 | 此值表示allow_screen_content_tools句法元素被编码 |
SELECT_INTEGER_MV |
2 | 此值表示force_integer_mv句法元素被编码 |
RESTORATION_TILESIZE_MAX |
256 | 一个循环恢复tile的最大值 |
MAX_FRAME_DISTANCE |
31 | 计算加权预测时的最大距离 |
MAX_OFFSET_WIDTH |
8 | 一个投影运动矢量最大水平偏移 |
MAX_OFFSET_HEIGHT |
0 | 一个投影运动矢量最大垂直偏移 |
WARP_PARAM_REDUCE_BITS |
6 | 修剪过程中参数的舍入位宽 |
NUM_BASE_LEVELS |
2 | 量化器基础等级的数目 |
COEFF_BASE_RANGE |
12 | 在num_base_level之上的量化器范围,即指数-哥伦布编码过程被激活之上 |
BR_CDF_SIZE |
4 | coeff_br上下文的数目 |
SIG_COEF_CONTEXTS_EOB |
4 | coeff_base_eob上下文的数目 |
SIG_COEF_CONTEXTS_2D |
26 | 只有水平或者只有垂直变换的coeff_base上下文偏移 |
SIG_COEF_CONTEXTS |
42 | coeff_base上下文偏移 |
SIG_REF_DIFF_OFFSET_NUM |
5 | 在决定coeff_base 和 coeff_base_eob上下文索引时使用的最大上下文样点数 . |
SUPERRES_NUM |
8 | 上采样率的分子 |
SUPERRES_DENOM_MIN |
9 | 上采样率的最小分母 |
SUPERRES_DENOM_BITS |
3 | 指定上采样率分母的bit数 |
SUPERRES_FILTER_BITS |
6 | 上采样过滤器选择的分母精度位数 |
SUPERRES_FILTER_SHIFTS |
1 << SUPERRES_FILTER_BITS | 上采样过滤器的相位数 |
SUPERRES_FILTER_TAPS |
8 | 上采样过滤器的taps数目 |
SUPERRES_FILTER_OFFSET |
3 | 上采样过滤器的像素偏移 |
SUPERRES_SCALE_BITS |
14 | 在上采样中计算位置时需要的小数位数 |
SUPERRES_SCALE_MASK |
(1 << 14) - 1 | 在上采样中计算位置的掩码 |
SUPERRES_EXTRA_BITS |
8 | SUPERRES_SCALE_BITS 和 SUPERRES_FILTER_BITS精度之间的差异 |
TXB_SKIP_CONTEXTS |
13 | all_zero上下文数目 |
EOB_COEF_CONTEXTS |
22 | eob_extra上下文数目 |
DC_SIGN_CONTEXTS |
3 | dc_sign上下文数目 |
LEVEL_CONTEXTS |
21 | coeff_br上下文数目 |
TX_CLASS_2D |
0 | 在两个方向上执行非恒等式变换的变换种类 |
TX_CLASS_HORIZ |
1 | 只在水平方向上执行非恒等式变换的变换种类 |
TX_CLASS_VERT |
2 | 只在垂直方向上执行非恒等式变换的变换种类 |
REFMVS_LIMIT |
( 1 << 12 ) - 1 | 可以保存的最大参考MV分量 |
INTRA_FILTER_SCALE_BITS |
4 | 帧内过滤过程缩放偏移 |
INTRA_FILTER_MODES |
5 | 帧内过滤类型数目 |
COEFF_CDF_Q_CTXS |
4 | coeff( )句法结构可选择上下文类型的数目 |
PRIMARY_REF_NONE |
7 | primary_ref_frame 表示没有主参考帧 |
构建一个jpeg解码器:帧和比特流(代码片段)
帧和比特流实现位队列JPEGSOF段结构定义下一次:最小编码单位之前,我讨论了由JPEG实现的霍夫曼压缩算法,以及JPEG编码器选择用于压缩的替换值的机制。图像本身,在基线熵编码的JPEG文件中,作为霍夫曼代... 查看详情
构建一个jpeg解码器:帧和比特流(代码片段)
帧和比特流实现位队列JPEGSOF段结构定义下一次:最小编码单位之前,我讨论了由JPEG实现的霍夫曼压缩算法,以及JPEG编码器选择用于压缩的替换值的机制。图像本身,在基线熵编码的JPEG文件中,作为霍夫曼代... 查看详情
构建一个jpeg解码器:帧和比特流(代码片段)
帧和比特流实现位队列JPEGSOF段结构定义下一次:最小编码单位之前,我讨论了由JPEG实现的霍夫曼压缩算法,以及JPEG编码器选择用于压缩的替换值的机制。图像本身,在基线熵编码的JPEG文件中,作为霍夫曼代... 查看详情
计算机编码解码
目录1字符&编码2记事本下的乱码3UTF-8解码过程4UTF-16解码过程5ISO-8859-16byte范围在阅读本文章之前,我建议你首先看阮一峰的博客:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html1字符&编码字符:是文字和符号的总称。... 查看详情
h264转av1后大小相差多少
...9略逊于H.265,H.266编码性能最高,AV1比VP9同等质量下减少30%比特率。目录:压缩性能比较0.码流结构1.头信息2.编解码框架差异3.块划分结构4.帧内预测5.帧间预测6.变换7.熵编码8.滤波9.加速技术10.其他技术0.码流结构:H.264:NAL层(Netwo... 查看详情
腾讯自研新一代av1编解码器
编者按:近年来,腾讯云在编解码领域投入了许多,不同于许多厂商基于开源方案做增强,腾讯从2017年就开始自研编解码器包括现在的AV1。LiveVideoStackCon2022音视频技术大会上海站邀请到腾讯云香农实验室编解码器... 查看详情
av1:为互联网提供开放免费的视频编解码工具
...,ZoeLiu一直在算法和音视频领域,目前在谷歌编解码团队为编解码器AV1做开发支持。Zoe畅谈了评定编解码器的标准,以及AV1的最新进度。本文是『下一代编码器』系列采访之一,欢迎自荐或推荐技术人加入『下一... 查看详情
复试问题(通信篇)总结
...制位数,通常用Rb表示,其单位是比特/秒(bit/s或b/s,英文缩略语为bps)。在二进制系统中,信息速率(比特率)与信号速率(波特率)相等,例如,当系统以每秒50个二进制符号传输时,信息速率为50bit/s,信号速率也为50Bd(波特)。在无... 查看详情
javase——io流(转换流/序列化流/打印流/压缩流)&工具包commons-io(代码片段)
...在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。编码:字符(能看懂的)--... 查看详情
聊聊视频中的编解码器,你所不知道的h264h265vp8vp9和av1编解码库
你知道FFmpeg吗?了解过h264/h265/vp8/vp9编解码库吗?我们日常生活中使用最广泛的五种视频编码:H264(AVC)、H265(HEVC)、vp8、vp9、av1都分别是什么?由哪些组织/公司实现的?编解码库的授权协议都是什么?他们又分别有什么优点?今... 查看详情
FFmpeg:检查 aac 比特流是不是格式错误
】FFmpeg:检查aac比特流是不是格式错误【英文标题】:FFmpeg:CheckiftheaacbitstreamismalformedornotFFmpeg:检查aac比特流是否格式错误【发布时间】:2015-10-1016:53:49【问题描述】:我想在我的服务器上上传几组视频,然后在HTML5视频标签中... 查看详情
get&&post请求编码过程
编码、解码 我们在开发过程中不可避免的一个话题就是编码和解码,那么什么是编码什么是解码呢?为什么要进行编码和解码呢?下面我们一一分析!编码和解码的概念 编码是信息从一种形式或格式转换为另一种形式的... 查看详情
聊聊视频中的编解码器,你所不知道的h264h265vp8vp9和av1编解码库
你知道FFmpeg吗?了解过h264/h265/vp8/vp9编解码库吗?我们日常生活中使用最广泛的五种视频编码:H264(AVC)、H265(HEVC)、vp8、vp9、av1都分别是什么?由哪些组织/公司实现的?编解码库的授权协议都是什么?他们... 查看详情
字符集和字符编码
...,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过程中,如果使用了错误的解码规则,则导致‘a‘解析成‘b‘或者乱码。字符集(Charset):是一个系统支持的所有抽象字... 查看详情
接口规范直播流相关接口
7按需录制直播流7.1.定义按需录制的应用用途将某个应用设置为按需录制应用。应用被设置为按需录制后,该应用下的直播流默认情况下不会被录制,只有在收到开始录制和停止录制的指令后才会针对某个直播流开始录制和停止... 查看详情
asn.1解码
...ASN.1中的基本编码规则。描述具体的ASN.1对象如何编码成比特流在网络上进行传输。SNMP使用BER作为编码方案,数据首先经过BER编码,再经由传输层协议(一般是UDP)发送往接收方。接收方在SNMP端口收到PDU后,经过BER解码后,得到... 查看详情
如何使用 NAudio 更改 WASAPI 记录比特率?
】如何使用NAudio更改WASAPI记录比特率?【英文标题】:HowtochangeWASAPIrecordbitratewithNAudio?【发布时间】:2012-03-0809:50:47【问题描述】:我正在使用NAudio解码、播放和录制MP3流。对于录制,我使用WasapiLoopbackCapture将流保存到wav文件:i... 查看详情
无符号整型指定比特位置1(代码片段)
将无符号数的指定比特进行置1.输入数字n(31bit,无符号整形),置为数m(0<=m<=31).输入:无符号数,指定bit位 输出:指定的bit位被置1的值 例如:输入8917输出1019 1#include<stdio.h>2#include<stdlib.h>3intmain(void)45unsignedintc,tmp;6... 查看详情