CN101156447B - 用于网络设备的同步音频/视频解码 - Google Patents

用于网络设备的同步音频/视频解码 Download PDF

Info

Publication number
CN101156447B
CN101156447B CN200680011393XA CN200680011393A CN101156447B CN 101156447 B CN101156447 B CN 101156447B CN 200680011393X A CN200680011393X A CN 200680011393XA CN 200680011393 A CN200680011393 A CN 200680011393A CN 101156447 B CN101156447 B CN 101156447B
Authority
CN
China
Prior art keywords
signal
value
decoder
clock
local
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.)
Expired - Fee Related
Application number
CN200680011393XA
Other languages
English (en)
Other versions
CN101156447A (zh
Inventor
岩村隆一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Electronics Inc
Original Assignee
Sony Corp
Sony Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Electronics Inc filed Critical Sony Corp
Publication of CN101156447A publication Critical patent/CN101156447A/zh
Application granted granted Critical
Publication of CN101156447B publication Critical patent/CN101156447B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种使网络中的解码器与服务器同步的方法包括:在接收到信标中断信号之后接收一组时间戳和本地时钟信号;基于分别在所述一组时间戳和本地时钟信号中的时间戳和本地时钟信号的值来计算差分时间戳和本地时钟值;判断差分本地时钟值与差分时间戳值是否具有预定关系;并且当差分本地时钟值与差分时间戳值之间不具有预定关系时,向解码器发送时钟速率调节命令信号。时钟速率调节命令信号调节解码器的本地***时钟,以使得随后的差分时钟值与差分时间戳值之间将具有预定关系。当针对网络内的每个解码器执行该方法时,解码器基本被同步,并且解码延迟可以被保持在人类可感知的级别以下。

Description

用于网络设备的同步音频/视频解码
本申请要求2005年4月13日递交的美国临时申请No.60/671,223的优先权,该申请通过引用而被整体上结合于此。
技术领域
这里描述的实施例一般地涉及用于网络设备的同步音频/视频解码。
背景技术
用于沿着媒体网络内的通信链路分发媒体信息(例如视频数据、音频数据等等)的各种方案已被提出。一种媒体网络是电力线(powerline)网络,其本质上使用房屋的AC电线路(即电力线)作为传输媒介。因此,在电力线网络中,网络服务器可以将媒体信息(即一个或多个经编码的数据流)发送到“***”在房屋内的AC电插座内的一个或多个网络客户端。网络客户端接收并解码经编码的数据流,并将经解码的数据流以音频和/或视频格式输出。
传统电力线网络的一个缺陷在于网络客户端不具有同步机制。因此,即使在两个网络客户端同时开始对经编码的数据流解码时,它们之间的延迟也将随时间逐渐增大,这是因为解码器内锁(lock)的振荡器独立工作。如果音频延迟变得大于30毫秒,则会产生不合需要的回声效应(即Haas效应),从而导致用户听到两个音频声调。这种回声效应不合需要地损害用户对环绕立体声音频解码***中播放的音乐的欣赏。解码器时钟内的典型振荡器的精度大于10百万分率(ppm)。一小时是3600秒。因此,10ppm等同于36毫秒。因此,传统的电力线网络将在解码音频数据的一小时内表现出不合需要的Hass效应。
因此,提供适合于同步网络内的解码器的操作的方法和***将是有益的。
发明内容
这里公开的若干实施例通过提供使用于网络设备的音频/视频解码同步的方法和***来有利地满足上述需求以及其他需求。
这里描述的一个示例性实施例提供了一种使网络中的解码器与服务器同步的方法,该方法包括:在接收到由网络服务器发送的信标之后接收一组时间戳信号;在接收到由网络服务器发送的信标之后接收一组本地时钟信号;基于所述一组时间戳信号中的时间戳信号的值来计算差分时间戳值;基于所述一组本地时钟信号中的本地时钟信号的值来计算差分本地时钟值;判断所述差分本地时钟值与所述差分时间戳值之间是否具有预定关系;以及当确定所述差分本地时钟值与所述差分时间戳值之间不具有所述预定关系时,向所述解码器发送时钟速率调节命令信号,所述时钟速率调节命令信号适合于调节所述本地***时钟,以使得随后的差分本地时钟值将与所述差分时间戳值之间具有所述预定关系。所述一组时间戳信号中的每个时间戳信号具有与网络服务器发送的标注了时间戳的信标相对应的值。所述一组本地时钟信号中的每个本地时钟信号具有由与网络客户端的解码器相关联的本地***时钟所生成的值。所述网络服务器适合于在网络上流播(stream)经编码的数据,所述解码器适合于对所述经编码的数据进行解码。
这里描述的另一个示例性实施例提供了一种网络设备,该网络设备包括:网络接口,其适合于接收在网络上发送的经编码的数据;耦合到所述网络接口的解码器,其适合于对接收到的所述经编码的数据进行解码;以及耦合到所述网络接口和所述解码器的处理器。该处理器包含适合于以下操作的电路:在接收到由网络服务器发送的信标之后经由网络接口接收一组时间戳信号;在接收到由网络服务器发送的信标之后接收一组本地时针信号;基于所述一组时间戳信号中的时间戳信号的值来计算差分时间戳值;基于所述一组本地时钟信号中的本地时钟信号的值来计算差分本地时钟值;判断所述差分本地时钟值与所述差分时间戳值之间是否具有预定关系;以及当确定所述差分本地时钟值与所述差分时间戳值之间不具有所述预定关系时,向所述解码器发送时钟速率调节命令信号。所述一组时间戳信号中的每个时间戳信号具有与网络服务器发送的标注了时间戳的信标相对应的值。所述一组本地时钟信号中的每个本地时钟信号具有由与所述解码器相关联的本地***时钟所生成的值。所述时钟速率调节命令信号适合于调节所述本地***时钟,以使得随后的差分本地时钟值将与所述差分时间戳值之间具有所述预定关系。
附图说明
这里描述的若干实施例的以上和其他方面、特征和优点将从以下结合附图提供的更具体描述中变得更加明显。
图1示出一种示例性网络,其中可以实现这里公开的多个实施例;
图2示出示例性网络访问时序图;
图3示出图1所示电视的框图;
图4示出图1所示音频放大器单元的框图;
图5描述了示例性时钟调节过程一个实施例;
图6示出图5所述的比较差分本地时钟值和差分时间戳值以及发送时钟调节信号的示例性实现方式;
图7示出根据图5所述的示例性时钟调节过程的网络客户端的组件之间的示例性传输序列;
图8示出发起经编码数据的解码的示例性过程的一个实施例;
图9描述了在从网络服务器接收到重放数据流时在网络客户端中维持缓冲区占用级别的方法的一个实施例;以及
图10描述了在从网络服务器接收到实时广播数据流时在网络客户端中维持缓冲区占用级别的方法的一个实施例。
贯穿附图中若干视图的相应标号指示相应组件。本领域技术人员将意识到,附图中的元件是为了简化和清晰而示出的,它们不一定按比例绘制。例如,附图中某些元件的尺寸可能相对于其他元件被放大,以帮助提高对这里描述的各个实施例的理解。而且,在商业上可行的实施例中有用或者必要的常见但是公知元件通常不被示出,以免模糊对这里描述的各个实施例的理解。
具体实施方式
以下描述不认为是限制性的,而是仅仅出于描述示例性实施例的一般原理的目的而作出的。本发明的范围应该参考权利要求来确定。
这里公开的多个实施例允许网络内的解码器与网络内的其他解码器同步地解码数据。因此,多个实施例通过基于由网络服务器输出的时间戳调节解码器的***时钟(STC)(即本地STC)来实现基本同步的操作。其他实施例通过调节解码器的缓冲区占用来实现基本同步的操作。通过调节网络内的解码器的STC和/或缓冲区占用,解码器可以基本同步地解码经编码的数据。当这里公开的方法针对网络内的每个解码器被执行时,解码器基本同步,并且解码器之间的解码延迟可以保持在人类可感知的级别之下。
图1示出示例性网络100,其中可以实现这里公开的多个实施例。图1示出电视102、音频放大器单元104、立体声设备106、AC电力线108、线缆输入线110、网络输入线112(例如线缆同轴线或ADLS电话线)、调制解调器114(例如线缆调制解调器、ADSL电话线调制解调器等等)、遥控器116、显示器118和扬声器120、122、124、126、128和130。
电视102、音频放大器单元104和立体声设备106各自连接到AC电力线108。电视102连接到线缆输入线110并且还经由调制解调器114连接到网络输入线112。扬声器120、122、124和126连接到电视102,扬声器128和130连接到音频放大器单元104。在图1所示示例性实施例中,扬声器120、122、124、126、128和130构成环绕立体声***,其中扬声器120是前置低音扬声器,扬声器122、124和126是前置扬声器(例如分别是左、中和右扬声器),并且扬声器128和130是后置扬声器(例如分别是左和右扬声器)。
一般而言,根据多个实施例,电视102适合于从线缆输入线110和/或经由调制解调器114从网络输入线112接收音频和/或视频信号。电视102还适合于处理接收到的视频信号以在显示器118上生成图像,处理接收到的音频信号以在扬声器120、122、124和126处生成声音,并且通过电力线108发送(即流播)接收到的信号的某些部分。
一般而言,根据多个实施例,音频放大器单元104适合于接收通过电力线108传输的经编码的音频信号,解码接收到的音频信号,并且将经解码的音频信号输出到扬声器128和130。类似地,立体声设备106适合于经由电力线108接收来自电视102的经编码的音频信号,对接收到的音频信号解码,并且将经解码的音频信号输出到并入其中的扬声器。立体声设备106还可以适合于经由电力线108向电视102发送回放命令(例如播放、停止、暂停等等)。
如这里所述,网络100是电力线网络(即使用家用电源电力线作为传输音频和视频数据的媒介的网络)。因此,电视102可以充当网络100的网络服务器,音频放大器单元104和立体声设备106可以充当网络100的网络客户端。网络服务器的一般职责包括通过电力线108广播信标,发送(即流播)经编码的音频/视频数据到网络客户端,发送命令(例如开始解码经编码的数据、停止解码经编码的数据等等)到网络客户端,或者协调网络客户端的操作。在一个实施例中,网络客户端和网络服务器的操作是基于信标的广播来协调的。虽然这里针对电力线网络论述实施例,但是将会意识到,网络100可以包括利用信标进行操作的任意其他有线或无线网络。
图2示出示例性网络访问时序图。如图2所示,充当网络服务器的电视102广播信标202a、202b、202c等等。在一个实施例中,电视102周期性地广播信标(例如每隔40毫秒)。因此,每个信标周期的持续时间大约是40毫秒。但是,将会意识到,信标传输不需要是周期性的,只要有足够时间执行下面将描述的时钟调节过程即可。在一个实施例中,每个信标与电力线108的AC线周期(例如50Hz或60Hz)同步地被广播。在一个实施例中,时间戳随每个信标被发送(即被包括在信标内)。信标被基于电视102的***时钟而加注时间戳。在另一实施例中,时间戳与每个信标分开发送。
每个信标周期被划分成无竞争时段和竞争时段。在无竞争时段期间执行同步传输,其中在每个信标周期中预留时隙204a、204b等等,在这些时隙期间不执行其他传输。由电视102流播的经编码的音频/视频数据利用同步传输。在竞争时段期间执行异步传输(例如在206处),其中允许载波侦听多路访问(CSMA)。通常在网络100的服务器和客户端之间传送的命令和文件利用异步传输。
图3示出图1所示电视102的框图。图3示出前述线缆输入线110、遥控器116和扬声器120、122、124和126,除此之外还示出调谐器302、视频模数(AD)转换器304、音频AD转换器306、MPEG编码器308、解复用器310、时钟发生器350、硬盘驱动器(HDD)312、视频解码器314、图形引擎316、混合器318、显示器118、视频数模(DA)转换器320、显示器驱动器322、音频解码器324、4信道音频DA转换器326、4信道放大器328、电力线通信(PLC)接口330、中断线332、内部总线334、处理器336(例如一个或多个CPU)、存储器338、键盘340、以太网接口342、以太网端口344和红外(IR)接口346。虽然未示出,但是视频解码器314和音频解码器324两者都包括本地缓冲区和STC。在一个实施例中,视频解码器314和音频解码器324和/或解复用器310可以集成在单个芯片中。
调谐器302被连接到线缆输入线110,视频AD转换器304和音频AD转换器306各自连接到调谐器302,MPEG编码器308连接到视频AD转换器304和音频AD转换器306,并且解复用器310被连接到MPEG编码器308。HDD 312、视频解码器314、音频解码器324和PLC接口330被连接到解复用器310。混合器318被连接到视频解码器314和图形引擎316,视频DA转换器320被连接到混合器318,显示器驱动器322被连接到视频DA转换器320,并且显示器118被连接到显示器驱动器322。4信道音频DA转换器326被连接到音频解码器324,4信道放大器328被连接到4信道音频DA转换器326,并且扬声器120、122、124和126被连接到4信道放大器328。PLC接口330被连接到电力线108。中断线332将PLC接口330、视频解码器314和音频解码器324与处理器336相连。前述组件中的每一个都可被连接到内部总线334。但是,为了使说明清晰的目的,只有解复用器310、视频和音频解码器314和324各自、PLC接口330、处理器336、存储器338、键盘340、以太网接口342和IR接口346被示为连接到内部总线334。调谐器302调谐并解调来自线缆输入线110的模拟线缆信号。调谐器302的模拟视频输出在视频AD转换器304处被接收并在视频AD转换器304处被转换成数字视频信号。类似地,调谐器302的模拟音频输出在音频AD转换器306处被接收并在音频AD转换器306处被转换成数字音频信号。音频和视频数字输出随后在MPEG编码器308处被接收,在MPEG编码器308处,它们利用MPEG格式被编码并作为经编码的数据流被输出到解复用器310。
时钟发生器350生成前述***时钟。***时钟速率例如是27MHz。***时钟与分别在视频和音频AD转换器304和306处生成的数字或NSTC定时信号同步。***时钟被分发到MPEG编码器308、解复用器310和PLC接口330。
MPEG编码器308进一步将参考时钟(例如***时钟参考(SCR)或程序时钟参考(PCR))以100到700毫秒的间隔嵌入在输出到解复用器310的经编码数据中。***时钟与SCR或PCR同步。传统上,使用SCR/PCR,以便同步解码器STC。但是,在这里公开的***中,未使用SCR/PCR,因为难以利用SCR/PCR同步两个或更多个解码器。无论是否使用SCR/PCR,SCR/PCR都被嵌入在由MPEG编码器308输出的MPEG流中。解码时间戳(DTS)针对每个存取数据单元(例如每个视频帧)被包括进来。DTS被基于***时钟而生成。
PLC接口330广播信标。信标被基于时钟发生器350的***时钟而加注时间戳。因此,时间戳由与数字或NSTC信号同步的时间戳时钟生成,该时间戳时钟具有25MHz的时间戳时钟速率(即网络时钟速率)。
解复用器310从MPEG编码器308接收经编码的数据流,将经编码的数据流解复用成经编码的视频和音频数据流,将经编码的视频流发送到视频解码器314,并且将经编码的音频流的至少一部分发送到音频解码器324。对于音频放大器单元104,解复用器310还将经编码的数据流的至少一部分(例如经编码的音频流的至少一部分)发送到PLC接口330。
在数字线缆广播的情况下,调谐器302将数字流(例如MPEG流)直接输出到解复用器310。SCR/PCR和DTS在广播台站中被嵌入在头端。***时钟与SCR或PCR同步。来自调谐器302的数字流例如可以包括若干TV节目。解复用器310基于来自处理器336的命令过滤出不必要的数据。只有被选择的音频/视频数据被发送到视频解码器314和音频解码器324中的每一个。
视频解码器314以对应于其自己的STC的频率的速率对由解复用器310输出的经编码的视频数据流解码,并将经解码的视频数据流输出到混合器318。视频解码器314中的本地缓冲区存储接收自解复用器310的经编码的数据,直到经编码的数据准备好被解码。经编码的数据在视频解码器314的STC到达DTS指定的时间时被解码。此外,视频解码器314获取存储在本地缓冲区中的经编码的数据的速率依赖于本地STC的频率。混合器318将由视频解码器314输出的经解码的视频数据流与在图形引擎316内生成并由图形引擎316输出的图形数据混合,以生成视频图形数据。视频图形数据例如是电子节目指南表,其允许用户选择要观看或记录的TV节目。视频图形数据随后被视频DA转换器320转换成模拟视频信号。显示器驱动器322接收由视频DA转换器320输出的模拟视频信号并驱动显示器118显示相应的图像。
音频解码器324以对应于其自己的STC的频率的速率对由解复用器310输出的经编码的音频数据流解码,并将经解码的音频数据流输出到4信道音频DA转换器326,在4信道音频DA转换器326处,经解码的音频流被转换成模拟音频信号。音频解码器324内的本地缓冲区存储从解复用器310接收的经编码的数据,直到经编码的数据准备好被解码。经编码的数据在音频解码器324的STC到达DTS指定的时间时被解码。此外,音频解码器324获取存储在本地缓冲区中的经编码的数据的速率依赖于本地STC的频率。4信道放大器328接收由4信道音频DA转换器326输出的模拟音频信号,将音频信号放大,并将经放大的音频信号输出到扬声器120、122、124、126。
PLC接口330从解复用器310接收经编码的数据流的至少一部分,并被适配成经由电力线108发送(即流播)接收到的经编码的数据以及信标和任意其他命令。在一个实施例中,PLC接口330还经由电力线108发送时间戳。
处理器336包含适合于根据存储在存储器338中的一个或多个控制程序来经由内部总线334控制每个前述组件的电路。在一个实施例中,处理器336还适合于控制网络100内的网络客户端的操作。在另一实施例中,处理器336还适合于使得PLC接口330通过电力线108发送信标和时间戳。通过在电力线108上发送时间戳,整个网络100共享公共网络时钟。这里使用的术语“电路”指的是落在这里描述的各个教导的范围内的任意类型的可执行指令,所述可执行指令可以例如作为硬件、固件和/或软件实现。
键盘340适合于被用户操作,并且在被用户操作时,直接发送数据和/或命令到处理器336。前述调制解调器114连接到以太网端口344,并且处理器336经由以太网接口342与调制解调器114通信(例如接收/发送数据)。IR接口346适合于接收例如用户操作遥控器116发送的IR信号并且发送数据和/或命令,例如频道上/下、音量上/下等等。
对于记录,解复用器310将传入流的一部分或全部发送到HDD 312。对于重放,解复用器310接收来自HDD 312的流并对其解复用。如上所述,视频数据被发送到视频解码器314,音频数据被发送到音频解码器324。
图4示出图1所示音频放大器单元104的框图。立体声设备106可以如针对音频放大器单元104所描述那样类似地配置。图4示出PLC接口402、音频解码器404、2信道音频DA转换器406、2信道放大器408、前述扬声器128和130、中断线410、内部总线412、处理器414(例如一个或多个CPU)、存储器416和用户接口(例如按钮接口)418。虽然未示出,但是音频解码器404包括本地缓冲区和***时钟(STC)。在一个实施例中,音频解码器404和2信道音频DA转换器406可被集成到单个芯片内。
PLC接口402被连接到电力线108,音频解码器404被连接到PLC接口402,2信道音频DA转换器406被连接到音频解码器404,2信道放大器408被连接到2信道音频DA转换器406,并且前述扬声器128和130被连接到2信道放大器408。中断线410被连接在PLC接口402、音频解码器404和处理器414之间。存储器416被连接到处理器414。音频解码器404内的本地缓冲区存储从PLC接口402接收的经编码的数据,直到经编码的数据准备好被解码。经编码的数据在音频解码器404的STC到达DTS指定的时间时被解码。此外,音频解码器404接收存储在本地缓冲区中的经编码的数据的速率依赖于本地STC的频率。此外,PLC接口402、音频解码器404、2信道音频DA转换器406、2信道放大器408、处理器414和用户接口418被连接到内部总线412。
PLC接口402接收通过电力线108发送的所有信标、时间戳、命令、数据(例如经编码的音频数据)等等。在PLC接口402处接收的经编码的数据被输出到音频解码器404,在音频解码器404处被以对应于其自己的STC的频率的速率解码。音频解码器404将经解码的音频数据输出到2信道音频DA转换器406,在2信道音频DA转换器406处,经解码的音频数据被转换成模拟音频信号。2信道放大器408接收由2信道音频DA转换器406输出的模拟音频信号,将音频信号放大,并将经放大的音频信号输出到扬声器128和130。
处理器414包含适合于根据存储在存储器416中的一个或多个控制程序经由内部总线412控制每个前述组件的电路。用户接口418适合于被用户操作,并且当被用户操作时直接发送数据和/或命令(例如频道、音量上/下等等)到处理器414。处理器414经由PLC接口402与处理器336交换异步数据(例如命令、数据等等),例如来自遥控器116的命令。
由于网络100包括多个解码器(例如在电视102中的两个和在音频放大器单元104中的一个),因此每个解码器中的每个STC的频率可以根据时钟调节过程被调节,所述时钟调节过程适合于确保解码器彼此基本同步地工作。图5描述了示例性时钟调节过程的一个实施例。
如图5所示,该过程开始于501。在502处,一组时间戳信号例如在音频放大器单元104的处理器414处被接收。时间戳信号标识出包含在已经由电视102广播的信标内的时间戳的值。因此,这组时间戳信号标识出在一段时间期间由电视102的PLC接口330输出的预定数目个信标内包含的或者与这预定数目个信标分开传送的多个时间戳值。
在504处,一组本地时钟信号被从音频解码器404发送并且例如在处理器404处被接收。本地时钟信号标识出在对应于PLC接口402接收到由FLC接口330输出的信标时的时间上存储在例如音频解码器404中的STC值。因此,这组本地时钟信号标识出由音频解码器404的STC存储的多个STC值。
在506处,差分时间戳值例如在音频放大器单元104的处理器414处被计算。在一个实施例中,差分时间戳值对应于由PLC接口330接连发送的一对时间戳之间的差值。例如,差分时间戳值(diff_ts)可以对应于由PLC接口330发送的第n时间戳(timestamp(n))和由PLC接口330发送的第n+1时间戳(timestamp(n+1))之间的差值。在一个实施例中,差分时间戳值(diff_ts)可以根据以下公式来计算:diff_ts=(timestamp(n+1)-timestamp(n))*fstc/fts,其中“fstc”是音频解码器404内的STC的时钟频率(例如27MHz),而“fts”是前述25MHz的时间戳时钟速率。在另一实施例中,差分时间戳值是多对接连输出的时间戳之间的平均差值。例如,差分时间戳值可以对应于第n时间戳和第n+1时间戳之间、第n+2时间戳和第n+3时间戳之间、第n+4时间戳和第n+5时间戳之间等等的平均差值。
在508处,差分本地时钟值例如在处理器414处被计算。在一个实施例中,差分本地时钟值对应于存储在音频解码器404中的一对STC值之间的差值,这对STC值对应于由电视102接连输出的信标。例如,差分本地时钟值(diff_stc)可以对应于存储在音频解码器404中的第n STC值(STC(n))和存储在音频解码器404中的第n+1STC值(STC(n+1))之间的差值。在一个实施例中,差分本地时钟值(diff_stc)可以根据以下公式来计算:diff_stc=STC(n+1)-STC(n)。在另一实施例中,差分本地时钟值是多对接连存储的STC值之间的平均差值。例如,差分本地时钟值可以对应于第n STC值和第n+1 STC值之间、第n+2 STC值和第n+3 STC值之间、第n+4 STC值和第n+5 STC值之间等等的平均差值。
在510处,差分时间戳值和差分本地时钟值例如在处理器414处被比较,以判断差分本地时钟值是否与差分时间戳值之间具有预定关系。在一个实施例中,当差分本地时钟值和差分时间戳值相等或者基本相等(即不是完全相等,但是彼此在某个可允许的范围内)时,差分本地时钟值与差分时间戳值具有预定关系。通过将预定关系定义为当差分本地时钟值和差分时间戳值基本相等时存在,可以防止处理器414在差分本地时钟值和差分时间戳值之间的差值很小时过于频繁地发送调节命令到音频解码器404。
当在510处的比较指示在差分本地时钟值和差分时间戳值之间存在预定关系时(即如果差分本地时钟值和差分时间戳值完全相等,或者如果差分本地时钟值和差分时间戳值在某个允许容限内),不执行调节并且过程返回到502。但是,当在510处的比较指示差分本地时钟值大于差分时间戳值(或者大于差分时间戳值加上某个允许容限)时,音频解码器404中的STC的频率被假设运转得比公共网络时钟的频率要快。相反,当在510处的比较指示差分本地时钟值小于差分时间戳值(或者小于差分时间戳值减去某个允许容限)时,音频解码器404中的STC的频率被假设运转得比公共网络时钟的频率要慢。
在512处,当确定差分本地时钟值与差分时间戳值之间不具有预定关系时,从例如处理器414向音频解码器404的STC发送时钟速率调节命令信号。在一个实施例中,处理器414在电视102发送下一(即随后的)信标之前发送时钟速率调节命令信号。
时钟速率调节命令信号适合于基于510处的比较结果而调节音频解码器404的STC的频率(即增大或减小STC的频率),以便使得差分本地时钟值更靠近差分时间戳值的预定关系或在该预定关系内。在一个实施例中,时钟速率调节命令信号适合于将音频解码器404的STC的频率调节固定的调节量。在另一实施例中,时钟速率调节命令信号适合于根据差分本地时钟值不同于差分时间戳值的程度来将音频解码器404的STC的频率调节多个固定的调节量之一。例如,如果差分本地时钟值和差分时间戳值之间的差值在预定关系之外的预定阈值内,则时钟速率调节命令信号适合于将音频解码器404的STC的频率调节第一固定调节量。例如,预定阈值可以是差分时间戳值的100ppm。如果差值在该值内,则命令可以使得STC频率增大或减小10ppm。但是,如果差分本地时钟值与差分时间戳值之间的差值在预定阈值之外,则时钟速率调节命令信号适合于将音频解码器404的STC的频率调节第二固定调节量,其中第二固定调节量的绝对值大于第一固定调节量的绝对值。例如,如果差值不在100ppm的预定阈值之内,则命令可以使得STC频率增大或减小20ppm。
在513处,判断是否终止解码。如果解码不终止,则该过程返回到502。如果解码终止,则该过程在514处结束。
图6示出如上参考图5所述的比较差分本地时钟值和差分时间戳值以及发送时钟调节信号的示例性实现方式。将会意识到,图6所示的示例性算法可以在信标每次到达解码器时被执行。如图6所示,并且从602前进(例如其中差分本地时钟值和差分时间戳值已经被计算出),在604处,处理器414判断差分时间戳值是否大于差分本地时钟值。如果在604处,处理器414确定差分时间戳值大于差分本地时钟值,则在606处,处理器414发送适合于增大音频解码器404中的STC频率的时钟速率调节命令信号,以便使得差分本地时钟值更靠近差分时间戳值的预定关系或在该预定关系内。该过程在608处结束。
如果在604处处理器414确定差分时间戳值不大于差分本地时钟值,则处理器414在610处判断差分时间戳值是否小于差分本地时钟值。如果在610处处理器414确定差分时间戳值小于差分本地时钟值,则在612处,处理器414发送适合于减小音频解码器404中的STC频率的时钟速率调节命令信号,以便使得差分本地时钟值更靠近差分时间戳值的预定关系或在该预定关系内。
如果在610处处理器414确定差分时间戳值不小于差分本地时钟值,则处理器414假设在差分本地时钟值和差分时间戳值之间存在预定关系。在此情况下,将不执行时钟调节。该过程在608处结束。
图7示出根据图5所述的时钟调节过程在音频放大器单元104的音频解码器404、处理器414和PLC接口402之间的信号的示例性传输序列。如图7所示,并且在702a处,PLC接口402接收由电视102广播的第n信标,生成相应的信标中断信号(即信标中断(n)),并将生成的信标中断信号经由中断线410发送到音频解码器404和处理器414。可替换地,PLC接口402可能将生成的信标中断信号仅发送到处理器414(例如经由内部总线412),并且处理器414可以进而将信标中断信号经由内部总线412转发到音频解码器404。在接收到信标中断信号(信标中断(n))之后,音频解码器404存储STC值(STC(n))。在704a处,处理器414通过向PLC接口402发送时间戳请求信号来响应于接收到的信标中断信号(信标中断(n))。在706a处,PLC接口402通过向处理器414发送时间戳信号(timestamp(n))来响应于时间戳请求信号。但是,在一个实施例中,PLC接口402可以在不响应任何时间戳请求信号的情况下向处理器414发送时间戳信号。时间戳由第n信标运载。在708a处,处理器414通过向音频解码器404发送本地时钟请求信号来进一步响应于接收到的信标中断信号(信标中断(n))。在710a处,音频解码器404通过将存储的本地时钟值STC(n)发送到处理器414来响应于本地时钟请求信号。但是,在一个实施例中,音频解码器404可以在不响应于任何本地时钟请求信号的情况下将存储的本地时钟值STC(n)发送到处理器414。在一个实施例中,在704a和708a处发送的请求信号可以是被广播到PLC接口402和音频解码器404两者的单个请求命令。
如以上参考图5所述,差分时间戳值和差分本地时钟值是基于多组时间戳和本地时钟信号来计算的。因此,当PLC接口402接收到在第n信标之后广播的另一信标(例如第n+1信标)时,PLC接口402在702b处生成相应的信标中断信号(信标中断(n+1))并将其发送到音频解码器404和/或处理器414。在接收到信标中断信号(信标中断(n+1))之后,音频解码器404存储STC值(STC(n+1))。在704b处,处理器414通过向PLC接口402发送时间戳请求信号来响应于接收到的信标中断信号(信标中断(n+1))。在706b处,PLC接口402通过向处理器414发送时间戳信号(timestamp(n+1))来响应于时间戳请求信号。但是,在一个实施例中,PLC接口402可以在不响应于任何时间戳请求信号的情况下向处理器414发送时间戳信号。时间戳被第(n+1)信标运载。在708b处,处理器414通过向音频解码器404发送本地时钟请求信号来进一步响应于接收到的信标中断信号(信标中断(n+1))。在710b处,音频解码器404通过向处理器414发送存储的本地时钟值STC(n+1)来响应于本地时钟请求信号。但是,在一个实施例中,音频解码器404可以在不响应于任何本地时钟请求信号的情况下将存储的本地时钟值STC(n)发送到处理器414。以上在702、704、706、708和710处一般描述的过程可以在接收到随后广播的信标(例如第n+2信标、第n+3信标等等)时按需要重复,直到在处理器414处已经接收到各自包含所需数目的时间戳信号和本地时钟信号的多组时间戳和本地时钟信号为止。在处理器414已经接收到多组时间戳和本地时钟信号之后,按如上针对506和508处描述的方式计算差分时间戳值和差分本地时钟值。差分时间戳值和差分本地时钟值在510处被比较。如果需要时钟调节,则在512处,处理器414发送时钟调节命令到音频解码器404。
虽然已经针对音频解码器404中STC的调节具体描述了时钟调节过程,但是将会意识到,前述参考图5-7所述的过程可以用于调节任意网络客户端的解码器中的任意STC。此外,前述参考图5-7所述的过程可以用于调节网络服务器的解码器(例如视频解码器314和/或音频解码器324)中的一个或多个STC。在此情况下,PLC接口330生成信标中断信号并将其分别发送到视频和音频解码器314和324,并且无论何时信标通过电力线108被发送,其都将经由中断线332发送到处理器336。
以上参考图5-7描述的过程被针对处理器336测量的预定时间量(例如大约300毫秒)而重复,此后,处理器336假设网络内的解码器的差分本地时钟值和差分时间戳值之间存在预定关系。因此,当网络100中的所有解码器的STC被如上所述调节时,网络100内的所有解码器(包括那些在网络客户端和网络服务器内的解码器)的STC基本彼此同步。一旦解码器被假定基本同步,网络内的每个解码器的STC的频率就基本相同,并且各个解码器(例如解码器314、324和404)可以在彼此之间没有显著延迟的情况下基本同步地解码由MPEG编码器308编码的数据。
在一个实施例中,经编码的数据在预定时间量过去之前被从电视102发送到各个解码器314、324和404。在一个实施例中,经编码的数据在解码器启动解码之前的预定时间量期间被从电视102发送到各个解码器314、324和404。因此,经编码的数据可以在每个解码器314、324和404的本地缓冲区中被累积。示例性的解码启动过程被在这里参考图8描述,该解码启动过程适合于确保网络100中的解码器基本同时启动对经编码数据的解码。
如图8所示,该解码启动过程开始于802(例如,在处理器336确定前述预定时间量已经过去之后)。在804处,处理器414判断是否已经接收到解码启动信号。在一个实施例中,解码启动信号适合于使得音频解码器404在出现预定条件时对已经从PLC接口402发送的经编码的数据进行解码。预定条件例如可以对应于PLC接口402处信标的接收,其使得PLC接口402生成并通过中断线410发送信标中断信号。因此,可以使得音频解码器404在电视102发送信标之后对经编码的数据进行解码。在一个实施例中,解码启动信号可以由处理器336生成,并经由内部总线334被发送到PLC接口330。PLC接口330随后将解码启动信号通过电力线108发送到PLC接口402,在PLC接口402处,解码启动信号随后经由内部总线412被转发到处理器414。如果在804处接收到解码启动信号,则处理器414将解码启动信号经由内部总线412发送到音频解码器404,并且过程继续到806。在806处,如果PLC接口402接收到通过电力线108发送的信标,则PLC通过中断线410发送信标中断信号。在808处,已经从处理器414接收到解码启动信号的音频解码器404通过解码经编码的数据来响应于由PLC接口402发送的信标中断信号。
虽然以上是针对在音频解码器404处启动解码来具体描述所述过程的,但是,将会意识到,前述参考图8所述过程可以用于在任意网络客户端的任意解码器处启动解码。此外,前述参考图8所述过程可以用于在网络服务器的一个或多个解码器(例如视频解码器314和/或音频解码器324)处启动解码。在此情况下,处理器336还将前述解码启动信号经由内部总线334分别直接发送到视频和音频解码器314和324。此外,如上所述,无论何时信标被其发送,PLC接口330都可以生成信标中断信号并将其经由中断线332分别发送到视频和音频解码器314和324。
因此,当解码启动信号被如上所述发送到网络100中的所有解码器时,网络100中的解码器可以基于信标在电力线108上的广播来基本同时(即没有延迟)启动对经编码数据的解码。此外,由于网络100中的每个解码器基本同步,因此经解码的数据被基本同步地呈现给用户(例如经由显示器118和/或扬声器120、122、124、126、128和/或130)。前述时钟调节过程在解码器解码经编码的数据的同时被执行,以确保网络中的解码器内的STC维持基本同步的操作。时钟调节过程不会不利地影响解码器解码经编码数据的能力。
如上所述,网络100内的每个解码器的STC频率在已经执行了上述时钟调节过程后被假定为基本相同。在一个实施例中,本地缓冲区中的第一SCR/PCR(相同值)被设置为网络100中的每个解码器的STC。在另一实施例中,网络100中的每个解码器的STC可以被设置为特定预设值。为了设置网络中的每个解码器的STC,处理器336可以生成STC预设命令信号并将STC预设命令信号发送到网络100中的解码器(例如经由内部总线334分别发送到视频和音频解码器314和324,并且经由PLC接口330和PLC接口402发送到音频解码器404)。在一个实施例中,STC预设命令信号适合于在出现预定条件时将解码器的STC设置为特定预设值。所述预定条件例如可以对应于信标从PLC接口330的发送,从而使得PLC接口330生成相应的信标中断信号,并将该信标中断信号通过中断线332分别发送到视频和音频解码器314和324。因此,解码器的STC可以在由电视102发送信标之后被设置为特定预设值。一旦设置了预设值,每个STC就开始计数。在一个实施例中,每个STC在STC预设命令被接收时被预设,每个STC在解码启动信号被接收时开始计数,并且随后发生下一信标中断。
因此,STC预设命令信号可以从处理器336经由内部总线334被分别直接发送到视频和音频解码器314和324,并被发送到网络客户端的解码器。例如,处理器可以将STC预设命令信号经由内部总线334发送到PLC接口330。PLC接口330随后可以将STC预设命令信号通过电力线108发送到网络客户端内的解码器。PLC接口402可以接收从电视102输出的STC预设命令信号,并且随后将接收到的STC预设命令信号经由内部总线412输出到处理器414。处理器414随后可以将STC预设命令信号经由内部总线412发送到音频解码器404。当在PLC接口402处接收到信标时,信标中断信号经由中断线410被发送到音频解码器404。类似地,当从PLC接口330发送信标时,PLC接口将信标中断信号经由中断线332分别发送到视频和音频解码器314和324。
当STC预设命令信号被如上所述发送到网络100中的所有解码器时,网络100中的解码器的STC的STC值可以基于信标在电力线108上的广播而被彼此基本同时地设置为特定预设值。此外,由于网络100中的解码器的STC频率基本相同,因此网络中的每个解码器的STC值基本同步地递增。
当存储在HDD 312中的数据被重放时,存在两种传输方式。一是同步传输,其中PCR和SCR被嵌入在流中。每个数据分组被注入,以使得PCR或SCR与网络服务器(例如电视102)中的***时钟同步。原始分组间隔将被重建。所有耦合到电力线108的解码器被与***时钟同步,以使得每个解码器中的本地缓冲区决不会出现上溢或下溢。另一种方式是异步传输。异步传输不仅被用于MPEG流,还被用于不包括时间戳的固定速率流,例如线性PCM音频流。存储在HDD 312中的数据被发送到每个解码器(例如解码器314、324和404),从而使得每个解码器中的本地缓冲区不会出现上溢或下溢。以下机制用于保持每个本地缓冲区的适当的占用级别。
图9描述了示例性方法的一个实施例,利用该方法,可以将从网络服务器接收到重放数据的网络客户端的解码器内的缓冲区占用级别维持在预定范围内。如图9所示,该过程开始于902,其中例如音频解码器404已经开始对从PLC接口402接收的重放数据进行解码。当音频解码器404解码重放数据时,处理器414监视本地缓冲区的缓冲区占用(即存储在本地缓冲区中的重放数据的量)。在904处,处理器414通过将当前缓冲区占用与预定范围的上限阈值(例如总缓冲区占用的80%)相比较来监视本地缓冲区的缓冲区占用。如果当前缓冲区占用超过上限阈值,则过程继续到906,其中处理器414生成数据流控制命令信号(即停止命令)并将其经由内部总线412发送到PLC接口402。PLC接口402随后将停止命令通过电力线108发送到电视102。
在一个实施例中,从音频放大器单元104发送的停止命令适合于防止重放数据被从电视102发送到当前从电视102接收重放数据的音频放大器单元104和任意其他网络客户端(例如立体声设备106)。换言之,停止命令适合于改变网络服务器(例如电视102)的当前数据流播特性。因此,PLC接口330接收发送的停止命令并将其转发到处理器336。在接收到停止命令之后,处理器336输出适合于防止从PLC接口402向音频放大器单元104和任意其他网络客户端发送重放数据的控制信号。在一个实施例中,处理器336可以将这样的控制信号经由内部总线334发送到PLC接口330,并且其随后被广播到网络100中的所有解码器。因此,在906处,电视102在停止命令被从音频放大器单元104发送之后停止向音频放大器单元104(以及任意其他网络客户端)发送重放数据。
接下来,在908处,处理器414判断重放是否停止。当用户从遥控器116发送停止命令时,命令通过电力线108被发送到处理器414。在此情况下,过程前进到916并且流播终止。如果处理器414没有从遥控器116接收到停止命令,则处理器414在910处等待预定时间量(例如10毫秒),随后在904处恢复对本地缓冲区的缓冲区占用的监视。如果在904处确定当前缓冲区占用不大于上限阈值,则过程继续到912,其中处理器414通过将当前缓冲区占用与预定范围的下限阈值(例如总缓冲区占用的20%)相比较来监视本地缓冲区的缓冲区占用。
如果在912处确定当前缓冲区占用小于下限阈值,则过程继续到914,其中处理器414生成数据流控制命令信号(即重启命令)并将其经由内部总线412发送到PLC接口402。PLC接口402随后将重启命令通过电力线108发送到电视102。
在一个实施例中,从音频放大器单元104发送的重启命令适合于使得重放数据能够被从电视102发送到当前不从电视102接收重放数据的音频放大器单元104和任意其他网络客户端(例如立体声设备106)。换言之,重启命令适合于改变网络服务器(例如电视102)的当前数据流播特性。因此,PLC接口330接收发送的重启命令并将其转发到处理器336。以类似于上述过程的方式,处理器336在接收到重启命令之后输出适合于使得从PLC接口402向音频放大器单元104(和任意其他网络客户端)发送重放数据的控制信号。随后,过程前进到908并且处理器414确定是否终止流播。当处理器414终止流播时,过程在916处结束。当处理器414不终止流播时,过程在910处等待一定时间并且返回到前述904。
如上所述,数据流控制命令信号适合于控制每个解码器的本地缓冲区占用。通过发送停止命令,可以防止从电视102发送重放数据。因此,当音频解码器404在其本地缓冲区中接收到新的重放数据时,其本地缓冲区的缓冲区占用最终减小到低于上限阈值的级别。此外,通过发送重启命令,使得电视102能够恢复重放数据到音频放大器单元104的流播。因此,当电视102向音频解码器404发送重放数据时,其本地缓冲区的缓冲区占用最终被提高到大于下限阈值的级别。通过重复地发送适当的数据流控制命令信号,缓冲区占用可被维持在上限和下限阈值之间,从而确保缓冲区占用不会出现上溢或下溢。本地缓冲区中的经编码的数据基于与网络时钟同步的STC被独立解码。
虽然在上面已经针对维持音频放大器单元104的音频解码器404中的缓冲区占用具体描述了该过程,但是将会意识到,前述参考图9所述的过程可以用于维护任意网络客户端中的任意解码器内的缓冲区占用。此外,前述参考图9所述的过程可以用于维护网络服务器中的一个或多个解码器(例如视频解码器314和/或音频解码器324)内的缓冲区占用。在此情况下,处理器336仅仅基于视频解码器314和音频解码器324各自的缓冲区占用级别来防止或者允许从HDD 312向视频解码器314和/或音频解码器324发送数据。处理器336可以从两个或者更多个解码器接收数据流控制命令。即使某些解码器的缓冲区占用没有超出范围,也可以停止或重传数据。由于所有解码器是同步的,因此这不是问题。当另一解码器下溢(上溢)时,没有解码器可能上溢(下溢)。
当实时模拟或数字广播数据被解码时,由时钟发生器350生成的***时钟与传入流同步。网络时钟与***时钟同步。由于所有解码器都被锁定到网络时钟,因此不会发生同步问题。该机制在服务器重新分发两个或更多个独立的流时不适用。网络时钟可以与仅一个流同步。其他流将失去同步。图10描述了当网络时钟不与将发送的流同步时用于同步解码器的方法。在该方法中,从网络服务器接收广播数据的网络客户端的解码器内的缓冲区占用级别可被维持在预定范围内。如图10所示,该过程开始于1002,其中例如音频解码器404已经开始解码从PLC接口402接收的广播数据。当音频解码器404解码广播数据时,处理器414监视本地缓冲区的缓冲区占用(即存储在本地缓冲区中的广播数据的量)。
在1004处,处理器414通过将当前缓冲区占用与预定范围的上限阈值(例如总缓冲区占用的80%)相比较来监视本地缓冲区的缓冲区占用。如果当前缓冲区占用超过上限阈值,则过程继续到1006,其中处理器414生成时钟速率控制命令信号(即加速命令)并将其经由内部总线412发送到PLC接口402。PLC接口402随后将加速命令通过电力线108发送到电视102。
在一个实施例中,在1006处从音频放大器单元104发送的加速命令适合于使得处理器336生成时钟调节率R,该时钟调节率R随后可被用于增大当前从电视102接收广播数据的音频解码器404和任意其他网络客户端(例如立体声设备106)的解码器中的STC的频率。因此,PLC接口330接收加速命令并将其转发到处理器336。
在1006处接收到加速命令之后,处理器336生成包含时钟调节率R的时钟率调节信号,其适合于增大音频放大器单元104和任意其他网络客户端的音频解码器404中的STC的频率。在此情况下,时钟调节率R大于1(例如1.0001,指示STC频率增大+100ppm)。时钟率调节信号随后经由内部总线334被从处理器336发送到PLC接口330。随后,PLC接口330通过电力线108广播时钟率调节信号,其中该信号被PLC接口402所接收并被发送到处理器414。
处理器414随后在对音频放大器单元104执行时钟调节过程时从时钟率调节信号获得时钟调节率R。随后利用获得的时钟调节率R对音频解码器404的STC执行时钟调节过程,如图5所示。例如,处理器414使用获得的时钟调节率R在506处根据以下公式计算差分时间戳值:diff_ts=R*(timestamp(n+1)-timestamp(n))*fstc/fts。当在510处的比较指示在差分本地时钟和差分时间戳值之间存在预定关系时,在510处的比较将指示差分本地时钟值小于差分时间戳值。因此,在512处发送的时钟速率调节命令信号将增大音频解码器404的STC的频率,以使得差分本地时钟值更靠近差分时间戳值的预定关系或在该预定关系之内。
接下来,在1008处,处理器414判断流播是否停止。当用户从遥控器116发送停止命令时,该命令通过电力线108被发送到处理器414。在此情况下,过程前进到1010并且流播终止。如果处理器414没有从遥控器116接收到停止命令,则处理器414在1012处等待预定时间量(例如10毫秒),随后在1004处恢复对本地缓冲区的缓冲区占用的监视。如果在1004处确定当前缓冲区占用不大于上限阈值,则过程继续到1014,其中处理器414通过将当前缓冲区占用与预定范围的下限阈值(例如总缓冲区占用的20%)相比较来监视本地缓冲区的缓冲区占用。如果当前缓冲区占用小于下限阈值,则过程继续到1016,其中处理器414生成数据流控制命令信号(即减速命令)并将其经由内部总线412发送到PLC接口402。PLC接口402随后将减速命令通过电力线108发送到电视102。
在一个实施例中,在1016处从音频放大器单元104发送的减速命令适合于使得处理器336生成时钟调节率R,该时钟调节率R随后可被用于减小当前从电视102接收广播数据的音频解码器404和任意其他网络客户端(例如立体声设备106)的解码器中的STC的频率。因此,PLC接口330接收发送的减速命令并将其转发到处理器336。
当接收到在1016处生成的减速命令之后,处理器336生成包含时钟调节率R的时钟率调节信号,其适合于减小音频放大器单元104的音频解码器404和任意其他网络客户端中的STC的频率。在此情况下,时钟调节率R小于1(例如0.9999,指示STC频率减小-100ppm)。时钟率调节信号随后被从处理器336经由内部总线334发送到PLC接口330。随后,PLC接口330在电力线108上广播时钟率调节信号,其中该时钟率调节信号被PLC接口402接收并被发送到处理器414。
随后在针对音频放大器单元104执行时钟调节过程时,处理器414从时钟率调节信号获得时钟调节率R。随后利用获得的时钟调节率R对音频解码器404的STC执行时钟调节过程,如图5所示。例如,处理器414使用获得的时钟调节率R根据以下公式在506处计算差分时间戳值:diff_ts=R*(timestamp(n+1)-timestamp(n))*fstc/fts。当在510处的比较指示在差分本地时钟和差分时间戳值之间存在预定关系时,在510处的比较将指示差分本地时钟值大于差分时间戳值。因此,在512处发送的时钟速率调节命令信号将减小音频解码器404的STC的频率,以使得差分本地时钟值更靠近差分时间戳值的预定关系或在该预定关系之内。如果在1014处确定当前缓冲区占用小于下限阈值(或在已经根据1016发送减速命令之后),过程继续到1008。
如上所述,时钟速率控制命令信号适合于控制每个解码器的本地缓冲区占用。通过发送适合于增大音频解码器404的STC的频率的加速命令,音频解码器404获取和解码存储在其本地缓冲区中的广播数据的速率可以被增大。结果,本地缓冲区的缓冲区占用可以最终减小到低于上限阈值的级别。此外,通过发送适合于减小音频解码器404的STC的频率的减速命令,音频解码器404获取和解码存储在其本地缓冲区中的广播数据的速率可以被减小。结果,本地缓冲区的缓冲区占用可以最终增大到高于下限阈值的级别。通过重复地发送适当的时钟速率控制命令信号,解码器中的STC的频率可以被增大或减小,以维持缓冲区占用在上限和下限阈值之间,从而确保缓冲区占用不会出现上溢或下溢。
虽然已经针对维持音频放大器单元104的音频解码器404中的缓冲区占用具体描述了该过程,但是将会意识到,前述参考图10所述的过程可以用于维持任意网络客户端的任意解码器中的缓冲区占用。此外,前述参考图10所述的过程可以用于维持网络服务器的一个或多个解码器(例如视频解码器314和/或音频解码器324)内的缓冲区占用。在此情况下,当分别针对视频和音频解码器314和324执行时钟调节过程时,处理器336仅仅并入时钟调节率R来计算差分时间戳值。处理器336可以从两个或更多个解码器接收时钟速率控制命令信号。即使某些解码器的缓冲区占用没有超出范围,时钟速率也可以被调节。因为所有解码器都是同步的,因此这不成问题。当另一解码器下溢(上溢)时,没有解码器可能上溢(下溢)。
在一个实施例中,网络服务器(即电视102)可以基于时钟调节率R来调节其自己的***时钟(即网络时钟)。在此情况下,没有加速/减速命令被发送到客户端。客户端时钟与利用时钟调节率R调节的网络时钟同步。
虽然已经借助特定实施例、示例及其应用描述了这里公开的本发明,但是在不脱离由权利要求书给出的本发明的范围的情况下,本领域技术人员可以执行多种修改和变换。

Claims (9)

1.一种使网络中的解码器与服务器同步的方法,包括:
接收一组时间戳信号,其中所述一组时间戳信号中的每个时间戳信号具有与网络服务器发送的标注了时间戳的信标相对应的值,所述网络服务器适合于在网络上流播经编码的数据;
接收一组本地时钟信号,其中所述一组本地时钟信号中的每个本地时钟信号具有由与网络客户端的解码器相关联的本地***时钟所生成的值,所述解码器适合于对所述经编码的数据进行解码;
基于所述一组时间戳信号中的时间戳信号的值来计算差分时间戳值;
基于所述一组本地时钟信号中的本地时钟信号的值来计算差分本地时钟值;
判断所述差分本地时钟值与所述差分时间戳值是否完全相等或者在允许容限内;以及
当确定所述差分本地时钟值与所述差分时间戳值不是完全相等或者在允许容限内时,向所述解码器发送时钟速率调节命令信号,所述时钟速率调节命令信号适合于调节所述本地***时钟,以使得随后的差分本地时钟值将与所述差分时间戳值完全相等或者在允许容限内。
2.如权利要求1所述的方法,还包括:
从与所述网络客户端相关联的网络接口接收信标中断信号,所述信标中断信号是在接收到由所述网络服务器发送的信标之后由所述网络接口生成的,其中
所述一组时间戳信号中的每个时间戳信号是从所述网络接口接收的,并且具有与信标中断信号相对应的值。
3.如权利要求1所述的方法,还包括:
从与所述网络客户端相关联的网络接口接收信标中断信号,所述信标中断信号是在接收到由所述网络服务器发送的信标之后由所述网络接口生成的,其中
所述一组本地时钟信号中的每个本地时钟信号是从所述本地***时钟接收的,并且具有与信标中断信号相对应的值。
4.如权利要求1所述的方法,还包括:
在由所述网络服务器输出预定数目的信标的时间段内接收所述一组时间戳信号和所述一组本地时钟信号;以及
在经过所述时间段之后输出信标之前,将所述时钟速率调节命令信号发送到所述解码器。
5.如权利要求1所述的方法,其中所述时钟速率调节命令信号适合于在所述差分本地时钟值小于所述差分时间戳值时增大所述本地***时钟的频率。
6.如权利要求1所述的方法,其中所述时钟速率调节命令信号适合于在所述差分本地时钟值大于所述差分时间戳值时减小所述本地***时钟的频率。
7.如权利要求1所述的方法,还包括:
接收***时钟预设命令信号;以及
将所述***时钟预设命令信号发送到所述本地***时钟,所述***时钟预设命令信号适合于在由所述网络服务器发送信标之后将所述本地***时钟设置到特定预设值。
8.如权利要求1所述的方法,还包括:
在发送所述时钟速率调节命令信号之后接收解码启动信号;以及
将所述解码启动信号发送到所述解码器,其中所述解码启动信号适合于使得所述解码器在由所述网络服务器发送信标之后对所述经编码的数据进行解码。
9.如权利要求1所述的方法,还包括:
在所述解码器对在所述解码器的本地缓冲区中的经编码的数据进行解码时,判断所述本地缓冲区的缓冲区占用是否在总缓冲区占用的预定范围内;以及
当确定所述缓冲区占用在所述预定范围之外时,向所述网络服务器发送数据流控制命令信号,所述数据流控制命令信号适合于改变所述网络服务器的当前数据流播特性。
CN200680011393XA 2005-04-13 2006-04-11 用于网络设备的同步音频/视频解码 Expired - Fee Related CN101156447B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67122305P 2005-04-13 2005-04-13
US60/671,223 2005-04-13
US11/386,526 US8238376B2 (en) 2005-04-13 2006-03-20 Synchronized audio/video decoding for network devices
US11/386,526 2006-03-20
PCT/US2006/013706 WO2006113283A2 (en) 2005-04-13 2006-04-11 Synchronized audio/video decoding for network devices

Publications (2)

Publication Number Publication Date
CN101156447A CN101156447A (zh) 2008-04-02
CN101156447B true CN101156447B (zh) 2010-05-19

Family

ID=37108405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680011393XA Expired - Fee Related CN101156447B (zh) 2005-04-13 2006-04-11 用于网络设备的同步音频/视频解码

Country Status (7)

Country Link
US (1) US8238376B2 (zh)
EP (1) EP1869884A4 (zh)
JP (1) JP5068744B2 (zh)
KR (1) KR101228177B1 (zh)
CN (1) CN101156447B (zh)
CA (1) CA2603978A1 (zh)
WO (1) WO2006113283A2 (zh)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4555072B2 (ja) * 2002-05-06 2010-09-29 シンクロネイション インコーポレイテッド ローカライズされたオーディオ・ネットワークおよび関連するディジタル・アクセサリ
EP1465187A1 (en) * 2003-04-02 2004-10-06 Deutsche Thomson-Brandt Gmbh Method for controlling an optical pick-up for reading data streams for simultaneous reproduction
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
WO2005090486A2 (en) * 2004-03-15 2005-09-29 Cabot Corporation Surface modified carbon products and their applications
KR100669034B1 (ko) * 2005-05-20 2007-01-15 주식회사 엔터기술 디지털 오디오 재생 장치 및 이를 이용한 재생 방법
US20070025266A1 (en) * 2005-07-27 2007-02-01 Neal Riedel Communicating schedule and network information in a powerline network
US8553706B2 (en) * 2005-07-27 2013-10-08 Coppergate Communications Ltd. Flexible scheduling of resources in a noisy environment
US8737420B2 (en) * 2005-07-27 2014-05-27 Sigma Designs Israel S.D.I. Ltd. Bandwidth management in a powerline network
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
US8014806B2 (en) * 2006-09-29 2011-09-06 Motorola Mobility, Inc. Dynamic creation of a communication group that includes contacts identified in one or more contact levels
CN101536517B (zh) * 2006-11-06 2011-08-31 松下电器产业株式会社 接收机
US8214453B2 (en) * 2007-03-14 2012-07-03 Steven Charles Estes Concept and associated device enabling multi-camera video and audio recording for synchronization with long term ambulatory electroencephalography (EEG) in the home, office, or hospital environment
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
EP2195743A2 (en) * 2007-10-12 2010-06-16 Rony Zarom System and method for synchronized video sharing
US8788589B2 (en) * 2007-10-12 2014-07-22 Watchitoo, Inc. System and method for coordinating simultaneous edits of shared digital data
US7680154B2 (en) * 2007-12-31 2010-03-16 Intel Corporation Methods and apparatus for synchronizing networked audio devices
JPWO2009130905A1 (ja) * 2008-04-25 2011-08-11 パナソニック株式会社 通信端末装置及び通信方法
TWI358219B (en) * 2008-05-21 2012-02-11 Ra Link Technology Corp Method for scheduling wireless network packet and
US9559867B2 (en) 2008-05-30 2017-01-31 Google Technology Holdings LLC Contact group dynamics in networked communication devices
CN101674174B (zh) * 2008-09-12 2013-06-05 华为技术有限公司 一种提高时钟稳定度的方法及设备
KR101535827B1 (ko) * 2008-12-05 2015-07-27 삼성전자주식회사 무선 통신 네트워크에서 오디오 및 비디오 동기화 장치 및 방법
JP5279122B2 (ja) * 2008-12-19 2013-09-04 パナソニック株式会社 通信方法、通信装置、および通信システム
US9325789B2 (en) * 2009-02-17 2016-04-26 International Business Machines Corporation Distributed server election with imperfect clock synchronization
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
CN101656807B (zh) * 2009-09-08 2012-07-04 中兴通讯股份有限公司 一种网络电话发送端的语音控制方法及网络电话发送终端
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
TW201328205A (zh) * 2011-12-23 2013-07-01 Hon Hai Prec Ind Co Ltd 音頻設備轉接器
CN102740131B (zh) * 2012-07-09 2015-12-02 深圳市香江文化传播有限公司 基于实时传输协议的网络电视直播方法及***
US9237116B2 (en) * 2013-09-12 2016-01-12 Cisco Technology, Inc. Network system time domain re-stamping
CN103905880A (zh) * 2014-03-13 2014-07-02 北京奇艺世纪科技有限公司 音视频数据的播放方法、智能电视和移动设备
US9641576B2 (en) 2014-07-11 2017-05-02 Amazon Technologies, Inc. Dynamic locale based aggregation of full duplex media streams
US20160150008A1 (en) * 2014-11-25 2016-05-26 Google Inc. Clock synchronization using wifi beacons
JP2016126037A (ja) * 2014-12-26 2016-07-11 ソニー株式会社 信号処理装置、および信号処理方法、並びにプログラム
US9986519B2 (en) * 2015-03-04 2018-05-29 Texas Instruments Incorporated Synchronization by difference between link layer and processor time stamps
US9935685B2 (en) * 2015-05-28 2018-04-03 Qualcomm Incorporated DC power line synchronization for automotive sensors
GB2540946B (en) 2015-07-31 2019-12-11 Imagination Tech Ltd Estimating processor load
GB2535819B (en) * 2015-07-31 2017-05-17 Imagination Tech Ltd Monitoring network conditions
GB2540947B (en) 2015-07-31 2017-09-20 Imagination Tech Ltd Identifying network conditions
US10855741B2 (en) * 2015-08-06 2020-12-01 Sensormatic Electronics, LLC System and method for multiplexed video stream decoding in web browser
CN105187754B (zh) * 2015-08-31 2018-09-14 浙江宇视科技有限公司 一种缓存补录方法和装置
US9798515B1 (en) 2016-03-31 2017-10-24 Bose Corporation Clock synchronization for audio playback devices
US10541005B2 (en) * 2017-05-17 2020-01-21 Cypress Semiconductor Corporation Distributed and synchronized control system for environmental signals in multimedia playback
CN108965777B (zh) * 2017-08-28 2020-07-17 视联动力信息技术股份有限公司 一种回声消除方法和装置
US10572534B2 (en) 2018-07-06 2020-02-25 Blaine Clifford Readler Distributed coordinated recording
WO2020164820A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization
WO2020164818A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt for multilevel virtualization
TWI759677B (zh) 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
EP3924819A1 (en) 2019-02-14 2021-12-22 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
TWI727607B (zh) 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
WO2020165666A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization with blocking indicator
WO2020164935A1 (en) * 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization with running indicator
TWI764082B (zh) 2019-02-14 2022-05-11 美商萬國商業機器公司 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品
KR20230095712A (ko) * 2021-12-22 2023-06-29 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
CN1232587A (zh) * 1996-09-23 1999-10-20 普罗克西姆公司 优化一媒体访问控制协议的方法和设备
US6347084B1 (en) * 1998-05-28 2002-02-12 U.S. Philips Corporation Method of timestamp synchronization of a reservation-based TDMA protocol
US6654956B1 (en) * 2000-04-10 2003-11-25 Sigma Designs, Inc. Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862140A (en) * 1995-11-21 1999-01-19 Imedia Corporation Method and apparatus for multiplexing video programs for improved channel utilization
US5930252A (en) * 1996-12-11 1999-07-27 International Business Machines Corporation Method and apparatus for queuing and triggering data flow streams for ATM networks
US5778218A (en) * 1996-12-19 1998-07-07 Advanced Micro Devices, Inc. Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates
CN100576827C (zh) * 2000-07-26 2009-12-30 汤姆森特许公司 异步数字家庭网络中的多媒体抖动消除的方法和装置
US6577231B2 (en) * 2001-04-03 2003-06-10 Thomson Licensing Sa Clock synchronization over a powerline modem network for multiple devices
GB2375014A (en) * 2001-04-27 2002-10-30 Ericsson Telefon Ab L M Neighbour discovery in a communication network
JP4025113B2 (ja) 2001-04-27 2007-12-19 松下電器産業株式会社 無線伝送装置
US7043651B2 (en) * 2001-09-18 2006-05-09 Nortel Networks Limited Technique for synchronizing clocks in a network
US20040006484A1 (en) * 2001-11-13 2004-01-08 Manis Constantine N. Method and system for media content data distribution and consumption
US7191355B1 (en) * 2002-02-19 2007-03-13 Nortel Networks Limited Clock synchronization backup mechanism for circuit emulation service
GB2385684A (en) * 2002-02-22 2003-08-27 Sony Uk Ltd Frequency synchronisation of clocks
JP3922047B2 (ja) 2002-02-26 2007-05-30 ソニー株式会社 データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
US7151945B2 (en) * 2002-03-29 2006-12-19 Cisco Systems Wireless Networking (Australia) Pty Limited Method and apparatus for clock synchronization in a wireless network
US20050166135A1 (en) * 2004-01-05 2005-07-28 Burke David G. Apparatus, system and method for synchronized playback of data transmitted over an asynchronous network
JP4977950B2 (ja) * 2004-02-04 2012-07-18 セイコーエプソン株式会社 マルチ画面映像再生システム、映像再生方法及び表示装置
US20050273833A1 (en) * 2004-05-14 2005-12-08 Nokia Corporation Customized virtual broadcast services
US7668243B2 (en) * 2004-05-18 2010-02-23 Texas Instruments Incorporated Audio and video clock synchronization in a wireless network
US20060013407A1 (en) * 2004-07-19 2006-01-19 Peavey Hartley D Methods and apparatus for sound compensation in an acoustic environment
US7551606B2 (en) * 2004-08-20 2009-06-23 Sony Corporation Isochronous transmission for IP-oriented network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
CN1232587A (zh) * 1996-09-23 1999-10-20 普罗克西姆公司 优化一媒体访问控制协议的方法和设备
US6347084B1 (en) * 1998-05-28 2002-02-12 U.S. Philips Corporation Method of timestamp synchronization of a reservation-based TDMA protocol
US6654956B1 (en) * 2000-04-10 2003-11-25 Sigma Designs, Inc. Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data

Also Published As

Publication number Publication date
CA2603978A1 (en) 2006-10-26
KR20080007577A (ko) 2008-01-22
US8238376B2 (en) 2012-08-07
EP1869884A4 (en) 2013-01-23
WO2006113283A3 (en) 2007-10-04
JP5068744B2 (ja) 2012-11-07
US20060233203A1 (en) 2006-10-19
EP1869884A2 (en) 2007-12-26
WO2006113283A2 (en) 2006-10-26
JP2008537409A (ja) 2008-09-11
CN101156447A (zh) 2008-04-02
KR101228177B1 (ko) 2013-01-30

Similar Documents

Publication Publication Date Title
CN101156447B (zh) 用于网络设备的同步音频/视频解码
US20220303599A1 (en) Synchronizing Program Presentation
US7672465B2 (en) System and method for synchronization using GPS in home network
US8028097B2 (en) System and method for synchronizing audio-visual devices on a power line communications (PLC) network
CN105453580B (zh) 接收方法、发送方法、接收装置及发送装置
JP3925311B2 (ja) データ配信システム
EP1424827B1 (en) Method and system for disaggregating audio/visual components
JP4184397B2 (ja) 映像音声処理システムおよびその制御方法、音声処理システム、映像音声処理システム制御プログラム、ならびに該プログラムを記録した記録媒体
US7738499B2 (en) Audio/video synchronizing system and monitor apparatus
JP3402177B2 (ja) ディジタル信号多重化装置及び方法、ディジタル信号伝送方法、ディジタル信号記録方法、並びに、記録媒体
US20050166135A1 (en) Apparatus, system and method for synchronized playback of data transmitted over an asynchronous network
CN101809965B (zh) 将接收的流与发送至另外装置的流同步的通信技术
CN103959664A (zh) 用于通过高阻抗电缆布线的组网的***、方法和装置
JP3438564B2 (ja) ディジタル信号多重化装置及び方法、記録媒体
US8077736B2 (en) Fast audio/visual reception in DVB-H systems
CN101237276B (zh) 基于移动网的手机电视单频网同步***及方法
KR20130060651A (ko) 영상처리장치 및 그 제어방법
JP3496647B2 (ja) 時刻情報分配方式
JP2011160272A (ja) リアルタイムデータ伝送システム
JPH1127668A (ja) 送信装置とその方法、受信装置、および、伝送装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20140411