本申请是申请日为2015年2月25日、申请号为201580008321.9、名称为“用于提供具有标准动态范围和高动态范围两者的视频的向后兼容的装置和方法”的发明专利申请的分案申请。
本发明整体涉及数字视频或图像处理和显示。
背景技术:
各种设备(包括但不限于个人计算机系统、台式计算机系统、膝上型电脑和笔记本式计算机、平板电脑或平板设备、数码相机、数字视频录像机以及移动电话或智能电话)可包括可实施一个或多个视频处理方法的软件和/或硬件。例如,设备可包括可根据一个或多个视频处理方法接收和处理来自一个或多个源的数字视频输入并输出经处理的视频帧的装置(例如集成电路(ic),诸如片上系统(soc)或ic子系统)。又如,可在设备上实施可根据一个或多个视频处理方法接收和处理来自一个或多个源的数字视频输入并向一个或多个目标输出经处理的视频帧的软件程序。
例如,视频编码器可被实施为一种装置或作为替代被实施为一种软件程序,其中数字视频输入根据视频编码方法被编码或转换为另一种格式例如压缩视频格式,诸如h.264/高级视频编码(avc)格式或h.265高效视频编码(hevc)格式。又如,视频编码器可被实施为一种装置或作为替代被实施为一种软件程序,其中接收压缩视频格式诸如avc或hevc的视频,然后根据视频解码方法将其解码或转换为另一种(解压缩)格式,例如由显示设备使用的显示格式。h.264/avc标准由itu-t在标题为“itu-trecommendationh.264:advancedvideocodingforgenericaudiovisualservices”的文档中公布。h.265/hevc标准由itu-t在标题为“itu-trecommendationh.265:highefficiencyvideocoding”的文档中公布。
在许多系统中,装置或软件程序可实现视频编码器部件和视频解码器部件两者;此类装置或程序通常被称为编解码器。需注意,编解码器可对视频流中的视觉/图像数据和音频/声音数据进行编码/解码。
一般定义的动态范围是可变量(诸如声音和光之类的信号)的可能的最大值与可能的最小值的比率。在处理数字图像和视频的过程中,照惯例在有限的动态范围内捕获、呈现并显示数字图像(例如,视频或静态图像),这被称为标准动态范围(sdr)成像。此外,使用相对狭窄的色域照惯例呈现图像以供显示,这被称为标准色域(scg)成像。扩展动态范围成像或高动态范围(hdr)成像是指在电子图像(例如,如在显示屏或显示设备上所显示的)中产生比使用标准数字成像工艺技术(被称为标准动态范围或sdr成像)时获取的亮度范围更宽的亮度范围的工艺技术。许多新设备诸如图像传感器和显示器支持hdr成像和宽色域(wcg)成像两者。这些设备可被称为启用hdr的设备,或简称hdr设备。然而,许多视频捕获设备和显示设备可能不直接支持hdr成像和/或wcg成像。
技术实现要素:
本发明描述了视频处理技术和流水线的实施方案,这些实施方案支持在启用hdr的显示设备和不支持hdr成像的显示设备上捕获、分配并显示高动态范围(hdr)图像数据。在实施方案中,传感器流水线可例如使用色调映射技术从由图像传感器所捕获的hdr图像数据生成较低或标准动态范围(sdr)图像数据。用于生成sdr图像数据的信息可与所生成的sdr图像数据一起被记录为元数据。sdr图像数据可被提供至被呈现以供在目标显示设备上显示的显示器流水线。如果目标显示设备不支持hdr成像,则sdr图像数据可直接由显示器流水线呈现以供显示。如果目标显示器支持hdr成像,则显示器流水线可根据用于呈现用于进行显示的hdr图像数据的元数据来由该显示器流水线向sdr图像数据应用反向映射技术。
在一些实施方案中,在将输入hdr图像数据转换为sdr图像数据的传感器流水线中,替代全局色调映射(gtm)技术或除gtm技术之外,可使用局部色调映射(ltm)技术。在使用ltm技术过程中,将图像或帧划分为多个区域,并动态地针对每个区域来确定色调曲线。可将区域或局部色调曲线参数化并保存在被传递到显示器流水线的元数据中,因此可利用反向色调映射技术至少部分地恢复色调或亮度。在一些实施方案中,可在空间上(例如,在图像内)和/或时间上(例如,跨两个或更多个帧)压缩局部色调映射元数据。
在一些实施方案中,可调整由显示器流水线执行的反向色调映射技术,使之与目标显示器的动态范围匹配。在一些实施方案中,显示器流水线的反向色调映射技术可以是环境自适应过程,其中可使用有关环境光线或显示器的其他环境条件的信息,例如通过对局部色调映射使用的一个或多个色调曲线进行修改或加权来调节该反向色调映射过程。
在一些实施方案中,除色调映射信息之外,在传感器流水线上执行色域映射时所使用的信息也可被记录在元数据中,并且在重建图像的过程中被显示器流水线用于在支持wcg成像的显示器上恢复较宽的色域。在一些实施方案中,传感器流水线可在中间色域内生成图像数据,显示器流水线可根据元数据映射到相应显示器支持的较窄显示色域。
附图说明
图1示出了视频流水线的操作。
图2示出了根据一些实施方案的可提供来自源hdr内容的标准动态范围(sdr)视频和高动态范围(hdr)视频两者的示例性视频流水线。
图3示出了根据一些实施方案的提供来自源hdr内容的sdr视频的示例性视频流水线。
图4示出了根据一些实施方案的局部色调映射(ltm)。
图5是根据一些实施方案的可在传感器流水线中实现的方法的高层次流程图。
图6是根据一些实施方案的可在显示器流水线中实现的方法的高层次流程图。
图7是根据一些实施方案的可在视频流水线中实现的方法的高层次流程图,该视频流水线支持hdr显示器并且向后兼容sdr显示器。
图8示出了根据一些实施方案的示例性视频回放系统,其中编码器在中间色域内生成输出数据,并且该系统使用由编码器生成的元数据在解码器/显示器侧执行至显示色域的映射。
图9是根据一些实施方案的视频回放方法的流程图,其中编码器在中间色域内生成输出数据,并且解码器根据由编码器生成的元数据来执行至显示色域的映射。
图10是片上系统(soc)的一个实施方案的框图,该soc可被配置为实现本文所述的系统和方法的各个方面。
图11为可包括一个或多个soc的系统的一个实施方案的框图。
图12示出了根据一些实施方案的示例性计算机系统,该计算机系统可被配置为实现本文所述的系统和方法的各个方面。
图13示出了根据一些实施方案的便携式多功能设备的框图。
图14描绘了根据一些实施方案的便携式多功能设备。
尽管本发明易受各种修改形式和替代形式的影响,但其具体实施方案在附图中以举例方式示出并将在本文中详细描述。然而应当理解,附图及其详细描述并非旨在将本发明限制为所公开的具体形式,恰恰相反,本发明旨在涵盖属于本发明的实质和范围的所有修改形式、等同形式和替代形式。本申请通篇中使用的字词“可/可能”,具有允许的意义(也就是意味着“有可能……”),而不具有强制的意义(也就是意味着“不是必须……”)。类似地,字词“包括”意味着“包括但不限于”。
各种单元、电路或其他部件可被描述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”是通常意味着“具有”在操作期间执行一项或多项任务的“电路”的结构的宽泛表述。因此,即便单元/电路/部件当前未接通,单元/电路/部件也可被配置为执行该任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为方便描述,可将各种单元/电路/部件描述为执行一项或多项任务。此类描述应当被解释成包括短语“被配置为”。表述被配置为执行一项或多项任务的单元/电路/部件明确地旨在对该单元/电路/部件不援引35u.s.c.§112第六段的解释。
具体实施方式
本发明描述了视频处理技术和流水线的实施方案,这些实施方案支持在启用hdr的显示设备和不支持hdr成像的显示设备上捕获、分配并显示高动态范围(hdr)图像数据。视频处理流水线的实施方案可包括传感器流水线部分和显示器流水线部分。传感器流水线和显示器流水线可位于同一台设备中,也可位于不同的设备中。在该实施方案中,传感器流水线可例如使用色调映射技术从由与该传感器流水线相关联的相机的图像传感器或光传感器捕获的hdr图像数据生成较低或标准动态范围(sdr)图像数据。用于生成sdr图像数据的信息(例如色调映射信息,诸如参数化的色调曲线)可与所生成的sdr图像数据一起被记录为元数据。sdr图像数据可被提供至被呈现以供在目标显示设备上显示的显示器流水线。如果目标显示设备不支持hdr成像,则sdr图像数据可直接由显示器流水线呈现以供显示。如果目标显示器支持hdr成像,则显示器流水线可根据用于呈现用于进行显示的hdr图像数据的元数据来由该显示器流水线向sdr图像数据应用反向映射技术。
在一些实施方案中,在将输入hdr图像数据转换为sdr图像数据的传感器流水线中可使用全局色调映射(gtm)技术。使用gtm技术时,可为一个或多个视频帧指定或确定全局色调曲线,并可使用该全局色调曲线来将hdr图像数据转换为sdr图像数据。在一些实施方案中,可将全局色调曲线参数化并保存在被传递到显示器流水线的元数据中,因此在由输入sdr图像数据生成hdr图像数据时,可利用反向色调映射技术至少部分地恢复色调或亮度。
在一些实施方案中,在将输入hdr图像数据转换为sdr图像数据的过程中的传感器流水线中,替代gtm技术或除gtm技术之外,可使用局部色调映射(ltm)技术。使用ltm技术时,将图像或帧划分为多个区域,并动态地针对每个区域来确定色调曲线。可将区域或局部色调曲线参数化并保存在被传递到显示器流水线的元数据中,因此在从输入sdr图像数据生成hdr图像数据时,可利用反向色调映射技术至少部分地恢复色调或亮度。在一些实施方案中,由于局部色调曲线在同一个帧上的相邻区域或相邻帧上的同一区域内可能相似,所以可在空间上(例如,在图像内)和/或时间上(例如,跨两个或更多个帧)压缩局部色调映射元数据。
在一些实施方案中,可调整由显示器流水线执行的反向色调映射技术,使之与目标显示器的动态范围匹配。由传感器捕获的动态范围可比由显示器所支持的动态范围覆盖更宽的范围,即便显示器为hdr兼容的情况下也是如此。因此,在一些实施方案中,显示器流水线的反向色调映射技术可根据显示器的动态范围来修改色调映射元数据,或可以其他方式修改被应用于较低动态范围图像数据的反向色调映射技术,以生成更好地匹配显示器动态范围的hdr图像数据。
在一些实施方案中,显示器流水线的反向色调映射技术可以是环境自适应过程,其中可例如使用设备上的光传感器、运动传感器或其他传感器来获取有关环境光线或显示器的其他环境条件的信息,并且基于该信息,例如通过在执行反向色调映射时对局部色调映射使用的色调曲线的一个或多个参数进行修改或加权来调节该反向色调映射技术。例如,如果环境光线较亮,则反向色调映射技术可调节色调曲线,以生成对比度较高且更为明亮的图像。
设备诸如图像传感器和显示器除支持hdr成像外还可支持宽色域(wcg)成像。多个实施方案除支持hdr成像之外还可支持宽色域(wcg)成像。在一些实施方案中,传感器流水线可从较宽的色域图像数据生成较窄的色域图像数据,其中较宽的色域图像数据由与传感器流水线相关联的相机的图像传感器利用色域映射技术来捕获,该技术可从色彩空间(例如rgb色彩空间)的较宽色域范围裁剪在另一色彩空间(例如yuv色彩空间)的较窄色域内不可用的色彩。在一些实施方案中,除色调映射信息之外,执行色域映射时所使用的信息也可被记录在元数据中,并且在重建图像的过程中被显示器流水线用于在支持wcg成像的显示器上恢复较宽的色域。在一些实施方案中,传感器流水线可在中间色域内生成图像数据,所以显示器流水线可根据元数据映射到相应显示器支持的较窄显示色域。
如本文所述的包括传感器流水线和显示器流水线的视频流水线实施方案可例如在包括一个或多个图像捕获设备和/或一个或多个显示设备的设备或系统中实现。图像捕获设备可以是包括能够捕获数字图像或视频的光学传感器或光电传感器的任何设备。图像捕获设备可包括但不限于视频摄像机和静态图像相机、以及可捕获视频和单幅图像两者的图像捕获设备。图像捕获设备可以是独立的设备,或可被集成到其他设备中的相机,该其他设备包括但不限于:智能电话、蜂窝电话、pda、平板电脑或平板设备、多功能设备、计算设备、膝上型计算机、笔记本式计算机、上网本计算机、台式计算机,等等。需注意,图像捕获设备可包括适用于小型设备诸如蜂窝电话、pda和平板设备的小外形相机。显示器或显示设备可包括被集成到其他设备中的显示屏或面板,该其他设备包括但不限于:智能电话、蜂窝电话、pda、平板电脑或平板设备、多功能设备、计算设备、膝上型计算机、笔记本式计算机、上网本计算机、台式计算机,等等。显示设备还可包括视频监视器、投影仪;一般来讲,可包括可显示或投映数字图像和/或数字视频的任何设备。显示器或显示设备可使用lcd(液晶显示器)技术、lpd(发光聚合物显示器)技术或led(发光二极管)技术,但也可使用其他显示技术。
图10至图14示出了可在其中实现实施方案的设备的非限制性示例。包括图像捕获设备和/或显示设备的设备或系统可包括用于实现如本文所述的处理视频数据功能中的至少一部分的硬件和/或软件。在一些实施方案中,如本文所述的功能的一部分可在一个设备上实现,另一部分可在另一个设备上实现。例如,在一些实施方案中,包括图像捕获设备的设备可实现传感器流水线,该传感器流水线用于处理和压缩光传感器捕获的图像或视频(即,对其进行编码);而包括显示面板或显示屏的另一个设备可实现显示器流水线,该显示器流水线用于接收并处理经压缩的图像(即,对其进行解码),以供显示面板或显示屏。在一些实施方案中,如本文所述的功能中的至少一些功能可由片上系统(soc)的一个或多个部件或模块实现,可使用该片上系统的设备包括但不限于:多功能设备、智能电话、平板电脑或平板设备,以及其他便携式计算设备,诸如膝上型计算机、笔记本式计算机和上网本计算机。图10示出了示例性soc,并且图11示出了实现soc的示例性设备。图12示出了可实现本文所述的方法和装置的示例性计算机系统。图13和图14示出了可实现本文所述的方法和装置的示例性多功能设备。
一般来讲,动态范围是可变量(诸如声音和光之类的信号)的可能的最大值与可能的最小值的比率。在数字图像处理中,高动态范围(hdr)图像是使用hdr成像技术产生的图像,该hdr成像技术产生比使用标准数字成像技术获取的亮度范围更宽的亮度范围。例如,相比常规图像处理时每个通道使用的比特数(通常,每个通道8比特,例如8比特用于彩色/色度和亮度),hdr图像可在每个通道中包含较多比特(例如,每个亮度和色度通道含有10、12、14或更多个比特),或可包含较多比特用于亮度(亮度通道)。使用标准数字成像技术产生的图像可被称为具有标准动态范围(sdr),这种图像通常每个通道使用8比特。一般来讲,色调映射是将一组色调图像值(例如,来自hdr图像数据)映射到另一组色调图像值(例如,到sdr图像数据)的技术。色调映射可用于例如在具有更有限的动态范围(例如sdr)的介质内近似呈现hdr图像的外观。色调映射通常可应用于亮度图像数据。
一般来讲,色域是指色彩的特定子集,例如可在给定的情况下诸如可在给定的色彩空间(例如rgb色彩空间)内或可由显示设备精确呈现的色彩的子集。色域也可指在图像中发现的完整色彩的集合。对图像执行的至少一部分图像处理操作可能改变图像的色域,并且在一些情况下,原始图像中的一部分色彩可能丢失。换句话讲,图像处理技术例如色调映射技术可使图像的色域变窄或裁剪掉图像色域的一部分,因而减少了可由图像数据呈现或重现的色彩的数量。此外,色域映射技术(也可被称为色彩映射或色度映射)可应用于图像数据(通常应用于色度图像数据),并且在某些情况下可使图像的色域变窄或裁剪掉图像色域的一部分,或作为替代,可用于在色调映射期间或之后校正或调节图像的色域或范围。
实施方案通常被描述为使用yuvrec.709(也被称为itu-rrecommendationbt.709)作为sdr基础层,以用于在设备之间例如在相机传感器流水线与显示器流水线之间传输或传送数字图像数据。yuvrec.709定义可在彩色图像或视频流水线中使用的色彩空间和格式。然而需注意,在实施方案中可使用其他色彩空间和格式。仅举一例,可使用数字影院技术规范(dci)p3。
实施方案通常被描述为处理视频帧或视频序列。然而实施方案除用于处理视频帧或视频序列之外或作为处理视频帧或视频序列的替代可用于处理单幅图像或静态图像、以及其他数字图像。因此,应当理解,本文使用的术语“视频”、“视频帧”、“帧”等一般可指捕获的数字图像。
向后兼容的hdr图像捕获、分配以及显示系统
图1以图解方式示出了高层次的视频流水线操作。如图1所示,在视频流水线100的传感器流水线110部分中,相机传感器可捕获图像或帧,如相机传感器rgb数据120所示的。可在传感器处捕获较高动态范围内的图像(hdr图像数据),而显示器流水线160被配置为在较低动态范围内处理图像数据(sdr图像数据),以供输出到显示器。传感器可根据rgb色彩模型或其他色彩模型来捕获图像。图像信号处理器(isp)122可处理捕获的相机传感器rgb数据120,以生成线性rgb图像数据124作为输出(例如,线性rgb色彩空间内的图像数据)。线性rgb图像数据124可能仍处于传感器的较高动态范围内。色调映射126技术(例如,局部和/或全局色调映射技术)可应用于线性rgb图像数据124,以将较高动态范围的线性rgb图像数据124转换为较低动态范围(sdr)的yuvrec.709图像数据130a,以供显示器流水线160处理。
在一些实施方案中,应用色调映射126技术除可减小图像数据的动态范围之外还可裁剪图像数据中的色值,从而导致一个或多个图像的色域变窄。至少在一些情况下,色域映射技术还可应用于图像数据,因而可裁剪图像数据的色域。
yuvrec.709图像数据130a通常可被压缩132,以生成yuvrec.709压缩数据150,以用于传送或传输到显示器流水线160。
如图1所示,在视频流水线100的显示器流水线部分160中,由传感器流水线110生成的yuvrec.709压缩数据150可被解压缩170,以生成处于sdr的yuvrec.709图像数据130b。然后可向yuvrec.709图像数据130b应用色彩转换174技术,以生成仍处于sdr的srgb图像数据176。换句话讲,采用色彩转换174技术将图像数据来从yuvrec.709色彩空间转换到srgb色彩空间。srgb图像数据176随后被传递到显示管理178硬件和/或软件,该硬件和/或软件将呈现sdrrgb图像数据180,以供目标面板或屏幕显示。
然而,设备诸如图像传感器和显示器可支持高动态范围(hdr)成像和支持宽色域(wcg)成像。这些设备可被称为启用hdr的设备,或简称hdr设备。使用如图1所示的视频流水线时,sdr图像数据150从传感器流水线110被传递到支持hdr的显示器或不支持hdr的显示器的显示器流水线160。sdr图像数据将根据较低或标准动态范围被传递到启用hdr的显示器,继而在该显示器上呈现,即便在传感器可捕获hdr图像数据时也是如此。另外,图像数据在被传感器流水线110处理后,其最初被捕获时的宽色域可能变窄或被裁剪。因此,由传感器实际捕获的大部分色调范围、色彩和亮度可能丢失。
本发明描述了向后兼容的方法和装置的实施方案,这些实施方案提供标准动态范围(sdr)版本的视频和较高动态范围(hdr)版本的视频。这些实施方案可实现的方法和装置用于支持处理hdr图像数据,并支持将hdr图像数据分配到启用hdr的显示设备和不支持hdr成像的设备两者。这些实施方案可实现视频流水线,该视频流水线包括传感器或编码流水线部分和显示器或解码流水线部分。视频流水线可在单个设备中实现,例如在包括图像捕获设备和显示面板两者的设备中实现。但是,传感器流水线部分和显示器流水线部分也可在不同的设备中实现,在这种情况下,压缩图像/视频例如通过网络从一个设备传输到另一个设备,或以其他方式从一个设备传输到另一个设备。例如,传感器流水线部分可在视频摄像机中实现,而显示器流水线部分可在显示设备中实现。在一些实施方案中,编码流水线和/或解码流水线可在片上系统(soc)上至少部分实现。
在一些实施方案中,一个或多个编码流水线可在设备或系统上实现;一个或多个编码流水线可被配置为对输入视频进行编码以生成标准动态范围(sdr)视频,然后将sdr视频串流到各自实现至少一条解码流水线的一个或多个目标设备上,并且生成和提供用于将视频编码到一个或多个目标设备中的映射元数据。目标设备可包括启用hdr的设备和不支持hdr成像的sdr设备两者。启用hdr的设备的解码流水线可接收并使用由编码流水线生成的映射元数据,从而在对sdr视频进行解码时,恢复在编码过程中丢失的输入视频的hdr的至少一部分。sdr设备的解码流水线无需应用映射元数据便可接收sdr视频并加以处理。在一些实施方案中,编码流水线和解码流水线可交流信息,该信息允许编码流水线生成映射元数据并将其发送到启用hdr的设备,而不将映射元数据发送到sdr设备。在一些实施方案中,映射元数据还可包含可被解码流水线用于恢复采用色域映射技术时输入视频丢失的至少一部分宽色域(wcg)的信息,该色域映射技术将wcg输入视频数据转换为在编码sdr视频的色彩空间中使用的较窄色域。
图5是根据一些实施方案的可在传感器流水线中实现的方法的高层次流程图。如1100所示,相机/传感器可捕获一个或多个高动态范围图像。如1102指出的那样,可例如使用映射技术诸如色调映射技术从捕获的图像数据生成较低动态范围的图像数据。如1104指出的那样,可将用于生成较低动态范围图像数据的信息与图像数据一起被记录为元数据。图像数据和/或元数据可被压缩。
图6是根据一些实施方案的可在显示器流水线中实现的方法的高层次流程图。如1200指出的那样,可例如从如图5所述并且如图2与图3所示的传感器流水线获取一个或多个较低动态范围图像。如1202指出的那样,还可获取一个或多个图像的元数据,该元数据包含有关图像数据从较高动态范围映射到较低动态范围的方式的信息。如1204指出的那样,可根据元数据向一个或多个图像应用反向映射技术,以恢复由传感器捕获的较高动态范围图像数据。
图7是根据一些实施方案的可在视频流水线中实现的方法的高层次流程图,该视频流水线支持hdr显示器并且向后兼容sdr显示器。如1300所示,相机/传感器可捕获高动态范围的一个或多个图像。如1302处指出的那样,可例如使用映射技术诸如色调映射技术来下从所捕获的图像数据生成较低动态范围的图像数据。如1304处指出的那样,可将用于生成较低动态范围图像数据的信息与图像数据一起被记录为元数据。图像数据和/或元数据可被压缩。
在1306处,图像数据可被提供至显示器流水线。如果目标显示器支持hdr成像,则可将一个或多个较低动态范围图像提供至显示器流水线,如1310所指出的。另外,也可提供一个或多个图像的元数据,该元数据包含有关图像数据从较高动态范围映射到较低动态范围的方式的信息,如1312所指出的。如1314处指出的那样,可根据元数据向一个或多个图像应用反向映射技术,以呈现之前由传感器捕获的较高动态范围图像数据。
在1306处,如果目标显示器不支持hdr成像,则可将一个或多个较低动态范围图像提供至显示器流水线,如1320所指出的。但是可以不提供元数据。显示器流水线随后可由提供的图像数据呈现并显示sdr图像数据,如1322所指出。由于显示器不支持hdr成像,故不执行用以恢复较高动态范围图像数据的反向映射。
在图5至图7所示方法的一些实施方案中,除色调映射信息之外,执行色域映射时所用的信息也可被传感器流水线记录在元数据中,接着被显示器流水线用于在支持wcg成像的显示器上恢复较宽的色域(wcg)。在一些实施方案中,传感器流水线可在中间色域内生成图像数据,所以显示器流水线可根据元数据映射到相应显示器支持的较窄显示色域。
下面参照图2至图4,进一步描述图5至图7所示方法的诸要素。
图2示出了根据一些实施方案的示例性视频流水线200,该视频流水线可处理传感器所捕获的hdr图像数据,然后将标准动态范围(sdr)图像数据提供至未启用hdr的显示设备,并将高动态范围(hdr)图像数据提供至启用hdr的显示设备。使用图2所示的视频流水线200,经压缩的sdr图像数据250可从传感器流水线210被传递到支持hdr的显示器或不支持hdr的显示器的显示器流水线260。为支持启用hdr的显示设备,描述传感器流水线210所执行的处理的元数据232a也可被传递到显示器流水线260。元数据232a可允许最初被传感器捕获,但在传感器流水线210执行的将hdr转换为sdr的过程中被移除的大部分(即使不是全部)色调范围、色彩和/或亮度被显示器流水线260恢复并呈现,然后在启用hdr的目标显示设备上被看到。对于未启用hdr的显示设备,可通过显示器流水线260对sdr图像数据250进行正常处理,例如根据如针对图1中的显示器流水线160所示的sdr处理技术。
如图2所示,在视频流水线200的传感器流水线210部分中,相机传感器可捕获图像或帧,如hdr相机传感器rgb220数据所示。传感器可根据rgb色彩模型或其他色彩模型来捕获图像。图像信号处理器(isp)222可处理捕获的相机传感器rgb数据220,生成hdr线性rgb图像数据224作为输出。色调映射模块或部件可对线性rgb图像数据224应用色调映射226技术(例如,局部(ltm)和/或全局(gtm)色调映射技术),以将hdr线性rgb图像数据224转换为sdryuvrec.709图像数据230a。图4示出了可在一些实施方案中使用的局部色调映射技术。
在一些实施方案中,应用色调映射226技术除可减小图像数据的动态范围之外,还可裁剪图像数据中的色值,从而导致一个或多个图像的色域变窄。至少在一些情况下,色域映射技术还可应用于传感器流水线210中的图像数据(例如,通过isp222),以将色彩从一种色彩空间(例如rgb)映射到另一种色彩空间(例如yuv),这可能裁剪经处理图像数据230a的色彩。
在图2所示的视频流水线200中,传感器流水线210将用于执行色调映射226和/或色域映射的信息记录为元数据232a,并将其存储、嵌入,或以其他方式将该元数据与sdryuvrec.709图像数据230a关联起来。在一些实施方案中,元数据232a可在时间上和/或空间上被压缩。yuvrec.709图像数据230a可被压缩234。被压缩的yuvrec.709图像数据230a和元数据232a可作为被压缩的yuvrec.709 元数据250输出,该输出数据可被存储,然后被传输或发送到一条或多条显示器流水线260。
在显示器流水线260中,被压缩的yuvrec.709 元数据250可被解压缩270,生成元数据232b和解压缩的sdryuvrec.709图像数据230b。然后元数据232b可被显示器流水线260的反向色调映射模块或部件用于针对sdryuvrec.709图像数据230b执行反向全局和/或局部色调映射(tm)技术276,以生成hdr图像数据278。反向色调映射技术276恢复或重建了在传感器流水线210中应用色调映射技术226时丢失的色调范围和亮度的至少一部分。
在一些实施方案中,色彩转换技术也可应用于yuv数据,以将其转换到不同的色彩空间,例如转换到xrgb(扩展的rgb)色彩空间。在一些实施方案中,元数据232b还可包含用于执行色域映射的信息,该信息可用于恢复或重建在传感器流水线210上的色域映射操作中被裁剪掉的色域范围的一部分甚至全部,从而为hdr图像数据278提供更宽的色域以供显示。xrgb图像数据278随后可被传递到启用hdr的设备的显示管理280硬件和/或软件,该硬件和/或软件将呈现hdrrgb图像数据282,以供目标面板或屏幕显示。
在使用如图2所示的传感器流水线210时,sdryuvrec.709图像数据230仍可被传递到不支持hdr的显示器的显示器流水线,随后sdryuvrec.709图像数据230b可被解压缩,并在不执行反向色调映射操作(例如,如针对图1中的显示器流水线160所示)的情况下得到处理,所以图像数据能够在未启用sdr的显示器上显示为正常的sdr数据。因此,如图2所示的传感器流水线210的作用是为启用hdr的显示器提供hdr成像,同时还向后兼容不支持hdr成像的显示器。
在一些实施方案中,可在传感器流水线210与显示器流水线260之间,或者显示器流水线260与sdryuvrec.709图像数据250的另一个源之间进行信号交换,由此可确定目标显示器的动态范围。如果目标显示器不支持hdr,则可以不将被压缩的元数据232a与被压缩的yuvrec.709图像数据230a一起传输或发送到显示器流水线260。
在一些实施方案中,在如图2所示的视频流水线中,传感器流水线210和显示器流水线260可为同一个设备或同一个片上系统(soc)的部件,被压缩的sdryuvrec.709图像数据250可例如经由通信总线或设备本地的其他连接传输。在一些实施方案中,作为替代,传感器流水线210和显示器流水线260可为不同设备的部件,所以被压缩的sdryuvrec.709图像数据250可经由其他媒介传输或发送,例如经由有线和/或无线网络,或通过耦合设备的连接(例如usb连接),或经由可移除存储介质诸如拇指驱动器、cd或dvd。
局部色调映射
在一些实施方案中,局部色调映射(ltm)技术可用于传感器流水线210,使用ltm技术时,将图像划分为多个区域,每个区域都有其本身的色调曲线。可将区域色调曲线参数化,并保存在被传递到显示器流水线260的元数据232a中,因此在由输入sdr图像数据230b和元数据232b中指示的局部色调映射信息生成hdr图像数据278时,便可由反向ltm技术276恢复色调/亮度。在各种实施方案中,可在rgb色彩空间或yuv色彩空间中执行ltm技术;更一般地,如本文所述的ltm可在任意色彩空间中执行。
图4以图解方式示出了根据一些实施方案的局部色调映射(ltm)技术。ltm技术的实施方案可例如用于如图1至图3所示的视频流水线实施方案中。然而,如本文所述的ltm技术的实施方案可应用于使用色调映射的其他图像或视频处理技术中。
如图4所示,在使用如图2所示的传感器流水线210中实现的ltm技术时,可将图像400划分为多个区域402,并为图像400的每个区域402指示或确定局部色调曲线404。虽然图4示出图像400被均匀细分为正方形或矩形的多个区域402,但在一些实施方案中,可使用具有不同形状或变化的尺寸和/或形状的多个区域402。
区域402的色调曲线404可能相似,但取决于变化的特征,例如区域402的色调/亮度,不同区域402的色调曲线404可能至少有轻微的差别。例如,在黑暗区域诸如区域402a中,色调曲线404a可强化暗区,以获取更广的范围。而在明亮区域诸如区域402b中,色调曲线404b可不以同样程度强化,以保留加亮效果。
可将为图像400的区域402确定的色调曲线404参数化,并例如像图2所示那样作为元数据232保存,然后将其传递或以其他方式提供至显示器流水线260,因此,可采用反向ltm技术276恢复较宽的色调或亮度,从而在显示器流水线260上由输入sdr图像数据230b生成hdr图像数据278。
在一些实施方案中,附加信息可被保存为元数据232a,以供显示器流水线260的反向ltm技术276使用。例如,在一些实施方案中,ltm技术226可裁剪至少一部分图像数据值,元数据232a可包含可在至少部分恢复被裁剪值的过程中使用的附加信息。
在一些实施方案中,在传感器流水线210上执行色域映射时使用的信息也可被保存为元数据232a,并且提供至显示器流水线260。色域映射信息可在显示器流水线260上用于图像重建,以恢复较宽色域以供显示。
在各种实施方案中,可在空间上(即,在图像400或帧内)和/或时间上(例如,跨两个或更多个图像400或帧)压缩色调映射元数据232a。例如,在图像400内,相邻或邻近区域402的局部色调曲线402不太可能明显改变,因此色调映射元数据232a可被压缩到图像400内(在空间上压缩)。此外,两个或更多个相邻的图像400或帧中的相同区域402的色调曲线不太可能明显改变,所以可在时间上(跨两个或更多个图像400或帧)压缩元数据232中的色调曲线信息。
使色调映射与显示器匹配
在一些实施方案中,可调整显示器流水线260应用的反向色调映射技术276,使之与目标显示器的动态范围匹配。由传感器捕获的动态范围相比目标显示器所支持的动态范围可例如覆盖更宽的范围,即便显示器兼容hdr时也是如此。因此,在一些实施方案中,显示器流水线260的反向色调映射技术276可根据目标显示器的动态范围来修改与sdr图像数据230b一起被接收的色调映射元数据232b,或者可以其他方式修改被应用于sdr图像数据230b的反向色调映射技术276,以生成与目标显示器的动态范围匹配的hdr图像数据278。
环境自适应色调映射
在一些实施方案中,显示器流水线的反向色调映射技术276可以是环境自适应过程,其中可例如使用一个或多个传感器来获取有关环境光线、至一个或多个观看者的距离或目标显示器处的其他环境条件的信息。根据获取的环境信息,可例如通过对一条或多条色调曲线404进行修改或加权来动态地调节反向色调映射技术276,其中色调曲线404如正在显示器流水线260中经受处理的视频帧的一个或多个区域402的元数据232b所指示的。例如,如果检测到显示器上的环境光线较明亮(例如,高于指定的阈值),则反向色调映射技术276可调节如元数据232b所指示的一条或多条色调曲线404,以生成更明亮的图像400(或在图像400内生成更明亮的区域402)和/或对比度更高的图像400或一个或多个区域402。如果检测到显示器上的环境光线较暗淡(例如,低于指定的阈值),则反向色调映射技术276可调节如元数据232b所指示的一条或多条色调曲线404,以降低图像400或图像400内区域402的亮度或使图像400或图像400内的一个或多个区域402变暗。
反向色调映射方法
如先前所提及的,显示器/解码流水线可应用反向色调映射技术来恢复输入传感器/编码流水线的原始视频数据的高动态范围的至少一部分。在一些实施方案中,色调映射可涉及对以根据第一色彩空间(例如rgb色彩空间)的较高动态范围表示的输入视频数据值应用传递函数(例如,电-光传递函数(eotf)),以便生成以根据第二色彩空间(例如yuv色彩空间)的较低动态范围表示的输出视频数据。传递函数可对应于色调曲线(可被称为传递曲线),其可由一个或多个传递函数参数值表示,并以一个或多个传递函数参数值的形式保存在元数据中。在一些实施方案中,反向色调映射技术可涉及将如元数据所表示的传递函数的逆函数应用于从传感器/编码流水线获取的解压缩视频数据。
色域恢复
如先前所提及的,在一些实施方案中,除了如图2所示使用元数据232在显示器侧恢复色调映射信息之外,还可在传感器侧210保留传感器所捕获的较宽色域,并使用元数据232使该较宽色域在显示器侧260至少部分地恢复。在一些实施方案中,传感器流水线210可从较宽的色域图像数据(例如,相机传感器rgb图像数据220)生成较窄的色域图像数据(例如,yuvrec.709图像数据230a),其中较宽的色域图像数据由与传感器流水线210相关联的相机的图像传感器使用色域映射技术捕获,该技术可从色彩空间(例如rgb色彩空间)的较宽色域范围裁剪在另一色彩空间(例如yuv色彩空间)的较窄色域内不可用的色彩。在一些实施方案中,除色调映射信息之外,执行色域映射时所使用的信息或由于执行色域映射而产生的信息也可被记录在元数据232中,并且在图像重建的过程中被显示器流水线260用于借助至少部分地恢复被裁剪的色彩而在支持wcg成像的显示器上恢复较宽的色域。
提供sdr视频
图3示出了根据一些实施方案的从高动态范围(hdr)源内容提供标准动态范围(sdr)视频的示例性视频流水线。在图3中,视频流水线300可借助下述方式生成并输出不同格式的视频数据:对相机传感器rgb数据320进行编码以生成yuv10 比特深度图像数据330a供输出;对yuv10 比特深度图像数据330a进行转码以生成srgbrec.709图像数据382供输出。
如图3所示,在视频流水线300中,相机传感器可捕获图像或帧,如hdr相机传感器rgb320数据所示的。图像信号处理器(isp)322可处理所捕获的相机传感器rgb数据320,以生成hdr线性rgb图像数据324作为输出。色调映射技术326(例如,本文所述的局部(ltm)和/或全局(gtm)色调映射技术)可应用于线性rgb图像数据324,以在以10比特深度或更大比特深度(yuv10 比特深度图像数据330a)表示的yuv色彩空间内将hdr线性rgb图像数据324转换为标准动态范围(sdr)图像数据。在一些实施方案中,色域映射可应用于图像数据,以将色彩从一种色彩空间(例如rgb)映射到另一种色彩空间(例如yuv)。yuv10 比特深度图像数据330a可被压缩334。视频流水线300可将用于执行色调映射326和/或色域映射的信息记录为元数据332a。被压缩的yuv10 比特深度图像数据330a和元数据332a可例如经由网络350被输出到一个或多个目标设备。yuv10 比特深度图像数据330a可被目标设备解压缩,继而由目标设备处理,而元数据332可用于反向色调映射技术和/或色域映射技术,以便在启用hdr的显示器上恢复至少一些动态范围和/或色彩。
在一些实施方案中,除上述操作之外或作为上述操作的替代,可在转码路径340上发送被压缩的yuv10 比特深度图像数据330a和元数据332a,将这两种数据转码为yuvrect.709图像数据382以供输出,例如经由网络350输出到一个或多个目标设备。被压缩的yuv10 比特深度图像数据330a在转码路径340上可被解压缩370,以生成被压缩的yuv10 比特深度图像数据330b。元数据332b可在对图像数据330b执行反向全局和/或局部色调映射和色彩转换操作376时被用于生成hdr图像数据378。反向操作376可根据元数据332b在图像数据378中恢复或重建至少一部分亮度和/或色彩。然后可将另一全局和/或局部色调映射操作380应用于hdr图像数据378,以生成srgbrec.709图像数据382供输出,例如经由网络350输出到一个或多个目标设备。
在一些实施方案中,可不在转码路径340上发送元数据332b。在一些实施方案中,替代先对解压缩的图像数据330b应用反向全局和/或局部色调映射和色彩转换操作376以生成hdr图像数据378并且然后应用另一色调映射操作380以将hdr图像数据378转换为rec.709图像数据382,转码路径340可直接将色调映射和色彩转换技术应用于解压缩的图像数据330b,从而由图像数据330b直接生成rec.709图像数据382。在一些实施方案中,可将数字影院技术规范(dci)p3而不是rec.709用作基础层。在各种实施方案中,可在rgb色彩空间、yuv色彩空间或其他可用色彩空间中执行色调映射326。
编码器/解码器的示例性实施方式
本发明描述了支持处理、恢复和显示高动态范围(hdr)及宽色域(wcg)视频的视频显示与回放方法和装置的示例性实施方案。特别地,描述了使用编码器和解码器将视频映射到目标显示面板的方法和装置的实施方案。在一些实施方案中,如本文所述的功能中的至少一部分可由片上系统(soc)的一个或多个部件或模块实现的,可使用该片上系统的设备包括但不限于:多功能设备、智能电话、平板电脑或平板设备,以及其他便携式计算设备,诸如膝上型计算机、笔记本式计算机和上网本计算机。图10示出了示例性soc,并且图11示出了实现soc的示例性设备。
在如图8和图9所示的方法和装置中,至目标显示面板的映射至少部分地在解码器侧执行,其中色域映射元数据在编码器侧产生,并且被传递到解码器侧上的用于恢复wcg视频内容的部件。在一些实施方案中,图8和图9所示的方法和装置也可包括或实施如图2至图7所示的方法,以从hdr视频源向显示设备提供标准动态范围(sdr)和高动态范围(hdr)这两种版本的视频。
图9是根据一些实施方案的视频回放方法的流程图,其中编码器在中间色域内生成输出数据,并且解码器根据编码器生成的元数据执行向显示色域的映射。参考图9,如1450指出的那样,编码流水线将视频内容从宽色域映射到中间色域。该中间色域不必是编码侧源内容的全范围色域,而是可位于全范围色域与一个或多个目标显示器的色域之间的一种色域。在一些实施方案中,中间色域由与典型的编码器/解码器硬件比特深度相容的比特深度(例如10比特)表示。如图9的1452指出的那样,编码流水线然后根据压缩视频格式例如h.264/avc格式来对视频内容进行编码。对视频数据进行编码可涉及将视频数据从一种色彩空间转换到另一种色彩空间,例如从cie1931xyz色彩空间转换到yuvrec.709色彩空间。如图9的1454指出的那样,编码流水线记录至少描述已执行的色域映射的元数据。
如图9的1456指出的那样,一条或多条解码流水线可各自获取编码的视频内容和元数据。如图9的1458指出的那样,每条解码流水线对编码的视频内容进行解码,以生成位于中间色域处的解码(未压缩)视频内容。对视频数据进行解码可涉及将视频数据从一种色彩空间转换到另一种色彩空间,例如从yuv转换到xyz。如1460指出的那样,每条解码流水线然后根据元数据来将解码的视频内容从中间色域映射到相应目标显示面板的色域。映射视频数据可涉及将视频数据从一种色彩空间转换到另一种色彩空间,例如从xyz色彩空间转换到ycc色彩空间或yuv色彩空间。解码的视频内容可被进一步处理并提供至相应显示面板供显示。下面参照图8,其进一步描述图9所示方法的要素。
图8示出了根据一些实施方案的示例性视频回放系统,其中编码器在中间色域内生成输出数据,并且该系统使用编码器生成的元数据在解码器/显示器侧执行至显示色域的映射。示例性的视频回放方法和系统可涉及在较宽色域或中间色域中进行h.264/avc编码以分配到显示器,其中解码器侧映射到显示器色域。
图8示出了包括一个或多个部件的编码800模块或流水线,以及包括一个或多个部件的解码850模块或流水线。在一些实施方案中,编码800模块和/或解码850模块可在soc上实现。在一些实施方案中,编码800模块和解码850模块可在同一个装置和/或soc上实现。在一些实施方案中,编码800模块和解码850模块可在不同的装置或soc上实现。在一些实施方案中,可在一个设备或系统上实现一条或多条编码800流水线;编码800流水线可被配置为对视频进行编码,然后将编码视频串流到各自实现至少一条解码850流水线的一个或多个目标设备或系统。
在该实施方案中,色域映射至少部分地在解码850侧执行,其中色域映射元数据820和宽色域(wcg)的视频编码流(ves)810在编码800侧生成,并且被传递到解码850侧的部件(例如,传递到isp色彩管854,或者传递到gpu),以用于解码850侧色域映射操作。可例如在(线性)cie1931xyz色彩空间中以16比特深度对输入视频内容进行编码。映射部件802可向输入线性xyz视频应用10比特电-光传递函数(eotf)操作,以将16比特输入数据映射到10比特logxyz视频数据。在一些实施方案中,eotf可为映射到宽度足够大的色彩空间的传递函数,以传递到目标显示面板的全部色彩空间。映射部件802还可生成用于描述映射操作的元数据820。h.264编码器部件804对10比特logxyz视频数据进行编码,以生成10比特深度的宽色域(wcg)h.264压缩视频810。
在解码850模块中,h.264解码器部件852对h.264压缩视频810进行解码,以在xyz色彩空间内生成10比特的数据。然后可使用图像信号处理器(isp)854色彩管或者图形处理器单元(gpu),根据元数据820执行从10比特xyz数据的wcg到显示器色域的映射。isp854可在ycc色彩空间内生成10比特的数据。可对该数据执行超分辨率技术856并且可将10比特的ycc数据传递到显示管858,以便加工成位于显示器色域内的显示器输出数据,例如10比特rgb数据。
在该实施方案中,在符合编码器/解码器硬件所支持的比特深度(例如10比特)的较宽色域中完成编码,并且元数据820被传递到解码850模块,以用于至显示器色域的色域映射。图8示出了在解码850侧执行的多个操作,这些操作可利用soc的现有部件诸如h.264解码器、isp色彩管和显示管。可以10比特深度执行解码并且可使用从编码800侧接收的用于描述应当如何进行色域映射的元数据820信息来执行到显示器色域的转换。
在图8中,一部分但并非全部色域处理在回放/解码850侧执行,而不是在服务器/编码800侧执行。视频内容并非在编码800侧直接被映射到目标显示器色域,而是被映射到中间色域中。该中间色域不必是编码800侧源内容的全范围色域,而是可位于全范围色域与显示器色域之间的一种色域,并且该显示器色域可匹配10比特深度,这还允许使用可支持最高达10比特解码的现有解码850硬件。在解码850模块中,元数据820可用于映射到目标面板/显示器的色域。在一些实施方案中,该映射可分两步执行。在第一步处,根据元数据820来将输入视频内容810映射回最初的较宽色域。然后将该重映射的内容向下映射到显示器的色域。在一些实施方案中,回放/解码850侧的色域映射可在可例如执行伽玛校正、色彩空间转换等的图像信号处理器(isp)色彩管854上或内执行,或可由该色彩管执行。在一些实施方案中,isp色彩管854的一个或多个部件(例如,3d色彩查找表(clut))可用于执行色域映射。然而,此外或作为替代,回放/解码850色域映射可由一个或多个gpu执行,或在一个或多个gpu内执行。
如图8所示的解码850流水线的实施方案可使用解码器852部件,对10比特数据进行初始解码,并可根据isp色彩管854或gpu从编码800流水线接收的元数据820来恢复至少一部分色域。编码800流水线在较宽的中间色域中生成输出编码视频流810,该中间色域可尝试捕获视频流810可指向的某一范围的一个或多个显示器色域。由编码800流水线生成并被传递到一个或多个解码器850的元数据820定义如何从输出流810的中间色域映射到可能较窄的显示器色域。在一些实施方案中,元数据820可参考或映射到定义如何在不同色域之间来回映射的一个或多个查找表(例如clut)。例如,元数据820所参考的一个或多个查找表可被isp色彩管854或其他解码850部件用于映射到rec.709色域、p3dcid65、rec.2020色域,等等。作为替代,元数据820可包括方程和/或参数(例如,用于配置显示管858、isp色彩管854和/或gpu的参数),以用于执行解码器侧的色域映射。
在一些实施方案中,元数据820还可包括由编码800流水线(例如,映射802部件)应用的色调映射技术(例如,局部(ltm)和/或全局(gtm)色调映射技术)中使用的信息,以将输入视频数据映射到输出数据流810的动态范围。元数据820然后可在解码850流水线中被反向色调映射技术用于恢复在由编码800流水线应用的色调映射中的可能已被裁剪掉的至少一些动态范围。在一些实施方案中,isp色彩管的色调映射模块或部件可在编码800侧和/或解码850侧上用于色调映射。在一些实施方案中,isp色彩管的3d色彩查找表(clut)可用于全局和/或局部色调映射,并且可用于色域映射。
需注意,图8中所示的各种视频格式、色彩空间等都是以举例的方式给出的并非旨在进行限制。例如,针对输入视频可使用除cie1931xyz之外的其他色彩空间。又如,在一些实施方案中,可根据h.265高效视频编码(hevc)格式而非h.264/avc格式来执行编码和解码。
示例性的设备与装置
图10至图14示出了设备和装置的非限制性示例,在该些设备和装置中或使用这些设备和装置可实现如本文所述的各种数字视频或图像处理与显示方法及装置的多个实例方案或部件。图10示出了示例性soc,并且图11示出了实现soc的示例性设备。图12示出了可实现本文所述的方法和装置的示例性计算机系统。图13和图14示出了可实现本文所述的方法和装置的示例性多功能设备。
示例性片上系统(soc)
现参见图10,其示出了可在实施方案中使用的片上系统(soc)8000的一个实施方案的框图。soc8000被图示为耦接到存储器8800。如名字所暗示的,soc8000的多个部件可集成到单个半导体衬底上作为集成电路“芯片”。在一些实施方案中,这些部件可在系统中的两个或更多个分立芯片上实施。然而,本文将soc8000用作示例。在例示的实施方案中,soc8000的部件包括中央处理单元(cpu)复合件8020、片上外围部件8040a-8040c(更简洁地称为“外围设备”)、存储器控制器(mc)8030和通信结构8010。部件8020、8030、8040a-8040c全都可耦接到通信结构8010。存储器控制器8030可在使用期间耦接到存储器8800,并且外围设备8040b可在使用期间耦接到外部接口8900。在例示的实施方案中,cpu复合件8020包括一个或多个处理器(p)8024和二级(l2)高速缓存8022。
外围设备8040a-8040b可以是被包括在soc8000中的附加硬件功能的任意集合。例如,外围设备8040a-8040b可包括视频外围设备,诸如被配置为处理来自相机或其他图像传感器的图像捕捉数据的图像信号处理器、被配置为在一个或多个显示设备上显示视频数据的显示控制器、图形处理单元(gpu)、视频编码器/解码器或编解码器、缩放器、旋转器、混合器等。该外围设备可包括音频外围设备,诸如麦克风、扬声器、至麦克风和扬声器的接口、音频处理器、数字信号处理器、混合器等。该外围设备可包括用于soc8000外部的各种接口8900的外围设备接口控制器(例如外围设备8040b),这些接口包括诸如通用串行总线(usb)端口、外围部件互连(pci)端口(包括pci高速(pcie)端口)、串行端口、并行端口等之类的接口。该外围设备可包括联网外围设备,诸如媒体访问控制器(mac)。可包括硬件的任意集合。
cpu复合件8020可包括用作soc8000的cpu的一个或多个cpu处理器8024。系统的cpu包括执行系统的主控软件诸如操作系统的一个或多个处理器。通常,由cpu在使用期间执行的软件可控制系统的其他部件来实现所期望的系统功能。处理器8024还可执行其他软件诸如应用程序。应用程序可提供用户功能,并且可依赖于操作系统以进行低级设备控制。因此,处理器8024也可被称为应用处理器。cpu复合件8020还可包括其他硬件,诸如l2高速缓存8022和/或至系统的其他部件的接口(例如至通信结构8010的接口)。通常,处理器可包括被配置为执行在由处理器实施的指令集架构中定义的指令的任何电路和/或微码。响应于执行指令而由处理器操作的指令和数据通常可被存储在存储器8800中,尽管某些指令可被定义为也用于对外围设备进行直接处理器访问。处理器可涵盖在具有作为片上系统(soc8000)或其他集成水平的集成电路的其他部件上实施的处理器内核。处理器还可包括分立的微处理器、处理器内核和/或集成到多芯片模块具体实施中的微处理器、被实施为多个集成电路的处理器等等。
存储器控制器8030通常可包括用于接收来自soc8000的其他部件的存储器操作并用于访问存储器8800以完成存储器操作的电路。存储器控制器8030可被配置为访问任何类型的存储器8800。例如,存储器8800可以是静态随机存取存储器(sram)、动态ram(dram),诸如包括双倍数据速率(ddr、ddr2、ddr3等)dram的同步dram(sdram)。可支持ddrdram的低功率/移动版本(例如lpddr、mddr等)。存储器控制器8030可包括存储器操作队列,以用于对这些操作进行排序(并且可能重新排序),并将这些操作呈现至存储器8800。存储器控制器8030还可包括用于存储等待写到存储器的写数据和等待返回至存储器操作的源的读数据的数据缓冲器。在一些实施方案中,存储器控制器8030可包括用于存储最近访问的存储器数据的存储器高速缓存。例如,在soc具体实施中,存储器高速缓存可通过在预期很快要再次访问的情况下避免从存储器8800重新访问数据来降低soc中的功率消耗。在一些情况下,存储器缓存也可被称为与私有高速缓存(诸如l2高速缓存8022或处理器8024中的高速缓存)不同的系统高速缓存,该私有高速缓存只服务于某些部件。此外,在一些实施方案中,系统高速缓存不需要位于存储器控制器8030内。
在一个实施方案中,存储器8800可按芯片堆叠或封装堆叠配置与soc8000封装在一起。也可使用soc8000和存储器8800的多芯片模块配置。此类配置可比向系统中其他部件(例如向端点16a-16b)的传输相对更安全(在数据可观测性方面)。因此,受保护的数据可未经加密地驻留在存储器8800中,而受保护的数据可被加密以在soc8000与外部端点之间进行交换。
通信结构8010可以是用于在soc8000的部件间进行通信的任何通信互连件和协议。通信结构8010可基于总线,包括共享总线配置、交叉开关配置以及具有网桥的分级总线。通信结构8010也可基于数据包,并且可为具有网桥的分级式互连件、交叉开关式互连件、点对点互连件或其他互连件。
需注意,soc8000的部件的数量(以及图10所示(诸如cpu复合件8020内)的那些部件的子部件的数量)在不同实施方案中可能是不同的。可存在比图10所示的数量更多或更少的每种部件/子部件。
图11是系统9000的一个实施方案的框图,该系统9000包括耦接到外部存储器8800和一个或多个外部外围设备9020的soc8000的至少一个实例。提供了向soc8000供应供电电压并向存储器8800和/或外围设备9020供应一个或多个供电电压的电力管理单元(pmu)9010。在一些实施方案中,可包括soc8000的多于一个实例(也可包括多于一个存储器8800)。
视系统9000的类型而定,外围设备9020可包括任何期望的电路。例如,在一个实施方案中,该系统9000可以是移动设备(例如个人数字助理(pda)、智能电话等),并且该外围设备9020可包括用于各种类型的无线通信的设备,诸如wifi、蓝牙、蜂窝、全球定位系统等。该外围设备9020还可包括附加存储装置,该附加存储装置包括ram存储装置、固态存储装置或磁盘存储装置。该外围设备9020可包括用户界面设备(诸如包括触摸显示屏或多点触摸显示屏的显示屏)、键盘或其他输入设备、麦克风、扬声器等。在其他实施方案中,该系统9000可以是任何类型的计算系统(例如台式个人计算机、膝上型电脑、工作站、网络机顶盒等)。
外部存储器8800可包括任何类型的存储器。例如,外部存储器8800可以是sram、动态ram(dram)(诸如同步dram(sdram))、双倍数据速率(ddr、ddr2、ddr3等)sdram、rambusdram、低功率版本的ddrdram(例如lpddr、mddr等),等等。该外部存储器8800可包括存储器设备可被安装到的一个或多个存储器模块,诸如单列存储器模块(simm)、双列存储器模块(dimm)等。作为替代,该外部存储器8800可包括按芯片堆叠或封装堆叠具体实施被安装在soc8000上的一个或多个存储器设备。
示例性计算机系统
图12示出了可被配置为执行上文所述的任意实施方案或全部实施方案的示例性计算机系统2900。在不同的实施方案中,计算机系统2900可以是各种类型的设备中的任何设备,包括但不限于:个人计算机系统、台式计算机、膝上型电脑、笔记本电脑、平板电脑、一体式电脑或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、消费者设备、应用服务器、存储设备、视频记录设备、外围设备(诸如交换机、调制解调器、路由器),或一般性的任何类型的计算设备或电子设备。
可在一个或多个可与各种其他设备交互的计算机系统2900内执行如本文所述的各种实施方案。需注意,根据各种实施方案,上文结合图1至图11描述的任何部件、动作或功能可在被配置为图12所示计算机系统2900的一种或多种计算机上实现。在例示的实施方案中,计算机系统2900包括经由输入/输出(i/o)接口2930耦接到系统存储器2920的一个或多个处理器2910。计算机系统2900还包括耦接到i/o接口2930的网络接口2940,以及一个或多个输入/输出设备或部件2950,诸如光标控件2960、键盘2970、一个或多个显示器2980、一个或多个相机2990和包括但不限于光传感器和运动检测器的一个或多个传感器2992。在一些情况下,可设想到实施方案可使用计算机系统2900的单个实例来实现,而在其他实施方案中,多个此类系统或者构成计算机系统2900的多个节点可被配置为实施方案的不同部分或实例的主机。例如,在一个实施方案中,一些元素可经由计算机系统2900的与实现其他元素的那些节点不同的一个或多个节点来实现。
在各种实施方案中,计算机系统2900可以是包括一个处理器2910的单处理器系统,或包括几个处理器2910(例如两个、四个、八个、或另一适当的数量)的多处理器系统。处理器2910可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器2910可以是实现多种指令集架构(isa)(诸如x829、powerpc、sparc或mipsisa,或任何其他合适的isa)中的任一指令集架构的通用处理器或嵌入式处理器。在多处理器系统中,每个处理器2910通常可以但并非必须实现相同的isa。
系统存储器2920可被配置为存储可被处理器2910访问的程序指令2922和/或数据。在各种实施方案中,系统存储器2920可使用任何适当的存储器技术来实现,诸如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存存储器,或任何其他类型的存储器。在例示的实施方案中,程序指令2922可被配置为实现本文所述的任何功能。此外,存储器2920可包括本文所述的任何信息结构或数据结构。在一些实施方案中,程序指令和/或数据可被接收、发送或存储在独立于系统存储器2920或计算机系统2900的不同类型的计算机可访问介质或类似介质上。尽管将计算机系统2900描述为用于实施前面各图的功能框的功能,但可经由此类计算机系统来实施本文所述的任何功能。
在一个实施方案中,i/o接口2930可被配置为协调设备中的处理器2910、系统存储器2920和任何外围设备(包括网络接口2940或其他外围设备接口,诸如输入/输出设备2950)之间的i/o通信。在一些实施方案中,i/o接口2930可执行任何必要的协议、定时或其他数据转换,以将来自一个部件(例如系统存储器2920)的数据信号转换为适于由另一个部件(例如处理器2910)使用的格式。在一些实施方案中,i/o接口2930可包括对例如通过各种类型的外围设备总线(诸如外围部件互连(pci)总线标准或通用串行总线(usb)标准的变型)所附接的设备的支持。在一些实施方案中,i/o接口2930的功能例如可以被划分到两个或更多个单独的部件中,诸如北桥和南桥。此外,在一些实施方案中,i/o接口2930(诸如至系统存储器2920的接口)的一部分甚至全部功能可被直接并入处理器2910中。
网络接口2940可被配置为允许在计算机系统2900和附接到网络2985的其他设备(例如承载器或代理设备)之间或者在计算机系统2900的节点之间交换数据。在各种实施方案中,网络2985可包括一种或多种网络,包括但不限于:局域网(lan)(例如以太网或企业网)、广域网(wan)(例如互联网)、无线数据网、一些其他电子数据网络、或它们的一些组合。在各种实施方案中,网络接口2940例如可支持经由有线或无线通用数据网络诸如任何适当类型的以太网网络的通信;经由电信/电话网络诸如模拟语音网络或数字光纤通信网络的通信;经由存储区域网络诸如光纤信道san或经由任何其他适当类型的网络和/或协议的通信。
输入/输出设备2950在一些实施方案中可包括一个或多个显示终端、键盘、小键盘、触摸板、扫描设备、语音或光学识别设备,或适于由一个或多个计算机系统2900输入或访问数据的任何其他设备。多个输入/输出设备2950可存在于计算机系统2900中,或者可分布在计算机系统2900的各个节点上。在一些实施方案中,类似的输入/输出设备可与计算机系统2900分开,并且可通过有线连接或无线连接(诸如通过网络接口2940)来与计算机系统2900的一个或多个节点进行交互。
如图12所示,存储器2920可包含程序指令2922,该程序指令2922可能可由处理器执行,以实现上文所述的任何元素或动作。在一个实施方案中,所述程序指令可实现上文所述的方法。在其他实施方案中,可包括不同的元素和数据。需注意,数据可包括上文所述的任何数据或信息。
本领域的技术人员应当理解,计算机系统2900仅仅是例示性的,并非旨在限制实施方案的范围。特别地,计算机系统和设备可包括可执行所指出的功能的硬件或软件的任意组合,包括计算机、网络设备、互联网装置、pda、无线电话、寻呼机等等。计算机系统2900还可被连接到未示出的其他设备,或者可作为独立系统工作。此外,由例示的部件提供的功能在一些实施方案中可被组合在更少的部件中,或可被分布在附加部件中。类似地,在一些实施方案中,可能不提供一些例示部件的功能,和/或可能有其他附加功能可用。
本领域的技术人员还将认识到,虽然各种项目被示出为在被使用期间被存储在存储器中或存储装置上,但是为了存储器管理和数据完整性的目的,这些项目或其部分可在存储器和其他存储设备之间进行传输。或者,在其他实施方案中,这些软件部件中的一些或全部软件部件可在另一设备上的存储器中执行,并且经由计算机间通信来与所示出的计算机系统进行通信。系统部件或数据结构中的一些或全部系统部件或数据结构也可(例如作为指令或结构化数据)被存储在计算机可访问介质或便携式制品上以由合适的驱动器读取,其多种示例在上文中被描述。在一些实施方案中,存储在与计算机系统2900分开的计算机可访问介质上的指令可经由传输介质或信号(诸如电信号、电磁信号、或数字信号)被传输到计算机系统2900,传输介质或信号经由通信介质(诸如网络和/或无线链路)来传送。各种实施方案可进一步包括在计算机可访问介质上接收、发送或存储根据以上描述所实现的指令和/或数据。一般来讲,计算机可访问介质可包括非暂态计算机可读存储介质或存储器介质,诸如磁或光介质,例如盘或dvd/cd-rom、易失性或非易失性介质,诸如ram(例如sdram、ddr、rdram、sram等)、rom等。在一些实施方案中,计算机可访问介质可包括传输介质或信号,诸如经由通信介质诸如网络和/或无线链路来传输的电气信号、电磁信号或数字信号。
多功能设备示例
图13示出了根据一些实施方案的便携式多功能设备的框图。在一些实施方案中,该设备是还包含其他功能诸如pda功能、相机功能、视频捕获和/或回放功能以及/或者音乐播放器功能的便携式通信设备诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于得自appleinc.(cupertino,california)的
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而应当理解,电子设备可包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操作杆。
该设备通常支持各种应用程序,诸如以下各项中的一者或多者:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、锻练支持应用程序、相片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可在该设备上执行的各种应用程序可使用至少一个共用的物理用户界面设备诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息对于各个应用程序可被调节和/或是不同的,和/或在对应应用程序内可被调节和/或是不同的。这样,设备的共用物理架构(诸如触敏表面)可利用对于用户直观且透明的用户界面来支持各种应用程序。
设备2100可包括存储器2102(其可包括一个或多个计算机可读存储介质)、存储器控制器2122、一个或多个处理单元(cpu)2120、外围设备接口2118、rf电路2108、音频电路2110、扬声器2111、触敏显示系统2112、麦克风2113、输入/输出(i/o)子系统2106、其他输入控制设备2116和外部端口2124。设备2100可包括一个或多个光学传感器或相机2164。这些部件可通过一条或多条通信总线或信号线2103进行通信。
应当理解,设备2100只是便携式多功能设备的一个示例,并且设备2100可具有比所示出的更多或更少的部件,可组合两个或更多个部件,或者可具有这些部件的不同配置或布置。图13所示的各种部件可由硬件、软件或软件和硬件组合来实施,包括一个或多个信号处理和/或专用集成电路。
存储器2102可包括高速随机存取存储器并且还可包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备。设备2100的其他部件(诸如cpu2120和外围设备接口2118)对存储器2102的访问可由存储器控制器2122来控制。
外围设备接口2118可被用于将设备的输入外围设备和输出外围设备耦接到cpu2120和存储器2102。一个或多个处理器2120运行或执行被存储在存储器2102中的各种软件程序和/或指令集,以执行设备2100的各种功能并处理数据。
在一些实施方案中,外围设备接口2118、cpu2120和存储器控制器2122可在单个芯片诸如芯片2104上实现。在一些其他实施方案中,它们可在单独的芯片上实现。
rf(射频)电路2108接收和发送rf信号(也称电磁信号)。rf电路2108将电信号转换为电磁信号/将电磁信号转换为电信号,并经由电磁信号来与通信网络和其他通信设备进行通信。rf电路2108可包括用于执行这些功能的熟知的电路,包括但不限于天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编码器/解码器(编解码器)芯片组、用户身份模块(sim)卡、存储器等等。rf电路2108可通过无线通信与网络以及其他设备进行通信,该网络诸如互联网(也称万维网(www))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man))。无线通信可使用多种通信标准、通信协议和通信技术中的任一者,包括但不限于全球移动通信系统(gsm)、增强数据gsm环境(edge)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)、宽带码分多址(w-cdma)、码分多址(cdma)、时分多址(tdma)、蓝牙、无线保真(wi-fi)(例如,ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n)、互联网语音协议(voip)、wi-max、电子邮件协议(例如,互联网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息处理现场协议(xmpp)、用于即时消息和现场利用扩展的会话发起协议(simple)、即时消息和到场服务(imps)),以及/或者短消息服务(sms),或包括在本文献提交日尚未开发出的通信协议的其他任何适当的通信协议。
音频电路2110、扬声器2111和麦克风2113提供用户和设备2100之间的音频接口。音频电路2110从外围设备接口2118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器2111。扬声器2111将电信号转换为人耳可听见的声波。音频电路2110还接收由麦克风2113根据声波转换的电信号。音频电路2110将电信号转换为音频数据,并将音频数据传输到外围设备接口2118以供处理。音频数据可由外围设备接口2118从存储器2102和/或rf电路2108进行检索,和/或可由外围设备接口2118传输至存储器2102和/或rf电路2108。在一些实施方案中,音频电路2110还包括耳麦插孔。耳麦插孔提供音频电路2110与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
i/o子系统2106将设备2100上的输入/输出外围设备诸如触摸屏2112和其他输入控制设备2116耦接到外围设备接口2118。i/o子系统2106可包括显示控制器2156和用于其他输入控制设备2116的一个或多个输入控制器2160。一个或多个输入控制器2160从其他输入控制设备2116接收电信号/将电信号发送到其他输入控制设备2116。其他输入控制设备2116可包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑块开关、操纵杆、点击轮等。在一些另选实施方案中,一个或多个输入控制器2160可耦接到(或不耦接到)以下各项中的任一者:键盘、红外线端口、usb端口、指向设备诸如鼠标。一个或多个按钮可包括用于控制扬声器2111和/或麦克风2113的音量的增大/减小按钮。一个或多个按钮可包括下压按钮。
触敏显示器2112提供设备与用户之间的输入接口和输出接口。显示控制器2156从触摸屏2112接收电信号和/或将电信号发送至触摸屏112。触摸屏2112向用户显示视觉输出。视觉输出可包括图形、文本、图标、视频及它们的任意组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部视觉输出可对应于用户界面对象。
触摸屏2112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触摸屏2112和显示控制器2156(与存储器2102中的任何相关联的模块和/或指令集一起)检测触摸屏2112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触摸屏2112上的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在一个示例性实施方案中,触摸屏2112与用户之间的接触点对应于用户的手指。
触摸屏2112可使用lcd(液晶显示器)技术、lpd(发光聚合物显示器)技术或led(发光二极管)技术,但在其他实施方案中可使用其他显示技术。触摸屏2112和显示控制器2156可使用现在已知的或以后将开发出的多种触摸感测技术中的任一种触摸感测技术以及其他接近传感器阵列或用于确定与触摸屏2112的一个或多个接触点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性技术、电阻性技术、红外技术和表面声波技术。在一个示例性实施方案中,使用了投射式互电容感测技术,诸如在得自appleinc.(cupertino,california)的
触摸屏2112可具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏具有约160dpi的视频分辨率。用户可使用任何合适的物体或附加物诸如触笔、手指等来与触摸屏2112接触。在一些实施方案中,用户界面被设计成主要利用基于手指的接触和手势工作,但因为手指在触摸屏上的接触面积较大,所以基于手指的接触和手势可能不及基于触笔的输入精准。在一些实施方案中,设备将基于手指的粗略输入翻译为精准的指针/光标位置或命令,以执行用户期望的动作。
在一些实施方案中,除了触摸屏2112之外,设备2100可包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板可以是与触摸屏2112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备2100还包括用于为各种部件供电的电力系统2162。电力系统2162可包括电力管理系统、一个或多个电源(例如,电池、交流电(ac))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示器(例如,发光二极管(led)),以及与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
设备2100还可包括一个或多个光学传感器或相机2164。图13示出了耦接到i/o子系统2106中的光学传感器控制器2158的光学传感器。光学传感器2164可例如包括电荷耦合器件(ccd)、或者互补金属氧化物半导体(cmos)光电晶体管或光电传感器。光学传感器2164从环境接收通过一个或多个透镜而投射的光,并将光转换为表示图像的数据。与成像模块2143(也被称为相机模块)相结合,光学传感器2164可捕获静态图像和/或视频序列。在一些实施方案中,至少一个光学传感器可位于设备2100的后部,与该设备的前部的触摸屏显示器2112相背对。在一些实施方案中,触摸屏显示器可被用作取景器,以用于采集静态图像和/或视频图像。在一些实施方案中,除上述操作之外或作为上述操作的替代至少一个光学传感器可位于设备的前部。
设备2100还可包括一个或多个接近传感器2166。图13示出了耦接到外围设备接口2118的接近传感器2166。作为替代,接近传感器2166可耦接到i/o子系统2106中的输入控制器2160。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触摸屏2112。
设备2100还可包括一个或多个取向传感器2168。在一些实施方案中,一个或多个取向传感器包括一个或多个加速度计(例如,一个或多个线性加速度计和/或一个或多个旋转加速度计)。在一些实施方案中,一个或多个取向传感器包括一个或多个陀螺仪。在一些实施方案中,一个或多个取向传感器包括一个或多个磁力仪。在一些实施方案中,一个或多个取向传感器包括以下各项中的一者或多者:全球定位系统(gps)、全球导航卫星系统(glonass)和/或其他全球导航系统接收器。gps、glonass和/或其他全球导航系统接收器可用于获取有关设备2100的位置和取向(例如纵向或横向)的信息。在一些实施方案中,一个或多个取向传感器包括取向/旋转传感器的任意组合。图13示出了耦接到外围设备接口2118的一个或多个取向传感器2168。作为替代,一个或多个取向传感器2168可耦接到i/o子系统2106中的输入控制器2160。在一些实施方案中,以从一个或多个取向传感器接收到的数据的分析结果为依据,在触摸屏显示器上以纵向视图或横向视图显示信息。
在一些实施方案中,装置2100还可包括一个或多个其他传感器(未示出),包括但不限于环境光线传感器和运动检测器。这些传感器可耦接到外围设备接口2118,或者作为替代,可耦接到i/o子系统2106中的输入控制器2160。例如,在一些实施方案中,设备2100可包括至少一个前向(远离使用者的)光传感器和至少一个后向(朝向使用者的)光传感器,这些光传感器可用于从设备2100所处的环境收集环境光照度量度,以供视频与图像采集、处理和显示应用程序使用。
在一些实施方案中,被存储在存储器2102中的软件部件包括操作系统2126、通信模块2128、接触/运动模块(或指令集)2130、图形模块2132、文本输入模块2134、全球定位系统(gps)模块2135和应用程序2136。此外,在一些实施方案中,存储器2102存储设备/全局内部状态2157。设备/全局内部状态2157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触摸屏显示器2112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和输入控制设备2116获取的信息;以及有关设备位置和/或姿态的位置信息。
操作系统2126(例如,darwin、rtxc、linux、unix、osx、windows,或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动程序,并且促进各种硬件部件和软件部件之间的通信。
通信模块2128经由一个或多个外部端口2124促进与其他设备进行通信,并且还包括各种软件部件,以用于处理由rf电路2108和/或外部端口2124接收的数据。外部端口2124(例如通用串行总线(usb)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如互联网、无线lan等)进行耦接。在一些实施方案中,外部端口是与ipod(appleinc.的商标)设备上使用的30针连接器相同、类似并/或与该连接器兼容的多针(例如30针)连接器。
接触/运动模块2130可检测与触摸屏2112(结合显示控制器2156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块2130包括多个软件部件以用于执行与接触的检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定是否存在接触的移动并在触敏表面上跟踪该移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已终止(例如,检测手指抬起事件或者接触中断)。接触/运动模块2130从触敏表面接收接触数据。确定由一系列接触数据表示的接触点的移动可包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变)。这些操作可施加于单个触点(例如,一个指状触点)或多个同时的触点(例如,“多点触摸”/多个指状触点)。在一些实施方案中,接触/运动模块2130和显示控制器2156检测触摸板上的接触。
接触/运动模块2130可检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案。因此,可通过检测具体接触图案来检测手势。例如,检测手指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,检测触敏表面上的手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。
图形模块2132包括用于在触摸屏2112或其他显示器上呈现和显示图形的各种软件部件,包括用于改变被显示图形的强度的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块2132存储将被用于表示图形的数据。每个图形可被分配有对应的代码。图形模块2132从应用程序等接收指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且生成屏幕图像数据以输出至显示控制器2156。
可作为图形模块2132的部件的文本输入模块2134提供用于在需要文本输入的多种应用程序中输入文本的软键盘。
gps模块2135确定设备的位置,并向各种应用程序提供这种信息供其使用(例如,提供至电话模块2138,供其在基于位置拨号的过程中使用;提供至相机模块2143,作为图片/视频元数据;提供至用于提供基于位置的服务的应用程序,诸如地图/导航应用程序)。
应用程序2136可包括但不限于下列一种或多种模块(或指令集),或其子集或超集:
·电话模块2138;
·视频会议模块2139;
·用于静态成像和/或视频成像的相机模块2143;
·图像管理模块2144;
·浏览器模块2147;
·搜索模块2151;
·视频和音乐播放器模块2152,其可由视频播放器模块和音乐播放器模块构成;和/或
·在线视频模块2155。
可被存储在存储器2102中的其他应用程序2136的示例包括但不限于:其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、通信/社交媒体应用程序、地图应用程序、支持java的应用程序、加密应用程序、数字权益管理应用程序、语音识别应用程序和语音复制应用程序。
结合rf电路2108、音频电路2110、扬声器2111、麦克风2113、触摸屏2112、显示控制器2156、接触模块2130、图形模块2132和文本输入模块2134,电话模块2138可用于输入与电话号码对应的字符序列、访问地址簿中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话,以及在会话完成时断开或挂断。如上所述,无线通信可使用多种通信标准、通信协议和通信技术中的任一者。
结合rf电路2108、音频电路2110、扬声器2111、麦克风2113、触摸屏2112、显示控制器2156、光学传感器2164、光学传感器控制器2158、接触/运动模块2130、图形模块2132、文本输入模块2134和电话模块2138,视频会议模块2139包括根据用户指令发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合触摸屏2112、显示控制器2156、一个或多个光学传感器2164、光学传感器控制器2158、接触/运动模块2130、图形模块2132和图像管理模块2144,相机模块2143包括用于以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器2102中、修改静态图像或视频的特征、或从存储器2102删除静态图像或视频。
结合触摸屏2112、显示控制器2156、接触/运动模块2130、图形模块2132、文本输入模块2134和相机模块2143,图像管理模块2144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合rf电路2108、触摸屏2112、显示系统控制器2156、接触/运动模块2130、图形模块2132和文本输入模块2134,浏览器模块2147包括用于根据用户指令来浏览互联网(包括搜索、链接至、接收和显示网页或其部分,以及链接至网页的附件和其他文件)的可执行指令。
结合触摸屏2112、显示系统控制器2156、接触/运动模块2130、图形模块2132和文本输入模块2134,搜索模块2151包括用于根据用户指令来搜索存储器2102中的匹配一个或多个搜索条件(例如,用户指定的一个或多个检索词)的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触摸屏2112、显示系统控制器2156、接触/运动模块2130、图形模块2132、音频电路2110、扬声器2111、rf电路2108和浏览器模块2147,视频和音乐播放器模块2152包括允许用户下载和回放以一种或多种文件格式(诸如mp3或aac文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏2112上或在经由外部端口2124连接的外部显示器上)的可执行指令。在一些实施方案中,设备2100可包括mp3播放器诸如ipod(appleinc.的商标)的功能。
结合触摸屏2112、显示系统控制器2156、接触/运动模块2130、图形模块2132、音频电路2110、扬声器2111、rf电路2108、文本输入模块2134和浏览器模块2147,在线视频模块2155包括用于以下操作的指令:允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,在触摸屏上或在经由外部端口2124连接的外部显示器上)以及通过其他方式管理一种或多种视频格式诸如h.264/avc格式或h.265/hevc格式的在线视频。
上文识别的每个模块和每种应用程序对应于用于执行上述一种或多种功能以及本申请所描述的方法(例如,本文所述的用计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集可在各种实施方案中加以组合或以其他方式重新布置。在一些实施方案中,存储器2102可存储上文识别的模块和数据结构的子集。此外,存储器2102可存储上文未描述的附加模块和数据结构。
在一些实施方案中,完全借助触摸屏和/或触摸板来执行设备2100上的预定义的一组功能。通过使用触摸屏和/或触摸板作为用于设备2100的操作的主要输入控制设备,可减少设备2100上的物理输入控制设备(诸如下压按钮、拨号盘等)的数量。
可完全借助触摸屏和/或触摸板执行的预定义的一组功能包括在用户界面之间进行导航。在一些实施方案中,触摸板在被用户触摸时,将设备2100从可被显示在设备2100上的任意用户界面导航至主菜单或home菜单或根菜单。在此类实施方案中,触摸板可被称为“菜单按钮”。在一些其他实施方案中,菜单按钮可以是物理下压按钮或其他物理输入控制设备,而不是触摸板。
图14示出了根据一些实施方案的具有触摸屏2112的便携式多功能设备2100。触摸屏可在用户界面(ui)2200内显示一个或多个图形。在设备2100的至少一些实施方案中,用户可例如利用一个或多个手指2202(在附图中未必按比例绘制)或一个或多个触笔2203(在附图中未必按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。
设备2100还可包括一个或多个物理按钮,诸如“home”按钮或菜单按钮2204。如前所述,菜单按钮2204可用于导航到可在设备2100上执行的一组应用程序中的任何应用程序2136。作为替代,在一些实施方案中,菜单按钮可被实现为被显示在触摸屏2112上的gui中的软键。
在一个实施方案中,设备2100包括触摸屏2112、home按钮或菜单按钮2204、用于向设备开关机和锁定设备供电的下压按钮2206、一个或多个音量调节按钮2208、用户身份模块(sim)卡槽2210、耳麦插孔2212和对接/充电外部端口2124。下压按钮2206可用于通过按下该按钮并在预定时间间隔内使该按钮保持在按下状态来开启/关闭设备上的电源;用于通过按下该按钮并在经过预定时间间隔之前释放该按钮来锁定设备;和/或用于对设备进行解锁或发起解锁过程。在另选的实施方案中,设备2100还可通过麦克风2113来接收用于激活或去激活一些功能的语言输入。
设备2100还可包括一个或多个相机2164。相机2164可例如包括电荷耦合器件(ccd)、或者互补金属氧化物半导体(cmos)光电晶体管或光电传感器。相机2164从环境接收通过一个或多个透镜投射的光,并将光转换为表示图像或视频帧的数据。在一些实施方案中,至少一个相机2164可位于设备2100的后部,与该设备的前部的触摸屏显示器2112相背对。在一些实施方案中,除上述操作之外或作为上述操作的替代,至少一个相机2164可位于具有触摸屏显示器2112的设备的前部,例如使得用户在触摸屏显示器2112上观看其他视频会议参与者的同时可获取该用户的图像以用于视频会议。在一些实施方案中,至少一个相机2164可位于设备2100的前部,并且至少一个相机2164可位于设备2100的后部。在一些实施方案中,触摸屏显示器2112可用作静态图像和/或视频序列采集应用程序的取景器和/或用户界面。
设备2100可包括视频与图像处理硬件和/或软件,包括但不限于:可用于捕获、处理、转换、压缩、解压缩、存储、修改、传输、显示、以其他方式管理和操纵经由相机2164捕获或以其他方式采集(例如,经由网络接口)的静态图像和/或视频帧或视频序列的视频编码和/或解码部件、编解码器、模块或流水线。在一些实施方案中,设备2100还可包括一个或多个光传感器或其他传感器,这些传感器可用于从设备2100所处的环境收集环境光照度量度或其他量度,以供视频与图像采集、处理和显示使用。
在不同的实施方案中,本文所述的方法可在软件、硬件或软件和硬件的组合中实现。此外,可以改变方法的方框次序,可对各种要素进行添加、重新排序、组合、省略、修改等。对于受益于本公开的本领域的技术人员,显然可作出各种修改和改变。本文所述的各种实施方案旨在为例示性而非限制性的。许多变型、修改、添加和改进是可能的。因此,可为本文中描述为单个实例的部件提供多个实例。各种部件、操作和数据存储装置之间的界限在一定程度上是任意性的,并且在具体例示性配置的上下文中例示了特定操作。设想可落在所附权利要求的范围内的功能的其他分配。最后,被呈现为示例性配置中的分立部件的结构和功能可被实现为组合结构或部件。这些和其他变型、修改、添加以及改进可落在所附权利要求所限定的实施方案的范围内。
1.一种系统,包括:
解码流水线,被配置为:
获得中间色彩空间中的编码视频数据和包括用于对输入色彩空间中的输入视频数据进行编码以生成中间色彩空间中的编码视频数据的参数的元数据;以及
至少部分地基于所述元数据,将中间色彩空间中的编码视频数据转换为显示设备的输出色彩空间中的视频数据,其中所述元数据用于恢复在编码视频数据中未编码的来自输入视频数据的信息;
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
2.根据权利要求1所述的系统,其中所述参数包括在应用于输入视频数据的色域映射技术中使用的色域映射参数,所述色域映射技术从输入色彩空间的宽色域裁剪色彩以生成中间色彩空间的窄色域中的色彩,并且其中为了将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据,色域映射参数用于恢复从输入视频数据的宽色域裁剪的色彩中的至少一部分色彩以生成输出色彩空间的宽色域中的色彩。
3.根据权利要求1所述的系统,其中所述参数包括在色域映射技术中使用的色域映射参数,所述色域映射技术应用于所述输入视频数据,以将所述输入色彩空间的宽色域中的色彩映射到中间色彩空间的中间色域,并且其中为了将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据,色域映射参数用于将中间色彩空间中的色彩映射到输出色彩空间的窄色域。
4.根据权利要求1所述的系统,其中所述参数包括在应用于输入视频数据的色调映射技术中使用的色调映射参数,所述色调映射技术将在输入色彩空间中以高动态范围表示的输入视频数据转换为在中间色彩空间中以较低动态范围表示的视频数据,并且其中,为了将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据,色调映射参数用于恢复输入视频数据的高动态范围的至少一部分。
5.根据权利要求4所述的系统,其中所述色调映射参数包括应用于输入视频数据的帧或帧的区域的色调曲线的压缩参数化。
6.根据权利要求1所述的系统,其中所述编码视频数据根据压缩视频格式被编码,并且其中为了将所述中间色彩空间中的所述编码视频数据转换为显示设备的输出色彩空间中的视频数据,所述解码流水线被配置为:
对编码视频数据进行解码以获得中间色彩空间中的解码视频数据;以及
使用所述元数据中的参数将色调映射和色域映射应用于解码视频数据,以生成输出色彩空间中的视频数据。
7.根据权利要求6所述的系统,其中,所述压缩视频格式是h.264/高级视频编码avc格式或h.265高效视频编码hevc格式之一。
8.根据权利要求1所述的系统,其中,所述输入色彩空间和输出色彩空间是rgb色彩空间,并且其中所述中间色彩空间是yuv色彩空间。
9.根据权利要求1所述的系统,其中,所述输入视频数据是高动态范围hdr视频数据,其中所述编码视频数据是标准动态范围sdr视频数据,并且其中所述显示设备的所述输出色彩空间中的视频数据是hdr视频数据。
10.根据权利要求1所述的系统,其中所述输入视频数据是高动态范围hdr视频数据,其中所述编码视频数据是hdr视频数据,并且其中所述显示设备的输出色彩空间中的视频数据是标准动态范围sdr视频数据。
11.一种方法,包括:
由解码流水线执行以下操作:
获得中间色彩空间中的编码视频数据和包括用于对输入色彩空间中的输入视频数据进行编码以生成中间色彩空间中的编码视频数据的参数的元数据;以及
至少部分地基于所述元数据,将中间色彩空间中的编码视频数据转换为显示设备的输出色彩空间中的视频数据,其中所述元数据用于恢复在编码视频数据中未编码的来自输入视频数据的信息;
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
12.根据权利要求11所述的方法,其中所述参数包括在应用于输入视频数据的色域映射技术中使用的色域映射参数,所述色域映射技术从输入色彩空间的宽色域裁剪色彩以生成中间色彩空间的窄色域中的色彩,并且其中将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据包括使用色域映射参数来恢复从输入视频数据的宽色域裁剪的色彩中的至少一部分色彩以生成输出色彩空间的宽色域中的色彩。
13.根据权利要求11所述的方法,其中所述参数包括在色域映射技术中使用的色域映射参数,所述色域映射技术应用于所述输入视频数据,以将所述输入色彩空间的宽色域中的色彩映射到中间色彩空间的中间色域,并且其中将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据包括使用色域映射参数来将中间色彩空间中的色彩映射到输出色彩空间的窄色域。
14.根据权利要求11所述的方法,其中所述参数包括在应用于输入视频数据的色调映射技术中使用的色调映射参数,所述色调映射技术将在输入色彩空间中以高动态范围表示的输入视频数据转换为在中间色彩空间中以较低动态范围表示的视频数据,并且其中将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据包括使用色调映射参数来恢复输入视频数据的高动态范围的至少一部分。
15.一种装置,包括:
解码模块,被配置为:
对编码视频数据进行解码,以获得中间色彩空间中的视频数据和包括用于对输入色彩空间中的输入视频数据进行编码以生成中间色彩空间中的视频数据的参数的元数据;以及
至少部分地基于所述元数据,将中间色彩空间中的视频数据转换为输出色彩空间中的视频数据,其中所述元数据用于恢复在编码视频数据中未编码的来自输入视频数据的信息;
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
16.一种用于处理视频数据的系统,包括:
编码部件,被配置为:
应用色域映射技术将输入色彩空间中的视频数据输入到中间色彩空间中的视频数据,其中所述色域映射技术从输入色彩空间的宽色域裁剪色彩以生成中间色彩空间的窄色域中的色彩;以及
在元数据中记录在色域映射技术中用于将视频数据从输入色彩空间转换到中间色彩空间的参数;和
解码部件,被配置为至少部分地基于元数据将中间色彩空间中的视频数据转换为显示设备的输出色彩空间中的视频数据,其中,
为了将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据,所述参数用于恢复从输入视频数据的宽色域裁剪的色彩中的至少一部分色彩,以生成输出色彩空间的宽色域中的色彩;以及
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
17.一种用于处理视频数据的系统,包括:
编码部件,被配置为:
应用色域映射技术将输入色彩空间中的视频数据输入到中间色彩空间中的视频数据,其中所述色域映射技术将输入色彩空间的宽色域中的色彩映射到中间色彩空间的中间色域;以及
在元数据中记录在色域映射技术中用于将视频数据从输入色彩空间转换到中间色彩空间的参数;和
解码部件,被配置为至少部分地基于元数据将中间色彩空间中的视频数据转换为显示设备的输出色彩空间中的视频数据,其中,
为了将中间色彩空间中的编码视频数据转换为输出色彩空间中的视频数据,所述参数用于将中间色彩空间中的色彩映射到输出色彩空间的窄色域;以及
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
18.一种用于处理视频数据的系统,包括:
编码部件,被配置为:
对以高动态范围表示的输入视频数据应用局部色调映射技术以将输入视频数据转换为以较低动态范围表示的视频数据,
其中为了对输入视频数据应用局部色调映射技术,编码器被配置为:
对于每个视频帧,动态地确定帧中的多个区域中的每个区域的局部色调曲线;以及
根据每个区域的相应局部色调曲线来对该区域进行色调映射;以及
生成元数据,所述元数据包括在局部色调映射技术中使用的参数,其中所述参数包括指示应用于所述区域的局部色调曲线的信息;和
解码部件,被配置为对较低动态范围视频数据应用反向色调映射技术以生成以较高动态范围表示的视频数据,其中反向色调映射技术使用元数据中的参数来恢复输入视频数据的高动态范围的至少一部分。
19.一种系统,包括:
解码流水线,被配置为:
获得中间色彩空间中的编码视频数据和包括用于对输入色彩空间中的输入视频数据进行编码以生成中间色彩空间中的编码视频数据的参数的元数据;
对编码视频数据进行解码以获得中间色彩空间中的解码视频数据;以及
将根据显示设备的动态范围调整的色调映射技术应用于解码视频数据,以生成显示设备的输出色彩空间中的视频数据,
并且其中所述元数据用于恢复在编码视频数据中未编码的来自输入视频数据的信息;
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
20.一种系统,包括:
解码流水线,被配置为:
获得中间色彩空间中的编码视频数据和包括用于对输入色彩空间中的输入视频数据进行编码以生成中间色彩空间中的编码视频数据的参数的元数据;
对编码视频数据进行解码以获得中间色彩空间中的解码视频数据;以及
将色调映射技术应用于解码视频数据以生成在显示设备的输出色彩空间中的视频数据,其中所述元数据用于恢复在编码视频数据中未编码的来自输入视频数据的信息,并且其中所述色调映射技术根据显示设备处的当前环境条件动态地调整,以使输出色彩空间中的视频数据适应当前环境条件下的观看;
其中输入色彩空间、中间色彩空间和输出色彩空间是不同的。
技术总结