内容接收器、视频-音频输出定时控制方法和内容提供系统的制作方法

文档序号:7949035阅读:298来源:国知局
专利名称:内容接收器、视频-音频输出定时控制方法和内容提供系统的制作方法
技术领域
本发明涉及内容接收设备、控制视频-音频输出定时的方法和内容提供系统,其适用于在例如接收内容的解码器中消除视频和音频之间的声像同步(lip-sync)的偏移。
背景技术
迄今为止,在内容接收设备中,从在编码器端提供的服务器接收的内容被分为视频分组和音频分组,并由此被解码。该设备基于添加到视频分组的视频时间戳和添加到音频分组的音频时间戳,而输出视频帧。这使得视频和音频在输出定时上一致(由此实现声像同步)(例如,见专利文献1和专利文献2)。
专利文献1日本专利申请特开公布号8-280008。
专利文献2日本专利申请特开公布号2004-15553。

发明内容
在如上配置的内容接收设备中,解码器端的系统时钟和编码器端的基准时钟不是始终相互同步。另外,由于解码器端的系统时钟中的时钟颤动(jitter),解码器端的系统时钟可能会在频率上微小地偏离编码器端的基准时钟。
在该内容接收设备中,视频帧和音频帧的数据长度不同。因此,如果解码器端的系统时钟与编码器端的基准时钟不完全同步,那么,即使在基于视频时间戳和音频时间戳而输出视频帧和音频帧的情况下,视频数据的输出定时也将与音频数据的输出定时不同。声像同步将不可避免地发生偏移。
鉴于前述内容,提出了本发明。本发明的一个目的在于,提供一种内容接收设备、控制视频-音频输出定时的方法、以及内容提供系统,其能够在解码器端可靠地调整视频与音频之间的声像同步,而不会使得用户(即,观众)觉得不舒服。
为实现该目的,根据本发明的内容接收设备包括解码部件,用于从在编码器端提供的内容提供设备接收多个编码后的视频帧和多个编码后的音频帧,并用于对所述编码后的视频帧和编码后的音频帧进行解码,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于编码器端的基准时钟的音频时间戳;存储部件,用于存储所述解码部件通过对所述编码后的视频帧进行解码而获得的多个视频帧、以及所述解码部件通过对所述编码后的音频帧进行解码而获得的多个音频帧;计算部件,用于计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整部件,用于根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
根据由编码器端的基准时钟与解码器端的系统时钟之间的频率差所引起的时间差,相对于顺序输出音频帧的定时,来调整顺序输出视频帧的定时。由此吸收了编码器端与解码器端之间的时钟频率的差。由此可将输出视频帧的定时调整为输出音频帧的定时。可实现声像同步。
根据本发明的控制视频-音频输出定时的方法包括解码步骤,首先从在编码器端提供的内容提供设备接收多个编码后的视频帧和多个编码后的音频帧,然后在解码部件中对所述编码后的视频帧和编码后的音频帧进行解码,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于编码器端的基准时钟的音频时间戳;存储步骤,在存储部件中存储通过在解码部件中对所述编码后的视频帧进行解码而获得的多个视频帧、以及通过在解码部件中对所述编码后的音频帧进行解码而获得的多个音频帧;差值计算步骤,在计算部件中计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整步骤,在调整部件中根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
因此,根据由编码器端的基准时钟与解码器端的系统时钟之间的频率差所引起的时间差,相对于顺序输出音频帧的定时,来调整顺序输出视频帧的定时。由此吸收了编码器端与解码器端之间的时钟频率的差。由此可将输出视频帧的定时调整为输出音频帧的定时。可实现声像同步。
根据本发明的内容提供系统具有内容提供设备和内容接收设备。该内容提供设备包括编码部件,用于生成多个编码后的视频帧和多个编码后的音频帧,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于基准时钟的音频时间戳;以及传送部件,用于向内容接收端顺序地传送所述多个编码后的视频帧和所述多个编码后的音频帧。该内容接收设备包括解码部件,用于从编码器端的内容提供设备接收被附加了视频时间戳的所述多个编码后的视频帧、以及被附加了音频时间戳的所述多个编码后的音频帧,并用于对所述编码后的视频帧和编码后的音频帧进行解码;存储部件,用于存储所述解码部件通过对所述编码后的视频帧进行解码而获得的多个视频帧、以及所述解码部件通过对所述编码后的音频帧进行解码而获得的多个音频帧;计算部件,用于计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整部件,用于根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
因此,根据由编码器端的基准时钟与解码器端的系统时钟之间的频率差所引起的时间差,相对于顺序输出音频帧的定时,来调整顺序输出视频帧的定时。由此吸收了编码器端与解码器端之间的时钟频率的差。由此可将输出视频帧的定时调整为输出音频帧的定时。可实现声像同步。
如上所述,在本发明中,根据由编码器端的基准时钟与解码器端的系统时钟之间的频率差所引起的时间差,相对于顺序输出音频帧的定时,来调整顺序输出视频帧的定时。由此吸收了编码器端与解码器端之间的时钟频率的差。由此可将输出视频帧的定时调整为输出音频帧的定时。可实现声像同步。由此,本发明可提供一种内容接收设备、控制视频-音频输出定时的方法、以及内容提供系统,其能够在解码器端可靠地调整视频与音频之间的声像同步,而不会使得用户(即,观众)觉得奇怪。


图1是示出内容提供系统的整体配置、整体图解流(streaming)系统的示意框图。
图2是示出内容提供设备的电路配置的示意框图。
图3是表示在音频分组和视频分组中包含的时间戳(TCP协议)的结构的示意图。
图4是示出在第一内容接收设备中提供的流解码器的模块配置的示意框图。
图5是示出定时控制电路的配置的示意框图。
图6是示出应该与已预设的STC进行比较的时间戳的示意图。
图7是用于解释在预编码流期间输出视频帧和音频帧的定时的示意图。
图8是用于解释输出I画面和P画面的视频帧的过程的示意图。
图9是图解在预编码流期间调整声像同步的顺序的流程图。
图10是示出在第一内容接收设备中提供的实时流编码器的电路配置的示意框图。
图11是示出在控制分组中包含的PCR(UDP协议)的结构的示意图。
图12是示出在第二内容接收设备中提供的实时流解码器的电路配置的示意图。
图13是用于解释在直播流(live stream)期间输出视频帧和音频帧的定时的示意图。
图14是图解在直播流期间调整声像同步的顺序的示意流程图。
具体实施例方式
将参考附图来说明本发明的实施例。
(1)内容提供系统的整体配置在图1中,附图标记1指示根据本发明的内容提供系统。系统1包括三个主要组件,即,内容提供设备2、第一内容接收设备3和第二内容接收设备4。内容提供设备2是内容分发端。第一内容接收设备3和第二内容接收设备4是内容接收端。
在内容提供系统1中,内容提供设备2、网络服务器14和第一内容接收设备3通过因特网5而相互连接。经由因特网5从网络服务器14获取涉及内容的URL(统一资源定位地址)和元数据,并通过在第一内容接收设备3中提供的网络浏览器15来分析它们。然后,将元数据和URL提供给流解码器9。
流解码器9基于由网络浏览器15分析的URL,访问内容提供设备2的流服务器8。由此,流解码器9请求分发用户想要的内容。
在内容提供设备2中,编码器7对与用户想要的内容相对应的内容数据进行编码,生成初级流(elementary stream)。流服务器8将初级流转换为分组。然后,通过因特网5而将分组分发到第一内容接收设备3。
由此,内容提供系统1被配置为执行预编码流,如视频点播(VOD),其中,内容提供设备2响应于第一内容接收设备3作出的请求,分发用户想要的任何内容。
在第一内容接收设备3中,流解码器9对初级流解码,再现原始视频和原始音频,并且,监视器10输出原始视频和音频。
在内容提供系统1中,通过兼容诸如IEEE(电气和电子工程师学会)802.11a/b/g之类的特定标准的无线LAN 6来连接第一内容接收设备3和第二内容接收设备4。在第一内容接收设备3中,实时流编码器11实时地对通过地面数字天线、BS(广播卫星)/CS(通信卫星)数字广播或地面模拟广播发送的内容、在DVD(数字多用盘)或视频CD中存储的内容、或者从普通视频相机提供的内容进行编码。通过无线电,将由此编码的内容发送或转发到第二内容接收设备4。
第一内容接收设备3和第二内容接收设备4不需要通过无线LAN 6连接。相反,可通过有线LAN连接它们。
在第二内容接收设备4中,实时流解码器12对从第一内容接收设备3所接收的内容进行解码,实现流回放。将由此回放的内容输出给监视器13。
由此,在第一内容接收设备3与第二内容接收设备4之间实现了直播流。即,在第一内容接收设备3中,实时流编码器11实时地对从外部提供的内容进行编码。将编码的内容传送到第二内容接收设备4。第二内容接收设备4对该内容执行流回放,实现直播流。
(2)内容提供设备的配置如图2所示,内容提供设备2由编码器7和流服务器8构成。在编码器7中,视频输入单元21接收从外部提供的视频信号VS1,并将其转换为数字视频数据VD1。将数字视频数据VD1提供给视频编码器22。
视频编码器22通过执行符合例如MPEG1/2/4(运动画面专家组)的压缩编码算法或任何其它压缩编码算法,而压缩并编码视频数据VD1。结果,视频编码器22生成视频初级流VES1。将视频初级流VES1提供给由环缓冲器(ringbuffer)构成的视频ES累积单元23。
视频ES累积单元23暂时存储视频初级流VES1,并将流VES1发送到在流服务器8中提供的分组生成单元27和视频帧计数器28。
视频帧计数器28对视频初级流VES1的帧频单位(29.97[Hz]、30[Hz]、59.94[Hz]或60[Hz])进行计数。基于基准时钟,计数器28将所得到的计数累加值转换为90[KHz]单位的值。将该值提供给分组生成单元27,作为每个视频帧的32位视频时间戳VTS(VTS1、VTS2、VTS3...)。
同时,在内容提供设备2中,在编码器7中提供的音频输入单元24接收从外部获取的音频信号AS1,并且将其转换为数字音频数据AD1。将音频数据AD1提供给音频编码器25。
音频编码器25通过执行符合例如MPEG1/2/4标准的压缩编码算法或任何其它压缩编码方法、而压缩并编码音频数据AD1。结果,音频编码器25生成音频初级流AES1。将音频初级流AES1提供给由环缓冲器构成的音频ES累积单元26。
音频ES累积单元26暂时存储视频初级流AES1,并将音频初级流AES1发送到在流服务器8中提供的分组生成单元27和音频帧计数器29。
如视频帧计数器28所进行的那样,音频帧计数器29基于基准时钟,将音频帧的计数累加值转换为90[KHz]单位的值。将该值提供给分组生成单元27,作为每个音频帧的32位音频时间戳ATS(ATS1、ATS2、ATS3...)。
分组生成单元27将视频初级流VES1分为预设大小的分组,并向由此获得的每个分组添加视频头数据,由此生成视频分组。另外,分组生成单元27将音频初级流AES1分为预设大小的分组,并向由此获得的每个分组添加音频头数据,由此提供音频分组。
如图3所示,音频分组和视频分组由IP(因特网协议)头、TCP(传送控制协议)头、RTP(实时传输协议)头、以及RTP有效负载构成。IP头控制因特网层的主机间通信。TCP头控制传输层的传送。RTP头控制实时数据的传输。RTP头具有4字节的时间戳区段(region),其中可写入视频时间戳ATS或视频时间戳VTS。
分组生成单元27(图2)根据视频分组和视频时间戳VTS,生成由预设字节数组成的视频分组数据项。分组生成单元27还根据音频分组和音频时间戳ATS,生成由预设字节数组成的音频分组数据项。另外,单元27对这些数据项进行多路复用,生成多路复用数据MXD1。将多路复用数据MXD1发送到分组数据累积单元30。
当在分组数据累积单元30中累积的多路复用数据MXD1的数量达到预定值时,使用RTP/TCP(实时传输协议/传送控制协议),经由因特网5将多路复用数据MXD1传送到第一内容接收设备3。
(3)第一内容接收设备中的流解码器的模块配置如图4所示,第一内容接收单元3的流解码器9使用RTP/TCP,接收从内容提供设备2传送的多路复用数据MXD1。在流解码器9中,将多路复用数据MXD1暂时存储在输入分组累积单元31中,然后将其发送到分组划分单元32。
当经由因特网5传送的数据MXD1的量增加到预定值时,输入分组累积单元31将多路复用数据MXD1输出到分组划分单元32。从而,连接到单元31的输出的分组划分单元32能够在不中断的情况下继续处理多路复用数据MXD1。
分组划分单元32将多路复用数据MXD1划分为视频分组数据VP1和音频分组数据AP1。经由由环缓冲器构成的输入音频缓冲器33,以音频帧为单位,向音频解码器35传送音频分组数据AP1。经由由环缓冲器构成的输入视频缓冲器34,以视频帧为单位,向视频解码器36传送视频分组数据VP1。
输入音频缓冲器33存储音频分组数据AP1,直到连接到其输出的音频解码器35持续对一个音频帧的音频分组数据AP1解码为止。输入视频缓冲器34存储视频分组数据VP1,直到连接到其输出的视频解码器36持续对一个视频帧的视频分组数据VP1解码为止。也就是说,输入音频缓冲器33和输入音频缓冲器34具有足够大的存储容量,以在任何时间分别向音频解码器35和视频解码器36即刻发送一个音频帧和一个视频帧。
分组划分单元32被设计为通过识别视频时间戳VTS和音频时间戳ATS,而分析关于视频分组数据VP1的视频头信息、以及关于音频分组数据AP1的音频头信息。将视频时间戳VTS和音频时间戳ATS发送到在渲染器(renderer)37中提供的定时控制电路37A。
音频解码器35以音频帧为单位来对音频分组数据AP1解码,再现既未被压缩也未被编码的音频帧AF1。将音频帧AF1提供给渲染器37。
视频解码器36以视频帧为单位来对视频分组数据VP1解码,恢复既未被压缩也未被编码的视频帧VF1。将视频帧VF1顺序地提供给渲染器37。
在流解码器9中,网络浏览器15向系统控制器50提供关于该内容的元数据MD。系统控制器50(即,内容鉴别部件)根据元数据MD确定该内容是由音频数据和视频数据组成、仅由频数据组成、还是仅由音频数据组成。将由此作出的内容类型判定结果CH发送到渲染器37。
渲染器37将音频帧AF1提供给由环缓冲器构成的输出音频缓冲器38。输出音频缓冲器38暂时存储音频帧AF1。类似地,渲染器37将视频帧VF1提供给由环缓冲器构成的输出视频缓冲器39。输出视频缓冲器39暂时存储视频帧VF1。
然后,在渲染器37中,定时控制电路37A基于从系统控制器50提供的判定结果CH、音频时间戳ATS和视频时间戳VTS,调整最终的输出定时,以实现分别由视频帧VF1和音频帧AF1表示的视频和音频的声像同步,从而可将视频和音频输出到监视器10。在由此调整的输出定时处,分别从输出视频缓冲器39和输出音频缓冲器38顺序地输出视频帧VF1和音频帧AF1。
(4)在预编码流期间在解码器端的声像同步(4-1)在预编码流期间的视频和音频的输出定时的调整如图5所示,在渲染器37的定时控制电路37A中,缓冲器42暂时存储从分组划分单元32发送的视频时间戳VTS(VTS1、VTS2、VTS3...VTSn),并且缓冲器43暂时存储从分组划分单元32发送的音频时间戳ATS(ATS1、ATS2、ATS3...ATSn)。将视频时间戳VTS和音频时间戳ATS提供给比较器电路46。
在定时控制电路37A中,将内容中的第一视频时间戳VTS1和第一音频时间戳ATS1分别提供给减法器电路44和减法器电路45。
减法器电路44和45将第一视频时间戳VTS1和第一音频时间戳ATS1延迟预定时间。将由此延迟的时间戳VTS1和ATS1传送到STC电路41,作为预设视频时间戳VTSp和预设音频时间戳ATSp。
STC电路41根据由已输入预设视频时间戳VTSp和预设音频时间戳ATSp的次序所定义的预设顺序,将系统时钟stc预设为一个值。即,STC电路41基于已输入预设视频时间戳VTSp和预设音频时间戳ATSp的次序,调整(替换)系统时钟stc的值。
STC电路41使用已通过将第一视频时间戳VTS1和第一音频时间戳ATS1延迟预定时间而获得的预设视频时间戳VTSp和预设音频时间戳ATSp,来预设系统时钟stc的值。由此,当第一视频时间戳VTS1和第一音频时间戳ATS1分别从缓冲器42和43到达比较器电路46时,从STC电路41向比较器电路46提供的系统时钟stc的预设值表示在视频时间戳VTS1和音频时间戳ATS1之前的时间。
因而,已预设的系统时钟stc的值从不表示在第一视频时间戳VTS1和第一音频时间戳ATS1之后的时间。从而,定时控制电路37A的比较器电路46能够可靠地输出分别对应于第一视频时间戳VTS1和第一音频时间戳ATS1的视频帧Vf1和音频帧Af1。
如果内容实际上是由如图6(A)和6(B)所示的音频数据和视频数据构成,则可在由输入预设视频时间戳VTSp和音频时间戳ATSp的次序所定义的预设顺序中预设系统时钟stc的值。然后,在已在预设视频时间戳VTSp中预设了系统时钟stc之后,必定在预设音频时间戳ATSp中更新预设值。
此时,比较器电路46使用在预设音频时间戳ATSp中更新的系统时钟stc作为参考值,来比较视频时间戳VTS和音频时间戳ATS。由此,比较器电路46计算系统时钟stc与在编码器端提供的在内容提供设备2中添加的视频时间戳VTS之间的时间差。
另一方面,如果内容仅由音频数据构成,则不将预设视频时间戳VTSp提供给定时控制电路37A。因此,自然地,根据输入预设视频时间戳VTSp和音频时间戳ATSp的次序所定义的预设顺序,通过预设音频时间戳ATSp来预设系统时钟stc的值。
类似地,如果内容仅由视频数据构成,则不将预设音频时间戳ATSp提供给定时控制电路37A。在此情况下,同样,自然地,根据输入预设视频时间戳VTSp和音频时间戳ATSp的次序所定义的预设顺序,通过预设视频时间戳VTSp来预设系统时钟stc的值。
如果内容仅由音频数据、或仅由视频数据构成,则不需要特别地调整视频和音频之间的声像同步。因此,仅在通过预设音频时间戳ATSp预设的系统时钟stc在值上与音频时间戳ATS一致时,才有必要输出音频帧AF1,并且,仅在通过预设视频时间戳VTSp预设的系统时钟stc在值上与视频时间戳VTS一致时,才有必要输出视频帧VF1。
实践中,在渲染器37的定时控制电路37A中,例如,如果内容由音频数据和视频数据这两者构成,那么,在渲染器37的定时控制电路37A中,在当将如图7所示的由音频解码器35解码的音频帧AF1(Af1、Af2、Af3、...)输出到监视器10时的时刻Ta1、时刻Ta2、时刻Ta3...,首先通过预设视频时间戳VTSp、然后通过预设音频时间戳ATSp,预设经由晶体振荡器电路40(图4)和STC电路41提供的系统时钟stc的值。由此,使得系统时钟stc的值等于预设音频时间戳ATSp1、ATSp2、ATSp3、...。
因为任何音频中断或任何音频遗漏对用户而言都是非常明显的,所以渲染器37的定时控制电路37A必须使用音频帧AF1(Af1、Af2、Af3...)作为声像同步调整的基准,由此来将视频帧VF1(Vf1、Vf2、Vf3...)的输出定时调整到音频帧AF1(Af1、Af2、Af3...)的输出定时。
在渲染器37的定时控制电路37A中,一旦设定了音频帧AF1(Af1、Af2、Af3...)的输出的定时(即,时刻Ta1、时刻Ta2、时刻Ta3...),则比较器电路46将已预设的系统时钟stc的计数值与在基于系统时钟stc而以30[Hz]的帧频来输出视频帧VF1(Vf1、Vf2、Vf3...)时的时刻Tv1、时刻Tv2、时刻Tv3...处添加到视频帧VF1(Vf1、Vf2、Vf3...)的视频时间戳VTS(VTS1、VTS2、VTS3...)进行比较。
当比较器电路46发现已预设的系统时钟stc的计数值与视频时间戳VTS(VTS1、VTS2、VTS3...)一致时,输出视频缓冲器39向监视器10输出视频帧VF1(Vf1、Vf2、Vf3...)。
在比较已预设的系统时钟stc的计数值是否与从缓冲器42发送的视频时间戳VTS(VTS1、VTS2、VTS3...)一致时,比较器46可发现预设系统时钟stc的计数值与视频时间戳VTS(VTS1、VTS2、VTS3...)之间的差值。如果该差值D1(时间差)等于或小于代表预定时间的阈值TH,则用户难以识别出视频和音频不同步。因此,当预设系统时钟stc的计数值与视频时间戳VTS(VTS1、VTS2、VTS3...)一致时,对于定时控制电路37A而言,足够将视频帧VF1(Vf1、Vf2、Vf3...)输出到监视器10。
在任何其它情况下,例如,如果预设系统时钟stc的计数值与视频时间戳VTS2之间的差值D1在时刻Tv2处大于阈值TH,且视频数据相对于音频数据有所延迟,则由于编码器端的时钟频率与解码器端的时钟频率之间的间隙,视频数据将落后于音频数据。因此,在渲染器37中提供的定时控制电路37A不会对例如对应于GOP(画面组)的B画面的视频帧Vf3(未示出)进行解码,而是跳过该视频帧,并输出下一视频帧Vf4。
在此情况下,渲染器37不会跳过在输出视频缓冲器39中存储的“P”画面,这是因为,“P”画面将被用作视频解码器36中对下一画面解码的过程中的参考帧。相反,渲染器37跳过不能被用作生成下一画面的过程中的参考帧的“B”画面、或非参考帧。由此实现声像同步,同时防止视频质量的恶化。
输出视频缓冲器39可以不存储渲染器37应该跳过的“B”画面,而存储“I”和“P”画面。渲染器37不能跳过“B”画面。这样,视频数据不能赶上音频数据。
如果输出视频缓冲器39不存储渲染器37应该跳过的“B”,那么,如图8所示,利用监视器10的输出定时和从输出视频缓冲器39输出视频帧VF1的画面刷新定时分别是60[Hz]和30[Hz]的事实,缩短了画面刷新时间。
更具体地,已由预设音频时间戳ATP预设的系统时钟stc的计数值与视频时间戳VTS之间的差值D1可超过16.666...[msec]。换言之,如果监视器输出定时相对于音频输出定时有一个或更多个帧的延迟,则渲染器37不跳过视频帧VF1,而将画面刷新定时从30[Hz]改变为60[Hz],从而输出下一画面,即第(N+1)画面。
也就是说,渲染器37将画面刷新间隔从1/30秒缩短为1/60秒,从而跳过“I”画面和“P”画面。由此,尽管跳过了“I”和“P”画面,但视频数据可赶上音频数据,而不会降低视频质量。
在时刻Tv2,已预设的系统时钟stc的计数值与视频时间戳VTS2之间的差值D1可能超出预定阈值TH,且音频数据可能相对于视频数据有所延迟。在此情况下,由于编码器端的时钟频率和解码器端的频率之间的间隙,音频数据落后。因此,渲染器37的定时控制电路37A被配置为重复地输出视频帧Vf2。
如果内容仅由视频数据构成,则渲染器37的定时控制电路37A仅需要在时刻Tv1、时刻Tv2、时刻Tv3...(在这些时刻中的每一个处,通过使用预设视频时间戳VTS预设的系统时钟stc的计数值与视频时间戳VTS一致)顺序地向监视器10输出由视频解码器36解码的视频帧VF1(Vf1、Vf2、Vf3...)。
类似地,如果内容仅由音频数据构成,则渲染器37的定时控制电路37A仅需要在时刻Ta1、时刻Ta2、时刻Ta3...(在这些时间中的每一个处,系统时钟stc的计数值,即通过预设音频时间戳ATSp预设的值,与音频时间戳ATS一致)顺序地向监视器10输出由音频解码器35解码的音频帧AF1(Af1、Af2、Af3...)。
(4-2)在预编码流期间调整声像同步的顺序如上所述,在流解码器9中提供的渲染器37的定时控制电路37A通过使用音频帧AF1(Af1、Af2、Af3...)来调整输出视频帧VF1(Vf1、Vf2、Vf3...)的定时,从而实现视频数据与音频数据的声像同步。将概述这种调整输出定时的方法。如从图9的流程图所看到的,渲染器37的定时控制电路37A开始例程RT1。然后,渲染器37转到步骤SP1。
在步骤SP1中,渲染器37根据由输出预设视频时间戳VTSp和音频时间戳ATSp的次序所定义的预设顺序,来预设系统时钟stc的值。然后,该过程转到步骤SP2。
在步骤SP2中,如果内容由音频和视频数据构成,则渲染器37在已通过视频时间戳VTSp预设了系统时钟stc的值之后、必定通过使用预设音频时间戳ATSp来更新该预设值。然后,渲染器37转到步骤SP2。
在此情况下,在将音频帧AF1(Af1、Af2、Af3...)输出到监视器10时的时刻Ta1、时刻Ta2、时刻Ta3...(图7)处,系统时钟stc的值与预设音频时间戳ATSp(ATSp1、ATSp2、ATSp3...)一致。
如果内容仅由视频数据构成,则预设音频时间戳ATSp不可用。因此,在通过预设视频时间戳VTSp预设了系统时钟stc的值之后,在经过了预定的时间后,渲染器37转到步骤SP2。
如果内容仅由音频数据构成,则预设视频时间戳VTSp不可用。因此,在预设了系统时钟stc的值之后,在预设音频时间戳ATSp到达的时间(不等待预设视频时间戳VTSp),渲染器37转到步骤SP2。
在步骤SP2中,渲染器37基于从系统控制器50提供的内容类型判定结果CH,确定内容是否仅由视频数据构成。如果是,则渲染器37转到步骤SP3。
在步骤SP3中,渲染器37在已通过预设视频时间戳VTSp预设的系统时钟stc的值与视频时间戳VTS一致时,向监视器10输出视频帧VF1(Vf1、Vf2、Vf3...)。这是因为内容仅由视频数据构成。渲染器37转到步骤SP12,并终止该过程。
在步骤SP2进行的判定结果可能是“否”。这意味着,内容不仅由视频数据构成。相反,这意味着内容由音频数据和视频数据构成,或仅由音频数据构成。在此情况下,渲染器37转到步骤SP4。
在步骤SP4中,渲染器37基于内容类型判定结果CH,确定内容是否仅由音频数据构成。如果是,则渲染器37转到步骤SP3。
在步骤SP3中,渲染器37在已通过预设音频时间戳ATSp预设的系统时钟stc的值与音频时间戳ATS一致时,使得监视器10的扬声器输出音频帧AF1(Af1、Af2、Af3...)。这是因为内容仅由视频数据构成。然后,渲染器37转到步骤SP12,并终止该过程。
在步骤SP4进行的判定结果可能是“否”。这意味着,内容由音频数据和视频数据构成。如果是这种情况,则渲染器37转到步骤SP5。
在步骤SP5中,渲染器37最终计算已通过预设音频时间戳ATSp预设的系统时钟stc的计数值与应该在时刻Tv1、时刻Tv2、时刻Tv3...输出的视频帧VF1(Vf1、Vf2、Vf3...)的时间戳VTS(VTS1、VTS2、VTS3...)之间的差值D1(=stc-VTS)。这是因为内容由音频数据和视频数据构成。渲染器37转到步骤SP6。
在步骤SP6中,渲染器37确定在步骤SP7中计算的差值D1(绝对值)是否大于预定阈值TH。在此进行的判定结果可能是“否”。这意味着,差值D1是如此短的时间(例如,100[msec]或更短),以致于观看视频和收听音频的用户不会注意到视频和音频之间的间隙。由此,渲染器37转到步骤SP3。
在步骤SP3中,因为时间差非常小,使得用户不能察觉视频和音频之间的间隙,所以,渲染器37向监视器10输出视频帧VF1。原则上,渲染器37也向监视器10输出音频帧AF1。然后,渲染器37转到步骤SP12,并终止该过程。
相反,在步骤SP6进行的判定结果可能是“是”。这意味着差值D1大于阈值TH。由此,用户可能注意到视频和音频之间的间隙。在此情况下,渲染器37转到下一步骤SP7。
在步骤SP7中,渲染器37在音频时间戳ATS和视频时间戳VTS的基础上,确定视频是否落后于音频。如果不是,则渲染器37转到步骤SP8。
在步骤SP8中,渲染器37重复地输出构成正被显示的画面的视频帧VF1,使得落后于视频的音频可赶上视频。然后,渲染器37转到步骤SP12,并终止该过程。
在步骤SP7进行的判定结果可能是“是”。这意味着视频落后于音频。在此情况下,渲染器37转到步骤SP9。在步骤SP9中,渲染器37确定输出视频缓冲器39是否存储了应该跳过的“B”画面。如果是,则渲染器37转到步骤SP10。
在步骤SP10中,渲染器37进行输出,跳过“B”画面(即,此实例中的视频帧Vf3)而不对该“B”画面解码,使得视频可赶上音频。结果,视频赶上音频,由此实现视频和音频的声像同步。然后,渲染器37转到步骤SP12,并终止该过程。
在步骤SP9进行的判定结果可能是“否”。这意味着,输出视频缓冲器39未存储应该跳过的“B”画面。由此,不存在要被跳过的“B”画面。在此情况下,渲染器37转到步骤SP11。
在步骤SP11中,利用如图8所示的、监视器10的输出定时是60[Hz]而视频帧VF1的画面刷新定时是30[Hz]的事实,渲染器37向着监视器的输出定时,而缩短画面刷新间隔。由此跳过画面,从而,视频可赶上音频,而不会降低视频的质量。然后,渲染器37可转到步骤SP12,并终止该过程。
(5)第一内容接收设备中的实时流编码器的电路配置第一内容接收设备3(图1)当其在实时流编码器11已实时对内容编码之后、通过无线电向第二内容接收设备4转发内容时,可被用作内容提供端。例如,这些内容是已从外部提供的数字地面广播内容或BS/CS数字内容、或模拟地面广播内容,或者是已从DVD、视频CD或普通视频相机回放的内容。
将参考图10描述在第一内容接收设备3中提供的实时流编码器11的电路配置。实时流编码器11接收构成从外部提供的内容的视频信号VS2和音频信号AS2。在编码器11中,视频输入单元51将视频信号转换为数字视频数据,并且音频输入单元53将音频信号AS2转换为数字音频数据。将数字视频数据作为视频数据VD2发送到视频编码器52。将数字音频数据作为音频数据AD2发送到音频编码器54。
视频编码器52利用均符合例如MPEG1/2/4标准的预定数据压缩编码方法或各种数据压缩编码方法,来压缩和编码该视频数据VD2。所得到的视频初级流VES2被提供给分组生成单元56和视频帧计数器57。
视频帧计数器57对视频初级流VES2的帧频单元(29.97[Hz]、30[Hz]、59.94[Hz]或60[Hz])进行计数。计数器57基于基准时钟,将所得到的计数累加值转换为90[KHz]单位的值。将该值提供给分组生成单元56,作为每个视频帧的32位视频时间戳VTS(VTS1、VTS2、VTS3...)。
同时,音频编码器54使用均符合例如MPEG1/2/4音频标准的预定数据压缩编码方法或各种数据压缩编码方法,来压缩和编码该音频数据AD2。所得到的音频初级流AES2被提供给分组生成单元56和音频帧计数器58。
类似于视频帧计数器57,音频帧计数器58将音频帧的计数累加值转换为90[KHz]单位的值。将该值提供给分组生成单元56,作为每个音频帧的32位音频时间戳ATS(ATS1、ATS2、ATS3...)。
分组生成单元56将视频初级流VES2划分为预设大小的分组,并向由此获得的每个分组添加头数据,由此生成视频分组。另外,分组生成单元56将音频初级流AES2划分为预设大小的分组,并向由此获得的每个分组添加音频头数据,由此提供音频分组。
如图11所示,添加到RTCP(实时控制协议)分组的头部的控制分组由IP(因特网协议)头、UDP(用户数据报协议)头、RTCP(实时控制协议)分组发送方报告以及RTCP分组构成。IP头用于实现因特网层的主机间通信。UDP头用于传递用户数据报数据。RTCP分组发送方报告用来传递实时数据,并具有4字节的RTP时间戳区段。在RTP时间戳区段中,可写入关于编码器端的系统时钟的值的快照(snapshot)信息,作为PCR(程序时钟基准)值。可从被提供用于解码器端的时钟恢复的PCR电路61传送PCR值。
分组生成单元56根据视频分组和视频时间戳VTS,生成由预定数目的字节组成的视频分组数据。单元56还根据音频分组和音频时间戳ATS,生成由预定数目的字节组成的音频分组数据。单元56对这些数据项进行多路复用,生成多路复用数据MXD2。将该数据MXD2发送到分组数据累积单元59。
当在分组数据累积单元59中累积的多路复用数据MXD2的量达到预定值时,使用RTP/TCP,经由无线LAN 6将多路复用数据MXD2传送到第二内容接收设备4。
在实时流编码器11中,还将由视频输入单元51生成的数字视频数据VD2提供给PLL(锁相环)电路55。PLL电路55基于视频数据VD2,将STC电路60同步到视频数据VD2的时钟频率。另外,PLL电路55还将视频编码器52、音频输入单元53和音频编码器54同步到视频数据VD2的时钟频率。
因此,在实时流编码器11中,PLL电路55可在与视频数据VD2同步的定时处,执行对视频数据VD2和音频数据AD2的数据压缩/编码处理。另外,可通过PCR(程序时钟基准)电路61,将与视频数据VD2的时钟频率同步的时钟基准pcr传送到第二内容接收设备4中提供的实时流解码器12。
此时,PCR电路61通过使用作为RTP协议的下一层且应该实时工作的UDP(用户数据报协议),来将时钟基准pcr传送到第二内容接收设备4中提供的实时流解码器12。由此,电路61可实现直播流,其不仅实时,而且高速。
(6)第二内容接收设备中的实时流解码器的电路配置如图12所示,在第二内容接收设备4中提供的实时流解码器12中,将从第一内容接收设备3中提供的实施例编码器11传送的多路复用数据MXD2暂时存储在输入分组累积单元71中。然后,将多路复用数据MXD2发送给分组划分单元72。
分组划分单元72将多路复用数据MXD2划分为视频分组数据VP2和音频分组数据AP2。经由由环缓冲器构成的输入音频缓冲器73,以音频帧为单位,向音频解码器74传送音频分组数据AP2。经由由环缓冲器构成的输入视频缓冲器75,以视频帧为单位,向视频解码器76传送视频分组数据VP2。
输入音频缓冲器73存储音频分组数据AP2,直到连接到其输出的音频解码器74持续对一个音频帧的音频分组数据AP2解码为止。输入视频缓冲器75存储视频分组数据VP2,直到连接到其输出的视频解码器76持续对一个视频帧的视频分组数据VP2解码为止。因此,输入音频缓冲器73和输入音频缓冲器75仅需要具有大到足以分别存储一个音频帧和一个视频帧的存储容量。
分组划分单元72被设计为通过识别视频时间戳VTS和音频时间戳ATS,而分析关于视频分组数据VP2的视频头信息、以及关于音频分组数据AP2的音频头信息。将视频时间戳VTS和音频时间戳ATS发送到渲染器77。
音频解码器74以音频帧为单位来对音频分组数据AP2解码,再现既未被压缩也未被编码的音频帧AF2。将音频帧AF2提供给渲染器77。
视频解码器76以视频帧为单位来对视频分组数据VP2解码,恢复既未被压缩也未被编码的视频帧VF2。将视频帧VF2顺序地提供给渲染器77。
渲染器77将音频帧AF2提供给由环缓冲器构成的输出音频缓冲器78。输出音频缓冲器78暂时存储音频帧AF2。类似地,渲染器77将视频帧VF2提供给由环缓冲器构成的输出视频缓冲器79。输出视频缓冲器79暂时存储视频帧VF2。
然后,渲染器77中基于音频时间戳ATS和视频时间戳VTS,调整最终的输出定时,以实现分别由视频帧VF2和音频帧AF2代表的视频和音频的声像同步,从而可将视频和音频输出到监视器13。在由此调整的输出定时处,分别从输出音频缓冲器78和输出视频缓冲器79顺序地向监视器13输出音频帧AF2和视频帧VF2。
实时流解码器12通过使用UDP,接收从第一内容接收设备3的实时流编码器11中提供的PCR电路61发送的时钟基准pcr。在解码器12中,将时钟基准pcr输入到减法电路81。
减法电路81计算时钟基准pcr与从STC电路84提供的系统时钟stc之间的差值。通过形成PLL(锁相环)电路55的滤波器82、压控晶体振荡器电路83和STC电路84,将该差值反馈到减法电路81。因此,该差值收敛于实时流编码器11的时钟基准pcr。最后,PLL电路55向渲染器77提供已通过使用时钟基准pcr而与实时流编码器11同步的系统时钟stc。
由此,渲染器77可使用与用于在第一内容接收设备3的实时流编码器11中对视频数据VD2和音频数据AD2压缩编码、以及对视频时间戳VTS和音频时间戳ATS进行计数的时钟频率同步的系统时钟stc作为参考,调整输出视频帧VF2和音频帧AF2的定时。
渲染器77将音频帧AF2提供给由环缓冲器构成的输出音频缓冲器78。输出音频缓冲器78暂时存储音频帧AF2。类似地,渲染器将视频帧VF2提供给由环缓冲器构成的输出视频缓冲器79。输出视频缓冲器79暂时存储视频帧VF2。为实现视频和音频的声像同步,渲染器77基于系统时钟stc、音频时间戳ATS和视频时钟VTS,调整输出定时,其中,通过使用从实时流编码器11的PCR电路61提供的时钟基准pcr,使得系统时钟stc与编码器端同步。
(7)在直播流期间、在解码器端的声像调整(7-1)在直播流期间调整输出视频帧和音频帧的定时的方法在此情况下,如图13所示,渲染器77使PLL电路55将系统时钟stc的时钟频率锁定为以预定间隔从实时流编码器11的PRC电路61提供的时钟基准pcr的值。然后,渲染器77使得基于系统时钟stc而同步的监视器13分别根据音频时间戳ATS和视频时间戳VTS输出音频帧AF2和视频帧VF2。
当系统时钟stc的时钟频率与时钟基准pcr的值保持同步时,渲染器77根据系统时钟stc和音频时间戳ATS(ATS1、ATS2、ATS3...),将音频帧AF2(Af1、Af2、Af3...)顺序地输出到监视器13。
如上所述,时钟基准pcr的值与系统时钟stc的时钟频率相互同步。因此,在系统时钟stc的计数值与视频时间戳VTS(VTS1、VTS2、VTS3...)(例如,视频时间戳VTS1,在时刻Tv1)之间的差值D2V不会发展。
然而,已通过使用UDP并严格按实时地发送了从实时流编码器11的PCR电路61提供的时钟基准pcr。为确保高速传送,将不再传送时钟基准pcr。因此,时钟基准pcr可能未到达第二内容接收设备4的实时流解码器12,或可能在其到达解码器12时包含错误数据。
在这样的情况下,随着时钟基准pcr通过PLL电路55,以预定间隔从实时流编码器11的PCR电路61提供的时钟基准pcr的值与系统时钟stc的时钟频率之间的间隙可能发展。在此情况下,根据本发明的渲染器77也可以保证声像同步。
在本发明中,音频数据的持续输出具有优先权,从而,如果系统时钟stc和音频时间戳ATS之间、以及系统时钟stc和视频时间戳VTS之间的间隙发展,则也确保声像同步。
渲染器77在输出音频帧AF2的时刻Ta2处,对系统时钟stc的计数值与音频时间戳ATS2进行比较。存储所找到的差值D2A。渲染器77在输出视频帧VF2的时刻Tv2处,对系统时钟stc的计数值与视频时间戳VTS2进行比较。存储所找到的差值D2V。
此时,时钟基准pcr可靠地到达第二内容接收设备4的实时流解码器12,由于系统时钟stc已通过了PLL电路55,所以时钟基准pcr的值与实时流解码器12的系统时钟stc的时钟频率完全一致,并且,包括监视器13的解码器端可与系统时钟stc一致。这样,差值D2V和差值D2A是“0”。
如果差值D2A具有正值,则将音频帧AF2考虑为已提前,而如果差值D2A具有负值,则将音频帧AF2考虑为已延迟。类似地,如果差值D2V具有正值,则将视频帧VF2考虑为已提前,而如果差值D2V具有负值,则将视频帧VF2考虑为已延迟。
不管音频帧AF2是提前还是延迟,渲染器77都给音频数据的持续输出设置优先权。也就是说,如以下将描述的那样,渲染器77相对于音频帧AF2的输出,而控制视频帧VF2的输出。
例如,在时刻Tv2,当D2V-D2A大于阈值TH时。在此情况下,如果差值D2V大于差值D2A,则视频赶不上音频。因此,渲染器77跳过、或不解码对应于例如构成GOP的B画面的视频帧Vf3(未示出),并输出下一视频帧Vf4。
在此情况下,渲染器77不跳过在输出视频缓冲器79中存储的“P”画面,这是因为,视频解码器76将使用“P”画面作为用来对下一画面解码的参考帧。因此,渲染器77跳过作为非参考帧的“B”画面。由此,可实现声像同步,同时防止图像的恶化。
当D2V-D2A大于阈值TH、且差值D2A大于差值D2V时。在此情况下,视频不能赶上音频。因此,渲染器77重复地输出现在正被输出的视频帧Vf2。
如果D2V-D2A小于阈值TH,则将视频相对于音频的延迟时间视为落在容限之内。这样,渲染器77向监视器13输出视频帧VF2。
如果输出视频缓冲器79存储“I”画面和“P”画面,但不存储应当跳过的“B”画面,则由此不能跳过“B”画面。从而,视频不能赶上音频。
类似于在第一内容接收设备3中提供的视频解码器9的渲染器37,渲染器77利用监视器13的输出定时是例如60[Hz]、而当不存在要跳过的“B”画面时应该从输出视频缓冲器79输出的视频帧VF2的画面刷新定时是30[Hz]的事实,渲染器77缩短画面刷新间隔。
更具体地,当与时钟基准pcr同步的系统时钟stc和视频时间戳VTS之间的差值超过16.666...[msec]时。换言之,监视器输出定时相对于音频输出定时有一个或更多个帧的延迟。在此情况下,渲染器77不跳过一个视频帧,而将画面刷新定时从30[Hz]改变为60[Hz],由此缩短显示间隔。
也就是说,渲染器77将由于跳过而遭受图像恶化的“I”画面和“P”画面画面刷新间隔从1/30秒缩短为1/60秒,由此使视频数据赶上音频数据,尽管跳过了“I”和“P”画面,但不会降低视频质量。
(7-2)在直播流期间调整声像同步的顺序如上所述,实时流解码器12的渲染器77通过使用音频帧AF2作为参考,而调整输出视频帧VF2的定时,以便在直播流回放期间实现视频和音频的声像同步。将如下概述调整输出定时的方法。如图14中的流程图所示,实时流解码器12的渲染器77开始例程RT2。然后,渲染器77转到步骤SP21。
在步骤SP21中,在第二内容接收设备4中提供的实时流解码器12的渲染器77从在第一内容接收设备3中提供的实时流编码器11的PCR电路61接收时钟基准pcr。然后,渲染器77转到步骤SP22。
在步骤SP22中,渲染器77通过使用由减法电路81、滤波器82、压控晶体振荡器电路83和STC电路84构成的PLL电路55,使系统时钟stc与时钟基准pcr同步。此后,渲染器77在调整输出定时的过程中,使用由此与时钟基准pcr同步的系统时钟stc,作为基准。然后,渲染器77转到步骤SP23。
在步骤SP23中,渲染器77计算在系统时钟stc在时刻Tv1、时刻Tv2、时刻Tv3...处具有的计数值与视频时间戳VTS之间的差值D2V。渲染器77还计算在系统时钟stc在时刻Ta1、时刻Ta2、时刻Ta3...具有的计数值与音频时间戳ATS之间的差值D2A。渲染器77转到步骤SP24。
在步骤SP24中,如果从步骤SP23中的D2V和D2A计算的D2V-D2A小于阈值TH(例如,100[msec]),则渲染器77获得否定判定结果。然后,渲染器77转到步骤SP25。
在步骤SP25中,如果D2A-D2V大于阈值TH(例如,100[msec]),则渲染器77获得肯定判定结果。此判定结果表示,视频相对于音频有所提前。在此情况下,渲染器77转到步骤SP26。
在步骤SP26中,因为视频相对于音频有所提前,所以渲染器77重复地输出构成现在正被输出的画面的视频帧VF2,使得音频可赶上视频。此后,渲染器77转到步骤SP31,并终止该过程。
如果在步骤SP25中、D2A-D2V未超过阈值TH,则渲染器77获得否定判定结果,并确定在音频和视频之间未发展出可注意到的间隙。然后,渲染器77转到步骤SP27。
在步骤SP27中,渲染器77通过使用与时钟基准pcr同步的系统时钟stc,按照视频时间戳VTS,直接向监视器13输出视频帧VF2。这是因为,在音频和视频之间未发展出可注意到的间隙。然后,渲染器77转到步骤SP31,并终止该过程。
为确保音频数据的持续输出,在上述任何情况下,渲染器77都通过使用与时钟基准pcr同步的系统时钟stc,按照音频时间戳ATS,直接向监视器13输出音频帧AF2。
另一方面,渲染器77可能在步骤SP24中获得肯定判定结果。此判定结果表示,D2V-D2A大于阈值TH(例如,100[msec]、或者视频相对于音频有所延迟。在此情况下,渲染器77转到步骤SP28。
在步骤SP28中,渲染器77确定输出视频缓冲器79是否存储了“B”画面。如果渲染器77获得肯定判定结果,则转到步骤SP29。如果获得否定判定结果,则转到步骤SP30。
在步骤SP29中,渲染器77确定视频相对于音频有所延迟。因为其已确认在输出视频缓冲器79中存储了“B”画面,所以渲染器77不对该B画面(视频帧Vf3)解码,跳过它,并输出它。由此,视频可赶上音频,实现声像同步。然后,渲染器77转到步骤SP31,并终止该过程。
在步骤SP30中,渲染器77利用监视器13的输出定时是60[Hz]而视频帧VF2的画面刷新定时是30[Hz]的事实,根据监视器13的输出定时来缩短画面刷新间隔。由此,渲染器77使视频赶上音频,而不会由于跳过任何画面而降低画面质量。这样,然后渲染器77转到步骤SP31,并终止该过程。
如上所述,在第二内容接收设备4中提供的实时流解码器12的渲染器77将实时流解码器12的系统时钟stc与在第一内容接收设备3中提供的实时流编码器12的时钟基准pcr同步,由此实现直播流。即使在时钟基准pcr由于其未被再次传送而未到来,为了确保UDP的实时性,渲染器77也根据音频时间戳ATS与视频时间戳VTS之间的间隙,对系统时钟stc执行声像同步调整。因此,渲染器77能够可靠地执行声像同步,同时执行直播流回放。
(8)操作和优点在上述配置中,如果内容的类型包括音频和视频数据,则在已通过预设视频时间戳VTSp而预设系统时钟stc的值之后,第一内容接收设备3的流解码器9再次通过预设音频时间戳ATSp来预设系统时钟stc的值。因此,系统时钟stc的值最终与预设音频时间戳ATSp(ATSp1、ATSp2、ATSp3...)一致。
流解码器9的渲染器37计算已通过预设音频时间戳ATSp预设的系统时钟stc的计数值、与被添加到视频帧VF1(Vf1、Vf2、Vf3...)的视频时间戳VTS(VTS1、VTS2、VTS3...)之间的差值D1。由此,渲染器77可识别出在向其添加了视频时间戳VTS的编码器端的时钟频率与解码器端的系统时钟stc的时钟频率之间的间隙所引起的时间差。
根据由此计算出的差值D1,流解码器9的渲染器37重复地输出当前的视频帧VF1的画面,或者,通过不解码并由此跳过该画面、或在缩短画面刷新间隔之后,输出非参考帧的B画面。因此,渲染器37可相对于音频数据输出定时来调整视频数据的输出定时,而不中断正在向监视器10输出的音频数据,同时保持音频的连续性。
如果差值D1等于或小于阈值TH,并且小到使得用户不能注意到声像同步间隙,则渲染器37可以就按照视频时间戳VTS(VTS1、VTS2、VTS3...)来向监视器10输出视频数据,而不重复地输出视频数据、跳过和再现视频数据、或缩短画面刷新间隔。在此情况下,也能保持视频的连续性。
另外,在第二内容接收设备4中提供的实时流解码器12的渲染器77可将解码器端的系统时钟stc与从第一内容接收设备3中提供的实时流编码器11的PCR电路61提供的时钟基准pcr同步,然后,根据音频时间戳ATS和视频时间戳VTS,向监视器13输出音频帧AF2和视频帧VF2。由此,渲染器77可实现直播流回放,同时保持实时性。
此外,即使在系统时钟stc与时钟基准pcr不同步的情况下,在第二内容接收设备4中提供的实时流解码器12的渲染器77也计算系统时钟stc与视频时间戳VTS之间的差值D2V、以及系统时钟stc与音频时间戳ATS之间的差值D2A。这是因为,从第一内容接收设备3中提供的实时流编码器11的PCR电路61提供的时钟基准pcr未被通过UDP再次发送,并且未到达渲染器77。渲染器77根据差值D2V和差值D2A之间的间隙,调整输出视频帧VF2的定时。因此,渲染器77可相对于音频数据的输出定时来调整视频数据的输出定时,而不中断正向监视器13输出的音频数据,同时保持音频的连续性。
通过使用预设视频时间戳VTSp和预设音频时间戳ATSp,根据按照提及的次序应用预设视频时间戳VTSp和预设音频时间戳ATSp的预设顺序,从第一内容接收设备3中提供的流解码器9的渲染器37预设系统时钟stc。由此,如果内容仅由音频数据构成,则可通过使用预设音频时间戳ATSp来预设系统时钟stc,并且,如果内容仅由视频数据构成,则可通过使用预设视频时间戳VTS来预设系统时钟stc。因此,渲染器37可应付内容由音频数据和视频数据构成的情况、内容仅由音频数据构成的情况、以及内容仅由视频数据构成的情况。
也就是说,不仅在内容不是由音频数据和视频数据这两者构成的情况下,而且在内容仅由视频数据构成而不能得到预设音频时间戳ATSp的情况下、以及在内容仅由音频数据构成而不能得到预设视频时间戳VTSp的情况下,由音频数据和视频数据构成的内容都可输出视频帧VF1或音频帧AF1。因此,流解码器9的渲染器37可在对内容类型最优的定时上向监视器10输出内容。
假设预设的系统时钟stc的计数值与视频时间戳VTS2之间的差值D1大于预设阈值TH,并且假设视频可能落后于音频。这样,如果在输出视频缓冲器39中存储了B画面,则流解码器9的渲染器37跳过将不会降低图像质量的B画面,而不对其解码。如果在输出视频缓冲器39中未存储B画面,则渲染器37根据监视器10的输出定时,缩短视频帧VF1的画面刷新间隔。这使得视频能赶上音频,尽管跳过了画面,也不会降低图像质量。
在上述配置中,从第一内容接收设备3中提供的流解码器9的渲染器37和在第二内容接收设备4中提供的实时流解码器12的渲染器77可使用音频帧AF1和AF2的输出定时作为参考,来调整视频帧VF1和VF2的输出定时。由此可实现声像同步,同时保持音频的连续性,而不会使得用户(即观众)感到奇怪。
(9)其它实施例在上述实施例中,按照基于音频帧AF1的差值D1、或基于音频帧AF2的差值D2V和D2A来调整声像同步,由此消除编码器端的时钟频率与解码器端的时钟频率之间的间隙。然而,本发明不限于该实施例。可消除由于时钟颤动、网络颤动等引起的编码器端的时钟频率与解码器端的时钟频率之间的微小间隙。
在上述实施例中,通过因特网5连接内容提供设备2和第一内容接收设备3,以便实现预编码流。本发明不限于此。可替换地,可通过因特网5将内容提供设备2连接到第二内容接收设备4,以便实现预编码流。可替换地,可经由第一内容接收设备3来将内容从内容提供设备2提供到第二内容接收设备4,由此实现预编码流。
在上述实施例中,在第一内容接收设备3与第二内容接收设备4之间执行直播流。本发明不限于此。可在内容提供设备2与第一内容接收设备3之间、或在内容提供设备2与第二内容接收设备4之间执行直播流。
如果是这种情况,则将时钟基准pcr从内容提供设备2的流服务器8传送到第一内容接收设备3的流解码器9。流解码器9将系统时钟stc与时钟基准pcr同步。可实现直播流。
在上述实施例中,减法器电路44和45将第一视频时间戳VTS1和第一音频时间戳ATS1延迟了预定时间。本发明不限于此。如果预设的、且从STC电路41提供给比较器电路46的系统时钟stc的值在视频时间戳VTS1和音频时间戳ATS1到达比较器电路46时还未经过视频时间戳VTS1和音频时间戳ATS1,则减法器电路44和45不需要将第一视频时间戳VTS1和第一音频时间戳ATS1延迟预定时间,这是因为,它们在被分别存储在缓冲器42和43中的同时被延迟了。
另外,在上述实施例中,在确定内容的类型之间,不管内容的类型如何,都根据按照所提及的次序应用预设视频时间戳VTSp和预设音频时间戳ATSp的预设顺序来预设系统时钟stc。本发明不限于此。可首先确定内容的类型,并且,如果内容由音频数据和视频数据构成,则可通过使用预设视频时间戳VTSp和预设音频时间戳ATSp来预设系统时钟stc。如果内容仅由视频数据构成,则可通过使用预设视频时间戳VTSp来预设系统时钟。另一方面,如果内容仅由音频数据构成,则可通过使用预设音频时间戳ATSp来预设系统时钟stc。
另外,在上述实施例中,如果在输出视频缓冲器37和79中未存储画面,则根据向监视器10和13输出数据的速率,将视频帧VF1和VF2的画面刷新速率从30[Hz]减小到60[Hz]。然而本发明不限于此。不管是否存在B画面,都可将视频帧VF1和VF2的画面刷新速率从30[Hz]减小到60[Hz]。在此情况下,渲染器37和77也能消除视频相对于音频的延迟,由此实现声像同步。
另外,在上述实施例中,跳过和输出B画面。本发明不限于此。可跳过和输出紧接在I画面之前的P画面。
这是因为,当生成下一画面(即I画面)时,不会参考紧接着该I画面之前的P画面。即使被跳过,P画面也不会对生成I画面的过程造成麻烦,或者不会导致视频质量的下降。
另外,在上述实施例中,跳过、或不解码、并向监视器10输出视频帧Vf3。本发明不限于此。在对视频帧Vf3解码、然后从输出视频缓冲器39输出时,可跳过并输出解码后的视频帧Vf3。
另外,在上述实施例中,在调整声像同步的过程中,由于使用音频帧AF1和AF2作为参考,所以将所有音频帧输出到监视器10和13。本发明不限于此。例如,如果任何音频帧对应于无声部分,则可跳过它,然后输出。
另外,在上述实施例中,根据本发明的内容接收设备包括用作解码部件的音频解码器35和74、视频解码器36和76;用作存储部件的输入音频缓冲器33和73;用作计算部件和定时调整部件的输出音频缓冲器38和78、输入视频缓冲器34和75、输出视频缓冲器39和79以及渲染器37和77。然而,本发明不限于此。这些设备还可包括其它各种电路。
工业实用性本发明可提供内容接收设备、控制视频-音频输出定时的方法、以及内容提供系统,它们适合用于从例如服务器与音频数据一起下载运动画面内容。
权利要求
1.一种内容接收设备,其特征在于包括解码部件,用于从在编码器端提供的内容提供设备接收多个编码后的视频帧和多个编码后的音频帧,并用于对所述编码后的视频帧和编码后的音频帧进行解码,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于编码器端的基准时钟的音频时间戳;存储部件,用于存储所述解码部件通过对所述编码后的视频帧进行解码而获得的多个视频帧、以及所述解码部件通过对所述编码后的音频帧进行解码而获得的多个音频帧;计算部件,用于计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整部件,用于根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
2.如权利要求1所述的内容接收设备,其特征在于,根据视频时间戳,当所述时间差比预定时间更短时,所述定时调整部件基于解码器端的系统时钟而输出视频帧。
3.如权利要求1所述的内容接收设备,其特征在于还包括接收部件,该接收部件接收通过使用应当实时工作的UDP(用户数据报协议)而从内容提供设备传送的编码器端的基准时钟,以及计算部件首先将解码器端的系统时钟与编码器端的系统时钟同步,然后计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差。
4.如权利要求1所述的内容接收设备,其特征在于还包括预设部件,该预设部件根据按所提及的次序应用视频时间戳和音频时间戳的预设顺序,通过使用视频时间戳或音频时间戳,预设解码器端的系统时钟,以及计算部件计算由编码器端的基准时钟的时钟频率与已预设的解码器端的系统时钟的时钟频率之间的间隙所引起的时间差。
5.如权利要求1所述的内容接收设备,其特征在于还包括预设部件,用于当所接收的内容仅由音频数据构成时,根据按所提及的次序应用视频时间戳和音频时间戳的预设顺序,通过使用音频时间戳来预设解码器端的系统时钟;以及音频数据输出部件,用于在已预设的系统时钟和音频时间戳的基础上,输出音频帧的音频数据。
6.如权利要求1所述的内容接收设备,其特征在于还包括预设部件,用于当所接收的内容仅由视频数据构成时,根据按所提及的次序应用视频时间戳和音频时间戳的预设顺序,通过使用视频时间戳来预设解码器端的系统时钟;以及视频数据输出部件,用于在已预设的系统时钟和视频时间戳的基础上,输出视频帧的视频数据。
7.一种控制视频-音频输出定时的方法,其特征在于包括解码步骤,首先从在编码器端提供的内容提供设备接收多个编码后的视频帧和多个编码后的音频帧,然后在解码部件中对所述编码后的视频帧和编码后的音频帧进行解码,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于编码器端的基准时钟的音频时间戳;存储步骤,在存储部件中存储通过在解码部件中对所述编码后的视频帧进行解码而获得的多个视频帧、以及通过在解码部件中对所述编码后的音频帧进行解码而获得的多个音频帧;差值计算步骤,在计算部件中计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整步骤,在调整部件中根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
8.一种具有内容提供设备和内容接收设备的内容提供系统,其特征在于,所述内容提供设备包括编码部件,用于生成多个编码后的视频帧和多个编码后的音频帧,其中向所述编码后的视频帧附加了基于编码器端的基准时钟的视频时间戳,并向所述编码后的音频帧附加了基于基准时钟的音频时间戳;以及传送部件,用于向内容接收端顺序地传送所述多个编码后的视频帧和所述多个编码后的音频帧,以及所述内容接收设备包括解码部件,用于从编码器端的内容提供设备接收被附加了视频时间戳的所述多个编码后的视频帧、以及被附加了音频时间戳的所述多个编码后的音频帧,并用于对所述编码后的视频帧和编码后的音频帧进行解码;存储部件,用于存储所述解码部件通过对所述编码后的视频帧进行解码而获得的多个视频帧、以及所述解码部件通过对所述编码后的音频帧进行解码而获得的多个音频帧;计算部件,用于计算由编码器端的基准时钟的时钟频率与解码器端的系统时钟的时钟频率之间的间隙所引起的时间差;以及定时调整部件,用于根据所述时间差、并基于逐一输出所述多个音频帧的定时,调整逐一输出所述多个视频帧的定时。
全文摘要
一种能够通过解码器来精确调整视频和音频之间的声像同步而不会给观众陌生感的系统。接收并解码被添加了视频时间戳(VTS)的多个编码视频帧以及被添加了音频时间戳(ATS)的多个编码音频帧,存储通过解码获得的视频帧(VF1)和音频帧(AF1),通过渲染器(37、67)计算由编码器基准时钟与解码器系统时钟stc之间的差异所引起的时间差,并且,使用当以帧为单位顺序地输出音频帧(AF1)时的音频帧输出定时作为参考,根据该时间差,以帧为单位来调整视频帧(VF1)的视频帧输出定时。由此,可实现声像同步,同时保持声音连续性。
文档编号H04N7/52GK101036389SQ20058003434
公开日2007年9月12日 申请日期2005年8月31日 优先权日2004年9月2日
发明者塚越郁夫, 高田信司, 后藤晃一 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1