CN101495952B - 结合流水线重叠的显示处理线缓冲器 - Google Patents
结合流水线重叠的显示处理线缓冲器 Download PDFInfo
- Publication number
- CN101495952B CN101495952B CN2007800278655A CN200780027865A CN101495952B CN 101495952 B CN101495952 B CN 101495952B CN 2007800278655 A CN2007800278655 A CN 2007800278655A CN 200780027865 A CN200780027865 A CN 200780027865A CN 101495952 B CN101495952 B CN 101495952B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- streamline
- algorithm
- pixel value
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 54
- 239000000872 buffer Substances 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000003068 static effect Effects 0.000 claims description 2
- 230000009471 action Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 241000255925 Diptera Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
公开了用于包含流水线重叠的显示处理线缓冲器的装置、系统和方法。例如,公开了一种装置,该装置包括:处理逻辑,其使用像素处理算法处理图像中的第一部分的像素值;以及线缓冲器,其耦合到该处理逻辑。线缓冲器至少保存该图像中与第一部分相邻的其它部分中的至少一部分像素值。在此,由线缓冲器保存的该图像的所述其它部分中的像素值对应于该图像中的相邻部分的、像素处理算法要将其与第一部分的像素值进行卷积的像素值。还公开了其它实现方式。
Description
背景技术
通常以光栅方式进行用于显示的图像处理,在光栅方式中,从一帧中最上一行的最左边像素开始一行接一行地向下遍历该帧,来顺序地处理像素,以便将任一特定行中的所有像素一起进行处理。在处理帧的一行中的指定像素的同时,像素处理算法或者“滤波器核”可能需要访问周围的垂直像素。然而,因为在光栅方式中通常是通过典型的处理流水线对像素进行顺序扫描的,因此可能不会立即获得周围的垂直像素。
用以访问周围垂直像素的一种常见解决方案是,使用线缓冲器来存储正在被处理的像素周围的多个行的像素,以便正在执行的滤波器容易获得这些垂直像素。因此,例如,要使用5乘5(5×5)的二维(2D)滤波器核,则这个常见解决方案就要使用4个线缓冲器来存储4个周围行中的像素。对于9×9 2D滤波器,则需要使用8个线缓冲器。然而,线缓冲器在实施上是昂贵的。尤其在全高清晰度(HD)图像处理中更是如此,在HD图像处理中,每一个线缓冲器通常都足够宽,以便能够存储至少1,920个像素值。对于使用多个滤波器核的典型图像处理流水线来说,与使用全宽度线缓冲器有关的花费会是高得惊人的。
附图说明
附图包含在本说明书中,并组成其一部分,其示出了与本发明原理相一致的一个或多个实施方式,并且与本发明的说明书一起解释了这些实施方式。附图并非必然是按比例绘制的,相反,其重点在于示出本发明的原理。在附图中,
图1示出了根据本发明一些实施方式的图像处理系统的多个部分;
图2示出了一个实例图像处理方案;
图3是示出根据本发明一些实施方式的处理过程的流程图;
图4示出了实例图像处理流水线方案;
图5示出了实例图像处理像素标记方案;
图6示出了根据本发明一些实施方式的合并了流水线重叠(pipelineoverlap)的实例图像处理方案;及
图7示出了根据本发明一些实施方式的系统。
具体实施方式
以下说明参考了附图。在不同附图中相同的参考数字标记用于标识相同或相似的元件。尽管以下说明通过阐述特定细节,例如具体结构、架构、接口、技术等,提供了对所声明的发明的不同方面的全面理解,但此类细节是为了解释的目的而提供的,不应视为限制性的。而且,按照本公开内容,本领域技术人员会意识到,可以在脱离这些特定细节的其它实例或实施方式中实现所声明的发明的各种方面。在以下的公开内容中的某些时机,省略了对公知的装置、电路和方法的说明,以避免由于不必要的细节而使本发明的说明不清楚。
图1是根据所声明的发明的一些实施方式的图像处理系统100的多个部分的简化框图。系统100可以包括显示处理引擎(DPE)102、显示控制器104、存储器控制器106和存储器108。DPE 102还包括一组线缓冲器112。
DPE 102可以是能够支持像素数据处理的硬件、软件和/或固件形式的逻辑的任意组合,在此,根据本发明的一些实施方式,DPE 102可以包括至少能够评估与一组滤波器核相关联的总流水线水平重叠的处理逻辑,在此可以认为该组滤波器核包括由DPE 102实现的滤波器流水线,如以下详细解释的。为此,根据本发明的一些实施方式,DPE 102能够提供具有足够宽度的线缓冲器112,以支持像素数据的处理,其中,可以提供在水平相邻的区域之间的变化的重叠程度,如以下详细解释的。另外,DPE 102可以包括一个或多个处理内核(未示出),每一个处理内核都能够以并行和/或同时的方式承担根据本发明实施方式的处理。以下会更详细地解释DPE 102的使用和功能。
显示控制器104可以包括能够将由DPE 102提供的已处理像素数据转换为适于驱动显示器的格式(即,显示器专用数据)的任何处理和/或控制逻辑(即,采用硬件、软件、和/或者固件形式)。例如,DPE 102可以以特定颜色数据格式将已处理像素数据提供给控制器104,例如以压缩的红-绿-蓝(RGB)格式,并且控制器104可以例如通过产生相应的液晶显示器(LCD)驱动数据级等来修改该数据,然而本发明并不限于这一点。尽管图1将DPE102和控制器104显示为不同的组件,但本发明并不限于这一点,本领域技术人员会认识到,例如显示控制器104的全部功能或者部分功能可以由DPE102来执行,或者进一步而言,可以由显示处理器和/或主处理器(例如微处理器)来提供DPE 102和/或控制器104的功能。
存储器控制器106可以包括能够为DPE 102提供要由DPE 102根据一组滤波器核进行处理或滤波的像素数据(即像素值)的任何存储器存取逻辑(即,采用硬件、软件、和/或固件形式)。为了存储与由DPE 102处理的像素值相对应的像素数据,控制器106还可以为DPE 102提供对存储器108的访问。存储器控制器106还可以为显示控制器104提供对存储或保存在存储器108中的像素数据(经处理的或其他状态的)的访问。然而,本发明并不限于存储器控制器106的具体实现,因此在此将不再更详细地说明这一项。
存储器108可以包括适于存储和/或保存像素数据的任何存储装置或机构(例如采用亮度和色差信号(即“YUV”数据)或红-绿-蓝(RGB)颜色像素数据或值,或其它可能格式的形式)。尽管存储器108可以包括任何易失性或非易失性存储技术,例如随机存取存储器(RAM)或易失性存储技术(例如闪存),但本发明决不受所使用的用作存储器108的存储器类型的限制。
图2示出了用于图像处理的方案200的简化实例。提供图2仅是用于帮助对根据本发明一些实施方式的处理过程进行论述,因此图2中所示的量或项决不应解释为限制本发明。图2显示了图像帧202,其例如对应于高清晰度(HD)1920×1080显示格式(即,在此的帧202包括1,920个垂直列和1,080个水平行的像素值),在此,已经将帧202划分为4个水平相邻的区域204-207,每一个区域都包括1,080行和480列的像素值,并且每一个区域都是由边界208相对于相邻区域来定义的。尽管在图2中显示了4个区域204-207,但本发明本身并不受所采用的区域数量或这些所用区域的宽度(例如以每个区域的像素列度量的)的限制。
根据针对应用于帧202中一个指定像素行的图像处理方案的本发明的一些实施方式,任何一个指定区域204-207中的像素可以与任何其它区域204-207中的像素分开处理。换句话说,例如,区域205中的像素可以与区域206中的像素分开处理。此外,根据本发明的一些实施方式,可以以连续和/或顺序的方式(即由一个处理内核)或以并行方式(即由多个处理内核)分别处理任何区域204-206中的像素。而且,根据本发明一些实施方式的图像处理方案可以不同于光栅扫描图像处理方案,因为对于帧202的一个指定行,光栅扫描图像处理方案可以以连续和/或顺序的方式处理该行中的所有像素。
图3是示出根据本发明一些实施的处理过程300的流程图。尽管为了易于解释,可以针对图1的系统100和图2的方案200来说明处理过程300,但是所声明的发明并不限于这一点,由根据所声明的发明的适当装置支持的其它处理过程或方案也是可行的。
处理过程300可以开始于对与图像处理流水线相关的流水线重叠值的确定[动作302]。根据本发明的一些实施方式,DPE 102可以在预处理级中进行动作302。就是说,当将DPE 102配置为实施图像处理流水线时,可以进行动作302,在此,该流水线使用一个或多个滤波器核来处理像素数据。本领域技术人员会认识到,由诸如DPE 102之类的装置进行的图像处理可以使用一个或多个滤波器核,在此这些核实际上包括数值矩阵,该数值矩阵例如起到将指定像素值与周围像素的加权值进行卷积的效果。此外,如本领域技术人员会认识到的,诸如DPE 102之类的装置可以响应于滤波器算法而使用内部处理逻辑来处理像素值,以实现相应的数值核。
图4示出了使用一系列滤波器核的实例图像处理流水线400。提供图4用于帮助对处理过程300的论述,尤其是动作302,在此图示的数量或项决不应解释为限制本发明。流水线400包括三个算法或滤波器核的序列:第一算法402(对应于5×5二维(2D)滤波器核)、第二算法404(对应于9-抽头水平或一维(1D)滤波器)、以及第三算法406(对应于9×9 2D滤波器)。本领域技术人员会认识到术语N×N 2D滤波器核(例如,5×5 2D,9×9 2D等)和N-抽头水平滤波器的含义,尽管会将这些术语置于以下更进一步的语境中。算法402-406是仅为解释目的而在图4中所提供的实例算法,而不应解释为将本发明限制于特定的图像处理算法和/或特定的图像处理流水线方案。
本领域技术人员会进一步认识到,使用算法402的图像处理方案可能需要使用这样的线缓冲器408:即,其具有至少四(4)条线,以便存储与算法402正在处理的像素垂直相邻和/或邻近的像素值行之中的四(4)个像素值行(上面两行和下面两行)的像素值。类似的,使用算法406可能需要使用这样的线缓冲器410:即,其具有至少八(8)条线,以便存储八(8)个像素值行的像素值。此外,本领域技术人员会认识到,算法404,即9-抽头水平算法,无需使用存储相邻像素值行的线缓冲器,因为这个算法将正在处理的像素与来自同一行中邻近和/或相邻像素的值进行卷积。而且,根据本发明的一些实施方式,如果使用流水线400来进行一帧像素数据的图像处理,并且其中该帧被划分为多个水平相邻的图像区域,那么线缓冲器408/410的宽度(即存储在每一条线或行中的像素值的数量)可以对应于一个宽度,该宽度小于由流水线400处理的图像帧的全水平分辨率。
图5示出了用于标记像素的实例方案500。提供图5用于帮助对处理过程300的论述,尤其是动作302,在此所示的数量或项决不应解释为限制本发明。图5包括两个相邻图像区域504和505的代表性部分,这两个区域504和505由区域边界506分开。考虑这样的情况:即,使用流水线400(图4)的DPE 102要处理在区域504内并相邻于区域边界的像素508(例如,在此像素508是240像素宽的区域的一行中的第240个像素)。对于像素508,算法402的应用将像素508的值与围绕像素508的5×5像素矩阵510的加权值进行卷积,算法404的应用将像素508的值与位于像素508任一侧的同一行内的四个相邻像素512的加权值进行卷积,算法406的应用将像素508的值与围绕像素508的9×9像素矩阵514的加权值进行卷积,如图所示。
在流水线400(图4)的环境下考虑图5,会认识到如果像素508的值要由流水线400准确地进行处理,则将流水线400应用于区域504的像素508就会导致将区域505中的一些像素与像素508的值进行卷积。具体而言,仅考虑包含像素508的行,在此为了论证,像素508是区域504中第240个像素且是最后一个像素(240像素的实例区域宽度),于是算法402(5×5 2D滤波器)应该卷积像素508右侧的相邻的两个像素516(例如第241和242个像素)的值。类似地,算法404(9-抽头水平滤波器)应该卷积像素508右侧的相邻的四个像素517(例如第241到第244个像素)的值。然而,当如此进行时,除非算法402已经卷积了这四个像素517右侧的两个更进一步相邻的像素518(例如第245和246个像素),否则当算法404将第244个像素的值与第240个像素的值(即像素508的值)进行卷积时,其就不能使用第244个像素的正确值。
同样的,算法406(9×9 2D滤波器)应该卷积像素508右侧的相邻的四个像素517(例如第241到第244个像素)的值。然而,当如此进行时,除非算法404已经卷积了这四个像素517右侧的四个更进一步相邻的像素519(例如第245到第248个像素)且除非算法402已经卷积了这四个像素519右侧的两个更进一步相邻的像素520(例如第249和250个像素),否则当算法406将第244个像素的值与第240个像素的值进行卷积时,其就不能使用第244个像素的正确值。因此,为了确保将流水线400应用于被划分为多个水平相邻区域的图像帧的一个区域中的像素所得到的结果在数学上与在光栅扫描像素处理方案中会获得的结果相似,根据本发明,可以定义水平重叠,在此该水平重叠包括从与正在处理的区域相邻的区域得到的足够的像素。
例如,如图5所示,为了获得流水线400对区域504中最右边像素508的在数学上的正确应用,根据本发明一些实施方式,可以定义重叠522,在此该重叠包括区域505中相邻于该最右边像素的10个像素。因此,根据本发明的一些实施方式,如果将重叠522包含在区域504的处理中,那么区域504的图像处理可以产生的结果在数学上与由标准光栅扫描处理所产生结果相似。
一般而言,根据本发明的一些实施方式,可以定义流水线重叠因子,在此该因子可以表示为:
在此,像素处理流水线中的每一个算法“i”都具有相关的水平重叠因子h_overlap[i]。因此,例如流水线400中的算法402会具有水平重叠因子二(2),流水线400中的算法404和406都会具有水平重叠因子四(4)。因此,流水线400的pipeline_overlap(等式1)的值会是十(10)。根据本发明的一些实施方式,动作302可以包括使DPE 102根据等式1确定流水线重叠因子,在此已经为DPE 102提供了要在处理过程300中使用的像素处理流水线的各个算法各自的水平重叠因子h_overlap[i]。可替代的,可以由另一个装置,例如主处理器,将流水线重叠因子提供给DPE 102。
处理过程300随后可以继续进行到提供一个或多个线缓冲器,并且这些线处理器所具有的宽度足以容纳区域宽度加上两倍的流水线重叠因子[动作304]。图6示出了实例图像600,根据本发明的一些实施方式,该图像显示了与图像区域相关的水平重叠,在此,这些重叠具有与在动作302中确定的流水线重叠因子相对应的宽度。提供图6用于帮助对处理过程300的论述,尤其是动作304,在此所示的数量或项决不应解释为限制本发明。
如图6所示,实例图像600已经被划分为三个水平相邻区域,包括最左边区域602,根据本发明的一些实施方式,该区域602可以具有重叠604,重叠604包括相邻区域606的多个列,在此重叠604的宽度对应于在动作302中为特定图像处理流水线确定的流水线重叠因子。因为大多数图像处理算法,例如滤波器核,是对称的,因此根据本发明的一些实施方式,下一个区域606可以具有两个重叠:第一重叠608,其包括区域606左侧的区域604的多个列;以及第二重叠610,其包括区域606右侧的区域612的多个列。重叠608和610两者的宽度也可以对应于在动作302中确定的流水线重叠因子。
最后,第三个且是最右边的区域612可以具有重叠614,其包括区域612左侧的区域606的多个列。再一次,重叠614的宽度也可以对应于动作302中确定的流水线重叠因子。因此,例如如果将流水线400分别应用于区域602、606和612中的像素,那么根据本发明的一些实施方式,重叠604、608、610和614每一个都可以具有等于流水线因子十(10)的宽度。换句话说,使用这个实例,重叠604、608、610和614每一个所具有的宽度都足以包括各自的相邻区域606、602、612和606的10个列。
如图6所示,如果要处理的图像具有相应的水平尺寸和垂直尺寸image_w和image_h,那么每一个区域“j”就可以具有相应的水平尺寸和垂直尺寸region_w(j)和image_h。另外,如上所述,每一个区域可以与宽度等于pipeline_overlap的一个或两个重叠相关联。因此,根据本发明一些实施方式,各个区域602和612的要处理的像素数据的总宽度可以按如下表示为:
region_w(j)+pipeline_overlap (2)
而区域606的要处理的像素数据的总宽度可以表示为:
region_w(j)+2*pipeline_overlap (3)
因此,假定全部这三个区域都具有相同的区域宽度,例如240个像素,并且pipeline_overlap的值为10个像素,则区域602和612的要处理的像素数据的宽度会是250个像素,而区域606的要处理的像素数据的宽度会是260个像素。因此,为了将图像处理流水线应用于图像600的每一个区域以便具有在数学上与在以光栅扫描方式处理整个图像600的情况下会获得的结果相似的结果,根据本发明的一些实施方式,可以使用具有符合等式(2)的宽度的线缓冲器。换句话说,使用以上实例,与240个像素的区域宽度相比,这些线缓冲器可以具有260个像素的宽度。
然而,应注意本发明不局限于用于处理图像帧的特定区域数量,且本发明不局限于所有区域都具有相同的区域宽度。而且,术语图像区域(region)、图像区(section)、图像带(strip)、图像步幅(stride)、图像条(swath)和/或图像部分(portion)可以互换地使用,而不会脱离本发明的范围和精神。
回来参考图3,在进行动作304中,在动作302中已经访问或已经确定了流水线重叠因子(例如pipeline_overlap)后,DPE 102可以使用该重叠因子和预定的区域宽度(例如region_w)来提供一个或多个线缓冲器,在此这些线缓冲器具有对应于以上等式(2)的宽度。例如,参考流水线400(图4)和图像600(图6),动作304会包括提供十(10)个线缓冲器,其每一个都具有对应于260个像素的宽度。
处理过程300可以继续进行到接收要处理的像素数据[动作306]。在本发明的一些实施方式中,可以通过使DPE 102使用存储器控制器106访问存储在存储器108中的像素数据来进行动作306。因此,例如,动作306可以包括DPE 102使用内部直接存储器存取(DMA)引擎(未示出)经由控制器106来访问存储器108中的像素数据,在此,根据本发明的一些实施方式,从存储器108获得的像素数据的宽度与在动作304中提供的线缓冲器的宽度相匹配。继续以上的实例,如果DPE要处理像素508(图5)且在动作304中提供的线缓冲器具有260个像素的宽度,那么动作306可以包括DPE 102获得与区域606中以包含像素508的行为中心的九个行(宽度=240个像素)的像素数据以及从这九个行的与区域602和612相对应的像素数据中分别得到的用于重叠区域608和610的像素数据。
处理过程300随后可以继续进行到通过图像处理流水线处理该像素数据[动作308]。根据本发明的一些实施方式,DPE 102可以将在动作306中接收的像素数据放置在动作304中提供的线缓冲器中,并随后可以通过将滤波器流水线应用于该像素数据来进行动作308。继续以上的实例,DPE 102可以连续地使用算法402、404和406(即流水线400)来对该像素数据进行滤波,以处理在动作306中接收的像素数据。
图3中所示的动作不必以所示的顺序来执行;也不必执行全部的动作。此外,那些不依赖于其它动作的动作可以与所述其它动作并行地执行。此外,例如可以在预处理阶段中一次进行动作302和304,随后可以由两个或更多个处理内核和/或两个或更多个DPE 102多次同时地执行动作306和308,在此,例如,动作306/308的一次执行可以与对一个区域(例如区域602)中的像素的处理相关联,而动作306/308的另一次执行可以与对另一个区域(例如区域606)中的像素的处理相关联,等等。此外,在该图中的至少一些动作可以实现为指令或指令组,所述指令或指令组在机器可读介质中实现。
图7示出了根据本发明一些实施方式的实例系统700。系统700可以包括主处理器702、图形处理器704、存储器706和708(例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、非易失性存储器等)、总线或通信通路710、输入/输出(I/O)接口712(例如通用同步总线(USB)接口、并行端口、串行端口、电话端口、和/或其它I/O接口)、网络接口714(例如,有线和/或无线局域网(LAN)和/或广域网(WAN)和/或个域网(PAN),和/或其它有线和/或无线网络接口)、显示处理器和/或控制器716、以及显示器718。系统700还可以包括天线715(例如偶极天线、窄带曲折线型天线(MLA)、宽带MLA、倒“F”型天线、平面倒“F”型天线、Goubau天线、贴片天线(Patch antenna)等),天线715耦合到网络接口714。通常,系统700可以是适合于处理用于显示的像素数据的任何系统。
系统700可以采取多种物理实现方式。例如,系统700可以在个人计算机(PC)、联网的PC、媒体PC、服务器计算系统、手持计算平台(例如个人数字助理(PDA))、游戏系统(便携式的或其它形式的)、机顶盒(STB)、蜂窝电话手机等中实现。而且,尽管可以在单个装置中实现系统700的一些组件,例如在芯片上系统(SOC)集成电路(IC)上实现,但系统700的组件也可以分布在多个IC或装置中。例如,可以将主处理器702连同组件704、706、712和714一起实现为包含在例如单个PC内的多个IC,而显示处理器716可以在一个分离的装置中实现,例如在显示器718中,其通过通信通路710耦合到主处理器702及组件704、706、712和714。可替换的,除显示器718之外的系统700中的所有项都可以在耦合到显示器718的单一平台或装置中实现,例如列举几个实例,媒体PC或STB。
主处理器702可以包括专用或通用处理器,其包括能够为显示处理器716提供像素数据和/或指令的任何控制和/或处理逻辑(即采用硬件、软件和/或固件形式)。例如,主处理器702可以将像素数据的图像帧(或其一部分,例如图像区域中的几行)放置在存储器708中,显示处理器716可以从存储器708访问该像素数据。在一个实施方式中,主处理器702能够执行支持包含流水线重叠的显示处理线缓冲器的任何数量的任务。这些任务例如可以包括:将像素处理算法,例如包含滤波器流水线(例如流水线400)的算法,提供给显示处理器716;将微代码(经由天线715和接口714)下载到处理器716;初始化和/或配置处理器716中的寄存器;中断服务;提供总线接口,用于上载和/或下载像素和/或图像数据;等等,尽管本发明不限于这一点。在可替换实施方式中,可以由显示处理器716执行这些功能中的一部分功能或全部功能。此外,尽管图7将主处理器702和显示处理器716显示为不同组件,但本发明决不限于这一点,本领域技术人员会认识到除了系统700的其它组件之外,处理器702和716也可以在单一IC内实现。
总线或通信通路710可以包括用于在系统700的任意元件之间传送信息(例如像素数据,指令等)的任何机制。例如,通信通路710可以包括多用途总线,例如其能够在存储器706或存储器708与显示处理器716之间传送像素数据,尽管本发明不限于这一点。可替换的,通路710可以包括无线通信通路。另外,图形处理器704可以包括存储器控制器(未示出),其提供使显示处理器716能够向存储器706/708提供像素数据或从存储器706/708获得像素数据的功能。
显示处理器716可以包括能够实现包括根据本发明一些实施方式的流水线重叠的显示处理线缓冲器并且能够将已处理的像素数据提供给显示器718的任何控制和/或处理逻辑(即采用硬件、软件和/或固件形式)。此外,处理器716可以包括DPE 102的一个或多个实例,或者可以提供如上所述的DPE 102的功能。另外,处理器716还可以对已处理的像素数据,例如由实现处理过程300的DPE 102产生的已处理的像素数据,进行进一步处理,以便例如将颜色像素值转换为相应的显示器驱动数据级等。尽管图7将显示处理器716显示为一个分离的组件,但本发明不限于这一点,本领域技术人员会认识到,例如显示处理器716的全部功能或部分功能可以由图形处理器704和/或主处理器702来实现。
最后,显示器718可以是能够显示由显示处理器716提供并由DPE102处理过的像素数据的任何装置。因此,列举几个更主要的实例,显示器718可以是液晶显示器(LCD)或等离子显示面板(PDP)。然而,本发明不限于在显示器718中所用的显示面板的任何特定类型。
因此,根据本发明一些实施方式,使用大小被调整为包括流水线重叠的线缓冲器的显示处理器和/或显示处理引擎可以允许在一个对被划分为多个水平相邻区域的图像进行操作的处理方案中实现复杂的高质量的像素处理算法(例如经运动补偿的去隔行(deinterlacing)、蚊式噪声降低(mosquito noise reduction)等),在此,该方案保持了这些算法的数学精度,而同时在用于显示处理流水线的硅片面积方面最小化了成本。
尽管与所声明的发明一致的一个或多个具体实例的在前说明提供了对本发明的例证和说明,但是其意图不是穷举性的或将本发明的范围限制为所公开的具体实施方式。明确而言,按照以上的教导,可以有多种修改和变化,或者可以从本发明的各种实施方式的实现中获得多种修改和变化。例如,尽管图1和附属的文字显示并说明了耦合到存储器控制器106的单个显示处理引擎102,但本领域技术人员会认识到,根据本发明的显示处理系统可以使用多个显示处理引擎,其每一个都按照本发明进行操作,并耦合到一个或多个存储器控制器。明确而言,可以使用许多其它实施方式来提供包括流水线重叠的显示处理线缓冲器。
在本申请的说明中阐述的装置、元件、动作、数据类型、指令等都不应解释为对本发明是关键性或不可缺少的,除非明确表述为如此。此外,如在此所用的,冠词“一”意图包括一个或多个项。而且,当在此或附带的权利要求中使用诸如“耦合的”或“响应的”或“与……通信”之类的术语或短语时,这些术语意图是作最广泛的理解。例如短语“耦合到”可以指的是按照对于使用该短语的上下文适当的方式可通信地、电气地、和/或可操作地进行耦合。此外,本领域技术人员会认识到,术语像素、像素值、像素数据、显示数据和/或图像数据可以可互换地使用。在实质上不脱离本发明的精神和原理的情况下,可以对所声明的发明的上述实施方式做出多种改变和修改。所有此类修改和改变都意图在此包括在本公开内容的范围内,并受到附带的权利要求的保护。
Claims (15)
1.一种用于处理像素数据的方法,包括:
确定与要应用于图像的图像处理流水线相关联的流水线重叠因子,所述图像被划分为多个水平相邻的图像区域,每一个所述图像区域都具有一区域宽度;
提供多个线缓冲器,所述线缓冲器所具有的宽度足以容纳所述区域宽度与两倍的所述流水线重叠因子;及
使用所述线缓冲器,通过所述图像处理流水线来处理像素数据;
其中,所述图像处理流水线包括多个算法,每一个算法都具有相关的水平重叠,并且其中,确定流水线重叠因子的步骤包括确定所述水平重叠的相加之和。
2.如权利要求1所述的方法,其中,每一个算法的水平重叠都包括当相关的所述算法对一个图像区域中与边界相邻的像素进行操作时该算法在相邻图像区域中所采样的水平相邻的像素值的数量。
3.如权利要求1所述的方法,其中,所述区域宽度包括在图像区域的一个维度中的像素数量。
4.如权利要求3所述的方法,其中,使用所述线缓冲器通过所述图像处理流水线来处理像素数据的步骤包括:使用所述图像处理流水线将存储在所述线缓冲器中的像素值与一图像区域中的像素值进行卷积,其中,所述线缓冲器存储该图像区域的像素以及相邻图像区域的像素。
5.一种用于处理像素数据的装置,包括:
处理逻辑,其使用像素处理算法处理被划分为多个水平相邻的图像部分的图像中的第一部分的像素值,每一个像素处理算法都具有相关的水平重叠;及
线缓冲器,其耦合到所述处理逻辑,所述线缓冲器保存所述图像的与所述第一部分相邻的其它部分中的至少一部分像素值,其中,由所述线缓冲器保存的所述图像的所述其它部分中的所述像素值对应于所述图像的所述相邻部分中的、所述像素处理算法要将其与所述第一部分的所述像素值进行卷积的像素值,并且其中,所述线缓冲器具有的宽度足以容纳所述图像部分的宽度与两倍的流水线重叠因子,所述流水线重叠因子等于所述水平重叠的相加之和。
6.如权利要求5所述的装置,还包括:
显示逻辑,其耦合到所述处理逻辑,所述显示逻辑接收由所述处理逻辑所处理的像素值。
7.如权利要求6所述的装置,其中,所述图像的所述相邻部分中的、所述像素处理算法要将其与所述第一部分的所述像素值进行卷积的像素值包括:所述相邻部分中的、与各个像素处理算法要将其与所述第一部分的所述像素值进行卷积的像素值的数量的相加之和相对应的多个像素值。
8.一种用于处理像素数据的系统,包括:
处理逻辑,其使用像素处理算法处理被划分为多个水平相邻的图像部分的图像中的第一部分的像素值,每一个像素处理算法都具有相关的水平重叠;
存储器,其耦合到所述处理逻辑,所述存储器至少存储所述第一部分的所述像素值;及
线缓冲器,其耦合到所述处理逻辑,所述线缓冲器保存所述图像中与所述第一部分相邻的其它部分的至少一部分像素值,其中,由所述线缓冲器保存的所述图像的所述其它部分的所述像素值对应于所述图像的所述相邻部分中的、所述像素处理算法要将其与所述第一部分的所述像素值进行卷积的像素值,并且其中,所述线缓冲器具有的宽度足以容纳所述图像部分的宽度与两倍的流水线重叠因子,所述流水线重叠因子等于所述水平重叠的相加之和。
9.如权利要求8所述的系统,其中,所述存储器包括以下之一:动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、或者非易失性存储器。
10.如权利要求8所述的系统,还包括天线,用于接收所述第一部分的所述像素值。
11.如权利要求10所述的系统,其中,所述天线包括以下之一:偶极天线、窄带曲折线型天线(MLA)、宽带MLA、倒“F”型天线、平面倒“F”型天线、Goubau天线、或者贴片天线。
12.一种用于处理像素数据的装置,包括:
确定模块,用于确定与要应用于图像的图像处理流水线相关联的流水线重叠因子,所述图像被划分为多个水平相邻的图像区域,每一个所述图像区域都具有一区域宽度;
提供模块,用于提供多个线缓冲器,所述线缓冲器所具有的宽度足以容纳所述区域宽度与两倍的所述流水线重叠因子;及
处理模块,用于使用所述线缓冲器,通过所述图像处理流水线来处理像素数据;
其中,所述图像处理流水线包括多个算法,每一个算法都具有相关的水平重叠,并且其中,确定流水线重叠因子包括:
确定所述水平重叠的相加之和。
13.如权利要求12所述的装置,其中,每一个算法的水平重叠都包括当相关的所述算法对一个图像区域中与边界相邻的像素进行操作时该算法在相邻图像区域中所采样的水平相邻的像素值的数量。
14.如权利要求12所述的装置,其中,所述区域宽度包括在图像区域的一个维度中的像素数量。
15.如权利要求14所述的装置,其中,使用所述线缓冲器通过所述图像处理流水线来处理像素数据包括:
使用所述图像处理流水线将存储在所述线缓冲器中的像素值与一图像区域中的像素值进行卷积,其中,所述线缓冲器存储该图像区域的像素以及相邻图像区域的像素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/510,045 US7834873B2 (en) | 2006-08-25 | 2006-08-25 | Display processing line buffers incorporating pipeline overlap |
US11/510,045 | 2006-08-25 | ||
PCT/US2007/076089 WO2008024668A1 (en) | 2006-08-25 | 2007-08-16 | Display processing line buffers incorporating pipeline overlap |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101495952A CN101495952A (zh) | 2009-07-29 |
CN101495952B true CN101495952B (zh) | 2012-04-18 |
Family
ID=39107132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800278655A Expired - Fee Related CN101495952B (zh) | 2006-08-25 | 2007-08-16 | 结合流水线重叠的显示处理线缓冲器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7834873B2 (zh) |
EP (1) | EP2054794A4 (zh) |
JP (1) | JP2009545085A (zh) |
CN (1) | CN101495952B (zh) |
TW (2) | TWI381364B (zh) |
WO (1) | WO2008024668A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8754895B2 (en) * | 2008-09-09 | 2014-06-17 | Sony Corporation | Pipelined image processing engine |
TW201106679A (en) * | 2009-08-05 | 2011-02-16 | Silicon Motion Inc | Image processing device and deinterlacing method |
CN102215324B (zh) * | 2010-04-08 | 2013-07-31 | 安凯(广州)微电子技术有限公司 | 用于对视频图像进行滤波操作的滤波电路及其滤波方法 |
JP5835942B2 (ja) | 2010-06-25 | 2015-12-24 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
JP5703769B2 (ja) * | 2011-01-19 | 2015-04-22 | ソニー株式会社 | 画像変換装置、画像変換方法、プログラム、および電子機器 |
US8761454B2 (en) * | 2011-05-10 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Detecting streaks in printed images |
KR101344858B1 (ko) | 2012-03-23 | 2013-12-24 | 경북대학교 산학협력단 | 영상처리장치 및 영상처리방법, 컴퓨터 판독가능 기록매체 |
TWI520598B (zh) * | 2012-05-23 | 2016-02-01 | 晨星半導體股份有限公司 | 影像處理裝置與影像處理方法 |
CN103474049B (zh) * | 2012-06-08 | 2017-05-17 | 晨星软件研发(深圳)有限公司 | 影像处理装置与影像处理方法 |
GB2533565A (en) * | 2014-12-18 | 2016-06-29 | Stmicroelectronics (Research & Development) Ltd | A method, apparatus and system |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
US10204396B2 (en) * | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US11042962B2 (en) * | 2016-04-18 | 2021-06-22 | Avago Technologies International Sales Pte. Limited | Hardware optimisation for generating 360° images |
US10367639B2 (en) * | 2016-12-29 | 2019-07-30 | Intel Corporation | Graphics processor with encrypted kernels |
US10255655B1 (en) | 2017-06-16 | 2019-04-09 | Apple Inc. | Serial pixel processing with storage for overlapping texel data |
US10681266B2 (en) * | 2018-06-12 | 2020-06-09 | Carl Zeiss Ag | Method, apparatus, and system for processing digital images |
US11431941B2 (en) * | 2018-06-12 | 2022-08-30 | Carl Zeiss Ag | Method, apparatus, and system for processing digital images |
CN110047031A (zh) * | 2019-03-26 | 2019-07-23 | 深兰科技(上海)有限公司 | 一种像素段拼接的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798236A (zh) * | 2004-12-28 | 2006-07-05 | 富士通株式会社 | 用于处理图像的装置和方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469223A (en) | 1993-10-13 | 1995-11-21 | Auravision Corporation | Shared line buffer architecture for a video processing circuit |
EP1110155A1 (en) * | 1998-09-03 | 2001-06-27 | Conexant Systems, Inc. | A method of frequency domain filtering employing a real to analytic transform |
US6327000B1 (en) * | 1999-04-02 | 2001-12-04 | Teralogic, Inc. | Efficient image scaling for scan rate conversion |
JP2000351242A (ja) * | 1999-04-05 | 2000-12-19 | Seiko Epson Corp | 画像形成装置 |
JP3510997B2 (ja) * | 1999-04-05 | 2004-03-29 | セイコーエプソン株式会社 | 画像処理装置およびコピーシステム |
US6457075B1 (en) * | 1999-05-17 | 2002-09-24 | Koninkijke Philips Electronics N.V. | Synchronous memory system with automatic burst mode switching as a function of the selected bus master |
FR2797979B1 (fr) * | 1999-08-24 | 2002-05-24 | St Microelectronics Sa | Procede et systeme de filtrage anti-scintillement |
US6642962B1 (en) | 1999-09-01 | 2003-11-04 | Neomagic Corp. | Merged pipeline for color interpolation and edge enhancement of digital images |
SE517525C2 (sv) * | 1999-09-07 | 2002-06-18 | Ericsson Telefon Ab L M | Förfarande och anordning för konstruktion av digitala filter |
US7495669B2 (en) * | 2002-12-26 | 2009-02-24 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US6625629B1 (en) * | 2000-05-23 | 2003-09-23 | Microsoft Corporation | System and method for signal processing using an improved convolution technique |
US7184059B1 (en) * | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
KR100423503B1 (ko) * | 2001-09-14 | 2004-03-18 | 삼성전자주식회사 | 디지털영상 처리 장치 및 방법 |
US6765622B2 (en) * | 2001-10-26 | 2004-07-20 | Koninklijke Philips Electronics N.V. | Line-buffer reuse in vertical pixel-processing arrangement |
JP3862621B2 (ja) * | 2002-06-28 | 2006-12-27 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びそのプログラム |
KR100940203B1 (ko) * | 2003-02-18 | 2010-02-10 | 삼성전자주식회사 | 세그먼트 기반의 화소 처리 장치 및 그 방법 |
US7376908B2 (en) * | 2003-03-24 | 2008-05-20 | Microsoft Corporation | On-screen display image rendered with MPEG hardware |
US7266255B1 (en) * | 2003-09-26 | 2007-09-04 | Sun Microsystems, Inc. | Distributed multi-sample convolution |
US6999105B2 (en) * | 2003-12-04 | 2006-02-14 | International Business Machines Corporation | Image scaling employing horizontal partitioning |
JP2005260875A (ja) * | 2004-03-15 | 2005-09-22 | Yokowo Co Ltd | 表面実装型パッチアンテナおよびその実装方法 |
JP2005311745A (ja) * | 2004-04-22 | 2005-11-04 | Olympus Corp | 画像処理装置 |
JP4007342B2 (ja) * | 2004-06-08 | 2007-11-14 | セイコーエプソン株式会社 | 表示コントローラ、電子機器及び画像データ供給方法 |
US7515766B2 (en) * | 2004-09-22 | 2009-04-07 | Intel Corporation | Apparatus and method for edge handling in image processing |
US20060092320A1 (en) | 2004-10-29 | 2006-05-04 | Nickerson Brian R | Transferring a video frame from memory into an on-chip buffer for video processing |
TWI260547B (en) * | 2005-03-07 | 2006-08-21 | Li Shing Comm Science And Tech | Readable tag having dual reading function |
-
2006
- 2006-08-25 US US11/510,045 patent/US7834873B2/en not_active Expired - Fee Related
-
2007
- 2007-08-16 WO PCT/US2007/076089 patent/WO2008024668A1/en active Application Filing
- 2007-08-16 EP EP20070841000 patent/EP2054794A4/en not_active Ceased
- 2007-08-16 JP JP2009522036A patent/JP2009545085A/ja active Pending
- 2007-08-16 CN CN2007800278655A patent/CN101495952B/zh not_active Expired - Fee Related
- 2007-08-20 TW TW096130710A patent/TWI381364B/zh not_active IP Right Cessation
- 2007-08-20 TW TW101134121A patent/TWI494916B/zh not_active IP Right Cessation
-
2010
- 2010-10-21 US US12/909,248 patent/US20110037771A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798236A (zh) * | 2004-12-28 | 2006-07-05 | 富士通株式会社 | 用于处理图像的装置和方法 |
Non-Patent Citations (1)
Title |
---|
Klaus Illgner.DSPs for image and video processing.《Signal processing》.2000,第80卷2323-2336. * |
Also Published As
Publication number | Publication date |
---|---|
TW200820213A (en) | 2008-05-01 |
EP2054794A1 (en) | 2009-05-06 |
EP2054794A4 (en) | 2011-09-07 |
WO2008024668A1 (en) | 2008-02-28 |
CN101495952A (zh) | 2009-07-29 |
US20110037771A1 (en) | 2011-02-17 |
TW201308309A (zh) | 2013-02-16 |
TWI381364B (zh) | 2013-01-01 |
TWI494916B (zh) | 2015-08-01 |
US20080049037A1 (en) | 2008-02-28 |
JP2009545085A (ja) | 2009-12-17 |
US7834873B2 (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101495952B (zh) | 结合流水线重叠的显示处理线缓冲器 | |
US8774555B2 (en) | Image defogging method and system | |
US20180137414A1 (en) | Convolution operation device and convolution operation method | |
US7742636B2 (en) | Method and apparatus for scaling down a bayer domain image | |
US11574385B2 (en) | Electronic apparatus and control method for updating parameters of neural networks while generating high-resolution images | |
CN110033736B (zh) | 驱动显示面板的方法和采用该方法的有机发光显示设备 | |
CN102761739B (zh) | 用来动态地调整视频译码复杂度的装置与方法 | |
US20110200254A1 (en) | Image processing device, image processing method, and computer program | |
US10714034B2 (en) | Display device, control circuit of display panel, and display method | |
US20160142738A1 (en) | Method for Deblocking Filtering | |
US20070041662A1 (en) | Efficient scaling of image data | |
JP2008124742A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US6954207B2 (en) | Method and apparatus for processing pixels based on segments | |
US20200258190A1 (en) | Image processor complex transfer functions | |
CN114529483A (zh) | 数据处理方法、装置、终端和可读存储介质 | |
CN112419146B (zh) | 一种图像处理方法、装置及终端设备 | |
US20140340413A1 (en) | Layer access method, data access device and layer access arrangement method | |
US7835584B1 (en) | Method and apparatus for processing video data | |
Ali et al. | An efficient memory model for implementing image resizing algorithms in a distributed environment | |
CN116801119A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
KR100218317B1 (ko) | 동영상처리기의 영상데이타 저장방법 | |
CN115482158A (zh) | 图像处理方法、神经网络系统、计算机系统和介质 | |
US20070286518A1 (en) | Image processing apparatus and image processing method | |
CN116304507A (zh) | 卷积结果获取方法、装置、电子设备及存储介质 | |
JP2004246683A (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120418 Termination date: 20180816 |
|
CF01 | Termination of patent right due to non-payment of annual fee |