CN101924941A - 一种多媒体解码方法、系统及多媒体播放设备 - Google Patents
一种多媒体解码方法、系统及多媒体播放设备 Download PDFInfo
- Publication number
- CN101924941A CN101924941A CN 201010266729 CN201010266729A CN101924941A CN 101924941 A CN101924941 A CN 101924941A CN 201010266729 CN201010266729 CN 201010266729 CN 201010266729 A CN201010266729 A CN 201010266729A CN 101924941 A CN101924941 A CN 101924941A
- Authority
- CN
- China
- Prior art keywords
- data frame
- medium data
- decoding
- clock
- clock correction
- 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.)
- Pending
Links
Images
Abstract
本发明适用于多媒体领域,提供了一种多媒体解码方法、系统及多媒体播放设备,所述方法包括下述步骤:接收多媒体数据帧;在接收到一个多媒体数据帧时,根据接收到所述多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算所述多媒体数据帧对应的解码时钟修正值;根据计算出的解码时间修正值修正所述多媒体数据帧的解码时钟后,对所述多媒体数据帧解码。在本发明中,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值,并根据计算出的解码时间修正值修正该多媒体数据帧的解码时钟,实现了一种多媒体解码方法,不需要对现有编码设备进行改变,实现简单、不会增加成本,且能保证后续播放的质量。
Description
技术领域
本发明属于多媒体领域,尤其涉及一种多媒体解码方法、系统及多媒体播放设备。
背景技术
在很多情况下,视频编码设备会将视频数据通过TCP/IP之类的网络传输到远端,由远端的播放设备接收视频数据后解码播放。但是,如果编码时钟比解码时钟快,则会造成播放设备延长播放时间,并造成播放设备需要无限增大缓冲区或者丢帧。具体地,假设编码器的时钟是比解码时钟快i%,并且是均匀的。如果没有任何校正,当解码时钟x时刻到达时,编码设备的编码编码时钟将到达x+x*i%时刻。并且,随着时间推移,编码时钟与解码时钟之间的差越来越大,时钟差为x+x*i%-x=x*i%。
针对上述编码时钟与解码时钟不同步造成的问题,有一种处理方式是当播放设备缓冲区的帧数到达一定程度时,清空缓冲,重新计算播放的调度时间。这样可以将时钟误差积累消除,但是清空缓冲时会给实时播放不良视觉,因而一般不采用。
另一种处理方式是利用基准时钟通信,用硬件校正时钟的方式来解决,即在编码设备从硬件上去校正时钟。这需要更改现有的硬件设计电路、更换零部件,并要求一个基准时钟通信,增加了编码设备硬件设计电路的复杂性、成本高。
综上所述,现有技术提供的解决编码时钟与解码时钟不同步的方法不能保证播放质量,或者增加了编码设备硬件设计电路的复杂性、成本高。
发明内容
本发明实施例的目的旨在解决现有技术存在的问题,提供一种多媒体解码方法,不需要对现有编码设备进行改变,实现简单、不会增加成本,且能保证后续播放的质量。
本发明实施例是这样实现的,一种多媒体解码方法,包括下述步骤:
接收多媒体数据帧;
在接收到一个多媒体数据帧时,根据接收到所述多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算所述多媒体数据帧对应的解码时钟修正值;
根据计算出的解码时间修正值修正所述多媒体数据帧的解码时钟后,对所述多媒体数据帧解码。
本发明实施例的另一目的在于提供一种多媒体解码系统,包括:
数据接收单元,用于接收多媒体数据帧;
修正值计算单元,用于在所述数据接收单元接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值;以及
解码单元,用于根据所述修正值计算单元计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码。
本发明实施例的另一目的在于提供一种多媒体播放设备,包含上述的多媒体解码系统。
在本发明实施例中,通过在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值,并根据计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码,实现了一种多媒体解码方法,不需要对现有编码设备进行改变,实现简单、不会增加成本,且能保证后续播放的质量。
附图说明
图1是本发明实施例提供的多媒体解码方法的实现流程图;
图2是本发明实施例提供的多媒体解码系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值,并根据计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码,实现了一种多媒体解码方法。
图1示出了本发明实施例提供的多媒体解码方法的实现流程,详述如下:
在步骤S101中,接收多媒体数据帧;
在步骤S102中,在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值;
在步骤S103中,根据计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码。
在本发明实施例中,步骤S101中接收到多媒体数据帧可以是编码设备或中转设备等发送的,步骤S101还包括将接收到第1个多媒体数据帧的机器时间作为解码调度时间的起点,将该第1个多媒体数据帧上的时间戳作为编码时间起点;该多媒体数据帧可以为视频数据帧、音频数据帧、音视频数据帧等;接收到的多媒体数据帧的编码时钟比解码时钟快,且收到的多媒体数据帧的编码时钟比解码时钟快的比例为定值,设为i%,即编码时钟比解码时钟快的比例为均匀的。假设对一个多媒体数据帧进行编码所需要的时间为t,则对应产生的时钟差就为t*i%,接收到第n个多媒体数据帧的机器时间为Rn,该多媒体数据帧上的时间戳为Sn。
步骤S102具体包括:
步骤S1021,在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的编解码时钟差;
步骤S1022,根据计算出的编解码时钟差计算累计时钟差;
步骤S1023,根据得到的累计时钟差计算该多媒体数据帧对应的解码时钟修正值。
这里,假设第n个对多媒体数据帧对应的编解码时钟差为Dn,则其对应的累计时钟差其对应的解码时钟修正值Vn=n*t*i%。
由于接收到第n个多媒体数据帧时,其多媒体数据帧上的时间戳与接收到的机器时间所构成的编解码时钟差Dn包括了至此所有接收到的n个多媒体数据帧对应的时钟差,所以,Dn=Sn-Rn=n*t*i%。
因此,
进-步地,
在步骤S103中,根据计算出的解码时钟修正值修该多媒体数据帧对应的解码时钟时,具体为在该媒体多媒体数据帧对应的解码时钟上加上对应的解码时钟修正值,即步骤S1023中计算出的Vn。
在解码过程中,一直重复步骤S102和S103,直至完成多媒体解码。
在具体实现时,可以采用两个线程同时分别进行解码时钟修正值的计算和解码,由接收线程进行多媒体数据帧的接收和解码时钟修正值计算,由解码线程进行解码。
接收线程接收到一个多媒体数据帧时,先将其放入缓冲区,再进行其对应的解码时钟修正值的计算;解码线程则将接收线程接收到第1个多媒体数据帧的机器时间作为解码库调度时间的起点,依次从缓冲区中获取多媒体数据帧,并根据接收线程计算得到的其对应的解码时钟修正值进行解码时钟修正、解码,即解码第n帧时使用Vn来修正解码时钟。
图2示出了本发明实施例提供的多媒体解码系统的结构,为了便于说明仅示出了与本发明实施例相关的部分。
该系统可以用于多媒体播放设备,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些设备的应用系统中,其中:
数据接收单元201,接收多媒体数据帧;
修正值计算单元202,在数据接收单元201接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值;
解码单元203,根据修正值计算单元202计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码。
在本发明实施例中,数据接收单元201接收到多媒体数据帧可以是编码设备或中转设备等发送的;该多媒体数据帧可以为视频数据帧、音频数据帧、音视频数据帧等;接收到的多媒体数据帧的编码时钟比解码时钟快,且接收到的多媒体数据帧的编码时钟比解码时钟快的比例为定值,设为i%,即编码时钟比解码时钟快的比例为均匀的。假设对一个多媒体数据帧进行编码所需要的时间为t,则对应产生的时钟差就为t*i%,接收到第n个多媒体数据帧的机器时间为Rn,该多媒体数据帧上的时间戳为Sn,将接收到第一个多媒体数据帧的机器时间作为解码调度时间的起点。解码单元203将数据接收单元201接收到第1个多媒体数据帧的机器时间作为解码调度时间的起点,将该第1个多媒体数据帧上的时间戳作为编码时间起点。
具体地,修正值计算单元202包括:
编解码时钟差计算模块2021,在数据接收单元201接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的编解码时钟差Dn,即:
Dn=Sn-Rn;
累计时钟差计算模块2022,根据编解码时钟差计算模块2021计算出的编解码时钟差计算累计时钟差Sumn,即:
解码单元203将数据接收单元201接收到第1个多媒体数据帧的机器时间作为解码库调度时间的起点;解码单元203在根据解码时钟修正值修该多媒体数据帧对应的解码时钟时,具体为在该媒体多媒体数据帧对应的解码时钟上加上对应的解码时钟修正值,即解码时钟修正值计算模块2023计算出的Vn。
在解码过程中,修正值计算单元202和解码单元203依次进行上述计算和解码操作,直至完成多媒体解码。
在具体实现时,数据接收单元201和修正值计算单元202可以采用一个线程实现,而解码单元203采用另一个线程实现。
并且,可以借助缓冲区,以暂存接收到的多媒体数据帧。这样,数据接收单元201在接收到一个多媒体数据帧时,先将其放入缓冲区,再通过修正值计算单元202对其进行解码时钟修正值的计算;解码单元203则依次从缓冲区中获取多媒体数据帧,并根据修正值计算单元202计算得到的其对应的解码时钟修正值进行解码时钟修正、解码,即解码第n帧时使用Vn来修正解码时钟。
在本发明实施例中,通过在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值,并根据计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码,实现了一种多媒体解码方法,不需要对现有编码设备进行改变,实现简单、不会增加成本,且能保证后续播放的质量。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多媒体解码方法,其特征在于,所述方法包括下述步骤:
接收多媒体数据帧;
在接收到一个多媒体数据帧时,根据接收到所述多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算所述多媒体数据帧对应的解码时钟修正值;
根据计算出的解码时间修正值修正所述多媒体数据帧的解码时钟后,对所述多媒体数据帧解码。
2.如权利要求1所述的方法,其特征在于,在所述方法中,接收到的所述多媒体数据帧的编码时钟比解码时钟快,且接收到的所述多媒体数据帧的编码时钟比解码时钟快的比例为定值。
3.如权利要求2所述的方法,其特征在于,所述接收多媒体数据帧的步骤还包括:
将接收到第1个多媒体数据帧的机器时间作为解码调度时间的起点,将所述第1个多媒体数据帧上的时间戳作为编码时间起点。
4.如权利要求3所述的方法,其特征在于,所述在接收到一个多媒体数据帧时,根据接收到所述多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算所述多媒体数据帧对应的解码时钟修正值的步骤具体为:
在接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的编解码时钟差;
根据计算出的编解码时钟差计算累计时钟差;
根据得到的累计时钟差计算该多媒体数据帧对应的解码时钟修正值。
5.如权利要求4所述的方法,其特征在于,所述根据得到的累计时钟差计算该多媒体数据帧对应的解码时钟修正值的计算公式如下:
其中,Vn为第n个多媒体数据帧对应的解码时钟修正值,Sumn为第n个多媒体数据帧对应的累计时钟差。
6.一种多媒体解码系统,其特征在于,所述系统包括:
数据接收单元,用于接收多媒体数据帧;
修正值计算单元,用于在所述数据接收单元接收到一个多媒体数据帧时,根据接收到该多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算该多媒体数据帧对应的解码时钟修正值;以及
解码单元,用于根据所述修正值计算单元计算出的解码时间修正值修正该多媒体数据帧的解码时钟后,对该多媒体数据帧解码。
7.如权利要求6所述的系统,其特征在于,所述数据接收单元接收到的多媒体数据帧的编码时钟比解码时钟快,且接收到的多媒体数据帧的编码时钟比解码时钟快的比例为定值。
8.如权利要求7所述的系统,其特征在于,所述解码单元将所述数据接收单元接收到第1个多媒体数据帧的机器时间作为解码调度时间的起点,将所述第1个多媒体数据帧上的时间戳作为编码时间起点;
所述修正值计算单元包括:
编解码时钟差计算模块,用于在所述数据接收单元接收到一个多媒体数据帧时,根据接收到所述多媒体数据帧的机器时间和多媒体数据帧上的时间戳计算所述多媒体数据帧对应的编解码时钟差;
累计时钟差计算模块,用于根据所述编解码时钟差计算模块计算出的编解码时钟差计算累计时钟差;以及
解码时钟修正值计算模块,用于根据所述累计时钟差计算模块得到的累计时钟差计算所述多媒体数据帧对应的解码时钟修正值。
9.如权利要求8所述的系统,其特征在于,所述解码时钟修正值计算模块计算所述多媒体数据帧对应的解码时钟修正值的计算公式如下:
其中,Vn为第n个多媒体数据帧对应的解码时钟修正值,Sumn为第n个多媒体数据帧对应的累计时钟差。
10.一种多媒体播放设备,其特征在于,所述设备包含权利要求6至9任一项所述的多媒体解码系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010266729 CN101924941A (zh) | 2010-08-30 | 2010-08-30 | 一种多媒体解码方法、系统及多媒体播放设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010266729 CN101924941A (zh) | 2010-08-30 | 2010-08-30 | 一种多媒体解码方法、系统及多媒体播放设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101924941A true CN101924941A (zh) | 2010-12-22 |
Family
ID=43339536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010266729 Pending CN101924941A (zh) | 2010-08-30 | 2010-08-30 | 一种多媒体解码方法、系统及多媒体播放设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101924941A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812962A (zh) * | 2016-02-24 | 2016-07-27 | 清德智体(北京)科技有限公司 | 一种流媒体视频帧时间偏移消除方法 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
CN108419125A (zh) * | 2018-03-08 | 2018-08-17 | 弘成科技发展有限公司 | 多媒体课堂移动端的远程控制方法 |
CN112929755A (zh) * | 2021-01-21 | 2021-06-08 | 稿定(厦门)科技有限公司 | 进度拖动过程中的视频文件播放方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060065436A (ko) * | 2004-12-10 | 2006-06-14 | 한국전자통신연구원 | 디지털 멀티미디어 방송 수신 장치에서의 오디오 및 비디오동기화 방법 및 장치 |
KR20060083312A (ko) * | 2005-01-14 | 2006-07-20 | 엘지전자 주식회사 | 디지털 방송 수신기의 복호 방법 |
JP4127799B2 (ja) * | 2003-02-25 | 2008-07-30 | 株式会社東芝 | 復号再生装置 |
US7620137B2 (en) * | 2004-11-13 | 2009-11-17 | Microsoft Corporation | System and method for clock drift correction for broadcast audio/video streaming |
CN101622875A (zh) * | 2007-03-01 | 2010-01-06 | 高通股份有限公司 | 代码转换器媒体时间变换 |
CN101202613B (zh) * | 2006-12-11 | 2010-05-19 | 中兴通讯股份有限公司 | 一种用于时钟同步的终端 |
-
2010
- 2010-08-30 CN CN 201010266729 patent/CN101924941A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4127799B2 (ja) * | 2003-02-25 | 2008-07-30 | 株式会社東芝 | 復号再生装置 |
US7620137B2 (en) * | 2004-11-13 | 2009-11-17 | Microsoft Corporation | System and method for clock drift correction for broadcast audio/video streaming |
KR20060065436A (ko) * | 2004-12-10 | 2006-06-14 | 한국전자통신연구원 | 디지털 멀티미디어 방송 수신 장치에서의 오디오 및 비디오동기화 방법 및 장치 |
KR20060083312A (ko) * | 2005-01-14 | 2006-07-20 | 엘지전자 주식회사 | 디지털 방송 수신기의 복호 방법 |
CN101202613B (zh) * | 2006-12-11 | 2010-05-19 | 中兴通讯股份有限公司 | 一种用于时钟同步的终端 |
CN101622875A (zh) * | 2007-03-01 | 2010-01-06 | 高通股份有限公司 | 代码转换器媒体时间变换 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812962A (zh) * | 2016-02-24 | 2016-07-27 | 清德智体(北京)科技有限公司 | 一种流媒体视频帧时间偏移消除方法 |
CN105812962B (zh) * | 2016-02-24 | 2018-10-26 | 清德智体(北京)科技有限公司 | 一种流媒体视频帧时间偏移消除方法 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
CN107566794B (zh) * | 2017-08-31 | 2020-03-24 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
CN108419125A (zh) * | 2018-03-08 | 2018-08-17 | 弘成科技发展有限公司 | 多媒体课堂移动端的远程控制方法 |
CN112929755A (zh) * | 2021-01-21 | 2021-06-08 | 稿定(厦门)科技有限公司 | 进度拖动过程中的视频文件播放方法及装置 |
CN112929755B (zh) * | 2021-01-21 | 2022-08-16 | 稿定(厦门)科技有限公司 | 进度拖动过程中的视频文件播放方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120183040A1 (en) | Dynamic Video Switching | |
US7966544B2 (en) | Loading the input memory of an LDPC decoder with data for decoding | |
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
CN101924941A (zh) | 一种多媒体解码方法、系统及多媒体播放设备 | |
CN106131550A (zh) | 播放多媒体文件的方法及装置 | |
CN101340590A (zh) | 复用装置和复用方法 | |
CN101517903B (zh) | 多媒体信息接收装置 | |
CN105393480A (zh) | 用于在多媒体通信系统中发送/接收分组的装置和方法 | |
US7725810B2 (en) | Decoding of multiple data streams encoded using a block coding algorithm | |
CN103503462A (zh) | 实时转码方法及设备 | |
CN103391415A (zh) | 一种录像数据丢帧处理方法及系统 | |
CN102742164A (zh) | 一种译码方法和译码装置 | |
CN101720041A (zh) | 一种基于分层编码的数据处理方法 | |
CN102318249B (zh) | 一种交织和解交织的方法、交织器和解交织器 | |
CN101986713B (zh) | 基于视点合成的多视点容错编码框架 | |
US20130198582A1 (en) | Supercharged codes | |
CN105577196A (zh) | 基于宽带OFDM电力线通信系统的Turbo码数据交织方法和交织器 | |
CN102130693B (zh) | 一种低密度奇偶校验码的译码方法和装置 | |
CN102064916B (zh) | 一种基于cmmb标准的字节交织方法 | |
CN102655604B (zh) | 视频处理方法和设备 | |
CN111984443A (zh) | 一种分布式系统环境下的编码方法、解码方法和对应装置 | |
CN102263606A (zh) | 信道数据编码、解码方法及装置 | |
US8614960B2 (en) | Method and apparatus for transmitting and receiving data by using time slicing | |
WO2018076672A1 (zh) | 一种光传送网络业务接入方法及装置、计算机存储介质 | |
CN102170583A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101222 |