CN106375819B - 实现实时视频串流的基于事件的同步的便携式系统 - Google Patents

实现实时视频串流的基于事件的同步的便携式系统 Download PDF

Info

Publication number
CN106375819B
CN106375819B CN201610542742.6A CN201610542742A CN106375819B CN 106375819 B CN106375819 B CN 106375819B CN 201610542742 A CN201610542742 A CN 201610542742A CN 106375819 B CN106375819 B CN 106375819B
Authority
CN
China
Prior art keywords
packet
portable system
host equipment
equipment
data content
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
CN201610542742.6A
Other languages
English (en)
Other versions
CN106375819A (zh
Inventor
F·白
D·单
L·尼曼
D·K·格林姆
K·朱什维克
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN106375819A publication Critical patent/CN106375819A/zh
Application granted granted Critical
Publication of CN106375819B publication Critical patent/CN106375819B/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • 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/4112Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
    • 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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)

Abstract

一种便携式系统,该便携式系统包括数字连接插头、处理硬件单元和非暂时性存储器件,该非暂时性存储器件包括代码,该代码使处理硬件单元执行包括将所接收到的源视频文件或者虚拟化源视频划分为多个大小相等或者大小不等的图像分量的步骤。将所得的数据内容包存储在系统处,诸如其帧缓冲器。系统操作进一步包括生成包括多个索引分量的元索引包,每个索引分量对应于所述大小相等的图像分量的相应一个图像分量,存储所述元索引包,并且将所述数据内容包和所述元索引包发送至所述主机设备,以便根据所述元索引包的顺序,顺序地公开所述图像分量,以便显示与所述源视频文件或者虚拟化源视频相对应的渲染流视频。

Description

实现实时视频串流的基于事件的同步的便携式系统
技术领域
本发明整体涉及设备之间媒体内容传输的同步,更具体地涉及从外围设备(例如插入式大容量存储系统)到主机设备(例如汽车头单元)的媒体(如视频流)的同步传输和实时显示渲染。
背景技术
大多数现代汽车都由原始设备制造商(OEM)装有一种信息娱乐单元,其可以呈现包括可视媒体的媒体。该单元可以呈现,例如利用该单元上运行的音频应用程序从互联网上接收到的音频,并呈现,例如从数字视频光盘(DVD)上接收到的视频。虽然许多单元还可以呈现可视媒体,如从远程源接收的导航和天气信息,但呈现从远程源接收到的视频仍是一个挑战。
其他显示设备或部件,如电视机和电脑监视器,可以通过高通量或高传输速率接口,如高清晰度多媒体接口(HDMI)或视频图形阵列(VGA) 端口,接收视频数据。(HDMI是美国加州森尼韦尔市的HDMI Licensing, LLC公司的注册商标)已开发出数字媒体路由器,用于插入这些高传输速率端口,向显示设备提供视频数据。
大多数主机设备,如已在路上行驶的传统汽车,并没有这种高传输速率接口。越来越多地,现代车辆都具有外围端口,如通用串行总线(USB) 端口或无线接收器,用于仅传输从移动用户设备(如智能电话)接收的相对低传输速率的数据。
通过较低传输速率连接,如USB来有效地传输视频数据仍然是一个挑战。流视频数据通常需要高数据速率。虽然HDMI数据传输速率可以超过 10Gbps,但USB数据传输速率通常不超过约4Gbps。
从远程源有效、高效地传输视频数据到本地显示设备的障碍还包括本地设备的限制,如本地设备上原有软件和/或硬件的限制。通常,移动用户设备不具有视频卡和/或车辆不具有图形处理硬件。而且,例如,USB视频类(UVC)不受商售设备或通行信息娱乐系统的支持。(ANDROID 是加州山景城的谷歌公司的注册商标)
从远程源传输视频数据到本地显示器的另一个障碍是避免设备之间读写冲突的时间同步传输所需要的硬件和软件的成本很高。
发明内容
需要一种用于在被连接设备之间以有效和同步的方式低延迟地传输高速视频流的布置,不用昂贵的时间同步部件。
还需要一种可以通过相对较低速率连接(例如USB连接)传输高速视频流(例如在接收设备上流动的视频)的系统。
本技术解决了从诸如远程应用服务器等的源向目的主机设备(例如汽车头单元)传输高通量媒体相关的这些和其他挑战。
本技术处理具有文件格式的数据,其结果是流视频和音频的一种新颖方式。随时被处理的数据包括一定体积的静止图像。静止图像构造涉及到体积高达,例如,成千的静止图像,实现了低延迟的高速视频流传送。该过程包括清空高速缓冲。具体实施包括使用插入式大容量存储系统,例如采用USB大容量存储类(MSC USB)协议的一个系统。
本发明呈现了用于外围设备(如USB插入式大容量存储系统)与目的主机设备之间高通量媒体(诸如视频流)的传输和实时显示的同步系统。媒体以一种新颖的基于事件的方式同步,其避免了对昂贵的基于时钟的同步部件的需求。
在一个方面,本发明涉及一种便携式系统,该系统包括处理硬件单元和非暂时性存储设备,后者的设备包括计算机可执行代码,这些代码在由处理硬件单元执行时,会使处理硬件单元执行各种目前技术的操作。便携式系统可以被称呼为各种术语,如外围设备、行走系统、移动系统、行走或移动伴随设备、便携式设备等等,仅举几例。
便携式系统被配置成从视频源,诸如远程视频源(例如服务器)接收源视频流,例如视频文件,并将该源视频流分割成多个同等大小或非同等大小的图像分量。所得的数据内容包被存储在系统中,诸如以其帧缓冲的形式。帧缓冲可以是,例如,以一个数据内容包的形式被传输的视频源。
便携式系统被进一步配置成生成包括多个索引分量的元索引包,每个索引分量对应于大小相等或大小不等的图像分量。便携式系统还被配置成将元索引包存储到非暂时性存储设备中。操作还包括按照元索引包的顺序,发送数据内容包和元索引包到主机设备,用于按顺序发布图像分量,以通过主机设备和显示设备显示对应于源视频流的渲染视频流。该布置,包括数据内容包和与其对应的元索引包的传输和实时显示,可以被称为多层次布置。
在一些实施例中,便携式系统和主机设备被配置用于二者之间的双向通信。两者之间的指令或数据可以通过从便携式系统到主机设备的正向信道的方式,并通过从主机设备返回便携式系统的背向信道的方式来发送。指令或数据可被配置为,例如改变接收设备或系统的设定或功能。在某些具体实施中,便携式系统、主机设备以及连接二者的通信信道被配置成允许同时双向通信。在各种不同的实施例中,配置被设置成根据时分多址 (TDMA)信道接入方法进行通信。
在一些实施例中,便携式系统包括人机界面(HMI),例如按钮或麦克风。便携式系统被配置为通过人机界面来接收用户输入,并触发任意的各种动作,包括建立用户偏好、改变先前建立的偏好,以及产生指令以供发送到主机设备。
在各种实施例中,便携式系统和主机设备包括动态编程语言形式的计算机可执行代码,以实现便携式系统和主机设备之间的交互。
在一些实施例中,便携式系统使用第一级缓存存储所形成的图像分量。上面提到的帧缓冲可以是诸如第一级缓存的一部分。
在一些实施例中,主机系统被配置为被实施为运输车辆的一部分,例如包括通信端口和所述显示设备的汽车。在这种情况下,便携式系统可以包括通信大容量存储设备类计算协议(例如USB MSC协议),用于便携式系统和主机设备的处理硬件单元之间的通信。从主机设备到便携式系统的指令可以被配置成实现便携式系统的运行,例如通过分割源视频以形成索引图像分量的方式。
在下文中,本发明的其他方面的一部分将显而易见,而一部分则被直接指出。
附图说明
图1示意性地示出了本技术被实施的情境,包括便携式系统和主机设备。
图2示出了在图1的便携式系统中编程的算法的运行。
图3示出了在图1的主机设备中编程的算法的运行。
图4示意性地示出了圆形帧缓冲传输和实时显示过程,由多层基于事件的布置同步。
图5以强调布置的圆形性质的方式示出了图4布置的另一种替代性视图。
图6示出了这样一个图表,其指示了写入和读出圆形文件的基于事件的定时。
图7示出了对应于图6中图表的图,示出了在写入下一个文件之前随时间推移读取的连续圆形文件的量。
这些附图不一定按比例绘制,某些特征可能被夸大或最小化,例如,为了显示特定分量的细节。在一些情况下,公知的分量、系统、材料或方法没有进行详细描述,以免令本发明模糊不清。
在附图中,相似的标号用于指代相似的特征。
具体实施方式
按需要,在这里公开本发明详细的实施例。公开的实施例仅仅是示例,这些示例体现为各种各样的和备选的形式及其结合。作为在这里使用的,例如,示范性的以及类似的术语,可扩张地指作为例证、范例、模型或模式的实施例。
在这里公开的具体结构上的以及功能上的细节不能被解释为限制,而仅仅作为权利要求的基础,以及作为用于教本领域普通技术人员来利用本发明代表性的基础。
虽然首先在这里说明的本技术与汽车有关,但是本技术不限于汽车。这些概念可用于多种广泛的应用,诸如与航空器、船舶,以及非运输业,如电视业有关。
其他非自动的实施可包括对等插入件,或者网络附加存储(NAS)设备。
I.图1技术环境
图1按照示意地说明在其中实施本技术的布置或环境100。环境100 包括便携式仪器、系统或设备110,以及主机仪器、系统或设备150。为了清晰,而不是为了限制范围,便携式仪器110在这里首先指便携式系统,而主机仪器150指主机设备。在有些实施例中,便携式系统和主机设备110、 150是合成一体的系统100。
便携式系统110可采取多种形式中的任何一种,并且可涉及多种方式中的任何一种,诸如通过外围设备、外围系统、便携式外部设备、外部设备、移动系统、移动外部设备、便携式系统,以及便携式大容量储存系统。
便携式系统110可便于携带,这是基于可被便利地移动,诸如通过具有插入式配置,举例来说,和/或通过可移动,诸如通过配置为无线通信,以及由用户便利地随身携带。便携式系统110仅作为一对示例可包括加密狗,或者移动通信设备,诸如智能手机。
尽管在图1中没有显示便携式系统110的部件以及主机设备150的部件之间的连接,这些部件可以任何适当的方式相互作用以执行系统功能。
便携式系统110包括非暂时性硬件存储设备12。硬件存储设备112可被称为其他术语,诸如存储器或者计算机可读介质,并且可包括,例如,易失性介质、非易失性介质、可移动介质,以及非可移动介质。如在说明书和权利要求中使用的术语硬件存储设备及其变型,指有形的或非暂时性的计算机可读存储设备。在这里部件首先指硬件存储设备112,或者仅简称为存储设备112。
在有些实施例中,存储设备112包括易失性和/或非易失性的,可移动的和/或非可移动的介质,例如,随机存取存储器(RAM)、只读存储器 (ROM)、电可擦可编程只读存储器(EEPROM)、固体存储器或者其他存储器技术、CDROM、DVD、BLU-RAY,或者其他光盘存储、磁带、磁盘存储,或者其他磁性存储设备。
便携式系统110还包括通过通信线路116,诸如计算机总线连接或者可连接到硬件存储设备112的硬件处理单元114。
硬件处理单元114可被称为其他术语,诸如计算机处理器、只是处理器、硬件处理单元、硬件处理设备、硬件处理系统、处理单元、处理设备等等。
处理器114可以是或者包括多个处理器,各处理器可包括位于单个机器或者多个机器内的分布式处理器或者并行处理器。处理器114可包括或者是多核单元,诸如多核数字信号处理器(DSP)单元或者多核图形处理单元(GPU)。
处理器114可用于支持虚拟处理环境。处理器114可包括状态机、特定用途集成电路(ASIC)、包括现场PGA(FPGA)、DSP、GPU或者状态机的可编程序门阵列(PGA)。在这里引用来执行代码或者指令以执行操作、动作、作业、功能、步骤等等的处理器,可包括直接执行操作和/或推进、指示,与其他设备或部件配合以执行操作的处理器114。
便携式系统110在各种实施例中包括一个或者多个致意媒体编解码部件,诸如处理或者硬件部件,以及在该处理中使用的软件部件。硬件或者处理部件可以是处理设备114的一部分。
硬件存储设备112包括计算机可执行指令或代码118。在各实施例中,硬件存储设备112在基于文件的对应于存储于其中的代码的布置中,存储接收和/或产生的并且要在处理中使用的至少一些数据。例如,当使用FPGA 时,硬件存储设备112可以包括由FPGA配置用于处理的配置文件。
计算机可执行代码118可由处理器114执行,以使处理器114以及因而便携式系统110执行本文描述的有关便携式系统的功能的任意组合。
硬件存储设备112包括其他代码或数据结构以及帧缓冲捕获部件122,其他代码或数据结构,例如文件子系统120。
如上所述,在各实施例中,便携式系统110包括例如处理或硬件部件的一个或多个致意媒体编解码部件,以及用在处理中的软件部件。软件媒体编解码部件由参考标号124表示。
同样如所述,帧缓冲可以是由帧缓冲捕获部件122捕获的传输视频源,例如是以数据内容包的形式。
文件子系统120可以包括第一级高速缓存,以及在一些实现方式中还包括第二级高速缓存。
在一些实施例中,硬件存储设备112包括动态编程语言125的代码,例如JavaScript、Java或C/C++编程语言。主机设备150包括相同的编程语言,在图1中由参考标号164表示。在一些实现方式中,主机设备150 的部件164包括例如上述媒体应用的应用框架,和/或用于管理主机设备 150上的媒体应用的操作的应用管理器。
编程语言代码可以定义便携式系统110和主机设备150之间的通信设置,例如便携式系统110和设备150通信所通过的一个或多个应用编程接口(API)的参数。
在一些实施例中,便携式系统110包括至少一个人机界面(HMI)部件126。对于界面部件126便于用户输入给处理器114以及从处理器114 输出给用户的实现方式,界面部件126可以被称为输入/输出(I/O)部件。例如,界面部件126可以包括或被连接到用于接收用户输入的传感器,以及包括或被连接到用于传送输出给用户的可视或可听指示器,例如发光数字显示器或音调产生器。
界面部件126被连接到处理器114,以将作为相应信号接收的用户输入传送给处理器。界面部件126被配置成以各种方式的任何一种来接收用户输入。在各实现方式中,界面部件126包括至少一个传感器,该传感器被配置为检测由例如触摸、可听声音或非触摸动作或手势所提供的用户输入。
触摸传感器界面部件可以包括机械致动器,用于将例如机械旋钮或按钮的活动部件的机械动作转换成电或数字信号。触摸传感器还包括触敏垫或屏,例如表面电容传感器。
为了检测手势,界面部件126可以包括或使用例如投射电容传感器、红外激光子系统、雷达子系统或摄像机子系统。
基于用户输入,界面部件126可以用于影响便携式系统110和主机设备150中的一者或二者的功能和设置或参数。与由界面部件126接收的输入相对应的信号或消息被传输到执行硬件存储设备112的代码(例如代码 118)的处理器114,处理器114设定或改变便携式系统110上的功能。接收的输入还可以触发通信的产生,例如用于主机设备150的指令或消息,并且将该通信发送到主机设备150,以设定或改变设备150的功能。
在一些实施例中,便携式系统110被配置为通过硬或有线连接129连接到主机设备150。在本文中这样的连接被非限制性地称为有线连接。所述连接可以包括部件连接线,例如描述的USB插头和端口布置。
在一些其他的实施例中,所述连接被配置有根据较高通量布置的连接,例如使用HDMI端口或VGA端口。
在一个特定的实施例中,便携式系统110被配置成为加密狗,例如通过具有数据通信插头128,用于连接到主机设备150匹配的数据通信端口 168,如图1所示。如所提供的,便携式系统110在一些实施例中是便携式大容量存储系统。在各种实施例中,便携式系统110被配置成运行多种类型计算机指令中的任何一个或多个,其可以用这些指令编程,用于动态操作和/或其可以接收这些指令,用于在系统110上进行动态处理。
一种示例性数据通信插头128是USB插头,用于连接到主机设备150 的USB端口。
在一些实施例中,便携式系统110被配置用于与主机设备150和/或便携系统110外部的一个系统132,诸如远程网络或数据库进行无线通信。一种无线输入或输入/输出(I/O)设备,例如,收发器或简单地是发射机,在图1中由标号130表示。与主机设备150和外部系统132的无线通信分别由标号131,133表示。
无线设备130可与各种网络中的任意一种进行通信,包括蜂窝通信网络、卫星网络和本地网络,例如,路边基础设施或其他本地无线收发器、信标或热点。无线设备130还可以与近场通信(NFC)设备进行通信,以支持诸如移动支付处理或通信建立/切换功能,或由NFC实现的任何其他使用案例。无线设备130可包括,例如,用于与蜂窝通信网络通信的无线调制解调器。
因此,远程系统132可以在各种实施例中包括任何蜂窝通信网络、路边基础设施或其他本地网络中的任意一种,用于到达目的地,如因特网和远程服务器。远程服务器可以是客户服务中心或系统的一部分或由该中心或系统运行,诸如系统(ONSTAR是密歇根州底特律的Onstar LLC 公式的一个注册商标)。
便携式系统110的其他特征和功能主要结合图2的算法在下文进行描述。
主机设备150,在一些实施例中,是更大的系统151,诸如汽车的一部分。
如图所示,主机设备150包括硬件存储设备152。硬件存储设备152 可以被称为其他术语,诸如存储器或计算机可读介质,并且可以包括,例如,易失性介质、非易失性介质、可移动介质和不可移动介质。术语硬件存储设备和变体,如在本说明书和权利要求书中使用的,是指有形或非暂时性计算机可读存储设备。部件在本文中主要被称为硬件存储设备152,或者就是简称为存储设备152。
在一些实施例中,存储介质包括易失性和/或非易失性、可移动和/或不可移动介质,诸如,例如,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、固态存储器或其他存储器技术、 CD-ROM、DVD、BLU-RAY,或其他光盘存储、磁带、磁盘存储或其他磁存储设备。
主机设备150还包括嵌入式计算机处理器154,其通过通信链路156 如计算机总线连接或可连接到存储设备152。
处理器154可被称为其他术语,如处理硬件单元、处理硬件设备、处理硬件系统、处理单元、处理设备等等。
处理器154可以是或包括多个处理器,其可以包括一台机器或多个机器内的分布式处理器或并行处理器。处理器154可以包括或者可以是多核单元,如多核数字信号处理器(DSP)单元或多核图形处理单元(GPU)。
处理器154可以用于支持虚拟处理环境。处理器154可以包括状态机、专用集成电路(ASIC)、可编程门阵列(PGA),PGA包括现场PGA(FPGA)、 DSP、GPU,或状态机。本文提及的执行代码或指令以执行操作、动作、任务、功能、步骤等等的处理器,可以包括处理设备154,其直接执行操作和/或促进、引导,或与其他设备或部件协作来执行操作。
硬件存储设备152包括计算机可执行指令或代码158。在各种实施例中,硬件存储设备152将所接收和/或产生并在处理中使用的数据中的至少一些,存储到对应于其中所存储代码的基于文件的构造中。例如,当使用 FPGA时,硬件存储设备112可以包括配置文件,被FPGA配置用于处理。
硬件存储设备152包括计算机可执行指令或代码158。计算机可执行代码158可由处理器154执行,以使处理器以及因而主机设备150执行本发明中描述的有关主机设备150的功能的任意组合。
主机设备150包括例如文件子系统160的其他代码或数据结构,例如 JavaScript、Java或C/C++编程语言的动态编程语言应用框架162。
文件子系统160可以包括第一级高速缓存和第二级高速缓存。在处理器154发行文件之前,文件子系统160可以用于存储媒体,例如视频或图像文件。
动态编程语言(例如JavaScript、Java或C/C++编程语言)应用框架 162可以是第二级高速缓存的部分。动态编程语言用于处理从便携式系统 110接收的图像数据。编程语言代码可以定义便携式系统110和主机设备 150之间通信的设置,例如一个或多个API的参数。
主机系统150包括或与一个或多个界面部件172通信,例如HMI部件。对于部件172便于用户输入给处理器154以及从处理器154输出给用户的实现方式,所述部件可以被称为输入/输出(I/O)部件。
对于输出,界面部件172可以包括显示屏174和诸如扬声器的音频输出,显示屏174可以仅仅被称为显示器或显示屏。在预期的实施例中,界面部件172包括用于提供触觉输出的部件,例如由用户(例如汽车驾驶员) 例如通过方向盘或车辆座椅感知的振动。
界面部件172被配置成以各种方式的任何一种接收用户输入。为了输入到主机设备150,界面部件172可以包括例如机械或机电传感器设备,该设备例如由标号174表示的触敏显示器、和/或音频设备176,音频设备 176例如诸如麦克风的音频传感器或诸如扬声器的音频输出。在各实现方式中,界面部件172包括至少一个传感器。所述传感器被配置为检测由例如可听见的触摸和/或用户非触摸动作提供的用户输入,非触摸动作例如手势。
触摸传感器界面部件可以包括机械致动器,用于将例如机械按钮的活动部件的机械动作转换成电或数字信号。触摸传感器还可以包括触敏垫或屏,例如表面电容传感器。为了检测手势,例如,界面部件172可以使用投射电容传感器、红外激光子系统、雷达子系统或摄像机子系统。
基于用户输入,界面部件172可以用于改变便携式系统110和主机设备150中的一者或二者的功能和设置或参数。与由界面部件172接收的输入相对应的信号被传送到执行存储设备152的代码的处理器154,处理器 154设定或改变主机设备150上的功能,或者为便携式系统110产生通信,例如指令或消息,并且发送该通信到便携式系统110,以设定或改变便携式系统110的功能。
在一些实施例中,主机设备150被配置为通过所述有线连接129连接到便携式系统110。在特定实施例中,主机设备150被配置有或连接到数据通信端口168,数据通信端口168与便携式系统110的数据通信插头128 匹配,以通过有线连接129通信。提供的插头/端口布置的实例是所述的 USB布置。
在一些其他的实施例中,如所提供的,所述连接被配置有根据较高通量布置的连接,例如使用HDMI端口或VGA端口。
在一些实施例中,主机设备150被配置用于与便携式系统110进行无线通信131。无线输入或输入/输出(I/O)设备-例如收发机-在图1中由标号170表示。执行存储设备152的代码的处理器154可以通过分别由标号 131、171表示的无线输入或I/O设备170,向便携式系统110和远程系统 132无线发送信息以及从便携式系统110和远程系统132无线接收信息,所述信息例如是消息或数据包。
下面主要结合图3的算法来描述主机设备150的其他特征和功能。
II.图2-5一算法和功能
现在更详细地描述实现本技术所通过的算法。所述算法由被布置作为图2和3中的方法200、300的流程图概述。
图2示出了图1的便携式系统110中的编程算法的操作。图3示出了图1的主机设备150中的编程算法的操作。图4示意性地示出了所述便携式系统110和所述主机设备140的各个文件子系统120,160之间的圆形循环帧缓冲布置400。并且图5以强调所述布置的圆形特征的方式示出了图 4布置的另一种替代性视图。
应当理解的是方法200,300的操作不一定需要以特定顺序呈现,部分或全部操作以另一种替代顺序进行是可能的,也是可预期的。
为了便于描述和例示,已经示出了以示例顺序进行的操作。在不脱离所附权利要求的范围折情况下,可以增加、省去和/或同时进行这些操作。
应当理解的是所示出的算法200,300可以在任何时候停止。在某些实施例中,这个过程的部分或所有操作,和/或基本上相当的操作通过本文提供的所述存储设备112,152的计算机可执行代码的处理器114,154执行。
II.A.便携式系统操作-图2和4
图2的算法200主要在图1的便携式系统110的角度来描述。
所述算法200开始于201,流程前进至第一操作202,此时所述便携式系统110,即其执行存储于所述系统存储器112的代码的处理器114,被布置成与所述主机设备150通信。与所述主机设备150连接可以包括通过导线129(例如,插头/端口和导线)连接,如上结合图1的布置100所述。实施例主机设备150包括诸如汽车等交通工具的头部单元或车载电脑。
在某些实施例中,所述便携式系统110配置成通过由图1中附图标号 129及图2中附图标号203所标识的导线连接到所述主机设备150。下面结合图3,特别是图3的框302进一步描述用于相互作用202的所述主机设备150的相应活动。
图4示出了所述便携式系统110和所述主机设备150的各个文件子系统120,160的各个方面。
在一个具体实施例中,所述便携式系统110通过具有数据-通信插头 128,例如USB插头配置成加密狗,用于连接到所述主机设备150的匹配端口168。为了实现所述便携式系统110和所述主机设备150之间的通信,每个在各自存储设备112,512中可以包括连接类型可操作的协议。USB 插头/端口实施例中,所述协议可以是USB容量存储设备类(MSC)计算协议。也可以支持其他更先进的USB或其他包括媒体传输协议(MTP) 在内的协议。
在某些实施例中,所述便携式系统110配置成通过由图1中附图标号 131及图2中附图标号203所标识的有线连接到所述主机设备150。
与所述主机设备150通信连接的所述便携式系统110与所述主机设备 150进行握手操作,其也可被视为由图2中附图标号203所标识。
操作202建立通道,通过所述通道诸如消息或指令等数据和通信可以在所述便携式系统110和所述主机设备150之间共享。
对于其中两个设备都包括诸如JavaScript等动态编程语言的实施例,所述操作202可以包括所述便携式系统110和所述主机设备150之间使用所述动态编程语言的握手例程。
流程前进到框204,此时所述处理器114借助例如无线通信部件130 从诸如远程视频源等源接收源媒体文件,例如流视频。所述远程源可以包括客户-服务器中心或系统的服务器,例如系统的服务器。
参考图4,数据内容是从诸如帧缓冲器411等源接收到的。
在各种实施例中,所提到的源媒体文件是虚拟文件,例如以链路或指针为形式的虚拟文件,所述链路或指针链接到包含具体的对应媒体文件或具体的媒体文件的子集的存储器位置。
虽然可以采用技术来实时传输和显示渲染,例如用于显示的渲染或显示目的,各种类型的媒体文件,包括那些具有或不具有视频,和具有或不具有音频的媒体文件在内,本文主要描述的文件类型是表示图形输出的视频文件,或作为显示屏上相应的图形显示输出的数据,在各种实施例中,均包括和不包括音频。本发明所提及流视频、视频文件等应考虑到也指包括各种可能的媒体文件类型的相似实施例。
所述操作可以包括整个地或者同时或随时间单独部分地,接收媒体,例如文件。
在预期实施例中,视频文件从本地源接收,所述本地源例如虚拟视频文件,所述虚拟视频文件被链接到帧缓冲器或在系统-例如系统存储器-中与显示屏关联。在实施例中,主视频源,如果不是唯一的,是帧缓冲器。
本地源可以包括例如智能手机,或从远程源接收视频文件并传送到便携式系统110上或者具有存储在本地源上的视频的其他移动设备。从本地源到便携式系统110的传输可以通过有线或无线。
在各实施例中,视频流具有任意一种格式,仅作为实例,例如.mpeg、.wmv、或.avi。
流程进行到框206,这里处理器114将源视频流或其他可视媒体文件分割成多个索引图像分量-例如顺序排列图像分量。在各实施例中,例如图像分量具有任意一种格式,例如.jpeg格式。
虽然对于各实现方式图像分量是相同大小的,但在其他实现方式中,每个图像分量不是相同大小。
如上所述,在一些实施例中,便携式系统110在硬件存储设备112中具有动态编程语言125的代码,例如JavaScript、Java或C/C++编程语言。所述语言可以用在系统110的操作中,包括图像处理操作,例如将视频流- 例如视频文件-分割成顺序图像分量的当前功能。
图像分量合起来可以被称为数据内容包。
图像分量的数量(N)可以是很宽范围内的任意一个。仅仅作为实例,数量(N)可以在大约2500到大约3500的范围内。在预期实施例中,数量(N)小于2500或大于3500。
在各实施例中,在框208,处理器114将数据内容包412(图4、5) 存储到便携式系统110的存储器112的一部分,例如存储到在图5中由标号412表示的循环缓冲器。在这种情况下,帧缓冲器122可以更多地充当本地内容源,而不是目的地。
再转到图4,其中数据内容由参考标号412表示,并且构成的图像分量由标号4131-413N表示。包412被存储在便携式系统110的第一级高速缓存中。图5示出了不同格式的与图4的布置相同的布置,强调该布置的循环文件方面。
在预期实施例中,处理器114在框208处将数据内容包412(图4、5) 存储到帧缓冲器、或在图1中由标号122表示的帧缓冲器捕获部件。在这种替代情况下,在数据被进一步处理并传输到主机设备之前,帧缓冲器122 更多地充当缓冲器或本地目的地。
在框210,处理器114产生包括多个元索引分量4151-415N的元索引包414(图4和5)。每个元索引分量415对应于图像分量413中的相应的一个。每个元索引分量415被配置为提及或指向它的对应的图像分量413。第一元索引分量4151表示或指向第一图像分量4131,第二元索引分量4152表示第二图像分量4132,等等。因而,元索引分量415的数量(N)与图像分量413一样。
元索引分量415可以与目录条目结构相同或相似,例如文件分配表 (FAT)系统的目录条目结构。
在框212,处理器114在便携式系统110处存储元索引414。元索引 414也被存储在便携式系统110的第一级高速缓存中。
如上所述的,方法200的操作可以按任意顺序执行,并且操作可以被组合成单个步骤,或分成多个步骤。例如,有关产生操作206、210以及存储操作208、212,产生操作和/或存储可以在各自的单个步骤中执行。例如,便携式系统110可以在单个操作中将数据内容包412和元索引包414 存储到硬件存储设备112。并且包412、414可以是相同包、流或文件的部分,或者被单独地存储或传输到主机设备150。
在一些实施例中,操作包括由图2中的附图标号213和图3中的附图标号307表示的一个或多个实时调节功能。在框213处的操作中,执行系统代码的处理器114在主机系统处实时调节或操纵数据内容包与元索引包之间的链接关系。除便携式系统110在框213处的这种调节之外或代替这种调节的是,主机设备150可在框307处执行类似实时调节。
作为可包括何种调节功能的实例,调节可改变与特定元索引相关联的特定图像内容。为了确定如何调节链接,处理器114可使用其本地时钟以及视频流的物理地址的本地副本作为输入。通过这样做,例如由USB大容量存储协议代表的静态内容变为动态的,且实现通过USB大容量存储协议的实时视频串流。此操纵的优势包括在无需高级类别的USB设备的情况下呈现动态屏幕输出。程序因此可以具有基本USB大容量存储能力的更广泛范围的设备来应用。
在框214处,处理器114将数据内容包412和对应的元索引包414发送至主机设备150。传输是由图2中的附图标号215表示。下文结合图3 并且尤其在此处的框304处进一步描述主机设备的对应活动。
数据内容包412和对应的元索引包414可在单次通信或传输中发送或由一次以上通信或传输而发送。所述机制在本文有时候称为分组、流、文件等,但是其也可以包括一个以上分组等。
在一个实施例中,每个图像分量/元索引分量对是由处理器114个别地在不同的传输中发送至主机设备150,而非在分组412、414中与其他图像分量/元索引分量对一起发送。例如,此实施例可称为单图像文件布置或管理。
在预期实施例中,便携式系统110被配置成实时确定使用哪个循环文件布置和单文件布置。此类型的确定可由任何不同的术语(诸如动态、实时或自适应-例如,帧缓冲算法或技术之间的动态选择)表示。用于确定的变量可包括(例如)被接收用于处理(例如,分割、存储和发送)的媒体 -例如,视频-的一个或多个特性。变量还可包括在主机设备150处运行以发布所得视频的相关应用程序的识别、应用程序所属的种类、应用程序的类型等。
涉及每次的数据内容的一个或多个分量以及元索引的一个或多个对应分量的传输的这些布置(包括循环文件和单文件布置)可称为多层布置,所述元索引特征是对应于图像数据特征的第二层的第一层。
分组被配置并且被发送至主机设备150用于根据元索引包的顺序相继地发布图像分量。主机设备150发布图像分量以通过主机设备150和显示设备174显示呈现对应于原始源视频流的串流视频。
高效且有效类型的同步(无需同步时钟)是由发送按顺序对应于数据内容包412的图像分量413的元索引分量415的元索引414用于根据索引分量415相继地显示图像分量413的呈现的此布置而提供。
每个图像分量的处理或读取是通过首先读取对应的元索引分量而触发。每个下一个索引分量(例如,4152)是继处理先前图像分量(例如, 4131)之后读取并且指导处理器154读取其对应的图像分量(例如,4132)。同步可称为基于事件的同步,借此图像分量将均不会被无序地处理。基于事件的同步消除了对昂贵时钟或时间同步分量的需要。
同步还可称为分布式设备同步,因为其涉及一起工作的两个设备的功能:根据本技术的索引/数据包在便携式系统110处的生成和发送,以及主机设备150处的包的接收和有序显示呈现。
过程200或其部分可以重复,例如与具有新的流或与新的视频相关联的文件,或者与用于生成第一图像分量和元索引分量的同一视频的随后部分连接。随后的操作将包括制备第二数据内容包并以第一包提供的方法对应第二元索引包。
如上所述,便携式系统110和主机设备150还可以配置用于同时双向通信。双向通信可以在一些执行过程中同时进行。正如所提供的,在各种实施例中,根据时分多址信道接入方法配置可设置以便于通信。
每个便携式系统110和主机设备150也可配置用于复用、反向复用和等等,以促进它们之间高效和有效的传输及相对高通量数据的实时显示。
先前的操作214的传输215可被认为是通过将数据从便携式系统110 发送到主机设备150的双向布置的第一、或前部、信道的方式进行。
在操作216中,便携式系统110产生、识别(例如,检索)、接收或以其他方式获得指令或信息,例如用于改变设置或功能的命令或请求。用于调节便携式系统110的设置或功能的指令,处理器114执行指令。用于调节主机设备150的设置和功能的指令,处理器114发送指令或信息至主机设备150上。图2中的参考标号216表示操作,参考标号217表示通信信道和通信。
在实施例中,主机设备150的处理硬件设备154,执行,例如动态编程语言164还获取用户输入,以机器的用户界面172接收例如,触摸、手势和语音,并将它们转换的数据流-例如,字节流-然后通过连接129或131,例如将其发送到便携式系统110。
在各种实施例中,处理器114接收,例如,以无线通信130、通信的方式,例如来自主机设备150的指令或信息。图2中的参考标号216表示操作,参考标号217表示通信信道和通信。传输217是以第二或双向布置的反向信道传输数据的例子。反向信道通信可,但并不是在每个执行过程中,由用户输入开始接到便携式系统110。
来自主机设备150的通信217可以采取任何的各种形式,例如配置为表示函数、参数或便携式系统110的设置。通信217可表示通过方式建立函数、参数或便携系统110的设置,或以改变先前在便携式系统110的建立。
在各种实施例中,便携式系统110可通过例如设置或用户偏好而变得人性化。这些可通过多种方法中任意一种被编程到便携式系统110,包括通过主机设备150的方式、个人计算机(未示出)、移动电话,或等等。在一些实施例中,在实行任何个性化之前提供默认设置或偏好。个性化的设置或偏好可包括任何本文所述的那些,如由输入的视频进行处理的方式 -例如,一个大小相等大小的图像片段中,读取或写入的速度或质量,这会影响其他过程(例如,使得互联网协议电话制作可用带宽),或视频观看体验,如主机设备150的回放质量。
当设置可以采取不脱离本发明的技术的范围的其他形式,一个实施例中的设置从包括图像分量的质量和再现设定的组中选择。示例的图像质量特性包括变焦、亮度或对比度的水平。
回放特征可以是这样的特征,其影响速度或通过呈现正在播放的视频显示,或是否正被播放。回放特征可包括,例如,快进、后退、暂停、停止、播放或视频播放速率。在各种实施例中,回放功能影响由该数据内容包通过便携式系统110传送到主机设备150的方式。
在框218,用户输入通过一个或多个用户输入,或I/O接口126的方式在便携式系统110的处理器114接收。(图1)如所提到的,在一些实施例中,便携式系统110包括至少一个集线器管理界面部件126,诸如按钮、旋钮、触摸感应垫(例如,电容性垫)或麦克风,配置为通过触摸,声音设置,和/或通过非触摸运动,例如手势,检测用户输入。
界面部件126可基于用户输入用来影响便携式系统110和主机设备 150中一者或二者的此类功能和设置或参数。
因此,执行硬件存储设备112的代码的处理器114可以产生或识别至少一个指令或消息。指令可以采取多种形式中的任一个,例如通过配置为指示便携式系统110的功能、参数或设置,或者指示主机设备150的功能、参数或设置。指令可以进一步指示方式,通过此方式以建立便携式系统110 的功能、参数或设置,或者改变先前建立的此类功能、参数或设置。
图2中的程序200可以结束219或者该程序的任何部分可以重复。
II.B.主机设备系统操作-图3和4
图3的算法300主要从图1中的主机系统或设备150的角度来描述。正如所提供的,举例来说,设备150可以包括或为头部单元的一部分、或者交通工具(例如汽车)的车载计算机。
主机设备150可以有线或无线地连接至便携式系统110。
该算法300开始于301且流程前进到第一操作302,在那里,主机设备150-即,其处理器154(执行在设备存储系统152中所存储的代码)- 设置成与便携式系统110通信。与便携式系统110相连可以包括通过所示出的有线或无线连接129、131来连接。
框302的连接可以包括在主机设备150和便携式系统110之间的握手程序,其还可以通常被视为由图2和3中的附图标号203指定。在操作302 处的程序建立了通道,通过此通道数据和通信(例如信息或指令)可以在便携式系统110和主机设备150之间进行分享。
在实施例中,握手程序期间,元索引分量415也可基于诸如USB大容量存储设备协议来交换。
对于其中设备均包括动态编程语言(诸如JavaScript、Java或C/C++ 编程语言)的实施例,操作302可以使用动态编程语言来包括在便携式系统110和主机设备150之间的握手路线。
流程进行到框304,在那里,处理器154从便携式系统110中接收数据内容包412以及相对应的在图4和5中所示的元索引包414。与图2中相关的便携式系统操作214相关联的传输在上文中被引用,并以附图标号 215标注。
通信的接收304可沿着所提及到的双向或布置的向前通道制成,通过其通信可以在便携式系统110和主机设备150之间的二者方向中发送,其同时包括在一些实施例中。
正如所提及的,数据内容包412和相应的元索引包414可以在单一通信或传输中或者多于一个通信或传输中发送。在这里有时可以将机制称为分组,即使其可以包括多于一个分组、流或文件。
在一个实施例中,如上关于图2中所提及的,每个图像分量/元索引分量对在处理器154处以单独的传输方式从便携式系统110中独自地被接收,而不是以具有其他的图像分量/元索引分量对的分组方式。这个实施例通过示例可以被称为单个图像文件布置或管理。
同样地,布置(其每次涉及数据内容(412)的一个或多个分量(例如,分量413)和元索引(414)的一个或多个相应的分量(例如,分量 415)的转移)可以被称为多层次的布置,其中元索引特征为第一层,对应于图像数据特征为第二层。
转移可以通过有线连接或无线连接来执行,其图示地由在图1中的附图标号129和131、以及在图4和5中的附图标号416来指示。
在框306处,处理器154在主机设备150处将所接收的数据内容包412 和索引包414存储到存储器152的一部分,例如在与动态编程语言(例如, JavaScript、Java或者C/C++编程语言)应用程序架构162相关联的存储器 152中。数据内容包412,其组成部件为数据片段-例如图像分量413,和索引包414,以及其构成的索引分量415在图4中分别地通过附图标号452、 453、454、和455引用以指示数据的新位置(文件子系统160),然而指向文件子系统160的内容和索引可以和从文件子系统120接收的内容和索引是相同的。
包括动态编程语言应用程序架构(例如JavaScript、Java或者C/C++ 编程语言)的存储部件(在图1中被引用为162)由图4中的第二级高速缓存456来指示。
继续引用多层次构造,存储306可以包括保存数据内容包412和元索引包414到存储器152的第一级高速缓存,如文件子系统160的第一级高速缓存。
如所提供的,在一些实施例中,操作包括一个或多个实时调节功能,由图3中的附图标记307和图2中的附图标记213来表示。在框213的操作中,执行系统代码的处理器114实时调节或操纵主机系统中数据内容包与元索引包之间的链接关系。主机设备150可以除了或代替便携式系统110 的这种调节,在框307执行类似的实时调节。框307的功能可以类似于上文结合框213所描述的那些功能。
如所提供的,方法300的操作可以按任何顺序执行,并且操作可以被组合到单个步骤中,或分割成多个步骤。例如,对于存储操作306来说,存储可以在对应于每个包(数据和索引)的一个或相应的多个单独步骤中执行。例如,主机设备150可以在一个单独的操作中存储数据内容包452 和元索引包454到存储设备152。包452,454可以是同一数据包、流或文件的一部分,或者单独地由便携式系统110传输到主机设备150。
流程进行到框308,在这里,处理器154发布用于通信给用户例如交通工具乘客所接收的数据包412的媒体,作为与源视频文件匹配的视频或由便携式系统110接收的虚拟化源视频(操作204)。
如所提到的,在一些实施例中,主机设备150已经在其存储设备152 中存储了动态编程语言164的代码,如JavaScript、Java或C/C++编程语言。一些具体实施中的语言包括便于实现主机设备150的图像处理功能的应用程序框架。编程语言代码可以限定用于便携式系统110和主机设备150之间通信的设置,诸如一个或多个API的参数,和/或图像文件在主机设备 150上处理的方式,以显示呈现所得的用于发布给用户的视频。
如所提供的,在实施例中,执行动态编程语言164的处理硬件设备154,还接收来自执行存储在那里的动态编程语言125的便携式处理器114发送的用户输入数据。
语言可以用在主机设备150的操作中,包括图像处理操作,例如,读取和显示呈现。
在操作308发布视频包括根据相应元索引包454的元索引分量4551-N的顺序呈现图像分量4531-N的数据。
接下来,在实施例中,操作包括:
一流到便携式系统110的数据,例如视频流,被从帧缓冲区411接收到便携式系统110;
-对应于接收到的视频流的图像分量4131-N在便携式系统被写入到便携式文件子系统120中,得到数据内容包412,图像分量根据元索引包414 的相应指针(写入指针Pw,也可以称为P1)被写入;
-索引分量415在便携式系统被写入到便携式文件子系统120,以包括指向各个数据分量413的指针,产生元索引包414;
-数据内容包和元索引包412,414传输到主机设备150上的主机设备文件子系统160,产生分别由图像分量453和索引分量455组成的数据内容与索引包452,454;以及
-图像分量453根据相应索引454中相应的指针(读取指针PR,也可以称为P2)被一次一个地连续读取。
这些功能可以以循环方式进行。本技术的配置可确保写入指针(Pw,或P1)总是领先一步读取指针(PR,或P2)-即,确保P1总是等于P2-1。
如果P1>P2,则主机设备上(由那里的索引454)读取的图像将是无效的,如果P1=P2,将有读写冲突,而如果P1<P2(如P1<<P2),视频流中将具有很大的延迟。
为了实现所述的读写构造(P1=P2-1),常规系统需要相对昂贵的相应软件,用于在主机设备和便携式系统之间的细微定时同步。两个仪器(主机设备和便携式系统)的时钟之间的任何频率偏移量会累积,直到P2-P1的不等于1。本技术的事件驱动的配置以一个有效得多的方式实现所期望的结果。
正如所给出的,这种布置-包括接收与用于顺序显示呈现的图像分量相对应的元索引分量的元索引-提供了一种有效且高效的同步形式,而不需要昂贵的时钟同步。可以通过读取相应的索引分量415引发对每个图像分量 413的处理。每个下一索引分量(如,4152)在前一个图像分量(如,4131) 进行处理之后进行读取,并且指向处理器154以读取其相应的图像分量 (如,4132)。这种同步可被称为基于事件的同步,从而没有任何一个图像分量会无序地进行处理。这种基于事件的同步避免了对时间或时钟同步部件的需要。
所得的视频通过有线或无线的方式传输到诸如显示屏或屏幕174,和诸如车辆的包围系统151的信息娱乐设备的屏幕输出端172。该传输在图 3中用标记309表示。
在框310中,主机设备150产生、识别(如,检索)、接收或以其他方式获得诸如改变设定或功能的命令或请求的指令或信息。关于调整主机设备150的设定或功能的指令,处理器154执行该指令。关于调整便携式系统110的设置或功能的指令,处理器154将该指令或消息发送到便携式系统110,如路径217所示。
在一个实施方案中,除那些传送数据内容包412和相应的元索引包414 之外,便携式系统110和主机设备150之间共享至少一个通信。
在各种实施例中,处理器154从主机设备150将一个诸如指令或消息的通信发送到便携式系统110。这些潜在的传输在图2和图3中用附图标记217表示。
对于允许双向通信的实施例,由便携式系统110所发送的通信或数据 (如,图像/索引包)沿该连接的前向信道传输到主机设备150,并且由处理器154发送便携式系统110的通信沿返回信道进行传输。
从便携式系统110到主机设备150的通信217可采用诸如通过配置为指示主机设备150的功能、参数或设定的各种方式。通信217可进一步指示在主机设备150上建立功能、参数或设定,或改变先前已在主机设备150 上建立的功能、参数或设定的方式。
虽然该设定可在不背离本技术范围的情况下采取其他形式,但在一个实施例中,该设定选自由图像分量的质量和回放设定构成的组。示例性图像质量特性包括缩放、亮度或对比度的水平。回放特性可以是影响速度或方向的特征,通过该特征,所呈现的视频显示屏可正在被播放,或是否在播放。例如,回放特性可包括快进、倒带、暂停、停止、播放或视频播放的速率。
从主机设备150到便携式系统110的通信217的产生可由用户对输入设备的输入而引发。例如,该输入可包括触摸输入到触摸敏感屏174,和/ 或音频输入到例如车用麦克风176。
从主机设备150到便携式系统110的通信217可采用诸如通过配置为指示便携式系统110的功能、参数或设定的各种方式。通信217可进一步指示在便携式系统110上建立功能、参数或设定,或改变先前已在主机设备150上建立的功能、参数或设定的方式。
虽然受来自主机设备150的通信217影响的在便携式系统110上的设定可在不背离本技术范围的情况下采取其他形式,但通信217在一个实施例中配置为影响便携式系统110执行上述任何操作的方式,该方式诸如便携式系统110将源视频流划分为图像分量413,或产生元索引包414的方式。
该进程300可结束313,或者313的任何部分都可重复,如与新的视频或媒体连接,或将同一视频的后续部分用于在便携式系统110上产生第一图像分量413和索引分量415。
III.图6和图7
图6示出了时间图600,时间图600包括指示基于事件的定时的时间线602,通过时间线602可写入和读取循环文件(如,每一对数据内容包 412/相应的元索引包414)。图7示出了相应的图表700,图表700指示在下一个文件被写入前的时间内,读取的连续的循环文件的量。
图6和7的教导内容一起示出了一种不使用昂贵的时钟同步设备,传输循环文件412和以事件为基础同步该文件读取的方式。
图表600示出了,位于线602上方的便携式系统110的函数,由括号 604括出,以及位于线602下方的主机设备(例如,车头单元)的函数150,由括号606括出。
在主机设备节段606,图表600示出多个循环文件读取开始点608, 610,612,614,主机设备150从这些点开始读取相应的循环文件。因此,各个开始点之间是相应的循环文件读取,如列出的最后两个开始点612, 614之间由括号616所指示的读取。
在各种实施例中,控制着何时写入循环文件的至少一种算法根据紧接在前面的循环文件的读取状态控制着写入。在其中一个实施例中,算法提供第一个‘for,’线程:
对于各个T2来说(图6中618):
如果主机设备150发送一个数据读取请求(例如,USB包)到便携式系统110,则U=C0
否则(例如,读取没有发生),则U=U-1(即,U减1)。
[线程1]
并提供相应的第二个‘while,’线程:
在真实的情形下:
捕获帧(例如,图像分量);以及
当1/4C0<U<3/4C0时,写入循环文件,
[线程2]
其中,C0表示在被主机设备150读出之前的初始完整的循环文件412。当循环文件412的四分之一已经在主机设备150被读取,则在该点剩余的循环文件412的量是3/4C0,等等。
所示出的部分仅仅是样本值。这些部分可以具有大于0小于1的其他值。在实践中,这些值可以以其他方式被用户,如工程师设置。可以用一个校准过程进行设置,例如,对构造100或其部件进行的测试或实际操作的反馈进行处理,用于设定值中的一个或多个。
第一个线程[线程1]的第一条件(if)例程可以是读取循环文件的主机设备150的一部分,其中该设备150从,如USB大容量存储设备形式的便携式系统110中,读出数据,例如,发送数据包,如USB包来启动读取。通过从主机设备150接收请求,便携式系统110确定读取已经发生或正在发生,从而可以确定文件的一个读取时间。
在图表 700沿x轴示出了时间轴702,沿y轴示出了循环文件(图4和 5中412)的未读部分的量,其可以称为U。图表 700列出五(5)个主要的 U值:
(1)最低值,U=0,位于x轴;
(2)最高值706,位于y轴704,或U=C0
(3)四分之三值708,或U=3/4C0
(4)半值710,或U=1/2C0);以及
(5)四分之一值712,或U=1/4C0
所示出的部分仅仅是样本值。这些部分可以具有大于0小于1的其他值。在实践中,这些值可以以其他方式被用户,如工程师设置。可以用一个校准过程进行设置,例如,对构造100或其部件进行的测试或实际操作的反馈进行处理,用于设定值中的一个或多个。
线701示出了循环文件在相邻循环文件的主机设备150上读取后剩下的量。每个循环文件的完整内容都有一个初始最大值,该最大值即是线701 在每个节段的起始点,对应于最高U值706,或Co相应的循环文件读取。当各循环文件被读取时,未读值或U值,随时间的推移减少,如针对每次读取线701的下降部分所示的。
在所示的例子中,线701不是完全对称的(例如,其在一点下降到x 轴下方)。这是因为连续读取之间的时间间隔(图6中以标号616表示) 可随时间而改变。这主要是由于可编程语言,如JavaScript的非实时性造成的。这个特性增加了便携式系统110与主机设备150的时钟之间的相偏移。在任何一个分布式系统中还有固有的频率偏移。微小的频率和相位偏移都由算法负责或吸收而被本技术所容许,参见,例如,上述第一个线程 [线程1]的运行。
根据上文结合图6描述的线程[线程1]、[线程2]-写入新的循环文件- 例如,在便携式系统110处产生所述循环文件并且将其发送至主机设备 150。因此,当紧接着的前一个循环文件已被读取一半710时写入新的循环文件-在一个实施例中,当循环文件的未读部分(或已读部分)是在原始总循环文件(C0)的四分之三708与四分之一712之间时发生下一个循环文件的写入。
以此方式,每次发送一个循环文件,且当主机设备150完成读取紧接着的前一个循环文件时在主机设备处接收下一个循环文件。且可在读取紧接着的前一个循环文件412F-1的最后图像分量(例如,413N)不久之后可开始于下一个循环文件412F的第一图像分量(例如,4131)而读取下一个循环文件。
V.本技术的选择优势
上文描述了本技术的许多优势和优点。本章节重述某些这样的优势和优点并且引用某些其他的优势和优点。优势是通过举例方式提供并且并不详尽地说明本技术的优势。
所述技术允许以有效且同步方式传输并且实时地显示已连接设备之间的视频数据,而无需昂贵的时间同步实践。同步是基于事件,而非基于同步时序。
所述系统和算法可用来通过相对较低传输速率连接(诸如USB连接) 传送高速视频流。
本技术以至少这样的方式解决了对从诸如远程服务器的来源至诸如汽车头部单元的目的地主机设备的高通量媒体的实时传输和显示的现有挑战,而主机设备处不需要昂贵的时间同步软件或硬件且不需要相对较为昂贵的高端无线通信和图形处理硬件。
便携式系统允许视频数据在预存主机设备(诸如遗留或非道路车辆- 例如,市场上已经存在的车辆)中的现有汽车车载计算机处进行串流。
作为另一优势,可使用大部分或完全包括易于获得并且成本相对较低的部分的便携式系统来进一步提供能力。
VI.总结
本文公开了本发明的各个实施例。所公开实施例仅仅是可以各种和替代形式以及其组合体现的实例。
上述实施例仅仅是为了清楚地理解本发明的原理而陈述的实施方案的示例性说明。可以对上述实施例进行变型、修改和结合,而不脱离本权利要求书的范围。本文通过本发明的范围和下列权利要求书包括了所有这些变型、修改和结合。

Claims (8)

1.一种实现实时视频串流的基于事件的同步的便携式系统,其包括:
处理硬件单元;以及
非暂时性存储设备,其包括计算机可执行代码,所述计算机可执行代码在由所述处理硬件单元执行时使所述处理硬件单元执行包括以下项的操作:
从视频源接收源视频文件或虚拟化源视频;
将所述源视频文件或虚拟化源视频划分为多个图像分量,从而产生包括大小相等的图像分量的数据内容包;
产生包括多个索引分量的元索引包,每个索引分量对应于所述大小相等的图像分量中的相应图像分量;以及
将所述数据内容包和所述元索引包发送至主机设备以根据所述元索引包的顺序相继地公开所述图像分量,以由所述主机设备和显示部件实时地显示对应于所述源视频文件或虚拟化源视频的串流视频的渲染,
针对连续数据内容包和元索引包对根据写入时序算法而迭代执行,在确定何时写入和发送新的数据内容包和所述元索引包时,所述写入时序算法包括所述主机设备处读取的紧接着的前一个数据内容包的量,作为变量,
由于C0指示所述紧接着的前一个数据内容包当其在所述主机设备处被读取之前的量,所述写入时序算法被表示如下:
(a)如果所述紧接着的前一个数据内容包在所述主机设备处被读取,那么未读部分变量U是C0
(b)否则,U=U-1;并且
(c)重复(a)和(b)直到(F1)C0<U<(F2)C0为止,并且此时写入新的数据内容包和所述元索引包;
F1是大于0并且小于1的第一分数;并且
F2是大于F1并且小于1的第二分数。
2.根据权利要求1所述的便携式系统,其中,所述操作进一步包括:
接收由所述主机设备发送的指令;以及
根据所述指令来改变在所述便携式系统处的设置。
3.根据权利要求1所述的便携式系统,进一步包括连接至所述处理硬件单元的人机界面,其中,所述操作进一步包括:
通过所述人机界面来接收用户输入信号;以及
基于所述用户输入信号来执行至少一个系统编程程序,所述至少一个系统编程程序选自由以下项组成的组:
建立设置并且将所述设置存储至所述非暂时性存储设备;以及
改变先前存储在所述便携式系统处的设置。
4.根据权利要求1所述的便携式系统,其中:
所述主机设备是汽车的包括USB端口的一部分;
所述便携式系统包括用于与所述汽车配合的对应USB插头;以及
所述计算机可执行代码包括USB大容量存储设备类计算协议,所述USB大容量存储设备类计算协议用于在向也具有所述USB大容量存储设备类计算协议的所述便携式系统发送所述数据内容包和所述元索引包中使用。
5.一种针对实时视频流使能基于事件的同步的主机系统,包括:
处理硬件单元;以及
非暂时性存储设备,所述非暂时性存储设备包括计算机可执行代码,当通过所述处理硬件单元执行时,使所述处理硬件单元执行以下操作,包括:
从便携式系统接收包括大小相等的图像分量的数据内容包,所述大小相等的图像分量基于源视频文件或者虚拟化源视频在所述便携式系统处产生;
从所述便携式系统接收元索引包,所述元索引包包括多个索引分量,每个索引分量对应于所述大小相等的图像分量的相应一个图像分量;以及
根据所述索引分量的顺序向与所述处理硬件单元通信的显示部件顺序地实时公开所述图像分量,以便显示与所述源视频文件或者虚拟化源视频相对应的渲染流视频,
针对连续数据内容包和元索引包对根据写入时序算法而迭代执行,在确定何时写入和发送新的数据内容包和所述元索引包时,所述写入时序算法包括主机设备处读取的紧接着的前一个数据内容包的量,作为变量,
由于C0指示所述紧接着的前一个数据内容包当其在所述主机设备处被读取之前的量,所述写入时序算法被表示如下:
(a)如果所述紧接着的前一个数据内容包在所述主机设备处被读取,那么未读部分变量U是C0
(b)否则,U=U-1;并且
(c)重复(a)和(b)直到(F1)C0<U<(F2)C0为止,并且此时写入新的数据内容包和所述元索引包;
F1是大于0并且小于1的第一分数;并且
F2是大于F1并且小于1的第二分数。
6.根据权利要求5所述的主机系统,进一步包括或者通信连接至人机界面,所述人机界面连接至所述处理硬件单元,其中所述操作进一步包括:
通过所述人机界面来接收用户输入信号;以及
响应于所述用户输入信号,向所述便携式系统发送指令。
7.根据权利要求6所述的主机系统,其中,发送的所述指令配置成在所述便携式系统处发起功能,所述功能选自由以下项组成的组:
建立用户个性化设置并且将所述用户个性化设置存储至所述便携式系统;
改变存储在所述便携式系统处的用户个性化设置;以及
改变所述便携式系统的功能特性。
8.根据权利要求7所述的主机系统,其中,所述功能特性选自由多个所述图像分量和回放特征组成的组,所述回放特征影响将所述数据内容包传输至所述主机系统的方式。
CN201610542742.6A 2015-07-24 2016-07-11 实现实时视频串流的基于事件的同步的便携式系统 Active CN106375819B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/808166 2015-07-24
US14/808,166 US9877064B2 (en) 2015-07-24 2015-07-24 Systems and methods for efficient event-based synchronization in media file transfer and real-time display rendering between a peripheral system and a host device

Publications (2)

Publication Number Publication Date
CN106375819A CN106375819A (zh) 2017-02-01
CN106375819B true CN106375819B (zh) 2019-10-25

Family

ID=57738959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610542742.6A Active CN106375819B (zh) 2015-07-24 2016-07-11 实现实时视频串流的基于事件的同步的便携式系统

Country Status (3)

Country Link
US (1) US9877064B2 (zh)
CN (1) CN106375819B (zh)
DE (1) DE102016113431B4 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635724B2 (en) * 2015-01-30 2020-04-28 International Business Machines Corporation Analysis of data utilization
US10430665B2 (en) 2017-09-07 2019-10-01 GM Global Technology Operations LLC Video communications methods using network packet segmentation and unequal protection protocols, and wireless devices and vehicles that utilize such methods
US11006184B2 (en) * 2018-05-16 2021-05-11 Quantum Radius Corporation Enhanced distribution image system
CN109927865B (zh) * 2019-01-04 2021-05-07 北京安广信息技术有限责任公司 水下机械的一种从外部驾驶控制的作业方法
US11503384B2 (en) * 2020-11-03 2022-11-15 Hytto Pte. Ltd. Methods and systems for creating patterns for an adult entertainment device
WO2021155491A1 (en) * 2020-02-04 2021-08-12 Qualcomm Incorporated Data transfer with media transfer protocol (mtp) over universal serial bus (usb)
CN112203130B (zh) * 2020-09-09 2022-09-16 广州汽车集团股份有限公司 一种车载信息娱乐终端及其多屏交互显示方法、汽车

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269120B1 (en) * 1998-03-23 2001-07-31 International Business Machines Corporation Method of precise buffer management for MPEG video splicing
CN105210351A (zh) * 2013-05-16 2015-12-30 思科技术公司 增强自适应流中的快速信道变化和其它回放定位变化的性能

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272553B2 (en) 1998-11-20 2001-08-07 Sprint Communications Company, L.P. Multi-services communications device
US8155342B2 (en) * 2002-12-11 2012-04-10 Ira Marlowe Multimedia device integration system
US20040123327A1 (en) 2002-12-19 2004-06-24 Tsang Fai Ma Method and system for managing multimedia settings
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
WO2008078798A1 (ja) 2006-12-27 2008-07-03 Kyocera Corporation 通信システム、無線通信端末、通信方法、無線通信方法、無線通信装置、およびその制御方法
US20080167128A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Television Viewing on Gaming Consoles
JP5623287B2 (ja) 2007-12-05 2014-11-12 ジョンソン コントロールズテクノロジーカンパニーJohnson Controls Technology Company 車両ユーザインターフェースシステム及び方法
US8902967B2 (en) 2010-03-31 2014-12-02 Citrix Systems, Inc. Systems and methods for distributed media stream transcoding and sharing
US8682637B2 (en) * 2010-04-23 2014-03-25 Salesforce.Com, Inc. System, method and computer program product for comparing results of performing a plurality of operations with results of simulating the plurality of operations
US8301733B2 (en) 2010-06-30 2012-10-30 Unicorn Media, Inc. Dynamic chunking for delivery instances
KR101677638B1 (ko) 2010-09-29 2016-11-18 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US9336117B2 (en) 2010-11-09 2016-05-10 Vmware, Inc. Remote display performance measurement triggered by application display upgrade
US9332292B2 (en) * 2012-08-15 2016-05-03 Verizon Patent And Licensing Inc. Media playlists with selective media expiration
US10015542B2 (en) * 2013-03-15 2018-07-03 Arris Enterprises Llc Method and apparatus for secure storage and retrieval of live off disk media programs
WO2014145011A2 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for streaming video
US9113039B2 (en) * 2013-09-20 2015-08-18 Intel Corporation Wireless sharing of content between computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269120B1 (en) * 1998-03-23 2001-07-31 International Business Machines Corporation Method of precise buffer management for MPEG video splicing
CN105210351A (zh) * 2013-05-16 2015-12-30 思科技术公司 增强自适应流中的快速信道变化和其它回放定位变化的性能

Also Published As

Publication number Publication date
US20170026674A1 (en) 2017-01-26
DE102016113431A1 (de) 2017-01-26
US9877064B2 (en) 2018-01-23
CN106375819A (zh) 2017-02-01
DE102016113431B4 (de) 2021-09-16

Similar Documents

Publication Publication Date Title
CN106375819B (zh) 实现实时视频串流的基于事件的同步的便携式系统
US10567818B2 (en) Video content distribution system and content management server
US10943381B2 (en) Conditional modification of augmented reality object
US20170026684A1 (en) Communications between a peripheral system and a host device in efficient event-based synchronization of media transfer for real-time display rendering
EP3258698A1 (en) Server, user terminal device, and control method therefor
CN111357297A (zh) 从第一屏幕设备到第二屏幕设备的反向投射
CN109643241A (zh) 显示处理方法、装置、存储介质及电子终端
US20140298179A1 (en) Method and device for playback of presentation file
BR112015003849B1 (pt) Método de transmissão de informação realizado por um dispositivo, dispositivo, método de transmissão de informação realizado por um dispositivo de entrada, e dispositivo de entrada
CN109408189A (zh) 客户端界面布局的动态调整方法、装置、设备和介质
CN109218748A (zh) 视频传输方法、装置及计算机可读存储介质
CN103929468A (zh) 对移动装置显示复制中的用户输入使用分离逆向信道的方法和设备
CN106411841A (zh) 基于媒体应用程序特征的动态屏幕复制和实时显示再现
KR102530551B1 (ko) 광고 표시 방법, 광고 표시 장치, 광고 표시 프로그램
KR20150133496A (ko) 네트워크를 통해 헤드마운트형 디스플레이 장치를 포함하는 수신기에 영상을 전송하는 방법과, 이를 위한 송신기, 중계 서버 및 수신기
US20190128685A1 (en) Client-server navigation solution for low data bandwidth conditions
US20210409830A1 (en) Systems and methods for creating a shared playback session
US20190026931A1 (en) Conversion of 2d diagrams to 3d rich immersive content
US20170026694A1 (en) Adaptive selection amongst alternative framebuffering algorithms in efficient event-based synchronization of media transfer for real-time display rendering
US20140313365A1 (en) Virtual presence system
US20230199262A1 (en) Information display method and device, and terminal and storage medium
CN105898361A (zh) 虚拟高清视频播放器
CN115422417A (zh) 数据处理方法、设备及存储介质
US11025880B2 (en) ROI-based VR content streaming server and method
KR102027172B1 (ko) Roi 기반의 vr 콘텐츠 스트리밍 서버 및 방법

Legal Events

Date Code Title Description
C06 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