首页 / 专利库 / 商业 / 广告位 / 用于过顶实况媒体递送中的广告插入的方法和系统

用于过顶实况媒体递送中的广告插入的方法和系统

阅读:996发布:2024-02-04

专利汇可以提供用于过顶实况媒体递送中的广告插入的方法和系统专利检索,专利查询,专利分析的服务。并且提供一种方法用于通过检测实况内容流中的广告置换机会并准备用于分段的HTTP自适应流传输递送的无缝置换的内容来执行内容过顶递送中的瞄准的广告插入。该方法包括提供用于瞄准的递送的多阶段基于代理的 片段 置换。该方法利用标准HTTP自适应流传输客户端透明地提供工作。还 指定 一种系统用于实现根据该方法提供的客户端和 服务器 内容递送 基础 设施。,下面是用于过顶实况媒体递送中的广告插入的方法和系统专利的具体信息内容。

1.一种用于分发内容的方法,其包括:
实时地在服务器处理源内容;
检测所述源内容中的节目边界;
获取所述源内容中的节目的节目信息;
转换所述源内容,以使其适于在多个客户端设备上呈放同时保持节目边界,所转换的源内容包含所述节目信息,以及将所述转换的源内容上传到内容递送网络以便递送到所述客户端设备;
为所述转换的内容生成清单文件并将所述清单文件上传到内容递送网络以供所述客户端设备在下载上传的转换的内容时用于检索和使用;以及
通过将节目边界指示符插入到所述转换的内容中和将节目边界信息插入到所述清单文件中的其中之一或二者来将节目边界信息提供到所述客户端设备。
2.如权利要求1所述的方法,其中所述节目信息包含所述源内容中包含的时间戳和节目标识信息,以及其中获取所述节目信息包括从所述源内容提取所述时间戳和节目标识信息。
3.如权利要求1所述的方法,其中所述内容是音频/视频内容。
4.如权利要求1所述的方法,其中所述内容转换包括将视频内容转码成多个不同比特率、速率、分辨率、编解码器和容器格式。
5.如权利要求1所述的方法,其中所述节目边界包含广告边界。
6.如权利要求5所述的方法,还包括:基于SCTE-35提示音检测广告荚(组)边界。
7.如权利要求1所述的方法,其中将所述转换的内容存储在固定时长片段中。
8.如权利要求7所述的方法,还包括:生成截短时长的片段,以使片段边界与节目边界匹配。
9.如权利要求1所述的方法,其中所述转换的内容和清单文件包含即将来临的节目边界的指示符、新节目的开始和当前节目的结束。
10.如权利要求9所述的方法,还包括:使用显式标记和注释以及通过片段时长隐式地在清单文件中表示节目边界。
11.如权利要求10所述的方法,还包括:支持多种清单文件格式,例如HLS m3u8、DASH MPD等。
12.如权利要求11所述的方法,还包括:为广告节目边界内的片段将代理URL插入到所述清单文件中。
13.如权利要求9所述的方法,还包括:使用带内元数据表示转换的内容中的节目边界。
14.如权利要求13所述的方法,还包括:支持多种内嵌元数据格式,例如,ID3标记、专有帧类型、专有元数据报头等。
15.如权利要求14所述的方法,还包括:将广告决策服务器、节目标识符和/或广告点(置放机会)信息追加到所述代理URL。
16.如权利要求14所述的方法,还包括:包含用于指定片段请求的相对位置的唯一且按序递增的标识符。
17.如权利要求13所述的方法,还包括:将广告决策服务器、节目标识符和/或广告点(置放机会)信息插入到广告节目边界元数据。
18.如权利要求1所述的方法,其中向广告决策服务器发出请求来检索置换广告。
19.如权利要求18所述的方法,其中所述广告决策服务器是SCTE-130服务器。
20.如权利要求19所述的方法,还包括:基于SCTE-130可用信息来确定个体广告资产边界。
21.如权利要求18所述的方法,还包括:从所述广告决策服务器响应分析置换广告位置信息。
22.如权利要求21所述的方法,还包括:在本地缓存广告决策服务器响应以便在未来广告置换机会中使用。
23.如权利要求21所述的方法,还包括:检索广告资产片段并以广告片段置换所生成的片段。
24.如权利要求21所述的方法,还包括:以广告片段URL置换所述清单中的所生成的片段URL。
25.一种用于瞄准的广告置换的方法,其包括:
在客户端中处理并呈放片段数据;
检测指示节目边界的元数据;
从所述元数据中提取广告决策服务器、节目标识符和/或广告点(置放机会)信息;
向所述广告决策服务器发出广告置放请求;
从所述广告决策服务器接收并处理广告置放响应;
检测指示广告节目边界的开始的元数据;
以所述广告置放响应中指示的片段置换流广告资产片段;
检测指示所述广告节目边界的结束的元数据;以及
恢复所述流的回放。
26.如权利要求25所述的方法,其中通过内嵌元数据,例如,ID3标记、专有帧类型、专有元数据报头等来检测即将来临的广告节目边界。
27.如权利要求25所述的方法,其中检测指示节目边界的元数据包括检测指示即将来临的节目边界的元数据,所述元数据按预定时间超前所述所述即将来临的节目边界,在所述预定时间期间执行所述发出和接收和处理步骤。
28.如权利要求25所述的方法,其中通过如HLS m3u8注释、DASH MPD标记/注释等中的清单文件元数据来检测即将来临的节目边界。
29.如权利要求25所述的方法,其中通过如HLS m3u8注释、DASH MPD标记/注释等中的清单文件元数据来检测广告节目开始边界。
30.如权利要求25所述的方法,其中通过如HLS m3u8注释、DASH MPD标记/注释等中的清单文件元数据来检测广告节目结束边界。
31.如权利要求25所述的方法,其中通过内嵌元数据,例如,ID3标记、专有帧类型、专有元数据报头等来检测所述广告决策服务器、节目标识符和/或广告点(置放机会)信息。
32.如权利要求25所述的方法,其中通过如HLS m3u8注释、DASH MPD标记/注释等中的清单文件元数据来检测广告决策服务器、节目标识符和/或广告点(置放机会)信息。
33.如权利要求25所述的方法,其中所述广告决策服务器是SCTE-130服务器。
34.如权利要求25所述的方法,其中所述广告决策服务器是第三方广告网络
35.如权利要求25所述的方法,其中将订户身份、位置和/或人口统计信息包含在广告置放请求中。
36.如权利要求25所述的方法,其中将片段请求与订户身份、位置和/或人口统计信息追加在一起。
37.如权利要求36所述的方法,还包括:代理并修改所述清单文件以将订户身份、位置和/或人口统计信息追加到所述媒体播放器处理的片段URL。
38.如权利要求36所述的方法,还包括:代理并修改所述片段请求以将订户身份、位置和/或人口统计信息追加到片段URL。
39.如权利要求25所述的方法,其中在本地缓存广告决策服务器响应以便在未来广告置换机会中使用。
40.如权利要求25所述的方法,还包括发送有关已完成的广告回放的信标消息报告。
41.一种用于瞄准的广告置换的方法,其包括:
接收与广告资产关联的数据的请求;
从所述请求中提取广告决策服务器、节目标识符和/或广告点(置放机会)信息;
向所述广告决策服务器发出广告置放请求;
从所述广告决策服务器接收并处理广告置放响应;以及
以所述广告置放响应中指定指示的所述广告资产响应所述请求。
42.如权利要求41所述的方法,其中所述广告决策服务器、节目标识符和/或广告点(置放机会)信息追加到所述请求中的URL。
43.如权利要求41所述的方法,其中将订户身份、位置和/或人口统计信息追加到所述请求中的URL。
44.如权利要求43所述的方法,还包括:将所述订户身份、位置和/或人口统计信息提供到所述广告决策服务器以便能够实现广告个性化。
45.如权利要求41所述的方法,其中在本地缓存广告决策服务器响应以便在未来广告置换机会中使用。
46.如权利要求41所述的方法,其中:
所述请求是用于与所述广告资产关联的片段数据的片段请求。
47.如权利要求46所述的方法,还包括通过从本地缓存提供片段来响应片段请求。
48.如权利要求46所述的方法,还包括通过透明地代理来自所述广告置放响应中指定的远程服务器的片段来对片段请求予以响应。
49.如权利要求46所述的方法,还包括通过将所述客户端重定向到所述广告置放响应中指定的远程服务器来对片段请求予以响应。
50.如权利要求41所述的方法,其中:
所述请求是对当前实况流清单文件的清单请求,
所述方法还包括:
检索所述清单文件;
确定所述清单文件是否包含新广告的开始或包含当前正被置换的广告的片段;
如果所述清单文件既不包含新广告的开始也不包含当前正被置换的广告的片段,则以未修改的清单文件响应所述清单请求;以及
如果所述清单文件包含当前正被置换的广告的片段,则(i)查询当前正被置换的广告的片段以及(ii)以包含所述查询的第二修改的清单文件响应所述清单请求;以及如果所述清单文件包含新广告的开始,则执行所述提取、发出、接收和响应步骤。
51.如权利要求50所述的方法,其中所述广告决策服务器返回所述清单文件或指向所述清单文件的URL,所述清单文件指定所述置换广告的片段。
52.如权利要求50所述的方法,其中所述广告决策服务器返回用于查询选定的广告的所述清单文件和/或片段位置信息的广告媒体标识符。
53.如权利要求50所述的方法,还包括存储所述广告置放响应以及当前客户端广告请求与所述广告置放响应之间的映射,以便可以正确地映射后续广告片段请求以实现所述选定的广告的接续。
54.如权利要求50所述的方法,还包括缓存所述广告置放响应和清单文件以便在未来广告置换机会中使用。
55.一种可作为内容递送系统中的实况流处理器来工作的计算机化设备,其包括:
存储计算机程序指令的存储器
用于执行所述指令的一个或多个处理器;
将所述计算机化设备连接到外部设备的输入/输出(I/O)电路;以及
将所述存储器、处理器和I/O电路连接在一起的互连电路,其中所述计算机程序指令在被所述处理器执行时可工作以使所述计算机化设备执行如权利要求1至24中任一项所述的方法。
56.一种可作为内容递送系统中的客户端来工作的计算机化设备,其包括:
存储计算机程序指令的存储器;
用于执行所述指令的一个或多个处理器;
将所述计算机化设备连接到外部设备的输入/输出(I/O)电路;
将所述存储器、处理器和I/O电路连接在一起的互连电路,其中所述计算机程序指令在被所述处理器执行时可工作以使所述计算机化设备执行如权利要求25至40中任一项所述的方法。
57.一种可作为内容递送系统中的广告片段代理来工作的计算机化设备,其包括:
存储计算机程序指令的存储器;
用于执行所述指令的一个或多个处理器;
将所述计算机化设备连接到外部设备的输入/输出(I/O)电路;以及
将所述存储器、处理器和I/O电路连接在一起的互连电路,其中所述计算机程序指令在被所述处理器执行时可工作以使所述计算机化设备执行如权利要求41至54中任一项所述的方法。

说明书全文

用于过顶实况媒体递送中的广告插入的方法和系统

技术领域

[0001] 本发明涉及过顶(over-the-top)(OTT)媒体递送以及更确切地来说涉及准实时流传输媒体的瞄准的广告置换。

背景技术

[0002] 准实时递送协议因为其简单、能够通过使用速率适配来适应变化的网络状况以及使用商品HTTP递送基础设施以低成本部署而流行用于OTT媒体递送。OTT媒体递送典型地依赖于基于片段的检索范例(segment-based retrieval paradigm)。HTTP自适应流传输使用多个编码(每个以不同比特率、分辨率和/或速率编码),从而使客户端能够为其本地网络状况选择适合的编码。使用清单来将编码信息传达到客户端。还使用清单来指示片段检索位置。对于实时(实况)内容,由客户端实时地产生和检索片段和清单列表。

发明内容

[0003] 无论使用传统广播技术还是较新的OTT技术,媒体递送的一个常见方面是作为一种广告支持的商业运作模式需要将广告插入到正在递送到客户的媒体中。传统线性电视典型地基于地区插入广告,然后将最终的流广播到该地区中的所有观看者。但是,基于HTTP的递送的单播属性允许更具个性化地广告递送。OTT递送中的瞄准的广告需要交替广告插入范例。
[0004] 披露用于过顶(OTT)媒体递送中的瞄准的广告置换的方法和装置。所披露的OTT递送系统包括实况流处理器、HTTP客户端和广告片段代理,它们统一地包括可以不同方式用于广告置换的多种机制。
[0005] 在一个方面中,提供一种方法用于动态地将广告元数据插入到实时生成的片段和清单文件中以便能够实现瞄准的广告置换。该方法可以部分地由实况流处理器来执行以便通过内容递送网络(CDN)进行OTT递送,该实况流处理器用于创建的媒体片段。在一个实施例中,实时输入流是线性电视馈送。在一个实施例中,线性电视馈送包含提示音,提示音指示即将来临的广告荚(Pod)(间歇)、每个广告荚的开始和每个广告荚的结束。在一个实施例中,提示音符合电缆电信工程师协会(SCTE)数字视频附属委员会SCTE-35数字节目插入电缆提示消息的规范。在一个实施例中,SCTE-35节目描述符描述广告荚的结构(即,广告的数量和每个广告的时长)。在另一个实施例中,使用标注(callout)来确定广告荚的结构(即,广告的数量和每个广告的时长)。在一个实施例中,标注消息符合电缆电信工程师协会(SCTE)数字视频附属委员会SCTE-130数字节目插入 – 广告系统的规范。
[0006] 在另一个实施例中,使用时间标记(例如,对应于MPEG-TS帧的广播或呈示时间的系统时间,或与节目开始的时间偏移量)提前定义和带外指定广告荚(间歇)。在一个实施例中,还将广告荚的结构(即,广告数量和每个广告的时长)与带外广告荚偏移量信息包含在一起。在一个实施例中,使用视频多广告播放列表(VMAP)来指定带外广告荚信息。在另一个实施例中,使用定制XML格式来指定带外广告荚信息。正如本领域技术人员应该公知的,有多种方法和协议可用于提供带外广告荚信息。应该理解,任何此类方法适于与本发明一起使用。
[0007] 广告荚结构用于定义实时流内的广告边界。然后在广告边界上创建片段,并将元数据插入到这些片段和清单文件中以指示广告的开始和结束。将指示即将开始的广告的元数据插入到位于广告边界之前的片段和清单文件中。在一个实施例中,将广告决策服务器、节目标识符和广告点(置放)信息包含在元数据中以使客户端和中间媒介发出瞄准的广告置放请求
[0008] 在一个实施例中,向广告决策服务器发出广告置放请求以获取广告荚中指定的一个或多个广告插入机会。在一个实施例中,广告决策服务器还用作SCTE-130服务器,SCTE-130服务器用于确定广告荚结构。 在一个实施例中,以广告置放响应中指定的片段置换由实时输入流生成的广告节目边界内的片段。在一个实施例中,下载置换广告片段以置换实际片段。在另一个实施例中,在清单文件中以指向广告置放响应中指定的片段的URL置换与广告关联的片段URL(即,广告边界内的片段)。在另一个实施例中,在清单文件中以指向广告片段代理服务器的URL置换与广告关联的片段URL(即,广告边界内的片段)。在一个实施例中,广告代理服务器URL包含能够标识和相关来自相同广告的多个片段的唯一序列号。在一个实施例中,广告代理服务器URL包含能够实现基于内容的广告瞄准的的唯一节目标识符。
[0009] 在另一个方面中,提供一种方法用于动态地从正在实时地呈放的片段和清单文件提取广告元数据以便能够实现瞄准的广告置换。在一个实施例中,客户端代理来自本地媒体播放器的清单文件请求并从接收的清单提取广告元数据(例如,从m3u8清单提取注释),然后才将其转发到媒体播放器。在另一个实施例中,客户端代理来自媒体播放器的片段请求并从片段提取广告元数据(例如,从RTP or MPEG-TS流提取专有报头或备选数据信道),然后才将其转发到媒体播放器。在另一个实施例中,客户端监视来自媒体播放器的包含广告元数据的回调(callback)(例如,插入到MPEG-TS片段中的ID3标记)。
[0010] 在一个实施例中,客户端对已插入到媒体流中以指示即将来临的广告边界的元数据响应。在一个实施例中,将广告决策服务器、节目标识符和广告点(置放)信息与即将来临的广告边界通知元数据包含在一起。客户端然后可以尝试预先提取要用作流内广告的置换的广告。客户端向广告决策服务器发出广告置换请求,广告决策服务器提供节目标识符和/或广告点信息。在一个实施例中,客户端还向广告决策服务器提供订户和/或用户身份、位置(例如GPS坐标、IP地址、邮政编码、地区代码、国家代码、指定的销售区域(DMA)等)和/或人口统计信息(例如,性别、年龄等),以便帮助广告个性化。
[0011] 在一个实施例中,将元数据插入到媒体流中以指示广告的实际开始,即,广告开始边界。在一个实施例中,广告开始边界精确地对齐到片段边界,从而允许使用片段置换进行无缝广告置换。在一个实施例中,将元数据插入到媒体流中以指示广告的实际结束,即,广告结束边界。在一个实施例中,通过提供广告的精确时长来显性地指定广告结束边界。在另一个实施例中,通过下一个后续节目开始边界来显性地指定广告的结束边界(下一个后续节目开始边界可以是新广告的开始或主节目的重新开始)。在一个实施例中,插入元数据以指示广告回放的报告需求(例如,应将信标消息投递(posted)到的URL以及认证信息和/或信标消息的格式)。
[0012] 在一个实施例中,客户端仅接受与流内广告的指定时长精确地匹配的广告,由此广告的置换不干扰实况流的定时。在另一个实施例中,客户端插入任何广告,但是必须监视实况流以确定何时要恢复实况流。在一个实施例中,如果置换广告短于流内广告,则客户端可以重接实况流并播放流内广告的余下部分。在另一个实施例中,如果置换广告短于流内广告,则客户端可以按流内广告的剩余时长显示填隙消息和图像,并且一旦流内广告完成,则仅重接实况流。在一个实施例中,如果置换广告长于流内广告,则客户端可以返回实况流而不播放要置换广告直到完成,以便防止用户错过实况流内容。
[0013] 在一个实施例中,客户端通过代理来自媒体播放器的清单文件请求并更改呈交到媒体播放器的清单文件中的片段URL(以及任何关联的加密密钥URL和/或与广告片段关联的加密密钥元数据)来执行广告置换。在另一个实施例中,客户端通过透明地代理来自媒体播放器的片段请求(即,端接来自媒体播放器的连接,发出对备选片段的请求,并将该数据返回到媒体播放器)来执行广告置换。在另一个实施例中,客户端通过代理来自媒体播放器的片段请求并将媒体播放器重定向到备选片段(例如,使用HTTP 302重定向)来执行广告置换。
[0014] 在一个实施例中,当客户端执行广告置换时,客户端仅选择与当前正在观看的实况流的编码(即,比特率、帧速率、分辨率等)匹配的广告的编码(即,比特率、帧速率、分辨率等)。在另一个实施例中,如果对于广告片段不存在编码的精确匹配,则客户端选择最接近的匹配编码,偏向选择不超过正在观看的实况流的编码(即,比特率、帧速率、分辨率等)的最大编码(即,比特率、帧速率、分辨率等),即,具有不超过正在使用的实况流比特率的最大比特率、不超过当前正在使用的实况流帧速率的最大帧速率以及不超过当前正在使用的实况流分辨率的最大分辨率等。在一个实施例中,客户端可以对广告片段选择较小编码(即,较低比特率、帧速率、分辨率等)以便适应(即,补偿)检索广告片段中的较高延迟。在另一个实施例中,客户端可以对广告片段选择较大编码(即,较高比特率、帧速率、分辨率等)以便将广告质量和广告创收最大化。用于不同编码的动态选择的技术在PCT公布号WO/2011/139305公布的Ma等人的PCT专利申请PCT/US2010/060317中予以描述。
[0015] 在另一个方面中,提供一种方法用于动态地代理广告片段请求以支持实时瞄准的广告置换。该方法适于在客户端代理中使用,如上文描述的,或在基于网络的代理中使用。在一个实施例中,网络代理通过代理来自媒体播放器的清单文件请求并更改呈交到媒体播放器的清单文件中的片段URL(以及任何关联的加密密钥URL和/或与广告片段关联的任何加密密钥元数据)来执行广告置换。在另一个实施例中,客户端通过透明地代理来自媒体播放器(来自客户端播放器或客户端一侧代理)的片段请求,即端接来自媒体播放器的连接,发出对备选片段的请求,并将该数据返回到媒体播放器来执行广告置换。在另一个实施例中,网络代理通过代理来自客户端(来自客户端播放器或客户端一侧代理)的片段请求并将客户端重定向到备选片段(例如,使用HTTP 302重定向)来执行广告置换。
[0016] 在一个实施例中,将广告决策服务器、节目标识符和/或广告点(置放)信息包含在广告片段请求中。在一个实施例中,客户端还在广告片段请求中提供订户和/或用户身份、位置和/或人口统计信息。网络代理向广告决策服务器发出广告置放请求,广告决策服务器提供节目标识符和/或广告点信息。在一个实施例中,网络代理代理来自片段请求的精确订户和/或用户身份、位置和/或人口统计信息,并将该信息包含在广告置放请求中,以便能够实现更具人性化的广告选择。
[0017] 在一个实施例中,当网络代理执行广告置换时,网络代理仅选择与当前正在观看的实况流的编码(即,比特率、帧速率、分辨率等)匹配的广告的编码(即,比特率、帧速率、分辨率等)。在另一个实施例中,如果对于广告片段不存在编码的精确匹配,则网络代理选择最接近的匹配编码,偏向选择不超过正在观看的实况流的编码(即,比特率、帧速率、分辨率等)的最大编码(即,比特率、帧速率、分辨率等),即,具有不超过正在使用的实况流比特率的最大比特率、不超过当前正在使用的实况流帧速率的最大帧速率以及不超过当前正在使用的实况流分辨率的最大分辨率等。在一个实施例中,网络代理可以对广告片段选择较小编码(即,较低比特率、帧速率、分辨率等)以便适应(即,补偿)检索广告片段中的较高延迟。在另一个实施例中,网络代理可以对广告片段选择较大编码(即,较高比特率、帧速率、分辨率等)以便将广告质量和广告创收最大化。用于不同编码的动态选择的技术在PCT公布号WO/2011/139305公布的Ma等人的PCT专利申请PCT/US2010/060317中予以描述。
[0018] 在一个实施例中,对广告片段以不同于它们正在实况流中置换的对应片段的加密密钥进行加密,并且客户端或网络代理必须修改清单以反映与用于置换对应实况流片段的广告片段关联的加密密钥URL和/或元数据。在另一个实施例中,对广告片段以相同于它们正在实况流中置换的对应片段的加密密钥进行加密,并且无需加密密钥URL和/或元数据的清单处理。在另一个实施例中,对广告片段以不同于它们正在实况流中置换的对应片段的加密密钥进行加密,并且将该密钥信息包含在片段文件报头中,并且无需加密密钥URL和/或元数据的清单处理。在另一个实施例中,对广告片段以不同于它们正在实况流中置换的对应片段的不同加密密钥加密,并且客户端或网络代理必须将广告片段解密并使用与正被置换的实况流片段对应的加密密钥来对广告片段重新加密。在另一个实施例中,对广告片段以不同于它们正在实况流中置换的对应片段的加密密钥进行加密,,但是所有数据以明文呈交到媒体播放器,由此客户端或网络代理必须将广告片段解密,此后才将其呈交到媒体播放器。有多种方式将加密密钥信息和/或内容呈交到媒体播放器,以使媒体播放器可以理解和呈放内容,正如本领域技术人员应该公知的。一般来说,用于调解加密密钥不同的任何方法都可以是可接受的。
[0019] 还披露一种系统用于根据这些方法的提供实现客户端和服务器基础设施。该系统包括用于准备实时内容和插入广告元数据的实况流处理器、用于提取广告元数据并执行瞄准的广告置换的自适应流传输客户端和用于执行瞄准的广告置换的广告片段代理。
[0020] 本发明描述主要着重于实况流传输的场景中的广告置换,其中输入(例如,TV馈送)已经在其中含有正在被其他广告(如本地广告或个性化广告)置换的广告(例如,全国广告)。将认识到所披露的技术可以容易地进行调适以用于正在将广告添加到例如按需点播(VOD)应用中的输入流的广告插入。附图说明
[0021] 上文的发明内容连同随着下文描述展开对于本领域技术人员将显见到的多种从属发明内容和特征通过本发明实施例的设备、组装件、系统和方法来实现,其多种实施例参考仅作为举例的附图来示出,其中:图1是根据本发明多种实施例的能够执行端到端内容递送和瞄准的广告置换过程的系统的框图
图2是根据本发明多种实施例的能够执行广告元数据插入过程的系统的框图;
图3是根据本发明多种实施例的能够执行瞄准的广告置换过程的客户端的框图;
图4是根据本发明多种实施例的能够执行瞄准的广告置换过程的网络代理的框图;
图5是示出根据本发明实施例的用于执行广告元数据插入的方法的流程图
图6是示出根据本发明实施例的用于执行客户端一侧瞄准的广告置换的方法的流程图;
图7由部分7A和部分7B组成,是示出根据本发明实施例的用于执行基于网络代理的瞄准的广告置换的方法的流程图。

具体实施方式

[0022] 在本文对本发明的实施例的描述中,阐述许多具体细节,如组件和/或方法的示例,以便透彻地理解本发明实施例。但是,相关领域中的技术人员将认识到,没有这些特定细节的其中一个或多个细节,仍可以实施本发明的实施例,或者可以利用其他装置、系统、组装件、方法、组件、材料、部件等来实施本发明实施例。在其他实例中,未确切地示出或描述一些公知的结构、材料或操作,以免妨碍对本发明的多个方面的理解。
[0023] 在本文描述中,术语“节目边界”是兼指节目间边界,即节目结束与另一个节目开始之间的边界,以及节目内边界,节目内边界典型地是广告边界(即,节目中插入广告处的间歇)。将认识到的是,节目内边界典型地也是广告边界。更广义的术语“节目边界”用于适用其中可能有用于插入广告以外的其他目的的边界的实施例。
[0024] 图1是根据本发明的一个实施例的系统100的框图。该系统包括实况流处理器102、内容递送网络(CDN)104、广告决策服务器(ADS)108、广告片段代理106(本文也称为网络代理106)以及客户端110。实况流处理器102获取实时音频/视频内容,并通过检测广告置换/插入机会并执行广告置换和插入方法来处理实时音频/视频内容。CDN 104分发实况流处理器102的处理后的内容。客户端110从CDN 104检索并呈放内容,并执行广告置换和插入方法。网络代理106代理来自客户端110的某些内容请求,并执行广告置换和插入方法。ADS 108为实况流处理器102、网络代理106和客户端110执行实时瞄准的广告置换处理。
[0025] 实况流处理器102、CDN 104、ADS 108、网络代理106和客户端110能够各自实现为一个或多个计算机化设备,这些计算机化设备各具有存储计算机程序指令的存储器、用于执行这些指令的一个或多个处理器、将该计算机化设备连接到外部设备的I/O电路以及将存储器、处理器和I/O电路连接在一起的如一个或多个高速总线的互连电路。此外,这种元件集合在本文中还可以称为“处理电路”。图1所示的项目的若干构成组件在又一些附图中予以示出以及在下文中予以描述,并且将理解的是,这些组件可以作为执行对应软件元件的指令的处理电路来实现。例如,“分析器”可以作为执行分析器程序等的指令的计算机处理电路来实现。
[0026] 实况流处理器102负责从实况馈送获取源内容并准备内容以供分发。在一个实施例中,准备包括使用不同编解码器、比特率、帧速率、采样率和分辨率将音频和视频转码成多个编码。然后将转码的内容写入到多个输出文件中。在一个实施例中,多个输出文件包含不同容器格式(例如,3GP、MP4、MPEG-TS、WMV、MOV等)封装的相同转码的内容。在一个实施例中,将准备的输出文件分段成固定时长的片段文件(例如,MPEG-TS片段、分割的MP4片段、3GP DASH片段等)。在一个实施例中,使用标准加密协议(例如,AES-128、HC-128、RC4等)将输出文件(分段的和非分段的)加密。在一个实施例中,实况流处理器102生成指示每个编码的片段检索位置(例如,HLS m3u8、DASH MPD等)的清单文件。
[0027] 在一个实施例中,实况流处理器102检测实况馈送中的广告间歇。在一个实施例中,实况馈送是线性电视馈送。在一个实施例中,实况馈送包含SCTE-35提示音,SCTE-35提示音指示即将来临的广告荚(间歇)、每个广告荚的开始和每个广告荚的结束。在一个实施例中,SCTE-35节目描述符描述广告荚的结构(即,广告的数量和每个广告的时长)。在另一个实施例中,实况流处理器102向ADS 108发出SCTE-130请求以确定广告荚的结构(即,广告的数量和每个广告的时长)。
[0028] 在一个实施例中,实况流处理器102根据实况流输入使用固定时长片段创建片段。在一个实施例中,实况流处理器102使用广告荚结构信息来动态地在广告边界上创建片段边界。作为示例,给定具有两个广告的广告荚,第一个具有15秒时长以及第二个具有25秒时长,其中广告荚将在给定片段N中7秒开始,固定时长片段将具有片段N中7秒开始的广告1,广告2在片段N+2中3秒开始,以及主节目在片段N+3中7秒恢复:
利用动态分段边界,具有两个广告的广告荚的相同情形,第一个广告具有15秒时长以及第二个广告具有25秒时长,其中该广告荚将在给定片段N中7秒开始,固定时长片段将具有截断到7秒的片段N,广告1开始于新片段边界(即,片段N+1的开始),片段N+2截断到
5秒,广告2开始于新片段边界(即,片段N+3的开始),片段N+5截断到5秒,以及主节目在新片段边界恢复(即,片段N+6的开始):
在一个实施例中,实况流处理器102向ADS 108发出广告置放请求以获取广告荚中指定的一个或多个广告插入机会。在一个实施例中,ADS 108是用于确定广告荚结构的同一个SCTE-130服务器。在一个实施例中,实况流处理器102以广告置放响应中指定的片段置换根据实况馈送生成的广告节目边界内的片段。在一个实施例中,实况流处理器102下载置换广告片段以置换实际片段。在另一个实施例中,实况流处理器102以指向广告置放响应中指定的片段的URL置换清单文件中与广告关联的片段URL(即,广告边界内的片段)。在一个实施例中,实况流处理器102缓存广告置放响应以便在未来广告置换机会中使用。在一个实施例中,实况流处理器102还处理广告源内容以确保广告的可用编码与用于实况流的处理的编码匹配。
[0029] 在一个实施例中,实况流处理器102向片段中插入元数据以向客户端110指示即将来临的广告边界,以及每个广告的实际开始和结束。在一个实施例中,该元数据使用de facto标准ID3版本2元数据容器格式(本文中称为ID3标记)被插入在MPEG-TS片段中。在另一个实施例中,该元数据被插入在RTP片段中的专有数据信道中。在另一个实施例中,该元数据被插入在专有DASH报头中。有多种片段格式和多种方式用于将定制元数据插入到给定的片段格式中,正如本领域技术人员应该公知的。将元数据插入到片段中的任何方法将适用于广告边界元数据。
[0030] 在一个实施例中,实况流处理器102向清单文件中插入元数据以向客户端110指示即将来临的广告边界,以及每个广告的实际开始和结束。在一个实施例中,实况流处理器102向清单文件中插入广告荚结构元数据以向客户端110指示每个片段所属的荚内的广告。在一个实施例中,实况流处理器102向清单文件中插入广告片段偏移量元数据以向客户端110指示每个广告内和广告荚内的片段的序列号。在一个实施例中,将该元数据作为注释插入在m3u8清单文件中。在另一个实施例中,将该元数据作为定制标记插入在DASH MPD清单文件中。有多种清单文件格式和多种方式用于将定制元数据插入到给定的清单文件格式中,正如本领域技术人员应该公知的。将元数据插入到清单文件中的任何方法将适用于广告边界元数据。
[0031] 在一个实施例中,插入到清单文件中的片段URL指向广告片段代理106,而非指向CDN 104中的实际片段。在一个实施例中,广告元数据包含每个广告的时长。在一个实施例中,广告元数据包含广告荚的时长。在一个实施例中,广告元数据包含ADS 108的网络地址信息。在一个实施例中,广告元数据包含每个广告的点(置放)信息。在一个实施例中,广告元数据包含瞄准广告决策制定中要使用的节目标识符、原节目广播时间、广告限制以及节目人口统计信息。在一个实施例中,广告荚中的最终广告结束的元数据作为指示主节目重新开始的元数据来包含。
[0032] 在一个实施例中,实况流处理器102将片段文件和清单文件上传到CDN 104,客户端110从CDN 104检索它们。在一个实施例中,客户端110直接从实况流处理器102检索片段和清单文件。在另一个实施例中,客户端110从实况流处理器102检索清单文件以及从CDN 104检索片段文件。在一个实施例中,客户端110检测到广告元数据并执行瞄准的广告置换。在一个实施例中,客户端110通过代理来自其媒体播放器的清单文件请求(参见下文的更详细描述)以及分析清单文件(例如,检测HLS m3u8中的定制注释或DASH MPD中的定制标记)来检测广告元数据。在另一个实施例中,客户端110通过代理来自媒体播放器的片段请求并分析片段数据(例如,检测定制元数据RTP信道)来检测广告元数据。在另一个实施例中,客户端110通过监视来自媒体播放器的回调(callback)(例如,接收ID3回调)来检测广告元数据。
[0033] 在一个实施例中,广告片段的URL指向网络代理106,如实况流处理器102指定的。在一个实施例中,客户端110对片段请求增添订户和/或用户身份、位置和/或人口统计信息。网络代理106接收片段请求,提取广告置放信息和实况流处理器102提供的任何节目信息,以及客户端110提供的订户和/或用户身份、位置和/或人口信息,并且向ADS 108连同该信息发出广告置放请求。ADS 108选择瞄准的置换广告并通知网络代理106。在一个实施例中,网络代理透明地将广告片段从CDN 104代理到客户端110。在另一个实施例中,网络代理(例如,使用HTTP 302重定向)将客户端110重定向到CDN 104中的广告片段。在一个实施例中,网络代理106缓存广告置放响应以便在未来广告置换机会中使用。
[0034] 在另一个实施例中,客户端110通过直接联系ADS 108来执行瞄准的广告置换。客户端110提取广告置放信息和实况流处理器102提供的任何节目信息,并且向ADS 108连同该信息发出广告置放请求。在一个实施例中,客户端110对广告置放请求增添订户和/或用户身份、位置和/或人口统计信息。在一个实施例中,客户端110通过代理来自媒体播放器的清单文件请求并更改呈交到媒体播放器的清单文件中的片段URL来执行广告置换。在另一个实施例中,客户端110通过代理来自媒体播放器的片段请求并透明地代理来自媒体播放器的片段请求(即,端接来自媒体播放器的连接,发出对备选片段的请求,并将该数据返回到媒体播放器)来执行广告置换。在另一个实施例中,客户端110通过代理来自媒体播放器的片段请求并将媒体播放器重定向到备选片段(例如,使用HTTP 302重定向)来执行广告置换。在一个实施例中,客户端110缓存广告置放响应以便在未来广告置换机会中使用。
[0035] 图2是本发明的一个实施例用于实现实况流处理器102的实况流处理器102的框图。实况流处理器102包括多个组件,这些组件包括记录源音频/视频内容的实况流记录器、将源内容转码成不同比特率编码的多比特率转码器204、根据转码的内容创建片段文件的多比特率片段生成器206、将元数据插入到片段文件中的内嵌元数据插入模210、将片段加密然后将其上传到CDN 104的片段加密器212、创建清单文件以描述片段化的内容的清单生成器208以及将元数据插入到清单文件中然后将其上传到CDN 104的清单元数据插入模块218。实况流处理器102还包含提示音分析器214以及广告荚解析器,提示音分析器214监视源内容并检测广告和节目边界,以及广告荚解析器确定广告荚(间歇)的结构。
[0036] 实况流记录器202负责使用多种协议(例如,单播MPEG-TS、组播MPEG-TS、单播RTP、组播RTP、HLS、DASH、RTMP等)来连接到实况馈送。实况流记录器202将流数据传递到多比特率转码器204,多比特率转码器204使用不同的编解码器、比特率、帧速率、采样率和分辨率将该内容转换成多个编码。实况流处理器202还将SCTE-35提示音以及当前系统时钟和节目时间戳信息传递到提示音分析器214,提示音分析器214提取即将来临的广告荚信息,广告荚信息包含广告荚开始和广告荚结束信息。提示音分析器214然后将广告荚信息传递到广告荚解析器216。
[0037] 广告荚解析器216确定广告荚结构(即,广告的数量和每个广告的时长)。在一个实施例中,广告荚解析器216使用SCTE-35提示音信息来确定广告荚结构。在另一个实施例中,广告荚解析器216向ADS 108发出SCTE-130请求以确定广告荚结构。在一个实施例中,SCTE-130请求包含节目标识符和相关的节目系统时钟时间(wall clock time)(即,实况流记录器202记录的对应于提示音中参考的节目时间戳的且按节目开始相对偏移量计算的系统时钟时间)。正如本领域技术人员应该熟知的,除了SCTE-35和SCTE-130(例如,IAB视频多重广告播放列表(VMAP)或其他专有基于XML的协议)以外,有在带内和带外两者中的多种广告提示和荚结构通知协议。应该理解提示音分析器214和广告荚解析器216足够灵活以支持任何有效广告提示和/或荚结构通知协议。
[0038] 在一个实施例中,广告荚解析器216向ADS 108发出广告置放请求以获取广告荚中指定的一个或多个广告插入机会。在一个实施例中,ADS 108是用于确定广告荚结构的同一个SCTE-130服务器。在一个实施例中,广告荚解析器216缓存广告置放响应以便在未来广告置换机会中使用。
[0039] 多比特率转码器204将多种编码转发到多比特率片段生成器206。广告荚解析器216将即将来临的广告荚通知和广告荚结构信息转发到多比特率片段生成器206。多比特率片段生成器206负责基于广告荚结构生成动态片段边界,从而每个广告在新片段边界上开始以及主节目恢复也在新片段边界上开始。在一个实施例中,多比特率片段生成器206下载广告置放响应中指定的置换广告片段,以下载的片段来置换生成的片段。
[0040] 多比特率转码器206将片段边界信息转发到清单生成器208。清单生成器208创建更新的实时清单文件,其中元数据指示即将来临的广告间歇,以及每个广告的实际开始和结束。清单生成器208然后将该清单转发到清单元数据插入模块218。清单元数据插入模块218负责将附加的元数据插入到清单(例如,ADS 108位置信息、节目标识符、原节目广播时间、节目广告限制、节目人口统计信息等)。清单元数据插入模块218还负责执行片段URL重写。在一个实施例中,重写广告片段URL以指向广告置放响应中指定的置换广告片段。在另一个实施例中,重写广告片段URL以指向ADS 108。有多种清单格式(例如,HLS m3u8、DASH MPD等),正如本领域技术人员应该公知的。应该理解清单生成器208和清单元数据插入模块218足够灵活以支持分别地生成和修改任何有效的清单文件格式。清单元数据插入模块将最终清单上传到CDN 104。
[0041] 多比特率片段生成器206将片段转发到内嵌元数据插入模块210。内嵌元数据插入模块210负责将即将来临的广告间歇通知以及精确广告开始和结束通知插入到片段中。在一个实施例中,元数据插入模块210还插入ADS 108的网络地址信息,以及节目标识符、原节目广播时间、节目广告限制以及节目人口统计信息。
[0042] 有多种片段文件格式(例如,MPEG-TS、DASH、RTP等),以及用于每种格式的多种元数据插入方法(例如,ID3标记、定制元数据报头、备选数据信道等),正如本领域技术人员应该公知的。应该理解内嵌元数据插入模块210足够灵活以支持使用任何有效的元数据插入方法修改任何有效的片段文件格式。内嵌元数据插入模块210然后将这些片段转发到片段加密器212,片段加密器212使用标准加密协议(例如,AES-128、HC-128、RC4等)将这些片段加密。片段加密器212将最终的片段上传到CDN 104。
[0043] 图3是本发明的一个实施例用于实现HTTP自适应流传输客户端110的框图。客户端110包括呈放内容的媒体播放器306、透明地代理来自媒体播放器306的清单请求的清单代理304以及透明地将来自媒体播放器306的片段请求并重定向片段请求以置换广告的片段代理310。客户端110还包括从片段文件提取元数据的片段分析器308,以及从清单文件提取元数据并重写将清单文件以置换广告的清单分析器302。
[0044] 在一个实施例中,媒体播放器306通过从清单代理304请求清单文件来启动回放。在一个实施例中,清单代理304从CDN 104检索清单。在另一个实施例中,清单代理304直接从实况流处理器102检索清单。清单代理304将清单提供到清单分析器302,清单分析器
302检测即将来临的广告间歇,检测广告的开始和结束,并从清单文件提取广告元数据。有多种清单格式(例如,HLS m3u8、DASH MPD等),正如本领域技术人员应该公知的。应该理解清单代理304和清单元分析器302足够灵活以支持生成和修改任何有效的清单文件格式。
[0045] 在一个实施例中,清单分析器302在检测到即将来临的广告间歇时,提取ADS 108的网络地址信息以及任何节目标识、原节目广播时间、广告限制和/或节目人口统计信息,并且向ADS 108发出置放请求。在一个实施例中,清单分析器302将订户和/或用户身份、位置和/或人口统计信息包含在广告置放请求中。在一个实施例中,ADS 108以清单文件或指向清单文件的URL进行响应,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108以要用于查询广告片段信息的广告媒体标识符来予以响应。在另一个实施例中,ADS 108以指向不适于插入到HTTP自适应流传输清单中的单独文件的URL来予以响应。
[0046] 在一个实施例中,如果ADS 108返回指向不适于插入到HTTP自适应流传输清单中的单独文件的URL,则客户端110将使用两种播放器方法,其中停止或暂停一个媒体播放器306以及创建第二媒体播放器(未示出)来播放广告,此后才恢复在第一媒体播放器306上的回放。在另一个实施例中,在ADS 108返回清单文件或指向清单文件的URL而该清单文件指定置放广告的片段的情况中,清单分析器302将修改呈交到媒体播放器306的清单,其中以ADS 108提供的置换广告片段URL(和任何关联的加密密钥URL和/或加密密钥元数据)置换流内广告片段URL(和任何关联的加密密钥URL和/或加密密钥元数据)。清单分析器302在检测到即将来临的广告间歇时预先提取置换广告信息,并等待广告间歇的实际开始以置换广告片段URL。在另一个实施例中,在ADS 108返回广告媒体标识符的情况中,清单分析器302首先查询给定的广告媒体标识符的片段位置信息,此后修改呈交给媒体播放器306的清单,以查询中找到的的置换广告片段URL(和任何关联的加密密钥URL和/或加密密钥元数据)置换流内广告片段URL。
[0047] 在一个实施例中,如果置换广告短于流内广告,则清单分析器302可以选择仅置换流内广告片段URL的子集,以使媒体播放器306能播放流内广告的余下部分。在另一个实施例中,如果置换广告短于流内广告,则清单分析器302可以选择按流内广告的剩余时长显示填隙消息和图像,并且一旦流内广告完成,则仅允许媒体播放器306重返实况流。在一个实施例中,如果置换广告长于流内广告,则清单分析器302可以仅使用置换广告片段的子集,使得媒体播放器306能够不完成播放完整的置换广告情况下返回到实况流,以便防止用户错过实况流内容。在一个实施例中,清单分析器302基于包含给定广告的所有片段的清单文件的持续请求以及包含后续非广告片段的清单的请求来检测到广告回放完成。在一个实施例中,清单分析器302向ADS 108发出信标消息以告知ADS 108已完成的广告回放并记录广告印象。在一个实施例中,清单分析器302发出与后续广告片段对应的每个清单请求的信标,以将递进式广告印象信息提供到ADS 108。
[0048] 在一个实施例中,如果置换广告不支持与正被置换的实况流片段的编码完全相同的编码,则清单分析器302可以从任何可用的编码中进行选择。在一个实施例中,清单分析器302可以偏向选择较小编码(即,较低比特率、帧速率、分辨率等)以便适应(即,补偿)检索广告片段中的较高延迟。在另一个实施例中,清单分析器302可以偏向选择较大编码(即,较高比特率、帧速率、分辨率等)以便将广告质量和广告创收最大化。在另一个实施例中,清单分析器302可以选择按流内广告的时长显示填隙消息或图像而不选择不精确地匹配的编码。
[0049] 在一个实施例中,媒体播放器306在接收到清单文件时,向片段代理310发出对片段文件的请求。在一个实施例中,片段代理310基于片段的URL结构来检测广告片段的请求。有多种将元数据编码成URL的方式(例如,URI结构、查询字符串自变量等),正如本领域技术人员应该公知的。应该理解片段代理310足够灵活以支持使用任何有效的基于URL的元数据编码方法来检测广告片段请求。在一个实施例中,从CDN 104检索非广告片段。在另一个实施例中,直接从实况流处理器102检索非广告片段。
[0050] 片段代理310将非广告片段转发到片段分析器308。在一个实施例中,片段分析器308检测嵌入到片段中的即将来临的广告间歇通知,并提取ADS 108的网络地址信息以及任何节目标识、原节目广播时间、广告限制和/或节目人口统计信息。有多种片段文件格式(例如,MPEG-TS、DASH、RTP等),以及用于每种格式的多种元数据插入方法(例如,ID3标记、定制元数据报头、备选数据信道等),正如本领域技术人员应该公知的。应该理解片段分析器308足够灵活以支持使用任何有效的元数据插入方法来分析和检测任何有效片段文件格式中的元数据。在一个实施例中,片段分析器308向清单分析器302提供即将来临的广告间歇通知。在一个实施例中,片段分析器308还向片段代理310提供即将来临的广告间歇通知。片段分析器308以片段响应媒体播放器306。
[0051] 在一个实施例中,片段代理310在接收到即将来临的广告间歇的通知时,向ADS108发出广告置放请求,其包含任何节目标识、原节目广播时间、广告限制和/或节目人口统计信息。在一个实施例中,片段代理310将订户和/或用户身份、位置和/或人口统计信息包含在广告置放请求中。在一个实施例中,ADS 108以清单文件或指向清单文件的URL进行响应,该清单文件指定置换广告的片段。在一个实施例中,当片段代理310检测到第一广告片段的请求时,它以ADS 108提供的广告置换该广告。在一个实施例中,缓存广告置放响应和清单文件以便在未来广告置换机会中使用。在一个实施例中,片段代理310下载备选广告片段并将其提供到片段分析器308。片段分析器308以备选片段响应媒体播放器306。
在一个实施例中,片段分析器308将广告片段解密并且使用与正被置换的实况流片段相同的加密密钥将其再次加密,此后将其发送到媒体播放器306。
[0052] 在一个实施例中,如果置换广告短于流内广告,则片段代理310可以选择仅置换流内广告片段URL的子集,以使媒体播放器306能播放流内广告的余下部分。在另一个实施例中,如果置换广告短于流内广告,则片段代理310可以选择按流内广告的剩余时长显示填隙广告,并且一旦流内广告完成,则仅允许媒体播放器306重返实况流。在一个实施例中,如果置换广告长于流内广告,则片段代理310可以仅使用置换广告片段的子集,使得媒体播放器306能够不完成播放完整的置换广告情况下返回到实况流,以便防止用户错过实况流内容。
[0053] 在一个实施例中,如果置换广告不支持与正被置换的实况流片段的编码完全相同的编码,则片段代理310可以从任何可用的编码中进行选择。在一个实施例中,片段代理310可以偏向选择较小编码(即,较低比特率、帧速率、分辨率等)以便适应(即,补偿)检索广告片段中的较高延迟。在另一个实施例中,片段代理310可以偏向选择较大编码(即,较高比特率、帧速率、分辨率等)以便将广告质量和广告创收最大化。在另一个实施例中,片段代理310可以选择显示流内广告的时长的填隙消息或图像而不选择不精确地匹配的编码。
[0054] 在一个实施例中,片段代理310检测广告的最后一个片段并向片段分析器308通知所检索到的片段是当前广告的最后一个。片段分析器308从片段中提取广告信标消息元数据(例如,应将信标消息投递到的URL、认证信息和/或信标消息的格式)。在一个实施例中,片段分析器308向清单分析器302通知何时媒体播放器306完成广告的最后一个片段的检索。在另一个实施例中,片段分析器向ADS 108发出信标消息以告知ADS 108媒体播放器306已完成给定广告的最后一个片段的检索并记录广告印象。在一个实施例中,清单分析器308发出递送到媒体播放器306的每个广告片段的信标以向ADS 108提供递进式广告印象信息。
[0055] 图4是本发明的一个实施例用于实现广告片段代理(网络代理)106的框图。网络代理106包括处理和从基于HTTP的片段提取元数据和/或从客户端110提取清单检索请求的HTTP请求分析器402、选择置换广告并将个体请求映射到特定片段的广告选择模块404、以缓存的片段数据或片段位置重定向响应客户端110的片段递送模块408以及用于存储广告置放信息以及广告片段的缓存406。
[0056] 在一个实施例中,HTTP请求分析器402从客户端110接收清单请求。HTTP请求分析器402从CDN 104检索当前清单,并分析出广告片段序列号、点标识符、节目标识符、原节目广播时间、广告限制、节目人口统计信息、订户信息和/或用户身份、位置和/或人口统计信息,并将其转发到广告选择模块404。如果清单中列出的最新(最近生成的)片段是广告的第一片段,则广告选择模块404向ADS 108发出包含提取的信息的广告置放请求。在一个实施例中,广告选择模块404可以对人口统计上相似的客户端110请求使用缓存的广告置放响应。在一个实施例中,ADS 108以清单文件或指向清单文件的URL进行响应,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108以要用于查询选定的广告的清单和/或片段信息的广告媒体标识符来予以响应。在一个实施例中,广告选择模块404将广告置放响应存储在缓存406中。如果清单包含广告的多个片段,则广告选择模块404基于来自缓存406的广告片段序列号来检索清单中列出的每个广告片段的片段信息。广告选择模块404然后将更新的清单转发到HTTP递送模块408,HTTP递送模块408将修改的清单转发到客户端110。
[0057] 在一个实施例中,HTTP请求分析器402从客户端110接收广告片段请求。HTTP请求分析器402分析出广告片段序列号、点标识符、节目标识符、原节目广播时间、广告限制、节目人口统计信息、订户信息和/或用户身份、位置和/或人口统计信息,并将其转发到广告选择模块404。如果该请求是针对广告中的第一个片段,则广告选择模块404向ADS 108发出包含提取的信息的广告置放请求。在一个实施例中,广告选择模块404可以对人口统计上相似的客户端110请求使用缓存的广告置放响应。在一个实施例中,ADS 108以清单文件或指向清单文件的URL进行响应,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108以要用于查询选定的广告的清单和/或片段信息的广告媒体标识符来予以响应。在一个实施例中,广告选择模块404将广告置放响应存储在缓存406中。如果请求是针对广告中的第一个片段以外的片段,则广告选择模块404基于来自缓存406的广告片段序列号来检索当前片段的片段信息。广告选择模块404然后将片段信息转发到HTTP递送模块408。在一个实施例中,HTTP递送模块408通过从CDN 104检索实际片段并将该数据转发到客户端110来透明地代理片段请求。在一个实施例中,片段递送模块408将检索的片段存储在缓存406中。在一个实施例中,片段递送模块408使用来自缓存406的缓存的片段直接响应客户端110。在另一个实施例中,片段递送模块408将客户端110重定向到该片段在CDN 104中的位置(例如,使用HTTP302重定向)。在一个实施例中,HTTP递送模块408将广告片段解密并使用与正被置换的实况流片段相同的加密密钥将该广告片段再次加密,此后将其发送到客户端110。
[0058] 在一个实施例中,如果置换广告不支持与正被置换的实况流片段的编码完全相同的编码,则广告选择模块404可以从任何可用的编码中进行选择。在一个实施例中,广告选择模块404可以偏向选择较小编码(即,较低比特率、帧速率、分辨率等)以便适应(即,补偿)检索广告片段中的较高延迟。在另一个实施例中,广告选择模块404可以偏向选择较大编码(即,较高比特率、帧速率、分辨率等)以便将广告质量和广告创收最大化。在另一个实施例中,如果广告选择模块404未能选择精确匹配的编码,则广告选择模块404可以选择不置换实况流中的广告。
[0059] 图5是描述用于执行基于广告边界的分段和广告元数据插入的实况流处理器102的过程500的流程图。在步骤502中,实况流处理器102开始记录实况馈送数据,并分析出提示音数据(例如,节目标识符、当前节目和系统时钟时间戳信息等)。将当前系统时钟时间与节目时间戳相关,并将其作为原广播时间存储。在一个实施例中,当前系统时钟时间和节目时间戳在实况流处理开始时进行记录,以及所有未来的系统时钟时间均计算为与实况流处理开始的偏移量,即,给定初始系统时钟时间W以及初始节目时间戳P,以及节目时间戳与系统时钟时间转换比R,可以根据当前节目时间戳T将当前系统时钟时间C计算为。在步骤504中将实况流数据馈送到转码器中,其中将输入流转码成使用不同编解码器、比特率、帧速率、采样率和分辨率的多个编码。
[0060] 在步骤506-510中,实况流处理器102检查实况馈送中的提示数据并对齐予以响应。在一个实施例中,实况馈送包含SCTE-35提示音,SCTE-35提示音指示即将来临的广告荚(间歇)、每个广告荚的开始和每个广告荚的结束。这些提示音用于选择性处理,现在对此进行详细地描述。在另一个实施例中,基于假定定义广告荚(间歇)并在带外提供。
[0061] 在步骤506中,如果这些提示指示新广告的开始,则处理进行到步骤520,其中将当前片段截短,并开始新片段,以使广告的开始将与片段的边界对齐。将广告开始元数据插入到新片段中。处理然后进行到步骤516,其中将截短的片段加密并将其上传到CDN 104。处理然后进行到步骤518,其中利用截短的片段信息和后续片段的广告开始元数据更新清单文件,并将其上传到CDN 104。处理然后进行到框502,其中继续实况馈送的处理。
[0062] 在步骤506中,如果这些提示未指示广告的开始,则处理接续到步骤508。在步骤508中,如果这些提示指示广告的结束,则处理进行到步骤522,其中将当前片段截短,并开始新片段,以使下一个节目的开始(如果是广告或主节目)将与片段的边界对齐。将广告信标消息元数据插入到截短的片段中。处理然后进行到步骤516,其中将截短的片段加密并将其上传到CDN 104。处理然后进行到步骤518,其中利用截短的片段信息以及广告结束元数据和广告信标消息元数据来更新清单文件,并将其上传到CDN 104。处理然后进行到框
502,其中继续实况馈送的处理。
[0063] 在步骤508中,如果这些提示未指示广告的结束,则处理接续到步骤510。在步骤510中,如果这些提示未指示即将来临的广告间歇,则处理直接接续到步骤512。在步骤510中,如果这些提示指示即将来临的广告间歇,则处理接续到步骤526,其中将元数据插入到当前片段中,其指示即将来临的广告间歇,以及节目标识符、原节目广播时间、节目广告限制以及节目人口统计信息元数据。还将广告间歇元数据以及节目标识符原节目广播时间、节目广告限制以及节目人口统计信息元数据插入到清单文件中。在一个实施例中,SCTE-35节目描述符描述广告荚的结构(即,广告的数量和每个广告的时长)。在另一个实施例中,在步骤526中,实况流处理器102向ADS 108发出SCTE-130请求以确定广告荚的结构(即,广告的数量和每个广告的时长)。在一个实施例中,SCTE-130请求包含提示点的节目标识符和相关的节目系统时钟时间C。以ADS 108返回的广告荚结构信息来更新当前广告荚的提示数据。处理然后接续到步骤512。
[0064] 在步骤512中,执行检查以查看片段是否完成(依据片段时长)。正常情况下,当片段的时长大于或等于固定目标片段时长时,则认为片段完成。在一个实施例中,片段时长是GOP(图片组)时长的固定倍数。如果需要截短来将片段开始正确地对齐到节目边界,则可以在步骤520和522中创建较短的片段。否则,在步骤512中,在时长边界上创建片段。如果片段尚未完成,则处理接续回步骤502,其中继续实况流处理。如果片段完成,则处理接续到步骤514,其中关闭当前片段以及开始新片段。处理然后接续到步骤516,其中将完成的片段加密并将其上传到CDN 104。处理然后接续到步骤518,其中以完成的片段信息来更新清单并将其上传到CDN 104。在一个实施例中,该过程(即,通过跟踪开始和结束提示音)维护有关正处理的当前片段是否是广告的一部分的状态,并将附加的元数据添加到清单,包括广告片段序列号。处理然后进行到框502,其中继续实况馈送的处理。
[0065] 图6是描述用于执行客户端一侧瞄准的广告置换的过程600的流程图。该过程分成两个部分:步骤602-620中的清单代理和步骤652-666中的片段代理。这两个过程可以独立地使用或彼此结合来使用。虽然在两个过程中都指定广告置放请求,但是如果两个过程一起使用,则无需发出两个广告置放请求。
[0066] 在步骤602处开始的清单代理中,清单代理304从媒体播放器306接收清单请求。清单代理304从CDN 104检索更新的清单,并将分析出实况流处理器102插入的广告元数据。在步骤604中,执行检查以查看清单中是否指示新广告开始。如果在步骤604中指示了新广告开始,则处理接续到步骤606,其中设置广告置换标志,其向清单分析器302指示应该进行清单重写。处理然后接续到步骤608。如果未指示新广告开始,则处理直接从步骤
604接续到步骤608。
[0067] 在步骤608中,执行检查以查看清单中是否指示当前广告的结束。如果指示了广告结束,则处理接续到步骤606,其中取消设置广告置换标志,其向清单分析器302指示应该停止清单重写。还向ADS 108发送信标消息以指示广告回放的完成。处理然后接续到步骤612。如果未指示广告结束,则处理直接从步骤608接续到步骤612。
[0068] 在步骤612中,执行检查以查看清单中是否指示即将来临的广告间歇。如果指示即将来临的广告间歇,则处理接续到步骤614,其中向ADS 108发出广告置放请求。在一个实施例中,ADS 108返回清单文件或指向清单文件的URL,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108返回用于查询选定的广告的清单和/或片段位置信息的广告媒体标识符。将该清单保存以备广告片段置换中的未来使用。处理然后接续到步骤616。如果未指示新广告开始,则处理直接从步骤612接续到步骤616。
[0069] 在步骤616中,执行检查以根据步骤606查看广告置换当前是否正在进行中。如果广告置换处于活动状态,则处理接续到步骤618,其中进行清单重写。清单分析器302选择下一个后续置换广告片段,并将其URL(连同任何关联的加密密钥URL和/或加密密钥元数据一起)插入到清单中。处理然后接续到步骤620。如果未指示新广告开始,则处理直接从步骤616接续到步骤620。在步骤620中,将清单返回到媒体播放器306。
[0070] 在步骤652处开始的片段代理中,片段代理310从媒体播放器306接收片段请求。
[0071] 在步骤654中,执行检查以查看请求是否针对广告的第一个片段。如果请求是针对广告的第一个片段,则处理接续到步骤656,其中向ADS 108发出广告置放请求。在一个实施例中,ADS 108返回清单文件或指向清单文件的URL,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108返回用于查询选定的广告的清单和/或片段位置信息的广告媒体标识符。将该清单保存以用于选定的广告的后续广告片段置换中使用。在一个实施例中,缓存广告置换响应和清单文件以便在未来广告置换机会中使用。选定并检索置换广告的第一个片段。处理然后接续到步骤658。如果请求不是针对广告的第一个片段,则处理直接从步骤654接续到步骤658。
[0072] 在步骤658中,执行检查以查看请求是否针对当前广告的最后一个片段。如果请求是针对当前广告的最后一个片段,则处理接续到步骤660,其中向ADS 108发出信标消息以指示广告回放的完成。处理然后接续到步骤662。如果请求不是针对当前广告的最后一个片段,则处理直接从步骤658接续到步骤662。
[0073] 在步骤662中,执行检查以根据步骤656查看广告置换当前是否正在进行中。如果广告置换处于活动中,则处理接续到步骤664,其中将当前置换广告片段返回到媒体播放器306。在一个实施例中,片段分析器308将广告片段解密并且使用与正被置换的实况流片段相同的加密密钥将其再次加密,此后将其发送到媒体播放器306。如果广告置换非处于活动中,则处理直接从步骤662接续到步骤666。在步骤666中,将请求的流片段返回到媒体播放器306。
[0074] 图7是描述用于执行基于网络代理的瞄准的广告置换的网络代理106的过程的流程图。有两个子过程:子过程700A中的片段代理,含有步骤702-718(图7A);以及子过程700B中的清单代理,含有步骤752-764(图7B)。这两个过程可以独立地使用或彼此结合来使用。虽然在两个过程中都指定广告置放请求,但是如果两个过程一起使用,则无需发出两个广告置放请求。
[0075] 开始于片段代理子过程700A,在步骤702中,网络代理106从客户端110接收广告片段请求并对其进行分析。在步骤704中,执行检查以查看这是否是新广告的第一个片段。如果请求是针对新广告的,则处理接续到步骤706,其中从请求提取广告元数据,包括广告点(置放)、节目标识符、原节目广播时间、广告置放限制和节目人口统计信息,以及订户信息和/或用户身份、位置和/或人口统计信息。然后向ADS 108发出广告置放请求。在一个实施例中,ADS 108返回清单文件或指向清单文件的URL,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108返回用于查询选定的广告的清单和/或片段位置信息的广告媒体标识符。网络代理106存储广告置放响应以及当前客户端110广告请求至广告置放响应的映射,以便可以正确地映射后续广告片段请求以实现选定的广告的接续。在一个实施例中,缓存广告置放响应和清单文件以便在未来广告置换机会中使用。在步骤704中,如果请求不是针对新广告的,则处理接续到步骤708,其中将客户端110广告请求映射到存储的广告置放响应,并选择适合的下一个片段。
[0076] 一旦在步骤706或708中完成处理,则处理接续到步骤710,其中广告片段递送开始。在步骤710中,执行检查以查看期望的片段是否缓存在本地。如果片段缓存在本地,则处理接续到步骤712,其中从本地缓存406检索片段,并就将其递送到客户端110。如果片段未缓存在本地,则处理直接从步骤710接续到步骤714,其中执行检查以查看是否允许重定向。如果允许重定向,则处理接续到步骤716,其中网络代理106向客户端110发出HTTP302重定向,其将客户端110引导到CDN 104中选定的广告片段的位置。如果不允许重定向,则处理直接从步骤714接续到步骤718,其中网络代理106开始从CDN 104检索选定的广告片段,并透明地将其代理到客户端110。在一个实施例中,网络代理106将广告片段解密并使用与正被置换的实况流片段相同的加密密钥将该广告片段再次加密,此后将其发送到客户端110。在一个实施例中,还将广告片段数据存储在本地缓存406中。
[0077] 现在转到清单代理子过程700B,在步骤752中,网络代理106从客户端110接收清单请求并对其进行分析。处理然后接续到步骤753,其中网络代理106从CDN 104检索当前实况流清单文件。在步骤754中,执行检查以查看清单中的最近(最新)片段是否是新广告的第一个片段。如果清单包含新广告的开始,则处理接续到步骤756,其中从请求提取广告元数据,包括广告点(置放)、节目标识符、原节目广播时间、广告置放限制和节目人口统计信息,以及订户信息和/或用户身份、位置和/或人口统计信息。然后向ADS 108发出广告置放请求。在一个实施例中,ADS 108返回清单文件或指向清单文件的URL,该清单文件指定置换广告的片段。在另一个实施例中,ADS 108返回用于查询选定的广告的清单和/或片段位置信息的广告媒体标识符。网络代理106存储广告置放响应以及当前客户端110广告请求至广告置放响应的映射,以便可以正确地映射后续广告片段请求以实现选定的广告的接续。在一个实施例中,缓存广告置放响应和清单文件以便在未来广告置换机会中使用。一旦检索到广告信息,则处理接续到步骤762。
[0078] 在步骤754中,如果清单未包含新广告的开始,则处理接续到步骤758,其中执行检查以查看清单是否包含当前正被置换的广告片段。如果清单中没有广告片段,则处理接续到步骤764,其中将未修改的清单返回到客户端110。如果在步骤758中,清单中存在第一个广告片段以外的广告片段,则处理接续到步骤760,其中从缓存406中检索置换广告信息。处理然后接续到步骤762。
[0079] 在步骤762中,网络代理106以从ADS 108检索的置换广告片段URL(连同任何关联的加密密钥URL和/或加密密钥元数据)置换实况流清单中的广告片段URL,并将修改的清单文件返回到客户端110。
[0080] 虽然上文描述包含有关完整实现原理的多种详情,但是将认识到本发明仍能够以多种其他方式来实现,并且涵盖落在本文权利要求的范围内的所有实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈