多媒体文件中音视频数据的解复用方法及装置的制作方法

文档序号:7692501阅读:294来源:国知局
专利名称:多媒体文件中音视频数据的解复用方法及装置的制作方法
技术领域
本发明涉及多媒体文件中音视频数据的处理技术,特点涉及ー种多媒体文件中音视频数据的解复用方法及装置。
背景技术
随着播放技术的提高,出现了多线程媒体播放器,图I为现有技术提供的多线程媒体播放器结构示意图,包括解复用线程模块、视频解码线程模块、视频播放线程模块、音频解码线程模块、音频播放线程模块及共享控制模块,其中,共享控制模块分别与其他线程模块交互,控制其他线程模块对多媒体文件整个的解复用、解码及播放过程。当解复用线程模块接收到多媒体文件时,这个多媒体文件的格式可以为AVI、MP4、3GP、WMV或MKV,这个多媒体文件缓存多个数据帧,这些数据帧可以为音频数据帧,也可以·为视频数据帧,这些音频数据帧或视频数据帧的缓存顺序与解码顺序并相同,所以需要进行解复用,使得解复用后的多媒体文件中数据帧的缓存顺序与解码顺序相同。因此,在共享控制模块的控制下对多媒体文件进行解复用,输出原始流音视频帧队列,其中包括按照音视解码顺序重新顺序排列的音频数据帧和视频数据帧。在共享控制模块的控制下由视频解码线程模块对原始流音视频帧队列中的音频数据帧进行解码得到诸如格式为YUV或RGB等的视频帧播放队列,发送给视频播放线程模块,视频播放线程模块在共享控制模块的控制下,将视频帧播放队列进行视频播放。在共享控制模块的控制下由音频解码线程模块对原始流音视频帧队列中的视频数据帧进行解码得到诸如PCM格式的音频帧播放队列,发送给音频播放线程模块。音频播放线程模块在共享控制模块的控制下将该音频帧播放队列播放。在上述过程中,解复用线程模块的作用就是根据多媒体文件中的音频数据帧或视频数据帧的解码时间戳对多媒体文件中的音频数据帧或时频数据帧重新顺序排列,得到原始流音视频帧队列用于后续的音视频数据解码及播放,保证解码及播放的同步性。对于解复用线程模块接收到的多媒体文件,可以以交织的形式或非交织的形式缓存音频数据帧和视频数据帧,所缓存的音频数据帧和视频数据帧都标识有解码时间戳。在多媒体文件中,还可以携帯或不携带索引,该索引标识了每个数据帧的字节偏移位置及大小,用于在多媒体文件中定位每个数据帧。当多媒体文件不携带索引吋,则无论多媒体文件中的音频数据帧或视频数据帧是否交织,完全按照每一音频数据帧或每一视频数据帧在多媒体文件中的缓存顺序由前至后进行解复用,得到原始流音视频帧队列。当多媒体文件携帯有索引时,根据索引确定每一音频数据帧或每一视频数据帧在多媒体文件中的位置,按照解码时间戳从小到大顺序,对多媒体文件中的音频数据帧或视频数据帧的缓存位置进行跳转,得到按照解码时间戳从小到大顺序排列的原始流音视频帧队列。图2为现有技术在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列的过程示意图,如图2的最上一行所示,多媒体文件缓存的音频数据帧或视频数据帧的顺序为视频数据帧VI、视频数据帧V2、视频数据帧V3、....、音频数据帧Al、音频数据帧A2、音频数据帧A3、...,也就是没有将音频数据帧与视频数据帧交织缓存,并且每ー视频数据帧的持续时间为40毫秒,每一音频数据帧的持续时间为20毫秒,则视频数据帧的解码时间戳依次为0、40、80、120、· ·.,音频数据帧的解码时间戳依次为0、20、40、60、· ·.。。这时,在复用时,就需要根据索引,按照解码时间戳从小到大顺序,对多媒体文件中的音频数据帧或视频数据帧的缓存位置进行跳转,得到按照解码时间戳从小到大顺序排列的原始流音视频帧队列,如图2中第二行所示。得到的原始流音视频帧队列为视频数据帧VI、音频数据帧Al、音频数据帧A2、视频数据帧V2、音频数据帧A3、音频数据帧A4、视频数据帧V3、音频数据帧A5、音频数据帧A6、视频数据帧V4、音频数据帧A7、音频数据帧A8、...。在图2中,还标识了为得到原始流音视频帧队列而在多媒体文件中发生的跳转,可以看出, 对于非交织缓存数据帧的多媒体文件,或者交织缓存数据帧,但没有按照解码时间戳缓存数据帧的多媒体文件,经过很多次跳转才解复用得到原始流音视频帧队列。在对多媒体文件的解复用过程中,这种过多的索引定位及跳转操作,尤其是频繁地前后移动多媒体文件的读指针进行索引定位,会造成解复用速度变慢,效率下降。特别对远程的多媒体文件解复用时,会造成多线程媒体播放器所在客户端的网络负荷,甚至会影响后续对原始流音视频帧队列的解码及后续正常播放。

发明内容
有鉴于此,本发明提供ー种多媒体文件中音视频数据的解复用方法,该方法能够提高多媒体文件的解复用效率。本发明还提供ー种多媒体文件中音视频数据的解复用装置,该装置能够提高多媒体文件的解复用效率。本发明的技术方案是这样实现的ー种多媒体文件中音视频数据的解复用方法,该方法包括根据设置的最长同步时间,设置并更新最长同步时间点;根据多媒体文件中每一路数据帧中当前帧的解码时间戳与最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧;根据所选择的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。所述最长同步时间的设定依据解复用后得到的原始流音视频帧队列所缓存的数据帧最大个数大于所设置的最长同步时间内所包含的数据帧个数的原则设置。设置并更新最长同步时间点的过程为al,将多媒体文件中的第一数据帧的解码时间戳设置为当前同步时间点,将该当前同步时间点与最长同步时间之和作为最长同步时间点;bl,按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点;Cl,如果所有路数据帧中当前数据帧的解码时间戳都大于等于该最长同步时间点,则更新最长同步时间点,更新为当前所有路数据帧中当前数据帧中字节位置最靠前的数据帧的解码时间戳,将该当前同步时间点与最长同步时间之和作为最长同步时间点,转入步骤b I继续执行;所述每一路数据帧中当前数据帧在初始时为每一路数据帧中第一数据帧,后续如果一路数据帧中有当前据帧被作为输出数据帧输出,则当前数据帧修改为下ー数据帧。所述选择可输出数据帧的过程为a2、按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点,如果小于,将该数据帧标识为该路数据帧的待选帧;如果大于等于,该路数据巾贞的待选巾贞为空;b2、判断多媒体文件中的所有路数据帧中的待选帧是否为空,如果否,比较多媒体文件中所有路数据帧的待选帧的字节偏移位置值,将最小所在的待选帧作为输出数据帧输出;如果是,比较多媒体文件中所有路数据帧中当前数据帧的字节偏移位置值,将最小一帧作为输出数据帧输出; c2、将输出数据帧所在的一路数据帧当前数据帧更新为下ー数据帧,转入a2 c2继续执行,得到选择的可输出数据帧。所述读取该输出数据帧,得到原始流音视频帧队列的过程为a3、获取该输出数据帧在多媒体文件中的字节偏移位置值,所述字节偏移位置值包括字节偏移位置和所包含的字节数;b3、比较上一次输出数据帧的字节偏移位置与所包含的字节数之和是否等于当前输出数据帧的字节偏移位置与所包含的字节数之和,如果是,则不移动多媒体文件的读指针;如果否,则进行多媒体文件的捜索定位,将多媒体文件的读指针移动到当前输出数据帧的字节偏移位置;c3、从多媒体文件的读指针所在位置读取当前输出数据帧,读取数据的大小为当前输出数据帧所包含的字节数,然后输出;d3、记录当前输出数据帧的字节偏移位置及所包含的字节数,作为上一次输出数据帧,将下ー输出数据帧作为当前输出数据帧,转入步骤a3 b3继续执行,得到原始流音视频帧队列。ー种多媒体文件中音视频数据的解复用装置,该装置包括设置单元、比较单元及输出单元,其中,设置单元,用于根据设置的最长同步时间,设置并更新最长同步时间点;比较单元,用于根据多媒体文件中每一路数据帧中当前帧的解码时间戳与从设置単元所获取的最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧,发送给输出単元;输出单元,用于根据从比较単元接收的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。从上述方案可以看出,本发明利用解复用的多媒体文件在解码时采用先进先出的方式缓存多个数据帧的技术特征,在解复用多媒体文件时得到的数据帧的缓存顺序与解码顺序可以不相同,保证在当前缓存的数据帧中的最后ー数据帧的时间戳小于等于第一数据帧的时间戳与所设定缓存多个数据帧的缓存时间之和,这样,就可以保证在后续解码过程中,从当前所缓存的数据帧中找到要解码的音频数据帧或视频数据帧了,保证解码的同步性能。基于此原理,本发明设置最长同步时间,该最长同步时间内所缓存的数据帧个数小于等于解复用所缓存数据帧个数,根据所设置的最长同步时间及多媒体文件中各路数据帧中当前数据帧的解码时间戳实时更新最长同步时间点,根据多媒体文件各路数据帧中当前数据帧的解码时间戳与该最长同步时间点比较的结果,结合索引中的字节偏移位置值,选择得到输出当前数据帧,根据输当前数据帧,按照索引中该数据帧在多媒体文件中的偏移值进行跳转,最終得到原始流音视频帧队列。这样,就減少了多媒体文件在转换为原始流音视频帧队列时的索引定位及跳转次数。因此,本发明提供的方法及装置可以提高多媒体文件的解复用效率。


图I为现有技术提供的多线程媒体播放器;图2为现有技术在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列的过程示意图;
图3为本发明提供的多媒体文件中音视频数据的解复用方法流程图;图4为本发明提供的多媒体文件中音视频数据的解复用装置结构示意图;图5为本发明提供的多媒体文件中音视频数据的解复用方法实施例一流程图;图6为本发明在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列的过程示意图;图7为本发明在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列ニ的过程示意图;图8为采用本发明提供的方法与采用现有技术的方法对多媒体文件进行解复用的效率对比示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下參照附图并举实施例,对本发明作进ー步详细说明。从现有技术可以看出,对于非交织缓存数据帧的多媒体文件,或者交织缓存数据帧,但没有按照解码时间戳缓存数据帧的多媒体文件,经过很多次跳转才解复用得到原始流音视频帧队列的原因为要按照解码时间戳从小到大顺序排列多媒体文件中的数据帧,得到原始流音视频帧队列,这样得到的原始流音视频帧队列与没有复用的多媒体文件相比,会进行过多次的索引定位及跳转操作,这就会造成解复用速度变慢,效率下降。为了克服上述问题,本发明利用解复用的多媒体文件在解码时采用先进先出的方式缓存多个数据帧的技术特征,在解复用多媒体文件时得到的数据帧的缓存顺序与解码顺序可以不相同,保证在当前缓存的数据帧中的最后ー数据帧的时间戳小于等于第一数据帧的时间戳与所设定缓存多个数据帧的缓存时间之和,这样,就可以保证在后续解码过程中,从当前所缓存的数据帧中找到要解码的音频数据帧或视频数据帧了,保证解码的同步性倉^:。在多媒体文件中所缓存的数据帧包括音频数据帧和视频数据帧,缓存方式常常为几个视频数据帧后,再缓存几个音频数据帧,然后依次进行,或者先缓存几个音频数据帧后,再缓存几个视频数据帧。为了便于描述,这里将缓存在一起的音频数据帧或视频数据帧称为一路数据帧,比如一路音频数据帧或一路视频数据帧,在多媒体文件中存在多路音频数据帧和多路视频数据帧,这里通称为多路数据帧。图3为本发明提供的多媒体文件中音视频数据的解复用方法流程图,其具体步骤为步骤301、根据设置的最长 同步时间,设置并更新最长同步时间点;在该步骤中,所设置的最长同步时间为所设定的从多媒体文件中可顺序读取数据帧的最长同步时间,该最长同步时间根据多线程媒体播放器的配置而配置,设置原则为解复用后得到的原始流音视频帧队列所缓存的数据帧最大个数大于所设置的最长同步时间内所包含的数据帧个数;实时更新所设置的最长同步时间点的过程为步骤一,将多媒体文件中的第一数据帧的解码时间戳设置为当前同步时间点,将该当前同步时间点与最长同步时间之和作为最长同步时间点;步骤ニ,按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点;步骤三,如果所有路数据帧中当前数据帧的解码时间戳都大于等于该最长同步时间点,则更新最长同步时间点,更新为当前所有路数据帧中当前数据帧中字节位置最靠前的数据帧的解码时间戳,将该当前同步时间点与最长同步时间之和作为最长同步时间点,转入步骤ニ继续执行。在初始时,每一路数据帧中当前数据帧为每一路数据帧中第一数据帧,如果一路数据帧中有当前据帧被作为输出数据帧输出,则当前数据帧修改为下ー数据帧。步骤302、根据多媒体文件中每一路数据帧中当前帧的解码时间戳与最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧。步骤303、根据所选择的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。在图3的过程中,所述步骤302的具体过程为步骤3021、按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点,如果小于,则转入步骤3022执行;如果大于等于,则转入步骤3023执行;步骤3022、将该数据帧标识为该路数据帧的待选帧,转入步骤3024执行;步骤3023、该路数据帧的待选帧为空,转入步骤3024执行;步骤3024、判断多媒体文件中的所有路数据帧中的待选帧是否为空,如果否,则执行步骤3025 ;如果是,则执行步骤3026 ;步骤3025、比较多媒体文件中所有路数据帧的待选帧的字节偏移位置值,将最小所在的待选帧作为输出数据帧输出,执行步骤3027 ;步骤3026、比较多媒体文件中所有路数据帧中当前数据帧的字节偏移位置值,将最小一帧作为输出数据帧输出,执行步骤3027 ;步骤3027、将输出数据帧所在的一路数据帧当前数据帧更新为下ー数据帧,也就是将输出数据帧所在的一路数据帧当前数据帧的帧号递加I,转入步骤3021 步骤3027继续执行。在图3中,所述步骤303的具体过程为步骤3031、获取当前输出数据帧在多媒体文件中的字节偏移位置值;在该步骤中,多媒体文件携帯有索引,在索引中指出了多媒体文件中每ー数据帧的字节偏移位置及所包含的字节数,称为字节偏移位置值,根据索引就可以得到;步骤3032、比较上一次输出数据帧的字节偏移位置与所包含的字节数之和是否等于当前输出数据帧的字节偏移位置与所包含的字节数之和,如果是,则不移动多媒体文件的读指针;如果否,则进行多媒体文件的捜索定位,将多媒体文件的读指针移动到当前输出数据帧的字节偏移位置; 步骤3033、从多媒体文件的读指针所在位置读取当前输出数据帧,读取数据的大小为当前输出数据帧所包含的字节数,然后输出;步骤3034、记录当前输出数据帧的字节偏移位置及所包含的字节数,作为上一次输出数据帧,将下ー输出数据帧作为当前输出数据帧,转入步骤3031 3034继续执行,最终得到原始流音视频帧队列。图4为本发明提供的多媒体文件中音视频数据的解复用装置结构示意图,包括设置单元、比较单元及输出单元,其中,设置单元,用于根据设置的最长同步时间,设置并更新最长同步时间点;比较单元,用于根据多媒体文件中每一路数据帧中当前帧的解码时间戳与从设置単元所获取的最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧,发送给输出単元;输出单元,用于根据从比较単元接收的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。举ー个具体实例对本发明提供的方法进行详细说明图5为本发明提供的多媒体文件中音视频数据的解复用方法实施例一流程图,其具体步骤为步骤501、多线程媒体播放器读取多媒体文件,解析其中的索引及每一路数据帧的头信息,初始化所有变量;步骤502、多线程媒体播放器设置最长同步时间Tsyn。;步骤503、设置每路数据帧中的当前数据帧为各路数据帧的第一数据帧;在该步骤中,采用用i表示所有路数据帧中第i路数据帧,i = 1,2,3...;步骤504、设置当前同步时间点T·为所有路数据帧的当前数据帧中字节偏移位置最小ー帧的解码时间戳DTS ;步骤505、计算当前最长同步时间点Tmax = Tsync+Tcur ;步骤506、将每一路数据帧中当前数据帧的解码时间戳DTSiem与当前最长同步时间点Tmax进行比较,若DTSし彡Tfflax,则将该数据帧标识为第i路数据帧的待选数据帧;否贝1J,第i路数据帧的待选数据帧为空;步骤507、比较所有路数据帧中不为空的待选数据帧的字节偏移位置值,最小者所在的一数据帧为当前输出数据帧;
步骤508、如果每一路数据帧的待选数据帧均为空,则比较所有路数据帧中当前数据帧的字节偏移位置Lic^a = 1,2,3...),其最小者记为第k路数据帧的字节偏移位置Lkcm ;将当前同步时间点T·更新为第k路数据帧当前数据帧的解码时间戳,即Tcot =DTSkcur,并重新计算当前最长同步时间点为该当前同步时间点与最长同步时间之和,即Tmax=Tsync+Tcur ;并将第k路数据帧当前数据帧设为输出数据帧;步骤509、将输出数据帧所在的一路数据帧(第k路数据帧)的当前数据帧更新为下一数据帧,并且该路数据帧的当前数据帧帧号递加I ;步骤510、比较上一次输出数据帧的字节偏移位置Lpmv与其所包含的字节数Spmv之和与当前输出数据帧的字节偏移位置し·,若Lpmv+Spmv幸L·,则进行多媒体文件的搜索定位,即将多媒体文件的读指针移动到当前输出数据帧的字节偏移位置Lcot ;否则,不移动多媒体文件的读指针,即相邻两数据帧之间不进行捜索;步骤511、从多媒体文件读指针所在的位置读取当前可输出数据帧,所读取数据 的大小为当前可输出数据帧所包含的字节数S·;将所读取的数据作为当前输出数据帧输出;步骤512、记录当前输出数据帧的字节偏移位置及其所包含的字节数,并更新Lpmv
—T ['I c — c
j^cur ,人 k^prev k^cur ;步骤513、按照步骤506 步骤511的过程,解复用剩余每ー数据帧,直到得到原始流音视频帧队列。
背景技术
中的图2第二行所示的原始流音视频帧队列,是按照解码时间戳从小到大顺序,对多媒体文件中的音频数据帧或视频数据帧的缓存位置进行跳转得到的,其没有考虑原始流音视频帧队列的缓存机制特性,由于在后续解码过程中,可以缓存一定数量的数据帧,因此,本发明就没有严格按照解码时间戳从小到大顺序读取,而是连续读取N(可按照本发明设定的最长同步时间与该例中每视频数据帧持续时间相除计算得到,在本例中N = 200/40 = 5)视频巾贞之后再连续读取2N巾贞音频,而不会影响解码原始流音视频巾贞队列的同步性能。图6为本发明在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列一的过程示意图,图中各部分所代表的意义与图2相同。在图6中,使用了 200毫秒作为最长同步时间,因此在每顺序读取5帧的视频数帧之后就会跳转并读取10帧音频数据帧,之后再跳转并读取后续的5帧视频数据帧,如此往复,本发明得到的原始流音视频帧队列如图6第三行所示。从图6可以看出,在此种多媒体文件包含大量的视频数据帧和音频数据帧的实例中,本发明完成解复用多媒体文件时,需要进行跳转的频率近似为每15数据帧2次,而现有完成解复用多媒体文件吋,需要进行跳转的频率近似为每15数据帧10次,从而节省了约80%的跳转次数,极大地提高了多线程媒体播放器的解复用效率。需要说明的是,本发明的自适应交织性提醒在并不是从多媒体文件中固定选取连续读取音频数据帧或视频数据帧的个数,而是结合多媒体文件中音频数据帧或视频数据帧的缓存位置顺序与其解码时间戳,和最长同步时间点的比较结果自适应的进行判断。因此,本发明提供的方法适用于交织、非交织以及非正确交织多媒体文件的解复用过程。如图7所示,图7为本发明在多媒体文件携帯有索引时,将多媒体文件解复用为原始流音视频帧队列ニ的过程示意图,该多媒体文件为非正确交织的多媒体文件,采用本发明提供的方案对其进行解复用,根本不需要任何跳转,节省了 100 %的跳转次数。图8为采用本发明提供的方法与采用现有技术的方法对多媒体文件进行解复用的效率对比示意图,如图所示,选取了 5个电影作为多媒体文件分别采用本发明提供的方法和采用现有技术提供的方法进行解复用时,进行多媒体文件的跳转次数比较结果柱形图,其详细数据采用表一进行说明。该实施例中,使用200毫秒为最长同步时间,其中电影I的AVI文件与电影2的MP4文件均为非交织的多媒体文件,其他电影为非正确交织的多媒体文件。从结果可以看出,本发明能够节省65% 100%的多媒体文件的跳转次数,从而极大提高多线程媒体播放器的解复用效率。表一
权利要求
1.一种多媒体文件中音视频数据的解复用方法,其特征在于,该方法包括 根据设置的最长同步时间,设置并更新最长同步时间点; 根据多媒体文件中每一路数据帧中当前帧的解码时间戳与最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧; 根据所选择的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。
2.如权利要求I所述的方法,其特征在于,所述最长同步时间的设定依据解复用后得到的原始流音视频帧队列所缓存的数据帧最大个数大于所设置的最长同步时间内所包含的数据帧个数的原则设置。
3.如权利要求I或2所述的方法,其特征在于,设置并更新最长同步时间点的过程为 al,将多媒体文件中的第一数据帧的解码时间戳设置为当前同步时间点,将该当前同步时间点与最长同步时间之和作为最长同步时间点; bl,按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点; Cl,如果所有路数据帧中当前数据帧的解码时间戳都大于等于该最长同步时间点,则更新最长同步时间点,更新为当前所有路数据帧中当前数据帧中字节位置最靠前的数据帧的解码时间戳,将该当前同步时间点与最长同步时间之和作为最长同步时间点,转入步骤bl继续执行; 所述每一路数据帧中当前数据帧在初始时为每一路数据帧中第一数据帧,后续如果一路数据帧中有当前据帧被作为输出数据帧输出,则当前数据帧修改为下一数据帧。
4.如权利要求3所述的方法,其特征在于,所述选择可输出数据帧的过程为 a2、按照多媒体文件中数据帧的缓存顺序,比较每一路数据帧中当前数据帧的解码时间戳与最长同步时间点,如果小于,将该数据帧标识为该路数据帧的待选帧;如果大于等于,该路数据帧的待选帧为空; b2、判断多媒体文件中的所有路数据帧中的待选帧是否为空,如果否,比较多媒体文件中所有路数据帧的待选帧的字节偏移位置值,将最小所在的待选帧作为输出数据帧输出;如果是,比较多媒体文件中所有路数据帧中当前数据帧的字节偏移位置值,将最小一帧作为输出数据巾贞输出; c2、将输出数据帧所在的一路数据帧当前数据帧更新为下一数据帧,转入a2 c2继续执行,得到选择的可输出数据帧。
5.如权利要求4所述的方法,其特征在于,所述读取该输出数据帧,得到原始流音视频帧队列的过程为 a3、获取该输出数据帧在多媒体文件中的字节偏移位置值,所述字节偏移位置值包括字节偏移位置和所包含的字节数; b3、比较上一次输出数据帧的字节偏移位置与所包含的字节数之和是否等于当前输出数据帧的字节偏移位置与所包含的字节数之和,如果是,则不移动多媒体文件的读指针;如果否,则进行多媒体文件的搜索定位,将多媒体文件的读指针移动到当前输出数据帧的字节偏移位置; c3、从多媒体文件的读指针所在位置读取当前输出数据帧,读取数据的大小为当前输出数据帧所包含的字节数,然后输出; d3、记录当前输出数据帧的字节偏移位置及所包含的字节数,作为上一次输出数据帧,将下一输出数据帧作为当前输出数据帧,转入步骤a3 b3继续执行,得到原始流音视频帧队列。
6.一种多媒体文件中音视频数据的解复用装置,其特征在于,该装置包括 设置单元、比较单元及输出单元,其中, 设置单元,用于根据设置的最长同步时间,设置并更新最长同步时间点; 比较单元,用于根据多媒体文件中每一路数据帧中当前帧的解码时间戳与从设置单元所获取的最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧,发送给输出单元; 输出单元,用于根据从比较单元接收的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。
全文摘要
本发明公开了一种多媒体文件中音视频数据的解复用方法及装置,其中,该方法包括根据设置的最长同步时间,设置并更新最长同步时间点根据多媒体文件中每一路数据帧中当前帧的解码时间戳与最长同步时间点的比较结果,结合每一路数据帧中当前帧的字节偏移位置值的先后顺序,选择可输出数据帧;根据所选择的可输出数据帧的字节偏移位置值在多媒体文件中进行搜索定位,读取该输出数据帧,得到原始流音视频帧队列。本发明提高了多媒体文件的解复用效率。
文档编号H04N21/434GK102811380SQ20111015774
公开日2012年12月5日 申请日期2011年6月3日 优先权日2011年6月3日
发明者朱春波, 孙晔 申请人:三星电子(中国)研发中心, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1