CN101951517B - 一种视频解码和播放的方法、系统、终端设备 - Google Patents

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

Info

Publication number
CN101951517B
CN101951517B CN201010294846.2A CN201010294846A CN101951517B CN 101951517 B CN101951517 B CN 101951517B CN 201010294846 A CN201010294846 A CN 201010294846A CN 101951517 B CN101951517 B CN 101951517B
Authority
CN
China
Prior art keywords
module
instruction
judge module
frame
dormancy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010294846.2A
Other languages
English (en)
Other versions
CN101951517A (zh
Inventor
刘骁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Temobi Science and Technology Co Ltd
Original Assignee
Shenzhen Temobi Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Temobi Science and Technology Co Ltd filed Critical Shenzhen Temobi Science and Technology Co Ltd
Priority to CN201010294846.2A priority Critical patent/CN101951517B/zh
Publication of CN101951517A publication Critical patent/CN101951517A/zh
Priority to PCT/CN2011/076163 priority patent/WO2012041082A1/zh
Application granted granted Critical
Publication of CN101951517B publication Critical patent/CN101951517B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Abstract

本发明公开一种视频解码和播放的方法、系统、终端设备,通过操作系统控制解码与播放的工作线程的优先级,解码视频帧生成图像帧后,根据缓冲区的存储状态控制图像帧的存储或者解码线程的休眠,播放的工作线程读取缓冲区中的图像帧和相对时间戳,根据相对系统时间与相对时间戳的对比结果控制图像帧的显示或者播放线程的休眠。即使在解码某一帧占用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图像按时显示。在解码和显示过程中,设定的休眠时间,确保工作线程无需工作的情况下进入休眠状态,避免占用CPU,兼容CPU运行频率低又能处理高码率高帧率的终端嵌入式终端设备,适用无音频的视频解码和播放。

Description

一种视频解码和播放的方法、系统、终端设备
技术领域
本发明涉及视频播放领域,尤其涉及一种视频解码和播放的方法、系统、终端设备。
背景技术
移动终端以及移动流媒体技术特点有:
无线网络带宽窄,干扰严重,导致网络传输的误码的可能性大大增加。移动终端处理能力低,内存容量小。手机中低端用户基数庞大而带来的巨大的市场商机。流媒体解码技术需要较高的处理能力,运算开销比较大,对CPU的处理能力要求比较高,效率低下。移动流媒体不适合低比特网络传输。
现有视频播放技术为了保障视频流畅播放,多数从解码和播放同步性来大概保证其流畅播放,但是在一秒内的帧图像输出确不能保证其流畅和均匀性。现有技术的表现会因解码某帧耗时过长,要么就尽快连续显示第二帧,要么就丢弃第二帧,会呈现出图象显示的不均匀性。
虽然计算机领域刚刚面世的GPU硬解码技术不依赖于CPU的能力,但解码支持度不高,对不同的视频编码、封装格式,硬解码无法做到全面兼容,画面输出补偿及画质增强技术不够,难以解决秒内的帧图像输出的均匀性。
发明内容
本发明实施例的目的在于提出一种视频播放的方法,旨在解决现有技术中因解码某帧视频帧时间过长,而导致显示输出延迟、显示不均匀的问题,同时本发明可应用CPU运行频率低又能处理高码率高帧率的终端嵌入式终端设备。
本发明实施例是这样实现的,一种视频解码的方法,包括以下步骤:
读取视频帧和相对时间戳,对视频帧解码并生成图像帧;
判断缓冲区是否已满,如果否,存储未写入的图像帧和相对时间戳到缓冲区,并继续读取视频帧和相对时间戳;
如果是,休眠一个等待周期;
等待周期期满,休眠被唤醒,再次判断缓冲区是否已满。
本发明实施例的另一目的在于提出一种视频解码装置,所述装置包括:
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,对视频帧进行解码并生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令。
本发明实施例的另一目的在于提出一种视频播放方法,包括以下步骤:
读取缓冲区的图像帧和相对时间戳;
判断相对系统时间是否小于相对时间戳,如果否,显示图像帧,并继续读取缓冲区的图像帧和相对时间戳;
如果是,休眠一个等待周期;
等待周期期满,休眠被唤醒,再次判断相对系统时间是否小于相对时间戳。
本发明实施例的另一目的在于提出一种视频播放装置,所述装置包括:
读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令。
本发明实施例的另一目的在于提出一种视频解码和播放系统,所述的系统包括:解码装置和播放装置;
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令;
读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令。
本发明实施例的另一目的在于提出一种包括所述视频解码和播放系统的终端设备。
本发明的有益效果:
通过操作系统控制解码与播放的工作线程的优先级,解码视频帧生成图像帧后,根据缓冲区的存储状态控制图像帧的存储或者解码线程的休眠,播放的工作线程读取缓冲区中的图像帧和相对时间戳,根据相对系统时间与相对时间戳的对比结果控制图像帧的显示或者播放线程的休眠。即使在解码某一帧占用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图像按时显示。在解码和显示过程中,设定的休眠时间,确保工作线程无需工作的情况下进入休眠状态,避免占用CPU,兼容CPU运行频率低又能处理高码率高帧率的终端嵌入式终端设备,适用无音频的视频解码和播放。
附图说明
图1是本发明实施例一种视频解码方法流程图;
图2是本发明实施例一种视频解码装置结构示意图;
图3是本发明实施例一种视频播放方法流程图;
图4是本发明实施例一种视频播放装置结构示意图;
图5是本发明实施例一种视频解码和播放系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明通过操作系统控制解码与播放的工作线程的优先级,确保播放的工作线程高于解码的工作线程的优先级,达到图像帧的顺畅显示;解码的工作线程在解码视频帧生成图像帧后,把图像帧存储到缓冲区,即使在解码某一帧占用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图象按时显示;在解码和显示过程中,设定不同的休眠时间,确保工作线程无需工作的情况下进入休眠状态,避免占用CPU。
实施例一
图1是本发明实施例一种视频解码方法流程图。所述方法包括以下步骤:
S101,读取视频帧和相对时间戳,对视频帧进行解码并生成图像帧;
所述的步骤相对时间戳可替换为相对音频时间;
读取视频帧和相对时间戳时,操作系统创建所对应的工作线程;
所述的相对时间戳为每个图像帧所对应的被相对显示时间点,所述显示时间点是以0ms开始的时间偏移量,在开始显示时以0ms记录显示起点时间;
S102,判断缓冲区是否已满,是则进入步骤S104,否则进入步骤S103;
S103,存储未写入的图像帧和相对时间戳到缓冲区,进入步骤S101;
此处的“相对时间戳”也可替换为“相对音频时间”。
S104,休眠一个等待周期;
所述的一个等待周期是1000ms*[(缓冲区所能容纳的帧数/2)/帧率],即在等待周期内所述工作线程不再占用CPU;
S105,唤醒休眠,进入步骤S102再次判断缓冲区是否已满;
所述的唤醒休眠是操作系统再继续响应所述工作线程;
本发明实施例中解码生成图像帧存储到缓冲区,避免了因解码耗时过长,导致丢帧和图像播放的不均匀,如果缓冲区已满,则进入休眠状态,从而减少CPU的消耗,只有在等待周期期满才被操作系统唤醒重新判断缓冲区;等待周期的时间取决于缓冲区的大小和帧率,缓冲区里的图像帧被消耗到一半时才被唤醒继续存储图像帧。
实施例二
图2是本发明实施例一种视频解码装置结构示意图。
所述解码装置包括:解码模块、第一判断模块、缓冲模块、第一休眠模块;
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,对视频帧进行解码并生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令;
所述的等待周期是1000ms*[(缓冲区所能容纳的帧数/2)/帧率];
所述的休眠状态是指解码装置的工作线程不再占用CPU。
本发明实施例中解码模块生成图像帧,第一判断模块判断通过判断缓冲模块的存储状态,来控制是否存储到缓冲模块或者进入休眠状态;如果缓冲模块的存储状态为未满,图像帧存储到缓冲模块,避免了因解码耗时过长,导致丢帧和图像输出的不均匀;如果缓冲模块已满,则发送休眠指令到第一休眠模块进入一个等待周期的休眠状态,从而减少CPU的消耗,只有在等待周期期满才被操作系统唤醒重新启动;等待周期的时间取决于缓冲模块的大小和帧率,缓冲模块里的图像帧被消耗到一半时才被唤醒继续存储图像帧。
实施例三
图4是本发明实施例一种视频播放方法流程图。所述方法包括以下步骤:
S301,读取缓冲区的图像帧和相对时间戳;
读取缓冲区开始时,操作系统创建所对应的工作线程;
所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以0ms开始的时间偏移量,在开始显示时以0ms记录显示起点时间;
S302,判断相对系统时间是否小于相对时间戳,是则进入步骤S304,否则进入步骤S303;
所述的相对系统时间是开始显示时以0ms为基准的时间偏移量;
S303,显示图像帧,进入步骤S301;
S304,休眠一个等待周期;
所述的一个等待周期是1000ms/(帧率*2)(取整数),在等待周期内工作线程不再占用CPU;
S305,唤醒休眠,进入步骤S302;
所述的相对系统时间可替换为相对音频时间;
所述的唤醒休眠是操作系统继续响应工作线程;
所述“相对时间戳”也可替换为相对“音频时间”。
本发明实施例中通过比对相对系统时间与小于相对时间戳来控制图像帧的显示,能够完全按照节目源所给定的每帧相对时间戳进行实时显示,确保一秒内的图像帧显示的均匀性,同样适用于没有音频的视频的流畅播放。
实施例四
图4是本发明实施例一种视频播放装置结构示意图。
所述播放装置包括:读取模块、第二判断模块、显示模块、第二休眠模块;
读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以0ms开始的时间偏移量,在开始显示时以0ms记录显示起点时间;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
所述的对比结果是指相对系统时间是否小于相对时间戳的判断结果,如果所述的对比结果为否,则向读取模块和显示模块发送显示指令,如果所述的对比结果为是,则向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令;
所述的等待周期是1000ms/(帧率*2)(取整数);
所述的休眠状态是指播放装置的工作线程不再占用CPU。
本发明实施例中第二判断模块通过比对相对系统时间与小于相对时间戳来控制显示模块的显示,能够完全按照节目源所给定的每帧相对时间戳进行实时显示,确保一秒内的图像帧显示的均匀性,同样适用于没有音频的视频的流畅播放,同时,第二休眠模块的休眠周期定义为1000ms/(帧率*2),有效控制播放装置与操作系统和CPU之间的高效协作。
实施例五
图5是本发明实施例一种视频解码和播放系统结构示意图。
所述视频解码和播放系统包括:解码装置和播放装置;
解码装置,与播放装置相连,包括:解码模块、第一判断模块、缓冲模块、第一休眠模块;
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
所述的图像帧包括图像和每帧图像对应的时间戳;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令和接收第一休眠模块发送的休眠期满指令,请求获取缓冲模块的存储状态,根据所述的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;
所述的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令;
所述的等待周期是1000ms*[(缓冲区所能容纳的帧数/2)/帧率];
所述的休眠状态是指解码装置的工作线程不再占用CPU;
播放装置,与解码装置相连,包括:读取模块、第二判断模块、显示模块、第二休眠模块;
读取模块,与第二判断模块相连,用于读取缓存区的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
所述的相对时间戳为每个图像帧所对应的被相对显示时间点,是以0ms开始的时间偏移量,在开始显示时以0ms记录显示起点时间;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
所述的对比结果是指相对系统时间是否小于相对时间戳的判断结果,如果所述的对比结果为否,则向读取模块和显示模块发送显示指令,如果所述的对比结果为是,则向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令;
所述的等待周期是1000ms/(帧率*2)(取整数);
所述的休眠状态是指播放装置的工作线程不再占用CPU;
所述的视频解码和播放系统的工作过程如下:
解码装置和播放装置启动时,操作系统设定解码装置与播放装置的优先级,播放装置的优先级高于解码装置的优先级;解码模块对视频帧解码生成图像帧;第一判断模块获取缓冲模块的存储状态,如果未满,第一判断模块向解码模块发送存储指令,解码模块存储图像帧到缓冲模块;如果已满,第一判断模块向第一休眠模块发送休眠指令,解码装置进入一个等待周期的休眠状态;播放装置读取缓冲模块的图像帧,第二判断模块判断相对系统时间是否小于相对时间戳,如果否,第二判断模块向读取模块和显示模块发送显示指令,读取模块向显示模块发送图像帧并显示;如果是,第二判断模块向第二休眠模块发送休眠指令,播放装置进入一个周期的休眠状态。
本发明实施例中操作系统通过控制解码装置与播放装置的优先级,播放装置的优先级比解码装置的优先级高,确保播放装置能够顺畅播放,即使解码装置在解码某一帧占用CPU时间过高时,并不影响播放装置显示图像帧,可以准确的把缓冲区里的图象按时显示,解码装置因解码时CPU占用时间不均匀性不会影像图像的显示,只是存储到缓冲模块即可。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种视频解码的方法,其特征在于,所述方法包括以下步骤:
读取视频帧和相对时间戳,对视频帧进行解码并生成图像帧;
判断缓冲模块是否已满,如果是,休眠一个等待周期,所述等待周期为1000ms*[(缓冲模块所能容纳的帧数/2)/帧率];
等待周期期满,休眠被唤醒,再次判断缓冲模块是否已满;
如果否,存储图像帧和相对时间戳到缓冲模块,并进入步骤“读取视频帧和相对时间戳,对视频帧进行解码并生成图像帧”。
2.如权利要求1所述的视频解码的方法,其特征在于,所述的相对时间戳可替换为相对音频时间。
3.一种视频解码装置,其特征在于,所述装置包括:
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,向第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令,所述的等待周期是1000ms*[(缓冲模块所能容纳的帧数/2)/帧率]。
4.一种视频播放的方法,其特征在于,所述方法包括以下步骤:
读取缓冲模块的图像帧和相对时间戳;
判断相对系统时间是否小于相对时间戳,如果是,休眠一个等待周期,所述的一个等待周期是1000ms/(帧率*2),其计算结果取整数;
等待周期期满,休眠被唤醒,再次判断相对系统时间是否小于相对时间戳;
如果否,显示图像帧,并进入步骤“读取缓冲模块的图像帧和相对时间戳”。
5.如权利要求4所述的视频播放方法,其特征在于,所述的相对系统时间替换为相对音频时间。
6.一种视频播放装置,其特征在于,所述装置包括:
读取模块,与第二判断模块相连,用于读取缓冲模块的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令,所述的一个等待周期是1000ms/(帧率*2),其计算结果取整数。
7.一种视频解码和播放系统,其特征在于,所述系统包括:
解码装置和播放装置;
所述解码装置包括:
解码模块,与第一判断模块相连,用于获取视频帧和相对时间戳,视频帧解码,生成图像帧,向第一判断模块发送解码完成的指令,接收第一判断模块的存储指令;
第一判断模块,与解码模块、缓冲模块和第一休眠模块相连,用于接收解码模块的解码完成的指令,请求获取缓冲模块的存储状态,根据缓冲模块的存储状态向解码模块发送存储指令或向第一休眠模块发送休眠指令;并根据第一休眠模块发送的休眠期满指令,判断所述缓冲模块的存储状态为未满或已满,如果存储状态为未满,则向解码模块发送存储指令,如果存储状态为已满,向第一休眠模块发送休眠指令;
缓冲模块,与第一判断模块相连,用于接收第一判断模块的获取缓冲模块的存储状态的请求,并向第一判断模块发送缓冲模块的存储状态,同时接收解码模块发送的图像帧和相对时间戳,并存储;
第一休眠模块,与第一判断模块相连,用于接收第一判断模块发送的休眠指令,进入一个等待周期的休眠状态,接收操作系统发送的唤醒指令,向第一判断模块发送休眠期满指令,所述的等待周期是1000ms*[(缓冲模块所能容纳的帧数/2)/帧率];
所述播放装置包括:
读取模块,与第二判断模块相连,用于读取缓冲模块的图像帧和相对时间戳,向第二判断模块发送读取完成指令,接收第二判断模块的显示指令,发送图像帧;
第二判断模块,与读取模块、显示模块和第二休眠模块相连,用于接收读取模块的读取完成指令和接收第二休眠模块发送的休眠期满指令,根据相对系统时间与相对时间戳的对比结果,向读取模块和显示模块发送显示指令或向第二休眠模块发送休眠指令;
显示模块,与第二判断模块相连,用于接收第二判断模块的显示指令,获取图像帧并显示;
第二休眠模块,与第二判断模块相连,用于接收第二判断模块发送的休眠指令,进入一个等待周期的休眠状态;并用于接收操作系统发送的唤醒指令,向第二判断模块发送休眠期满指令,所述的一个等待周期是1000ms/(帧率*2),其计算结果取整数。
8.一种包括如权利要求7所述视频解码和播放系统的终端设备。
CN201010294846.2A 2010-09-27 2010-09-27 一种视频解码和播放的方法、系统、终端设备 Expired - Fee Related CN101951517B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010294846.2A CN101951517B (zh) 2010-09-27 2010-09-27 一种视频解码和播放的方法、系统、终端设备
PCT/CN2011/076163 WO2012041082A1 (zh) 2010-09-27 2011-06-22 一种视频解码和播放的方法、装置、系统和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010294846.2A CN101951517B (zh) 2010-09-27 2010-09-27 一种视频解码和播放的方法、系统、终端设备

Publications (2)

Publication Number Publication Date
CN101951517A CN101951517A (zh) 2011-01-19
CN101951517B true CN101951517B (zh) 2014-02-26

Family

ID=43454855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010294846.2A Expired - Fee Related CN101951517B (zh) 2010-09-27 2010-09-27 一种视频解码和播放的方法、系统、终端设备

Country Status (2)

Country Link
CN (1) CN101951517B (zh)
WO (1) WO2012041082A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951517B (zh) * 2010-09-27 2014-02-26 深圳市融创天下科技股份有限公司 一种视频解码和播放的方法、系统、终端设备
CN103763635B (zh) * 2013-05-02 2018-07-27 乐视网信息技术(北京)股份有限公司 一种视频缓冲的控制方法和系统
CN104394456B (zh) * 2014-11-20 2017-12-01 福建星网视易信息系统有限公司 一种嵌入式环境下音视频解码的方法及装置
CN106095541B (zh) * 2016-05-31 2019-11-05 深圳市万普拉斯科技有限公司 睡眠管理方法及相关装置
CN107203960B (zh) * 2016-06-30 2021-03-09 北京新媒传信科技有限公司 图像渲染方法及装置
CN107888938B (zh) * 2016-09-29 2019-02-05 视联动力信息技术股份有限公司 一种网络视频播放方法及其装置
CN107085537B (zh) * 2017-03-22 2019-03-15 武汉斗鱼网络科技有限公司 Flash应用在休眠模式下的运行方法及系统
CN109672931B (zh) * 2018-12-20 2020-03-20 北京百度网讯科技有限公司 用于处理视频帧的方法和装置
CN113542795B (zh) * 2020-04-21 2023-04-18 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
CN112686109A (zh) * 2020-12-22 2021-04-20 北京百度网讯科技有限公司 离线视频文件的提取方法、装置、电子设备及存储介质
CN115619923B (zh) * 2022-09-30 2023-12-12 北京百度网讯科技有限公司 用于虚拟对象的渲染方法、装置、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588988A (zh) * 2004-07-29 2005-03-02 联合信源数字音视频技术(北京)有限公司 视频解码和显示的同步控制装置及同步方法
CN1816156A (zh) * 2005-02-02 2006-08-09 乐金电子(惠州)有限公司 多媒体数据的同步播放方法
CN101710992A (zh) * 2009-11-16 2010-05-19 乐视网信息技术(北京)股份有限公司 一种预解码高清播放器及播放方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101466045B (zh) * 2007-12-20 2011-03-16 上海奇码数字信息有限公司 自适应解码同步装置、同步方法及视频解码和显示系统
CN101271720B (zh) * 2008-04-22 2011-06-22 中兴通讯股份有限公司 一种手机流媒体音视频的同步方法
CN101778269B (zh) * 2009-01-14 2012-10-24 扬智电子科技(上海)有限公司 机顶盒的音视频帧的同步方法
CN101951517B (zh) * 2010-09-27 2014-02-26 深圳市融创天下科技股份有限公司 一种视频解码和播放的方法、系统、终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588988A (zh) * 2004-07-29 2005-03-02 联合信源数字音视频技术(北京)有限公司 视频解码和显示的同步控制装置及同步方法
CN1816156A (zh) * 2005-02-02 2006-08-09 乐金电子(惠州)有限公司 多媒体数据的同步播放方法
CN101710992A (zh) * 2009-11-16 2010-05-19 乐视网信息技术(北京)股份有限公司 一种预解码高清播放器及播放方法

Also Published As

Publication number Publication date
WO2012041082A1 (zh) 2012-04-05
CN101951517A (zh) 2011-01-19

Similar Documents

Publication Publication Date Title
CN101951517B (zh) 一种视频解码和播放的方法、系统、终端设备
US9179118B2 (en) Techniques for synchronization of audio and video
CN104780422B (zh) 流媒体播放方法及流媒体播放器
US20140362098A1 (en) Display stream compression
CN103475927B (zh) 在线视频实时变速播放方法及系统
US10573269B2 (en) Data transmission method and electronic device
CN103024567A (zh) 一种移动终端视频预览的方法及系统
CN101303880A (zh) 录制、播放音视频文件的方法及装置
WO2011038565A1 (zh) 一种流媒体音视频同步方法及系统
CN103533356A (zh) 视频数据传输方法和装置
CN112468519B (zh) 电视解码能力检测方法、装置、计算机设备及可读存储介质
CN110769269A (zh) 一种局域网屏幕直播延迟优化方法
CN101277407B (zh) 机顶盒启动方法和机顶盒
CN104853132A (zh) 一种延时视频录制方法及系统
CN112291628A (zh) 一种基于web浏览器的多线程视频解码播放方法
CN102196249A (zh) 监控数据回放方法及编码器、视频管理服务器
CN103686077A (zh) 应用于3g无线网络实时音视频数据传输的双缓冲方法
CN114339430B (zh) 一种基于硬解码的视频重定位播放方法及系统
CN104010204B (zh) 图像信息处理方法及装置
CN103841451A (zh) 多媒体播放方法、装置及终端
CN114173208A (zh) 基于hdmi接口的音箱系统音视频播放控制方法及装置
CN103974062B (zh) 图像显示装置、图像显示系统和图像显示方法
CN112118473B (zh) 视频弹幕显示方法、装置、计算机设备及可读存储介质
JP4264582B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに記録媒体
CN103997694A (zh) 一种视频退播方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHENZHEN RONGCHANG TIANXIA TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SHENZHEN TEMOBI SCIENCE + TECHNOLOGY CO., LTD.

CP03 Change of name, title or address

Address after: 518057 Guangdong, Shenzhen Province, science and technology, South Road, No. twelve Changhong science and technology building, building 19, unit 01-11, unit 18

Patentee after: SHENZHEN TEMOBI TECHNOLOGY CO., LTD.

Address before: 518057, Shenzhen hi tech Zone, South District, science and technology, South twelve Road, No. 18, Changhong science and technology building, 19 floor, Nanshan District

Patentee before: Shenzhen Temobi Science & Tech Development Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140226

Termination date: 20180927

CF01 Termination of patent right due to non-payment of annual fee