掌桥专利:专业的专利平台
掌桥专利
首页

数据解码方法、装置、设备及存储介质

文献发布时间:2023-06-19 18:37:28


数据解码方法、装置、设备及存储介质

技术领域

本申请属于音视频编解码技术领域,具体涉及一种数据解码方法、装置、设备及存储介质。

背景技术

在数字电视接收到传输流(Transport Stream,TS)后,一般通过解复用硬件将传输流内部封装的打包的基本码流(Packet Elementary Stream,PES)数据放入音视频各自离散的环形缓冲中,再通过驱动软件从PES数据中抽取出帧码流数据(编码后的音视频帧数据)放入帧内存中,并将帧码流数据从帧内存中拷贝至解码器侧,以便解码器解码,以得到音视频帧数据。

由于帧码流数据被多次拷贝,导致传输流传送至解码器的时间较长,进而导致数据解码的效率较低。

发明内容

本申请实施例涉及一种数据解码方法、装置、设备及存储介质,提高了数据解码的效率。

第一方面,本申请实施例提供一种数据解码方法,包括:

根据打包的基本码流PES数据,确定多个单元数据;

对多个单元数据执行内存写入操作,以及在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据,内存写入操作用于将多个单元数据写入至预设内存。

在一种可能的实施方式中,对多个单元数据执行内存写入操作,以及对预设内存中未解码单元数据执行解码操作,得到音视频数据,包括:

通过第一进程对多个单元数据执行内存写入操作,以及,

通过第二进程在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据;其中,第一进程和第二进程并行执行。

在一种可能的实施方式中,对预设内存中未解码单元数据进行解码操作,得到音视频数据,包括:

在未解码单元数据中确定至少一个帧码流数据,帧码流数据包括至少一个未解码单元数据,一个帧码流数据对应一个音视频帧数据;

依次对至少一个帧码流数据进行解码操作,得到音视频数据。

在一种可能的实施方式中,针对任意一个帧码流数据,在未解码单元数据中确定一个帧码流数据,包括:

确定帧码流数据的起始位置和偏移位置;

根据起始位置和偏移位置,在未解码单元数据中确定帧码流数据。

在一种可能的实施方式中,将多个单元数据写入至预设内存,包括:

在预设内存中确定目标内存;

将多个单元数据写入至目标内存。

在一种可能的实施方式中,在预设内存中确定目标内存,包括:

确定预设内存中未解码单元数据的最后一个字节在预设内存中为第一位置;

确定预设内存中已解码单元数据的最后一个字节在预设内存中的第二位置;

将第一位置和第二位置之间的内存确定为目标内存。

在一种可能的实施方式中,预设内存为物理地址离散而逻辑地址连续的内存,或者预设内存为物理地址和逻辑地址均连续的内存。

在一种可能的实施方式中,根据PES数据,确定多个单元数据,包括:

确定至少一个起始码;

根据至少一个起始码,在PES数据中确定至少一个单元数据位置;

根据至少一个单元数据位置,在PES数据中确定多个单元数据。

第二方面,本申请实施例提供一种数据解码装置,包括

确定模块,用于根据PES数据,确定多个单元数据;

写入模块,用于对所述多个单元数据执行内存写入操作,所述内存写入操作用于将所述多个单元数据写入至预设内存;

解码模块,用于在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据。

第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器;

存储器存储计算机执行指令;

处理器执行存储器存储的计算机执行指令,使得处理器执行第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时用于实现第一方面任一项所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的方法。

第六方面,本申请实施例提供一种芯片,芯片上存储有计算机程序,计算机程序被芯片执行时,实现如第一方面任一项所述的方法。

在一种可能的实施方式中,芯片为芯片模组中的芯片。

本申请实施例提供一种数据解码方法、装置、设备及存储介质,该方法中,获取PES数据;从PES数据中获取多个单元数据;对多个单元数据执行内存写入操作,以及在预设内存中对预设内存中未解码单元数据进行解码操作,得到音视频数据,内存写入操作用于将多个单元数据写入至预设内存。不仅可以在预设内存中执行内存写入操作,还可以在预设内存中直接进行解码,无需反复拷贝数据,提高了数据解码的效率。

附图说明

图1为本申请实施例提供的一种应用场景示意图;

图2为本申请实施例提供的一种数据解码方法的流程示意图;

图3为本申请实施例提供的另一种数据解码方法的流程示意图;

图4为本申请实施例提供的目标内存的结构示意图;

图5为本申请实施例提供的写入操作时各个指针在预设内存中的位置;

图6为本申请实施例提供的预设内存使用方法的流程示意图;

图7为本申请实施例提供的指针指向的位置的示意图;

图8为本申请实施例提供的一种数据解码装置的结构示意图;

图9为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,尽管本申请实施例中采用术语“第一”、“第二”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。可选地,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。

应当理解,术语“包含”、“包括”表明存在之前提及的特征、步骤、操作,但不排除一个或至少一个其他特征、步骤、操作的存在、出现或添加。本申请使用的术语“和/或”等可被解释为包括性的,或意味着任一个或任何组合。可选地,“A和/或B”意味着“以下任一个:A;B;A和B”。另外,本文中字符“/”一般表示前后关联对象是一种“或”的关系。

应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括至少一个子步骤或者至少一个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

为了便于理解,下面结合图1,对本申请实施例所适用的应用场景进行说明。

图1为本申请实施例提供的一种应用场景示意图。请参见图1,电子设备包括解复用(Demux)硬件、解码器和播放器。当电子设备接收到TS后,可以通过解复用硬件得到帧码流数据,将帧码流数据传输给解码器解码后得到音视频数据,将音视频数据传输给播放器,播放器可以对音视频数据进行播放。

需要说明的是,图1仅为本申请实施例的一种示例性说明,并不应当将其作为本申请保护范围的限制。例如,电子设备中的解复用硬件、解码器和播放器可以为集成在一起的设备,也可以为通过信号线进行连接的系统,本申请对此不作限定。

在上述过程中,帧码流数据被多次拷贝,导致传输流传送至解码器的时间较长,进而导致数据解码的效率较低;同时,存放帧码流数据的帧内存被动态反复分配,将导致帧内存过于碎片化并增加内存的分配时间;并且反复分配内存以及数据拷贝,将导致电子设备的功耗增加。

为了避免上述技术问题,本申请实施例提供一种数据解码方法,预设内存只需分配一次,避免了内存过于碎片化;并且电子设备可以在预设内存中存放帧码流数据,同时可以在预设内存中对帧码流数据进行解码,避免了反复对帧码流数据进行反复拷贝,提升了数据解码的效率,同时降低了电子设备的功耗。

下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。

图2为本申请实施例提供的一种数据解码方法的流程示意图。请参见图2,该方法包括:

S201、从PES数据中获取多个单元数据。

本申请实施例的执行主体可以为数字电视等电子设备,也可以是设置在电子设备中的数据解码装置,数据解码装置可以通过软件实现,也可以通过软件和硬件的结合实现。

PES数据可以是音频PES数据和/或视频PES数据。

例如,PES数据可以是封装高效视频编码(High Efficiency Video Coding,HEVC)数据的PES数据。

在一种可能的实现方式中,电子设备在接收到传输流后,可以通过包标识符(PacketIdentifier,PID)对传输流进行过滤,得到PES数据。

电子设备获取PES数据后,可以将PES 数据放入音视频各自离散的环形缓冲中。

单元数据可以是封装有帧头的基本码流数据。例如,在电视台数据源端视频数据经HEVC编码后可由多个网络抽象层单元(Network Abstraction Layer Unit,NALU)组成。

一帧音视频数据经编码后可由至少一个单元数据组成,即一帧音视频数据对应至少一个单元数据。

S202、对多个单元数据执行内存写入操作,以及在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据,内存写入操用于将多个单元数据写入至预设内存中。

预设内存可以为物理地址离散而逻辑地址连续的内存,也可以为物理地址和逻辑地址均连续的内存。

若预设内存为物理地址离散的内存,可以通过页表来显示各个物理地址的内存。

预设内存可以为环形内存。

在本申请实施例中,预设内存只需要分配一次,避免了内存过于碎片化。

为了避免数据的反复拷贝,可以根据不同系统平台和框架决定分配的内存形式。如果解码器支持输入输出内存管理单元(Input/Output Memory Management Unit,IOMMU),则可以动态分配一段物理地址离散而逻辑地址连续的内存用来循环使用以存放单元数据;如果解码器不支持IOMMU,则通过连续内存分配器(Contiguous MemoryAllocation,CMA)或预留内存方式分配一段物理地址和逻辑地址均连续的内存。但无论哪种情况这段内存都可跨进程传递并循环使用。

一种可能的实现方式中,电子设备可以通过第一进程对多个单元数据执行内存写入操作,以及通过第二进程在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据;其中,第一进程和第二进程可以并行执行。

通过并行执行第一进程和第二进程不仅可以提升内存的使用效率,还可以提升数据解码的效率。

在图2所示的实施例中,电子设备从PES数据中获取多个单元数据,对多个单元数据执行内存写入操作,以及在预设内存中对预设内存中未解码单元数据进行解码操作,得到音视频数据,内存写入操作用于将多个单元数据写入至预设内存。不仅可以在预设内存中执行内存写入操作,还可以在预设内存中直接进行解码,无需反复拷贝数据,提高了数据解码的效率,同时降低了电子设备的功耗。

在图2所示实施例的基础上,下面结合图3详细说明数据解码方法。

图3为本申请实施例提供的另一种数据解码方法的流程示意图。请参见图3,该方法包括:

S301、获取PES数据。

S302、确定至少一个起始码。

在一个PES数据中,若一个数据单元组成一帧音视频帧数据,则每个数据单元中均具有起始码;若多个数据单元组成一帧音视频帧数据,则多个数据单元中的第一个数据单元具有起始码,剩余的数据单元中不具有起始码。

若多个PES数据组成一帧音视频帧数据,则第一个PES数据中具有起始码,剩余的PES数据中可能只包含数据,不具有起始码。

起始码可以根据不同码流的编码规则设置。起始码的结构可以为0x000001XX或0x00000001XX,例如,对于H264码流,可以设置起始码为0x00000148。

S303、根据至少一个起始码,在PES数据中确定至少一个单元数据位置。

确定至少一个起始码后,解复用硬件/驱动软件可以根据确定的起始码对PES数据所在的环形缓冲进行一次扫描,即可确定至少一个单元数据位置。

因为PES是被放入环形缓冲中,因此,根据确定的至少一个起始码可以确定至少一个单元数据在环形缓冲中的位置。

本申请实施例所指的位置可以是物理地址,也可以是逻辑地址,其中,逻辑地址为虚拟地址。

确定至少一个单元数据位置后,记录至少一个单元数据位置。

S304、根据至少一个单元数据位置,在PES数据中确定多个单元数据。

若一个PES数据中只有一个单元数据位置,可以将单元数据位置之后的所有单元数据确定为一帧音视频数据的单元数据。

若一个PES数据中有多个单元数据位置,可将两个单元数据位置之间的单元数据确定为一帧音视频数据的单元数据。

若多个PES数据中只有第一个PES数据中有一个单元数据位置,可以将第一个PES数据中单元数据位置之后的所有单元数据和剩余PES数据中的单元数据确定为一帧音视频数据的单元数据。

S305、将多个单元数据写入至预设内存。

在一种可能的实现方式中,可以通过以下方式将多个单元数据写入至预设内存中:在预设内存中确定目标内存;将多个单元数据写入至目标内存。

目标内存为可使用的内存。初始时,预设内存中所有的内存均为目标内存。

在一种可能的实现方式中,可以通过以下方式在预设内存中确定未使用的内存:确定未解码单元数据的最后一个字节在预设内存中为第一位置,以及已解码单元数据的最后一个字节在预设内存中的第二位置;将第一位置和第二位置之间的内存确定为目标内存。

第一位置和第二位置均可以是对应字节相对于预设未存起始位置的偏移位置。

第一位置可以是目标内存的起始位置,第二位置可以是目标内存的终止位置;数据可以从起始位置开始写入,按照数据存储的方向写入。如图4所示,数据存储的方向为顺时针方向,整个圆环代表预设内存,其中,填充部分为目标内存。

第一位置和第二位置均可以是字节的末尾位置。

S306、在未解码单元数据中确定至少一个帧码流数据,帧码流数据包括至少一个未解码单元数据。

一个帧码流数据对应一个音视频帧数据。

在一种可能的实现方式中,针对任意一个帧码流数据,可以通过以下方式在未解码单元数据中确定一个帧码流数据:确定帧码流数据的起始位置和偏移位置;根据起始位置和偏移位置,在未解码单元数据中确定帧码流数据。

在预设内存中,帧码流数据的起始位置和偏移位置,均可以是相对于预设内存的起始位置的偏移值。

S307、依次对至少一个帧码流数据进行解码操作,得到音视频数据。

在确定帧码流数据后,可以将帧码流数据的位置信息发送给解码器,解码器根据帧码流数据的位置信息对预设内存中的帧码流数据进行解码操作,以得到音视频数据。

在解码完成后,可以删除预设内存中已解码单元数据;也可以不删除预设内存中已解码单元数据,在后续数据写入时自动覆盖已解码单元数据。

在图3所示实施例中,电子设备获取PES数据;确定至少一个起始码,根据至少一个起始码,在PES数据中确定多个单元数据的位置;根据多个单元数据的位置,在PES数据中确定多个单元数据;将多个单元数据写入至预设内存;在未解码单元数据中确定至少一个帧码流数据,帧码流数据包括至少一个未解码单元数据;依次对至少一个帧码流数据进行解码操作,得到音视频数据。不仅可以在预设内存中执行内存写入操作,还可以在预设内存中直接进行解码,无需反复拷贝数据,提高了数据解码的效率,同时降低了电子设备的功耗。

在上述任意实施例的基础上,下面结合图5和图6来说明预设内存的使用方法。

图5为本申请实施例提供的写入操作时各个指针在预设内存中的位置。请参见图5,预设内存中包括5个指针,其中,起始指针指向预设内存的起始地址,并且起始指针的指向的位置不会发生改变;框架指针指向预设内存内尚未组帧完成的单元数据的第一个字节;边界指针指向预设内存内尚未组帧完成的单元数据的起始码的位置,每次写完一个完整的单元数据后更新边界指针的位置;写指针指向最新写入数据所在的位置;解码已消耗指针指向解码已消耗数据位置,由于预设内存是循环使用的,需要解码完成后更新解码已消耗指针的位置,避免写指针偏移过快导致的数据覆盖。

需要说明的是,图5中各个指针的名称只是示例性的,并不应当将其作为本申请保护范围的限制。例如起始指针也可以称为第一指针。

图6为本申请实施例提供的预设内存使用方法的流程示意图。请参见图6,包括以下步骤:

S601、在初始分配内存时,所有指针都指向内存的起始位置。

S602、将单元数据写入预设内存中。

S603、判定写入的单元数据的起始几个字节是否为设定的起始码(新的起始码开始)。

若是,则执行S604。

若否,则执行S605。

S604、更新边界指针。

将边界指示指向单元数据起始码所在的位置

S605、更新写指针。

将写指针的位置更新至最新写入数据的末尾部分对应的位置。

S606、若边界指针与框架指针指向的位置不同,则判定边界指针是否指向新帧。

若是,则执行S607。

若否,则执行S608。

可以通过编码规则判断边界指针是否指向新帧的第一个字节。

S607、将框架指针所指向的位置和边界指针所指向的位置之间的单元数据传送给解码器。

当边界指针指向新的一帧,则说明框架指针所指向的位置和边界指针所指向的位置之间的单元数据为一帧帧码流数据对应的数据。

将单元数据传送给解码器可以是指将单元数据在预设内存中的位置告知解码器,并非将单元数据拷贝至解码器,解码器根据位置信息在预设内存中对单元数据进行解码。

解码后,更新解码已消耗指针指向解码已消耗数据末尾所在的位置。

S608、更新框架指针,指向新帧的开始。

并继续执行S602,从而不断的向预设内存中写入单元数据,并通过解码器不断的解码预设内存中组帧完成的帧码流数据。

下面通过具体示例说明预设内存的使用方法。

若要处理的数据为两帧帧码流数据,分别为第一帧帧码流数据,第二帧帧码流数据;两帧帧码流数据均包括2个单元数据,按照写入顺序分别命名为第一个单元数据、第二个单元数据、第三个单元数据和第四个单元数据;其中,第一个单元数据和第二单元数据属于第一帧帧码流数据,第三个单元数据和第四个单元数据属于第二帧帧码流数据;每个单元数据有60个字节,并且每个单元数据的起始码占用4个字节。

初始时,所有指针指向预设内存的起始位置。在帧码流数据写入预设内存的过程中,写入第一个单元数据的第10个字节时,框架指针和边界指针均指向第一个单元数据的第一个字节前端所在的位置,写指针指向第10个字节末尾所在的位置。

写入第二个单元数据的第4个字节时,框架指针指向第一个单元数据的第一个字节前端所在的位置,更新边界指针,边界指针指向第二个单元数据的第1个字节前端所在的位置,更新写指针,写指针指向第二个单元数据的第4个字节末尾所在的位置。此时,可以根据编码规则判断边界指针指向的第二个单元数据是否为新帧的开始,若是,则可以将框架指针的位置和边界指针的位置告知解码器,让解码器对相应位置中间的单元数据进行解码,并且更新框架指针,框架指针指向此时边界指针指向的位置;若否,则无需更新框架指针的位置。由于第二单元数据并非为新帧的开始,因此,框架指针的位置保持不变。

写入第三个单元数据的第4个字节时,框架指针指向第一个单元数据的第一个字节前端所在的位置,更新边界指针,边界指针指向第三个单元数据的第1个字节前端所在的位置,更新写指针,写指针指向第三个单元数据的第4个字节末尾所在的位置。此时,可以根据编码规则判断边界指针指向的第三个单元数据是否为新帧的开始,若是,则可以将框架指针指向的位置和边界指针指向的位置告知解码器,解码器对相应位置中间的单元数据进行解码,并且更新框架指针,框架指针指向此时边界指针指向的位置;若否,则无需更新框架指针的位置。由于第三单元数据为新帧的开始,因此,可以将框架指针指向的位置和边界指针指向的位置告知解码器,解码器对相应位置中间的单元数据进行解码,并且更新框架指针,框架指针指向此时边界指针指向的位置。

写入第四个单元数据的第4个字节时,框架指针指向第三个单元数据的第一个字节前端所在的位置,更新边界指针,边界指针指向第四个单元数据的第1个字节前端所在的位置,更新写指针,写指针指向第四个单元数据的第4个字节末尾所在的位置。此时,可以根据编码规则判断边界指针指向的第四个单元数据是否为新帧的开始,若是,则可以将框架指针的位置和边界指针的位置告知解码器,让解码器对相应位置中间的单元数据进行解码,并且更新框架指针,框架指针指向此时边界指针指向的位置;若否,则无需更新框架指针的位置。由于第四单元数据并非为新帧的开始,因此,框架指针的位置保持不变。

为了便于理解,下面结合图7说明指针指向的位置。

图7为本申请实施例提供的指针指向的位置的示意图。请参见图7,当向内存中存入“数据解码方法”时,此时,框架指针的位置为“数”前端所在的位置,写指针的位置为“法”末尾所在的位置。

图8为本申请实施例提供的一种数据解码装置的结构示意图。请参见图8,该装置10包括确定模块11、写入模块12和解码模块13,其中,

确定模块11,用于根据PES数据,确定多个单元数据;

写入模块12,用于对多个单元数据执行内存写入操作,内存写入操作用于将多个单元数据写入至预设内存;

解码模块13,用于在预设内存中对预设内存中未解码单元数据执行解码操作,得到音视频数据。

在一种可能的实施方式中,写入模块12和解码模块12的操作并行执行。

在一种可能的实施方式中,解码模块13具体用于:

在未解码单元数据中确定至少一个帧码流数据,帧码流数据包括至少一个未解码单元数据,一个帧码流数据对应一个音视频帧数据;

依次对至少一个帧码流数据进行解码操作,得到音视频数据。

在一种可能的实施方式中,解码模块13具体用于:

确定帧码流数据的起始位置和偏移位置;

根据起始位置和偏移位置,在未解码单元数据中确定帧码流数据。

在一种可能的实施方式中,写入模块12具体用于:

在预设内存中确定目标内存;

将多个单元数据写入至目标内存。

在一种可能的实施方式中,写入模块12具体用于:

确定预设内存中未解码单元数据的最后一个字节在预设内存中为第一位置;

确定预设内存中已解码单元数据的最后一个字节在预设内存中的第二位置;

将第一位置和第二位置之间的内存确定为目标内存。

在一种可能的实施方式中,预设内存为物理地址离散而逻辑地址连续的内存,或者预设内存为物理地址和逻辑地址均连续的内存。

在一种可能的实施方式中,确定模块11具体用于:

确定至少一个起始码;

根据至少一个起始码,在PES数据中确定至少一个单元数据位置;

根据至少一个单元数据位置,在PES数据中确定多个单元数据。

图9为本申请实施例提供的一种电子设备的结构示意图。请参见图9,电子设备20可以包括:收发器21、存储器22、处理器23。收发器21可包括:发射器和/或接收器。该发射器还可称为发送器、发射机、发送端口或发送接口等类似描述,接收器还可称为接收机、接收端口或接收接口等类似描述。示例性地,收发器21、存储器22、处理器23,各部分之间通过总线24相互连接。

存储器22用于存储程序指令;

处理器23用于执行该存储器所存储的程序指令,用以使得电子设备20执行上述任一所示的数据解码方法。

收发器21用于执行数据解码方法中电子设备20的收发功能。

电子设备20可以为芯片、模组、集成开发环境(integrated developmentenvironment,IDE)等。

本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时用于实现上述数据解码方法。

本申请实施例还提供一种计算机程序产品,该计算机程序产品可以由处理器执行,在计算机程序产品被执行时,可实现上述任一所示的数据解码方法。

本申请实施例的数据解码装置、电子设备、计算机可读存储介质及计算机程序产品,可执行上述数据解码方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(Read-only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、快闪存储器、硬盘、固态硬盘、磁带(MagneticTape)、软盘(Floppy Disk)、光盘(Optical Disc)及其任意组合。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

技术分类

06120115632367