运动估计的基本分配单元大小分块大小与视频运动复杂程度之间有什么关系?

视频编码、 解码方法和装置 技术領域

本发明涉及通讯领域 特别涉及一种视频编码、 解码方法和装置。 背景技术

随着信息技术的不断发展 人们对视频通讯的需求不断提高, 由于原始视频数据需要 巨大的存储空间和传输带宽 高效的视频压縮技术成为解决这一困境的有效手段。 传统的 压縮标准主要以平稳嘚视频序列作为研究基础 所以产生的压縮技术主要也适用于这类视 频序列。 照相机的闪光、 阳光或者灯光的变化以及视频的淡出淡入等效果都没有考虑到压 縮技术中来

由于现有技术中没有将照相机的闪光、 阳光或者灯光的变化以及视频的淡出淡入等效 果都没有考虑到压縮技术中来, 这就造成了现有的大多数压縮技术无法处理这些特殊的视 频 最终导致压縮效率不高的结果。 H. 264/AVC视频编码标准虽然提出了一种針对整帧图像 计算出加权系数的方法 但是由于亮度的变化具有渐变性以及区域性, 这种全局的技术方 案同样会存在压縮效率不高的问题 发明内容

为了解决现有技术压縮技术存在缺陷造成的压縮效率不高的问题, 本发明提出了一种 视频编码、 解码方法和装置 所述技术方案如下:

本发明实施例提出了一种视频编码方法, 包括:

获取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考块; 在所述嘚编 码块的相邻区域构建参考模板, 并在所述运动估计参考块的对应的相邻区域构建参考模板; 计算所述编码块及运动估计参考块的加权系數、 或偏移量、 或同时计算加权系数和偏 移量; 并对应的计算所述编码块的参考模板和所述运动估计参考块的参考模板的参考加权 系数、 戓参考偏移量、 或同时计算参考加权系数和参考偏移量;

根据所述加权系数与所述参考加权系数获取加权系数差 或根据所述偏移量及参栲偏 移量获取偏移量差, 或同时获取所述加权系数差和偏移量差; 将所述加权系数差、 或偏移 量差、 或所述加权系数差和偏移量差编码写叺码流 本发明实施例还提出了一种视频编码装置, 包括:

第一获取模块 用于获取当前编码帧的编码块, 及该编码块对应的参考帧的运動估计 参考块; 在所述的编码块的相邻区域构建参考模板 并在所述运动估计参考块的对应的相 邻区域构建参考模板;

第一计算模块, 用於获取所述编码块及运动估计参考块的加权系数、 或偏移量、 或加 权系数和偏移量; 对应的计算所述编码块的参考模板和所述运动估计参栲块的参考模板的 参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量

差值计算模块 用于根据所述加权系数与所述参考加权系數获取加权系数差, 或根据 所述偏移量及参考偏移量获取偏移量差 或同时获取所述加权系数差和偏移量差; 将所述 加权系数差、 或偏移量差、 或所述加权系数差和偏移量差编码写入码流。 本发明实施例还提出了一种视频解码方法 包括:

获取当前编码帧的编码块, 及该编碼块对应的参考帧的运动估计参考块; 在所述的编 码块的相邻区域构建参考模板 并在所述运动估计参考块的对应的相邻区域构建参考模板; 根据所述编码块的参考模板和所述运动估计参考块的参考模板计算参考加权系数、 或 参考偏移量、 或加权系数和偏移量;

根据获得的编碼端的加权系数差、 或偏移量差、 或加权系数差和偏移量差, 以及对应 的参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量 偅构获得加权系数、 或 偏移量、 或同时重构出加权系数和偏移量。 本发明实施例还提出了一种视频解码装置 包括:

第二获取模块, 用于獲取当前编码帧的编码块 及该编码块对应的参考帧的运动估计 参考块; 在所述的编码块的相邻区域构建参考模板, 并在所述运动估计参栲块的对应的相 邻区域构建参考模板;

第二计算模块 用于根据所述编码块的参考模板及所述运动估计参考块的参考模板计 算参考加权系數、 或参考偏移量、 或加权系数和偏移量;

重构模块, 用于根据获得的编码端的加权系数差、 或偏移量差、 或加权系数差和偏移 量差 以忣对应的参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量, 重构获 得加权系数、 或偏移量、 或同时重构出加权系数和偏移量 本发明实施例提供的技术方案通过在编码块及运动估计参考块上添加参考模板来计算 参考加权系数及参考偏差量, 并通过编码块及运动估计参考块计算加权系数及偏差量 这 样通过相减获得加权系数差及偏移量差, 并将加权系数差及偏移量差发送到解码端 以此 来提高压縮效率。 附图说明

为了更清楚地说明本发明实施例的技术方案 下面将对实施例中使用的附图作一简单 地介绍, 显而易见地 下面所列附圖仅仅是本发明的一些实施例, 对于本领域普通技术人 员来讲 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图

图 1為本发明第一实施例的流程示意图;

图 2为编码帧和参考帧及一种参考模板的结构示意图;

图 3为另一种参考模板的结构示意图;

图 4为又一种參考模板的结构示意图;

图 5为本发明第三实施例的结构示意图;

图 6为本发明第五实施例的流程示意图;

图 7为本发明第七实施例的结构示意圖;

图 8为本发明第九实施例的流程示意图;

图 9为本发明第十一实施例的结构示意图。 具体实施方式

为使本发明的目的、 技术方案和优点更加清楚 下面将结合附图对本发明实施方式作 进一步地详细描述。 实施例 1

本发明第一实施例提出了一种视频编码方法 其流程如图 1所示, 包括:

步骤 101、 获取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考块; 在 所述的编码块的相邻区域构建参考模板, 并在所述运动估计参考块的对应的相邻区域构建 参考模板;

步骤 102、 计算所述编码块及运动估计参考块的加权系数、 或偏移量、 或同时计算加权 系數和偏移量; 并对应的计算所述编码块的参考模板及所述运动估计参考块的参考模板的 参考加权系数、 或参考偏移量、 或同时计算参考加權系数和参考偏移量;

步骤 103、根据所述加权系数与所述参考加权系数获取加权系数差 或根据所述偏移量 及参考偏移量获取偏移量差, 或哃时获取所述加权系数差和偏移量差; 将所述加权系数差、 或偏移量差、 或所述加权系数差和偏移量差编码写入码流

本发明实施例提出叻一种视频编码方法, 可以将加权系数差和 /或偏移量差发送到解码 端 以此来提高压縮效率。 本发明实施例中只需将加权系数差发送到解碼端 可以降低需 要传递的加权系数所占的字节数。 实施例 2

本发明第二实施例是在第一实施例的基础上改进而来 包括:

步骤 201、 获取如图 2所示的当前编码帧 Ft, 并获取参考帧 Ft- 1 ; 根据编码帧 Ft中的 码块 C 获取其在参考帧 Ft- 1中的运动估计参考块 R1或 R2

由于编码、 解码时是一帧接一帧进行的, 洇此参考帧 Ft- 1是已经获得的 且其中的运 估计参考块 R1或 R2也是已经可以获得的。 而对于第一帧是一个特例 第一帧没有参考 , 因此本发明实施唎中对第一帧可以采用现有技术中的方式进行编码、 解码 步骤 202、如图 2所示的, 在所述的编码块 C及运动估计参考块 R1或 R2的的相邻区域 构建参栲模板

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的, 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的 而对于參考帧 Ft- 1的运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的。 当然 图 2所示的是在编码块 C的上方和左侧添加参考模 板 Y, 还可以如图 3所示的仅在上方添加参考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Υ 步骤

E X2)-E2(X) 其中 X为编码块的参考模板中的所有像素点构成的矢量集合; Χ = [ ,?, ..... ?]; Υ为 运动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ=[}^,}^, ..... yN] E 为平均 值 步骤 205、 通过编码帧的编码块 C及参考帧的运动估计参考块 R1或 R2, 計算偏移 offset t

计算0 的方式可以为多种, 例如通过以下公式计算计算偏移量:

rN] E为平均值 通过以下公式计算计算偏移量:

步骤 206、 通过编码块 C的参考模板 Υ, 及运动参考块 R1或 R2的参考模板 XI或 Χ2 计算参考偏移量

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板中的所有像素点构成的矢 量集合; X = [ ..... ?]; Y为运动估计参考块的参考模板中的所有像素点构成的矢量集 合; ? = [γι2, ·?·· yN] ; E为平均值; 通过以下公式计算计算偏移

其中参与計算的的像素数个数为 2的正整数倍, 且 "^'=L 步骤 207、 根据加权系数与参考加权系数获取加权系数差 Asra^ = scales scale] 根据 参考偏移量及偏移量获取偏移量差 Δ6 ? = 6 ? - offset i 本發明实施例提出的视频编码方法, 可以简单的计算出加权系数和偏移量 以及参考 加权系数和参考偏移量, 以降低编码端的计算量 在本發明实施例中, 可以计算加权系数 或偏移量 或同时计算加权系数和偏移量; 然后计算加权系数差或偏移量差, 或同时计算 加权系数差和偏移量差 上述的步骤 201-207是以同时计算加权系数差和偏移量差的方法。 本领域技术人员可以理解 当只计算加权系数时, 可以省略步骤 205-206 以及步骤 207的 后半部分; 当只计算偏移量时 可以省略步骤

本发明第三实施例提出了一种视频编码装置, 其结构如图 5所示 包括:

第一获取模块 11, 用于获取当前编码帧的编码块 及该编码块对应的参考帧的运动估 计参考块; 在所述的编码块的相邻区域构建参考模板, 并在所述运动估计参考块的对应的 相邻区域构建参考模板;

第一计算模块 12 用于获取所述编码块及运动估计参考块的加权系数、 或偏移量、 或 同时获取加权系数和偏移量; 并对应的计算所述编码块的参考模板及所述运动估计参考块 的参考模板的参考加权系数、 或参考偏移量、 或同时计算參考加权系数和参考偏移量; 差值计算模块 13, 用于根据所述加权系数与所述参考加权系数获取加权系数差 或根 据所述偏移量及参考偏移量获取偏移量差, 或同时获取所述加权系数差和偏移量差; 将所 述加权系数差、 或偏移量差、 或同时将所述加权系数差和偏移量差编码写叺码流

本发明实施例提出了一种视频编码装置, 可以将加权系数差及偏移量差发送到解码端 以此来提高压縮效率。 本发明实施例中只需将加权系数差发送到解码端 可以降低需要传 递的加权系数所占的字节数。 实施例 4

本发明第四实施例是在第三实施例的基础上改进而来 包括:

第一获取模块 11, 用于获取当前编码帧的编码块 及该编码块对应的参考帧的运动估 计参考块; 在所述的编码块的相邻区域构建参栲模板, 并在所述运动估计参考块的对应的 相邻区域构建参考模板

其中, 第一获取模块 11包括: 第一参考帧获取分配单元大小 用于获取洳图 2所示的当前编码帧 Ft, 并获取参考帧 Ft-1 ; 根 据编码帧 Ft中的编码块 C 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2。

由于编码、 解码时是一帧接一帧進行的 因此参考帧 Ft-1是已经获得的, 且其中的运 动估计参考块 R1或 R2也是已经可以获得的 而对于第一帧是一个特例, 第一帧没有参考 帧 因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、 解码。

第一参考模板获取分配单元大小 用于如图 2所示的, 在所述的编碼块 C及运动估计参考块 R1 或 R2的上方和 /或左侧添加参考模板

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的, 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的 而对于参考帧 Ft-1的运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的。 当然 图 2所示的是在编码块 C的上方囷左侧添加参考模 板 Y, 还可以如图 3所示的仅在上方添加参考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Υ。 第一计算模块 12 用于用于獲取所述编码块及运动估计参考块的加权系数、或偏移量、 或同时计算加权系数和偏移量; 并对应的获取所述编码块及运动估计参考块的所述参考模 板的参考加权系数、 或参考偏移量、 或同时计算参考加权系数和参考偏移量。

其中 第一计算模块 12包括: 第一加权系数计算分配单元大小及第一参考加权系数计算分配单元大小, 和 /或第一偏移量计算分配单元大小及第一参考偏移量计算分配单元大小 这是由于在夲发明实施例中, 可以 计算加权系数或偏移量 或同时计算加权系数和偏移量。 然后计算加权系数差或偏移量差 或同时计算加权系数差囷偏移量差, 然后重构获得加权系数和 /或偏移量 这三种方式都可 以提高压縮效率, 并降低需要传递的加权系数所占的字节数

下面以同時计算加权系数和偏移量为例进一步说明; 本领域内技术人员可以理解, 如 果只计算加权系数或偏移量之中的一个时 只需删除相应的分配单元大小即可。 第一加权系数计算分配单元大小 用于通过编码帧的编码块 C及参考帧的运动估计参考块 R1或

E为平均值。 第一参考加权系数計算分配单元大小 用于通过编码块 C的参考模板 Y, 及运动参考块 R1或 R2 的参考模板 XI或 Χ2 计算参考加权系数 sca/ :

其中 X为编码块的参考模板中的所囿像素点构成的矢量集合; χ=[ ,?, ..... ?]; γ为 运动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ = [>^,}^, ..... yN] E 为平均 值。 第一偏移量计算分配單元大小用于通过编码帧的编码块 C及参考帧的运动估计参考块 R1或 R2, 计算偏移量6

计算 OJ5? 的方式可以为多种 例如通过以下公式计算计算偏迻量:

通过以下公式计算计算偏移量:

offSet =(^(ci-ri) + 2N-1)?N 其中参与计算的的像素数个数为 2的正整数倍, 且 ^"^'=1 第一参考偏移量计算分配单元大小, 用于通过編码块 C的参考模板 Y 及运动参考块 R1或 R2的 参考模板 XI或 Χ2, 计算参考偏移量^ ^^:

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板中的所有像素點构成的矢 量集合; X = [ ..... ?]; Y为运动估计参考块的参考模板中的所有像素点构成的矢量集 合; Υ = [ ,)?,….. ]; Ε为平均值;

通过以下公式计算计算偏移量: oifSet l = ( ^ (xi - yi ) + 2N-1) ? N ; 其中参与计算的的像素数个数为 2的正整数倍 且^ =1。 差值计算模块 13 用于获取所述加权系数与所述参考加权系数获取加权系数差, 和 / 戓根据所述偏移量及参考偏移量获取偏移量差 将加权系数差和 /或偏移量差编码写入码 流。 本发明实施例提出的视频编码装置 可以简单嘚计算出加权系数和偏移量, 以及参考 加权系数和参考偏移量 以降低编码端的计算量。

需要说明的是: 上述实施例提供的视频编码装置茬进行编码时 仅以上述各功能模块 的划分进行举例说明, 实际应用中 可以根据需要而将上述功能分配由不同的功能模块完 成, 即将装置的内部结构划分成不同的功能模块 以完成以上描述的全部或者部分功能。 另外 上述实施例提供的视频编码装置与视频编码方法实施唎属于同一构思, 其具体实现 过程详见第一、 第二实施例 这里不再赘述。 实施例 5

本发明第五实施例提出了一种视频解码方法 与前述的苐一、 第二实施例的视频编码 方式配合使用, 或是与前述的第三、 第四实施例的视频编码装置配合使用 其流程如图 6 所示, 包括:

步骤 301、 獲取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考块; 在 所述的编码块的相邻区域构建参考模板, 并在所述运动估计参栲块的对应的相邻区域构建 参考模板;

步骤 302、根据所述编码块的参考模板及所述运动估计参考块的参考模板 计算参考加 权系数、 或参考偏移量、 或同时计算参考加权系数和参考偏移量;

步骤 303、 根据获得的编码端的加权系数差、 或偏移量差、 或加权系数差和偏移量差, 以及對应的参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量 重构获得加权 系数、 或偏移量、 或同时重构出加权系数和偏移量。

夲发明实施例提出了一种视频解码方法 是配合前述的第一、 第二实施例的方法, 或 第三、 第四实施例的装置一起使用 由于前述实施例Φ, 可以通过加权系数和 /或偏移量三 种方式进行编码 因此在本实施例中, 应采用与前述实施例对应的解码方法 本发明实施 例可以通过從编码端获取的加权系数差及偏移量差, 重构出加权系数及偏移量 以此来提 高压縮效率。 本发明实施例中只需将加权系数差发送到解码端 可以降低需要传递的加权 系数所占的字节数。 实施例 6

本发明第六实施例是在第五实施例的基础上改进而来 包括:

步骤 401、 获取如图 2所礻的当前编码帧 Ft, 并获取参考帧 Ft-1; 根据编码帧 Ft中的 编码块 C 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2。

在步骤 401中可以采用与步骤 201的方式获得 茬此不再赘述。 步骤 402、 通过编码块 C的参考模板 Y 及运动参考块 R1或 R2的参考模板 XI或 Χ2, 计算参考加权系数 sra/

其中 X为编码块的参考模板中的所有像素点构成的矢量集合; X = [^ c2, ..... ?] ; Y为 运动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ =[)^,Λ, ..... yN] E 为平均 值

其方法与步骤 205相同, 在此不再赘述 步骤 403、 通过编码块 C的参考模板 Y, 及运动参考块 R1或 R2的参考模板 XI或 Χ2 计算参考偏移量

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板Φ的所有像素点构成的矢 量集合; X = [ ..... ?]; Y为运动估计参考块的参考模板中的所有像素点构成的矢量集 合; Y = [y1 y2,….. ]; E为平均值;

通过以下公式计算计算偏移量:

其中参与计算的的像素数个数为 2的正整数倍, 且^" fe=1 其方法与步骤 206相同, 在此不再赘述 步骤 404、 根据从编码端获得的加权系数差 Asrafe,.忣偏移量差 Δ? ??, 以及参考加权 系数 sra/ 及参考偏移量 i Si^ 重构获得获取编码块 C的加权系数及偏移量。

步骤 404为前述的步骤 207的逆推 进一步的, 還可以包括:

步骤 405、 利用真实的加权系数对参考块进行修正得到所需的当前块的预测参考块; R = RX +0ffseti . 利用修正后的 R与解码得到的残差信号重建当湔块

本发明实施例提出的视频解码方法, 可以简单的计算出加权系数和偏移量 以及参考 加权系数和参考偏移量, 以降低解码端的计算量 本发明实施例提出了一种视频解码方法, 是配合前述的第一、 第二实施例的方法 或第三、 第四实施例的装置一起使用。 由于前述 实施例中 可以通过加权系数和 /或偏移量三种方式进行编码, 因此在本实施例中 应采用 与前述实施例对应的解码方法。 在本发明实施例中 是根据编码端所发送的加权系数差和 / 或偏移量差, 相应的重构获得加权系数和 /或偏移量 上述的步骤 401-404是以同时获得编 码端的加权系数差囷偏移量差的方法。 本领域技术人员可以理解 当获取的只是加权系数 时, 可以省略步骤 403 以及步骤 404的后半部分; 当获取的只是偏移量时 鈳以省略步骤 402以及步骤 404的前半部分。 实施例 7

本发明第七实施例提出了一种视频解码装置 与前述的第一、 第二实施例的视频编码 方式配合使用, 或是与前述的第三、 第四实施例的视频编码装置配合使用 其结构如图 7 所示, 包括:

第二获取模块 21 用于获取当前编码帧的编码块, 及该编码块对应的参考帧的运动估 计参考块; 在所述的编码块的相邻区域构建参考模板 并在所述运动估计参考块的对应的 相邻区域构建参考模板;

第二计算模块 22,用于根据所述编码块的参考模板及所述运动估计参考块的参考模板 计算参考加权系数、 或参考偏移量、 或哃时计算参考加权系数和参考偏移量; 重构模块 23, 用于根据获得的编码端的加权系数差、 或偏移量差、 或加权系数差和偏 移量差 以及对應的参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量, 重构 获得加权系数、 或偏移量、 或同时重构出加权系数和偏移量

本發明实施例提出了一种视频解码装置, 是配合前述的第一、 第二实施例的方法 或 第三、 第四实施例的装置一起使用。 由于前述实施例中 可以通过加权系数和 /或偏移量三 种方式进行编码, 因此在本实施例中 应采用与前述实施例对应的解码方法。 本发明实施 例可以通过从編码端获取的加权系数差及偏移量差 重构出加权系数及偏移量, 以此来提 高压縮效率 本发明实施例中只需将加权系数差发送到解码端, 可以降低需要传递的加权 系数所占的字节数 实施例 8

本发明第八实施例是在第七实施例的基础上改进而来, 包括:

第二获取模块 21 用于獲取当前编码帧的编码块, 及该编码块对应的参考帧的运动估 计参考块; 并在编码块及运动估计参考块的相邻区域构建与编码端对应的参栲模板

所述第二获取分配单元大小 21包括:

第一参考帧获取分配单元大小, 用于获取如图 2所示的当前编码帧 Ft 并获取参考帧 Ft-1 ; 根 据编码帧 Ft中嘚编码块 C, 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2

由于编码、 解码时是一帧接一帧进行的, 因此参考帧 Ft-1是已经获得的 且其中的运 动估計参考块 R1或 R2也是已经可以获得的。 而对于第一帧是一个特例 第一帧没有参考 帧, 因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、 解码

第一参考模板获取分配单元大小, 用于如图 2所示的 在所述的编码块 C及运动估计参考块 R1 或 R2的上方和 /或左侧添加参考模板。

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的。 而对于参考幀 Ft-1的运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的 当然, 图 2所示的是在编码块 C的上方和左侧添加参考模 板 Y 还可以如图 3所示的仅在上方添加参考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Υ。 第二计算模块 22, 用于根据所述编码块及运动估计参考块的参考模板计算参考加權系 数和 /或参考偏移量

其中, 第二计算模块 22 包括: 第二参考加权系数计算分配单元大小 和 /或第二参考加权系数 计算分配单元大小。 这昰由于在本发明实施例的视频解码装置 是根据接收到的编码端的加权系数 差和 /或偏移量差来进行重构的。 如前述的第一、 第二实施例和苐三、 第四实施例中 编码 端可以计算加权系数和 /或偏移量。 这三种方式都可以提高压縮效率 并降低需要传递的加 权系数所占的字节数。

下面以编码端同时计算加权系数和偏移量为例进一步说明; 本领域内技术人员可以理 解 如果编码端只计算加权系数或偏移量之中的一個时, 只需在解码端删除相应的分配单元大小即 可

所述第二计算模块 22包括:

第二参考加权系数计算分配单元大小, 用于通过编码块 C的参栲模板 Y 及运动参考块 R1或 R2 的参考模板 XI或 Χ2, 计算参考加权系数 sra/ :

其中 X为编码块的参考模板中的所有像素点构成的矢量集合; Χ = [ ,?, ..... ?]; Υ为 運动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ=[)^,Λ, ..... yN] E 为平均 值 第二参考偏移量计算分配单元大小, 用于通过编码块 C的参考模板 Y 及运动参考块 R1或 R2的 参考模板 XI或 Χ2, 计算参考偏移量^ ^^:

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板中的所有像素点构成的矢 量集合; X = [ ..... ?]; Y为运动估计参考块的参考模板中的所有像素点构成的矢量集 合; Υ = [ ,)?,….. ]; Ε为平均值;

通过以下公式计算计算偏移量:

offset) =(∑(χι - yi) + 2N~1) ? N; 其中参与计算的的像素数个数为 2的正整数倍 且^ =1。 重构模块 23 用于根据获得的编码端的加权系数差和 /或偏移量差, 以及对应的参考加 权系数和 /或参考偏移量 重构获得加权系数及偏移量。

与前述相同的 下面以编码端同时计算加权系数和偏移量为例进一步说明; 本领域内 技术人员可以理解, 如果编码端只计算加权系数或偏移量之中的一个时 只需在解码端删 除相应的分配单元大小即可。

其中 重构模块 23包括:

加权系数差计算分配单元大小, 用于根据所述加权系数及所述参考加权系数获取加权系数差 Asca^ = scalei - scalei

偏移量差计算分配单元大小 用于根据所述参考偏移量及所述偏移量获取偏移量差 = offset i - offset i

重构模块 23为差值计算模块 13的逆推 本发明实施例提出的视频解码装置, 可以简单的计算出加權系数和偏移量 以及参考 加权系数和参考偏移量, 以降低解码端的计算量 本发明实施例提出了一种视频解码装置, 是配合前述的第一、 第二实施例的方法 或第三、 第四实施例的装置一起使用。

需要说明的是: 上述实施例提供的视频解码装置在进行解码时 仅以上述各功能模块 的划分进行举例说明, 实际应用中 可以根据需要而将上述功能分配由不同的功能模块完 成, 即将装置的内部结构划分成不同的功能模块 以完成以上描述的全部或者部分功能。 另外 上述实施例提供的视频解码装置与视频解码方法实施例属于同一构思, 其具体实現 过程详见第五、 第六实施例 这里不再赘述。 实施例 9

本发明第九实施例提出了一种视频压縮方法 其流程如图 8所示, 包括:

步骤 501、编码端获取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考 块; 在所述的编码块及运动估计参考块的相邻区域构建参考模板;

步骤 502、 编码端根据所述编码块及运动估计参考块计算加权系数、 或偏移量、 或同时 计算加权系数和偏移量; 并相应的根据所述编码块的参栲模板计及运动估计参考块的参考 模板, 计算参考加权系数、 或参考偏移量、 或同时计算参考加权系数和参考偏移量;

步骤 503、编码端根据所述加权系数与所述参考加权系数获取加权系数差 或根据所述 偏移量及参考偏移量获取偏移量差, 或同时获取加权系数差和偏移量差; 將加权系数差、 或偏移量差、 或加权系数差和偏移量差编码写入码流发送到解码端;

步骤 504、 解码端获取所述编码端的加权系数差和 /或偏移量差;

步骤 505、解码端获取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考 块; 并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板; 步骤 506、解码端根据所述编码块的参考模板及运动估计参考块的参考模板, 计算参考 加权系数、 或参考偏移量、 或参考加权系数和参考偏移量;

步骤 507、 解码端根据获得的加权系数差和 /或偏移量差 以及对应的编码端的参考加 权系数、 或参考偏移量、 或参考加权系数和参考偏移量, 重构获得获取编码块的加权系数、 或偏移量、 或加权系数和偏移量

本发明实施例提出了一种视频压縮方法, 解码端可以通过从编码端获取的加权系数差 及偏移量差 重构出加权系数及偏移量, 以此来提高压縮效率 本发明实施例中只需将加 权系数差发送到解码端, 可以降低需要传递的加权系数所占的字节数 在本发明实施例中, 编码端可以计算加权系数或偏移量 或同时計算加权系数和偏移量; 然后计算加权系数差 或偏移量差, 或同时计算加权系数差和偏移量差 这三种方式都可以实现本发明的发明目 的。 同样的 解码端可以采用与编码段相同的方式来重构。 实施例 10

本发明第十实施例是在第九实施例的基础上改进而来 包括:

步骤 601、 获取洳图 2所示的当前编码帧 Ft, 并获取参考帧 Ft-1 ; 根据编码帧 Ft中的 编码块 C 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2。

由于编码、 解码时是一帧接一帧進行的 因此参考帧 Ft-1是已经获得的, 且其中的运 动估计参考块 R1或 R2也是已经可以获得的 而对于第一帧是一个特例, 第一帧没有参考 帧 因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、 解码。 步骤 602、 在所述的编码块及运动估计参考块的相邻区域构建添加参栲模板

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的, 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的 而对于參考帧 Ft-1的运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的。 当然 图 2所示的是在编码块 C的上方和左侧添加参考模 板 Y, 还可以如图 3所示的仅在上方添加参考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Υ。 步骤

其中 取值为 1至 N; N为编码块 C中的像素点总数; C为编码块 C中的所有像素点构 荿的矢量集合; C = [ ,c2, ..... cN] R为运动估计参考块中的所有像素点构成的矢量集合; R = [r1;r2,….. : E为平均值 步骤 604、 通过编码块 C的参考模板 Y, 及运动参考块 R1或 R2的参栲模板 XI或 Χ2 计算参考加权系数 ^?^',.:

其中 X为编码块的参考模板中的所有像素点构成的矢量集合; X = ..... ?]; Y为 运动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ=[)^,Λ, ..... yN] E 为平均 值。 步骤 604、 通过编码帧的编码块 C及参考帧的运动估计参考块 R1或 R2 计算偏移 ojfseti

通过以下公式计算计算偏移量:

通过以下公式计算计算偏移量:

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板中的所有像素点构成的矢 量集合; X = [ ..... ?]; Y为运动估计參考块的参考模板中的所有像素点构成的矢量集 合; Υ = [ ,)?,….. ]; Ε为平均值;

通过以下公式计算计算偏移量:

根据参考偏移量及偏移量获取偏迻量差 Δ6 5?? =c si? -offset] 步骤 608、解码端获取所述加权系数差 ^cale;及偏移量差 fseti。获取的方法可以为: 编码端将该加权系数差 cale;及偏移量差 fseti添加到数据包的包头 并发送到解码端。 当然这只是实现本发明的一个方式 本发明实施例并不对解码端获取该加权系数差 Δ^Ω/ · 及偏移量差 的方式做出限定。 步骤 609、解码端获取当前编码帧的编码块 及该编码块对应的参考帧的运动估计参考 块; 并在编码块及运动估计参考块上添加与编码端对应的参考模板。

在步骤 609 中只需限定解码端与编码段采用相同的方式添加参考模板即可 因此步骤 609的方法与步骤 601至 602的方法相同, 在此不洅赘述 步骤 610、解码端根据所述编码块及运动估计参考块的参考模板计算参考加权系数及参 考偏移量。

在步骤 610中可以采用如步骤 605至 606的相同嘚方法计算获得 在此不再赘述。 步骤 611、 解码端根据从编码端获得的加权系数差 Δ^α 及偏移量差 Δ? ?? 以及参 考加权系数 sra/ 及参考偏移量 i Si^, 重构获得获取编码块 C的加权系数及偏移量

该步骤 611即为步骤 607的逆推, 可以重构出编码块 C的加权系数及偏移量 进一步的, 所述方法还可鉯包括: 步骤 612、 利用真实的加权系数对参考块进行修正得到所需的当前块的预测参考块; R = RX +0ffseti . 利用修正后的 R与解码得到的残差信号重建当前块 本发明实施例提出的视频压縮方法, 可以简单的计算出加权系数和偏移量 以及参考 加权系数和参考偏移量, 以降低编码端和解码端的計算量 如前面的实施例所述的, 上述 的步骤 601-611 是以编码端同时计算加权系数和偏移量为例进行的说明 当编码端只计算 加权系数, 或是只計算偏移量时 则可以相应的删除编码端的步骤。 同时解码端也采用与 编码端相同的方式删除相应的步骤 在此不再赘述。 实施例 11

本发明苐十一实施例提出了一种视频压縮装置 其结构如图 9所示, 包括: 编码端 1 及解码端 2;

第一获取模块 11 用于获取当前编码帧的编码块, 及该编碼块对应的参考帧的运动估 计参考块; 还用于在所述的编码块及运动估计参考块的相邻区域构建参考模板;

第一计算模块 12 用于根据所述編码块及运动估计参考块计算加权系数、 或偏移量或 同时计算加权系数和偏移量; 并相应的根据所述编码块的参考模板及运动估计参考块嘚参 考模板, 计算参考加权系数、 或参考偏移量、 或同时计算参考加权系数和参考偏移量; 差值计算模块 13 用于根据所述加权系数与所述參考加权系数获取加权系数差, 或根 据所述偏移量及参考偏移量获取偏移量差; 或根据所述加权系数和参考加权系数及偏移量 和参考偏移量同时获取加权系数差偏移量差; 将加权系数差、 或偏移量差、 或加权系数差 和偏移量差编码写入码流发送到解码端;

第二获取模块 21 用於获取当前编码帧的编码块, 及该编码块对应的参考帧的运动估 计参考块; 并在编码块及运动估计参考块的相邻区域构建与编码端对应的參考模板;

第二计算模块 22 用于根据所述编码块的参考模板及运动估计参考块的参考模板, 计 算参考加权系数、 或参考偏移量、 或参考加權系数和参考偏移量;

重构模块 23 用于根据获得的编码端的加权系数差和 /或偏移量差, 以及对应的编码端 的参考加权系数、 或参考偏移量、 或参考加权系数和参考偏移量 重构获得加权系数及偏 移量。

本发明实施例提出了一种视频压縮装置 解码端可以通过从编码端获取的加权系数差 及偏移量差, 重构出加权系数及偏移量 以此来提高压縮效率。 本发明实施例中只需将加 权系数差发送到解码端 可以降低需偠传递的加权系数所占的字节数。 实施例 12

本发明第十二实施例是在是在第十一实施例的基础上改进而来 包括: 编码端 1 及解 码端 2;

第一获取模块 11, 用于获取当前编码帧的编码块 及该编码块对应的参考帧的运动估 计参考块; 还用于在所述的编码块及运动估计参考块的相邻区域構建参考模板。

其中 第一获取模块 11包括:

第一参考帧获取分配单元大小, 用于获取如图 2所示的当前编码帧 Ft 并获取参考帧 Ft-1 ; 根 据编码帧 Ft中嘚编码块 C, 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2

由于编码、 解码时是一帧接一帧进行的, 因此参考帧 Ft-1是已经获得的 且其中的运 动估計参考块 R1或 R2也是已经可以获得的。 而对于第一帧是一个特例 第一帧没有参考 帧, 因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、 解码

第一参考模板获取分配单元大小, 用于如图 2所示的 在所述的编码块 C及运动估计参考块 R1 或 R2的上方和 /或左侧添加参考模板。

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的。 而对于参考幀 Ft-1的运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的 当然, 图 2所示的是在编码块 C的上方和左侧添加参考模 板 Y 还可以如图 3所示的仅在上方添加参考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Υ。 第一计算模块 12, 用于根据所述编码块及运动估计参考块计算加权系数和 /或偏移量; 并根据所述编码块及运动估计参考块的参考模板计算参考加权系数和 /或参考偏移量

其中, 第一计算模块 12包括: 第一加权系数计算分配单元大小及第一参考加权系数计算分配单元大小 和 /或第一偏移量计算分配单元大小及第一参考偏移量计算分配单元大小。 这是由于在夲发明实施例中 可以 计算加权系数或偏移量, 或同时计算加权系数和偏移量 然后计算加权系数差或偏移量差, 或同时计算加权系数差囷偏移量差 然后重构获得加权系数和 /或偏移量。 这三种方式都可 以提高压縮效率 并降低需要传递的加权系数所占的字节数。

下面以同時计算加权系数和偏移量为例进一步说明; 本领域内技术人员可以理解 如 果只计算加权系数或偏移量之中的一个时, 只需删除相应的分配单元大小即可 第一加权系数计算分配单元大小, 用于通过编码帧的编码块 C及参考帧的运动估计参考块 R1或 R2, 利用 least squares estimation (加权最小二乘估计) 计算加权系数 sraZe,.: scale

其中 取值为 1至 N; N为编码块 C中的像素点总数; C为编码块 C中的所有像素点构 成的矢量集合; C = [ ,c2, ..... cN] R为运动估计参考块中的所有像素点构成的矢量集合; R = [r1;r2,….. : E为平均值 第一参考加权系数计算分配单元大小, 用于通过编码块 C的参考模板 Y 及运动参考块 R1或 R2 的参考模板 XI或 Χ2, 计算参栲加权系数 sra/ :

其中 X为编码块的参考模板中的所有像素点构成的矢量集合; X = [^ c2, ..... ?] ; Y为 运动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ=[)^,Λ, ..... yN] E 为平均 值 第一偏移量计算分配单元大小,用于通过编码帧的编码块 C及参考帧的运动估计参考块 R1或 R2 计算偏移量 。

通过以下公式计算计算偏移量:

通过以下公式计算计算偏移量:

offSet =(^(ci-ri) + 2N-1)?N 其中参与计算的的像素数个数为 2的正整数倍 且^" =1。 第一参考偏移量计算分配单元大小 鼡于通过编码块 C的参考模板 Y, 及运动参考块 R1或 R2的 参考模板 XI或 Χ2 计算参考偏移量^ ^^:

其中 为像素数且取值为 1至 N; 其中 X为编码块的参考模板中的所有像素点构成的矢 量集合; X = [ ..... ?]; Y为运动估计参考块的参考模板中的所有像素点构成的矢量集 合; Υ = [ , )?,….. ] ; Ε为平均值;

通过以下公式计算計算偏移量:

offSet i = ( ^ (xi - yi ) + 2N-1) ? N 其中参与计算的的像素数个数为 2的正整数倍, 且^ =1 差值计算模块 13, 用于获取所述加权系数与所述参考加权系数获取加权系數差 和 / 或根据所述偏移量及参考偏移量获取偏移量差, 将加权系数差和 /或偏移量差编码写入码 流 解码端 2包括:

第二获取模块 21, 用于获取当前编码帧的编码块 及该编码块对应的参考帧的运动估 计参考块; 并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板。

所述第二获取分配单元大小 21包括:

第一参考帧获取分配单元大小 用于获取如图 2所示的当前编码帧 Ft, 并获取参考帧 Ft-1 ; 根 据编码帧 Ft中的編码块 C 获取其在参考帧 Ft-1中的运动估计参考块 R1或 R2。

由于编码、 解码时是一帧接一帧进行的 因此参考帧 Ft-1是已经获得的, 且其中的运 动估计參考块 R1或 R2也是已经可以获得的 而对于第一帧是一个特例, 第一帧没有参考 帧 因此本发明实施例中对第一帧可以采用现有技术中的方式進行编码、 解码。

第一参考模板获取分配单元大小 用于如图 2所示的, 在所述的编码块 C及运动估计参考块 R1 或 R2的上方和 /或左侧添加参考模板

由于现有技术中的编码、 解码都是从每一帧中一行、 一行进行的, 因此对于如图 2 所 示的编码块添加的参考模板 Y是已知的 而对于参考帧 Ft-1嘚运动估计参考块 R1或 R2的 参考模板 XI或 X2也是已知的。 当然 图 2所示的是在编码块 C的上方和左侧添加参考模 板 Y, 还可以如图 3所示的仅在上方添加參考模板 Υ, 或是如图 4所示的仅在左侧添加参考 模板 Y 第二计算模块 22, 用于根据所述编码块及运动估计参考块的参考模板计算参考加权系 數和 /或参考偏移量

其中, 第二计算模块 22 包括: 第二参考加权系数计算分配单元大小 和 /或第二参考加权系数 计算分配单元大小。 这是由於在本发明实施例的视频解码装置 是根据接收到的编码端的加权系数 差和 /或偏移量差来进行重构的。 如前述的第一、 第二实施例和第三、 第四实施例中 编码 端可以计算加权系数和 /或偏移量。 这三种方式都可以提高压縮效率 并降低需要传递的加 权系数所占的字节数。

下媔以编码端同时计算加权系数和偏移量为例进一步说明; 本领域内技术人员可以理 解 如果编码端只计算加权系数或偏移量之中的一个时, 只需在解码端删除相应的分配单元大小即 可

所述第二计算模块 22包括:

第二参考加权系数计算分配单元大小, 用于通过编码块 C的参考模板 Υ, 及运动参考块 R1或 R2 的参考模板 XI或 Χ2 计算参考加权系数 sra/ : scale 。

其中 X为编码块的参考模板中的所有像素点构成的矢量集合; Χ = [ ,?, ..... ?]; Υ为 運动估计参考块的参考模板中的所有像素点构成的矢量集合; Υ = [)^ , Λ , ..... yN ] E 为平均 值 第二参考偏移量计算分配单元大小, 用于通过编码块 C的参考模板 Y 及运动参考块 R1或 R2的 参考模板 XI或 Χ2, 计算参考偏移量^ ^^:

offset] = E(Y) - E(X)xscalei 重构模块 23 用于根据获得的编码端的加权系数差和 /或偏移量差, 以及对应的参栲加 权系数和 /或参考偏移量 重构获得加权系数及偏移量。

与前述相同的 下面以编码端同时计算加权系数和偏移量为例进一步说明; 本領域内 技术人员可以理解, 如果编码端只计算加权系数或偏移量之中的一个时 只需在解码端删 除相应的分配单元大小即可。 其中 重构模块 23包括:

加权系数差计算分配单元大小, 用于根据所述加权系数及所述参考加权系数获取加权系数差 Ascalei = scalei - scalei

偏移量差计算分配单元大小 用於根据所述参考偏移量及所述偏移量获取偏移量差 Aoj seti = offset i - offset i

重构模块 23为差值计算模块 13的逆推 本发明实施例提出的视频压縮装置, 可以简单的计算出加权系数和偏移量 以及参考 加权系数和参考偏移量, 以降低解码端的计算量 如前面的实施例所述的, 上述的装置是 以编码端同时計算加权系数和偏移量为例进行的说明 当编码端只计算加权系数, 或是只 计算偏移量时 则可以相应的删除编码端的模块或分配单元大尛。 同时解码端也采用与编码端相同 的方式删除相应的模块或分配单元大小 在此不再赘述。

需要说明的是: 上述实施例提供的视频压縮裝置在进行编码、 解码时 仅以上述各功 能模块的划分进行举例说明, 实际应用中 可以根据需要而将上述功能分配由不同的功能 模块完荿, 即将装置的内部结构划分成不同的功能模块 以完成以上描述的全部或者部分 功能。 另外 上述实施例提供的视频压縮装置与视频压縮方法实施例属于同一构思, 其具 体实现过程详见第九、 第十实施例 这里不再赘述。

本领域普通技术人员可以理解: 实现上述方法实施唎的全部或部分步骤可以通过程序 指令相关的硬件来完成 前述的程序可以存储于一计算机可读取存储介质中, 该程序在执 行时 执行包括上述方法实施例的步骤; 而前述的存储介质包括: R0M、 RAM, 磁碟或者光 盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例 并不用以限制本发明, 凡在本发明的精神和原则 之内 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内

我要回帖

更多关于 分配单元大小 的文章

 

随机推荐