CN104284187A - 用于在压缩视频数据中包括缩略图的技术 - Google Patents

用于在压缩视频数据中包括缩略图的技术 Download PDF

Info

Publication number
CN104284187A
CN104284187A CN201410477573.3A CN201410477573A CN104284187A CN 104284187 A CN104284187 A CN 104284187A CN 201410477573 A CN201410477573 A CN 201410477573A CN 104284187 A CN104284187 A CN 104284187A
Authority
CN
China
Prior art keywords
frame
full resolution
thumbnail
resolution frames
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410477573.3A
Other languages
English (en)
Other versions
CN104284187B (zh
Inventor
王策
王长亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104284187A publication Critical patent/CN104284187A/zh
Application granted granted Critical
Publication of CN104284187B publication Critical patent/CN104284187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

各种实施例通常涉及用于将运动视频的按照编码顺序的全分辨率帧和相对应的缩略图结合到压缩视频数据中的技术。一种用于对视频帧进行压缩的设备包括:处理器部件;以及用于由所述处理器部件执行以便在运动视频的多个压缩全分辨率帧当中散布至少一个压缩缩略图帧(T帧)的压缩部件,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。还描述并且请求保护了其它实施例。

Description

用于在压缩视频数据中包括缩略图的技术
背景技术
在代表运动视频的压缩视频数据的存储和传输二者中典型地采用各种类型的视频压缩。由瑞士日内瓦的国际标准组织颁布的广泛使用的运动图像专家组(MPEG)规范的版本在这些视频压缩的类型当中。具体地说,众所周知的MPEG 2和MPEG 4(也被称为H.264)的MPEG的版本已经被广泛地采用用于在经由卫星、通过无线电和基于电缆的分发系统、以及作为经由网络(例如,以太网)的流数据传输运动视频中使用。当前正在开发的是MPEG的新版本,在它的开发者当中被称为高效率视频编码(“HEVC”)或者“H.265”,该版本更新了MPEG的各种方面以便更好地处理“高清”电视分辨率的普遍使用。
这种类型的视频压缩的广泛采用与能够支持新功能的新一代观看设备的发展齐头并进,该新功能包括使用缩略图来提供运动视频的预览和/或运动视频的部分的视觉索引。缩略图典型地是运动视频的全分辨率帧的至少一些的缩小尺寸的版本,经常具有仅高达200×200像素的分辨率,与现在常见的全分辨率帧的1920×1080像素相对。缩略图也经常比它们相对应的全分辨率帧具有更少的每像素色彩深度(例如,缩略图每像素8比特,与全分辨率帧的每像素16或者24比特相对)。
它们更低的分辨率和/或色彩深度导致缩略图与描绘相同图像的相对应的全分辨率帧相比较具有相当小的数据尺寸,使得视觉呈现缩略图与视觉呈现全分辨率帧相比能够是明显较少的处理器密集的。不幸的是,采用压缩的类型(例如,MPEG 2、MPEG 4等等)以及仅支持单个分辨率的压缩编解码器(CODEC)硬件和/或软件的实现已经变得普遍,使得仅全分辨率帧被典型地传输或存储。结果,观看设备当前必须通过首先解压缩和/或解密相对应的全分辨率帧并且接着使那些全分辨率帧降低尺寸以便创建缩略图来得到缩略图。
因而,观看设备被拒绝了缩略图的较小数据尺寸能够提供的降低的处理需求的潜在益处。这对于依赖电池提供电功率的便携式观看设备变为显著的问题,由于较高的处理需求典型地导致较高的功率消耗速率。
附图说明
图1说明了视频呈现系统的实施例。
图2说明了视频呈现系统的可选实施例。
图3-5的每一个说明了根据实施例生成压缩视频数据的示例。
图6说明了根据实施例生成压缩视频数据和消息数据的示例。
图7说明了根据实施例缩略图在压缩视频数据中的组织的示例。
图8-9的每一个说明了实施例的一部分。
图10-13的每一个说明了根据实施例的逻辑流程。
图14说明了根据实施例的处理架构。
图15说明了图形处理系统的另一可选实施例。
图16说明了设备的实施例。
具体实施方式
各种实施例通常涉及用于将运动视频的按照编码顺序的全分辨率帧和相对应的缩略图结合到压缩视频数据中的技术。包括全分辨率帧和相对应的缩略图二者使得观看设备能够根据要视觉呈现哪一个来选择性地解压缩一个或者另一个。因而,观看设备能够视觉呈现缩略图而不解压缩全分辨率帧,从而避免较高的处理需求以及与此相关联的功率消耗速率。
多个缩略图的集合被组合以便形成多缩略图帧,该多缩略图帧被压缩并且接着被散布在全分辨率帧当中。全分辨率帧被按照编码顺序布置以便形成一系列全分辨率帧,当按照时间顺序被解压缩和视觉呈现时,该一系列全分辨率帧提供了运动视频的视觉呈现。与全分辨率帧相比较,每一个多缩略图帧中的缩略图的集合可以保持时间顺序。与压缩视频数据相关联的消息数据在至少全分辨率帧的压缩期间生成,并且包括指示压缩形式的全分辨率帧的参数的消息,以便使能它们的解压缩和/或解密。消息数据可以被增强以便附加地包括指示压缩形式的多缩略图的参数的消息。
在一些实施例中,MPEG的版本或者类似的压缩类型可以被采用来压缩至少全分辨率帧。在这样的实施例中,一系列全分辨率帧可以被压缩以便生成压缩全分辨率帧的组合,该压缩全分辨率帧例如是内帧(I帧)、预测帧(P帧)和/或被组织到画面组(GOP)中的双向预测帧(B帧)。视频数据可以结合一系列多个GOP,并且这些GOP可以被按照时间顺序组织,而每一个GOP内部的压缩全分辨率帧按照编码顺序被布置。MPEG的相同版本也可以被采用来压缩多缩略图帧以便生成压缩缩略图帧(T帧),并且每一个GOP可以进一步结合T帧中的一个或多个,该T帧被散布在由全分辨率帧的压缩生成的I帧、P帧和B帧当中。
与视频数据相关联的消息数据可以包括识别每一个GOP中的压缩帧中的哪些是压缩全分辨率帧并且哪些是T帧的消息。可以存在指定用于压缩全分辨率帧和/或T帧的参数的消息,例如像素分辨率、色彩深度、色彩编码、用于视觉呈现的每秒帧数、或者哪些压缩帧也被加密以及哪些压缩帧没有被加密。也可以存在指定T帧位于视频数据的压缩帧当中的间隔、每一个GOP中T帧的位置和/或包括在每一个T帧内的缩略图的数量的消息。
在一些实施例中,完全独立于全分辨率帧来压缩多缩略图帧,使得没有所产生的T帧参照任何全分辨率帧的压缩形式来描述它的像素色彩值。因而,每一个T帧可以被压缩为内帧,使得它的像素色彩值不参照包括另一T帧的任何其它帧来描述。可选地,T帧的子集可以是预测帧和/或双向预测帧,其中它们的像素色彩值参照一个或多个其它的T帧来描述。
在一些实施例中,T帧可以被散布在压缩全分辨率帧当中和/或与T帧相关联的消息可以按照符合对于压缩类型的被广泛接受的标准的方式被结合到消息数据中作为可选的特征(例如,作为对MPEG的版本的可选扩展,例如HEVC)。更具体地,在压缩视频数据中包括T帧和/或在消息数据中包括与T帧相关联的消息可以按照使得它们的解压缩和随后的使用能够是可选的方式被执行。因而,被配置为根据这样的标准解压缩运动视频的一些观看设备可以完全忽略T帧,并且仅解压缩压缩全分辨率帧,而其它观看设备可以附加地解压缩T帧。
参照本文使用的符号和命名,下面的详细描述部分可以按照在计算机或者计算机网络上执行的程序过程被呈现。这些过程性描述和呈现由本领域技术人员使用以便向本领域技术人员最有效地传达它们工作的实质。过程在本文中通常被设想为是导致期望结果的独立的操作序列。这些操作是要求物理量的物理操控的操作。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较或者以其它方式操控的电、磁或光学信号的形式。将这些信号称为比特、值、元素、符号、字符、项、数字等等有时证明是方便的,主要是出于通用的原因。然而,应当注意的是,所有这些术语和类似的术语要与合适的物理量相关联,并且只是应用于这些量的方便的标签。
进而,这些操作经常按照诸如添加和比较的术语被引用,该操作通常与由人类操作者执行的智力操作相关联。然而,在本文描述的形成一个或多个实施例的部分的任意操作中,人类操作者的这样的能力不是必须的,或者在大多数情况下不是期望的。相反,这些操作是机器操作。用于执行各种实施例的操作的有用机器包括通用数字计算机,该通用数字计算机由存储在其中的根据本文的教导编写的计算机程序进行选择性地激活或配置,和/或包括对于所要求的目的专门构建的装置。各种实施例还涉及用于执行这些操作的装置或者系统。这些装置可以对于所要求的目的而被专门构建或者可以包括通用计算机。对于各种这些机器的要求的结构将根据给出的说明而显见。
现在参照附图,其中由始至终类似的附图标记用于指代类似的元件。在下面的描述中,为了解释的目的,阐释了各种具体细节以便提供对其的彻底理解。然而,明显的是,新型实施例可以在没有这些具体细节的情况下被实践。在其它实例中,以方框图形式示出了众所周知的结构和设备,以便促进对其的描述。意在覆盖权利要求的范围内的所有变型、等同物以及替换。
图1说明了视频呈现系统1000的实施例的方框图,该视频呈现系统结合源设备100、计算设备300和观看设备600中的一个或多个。在视频呈现系统1000中,可以从源设备接收的代表运动视频880的全分辨率帧和相对应的缩略图被计算设备300压缩并且接着被提供到观看设备600以便被视觉呈现在显示器680上。这些计算设备的每一个可以是各种类型的计算设备的任意一种,包括但不局限于,台式计算机系统、数据输入终端、膝上型计算机、上网本计算机、平板计算机、手持个人数据助理、智能电话、数码照机、被结合到衣服中的身体穿戴式计算设备、被结合到车辆(例如,汽车、自行车、轮椅等等)中的计算设备、服务器、服务器集群、服务器场等等。
如所阐释的,这些计算设备100、300和600经过网络999交换传达运动视频和/或相关数据的信号。然而,这些计算设备的一个或多个可以经由网络999与彼此和/或与另外的其它计算设备(未示出)交换与视觉影像完全不相关的其它数据。在各种实施例中,网络可以是被限制到在单个建筑物或者其它相对有限的区域内延伸的单个网络、可以延伸相当大的距离的连接网络的组合、和/或可以包括互联网。因而,网络999可以基于通过其可以交换信号的各种通信技术中的任意一种(或其组合),包括但不局限于,采用电和/或光学传导电缆的有线技术,以及采用红外、射频或者其它无线传输形式的无线技术。
在各种实施例中,源设备100(如果存在)结合接口190以便将源设备100耦合到计算设备300来以源数据130的形式为计算设备300提供运动视频880。如所阐释的,接口190可以经过与将计算设备300耦合到观看设备600的相同的网络999将源设备100耦合到计算设备300。然而,在其它实施例中,源设备100可以按照完全不同的方式耦合到计算设备300。源数据130可以按照采用本领域技术人员熟悉的各种压缩技术中的任意一种的压缩形式代表运动视频880。
在各种实施例中,计算设备300结合处理器部件350、存储设备360、控制器400以及将计算设备300耦合到网络999的接口390中的一个或多个。存储设备360存储源数据130和控制程序340中的一个或多个。控制器400结合处理器部件450和存储设备460中的一个或多个。存储设备460存储未压缩视频数据330、压缩视频数据430、参数数据435、消息数据470以及控制例程440中的一个或多个。
控制例程340结合在处理器部件350上运行的指令序列,该处理器部件350作为计算设备300的主处理器部件以便实现逻辑来执行各种功能。在一些实施例中,在执行控制例程340时,处理器部件350可以从源设备100接收代表运动视频880的源数据130,并且可以将至少其子集存储在存储设备360中。应当注意的是,源数据130在被任何使用之前可以被存储在存储设备360中相当长的时间量,包括将其代表的运动视频880传输到观看设备600用于视觉呈现。在源数据130被按照压缩形式接收的情况下,处理器部件350可以对它进行解压缩。处理器部件350接着将源数据130的至少全分辨率帧作为未压缩视频数据330提供到控制器400,以便被压缩用于提供到观看设备600。处理器部件350还可以将与全分辨率帧的至少一些相对应的缩略图作为更多未压缩视频数据330提供到控制器400。
可选地,在其它实施例中,在执行控制例程340时,处理器部件350生成运动视频880的至少一部分。在这样的其它实施例中,运动视频880可以包括计算机生成图像(CGI),该CGI使用计算设备300被创作或者以其它方式编制。可选地或者此外,运动视频880可以包括用户界面的视觉部分,例如图形化表示的可选择项和/或图形指针。处理器部件350将这样生成的运动视频的至少全分辨率帧作为未压缩视频数据330提供到控制器400。处理器部件350还可以将与全分辨率帧的至少一些相对应的缩略图作为更多未压缩视频数据330提供到控制器400。
在一些实施例中,在没有以其它方式提供缩略图的情况下,处理器部件350和/或450可以生成缩略图。在运动视频880由计算设备300作为源数据130接收的情况下,处理器部件350和/或450可以根据源数据130内的全分辨率帧生成缩略图。可选地或者此外,在处理器部件350生成运动视频880的全分辨率帧但是没有生成相对应的缩略图的情况下,处理器部件450可以根据那些全分辨率帧生成那些缩略图。
控制例程440结合在处理器部件450上运行的指令序列,该处理器部件450作为计算设备300的控制器400的控制器处理器部件以便实现逻辑来执行各种功能。在执行控制例程440时,处理器部件450将未压缩视频数据330的缩略图的集合组合到多缩略图帧中。处理器部件450接着除了压缩未压缩视频数据330的全分辨率帧以便生成压缩全分辨率帧之外,还压缩那些多缩略图帧以便生成压缩的缩略图帧(T帧)。处理器部件450接着将所产生的T帧和压缩全分辨率帧作为压缩视频数据430进行存储。
在压缩全分辨率帧和多缩略图帧时采用的压缩类型包括MPEG的版本或者视频压缩的类似类型(例如,由WA,Redmond的Corporatlon颁布的VC1,或者由CA,Mountain View的Inc.颁布的VP8或VP9)的情况下,则处理器部件450可以附加地将压缩全分辨率帧和T帧组织到画面组(GOP)中。如本领域技术人员熟悉的,GOP的第一个压缩帧典型地是I帧,该I帧具有从不按照时间顺序被其它帧领先的类型,该其它帧在描述它们自身时参考它的像素色彩值。换句话说,每一个GOP典型地由I帧开始,其中仅随后的P帧或B帧使用它作为参考。这样的I帧经常被称为即时解码刷新帧(IDR帧)或者随机存取图片(RAP)。
图3说明了根据未压缩视频数据330的全分辨率帧333和缩略图338生成压缩视频数据430的示例实施例。应当注意的是,未压缩视频数据330的帧和图像被以时间顺序从左到右布置,它们可能已经按照该时间顺序被运动视频摄像机捕获并且它们将正常地按照该时间顺序被视觉地呈现以便观看运动视频880。进而,全分辨率帧333和缩略图338中的相对应的两个(例如,全分辨率帧333的一个和与其相对应的缩略图338的一个,因为它们是相同的图像)按照这一时间顺序被垂直对齐。
如所阐释的,采用承担GOP的生成的压缩类型(例如,MPEG的版本)使得压缩视频数据430由一系列GOP 432构成,其中每一个GOP 432与全分辨率帧333的集合相对应。每一个GOP 432内的压缩全分辨率帧可以按照编码顺序被组织,其中被其它压缩全分辨率帧用作参考帧的压缩全分辨率帧在那些其它压缩全分辨率帧之前。如本领域技术人员熟悉的,这典型地实现以便使能以相对稳定的速率执行解压缩,其中从来不存在一个帧的解压缩不得不被延迟直到另一个帧被执行解压缩的任何设备接收为止的情况。与此相反,GOP 432本身典型地按照时间顺序被组织。
每一个GOP 432被阐释为以IDR帧434开始并且以至少一个T帧439结束。为了避免视觉杂乱的目的,没有阐释每一个GOP 432的其它压缩全分辨率帧(例如,I帧、P帧和B帧)。如先前讨论的,典型的是每一个GOP432的第一个压缩帧是IDR帧434,使得没有在时间顺序上领先它的其它压缩帧使用它作为参考。这避免其中GOP 432中的一个GOP的P帧或B帧采用GOP 432中在时间上随后的一个GOP的I帧作为参考的情况。应当注意的是,IDR帧434是每一个GOP中在时间和编码顺序二者上的第一个压缩全分辨率帧。因而,无论给定GOP的压缩帧被组织为时间顺序或者编码顺序使得其它压缩全分辨率帧可以占据GOP内的不同位置,相同IDR帧434都占据第一个位置。
也如所阐释的,与和GOP 432中的一个GOP相关联的全分辨率帧333的集合相对应的缩略图338可以被组合并且压缩到一个或多个T帧中,该一个或多个T帧被包括在GOP 432的相同一个GOP中,或者被包括在GOP432的在时间顺序上较早的一个GOP中。选择一个或另一个可以由缩略图338被预期由观看设备600使用的方式来确定。例如,在预期缩略图338可以用于提供运动视频880的部分的视觉索引的情况下,将缩略图338放置在较早的GOP 432中可以使能包括相对应的全分辨率帧333的压缩形式的后面的GOP 432仅在需要时被请求和/或接收用于解压缩。
图4比图3更详细地说明了根据未压缩视频数据330生成压缩视频数据430的单个GOP 432的示例实施例。特别地,阐释了根据与GOP 432相关联的全分辨率帧333的集合的压缩生成的该GOP 432的一系列I帧435、P帧436以及B帧437的示例。应当注意的是,一系列压缩全分辨率帧的这一特定阐释是某种程度上的简化处理,以便促进讨论和理解,并且通常期望GOP 432将典型地结合包括更大数量的I帧435、P帧436以及B帧437的更大系列的压缩全分辨率帧。
与图3类似,在图4中,未压缩视频数据330的帧和图像也按照时间顺序(被描述为从左到右前进)被布置为系列,全分辨率帧333和缩略图338的相对应的两个以时间顺序垂直对齐。同样与图3类似,压缩全分辨率帧,特别是IDR帧434、I帧435、P帧436以及B帧437,按照编码顺序被组织在GOP 432内。
如所阐释的,缩略图338被组合并且压缩到T帧439中,该T帧被包括在与它们相对应的全分辨率图像333的相同的GOP 432中。应当注意的是,散布在压缩全分辨率帧(例如,IDR帧434、I帧435、P帧436和/或B帧437)当中的T帧439的数量可以至少取决于要被包括在每一个GOP432中的缩略图338的数量而在压缩视频数据430的GOP 432的一个和另一个之间变化。
也如所描述的,T帧439按照T帧439被分组到一起并且大概位于一系列压缩全分辨率帧当中的方式被散布在压缩全分辨率帧当中。然而,应当注意的是,多个T帧439不需要被这样分组到一起,并且可以在GOP 432内的任何位置被单独地定位或者分组。
图5比图3更详细地说明了根据未压缩视频数据330生成压缩视频数据430的多个GOP 432a和432b的示例实施例。特别地,阐释了根据全分辨率帧的相关联的集合的压缩生成对于每一个GOP 432a和432b的一系列压缩全分辨率帧。与图4类似,在图5中,未压缩视频数据330的帧和图像也按照时间顺序(被描述为从左到右前进)被布置,全分辨率帧333和缩略图338的相对应的两个按照时间顺序垂直对齐。同样与图4类似,压缩全分辨率帧不遵循未压缩视频数据330的帧和图像的时间顺序,并且可以按照编码顺序。
不像图4的示例,在图5的示例中,与GOP 432b的全分辨率帧333相对应的缩略图338被组合和压缩到T帧439中,该T帧被包括在前面的GOP 432a中,而不是在相同的GOP 432b中。并且,这可以至少部分地由T帧439期望要由观看设备600利用的方式确定,例如视觉索引的部分。再次应当注意的是,T帧439可以被单独地或者分组地,或者在每一个GOP432a和432b内的任意位置处,散布在压缩全分辨率帧(例如,每一个GOP432a和432b中的IDR帧434以及跟随该IDR帧434的其它压缩全分辨率帧)当中。
因而,回来参照图3-5,压缩全分辨率帧(例如,IDR帧434、I帧435、P帧436以及B帧437)被组织在按照编码顺序设置的每一个所阐释的GOP432内,而GOP 432本身按照时间顺序组织。并且,如本领域技术人员熟悉的,压缩全分辨率帧的编码顺序由确保从来不存在其中帧的解压缩不得不被推迟直到由执行该解压缩的设备接收到了它所引用的另一个帧为止的实例的努力引起。因而,在任意一个压缩帧采用另一个压缩帧作为参考的情况下,生成编码顺序以便确保用作参考的其它压缩帧总是在引用它的压缩帧之前被接收。
T帧439可以按照不与它们的编码顺序相对应的方式被散布在压缩全分辨率帧当中。T帧439的每一个代表跨越它们当中的时间段的多个缩略图,该时间段包括多个压缩全分辨率帧,而每一个压缩全分辨率帧代表时间的单个时刻的“快照”。进一步地,并且已经被讨论的,与GOP 432的跨越一个时间段的压缩全分辨率帧相对应的T帧439可以被散布在另一个GOP 432的跨越较早时间段的压缩全分辨率帧当中。
返回到图1,随着根据未压缩视频数据330生成压缩视频数据430,处理器部件450还生成与压缩视频数据430相关联的消息数据470。压缩视频数据430包括指示压缩视频数据430的部分的各种参数的消息,以便使观看设备600能够对构成压缩视频数据430的压缩全分辨率帧和T帧439进行解压缩。
所述消息的一些可以指示应用于压缩视频数据430的全部的参数,例如在解压缩之后全分辨率帧和/或缩略图应该被观看设备600视觉呈现的速度以便使能运动视频880中的运动的正确观看。所述消息的一些可以指示应用于单独GOP 432的参数,例如在一个或多个特定GOP 432内压缩全分辨率帧和/或T帧439的数量和/或位置。所述消息的一些可以指示应用于压缩全分辨率帧和/或T帧439的单独两个的参数,例如,每一个这样的帧的像素分辨率和/或色彩深度,在特定T帧439中表示的缩略图338的数量,和/或被指定为IDR帧434和/或T帧439可以在其处被找到的压缩帧的数量的间隔。
图6说明了包括至少GOP 432a和432b以及与它们相关联的消息数据470的压缩视频数据430的示例实施例。如所阐释的,每一个GOP 432a和432b以单个IDR帧434开始并且以至少一个T帧439结束。同样如所阐释的,消息数据470可以包括一个或多个GOP消息472、一个或多个全帧消息473和/或一个或多个缩略图消息479。消息数据470的消息可以按照多种形式中的任意一种实现,包括但不局限于人类可读文本或机器可读代码。
一个GOP消息472可以提供应用于GOP 432a的参数的指示,例如GOP432a内压缩帧的数量和/或种类的指示。可选地,相同的GOP消息472也可以应用于GOP 432b和/或单独的GOP消息472可以应用于GOP 432b。类似地,一个全帧消息473可以提供应用于GOP 432a的压缩全分辨率帧之一(例如,在GOP 432a的开始处的IDR帧434)的参数的指示,例如该一个压缩全分辨率帧的像素分辨率或色彩深度的指示。可选地,相同的全帧消息473也可以应用于GOP 432a中的一个或多个其它压缩全分辨率帧和/或GOP 432b中的一个或多个压缩全分辨率帧。进而,一个缩略图消息479可以提供应用于GOP 432a的T帧439之一(例如,在GOP 432a的结束处的两个所阐释的T帧439中的一个)的参数的指示,例如该一个T帧439的像素分辨率或色彩深度的指示。可选地,相同的缩略图消息479也可以应用于GOP 432a中的一个或多个其它T帧439和/或GOP 432b中的一个或多个T帧439。
图7比图6更详细地说明了在压缩视频数据430的GOP 432内的T帧439以及与它们相关联的消息数据470的示例实施例。特别是,阐释了多个缩略图338的像素数据可以被组织在T帧439内的方式的示例。应当注意的是,尽管缩略图338被表示在所阐释的T帧439内被以平铺的方式组织,但是这些缩略图338的像素数据可以按照各种方式的任意一种被组织在T帧439内的其它实施例也是可能的。
进而,所阐释的T帧439可以与指示T帧439的参数的缩略图消息479相关联,例如由T帧439代表的缩略图338的数量,那些缩略图338的像素分辨率,色彩深度等等。应当注意的是,尽管T帧439可以被散布在压缩全分辨率帧当中,但是T帧439可以具有与那些压缩全分辨率帧不同的像素分辨率和/或不同的色彩深度,并且这些可以在缩略图消息479中进行指示。
返回到图1,在根据未压缩视频数据330生成压缩视频数据430以及附随的消息数据470时,处理器部件450可以采用在参数数据435中指定的各种参数。这样的参数可以控制在压缩期间可以被执行的诸如此类的熵编码、量化、离散余弦变换和/或运动补偿的方面。可选地或此外,这样的参数可以指定每GOP压缩帧的数量、最小或最大分辨率和/或每压缩帧色彩深度等等。
在根据未压缩视频数据330生成压缩视频数据430以及附随的消息数据470之后,处理器部件350和/或450将该压缩视频数据430以及附随的消息470提供到观看设备600。在一些实施例中,处理器部件350和/或450可以经由网络999将压缩视频数据430和/或消息数据470传输到观看设备600。在其它实施例中,处理器部件350和/或450可以将压缩视频数据430和/或消息数据470存储在可移除介质(未示出)上,该可移除介质可以随后用于将两段数据传送到观看设备600。
观看设备600结合处理器部件650、存储设备660、输入设备620以及用于将观看设备600耦合到网络999的接口690中的一个或多个。观看设备600也可以结合用于在其上视觉地呈现运动视频880的显示器680,或者显示器680可以与观看设备600物理地分离,但是可通信地耦合到该观看设备600。输入设备620可以是各种手动操作的输入设备中的任意一种,观看设备600的操作者可以通过该输入设备传达选择由观看设备600在显示器680上视觉呈现的内容的命令。例如,输入设备620可以包括由观看设备600本身的壳体承载的手动操作控制,和/或可以包括由无线耦合到观看设备600的遥控器上承载的手动操作控制。存储器660存储压缩视频数据430、消息数据470、控制例程640以及解压缩视频数据630中的一个或多个。
控制例程640结合在处理器部件650上运行的指令序列,以便实现逻辑来执行各种功能。在执行控制例程640时,处理器部件650从计算设备300接收压缩视频数据430的压缩帧以及附随的消息数据470的消息,将至少其的子集存储在存储设备660中。并且,这些数据段可以经由网络999或者通过诸如可移除存储介质的另一机制被接收。
处理器部件650监控输入设备620来接收输入设备620的操作的指示,以便传送产生压缩视频数据430的全分辨率帧或缩略图的任意一个的视觉显示的命令。对这些命令做出响应,处理器部件650对压缩全分辨率帧(例如,IDR帧434、I帧435、P帧436以及B帧437)或T帧439中的一个或两者进行解压缩,并且在显示器680上视觉地呈现所产生的解压缩全分辨率帧或解压缩缩略图。
在接收到视觉地呈现全分辨率帧的命令使得运动视频880被命令来被视觉地呈现用于观看的情况下,处理器部件650采用消息数据470的消息来对全分辨率帧进行标识和解压缩,将所产生的解压缩全分辨率帧存储为解压缩视频数据630。处理器部件650接着在显示器680上以也由消息数据470中的消息指定的每秒帧速率视觉地呈现运动视频880的现在被解压缩的全分辨率帧。
在一些实施例中,在自从至少接收到视觉地呈现运动视频的命令以来已经经过预定的时间段的情况下或者对视觉地呈现运动视频880的预览的命令做出响应,处理器部件650采用消息数据470的消息来对T帧439的至少子集进行标识和解压缩,将所产生的解压缩缩略图存储为解压缩视频数据630。处理器部件650接着在显示器680上以也由消息数据470中的消息指定的每秒帧速率视觉地呈现那些现在被解压缩的缩略图。
图2说明了包括计算设备300的可选实施例的视频呈现系统1000的可选实施例的方框图。图2的视频呈现系统1000的可选实施例在许多方面与图1的实施例类似,并且因而,在通篇中相同的附图标记用于指代类似的元素。然而,与图1的计算设备300不同,图2的计算设备300不结合控制器400。还与图1的计算设备300不同,在图2的计算设备300中,是处理器部件350执行控制例程440,代替存在处理器部件450来做这件事。因而,在图2的视频呈现系统1000的可选实施例中,处理器部件350可以对未压缩视频数据330进行压缩以便生成压缩视频数据430和消息数据470。
在各种实施例中,处理器部件350、450和650的每一个可以包括任意广泛的多种市场上可得到的处理器。进而,这些处理器部件的一个或多个可以包括多个处理器、多线程处理器、多核处理器(无论是多个核心共存于相同的管芯上或者不同的管芯上)和/或多个物理上分离的处理器按照某种方式链接的某一其它变形的多处理器架构。
尽管处理器部件350、450和650的每一个可以包括各种类型的处理器中的任意一种,但是可以预期的是,控制器400(如果存在)的处理器部件450可以是一定程度上被定制和/或优化以便执行与图形和/或视频相关的任务。更宽泛地,可以预期控制器400体现计算设备300的图形子系统,以便使能与图形渲染、视频压缩、图像缩放等等相关的任务的执行,例如使用与处理器部件350分离且不同的部件以及和它更紧密相关的部件。
在各种实施例中,存储设备360、460和660的每一个可以基于广泛的各种信息存储技术中的任意一种。这样的技术可以包括要求不间断供应电功率的易失性技术和/或承担机器可移除或者不可移除的可读存储介质的使用的技术。因而,这些存储设备的每一个可以包括广泛的各种存储设备的类型(或者类型的组合)中的任意类型,包括但不局限于,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDR-DRAM)、同步DRAM(SD RAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、聚合物存储器(例如,铁电聚合物存储器)、双向存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光学卡、一个或多个单独的铁磁磁盘驱动、或者被组织为一个或多个阵列的多个存储设备(例如,被组织为独立磁盘冗余阵列或者RAID阵列的多个铁磁磁盘驱动)。应当注意的是,尽管这些存储设备的每一个被阐释为单个块,但是这些中的一个或多个可以包括可以基于不同存储技术的多个存储设备。因而例如,这些所阐释的存储设备的每一个的一个或多个可以表示光学驱动或闪存卡读取器的组合,由此程序和/或数据可以在一些机器可读存储介质的形式、用于在相对延长的时间内本地存储程序和/或数据的铁磁磁盘驱动以及使能相对快速地存取程序和/或数据的一个或多个易失性固态存储器设备(例如,SRAM或DRAM)上被存储并且被传输。同样应当注意的是,这些存储设备的每一个可以由基于相同存储技术但是可以由于专门使用而被保持分离(例如,一些DRAM设备被用作主存储设备而其它DRAM设备被用作图形控制器的不同的帧缓冲器)的多个存储部件构成。
在各种实施例中,接口190、390和690可以采用广泛的多种信令技术中的任意一种,使这些计算设备能够耦合到其它设备,如已经描述的。这些接口的每一个包括提供使能这样的耦合必需的功能中的至少一些的电路。然而,这些接口中的每一个也可以至少部分地使用由处理器部件的相对应一个执行的指令序列来实现(例如,以便实现协议栈或者其它特征)。当采用电学和/或光学传导的电缆时,这些接口可以采用符合多种工业标准的任意一种的信令和/或协议,包括但不局限于,RS-232C、RS-422、USB、以太网(IEEE-802.3)或IEEE-1394。在使用无线信号传输的情况下,这些接口可以采用符合多种工业标准的任意一种的信令和/或协议,包括但不局限于,IEEE802.11a、802.11b、802.11g、802.16、802.20(通常被称为“移动宽带无线接入”)、蓝牙、紫蜂(ZigBee)、或者蜂窝无线电话服务,例如带有通用分组无线业务的GSM(GSM/GPRS)、CDMA/1xRTT、增强型数据速率全球演进(EDGE)、仅演进数据/优化(EV-DO)、数据和语音演进(EV-DV)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、4G LTE等等。
图8和9的每一个更详细地说明了图1的视频呈现系统的实施例的部分的方框图。更具体地,图8阐释了计算设备300的操作环境的方面,其中处理器部件350或450的任意一个在执行控制例程440时将运动视频880的全分辨率帧333和相对应的缩略图338组合并且压缩到单个压缩视频数据430中。图9阐释了观看设备600的操作环境的方面,其中处理器部件650在执行控制例程640时对压缩全分辨率帧和/或T帧439进行选择性地解压缩,并且在显示器680上视觉地呈现一个或两者。本领域技术人员可以认识到,控制例程440和640,包括构成每一个的部件,被选择来在无论什么类型的一个或多个处理器上进行操作,该处理器被选择为实现处理器部件350、450或650的可应用一个。
在各种实施例中,控制例程340、440和640的每一个可以包括操作系统、设备驱动器和/或应用级例程(例如,提供在光盘介质上的所谓的“软件套件”,从远程服务器获得的“小应用程序”等等)中的一个或多个。在包括操作系统的情况下,该操作系统可以是适合与处理器部件350、450或650的任意一个相对应的部件的各种可用操作系统中的任意一种。在包括一个或多个设备驱动器的情况下,这些设备驱动器可以提供对于计算设备300或600或者控制器400的相对应一个的各种其它部件的任意一种的支持,无论是硬件还是软件部件。
控制例程440或640可以分别包括通信部件449或649,由处理器部件350,450或550的相对应一个执行,以便操作接口390或690的相对应一个来经由网络999传输和接收信号,如已经描述的。在所接收的信号当中可以是经由网络999在计算设备100、300或600的一个或多个当中传送源数据130和/或压缩视频数据430的信号。本领域技术人员可以认识到,这些通信部件的每一个被选择为能够与被选择为实现接口390或690的相对应一个的任何种类的接口技术进行操作。
更具体地转到图8,控制例程440包括由处理器部件350或450可执行的组合部件,用于将缩略图338的集合组合到多缩略图帧339中。如先前讨论的,全分辨率帧333,无论是由计算设备300从另一计算设备接收或者在计算设备300内生成,可以不附随有缩略图338。因而,在一些实施例中,控制例程440也可以包括由处理器部件350或450可执行的缩略图生成器443,用于对于全分辨率图像333的至少一些生成相对应的缩略图338。在一些实施例中,缩略图生成器443可以为所有全分辨率图像333生成相对应的缩略图338。
控制例程440包括由处理器部件350或450可执行的压缩部件445,用于对未压缩视频数据330进行压缩以便生成压缩视频数据430。更具体地,压缩部件445对未压缩视频数据330的全分辨率帧333进行压缩以便生成压缩全分辨率帧作为压缩视频数据430的一部分。在其中压缩部件445采用MPEG的版本或者类似的压缩类型的实施例中,压缩全分辨率帧包括至少一个IDR帧434、一个或多个I帧435、一个或多个P帧436和/或一个或多个B帧437。随着压缩全分辨率帧333,压缩部件445还压缩多缩略图帧339以便生成压缩视频数据430的T帧439。如已经讨论的,压缩部件445将T帧439散布在压缩全分辨率帧当中。
在所采用的压缩类型是MPEG的版本或者类似的压缩类型的情况下,压缩部件445将压缩全分辨率帧组织到GOP 432中。更精确地,压缩部件445选择时间上相邻的全分辨率帧333的集合,对它们进行压缩以便生成压缩全分辨率帧的相对应的集合,并且接着将这些集合的每一个布置在单独的GOP 432内。在这么做时,压缩部件445将压缩全分辨率帧的每一个这样的集合中的压缩全分辨率帧从时间顺序重新组织到编码顺序,使得它们被按照编码顺序组织在每一个GOP 432中。相反,GOP 432本身被按照时间顺序组织。进而,IDR帧434是每一个GOP 430中按照编码顺序的第一个帧。每一个GOP 430中的IDR帧434接着跟随有每一个I帧435、P帧436、B帧437以及T帧439的一个或多个组合。压缩部件445接着将一个或多个T帧439散布在至少一些GOP 432中的压缩全分辨率帧当中。如已经讨论的,GOP 432中的一个或多个T帧439可以在压缩全分辨率帧当中的任何位置被放置在组中和/或被独立放置,并且GOP 432内的T帧的组织不需要遵从时间顺序。
随着生成压缩视频数据430,压缩部件445还生成由指示压缩帧、GOP432和/或压缩视频数据430的其它方面的各种参数的消息构成的消息数据470。消息数据470连同压缩视频数据430一起被提供到观看设备600,以便使观看设备600能够对压缩视频数据430的压缩帧进行解压缩。
至少在压缩部件445采用MPEG的版本或者类似压缩类型的情况下,压缩部件445可以包括色彩空间转换器4450、运动估计器4451、变换部件4452、量化部件4453以及熵编码器4454中的一个或者多个。如果存在,色彩空间转换器4450可以在压缩之前将全分辨率帧333和/或缩略图338的色彩空间从红绿蓝(RGB)色彩空间转换到在MPEG的版本中采用的亮度-色度(YUV)色彩空间。
运动估计器4451分析全分辨率帧333的时间上相邻的帧以便识别由于对象的移动引起的相对应的像素块的像素色彩值的差异,使得与二维像素块相关联的像素色彩值的集合在特定方向上在其间移位。运动估计器4451接着确定这样的移动的方向和范围以便使能一个全分辨率帧333的至少一部分能够相对于至少部分地具有运动向量的指示的另一个帧进行描述。
对于诸如HEVC(MPEG目前正在开发的新版本)的压缩类型,运动估计器4451也可以被促使来分析在全分辨率帧333的单个帧内和/或单个多缩略图帧339内的像素块之间的像素色彩值的差异。多个缩略图338可以被组合在单个多缩略图帧339中,使得它们被按照平铺的方式组织。图7阐释了在压缩这样的多缩略图帧339之后对T帧439执行的这样的平铺组织的示例。这样的平铺的益处在于使能单个帧内的像素块之间的差异的分析。与倾向于局限于8×8、8×16、16×8、16×16像素的MPEG的较早版本不同,HEVC允许在指定在运动估计中分析的块的像素分辨率方面的更大灵活性,从而潜在地使这些块能够被定义以与至少一些缩略图338的分辨率和/或边界相对应。因而,压缩部件445可以生成T帧439,其中运动向量用于提供在每一个这些T帧439内的时间上相邻的缩略图338的像素之间的差异的更紧凑的描述。
对于MPEG的至少一些版本以及类似的压缩类型,变换部件4452实现离散余弦变换(DCT)以便将帧的像素色彩值变换到频域。然而,对于诸如HEVC的压缩类型,变换部件4452可以除了或者代替DCT来实现离散正弦变换。
量化部件4463滤去较高频率分量。这样的较高频率分量经常在人类视觉上是难以察觉的,并且因此经常被认为对于去除是可接受的,以便降低数据尺寸。至少这一较高频率分量的去除导致MPEG的版本和类似的压缩类型被分类为有损压缩技术,其中在帧中传达视觉信息的至少一些被故意地抛弃。
对于MPEG的至少一些版本以及类似的压缩类型,熵编码器4454根据编码表(未示出)使用哈夫曼编码来执行熵编码,该编码表向更加频繁发生的数据指派较短比特长度的描述符,并且向不太频繁发生的数据指派较长比特长度的描述符,以便降低描述相同数据值所要求的比特数量。然而,可以采用其它形式的熵编码作为替换,包括但不局限于算术编码(通常也被称为上下文自适应二进制算术编码或CABAC)。
控制例程440可以包括由处理器部件350或450可执行的加密部件447,以便采用各种加密技术中的任意一种对压缩视频数据430的压缩帧进行加密。加密部件447也可以对消息数据470进行加密。在一些实施例中,加密部件可以对压缩全分辨率帧(例如,IDR帧434、I帧435、P帧436以及B帧437)进行加密,但是避免对至少T帧439的子集进行加密。这可以被完成来使得观看设备600能够提供由一系列T帧组成的预览而不需要执行解密。在这样的实施例中,消息数据470可以包括指示哪些压缩帧被加密以及哪些压缩帧没有被加密的消息。进而,可以是全部(或基本上全部)全分辨率帧被加密,而至少T帧439的子集没有被加密。可选地,可以是所有或基本上所有T帧439没有被加密,但是消息数据470可以包括向观看设备600提供在运动视频880的任何预览中仅视觉地呈现高达预定数量的T帧439的指示的消息。这可以被完成来通过观看T帧439代替观看压缩全分辨率帧来防止观看整个运动视频880。
如前面讨论的,观看设备600可以从另一计算设备接收运动视频880作为运动视频数据130,并且其中的运动视频880的帧可以被压缩。因而,在一些实施例中,控制例程440也可以包括由处理器部件350或450可执行的解压缩部件441,用于对视频数据130的帧进行解压缩,并且生成未压缩全分辨率帧330。解压缩部件441可以采用各种压缩类型中的任意一种,包括适合于对视频数据130进行解压缩的任何类型。
如已经讨论的,在通过计算设备300生成至少部分压缩视频数据430和部分消息数据470时,上述两者的至少一部分可以被提供到观看设备600。这可以在由计算设备300经由网络到观看设备600的传输中完成。在这样的传输中,在传输压缩视频数据430和消息数据470时可以使用通过并发传输的数据流定义的单独的信道。可选地或此外,向观看设备600提供压缩视频数据430和消息数据470可以通过将压缩视频数据430和消息数据470存储在可移除机器可读介质上完成,该压缩视频数据430和消息数据470两者随后由观看设备600从介质取回。
更具体地转到图9,控制例程640可以包括由处理器部件650可执行的解密部件647,用于对压缩视频数据430的压缩帧进行解密,而与压缩视频数据430和消息数据470被如何提供到观看设备600无关。通信部件647采用与由加密部件447采用的加密类型配对的解密。在其中消息数据470也被加密部件447加密的实施例中,解密部件647也可以对消息数据470进行解密。
控制例程640包括由处理器部件650可执行的解压缩部件645,用于对压缩视频数据430的压缩全分辨率帧和/或T帧439进行选择性地解密。如前面讨论的,是全分辨率帧、T帧439还是上述两者被解压缩可以取决于在从观看设备600的操作者接收到的命令中指示的要被显示的内容。在运动视频880在那些命令中被选择来进行观看的情况下,解压缩部件645对压缩视频数据430的压缩全分辨率帧(例如,IDR帧434、I帧435、P帧436以及B帧437)进行解压缩,以便生成解压缩全分辨率帧633,解压缩部件645将其作为解压缩视频数据630的一部分进行存储。在这么做时,解压缩部件645采用与由压缩部件445采用的压缩类型配对的解压缩。
在基于缩略图的运动视频880的预览和/或场景索引在那些命令中被选择来进行观看的情况下,解压缩部件645对T帧439进行解压缩来生成解压缩缩略图639,解压缩部件645将其作为解压缩视频数据630的一部分进行存储。如前面讨论的,解压缩部件645使用与对压缩全分辨率帧所采用的相同类型的解压缩来对T帧439进行解压缩。尽管使用相同类型的压缩和解压缩,但是全分辨率帧333和缩略图338被单独压缩以便形成单独的压缩帧的事实使得能够在没有解压缩全分辨率帧的更多处理需求的情况下对那些缩略图进行解压缩。
在其中解压缩部件645采用MPEG的版本或者类似压缩类型的实施例中,解压缩部件645可以包括熵解码器6455、逆量化部件6456、逆变换部件6457、运动补偿器6458以及色彩空间转换器6459中的一个或多个。熵解码器6455对在压缩期间由熵编码器4454采用哈夫曼、算术编码或者另一适当类型的熵编码执行的熵编码进行解码。逆量化部件6456在一定程度上使由量化部件4453在压缩期间执行的高频分量的去除逆转。逆变换部件6457采用由变换部件4452在压缩期间使用的将像素色彩值变换到频域的任何变换的逆变换。运动补偿器6458采用由运动估计器4451描述像素块色彩值的移位方向和距离时推导的运动向量来实现在生成解压缩帧时这些移位的结果。如果存在,色彩空间转换器6459可以用于将解压缩帧的色彩空间从经常在MPEG中采用的亮度-色度(YUV)色彩空间转换到经常在驱动显示器时采用的红绿蓝(RGB)色彩空间。
进而,在其中解压缩部件645采用MPEG的版本或者类似的压缩类型的实施例中,解压缩部件可以在对这些帧进行解压缩时重新组织压缩全分辨率帧在每一个GOP 432内被组织的编码顺序。在这么做时,解压缩部件645可以接着按照时间顺序生成或者至少组织解压缩全分辨率帧633,以便使它们能够按照能够观看运动视频880内的运动的正确顺序被视觉地呈现。
解码部件647和解压缩部件645的一个或两者可以采用由消息数据470的消息提供的关于单独压缩帧、GOP 432和/或整个压缩视频数据430的参数的任何指示。如前面讨论的,消息数据470包括可以指示压缩视频数据430的哪些压缩帧是压缩全分辨率帧以及哪些是T帧439的消息,从而能够选择性地仅解压缩一个或另一个。消息数据470也可以指示哪些压缩帧被加密,能够选择性地使用解密部件647。
在一些实施例中,消息数据470可以提供IDR帧434和/或T帧439位于压缩视频数据430的压缩帧当中的间隔的指示,以便通过排除单独检查每一个压缩帧来找到IDR帧434和/或T帧439的需要来使能更有效的解压缩。这样的间隔可以被表述为压缩帧的数量。可选地,在采用将压缩帧组织到GOP 432中的压缩类型的情况下,T帧439的位置可以被表示为在每一个GOP 432内从压缩帧的第一个或最后一个位置的帧数量。
在一些实施例中,在生成压缩视频数据430以便对全分辨率帧333进行加密来防止以全分辨率对运动视频880的未授权观看,但是同时留下T帧439的至少子集未加密来允许基于缩略图的运动视频890的预览和/或场景索引被免费观看时,可以被认为是有利的。这可以适用于由观看设备600提供的付费观看功能,其中观看设备600的操作者能够被允许免费观看基于缩略图的运动视频的预览,但是必须提供一些形式的付费来观看选定的运动视频的全分辨率帧。为了防止观看设备600的操作者通过观看它的缩略图333来观看整个运动视频880进行“欺骗”,消息数据470也可以提供在这样的预览中可以被观看的缩略图333的选定的最大数量的指示。
控制例程640包括呈现部件648用于在显示器680上视觉地呈现解压缩全分辨率帧633和/或解压缩缩略图639。控制例程640也可以针对选择全分辨率帧633或缩略图639的一个或两者以便被视觉地呈现用于观看的操作者输入传送命令的指示来监控输入设备620(如果存在)。
如已经讨论的,命令可以被这样接收以便按照时间顺序视觉地呈现全分辨率帧633,从而在显示器680上呈现允许视频880用于以全分辨率观看。作为响应,呈现部件648通知解压缩部件对压缩视频数据430的压缩全分辨率帧进行解压缩,以便生成视觉呈现所需要的解压缩全分辨率帧633。在消息数据470指示压缩全分辨率帧被加密的情况下,呈现部件648也可以通知解密部件647对那些压缩全分辨率帧进行解密,以便使能它们的解压缩。
然而,如也已经讨论的,可以接收按照时间顺序视觉地呈现缩略图639的至少子集的命令,以便以缩略图639的分辨率呈现仅运动视频880的一部分作为预览用于观看。作为响应,呈现部件648通知解压缩部件对压缩视频数据430的T帧439进行解压缩,以便生成视觉呈现所需要的解压缩缩略图639。可选地或此外,呈现部件648可以对不活动的时段做出响应,在该时段中,没有命令被接收和/或没有解压缩的帧被视觉呈现,该解压缩的帧被视觉呈现是通过下面实现的:通知解压缩部件对T帧439的至少子集进行解压缩来使呈现部件648能够视觉地呈现它们作为预览,以便可能刺激观看设备600的操作者选择运动视频880进行观看。无论什么来促使T帧439的解压缩,如果消息数据470指示那些T帧439被加密,呈现部件648就可以通知解密部件647对它们进行解密。
进而,可以接收在显示器680上视觉地呈现包括缩略图639的至少子集的索引的命令,以便使观看设备600的操作者能够选择运动视频880的一部分来以全分辨率观看。如已经讨论的,在所采用的压缩类型是MPEG的版本的情况下,与第一GOP 432的压缩全分辨率帧相关联的T帧439位于在时间顺序上位于第一GOP 432之前的第二GOP 432中。在压缩视频数据430仍然正在被接收的情况下或者在响应于对于部分的请求而将该部分提供到观看设备600(例如,按照“点播”方式)的情况下,这被认为是有利的。因而,与在时间顺序上较后的GOP 432的压缩全分辨率帧相关联的T帧439将连同在时间顺序上较早的GOP 432的压缩全分辨率帧一起被观看设备600接收。这使得只要观看设备600的操作者在观看T帧439的缩略图之后命令观看较后的GOP 432的压缩全分辨率帧,就能够使能该较后的GOP 432的请求和/或接收。
图10说明了逻辑流2100的一个实施例。逻辑流2100可以代表由本文描述的一个或多个实施例执行的操作的一些或所有。更具体地,逻辑流2100可以说明分别由处理器部件350或450在执行至少控制例程440时执行的操作和/或由计算设备300或控制器400的其它部件执行的操作。
在2110,计算设备的处理器部件(例如,计算设备300的处理器部件350或者控制器400的处理器部件450的任意一个)在2110检查运动视频的未压缩全分辨率帧是否随附有相对应的未压缩缩略图。如果没有,则处理器部件接着在2112生成它们。
在2120,未压缩缩略图的集合被组合到未压缩多缩略图帧中。如前面讨论的,缩略图可以按照平铺的方式被组织在这样的多缩略图帧中,这可以极大地促进在相同多缩略图帧内的不同缩略图的像素块之间使用运动估计。
在2130,未压缩全分辨率帧被压缩以便形成压缩全分辨率帧。如前面讨论的,在采用MPEG的版本或类似的压缩类型的情况下,压缩全分辨率帧可以包括IDR帧、I帧、P帧以及B帧中的一个或多个。
在2140,未压缩多缩略图帧被压缩以便形成压缩缩略图帧(T帧),这些压缩缩略图帧接着在2150被散布在压缩全分辨率帧当中以便生成包括压缩全分辨率帧和压缩缩略图帧两者的压缩视频数据。如前面讨论的,在压缩类型是MPEG的版本或类似的压缩类型的情况下,压缩全分辨率帧被组织在GOP中,并且被按照编码顺序组织在每一个GOP中,其中IDR帧位于第一编码位置。相反,GOP可以被按照时间顺序组织。进而,T帧可以被散布在压缩全分辨率帧当中,而与压缩全分辨率帧被以什么顺序组织无关。
在2160,生成与压缩视频数据相关联的消息数据,并且至少包括指示T帧的位置的消息。这样的消息可以指示T帧在GOP内从第一或最后编码顺序位置的位置,或者可以通过指定在压缩帧系列当中定位T帧的间隔来指示T帧的位置。
在2170,压缩视频数据和消息数据被提供到另一计算设备(例如,观看设备600)。如前面讨论的,这可以通过经由网络和/或经由压缩视频数据和消息数据到可移除机器可读存储介质上的存储的传输来完成,该可移除机器可读介质被物理地传送到另一计算机并且被该另一计算机读取。
图11说明了逻辑流2200的一个实施例。逻辑流2200可以代表由本文描述的一个或多个实施例执行的操作的一些或所有。更具体地,逻辑流2200可以说明分别由处理器部件350或450在执行至少控制例程440时执行的操作和/或由计算设备300或控制器400的其它部件执行的操作。
在2210,计算设备的处理器部件(例如,计算设备300的处理器部件350或者控制器400的处理器部件450的任意一个)将未压缩缩略图的集合组合到未压缩多缩略图帧中。如前面讨论的,缩略图可以按照平铺的方式被组织在这样的多缩略图帧中,这可以极大地促进在相同多缩略图帧内的不同缩略图的像素块之间使用运动估计。并且,在2220,这样的运动估计被在单个多缩略图帧中执行,作为压缩多缩略图帧以便生成压缩缩略图帧(T帧)的一部分。
在2230,GOP被定义,压缩全分辨率帧可以被组织在该GOP中。如前面讨论的,压缩全分辨率帧在GOP中的这样的组织可以按照编码顺序,在每一个GOP中的第一编码顺序位置处设置IDR帧。并且,在2240,生成IDR帧、I帧、P帧以及B帧,在每一个GOP中IDR帧被规定这样被布置在第一位置处。
在2250,IDR帧、I帧、P帧以及B帧被加密以便保护这些压缩全分辨率帧不被未授权观看。然而,如前面讨论的,可以使T帧的至少子集未被加密来使能它们更自由的使用,以便提供压缩全分辨率帧的图像的预览和/或视觉索引。
在2260,IDR帧、I帧、P帧以及B帧被布置在GOP内,T帧被散布在这些压缩全分辨率帧当中。如前面讨论的,T帧可以被散布在压缩全分辨率帧当中,而与压缩全分辨率帧被组织在每一个GOP内的顺序无关。
在2270,生成与压缩视频数据相关联的消息数据,并且至少包括指示T帧的位置以及指示哪些压缩帧被加密的消息。如前面讨论的,这样的消息可以提供在执行解压缩时有用的各种参数的任意一种的指示。
在2280,压缩视频数据和消息数据被提供到另一计算设备(例如,观看设备600)。如前面讨论的,这可以通过经由网络和/或经由压缩视频数据和消息数据在可移除机器可读存储介质上的存储来完成,该可移除机器可读存储介质被物理地传送到另一计算机并且被该另一计算机读取。
图12说明了逻辑流2300的一个实施例。逻辑流2300可以代表由本文描述的一个或多个实施例执行的操作的一些或所有。更具体地,逻辑流2300可以说明由处理器部件650在执行至少控制例程640时执行的操作和/或由显示设备600的其它部件执行的操作。
在2310,显示设备的处理器部件(例如,显示设备600的处理器部件650)接收压缩视频数据和相关联的消息。如前面讨论的,压缩视频数据和消息数据可以经由网络和/或通过读取其上存储有压缩视频数据和消息数据的可移除机器可读存储介质而被接收。
在2320,压缩全分辨率帧和T帧的一个或两者被选择性地解码。在这么做时,消息数据的提供压缩全分辨率帧和T帧的位置的指示的消息在选择的这些压缩帧中的一个或另一个被解压缩时使用。如前面讨论的,这些压缩帧中的哪些被解压缩可以基于所接收的视觉地呈现一个或另一个的命令。
在2330,在解压缩之后,压缩帧的选定一个被视觉地呈现在显示器上。特别地,解压缩全分辨率帧或解压缩缩略图(从T帧解压缩)的一个或两者被视觉地呈现。
图13说明了逻辑流2400的一个实施例。逻辑流2400可以代表由本文描述的一个或多个实施例执行的操作的一些或所有。更具体地,逻辑流2400可以说明由处理器部件650在执行至少控制例程640时执行的操作和/或由观看设备600的其它部件执行的操作。
在2410,显示设备的处理器部件(例如,显示设备600的处理器部件650)接收压缩视频数据和相关联的消息。如前面讨论的,压缩视频数据和消息数据可以经由网络和/或通过读取其上存储有压缩视频数据和消息数据的可移除机器可读存储介质而被接收。
在2420,检查是否有命令被接收来视觉呈现压缩视频数据的压缩全分辨率帧。如果为是,则在2430对至少一个GOP的全分辨率帧(例如,IDR帧、I帧、P帧和/或B帧)进行解密。如前面讨论的,这样的解密可以由消息数据中指示这些压缩全分辨率帧被加密的消息触发,并且该消息数据中指示这些帧在至少一个GOP中的位置的一个或多个消息可以用于确定哪些帧是压缩全分辨率帧。现在解密的压缩全分辨率帧接着在2432被解压缩,并且在2434,所产生的解压缩全分辨率帧接着被视觉地呈现。
然而,如果在2420没有接收到这样的命令,则在2440对至少一个GOP的T帧进行解压缩。如前面讨论的,消息数据中指示T帧在至少一个GOP中的位置的一个或多个消息可以用于确定哪些帧是T帧。在2442,所述产生的解压缩缩略图被视觉地呈现。如前面讨论的,缩略图的视觉呈现可以由要这么做的命令触发,或者可以由自从全分辨率帧和/或缩略图的最后呈现之后选定的时间段的过去触发,和/或由自从最后的命令被接收之后选定的时间段的过去触发。同样如前面讨论的,缩略图的视觉呈现可以作为运动视频的至少一部分的预览的一部分和/或作为允许选择特定的全分辨率帧以便被视觉地呈现用于观看的视觉索引的一部分。
在2450,检查是否接收到指示选择观看与视觉呈现的缩略图相关联的一个或多个全分辨率帧的这样的命令。如果为是,则在2460,对它们位于其中的另一个GOP的至少选择的一个或多个压缩全分辨率帧(例如,一个或多个选择的IDR帧、I帧、P帧或B帧)进行解密。接着,在2462对现在解密的压缩全分辨率帧进行解压缩,并且在2464视觉地呈现所产生的解压缩全分辨率帧。如前面讨论的,包括与存储在一个GOP中的压缩全分辨率帧的集合相关联的缩略图的T帧可以被存储在时间顺序上在前的GOP中。
图14说明了适合于实现前面描述的各种实施例的示例性处理架构3000的实施例。更具体地,处理架构3000(或其变型)可以被实现为计算设备100,300或600和/或控制器400中的一个或多个的一部分。应当注意的是,处理架构3000的部件被给予的附图标记的后两位数字与早前阐释并描述为计算设备100,300和600以及控制器400的一部分的至少一些部件的附图标记的后两位数字相对应。这样做有助于关联每一个部件。
处理架构3000包括通常在数字处理中使用的各种元件,包括但不局限于,一个或多个处理器、多核处理器、协处理器、存储器单元、芯片集、控制器、外围部件、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)部件、电源等等。如在本申请中使用的,术语“系统”和“部件”意在指代在其中执行数字处理的计算设备的整体,其整体是硬件、硬件和软件的组合、软件、或执行中的软件,其示例通过这一阐释的示例性处理架构来提供。例如,部件可以是,但不局限于,在处理器部件上运行的过程、处理器部件本身、可以采用光学和/或磁存储介质的存储设备(例如,硬盘驱动、阵列中的多个存储器驱动等等)、软件对象、可执行指令序列、执行的线程、程序、和/或整个计算设备(例如,整个计算机)。通过说明的方式,在服务器上运行的应用和服务器两者可以是部件。一个或多个部件可以存在于过程和/或执行的线程内,并且部件可以被集中在一个计算设备上和/或分布在两个或更多个计算设备之间。进而,部件可以通过各种类型的通信介质被可通信地耦合到彼此以便协调操作。协调可以涉及单向或双向的信息交换。例如,部件可以按照通过通信介质传输的信号的形式来传输信息。信息可以被实现为被分配到一个或多个信号线的信号。消息(包括命令、状态、地址或数据消息)可以是这样的信号中的一个或者可以是多个这样的信号,并且可以经过各种连接和/或接口中的任意一种被串行或者基本上并行地传输。
如所阐释的,在实现处理架构3000时,计算设备至少包括处理器部件950、存储设备960、到其它设备的接口990以及耦合955。如将要解释的,取决于实现处理架构3000的计算设备的各个方面,包括它的预期用途和/或使用情况,这样的计算设备可以进一步包括附加的部件,例如但不局限于显示器接口985。
耦合955包括一个或多个总线、点对点互连、收发机、缓冲器、交叉点交换机、和/或至少将处理器部件950可通信地耦合到存储器960的其它导体和/或逻辑。耦合955可以进一步将处理器部件950耦合到接口990、音频子系统970以及显示器接口985中的一个或多个(取决于这些和/或其它部件中的哪些也存在)。在处理器部件950通过耦合955被这样地耦合的情况下,处理器部件950能够执行上面针对实现处理架构3000的前述计算设备的无论哪一个详细描述的各种任务之一。耦合955可以使用各种技术或技术的组合中的任意一种实现,通过这些技术来光学和/或电学地传送信号。进而,耦合955的至少部分可以采用符合任意广泛的各种工业标准的时序和/或协议,包括但不局限于,加速图形端口(AGP)、卡片式总线、扩展工业标准架构(E-ISA)、微通道架构(MCA)、网络用户总线、外围组件互连(扩展)(PCI-X)、快速PCI(PCI-E)、个人计算机存储器卡国际协会(PCMCIA)总线、超传输TM(HyperTransport)、快速通道等等。
如前面讨论的,处理器部件950(与处理器部件350,450和650相对应)可以包括任意广泛的各种市场上可获得的处理器,采用任意广泛的各种技术,并且被实现有按照任意的各种方式组合的一个或多个核心。
如前面讨论的,存储设备960(与存储设备360,460和660相对应)可以基于任意广泛的各种技术或技术的组合由一个或多个不同的存储器设备组成。更具体地,如所阐释的,存储设备960可以包括易失性存储设备961(例如,基于一种或多种RAM技术的形式的固态存储器)、非易失性存储设备962(例如,不要求恒定地提供电能来维持它们的内容的固态,铁磁或其他存储设备)、以及可移除介质存储设备963(例如,信息通过其可以在计算设备之间进行传送的可移除磁盘或固态存储器卡存储设备)。存储设备960的它可以包括多个不同类型的存储设备的这一阐释承认计算设备中多于一种类型的存储设备的常见使用,其中一种类型提供相对快速的读和写能力,使处理器部件950能够更快的操控数据(但是其会使用恒定地要求电能的“易失性”技术),而另一种类型提供相对高密度的非易失性存储设备(但是可能提供相对慢的读和写能力)。
假定采用不同技术的不同存储设备的经常不同的特性,常见的是,这样不同的存储器设备经过不同的存储控制器耦合到计算设备的其它部分,该不同的存储控制器经过不同的接口耦合到它们不同的存储设备。通过示例的方式,在易失性存储设备961存在并且基于RAM技术的情况下,易失性存储设备961可以通过存储控制器965a可通信地耦合到耦合955,该存储控制器965a提供到易失性存储设备961的合适的接口给,该易失性存储设备961可能采用行和列寻址,并且其中存储控制器965a可以执行行刷新和/或其它维护任务来帮助保持存储在易失性存储设备961中的信息。通过另一示例的方式,在非易失性存储设备962存在并且包括一个或多个铁磁和/或固态盘驱动的情况下,非易失性存储设备962可以经过存储控制器965b可通信地耦合到耦合955,该存储控制器965a提供到非易失性存储设备962的适当接口,该非易失性存储设备962可能采用信息块和/或柱面和扇区的寻址。通过再一示例的方式,在可移除介质存储设备963存在并且包括使用一片或多片机器可读存储介质969的一个或多个光学和/或固态盘驱动的情况下,可移除介质存储设备963可以经过存储控制器965c可通信地耦合到耦合955,存储器控制器965c提供到可移除介质存储设备963的适当接口,该可移除介质存储设备963可能采用信息块的寻址,并且其中,存储控制器965c可以按照专门延长机器可读存储介质969的寿命的方式来协调读、擦除和写操作。
易失性存储设备961或者非易失性存储设备962中的一个或另一个可以包括机器可读存储介质形式的制品,取决于每一种类型的存储设备所基于的技术,在该制品上可以存储有包括由处理器部件950可执行的指令序列的例程。通过示例的方式,在非易失性存储设备962包括基于铁磁的盘驱动(例如,所谓的“硬驱”)的情况下,每一个这样的盘驱动典型地采用一个或多个旋转的盘片,其上沉积有磁响应颗粒的涂层,并且该图层被按照各种模式进行磁取向以便按照与诸如软盘的存储介质类似的方式存储诸如指令序列的信息。通过另一示例的方式,非易失性存储设备962可以由固态存储设备的池组成以便按照与高密度闪存卡类似的方式存储诸如指令序列的信息。再次,在不同的时间在计算设备中采用不同种类的存储设备来存储可执行例程和/或数据是普遍的。因而,包括要由处理器部件950执行的指令序列的例程可以被初始存储在机器可读存储介质969上,并且在将程序拷贝到非易失性存储器962上用于长期存储时可以随后采用可移除介质存储设备963,不要求机器可读存储介质969和/或易失性存储设备961一直存在,以便在执行例程时能够使处理器部件950进行更快速的访问。
如前面讨论的,接口990(与接口190,390或690相对应)可以采用与可以用于将计算设备可通信地耦合到一个或多个其它设备的任意各种通信技术相对应的任意各种信令技术。再次,各种形式的有线或无线信令中的一个或两者可以用于使处理器部件950能够经过网络(例如,网络999)或者网络的互连集合与输入/输出设备(例如,所阐释的示例键盘920或打印机925)和/或其它计算设备进行交互。承认经常必须由任意一个计算设备支持的多种类型的信令和/或协议的非常不同的特性,接口990被阐释为包括多种不同的接口控制器995a,995b以及995c。接口控制器995a可以采用任意各种类型的有线数字串行接口或者射频无线接口以便从诸如所阐释的键盘920的用户输入设备接收串行传输的消息。接口控制器995b可以采用任意各种的基于电缆的或无线的信令、定时和/或协议来经过所阐释的网络999(也许是由一个或多个链接组成的网络、较小网络或者可能是以太网)访问其它计算设备。接口控制器995c可以采用任意各种的电导体电缆来使能串行或并行信号传输的使用,以便将数据传输到所阐释的打印机925。可以经过接口990的一个或多个接口控制器可通信地耦合的其它设备的示例包括,但不局限于,麦克风、遥控器、手写笔、读卡器、指纹阅读器、虚拟现实交互手套、图形输入板、操纵杆、其它键盘、视网膜扫描仪、触摸屏的触摸输入部件、轨迹球、各种传感器、用于监控人的移动来接受命令和/或经由这些人的手势和/或面部表情以信号方式进行传送的数据的摄像头或摄像头阵列、激光打印机、喷墨打印机、机械机器人、铣床等等。
计算设备可通信地耦合到(或者可能实际结合)显示器(例如,所阐释的示例显示器980),实现处理架构3000的这样的计算设备也可以包括显示器接口985。尽管在可通信地耦合到显示器时可以采用更多普遍的接口类型,但是在显示器上视觉地显示各种形式的内容时经常要求的一定程度上专门附加的处理以及所使用的基于电缆的接口的一定程度上专门的性质经常使提供不同的显示器接口是期望的。可以由与显示器980进行可通信耦合的显示器接口985采用的有线和/或无线信令技术可以使用符合任意各种工业标准的信号和/或协议,包括但不局限于,模拟视频接口、数字视频接口(DVI)、显示端口等等的任意各种。
图15说明了系统4000的实施例。在各种实施例中,系统4000可以代表适合于与本文描述的一个或多个实施例使用的系统或架构,例如图形处理系统1000;计算设备100,300或600中的一个或多个;和/或逻辑流程2100或2200中的一个或两者。实施例不局限于这一方面。
如图所示,系统4000可以包括多个元件。一个或多个元件可以使用一个或多个电路、部件、寄存器、处理器、软件子例程、模块或其任意组合来实现,正如对于给定的设计或性能集合所期望的。尽管通过示例的方式在适合的拓扑中示出了有限数量的元件,但是能够理解的是,如对于给定的实现期望的,任意适合的拓扑中的更多或更少的元件可以用于系统4000。实施例不局限于这一上下文。
在实施例中,系统4000可以是媒体系统,尽管系统400不局限于这一上下文。例如,系统4000可以被结合在个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数据助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能手机、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等等。
在实施例中,系统4000包括耦合到显示器4980的平台4900a。平台4900a可以从诸如内容服务设备4900c或内容传送设备4900d或其它类似的内容源的内容设备接收内容。导航控制器4920包括可以用于例如与平台4900和/或显示器4980进行交互的一个或多个导航特征。下面将详细描述这些部件中的每一个。
在实施例中,系统4000可以包括处理器部件4950、芯片集4955、存储器单元4969、收发机4995、存储设备4962、应用4940、和/或图形子系统4985的任意组合。芯片集4955可以提供处理器电路4950、存储器单元4969、收发机4995、存储设备4962、应用4940和/或图形子系统498之间的相互通信。例如,芯片集4955可以包括能够提供与存储设备4962的相互通信的存储适配器(未示出)。
处理器部件4950可以使用任意处理器或逻辑设备来实现,并且可以与一个或多个处理器部件150,350或650和/或图14的处理器部件950相同或类似。
存储器单元4969可以使用能够存储数据的任意机器可读或计算机可读介质来实现,并且可以与图14的存储介质969相同或类似。
收发机4995可以包括能够使用各种适当的无线通信技术来传输和接收信号的一个或多个无线电设备,并且可以与图14中的收发机955b相同或类似。
显示器4980可以包括任何电视机类型的监视器或显示器,并且可以与显示器380和680中的一个或多个和/或图14中的显示器980相同或类似。
存储设备4962可以被实现为非易失性存储设备,并且可以与图14中的非易失性存储设备962相同或类似。
图形子系统4985可以执行诸如静止或视频的图像的处理用于显示。图形子系统4985可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于可通信地耦合图形子系统4985和显示器4980。例如,接口可以是任意的高清晰度多媒体接口、显示端口、无线HDMI、和/或无线HD兼容技术。图形子系统4985可以被集成在处理器电路4950或者芯片集4955中。图像子系统4985可以是可通信地耦合到芯片集4955的独立的卡。
本文描述的图形和/或视频处理技术可以被实现在各种硬件架构中。例如,图形和/或视频功能可以被集成在芯片集内。可选地,可以使用分立的图形和/或视频处理器。作为再一实施例,图形和/或视频功能可以由包括多核处理器的通用处理器实现。在进一步的实施例中,该功能可以被实现在消费类电子设备中。
在实施例中,内容服务设备4900b可以由任意本国、国际和/或独立服务托管,并且因而例如经由互联网对于平台4900a可访问。内容服务设备4900b可以耦合到平台4900a和/或显示器4980。平台4900a和/或内容服务设备4900b可以耦合到网络4999以便从网络4999来回地通信(例如,发送和/或接收)媒体信息。内容传送设备4900c也可以耦合到平台4900a和/或显示器4980。
在实施例中,内容服务设备4900b可以包括有线电视盒、个人计算机、网络、电话、以太网使能的设备或者能够传送数字信息和/或内容的装置、以及任意其它的能够经由网络4999或者直接地在内容提供方和平台4900a和显示器4980之间单向或双向的传送内容的类似的设备。可以理解的是,内容可以经由网络4999被系统4000中的任意一个部件以及内容提供方来回地进行单向和/或双向传送。内容的示例可以包括任意媒体信息,例如包括视频、音乐、医疗和游戏信息等等。
内容服务设备4900b接收诸如包括媒体信息、数字信息和/或其它内容的有线电视节目的内容。内容提供方的示例可以包括任何有线或卫星电视或者无线电或以太网内容提供方。所提供的示例并不意在限制实施例。
在实施例中,平台4900a可以从具有一个或多个导航特征的导航控制器4920接收控制信号。导航控制器4920的导航特征可以用于例如与用户界面4880进行交互。在实施例中,导航控制器4920可以是定位设备,其可以是允许用户将空间(例如,连续且多维的)数据输入到计算机中的计算机硬件部件(特别是人机接口设备)。诸如图形用户界面(GUI)的许多系统、以及电视机和监控器允许用户使用物理姿势控制并且提供数据给计算机或者电视机。
导航控制器4920的导航特征的移动可以被反映在显示器(例如,显示器4980)上,通过显示在显示器上的指针、光标、聚焦环或其它视觉指示器的移动。例如,在软件应用4940的控制下,位于导航控制器4920上的导航特征可以被映射到在用户界面4880上显示的虚拟导航特征。在实施例中,导航控制器4920可以不是单独的部件而是被集成到平台4900a和/或显示器4980中。然而,实施例不局限于这些元件或者本文示出或描述的上下文。
在实施例中,驱动器(未示出)可以包括用于使用户能够像电视机一样例如在被使能时在初始化引导之后通过触摸按钮来立即打开和关闭平台4900a的技术。当平台被“关闭”时,程序逻辑可以允许平台4900a将内容流传送到媒体适配器或其它内容服务设备4900b或内容传送设备4900c。此外,芯片集4955可以包括例如支持5.1环绕声音音频和/或高清7.1环绕声音音频的硬件和/或软件。驱动器可以包括用于集成的图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互联(PCI)高速图形卡。
在各种实施例中,在系统4000中示出的任意一个或多个部件可以被集成。例如,平台4900a和内容服务设备4900b可以被集成,或者平台4900a和内容传送设备4900c可以被集成,或者平台4900a、内容服务设备4900b和内容传送设备4900c可以被集成。在各种实施例中,平台4900a和显示器4890可以是集成的单元。例如,显示器4980和内容服务设备4900b可以被集成,或者显示器4980和内容传送设备4900c可以例如被集成。这些示例并不意在限制实施例。
在各种实施例中,系统4000可以被实现为无线系统,有线系统或两者的组合。当被实现为无线系统时,系统4000可以包括适合于通过无线共享介质进行通信的部件和接口,该无线共享介质例如是一个或多个天线、发射集、接收机、收发机、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括无线频谱的一部分,例如RF频谱等等。当被实现为有线系统时,系统4000可以包括适合于通过有线通信介质进行通信的部件和接口,例如I/O适配器、用于将I/O适配器与相对应的有线通信介质进行连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可以包括电线、电缆、金属导线、印刷电路板(PCB)、背板、交换器构造、半导体材料、双绞线、同轴电缆、光纤等等。
平台4900a可以建立一个或多个逻辑或物理信道以便传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以指代代表意在用于用户的内容的任何数据。内容的示例可以例如包括来自语音会话、视频会议、流式视频、电子邮件(“电邮”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音对话的数据可以例如是讲话信息、安静时段、背景噪声、舒适噪声、语调等等。控制信息可以指代代表意在用于自动系统的命令、指令或控制字的任意数据。例如,控制信息可以用于经过系统路由媒体信息、或者指示节点按照预定的方式处理媒体信息。然而,实施例不局限于在图15中示出或描述的元件或上下文。
如上面描述的,系统4000可以被体现在各种物理样式或形状因子中。图16说明了其中可以体现系统4000的小形状因子设备5000的实施例。在实施例中,例如,设备5000可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指代具有处理系统和诸如一个或多个电池的移动功率源或电源的任意设备。
如上面描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数据助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能手机、智能平板或智能电视)、移动以太网设备(MID)、消息传送设备、数据通信设备等等。
移动计算设备的示例也可以包括被布置有人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、腰带夹计算机、臂章计算机、鞋子计算机、服装计算机、以及其它可穿戴式计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用、以及语音通信和/或数据通信的智能手机。尽管通过示例的方式使用被实现为智能电话的移动计算设备来描述一些实施例,但是可以理解的是,也可以使用其它无线移动计算设备来实现其它实施例。实施例不局限于这一上下文。
如图所示,设备5000可以包括显示器5980、导航控制器5920a、用户界面5880、壳体5905、I/O设备5920b以及天线5998。显示器5980可以包括用于显示适合于移动计算设备的信息的任何适当的显示器单元,并且可以与图15中的显示器4980相同或类似。导航控制器5920a可以包括一个或多个导航特征,该导航特征可以用于与用户界面5880进行交互,并且可以与图15中的导航控制器4920相同或类似。I/O设备5920b可以包括用于将信息输入到移动计算设备中的任何适当的I/O设备。I/O设备5920a的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件等等。信息也可以通过麦克风的方式被输入到设备5000。这样的信息可以被语音识别设备数字化。实施例不局限于这一上下文。
更一般地,本文描述和阐释的计算设备的各种元件可以包括各种硬件元件、软件元件、或两者的组合。硬件元件的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器部件、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用编程接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任意组合。然而,确定实施例是使用硬件元件和/或软件元件来实现可以根据任意数量的因素而变化,例如,期望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束,如对于给定实现所期望的。
一些实施例可以使用表述“一个实施例”或“实施例”连同它们的派生词一起被描述。这些术语意味着结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。术语“在一个实施例中”在说明书中多个位置的出现不必全部指代相同的实施例。进而,一些实施例可以使用表述“耦合”和“连接”连同其派生词一起被描述。这些术语不必意在作为彼此的同义词。例如,一些实施例可以使用术语“连接”和/或“耦合”进行描述,以便指示两个或更多个元件彼此直接的物理或电学接触。然而,术语“耦合”也可以意味着两个或更多个元件彼此没有直接连接,但是仍然彼此协同操作或者交互。而且,来自不同实施例的方面或元件可以被组合。
要强调的是,提供本公开的摘要以便允许阅读者快速地确定技术公开的本质。需要理解的是,它将不用于解释或限制权利要求的范围或含义。此外,在前面的详细描述中可以看到,为了合理化本公开的目的,各种特征在单个实施例中被分组到一起。这一公开的方法并不被解释为反映请求保护的实施例要求比在每一项权利要求中专门列举的特征更多的特征的发明。而是,如下面的权利要求反映的,创造性主题在于少于单个公开的实施例的所有特征。因而下面的权利要求被结合在详细描述中,每一个权利要求本身作为一个独立的实施例。在所附的权利要求中,术语“包括”和“其中”分别用作各自术语“包含”和“在其中”的简明英语等同物。而且,术语“第一”、“第二”、“第三”等等仅仅被用作标签,并不意在对它们的对象上强加数字要求。
上面描述的内容包括所公开的架构的示例。当然,不可能描述部件和/或方法的每一个可预见的组合,但是本领域技术人员可以认识到的是,更多进一步的组合和排列是可能的。因此,新的架构意在包含落入所附的权利要求的精神和范围内的所有这样的修改、变化和变形。详细描述现在转到提供关于进一步的实施例的示例。下面提供的示例并不意在是限制性的。
详细描述现在转到提供关于进一步的实施例的示例。下面提供的示例一到六十三意在时示例性的而非限制性的。
在第一示例中,用于压缩视频帧的设备可以包括处理器部件;以及用于由所述处理器部件执行以便将至少一个压缩缩略图帧(T帧)散布在运动视频的多个压缩全分辨率帧之间的压缩部件,该多个压缩全分辨率帧在压缩视频数据中以编码顺序进步布置,所述T帧包括压缩形式的运动视频的多个缩略图。
在第二示例中,示例一的设备可以包括用于由处理器部件执行以便将多个缩略图组合到多缩略图帧中的组合部件,并且所述压缩部件用于压缩所述多缩略图帧以便生成T帧。
在示例二的设备的第三示例中,所述多个缩略图可以包括在时间顺序上相邻的缩略图。
在示例二的设备的第四示例中,所述组合部件用于以平铺的方式组织所述多缩略图帧中的多个缩略图。
在示例四的设备的第五示例中,所述压缩部件包括用于由所述处理器部件执行以便对所述多缩略图帧的两个缩略图的像素进行比较来得出描述所述两个缩略图之间的差异的运动向量的运动估计器。
在第六示例中,权利要求1的示例可以包括用于由所述处理器部件执行以便根据所述运动视频的全分辨率帧生成所述多个缩略图的缩略图生成器。
在示例一的设备的第七示例中,所述压缩部件用于采用MPEG的版本来生成画面组(GOP),该画面组包括所述多个压缩全分辨率帧和散布在所述多个压缩全分辨率帧当中的所述至少一个T帧,以便生成即时解码器刷新帧(IDR帧),并且将所述IDR帧定位在所述GOP的第一编码顺序位置处。
在示例七的设备的第八示例中,所述压缩部件用于生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述T帧在所述GOP中的位置的消息。
在示例一的设备的第九示例中,所述压缩部件用于生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或者T帧中的一个的参数的消息,所述参数包括所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、T帧中的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例九的设备的第十示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息以及指示所述至少一个T帧没有被加密的第二消息。
示例九的设备的第十一示例可以包括将所述压缩视频数据和所述消息数据传输到观看设备的接口。
示例一的设备的第十二示例可以包括用于由所述处理器部件执行以便对所述多个压缩全分辨率帧和所述至少一个T帧进行选择性加密的加密部件。
在示例十二的设备的第十三示例中,所述加密部件用于对所述多个压缩全分辨率帧进行加密,并且限制对所述至少一个T帧进行加密。
在第十四示例中,用于解压缩视频帧的设备可以包括处理器部件;以及解压缩部件,用于对视觉地呈现至少一个解压缩缩略图的命令做出响应,对散布在运动视频的多个压缩全分辨率帧当中的至少一个压缩缩略图帧(T帧)进行解密以便生成所述至少一个解压缩缩略图,所述多个压缩全分辨率帧在压缩的视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。
在示例十四的设备的第十五示例中,所述解压缩部件用于对视觉地程序所述多个解压缩全分辨率帧的另一个命令做出响应,对所述多个压缩全分辨率帧进行解压缩以便生成多个解压缩全分辨率帧。
在第十六示例中,示例十四的设备可以包括用于监控输入设备用于命令的接收的指示的呈现部件。
在示例十六的设备的第十七示例中,所述呈现部件用于在显示器上视觉地呈现所述至少一个解压缩缩略图,以便提供所述运动视频的至少一部分的预览。
在第十八示例中,示例十七的设备可以包括输入设备或显示器中的一个。
在示例十四的设备的第十九示例中,所述多个缩略图包括在时间顺序上相邻的缩略图。
在示例十四的设备的第二十示例中,所述解压缩部件包括运动补偿器,器采用根据所述多个缩略图中的两个的像素的比较得出的运动向量来对所述T帧进行解压缩。
在示例十四的设备的第二十一示例中,所述压缩视频数据包括由所述多个压缩全分辨率帧和所述至少一个T帧组成的画面组(GOP),所述解压缩部件用于采用MPEG的版本以及在与所述压缩视频数据相关联的消息数据的消息中指示的参数来对所述T帧进行解压缩,并且所述参数包括所述T帧在所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例二十一的设备的第二十二示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息以及所述至少一个T帧没有被加密的第二消息。
在第二十三示例中,示例二十一的设备可以包括用于接收压缩视频数据和消息数据的接口。
在第二十四示例中,示例二十一的设备可以包括用于由所述处理器部件执行以便基于所述消息数据的消息来对所述多个压缩全分辨率帧和所述至少一个T帧进行选择性解密的解密部件。
在第二十五示例中,一种用于压缩视频帧的计算机实现的方法可以包括将运动视频的多个缩略图组合到多缩略图帧中;压缩所述多缩略图帧以便生成压缩缩略图帧(T帧);并且将所述T帧散布在所述运动视频的多个压缩全分辨率帧当中,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置。
在示例二十五的方法的第二十六示例中,所述多个缩略图包括在时间顺序上相邻的缩略图。
在示例二十五的方法的第二十七示例中,所述方法包括以平铺方式组织所述多缩略图帧内的多个缩略图。
在示例二十七的方法的第二十八示例中,所述方法包括得出描述所述多缩略图帧的两个缩略图的像素块之间的差异的运动向量以便压缩所述多缩略图帧。
在示例二十五的方法的第二十九示例中,所述方法包括根据所述运动视频的全分辨率帧生成所述多个缩略图。
在示例二十五的方法的第三十示例中,所述方法包括:采用MPEG的版本来生成画面组(GOP),所述画面组包括所述多个压缩全分辨率帧和散布在所述多个压缩全分辨率帧当中的所述T帧;生成即时解码器刷新帧(IDR帧);将所述IDR帧设置在所述GOP的第一编码顺序位置处;并且生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述T帧在所述GOP内的位置的消息。
在示例二十五的方法的第三十一示例中,所述方法包括生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或者所述T帧二者之一的参数的消息,所述参数包括在所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例三十一的方法的第三十二示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息,以及指示所述T帧没有被加密的第二消息。
在示例三十一的方法的第三十三示例中,所述方法包括将所述压缩视频数据和所述消息数据传输到观看设备。
在示例二十五的方法的第三十四示例中,所述方法包括对所述多个压缩全分辨率帧进行加密,并且限制对所述T帧进行加密。
在第三十五示例中,至少一个机器可读存储器介质可以包括指令,当该指令被计算设备执行时使所述计算设备:将运动视频的多个缩略图组合到多缩略图帧中;压缩所述多缩略图帧以便生成压缩缩略图帧(T帧);并且将所述T帧散布在所述运动视频的多个压缩全分辨率帧当中,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置。
在示例三十五的至少一个机器可读存储器介质的第三十六示例中,所述多个缩略图包括在时间顺序上相邻的缩略图。
在示例三十五的至少一个机器可读存储器介质的第三十七示例中,所述计算设备被使得按照平铺的方式在所述多缩略图帧中组织所述多个缩略图。
在示例三十七的至少一个机器可读存储器介质的第三十八示例中,所述计算设备被使得得出描述所述多缩略图帧的两个缩略图的像素块之间的差异的运动向量以便压缩所述多缩略图帧。
在示例三十五的至少一个机器可读存储器介质的第三十九示例中,所述计算设备被使得根据所述运动视频的全分辨率帧生成所述多个缩略图。
在示例三十五的至少一个机器可读存储器介质的第四十示例中,所述计算设备被使得:采用MPEG的版本来生成画面组(GOP),所述画面组包括多个压缩全分辨率帧以及散布在所述多个压缩全分辨率帧当中的所述T帧;生成即时解码器刷新帧(IDR帧);将所述IDR帧设置在所述GOP的第一编码顺序位置处;并且生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述T帧在所述GOP内的位置的消息。
在示例三十五的至少一个机器可读存储器介质的第四十一示例中,所述计算设备被使得生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或者所述T帧二者之一的参数的消息,所述参数包括所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例四十一的至少一个机器可读存储器介质的第四十二示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息,以及指示所述T帧没有被加密的第二消息。
在示例四十一的至少一个机器可读存储器介质的第四十三示例中,所述计算设备被使得将所述压缩视频数据和所述消息数据传输到观看设备。
在示例三十五的至少一个机器可读存储器介质的第四十四示例中,所述计算设备被使得对所述多个压缩全分辨率帧进行加密,并且限制对所述T帧进行加密。
在第四十五示例中,一种用于解压缩视频帧的计算机实现的方法可以包括:接收用于视觉地呈现运动视频的至少一个解压缩缩略图的命令;并且对所述命令做出响应来对散布在所述运动视频的多个压缩全分辨率帧当中的至少一个压缩缩略图帧(T帧)进行解密以便生成所述至少一个解压缩缩略图,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。
在示例四十五的计算机实现的方法的第四十六示例中,所述方法包括:接收用于视觉地呈现多个解压缩全分辨率帧的另一命令;并且多所述另一命令做出响应来对所述多个压缩全分辨率帧进行解密以便生成所述多个解压缩全分辨率帧。
在示例四十五的计算机实现的方法的第四十七示例中,所述方法包括:针对接收所述命令的指示监控输入设备;并且在显示器上视觉地呈现所述至少一个解压缩缩略图以便提供所述运动视频的至少一部分的预览。
在示例四十五的计算机实现的方法的第四十八示例中,所述多个缩略图包括在时间顺序上相邻的缩略图。
在示例四十五的计算机实现的方法的第四十九示例中,所述方法包括采用根据所述多个缩略图的两个像素的比较得出的运动向量来对所述T帧进行解压缩。
在示例四十五的计算机实现的方法的第五十个示例中,所述压缩视频数据包括由所述多个压缩全分辨率帧和所述至少一个T帧组成的画面组(GOP),所述方法包括采用MPEG的版本以及在与所述压缩视频数据相关联的消息数据的消息中指示的参数来对所述T帧进行解压缩,并且所述参数包括所述T帧在所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例五十的计算机实现的方法的第五十一示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息,以及所述至少一个T帧没有被加密的第二消息。
在示例五十的计算机实现的方法的第五十二示例中,所述方法包括基于所述消息数据的消息来对所述多个压缩全分辨率帧和所述至少一个T帧进行选择性解密。
在第五十三示例中,至少一个机器可读存储器介质可以包括指令,当该指令被计算设备执行时使得该计算设备:接收用于视觉地呈现运动视频的至少一个解压缩缩略图的命令;并且对所述命令做出响应来对散布在所述运动视频的多个压缩全分辨率帧当中的至少一个压缩缩略图帧(T帧)进行解压缩以便生成至少一个解压缩缩略图,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。
在示例五十三的至少一个机器可读存储器介质的第五十四示例中,所述计算设备被使得:接收用于视觉地呈现多个解压缩全分辨率帧的另一命令;并且对所述另一命令做出响应来对所述多个压缩全分辨率帧进行解密以便生成所述多个解压缩全分辨率帧。
在示例五十三的至少一个机器可读存储器介质的第五十五示例中,所述计算设备被使得:针对接收所述命令的指示监控输入设备;并且在显示器上视觉地呈现所述至少一个解压缩缩略图以便提供所述运动视频的至少一部分的预览。
在示例五十三的至少一个机器可读存储器介质的第五十六示例中,所述多个缩略图包括在时间顺序上相邻的缩略图。
在示例五十三的至少一个机器可读存储器介质的第五十七示例中,所述计算设备被使得采用根据对所述多个缩略图的两个像素的比较取得的运动向量来对所述T帧进行解压缩。
在示例五十三的至少一个机器可读存储器介质的第五十八示例中,所述压缩视频数据包括由多个压缩全分辨率帧和至少一个T帧组成的画面组(GOP),所述计算设备被使得采用MPEG的版本以及在与所述压缩视频数据相关联的消息数据的消息中指示的参数来对所述T帧进行解压缩。
在示例五十三的至少一个机器可读存储器介质的第五十九示例中,所述压缩视频数据包括由所述多个压缩全分辨率帧和所述至少一个T帧组成的画面组(GOP),所述计算设备被使得采用MPEG的版本以及在与所述压缩视频数据相关联的消息数据的消息中指示的参数来对所述T帧进行解码,所述参数包括所述T帧在所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量、或者压缩帧是否被加密中的一个。
在示例五十九的至少一个机器可读存储器介质的第六十示例中,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息,以及所述至少一个T帧没有被加密的第二消息。
在示例五十三的至少一个机器可读存储器介质的第六十一示例中,所述计算设备被使得基于所述消息数据的消息来对所述多个压缩全分辨率帧和所述至少一个T帧进行选择性解密。
在第六十二示例中,至少一个机器可读存储器介质可以包括指令,当该指令被计算设备执行时使得该计算设备执行示例二十五到三十四或四十五到五十二的任意一个的方法。
在第六十三示例中,一种用于接收命令的装置可以包括用于执行示例二十五到三十四或四十五到五十二的任意一个的方法的模块。
还描述并且请求保护其它实施例和示例。
要强调的是,提供本公开的摘要以便符合37 C.F.R.§1.72(b),要求摘要允许阅读者快速地确定技术公开的本质。应该理解的是,它不被用于解释或限制权利要求的范围或含义。此外,在前面的详细描述中可以看到,为了合理化本公开的目的,各种特征在单个实施例中被分组到一起。这一公开的方法并不意在被解释为反映请求保护的实施例要求比在每一个权利要求中专门列举的特征更多的特征的发明。而是,如下面的权利要求反映的,发明的主题在于少于单独公开的实施例的所有特征。因而下面的权利要求由此被结合到详细描述中,每一个权利要求本身作为一个独立的优选实施例。在所附的权利要求中,词语“包括”和“其中”分别用作各自术语“包含”和“在其中”的英语等同物。而且,词语“第一”、“第二”、“第三”等等仅用为标识,并不意在对它们的对象强加数字要求。
尽管已经按照对于结构特征和/或方法动作特定的语言描述了主题,但是要理解的是,在所附权利要求中定义的主题不必局限于上面描述的特定特征或动作。而是,上面描述的特定特征和动作被公开为实现所述权利要求的示例形式。

Claims (25)

1.一种用于对视频帧进行压缩的设备,包括:
处理器部件;以及
用于由所述处理器部件执行以便在运动视频的多个压缩全分辨率帧当中散布至少一个压缩缩略图帧(T帧)的压缩部件,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。
2.根据权利要求1所述的设备,包括用于由所述处理器部件执行以便将所述多个缩略图组合到多缩略图帧中的组合部件,并且所述压缩部件用于对所述多缩略图帧进行压缩以便生成所述T帧。
3.根据权利要求2所述的设备,所述多个缩略图包括在时间顺序上相邻的缩略图。
4.根据权利要求2所述的设备,所述组合部件用于以平铺的方式将所述多个缩略图组织在所述多缩略图帧内。
5.根据权利要求4所述的设备,所述压缩部件包括用于由所述处理器部件执行以便对所述多缩略图帧的两个缩略图的像素进行比较来得出描述所述两个缩略图之间的差异的运动向量的运动估计器。
6.根据权利要求1所述的设备,所述压缩部件用于生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或所述T帧两者之一的参数的消息,所述参数包括所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量或者压缩帧是否被加密中的一个。
7.根据权利要求6所述的设备,包括用于将所述压缩视频数据和所述消息数据传输到观看设备的接口。
8.根据权利要求1所述的设备,包括用于由所述处理器部件执行以便对所述多个压缩全分辨率帧和所述至少一个T帧进行选择性加密的加密部件。
9.一种用于对视频帧进行解压缩的设备,包括:
处理器部件;以及
用于对用于视觉地呈现至少一个解压缩缩略图的命令做出响应,对散布在运动视频的多个压缩全分辨率帧当中的至少一个压缩缩略图帧(T帧)进行解压缩以便生成至少一个解压缩缩略图的解压缩部件,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置,所述T帧包括压缩形式的所述运动视频的多个缩略图。
10.根据权利要求9所述的设备,所述解压缩部件用于对视觉地呈现所述多个解压缩全分辨率帧的另一命令做出响应,对所述多个压缩全分辨率帧进行解压缩以便生成多个解压缩全分辨率帧。
11.根据权利要求9所述的设备,包括用于针对所述命令的接收的指示监控输入设备的呈现部件。
12.根据权利要求11所述的设备,所述呈现部件用于在显示器上视觉地呈现所述至少一个解压缩缩略图以便提供所述运动视频的至少一部分的预览。
13.根据权利要求12所述的设备,包括所述输入设备或者所述显示器中的一个。
14.根据权利要求9所述的设备,所述解压缩部件包括用于采用根据所述多个缩略图中的两个的像素的比较得出的运动向量来对所述T帧进行解压缩的运动补偿器。
15.根据权利要求9所述的设备,所述压缩视频数据包括包含所述多个压缩全分辨率帧和所述至少一个T帧的画面组(GOP),所述解压缩部件用于采用MPEG的版本以及在与所述压缩视频数据相关联的消息数据的消息中指示的参数来对所述T帧进行解压缩,并且所述参数包括所述T帧在所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量或者压缩帧是否被加密中的一个。
16.一种用于对视频帧进行压缩的计算机实现的方法,包括:
将运动视频的多个缩略图组合到多缩略图帧中;
对所述多缩略图帧进行压缩以便生成压缩缩略图帧(T帧);以及
使所述T帧散布在所述运动视频的多个压缩全分辨率帧当中,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置。
17.根据权利要求16所述的计算机实现的方法,所述方法包括以平铺的方式将所述多个缩略图组织在所述多缩略图帧内。
18.根据权利要求17所述的计算机实现的方法,所述方法包括得出描述所述多缩略图帧的两个缩略图的像素块之间的差异的运动向量以便对所述多缩略图帧进行压缩。
19.根据权利要求16所述的计算机实现的方法,所述方法包括生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或所述T帧两者之一的参数的消息,所述参数包括所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量或者压缩帧是否被加密中的一个。
20.根据权利要求16所述的计算机实现的方法,所述方法包括对所述多个压缩全分辨率帧进行加密,并且限制对所述T帧进行加密。
21.至少一种机器可读存储器介质,其包括指令,当所述指令被计算设备执行时使得所述计算设备:
将运动视频的多个缩略图组合到多缩略图帧中;
对所述多缩略图帧进行压缩以便生成压缩缩略图帧(T帧);以及
使所述T帧散布在所述运动视频的多个压缩全分辨率帧当中,所述多个压缩全分辨率帧在压缩视频数据中按照编码顺序进行布置。
22.根据权利要求21所述的至少一种机器可读存储器介质,所述计算设备被使得以平铺的方式将所述多个缩略图组织在所述多缩略图帧内。
23.根据权利要求22所述的至少一种机器可读存储器介质,所述计算设备被使得得出描述所述多缩略图帧的两个缩略图的像素块之间的差异的运动向量以便对所述多缩略图帧进行压缩。
24.根据权利要求21所述的至少一种机器可读存储器介质,所述计算设备被使得生成与所述压缩视频数据相关联的消息数据,所述消息数据包括指示所述多个压缩全分辨率帧的压缩全分辨率帧或所述T帧两者之一的参数的消息,所述参数包括所述多个压缩全分辨率帧当中的位置、像素分辨率、色彩深度、色彩空间、所述T帧内的缩略图的数量或者压缩帧是否被加密中的一个。
25.根据权利要求24所述的至少一种机器可读存储器介质,所述消息数据包括指示所述多个压缩全分辨率帧被加密的第一消息以及指示所述T帧没有被加密的第二消息。
CN201410477573.3A 2013-07-12 2014-07-11 在压缩视频数据中包括缩略图的方法、设备、系统及存储介质 Active CN104284187B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/940,803 2013-07-12
US13/940,803 US9838686B2 (en) 2013-07-12 2013-07-12 Techniques for inclusion of thumbnail images in compressed video data

Publications (2)

Publication Number Publication Date
CN104284187A true CN104284187A (zh) 2015-01-14
CN104284187B CN104284187B (zh) 2018-09-07

Family

ID=51176206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410477573.3A Active CN104284187B (zh) 2013-07-12 2014-07-11 在压缩视频数据中包括缩略图的方法、设备、系统及存储介质

Country Status (5)

Country Link
US (1) US9838686B2 (zh)
EP (1) EP2824938B1 (zh)
KR (2) KR101593428B1 (zh)
CN (1) CN104284187B (zh)
BR (1) BR102014017234B1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106803911A (zh) * 2017-03-03 2017-06-06 天津天地伟业信息系统集成有限公司 一种nvr录像文件的缩略图创建和读取方法
CN110933432A (zh) * 2018-09-19 2020-03-27 珠海金山办公软件有限公司 图像压缩、解压缩方法、装置、电子设备及存储介质
CN111066081A (zh) * 2017-09-08 2020-04-24 微软技术许可有限责任公司 用于补偿虚拟现实的图像显示中的可变显示设备等待时间的技术
WO2020181112A1 (en) * 2019-03-07 2020-09-10 Alibaba Group Holding Limited Video generating method, apparatus, medium, and terminal
CN113971701A (zh) * 2021-09-10 2022-01-25 浙江大华技术股份有限公司 图像数据处理设备及其处理方法、计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307021B2 (en) * 2013-02-27 2016-04-05 Comcast Cable Communications, Llc Adaptive media transmission processing
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
US10027977B2 (en) * 2013-10-21 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Encoding method for distribution of multimedia contents with enforcement of commercial advertisement
US20160064039A1 (en) * 2014-08-26 2016-03-03 Microsoft Corporation Thumbnail Generation
CN114697690A (zh) * 2020-12-30 2022-07-01 光阵三维科技有限公司 由组合传送的多个串流取出特定串流播放的系统及方法
KR20230023359A (ko) * 2021-08-10 2023-02-17 한화테크윈 주식회사 감시카메라 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020166122A1 (en) * 1999-06-25 2002-11-07 Dan Kikinis Image-oriented electronic programming guide
US20030035543A1 (en) * 2001-08-15 2003-02-20 Gillon William M. System and method for conditional access key encryption
US7773750B2 (en) * 2002-01-02 2010-08-10 Sony Corporation System and method for partially encrypted multimedia stream
CN102332001A (zh) * 2011-07-26 2012-01-25 深圳市万兴软件有限公司 一种视频缩略图生成方法及装置
US20120195365A1 (en) * 2011-02-01 2012-08-02 Michael Horowitz Spatial scalability using redundant pictures and slice groups
CN103136459A (zh) * 2013-01-09 2013-06-05 上海威客网络科技有限公司 一种加密数字内容的版权标识方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691768A (en) 1995-07-07 1997-11-25 Lucent Technologies, Inc. Multiple resolution, multi-stream video system using a single standard decoder
US6356921B1 (en) * 1998-06-20 2002-03-12 International Business Machines Corporation Framework for progressive hierarchial and adaptive delivery rich media presentations and associated meta data
DE10208480A1 (de) 2002-02-27 2003-09-11 Siemens Ag Verfahren zum Erzeugen und zum Abspielen eines Mediadatenstroms, Vorrichtungen zur Ausführung der Verfahren und Computerprogrammprodukt
JP4633464B2 (ja) * 2002-10-21 2011-02-16 エヌエックスピー ビー ヴィ 圧縮ビデオ信号におけるサブ画像の操作
US7194701B2 (en) 2002-11-19 2007-03-20 Hewlett-Packard Development Company, L.P. Video thumbnail
WO2010082783A2 (ko) * 2009-01-15 2010-07-22 엘지전자 주식회사 비실시간 서비스 처리 방법 및 방송 수신기
KR20100131365A (ko) 2009-06-05 2010-12-15 한국전자통신연구원 채널 변경 지연을 줄이기 위한 스트리밍 서버, 이동 단말기 및 그 방법
IT1403450B1 (it) * 2011-01-19 2013-10-17 Sisvel S P A Flusso video costituito da frame video combinati, e procedimento e dispositivi per la sua generazione, trasmissione, ricezione e riproduzione
KR20120138940A (ko) 2011-06-16 2012-12-27 가천대학교 산학협력단 모바일 단말기용 영상 데이터의 선택적 암호화 구현 시스템 및 방법
KR101264667B1 (ko) 2012-12-28 2013-05-15 (주)지란지교소프트 비디오 파일의 썸네일 이미지 생성 방법 및 그 방법이 기록된 기록매체

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020166122A1 (en) * 1999-06-25 2002-11-07 Dan Kikinis Image-oriented electronic programming guide
US20030035543A1 (en) * 2001-08-15 2003-02-20 Gillon William M. System and method for conditional access key encryption
US7773750B2 (en) * 2002-01-02 2010-08-10 Sony Corporation System and method for partially encrypted multimedia stream
US20120195365A1 (en) * 2011-02-01 2012-08-02 Michael Horowitz Spatial scalability using redundant pictures and slice groups
CN102332001A (zh) * 2011-07-26 2012-01-25 深圳市万兴软件有限公司 一种视频缩略图生成方法及装置
CN103136459A (zh) * 2013-01-09 2013-06-05 上海威客网络科技有限公司 一种加密数字内容的版权标识方法和系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106803911A (zh) * 2017-03-03 2017-06-06 天津天地伟业信息系统集成有限公司 一种nvr录像文件的缩略图创建和读取方法
CN111066081A (zh) * 2017-09-08 2020-04-24 微软技术许可有限责任公司 用于补偿虚拟现实的图像显示中的可变显示设备等待时间的技术
CN111066081B (zh) * 2017-09-08 2022-07-01 微软技术许可有限责任公司 用于补偿虚拟现实的图像显示中的可变显示设备等待时间的技术
CN110933432A (zh) * 2018-09-19 2020-03-27 珠海金山办公软件有限公司 图像压缩、解压缩方法、装置、电子设备及存储介质
WO2020181112A1 (en) * 2019-03-07 2020-09-10 Alibaba Group Holding Limited Video generating method, apparatus, medium, and terminal
US11037365B2 (en) 2019-03-07 2021-06-15 Alibaba Group Holding Limited Method, apparatus, medium, terminal, and device for processing multi-angle free-perspective data
US11055901B2 (en) 2019-03-07 2021-07-06 Alibaba Group Holding Limited Method, apparatus, medium, and server for generating multi-angle free-perspective video data
US11257283B2 (en) 2019-03-07 2022-02-22 Alibaba Group Holding Limited Image reconstruction method, system, device and computer-readable storage medium
US11341715B2 (en) 2019-03-07 2022-05-24 Alibaba Group Holding Limited Video reconstruction method, system, device, and computer readable storage medium
US11521347B2 (en) 2019-03-07 2022-12-06 Alibaba Group Holding Limited Method, apparatus, medium, and device for generating multi-angle free-respective image data
CN113971701A (zh) * 2021-09-10 2022-01-25 浙江大华技术股份有限公司 图像数据处理设备及其处理方法、计算机可读存储介质

Also Published As

Publication number Publication date
KR20150090009A (ko) 2015-08-05
BR102014017234A2 (pt) 2015-03-17
EP2824938B1 (en) 2019-08-21
KR20150008344A (ko) 2015-01-22
EP2824938A1 (en) 2015-01-14
BR102014017234B1 (pt) 2023-02-28
US9838686B2 (en) 2017-12-05
US20150016514A1 (en) 2015-01-15
KR102129637B1 (ko) 2020-07-02
KR101593428B1 (ko) 2016-02-12
CN104284187B (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN104284187A (zh) 用于在压缩视频数据中包括缩略图的技术
CN103460177B (zh) 电子设备与远程显示器之间的姿势可视化和共享
CN103416002B (zh) 视频位流中的渲染定向信息
CN105359533A (zh) 用于低功率图像压缩和显示的技术
US9191108B2 (en) Techniques for low power visual light communication
US20140092439A1 (en) Encoding images using a 3d mesh of polygons and corresponding textures
KR101646958B1 (ko) 변경된 영역들을 이용한 매체 인코딩
US8830300B2 (en) Multiscalar stereo video format conversion
CN106254877B (zh) 视频处理系统、处理视频数据帧的方法、装置与存储介质
WO2018103384A1 (zh) 一种360度全景视频的播放方法、装置及系统
US8786634B2 (en) Adaptive use of wireless display
CN103581665A (zh) 转码视频数据
CN111064906A (zh) 国产处理器和国产fpga多路4k高清视频综合显示方法
JP2018522430A (ja) ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置
CN105359523A (zh) 用于低功率视频压缩和传输的技术
US9749649B2 (en) Method and system for generating and displaying thumbnail images from original images
US20070046792A1 (en) Image compositing
US11922561B2 (en) Methods and systems for implementing scene descriptions using derived visual tracks
US9888250B2 (en) Techniques for image bitstream processing
CN108027715A (zh) 图形命令令牌的修改
CN113157226A (zh) 远程数据的显示方法、装置、设备及机器可读存储介质
CN115278347B (zh) 一种8k视频的超分辨率处理与显示平台
US20110222836A1 (en) Video editing with a pc data linked to a video capture device
CN111953971B (zh) 视频处理方法、视频处理装置及终端设备
US20240185469A1 (en) Coding of displacements using hierarchical coding at subdivision level for vertex mesh (v-mesh)

Legal Events

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