CN103974111A - 将智能终端上的数据传输至电视终端的方法、装置 - Google Patents

将智能终端上的数据传输至电视终端的方法、装置 Download PDF

Info

Publication number
CN103974111A
CN103974111A CN201410219978.7A CN201410219978A CN103974111A CN 103974111 A CN103974111 A CN 103974111A CN 201410219978 A CN201410219978 A CN 201410219978A CN 103974111 A CN103974111 A CN 103974111A
Authority
CN
China
Prior art keywords
data
operand
operational order
television terminal
message
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.)
Granted
Application number
CN201410219978.7A
Other languages
English (en)
Other versions
CN103974111B (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
Priority to CN201410219978.7A priority Critical patent/CN103974111B/zh
Publication of CN103974111A publication Critical patent/CN103974111A/zh
Priority to EP15796121.0A priority patent/EP3131303B1/en
Priority to EP22160190.9A priority patent/EP4068792A1/en
Priority to US15/311,763 priority patent/US20170099507A1/en
Priority to PCT/CN2015/079286 priority patent/WO2015176648A1/zh
Application granted granted Critical
Publication of CN103974111B publication Critical patent/CN103974111B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种将智能终端上的数据传输至电视终端的方法,以高效地从智能终端向电视终端传输智能终端上的数据。所述方法包括:接收用户的操作指令;根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;将所述封装有所述操作对象的数据报文传输至电视终端。一方面,本发明提供的方法适用于很多普通用户,适应面广泛;另一方面,本发明提供的方法不仅能够高效地传输文字数据,还能传输现有技术不能传输的大容量的数据(例如,图片等),而且效率相当高;第三方面,数据的封装、传输都能与现有的标准协议兼容,无需重新开发协议栈。

Description

将智能终端上的数据传输至电视终端的方法、装置
技术领域
本发明涉及数字家庭产业领域,具体涉及将智能终端上的数据传输至电视终端的方法、装置。
背景技术
在数字家庭产业中,智能终端(例如,智能手机)的普及以及智能电视和智能机顶盒的渐成气候,使得以互动娱乐、智能家居和信息服务为代表的面向三网融合的数字家庭业务应用创新取得较大进展。各种基于互联网(Over TheTop,OTT)的业务在电视终端上纷纷出现,一些新颖的人机控制方式也陆续出现,其中,使用智能终端控制电视或者机顶盒这种新颖、人性化的操作就是上述人机控制方式的典型例子。
现有的一种向电视终端传输数据(包括各种控制命令)的方法是将机顶盒或电视终端安装某种操作系统,例如,安装Google TV操作系统,然后,为这些机顶盒或电视终端配备带键盘的物理遥控器,物理遥控器包括基带芯片和无线(或者蓝牙)芯片,其中,基带芯片负责按键键值的编码,无线(或者蓝牙)芯片负责将按键键值的编码发送至机顶盒或者电视终端。在机顶盒或者电视终端一侧,其无线(或者蓝牙)芯片负责接收按键键值的编码,操作系统的驱动层将按键键值的编码转换为按键键值,然后通过操作系统的驱动层发送至应用层,由应用层解释或显示。
上述现有技术虽然能够向电视终端传输数据,但由于物理遥控器的键盘不具有个人电脑键盘的人体工程设计,导致输入方式繁琐,输入效率低下,在需要传输大容量的数据(例如,图片等)要么无法实现,要么极不方便,也无法实现数据的复制功能。
发明内容
本发明提供将智能终端上的数据传输至电视终端的方法、装置和系统,以高效地从智能终端向电视终端传输智能终端上的数据。
第一方面,本发明提供了一种将智能终端上的数据传输至电视终端的方法,包括:
接收用户的操作指令;
根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
将所述封装有所述操作对象的数据报文传输至电视终端。
结合第一方面,在第一方面的第一种实施方案中,所述根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象封装在当前所用网络协议的数据报文中,包括:
根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
将所述已置入所述操作对象对应的数据的数据容器封装到网络协议的数据报文。
结合上述第一种实施方案,在第一方面的第二种实施方案中,所述数据容器包括命令字成员和数据内容类型描述成员,所述命令字成员用于描述所述操作指令,所述数据内容类型成员用于描述所述操作对象对应的数据的类型。
结合第一方面,在第一方面的第三种实施方案中,所述将所述封装有所述操作对象的数据报文传输至电视终端包括:通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
结合上述第三种实施方案,在第一方面的第一种至三种实施方案中,所述操作指令包括将所述操作对象复制至所述电视终端的指令。
第二方面,本发明提供了一种将智能终端上的数据传输至电视终端的方法,包括:
接收智能终端传送的封装有操作对象的网络协议的数据报文;
解析所述网络协议的数据报文;
根据解析所述网络协议的数据报文后得到的消息,对所述操作对象执行相应的操作。
第三方面,本发明提供了一种将智能终端上的数据传输至电视终端的装置,所述装置包括:
指令接收模块,用于接收用户的操作指令;
封装模块,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
报文发送模块,用于将所述封装有所述操作对象的数据报文传输至电视终端。
结合二方面,在第二方面的第一种实施方案中,所述封装模块包括:
数据置入单元,用于根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
容器封装单元,用于将所述已置入所述操作对象对应的数据的数据容器封装到网络协议的数据报文。
结合上述第二方面的第一种实施方案,所述数据容器包括命令字成员和数据内容类型成员,所述命令字成员用于描述所述操作指令,所述数据内容类型成员用于描述所述操作对象对应的数据的类型。
结合上述第二方面的,在所述第二方面的第三种实施方案中,所述报文发送模块具体用于通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
结合上述第二方面的第三种实施方案,在所述第二方面的第四实施方案中,所述操作指令包括将所述操作对象复制至所述电视终端的指令。
第四方面,本发明提供了一种将智能终端上的数据传输至电视终端的装置,所述装置包括:
报文接收模块,用于接收智能终端传送的封装有操作对象的网络协议的数据报文;
报文解析模块,用于解析所述网络协议的数据报文;
操作执行模块,用于根据所述报文解析模块解析所述网络协议的数据报文后得到的消息,对所述操作对象执行相应的操作。
第五方面,本发明提供了一种将智能终端上的数据传输至电视终端的系统,所述系统包括智能终端和电视终端,所述智能终端包括指令接收模块、封装模块和发送模块,所述电视终端包括报文接收模块、报文解析模块和操作执行模块;
所述指令接收模块,用于接收用户的操作指令;
所述封装模块,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
所述报文发送模块,用于将所述封装有所述操作对象的数据报文传输至所述电视终端;
所述报文接收模块,用于接收所述智能终端传送的封装有操作对象的网络协议的数据报文;
所述报文解析模块,用于解析所述网络协议的数据报文;
所述操作执行模块,用于根据所述报文解析模块解析所述网络协议数据报文后得到的消息,对所述操作对象执行相应的操作。
本发明中,由于所接收的操作指令多种多样,而操作指令的操作对象也可以包含诸如文字、图片或音视频等多种类型的数据,在将操作对象封装在当前所用网络协议的数据报文后即可传输至电视终端。一方面,用户对日益普及的智能终端上的操作相当熟练,因此,本发明提供的方法适用于很多普通用户,适应面广泛;另一方面,由于在智能终端上的操作无需像现有技术那样逐个按键逐个按键输入,而是仅仅触摸一个按键就能完成原本相当复杂的操作,因此,本发明提供的方法不仅能够高效地传输文字数据,还能传输现有技术不能传输的大容量的数据(例如,图片等),而且效率相当高;第三方面,数据的封装、传输都能与现有的标准协议兼容,无需重新开发协议栈。
附图说明
图1是本发明实施例提供的将智能终端上的数据传输至电视终端的方法的基本流程示意图;
图2是本发明实施例提供的将智能终端上的数据传输至电视终端的方法的执行主体的层次示意图;
图3是本发明另一实施例提供的将智能终端上的数据传输至电视终端的方法的基本流程示意图;
图4是本发明另一实施例提供的将智能终端上的数据传输至电视终端的方法的执行主体的层次示意图;
图5是本发明实施例提供的将智能终端上的文字拷贝至电视终端的某个应用程序的输入框的示意图;
图6是本发明实施例提供的将智能终端上的图片拷贝至电视终端的某个应用程序的输入框的示意图;
图7是本发明实施例提供的将智能终端上的数据传输至电视终端的装置逻辑结构示意图;
图8是本发明另一实施例提供的将智能终端上的数据传输至电视终端的装置逻辑结构示意图;
图9是本发明另一实施例提供的将智能终端上的数据传输至电视终端的装置逻辑结构示意图;
图10是本发明实施例提供的将智能终端上的数据传输至电视终端的系统逻辑结构示意图。
具体实施方式
本发明提供将智能终端上的数据传输至电视终端的方法,包括:接收用户的操作指令;根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;将所述封装有所述操作对象的数据报文传输至电视终端。本发明实施例还提供相应的将智能终端上的数据传输至电视终端的装置和系统。以下分别进行详细说明。
本发明实施例的将智能终端上的数据传输至电视终端的方法可应用于智能终端,例如智能手机,其执行主体可以是智能终端,其基本流程可参考图1,主要包括步骤S101至步骤S103:
S101,接收用户的操作指令。
在本发明实施例中,智能终端上的软件实体,即本发明实施例提供的将智能终端上的数据传输至电视终端的方法的执行主体可以分为三个层次,如附图2所示,从上至下依次包括应用层、服务层和操作系统层,其中,服务层复责向其上层即应用层提供相关服务,例如,数据复制等,操作系统层是智能终端的操作系统,提供各种网络服务、文件管理和存储等支持。附图2示例的应用层复责调用服务层应用程序编程接口(Application Programming Interface,API),具体地,当智能终端应用层收到接收用户的操作指令后,调用服务层API,将目前的显示内容,例如,文字、音视频文件或图片等指定给服务层。
S102,根据操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中。
如前所述,智能终端应用层收到接收用户的操作指令后,将显示内容,例如,文字、音视频文件或图片等指定给服务层。一般地,操作指令指向的对象既可以是应用程序,也可以是应用程序中的呈现内容。例如,当点击智能终端桌面上的应用程序图标时,“点击”这一操作指令指向的对象就是应用程序,当选中应用程序中的呈现内容(例如,图片)并发出“复制”这一操作指令时,该操作指令指向的对象就不再是应用程序本身,而是应用程序中的呈现内容(例如,图片)。在本发明实施例中,所述操作指令指向的操作对象是智能终端已启用的应用中的呈现内容,即使操作指令指向的是应用程序本身,但操作对象仍然是智能终端已启用的应用中的呈现内容。具体地,在本发明实施例中,当所述操作指令指向的对象为应用程序时,限定所述操作指令指向的操作对象为该应用程序中的呈现内容;当所述操作指令指向的对象为应用程序的呈现内容时,则该应用程序中的呈现内容即为所述操作指令指向的操作对象。所述呈现内容可以是文字、音频文件、视频文件或图片等。操作指令可以是将操作对象复制至电视终端的指令,即,该指令执行后,可以将操作对象复制至电视终端。服务层可以根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中。
在本发明的一个实施例中,所述将所述操作对象封装在网络协议的数据报文中,包括:将所述操作对象封装在当前网络协议的数据报文中。例如,当前所用网络协议为TCP/IP,可将所述操作对象的相关数据封装到TCP/IP数据报文中,该数据报文可以与现有的网络协议兼容,增强本发明的适用性,减少对协议栈的开发。
在本发明的一个实施例中,根据操作指令获取所述操作指令的操作对象后,将所述操作对象封装在网络协议的数据报文中包括如下步骤S1021和步骤S1022:
S1021,根据操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中。
在本发明实施例中,可以将操作对象对应的数据置入一些公知的协议包,例如,超文本标记语言(HyperText Markup Language,HTML)协议包中,然后,让智能终端和电视终端基于服务器/客户端(Server/Client,S/C)架构,使用HTML协议包通信。然而,这种HTML协议包解析起来存在一定的复杂性,并且,还需要设计一个C/S架构,成本较高。在本发明实施例的一种实现方式中,可以将操作对象对应的数据置入预设的数据容器中,其中,预设的数据容器可以是智能终端与电视终端事先协商好并用于两者之间进行数据交互的一种数据结构,如下所示:
结构{
命令字 32bit
数据长度 64bit
数据内容类型 32bit
内容校验字 128bit
数据内容 n block
}
是本发明实施例提供的一种数据容器,其成员包括命令字(长度为32位)、数据长度(长度为64位)、数据内容类型(长度为32位)、内容校验字(长度为128位)和数据内容。其中,所述数据容器可包括命令字成员和数据内容类型描述成员,命令字成员用于描述操作指令是什么,例如,复制、剪切等,数据内容类型描述成员用于描述操作对象对应的数据的类型,包括普通文本、富文本和GIF图片等类型,而数据内容就是操作指令的操作对象所对应的数据,其长度不限,例如,上述数据内容的长度可以是n个数据块(block),n的大小原则上不做限制。由于数据容器是预设的,而且可以是智能终端和电视终端协商之后进行预设,因此,解析起来相对简单。
S1022,将已置入操作对象对应的数据的数据容器封装到网络协议的数据报文。
在本发明实施例中,可以将已置入操作对象对应的数据的数据容器封装到网络协议的数据报文。由于将数据封装到当前所用网络协议后,所得的数据报文可以与现有的网络协议兼容,增强本发明的适用性,减少对协议栈的开发,因此,将已置入操作对象对应的数据的数据容器封装到网络协议的数据报文可以是将已置入操作对象对应的数据的数据容器封装到当前所用网络协议的数据报文。由于在物理层以上的网络协议层,例如传输控制协议(TransmissionControl Protocol,TCP)/互联网协议(Internet Protocol,IP)层通常使用TCP/IP协议,因此,作为本放一个实施例,当前所用网络协议可以是TCP/IP,可以将已置入操作对象对应的数据的数据容器封装到TCP/IP数据报文中。
S103,将封装有操作对象的数据报文传输至电视终端。
在本发明实施例中,可以通过调用网络接口,将封装有所述操作对象的数据报文发送至与电视终端事先协商的网络端口(port),从该端口将封装有操作对象的数据报文传输至电视终端。具体地,将步骤S102中封装有操作对象的数据报文传输至电视终端,可以采用有线方式,例如,使用数据线直接将智能终端与电视终端连接,通过数据线将封装有操作对象的数据报文从智能终端传输至电视终端,也可以使用无线方式,例如,通过WiFi或者蓝牙,将封装有操作对象的数据报文从智能终端传输至电视终端,本发明实施例对传输的方式可以不加限制。
从上述本发明实施例提供的将智能终端上的数据传输至电视终端的方法可知,由于所接收的操作指令多种多样,而操作指令的操作对象也可以包含诸如文字、图片或音视频等多种类型的数据,在将操作对象封装在当前所用网络协议的数据报文后即可传输至电视终端。一方面,用户对日益普及的智能终端上的操作相当熟练,因此,本发明实施例提供的方法适用于很多普通用户,适应面广泛;另一方面,由于在智能终端上的操作无需像现有技术那样逐个按键逐个按键输入,而是仅仅触摸一个按键就能完成原本相当复杂的操作,因此,本发明提供的方法不仅能够高效地传输文字数据,还能传输现有技术不能传输的大容量的数据(例如,图片等),而且效率相当高;第三方面,数据的封装、传输都能与现有的标准协议兼容,无需重新开发协议栈。
请参阅附图3,是本发明另一实施例提供的将智能终端上的数据传输至电视终端的方法可应用于电视终端,其执行主体可以是电视终端,基本流程主要包括步骤S301至步骤S303:
S301,接收智能终端传送的封装有操作对象的网络协议的数据报文。
本发明实施例所说的电视终端可以是指一般的智能电视终端,也可以是机顶盒或者机顶盒+智能电视终端,其中也装有层次结构与附图2示例的层次结构类似的软件实体,如附图4所示,其中,服务层负责监听与智能终端协商好的用于交互数据的网络端口。一旦监听到有数据传输,则接收智能终端传送的封装有操作对象的数据报文,进行校验,然后通知订阅此服务的应用层;操作系统层是电视终端的操作系统,提供各种网络服务、文件管理和存储等支持。在本实施例中,操作对象的概念与附图1提供的实施例的操作对象相同,例如,可以是文字、音频文件、视频文件或图片等内容。
S302,解析网络协议数据报文。
如前所述,操作对象对应的数据置入数据容器后,封装在网络协议的数据报文中,例如TCP/IP报文中。电视终端收到该类网络协议的数据报文后,解析该网络协议的数据报文。
S303,根据解析网络协议的数据报文后得到的消息,对操作对象执行相应的操作。
电视终端的软件实体的服务层解析出其中的数据实体即数据容器各个成员的内容后,将消息即数据容器成员的内容上传至应用层。在本发明实施例中,电视终端的软件实体的应用层主要负责获取服务层传递来的数据,根据解析网络协议的数据报文后得到的消息,对操作对象执行相应的操作,从而根据自己的业务模式进行相应处理。例如,如果当前应用是记事本,那么应用层就会直接将从服务层收到的数据显示在编辑区域;如果当前应用是浏览器,那么应用层就会将收到的字符串显示在地址栏或者搜索栏里面;如果当前应用是图片阅览器,那么应用层就会将从服务层收到的数据显示在图片阅览界面;等等。
为了进一步说明上述实施例提供的将智能终端上的数据传输至电视终端的方法,以下以将智能终端上的数据复制至电视终端的两个应用场景为例进行说明。
场景一:如附图5所示,在智能终端(例如,智能手机)屏幕上,用户可以简单选择目前看到的文字,点击相应按钮,例如“拷贝至TV”按钮,拷贝到电视终端的某个应用程序的输入框中。具体地,用户在电视机遥控器上按了“search”按键后,电视终端的用户界面(User Interface,UI)出现Search对话框,等待用户输入想要搜索的内容。用户此时可以拷贝智能终端上的字符,例如选择“IDEA撰写——IDEA技术方案”,然后点击“拷贝至TV”按钮,如此,电视终端的UI的Search对话框的输入框中就出现了“IDEA撰写——IDEA技术方案”这几个字,而不需要用户在电视终端输入或者通过智能终端输入前述文字,从而可以提供电视终端的文字录入的速度,改善用户体验。
场景二:如附图6所示,在智能终端(例如,智能手机)屏幕上有一张“埃菲尔铁塔”的图片,电视终端的某个应用在UI上一张“老爷车”的图片。用户可选择所述智能终端当前显示的图片即埃菲尔铁塔图片,点击相应按钮,例如“拷贝至TV”按钮,拷贝至电视终端的某个应用上,电视终端的应用可以将该图片保存或者显示。例如,电视终端获取所述智能终端发送的数据后,使得某个应用在UI上呈现的老爷车图片,替换为埃菲尔铁塔这一图片,如此极大地提高用户的输入速度。
下面对用于执行上述将智能终端上的数据传输至电视终端的方法的本发明实施例的将智能终端上的数据传输至电视终端的装置进行说明,其逻辑结构参考图7。为了便于说明,仅仅示出了与本发明实施例相关的部分。图7示例的将智能终端上的数据传输至电视终端的装置可以是智能终端(例如,智能手机等)或者智能终端中的功能模块。图7示例的将智能终端上的数据传输至电视终端的装置主要包括指令接收模块701、封装模块702和报文发送模块703,各模块详细说明如下:
指令接收模块701,用于接收用户的操作指令。
封装模块702,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中。
在本实施例中,操作指令指向的操作对象可以是应用中的呈现内容,包括文字、音频文件、视频文件或图片等,操作指令可以是将操作对象复制至电视终端的指令,即,该指令执行后,可以将操作对象复制至电视终端。
报文发送模块703,用于将所述封装有所述操作对象的数据报文传输至电视终端。具体地,报文发送模块703具体用于通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
需要说明的是,以上附图7示例的将智能终端上的数据传输至电视终端的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述将智能终端上的数据传输至电视终端的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的指令接收模块,可以是具有执行前述接收用户的操作指令的硬件,例如指令接收器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的封装模块,可以是具有执行前述根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象封装在网络协议的数据报文中功能的硬件,例如封装器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图7示例的封装模块702可以包括数据置入单元801和容器封装单元802,如附图8所示本发明另一实施例提供的将智能终端上的数据传输至电视终端的装置,其中:
数据置入单元801,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
容器封装单元802,用于将所述已置入所述操作对象对应的数据的数据容器封装到网络协议的数据报文。
附图7示例的将智能终端上的数据传输至电视终端的装置中,数据容器包括命令字成员和数据内容类型成员,如下所示:
结构{
命令字 32bit
数据长度 64bit
数据内容类型 32bit
内容校验字 128bit
数据内容 n block
}
其中,命令字成员用于描述所述操作指令是什么,例如,复制、剪切等,数据内容类型成员用于描述所述操作对象对应的数据的类型,包括普通文本、富文本和GIF图片等类型,而数据内容就是操作指令的操作对象所对应的数据,其长度不限,例如,上述数据内容的长度可以是n个数据块(block),n的大小原则上不做限制。由于数据容器是预设的,而且可以是智能终端和电视终端协商之后进行预设,因此,解析起来非常简单。
在本实施例中,容器封装单元802可以将已置入操作对象对应的数据的数据容器封装到网络协议的数据报文。由于将数据封装到当前所用网络协议后,所得的数据报文可以与现有的网络协议兼容,增强本发明的适用性,减少对协议栈的开发,因此,容器封装单元802将已置入操作对象对应的数据的数据容器封装到网络协议的数据报文可以是容器封装单元802将已置入操作对象对应的数据的数据容器封装到当前所用网络协议的数据报文。由于在物理层以上的网络协议层,例如传输控制协议(Transmission Control Protocol,TCP)/互联网协议(Internet Protocol,IP)层通常使用TCP/IP协议,因此,作为本放一个实施例,当前所用网络协议可以是TCP/IP,容器封装单元802可以将已置入操作对象对应的数据的数据容器封装到TCP/IP数据报文中。
在上述附图7或附图8示例的将智能终端上的数据传输至电视终端的装置中,操作指令包括将操作对象复制至电视终端的指令。
请参阅附图9,是本发明另一实施例提供的将智能终端上的数据传输至电视终端的装置。为了便于说明,仅仅示出了与本发明实施例相关的部分。图9示例的将智能终端上的数据传输至电视终端的装置可以是电视终端,包括普通的电视终端、机顶盒或者电视终端、机顶盒中的功能模块。图9示例的将智能终端上的数据传输至电视终端的装置主要包括报文接收模块901、报文解析模块902和消息发送模块903,各模块详细说明如下:
报文接收模块901,用于接收智能终端传送的封装有操作对象的网络协议的数据报文;
报文解析模块902,用于解析所述网络协议的数据报文;
操作执行模块903,用于根据报文解析模块902解析网络协议的数据报文后得到的消息,对所述操作对象执行相应的操作。
请参阅附图10,是本发明实施例提供的将智能终端上的数据传输至电视终端的系统。为了便于说明,仅仅示出了与本发明实施例相关的部分。图10示例的将智能终端上的数据传输至电视终端的系统包括智能终端1001和电视终端1002,智能终端1001可以是附图7或附图8示例的将智能终端上的数据传输至电视终端的装置,电视终端1002可以是附图9示例的将智能终端上的数据传输至电视终端的装置,其中,智能终端1001包括指令接收模块1003、封装模块1004和发送模块1005,电视终端1002包括报文接收模块1006、报文解析模块1007和操作执行模块1008,各模块详细说明如下:
指令接收模块1003,用于接收用户的操作指令;
封装模块1004,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
报文发送模块1005,用于将所述封装有所述操作对象的数据报文传输至所述电视终端1002;
报文接收模块1006,用于接收所述智能终端1001传送的封装有操作对象的网络协议的数据报文;
报文解析模块1007,用于解析所述网络协议的数据报文;
操作执行模块1008,用于根据报文解析模块1007解析所述网络协议的数据报文后得到的消息,对所述操作对象执行相应的操作。
本发明实施例还提供一种智能终端,包括有输入装置、输出装置、存储器和处理器,其中,所述存储器中存储有一个或者一个以上程序,所述处理器用于调用所述存储器中的所述程序,以实现下述操作包括:
接收用户的操作指令;
根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
将所述封装有所述操作对象的数据报文传输至电视终端。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述存储器中,还包含用于执行以下操作的指令:
根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
将所述已置入所述操作对象对应的数据的数据容器封装到网络协议的数据报文。
假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述存储器中,所述数据容器包括命令字成员和数据内容类型描述成员,所述命令字成员用于描述所述操作指令,所述数据内容类型成员用于描述所述操作对象对应的数据的类型。
假设上述为第三种可能的实施方式,则在第一可能的实施方式作为基础而提供的第四种可能的实施方式中,所述存储器中,还包含用于执行以下操作的指令:通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
假设上述为第四种可能的实施方式,则在第一至四种任意一种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述存储器中,所述操作指令包括复制所述操作对象至所述电视终端。
本发明实施例还提供一种电视终端,包括有输入装置、输出装置、存储器和处理器,其中,所述存储器中存储有一个或者一个以上程序,所述处理器用于调用所述存储器中的所述程序,以实现下述操作包括:
接收智能终端传送的封装有操作对象的网络协议的数据报文;
解析所述网络协议的数据报文;
根据解析所述网络协议数据报文后得到的消息,对所述操作对象执行相应的操作。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的将智能终端上的数据传输至电视终端的方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种将智能终端上的数据传输至电视终端的方法,其特征在于,所述方法包括:
接收用户的操作指令;
根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
将所述封装有所述操作对象的数据报文传输至电视终端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象封装在网络协议的数据报文中,包括:
根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
将所述已置入所述操作对象对应数据的数据容器封装到网络协议的数据报文。
3.根据权利要求2所述的方法,其特征在于,所述数据容器包括命令字成员和数据内容类型描述成员,所述命令字成员用于描述所述操作指令,所述数据内容类型成员用于描述所述操作对象对应的数据的类型。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述将所述封装有所述操作对象的数据报文传输至电视终端包括:通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述操作指令包括将所述操作对象复制至所述电视终端的指令。
6.一种将智能终端上的数据传输至电视终端的装置,其特征在于,所述装置包括:
指令接收模块,用于接收用户的操作指令;
封装模块,用于根据所述操作指令获取所述操作指令指向的操作对象后,将所述操作对象封装在网络协议的数据报文中;
报文发送模块,用于将所述封装有所述操作对象的数据报文传输至电视终端。
7.根据权利要求6所述的装置,其特征在于,所述封装模块包括:
数据置入单元,用于根据所述操作指令获取所述操作指令的操作对象后,将所述操作对象对应的数据置入预设的数据容器中;
容器封装单元,用于将所述已置入所述操作对象对应的数据的数据容器封装到网络协议的数据报文。
8.根据权利要求7所述的装置,其特征在于,所述数据容器包括命令字成员和数据内容类型成员,所述命令字成员用于描述所述操作指令,所述数据内容类型成员用于描述所述操作对象对应的数据的类型。
9.根据权利要求6至8任意一项所述的装置,其特征在于,所述报文发送模块具体用于通过调用网络接口,将所述封装有所述操作对象的数据报文发送至与所述电视终端事先协商的网络端口。
10.根据权利要求6至9任意一项所述的装置,其特征在于,所述操作指令包括将所述操作对象复制至所述电视终端的指令。
CN201410219978.7A 2014-05-22 2014-05-22 将智能终端上的数据传输至电视终端的方法、装置 Active CN103974111B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201410219978.7A CN103974111B (zh) 2014-05-22 2014-05-22 将智能终端上的数据传输至电视终端的方法、装置
EP15796121.0A EP3131303B1 (en) 2014-05-22 2015-05-19 Method and device for transmitting data in intelligent terminal to television terminal
EP22160190.9A EP4068792A1 (en) 2014-05-22 2015-05-19 Method and device for transmitting data in intelligent terminal to television terminal
US15/311,763 US20170099507A1 (en) 2014-05-22 2015-05-19 Method and apparatus for transmitting data in intelligent terminal to television terminal
PCT/CN2015/079286 WO2015176648A1 (zh) 2014-05-22 2015-05-19 将智能终端上的数据传输至电视终端的方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410219978.7A CN103974111B (zh) 2014-05-22 2014-05-22 将智能终端上的数据传输至电视终端的方法、装置

Publications (2)

Publication Number Publication Date
CN103974111A true CN103974111A (zh) 2014-08-06
CN103974111B CN103974111B (zh) 2017-12-29

Family

ID=51243075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410219978.7A Active CN103974111B (zh) 2014-05-22 2014-05-22 将智能终端上的数据传输至电视终端的方法、装置

Country Status (4)

Country Link
US (1) US20170099507A1 (zh)
EP (2) EP3131303B1 (zh)
CN (1) CN103974111B (zh)
WO (1) WO2015176648A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410890A (zh) * 2014-10-13 2015-03-11 四川长虹电器股份有限公司 一种发送信息的方法和服务器
WO2015176648A1 (zh) * 2014-05-22 2015-11-26 华为技术有限公司 将智能终端上的数据传输至电视终端的方法、装置
CN107872710A (zh) * 2016-09-28 2018-04-03 中兴通讯股份有限公司 一种机顶盒桌面的实现方法、装置及系统
CN110111790A (zh) * 2019-05-09 2019-08-09 青岛海信电器股份有限公司 智能设备的外部设备接入的处理方法、装置及设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10764650B2 (en) * 2017-12-07 2020-09-01 At&T Intellectual Property I, L.P. Video optimization proxy system and method
CN109698969A (zh) * 2018-12-20 2019-04-30 北京四达时代软件技术股份有限公司 电视的文本输入方法及装置
CN111464575A (zh) * 2019-01-21 2020-07-28 夏宗亮 一种将监控界面封装到硬件设备的物联网通讯方案
CN111372108A (zh) * 2020-02-03 2020-07-03 未来电视有限公司 搜索方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022558A (zh) * 2007-01-24 2007-08-22 鲍东山 基于saf的信源适配
US20120151006A1 (en) * 2010-12-13 2012-06-14 Motorola Mobility, Inc. Content sharing between a universal plug and play device and a wide area network device
CN102611937A (zh) * 2012-01-17 2012-07-25 北京禾本源酵素科技有限公司 多媒体数据处理方法、装置及系统
CN102882963A (zh) * 2012-09-25 2013-01-16 腾讯科技(深圳)有限公司 一种数据传输方法、相关终端及系统
CN103051947A (zh) * 2012-12-07 2013-04-17 康佳集团股份有限公司 一种基于机顶盒的电子相册共享方法和系统
CN103581759A (zh) * 2013-10-14 2014-02-12 青岛海信传媒网络技术有限公司 智能终端以及多媒体文件传输展示方法和系统
CN103618724A (zh) * 2013-12-03 2014-03-05 中标软件有限公司 终端机与虚拟机之间的通信方法与通信系统
CN103686325A (zh) * 2013-12-25 2014-03-26 Tcl集团股份有限公司 一种多屏互动中媒体连续播放的方法及系统
CN103686330A (zh) * 2013-12-30 2014-03-26 深圳Tcl新技术有限公司 智能终端间图像的传送方法及智能终端

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0411054D0 (en) * 2004-05-18 2004-06-23 Ricardo Uk Ltd Fault tolerant data processing
US20060004834A1 (en) * 2004-06-30 2006-01-05 Nokia Corporation Dynamic shortcuts
US7827579B2 (en) * 2004-09-09 2010-11-02 Nokia Corporation Mobile television electronic service guide delivery system
US20070244902A1 (en) * 2006-04-17 2007-10-18 Microsoft Corporation Internet search-based television
US8332567B2 (en) * 2006-09-19 2012-12-11 Fisher-Rosemount Systems, Inc. Apparatus and methods to communicatively couple field devices to controllers in a process control system
US8775566B2 (en) * 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
CN101835020A (zh) * 2010-04-20 2010-09-15 惠州Tcl移动通信有限公司 手机与电视机通信的方法及装置
US8522283B2 (en) * 2010-05-20 2013-08-27 Google Inc. Television remote control data transfer
CN101998099A (zh) * 2010-09-30 2011-03-30 四川长虹电器股份有限公司 一种基于数字电视的彩信交互方法
JP2014064048A (ja) * 2011-01-27 2014-04-10 Panasonic Corp ネットワーク制御システム、ネットワーク制御機器、ネットワーク被制御機器及び機器制御方法
WO2012173670A1 (en) * 2011-06-13 2012-12-20 United Video Properties, Inc. Systems and methods for providing media recommendations
JP2014052872A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 電子機器、及び電子機器のプログラム
US20140095673A1 (en) * 2012-09-25 2014-04-03 Tencent Technology (Shenzhen) Company Limited Systems and methods for transmitting and receiving data
CN103533428A (zh) * 2012-10-31 2014-01-22 Tcl集团股份有限公司 将智能终端网页视频推送到电视播放的方法及智能终端
US9497506B2 (en) * 2013-05-03 2016-11-15 Blackberry Limited Input lag estimation for Wi-Fi display sinks
US9716657B1 (en) * 2013-09-27 2017-07-25 Google Inc. TCP connection resiliency in multipath networks
US20150220966A1 (en) * 2014-02-04 2015-08-06 Andrea Piana Restaurant reservation system and method
CN103974111B (zh) * 2014-05-22 2017-12-29 华为技术有限公司 将智能终端上的数据传输至电视终端的方法、装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022558A (zh) * 2007-01-24 2007-08-22 鲍东山 基于saf的信源适配
US20120151006A1 (en) * 2010-12-13 2012-06-14 Motorola Mobility, Inc. Content sharing between a universal plug and play device and a wide area network device
CN102611937A (zh) * 2012-01-17 2012-07-25 北京禾本源酵素科技有限公司 多媒体数据处理方法、装置及系统
CN102882963A (zh) * 2012-09-25 2013-01-16 腾讯科技(深圳)有限公司 一种数据传输方法、相关终端及系统
CN103051947A (zh) * 2012-12-07 2013-04-17 康佳集团股份有限公司 一种基于机顶盒的电子相册共享方法和系统
CN103581759A (zh) * 2013-10-14 2014-02-12 青岛海信传媒网络技术有限公司 智能终端以及多媒体文件传输展示方法和系统
CN103618724A (zh) * 2013-12-03 2014-03-05 中标软件有限公司 终端机与虚拟机之间的通信方法与通信系统
CN103686325A (zh) * 2013-12-25 2014-03-26 Tcl集团股份有限公司 一种多屏互动中媒体连续播放的方法及系统
CN103686330A (zh) * 2013-12-30 2014-03-26 深圳Tcl新技术有限公司 智能终端间图像的传送方法及智能终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015176648A1 (zh) * 2014-05-22 2015-11-26 华为技术有限公司 将智能终端上的数据传输至电视终端的方法、装置
CN104410890A (zh) * 2014-10-13 2015-03-11 四川长虹电器股份有限公司 一种发送信息的方法和服务器
CN104410890B (zh) * 2014-10-13 2017-12-26 四川长虹电器股份有限公司 一种发送信息的方法和服务器
CN107872710A (zh) * 2016-09-28 2018-04-03 中兴通讯股份有限公司 一种机顶盒桌面的实现方法、装置及系统
CN110111790A (zh) * 2019-05-09 2019-08-09 青岛海信电器股份有限公司 智能设备的外部设备接入的处理方法、装置及设备

Also Published As

Publication number Publication date
EP4068792A1 (en) 2022-10-05
EP3131303B1 (en) 2022-03-16
CN103974111B (zh) 2017-12-29
US20170099507A1 (en) 2017-04-06
EP3131303A1 (en) 2017-02-15
EP3131303A4 (en) 2017-05-10
WO2015176648A1 (zh) 2015-11-26

Similar Documents

Publication Publication Date Title
CN103974111A (zh) 将智能终端上的数据传输至电视终端的方法、装置
RU2488228C2 (ru) Основанная на веб-формате беспроводная связь
JP5646687B2 (ja) オンデマンド無線サービスのための適応ストリーミング
TWI502367B (zh) 使用Javascript及HTML5在裝置間串流元資料的方法與設備
CN102572606A (zh) 带有灵活的远程回放的流播的数字内容
KR20150005215A (ko) Rui 시스템, rui 서버, rui 단말 장치 및 rui 서비스 제공 방법
EP3087502B1 (en) Transmitting and displaying screen content
CN103514219A (zh) 一种在多个终端间分享Web内容的方法及系统
KR101612845B1 (ko) 리모트 ui 서비스 제공 방법 및 장치
CN112954717B (zh) 基于h5页面的家电配网方法和装置
CN103457966A (zh) 基于dlna技术访问云存储设备的方法、设备及系统
JP2013543189A (ja) Smsを用いて遠隔デバイスを制御する方法及びそのための装置
CN105141567A (zh) 终端应用和服务端的交互数据处理方法及系统、交互方法
CN103023870A (zh) 一种消息中数据的输出方法、装置和设备
CN101018363A (zh) 在智能卡上实现无线增值业务的方法
CN104468494A (zh) 一种切换媒体播放设备的方法及设备
CN104469477A (zh) 媒体资源推送方法及装置
CN102904891A (zh) 多媒体数据共享方法及装置、多媒体播放设备
CN103685303A (zh) 连接内容传送网络的处理方法与系统
CN103905404A (zh) 网络媒体内容即时共享的装置及方法
CN101964742B (zh) 一种网络开放能力使用方法、系统和装置
CN110752999B (zh) 屏幕广播方法、装置、系统、电子设备以及存储介质
CN108664498A (zh) 一种网页内容的显示方法及终端
CN101945233A (zh) 查看ppt和pdf文件的方法及采用该方法的电视机
CN104079953A (zh) 基于视频信息分享操作的方法和系统

Legal Events

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