视频缩放技术的制作方法

文档序号:7716758阅读:140来源:国知局
专利名称:视频缩放技术的制作方法
技术领域
本文中公开的主题一般涉及用于縮放图像的技术。
背景技术
图像縮放涉及放大或縮小图像的大小。常常使用多相滤波器来縮放图像。经縮放 的图像的质量倾向于随着多相滤波器抽头数目的增加而提高。理论上,具有众多抽头的滤 波器对于视频縮放而言工作良好。然而,对于图形以及人工创建或再现的图像,使用多抽头 多相滤波器对此类图像进行縮放会产生激荡伪像。 一种激荡形式是像素的色彩溢渗到毗邻 像素中。激荡伪像在相异色彩之间的单像素过渡周围最为明显。
附图简述 本发明的实施例在各附图中是作为示例而非作为限制而示出的,在附图中相同的 附图标记指代相同的元素。


图1描绘了用于在縮放期间生成内插像素的现有技术。
图2描绘了根据本发明的实施例的视频縮放器。
图3描绘了根据本发明的实施例的视频縮放系统。 图4描绘了根据本发明的实施例的可用于确定像素的最小值和最大值的伪码。
图5描绘了根据本发明的实施例的用于管理像素的值范围的方式的流程图。
图6描绘了根据本发明的实施例的系统。
详细描述 贯穿本说明书,对"一个实施例"或"一实施例"的引用意味着结合该实施例描述的 特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在贯穿本说明书的各个 地方,短语"在一个实施例中"或"在一实施例中"的出现不一定都指代同一实施例。此外, 特定特征、结构或特性可被组合在一个或多个实施例中。 图1描绘了在縮放期间用于生成内插像素的现有技术的伪码以及输入像素流和 经縮放的输出像素流的示例。输入像素流包括编号为0到9的诸像素。在此示例中,应用 两倍縮放。相应地,输出像素流包括多达输入像素流中那些像素的两倍的像素。内插像素 (示为"In")被插入到输入像素之间。 接着参看图1中的现有技术伪码,变量皿mj即uLpixels(数目输入像素)代表 输入像素的数目,该数目在此示例中为10。变量皿m—output—pixels(数目_输出_像素) 代表縮放之后的输出像素的数目。在此示例中,变量皿m—output—pixels为2*10,或即20。
变量phase—ace (相位_累加)导致输出视频流中的像素以变量isf为增量呈递。 变量isf为1/縮放因子,并且相应地,在此示例中,变量isf为0. 5。第一像素的phase— acc为O,而第一内插像素的phaSe_acC为0. 5,因为其位于编号为0和1的输入像素之间。 第二内插像素的phase—acc为1. 5,以此类推。变量center」nput」xel (中心_输入_像 素)代表在一内插像素之前的输入像素的编号。变量phase(相位)是变量phase—acc的 分数部分。可使用其他编号方案来计及像素。
图2描绘了根据本发明的实施例的视频縮放器200的简化框图。縮放器200包括水平视频縮放器202和垂直视频縮放器204。垂直视频縮放可在水平视频縮放之前或之后。输入视频流被提供给水平视频縮放器202。输入视频流可由诸如视频解码器等任意视频源或经由HDMI电缆提供。垂直视频縮放可縮放图像中的一列像素。水平视频縮放可縮放图像中的一行像素。输出视频流可被提供给至少一个显示器或视频处理块。
图3描绘了根据本发明的实施例的视频縮放系统300的简化框图。系统300可被用在垂直或水平视频縮放器中。系统300包括滤波器310、范围计算逻辑320、和像素调节器逻辑330。系统300可对一行像素(在水平视频縮放器中)或一列像素(在垂直视频縮放器中)执行视频縮放。 例如,每个像素可被表示为一值。像素可被编码为RGB值。在此情形中,系统300可限制每个像素的RGB值。像素可被编码为YCbCr,其中Y例如指示亮度值,Cb指示蓝色差,而Cr指示红色差。在此类情形中,系统300可限制每个像素的Y、 Cb和Cr值。
滤波器310可对M个像素执行多相滤波,并使用N个系数,其中M和N是整数。尽管未被描绘,但是用于多相滤波的系数可被存储在存储器中。滤波器310可基于输入像素生成内插像素。滤波器310可输出像素和内插像素作为"output—pixel (输出_像素)"。
范围计算逻辑320可确定来自滤波器310的output—pixel中每个像素的最小值(变量all騰d如—val (所允许_低_值))和最大值(变量allowedJiighjal (所允许_高_值))。在各个实施例中,范围计算逻辑320使用图4的伪码来确定每个像素的最小值和最大值。范围计算逻辑320可检查最靠近内插像素的诸像素(中心像素),以确定该内插像素的值是否在最靠近此内插像素的诸像素的值范围内。 图4描绘了可用于基于内插像素的相位确定最小值(变量all0Wed_l0W_Val)和最大值(变量allowecLhigh—val)的伪码。可使用来自图1的伪码的变量"phase"来确定与每个内插像素相关联的相位。 再次参看图4,如果内插像素的相位大于或等于0. 5,则中心像素是像素P4和P5,且左窗口为像素P3-P5而右窗口为像素P4-P6。如果内插像素的相位小于0.5,则中心像素是像素P3和P4,且左窗口为像素P2-P4而右窗口为像素P3-P5。基于中心像素、右窗口和左窗口中的像素值,使用图4的伪码来确定最小值和最大值。 变量rightjnax(右—最大)可表示右窗口中像素的最大像素值,而rightjnin (右_最小)可表示右窗口中像素的最小像素值。变量right—var(右—偏差)可指示右窗口中最大和最小像素值之间的值差异。类似地,变量leftjiiax(左—最大)可指示左窗口中像素的最大像素值,而leftjiiin(左—最小)可指示左窗口中像素的最小像素值。变量left—var (左_偏差)可指示左窗口中最大和最小像素值之间的值差异。 变量allowecLvar(所允许—偏差)可表示左窗口与右窗口中的值差异里的较小者。变量allowedJiighjal(所允许—高—值)可表示中心像素的最大值加变量allowed—var。变量allowecLlow—val(所允许—低—值)可表示中心像素的最小值减变量allowed—var。变量allowed_high_val和allowed_low_val可表示来自滤波器310的每个像素的相应最大和最小像素值。 像素调节器逻辑330可选择性地调节包括内插像素在内的每个像素的像素值。然而,在一些实施例中,像素调节器逻辑330可选择性地调节内插像素的值。如果像素的值大于最大值,则像素调节器逻辑330可将像素值设为最大值,即变量all0Wed_high_Val。如 果像素的值小于最小值,则像素调节器逻辑330可将像素值设为最小值,即变量allowed— low_Val。像素调节器330输出被描绘为output—pixel'(输出_像素')的每个像素。限 制像素的值范围可减少激荡伪像。 例如,如果像素P3-P6为灰色,但像素P0-P2和P7-P8为白色,则当多相滤波器考 虑9个像素时,其可导致白色从毗邻像素蔓延到内插像素中。范围计算逻辑320可检查最 靠近内插像素的像素以查看中心区是否是紧密构成值范围。通过将像素的值范围限于紧密 构成色彩范围,可减少激荡。 在另一实施例中,滤波器310可使用具有较短像素窗——例如,4个像素——的多 相滤波器,以潜在可能地减少图像蔓延,但所得的经縮放视频可能不如使用更多像素所产 生的那样清晰。通过限制像素值的范围以减少激荡,系统300可保留多相滤波器的清晰度 特征但采用检查来减少色彩蔓延。 图5描绘了根据本发明的实施例的用于管理内插像素的值范围的方式的流程图。 框502可包括生成内插像素。可基于X个其他像素并使用多相滤波器来生成内插像素。在 一个示例中,X为9。 框504可包括基于与内插像素毗邻的像素确定输入像素的值范围。可以参照图4 所描述的方式来确定值范围。 框506可包括在任何像素值落在值范围之外时选择性地调节像素值。如果像素的 值大于最大值,则将像素值设为值范围的最大值。如果像素的值小于最小值,则将像素值设 为值范围的最小值。 图6描绘了根据本发明的实施例的计算机系统600的框图。计算机系统600可包 括主机系统602、总线616和网络接口 620。主机系统602可包括芯片组605、处理器610、主 机存储器612、存储614和图形子系统615。芯片组605可在处理器610、主机存储器612、 存储614、图形子系统615和总线616之间提供相互通信。例如,芯片组605可包括能够提 供与存储614的相互通信的存储适配器(未示出)。例如,存储适配器能够依照以下协议中 的任一种与存储614通信小型计算机系统接口 (SCSI)、纤维信道(FC)和/或串行高级技 术附件(S-ATA)。 在一些实施例中,芯片组605可包括能够在主机存储器612内、或者在网络接口 620和主机存储器612之间、或者一般地在计算机系统600中的任何组件集合之间进行信息 传送的数据移动器逻辑。 处理器610可被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处 理器、多核或任何其它微处理器或中央处理单元。 主机存储器612可被实现为易失性存储设备,诸如但不限于随机存取存储器 (RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM)。存储614可被实现为非易失性存储 设备,诸如但不限于磁盘驱动、光盘驱动、带驱动、内部存储设备、附连存储设备、闪存、电池 备用SDRAM (同步DRAM)和/或网络可存取存储设备。 图形子系统615可执行诸如静止或视频之类的图像处理以供显示。例如,图形子 系统615可执行视频编码或解码。例如,图形子系统615可縮放视频或图像的大小以在显 示器622上显示。模拟或数字接口可被用于通信地耦合图形子系统615和显示器622。例
6如,由处理器610执行的应用可请求图形子系统615以请求图形子系统615縮放被显示的 视频或图像的大小。图形子系统615可被集成至处理器610或芯片组605。图形子系统615 可以是与芯片组605通信耦合的独立卡。 总线616可至少在主机系统602和网络接口 620以及其它外围设备(未示出)之 间提供相互通信。总线616可支持串行或并行通信。总线616可支持点对点或点对多点通 信。总线616至少可与以下兼容例如在可从美国俄勒冈州波特兰的PCI专用业务组获得 的外围组件互连(PCI)局部总线规范,修订3.0,2004年2月2日(以及其修订)中描述的 外围组件互连(PCI);在PCI专用业务组的PCI高速基础规范,修订1. Oa(以及其修订)中 描述的PCI高速;在可从上述美国俄勒冈州波特兰的PCI专用业务组获得的PCI-X规范,修 订1. 1,2005年3月28日(以及其修订)中描述的PCI-x ;和/或通用串行总线(USB)(及 相关标准)以及其它互连标准。 网络接口 620能够依照任何适用协议提供主机系统602和网络之间的相互通信。 网络接口 620可利用总线616与主机系统602相互通信。在一个实施例中,网络接口 620 可被集成至芯片组605。 本文描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/ 或视频功能可集成在芯片组内。或者,可使用分立的图形和/或视频处理器。如又一个实 施例,可由包括多核处理器的通用处理器实现图形和/或视频功能。在另一个实施例中,可 在消费电子设备中实现该功能。 本发明的各实施例可作为例如计算机程序产品来提供,该计算机程序产品可包括 其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算 机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本发明的 实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存 储器)、以及磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只 读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可 执行指令的其它类型的介质/机器可读介质。 各附图和以上描述给出了本发明的各示例。尽管被描绘为多个不同的功能项,但 本领域技术人员将理解,这些元件中的一个或多个可被很好地组合成单个功能元件。或者, 某些元件可被分成多个功能元件。来自一个实施例的元件可被添加到另一个实施例。例如, 此处所描述的各过程的次序可被改变并且不限于此处所描述的方式。而且,任何流程图的 动作都不必以所示次序来实现;也不一定需要执行所有动作。同样,不依赖于其他动作的这 些动作可以与该其他动作并行执行。然而,本发明的范围绝不由这些具体示例来限定。诸 如结构、尺寸和材料使用方面的区别等众多变型,无论是否在本说明书中显式地给出的,都 是可能的。本发明的范围至少与所附权利要求书所给出的一样宽泛。
权利要求
一种用于确定像素值的方法,所述方法包括接收至少一个像素值;基于所述至少一个像素值确定内插像素值;确定所允许像素值的范围;以及将所述至少一个像素值和所述内插像素的任何像素值限制在所述范围内。
2. 如权利要求1所述的方法,其特征在于,所述确定内插像素值包括使用多相滤波。
3. 如权利要求1所述的方法,其特征在于,所述像素值包括色彩值。
4. 如权利要求1所述的方法,其特征在于,所述像素值包括亮度值、蓝色差和红色差中 的至少一者。
5. 如权利要求1所述的方法,其特征在于,所述限制包括响应于所述像素值大于所述范围内的最高值,将任何像素值设为所述范围内的高值,以及响应于所述像素值小于所述范围内的最低值,将任何像素值设为所述范围内的低值。
6. 如权利要求1所述的方法,其特征在于,确定所允许像素值的范围包括基于与所述 内插像素毗邻的像素确定所允许像素值的范围,并且其中毗邻所述内插像素的所述像素包 括第一像素组,包括围绕所述内插像素的两个像素以及与所述两个像素之一紧邻的第三 像素,以及第二像素组,包括围绕所述内插像素的两个像素以及与所述两个像素中的另一个紧邻 的第三像素。
7. 如权利要求6所述的方法,其特征在于,所述范围基于第一范围和第二范围,其中 所述第一范围包括所述第一像素组中像素的最大和最小像素值之间的差,以及 所述第二范围包括所述第二像素组中像素的最大和最小像素值之间的差。
8. 如权利要求7所述的方法,其特征在于,所述所允许像素值的范围包括 所述两个像素中的最大像素值加所述第一和第二范围中的较小者的高值,以及 所述两个像素中的最小像素值减所述第一和第二范围中的较小者的低值。
9. 一种用于确定像素值的装置,所述装置包括 用于接收至少一个像素值的逻辑;用于基于所述至少一个像素值确定内插像素值的逻辑; 用于确定所允许像素值的范围的逻辑;以及用于将所述至少一个像素值和所述内插像素的任何像素值限制在所述范围内的逻辑。
10. 如权利要求9所述的装置,其特征在于,确定内插像素值包括使用多相滤波器。
11. 如权利要求9所述的装置,其特征在于,所述像素值包括色彩值。
12. 如权利要求9所述的装置,其特征在于,所述像素值包括亮度值、蓝色差和红色差 中的至少一者。
13. 如权利要求9所述的装置,其特征在于,所述用于限制的逻辑用于 响应于所述像素值大于所述范围内的最高值,将任何像素值设为所述范围内的高值,以及响应于所述像素值小于所述范围内的最低值,将任何像素值设为所述范围内的低值。
14. 如权利要求9所述的装置,其特征在于,还包括图像縮放器逻辑,并且其中所述用 于限制的逻辑从所述图像縮放器逻辑提供输出。
15. 如权利要求14所述的装置,其特征在于,所述图像縮放器逻辑包括水平视频縮放 器和垂直视频縮放器中的一者。
16. —种用于确定像素值的系统,所述系统包括 显示器设备,以及图形子系统,用于基于输入图像生成经縮放的图像,其中所述图形子系统被通信地耦合至所述显示器设备,并且其中所述图形子系统用于接收至少一个像素值, 基于所述至少一个像素值确定内插像素值, 确定所允许像素值的范围,以及将所述至少一个像素值和所述内插像素的任何像素值限制在所述范围内。
17. 如权利要求16所述的系统,其特征在于,还包括通信地耦合至所述图形子系统的存储设备,其中所述存储设备能够存储所述输入图像 和所述经縮放的图像。
18. 如权利要求16所述的系统,其特征在于,确定内插像素值包括使用多相滤波器。
19. 如权利要求16所述的系统,其特征在于,为了进行限制,所述图形子系统用于 响应于所述像素值大于所述范围内的最高值,将任何像素值设为所述范围内的高值,以及响应于所述像素值小于所述范围内的最低值,将任何像素值设为所述范围内的低值。
20. 如权利要求16所述的系统,其特征在于,所述显示器用于显示所述经縮放的图像。
全文摘要
公开了一种视频缩放器。多相滤波器可被用于生成内插像素。检查与内插像素毗邻的像素的值以确定毗邻像素当中的值的偏差,从而确定最小和最大值偏差。内插像素的值是基于最小和最大值偏差来限制的。可通过限制内插像素的色彩范围来减少激荡伪像。
文档编号H04N7/26GK101715126SQ200910204999
公开日2010年5月26日 申请日期2009年9月29日 优先权日2008年9月29日
发明者S·库路帕蒂 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1