CN101466041A - 一种用于多核处理器的多视点视频编码的任务调度方法 - Google Patents

一种用于多核处理器的多视点视频编码的任务调度方法 Download PDF

Info

Publication number
CN101466041A
CN101466041A CN 200910077112 CN200910077112A CN101466041A CN 101466041 A CN101466041 A CN 101466041A CN 200910077112 CN200910077112 CN 200910077112 CN 200910077112 A CN200910077112 A CN 200910077112A CN 101466041 A CN101466041 A CN 101466041A
Authority
CN
China
Prior art keywords
frame
video
class
coding
image sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200910077112
Other languages
English (en)
Other versions
CN101466041B (zh
Inventor
孙立峰
庞一
胡伟栋
李彦洁
张凤妍
冯威
杨士强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 200910077112 priority Critical patent/CN101466041B/zh
Publication of CN101466041A publication Critical patent/CN101466041A/zh
Application granted granted Critical
Publication of CN101466041B publication Critical patent/CN101466041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种用于多核处理器的多视点视频编码的任务调度方法,属于视频编码领域。首先为获取视频的摄像机、接收的视频帧、图像组等编号,设置参数,根据编号和参数,参照设定的任务优先级设置方法,将优先级最高的视频帧分配到多核处理器的空闲核上,进行编码。上述设置编号和参数,挑选和分配视频帧以及编码过程同时进行。本发明方法的优点是在保持压缩效果不变的情况下,使得多视点视频编码在多核处理器上得到接近线型的加速比;针对多视点视频编码算法特点,选择以视频帧为并行粒度,该并行粒度大小适中;普适性强,具有自适应性,可以随着多核处理器种类的变化而自动调整,数据驱动的特性提高了处理器的利用效率。

Description

一种用于多核处理器的多视点视频编码的任务调度方法
技术领域
本发明涉及一种用于多核处理器的多视点视频编码的任务调度方法,属于视频编码领域。
背景技术
三维显示技术是关于自然视频场景渲染新技术发展的很有前途的领域之一。随着三维立体电视和自由视点视频的风行,计算机图形学、计算机视觉、多媒体技术和相关领域技术的融合促进了这些新媒体的发展。作为三维显示视频的核心技术,多视点视频技术本质上是使用多个照相机从不同角度获取关于一个物体图像,然后对多个角度的视频进行编码,再传输数据,然后解码,最后合成一个三维结果的过程。多视点视频和三维立体电视是新一代的交互式媒体服务,给用户带来全新的观看体验:用户可以自由地选择观看的视点,并且随时在不同视点间进行切换,在不佩戴眼镜的情况下获得三维的场景体验和感受。同传统二维电视相比,在视觉效果和用户交互性上的巨大优势,使得多视点视频/三维立体电视成为研究的热点,迅速发展和普及,将成为继数字电视后广播网络和宽带网络上新一代交互式媒体的重要应用。多视点视频技术解决了自由视点视频和三维交互式视频的展示,交互,编码和传输等问题。多视点视频已经刺激了自由视点、三维显示和高性能成像等技术应用的快速扩展。
多视点视频编码的标准已经推出最终的标准草稿,并且被应用在为便于传输和存储的多视点视频的压缩过程中。多视点视频编解码的完整标准预期在2009年发布。尽管所有这些多视点视频编解码的优势显示了客户市场的巨大潜力,但是巨大的计算需求阻碍了它的广泛应用。多视点视频编解码的数据传输和计算复杂度都随着视点的数量线性增长。随着多视点视频编解码应用的增加,实时编码的必要性越来越大。
随着计算机从单处理器进化为多核处理器,开发线程级的并行性为多媒体应用提供更好的表现和更多的功能。然而为多核处理器提出并行算法并不容易,接近于线性的加速更为困难。由于多核处理器变成了体系结构设计的趋势,所以多视点视频编解码要继续利用计算资源和良好的可并行性。
多视点视频编解码是视频编解码标准H.264/AVC的一个具有很好的并行性的扩展。由于多视点视频编解码的标准还未最终定稿,所以针对它的编码算法还比较少,目前已有的多视点视频编码的任务调度算法就更少了。之前已有的工作设计和实现了一种基于超空间理论的多视点视频编码任务调度方法。它使用一组帧作为并行粒度,针对多处理器平台设计,但是多个处理器平台不是体系结构发展的主流,其体积大,使用不方便,而这种任务调度方法的缺点是不适合多核处理器。之前已有的用于多核处理器的视频编码的任务调度方法,不是针对多视点视频编码而设计。它们的缺点体现在:数据并行的并行粒度对于多视点视频编解码太小,或者利用编码的过程各个步骤之间的并行性,缺乏可扩展性,当多核处理器的结构稍有变化时,性能不再优越,需要重新设计,普适性差。
发明内容
本发明的目的是提出一种用于多核处理器的多视点视频编码的任务调度方法,克服已有技术的缺点,使得多视点视频编码可以充分发挥各种多核处理器的处理能力,缩短视频编码时间,使多视点视频编码方法的应用更加广泛。
本发明提出的用于多核处理器的多视点视频编码的任务调度方法,包括以下步骤:
(1)设置N个摄像机,并使位置相邻的摄像机的编号相连,N=0,1,2,……,N—1;
(2)将由上述N个摄像机获取的所有视频帧分为五种类型,I帧类、P帧类、B2帧类、B3帧类和B4帧类,其中I帧类为:本视频帧的编码需要本帧的视频数据,P帧类为:本视频帧的编码需要本帧的视频数据和一个参考帧的视频数据,B2帧类为:本视频帧的编码需要本帧的视频数据和两个参考帧的视频数据,B3帧类为:本视频帧的编码需要本帧的视频数据和三个参考帧的视频数据,B4帧类为:本视频帧的编码需要本帧的视频数据和四个参考帧的视频数据;
(3)定义从N个摄像机得到的N路视频中,图像帧与图像帧之间的编码参考关系以设定的循环单元沿时间方向循环产生,最小的循环单元为一个图像组,将接收的视频分成图像组,并对图像组从1开始进行编号;
(4)若接收的视频帧为图像组中的第一个接收帧,则分别为图像组中的每个视频帧设定初始化参数,参数包括:该视频帧所在图像组的组编号a,该视频帧在图像组内的帧编号b,该视频帧编码时所参考的视频帧在图像组内的帧编号c;
(5)将接收的视频帧放到视频输入缓存中,当接收新的视频帧时,重复步骤(3)一(5);
(6)当上述视频输入缓存中,视频帧的上述所参考的视频帧在图像组内的帧编号不存在或全部为—1,将该视频帧排入任务队列;
(7)将上述任务队列中的视频帧分配到多核处理器的空闲核上,分配过程如下:
若编码程序要求优先对视频帧序列中获取时间点在前的视频帧编码,则获取时间点最前的视频帧的优先级最高,若编码程序要求编码时间最短,则编码时被参考的视频帧数目最多的视频帧优先级最高,若两个帧的优先级相同,则根据上述对视频帧分类,优先级从高到低依次为:I帧类、P帧类、B2帧类、B3帧类和B4帧类,从上述任务队列中挑选优先级最高的视频帧,并分配到多核处理器的空闲核上;
(8)多核处理器上的核对上述分配的视频帧进行视频编码,同时进行步骤(6)和步骤(7);
(9)当一个视频帧编码结束后,将该视频帧所在的图像组中,其它编码时需要参考该视频帧的每个视频帧的参数中,将与该视频帧的帧编号b相等的视频帧的帧编号c更新为-1,转至步骤(6)。
上述方法中,图像组内帧编号可以由两个数字组成,一个是获取该视频帧的摄像机编号,另一个是拍摄时间顺序从0开始的编号。
本发明提出的用于多核处理器的多视点视频编码的任务调度方法,其优点是:
1、本发明是一种用于多核处理器的多视点视频编码的任务调度方法,可以在多核处理器上,在保持视频压缩效果不变的情况下,使得多视点视频编码在多核处理器上得到接近线型的加速比。
2、本发明方法专门针对多核处理器设计,而多核处理器是未来处理器体系结构发展的方向,相对多处理器平台,多核处理器的体积小,运算能力强,因此本发明方法为未来处理器体系提供了先进的软件支持。
3、本发明方法以视频帧为并行单元,对于多视点视频编码算法,该并行单元的大小适中,使多视点视频编码在多核处理器上的编码速度更快。
4、本发明方法的普适性强,是自适应的多视点视频编码算法,可以随着多核处理器的变化而调整,不需要针对多核处理器的各个种类分别设计。
5、本发明方法由数据驱动,只要有可以被处理的数据,处理器就不会空闲,因此提高了处理器的利用效率。
附图说明
图1是本发明方法中多视点视频编码参考关系的一个实施例。
具体实施方法
以下结合附图介绍本发明的方法。
本发明提出的用于多核处理器的多视点视频编码的任务调度方法,包括以下步骤:
(1)设置N个摄像机,使位置相邻的摄像机的编号相连,N=0,1,2,……,N—1;
(2)将由上述N个摄像机获取的所有视频帧分为五种类型,I帧类、P帧类、B2帧类、B3帧类和B4帧类,其中I帧类为:本视频帧的编码需要本帧的视频数据,P帧类为:本视频帧的编码需要本帧的视频数据和一个参考帧的视频数据,B2帧类为:本视频帧的编码需要本帧的视频数据和两个参考帧的视频数据,B3帧类为:本视频帧的编码需要本帧的视频数据和三个参考帧的视频数据,B4帧类为:本视频帧的编码需要本帧的视频数据和四个参考帧的视频数据;
(3)定义从N个摄像机得到的N路视频中,图像帧与图像帧之间的编码参考关系以设定的循环单元沿时间方向循环产生,最小的循环单元为一个图像组,将接收的视频分成图像组,并对图像组从1开始进行编号;
(4)若接收的视频帧为图像组中的第一个接收帧,则分别为图像组中的每个视频帧设定初始化参数,参数包括:该视频帧所在图像组的组编号,设为a,该视频帧在图像组内的帧编号,设为b,由两个数字组成,一个是获取该视频帧的摄像机编号,另一个是拍摄时间顺序从0开始的编号,例如从第0个摄像机获取的第一个视频帧的编号为00,该视频帧编码时所参考的视频帧在图像组内的帧编号c,帧编号c的个数与上述视频帧分类相关,I帧没有参考视频帧,所以没有该视频帧编码时所参考的视频帧在图像组内的帧编号,P帧有一个编码时所参考的视频帧在图像组内的帧编号,设为c1,B2帧有两个编码时所参考的视频帧在图像组内的帧编号,设为c1和c2,B3帧有三个编码时所参考的视频帧在图像组内的帧编号,设为c1,c2和c3,B4帧有四个编码时所参考的视频帧在图像组内的帧编号,设为c1,c2,c3和c4,如图1所示,是8路多视点视频的一个图像组内部的视频帧编号,以及各帧之间的编码参考关系,编码参考关系由箭头表示,被箭头指向的帧需要参考发出箭头的帧,例如编号为41的视频帧,它的b参数是41,是B4帧,c1为40,c2为42,c3为01,c4为08;
(5)将接收的视频帧放到视频输入缓存中,当接收新的视频帧时,重复步骤(3)—(5);
(6)当上述视频输入缓存中,视频帧的上述所参考的视频帧在图像组内的帧编号不存在或全部为—1,将该视频帧排入任务队列;
(7)将上述任务队列中的视频帧分配到多核处理器的空闲核上,分配过程如下:
若编码程序要求优先对视频帧序列中获取时间点在前的视频帧编码,则获取时间点最前的视频帧的优先级最高,若编码程序要求编码时间最短,则编码时被参考的视频帧数目最多的视频帧优先级最高,若两个帧的优先级相同,则根据上述对视频帧分类,优先级从高到低依次为:I帧类、P帧类、B2帧类、B3帧类和B4帧类,从上述任务队列中挑选优先级最高的视频帧,并分配到多核处理器的空闲核上;
(8)多核处理器上的核对上述分配的视频帧进行视频编码,同时进行步骤(6)和步骤(7);
(9)当一个视频帧编码结束后,将该视频帧所在的图像组中,其它编码时需要参考该视频帧的每个视频帧的参数中,将与该视频帧的帧编号b相等的视频帧的帧编号c更新为-1,例如帧编号b为27的视频帧编码结束后,将与该视频帧同在一图像组内的帧编号b为17的视频帧和帧编号b为37的视频帧中,选择等于27的帧编号c更新为-1,转至步骤(6)。

Claims (2)

1、一种用于多核处理器的多视点视频编码的任务调度方法,其特征在于该方法包括以下步骤:
(1)设置N个摄像机,使位置相邻的摄像机的编号相连,N=0,1,2,……,N—1;
(2)将由上述N个摄像机获取的所有视频帧分为五种类型,I帧类、P帧类、B2帧类、B3帧类和B4帧类,其中I帧类为:本视频帧的编码需要本帧的视频数据,P帧类为:本视频帧的编码需要本帧的视频数据和一个参考帧的视频数据,B2帧类为:本视频帧的编码需要本帧的视频数据和两个参考帧的视频数据,B3帧类为:本视频帧的编码需要本帧的视频数据和三个参考帧的视频数据,B4帧类为:本视频帧的编码需要本帧的视频数据和四个参考帧的视频数据;
(3)定义从N个摄像机得到的N路视频中,图像帧与图像帧之间的编码参考关系以设定的循环单元沿时间方向循环产生,最小的循环单元为一个图像组,将接收的视频分成图像组,并对图像组从1开始进行编号;
(4)若接收的视频帧为图像组中的第一个接收帧,则分别为图像组中的每个视频帧设定初始化参数,参数包括:该视频帧所在图像组的组编号a,该视频帧在图像组内的帧编号b,该视频帧编码时所参考的视频帧在图像组内的帧编号c;
(5)将接收的视频帧放到视频输入缓存中,当接收新的视频帧时,重复步骤(3)—(5);
(6)当上述视频输入缓存中,视频帧的上述所参考的视频帧在图像组内的帧编号不存在或全部为—1,将该视频帧排入任务队列;
(7)将上述任务队列中的视频帧分配到多核处理器的空闲核上,分配过程如下:
若编码程序要求优先对视频帧序列中获取时间点在前的视频帧编码,则获取时间点最前的视频帧的优先级最高,若编码程序要求编码时间最短,则编码时被参考的视频帧数目最多的视频帧优先级最高,若两个帧的优先级相同,则根据上述对视频帧分类,优先级从高到低依次为:I帧类、P帧类、B2帧类、B3帧类和B4帧类,从上述任务队列中挑选优先级最高的视频帧,并分配到多核处理器的空闲核上;
(8)多核处理器上的核对上述分配的视频帧进行视频编码,同时进行步骤(6)和步骤(7);
(9)当一个视频帧编码结束后,将该视频帧所在的图像组中,其它编码时需要参考该视频帧的每个视频帧的参数中,将与该视频帧的帧编号b相等的视频帧的帧编号c更新为-1,转至步骤(6)。
2、如权利要求1所述的方法,其特征在于其中所述的图像组内帧编号由两个数字组成,一个是获取该视频帧的摄像机编号,另一个是拍摄时间顺序从0开始的编号。
CN 200910077112 2009-01-16 2009-01-16 一种用于多核处理器的多视点视频编码的任务调度方法 Active CN101466041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910077112 CN101466041B (zh) 2009-01-16 2009-01-16 一种用于多核处理器的多视点视频编码的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910077112 CN101466041B (zh) 2009-01-16 2009-01-16 一种用于多核处理器的多视点视频编码的任务调度方法

Publications (2)

Publication Number Publication Date
CN101466041A true CN101466041A (zh) 2009-06-24
CN101466041B CN101466041B (zh) 2010-09-15

Family

ID=40806353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910077112 Active CN101466041B (zh) 2009-01-16 2009-01-16 一种用于多核处理器的多视点视频编码的任务调度方法

Country Status (1)

Country Link
CN (1) CN101466041B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977313A (zh) * 2010-09-20 2011-02-16 中国科学院计算技术研究所 视频信号编码装置和方法
CN102256124A (zh) * 2011-06-30 2011-11-23 杭州海康威视软件有限公司 一种图像分层编码方法和装置
CN103218259A (zh) * 2012-01-18 2013-07-24 辉达公司 计算任务的调度和执行
CN106937052A (zh) * 2017-03-29 2017-07-07 维沃移动通信有限公司 一种图像数据的处理方法及移动终端
US9715413B2 (en) 2012-01-18 2017-07-25 Nvidia Corporation Execution state analysis for assigning tasks to streaming multiprocessors
CN107608784A (zh) * 2017-06-28 2018-01-19 西安微电子技术研究所 一种在多核dsp下的海量数据流多模态调度方法
CN108024112A (zh) * 2016-11-02 2018-05-11 北京金山云网络技术有限公司 一种视频编码方法及装置
CN108460307A (zh) * 2012-10-04 2018-08-28 康耐视公司 具有多核处理器的符号读取器以及其运行系统和方法
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN113255559A (zh) * 2021-06-09 2021-08-13 深圳市速腾聚创科技有限公司 数据处理方法、装置及存储介质
CN115119009A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 视频对齐方法、视频编码方法、装置及存储介质
US11927672B2 (en) 2021-06-09 2024-03-12 Suteng Innovation Technology Co., Ltd. Obstacle detection method and apparatus and storage medium

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977313A (zh) * 2010-09-20 2011-02-16 中国科学院计算技术研究所 视频信号编码装置和方法
CN101977313B (zh) * 2010-09-20 2012-11-21 中国科学院计算技术研究所 视频信号编码装置和方法
CN102256124A (zh) * 2011-06-30 2011-11-23 杭州海康威视软件有限公司 一种图像分层编码方法和装置
CN102256124B (zh) * 2011-06-30 2013-05-15 杭州海康威视数字技术股份有限公司 一种图像分层编码方法和装置
CN103218259A (zh) * 2012-01-18 2013-07-24 辉达公司 计算任务的调度和执行
US9715413B2 (en) 2012-01-18 2017-07-25 Nvidia Corporation Execution state analysis for assigning tasks to streaming multiprocessors
CN108460307A (zh) * 2012-10-04 2018-08-28 康耐视公司 具有多核处理器的符号读取器以及其运行系统和方法
CN108024112A (zh) * 2016-11-02 2018-05-11 北京金山云网络技术有限公司 一种视频编码方法及装置
CN108024112B (zh) * 2016-11-02 2020-02-28 北京金山云网络技术有限公司 一种视频编码方法及装置
CN106937052A (zh) * 2017-03-29 2017-07-07 维沃移动通信有限公司 一种图像数据的处理方法及移动终端
CN107608784A (zh) * 2017-06-28 2018-01-19 西安微电子技术研究所 一种在多核dsp下的海量数据流多模态调度方法
CN107608784B (zh) * 2017-06-28 2020-06-09 西安微电子技术研究所 一种在多核dsp下的海量数据流多模态调度方法
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
WO2020199050A1 (zh) * 2019-03-29 2020-10-08 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN113255559A (zh) * 2021-06-09 2021-08-13 深圳市速腾聚创科技有限公司 数据处理方法、装置及存储介质
CN113255559B (zh) * 2021-06-09 2022-01-11 深圳市速腾聚创科技有限公司 数据处理方法、装置及存储介质
US11927672B2 (en) 2021-06-09 2024-03-12 Suteng Innovation Technology Co., Ltd. Obstacle detection method and apparatus and storage medium
CN115119009A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 视频对齐方法、视频编码方法、装置及存储介质
CN115119009B (zh) * 2022-06-29 2023-09-01 北京奇艺世纪科技有限公司 视频对齐方法、视频编码方法、装置及存储介质

Also Published As

Publication number Publication date
CN101466041B (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
CN101466041B (zh) 一种用于多核处理器的多视点视频编码的任务调度方法
Aggoun et al. Immersive 3D holoscopic video system
CN101002471B (zh) 对图像编码的方法和设备及对图像数据解码的方法和设备
CN101588488B (zh) 多机位流媒体播放方法及系统
WO2021093584A1 (zh) 基于深度卷积神经网络的自由视点视频生成及交互方法
CN109076240A (zh) 将全向图像映射到布局输出格式的方法和装置
Balogh et al. Real-time 3D light field transmission
Bilal et al. Crowdsourced multi-view live video streaming using cloud computing
CN112738010A (zh) 数据交互方法及系统、交互终端、可读存储介质
CN101466038B (zh) 一种立体视频编码方法
CN101742349A (zh) 一种对三维场景的表达方法及其电视系统
CN105847778B (zh) 360°多视点3d全息视频采集方法、设备及实现方法
CN102547228A (zh) 基于本地存储和分辨率分级传输的高清网络视频监控系统
CN108833809A (zh) 一种视频混流控制方法、装置、系统、设备及介质
CN112738495A (zh) 虚拟视点图像生成方法、系统、电子设备及存储介质
CN106060652A (zh) 一种视频码流中全景信息的标识方法和标识装置
CN107707830B (zh) 基于单向通信的全景视频播放拍照系统
CN103533353B (zh) 一种近似视频编码系统
Hu et al. Mobile edge assisted live streaming system for omnidirectional video
Sanchez et al. Random access point period optimization for viewport adaptive tile based streaming of 360° video
CN102111637A (zh) 生成立体视频深度图的方法及装置
CN101465884B (zh) 一种基于对等覆盖网络协作的多视点视频编码的传输方法
CN103260090B (zh) 一种用于p2p三维流媒体系统中的视频段调度及传输方法
US20210297715A1 (en) System and method for content-layer based video compression
CN111726598A (zh) 图像处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant