用于通过合作对等修复促进纠错的方法和装置的制作方法

文档序号:7849895
专利名称:用于通过合作对等修复促进纠错的方法和装置的制作方法
技术领域
本发明的实施例一般涉及数据传输技术,且更具体地,某些示例实施例涉及用于促进纠错的方法和装置。
背景技术
现代通信时代已经引起了有线网络和无线网络的巨大的膨胀。当提供信息传输的更多的灵活性和即时性时,无线和移动网络技术已经解决了相关的消费者需求。在网络技术膨胀的同时,计算能力的膨胀已经导致了可负担得起的计算设备的发展,所述计算设备能够利用可能由现代网络技术产生的服务。因此,小型化的移动计算设备已经变得无处不在,且被各种社会经济背景的消费者用来访问网络应用和服务。在这方面,消费者经常使用移动计算设备来访问需要通过移动网络进行数据传输 的服务。例如,多媒体流媒体服务(例如包括视频、音频和其它多媒体内容的流媒体)需要通过网络传输大量数据。然而,通过网络且尤其通过移动网络所传输的数据,由于信道噪声、数据冲突以及其它可影响数据传输的网络条件,在传输期间遭受数据错误的引入。

发明内容
在这里提供了用于促进纠错的方法、装置和计算机程序产品。根据各种实施例的方法、装置和计算机程序产品可给计算设备、数据网络以及计算设备用户提供多种益处。某些示例实施例提供了被配置为除了与数据内容一起被接收的纠错数据之外获取额外的纠错数据(也被称为“修复数据”)的装置,其中所述纠错数据被配置为对所述数据内容进行修复。在这方面,某些示例实施例提供了被配置为经由对等网络从一个或多个对等装置获取额外的修复数据的装置。在某些示例实施例中,响应于确定与内容项目一起被接收的修复数据不足以修复内容项目中的错误,而触发对额外的修复数据的获取。在某些示例实施例中,响应于估计与内容项目一起被接收的修复数据不足以修复内容项目中的错误,而触发对额外的修复数据的获取,其中内容项目中的错误可能由于现有网络状况和/或所估计的未来网络状况而被引入。在这方面,某些示例实施例通过以下方式来促进更具鲁棒性的纠错通过不管是否需要额外的修复数据都要求将额外的修复数据与内容项目一起传输,来当需要额外的修复数据时,在不增加第一网络连接的负担的情况下经由第二网络连接获取额外的修复数据,其中所述内容项目是通过第一网络连接接收的。在第一示例实施例中提供了一种方法,其包括经由第一网络连接通过内容分发网络接收内容项目和第一修复数据。这个实施例的方法进一步包括经由第二网络连接从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据。这个实施例的第一和第二修复数据被配置为使得能够对内容项目进行纠错。在另一个示例实施例中,提供了一种装置。这个实施例的装置包括至少一个处理器和存储计算机程序代码的至少一个存储器,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置至少经由第一网络连接通过内容分发网络至少接收内容项目和第一修复数据。所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器进一步使得这个实施例的装置经由第二网络连接从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据。这个实施例的第一和第二修复数据被配置为使得能够对内容项目进行纠错。在另一个示例实施例中,提供了一种计算机程序产品。这个示例实施例的计算机程序产品包含具有在其中存储的计算机可读程序指令的至少一个计算机可读存储介质。这个实施例的程序指令包括被配置为使得经由第一网络连接通过内容分发网络接收内容项目和第一修复数据的程序指令。这个实施例的程序指令进一步包括被配置为使得经由第二 网络连接从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据的程序指令。这个实施例的第一和第二修复数据被配置为使得能够对内容项目进行纠错。在另一个示例实施例中,提供了一种装置,其包括用于经由第一网络连接通过内容分发网络接收内容项目和第一修复数据的部件。这个实施例的装置进一步包括用于经由第二网络连接从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据的部件。这个实施例的第一和第二修复数据被配置为使得能够对内容项目进行纠错。提供以上概述仅仅是为了概括本发明的一些示例实施例以便提供对本发明的一些方面的基本理解。因此,将被理解的是,上面所描述的示例实施例仅仅是示例且不应该被解释为以任何方式限制本发明的范围或精神。将被理解的是,本发明的范围涵盖许多潜在的实施例,除了那些在这里被概括的实施例以外,将在下面进一步描述一些潜在的实施例。


已经这样笼统地描述了本发明,现在将参考附图,其不必是按比例绘制的,且其中图I示出了根据本发明的示例实施例的用于促进纠错的系统的方框图;图2是根据本发明的示例实施例的移动终端的示意方框图;图3示出了根据本发明的示例实施例的用于促进纠错的终端装置的方框图;图4示出了根据本发明的示例实施例的用于促进纠错的内容分发装置的方框图;图5示出了根据本发明的示例实施例的用于促进纠错的系统;图6示出了按照根据本发明的示例实施例的用于促进纠错的示例方法的流程图。
具体实施例方式现在将在下文中参考附图更全面地描述本发明的一些示例实施例,在其中示出了本发明的一些但不是全部实施例。实际上,本发明可以以多种不同的形式实现,且不应该被解释为仅限于这里所描述的实施例;更确切地,这些示例实施例被提供为使得这个公开将满足适用的法律要求。相应的标号始终指代相应的元件。如这里所使用的,可互换地使用术语“数据”、“内容”、“信息”以及类似术语,来指代能够按照本发明的实施例被发送、被接收和/或被存储的数据。从而,对任何这些术语的使用不应该被用来限制本发明的实施例的精神和范围。进一步地,在计算设备在这里被描述为从另一个计算设备接收数据的情况下,应理解的是可直接地从另一个计算设备或可间接地经由一个或多个中间计算设备(诸如例如一个或多个服务器、中继、路由器、网络接入点和/或基站等)接收数据。
另外如这里所使用的,术语“电路”指代(a)仅硬件电路实施方式(例如在模拟电路和/或数字电路中的实施方式);(b)电路和包括在一个或多个计算机可读存储器上存储的软件和/或固件指令的(多个)计算程序产品的组合,所述组合一起工作使得装置执行这里所描述的一个或多个功能;以及(c)需要软件或固件以用于操作的电路(诸如例如(多个)微处理器或(多个)微处理器的一部分),即使软件或固件物理上不呈现。“电路”的这个定义适用于这里(包括在任何权利要求中)对这个术语的所有的使用。作为进一步的示例,如这里所使用的,术语“电路”还包含这样的实施方式,所述实施方式包括一个或多个处理器和/或一个或多个处理器的(多个)部分以及附带的软件和/或固件。作为另一个示例,如这里所使用的术语“电路”还包括例如用于移动电话的基带集成电路或应用处理器集成电路,或者在服务器、蜂窝网络设备、其它网络设备和/或其它计算设备中的类似的集成电路。在无线通信中,电磁波传播原理决定接收机经历的接收信号强度(RSS)的时/空变化波动。这个RSS波动被称为衰落。衰落被分类为快衰落或慢衰落。快衰落可归因于由于多径传播所引起的建设性和破坏性的无线电波干扰,而慢衰落由于空间中的无线电波的反射、散射和衍射属性引起。慢衰落主要由于干扰发射机和接收机之间的阻碍视线的大型障碍物(例如建筑物、丘陵或隧道)的存在而被引起。快衰落和慢衰落被表现为比特流错误,如脉冲一样发生,处于传输协议栈的较高的层中。一种用于对抗由于广播环境中的衰落而引起的突发错误的方法是使用前向纠错(FEC)编码(FEC)。在这个方法中,发射机增加受控制的量的冗余数据,其帮助在接收机中恢复错误数据。(n,k) FEC码将k个符号编码为n :n>k个已编码符号。最小距离可分(MDS)(n,k) FEC编码确保当已经知道错误所在的位置时,可恢复η个已编码符号中的任何(n-k)个已损坏的符号。有时候基于源数据块计算FEC码。当基于源数据块计算FEC码时,源数据被称为“源块”,且已编码的数据被称为“FEC块”。如果FEC码是系统化的,源块本身显现在FEC块中且剩余的FEC块由FEC修复数据占用。相反,没有源块本身显现在通过非系统化FEC码进行编码的FEC块中。快衰落被视为快速RSS波动,其将它们自己表现为短持续时间的突发错误。慢衰落,也被称为遮蔽,其损坏与快衰落相比持续时间远远更长的数据。为了纠正由于快衰落和慢衰落两者而引起的突发错误,希望具有长FEC块。有时候,源块的数据在FEC编码之前被交织。交织将数据在时间上扩展开,从而突发错误被转换为随机的或较小的突发错误。这给FEC编码提供了更好的纠错机会。然而,块FEC和数据交织可在接收机中引起相对较长的初始延迟。在这方面,为了完全地利用FEC修复数据,在源块的解码可以开始之前必须接收整个FEC块。在移动电视广播的情况下,调谐延迟(经常被称为信道切换延迟)应该相对较小从而获得好的用户体验。在这方面,用户习惯于陆地数字电视的典型信道切换延迟(其可以是大约0.5秒),且用户期待在移动电视中具有类似的延迟。这个性能期待限制了源块的大小以及可被应用的时间交织的量。对FEC块大小以及时间交织深度的限制意味着不是所有的突发错误都能够被纠正。不能被纠正的错误大多如大脉冲那样发生,主要归因于遮蔽。因此,本发明的示例实施例提供用于促进纠错的系统、方法、装置以及计算机程序产品。在这方面,本发明的示例实施例在没有引起在呈现媒体内容中的时延的情况下促进纠错,所述时延可消极地影响用户体验。
图I示出了根据本发明的示例实施例的用于促进纠错的系统100的方框图。应理解的是,装置102被提供作为本发明的一个实施例的示例,且不应该被解释为以任何方式限制本发明的范围或精神。在这方面,公开的范围涵盖除了在这里所示出和所描述的那些实施例之外的许多潜在的实施例。因此,尽管图I示出了用于促进纠错的系统的一个示例,许多其它配置也可被用于实施本发明的实施例。在至少一些实施例中,系统100包含多个终端装置102和内容分发装置104。尽管出于示例的目的在图I中仅仅示出了两个终端装置102,应理解的是,系统100可包含多于两个终端装置102。内容分发装置104可被实现为一个或多个服务器、一个或多个台式计算机、一个或多个膝上型计算机、一个或多个移动计算机、一个或多个网络节点、互相通信的多个计算设备和/或其任意组合等。在这方面,内容分发装置104可包括多个计算设备或任意计算设备,其被配置为如这里所描述的这样通过内容分发网络106分发内容给一个或多个终端装置102。在各种实施例中,内容分发装置104可包括内容始发器、内容编码器、用于转发由 另一个装置始发或编码的内容的中继装置,和/或内容服务器等。在一个示例实施例中,内容分发装置104包括广播内容服务器(BCS),其存储或否则具有对将通过内容分发网络106广播的内容项目的访问。不管内容分发装置104是如何被实现的,内容分发装置104可被配置为通过内容分发网络106传播内容。终端装置102可被实现为任何计算设备,诸如例如台式计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通讯设备、游戏设备、数码相机/摄像机、音频/视频播放器、电视设备、无线电接收机、数码录像机、定位设备、手表、便携式数字助理(PDA)和/或其任意组合等。在这方面,终端装置102可被实现为被配置为接收由内容分发装置104通过内容分发网络106分发的内容和修复数据的任何计算设备。内容分发网络106可包括无线网络(例如蜂窝网络、无线局域网、无线个域网和/或无线城域网等)、有线网络或其一些组合,且在一些实施例中包括因特网的至少一部分。在一个示例实施例中,内容分发网络106包括手持数字视频广播(DVB-H)网络或其它移动广播网络。如将在这里进一步被描述的,终端装置102可被配置为从内容分发装置104和/或从之前已经从内容分发装置104接收了内容的一个或多个中间设备接收由内容分发装置104分发的内容和修复数据。例如,终端装置102可被配置为从中继、网络接入点、基站和/或无线发射机等接收由分发装置104分发的内容。终端装置102可被进一步配置为经由对等网络108与其它终端装置102交换修复数据。对等网络108可包括被配置为使得终端装置102能够从另一个终端装置102接收修复数据或给另一个终端装置102发送修复数据的任何网络。在这方面,对等网络108可包括无线网络(例如蜂窝网络、无线局域网、无线个域网和/或无线城域网,等等)、有线网络或其一些组合,且在一些实施例中包括因特网的至少一部分。例如,对等网络108可包括叠加网络,其可以在任何类型的底层网络上。在这方面,对等网络108可包括在内容分发网络106上的叠加网络。作为另一个示例,对等网络108可包括ad-hoc无线网络。例如,对等网络108可包括在使用设备到设备通信技术和/或基于邻近的通信技术(例如蓝牙、无线通用串行总线和/或红外线,等等)等的两个或多个终端装置102之间形成的ad-hoc无线网络。仍然作为另一个示例,对等网络可包括在基于因特网协议(IP)的任何网络的顶部的叠加网络,其可以全部地或部分地是因特网的一部分。对等网络108中的隶属关系和通过对等网络108进行的修复数据的分发可由对等服务器或其它控制装置(未示出)控制。在对等网络108中的隶属关系和/或在对等网络108上的修复数据的分发由对等服务器控制的实施例中,对等服务器可包括例如内容分发装置104。在示例实施例中,终端装置102被实现为例如在图2中所示出的移动终端。在这方面,图2示出了代表终端装置102的一个实施例的移动终端10的方框图。然而应该理解的是,所示出的和在下文中所描述的移动终端10仅仅是说明可实施和/或可受益于本发明的实施例的一种类型的终端装置102,且因此不应该被用来限制本发明的范围。尽管出于示例的目的示出了且在下文中将描述电子设备的多个实施例,其它类型的电子设备(例如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上型计算机、台式计算机、游戏设备和电视机)以及其它类型的电子系统可采用本发明的实施例。 如图所示,移动终端10可包括与发射机14和接收机16通信的天线12 (或多个天线12)。移动终端10还可包括被配置为分别给发射机提供信号和从接收机接收信号的处理器20。例如,处理器20可被实现为各种部件,包括电路、具有附带的(多个)数字信号处理器的一个或多个微处理器、没有附带的数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、各种其它处理元件(包括诸如ASIC (专用集成电路)或FPGA (现场可编程门阵列)的集成电路)或其一些组合。因此,尽管在图2中示出为单个处理器,在一些实施例中处理器20包括多个处理器。由处理器20发送和接收的这些信号可包含根据适用蜂窝系统的空中接口标准、和/或任意数量的不同的有线或无线网络技术(包括但不限于无线保真(Wi-Fi),和/或例如电气和电子工程师学会(IEEE) 802. 11和802. 16的无线局域网(WLAN)技术,等等)的信令信息。另外,这些信号可包含语音数据、用户生成的数据和/或用户请求的数据等。在这方面,移动终端可以能够按照一个或多个空中接口标准、通信协议、调制类型和/或接入类型等进行操作。更具体地,移动终端可以能够按照以下协议进行操作各种第一代(1G)、第二代(2G)、2. 5G、第三代(3G)通信协议、第四代(4G)通信协议,和/或因特网协议多媒体子系统(IMS)通信协议(例如会话初始协议(SIP)),等等。例如,移动终端可以能够按照2G无线通信协议IS-136 (时分多址接入(TDMA))、全球移动通信系统(GSM)和/或IS-95 (码分多址接入(CDMA))等进行操作。还例如,移动终端可以能够按照2. 5G无线通信协议通用分组无线业务(GPRS)和/或增强型数据GSM环境(EDGE)等进行操作。进一步例如,移动终端可以能够按照3G无线通信协议(例如通用移动通信系统(UMTS)、码分多址接入2000(CDMA2000)、宽带码分多址接入(WCDMA)和/或时分同步的码分多址技术(TD-SCDMA)等)进行操作。另外,移动终端可以能够按照3. 9G无线通信协议(例如长期演进(LTE)或演进的通用陆地无线接入网络(E-UTRAN)和/或类似协议)进行操作。另外例如,移动终端可以能够按照第四代(4G)无线通信协议和/或类似协议以及可在未来被开发的类似的无线通信协议进行操作。一些窄带高级移动电话系统(NAMPS)、以及全接入通信系统(TACS)、移动终端也可受益于这个发明的实施例,双模或高次模电话(例如数字/模拟或TDMA/CDMA/模拟电话)也应该可受益于这个发明的实施例。另外,移动终端10可能能够按照无线保真(Wi-Fi)或全球微波互联接入(WiMAX)协议进行操作。应当理解,处理器20可包括用于实现移动终端10的音频/视频和逻辑功能的电路。例如,处理器20可包括数字信号处理器设备、微处理器设备、模拟-数字转换器和/或数字-模拟转换器等。移动终端的控制和信号处理功能可按照它们相应的能力在这些设备之间分配。处理器可额外地包括内部语音编码器(VC)20a和/或内部数据调制解调器(DM)20b等。进一步地,处理器可包括操作一个或多个可在存储器中存储的软件程序的功能性。例如,处理器20可以能够操作连通性程序例如web浏览器。连通性程序可允许移动终端10根据诸如无线应用协议(WAP)和/或超文本传输协议(HTTP)等的协议发送和接收web内容,例如基于位置的内容。移动终端10可以能够使用传输控制协议/因特网协议(TCP/IP)穿过因特网或其它网络发送和接收web内容。移动终端10还可包括可被可操作地耦合到处理器20的用户接口,所述用户接口包括例如听筒或扬声器24、振铃器22、麦克风26、显示器28、和/或用户输入接口,等等。在这方面,处理器20可包括被配置为控制用户接口(诸如例如扬声器24、振铃器22、麦克风26和/或显示器28等)的一个或多个元件的至少某些功能的用户接口电路。处理器20和/或包括处理器20的用户接口电路可被配置为通过存储在处理器20可访问的存储器(例如易失性存储器40和/或非易失性存储器42等)上的计算机程序指令(例如软件和/或固件),来控制用户接口的一个或多个元件的一个或多个功能。尽管未示出,移动终端可包括用于给关联于移动终端的各种电路(例如提供机械振动作为可检测输出的电路)供电的电池。用户输入接口可包括允许移动终端接收数据的设备,例如键区30、触摸显示器(未示出)、操纵杆(未示出)和/或其它输入设备。在包括键区的实施例中,键区可包括数字键(0-9)和相关键(#,*)和/或其它用于操作移动终端的键。如图2所示,移动终端10还可包含一个或多个用于共享和/或获取数据的部件。例如,移动终端可包括短程射频(RF)收发信机和/或询问器,从而可根据RF技术与电子设备共享数据和/或从电子设备获取数据。移动终端可包括其它短程收发信机,诸如红外线(IR)收发信机66、使用由蓝牙 特别兴趣小组开发的蓝牙 商标无线技术的蓝牙 (BT)收发信机68、和/或无线通用串行总线(USB)收发信机70,等等。蓝牙 收发信机68可以能够按照超低功率蓝牙 技术(例如Wibree )无线标准进行操作。在这方面,移动终端10以及更具体地短程收发信机可以能够在移动终端的邻近范围内(诸如例如10米范围内)给电子设备发送数据和/或从电子设备接收数据。尽管未示出,移动终端可以能够根据各种无线网络技术(包括无线保真(Wi-Fi)以及诸如IEEE 802. 11技术、IEEE 802. 15技术和/或IEEE 802. 16技术的WLAN技术等)给电子设备发送数据和/或从电子设备接收数据。移动终端10可包含定位电路36。定位电路36可包含例如全球定位系统(GPS)传感器、和/或辅助全球定位系统(辅助-GPS)传感器,等等。然而,在一个实施例中,定位电路36包含计步器、加速度计和/或惯性传感器。进一步地,定位电路36可被配置为基于信号三角或其它机制确定移动终端的位置。在一些实施例中,定位电路36被配置为确定移动终端的位置,例如移动终端的纬度和经度坐标或相对于参考点(例如目的地或出发地)的位置。来自于定位电路36的信息可以被通知给移动终端的存储器或通知给另一个存储器设备,从而被存储为定位历史、位置信息和/或移动信息等。进一步地,移动终端的存储器可存储用于确定小区ID信息的指令。在这方面,存储器可存储由处理器20运行的应用程序,其确定移动终端正在与其通信的当前小区的身份,例如小区ID身份或小区ID信息。结合定位电路36,小区ID信息可被用于更精确地确定移动终端的位置。移动终端10可包括可存储与移动订户相关的信息元素的存储器,例如订户身份模块(SM) 38和/或可移除用户身份模块(R-UM)等。除了 SM之外,移动终端可包括其它可移除和/或固定存储器。移动终端10可包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可包括包括动态和/或静态RAM的随机存取存储器(RAM)、和/或片上或片外缓存存储器,等等。可被嵌入和/或移除的非易失性存储器42可包括例如只读存储器、闪存、磁存储设备(例如硬盘、软盘驱动和磁带等)、光盘驱动和/或媒体、和/或非易失性随机存取存储器(NVRAM),等等。和易失性存储器40 —样,非易失性存储器42可包括用于数据的暂时存储的缓存区域。存储器可存储可被移动终端用来执行移动终端的功能的一个或多个软件程序、指令、多条信息和/或数据等。例如,存储器可包括能够唯一地识别移动终端10的标识符,例如国际移动设备标识(MEI)。
现在参考图3,图3示出了根据本发明的示例实施例的终端装置102的方框图。终端装置102可包含用于执行这里所描述的各种功能的各种部件。终端装置102的这些部件例如可包含一个或多个处理器110、存储器112、通信接口 114、用户接口 116或纠错电路118。如这里所描述的终端装置102的这些部件可被实现为例如电路、硬件元件(例如被合适地编程的处理器和/或组合逻辑电路等)、包含可由被合适地配置的处理设备(例如处理器110)运行的存储在计算机可读介质(例如存储器112)上的计算机可读程序指令(例如软件或固件)的计算机程序产品或其一些组合。例如,处理器110可被实现为各种部件,包括具有附带的(多个)数字信号处理器的一个或多个微处理器、不具有附带的数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路(诸如例如ASIC (专用集成电路)、FPGA (现场可编程门阵列))的各种其它处理元件,或其一些组合。因此尽管在图3中示出为单个处理器,在一些实施例中,处理器110包括多个处理器。多个处理器相互之间可以可操作地通信,且可被集体地配置为执行这里所描述的终端装置102的一个或多个功能性。在终端装置102被实现为移动终端10的实施例中,处理器110可被实现为或包括处理器20。在示例实施例中,处理器110被配置为执行存储在存储器112中或否则可由处理器110访问的指令。当由处理器110执行时,这些指令可使得终端装置102执行如这里所描述的终端装置102的一个或多个功能。这样,不管由硬件或软件方法还是由其组合配置,当被相应地配置时,处理器110可包括能够根据本发明的实施例执行操作的实体。从而,例如当处理器110被实现为ASIC或FPGA等时,处理器110可包括用于执行这里所描述的一个或多个操作的被特定地配置的硬件。可替换地,作为另一个示例,当处理器110被实现为例如可在存储器112中存储的指令的运行器时,所述指令可特别地配置处理器110以执行这里所描述的一个或多个算法和操作。存储器112可包括例如易失性存储器、非易失性存储器或其一些组合。尽管在图3中示出为单个存储器,存储器112可包括多个存储器。在多种示例实施例中,存储器112可包括例如硬盘、随机存取存储器、缓存存储器、闪存、光盘只读存储器(⑶-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、配置为存储信息的电路、或其一些组合。在终端装置102被实现为移动终端10的实施例中,存储器112可包括易失性存储器40和/或非易失性存储器42。存储器112可被配置为存储用于使得终端装置102能够执行按照本发明的示例实施例的各种功能的信息、数据、应用、或指令,等等。例如,至少在某些实施例中,存储器112被配置为缓冲由处理器110处理的输入数据。额外地或可替换地至少在某些实施例中,存储器112被配置为存储由处理器110运行的程序指令。存储器112可以以静态和/或动态信息的形式存储信息。所存储的信息可包括例如经由内容分发网络106接收的内容项目、修复数据和/或类似信息。这个所存储的信息可由纠错电路118在执行它的各种功能性的过程中存储和/或使用。通信接口 114可被实现为任何被实现在电路、硬件、包括计算机可读程序指令的计算机程序产品或其组合中的设备或部件(其中,所述计算机可读程序指令存储在计算机可读介质(例如存储器112)上且由处理设备(例如处理器110)运行),其被配置为例如通过网络(例如内容分发网络106和/或对等网络108等)从实体(例如内容分发装置104和/或另一个终端装置102等)接收数据和/或发送数据给实体,其中终端装置102通过所述网 络正在与所述实体通信。通信接口 114可包含例如天线、发射机、接收机、收发信机和/或支撑硬件或软件以用于使得能够例如通过网络与一个或多个远程计算设备通信。通信接口114可被配置为使用可被用于计算设备之间的通信的任何协议,来接收和/或发送数据。在这方面,通信接口 114可被配置为使用这样的协议来接收和/或发送数据,所述协议是可被用于通过无线网络、有线网络或其一些组合等(例如内容分发网络106和/或对等网络108等)进行数据传输的任何协议,其中终端装置102和一个或多个计算设备正在通过上述网络进行通信。在一个示例实施例中,通信接口 114至少部分地被实现为处理器110或否则由处理器110控制。在这方面,通信接口 114可例如经由总线与处理器110进行通信。另外,通信接口 114可例如经由总线与存储器112、用户接口 116和/或纠错电路118进行通信。用户接口 116可与处理器110通信从而接收关于用户输入的指示和/或提供可听见的、可视的、机械的或其它输出给用户。这样,用户接口 116可包含例如键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其它输入/输出机制。用户接口 116可例如经由总线与存储器112、通信接口 114和/或纠错电路118进行通信。纠错电路118可被实现为多种部件,例如电路、硬件、包含存储在计算机可读介质(例如存储器112)上且由处理设备(例如处理器110)运行的计算机可读程序指令的计算机程序产品、或其一些组合,且在一个实施例中,被实现为处理器110或否则由处理器110控制。在纠错电路118被实现为与处理器110分开的实施例中,纠错电路118可与处理器110通信。纠错电路118可进一步例如经由总线与一个或多个存储器112、通信接口 114或用户接口 116通信。现在参考图4,图4示出了根据本发明的示例实施例的内容分发装置104的方框图。内容分发装置104可包含用于执行这里所描述的各种功能的各种部件。内容分发装置104的这些部件可包含例如一个或多个处理器120、存储器122、通信接口 124、用户接口126或分发电路128。如这里所描述的内容分发装置104的这些部件可被实现为例如电路、硬件元件(例如被合适地编程的处理器和/或组合逻辑电路等)、可由被合适地配置的处理设备(例如存储器120)运行的包含在计算机可读介质(例如存储器122)上存储的计算机可读程序指令(例如软件或固件)的计算机程序产品、或其一些组合。
例如,处理器120可被实现为各种部件,包括具有附带的(多个)数字信号处理器的一个或多个微处理器、不具有附带的数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、各种其它处理元件(包括诸如例如ASIC (专用集成电路)或FPGA (现场可编程门阵列)的集成电路)、或其一些组合。因此,尽管在图4中示出为单个处理器,在一些实施例中处理器120包括多个处理器。多个处理器可相互之间可操作地通信且可被集体地配置为执行这里所描述的内容分发装置104的一个或多个功能性。多个处理器可被实现在单个计算设备上或可被分布在多个计算设备中,所述多个计算设备被集体地配置以起到和内容分发装置104相同的作用。在示例实施例中,处理器120被配置为运行存储在存储器122中或否则可由处理器120访问的指令。当由处理器120运行时,这些指令可使得内容分发装置104执行这里所描述的内容分发装置104的一个或多个功能性。因此,不管由硬件或软件方法还是由其组合配置,处理器120可包括当被相应地配置时能够按照本发明的实施例执行操作的实体。因此,例如,当处理器120被实现为ASIC或FPGA等时,处理器120可包括用于执行这里所描述的一个或多个操作的特别配置的硬件。可替换地,作为另一个示例,当处理器120被实现为例如可在存储器122中存储的指令的运行器时,所述指令可特别地配置处理器120以执行这里所描述的一个或多个算法和操作。 存储器122可包括例如易失性存储器、非易失性存储器或其一些组合。尽管在图4中示出为单个存储器,存储器122可包括多个存储器。多个存储器可被实现在单个计算设备上或可被分布在多个计算设备中,所述多个计算设备被集体地配置以起到和内容分发装置104相同的作用。在各种实施例中,存储器122可包括例如硬盘、随机存取存储器、缓存存储器、闪存、光盘只读存储器(⑶-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路或其一些组合。存储器122可被配置为存储用于使得内容分发装置104能够按照本发明的示例实施例执行各种功能的信息、数据、应用或指令等。例如在至少某些实施例中,存储器122被配置为缓冲由处理器120处理的输入数据。额外地或可替换地在至少某些实施例中,存储器122被配置为存储由处理器120运行的程序指令。存储器122可以以静态和/或动态信息的形式存储信息。所存储的信息可包括例如用于分发给一个或多个终端装置102的内容项目。在它们各自的功能性的执行过程中,这个所存储的信息可由分发电路128存储和/或使用。通信接口 124可被实现为任何设备或部件,所述任何设备或部件被实现在被配置为例如通过网络(例如内容分发网络106)从实体接收数据和/或发送数据到实体的电路、硬件、包括在计算机可读媒介(例如存储器122)上存储的且由处理设备(例如处理器120)执行的计算机可读程序指令的计算机程序产品、或其组合中,其中内容分发装置104通过所述网络与实体进行通信。通信接口 124可包括例如用于使得能够例如通过网络与一个或多个远程计算设备进行通信的天线、发射机、接收机、收发信机和/或支撑硬件或软件。通信接口 124可被配置为使用可被用于计算设备之间的通信的任何协议来接收和/或发送数据。在这方面,通信接口 124可被配置为使用可被用于通过无线网络、有线网络和其一些组合等(例如内容分发网络106)进行数据传输的任何协议接收和/或发送数据,其中,内容分发装置104与一个或多个计算设备通过所述无线网络、有线网络和其一些组合等进行通信。在示例实施例中,通信接口 124至少部分地被实现为处理器120或否则由处理器120控制。在这方面,通信接口 124可例如经由总线与处理器120进行通信。通信接口 124可额外地例如经由总线与存储器122、用户接口 126和/或分发电路128进行通信。用户接口 126可与处理器120进行通信从而接收关于用户输入的指示和/或提供可听见的、可视的、机械的或其它输出给用户。这样,用户接口 126可包括例如键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其它输入/输出机制。用户接口 126可例如经由总线与存储器122、通信接口 124和/或分发电路128进行通信。在内容分发装置104被实现为一个或多个服务器的实施例中,用户接口 126的多个方面可被限制或用户接口 126甚至可被消除。分发电路128可被实现为各种部件,例如电路、硬件、包含在计算机可读介质(例如存储器122)上存储的且由处理设备(例如处理器120)运行的计算机可读程序指令的计算机程序产品或其一些组合,且在一个实施例中,被实现为处理器120或否则由处理器120控制。在与处理器120分开地实现分发电路128实施例中,分发电路128可与处理器120进行通信。分发电路128可进一步例如经由总线与一个或多个存储器122、通信接口 124或用户接口 126进行通信。 在一些示例实施例中,分发电路128被配置为通过内容分发网络104分发内容项目给一个或多个终端102。例如,内容项目可包括多媒体流、逻辑上属于相同的程序的多个媒体流(例如视频流和相应的音频流)、文件、形成多媒体演示的一组文件、一组多媒体流、一组程序、上面提到的任何内容项目的一部分、或其任何组合等。分发电路128可被进一步配置为将修复数据和内容项目一起分发。修复数据可包括被配置为使得能够进行内容项目的纠错和/或重组等的FEC修复数据、奇偶校验码字、Raptor码、Reed-Solomon FEC矩阵的一部分、和/或低密度奇偶校验码,等等。分发电路128可被配置为计算修复数据。修复数据或其一部分可由分发电路128交织或否则与内容项目集成,作为用于通过内容分发网络106进行分发的数据包。在一些示例实施例中,纠错电路118被配置为接收由内容分发装置104通过内容分发网络106经由第一网络连接分发的内容项目。例如,第一网络连接可包括广播连接、组播连接或单播连接等。第一网络连接可包括与内容分发装置104的直接连接或可包括与内容分发网络106内的中间设备(诸如例如中继、网络接入点、基站或无线发射机等)的连接。纠错电路118可被进一步配置为通过内容分发网络104经由第一网络连接接收第一修复数据。第一修复数据可例如与内容项目交织。在一些示例实施例中,纠错电路118被进一步配置为经由第二网络连接从第二终端装置接收第二修复数据。第二网络连接可包括通过对等网络108与第二终端装置的对等连接。第二修复数据可包括对于第一修复数据互补的修复数据,从而使得能够进行对所接收的内容项目的更加鲁棒的纠错。第二终端装置可具有或处于接收相同内容项目的过程,且可在接收内容项目的过程中通过内容分发网络106已经接收了第二修复数据。在这方面,分发电路128可被配置为计算和/或分发被配置为促进内容项目的纠错的多个不同的修复数据块。当任何一个修复数据块可使得能够对所接收版本的内容项目中的一定数量的比特错误、分组错误或分组丢失等进行纠错时,放在一起的多个修复数据块可使得能够对所接收版本的内容项目中的更大数量的比特错误、分组错误或分组丢失等进行纠错。
因此,对于相同的内容项目纠错电路118和第二终端装置可能接收两个不同的修复数据块。作为示例,纠错电路118可经由与第一分发装置(例如无线收发信机、基站或网络接入点等)的连接(例如广播连接)接收内容项目和第一修复数据,其中所述第一分发装置被分发电路128配置为将内容项目和第一修复数据一起分发,且第二终端装置可经由与第二分发装置(例如无线收发信机、基站或网络接入点等)的连接(例如广播连接)接收该内容项目和第二修复数据,其中所述第二分发装置被分发电路128配置为将内容项目和第二修复数据一起分发。作为另一个示例,不同的时间片或频段可被用于内容项目的分发,且第一和第二修复数据可在不同的时间片和/或不同的频段上被传输。从而,例如,纠错电路118可在第一时间片和/或第一频段上接收第一修复数据,而第二终端装置可在第二时间片和/或第二频段上接收第二修复数据。
在另一个示例中,内容项目可经由多个组播组被分发给多个终端装置。从而,例如,第一修复数据可在第一组播组中与内容项目一起被分发,而第二修复数据可在第二组播组中与内容项目一起被分发。在进一步的示例中,纠错电路118可经由第一单播连接接收内容项目和第一修复数据,而第二终端装置可经由第二单播连接接收内容项目和第二修复数据。作为另一个示例,第二终端装置可能已经基于所接收的内容项目计算出了第二修复数据,且可经由对等网络108共享所计算的第二修复数据。通过对等网络108进行的修复数据的交换可被控制在对等网络108内的对等体(例如终端装置102)之间。可替换地,在对等网络108由对等服务器或其它控制装置管理的实施例中,对等服务器可处理对修复数据的请求和/或否则协调对等网络108内的对等体之间的修复数据的交换。例如,第二修复数据可通过对等网络108被广播,从而纠错电路118在需要时可接收第二修复数据。附加地或可替换地,纠错电路118可被配置为请求第二修复数据且响应于所述请求接收第二修复数据。纠错电路118可被配置为自动地请求在对等网络108上来自于已经接收或计算了第二修复数据的终端装置的第二修复数据。在这方面,纠错电路118可被配置为即使纠错电路118在通过第一修复数据纠正内容项目中的错误的尝试中并未失败和/或没有预料可导致引入无法仅仅通过第一修复数据进行纠正的错误到所接收的内容项目中的不良的接收状况,也响应于内容项目的接收获取第二修复数据。可替换地,纠错电路118可被配置为响应于确定第一修复数据不足以纠正内容项目中的错误而请求第二修复数据。例如,纠错电路118可使用第一修复数据来纠正内容项目中的错误且可确定第一修复数据不足以纠正该错误。纠错电路118可响应于失败的错误恢复相应地请求第二修复数据。作为另一个示例,纠错电路118可至少部分地基于用于终端装置102的当前上下文信息或用于终端装置102的所估计上下文信息中的一个或多个,估计第一修复数据不足以纠正内容项目中的错误。在这方面,纠错电路118可利用当前上下文信息和/或所估计上下文信息来确定通过其接收内容项目的第一连接的状况,从而估计在传输期间正在被引入到内容项目中的错误的可能性和/严重性。当前上下文信息可包括终端装置102的当前方位、终端装置102的当前地理位置、终端装置102的当前移动方向、终端装置102的当前移动速率、当前时间、当前接收质量统计或其一些组合等。关于终端装置102的位置和移动的信息可由GPS接收机(诸如例如定位电路36)确定。所估计上下文信息可包括终端装置102的所估计的未来方位、终端装置102的所估计的未来的地理位置、终端装置102的所估计的移动速率、所估计的未来接收质量统计或其一些组合等。例如,当终端装置102正在被用于导航时,对终端装置102的未来方位和移动的估计可基于终端装置102的所计划的目的地来确定。在这方面,纠错电路118可被配置为使用地理-预测来估计未来的糟糕的接收状况,所述接收状况可影响内容项目的接收以致于增加在传输期间引入错误到内容项目中的可能性。仍作为进一步的示例,纠错电路118可响应于地理-预测服务器的请求或命令接收第二修复数据,其中所述地理-预测服务器被配置为估计终端装置102何时将遇到糟糕的接收状况且需要额外的修复数据来恢复所接收的内容项目。对终端装置102何时将遇到
糟糕的接收状况且需要额外的修复数据来恢复所接收的内容项目的估计可基于终端装置102的当前上下文信息和/或所估计上下文信息。终端装置102可发送它的当前上下文信息给地理-预测服务器,或地理-预测服务器可从任何网络装置接收当前上下文信息,所述网络装置可以是内容分发网络106的一部分,例如基站控制器(BSC)、移动服务切换中心(MSC)或访问者位置寄存器(VLR)。终端装置102可发送它的所估计上下文信息给地理-预测服务器。额外地或可替换地,地理-预测服务器可基于各种信息,例如终端装置的过去的上下文信息、公路和/或铁路等的地图信息、和/或终端装置102走过的路径的统计信息等,来获取用于终端装置102的所估计上下文信息。纠错电路118可响应于来自于地理-预测服务器的请求从恢复服务器接收第二修复数据。仍作为进一步的示例,纠错电路118或处理器110可从地理-预测服务器接收关于终端装置102遇到的接收状况的估计。所述估计可关系到具体的时期、具体的位置或区域、或其组合。如在上面的示例中,地理-预测服务器可基于终端装置102的当前上下文信息和/或所估计上下文信息,来估计终端装置102遇到的接收状况。地理-预测服务器可以如在之前的示例中所描述的那样确定或访问当前上下文信息和所估计上下文信息。基于关于终端装置102遇到的接收状况的估计,纠错电路118或处理器110可估计是否需要额外的修复数据来恢复所接收到的内容项目。如果额外的修复数据被估计为是必需的,则纠错电路118可请求和接收第二修复数据。纠错电路118可进一步被配置为使用第一和第二修复数据来纠正所接收的内容项目中的错误。将被理解的是,尽管已经描述了关于两个修复数据块的示例实施例,额外的修复数据块可由内容分发网络104分发和/或由接收内容项目的终端装置计算且通过对等网络108分发。在这方面,纠错电路118可被配置为获取除第一和第二修复数据之外的修复数据,且使用额外的修复数据来恢复所接收的内容项目中的错误。当内容项目包括包含多个源块的媒体数据时,纠错电路18可被配置为当第一源块和第一修复数据块被接收到时基本上立即应用对第一源块的解码(例如FEC解码)。因此,包含在第一源块中的媒体数据可被尽快地解码和呈现。纠错电路118可被配置为在第一源块和第一修复数据块被完全地接收以前接收第二源块,从而可在FEC解码过程中利用第二修复数据块。
当内容项目包括多媒体内容时,第一和第二修复数据可以两者均保护多媒体内容的第一源块。终端装置102可被配置为当多媒体内容正在被接收时呈现多媒体内容。为了使得能够对多媒体内容进行流畅的呈现而不引入明显的延迟,纠错电路可被配置为在第一源块之前接收第一修复数据和第二修复数据,且在第一源块被呈现之前使用第一修复数据和第二修复数据来纠正第一源块中的错误。纠错电路118可被配置为延迟呈现多媒体内容直到第二修复数据块至少部分地被接收从而允许解码。内容分发装置104、对等服务器或其它实体可指示用于开始呈现、媒体解码或FEC解码的所需要的或所期望的延迟,以便使得能够使用第二修复数据。图5示出了根据本发明的示例实施例的用于促进纠错的系统。在图5所示的实施例中,广播内容服务器(BCS) 502包含或有权访问将通过移动广播网络被广播的内容项目。BCS 502可包括内容分发装置104的实施例。BCS 502可发送具体的内容项目(Cl)以及相关的FEC修复数据给网络的无线发射机(Tx)。该图示出了具有两个无线发射机(发射机504和发射机508)的网络。BCS 502可发送第一 FEC修复数据(FECl)给发射机504且发送第二 FEC修复数据 (FEC2)给发射机508。FECl和FEC2中的每一个单独可以能够提供基本的纠错能力给移动客户端(MCs),移动客户端可包括终端装置102。然而,当FECl和FEC2—起被使用时,可提供增强的纠错能力。发射机504可广播Cl和FECl给第一组移动客户端506。发射机508可广播Cl和FEC2给第二组移动客户端510。用于移动客户端MC2512的接收状况可能足够糟糕以致于它不能从由无线广播信道引入的传输错误中完全地恢复。移动客户端MC2512可建立至少到移动客户端MCjH且潜在地还到接收内容项目的其它移动客户端的对等连接。MC2512可相应地从MQ514接收FEC2修复数据。因此MC2512可使用FECl和FEC2两者来修复Cl。在一些实施例中,终端装置102可加入对等网络108但不接收内容项目。替代地,纠错电路118可被配置为获取第一和第二修复数据(和/或其它修复数据)且使用所获取的修复数据重建内容项目。在第一和第二修复数据块在内容项目的第一源块之前被发送给终端装置102的实施例中,可能产生在内容服务器和终端装置之间的端到端系统的内容服务器端中的处理延迟。在这方面,当第一源块被FEC编码时,作为结果的第一和第二修复数据块可被立即传输。然而,第一源块自身的传输可能被延迟。例如,延迟的持续时间可能与突发错误的最大估计持续时间有关。在内容服务器端中的第一源块的延迟传输不引起接收终端装置所经历的调谐延迟中的增加。在这方面,接收终端装置可开始从可用于接收的第一源块接收,且纠错电路118可立即开始解码第一所接收源块。可能没有为第一所接收源块接收在各自的源块之前被发送的额外修复数据,因此改善的纠错能力可能不能用于第一源块,除非第一源块的解码和回放被延迟了。应理解的是,示例实施例可被概括为多于两个不同的修复(例如FEC)数据流且多于一个对等网络。(例如通过调谐到广播)接收内容项目的终端装置102还可加入来自于组?={ 1,?2,?3^··,?!!}的对等网络或对等群组。分发电路128可生成针对相同媒体数据F= {fi, f2, f3, ···, fm}的一组m个唯一的FEC数据。这m个FEC数据可以在m个不同的逻辑信道中被发送。在对等群组中的终端装置102可被分发从而m个唯一的FEC数据流中尽可能多的数据流由终端装置接收。图6示出了按照根据本发明的示例实施例的用于促进纠错的示例方法的流程图。例如,在图6中示出且参考图6描述的操作可通过处理器110、存储器112、通信接口 114、用户接口 116或纠错电路118中的一个或多个的协助和/或控制来执行。操作600可包括经由第一网络连接通过内容分发网络接收内容项目和第一修复数据。操作610可包括经由第二网络连接接收第二修复数据。可从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据。操作620可包括使用第一和第二修复数据来纠正所接收的内容项目中的错误。图6是根据本发明的示例实施例的系统、方法和计算机程序产品的流程图。应理解的是,流程图的每一个方框以及流程图中方框的组合可通过各种部件实施,例如硬件和/或计算机程序产品,计算机程序产品包括具有在其上存储的计算机可读程序指令的一个或多个计算机可读介质。例如,这里所描述的一个或多个过程可由计算机程序产品的计算机程序指令来实现。在这方面,实现这里所描述的过程的(多个)计算机程序产品可由移动终端、服务器或其它计算设备的一个或多个存储器设备存储,且由这些计算设备中的处理运 行。在一些实施例中,包括实现上面所描述的步骤的(多个)计算机程序产品的计算机程序指令可由多个接收设备的存储器设备存储。如将被理解的,任何这样的计算机程序产品可被加载到计算机或其它可编程装置中从而生成机器,从而包含在计算机或其它可编程装置上运行的指令的计算机程序产品创建用于实施在(多个)流程图方框中所说明的功能的部件。进一步地,计算机程序产品可包括可在其上存储计算机程序指令的一个或多个计算机可读存储器(例如存储器112),从而所述一个或多个计算机可读存储器可指示计算机或其它可编程装置(例如终端装置102)以具体的方式工作,从而计算机程序产品包括执行在(多个)流程图方框中所说明的功能的制品。一个或多个计算机程序产品的计算机程序指令还可被加载到计算机或其它可编程装置(例如终端装置102)上,以使得一系列操作在计算机或其它可编程装置上执行以产生计算机实现的过程,从而说的在计算机或其它可编程装置中执行的指令实现在(多个)流程图方框中所说明的功能。因此,流程图的方框支持用于执行所说明的功能的部件的组合。还应理解的是,流程图的一个或多个方框以及流程图中的方框的组合,可由执行所说明的功能的基于专用硬件的计算机系统、或专用硬件和(多个)计算机程序产品的组合来执行。上面描述的功能可以以多种方式来执行。例如,可以采用用于执行上面所描述的每一个功能的任何合适的部件来执行本发明的实施例。在一个实施例中,被合适的配置的处理器(例如处理器Iio和/或处理器120)可提供全部或部分的元件。在另一个实施例中,全部或部分的元件可由计算机程序产品配置且在计算机程序产品的控制下操作。用于执行本发明实施例的方法的计算机程序产品包括诸如非易失性存储介质的计算机可读存储媒介(例如存储器112和/或存储器122)和在计算机可读存储媒介中实现的计算机可读程序代码部分(例如一系列计算机指令)。因此,本发明的一些实施例提供多种益处给计算设备、数据网络和计算设备用户。一些示例实施例提供被配置为获取除与数据内容一起接收的纠错数据之外的额外的纠错数据(也被称为“修复数据”)的装置,其中纠错数据被配置为修复所述数据内容。在这方面,一些示例实施例提供被配置为经由对等网络从一个或多个对等的装置获取额外的修复数据的装置。在一些示例实施例中,响应于确定与内容项目一起被接收的修复数据不足以修复内容项目中的错误,而触发获取额外的修复数据。在一些示例实施例中,响应于估计与内容项目一起被接收的修复数据不足以修复内容项目中由于现有网络状况和/或所估计未来网络状况所引入的错误,而触发获取额外的修复数据。在这方面,某些示例实施例通过以下方式来促进更具鲁棒性的纠错通过不管是否需要额外的修复数据都要求传输内容项目与额外的修复数据,来当需要额外的修复数据时,在不增加第一网络连接的负担的情况下经由第二网络连接获取额外的修复数据,其中所述内容项目是经由第一网络连接接收的。一些示例实施例通过经由对等网络获取额外的FEC修复数据来改进用于移动广播接收的纠错。可由从广播信道接收相同视听服务的移动客户端形成对等网络。在这样的示例实施例中,对等网络中的第一组移动客户端接收与对等网络中的第二组移动客户端所接收到的FEC修复数据不同的一组FEC修复数据。当被联合时,这些示例实施例的这些组的FEC修复数据提供比单独一组FEC修复数据更强的纠错能力。因此,在这样的示例实施例中,与移动客户端从广播信道接收的FEC修复数据相比,移动客户端可通过对等网络获取一组互补的FEC修复数据。在这方面,改进了移动接收机经历的纠错能力。如一些示例实施例所提供的,例如基于地理-预测接收状况对额外修复数据进行的前摄性提取,可使得能够相比于从点对点恢复机制对额外的FEC修复数据的反应性提取,进行实时流回放而没有停顿且需要较小的开启调谐时延。根据某些示例实施例,使用对等网络来提取额外的FEC修复数据附加地使得不需要分开的点对点修复服务器。受益于前面的描述和相关的附图中所呈现的教导,这些发明所适用的领域的技术人员将想到这里所陈述的发明的许多修改和其它实施例。因此,可以理解的是,本发明并不局限于所公开的具体的实施例,且修改和其它实施例意在被包括在本发明的范围内。此夕卜,尽管前面的描述和相关的附图在元件和/或功能的某些示例性组合的背景下描述示例性实施例,应该理解的是,在不背离本发明的范围的情况下,可由替代实施例提供元件和/或功能的不同的组合。在这方面,例如,除了在上面被明确地描述的那些元件和/或功能之外的不同的元件和/或功能的组合也被认为在本发明的范围内。尽管这里采用了具体的术语,它们仅仅在通用的和描述性的意义上被使用且不作为限制的目的。
权利要求
1.一种方法,包括 经由第一网络连接通过内容分发网络接收内容项目和第一修复数据;以及 由纠错电路经由第二网络连接从已经通过所述内容分发网络接收了所述内容项目的远程设备接收第二修复数据, 其中所述第一和第二修复数据被配置为使得能够对所述内容项目进行纠错。
2.如权利要求I所述的方法,进一步包括 使用所述第一和第二修复数据纠正所接收的内容项目中的错误。
3.如权利要求I或2任一项所述的方法,其中接收第二修复数据包括经由与所述远程设备的对等网络连接接收第二修复数据。
4.如权利要求1-3任一项所述的方法,其中接收所述内容项目和第一修复数据包括经由广播连接从第一分发装置接收所述内容项目和第一修复数据,且其中所述远程设备从第二分发装置接收了所述内容项目和第二修复数据。
5.如权利要求1-4任一项所述的方法,其中接收所述内容项目和第一修复数据包括经由第一组播连接接收所述内容项目和第一修复数据,且其中所述远程设备经由第二组播连接接收了所述内容项目和所述第二修复数据。
6.如权利要求1-5任一项所述的方法,其中接收所述内容项目和第一修复数据包括经由第一单播连接接收所述内容项目和第一修复数据,且其中所述远程设备经由第二单播连接接收了所述内容项目和所述第二修复数据。
7.如权利要求1-6任一项所述的方法,进一步包括 确定所述第一修复数据不足以纠正所述内容项目中的错误;且 其中接收所述第二修复数据包括响应于所述第一修复数据不足以纠正所述内容项目中的错误的确定,而接收所述第二修复数据。
8.如权利要求7所述的方法,其中确定所述第一修复数据不足以纠正所述内容项目中的错误包括至少部分地基于当前上下文信息或所估计上下文信息中的一个或多个,来估计所述第一修复数据不足以纠正所述内容项目中的错误。
9.如权利要求8所述的方法,其中 所述当前上下文信息包括当前方位、当前地理位置、当前移动方向、当前移动速率、当前时间或当前接收质量统计中的一个或多个;且 所述所估计上下文信息包括所估计的未来方位、所估计的未来地理位置、所估计的移动速率或所估计的未来接收质量统计中的一个或多个。
10.如权利要求1-9任一项所述的方法,其中所述内容项目包括多媒体内容且所述第一和第二修复数据保护所述多媒体内容的第一源块,所述方法进一步包括 使得当所述多媒体内容正在被接收时呈现所述多媒体内容; 在所述第一源块被呈现之前,接收所述第一修复数据和第二修复数据; 使用所述第一修复数据和所述第二修复数据在所述第一源块被呈现之前纠正所述第一源块中的错误。
11.一种装置,包括至少一个处理器和存储计算机程序代码的至少一个存储器,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置至少经由第一网络连接通过内容分发网络接收内容项目和第一修复数据;以及 经由第二网络连接从已经通过所述内容分发网络接收了所述内容项目的远程设备接收第二修复数据, 其中所述第一和第二修复数据被配置为使得能够对所述内容项目进行纠错。
12.如权利要求11所述的装置,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器进一步使得所述装置使用所述第一和第二修复数据纠正所接收的内容项目中的错误。
13.如权利要求11或12任一项所述的装置,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置通过经由与所述远程设备的对等网络连接接收第二修复数据来接收第二修复数据。
14.如权利要求11-13任一项所述的装置,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置经由广播连接、组播连接或单播连接接收所述内容项目和第一修复数据。
15.如权利要求11-14任一项所述的装置,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器进一步使得所述装置 确定所述第一修复数据不足以纠正所述内容项目中的错误;且 其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置响应于所述第一修复数据不足以纠正所述内容项目中的错误的确定而接收所述第二修复数据。
16.如权利要求15所述的装置,其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器使得所述装置通过至少部分地基于当前上下文信息或所估计上下文信息中的一个或多个来估计所述第一修复数据不足以纠正所述内容项目中的错误,来确定所述第一修复数据不足以纠正所述内容项目中的错误。
17.如权利要求16所述的装置,其中 所述当前上下文信息包括当前方位、当前地理位置、当前移动方向、当前移动速率、当前时间或当前接收质量统计中的一个或多个;且 所述所估计上下文信息包括所估计的未来方位、所估计的未来地理位置、所估计的移动速率或所估计的未来接收质量统计中的一个或多个。
18.如权利要求11-17任一项所述的装置,其中所述内容项目包括多媒体内容且所述第一和第二修复数据保护所述多媒体内容的第一源块,且其中所述至少一个存储器和所存储的计算机程序代码被配置为通过所述至少一个处理器进一步使得所述装置 使得当所述多媒体内容正在被接收时呈现所述多媒体内容; 在所述第一源块被呈现之前,接收所述第一修复数据和第二修复数据; 使用所述第一修复数据和所述第二修复数据在所述第一源块被呈现之前纠正所述第一源块中的错误。
19.如权利要求11-18任一项所述的装置,其中所述装置包括移动电话或被实现在移动电话机上,所述移动电话机包括用户接口电路和存储在所述至少一个存储器中的一个或多个存储器上的用户接口软件;其中所述用户接口电路和用户接口软件被配置为 促进通过使用显示器对所述移动电话机的至少一些功能的用户控制;使得所述移动电话机的至少一部分用户接口被显示在所述显示器上,从而促进对所述移动电话的至少一些功能的用户控制。
20.一种计算机程序产品,包括具有在其中存储的计算机可读程序指令的至少一个有形计算机可读存储介质,所述计算机可读程序指令在被运行时使得装置执行如权利要求1-10任一项所述的方法。
全文摘要
提供了用于促进纠错的方法和装置。一种方法,可包括经由第一网络连接通过内容分发网络接收内容项目和第一修复数据。所述方法可进一步包括经由第二网络连接从已经通过内容分发网络接收了内容项目的远程设备接收第二修复数据。第一和第二修复数据可被配置为使得能够对内容项目进行纠错。还提供了相应的装置。
文档编号H04B7/02GK102934511SQ201180026890
公开日2013年2月13日 申请日期2011年4月4日 优先权日2010年4月2日
发明者M·M·汉努克塞拉, V·K·M·瓦达基塔尔 申请人:诺基亚公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1