一种视频流解码计算复杂度估计方法.pdf

上传人:1****2 文档编号:1344912 上传时间:2018-04-16 格式:PDF 页数:14 大小:570.05KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010502968.6

申请日:

2010.10.12

公开号:

CN101959068A

公开日:

2011.01.26

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04N 7/26申请日:20101012授权公告日:20121219终止日期:20131012|||授权|||实质审查的生效IPC(主分类):H04N 7/26申请日:20101012|||公开

IPC分类号:

H04N7/26; H04N7/32

主分类号:

H04N7/26

申请人:

华中科技大学

发明人:

郭红星; 田婷; 余胜生; 张爱华; 王洁; 王恒伟

地址:

430074 湖北省武汉市洪山区珞喻路1037号

优先权:

专利代理机构:

华中科技大学专利中心 42201

代理人:

李智

PDF下载: PDF下载
内容摘要

本发明公开了一种视频流解码计算复杂度估计方法,首先利用离线分析得到解码复杂度相对于视频帧长的统计模型,在线运行过程中,对于I帧直接利用上述模型对视频解码复杂度进行估计,对于P帧则根据相邻帧间的相关性,挖掘出模型系数随着视频内容变化而变化的规律,并以预测误差为反馈来动态调整后续P帧的模型系数,最终实现快速高效地获得解码复杂度估计结果。本发明采用简单的线性模型进行估计且模型参数可由压缩码流直接获得,解码器设计流程简单、码流兼容性好;对模型系数进行动态更新从而及时反映视频内容的变化,估计结果精确度高;在线更新仅需利用上一次更新结果作简单运算,系统运行时开销小,特别适合于资源受限的嵌入式系统应用。

权利要求书

1: 一种视频流解码计算复杂度估计方法, 首先离线拟合确定基于视频帧帧长的视频流 解码计算复杂度估计模型, 再利用该模型对视频帧的解码计算复杂度进行估计。
2: 根据权利要求 1 所述的视频流解码计算复杂度估计方法, 其特征在于, 所述复杂度 估计模型 C(L) = K×L+B, 系数 (K, B) 通过离线拟合确定, L 为视频帧帧长。
3: 根据权利要求 2 所述的视频流解码计算复杂度估计方法, 其特征在于, 所述视频帧 为 P 帧, 该方法还包括利用对视频帧的解码计算复杂度估计误差在线更新所述系数 (K, B) 的步骤。
4: 根据权利要求 3 所述的视频流解码计算复杂度估计方法, 其特征在于, 所述系数更 新方法为 : 当复杂度估计误差表征视频运动程度小, 则保持系数 K 不变, 改变系数 B ; 当复杂 度估计误差表征视频运动程度复杂, 则保持系数 B 不变, 改变系数 K。
5: 根据权利要求 4 所述的视频流解码计算复杂度估计方法, 其特征在于, 所述系数更 新步骤具体为 : 当复杂度估计误差 Δ 在阈值范围内, 则所述系数 (K, B) 更新为 (K, B= B+Δ), 否则 (K, B) 更新为
6: 根据权利要求 5 所述的视频流解码计算复杂度估计方法, 其特征在于, 所述阈值范 围为 [Δ1, Δ2], Δ1 = Bmin-B, Δ2 = Bmax-B, Bmax 和 Bmin 分别为对不同纹理不同运动程度的标 准测试序列压缩后的 P 帧进行拟合获取的多组系数中 B 的最大值和最小值。
7: 根据权利要求 2 或 3 或 4 或 5 或 6 所述的视频流解码计算复杂度估计方法, 其特征 在于, 所述视频帧为 I 帧, 系数 (K, B) 的离线拟合确定方式具体为 : 获取以全 I 帧压缩后的 标准测试序列中各帧的解码复杂度及压缩帧帧长, 以模型 C(L) = K×L+B 进行线性拟合得 到 I 帧模型系数 (K, B)。
8: 根据权利要求 2 或 3 或 4 或 5 或 6 所述的视频流解码计算复杂度估计方法, 其特征 在于, 所述视频帧为 P 帧, 系数 (K, B) 的离线拟合确定方式具体为 : 将标准测试序列压缩得 到的每个 I 帧后连续的 P 帧划分为一个集合, 利用模型 C(L) = K×L+B 对划分得到的集合 分别进行拟合, 在拟合得到的系数中选取使复杂度估计误差最小的系数作为所述系数 (K, B)。
9: 根据权利要求 2 所述的视频流解码计算复杂度估计方法, 其特征在于, 根据视频帧 幅面调整所述离线拟和确定的系数 (K, B) = (K, r×B), r = S2/S1, S2 为当前视频帧幅面, S1 为离线拟合采用的标准测试序列的幅面。

说明书


一种视频流解码计算复杂度估计方法

    技术领域 本发明属于多媒体计算领域, 涉及压缩视频流解码计算复杂度的动态预测, 是一 种能够用于节省视频流解码所需能耗的关键技术, 特别适用于嵌入式移动计算应用环境。
     背景技术 近年来, 随着计算机网络、 大规模集成电路的发展和多媒体技术的日益成熟, 各种 多媒体应用不断出现和普及, 有力地促进了工作效率的提高, 极大地丰富了人们的日常生 活, 同时也需要消耗大量的能量。 对于计算量大, 计算过程中需要进行密集数据访问的多媒 体解码应用, 消耗的能量更高, 使得节能技术的研究变得越来越重要。 特别是对于目前方兴 未艾的无线多媒体应用, 由于其硬件平台多采用电池供电, 能量有限, 使得通过采用节能技 术来提高续航能力逐渐成为衡量众多移动设备性能的重要指标。针对上述问题, 人们提出 了包括硬件、 软件以及硬软件协同优化设计在内的各种资源优化和节能方法。其中尤以计 算量整形技术和动态电压调节技术 (DVS) 应用得最为广泛。
     计算量整形技术是以解码设备的处理能力和功耗需求为上限, 在服务器端通过调 整多媒体内容的码率、 帧率、 幅面等格式信息以及运动估计精度、 可用模式等编码工具集, 对压缩码流进行转码, 从而生成适合解码器解码的压缩码流。动态电压调节技术是根据多 媒体任务所需要的计算量动态调节处理器电压 / 频率。当负载较低时, 降低处理器电压 / 频率 ; 而当负载增大时, 提升处理器电压 / 频率。 实现上述两类技术的基础是对当前多媒体 内容所需要的解码计算量进行快速准确的预估。但是现有的编码标准 ( 如 MPEG-4, H.264) 为了获得更好的压缩性能, 往往采用了多种复杂度各异的编码工具进行编码, 这使得精确 的解码复杂度估计变得非常困难。
     目前常用的复杂度估计方法包含两类 : 基于统计分析的方法和基于预测的方法。 前者将解码过程分成几个相对独立的模块 ( 如变长解码、 运动补偿等 ), 然后对每个模块进 行分析并确定各模块所需计算量与各种编码参数之间的依赖关系, 总的解码计算量由各个 独立模块计算量之和构成。这类方法能够对解码计算量进行非常精确的分析, 非常适合应 用于计算量整形技术中, 因为在编码过程中可以直接获取多种编码信息从而进行调节, 无 需多余的开销。而对于动态电压调节技术, 这种基于分析的方法一般是在解码端插入大量 的分析语句, 或者在传输过程中加入很多指示复杂度的信息。 这样不仅增加了大量的数据, 还使得解码系统需要做很多修改, 不利于模块化的系统设计。
     基于预测的方法是根据相邻视频帧之间的相关性, 利用前面帧的计算量来估计后 面帧所需的计算量。这类方法的重点是需要挖掘出相邻帧计算量之间的相关性。因为只要 建起了这种相关性, 就可以通过简单的预测获取每一帧的计算量。 其运行时开销小, 适合于 处理能力较弱的多媒体计算平台。只有获得准确的相关性关系才能保证预测结果的精确 性, 但是如何挖掘出相邻帧之间的相关性是一个较为困难的问题。
     因此, 迫切需要发展快速而有效的视频解码复杂度估计方法, 以求能够以较小的 运行开销获得准确的估计结果。
     发明内容 本发明提出一种融合离线统计分析和在线动态预测的视频解码复杂度估计方法, 实现以较小的运行开销获得准确的估计结果。
     一种视频流解码计算复杂度估计方法, 首先离线拟合确定基于视频帧帧长的视频 流解码计算复杂度估计模型, 再利用该模型对视频帧的解码计算复杂度进行估计。
     所述复杂度估计模型 C(L) = K×L+B, 系数 (K, B) 通过离线拟合确定, L 为视频帧 帧长。
     所述视频帧为 P 帧, 该方法还包括利用对视频帧的解码计算复杂度估计误差在线 更新所述系数 (K, B) 的步骤。
     所述系数更新方法为 : 当复杂度估计误差表征视频运动程度小, 则保持系数 K 不 变, 改变系数 B ; 当复杂度估计误差表征视频运动程度复杂, 则保持系数 B 不变, 改变系数 K。
     所述系数更新步骤具体为 : 当复杂度估计误差 Δ 在阈值范围内, 则所述系数 (K,
     B) 更新为 (K, B = B+Δ), 否则 (K, B) 更新为 所述阈值范围为 [Δ1, Δ2], Δ1 = Bmin-B, Δ2 = Bmax-B, Bmax 和 Bmin 分别为对不同纹 理不同运动程度的标准测试序列压缩后的 P 帧进行拟合获取的多组系数中 B 的最大值和最 小值。
     所述视频帧为 I 帧, 系数 (K, B) 的离线拟合确定方式具体为 : 获取以全 I 帧压缩后 的标准测试序列中各帧的解码复杂度及压缩帧帧长, 以模型 C(L) = K×L+B 进行线性拟合 得到 I 帧模型系数 (K, B)。
     所述视频帧为 P 帧, 系数 (K, B) 的离线拟合确定方式具体为 : 将标准测试序列压 缩得到的每个 I 帧后连续的 P 帧划分为一个集合, 利用模型 C(L) = K×L+B 对划分得到的 集合分别进行拟合, 在拟合得到的系数中选取使复杂度估计误差最小的系数作为所述系数 (K, B)。
     根据视频帧幅面调整所述离线拟和确定的系数 (K, B) = (K, r×B), r = S2/S1, S2 为当前视频帧幅面, S1 为离线拟合采用的标准测试序列的幅面。
     本发明的技术效果体现在 :
     本发明利用离线分析得到解码复杂度相对于视频编码参数的统计模型, 并挖掘出 模型系数随着视频内容变化而变化的规律。解码器在线运行过程中, 利用上述模型对视频 解码器复杂度进行估计 ; 同时结合模型系数随视频内容的变化规律, 并将其映射为相邻视 频帧之间的相关性, 从而利用前面帧的模型系数动态调整后续帧的模型系数, 最终实现快 速高效地获得能适应视频内容变化的解码复杂度估计结果。
     本发明采用线性模型对解码计算复杂度进行估计, 该模型仅包含视频帧长一个参 数, 且该参数可根据所传输的码流直接得到, 无须在解码器中添加复杂的分析语句或改变 现有的码流语法结构, 解码器设计流程简单、 码流兼容性好。 模型系数采用离线拟合的方式 获得, 并结合视频内容的变化对 P 帧系数进行在线更新。每次更新只需利用上一次更新结 果作简单运算, 视频帧解码计算复杂度则由模型系数直接估算得到, 系统运行时开销小 ; 而
     且在线运行过程中对 P 帧模型系数更新可及时反映被解码视频内容的变化, 从而使得估算得到的解码计算复杂度较为准确。 本发明所设计的模型对不同幅面的视频其模型系数满足 比例关系, 在线运行时可根据视频幅面动态调节模型系数, 系统自适应性好。 对于不同的硬 件平台及软件实现只需重新进行离线分析获得模型系数, 通用性较好。 附图说明 图1: 视频帧解码复杂度估计误差、 视频运动复杂程度以及解码计算复杂度模型 系数三者之间的映射关系示意图 ;
     图2: 本发明的离线估计与在线运行模块交互框图 ;
     图3: 本发明离线分析视频解码计算复杂度模型流程图 ;
     图4: 本发明在线预测视频解码计算复杂度流程图。
     具体实施方式
     本发明包含三项关键技术, 即: 统计模型的确立方法、 模型系数随视频内容变化规 律的挖掘技术以及获得相邻帧模型系数之间关系的方法。
     统计模型的确立采用的是基于分析的方法。 与传统的基于分析的方法将解码过程 划分为多个相对独立模块并对各个模块的计算复杂度单独建模不同, 本方法是依据各个模 块计算复杂度与视频帧长之间的关系对解码计算复杂度进行建模。 本方法将视频解码中的 计算模块划分为两类, 即:
     i. 计算复杂度与视频帧长密切相关的模块。
     ii. 计算复杂度与视频帧长基本无关的模块。
     系统解码复杂度则相应的由两部分构成 : 一部分与帧长密切相关, 另一部分则与 帧长基本无关, 可用公式表示为 :
     C = Cdependent+Cindependent = K×L+Cindependent
     为简化表述, 在下文中将上式表示为 :
     C = K×L+B (1)
     其中 C 为解码计算复杂度 ; L 为视频帧长, 在解码过程中可直接得到 ; K 和 B 为模型 系数, 将通过统计的方法获得。具体方法为 : 在离线情况下, 将标准测试序列压缩并得到压 缩码流, 输入到解码系统, 获得每一帧的计算量和帧长, 再通过最小二乘法拟合得到统计模 型系数。在线运行时, 便可以通过已得到的模型系数直接对解码计算复杂度进行估计。
     模型系数可能会随着视频内容的变化而发生变化。 本发明重点考察压缩视频流中 最重要的两类帧, 即帧内编码帧 (I 帧 ) 和帧间编码帧 (P 帧 )。其中 I 帧只包含帧内预测, 而不同的帧内预测模式计算复杂度变化较小, 因此 I 帧的模型系数随视频内容变化较小, 可以采用同一模型对不同内容的 I 帧计算复杂度进行建模。对于 P 帧, 其不仅包含帧内预 测, 还包含帧间预测, 两类预测复杂度变化较大, 而且随着视频内容变化, P 帧预测模式和运 动矢量精度会剧烈变化, 因此 P 帧的模型系数会相应的随着视频内容的变化而发生巨大改 变。由此产生了本发明的第二项关键技术 : 挖掘模型系数随视频内容变化而变化的规律。 更进一步来说, 是针对 I、 P 帧压缩的不同特点, 采用同一模型对不同内容的 I 帧的解码计算 量进行估计, 同时挖掘 P 帧模型系数随视频内容变化的规律。
     本发明通过改变式 (1) 中的模型系数值 (K, B) 的大小来反映视频内容的变化。其中 K 的取值主要反映了视频运动的复杂程度, 而 B 的取值则反映了码流中实际被编码的残 差的多少。具体来说, 分为以下两种情况 :
     i) 对于运动较小的视频序列, 其相邻两视频帧的运动复杂程度相同, 即 K 值相同 ; 解码计算复杂度的变化由小幅度位移产生的被编码残差之间的差异导致, 即 B 值发生变 化。
     ii) 对于运动量剧烈的视频, 解码计算复杂度的变化则主要是由于相邻视频帧运 动复杂度发生剧烈变化而导致的, 即 K 值不同, 而 B 值保持基本不变。
     上述关键技术通过对视频运动复杂程度进行分级, 将模型系数的变化定义成受视 频内容变化约束的分段函数, 从而挖掘出模型系数随视频内容变化而变化的规律。在系统 实现中, 分段函数约束条件——即视频运动复杂程度必须是能够被量化的。由此引出本发 明第三项关键技术 : 采用视频帧的解码复杂度估计误差作为视频运动复杂度的度量方法, 并结合关键技术二中模型系数变化的分段函数, 建立相邻帧模型系数之间的关系, 参见图 1。
     设前一帧 ( 第 i-1 帧 ) 的模型系数为 (Ki-1, Bi-1), 通过该模型系数预测得到当前帧 ( 第 i 帧 ) 的解码计算量 Ci, 经过解码后得到当前帧的真实计算量为 CR(i)。则当前帧的解码 复杂度估计误差为 CR(i)-Ci, 且有 :
     当视频运动较小时, 相邻帧模型系数应基本相同, 则当前帧的解码复杂度估计误 差应较小 ; 而当视频运动复杂时, 相邻帧模型系数差别较大, 当前帧的解码复杂度估计误差 应较大。因此可用当前帧的解码复杂度估计误差来表征视频运动复杂程度, 进而将其作为 选择模型系数变化函数的约束条件, 从而获得相邻帧模型系数之间的关系。
     在关键技术二中, 将视频运动复杂度分为两级, 并给出两种情况下模型系数的变 化规律。相应地, 当前帧的解码复杂度估计误差被划分为两级 :
     i) 当估计误差在区间 [Δ1, Δ2] 时, 认为该变化主要是由实际被编码残差发生小 幅变化所导致, 则两视频帧 K 值相同, B 值发生变化
     ii) 当估计误差不属于上述区间 [Δ1, Δ2] 时, 认为该变化是由于相邻帧之间运动 复杂度发生较大变化而导致, 则两视频帧 K 值不同, B 值保持基本不变。
     依据上述准则, 相邻帧模型系数关系可由式 (2), (3) 获得。
     条件一 : 当前帧的解码复杂度估计误差在一定范围内, 即 Δ1 ≤ CR(i)-Ci ≤ Δ2, 则:
     条 件 二 :当 前 帧 的 解 码 复 杂 度 估 计 误 差 超 过 一 定 范 围,即 : CR(i)-Ci ≤ Δ1||CR(i)-Ci ≥ Δ2, 则:
     获得当前帧 ( 第 i 帧 ) 的模型系数后, 便可估计下一帧 ( 第 i+1 帧 ) 的解码计算 量 Ci+1。 也就是说通过式 (2)、 (3), 在解码器运行过程中可以得到任何一个 P 帧的模型系数, 进而预测下一帧的解码复杂度, 如式 (4) 所示 :
     迭代初值 (K0, B0) 是用来预测第一个 P 帧的解码计算复杂度。可以通过离线统计 分析的方法获得。 另一方面, 用以判断当前帧的解码复杂度估计误差的阈值 [Δ1, Δ2] 也需 要在离线分析的基础上获得。
     根据上述关键技术, 本发明主要包含以下两个步骤, 即:
     1) 离线统计分析 : 本步骤主要目的是获得 I 帧模型系数以及 P 帧动态建模所需要 的模型系数迭代初值和迭代控制阈值。
     2) 在线动态预测 : 本步骤是根据步骤 1) 中所生成的 I 帧模型系数、 P 帧模型系数 迭代初值以及迭代控制阈值, 在解码过程中对视频帧解码所需的计算量进行动态预测。
     步骤 1) 包括如下几个子步骤 :
     11) 通过统计方法得到 I 帧的模型系数 :
     111) 选择与解码器所采用的压缩标准一致的编码器, 采用此编码器将某种幅面大 小 ( 记为 S1) 的标准测试码流以全 I 帧形式在不同码率下进行编码。 将压缩码流进行解码,
     并获取解码每一帧的计算复杂度及压缩帧帧长, 记为 (Cn, Ln)。设共对 M 个标准测试序列, 分别在 N 种码率条件下进行编码, 每个测试序列包含 T 帧视频, 则 n ∈ [1, M×N×T]。
     112) 以帧长为自变量, 解码计算复杂度为因变量对 111) 中生成的 M×N×T 组 (Cn, Ln) 利用最小二乘法进行线性拟合, 获得 I 帧帧长与计算复杂度之间的模型参数, 记为 (KI, BI)。
     12) 通过统计的方法得到 P 帧动态建模所需要的模型系数迭代初值和迭代控制阈 值:
     121) 将 S1 幅面大小的标准测试码流按照最大 I 帧间隔为 250 进行编码。将上述 码流进行解码, 并获取解码每一个 P 帧解码计算复杂度以及其帧长, 记为 (Cn, Ln)。设共对 M 个标准测试序列, 分别在 N 种码率条件下进行编码, 每个测试序列包含 T 帧视频。将同一个 视频序列在某一码率下的 P 帧的数据划分至一个集合, 则上述数据共划分为 M×N 个集合, 记每个集合为 Ai, 即:
     Ai = {(Cn(i), Ln(i))|n ∈ [1, T] ∩ Z+}, 且第 n 帧为 P 帧
     122) 对 121) 中生成的 M×N 个集合分别利用最小二乘法进行线性拟合, 获得 M×N + 组模型参数 : P1 = {(KP(i), BP(i))|i ∈ [1, M×N] ∩ Z }, 并求得 BP(i) 的最大值和最小值, 记为 : Bmax, Bmin, 将其作为迭代控制阈值。解码复杂度估计误差的阈值 [Δ1, Δ2] 将根据迭代控制 阈值, 在在线运行的过程中计算得到。
     123) 找出 121) 中产生的压缩码流中的 I 帧, 并将每个 I 帧后连续的多个 P 帧划分 为一个集合 ( 本发明选取 25 个 P 帧作为一个集合, 不足 25 帧以实际帧数为准, 少于 5 帧则 不予计算此 I 帧 )。 设共有 W 个集合, 对每个集合的帧长与计算复杂度之间的关系分别利用 最小二乘法进行线性拟合, 获得 W 组模型系数, 即: P2 = {(KP(j), BP(j))|j ∈ [1, W] ∩ Z+}
     124) 设迭代初始模型系数为 : (KP, BP), 令其分别等于 P2 中的各组系数。利用 式 (1) 估计 121) 中所生成的每个集合 Ai 的第一个 P 帧的解码计算量, 并计算估计值与真实值之间的误差百分比 ei。则对 P2 中的每组参数 (KP(j), BP(j)), 其总估计误差为 : 选取估计误差 Ej 最小的 (KP(j), BP(j)) 作为 P 帧的迭代初始 模型系数 (KP, BP)。
     在获得各模型系数后, 便可在线对解码计算复杂度进行动态预测。步骤 2 包括如 下几个子步骤 :
     21) 初始化各模型系数, 包括 (KI(o), BI(o)) = (KI, BI), (KP(o), BP(o)) = (KP, BP), Bmax(o) = Bmax, Bmin(o) = Bmin。
     22) 计算接收视频的幅面 S2 与步骤 1) 中所使用的视频幅面 S1 之比, 即 r = S2/S1。 根据 r 对模型参数进行比例缩放, 即 (KI, BI) = (KI(o), r×BI(o)), (KP, BP) = (KP(o), r×BP(o)), (Bmin = r×Bmin(o), Bmax = r×Bmax(o))。
     23) 计算接收视频幅面是否发生改变。如改变, 则跳至 22) 更新模型系数, 否则继 续。
     24) 读取当前帧帧长 L 并判断其帧类型 : 如果是 I 帧, 则直接利用公式 C = KI×L+BI 估算其所需解码计算复杂度 ; 如果是 P 帧, 则利用公式 C = KP×L+BP 进行估算。
     25) 对当前帧进行解码, 解码后得到真实计算量 CR。如果 CR < Bmin, 则令 Bmin = CR。 26) 计算当前帧的解码复杂度估计误差的阈值 [Δ1, Δ2]。Δ1 = Bmin-BP, Δ2 = 27) 如果当前帧为 P 帧, 计算当前帧的解码计算复杂度估计误差 : Δ = CR-C。如果Bmax-BP
     Δ1 ≤ Δ ≤ Δ2, 则按式 (2) 更新 BP 为 : BP = BP+Δ ; 否则按式 (3) 更新 KP 为 : 将更新后的 (KP, BP) 作为下一个 P 帧的预测模型系数。
     28) 如果还有视频帧需要解码, 则跳至 23) 重复进行。
     现以 MPEG-4 视频流的解码为例对本方法作进一步说明。
     本实例所采用的硬件平台是基于 TI 公司 TMS320DM642 嵌入式视频解码器, 解码软 件为与 MPEG-4 视频编码标准兼容的 DIVX 解码器。实验中采用 CIF(352×288) 格式的标准 测试序列 ( 包括 Akiyo, Hall, Coastguard, Foreman, Crew, Mobile 等六个测试序列, 每个 序列包含 300 帧图像 ) 通过 XVID-0.9.2 版编码器编码后 (XVID 编码器遵循 MPEG-4 编码标 准 ), 输入到上述解码器中进行解码, 编码器参数设置采用 XVID 编码器原始配置参数。
     本实例总体流程图如图 2 所示, 首先通过离线分析得到解码器计算复杂度估计的 统计模型系数 (D1)、 解码器在线运行时利用上述模型系数对视频解码计算复杂度进行动态 预估 (D2)。具体步骤如下 :
     1) 离线统计分析, 图 3 为这一步骤的详细过程
     11) 通过统计的方法, 得到 I 帧的模型系数 :
     111) 在码率为 800kbps, 1000kbps, 1500kbps, 1800kbps, 2000kbps, 2500kbps 条件 下, 将六个测试序列利用 XVID 编码器编码为全 I 帧序列, 共生成 36 个压缩序列。将生成的 压缩序列分别输入到解码器, 并记录每一帧的解码计算复杂度和帧长为 (Cn, Ln), n ∈ [1, 300×36]。采用每次解码所需要的 Cycle 数作为解码计算复杂度度量, 视频帧长以字节为 单位。112) 以帧长为自变量, 解码计算量为因变量, 对上述 300×36 组 (Cn, Ln) 利用 最小二乘法进行线性拟合, 获得 I 帧帧长与计算量之间的模型系数 (KI, BI) = (215.51, 6 6.4108×10 )。
     12) 通过统计的方法得到 P 帧动态建模所需要的模型系数迭代初值和迭代控制阈 值。
     121) 在码率分别为 200kbps、 400kbps、 500kbps、 600kbps、 800kbps 条件下, 将六个 测试序列利用 XVID 编码器按照 I 帧间隔为 250 进行编码, 共生成 30 个压缩序列。将生成 的压缩序列分别输入到解码器, 并将每个序列中 P 帧的 (Cn, Ln) 划分至一个独立的集合, 则 共生成 30 个数据集合, 每个集合中最多含 298 个 P 帧 (300 帧中至少有两个 I 帧 )。
     122) 对 121) 中生成的 30 个集合分别利用最小二乘法进行线性拟合, 得到 30 组模 + 型参数, P1 = {(KP(i), BP(i))|i ∈ [1, 30] ∩ Z }, 并求得 BP(i) 的最大值和最小值为 : (Bmin, Bmax) 6 6 = (1.7×10 , 2.4×10 )。将其作为迭代控制阈值, 在线运行时可利用此迭代控制阈值计算 得到解码复杂度估计误差的阈值 [Δ1, Δ2]。
     123) 找出 121) 中产生的压缩码流中的 I 帧, 并将每个 I 帧后的连续 25 个 P 帧的 划分为一个集合, 不足 25 帧以实际视频帧数为准, 少于 5 帧则不予计算此 I 帧。共产生 79 个集合, 每个集合包含 25 组数据。对每个集合分别利用最小二乘法进行线性拟合, 获得 79 + 组模型系数, 即: P2 = {(KP(j), BP(j))|j ∈ [1, 79] ∩ Z }
     124) 设初始模型参数为 : (KP, BP), 令其分别等于 P2 中的各组系数。 利用式 (1) 估计 121) 中 30 个集合各自第一个 P 帧的解码计算量, 并计算估计值与真实值之间的误差百分比 ei。则对 P2 中的每组系数 (KP(j), BP(j)), 其总估计误差为 : 选取估计误差 Ej 最小的 (KP(j), BP(j)) 作为 P 帧的初始模型系数, 即: (KP, BP) = (325.58, 6 2.3171×10 )。
     2) 在线动态估计, 图 4 为这一步骤的详细描述。
     21) 初始化模型系数和迭代控制阈值, 包括 (KI(o), BI(o)) = (KI, BI), (KP(o), BP(o)) = (KP, BP), Bmax(o) = Bmax, Bmin(o) = Bmin。
     22) 接收要解码的视频, 并获取其幅面。根据接收视频与 111) 中视频幅面的比值 对模型系数初值和迭代控制阈值进行缩放 :
     i. 设接收视频与 111) 中视频同为 CIF 格式, 则: r = 1, (KI, BI) = (KI(o), BI(o)), (KP, BP) = (KP(o), BP(o)), (Bmin = Bmin(o), Bmax = Bmax(o))。
     ii. 设接收视频为 D1 格式, 则: r = (704×576)/(352×288) = 4, (KI, BI) = (KI(o), 4×BI(o)), (KP, BP) = (KP(o), 4×BP(o)), (Bmax = 4×Bmax(o), Bmin = 4×Bmin(o))。
     23) 判断接受视频的幅面是否发生改变, 如发生变化则跳至 22), 否则继续 24)。
     24) 读取当前视频帧帧长 L, 并判断其帧类型。如果是 I 帧, 则直接利用公式 C = KI×L+BI 估计其所需解码计算复杂度 ; 如果是 P 帧, 则利用公式 C = KP×L+BP 进行估计。
     25) 对当前帧进行解码, 解码后得到真实计算复杂度 CR。如果当前帧为 P 帧且 CR < Bmin, 则令 Bmin = CR。
     26) 计算当前帧的解码复杂度估计误差的阈值 [Δ1, Δ2]。Δ1 = Bmin-BP, Δ2 = Bmax-BP。27) 如果当前帧为 P 帧, 计算当前帧的解码计算复杂度估计误差 : Δ = CR-C, 并 根据误差所属范围, 采用式 (2) 或式 (3) 对 (KP, BP) 进行更新。设 (KP, BP) = (325.58, 6 5 6 2.3171×10 ), Δ1 = -6.171×10 , Δ2 = 82900, CR = 6.0330×10 , 当前视频帧长 L 为 7168 字节 :
     i. 若 Δ = -4.7352×105, 则 Δ1 ≤ Δ ≤ Δ2, 采用式 (2) 更新 P 帧模型系数 : 6
     KP = 325.58, BP = (2.3171-0.47352)×10 = 1.8436×106
     ii. 若 Δ = 1.3822×106, 则 Δ > Δ2, 采用式 (3) 更新 P 帧模型 :
     将更新后的 (KP, BP) 作为下一个 P 帧的预测模型系数。 28) 如还有视频帧需要解码, 则跳至 23) 重复进行。

一种视频流解码计算复杂度估计方法.pdf_第1页
第1页 / 共14页
一种视频流解码计算复杂度估计方法.pdf_第2页
第2页 / 共14页
一种视频流解码计算复杂度估计方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种视频流解码计算复杂度估计方法.pdf》由会员分享,可在线阅读,更多相关《一种视频流解码计算复杂度估计方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101959068A43申请公布日20110126CN101959068ACN101959068A21申请号201010502968622申请日20101012H04N7/26200601H04N7/3220060171申请人华中科技大学地址430074湖北省武汉市洪山区珞喻路1037号72发明人郭红星田婷余胜生张爱华王洁王恒伟74专利代理机构华中科技大学专利中心42201代理人李智54发明名称一种视频流解码计算复杂度估计方法57摘要本发明公开了一种视频流解码计算复杂度估计方法,首先利用离线分析得到解码复杂度相对于视频帧长的统计模型,在线运行过程中,对于I帧直接利用上述模型对。

2、视频解码复杂度进行估计,对于P帧则根据相邻帧间的相关性,挖掘出模型系数随着视频内容变化而变化的规律,并以预测误差为反馈来动态调整后续P帧的模型系数,最终实现快速高效地获得解码复杂度估计结果。本发明采用简单的线性模型进行估计且模型参数可由压缩码流直接获得,解码器设计流程简单、码流兼容性好;对模型系数进行动态更新从而及时反映视频内容的变化,估计结果精确度高;在线更新仅需利用上一次更新结果作简单运算,系统运行时开销小,特别适合于资源受限的嵌入式系统应用。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书8页附图4页CN101959069A1/1页21一种视频流解码计算。

3、复杂度估计方法,首先离线拟合确定基于视频帧帧长的视频流解码计算复杂度估计模型,再利用该模型对视频帧的解码计算复杂度进行估计。2根据权利要求1所述的视频流解码计算复杂度估计方法,其特征在于,所述复杂度估计模型CLKLB,系数K,B通过离线拟合确定,L为视频帧帧长。3根据权利要求2所述的视频流解码计算复杂度估计方法,其特征在于,所述视频帧为P帧,该方法还包括利用对视频帧的解码计算复杂度估计误差在线更新所述系数K,B的步骤。4根据权利要求3所述的视频流解码计算复杂度估计方法,其特征在于,所述系数更新方法为当复杂度估计误差表征视频运动程度小,则保持系数K不变,改变系数B;当复杂度估计误差表征视频运动程。

4、度复杂,则保持系数B不变,改变系数K。5根据权利要求4所述的视频流解码计算复杂度估计方法,其特征在于,所述系数更新步骤具体为当复杂度估计误差在阈值范围内,则所述系数K,B更新为K,BB,否则K,B更新为6根据权利要求5所述的视频流解码计算复杂度估计方法,其特征在于,所述阈值范围为1,2,1BMINB,2BMAXB,BMAX和BMIN分别为对不同纹理不同运动程度的标准测试序列压缩后的P帧进行拟合获取的多组系数中B的最大值和最小值。7根据权利要求2或3或4或5或6所述的视频流解码计算复杂度估计方法,其特征在于,所述视频帧为I帧,系数K,B的离线拟合确定方式具体为获取以全I帧压缩后的标准测试序列中各。

5、帧的解码复杂度及压缩帧帧长,以模型CLKLB进行线性拟合得到I帧模型系数K,B。8根据权利要求2或3或4或5或6所述的视频流解码计算复杂度估计方法,其特征在于,所述视频帧为P帧,系数K,B的离线拟合确定方式具体为将标准测试序列压缩得到的每个I帧后连续的P帧划分为一个集合,利用模型CLKLB对划分得到的集合分别进行拟合,在拟合得到的系数中选取使复杂度估计误差最小的系数作为所述系数K,B。9根据权利要求2所述的视频流解码计算复杂度估计方法,其特征在于,根据视频帧幅面调整所述离线拟和确定的系数K,BK,RB,RS2/S1,S2为当前视频帧幅面,S1为离线拟合采用的标准测试序列的幅面。权利要求书CN1。

6、01959068ACN101959069A1/8页3一种视频流解码计算复杂度估计方法技术领域0001本发明属于多媒体计算领域,涉及压缩视频流解码计算复杂度的动态预测,是一种能够用于节省视频流解码所需能耗的关键技术,特别适用于嵌入式移动计算应用环境。背景技术0002近年来,随着计算机网络、大规模集成电路的发展和多媒体技术的日益成熟,各种多媒体应用不断出现和普及,有力地促进了工作效率的提高,极大地丰富了人们的日常生活,同时也需要消耗大量的能量。对于计算量大,计算过程中需要进行密集数据访问的多媒体解码应用,消耗的能量更高,使得节能技术的研究变得越来越重要。特别是对于目前方兴未艾的无线多媒体应用,由于。

7、其硬件平台多采用电池供电,能量有限,使得通过采用节能技术来提高续航能力逐渐成为衡量众多移动设备性能的重要指标。针对上述问题,人们提出了包括硬件、软件以及硬软件协同优化设计在内的各种资源优化和节能方法。其中尤以计算量整形技术和动态电压调节技术DVS应用得最为广泛。0003计算量整形技术是以解码设备的处理能力和功耗需求为上限,在服务器端通过调整多媒体内容的码率、帧率、幅面等格式信息以及运动估计精度、可用模式等编码工具集,对压缩码流进行转码,从而生成适合解码器解码的压缩码流。动态电压调节技术是根据多媒体任务所需要的计算量动态调节处理器电压/频率。当负载较低时,降低处理器电压/频率;而当负载增大时,提。

8、升处理器电压/频率。实现上述两类技术的基础是对当前多媒体内容所需要的解码计算量进行快速准确的预估。但是现有的编码标准如MPEG4,H264为了获得更好的压缩性能,往往采用了多种复杂度各异的编码工具进行编码,这使得精确的解码复杂度估计变得非常困难。0004目前常用的复杂度估计方法包含两类基于统计分析的方法和基于预测的方法。前者将解码过程分成几个相对独立的模块如变长解码、运动补偿等,然后对每个模块进行分析并确定各模块所需计算量与各种编码参数之间的依赖关系,总的解码计算量由各个独立模块计算量之和构成。这类方法能够对解码计算量进行非常精确的分析,非常适合应用于计算量整形技术中,因为在编码过程中可以直接。

9、获取多种编码信息从而进行调节,无需多余的开销。而对于动态电压调节技术,这种基于分析的方法一般是在解码端插入大量的分析语句,或者在传输过程中加入很多指示复杂度的信息。这样不仅增加了大量的数据,还使得解码系统需要做很多修改,不利于模块化的系统设计。0005基于预测的方法是根据相邻视频帧之间的相关性,利用前面帧的计算量来估计后面帧所需的计算量。这类方法的重点是需要挖掘出相邻帧计算量之间的相关性。因为只要建起了这种相关性,就可以通过简单的预测获取每一帧的计算量。其运行时开销小,适合于处理能力较弱的多媒体计算平台。只有获得准确的相关性关系才能保证预测结果的精确性,但是如何挖掘出相邻帧之间的相关性是一个较。

10、为困难的问题。0006因此,迫切需要发展快速而有效的视频解码复杂度估计方法,以求能够以较小的运行开销获得准确的估计结果。说明书CN101959068ACN101959069A2/8页4发明内容0007本发明提出一种融合离线统计分析和在线动态预测的视频解码复杂度估计方法,实现以较小的运行开销获得准确的估计结果。0008一种视频流解码计算复杂度估计方法,首先离线拟合确定基于视频帧帧长的视频流解码计算复杂度估计模型,再利用该模型对视频帧的解码计算复杂度进行估计。0009所述复杂度估计模型CLKLB,系数K,B通过离线拟合确定,L为视频帧帧长。0010所述视频帧为P帧,该方法还包括利用对视频帧的解码计。

11、算复杂度估计误差在线更新所述系数K,B的步骤。0011所述系数更新方法为当复杂度估计误差表征视频运动程度小,则保持系数K不变,改变系数B;当复杂度估计误差表征视频运动程度复杂,则保持系数B不变,改变系数K。0012所述系数更新步骤具体为当复杂度估计误差在阈值范围内,则所述系数K,B更新为K,BB,否则K,B更新为0013所述阈值范围为1,2,1BMINB,2BMAXB,BMAX和BMIN分别为对不同纹理不同运动程度的标准测试序列压缩后的P帧进行拟合获取的多组系数中B的最大值和最小值。0014所述视频帧为I帧,系数K,B的离线拟合确定方式具体为获取以全I帧压缩后的标准测试序列中各帧的解码复杂度及。

12、压缩帧帧长,以模型CLKLB进行线性拟合得到I帧模型系数K,B。0015所述视频帧为P帧,系数K,B的离线拟合确定方式具体为将标准测试序列压缩得到的每个I帧后连续的P帧划分为一个集合,利用模型CLKLB对划分得到的集合分别进行拟合,在拟合得到的系数中选取使复杂度估计误差最小的系数作为所述系数K,B。0016根据视频帧幅面调整所述离线拟和确定的系数K,BK,RB,RS2/S1,S2为当前视频帧幅面,S1为离线拟合采用的标准测试序列的幅面。0017本发明的技术效果体现在0018本发明利用离线分析得到解码复杂度相对于视频编码参数的统计模型,并挖掘出模型系数随着视频内容变化而变化的规律。解码器在线运行。

13、过程中,利用上述模型对视频解码器复杂度进行估计;同时结合模型系数随视频内容的变化规律,并将其映射为相邻视频帧之间的相关性,从而利用前面帧的模型系数动态调整后续帧的模型系数,最终实现快速高效地获得能适应视频内容变化的解码复杂度估计结果。0019本发明采用线性模型对解码计算复杂度进行估计,该模型仅包含视频帧长一个参数,且该参数可根据所传输的码流直接得到,无须在解码器中添加复杂的分析语句或改变现有的码流语法结构,解码器设计流程简单、码流兼容性好。模型系数采用离线拟合的方式获得,并结合视频内容的变化对P帧系数进行在线更新。每次更新只需利用上一次更新结果作简单运算,视频帧解码计算复杂度则由模型系数直接估。

14、算得到,系统运行时开销小;而且在线运行过程中对P帧模型系数更新可及时反映被解码视频内容的变化,从而使得估算说明书CN101959068ACN101959069A3/8页5得到的解码计算复杂度较为准确。本发明所设计的模型对不同幅面的视频其模型系数满足比例关系,在线运行时可根据视频幅面动态调节模型系数,系统自适应性好。对于不同的硬件平台及软件实现只需重新进行离线分析获得模型系数,通用性较好。附图说明0020图1视频帧解码复杂度估计误差、视频运动复杂程度以及解码计算复杂度模型系数三者之间的映射关系示意图;0021图2本发明的离线估计与在线运行模块交互框图;0022图3本发明离线分析视频解码计算复杂度。

15、模型流程图;0023图4本发明在线预测视频解码计算复杂度流程图。具体实施方式0024本发明包含三项关键技术,即统计模型的确立方法、模型系数随视频内容变化规律的挖掘技术以及获得相邻帧模型系数之间关系的方法。0025统计模型的确立采用的是基于分析的方法。与传统的基于分析的方法将解码过程划分为多个相对独立模块并对各个模块的计算复杂度单独建模不同,本方法是依据各个模块计算复杂度与视频帧长之间的关系对解码计算复杂度进行建模。本方法将视频解码中的计算模块划分为两类,即0026I计算复杂度与视频帧长密切相关的模块。0027II计算复杂度与视频帧长基本无关的模块。0028系统解码复杂度则相应的由两部分构成一部。

16、分与帧长密切相关,另一部分则与帧长基本无关,可用公式表示为0029CCDEPENDENTCINDEPENDENTKLCINDEPENDENT0030为简化表述,在下文中将上式表示为0031CKLB10032其中C为解码计算复杂度;L为视频帧长,在解码过程中可直接得到;K和B为模型系数,将通过统计的方法获得。具体方法为在离线情况下,将标准测试序列压缩并得到压缩码流,输入到解码系统,获得每一帧的计算量和帧长,再通过最小二乘法拟合得到统计模型系数。在线运行时,便可以通过已得到的模型系数直接对解码计算复杂度进行估计。0033模型系数可能会随着视频内容的变化而发生变化。本发明重点考察压缩视频流中最重要的。

17、两类帧,即帧内编码帧I帧和帧间编码帧P帧。其中I帧只包含帧内预测,而不同的帧内预测模式计算复杂度变化较小,因此I帧的模型系数随视频内容变化较小,可以采用同一模型对不同内容的I帧计算复杂度进行建模。对于P帧,其不仅包含帧内预测,还包含帧间预测,两类预测复杂度变化较大,而且随着视频内容变化,P帧预测模式和运动矢量精度会剧烈变化,因此P帧的模型系数会相应的随着视频内容的变化而发生巨大改变。由此产生了本发明的第二项关键技术挖掘模型系数随视频内容变化而变化的规律。更进一步来说,是针对I、P帧压缩的不同特点,采用同一模型对不同内容的I帧的解码计算量进行估计,同时挖掘P帧模型系数随视频内容变化的规律。003。

18、4本发明通过改变式1中的模型系数值K,B的大小来反映视频内容的变化。其说明书CN101959068ACN101959069A4/8页6中K的取值主要反映了视频运动的复杂程度,而B的取值则反映了码流中实际被编码的残差的多少。具体来说,分为以下两种情况0035I对于运动较小的视频序列,其相邻两视频帧的运动复杂程度相同,即K值相同;解码计算复杂度的变化由小幅度位移产生的被编码残差之间的差异导致,即B值发生变化。0036II对于运动量剧烈的视频,解码计算复杂度的变化则主要是由于相邻视频帧运动复杂度发生剧烈变化而导致的,即K值不同,而B值保持基本不变。0037上述关键技术通过对视频运动复杂程度进行分级,。

19、将模型系数的变化定义成受视频内容变化约束的分段函数,从而挖掘出模型系数随视频内容变化而变化的规律。在系统实现中,分段函数约束条件即视频运动复杂程度必须是能够被量化的。由此引出本发明第三项关键技术采用视频帧的解码复杂度估计误差作为视频运动复杂度的度量方法,并结合关键技术二中模型系数变化的分段函数,建立相邻帧模型系数之间的关系,参见图1。0038设前一帧第I1帧的模型系数为KI1,BI1,通过该模型系数预测得到当前帧第I帧的解码计算量CI,经过解码后得到当前帧的真实计算量为CRI。则当前帧的解码复杂度估计误差为CRICI,且有00390040当视频运动较小时,相邻帧模型系数应基本相同,则当前帧的解。

20、码复杂度估计误差应较小;而当视频运动复杂时,相邻帧模型系数差别较大,当前帧的解码复杂度估计误差应较大。因此可用当前帧的解码复杂度估计误差来表征视频运动复杂程度,进而将其作为选择模型系数变化函数的约束条件,从而获得相邻帧模型系数之间的关系。0041在关键技术二中,将视频运动复杂度分为两级,并给出两种情况下模型系数的变化规律。相应地,当前帧的解码复杂度估计误差被划分为两级0042I当估计误差在区间1,2时,认为该变化主要是由实际被编码残差发生小幅变化所导致,则两视频帧K值相同,B值发生变化0043II当估计误差不属于上述区间1,2时,认为该变化是由于相邻帧之间运动复杂度发生较大变化而导致,则两视频。

21、帧K值不同,B值保持基本不变。0044依据上述准则,相邻帧模型系数关系可由式2,3获得。0045条件一当前帧的解码复杂度估计误差在一定范围内,即1CRICI2,则00460047条件二当前帧的解码复杂度估计误差超过一定范围,即CRICI1|CRICI2,则0048说明书CN101959068ACN101959069A5/8页70049获得当前帧第I帧的模型系数后,便可估计下一帧第I1帧的解码计算量CI1。也就是说通过式2、3,在解码器运行过程中可以得到任何一个P帧的模型系数,进而预测下一帧的解码复杂度,如式4所示00500051迭代初值K0,B0是用来预测第一个P帧的解码计算复杂度。可以通过离。

22、线统计分析的方法获得。另一方面,用以判断当前帧的解码复杂度估计误差的阈值1,2也需要在离线分析的基础上获得。0052根据上述关键技术,本发明主要包含以下两个步骤,即00531离线统计分析本步骤主要目的是获得I帧模型系数以及P帧动态建模所需要的模型系数迭代初值和迭代控制阈值。00542在线动态预测本步骤是根据步骤1中所生成的I帧模型系数、P帧模型系数迭代初值以及迭代控制阈值,在解码过程中对视频帧解码所需的计算量进行动态预测。0055步骤1包括如下几个子步骤005611通过统计方法得到I帧的模型系数0057111选择与解码器所采用的压缩标准一致的编码器,采用此编码器将某种幅面大小记为S1的标准测试。

23、码流以全I帧形式在不同码率下进行编码。将压缩码流进行解码,并获取解码每一帧的计算复杂度及压缩帧帧长,记为CN,LN。设共对M个标准测试序列,分别在N种码率条件下进行编码,每个测试序列包含T帧视频,则N1,MNT。0058112以帧长为自变量,解码计算复杂度为因变量对111中生成的MNT组CN,LN利用最小二乘法进行线性拟合,获得I帧帧长与计算复杂度之间的模型参数,记为KI,BI。005912通过统计的方法得到P帧动态建模所需要的模型系数迭代初值和迭代控制阈值0060121将S1幅面大小的标准测试码流按照最大I帧间隔为250进行编码。将上述码流进行解码,并获取解码每一个P帧解码计算复杂度以及其帧。

24、长,记为CN,LN。设共对M个标准测试序列,分别在N种码率条件下进行编码,每个测试序列包含T帧视频。将同一个视频序列在某一码率下的P帧的数据划分至一个集合,则上述数据共划分为MN个集合,记每个集合为AI,即0061AICNI,LNI|N1,TZ,且第N帧为P帧0062122对121中生成的MN个集合分别利用最小二乘法进行线性拟合,获得MN组模型参数P1KPI,BPI|I1,MNZ,并求得BPI的最大值和最小值,记为BMAX,BMIN,将其作为迭代控制阈值。解码复杂度估计误差的阈值1,2将根据迭代控制阈值,在在线运行的过程中计算得到。0063123找出121中产生的压缩码流中的I帧,并将每个I帧。

25、后连续的多个P帧划分为一个集合本发明选取25个P帧作为一个集合,不足25帧以实际帧数为准,少于5帧则不予计算此I帧。设共有W个集合,对每个集合的帧长与计算复杂度之间的关系分别利用最小二乘法进行线性拟合,获得W组模型系数,即P2KPJ,BPJ|J1,WZ0064124设迭代初始模型系数为KP,BP,令其分别等于P2中的各组系数。利用式1估计121中所生成的每个集合AI的第一个P帧的解码计算量,并计算估计值说明书CN101959068ACN101959069A6/8页8与真实值之间的误差百分比EI。则对P2中的每组参数KPJ,BPJ,其总估计误差为选取估计误差EJ最小的KPJ,BPJ作为P帧的迭代。

26、初始模型系数KP,BP。0065在获得各模型系数后,便可在线对解码计算复杂度进行动态预测。步骤2包括如下几个子步骤006621初始化各模型系数,包括KIO,BIOKI,BI,KPO,BPOKP,BP,BMAXOBMAX,BMINOBMIN。006722计算接收视频的幅面S2与步骤1中所使用的视频幅面S1之比,即RS2/S1。根据R对模型参数进行比例缩放,即KI,BIKIO,RBIO,KP,BPKPO,RBPO,BMINRBMINO,BMAXRBMAXO。006823计算接收视频幅面是否发生改变。如改变,则跳至22更新模型系数,否则继续。006924读取当前帧帧长L并判断其帧类型如果是I帧,则直。

27、接利用公式CKILBI估算其所需解码计算复杂度;如果是P帧,则利用公式CKPLBP进行估算。007025对当前帧进行解码,解码后得到真实计算量CR。如果CRBMIN,则令BMINCR。007126计算当前帧的解码复杂度估计误差的阈值1,2。1BMINBP,2BMAXBP007227如果当前帧为P帧,计算当前帧的解码计算复杂度估计误差CRC。如果12,则按式2更新BP为BPBP;否则按式3更新KP为将更新后的KP,BP作为下一个P帧的预测模型系数。007328如果还有视频帧需要解码,则跳至23重复进行。0074现以MPEG4视频流的解码为例对本方法作进一步说明。0075本实例所采用的硬件平台是基。

28、于TI公司TMS320DM642嵌入式视频解码器,解码软件为与MPEG4视频编码标准兼容的DIVX解码器。实验中采用CIF352288格式的标准测试序列包括AKIYO,HALL,COASTGUARD,FOREMAN,CREW,MOBILE等六个测试序列,每个序列包含300帧图像通过XVID092版编码器编码后XVID编码器遵循MPEG4编码标准,输入到上述解码器中进行解码,编码器参数设置采用XVID编码器原始配置参数。0076本实例总体流程图如图2所示,首先通过离线分析得到解码器计算复杂度估计的统计模型系数D1、解码器在线运行时利用上述模型系数对视频解码计算复杂度进行动态预估D2。具体步骤如下。

29、00771离线统计分析,图3为这一步骤的详细过程007811通过统计的方法,得到I帧的模型系数0079111在码率为800KBPS,1000KBPS,1500KBPS,1800KBPS,2000KBPS,2500KBPS条件下,将六个测试序列利用XVID编码器编码为全I帧序列,共生成36个压缩序列。将生成的压缩序列分别输入到解码器,并记录每一帧的解码计算复杂度和帧长为CN,LN,N1,30036。采用每次解码所需要的CYCLE数作为解码计算复杂度度量,视频帧长以字节为单位。说明书CN101959068ACN101959069A7/8页90080112以帧长为自变量,解码计算量为因变量,对上述3。

30、0036组CN,LN利用最小二乘法进行线性拟合,获得I帧帧长与计算量之间的模型系数KI,BI21551,64108106。008112通过统计的方法得到P帧动态建模所需要的模型系数迭代初值和迭代控制阈值。0082121在码率分别为200KBPS、400KBPS、500KBPS、600KBPS、800KBPS条件下,将六个测试序列利用XVID编码器按照I帧间隔为250进行编码,共生成30个压缩序列。将生成的压缩序列分别输入到解码器,并将每个序列中P帧的CN,LN划分至一个独立的集合,则共生成30个数据集合,每个集合中最多含298个P帧300帧中至少有两个I帧。0083122对121中生成的30个。

31、集合分别利用最小二乘法进行线性拟合,得到30组模型参数,P1KPI,BPI|I1,30Z,并求得BPI的最大值和最小值为BMIN,BMAX17106,24106。将其作为迭代控制阈值,在线运行时可利用此迭代控制阈值计算得到解码复杂度估计误差的阈值1,2。0084123找出121中产生的压缩码流中的I帧,并将每个I帧后的连续25个P帧的划分为一个集合,不足25帧以实际视频帧数为准,少于5帧则不予计算此I帧。共产生79个集合,每个集合包含25组数据。对每个集合分别利用最小二乘法进行线性拟合,获得79组模型系数,即P2KPJ,BPJ|J1,79Z0085124设初始模型参数为KP,BP,令其分别等于。

32、P2中的各组系数。利用式1估计121中30个集合各自第一个P帧的解码计算量,并计算估计值与真实值之间的误差百分比EI。则对P2中的每组系数KPJ,BPJ,其总估计误差为选取估计误差EJ最小的KPJ,BPJ作为P帧的初始模型系数,即KP,BP32558,23171106。00862在线动态估计,图4为这一步骤的详细描述。008721初始化模型系数和迭代控制阈值,包括KIO,BIOKI,BI,KPO,BPOKP,BP,BMAXOBMAX,BMINOBMIN。008822接收要解码的视频,并获取其幅面。根据接收视频与111中视频幅面的比值对模型系数初值和迭代控制阈值进行缩放0089I设接收视频与11。

33、1中视频同为CIF格式,则R1,KI,BIKIO,BIO,KP,BPKPO,BPO,BMINBMINO,BMAXBMAXO。0090II设接收视频为D1格式,则R704576/3522884,KI,BIKIO,4BIO,KP,BPKPO,4BPO,BMAX4BMAXO,BMIN4BMINO。009123判断接受视频的幅面是否发生改变,如发生变化则跳至22,否则继续24。009224读取当前视频帧帧长L,并判断其帧类型。如果是I帧,则直接利用公式CKILBI估计其所需解码计算复杂度;如果是P帧,则利用公式CKPLBP进行估计。009325对当前帧进行解码,解码后得到真实计算复杂度CR。如果当前帧。

34、为P帧且CRBMIN,则令BMINCR。009426计算当前帧的解码复杂度估计误差的阈值1,2。1BMINBP,2BMAXBP。说明书CN101959068ACN101959069A8/8页10009527如果当前帧为P帧,计算当前帧的解码计算复杂度估计误差CRC,并根据误差所属范围,采用式2或式3对KP,BP进行更新。设KP,BP32558,23171106,16171105,282900,CR60330106,当前视频帧长L为7168字节0096I若47352105,则12,采用式2更新P帧模型系数0097KP32558,BP23171047352106184361060098II若13822106,则2,采用式3更新P帧模型00990100将更新后的KP,BP作为下一个P帧的预测模型系数。010128如还有视频帧需要解码,则跳至23重复进行。说明书CN101959068ACN101959069A1/4页11图1说明书附图CN101959068ACN101959069A2/4页12图2说明书附图CN101959068ACN101959069A3/4页13图3说明书附图CN101959068ACN101959069A4/4页14图4说明书附图CN101959068A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1