学术论文
"#$ %&’ (’) *$)
文章编号! !""$%#!!$ "&""’# "’%""("%")
!"#$% 的整数 &’( 变换编码与量化过程
张晓燕 谢珺堂
!北京理工大学信息科学技术学院电子工程系" 北京 !"""#!#
摘 要 *+&,( 是由 -./ 与 -01 两个国际组织共同联合开发的具有高编码效率$ 高压缩质量的视频新标准% *+
&,( 采用了(!( 块的无乘法整数变换编码算法" 不仅有效地降低了编解码的运算量 " 而且避免了反变换的误匹配问
题% 详细分析了 *+&,( 的整数 23. 变换的原理和实现" 并阐述了与变换编码相应的量化过程%
关键词 *+&,(" 整数 23. 变换" 量化
()* +,-*.*/ &’( (/0,123/4 0,5 670,-890-83, 8, !:;$%
45678 9:6;<67 9:= >?7@678
A2=B6C@D=7@ ;E FG=H@C;7:H F78:7==C:78I J=:K:78 -7L@:@?@= ;E .=H57;G;8- *+&,( :L @5= 7=O P:Q=; H;Q:78 L@67Q6CQ =L@6RG:L5=Q R< -./ 67Q -01! O5:H5 56L 5:85 H;Q:78 =EE:H:=7H<
67Q 5:85 H;DBC=LL:;7 S?6G:@<+ .5= ( !( @C67LE;CDL :7 *+&,( H67 R= H;DB?@=Q =T6H@G< :7 :7@=8=C 6C:@5D=@:H O:@5;?@
D?G@:BG:H6@:;7M @5?L D:7:D:U:78 H;DB?@6@:;76G H;DBG=T:@< 67Q 6P;:Q:78 :7P=CL= @C67LE;CD D:LD6@H5 BC;RG=DL+ VC:7H:BG= 67Q
:DBG=D=7@6@:;7 ;E @5= :7@=8=C 23. @C67LE;CD 67Q @5= H;CC=LB;7Q:78 S?67@:U6@:;7 6C= 676GY.N 共 同 负 责 开
发 ! 面 向 实 际 应 用 的 最 新 发 展 的 标 准 " 其 目 标 是 基 于 高 视
频 分 辨 率 ! 提 高 图 像 质 量 ! 并 能 够 覆 盖 所 有 低 带 宽 和 高 带
宽的应用 " *+&,( 是在 -./%. 增 强 型 多 媒 体 通 信 标 准 *+&,Z
基础上推出的能够为 -./%. 和 -01[-F3 共同使用的单一的新
一代视频编码标准! 并在技术上同 \VF] 标准形成体系"
*+&,( 与先前的标准相似 ! 对残差数据采用基于块的变
换 编 码 ! 变 换 编 码 可 以 去 除 原 始 图 像 的 空 间 冗 余 ! 使 图 像
能 量 集 中 在 一 小 部 分 系 数 上 ! 这 样 不 仅 可 以 提 高 压 缩 比 而
且 还 可 以 增 强 抗 干 扰 能 力 " *+&,( 采 用 的 变 换 是 近 似 23.
的 无 乘 法 整 数 变 换 ! 在 此 称 之 为 整 数 23. 变 换 " 需 要 注
意 的 是 ! 此 处 的 变 换 已 经 不 是 真 正 的 23.! 仍 称 其 为
23. 变 换 是 为 了 说 明 它 是 由 23. 推 导 而 来 的 ! 且 为 了 和 另
一 个 变 换 A*6Q6D6CQ 变 换N 相 区 别 " *+&,( 的 整 数 23. 变
换中 只 有 整 数 运 算 ! 消 除 了 浮 点 运 算 ! 减 少 了 运 算 量 ! 并
且 精 确 的 整 数 变 换 排 除 了 编 码 器 和 解 码 器 反 变 换 之 间 的 误
匹 配 问 题 "
& *+&,( 的变换与量化
&+! 整数 23. 变换
*+&,( 中 的 变 换 编 码 和 以 前 各 种 标 准 中 的 23. 有 所 不
同 ! 以 前 标 准 中 直 接 采 用 23. 的 定 义 进 行 变 换 ! 会 带 来 两
+,
军民两用技术与产品 !""!!!
个 问 题 # 第 一 ! 需 要 进 行 浮 点 数 操 作 ! 从 而 造 成 系 统 设 计
及 运 算 上 的 复 杂 性 $ 第 二 ! 由 于 变 换 核 都 是 无 理 数 ! 而 有
限 精 度 的 浮 点 数 不 可 能 精 确 地 表 示 无 理 数 ! 再 加 上 浮 点 数
的 运 算 可 能 会 引 入 舍 入 误 差 ! 这 就 使 得 在 具 体 实 现 时 会 导
致 编 解 码 的 不 匹 配 ! 即 反 变 换 的 输 出 结 果 和 正 变 换 的 输 入
不一致" 为了克服这些问题! *+&,( 采用基于 (!( 块的整数
操 作 而 不 是 实 数 运 算 ! 使 得 变 换 操 作 仅 用 整 数 加 减 和 移 位
操 作 就 可 以 完 成 ! 这 样 既 降 低 了 设 计 复 杂 度 ! 又 避 免 了 编
解 码 误 匹 配 等 问 题 ! 能 够 得 到 与 (!( 23. 变 化 类 似 的 编 码
效 果 ! 由 此 带 来 的 编 码 性 能 的 减 少 微 乎 其 微 " 此 整 数 变 换
中 无 乘 法 ! 采 用 基 于 提 升 结 构 的 无 乘 法 二 进 制 23. %J:7
23.&! 只包括加法和 !, 位算术移位 ! 这样大大减小了运算
复 杂 度 ! 尤 其 是 对 低 端 处 理 ! 减 少 了 乘 法 运 算 且 保 持 了 整
数 变 换 的 优 点 ! 精 确 的 整 数 排 除 了 编 码 器 和 解 码 器 之 间 反
变换的误匹配! 保证了变换的效果"
可以通过各种公式推导出整数 23. 正变换的公式#
+
(&
)
)
()
)
!!!!!!!!!!!!!!
.
,
(&
)
)
)
()
-
!!
![&
!
!
"
"
%!
!
"
"
!!!!!!!!!!!!!!!!!
!
!
"
""
!!!!!!!!!!!!!!!!
%![&
!
#
!
![&
%![&
%!
%![&
%!
!
’
)
)
)
(
)
)
)
*
!
!
"
"
!
"
"
!
"
""
![&
#
!
![&
%!
%!
!
%!
%!
!
(&
!
"
"
()
"
"
(&
"
""
()
#
()
)&
()
R&
$
%
%
%
%
%
%%
&!
!^
!
!
%!
!
%![&
$
%
%
%
9
%
%
%%
&
()
)&
()
R&
$
%
%
%
X!N
%
%
%%
&
式 X!N 中! 虽然乘以 ![& 的操作可以用右移来实现 ! 但
这样会产生截断误差 ! 因此! 将 ![& 提到矩阵外面! 并与右
边的点乘合并! 如式 %&& 所示"
_^X"# $% & N.’#
#
学术论文
"#$ %&’ (’) *$)
的 "9<989=< 变 换 & "*$%& 根 据 宏 块 编 码 的 特 性 采 用 亮 度 块
直 流 变 换 ’ 色 度 块 直 流 变 换 与 普 通 差 值 变 换 相 结 合 三 种 变
换方式 (如图 $ 所示$! 并 根 据 残 差 数 据 类 型 的 不 同 来 进 行
选择 & 亮 度 +, 系 数 采 用 &!& 的 矩 阵 (标 号 为"B$! 色 度 +,
系 数 采 用 $!$ 的 矩 阵 ( 标 号 为 B%’ BC$! 对 于 其 它 的 残 差
D, 系 数 都 采 用 &!& 的 块 来 变 换 (标 号"B#$5 是 变 换 时 所 代
表的块在码流中的顺序$&
例 如 ! 输 入 像 素 #/ E+FF4)4+!!G 到 输 出 系 数 !$ *,FF4)4
,!!+ 的整数变换过程定义如下%
+R!
+2!
+’!
+!!
+RR
#
)
+2R
)
)
)
+’R
)
))
+!R
%
2
2
I2
I’
2
I2
I2
’
2
I’
2
I2
+R’
+2’
+’’
+!’
+R2
+22
+’2
+!2
2
#
$
’
$
$
$
2
$
$$
2
%
&
’
’
’
’
’
’’
(
1/
&
’
’
’
’
’
’’
(
2
#
)
2
)
)
)
2
)
))
2
%
’
2
I2
I’
2
I2
I2
’
2
I’
’
I2
&
’
’
’
’
’
’’
(
这个变换矩阵可以运用于所有 &!& 块变换中 (除 B%!B%
帧内 +,$&
图 $ 中 标 号 为 FHB5 的 &!& 亮 度 块 的 B% 个 6789 +, 系
数是由 "9<989=< 变换得到的%
2
2
I2
I2
&
’
’
’
.-&
’
’
’’
(
2
I2
I2
2
2
I2
2
I2
2
2
I2
I2
2
#
)
2
)
)
2
)
)
))
2
%
2
#
)
2
)
)
2
)
)
))
2
%
&-&/
2
I2
I2
2
2
I2
2
I2
&
’
’
’
’
’
’’
(
每 个 $ !$ 色 度 分 量 的 & 个 ?@=A89 +, 系 数 也 是 由
"9<989=< 变换得到的%
B B
&-$/
B B
B I* +B
#-’
B I* +B
输出像素 ",的反变换系数 &,/ *,, 4 !/,, + 定义如下%
RR
!!
,
2
)
)
2
)
)
2
)
))
2
%
2
2Q’
I2Q’
I2
2
I2
I2
2
2Q’
I2
2
&
’
’
’
’
’
’’
(
,,
,
RR
)
)
,,
2R
)
)
,,
)
’R
))
,,
!R
%
,,
R2
,,
22
,,
’2
,,
!2
,,
R’
,,
2’
,,
’’
,,
!’
,,
R!
,,
2!
,,
’!
,,
!!
&
’
’
’
’
’
’’
(
,
2
)
)
2
)
)
2
)
))
2Q’
%
2
2Q’
I2
I2
.,/
I2Q’
I2
2
"9<989=< 变换的正变换和反变换形式一样&
"*’%& 解码器的反变换与反量化过程如图 ! 所示%
I2Q’
I2Q’
2
2
I2
2
&
’
’
’
’
’
’’
(
/
-
/
/
/
.
/
/
/
0
2
I2
I2
’
2
I2
I2
2
’
2
I2
I’
&
’
’
’
.
’
’
’’
(!
2
2
!!
,
)
I’
2
)
)
)
2
’
!!!!!!!!!!!!!!!!!
)
))
2
I2
!!!!!!!!!!!!!!!!
%
2
2
,
)
I’
’
)
)
)
2
2
)
))
2
I2
!!!!!!!!!!!!!!!!!
%
2
2
I2
I’
这就是 "#’%& 中所用到的整数变换公式! 其变换核 !"#!$
仅用加减法 (和左移) 即可 实 现 " 而 后 面 的 点 乘 操 作 可 以 合
并到随后的量化过程中去"
)’
#
)
)
)*Q’
)
)
)’
)
))
)*Q’
%
)’
)*Q’
)’
)*Q’
)*Q’
*’Q&
)*Q’
*’Q&
)*Q’
*’Q&
)*Q’
*’Q&
1
/
/
/
!
2
/
/
/
3
&
’
’
’
’
’
’’
(!
&
’
’
’
’
’
’’
(
(’0
"
"*’%& 中所用到的反 +,- 变换如式 #!$ 所示%
/
2
#
)
2
)
)
)
2
)
))
2
%
2
2Q’
I2Q’
I2
2
I2
I2
’
2Q’
I2
2
I2Q’
&
’
’
’
’
’
’’
(
./%$(&!’(0%(
)*
&
’
*’
’
’
’
)*
’
’’
P’
(
(
)’
#
)
)
)*
)
)
)’
)
))
)*
%
)’
)*
)’
)*
)*
*’
)*
P’
1!
-
/
/
/
.
/
/
/
0
1
/
/
/
2
/
/
/
3
2
#
)
2
)
)
)
2
)
))
2Q’
%
2
2Q’
I2
I2
2
I2Q’
I2
I2
2
I2
2
I2Q’
&
’
’
’
(!0
’
’
’’
(
其中与 1 点乘的操作与反量化合并! 乘以系数 23’ 的操
作 由 右 移 来 实 现 ! 由 于 反 量 化 后 的 结 果 足 够 地 大 ! 所 以 这
里不会出现截断误差的问题& 以上各式中! )/ 2
’
"*’%& 编码器的变换与量化过程如图 2 所示%
4*/
’
5" &
图 2 "#’%& 编码器变换与量化过程
图中输入 为 预 测 残 差 ! 输 出 为 准 备 进 行 熵 编 码 的 数 据 &
为了更 大 程 度 地 利 用 空 间 冗 余 ! "*’%& 在 对 2%!2%
的 6789 分 量 :亮 度 分 量0 的 2% 个 &!& 块 进 行 +,-
变 换 后 ! 将 每 个 &!& 块 的 +, 系 数 (还 没 有 经 过 量
化0 提取出来 ! 组 成 一 个 &!& 的 6789 +, 块 ! 对 其
再 进 行 &;& 的 哈 达 玛 ("9<989=<0 变 换 & 同 样 ! 对
>!> ?@=A89 分 量 # 色 度 分 量 $ 的 & 个 &!& 块 进 行
+,- 变 换 后 ! 也 将 每 个 &!& 块 的 +, 系 数 提 取 出
来 ! 组 成 一 个 $!$ 的 ?@=A89 +, 块 ! 对 其 进 行 $!$
图 ’ 亮度和色度宏块的 +, 变换系数分配图
图 ! "#$%& 解码器反变换与反量化过程
图 中 的 输 入 是 经 过 解 码 后 的 结 果 ! 输 出 的 数 据 加 上 预
测值后成为重建图像 & 需 要 注 意 的 是 ! 对 于 +, 系 数 :无 论
是 JKL=9MB%!B% 6789 +, 还 是 ?@=A89 +, )! 解 码 器 是 先 反 变
换 再 反 量 化 & NO. 是 指 将 +, 系 数 按 图 ’ 装 配 到 D, 系 数
中! 形成完整的 &!& 块! 用于后续的反 +,- 变换&
!""!!! 军民两用技术与产品
+,
学术论文
"#$ %&’ (’) *$)
!"#$% 的 整 数 &’( 变 换 可 以 分 做 两 步 完 成 ! 先 对 需 要
做 变 换 的 矩 阵 的 每 一 列 做 一 维 变 换 " 再 对 其 结 果 的 每 一 行
做 一 维 变 换 " 这 个 次 序 也 可 以 反 过 来 " 先 行 后 列 # 这 样 "
二 维 变 换 就 可 以 用 一 维 变 换 来 实 现 # 在 具 体 实 现 过 程 中 "
为 了 减 少 运 算 量 " 每 一 步 可 以 采 用 蝶 型 算 法 " 以 公 式 $)%
的 第 一 步 对 ! 的 第 一 列 进 行 一 维 变 换 为 例 " 其 运 算 过 程 如
式 $"% 所示!
!#*+!*,!-,!),!.
!#-+)!*,!-/!)0#!.
!##+!10!-0!),!.
!#.+!10)!-,"!)0!.
(%%
其中 !23 #+13&3. 为 ! 第 一 列 的 元 素 " !4$5 $+13&3. 为 滤
就同时被
的 公 式 所 使 用 " 所 以 可 将 其 暂 时 保 存 起 来 以 避
波结果’ 由 (%% 式可见计算有很多重复" 如 !16!.
计 算 !7$
免重复计算" 对应的蝶型算法如图 % 所示’
和 !4%
为 B7
位于 (&"’% 处的元素值’
其中" @A7
!9)$% 的 量 化 步 长 共 有 :) 种 " 每 个 宏 块 的 量 化 步 长 由
量化参数 ($)% 决定’ !9)$% 采用非均匀量化" 其量化步长
的规律是! $) 每增加 -" 量化步长就增加 -)9):B ?即 )
$
# 0
-C D 9@ 每 增 加 $" 量 化 步 长 就 增 加 一 倍 ’ 量 化 步 长 的 变 化
幅 度 控 制 在 -)9):B左 右 " 而 不 是 以 不 变 的 增 幅 变 化 " 这 样
就提高了码率控制的能 力 ’ 由 于 把 变 换 和 量 化 融 合 在 一 起 "
因而有效地减少了压缩编码的运算复杂性’
综 上 所 述 " !9)$% 变 换 采 用 了 -$ 位 整 数 算 法 " 在 没 有
损 失 精 确 度 的 情 况 下 " 避 免 了 反 变 换 的 无 匹 配 问 题 ’ 在 量
化 过 程 中 还 可 有 机 结 合 变 换 中 的 系 数 矩 阵 " 使 得 变 换 过 程
中 不 再 出 现 小 数 乘 法 问 题 " 并 且 在 量 化 过 程 中 巧 妙 地 回 避
了 除 法 运 算 ’ 图 : 是 !9)$% 正 向 变 换 量 化 和 反 变 换 反 量 化
的实现框图’
图 % 蝶型算法
. 结束语
图 : !9#$% 的正向变换量化和反变换反量化实现框图
由以上可 见 " 按 公 式 (%% 计 算 需 要 进 行 -) 次 加 法 " %
次乘法" 而图 % 中的蝶型算法仅需 8 次加法 " ) 次乘法 " 它
利用了运算中的冗余" 大大降低了运算量’
由 于 在 反 变 换 中 使 用 精 确 的 整 数 " 避 免 了 浮 点 &’( 中
逆 变 换 不 匹 配 的 问 题 ’ !9)$% 利 用 了 尺 度 &’( 的 思 想 " 在
变 换 中 并 不 进 行 归 一 化 运 算 " 而 是 放 在 量 化 和 反 量 化 过 程
中完成" 以此降低整个变换编码的运算量’
)9) 量化过程
!9)$% 对变换系数采用等比例标量量化" 其基本的前向
量化公式为
%&’()*+$,
-&’
! "
./012
为量化后的系数值" #&’
(:%
为变换后的输入系数值"
其中 "3’
为量化步 长 " ;<=2> ? @ 表 示 取 整 ’ &9%’" 标 准 在 常 规 量
$/012
化 的 基 础 上 又 考 虑 了 两 个 问 题 ! 如 何 将 变 换 过 程 中 的 点 乘
步骤一并考虑进来) 如何避免除法和浮点运算’
&9%’" 变换量化的全过程为! 对输入的 "(% 采样差值矩阵
! 进行前向变换 %&’456(
7 8 然后进行分级量化和缩放A "&% )*
9/0:2
’
本 文 分 析 了 !9)$% 标 准 的 整 数 变 换 和 量 化 的 原 理 和 实
现’ 从 总 体 上 看 " !9)$% 采 用 了 新 型 的 %(% 整 数 变 换 编 码 "
在 量 化 过 程 中 结 合 了 变 换 系 数 " 使 得 量 化 和 变 换 具 有 更 好
的 效 果 和 更 高 的 压 缩 效 率 ’ !9)$% 的 整 数 &’( 变 换 具 有 很
多 优 点 " 例 如 ! 变 换 采 用 了 %(% 像 素 块 进 行 变 换 能 够 降 低
图 像 的 块 效 应 ) 整 数 运 算 代 替 了 浮 点 运 算 " 有 效 地 提 高 了
计 算 速 度 " 避 免 了 反 变 换 误 匹 配 问 题 " 也 更 有 利 于 硬 件 实
现 实 时 系 统 等 等 ’ 因 此 " 整 数 变 换 将 代 替 &’( 变 换 成 为 变
换域编码的主要方法’
!9)$% 采用了一系列新的压缩技术" 获得了更高性能 的
压 缩 效 果 ’ 作 为 一 个 更 有 效 的 新 视 频 编 码 标 准 " 从 数 字 电
视 * 远 程 监 控 * 无 线 .E 网 络 " 到 FG 网 络 * 媒 体 的 存 储 格
式等" 它具有广阔的应用前景’
参考文献
H IJ=>K
R< IURVNLNVOJN<2 WF(X/(
YRV9 !9)$% Z FI[\F]’ -%%^$0-1 _T’@
9 SR< (ROQ WST(@
F(X/( IE-$ d9$@ $Je ‘RRJN2f3 _gOhN FiPO2>! SG3)11)! :jH.
) _9(OQeO2kO;" l9Y9YO<9 _2 [mR;mNRg R<\FQOfR G; ‘=PJNQR>NO ’&’()*+$? ;&’
@A7
9/0:2
"
($%
. !9#$%\‘G]E 0 %GO;J H1 ceNJR GOUR; 0(;O2iL<;Q q d=O2JNrOJN<29
b下转 %: 页@
ggg9mV<>Rs9V学术论文
"#$ %&’ (’) *$)
图 (
图 !
!! "#$%&’
图 .
!! )#$%&’
图 -
!! (#$%&’
从 图 中 可 以 看 到 ! 不 同 车 速 下 ! 各 阶 振 型 的 权 重 发 生
了 变 化 ! 在 车 速 为 "#$%&’ 和 (#$%&’ 情 况 下 ! 俯 仰 振 动 和
二阶弯 曲 振 动 比 较 明 显 " 而 在 车 速 为 )#$%&’ 情 况 下 ! 垂 直
振 动 和 一 阶 弯 曲 振 动 比 较 明 显 # 多 轴 汽 车 的 行 驶 设 速 和 各
车 轴 之 间 的 轴 距 产 生 的 各 车 轮 路 面 输 入 的 时 间 延 迟 是 产 生
这种现象的原因! 各车轴路面输入在时域内的滞后时间 !"#$!
转换到频域就是滞后相角 !!"% 车速 不 同 ! 相 位 差 就 不 同 !
对悬挂质量的弯曲振动的激励就不同#
( 结 论
$*% 多 轴 汽 车 悬 挂 质 量 的 柔 性 是 影 响 其 响 应 的 重 要 因
素 ! 多 轴 汽 车 的 柔 性 模 型 能 够 更 准 确 的 描 述 多 轴 汽 车 的 振
动特性&
$+% 柔 性 模 型 能 够 描 述 由 于 车 速 和 轴 距 的 滤 波 作 用 对
多 轴 汽 车 悬 挂 质 量 各 阶 振 动 的 激 发 程 度 的 影 响 ! 反 映 出 多
轴汽车振动特性与车速之间的复杂变化趋势&
$"% 路 面 等 级 的 变 化 只 影 响 多 轴 汽 车 的 振 动 强 度 ! 对
多轴汽车的振动特性的变化趋势没有影响&
参考文献
* 余志生, 汽车理论 $第二版% , 北京汽车工业出版社! *--.
+ 叶 先 磊 ! 史 亚 杰, /0121 工 程 分 析 软 件 应 用 实 例,清 华 大 学 出 版
社3 +##"
" 何锋! 杨宁, 汽车动力学, 贵州科技出版社! +##"
) 杨波! 王学林 ! 胡于进 ! 李成刚, 基 于柔性模型的多轴汽车 平 顺
性仿真研究, 汽车工程! +##"4 +5657
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6上接 )+ 页7
) 89:;<=>9 1, ?@AB@;3 C9AADE3
FGGG3 /:HH< 8@AA@I>;D3 ?@;H@
5 倪 伟 ! 郭 宝 龙 ! 陈 龙 潭 ! 冯 宗 哲, 8,+() 变 换 编 码 和 量 化 算 法 的
J@;KL9E@:H