首页> 中国专利> 使用一色彩信息数据结构来处理图像信息的策略

使用一色彩信息数据结构来处理图像信息的策略

摘要

描述了使用传送色彩信息的数据结构来处理图像信息的策略。该色彩信息描述应用于图像信息的色彩相关格式化。该数据结构可沿一视频处理管线向下传递,其中该管线中的每个功能组件可从该数据结构提取色彩信息以改进其处理的准确性。此外,每个组件可将先前未知的色彩信息提供给该数据结构由该管线中其它(下游)组件使用。该数据结构的示例性字段可包括视频转换函数字段、色彩元字段、图像光线字段、转换矩阵字段、名义范围字段、以及视频色度采样字段的一个或多个。该转换矩阵字段可被用来将图像信息从一色彩空间转换到另一空间,诸如从亮度相关色彩空间到RGB相关色彩空间。可对渐进式和线性RGB图像信息执行处理操作。

著录项

  • 公开/公告号CN101867831A

    专利类型发明专利

  • 公开/公告日2010-10-20

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201010183522.1

  • 发明设计人 G·F·伊凡斯;S·J·埃斯特罗普;

    申请日2004-07-30

  • 分类号H04N9/64(20060101);H04N9/69(20060101);H04N5/44(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人顾嘉运

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 01:05:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-13

    专利权的转移 IPC(主分类):H04N9/64 变更前: 变更后: 登记生效日:20150424 申请日:20040730

    专利申请权、专利权的转移

  • 2012-10-03

    授权

    授权

  • 2010-12-01

    实质审查的生效 IPC(主分类):H04N9/64 申请日:20040730

    实质审查的生效

  • 2010-10-20

    公开

    公开

说明书

本申请是申请日为2004.07.30,申请号为200480003238.4(国际申请号为PCT/US2004/024707),名为“使用一色彩信息数据结构来处理图像信息的策略”申请的分案申请。

相关申请

本申请声明对序列号为60/492,029于2003年8月1日提交的题为“Bandwidth-Efficient Processing of Video Images”(“视频图像的带宽有效处理”)的指定StephenJ.Estrop为唯一发明人的美国临时申请的优先权。60/492,029临时申请在此全部引入作为参考。

本申请还是序列号为10/694,144于2003年10月27日提交的标题也为“Bandwidth-Efficient Processing of Video Images”(“视频图像的带宽有效处理”)的指定Stephen J.Estrop为唯一发明人的美国非临时申请的部分继续。10/694,144非临时申请在此全部引入作为参考。

最后,本申请相关于序列号为10/273,505于2002年10月18日提交的题为“Methods and Apparatuses for Facilitating Processing of Interlaced Images forProgressive Video Displays”(“便于渐进式视频显示的隔行(扫描)图象处理的方法和装置”)的指定Stephen J.Estrop为唯一发明人的美国非临时申请。10/273,505非临时申请在此全部引入作为参考。

技术领域

本发明涉及用于处理图像信息的策略,尤其涉及使用确保图像信息的色彩内容被准确再现的改进技术来处理图像信息的策略。

背景技术

人类视觉依赖于响应极低亮度的视网膜感光杆细胞,以及响应色彩的视网膜感光锥细胞。锥细胞通常响应于可见电磁频谱的三个部分,称为长波(例如通常对应于红色)、中波(例如通常对应于绿色)和短波(例如通常对应于蓝色)。这样,所有色彩可被表示为至少三种不同色彩成分(component)的不同组合。一般而言,色彩本身是在频谱可见部分中电磁辐射的物理方面以及用来处理该信息的视觉相关和大脑“机制”发生的复杂现象。例如,人类视觉对光的强度比对光的色彩(色度)成分更敏感。

再现彩色图像的电子装置通过提供三类光源来补充人类视觉的三原色特性。这三类光源对人类观察者产生像对不同色彩所感受的不同频谱响应。例如,阴极射线管(CRT)提供红绿蓝磷光剂来产生不同色彩。其它技术不使用磷光剂,但以其它方式使用发出至少三种光的光源来再现色彩。

The Commission Internationale de L’(CIE)已陈述将光线的光谱特性映射成不同感知色彩的整个系统。与之相关地,术语“匹配函数”指用统计学方法列出“平均”观察者对每个波长中一组参考灯的响应曲线。对于红绿蓝,这些函数分别表示为r(w)、g(w)和b(w),其中“w”表示波长。这样的参考灯-或色彩元-定义装置用来再现具有色彩内容的图像信息的光源(通常监视磷光剂)。术语“色彩空间”指由一组色彩元和匹配函数定义的规范。

一抽象色彩规范可用上述数学方法把三元色度映射成不同色彩。然而,已开发了众多特定编码系统以确保可应用于实际应用中的更有效编码方案,诸如色彩图像信息的传输和呈现。本行业中首先面对的实际应用是模拟电视信号的广播和呈现。最近的应用包括数字视频信息在诸如TCP/IP网络(例如因特网)的网络上的传输和呈现。此外,除了标准清晰度(SD)视频信息之外,本行业现在提供高清晰度(HD)视频信息的传输和呈现。因而编码系统的特性常常被回溯到本行业在某些时候面对的某些问题。

不管其方法如何,编码系统解决了在再现具有色彩内容的图像信息中产生的一些共同问题。以下讨论提供对编码系统可能以一种形式或另一种形式解决的共同问题的纵览。(对于术语,术语“图像信息”在本说明书中表示可向用户显示的任何信息;该术语被广泛用来包括静态图像信息和动态视频信息。)

·色彩空间及相关描述

色彩可使用三种成分来指定。依赖于使用不同色彩成分传输色彩内容的图像流被称为成分视频。一通用编码方法使用红绿蓝(RGB)成分来指定色彩。更正式地,RGB成分描述创建感觉上与给定频谱等价的色彩的参考灯的比例强度。例如,R成分可如下定义:

R=300nm700nmL(w)r(w)dw

其中L(w)对应于一给定频谱,而r(w)对应于该色彩空间的匹配函数r(w)。一般而言,RGB色彩空间可由与其色彩元及其白点相关联的色度值来指定。白点指与参考白色相关联的色度。

计算机监视器通常使用RGB模型来向用户呈现色彩内容。然而,RGB编码模型可能对图像信息传输是低效选择。因此,图像信息通常使用某些不同于RGB的编码模型来传输给目标装置。在接收后,例如使用3×3仿射转换该图像信息可被转换到RGB色彩空间用于显示。如将在标题“γ描述”下所述,每个R、G、或B组件数据还可根据其预γ校正形式-分别称为R’、G’和B’值-来表达。(通常,按惯例,’表示本说明书中的非线性信息。)

本方面中一通用手段是通过参考亮度相关成分(Y)和色度相关成分来定义色彩。亮度通常指感受到的光线强度(亮度)。亮度可用预γ校正形式(如“γ描述”下所述)来表达以产生其非线性对应体,称为“luma(亮度)”(Y’)。色度成分定义与luma相关的图像信息的色彩内容。例如,在数字领域中,符号“Cb”对应于差值B’-Y’的n比特整数的按比例表示(通常是8比特值的-127~128范围),而符号“Cr”对应于差值R’-Y’的n比特整数的按比例表示。符号“Pb”指Cb的模拟对应体,而符号“Pr”指Cr的模拟对应体。符号‘Pb’和‘Pr’还可指带有额定范围[-0.5...0.5]的Cb或Cr的数字归一化形式。由CbCr和PbPr定义的成分图像信息在表示非线性信息时可被正式地加上单引号(例如Cb’Cr’和Pb’Pr’)。

色彩内容也可作为合成视频(而非上述成分视频)传送。合成信号将亮度和色度信息组合在一个信号中。例如,在编码系统Y’UV中,U代表B-Y的比例版本而V代表R-Y的比例版本。然后处理这些亮度和色度成分以提供单个信号(例如,以全国电视系统委员会(NTSC)制式或逐行倒相(PAL)制式中陈述的方式)。编码系统Y’IQ定义通过以指定方式转换U和V成分而形成的另外的合成编码系统。一般而言,历史上本行业曾推进使用Y相关的色彩空间(Y’CbCr、Y’PbPr、YUV、YIQ等),因为与在RGB色彩空间中表达的图像信息相比,在这些色彩空间中可较简便地实现色彩图像信息的缩减。

通常使用一个或多个矩阵仿射变换来把色彩内容从一个色彩空间转换成另一色彩空间是可能的。更正式地,条件等色(metamerism)的属性使得根据另一组匹配函数来表达一组色彩空间系数成为可能(其中“条件等色”指映射到同一组色彩空间系数的两个光谱,因而显现为感觉上相同-即看上去像同一色彩)。

·γ描述

阴极射线管(CRT)不具有线性响应转换函数。换言之,施加到CRT的电压和CRT所产生的亮度的关系无法定义为线性函数。更具体地,CRT的预测理论响应具有与5/2幂法则成比例的响应;即对于给定输入电压“V”,CRT的结果亮度“L”可被计算为L=V2.5

在应用中,通常图像信息的源(诸如视频照相机)通过将转换函数应用于图像信息来预先补偿图像信息。该“转换函数”约是CRT亮度响应的逆函数。应用于源上的该转换函数-通常称为编码转换函数-产生“经γ校正”的非线性图像信息。当非线性信号通过显示装置传递时,产生线性亮度。根据上述概念,非线性(或预先补偿)图像信息通过向其成分加单引号来标注,例如Y’Cb’Cr’。

通常以非线性(预先补偿)形式来传送图像信息。接收仪器的显示装置(例如CRT)由于其内在非线性可补偿编码传输函数以提供适当的经转换色彩内容用于消费。

通常调整编码传输函数的指数以考虑图像信息可能被查看的条件。例如,在常规电视上显示的视频信息通常在家庭设置里普遍的微暗观看环境中呈现,而在常规计算机显示器上显示的图像信息通常在办公室设置里普遍的明亮观看环境中呈现。不同的转换函数调整适于这些不同的观看环境。因此,电视视频源通常使用基于图像信息将在微暗观看条件下呈现的内在假设的转换函数。这表示由该源应用的转换函数通常将不足补偿CRT的内在非线性。

作为另一特定考虑因素,使用转换函数的图像信息编码通常将一特定近似函数应用于该函数的低压部分。即,编码技术通常提供该部分的线性段以减少成像传感器中的噪音效应。该段被称为“线性尾部”(linear tail),具有一经定义的“底脚斜率”(toe slope)。

·与亮度信息相关的色度信息的采样和对齐

如上所述,人类视觉对光线强度比光线的色度成分更敏感。编码系统利用了这个事实来减少相对亮度信息(Y’)量的经编码的色度(Cb’Cr’)信息量。该技术被称为色度子采样。通常表示为L:M:N的数字概念可被用来表达该采样策略,其中“L”表示亮度成分(Y’)的采样参考因子,而“M”和“N”指相对于亮度采样(Y’)的色度采样(例如分别为Cb和Cr)。例如符号4:4:4可表示其中每个亮度样本有一个色度样本的Y’CbCr数据。符号4:2:2可表示其中每两个亮度样本有一个色度样本的Y’CbCr数据(水平地)。符号4:2:0可表示其中对亮度样本的每个2×2集群有一个色度样本的Y’CbCr数据。符号4:1:1可表示其中每四个亮度样本有一个色度样本的Y’CbCr数据(水平地)。

在编码策略提供比色度信息多的亮度信息的那些环境中,解码器可通过基于所提供的色度信息执行内插来重建“丢失的”色度信息。更一般地,缩减采样(downsampling)指任何产生比初始图像样本集更少的图像样本的技术。增长采样(upsampling)指任何产生比初始图像样本集更多的图像样本的技术。因而,上述内插定义一类增长采样。

编码策略还指定色度样本在空间上与对应亮度样本“对齐”的方式。各编码策略在这方面有所不同。某些策略将色度样本与亮度样本对齐使色度样本直接位于亮度样本“之上”。这称为cositing(对齐)。其它策略将色度样本填入亮度样本的两维数组内的空位上。图10-12(在下面讨论)示出用于呈现亮度和色度信息的不同采样和对齐策略。

·量化描述

量化指一种将离散数值分配到色彩成分的信号幅度上的方法。在数字领域中,各数值以指定步骤跨越色彩空间值的指定范围(整个范围)。例如通常使用255个步骤用于描述每个成分值从而每个成分可假设一从0到255的值。通常使用8个比特来表达每个色彩值,尽管色彩也可使用更高精度(比如10个比特)或更低精度来表达。

编码策略通常将一些部分分配在量化色阶范围的两端,用于分别表示黑色色阶和白色色阶。即,编码策略将常定义一参考黑色色阶和一参考白色色阶,但也将编码色阶分配到这些参考色阶之外用于表达在参考黑白色阶之外摇摆的值。例如,一8比特编码策略可将色阶16分配给黑色而将色阶235分配给白色。剩余的比16低的色阶定义所谓“底脚空间”而剩下的比235高的色阶定义所谓“顶部空间”。

·隔行扫描表示对渐进式表示描述

常规电视信号是以隔行扫描方式扫描的。在隔行扫描中,步骤视频帧的第一字段稍后是视频帧的第二字段(例如1/50或1/60秒之后)。第二字段相对第一字段有一微量垂直偏移,从而使第二字段捕捉在第一字段扫描行之间的空隙内的信息。所谓摆动隔行扫描是一类众所周知的隔行扫描策略。完整的视频帧通过快速顺序地呈现第一和第二字段组成,从而在人类观看者感觉它们是单个信息帧。

然而,计算机监视器和其它呈现设备以渐进式而非隔行扫描方式显示图像信息。因而,为了使一装置在计算机监视器上呈现隔行扫描信息,它必须通过内插反向字段的数据(称为“解除隔行扫描(deinterlace)”的过程)来以隔行扫描字段速率显示渐进式帧。例如,为了显示隔行扫描字段,它必须通过检查两侧字段来把“丢失的”数据插入各行之间的空位。非隔行扫描图像格式被称为“渐进式”格式。

有关每一个以上主题的其它信息可在众多介绍性文本中找到,诸如CharlesPoyton著名的“数字视频和HDTV”(“Digital Video and HDTV”)。

结合上述复杂性,本行业提供了用于呈现图像信息的大量不同正式标准。各标准由众多机构和协会公布,包括国际电信同盟(ITU)、欧洲广播联盟(EBU)(也推广数字视频广播或DVB)、音频工程协会(AES)、高级电视系统委员会(ATSC)、电影与电视工程师学会(SMPTE)、顺序五彩电视系统(SECAM)、全国电视系统委员会(NTSC)等。

每个这些机构都创立来自上述可能编码选项邻域中编码特征的特定组合。这样,如本发明人所理解的,各标准一般在其定义和应用上不同:色彩元;转换函数;预期观看条件;转换矩阵;底脚空间和顶部空间的规范;色度子采样和对齐策略等。色彩元(与白点参考一起)定义一标准的基本色彩空间。转换函数确定该标准如何在线性图像信息和非线性信息之间转换。计预期观看条件定义该标准所作对可能消费图像信息的观看环境的假设(诸如电视将在家庭环境微暗灯光下观看的假设)。观看条件改变图像信息的有效的γ、亮度(黑色色阶)以及对比度(白色色阶)。转换矩阵确定该标准如何在不同色彩空间之间转换(例如从Y’YbYr到RGB色彩空间)。头部空间和底脚空间规范确定该标准分配的表示黑色和白色范围的量化色阶。色度子采样和对齐策略指定色度信息被子采样并相对亮度信息放置的方式。

现有的标准相关文档以严格细节来陈述每种标准的要求。代表性标准包括:

·ITU-R Recommendation BT.470是提供模拟和单色电视装置的规范的国际标准。

·ITU-R Recommendation BT.601是定义图像信息的演播室数字编码的国际标准。该标准使用图像信息的Y’CbCr编码。

·ITU-R Recommendation BT.709是定义高清晰度视频信息的演播室编码的国际标准。高清晰度(HD)内容表示比标准清晰度(SD)高的视频内容,通常为1920×1080、1280×720等。

·SMPTE 170M是定义合成模拟视频信息的编码的一种标准(例如NTSC)。

·SMPTE 240M是定义模拟高清晰度视频信息的编码的一种标准。

·IEC 61966-2-1(sRGB)是用于使用8比特量化方案把图像信息编码成255个级的一种标准。

·IEC 61966-2-2(scRGB)是定义sRGB线性形式的一种标准,大大扩展了sRGB的色彩范围。

·ISO/IEC 13818(MPEG-2)是以压缩形式编码音频和视频信号的一种标准。

·ISO 10918-1(JPEG)是用于有损压缩静态图像信息的一种标准。

当今使用的编码标准的多样性使得在图像信息的编码、传送和处理中有很多困难。作为纵览,与特定装置相关联的视频处理管线常被设计成处理具有已定义格式化的特定类信号;在此限定作用中,这些装置可准确地以可靠方式处理图像信息。然而,在当今使用的更广泛图像信息领域的环境中,这些装置可能缺乏用于解释其它类图像信息的色彩格式化,并通过管线可靠地传播该格式化信息的机制。更精确地,视频管线可接收定义应用于所接收图像信息的色彩格式化的某些方面的信息,但如本发明人所理解的,视频管线可能缺乏可靠地把该色彩信息沿管线传播到管线中的下游组件的适当机制。结果,该格式化信息“丢失”或“被丢弃”。下游组件可通过“猜想”格式化信息来解决有关色彩格式化信息的缺乏问题。当组件猜想得不准确时,管线以不太理想的甚至是不准确的方式产生图像信息。

图1被呈现为用于进一步解释以上可能问题的一种手段。图1示出视频处理管线100的高级表示。管线100包括由输入阶段102、处理阶段104和输出阶段106定义的常规处理阶段。对于输入阶段102,输入源108表示图像信息的任意源。源108一般可包括新捕捉的图像信息(例如由照相机或扫描仪创建),或通过某些通道(例如从盘接收的、经IP网络等)提供给输入阶段102的先前捕捉的图像信息。在前一情形中,捕捉处理功能110可对从源108接收的图像信息执行任何类型的预处理。在后一情形中,解码功能112执行任一类型的基于流的信息提取和解压以生成图像数据。一般而言,这种处理可包括从所接收信息的音频信息中分离图像信息、结压缩信息等。对于处理阶段104,处理功能114对结果图像信息执行任何类型的处理,诸如把多个图像信息流混合在一起成为一合成信号。对于输出阶段,输出处理功能116代表在向输出装置118的输出做准备的过程中对经处理图像信息执行的任何类型的处理。输出装置118可代表电视、计算机监视器等。输出装置还可代表存储装置。此外,输出“装置”(或输出功能116)可提供为在装置上存储或经网络发布准备信息的压缩和格式化功能(诸如多路传输器)。

图1中底部一行的框总结了已知系统的上述缺点。框120指出管线功能(110、112、114、116),未能准确解释应用于输入信号的色彩格式化和/或未能沿管线把色彩信息可靠地传播到下游组件。例如,管线100可接收已用指定格式化编码的图像信息。所接收的信息可包括标识所使用格式化特征的某些字段,或者这些特征可基于接收信息的其它警告属性而导出。然而由于使用中的标准太多,管线100的初始阶段缺乏用于适当解释该信息并将其传递给视频管线100的下游组件的功能。结果,该编码信息立即丢失。这可导致图像信息被传送到下游组件却没有该组件应如何解释该图像信息的方针;实际上它仅仅是1和0而已。

框122示出视频管线100处理以上困难的方式。即,缺乏如何解释图像信息中色彩内容的指导的功能组件常常作如何解释它的“猜想”。部分猜想是准确的而其它则不准确。仅列举一些示例,视频管线可作出有关已应用于图像信息的转换函数(可能基于图像尺寸)的不准确假设、图像信息中固有的光线条件假设、由图像信息使用的色度子采样方案(基于数据格式)等。

框124示出可能的不正确猜想序列。即,不正确猜想可导致非最佳的或不正确的显示质量。图像显示可显现为具有“不自然”色彩或具有动态假象。或者它可显现为“对比度”过大、失真、裁切不正等。

因此需要一种用于处理具有色彩内容的图像信息的更令人满意的技术。

发明内容

根据一示例性实现,描述一种用于处理具有以指定格式表达的色彩内容的图像信息的方法。该方法包括:(a)提供一种包含定义指定格式至少一方面的色彩信息的色彩信息数据结构,所述色彩信息数据结构表示色彩信息在视频管线内编码并传送的方式,所述色彩信息表示描述图像信息的色彩内容的信息;(b)将该色彩信息数据结构以及图像信息传递给用于处理图像信息的至少一个功能组件;(c)基于色彩信息数据结构中的色彩信息在上述至少一个功能组件上处理图像信息;(d)上述至少一个功能组件属于定义视频处理管线的一组功能组件,其中色彩信息数据结构在视频处理管线中往下传递为下游功能组件使用;以及(e)上述至少一个功能组件还确定指定格式的至少一个其它方面,并将该至少一个其它方面添加到色彩信息数据结构中的至少一个未知字段中。

根据另一示例性特征,色彩信息数据结构包括:(a)一视频转换函数字段,它传送有关用于把线性图像信息转换成非线性图像信息和/或反之的转换函数的信息;(b)一色彩元字段,它传送与图像信息相关联的色彩元;(c)一图像光线字段,它传送与图像信息相关联的预期观看条件;(d)一转换矩阵字段,它可被用来更改图像信息的色彩空间;(e)一名义范围字段,它传送有关与图像信息相关联的底脚空间和顶部空间的信息;以及(f)一视频色度采样字段,它指示在图像信息中的色度样本被采样并相对相关联亮度样本对齐的方式。

根据另一示例性特征,上述色彩信息数据结构的传递包括使用现有数据结构的未使用字段来传递该色彩信息数据。

根据另一示例性特征,该方法还包括设置一标记,它表示上述指示一个功能组件有能力处理色彩信息数据结构。

所描述的用于处理图像信息的另一示例性方法包括:(a)提供图像信息的一主视频流;(b)提供图像信息的一个次视频流;以及(c)基于在色彩信息数据结构中指定的色彩信息执行涉及主视频流和次视频流的至少两个任务以产生以指定色彩空间表达的输出视频信息;其中所述色彩信息数据结构表示色彩信息在视频管线内编码并传送的方式,所述色彩信息表示描述对应的图像信息的色彩内容的信息。

其它示例性实现如下所述。

附图说明

图1示出一示例性视频管线及其相关问题。

图2示出一改进示例性视频管线,它具有处理提供色彩信息的数据结构的功能。

图3是示出使用图2中引入的数据结构来处理图像信息的示例性方法的流程图。

图4是示出用于将图像信息转换成渐进式线性RGB格式,然后对该格式的图像信息执行处理的新技术的框图。

图5示出用于图2系统的示例性数据结构的纵览。

图6-12示出图5数据结构可引用的各种示例性格式化信息。

图13示出用于实现图2一般特征的一示例性系统。

图14是示出图13系统操作的示例性方法的流程图。

图15和16示出可在图13系统中采用的示例性合成功能的细节。

最后,图17示出用于实现图2所示系统各方面以及下列等等的示例性计算环境。

相同标号在本说明书和附图中使用以引用类似组件和特征。系列100标号指原来在图1中发现的特征,系列200标号指原来在图2中发现的特征,系列300标号指原来在图3中发现的特征等等。

具体实施方式

以下描述了用于改进具有色彩内容的图像信息的处理的示例的机制和过程。广而言之,这些机制和过程提供一种捕捉有关已应用于图像信息的色彩格式化的信息的数据结构。该信息被称为“色彩信息”,而该数据结构本身被称为“色彩信息(CI)数据结构”。在一示例性情形中,色彩信息可具体地包括传送与图像信息相关联的以下信息的字段:转换函数信息;色彩元信息;视频光线信息;转换矩阵信息;名义范围信息;以及色度子采样信息。字段的这个组合旨在是说明性的而非限制性的。其它实现可包括其它字段,可略去以上标识的某些字段等。

视频处理管线使用色彩信息以便于图像信息的处理。例如,色彩信息可指定管线内的功能组件应变换图像信息的方式。此外,与已知系统显著不同的是,该视频管线包括用于将CI数据结构沿管线往下传递使管线中下游组件能从该CI数据结构中提取信息的功能。从而这种措施减少了视频管线将作有关图像信息本性的不准确猜想的机会;因此,这种措施有可能改进显示图像的质量。

根据另一示例性特征,管线内组件可包括用于独立解释图像信息的功能。在组件能可靠地确定色彩格式化的先前未指定的色彩相关方面的那些实例中,该组件可将该信息添加到CI数据结构中。然后该补充色彩信息变成对视频管线中的下游组件可用,而下游组件由可通过添加新信息来补充该CI数据结构。因而,当色彩信息数据结构通过管线传递并收集来自管线内组件的能导出应用于图像信息格式化的不同属性的信息时,它就变得更加“富有信息”了。

根据另一示例性特征,色彩信息旨在提供一种传送有关可用于编码图像信息的大量可能格式的信息的“容器”。因此,该CI数据结构可被示为一类通用接口,使视频管线通过翻译由该CI数据结构传送的色彩信息而能接受任何类型的图像信息并进行正确处理。

根据另一示例性特征,CI数据结构使用一种特别有效的方案来将各种各样有关不同格式标准的信息封装在少数信息比特中。在一示例性情形中,数据结构将各种各样的色彩信息封装在少数字中(例如在16比特结构、24比特结构等中)。

根据另一示例性特征,系统可通过采用在视频管线中使用的一个或多个现有数据结构中提供的未使用字段来传送CI数据结构。这允许使用这种现有数据结构的系统无需系统的昂贵和复杂重组就可使用色彩信息。此外,如果这些系统并未被设置成处理该CI数据结构但它仍然出现在馈入该系统的输入信息中,这些系统无需受到“破坏”就可安全地略去CI数据结构。

根据另一示例性特征,亮度相关色彩空间中的隔行扫描图像信息(例如Y’Cb’Cr’)可被转换到线性和渐进式的RGB色彩空间。然后可在线性/渐进式RGB色彩空间内对图像信息执行各种处理(诸如重新调节大小等)。然后图像信息可被转换回亮度相关色彩空间(例如Y’Pb’Pr’)用于输出(例如用于在电视上显示)。在线性/渐进式RGB空间中对亮度相关信息的处理104与其它方法不同,它不将图像信息转换到中间线性RGB色彩空间中用来以上述方式进行处理。

还有其它特征和附加优点在以下详细说明书中进行详细描述。

对于术语,术语“图像信息”旨在包括任何类型的可由用户以任何可视形式消费的信息。图像信息可表示以任何格式表达的信息,诸如模拟格式、数字格式、或数字和模拟格式的组合。图像信息可表示静态图像信息(例如数字照片)和/或动态信息(例如视频信息)。预期还有其它变体可使用术语图像信息。

术语“色彩信息”表示描述图像信息的色彩内容的任何信息。例如,当图像信息以指定格式来表达色彩内容时,色彩信息可传送有关该格式的信息。术语“色彩信息数据结构(CI数据结构)”指可在视频管线内编码并传送色彩信息的方式。

术语“视频管线”指用于处理图像信息的任何功能。管线包括以一个跟随另一个的串行方式对图像信息操作的至少两个功能组件。

本说明书包括以下章节。章节A描述示例性色彩信息数据结构及其在视频管线内使用方式的纵览。章节B描述可在章节A的视频管线内执行的示例性转换操作。章节C描述在章节A中定义的色彩信息数据结构的示例性合成。章节D描述体现在章节A-C中陈述的各原理的视频管线的一特定示例性实现。章节E描述用于实现在章节A-D中描述的特征各方面的示例性计算机环境。

一般而言,对于本发明的结构化方面,在此所述的任一功能都可使用软件、固件(例如固定逻辑电路)、手动处理、或这些实现的组合来实现。当在此使用时,术语“模块”、“功能”和“逻辑”一般表示软件、固件、或软件和固件的组合。在软件实现的情形中,术语模块、功能、或逻辑表示在处理装置或装置(例如一个或多个CPU)上完成时执行指定任务的程序代码。程序代码可被存储于一个或多个固定的和/或可移动计算机可读存储器装置中。

对于本发明的过程方面,某些操作被描述为由以某个顺序执行的不同步骤组成。这种实现是示例性并非限制的。在此描述的某些步骤可被组合在一起并在单个操作中执行,且某些步骤能以与本说明书中陈述示例所采用顺序不同的顺序执行。

A.示例性色彩信息(CI)数据结构及其应用的纵览

图2示出采用色彩信息(CI)数据结构202的视频处理管线200。CI数据结构202包含描述用来表达图像信息204内色彩的格式化和/或描述图像信息如何随后由管线处理的信息。该CI数据结构提供统一的容器以接收有关大量不同色彩编码格式的色彩信息。从而该CI数据结构202定义一类通用接口,以无异常方式扩展管线200可成功处理的图像信息类型。根据另一优点,视频管线中所有功能组件可从CI数据结构202中提取,并可能用有关图像信息204的能导出这些组件的新信息来补充它。

视频管线本身包括一系列处理阶段,包括输入阶段206、处理阶段208和输出阶段210。对于输入阶段206,输入源212代表图像信息204的任一源。源212通常可包括新捕捉的图像信息(例如由照相机或扫描仪创建),或先前捕捉的通过某些路线出现在输入阶段206的图像信息,例如经广播传输(例如卫星或电缆传输等)接收的、经任意类网络接收的(诸如例如因特网的TCP/IP数字网络)、经图像信息的本地存储(诸如视频盘、本地数据库等)接收的等。输入处理功能214被配置成对图像信息204执行任意类预处理,它取决于输入源212的本性而不同(例如取决于图像信息204是否是新捕捉的或从预先捕捉信息的某些源输入的)。在输入先前捕捉/存储信息的情形中,处理可包括从接收信号中将图像信息与音频信息分离、解压缩图像信息等。对于处理阶段208,处理功能216被配置成对已捕捉的图像信息204执行任何类型的处理,诸如将多个视频信息流混合成一合成信号,对已捕捉图像信息204执行色彩空间转换等。对于输出阶段210,输出处理功能218被配置成执行图像信息204的任何处理以为其向输出装置220的输出做准备。输出装置可代表电视机、计算机监视器、存储装置(远程和本地)、任何网络可访问目标位置等。每个功能组件(214、216、218)可在物理上被实现为用于执行所属任务的单个装置,或以串行或并行方式耦合在一起的多个装置。在一情形中,管线200中的组件可对应于动态配置的逻辑模块(例如软件模块)。

每个功能组件(214、216、218)包括被配置成处理CI数据结构202的相应功能(222、224、226)。该功能(222、224、226)可包括用于读取CI数据结构202中信息、用于解释CI数据结构202中信息、以及用于将CI数据结构202中的经解释信息应用于图像信息204的处理的逻辑。该功能(222、224、226)还可包括用于导出有关在图像信息204中使用的色彩格式化的其它特征,以及用以将该导出信息提供给CI数据结构202以填入CI数据结构202中的先前未知字段的逻辑。例如,功能(222、224、226)可确定在使用某格式。基于此,它可导出(例如通过访问一预定查寻表格)该标准具有某些编码特征。然后功能(222、224、226)可提供有关这些导出特征的信息以填入CI数据结构202中的先前未知字段。更具体地,在一实现中,管线200中的组件可自动地将CI数据结构202中的未知值设置为诸如0的指定值。这个动作构成CI数据结构的初始化。由于这些值被设置为0,随后的组件会注意CI数据结构中某些值的未知性质。然后这些组件可以自由提供丢失值(如果它们能够这样做的话)。箭头228一般表示功能(222、224、226)可从CI数据结构202提取信息。箭头230一般表示功能(222、224、226)可添加到CI数据结构202。图2具体地示出功能组件214在与CI数据结构202交互。但如上所述,该同一CI数据结构202被沿视频管线200传递下去,从而任意其它功能组件(214、216、218)可以所示方式与CI数据结构202交互。

不同的功能组件(214、216、218)可依赖于众多因素来对CI数据结构202进行不同的处理,诸如所涉及的处理阶段(206、208、210)、特定应用程序的细节、所处理的色彩格式等。

例如,与源212和输入处理功能214相关联的功能222有助于确定有关所接收图像信息104中使用的格式化标准的信息,并向CI数据结构202提供该信息以由管线200的下游组件使用。一般而言,在新的捕捉情形中,捕捉装置通常隐含地“知道”应用于它所产生的图像信息的格式化。另一方面,接收由某些其它源创建的图像信息的装置可通过研究与所接收图像信息相关联的任何格式相关信息,或通过作逻辑或可靠猜测来确定应用于该图像信息的色彩格式化。以下是特定示例。例如,模拟捕捉装置通常知道与他们所捕捉数据相关的视频标准和色彩空间。作为另一示例,由于DVD导航器在解析带有NTSC内容的DVD的事实,它知道所处理的图像信息204的色彩空间。作为另一示例,接收MPEG-2基本视频流的任何捕捉装置可导出所使用格式化的某些属性,因为MPEG-2将色彩信息明显列在其序列显示扩展标题中;例如,标题指示与图像信息204相关联的元、转换函数和转换矩阵。作为另一示例,高清晰度(HD)数字调谐器应知道它在传送709色彩空间内的HD数据等。在所有这些情形中,功能222可将它“已经知道”所采用的色彩格式化的信息提供给CI数据结构202以由管线200中的下游功能组件使用。在已知系统中,该信息被立即丢弃且因此丢失了。

管线200中的色彩空间转换器可使用CI数据结构202来确保对所接收的图像信息204执行了准确的转换操作。换言之,例如,色彩空间转换器可使用从CI数据结构202中收集的信息来确定所使用的转换算法,或确定在算法中使用的设置/参数等等。

管线200中的混合器用来把不同类型的图像信息混合在一起,其中这种信息可能使用不同的色彩格式来表达。例如,一应用程序可能想要把数字照片和叠加图像信息组合在一起等等。管线200可使用在CI数据结构202中提供的增强式格式化信息以确保所有被组合的信息具有一通用格式(例如通用色彩空间)。这个操作可在信息由混合器接收之前例如由(与管线中混合器相关)上游组件执行。

或者该操作可被分配到图形处理硬件。该图形处理硬件可包括例如由视频处理卡(如下参照图13讨论)提供的一个或多个图形处理单元(GPU)。在此情形中,与要组合信息相关联的CI数据结构202可被沿管线传送下去直到图形处理硬件,然后该硬件可使用CI数据结构202把图像信息转换成一通用格式,从而可组合信息。在该实现中,依靠由CI数据结构202提供的补充色彩信息,视频管线中的驱动器不再需要猜想哪种色彩空间或色度方案是预期的,因而减少驱动器(或图形处理硬件)将作不正确猜想并产生较差输出结果的可能性。

总之,图2底部行中的各框总结了应用于视频管线200的CI数据结构202的使用的示例性优点。框232示出CI数据结构202具有在管线200中往下传递的统一结构。框234示出管线200中的每个功能组件(214、216、218)可从CI数据结构202提取信息,并为CI数据结构202中的未知字段提供值。这就是说,与已知系统相比较,功能组件(214、216、218)可减少或消除处理图像信息204需要执行的不合理猜测。框236示出该策略的最终结果可导致色彩再现的改进质量。即,通过减少某些不准确猜测,视频管线200将提供具有各种异常的输出信息的可能性降低,诸如图像具有较差对比度、图像具有看起来不自然的色彩、图像具有各种失真(例如动态非自然信号、剪裁等)等。

根据另一优点,如将在以下章节D中详细解释的,视频管线200可使用现有的数据结构来传送CI数据结构202。例如,CI数据结构202可“驻留”于用来通过管线200传送信息的现有数据结构的未使用字段。可提供一标记来发出未使用字段是否包含CI数据结构202的信号(或者它是否包含无意义的、未指定的信息或可能缺省信息,诸如一串0)。该措施至少有两个优点。首先,现有尺寸的现有字段的使用意味着无需完全重新设计现有的功能组件(214、216、218)以适应于新CI数据结构202的使用。另外,不具有理解或解释CI数据结构202的能力的那些功能组件(214、216、218)不需要处理此信息。换言之,不理解CI数据结构的组件完全不受其影响。同时,提供色彩信息的不明显特性使这些组件能自动地沿管线200传递色彩信息。换言之,色彩信息通常没有丢失,因为它出现在现有的数据字段中。这使被配置成利用该色彩信息的下游组件能接收来自不知道CI的上游组件中的色彩信息。

以上讨论已假设图像信息204将基于CI数据结构202中的色彩信息在显示装置中立即显示。然而,CI数据结构202还提供一种用于包装与图像信息204相关联的色彩信息的有效技术,并因而可用作一种存档技术以用空间有效方法来存储图像信息204和相关联的CI数据结构202(但仍然保留大量有关应用于图像信息的格式化的信息)。

更具体地,组件可被配置成自动地将CI信息202与图像信息204存储在一起。当后来检索图像信息204时,包含CI信息202的保留字段可被解包并被传送到管线200,从而为下游组件保留了大量有关图像信息204的色彩结构的信息。

此外,以上讨论已假设管线200中的组件可仅为管线中的下游组件提供缺少的色彩信息。然而,管线中的组件可提供该色彩信息由上游组件在其对随后图像信息的处理中使用。例如,考虑视频管线被应用于处理和呈现来自未知视频源的电影的任务的情形。管线中的初始组件之一不能确定应用于该视频信息的格式化的某些特征,并因而在开始时可能就未能以最优方式处理该信息。然而,管线中后来的组件随后导出已由未知视频源应用于视频信息的格式化。这些下游组件可与上游组件通信以通知它随后接收的来自同一源的信号具有指定的格式化。然后,上游组件可用更无错误的方式处理视频信息。

此外,术语“下游”并未必然示出系统内操作的固定顺序。一般而言,管线可用动态方式创建以通过串联不同的功能组件来提供对图像信息204的需要操作。在该环境中,色彩信息可在媒体类数据结构中提供用于在各组件之间协商。如果管线首先从“输出端”创建,色彩信息将随着组件的连接“反向”流动。

图3以流程图形式描述图2中管线200的操作。步骤302要求开始时捕捉/输入来自一个或多个源212的图像信息204。步骤304要求由管线200的适当功能组件(214、216、216)根据从CI数据结构202收集的色彩信息来处理图像信息204。步骤306要求有选择地向CI数据结构提供由管线200的适当组件(214、216、218)导出的色彩信息以由视频管线200的下游组件使用。例如,步骤304和306对应于输入阶段206在由流程图定义的第一个循环中执行的处理。步骤308确定步骤304和306是否应对视频管线200中的下一功能组件(214、216、218)重复。图3的过程以图像信息204基于CI数据结构202对输出装置(例如电视、计算机监视器、存档装置、网络目标等)的最终输出而结束。

B.示例性转换操作

图4示出使用图2的视频管线200或在另一类管线的环境中转换图像信息204的转换操作400。图4因此进一步扩展了色彩信息202在视频管线内的使用。图4所示的其它特征示出即使不使用色彩信息202情况的视频处理领域内的进步。即,作为纵览,图4示出一种用于将以亮度相关色彩空间(例如Y’Cb’Cr’)表达的图像信息转换到线性渐进式RGB空间,然后对线性渐进式RGB数据执行某些处理的技术。此后,该技术可将该信息转换回亮度相关空间(例如Y’Pb’Pr’)用于向输出装置输出(诸如以亮度相关色彩空间显示图像信息204的电视装置、存储设备等)。在线性/渐进式RGB色彩空间中处理亮度相关信息204与其它方法不同,它不会将图像信息204转换到中间线性RGB色彩空间,用来以上述方式进行处理。出于众多原因,线性RGB处理是有利的。例如,线性RGB处理消除了可能由处理非线性RGB或非线性YUV色彩空间中的图像信息引起的亮度和色彩移位非自然信号。

图4的转换操作400包括一系列描述上述转换步骤的示例框。更具体地,该图中上面一行的框示出将Y’Cb’Cr’图像信息转换到指定色彩空间用于处理。下面一行的框示出将处理后的数据转换回Y’Pb’Pr’数据(其中Y’Pb’Pr’可定义Y’Cb’Cr’的模拟对等体)。

对于上面一行,框402指出Y’Cb’Cr’4:2:0图像信息被接收并被增量采样为Y’Cb’Cr’4:4:4图像信息。4:2:0符号表示色度信息(Cb’Cr’)相对亮度信息(Y’)进行子采样。图4中框402上示出的代表性样本指出不同的编码策略可用不同方法来使色度样本相对亮度样本放置。增量采样操作内插色度信息以便产生与亮度信息一样多的色度信息量(例如以提供输入图像信息的4:4:4表示)。

框404将一矩阵转换应用于Y’Cb’Cr’4:4:4图像信息以将其转换到另一色彩空间,即R’G’B’色彩空间。

框406通过向其应用转换函数将非线性R’G’B’图像信息转换成线性形式。如上所述,与R’G’B’图像信息相关联的单引号(’)表示它是非线性形式的;没有单引号(例如RGB)通常表示线性数据(除非在通常理解所指符号代表非线性信息时移除单引号也是常见的)。图4中框406上所示模型转换函数示出所采用函数的一般形状,它也是CRT(未示出)的固有转换函数的一般形状。该模型转换函数还表示它可采用临近其曲线的V=0部分的线性尾部。

框408有选择地执行内容的解除隔行扫描以将其从隔行扫描形式转换成渐进式形式以便正确执行图像重新调整操作。

框410有选择地转换线性RGB信息的色彩元以在另一色彩空间表达该信息。该转换可包括将一矩阵转换应用于RGB信息以改变其色彩元,使它们与在视频处理管线中下游组件所执行处理所需的元相对应。在一示例中,框410可包括将图像信息从一RGB相关色彩空间转换成另一RGB相关色彩空间(例如scRGB)。

框412一般表示对具有经转换色彩空间的图像信息的任何类型的处理。例如,这可构成在线性渐进式RGB相关色彩空间中执行对图像信息的处理。

图4的下面一行框一般是上面一行上述操作的逆。即,在框412中处理之后,框414有选择地将图像信息转换到另一色彩空间,诸如转换回RGB色彩空间。如果它需要以隔行扫描形式存储或显示,框416应用内容的操作性重新隔行扫描。框418应用一转换函数以再次将RGB图像信息转换成非线性形式(R’G’B’)。框420将R’G’B’图像信息的色彩空间转换回将其亮度成份(Y’)与其色度成份(Pb’Pr’)分开的格式。最后,框422有选择地子采样Y’Pb’Pr’图像信息以减少色度样本(Pb’Pr’)相对亮度样本(Y’)的量。即,该框422可将Y’Pb’Pr’4:4:4图像信息(每个亮度样本有一个色度样本)转换成Y’Pb’Pr’4:2:0图像信息(相对亮度样本有较少的色度样本)。

CI数据结构202通过提供有关每个处理框处理图像信息204的方式的指令而在图4环境中开始活动。例如,可提供指定管线从亮度相关色彩空间转换到RGB相关色彩空间的方式等的色彩信息。

C.色彩信息数据结构的示例性合成

图5示出在图2中引入的CI数据结构202的一示例性实现。该CI数据结构202包括定义可能可应用于图像信息204的编码标准的不同方面的众多字段。图5中示出的字段是代表性的,而不限制可被包装到CI数据结构202的信息类型。其它实现可略去在图5中示出的某些字段,或可添加未在图5中示出的其它字段。

本节提供在图5中示出的各字段的一般纵览,随后是CI数据结构202的一示例性实现的详细描述。

开始,第一字段502定义转换函数信息。该信息被用来定义如何将(非线性)R’G’B’图像信息204转换成(线性)RGB信息(和/或反之)。

第二字段504定义用来编码图像信息204的色彩元。例如,该字段504可指定与RGB图像信息204相关联的RGB响应函数。

第三字段506定义什么视频光线假设应用于图像信息204。例如,该字段506可指定图像信息204是否被编码用来在与微暗灯光家庭环境(通常是信息要在家中电视上呈现的情形)相反的明亮办公室环境中呈现(通常是信息要在计算机监视器上呈现的情形)。

第四字段508定义可应用于图像信息204的转换矩阵。例如,这些矩阵可定义如何在Y’Cb’Cr’色彩空间和R’G’B’色彩空间之间转换等等。

第五矩阵510定义与图像信息204相关联的名义范围信息。更具体地,该字段定义图像信息204是否提供参考黑色色阶下的指定底脚空间和/或参考白色色阶上的指定顶部空间。

最后,第六字段512定义色度的子采样信息,该信息定义如何采样色度信息并相对亮度信息放置。

不同的编码方案可被用来表达如图5所示的6个字段。根据一示例性和非限制方法,一比特集合被分配用来表达CI数据结构202。该比特集合可被安排在具有预定字段(或用来接收色彩信息的槽)的指定数据结构中。在一示例性情形中,可分配16比特来表达CI数据结构202。在另一示例性情形中,可分配24比特来表达CI数据结构202。其它实现还可提供其它的CI数据结构尺寸,包括少于16比特的尺寸、多于24比特的尺寸等等。

在使用24比特的示例性和非限制情形中,可如下组织字段(502-512)。第一‘枚举’(值的整数枚举)VideoTransferFunction可被用来表达第一字段502;它可被分配以5比特,从而占据24比特CI数据结构202的比特23-19。第二枚举VideoPrimaries可被用来表达第二字段504;它可被分配以5比特,从而占据CI数据结构202的比特18-14。第三枚举VideoLighting可被用来表达第三字段506;它可被分配以4比特,从而占据CI数据结构202的比特13-10。第四枚举TransferMatrix可被用来表达第四字段508;它可被分配以3比特,从而占据CI数据结构202的比特9-7。第五枚举NominalRange可被用来表达第五字段512;它可被分配以3比特,从而占据CI数据结构202的比特6-4。最后,第六枚举VideoChromaSubsampling可被用来表达第六字段512;它可被分配以4比特,从而占据CI数据结构202的比特3-0。

本节的剩余部分提供有关上述6个枚举的一示例性实现的其它细节。所提供的细节是说明性而非限制性的;可使用具有不同语法的其它数据结构。

·DXVA_VideoTransferFunction

DXVA_VideoTransferFunction枚举指出从(非线性)R’G’B’到(线性)RGB的转换函数。它大约对应于图像数据的γ函数。某些转换函数具有校正以考虑8比特整数量化效应。在一示例性实现中,5比特可被用来表达该枚举(例如24比特CI数据结构202的比特23-19)。

DXVA_VideoTransferFunction枚举的示例性语法罗列如下:

typedef enum_DXVA_VideoTransferFunction

{

   DXVA_VideoTransFuncMask=

   BIT{23}|{22}|{21}|{20}|{19},

DXVA_VideoTransFunc_Unknown=0,

DXVA_VideoTransFunc_10=1,

DXVA_VideoTransFunc_18=2,

DXVA_VideoTransFunc_20=3,

DXVA_VideoTransFunc_22=4,

DXVA_VideoTransFunc_22_709=5,

DXVA_VideoTransFunc_22_240M=6,

DXVA_VideoTransFunc_24_8bit_sRGB=7,

DXVA_VideoTransFunc_28=8,

}DXVA_VideoTransferFunction;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值。

由后缀“10”表示的成员标识具有γ=1.0的线性RGB。

由后缀“18”、“20”、“22”和“28”表示的成员表示实际1.8、2.0、2.2和2.8γ,例如对L’=pow(L,1/γ),L=0...1。标准BT470-2SysM使用γ2.2。

由后缀“22_709”表示的成员相关于带有适于由标准BT1361、BT709、SMPTE296M、SMPTE170M、BT470、SMPTE274M等定义的格式的低范围中线性范围的γ2.2曲线。

由后缀“22_240M”表示的成员相关于带有适于SMPTE240M、中间274M等的低范围中线性范围的γ2.2曲线。

由后缀“22_8bit_sRGB”表示的成员相关于带有使其能匹配准确的2.2γ8比特曲线的低范围中线性范围的γ2.4曲线。

图6提供适于DXVA_VideoTransferfunction枚举的其它示例性细节。

·DXVA_VideoPrimaries

DXVA_VideoPrimaries枚举列出标识哪个RGB基本函数用于图像信息204的色彩元。在一示例性实现中,可使用5比特来表达该枚举(例如24比特CI数据结构202的比特18-14)。

DXVA_VideoPrimaries枚举的示例性语法罗列如下:

typedef enum_DXVA_VideoPrimaries

{

DXVA_VideoTransFuncMask=BIT{18}|

BIT{17}|BIT{16}|BIT{15}|BIT{14},

DXVA_VideoPrimaries_Unknown=0,

DXVA_VideoPrimaries_BT601=1,

DXVA_VideoPrimaries_BT709=2,

DXVA_VideoPrimaries_BT470_2_SysM=3,

DXVA_VideoPrimaries_BT470_2_SysBG=4,

DXVA_VideoPrimaries_SMPTE170M=5,

DXVA_VideoPrimaries_SMPTE240M=6,

DXVA_VideoPrimaries_EBU3213=7,

DXVA_VideoPrimaries_SMPTE_C=8,

}DXVA_VideoPrimaries;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值(例如缺省值可被设置成在标准BT709中指定的元)。

具有后缀“BT709”的成员定义与BT709标准相关联的色彩元(也可应用于标准sRGB、scRGB等)。

具有后缀“BT470_2_SysM”的成员定义原始NTSC元。

具有“BT601”、“BT470_2_SysBG”、“SMPTE240M”和“EBU3213”后缀的成员定义与这些标准相关联的各个相应元。

具有后缀“SMPTE170M”的成员定义模拟NTSC元(目前不经常使用)。

具有后缀“SMPTE_C”的成员定义模拟79NTSC元。

图7提供适于DXVA_VideoPrimaries枚举的其它示例性细节。

·DXVA_VideoLighting

DXVA_VideoLighting枚举描述预期的观看灯光条件。该信息也可被用来改变γ以产生在不同灯光条件下的可比体验。在一示例性实现中,可使用4比特来表达该枚举(例如24比特CI数据结构202的比特13-10)。

DXVA_VideoLighting枚举的示例性语法罗列如下:

Typedef enum_DXVA_VideoLighting

{

DXVA_VideoTransFuncMask=

BIT{13}|BIT{12}|BIT{11}|BIT{10},

DXVA_VideoLighting_Unknow=0,

DXVA_VideoLighting_bright=1,

DXVA_VideoLighting_office=2,

DXVA_VideoLighting_dim=3,

DXVA_VideoLighting_dark=4,

}DXVA_VideoLighting;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值(例如缺省值可被设置成假设想要微暗的观看条件)。

带有后缀“bright”的成员可对应于外部灯光条件。

带有后缀“office”的成员可对应于与家庭办公条件相关联的中等亮度。

带有后缀“dim”的成员可对应于与微暗灯光观看条件相关联的微暗亮度。

带有后缀“dark”的成员可对应于与电影院观看条件相关联的黑暗亮度。

·DXVA_VideoTransferMatrix

DXVA_VideoTransferMatrix枚举描述用来将图像信息204从Y’Cb’Cr’色彩空间转换到(演播室)R’G’B’色彩空间的转换矩阵。在一示例性实现中,可使用3比特来表达该枚举(例如24比特CI数据结构202的比特9-7)。

DXVA_VideoTransferMatrix枚举的示例性语法罗列如下:

typedef enum_DXVA_VideoTransferMatrix

{

DXVA_VideoTransferMatrixMask=

BIT{9}|BIT{8}|BIT{7},

DXVA_VideoTransferMatrix_Unknow=0,

DXVA_VideoTransferMatrix_BT709=1,

DXVA_VideoTransferMatrix_BT601=2,

DXVA_VideoTransferMatrix_SMPTE240M=3,

}DXVA_VideoTransferMatrix;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值(例如缺省值可被设置成在用于标准清晰度图像信息204的标准BT601和用于高清晰度图像信息204的标准BT709中使用的转换矩阵规范)。

带有后缀“BT709”的成员定义在BT709标准中指定的转换矩阵。

带有后缀“BT601”的成员定义在BT601标准中指定的转换矩阵。

带有后缀“SMPTE240M”的成员定义在SMPTE240M标准(是当今未普遍使用的高清晰度标准)中指定的转换矩阵。

图8和9提供适于DXVA_VideoTransferMatrix枚举的其它示例性细节。

·DXVA_NominalRange

DXVA_NominalRange枚举描述数据是否包括顶部空间(在白色参考色阶1.0之外的值)和底脚空间(在黑色参考色阶0.0下“超黑色”)。例如,为确保图像信息204的适当解释,区分大范围的R’G’B’(16,16,16上的黑点,235,235,235上的白点)和正常的sRGB是有用的。在一示例性实现中,可使用3比特来表达该枚举(例如24比特CI数据结构202的比特6-4)。

DXVA_NominalRange枚举的示例性语法罗列如下:

typedef enum_DXVA_NominalRange

{

DXVA_VideoChromaSubsamplingMask=

BIT{6}|BIT{5}|BIT{4},}

DXVA_NominalRange_Unknow=0,

DXVA_NominalRange_Normal=1,

DXVA_NominalRange_Wide=2,

}DXVA_NominalRange;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值。

带有后缀“Normal”的成员定义映射到0-255(8比特)或0-1023(10比特)图像信息204的归一化色度[0...1]。

带有后缀“Wide”的成员定义映射到16-235(8比特)或64-940(10比特)的归一化色度[0...1]。

·DXVA_VideoChromaSubSampling

DXVA_VideoChromaSubSampling枚举描述应用于Y’Cb’Cr’数据的色度编码方案。“cosite”变体指出色度样本与亮度样本对齐。4:2:0数据通常具有在一个或多个方向上与亮度数据对齐的色度数据。4:4:4、4:2:2和4:1:1数据在两个方向都对齐。在一示例性实现中,可使用3比特来表达该枚举(例如24比特CI数据结构202的比特3-0)。

DXVA_VideoChromaSubSampling枚举的示例性语法罗列如下:

typedef enum_DXVA_VideoChromaSubsampling

{

DXVA_VideoChromaSubsamplingMask=

BIT{3}|BIT{2}|BIT{1}|BIT{0},

DXVA_VideoChromaSubsampling_Unknow=0,

DXVA_VideoChromaSubsampling_ProgressiveChroma=0x8,

DXVA_VideoChromaSubsampling_Horizontally_Cosited=0x4,

DXVA_VideoChromaSubsampling_Vertically_Cosited=0x2,

DXVA_VideoChromaSubsampling_AlignedChromaPlanes=0x1,

can only be 0 if vertically cosited

}DXVA_VideoChromaSubsampling;

该枚举的第一个成员指出该字段是未知的。如果为进行计算需要,可将该字段设置为预定值。

带有后缀“ProgressiveChroma”的成员定义被暂时翻译为渐进式内容的色度样本(例如从同一帧,而不是从两个暂时偏移字段)。

带有后缀“Horizontally_Cosited”的成员定义与多个亮度样本水平对齐的色度样本。

带有后缀“Vertically_Cosited”的成员定义与多个亮度样本竖直对齐的色度样本。

带有后缀“AlignedChromaPlanes”的成员定义具有相同相位对齐的Pb和Pr(或Cb和Cr)水平。如果数据是竖直对齐的该标记为0。

图10-12提供适于DXVA_VideoChromaSubSampling枚举的其它示例性细节。即,这些示图提供了在典型Y’Cb’Cr’图像信息204中色度样本相对亮度样本位置的归纳。

D.色彩信息数据结构的一示例性应用

有在前面章节中描述的编码策略的许多应用。图13-16示出使用称为DeinterlaceBltEx的一应用编程接口(API)的一示例性应用。

作为示例,DeinterlaceBltEx功能提供使多个操作被一起执行为单个操作的逻辑,诸如与解除隔行扫描操作一起执行的合成操作。合成操作指主图像流信息与图像子流信息的组合。图像流信息指图像帧的主(或主要)序列。图像子流信息指可与主图像流信息的图像帧一起呈现的辅助图像信息。在一示例中,图像子流信息可对应于近标题数据。近标题数据与主图像流信息组合以形成合成图像信息用于显示。解除隔行扫描操作指一种用于组合在隔行扫描操作中创建的顺序图像字段以提供图像帧的渐进式(非隔行扫描)呈现的技术。DeinterlaceBltEx功能还允许同时执行其它类型的操作。(或者,可使用被配置成执行上面标识的串行操作的称为DeinterlaceBlt的功能。)

在一示例性实现中,DeinterlaceBltEx功能提供具有一未使用部分(或部分未使用部分)的数据结构,该部分可被用来传送CI数据结构202。即,在一示例性和非限制的实现中,该部分可定义一32比特字。该字的24比特部分可被用来传送图5所示信息的6个字段。现有结构的另一部分(例如剩下的8比特)可被用来传送图像信息204的其它部分,诸如该图像信息204是以隔行扫描格式还是以渐进式格式编码的,等等。

更具体地,色彩信息可在DeinterlaceBltEx操作环境中起很多作用。对于色彩空间处理的问题,在CI数据结构202中指定的色彩信息可指定:(a)要对提供给DeinterlaceBltEx功能的输入图像信息执行什么色彩空间转换(如果有);(b)要使用什么色彩空间以对图像信息执行各种处理任务;以及(c)要使用什么色彩空间来提供输出图像信息等等。可选择用于这些任务的可能色彩空间可包括任何类型的RGB相关色彩空间、任何类型的亮度相关色彩空间(例如YUV)等。此外,可能的色彩空间可以是线性形式或非线性形式的(例如γ补偿的)。

例如,在一情形中,一个或多个图像信息流可从亮度相关色彩空间被转换到线性RGB相关色彩空间。然后可在线性RGB相关色彩空间中对图像信息执行某些操作,以提供也在线性RGB相关色彩空间内的输出。因而,该序列操作可实现如图4所示的技术(如前所述)。在另一情形中,一个或多个图像信息流可在亮度相关色彩空间中接收和处理,以提供也在亮度相关色彩空间内的输出。在另一情形中,一个或多个图像信息流可从一类RGB相关色彩空间被转换到另一类RGB相关色彩空间,或从一了亮度相关色彩空间被转换到另一类亮度相关色彩空间。这些仅仅是DeinterlaceBltEx功能可用的各种各样处理选项的说明性示例。在这些情形的任一个中,CI数据结构202中的色彩信息可提供管理由DeinterlaceBltEx功能应用的色彩空间选择的指令。

此外,DeinterlaceBltEx功能的独特能力使色彩空间转换能与在对图像信息执行的其它操作的相同操作中执行(诸如解除隔行扫描和合成)。例如,图像信息可在该图像信息被解除隔行扫描并与视频子流合成的相同操作中,从亮度相关的色彩空间被转换到RGB相关的色彩空间。或者,对图像信息执行的某些操作也可串行地执行。例如,在以下全面描述的示例中,解除隔行扫描和合成可在YUV色彩空间内以单个操作执行,随后是输出结果被转换到RGB相关色彩空间。

作为最后的介绍性评论,DeinterlaceBltEx功能可作为在不同色彩空间中表达的分别的图像信息流(诸如一个或多个主视频流和/或一个或多个视频子流)。图像信息流可具有它们自己的与其相关联的CI数据结构202。CI数据结构202可包括定义各个流可如何被转换到同一色彩空间以便对各个流执行操作(诸如解除隔行扫描、合成等)的信息。

有了以上绪论,图13示出可被用来实现图2所示视频管线200的各方面的示例系统1300的概况。系统1300可依赖于华盛顿州Redmond微软公司生产的DirectX系列技术。DirectX系列包括,DirectX视频加速(DirectX-VA)、Direct3D、DirectDraw等。然而,上述原理可使用在其它类技术平台上运行的其它类呈现技术来执行。系统1300可代表个人计算机、游戏控制台(诸如微软公司XboxTM游戏控制台)、或任何其它类型的装置。

开始时,系统1300接受来自众多源的任一个的图像信息。例如,装置1300可接受来自网络1302(诸如与因特网耦合的远程源)、任何类型的数据库1304、任何类型的计算机可读盘介质1306(诸如光盘、DVD等)或某些其它源1308(诸如与图204中所示源212相关联的任一个源)的图像信息。在任意情形中,所接受的信息可包含图像信息和音频信息的组合。一分离(demux)单元1310将音频信息从图像信息中分离出来。音频处理功能1312处理音频信息。

图像解码器1314处理图像信息。图像解码器1314可将经压缩图像信息从其接受格式转换成某些其它格式,并对该信息执行初始的尺寸调整或其它操作。图像解码器1314的输出可包括所谓的纯图像信息以及图像子流信息。纯图像信息构成要在显示装置上呈现的主图像流。图像子流信息可构成与纯图像信息相关联的任何补充信息,诸如近标题信息、任何类型的图形覆盖信息(诸如各种图形编辑控件)、由DVD播放器呈现的各类子图像等。

在一示例性实现中,视频混合呈现器(VMR)模块1316在对所接收图像信息的处理中起主要作用。作为纵览,VMR模块1316与图形接口1318以及控制图形模块1322的显示驱动器1320交互。如以下将要详细描述的,该交互涉及查明图形模块1322的能力。该交互还涉及协调图形接口1318、显示驱动器1320、以及图形模块1322对图像信息的处理。在一实现中,图形接口1318可使用微软公司的DirectX提供的DirectDraw功能实现。DirectDraw在此环境中可用作使VMR模块1316与图形模块1322在通信上相耦合的消息传送通道。图形模块1322本身可构成计算机或类似装置内的固定模块,或者它可构成诸如图形卡的可分离单元。由VMR模块1316、图形接口1318、显示器驱动器1320和图形模块1322示出的竖直功能链可被分成用户模式和内核模式。用户模式指可由用户通过各种界面操纵的编程功能的各方面。内核模式表示不能直接由用户操纵的编程功能的各方面。

图形模块1322本身包括一个或多个图形处理单元(GPU)1324。GPU 1324通常是类似于CPU的处理装置。通常会分配给GPU 1324常由实现装置1300重复执行的信息集中呈现任务。将这些重复的或信息集中的任务分配给GPU 1324使CPU(未示出)能有空执行其它任务,从而改进了装置1300的性能。该实现分配给GPU 1324的两个示例性任务是解除隔行扫描和速率转换。这些功能由解除隔行扫描逻辑1326和速率转换器逻辑1328表示。解除隔行扫描逻辑1326将两个或多个图像信息字段组合在一起以形成一帧图像信息。速率转换器逻辑1328更改一系列图像帧的帧频。GPU 1324可执行许多其它处理任务。

GPU 1324可与关联于图形模块1322的本地存储器1330交互。该本地存储器1330可用作任意数量的存储相关目的。例如,该存储器1330可存储随后转发给显示装置1332的最终图像表面。

图13示出CI数据结构202可沿图13示出的一系列功能组件以类似于图2环境中所述的方式传递。即,CI数据结构202在其通过系统1300定义的管线中传递时具有统一结构。系统1300中的各个功能组件可利用CI数据结构202的色彩信息,或者可能可补充CI数据结构202中的色彩信息以便于下游功能组件。例如,对于色彩空间处理问题,色彩信息可定义:(a)要执行什么(若有的话)色彩空间转换(例如从YUV到RGB),以及要如何执行这些转换;(b)要使用什么色彩空间来对图像信息执行各种处理任务;以及(c)要使用什么色彩空间来提供输出图像信息等。图13示出多个CI数据结构202可在系统1300执行的处理中起作用;例如,由系统1300处理的每个图像信息流可具有与其相关联的它自己的数据结构202。这些CI数据结构202可协调不同图像信息流到一公共色彩空间的转换。

有关CI数据结构202可被结合到DeinterlaceBltEx框架的示例性方式的其它细节将陈述如下。

开始时,图14示出如图13所示装置1300的操作的纵览1400。在步骤1402,VMR模块1316查询显示器驱动器1320和图形模块1322有关它所支持的处理模式。在它接收回答后,在步骤1404,VMR模块1316发送另一查询以发现更多有关显示器驱动器1320和相关联的图形模块1322的能力的信息。步骤1402和1404在“初始信息处理”的一般标题下更详细地讨论。

在调查了附加硬件及相关联接口的能力之后,VMR模块1316打开一图像流对象(在1408)使图像信息和控制信息能被转发给硬件。然后,在步骤1408,VMR模块1316协调硬件(例如图形模块1322)对一个或多个图像处理功能的执行。一个这种功能是解除隔行扫描。另一这种功能是子流合成。解除隔行扫描如上所述与合成组合,或者任一功能可依赖于接收信息独立执行。例如,如果已接收渐进式图像信息,则无需执行解除隔行扫描;在此情形中,VMR模块1316可简单地调整对象的尺寸、将图像子流信息添加给它、或执行某些其它功能或功能的组合。可实现除解除隔行扫描和合成之外的许多其它功能。

最后,在步骤1410,VMR模块关闭它在步骤1406打开的图像流。该步骤1410可响应于由用户给出的命令,或仅响应于图像信息流的结束等。

以下讨论给出了有关上述选定步骤的更多详细信息。

·初始化步骤

在上述步骤1402,VMR模块1316向显示驱动器1320询问它对于输入图像格式支持什么处理功能。当显示驱动器1320响应时,VMR模块1316发送对更多有关显示驱动器1320对特定模式的要求的特定信息的请求。显示驱动器1320通过指定信息结构内的各种信息作出响应。这种信息标识众多所需的正向参考样本、众多所需的反向参考样本、输出帧的格式等。表示对组合的解除隔行扫描和合成的支持是否由图形模块1322及相关联接口支持的标记也包括在该信息结构中。该标记在一示例性实现中被称为DXVA_ImageProcess_Sub-Streams标记。

此外,为了正确地支持组合的解除隔行扫描和合成,图形模块1322及相关联接口和驱动器应能独立伸展(水平地和/或垂直地)被解除隔行扫描的图像帧以及所提供的图像子流。这在一实现中是必需的,因为主图像和视频子流的象素纵横比可能不同并且实际上是非正方形的。显示驱动器1320可通过返回除DXVA_ImageProcess_Sub-Streams标记之外传达其伸展图像能力的DXVA_VideoProcess_StretchX和DXVA_VideoProcess_StretchY标记,来传递其处理该功能的能力。

此外,DeinterlaceBltEx DDI支持每个源和目标表面的增强色彩信息(其中“源表面”定义输入图像信息,而“目的表面”和“目标表面”定义通过DeinterlaceBltEx操作产生的输出图像信息)。显示驱动器1320可通过各种色彩相关标记(如以下标记)来表示它具有的对该新色彩信息的支持度:

DXVA_VideoProcess_Sub-StreamsExtended,

DXVA_VideoProcess_YUV2RGBExtended,以及

DXVA_VideoProcess_AlphaBlendExtended。

对DXVA_VideoProcess_Sub-StreamsExtended标记的支持表示,当视频信息被解除隔行扫描、与子流信息合成、写入目标表面时系统1300可执行对源色彩视频信息和子流信息的色彩调整。

对DXVA_VideoProcess_YUV2RGBExtended标记的支持表示,当使用为源和目标表面指定的色彩信息将图像信息的解除隔行扫描和合成象素写入目标表面时,系统1300能执行一色彩空间转换操作(例如YUV-到-RGB)。

对DXVA_VideoProcess_AlphaBlendExtended标记的支持表示,当图像信息的解除隔行扫描和合成象素被写入目标表面时,系统1300能执行对目标表面的α混和操作。

·解除隔行扫描步骤

VMR模块1316使用上述DeinterlaceBltEx功能来协调图像模块1322对解除隔行扫描和合成的执行。更具体地,该DeinterlaceBltEx功能可被实现为对显示驱动器1320的单个调用,即使在技术上它涉及一个以上基本操作(色彩空间转换、解除隔行扫描、合成等)。DeinterlaceBltEx功能将某操作的输出写入指定目标表面。

更具体地,VMR模块1316将以下数据结构转发给显示驱动器1320以实现DeinterlaceBltEx功能:

HRESULT

DeinterlaceBltEx{

[in]HDXVA_DeinterlaceStream hDistrm,

[in]REFERENCE_TIME rtTargetFrame,

[in]RECT*prcTargetRect,

[in]DXVA_AYUVsample2BackgroundColor,

[in]DWORD DestinationFormat,

[in]DWORD DestinationFlags,

[in]LPDDSURFACE lpDDSDstSurface,

[in]LPDXVA_VideoSample2lpDDSrcSurface,

[in]DWORD dwNumSurfaces,

[in]FLOAT Alpha/*0.0F transparent,1.0F opaque

*/

};

在该结构中,rtTargetFrame参数标识输出帧在一系列输出帧内的时间位置。如果仅执行了解除隔行扫描,目标时间应与参考样本的rtStart时间或中点时间、(rtStart+rtEnd)/2之一相一致。如果请求了一帧频转换,rtTargetFrame时间可与参考样本的rtStart或中点时间的任一时间不同。

PrcTargetRect参数标识DeinterlaceBltEx操作应写入的目标表面内的位置。在一实现中,输出应被限制为该长方形内的象素;即,PrcTargetRect内的每个象素应被写入,而PrcTargetRect外的象素不应以任何方式进行更改。

BackgroundColor参数标识在其上合成所有视频流和子流的背景色。

DestinationFormat参数包含与目标表面相关的经扩展色彩信息。

DestinationFlags参数包含表示从先前调用到DeinterlaceBltEx在目标相关参数中的变化的标记集合。这些标记反映背景色、经扩展色彩信息、目标长方形或平面α参数的变化,并有助于最优化驱动器代码。

目标表面可以是位于视频存储器(例如本地存储器1330)的屏幕外平面。目标平面的象素格式可在初始化步骤中返回到VMR模块1316的数据结构的d3dOutputFormat字段中指示。在一示例性实现中,在结构中指定的目标表面可以是一Y相关色彩空间(例如YUV)。

lpDDSrcSurfaces参数指向DXVA_VideoSample2结构的数组。该结构中的SampleFormat字段表明该样本是否是解除隔行扫描操作的参考,或者需要与解除隔行扫描的视频帧组合的视频子流样本。视频子流样本应具有其样本格式的DXVA_SampleSub-stream值。

更具体地,示例性VideoSample2结构标识如下:

typedef sturct_DXVA_VideoSample2{

REFERENCE_TIME      rtStart;

REFERENCE_TIME      rtEnd;

DWORD               SampleFormat;

DWORD               SampleFlags;

VOID*               lpDDSSrcSurface;

RECT                rcSrc;

RECT                rcDst;

DXVA_AYUVsample2    Pal[16];

}DXVA_VideoSample2,*LPDXVA_VideoSample2.

除了表示样本是隔行扫描还是渐进式的以外,在上面标识的数据结构中的SampleFormat字段定义CI数据结构202可在何处表达。将CI数据结构202添加到SampleFormat字段不增大VideoSample2数据结构的大小,或者需要以其它方式重新设计DeinterlaceBltEx功能。这样,将CI数据结构202“硬塞进”该数据结构表示通过视频管线(包括到特性模块1322)传送色彩信息的特别有效方式。

对于参考视频样本,rtStart和rtEnd字段指示样本的时间位置。对于视频子流样本,这些字段被清零。

源和目标长方形被用于子长方形解除隔行扫描或伸展。注意,视频子流样本的伸展独立于视频流,且对伸展的支持在一实现中是强制性的。对于调色板视频子流象素格式,DXVA_VideoSample2结构的PAL字段包含在合成子流样本时可使用的16个调色板条目。对于非调色板象素格式,调色板将被清零并可被忽略。

每个输入样本包含表示当前样本与先前样本之间的变化的标记集合。这些标记反映调色板、色彩信息、源、和每个样本的目标长方形的变化,并有助于最优化驱动器代码。

继续DeinterlaceBltEx结构的描述,dwNumSurfaces参数表示在lpDDSrcSurface数组中的元素数量。视频参考样本将首先在该数组中,随后是Z顺序的视频子流。在一示例性实现中,被传递给驱动器的视频子流的数量可在0-15的范围内。当调用DeinterlaceBltEx时,常常传递给驱动器0或1个视频子流。

最后,α参数在其被写入目标表面时指示可应用于合成背景色、视频流和子流图像的一平面透明度值。

应注意,DeinterlaceBltEx功能可由VMR模块1316在接收渐进式视频和多个图像子流时调用。这可在例如当VMR模块1316用于包含渐进式和隔行扫描视频混合的DVD回放时发生。在此情形中,显示器驱动器1320将不尝试解除隔行扫描视频流(因为它已是渐进式格式);相反,VMR模块1316可被配置成将视频流与任何给定子流组合,按需调整每个流的尺寸(如果需要多个参考样本的解除隔行扫描模式用于渐进式视频,多个参考样本将仍然被发送给显示驱动器1320;然而,每个参考样本将指向同一渐进式视频帧)。

为了完成对DeinterlaceBltEx功能的描述,图15和16描述该功能可如何将合成操作和解除隔行扫描操作组合在一个操作中。

图15是可由图13的系统1300根据一示例性和非限制情形提供的某些操作的纵览。该图示出向图像解码器1504提供经压缩的图像信息1502以产生解压缩图像信息的当前帧以及CI信息。此外,解压缩图像信息1506的当前帧和CI信息,以及一个或多个解压缩图像的先前样本(例如先前的解压缩图像信息1510和1512),被发送给解除隔行扫描逻辑1508。图15中所示逻辑1508还起将图像子流信息(例如从图像子流信息1514、1516等)添加到正在解除隔行扫描过程中的图像信息的作用。换言之,逻辑1508有效地组合解除隔行扫描操作和子流合成操作。此外,如下更详细所述,逻辑1508执行这两个操作从而它们可在单个存储器读/写操作中而非多个回合中执行。即,图15的系统1500仅需一个阶段(例如单个存储器读/写事务)(即在一示例性情形中,仅需从存储器的单次读取)。

上述带宽效率可通过将图像信息(例如图像信息1506、1510、1512等)和图像子流信息(例如1514、1516等)分配给GPU模块1322采用的不同相应纹理处理(texturing)单元来获取。在其最通用应用中,纹理处理单元被分配给在三维呈现应用过程中进行处理的图像表面。例如,“纹理”一般指“贴”到形成要呈现三维景象一部分的几何元(例如三角形)的表面的图像。这些不同的纹理表面分配给不同的所谓纹理处理单元。如图15所示的系统将图像信息(例如1506、1510、1512等)和图像子流信息(1514、1516等)分配给相应的纹理处理单元,并因而获取解除隔行扫描和合成操作的类似有效性能。更具体地,GPU逻辑实际上同时读取和处理来自纹理处理单元集合的每一个的信息,而不是以交错连续的方式。这降低了实现装置中的总线拥塞,并使实现装置能以最优化帧频更好地呈现图像信息及相关联图像子流信息。

在其它实现中,逻辑1508可执行诸如色彩空间转换的其它操作。例如,逻辑1508可将一个或多个图像信息流从亮度相关色彩空间(例如YUV)转换到RGB相关色彩空间(例如线性或非线性RGB)。或者,逻辑1508可从一类亮度相关色彩空间转换到另一类亮度相关色彩空间,或从一类RGB相关色彩空间转换到另一类RGB相关色彩空间等。在一示例性情形中,逻辑1508可被用来实现图4(如上)所示特征的各方面,其中图像信息被从亮度相关色彩空间转换到线性RGB,随后在线性RGB色彩空间内对图像信息执行处理(诸如解除隔行扫描,随后为或结合线性RGB色彩空间中的任何其它处理)。换言之,逻辑1508的输出表面可在RGB相关色彩空间(诸如线性RGB)被表达。

在另一情形中,逻辑1508的输出可处理亮度相关色彩空间(例如YUV)内的图像信息,以仍然在亮度相关色彩空间中(而不是RGB色彩空间)生成合成的解除隔行扫描的图像信息1518。然后逻辑1508或某些其它模块(未示出)可将亮度相关色彩信息转换成RGB相关信息,它可被提交给显示器以生成呈现的图像信息1520。延迟亮度相关色彩空间到RGB相关色彩空间的转换可能节约带宽。例如,在一实现中,亮度相关色彩信息可使用12比特给出。相反,在一实现中,RGB信息需要32比特来给出。因此,使用亮度相关信息而非RGB信息来执行诸如合成的任务削减了与该处理相关联的总线通信量。

逻辑1508还可执行其它类型的处理功能,诸如调整图像尺寸。但逻辑1508无需执行上述的每一个处理操作。例如,如果图像信息已是渐进式格式,逻辑1508可专用于简单地调整图像信息的尺寸,或对图像信息执行某些其它所需操作(诸如色彩空间转换等)。

此外,在其它实现中,一个或多个操作可例如作为分别的操作顺序执行而不是单个操作。图15中另选逻辑1508表示这样的实现。例如,DeinterlaceBlt功能适于用此方式处理图像信息。

无论如何,包含在CI数据结构202中的色彩信息提供以对特定应用所需方式转换的图像信息的所需指令。更具体地,当逻辑1508处理多个图像信息流时,它可咨询与每个图像信息流相关联的CI数据结构202。可使用这种每个流的CI信息202来把不同的图像信息流(可在不同的相应色彩空间中表达)转换到同一色彩空间,诸如线性RGB色彩空间。该特征是有利的,因为它消除或降低了存储在一个或多个中间色彩空间中表达的临时图像信息的需要。在上述技术中,逻辑1508可接收输入图像信息、转换之、并将其写入存储器;例如,这避免在信息由输出装置(例如个人计算机提供的桌面)显示之前提供其它合成YUV图像信息的需要。

对提供色彩空间相关指令的CI信息202的使用的强调仅是说明性的。CI信息202提供了可用来管理如图15所示操作的丰富的其它信息。例如,CI信息202还可在解除隔行扫描操作中使用以正确地内插相应的渐进式图像。

图16示出可被用来获取由逻辑1508使能的联合处理功能的一示例性技术。即,图16解释一种用于在单个操作中解除隔行扫描并合成的技术。

图16示出纹理处理单元及相关联存储器的示例性组织1600。这些元件可被用来同时处理图像子流信息内的主要图像信息。存储器和纹理处理单元可使用与图13所示图像模块1322相关联的本地存储器1330和/或共享存储器1334实现。

如上所述,交错和合成的联合操作可在图像信息仍在Y相关色彩空间中时(诸如YUV形式)发生。因此,在该示例性和非限制性情形中,VMR模块1316分配用于存储该Y相关信息的部分存储器。第一个框1602可被分配用来存储Y信息,第二个框1604可被分配用来存储第一色度成分(例如U信息),而第三个框1606可被分配用来存储第二色度成分(例如V信息)。向Y信息分配比两个色度成分多的比特。例如,对于包含720×480象素的图像,可分配720×480字节的存储块来存储Y信息,可分配360×240字节的存储块来存储第一色度成分,并可分配360×240字节的存储块来存储第二色度成分。最后可分配块1608的存储器来存储子流信息(诸如近标题信息、DVD子图像显示信息、各类图标等)。

在图16所示的示例性组织1600中,仅示出4个纹理处理单元(1610、1612、1614和1616)。然而,其它实现将包括4个以上单元。纹理处理单元1610被分配成处理与存储器块1602相关联的图像输入表面(例如Y信息),纹理处理单元1612被分配成处理与存储器块1604相关联的图像输入表面(例如第一色度成分,比如U),而纹理处理单元1614被分配成处理与存储器块1606相关联的图像输入表面(例如第二色度成分,比如V)。纹理处理单元1616被分配成处理与存储器块1608相关联的图像输入表面(即子流信息)。各存储器块(Y、色度1、色度2和子流信息)是独立的,且在存储器中无需连续。可提供其它存储器块和纹理处理单元来处理其它图像参考样本和/或其它图像子流。例如,包括两个先前参考流的应用将需要至少9个纹理处理单元(例如三个单元用于当前样本,6个单元用于两个参考样本)。

最后,图16一般示出与图15的GPU 1324相关联的GPU处理逻辑1618。GPU处理逻辑1618与纹理处理单元交互。GPU处理逻辑1618可执行解除隔行扫描、帧频转换、和/或其它任务。

使用YUV相关信息来解释图16的操作仅仅是示例性的。类似的优点可通过在诸如线性RGB的RGB相关空间内执行处理操作来获取(例如以图4所示方式)。

E.示例性计算机环境

在一示例性实现中,在前面各图中示出的处理的各方面可通过计算装置执行。在该情形中,图17提供有关示例性计算机环境1700的信息,该环境可用来实现在前面各图中显示处理的各方面。

计算环境1700包括一通用计算机1702和一显示装置1704。然而,计算环境1700可包括其它类型的计算装置。例如,尽管未示出,计算机环境1700可包括手持式或膝上型装置、机顶盒、游戏控制台、集成到视频处理/呈现装置(例如电视、DVR等)的处理功能、大型计算机等。此外,图17示出组合在一起的计算机环境1700的各单元以便于讨论。然而,计算环境1700可采用分布式处理配置。在分布式计算环境中,计算资源可物理地散布于整个环境中。

示例性计算机1702包括一个或多个处理器或处理单元1706、系统存储器1708、以及总线1710。总线1710将各个系统组件连接在一起。例如,总线1710将处理器1706连接到系统存储器1708。总线1710可使用任何类型的总线结构或总线结构的组合来实现,包括储存器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构的任一种的处理器或本地总线。

计算机1702还可包括各种计算机可读介质,包括各种类型的可移动或不可移动的易失性和非易失性介质。例如,系统存储器1708包括诸如随机存取存储器(RAM)的易失性存储器1712和诸如只读存储器(ROM)的非易失性存储器1714形式的计算机可读介质。ROM 1714包括在计算机1702元件间传送如起动时信息的基本例程的基本输入/输出系统(BIOS)1716。RAM 1712通常包含可被处理单元1706立即访问形式的数据和/或程序模块。

其它类型的计算机存储介质包括读取或写入不可移动的非易失性磁性介质的硬盘驱动器1718、读取或写入可移动非易失性磁盘1722(例如“软盘”)的磁盘驱动器1720、和读取或写入诸如CD ROM、DVD-ROM或其它光学介质等可移动非易失性光盘1726的光盘驱动器1724。硬盘驱动器1718、磁盘驱动器1720、光盘驱动器1724分别通过一个或多个数据介质接口1728连接至系统总线1710。或者,磁盘驱动器1720、光盘驱动器1724可通过一SCSI接口(未示出)或其它耦合机制连接至系统总线1710。尽管未示出,计算机1702可包括其它类型的计算机可读机制,诸如磁卡或其它磁性存储装置、闪存卡、CD-ROM、数字多功能盘(DVD)或其它光学存储、电可擦除只读存储器(EEPROM)等。

一般而言,上述计算机可读介质为计算机1702使用提供有计算机可读指令、数据结构、程序模块和其它数据的非易失性储存。例如,可读介质可存储操作系统1730、应用模块1732、其它程序模块1734和程序数据1736。

计算机环境1700可包括各种输入装置。例如,计算机环境1700包括键盘1738和定位装置1740(例如“鼠标”)用于将命令和信息输入计算机1702。计算机环境1700可包括其它输入装置(未示出),诸如话筒、操纵杆、游戏垫、卫星天线、串行端口、扫描仪、读卡装置、数码或视频照相机等。输入/输出接口1742可将输入装置耦合到处理单元1706。更一般地,输入装置可通过诸如任一类接口和诸如并行端口、串行端口、游戏端口、或通用串行总线(USB)等的总线结构与计算机1702耦合。

计算机环境1700还包括显示装置1704。视频适配器1744使显示装置1704与总线1710耦合。除了显示装置1704,计算机环境1700还可包括其它输出外围装置,诸如扬声器(未示出)、打印机(未示出)等。

计算机1702可以在使用与一台或多台远程计算机,诸如远程计算装置1746的逻辑连接的网络化环境中运行。远程计算装置1746可包括任意类型的计算机装置,包括通用个人计算机、便携式计算机、服务器、游戏控制台、网络扩展装置等。远程计算装置1746可包括上述对于计算机1702讨论的所有特征,或其一部分。

任何类型的网络1748,诸如WAN、LAN等,可被用来使计算机1702与远程计算装置1746耦合。计算机1702通过网络接口1750与网络1748耦合,该网络接口可利用宽带连接、调制解调器连接、DSL连接、或其它连接策略。尽管未示出,计算环境1700可提供用于连接计算机1702和远程计算装置1746的无线通信功能(例如通过调制无线信号、调制红外信号等)。

在结束时,在本说明书中提出一些可选示例(例如情形A或B)。此外,本说明书包括在单个实现中组合可选方案的情形(例如情形A和B),尽管本说明书未明确地在每个实例中提到这些组合情形。

此外,一些特征通过首先标识这些特征可解决的示例性问题在此描述。该说明方式并不构成对其它已用在此指定的方式理解和/或表达问题的许可。对在视频编码领域中出现的问题的理解和表达可被理解为本发明的一部分。

更一般地,尽管本发明已用结构化特征和/或方法论动作的专用语言进行了描述,可以理解在所附权利要求中定义的本发明不必首先于所述特定特征或动作。相反,特定特征和动作可被解释为实现本发明的示例性形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号