用于音频和视频传输的方法和系统的利记博彩app

文档序号:7956584阅读:307来源:国知局
专利名称:用于音频和视频传输的方法和系统的利记博彩app
技术领域
本发明的某些实施例涉及打包数据的传输。更具体地来说,本发明的某些实施例涉及用于音频和视频传输的方法和系统。
背景技术
通过引入宽带网络、诸如机顶盒的数据转发器和终端设备、以及诸如记录了如采用运动图片专家组(MPEG)压缩标准的数字压缩音频、视频和数据信号的DVD光盘的记录媒体,可以提供几乎与原材料无可区分的声音和图片质量。最流行的MPEG标准的其中一种是MPEG-2,它提供可以用于传送含有压缩音频、视频和数据信号的数字电视或DVD内容所需的协议和底层结构。MPEG-2标准的详细描述以ISO/IEC标准13818的形式公布。随着宽带网络持续发展,有需要提供对常规设备的访问,以确保可与常规且种类各异的系统的互操作性。
MPEG节目可以包含多个数据流。例如,它可以包含压缩的数字视频和音频流,以及用于节目控制信息的流。视频和音频编码器分别将视频和音频内容压缩到基本码流(ES)中。在MPEG-2中,这些流可以封装诸如解码和展示时间戳等的其他信息,以生成打包的基本码流(PES)。所有这些流可以编码并接着复用到传输流(TS)中以供传输。可以在机顶盒(STB)中对TS解复用并对压缩的视频和音频流解码,并在电视机上观看。对于整个系统,该类型(包括TS编码)的编码过程可以确定另一个设备(诸如STB)是否可以解码和解释接收到的MPEG数据流。此时,这些其他设备可能是常规或种类各异的设备。
在典型的MPEG数据流中,单个ES的长度可以相当于节目的长度。每个ES可以被封装在多个长度可变的数据包中,称为PES。PES可以包含位于一个或多个有效负载字节前的包头。该包头可以包含有关MPEG解码器解压和解码接收的ES所需的编码过程的信息。每一单个ES可以具有一个对应的PES,且任何编码的音频和视频信息仍可以位于多个分开的PES中。需注意的是,PES主要可以视为逻辑构造,而原本并非用于数据互换、传输和可互操作性。但是PES仍可以用于两种类型的系统流,即TS和节目流(PS)之间的转换。
TS和PS可以通过复用多个PES数据包来形成。TS可以包含多个附加数据包(可以是多个表),这些附加数据包可以是对TS解复用所必需的。这些表可以通称为节目专用信息(program specific information(PSI))。为了维持同步和定时,还可以将空数据包插入已填充信息承载的数据包之间的间隔。用于相关节目的定时信息可以由特定数据包来载送。一种类型的定时信息可以称为节目时钟参考(PCR)。PCR可以设在TS分组的可选头字段的其中一个中。操作过程中,PCR可以使解码器将其时钟同步到与原编码器的时钟频率相同的频率。TS分组可以具有188个字节的固定长度,它可以包含具有4个字节的最小大小的头和184个字节的最大有效负载。
MPEG-2传输流(TS)已广泛地应用于数字视频广播。MPEG-2TS中的音频和视频同步需要时间戳、系统时钟和数字锁相环(D-PLL)。三种时间戳可以由编码器中的单个共用系统时钟来创建,并在传输流中承载。显示时间戳(PTS)可以指示音频和视频的正确展示时间,可以包含33个比特的信息。解码时间戳(DTS)可以指示音频和视频的正确解码时间,可以包含33个比特的信息。节目时钟参考(PCR)可以指示系统时钟本身在取样间隔上的瞬时值,可以包含42个比特的信息。在解码器中,提取这些时间戳。PCR可以用于与D-PLL一起重构系统时钟,而DTS和PTS可以用于控制视频和/或音频的解码和展示的定时。使用DTS可能导致解码器中不必要的计算复杂性和存储成本。再者,使用比32个比特长的时间戳字段还可能导致解码器中额外的计算复杂性,因为可能需要多次读取(fetch)。
通过将此类系统与参考附图的本申请下文提出的本发明的一些方面比较,本领域技术人员将清楚常规技术方法的其他局限和缺点。
发明概述本发明提供了一种用于音频和视频传输的系统和/或方法,其具体地结合至少一个附图来示出和/或描述,并在权利要求中更完整地提出。
根据本发明的一个方面,提出一种用于处理分组化的信息的方法,该方法包括
在含有系统时钟样本(SCS)字段的传输流中接收至少一个分组;在含有展示时间戳(PTS)字段的所述传输流中接收至少一个分组化的基本码流(PES)分组;以及基于所述PTS字段和所述SCS字段中的信息,同步所述传输流中至少一个分组中的数据的解码。
优选地,所述解码的数据包含解码的视频数据。
优选地,该方法还包括基于所述PTS字段和所述SCS字段中的信息显示所述解码的视频数据。
优选地,所述解码的数据包括解码的音频数据。
优选地,该方法还包括基于所述PTS字段和所述SCS字段中的信息播放所述解码的音频数据。
优选地,所述PTS字段包含至少24个比特的信息和不多于32个比特的信息。
优选地,所述SCS字段包含从至少24个比特的信息到约32个比特的信息。
优选地,该方法还包括每700毫秒至少一次地接收含有所述PTS字段的所述至少一个PES分组。
优选地,该方法还包括每100毫秒至少一次地接收含有所述SCS字段的所述至少一个分组。
优选地,该方法还包括在所述传输流中没有PTS字段的情况下为至少一个接收的PES分组生成外推的PTS字段。
根据本发明一个方面,提供一种机器可读存储器,其中存储了具有用于提供无线通信的至少一个代码段的计算机程序,该至少一个代码段可被机器执行以促使该机器执行包括如下的步骤在含有系统时钟样本(SCS)字段的传输流中接收至少一个分组;在含有展示时间戳(PTS)字段的所述传输流中接收至少一个分组化的基本码流(PES)分组;以及基于所述PTS字段和所述SCS字段中的信息,同步所述传输流中至少一个分组中的数据的解码。
优选地,所述解码的数据包含解码的视频数据。
优选地,该机器可读存储器还包括用于执行如下步骤的代码基于所述PTS字段和所述SCS字段中的信息显示所述解码的视频数据。
优选地,所述解码的数据包括解码的音频数据。
优选地,该机器可读存储器还包括用于执行如下步骤的代码基于所述PTS字段和所述SCS字段中的信息播放所述解码的音频数据。
优选地,所述PTS字段包含至少24个比特的信息和不多于32个比特的信息。
优选地,所述SCS字段包含从至少24个比特的信息到约32个比特的信息。
优选地,该机器可读存储器还包括用于执行如下步骤的代码每700毫秒至少一次地接收含有所述PTS字段的所述至少一个PES分组。
优选地,该机器可读存储器还包括用于执行如下步骤的代码每100毫秒至少一次地接收含有所述SCS字段的所述至少一个分组。
优选地,该机器可读存储器还包括用于执行如下步骤的代码在所述传输流中没有PTS字段的情况下为至少一个接收的PES分组生成外推的PTS字段。
根据本发明的一个方面,提供一种用于处理分组化的信息的系统,该系统包括缓存器,可在含有系统时钟样本(SCS)字段的传输流中接收至少一个分组;所述缓存器可在含有展示时间戳(PTS)字段的所述传输流中接收至少一个分组化的基本码流(PES)分组;以及通信连接到所述缓存器的解码器,所述解码器可基于所述PTS字段和所述SCS字段中的信息同步所述传输流中至少一个分组中的数据的解码。
优选地,所述解码的数据包含解码的视频数据。
优选地,该系统存储器还包括通信连接到所述解码器的视频显示器,它可基于所述PTS字段和所述SCS字段中的信息显示所述解码的视频数据。
优选地,所述解码的数据包括解码的音频数据。
优选地,该系统存储器还包括通信连接到所述解码器的音频设备,它可基于所述PTS字段和所述SCS字段中的信息播放所述解码的音频数据。
优选地,所述PTS字段包含至少24个比特的信息和不多于32个比特的信息。
优选地,所述SCS字段包含从至少24个比特的信息到约32个比特的信息。
优选地,该系统存储器还包括时间戳提取器,它可每700毫秒至少一次地接收含有所述PTS字段的所述至少一个PES分组。
优选地,该系统存储器还包括时间戳提取器,它可每100毫秒至少一次地接收含有所述SCS字段的所述至少一个分组。
优选地,该系统存储器还包括PTS外推器,它可在所述传输流中没有PTS字段的情况下为至少一个接收的PES分组生成外推的PTS字段。
从下文的描述和附图将更全面地理解本发明的这些和其他优点、方面和创新特征及其所述实施例的细节。
附图简介

图1是可以结合本发明实施例使用的运动图片专家组(MPEG)流传输网络的示意图。
图2是根据本发明实施例的传输流语法的示意图。
图3A是根据本发明实施例的分组化基本码流(PES)语法至TS语法的映射的示意图。
图3B是根据本发明实施例的分组化基本码流(PES)语法的示意图。
图4A是根据本发明实施例的示范视频传输解码和展示的示意图。
图4B是根据本发明实施例的示范视频展示同步步骤的流程图。
图4C是根据本发明实施例的用于处理视频传输中系统时钟(STC)和展示时间戳(PTS)不匹配的示范步骤的流程图。
图4D是根据本发明实施例的在没有PTS字段的情况下用于图片的展示时间戳(PTS)外推的示范步骤的流程图。
图5A示出根据本发明实施例的示范音频传输解码和播放的示意图。
图5B是根据本发明实施例的示范音频展示同步步骤的流程图。
图5C是根据本发明实施例的用于处理音频传输中系统时钟(STC)和展示时间戳(PTS)不匹配的示范步骤的流程图。
图5D是根据本发明实施例的在没有PTS字段的情况下用于音频帧的展示时间戳(PTS)外推的示范步骤的流程图。
具体实施例方式
本发明的某些实施例可以应用于音频和视频传输的方法和系统中。该方法和系统的方面可以包括在未使用解码时间戳(DTS)的情况下基于24位的展示时间戳(PTS)和32位的系统时钟样本(SCS)字段将流与相关联的节目内容同步。PTS字段可以作为分组化基本码流(PES)分组语法的一部分来提供。SCS字段可以作为传输流(TS)语法的一部分来提供。系统时钟(STC)可以由接收到的SCS值确定。可在视频和/或音频数据到达且有至少一个显示和/或展示帧缓冲器可用时就将其解码。视频和/或音频数据可以基于PTS和STC值的比较来进行显示和/或展示。当帧没有相关联的PTS时,PTS外推操作可以根据先前接收到的PTS生成外推的PTS。
图1是说明可以结合本发明实施例使用的运动图片专家组(MPEG)流传输网络的示意图。参考图1,其中展示有MPEG传输系统100,它可以包括MPEG服务器102、网络104和多个音频和/或视频显示设备106。MPEG服务器102可以包括适合的逻辑、电路和/或代码以便可通过网络104传输诸如MPEG-2传输流的MPEG传输流(TS)。此时,MPEG服务器102可以确定将特定的MPEG传输流传输到多个音频和/或视频显示设备106的哪一个。
MPEG传输流可以包含可分成固定大小的传输分组的分组化基本码流分组。PES分组可以包含由例如MPEG音频、视频和/或数据编码器生成的基本码流(ES)输出。各种形式的ES输出可以包括数字控制数据、取样并压缩的数字音频数据、取样并压缩的数字视频数据、同步的数字数据和/或异步的数字数据。
网络104可以包括适合的逻辑、电路和/或代码以便可将MPEG TS从MPEG服务器102传输到多个音频和/或视频显示设备106的至少其中之一。网络104可以支持通过多个链路、标准和/或组件传输MPEG传输流。例如网络104可以支持射频链路、数字广播卫星链路、电缆TV网络、标准地面通信链路、微波或激光视距链路、数字用户链路和/或基于分组或基于蜂窝式的链路。
多个音频和/或视频显示设备106可以包括适合的逻辑、电路和/或代码以便可处理从网络104接收到的MPEG传输流。此时,处理接收到的MPEG传输流可以包括处理视频内容以供显示和/或处理音频内容以供播放。
MPEG传输系统100还可支持可与MPEG-2流兼容的传输流和/或其他分组流。此时,可使MPEG服务器102、网络104和/或多个音频和/或视频显示设备106能处理和/或传输可与例如MPEG-2兼容的流。
图2是可根据本发明实施例使用的传输流语法的示意图。参考图2,其中显示有可以包含多个分组202的传输流语法200。每个分组202可以包含N个字节的数据,其中例如N=188个字节。每个分组202可以包括包头204a和有效负载204b。包头204a可以包含同步字节字段214、传输错误指示符字段216、有效负载单元起始指示符字段218和分组标识(PID)字段222。包头204a还可以包含传输加扰控制字段224、适配字段控制字段226、连续计数器字段228和适配字段230。图2所示的包含包头204a的至少一部分字段的比特数为示例性的。
适配字段230可以包含适配字段长度字段232、不连续指示符字段234和随机访问指示符字段236。适配字段230还可以包含基本码流优先级指示符字段238、五(5)标志字段240、可选字段242和填充字节字段244。图2还示出了包含附加字段230的至少一部分字段的示例性比特数。
可选字段242可以包含系统时钟样本(SCS)字段246、原系统时钟样本(OSCS)字段248、链接计数(splice countdown)字段250和传输专用数据长度字段252。可选字段242还可以包含传输专用数据字段254、适配字段扩充长度字段256、三(3)标志字段258和可选字段260。图2还示出了包含可选字段242的至少一部分字段的为比特数,例如32位的SCS字段246。SCS字段246可以对应于以例如约27MHz工作的时钟相关联的时间参考的32位计数器。在一些情况中,SCS字段246可以例如每100毫秒至少一次来传送。
可选字段260可以包含合法时间窗口有效(Ltw-valid)标志字段262、Ltw偏移字段264、2位字段266、分段速率字段268和链接类型字段270。图2还示出了包含可选字段260的至少一部分字段的比特数。
当在MPEG-2传输流中考虑例如PCR字段的32位部分时,传输流语法200可以与MPEG-2传输流兼容。
图3A是根据本发明实施例的分组化基本码流(PES)语法至TS语法的映射的示意图。参考图3A,图示有映射到图2中的分组202用于利用传输流传输的PES分组300。PES分组300可以包含分组起始码前缀字段302、流ID字段304、PES分组长度306、可选PES包头字段308和PES分组数据类型字段310。PES分组300的PES分组数据字节字段310可以映射到分组202的有效负载204b。再者,分组起始码前缀字段302、流ID字段304、PES分组长度306、可选PES包头字段308也可以映射到分组202的包头204a。图3A示出了包含PES分组300的至少一部分字段的示示例性比特数。
图3B是根据本发明实施例的PES语法的示意图。参考图3B,其示出了可以包含图3A所述的PES分组300的PES语法301。PES分组300中的可选PES包头字段308可以包含2位‘10’字段312、PES加扰控制字段314、PES优先权字段316、数据对齐指示符318以及版权字段320。可选PES包头字段308还可以包含原始或副本字段322、七(7)标志字段324、PES包头数据长度字段326、可选字段328以及填充字节字段330。图3B示出了包含可选PES字段308的至少一部分字段的示例性比特数,例如M×8位的填充字节字段330。
可选字段328可以包括展示时间戳(PTS)字段332。PTS字段332可以包含例如约24个比特和32个比特之间的数据。对应于PTS字段332的时间可以是基于由例如27MHz参考时钟除以300得到的90KHz时钟的。此时,PTS字段332的最大值可以由图2中的SCS字段246的32位值通过表达式(232-1)/300得到。由此,可以通过24个比特的数据提供PTS字段332的值。在一些情况中,PTS字段332可以比24个比特长,以便满足特定实施的设计和/或系统要求。在一些情况中,例如PTS字段332可以每700毫秒至少一次来传送。
可选字段328还可以包含最终服务客户系统(ESCS)字段334、基本码流(ES)速率字段336、需求点管理(DSM)特技模式(trtck mode)字段338、附加副本信息字段340、先前PES循环冗余校验(CRC)字段342和PES扩充字段344。图3B示出了包含附加字段328的至少一部分字段的示例性比特数。
PES扩充字段344可以包括五(5)标志字段346和可选字段348。可选字段348可以包含PES专用数据字段350、分组包头字段352、节目分组序列计数器354、节目系统目标解码器(P-STD)缓存器字段356、PES扩充字段长度字段358和PES扩充字段数据字段360。同样,图3B示出了包含PES扩充字段344和可选字段348的至少一部分字段的示例性比特数。
当例如在MPEG-2 PES分组结构中考虑PTS字段的24位部分时,PES语法301可以与MPEG-2 PES分组结构兼容。例如,只需将PTS字段的前9位设为0,移除DTS并将PTS_DTS_Flags的LSB设为0,即可将MPEG-2 PES转换成新的PES格式。由此,新的PES仍可以是后向兼容的且是合法的MPEG-2 PES。
图4A示出了根据本发明实施例的示范视频传输解码和展示的示意图。参考图4A,其示出了显示视频解码和显示系统400,它可以包括视频解码器缓存器402、视频解码器404、视频显示器406、时间戳提取器408、展示时间戳外推器410、比较器412、数字锁相环(D-PLL)414、PTS重排序缓存器416和帧重排序缓存器418。视频显示器406可以包括缓存器419。
视频解码器缓存器402可以包括适合的逻辑、电路和/或代码以便可存储视频解码和显示系统400接收到的编码视频流的至少一部分。编码的视频流可以包括I-图片、B-图片和/或P-图片。1-图片或编码内(intra-coded)图片可以对应于独立于其他帧编码的视频信息帧。重构的I-图片可以被用作用于重构B-图片和P-图片的锚点(anchor)。P-图片或预测的图片可以根据最近的锚点图片来预测,并可以用作新的锚点图片。可以通过对过去的锚点的运动补偿元素和将来的锚点的运动补偿元素取均值来预测B-图片或双向预测的图片。
视频解码器缓存器404可以包括适合的逻辑、电路和/或代码以便可根据视频解码器缓存器402中存储的编码视频流解码或重构图片。视频解码器404可以在诸如准备完毕(rdy)信号的信号声明时解码下一个视频帧。可以将视频解码器404生成的解码B-图片直接传送到视频显示器406。可以将视频解码器404生成的解码的I-图片和P-图片通过帧重排序缓存器418传送到视频显示器406。当视频解码器缓存器402或视频缓存器检测器(VBV)中完整地接收到编码或压缩的图片且有帧缓存器可用于解码时,无需解码时间戳(DTS)字段值即可执行视频解码器404中的解码操作。VBV可以对应于解码器缓存器,该解码器缓存器在馈送相符的MPEG比特流时不会过流或欠流的。
帧重排序缓存器418可以包括适合的逻辑、电路和/或代码以便可对从视频解码器404接收到的解码的I-图片和P-图片的序列排序,以将解码的图片按适合的顺序传送到视频显示器406以供显示。视频显示器406可以包括适合的逻辑、电路和/或代码以便可按适合的次序显示或展示解码的I-图片、B-图片和/或P-图片。视频显示器406可以将由视频解码器404或帧重排序缓存器418中接收到的解码的视频图片存储在缓存器419中。视频显示器406还可以生成诸如rdy信号的信号,以向视频解码器404指示缓存器419可用于存储附加的解码图片以及视频解码器404可以解码下一个图片。
时间戳提取器408可以包括适合的逻辑、电路和/或代码以便可以在编码的视频流中从图3B所示的PES分组300中提取PTS字段332和/或从图2所示的分组200中提取SCS字段246。当接收到编码的图片时,可以确定图片标记号,以及在存在PTS字段时将PTS标志设为1,并从PTS字段中提取PTS值,否则将PTS标志设为0。图片标记号的最大值可以基于缓存器419中允许的参考图片的最大编号和允许的帧的最大编号,具体取决于特定应用。此时,可以将PTS_flags、PTS值和与B-图片相关联的图片标记号从时间戳提取器408传送到PTS外推器410。时间戳提取器408可以将SCS字段246中的SCS信息传送到D-PLL 414。D-PLL 414可以包括适合的逻辑、电路和/或代码以便可以从SCS字段246中的信息提取和/或生成系统时间时钟(STC)。此时,STC可以对应于以约27MHz工作的时钟。例如,STC可以对应于以27MHz+/-810Hz或+/-30ppm工作的时钟。D-PLL 414可以将STC的值传送到比较器412。
例如当在入局的传输流中发现诸如SCS字段32中的不连续指示符的SCS不连续比特时,则可以将新的SCS值传送到D-PLL 414的本地STC。此时,已经在视频解码器缓存器402和缓存器419中的图片的PTS值可能不再是有效的,这些图片会与来自视频显示器406的诸如vsync信号的垂直同步信号同步而显示。
当D-PLL 414检测到新SCS值与现有STC值之间的误差可能比可编程的阈值大时,则会将新SCS值传送到D-PLL 414的本地STC。此时,已经在视频解码器缓存器402和缓存器419中的图片的PTS可能不再是有效的,这些图片会与来自视频显示器406的诸如vsync信号的垂直同步信号同步而显示。
PTS重排序缓存器416可以包括适合的逻辑、电路和/或代码以便可对要传送到PTS外推器410的I-图片和P-图片相关联的PTS值序列进行排序。PTS重排序缓存器416的这些操作可以对应于为帧缓存器重新标记的存储器地址指针。
PTS外推器410可以包括适合的逻辑、电路和/或代码以便可在没有PTS值与解码的图片相关联时生成外推的PTS。PTS外推器410可以在需要时将与解码的图片相关联的PTS值和外推的PTS值以解码的图片的合适显示顺序传送到比较器412。
比较器412可以包括适合的逻辑、电路和/或代码以便可将PTS值和STC值进行比较,以便判断是否可以显示下一个解码的图片。当PTS值和STC值匹配时,将下一个解码的图片称为到期图片,比较器412可以向视频显示器406生成信号以显示或展示存储在缓存器419中的可供显示的下一个解码的图片。当视频显示器406完成显示或展示缓存器419中的解码图片时,视频显示器406可以声明rdy信号,以向视频解码器404指示可以从视频解码器缓存器402解码后续的编码图片。
视频解码和显示系统400的操作可以称为单队列方法,其中可以将PTS_flag、PTS值、压缩或编码的图片的图片标记号和压缩或编码的图片一起推送到数据缓存器。在一些情况中,该方法可以产生较采用双队列方法实现简单的应用。
FIG.图4B示出了了根据本发明实施例的示范视频展示同步步骤的流程图。参考图4B,其示出了图4A中的视频解码和显示系统400的示范操作的流程图420。在开始步骤422之后的步骤424,通过声明视频显示器406生成的rdy信号来初始化该信号,例如使rdy=1。在步骤426,视频解码器缓存器402可以缓存编码的视频流的一部分。
在步骤428,当声明信号rdy时,视频解码器404可以解码来自视频解码器缓存器402的下一个图片。在完成下一个图片的解码之后,可以将解码的图片传送到视频显示器406中的缓存器419。此时,当解码的图片是B-图片时,可以将解码的图片传送到视频显示器406中的缓存器419。当解码的图片是I-图片或P-图片时,可以将解码的图片经由帧重排序缓存器416传送到缓存器419,解码的图片可以在帧重排序缓存器416中适合地进行排序以便显示。在将解码的图片传送到视频显示器406中的缓存器419中之后,当缓存器419中没有足够的存储器可用于接收附加的解码图片时,视频显示器406可以取消声明rdy信号,即rdy=0。
在步骤430,时间戳提取器408可以从编码的视频流中提取PTS字段信息和/或SCS字段信息。与B-图片相关联的PTS字段值可被传送到PTS外推器410。与I-图片和P-图片相关联的PTS值可以经由PTS重排序缓存器416传送到PTS外推器410,其中PTS值可以在PTS重排序缓存器416中适合地进行排序以对应于解码图片的显示次序。在步骤432,SCS字段可被传送到D-PLL 414以确定STC的值。此时,时间戳提取器408和D-PLL 414调整(monitor)SCS值以生成STC的值。D-PLL 414生成的STC值可被传送到比较器412。
在步骤434,当未接收到要与解码的图片相关联的PTS字段时,流程可以转到步骤436。在步骤436,可以在PTS外推器410中根据先前接收到的PTS字段值外推出I-图片、P-图片或B-图片的PTS字段值。当生成PTS字段值时,流程可以转到步骤438。
返回到步骤434,当接收到要与解码的图片相关联的PTS字段时,流程可以转到步骤438。在步骤438中,比较器412可以将PTS字段值与STC值比较以判断这两个值是否匹配。当这两个值不匹配时,与PTS值相关联的解码图片未到期,比较器412可以指示视频显示器406不显示该解码的图片。当PTS字段值和STC值匹配时,与该PTS值相关联的解码图片到期,比较器412可以指示视频显示器406显示该解码的图片。在步骤440,视频显示器406可以显示缓存器419中可供显示的下一个解码的图片。
在步骤442,视频显示器406可以判断缓存器419中是否可以存储另一个解码的图片。当可以将另一个解码的图片存储在缓存器419中时,视频显示器406可以声明rdy信号,流程返回到步骤428。当不能将另一个解码的图片存储在缓存器419中时,流程转到步骤440,其中可以由视频显示器406显示缓存器419中可供显示的下一个解码的图片。显示下一个解码的图片可以使缓存器419中有足够的存储器变为可用,以接收附加的解码图片。
图4C是根据本发明实施例的用于处理视频传输中系统时钟(STC)和展示时间戳(PTS)不匹配的示范步骤的流程图。参考图4C,其显示有图4A中的视频解码器404处理STC和PTS不匹配的示范阈值的流程图450。在开始步骤452之后的步骤454,当比较器412判断PTS>STC时,流程转到步骤456,否则流程转到步骤458。在步骤456,比较器412可以判断要解码的当前图片的PTS值尚未到期。此时,要解码的当前图片可以由视频解码器404来解码,但是直到PTS和STC值匹配之后才能由视频显示器506显示。
在步骤458,当比较器412判断PTS>>STC时,流程转到步骤460,否则流程转到步骤462。在步骤460,比较器412可以判断要解码的当前图片的PTS处在非常遥远的将来。此时,要解码的当前图片可以由视频解码器404来解码,但是直到PTS和STC值匹配之后才能由视频显示器506显示。可以由比较器412生成PTS错误信号,以指示该状况,并重新加载STC值以便至少部分地校正PTS与STC值之间的差。例如主机处理器可以重新加载STC值。
在步骤462,当比较器412判断PTS<STC时,流程转到步骤464,否则流程转到步骤466。在步骤464,比较器412可以判断要解码的当前图片的PTS值是旧的。此时,如果声明rdy信号,即rdy=1,则要解码的当前图片可以由视频解码器404来解码,并可以由视频显示器406显示。
在步骤466,比较器412判断PTS<<STC时,要解码的当前图片的PTS值非常旧的。可以废弃要由视频解码器404解码的当前图片,而不由视频显示器406显示。可以由比较器412生成PTS错误信号以指示该状况。
图4D是根据本发明实施例的在没有PTS字段的情况下用于展示时间戳(PTS)外推的示范步骤的流程图。参考图4D,其中显示有图4A中的PTS外推器410执行的示范外推操作的流程图470。在在开始步骤472之后的步骤474,PTS外推器410可以例如将外推的PTS值Extrapolated_PTS初始化为零。在步骤476,视频解码和显示系统400可以按显示次序检查下一个图片帧的PTS字段。在步骤478,当编码的图片帧没有对应的编码PTS字段值Coded_PTS时,流程转到步骤480。在步骤480,PTS外推器410可以将当前值Extrapolated_PTS赋予当前PTS值Running_PTS。在步骤482,PTS外推器410可以生成由如下表达式给出的Extrapolated_PTS的新值
Extrapolated_PTS=Running_PTS+ΔPTS. (1)在等式(1)中,ΔPTS的值可以由如下等式给出 其中frame_rate对应于编码视频流的帧速率而repeat_count对应于帧显示的重复模式。例如,对于可以与MPEG-2视频或AVS 1.0部分2兼容的视频流,repeat_count的值可以基于参数progressive_sequence、repeat_first_field和/或top_field_first的值,如下所示repeat_count=3,if progressive_sequence=repeat_first_field=top_field_first=12,if pronressive_sequence=repeat_first_field=1,top_field_first=01.5,if progressive_sequence=0,progressive_frame=repeat_first_field=11,otherwise.]]>对于没有对应的编码PTS字段值的编码图片帧,PTS外推器410可以向比较器412传送在等式(1)中生成的Extrapolated_PTS的值。
返回到步骤478,当编码的图片帧有对应的编码PTS字段值时,流程转到步骤484。在步骤484,PTS外推器410可以对当前编码的PTS字段值赋予当前PTS值,即Running_PTS=Coded_PTS.(3)对于有对应的编码PTS字段值的编码图片帧,PTS外推器410可以向比较器412传送在等式(3)中生成的Running_PTS的值。
在一些情况中,可以因缓存器过流丢弃视频解码器缓存器402中的编码图片而不进行解码。一种方法可以包括丢弃视频解码器缓存器402中的最后一个图片。当被丢弃的图片可以用作解码后续图片的参考或锚点时,可以不采用该方法。另一种方法可以包括根据帧相关性丢弃编码的图片,例如通过确定视频解码器缓存器402中的每个编码图片的图片类型。此时,可以首先丢弃视频解码器缓存器402中的最后一个B-图片。当视频解码器缓存器402中没有B-图片时,可以在任何I-图片之前丢弃最后一个P-图片。当视频解码器缓存器402中没有I-图片时,丢弃最后一个I-图片。对于视频解码器缓存器402欠流的状况,在初始化解码操作之前,视频解码器404可以等待预定时间以等待输入的编码图片完全存储在视频解码器缓存器402中。
图5A示出根据本发明实施例的示范音频传输解码和播放的示意图。参考图5A,其中显示音频解码和展示系统500,它可以包括音频解码器缓存器502、音频解码器504、音频设备506、时间戳提取器508、展示时间戳外推器510、比较器512以及数字锁相环(D-PLL)514。音频设备506可以包括缓存器519。
音频解码器缓存器502可以包括适合的逻辑、电路和/或代码以便可存储由音频解码和展示系统500接收到的编码音频流的至少一部分。编码的音频流可以包含编码的音频帧。音频解码器504可以包括适合的逻辑、电路和/或代码以便可根据音频解码器缓存器502中存储的编码音频流解码或重构音频帧。可以使音频解码器504在声明诸如准备完毕(rdy)信号的信号时解码下一个音频帧。可以将音频解码器504生成的解码音频帧传送到音频设备506。音频设备506可以包括适合的逻辑、电路和/或代码以便可播放或展示解码的音频帧。音频设备506可以将从音频解码器504接收到的解码音频帧存储在缓存器519中。音频设备506还可以生成诸如rdy信号的信号,以向音频解码器504指示缓存器519可用于存储附加的解码音频帧以及音频解码器504可以解码下一个编码的音频帧。
时间戳提取器508可以包括适合的逻辑、电路和/或代码以便可以在编码的音频流中从图3B所示的PES分组300中提取PTS字段332和/或从图2所示的分组200中提取SCS字段246。当接收到编码的音频帧时,可以确定帧标记号,以及如果存在PTS字段,则将PTS标志设为1,并从PTS字段中提取PTS值,否则将PTS标志设为0。帧标记号的最大值可以基于缓存器519中允许的帧的最大编号,具体取决于特定应用。此时,可以将PTS_flags、PTS值和相关联的帧标记号从时间戳提取器508传送到PTS外推器510。时间戳提取器508可以将SCS字段246中的SCS信息传送到D-PLL 514。D-PLL 514可以包括适合的逻辑、电路和/或代码以便可以根据SCS字段246中的信息提取和/或生成系统时间时钟(STC)。此时,STC可以对应于以约27MHz工作的时钟。例如,STC可以对应于以27MHz+/-810Hz或+/-30ppm工作的时钟。D-PLL 514可以将STC的值传送到比较器512。
PTS外推器510可以包括适合的逻辑、电路和/或代码以便可在没有PTS值与解码的音频帧相关联时生成外推的PTS。PTS外推器510可以将PTS值和与解码的音频帧相关联的外推PTS值传送到比较器512。比较器512可以包括适合的逻辑、电路和/或代码以便可将PTS值和STC值进行比较,以便判断是否可以播放或展示下一个解码的音频帧。当PTS值和STC值匹配时,将下一个解码的音频帧称为到期音频帧,比较器512可以向音频设备506生成信号以播放或展示存储在缓存器519中的可供播放或展示的下一个解码的音频帧。当音频设备506完成播放或展示缓存器519中的解码音频帧时,音频设备506可以声明rdy信号,以指示音频解码器504可以从音频解码器缓存器502解码后续的编码音频帧。
音频解码和显示系统500的操作可以称为单队列方法,其中可以将PTS_flag、PTS值、压缩或编码的音频帧的帧标记号和压缩或编码的音频帧一起推送到数据缓存器。在一些情况中,该方法可以产生较采用双队列方法简单的应用。
图5B是根据本发明实施例的示范音频展示同步步骤的流程图。参考图5B,其中显示有图5A中的音频解码和显示系统500的示范操作的流程图520。在开始步骤522之后的步骤524,通过声明音频设备506生成的rdy信号来初始化该信号,以使例如rdy=1。在步骤526中,音频解码器缓存器502可以缓存编码的音频流的一部分。
在步骤528,当声明信号rdy时,音频解码器504可以解码来自音频解码器缓存器502的下一个音频帧。在完成下一个音频帧的解码之后,可以将解码的音频帧传送到音频设备506中的缓存器519。在将解码的音频帧传送到音频设备506中的缓存器519中之后,当缓存器519中没有足够的存储器可用于接收附加的解码音频帧时,音频设备506可以取消声明rdy信号,即rdy=0。
在步骤530中,时间戳提取器508可以从编码的音频流中提取PTS字段信息和/或SCS字段信息。可以将与音频帧相关联的PTS字段值传送到PTS外推器510。在步骤532中,可以将SCS字段传送到D-PLL 514以确定STC的值。此时,时间戳提取器508和D-PLL 514调整SCS值以生成STC的值。可以将D-PLL 514生成的STC值传送到比较器512。
在步骤534,当未接收到要与解码的音频帧相关联的PTS字段时,流程继续到步骤536。在步骤536,可以在PTS外推器510中根据先前接收到的PTS字段值外推出音频帧的PTS字段值。当生成PTS字段值时,流程可以继续到步骤538。
返回到步骤534,当接收到要与解码的音频帧相关联的PTS字段时,流程可以继续到步骤538。在步骤538中,比较器512可以将PTS字段值与STC值比较以判断这两个值是否匹配。当这两个值不匹配时,与PTS值相关联的解码音频帧未到期,比较器512可以向音频设备506指示将不播放该解码的音频帧。当PTS字段值与STC值匹配时,与PTS值相关联的解码音频帧到期,比较器512可以向音频设备506指示以播放或展示该解码的音频帧。在步骤540,音频设备506可以播放或展示缓存器419中可供播放和显示的下一个解码的音频帧。
在步骤542,音频设备506可以判断是否可以将另一个解码的音频帧存储在缓存器519中。当可以将另一个解码的音频帧存储在缓存器519中时,音频设备506可以声明rdy信号,流程返回到步骤528。当不能将另一个解码的音频帧存储在缓存器519中时,流程转到步骤540,其中可以由音频设备506播放或展示缓存器419中可供播放或展示的下一个解码的音频帧。播放或展示下一个解码的音频帧可以使缓存器519中有足够的存储器变为可用,以接收附加的解码音频帧。
图5C是根据本发明实施例的用于处理音频传输中系统时钟(STC)和展示时间戳(PTS)不匹配的示范步骤的流程图。参考图5C,其中显示有图5A中音频解码器504示范处理STC和PTS不匹配的流程图550。在开始步骤552之后的步骤554,当比较器512判断PTS>STC时,流程转到步骤556,否则流程转到步骤558。在步骤556,比较器512可以判断要解码的当前音频帧的PTS值尚未到期。此时,要解码的当前音频帧可以由音频解码器504来解码,但是直到PTS和STC值匹配之后才能由音频设备506显示或展示。
在步骤558,当比较器512判断PTS<STC时,流程转到步骤560,否则流程转到结束步骤562。在步骤560,比较器512可以判断要解码的当前音频帧的PTS值是旧的。此时,音频解码器504可以丢弃要解码的当前音频帧,而不由音频设备506播放或展示。
图5D是根据本发明实施例的在没有PTS字段的情况下用于音频帧的展示时间戳(PTS)外推的示范步骤的流程图。参考图5D,其中显示有图5A中的PTS外推器510执行的示范外推操作的流程图570。在开始步骤572之后的步骤574,PTS外推器510可以例如将外推的PTS值Extrapolated_PTS初始化为零。在步骤576,音频解码和展示系统500可以接收下一个音频帧,可以使用时间戳外推器508在有效时提取PTS字段值。在步骤578,当编码的音频帧没有对应的编码PTS字段值Coded_PTS时,流程转到步骤580。在步骤580,PTS外推器510可以将当前值Extrapolated_PTS赋予当前PTS值Running_PTS。在步骤582,PTS外推器510可以生成由如下表达式给出的Extrapolated_PTS的新值Extrapolated_PTS=Running_PTS+ΔPTS. (4)在等式(4)中,ΔPTS的值可以由如下等式给出ΔPTS=90000*sampllng_frequencyframe_size,---(5)]]>其中sampling_frequency对应于音频帧中音频信息的取样频率,frame_size对应于音频帧中音频信息的长度。对于没有对应的编码PTS字段值的编码音频帧,PTS外推器510可以向比较器512传送在等式(4)中生成的Extrapolated_PTS的值。
返回到步骤578,当编码的音频帧有对应的编码PTS字段值时,流程转到步骤584。在步骤584,PTS外推器510可以对当前编码的PTS字段值赋予当前PTS值,即Running_PTS=Coded_PTS. (6)对于有对应的编码PTS字段值的编码音频帧,PTS外推器510可以向比较器512传送在等式(6)中生成的Running_PTS的值。
在一些情况中,可以因缓存器过流丢弃音频解码器缓存器502中的编码音频而不进行解码。过流状况期间,音频解码器缓存器502可以丢弃输入的数据。对于欠流状况,在初始化解码操作之前,音频解码器504可以等待预定时间以等待输入的编码音频帧完全存储在音频解码器缓存器502中。
本文所述用于同步和显示或展示音频和视频数据的方法可以通过处理诸如包含不多于32位信息的SCS和PTS字段的语法字段来实现有成本效率的解决方案。这减少了获取这些字段的数据所需的读取次数。再者,因为无需处理DTS字段,所以降低了解码器的复杂性。无需估算解码器延迟,可以通过锁定到PTS字段来更精确地执行音频和/或视频数据的展示。再者,SCS字段和PTS字段的长度小于MPEG-2TS中的对应字段,从而使含有SCS字段和PTS字段的语法与MPEG-2TS兼容。
因此,本发明可以硬件、软件或硬件和软件的组合来实现。本发明可以集中的方式在至少一个计算机系统中实现,或以分布式方式实现,其中不同的组件分布在多个互连的计算机系统上。适于执行本文所述方法的任何类型的计算机系统或其他装置均是适用的。典型的硬件和软件组合可以是具有加载并执行时控制计算机系统以使之执行本文所述的方法的通用计算机系统。
本发明还可以在计算机程序产品中实施,该计算机程序产品包括使本文所述方法可以实施的所有特征以及当加载在计算机系统中时可以执行这些方法。本发明环境中的计算机程序意味着设为使具有信息处理功能的系统直接或如下其中之一或两个操作之后执行特定功能的一组指令的任何语言、代码或符号表示形式的任何表示a)转换成另一种语言、代码或符号表示;b)不同材料形式的复制。
虽然本发明参考了某些示范实施例来描述,但是本领域技术人员应知在不背离本发明范围的前提下可以进行各种更改和执行等效替代。此外,在不背离本发明范围的前提下可以进行许多修改以使特定情况或材料适于本发明的原理。因此,不应认为本发明局限于所公开的特定实施例,但是本发明将包含属于所附权利要求范围的任何实施例。
权利要求
1.一种用于处理分组化信息的方法,所述方法包括在包括系统时钟样本字段的传输流中接收至少一个分组;在包括展示时间戳字段的所述传输流中接收至少一个分组化的基本码流分组;以及基于所述展示时间戳字段和所述系统时钟样本字段中的信息,同步所述传输流中至少一个分组中的数据的解码。
2.如权利要求1所述的方法,其特征在于,所述解码的数据包含解码的视频数据。
3.如权利要求2所述的方法,其特征在于,还包括基于所述展示时间戳字段和所述系统时钟样本字段中的所述信息显示所述解码的视频数据。
4.如权利要求1所述的方法,其特征在于,所述解码的数据包含解码的音频数据。
5.如权利要求4所述的方法,其特征在于,还包括基于所述展示时间戳字段和所述系统时钟样本字段中的所述信息播放所述解码的音频数据。
6.一种机器可读存储器,其中存储具有用于提供无线通信的至少一个代码段的计算机程序,所述至少一个代码段可被机器执行以促使所述机器执行包括如下的步骤在包含系统时钟样本字段的传输流中接收至少一个分组;在包含展示时间戳字段的所述传输流中接收至少一个分组化的基本码流分组;以及基于所述展示时间戳字段和所述系统时钟样本字段中的信息,同步所述传输流中至少一个分组中的数据的解码。
7.如权利要求6所述的机器可读存储器,其特征在于,所述解码的数据包含解码的视频数据。
8.一种用于处理分组化信息的系统,所述系统包括缓存器,可在包含系统时钟样本字段的传输流中接收至少一个分组;所述缓存器可在包含展示时间戳字段的所述传输流中接收至少一个分组化的基本码流分组;以及通信连接到所述缓存器的解码器,可基于所述展示时间戳字段和所述系统时钟样本字段中的信息,同步所述传输流中至少一个分组中的数据的解码。
9.如权利要求8所述的系统,其特征在于,所述解码的数据包含解码的视频数据。
10.如权利要求9所述的系统,其特征在于,还包括通信连接到所述解码器的视频显示器,可基于所述展示时间戳字段和所述系统时钟样本字段中的信息显示所述解码的视频数据。
全文摘要
本发明提供了用于处理音频和视频传输的方法和系统的,包括在未使用解码时间戳(DTS)的情况下基于24位的展示时间戳(PTS)和32位的系统时钟样本(SCS)字段将流与相关联的节目内容同步。PTS字段可以作为分组化基本码流(PES)分组语法的一部分来提供。SCS字段可以作为传输流(TS)语法的一部分来提供。系统时钟(STC)可以由接收到的SCS值确定。视频和/或音频数据一到达且有至少一个显示和/或展示帧缓冲器可用时就可以解码这些视频和/或音频数据。视频和/或音频数据可以基于PTS和STC值的比较来展示进行显示和/或播放。当帧没有相关联的PTS时,PTS外推操作可以根据先前接收到的PTS生成外推的PTS。
文档编号H04N7/52GK1976448SQ20061005881
公开日2007年6月6日 申请日期2006年2月28日 优先权日2005年11月30日
发明者谢孟·陈, 迈克尔·杨 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1