AV1平滑缓冲区

发布于:2025-07-22 ⋅ 阅读:(18) ⋅ 点赞:(0)

对于解码每一帧视频数据解码器都必须缓冲池找到一个尚未被使用缓冲区插槽存储解码后数据分配缓冲区插槽用于临时保存解码过程生成数据直到它们用于显示进一步处理函数get_free_buffer作用缓冲池搜索尚未被分配使用缓冲区在解码过程中解码器需要统计存储缓冲池解码数量来计算显示显示时间函数frames_in_buffer_pool 作用统计返回缓冲池已经使用缓冲区插槽总数函数get_free_buffer frames_in_buffer_pool定义如下

2.5.2 平滑缓冲区

除了缓冲池之外AV1解码器包含平滑缓冲区Smoothing Buffer. 平滑缓冲区存储未被解码比特流在解码过程平滑缓冲区确保解码器有足够内部存储存储达到的比特流数据并且还要确保下一帧压缩数据解码器需要已经在缓冲区

2.5.3 时序定义

为了描述平缓缓冲区状态变化解码器模式时序进行定义AV1解码器模型DFG 单位描述平滑缓冲区状态索引iDFG是指所有位于帧i - 1 最后一个OBUi最后一个OBU之间OBU这里需要注意的是DFG i除了包含构成iOBU之外还可能包含位于i - 1i之间show_existing_frame等于iOBU此外DFG索引i仅仅show_existing_frame 标志0帧中递增这意味着只有需要进行解码操作DFG索引才会更新这是因为show_existing_frame标志1表示输出已经解码完成在这种情况下解码器并不会解码新的视频只是输出已经解码完成所以DFG索引i不会更新

1 到达开始结束时间

AV1解码器模型比特流到达平滑缓冲区速率只有两种恒定速率BitRate缓冲区或者速率0到达缓冲区其中BitRate 峰值比特BitRate = MaxBitrate * BitrateProfileFactor其中MaxBitrateBitrateProfileFactorProfile确定参数Bitrate具体设置方式参考AV1标准文档A.3 AV1解码器模型使用变量FirstBitArrial[i]表示DFG i第一个比特到达平滑缓冲区时间使用变量LastBitArrial[i] 表示DFG i最后一个比特平滑达到平滑缓冲区时间使用变量ScheduleRemoval[i]表示计划DFG i平滑缓冲区删除时间


网站公告

今日签到

点亮在社区的每一天
去签到