个人媒体广播系统转让专利

申请号 : CN201210572890.4

文献号 : CN103037254B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾森·克里科里安布莱克·克里科里安亚历山大·吉尔日布彭德拉·沙阿拉古维尔·塔拉

申请人 : 斯灵媒体公司

摘要 :

本发明涉及一种个人媒体广播系统,其能够通过一计算机网络进行视频分发并使用户能够自一远程位置通过一计算机网络来观看及控制媒体源。一个人广播器自一种或多种类型的媒体源接收一输入,对所述内容进行数字化及压缩,并将经压缩的媒体通过一计算机网络流式传输至一在各种各样客户端装置中的任一种上运行的媒体播放器以便观看所述媒体。所述系统可允许用户自所述媒体播放器向所述广播器发出控制命令(例如“向上调频道”),从而使所述源装置执行所述命令。所述广播器及所述媒体播放器可采用数种技术来缓冲、传输及观看所述内容以改善用户的感受。

权利要求 :

1.一种个人媒体广播器,其包括:

一输入接口,其用于从一个或多个音频/视频源装置接收音频/视频信号;

一处理器,其耦接至所述输入接口并经配置以自所述音频/视频信号来构造一适合通过一网络传输的媒体流;

一经耦接以接收所述媒体流的缓冲器,所述缓冲器耦接至所述处理器以传送所述缓冲器中剩余的一自由空间量,其中所述处理器通过使用基于所述缓冲器中的剩余自由空间量而选择的位速率对所述音频/视频信号进行编码来构造所述媒体流;

一网络接口,其用于通过一网络将存储于所述缓冲器中的所述媒体流传输至一客户端;

其中,在将所述媒体流传输至所述客户端时,所述处理器实时构造所述媒体流,以使得所述媒体流的位速率依据在所述媒体流的传输期间所述缓冲器中剩余自由空间量的变化而改变,并且所述缓冲器被用于确定针对所述媒体流的有效传输的合适的位速率。

2.如权利要求1所述的个人媒体广播器,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,且其中所述处理器经配置以在所述缓冲器中的所述剩余自由空间量保持高于某一预定水印达一预定时间量的情况下,升高用于对所述音频/视频信号进行编码的所述位速率。

3.如权利要求2所述的个人媒体广播器,其中如果所述缓冲器中的所述剩余自由空间量保持高于某一预定水印达一预定时间量,则将所述位速率升高大约10%。

4.如权利要求1所述的个人媒体广播器,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,且其中所述处理器经配置以在所述缓冲器中的所述剩余自由空间量降低至某一预定水印以下的情况下,降低用于对所述音频/视频信号进行编码的所述位速率。

5.如权利要求4所述的个人媒体广播器,其中如果所述缓冲器中的所述剩余自由空间量降低至某一预定水印以下,则将所述位速率降低大约15%。

6.如权利要求4所述的个人媒体广播器,其中所述处理器经配置以在已降低所述位速率之后所述缓冲器中的所述剩余自由空间量升高至所述某一预定水印以上的情况下,升高用于对所述音频/视频信号进行编码的所述位速率。

7.如权利要求4所述的个人媒体广播器,其中所述处理器经配置以每当所述缓冲器中的所述剩余自由空间量升高至所述水印中的一者以上时,升高用于对所述音频/视频信号进行编码的所述位速率。

8.如权利要求1所述的个人媒体广播器,其进一步包括一耦接至所述输入接口的解码器,其用于通过所述输入接口自所述一个或多个音频/视频源装置接收所述音频/视频信号并对所述音频/视频信号进行解码,其中所述处理器通过所述解码器耦合至所述输入接口。

9.一种个人媒体广播系统,其包括:

一个人媒体广播器,其具有一用于与一个或多个音频/视频源装置进行通信的输入接口,所述个人媒体广播器经配置以自一接收自所述音频/视频源装置中一者的信号构造一适合通过一网络传输的媒体流,所述媒体流是通过使用基于一中间输出缓冲器中的一剩余自由空间量而选择的位速率对所述信号进行编码来构造,所述个人媒体广播器进一步包括一用于传输来自所述中间输出缓冲器的所述媒体流的网络接口;

一客户端模块,其用于通过一网络连接与所述个人媒体广播器进行通信以接收所述媒体流,所述客户端模块经配置以为一用户播放所述媒体流;

其中,在将所述媒体流传输至所述客户端模块时,所述个人媒体广播器实时构造所述媒体流,以使得所述媒体流的位速率依据在所述媒体流的传输期间所述中间输出缓冲器中剩余自由空间量的变化而改变,并且所述缓冲器被用于确定针对所述媒体流的有效传输的合适的位速率。

10.如权利要求9所述的系统,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,且其中如果所述中间输出缓冲器中的所述剩余自由空间量保持高于某一预定水印达一预定时间量,则所述个人媒体广播器升高用于对所述信号进行编码的所述位速率。

11.如权利要求9所述的系统,其中为所述中间输出缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,且其中如果所述中间输出缓冲器中的所述剩余自由空间量降低至某一预定水印以下,则所述个人媒体广播器降低用于对所述信号进行编码的所述位速率。

12.如权利要求11所述的系统,其中在已降低所述位速率之后,如果所述中间输出缓冲器中的所述剩余自由空间量升高至所述某一预定水印以上,则所述个人媒体广播器升高用于对所述信号进行编码的所述位速率。

13.如权利要求11所述的系统,其中每当所述中间输出缓冲器中的所述剩余自由空间量升高至所述水印中的一者以上时,所述个人媒体广播器均升高用于对所述信号进行编码的所述位速率。

14.一种用于提供在一远离一音频/视频源的位置处访问所述音频/视频源的方法,所述方法包括:自一音频/视频源装置接收一输入信号;

通过使用一位速率对所述输入信号进行编码来构造一适合通过一网络进行传输的媒体流,其中所述位速率是基于一输出缓冲器中的一剩余自由空间量来选择;

将所述媒体流存储于所述缓冲器中;

通过一网络将所述媒体流自所述缓冲器发送至一远程客户端;

其中,在将所述媒体流传输至所述远程客户端时,实时构造所述媒体流,以使得所述媒体流的位速率依据在所述媒体流的传输期间所述输出缓冲器中剩余自由空间量的变化而改变,并且所述缓冲器被用于确定针对所述媒体流的有效传输的合适的位速率。

15.如权利要求14所述的方法,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,并且所述方法进一步包括:如果所述缓冲器中的所述剩余自由空间量保持高于某一预定水印达一预定时间量,则升高用于对所述输入信号进行编码的所述位速率。

16.如权利要求14所述的方法,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,所述方法进一步包括:如果所述缓冲器中的所述剩余自由空间量降低至某一预定水印以下,则降低用于对所述输入信号进行编码的所述位速率。

17.如权利要求16所述的方法,其进一步包括:

在降低用于对所述输入信号进行编码的所述位速率之后,如果所述缓冲器中的所述剩余自由空间量升高至所述某一预定水印以上,则升高所述位速率。

18.如权利要求16所述的方法,其进一步包括:

每当所述缓冲器中的所述剩余自由空间量升高至所述水印中的一者以上时,升高用于对所述输入信号进行编码的所述位速率。

19.如权利要求14所述的方法,其进一步包括解码所述输入信号。

20.一种用于提供在一远离一视频源的位置处访问所述视频源的方法,所述方法包括:接收一视频信号;

自所述视频信号形成一媒体流,所述媒体流是使用基于一输出缓冲器中的一剩余自由空间量而选择的位速率来进行编码;

将所述经编码的媒体流存储于所述输出缓冲器中;

通过一网络将所述媒体流自所述输出缓冲器发送至一远程客户端;

其中,在将所述媒体流发送至所述远程客户端时,实时构造所述媒体流,以使得所述媒体流的位速率依据在所述媒体流的传输期间所述输出缓冲器中剩余自由空间量的变化而改变,并且所述缓冲器被用于确定针对所述媒体流的有效传输的合适的位速率。

21.一种用于将一媒体信号流式传输至一远程用户位置的方法,所述方法包括:接收用于传输至一用户位置的一媒体信号;

通过使用一位速率对所述接收到的媒体信号进行编码来构造一适合通过一传输网络进行传输的媒体流,其中所述位速率是基于一输出缓冲器中的一剩余自由空间量来选择;

将所述媒体流存储于所述缓冲器中;

通过一传输网络将所述媒体流自所述输出缓冲器发送至所述远程用户位置;

其中,在将所述媒体流发送至所述远程用户位置时,实时构造所述媒体流,以使得所述媒体流的位速率依据在所述媒体流的传输期间所述输出缓冲器中剩余自由空间量的变化而改变,并且所述缓冲器被用于确定针对所述媒体流的有效传输的合适的位速率。

22.如权利要求21所述的方法,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,并且所述方法进一步包括:如果所述缓冲器中的所述剩余自由空间量保持高于某一预定水印达一预定时间量,则升高用于对所述输入信号进行编码的所述位速率。

23.如权利要求21所述的方法,其中为所述缓冲器预定义复数个水印,每一水印均指示所述缓冲器中的一剩余自由空间量,并且所述方法进一步包括:如果所述缓冲器中的所述剩余自由空间量降低至某一预定水印以下,则降低用于对所述输入信号进行编码的所述位速率。

24.如权利要求23所述的方法,其进一步包括:

在降低用于对所述输入信号进行编码的所述位速率之后,如果所述缓冲器中的所述剩余自由空间量升高至所述某一预定水印以上,则升高所述位速率。

25.如权利要求23所述的方法,其进一步包括:

每当所述缓冲器中的所述剩余自由空间量升高至所述水印中的一者以上时,升高用于对所述输入信号进行编码的所述位速率。

说明书 :

个人媒体广播系统

[0001] 分案申请的相关信息
[0002] 本申请为发明名称为“个人媒体广播系统”的原中国发明专利申请的分案申请。原申请的申请号为200580026825.X,原申请的申请日为2005年6月7日。
[0003] 相关申请案
[0004] 本申请案主张基于2004年6月7日提出申请的第60/577,833号美国临时申请案的权利,该美国临时申请案的全文以引用方式并入本文中。

技术领域

[0005] 本发明大体而言涉及个人流式传输媒体广播器,且具体而言涉及通过一网络将来自一媒体源输入端的媒体流式传输至一客户端装置。

背景技术

[0006] 在人们花费大量的时间观看电视节目及其他形式的音频-视频(A/V)内容的同时,人们也在花费越来越多的时间量来介接例如个人计算机、个人数字助理、移动电话、专用多媒体装置及其他像传统电视机一样包括一显示器的装置等计算装置。这些类型的计算装置使人们的移动性日益增强,但此种移动性会减少人们在家中花费在其电视机前面的时间。因此,有利的是使人们也能够在这些计算装置上欣赏其现在在家中接收到的其电视节目及其他形式的A/V内容,而无论位置如何且不依赖于物理连接。
[0007] 此种能力将能够实现数种人们所期望的应用。例如,用户可能想要通过用户在家中的本地网络在家中的各个地方自个人计算机(台式计算机以及笔记本计算机)或其他计算装置访问及控制电视及其他日常消耗的A/V内容。由于电缆、卫星及其他电视内容源通常在几个分离的位置处进入家中,因而允许通过一家庭网络访问所述内容便会赋予用户在整个家中欣赏所述内容的更大自由度。另一可能的应用将是在一宽带连接可供用户使用(例如在机场、班上、学校、宾馆、咖啡馆、在熟人家中)时使用户能够自任意数量的远程网络访问及控制电视及其他A/V内容。再一应用将是使用户能够自一可连接至一广域网(例如GPRS、W-CDMA、CDMA-2000、1XRTT、1XEVDO及类似网络)的移动电话或其他计算装置访问及控制电视及其他A/V内容。在各种应用中,用户有可能想要自远程网络访问存储于例如个人计算机及其他具有存储器的装置等装置上的其媒体内容。然而,网络带宽及其他限制条件已使得难以为用户提供有效且愉悦的远程媒体感受。
[0008] 但传统的流式传输媒体解决方案并不能以任何有效的方式实现这些应用;而且,其存在技术限制,这些技术限制将使其不能用于个人媒体广播应用(如上面所述的那些应用)中。相应地,将希望使用户能够在家中或外面自各种各样远程位置中的任意位置访问其A/V内容,因为此种内容目前只能在家中在传统上接收及播放所述内容的位置(例如电视机)处获得。

发明内容

[0009] 本发明揭示一种个人媒体广播系统,其能够通过一计算机网络实现视频传输,从而使用户能够自一远程位置通过一计算机网络观看及控制媒体源。在一实施例中,所述个人媒体广播系统包括一个人媒体广播器及一媒体播放器。所述个人媒体广播器可经配置以接收实际上任何媒体源作为一输入。所述广播器对所述所接收媒体内容进行数字化及压缩(如果有必要)并将所述媒体通过一计算机网络流式传输至所述媒体播放器。所述媒体播放器可驻留于用于观看媒体的各种各样客户端装置中的任一种上。用户可使用所述媒体播放器通过所述网络向回发送控制命令(例如“向上调频道”)以由所述媒体源装置执行,从而影响所述媒体播放器接收到的媒体流。
[0010] 在一实施例中,一种个人媒体广播系统包括通过一网络相互进行通信的一个人媒体广播器及媒体播放器客户端。所述个人媒体广播器可接受来自一个或多个A/V源装置的A/V信号。所述个人媒体广播器可根据该A/V信号构造一适于通过一网络传输至所述媒体播放器客户端的媒体流。所述个人媒体广播器包括一用于将所述媒体流传输至所述媒体播放器客户端的网络接口。当在所述客户端处接收到所述媒体流时,用户可使用所述媒体播放器客户端来观看所述媒体流。在一实施例中,所述个人媒体广播器是一专用器具,而不是一通用计算机。通过此种方式,为使用户远程接收媒体内容,不需要对一通用计算机加电并将其连接至所述A/V源装置。在另一实施例中,所述媒体播放器客户端可在任一通用或多用途装置(例如个人计算机或蜂窝电话)上运行,从而有利地避免用户为使用所述广播系统而携带专用设备这一需要。所述广播器与媒体播放器通过其进行通信的计算机网络可包括一广域网路(例如因特网),从而使用户能够在可得到一接至所述网络的连接时将媒体内容自家中接收至世界上的任何地方。
[0011] 为改善用户的感受,所述个人媒体广播系统可采用若干种技术中的任一种来缓冲、传输及观看所述内容。在一实施例中,例如,通过使用一位速率对所述音频/视频信号进行编码来构造所述媒体流,所述位速率是至少部分地根据在将所述媒体流传输至所述媒体播放器客户端之前在一用于临时存储所述媒体流的中间输出缓冲器中剩余的自由空间的大小来选择。尽管可使用所述中间输出缓冲器的占用度的各种衡量标准,然而一种衡量标准涉及到使用多个水印来衡量在所述缓冲器中可用的自由空间。可在每当所述自由空间降至一水印以下时降低所述编码位速率,同时可在所述自由空间升至一水印以上或者如果所述空间从未降至所述第一位置上的所述水印以下时升高所述编码位速率。通过此种方式,可根据所述系统的当前性能动态地调整所述编码位速率,且此种动态调整可在所述广播器处进行而不需要来自所述客户端的反馈。
[0012] 在另一实施例中,所述媒体播放器客户端构建一快速起动机制,所述媒体播放器通过此种快速起动机制自所述个人媒体广播器实时地接收一媒体流并将所述媒体流存储于一缓冲器中。所述媒体播放器客户端以一降低的回放速度播放自所述缓冲器接收的媒体流而不等待所述缓冲器填充至一预定阈值。在回放速度保持为一慢于接收所述流式传输媒体内容的速率的同时,所述缓冲器得到填充(尽管以一慢于接收所述媒体流的速率)。此使所述媒体播放器客户端能够播放所接收的媒体流而不等待其缓冲器填满,此会在例如用户正在改变频道或者操作远程A/V源装置上的一菜单等情形中动态地改善用户的感受。另外,当所述媒体播放器客户端接收到一要控制所述媒体流中的内容的用户命令时,所述媒体播放器客户端可通过切换至一种控制模式来进一步增强此种感受。当所述客户端进入所述控制模式时,所述缓冲器被刷新且播放所接收的媒体流。通过此种方式,不需要在客户端装置上显示所述缓冲器中的内容,且用户可随后几乎立即接收到对要控制所述媒体流中内容的用户命令进行确认的视频反馈。

附图说明

[0013] 图1是根据本发明一实施例一媒体广播系统的方块图;
[0014] 图2是根据本发明一实施例一组用于一个人媒体广播器的输入及输出连接的方块图;
[0015] 图3是根据本发明一实施例一个人媒体广播器的方块图。

具体实施方式

[0016] 概述
[0017] 本发明的实施例能够将来自各种A/V源装置的A/V内容通过一计算机网络分配至一客户端装置。本文中所述的A/V内容可包括任意类型的媒体内容,包括音频或视频内容、或者同时包括这两种内容。在一实施例中,个人媒体广播器将一音频或视频信号当作输入,对所述内容进行数字化及压缩(例如在Windows Media Video、MPEG-4或H.264中),并通过一IP网络(例如IP4或IP6)将所述内容流式传输至一客户端装置以便观看及/或收听所述内容。所述个人广播器(其可构建为一嵌入式解决方案)可允许用户通过网络向回发出控制命令(例如通过一IR或串行命令发出的“向上调频道”命令)以供由原始源装置执行。通过使用本发明的各种实施例,用户可将一有线电视或卫星机顶盒、个人录像机、DVD播放器、DVD光盘机、音乐服务器、卫星无线电接收机、摄像放像机、数字录像机(DVR)或任何其他A/V源组件连接至所述个人广播器。这样,用户便可自任何联网的装置观看及控制这些源的实况输出。本发明的各种实施例可包括不同的组件,包括个人广播器及媒体播放器。所述媒体播放器可为一在一客户端装置上运行的软件应用程序,其经配置以接收由所述个人广播器产生的媒体流。对于不同类别的客户端装置(例如个人计算机及蜂窝电话)可存在不同的客户端软件应用程序。客户端可能够通过一网络浏览器接口连接至所述个人广播器。
[0018] 本文所述的系统可应用于若干种应用或使用情景中。例如,对于所述系统,存在各种各样的通过一有线或无线家庭网络的家庭应用。在家庭中,用户可自任一台式PC、笔记本PC、PDA或其他网络装置观看及控制其A/V源组件,例如个人录像机(PVR)或有线电视机顶盒。例如,该应用使用户能够将一位于厨房中的无线笔记本PC转换成一无线LCD TV。作为在家庭中的应用的另一实例,年青的父母可将个人广播器与一简单的模拟照相机配对并将其放置于婴儿的房间内,以提供显示于一位于家庭中另一位置上的装置的其孩子的实时视频及音频流。
[0019] 另一使用情景类别涉及到远离家但能利用宽带连接的用户。此种利用可以是在各种各样的位置处,例如在班上、在学校、在朋友的家中、在咖啡馆、在机场或在飞机上、或者在宾馆中。用户可自这些位置通过公共因特网连接至其个人广播器并享受与其在家中所具有的相同的实况电视感受。本发明使远离家的用户能够访问其所习惯于的全部节目,且甚至观看其先前在其个人录像机上拍摄的内容。
[0020] 再一种使用情景类别涉及到具有移动电话、通信器、或其他广域网装置的个人。在新兴的网络上,位速率现在高到足以使用户在其装置上欣赏流式传输的视频。这为个人广播器开辟了向移动用户传送大量全部发自用户自己家中的节目的新的可能性。
[0021] 自个人媒体广播器传输至媒体播放器客户端网络的媒体流可利用任意数量的联网协议的一组合,所述联网协议包括TCP/IP上的HTTP(HTTP overTCP/IP)、以及UDP、RTSP、RTP、RSVP及类似联网协议。由于本发明的各实施例可接受、数字化、编码及流式传输任意的模拟A/V源,因而个人广播器具有大量的应用-自一种保安照相机系统至一种用于将用户的卫星无线电扩展至用户的蜂窝电话的方法。
[0022] 系统架构
[0023] 图1是根据本发明一实施例的媒体广播系统的一方块图。如图所示,一个人媒体广播器100经配置以自各种各样的A/V源装置120接收一输入视频信号。例如,具有模拟A/V输出端的任意组件或装置均可连接至个人广播器100。在自一所连接的A/V源装置120接收到视频及/或音频馈入后,所述个人广播器将经数字压缩的媒体数字化、编码并流式传输至家庭因特网网关110。网关110可包括一个或多个分离的装置,包括一路由器、一交换机或集线器、及/或一模拟宽带调制解调器、DSL宽带调制解调器、电缆宽带调制解调器或其他类型的宽带调制解调器,或者网关110可包括一囊括一种或多种这些功能的单个装置。
[0024] 网关110可耦接至一耦接用户家中的数个计算装置的局域网(LAN)140。根据已知技术,任意数量的本地客户端150均可能够与家庭因特网网关110进行通信。通过此种方式,由媒体广播器100所形成的可通过本地网络140-经由网关110或直接地-路由至这些本地客户端150中的任意本地客户端。由于本发明并不限定于任一特定网络技术或配置,因而局域网140可为有线或无线网络。本地客户端140可为任意数量的装置类型,包括但不限于台式及笔记本PC、网络图形输入板、PDA、专门为解码个人广播器的流的目的而构建的嵌入式客户端、及其他能够通过网络接收及/或播放媒体流的装置。
[0025] 由个人广播器100所产生的媒体流也可由远程客户端170自一远程网络160接收到。远程网络160可包括任一种适合的联网技术,包括但不限于广域移动网络(例如GPRS、EDGE、1X-RTT、1x-EvDO及FOMA 2.5G和3G蜂窝式网络)、WiFi及其他公共宽带接入位置、WiMAX网络、其他LAN(例如在班上、学校、或朋友的家中)、及接至因特网服务提供商的直接连接。如同本地客户端150一样,远程客户端170可包括任意数量的装置类型,包括但不限于台式及笔记本PC、网络图形输入板、PDA、专门为解码个人广播器的流的目的而构建的嵌入式客户端、及其他能够通过网络接收及/或播放媒体流的装置。
[0026] 在一实施例中,本地客户端150及/或远程客户端170执行一客户端软件应用程序,所述客户端软件应用程序包括一用于自广播器100请求内容及用于观看该内容的用户界面。在另一实施例中,所述客户端功能性由一网络站点提供并可由本地客户端150及/或远程客户端170通过一网络浏览器访问。当一远程客户端170想要使用所述客户端应用程序或通过一网络浏览器接口连接至个人广播器100的流时,其可指定用户的家庭IP地址以访问及自所述个人广播器拉出媒体流。该动作向所述个人广播器发送一请求,且所述请求穿过公共因特网传播至用户的因特网服务提供商(ISP)的网络、通过电话或电缆基础设施(或在为固定的无线或卫星宽带ISP情况下以无线方式)传播至所述家庭中、传播至家庭因特网网关110、并最后传播至个人广播器100。
[0027] 在一实施例中,一中心服务器180耦接至远程网络160并提供一种或多种角色,包括DNS服务器的角色。由于大多数住宅ISP均通过DHCP分配动态IP地址而非提供静态IP地址,因而需要一提供一种用于自远程网络访问用户的家庭网络的一致方法的系统。在图1中所示的实施例中,中心服务器180为个人媒体广播器100指配一DNS名(例如username.slingbox.com)并使该DNS名与用户的IP地址相关联。为虑及IP地址的动态性质,在一实施例中,一动态DNS客户端应用程序驻留于个人广播器100上。所述动态DNS客户端应用程序向中心服务器180报告对ISP所出租的IP地址的任何改动。当一远程客户端170需要与广播器100进行通信时,客户端170首先自中心服务器180获得相关联的IP地址。通过此种方式,在一远程客户端170上由一用户调用的DNS地址便为网关110的当前IP地址,甚至当该地址随时间变化时也是如此。
[0028] 为使该过程对用户而言甚至更加容易、以使用户不需要管理一不断变化的IP地址或输入一DNS名,可将所述用于连接至个人广播器100的过程的许多部分自用户略去。例如,在一实施例中,用户只需要输入个人广播器的名、或者选择一代表所述个人广播器的图标、并随后输入对应的口令,然后被自动地指引至其个人广播器100。此可通过将一唯一的装置名捆绑至指配给用户的动态IP地址的DNS名来实现。装置用户名与DNS名之间的变换可在远程客户端170自身内进行,或者其可通过一在中心服务器180上维护的目录来实现。
[0029] 可使用一专门设计用于访问个人广播器流的目的的客户端应用程序或通过一传统的网络浏览器来实现自一本地客户端140或一远程客户端170的连接。使用一网络浏览器的选项提供宽广范围的客户端兼容性而不需要进行配置,而客户端应用程序则提供最优化的感受。作为一安全措施,所述客户端应用程序或网络接口可在允许与广播器100进行通信之前提示用户输入口令。作为一附加的安全措施,可对媒体流进行加密。
[0030] 在本发明的一实施例中,存在每一装置一个所连接客户端(同等地适用于远程客户端及本地客户端)的限制。换句话说,在一既定时间点只有一个客户端可连接至个人广播器及自个人广播器进行流式传输。该实施例的其他变化形式可提供多个同时的会话。还有一些变化形式可允许自本地客户端进行多个同时的会话,但对远程客户端则维持单个会话的限制。
[0031] 图2图解说明具有一用于自一可能的A/V源装置120的集合接收视频信号的接口的个人媒体广播器100的一实施例。根据本发明的一实施例,个人广播器100可由此支持若干种输入类型并有可能可包括若干种输出类型。在图2中所示的实施例中,个人广播器100可支持一复合视频输入端210、一S视频视频输入端200、一同轴电缆输入端250、及左和右音频输入端220。个人广播器100还可具有一同轴电缆输出端260,其中输入电缆信号在个人广播器100内分裂以允许该信号通过以供本地观看。也可出于同一目的而提供用于A/V、S视频及任何其他输入端的通过式输出端。除图2中所示的那些视频及音频输入端外,还可具有各种各样的视频及音频输入端。输入端及输出端既可为模拟的(例如分量视频)也可为数字的(例如DVI、IEEE 1394、USB、SDI、Toslink光纤、或符号同轴数字音频),且可存在单种类型的多个连接器。
[0032] 图2还包括一IR输出端270及/或一RS-232输出端280。这些输出端旨在提供发源于客户端装置的后频道控制的最后引线。视通过IR还是串行命令来控制A/V源装置120而定,用户将一来自个人广播器100上适当输出端的发射器电缆连接至A/V源装置120上的一串行输入端或IR接收机。此会提供允许客户端控制A/V源装置120(例如以改变频道)的通信途径。
[0033] 在图2中,个人广播器还包括一提供一介接家庭因特网网关110的通信接口的以太网端口290。在某些实施例中,个人广播器100还支持无线联网(例如提供一内置的802.11功能),且广播器100可甚至构建为一用于依据例如802.11等无线联网标准的无线网络的访问点(AP)或路由器。个人广播器100还可包括一电源连接器230、一硬复位按钮240、及若干个显示个人广播器100的状态的指示灯(例如位于前面板上)。也可具有许多其他输入端及输出端。例如,个人广播器100可具有用于一本地显示及声音的视频及模拟输出端。
[0034] 图2还显示一A/V源装置130与个人广播器100的一实施例之间的可能的连接。如图所示,一S视频电缆及左和右复合音频电缆连接个人广播器100与一实例性A/V源装置120。由于在该实例中是通过IR来控制A/V源装置120,因而将远程客户端170或本地客户端150所需要的控制自个人广播器100经由一IR发射器285(例如一IR传输器组合件)中继至A/V源装置120。IR发射器285的一端插入个人广播器100内,个人广播器100将适当的IR代码“传输”通过一导线并从IR发射器285的IR LED发出。相应地,IR发射器285直接布置于A/V源装置
120的IR接收机的前面。
[0035] 个人广播器100自其以太网端口290(使用例如一Cat5电缆)连接至家庭因特网网关110,该连接可为直接连接或者通过一位于个人广播器100附近的以太网墙上插孔(其又连接至家庭因特网网关110)。在其他实施例中,个人广播器100与家庭因特网网关110之间的是无线的,其中广播器100可包括内置的无线或电源线联网能力。
[0036] 图3是一显示根据本发明一实施例的个人媒体广播器100的内部组件的方块图。如图所示,广播器100包括一输入接口305,以接收各种各样输入类型中的任一种输入类型,包括一来自模拟电缆或天线的RF信号、一S视频信号、一复合视频信号、及一左/右音频信号。由于一RF信号包含若干个调制于其中的视频信号,因而输入接口305经耦接以将RF输入提供至一调谐器310。调谐器310对一所选频道的RF信号进行滤波,对所述频道进行解调,并将所述信号转换成单独的模拟视频及音频以供由一音频/视频解码器315进一步处理。输入接口305经耦接以将所述S视频信号、一复合视频信号、及一左/右音频信号直接提供至A/V解码器315,因为这些信号不需要由一调谐器310处理。
[0037] 在一实施例中,A/V解码器315将模拟视频输入转换成YUV视频并对所述信号应用各种类型的滤波器及颜色校正。A/V解码器315还抽取垂直消隐间隔(VBI)数据,例如隐藏式字幕、智能用户电报、及复制保护位。A/V解码器315还对调谐器音频进行解码并将其转换成立体声或单声道数字音频,此视广播信号而定。在A/V解码器315中将模拟信号进一步转换成一数字信号。然后将来自A/V解码器315的数字视频及音频发送至一处理器320以便进一步处理。个人广播器100可包括由处理器320用于执行其相关联的处理任务的存储器330,例如闪速存储器或SDRAM。如在本文中针对各种实施例所述,存储器330也可用作一用于出局媒体流的缓冲器。
[0038] 在一实施例中,在压缩之前,处理器320对数字音频及视频执行预处理。所述预处理可根据输入类型、压缩特性及目标位速率来执行。在预处理之后,所述处理器使用任意适当的压缩技术(例如WM9、MPEG-4、H.263及H.264)将所述音频及视频压缩至一所期望的位速率。经过压缩的音频及视频连同例如隐藏式字幕、智能用户电报、父母控制、及Macrovision等其他用户数据一起多路复用成单个媒体流。在一实施例中,处理器320能够根据用户请求、输入内容、可用的网络带宽、或者任何其他为处理器320已知的数据而静态及/或动态地调整压缩位速率、帧速率、分辨率、及滤波。然后将经过压缩的媒体流转换成网络数据包以便经由网络接口325通过本地网络140或一远程网络160传输。网络接口325可为一无线或有线接口,或者可具有用于这两种类型的装置。如上文所述,个人广播器100还可通过网络接口325自一客户端接收并处理命令。这些命令的某些实例包括选择一特定频道、自动扫描各频道、在RF输入与基带输入之间进行切换、改动压缩特性(压缩类型、位速率、帧速率、分辨率及其他特性)、遥控用于IR传输器的命令、及用户为观看来自A/V源装置120的内容而期望的任何其他命令。
[0039] 广播器100可进一步包括一控制器接口335,以介接一用于控制一A/V源装置120的输出端。如上文所述,可使用一RS-232串行控制器或一IR发射器285来执行对一A/V源装置120的控制。控制器接口335由此自处理器320接收适当的输出信号并提供用于控制一A/V源装置120的运行的对应接口。
[0040] 尽管图3显示一仅接收模拟输入的广播器的实施例,然而其他实施例还可接受数字输入。例如,本发明的实施例可被并入来自有线电视MSO或DBS提供商的所提供服务中。在这些变化形式中,个人广播器可直接访问正广播的数字位流。此可通过由服务提供商将个人广播器并入一机顶盒或家庭因特网网关内、或者通过某种数字互连(例如IEEE 1394或USB 2.0)来实现。由于利用数字位流,因而对所述流的数字化及编码/压缩可完全不必要。然而,对于这些输入,可要求个人广播器将媒体变速率或变码至一足够低的位速率,以有效地跨越局域网并经由一家庭因特网网关向上游分发且分发出至公共因特网以供远程客户端连接。在包含数字输入端的变化形式中,可仍存在模拟输入端及一数字化和编码功能。
[0041] 尽管在图1中图解说明特定的网络拓扑结构,然而本发明存在许多种将个人广播器相对于其他组件布置于不同位置上的变化形式。例如,一实施例的一种变化形式将个人广播器并入一家庭因特网网关内。通过与路由器功能性相结合,广播器可使端口配置(例如端口转发)过程完全自动化。另一选择为,如果家庭因特网网关实际上为两个或更多个装置(例如一电缆调制解调器及一独立的路由器/交换机),则可将个人广播器定位于电缆调制解调器与路由器之间。本发明的这两种变化形式均提供一唯一的服务质量机会。由于个人广播器在所有联网客户端的上游并可与网络路由器进行“交谈”,因而可将来自个人广播器的视频流优先排在其他不太时间紧要的通信业务前面。可对在局域网内移动的通信业务以及自局域网移出至因特网的通信业务二者施加控制。例如,可赋予一来自个人广播器的视频流比一通过本地网络的打印作业请求、或者一来自远程POP3服务器的电子邮件下载更高的优先权。在这两种情况下,个人广播器均较佳包含一网络交换机作为其架构的一部分。
[0042] 如在图1中所示,个人广播器100还可能够自一网络上存储装置130接收一数字音频或视频流或其他数字媒体。网络上存储装置130可为一个人计算机、一联网的附属存储装置、或者一专用媒体服务器。例如,用户可将一音频及视频剪辑的集合存储于一与个人广播器驻留于同一家庭网络上的个人计算机或媒体服务器上。然后,用户可通过在个人广播器100内登记而通过一远程网络160在一远程客户端170上访问所述媒体。
[0043] 当想要将存储于一网络上存储装置130上的媒体流式传输至一远程位置时,会出现一挑战。存在于所述网络上存储装置上的媒体剪辑的位速率可能高于用户的宽带服务的上游链路所支持的位速率。例如,一网络上存储装置130上的视频剪辑可具有一为800kbps的位速率,而当前极少的宽带连接具有一等于或大于该位速率的上行链路速度。在这些情形中,降低源媒体信号的位速率并有可能改变其编码格式。个人广播器100可执行此种变换及变码功能性。在此种情形中,个人广播器100充当一联网的附属变速率器及变码器。所述广播器自网络上存储装置130接收媒体流,对所述媒体进行变速率及可能进行变码,并输出一具有足够低的位速率的媒体流从而可将所述媒体有效地在用户的宽带服务的上游流式传输。用于确定正确的变换或变码设定值(例如源内容要降低至的位速率)的方法可在下文所概述的用于确定在个人广播器与本地或远程客户端之间当前所支持的通过量的框架内实现。
[0044] 使用个人广播器100作为一用于对驻留于一个或多个网络上存储装置130上的材料进行变速率及/或变码的代理具有如下优点:会形成一其中仅一个装置(个人广播器)经由家庭因特网网关110向上游流式传输媒体并向外流式传输至因特网160的系统。这颇为有利,因为用户不必对家庭因特网网关的NAT或防火墙作进一步的配置-此可包括用手转接一端口以便能够直接访问每一网络上存储装置。
[0045] 除要求进一步配置以外,将内容自网络上存储装置130直接流式传输可对用户造成安全性方面的担心,尤其是当所述网络上存储装置是一PC时。由于允许一PC直接向上游流式传输至公共因特网涉及到打开防火墙/NAT上的一转接至PC的端口,因而用户可能担心其他个人或私人信息有被披露的危险。通过依靠个人广播器作为一用于将媒体流式传输至公共因特网的网关,上面存储有所述媒体的PC或网络上存储装置无需具有一转接至其的端口。在此种实施例中,个人广播器是需要进行NAT端口配置的唯一装置。
[0046] 此外,使用个人广播器取代网络上存储装置对内容进行变码及变速率会防止网络上存储装置130无谓地承受重负。如果网络上存储装置130为一PC,则此尤其重要,因为CPU利用率的增大将不利地影响PC完成其他任务的性能。
[0047] 由于个人广播器100使用户能够访问在家中可利用的相同的A/V源装置120,因而为用户提供一类似于在起居室背景中所用的介接A/V源装置120的接口会有意义。最经常地,这是一手持式遥控装置。在一实施例中,因此,由客户端应用程序提供一“虚拟”遥控装置,所述“虚拟”遥控装置包括一代表A/V源装置的遥控装置的普通图像或者实际A/V源装置的遥控装置的一图像或模拟像。此外,所述客户端应用程序可支持若干个虚拟遥控装置,其中为每一A/V源装置120定制一个。由此由用户选择客户端应用程序上的界面来比拟在用户家中所见到的每一特定的A/V源装置120。例如,如果一TiVo个人录像机连接至所述个人广播器,则用户可决定使用TiVo表面图像,TiVo表面图像会修改所述客户端应用程序上的虚拟遥控装置以比拟TiVo遥控装置。遥控装置命令以此一方式映射至图形图像:按下按钮便会触发由所述按钮的图像所暗示的动作(例如按压CH+按钮会将频道自3转到4)。
[0048] 在一实施例中,客户端应用程序包含一从中进行选取的遥控装置表面图像数据库。在此种情形中,在中心服务器上维护的一中心数据库有可能在配置时更新客户端应用程序,以确保向用户提供最新的遥控装置表面图像。此外,可允许第三方创建及共享图像,其中命令被映射至所述图像的特定区域。在此种情形中,为用户提供一种用于“插入”第三方遥控装置表面图像的方法。为允许第三方为媒体播放器创建表面图像,提供一API以允许访问媒体播放器客户端内的某些特征及功能性。第三方表面图像使用户能够研制内容以及使第三方装置制造商和服务提供商制作紧密类似于与一A/V源装置120相关联的实体遥控装置的虚拟遥控装置。可由此使客户端应用程序上的虚拟遥控装置更易于使用,因为用户习惯于其布局。
[0049] 个人媒体广播系统的操作
[0050] 如上文参照图1至图3所述,个人媒体广播系统100可自若干个A/V源装置120中的任一个接收一输入视频信号。广播器100然后准备所接收的视频信号作为一媒体流以供通过一网络传输至一远程或本地客户端,在所述远程或本地客户端处由用户观看所述媒体流。下文将阐述对该大体过程的添加、替代及改良。
[0051] 对音频/视频源装置的控制
[0052] 如上文所述,个人媒体广播器的各实施例允许用户自连接至远程或本地网络的客户端控制一A/V源装置。所述客户端可允许控制用户的特定型号的A/V源装置。在对个人广播器及一客户端进行初始配置后,用户指示用户想要控制哪种牌子及型号的A/V源装置(例如TiVo个人录像机系列2)。所述客户端上的配置软件然后识别对应于所讨论的特定A/V源的一组IR或串行代码。此可通过搜索一随所包含的软件一起发运的数据库、一驻留于中心服务器上的已更新数据库、或者一驻留于所述个人广播器上的数据库来执行。
[0053] 在本发明的一实施例中,所述IR代码随后存储于客户端装置上。当用户希望调用一代码时,用户在控制面板上或者客户端应用程序中的虚拟遥控装置上选择给定的命令。所述客户端应用程序随后通过IP网络发送对应的IP或串行命令。一旦所述IR或串行命令到达所述个人广播器,所述个人广播器便处理所述代码并将其发送出所述IR或串行输出端,从而在所述A/V源装置中触发所请求的动作。个人广播器与A/V源装置之间的连接在要通过IR来控制A/V源装置的情况下可为一IR发射器,或者在要由串行命令来控制A/V源装置的情况下可为一RS-232端口。
[0054] 在另一实施例中,所述IR及串行代码存储于个人广播器上而非客户端上。在此种情形中,一请求一既定命令的客户端装置发送一代表该命令的记号(例如,如果用户想要将频道自4变至5,则为“CH UP(向上调频道)”)而非IR或串行控制代码本身。当所述代表命令的记号到达所述个人广播器时,所述个人广播器执行一简单的查找,并输出适当的IR或串行代码。在客户端装置上所作的某些命令或选择可激活一系列命令-也称作宏。例如,通过点击“CNN”按钮(其可有可能由所述网络的一标志来代表),将会触发用于将A/V源装置调谐至CNN的命令组合。例如,如果CNN在用户的DirecTV系统上是频道202,则按下“CNN”按钮便可触发如下的一连串命令:“2,”“0,”“2,”及“Enter(输入)”。
[0055] 为使多个客户端装置的设置更加容易,可在配置初始客户端装置期间将所使用的A/V源装置的配置文件存储于个人广播器中。由于个人广播器会通知后来的客户端装置其能够连接至哪些A/V源装置且其使用哪些IR或串行代码,因而此使得能够容易地配置后来的客户端装置。
[0056] 根据通过量及装置能力进行编码器设定值调整
[0057] 由于所述广播器使得能够通过连接至局域网以及各种远程网络的各种各样的客户端装置类型来访问一媒体流,因而存在于一端上的个人广播器与另一端上的本地客户端及远程客户端之间的可用数据通过量可根据网络拓扑结构而显著地变化。由于竞争的通信业务及总体网络拥塞,在一既定连接中也有可能存在显著的通过量变化。在本发明的一实施例中,执行一种用于根据可用网络带宽及客户端装置的能力来使音频(例如位速率及取样速率)及视频(例如位速率、分辨率及帧速率)压缩最优化的方法。
[0058] 由于本发明的各种实施例囊括个人广播器与客户端装置二者,且这些元件可按一1∶1的关系运行(即每一广播器每次可接受仅一个客户端连接),因而这两个组件能够协调地动作以使用户的感受最优化。在一实施例中,所述最优化过程包括一初始最优化阶段及一进行中最优化阶段。
[0059] 在所述初始最优化过程中,所述客户端与个人广播器进行通信以相互建立所述客户端装置的能力、以及所述个人广播器与所述客户端装置之间的连接的通过量。所述客户端装置首先请求个人广播器将一设定数量的位发送至所述客户端(此可在第一次连接时自动地进行,或者可由用户手动地订购以重新校准初始最优化)。根据客户端接收这些位所花费的时间,客户端得知所述个人广播器与所述客户端之间的实际数据通过量。在得知该信息后,所述客户端指令所述个人广播器以一与该通过量兼容的速率开始进行流式传输。这不可能是满通过量速率,而是某个降低的速率(例如通过量的80%),以考虑到网络带宽的不可避免的变化。在选取正确的分辨率设定值时,驻留于客户端上的应用程序指出其当前的能力(即其显示器的分辨率)并在其发至个人广播器的命令中将适当的位速率设定值与适当的分辨率设定值进行配对。
[0060] 客户端可通过数种方式得知其能力。一种方式可与所述应用程序自身的版本有关。例如,一袖珍PC(Pocket PC)的应用程序可知道所述装置在某一分辨率及帧速率处或以下对流提供最佳支持。另一种方式是在其发送请求之前清点系统资源。例如,客户端可标识其显示器分辨率并将该信息并入发至个人广播器的所述流式传输请求中。
[0061] 所述初始最优化过程代表一可非常好地规定正确编码器设定值的起始点。然而,网络带宽随时间的可变性需要一为动态性质并能够实时地改动编码器设定值的系统。为解决此种可变性,本发明的一实施例在客户端与个人广播器之间构建一反馈回路以随时间保持正确的编码器设定值。该反馈回路可按若干种方式构建。在一实施例中,客户端在其经历帧丢失时向个人广播器发出通知。另一选择为,客户端不时地传送缓冲器的大小或者总的所测量通过量。客户端可传送任何或所有这些统计数据、或者任何其他反映需要调整设定值的数据。
[0062] 在自客户端得到该反馈的情况下,个人广播器修改编码器设定值。例如,如果缓冲器的大小变得减小或者观测到一不可接受数量的帧丢失,则个人广播器可将编码位速率自350kbps减小至280kbps。在测量与自客户端接收到的反馈之间的时间可有所变化,且该数字依赖于对明显的变化迅速作出反应与根据临时性尖峰信号进行过度修正之间的平衡。根据所述反馈,个人广播器可向上(例如增大编码位速率)以及向下调整设定值。
[0063] 尽管一实施例提供一种自动调整编码器设定值的方法,然而用户也可具备手动设定编码器设定值的能力。这些可手动调整的设定值包括帧速率、位速率、分辨率、“质量”、及各关键视频帧之间的时间、音频的位速率及取样速率、以及可能会影响性能的客户端侧设定值,例如缓冲器大小及平滑。
[0064] 根据节目类型进行编码器设定值调整
[0065] 尽管个人广播器与客户端之间的数据通过量可为正确编码设定值的一个重要的决定因素,然而所观看内容的类型也可为一重要的准则。举例而言,来自一体育节目的快速运动视频要求一高于谈话节目(其以少得多的运动为特征)的帧速率。同样,几乎不存在移动的视频可需要比快速运动视频相对低的位速率或者分辨率来获得一可接受的质量。这是因为具有越慢的运动的视频往往会越有效得多地得到编码。相应地,可根据正在编码的节目的类型来选择编码器设定值。
[0066] 存在各种用于确定正在观看的内容的类型、因而确定编码器设定值的正确范围的方法。首先,可存在广泛适用于一既定频道上所有内容的设定值。通过识别个人广播器被调谐至的节目频道或网络(例如HBO或NBC),客户端可请求适当的编码器设定值。例如,可存在一如下规则:当个人广播器正对来自ESPN的内容进行流式传输时,将帧速率始终设定为每秒30个帧。这些规则可存储于客户端上或者中心服务器上,由中心服务器通知客户端一所请求频道的正确设定值。此外,观测用户针对某个网络节目选择的设定值的个人自己的客户端可随着时间知晓所述规则。
[0067] 在又一改良中,可根据正在收看的特定节目来定制编码器设定值。由于一主网络通常具有要求高的高运动性节目(例如一主要的体育事件)与容易的、低运动性节目(例如新闻广播)两种内容,因而仅根据频道来选择编码器设定值对于许多频道而言可能并不有效。相应地,通过交叉参考具有当前日期时间的当前频道,系统可确定正在观看的节目,且可根据正在观看的实际节目来选择编码器的设定值。
[0068] 在另一实施例中,系统一直监控正在编码的A/V内容。产生基于预先选择的准则(例如视频中的运动的多少)的量度,并使用该信息动态地为个人广播器指配或调整编码器设定值。另一选择为,媒体播放器可自用户接收一关于正在收看何种内容(例如动作、音乐、新闻等等)的指示,所述指示被映射至针对该种内容得到最优化的框架中的预定义配置文件。
[0069] 对缓冲器资源的缓冲及控制
[0070] 根据本发明的一实施例,所述个人媒体广播器执行一种用于管理其缓冲器资源而不需要来自一客户端装置的反馈的缓冲方案。如上文所述,所述广播器与所述客户端可使用TCP作为一传送协议来进行通信,其中所述广播器充当一服务器。有利的是,TCP是一种可靠的协议且确保所发送的数据总能以正确的次序到达其目的地。可根据一种或多种已知技术对一服务器上的参数及/或TCP栈的行为进行监控以估计网络拥塞及速度。
[0071] 根据本发明的一实施例,在编码器(其产生数据)与网络接口上的TCP栈(其传输数据)之间增加一大的缓冲器。在TCP栈上面增加的所述附加缓冲器层有助于避免因网络拥塞及数据速率的可变性而丢失数据。在一实施例中,参见图3,编码器功能性由处理器320执行,TCP栈功能性由网络接口325执行,且缓冲器层构建于通用存储器330中或者一专用于所述大的缓冲器的存储器模块中。可考虑到至少两个如下参数来选择该缓冲器的大小:编码器可产生的最少数据及须支持的最大网络故障时间。尽管当可用带宽变至低于广播器所要求的最小带宽达长的时间周期时,所述系统无法防止数据丢失,然而一更大的缓冲器有助于降低此种危险。
[0072] 当广播器正在产生媒体流的数据时,中间缓冲器充当一FIFO队列。当可用网络带宽大于编码器的带宽时,广播器便能够在数据产生之后立即发送数据。所述中间缓冲器将开始变空。当可用网络带宽小于编码器的带宽时,广播器产生数据的速度将快于数据可被传输的速度。此将开始填充所述缓冲器。所述缓冲器可因此在完全填满与完全变空之间变化。为对所述缓冲器的占用度进行分类,定义若干个水印来指示缓冲器中剩下的自由空间的量。尽管水印的数量可有所变化,然而在一实施例中使用四个水印-在90%、75%、50%及30%的水平处。随着向所述缓冲器中增加数据及自所述缓冲器中取走数据,填充所述缓冲器的数据的量可随时间变化。当该水平达到其中一个水印时,视已达到哪一水印而采取不同的措施。
[0073] 对所述中间缓冲器中剩余的自由空间量进行观测达一时间周期(例如一分钟)。如果在上次观测周期期间缓冲器中自由空间的量仍高于90%水印,则可增大编码器的输出位速率。尽管可根据应用来采用任意增大量,然而在一实施例中,递增量约为当时正使用的位速率的10%。
[0074] 由于网络带宽随时间变化,因而可用带宽的骤然降低可能会频繁地发生。在这些情形中,TCP栈传输速率将下降且中间缓冲器的占用度将增大。如果这出现达一足够长的周期,则缓冲器中的自由空间将减小从而可能突破所述90%水印。广播器响应于此而将编码器的位速率减小一小的百分比,例如约为当时正在使用的位速率的15%。如果该网络问题是一临时性的问题,则TCP栈将再次能够发送所述缓冲器中的积压数据,从而使所述缓冲器中的自由空间量将再次上升至所述90%水印以上。可随后增大编码器的位速率。
[0075] 相反,如果所述网络问题持续存在,则自由空间量将继续减少。在一时间周期内,所述缓冲器将被填充且将突破其他水印。当每一水印被突破时,均进一步减小编码器的位速率。在一实施例中,这些后续减小量可更大(例如对于每一水印分别为33%、50%、50%)。
[0076] 如上文所述,所述系统智能地利用TCP栈行为来估计网络状态并在存在带宽变化的情况下作出反应来提供最佳的用户感受。与使用客户端-服务器交互作用相比,此可提供改良的性能-客户端-服务器交互作用可能较复杂、反应更慢、且如果预计编码器的输出位速率会发生变化则可能不能作出正确的决定。
[0077] 快速起动流式传输
[0078] 传统上,当一流式传输媒体播放器接收到一要播放一媒体流的命令时,所述媒体播放器在起动回放之前填充其音频/视频缓冲器。由于尽管打算使媒体流以一恒定速率播放,然而通过一网络传送媒体流所花费的时间通常会有所变化,因而通常保持一为五秒钟或更长的缓冲器来确保平滑地回放媒体。一旦累积了为充分填充所述缓冲器所需的数据量,所述媒体播放器便开始以正常播放速度(即1.0x)播放所请求的内容。不利的是,用户在观看所请求的内容之前必须等待为填充所述缓冲器所需的时间量。在比实时更快地发送所述流(例如来自一存储装置的媒体流)的应用中,该时间可能非常小,但当所接收的媒体流处于正常回放速度(即1.0x)时,该时间会非常显著。在此种情形中,填充一五秒钟的缓冲器将会花费五秒钟(假定不存在网络通信问题)。尽管在某些流式传输媒体应用中可容忍此种延时,然而当媒体流正在变化(例如在其中观众正在改变频道的个人媒体广播器中)时其会变得无法忍受。在此种情形中,每当改变频道(且因而改变媒体流)时,用户将须等待所述缓冲器重新填满。
[0079] 为避免此种缺陷,在本发明的一实施例中,当选择一频道媒体流时,所述媒体播放器执行一快速起动。通过使用所述快速起动,所述媒体播放器客户端应用程序在仍在填充其缓冲器的同时在自媒体广播器接收到视频时立即播放所述视频。通过此种方式,用户便无需等待媒体播放器的A/V缓冲器填满(例如在频道变化时),且媒体播放器仍可构建其缓冲器以实现平滑的回放。由于媒体播放器比正常播放速度略慢地播放A/V流,因而即使媒体播放器立即播放媒体流,其也能够填充其缓冲器。通过比正常回放速度略慢地播放所述流,超前于所回放流的所接收媒体流的一部分添加至所述缓冲器,从而形成A/V缓冲器的累积-尽管更为缓慢。由于用户无需等待内容得到缓冲并可立即开始收看所述内容,因而所述感受更加类似于对于正常电视的感受。
[0080] 在一实例中,所述媒体播放器以快速起动模式立即、但以比正常播放速度略慢的速度(例如0.85x速度)开始回放一所接收的媒体流。由于广播器以正常速度进行流式传输,因而媒体播放器缓慢地在其A/V缓冲器中累积媒体流数据。例如,如果回放速度是正常速度的85%,则数据以一15%的速率(或者对于每10秒钟的所接收流式传输数据为1.5秒钟)在A/V缓冲器中累积。一旦媒体播放器的缓冲器变满或者达到一可接受的水平,媒体播放器便开始以一正常速率播放媒体流,且A/V缓冲器停止累积数据。
[0081] 当流的播放速度略微变化时,视频流中的变化一般并不显著。然而,音频的变化会变得可立即感觉到。为解决这一点,媒体播放器可在保持音频流中的“音调”的同时对音频流使用时间拉伸。一种可用于对音频流进行时间拉伸的软件工具是SoundTouch,其为一种开放式源码音频处理程序库。在一实施例中,将回放速度自低的阈值(例如0.85x)缓慢升高至实时回放速度(例如1.0x)。回放速度升高的速率可为缓冲器水平的函数,因此用户不会感觉到回放速度的任何剧烈变化。可根据现有的回放速度来改变音频及视频样本的时间戳,以减小视频流中的跳动。因此,音频流中的变化也感觉不到,且用户不太可能感觉到正常流式传输速度与初始快速起动回放速度之间的差别。
[0082] 对低的延迟的控制模式
[0083] 在观看TV时其中一种最常用的功能是频道控制,且用户期望执行这些控制操作至多花费一秒钟。但当在服务器与客户端之间增加某一延时时通过IP网络进行的视频流式传输的性能最佳。该延时是为填充媒体播放器客户端中的A/V缓冲器所需的。用户交互作用的低延时与平滑的音频-视频显示这两个要求的性质相互矛盾。为处理这两个要求,在本发明的一实施例中,引入两种操作模式:正常模式及控制模式。
[0084] 在正常模式中,系统执行传统的音频-视频流式传输,其中由媒体播放器维护一为五秒钟或以上的缓冲器以确保平滑地回放。在此种模式中,如果网络位速率降至编码器位速率以下(即广播器处的编码器的运行超前于媒体流传输),则媒体广播器还可开始缓冲数据。因此向媒体广播器输出视频与在媒体播放器上观看视频之间的总的延时是三个参数之和:媒体广播器上的缓冲器所花费的时间,所述流自媒体广播器移至媒体播放器所花费的网络传输时间,及媒体播放器上的缓冲器所花费的时间。所述流自媒体广播器移至媒体播放器所花费的网络传输时间无法直接控制;然而,媒体广播器与媒体播放器二者可使由其缓冲器所造成的延时最小化。
[0085] 当用户开始通过媒体播放器与媒体广播器交互作用时,系统进入控制模式。在一实施例中,将用户交互作用定义为当用户请求一要通过媒体播放器用户界面来控制A/V源装置的操作的IR命令或调谐器命令时。在一实施例中,在自可致使所述系统开始控制模式的上次动作时起已经过一预定的时间量之后,所述系统自控制模式返回至正常模式。在另一实施例中,如下文所述,所述系统在其执行与进入控制模式相关联的操作之后立即返回至正常模式。
[0086] 一旦进入控制模式,媒体播放器及媒体广播器便通过若干种方式相对于在正常模式中的行为来改变其行为。
[0087] 如上文所述,在正常模式中,媒体播放器执行正常的A/V流式传输,其中媒体播放器自网络缓冲器读取媒体流并填充其音频/视频缓冲器。维护该缓冲器以确保平滑地回放。当进入控制模式时,媒体播放器刷新存在于A/V缓冲器及网络缓冲器中的数据。在一实施例中,当进入控制模式时,媒体播放器使源滤波器刷新在A/V缓冲器中以及在所有下游滤波器(解码器及再现器)(其可保存等于2-3秒钟的内容)中所缓冲的所有数据。SP然后刷新存在于网络缓冲器中的所有数据。此后,媒体播放器向媒体广播器发送一通知以进入控制模式并等待自媒体广播器接收的下一I-帧。
[0088] 在对源滤波器及网络缓冲器进行刷新操作之后,在媒体流中出现间断。所述滤波器内置有智能性,从而如果在媒体流中存在任何数据包间断,所述滤波器会等待下一I-帧。任何不是一I-帧的输入数据均被所述源滤波器丢弃,直至检测到一有效的I-帧为止。当媒体广播器进入控制模式时,其会立即发送一I-帧。在所述源滤波器检测到该I-帧时,会立即向下游发送该I-帧以便进行再现。在媒体播放器保持处于控制模式中的同时,在源滤波器中不进行任何缓冲;在自网络缓冲器读取样本后,立即将样本向下游发送以便进行再现。媒体播放器通过此种方式减小在客户端侧上的延迟。
[0089] 在一实施例中,一旦变至控制模式,媒体广播器便停止缓冲数据并刷新当前包含于其缓冲器中的数据。媒体广播器然后立即产生一I-帧(也称作关键帧)以发送至媒体播放器。所述I-帧允许媒体播放器重构一图像,而根据先前帧来对帧进行编码的其他类型的帧将因在媒体流中存在间断而不允许媒体播放器重构所述帧。
[0090] 然而,在已知现代音频-视频编码标准的从属性的情况下,可能不希望媒体广播器完全停止缓冲数据。这是因为在不进行缓冲的情况下可能会有过多的数据丢失,从而导致用户的感受非常差。因此可作出一折衷来对低的延时与合理的用户感受进行平衡。根据一组用于实现良好的平衡的经验值,允许根据内容的位速率在控制模式期间由媒体广播器缓冲一定量的数据。例如,在控制模式中,如果所缓冲的数据越过一约为一秒钟的限值,则可通过刷新所述数据来减少所缓冲的数据;然而,也可对不同的应用使用其他经验值。
[0091] 在一实施例中,媒体广播器例如通过周期性地计算最后几秒钟的平均传输位速率来跟踪有效传输位速率。其根据所述位速率来计算可容许的缓冲器使用率。如果使用率超过当前限制,则移除所有数据并强制一I/帧。这也意味着编码器输出速率大于网络传输速率;因此,将编码器输出减少至所观测的传输速率的一半。由于在媒体流中所形成的间断性,也强制一I-帧。
[0092] 接二连三的过多的用户控制命令将强制许多I-帧,此将不利地影响编码器。因此,所有缓冲器均刷新,且较佳对各I-帧的强制进行定时并使其间隔开至少一秒钟。
[0093] 当自控制模式返回至正常模式时,媒体播放器的源滤波器暂停所述回放,缓冲(例如多达五秒钟或以上)A/V缓冲器中的内容,并随后向下游发送所述数据以便进行再现。
[0094] 为在一低延迟、低缓冲器环境中有效地工作,当处于控制模式中时,可立即向个人广播器发送一命令来减小位速率。如果不作任何额外调整,此将导致图像质量降低;然而,由于正被导航的菜单屏幕通常具有几乎不存在运动的特点,因而可显著减小视频的帧速率。由于要处理的帧变少,因而个人广播器可输出一具有好到足以有效地读取屏幕上文本的图像质量的流。
[0095] 对于其中用户通过媒体播放器与媒体广播器交互作用的系统而言,通过该实施例的双重模式操作所实现的低延迟是一非常有利的特征。增加一控制模式便会实现此种低延迟,而在用户交互作用已停止后返回至正常模式则会实现为进行正常观看所需的平滑的流式传输。此外,与上文所述的快速起动流式传输相结合,所述控制模式功能通过自控制模式向正常观看的无缝转换来为用户提供一种低延迟控制交互作用感受。
[0096] 对所接收IP流的特技播放
[0097] 在一实施例中,一观看由个人广播器实时地编码并显示于媒体播放器上的实况流的用户可重放刚刚观看过的最后几秒钟或几分钟的内容,或者其可暂停所述实况流以在不久的未来在某个点处再继续。个人广播器接收及处理模拟输出信号;将其转换成数字格式;以一种压缩算法(例如MPEG-4、H.264、Windows Media Video Series 9、或另一种适当格式)对视频进行编码;并随后通过TCP/IP(或一种替代的协议,例如UDP、RTP、RTSP)将已编码的通路流流式传输至媒体播放器。
[0098] 为实现此种功能性,媒体播放器在接收一视频流的同时将最后五分钟(或由用户所选或者由产品制造商所限定的某个其他固定的时间周期)的音频及视频内容高速缓存至一本地存储媒体。媒体播放器可将所述数据存储于一本地存储媒体(例如在为一PC的情况下存储于一硬盘驱动器)上、或者某种可拆卸式媒体(包括但不限于微型闪存、智能媒体、存储棒、或微驱动器)上。
[0099] 当用户想要暂停或重放内容时,用户通过在媒体播放器用户界面中选择一带适当标签的按钮来指令媒体播放器进行此种操作。当用户指令媒体播放器倒回时,媒体播放器访问在其存储器中高速缓存的内容,从而使用户能够浏览所述内容并根据需要进行播放。一旦用户已将内容“倒回”,用户便可随后以快于实时速度的速度对所述流的观看进行“快进”,直至正显示视频流中最当前的点为止。当用户指令媒体播放器暂停时,媒体播放器暂停正在显示的视频流但继续接收正输入的流,媒体播放器将所述正输入的流高速缓存至其本地存储媒体中。媒体播放器继续在接收所述流时高速缓存所述流,直至当达到在处于暂停模式中时所允许高速缓存的最大分钟数(或数据大小)时的点为止。如果达到所述最大分钟数(或数据大小),则媒体播放器再继续回放。反之,媒体播放器在用户指令媒体播放器再继续回放时再继续回放。
[0100] 捕捉、编辑及发送来自一流式传输源的视频剪辑
[0101] 本发明的各实施例还使人们能够将视频剪辑发送给朋友及熟人。根据一实施例,所述媒体播放器连续地捕捉及高速缓存最后五分钟(或某个其他指定的时间周期)的所接收视频及音频。当所高速缓存的流达到五分钟(或某个其他指定的时间周期)时,媒体播放器自动地丢弃最早所记录的内容,从而使所高速缓存的五分钟始终为所流式传输的最近五分钟的媒体。
[0102] 当一用户看到所述用户想要捕捉及保存或分享的感兴趣的东西时,所述用户使用媒体播放器的图形界面点击或选择一指定的按钮或命令。一旦选定,媒体播放器便调出一简单的视频编辑界面,该简单的视频编辑界面使用户能够选择用户想要捕捉的剪辑的起点及终点。一旦已选定剪辑的范围,用户便选择一要保存所述剪辑或将所述剪辑发送给另一个人的命令。
[0103] 响应于一要发送所捕捉的视频剪辑的命令,媒体播放器调用常驻于用户的客户端装置上的电子邮件客户端,创建一新的消息,并将所述视频剪辑附到所述消息上。用户可随后选择所述消息的预定接收方并发送所述消息。地址簿数据库可为可自电子邮件客户端(例如Microsoft Outlook、Lotus Notes及其他电子邮件客户端)、以及任何基于因特网的消息接发服务(例如MSNMessenger及AOL Instant Messenger)得到的地址簿数据库。
[0104] 用于移动装置的个人录像机(PVR)功能性
[0105] 随着用户变得越来越习惯于移动装置上的视频感受,且移动存储器解决方案(例如可拆卸式闪速媒体及小的硬盘驱动器)变得越来越鲁棒及廉价,将会出现为这些装置增加个人录像机功能性的愿望。本发明的一个实施例向移动电话、通信器、PDA或其他连接至一广域网或其他位于用户局域网以外的远程网络的装置增加个人录像机的功能性。
[0106] 一种实现该目的的变化形式可以一作为远程客户端应用程序的一部分的调度程序为特征,所述调度程序与一电子节目指南相配合。当用户启动所述远程客户端应用程序时,其可搜索并选择其想要记录至其远程客户端上的表演。当用于预定记录的时刻出现时,所述远程客户端应用程序开始一记录。所述应用程序可调用所述远程客户端上的连接管理程序,所述连接管理程序又会打开一因特网连接。所述远程客户端应用程序然后连接至位于用户家中的个人广播器。
[0107] 接下来,所述远程客户端应用程序可发出与频道选择及服务器上的编码器设定值相关的正确的一组命令,并开始将输入的流捕捉至本地存储媒体(例如硬盘驱动器或闪速存储器)上。此可在后台进行,因此在远程客户端正在记录的同时,用户可打电话或者收听音乐(视装置的其他能力而定)。
[0108] 如果因网络连接丢失而使记录中断,可将实况流式传输内容临时存储于存在于所述个人广播器的一变化形式中的本地(内置式或可拆卸式)存储器上。一旦在个人广播器与远程客户端之间重新建立一连接,所述内容便考虑先前中断的传送所停止的点恢复自个人广播器至远程客户端的流。在另一种变化形式中,在个人广播器与远程客户端之间的连接已中断后,可使用一网络上存储装置(例如一PC)来临时存储内容。在另一实施例中,将一整个表演或媒体节目编码及存储于个人广播器上(或者一存储装置中),并随后传送至后台中的移动装置。有利的是,可在一对于数据传送而言更有效的时间来执行所述传送-例如在头一天晚上在非高峰时间期间将文件下载至蜂窝式电话上从而使所述内容可在第二天供用户离线观看。
[0109] 在其中正流式传输的媒体的原始源为一网络上存储装置(使用个人广播器作为一变码器/变速率器)的情形中,个人广播器与远程客户端之间的传送可随着时间来完成。换句话说,如果一远程客户端丧失网络连接性,则下载将此后在内容中的正确点处恢复并继续进行。
[0110] 另一能够在一远程装置上实现一PVR的实施例(其为上述实施例的一变化形式)允许个人广播器与一网络上存储装置(例如一PC或NAS或SAN装置)一起工作以为用户提供一可远程访问的PVR。个人广播器接收模拟内容,对所述内容进行数字化及编码,并然后将所形成的媒体流流式传输至网络上存储装置以进行存储。当用户想要自一远程客户端访问所述内容时,个人广播器在想要观看所述内容的远程客户端与所述网络上存储装置之间充当一仲裁器。个人广播器自所述网络上存储装置接收所述流且在将所述内容重新包装及流式传输至远程客户端之前对所述内容进行变码或变速率(如果需要)。
[0111] 将正在观看的节目与特定背景内容/广告配对
[0112] 本发明的一实施例为客户端提供向用户呈现网页、滚动新闻文本或根据用户当前正在观看的内容而异的其他信息的能力。例如,如果用户当前正在收看一场San Francisco Giants的棒球比赛,则可向用户呈现一详细说明联赛中其他棒球得分的“新闻自动收报器”、或者可能一具有关于San FranciscoGiants的统计数据及事实的网页。所述内容可嵌入于客户端应用程序自身的界面中或者可通过启动另一应用程序(例如网络浏览器)来呈现。类似地,可为用户呈现内容及特定背景广告。在同一常棒球比赛背景中的一实例将是一来自San Francisco Giants售票处的广告,所述San Francisco Giants售票处希望吸引观众购买未来的一场比赛的票。
[0113] 所述广播系统可通过若干种方式来确定用户当前正在观看的内容。在一实施例中,个人广播器或客户端向中心服务器发送信息,包括当前时间、正在使用的频道节目(例如位置及有线电视提供商)、及正调谐到的当前频道。中心服务器然后接纳所接收的信息并检查适用于用户的服务程序的电子节目指南。根据信息来确定用户当前正在观看哪一表演。另一选择为,客户端可自己执行节目指南查看并将该信息传输至中心服务器。
[0114] 在确定出用户当前正在观看哪一表演之后,可自中心服务器或公共因特网上的其他服务器向客户端媒体播放器传输重叠的信息及/或广告。另一选择为,可启动例如网络浏览器等应用程序,从而仅将用户发送至一规定的URL。客户端也可包含为对要显示给用户的任何相关信息或广告进行排队所需的信息。例如,客户端可已经在其存储器中存储了某些广告标语或者相关网站的URL,这些广告标语或者相关网站的URL根据用户观看何种类型的内容来排队。该方法缓解了许多自一中心服务器或其他远程服务器传输内容或广告的需要。
[0115] 包含个人录像机功能性(使用个人广播器上的本地存储器或者使用网络上存储装置)的实施例甚至在播放一先前录制的表演时也可提供特定背景的广告及信息。当被录制时,所述内容被“标”以指示所正捕捉的节目的信息。在回放时,可使用该信息来提示特定内容的信息及广告。
[0116] 特定内容的边缘保持前置滤波器
[0117] 涉及到基于块的视频编码器的低位速率编码会产生强的成块假象。为降低这些假象的严重性,在本发明的一实施例中,采用前置滤波以在压缩之前简化图像内容。前置滤波器常常包括低通滤波器,低通滤波器不仅能平滑成块假象而且还会不利地减少图像细节。而且,低通滤波器不能自适应于视频内容,此使其不适合于感知视频编码。为避免先前的前置滤波器的限制,媒体播放器的一实施例对自媒体广播器接收的媒体流执行一种特定内容的边缘估计算法。根据该实施例,一边缘估计值给出图像中应保持的细节的位置,同时一运动估计值给出所述内容的一是处于高度、中等、还是低度运动中的分类。
[0118] 在一实施例中,媒体播放器对所接收的流应用一前置滤波器。所述前置滤波器包括一低通滤波器,所述低通滤波器具有根据一边缘估计值、一运动水平估计值及一编码位速率而改变的通带特性。根据所述运动水平估计值及编码位速率,为一帧界定一滤波器特性。然后根据所述边缘估计值在像素层次上微调所述滤波器特性。通过使用此种方法,对高度运动的内容使用更高程度的平滑而对低度运动的内容使用更低程度的平滑,同时使细节保持完整。
[0119] 在一实施例中,界定两组自适应性低通滤波器。对于低位速率编码,使用大小为5×5的如下高斯滤波器:
[0120]
[0121] 对于高位速率编码,如在下表中所示使用一具有一大小为3×3的平均掩模的低通滤波器。
[0122]
[0123] 参数σ及Ψ根据所述边缘估计值、运动水平估计值及所述编码位速率而改变。增大σ或Ψ减小会增大视频的平滑性,而反之则会减小视频的平滑性。所述边缘估计值 是在像素层次上运算并通过在所有八个方向上求取梯度来获得。此表示为:
[0124]
[0125] 其中Δf0°={(x,y)-(x+1,y)},Δf45°={(x,y)-(x,y+1)},....
[0126] 如果 大于一阈值T,则不对当前像素执行前置滤波,从而保持图像细节。所述运动水平估计值给出一运动是高度运行、中等运动还是低度运动的分类。所述估计值是基于当前帧所需的位及每一个帧的位的递归平均值。如果当前帧的位大于所述递归平均值的α(始终>1)倍,则宣布当前视频内容为高度运动的,而如果当前帧的位少于所述递归平均值的β(<1)倍,则将所述视频内容归类为低度运动。在其他情况下,则将其归类为中等运动。根据运动类型来改变滤波器强度。对于高度运动的内容,例如,可与低度运动的内容相比应用一相对重的平滑滤波器。
[0127] 此种前置滤波方法不仅保留图像细节,而且还是针对特定内容的。换句话说,所述滤波器适用于如下运动类型:高,中等,或低。此种前置滤波方法为所有运动类型均提供非块状的恒定质量的编码视频。不同于传统的前置滤波器,此会在不牺牲质量的情况下减少帧的丢失。
[0128] 对编码器的帧速率调节及质量控制
[0129] 大多数处于低位速率的视频软件编码器均动态地丢弃视频帧以满足某个特定的目标位速率-常常是在高度运动期间。对帧的此种丢弃可造成跳动的视频及波动的质量水平。当可能丢弃很大段的帧时,运动估计过程会变得无效。为避免出现该问题,媒体广播器的一实施例使用一种多水平方法来调节帧速率,所述多水平方法设计成通过维持在每一水平上的帧速率及质量二者来增强用户的观看感受。
[0130] 在一实施例中,媒体广播器中的编码器根据一维持性量度SM来估计一可维持的帧速率。界定四个帧速率调节水平。根据SM来选择帧速率并界定一适当的质量水平。所述算法的每一阶段均使帧间距离保持恒定,从而保持临时的视频质量。此会得到更佳的运动估计及可接受的空间视频质量水平。
[0131] 在一实施例中根据如下算法来执行帧速率调节。由编码器界定的目标帧速率是F0。一维持性量度SM判定在时间间隔T内是否可维持所述帧速率。可将SM定义为可利用的位池对下一T秒钟中所需的所估计位之比。所述位估计值是每T秒钟的帧与每一帧的位的递归平均值的乘积。可根据“运动”估计值及目标位速率来计算SM。所述“运动”估计值是基于每一帧的所编码位的递归平均值。在一实施例中,后续各水平处的帧速率为:F1=Fo/2;F2=Fo/3;及F3=Fo/5。
[0132] 如果Fi表示指配给水平i的帧速率,则根据SM,每一个T作出一所述编码器是应在同一水平中继续进行还是移至一更高水平或更低水平的决定。如果SM小于α(指示在时间间隔T中不能维持当前帧速率Fi),则编码器移至水平i+1。如果编码器已处于最低帧速率F3,则其保持处于最低帧速率F3。在每一个T后再次执行该操作。因而当位速率不足以满足高度运动的内容的位速率需要时,所述水平会降低。
[0133] 在处于水平i的同时,只要i不为0,便在时间间隔T之后检查水平i-1的SM。如果SM大于β(>1),则其指示可在水平i-1处对当前内容进行编码,因此编码器移至水平i-1。此种方法由此努力使帧间距离在每一水平处保持恒定不变,从而改善了总体视频质量。
[0134] 对视频编码器的动态参数控制
[0135] 在一实时视频流式传输环境中,网络特性动态地变化。为改善对网路资源的使用,一视频编码器应能够适应于这些网络变化;然而,大多数标准的视频编码器却不支持此种适应性。根据本发明的一实施例,提供一种用于Windows Media Video(WMV9)编码器的方案,其中可在流式传输期间动态地改变参数。
[0136] 可在正在进行流式传输的同时动态地改变以下参数:位速率,帧速率,视频平滑性,及I-帧间隔。位速率可适应于在一既定时刻网络可支持的速率,且速率控制缓冲器延时、每一帧的位、及量化步长大小根据位速率的改变而变化。帧速率依赖于动态改变的位速率。在较低的位速率下,无法维持高的帧速率,此会造成在某些情形中需要一动态的帧速率。视频平滑性参数指示经编码视频的质量。支持高的视频平滑性值的较低位速率可造成跳动的视频,而在较高位速率下的低的视频平滑性值会导致可用资源的利用不足。根据视频平滑性参数而定,改变量化上限及下限步长值,此会影响视频的质量。由于为对I-帧进行编码所需的位大于P帧所需的位,因而I-帧间隔对于较低的位速率而言较大。在较高的位速率下可减小I-帧间隔,其中可提供更多的位。
[0137] 相应地,媒体广播器中的编码器可动态地调整这些参数以适用于变化的网络特性并使系统资源的利用最优化。与在一实时流式传输环境中并不动态地改变上述参数的标准WMV9编码器相比,此能够实现改良的性能。尽管是在使用Windows Media Video(WMV9)进行视频编码的背景下进行说明,然而此种方法也可应用于其他视频压缩格式,包括MPEG-4、H.263、H.264及任何其他使用本文所述的相同或类似参数的压缩格式。
[0138] 与传统CE菜单的点击交互作用
[0139] 由于个人广播器对正使用的A/V源装置的模拟输出进行数字化、编码及流式传输,因而客户端向用户呈现所述A/V源装置的完整界面。由客户端所再现的用于对所述A/V源装置的菜单进行导航的缺省范例与用户以一种更传统方式观看A/V源装置的情形完全相同。换句话说,导航模式通常包含“UP(向上)”、“Down(向下)”、“Right(向右)”、“Left(向左)”及“Select(选择)”作为其关键组件。然而,也可存在用于与菜单及其他列表进行交互作用的替代方法。例如,媒体播放器的一实施例并非将“Down”命令按下四次来突出显示一自当前所突出显示的项向下四个间距的项,而是允许用户仅直接点击所需的菜单项。此会加快所述交互作用并利用在许多计算装置中可得到但通常不与电视机一起使用的丰富的人机接口工具(例如键盘和鼠标)。
[0140] 热点查找程序
[0141] 在本发明的一实施例中,媒体播放器包括一存储于客户端装置上并可在客户端不连接至网络时访问的热点(在公共位置中可得到的无线宽带网络)目录。此种目录使用户能够更容易地找到一其中用户可利用个人媒体广播器的位置。
[0142] 测试及配置用户的NAT
[0143] 对于具有一包括网络地址转换(NAT)的家庭因特网网关的用户而言,为使用户能够自一远程网络访问个人广播器,可能需要某种配置。这是因为除非已明确指令NAT如何转发输入的数据包,否则许多NAT将拒绝所述输入的请求。存在许多种用于解决该问题的方法,其中某些方法比其他方法更加可取及自动化。本发明的某些实施例包括一种用于确定及执行可能的解决方案的多步骤方法。
[0144] 所述系统可首先尝试着判定所述家庭因特网网关是否支持UPnP(通用即插即用)。如果支持,则个人广播器可能够使用UPnP来控制所述家庭因特网网关。个人广播器可因此指令所述NAT将一规定的端口转接至专用于个人广播器的内部IP地址。
[0145] 如果所述家庭因特网网关不支持UPnP,则所述系统可随后尝试着确定所述家庭因特网网关中的NAT的类型,且具体而言所述NAT是否是一全锥体型NAT。可使用中心服务器作为一STUN服务器来执行该检测,所述STUN服务器运行各种测试来判定所述个人广播器位于其后面的NAT为何种类型。存在四种基本的NAT类型:全锥体型,受限锥体型,端口受限锥体型,及对称型。全锥体型NAT是一种如下的NAT:其允许其后面的客户端自一个外部机器接收被定址至一所述内部客户端在将一消息发送至另一外部机器时所使用的IP地址及端口的消息。如果个人广播器位于一全锥体型NAT后面,则可:所述个人广播器不时地向中心服务器发送一消息,且所述中心服务器记录所述消息所接收自的IP地址及端口。当一远程客户端想要连接至个人广播器时,其向中心服务器询问由个人广播器最近用于发送其消息的地址及端口。远程客户端可使用同一IP地址及端口来定位及连接至个人广播器。如果所述NAT不是一全锥体型NAT,则使用另一种方法。
[0146] 将使用的第三种可能的方法包括一种UDP“冲孔”技术。此种技术-其为相关技术领域中的一般技术人员所知-将涉及到使用中心服务器作为一“介绍”远程客户端及个人广播器的途径。所述方法对除对称型NAT以外的所有NAT类型均有效(因此STUN测试将适用于判定这是否是一可行的选项)并使用中心服务器来使两个装置均同时向彼此发送消息。由于这两个装置均相信其正在“开始”对话,因而允许返回数据包经由NAT流至目的地装置。
[0147] 如果上述方法及其他方法中的任一种均不是可行的解决方案,则本发明可使用户一步一步地经过多个步骤来人工配置家庭因特网网关上的NAT。为使此变得容易并结合入个人广播器的设置过程中,可将家庭因特网网关的配置屏幕嵌入容纳所述设置应用程序的窗口中。此会为用户提供更强的无缝性感觉。
[0148] 装置上EPG
[0149] 本发明的一种变化形式以一就地驻留于客户端上的电子节目指南(EPG)为特点。所述EPG是在个人广播器进行初始配置时加以配置。向用户询问邮政编码以及用户所订购的服务和程序包。所述客户端应用程序根据该信息下载一涵盖接下来的几天的EPG。不时地通过自中心服务器或另一来自一第三方提供商的服务器进行下载来更新所述EPG。可将EPG就地存储于客户端上。
[0150] 可有利地使EPG为交互式的。在由一装置上EPG所实现的诸多特征中,用户可查找节目内容并按若干个变量对节目内容进行分类,且在一频道上进行单“击”便可自动地将A/V源装置及媒体播放器调谐至所期望的频道。
[0151] 社区或“朋友”列表
[0152] 所述媒体播放器的一实施例包含一“朋友列表”。用户可使用所述朋友列表来连接至驻留于不同位置处的个人广播器。例如,如果Charlie宣布Amy为一“朋友”,则Charlie的个人广播器会出现于Amy的朋友列表上。Amy通过选取Charlie的个人广播器而连接至Charlie的装置。所有必要的设定值(例如IP地址、端口、口令及任何其他所必需的设定值)均自动提供给朋友。
[0153] 最后来的,最后得到服务
[0154] 本发明的另一实施例在任一既定时刻仅允许单个客户端连接至个人广播器。广播器可执行若干种优先权方案,其中一种是最后来的最后得到服务。在此种方案中,如果客户端A已连接且客户端B试图进行连接,则将优先权赋予客户端B。一个实施例可向客户端A提供一消息来通知客户端A的用户所述客户端即将被断开。可为客户端A的用户提供超越该规则并仍保持连接的机会。此种优先权系统尤其适用于其中一个人在家中登录、随后在未断开的情况下离开家中并试图自一远程客户端登录的情形。
[0155] 加密及安全性
[0156] 在本发明的不同实施例中可使用各种已知的安全性机制。可与本文所述的个人媒体广播系统一起使用的安全性机制的实例包括但不限于:口令保护,通过一安全链接进行通信,对通过远程网络发送的内容进行加密。
[0157] 中断本地显示
[0158] 在另一实施例中,所述媒体广播器包括用于所有输入端的A/V通过线,其中存在对应于每一输入端的一输出端。此使用户不必在一A/V源装置上使用多个输出端并可提供一种用于禁止两个会话的完整方法。此外,该实施例可用于禁止同时出现一客户端连接至个人广播器与在本地观看插入至个人广播器内的A/V源。例如,假如某个人正在家中收看一按次付费的电影,且一连接至个人广播器的用户调谐至同一电影,则个人广播器可禁用其A/V输出端。是否禁用A/V输出端可依赖于内容。例如,在一实施例中,仅按次付费的内容触发一中断,而正常的节目则不会触发一中断。可将此种区别性对待方案与如上文所述的EPG相结合。
[0159] 总结
[0160] 上文已出于例示目的而提供了对本发明实施例的说明,其并非旨在作为详尽性说明或者将本发明限定为所揭示的确切形式。相关技术领域中的技术人员可了解,根据上文揭示内容可作出许多种修改及变化。因此,本发明的范围并非旨在由该详细说明加以限定,而是由其随附权利要求书加以限定。