欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 解码方法及装置独创技术33399字

解码方法及装置

2021-02-02 04:30:17

解码方法及装置

  技术领域

  本公开涉及解码技术领域,尤其涉及解码方法及装置。

  背景技术

  计算机图像有自然图像和计算机合成图像两大类。自然图像指的是自然界真实存在的景色,人们生活中看到的电影、电视内容均为自然图像。计算机合成图像是采用计算机图形学技术,通过计算机上显卡计算得到的人造图像。在对图像进行传输时,通常需要对图像进行编解码。

  相关技术中,通常解码过程为:解码端对接收到的码流进行解码,然后将解码后的图像数据保存在解码端的缓存中,并将缓存地址通过应用程序控制模块发送给显示模块,显示模块根据缓存地址从解码端的缓存中读取对应的图像数据,再将图像数据的格式转换为显示控制器能够接收的格式,最后将格式转换后的图像数据保存在显示控制器的缓存中,便于显示控制器从缓存中获取并显示图像数据。

  但上述解码过程中,存在一次将解码后的图像数据从解码端的缓存区到显示控制器的缓存区的数据搬运,由于数据搬运的过程中需要多次访问缓存,这样,不仅占用缓存的访问带宽,而且耗费资源,因此会引入延迟,降低了图像传输的效率。

  发明内容

  本公开实施例提供一种解码方法及装置,能够解决现有技术中降低图像传输效率的问题。所述技术方案如下:

  根据本公开实施例的第一方面,提供一种解码方法,应用于显示端,所述方法包括:

  接收解码端发送的解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息;

  在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区;

  从所述目标空闲缓存区中获取目标显示图像数据;

  显示所述目标显示图像数据。

  本公开实施例提供一种解码方法,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  在一个实施例中,所述根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区包括:

  在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  在一个实施例中,在所述显示所述目标显示图像数据之后,还包括:

  在确定当前帧显示结束时,将所述目标空闲缓存区的非空闲标记更新为空闲标记。

  本实施例中,显示端在确定当前帧显示结束时,将目标空闲缓存区的非空闲标记更新为空闲标记,便于解码端将后续解码和格式转换后的目标显示图像数据保存在该目标空闲缓存区中,实现空闲缓存区的重复利用,节约资源。

  根据本公开实施例的第二方面,提供一种解码方法,应用于解码端,所述方法包括:

  从预先设置的缓存队列中确定目标空闲缓存区;所述缓存队列包括至少一个空闲缓存区;

  将待显示图像数据进行解码,得到目标显示图像数据;所述目标显示图像数据为显示端能够识别的图像数据;

  将所述目标显示图像数据保存至所述目标空闲缓存区;

  向所述显示端发送解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息,使得所述显示端根据所述目标空闲缓存区的标识信息从缓存队列中获取目标显示图像数据,并显示所述目标显示图像数据。

  本公开实施例提供一种解码方法,解码端从预先设置的缓存队列中确定目标空闲缓存区,并将解码得到的目标显示图像数据保存至目标空闲缓存区,再向显示端发送解码完成事件,使得显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  在一个实施例中,所述空闲缓存区设置有空闲标记;

  在所述将所述目标显示图像数据保存至所述目标空闲缓存区之后,还包括:

  将所述目标空闲缓存区的空闲标记更新为非空闲标记。

  本实施例中,解码端在将目标显示图像数据保存至目标空闲缓存区之后,将目标空闲缓存区的空闲标记更新为非空闲标记,这样,可以将已存入目标显示图像数据的目标空闲缓存区与未存入目标显示图像数据的空闲缓存区进行分离,使得解码端在写入目标显示图像数据时,不会与显示端读取目标显示图像数据发生冲突,可以提高缓存的读写效率。

  根据本公开实施例的第三方面,提供一种解码装置,应用于显示驱动端,所述装置包括:

  第一接收模块,用于接收解码端发送的解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息;

  第一获取模块,用于根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区;

  第二获取模块,用于从所述目标空闲缓存区中获取目标显示图像数据;

  显示模块,用于显示所述目标显示图像数据。

  本公开实施例提供一种解码装置,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  在一个实施例中,所述第一获取模块包括获取子模块;

  所述获取子模块,用于在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  在一个实施例中,还包括:

  第一更新模块,用于在确定当前帧显示结束时,将所述目标空闲缓存区的非空闲标记更新为空闲标记。

  根据本公开实施例的第四方面,提供一种解码装置,应用于解码端,所述装置包括:

  确定模块,用于从预先设置的缓存队列中确定目标空闲缓存区;所述缓存队列包括至少一个空闲缓存区;

  解码模块,用于将待显示图像数据进行解码,得到目标显示图像数据;所述目标显示图像数据为显示端能够识别的图像数据;

  保存模块,用于将所述目标显示图像数据保存至所述目标空闲缓存区;

  发送模块,用于向所述显示端发送解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息,使得所述显示端根据所述目标空闲缓存区的标识信息从缓存队列中获取目标显示图像数据,并显示所述目标显示图像数据。

  本公开实施例提供一种解码装置,解码端从预先设置的缓存队列中确定目标空闲缓存区,并将解码得到的目标显示图像数据保存至目标空闲缓存区,再向显示端发送解码完成事件,使得显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  在一个实施例中,所述空闲缓存区设置有空闲标记;所述装置还包括:

  第二更新模块,用于将所述目标空闲缓存区的空闲标记更新为非空闲标记。

  应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

  附图说明

  此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

  图1是本公开实施例提供的一种解码方法的流程图;

  图2是本公开实施例提供的一种显示端的结构图;

  图3是本公开实施例提供的一种解码方法的流程图;

  图4是本公开实施例提供的一种解码方法的流程图;

  图5是本公开实施例提供的一种解码方法的流程图;

  图6是本公开实施例提供的一种解码方法的交互图;

  图7是本公开实施例提供的一种解码方法的交互图;

  图8a是本公开实施例提供的一种解码装置的结构图;

  图8b是本公开实施例提供的一种解码装置的结构图;

  图8c是本公开实施例提供的一种解码装置的结构图;

  图9a是本公开实施例提供的一种解码装置的结构图;

  图9b是本公开实施例提供的一种解码装置的结构图。

  具体实施方式

  这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

  本公开实施例提供一种解码方法,应用于显示端,如图1所示,该方法包括以下步骤:

  步骤101、接收解码端发送的解码完成事件。

  其中,所述解码完成事件中携带所述目标空闲缓存区的标识信息,在解码端预先设置有包括至少一个空闲缓存区的缓存队列。

  示例的,如图2所示,其为显示端的结构示意图,包括主控单元、显示控制单元、显示驱动单元和显示单元,其中,主控单元用于接收解码端发送的解码完成事件,并对解码完成事件进行解析,获取目标空闲缓存区的标识信息,并将解析得到的目标空闲缓存区的标识信息发送给显示控制单元。

  步骤102、根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  示例的,显示控制单元在接收到目标空闲缓存区的标识信息时,将目标空闲缓存区的标识信息发送给显示驱动单元,显示驱动单元根据目标空闲缓存区的标识信息在缓存列表中查找与该标识信息对应的目标空闲缓存区,其中,缓存列表中存储有空闲缓存区的标识信息与空闲缓存区的对应关系,从而可以获取到缓存队列中对应的目标空闲缓存区。

  可选的,在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  示例的,显示驱动单元是按照显示单元可以接收的时序向显示单元发送图像数据的,因此,切换帧是按照固定频率节拍进行的。也就是说,每帧图像数据的显示时长是固定的,前一帧图像数据的显示时长结束后,硬件触发历史帧切换完成事件,显示驱动单元在检测到历史帧切换完成事件之后,确定历史帧显示结束,此时向显示控制单元发送历史帧切换完成事件,使得显示控制单元确定上一帧图像数据已实现显示,此时结束上一帧图像的处理流程,开始对当前帧进行处理,即显示控制单元在确定历史帧显示结束时,向显示驱动单元发送目标空闲缓存区的标识信息。例如,60帧场频的显示器,则帧切换的频率最大是60,即每帧16.667毫秒,在每个16.667节拍中的消隐期才能进行帧的更新。

  步骤103、从所述目标空闲缓存区中获取目标显示图像数据。

  步骤104、显示所述目标显示图像数据。

  示例的,显示驱动单元在获取到对应的目标空闲缓存区时,读取目标空闲缓存区中保存的目标显示图像数据,并控制显示单元显示目标显示图像数据。

  进一步的,如图3所示,在执行完步骤104之后,还包括以下步骤105:

  步骤105、在确定当前帧显示结束时,将所述目标空闲缓存区的非空闲标记更新为空闲标记。

  示例的,显示驱动单元在控制显示单元显示待显示图像数据之后,说明当前帧显示结束,此时向显示控制单元发送当前帧切换完成事件,使得显示控制单元在接收到当前帧切换完成事件时,确定当前帧已完成显示,此时显示控制单元将目标空闲缓存区的非空闲标记更新为空闲标记,例如,将目标空闲缓存区当前的引用计数1更新为引用计数0,便于解码端将后续解码和格式转换后的目标显示图像数据保存在该目标空闲缓存区中,实现空闲缓存区的重复利用,节约资源。

  需要说明的是,解码端还可以将后续解码和格式转换后的目标显示图像数据保存至缓存队列中的其他空闲缓存区中,对此不做限定。

  本公开实施例提供一种解码方法,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  本公开实施例提供一种解码方法,应用于解码端,如图4所示,该方法包括以下步骤:

  步骤401、从预先设置的缓存队列中确定目标空闲缓存区。

  其中,所述缓存队列包括至少一个空闲缓存区。

  示例的,解码端在得到目标显示图像数据时,从预先设置的缓存队列中选取一个空闲缓存区,将该空闲缓存区确定为目标空闲缓存区,具体选取方法可以按照缓存队列中多个空闲缓存区的存储位置选取,可以选取最左端的空闲缓存区,也可以选取最右端的空闲缓存区,还可以选取中间的空闲缓存区,本公开实施例对此不做限定。

  需要说明的是,缓存队列为预先设置的,该缓存队列可以基于DMA-BUF,可以由解码端和显示端共享。DMA-BUF是一种在不同外设硬件之间共享DMA缓冲区的通用机制。典型使用场景:生产者消费者问题。一个设备作为DMA缓冲区的生产者(例如采集芯片、解码端),向缓冲区填写数据。另一个设备作为DMA缓冲区的消费者,使用缓冲区中的数据(例如编码端、显示端),待传输图像数据通过DMA(Direct Memory Access,直接存储器访问)传输;且该缓存队列中设定的空闲缓存区的数量可根据采集芯片、解码端和编码端等各自的事件处理速度来确定,例如,缓存队列包括10个DRM(Direct Render Management,直接渲染管理)缓存区,具体可参考现有技术,在此不再赘述。另外,每个空闲缓存区的大小可根据解码端和编码端协商的分辨率尺寸、以及解码端要求的图像边界延拓计算得出。

  示例的,VGTP(VANXVM Graphic Transport Protocols,图像传输协议)编码端要求的图像边界延拓为256,即缓存区的总宽度为图像宽度加256,其中图像宽度是根据分辨率协商得到。具体的,解码端向编码端发送解码端的显示器规格,然后编码端将显示器规格置入采集芯片,编码端所连接的视频源会通过HDMI(High Definition MultimediaInterface,高清多媒体接口)线的IIC DDC通道来读取采集芯片内部所存的显示器规格,然后视频源根据显示器规则选择一个最优的分辨率时序或之前用户手动设置的分辨率时序输出待显示图像数据。

  需要说明的是,在设置好缓存队列之后,将缓存队列导入解码端,使得解码端能够获知缓存队列中每个缓存区的地址、每行总宽度以及有效像素宽度等,其中,总宽度包括一行的像素数和水平方向的图像边界延拓宽度。

  需要说明的是,本公开中是重新设计解码端的缓冲区使用机制,使得解码端使用外部的DMA-BUF功能,也就是说,将解码端伪装成一个硬件外设,使得解码端和显示端共享DMA-BUF。具体的,解码端需要能够支持使用显示端的DMA-BUF,即解码端需要能够将格式转换后的图像数据保存到显示端的DMA-BUF中,将相关技术中解码端识别的图像格式转换为显示端识别的图像格式的过程归并至解码端。

  步骤402、将待显示图像数据进行解码,得到目标显示图像数据.

  其中,所述目标显示图像数据为显示端能够识别的图像数据。

  示例的,解码端通过传输层接收编码端发送的携带待显示图像数据的码流,对该码流进行解码,在解码过程中,将待显示图像数据的显示格式恢复为显示端能够识别的格式,即为得到目标显示图像数据。

  步骤403、将所述目标显示图像数据保存至所述目标空闲缓存区。

  示例的,解码端在确定目标空闲缓存区时,将得到的目标显示图像数据保存在目标空闲缓存区中。

  步骤404、向显示端发送解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息,使得所述显示端根据所述目标空闲缓存区的标识信息从缓存队列中获取目标显示图像数据,并显示所述目标显示图像数据。

  示例的,解码端在将目标显示图像数据保存在目标空闲缓存区之后,向主控单元发送携带目标空闲缓存区的标识信息的解码完成事件,使得主控单元在接收到解码完成事件时,将目标空闲缓存区的标识信息发送给显示控制单元,显示控制单元在接收到显示驱动单元发送的历史帧切换完成事件时,向显示驱动单元发送目标空闲缓存区的标识信息,使得显示驱动单元根据目标空闲缓存区的标识信息从缓存队列中获取目标显示图像数据,并控制显示单元显示目标显示图像数据。

  进一步的,如图5所示,所述空闲缓存区设置有空闲标记;在执行完步骤403之后,还包括以下步骤405:

  步骤405、将所述目标空闲缓存区的空闲标记更新为非空闲标记。

  示例的,初始时,解码端将缓存队列中的每个缓存区均设置有空闲标记,该空闲标记用于表示所有的缓存区均为空闲,没有被使用,具体空闲标记可以采用引用计数进行标记,例如将空闲缓存区的引用计数均置0;在目标空闲缓存区中写入目标显示图像数据时,将该目标空闲缓存区的空闲标记更新为非空闲标记,非空闲标记用于表示该目标空闲缓存区已被使用,不为空闲缓存区,具体非空闲标记可以为将引用计数加1,即将目标空闲缓存区的引用计数加1,引用计数1说明该目标空闲缓存区不为空闲缓存区。

  需要说明的是,本公开对步骤404和步骤405的执行顺序不做限定,可以先执行步骤404,再执行步骤405;也可以先执行步骤405,再执行步骤404。

  本公开实施例提供一种解码方法,解码端从预先设置的缓存队列中确定目标空闲缓存区,并将解码得到的目标显示图像数据保存至目标空闲缓存区,再向显示端发送解码完成事件,使得显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率;另外,本公开还将已存入目标显示图像数据的目标空闲缓存区与未存入目标显示图像数据的空闲缓存区进行分离,将已存入目标显示图像数据的目标空闲缓存区设置非空闲标记,将未存入目标显示图像数据的空闲缓存区设置空闲标记,使得解码端在写入目标显示图像数据时,不会与显示端读取目标显示图像数据发生冲突,可以提高缓存的读写效率。而相关技术中,解码端将解码后的图像数据写入解码端的DMA-BUF,应用程序控制模块从解码端的DMA-BUF中读取图像数据,由于DMA-BUF正在被写的同时不能被读,因此存在DMA-BUF中读写冲突问题,导致相关技术中的DMA-BUF的读写效率较低。

  本公开实施例提供一种解码方法,应用于解码端和显示端,如图6所示,该方法包括以下步骤:

  步骤601、解码端从预先设置的缓存队列中确定目标空闲缓存区。

  其中,所述缓存队列包括至少一个空闲缓存区。

  步骤602、将待显示图像数据进行解码,得到目标显示图像数据。

  其中,所述目标显示图像数据为显示端能够识别的图像数据。

  步骤603、解码端将所述目标显示图像数据保存至所述目标空闲缓存区。

  步骤604、解码端向显示端发送解码完成事件。

  其中,所述解码完成事件中携带所述目标空闲缓存区的标识信息。

  步骤605、显示端在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  步骤606、显示端从所述目标空闲缓存区中获取目标显示图像数据。

  步骤607、显示端显示所述目标显示图像数据。

  本公开实施例提供一种解码方法,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  本公开实施例提供一种解码方法,应用于解码端和显示端,如图7所示,该方法包括以下步骤:

  步骤701、解码端从预先设置的缓存队列中确定目标空闲缓存区。

  其中,所述缓存队列包括至少一个空闲缓存区,所述空闲缓存区设置有空闲标记。

  步骤702、解码端将待显示图像数据进行解码,得到目标显示图像数据.

  其中,所述目标显示图像数据为显示端能够识别的图像数据。

  步骤703、解码端将所述目标显示图像数据保存至所述目标空闲缓存区。

  步骤704、解码端将所述目标空闲缓存区的空闲标记更新为非空闲标记。

  步骤705、解码端向显示端发送解码完成事件。

  其中,所述解码完成事件中携带所述目标空闲缓存区的标识信息。

  步骤706、显示端在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  步骤707、显示端从所述目标空闲缓存区中获取目标显示图像数据。

  步骤708、显示端显示所述目标显示图像数据。

  步骤709、显示端在确定当前帧显示结束时,将所述目标空闲缓存区的非空闲标记更新为空闲标记。

  本公开实施例提供一种解码方法,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率;另外,本公开还将已存入目标显示图像数据的目标空闲缓存区与未存入目标显示图像数据的空闲缓存区进行分离,将已存入目标显示图像数据的目标空闲缓存区设置非空闲标记,将未存入目标显示图像数据的空闲缓存区设置空闲标记,使得解码端在写入目标显示图像数据时,不会与显示端读取目标显示图像数据发生冲突,可以提高缓存的读写效率。而相关技术中,解码端将解码后的图像数据写入解码端的DMA-BUF,应用程序控制模块从解码端的DMA-BUF中读取图像数据,由于DMA-BUF正在被写的同时不能被读,因此存在DMA-BUF中读写冲突问题,导致相关技术中的DMA-BUF的读写效率较低。

  基于上述实施例中所描述的解码方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

  本公开实施例提供一种解码装置,如图8a所示,该解码装置80包括:第一接收模块801、第一获取模块802、第二获取模块803和显示模块804。

  其中,第一接收模块801,用于接收解码端发送的解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息。

  第一获取模块802,用于根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  第二获取模块803,用于从所述目标空闲缓存区中获取目标显示图像数据。

  显示模块804,用于显示所述目标显示图像数据。

  在一个实施例中,如图8b所示,所述第一获取模块802包括获取子模块8021。

  其中,所述获取子模块8021,用于在确定历史帧显示结束时,根据所述目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区。

  在一个实施例中,如图8c所示,所述装置还包括第一更新模块805。

  其中,所述第一更新模块805,用于在确定当前帧显示结束时,将所述目标空闲缓存区的非空闲标记更新为空闲标记。

  本公开实施例提供一种解码装置,显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  本公开实施例提供一种解码装置,如图9a所示,该解码装置90包括:确定模块901、解码模块902、保存模块903和发送模块904。

  其中,确定模块901,用于从预先设置的缓存队列中确定目标空闲缓存区;所述缓存队列包括至少一个空闲缓存区。

  解码模块902,用于将待显示图像数据进行解码,得到目标显示图像数据;所述目标显示图像数据为显示端能够识别的图像数据。

  保存模块903,用于将所述目标显示图像数据保存至所述目标空闲缓存区。

  发送模块904,用于向所述显示端发送解码完成事件;所述解码完成事件中携带所述目标空闲缓存区的标识信息,使得所述显示端根据所述目标空闲缓存区的标识信息从缓存队列中获取目标显示图像数据,并显示所述目标显示图像数据。

  在一个实施例中,如图9b所示,所述空闲缓存区设置有空闲标记;所述装置还包括第二更新模块905。

  其中,所述第二更新模块905,用于将所述目标空闲缓存区的空闲标记更新为非空闲标记。

  本公开实施例提供一种解码装置,解码端从预先设置的缓存队列中确定目标空闲缓存区,并将解码得到的目标显示图像数据保存至目标空闲缓存区,再向显示端发送解码完成事件,使得显示端在接收到解码端发送的解码完成事件时,根据解码完成事件中携带的目标空闲缓存区的标识信息从缓存队列中获取对应的目标空闲缓存区,并将目标空闲缓存区中的目标显示图像数据进行显示。这样,解码端只需将目标空闲缓存区的标识信息发送至显示端,显示端可直接在目标空闲缓存区中获取目标显示图像数据,实现了解码端和显示端对目标空闲缓存区的共享,无需对目标显示图像数据进行搬运,不会因搬运目标显示图像数据而导致延迟,从而提高了图像传输的效率。

  基于上述图1对应的实施例中所描述的解码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read OnlyMemory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的解码方法,此处不再赘述。

  本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

  本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

《解码方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)