数据分区
H.264标准将语法元素分为最多三个不同的分区,以进行基于优先级的传输。 例如,通常头信息、运动矢量和其它预测信息的传输优先级高于表示视频内容的语法元素。这种数据分区主要是为了提高传输错误的鲁棒性而设计的,并非用于并行化。实际上,并行处理头部的几个字节和详细视频数据的很多字节将是无效的。但是,视频数据可以以多种不同的方式进行分区,使其适合于并行化并提高性能。未压缩和压缩的视频数据都可以划分为独立的部分,因此视频编码和解码操作都可以从数据分区中受益。
在视频编码并行化中,数据分区起到重要作用。将视频序列按照时间维度分割为多个独立的子序列,并以流水线的方式同时处理分割之后的多个独立的子序列。至少存在几个子序列必须可用来填充流水线阶段。因此,这种类型的分区适用于脱机视频编码1。空间分区则将视频帧分为多个同时进行编码的不同部分。由于一次只能输入一帧,因此这种分区适用于在线和低延迟编码应用程序,这些应用程序逐帧处理视频。显然,视频子序列的并行编码处理的数据粒度较粗,可以将其进一步划分为较细粒度的数据:例如单个帧的一部分,例如切片(slices)、切片组(slices group)、图块(tiles)或波前(wavefronts)。
1. I. Ahmad, S. M. Akramullah, M. L. Liou, and M. Kafil, “A Scalable Off-line MPEG-2 Video Encoding Scheme Using a Multiprocessor System. ↩