CN110419226B - 播放电视节目的方法和装置 - Google Patents

播放电视节目的方法和装置 Download PDF

Info

Publication number
CN110419226B
CN110419226B CN201780087728.4A CN201780087728A CN110419226B CN 110419226 B CN110419226 B CN 110419226B CN 201780087728 A CN201780087728 A CN 201780087728A CN 110419226 B CN110419226 B CN 110419226B
Authority
CN
China
Prior art keywords
television
interface
abstraction layer
hardware abstraction
driver
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
CN201780087728.4A
Other languages
English (en)
Other versions
CN110419226A (zh
Inventor
刘畅
刘涛
芮江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110419226A publication Critical patent/CN110419226A/zh
Application granted granted Critical
Publication of CN110419226B publication Critical patent/CN110419226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42623Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption arrangements
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种播放电视节目的方法和装置,能够兼容不同接口的电视接收芯片。该方法应用于终端设备,终端设备包括应用层、操作***层、硬件驱动程序层和硬件层,操作***层包括硬件抽象层,硬件层包括主芯片和电视接收芯片,该方法包括:硬件抽象层通过第一接口接收应用层的播放器应用发送的码流获取命令,码流获取命令用于请求获取用户选择的目标电视节目的码流;硬件抽象层通过第二接口向硬件驱动程序层的第一驱动程序发送码流获取指令,第一驱动程序是终端设备上的电视接收芯片的驱动程序;第一驱动程序执行码流获取指令,使得电视接收芯片接收目标电视节目的码流;硬件抽象层通过第二接口从电视接收芯片获取目标电视节目的码流;硬件抽象层通过第一接口将目标电视节目的码流发送给播放器应用;播放器应用对目标电视节目的码流进行解码,并播放解码后的音视频数据。

Description

播放电视节目的方法和装置
技术领域
本申请涉及数字电视领域,尤其涉及一种播放电视节目的方法和装置。
背景技术
数字电视(Digital Television,DTV)是一个从电视节目采集、制作到传输,以及到用户终端的接收全部实现数字化的***。用户可以通过平板、手机、笔记本等移动终端随时随地实时观看数字广播电视。
现有的在移动终端上播放DTV的方法的原理可以参见图1。图1是在移动终端上播放电视节目的方法的示意图。如图1所示,移动终端上主要包括处理器、电视接收芯片和音视频播放器。其中,处理器加载DTV驱动和DTV应用程序。加载的DTV应用程序执行:接收到用户输入的点播电视节目的指令时,通过第一接口函数经DTV驱动从电视接收芯片获取各电视频道对应的数据流;对解调得到的用户指定的电视频道的数据流进行解析,并通过第二接口函数将解析得到的音视频数据发送给音视频播放器进行播放,从而播放用户指定的电视节目。其中,第一接口函数采用数据源类Datasource采用的接口协议,第二接口函数采用音视频抽取MediaExtractor类采用的接口协议。数据源Datasource类的接口协议负责将电视接收芯片接收并解调后的码流先缓存到移动终端的内存。再由音视频抽取MediaExtractor类的接口协议从内存中读取码流并进行解析,得到音频数据和视频数据,最后根据音频数据和视频数据的格式调用响应的音视频播放器进行解码,并进行同步播放。
在这个方案中,由于数据源Datasource类的接口协议和音视频抽取MediaExtractor类所采用的接口协议属于安卓***播放本地音视频文件的接口协议,因此采用其它接口的电视接收芯片,这个方案将不再兼容。也就是说,针对不同接口的电视接收芯片,都需要专门制定一套接口协议来进行适配,兼容性较差。
发明内容
本申请提供一种播放电视节目的方法和装置,可以兼容不同接口的电视接收芯片。
第一方面,本申请提供了一种播放电视节目的方法,该方法应用于终端设备,终端设备包括应用层、操作***层、硬件驱动程序层和硬件层,操作***层包括硬件抽象层,硬件层包括主芯片和电视接收芯片,该方法包括:硬件抽象层通过第一接口接收应用层的播放器应用发送的码流获取命令,码流获取命令用于请求获取用户选择的目标电视节目的码流;硬件抽象层通过第二接口向硬件驱动程序层的第一驱动程序发送码流获取指令,第一驱动程序是终端设备上的电视接收芯片的驱动程序;第一驱动程序执行码流获取指令,以使电视接收芯片接收目标电视节目的码流;硬件抽象层通过第二接口从电视接收芯片获取目标电视节目的码流;硬件抽象层通过第一接口将目标电视节目的码流发送给播放器应用;播放器应用对目标电视节目的码流进行解码,并播放解码后的音视频数据。
在本申请实施例中,通过在硬件驱动程序层和应用层的播放器应用之间设置硬件抽象层,使得硬件抽象层为播放器应用屏蔽了的电视接收芯片的接口差异,提供了播放器应用与电视接收芯片之间统一的接口协议,从而可以兼容和支持不同接口的电视接收芯片。
结合第一方面,在第一方面的某些实现方式中,硬件抽象层通过第二接口从电视接收芯片获取目标电视节目的码流,包括:硬件抽象层通过第二接口从传输流接口TSI获取目标电视节目的码流,其中,TSI是终端设备的主芯片和电视接收芯片之间传输TS码流数据的通道。
在本申请的技术方案中,TSI是主芯片和电视接收芯片之间传输TS码流数据的通道,TSI通道适用于芯片之间需要搬运数据的场景。通常,本地播放和媒体播放都不需要在芯片之间搬运数据。而本申请实施例中,为了支持电视节目以更高分辨率码流进行播放,采用TSI通道从电视接收芯片搬运电视节目的码流数据,可以播放1080i或更高分辨率的码流,提高播放的画质,从而提升用户观看电视节目的体验。
结合第一方面,在第一方面的某些实现方式中,播放器发送码流获取命令之前,该方法还包括:播放器应用通过第一接口向硬件抽象层发送循环搜台命令;播放器应用通过第一接口向硬件抽象层发送第一秘钥运算命令;硬件抽象层通过第二接口向第一驱动程序发送循环搜台指令;第一驱动程序执行循环搜台指令,使得电视接收芯片搜索每个电视频道的电视信号,并根据搜索到的电视信号输出电视节目单;第一驱动程序通过第二接口,将电视节目单返回至硬件抽象层;硬件抽象层根据第一秘钥运算命令,解析目标电视节目的EMM和第一ECM,并保存EMM;硬件抽象层根据EMM和第一ECM计算目标电视节目的第一临时解扰秘钥;硬件抽象层保存目标电视节目的第一临时解扰秘钥;硬件抽象层通过第一接口,将电视节目返回给播放器应用。
需要说明的是,EMM发生变化的周期较长,一般是几天以上。而ECM变化非常频繁,基本每秒都在变化。因此,在本申请实施例中,用户在第一次选择观看某个电视节目时,硬件抽象层解析这个电视节目的EMM和ECM,并将EMM进行保存。同时也会根据EMM和ECM运算这个电视节目的临时解扰秘钥,并进行保存。鉴于ECM变化非常频繁,因此,用户每选择一个电视节目,硬件抽象层都需要重新进行解析。即使选择一个刚刚看过的电视节目,ECM也需要重新解析。但是对于EMM,硬件抽象层会使用保存的这个电视节目的临时解扰秘钥校验该电视节目的EMM是否已经发生变化。如果EMM校验失败,说明EMM已经发生变化。这时,硬件抽象层需要重新解析这个电视节目的EMM。如果校验成功,则不需要再解析EMM。在EMM没有变化的情况下,可以将解析EMM的时间节约大概3-10秒。由于EMM的变化周期通常为几天以上,因此本方案能够在大多数情况下节约解析EMM的时间。
可选地,播放器应用发送码流获取命令之前,该方法还包括:播放器应用通过第一接口向硬件抽象层发送循环搜台命令;播放器应用通过第一接口向硬件抽象层发送第一秘钥运算命令;硬件抽象层通过第二接口向第一驱动程序发送循环搜台命令;第一驱动程序执行循环搜台指令,使得电视接收芯片搜索每个电视频道的电视信号,并根据搜索到的电视信号输出电视节目单;第一驱动程序通过第二接口,将电视节目单返回硬件抽象层;硬件抽象层根据第一秘钥运算命令,解析当前电视节目的EMM和第一ECM,并保存EMM;硬件抽象层根据EMM和第一ECM计算当前电视节目的第一临时解扰秘钥,并保存当前电视节目的第一临时解扰秘钥;硬件抽象层通过第一接口向电视节目单返回给播放器应用。
应理解,当前电视节目可以为播放器应用中保存的用户观看电视节目的记录中最近一次观看的电视节目。或者,如果用户首次使用播放器应用观看电视节目,当前电视节目也可以是循环搜台过程中搜索到的电视节目中的任意一个。
在传统DTV播放器应用播放电视节目时,DTV播放器应用在接收到用户的选台或换台的指令时,如果用户选择的电视节目是经过加扰的,此时DTV播放器开始计算解扰秘钥,再进行解扰,用户等待时间较长,体验差。
而在本申请的技术方案中,在进行循环搜台时,播放器应用通过向调用硬件抽象层发送秘钥运算命令,由硬件抽象层运算电视节目的解扰秘钥,并进行保存。后续,如果用户选择这个电视节目,播放器应用就可以从硬件抽象层请求获取该电视节目的解扰秘钥,直接根据硬件抽象层返回的解扰秘钥对电视节目进行解扰。实践表明,采用本申请实施例的解扰流程,在部分换台或选台的场景下,可以将解扰流程缩短大约3~15秒左右,提升了用户体验。
结合第一方面,在第一方面的某些实现方式中,播放器应用对目标电视节目的码流进行解码之前,该方法还包括:播放器应用判断目标电视节目的码流是否经过加扰;若目标电视节目的码流经过加扰,播放器应用通过第一接口从硬件抽象层获取目标电视节目的第一临时解扰秘钥;播放器应用使用第一临时解扰秘钥对经过加扰的目标电视节目的码流进行解扰;若解扰成功,播放器应用对目标电视节目的码流进行解码,并播放解码后的音视频数据,包括:播放器应用对解扰后的码流进行解码,并播放解码后的音视频数据。
结合第一方面,在第一方面的某些实现方式中,若解扰失败,该方法还包括:播放器应用通过第一接口向硬件抽象层发送第二秘钥运算命令;硬件抽象层根据第二秘钥运算命令,解析目标电视节目的第二ECM;硬件抽象层根据第二ECM和保存的EMM计算目标电视节目的第二临时解扰秘钥;硬件抽象层将保存的第一临时解扰秘钥替换为第二临时解扰秘钥;硬件抽象层将第二临时解扰秘钥返回给播放器应用;播放器应用使用第二临时解扰秘钥对目标电视节目进行解扰。
结合上面的实现方式,如果解扰失败,硬件抽象层将重新解析目标电视节目的ECM,得到第二ECM。硬件抽象层再根据重新解析的第二ECM和保存的EMM,计算目标电视节目的第二临时解扰秘钥,并用第二临时解扰秘钥替换之前保存的第一临时解扰秘钥。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:播放器应用根据用户输入的启动播放器应用的指令,通过第一接口向硬件抽象层发送初始化命令;硬件抽象层通过第二接口向第一驱动程序发送初始化指令;第一驱动程序执行、初始化指令,使得电视接收芯片执行初始化操作。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:硬件抽象层还用于通过第二接口向第二驱动程序发送初始化指令,第二驱动程序是传输流接口TSI的驱动程序;第二驱动程序执行初始化指令,完成TSI的初始化。
结合第一方面,在第一方面的某些实现方式中,播放器应用向硬件抽象层发送码流获取命令的情况下,该方法还包括:通过第一接口向硬件抽象层发送电视信号参数收集命令;硬件抽象层通过第二接口向第一驱动程序发送电视信号参数收集指令;第一驱动程序执行电视信号参数收集指令,使得电视接收芯片收集目标电视频道的电视信号参数,其中,目标电视频道的电视信号参数用于表征目标电视频道的电视信号的好坏,目标电视频道是发送目标电视节目的电视频道;硬件抽象层通过第二接口,接收第一驱动程序返回的每个电视频道的电视信号参数;播放器应用通过第一接口,接收硬件抽象层返回的每个电视频道的电视信号参数;播放器应用根据每个电视频道的电视信号参数,确定每个电视频道的播放策略;以及,播放器应用对目标电视节目的码流进行解码,并播放解码后的音视频数据,包括:播放器应用对目标电视节目的码流进行解码,并根据目标电视节目的播放策略,播放解码后的音视频数据。
播放器应用根据各电视频道的电视信号参数,可以获知每个电视频道的电视信号的好坏。基于基础上,播放器应用可以针对不同的电视频道制定对应的播放策略。例如,如果用户选择了电视信号质量较差的电视频道观看电视节目,则播放器应用可以降低播放的分辨率(例如,标清),以保证播放的流畅。而如果用户选择了电视信号质量较好的电视频道,则播放器应用以较高的分辨率(例如,高清)进行播放,可以提高播放的画质。这样,可以进一步从整体上提升用户观看电视节目的体验。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:播放器应用根据用户输入的退出播放器应用的指令,通过第一接口向硬件抽象层发送关闭命令;硬件抽象层通过第二接口向第一驱动程序发送关闭指令;第一驱动程序执行关闭指令,使得电视接收芯片执行关闭操作。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:硬件抽象层通过第二接口向第二驱动程序发送关闭指令;第二驱动程序执行关闭指令,关闭TSI。
第二方面,本申请提供了一种播放电视节目的装置,所述装置具有实现上述第一方面的方法的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
第三方面,本申请提供一种终端设备,该终端设备包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,使得该终端设备执行上述第一方面中的方法。
第四方面,本申请提供计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中的方法。
第五方面,本申请提供一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中的方法。
第六方面,本申请提供了一种芯片***,该芯片***包括处理器,用于终端设备实现上述第一方面的方法中所涉及的功能,例如接收或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
可选的,上述的存储器与存储器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起。
在本申请实施例中,通过在硬件驱动程序层和播放器应用层之间设置硬件抽象层,以使硬件抽象层为播放器应用屏蔽电视接收芯片的接口差异,提供了播放器应用与电视接收芯片之间统一的接口协议,从而可以兼容和支持不同接口的电视接收芯片,提高了对电视接收芯片的兼容性。
附图说明
图1是在移动终端上播放电视节目的方法的示意图。
图2是本申请实施例的播放电视节目的装置100的架构图。
图3是本申请实施例的硬件抽象层的结构图。
图4是本申请实施例的播放电视节目的方法300的工作流程示意图。
图5是播放器应用调用秘钥模块计算解扰秘钥的示意图。
图6是播放器应用调用码流获取模块获取电视节目的码流的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的技术方案,可以应用于各种终端设备。例如移动电话、平板个人电脑(Tablet Personal Computer)、媒体播放器、智能电视、笔记本电脑(Laptop Computer)、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、个人计算机(Personal Computer)、移动上网装置(Mobile Internet Device,MID)或智能手表等可穿戴式设备(Wearable Device)等,本申请对此不作限定。
图2是本申请实施例的播放电视节目的装置100的架构图。参见图2,装置100的架构包括应用层、操作***层、硬件驱动程序层和硬件层。其中,操作***层包括硬件抽象层。具体到本申请实施例,播放器应用属于应用层。电视接收芯片的驱动、传输流接口(Transport Stream Interface,TSI)的驱动、输入装置的驱动、显示器的驱动属于硬件驱动程序层。电视接收芯片、TSI、输入装置和显示器属于硬件。
可以理解的是,输入装置用于接收用户的输入,例如供用户选择电视节目、或者输入选台、换台、音量调节的指令的装置。显示器用于显示电视节目。此外,终端设备上还可以包括有其它的器件,例如,摄像头、传感器、扬声器、麦克风等(图2中未示出)。
在本申请实施例中,硬件抽象层定义了上层的播放器应用和底层的电视接收芯片之间的接口函数,为上层的播放器应用和底层的电视接收芯片之间提供统一的接口协议。硬件抽象层将播放器应用和硬件驱动程序层隔离开,使得播放器应用和硬件驱动程序层不再直接“对话”,而是通过硬件抽象层实现信息和数据的交互。
换句话说,硬件抽象层向上为播放器应用提供接口(本申请中称作第一接口),向下为硬件驱动程序层提供接口(本申请中称作第二接口)。
以本申请中播放电视节目的方法来说,播放器应用通过第一接口10向硬件抽象层发送控制命令。硬件抽象层基于控制命令,通过第二接口11向电视接收芯片的驱动程序发送指令。电视接收芯片的驱动程序执行指令,使得电视接收芯片执行相应的操作,通过硬件抽象层向播放器应用返回操作的执行结果,实现播放器应用对电视接收芯片的控制。电视接收芯片向播放器应用提供电视节目的码流时,由TSI的驱动程序通过第二接口14将电视接收芯片接收的电视节目的码流数据返回给硬件抽象层,再由硬件抽象层通过第一接口15返回给播放器应用。
应理解,图2中所示的接口10和15是第一接口的示例。接口11、接口12和接口14是第二接口的示例。另外,图2中所示的TSI仅是作为电视接收芯片和主芯片之间传输数据和/信息的接口的示例,也可以采用其它接口。
还应理解,图2中所示的播放器应用和各底层硬件的驱动(或者说驱动程序)都运行在主芯片上。
需要说明的是,驱动程序(Device Driver)的作用是负责完成硬件设备的信号与操作***或者上层应用的编程语言之间的互相翻译。或者说,驱动程序提供了硬件都操作***或上层应用的接口,操作***或上层应用只有通过驱动程序,才能控制硬件的工作。例如,如果操作***需要控制声卡播放音乐,操作***首先会发送相应的指令到声卡的驱动程序。声卡驱动程序接收指令到后,将其翻译成声卡能够听懂的信号,从而让声卡播放音乐。
而本申请实施例中的硬件抽象层与驱动程序相互区别。如图1中所示,首先从***架构上来说,硬件抽象层属于操作***层,位于电视接收芯片的驱动程序与上层的播放器应用之间。其次,硬件抽象层不需要进行播放器应用和电视接收芯片的驱动程序之间的“语言翻译”,而是为播放器应用和电视接收芯片之间提供统一的接口协议。从而,硬件抽象层可以为上层的播放器应用屏蔽底层的电视接收芯片的接口差异,提高对电视接收芯片的兼容性。
在本申请实施例中,硬件抽象层也可以称作硬件抽象接口协议层。换句话说,硬件抽象层的实质是一套接口函数,向上层应用提供第一接口,向硬件驱动程序层提供第二接口。
可以理解的是,要实现电视节目的播放,在播放器应用的控制下,底层硬件不是仅执行某一个操作就可以实现的,而是需要执行诸多操作。因此,本申请实施例中,按照硬件抽象层的接口协议控制底层硬件执行相应操作所能实现的功能,将硬件抽象层划分为几个相互独立的模块(或者说几个部分)。每个模块为一个接口函数,或者多个接口函数的集合。播放器应用通过先后调用这些模块,可以控制底层硬件执行一系列的操作(例如,初始化、循环搜台、码流获取等),最终实现电视节目的播放。
下面对硬件抽象层提供的接口协议的几个模块分别进行介绍。
参见图3,图3是本申请实施例中的硬件抽象层的结构图。如图3所示,硬件抽象层包括初始化模块201、循环搜台模块202、秘钥模块203、电视信号参数收集模块204、码流获取模块205和关闭模块206。其中,秘钥模块203和电视信号参数收集模块204是可选的。上层的播放器应用通过调用硬件抽象层的相应模块可以控制电视接收芯片执行相应的操作。具体的操作流程下文会作详细说明,首先对各个模块的功能介绍如下。
初始化模块201
播放器应用可以通过调用初始化模块201,控制电视接收芯片完成初始化。电视接收芯片的初始化包括电视接收芯片的上电和芯片自检等,为电视接收芯片接收电视信号做好准备工作。初始化模块201可以为参考函数Public int TunnerStart()。
现有技术中,电视接收芯片与终端设备的主芯片之间是通过串行外设接口(Serial Peripheral Interface,SPI)传输电视节目的码流的。而SPI接口传输的码流速率较低,通用的最大速率为24Mbps。
考虑到一般的电视接收芯片上具有专门传输TS流的控制器(以下称作TS控制器),本申请提出在主芯片(又称处理器芯片,或者处理器***芯片)上设计TS控制器,或者选择具备TS控制器的主芯片(例如,kirin650芯片)来实施本申请提供的播放电视节目的方法,电视接收芯片和主芯片之间就可以通过TSI传输电视节目的码流。由于TSI相对于传统的SPI,可以传输更高速率的码流(通用最大速率为48MHz),从而可以提高电视节目播放时的分辨率。
在主芯片上设计TS控制器时,可以通过硬件电路设计多路TSI,或者通过软件方案进行分流,实现多路TSI。TS控制器可以设置在主芯片上,或者也可以是与主芯片分别为独立的器件。
相应地,如果采用TSI作为传输电视节目的码流的通道,进一步地,播放器应用调用初始化模块201,控制电视接收芯片完成初始化的同时,还会控制TSI完成初始化。
循环搜台模块202
播放器应用可以通过调用循环搜台模块202,控制电视接收芯片搜索每个电视频道的电视信号,并根据搜索到的电视信号输出电视节目单。
循环搜台模块202可以为参考函数public int tunerxCsTuning(IN inttunerBand,IN int ch,OUT int[]lockFlg)。
秘钥模块203
播放器应用可通过调用秘钥模块203,计算加扰的电视节目的解扰秘钥,并保存计算得到的解扰秘钥。秘钥模块203可以为参考函数N/A。
电视信号参数收集模块204
播放器应用可以通过调用电视信号参数收集模块204,控制电视接收芯片收集用户指定的电视频道(本申请中称作目标电视频道)的电视节目的电视信号参数。需要说明的是,一个电视频道的电视信号参数可以用来衡量这个电视频道的电视信号的好坏。
电视信号参数收集模块204可以为参考函数public int tunerxGetMonInfo(inout TunerMonitoringInfo tunerMonitoringInfo)和/或如下参考函数的集合:
int tunerxGetTmccInfo(inout TunerTMCCInfo tunerTMCCInfo);
int tunerxGetRssiInfo(inout TunerRSSIInfo tunerRSSIInfo);
int tunerxGetSyncInfo(inout TunerSyncInfo tunerSyncInfo);
int tunerxGetCnInfo(inout TunerCNInfo tunerACInfo);
int tunerxGetBper(inout TunerBperInfo tunerBperInfo)。
码流获取模块205
播放器应用通过调用码流获取模块205,从电视接收芯片获取电视电视节目的码流。
具体地,如果电视接收芯片和主芯片之间采用SPI接口,码流获取模块通过SPI接口从电视接收芯片获取电视节目的码流。如果电视接收芯片和主芯片之间采用TSI,码流获取模块通过TSI从电视接收芯片获取电视节目的码流。
码流获取模块205可以是如下参考参数的集合:
public int tunerxTsStart();
public int tunerxTsRead(IN uint32_t*size,OUT uint8_t*data,IN uint32_t*pktsize);
public int tunerxTsStop();
关闭模块206
播放器应用通过调用关闭模块206,控制电视接收芯片完成关闭的操作。
可以理解的是,如果初始化包括电视接收芯片的初始化和TSI的初始化,则播放器应用调用关闭模块206,控制电视接收芯片的关闭和TSI的关闭。
基于上文对于硬件抽象层的介绍,本领域技术人员可以理解的是,播放器应用调用硬件抽象层的某个模块,换句话说,也就是播放器应用调用硬件抽象层提供的接口协议的某个部分。由于硬件抽象层提供的这些模块之间相互独立。因此,播放器应用调用某个模块,就可以控制底层硬件执行播放电视节目需要完成的诸多操作中的某个操作。这样,播放器应用先后调用不同的模块,就可以实现底层硬件执行播放电视节目需要完成的一系列操作,最终实现电视节目播放。
以上各个模块中给出的这些参考函数,下文结合图3作详细说明。
下面结合图3,对本申请实施例的播放器电视节目的方法300进行说明。在方法300的描述过程中引入硬件抽象层的以上各模块的工作流程。
参见图4,图4是本申请实施例的播放电视节目的方法300的流程图。
301、初始化。
播放器应用通过第一接口向硬件抽象层发送初始化命令。硬件抽象层通过第二接口向电视接收芯片的驱动程序(以下记作第一驱动程序)发送初始化指令。第一驱动程序执行初始化指令,使得电视接收芯片执行初始化操作,为接收电视信号做好准备工作。
可选地,如果主芯片和电视接收芯片之间采用TSI,则在步骤301中,硬件抽象层除了向电视接收芯片的驱动程序发送初始化指令之外,还需要向TSI的驱动程序(以下记作第二驱动程序)发送初始化指令。第二驱动程序执行初始化指令,完成TSI的初始化,为后续通过TSI传输电视节目的码流做好准备工作。
底层硬件(例如,电视接收芯片,或者电视接收芯片和TSI)完成接收初始化之后,硬件驱动程序层通过第二接口向硬件抽象层返回初始化结果。硬件抽象层通过第一接口将初始化结果返回至应用层的播放器应用。
具体地,初始化可以是播放器应用通过调用参考函数Public int TunnerStart()实现的。返回值int表示初始化结果。其中,初始化结果包括初始化成功和初始化失败。
可以理解的是,在本申请实施例中,第一接口和第二接口可以认为就是参考函数本身。由此,本领域技术人员可以理解本申请实施例中所描述的硬件抽象层的模块、第一接口、第二接口和参考函数之间的关系。
以初始化为例,播放器应用通过调用参考函数Public int TunnerStart(),控制电视接收芯片执行初始化操作。
下文中其它的参考函数与第一接口、第二接口和硬件抽象层的某个模块之间的对应关系都是类似的,不再一一赘述。
如果初始化失败,播放器应用终止后续的动作,在播放器应用的界面上向用户显示提示信息。例如,显示“初始化失败”。
如果初始化成功,执行步骤302。
302、循环搜台。
播放器应用通过第一接口向硬件抽象层发送循环搜台命令。硬件抽象层通过第二接口向硬件驱动程序层的第一驱动程序发送循环搜台指令。第一驱动程序执行循环搜台指令,使得电视接收芯片执行循环搜台的操作。
搜台也可以称作锁台,电视接收芯片完成对所有电视频道的信号探测,根据搜索到的电视节目输出电视节目单。
在本申请实施例中,循环搜台模块202既支持循环搜台,也支持单个电视频道的搜台。在单频道无信号锁定场景下,搜台时长的理想值应小于600ms。
步骤302,播放器应用可以通过调用参考函数public int tunerxCsTuning(INint tunerBand,IN int ch,OUT int[]lockFlg)实现电视接收芯片的循环搜台。
参数tunerBand表示电视频道的试制方式,例如UF、US等,其中UF表示高清13(Full)-seg-using BW13,US表示标清1-seg using BW1。
参数lockFlg用于指示搜台结果。例如,返回0表示成功,返回1表示失败。
电视接收芯片输出的电视节目单,由第一驱动程序通过第二接口返回硬件抽象层。硬件抽象层通过第一接口,将电视节目单返回给播放器应用。
在执行步骤302的过程中,即进行循环搜台的同时,播放器应用通过第一接口向硬件抽象层发送秘钥运算命令。硬件抽象层(具体是秘钥模块203)根据秘钥运算命令执行步骤303。
换句话说,在本申请实施例中,循环搜台(步骤302)和计算解扰秘钥(步骤303)是同时执行的。
303、计算解扰秘钥。
秘钥模块203解析当前电视节目的秘钥因子,并基于软Base算法和解析到的秘钥因子计算当前电视节目的解扰秘钥。计算得到解扰秘钥之后,秘钥模块203将保存解扰秘钥。
本申请实施例中,秘钥因子主要包括授权管理信息(Entitlement ManagementMessage,EMM)和授权控制信息(Entitlement Control Message,ECM)。关于解析秘钥因子EMM和ECM的过程可以参考现有技术。软Base算法也可以参考现有技术。此处不作详述。
需要说明的是,EMM发生变化的周期较长,一般是几天以上。而ECM变化非常频繁,基本每秒都在变化。因此,在本申请实施例中,用户在第一次选择观看某个电视节目时,硬件抽象层解析这个电视节目的EMM和ECM,并将EMM进行保存。同时也会根据EMM和ECM运算这个电视节目的临时解扰秘钥,并进行保存。鉴于ECM变化非常频繁,因此,用户每选择一个电视节目,硬件抽象层都需要重新进行解析。即使选择一个刚刚看过的电视节目,ECM也需要重新解析。但是对于EMM,硬件抽象层会使用保存的这个电视节目的临时解扰秘钥校验该电视节目的EMM是否已经发生变化。如果EMM校验失败,说明EMM已经发生变化。这时,硬件抽象层需要重新解析这个电视节目的EMM。如果校验成功,则不需要再解析EMM。在EMM没有变化的情况下,可以将解析EMM的时间节约大概3-10秒。由于EMM的变化周期通常为几天以上,因此本方案能够在大多数情况下节约解析EMM的时间。
在本申请实施例中,解扰秘钥也可以称作临时解扰秘钥。为了便于区分,以下将步骤303中计算并保存的目标电视节目的解扰秘钥称作第一临时解扰秘钥。
这里,当前电视节目可以是播放器应用中保存的用户观看电视节目的记录中最近一次观看的电视节目。或者,如果用户首次使用播放器应用观看电视节目,当前电视节目也可以是循环搜台过程中搜索到的电视节目中的任意一个。播放器应用可以根据预先设定的策略,选择解析某个电视节目(也包括目标电视节目)的秘钥因子,并基于解析到的秘钥因子运算该电视节目的临时解扰秘钥。
需要理解的是,之所以解扰秘钥也可以称作临时解扰秘钥,是因为一个电视节目的秘钥因子不是一成不变的。对于一个加扰的电视节目而言,为了保证该加扰的电视节目的解扰秘钥的安全性,秘钥因子每隔一段时间会发生变化。因此,可以认为根据会发生变化的秘钥因子计算得到的解扰秘钥也是临时的。
其中,计算解扰秘钥可以是播放器应用通过调用参考函数N/A实现的。
播放器应用接收到节目单后,执行步骤304。
304、获取目标电视节目的码流。
播放器应用通过第一接口向硬件抽象层发送码流获取命令。硬件抽象层通过第二接口,向第一驱动程序发送码流获取指令。第一驱动程序执行码流获取指令,使得电视接收芯片接收目标电视节目的码流。
第一驱动程序通过第二接口,将电视接收芯片接收到的目标电视节目的码流返回硬件抽象层的码流获取模块205。码流获取模块205通过第一接口,将目标电视节目的码流返回至播放器应用。
可选地,在步骤304中,如果终端设备的主芯片和电视接收芯片之间通过SPI接口传输码流,则第一驱动程序通过SPI接口获取电视接收芯片接收的目标电视节目的码流。如果,主芯片和电视接收芯片之间通过TSI传输码流,则第一驱动程序将电视接收芯片获取的目标电视节目的码流通过TSI返回至硬件抽象层的码流获取模块205。
具体地,获取目标电视节目的码流可以是播放器应用通过调用参考函数publicint tunerxTsStar(),public int tunerxTsRead(IN uint32_t*size,OUT uint8_t*data,IN uint32_t*pktsize)和public int tunerxTsStop()实现的。
其中,参考函数public int tunerxTsStart()用于配置TSI的参数信息,并启动电视接收芯片接收码流。TSI的参数信息包括但不限于:每帧接收数据大小(188/204/192Bytes)、数据的高级加密(Advanced Encryption Standard,AES)加密模式、SPI协议参数等。
参考函数public int tunerxTsRead(IN uint32 t*size,OUT uint8 t*data,INuint32 t*pktsize)提供播放器应用获取码流的TSI。其中,size为播放器应用需要获取的数据长度。data为播放器应用获取数据的指针。Pktsize为播放器应用需要的数据包大小,可以设置为188。
可选地,方法300还包括步骤305。步骤304和步骤305同时进行,步骤的编号不代表执行的先后顺序
305、收集电视信号参数。
播放器应用通过第一接口向硬件抽象层发送电视信号参数收集命令。硬件抽象层通过第二接口向硬件驱动程序层的第一驱动程序发送电视信号参数收集指令。第一驱动执行电视信号参数收集指令,使得电视接收芯片执行搜集电视信号参数的操作。电视接收芯片完成对各个电视频道或者用户选择的电视频道的电视信号参数的收集。
如前文对电视信号参数收集模块204的说明,一个电视频道的电视信号参数可以衡量这个电视频道的电视信号的好坏。这些电视信号参数包括但不限于如下列举:
传输复用配置控制信息(Transmission and Multiplexing ConfigurationControl,TMCC)、接收信号强度指示(Received Signal Strength Indication,RSSI)、载噪比(Carrier noise,CN)、同步信号(Synchronization,可以简写为sync)、误码率(BitError Radio,BER)等。
在本申请实施例中,播放器应用可以通过调用如下参考函数,支持电视信号参数集合的获取接口:
public int tunerxGetMonInfo(inout TunerMonitoringInfotunerMonitoringInfo)
其中,tunerMonitoringInfo定义了一个参数集合,包含Sync、TMCC、RSSI、CN和Bper。结构体可以参考如下:
Figure GPA0000271005810000131
或者,播放器应用还可以通过单独调用如下所示的每个参考函数,支持单项电视信号参数的获取接口:
int tunerxGetTmccInfo(inout TunerTMCCInfo tunerTMCCInfo),获取TMCC信号参数;
int tunerxGetRssiInfo(inout TunerRSSIInfo tunerRSSIInfo),获取RSSI信号参数;
int tunerxGetSyncInfo(inout TunerSyncInfo tunerSyncInfo),获取Sync信号参数;
int tunerxGetCnInfo(inout TunerCNInfo tunerACInfo),获取CN信号参数;
int tunerxGetBper(inout TunerBperInfo tunerBperInfo),获取Bper信号参数。
第一驱动程序(即,电视接收芯片的驱动程序)将电视接收芯片收集的各电视频道的电视信号参数通过第二接口返回至硬件抽象层。硬件抽象层通过第一接口,将这些电视信号参数返回给播放器应用。
播放器应用根据各个电视频道的电视信号参数,可以获知每个电视频道的电视信号的好坏。在这个基础上,播放器应用可以针对不同的电视频道制定对应的播放策略。
例如,如果用户选择了电视信号质量较差的电视频道观看电视节目,则播放器应用可以降低播放的分辨率(例如,采用标清模式播放),以保证播放的流畅。而如果用户选择了电视信号质量较好的电视频道,则播放器应用可以以较高的分辨率(例如,采用高清模式)进行播放,可以提高播放的画质,提高用户体验。
播放器应用获取到目标电视节目的码流后,执行步骤306。
306、判断目标电视节目是否加扰。
用户在播放器应用的界面选择电视节目(以下,称作目标电视节目),播放器应用判断目标电视节目是否经过加扰。如果目标电视节目经过加扰,播放器应用则执行步骤307。如果目标电视节目未经过加扰,播放器应用则执行步骤308。
307、对加扰的目标电视节目进行解扰。
播放器应用通过第一接口向硬件抽象层请求获取目标电视节目的临时解扰秘钥。秘钥模块通过第一接口向播放器应用返回保存的目标电视节目的第一临时解扰秘钥。
播放器应用使用该第一临时解扰秘钥对加扰的目标电视节目进行解扰。
如果解扰失败,播放器应用向硬件抽象层发送第二秘钥运算命令。
硬件抽象层根据第二秘钥运算命令,解析目标电视节目的第二ECM。计算得到第二ECM之后,硬件抽象层根据第二ECM和保存的EMM,重新计算目标电视节目的解扰秘钥。为了便于和第一临时解扰秘钥区分,我们将重新计算得到的解扰秘钥称作第二临时解扰秘钥。播放器应用再使用第二临时解扰秘钥对目标电视节目进行解扰。(秘钥运算的流程在下文的图5有详细介绍)
如果解扰成功,播放器应用则执行步骤308。
308、对目标电视节目的码流进行解码,并播放解码后的音视频数据。
播放器应用对接收到的目标电视节目的码流进行解码,得到目标电视节目的音视频数据。播放器应用播放音视频数据,向播放器应用的界面上用户呈现目标电视节目。
可选地,如果执行了步骤305,播放器应用可以根据获取到的目标电视节目的电视信号参数,确定目标电视节目的播放策略,并依据该播放策略播放目标电视节目。
应理解,电视信号参数的收集可以是一个实时的过程,因此,随着电视信号参数的变化,电视节目的播放策略也可以不断调整。
以上步骤301至步骤308描述了播放电视节目的过程。
后续,播放器应用在播放电视节目的过程中,如果用户选择退出播放器应用,则播放器执行步骤309。
309、关闭目标电视节目的码流的接收。
播放器应用通过第一接口向硬件抽象层的关闭模块206发送关闭命令。关闭模块206通过第二接口向硬件驱动程序层的第一驱动程序发送关闭指令。
第一驱动程序执行关闭指令,使得电视接收芯片执行关闭操作,停止电视节目的码流的接收。
进一步地,如果主芯片和电视接收芯片之间通过TSI传输码流,则关闭模块206还需要向第二驱动程序发送关闭指令。
第二驱动程序执行关闭指令,完成TSI的关闭。
完成关闭工作之后,第一驱动程序和第二驱动程序通过第二接口向硬件抽象层的关闭模块205返回关闭结果。关闭模块205通过第一接口向播放器应用返回关闭结果。
具体地,播放器应用可以通过调用参考函数public void tunerxEnd(),控制电视接收芯片和TSI的关闭工作。例如,电视接收芯片的下电,电视接收芯片上虚拟设备节点资源的释放等。
以上结合图2至图4对本申请实施例的播放电视节目的方法作了详细说明。
下面结合图5和图6,分别对硬件抽象层的秘钥模块203和码流获取模块204的内部处理流程作进一步说明。另外,对于图4中已经详细介绍过的步骤和处理流程,图5和图6中不再赘述。
参见图5,图5是播放器应用调用秘钥模块的处理流程示意图。
501、播放器应用向硬件抽象层发送第一秘钥运算命令。
具体地,运算解扰秘钥是由硬件抽象层的秘钥模块203执行的。
502、秘钥模块计算目标电视节目的EMM和第一ECM。
503、秘钥模块保存EMM。
硬件抽象层保存EMM,以便于后续用户选台或换台时,只需要重新解析ECM即可,这样可以节约解析EMM的时间大约3-10秒。
504、秘钥模块根据EMM和第一ECM,基于Base算法,计算目标电视节目的第一临时解扰秘钥。
505、秘钥模块保存第一临时解扰秘钥。
506、播放器应用判断目标电视节目是否加扰。
507、若目标电视节目加扰,播放器应用向秘钥模块请求获取目标电视节目的第一临时解扰秘钥。
508、播放器应用使用第一临时解扰秘钥对目标电视节目进行解扰。
509、若解扰失败,播放器应用向硬件抽象层发送第二秘钥运算命令。
510、秘钥模块计算目标电视节目的第二ECM。
511、秘钥模块根据保存的EMM和第二ECM,基于软Base算法计算目标电视节目的第二临时解扰秘钥。
512、秘钥模块将保存的第一临时解扰秘钥替换为第二临时解扰秘钥。
513、秘钥模块向播放器应用返回第二临时解扰秘钥。
514、播放器应用使用第二临时解扰秘钥对目标电视节目进行解扰。
需要说明的是,图5中以硬件抽象层运算并保存目标电视节目的临时解扰秘钥为例,说明了硬件抽象层运算电视节目的临时解扰秘钥的流程。对于循环搜台过程中搜索到的任意一个电视节目,硬件抽象层运算其临时解扰秘钥的流程都是一样。
在本申请实施例中,秘钥因子EMM和ECM的解析,EMM的保存以及临时解扰秘钥的运算都是在硬件抽象层执行的,具体是由硬件抽象层的秘钥模块203执行。播放器应用判断电视节目经过加扰的情况下,向硬件抽象层层请求解扰秘钥,并根据硬件抽象层返回的解扰秘钥对加扰的电视节目进行解扰。
可以理解的是,如果播放器应用自己计算解扰秘钥,需要开辟较大的内存空间来存储码流。因此,本申请实施例中,将计算解扰秘钥的工作设置在硬件抽象层。播放器应用只有在需要对电视节目解扰的时候,会向硬件抽象层请求解扰秘钥。获取到解扰秘钥之后,由播放器应用执行解扰的操作。这样,可以减小对内存空间的消耗。
本申请实施例的计算解扰秘钥的流程,在部分选台或换台的场景下,可以节约3-15秒的时间。例如,用户第一次启动播放器应用的场景,解扰秘钥的计算和循环搜台同时进行,可以省去一次计算解扰秘钥的时间。又例如,播放同一个电视频道的电视节目的场景,播放器应用可以直接使用上一次保存的解扰秘钥对电视节目进行解扰。
参见图6,图6是播放器应用调用码流获取模块的处理流程示意图。
601、播放器应用发送初始化命令。
602、硬件抽象层的码流获取模块创建虚拟设备节点。
这里,创建虚拟设备节点是码流获取模块进行初始化的一部分。
603、码流获取模块向播放器应用返回初始化结果。
604、码流获取模块等待TS控制器的码流数据。
605、码流获取模块通过TSI获取码流数据。
步骤605是在电视接收芯片开始接收目标电视节目的码流之后,码流获取模块通过TSI实时获取码流数据。
606、码流获取模块将获取到的码流数据缓存到虚拟设备节点。
607、播放器应用通过Select模式循环抓取码流获取模块缓存的码流数据。
后续,在用户退出播放器应用之后,播放器应用执行步骤608。
608、播放器应用发送关闭命令。
609、码流获取模块释放虚拟设备节点。
610、码流获取模块向播放器应用返回关闭结果。
在图6中,播放器应用通过调用码流获取模块204,实现了通过TSI获取目标电视节目的码流数据。
在本申请实施例中,通过在硬件驱动程序层和应用层的播放器应用之间设置硬件抽象层,使得硬件抽象层为播放器应用屏蔽了的电视接收芯片的接口差异,提供了播放器应用与电视接收芯片之间统一的接口协议,从而可以兼容和支持不同接口的电视接收芯片。
此外,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各实施例中的播放电视节目的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述任意一个实施例中描述的播放电视节目的方法。
本申请还提供一种芯片(或者说,芯片***),包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片的终端设备执行本申请的播放电视节目的方法中的相应流程和/或操作。
这里所说的芯片可以是本申请实施例中所说的终端设备的主芯片。
可选的,上述的存储器与存储器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起。
以上实施例中,处理器可以为中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路等。例如,处理器可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。处理器可以根据这些设备各自的功能而在这些设备之间分配移动设备的控制和信号处理的功能。此外,处理器可以包括操作一个或多个软件程序的功能,软件程序可以存储在存储器中。
处理器的所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
存储器可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备。也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
结合前面的描述,本领域的技术人员可以意识到,本文实施例的方法,可以通过硬件(例如,逻辑电路),或者软件,或者硬件与软件的结合来实现。这些方法究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
当上述功能通过软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。在这种情况下,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种播放电视节目的方法,其特征在于,应用于终端设备,所述终端设备包括应用层、操作***层、硬件驱动程序层和硬件层,所述操作***层包括硬件抽象层,所述硬件层包括主芯片和电视接收芯片,所述方法包括:
所述硬件抽象层通过第一接口接收所述应用层的播放器应用发送的码流获取命令,所述码流获取命令用于请求获取用户选择的目标电视节目的码流;
所述硬件抽象层通过第二接口向所述硬件驱动程序层的第一驱动程序发送码流获取指令,所述第一驱动程序是所述终端设备上的电视接收芯片的驱动程序;
所述第一驱动程序执行所述码流获取指令,使得所述电视接收芯片接收所述目标电视节目的码流;
所述硬件抽象层通过所述第二接口从第一确定程序获取所述目标电视节目的码流;
所述硬件抽象层通过所述第一接口将所述目标电视节目的码流发送给所述播放器应用;
所述播放器应用对所述目标电视节目的码流进行解码,并播放解码后的音视频数据。
2.根据权利要求1所述的方法,其特征在于,所述硬件抽象层通过所述第二接口从所述第一驱动程序获取所述目标电视节目的码流,包括:
所述硬件抽象层通过所述第二接口,从传输流接口TSI获取所述目标电视节目的码流,其中,所述TSI是所述主芯片和所述电视接收芯片之间传输TS的接口。
3.根据权利要求1或2所述的方法,其特征在于,所述播放器应用发送所述码流获取命令之前,所述方法还包括:
所述播放器应用通过所述第一接口向所述硬件抽象层发送循环搜台命令;
所述播放器应用通过所述第一接口向所述硬件抽象层发送第一秘钥运算命令
所述硬件抽象层通过所述第二接口向所述第一驱动程序发送循环搜台指令;
所述第一驱动程序执行所述循环搜台指令,使得所述电视接收芯片搜索每个电视频道的电视信号,并根据搜索到的电视信号输出电视节目单;
所述第一驱动程序通过所述第二接口,将所述电视节目单返回至所述硬件抽象层;
所述硬件抽象层根据所述第一秘钥运算命令,解析所述目标电视节目的管理授权信息EMM和第一授权控制信息ECM,并保存所述EMM;
所述硬件抽象层根据所述EMM和所述第一ECM计算所述目标电视节目的第一临时解扰秘钥;
所述硬件抽象层保存所述目标电视节目的第一临时解扰秘钥;
所述硬件抽象层通过所述第一接口,将所述电视节目单返回给所述播放器应用。
4.根据权利要求3所述的方法,其特征在于,所述播放器应用对所述目标电视节目的码流进行解码之前,所述方法还包括:
所述播放器应用判断所述目标电视节目的码流是否经过加扰;
若所述目标电视节目的码流经过加扰,所述播放器应用通过所述第一接口从所述硬件抽象层获取所述目标电视节目的所述第一临时解扰秘钥;
所述播放器应用使用所述第一临时解扰秘钥对经过加扰的所述目标电视节目的码流进行解扰;
所述播放器应用对所述目标电视节目的码流进行解码,并播放解码后的音视频数据,包括:
若解扰成功,所述播放器应用对所述解扰后的码流进行解码,并播放解码后的音视频数据。
5.根据权利要求4所述的方法,其特征在于,若解扰失败,所述方法还包括:
所述播放器应用通过所述第一接口向所述硬件抽象层发送第二秘钥运算命令;
所述硬件抽象层根据所述第二秘钥运算命令,解析所述目标电视节目的第二ECM;
所述硬件抽象层根据所述第二ECM和保存的所述EMM,计算所述目标电视节目的第二临时解扰秘钥;
所述硬件抽象层将保存的所述第一临时解扰秘钥替换为所述第二临时解扰秘钥;
所述硬件抽象层将所述第二临时解扰秘钥返回给所述播放器应用;
所述播放器应用使用所述第二临时解扰秘钥对所述目标电视节目进行解扰。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述播放器应用根据用户输入的启动所述播放器应用的指令,通过所述第一接口向所述硬件抽象层发送初始化命令;
所述硬件抽象层通过所述第二接口向所述第一驱动程序发送初始化指令;
所述第一驱动程序执行所述初始化指令,使得所述电视接收芯片执行初始化操作。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述硬件抽象层通过所述第二接口向第二驱动程序发送初始化指令,所述第二驱动程序是传输流接口TSI的驱动程序;
所述第二驱动程序执行所述初始化指令,初始化所述TSI。
8.根据权利要求3所述的方法,其特征在于,所述播放器应用向所述硬件抽象层发送所述码流获取命令的情况下,所述方法还包括:
所述播放器应用通过所述第一接口向所述硬件抽象层发送电视信号参数收集命令;
所述硬件抽象层通过所述第二接口向所述第一驱动程序发送电视信号参数收集指令;
所述第一驱动程序执行所述电视信号参数收集指令,使得所述电视接收芯片收集目标电视频道的电视信号参数,其中,所述目标电视频道的电视信号参数用于表征所述目标电视频道的电视信号的好坏,所述目标电视频道是发送所述目标电视节目的电视频道;
所述硬件抽象层通过所述第二接口,接收所述第一驱动程序返回的所述每个电视频道的电视信号参数;
所述播放器应用通过所述第一接口,接收所述硬件抽象层返回的所述每个电视频道的电视信号参数;
所述播放器应用根据所述每个电视频道的电视信号参数,确定所述每个电视频道的播放策略;
以及,所述播放器应用对所述目标电视节目的码流进行解码,并播放解码后的音视频数据,包括:
所述播放器应用对所述目标电视节目的码流进行解码,并根据所述目标电视节目的播放策略,播放解码后的所述音视频数据。
9.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述播放器应用根据用户输入的退出所述播放器应用的指令,通过所述第一接口向所述硬件抽象层发送关闭命令;
所述硬件抽象层通过所述第二接口向所述第一驱动程序发送关闭指令;
所述第一驱动程序执行所述关闭指令,使得所述电视接收芯片执行关闭操作。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述硬件抽象层通过所述第二接口向所述第二驱动程序发送关闭指令;
所述第二驱动程序执行所述关闭指令,关闭所述TSI。
11.一种终端设备,其特征在于,包括:应用层、操作***层、硬件驱动程序层和硬件层,所述操作***层包括硬件抽象层,所述硬件层包括主芯片和电视接收芯片,
其中,所述硬件抽象层用于:
通过第一接口接收所述应用层的播放器应用发送的码流获取命令,所述码流获取命令用于请求获取用户选择的目标电视节目的码流;
通过第二接口向所述硬件驱动程序层的第一驱动程序发送码流获取指令,所述第一驱动程序是所述终端设备上的电视接收芯片的驱动程序;
所述第一驱动程序,用于执行所述码流获取指令,使得所述电视接收芯片接收所述目标电视节目的码流;
所述硬件抽象层还用于:
通过所述第二接口从第一确定程序获取所述目标电视节目的码流;
通过所述第一接口将所述目标电视节目的码流发送给所述播放器应用;
所述播放器,用于对所述目标电视节目的码流进行解码,并播放解码后的音视频数据。
12.根据权利要求11所述的终端设备,其特征在于,所述硬件抽象层还用于通过传输流接口TSI获取所述目标电视节目的码流,其中,所述TSI是所述主芯片和电视接收芯片之间传输TS的接口。
13.根据权利要求11或12所述的终端设备,其特征在于,所述播放器应用还用于:
通过所述第一接口向所述硬件抽象层发送循环搜台命令;
通过所述第一接口向所述硬件抽象层发送第一秘钥运算命令;
所述硬件抽象层还用于通过所述第二接口向所述第一驱动程序发送循环搜台指令;
以及,所述第一驱动程序还用于:
执行所述循环搜台指令,使得所述电视接收芯片搜索每个电视频道的电视信号,并根据搜索到的电视信号输出电视节目单;
通过所述第二接口,将所述电视节目单返回至所述硬件抽象层;
以及,所述硬件抽象层还用于:
根据所述第一秘钥运算命令,解析所述目标电视节目的授权管理信息EMM和第一授权控制信息ECM,并保存所述EMM;
根据所述EMM和所述第一ECM,计算所述目标电视节目的第一临时解扰秘钥;
保存所述第一临时解扰秘钥;
通过所述第一接口,将所述电视节目单返回给所述播放器应用。
14.根据权利要求13所述的终端设备,其特征在于,所述播放器在对所述目标电视节目的码流进行解码之前,还用于:
判断所述目标电视节目的码流是否经过加扰;
若所述目标电视节目的码流经过加扰,通过所述第一接口从所述硬件抽象层获取所述目标电视节目的所述第一临时解扰秘钥;
使用所述第一临时解扰秘钥对经过加扰的所述目标电视节目的码流进行解扰;
若解扰成功,对所述解扰后的码流进行解码,并播放解码后的音视频数据。
15.根据权利要求14所述的终端设备,其特征在于,若解扰失败,所述播放器应用还用于:
通过所述第一接口向所述硬件抽象层发送第二秘钥运算命令;
以及,所述硬件抽象层还用于:
根据所述第二秘钥运算命令,解析所述目标电视节目的第二ECM;
根据所述第二ECM和保存的所述EMM,计算所述目标电视节目的第二临时解扰秘钥;
将保存的所述第一临时解扰秘钥替换为所述第二临时解扰秘钥;
将所述第二临时解扰秘钥返回给所述播放器应用;
以及,所述播放器应用还用于使用所述第二临时解扰秘钥对所述目标电视节目进行解扰。
16.根据权利要求11或12所述的终端设备,其特征在于,所述播放器应用还用于根据用户输入的启动所述播放器应用的指令,通过所述第一接口向所述硬件抽象层发送初始化命令;
以及,所述硬件抽象层还用于通过所述第二接口向所述第一驱动程序发送初始化指令;
以及,所述第一驱动程序还用于执行所述初始化指令,使得所述电视接收芯片执行初始化操作。
17.根据权利要求16所述的终端设备,其特征在于,所述硬件抽象层还用于通过所述第二接口向第二驱动程序发送初始化指令,所述第二驱动程序是传输流接口TSI的驱动程序;
以及,所述第二驱动程序还用于执行所述初始化指令,初始化所述TSI。
18.根据权利要求13所述的终端设备,其特征在于,所述播放器应用向所述硬件抽象层发送码流获取命令的情况下,所述播放器应用还用于通过所述第一接口向所述硬件抽象层发送电视信号参数收集命令;
以及,所述硬件抽象层还用于通过所述第二接口向所述第一驱动程序发送电视信号参数收集指令;
以及,所述第一驱动程序还用于执行所述电视信号参数收集指令,使得所述电视接收芯片收集目标电视频道的电视信号参数,其中,所述目标电视频道的电视信号参数用于表征所述电视频道的电视信号的好坏,所述目标电视频道是发送所述目标电视节目的电视频道;
以及,所述硬件抽象层还用于通过所述第二接口,接收所述第一驱动程序返回的所述每个电视频道的电视信号参数;
以及,所述播放器应用还用于:
通过所述第一接口接收所述硬件抽象层返回的所述每个电视频道的电视信号参数;
根据所述每个电视频道的电视信号参数,确定所述每个电视频道的播放策略;
根据所述目标电视节目的播放策略,播放解码后的所述音视频数据。
19.根据权利要求11或12所述的终端设备,其特征在于,所述播放器应用还用于根据用户输入的退出所述播放器应用的指令,通过所述第一接口向所述硬件抽象层发送关闭命令;
所述硬件抽象层还用于通过所述第二接口向所述第一驱动程序发送关闭指令;
所述第一驱动程序还用于执行所述关闭指令,使得所述电视接收芯片执行关闭操作。
20.根据权利要求17所述的终端设备,其特征在于,所述硬件抽象层还用于通过所述第二接口向所述第二驱动程序发送关闭指令;
所述第二驱动程序还用于执行所述关闭指令,关闭所述TSI。
CN201780087728.4A 2017-11-10 2017-11-10 播放电视节目的方法和装置 Active CN110419226B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/110370 WO2019090658A1 (zh) 2017-11-10 2017-11-10 播放电视节目的方法和装置

Publications (2)

Publication Number Publication Date
CN110419226A CN110419226A (zh) 2019-11-05
CN110419226B true CN110419226B (zh) 2021-01-08

Family

ID=66439069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780087728.4A Active CN110419226B (zh) 2017-11-10 2017-11-10 播放电视节目的方法和装置

Country Status (3)

Country Link
US (1) US11153631B2 (zh)
CN (1) CN110419226B (zh)
WO (1) WO2019090658A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466231B (zh) * 2021-12-15 2024-01-23 瑞芯微电子股份有限公司 接收和播放硬件来源的方法、电子设备和显示装置
CN116366914A (zh) * 2021-12-28 2023-06-30 北京小米移动软件有限公司 视频数据处理方法、电子设备及存储介质
CN114845169B (zh) * 2022-04-29 2023-07-25 东风汽车有限公司东风日产乘用车公司 播放控制方法、播放控制装置、播放终端以及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002170A (ko) * 2003-06-30 2005-01-07 주식회사 대우일렉트로닉스 디지털 텔레비젼의 임베디드 오에스 소프트웨어 통합 시스템
CN1674673A (zh) * 2005-05-13 2005-09-28 北京中星微电子有限公司 移动终端接收多媒体内容的***和方法及装置
CN101304496A (zh) * 2008-06-19 2008-11-12 上海交通大学 基于java的手机电视实现方法
CN102196308A (zh) * 2011-05-19 2011-09-21 广东星海数字家庭产业技术研究院有限公司 一种基于数字电视的多硬件接口兼容驱动***
CN202206509U (zh) * 2011-08-31 2012-04-25 刘杰 一种数字电视信号接收装置
CN104333808A (zh) * 2014-11-14 2015-02-04 复旦大学 用于Android及Linux智能电视机上的通用播放器
CN104506925A (zh) * 2015-01-08 2015-04-08 大唐微电子技术有限公司 多媒体网关及方法
CN105554571A (zh) * 2014-11-03 2016-05-04 Tcl集团股份有限公司 一种基于Firefox OS的TV***实现方法及装置
CN105933767A (zh) * 2016-04-20 2016-09-07 青岛海信电器股份有限公司 中间件装置、中间件实现方法和电视机

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
GB2332345B (en) * 1997-12-09 2002-12-11 Sony Uk Ltd A digital video receiver a conditional access module and a method of transmitting data therebetween
US7028331B2 (en) * 2001-02-28 2006-04-11 Sharp Laboratories, Inc. Content proxy method and apparatus for digital television environment
US7346917B2 (en) * 2001-05-21 2008-03-18 Cyberview Technology, Inc. Trusted transactional set-top box
GB2399972A (en) * 2003-03-26 2004-09-29 Sony Uk Ltd Common interface controller and method of descrambling transport stream channels
US7739692B2 (en) * 2004-01-05 2010-06-15 Research Investment Network, Inc. Minimizing the dependency of source code on the in-band resources of a set-top box
US20050251832A1 (en) * 2004-03-09 2005-11-10 Chiueh Tzi-Cker Video acquisition and distribution over wireless networks
CN101002180B (zh) * 2004-07-30 2012-09-05 捷讯研究有限公司 用于协调客户和主机安全模块的方法和***
US7549154B2 (en) * 2004-11-23 2009-06-16 Microsoft Corporation Extensible architecture for auxiliary displays
KR100735218B1 (ko) * 2004-12-14 2007-07-03 삼성전자주식회사 디지털 방송수신기의 방송정보 표시장치 및 방법
US20070089157A1 (en) * 2005-10-18 2007-04-19 Clark Christopher M Television advertising number system
US20070233779A1 (en) * 2006-03-31 2007-10-04 Maria Gaos Client-side information processing system and methods
GB2440199B (en) * 2006-07-13 2008-11-12 British Telecomm Electronic programme guide for a mobile communications device
EP2356813B1 (en) * 2008-12-12 2017-03-22 Mediatek Inc. Transport stream processing apparatus capable of storing transport stream before the transport stream is descrambled and then descrambling the stored transport stream for playback
US8499325B2 (en) * 2009-10-27 2013-07-30 Broadcom Corporation Method and system for multiplexed transport interface between demodulators (DEMODS) and set-top box (STB) system-on-chips (SoCs)
KR20120089980A (ko) * 2011-01-12 2012-08-16 엘지전자 주식회사 복수개의 그래픽 데이터 처리가 가능한 오퍼레이팅 시스템을 탑재하고 있는 멀티미디어 디바이스 및 그 제어 방법
CA2842271C (en) * 2011-07-20 2016-09-20 Lg Electronics Inc. Method for receiving media and device thereof
US9049208B2 (en) * 2012-10-18 2015-06-02 Broadcom Corporation Set top box architecture supporting mixed secure and unsecure media pathways
US9344762B2 (en) * 2012-10-18 2016-05-17 Broadcom Corporation Integration of untrusted applications and frameworks with a secure operating system environment
CN104427388A (zh) * 2013-09-10 2015-03-18 国家广播电影电视总局广播科学研究院 一种智能电视操作***
CN104735235A (zh) 2013-12-20 2015-06-24 青岛海信移动通信技术股份有限公司 一种便携式移动终端及其播放dtv数据的方法
CN107040660A (zh) 2017-04-18 2017-08-11 广东欧珀移动通信有限公司 移动终端播放音量的控制方法、装置及移动终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002170A (ko) * 2003-06-30 2005-01-07 주식회사 대우일렉트로닉스 디지털 텔레비젼의 임베디드 오에스 소프트웨어 통합 시스템
CN1674673A (zh) * 2005-05-13 2005-09-28 北京中星微电子有限公司 移动终端接收多媒体内容的***和方法及装置
CN101304496A (zh) * 2008-06-19 2008-11-12 上海交通大学 基于java的手机电视实现方法
CN102196308A (zh) * 2011-05-19 2011-09-21 广东星海数字家庭产业技术研究院有限公司 一种基于数字电视的多硬件接口兼容驱动***
CN202206509U (zh) * 2011-08-31 2012-04-25 刘杰 一种数字电视信号接收装置
CN105554571A (zh) * 2014-11-03 2016-05-04 Tcl集团股份有限公司 一种基于Firefox OS的TV***实现方法及装置
CN104333808A (zh) * 2014-11-14 2015-02-04 复旦大学 用于Android及Linux智能电视机上的通用播放器
CN104506925A (zh) * 2015-01-08 2015-04-08 大唐微电子技术有限公司 多媒体网关及方法
CN105933767A (zh) * 2016-04-20 2016-09-07 青岛海信电器股份有限公司 中间件装置、中间件实现方法和电视机

Also Published As

Publication number Publication date
US11153631B2 (en) 2021-10-19
US20200351539A1 (en) 2020-11-05
CN110419226A (zh) 2019-11-05
WO2019090658A1 (zh) 2019-05-16

Similar Documents

Publication Publication Date Title
US10785529B2 (en) Anticipatory video signal reception and processing
US8155507B2 (en) Video device having priority-based recording function and control method for the same
CN110419226B (zh) 播放电视节目的方法和装置
US20140137168A1 (en) Transmitting apparatus, control method for transmitting apparatus, control program, and recording medium
KR20130138750A (ko) 콘텐츠 송신 장치, 콘텐츠 송신 방법, 콘텐츠 재생 장치, 콘텐츠 재생 방법, 프로그램 및 콘텐츠 배신 시스템
US7545439B2 (en) Value added digital video receiver
KR20060008023A (ko) 영상기기 및 그 제어방법
US10291967B2 (en) Function upgrade device, display apparatus and method for controlling display apparatus thereof
CN105103565B (zh) 服务器设备、客户端设备、内容分发方法以及计算机程序
US20140178041A1 (en) Content-sensitive media playback
EP2566176A1 (en) Broadcast receiving device and method
EP3316546A1 (en) Multimedia information live method and system, collecting device and standardization server
CN107155125A (zh) 电视及有线和天线信号切换方法和计算机可读存储介质
KR20150073573A (ko) 미러링 화면에 관련된 콘텐츠 출력 방법 및 그 장치
US20090254963A1 (en) Method and apparatus for providing a virtual channel service
US20060193600A1 (en) Program video-recording apparatus and method
KR20090046059A (ko) 특정 장소에서의 선택적 방송 채널 시청 방법 및 시스템
CN107465946B (zh) 视频播放方法、装置、***及终端设备
US10805027B2 (en) Method, device, and non-transitory computer-readable recording medium for supporting relay broadcast
JP2008109175A (ja) テレビ受信機能付き通信機器
EP2398231A1 (en) Broadcast recording apparatus and broadcast recording method
EP1675016A2 (en) Picture reproducing apparatus, network system and picture reproducing method
KR20140090278A (ko) 복수의 튜너를 내장한 휴대형 디지털 방송수신 장치와 연동하는 방송재생장치, 이를 이용한 스마트 기기에서의 디지털 방송 수신 방법, 및 디지털 방송 수신시스템
KR101459302B1 (ko) 영상 재생 장치 및 영상 재생 장치의 영상 데이터 디스플레이 방법
JP2009159270A (ja) 録画装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant