CN113875259B - 用于安全视频帧管理的方法、计算设备和计算机可读介质 - Google Patents

用于安全视频帧管理的方法、计算设备和计算机可读介质 Download PDF

Info

Publication number
CN113875259B
CN113875259B CN202080039171.9A CN202080039171A CN113875259B CN 113875259 B CN113875259 B CN 113875259B CN 202080039171 A CN202080039171 A CN 202080039171A CN 113875259 B CN113875259 B CN 113875259B
Authority
CN
China
Prior art keywords
computing device
frames
video stream
encrypted
network
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
CN202080039171.9A
Other languages
English (en)
Other versions
CN113875259A (zh
Inventor
A·G·纳达瑟尔
K·W·罗恩布赫勒
K·A·约克
V·辛格
N·M·弗雷奥利
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to CN202311630042.9A priority Critical patent/CN117676203A/zh
Publication of CN113875259A publication Critical patent/CN113875259A/zh
Application granted granted Critical
Publication of CN113875259B publication Critical patent/CN113875259B/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/4408Processing 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 stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本公开的实施方案可提供用于安全帧管理的设备、方法和计算机可读介质。本文所公开的技术提供了一种用于检测来自互联网协议相机的流式视频的一个或多个帧中的触发项目的智能方法。在检测时,相机通过网络将视频的一个或多个帧传输到计算设备。在视频流的帧中检测到触发项目时,计算设备可以开始与服务器的流传输会话,并将视频的一个或多个帧和伴随的元数据流传输到服务器。帧、元数据和相关联的密钥均可在流传输到服务器之前被加密。对于视频帧的包括触发项目的每个后续片段,服务器可以将该片段的帧附加到加密容器中的视频剪辑。一旦不再检测到触发项目,就可以关闭流传输会话。

Description

用于安全视频帧管理的方法、计算设备和计算机可读介质
相关申请的交叉引用
本申请要求2019年5月28日提交的名称为“Techniques for Secure Video FrameManagement”的美国专利申请62/853,408以及2019年9月4日提交的名称为“Techniquesfor Secure Video Frame Management”的美国专利申请16/560,678的优先权并使其以引用方式并入;这两个申请中的每个申请都全文以引用方式并入本文并且用于所有目的。本申请还以引用方式并入于2018年6月1日提交的名称为“Synchronizing Content”的共同拥有的美国专利申请序列号15/996,387全文并用于所有目的。本申请还以引用方式并入于2019年5月3日提交的名称为“Synchronizing Content”的共同拥有的美国专利申请序列号16/428,914全文并用于所有目的。
背景技术
互联网协议相机已成为作为家庭网络系统的一部分的越来越流行的附件。相机的例程可检测运动并激活相机。然而,经过的车辆、行人和摆动的树枝可触发相机上的运动检测,从而导致假警报。
此外,许多互联网协议相机将视频流数据存储到通常位于相机位置外部的云存储服务。由云服务进行的存储可为不可变的,这意味着数据不能被修改或改变。因此,如果将大文件诸如数字资产推送到云,则必须在一次传输中推送它们。否则,几百万字节大的文件将导致若干较小的部分文件被存储在云存储装置中。在一些情况下,云存储服务的垃圾收集策略可以仅每几天删除导致过量存储使用的这些部分文件。
通常,来自相机的视频流被加密。许多现有视频系统使用存储在云中的视频数据进行分析和处理。因此,这些系统允许云服务器访问加密数据和密钥两者。即使数据被加密,云的管理器具有用于对数据进行解密的密钥。因此,云系统可以解密视频数据并访问用户的私人视频信息。
处理和分析来自基于Web的相机的视频数据的计算设备还执行其他任务,诸如管理家庭网络或充当向用户提供多达4K视频数据的媒体访问设备。在具有若干IP相机的网络中,计算设备的处理能力可能负担很重,使得计算设备由于处理限制而不能同时执行其他任务。
家庭网络可允许其他人访问来自一个或多个互联网相机的安全数据。然而,现有的许可方案仅允许另一个用户在被授予对现有系统的访问权限的情况下访问所有安全数据。例如,房主可能想要授予朋友对外部相机的访问权限,但限制朋友对内部相机的访问。
发明内容
本公开的实施方案可提供用于安全帧管理的设备、方法和计算机可读介质。本文所公开的技术提供了一种用于检测来自互联网协议相机的流式视频的一个或多个帧中的触发项目的智能方法。在检测时,相机通过网络将视频的一个或多个帧传输到计算设备。计算设备可以在视频流的帧中识别触发项目,该触发项目指示计算设备开始与服务器的流传输会话,并将一个或多个视频帧和伴随的元数据流传输到服务器。帧、元数据和相关联的密钥均可在流传输到服务器之前被加密。一旦用户设备开始流传输视频帧和伴随的元数据,它就可以继续流传输后续视频帧和元数据,直到不再检测到触发项目。对于视频帧的包括触发项目的每个后续片段,服务器可以将该片段的帧附加到加密容器中的视频剪辑。一旦不再检测到触发项目,就可以关闭流传输会话。加密容器将不能解密容器,至少因为用于访问帧的密钥在加密容器内被加密。与计算设备相关联的用户设备可具有所述密钥,使得用户可实时(或稍后)查看存储在服务器处的视频流。
在各种实施方案中,用于安全帧管理的技术可包括响应于由连接到网络的相机检测到运动,由计算设备从相机接收视频流的一个或多个帧以及伴随的元数据。该技术可包括由计算设备通过至少将来自相机的视频流的一个或多个帧的一个或多个方面与一个或多个标准进行比较来对视频流的一个或多个帧进行分类。该技术可以包括由计算设备查看视频流的一个或多个帧中的每个帧以发现触发项目。根据在视频流的一个或多个帧中的至少一个帧中检测到触发项目,该技术可以包括由计算设备建立与网络计算设备的连接。该技术可包括由计算设备对视频流的一个或多个帧和伴随的元数据进行加密。该技术可包括通过连接将视频流的一个或多个帧和伴随的元数据传输到网络计算设备,该网络计算设备被配置为将视频流的加密的一个或多个帧和加密的伴随的元数据存储在容器中。
该技术还可包括由计算设备对视频流的一个或多个后续帧和后续元数据进行加密。该技术可包括通过连接将视频流的加密的一个或多个后续帧和加密的后续元数据传输到网络计算设备,所述网络计算设备被配置为将所述视频流的所述一个或多个加密的后续帧附加到所述视频流的所述一个或多个帧上,并且将所述加密的后续元数据存储在所述容器中。根据检测到视频流的一个或多个后续帧中的至少一个后续帧中不存在触发项目,该技术可以包括终止与网络计算设备的连接。
在各种实施方案中,分类可包括利用图像识别技术来确定视频流的一个或多个帧的类别。在实施方案中,类别可包括多个不同的种类,包括人、动物和车辆中的至少一者。
在各种实施方案中,该技术可以包括解密来自相机的视频流的一个或多个帧。伴随的元数据可识别视频流的一个或多个帧的开始时间和结束时间。容器可使用256位加密密钥进行加密。
在各种实施方案中,视频流的一个或多个帧可以包括来自相机的实时视频流数据的片段。计算设备可被配置为使用基于HTTP的自适应比特率流传输通信协议来播放视频流的一个或多个帧。
所述技术可包括向第二计算设备提供指令以平衡计算设备和第二计算设备之间的负载。该技术还可包括针对从相机接收的视频流的一个或多个帧的负载而在一个或多个处理器之间执行平衡操作。平衡操作可包括至少部分地基于计算设备的一个或多个处理器的带宽和网络带宽将操作重新分配给第二计算设备。所述技术可包括将对特定相机的访问控制分配给主网络外部的用户。
在各种实施方案中,用于附件控制的技术可作为多个指令存储在计算机可读介质中。
在各种实施方案中,用于附件控制的技术可结合到计算设备中,该计算设备包括一个或多个存储器以及与一个或多个存储器通信并且被配置为执行存储在一个或多个存储器中的指令的一个或多个处理器。
以下具体实施方式连同附图将提供对本公开的实质和优点的更好的理解。
附图说明
图1示出了根据本公开的实施方案的简化的网络环境。
图2示出了根据本公开的实施方案的网络配置。
图3示出了根据本公开的实施方案的安全帧管理的简化过程。
图4示出了根据本公开的实施方案的用于安全帧管理的技术的简化流程图。
图5示出了根据本公开的实施方案的用于安全帧管理的技术的图示。
图6示出了根据本公开的实施方案的计算机系统的简化框图。
图7示出了根据本公开的实施方案的计算设备的简化框图。
图8示出了根据本公开的实施方案的附件的简化框图。
图9示出了根据本公开的实施方案的控制器的简化框图。
具体实施方式
本公开的某些实施方案涉及用于实现用于安全帧管理的各种技术的设备、计算机可读介质和方法。在以下描述中,将描述各种实施方案。为了解释的目的,阐述了很多具体配置和细节以便提供对实施方案的彻底理解。然而,对本领域的技术人员也将显而易见的是,这些实施方案可在没有这些具体细节的情况下被实施。此外,可省略或简化熟知的特征以防止对本文所述的实施方案造成混淆。本公开描述了用于作为家庭网络的一部分的互联网协议相机的安全帧管理的设备和方法。
I.示例环境
图1示出了根据本公开的实施方案的网络环境100。在一些实施方案中,网络环境100可以是家庭网络。网络环境100包括控制器102,该控制器可与位于该环境中的各种附件设备(也称为附件)通信。控制器102可包括,例如,台式计算机、膝上型计算机、平板电脑、智能电话、可穿戴计算设备、个人数字助理或可能够将命令和控制消息传递给附件和呈现用户界面以允许用户在附件上指示期望操作的任何其他计算设备或设备集。在一些实施方案中,控制器102可使用多个分立的设备来实现。例如,可存在基站以及一个或多个移动遥控站(例如,手持式或可穿戴设备诸如移动电话、平板电脑、智能手表、眼镜等),其中基站与附件通信,并且可安装在环境100中的固定位置处,而移动遥控站提供了用户界面,并且与基站通信以实现对附件的控制。
可对任何类型的附件设备进行控制。附件设备的示例可包括相机106。在某些情况下,控制器102可与附件直接通信;例如,控制器102被示出为与相机106直接通信。在其他情况下,控制器102可经由中间体进行通信。例如,控制器102被示出为经由计算设备104与无线网络上的附件诸如相机106通信。在一些实施方案中,控制器102可控制计算设备104。在一些实施方案中,除了提供支持作为家庭网络的集线器之外,计算设备104还可提供对多媒体内容的访问。在一些实施方案中,计算设备可具有单独的专有控制器120。在一些实施方案中,计算设备104可以是专用家庭集线器设备、媒体访问设备或平板电脑。
可使用各种通信传输手段以及传输手段的组合,并且不同的传输手段可用于不同的设备。例如,一些无线传输手段诸如由Bluetooth SIG发布的经典或/>智能通信协议和标准(本文中称为“Bluetooth”和“Bluetooth LE”)可支持设备之间在有限范围内的点对点直接通信。由Wi-Fi联盟(Wi-Fi Alliance)发布的遵从/>网络标准和协议的其他无线传输手段,诸如无线网络(本文中称为“Wi-Fi网络”),可定义具有中央接入点的无线网络,该中央接入点可促进网络上不同设备之间的通信。另外,虽然示出了无线通信传输手段,但也可为一些或所有附件提供有线传输手段。例如,相机106可通过有线连接而连接到接入点114,并且控制器102可通过向接入点114无线地发送消息而与相机106通信,该接入点可经由有线连接将消息递送到相机106。有线通信和无线通信的其他组合也是可能的。
另外,虽然示出了一个控制器102,但网络环境中可存在多个相关联的控制器设备。在各种实施方案中,控制器102是通用控制器,其能够被编程为控制来自不同制造商的一个或多个设备或附件。在一些实施方案中,控制器102可包括触摸屏液晶显示器(LCD)。一些LCD触摸屏包括遥控器显示器上的“虚拟按钮”。在一些实施方案中,可对设备上的用户界面元素(按钮)进行编程和重新编程以执行其他功能。在一些实施方案中,控制器102的显示器可以注册用户的身体姿势。在一些实施方案中,控制器102包含多个加速度计或陀螺仪中的一者以检测控制器的移动。控制器的一些实施方案允许改变虚拟按钮在控制器102上的显示方式的配置。在一些实施方案中,控制器102可使用射频波来操作其中障碍物阻挡传统红外信号的装置。使用射频波的控制器102可用于控制下一个房间中的电子器件。
许多控制器设备声称对通用控制附件使用蓝牙。然而,实际发生的情况通常是控制器设备向集线器发送蓝牙信号。该集线器集成了红外线发射器,其经由来自发射器的红外线发出遥控命令信号。这些通信也是从控制器设备或集线器到设备的单向通信信道。对于传统的通用控制器,遥控器知道用户在激活用户界面元素时命令的功能。本公开中描述的控制器是开放式的,因为控制器不具有关于激活的知识。在一些实施方案中,该技术包括授权控制器控制无线地连接到计算设备的各种类型的一个或多个附件。
在一些实施方案中,统一附件协议可有助于控制器102与一个或多个附件(例如,相机106)的通信。该统一附件协议可提供一种简单且可扩展的框架,该框架可将附件作为服务的集合来建模,其中每个服务被定义为一组特征,每个特征在任何给定时间具有一个定义值。各种特征可表示附件状态的各个方面。例如,就相机而言,特征可包括功率(开或关)、电池电量和状态(传输、不传输)。在一些实施方案中,消息格式可以是依赖于传输的,同时符合相同的附件模型。附件可提供“属性数据库”,其识别附件向控制器公开的服务和特征。控制器102可从附件读取属性数据库(或其一部分)并使用属性数据库来确定如何与附件交互。
统一附件协议可进一步定义用于控制器102的消息格式,以将命令和控制消息(请求)发送到附件(或其他附件),并且用于附件将响应消息发送到控制器102。命令和控制消息可允许控制器102询问附件特征的当前状态(例如,通过发送读取请求)并且在一些情况下修改特性(例如,发送写入功率特性的请求可导致关闭或打开附件)。因此,不管附件的功能或制造商是怎样的,都可通过发送适当的消息来控制任何类型的附件。消息格式在不同类型的附件中可相同。
统一附件协议可进一步提供通知机制,其允许附件(或其他附件)在状态改变的情况下选择性地通知控制器102。可实现多个机制,并且控制器102可针对给定目的,对最适当的通知机制进行注册或订阅。
在一些实施方案中,与给定附件的通信可限于已经获得授权的控制器。例如,统一附件协议可指定一个或多个机制(包括本文称为“配对设置”和“配对添加”的机制),用于在提供用户希望控制器102能够控制附件的高度置信度的环境下在控制器102和给定附件(例如,门锁附件)之间建立“配对”(本文也称为“本地配对”)。配对设置可包括带外信息交换(例如,用户可将附件提供的数字或字母数字PIN或密码输入由控制器102提供的界面中)以建立共享秘密。这个共享秘密可用于支持“长期”公共密钥在控制器102和附件之间的安全交换,并且每个设备可存储从另一个设备接收的长期公共密钥,以使得所建立的配对可以是持久性的。在建立了本地配对后,则认为控制器102已被授权,随后,控制器102和附件可根据需要进入和退出通信,而不会失去所建立的配对。当控制器102尝试与附件通信或控制附件时,可首先执行由统一附件协议指定的“配对验证”过程以验证建立的本地配对存在(例如,在这种情况下,控制器102先前完成了与附件的对设置)。配对验证过程可包括每个设备证明其拥有与在配对建立期间交换的长期公共密钥对应的长期私有密钥,并且还可包括建立新的共享秘密或会话密钥以加密在“配对验证”会话(在本文中也称为验证会话)期间的所有通信。在配对验证会话期间,具有适当特权的控制器可执行“配对添加”过程,以便代表另一个控制器与附件建立另一个配对。任一设备均可仅通过使会话密钥的副本破坏或无效而在任何时间结束配对验证会话。
在一些实施方案中,多个控制器可与同一附件建立本地配对(例如,通过与附件执行配对设置,或通过由先前已与附件建立配对设置的控制器添加配对),并且附件可接受并响应来自其配对控制器中的任一者的通信,同时拒绝或忽略来自未配对控制器的通信。在本公开的一些实施方案中,可定义和使用附加的“中继配对”过程,以允许控制器通过本地环境外部的中继服务与附件通信。
应当理解,环境100是例示性的,并且变型形式和修改形式是可能的。本公开的实施方案可在用户希望使用控制器设备来控制一个或多个附件设备的任何环境中实现,包括但不限于住房、汽车或其他车辆、办公大楼、具有多栋建筑的校园(例如,大学校园或企业)等。单个控制器可与任意数量的附件建立配对,并可在不同时间选择性地与不同附件通信。类似地,单个附件可由已与其建立配对的多个控制器控制。可通过将功能建模为具有一个或多个特征的服务,并且允许控制器与该服务和/或其特征发生交互作用(例如,读取、修改、接收更新)来控制附件的任何功能。因此,不管附件功能或控制器形状因数或具体界面如何,本发明的实施方案中所使用的协议和通信均可在任何环境下统一地用于一个或多个控制器和一个或多个附件。
环境还可由云存储系统108组成。云存储系统108可位于远离住宅的数据存储设施处。云存储是计算机数据存储的模型,其中数字数据存储在逻辑池中。物理存储跨越多个服务器(有时在多个位置),并且物理环境通常由托管公司拥有和管理。这些云存储提供商负责保持数据可用和可访问,以及保持物理环境受保护和运行。人们和组织从提供商购买或租用存储容量以存储用户、组织或应用程序数据。云存储服务可以通过协同定位的云计算服务、web服务应用程序编程接口(API)或通过利用API的应用程序(诸如云桌面存储、云存储网关或基于Web的内容管理系统)来访问。
在一些实施方案中,云存储系统108可包括安全容器110。安全容器110可以用于存储来自附件(例如,IP相机)的流式视频和相关联的元数据。安全容器110可以存储加密数据或者可以加密存储在容器中的数据。在一些实施方案中,当附加视频数据被流传输到云存储系统108时,可附加流式视频数据。在一些实施方案中,所述技术可使用2018年6月1日提交的名称为“Synchronizing Content”的美国专利申请序列号15/996,387中所公开的技术或2019年5月3日提交的名称为“Synchronizing Content”的美国专利申请序列号16/428,914中所描述的技术来对容器进行编码。
在一些实施方案中,环境100可包括人112或一个或多个人。人112或一个或多个人的图像可由相机106捕获。
II.网络配置
图2示出了根据本公开的实施方案的网络配置200。配置200允许控制器202与位于本地环境206(例如,诸如上述环境100的家庭环境)中的附件204通信。各个控制器202可以是经常出入于环境206的用户(例如,家庭住户或家庭固定访问者)所拥有和/或操作的电子设备。控制器202可类似于图1的控制器102,并且附件204可类似于图1所示的各种附件。
在各种实施方案中,附件204每者可与可位于本地环境206中的接入点210通信。接入点210可提供附件204和控制器202(当存在于本地环境206中时)可连接到的局域网(LAN)。可使用任何类型的LAN技术,包括Wi-Fi网络或其他无线LAN技术。因此,接入点210可促进本地环境206内的附件204和控制器202之间的通信。在一些实施方案中,存在于本地环境206中的控制器(例如,控制器202(1))可直接与附件(例如,附件204(1))通信。可根据需要使用蓝牙通信、ad hoc无线网络或其他点对点通信技术。
在一些情况下,附件可能不直接与接入点210或控制器202通信。例如,附件204(3)可连接到代理212,并且控制器202和/或接入点210可经由代理212与附件204(3)通信。在各种实施方案中,代理212可提供到附件204(3)的消息的中继或者提供来自附件204(3)的消息的中继。代理212可实现通信安全措施和/或协议转换,并且单个代理212可与一个或多个附件204接口。在一些实施方案中,代理212可是可在多个控制器和/或附件间协调操作、并且不限于被动地中继消息的“智能”设备。
在一些实施方案中,存在于本地环境206中的附件204和控制器202可使用诸如Wi-Fi网络的局域网(LAN)和/或诸如蓝牙LE的点对点通信介质来通信。应当理解,可使用其他通信传输和协议。在一些实施方案中,控制器202和附件204(以及代理212,如果存在的话)可支持如上所述的统一附件协议,其可使用Wi-Fi和蓝牙LE作为传输来实现。
在图2的示例中,控制器202(1)当前位于具有附件204和接入点210的本地环境206中。例如,控制器202(1)可与附件204在同一LAN上。控制器202(2)和202(3)当前位于本地环境206之外,但是连接到通信网络208(例如,互联网)。此类控制器被称为“远离”附件204。应当理解,控制器202可以是有时位于本地环境206内、而有时位于本地环境206外的移动设备。附件204无需是移动的,并且不需要连接到通信网络208。在一些实施方案中,接入点210可连接到通信网络208(例如,接入点210可实现为常规的Wi-Fi接入点或基站)并且可允许远程控制器202(2)和202(3)远程访问附件204。
然而,可能不希望将每个附件204配置为可由能够连接到通信网络208的任何设备找到并与之通信的广域网设备。例如,如果通信网络208是因特网,则包括世界上任何地方的任何人拥有的设备的大量设备可能能够定位附件204并尝试未经授权的操作。因此,为了更有选择地允许控制器202经由网络208与附件204通信,采用中继服务220可能是有用的。
根据本公开的各种实施方案,中继服务220可促进控制器202(特别是远程控制器202(2),202(3))和附件204之间经由通信网络208的通信。例如,中继服务220可建立到附件204(1)的持久连接,其中附件204(1)通过由中继服务220分配并且对控制器202已知(但是可能不被未经授权访问附件204的其他设备已知)的永久附件别名(也被称为“附件中继别名”或“附件RA”)识别。控制器202(2)可向中继服务220发送请求以向附件204(1)发送消息;该请求可包括消息内容、由中继服务220分配给附件204(1)的附件别名以及中继服务220可用于验证控制器202(2)被授权与附件204(1)通信的附件信息(例如,如下描述的访问令牌)。中继服务220可将消息传递给附件204(1)。来自附件204(1)的响应消息可以类似的方式传递到控制器202(2),使用由中继服务220分配给控制器202(2)并且对附件204(1)已知的持久运营商别名,但可能不对未被授权使用中继服务220与控制器202(2)通信的设备已知。经由中继服务220在控制器202(2)和附件204(1)之间交换的消息内容可符合如上所述的统一附件协议,并且消息内容对于中继服务220可是不透明的。因此,控制器202(2)和附件204(1)可通过中继服务220进行通信以建立成对验证的会话(如上所述)并且可加密消息内容使得消息内容不能被中继服务220或者消息内容可能通过的其他中介读取。这样,中继服务220可在控制器202(2)和附件204(1)之间(或者在任何控制器202和任何附件204之间)提供安全的端到端通信路径(由虚线222指示)。
在一些实施方案中,控制器202可被配置为在可能的情况下与附件204通信而不使用中继服务器220。例如,当控制器202(2)确定它应该向附件204(1)发送消息时(例如,基于用户输入或如下所述的接收通知),在控制器202(2)中执行的通信守护进程或其他进程可确定对附件204(1)的“本地访问”(或“本地信道”)当前是否可用。例如,控制器202(2)可在本地网络或点对点通信技术上主动或被动地扫描附件204(1)的存在;如果检测到附件204(1),则可进行本地访问。如果未检测到附件204(1),则本地访问不可用,并且控制器202(2)可代之以与中继服务220通信。确定是使用本地访问还是中继服务220对于用户是透明的,并且可在每次建立到附件的通信信道时进行。因此,想要使用控制器202(2)与附件204(1)交互的用户可简单地这样做而不用担心是使用本地访问还是经由中继服务220的远程访问。
在一些实施方案中,控制器204(4)可是被编程为控制一个或多个附件202(4)的专有控制器设备。可通过类似于向网络添加其他附件的过程将控制器204(4)添加到网络。在一些实施方案中,控制器204(4)可在本地环境中操作和并且通过接入点210控制附件204(1)、204(2)和204(3)。在一些实施方案中,专有附件202(4)可由来自本地环境外部的控制器202(2)和202(3)控制。
应当理解,网络配置200是例示性的,并且变型形式和修改形式是可能的。可将任何数量的控制器和任何数量的附件包括在网络配置中。在一些实施方案中,网络配置可包括一个或多个代理(例如,桥接器、隧道、协调器)。一些或全部附件204可能仅在本地环境内可访问。此外,如下所述,不同的控制器202可具有关于访问附件204的不同级别的权限;例如,经由网络208的远程访问可被允许用于一些控制器202,但不允许用于其他控制器202。
III.安全帧管理
图3示出了根据本公开的实施方案的安全帧管理的简化过程。在各种实施方案中,互联网协议相机302可以在303处检测运动。相机302可采用任何数量的技术来检测运动。在一些实施方案中,相机302可检测所检测到的图像中的照明差异。可电子识别运动的主要方法是光学检测和声学检测。红外光或激光技术可用于光学检测。运动检测设备诸如无源红外(PIR)运动检测器具有检测红外光谱中的干扰的传感器。用于由固定相机进行运动检测的简单算法将当前图像与参考图像进行比较,并且简单地对不同像素的数量进行计数。由于图像将由于诸如变化的照明、相机闪烁和电荷耦合器件(CCD)暗电流的因素而自然地不同,因此预处理可用于减少假阳性警报的数量。
一旦被检测到,信号就可激活可捕获图像或视频数据的相机。在一些实施方案中,对运动的检测可触发相机捕获视频流的帧304并通过网络将帧304传输到计算设备306。
计算设备306可在307处接收帧304,并使用多种图像识别技术中的任一种来处理帧。计算设备306可通过至少将来自相机302的视频流的帧304的一个或多个方面与一个或多个标准进行比较来在309处对帧304进行分类。在一些实施方案中,帧304可被分类为人、动物或车辆。
图像识别是指识别图像中的地点、徽标、人、对象、建筑物和若干其他变量的技术。类别是与数据匹配的模式。图像是二维矩阵形式的数据。事实上,图像识别将数据分类到许多类别中的一个类别中。图像识别过程中的主要步骤是收集和组织数据,建立预测模型并使用其识别图像。
人眼将图像感知为由脑中的视觉皮质处理的一组信号。这导致与记录在人的记忆中的概念和对象相关联的场景的生动体验。图像识别试图模拟该过程。计算机将图像感知为光栅图或向量图。光栅图是具有离散数值的颜色的一系列像素,而向量图是一组带颜色注释的多边形。
为了分析图像,将几何编码转换成描绘物理特征和对象的构建体。然后可由计算机对这些构建体进行逻辑分析。组织数据涉及分类和特征提取。图像分类中的第一步是通过提取重要信息并省略其余部分来简化图像。例如,如果您想要从背景中提取人的图像,则您将注意到红-绿-蓝(RGB)像素值的显著变化。
然而,通过在图像上运行边缘检测器,计算系统可将其简化。计算系统可容易地辨别这些边缘图像中的面部和眼睛的圆形形状,因此边缘检测保留基本信息,同时丢弃非基本信息。一些熟知的特征描述符技术为由Viola和Jones引入的类Haar特征、方向梯度直方图(HOG)、尺度不变量特征变换(SIFT)、加速鲁棒特征(SURF)等。
在分类算法可以正确地识别图像之前,通过显示数千个人图像和非人图像来训练计算系统。机器学习算法的一般原理是将特征向量视为高维空间中的点。然后,计算系统尝试找到以来自特定类别的所有示例都在平面或表面的一侧上的方式分离高维空间的平面或表面(轮廓)。
为了建立预测模型,计算系统可以利用神经网络。神经网络是用于估计取决于大量未知输入的函数的硬件和软件的系统。神经网络是一组互连的节点。每个处理节点具有其自身的小知识范围,包括其已经看到的内容以及其最初用其编程或为其自身开发的任何规则。神经网络将需要一种学习算法。在识别图像中存在用于图像分类的多种算法,诸如词袋、支持向量机(SVM)、面部特征点估计(用于面部识别)、最近邻法(KNN)、逻辑回归等。
组织图像数据(训练和测试两者)。训练数据不同于测试数据,这也意味着移除它们之间的副本(或附近副本)。将该数据馈送到模型中以识别图像。计算系统在已知图像的数据库中找到具有与测试图像最接近的测量值的人的图像。分类器需要通过从新的测试图像进行测量来训练,并且告知系统与人的最接近匹配。运行该分类器可能需要几毫秒。分类器的结果可以是人、车辆或动物。
在各种实施方案中,如果分类器将帧304识别为感兴趣项目,则可以在相机302和计算设备306之间打开套接字以流传输视频数据(例如,mp4视频)的片段。在各种实施方案中,视频数据在相机302处被加密。计算设备306可以解密视频数据。
计算设备306可以查看视频流的一个或多个帧中的每个帧以发现触发项目。触发项目可以是人的图像。在311处,在视频流的一个或多个帧中的至少一个帧中检测到触发项目可以触发处理器发起视频收集过程。
在各种实施方案中,计算设备已经与网络计算设备连接。在连接尚未存在的一些实施方案中,检测到触发项目可导致计算设备与网络计算设备建立连接。
在各种实施方案中,计算设备306可在315处对视频流的一个或多个帧和伴随的元数据312进行加密。在一些实施方案中,元数据310可以是视频流的一个或多个帧304的开始位置和结束位置。在一些实施方案中,元数据310指示视频流的一个或多个帧的持续时间。在一些实施方案中,使用128位加密或256位加密密钥来执行该加密。
在各种实施方案中,计算设备306可在317处通过网络连接传输视频流的一个或多个帧和伴随的元数据312。网络计算设备可被配置为将视频流的加密的一个或多个帧和加密的伴随的元数据312存储在容器318中。
在各种实施方案中,只要计算设备检测到触发项目,计算就可以接收视频流的一个或多个帧和后续元数据。计算设备可以对视频流的一个或多个后续帧和后续元数据314进行加密。计算设备306可在319处通过连接将视频流的加密的一个或多个后续帧和加密的后续元数据314传输到网络计算设备。网络计算设备可以在321处将视频流的一个或多个加密的后续帧附加到视频流的一个或多个帧上,并将加密的后续元数据存储在容器318中。
根据在323处检测到视频流的一个或多个后续帧中的至少一个后续帧中不存在触发项目,计算设备306可以在325处终止与网络计算设备的连接。
图4示出了根据本公开的实施方案的用于授权通用设备的技术的网络400的泳道图。图4示出了用于所公开技术的三个主要硬件部件。相机402(例如,互联网协议(IP)相机)可用于捕获静态或流式视频图像的一个或多个帧。IP相机是一种接收控制数据并经由互联网发送图像数据的数字视频相机。IP相机通常用于监视。与模拟闭路电视(CCTV)相机不同,IP相机不需要本地记录设备,而是仅需要局域网。大多数IP相机是网络摄像头,但是术语IP相机或网络摄像头通常仅适用于可通过网络连接直接访问的用于监视的那些。虽然描绘了一个相机402,但是所公开的技术可以使用连接到网络的多个IP相机。
接下来,计算设备404用于接收和处理从相机402接收的视频数据的一个或多个帧。在一些实施方案中,计算设备404可以是可用于在显示器上向用户显示视频内容的专用计算机,诸如媒体访问设备(例如,Apple TV)。计算设备可以无线地发送和接收数据,并且可以包括一个或多个处理器和/或图形处理器。计算设备404可控制附件(例如,门锁、灯、相机、恒温器等)的家庭网络。相机402可使用网络协议作为附件链接到计算设备404。下面提供关于计算设备404的更多细节。
最后,存储设备406用于接收和存储来自相机402的由计算设备404处理的视频数据。存储设备406可通过使用一系列远程服务器和数据库而为基于云的。
在各种实施方案中,相机402可通过前述技术中的任何一种来在408处检测运动。在检测到运动408时,相机402可经由网络向计算设备404传输指示检测到运动408的消息。相机可以通过网络将流媒体数据的一个或多个帧和相关联的元数据发送到计算设备404。计算设备404可在410处从相机402接收帧和相关联的元数据。计算设备404可在412处使用各种分类算法和技术对检测进行分类。在各种实施方案中,计算设备404可将流式视频的一个或多个帧分类为人、动物或车辆。在各种实施方案中,系统可以忽略其他运动检测(例如,风中的树枝摆动或旗子的运动),从而减少错误检测的数量并减少传输和存储的视频数据的量。
计算设备404可在414处检测包含在视频数据的一个或多个帧内的触发。在一些实施方案中,触发可以是视频数据的一个或多个帧内的人的图像。在各种实施方案中,触发可以是视频数据的一个或多个帧中的车辆的图像。在其他实施方案中,触发可以是视频数据的一个或多个帧中的动物的图像。触发也可以是各种触发(例如,人和动物或者人和车辆)的组合。触发还可以是满足一些预定义特征的特定对象(例如,包裹)。在一些实施方案中,计算设备404可以每秒接收15帧。计算设备404可以查看选择数量的帧(例如,每N帧),其中N是大于1的整数。
在检测到触发时,计算设备404可向相机402传输指令,以打开用于相机的套接字416,从而有利于传输流式视频数据。该过程可被称为起动新剪辑会话。相机402可创建由视频图像帧、音频数据和相关联的元数据构成的流式传输资产418。流式传输资产可以是视频流的片段(例如,四秒片段)。流式传输资产418可经由套接字传输到计算设备。计算设备404可在420处接收视频帧和相关联的元数据。在各种实施方案中,视频帧和相关联的元数据可由相机402加密。对于加密的流式数据,计算设备404可以在处理之前解密数据。通过处理计算设备404上的数据而不是处理云存储装置上的数据,保持了数据的隐私性。这样,在没有来自计算设备的私钥或被授予来自计算设备的访问权限的账户的情况下,云不能访问所述数据。
在一些实施方案中,流式传输资产可存储在计算设备404的持久性存储器中。在一些实施方案中,流式传输资产被接收为视频数据的一系列分组和相关联的元数据。在一些实施方案中,计算设备404可将视频数据的所述系列分组组合成视频数据的一个或多个更大的文件。
在各种实施方案中,计算设备404可在422处使用高级加密技术(例如,256位加密)来加密流式传输资产和相关联的元数据。计算设备404可使用对称密钥来对数据进行编码。256位密钥可具有2256种可能的组合。具有如此多的可能组合,即使使用超级计算机,这种加密也将极其难以在任何合理的时间范围内失效。
加密的帧和元数据可被传输到存储设备406。加密的帧和元数据可作为称为流式传输资产的新类型资产存储在存储设备406(例如,iCloud)中。根据本公开,流式传输资产可以是可变的,因为它可以附加在存储设备406上。存储设备406可在424处接收包括加密的视频帧和相关联的元数据的数字资产。在存储设备406中,加密数据可在426处存储在容器中。
只要在视频数据的一个或多个帧中检测到触发,相机402就将在428处继续创建包括视频图像帧和相关联的元数据的附加流式传输资产。附加流式传输资产可被传输到计算设备404。计算设备404可以在430处接收附加流式传输资产和相关联的元数据。在各种实施方案中,附加视频帧和相关联的元数据可由相机402加密。对于加密的附加流式数据,计算设备可以在处理之前解密数据。
在一些实施方案中,附加流式传输资产可存储在计算设备404的持久性存储器中。在一些实施方案中,附加流式传输资产可被接收为视频数据的一系列分组和相关联的元数据。在一些实施方案中,计算设备404可将视频数据的所述系列分组组合成视频数据的一个或多个更大的文件。
在各种实施方案中,计算设备404可在432处使用高级加密技术(例如,256位加密)来加密附加流式传输资产和相关联的元数据。计算设备404可以将加密的附加流式数据和相关联的元数据传输到存储设备406。存储设备406可在434处接收资产,并且可在436处附加已经存储在容器中的资产和相关联的元数据。通过附加存储在容器中的资产以及相关联元数据,可将组合资产播放为单个视频文件。
相机402可继续收集视频数据的一个或多个帧,以在438处创建流式传输资产。相机402可通过网络将流式数据传输到计算设备404。计算设备404可从相机402接收视频的一个或多个帧。在440处检测到不存在触发项目时,计算设备404可在442处传输关闭套接字的指令。相机402可接收来自计算设备404的指令并在444处关闭套接字。计算设备可向存储设备406传输指令以在446处终止与计算设备406的连接。
在各种实施方案中,视频流的一个或多个帧可以包括来自相机402的实时视频流数据的片段。
计算设备404可被配置为使用基于HTTP的自适应比特率流传输通信协议来播放视频流的一个或多个帧。这样,存储在存储设备406中的容器中的视频数据的帧的集合可由计算设备404或不同的计算设备重放。基于HTTP的动态自适应流传输(DASH)(也称为MPEG-DASH)是一种自适应比特率流传输技术,其使得能够通过从常规HTTP web服务器传送的互联网进行媒体内容的高质量流传输。类似于Apple的HTTP实时流传输(HLS)解决方案,MPEG-DASH通过将内容分成一系列基于HTTP的小文件段来工作,每段包含可能持续数小时的短回放时间间隔内容,诸如电影或体育事件的实时广播。使内容以多种不同比特率可用,即,以不同比特率编码的另选片段覆盖对准的短回放时间间隔。在内容正由MPEG-DASH客户端回放时,客户端基于当前网络状况从替代选择中自动选择要下载和播放的下一个片段。客户端自动选择具有可能的最高比特率的片段,该片段可被及时下载以用于回放,而不会在回放中导致停止或重新缓冲事件。因此,MPEG-DASH客户端可无缝地适应于变化的网络状况,并且以更少的停止或重新缓冲事件提供高质量的回放。MPEG-DASH是国际标准的基于HTTP的第一自适应比特率流传输解决方案。元数据可向HTTP web服务器通知视频文件的开始和结束。
这些技术可以使用HomeKit安全视频功能,使用HLS进行回放。HTTP实时流传输提供了通过互联网递送连续且长型的视频的可靠、高性价比的方式。HTTP实时流传输可允许接收器将媒体的比特率适应于当前网络状况,以便以最佳可能的质量保持不间断的回放。HTTP实时流传输可以支持间隙内容边界。HTTP实时流传输可以提供用于媒体加密的灵活框架。HTTP实时流传输可以有效地提供相同内容的多种再现,诸如音频转化。HTTP实时流传输提供与大规模HTTP高速缓存基础设施的兼容性,以支持向大量受众的交付。
相机402可将包含具有音频和视频资产418、428、438两者的视频和音频(例如,分段MPEG-4fmp4)媒体片段的数字多媒体文件发送到计算设备404。计算设备404可在fmp4媒体片段上运行计算机视觉模型以检查是否存在人、动物或车辆。一旦在414处检测到触发,计算设备404就将fmp4媒体片段连同元数据上载到网络存储设备406。控制器102将存储在网络存储设备406中的元数据和统一资源定位符(URL)用于存储在网络存储设备406中的fmp4媒体片段以创建HLS播放列表。HLS播放列表被馈送到媒体播放器以进行回放。
MPEG-4片段由ISO基媒体文件格式(ISOBMFF)指定。与具有包含样本表的电影框(“moov”)和包含对应样本的媒体数据框(“mdat”)的常规MPEG-4文件不同,MPEG-4片段由包含样本表的子集的电影片段框(“moof”)和包含这些样本的媒体数据框组成。MPEG-4片段的使用确实需要电影框进行初始化,但是电影框仅包含非样本特定信息,诸如曲目和样本描述。分段MPEG-4(fMP4)片段是如由ISOBMFF的第3节定义的“片段”,包括对ISOBMFF的第8.16节中的媒体数据框的约束。fMP4片段的媒体初始化部分是可以初始化该片段的解析器的ISO基媒体文件。
在各种实施方案中,计算设备404不使用标准HTTP实时流传输(HLS)128位密钥。计算设备404可使用256位加密。此外,计算设备404打包数据的方式略有不同,因为系统正在使用包括验证或认证标签的AS256 Galois计数器模式(GCM)格式。认证标签通过验证校验和来验证真实性,以确保数据文件在播放之前未受损。
该技术可包括向第二计算设备提供指令以平衡计算设备和第二计算设备之间的负载。该技术可包括针对从相机接收的视频流的一个或多个帧的负载而在一个或多个处理器之间执行平衡操作。平衡操作可包括至少部分地基于计算设备的一个或多个处理器的带宽和网络带宽将操作重新分配给第二计算设备。该技术还可包括将对特定相机的访问控制分配给主网络外部的用户。发现标准HTTP实时流传输(HLS)128位密钥足以用于商业电影内容,但是出于隐私原因,256位密钥加密为用户的个人数据提供了更强的保护。
对视频数据(尤其是来自多个相机的视频数据)的处理和分析是计算资源密集型的。如果媒体访问设备(例如,Apple TV)正在显示4K视频内容,则此类内容在未实施资源平衡例程的情况下可能劣化。家庭网络系统可结合多个计算设备集线器(例如,多个媒体访问设备、多个家庭集线器设备或多个平板电脑)以平衡用于处理娱乐过程和相机图像处理两者的计算资源。在家庭网络中,计算设备404可被指定为主集线器。主集线器负责向其它设备和附件提供命令。在网状网络中,如果蓝牙附件偏离主设备的范围,则主设备或主要设备可命令其他设备或集线器作为代理提供控制命令。在这些情况下,主集线器可以将控制其他附件的责任委托给从属计算设备。因此,可通过若干不同的计算设备集线器共享处理能力。
解决处理挑战的另一个解决方案是动态重新平衡。在动态重新平衡中,可通过将流从一个分辨率(例如,1080p)动态重新配置到第二分辨率(720p)来解决有限的处理功率限制。这样,使用资源平衡,娱乐内容不会丢失,并且仍然可以执行相机图像分析。
改进的访问控制允许房主仅授予对特定相机402的访问权限。在各种实施方案中,每个相机402被分配给存储容器例程(例如,Cloudkit)中的独立区域。改进的访问控制允许用户共享整个区域并将参与者添加到该区域。例如,区域可用于相机A。房主可决定谁是该区域的一部分。这样,第二用户可被授予对一些区域(例如,外部相机)的访问权限并且被拒绝对其他相机(例如,内部相机)的访问。
此外,可修改对在云上共享的数据的访问。计算设备404利用特定于设备所有者的云帐户的密钥来加密视频数据和元数据。这样,用户可访问来自与云帐户相关联的任何一个设备(例如,平板电脑、智能电话、便携式计算设备、媒体访问设备等)的视频数据。云存储服务不包含用于对存储在云中的视频进行解密的密钥。然而,其他家庭成员可能有兴趣在不使用相同云帐户的情况下获得数据。例如,丈夫可以使用他的云帐户来建立网络并使用他的云帐户来保护数据。在没有任何修改的情况下,使用单独云帐户的妻子将不具有对视频数据(例如,前门视频)的访问权限。改进允许在具有不同云帐户的其他用户之间共享流媒体数据。相机的所有者还可授予其他人(例如,室友)查看视频剪辑的权限,以访问一个或多个相机的数据。数据的所有者可决定生成新密钥或滚动该密钥,这将禁止先前被授予的对相机数据的访问权限,直到该权限被再次共享。
应当理解,过程400是示例性的,并且变型和修改是可能的。可并行执行按顺序描述的步骤,可改变步骤的顺序,并且可修改、合并、添加或省略步骤。
图5示出了用于安全帧管理的技术的简化流程图。在502处,响应于由连接到网络的相机检测到运动,所述技术可包括由计算设备从所述相机接收视频流的一个或多个帧和伴随的元数据。在一些实施方案中,相机是互联网协议相机。网络可以是本地网络或经由互联网。
在各种实施方案中,该技术可包括由计算设备通过至少将来自相机的视频流的一个或多个帧的一个或多个方面与一个或多个标准进行比较来对视频流的一个或多个帧进行分类。标准可包括存储在设备的存储器中的人、动物或车辆的图像或轮廓。
在504处,该技术可以包括由计算设备查看视频流的一个或多个帧中的每个帧以发现触发项目。根据在视频流的一个或多个帧中的至少一个帧中检测到触发项目,由计算设备建立与网络计算设备的连接。触发项目可包括一个或多个人的图像。触发项目可以是武器的图像。触发项目可以是一个或多个车辆的图像。触发项目可以是动物诸如猫或狗的图像。
在506处,该技术可包括由计算设备对视频流的一个或多个帧和伴随的元数据进行加密。在各种实施方案中,该技术可应用由美国国家标准技术研究所(NIST)建立的高级加密标准(AES)中的一者。用于加密的密钥大小可以是128、192或256位密钥长度。
在508处,该技术可包括通过连接将视频流的一个或多个帧和伴随的元数据传输到网络计算设备,该网络计算设备被配置为将视频流的加密的一个或多个帧和加密的伴随的元数据存储在容器中。
在510处,该技术可包括由计算设备对视频流的一个或多个后续帧和后续元数据进行加密。
在512处,该技术可包括通过连接将视频流的加密的一个或多个后续帧和加密的后续元数据传输到网络计算设备。网络计算设备可被配置为将视频流的一个或多个加密的后续帧附加到视频流的一个或多个帧上,并且将加密的后续元数据存储在容器中。
根据检测到视频流的一个或多个后续帧的至少一个后续帧中不存在触发项目,在514处,该技术可以包括终止与网络计算设备的连接。
应当理解,过程500是示例性的,并且变型和修改是可能的。可并行执行按顺序描述的步骤,可改变步骤的顺序,并且可修改、合并、添加或省略步骤。
IV.示例性设备架构
图6示出根据本公开的实施方案的计算机系统600的简化框图。在一些实施方案中,计算机系统600可实现本文所述的由服务器执行的功能、行为和能力中的任何或全部,以及未明确描述的其他功能、行为和能力。在一些实施方案中,计算机系统600的其他物理实例可实现由控制器或附件执行的本文描述的任何或所有功能、行为和能力;下面描述了控制器和附件具体实施的另外的示例。在一些实施方案中,计算机系统可以是媒体接入设备。
计算机系统600可包括处理子系统602、存储子系统604、用户界面606和网络接口608。计算机系统600还可包括其他部件(未明确示出),诸如电力控制器和可操作以提供各种增强能力的其他部件。计算机系统600还可以在大规模架构诸如可扩展服务器系统或服务器场中实现,该大规模架构中可包括许多互连的处理器、存储系统和接口,能够处理和响应于来自客户端设备(包括控制器和/或附件)的大量请求。
存储子系统604可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质组合来实现,并且可包括易失性和/或非易失性存储介质。在一些实施方案中,存储子系统604可存储将由处理子系统602执行的一个或多个应用程序和/或操作系统程序,包括用于实现本文描述为由中继服务220的任何服务器执行的任何或所有操作的程序,如图2所示,以及与此类操作相关联的数据。在计算机系统600实现服务器的情况下,存储子系统604可使用网络存储技术和/或可管理高容量数据访问请求的其他技术来实现。
用户界面606可包括输入设备诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等;以及输出设备诸如视频屏幕、指示灯、扬声器、耳机接口等,连同支持性电子器件(例如,数模转换器或模数转换器、信号处理器等)。在一些实施方案中,用户可操作用户界面606的输入设备以调用计算机系统600的功能,并且可经由用户界面606的输出设备来查看和/或收听来自计算机系统600的输出。在由计算机系统600实现服务器的实例中,用户界面606可相对于处理子系统602和/或存储子系统604远程定位。
处理子系统602可使用一个或多个集成电路,例如一个或多个单核或多核微处理器或微控制器来实现,这些微处理器或微控制器的示例在本领域中是已知的。在操作中,处理子系统602可控制计算机系统600的操作。在各种实施方案中,处理子系统602可响应于程序代码来执行各种程序,并且可维护多个同时执行的程序或进程。在任何给定时间,待执行的一些或全部程序代码可驻留在处理子系统602中和/或存储介质诸如存储子系统604中。
通过合适的编程,处理子系统602可为计算机系统600提供各种功能。例如,其中计算机系统600实现中继服务220的服务器,如图2所示,处理子系统602可实现上述由证书服务器、身份服务器、附件快递服务器、控制器快递服务、消息传递服务器、传递服务器和/或报告服务器中的任何一者或全部实现的各种过程(或者其部分)。处理子系统602还可以执行其他程序来控制计算机系统600的其他功能,包括可存储在存储子系统604中的程序。
网络通信接口608可以为计算机系统600提供语音和/或数据通信能力。在一些实施方案中,网络通信接口608可包括用于接入无线数据网络的射频(RF)收发器部件(例如,使用数据网络技术诸如3G、4G/LTE、IEEE 802.11家族标准(例如,Wi-Fi网络技术)或其他移动通信技术,或其任何组合)、用于短程无线通信的部件(例如,使用蓝牙和/或蓝牙LE标准、NFC等)和/或其他部件。在一些实施方案中,除了或代替无线接口,网络通信接口608可提供有线网络连接性(例如,以太网)。网络通信接口608可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,网络通信接口608可使用相同传输手段或不同传输手段同时支持多个通信信道。
应当理解,计算机系统600是例示性的,且变型形式和修改形式是可能的。包括服务器、控制器设备和/或附件的计算机系统可具有本文未描述的功能(例如,控制器设备也可通过蜂窝电话网络提供语音通信;能够与用户交互以提供个人信息、玩游戏、通过无线网络访问内容和/或本地存储的内容;等),并且这些设备和服务器的具体实施可包括适合于这种功能的部件。
此外,尽管本文参考特定块描述了计算机系统,但是应当理解,定义这些块是为了描述方便,并非意在暗示部件的特定物理布置。此外,块不必对应于物理上不同的部件。可以例如通过对处理器进行编程或提供适当的控制电路来配置块以执行各种操作,并且根据初始配置的获得方式,各个块可能是可重新配置的或不可重新配置的。可在包括使用电路和软件的任何组合实现的电子设备在内的各种装置中实现本公开的实施方案。
图7是根据本公开的实施方案的计算设备700的简化框图。计算设备700可实现本文所述的计算设备功能、行为和能力中的任何或全部,以及未明确描述的其他功能、行为和能力。计算设备700可包括处理子系统710、存储设备712、用户界面714、通信接口716、安全存储模块718和密码逻辑模块720。计算设备700还可包括其他部件(未明确示出),诸如电力控制器和可操作以提供各种增强能力的其他部件。
存储设备712可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质的组合来实现,并且可包括易失性和/或非易失性介质。在一些实施方案中,存储设备712可存储将由处理子系统710执行的一个或多个应用程序和/或操作系统程序,包括用于实现如正由计算设备执行的上述各种操作的程序。存储设备712还可存储可执行以与中继服务220(如图2所示)通信的程序代码,例如,如上所述。在一些实施方案中,本文所述的计算设备功能的部分(或全部)可在操作系统程序而非应用程序中实现。在一些实施方案中,存储设备712还可存储为特定附件或特定类别的附件(例如,用于管理IP相机附件的IP相机应用或用于与门锁附件交互的安全应用)设计的应用。在一些实施方案中,存储设备712可存储数字多媒体内容。
用户界面714可包括输入设备诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、键盘、麦克风等;以及输出设备诸如视频屏幕、指示灯、扬声器、耳机接口等,连同支持性电子器件(例如,数模转换器或模数转换器、信号处理器等)。用户可操作用户界面714的输入设备以调用计算设备700的功能,并且可经由用户界面714的输出设备来查看和/或收听来自计算设备700的输出。在一些实施方案中,用户界面714可以是专有遥控器。在一些实施方案中,用户界面714可被实现为用于智能电话、平板电脑、可穿戴设备或其他移动电子设备的App。
处理子系统710可以实现为一个或多个集成电路,例如一个或多个单核或多核微处理器或微控制器,这些微处理器或微控制器的示例在本领域中是已知的。在操作中,处理系统710可控制计算设备700的操作。在各种实施方案中,处理子系统710可响应于程序代码来执行各种程序,并且可维护多个同时执行的程序或进程。在任何给定时间处,待执行的一些或全部程序代码可驻留在处理子系统710和/或存储介质诸如存储设备712中。
通过合适的编程,处理子系统710可为计算设备700提供各种功能。例如,在一些实施方案中,处理子系统710可实现如由计算设备实现的上述各种过程(或其部分)。处理子系统710还可以执行其它程序来控制计算设备700的其它功能,包括可存储在存储设备712中的应用程序。在一些实施方案中,这些应用程序可例如通过生成待发送至附件的消息和/或通过从附件接收响应与附件进行交互。此类交互可通过附件管理守护进程和/或其他操作系统进程来促进,例如,如上所述,并且可包括经由如上所述的中继服务220(如图2所示)与附件通信。
通信接口716可为计算设备700提供语音和/或数据通信能力。在一些实施方案中,通信接口716可包括:用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、数据网络技术诸如3G、4G/LTE、Wi-Fi、其他IEEE 802.11系列标准或其他移动通信技术,或它们的任何组合)的射频(RF)收发器部件、用于短程无线通信(例如,使用蓝牙标准和/或蓝牙LE标准、NFC等)的部件和/或其他部件。在一些实施方案中,除了无线接口之外或代替无线接口,通信接口716可提供有线网络连接性(例如,以太网)。通信接口716可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,通信接口716可使用相同传输手段或不同传输手段同时或在不同时间支持多个通信信道。因此,例如,计算设备700可在某些时候通过本地信道与附件通信,并且在其他时间通过中继服务220(如图2所示)与附件通信。
安全存储模块718可以是可安全地存储用于计算设备700的密码信息的集成电路等。可存储在安全存储模块718内的信息的示例包括计算设备的长期公钥和密钥722(LTPKC、LTSKC)、本地配对724的列表(例如,查找表,其将本地附件标识符映射到附件长期公钥(LTPKA),该附件长期公钥(LTPKA)用于已完成,例如,如上所述,与计算设备700的本地配对设置或配对添加过程),以及中继配对726的列表(例如,附件RA和用于已经,例如,如上所述,与计算设备700建立中继配对的附件的相关访问令牌)。在一些实施方案中,可存储配对信息,使得在已经建立本地配对和与附件的中继配对的情况下,将本地配对724映射到对应的中继配对726。
在一些实施方案中,密码操作可在与安全存储模块718通信的密码逻辑模块720中实现。在物理上,密码逻辑模块720可根据需要在具有安全存储模块718的相同集成电路或不同集成电路(例如,处理子系统710中的处理器)中实现。密码逻辑模块720可包括实现或支持计算设备700的密码操作的各种逻辑电路(根据需要是固定的或可编程的),包括上述任何或所有密码操作。安全存储模块718和/或密码逻辑模块720可对计算设备700的其余部分表现为“黑盒”。因此,例如,通信接口716可以加密形式接收其不能解密的消息,并且可简单地将消息递送到处理子系统710。处理子系统710也可能无法解密消息,但其可将消息识别为加密的并将其递送到密码逻辑模块720。密码逻辑模块720可解密消息(例如,使用从安全存储模块718提取的信息)并确定哪些信息要返回到处理子系统710。因此,某些信息可仅在安全存储模块718和密码逻辑模块720内可用。如果安全存储模块718和密码逻辑模块720在仅执行来自内部安全储存库的代码的单个集成电路上实现,则这可能使信息提取非常困难,从而可提供高度的安全性。其他具体实施也是可能的。
图8示出了根据本公开的实施方案的附件800的简化框图。附件800可实现本文所述的附件功能、行为和能力中的任何或全部,以及未明确描述的其他功能、行为和能力。附件800可包括存储设备828、处理子系统830、用户界面832、附件专用硬件834、通信接口836、安全存储模块838和密码逻辑模块840。附件800还可包括其他部件(未明确示出),诸如电池、电力计算设备和可操作以提供各种增强能力的其他部件。
附件800表示可由计算设备诸如控制器操作的一大类附件,并且此类附件在能力、复杂性和形状因数方面可能有很大不同。各种附件可包括图8中未明确示出的部件,包括但不限于:具有固定或可移除的存储介质的存储设备(磁盘、闪存存储器等);视频屏幕、扬声器或用于连接至外部音频/视频设备的端口;相机部件,诸如镜头、图像传感器和用于相机部件的控件(例如,光圈、变焦、曝光时间、帧速率等);用于记录音频(单独或与视频记录结合)的麦克风;等等。
存储设备828可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质的组合来实现,并且可包括易失性和/或非易失性介质。在一些实施方案中,存储设备828可存储将由处理子系统830执行的一个或多个程序(例如,固件)以及与特定附件行为相关的操作,所述一个或多个程序包括用于实现如正由附件执行的上述各种操作的程序。存储设备828还可存储附件对象或附件定义记录,其可例如在设备发现期间提供给控制器设备。存储设备828还可存储附件状态信息和可在附件800的操作期间使用的任何其他数据。存储设备828还可存储可执行以与中继服务220(如图2所示)通信的程序代码,例如,如上所述。
处理子系统830可包括例如执行程序代码以便执行与附件800相关联的各种功能的一个或多个单核或多核微处理器和/或微控制器。例如,处理子系统830可实现如正由附件实现的上述各种过程(或其部分),例如通过执行存储在存储设备828中的程序代码。处理子系统830还可执行其他程序以控制附件800的其他功能。在一些情况下,由处理子系统830执行的程序可例如通过生成要发送到控制器的消息和/或从控制器接收消息来与控制器(例如,控制器)交互。在一些情况下,如上所述,可使用中继服务220(如图2所示)发送和/或接收消息。
用户界面832可包括用户可操作的输入设备诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等;以及输出设备诸如视频屏幕、指示灯、扬声器、耳机接口等,连同支持性电子器件(例如,数模转换器或模数转换器、信号处理器等)。根据特定附件800的具体实施,用户可操作用户界面832的输入设备以调用附件800的功能,并且可经由用户界面832的输出设备来查看和/或收听来自附件800的输出。某些附件可能提供最小的或没有用户界面。在附件不具有用户界面的情况下,用户仍可使用控制器(例如,控制器1200)与附件交互。
附件专用硬件834可包括可存在于附件800中以启用其功能的任何其他部件。例如,在各种实施方案中,附件专用硬件834可包括使用固定或可移除的存储介质的一个或多个存储设备;GPS接收器;电源和/或电力管理电路;相机;麦克风;一个或多个致动器;控制开关;环境传感器(例如,温度传感器、压力传感器、加速度计、化学传感器等);等等。应当理解,可通过提供适当的附件专用硬件834来支持任何类型的附件功能,并且附件专用硬件可包括机械以及电或电子部件。
通信接口836可为附件800提供语音和/或数据通信能力。在一些实施方案中,通信接口836可包括:用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、数据网络技术诸如3G、4G/LTE、Wi-Fi、其他IEEE 802.11系列标准或其他移动通信技术,或它们的任何组合)的射频(RF)收发器部件、用于短程无线通信(例如,使用蓝牙标准和/或蓝牙LE标准、NFC等)的部件和/或其他部件。在一些实施方案中,除了无线接口之外或代替无线接口,通信接口836可提供有线网络连接性(例如,以太网)。通信接口836可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,通信接口836可使用相同传输手段或不同传输手段同时或在不同时间支持多个通信信道。因此,例如,附件800可在某些时候通过本地信道与控制器通信,并且在其他时间通过中继服务220(如图2所示)与控制器通信。
安全存储模块838可以是可安全地存储用于附件800的密码信息的集成电路等。可存储在安全存储模块838内的信息的示例包括附件的长期公钥和密钥842(LTPKA、LTSKA),本地配对列表844(例如,查找表,其将本地控制器标识符映射到用于已完成,例如,如上所述,与附件800的本地配对设置或配对添加过程的控制器的控制器长期公钥(LTPKC)),以及中继配对列表846(例如,控制器RA和用于已经,例如,如上所述,与附件800建立中继配对的控制器的相关访问令牌)。在一些实施方案中,可存储配对信息,使得在已经建立了本地配对和与控制器的中继配对的情况下,将本地配对844映射到对应的中继配对846。在一些实施方案中,安全存储模块838可被省略;配对控制器的密钥和列表可被存储在存储设备828中。
在一些实施方案中,密码操作可在与安全存储模块838通信的密码逻辑模块840中实现。在物理上,密码逻辑模块840可根据需要在具有安全存储模块838的相同集成电路或不同集成电路(例如,处理子系统830中的处理器)中实现。密码逻辑模块840可包括实现或支持附件800的密码操作的各种逻辑电路(根据需要是固定的或可编程的),包括上述任何或所有密码操作。安全存储模块838和/或密码逻辑模块840可对附件800的其余部分表现为“黑盒”。因此,例如,通信接口836可以加密形式接收其不能解密的消息,并且可简单地将消息递送到处理子系统830。处理子系统830也可能无法解密消息,但其可将消息识别为加密的并将其递送到密码逻辑模块840。密码逻辑模块840可解密消息(例如,使用从安全存储模块838提取的信息)并确定哪些信息要返回到处理子系统830。因此,某些信息可仅在安全存储模块838和密码逻辑模块840内可用。如果安全存储模块838和密码逻辑模块840在仅执行来自内部安全储存库的代码的单个集成电路上实现,则这可能使信息提取非常困难,从而可提供高度的安全性。其他具体实施也是可能的。
附件800可以是与控制器900交互的任何电子装置。在一些实施方案中,控制器900可通过如下所述的附件800的操作来提供远程控制。例如,控制器900可为附件800提供远程用户界面,该远程用户界面可包括输入控件和输出控件两者(例如,用于显示从附件800获得的当前状态信息的显示屏和用于允许状态信息的变化的输入控件诸如触摸屏覆盖)。在各种实施方案中,控制器900可控制附件800的任何功能并且还可经由本地信道或中继服务220(如图2所示)从附件800接收数据。
图9示出了根据本公开的实施方案的控制器900的简化框图。在一些实施方案中,控制器900可实现本文所述的由控制器执行的功能、行为和能力中的任何或全部,以及未明确描述的其他功能、行为和能力。控制器900可包括处理子系统910、存储设备912、用户界面914、通信接口916、安全存储模块918和密码逻辑模块920。控制器900还可包括其他部件(未明确示出),诸如电池、电力控制器和可操作以提供各种增强能力的其他部件。在各种实施方案中,控制器900可在台式计算机、膝上型计算机、平板电脑、智能电话、其他移动电话、可穿戴计算设备或具有任何期望形状因数的其他系统中实现。此外,如上所述,控制器900可部分地在基站中实现,并部分地在与基站通信并提供用户界面的移动单元中实现。
存储设备912可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质的组合来实现,并且可包括易失性和/或非易失性介质。在一些实施方案中,存储设备912可存储将由处理子系统910执行的一个或多个应用程序和/或操作系统程序,包括用于实现如正由控制器执行的上述各种操作的程序。例如,存储设备912可存储统一的控制器应用程序,所述控制器应用程序可读取附件描述记录并基于其中信息来生成用于控制该附件的图形用户界面。存储设备912还可存储可执行以与中继服务220(如图2所示)通信的程序代码,例如,如上所述。在一些实施方案中,本文所述的控制器功能的部分(或全部)可在操作系统程序而非应用程序中实现。在一些实施方案中,存储设备912还可存储为特定附件或特定类别的附件(例如,用于管理IP相机附件的IP相机应用或用于与门锁附件交互的安全应用)设计的应用。
用户接口914可以包括:输入设备,诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、通信接口916(例如,麦克风)等;以及输出设备,诸如视频屏幕、指示灯、扬声器、耳机接口等,连同支持性电子设备(例如,数模或模数转换器、信号处理器等)。用户可操作用户界面914的输入设备以调用控制器900的功能,并且可经由用户界面914的输出设备来查看和/或收听来自控制器900的输出。
处理子系统910可以实现为一个或多个集成电路,例如一个或多个单核或多核微处理器或微控制器,这些微处理器或微控制器的示例在本领域中是已知的。在操作中,处理系统910可控制控制器900的操作。在各种实施方案中,处理子系统910可响应于程序代码来执行各种程序,并且可维护多个同时执行的程序或进程。在任何给定时间处,待执行的一些或全部程序代码可驻留在处理子系统910和/或存储介质诸如存储设备912中。
通过合适的编程,处理子系统910可为控制器900提供各种功能。例如,在一些实施方案中,处理子系统910可实现如由控制器实现的上述各种过程(或其部分)。处理子系统910还可执行其他程序(包括可存储在存储设备912中的应用程序)以控制控制器900的其他功能。在一些实施方案中,这些应用程序可例如通过生成待发送至附件的消息和/或通过从附件接收响应与附件进行交互。此类交互可通过附件管理守护进程和/或其他操作系统进程来促进,例如,如上所述,并且可包括经由如上所述的中继服务220(如图2所示)与附件通信。
通信接口916可为控制器900提供语音和/或数据通信能力。在一些实施方案中,通信接口916可包括:用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、数据网络技术诸如3G、4G/LTE、Wi-Fi、其他IEEE 802.11系列标准或其他移动通信技术,或它们的任何组合)的射频(RF)收发器部件、用于短程无线通信(例如,使用蓝牙标准和/或蓝牙LE标准、NFC等)的部件和/或其他部件。在一些实施方案中,除了无线接口之外或代替无线接口,通信接口916可提供有线网络连接性(例如,以太网)。通信接口916可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,通信接口916可使用相同传输手段或不同传输手段同时或在不同时间支持多个通信信道。因此,例如,控制器900可在某些时候通过本地信道与附件通信,并且在其他时间通过中继服务220(如图2所示)与附件通信。
安全存储模块918可以是可安全地存储用于控制器900的密码信息的集成电路等。可存储在安全存储模块918内的信息的示例包括控制器的长期公钥和密钥922(LTPKC、LTSKC)、本地配对924的列表(例如,查找表,其将本地附件标识符映射到附件长期公钥(LTPKA),该附件长期公钥(LTPKA)用于已完成,例如,如上所述,与控制器900的本地配对设置或配对添加过程的附件),以及中继配对926的列表(例如,附件RA和用于已经,例如,如上所述,与控制器900建立中继配对的附件的相关访问令牌)。在一些实施方案中,可存储配对信息,使得在已经建立本地配对和与附件的中继配对的情况下,将本地配对924映射到对应的中继配对926。
在一些实施方案中,密码操作可在与安全存储模块918通信的密码逻辑模块920中实现。在物理上,密码逻辑模块920可根据需要在具有安全存储模块918的相同集成电路或不同集成电路(例如,处理子系统910中的处理器)中实现。密码逻辑模块920可包括实现或支持控制器900的密码操作的各种逻辑电路(根据需要是固定的或可编程的),包括上述任何或所有密码操作。安全存储模块918和/或密码逻辑模块920可对控制器900的其余部分表现为“黑盒”。因此,例如,通信接口916可以加密形式接收其不能解密的消息,并且可简单地将消息递送到处理子系统910。处理子系统910也可能无法解密消息,但其可将消息识别为加密的并将其递送到密码逻辑模块920。密码逻辑模块920可解密消息(例如,使用从安全存储模块918提取的信息)并确定哪些信息要返回到处理子系统910。因此,某些信息可仅在安全存储模块918和密码逻辑模块920内可用。如果安全存储模块918和密码逻辑模块920在仅执行来自内部安全储存库的代码的单个集成电路上实现,则这可能使信息提取非常困难,从而可提供高度的安全性。其他具体实施也是可能的。
此外,尽管本文参考特定块描述了控制器,但是应当理解,定义这些块是为了描述方便,并非意在暗示部件的特定物理布置。此外,块不必对应于物理上不同的部件。可以例如通过对处理器进行编程或提供适当的控制电路来配置块以执行各种操作,并且根据初始配置的获得方式,各个块可能是可重新配置的或不可重新配置的。可在包括使用电路和软件的任何组合实现的电子设备在内的各种装置中实现本公开的实施方案。
本文所述的控制器和附件可实现在可具有一般常规设计的电子设备中。此类设备可适于使用支持命令与控制操作的统一附件协议通信,通过这个协议,控制器(第一电子设备)可控制附件(第二电子设备)的操作。在某些情况下,例如在如上所述的代理的情况下,设备可将控制器和附件的各个特征或方面组合。
应当理解,本文所述的系统配置和部件是例示性的,并且变型和修改是可能的。应当理解,控制器900的具体实施可执行上述正由计算设备执行的所有操作,并且附件800的具体实施可执行上述正由附件执行的任何或所有操作。代理、桥接器、隧道或协调器可根据需要使用相同硬件或不同硬件来组合控制器900和附件800的部件。计算设备和/或附件可能具有本文并未明确描述的其他能力(例如,移动电话、全球定位系统(GPS)、宽带数据通信、互联网连接等)。根据具体实施,这些设备可以进行互操作,以便提供由任一(或两个)设备支持的任何功能性或提供在每个设备中部分地实现的功能性。在一些实施方案中,特定附件可具有无法经由特定计算设备访问或调用但可经由另一控制器或通过直接与附件交互访问的某些功能。
此外,尽管本文参考特定块描述了计算设备和附件,但应当理解,定义这些块是为了描述的方便,而并非旨在暗示部件部分的特定物理布置。此外,块不必对应于物理上不同的部件。可以例如通过对处理器进行编程或提供适当的控制电路来配置块以执行各种操作,并且根据初始配置的获得方式,各个块可能是可重新配置的或不可重新配置的。可在包括使用电路和软件的任何组合实现的电子设备在内的各种装置中实现本公开的实施方案。
可使用专用部件和/或可编程处理器和/或其他可编程设备的任意组合来实现本文所描述的各种功能,例如方法、装置、计算机可读介质等。本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作或其任何组合来实现此类配置。此外,虽然上述实施方案可能参考了具体硬件部件和软件部件,但本领域的技术人员应当理解,也可使用硬件部件和/或软件部件的不同组合,并且被描述为正在硬件中实现的特定操作也可能在软件中被实现,反之亦然。
可在各种计算机可读存储介质上对结合本文所述的各种特征的计算机程序进行编码和存储;合适的介质包括磁盘或磁带、光学存储介质诸如光盘(CD)或DVD(数字通用光盘)、闪存存储器,以及其他非暂态介质。可将用程序代码编码的计算机可读介质与兼容的电子设备封装在一起,或者该程序代码可独立于电子设备提供(例如,经由互联网下载或作为单独封装的计算机可读存储介质)。
如上所述,本技术的一个方面是收集和使用可从各种源获得的数据以用于家庭网络环境。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于定位的数据、电话号码、电子邮件地址、twitter ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命信号测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于家庭设备的安全帧管理。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,在家庭网络控制的情况下,本发明的技术可被配置为在注册服务期间或者其后的任何时间,允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可以选择不为家庭网络设置提供人员信息、不为目标内容递送服务提供情绪相关数据。又如,用户可选择限制由家庭网络维持的个人数据量。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低数量的个人信息诸如与用户相关联的设备所请求的内容、对家庭网络可用的其他非个人信息或公开可用的信息来推断偏好,从而选择内容并将该内容递送至用户。
因此,尽管已相对于具体实施方案描述了本公开,但应当理解,本公开旨在覆盖以下权利要求书范围内的所有修改形式和等同形式。
相应地,说明书和附图应被视为具有例示性的而非限制性的意义。然而,显而易见的是,在不脱离权利要求中阐述的本公开的更广泛的实质和范围的情况下,可对其进行各种修改和改变。
其他变型形式在本公开的实质内。因此,尽管所公开的技术容易受到各种修改和另选构造的影响,但是其某些例示的实施方案在附图中示出并且已经在上面详细描述。然而,应当理解,并不旨在将本公开限制于所公开的特定形式,相反,其目的在于覆盖落入由所附权利要求所限定的本公开的实质和范围内的所有修改、另选构造和等同形式。
在描述所公开的实施方案的上下文中(特别是在下面的权利要求书的上下文中)使用术语“一”、“一个”和“该”以及类似的指示词将被解释为覆盖单数和复数,除非另有说明或与上下文明显矛盾。除非另有说明,否则术语“包含”、“具有”、“包括”和“含有”应被解释为开放式术语(即,意思为“包括但不限于”)。术语“连接”被解释为即使有干预的东西,也被部分或全部地包含在内、附接或接合在一起。短语“基于”应当被理解为开放式的,并且不以任何方式进行限制,并且旨在在适当的情况下被解释或以其他方式理解为“至少部分地基于”。除非本文另有说明,否则本文中对数值范围的叙述仅仅旨在用作单独提及落入该范围内的每个单独值的简单方法,并且每个单独的值被并入说明书中,如同在本文中单独引用。本文描述的所有方法能够以任何合适的顺序执行,除非本文另有说明或以其他方式与上下文明显矛盾。除非另有声明,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅旨在更好地说明本公开的实施方案,并且不会限制本公开的范围。说明书中的任何语言都不应被解释为指示任何未声明的元素对于本公开的实践是必不可少的。
除非另外特别说明,否则析取语言诸如短语“X、Y或Z中的至少一者”在上下文中被理解为通常用于呈现项目、术语等,其可以是X、Y或Z,或它们的任何组合(例如,X、Y和/或Z)。因此,此类析取语言通常不旨在并且不应该暗示某些实施方案要求X中的至少一个、Y中的至少一个或者Z中的至少一个均各自存在。另外,除非另外特别说明,否则诸如短语“X,Y和Z中的至少一者”的联合语言也应理解为意指X、Y、Z或它们的任何组合,包括“X、Y和/或Z”。
本文描述了本公开的优选实施方案,包括发明人已知的用于执行本公开的最佳模式。在阅读前面的描述之后,那些优选实施方案的变型形式对于本领域的普通技术人员来说可变得显而易见。发明人期望技术人员适当地采用此类变型形式,并且发明人旨在以不同于本文具体描述的方式来实践本公开。因此,如适用法律所允许的,本公开包括所附权利要求中记载的主题的所有修改和等同形式。此外,除非在本文中另外指出或者明显与上下文矛盾,否则本公开包含上述元素的所有可能变型形式的任何组合。
本文引用的所有参考文献,包括出版物、专利申请和专利,均据此以引用方式并入本文,正如每篇参考文献被单独且具体地指示为以引用方式并入并且在本文全文阐述。

Claims (20)

1.一种视频帧管理的方法,所述方法包括:
响应于由连接到网络的相机检测到运动,由计算设备从所述相机接收视频流的一个或多个帧和伴随的元数据;
根据在所述视频流的所述一个或多个帧中的至少一个帧中检测到触发项目:
由所述计算设备对所述视频流的所述一个或多个帧和所述伴随的元数据进行加密;
将所述视频流的所述一个或多个帧和所述伴随的元数据传输到网络计算设备,所述网络计算设备被配置为将所述视频流的所述加密的一个或多个帧和所述加密的伴随的元数据存储在容器中;
由所述计算设备对所述视频流的一个或多个后续帧和后续元数据进行加密;以及
将所述视频流的所述加密的一个或多个后续帧和所述加密的后续元数据传输到所述网络计算设备,所述网络计算设备被配置为将所述视频流的所述一个或多个加密的后续帧附加到所述视频流的所述一个或多个帧上并将所述加密的后续元数据存储在所述容器中以使得所述视频流和所述视频流的后续帧能够显示为单个视频文件。
2.根据权利要求1所述的方法,还包括由所述计算设备通过至少将来自所述相机的所述视频流的所述一个或多个帧的一个或多个方面与一个或多个标准进行比较来对所述视频流的所述一个或多个帧进行分类。
3.根据权利要求2所述的方法,其中所述分类包括利用图像识别技术来确定所述视频流的所述一个或多个帧的类别。
4.根据权利要求2所述的方法,其中所述分类包括多个不同的种类,包括人、动物和车辆中的至少一者。
5.根据权利要求1至4中任一项所述的方法,还包括由所述计算设备查看所述视频流的所述一个或多个帧中的每个帧以发现所述触发项目。
6.根据权利要求1至4中任一项所述的方法,还包括由所述计算设备建立与网络计算设备的连接。
7.根据权利要求6所述的方法,所述方法还包括:
根据检测到所述视频流的所述一个或多个后续帧中的至少一个后续帧中不存在所述触发项目:
终止与所述网络计算设备的所述连接。
8.根据权利要求1至4中任一项所述的方法,还包括对来自所述相机的所述视频流的所述一个或多个帧进行解密。
9.根据权利要求1至4中任一项所述的方法,其中所述伴随的元数据识别所述视频流的所述一个或多个帧的开始时间和结束时间。
10.一种用于网络的计算设备,包括:
一个或多个存储器;和
一个或多个处理器,所述一个或多个处理器与所述一个或多个存储器通信并被配置为执行存储在所述一个或多个存储器中的指令以:
从相机接收视频流的一个或多个帧和伴随的元数据;
根据在所述视频流的所述一个或多个帧中的至少一个帧中检测到触发项目:
由所述计算设备对所述视频流的所述一个或多个帧和所述伴随的元数据进行加密;
通过连接将所述视频流的所述一个或多个帧和所述伴随的元数据传输到网络计算设备,所述网络计算设备被配置为将所述视频流的所述加密的一个或多个帧和所述加密的伴随的元数据存储在容器中;
由所述计算设备对所述视频流的一个或多个后续帧和后续元数据进行加密;以及
通过所述连接将所述视频流的所述加密的一个或多个后续帧和所述加密的后续元数据传输到所述网络计算设备,所述网络计算设备被配置为将所述视频流的所述一个或多个加密的后续帧附加到所述视频流的所述一个或多个帧上并将所述加密的后续元数据存储在所述容器中以使得所述视频流和所述视频流的后续帧能够显示为单个视频文件。
11.根据权利要求10所述的计算设备,其中使用对称加密密钥对所述容器进行加密。
12.根据权利要求11所述的计算设备,其中所述对称加密密钥是256位加密密钥。
13.根据权利要求10至12中任一项所述的计算设备,其中所述视频流的所述一个或多个帧包括来自所述相机的实时视频流数据的片段。
14.根据权利要求10至12中任一项所述的计算设备,其中所述计算设备被配置为使用基于HTTP的自适应比特率流传输通信协议来播放所述视频流的所述一个或多个帧。
15.根据权利要求10至12中任一项所述的计算设备,还包括向第二计算设备提供指令以平衡所述计算设备和所述第二计算设备之间的负载。
16.根据权利要求10至12中任一项所述的计算设备,还包括生成私钥以用于解密。
17.一种存储多个指令的计算机可读介质,所述多个指令当由计算设备的一个或多个处理器执行时使所述一个或多个处理器执行包括以下项的操作:
由所述计算设备从互联网协议相机接收视频流的一个或多个帧和伴随的元数据;
由所述计算设备查看所述视频流的所述一个或多个帧中的每个帧以发现触发项目;
根据在所述视频流的所述一个或多个帧中的至少一个帧中检测到所述触发项目:
由所述计算设备对所述视频流的所述一个或多个帧和所述伴随的元数据进行加密;
通过连接将所述视频流的所述一个或多个帧和所述伴随的元数据传输到网络计算设备,所述网络计算设备被配置为将所述视频流的所述加密的一个或多个帧和所述加密的伴随的元数据存储在存储容器中;
由所述计算设备对所述视频流的一个或多个后续帧和后续元数据进行加密;以及
通过所述连接将所述视频流的所述加密的一个或多个后续帧和所述加密的后续元数据传输到所述网络计算设备,所述网络计算设备被配置为将所述视频流的所述一个或多个加密的后续帧附加到所述视频流的所述一个或多个帧上并将所述加密的后续元数据存储在所述存储容器中以使得所述视频流和所述视频流的后续帧能够显示为单个视频文件。
18.根据权利要求17所述的计算机可读介质,还包括针对从所述互联网协议相机接收的所述视频流的所述一个或多个帧的负载在一个或多个处理器之间执行平衡操作。
19.根据权利要求18所述的计算机可读介质,其中所述平衡操作包括至少部分地基于所述计算设备的所述一个或多个处理器的带宽和网络带宽将操作重新分配给第二计算设备。
20.根据权利要求17至19中任一项所述的计算机可读介质,还包括将对特定相机的访问控制分配给主网络外部的用户的指令。
CN202080039171.9A 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质 Active CN113875259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311630042.9A CN117676203A (zh) 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962853408P 2019-05-28 2019-05-28
US62/853,408 2019-05-28
US16/560,678 US11482005B2 (en) 2019-05-28 2019-09-04 Techniques for secure video frame management
US16/560,678 2019-09-04
PCT/US2020/034763 WO2020243209A1 (en) 2019-05-28 2020-05-27 Techniques for secure video frame management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311630042.9A Division CN117676203A (zh) 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN113875259A CN113875259A (zh) 2021-12-31
CN113875259B true CN113875259B (zh) 2023-12-12

Family

ID=73549730

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311630042.9A Pending CN117676203A (zh) 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质
CN202080039171.9A Active CN113875259B (zh) 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311630042.9A Pending CN117676203A (zh) 2019-05-28 2020-05-27 用于安全视频帧管理的方法、计算设备和计算机可读介质

Country Status (4)

Country Link
US (3) US11482005B2 (zh)
EP (1) EP3963893A1 (zh)
CN (2) CN117676203A (zh)
WO (1) WO2020243209A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11482005B2 (en) 2019-05-28 2022-10-25 Apple Inc. Techniques for secure video frame management
US11165954B1 (en) * 2019-06-19 2021-11-02 Objectvideo Labs, Llc Scene-aware custom tuned video surveillance detection system
US11877059B2 (en) * 2021-03-09 2024-01-16 Qualcomm Incorporated Sensor-based image verification
US12002286B1 (en) * 2023-09-13 2024-06-04 Verkada Inc. Methods and apparatus for simulating a virtual camera using a computer to generate analytics of a video

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011144510A1 (en) * 2010-05-17 2011-11-24 St-Ericsson Sa Method and device for communicating digital content
EP2835978A2 (en) * 2013-08-08 2015-02-11 Honeywell International Inc. System and method of motion detection on encrypted or scrambled video data streams
WO2015153723A1 (en) * 2014-04-01 2015-10-08 Invoke Ltd. A method and system for real-time cloud storage of video content
CN109565605A (zh) * 2016-08-10 2019-04-02 松下电器(美国)知识产权公司 拍摄技术生成方法以及影像处理装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
WO2010030978A2 (en) * 2008-09-15 2010-03-18 Aman James A Session automated recording together with rules based indexing, analysis and expression of content
US20020059144A1 (en) * 2000-04-28 2002-05-16 Meffert Gregory J. Secured content delivery system and method
US7376233B2 (en) * 2002-01-02 2008-05-20 Sony Corporation Video slice and active region based multiple partial encryption
US20040093419A1 (en) * 2002-10-23 2004-05-13 Weihl William E. Method and system for secure content delivery
US7508941B1 (en) * 2003-07-22 2009-03-24 Cisco Technology, Inc. Methods and apparatus for use in surveillance systems
US20050207569A1 (en) * 2004-03-16 2005-09-22 Exavio, Inc Methods and apparatus for preparing data for encrypted transmission
US8219702B2 (en) * 2004-04-30 2012-07-10 Canon Kabushiki Kaisha Video delivery apparatus and method
WO2007115224A2 (en) 2006-03-30 2007-10-11 Sri International Method and apparatus for annotating media streams
US20080198159A1 (en) * 2007-02-16 2008-08-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for efficient and flexible surveillance visualization with context sensitive privacy preserving and power lens data mining
US8243924B2 (en) * 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
WO2009003684A1 (en) * 2007-07-02 2009-01-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
US9325951B2 (en) * 2008-03-03 2016-04-26 Avigilon Patent Holding 2 Corporation Content-aware computer networking devices with video analytics for reducing video storage and video communication bandwidth requirements of a video surveillance network camera system
JP5709367B2 (ja) * 2009-10-23 2015-04-30 キヤノン株式会社 画像処理装置、および画像処理方法
US8468345B2 (en) * 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US9609340B2 (en) * 2011-12-28 2017-03-28 Verizon Patent And Licensing Inc. Just-in-time (JIT) encoding for streaming media content
US9582722B2 (en) * 2012-08-31 2017-02-28 Xerox Corporation Video-based vehicle speed estimation from motion vectors in video streams
US9197861B2 (en) 2012-11-15 2015-11-24 Avo Usa Holding 2 Corporation Multi-dimensional virtual beam detection for video analytics
JP6142008B2 (ja) * 2013-03-15 2017-06-07 インテル コーポレイション モバイル・コンピューティング・デバイス技術、並びに同技術を用いるシステム及び方法
US9635317B1 (en) * 2013-05-08 2017-04-25 Surround.IO Permission based camera with encrypted photo and video output
CN108259159B (zh) 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US9912994B2 (en) * 2014-07-03 2018-03-06 Mobiledirect, Inc. Interactive distributed multimedia system
US9646387B2 (en) 2014-10-15 2017-05-09 Comcast Cable Communications, Llc Generation of event video frames for content
US20160182952A1 (en) 2014-12-23 2016-06-23 Microsoft Technology Licensing, Llc Protected Media Decoding System Supporting Metadata
US9841865B2 (en) * 2015-06-05 2017-12-12 Whp Workflow Solutions, Llc In-vehicle user interfaces for law enforcement
EP3104598B1 (en) * 2015-06-08 2020-06-03 Teleste Oyj Method and system for providing access to a video content
US10789207B2 (en) * 2015-07-27 2020-09-29 Sas Institute Inc. Distributed data storage grouping
WO2017046789A1 (en) * 2015-09-15 2017-03-23 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
EP3896899A1 (en) * 2015-11-20 2021-10-20 Genetec Inc. Secure layered encryption of data streams
US9602477B1 (en) * 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
US10257474B2 (en) * 2016-06-12 2019-04-09 Apple Inc. Network configurations for integrated accessory control
US10601794B2 (en) * 2016-08-01 2020-03-24 Google Llc Providing online media content via a satellite broadcast system
JP6975416B2 (ja) * 2016-10-25 2021-12-01 アウル カメラズ, インコーポレイテッドOwl Cameras, Inc. ビデオベースのデータ収集、画像のキャプチャおよび解析構成
US10856016B2 (en) * 2016-12-31 2020-12-01 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode based on user selection
US10169597B2 (en) * 2016-12-31 2019-01-01 Entefy Inc. System and method of applying adaptive privacy control layers to encoded media file types
US10361859B2 (en) * 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US10862940B1 (en) * 2018-07-31 2020-12-08 Glance Networks, Inc. Low latency live video on a communication session
EP3713226A1 (en) * 2018-09-28 2020-09-23 Axis AB Content security for a video stream
US11482005B2 (en) 2019-05-28 2022-10-25 Apple Inc. Techniques for secure video frame management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011144510A1 (en) * 2010-05-17 2011-11-24 St-Ericsson Sa Method and device for communicating digital content
EP2835978A2 (en) * 2013-08-08 2015-02-11 Honeywell International Inc. System and method of motion detection on encrypted or scrambled video data streams
WO2015153723A1 (en) * 2014-04-01 2015-10-08 Invoke Ltd. A method and system for real-time cloud storage of video content
CN109565605A (zh) * 2016-08-10 2019-04-02 松下电器(美国)知识产权公司 拍摄技术生成方法以及影像处理装置

Also Published As

Publication number Publication date
US20230088057A1 (en) 2023-03-23
US11895346B2 (en) 2024-02-06
WO2020243209A1 (en) 2020-12-03
CN113875259A (zh) 2021-12-31
EP3963893A1 (en) 2022-03-09
US11482005B2 (en) 2022-10-25
CN117676203A (zh) 2024-03-08
US20200380266A1 (en) 2020-12-03
US20240129563A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
CN113875259B (zh) 用于安全视频帧管理的方法、计算设备和计算机可读介质
US11218670B2 (en) Video-based data collection, image capture and analysis configuration
KR102293116B1 (ko) 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US11303967B2 (en) Scrub and playback of video buffer over wireless
KR101502249B1 (ko) 디바이스 통신
Celosia et al. Discontinued privacy: Personal data leaks in apple bluetooth-low-energy continuity protocols
EP3714549B1 (en) Secured pairing of video capture device and mobile device
US11823539B2 (en) High-priority event generation and reporting for camera-based security system
US11514717B2 (en) Identifying objects within images from different sources
EP3474247B1 (en) Media content privacy control
US10356067B2 (en) Device and method for providing user-configured trust domains

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