CN110910301B - 图像处理装置及方法、和保存有图像处理程序的记录介质 - Google Patents
图像处理装置及方法、和保存有图像处理程序的记录介质 Download PDFInfo
- Publication number
- CN110910301B CN110910301B CN201910109701.1A CN201910109701A CN110910301B CN 110910301 B CN110910301 B CN 110910301B CN 201910109701 A CN201910109701 A CN 201910109701A CN 110910301 B CN110910301 B CN 110910301B
- Authority
- CN
- China
- Prior art keywords
- image processing
- line
- input
- pixels
- buffer
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 258
- 238000000034 method Methods 0.000 title abstract description 50
- 239000000872 buffer Substances 0.000 claims abstract description 227
- 238000012937 correction Methods 0.000 claims description 54
- 238000003672 processing method Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 abstract description 13
- 238000007906 compression Methods 0.000 description 42
- 230000006835 compression Effects 0.000 description 37
- 238000004364 calculation method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 18
- 238000003384 imaging method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 13
- 230000004075 alteration Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/14—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
- H01L27/144—Devices controlled by radiation
- H01L27/146—Imager structures
- H01L27/14601—Structural or functional details thereof
- H01L27/14603—Special geometry or disposition of pixel-elements, address-lines or gate-electrodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/40—Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/78—Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Image Processing (AREA)
- Image Input (AREA)
Abstract
实施方式提供通过在多个行期间内使处理所需的循环数平滑化来降低电路所要求的运算速度的图像处理装置及方法、和保存有图像处理程序的记录介质。实施方式的图像处理装置具有:输入行缓冲器,其由多个行缓冲器构成,以行为单位被输入构成输入图像的多个像素,并存储所输入的像素;存储器,其存储缓冲器管理信息,该缓冲器管理信息管理针对所述输入行缓冲器的各行缓冲器的写入和读出;图像处理部,其参照所述输入行缓冲器的各行缓冲器中存储的像素,以行为单位进行图像处理;以及控制部,其根据所述图像处理部的处理的状态,更新所述缓冲器管理信息。
Description
关联申请
本申请享受以日本专利申请2018-173581号(申请日:2018年9月18日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及图像处理装置、图像处理方法和保存有图像处理程序的记录介质。
背景技术
在对通过数字照相机等拍摄装置拍摄被摄体得到的图像进行图像处理的图像处理装置中,有时经由行缓冲器获取从数字照相机实时地输出的拍摄图像。在该情况下,来自数字照相机的像素(像素数据)向行缓冲器的传输速率通常是一定的,1行的量的像素在1水平同步周期内传送到行缓冲器并保存。
另一方面,在图像处理装置中,有时进行如下图像处理:需要在1水平同步周期内,以行为单位对行缓冲器中保存的图像进行处理。另外,根据来自数字照相机的图像,有时图像处理所需的时间按每行而不同。在该情况下,以一定的写入速率实时地向行缓冲器写入像素,因此,考虑各行的处理所需的循环数中最多的循环数(以下,称作峰值循环数)来进行图像处理电路的工作频率或运算器的设计。
发明内容
实施方式提供能够通过在多个行期间使处理所需的循环数平滑化来降低电路所要求的运算速度的图像处理装置、图像处理方法和保存有图像处理程序的记录介质。
实施方式的图像处理装置具有:输入行缓冲器,其由多个行缓冲器构成,以行为单位被输入构成输入图像的多个像素,并存储所输入的像素;存储器,其存储缓冲器管理信息,该缓冲器管理信息管理针对所述输入行缓冲器的各行缓冲器的写入和读出;图像处理部,其参照所述输入行缓冲器的各行缓冲器中存储的像素,以行为单位进行图像处理;以及控制部,其根据所述图像处理部的处理的状态,更新所述缓冲器管理信息。
附图说明
图1是示出本发明的一实施方式的图像处理装置的框图。
图2是示出使用实施方式的图像处理装置构成的失真修正装置的框图。
图3是示出与图2中的失真修正电路1对应的结构的一例的框图。
图4是用于说明失真修正处理的流程图。
图5是示出以行为单位的处理中的行缓冲器的写入和读出的例子的说明图。
图6是以失真处理所需的循环数为横轴、以画面的行为纵轴来示出各行的循环数的变化的说明图。
图7是示出处理序列的一例的说明图。
图8是示出通过与图7相同的记载方法来解决课题的处理序列的说明图。
图9是用于说明读出和写入ID的控制及图像处理的控制的流程图。
图10是示出实施了基于第1实施方式的平滑化处理的情况下的处理序列的说明图。
图11是以失真处理所需的循环数为横轴、以画面的行为纵轴来示出各行的循环数的变化的说明图。
图12是针对评价中用到的43的试验模式,设峰值循环数为1,按行缓冲器的数量来示出在1水平同步期间内应处理的循环数的最大值的图表。
图13是用于说明第2实施方式的说明图。
图14是用于说明第2实施方式的说明图。
具体实施方式
以下,参照附图,对本发明的实施方式进行详细说明。
(第1实施方式)
图1是示出本发明的第1实施方式的图像处理装置的框图。另外,图2是示出使用本实施方式的图像处理装置构成的失真修正装置的框图。
本实施方式,追加1行的量以上的缓冲存储器,使用水平同步信号hsync和表示各行单位的处理的开始和结束的信号来控制写入和读出(参照)对象的行缓冲器,由此,能够使进行处理的循环数平滑化。
首先,参照图2~图4,对作为本实施方式的应用例的失真修正装置进行说明。此外,本实施方式不限于图2的失真修正装置,可以应用于以一定速率实时地对行缓冲器进行像素(像素数据)写入并以行为单位进行处理的各种装置。
在将由照相机取得的图像应用于汽车防碰撞或监视装置等的情况下等,出于该目的,有时采用超广角镜头,存在失真像差或倍率色像差变大的趋势。图2的装置通过图像处理,以电子方式对因失真像差或倍率色像差而在图像中产生的失真进行修正。
图2的失真修正装置具有CPU 25。CPU 25按照未图示的存储器中存储的程序进行工作,来控制各部。拍摄部22具有CMOS传感器等未图示的拍摄元件。拍摄部22通过拍摄元件对经由未图示的光学系统入射的光学像进行光电转换,由此取得拍摄信号(拍摄图像)。拍摄部22的输出(拍摄图像)给到失真修正装置21,由失真修正装置21进行失真修正后,经由总线23给到DRAM 24并存储。来自拍摄部22的拍摄图像具有因光学系统的失真像差等导致的失真,失真修正装置21进行失真像差的修正等各种图像处理。
来自拍摄部22的光栅扫描顺序的拍摄输出被输入到构成失真修正装置21的失真修正电路1。失真修正电路1使用存储器4中存储的参数,对输入的拍摄图像进行失真修正和倍率色像差修正并输出到光点处理电路2。光点处理电路2对输入的图像进行伽马修正和色空间修正之后,输出到缓冲器电路3。缓冲器电路3暂时保持所输入的图像后,经由总线23输出到DRAM 24。这样,DRAM 24中存储有进行了失真修正的图像。
因此,在相关技术的失真修正中,将按光栅扫描顺序输入的拍摄输出临时蓄积在行缓冲器中,并按光栅扫描输出顺序依次进行对DRAM的写入。关联技术中的失真修正电路在进行光栅顺序的输出(光栅扫描输出)时,求出该输出像素若没有失真则应该在的本来的像素位置,从行缓冲器读出所求出的像素位置的像素并传送到DRAM。在关联技术的光栅扫描输入/光栅扫描输出中,需要将在像素输出时求出的像素位置的像素保存到行缓冲器,作为行缓冲器,需要确保与失真大小对应的足够容量。
因此,本件申请人在在先申请的特愿2017-012870号说明书中,提出了通过采用光栅扫描输入/随机输出来削减行缓冲器的失真修正处理。在该提案中采用的光栅扫描输入/随机输出中,进行控制以将所输入的像素保存到与该像素若没有失真则应该在的本来的像素位置(以下,称作修正像素位置)对应的DRAM的地址。因此,作为行缓冲器,能够采用较小的容量。
接下来,参照图3和图4,对在先申请的特愿2017-012870号说明书中记载的光栅扫描输入/随机输出的失真修正处理进行具体说明。
图3是示出与图2中的失真修正电路1对应的结构的一例的框图。
在图3中,失真修正电路1主要由行缓冲器11、写入像素位置计算部12、读出像素位置计算部13、写入像素位置判定部14、参数保存部15、像素插值部16构成。
行缓冲器11按修正处理所需的行数保持按光栅扫描顺序从拍摄部22读入的输入图像的像素(输入像素)。例如,在使用双线性插值进行失真像差修正的情况下,保持1~2行的量的像素。
写入像素位置计算部12计算写入像素区域,该写入像素区域推定为包含使用作为修正对象的读出像素Pi进行了插值的像素。具体而言,定义由包含读出像素Pi的位置(vo,ho)(以下,记作像素Pi(vo,ho))的周围4个点的像素{Pi0(vo,ho)、Pi1(vo,ho-1)、Pi2(vo-1,ho-1)、Pi3(vo-1,ho)}构成的读出像素位置集合。此外,在本说明中,像素位置坐标(v,h)以图像左上为原点(0,0),以v为垂直像素位置,以h为水平像素位置。
针对读出像素Pi0、Pi1、Pi2、Pi3的各个,使用像素位置计算的函数,计算对应的写入像素Po0、Po1、Po2、Po3的位置(vo’,ho’)、(vo’,ho-1’)、(vo-1’,ho-1’)、(vo-1’,ho’)。以4个点的像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)为顶点的矩形区域成为写入像素区域。
在像素位置计算中,例如可以使用以多项式表现的函数和/或网格表转换等通常的像素位置计算用函数。不过,像素位置计算函数使用存在反函数的函数。
读出像素位置计算部13在写入像素区域内,提取垂直位置、水平位置均为整数的像素位置(写入像素候选Poc(v’,h’))。进而,进行像素位置计算,计算出与写入像素候选Poc(v’,h’)对应的读出像素Pi(v”,h”)。此外,像素位置计算使用由写入像素位置计算部12进行的像素位置计算的反函数来进行。在存在多个候选的情况下,对全部候选Poc(v’,h’)计算读出像素Pi(v”,h”)。
写入像素位置判定部14在集合中包含读出像素Pi(v”,h”)的情况下,将针对该像素Pi(v”,h”)的写入像素候选Poc(v’,h’)确定为修正像素位置的写入像素Po(v’,h’)。
参数保存部15保存有在写入像素位置计算部12和读出像素位置计算部13中的像素位置计算函数中使用的参数。
像素插值部16计算与所确定的写入像素Po(v’,h’)对应的读出像素Pi(v”,h”)的像素值。通常,读出像素Pi(v”,h”)的坐标为非整数,因此,例如使用用到了周围的4像素的双线性插值等现有的插值方法来计算像素值。将计算出的像素值作为写入像素Po(v’,h’)的像素值来输出。将输出的像素值保存到DRAM等存储器(未图示)中。此外,输出像素是按进行了修正的顺序来输出的,故而输出像素的位置(修正像素位置)是随机的。
接下来,对失真修正电路1中的失真修正处理的步骤进行说明。图4是用于说明失真修正处理的流程图。
首先,将按光栅扫描顺序输入到失真修正电路1的像素扩充到行缓冲器11(S1)。行缓冲器11中保存有像素插值部16中的处理所需的行数的量的输入像素。例如,在使用双线性插值的情况下,需要插值对象像素的周围2×2像素(4像素)的像素值,因此保存至少1行+1像素的量的像素值。
接下来,确定作为修正对象像素的读出像素Pi(vo,ho),计算推定为包含使用读出像素Pi进行了插值的像素的写入像素区域(S2)。具体而言,首先,定义由包含读出像素Pi(vo,ho)的周围4个点的像素{Pi0(vo,ho)、Pi1(vo,ho-1)、Pi2(vo-1,ho-1)、Pi3(vo-1,ho)}构成的集合。即,Pi1(vo,ho-1)为Pi(vo,ho)的左邻的像素,Pi2(vo-1,ho-1)为Pi(vo,ho)的左上的像素,Pi3(vo-1,ho)为Pi(vo,ho)之上的像素。接下来,对像素Pi0、Pi1、Pi2、Pi3分别进行像素位置计算,计算出对应的写入像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)。
在像素位置计算中,例如在使用由多项式表现的函数的情况下,按如下步骤进行。
(a)像高的计算:将输入像素的位置从以左上为原点(v,h)的坐标系转换为以光学中心为原点(x,y)的坐标系。此外,在两个坐标系中,水平方向均以右侧为正,垂直方向以下侧为正。另外,计算从光学中心到输入像素的距离(像高)r。使用以下所示(1)~(3)式来进行。
在(1)式中,vin为垂直方向的输入像素位置(非负数),[SENSOR_CROP_OFS_V]为距光学中心的垂直像素位置偏移(光学中心与(v,h)坐标系的原点之间的垂直方向的偏移)。另外,在(2)式中,hin为水平方向的输入像素位置(非负数),[SENSOR_CROP_OFS_H]为距光学中心的水平像素位置偏移(光学中心与(v,h)坐标系的原点之间的水平方向的偏移)。另外,在(3)式中,[NORM_SCALE]为归一化系数(非负数)。
此外,在图像中心与光学中心一致的情况下,[SENSOR_CROP_OFS_V]、[SENSOR_CROP_OFS_H]成为以下的(4)(5)式。
[SENSOR_CROP_OFS_V]=-(输入图像垂直尺寸/2-0.5)…(4)式
[SENSOR_CROP_OFS_H]=-(输入图像水平尺寸/2-0.5)…(5)式(b)像素位置计算的像高比例(scale)的计算:计算位于与光学中心相距距离r的位置的点通过像素位置转换向光学中心方向移动的距离r_scale。使用以下所示的(6)式来进行。
r_scale=P0+P1*r+P2*r2+P3*r3+P4*r4+P5*r5+P6*r6+P7*r7
+P8*r8+P9*r9+P10*r10…(6)式
在(6)式中,Px(x=0~10)为与各自的次数对应的多项式系数。
(c)输出像素位置的计算:使用像高比例,将输入像素位置转换为输出像素位置,恢复到(v,h)的坐标系。使用以下所示的(7)(8)式来进行。
vout=r_scale*y-[SENSOR_CROP_OFS_V]…(7)式
hout=r_scale*x-[SENSOR_CROP_OFS_H]…(8)式
在(7)式中,vout为垂直方向的输出像素位置(非负数),在(8)式中,hout为水平方向的输出像素位置(非负数)。
即,通过(a)~(c)的一系列的步骤,读出像素Pi(vo,ho)、Pi1(vo,ho-1)、Pi2(vo-1,ho-1)、Pi3(vo-1,ho)分别被转换为写入像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)。
此外,作为像素位置计算,在使用上述那样的由多项式表现的函数的情况下,[SENSOR_CROP_OFS_V]、[SENSOR_CROP_OFS_H]、[NORM_SCALE]、Px(x=0~10)的各参数预先设定并保存在参数保存部15中。
像素位置计算可以使用网格表转换来进行。网格表是将像素位置(v,h)作为网格节点的2维的地址表。各网格节点保存有转换目标的像素位置。关于与位于网格节点之间的任意像素位置对应的地址,根据附近网格节点,通过插值来计算。在作为像素位置计算而使用网格表转换的情况下,按如下步骤进行。
(d)参照网格节点的计算:作为参照网格节点,决定位于输入像素的左上的网格节点。使用以下所示的(9)(10)式来进行。
ref_v=vin*GRID_PATCH_VSIZE_INV…(9)式
ref_h=hin*GRID_PATCH_HSIZE_INV…(10)式
在(9)式中,vin为垂直方向的输入像素位置(非负数),GRID_PATCH_VSIZE_INV为垂直网格节点间距离的倒数。GRID_PATCH_VSIZE_INV使用以下的(11)式来计算。
在(11)式中,[SENSOR_CROP_VSIZE]为输入图像垂直尺寸,[GRID_NODE_NUM_V]为垂直网格节点数。
另外,在(10)式中,hin为水平方向的输入像素位置(非负数),GRID_PATCH_HSIZE_INV为水平网格节点间距离的倒数。GRID_PATCH_HSIZE_INV使用以下的(12)式来计算。
在(12)式中,[SENSOR_CROP_HSIZE]为输入图像水平尺寸,[GRID_NODE_NUM_H]为水平网格节点数。
(e)权重的计算:计算从输入像素位置起的、针对包含参照网格节点的周围4个点的网格节点的、基于垂直方向和水平方向的距离之比的权重。使用以下所示的(13)(14)式来计算。
weight_v=ref_v-[ref_v]…(13)式
weight_h=ref_h-[ref_h]…(14)式
在(13)(14)式中,[]表示高斯记号。与参照网格节点相关的垂直方向的权重为1-weight_v。另外,与参照网格节点相关的水平方向的权重为1-weight_h。
(f)输出像素位置的计算:使用包含参照网格节点的周围4个点的网格节点的表和针对输入像素位置的各网格节点的权重,通过双线性插值来计算输出像素位置。
(f-1)垂直方向的输出像素位置的计算
使用以下所示的(15)~(17)式来计算。
v0out=table_v(ref_v,ref_h)*(1-weight_h)+table_v(ref_v,ref_h+1)*weight_h…(15)式
v1out=table_v(ref_v+1,ref_h)*(1-weight_h)+table_v(ref_v+1,ref_h+1)*weight_h…(16)式
vout=v0out*(1-weight_v)+v1out*weight_v…(17)式
在(15)(16)式中,table_v(v,h)为垂直像素位置网格表。另外,在(17)式中,vout为垂直方向的输出像素位置(非负数)。
(f-2)水平方向的输出像素位置的计算
使用以下所示的(18)~(20)式来计算。
h0out=table_h(ref_v,ref_h)*(1-weight_h)+table_h(ref_v,ref_h+1)*weight_h…(18)式
h1out=table_h(ref_v+1,ref_h)*(1-weight_h)+table_h(ref_v+1,ref_h+1)*weight_h…(19)式
hout=h0out*(1-weight_h)+h1out*weight_v…(20)式
在(18)(19)式中,table_h(v,h)为水平像素位置网格表。另外,在(20)式中,hout为水平方向的输出像素位置(非负数)。
即,通过(d)~(f)的一系列的步骤,读出像素Pi(vo,ho)、Pi1(vo,ho-1)、Pi2(vo-1,ho-1)、Pi3(vo-1,ho)分别被转换为写入像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)。
此外,作为像素位置计算,在使用上述那样的网格表转换的情况下,[SENSOR_CROP_VSIZE]、[GRID_NODE_NUM_V]、[SENSOR_CROP_HSIZE]、[GRID_NODE_NUM_H]、table_v(v,h)、table_h(v,h)的各参数预先设定并保存在参数保存部15中。
将通过像素位置计算而计算出的、以4个点的像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)为顶点的矩形区域确定为写入像素区域。
接下来,在上述确定出的矩形区域内,提取垂直坐标和水平坐标均为整数的像素位置(写入像素候选Poc(v’,h’))。例如,将通过提前/延后对像素Po0(vo’,ho’)、Po1(vo’,ho-1’)、Po2(vo-1’,ho-1’)、Po3(vo-1’,ho’)的各坐标进行调整/整数化而得到的像素位置所外接的矩形区域内的全部像素位置作为写入像素候选Poc(v’,h’)(S3)。基于提前/延后进行的调整/整数化使用以下所示的(21)(22)式来进行。此外,对4个点中的位于左侧或上侧的像素使用(21)式,对位于右侧或下侧的像素使用(22)式。
调整后像素位置=[写入像素位置-WRITE_AREA_DELTA]…(21)式
调整后像素位置=[写入像素位置+WRITE_AREA_DELTA]…(22)式
在(21)(22)式中,WRITE_AREA_DELTA为整数化调整值,是预先设定的值。另外,[]表示高斯记号。
接下来,对S3中求出的全部写入像素候选Poc(v’,h’)进行是否为写入像素Po(v’,h’)的判定。在存在尚未进行判定的写入像素候选Poc(v’,h’)的情况下(S4:否),通过像素位置计算,计算对应的读出像素Pi(v”,h”)(S5)。像素位置计算使用S2中用到的像素位置计算的反函数来进行。此时,Pi(v”,h”)的垂直坐标、水平坐标为非整数。
接下来,确定为了通过插值来计算Pi(v”,h”)的像素值所需要的像素。例如,在通过双线性插值来计算像素值的情况下,Pi(v”,h”)的周围4个点的像素成为插值所需的像素。在集合中包含插值所需的全部像素的情况下,将与该读出像素Pi(v”,h”)对应的写入像素候选Poc(v’,h’)确定为写入像素Po(v’,h’)(S6:是)。
在该情况下,通过像素插值,将所确定的写入像素Po(v’,h’)的像素值计算为对应的读出像素Pi(v”,h”)的像素值并输出(S7)。此外,输出像素Po(v’,h’)不是光栅扫描顺序,而是随机的。接下来,返回到S4,调查有无未判定的写入像素候选Poc(v’,h’)。
另一方面,在插值所需的像素中存在未包含于集合的像素的情况下,与该读出像素Pi(v”,h”)对应的写入像素候选Poc(v’,h’)被确定为不是写入像素Po(v’,h’)(S6:否)。在该情况下,不进行像素插值,返回到S4,调查有无未判定的写入像素候选Poc(v’,h’)。
在S4中,在对S3中求出的全部写入像素候选Poc(v’,h’)进行了判定的情况下,结束图像修正处理的一系列的步骤(S4:是)。
这样,在上述的基于失真修正电路1的失真修正处理中,针对按光栅扫描顺序从拍摄部22读入的输入像素,按该顺序进行修正处理。因此,能够将修正所需的输入像素的范围抑制到1至数行左右,故而能够降低保存输入像素的行缓冲器11的搭载量,能够抑制制造成本。
此外,行缓冲器11的搭载量根据像素插值的方法来设定。例如,在使用双线性法的情况下,搭载2行左右即可,在使用双立方(bicubic)法的情况下,需要搭载4行左右。
另外,根据读出像素来计算写入像素的像素位置计算的方法不限于上述的方法。即,只要是存在反函数的方法,可以使用任意方法。另外,也可以组合使用多个像素位置计算方法。
这样,作为图2的失真修正电路1,在采用在先申请的日本专利申请2017-012870号说明书的失真修正电路的情况下,对按光栅扫描顺序从拍摄部22读入的输入像素,会按该顺序进行修正处理。例如,能够准备2行的量的行缓冲器,一边以一定速率实时地将像素输入这些行缓冲器,一边以行为单位进行处理,并输出包含修正像素位置的信息的像素。
(循环数的平滑化)
本实施方式应用于这样实时地以一定速率对行缓冲器进行像素(像素数据)写入并以行为单位进行处理的各种装置,也能够应用于图2的失真修正装置以外的装置。
图5是示出这样的以行为单位的处理中的行缓冲器的写入和读出的例子的说明图。此外,在图5中,[0]、[1]表示对行缓冲器赋予的ID(以下,称作行缓冲器ID)。图5示出了如下情况:与构成1画面的各行的开始位置对应地产生水平同步信号hsync,与该水平同步信号hsync同步地控制像素对行缓冲器[0]、[1]的写入、读出,其中,行缓冲器[0]、[1]能够存储预定的2行的量的像素。在对行缓冲器[0]写入1行的量之后,接下来,与所产生的水平同步信号hsync同步地,进行对行缓冲器[1]写入1行的量。另外,在对行缓冲器[1]写入1行的量时,从行缓冲器[0]读出1行的量的像素,进行预定的图像处理。即,图5是将针对行缓冲器的写入和读出分成各自的行缓冲器来进行的例子。
因此,通常,关于图像失真,根据画面上的位置而大小不同。例如,在采用了超广角镜头的情况下,产生桶型失真,在画面的周围部,失真比画面中央大。因此,失真修正所需的循环数按每行而变化。
图6是以失真处理所需的循环数为横轴、以画面的行为纵轴来示出各行的循环数的变化的说明图。图6示出了针对桶型失真的失真修正处理的例子,在从画面的上端和下端离开预定行数的行中,循环数为峰值。如图5所示,在对进行写入的行缓冲器和进行读出的行缓冲器进行切换的情况下,在从产生水平同步信号hsync起到产生下一水平同步信号hsync为止的期间(以下,称作水平同步期间)内,将写入到行缓冲器的来自照相机的像素读出(参照)并进行图像处理。以在水平同步期间内执行图6所示的循环数的峰值(峰值循环数)的处理的方式进行电路设计。
图7是示出这样进行了电路设计的情况下的处理序列的一例的说明图。在图7中,示出了采用行缓冲器ID为[0]、[1]的两个行缓冲器[0]、[1],进行连续的m0~m3行的像素的处理的期间(m0~m3行水平同步期间)。此外,m0、m1行为需要峰值循环数的处理的行。图7的垂直延伸的粗线表示水平同步信号hsync的产生时机(timing),每当产生水平同步信号hsync时,开始对行缓冲器写入,并且,开始参照(读出)了行缓冲器的图像处理。
在图7的m0行水平同步期间,m0行的像素被写入行缓冲器[0]。在下一m1行水平同步期间,m1行的像素被写入行缓冲器[1],并且,从行缓冲器[0]参照m0行的像素并处理(处理m0)。在下一m2行水平同步期间,m2行的像素被写入行缓冲器[0],并且,从行缓冲器[1]参照m1行的像素并处理(处理m1)。虽然这些处理m0、m1需要峰值循环数,但以能够在1水平同步期间以内进行峰值循环数的处理的方式进行了电路设计,可切实地结束处理。
在下一m3行水平同步期间,将m3行的像素写入行缓冲器[1]。另外,从行缓冲器[0]参照m2行的像素并处理(处理m2)。处理m2所需的循环数充分小于峰值循环数,在较短的处理时间内结束处理。这样,在m3行水平同步期间,产生处理空闲时间而变得浪费。
另一方面,图8是示出在对与图7相同的行进行与图7相同的图像处理的情况下,以降低处理空闲时间的方式进行了允许在1水平同步期间内所处理的循环数少于峰值循环数的电路设计的情况下的处理序列的说明图。通过与图7相同的记载方法来示出。
在该情况下,处理m0在m1行水平同步期间内不结束,如斜线部所示那样,延长到下一m2行水平同步期间。但是,实际在m2行水平同步期间中,m2行的像素被写入到行缓冲器[0],故而无法参照m0行的像素,斜线所示的处理会失败。
同样,处理m1在m2行水平同步期间内不结束,如斜线部所示,延长到下一m3行水平同步期间。但是,实际上,在m3行水平同步期间中,m3行的像素被写入到行缓冲器[1],故而无法参照m1行的像素,斜线所示的处理有时会失败。
这样,在1水平同步期间内无法进行峰值循环数的处理的情况下,在进行参照之前进行写入,处理会失败。
因此,在本实施方式中,作为图2的失真修正电路1,采用了图1所示的图像处理装置。以下,对将图1的装置应用于失真修正装置的情况下的结构进行说明。
在图1中,控制部31可以由使用CPU等的处理器构成,并按照未图示的存储器等记录介质中保存的程序进行工作,来控制各部,也可以通过硬件电子电路来实现功能的一部分或全部。
输入行缓冲器32是在对要适用的图像处理所需的数量的行缓冲器附加1行的量以上的行缓冲器而构成的。例如,输入行缓冲器32是对上述图3的行缓冲器11附加1行的量以上的行缓冲器而构成的,受控制部31控制写入和读出,存储所输入的像素,并且输出到图像处理部33。
图像处理部33具有与图3的失真修正电路1同样的处理功能,受控制部31控制处理,使用存储器4中存储的参数,实现光栅扫描输入/随机输出的失真修正处理。此外,在将本实施方式不是应用于失真修正处理而应用于进行其它图像处理的装置的情况下,图像处理部33执行所适用的图像处理。
图像处理部33由控制部31控制,将图像处理后的像素输出到输出行缓冲器34。输出行缓冲器34由控制部31控制,与水平同步信号hsync同步地输出进行了填充的像素。在图2的例子中,输出行缓冲器34的输出给到光点处理电路2。
向控制部31输入基于输入图像的水平同步信号hsync。例如,从拍摄部22向控制部31给出水平同步信号hsync。控制部31向图像处理部33给出处理开始的信号(处理开始信号),并且,从图像处理部33接收处理结束的信号(忙信号)。图像处理部33在从控制部31b被给予处理开始信号时,开始以行为单位的处理,并且将忙信号设定为表示正进行处理的例如“1”,在以行为单位的处理结束时,将忙信号设定为表示处理结束的例如“0”,并输出到控制部31。
控制部31对输入行缓冲器32所具有的多个行缓冲器分别赋予ID(以下,称作行缓冲器ID),将与读出对象的行缓冲器ID(以下,称作读出ID)和写入对象的行缓冲器ID(以下,称作写入ID)相关的信息(以下,称作缓冲器管理信息)存储到存储器31a中来管理。控制部31基于水平同步信号hsync和忙信号来更新作为缓冲器管理信息的读出ID和写入ID,由此,能够使针对实时地输入的图像的图像处理不会失败,使应处理的循环数平滑化。由此,能够降低在1水平同步期间中必须处理的循环数。
即,控制部31根据水平同步信号hsync被输入这一情况来更新写入ID,根据表示行单位的处理结束的忙信号来更新读出ID。即,控制部31在水平同步信号hsync被输入时,切换进行写入的行缓冲器,并与水平同步信号hsync同步地,开始向输入行缓冲器32写入像素。即,图1的图像处理装置能够实时地向输入行缓冲器32取入行单位的像素。
另外,控制部31在由忙信号表示行单位的处理已结束时,在输入行缓冲器32中已经存储有应处理的像素的情况下,直接切换到进行参照的行缓冲器,开始处理,在输入行缓冲器32中未存储应处理的像素的情况下,与下一水平同步信号hsync同步地参照由读出ID指定的行缓冲器,来进行处理。
这样,控制部31通过追加行缓冲器并且控制读出和写入对象的行缓冲器,使各行的处理时间平滑化,即,使在1水平同步期间内应处理的循环数平滑化。
此外,以输入行缓冲器32如上述那样对要适用的图像处理所需的数的行缓冲器附加1行的量以上的行缓冲器而进行了说明,但在图像处理部33中的处理速度较慢的情况下等,如果要附加的行缓冲器的数量少,则图像处理有时出现失败。因此,图像处理部33在图像处理出现失败的情况下,输出表示图像处理失败的错误帧输出。
接下来,参照图9和图10,对这样构成的实施方式的工作进行说明。图9是用于说明读出和写入ID的控制及图像处理的控制的流程图。另外,图10是示出对与图8相同的图像输入具有在图8中设想的图像处理性能的图像处理部33中,实施基于本实施方式的平滑化处理的情况下的处理序列的说明图。
在本实施方式中,输入行缓冲器32是对图8的两个行缓冲器[0]、[1]附加行缓冲器ID为[2]的1个行缓冲器[2]而构成的。此外,在图9中,mW表示写入ID,mR表示读出ID。另外,图10以时间为横轴,并通过竖线来表示水平同步信号hsync(m0)~(m4)的输入时机。
如图10所示,将连续的m0、m1、m2、…行的像素作为像素输入,实时地输入到输入行缓冲器32。控制部31在图9的步骤S11、S12中,将表示写入ID的变量mW和表示读出ID的变量mR初始化,并存储到存储器31a。此外,在图10的例子中,作为初始值,控制部31设定mW、mR=[0]。由此,作为写入对象的行缓冲器,指定了行缓冲器[0],作为读出对象的行缓冲器,指定了行缓冲器[0]。此外,控制部31在更新存储器31a中存储的变量mW、mR的情况下,例如按[0]、[1]、[2]、[0]、[1]、[2]…的顺序进行更新,轮回地使用3个行缓冲器。
控制部31在步骤S13中,判定是否输入了水平同步信号hsync,等待水平同步信号hsync的输入。控制部31在输入了水平同步信号hsync(m0)时,在步骤S14中,将像素输入写入到输入行缓冲器32。如图10所示,将输入的m0行的像素写入行缓冲器[0]。
接下来,控制部31在步骤S15中,等待水平同步信号hsync的输入。控制部31在输入了水平同步信号hsync(m1)时,使处理转入步骤S16,将mW更新为[1],对行缓冲器[1]进行m1行的像素的写入。另外,在该时刻,忙信号为“0”,控制部31与该水平同步信号hsync(m1)的输入同步地,指示图像处理部33开始图像处理。图像处理部33参照读出对象的行缓冲器[0],开始图像处理。例如,图像处理部33执行失真修正处理,并且将表示处于处理中的忙信号设为“1”。此外,图像处理部33依次将图像处理后的像素输出到输出行缓冲器34。
接下来,控制部31在步骤S18中判定是否输入了水平同步信号hsync,在未输入的情况下,使处理转入步骤S22,在已输入的情况下,使处理转入步骤S19。在步骤S19~S21中,将输入的像素写入行缓冲器。即,控制部31与图像处理部33的图像处理是否结束无关地,在输入了水平同步信号hsync时,进行像素的写入。由此,能够进行实时的像素获取。
如上所述,m1、m2行是处理需要峰值循环数的行,在m1行水平同步期间内,处理m0未结束,控制部31在输入了水平同步信号hsync(m2)时,在步骤S19中,更新mW,在后述的步骤S20的判定之后,在步骤S21中,与忙信号无关地,将输入的像素写入到输入行缓冲器32。即,在该情况下,如图10所示,mW成为[2],向行缓冲器[2]写入m2行的像素。
在本实施方式中,控制部31在接下来的步骤S22中,根据来自图像处理部33的忙信号,判定1行的量的处理是否结束。在图10的例子中,控制部31在水平同步信号hsync(m2)被输入的时刻,针对m0行的处理m0没有结束,因此,使处理返回步骤S18,等待水平同步信号hsync的输入。即,在本实施方式中,图像处理部33在从m1行水平同步期间到m2行水平同步期间内执行针对m0行的图像处理。在该情况下,在本实施方式中,附加了行缓冲器[2],能够不对行缓冲器[0]进行写入,而进行m2行的像素的写入,即使在m2行水平同步期间中,也能够从行缓冲器[0]参照处理m0所需的像素。
图像处理部33在针对m0行的图像处理结束时,将忙信号从“1”变更为“0”。控制部31在根据来自图像处理部33的忙信号变为“0”这一情况而检测到处理结束时,在步骤S23中,更新mR,使处理返回步骤S17。mR更新为[1],控制部31在步骤S17中,向图像处理部33输出处理开始信号,开始处理。图像处理部33将忙信号变更为“1”,参照行缓冲器[1]中保存的m1行的像素,开始图像处理。
此外,控制部31在输出行缓冲器34中的行缓冲器中填充了像素时,将像素从所填充的行缓冲器输出到下一级。关于从输出行缓冲器34的输出,由控制部31控制,与水平同步信号hsync同步地进行。
以后,反复同样的工作,在输入了水平同步信号hsync(m3)时,mW更新为[0](步骤S19),向行缓冲器[0]写入m3行的像素。另外,在m3行水平同步期间的中途,从图像处理部33给出表示m1行的处理结束的“0”的忙时,将mR更新为[2](步骤S24),参照行缓冲器[2]中保存的m2行的像素,开始图像处理。在图10的例子中,关于针对m2行的处理m2,在输入了水平同步信号hsync(m4)的时机之前结束。
这样,在本实施方式中,能够使在各水平同步期间应处理的循环数平滑化,在图像处理部33中,即使在峰值循环数的处理需要比1水平同步期间长的期间的情况下,也能够不使图像处理失败而继续进行处理。
此外,在步骤S20中,判定mW是否比mR多前进2行。在图10的例子中,追加了1个行缓冲器[2],即使写入ID比读出ID前进2行的量,处理也不会失败。但是,在写入ID比读出ID前进3行的量的情况下,例如,在图10中读出ID为[0]时,若写入ID为[2]之后的[0],则不能进行处理m0的参照,处理失败。因此,在该情况下,图像处理部33由控制部31控制,在步骤S25中,输出表示处理失败的错误帧输出。
此外可知,步骤S20的2行为附加了1个行缓冲器的情况下的例子,通过增大所附加的行缓冲器的数量,步骤S20的行数变大,更不容易失败。
(评价)
在采用预定的镜头作为拍摄部22的光学系统的情况下,对在1水平同步期间内进行失真修正所需的循环数进行了评价。对改变了图像尺寸和镜头的43的试验模式进行了评价。图11是以失真处理所需的循环数为横轴、以画面的行为纵轴来示出各行的循环数的变化的说明图。图11的虚线与图6同样地使用2行的量的行缓冲器来表示在1水平同步期间内进行峰值循环数的处理的情况下的特性。另外,图11的实线示出了:针对与虚线相同的图像处理,在使用3行的量的行缓冲器通过上述平滑化处理,在1水平同步期间进行比峰值循环数小的处理的情况下,没有失败而进行失真修正时的特性。如图11所示,针对峰值循环数的处理所需的行,通过平滑化,能够没有失败而进行失真修正的1水平同步期间的循环数变小。
图12是如下图表:针对评价中用到的43的试验模式,在采用本实施方式的平滑化以处理不会失败的方式进行电路设计的情况下,设峰值循环数为1,按行缓冲器的数量(缓冲器数)来表示在1水平同步期间内应处理的循环数的最大值(以下,称作平滑峰值循环数)。
图12的缓冲器数2示出了逐个对不同的行缓冲器设定了写入和读出的情况即不采用本实施方式的平滑化处理的情况,在1水平同步期间内应处理的循环数为峰值循环数。与此相对,在使用了3行的量的行缓冲器的情况下,43的试验模式中的最大平滑峰值循环数为0.99,最小平滑峰值循环数为0.64,平均平滑峰值循环数为0.94。即,通过使行缓冲器的数量加1,能够使在1水平同步期间内应处理的循环数平均下降6%,能够充分提高性价比。
此外,从图12可知,在行缓冲器数为4、6、10、18、34中的任意一个的情况下,43的试验模式中的最大平滑峰值循环数、最小平滑峰值循环数和平均平滑峰值循环数中的任意一个均小于1,能够降低在1水平同步期间内应处理的循环数。虽然图12中未示出,但针对43的全部试验模式,能够减少在1水平同步期间内应处理的循环数。此外,得到如下结果:追加的行缓冲器的数量越多,循环数的下降效果越高。
在这样本实施方式中,追加1行的量以上的行缓冲器,并且,利用表示各以行为单位的处理结束的信号来切换写入对象的行缓冲器,由此,能够遍及多个水平同步期间来执行以行为单位的处理,能够使1水平同步期间所需的循环数平滑化。另外,写入是与水平同步信号同步地进行的,能够进行实时的获取。这样,能够使用具有在1水平同步期间中比峰值循环数小的循环数的处理能力的电路来进行不会失败的处理,能够提高性价比。
(第2实施方式)
图13和图14是用于说明本发明的第2实施方式的说明图。本实施方式的硬件结构与图1相同的。本实施方式应用于作为图像处理而进行压缩处理的图像处理装置。
图像处理部33由控制部31控制,经由输入行缓冲器32输入像素,以行为单位或以块为单位实施压缩处理,并输出到输出行缓冲器34。图像处理部33能够进行基于多个压缩方法的压缩处理。例如,图像处理部33采用png(Portable Network Graphics:便携式网络图形)压缩,能够选择求出与左邻的像素值之差的SUB滤波器、求出与正上方的像素值之差的UP滤波器、求出左邻与正上方的像素的平均值之差的AVG滤波器、根据左邻、正上、左上的3个像素计算Paeth值并求出与该值之差的Paeth滤波器以及未实施压缩处理的None滤波器。
继而,为了实施使用png压缩的各滤波器的压缩处理,输入行缓冲器32需要保持至少2行的量的像素。即,进行png压缩的电路进行最大使用2行像素的压缩,因此,需要具有保持2行的量的像素的行缓冲器和使用了读出用的1行的量的行缓冲器的共计3行的量的行缓冲器。
图像处理部33为了得到期望的压缩率,一边切换滤波器一边进行多次压缩处理。现在,图像处理部33设计为能够在1水平同步期间中进行2次压缩处理。在该情况下,在对写入用使用了2行的量、对读出用使用了1行的量共计3行的量的行缓冲器的情况下,在要对1行的像素使用3种压缩方式进行压缩时,不能在1水平同步期间内完成压缩处理,处理会失败。
因此,在本实施方式中,输入行缓冲器32在用于写入的2行的量的行缓冲器之外,使用作为读出用的2行的量的行缓冲器的共计4行的量的行缓冲器,与第1实施方式同样地,使处理所需的循环数平滑化。
接下来,参照图13和图14,对这样构成的实施方式的工作进行说明。
图13是示出本实施方式中的输入行缓冲器32的写入和读出的例子的说明图。
在图13中,[0]~[3]表示输入行缓冲器32中的各行缓冲器的行缓冲器ID。在图13中示出了,与构成1画面的各行的开始位置对应地产生水平同步信号hsync。在本实施方式中,与该水平同步信号hsync同步地进行对行缓冲器的写入。在图13的例子中,示出了为了在压缩处理中使用,对两个行缓冲器进行2行的量的写入并且从写入结束的2行的量的行缓冲器进行读出的情况下的写入行和读出行。在图13的例子中,与水平同步信号同步地,分别向行缓冲器[0]和行缓冲器[1]写入n0行和n1行的像素,并从行缓冲器[2]和行缓冲器[3]读出n2行和n3行的像素。
图14是示出实施本实施方式中的平滑化处理的情况下的处理序列的说明图。图14以时间为横轴,并通过竖线来表示水平同步信号hsync的输入时机。如图14所示,将连续的…、n0、n1、n2、…行的像素作为像素输入实时地输入到输入行缓冲器32。
例如,图像处理部33首先进行使用SUB滤波器的压缩。图像处理部33在通过该压缩达成了期望的压缩率的情况下,结束该行的压缩处理,在未得到期望的压缩率的情况下,接下来例如进行使用UP滤波器的压缩。图像处理部33通过切换png压缩的滤波器,进行以期望的压缩率的压缩,并将压缩后的像素输出到输出行缓冲器34。
在图14的例子中,假设在向控制部31输入水平同步信号hsync(n4)的时刻,输入行缓冲器32的行缓冲器[2]、[3]中保存有n2、n3行的像素。在水平同步信号hsync(n4)被输入时,在n4行水平同步期间,将n4行的像素写入行缓冲器[0]。另外,在该n4行水平同步期间,从行缓冲器[2]读出n2行的像素,并且,从行缓冲器[3]读出n3行的像素,并在n2行的压缩处理中使用。即,图像处理部33首先选择SUB滤波器,通过与左邻的像素的像素值之差,对各像素进行压缩处理。图像处理部33在不能通过使用SUB滤波器的压缩处理得到期望的压缩率的情况下,接下来使用UP滤波器,通过与正上方的像素值之差来压缩各像素。
现在,假设即使通过由图像处理部33进行的、使用UP滤波器的压缩处理,也不能得到期望的压缩率。在未采用基于本实施方式的平滑化处理的情况下,需要在未得到期望的压缩率的状态下结束n2行的处理,或者将图像处理部33设计为能够在1水平同步期间内进行3次以上的压缩处理。
与此相对,在本实施方式中,追加1个行缓冲器,不需要在n5写水平同步期间对行缓冲器[2]进行写入。另外,通过忙信号来检测压缩处理的结束,并基于该检测结果来控制行缓冲器的写入ID和读出ID,能够将n2行的压缩处理延长到n5写水平同步期间执行。图像处理部33在n5行水平同步期间中,对n2行使用Avg滤波器,实施基于左邻与正上方的像素的平均值之差的第3次压缩处理。由此,在得到期望的压缩率后,图像处理部33在n2行的处理结束后,开始针对n3行的压缩处理。
这样,能够不会使压缩处理失败而在1水平同步期间内进行3次压缩处理。此外,在该情况下,根据水平同步信号hsync(h5)的输入,对行缓冲器[1]进行n5行的像素的写入,能够进行实时的写入。
在假设任意压缩方式的处理时间相同的情况下,与能够在1行期间试行2次压缩方式的情况相比,在本实施方式中,通过追加1行,能够最多试行4次。
在这样本实施方式中,也能够得到与第1实施方式同样的效果。
(变形例)
上述各实施方式的图像处理装置针对实时输入的图像,以行为单位进行处理。作为这样的装置,不仅有失真修正装置或压缩装置,可考虑各种装置。
例如,作为实施方式,也可以应用于进行锐化处理或模糊处理的图像处理装置。
这些处理进行使用预定像素区域的多个像素的运算。例如,通过使用以关注像素为中心的3×3像素或5×5像素的像素区域的各像素的运算,进行增加解析度的锐化处理或使之模糊化的模糊处理等。在该情况下,例如与5×5像素的像素区域对应的过滤器大小的运算量为与3×3像素的像素区域对应的过滤器大小的运算量的25/9倍。
根据包含关注像素的图像部分的边缘的密度,切换要使用的过滤器大小,来进行图像处理。在该情况下,为了在1水平同步期间内进行可靠的处理,如果没有采用上述各实施方式中的平滑化处理,需要设想对全部像素进行基于最大的过滤器大小的运算来进行电路设计。
与此相对,与上述各实施方式同样地,在本来的滤波器处理所需的数量的行缓冲器中追加一个以上的行缓冲器,根据忙信号来检测各行的滤波器处理的结束,并基于该检测结果来控制行缓冲器的写入ID和读出ID,由此,能够遍及多行地执行各行的滤波器处理。由此,能够降低图像处理部33需要在1水平同步期间内进行的运算数。
另外,作为实施方式,也可以应用于进行马赛克处理的图像处理装置。在马赛克处理中,有时根据颜色来改变过滤器大小,应用与上述各实施方式同样的平滑化处理,也能够降低图像处理部33需要在1水平同步期间内进行的运算数。
此外,本发明不限于上述实施方式,在实施阶段,能够在不脱离其主旨的范围内进行各种变形。另外,上述实施方式包含各种阶段的发明,可通过所公开的多个构成要件的适当组合,得到各种发明。例如,在即使从实施方式所示的全部构成要件中删除几个构成要件也能够解决在发明要解决的问题一节所记述的课题、得到发明效果一节所述的效果的情况下,可得到删除该构成要件后的结构来作为发明。
Claims (6)
1.一种图像处理装置,具有:
输入行缓冲器,其由多个行缓冲器构成,以行为单位被输入构成输入图像的多个像素,并存储所输入的像素;
存储器,其存储缓冲器管理信息,该缓冲器管理信息管理针对所述输入行缓冲器的各行缓冲器的写入和读出;
图像处理部,其参照所述输入行缓冲器的各行缓冲器中存储的像素,以行为单位进行图像处理;以及
控制部,其根据所述图像处理部的处理的状态,更新所述缓冲器管理信息,
所述输入行缓冲器是对所述图像处理部中的以行为单位的图像处理所需最低限度的行缓冲器数附加一个以上的行缓冲器而构成的,
所述控制部更新所述缓冲器管理信息,使得:与所述输入图像的水平同步信号同步地切换存储所述输入的像素的行缓冲器,并且,通过检测到所述以行为单位的图像处理的结束来切换在所述图像处理中参照的行缓冲器,
所述控制部根据所述缓冲器管理信息,与所述水平同步信号同步地使所述输入行缓冲器存储所述以行为单位的像素,并且,控制所述图像处理部,在所述输入行缓冲器中已经存储有应处理的以行为单位的像素的情况下,即便所述输入图像的水平同步信号没有到来,通过检测到所述以行为单位的图像处理的结束来开始参照了所述应处理的以行为单位的像素的图像处理,在所述输入行缓冲器中未存储应处理的以行为单位的像素的情况下,与所述水平同步信号同步地开始参照了所述应处理的以行为单位的像素的图像处理。
2.根据权利要求1所述的图像处理装置,
所述图像处理部进行的图像处理是失真修正处理。
3.根据权利要求1所述的图像处理装置,
在所述图像处理部进行的图像处理中,所述以行为单位所需的循环数不同,
在所述图像处理部中,在以1行为单位的期间能够执行的循环数小于所述以行为单位所需的循环数的最大值。
4.根据权利要求1所述的图像处理装置,
还具备输出缓冲器,该输出缓冲器与所述输入图像的水平同步信号同步地输出由所述图像处理部进行图像处理后的像素。
5.一种图像处理方法,包括如下步骤:
以行为单位向由多个行缓冲器构成的输入行缓冲器写入构成输入图像的多个像素;
读出构成所述输入行缓冲器的多个行缓冲器中的一个行缓冲器中存储的像素并提供给图像处理部,由此以行为单位执行图像处理;
将管理针对所述输入行缓冲器的各行缓冲器的写入和读出的缓冲器管理信息存储到存储器中,并且,基于像素对所述输入行缓冲器的写入和所述图像处理部的以行为单位的图像处理的结束来更新所述缓冲器管理信息,
所述输入行缓冲器是对所述图像处理部中的以行为单位的图像处理所需最低限度的行缓冲器数附加一个以上的行缓冲器而构成的,
更新所述缓冲器管理信息,使得:与所述输入图像的水平同步信号同步地切换存储所输入的像素的行缓冲器,并且,通过检测到所述以行为单位的图像处理的结束来切换在所述图像处理中参照的行缓冲器,
根据所述缓冲器管理信息,与所述水平同步信号同步地使所述输入行缓冲器存储以行为单位的像素,并且,控制所述图像处理部,在所述输入行缓冲器中已经存储有应处理的以行为单位的像素的情况下,即便所述输入图像的水平同步信号没有到来,通过检测到所述以行为单位的图像处理的结束来开始参照了所述应处理的以行为单位的像素的图像处理,在所述输入行缓冲器中未存储应处理的以行为单位的像素的情况下,与所述水平同步信号同步地开始参照了所述应处理的以行为单位的像素的图像处理。
6.一种计算机可读的记录介质,记录有图像处理程序,所述图像处理程序用于使计算机执行如下步骤:
以行为单位向由多个行缓冲器构成的输入行缓冲器写入构成输入图像的多个像素;
读出构成所述输入行缓冲器的多个行缓冲器中的一个行缓冲器中存储的像素并提供给图像处理部,由此以行为单位执行图像处理;
将管理针对所述输入行缓冲器的各行缓冲器的写入和读出的缓冲器管理信息存储到存储器中,并且,基于像素对所述输入行缓冲器的写入和所述图像处理部的以行为单位的图像处理的结束来更新所述缓冲器管理信息,
所述输入行缓冲器是对所述图像处理部中的以行为单位的图像处理所需最低限度的行缓冲器数附加一个以上的行缓冲器而构成的,
更新所述缓冲器管理信息,使得:与所述输入图像的水平同步信号同步地切换存储所输入的像素的行缓冲器,并且,通过检测到所述以行为单位的图像处理的结束来切换在所述图像处理中参照的行缓冲器,
根据所述缓冲器管理信息,与所述水平同步信号同步地使所述输入行缓冲器存储以行为单位的像素,并且,控制所述图像处理部,在所述输入行缓冲器中已经存储有应处理的以行为单位的像素的情况下,即便所述输入图像的水平同步信号没有到来,通过检测到所述以行为单位的图像处理的结束来开始参照了所述应处理的以行为单位的像素的图像处理,在所述输入行缓冲器中未存储应处理的以行为单位的像素的情况下,与所述水平同步信号同步地开始参照了所述应处理的以行为单位的像素的图像处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018173581A JP7170478B2 (ja) | 2018-09-18 | 2018-09-18 | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2018-173581 | 2018-09-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110910301A CN110910301A (zh) | 2020-03-24 |
CN110910301B true CN110910301B (zh) | 2023-10-24 |
Family
ID=65657225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910109701.1A Active CN110910301B (zh) | 2018-09-18 | 2019-02-11 | 图像处理装置及方法、和保存有图像处理程序的记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11076092B2 (zh) |
EP (1) | EP3627438A1 (zh) |
JP (1) | JP7170478B2 (zh) |
CN (1) | CN110910301B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7210337B2 (ja) | 2019-03-14 | 2023-01-23 | 株式会社東芝 | 画像処理装置、及び、歪み補正係数算出方法 |
JP7404201B2 (ja) | 2020-09-11 | 2023-12-25 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
JP7419204B2 (ja) | 2020-09-18 | 2024-01-22 | 株式会社東芝 | 画像処理装置 |
JP7560920B2 (ja) | 2020-11-24 | 2024-10-03 | サクサ株式会社 | 画像処理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547295A (zh) * | 2008-03-28 | 2009-09-30 | 夏普株式会社 | 行缓冲器电路、图像处理装置、和图像形成装置 |
JP2010256676A (ja) * | 2009-04-27 | 2010-11-11 | Yamaha Corp | 画像処理装置 |
CN102347017A (zh) * | 2010-07-28 | 2012-02-08 | 雅马哈株式会社 | 图像处理设备 |
CN108364249A (zh) * | 2017-01-27 | 2018-08-03 | 株式会社东芝 | 图像处理装置以及图像处理方法 |
JP2018124968A (ja) * | 2017-01-27 | 2018-08-09 | 株式会社東芝 | 画像処理装置、及び、画像処理方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11113008A (ja) * | 1997-10-08 | 1999-04-23 | Olympus Optical Co Ltd | 電子的撮像装置 |
JP4045822B2 (ja) | 2002-03-19 | 2008-02-13 | 富士ゼロックス株式会社 | 画像形成装置 |
JP3897247B2 (ja) * | 2002-05-16 | 2007-03-22 | 富士フイルム株式会社 | 光学歪みの補正方法及び補正装置 |
JP2005229200A (ja) | 2004-02-10 | 2005-08-25 | Fujitsu Ltd | ディストーション補正回路 |
JP2007079708A (ja) | 2005-09-12 | 2007-03-29 | Konica Minolta Holdings Inc | 画像処理装置及び画像処理方法 |
JP4702233B2 (ja) * | 2006-09-11 | 2011-06-15 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
JP2008259070A (ja) | 2007-04-06 | 2008-10-23 | Canon Inc | 画像形成装置及びその制御方法、プログラム、記憶媒体 |
JP5121671B2 (ja) * | 2008-10-30 | 2013-01-16 | 株式会社東芝 | 画像処理プロセッサ |
JP4692621B2 (ja) * | 2008-12-12 | 2011-06-01 | ソニー株式会社 | 情報処理装置、バッファ制御方法およびコンピュータプログラム |
JP5602532B2 (ja) | 2010-07-30 | 2014-10-08 | オリンパス株式会社 | 画像処理装置および画像処理方法 |
JP2012175303A (ja) * | 2011-02-18 | 2012-09-10 | Jvc Kenwood Corp | 撮像装置、撮像方法、及びプログラム |
JP6146819B2 (ja) | 2012-03-14 | 2017-06-14 | 富士機械製造株式会社 | 画像補正処理装置 |
JP6743427B2 (ja) * | 2016-03-08 | 2020-08-19 | 株式会社リコー | 情報処理装置、撮像システムおよびデータ転送方法 |
JP6336000B2 (ja) | 2016-10-24 | 2018-06-06 | 株式会社三共 | 遊技機 |
JP6845173B2 (ja) | 2018-03-15 | 2021-03-17 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
-
2018
- 2018-09-18 JP JP2018173581A patent/JP7170478B2/ja active Active
-
2019
- 2019-02-11 CN CN201910109701.1A patent/CN110910301B/zh active Active
- 2019-02-25 EP EP19159085.0A patent/EP3627438A1/en not_active Withdrawn
- 2019-02-26 US US16/286,261 patent/US11076092B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547295A (zh) * | 2008-03-28 | 2009-09-30 | 夏普株式会社 | 行缓冲器电路、图像处理装置、和图像形成装置 |
JP2010256676A (ja) * | 2009-04-27 | 2010-11-11 | Yamaha Corp | 画像処理装置 |
CN102347017A (zh) * | 2010-07-28 | 2012-02-08 | 雅马哈株式会社 | 图像处理设备 |
CN108364249A (zh) * | 2017-01-27 | 2018-08-03 | 株式会社东芝 | 图像处理装置以及图像处理方法 |
JP2018124968A (ja) * | 2017-01-27 | 2018-08-09 | 株式会社東芝 | 画像処理装置、及び、画像処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110910301A (zh) | 2020-03-24 |
US20200092467A1 (en) | 2020-03-19 |
JP7170478B2 (ja) | 2022-11-14 |
EP3627438A1 (en) | 2020-03-25 |
JP2020046817A (ja) | 2020-03-26 |
US11076092B2 (en) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110910301B (zh) | 图像处理装置及方法、和保存有图像处理程序的记录介质 | |
JP6845173B2 (ja) | 画像処理装置及び画像処理方法 | |
US10659746B2 (en) | Image processing device and image processing method | |
US20100020225A1 (en) | Image processing apparatus, image processing method, and program | |
US8503817B2 (en) | Apparatus, method and imaging apparatus for correcting distortion of image data using interpolation | |
US8724923B2 (en) | Image processing apparatus and image processing method for correcting distorted image data | |
JP5615155B2 (ja) | 画像処理装置及び方法 | |
JP5731911B2 (ja) | 画像処理装置及びその制御方法 | |
JP4919836B2 (ja) | 画像の歪曲補正を行う画像処理装置、撮像装置及び画像の歪曲補正方法 | |
JP4608436B2 (ja) | 画像撮影装置 | |
US7260271B2 (en) | Digital image data correction apparatus, digital image data correction method and digital image pickup apparatus | |
JP5947143B2 (ja) | 魚眼画像の補正装置及び補正方法 | |
US20130195379A1 (en) | Image processing apparatus and method | |
JP6324174B2 (ja) | 画像処理装置および画像処理方法 | |
JP5676233B2 (ja) | 画像処理装置、画像処理方法、及び撮像装置 | |
JP2010028758A (ja) | 画像処理装置及び方法、プログラム、並びに撮像装置 | |
JP5023313B2 (ja) | ディストーション補正装置 | |
JP2007180898A (ja) | 画像処理装置 | |
US10244179B2 (en) | Image processing apparatus, image capturing apparatus, control method, and recording medium | |
JP6273881B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN110650265B (zh) | 图像处理装置 | |
JP4769880B2 (ja) | 画像処理装置及び方法 | |
CN113610705A (zh) | 用于超分重建的图像去交织方法及装置 | |
JP2014036361A (ja) | 画像処理装置、その制御方法、および制御プログラム | |
JP2007081792A (ja) | 電子ズーム装置 |
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 |