CN111182305B - 图像缩放装置和方法 - Google Patents

图像缩放装置和方法 Download PDF

Info

Publication number
CN111182305B
CN111182305B CN201911097741.5A CN201911097741A CN111182305B CN 111182305 B CN111182305 B CN 111182305B CN 201911097741 A CN201911097741 A CN 201911097741A CN 111182305 B CN111182305 B CN 111182305B
Authority
CN
China
Prior art keywords
image
input
video
hdmi
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911097741.5A
Other languages
English (en)
Other versions
CN111182305A (zh
Inventor
A·文基塔苏布拉曼尼
B·穆拉里克里沙纳
S·苏加坦
N·D·奥康奈尔
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.)
Analog Devices International ULC
Original Assignee
Analog Devices International ULC
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 Analog Devices International ULC filed Critical Analog Devices International ULC
Publication of CN111182305A publication Critical patent/CN111182305A/zh
Application granted granted Critical
Publication of CN111182305B publication Critical patent/CN111182305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4023Decimation- or insertion-based scaling, e.g. pixel or line decimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline

Abstract

本发明涉及图像缩放。在一个例子中,公开视频处理器,包括:输入缓冲器,用于接收输入图像;限幅器电路,用于将所述输入图像划分为多个N个垂直片段;用于去栅格化的N个并行输入缓冲器;N个并行图像缩放器,其中每个缩放器是被配置为根据图像缩放算法对N个垂直片段之一以栅格形式进行线性缩放的硬件;用于重新栅格化的N个并行输出缓冲器;和输出多路复用器,将缩放后的垂直片段合并为合并后的缩放的输出图像。

Description

图像缩放装置和方法
技术领域
本公开总体上涉及计算领域,并且更具体地但非排他地涉及用于视频处理的系统和方法。
背景技术
作为非限制性示例,现代视频系统能够通过诸如高清多媒体接口(HDMI)、DisplayPort、通用串行总线Type C(USB-C)和数字视频接口(DVI)之类的接口接收和呈现高质量的数字视频。
附图说明
当结合附图阅读时,从以下详细描述中将最好地理解本公开。要强调的是,根据行业中的标准实践,各种特征不一定按比例绘制,并且仅用于说明目的。在显式或隐式显示比例尺的地方,它仅提供一个说明性示例。在其他实施方案中,为了清楚的讨论,各种特征的尺寸可以任意增加或减小。
图1a和1b是根据本说明书的教导的视频系统的各种实施例的图示。
图2是根据本说明书的教导的垂直图像片段的图示。
图3是根据本说明书的教导的图像缩放如何发生的框图说明。
图4是示出根据本说明书的教导的缩放操作的框图。
图5是根据本说明书的教导的说明性缩放器的框图。
图6是示出根据本说明书的教导的流水线处理的框图。
图7是根据本说明书的教导的将视频按比例放大的方法的流程图。
图8是根据本说明书的教导的HDMI系统的框图。
图9a和9b是根据本说明书的教导的片上系统的框图。
发明内容
在例子中,提供视频处理器,包括:输入缓冲器,用于接收输入图像;限幅器电路,用于将所述输入图像划分为多个N个垂直片段;N个并行图像缩放器,其中每个缩放器是被配置为根据图像缩放算法对所述N个垂直片段之一进行逐行缩放的硬件;和输出多路复用器,将缩放后的垂直片段合并为合并后的缩放的输出图像。
具体实施方式
以下公开提供了用于实现本公开的不同特征的许多不同的实施例或示例。以下描述组件和布置的特定示例以简化本公开。当然,这些仅仅是示例,而无意于进行限制。此外,本公开可以在各个示例中或在某些情况下跨不同的附图重复参考数字和/或字母。该重复是出于简单和清楚的目的,并且其本身并不指示所讨论的各种实施例和/或配置之间的特定关系。不同的实施例可以具有不同的优点,并且任何实施例都不需要特定的优点。
在显示分辨率、颜色深度和帧速率方面,许多现代显示系统都超过了其数据源。例如,较新的电视机可以进行4K和8K超高清(UHD)显示。这些显示技术能够测试人类视觉范围。但通常情况下,这些显示器是由无法充分利用显示功能的上一代显示源驱动的。例如,许多消费者拥有第一代蓝光光盘播放器。大多数商用蓝光光盘播放器以高清(HD)(例如720p)或所谓的全高清(1080p)来显示视频。720p和1080p中的“p”是指逐行扫描(或“非栅格化扫描”)高清信号格式。720p HD在屏幕上水平显示1,280像素,在垂直方向上向下显示720水平像素,从而产生720条水平线,宽高比为16到9。1080p Full HD在屏幕上水平显示1,920像素,在屏幕上垂直显示1080像素,产生1080宽高比为16到9的水平线。与非正式但通常引用的720i和1080i名称(其中“i”是指栅格化高清信号格式)相比,720p和1080p通过传输所有行而不是仅传输帧中的交替行来减少防止图像闪烁的需要。
尽管蓝光光盘播放器能够提供720p HD和1080p全高清,但是它们也能够播放较早的数字视频光盘(DVD)。许多用户仍然拥有大量不愿意用蓝光光盘替换的现有DVD。DVD的限制更大,最大分辨率为480p(720×480像素)。
将这些分辨率与提供3840×2160分辨率的4K UHD电视或提供7680×4320分辨率的8K UHD电视进行比较。
这些分辨率是如此之高,以至于标准的蓝光光盘没有数据容量来存储4K或8K视频。因此,在当前环境中,通常将4K和8K视为视频流技术。但是现代消费者希望视频能够实时流传输,并且几乎没有缓冲就可以在电视上播放。除非用户具有非常高端的Internet连接(例如光纤服务),否则4K和8K视频可能无法成功传输。因此,具有支持4K和8K UHD的电视的消费者面临着功能强大的显示器,但是大量视频源无法以其全分辨率驱动该显示器。
许多现有的电视都能够以较低的分辨率支持来自传统设备的视频流,例如480pDVD或720p和1080p蓝光光盘播放器。但是,消费者可能不满意在付费的高清晰度电视上观看粒状的低分辨率视频。
为了向此类电视的消费者提供优质的观看体验,许多电视现在具有视频高级功能。例如,这些电视可以接收1080p输入流,并将该流放大到4KUHD分辨率。但是,随着分辨率提高到8K甚至更高,此类升级可能会增加微处理器、数字信号处理器(DSP)或用于提供升级的硬件(如专用集成电路(ASIC))的能力。
例如,以8K UHD和每秒60帧的速度处理视频需要每秒处理约2.4千兆像素。但是用于此类处理的常见DSP的运行速度约为每秒700兆像素。设计更大或更快速的DSP或转换硬件是一项艰巨的任务。
本说明书示出了一种系统和方法,该系统和方法用于通过将视频流划分为多个N个垂直片段,并在N个并行缩放器硬件元件或DSP上并行处理N个垂直片段,来将视频按比例缩放或按比例缩小为HD格式。当源中的内容为高分辨率(例如8K)并且源不具有缩小功能时,可以支持缩小,但是显示器只能具有较低的分辨率,例如1080p或4K。在这种情况下,可能需要在信号源和显示器之间放置一个缩小尺寸的显示器。
在整个说明书中,将以高清多媒体接口(HDMI)接收器为例进行讨论,该接收器在四个并行缩放器中将视频放大到8K。所有这些示例应被理解为非限制性示例。在其他实施例中,可以使用其他视频标准以及其他互连。例如,视频可以通过数字传输系统(例如通过Internet)或其他接口(例如通用串行总线(USB)、USB-C、显示端口或类似接口)进行传输。此外,不应将本说明书中的升频视频的教导理解为本文提供的视频信号处理器的专有功能。视频信号处理器可以通过说明性和非限制性示例的方式提供多种视频信号处理,包括诸如色彩空间转换、裁剪、去交织和帧频转换之类的其他服务。
本说明书的实施例可以包括ASIC或包括本文所教导的N个并行缩放器的片上系统(SoC),以及其他元件,例如去光栅化缓冲器、重新栅格化缓冲器、HDMI控制器、双数据速率(DDR)控制器、物理和逻辑接口以及任何其他合适的元素。在某些示例中,本文讨论的缩放器可以作为知识产权(IP)块提供。包括缩放器的IP块可以仅包括缩放器,或者可以包括被专门配置为使缩放器适用于本说明书的教导的支持元件。例如,IP块不仅可以包括缩放器,而且可以包括诸如像素转换器、去光栅化缓冲器、重新栅格化缓冲器和/或输出多路复用器之类的支持元件。在某些情况下,可以将N个缩放器整体地设置为并行缩放器单元。在这种情况下,可以将缩放器提供为IP块、单独的ASIC或集成电路的一部分。此外,尽管在本说明书中将定制电路用作缩放器的示例,但是也可以使用DSP、图形处理单元(GPU)、中央处理单元(CPU)或其他合适的处理元件来构建本规范的缩放器。
作为非限制性和说明性示例,本说明书的并行缩放器包括以大约600至700MHz工作的四个独立缩放器。这四个独立的缩放器共同提供每秒总计2.4千兆像素的图像处理能力,从而实现了将视频(包括480p、720p、1080p和4K)实时扩展至8K。此外,利用协作式去栅格化器,根据本说明书的系统还可以升级其他视频格式,例如480i、720i和1080i。
本说明书的缩放器的说明性实施例提供四个并行缩放器,每个并行缩放器提供基本相同的图像缩放算法。图像缩放算法可以是多项式插值算法,其不仅可以通过计算两个点之间的线性近似值,还可以通过基于输入数据的四个点对曲线进行插值来提供高质量的图像缩放。输入数据的每个点可以是单个像素。因此,缩放器可以采用一行输入像素,并将该行分成四个平行的块,每个块包含大约2000个像素。然后,由四个并行缩放器依次处理这些2000像素的块,每个缩放器在将其内插像素输出到输出先进先出(FIFO)缓冲区后,从下一行接收一个块。可以将输出图像多路复用在一起,重新光栅化,然后以完整的8K UHD分辨率驱动到视频显示器。
为了确保每个缩放器的FIFO缓冲区不会变空,可以对图像缩放器进行流水线处理。所有片段缩放器同时并行工作。在图像的开头,假设输入为栅格格式,则它们从四分之一线偏移处开始。该四分之一偏移延迟将更近地优化去栅格化和重新栅格化缓冲区的大小。相反,如果将输入作为文件存储在文件系统中,则所有片段缩放器都可以在帧的开头一起开始。但是对于实时操作,如果缩放器从四分之一行偏移开始,则重新缓存缓冲区的大小会更好。在这种情况下,可能不需要输入去栅格化缓冲器。
由于将图像切成四个垂直片段,并且每个片段都由其自己的缩放器独立处理,因此存在这样的危险:该图像可能看起来像是四个离散的图像,每个片段之间都有一条线。从最终用户的角度来看,这可能被认为是次优的观看体验,并且在许多情况下,最好提供一个连续的图像,看起来好像它最初被编码为单个8K UHD图像一样。为了实现这一点,每个缩放器可以在给定的行上接收来自先前四分位数的一个或多个先前像素作为其特定四分位数的第一输入。例如,如果使用双线性插值法,则用于第二个垂直片段的缩放器将接收第一个四分位数的最后一个像素作为其第一个输入像素。因此,缩放器将能够根据新像素与两个周围像素的距离内插加权平均值。为了获得更好的显示体验,可以使用多项式插值法,例如双三次插值法,而不是使用双线性插值法。双三次插值法将四个像素作为输入并计算加权平均值,而不是计算两个像素之间的简单线性加权平均值。因为双三次插值需要输入四个像素,所以每个四分位数可以接收前一个四分位数的最后两个像素作为其初始两个像素。类似地,每个四分位数可以从下一个四分位数接收2个像素,以计算四分位数末尾的缩放输出像素。这为缩放器提供了四个像素,可用于计算双三次插值。如果使用其他插值算法,则可以从先前四分位数提供其他数量的先前像素,以提供N个垂直片段之间的平滑过渡。
一旦缩放器成功计算出完整的输出行,就可以重新栅格化该输出行,然后驱动到显示器。为了提供期望的用户体验,缩放器可以配置为能够每秒处理大约60帧,从而确保可以以期望的每秒60帧驱动显示器。
现在将更具体地参考附图描述用于提供图像缩放的系统和方法。应当注意的是,在所有附图中,某些参考数字可以重复以指示特定的设备或块在附图中完全或基本一致。然而,这并不意图暗示所公开的各种实施例之间的任何特定关系。在某些示例中,元素的属可以由特定的附图标记(“小部件10”)来引用,而该类的各个种类或示例可以由带连字符的数字(“第一特定窗口小部件10-1”和“第二特定窗口小部件10-2”)。
图1a和1b是根据本说明书的教导的视频系统100的各种实施例的图示。
在图1a所示的实施例中,HDMI源104正在驱动信号。HDMI源104可以是例如VHS播放器、DVD播放器、蓝光盘播放器或一些数字媒体内容传送系统,例如在线视频或存储在本地存储器中的视频。在此示例中,HDMI源104以较低的分辨率(例如480p或720p或1080p的HD)驱动输出视频。HDMI源104将其输出视频信号提供给HDMI接收器108。
HDMI接收器108以其原始分辨率(例如480p、720p、1080p或一些其他分辨率)接收输入视频。然而,HDMI接收器108被配置为通信地耦合到诸如电视116的显示器。电视116能够具有比HDMI源104的固有分辨率更高的分辨率。例如,电视116能够具有诸如4K或8K超高清的分辨率。因此,为了向电视116的用户或观看者提供优质的视频体验,可以在HDMI接收器108和电视116之间设置视频处理器112。视频处理器112可以能够以电视116的全分辨率能力驱动超高清输出。具体地,HDMI处理器112可以被配置为从HDMI接收器108接收较低分辨率的HDMI信号,将该信号放大至诸如4K或8K UHD的较高分辨率,并且将放大后的图像驱动至电视机116。然后,电视机116从视频处理器112接收UHD HDMI输出,并在其屏幕上显示视频。
请注意,视频系统100-1不一定指定各种元素之间的物理关系。在该实施例中,以示出单独逻辑功能的框图配置示出了HDMI源104、HDMI接收器108、HDMI处理器112和电视116。然而,应当注意,这些元件可以以任何合适的配置来布置。例如,HDMI源104、HDMI接收器108、HDMI处理器112和电视116都可以是一个物理封装的单元。具体地,电视116可以具有从HDMI源104接收数字视频,将视频转发到HDMI接收器108,在视频处理器112中处理视频以及在电视116的屏幕上显示视频的能力。或者,HDMI源104可以是完全独立的设备,例如视频播放器或网络连接,HDMI接收器108也可以作为系统的单独HDMI接收器提供。视频处理器112可以体现为单独的逻辑设备,也可以体现为提供用于视频扩展功能的HDMI接收器108的独立机顶盒。
视频处理器112然后可以将其放大的输出驱动到具有UHD能力的显示器,例如电视116。这仅示出了许多可能的实施例中的两个,并且通常,可以使用任何逻辑分组或物理配置和配置。
图1b是视频系统100-2的框图,其中某些元件位于片上系统(SoC)150中。SoC 150可以是基于硅或其他半导体衬底的单片制造品,其中通过诸如硅晶片制造的制造过程在其中提供逻辑元件以及电气和电子元件。在该实施例中,视频信号处理器124可以类似于图1a的HDMI处理器112。串行器/解串器(SERDES)接收器120可以类似于图1a的HDMI接收器108。SERDES发送器128可以被认为是图1a的视频处理器112的一部分或与之相似。
在该实施例中,SoC 150通信地耦合到动态随机存取存储器(DRAM)132。DRAM 132为SoC 150提供操作存储器。SERDES接收器120可以是SERDES的任何合适种类,并且可以以一种或多种格式接收信号,包括,作为说明性和非限制性示例,HDMI、直接媒体接口(DMI)、USB-C、以太网(在以太网数据包中嵌入视频)或任何其他合适的视频传输机制。SERDES接收器120将其视频信号提供给视频信号处理器124。
视频信号处理器124可以在其输入视频上提供任何数量的视频信号处理功能。作为说明性和非限制性示例,这些可以包括颜色空间(或“色域”)转换(可以增加或减少显示的颜色数量),图像裁剪(例如,从16x9到4x3或其他裁剪),栅格化视频的去栅格化,缩放(包括放大,例如从480p、480i、720p、1080p或其他高达4K或8K UHD的格式)和帧率转换(例如,内插和添加或删除帧以在格式之间进行转换,例如每秒24帧和每秒60帧)。
注意,视频信号处理器124的各种功能可以由各种专用或协作逻辑块执行。在某些情况下,可以对这些功能进行流水线处理,以便例如在执行缩放之前裁剪或反交错图像。在一些实施例中,视频信号处理器124的各种元件可以由IP块提供,该IP块可以用作具有定义的输入、定义的输出以及在输入上执行以产生输出的定义的处理功能的“黑匣子”。这样的IP块有利地允许系统设计者将这些功能作为独立单元出售。
视频信号处理器124一旦完成其视频的转换和处理,便将输出视频提供给SERDES发送器128,后者将输出驱动到显示器,例如图1a中具有UHD功能的显示器116、计算机监视器、商用显示器(例如Jumbotron或大型会议室显示器)或任何其他显示技术。
图2是根据本说明书的教导的垂直图像片段的图示。
图2示出了原始帧204,其可以是从视频流中提取的帧。例如,原始帧204可以是在屏幕上显示的单个视频帧,例如每秒的1/24或1/60。请注意,HDMI采用视频压缩,例如显示流压缩(DSC)。由于HDMI使用DSC,并且由于其他视频格式提供压缩,因此单个帧最初可能无法用作单片图像。相反,压缩技术通常在前一帧和当前帧之间采用增量,并且仅改变帧之间不同的那些像素。但是,本说明书的一些实施例通过以未压缩的逐帧格式对视频进行操作来实现优点。因此,为了从视频流中获得原始帧204,可能需要DSC功能从源数据构造完整帧。一旦框架204已经被适当地构造,则可以根据本说明书的教导对其进行处理。
作为说明性示例,缩放器可用于基于具有48位色深的7680x4320像素位图将原始帧204缩放至8K分辨率。注意,此处以非限制性示例提供48位色深的8K视频,并且可以使用其他视频分辨率。在一些实施例中,还可以提供一种方法,该方法通过由通常被称为up-抖动的处理在像素中的每个颜色分量的LSB侧上创建随机位来从较低的颜色深度(例如24位颜色深度)转换。
注意,抖动和放大可以是单独的过程,或者可以一起执行。放大可以采取线性插值的形式,其中一个点被插在其他两个点之间,一个像素被插在其他两个像素之间,并且根据两个最近像素的颜色的线性加权平均值为新像素提供颜色。其他实施例可以使用更复杂的算法来提供更好的内插并因此提供更好的图像缩放。例如,缩放器可以采用插值算法,其中通过用适当的冲激响应对重采样的像素进行加权,从多个相邻像素中对重采样的像素进行插值,该冲激响应由用于缩放的内核类型确定。例如,利用诸如双三次插值的插值方法,使用四个像素来插值新像素的值。从每个维度的两个像素水平和垂直内插新值(即,水平向新像素的每个侧面两个像素,以及垂直两个上方和下方两个像素)。这种类型的插值可以为新像素提供更好的位置和更好的颜色。
但是,在给定的过程节点(例如28nm)上,现有缩放器的峰值频率约为650至700MHz,每秒可提供650至700兆采样以内插新图像。对于从1080p全高清到4K UHD的插值,这可能就足够了。但是,当缩放器的输入或输出速率大于4K 60Hz时,例如60Hz时为8K,则每秒700兆采样不足以进行插值。因此,为了提供高分辨率(例如8K UHD放大),可能需要额外的处理能力。
因为设计更大和更快的缩放器IP块并非易事,所以本说明书将原始帧204垂直片段为片段帧212。片段帧212包括多个垂直片段208,即片段208-1,片段208-2,片段208-3和片段208-4。以8K分辨率为例,片段图像206具有4320条线,每条线被划分为2000像素以下的四分位数。可以在并行缩放器体系结构中将每个四分位或片段208分配给专用缩放器,例如,将片段208-1分配给第一缩放器,将片段208-2分配给第二缩放器,将片段208-3分配给第三缩放器,并且将片段208-4分配给第四缩放器。这些缩放器可以在逐行的基础上内插像素,如线212所示,其中包括7680个像素。该线分为四个四分位数或片段,分别为片段208-1、片段208-2、片段208-3和片段208-4。当第一缩放器为片段208-1内插像素时,它可以在每个操作中使用内插方法在每个维度(即,垂直和水平)上从四个输入像素内插一个新像素。然后,将该输出像素作为新的像素输出,该像素在前两个像素和后两个像素之间。缩放器然后增加一个像素,获取一组新像素,然后在这四个像素的中间插值一个或多个新像素。
但是,请注意,如果将片段208视为完全独立的实体,则输出将显示为四个相关但截然不同的图像,并且在四个片段之间具有可见线。因此,片段208-2、208-3和208-4每个都接收前一个片段的后三个像素作为其前三个像素,这使得在这三个片段上进行操作的缩放器能够在片段之间内插起始边界像素。类似地,片段208-1、208-2和208-3每个都接收下一个片段的前三个像素作为其最后三个像素,这使得在这三个片段上运行的缩放器能够在片段之间内插端边界像素。可以在除了第一片段之外的每个片段的开始处调制水平偏移值。
这确保了在将片段图像206放大到8K时,输出视频将显示为没有行的单个无缝图像。因此,如行212中所说明,片段208-1的最后三个像素220被提供给第二缩放器作为片段208-2的前三个像素。因此,片段208-1和208-4具有1923个像素,而片段208-2和208-3具有1926个像素。前后片段中最后一个像素和第一个像素的这种使用有助于确保在垂直片段边界上进行平滑缩放。
图3是根据本说明书的教导的图像缩放如何发生的框图说明。
从输入图像304开始,将图像切成四个垂直片段308-1、308-2、308-3和308-4。每个片段308大致代表输入图像304的四分位数,尽管如前图所示,片段308-2、308-3和308-4可以包含来自先前图像的一个或多个像素(例如,如果使用线性插值,则为前一个像素;如果使用高阶(例如,双三次)插值,则为前三个像素)。
然后,四个独立的缩放器将片段308放大到放大的片段312。即,将片段308-1放大到片段312-1。片段308-2被放大到片段312-2。片段308-3被放大到片段312-3。片段308-4放大到片段312-4。在整个说明书中,线性和高阶插值用作可以利用的图像缩放技术的示例。但是这里应该注意,许多图像缩放算法是已知的,并且本说明书的教导不一定需要特定的图像缩放方法。相反,本文的教导与任何图像缩放算法兼容。
然后,通过水平地重组各个片段312并将结果复用到放大图像316,将缩放片段312多路复用在一起。例如,原始图像304可以是1080p全高清图像,而放大图像316可以是4K或8K的UHD图片。
图4是示出根据本说明书的教导的缩放操作的框图。
在图4的图示中,输入404将按比例放大。为了便于参考,将输入404内的像素称为像素A、E、I、M和Q。作为说明,像素可能需要水平放大四倍。例如,在1080p和8K UHD之间转换时,必须从每个源像素中插入三个额外的水平像素。从1080p到8K放大4倍似乎是违反直觉的,但这是事实。在1080p中,数字1080是指1920x1080分辨率下的垂直行数,而在8K中,8K是指7680x4320分辨率下每行的水平像素数。因此,8K在每个维度上大约是1080p的四倍,并且包含的总像素大约是16倍。
因此,输入404的像素A将在输出408中插值到像素ABCD。输入404的像素E将在输出408中插值到像素EFGH。输入404的像素I将内插到输出408中的像素IJKL。输入404的像素M将内插到输出408中的像素MNOP。
如前所述,内插到8K分辨率大约需要每秒2.4兆像素的处理能力。由于实施限制(例如嵌入式系统中可用的MIPS或特定处理节点处的最大速度),现有的缩放器通常限制为每秒700兆像素的能力,因此这些缩放器可能不足以成功地将1080p实时内插到8K。因此,在此示例中,使用四个独立的缩放器对输入404的四个四分位数进行插值。具体来说,第一缩放器从像素A开始对三个附加像素进行插值,第二缩放器从像素E开始对三个附加像素进行插值,第三缩放器从像素I开始对三个附加像素进行插值,以及第四缩放器从像素M开始对三个附加像素进行插值。如框图所示,内插是实时执行的。每个片段缩放器都在垂直片段上工作,该片段的线宽等于输入线宽的1/N,并在较慢的持续时间(与实际输入的一个线时间相等)上缩放线。这与并行执行多个缩放操作不同,后者在E到达时已计算出A、B、C和D。
为了确保输出缓冲区不会变空,缩放器可以如图所示以流水线方式运行。例如,缩放器412-1首先内插像素ABCD,并将其写入输出缓冲器。当缩放器412-1在下一行的相同四分位数上操作时,缩放器412-2对像素EFGH进行插值并将其写入其输出缓冲器。
当缩放器412-2在另一行的第二四分位数上操作时,缩放器412-3对像素IJKL进行插值,并将其写入其输出缓冲器。当缩放器412-3在另一行的第三四分位数上工作时,缩放器412-4对像素MNOP进行插值并将其写入其输出缓冲器。缩放器将完整的内插线写出到其输出缓冲区后,可以将这四个四分位数多路复用在一起,然后写出到输出缓冲区中,以便在缩放后的图像上绘制该行输出。
在使用线性插值的情况下,可以将每个像素作为其在每个维度(水平和垂直)中两个最近点的简单加权平均值进行插值(其中根据其更接近的点对其加权的程度或大或小)。如果使用双三次插值,则可以从上方和下方的两个点以及左侧和右侧的两个点分别对像素进行插值,从而在每个维度上提供三次插值。
图5是根据本说明书的教导的说明性缩放器的框图。
如前所述,缩放器500包括四个独立的缩放器,即S1 512-1至S4 512-4。尽管这些缩放器彼此独立地操作,但是并行缩放器500被配置为操作这些缩放器以提供单个缩放的输出图像。
并行缩放器500接收视频输入502。如先前所讨论的,视频输入502被切成四个垂直片段。具体来说,第一个片段具有1923个像素(从第二个片段的开始具有3个像素),第二个片段具有1926像素(包括从第一个片段的最后三个像素,从第三片段开始的前三个像素),第三片段具有1926像素(包括来自第二片段的最后三个像素和来自第四片段的前三个像素),第四片段具有1923像素(包括来自第三片段的最后三个像素)。
去栅格化缓冲器504的目的是减慢输入像素,以便片段缩放器可以以较慢的速率操作,这是其最大能力。例如,每个片段缩放器只能在1行时间内从480个输入像素产生1920个缩放像素。但是,对于8K输出,需要在一行时间内生成7680个像素,这需要在一行时间内处理1920个输入像素。由于每个片段缩放器只能在一行时间内处理480个输入像素,因此1920个输入像素在一行时间内会减慢到480个输入像素的速率。去栅格化缓冲器的输入速率是输入的实际速率(在一行时间内1920个像素),并且该缓冲器的输出处于四分之一速度(例如,每一行时间内480个输入像素)。
第一片段被提供给去栅格化缓冲器504-1。将第二片段提供给去栅格化缓冲器504-2。第三片段被提供给去栅格化缓冲器504-3。第四片段被提供给去栅格化缓冲器504-4。去光栅化缓冲器504获取被光栅化的输入并以等于图像的线速率的速率产生输出。
去栅格化缓冲器504-1将其线提供给转换器508-1,去栅格化缓冲器504-2将其输出提供给转换器508-2,去栅格化缓冲器504-3将其输出提供给转换器508-3,并且去栅化缓冲器504-4将其输出提供给转换器508-4。
四个像素到一个像素转换器508-1收集四个像素以用于内插到一个像素。因为系统在一个时钟周期内传输和处理四个像素(例如,由600到700MHz时钟频率驱动,要求每秒转换2400兆像素),所以可能有必要将四个像素转换为一个像素,因为每个片段缩放器在一个像素上运行,就好像它是单个像素处理缩放器一样。像素转换器508将其输出(例如,每个单个像素)提供给缩放器。具体地,转换器508-1将其输出提供给缩放器S1 512-1,转换器508-2将其输出提供给缩放器S2 512-2,转换器508-3将其输出提供给缩放器S3 512-3,并且转换器508-4将其输出提供给缩放器S4 512-4。
缩放器512执行并行缩放器500的最密集计算操作。在说明性示例中,缩放器512在由去光栅化缓冲器提供的每个维度中获取四个像素,并从输入像素插值在这些输入像素中间的一个或多个插值像素。因为缩放器512可以是专用硬件(如在ASIC或SoC中),所以它们可以被设计为在单个时钟周期内执行插值操作。因此,以700MHz运行的缩放器512提供每秒7亿个插值样本。请注意,所使用的像素数取决于所使用的缩放器内核。例如,两个输入像素用于双线性插值,四个像素用于双三次插值,其他数量的像素可以用于其他模型。
缩放器512将其输出提供给重新栅格化缓冲器516。即,缩放器S1512-1将其输出提供给重新栅格化缓冲器516-1,缩放器S2 512-2将其输出提供给重新栅格化缓冲器516-2,缩放器S3 512-3将其输出提供给重新栅格化缓冲器516-3,并且缩放器S4 512-4将其输出提供给重新栅格化缓冲器516-4。
然后,重新栅格化缓冲器516将其重新栅格化的输出提供给输出多路复用器520,该输出多路复用器520将来自图像的四个四分位数的四个垂直片段组合成图像的单个输出线。然后,输出多路复用器520将此行提供为视频输出524。
图6是示出根据本说明书的教导的流水线处理的框图。如前所述,流水线可用于确保输出缓冲区保持非空,以避免缓冲区不足。
如图6所示,输入线可以分为四个四分位数。这些分别称为第1行第一个四分位数的L1Q1,第1行第二个四分位数的L1Q2,第1行第三个四分位数的L1Q3和第1行第四个四分位数的L1Q4。每个四分位数可以分配给一个特定的缩放器,例如图5的缩放器512。例如,缩放器S1 512-1可以分配给Q1,缩放器S2 512-2可以分配给Q2,缩放器S3 512-3可以分配给Q3,缩放器S4 512-4可以分配给Q4。因此,每个缩放器始终在其输入线的相同四分位数上运行。为了提供流水线,片段缩放器在相同的输入行上运行,但是它们以时间分布的方式运行。如图6所示,S1在第1行中完全工作;S2在当前行上运行其时间的3/4分(例如,对于第1行),在下一行的开始处工作其时间的1/4(例如,对于第2行);S3在当前行上运行其时间的1/2(例如,对于第1行),在下一行的开始处运行其时间的1/2(例如,对于第2行);S4在当前行上的时间的1/4(例如,对于第1行)和在下一行的开始处的3/4的时间(例如,对于第2行)。
假设缩放器从视频流中第一张图像的第一行开始,则在时间=t0处,L1Q1以1/4像素速率缩放。这意味着第一缩放器接收L1像素的1/4,并以所需像素速率的大约四分之一工作。例如,要升级到8K,每秒需要大约2.4千兆采样,而每个缩放器可以每秒大约600至700兆采样运行。此时,缩放器S1 512-1的重新栅格化缓冲器的深度为3/16行。
缩放器S1开始在L1Q1上运行,并在时间=t0和时间=t3之间在L1Q1上运行。缩放器S1 512-1始终将其输出写入L1Q1定标输出。
在时间=t1,缩放器S2 512-2开始在L1Q2上运行。与L1Q1一样,L1Q2以1/4像素速率缩放,缩放器S2 512-2的重新栅格化缓冲区深度为3/16行。
在时间=t2,缩放器S3 512-3开始缩放L1Q3。与L1Q1和L1Q2一样,L1Q3以1/4像素速率缩放,缩放器S3 512-3的重新栅格化缓冲区深为3/16行。
在时间=t4,缩放器S1 512-1完成了对L1Q1的工作,并将L1Q1定标的输出提供给其输出缓冲器。同时,缩放器S4 512-4开始在L1Q4上工作。与L1Q1、L1Q2和L1Q3一样,L1Q4以1/4像素速率缩放,缩放器S4 512-4的重新栅格化缓冲区深度为3/16行。
在下一个周期中,在时间=t0,缩放器S1 512-1开始在L2Q1上运行,而其他缩放器在L1的各自四分位数上继续其工作。在新周期的时间=t1,缩放器S2 512-2开始在L2Q2上工作。在新周期的时间=t2,缩放器S3 512-3开始在新周期的L1Q3上工作,在新周期的时间=t3,缩放器S4 512-4在L2Q4上开始工作。然后可以复用输出。
下表说明了在各种输出时间重新栅格化缓冲区的状态。该表仅示出一个示例,该示例可以与本说明书中其他地方示出的示例相同或不同。对于一行的每个四分位数:
1.从Q1、Q2、Q3或Q4重新栅格化缓冲器中取出1/4输出线
2.每个缩放器产生1/16输出线
3.特定的非栅格化缓冲区可以容纳的最大值为1/4输入线,具体取决于所需输入的可用性和该缓冲区中的空间。
Figure GDA0003286075280000151
Figure GDA0003286075280000161
通过提供这种并行和流水线缩放,本说明书的系统利用4:4:4的颜色编码数据实现了12位处理。4:4:4是一种颜色格式,其中亮度和色度分量保留在全带宽。可以在诸如YUV(Y=亮度,UV=色度)之类的颜色空间中渲染颜色。在其他实施例中,可以使用其他颜色空间,例如红色、绿色、蓝色(RGB)或青色、品红色、黄色、黑色(CMYK)。
有利地,该方法可以与方向性插值一起使用,该方向性插值提供清晰度、细节和图像增强,并且还提供对用户可控制的水平和垂直分辨率以及宽高比转换的支持。
图7是根据本说明书的教导的按比例放大视频的方法700的流程图。
方法700可以由任何适当的硬件或硬件、软件和/或固件的组合来执行。为了便于参考,设备执行方法700将被称为缩放器。应该理解为包括提供该方法的任何硬件、软件和/或固件。
在框704中,缩放器接收原始输入图像。作为说明性和非限制性示例,原始输入图像可以是例如任何适当格式的视频,例如480p、720p、1080p或4K UHD。注意,这些格式仅作为示例提供,并且根据特定实施例的需要可以支持其他分辨率。
在框708中,缩放器将输入图像划分为N个垂直片段。在上述示例中,插图显示了将图像分为四个垂直片段,每个片段称为四分位数。例如,在使用700MHz缩放器将视频升级到8K的情况下,这很有用。但是其他实施例可能需要其他数量的片段或以其他时钟速度运行的其他类型的硬件。
在框712中,缩放器并行地操作多个单独的每片段缩放器以缩放垂直片段并为每个图像内插像素之间的中间点。该插值可以采取例如以下形式:在每个维度中的两个点之间进行线性插值,在每个维度中的四个点之间进行高阶(例如双三次)插值,或与本说明书的教导兼容的任何其他合适的放大或缩小算法。
在框716中,垂直片段的放大包括使片段之间的边界平滑。缩放器可以例如通过提供从前一片段到下一片段的一个、三个或其他数量的像素来执行此操作。这允许片段之间的平滑内插。在其他实施例中,特别是那些使用除线性插值或高阶插值以外的不同算法的实施例,可以使用其他合适的算法来平滑边界。
结果是N个单独的放大片段。
在框720中,缩放器将缩放的片段复用在一起。这使得能够将缩放后的片段输出为单个图像。例如,多路复用器可包括多条输入线,每个单独的缩放器提供四分位数或其他1/N输入线。多路复用器将这些四分位数或1/N-tiles连接在一起,从而创建一条单一的输出凝聚线。
在框724中,一旦收集了输出图像的所有行,就可以将该输出图像驱动到屏幕1/k秒,其中k是帧速率(例如,每秒24帧或每秒60帧,举例说明)。
在方框798中,完成该方法。
图8是根据本说明书的教导的HDMI系统的框图。在该示例中,HDMI系统包括HDMI源800和HDMI接收器802。
作为说明性示例,HDMI源800可以由DVD播放器、蓝光盘播放器、计算机或其他视频源提供。HDMI源800接收将由HDMI发送器804发送的视频和音频信号。HDMI发送器804包括三个物理上分开的通信信道,即数据显示信道(DDC)、最小化转换差分信号(TMDS)信号和消费电子控制(CEC)通道。HDMI源800还可以提供HDMI以太网和音频返回通道(HEAC),其是用于以太网和音频返回的可选通道。此外,HDMI源800可以提供可选的热插拔检测通道(HP D)线,其为高或低,并且提供对连接的检测。
HDMI标准提供了HDMI源800和HDMI接收器802的各种通道和功能,其具有各种实施例和迭代。该图的图示应被理解为仅是以太网控制器对的说明性示例,而不应被理解为限制性示例,或将本说明书的教导限制为HDMI标准的特定版本。通常,该图的教导应被理解为说明性的框架,在其中可以实践本说明书的教导。具体地,在将HDMI用作音频和视频数据的传输标准的实施例中,本说明书的教导的实施例可以包括诸如HDMI源800和HDMI接收器802中所示的那些元件。
HDMI发送器804和HDMI接收器808之间的TMDS通道使用三种不同的数据包类型交织视频、音频和辅助数据。这些被称为视频数据周期、数据岛周期和控制周期。
在视频数据周期内,输出视频的像素在HDMI发送器804和HDMI接收器808之间传输。数据岛周期(可占据水平或垂直闪烁间隔)用于在HDMI发送器804和HDMI接收器808之间传输音频和辅助数据。这些音频和辅助数据可以作为一系列数据包进行传输,类似于通过更传统的通信介质(如以太网或通用串行总线(USB))进行数据传输。
控制周期出现在视频和数据岛周期之间,并用于传输控制信号。HDMI使用TMDS通道传输使用8b/10b编码的字符。请注意,HDMI与旧的数字视频接口(DVI)标准向后兼容,因为DVI也使用TMDS传输视频数据。但是HDMI使用较小的连接器,并且还增加了在视频数据周期的水平和垂直闪烁间隔之间提供数据岛周期和控制周期的功能。
显示数据通道基于内部集成电路(I2C)总线规范提供通信。HDMI标准要求其设备实现DDC或增强数据显示通道(EDDC),HDMI源800使用DDC或增强数据显示通道(EDDC)从HDMI接收器802读取扩展显示标识数据(EDID)或增强EDID。EDID 810向HDMI源800通知HDMI接收器802可以接受哪些音频和/或视频格式。HDMI标准要求DDC至少支持每秒100kb的带宽,并且可以扩展到更快的速度。在一些实施例中,DDC还用于提供高带宽数字内容保护(HDCP),其用于对在HDMI源800和HDMI接收器802之间传输的内容实施数字版权管理(DRM)。这有助于确保消费者无法使用中间设备从视频流中提取高质量的数字视频。
在图8的图示中,Tx CEC 812和Rx CEC 816经由CEC线通信。CEC线使最终用户可以命令和控制启用CEC的设备。HDMI标准的最新版本允许通过HDMI连接控制多达15种不同的启用CEC的设备。因此,用户可以仅使用单个遥控器(例如电视遥控器、机顶盒遥控器、DVD播放器遥控器或其他控制单个设备的遥控器)来控制电视、DVD播放器、蓝光光盘播放器或其他设备。有利地,CEC允许启用了CEC的各个设备相互命令和控制,而无需用户干预。
CEC提供了基于欧洲电工标准化委员会(CENELEC)标准AV.link协议的单线双向串行总线。
在提供的地方,HEAC公用线可以在发送器HEAC 820和接收器HEAC824之间提供通信。HDMI以太网和音频回传通道同时提供音频回传通道(ARC)和HDMI以太网通道(HEC)。联合HEAC在HDMI标准1.4中引入,并为HEC提供了高速定向数据通信,并能够通过ARC向上游发送音频数据。
ARC是一条音频链路,可在电视与接收器或扬声器系统之间复制其他电缆。当电视生成或接收视频流而不是其他设备时,可以使用此功能。例如,当通过智能电视上的应用程序提供视频(例如通过流媒体提供商Netflix)但视频由其他设备(例如外部扬声器)提供时,可以使用此功能。在没有ARC的情况下,电视的音频输出必须通过单独的电缆路由到扬声器系统中。但是使用ARC时,音频可以通过电视直接提供给扬声器。HEC将视频、音频和数据流整合到一条HDMI电缆中,并通过HDMI启用基于IP的应用程序。这提供了每秒100Mb或更高的双向以太网通信。从物理上讲,HEC是一种混合设备,它通过一对双绞线数据级电线同时发送和接收100Base-T信号。
图9a和9b是根据本说明书的教导的片上系统900的框图。
注意,提供了SoC 900作为可以在本说明书的教导中使用的形状因数的说明性和非限制性示例。在这种情况下,SoC 900在HDMI接收器上单片提供许多视频处理功能,并将处理后的视频作为HDMI输出提供。这样的SoC在图1b中被示为SoC 150。图1b的SoC 150的教导可以适用于它们兼容的图9a和9b的SoC 900。然而,应当理解,在一些示例中,SoC 900可以是图1b的SoC 150的单独或替代实施例。在其他示例中,可以将SoC900视为图1b的SoC150的教导的更详细的说明。
在图9a中,示出SoC 900可以与诸如DDR 3/4 948之类的随机存取存储器一起工作。这是双倍数据速率动态随机存取存储器(DRAM),在某些实施例中,它不是SoC 900的一部分,而是作为单独的模块提供。但是,不应理解此图示以排除片上DDR与SoC 900一起使用。相反,这仅图示了一个常见的实施例,其中提供了DDR 948作为与SoC 900分离的模块化元素。
除DDR 948之外,图9a和9b中所示的其他元素通常包含在SoC中,例如SoC 900。但这不应理解为暗示SoC 900需要包括此处说明的所有元素,或者暗示不能包含图示以外的其他元素。而是,提供SoC 900作为常用配置的说明。
为了方便起见,SoC 900分为三个块,即图9a的块901和902,以及图9b的块903。块901和903可以每秒大约700MHz或700兆采样的速度操作。相反,框902包括实时视频操作,其可能需要以更快的速度执行,例如每秒2.4千兆采样。例如,可能需要更高的速度来提供8K视频的实时处理和放大。
在框901中,HDMI接收器PHY 904提供用于从视频源接收视频数据的物理接口。视频源可以是本说明书中讨论的任何源,也可以是适合于本说明书的教导的任何其他视频源。例如,除了HDMI之外,DisplayPort或模拟视频接口(例如CVBS)(复合视频基带信号,也称为颜色、视频、消隐和同步)。
由HDMI接收器PHY 904接收的输入视频由HDMI接收器数字电路906处理。HDMI接收器数字电路906包括根据HDMI标准的用于处理HDMI输入的逻辑。注意,HDMI接收器数字电路906还可以包括HDCP能力908。如图8所示,HDCP 908提供用于HDMI内容的DRM。
HDMI接收器数字电路906将其输出提供给链路数据解压缩电路910。可能需要链路数据解压缩电路910以将压缩的HDMI视频信号转换为一系列单独的帧,每个帧是其自己的位图。这可能是必要的,因为根据工业标准,HDMI提供了一种压缩的视频格式,在这种格式中,视频帧不是作为一系列位图而是作为参考帧的一系列增量提供。
可以将解压缩后的视频提供给帧缓冲器压缩器912,后者提供帧缓冲器压缩,并通过DDR 3/4存储器控制器940将结果存储在存储器中。存储器控制器940与DDR 3/4PHY 944通信,后者提供与DDR 948的通信。如上所述,DDR 948不必一定是SoC 900的一部分,而是在某些示例中可以作为单独的模块化单元提供。DDR 3/4PHY 994可包含压缩编解码器。
帧缓冲器解压缩器914从存储器接收压缩的信息,然后将解压缩的视频提供给去栅格化器/缩放器916。去栅格化器/缩放器916可以提供几种功能。例如,如果以栅格化格式而不是逐行扫描格式提供视频,则可能需要先将其转换为逐行扫描格式,然后才能进行放大。因此,去栅格化/缩放器916的去栅格化功能可以提供这种去栅格化。去栅格化器/缩放器916也可以提供并行缩放器,例如图5的缩放器500。根据本说明书的教导,这可以缩放或缩小图像。
一旦去栅格化器/缩放器916已经处理,去栅格化,并且按比例缩放或缩小了图像,就可以将视频帧提供给链接数据压缩器918。链接数据压缩器918根据HDMI标准压缩视频,因此,它不再是单个帧的一系列单个位图,而是提供了基于帧之间差异的压缩视频格式。
转到图9b,DSC压缩器920将其压缩的HDMI兼容信号提供给HDMI发送器数字电路924。与HDMI接收器数字电路906一样,HDMI发送器数字电路924包括用于提供HDMI信号的逻辑,并且可以包括用于DRM的HDCP 928。
HDMI发送器数字电路924将其数据提供给HDMI发送器PHY 932,HDMI PHY 932将HDMI信号驱动到显示器,例如,图1的具有UHD的电视116。
实施例
通过示例的方式提供了以下示例。
在一个示例中公开了一种视频处理器,其包括:输入缓冲器,用于接收输入图像;用于将输入图像划分为多个N个垂直片段的限幅器电路;N个并行图像缩放器,其中每个缩放器是被配置为根据图像缩放算法对N个垂直片段之一进行线性缩放的硬件;输出多路复用器,用于将缩放后的垂直片段组合为合并后的缩放后的输出图像。
还公开了一种视频处理器,还包括逻辑和电路,用于接收输入视频流,并从输入视频流中提取输入图像。
进一步公开了一种视频处理器,其中每个垂直片段基本上是输入图像的1/N平铺。
还公开了一种视频处理器,其中N=4。
还公开了一种视频处理器,其中,输入图像是视频流的帧,并且其中,输出图像被缩放为7,680水平像素x4,320垂直像素。
进一步公开了一种视频处理器,其包括逻辑和电路,该逻辑和电路以8K UHD分辨率接收输入视频流,并通过N个并行图像缩放器将图像缩小到较低的分辨率。
还公开了一种视频处理器,其包括逻辑和电路,该逻辑和电路以从480p、480i、720p、720i、1080p、1080i和4K超高清(UHD)中选择的分辨率接收输入视频流,并通过N个并行图像缩放器将输入视频流缩放为8KUHD分辨率的输出视频流。
还公开了一种视频处理器,其中图像缩放算法包括双线性插值。
进一步公开了一种视频处理器,其中图像缩放算法包括高阶插值。
进一步公开了一种视频处理器,其中图像缩放算法包括高阶插值。
进一步公开了一种视频处理器,其中基本上表示第一、第二和第三四分位数的垂直片段包括来自后续片段的三个第一像素,并且表示第二、第三和第四四分位数的垂直片段包括来自先前片段的三个最后像素;同样,第一、第二和第三片段包括来自后续片段的三个第一像素。
进一步公开了一种视频处理器,其中,垂直片段中的至少一些包括来自先前片段或后续片段的一个或多个最后像素。
进一步公开了一种视频处理器,其中,垂直片段中的至少一些包括来自前一片段或后一片段的最后三个像素。
还公开了一种视频处理器,其中N个图像缩放器被流水线化以防止缓冲器欠载。
进一步公开了一种视频处理器,其中,所述输出图像是高清多媒体接口(HDMI)兼容视频流的帧。
进一步公开了一种视频处理器,其中,所述输入图像是高清多媒体接口(HDMI)兼容视频流的帧。
还公开了一种知识产权(IP)块,包括前述示例中任何一个的视频处理器。
还公开了一种片上系统(SoC),其包括:接收输入图像的电路;图像限幅器,将输入图像划分为N个片段;N个图像缩放器,用于并行缩放N个片段,并且包括内插器电路,用于在输入图像的像素之间内插中间像素;输出多路复用器,用于将缩放的垂直片段多路复用为合并后的缩放的输出图像。
进一步公开了一种SoC,该SoC还包括N个输入去栅格化缓冲器,以以像素速率的1/Nth接收输入图像;以及重新栅格化缓冲区以收集N个缩放的片段并以1的像素速率输出它们。
进一步公开了一种SoC,其进一步包括接收输入视频流并从输入视频流中提取输入图像的电路。
还公开了一种SoC,其中,每个垂直片段基本上是输入图像的1/N平铺。
进一步公开了一种SoC,其中N=4。
进一步公开了一种SoC,其中,输入图像是视频流的帧,并且其中,输出图像被缩放为7,680水平像素x4,320垂直像素。
进一步公开了一种SoC,其包括电路,该电路以从480p、480i、720p、720i、1080p、1080i和4K超高清(UHD)中选择的分辨率接收输入视频流,并通过N个并行图像缩放器将输入视频流缩放为8K UHD分辨率的输出视频流。
还公开了一种SoC,其中内插器电路包括线性内插器。
还公开了一种SoC,其中内插器电路包括多项式内插器。
还公开了一种SoC,其中内插器电路包括高阶内插器,并且其中垂直片段中的至少一些包括前一片段中的最后三个像素。
还公开了一种SoC,其中内插器电路包括高阶内插器,并且其中垂直片段中的至少一些包括来自后续片段的最后三个像素。
还公开了一种SoC,其中,垂直片段中的至少一些包括来自先前片段的一个或多个最后像素。
进一步公开了一种SoC,其中,垂直片段中的至少一些包括来自后续片段的一个或多个最后像素。
还公开了一种SoC,其中,垂直片段中的至少一些包括来自先前片段的三个最后像素。
进一步公开了一种SoC,其中,垂直片段中的至少一些包括来自后续片段的最后三个像素。
进一步公开了一种SoC,其中N个图像缩放器被流水线化以防止缓冲器欠载。
进一步公开了上述多个示例的SoC,还包括:高清多媒体接口(HDMI)接收器,用于接收输入HDMI视频流;以及DSC解压缩器,用于解压缩HDMI视频输入并提取输入图像;DSC压缩器,用于接收输出图像并将输出图像编码为缩放后的输出HDMI视频流;HDMI发送器,用于发送缩放后的输出HDMI视频流。
进一步公开了一种SoC,其进一步包括用于帧缓冲器压缩的编解码器。
还公开了一种SoC,其进一步包括动态随机存取存储器接口。
进一步公开了一种SoC,其进一步包括去栅格化器。
还公开了一种SoC,其进一步包括色彩空间转换器。
还公开了一种SoC,其进一步包括图像裁剪器。
还公开了一种SoC,其进一步包括帧率转换器。
还公开了一种缩放图像的方法,包括:接收输入图像;将输入图像切成N个片段;根据图像缩放算法,基于光栅的缩放并行地对N个片段进行缩放;将缩放后的垂直片段合并为合并后的缩放后的输出图像。
还公开了一种方法,该方法还包括:从输入视频流中提取输入图像。
还公开了一种方法,其中每个片段基本上是输入图像的1/N平铺。
进一步公开了一种方法,其中N=4。
还公开了一种方法,其中,输入图像是视频流的帧,并且其中,将输出图像缩放到7,680水平像素x4,320垂直像素。
还公开了一种方法,该方法还包括将图像放大到8K UHD分辨率或将图像缩小到8KUHD分辨率。
还公开了一种方法,其中图像缩放算法包括线性插值。
还公开了一种方法,其中图像缩放算法包括多项式插值。
还公开了一种方法,其中图像缩放算法包括二次插值。
还公开了一种方法,其中,至少一些垂直片段包括来自先前片段的一个或多个最后像素。
还公开了一种方法,其中垂直片段中的至少一些包括来自先前片段的三个最后像素
还公开了一种方法,该方法还包括对并行的线性图像缩放进行流水线处理。
进一步公开了一种方法,其中,所述输出图像是高清多媒体接口(HDMI)兼容视频流的帧。
还公开了一种方法,其中,所述输入图像是高清多媒体接口(HDMI)兼容视频流的帧。
进一步公开了多个以上示例的方法,还包括提供帧缓冲器压缩和解压缩。
还公开了一种SoC,其进一步包括动态随机存取存储器接口。
进一步公开了多个上述示例的方法,还包括提供去栅格化。
进一步公开了多个上述示例的方法,还包括提供色彩空间转换。
进一步公开了多个以上示例的方法,还包括提供图像裁剪。
进一步公开了一种装置,其包括执行多个以上示例的方法的装置。
还公开了一种设备,其中,所述装置包括片上系统。
还公开了一种设备,其中,所述装置包括机顶盒。
还公开了一种智能电视,其包括以上示例中的一个或多个的设备。
还公开了一种或多种有形的、非暂时性的计算机可读介质,其上存储有指令以指示可编程装置执行该方法或实现多个上述示例的装置的至少一部分。
还公开了一种或多种有形的非暂时性计算机可读介质,其中,所述指令包括硬件描述语言指令。
上文概述了本文公开的主题的一个或多个实施例的特征。提供这些实施例以使本领域普通技术人员(PHOSITA)能够更好地理解本公开的各个方面。在不详细描述的情况下,可以引用某些易于理解的术语以及基础技术和/或标准。可以预料,PHOSITA将拥有或能够获得足以实践本说明书的教导的那些技术和标准中的背景知识或信息。
PHOSITA将意识到,他们可以容易地将本公开用作设计或修改其他过程、结构或变体的基础,以实现与本文介绍的实施例相同的目的和/或实现相同的优点。P HOSITA还将认识到,这样的等效构造不脱离本公开的精神和范围,并且在不脱离本公开的精神和范围的情况下,它们可以进行各种改变、替换和变更。
注意,以上参考附图讨论的活动适用于涉及信号处理的任何集成电路(例如,手势信号处理、视频信号处理、音频信号处理、模数转换、数模转换),尤其是那些可以执行专门软件程序或算法的软件,其中某些可能与处理数字化实时数据相关。某些实施例可以涉及多DSP、多ASIC或多SoC信号处理、浮点处理、信号/控制处理、固定功能处理、微控制器应用等。在某些情况下,本文讨论的特征可适用于医疗系统、科学仪器、无线和有线通信、雷达、工业过程控制、音频和视频设备、电流感测、仪器(可以非常精确)以及其他基于数字处理的系统。而且、可以在用于医学成像、患者监测、医学仪器和家庭保健的数字信号处理技术中提供以上讨论的某些实施例。例如,这可能包括肺部监护仪、加速计、心率监护仪或起搏器,以及外围设备。其他应用可能涉及用于安全系统的汽车技术(例如稳定性控制系统、驾驶员辅助系统、制动系统、信息娱乐和任何类型的内部应用)。此外,动力总成系统(例如,在混合动力和电动汽车中)可以在电池监控、控制系统、报告控制、维护活动等中使用高精度数据转换,渲染和显示产品。在其他示例场景中,本公开的教导可以适用于包括有助于提高生产率、能效和可靠性的过程控制系统的工业市场。在消费者应用中,以上讨论的信号处理电路的教导可以用于图像处理、自动聚焦和图像稳定(例如,用于数码相机、便携式摄像机等)。其他消费类应用程序可以包括用于家庭影院系统的音频和视频处理器、DVD刻录机和高清电视。其他消费类应用程序可能涉及高级触摸屏控制器(例如,对于任何类型的便携式媒体设备)。因此,此类技术很容易成为智能手机、平板电脑、安全系统、PC、游戏技术、虚拟现实、模拟培训等的一部分。
前述概述了几个实施例的特征,使得本领域技术人员可以更好地理解本公开的方面。本领域技术人员应当理解,他们可以容易地将本公开用作设计或修改其他过程和结构的基础,以实现与本文介绍的实施例相同的目的和/或实现相同的优点。本领域技术人员还应该认识到,这样的等同构造不脱离本公开的精神和范围,并且在不脱离本公开的精神和范围的情况下,它们可以在这里进行各种改变、替换和变更。
本公开的特定实施例可以容易地包括片上系统(SoC)中央处理单元(CPU)封装。SoC代表将计算机或其他电子系统的组件集成到单个芯片中的集成电路(IC)。它可能包含数字、模拟、混合信号和射频功能:所有这些功能都可以在单个芯片基板上提供。其他实施例可以包括多芯片模块(MCM),其中多个芯片位于单个电子封装内并且被配置为通过电子封装彼此紧密地相互作用。适当时,可以在可重用的“黑匣子”知识产权(IP)块中提供ASIC或SoC的任何模块、功能或块元素,可以在不公开IP块逻辑细节的情况下将其单独分发。在各种其他实施例中,数字信号处理功能可以在专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其他半导体芯片中的一个或多个硅核中实现。
在一些情况下,本说明书的教导可以被编码到其上存储有可执行指令的一种或多种有形的非暂时性计算机可读介质中,当执行该可执行指令时,该可执行指令指示可编程装置(例如处理器或DSP)执行本文公开的方法或功能。在此处的教导至少部分地体现在硬件设备(例如ASIC、IP块或SoC)中的情况下,非暂时性介质可以包括用逻辑编程以执行本文公开的方法或功能的硬件设备。教导也可以以寄存器传送级别(RTL)或诸如VHDL或Verilog之类的其他硬件描述语言的形式来实践,其可以用于对制造过程进行编程以产生所公开的硬件元件。
在示例实现中,本文概述的处理活动的至少一些部分也可以在软件中实现。在一些实施例中,这些特征中的一个或多个可以在公开的附图的元件外部提供的硬件中实现,或者以任何适当的方式合并以实现预期的功能。各种组件可以包括可以协调以便实现本文概述的操作的软件(或往复软件)。在其他实施例中,这些元素可以包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
另外,与所描述的微处理器相关联的一些组件可以被移除或以其他方式合并。在一般意义上,附图中描绘的布置在它们的表示中可以更逻辑,而物理架构可以包括这些元素的各种排列、组合和/或混合。必须注意,可以使用无数种可能的设计配置来实现此处概述的操作目标。因此,相关的基础结构具有无数的替代方案、设计选择、设备可能性、硬件配置、软件实现、设备选项等。
任何适当配置的处理器组件都可以执行与数据相关联的任何类型的指令,以实现本文详述的操作。本文公开的任何处理器都可以将元素或物品(例如,数据)从一种状态或事物转换为另一种状态或事物。在另一个示例中,本文概述的一些活动可以用固定逻辑或可编程逻辑(例如,处理器执行的软件和/或计算机指令)来实现,并且本文中标识的元素可以是某种类型的可编程处理器、可编程数字逻辑(例如,FPGA、可擦可编程只读存储器(EPROM))、一种电可擦可编程只读存储器(EEPROM))、ASIC,包括数字逻辑、软件、代码、电子指令、闪存、光盘、CD-ROM、DVDROM、磁卡或光卡,适用于存储电子指令的其他类型的机器可读介质、或其任意合适的组合。在操作中,处理器可以将信息存储在任何适当类型的非暂时性存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、FPGA、EPROM、电可擦除可编程ROM(EEPROM)等)、软件、硬件或任何其他合适的组件、设备、元件或根据特定需要的对象中。此外,基于特定的需求和实现,可以在任何数据库、寄存器、表、缓存、队列、控制列表或存储结构中提供正在跟踪、发送、接收或存储在处理器中的信息,所有这些都可以在任何合适的时间范围内引用。本文讨论的任何存储项都应解释为包含在广义的“内存”之内。类似地,本文描述的任何潜在处理元件、模块和机器都应解释为包含在广义的“微处理器”之内。此外,在各个实施例中,本文所述的处理器、存储器、网卡、总线、存储设备、相关外围设备和其他硬件元件可以通过由软件或固件配置的处理器、存储器和其他相关设备来实现,以模拟或虚拟化那些硬件元件的功能。
实现本文所述的全部或部分功能的计算机程序逻辑以各种形式体现,包括但绝不限于源代码形式、计算机可执行形式、硬件描述形式和各种中间形式(例如,遮罩作品,或由汇编器、编译器、链接器或定位器生成的形式)。在示例中,源代码包括以各种编程语言(例如目标代码、汇编语言或高级语言,例如OpenCL、RTL、Verilog、VHDL、Fortran、C、C++、JAVA或可用于各种操作系统或操作系统的HTML)实现的一系列计算机程序指令。源代码可以定义和使用各种数据结构和通信消息。源代码可以是计算机可执行形式(例如,经由解释器),或者源代码可以被转换(例如,经由翻译器、汇编器或编译器)成计算机可执行形式。
在以上实施例的讨论中,电容器、缓冲器、图形元件、互连板、时钟、DDR、相机传感器、转换器、电感器、电阻器、放大器、开关、数字核心、晶体管和/或其他组件可以容易地更换、替换或以其他方式修改以适应特定的电路需求。此外,应注意,互补电子设备、硬件、非暂时性软件等的使用为实现本公开的教导提供了同样可行的选择。
在一个示例实施例中,可以在关联的电子设备的板上实现任意数量的附图的电路。该板可以是通用电路板,其可以容纳电子设备的内部电子系统的各种组件,并且还可以提供用于其他外围设备的连接器。更具体地说,该板可提供电连接,系统的其他组件可通过该电连接进行电通信。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、存储元件等都可以根据特定的配置需求、处理需求、计算机设计等适当地耦合到板上。其他组件(例如外部存储器,附加传感器,用于音频/视频显示的控制器和外围设备)可以通过电缆作为插入卡连接到板上,也可以集成到板上。在另一个示例实施例中,附图中的电路可以被实现为独立模块(例如,具有配置为执行特定应用程序或功能的相关组件和电路的设备)或被实现为电子设备的专用硬件中的插入模块。
注意,利用本文提供的众多示例,可以根据两个、三个、四个或更多个电子组件来描述交互。但是,这样做只是出于清楚和示例的目的。应当理解,可以以任何合适的方式来合并系统。沿着类似的设计替代方案,附图中任何示出的组件、模块和元件可以以各种可能的配置进行组合,所有这些配置显然都在本说明书的广泛范围内。在某些情况下,通过仅参考有限数量的电子元件来描述给定一组流程的一个或多个功能可能更容易。应当理解,附图的电路及其教导易于扩展,并且可以容纳大量的组件,以及更复杂/复杂的布置和配置。因此,提供的示例不应限制范围或抑制可能潜在地应用于无数其他架构的电路的广泛教导。
本领域技术人员可以确定许多其他改变、替换、变化、变更和修改、并且意图是本公开涵盖落入所附权利要求范围内的所有这样的改变、替换、变更、替换和修改。为了帮助美国专利商标局(USPTO),以及与此申请相关的任何专利的任何读者解释本申请所附的权利要求,申请人希望注意,申请人:(a)除非本权利要求书中具体使用了“用于……的手段”或“用于……的步骤”一词,否则所附权利要求书无意援引其在申请日之时存在的35U.S.C.§112(f);(b)无意通过说明书中的任何陈述来以任何未在所附权利要求中反映的方式限制本公开。

Claims (16)

1.一种视频处理器,包括:
输入缓冲器,用于接收输入图像;
限幅器电路,用于将所述输入图像划分为N个垂直片段;
N个并行图像缩放器,其中每个缩放器是被配置为根据图像缩放算法对所述N个垂直片段之一进行逐行缩放的硬件;和
输出多路复用器,将缩放后的垂直片段合并为合并后的缩放的输出图像;
其中所述图像缩放算法包括线性插值法,并且
其中基本上代表第一、第二和第三四分位数的垂直片段包括来自后续片段的三个第一像素,并且基本上代表第二、第三和第四四分位数的垂直片段包括前面片段的三个最后像素。
2.权利要求1所述的视频处理器,还包括逻辑和电路,用于接收输入视频流,并从所述输入视频流中提取输入图像。
3.权利要求1所述的视频处理器,其中每个垂直片段基本上是所述输入图像的四分位数。
4.权利要求1所述的视频处理器,包括逻辑和电路,用于接收分辨率选自480p、480i、720p、720i、1080p、1080i和4K超高清UHD的输入视频流,并通过N个并行图像缩放器将所述输入视频流缩放为8K UHD分辨率的输出视频流。
5.权利要求1所述的视频处理器,包括逻辑和电路,用于接收8K UHD分辨率的输入视频流,并通过N个并行图像缩放器将所述图像缩小至较低的分辨率。
6.权利要求1所述的视频处理器,其中所述图像缩放算法包括更高阶插值法。
7.权利要求1所述的视频处理器,其中所述N个图像缩放器是流水线的。
8.权利要求1所述的视频处理器,其中所述输出图像是高清多媒体接口(HDMI)兼容视频流的帧。
9.权利要求7所述的视频处理器,其中所述输入图像是高清多媒体接口(HDMI)兼容视频流的帧。
10.一种知识产权IP块,包括权利要求1所述的视频处理器。
11.一种片上系统SoC,包括:
接收输入图像的电路;
图像限幅器,用于将所述输入图像划分为N个片段;
N个图像缩放器,设置为并行缩放所述N个片段,并包括内插器电路以在所述输入图像的像素之间插入中间像素;和
输出多路复用器,用于将缩放的垂直片段多路复用为合并后的缩放的输出图像,
其中所述内插器电路包括高阶内插器,并且其中至少一些垂直片段包括来自前面片段的三个最后像素。
12.权利要求11所述的SoC,还包括:N个输入去栅格化缓冲器,从而以像素速率的1/N接收输入图像;以及重新栅格化缓冲器,以收集N个缩放的片段,并以1的像素速率输出它们。
13.权利要求11所述的SoC,还包括:
高清多媒体接口HDMI接收器,用于接收输入的HDMI视频流;
DSC解压缩器,用于解压缩所述HDMI视频输入并提取输入图像;
DSC压缩器,用于接收输出图像并将所述输出图像编码为缩放后的输出HDMI视频流;和
HDMI发送器,用于发送所述缩放后的输出HDMI视频流。
14.一种缩放图像的方法,包括:
接收输入图像;
将所述输入图像划分为N个片段;
根据图像缩放算法对所述N个片段并行进行基于栅格的缩放;和
将缩放后的垂直片段合并为合并后的缩放的输出图像,
其中所述图像缩放算法包括二次插值法,并且其中至少一些垂直片段包括来自前面片段的一个或多个最后像素。
15.权利要求14所述的方法,还包括接收从输入视频流中提取输入图像。
16.权利要求14所述的方法,还包括将图像放大到8K UHD分辨率或将图像从8K UHD分辨率缩小。
CN201911097741.5A 2018-11-12 2019-11-12 图像缩放装置和方法 Active CN111182305B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/188,209 US10972744B2 (en) 2018-11-12 2018-11-12 Image scaling
US16/188,209 2018-11-12

Publications (2)

Publication Number Publication Date
CN111182305A CN111182305A (zh) 2020-05-19
CN111182305B true CN111182305B (zh) 2022-03-01

Family

ID=70469256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911097741.5A Active CN111182305B (zh) 2018-11-12 2019-11-12 图像缩放装置和方法

Country Status (4)

Country Link
US (2) US10972744B2 (zh)
KR (1) KR20200055668A (zh)
CN (1) CN111182305B (zh)
DE (1) DE102019130366A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018101514A1 (ko) * 2016-12-01 2018-06-07 엘지전자 주식회사 영상표시장치, 및 이를 구비하는 영상표시 시스템
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
US11631159B2 (en) * 2020-03-31 2023-04-18 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Zoom control of digital images on a display screen
US20220179815A1 (en) * 2020-12-03 2022-06-09 Syng, Inc. Devices and Methods for Audio Signal Transmission from HDMI to USB-C

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050248590A1 (en) * 2004-05-07 2005-11-10 Tian Yu T Method and system for scaling, filtering, scan conversion, panoramic scaling, YC adjustment, and color conversion in a display controller
CN101697114A (zh) * 2009-10-23 2010-04-21 广东威创视讯科技股份有限公司 多屏拼接显示处理方法和装置
CN103473735A (zh) * 2012-02-24 2013-12-25 苹果公司 并行缩放器处理
CN104104888A (zh) * 2014-07-01 2014-10-15 大连民族学院 一种并行多核fpga数字图像实时缩放处理方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950006769B1 (ko) * 1992-12-31 1995-06-22 현대전자산업주식회사 고선명 텔레비젼의 색차신호 동벡터 추출방법 및 움직임 보상장치
US5949490A (en) * 1997-07-08 1999-09-07 Tektronix, Inc. Distributing video buffer rate control over a parallel compression architecture
US6832009B1 (en) 1999-09-24 2004-12-14 Zoran Corporation Method and apparatus for improved image interpolation
US7292772B2 (en) * 2000-05-29 2007-11-06 Sony Corporation Method and apparatus for decoding and recording medium for a coded video stream
US20040183817A1 (en) 2002-12-03 2004-09-23 Bitstream Inc. Methods, systems, and programming for scaled display of web pages
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
JP2008527945A (ja) * 2005-01-19 2008-07-24 トムソン ライセンシング リアルタイム並列符号化の方法及び装置
CN101253777A (zh) * 2005-07-01 2008-08-27 极速决件公司 用于在多媒体信号编码中使用的方法、装置和系统
US8195008B2 (en) * 2007-06-28 2012-06-05 Broadcom Corporation Method and system for processing video data in a multipixel memory to memory compositor
US8159606B2 (en) 2008-08-04 2012-04-17 Thomson Licensing Method and apparatus for reversible, polynomial based image scaling
WO2011002914A1 (en) * 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
US20110078236A1 (en) 2009-09-29 2011-03-31 Olsen Jr Dan R Local access control for display devices
EP2618580B1 (en) * 2010-09-16 2018-08-01 Panasonic Intellectual Property Management Co., Ltd. Image decoding device and image encoding device, methods therefor, programs thereof, integrated circuit, and transcoding device
US9008462B2 (en) * 2011-02-17 2015-04-14 The Johns Hopkins University Methods and systems for registration of radiological images
US9232139B2 (en) * 2012-07-24 2016-01-05 Apple Inc. Image stabilization using striped output transformation unit
US10448032B2 (en) * 2012-09-04 2019-10-15 Qualcomm Incorporated Signaling of down-sampling location information in scalable video coding
US9349072B2 (en) 2013-03-11 2016-05-24 Microsoft Technology Licensing, Llc Local feature based image compression
KR20140129607A (ko) * 2013-04-30 2014-11-07 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US9307191B2 (en) 2013-11-19 2016-04-05 Microsoft Technology Licensing, Llc Video transmission
KR102210956B1 (ko) 2014-01-06 2021-02-02 삼성전자주식회사 영상표시장치 및 영상표시장치의 구동방법, 이동단말장치 및 이동단말장치의 구동방법
US9405446B1 (en) * 2014-03-24 2016-08-02 Amazon Technologies, Inc. Efficient and interactive presentation of item images
US10073553B2 (en) 2014-09-22 2018-09-11 Google Llc Scripting cross-device wearable interaction
US10277904B2 (en) * 2015-08-28 2019-04-30 Qualcomm Incorporated Channel line buffer data packing scheme for video codecs
US10120187B2 (en) * 2016-02-18 2018-11-06 Nvidia Corporation Sub-frame scanout for latency reduction in virtual reality applications
GB2556908B (en) * 2016-11-24 2021-10-13 Emdalo Tech Limited Ie System and method for determining the presence of objects in an image
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050248590A1 (en) * 2004-05-07 2005-11-10 Tian Yu T Method and system for scaling, filtering, scan conversion, panoramic scaling, YC adjustment, and color conversion in a display controller
CN101697114A (zh) * 2009-10-23 2010-04-21 广东威创视讯科技股份有限公司 多屏拼接显示处理方法和装置
CN103473735A (zh) * 2012-02-24 2013-12-25 苹果公司 并行缩放器处理
CN104104888A (zh) * 2014-07-01 2014-10-15 大连民族学院 一种并行多核fpga数字图像实时缩放处理方法和装置

Also Published As

Publication number Publication date
US20200154120A1 (en) 2020-05-14
US10972744B2 (en) 2021-04-06
CN111182305A (zh) 2020-05-19
US20210203966A1 (en) 2021-07-01
DE102019130366A1 (de) 2020-05-14
US11463715B2 (en) 2022-10-04
KR20200055668A (ko) 2020-05-21

Similar Documents

Publication Publication Date Title
CN111182305B (zh) 图像缩放装置和方法
US9665332B2 (en) Display controller, screen transfer device, and screen transfer method
US20120314777A1 (en) Method and apparatus for generating a display data stream for transmission to a remote display
TWI567634B (zh) 採用多重顯示管線以驅動一影像圖框之獨立部分的裝置、運算系統及方法
US8723891B2 (en) System and method for efficiently processing digital video
EP3163886A1 (en) Audio and video playback device, data display method, and storage medium
CN105278904B (zh) 数据处理系统、操作数据处理系统中的显示控制器的方法
CN103347163A (zh) 一种超高清视频图像处理和传送的系统及其方法
WO2013042264A1 (ja) 映像処理装置および映像処理方法
US6885381B1 (en) System and method for producing a video signal
TWI504246B (zh) 視訊縮放器中之振鈴抑制
US20180270448A1 (en) Image processing system
JPWO2013150698A1 (ja) 映像信号送信装置及び受信装置
CN111988552B (zh) 图像输出控制方法及装置和视频处理设备
CN114020228A (zh) 屏幕显示方法及装置
US20070122045A1 (en) System for scaling a picture unit from a first video resolution format to a second video resolution format
EP3136731A1 (en) Encoding device, encoding method, transmission device, transmission method, reception device, reception method and program
US9609215B2 (en) Moving-image recording/reproduction apparatus
CN111554248A (zh) 液晶显示芯片
CN105516633A (zh) 一种图像处理系统
WO2020173183A1 (en) Parallel processing pipeline considerations for video data with portions designated for special treatment
JP2014216668A (ja) 撮像装置
CN103634597B (zh) 一种在4k2k电视机上解码图片的方法
JP6067085B2 (ja) 画面転送装置
US20160057436A1 (en) Video processing apparatus and video display apparatus

Legal Events

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