CN102572606B - 带有灵活的远程回放的流播的数字内容 - Google Patents

带有灵活的远程回放的流播的数字内容 Download PDF

Info

Publication number
CN102572606B
CN102572606B CN201110422984.9A CN201110422984A CN102572606B CN 102572606 B CN102572606 B CN 102572606B CN 201110422984 A CN201110422984 A CN 201110422984A CN 102572606 B CN102572606 B CN 102572606B
Authority
CN
China
Prior art keywords
playback
digital
interface
translation
code
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.)
Active
Application number
CN201110422984.9A
Other languages
English (en)
Other versions
CN102572606A (zh
Inventor
M.梅泰尔
Z.萨林
C.C.卡赞久
R.K.拉胡马赫拉
A.E.克莱梅茨
S.拉曼
G.弗罗斯特
I.姆拉德诺夫
J.孔特雷拉斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102572606A publication Critical patent/CN102572606A/zh
Application granted granted Critical
Publication of CN102572606B publication Critical patent/CN102572606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

这里公开了用于便利于数字媒体内容流播到远端设备的方法、设备和系统的代表性实施例。在一个示范性实施例中,转换层把标记语言代码和/或脚本语言代码(例如,遵循HTML5/W3C标准的代码)转换成遵循流播协议(例如,由数字生活网络联盟(DLNA)规定的流播协议),以便促进数字内容(例如,数字视频、数字音频或数字图像)流播到远端设备(例如,数字电视机、数字音频播放器、游戏控制台等等)。在某些实施例中,转换层将在远端设备处的流播协议事件转换成在本地计算设备处的其它事件(例如,在HTML5标准中规定的事件)。本地/远端回放切换逻辑也可以便利于在本地回放与远端回放之间的切换。

Description

带有灵活的远程回放的流播的数字内容
背景技术
随着数字内容在互联网上变得更多样化和更容易获得,消费者正在寻找更方便的方式来访问这样的内容。现代家庭典型地具有几个设备(例如,PC、数字电视、游戏控制台、智能电话和其它这样的数字内容回放设备)可被使用来访问、编辑、存储或播放数字内容,诸如视频、音频或图像。某些设备提供了更大的移动方便性和简易性。例如,智能电话是高度便携式的,且提供了各种各样的功能性。其它设备为某些种类的内容提供更想要的用户体验。例如,宽屏数字电视很适合于在家庭影院装置上观看数字视频内容。今天的消费者在访问互联网上可获得的各种各样的数字内容时想要利用(leverage)她的每个设备的优点。
发明内容
这里公开了用于便利于数字内容的流播和数字内容在远程设备上的远程回放的方法、设备和系统的代表性实施例。所公开的方法、设备和系统无论如何不应当被解释为限制。而是,本公开内容针对各种公开的实施例的所有的新颖和非显而易见的特征和方面,不管是单独的还是以彼此的各种组合和子组合。而且,所公开的实施例的任何特征或方面可以以彼此的各种组合和子组合来被使用。所公开的方法、设备和系统不限于任何特定的方面或特征或它们的组合,所公开的实施例也不需要存在任何特定的优点或解决问题。
在这里描述的例子中,在本地计算设备处接收的代码可被翻译成遵循流播协议,以便利于由远程回放设备处理与代码相关联的内容。例如,在从远程服务器(例如,经由web浏览器)接收标记语言代码和/或脚本语言代码(例如,遵循HTML5/W3C标准的代码)的PC上的翻译层可以把这样的代码自动变换成在流播协议(例如,由数字生活网络联盟(DLNA)规定的流播协议)中的对应调用,以便利于将数字内容(例如,数字视频、数字音频或数字图像)流播到许多的远程设备(例如,数字电视、数字音频播放器、游戏控制台等等)。翻译也可以往其它方向执行。例如,在本地计算设备处的翻译层可以将来自远程设备的流播协议事件自动翻译成在本地计算设备处的其它事件(例如,在HTML5标准中规定的事件)。本地/远程回放切换逻辑可以通过便利于在本地计算设备上内容的本地回放与在另外的设备处的远程回放之间的切换而提供灵活的远程回放。所描述的翻译和回放切换技术例如可被使用来允许用户组合在本地计算设备(例如,膝上型计算机)上web浏览的方便性与由其它设备(例如,大屏幕电视)提供的观看体验。
本发明的上述的和其它的目的、特征和优点从参照附图进行的以下的详细说明将变得更明白。
附图说明
图1是实施这里描述的技术的示范性系统的框图。
图2是用于翻译标记语言代码或脚本语言代码以遵循流播协议的示范性技术的流程图。
图3是用于翻译标记语言代码或脚本语言代码以遵循流播协议、和用于将流播协议事件翻译成标记语言事件的示范性技术的流程图。
图4是显示按照UPnP AV结构体系的安排的框图。
图5是显示包括具有本地/远程回放切换功能性、本地回放组件和远程回放组件的媒体单元的示范性安排的框图。
图6是显示包括用于与一个或多个远程设备的通信的、原始字节流和代理的字节流的示范性安排的框图,其中可选的代码转换可以对编码的媒体内容执行。
图7是显示包括具有本地回放组件和远程回放组件的图像单元的示范性安排的框图。
图8是可被使用来在数字内容的本地与远程回放之间进行切换的示范性用户接口的图。
图9是用于响应于用户输入而在数字媒体内容的本地与远程回放之间进行切换的示范性技术的流程图。
图10是适用于实施这里描述的技术的示范性计算环境的框图。
图11是适用于实施这里描述的技术的示范性云计算安排的框图。
图12是适用于实施这里描述的技术的示范性移动设备的框图。
具体实施方式
概述
这里公开了用于便利于数字内容的流播和数字内容在远程设备上的远程回放的方法、设备和系统的代表性实施例。所公开的方法、设备和系统无论如何不应当被解释为限制。而是,本公开内容针对各种公开的实施例的所有的新颖的和非显而易见的特征和方面,不管是单独地还是以彼此的各种组合和子组合。而且,所公开的实施例的任何特征或方面可以以彼此的各种组合和子组合而被使用。所公开的方法、设备和系统不限于任何特定的方面或特征或它们的组合,所公开的实施例也不需要存在任何一个或多个特定的优点或解决问题。
虽然所公开的某些方法的操作为了方便呈现起见是以特定的、顺序的次序被描述的,但应当理解,这种描述方式包括重新安排,除非由下面阐述的特定语言要求特定的排序。例如,顺序地描述的操作在一些情形下可被重新安排或同时执行。而且,为了简化起见,附图可能没有显示其中所公开的方法、设备和系统可以结合其它方法、设备和系统来使用的各种方式。
所公开的方法可以通过使用被存储在一个或多个计算机可读媒体(例如,非瞬时的计算机可读媒体,诸如一个或多个光媒体盘、易失性存储器组件(例如,DRAM或SRAM)、或非易失性存储器或存储组件(例如,硬驱动器))上并在计算机(例如,任何市场上可买到的计算机或被嵌入在设备中的计算机或图像处理器,诸如膝上型计算机、台式计算机、上网本(net book)、web本(web book)、平板(tablet)计算设备、智能电话或其它移动计算设备)上被执行的计算机可执行指令来实施。在所公开的方法或系统实施期间被创建和使用的任何中间的或最终的数据也可以被存储在一个或多个计算机可读媒体(例如,非瞬时计算机可读媒体)上。
为了清晰起见,仅仅描述基于软件的实施例的某些选择的方面。在本领域中熟知的其它细节将省略。例如,应当理解,基于软件的实施例不限于任何特定的计算机语言或程序。同样地,所公开的技术的实施例不限于任何特定的计算机或特定类型的硬件。下面介绍适用于执行任何所公开的基于软件的方法的示范性计算环境。
所公开的方法也可以通过使用被配置成执行任何的所公开方法的专门化的计算硬件而被实施。例如,所公开的方法可以由专门被设计成实施任何的所公开方法(例如,被配置成执行任何的所公开的翻译的专用硬件)的集成电路(例如,专用集成电路(“ASIC”)、图形处理单元(“GPU”)或可编程逻辑器件(“PLD”),诸如现场可编程门阵列(“FPGA”))来实施。
在这里描述的例子中,在本地计算设备处接收的代码可被翻译成遵循流播协议,以便便利于在远程设备处的内容的处理。翻译可包括将代码变换成不同种类的代码。例如,标记语言代码或脚本语言代码可被变换成遵循流播协议的被翻译的代码。翻译还可包括代码的其它解译。例如,不同种类的处理和数据操控(例如,遵循流播协议)可以响应于所接收的标记语言代码和脚本语言代码而发生(例如,在远程设备处)。翻译也可以被用作为流播内容和/或相关信息到远程设备(例如,数字电视、数字音频播放器、游戏控制台或其它数字内容回放设备)的过程的一部分。
例如,在从远程服务器经由web浏览器接收标记语言代码和/或脚本语言代码(例如,遵循HTML5/W3C标准的代码)的PC上的翻译层可以把这样的代码自动变换成流播协议(例如,由数字生活网络联盟(DLNA)规定的流播协议)中的对应调用,以便将数字内容(例如,数字视频、数字音频或数字图像)流播到许多的远程设备(例如,数字电视、数字音频播放器、游戏控制台或其它数字内容回放设备)。翻译层也可以执行往其它方向的翻译。例如,在本地计算设备处的翻译层可以将从远程设备接收的流播协议事件自动变换成其它事件(例如,在HTML5标准中规定的事件)。
正如这里进一步描述的,在本地计算设备处的本地/远程回放切换逻辑可被使用来在本地计算设备上所获取的内容的本地回放与另外的设备处的远程回放之间切换。所描述的翻译和回放切换技术例如可被使用来允许用户组合在本地计算设备(例如,膝上型计算机)上web浏览的方便性与由其它设备(例如,大屏幕电视)提供的观看体验。
当被应用到这里描述的设备时,术语“远程”被使用来指除本地计算设备之外的其它设备。远程设备可以是由本地计算设备通过互联网、广域网、本地网(例如,以太网、Wi-Fi网或覆盖诸如家庭或办公室的小的地理区域的其它网络)或另外的某些其它网可访问的。当被应用到这里描述的回放或其它处理时,术语“远程”被使用来指在远程设备处的回放或其它处理。
A. 具有翻译层和本地/远程切换的示范性系统
图1是实施这里描述的技术的示范性系统100的框图。在这个例子中,计算设备105实施本地/远程回放切换逻辑120及翻译层140。
在图1所示的例子中,计算设备105接收输入110。输入110包括代表诸如数字视频、数字音频或数字图像那样的数字内容的信息。输入110还可包括其它类型的输入,诸如用户输入。例如,计算设备105可以接受指示用户对数字内容的本地回放或远程回放的选择的用户输入。
本地/远程回放切换逻辑120允许系统100选择在计算设备105处的本地回放或在远程设备处的远程回放。例如,响应于用户输入,系统100可以使用本地/远程回放切换逻辑120以在使用本地回放逻辑130的本地回放或在远程设备处(例如,远程的符合DLNA的设备)——诸如数字电视、游戏控制台或其它数字内容回放设备——的远程回放之间进行切换。本地/远程回放切换逻辑120可以以不同的方式被实施。例如,本地/远程回放切换逻辑120可被包括在计算设备105处的软件单元(software element)中。在所描述的例子中,本地/远程回放切换逻辑被包括在代表用于回放(例如,本地回放或远程回放)的数字内容的软件单元中。代表用于回放的媒体数据(例如,视频数据和/或音频数据)的软件单元可被称为媒体单元。代表用于回放的图像数据的软件单元可被称为图像单元。本地回放逻辑130和在远程设备(未示出)处的回放逻辑例如可包括分别对编码的视频、音频或图像信息进行译码的视频、音频或图像译码器。
在翻译层140处,执行翻译。例如,翻译层140可以把遵循HTML5/W3C标准的标记语言代码和/或脚本语言代码自动翻译成遵循流播协议(例如,由DLNA规定的流播协议)的经翻译的代码。被翻译的代码然后可以经由远程回放字节流150被发送到另一个设备,诸如数字电视、游戏控制台或用于远程回放的其它数字内容回放设备。
实际上,这里显示的系统,诸如系统100,可包括附加系统组件、在系统组件之间的附加关系等等。例如,系统100可包括一个或多个代码转换器,其将视频数据、音频数据或图像数据进行代码转换。代码转换器例如可被使用来当媒体数据以远程设备不支持的编码格式被接收时,把媒体数据变换成不同的编码格式。由这样的代码转换器执行的确切操作可以取决于输入和输出压缩格式而变化。
在系统100内的模块之间显示的关系指示了在系统中的一般信息流;为了简化起见,其它关系未示出。取决于想要的处理的实现和类型,系统的模块可以被添加、省略、分割成多个模块、与其它模块组合和/或用相似的模块替代。通常,这里描述的技术对于不同的操作系统或硬件是通用的,以及可以在任何的各种各样环境下被应用来利用所描述的特征。
B. 示范性技术
图2显示用以翻译用于代表数字内容的单元的标记语言代码或脚本语言代码(例如,接口调用)的示范性技术200。诸如图1所示系统100那样的系统或其它系统执行技术200。
在210,系统接收与数字内容相关联的标记语言代码或脚本语言代码(例如,遵循HTML5的代码)。例如,本地计算设备的用户经由web浏览器导航到网页,以及本地计算设备经由web浏览器接收标记语言代码和/或脚本语言代码。
在220,系统分析接收的标记语言代码或脚本语言代码,以得到代表接口调用的信息,该接口调用是与代表数字内容的单元(element)相关联的。在所描述的例子中,代表数字内容的单元可包括实施接口的软件单元(例如,代表数字媒体内容的媒体单元,或代表数字静止图像内容的图像单元)。例如,标记语言代码可包括对于实施媒体单元接口(例如,HTMLMediaElement (HTML媒体单元)接口)的媒体单元(例如,<video(视频)>单元或<audio(音频)>单元)、或实施图像单元接口(例如,HTMLImageElement(HTML图像单元) 接口)的图像单元(例如,<img>单元)的接口调用。
在230,系统把接口调用自动翻译成遵循流播协议的经翻译的代码。例如,在本地计算设备处的翻译层把对HTMLMediaElement接口的调用或对HTMLImageElement接口的调用自动翻译成遵循流播协议(例如,由DLNA规定的UPnP流播协议)的经翻译的代码。翻译层可以在软件单元(例如,媒体单元)中被实施。如这里描述的,翻译牵涉到接收要被翻译的代码和以指定的方式解译所接收的代码。用于HTMLMediaElement 接口的示范性翻译在下面的表4-7中显示。用于HTMLImageElement 接口的示范性翻译在下面的表9中显示。这里描述的示范性翻译可以以不同的方式(例如,通过在包括翻译层的媒体单元或图像单元中的代码,通过在与媒体单元或图像单元分开的软件中的代码,或通过参考在其中存储翻译信息的表格或其它数据结构,或以某些其它方式)被执行。替换地,系统不同地翻译接口调用,或翻译其它代码。
在240,系统把代表经翻译的代码的信息发送到可操作来再现数字内容的远程设备(例如,经由本地网)。例如,本地计算设备把代表对UPnP AVTransport(AV输送)服务动作的调用的信息经由字节流发送到可操作来再现数字内容的远程设备。替换地,系统不同地翻译接口调用,或翻译其它代码。
图3显示用以把用于代表数字媒体内容(例如,数字视频或数字音频)的媒体单元(例如,<video>或<audio>单元)的标记语言代码或脚本语言代码(例如,接口调用)翻译成遵循流播协议的和用于将流播协议事件翻译成标记语言事件的示范性技术300。诸如图1所示的系统100那样的系统或其它系统执行技术300。
在310,系统从本地网外面接收与数字媒体内容相关联的标记语言代码或脚本语言代码。例如,在本地网上的本地计算设备的用户经由web浏览器导航到互联网上的网页,以及本地计算设备经由web浏览器接收标记语言代码和/或脚本语言代码。
在320,系统分析接收的标记语言代码或脚本语言代码,以得到代表与媒体单元相关联的接口调用的信息,该媒体单元代表数字媒体内容。例如,标记语言代码可包括对实施HTMLMediaElement 接口的<video>单元或<audio>单元的接口调用。
在330,系统把接口调用自动翻译成遵循流播协议的已翻译的代码。例如,在本地计算设备处的翻译层把对HTMLMediaElement 接口的调用自动翻译成遵循流播协议(例如,由DLNA规定的UPnP流播协议)的经翻译的代码。用于HTMLMediaElement 接口的示范性翻译在下面的表4-7中显示。这里描述的示范性翻译可以以不同的方式被实施,诸如通过在包括翻译层的软件单元中的代码被实施。替换地,系统不同地翻译接口调用或翻译其它代码。
在340,系统接收指示与数字媒体内容相关联的流播协议事件的信息。例如,本地计算设备接收指示来自音频/视觉输送服务(例如,UPnP AVTransport服务)的诸如暂停、播放、停止、回放速率改变或错误事件那样的流播协议事件或来自再现控制服务(例如,UPnP RenderingControl服务)的改变事件(例如,音量改变事件)的信息。流播协议事件可以响应于在再现该数字媒体内容的远程设备处的用户输入(例如,视频回放控制输入)而被生成。
在350,系统将指示流播协议事件的信息自动翻译成与媒体单元相关联的标记语言事件。例如,在本地计算设备处的翻译层将流播协议事件自动翻译成与媒体单元相关联的对应的HTML5事件。用于流播协议事件的示范性翻译在下面的表8中显示。这里描述的示范性翻译可以以不同的方式被实施,诸如通过在包括翻译层的软件单元中的代码被实施,替换地,系统不同地翻译流播协议事件或翻译其它流播协议事件。
C. 用于递送内容的示范性代码
在这里描述的例子中,标记语言代码和/或脚本语言代码可被使用来递送内容到本地计算设备。例如,标记语言代码和/或脚本语言代码由远程服务器提供,并由本地计算设备上的web浏览器进行处理。
这里描述的标记语言代码和脚本语言代码的某些例子遵循HTML5。HTML5是HTML标准的修订版。然而,这里描述的示范性技术不需要符合任何特定的指导方针或标准。例如,可以使用这里描述的示范性接口、属性、方法或事件的修改的版本,或可以使用不同的接口、属性、方法或事件。
HTML5包括几种类型的单元,其包括用于视频内容的<video>单元、用于音频内容的<audio>单元和用于静止图像内容的<img>单元。
1. 用于<video>和<audio>单元的示范性接口
<audio>和<video>单元是媒体单元的例子。媒体单元被使用来代表媒体数据(例如,视频数据、音频数据)。包括媒体数据的完整的音频文件或视频文件可被称为媒体资源。由媒体单元代表的媒体数据可以由媒体单元的属性(例如,src属性,如在下面的表1中显示的)中媒体资源(例如,MPEG-4视频文件、MP3音频文件或某个其它的媒体资源)的地址(例如,有效的URL)来标识。
在HTML5中,媒体单元实施HTMLMediaElement接口。HTMLMediaElement接口揭示了与媒体单元的不同状态和方面有关的方法和属性。在HTML5中,HTMLMediaElement接口包括在下面的表1所示的方法和属性。
表1:HTMLMediaElement接口的方法和属性。
在HTML5中,<video>和<audio>单元还分别实施HTMLVideoElement和HTMLAudioElement接口。HTMLVideoElement接口是从HTMLMediaElement接口得出的,同时加上了某些方法和性质。HTMLAudioElement接口也是从HTMLMediaElement接口得出的,但不用加上方法或性质。HTMLMediaElement接口是从HTMLElement接口得出的。HTMLSourceElement接口也涉及到<audio>和<video>单元,并且是从HTMLElement接口得出的。为了简便起见,HTMLElement、HTMLVideoElement、HTMLAudioElement和HTMLSourceElement接口在这里没有详细地描述。对于这些和其它接口的进一步的信息,请参阅HTML5标准。
2. 对于<video>和<audio>单元的事件
HTML5还定义了涉及诸如<video>和<audio>单元那样的媒体单元的几个事件。在HTML5中,在媒体单元上发生(或“激发”)的事件是如下面的表2上显示的。  
表2:涉及到媒体单元的HTML5事件。
3. 用于<img>单元的接口
<img>单元实施HTMLImageElement接口。HTMLImageElement接口揭示了涉及图像资源的属性。在HTML5中,HTMLImageElement接口包括下面在表3上显示的属性。
表3:HTMLImageElement接口的属性。
HTMLImageElement接口是从HTMLElement接口得出的。为了简便起见,HTMLElement接口在这里没有详细地描述。关于这些和其它接口的进一步的信息,请参阅HTML5标准。
D.示范性设备模型
在这里描述的例子中,设备遵循由DLNA规定的设备模型。然而,这里描述的示范性技术不需要符合任何特定的指导方针或标准。
DLNA互操作性指导方针使用具有几种设备类别的设备模型,这些设备类别可被划分成一个或多个设备分类。每个设备类别包括一组设备功能。该组设备功能不依赖于任何特定类型的设备;具有不同物理属性(例如,不同的形状因数)的设备可以拥有相同组的设备功能。在DLNA互操作性指导方针下,符合DLNA的设备支持至少一个设备类别。单个符合DLNA的设备可以支持一个以上的设备类别。
设备类别的一个分类是家庭网络设备(HND)。HND设备类别的某些例子是数字媒体服务器(DMS)、数字媒体播放器(DMP)、数字媒体再现器(DMR)和数字媒体控制器(DMC)。DMS类别是用于揭示和分发数字媒体内容到其它设备的设备。DMS设备的典型例子包括PC、DVR和智能电话。DMP类别是用于找出和再现或播放在数字媒体服务器上的内容的设备。DMP设备的典型例子包括数字电视、游戏控制台和智能电话。DMC类别是用于找出数字媒体内容和把它们匹配于适当的媒体播放器或再现器的设备。DMR类别是用于再现或播放数字媒体内容,但不独立地找出网络上的内容的设备。DMC设备可被使用来找出要在DMR设备上再现或播放的内容。
设备类别的另一个分类是移动手持设备(MHD)。MHD设备类别的某些例子是移动数字媒体服务器(M-DMS)、移动数字媒体播放器(M-DMP)和移动数字媒体控制器(M-DMC)。这些类别与它们的HND对应物(分别是DMS、DMP和DMC)共享使用模型,但具有不同的媒体格式和网络要求。其它MHD类别包括移动数字媒体上载器(M-DMU)和移动数字媒体下载器(M-DMD)。M-DMU设备可以把数字媒体上载到M-DMS设备。M-DMD设备可以从M-DMS设备下载数字媒体。
在DLNA 互操作性指导方针中规定的设备模型是基于通用即插即用(UPnP)AV结构体系技术规范。UPnP AV结构体系技术规范定义在UPnP控制点与UPnP AV设备之间的交互。图4显示按照UPnP AV结构体系的安排400。控制点410典型地包括用户接口,并且协调在数字媒体服务器(DMS)420与数字媒体再现器(DMR)430之间的交互。控制点410可以通过使用UPnP AV输送服务而控制(例如,通过与用户接口的用户交互)在DMS 420和DMR 430之间的媒体资源信息的流动。在图4所示的例子中,DMS 420还直接与DMR 430通信。例如,DMS 420使用由DMS 420和DMR 430支持的媒体格式和传送协议(例如,用于实时传送的、诸如IEC61883/IEEE1394那样的等时推送传送协议,或诸如HTTP GET那样的非同步的拉取传送协议)将媒体资源信息传送到DMR 430。DMS 420和/或DMR 430可以把事件通知(例如,涉及到在DMR430播放媒体资源时它的状态的事件通知)发回到控制点410。
控制点410、DMS 420和DMR 430每个可被具体化为不同的设备(例如,分别是遥控器、DVR和数字电视),或控制点、DMS和DMR中的两个或更多个可被具体化为同一个设备。例如,具有图形用户界面(GUI)的PC可包括控制点410和DMS 420。用户可以在PC上与GUI交互,以选择要播放的数字视频,以及选择充当DMR430来播放所选视频的数字电视。替换的安排也是可能的。例如,安排400可包括多个控制点、多个数字媒体服务器和/或多个数字媒体再现器或其它类型的组件。
E.示范性流播协议
DLNA互操作性指导方针利用了由其它组织开发和管理的行业标准。例如,DLNA互操作性指导方针要求符合DLNA的设备具有使用由互联网工程任务组(IETF)维护的TCP/IP的网络连接(例如,以太网、蓝牙、WiFi)。对于流播媒体内容,DLNA互操作性指导方针指定由通用即插即用(UPnP)论坛维护的协议。DLNA设备典型地缺省地操控某些标准化媒体格式(例如,JPEG,MPEG-2),而其它数字媒体格式是可选的。
在这里描述的例子中,可被使用来把媒体内容流播到本地网络上的设备的示范性协议由UPnP规定,并被DLNA使用。然而,这里描述的示范性技术不需要符合任何特定的指导方针或标准。例如,可以使用这里描述的示范性服务、状态变量、动作或事件的修改的版本,或使用不同的服务、状态变量、动作或事件。
在图4所示的例子中,DMS 420包括几种UPnP服务:ContentDirectory(内容目录)、ConnectionManager(连接管理器)和AVTransport(AV输送)(这是可选的)。ContentDirectory服务允许控制点410选择要在DMR 430上播放的媒体资源。ConnectionManager服务(在DMS 420的上下文中)允许DMS 420准备和/或终止传送数字内容到DMR 430,这诸如是通过分别使用PrepareForConnection()(为连接而准备)和ConnectionComplete()(连接完成)动作来进行,尽管在这里描述的示范性技术中不需要使用诸如PrepareForConnection()那样的动作。AVTransport服务允许控制点410选择要被传送到DMR 430的想要的媒体资源(例如,通过使用SetAVTransportURI()(设置AV输送URI)动作)。AVTransport服务还允许控制点410控制媒体资源的回放(例如,通过使用Play()、Stop()、Pause()、Seek()或其它动作)。DMR 430还包括几种UPnP服务:RenderingControl(再现控制)、ConnectionManager(连接管理器)和AVTransport(AV输送)。DMR 430可包括这些服务的多个实例(例如,以支持一个以上的媒体资源的在相同时间的再现)。ConnectionManager服务(在DMR 430的上下文中)允许DMR 430通过使用 GetProtocolInfo()(取得协议信息)动作而枚举所支持的传送协议和媒体格式。ConnectionManager服务还允许DMR 430准备接收来自DMS 420的媒体资源信息和/或终止连接,这诸如是通过分别使用PrepareForConnection()和ConnectionComplete()动作来进行,尽管在这里描述的示范性技术中不需要使用诸如PrepareForConnection()那样的动作。RenderingControl服务允许控制点410控制在DMR 430处的媒体资源的再现。也有可能有替换的安排。例如,DMS 420和/或DMR 430可包括服务的不同组合,诸如省略了来自DMS 420的AVTransport服务的组合。
1. AVTransport服务
这一节提供AVTransport服务的进一步的细节,包括AVTransport状态变量和AVTransport动作。
a. AVTransport状态变量
这一节描述对于AVTransport服务的示范性状态变量。
TransportState(输送状态)变量是指示与AVTransport实例相关联的媒体资源是否在播放、被停止等等的串。对于TransportState的示范性值包括:STOPPED(已停止)、PLAYING(正播放)、TRANSITIONING(过渡)、PAUSED_PLAYBACK(暂停的回放)、PAUSED_RECORDING(暂停的记录)、RECORDING(记录)和NO_MEDIA_PRESENT(没有媒体存在)。
TransportStatus(输送状况)变量是指示在AVTransport服务的操作期间是否发生非同步错误(例如,网络拥塞、服务器错误等等)的串。对于TransportStatus的示范性值包括:ERROR_OCCURRED(发生错误)和OK(好)。
TransportPlaySpeed(输送播放速度)变量是指示相对于正常速度的回放速度的分数的串代表。对于TransportPlaySpeed的示范性值包括 “1”(正常速度)、“1/2”(正常速度的一半)等等。
AVTransportURI(AV输送URI)变量是对应于AVTransport实例的媒体资源的统一资源标识符(URI)。AVTransportURI也允许控制点得到对于该媒体资源的元数据。
LastChange(最后的改变)变量是允许当AVTransport实例的状态改变时接收事件通知的串。LastChange包含指示各个状态改变的成对的列表(例如,<AVTransport实例ID>,<状态变量>=<新值>)。
其它AVTransport状态变量包括PlaybackStorageMedium(回放存储介质)、RecordStorageMedium(记录存储介质)、PossiblePlaybackStorageMedia(可能的回放存储媒体)、PossibleRecordStorageMedia(可能的记录存储媒体)、CurrentPlayMode(当前播放模式)、TransportPlaySpeed(输送播放速度)、RecordMediumWriteStatus(记录介质写状况)、CurrentRecordQualityMode(当前记录质量模式)、PossibleRecordQualityMode(可能的记录质量模式)、NumberOfTracks(轨道数)、CurrentTrack(当前轨道)、CurrentTrackDuration(当前轨道持续时间)、CurrentMediaDuration(当前媒体持续时间)、CurrentTrackMetaData(当前轨道元数据)、CurrentTrackURI(当前轨道URI)、AVTransportURIMetaData(AV输送URI元数据)、NextAVTransportURI(下一AV输送URI)、NextAVTransportURIMetaData(下一AV输送URI元数据)、RelativeTimePosition(相对时间位置)、AbsoluteTimePosition(绝对时间位置)、RelativeCounterPosition(相对计数器位置)、AbsoluteCounterPosition(绝对计数器位置)、CurrentTransportActions(当前输送动作)、A_ARG_TYPE_SeekMode(A_ARG类型搜寻模式)、A_ARG_TYPE_SeekTarget(A_ARG类型搜寻目标)和A_ARG_TYPE_InstanceID(A_ARG类型实例ID)。
b. AVTransport动作
这一节描述对于AVTransport服务的示范性动作。
SetAVTtransportURI()(设置AV输送URI)动作规定对应于AVTransport实例的媒体资源(例如,视频资源)的URI。对于SetAVTtransportURI()的输入变元包括InstanceID(实例ID)(它对应于A_ARG_TYPE_InstanceID)、CurrentURI(当前URI)(它对应于AVTransportURI)和CurrentURIMetaData (当前URI元数据)(它对应于AVTransportURIMetaData)。如果媒体资源不能被安置在规定的URI处,或如果TransportState的当前值是NO_MEDIA_PRESENT,则SetAVTtransportURI()改变TransportState到STOPPED。如果TransportState是PLAYING,则SetAVTtransportURI()也可以把TransportState改变到TRANSITIONING,诸如在把TransportState返回到PLAYING之前,在实际的回放开始之前出现缓冲的场合。
GetPositionInfo()(取得位置信息)动作返回描述对应于AVTransport实例的媒体资源的当前位置(例如,轨道号、轨道持续时间等)的信息。对于GetPositionInfo()的输入变元是InstanceID(它对应于A_ARG_TYPE_InstanceID)。输出变元包括Track(轨道)(它对应于CurrentTrack)、TrackDuration(轨道持续时间)(它对应于CurrentTrackDuration)、 TrackMetaData(轨道元数据)(它对应于Current TrackMetaData)、TrackURI(轨道URI)(它对应于CurrentTrackURI)、RelTime(它对应于RelativeTimePosition)、AbsTime(它对应于AbsoluteTimePosition)、RelCount(它对应于RelativeCounterPosition)、AbsCount(它对应于AbsoluteCounterPosition)。
Stop()动作停止对应于AVTransport实例的当前媒体资源的回放。对于Stop()的输入变元是InstanceID(它对应于A_ARG_TYPE_InstanceID)。Stop()改变TransportState到STOPPED,除非TransportState的当前值是NO_MEDIA_PRESENT。Stop()也可以造成媒体资源的当前位置的改变(这可以通过使用GetPositionInfo动作而发现)。
Play()动作启动对应于AVTransport实例的当前媒体资源的回放(例如,按照当前的播放模式,以规定的速度和开始位置)。对于Play()的输入变元是InstanceID(它对应于A_ARG_TYPE_InstanceID)和Speed(它对应于TransportPlaySpeed)。Play()改变TransportState到PLAYING,并更新TransportPlaySpeed(例如,在前向方向上的正常速度)。Play()也可以改变TransportState到TRANSITIONING,诸如在实际回放开始之前出现缓冲的场合。
Pause()动作暂停对应于AVTransport实例的当前媒体资源的回放。对于Pause()的输入变元是InstanceID(它对应于A_ARG_TYPE_InstanceID)。当该动作被执行时,如果TransportState是PLAYING,则Pause()将TransportState改变到PAUSED_PLAYBACK,或者,如果TransportState是RECORDING,则改变到PAUSED_RECORDING。Pause()使得媒体资源保持在它的当前位置。
Seek()动作将对应于AVTransport实例的当前媒体资源的当前位置移动到目标位置。对于Seek()的输入变元包括InstanceID(它对应于A_ARG_TYPE_InstanceID)、Unit(它对应于A_ARG_TYPE_SeekMode)和Target(它对应于A_ARG_TYPE_SeekTarget)。当到达新的位置时,在返回到以前的状态之前,如果当该动作被执行时TransportState是PLAYING或STOPPED,则Seek()把TransportState暂时改变到TRANSITIONING。
其它的AVTransport动作包括SetNextAVTransportURI()(设置下一AV输送URI)、 GetMediaInfo()(取得媒体信息)、GetTransportInfo()(取得输送信息)、GetDeviceCapabilities()(取得设备能力)、GetTransportSettings()(取得输送设置)、Record()(记录)、Next()(下一)、Previous()(前一)、SetPlayMode()(设置播放模式)、SetRecordQualityMode()(设置记录质量模式)和GetCurrentTransportActions()(取得当前输送动作)。
2. ConnectionManager 服务
这一节提供包括ConnectionManager状态变量和ConnectionManager动作的ConnectionManager 服务的进一步细节。
ConnectionManager状态变量包括SourceProtocolInfo(源协议信息)、SinkProtocolInfo(宿协议信息)、CurrentConnectionID(当前连接ID)、A_ARG_TYPE_ConnectionStatus(A_ARG类型连接状况)、A_ARG_TYPE_ConnectionManager(A_ARG类型连接管理器)、A_ARG_TYPE_Direction(A_ARG类型方向)、A_ARG_TYPE_ProtocolInfo(A_ARG类型协议信息)、A_ARG_TYPE_ConnectionID(A_ARG类型连接ID)、A_ARG_TYPE_AVTransportID(A_ARG类型AV输送ID)和A_ARG_TYPE_ResID(A_ARG类型ResID)。
GetProtocolInfo()动作返回由ConnectionManager 实例支持的、用于协议的协议有关的信息。对于GetProtocolInfo()的输出变元包括Source(源)(它对应于SourceProtocolInfo)和Sink(宿)(它对应于SinkProtocolInfo)。
其它ConnectionManager动作包括PrepareForConnection()、ConnectionComplete()、GetCurrentConnectionIDs()(取得当前连接ID)和GetCurrentConnectionInfo()(取得当前连接信息)。
3. RenderingControl服务
这一节提供包括RenderingControl状态变量和RenderingControl动作的RenderingControl服务的进一步细节。
LastChange变量是遵守XML模式和当设备的状态(如由RenderingControl实例的状态指示的)改变时允许接收事件通知的串。Mute(静音)变量是代表相关联的音频通道的当前 “静音”设置的布尔值(用真指示该通道被静音)。Volume(音量)变量是无符号整数值,其代表相关联的音频通道的当前音量级(0代表静寂)。
其它RenderingControl状态变量包括PresetNameList(预置名称列表)、Brightness(亮度)、Contrast(对比度)、Sharpness(锐度)、RedVideoGain(红色视频增益)、GreenVideoGain(绿色视频增益)、BlueVideoGain(蓝色视频增益)、RedVideoBlackLevel(红色视频黑电平)、GreenVideoBlackLevel(绿色视频黑电平)、BlueVideoBlackLevel(蓝色视频黑电平)、ColorTemperature(色温)、HorizontalKeystone(水平梯形失真)、VerticalKeystone(垂直梯形失真)、VolumeDB(音量DB)、Loudness(响度)、A_ARG_TYPE_Channel(A_ARG类型通道)、A_ARG_TYPE_InstanceID(A_ARG类型实例ID)和A_ARG_TYPE_PresetName(A_ARG类型预置名称)。
SetMute()动作设置RenderingControl实例和音频通道的Mute状态变量。输入变元包括InstanceID(它涉及到A_ARG_TYPE_InstanceID)、Channel(它涉及到A_ARG_TYPE_Channel)和DesiredMute(期望的静音)(它涉及到Mute状态变量)。
SetVolume()动作设置对应的RenderingControl实例和音频通道的Volume状态变量。输入变元包括InstanceID(它涉及到A_ARG_TYPE_InstanceID)、Channel(它涉及到A_ARG_TYPE_Channel)和DesiredVolume(期望的音量)(它涉及到Volume状态变量)。
其它RenderingControl动作包括ListPresets()(列出预置)、SelectPreset()(选择预置)、GetMute()(取得静音)、GetVolume()(取得音量)、GetVolumeDB()(取得音量DB)、SetVolumeDB()(设置音量DB)、GetVolumeDBRange()(取得音量DB范围)、GetLoudness()(取得响度)、SetLoudness()(设置响度)以及用于显示器有关的状态变量(例如,Brightness、Contrast、Sharpness、RedVideoGain等等)的“Get”和“Set”动作。
F. 示范性编译码器和文件格式
示范性数字内容可包括数字视频、数字音频和数字静止图像。
这里描述的数字视频可以以用于原始的(raw)、未压缩的视频数据或压缩的视频数据的各种各样的格式(例如,MPEG-2、MPEG-4、H.264/AVC、VC-1和/或其它格式)来表示。某些视频格式由国际标准规定。例如,VC-1标准阐述对于译码器译码以VC-1格式编码的视频的要求。符合VC-1的编码器和译码器(“编译码器”)可以典型地提供具有良好的压缩效率的高质量视频。所描述的技术和工具可以操控标准分辨率视频或高分辨率视频、2-D或3-D视频等等。
这里描述的数字音频可以以用于原始的、未压缩的音频数据或压缩的音频数据的各种各样的文件格式(例如,WAV、MP3、AAC、WMA和/或其它格式)来表示。某些音频格式由国际标准规定。例如,WMA标准阐述对于译码器译码以WMA格式(例如,WMA、WMA Pro、WMA无损等等)编码的视频的要求。符合WMA的编码器和译码器(“编译码器”)可以典型地提供具有良好的压缩效率的高质量音频。所描述的技术和工具可以操控具有不同的采样速率、通道配置等等的音频。
这里描述的数字图像可以是彩色、灰度或其它类型的图像,以及可以以用于原始的、未压缩的图像数据或压缩的图像数据的各种各样的文件格式(例如,GIF、PNG、BMP、TIFF、TIFF Float32、JPEG、JPEG XR和/或其它格式)来表示。例如,所描述的技术和工具可以操控以诸如JPEG那样的标准动态范围(SDR)格式的SDR图像、或以诸如JPEG XR的高动态范围(HDR)格式的HDR图像。某些图像格式由国际标准规定。例如,JPEG XR标准阐述对于译码器译码以JPEG XR格式编码的图像的要求。符合JPEG XR的编码器和译码器(“编译码器”)可以典型地提供具有良好的压缩效率的高质量图像。可交换图像文件(“EXIF”)格式规定图像文件的结构。在EXIF文件中的图像数据可以被压缩(例如,以JPEG格式)。替换地,在EXIF文件中的图像数据可以是未压缩的(例如,以TIFF格式)。
II.详细的例子
这一节描述这里描述的技术的详细例子。所描述的例子实施诸如翻译和本地/远程回放切换那样的特征。描述的例子可以允许在远程设备处的数字内容的回放,而同时保护内容提供者免受所描述流播协议的错综复杂的状况的损害。当按照这里描述的技术执行时,对于web开发者、内容提供者和其它人来说,允许内容的远程回放可以与将<video>或<audio>标记插入到HTML代码中一样简单。这里描述的技术可以与诸如脚本(例如,JavaScript脚本)和层叠式样式表(CSS)那样的定制相组合地被使用。
A.示范性音频和视频单元
这一节描述媒体单元(例如,音频和视频单元)及相关的特征、接口和安排的详细例子。
图5是显示包括具有本地/远程回放切换器515、本地回放组件520和远程回放组件530的媒体单元510的示范性安排500的框图。远程回放组件530(也称为 “SharingEngine(共享引擎)”)实施媒体资源的远程回放。远程回放组件530也可以充当翻译层,方便到远程设备550的流播以用于再现和输出。在图5所示的例子中,远程回放组件530使用DLNA应用编程接口(API)540来与用于远程回放的远程设备550通信。本地回放组件520(也称为 “MediaEngine(媒体引擎)”)实施媒体资源的本地回放,且可以使得媒体资源在本地显示设备560上被再现和输出(例如,用于视频资源)。
媒体单元510接收代码505。代码505可包括不知道对于媒体资源的远程回放的潜在可能的脚本。为了让本地和远程回放之间的过渡对于不知道远程回放的脚本是透明的,可以在脚本与实施回放的组件之间加上额外的迂回级别。因此,媒体单元510具有在本地回放组件520和远程回放组件530之间的本地/远程回放切换器515。本地回放组件520和远程回放组件530可以实施共同的接口。将共同的接口用于本地和远程回放允许了从本地回放到远程回放的平滑过渡,以及反之亦然。在这样的过渡中,可以保留回放状态(例如,当前位置、回放速度、音量等等)。在图5所示的例子中,一次只有一个组件是活动的。然而,当切换发生时,单元的回放状态可以通过读取来自当前的回放组件的属性,然后把它们设置在新的回放组件上而被保留。例如,(来自HTMLMediaElement接口的)以下的属性可以在本地回放组件上被读取,然后被设置在远程回放组件上:preload(预加载)、defaultPlaybackRate (缺省的回放速率)、PlaybackRate(回放速率)、autoplay(自动播放)、loop(循环)、muted(静音)、volume(音量)、currentTime(当前时间)、paused(暂停)和src。代表媒体资源的源单元也可以在切换期间从一个组件传送到另一个组件。
媒体单元510可以根据描述可用于远程回放的远程设备的信息来执行设备选择(例如,当一个以上的设备对于远程回放可用时)。例如,远程回放组件530可以提供远程设备和/或其他数据结构的列表,以管理对于远程设备550的选择和回放。
知道远程回放能力的脚本可以预订定制的设备连接和断开连接事件(例如,msConnected和msDisconnected事件),以便被通知给在本地和远程回放之间的切换。媒体单元510例如可以是经由MSHTML.dll动态链接库可获得的、用于微软 Internet Explorer的 Trident再现引擎功能性的特征。
替换地,可以使用用于媒体单元的另外的安排。例如,充当翻译层或本地/远程切换的组件可以在媒体单元外面被实施。
1. 加载、启动和关闭
媒体资源可以由服务器提供,并由作为源单元被存储的单个URI或一组URL来指示。在加载期间,字节流(它可被称为“原始字节流”)可以在本地计算设备与提供媒体资源的服务器之间打开。在本地计算设备上打开原始字节流可以具有优点,诸如提供对于时间范围的精确的值(例如,经由已缓冲的HTMLMediaElement接口的属性,如在下面的表4显示的)。流播协议特征允许URI直接被发送到远程设备,但无需支持HTTP标题到远程设备的传送,在所描述的例子中,对于流播内容而言并不依赖于这个特征。
原始字节流可以部分地被分析,以便确定编译码器参数和提取对于媒体资源的元数据。根据这个信息和对于ConnectionManager::GetProtocolInfo()的调用,媒体单元可以确定在字节流中被编码的媒体数据是否可以由远程设备进行译码或是否需要代码转换。在任一种情形下,另一个字节流(它可被称为 “代理的字节流”)可以在本地计算设备与远程设备之间打开。代理的字节流例如可以通过打开在本地计算设备上的端口和利用本地端口的URI和代理的字节流的元数据来调用在远程设备上的AVTransport::SetAVTransportURI()而被创建。
图6是显示其中媒体单元640驻留在与媒体服务器610和远程设备630通信的本地计算设备620上的示范性安排600的框图。在图6所示的例子中,如果需要代码转换来准备编码的媒体内容以用于在远程设备630处译码,则代码转换器650通过以第一格式对编码的媒体内容进行译码,然后以由远程设备支持的第二格式重新编码媒体内容而执行代码转换。代码转换可以按照各种各样的现有代码转换技术的其中一种或多种而被执行。来自原始字节流的数据可以在本地计算设备620上被高速缓冲,并且经由代理的字节流供应到远程设备630,如果不需要代码转换,则绕开代码转换器650。也可能有替换的安排。例如,如果不需要代码转换,则代码转换器650可以省略。
当远程连接被启动时,媒体单元可以预订由远程设备提供的AVTransport和RenderingControl服务激发的改变事件(例如LastChange事件)。当媒体单元被关闭时,它可以从这些服务解除预订,并调用在远程设备上的AVTransport::Stop()来结束回放。
替换地,可以使用用于媒体单元加载、启动和关闭的另外的安排和技术。
2. 用于媒体单元接口的示范性翻译
对于媒体单元(例如,音频单元或视频单元),涉及到HTMLMediaElement接口的示范性翻译被显示在下面的表4-7。在表4-7上,HTMLMediaElement接口的某些方法或属性没有被翻译(用“n/a”(不适用)表示)。表4-7上的某些翻译牵涉到经翻译的代码(例如,调用src属性导致调用AVTransport::SetAVTransportURI()),而其它翻译牵涉到其它解译(例如,调用被缓冲的属性被解译为测量在原始字节流而不是代理的字节流中被缓冲的数据量)。调用诸如HTMLVideoElement、HTMLEelement和HTMLSourceElement那样的接口并不直接影响流播协议,且不需要被翻译。替换地,可以使用不同的翻译、更多或更少的翻译或者翻译的不同组合。
与网络状态有关的示范性翻译显示在下面的表4上。  
表4:与网络状态有关的示范性翻译。
与回放有关的示范性翻译显示在下面的表5上。  
表5:与回放有关的示范性翻译。
与用户控制有关的示范性翻译显示在下面的表6上。  
表6:与用户控制有关的属性的示范性翻译。
下面的表7显示来自HTMLMediaElement接口的两个其它属性--readyState属性和seeking属性。在表7上显示的例子中,没有使用与readyState属性或seeking属性有关的特定翻译。
表7:  readyState属性和seeking属性的示范性处置。
3. 流播协议事件的示范性翻译
在远程设备处进行回放期间,用户可以执行控制回放的动作。用户例如可以使用数字电视的遥控器来停止在数字电视上的回放,这可以生成一个或多个流播协议事件。流播协议事件可被翻译成脚本事件和/或标记语言事件。这样的翻译可以有助于保持本地媒体播放器的状态与远程设备一致。
用于流播协议事件的示范性翻译在下面的表8上显示。替换地,可以使用不同的翻译、更多或更少的翻译或者翻译的不同组合。  
表8:流播协议事件的示范性翻译。
B.示范性图像单元
这一节描述图像单元及相关的特征、接口和安排的详细的例子。
图7是显示包括具有本地回放组件720和远程回放组件730的图像单元710的示范性安排700的框图。远程回放组件730实施图像资源的远程回放。远程回放组件730还可以充当翻译层,方便到远程设备750的流播以用于再现和输出。在图7所示的例子中,远程回放组件730使用DLNA应用编程接口(API)740来与远程设备750通信,以用于远程回放。本地回放组件720实施图像的本地显示,并可以使得这样的图像在本地显示设备760处被再现和输出。
本地回放组件720可以使得图像资源在本地显示设备760处与远程回放组件730使得图像资源被显示于远程设备同时地被显示。替换地,图像资源可以一次在一个位置被显示,或在两个以上的位置被显示。不需要在本地回放组件720和远程回放组件730之间的回放状态的传送。图像单元710接收代码705。代码705可包括可能知道或可能不知道用于远程回放的潜在可能的脚本。在本地回放和远程回放之间的过渡可以对调用者透明,虽然定制的设备连接和断开连接事件(例如,msConnected和msDisconnected事件)仍旧可以被激发,以指示何时进行和终止连接。
替换地,可以使用用于图像单元的另外的安排。例如,充当翻译层的组件可以在图像单元外面被实施。
1. 加载、启动和关闭
对于图像单元,加载过程类似于以上对于音频单元和视频单元描述的加载过程。图像资源可以由服务器提供,并用单个URI或一组URL来指示。在加载期间,字节流(它可被称为“原始字节流”)可以在本地计算设备与提供图像资源的服务器之间打开。原始字节流可以部分地被分析,以便确定编译码器参数和提取元数据。根据这个信息和对于ConnectionManager::GetProtocolInfo()的调用,图像单元可以确定在字节流中被编码的数据是否可以由远程设备进行译码或是否需要代码转换。在任一种情形下,另一个字节流(它可被称为 “代理的字节流”)可以在本地计算设备与远程设备之间打开。代理的字节流可以通过打开在本地机器上的端口和通过本地端口的URI和代理的字节流的元数据来调用在远程设备上的AVTransport::SetAVTransportURI()而被创建。
因为图像没有像视频和音频那样表现出动态回放行为,所以在启动时图像单元可以省略收听LastChange事件和可以省略调用诸如在远程设备上的AVTransport::Stop()的动作(例如,在关闭期间)。
2. 用于图像单元接口的示范性翻译
对于图像单元,涉及到HTMLImageElement接口的示范性翻译被显示在下面的表9。在表9所示的例子中,对于HTMLImageElement接口的几个属性,没有使用特定的翻译(在表格中用“n/a”指示)。在所描述的例子中,对于不直接影响流播协议的接口的调用(诸如,对于HTMLElement的调用)不被翻译,且流播协议事件对于图像单元也不被翻译。替换地,可以使用不同的翻译、更多或更少的翻译或者翻译的不同组合。  
表9:涉及到HTMLImageElement接口的示范性翻译。
C. 对于图像、音频和视频单元的示范性扩展
这一节描述可以在图像、音频和视频单元上实施的示范性扩展。这样的扩展可以允许脚本来控制这样的单元到远程设备的连接,并得到关于这样的连接的信息。例如,描述了遵循HTML5标准的扩展,其可以对回放体验提供更多的控制。被发送到提供网页的服务器的事件(例如,msConnected和msDisconnected事件)可以指示在本地和远程回放之间的切换。方法(例如,JavaScript方法)可被使用来连接到远程设备和从远程设备断开连接,测试回放是本地还是远程的,以及在音频和视频单元之间转移连接,以便允许预缓冲和在各段媒体之间的更快速过渡。更快速的过渡可以允许诸如播放列表那样的特征的更平滑操作和在媒体分段之间的更平滑过渡(例如,在视频中的广告分段与其它分段之间的更平滑过渡)。
在所描述的例子中,只读msPlayTo属性被添加到单元的接口。msPlayTo属性返回IPlayTo接口。IPlayTo接口的示范性方法和属性在下面的表10中描述。  
表10:IPlayTo接口的示范性方法和属性。
IPlayToDevice的示范性属性在下面的表11中显示。
表11:IPlayToDevice的示范性属性。
所描述的技术可以通过以下方式来提高计算设备和网络的安全性,即:去除对于安装未知来源(origin)的插件(plugin)的需要,同时仍旧控制经由网页提供内容的远程服务器可以利用远程设备所做的事情,以使得用户可以保持控制。
III.示范性用户接口
这一节描述对用户交互的示范性方法。图8显示示例的用户接口810。用户接口810可被使用来在内容(例如,由媒体服务器通过互联网经由网页提供的内容)的本地和远程回放之间无缝地切换。本地回放可包括在本地计算设备上回放。远程回放可包括在远程设备上的回放,所述远程设备经由诸如以太网、Wi-Fi网或者覆盖诸如家庭或办公室的小的地理区域的其它网络那样的本地网与本地计算设备通信。允许用户在本地回放和远程回放之间无缝地切换可以提供用户体验优点,诸如在本地计算设备(例如,膝上型PC)上预览流播视频,然后没有中断地切换到在具有更大屏幕的远程设备,诸如高清晰度宽屏幕电视上进行观看的能力。例如,用户接口810包括本地/远程回放选择窗口880,其带有复选框和按钮控件,可被使用来选择本地或远程回放,以及,如果远程回放被选择,则选择远程设备(例如,“TV”或“移动设备”)。用户接口810还包括:回放窗口820,其包括回放控制830,用于观看和控制回放;和库窗口850,用于选择要播放的视频内容(例如,“第一集”、“第二集”或“第三集”)。用户接口810可以通过允许从同一个用户接口中发起远程回放和本地回放而简化用户体验。替换地,用户接口可以具有更多或更少的特征,或者特征的不同组合。
图9显示用于响应于用户输入而从本地回放切换到远程回放的示范性技术900。实施诸如用户接口810那样的用户接口的系统或其它系统执行技术900。
在910,系统接收与数字媒体内容相关联的标记语言代码或脚本语言代码。在920,系统执行数字媒体内容的本地回放。在930,系统经由用户接口(例如,用户接口810)接收用户输入。在940,系统响应于用户输入而从本地回放切换到远程回放。在950,响应于切换,系统分析所接收的标记语言代码或脚本语言代码,以得到代表接口调用的信息,该接口调用是与代表数字媒体内容的单元(例如,实施HTMLMediaElement接口的媒体单元)相关联的。在960,系统把接口调用自动翻译成遵循流播协议(例如,由DLNA规定的UPnP协议)的经翻译的代码。在970,系统将代表经翻译的代码的信息在本地网上发送到远程设备。远程设备可操作来再现数字媒体内容。
IV.示范性计算环境
图10图解了其中可以实施所描述的技术的适用的计算环境1000的一般化的例子。计算环境1000不打算提出有关使用或功能性的范围的任何限制,因为所述技术可以在多样化的通用或专用计算环境中被实施。
参照图10,计算环境1000包括被耦合到存储器1020的至少一个处理单元1010。在图10上,这个基本配置1030被包括在虚线内。处理单元1010执行计算机可执行的指令。在多处理系统中,多个处理单元执行计算机可执行的指令以提高处理能力。存储器1020可以是非瞬时存储器,诸如易失性存储器(例如,寄存器、高速缓冲存储器、RAM)、非易失性存储器(例如,ROM、EEPROM、闪速存储器等)、或者这二者的某种组合。存储器1020可以存储实施这里描述的任何技术的软件1080。
计算环境可以具有附加的特征。例如,计算环境1000包括存储装置1040、一个或多个输入设备1050、一个或多个输出设备1060和一个或多个通信连接1070。相互连接机构(未示出),诸如总线、控制器或网络,将计算环境1000的组件相互连接在一起。典型地,操作系统软件(未示出)为在计算环境1000中执行的其它软件提供操作环境,和协调计算环境1000的组件的活动。
存储装置1040可以是可拆卸或非可拆卸的,且包括磁盘、磁带或盒式磁带、CD-ROM、CD-RW、DVD、或可被使用来存储信息并可以在计算环境1000内被访问的任何其它非瞬时计算机可读媒体。存储装置1040可以存储包含用于这里描述的任何技术的指令的软件1080。
输入设备1050可以是触摸输入设备,诸如键盘、触摸屏、鼠标、笔、或跟踪球、话音输入设备、扫描设备或提供输入到计算环境1000的另外的设备。输出设备1060可以是显示器、打印机、扬声器、CD-或DVD-写入器或提供来自计算环境1000的输出的另外的设备。某些输入/输出设备,诸如触摸屏,可以包括输入和输出功能性。
通信连接1070使得能通过通信机构与另一个计算实体通信。通信机构运送诸如计算机可执行指令、音频/视频或其它信息、或者其它数据那样的信息。作为例子,而不是限制,通信机构包括用电、光、RF、红外、声或其它载体实施的有线或无线技术。
这里的技术可以在计算机可执行指令的一般上下文中描述,所述计算机可执行指令诸如是被包括在程序模块中的那些,它们在计算环境中在目标真实或虚拟处理器上执行。通常,程序模块包括例行程序、程序、库、对象、类别、组件、数据结构等等,它们执行特定的任务或实施特定的抽象数据类型。程序模块的功能性可以按各种实施例中所想要的而在程序模块之间被组合或被分割。用于程序模块的计算机可执行指令可以在本地或分布式计算环境内被执行。
这里描述的任何的存储动作可以通过在一个或多个计算机可读媒体中存储(例如,非瞬时计算机可读存储媒体或其它有形的媒体)而被实施。被描述为被存储的任何东西可被存储在一个或多个计算机可读媒体中(例如,计算机可读存储媒体或其它有形的媒体)。
这里描述的任何方法可以通过在一个或多个计算机可读媒体(例如,非瞬时计算机可读存储媒体或其它有形的媒体)中的(例如,被编码在其上的)计算机可执行指令而被实施。这样的指令可以使得计算机执行所述方法。这里描述的技术可以以各种各样的编程语言被实施。
这里描述的任何方法可以通过被存储在一个或多个非瞬时的计算机可读存储设备(例如,存储器、CD-ROM、CD-RW、DVD等等)中的计算机可执行指令而被实施。这样的指令可以使得计算机执行所述方法。
V. 示范性实施环境
图11图示在其中可以实施所描述的实施例、技术和技艺的适用的实施环境1100的一般化的例子。
在示例的环境1100中,各种类型的服务(例如,可包括这里描述的任何方法的计算服务1112)由云1110提供。例如,云1110可包括一系列计算设备,它们可以集中地或分布地安置,其将基于云的服务提供到经由诸如互联网那样的网络被连接的各种类型的用户和设备。云计算环境1100可以以不同的方式被使用来完成计算任务。例如,对于所描述的技术和工具,诸如处理用户输入和呈现用户接口那样的某些任务可以在本地计算设备上执行,而诸如在随后处理中要被使用的数据的存储那样的其它任务可以在云中的其它地方被执行。
在示例的环境1100中,云1110为具有各种各样的屏幕能力的被连接设备1120A-N提供服务。被连接的设备1120A代表具有中等尺寸的屏幕的设备。例如,被连接的设备1120A可以是个人计算机,诸如台式计算机、膝上型计算机、笔记本电脑、上网本等等。被连接的设备1120B代表具有小尺寸的屏幕的设备。例如,被连接的设备1120B可以是移动电话、智能电话、个人数字助理、平板计算机等等。被连接的设备1120N代表具有大屏幕的设备。例如,被连接的设备1120N可以是电视(例如,智能电视)或被连接到电视或投影仪屏幕的另外的设备(例如,机顶盒或游戏控制台)。
各种各样的服务可以由云1110通过一个或多个服务提供者(未示出)而被提供。例如,云1110可以把与移动计算有关的服务提供到各种被连接的设备1120A-N的一个或多个。云服务可以对特定的被连接设备(例如,被连接的设备1120A-N)的屏幕尺寸、显示器能力或其它功能性而被定制。例如,云服务可以通过考虑典型地与移动设备相关联的屏幕尺寸、输入设备和通信带宽限制而针对移动设备被定制。
VI. 示范性移动设备
图12是描绘包括总的被显示为1202的各种各样的可选硬件和软件组件的示范性移动设备1200的系统图。在移动设备中的任何组件1202可以与任何其它组件进行通信,虽然为了易于举例说明,未示出所有的连接。移动设备可以是各种各样的计算设备中的任何设备(例如,蜂窝电话、智能电话、手持计算机、个人数字助理(PDA)等),且可以允许与诸如蜂窝网或卫星网络那样的一个或多个移动通信网1204进行无线双向通信。
所图示的移动设备可包括控制器或处理器1210(例如,信号处理器、微处理器、ASIC或其它控制和处理逻辑电路),用于执行诸如信号编码、数据处理、输入/输出处理、功率控制和/或其它功能那样的任务。操作系统1212可以控制组件1202的分配和使用,以及对一个或多个应用程序1214的支持。应用程序可包括通常的移动计算应用(例如,包括电子邮件应用、日历、联系人管理器、web浏览器、消息传送应用)或任何其它计算应用。移动计算应用还可包括用于执行任何的所公开技术的应用。
所图示的移动设备可包括存储器1220。存储器1220可包括非可拆卸存储器1222和/或可拆卸存储器1224。非可拆卸存储器1222可包括RAM、ROM、闪速存储器、盘驱动器或其它熟知的非瞬时存储技术。可拆卸存储器1224可包括闪速存储器或在GSM通信系统中熟知的用户身份模块(SIM)卡,或者其它熟知的非瞬时存储技术,诸如智能卡。存储器1220可被使用于存储数据和/或代码,用于运行操作系统1212和应用程序1214,包括用于执行任何的所公开技术的应用程序。示例的数据可包括网页、文本、图像、声音文件、视频数据、或经由一个或多个有线或无线网被发送到一个或多个网络服务器或其它移动设备的和/或从一个或多个网络服务器或其它移动设备接收的其它数据集。存储器1220可被使用来存储诸如国际移动用户身份(IMSI)那样的用户标识符和诸如国际移动设备标识符(IMEI)那样的设备标识符。这样的标识符可被发送到网络服务器,以便标识用户和设备。
移动设备可以支持诸如触摸屏1232、话筒1234、照相机1236、物理键盘1238和/或跟踪球1240那样的一个或多个输入设备1230和诸如扬声器1252和显示设备1254那样的一个或多个输出设备1250。其它的可能的输出设备(未示出)可包括压电的或其它触觉(haptic)的输出设备。某些设备可以供应一个以上的输入/输出功能。例如,触摸屏1232和显示器1254可被组合在单个输入/输出设备中。
触摸屏1232可以以不同的方式接受输入。例如,电容性触摸屏可以当物体(例如,指尖)使跑过(run across)表面的电流失真或中断时检测到触摸输入。作为另一个例子,电阻性触摸屏可以当来自物体(例如,指尖或笔尖)的压力造成物理表面的加压时检测到触摸输入。作为另一个例子,触摸屏可以使用光学传感器来在来自光学传感器的光束被中断时检测到触摸输入。与屏幕表面的物理接触对于让输入由某些触摸屏检测到并不是必须的。
无线调制解调器1260可被耦合到天线(未示出),且可以支持在处理器1210与外部设备之间的双向通信,正如本领域中所熟知的。调制解调器1260通常被显示为且可以包括用于与移动通信网1204进行通信的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如,蓝牙或Wi-Fi)。无线调制解调器1260典型地被配置成与一个或多个蜂窝网(诸如GSM网络)通信,以便在单个蜂窝网内、在蜂窝网之间或在移动设备与公共交换电话网(PSTN)之间进行数据和话音通信。
移动设备还可包括至少一个输入/输出端口1280、电源1282、卫星导航系统接收机1284、诸如全球定位系统(GPS)接收机、加速度计1286、收发器1288(用于无线地发射模拟或数字信号)和/或物理连接器1290,它可以是USB端口、IEEE 1394(FireWire)端口和/或RS-232端口。所图示的组件1202不是必需的或包括一切的,因为组件可以删除且其它组件可以添加。
VII.扩展和替换例
对于这里描述的例子的各种替换例是可能的。例如,参照流程图描述的技术可以通过改变在流程图上显示的各阶段的排序,通过重复或省略某些阶段等等而被改变。作为另一个例子,虽然某些例子是参照特定的数字媒体格式被描述的,但也可以使用其它格式。
这里描述的各种不同的例子可以组合地或单独地被使用。这里描述的技术可以在具有用于处理诸如数字视频、数字音频或数字图像那样的数字内容的软件、硬件或软件和硬件的组合的计算机系统中或在某些其它的、未具体地限于处理这样的数字内容的系统中被使用。
在参照所描述的实施例来描述和图示我们的发明的原理后,将会认识到,所描述的实施例可以在安排和细节上被修改而不背离这样的原理。应当理解,这里描述的程序、过程或方法不涉及或限于任何特定类型的计算环境,除非另外指明。各种类型的通用或专用计算环境可被与按照这里描述的教导的操作一起使用或执行按照这里描述的教导的操作。以软件显示的、所描述的实施例的单元可以以硬件来实施,反之亦然。
鉴于我们的发明的原理可被应用到的许多的可能实施例,我们要求将所有像这样的实施例作为我们的发明保护,即:所述实施例可以是在以下的权利要求及其等同物的范围和精神内的。

Claims (10)

1.一种计算机实施的方法(200),包括:
通过计算设备,
接收(210)与数字内容相关联的标记语言代码,其中所接收的标记语言代码包括对实施接口的代表数字内容的单元的接口调用;
分析(220)所接收的标记语言代码,以得出代表接口调用的信息,所述接口调用是与代表数字内容的单元相关联的;
把接口调用翻译(230)成遵循流播协议的经翻译的代码,以及
把代表经翻译的代码的信息发送(240)到与计算设备不同的数字内容回放设备,其中数字内容回放设备可运行来再现数字内容。
2.权利要求1的方法,其中所述翻译在计算设备的翻译层被自动执行。
3.权利要求1的方法,其中计算设备是在本地网上的本地计算设备,其中数字内容回放设备是在本地网上的远端设备,以及其中发送信息是通过本地网执行的。
4.权利要求1的方法,其中接口调用包括对于单元的接口的方法或属性的调用。
5.权利要求1的方法,其中所述单元包括本地/远端切换逻辑,该方法还包括:
使用本地/远端切换逻辑来从在数字内容回放设备处的远端回放切换到在计算设备处的本地回放。
6.权利要求1的方法,其中数字内容包括数字媒体内容,其中所述单元包括实施媒体单元接口的媒体单元,以及其中媒体单元包括视频单元或音频单元。
7.权利要求1的方法,其中数字内容包括数字静止图像内容,以及其中所述单元包括实施图像单元接口的图像单元。
8.一种计算设备,包括:
用于接收(310)与数字媒体内容相关联的标记语言代码的装置,其中所接收的标记语言代码包括对实施接口的代表数字媒体内容的媒体单元的接口调用;
用于分析(320)所接收的标记语言代码,以得出代表该接口调用的信息的装置,所述接口调用是与代表数字媒体内容的该媒体单元相关联的;
用于在翻译层,把接口调用自动翻译(330)成遵循流播协议的经翻译的代码的装置;
用于接收(340)指示与数字媒体内容相关联的流播协议事件的信息的装置;以及
用于在翻译层,把指示流播协议事件的接收的信息自动翻译(350)成与媒体单元相关联的标记语言事件的装置。
9.权利要求8的计算设备,其中流播协议事件是响应于在远端设备处的用户输入而被生成的。
10.一种计算设备,包括:
用于接收(910)与数字媒体内容相关联的标记语言代码的装置,其中所接收的标记语言代码包括对实施接口的代表数字媒体内容的单元的接口调用;
用于在一个或多个输出设备处执行(920)数字媒体内容的本地回放的装置;
用于经由用户接口接收(930)用户输入的装置;
用于响应于用户输入,从本地回放切换(940)到远端回放的装置;以及
用于响应于所述切换:将代表所述接口调用的、部分的接收的代码翻译(960)成遵循流播协议的经翻译的代码;以及将代表经翻译的代码的信息发送(970)到在本地网上的远端设备的装置,其中远端设备可运行来再现数字媒体内容。
CN201110422984.9A 2010-12-17 2011-12-16 带有灵活的远程回放的流播的数字内容 Active CN102572606B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/972034 2010-12-17
US12/972,034 US9451319B2 (en) 2010-12-17 2010-12-17 Streaming digital content with flexible remote playback

Publications (2)

Publication Number Publication Date
CN102572606A CN102572606A (zh) 2012-07-11
CN102572606B true CN102572606B (zh) 2015-06-03

Family

ID=46235913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110422984.9A Active CN102572606B (zh) 2010-12-17 2011-12-16 带有灵活的远程回放的流播的数字内容

Country Status (3)

Country Link
US (1) US9451319B2 (zh)
CN (1) CN102572606B (zh)
HK (1) HK1170350A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198508A1 (en) * 2011-02-01 2012-08-02 Sony Corporation Multiple device iptv cloud-based recording and playback
US20130060840A1 (en) * 2011-02-22 2013-03-07 Savtira Corporation, Inc. System and method for optimizing the delivery of a streamed application
US9237323B2 (en) * 2011-04-11 2016-01-12 Koninklijke Philips N.V. Media rendering device providing uninterrupted playback of content
US8774955B2 (en) 2011-04-13 2014-07-08 Google Inc. Audio control of multimedia objects
KR101867334B1 (ko) * 2011-08-25 2018-06-18 삼성전자주식회사 홈 네트워크 환경에서 컨텐츠를 공유하는 방법 및 장치
JP6033541B2 (ja) * 2011-11-24 2016-11-30 シャープ株式会社 再生装置、再生方法、制御プログラム、および記録媒体
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9137281B2 (en) * 2012-06-22 2015-09-15 Guest Tek Interactive Entertainment Ltd. Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
FR2994781A1 (fr) 2012-08-21 2014-02-28 France Telecom Acces a distance a des contenus a partir d'un client leger
KR101462057B1 (ko) * 2012-08-22 2014-11-17 에스케이 텔레콤주식회사 홈 네트워크에서의 미디어 콘텐츠 공유를 위한 사용자 인터페이스를 제공하는 장치 및 프로그램이 기록된 기록매체
WO2014030580A1 (ja) * 2012-08-23 2014-02-27 三菱電機株式会社 同期配信サーバ
US9646021B2 (en) * 2012-10-02 2017-05-09 At&T Intellectual Property I, L.P. Managing resource access in distributed computing environments
CN103533428A (zh) * 2012-10-31 2014-01-22 Tcl集团股份有限公司 将智能终端网页视频推送到电视播放的方法及智能终端
US10942735B2 (en) * 2012-12-04 2021-03-09 Abalta Technologies, Inc. Distributed cross-platform user interface and application projection
CN103905906B (zh) * 2012-12-27 2017-03-01 三星电子(中国)研发中心 一种基于智能电视的数据处理方法和装置
TWI543594B (zh) * 2013-03-01 2016-07-21 致伸科技股份有限公司 數位媒體播放系統
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9313255B2 (en) 2013-06-14 2016-04-12 Microsoft Technology Licensing, Llc Directing a playback device to play a media item selected by a controller from a media server
CN104581361A (zh) 2013-10-09 2015-04-29 索尼公司 多媒体播放控制方法、装置以及系统
WO2015056296A1 (ja) * 2013-10-15 2015-04-23 株式会社 東芝 電子機器および通信制御方法
CN104754426B (zh) 2013-12-25 2018-11-16 华为终端有限公司 一种媒体处理方法、设备及系统
CN104866506B (zh) * 2014-02-25 2019-07-09 腾讯科技(深圳)有限公司 一种播放动画的方法及装置
CN105407407A (zh) * 2014-06-26 2016-03-16 广州市动景计算机科技有限公司 视频的播放方法和装置
CN104469477B (zh) * 2014-11-28 2017-08-11 广东欧珀移动通信有限公司 媒体资源推送方法及装置
CN104581365B (zh) * 2014-12-29 2017-10-13 广东欧珀移动通信有限公司 控制多媒体文件推送的方法、从设备、主设备及系统
US9591350B2 (en) * 2015-04-10 2017-03-07 Sony Corporation Sharing web application program guide content items over home networks
JP2017084038A (ja) * 2015-10-27 2017-05-18 船井電機株式会社 コンテンツ配信装置およびクライアント機器
US10462145B2 (en) * 2016-07-15 2019-10-29 The Directv Group, Inc. Method and apparatus for controlling access to custom browser functionality
JP6930185B2 (ja) * 2017-04-04 2021-09-01 船井電機株式会社 制御方法
CN107231562A (zh) * 2017-07-19 2017-10-03 深圳Tcl新技术有限公司 基于浏览器的数字电视播放方法、系统和存储介质
JP6865131B2 (ja) * 2017-07-28 2021-04-28 日本放送協会 コンテンツ管理装置、コンテンツ管理方法及びコンテンツ管理プログラム
US10956116B2 (en) * 2018-05-15 2021-03-23 Sonos, Inc. Media playback system with virtual line-in groups
CN108777819B (zh) * 2018-09-13 2019-02-05 上海二三四五网络科技有限公司 一种基于浏览器播放器播放网页视频的控制方法及控制装置
CN109151570B (zh) * 2018-10-10 2022-04-01 深圳市网心科技有限公司 一种基于html5的流媒体处理方法、系统及相关组件
CN111182342A (zh) * 2019-12-24 2020-05-19 腾讯科技(深圳)有限公司 基于dlna的媒体数据播放方法、装置、设备以及存储介质
JP2023512410A (ja) 2019-12-27 2023-03-27 アバルタ テクノロジーズ、 インク. 接続リソースを使用したユーザデバイスアプリケーションの投影、制御、および管理
CN112019605B (zh) * 2020-08-13 2023-05-09 上海哔哩哔哩科技有限公司 数据流的数据分发方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079973A (zh) * 2006-12-12 2007-11-28 腾讯科技(深圳)有限公司 一种同时播放多路电视信号的方法及系统
CN101800886A (zh) * 2010-03-12 2010-08-11 四川长虹电器股份有限公司 基于家庭网络的视频推送方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313808B1 (en) 1999-07-08 2007-12-25 Microsoft Corporation Browsing continuous multimedia content
US20020126201A1 (en) * 2001-03-08 2002-09-12 Star-Bak Communication Inc. Systems and methods for connecting video conferencing to a distributed network
SE0101295D0 (sv) 2001-04-10 2001-04-10 Ericsson Telefon Ab L M A method and network for delivering streaming data
US7614075B2 (en) 2004-08-13 2009-11-03 Microsoft Corporation Dynamically generating video streams for user interfaces
US20060230169A1 (en) 2004-11-15 2006-10-12 Kaplan Mark M System and method to simultaneously transcode audio and video content for optimized streaming via mobile telecommunications
ES2592306T3 (es) * 2005-08-05 2016-11-29 Orange Control de un dispositivo multimedia desde un terminal móvil
US20080134012A1 (en) * 2006-11-30 2008-06-05 Sony Ericsson Mobile Communications Ab Bundling of multimedia content and decoding means
US8243924B2 (en) * 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US20100083113A1 (en) 2008-09-26 2010-04-01 Thomson Licensing Inc. Architecture For Optimizing Audio and Video Output States for Multimedia Devices
TW201029463A (en) 2009-01-23 2010-08-01 Kinpo Elect Inc Method for browsing video files
CN102025760B (zh) * 2009-09-21 2015-11-25 华为技术有限公司 Http的媒体传输方法及装置
US8892757B2 (en) * 2009-10-13 2014-11-18 Blackberry Limited Methods and apparatus for intelligent selection of a transport protocol for content streaming
JP4904564B2 (ja) * 2009-12-15 2012-03-28 シャープ株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法
CN102209276B (zh) * 2010-03-29 2014-07-09 华为技术有限公司 在电信网络中提供实时视频业务的方法、服务器和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079973A (zh) * 2006-12-12 2007-11-28 腾讯科技(深圳)有限公司 一种同时播放多路电视信号的方法及系统
CN101800886A (zh) * 2010-03-12 2010-08-11 四川长虹电器股份有限公司 基于家庭网络的视频推送方法

Also Published As

Publication number Publication date
HK1170350A1 (zh) 2013-02-22
CN102572606A (zh) 2012-07-11
US20120158984A1 (en) 2012-06-21
US9451319B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
CN102572606B (zh) 带有灵活的远程回放的流播的数字内容
CN102884529B (zh) 用于社交摘要的可适配布局
CN101395603B (zh) 便携内容共享
JP5662397B2 (ja) 接続デバイスに向けてコンテンツを押下する方法
RU2504096C2 (ru) Совместное использование службы
US10362359B2 (en) Video player framework for a media distribution and management platform
WO2020233142A1 (zh) 多媒体文件播放方法、装置、电子设备和存储介质
US20120060100A1 (en) System and method for transferring media content
CN103166941A (zh) 一种数据分享的方法及装置
CN104461474A (zh) 用于移动终端的截屏方法和截屏装置以及移动终端
JP2006085681A (ja) データ転換及びシェアのシステム及び方法
KR20020069145A (ko) 이동통신단말기를 이용한 실시간/주문형 무선방송시스템및 그 방법
CN109840879B (zh) 图像渲染方法、装置、计算机存储介质及终端
CN110096245A (zh) 分布式跨平台用户界面和应用投影
CN103945284B (zh) 信息处理方法和信息处理装置
CN109062930A (zh) 一种基于二维码标识视频的方法、装置及系统
Lo et al. Controlling digital TV set-top box with mobile devices via an IP network
KR101638190B1 (ko) 사용자 입력 피드백을 이용한 디지털 미디어 서버의 콘텐츠 플립 리스트를 저장하는 장치 및 방법
KR101173946B1 (ko) 홈 네트워크 시스템에서 어플리케이션 서비스 방법 및 어플리케이션 공유 방법
US8527659B2 (en) Method and system for optimizing CPNS enabler
KR101661232B1 (ko) 외부기기로의 컨텐츠 제공방법
US11647243B2 (en) System and method for using an application on a mobile device to transfer internet media content
KR101519856B1 (ko) 컨텐츠 공유를 위한 장치 및 방법, 이를 위한 통신 서비스 시스템
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20150022639A (ko) 전자 디바이스 및 전자 디바이스에서 캡쳐 이미지 이용 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1170350

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150617

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150617

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1170350

Country of ref document: HK