AV1 Bitstream Decoding Process Specification--[2]:符号和缩写术语
- 原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf
- 没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification
- 摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码器的比特流格式和解码过程。
- 规范:此文档规定了开放媒体联盟(Alliance for Open Media)AV1比特流格式和解码过程。
符号和缩写术语
- DCT:离散余弦变换,一种广泛应用于信号处理和图像压缩的变换技术,特别是在 JPEG 和 MPEG 系列视频编解码器中。
- ADST:非对称离散正弦变换,一种用于视频编码中的变换技术,特别适合处理图像中的垂直边缘,是 AV1 编解码器中的一个特性。
- LSB:最不显著比特,在数字表示中,数值最右边的比特,通常表示数值中的最小部分。
- MSB:最显著比特,在数字表示中,数值最左边的比特,通常表示数值中的最大部分。
- WHT:沃尔什哈达玛变换,一种简单的变换,用于将信号分解为不同频率的成分,常用于早期的视频和音频编码标准中。
规范文档中使用了许多常量整数。与特定语法元素的语义相关的常量在第6节中定义。更多的常量在下文中定义。
| 符号名字 | 值 | 描述 |
|---|---|---|
| REFS_PER_FRAME | 7 | 用于帧间预测的参考帧数量 |
| TOTAL_REFS_PER_FRAME | 8 | 参考帧类型的总数(包括帧内类型) |
| BLOCK_SIZE_GROUPS | 4 | 在解码 y_mode 时的上下文数量 |
| BLOCK_SIZES | 22 | 使用的不同块尺寸的总数 |
| BLOCK_INVALID | 22 | 用于标记不允许的分割选择的哨兵值 |
| MAX_SB_SIZE | 128 | 亮度样本中超块的最大尺寸 |
| MI_SIZE | 4 | 亮度样本中模式信息块的最小尺寸 |
| MI_SIZE_LOG2 | 2 | 模式信息块最小尺寸的以2为底的对数 |
| MAX_TILE_WIDTH | 4096 | 以亮度样本为单位的瓦片(Tile)最大宽度 |
| MAX_TILE_AREA | 4096*2034 | 以亮度样本为单位的瓦片(Tile)最大面积 |
| MAX_TILE_ROWS | 64 | 瓦片行的最大数量 |
| MAX_TILE_COLS | 64 | 瓦片列的最大数量 |
| INTRABC_DELAY_PIXELS | 256 | 在使用帧内块复制之前水平方向上的亮度样本数,编码器在处理依赖于后续块的块时需要延迟的像素数量,用于处理帧内预测模式(INTRABC)时的像素延迟问题 |
| INTRABC_DELAY_SB64 | 4 | 在使用帧内块复制之前,需要的 64x64 块的数量,是在采用帧内块复制技术时,必须先处理一定数量的 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 的上下文数量,指的是确定段ID(segment_id)时使用的上下文模式的数目 |
| SEG_LVL_ALT_Q | 0 | 代表“Segment Level Alternate Quantization”的缩写;量化器分段特征的索引,在视频编码的分割级别上应用的替代量化参数。在许多视频编码标准中,如H.264、HEVC或AV1,编码器可以将帧分割成多个区域(或段),并为每个区域应用不同的量化参数来优化编码效率和图像质量。 |
| SEG_LVL_ALT_LF_Y_V | 1 | 代表“Segment Level Alternate Loop Filter along the vertical direction for luma component”的缩写;垂直亮度环滤波器分段特征的索引,这个参数用于调整视频编码中环滤波器(loop filter)的强度,是视频编码中一个用于优化环滤波效果的参数,特别是在垂直方向上对亮度分量的处理,有助于提高编码后视频的图像质量和减少视觉伪影。 |
| SEG_LVL_REF_FRAME | 5 | 是“Segment Level Reference Frame”的缩写,参考帧分段特征的索引,用于标识和引用特定参考帧分段特征的编号或标记;编码器可以将一帧视频分割成多个段(segments),并为每个段选择不同的参考帧。这种技术称为参考帧分段(reference frame segmentation),它允许编码器根据视频内容的不同特点为不同的视频段选择最优的参考帧,以提高编码效率和图像质量。 |
| SEG_LVL_SKIP | 6 | 跳过分段特征的索引 |
| SEG_LVL_GLOBALMV | 7 | 全局运动矢量特征的索引 |
| SEG_LVL_MAX | 8 | 段特征数量 |
| TX_SIZE_CONTEXTS | 3 | 变换大小的上下文数量 |
| INTERP_FILTERS | 3 | 插值滤波器interp_filter的值的数量 |
| INTERP_FILTER_CONTEXTS | 16 | 插值滤波器interp_filter的上下文数量 |
| SKIP_MODE_CONTEXTS | 3 | 解码跳过模式 skip_mode 的上下文数量 |
| SKIP_CONTEXTS | 3 | 解码跳过的上下文数量 |
| 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 | 行使用DCT进行逆变换,列使用FLIPADST进行逆变换,FLIPADST(Flip Adjusted Discrete Sine Transform,翻转调整离散正弦变换) |
| DCT_FLIPADST | 5 | 行使用FLIPADST进行逆变换,列使用DCT进行逆变换 |
| FLIPADST_FLIPADST | 6 | 行使用FLIPADST进行逆变换,列使用FLIPADST进行逆变换 |
| ADST_FLIPADST | 7 | 行使用FLIPADST进行逆变换,列使用ADST进行逆变换 |
| FLIPADST_ADST | 8 | 行使用ADST进行逆变换,列使用FLIPADST进行逆变换 |
| 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 | 复合模式的上下文数量 |
| COMP_NEWMV_CTXS | 5 | 在构建复合模式(compound_mode)上下文时使用的新的运动矢量(mv)值的数量 |
| NEW_MV_CONTEXTS | 6 | 新运动矢量(new_mv)的上下文数量 |
| ZERO_MV_CONTEXTS | 2 | 零运动矢量(zero_mv)的上下文数量,零运动矢量(zero_mv)是一种特殊的运动矢量,它指示当前块或宏块与参考帧中的相应块没有相对运动,即当前块与参考帧中的块完全对齐。这种信息在编码过程中非常重要,因为它可以用来减少编码的比特数,同时保持视频质量。 |
| REF_MV_CONTEXTS | 6 | 参考运动矢量(ref_mv)的上下文数量 |
| DRL_MODE_CONTEXTS | 3 | 直接复制模式(drl_mode)的上下文数量 |
| MV_CONTEXTS | 2 | 解码运动矢量时的上下文数量,包括一个用于内部块复制的上下文 |
| MV_INTRABC_CONTEXT | 1 | 用于内部块复制的运动矢量上下文 |
| MV_JOINTS | 4 | mv_joint的取值数量,mv_joint指的是运动矢量(Motion Vector, MV)的联合模式 |
| MV_CLASSES | 11 | mv_class的取值数量,指的是运动矢量(Motion Vector, MV)的分类或等级,它用于在编码过程中对运动矢量进行更细致的管理和优化 |
| CLASS0_SIZE | 2 | mv_class0_bit的取值数量,与运动矢量分类相关的一个特定的比特位或编码元素。 |
| MV_OFFSET_BITS | 10 | 解码运动矢量的最多数位数 |
| 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 | 裁剪运动矢量时使用的值,在处理运动矢量时,为了限制MV值不超过一定范围而使用的一个最大或最小阈值。这种裁剪操作通常用于避免过大的运动矢量导致的图像质量下降或编码效率降低。 |
| 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 | 调色板 U 平面和 V 平面模式上下文的取值数量 |
| PALETTE_SIZES | 7 | 调色板大小取值的数量 |
| PALETTE_COLORS | 8 | 调色板颜色的取值数量 |
| PALETTE_NUM_NEIGHBORS | 3 | 在调色板计算中考虑的邻近像素数量 |
| DELTA_Q_SMALL | 3 | 量化器索引差值替代编码的值 |
| DELTA_LF_SMALL | 3 | 环路滤波器差值替代编码的值 |
| 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 模型的一部分,全局运动模型的平移分量编码所需的位数 |
| GM_ABS_TRANS_ONLY_BITS | 9 | 如果是平移模型的一部分,全局运动模型的平移分量编码所需的位数 |
| GM_ABS_ALPHA_BITS | 12 | 全局运动模型的非平移分量编码所需的位数 |
| DIV_LUT_PREC_BITS | 14 | 除数查找表中条目分数位数的数量 |
| DIV_LUT_BITS | 8 | 查找表中查找除数时使用的分数位数 |
| 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 | 在变形滤波中额外使用的精度位数 |
| GM_ALPHA_PREC_BITS | 15 | 发送非平移性变形模型系数时使用的分数位数 |
| GM_TRANS_PREC_BITS | 6 | 发送平移性变形模型系数时使用的分数位数 |
| GM_TRANS_ONLY_PREC_BITS | 3 | 用于纯平移性变形的分数位数 |
| INTERINTRA_MODES | 4 | 帧间帧内模式的数量 |
| MASK_MASTER_SIZE | 64 | 主掩码数组的大小 |
| SEGMENT_ID_PREDICTED_CONTEXTS | 3 | 用于预测段ID 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 符号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 | 帧内边缘滤波器的核抽头数量 |
| 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 | 变换可以分割的最大次数 |
| WEDGE_TYPES | 16 | 楔形掩模处理的方向数量 |
| FILTER_BITS | 7 | 用于维纳滤波器系数的比特数 |
| WIENER_COEFFS | 3 | 需要读取的维纳滤波器系数的数量 |
| SGRPROJ_PARAMS_BITS | 4 | 指定自引导滤波器集合所需的比特数 |
| SGRPROJ_PRJ_SUBEXP_K | 4 | 控制自引导增量(deltas)的读取方式 |
| SGRPROJ_PRJ_BITS | 7 | 自引导恢复过程中的精度比特数 |
| SGRPROJ_RST_BITS | 4 | 在投影之前生成的恢复精度比特数高于源 |
| SGRPROJ_MTABLE_BITS | 20 | mtable除法表的精度 |
| SGRPROJ_RECIP_BITS | 12 | 除以n表的精度 |
| SGRPROJ_SGR_BITS | 8 | 核心自引导恢复的核心内部精度比特数 |
| 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_LEVELS之上,超过这个范围后激活指数哥伦布(Exp-Golomb)编码过程 |
| 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 | 用于指定上采样比率分母的比特数 |
| SUPERRES_FILTER_BITS | 6 | 上采样滤镜选择的分数精度比特数 |
| SUPERRES_FILTER_SHIFTS | 1 << SUPERRES_FILTER_BITS | 上采样滤波器的相位数量 |
| SUPERRES_FILTER_TAPS | 8 | 上采样滤波器的抽头数 |
| 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 | 9 | 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 | 可以保存的最大参考运动矢量分量 |
| INTRA_FILTER_SCALE_BITS | 4 | 帧内滤波过程中的缩放位移 |
| INTRA_FILTER_MODES | 5 | 帧内滤波的类型数量 |
| COEFF_CDF_Q_CTXS | 4 | coeff() 语法结构可选择的上下文类型的数量 |
| PRIMARY_REF_NONE | 7 | primary_ref_frame 的值表示没有主要参考帧 |
| BUFFER_POOL_MAX_SIZE | 10 | 缓冲池中的帧数 |
原文










相关文章:
AV1 Bitstream Decoding Process Specification--[2]:符号和缩写术语
原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码器…...
【Python爬虫系列】_022.异步文件操作aiofiles
课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈...
GD32E230 RTC报警中断功能使用
GD32E230 RTC报警中断使用 GD32E230 RTC时钟源有3个,一个是内部RC振动器产生的40KHz作为时钟源,或者是有外部32768Hz晶振.,或者外部高速时钟晶振分频作为时钟源。 🔖个人认为最难理解难点的就是有关RTC时钟异步预分频和同步预分频的计算。在对…...
C/C++语言基础--从C到C++的不同(上)
本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 之前更新的C语言,感谢大家的点赞收藏关注,接下来我们逐步也开始更新C;C语言后面也会继续更新知识点,如内联汇编;本人现在正在写一个C语言的图书管理系…...
自动驾驶自动泊车场景应用总结
自动泊车技术是当前智能驾驶技术的一个重要分支,其目标是通过车辆自身的感知、决策和控制系统,实现车辆在有限空间内的自主泊车操作。目前自动泊车可分为半自动泊车、全自动泊车、记忆泊车、自主代客泊车四种产品形态,其中, 根据搭载传感器和使用场景的不同,全自动泊车又可…...
redis常见的数据类型?
参考:一文读懂Redis五种数据类型及应用场景 - 知乎 (zhihu.com) String 类型 String 类型:Redis 最基本的数据类型,它是二进制安全的,意味着你可以用它来存储任何类型的数据,如图片、序列化对象等。使用场景ÿ…...
TCP Analysis Flags 之 TCP ZeroWindow
前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...
[产品管理-16]:NPDP新产品开发 - 14 - 产品创新流程 - 产品创新流程模型比较:门径、IPD、精益生产、敏捷、系统工程、设计思维、精益创业
目录 一、精益开发与敏捷开发的比较 1、核心理念 2、实践方式 3、应用场景 4、总结 二、门径流程 VS 敏捷方法 1、定义与特点 门径管理流程 敏捷方法 2、应用场景 3、比较 4、总结 三、集成产品开发 VS 系统工程 VS 设计思维 1、集成产品开发(IPD&…...
postgresql 导出CSV格式数据
方法一 psql -c 导出 导出的文件存放在执行psql的客户端。 psql -h 127.0.0.1 -p 5432 -U postgres postgres -Atqc "select oid,relname,relnamespace from tmp_t0 " --csv -o /tmp/test.csv方法二 psql -f 导出 导出的文件存放在执行psql的客户端。 如果查询很长…...
【C++】STL--string(上)
前言 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留…...
【C++】Stack
个人主页~ Stack 一、Stack的介绍和使用1、stack的介绍2、stack的使用3、stack的模拟实现 二、容器适配器1、什么是适配器2、容器适配器的使用 三、deque1、原理介绍2、deque的使用3、deque的缺陷 一、Stack的介绍和使用 1、stack的介绍 stack详细解释 stack是一种容器适配器…...
“药乡”怀化,按下产业向海“加速键”
怀化,这座被火车拖来的城市,拥有什么独特的产业优势吗? 很多人不知道的是,怀化在整个医药领域可是大名鼎鼎的“中国道地药材之乡”,中药材资源蕴藏量居湖南省第一。尤其是怀化靖州,这里年集散茯苓11万吨&a…...
【AWDP】 AWDP 赛制详解应对方法赛题实践 量大管饱
文章首发于【先知社区】:https://xz.aliyun.com/t/15535 一、AWDP概述 AWDP是什么 AWDP是一种综合考核参赛团队攻击、防御技术能力、即时策略的攻防兼备比赛模式。每个参赛队互为攻击方和防守方,充分体现比赛的实战性、实时性和对抗性,对参…...
读构建可扩展分布式系统:方法与实践05分布式缓存
1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方 1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问 1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘 1.2. …...
【逐行注释】自适应Q和R的AUKF(自适应无迹卡尔曼滤波),附下载链接
文章目录 自适应Q的KF逐行注释的说明运行结果部分代码各模块解释 自适应Q的KF 自适应无迹卡尔曼滤波(Adaptive Unscented Kalman Filter,AUKF)是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波(Unscented Kalman Filter&am…...
OpenCV高阶操作
在图像处理与计算机视觉领域,OpenCV(Open Source Computer Vision Library)无疑是最为强大且广泛使用的工具之一。从基础的图像读取、 1.图片的上下,采样 下采样(Downsampling) 下采样通常用于减小图像的…...
Vue中的防抖和节流是什么,它们的作用是什么?
在Vue.js中,防抖(debounce)和节流(throttle)是两种常用的性能优化技术,主要用于处理高频事件,如窗口滚动、窗口大小调整、键盘输入等。 **防抖(Debounce)**:…...
C++的类与对象中(主讲默认成员函数)
目录 1.类的默认成员函数 2.构造函数 1.全缺省构造函数 2.第7点中的对自定义类型的成员变量构造(调用编译器自动生成的默认构造函数) 3.析构函数 4.拷贝构造函数 5.运算符重载 1.概念 2.赋值运算符重载 6.const成员函数 1.类的默认成员函数 默…...
C#学习系列之Gmap地图界面上的实时绘制问题
C#学习系列之Gmap地图界面上的实时绘制问题 前言总结 前言 在地图控件上增加绘制不规则图形,在之前的经验来看, System.InvalidOperationException:“无法使用 DependencyObject,它属于其父 Freezable 之外的其他线程。” 其实就是ui线程中…...
Spring Boot中实现定时任务的主要方式
文章目录 在Spring Boot中实现定时任务,主要有以下几种方式:1. 使用Scheduled注解2. 使用Quartz调度器使用Quartz调度器(更好的做法)3. 使用TaskExecutor和ScheduledExecutorService4.总结 在Spring Boot中实现定时任务,主要有以下几种方式&a…...
一键部署GLM-4.6V-Flash-WEB:GitCode镜像真香,省去半天环境搭建时间
一键部署GLM-4.6V-Flash-WEB:GitCode镜像真香,省去半天环境搭建时间 1. 为什么选择GLM-4.6V-Flash-WEB 在多模态大模型快速发展的今天,开发者最头疼的不是模型性能,而是如何快速部署和运行。GLM-4.6V-Flash-WEB作为智谱AI最新开…...
告别PX4!用APM+Gazebo+SITL在Ubuntu 20.04上从零搭建无人机仿真环境(保姆级排坑实录)
告别PX4!用APMGazeboSITL在Ubuntu 20.04上从零搭建无人机仿真环境(保姆级排坑实录) 当大多数无人机开发者还在PX4生态中挣扎于环境配置时,APM固件正以更轻量级的架构和灵活的扩展性悄然崛起。本文将带你跳出PX4的思维定式…...
造相-Z-Image本地部署全记录:无需网络,RTX 4090专属优化方案
造相-Z-Image本地部署全记录:无需网络,RTX 4090专属优化方案 你是否曾为部署一个AI绘画模型而焦头烂额?面对复杂的依赖、漫长的网络下载、以及最令人头疼的“爆显存”问题,是不是感觉手头这张强大的RTX 4090显卡有力使不出&#…...
python基于智能推荐算法的全屋定制平台网站设计_07y1pcxm
前言随着人们对家居环境品质的追求不断提高,全屋定制平台应运而生。本文介绍的基于智能推荐算法的全屋定制平台网站设计,旨在为用户提供一站式的家居定制解决方案。采用 Python 语言结合 Django 框架进行开发,以 MySQL 数据库作为数据存储核心…...
RTV主题开发终极指南:如何从零开始创建自定义终端Reddit主题
RTV主题开发终极指南:如何从零开始创建自定义终端Reddit主题 【免费下载链接】rtv Browse Reddit from your terminal 项目地址: https://gitcode.com/gh_mirrors/rt/rtv RTV(Reddit Terminal Viewer)是一个强大的终端Reddit浏览工具&…...
Go的unsafe.Pointer与uintptr:手动内存管理的风险与收益
Go语言以其简洁的内存管理模型著称,但标准库中的unsafe包却为开发者提供了手动操作内存的能力。unsafe.Pointer与uintptr这两个类型,允许绕过Go的类型安全检查,直接与底层内存交互。这种能力虽然强大,却也伴随着极高的风险。本文将…...
Linux进程(下)
上一篇文章介绍了进程的概念和进程的状态,但进程的知识还有很多,本文继续进行讲解。进程的管理指令之前提到过许多对进程进行管理的指令,但没有进行讲解,在这里统一聊聊。核心指令有四个 ps,top,kill&#…...
OpenClaw内存优化:Qwen2.5-VL-7B在4GB显卡上的运行秘诀
OpenClaw内存优化:Qwen2.5-VL-7B在4GB显卡上的运行秘诀 1. 当多模态大模型遇上小显存显卡 上周三凌晨2点,我的MacBook Pro风扇突然狂转——屏幕上是OpenClaw控制台不断弹出的显存不足警告。当时我正在尝试用Qwen2.5-VL-7B处理一批产品截图,…...
Vibe Coding 工具实战案例全解:Cursor、Claude Code、Codex 真实项目 30 分钟到 4 小时快速构建指南(2026 年最新)
Vibe Coding 工具实战案例(2026 年最新)以下是 3 个真实可复现的 Vibe Coding 实战案例,覆盖主流工具(Cursor、Claude Code、OpenAI Codex),从简单入门到中大型项目。每个案例都包含: 项目场景 核心 Prompt 示例 完整操作流程 实际效果 + 耗时 关键技巧(避坑) 这些案例…...
别再傻傻分不清!一张图看懂PMOS、NMOS和CMOS在电路设计中的真实区别
从物理特性到电路设计:PMOS、NMOS与CMOS的实战解析 在电子工程领域,MOSFET晶体管就像乐高积木一样构成了现代集成电路的基础模块。但面对PMOS、NMOS这对"双胞胎"时,许多初学者常常陷入困惑——为什么数字电路总爱用CMOS结构&#x…...
