一种视频处理集成电路验证码流产生方法、装置及系统转让专利

申请号 : CN201010141355.4

文献号 : CN102215422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈宇张奇

申请人 : 炬力集成电路设计有限公司

摘要 :

本发明适用于集成电路领域,提供了一种视频处理集成电路验证码流产生方法、装置及系统,根据目标编码器的配置信息,对标准编码器和标准解码器进行适当地修改,通过约束随机方式配置帧类型,产生具有一定空间相关性、时间相关性的码流,保证了视频解码验证中覆盖率、可控性、完整性的要求,将输出文件传到需要的位置,大大减少验证组的工作,并建立一个满足目标编码器语言的覆盖率收集器,便于收集不同目标编码器的覆盖率。

权利要求 :

1.一种视频处理集成电路验证码流产生方法,其特征在于,该码流产生方法采用的系统包括配置信息产生器、视频数据产生器、目标编码器;

该码流产生方法包括:

所述配置信息产生器产生部分配置信息输出给所述视频数据产生器,用于所述视频数据产生器控制视频数据的生成,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;

所述视频数据产生器生成视频数据输出给目标编码器;

所述配置信息产生器产生完整的配置信息输出给所述目标编码器;

所述目标编码器接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流;

其中所述目标编码器是在标准编码器的基础上修改产生;

产生目标编码器的步骤包括:

在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;

将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。

2.根据权利要求1所述的码流产生方法,其特征在于,所述视频数据产生器产生视频数据的方法包括帧内参考方法和帧间参考方法。

3.根据权利要求2所述的码流产生方法,其特征在于,所述帧内参考产生视频数据的方法包括:随机选择一种数据来源类型,所述数据来源类型包括:A.从一张大图片中取出一帧视频所需大小的数据;

B.随机从图片库中取出一张图片,用插值方法拉伸、或者用去值方法缩小成一帧视频所需大小的数据;

C.以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据;

根据选择的数据来源类型产生视频数据;其中以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据的方法包括:A1.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B1.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C1.将数组的值全部初始化为零;

D1.对参数mx、my、avg、sigma产生随机数据,产生随机数据时要求mx小于以像素为单位的视频宽,my小于以像素为单位的视频长;

E1.以类似于泊松随机方式产生一个中心概率比较大,离中心越远概率越小的随机数;

F1.对x加1;

G.判断x是否大于等于mx,是则执行步骤H1,否则执行步骤K1;

H1.判断y是否大于等于my,是则执行步骤I1,否则执行步骤J1;

I1.清零x,y,转到执行步骤D1;

J1.清零x,y加1,转到执行步骤E1;

K1.判断y是否等于0,是则执行步骤E1;否则执行步骤L1;

L1.以avg为均值,以sigma为方差,以当前像素点的左边数据和上边数据的较大值为最大值,以当前像素点的左边数据和上边数据较小值为最小值,随机产生一个满足类似正态分布的数据,作为当前像素点的数据;

M1.判断是否已得到当前帧全部像素点的数据,是则结束,否则执行步骤F1。

4.根据权利要求2所述的码流产生方法,其特征在于,所述帧间参考产生视频数据的方法包括:A.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C.将数组的值全部初始化为零;

D.从前向参考、后向参考、双向参考三种参考方式中随机选择一种视频数据产生方式;

E.判断是否选择前向参考,是则执行步骤F,否则执行步骤G;

F.将前向参考帧的数据拷贝到当前帧的数组里,执行步骤I;

G.判断后向参考帧的数据是否已生成,是则执行步骤I,否则执行步骤H;

H.随机产生后向参考帧的数据;

I.将后向参考帧的数据拷贝到当前帧的数组里;

J.生成当前帧当前宏块的数据;

K.判断是否已生成当前帧所有宏块的数据,是则结束,否则返回执行步骤J。

5.根据权利要求4所述的码流产生方法,其特征在于,所述生成当前帧某一宏块的数据的步骤包括:在当前帧中重新随机参数mx、my、avg、sigma,清零x、y,建立另外两个参数cx,cy,初始化cx、cy为mx、my的随机窄幅抖动;

在当前宏块的第一个点,以cx、cy为向量,在参考帧上确定相应位置;

判断在参考帧中所确定的宏块是否超出参考帧的范围,是则使用帧内参考方法产生当前宏块数据,否则把在参考帧上所确定的宏块数据拷贝到当前宏块位置。

6.一种视频处理集成电路验证方法,其特征在于,该视频处理集成电路验证方法采用的系统包括配置信息产生器、视频数据产生器、目标编码器、功能覆盖率收集器、目标解码器、参考模型转换器、驱动单元、监控器和记分板;

该视频处理集成电路验证方法包括:

所述配置信息产生器产生部分配置信息输出给所述视频数据产生器,用于所述视频数据产生器控制视频数据的生成,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;

所述视频数据产生器生成视频数据输出给目标编码器;

所述配置信息产生器产生完整的配置信息输出给所述目标编码器;

所述目标编码器接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流,并将码流输出给目标解码器;所述目标编码器监测码流的功能覆盖率,并将功能覆盖率数据输出给所述功能覆盖率收集器;

所述功能覆盖率收集器接收并记录所述目标编码器输出的码流功能覆盖率数据;

所述目标解码器输出解压后的、可以直接比较的数据给参考模型转换器,所述参考模型转换器是与目标解码器和记分板匹配的转换模型,所述目标解码器还输出满足存储器要求的数据和满足寄存器要求的配置信息给待测设计驱动单元,用于驱动待测设计,生成验证数据;

所述监控器按照一定的规则从所述验证数据中提取数据输出到记分板;

所述记分板将所提取的验证数据与参考模型转换器输入的参考数据进行比较,输出验证结果;

其中所述目标编码器是在标准编码器的基础上修改产生;

产生目标编码器的步骤包括:

在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;

将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。

7.根据权利要求6所述的视频处理集成电路验证方法,其特征在于,所述视频数据产生器产生视频数据的方法包括帧内参考方法和帧间参考方法。

8.根据权利要求7所述的视频处理集成电路验证方法,其特征在于,所述帧内参考产生视频数据的方法包括:随机选择一种数据来源类型,所述数据来源类型包括:A.从一张大图片中取出一帧视频所需大小的数据;

B.随机从图片库中取出一张图片,用插值方法拉伸、或者用去值方法缩小成一帧视频所需大小的数据;

C.以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据;

根据选择的数据来源类型产生视频数据;其中以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据的方法包括如下步骤:A1.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B1.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C1.将数组的值全部初始化为零;

D1.对参数mx、my、avg、sigma产生随机数据,产生随机数据时要求mx小于以像素为单位的视频宽,my小于以像素为单位的视频长;

E1.以类似于泊松随机方式产生一个中心概率比较大,离中心越远概率越小的随机数;

F1.对x加1;

G1.判断x是否大于等于mx,是则执行步骤H1,否则执行步骤K1;

H1.判断y是否大于等于my,是则执行步骤I1,否则执行步骤J1;

I1.清零x,y,转到执行步骤D1;

J1.清零x,y加1,转到执行步骤E1;

K1.判断y是否等于0,是则执行步骤E1;否则执行步骤L1;

L1.以avg为均值,以sigma为方差,以当前像素点的左边数据和上边数据的较大值为最大值,以当前像素点的左边数据和上边数据较小值为最小值,随机产生一个满足类似正态分布的数据,作为当前像素点的数据;

M1.判断是否已得到当前帧全部像素点的数据,是则结束,否则执行步骤F1。

9.根据权利要求7所述的视频处理集成电路验证方法,其特征在于,所述帧间参考产生视频数据的方法包括如下步骤:A.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C.将数组的值全部初始化为零;

D.从前向参考、后向参考、双向参考三种参考方式中随机选择一种视频数据产生方式;

E.判断是否选择前向参考,是则执行步骤F,否则执行步骤G;

F.将前向参考帧的数据拷贝到当前帧的数组里,执行步骤I;

G.判断后向参考帧的数据是否已生成,是则执行步骤I,否则执行步骤H;

H.随机产生后向参考帧的数据;

I.将后向参考帧的数据拷贝到当前帧的数组里;

J.生成当前帧当前宏块的数据;

K.判断是否已生成当前帧所有宏块的数据,是则结束,否则返回执行步骤J。

10.根据权利要求9所述的视频处理集成电路验证方法,其特征在于,所述生成当前帧某一宏块的数据的步骤具体为:在当前帧中重新随机参数mx、my、avg、sigma,清零x、y,建立另外两个参数cx,cy,初始化cx、cy为mx、my的随机窄幅抖动;

在当前宏块的第一个点,以cx、cy为向量,在参考帧上确定相应位置;

判断在参考帧中所确定的宏块是否超出参考帧的范围,是则使用帧内参考方法产生当前宏块数据,否则把在参考帧上所确定的宏块数据拷贝到当前宏块位置。

11.根据权利要求6所述的视频处理集成电路验证方法,其特征在于,所述目标解码器是在标准解码器的基础上修改产生;

产生目标解码器的步骤包括:

在标准解码器中添加生成硬件解码器所需的控制信号和数据的程序,生成目标解码器。

12.一种视频处理集成电路验证码流产生装置,其特征在于,所述码流产生装置包括:配置信息产生器,用于产生视频数据生成所需要的部分配置信息,以及对视频数据编码所需要的完整的配置信息,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;

视频数据产生器,用于根据所述配置信息产生器输出的部分配置信息生成视频数据;

目标编码器,用于接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流;

其中所述目标编码器是在标准编码器的基础上修改产生;

产生目标编码器具体包括:

在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;

将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。

13.根据权利要求12所述的码流产生装置,其特征在于,所述视频数据产生器产生视频数据的方法包括帧内参考方法和帧间参考方法。

14.根据权利要求13所述的码流产生装置,其特征在于,所述帧内参考产生视频数据时随机选择一种数据来源类型,所述数据来源类型包括:A.从一张大图片中取出一帧视频所需大小的数据;

B.随机从图片库中取出一张图片,用插值方法拉伸、或者用去值方法缩小成一帧视频所需大小的数据;

C.以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据;

其中以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据的方法包括如下步骤:A1.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B1.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C1.将数组的值全部初始化为零;

D1.对参数mx、my、avg、sigma产生随机数据,产生随机数据时要求mx小于以像素为单位的视频宽,my小于以像素为单位的视频长;

E1.以类似于泊松随机方式产生一个中心概率比较大,离中心越远概率越小的随机数;

F1.对x加1;

G1.判断x是否大于等于mx,是则执行步骤H1,否则执行步骤K1;

H1.判断y是否大于等于my,是则执行步骤I1,否则执行步骤J1;

I1.清零x,y,转到执行步骤D1;

J1.清零x,y加1,转到执行步骤E1;

K1.判断y是否等于0,是则执行步骤E1;否则执行步骤L1;

L1.以avg为均值,以sigma为方差,以当前像素点的左边数据和上边数据的较大值为最大值,以当前像素点的左边数据和上边数据较小值为最小值,随机产生一个满足类似正态分布的数据,作为当前像素点的数据;

M1.判断是否已得到当前帧全部像素点的数据,是则结束,否则执行步骤F1。

15.一种视频处理集成电路验证系统,其特征在于,所述系统包括:配置信息产生器,用于产生视频数据生成所需要的部分配置信息,以及视频数据编码所需要的完整的配置信息,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;

视频数据产生器,用于根据所述配置信息产生器输出的部分配置信息生成视频数据;

目标编码器,用于接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流,并将码流输出给目标解码器;所述目标编码器还用于监测码流的功能覆盖率,并将功能覆盖率数据输出给所述功能覆盖率收集器;

功能覆盖率收集器,用于接收并记录所述目标编码器输出的码流的功能覆盖率数据;

目标解码器,用于输出解压后的、可以直接比较的数据给参考模型转换器,所述参考模型转换器是与目标解码器和记分板匹配的转换模型,所述目标解码器还输出满足存储器要求的数据和满足寄存器要求的配置信息给待测设计驱动单元;

参考模型转换器,是与目标解码器和记分板匹配的转换模型,用于将所述解压后的、可以直接比较的数据转换成所述记分板所需要的形式,输入所述记分板;

驱动单元,用于根据满足存储器要求的数据和满足寄存器要求的配置信息驱动待测设计,生成验证数据;

监控器,用于从所述验证数据中提取数据,输出给记分板;

记分板,用于对所述输出解压后的、可以直接比较的数据和验证数据进行比较,输出验证结果;

其中所述目标编码器是在标准编码器的基础上修改产生;

产生目标编码器具体包括:

在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;

将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。

16.根据权利要求15所述的视频处理集成电路验证系统,其特征在于,所述视频数据产生器产生视频数据的方法包括帧内参考方法和帧间参考方法。

17.根据权利要求16所述的视频处理集成电路验证系统,其特征在于,所述帧内参考产生视频数据时随机选择一种数据来源类型,所述数据来源类型包括:A.从一张大图片中取出一帧视频所需大小的数据;

B.随机从图片库中取出一张图片,用插值方法拉伸、或者用去值方法缩小成一帧视频所需大小的数据;

C.以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据;

其中以宏块为最小单位,使用类似泊松随机的约束空间预测方式来产生一帧视频所需大小的数据的方法包括如下步骤:A.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;

B.根据部分配置信息建立一个数组,所述数组的大小是一帧视频数据的大小;

C.将数组的值全部初始化为零;

D.对参数mx、my、avg、sigma产生随机数据,产生随机数据时要求mx小于以像素为单位的视频宽,my小于以像素为单位的视频长;

E.以类似于泊松随机方式产生一个中心概率比较大,离中心越远概率越小的随机数;

F.对x加1;

G.判断x是否大于等于mx,是则执行步骤H,否则执行步骤K;

H.判断y是否大于等于my,是则执行步骤I,否则执行步骤J;

I.清零x,y,转到执行步骤D;

J.清零x,y加1,转到执行步骤E;

K.判断y是否等于0,是则执行步骤E;否则执行步骤L;

L.以avg为均值,以sigma为方差,以当前像素点的左边数据和上边数据的较大值为最大值,以当前像素点的左边数据和上边数据较小值为最小值,随机产生一个满足类似正态分布的数据,作为当前像素点的数据;

M.判断是否已得到当前帧全部像素点的数据,是则结束,否则执行步骤F。

18.根据权利要求15所述的视频处理集成电路验证系统,其特征在于,所述目标解码器是在标准解码器的基础上修改产生。

说明书 :

一种视频处理集成电路验证码流产生方法、装置及系统

技术领域

[0001] 本发明属于集成电路领域,尤其涉及一种视频处理集成电路验证码流产生方法、装置及系统。

背景技术

[0002] 集成电路板(Integrated Circuit,IC)验证是快速正确流片的保证,特别对于视频算法等复杂算法,IC验证的及时性和完整性尤为重要。
[0003] 目前,在主流的视频验证中,主要由专门公司或者组织提供验证码流库,使用现场可编程门阵列(Field-Programmable Gate Array,FPGA)烧入代码,将专门的码流正确解码。验证码流库一般由专门公司或者发布标准的组织提供,能尽量保证码流的完整,且已经完成分类等动作。在验证时,直接或者间接灌入验证库码流,然后通过文件比较或者其他比较方式,测试待测试设计(DesignUnder Test,DUT)的正确性。对于这个验证平台,一般只能抽出比较重要的信号进行收集比较,且一般为手动比较。由于码流多,算法复杂,调试难度比较大,而该验证平台的自动化程度又比较低,耗时耗力,还不能保证验证的细节,更达不到覆盖率等要求。这种验证平台一般比较简单,直接输入码流库或者码流库的变换,再设计一个总线功能模型(Bus Function Model,BFM),直接在寄存器传输层(Register-Transfer-Level,RTL)输入信号,并进行简单的最后输出比较。
[0004] 一种更为先进的验证方法,利用验证技术的智能比较、约束随机等方法解决验证平台不够智能与覆盖率达不到要求的问题。验证的一般过程为:先生成带覆盖率的智能配置数据,然后设计总线功能模型,驱动待测试设计,并检测接口,自动与参考模型的结果比较。这种方法智能度高,人工干预比较少,调试手段比较多,继承修改都比较方便。
[0005] 但是,对于视频算法等复杂的设计,要产生一个满足功能覆盖的码流,约束难度超过了重新设计代码。因此,一般采用团队协作,利用基于高级验证语言的团队合作验证平台,使用高级语言组建参考模型(Reference Model,RM),利用团队协作,将模块分细,利用以前建立的参考验证IP或者购买的IP核,能减少不少人力。该验证平台在调试阶段,调试手段较多,利用一些复杂的反馈信号(非数据结果)等手段可以在很大程度上减小参考模型的难度。但是分模块、设定接口、调试参考模型接口协议等都会浪费太多的时间,而且大部分参考模型必须需要自己建立,相当耗费人力,而且因为接口繁多,团队合作复杂,因此效率不高。

发明内容

[0006] 本发明实施例的目的在于提供一种用于视频处理集成电路验证码流的产生方法,旨在解决现有视频IC或视频IP设计的验证中需要满足功能覆盖的码流,而产生码流过程耗时耗力,无法保证验证的细节和覆盖率的要求,造成实际流片中的及时性和完整性较差的问题。
[0007] 在视频处理集成电路验证中,为实现提供满足功能覆盖的码流的发明目的,本发明实施例是这样实现的,一种视频处理集成电路验证码流产生方法,其特征在于,该码流产生方法采用的系统包括配置信息产生器、视频数据产生器、目标编码器;
[0008] 该码流产生方法包括:
[0009] 所述配置信息产生器产生部分配置信息输出给所述视频数据产生器,用于所述视频数据产生器控制视频数据的生成,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;
[0010] 所述视频数据产生器生成视频数据输出给目标编码器;
[0011] 所述配置信息产生器产生完整的配置信息输出给所述目标编码器;
[0012] 所述目标编码器接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流;
[0013] 其中所述目标编码器是在标准编码器的基础上修改产生;
[0014] 产生目标编码器的步骤包括:
[0015] 在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;
[0016] 将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。
[0017] 在视频处理集成电路验证中,为实现实际流片中的及时性和完整性的目的,本发明实施例的另一目的在于提供一种视频处理集成电路验证方法,其特征在于,该视频处理集成电路验证方法采用的系统包括配置信息产生器、视频数据产生器、目标编码器、功能覆盖率收集器、目标解码器、参考模型转换器、驱动单元、监控器和记分板;
[0018] 该视频处理集成电路验证方法包括:
[0019] 所述配置信息产生器产生部分配置信息输出给所述视频数据产生器,用于所述视频数据产生器控制视频数据的生成,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;
[0020] 所述视频数据产生器生成视频数据输出给目标编码器;
[0021] 所述配置信息产生器产生完整的配置信息输出给所述目标编码器;
[0022] 所述目标编码器接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流,并将码流输出给目标解码器;所述目标编码器监测码流的功能覆盖率,并将功能覆盖率数据输出给所述功能覆盖率收集器;
[0023] 所述功能覆盖率收集器接收并记录所述目标编码器输出的码流功能覆盖率数据;
[0024] 所述目标解码器输出解压后的、可以直接比较的数据给参考模型转换器,所述参考模型转换器是与目标解码器和记分板匹配的转换模型,所述目标解码器还输出满足存储器要求的数据和满足寄存器要求的配置信息给待测设计驱动单元,用于驱动待测设计,生成验证数据;
[0025] 所述监控器按照一定的规则从所述验证数据中提取数据输出到记分板;
[0026] 所述记分板将所提取的验证数据与参考模型转换器输入的参考数据进行比较,输出验证结果;
[0027] 其中所述目标编码器是在标准编码器的基础上修改产生;
[0028] 产生目标编码器的步骤包括:
[0029] 在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;
[0030] 将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。
[0031] 在视频处理集成电路验证中,为实现提供满足功能覆盖的码流的发明目的,本发明实施例的另一目的在于提供一种视频处理集成电路验证码流产生装置,其特征在于,所述码流产生装置包括:
[0032] 配置信息产生器,用于产生视频数据生成所需要的部分配置信息,以及对视频数据编码所需要的完整的配置信息,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;
[0033] 视频数据产生器,用于根据所述配置信息产生器输出的部分配置信息生成视频数据;
[0034] 目标编码器,用于接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流;
[0035] 其中所述目标编码器是在标准编码器的基础上修改产生;
[0036] 产生目标编码器具体包括:
[0037] 在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;
[0038] 将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。
[0039] 在视频处理集成电路验证中,为实现实际流片中的及时性和完整性的目的,本发明实施例的另一目的在于提供一种视频处理集成电路验证系统,其特征在于,所述系统包括:
[0040] 配置信息产生器,用于产生视频数据生成所需要的部分配置信息,以及视频数据编码所需要的完整的配置信息,所述部分配置信息包括标准信息、视频的宽、高,视频的帧数;
[0041] 视频数据产生器,用于根据所述配置信息产生器输出的部分配置信息生成视频数据;
[0042] 目标编码器,用于接收所述视频数据产生器输出的视频数据、所述配置信息产生器输出的完整配置信息,编码产生满足覆盖率的码流,并将码流输出给目标解码器;所述目标编码器还用于监测码流的功能覆盖率,并将功能覆盖率数据输出给所述功能覆盖率收集器;
[0043] 功能覆盖率收集器,用于接收并记录所述目标编码器输出的码流的功能覆盖率数据;
[0044] 目标解码器,用于输出解压后的、可以直接比较的数据给参考模型转换器,所述参考模型转换器是与目标解码器和记分板匹配的转换模型,所述目标解码器还输出满足存储器要求的数据和满足寄存器要求的配置信息给待测设计驱动单元;
[0045] 参考模型转换器,是与目标解码器和记分板匹配的转换模型,用于将所述解压后的、可以直接比较的数据转换成所述记分板所需要的形式,输入所述记分板;
[0046] 驱动单元,用于根据满足存储器要求的数据和满足寄存器要求的配置信息驱动待测设计,生成验证数据;
[0047] 监控器,用于从所述验证数据中提取数据,输出给记分板;
[0048] 记分板,用于对所述输出解压后的、可以直接比较的数据和验证数据进行比较,输出验证结果;
[0049] 其中所述目标编码器是在标准编码器的基础上修改产生;
[0050] 产生目标编码器具体包括:
[0051] 在标准编码器中,确定检查单功能项目所对应的代码位置,所述检查单功能项目是集成电路验证中需要验证的功能项目;
[0052] 将检查单功能项目所对应的标准代码更换成约束随机代码,所述约束随机代码是在一定条件下产生的随机代码。
[0053] 在本发明实施例中,根据验证平台的需要,建立概率分布的标准主要参数,根据待测试设计的功能检查选项列表用约束随机替换编码算法中的相关计算,产生有一定时间相关性和空间相关性的码流,保证了视频解码验证中覆盖率、可控性、完整性的要求,在标准编码器或者解码器上增加配置文件输出,将输出文件传到需要的位置,大大减少验证组的工作,并建立一个满足编码器语言的覆盖率收集器,建立统一格式的数据库和收集方式,便于收集不同编码器的覆盖率。

附图说明

[0054] 图1是本发明实施例提供的视频处理集成电路验证系统的结构原理图;
[0055] 图2是本发明实施例提供的视频处理集成电路验证码流产生方法的实现流程图;
[0056] 图3是本发明实施例提供的视频处理集成电路验证方法的实现流程图;
[0057] 图4是本发明实施例提供根据选择的随机参考类型生成视频数据的实现流程图;
[0058] 图5是本发明实施例提供的以宏块为最小单位,使用类似泊松随机的约束空间预测方式来生成一帧视频所需大小的数据的实现流程图;
[0059] 图6是本发明实施例提供的通过帧间参考方式生成视频数据的实现流程图;
[0060] 图7是本发明实施例提供的通过帧间参考方式生成视频数据时,生成当前帧某一宏块的数据的实现流程图。
[0061] 图8是本发明实施例提供的视频处理集成电路码流产生装置的结构原理图;

具体实施方式

[0062] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0063] 在本发明实施例中,根据目标编码器的配置信息,对标准编码器和标准解码器进行适当地修改,通过约束随机方式配置帧类型,产生具有一定空间相关性、时间相关性的码流,同时也保证了码流的可控性和完整性,满足了覆盖率和调试的需要。
[0064] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0065] 实施例一:
[0066] 图1示出了本发明实施例提供的视频处理集成电路验证系统的结构,为了便于描述,仅示出了与本发明实施例相关的部分。
[0067] 验证平台主要使用验证方法手册(Verification Methodology Manual,VMM)、高级验证方法学(Advanced Verification Methodology,AVM)等验证方法,组建自动数据生成机制,智能驱动,自动监测以及比较等,验证平台可以在无人工干预的状态下自行工作,直到错误产生或者仿真结束。验证平台搭建完成后,开始智能仿真,此时除非发生错误,否则不需要人工干预。如果发生错误,验证平台会报告问题,提供波形及各种调试工具。当在覆盖率收集处发现覆盖率达到一定要求时,验证系统自动停止,并报告结果。
[0068] 其中,虚线框内是仿真信号产生器11,其功能是产生验证系统验证需要的仿真数据,以及驱动待测试设计的寄存器配置信息和码流。
[0069] 配置信息产生器111,其功能是产生视频数据的生成或者编码所需要的配置信息,视频数据可以是Yuv数据或者RGB数据。
[0070] 一方面,配置信息产生器111产生部分配置信息输出给视频数据产生器112,用于视频数据产生器112控制视频数据的生成。配置信息产生器111输出到视频数据产生器112的配置信息包括视频的大小(视频像素的宽、高)和帧数等信息,这部分配置信息控制视频数据的生成。
[0071] 另一方面,配置信息产生器111产生完整的配置信息输出给目标编码器113。配置信息产生器111输出到目标编码器113的配置信息包括视频的大小(视频像素的宽、高)、帧数、码率,以及码流标准、码流标准的类(profile)和级(level)、搜索窗范围、工具等标准及其相关参数信息。
[0072] 视频数据产生器112,其功能是根据配置信息产生器111输入的配置信息,生成输出到目标编码器113的视频数据。
[0073] 为了满足验证覆盖率和调试的需要,本发明实施例在允许的范围内随机量化系数,在约束条件下生成具有一定空间相关性和时间相关性的视频数据,并具有一定细节,以突出视频突然变化时变化大的场景。
[0074] 本发明实施例采用帧内参考和帧间参考相结合的形式生成视频数据,使所生成的视频数据具有一定的时间相关和空间相关性。
[0075] 目标编码器113是在标准编码器的基础上修改产生的,其功能是根据视频数据产生器112输出的视频数据和配置信息产生器111输出的配置信息,输出编码后的数据,即满足覆盖率的码流,并加入检查选项列表监测项,在监测到功能检查选项列表(checklist)中的功能达到时,记录到功能覆盖率收集器115中。
[0076] 功能覆盖率收集器115记录码流的功能覆盖率。功能覆盖率收集器115检查选项列表中的功能覆盖信息,统计功能覆盖率,功能覆盖率为达到的功能和所有功能的比例。
[0077] 目标解码器115是在标准编码器的基础上修改产生的,其功能是对目标编码器113产生的码流解码,产生两路输出,一路为满足存储器要求的数据和满足寄存器要求的配置信息,输出给驱动单元12,用于驱动待测设计,仿真CPU的处理过程,获取待测试设计的运行结果数据;另一路输出解压后的、可以直接比较的数据给参考模型转换器13,以与待测试设计的运行结果数据进行比对。
[0078] 虚线框之外是整个验证系统的其他模块,其中:
[0079] 待测试设计为待测试IC芯片的线路、网表等,体现待测试IC芯片具备的功能。
[0080] 驱动单元12,其功能是根据目标解码器115输出的满足存储器要求的数据和满足寄存器要求的配置信息驱动待测试设计,直接在待测试设计的输入输出接口(IO)上输入信号,使待测试设计正常运行,中间加入时序检查,例如模拟带宽不足时总线的极限情况,以判断时序的健壮。
[0081] 参考模型转换器13是与目标解码器113和记分板15匹配的转换模型。由于解码使用的协议与具体的标准相关,不一定与验证系统的格式一致,因此,参考模型转换器13采用验证语言读取目标解码器115输出的仿真结果数据,将目标解码器115输出的仿真结果数据转换成记分板15所需要的形式,输入记分板15。
[0082] 监控器14,其功能是检测待测试设计输出的运行结果数据,提取需要比较验证数据,将验证数据转换成记分板15所需要的形式,输入记分板15。
[0083] 记分板15,其功能是对参考模型转换器13和监控器14输出的仿真结果数据和验证数据进行比较,并输出比较结果。
[0084] 实施例二:
[0085] 图2示出了本发明实施例提供的视频验证码流产生方法的实现流程,详述如下:
[0086] 在步骤S201中,配置信息产生器产生部分配置信息输出给视频数据产生器,用于视频数据产生器控制视频数据的生成;
[0087] 配置信息产生器输出到视频数据产生器的配置信息包括视频的大小(视频像素的宽、高)和帧数等信息,这部分配置信息控制视频数据的生成。
[0088] 在本发明实施例中,配置信息包括标准相关、文件相关等。通过配置信息,可以使生成的视频数据具有一定空间相关性和时间相关性,并具有一定细节,满足调试的需要。
[0089] 在步骤S202中,视频数据产生器生成视频数据,生成方式包括帧内参考和帧间参考;
[0090] 为了满足验证覆盖率和调试的需要,在本发明实施例在允许的范围内随机量化系数,在约束条件下生成具有一定空间相关性和时间相关性的视频数据,并具有一定细节,以突出视频突然变化时变化大的场景。
[0091] 本发明实施例采用帧内参考和帧间参考相结合的形式产生视频数据,使所产生的视频数据具有一定的时间相关和空间相关性。
[0092] 在步骤S203中,配置信息产生器产生完整的配置信息,输出给目标编码器;
[0093] 配置信息产生器输出到目标编码器的配置信息包括视频的大小(视频像素的宽、高)、帧数、码率,以及码流标准、码流标准的类(profile)和级(level)、搜索窗范围、工具等标准及其相关参数信息。
[0094] 在步骤S204中,目标编码器接收视频数据产生器输出的视频数据、配置信息产生器输出的完整配置信息,编码产生码流。
[0095] 实施例三:
[0096] 图3示出了本发明实施例提供的视频处理集成电路验证方法的实现流程,详述如下:
[0097] 在步骤S301中,配置信息产生器产生部分配置信息输出给视频数据产生器,用于视频数据产生器控制视频数据的生成;
[0098] 配置信息产生器输出到视频数据产生器的配置信息包括视频的大小(视频像素的宽、高)和帧数等信息,这部分配置信息控制视频数据的生成。
[0099] 在本发明实施例中,配置信息包括标准相关、文件相关等。通过配置信息,可以使生成的视频数据具有一定空间相关性和时间相关性,并具有一定细节,满足调试的需要。
[0100] 在步骤S302中,视频数据产生器生成视频数据,生成方式包括帧内参考和帧间参考;
[0101] 本发明实施例采用帧内参考和帧间参考相结合的形式生成视频数据,使所生成的视频数据具有一定的时间相关和空间相关性。
[0102] 在步骤S303中,配置产生器产生完整的配置信息,输出给目标编码器;
[0103] 配置信息产生器输出到目标编码器的配置信息包括视频的大小(视频像素的宽、高)、帧数、码率,以及码流标准、码流标准的类(profile)和级(level)、搜索窗范围、工具等标准及其相关参数信息。
[0104] 在步骤S304中,目标编码器接收视频数据产生器输出的视频数据、配置信心产生器输出的完整配置信息,编码产生码流,并将码流输出给目标解码器;目标编码器监测码流的功能覆盖率,并将功能覆盖率数据输出给所述功能覆盖率收集器;
[0105] 在步骤S305中,功能覆盖率收集器接收并记录目标编码器输出的码流功能覆盖率数据;
[0106] 在步骤S306中,目标解码器输出解压后的、可以直接比较的参考数据给参考模型转换器,参考模型转换器是与目标解码器和记分板匹配的转换模型,目标解码器还输出满足存储器要求的数据和满足寄存器要求的配置信息给待测设计驱动单元,用于驱动待测设计,生成验证数据;
[0107] 在步骤S307中,监控器按照一定的规则从验证数据中提取数据输出到记分板;
[0108] 在步骤S308中,记分板将所提取的验证数据与参考模型转换器输入的参考数据进行比较,输出验证结果。
[0109] 实施例四:
[0110] 在本发明实施例中,配置信息是由验证语言通过特有的随即约束技术产生的,包括标准相关信息、文件相关信息等。其中:
[0111] 标准相关信息包括视频的大小和帧数等视频参数信息、标准及标准的相关参数信息,具有比较强的相关性,目标编码器不同,配置信息也会不同,例如设置成h.264标准就可能选择自适应算术编码(cabac)或者自适应变长编码(cavlc),mpeg4是变长编码(vlc),如果验证系统支持用软解熵解码,还可以设置成游程编码(rlc)等。
[0112] 配置信息首先要确定标准,例如h264,mpeg4,然后确定视频参数,例如视频像素的大小(宽、高)、视频时间长度或者帧的数目,然后确定码流协议的类(profile)和级(level)、搜索窗范围、工具等与标准相关的参数。
[0113] 文件相关信息是输入文件、输出文件、调试文件、追踪(trace)文件、报告文件、重建文件,以及一些表的存储文件等,一般是字符。文件相关主要是配置文件的文件名和存储位置。
[0114] 作为本发明的一个优选实施例,为了方便验证调试,可以根据待测试设计的功能实现,分成多个调试步骤,以方便调试定位,每个步骤配置调试开关,此时,可以在文件相关中配置调试文件,并在配置信息中配置调试相关信息。
[0115] 调试相关,主要是打开某些调试开关,例如调试插值,就打开插值调试,调试熵解码就打开熵解码开关等,具体与各个标准的参数有关。
[0116] 在本发明实施例中,待测试设计的每个功能步骤都有一个调试开关,以保存目标解码器相对应的各个步骤的中间结果。另外,对于一些保存形式,仿真时总线繁忙情况,数据控制的响应延时模拟等情况也有单独的调试开关,也可在仿真时添加、删减或修改参数。
[0117] 实施例五:
[0118] 在本发明实施例中,生成的视频数据需要具有一定的时间相关性和空间相关性,并具有一定细节。
[0119] 帧内参考可实现空间相关性,而帧间参考可提供时间相关性,在本发明实施例中,采用约束随机方式配置帧(slice)类型,采用帧内参考和帧间参考相结合的形式,以生成具有一定的时间相关性和空间相关性的视频数据。
[0120] 随机参考类型包括帧内参考、帧间前向参考、帧间后向参考和帧间双向参考四种。
[0121] 图4示出了本发明实施例提供的根据选择的随机参考类型生成视频数据的实现流程,详述如下:
[0122] 在步骤S401中,采用随机方式进行随机参考类型的选择,根据选择的结果,执行步骤S402~S405之一;
[0123] 在步骤S402中,通过帧间双向参考方式生成视频数据;
[0124] 在步骤S403中,通过帧间后向参考方式生成视频数据;
[0125] 在步骤S404中,通过帧间前向参考方式生成视频数据;
[0126] 在步骤S405中,通过帧内参考方式生成视频数据。
[0127] 通过帧内参考生成视频数据时,随机选择一种数据来源类型,根据选择的数据来源类型生成视频数据。其中,数据来源类型包括:
[0128] A.从一张大图片中取出一帧视频所需大小的数据;
[0129] B.随机从图片库中取出一张图片,用插值方法拉伸、或者用去值方法缩小成一帧视频所需大小的数据;
[0130] C.以宏块为最小单位,使用类似泊松随机的约束空间预测方式来生成一帧视频所需大小的数据。
[0131] 对于帧内参考,主要实现空间相关性,在本发明实施例中使用类似泊松随机约束空间预测,可以达到相关性极限的情况。根据验证技术的特性,输入的是配置的约束条件,例如h264标准等,以及case选项。case选项或称种子,是不同情况的唯一标号,同一个种子产生相同的情况,不用的种子,随机的结果不同,这是验证技术的基础。
[0132] 图5示出了本发明实施例提供的以宏块为最小单位,使用类似泊松随机的约束空间预测方式来生成一帧视频所需大小的数据的实现流程,详述如下:
[0133] A.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;
[0134] B.根据部分配置信息建立一个数组,数组的大小是一帧视频数据的大小;
[0135] C.将数组的值全部初始化为零;
[0136] D.对参数mx、my、avg、sigma产生随机数据,产生随机数据时要求mx小于以像素为单位的视频宽,my小于以像素为单位的视频长;
[0137] E.以类似于泊松随机方式产生一个中心概率比较大,离中心越远概率越小的随机数;
[0138] F.对x加1;
[0139] G.判断x是否大于等于mx,是则执行步骤H,否则执行步骤K;
[0140] H.判断y是否大于等于my,是则执行步骤I,否则执行步骤J;
[0141] I.清零x,y,转到执行步骤D;
[0142] J.清零x,y加1,转到执行步骤E;
[0143] K.判断y是否等于0,是则执行步骤E;否则执行步骤L;
[0144] L.以avg为均值,以sigma为方差,以当前像素点的左边数据和上边数据的较大值为最大值,以当前像素点的左边数据和上边数据较小值为最小值,随机产生一个满足类似正态分布的数据,作为当前像素点的数据;
[0145] M.判断是否已得到当前帧全部像素点的数据,是则结束,否则执行步骤F。
[0146] 图6示出了本发明实施例提供的通过帧间参考方式生成视频数据的实现流程,详述如下:
[0147] A.定义一个结构体{mx,my,x,y,avg,sigma},其中mx表示当前相关水平长度,my表示当前相关垂直长度,x表示当前相关水平位置,y表示当前相关垂直位置,avg为均值,sigma为方差,avg和sigma为表示相关性的参数;
[0148] B.根据部分配置信息建立一个数组,数组的大小是一帧视频数据的大小;
[0149] C.将数组的值全部初始化为零;
[0150] D.从前向参考、后向参考、双向参考三种参考方式中随机选择一种视频数据生成方式;
[0151] E.判断是否选择前向参考,是则执行步骤F,否则执行步骤G;
[0152] F.将前向参考帧的数据拷贝到当前帧的数组里,执行步骤I;
[0153] G.判断后向参考帧的数据是否已生成,是则执行步骤I,否则执行步骤H;
[0154] H.随机产生后向参考帧的数据;
[0155] I.将后向参考帧的数据拷贝到当前帧的数组里;
[0156] J.生成当前帧当前宏块的数据;
[0157] K.判断是否已生成当前帧所有宏块的数据,是则结束,否则返回执行步骤J。
[0158] 其中,上述步骤J中生成当前帧某一宏块的数据的具体流程如图7所示,详述如下:
[0159] 在当前帧中重新随机参数mx、my、avg、sigma,清零x、y,建立另外两个参数cx,cy,初始化cx、cy为mx、my的随机窄幅抖动;
[0160] 在当前宏块的第一个点,以cx、cy为向量,在参考帧上确定相应位置;
[0161] 判断在参考帧中所确定的宏块是否超出参考帧的范围,是则使用帧内参考方法产生当前宏块数据,否则把在参考帧上所确定的宏块数据拷贝到当前宏块位置。
[0162] 实施例六:
[0163] 在本发明实施例中,产生的码流需要具备可控性,完整性,本发明实施例基于标准编码器进行适当地修改,将配置信息和视频数据输入到修改后的目标编码器,编码产生码流。
[0164] 在标准编码器的基础上修改产生标准编码器时:
[0165] 首先,在标准编码器中,确定检查选项列表(checklist)中的功能项目所对应的代码位置,检查单功能项目是集成电路验证中需要验证的功能项目;
[0166] 其次,将检查单功能项目所对应的标准代码更换成约束随机代码,约束随机代码是在一定条件下产生的随机代码。
[0167] 其原理是将原有的计算过程去掉,直接赋值成一个随机的数据,使用验证技术的约束随机技术,改变概率分配以及约束关系,可以保证码流不出错,又能迅速的跑遍所有的checklist项。
[0168] 然后,加入checklist的监测项,目标编码器监测到checklist中的功能达到,便记录到一个文件中。覆盖率则是在checklist的功能实现的地方做一个文件打印的操作,如果当前功能被调用,则记录一个点被覆盖,统计这个文件中调用的功能和所有功能的比例,即被覆盖的功能点除以覆盖的功能点总数,就是当前的功能覆盖率。
[0169] 对于配置信息,例如h.264的checklist中有帧类型(slice_type),在目标编码器JM模型(H.264开源目标编码器之一)中的参数是img->type,在3个文件中被修改过,对原始目标编码器而言首先如果是非画面内(intra)到了限定的最大,强制成intra,否则,再看预测误差(sp slice)的周期到了,强制设成sp_slice,再看参考帧个数,1个是p_slice,2个是b_slice,最后看是否需要将b_slice换成p_slice。对于修改后的目标编码器而言,会约束随机产生img->type,即满足已经随机参数跟从文件读入配置参数。对于img->type主要是从文件中读入的input->intra_period,input->sp_periodicity等参数,其他可以随机。
[0170] 对于视频数据,例如mpeg4块的运动向量,通用目标编码器使用大小菱形等搜索法得到。这时要经过多次插值比较绝对值或者平方和得到最小,即最相关点,同时得到移动的方向和距离,即运动向量,该过程需要消耗大量CPU计算。在修改后的目标编码器,可以去掉运动向量的计算过程,直接随机一个和上次相近的运动向量,这样可以大大减小运算量,更能保证运动向量的覆盖率。
[0171] 实施例七:
[0172] 在本发明实施例中,目标解码器的作用是产生待测试设计运行所需的寄存器配置文件、视频数据,以及测试比对的仿真结果数据。
[0173] 本发明实施例对标准目标解码器进行适当修改,在标准解码器中添加生成硬件解码器所需的控制信号和数据的程序,生成目标解码器。
[0174] 修改的内容和作用主要是产生待测试设计运行所需的寄存器配置文件和视频数据,其中,寄存器配置文件是传送给驱动单元12驱动待测试设计的,仿真CPU所做的操作,例如slice层的解码等。视频数据是将来存放到硬件存储器中的数据,由目标解码器产生出来比特数据。寄存器配置文件的产生是根据硬件寄存器对计算单元配置的描述,在目标解码器解码出当前位置的配置记录,最后按照计算单元描述组成配置信息。视频数据是将数据按存储器格式,例如ddr双通道内存的几个bank等存放。
[0175] 实施例八:
[0176] 在本发明实施例中,视频数据的生成中使用了图4所示的方法来约束空间预测,还有两种方式同样可以得到空间相关的视频数据。
[0177] 第一种方式是找一个比较大的图片,例如4256*2848,取出配置所需大小的视频数据。
[0178] 第二种方式是随机从图片库中取出一张图片,用插值或者抽样成配置所需大小。
[0179] 在本发明实施例中,可以采取一种方案,即可以按照一定的概率,随机选取上述三种方法之一做为帧内产生数据的方法,此优化方法可提高速度和效率。
[0180] 作为本发明的一个优化实施例,更好的方式可以为随机“二选一”方式,一种方法采用上述图5所示的方法,另一种为上述两种方式的图片库合并,从混合的图片库,即包括了大图和小图的图片库中提取,这样可使方案进一步简化,提高整体效率。
[0181] 实施例九:
[0182] 在本发明实施例中,可以将设计规格定出来后,用某些码流库论证可行性,并生成个过程标准测试文档,使各个部分例如目标编码器,目标解码器,解码参考模型,监视器等可以使用标准文挡分开调试,以加快各个模块的设计过程。然后,设定待测试设计的子功能、分工,并产生标准的配置数据信息和子功能信息。
[0183] 实施例十:
[0184] 本发明实施例提供一种视频处理集成电路验证码流产生装置。该码流产生装置包括配置信息产生器111、视频数据产生器112和目标编码器113。
[0185] 配置信息产生器111,其功能是产生视频数据的生成或者编码所需要的配置信息,视频数据可以是Yuv数据或者RGB数据。
[0186] 一方面,配置信息产生器111产生部分配置信息输出给视频数据产生器112,用于视频数据产生器112控制视频数据的生成。配置信息产生器111输出到视频数据产生器112的配置信息包括视频的大小(视频像素的宽、高)和帧数等信息,这部分配置信息控制视频数据的生成。
[0187] 另一方面,配置信息产生器111产生完整的配置信息输出给目标编码器113。配置信息产生器111输出到目标编码器113的配置信息包括视频的大小(视频像素的宽、高)、帧数、码率,以及码流标准、码流标准的类(profile)和级(level)、搜索窗范围、工具等标准及其相关参数信息。
[0188] 视频数据产生器112,其功能是根据配置信息产生器111输入的配置信息,生成输出到目标编码器113的视频数据。
[0189] 为了满足验证覆盖率和调试的需要,本发明实施例在允许的范围内随机量化系数,在约束条件下生成具有一定空间相关性和时间相关性的视频数据,并具有一定细节,以突出视频突然变化时变化大的场景。
[0190] 本发明实施例采用帧内参考和帧间参考相结合的形式生成视频数据,使所生成的视频数据具有一定的时间相关和空间相关性。
[0191] 目标编码器113是在标准编码器的基础上修改产生的,其功能是根据视频数据产生器112输出的视频数据和配置信息产生器111输出的配置信息,输出编码后的数据,即满足覆盖率的码流。
[0192] 在本发明实施例中,根据验证系统的需要,建立概率分布的标准主要参数,以及可随时关闭的各个调试开关的配置信息,根据checklist用约束随机替换编码算法中的某些计算,产生有一定时间相关性和空间相关性的码流,保证了视频解码验证中覆盖率、可控性、完整性的要求。
[0193] 该验证系统充分利用标准编码器,标准解码器,主要工作都是在标准编码器或者标准解码器上增加配置一些文件输出,然后再将输出文件传到其他需要的位置,大大减少验证组的工作,并且建立一个满足编码器语言的覆盖率收集器,建立统一格式的数据库和收集方式,便于收集不同编码器的覆盖率。
[0194] 另外,对三种视频数据的产生方式进行随机选择,可以提高验证的速度和效率。
[0195] 其次,流程中每步可以并行,将上一步的结果保存为文件形式,如果上一步还没有完成或者出现问题,使用最开始研发时的标准输入可以暂时作调试比较,不会直接影响下一步的调试。
[0196] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。