一种视频解码和播放的方法、系统、终端设备的制作方法

文档序号:7761002阅读:163来源:国知局
专利名称:一种视频解码和播放的方法、系统、终端设备的制作方法
技术领域
本发明涉及视频播放领域,尤其涉及一种视频解码和播放的方法、系统、终端设 备。
背景技术
移动终端以及移动流媒体技术特点有无线网络带宽窄,干扰严重,导致网络传输的误码的可能性大大增加。移动终端处 理能力低,内存容量小。手机中低端用户基数庞大而带来的巨大的市场商机。流媒体解码 技术需要较高的处理能力,运算开销比较大,对CPU的处理能力要求比较高,效率低下。移 动流媒体不适合低比特网络传输。现有视频播放技术为了保障视频流畅播放,多数从解码和播放同步性来大概保证 其流畅播放,但是在一秒内的帧图像输出确不能保证其流畅和均勻性。现有技术的表现会 因解码某帧耗时过长,要么就尽快连续显示第二帧,要么就丢弃第二帧,会呈现出图象显示 的不均勻性。虽然计算机领域刚刚面世的GPU硬解码技术不依赖于CPU的能力,但解码支持度 不高,对不同的视频编码、封装格式,硬解码无法做到全面兼容,画面输出补偿及画质增强 技术不够,难以解决秒内的帧图像输出的均勻性。

发明内容
本发明实施例的目的在于提出一种视频播放的方法,旨在解决现有技术中因解码 某帧视频帧时间过长,而导致显示输出延迟、显示不均勻的问题,同时本发明可应用CPU运 行频率低又能处理高码率高帧率的终端嵌入式终端设备。本发明实施例是这样实现的,一种视频解码的方法,包括以下步骤读取视频帧和相对时间戳,对视频帧解码并生成图像帧;判断缓冲区是否已满,如果否,存储未写入的图像帧和相对时间戳到缓冲区,并继 续读取视频帧和相对时间戳;如果是,休眠一个等待周期;等待周期期满,休眠被唤醒,再次判断缓冲区是否已满。本发明实施例的另一目的在于提出一种视频解码装置,所述装置包括解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,对视频帧进行解 码并生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的 解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发 送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令, 判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存 储指令,如果存储状态为已满,第一休眠模块发送休眠指令;
4
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储 状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像 帧和相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进 入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期 满指令。本发明实施例的另一目的在于提出一种视频播放方法,包括以下步骤读取缓冲区的图像帧和相对时间戳;判断相对系统时间是否小于相对时间戳,如果否,显示图像帧,并继续读取缓冲区 的图像帧和相对时间戳;如果是,休眠一个等待周期;等待周期期满,休眠被唤醒,再次判断相对系统时间是否小于相对时间戳。本发明实施例的另一目的在于提出一种视频播放装置,所述装置包括读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二 判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的 读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳 的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧 并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进 入一个等待周期的休眠状态;接收操作系统发送的唤醒指令,向第二判断模块发送休眠期 满指令。本发明实施例的另一目的在于提出一种视频解码和播放系统,所述的系统包括 解码装置和播放装置;解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生 成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的 解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发 送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令, 判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存 储指令,如果存储状态为已满,第一休眠模块发送休眠指令;缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储 状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像 帧和相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进 入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期 满指令;读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二
5判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的 读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳 的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧 并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进 入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送 休眠期满指令。本发明实施例的另一目的在于提出一种包括所述视频解码和播放系统的终端设备。本发明的有益效果通过操作系统控制解码与播放的工作线程的优先级,解码视频帧生成图像帧后, 根据缓冲区的存储状态控制图像帧的存储或者解码线程的休眠,播放的工作线程读取缓冲 区中的图像帧和相对时间戳,根据相对系统时间与相对时间戳的对比结果控制图像帧的显 示或者播放线程的休眠。即使在解码某一帧占用CPU时间过高时,并不影响播放装置显示 图像帧,可以准确的把缓冲区里的图像按时显示。在解码和显示过程中,设定的休眠时间, 确保工作线程无需工作的情况下进入休眠状态,避免占用CPU,兼容CPU运行频率低又能处 理高码率高帧率的终端嵌入式终端设备,适用无音频的视频解码和播放。


图1是本发明实施例一种视频解码方法流程图;图2是本发明实施例一种视频解码装置结构示意图;图3是本发明实施例一种视频播放方法流程图;图4是本发明实施例一种视频播放装置结构示意图;图5是本发明实施例一种视频解码和播放系统结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。本发明通过操作系统控制解码与播放的工作线程的优先级,确保播放的工作线程 高于解码的工作线程的优先级,达到图像帧的顺畅显示;解码的工作线程在解码视频帧生 成图像帧后,把图像帧存储到缓冲区,即使在解码某一帧占用CPU时间过高时,并不影响播 放装置显示图像帧,可以准确的把缓冲区里的图象按时显示;在解码和显示过程中,设定不 同的休眠时间,确保工作线程无需工作的情况下进入休眠状态,避免占用CPU。实施例一图1是本发明实施例一种视频解码方法流程图。所述方法包括以下步骤S101,读取视频帧和相对时间戳,对视频帧进行解码并生成图像帧;
6
所述的步骤相对时间戳可替换为相对音频时间;读取视频帧和相对时间戳时,操作系统创建所对应的工作线程;所述的相对时间戳为每个图像帧所对应的被相对显示时间点,所述显示时间点是 以Oms开始的时间偏移量,在开始显示时以Oms记录显示起点时间;S102,判断缓冲区是否已满,是则进入步骤S104,否则进入步骤S103 ;S103,存储未写入的图像帧和相对时间戳到缓冲区,进入步骤SlOl ;此处的“相对时间戳”也可替换为“相对音频时间”。S104,休眠一个等待周期;所述的一个等待周期是1000ms* [(缓冲区所能容纳的帧数/2)/帧率],即在等待 周期内所述工作线程不再占用CPU ;S105,唤醒休眠,进入步骤S102再次判断缓冲区是否已满;所述的唤醒休眠是操作系统再继续响应所述工作线程;本发明实施例中解码生成图像帧存储到缓冲区,避免了因解码耗时过长,导致丢 帧和图像播放的不均勻,如果缓冲区已满,则进入休眠状态,从而减少CPU的消耗,只有在 等待周期期满才被操作系统唤醒重新判断缓冲区;等待周期的时间取决于缓冲区的大小和 帧率,缓冲区里的图像帧被消耗到一半时才被唤醒继续存储图像帧。实施例二图2是本发明实施例一种视频解码装置结构示意图。所述解码装置包括解码模块、第一判断模块、缓冲模块、第一休眠模块;解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,对视频帧进行解 码并生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的 解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发 送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令, 判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存 储指令,如果存储状态为已满,第一休眠模块发送休眠指令;缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储 状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像 帧和相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进 入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期 满指令;所述的等待周期是1000ms*[(缓冲区所能容纳的帧数/2)/帧率];所述的休眠状态是指解码装置的工作线程不再占用CPU。本发明实施例中解码模块生成图像帧,第一判断模块判断通过判断缓冲模块的存 储状态,来控制是否存储到缓冲模块或者进入休眠状态;如果缓冲模块的存储状态为未满, 图像帧存储到缓冲模块,避免了因解码耗时过长,导致丢帧和图像输出的不均勻;如果缓冲 模块已满,则发送休眠指令到第一休眠模块进入一个等待周期的休眠状态,从而减少CPU 的消耗,只有在等待周期期满才被操作系统唤醒重新启动;等待周期的时间取决于缓冲模
7块的大小和帧率,缓冲模块里的图像帧被消耗到一半时才被唤醒继续存储图像帧。实施例三图4是本发明实施例一种视频播放方法流程图。所述方法包括以下步骤S301,读取缓冲区的图像帧和相对时间戳;读取缓冲区开始时,操作系统创建所对应的工作线程;所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以Oms开始的时 间偏移量,在开始显示时以Oms记录显示起点时间;S302,判断相对系统时间是否小于相对时间戳,是则进入步骤S304,否则进入步骤 S303 ;所述的相对系统时间是开始显示时以Oms为基准的时间偏移量;S303,显示图像帧,进入步骤S301 ;S304,休眠一个等待周期;所述的一个等待周期是1000ms/ (帧率*2)(取整数),在等待周期内工作线程不再 占用CPU ;S305,唤醒休眠,进入步骤S302 ;所述的相对系统时间可替换为相对音频时间;所述的唤醒休眠是操作系统继续响应工作线程;所述“相对时间戳”也可替换为相对“音频时间”。本发明实施例中通过比对相对系统时间与小于相对时间戳来控制图像帧的显示, 能够完全按照节目源所给定的每帧相对时间戳进行实时显示,确保一秒内的图像帧显示的 均勻性,同样适用于没有音频的视频的流畅播放。实施例四图4是本发明实施例一种视频播放装置结构示意图。所述播放装置包括读取模块、第二判断模块、显示模块、第二休眠模块;读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二 判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以Oms开始的时 间偏移量,在开始显示时以Oms记录显示起点时间;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的 读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳 的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;所述的对比结果是指相对系统时间是否小于相对时间戳的判断结果,如果所述的 对比结果为否,则向读取模块和显示模块发送显示指令,如果所述的对比结果为是,则向第 二休眠模块发送休眠指令;显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧 并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进 入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送 休眠期满指令;
所述的等待周期是1000ms/ (帧率*2)(取整数);所述的休眠状态是指播放装置的工作线程不再占用CPU。本发明实施例中第二判断模块通过比对相对系统时间与小于相对时间戳来控制 显示模块的显示,能够完全按照节目源所给定的每帧相对时间戳进行实时显示,确保一秒 内的图像帧显示的均勻性,同样适用于没有音频的视频的流畅播放,同时,第二休眠模块的 休眠周期定义为1000ms/(帧率*2),有效控制播放装置与操作系统和CPU之间的高效协作。实施例五图5是本发明实施例一种视频解码和播放系统结构示意图。所述视频解码和播放系统包括解码装置和播放装置;解码装置,与播放装置相连,包括解码模块、第一判断模块、缓冲模块、第一休眠 模块;解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生 成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;所述的图像帧包括图像和每帧图像对应的时间戳;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的 解码完成的指令和接收第一休眠模块发送的休眠期满指令,请求获取缓冲模块的存储状 态,根据所述的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;所述的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指 令,如果存储状态为已满,第一休眠模块发送休眠指令;缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储 状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像 帧和相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进 入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期 满指令;所述的等待周期是1000ms*[(缓冲区所能容纳的帧数/2)/帧率];所述的休眠状态是指解码装置的工作线程不再占用CPU ;播放装置,与解码装置相连,包括读取模块、第二判断模块、显示模块、第二休眠 模块;读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二 判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以Oms开始的时 间偏移量,在开始显示时以Oms记录显示起点时间;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的 读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳 的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;所述的对比结果是指相对系统时间是否小于相对时间戳的判断结果,如果所述的 对比结果为否,则向读取模块和显示模块发送显示指令,如果所述的对比结果为是,则向第 二休眠模块发送休眠指令;
9
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧 并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进 入一个等待周期的休眠状态;接收操作系统发送的唤醒指令,向第二判断模块发送休眠期 满指令;所述的等待周期是1000ms/(帧率*2)(取整数);所述的休眠状态是指播放装置的工作线程不再占用CPU ;所述的视频解码和播放系统的工作过程如下解码装置和播放装置启动时,操作系统设定解码装置与播放装置的优先级,播放 装置的优先级高于解码装置的优先级;解码模块对视频帧解码生成图像帧;第一判断模块 获取缓冲模块的存储状态,如果未满,第一判断模块向解码模块发送存储指令,解码模块存 储图像帧到缓冲模块;如果已满,第一判断模块向第一休眠模块发送休眠指令,解码装置进 入一个等待周期的休眠状态;播放装置读取缓冲模块的图像帧,第二判断模块判断相对系 统时间是否小于相对时间戳,如果否,第二判断模块向读取模块和显示模块发送显示指令, 读取模块向显示模块发送图像帧并显示;如果是,第二判断模块向第二休眠模块发送休眠 指令,播放装置进入一个周期的休眠状态。本发明实施例中操作系统通过控制解码装置与播放装置的优先级,播放装置的优 先级比解码装置的优先级高,确保播放装置能够顺畅播放,即使解码装置在解码某一帧占 用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图象按时显 示,解码装置因解码时CPU占用时间不均勻性不会影像图像的显示,只是存储到缓冲模块 即可。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
10
权利要求
一种视频解码的方法,其特征在于,所述方法包括以下步骤读取视频帧和相对时间戳,对视频帧进行解码并生成图像帧;判断缓冲区是否已满,如果是,休眠一个等待周期。
2.如权利要求1所述的视频解码的方法,其特征在于,所述的步骤“判断缓冲区是否已 满”还包括步骤如果否,存储图像帧和相对时间戳到缓冲区,并进入步骤“读取视频帧和相对时间戳, 对视频帧进行解码并生成图像帧”。
3.如权利要求1所述的视频解码的方法,其特征在于,所述的步骤“休眠一个等待周 期”之后还包括步骤“等待周期期满,休眠被唤醒,再次判断缓冲区是否已满”。
4.如权利要求1所述的视频解码的方法,其特征在于,等待周期为1000ms*[(缓冲区所 能容纳的帧数/2)/帧率]。
5.如权利要求1所述的视频解码的方法,其特征在于,所述的相对时间戳可替换为相 对音频时间。
6.一种视频解码装置,其特征在于,所述装置包括解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图 像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码 完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存 储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断 所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指 令,如果存储状态为已满,第一休眠模块发送休眠指令;缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态 的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和 相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一 个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指 令。
7.一种视频播放的方法,其特征在于,所述方法包括以下步骤读取缓冲区的图像帧和相对时间戳;判断相对系统时间是否小于相对时间戳,如果是,休眠一个等待周期。
8.如权利要求7所述的视频播放方法,其特征在于,所述的步骤“判断相对系统时间是 否小于相对时间戳”还包括步骤如果否,显示图像帧,并进入步骤“读取缓冲区的图像帧和相对时间戳”。
9.如权利要求7所述的视频播放方法,其特征在于,所述的步骤“休眠一个等待周期” 之后还包括步骤“等待周期期满,休眠被唤醒,再次判断相对系统时间是否小于相对时间 戳”。
10.如权利要求7所述的视频播放方法,其特征在于,所述的一个等待周期是1000ms/ (帧率*2)(取整数)。
11.如权利要求7所述的视频播放方法,其特征在于,所述的相对系统时间替换为相对音频时间。
12.一种视频播放装置,其特征在于,所述装置包括读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断 模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取 完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对 比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一 个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠 期满指令。
13.—种视频解码和播放系统,其特征在于,所述系统包括 解码装置和播放装置;解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图 像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码 完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存 储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断 所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指 令,如果存储状态为已满,第一休眠模块发送休眠指令;缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态 的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和 相对时间戳,并存储;第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一 个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指 令;读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断 模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取 完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对 比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一 个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠 期满指令。
14.一种包括如权利要求13所述视频解码和播放系统的终端设备。
全文摘要
本发明公开一种视频解码和播放的方法、系统、终端设备,通过操作系统控制解码与播放的工作线程的优先级,解码视频帧生成图像帧后,根据缓冲区的存储状态控制图像帧的存储或者解码线程的休眠,播放的工作线程读取缓冲区中的图像帧和相对时间戳,根据相对系统时间与相对时间戳的对比结果控制图像帧的显示或者播放线程的休眠。即使在解码某一帧占用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图像按时显示。在解码和显示过程中,设定的休眠时间,确保工作线程无需工作的情况下进入休眠状态,避免占用CPU,兼容CPU运行频率低又能处理高码率高帧率的终端嵌入式终端设备,适用无音频的视频解码和播放。
文档编号H04N7/24GK101951517SQ20101029484
公开日2011年1月19日 申请日期2010年9月27日 优先权日2010年9月27日
发明者刘骁 申请人:深圳市融创天下科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1