一种用于多核并行视频编码和解码的共享内存接口的制作方法_4

文档序号:9567467阅读:来源:国知局
ade;r[i](核屯、序号i从0 - 3)开始,使用相应的空区首地址void_buffe;r[i],依次设置 共享图像数据各个P维数组第P-I级表内容,使每个地址依据发明步骤(42)的全局行坐标 到局部行坐标的映射关系指向共享内存中的一行数据,如图9所示,其中语法符号和处理 状态的数组都是双份的,具体步骤如下:
[0081] (251)上一数组设置完后,核屯、#1~4的空区首地址VOicLbuffer[i]已全部64 对齐,按照核屯、序号i从0 - 3的顺序把VOidJxiffer山赋给当前P维数组第p-1级表内 偏移iX行数灯分量16行,U和V分量8行,语法符号1行)的指针,使其指向共享内存中 该核屯、的首行数据,并且令VOicLbuffer[i]增加该核屯、64对齐的数据长度,即当前P维数 组数据总长度的^ ;接着按照核屯、序号0 - 3交替设置当前P维数组第P-I级表后续地址, 使每个地址依据步骤(42)的全局行坐标到局部行坐标的映射关系指向共享内存中的一行 数据,如图9所示;其中Y分量设16个分别指向16个像素行的指针,U或者V分量设8个 分别指向8个像素行的指针,语法符号或者处理状态设一个指向一个宏块行的指针;
[0082] (252)循环执行步骤(251),直到完成当前P维数组第P-I级表。
[0083] 其中设置参考帖S维数组img-〉mref的C代码如下:

[0086] (27)核屯、#0用ilib_msg_b;roadcast通过组内广播经过iMesh网发送共享图像数 据所有P维数组第p-1级表内容,同时核屯、#1~4用ilib_msg_b;roadcast接收共享图像 数据所有P维数组第P-I级表内容。
[0087] (3)解码中数据访问和重建图像输出
[0088] 解码中各个核屯、只能用数组名[行坐标][列坐标]或者数组名[行坐标]+列坐 标访问共享的图像数据。其中用S维数组img-〉mref[参考帖号][像素行坐标][像素列 坐标]或者img-〉mref[参考帖号][像素行坐标]+像素列坐标访问参考帖。用子图像局 部行坐标访问图像数据时需要先用
【发明内容】
步骤(42)的映射关系把局部行坐标转换为全 局行坐标。输出重建图像时先用数组名[行坐标]的方法取得重建图像YUV分量每个像素 行首地址,再逐行从各个核屯、的子图像转存到正常存储的一帖输出图像,伪C代码如下:
【主权项】
1. 一种用于多核并行视频编码和解码的共享内存接口,包括数据结构和创建、使用方 法,其特征在于,按W下步骤创建数据结构: (11) W等分原则划分HxW图像的图像数据及其视频编码或者解码的部分任务到m个核 屯、,每个核屯、处理hxW子图像的视频编码或者解码的部分任务,h=「^+0:,到'(□为取整数 _m 运算符号); (12)m个核屯、调用多核DSP软件开发环境SDK提供的共享内存开辟方法在共享内存中 开辟一段连续存储空间,长度为分给本核屯、的子图像的数据在相对二级缓存行宽对齐时的 数据总长度,也就是全体图像数据总长度的1/m,然后把系统返回的一块数据首地址通过核 间消息发到组内任意一个指定核屯、A; (13) 所有核屯、调用多核DSP软件开发环境提供的私有内存开辟方法在私有内存中开 辟一段连续存储空间,长度为访问全体图像数据所用的按行存储的P维数组的第1~P-1 级表在相对二级缓存行宽对齐时的数据总长度,并且从系统返回的一块数据区首地址开始 设置,使P维数组的第1~P-1级表内容指向运块私有内存区域; (14) 核屯、A从步骤(11)所述的m个核屯、开辟的数据区首地址开始依次设置图像数据 所有P维数组的第P-1级表内容,使每个地址依据步骤(41)或者(42)的完整图像全局行 坐标到核屯、序号及其子图像局部行坐标的映射关系指向共享内存中的一行数据; (15) 核屯、A把图像数据所有P维数组的第P-1级表内容通过组内广播经过核间高速互 连网络送达所有核屯、; 于是图像数据所有P维数组的数组变量W及第1~P-1级表构成共享内存接口,位于 所有核屯、的私有内存内,其中所有P维数组第P-1级表每个地址指向步骤(13)在共享内 存中开辟的m个子图像中一行数据,所有核屯、经过共享内存接口可W同等访问全体图像数 据,同时并行访问的缓存均衡分布于各个核屯、内部的高速缓存内,达到高效率访问。2. 根据权利要求1所述的共享内存接口,其特征在于,步骤(11)所述图像数据包括过 去时刻和当前时刻的重建图像YUV分量数据、一帖图像所有码流基本单元的视频编码标准 定义的语法符号和解码需要的处理状态;其中语法符号包括且不限于码流基本单元的编码 类型、参考帖号、运动矢量预测残差和运动矢量、帖内预测模式、亮度量化参数和色差量化 参数、方块编码模式、变换系数行程符号;在最新视频编码国际标准肥VC/H. 265之前,所有 视频编码标准和私有技术均W16X16宏块为码流基本单元;肥VC/H. 265新增32X32和 64X64作码流基本单元,此后统一记为16kX16k。3. 根据权利要求1所述的共享内存接口,其特征在于,按W下步骤访问共享图像数据、 输出重建图像: (31) 只能用数组名[行坐标][列坐标]或者数组名[行坐标]+列坐标访问共享的图 像数据,不能用图像数据首地址+行坐标X-行数据长度+列坐标访问共享的图像数据; (32) 输出重建图像时先用数组名[行坐标]的方法取得重建图像YUV分量每个像素行 首地址,再逐行从m个核屯、的子图像转存到正常存储的一帖输出图像。4. 根据权利要求1所述的共享内存接口,其特征在于,不限定步骤(11)的划分图像数 据、视频编码和解码任务的方法;当前技术现状有W下两种方法: (41)按块划分,图像在纵向等分m份分到m个核屯、,每个核屯、处理hxW子图像, h=:[-+0,5]i(□为取整数运算符号);m 完整图像全局行坐标global_y和global_mb_y到核屯、序号及其子图像局部行坐标1〇。曰1_7和local_mb_y的映射关系为: 图像Y分量行坐标映射:gl〇bal_y=核屯、序号Xh+local_y; 图像U、V分量行坐标映射:global_y=核屯、序号X化〉〉1)+local_y; 码流基本单元行坐标映射:(42)按码流基本单元行交错划分,第0行分给核屯、0、第1行分给核屯、1、第2行分给 Η 核屯、2、…,核屯、i处理第i、i+m、i+2m、…、i+qm<~^-l行码流基本单元,每个核屯、处理 I姚 hxW子图像,h=[-+0,51i(□为取整数运算符号);m 完整图像全局行坐标gl〇bal_y和global_mb_y到核屯、序号及其子图像局部行坐标1〇。曰1_7和local_mb_y的映射关系为: 图像Y分量行坐标映射:gl〇bal_y=核屯、序号X16k+local_yXm; 图像U、v分量行坐标映射:global_y二核屯、序号X8k+local_yXm; 码流基本单元行坐标映射:gl〇bal_mb_y=核屯、序号+local_mb_yXm。5.根据权利要求1所述的共享内存接口,其特征在于,提供给视频编码和解码使用,本 身并不包括视频编码和解码过程。
【专利摘要】本发明提供一种用于多核并行视频编码和解码的共享内存接口,包括数据结构和创建、使用方法,创建步骤为:(11)以等分原则划分图像数据到m个核心;(12)m个核心在共享内存中开辟一段连续存储空间,把系统返回的一块数据缓冲区首地址通过核间消息发到指定核心A;(13)所有核心在私有内存中开辟一段连续内存空间,并且从系统返回的一块数据缓冲区首地址开始设置;(14)核心A从每个核心发来的缓冲区首地址开始依次设置图像数据所有p维数组的第p-1级表内容;(15)核心A把图像数据所有p维数组的第p-1级表内容通过组内广播经过核间高速互连网络送达所有核心。具有在任务分摊到多核后数据缓存也相应分摊到多核,并且都达到均衡,共享数据存取效率显著提高的优点。
【IPC分类】H04N19/436, H04N19/423
【公开号】CN105323586
【申请号】CN201510162075
【发明人】宋立锋, 杜永红, 郭俊兵, 刘诏书
【申请人】佛山世寰智能科技有限公司
【公开日】2016年2月10日
【申请日】2015年4月7日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1