- 博客(541)
- 收藏
- 关注
原创 BasicVSR-lite图像画质增强
BasicVSR++论文也明确说,基于recurrent structure 通过双向传播和特征对其来利用整个视频序列的信息,BasicVSR++进一步加入二阶传播和flow-guided deformable alignment,增强了对错位视频帧的时空信息利用。BasicVSR类模型通常使用光流网络,比如SPyNet, 来估计相邻帧之间的运动,BasicVSR++补充材料里也提到使用pretrained SPyNet作为flow network。低清视频帧,[B, 7, 3, 64, 64]
2026-05-27 14:51:35
448
原创 pytorch人脸匹配模型
conv1 3x3卷积,64通道,stride = 1, 输出 [B, 64, 112x112]layer3 ResNet BasicBlock x2 下采样, [B, 256, 28, 28]1 人脸检查,人脸裁剪,人脸关键点检测,根据双眼位置做人脸对齐,保存成112x112的人脸图。输入 RGB人脸图像, 输出尺寸 [B,3,112,112]avgpool 全局平均池化, [B, 512, 1, 1]组成batch [B,3,112,112] 几张图一组。
2026-05-21 18:20:54
496
原创 SVT-AV1 整体架构
>Picture Decision svt_aom_picture_decision_kernel 显示序重排, + GOP类型。->EncDec / Mode Decision svt_aom_mode_decision_kernel, 按SB波前多线程。->Picture Analysis (svt_aom_picture_analysis_kernel, 可以多线程)->Picture Manager svt_aom_picture_manager_kernel, 子图调度,参考关系。
2026-04-08 19:22:22
370
原创 X265墒编码--代码分析
x265 墒编码X265 HEVC编码器架构分析一 整体代码架构1.1 目录与模块划分source/├── x265cli.cpp / x265cli.h # 命令行入口、参数解析、help├── x265.h # 对外 API、参数结构、版本├── encoder/ # 编码核心│ ├── encoder.cpp/h # 编码器顶层:创建/销毁、encode() 主流程、VPS/SPS/PPS│
2026-03-24 18:13:43
354
原创 SVT-AV1四叉树划分-模式决策
AV1标准包含矩形划分,PARTITION_HORZ, PARTITION_VERT, PARTITION_HORZ_4等,而set_child_to_be_considered 仅仅处理四叉树,PARTITION_SPLIT 的递归。由块几何表,svt_aom_blk_geom_mds 和d1 阶段决策如 svt_aom_d1_non_square_block_decision。矩形划分的cost 比较在d1阶段,例如svt_aom_d1_non_square_block_decision。
2026-01-30 15:26:46
499
原创 SVT-AV1编码 递归子块划分
当一个块需要继续划分时(split_flag=TRUE),本函数会递归地将其4个子块。set_child_to_be_considered() 递归标记哪些块需要处理。* 标记为需要处理,如果子块也需要继续划分,则继续递归标记子块的子块。这是AV1编码中实现多叉树(四叉树)递归划分的第一阶段:递归标记。本函数只负责递归标记哪些块需要处理,并不计算COST。* - 64x64 -> 4个 32x32。* - 32x32 -> 4个 16x16。* - 8x8 -> 4个 4x4。
2026-01-29 19:17:40
578
原创 SVT-AV1中的global-MV/仿射运动实现分析
这是一个路由函数,router function,根据配置的 correspondence_method, 选择使用哪种方法来收集对应点,correspondences, 对应点是全局运动估计的基础数据。MV方法,(MV_64x64, MV_32x32, MV_16x16/MV_8x8)2 合并阶段,RANSAC算法,将收集到的对应点聚合成全局运动模型。原理:基于图像特征,角点进行匹配,不依赖运动估计结果。优点:更鲁棒,精度高,不依赖ME质量,适合复杂运动。适用场景:复杂运动,ME质量差时,需要高精度时。
2026-01-22 00:00:22
414
原创 AV1全局运动补偿
处理单参考帧GLOBALMV和双参考帧 GLOBAL_GLOBALMV 模式。determine_gm_params() 确定全局运动参数。inject_global_candidates()函数。扭曲运动(Warped Motion)相关实现。RANSAC 算法实现(用于全局运动参数估计)将全局运动候选注入到候选数组。角点检测(用于全局运动估计)角点匹配(用于全局运动估计)全局运动估计的成本计算相关。全局运动使用扭曲运动模型。
2026-01-15 00:18:05
454
原创 SVT-AV1 模式决策函数md_encode_block
inject_intra_candidates() 注入帧内预测候选,DC,方向模式,角度delta。inject_filter_intra_candidates() 注入滤波帧内候选。inject_intra_bc_candidates() 注入帧内复制IBC 候选。svt_aom_inject_inter_candidates() 注入帧间候选。阶段2 候选生成 gernerate_md_stage_0_cand。4 帧间相关,运动估计,ME和预测运动估计PME。双参考帧模式,双向预测。
2026-01-14 19:43:00
147
原创 Transformer vs Stable Diffusion vs LLM模型对比
三 Stable Diffusion模型实现示例。二 下面我们详细拆解。
2026-01-09 00:02:56
1573
原创 U-Net图像分割模型
试图找到潜在的癌性病变,图像分割发挥作用的地方,分割过程用于识别图像中的不同组织和结构,在区分癌细胞和其他正常组织方面发挥着重要作用。U-net 的命名是因为结构类似于字母U,我们在输出端得到分割后的输入图像,U-net的架构师独特的,因为它由收缩路径和扩展路径组成。通常在像素级别进行,通过将图像中具有相似特征的区域分组或定义对象的边界来完成,这是一种识别和解析图像中不同对象或特征的方法。尽管U-Net专注于生物医学图像,其灵活的结构允许它有效的用于其他类型的图像数据。
2026-01-07 00:09:28
852
原创 SVT-AV1帧类型决策-场景切换检测
功能:图像决策核心函数,这是Picture Decision处理阶段的主入口函数。8 将处理好的图片发送到后续处理阶段Motion Estimation等。场景切换(Scene Change):既不是闪光也不是淡入淡出。2 管理图片重排序队列,因为多线程处理可能导致图片乱序到达。参数:input_ptr 线程上下文指针,包含线程私有数据。淡入淡出(Fade):当前帧与未来帧、过去帧都接近。void * 线程函数返回值,这里返回NULL。闪光:未来帧-过去帧,但当前帧差异大。(在场景切换处插入I帧)
2025-12-23 19:42:24
499
原创 pd_process.c 文件源码分析
/获取order_hint的位数。// 如果既没有前向参考帧也没有后向参考帧(理论上不应该发生,因为至少应该有前向参考帧),skip_mode_allowed保持为0。// 如果找不到第二个前向参考帧,skip_mode_allowed保持为0,不允许使用skip_mode。// 当前参考帧的order_hint小于第一个前向参考帧(即更早的帧),并且。// 重置第二个参考帧的order hint,准备查找第二个前向参考帧。// 当前参考帧比已找到的第二个前向参考帧更接近第一个前向参考帧。
2025-12-17 11:48:12
424
原创 pd_process.c 文件源码分析
一 pd_process.c 是SVT-AV1编码器中的Picture Decision处理模块,主要功能包括。--使用直方图差异(AHD - Average Historgram Difference)进行检测。PictureParentControlSet *input_pcs, #输入图片控制集指针。PictureParentControlSet *ref_pcs, #参考图片控制集指针。PictureParentControlSet: 图片父控制集,包含图片的所有编码参数。
2025-12-16 16:09:34
404
原创 leetcode算法-最大乘积子数组
给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),要求返回该子数组所对应的乘积。nums 的任何前缀或后缀的乘积都 保证 是一个 32-位 整数。测试用例的答案是一个 32-位 整数。max_dp (以i结尾的最大积)min_dp (以i结尾的最小积)二 C++代码实现+注释。全局最大积 (res)
2025-12-11 10:34:36
197
原创 AlexNet 模型Demo
在第一层和第二层卷积层后,分别有一个最大池化层,池化窗口大小为 3x3,步长为 2,这样减少了特征图的尺寸,同时保留了重要特征。第三层 (C3):包含 384个3x3 的卷积核,步长为 1,使用 1 的填充,输出尺寸为 13x13x384。第四层 (C4):包含 384个3x3 的卷积核,步长为 1,使用 1 的填充,输出尺寸为 13x13x384。第五层 (C5):包含 256个3x3 的卷积核,步长为 1,使用 1 的填充,输出尺寸为 13x13x256。
2025-12-04 17:55:48
321
原创 MLP多层感知机
下一层(可以是另一个隐藏层或输出层)用PyTorch实现一个简单的MLP。(面积、卧室数,房龄,位置,学区)(如最常用的Adam或SGD)MLP的工作流程:前向传播。二 MLP的核心组成部分。(如识别手写数字0-9)(如隐藏层大小,学习率)(或使用线形激活函数)神经元的详细工作原理。(MNIST数据集)(如CNN,RNN)
2025-11-20 09:42:25
715
原创 H266 vs VVC标准之仿射运动模型
近年来随着短视频,在线会议等移动视频应用的爆发式普及,全球的视频信息需求快速增长,业界普遍感受到的宽带与存储的家u大压力,极度渴望高性能的视频压缩算法,仍然无法满足业界日益高涨的需求。在视频编码的早期研究当中,人们已经发现平动运动模型并不能有效表示转动,缩放等复杂运动。整体仿射变换,局部仿射变换等方法,试图在视频编码过程中引入仿射运动模型以提高帧间预测的编码效率。尽管学术界对视频编码中仿射运动模型的研究,在很长一段时间内仿射运动模型没能走进视频编码标准。重点介绍VVC中的仿射运动模型技术。
2025-11-10 17:21:36
481
原创 AV1 vs H266仿射运动详细说明
三 H266/VVC中的仿射运动预测。(如64x64,32x32等)二 AV1中的仿射运动预测。(例如4x4或8x8)
2025-11-07 14:29:07
439
原创 H265 vs AV1 vs H266 rdoq对比
下面的表格概括了H265/HEVC, AV1和H266 三个标准在核心技术和复杂度上的整体差异,有助于理解实现高效编码(包括使用RDOQ之类工具)的不同路径。
2025-11-05 16:54:09
641
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅