传送流编码器及对传送流编码的方法

文档序号:7940557阅读:286来源:国知局
专利名称:传送流编码器及对传送流编码的方法
1.本发明领域本发明涉及一个运动图像专家组(MPEG)系统,特别涉及MPEG-2中用于对基本流以域(field)为单位进行编码的传送流(TS)编码器以及相应的方法。
MPEG-2系统规定了MPEG音频和视频流的语法。MPEG系统有两种类型方法。一种称为程序流(PS),用于构成一个程序。另一种称为传送流(TS),用于构成多个程序。
在MPEG系统中采用分组的多路传输方法。即,MPEG系统将视频/音频基本流(ES)分割成以分组为单位的位流,并对带有诸如首标附加信息的视频/音频基本流进行多路传输。此时,在首标中包含区分视频分组和音频分组的信息。为了适应各种不同的应用,MPEG系统中分组的长度设为216(64KB)。为了具有适应性,每个分组可以具有固定的长度或可变的长度。关于分组长度的信息包含在首标中。
在PS方法中,多个分组(在MPEG-2中称为分组的基本流(PES))结合构成一个组。在TS方法中,PES被重新分割并且组成多个长度相对较短的传送流(TS)分组。此时,TS分组的长度为188字节,并且每个TS分组被分成四个ATM单元然后再进行传送。
TS分组中含有四个字节的首标。首标中含有识别分组的分组标识符(PID)。这个PID被写在程序特定信息(PSI)的程序管理表(PMT)中。PID为“0”的TS分组用于传送PSI。
由于TS传送多个程序,所以需要关于每个TS分组所属程序的信息。这种信息称为PSI。具有指定ID的TS分组和由原始PSI指定的分组来传送这种PSI。该PSI分组包括一个PAT、一个PMT和一个条件存取表(CAT)。在0.7秒内至少传送一次这种PSI信息。
所述的PAT记录关于程序的信息并包括含有PMT的分组的PID。
首标中包含用于检查具有相同PID分组连续性的连续性计数器。
所述的TS编码器重新分割PES分组并构成TS分组。PES分组的长度不固定并且PES分组包括16位的首标信息以便显示其长度。
在常规技术中,通过对多个程序进行多路传输来构成TS分组。因此,当多路传输某个程序时,硬件就变得复杂。另外,当以帧为单位构成TS分组时,对TS分组按意愿进行编辑或重新构造是不可能的。这是因为由于PSI信息每0.7秒出现一次,所以很难重新构造关于希望得到的帧的信息。
为了解决上述问题,本发明的一个目的是提供一种编码器,用于通过将分组的基本流(PES)分组构成一个域来产生传送流(TS)分组,并且在以域为单位的TS分组中插入程序时钟基准(PCR),由此还提供一种编码方法。
为了实现上述目的,提供一种传送流(TS)编码器,用于接收MPEG基本流并产生传送流,该编码器包括PES首标发生器,用于产生以基本流域为单位的PES首标;控制信号发生器,用于产生PES首标有效期信号,来表示以域为单位的PES首标的有效周期;存储器,用于记录和读取由PES首标发生器产生的PES首标和基本流;存储器控制器,用于与控制信号发生器产生的PES首标有效期信号同步地控制存储器的记录操作,并产生一个表示记录TS首标周期的TS首标周期信号;标志发生器,用于与存储器控制器产生的TS首标周期信号同步地控制存储器的读操作,并产生一个表示记录TS首标定时的TS首标标志;TS分组发生器,用于与TS首标标志同步地向从存储器读取的数据中添加TS首标,并输出一个TS分组。
为了实现上述目的,提供一种传送流(TS)编码方法,用于接收MPEG基本流和产生传送流,包括以下步骤(a)产生以基本流域为单位的分组的基本流(PES)首标;(b)产生PES首标有效期信号,用于表示步骤(a)中产生的以域为单位的PES首标的有效周期;(c)记录步骤(a)中产生的PES首标和与步骤(b)中产生的PES首标有效期信号同步的基本流;(d)产生TS首标周期信号,用于表示记录TS首标的周期;(e)读取步骤(a)中产生的PES首标和与步骤(d)中产生的TS首标周期信号同步的基本流;和(f)根据记录TS首标的定时,通过向在步骤(a)中读取的PES首标和基本流添加TS首标来产生TS分组。
通过结合附图对本发明的优选实施例进行详细描述,本发明的上述目的和优点将会变得更加清楚,其中

图1A和1B分别表示所述MPEG-2中分组的基本流(PES)分组和传送流(TS)分组的结构;图2表示图1所示PES分组的详细结构;图3表示图1所示TS分组的详细结构;
图4表示PAT分组的详细结构;图5表示PMT分组的详细结构;图6表示空分组的结构;图7是依据本发明的TS编码器的详细方块图。
图1A和1B分别表示分组的基本流(PES)分组和传送流(TS)分组的结构。在ISO/IEC13818-1中规定图1A和1B所示的PES分组和TS分组,其中ISO/IEC13818-1是有关MPEG-2系统的规范。
一个PES分组由首标和有效载荷组成,并且其长度是可变的。关于PES分组长度的信息包含在首标中。
TS分组由四个字节的首标和n个字节的调整域(adaptation field),以及(184-n)字节的有效载荷组成,其总长度为188字节。
图2表示图1A所示的PES分组的详细结构。
在图2所示的PES分组中,各个元素的内容如下。
PES开始代码前缀→“0x000001”流标识符→“1110xxxxx”ISO/IEC11172-2视频流号xxxx“110x xxxxx”ISO/IEC11172-3音频流号xxxxPES分组长度→“0x00”PES分组的长度没有规定。
PES扰频控制→“00”PES优先权→“1”数据调整(alignment)指示符→“0”拷贝权→“0”PTS DTS标志→“10”ESCRFLAG→“0”基本流时钟基准标志ES速率标志→“0”DSM技巧(trick)模式标志→“0”数字存储媒介技巧模式标志附加拷贝信息标志→“0”PES CRC标志→“0”PES扩展标志→“0”PES首标数据长度→“0x05”PTS→“0x xxxx xxxx xxxx xx(5个字节)”程序时戳在图3所示的TS分组中,各个元素的内容如下。
同步字节→“0x47”传送错误指示符→“0”有效载荷单元起始指示符→“0”传送优先权→“0”PID→“1 1111 1111 1111”传送扰频控制→“00”调整域控制→“01”连续性计数器→“00”调整域图4表示PAT分组的详细结构。
PAT分组是PID=“0”传送的特殊信息。描述程序元素的程序映射表被传送给每个程序号(16位)。图4所示各个元素的内容如下。
表标识符→“0x00”分段语法指示符→“1”“0”保留位→“11”分段长度→“0x0d”传送流标识符→“0x01”;这项可由用户重新定义。
保留位→“11”版本号→“0x00”当前下一个指示符(current next indicator)→“1”分段号→“0x00”程序号→由用户指定的外部输入的程序号保留位→“111”程序映射PID→外部输入的PMT PID图5详细表示了PMT。PMT描述PID列表和构成程序标识号和程序的传送分组的附加信息。
图5所示元素的内容如下。
表标识符→“0x02”分段语法指示符→“1”“0”
保留位→“11”分段长度→“0x0d”程序号→“0x01”这项可由用户重新定义。
保留位→“11”版本号→“0x0”当前下一指示符→“1”分段号→“0x00”最后分段号→“0x00”保留位→“1111”PCR PID→外部输入的PCR PID13位保留位→“1111”程序信息长度→“0x000”流类型→根据MPEG表2-36指定流的类型保留位→“111”基本PID→外部输入的VTS PID保留位→“0xf”图6表示空分组的结构。TS编码器基本上能多路传输多个程序。例如,TS编码器传送一个空的分组(4字节+184字节)而没有传送视频和音频,因为当传送速率为60Mbps时,通常视频为9Mbps而音频为384Kbps。
图7表示依据本发明的TS编码器的详细结构。图7所示的设备包括PES分组发生器10、控制信号发生器12、存储器控制器14、视频存储器16、音频存储器18、程序时钟基准(PCR)发生器20、标志发生器22、PSI发生器24、CRC发生器26和TS分组发生器28。
PES分组发生器10根据时钟信号(clk)、复位信号(reset)、域复位信号(field_rst)和总线使能信号(bus_ena)生成一个以域为单位的PES分组首标。通过域复位信号(field_rst),PES分组产生器10被告知基本流中一域的开始,并且在域复位信号(field_rst)之后N个时钟信号产生针对每个域的图2所示的PES首标。该PES分组发生器10对于视频和音频分别生成首标信号(vpes_hdr和apes_hdr)。
PES分组发生器10通过将基本流插入到PES首标中来生成PES分组。
控制信号发生器12根据时钟信号(clk)、复位信号(reset)、域复位信号(field_rst)、总线使能信号(bus_ena)和数据(data8)分别生成视频和音频有效期信号(vpes_vld和apes_vld),它们表示由PES分组发生器10生成的PES首标的有效周期。由于PES分组首标是在域复位信号(field_rst)之后N个时钟信号产生,则控制信号发生器12对于每个域指定视频和音频的有效周期。另外,控制信号发生器12生成PSI信号(psi_st)来显示插入PSI信息的周期,并将PSI分组插入到每个域中。
存储器控制器14产生一个用于将数据写入视频和音频存储器16和18中的控制信号和一个用于生成TS分组的控制信号。为了在视频和音频存储器16和18中记录音频和视频数据,存储器控制器14产生地址信号(vwr_address和awr_address)和使能信号(vwr_ena和awr_ena)。
由于每个音频和视频都有其自己的PID,所以必须将音频和视频生成到不同的TS分组。
在位于每个域开始部分的分组中添加PCR。用于添加PCR的调整域包含在分组中。在包含于每个域中的调整域中仅插入一次PCR。因此,存储器控制器14产生音频和视频流信号(vts_st和ats_st),用于将PCR插入到视频和音频数据的调整域中。
当在PES分组发生器10产生的PES分组中检测到表示域最终数据的一序列结束代码时,存储器控制器14则向标志发生器22输出数据号信息。此时,存储器控制器14传送实际记录的有效地址。
当某个TS分组没有包含一个域的最终数据(例如,当某个传送分组的数据数目少于184字节时)时,必须包括要插入填充数据的调整域。用序列结束代码将填充数据插入到调整域中。
PCR发生器20产生一个PCR信号(pcr_st),用于根据时钟信号clk和域复位信号field_rst生成PCR。该PCR是用于在编码器和解码器之间保持相同定时条件的信号,由27MHz的时钟信号产生。
标志发生器22参照从存储器控制器14和PCR发生器20输入的视频和音频流信号(vts_st和ats_st)、PCR信号pcr_st、序列结束信号(seq_end)、数据号信息(datnum)和有效地址(valid_addr),产生音频和视频地址信号(v_addr和a_addr),用于读取存储在视频和音频存储器16和18中的视频和音频数据,还产生PAT和PMT标志(pat_flag和pmt_flag),用于产生TS分组。然而,采用标志发生器22中的计数器1到188控制标志发生器22,以使得当产生视频分组时不产生音频分组而当产生音频分组时不产生视频分组。此时,标志发生器22保证产生PSI数据的定时,并生成PAT和PMT标志(pat_flag和pmt_flag)。PAT和PMT标志(pat_flag和pmt_flag)被输入到PSI发生器24,然后由PSI发生器24产生实时PSI数据。
标志发生器22产生8个标志(8flags)、5种运行(5run)和一个TS计数信号(ts_cnt),并将这8个标志、5种运行和TS计数信号传送到TS分组发生器28。
PSI发生器24从域复位信号(field_reset)产生以域为单位的PSI分组。此时,PSI分组由PAT分组和PMT分组组成,如图4和图5所示。PAT分组和PMT分组由程序号(PN)、PCR PID(PCR_PID)、PMT PID(PMT_PID)、VTS(VTS_PID)和ATS PID(ATS_PID)产生。程序号(PN)和PMT PID(PMT_PID)用于PAT分组。
CRC发生器26将32位的CRC添加到由PSI发生器24产生的PSI分组中,并输出添加结果p-data。在此使用的多项式为X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1。
TS分组发生器28接收由标志发生器22产生的8个标志(8flags)、程序号(PN)、PCR PID(PCR_PID)、PMT PID(PMT_PID)、VTS(VTS_PID)和ATSPID(ATS_PID),将TS首标添加到从视频存储器16和音频存储器18读取的数据中,并产生TS分组。此时,8个标志(8flags)是形成TS分组的重要信号。现在对各个标志进行描述。
1)PCR标志(pcr_flag)指明当产生TS分组时插入PCR的定时。当PCR标志(pcr_flag)存在时,TS分组有一个调整域。
2)PTS标志(pts_flag)指明PTS必须插入PES分组的定时,PTS是用于指明实际显示一个视频信号所需时间的值。此时,通过将PCR值+N添加到产生TS分组的时间上来获得PTS。
3)VPES标志(vpes_flag)指明视频TS分组的有效载荷单元起始指示符被设置为“1”的定时。
4)APES标志(apes_flag)指明音频TS分组的有效载荷单元起始指示符被设置为“1”的定时。
5)PAT标志(pat_flag)指明产生图4所示PAT分组的定时。PAT分组的有效载荷单元起始指示符必须设置为“1”。
6)PMT标志(pmt_flag)指明产生图5所示PMT分组的定时。PMT分组的有效载荷单元起始指示符必须设置为“1”。
7)ATS标志(ats_flag)指明产生音频分组的定时。
8)VTS标志(vts_flag)指明产生视频分组的定时。
五种运行(5run)控制各个分组,即,PAT、PMT、视频和音频分组,以使它们不会同时产生。图6所示的空分组在不包括由音频和视频流信号(vts_st和ats_st)以及PSI信号(psi_st)产生TS分组的周期的其余周期内产生。
如上所述,在依据本发明的TS编码器中,一个PES分组由一个域构成。因此,在依据本发明的TS编码器中,可以通过构造具有一定量级的位流,以使得一个PES分组的长度不一致并且PES分组的长度不能以域为单位用16位表示,来减小硬件的体积。
另外,由于以域为单位插入PCR,所以可以由域复位信号解决TS分组的定时。
当以域为单位构成PES分组时,由TS分组的有效载荷单元起始指示符(PUSI)对以域为单位的TS分组进行编辑是可能的。
以域为单位编码的基本流以一序列起始代码开始并以一序列结束代码终止。因此,当某个TS分组不包括某一域的最终数据时,填充数据必须插入到调整域中。此时,当检测到一序列结束代码时,采用一个512字节的存储器而不采用一域存储器可以将调整数据插入到调整域中。
权利要求
1.一种传送流(TS)编码方法,用于接收MPEG基本流并产生传送流,包括以下步骤(a)产生以基本流的域为单位的分组的基本流(PES)首标;(b)产生PES首标有效期信号,用于指明以域为单位在步骤(a)中产生的PES首标的有效周期;(c)与步骤(b)中产生的PES首标有效期信号同步地记录步骤(a)中产生的PES首标和基本流;(d)产生TS首标周期信号,用于表示记录TS首标的周期;(e)与步骤(d)中产生的TS首标周期信号同步地读取步骤(a)中产生的PES首标和基本流;(f)根据要记录的TS首标的定时,通过向在步骤(a)中读取的PES首标和基本流添加TS首标来产生TS分组。
2.如权利要求1所述的方法,还包括步骤当以域为单位产生传送流时,将程序时钟基准(PCR)插入到一个以域为单位的分组中。
3.如权利要求2所述的方法,还包括步骤当以域为单位产生传送流时,将调整域插入到第一TS分组中和将PCR插入到调整域中。
4.一种传送流(TS)编码器,用于接收MPEG基本流并产生传送流,包括PES首标发生器,用于产生以基本流域为单位的PES首标;控制信号发生器,用于产生PES首标有效期信号,来表示以域为单位的PES首标的有效周期;存储器,用于记录和读取由PES首标发生器产生的PES首标和基本流;存储器控制器,用于与控制信号发生器产生的PES首标有效期信号同步地控制存储器的记录操作,并产生一个表示记录TS首标周期的TS首标周期信号;标志发生器,用于与存储器控制器产生的TS首标周期信号同步地控制存储器的读操作,并产生一个表示记录TS首标定时的TS首标标志;TS分组发生器,用于与TS首标标志同步地向从存储器读取的数据中添加TS首标,并输出一个TS分组。
5.如权利要求4所述的TS编码器,其中,所述PES首标发生器和控制信号发生器与表示域首标的域复位信号同步运行。
6.如权利要求4所述的TS编码器,其中,所述控制信号发生器产生一序列结束信号和表示以域为单位的基本流中最终数据出现的最终数据数(number)的数据,并且其中,所述标志发生器参照所述序列结束信号和有关最终数据数的数据来控制存储器。
7.如权利要求6所述的TS编码器,其中,所述控制信号发生器产生最终地址信号,以表示以域为单位的基本流中最终数据的地址,并且其中,所述标志发生器关于最终地址信号来控制存储器。
8.如权利要求4所述的TS编码器,其中,所述TS发生器在没有生成TS分组的周期中产生空的分组。
9.如权利要求4所述的TS编码器,还包括PCR发生器,用于产生PCR数据流和PCR周期信号,该周期信号表示以域为单位记录PCR的周期,其中,所述标志发生器产生PCR标志,以表示与所述PCR周期信号同步记录PCR的定时,并且其中,所述TS发生器根据PCR标志插入由所述PCR发生器提供的PCR数据。
10.如权利要求9所述的TS编码器,还包括PSI发生器,用于产生以基本流域为单位的程序特定信息(PSI)数据,和CRC发生器,用于添加纠错码,其中,所述标志发生器产生PSI标志,以表示记录PSI数据的定时,并且其中,所述TS发生器根据PSI标志产生添加了由所述CRC发生器提供的纠错码的PSI分组。
全文摘要
一种以域为单位对视频和音频信号进行编码的TS编码器。用于接收MPEG基本流和产生传送流的传送流(TS)编码方法包括步骤:(a)产生以基本流的域为单位的分组的基本流(PES)首标;(b)产生PES首标有效期信号,指明PES首标的有效周期;(c)与PES首标有效期信号同步地记录PES首标和基本流;(d)产生TS首标周期信号;(e)与TS首标周期信号同步地读取PES首标和基本流;(f)根据要记录的TS首标的定时,通过向PES首标和基本流添加TS首标来产生TS分组。
文档编号H04N7/60GK1291052SQ00129288
公开日2001年4月11日 申请日期2000年9月30日 优先权日1999年10月1日
发明者全钟求 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1