计算解码耗时的方法、计算编码耗时的方法及其相关装置与流程

文档序号:25178490发布日期:2021-05-25 14:52阅读:156来源:国知局
计算解码耗时的方法、计算编码耗时的方法及其相关装置与流程

本申请涉及计算机技术领域,特别是涉及计算解码耗时的方法、计算编码耗时的方法及其相关装置。



背景技术:

现有技术存在有计算解码耗时和编码耗时的需求。例如,车技场景中,电子设备屏幕显示内容的投射应用有认证需求,在认证测试中包含屏幕显示延时(例如,车机屏幕画面相对于手机屏幕画面的时间差)的计算。在计算屏幕显示延时过程中,一般需要统计车机解码数据帧耗费的时间(即解码耗时)和手机对显示图像进行编码耗费的时间(即编码耗时)。



技术实现要素:

本申请主要的目的是提供计算解码耗时的方法、计算编码耗时的方法及其相关装置,从而可以分别计算出指定帧的解码耗时和编码耗时。

为达到上述目标,本申请采用的一个技术方案是一种计算解码耗时的方法,该方法包括:

获取带有第一标识的数据帧;

将数据帧发送至解码器由解码器进行解码,获取将数据帧输入解码器时的时间,以生成第一时间戳;

获取数据帧输出解码器时的时间,以生成第二时间戳;

获取指定帧的第一标识或图像内容,根据指定帧的第一标识或图像内容确认指定帧的解码耗时。

为达到上述目的,本申请采用的另一个技术方案是一种计算编码耗时的方法,该方法包括:

获取带有第三标识的数据帧;

将数据帧发送至编码器由编码器进行编码,获取将数据帧输入编码器时的时间,以生成第三时间戳;

获取数据帧输出编码器时的时间,以生成第四时间戳;

获取指定帧的第三标识或图像内容,根据指定帧的第三标识或图像内容确认指定帧的编码耗时。

为达到上述目标,本申请采用的又一个技术方案是一种电子装置,电子装置包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。

为达到上述目标,本申请采用的再一个技术方案是一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

以上方案,先获取到带有第一标识的数据帧,然后获取同一数据帧的两个关键时刻的时间(将数据帧传输进解码器的时间和从解码器接收到数据帧的时间),接着获取到指定帧的第一标识或图像内容,然后通过指定帧的第一标识或图像内容确认指定帧的解码耗时,这样通过指定帧的第一标识就可随时确定出指定帧的解码耗时,可以简单方便地通过指定帧的解码耗时判断解码器的性能。

附图说明

图1是本申请计算解码耗时的方法第一个实施方式的流程示意图;

图2是本申请计算解码耗时的方法第一个实施方式中带有第一标识的数据帧的流转示意图;

图3是本申请计算解码耗时的方法第一个实施方式添加第一标识的流程示意图;

图4是本申请计算解码耗时的方法第二个实施方式的流程示意图;

图5是本申请计算解码耗时的方法第三个实施方式的流程示意图;

图6是本申请计算编码耗时的方法第一个实施方式的流程示意图;

图7是本申请计算编码耗时的方法第二个实施方式的流程示意图;

图8是本申请计算编码耗时的方法第三个实施方式的流程示意图;

图9是本申请电子装置一实施方式的结构示意图;

图10是本申请计算机存储介质一实施方式的结构示意图。

具体实施方式

下面结合附图和实施方式对本申请进行详细说明。

在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结构或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。

关于本申请计算解码耗时的方法的更多流程和计算编码耗时的方法的更多流程可以分别参照以下计算解码耗时的方法和计算编码耗时的方法的实施方式。

请参阅图1,图1是本申请一种计算解码耗时的方法第一个实施方式的流程示意图。如图1所示,该方法包括如下步骤:

s101:获取带有第一标识的数据帧。

在本实施方式中,可以直接获取带有第一标识的数据帧。

在另一实施方式中,可以先获取数据帧,然后为数据帧添加上第一标识。数据帧包括帧头、数据部和帧尾。具体地,可将第一标识添加到数据帧的帧头或名称中。

在又一实施方式中,可以先获取到带有第二标识的数据帧,然后为数据帧添加上与第二标识相同或相对应的第一标识。其中,根据第二标识为数据帧添加第一标识之前,可以参考第二标识与第一标识的映射表(映射表中记录有第二标识与第一标识的对应关系)。或者,在为数据帧添加第一标识之后,可以将第二标识和第一标识的对应关系存储到映射表中。

第一标识应该是唯一的,从而可以将数据帧区分开来,即一个第一标识仅对应一个数据帧,这样在后续通过指定帧的第一标识查找指定帧的解码耗时时,可以精确地找到指定帧对应的数据帧,可以准确地知晓指定帧的解码耗时,从而确保指定帧的解码耗时的准确性和可靠性。

在一个应用场景中,每个数据帧都有自己的第一标识,从而通过第一标识可以将所有的数据帧区分开来。

在另一个应用场景中,可以部分数据帧带有第一标识,另一部分数据帧未带有第一标识,从而可以通过第一标识将带有第一标识的数据帧区分开来,以便通过指定帧的第一标识确定指定帧的解码耗时。

其中,第一标识的类型可以有多种。

其中一种类型是数字标号。例如,第一标识可以是1、2、3、4、5或6等数字。并且可以按照送入解码器的顺序,数据帧的第一标识可以依次增加或依次减少。例如,可以如图2所示,为输入到解码器的数据帧标记第一标识,之后每输入一数据帧,第一标识加一,比如:第一帧数据帧标记为1,输入6帧后,就产生1到6的第一标识。

另一种类型可以是系统时间。具体可将获取到每帧数据帧时的系统时间作为第一标识。系统上电后,时钟系统开始计时,任意两个数据帧被系统获取到的时间都是不相同的,将获取到每帧数据帧时的系统时间作为第一标识,可以确保任意两个数据帧的第一标识都是不相同的,即将获取到每帧数据帧时的系统时间作为第一标识可以确保第一标识的唯一性。

又一种类型可以是随机数。将随机数作为第一标识添加到数据帧中,需要确保随机数的唯一性。确保随机数的唯一性的方法可以是在随机数记录表中查找,随机数记录表中记录有已作为第一标识的随机数,如查询到该随机数已被使用,则再次生成一随机数,直到找到一未被作为第一标识的随机数,并将找到的未被作为第一标识的随机数作为第一标识添加到数据帧中。

再一种类型可以是数据帧的校验值(checksum)。

在本实施方式中,在为数据帧添加上第一标识之前,可以先获取触发指令。然后响应于触发指令,处理器或上层应用(例如qq、微信、地图等应用程序)给获取到的数据帧增加上第一标识。这样可以基于触发指令,给指定时间段内获取到的数据帧增加第一标识,然后只确定带有第一标识的数据帧的第一时间戳和第二时间戳,不必要确定全部数据帧的第一时间戳和第二时间戳,避免影响系统运行。另外,如图3所示,可以在给数据帧增加第一标识的同时:处理器或上层应用获取当前系统时间生成第一时间戳,将第一时间戳加入到数据帧中:并将数据帧发送给解码器。

s102:将数据帧发送至解码器由解码器进行解码,获取将数据帧输入解码器时的时间,以生成第一时间戳。

在本实施方式中,将数据帧发送给解码器时,获取当前系统的时间,并记录当前系统时间作为第一时间戳。

其中,第一时间戳,可以作为解码器接收到数据帧的时间。

在本实施方式中,记录第一时间戳和解码数据帧可分别由不同的主体负责。在将数据帧发送给解码器的同时,将当前系统的时间记录为第一时间戳,以在后续计算该数据帧的解码耗时时,能够查找到记录的该数据帧的第一时间戳。其中,可将第一时间戳记录到日志中。当然,也可将第一标识存储在日志中。并可以在日志中记录数据帧的第一标识和第一时间戳的对应关系。或将第一时间戳记录到存储器的时间表中,该时间表记录有第一标识和第一时间戳的对应关系。

在另一实施方式中,将数据帧发送给解码器的同时,可获取系统当前的时间,将系统当前的时间作为第一时间戳,并将第一时间戳同数据帧一同送入到解码器中,以便解码器完成数据帧的解码后将数据帧和第一时间戳一同输出,从而系统在获取到解码后的数据帧的同时可以获取到数据帧对应的第一时间戳。

在又一实施方式中,将数据帧发送给解码器的过程中,获取系统当前的时间作为第一时间戳,在数据帧的名称中添加第一时间戳,并将名称修改后的数据帧发送给解码器。从而在系统获取到解码器解码后的数据帧时,可以通过读取数据帧的名称获取到数据帧对应的第一时间戳。

在再一实施方式中,在将数据帧发送给解码器的过程中:获得第一时间戳后,可以将第一时间戳添加到数据帧的帧头中,即可以获得包含有第一时间戳的数据帧;完成添加第一时间戳的步骤后立即将添加有第一时间戳的数据帧发送给解码器。

s103:获取数据帧输出解码器时的时间,以生成第二时间戳。

接收解码器输出的一帧数据帧,可以获取当前系统的时间,并记录当前的系统的时间作为第二时间戳。

其中,第二时间戳,可以作为解码器将解码数据帧得到的数据帧输出的时间。

在本实施方式中,接收到解码器输出的数据帧时,将系统当前的时间记录为第二时间戳,以在后续计算该数据帧的解码耗时时,能够查找到记录的该数据帧的第二时间戳。其中,可将第二时间戳记录到日志中。并且,在日志中还可以记录数据帧的第一标识和第二时间戳的对应关系。或将第二时间戳记录到存储器的时间表中,该时间表记录有第一标识和第二时间戳的对应关系。

在另一实施方式中,接收到解码器输出的数据帧的同时,可接收到解码器输出的第一时间戳(即数据帧的第一时间戳),此时系统可将系统当前的时间记录为第二时间戳,并且可将第二时间戳放置于数据帧对应的地方。

在又一实施方式中,接收到解码器输出的数据帧时,将系统当前的时间记录为第二时间戳,在数据帧的名称中添加第二时间戳,从而可以得到名称中包含有第一时间戳和第二时间戳的数据帧。

在再一实施方式中,解码器接收到包含有第一时间戳的数据帧后,解码器会将数据帧解码,并可以输出包含有第一时间戳的数据帧。另外,接收解码器输出的数据帧后,可以将第二时间戳添加到数据帧的帧头中,即可以获得包含有第二时间戳的数据帧。

s104:获取指定帧的第一标识或图像内容,根据指定帧的第一标识或图像内容确认指定帧的解码耗时。

在本实施方式中,获取指定帧的第一标识,将带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

具体地,可以先获取指定帧的第一标识,然后通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧的第一时间戳和第二时间戳。可以通过带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值计算出指定帧的解码耗时。这样,接收到解码器/编码器输出的数据帧后,不立即计算数据帧的解码耗时,直至获取到指定帧的第一标识和相关信息(例如图像信息)后,才根据指定帧的第一标识或图像信息确定指定帧的第一时间戳和第二时间戳,然后通过计算指定帧的第二时间戳和第一时间戳的差值得到指定帧的解码耗时,这样无需计算出全部数据帧的解码耗时,计算量比较小,避免影响系统运行。

在本实施方式中,通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧的第一时间戳和第二时间戳可以包括:通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧,进而从带有指定帧的第一标识的数据帧的帧头/名称中读取到带有指定帧的第一标识的数据帧的第一时间戳和第二时间戳。

在另一实施方式中,通过指定帧的第一标识在日志或时间表中查找出指定帧的第一标识对应的第一时间戳和第二时间戳,并将指定帧的第一标识对应的第一时间戳和第二时间戳作为带有指定帧的第一标识的数据帧的第一时间戳和第二时间戳。

在其他实施方式中,可以获取指定帧的图像内容,找到与所述图像内容相匹配的数据帧,将与所述与所述图像内容相匹配的数据帧的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

具体地,可以先获取指定帧的图像内容;接着将指定帧的图像内容与数据帧相匹配;匹配成功时,将与数据帧相关联的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

另外,在获取指定帧的图像内容之前,包括:将数据帧与数据帧的第一时间戳和第二时间戳相关联,并存储数据帧、第一时间戳和第二时间戳。

可选的关联数据帧和第一时间戳和第二时间戳的方式可以是:将数据帧的第一时间戳和第二时间戳添加到数据帧的名称中。在将第一时间戳和第二时间戳添加到数据帧的名称中时,还可以在数据帧的名称中加入数据帧的第一标识。例如,数据帧命令规则可以是:[index]_[firsttime][secondtime].bmp,其中index为数据帧的第一标识,firsttime为第一时间戳,secondtime为第二时间戳,比如:其中一帧数据帧的名称为3_2:10:35_2:11:26.bmp,代表第3帧数据帧的第一时间戳为2:10:35,第3帧数据帧的第二时间戳为2:11:26。这样在用指定帧的图像内容确定指定帧的解码耗时时,并且查找到与指定帧的图像内容匹配的数据帧,可以通过读取数据帧的名称确定指定帧的解码耗时,简单方便。

在本实施方式中,先获取到带有第一标识的数据帧,然后获取同一数据帧的两个关键时刻的时间(将数据帧传输进解码器的时间和从解码器接收到数据帧的时间),接着获取到指定帧的第一标识或图像内容,然后通过指定帧的第一标识或图像内容确认指定帧的解码耗时,这样通过指定帧的第一标识就可随时确定出指定帧的解码耗时,可以简单方便地通过指定帧的解码耗时判断解码器的性能。

请参阅图4,图4是本申请一种计算解码耗时的方法第二个实施方式的流程示意图。如图4所示,该方法包括如下步骤:

s201:获取带有第一标识的数据帧。

可如s101所述,在此不做赘述。

s202:将数据帧发送至解码器由解码器进行解码,获取将数据帧输入解码器时的时间,以生成第一时间戳。

可如s102所述,在此不做赘述。

s203:获取数据帧输出解码器时的时间,以生成第二时间戳。

可如s103所述,在此不做赘述。

s204:计算所述数据帧的第二时间戳与第一时间戳的差值。

生成数据帧的第二时间戳后,通过记录的第二时间戳和第一时间戳的差值,可以知晓解码器将数据帧输出的时间和解码器接收到数据帧的时间的差值,从而可以知晓解码器解码该帧数据帧所耗费的时间,即可以确定数据帧的解码耗时。这样在生成数据帧的第二时间戳后,先计算数据帧的第二时间戳和第一时间戳的差值,后续接收到指定帧的第一标识或图像信息后可以直接根据指定帧的第一标识或图像信息确定指定帧的解码耗时。

可以理解的是,数据帧的第二时间戳和第一时间戳的差值即数据帧的解码耗时。

在本实施方式中,接收到解码器输出的数据帧后,获取数据帧的第一时间戳,计算出数据帧的第二时间戳和第一时间戳的差值。具体地,可以从日志或存储器的时间表中读取到数据帧的第一时间戳。

在另一实施方式中,接收到解码器一同输出的数据帧和第一时间戳后,利用记录的第二时间戳和解码器输出的第一时间戳计算出数据帧的第二时间戳和第一时间戳的差值。

在又一实施方式中,接收到解码器输出的数据帧后,从数据帧的名称中读取到数据帧的第一时间戳,并计算出数据帧的第二时间戳和第一时间戳的差值。当然,或者可以从数据帧的名称中读取到数据帧的第一时间戳和第二时间戳,然后计算出数据帧的第二时间戳和第一时间戳的差值。

在再一实施方式中,在解码器输出的是包含第一时间戳的数据帧时,可以从数据帧中读取第一时间戳,并计算该数据帧的第二时间戳和第一时间戳的差值。

在本实施方式中,在计算出数据帧的第二时间戳和第一时间戳的差值后,可以将数据帧的第二时间戳和第一时间戳的差值添加到数据帧的名称或数据帧的帧头中。

在另一实施方式中,在计算出数据帧的第二时间戳和第一时间戳的差值后,可以将数据帧的第二时间戳和第一时间戳的差值和数据帧的第一标识的对应关系记录到日志文件或存储器中的时间表中。

s205:获取指定帧的第一标识,将带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

在本实施方式中,获取到指定帧的第一标识后,可以直接通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值,然后将带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

在本实施方式中,通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值可以包括:通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧,进而从数据帧的名称/帧头中读取到带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值。

在另一实施方式中,通过指定帧的第一标识在日志文件或时间表中查找出指定帧的第一标识对应的第二时间戳和第一时间戳的差值,即可以通过指定帧的第一标识查找出带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值。

在本实施方式中,先获取到带有第一标识的数据帧,然后获取同一数据帧的两个关键时刻的时间(将数据帧传输进解码器的时间和从解码器接收到数据帧对应的数据帧的时间),接着获取到指定帧的第一标识,然后通过带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值确定指定帧的解码耗时,这样通过指定帧的第一标识就可随时查找到确定出指定帧的解码耗时,可以简单方便地通过指定帧的解码耗时判断解码器的性能。

当然,在其他实施方式中,在s204之后,除s205—通过指定帧的第一标识确定指定帧的解码耗时方法外,还有一种查找指定帧的解码耗时的方法。这种查找指定帧的解码耗时的方法可以包括:将数据帧的第二时间戳和第一时间戳的差值与数据帧相关联,并存储数据帧;获取指定帧的图像内容;将图像内容与数据帧相匹配;匹配成功时,将与数据帧相关联的第二时间戳和第一时间戳的差值作为指定帧的解码耗时。

可选的关联第二时间戳和第一时间戳的差值和数据帧的方式可以是:将数据帧的第二时间戳和第一时间戳的差值添加到数据帧的名称中。在将第二时间戳和第一时间戳的差值加入到数据帧的名称中时,还可以在数据帧的名称中加入数据帧的第一标识。例如,数据帧命令规则可以是:[index]_[time].bmp,其中index为数据帧的第一标识,time为第二时间戳和第一时间戳的差值(单位毫秒),比如:其中一帧数据帧的名称为3_65.bmp,代表第3帧数据帧的第二时间戳和第一时间戳的差值为65毫秒。这样在用指定帧的图像内容确定指定帧的解码耗时时,查找到与指定帧的图像内容匹配的数据帧,可以通过读取数据帧的名称确定指定帧的解码耗时,简单方便。或者在通过指定帧的第一标识确定指定帧的解码耗时时,查找到指定帧的第一标识对应的数据帧时,可以通过读取数据帧的名称中的第二时间戳和第一时间戳的差值确定指定帧的解码耗时。

请参阅图5,图5是本申请一种计算解码耗时的方法第三个实施方式的流程示意图。如图5所示,该方法包括如下步骤:

s301:获取带有第一标识的数据帧。

可如s101所述,在此不做赘述。

s302:将数据帧发送至解码器由解码器进行解码,获取将数据帧输入解码器时的时间,以生成第一时间戳。

可如s102所述,在此不做赘述。

s303:获取数据帧输出解码器时的时间,以生成第二时间戳。

可如s103所述,在此不做赘述。

s304:将日志信息存储到日志文件中,日志信息至少包括数据帧的第一标识、第一时间戳和所述第二时间戳。

在一实施方式中,生成第二时间戳后,可以将数据帧的第一时间戳、第一标识和生成的第二时间戳等日志信息存储到日志文件中。

其中,数据帧的第一时间戳和/或第一标识可以从数据帧的帧头和/或数据帧的名称中读取出来。在其他实施方式中,数据帧的第一时间戳也可以与数据帧被解码器一同输出。

在另一实施方式中,在生成第二时间戳后,可以将数据帧的第一标识、第一时间戳和第二时间戳等日志信息存储到日志文件中。其中,数据帧的第一时间戳、第二时间戳和第一标识可以从数据帧的帧头和/或数据帧的名称中读取出来。

可以理解的是,可以将数据帧的第一标识、第一时间戳和第二时间戳的对应关系一同存储到日志文件中,这样在后续查找指定帧的解码耗时时,可以通过指定帧的第一标识在日志文件中查找第一标识对应的数据帧的解码耗时,从而可以准确地确定指定帧的解码耗时,从而可以准确地判断解码器的性能。

s305:获取指定帧的第一标识。

在本实施方式中,可以直接获取指定帧的第一标识。

在另一实施方式中,可以先获取与第一标识相同或相应的第二标识,然后通过指定帧的第二标识查找到指定帧的第一标识。通过指定帧的第二标识查找出指定帧的第一标识具体可以包括:在映射表中查找出与第二标识对应的第一标识。

其中,第二标识可为编码方给数据帧添加的标识。通过第一标识和第二标识相关联,可以在确定屏幕显示延时时,直接通过指定帧的第二标识确定指定帧的编码耗时和解码耗时。具体地,可以先获取指定帧的第二标识,然后编码方根据指定帧的第二标识确定指定帧的编码耗时;解码方根据指定帧的第二标识确定指定帧的第一标识,进而解码方根据指定帧的第一标识确定指定帧的解码耗时。然后可以从编码方和解码方分别获取指定帧的编码耗时和解码耗时。

s306:查找日志文件,找到指定帧的第一标识对应的第一时间戳和第二时间戳。

s307:将指定帧的第一标识对应的第一时间戳和第二时间戳的差值作为指定帧的解码耗时。

在本实施方式中,先获取到带有第一标识的数据帧,然后获取同一数据帧的两个关键时刻的时间(将数据帧传输进解码器的时间和从解码器接收到数据帧对应的数据帧的时间),接着获取到指定帧的第一标识,然后通过带有指定帧的第一标识的数据帧的第二时间戳和第一时间戳的差值确定指定帧的解码耗时,这样通过指定帧的第一标识就可随时查找到确定出指定帧的解码耗时,可以简单方便地通过指定帧的解码耗时判断解码器的性能。

另外,在通过计算数据帧的解码耗时测试解码器性能时,数据帧经过解码器,需要遵循先入先出的原则,即按送入解码器的顺序进行解码,这样可以准确地通过解码耗时判断解码器性能。可以i帧和p帧之类的数据帧的解码耗时判断解码器性能。其中,i帧是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。p帧是需要参考前面的i帧才能进行编码,p帧表示的是当前帧画面与前一帧(前一帧可能是i帧也可能是p帧)的差别。解码p帧时需要用之前缓存的画面叠加上本帧数据帧,生成最终画面。与i帧相比,p帧记录是的与前一帧的差异,所以通常占用更少的数据位。此外,可以不通过b帧类型的数据帧判断解码器的性能,因为b帧是记录的是本帧与前后帧的差别。也就是说要解码b帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面,即b帧经过解码器时不一定遵循先入先出的原则,从而b帧的解码耗时可能不能反映解码器的解码性能。

当然,在通过计算数据帧的解码耗时估计屏幕显示延时时,数据帧经过解码器,可以要遵循先入先出的原则,即送入解码器的数据帧可以包括任意类型的数据帧(即可以包括i帧、b帧和p帧等各种类型的数据帧)。

请参阅图6,图6是本申请一种计算编码耗时的方法第一个实施方式的流程示意图。如图6所示,该方法包括如下步骤:

s401:获取带有第三标识的数据帧。

其中,带有第三标识的数据帧是由应用程序或处理器对无标识的数据帧进行标识生成的。

可以响应于触发指令,给数据帧添加第三标识,这样可以基于触发指令,给指定时间段内的数据帧增加第三标识,这样可以仅计算具有第三标识的数据帧的编码耗时,不必要对编码器编码的全部数据帧计算编码耗时,避免影响系统运行。另外,可以在给数据帧增加第三标识的同时:处理器或上层应用获取当前系统时间生成第三时间戳,将第三时间戳加入到数据帧中;并可以将带有第三时间戳的数据帧发送给编码器。

第三标识应该是唯一的,这样可以将每个数据帧区别开来。其中,第三标识的类型可以有多种。第三标识的类型可以是数字标号、系统当前时间、随机数或校验值(checksum)。

s402:将数据帧发送至编码器由编码器进行编码,获取将数据帧输入编码器时的时间,以生成第三时间戳。

s403:获取数据帧输出编码器时的时间,以生成第四时间戳。

s404:获取指定帧的第三标识或图像内容,根据指定帧的第三标识或图像内容确认指定帧的编码耗时。

在一实施方式中,获取指定帧的第三标识,将带有指定帧的第三标识的数据帧的第四时间戳和第三时间戳的差值作为指定帧的编码耗时。

在另一实施方式中,可以获取指定帧的图像内容,找到与图像内容相匹配的数据帧,将与图像内容相匹配的数据帧的第四时间戳和第三时间戳的差值作为指定帧的编码耗时。

当然,在获取指定帧的图像内容之前,可以包括:将数据帧与数据帧的第三时间戳和第四时间戳相关联,并存储数据帧、第三时间戳和第四时间戳。

在本实施方式中,先获取到带有第三标识的数据帧,通过获取同一数据帧的两个关键时刻的时间(将编码图像传输进编码器的时间和从编码器接收到编码图像对应的数据帧的时间),接着获取到指定帧的第三标识或图像内容,然后通过指定帧的第一标识或图像内容确认指定帧的编码耗时,这样通过指定帧的第三标识或图像内容就可随时确定出指定帧的编码耗时,可以简单方便地通过指定帧的编码耗时判断编码器的性能。

请参阅图7,图7是本申请一种计算遍码耗时的方法第二个实施方式的流程示意图。如图7所示,该方法包括如下步骤:

s501:获取带有第三标识的数据帧。

数据帧的第三标识可以与数据帧的第四标识相同或相对应。

其中,第四标识可为解码方给数据帧添加的标识。通过第三标识和第四标识相关联,可以在确定屏幕显示延时时,直接通过指定帧的第三标识确定指定帧的编码耗时和解码耗时。具体地,可以先获取指定帧的第三标识,然后编码方根据指定帧的第三标识确定指定帧的编码耗时;解码方根据指定帧的第三标识确定指定帧的第四标识,进而解码方根据指定帧的第四标识确定指定帧的解码耗时。然后可以从编码方和解码方分别获取指定帧的编码耗时和解码耗时。

s502:将数据帧发送至编码器由编码器进行编码,获取将数据帧输入编码器时的时间,以生成第三时间戳。

s503:获取数据帧输出编码器时的时间,以生成第四时间戳。

s504:计算数据帧的第四时间戳和第三时间戳的差值。

s505:获取指定帧的第三标识,将带有指定帧的第三标识的数据帧的第四时间戳和第一时间戳的差值作为指定帧的编码耗时。

请参阅图8,图8是本申请一种计算遍码耗时的方法第三个实施方式的流程示意图。如图8所示,该方法包括如下步骤:

s601:获取带有第三标识的数据帧。

s602:将数据帧发送至编码器由编码器进行编码,获取将数据帧输入编码器时的时间,以生成第三时间戳。

s603:获取数据帧输出编码器时的时间,以生成第四时间戳。

s604:将日志信息存储到日志文件中,日志信息至少包括数据帧的第三标识、第三时间戳和所述第四时间戳。

s605:获取指定帧的第三标识。

s606:查找日志文件,找到指定帧的第三标识对应的第三时间戳和第四时间戳。

s607:将指定帧的第三标识对应的第三时间戳和第四时间戳的差值作为指定帧的编码耗时。

另外,为测试一设备将屏幕显示内容投射到另一设备的应用中的屏幕显示延时,可以通过指定帧的查找内容(例如图像内容或标识信息)在两个设备(即编码方和解码方)分别找出指定帧的编码耗时和解码耗时,然后通过指定帧的编码耗时和解码耗时估算出屏幕显示延时。

在一个实施方式中,可以先获取指定帧的第三标识,然后编码方根据指定帧的第三标识确定指定帧的编码耗时;解码方根据指定帧的第三标识确定指定帧的第一标识,进而解码方根据指定帧的第一标识确定指定帧的解码耗时。然后可以从编码方和解码方分别获取指定帧的编码耗时和解码耗时。

请参阅图9,图9是本申请电子装置一实施方式的结构示意图。本实施方式中的电子装置10包括:存储器11、处理器12以及存储在存储器11中并可在处理器12上运行的计算机程序21。处理器12执行计算机程序21时实现上述计算解码耗时的方法和/或计算编码耗时的方法的步骤,例如图1所示的步骤s101。

电子装置10可以是车载娱乐设备或者车载导航设备等。电子装置10可包括,但不仅限于,处理器12、存储器11。本领域技术人员可以理解,所述示意图仅仅是电子装置10的示例,并不构成对电子装置10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子装置10还可以包括输入输出设备、网络接入设备、总线等。处理器12可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

电子装置10集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质20中。基于这样的理解,本申请实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序21来指令相关的硬件来完成,如图10所示,计算机程序21可存储于一计算机存储介质20中,该计算机程序21在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,计算机程序21包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。

以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1