TW202118276A - Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading - Google Patents

Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading Download PDF

Info

Publication number
TW202118276A
TW202118276A TW108137964A TW108137964A TW202118276A TW 202118276 A TW202118276 A TW 202118276A TW 108137964 A TW108137964 A TW 108137964A TW 108137964 A TW108137964 A TW 108137964A TW 202118276 A TW202118276 A TW 202118276A
Authority
TW
Taiwan
Prior art keywords
image
input image
address
cache
line
Prior art date
Application number
TW108137964A
Other languages
Chinese (zh)
Inventor
陳志高
陳永緯
Original Assignee
大陸商南京深視光點科技有限公司
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 大陸商南京深視光點科技有限公司 filed Critical 大陸商南京深視光點科技有限公司
Priority to TW108137964A priority Critical patent/TW202118276A/en
Publication of TW202118276A publication Critical patent/TW202118276A/en

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

Disclosed are an image correction system with a line buffer and an implementation method thereof, which generally disclose a main memory capable of temporarily storing an input image; N line buffers stored in a cache memory and capable of being defined to include multiple N*M cache block groups, wherein each cache block group can temporarily store multiple pixels and an input image address of the most recently retrieved input image in the main memory; and an image corrector capable of generating an output image address of an output image, and to look up a input image address corresponding to the output image address in, for example, a LUT (look up table) in the memory, wherein if the cache hits, the image corrector reads relevant pixels of the input image from one of the line buffers, so as to subsequently perform a distortion correction algorithm. Accordingly, the disclosed is able to solve problem encountered in prior art, that is, storing image read from DRAM in line buffers which makes the read efficiency of DRAM poorer and produces a situation of repetitive pixel reading, moreover, the disclosed achieves advantages such as reducing the number of line buffers as well as storing cost of memory.

Description

具有線緩衝器的影像校正系統及其實施方法Image correction system with line buffer and its implementation method

本發明涉及記憶體存取技術,尤指一種藉由結合線緩衝器與快取區塊(Cache Block)的快取記憶體,作為可供影像校正器(或稱影像插補器)從中存取主記憶體最近所擷取之輸入影像的「具有線緩衝器的影像校正系統及其實施方法」。The present invention relates to memory access technology, in particular to a kind of cache memory by combining line buffer and cache block (Cache Block), which can be accessed by an image corrector (or image interpolator). "Image correction system with line buffer and its implementation method" of the input image recently captured by the main memory.

為了校正儲存於DRAM中的一輸入影像,例如為了扭曲校正/消除彎曲(dewarp)輸入影像,輸入影像中的多個像素需要被讀取及暫存於SRAM的一線緩衝器(line buffer,亦可稱線緩衝區),但為了增加DRAM的工作時脈(clock rate),在輸入影像中的相同像素(same pixel)會有重複讀取(multi-read)的情形,進而造成影像之輸出頻率(frame rate)會降低的問題;再者,由於輸入影像可能因為影像擷取鏡頭為魚眼鏡頭而有形變(warping)情形,故輸出影像的一掃瞄線(scan line),在輸入影像所對應的掃描線可能是彎曲的,意即輸出影像所對應的輸入影像像素資料在DRAM中並未儲存在連續位址,進而導致有DRAM讀取效率不高的情形(因相較SRAM,DRAM的存取速度較慢)。In order to calibrate an input image stored in DRAM, such as for distortion correction/dewarp input image, multiple pixels in the input image need to be read and temporarily stored in a line buffer of SRAM. It is called a line buffer), but in order to increase the clock rate of the DRAM, the same pixel in the input image will be repeatedly read (multi-read), which will cause the output frequency of the image ( The frame rate will be reduced. Furthermore, since the input image may be warping due to the image capturing lens being a fisheye lens, a scan line of the output image is at the corresponding position of the input image. The scan line may be curved, which means that the pixel data of the input image corresponding to the output image is not stored in consecutive addresses in the DRAM, resulting in a situation where the DRAM reading efficiency is not high (because compared to SRAM, DRAM access Slower).

為此,雖人有提出可將從DRAM所讀取的影像儲存於多個線緩衝器中,意即增加線緩衝器的數量以改善DRAM讀取效率較差及重複讀取像素的情況,即如「第1圖」所示,但如此一來,線緩衝器的成本將隨之增加,例如若要暫存第1圖所示的兩條資料線(L_1’、L_2’),則至少需要7個線緩衝器方能達成,是以,如何在權衡線緩衝器的存取頻寬(access bandwidth)與線緩衝器之成本的前提下,提出一種可維持輸出頻率之較佳的影像校正系統,乃有待解決之問題。For this reason, it has been proposed to store the images read from DRAM in multiple line buffers, which means that the number of line buffers can be increased to improve the poor reading efficiency of DRAM and the repeated reading of pixels. As shown in "Figure 1", but in this way, the cost of the line buffer will increase accordingly. For example, if you want to temporarily store the two data lines (L_1', L_2') shown in Figure 1, you need at least 7 A line buffer can only be achieved. Therefore, how to propose a better image correction system that can maintain the output frequency under the premise of balancing the access bandwidth of the line buffer and the cost of the line buffer. It is a problem to be solved.

為達上述目的,本發明提出一種具有線緩衝器的影像校正系統,主要包括一主記憶體、一影像校正器以及分別耦接於主記憶體與影像校正器的一快取記憶體;其中,主記憶體可暫存一輸入影像;影像校正器可產生一輸出影像的線資料,且輸出影像的至少一線資料可由輸入影像的複數個線資料執行一變形校正演算法而得;快取記憶體可包含N個線緩衝器,其中N個線緩衝器可被定義為包含多個N*M大小的快取區塊組,各快取區塊組可暫存主記憶體最近擷取之輸入影像的多個像素及多個像素的一輸入影像位址,且各快取區塊組儲存的輸入影像位址,可為輸入影像於相同或不同掃描線的列編號及位址標籤;影像校正器亦可產生輸出影像之線資料的一輸出影像位址,且輸出影像位址可為輸出影像之其中一線資料的列編號及位址標籤,並查找輸出影像位址所對應的輸入影像位址,以決定其中一線緩衝器所儲存(或其中一快取區塊組所暫存)的輸入影像位址是否快取命中,若快取命中,則影像校正器可從其中一線緩衝器的其中一快取區塊組讀取輸入影像的相關像素,以續行例如內插的變形校正演算法。To achieve the above objective, the present invention provides an image correction system with a line buffer, which mainly includes a main memory, an image corrector, and a cache memory respectively coupled to the main memory and the image corrector; wherein, The main memory can temporarily store an input image; the image corrector can generate an output image line data, and at least one line data of the output image can be obtained by performing a distortion correction algorithm on a plurality of line data of the input image; cache memory Can include N line buffers, where N line buffers can be defined as including multiple N*M-sized cache block groups, and each cache block group can temporarily store the most recently captured input image from the main memory The input image address of multiple pixels and multiple pixels, and the input image address stored in each cache block group can be the row number and address label of the input image on the same or different scan lines; image corrector It can also generate an output image address of the line data of the output image, and the output image address can be the row number and address label of one of the line data of the output image, and search for the input image address corresponding to the output image address. To determine whether the input image address stored in one of the line buffers (or temporarily stored in one of the cache block groups) is a cache hit, if the cache hits, the image corrector can retrieve one of the caches from one of the line buffers. Take the block group to read the relevant pixels of the input image to continue the deformation correction algorithm such as interpolation.

藉此,本發明據以實施後,至少可解決習知作法均將從DRAM所讀取的影像儲存於線緩衝器,而有DRAM讀取效率較差及像素重複讀取的情形,同時可達成降低線緩衝器的數量而減少記憶體之儲存成本的有利功效。Therefore, after the present invention is implemented, it can at least solve the problem of storing images read from the DRAM in the line buffer in the conventional method, and the DRAM reading efficiency is poor and the pixels are repeatedly read. At the same time, it can reduce The number of line buffers has the beneficial effect of reducing the storage cost of the memory.

為使 貴審查委員得以清楚了解本發明之目的、技術特徵及其實施後之功效,茲以下列說明搭配圖示進行說明,敬請參閱。In order for your reviewer to have a clear understanding of the purpose, technical features and effects of the present invention after implementation, the following descriptions and illustrations are used for illustration, please refer to it.

請參閱「第2圖」,其為本發明的系統架構圖,本發明提出一種具有線緩衝器的影像校正系統1,主要包括一主記憶體10、一影像校正器20以及分別耦接於主記憶體10與影像校正器20的一快取記憶體30,前述的耦接可例如為電性連接或資訊連接,但並不以此為限,其中: (1)  主記憶體10供以暫存一輸入影像(例如由具有魚眼鏡頭的影像擷取裝置擷取影像而輸入),且主記憶體10可例如為一動態隨機存取記憶體(DRAM); (2)  影像校正器20用以產生一輸出影像的線資料,且輸出影像的至少一線資料可由輸入影像的複數個線資料執行一變形校正演算法而得; (3)  快取記憶體30可為一靜態隨機存取記憶體(SRAM),其可包含N個線緩衝器(LB_1~LB_N),前述N個線緩衝器(LB_1~LB_N)可被定義為包含多個

Figure 02_image001
大小的快取區塊組,各快取區塊組用於暫存主記憶體10最近擷取之輸入影像的多個像素(the most-used pixel)及前物多個像素所對應的的一輸入影像位址,且各快取區塊組儲存的輸入影像位址,可經組態為輸入影像於相同或不同掃描線的列編號及位址標籤; (4)  影像校正器20亦用於產生輸出影像之線資料的一輸出影像位址,且輸出影像位址可被定義為輸出影像之其中一線資料的列編號及位址標籤,並查找輸出影像位址所對應的輸入影像位址,以決定線緩衝器(LB_1~LB_N)所儲存的輸入影像位址(或可稱決定其中一快取區塊組所暫存的輸入影像位址)是否快取命中(Cache Hit); (5)  承上,若快取命中,則影像校正器20可被組態為從線緩衝器(LB_1~LB_N)的其中一快取區塊組讀取輸入影像的相關像素,以續行變形校正演算法; (6)  承上,若並未快取命中,意即快取失誤(Cache Miss),則影像校正器20可被組態為從主記憶體10對應的輸入影像位址讀取輸入影像的相關像素,並令主記憶體10最近擷取之輸入影像的輸入影像位址,同步更新至線緩衝器(LB_1~LB_N),以利後續快取像素資料。 (7)  另,本發明在一較佳實施例中,前述的變形校正演算法可為一雙線性內插(bilinear interpolation)或一最臨近內插法(nearest neighbor interpolation)的內插演算法(interpolation),但並不以此為限。Please refer to "Figure 2", which is a system architecture diagram of the present invention. The present invention proposes an image correction system 1 with a line buffer, which mainly includes a main memory 10, an image corrector 20, and are respectively coupled to the main The memory 10 and a cache memory 30 of the image corrector 20. The aforementioned coupling can be, for example, electrical connection or information connection, but is not limited to this. Among them: (1) The main memory 10 is provided for temporary An input image is stored (for example, an image is captured by an image capturing device with a fisheye lens and input), and the main memory 10 can be, for example, a dynamic random access memory (DRAM); (2) For the image corrector 20 To generate line data of an output image, and at least one line data of the output image can be obtained by performing a distortion correction algorithm on a plurality of line data of the input image; (3) The cache memory 30 can be a static random access memory (SRAM), which can include N line buffers (LB_1~LB_N). The aforementioned N line buffers (LB_1~LB_N) can be defined as including multiple
Figure 02_image001
Cache block groups of different sizes. Each cache block group is used to temporarily store the most-used pixels of the most-used pixel of the input image captured by the main memory 10 and one of the pixels corresponding to the predecessor. Input image address, and the input image address stored in each cache block group can be configured as the row number and address label of the input image in the same or different scan lines; (4) The image corrector 20 is also used Generate an output image address of the line data of the output image, and the output image address can be defined as the row number and address label of one of the line data of the output image, and search for the input image address corresponding to the output image address, To determine whether the input image address stored in the line buffers (LB_1~LB_N) (or can be said to determine the input image address temporarily stored in one of the cache block groups) whether the cache hit (Cache Hit); (5) In addition, if the cache hits, the image corrector 20 can be configured to read the relevant pixels of the input image from one of the cache block groups of the line buffers (LB_1~LB_N) to continue the line distortion correction algorithm (6) Continuing, if there is no cache hit, which means a cache miss (Cache Miss), the image corrector 20 can be configured to read the input image from the input image address corresponding to the main memory 10 Relevant pixels, and the input image address of the input image recently captured by the main memory 10 is synchronized to the line buffers (LB_1~LB_N) to facilitate subsequent fast-fetching of pixel data. (7) In addition, in a preferred embodiment of the present invention, the aforementioned deformation correction algorithm can be a bilinear interpolation or a nearest neighbor interpolation interpolation algorithm (interpolation), but not limited to this.

請參閱「第3圖」,其為本發明的系統流程圖,並請搭配參閱「第2圖」,本發明提出一種具有線緩衝器的影像校正系統的實施方法S,供包含一主記憶體10、一影像校正器20及一快取記憶體30的影像校正系統實施,包括: (1)  設定快取記憶體(步驟S10):快取記憶體30經組態為分別耦接於主記憶體10與影像校正器20,快取記憶體30可包含N個線緩衝器(LB_1~LB_N),其中N個線緩衝器(LB_1~LB_N)可被定義為包含多個

Figure 02_image001
大小的快取區塊組,各快取區塊組可暫存主記憶體10最近擷取之一輸入影像的多個像素及前述多個像素的一輸入影像位址,且各快取區塊組儲存的輸入影像位址,可經組態為輸入影像於相同或不同掃描線的列編號及位址標籤,舉例而言,輸入影像位址可被表示為例如(line6, 位址200),而各快取區塊組可儲存例如64x64像素(pixel)的影像資料,但並不以此為限; (2)  產生輸出影像位址(步驟S20):影像校正器20產生一輸出影像之一線資料的一輸出影像位址,輸出影像的至少一線資料可由暫存於主記憶體10的輸入影像的複數個線資料執行一變形校正演算法而得,且輸出影像位址可被定義為輸出影像之其中一線資料的列編號及位址標籤,舉例而言,輸出影像位址可被表示為(line5, 位址100); (3)  承上,有關步驟S10之更具體說明,還請參閱「第4圖」~「第6圖」之實施示意圖,首先,假設影像校正器20係以漸進式掃描方式(progressive-scan),由左至右(x方向)且由上至下(y方向)的方向作輸出,則影像校正器20所輸出的第1條資料線,可能要在完成輸入影像中的第1條資料線L_1(由於輸入影像有變形情形,故資料線L_1可能呈彎曲狀)的讀取後,方能進行影像校正而產生,同理,影像校正器20所輸出的第2條資料線,可能要在完成輸入影像中的第2條資料線L_2(其亦可能呈彎曲狀)的讀取後,方能進行影像校正而產生; (4)  承上,依此可知,在步驟S10執行時,可令被定義出的多個快取區塊組,組態為由線緩衝器LB_4的第1個快取區塊CB_41開始暫存資料線L_1的部分像素資料及其輸入影像位址,接著,由線緩衝器LB_3的第1個快取區塊CB_31暫存,至此,即如「第4圖」所示,而圖中所示的快取區塊(CB_41、CB_31)相當於定義其為線緩衝器(LB_1~ LB_4)的第一快取區塊組CBG_1,但並不以此圖所示限制第一快取區塊組CBG_1的大小; (5)  其後,可接續由線緩衝器LB_3的第2個快取區塊CB_32暫存資料線L_1的部分像素資料及其輸入影像位址,接著,由線緩衝器LB_2的第2個快取區塊CB_22暫存,至此,即如「第5圖」所示,而圖中所示的快取區塊(CB_32、CB_22)相當於定義其為線緩衝器(LB_1~ LB_4)的第二快取區塊組CBG_2,但並不以此圖所示限制第二快取區塊組CBG_2的大小; (6)  其後,可接續由線緩衝器LB_2的第2個快取區塊CB_23暫存,以此類推,當快取記憶體30完成輸入影像中的資料線L_1及資料線L_2的暫存後,即如「第6圖」所示,相當於將線緩衝器(LB_1~ LB_5)定義出可沿著Y軸暫存輸入影像的多個快取區塊組,例如「第4圖」所示為驅動線緩衝器(LB_1~ LB_4)的第一快取區塊組CBG_1,「第5圖」所示為驅動線緩衝器(LB_1~ LB_4)的第二快取區塊組CBG_2,「第6圖」所示則為依序驅動線緩衝器(LB_1~ LB_5)至其最後一個快取區塊組,但圖中所示僅為舉例,並不以圖中所示限制各快取區塊組的大小; (7)  承上,至此本實施例僅驅動不多於5個線緩衝器(LB_1~ LB_5)暫存輸入影像,相比於習知技術需依據各列掃瞄線的方向,以至少7個線緩衝器逐一儲存資料線L_1及資料線L_2(甚至包含其它不在資料線上的像素)之像素資料及其輸入影像位址的作法,本發明至少可達成減少線緩衝器之使用及減輕像素重複讀取之情形的有利功效; (8)  快取命中檢查(步驟S30):影像校正器20查找輸出影像位址所對應的一輸入影像位址,以決定其中一線緩衝器(LB_1~LB_N)所儲存的輸入影像位址(或可稱決定其中一快取區塊組所暫存的輸入影像位址)是否快取命中; (9)  承步驟S30,若快取命中,則接續執行快取像素及校正影像(步驟S40):影像校正器20可被組態為從其中一線緩衝器(LB_1~LB_N)的其中一快取區塊組讀取輸入影像的相關像素,以續行變形校正演算法; (10)   承上,若步驟S30的結果為快取失誤,則接續執行讀取主記憶體及更新線緩衝器(步驟S50):影像校正器20可被組態為從主記憶體10對應的輸入影像位址讀取輸入影像的相關像素,並令主記憶體10最近擷取之輸入影像的輸入影像位址,同步更新至線緩衝器(LB_1~LB_N),以利後續快取像素資料。 (11)   另,本發明在一較佳實施例中,前述的變形校正演算法可為一雙線性內插或一最臨近內插法的內插演算法(interpolation),但並不以此為限。Please refer to "Figure 3", which is the system flow chart of the present invention. Please also refer to "Figure 2". The present invention proposes an implementation method S of an image correction system with a line buffer for including a main memory 10. Implementation of an image correction system of an image corrector 20 and a cache memory 30, including: (1) Setting the cache memory (step S10): The cache memory 30 is configured to be coupled to the main memory respectively The body 10 and the image corrector 20. The cache memory 30 may include N line buffers (LB_1~LB_N), of which N line buffers (LB_1~LB_N) can be defined as including multiple
Figure 02_image001
A cache block group of a large size, each cache block group can temporarily store a plurality of pixels of an input image recently captured by the main memory 10 and an input image address of the aforementioned plurality of pixels, and each cache block The input image address stored in the group can be configured as the row number and address label of the input image on the same or different scan lines. For example, the input image address can be expressed as (line6, address 200), Each cache block group can store, for example, 64x64 pixel (pixel) image data, but it is not limited to this; (2) Generate an output image address (step S20): The image corrector 20 generates an output image line An output image address of the data, at least one line of data of the output image can be obtained by performing a distortion correction algorithm on a plurality of line data of the input image temporarily stored in the main memory 10, and the output image address can be defined as the output image The row number and address label of one of the first-line data. For example, the output image address can be expressed as (line5, address 100); (3) Continuing from the above, for more specific instructions on step S10, please refer to " Figure 4" ~ "Figure 6" are schematic diagrams of implementation. First, assume that the image corrector 20 adopts a progressive-scan method, from left to right (x direction) and from top to bottom (y direction) The first data line output by the image corrector 20 may be the first data line L_1 in the input image (due to the deformation of the input image, the data line L_1 may be curved) After reading, the image can be corrected and generated. Similarly, the second data line output by the image corrector 20 may be completed after the second data line L_2 in the input image (which may also be curved ) Can only be generated by image correction after reading; (4) From the above, it can be seen from this that when step S10 is executed, multiple defined cache block groups can be configured as line buffers The first cache block CB_41 of the LB_4 starts to temporarily store part of the pixel data of the data line L_1 and its input image address, and then the first cache block CB_31 of the line buffer LB_3 is temporarily stored, so far, that is As shown in "Figure 4", the cache block (CB_41, CB_31) shown in the figure is equivalent to the first cache block group CBG_1 defined as the line buffer (LB_1~LB_4), but not Limit the size of the first cache block group CBG_1 as shown in this figure; (5) After that, the second cache block CB_32 of the line buffer LB_3 can be used to temporarily store part of the pixel data of the data line L_1 and its Enter the image address, and then temporarily store it in the second cache block CB_22 of the line buffer LB_2. So far, as shown in "Figure 5", the cache blocks (CB_32, CB_22) ) Is equivalent to defining it as the second cache block group CBG_2 of the line buffer (LB_1~LB_4), but does not limit the size of the second cache block group CBG_2 as shown in this figure; (6) After that, the second cache block CB_23 of the line buffer LB_2 can be temporarily stored, and so on. When the cache memory 30 completes the temporary storage of the data line L_1 and the data line L_2 in the input image, that is As shown in "Figure 6", it is equivalent to defining the line buffers (LB_1~LB_5) to define multiple cache block groups that can temporarily store input images along the Y axis. For example, "Figure 4" shows the drive The first cache block group CBG_1 of the line buffers (LB_1~LB_4), "Figure 5" shows the second cache block group CBG_2 of the drive line buffers (LB_1~LB_4), "Figure 6" The figure shown is to drive the line buffers (LB_1~LB_5) in sequence to the last cache block group, but the figure shown is only an example, and the size of each cache block group is not limited as shown in the figure (7) To continue, so far this embodiment only drives no more than 5 line buffers (LB_1~LB_5) to temporarily store the input image. Compared with the prior art, it needs at least 7 lines according to the direction of each row of scanning lines. A line buffer stores the pixel data of the data line L_1 and the data line L_2 (even other pixels not on the data line) and their input image addresses one by one. The present invention can at least reduce the use of line buffers and reduce pixel duplication. (8) Cache hit check (step S30): The image corrector 20 searches for an input image address corresponding to the output image address to determine the location of one of the line buffers (LB_1~LB_N) The stored input image address (or the input image address that determines one of the cache block groups temporarily stored) is cache hit; (9) Step S30, if the cache hits, continue to execute the cache pixel And correct the image (step S40): the image corrector 20 can be configured to read the relevant pixels of the input image from one of the cache block groups of one of the line buffers (LB_1~LB_N) to continue the distortion correction algorithm (10) Continuing, if the result of step S30 is a cache error, continue reading the main memory and updating the line buffer (step S50): the image corrector 20 can be configured to correspond to the main memory 10 The input image address of reads the relevant pixels of the input image, and the input image address of the input image captured by the main memory 10 is synchronously updated to the line buffers (LB_1~LB_N) to facilitate subsequent cache pixel data . (11) In addition, in a preferred embodiment of the present invention, the aforementioned deformation correction algorithm can be a bilinear interpolation or a nearest-nearest interpolation interpolation algorithm (interpolation), but this is not the case. Is limited.

請參閱「第7圖」,其為本發明的另一較佳實施例, 本實施例提出一種具有線緩衝器的影像校正系統1,其技術主要與「第2圖」~「第6圖」之技術類同,主要差異在於,本實施例的影像校正系統更包括分別耦接於主記憶體10與影像校正器20的一LUT(Look Up Table,查找表)記憶體40,其可儲存輸入影像與輸出影像的一位址轉換關係,以供影像校正器20可從中查找輸出影像位址所對應的輸入影像位址,較佳者,本實施例的LUT記憶體40本身亦可為一靜態隨機存取記憶體(SRAM),但並不以此為限。Please refer to "Figure 7", which is another preferred embodiment of the present invention. This embodiment proposes an image correction system 1 with a line buffer. Its technology is mainly similar to that of "Figure 2" to "Figure 6". The main difference is that the image correction system of this embodiment further includes separate couplings. A LUT (Look Up Table) memory 40 connected to the main memory 10 and the image corrector 20 can store the bit address conversion relationship between the input image and the output image for the image corrector 20 to find The input image address corresponding to the output image address. Preferably, the LUT memory 40 of this embodiment can also be a static random access memory (SRAM), but it is not limited to this.

以上所述者,僅為本發明之較佳之實施例而已,並非用以限定本發明實施之範圍;任何熟習此技藝者,在不脫離本發明之精神與範圍下所作之均等變化與修飾,皆應涵蓋於本發明之專利範圍內。The above are only the preferred embodiments of the present invention and are not intended to limit the scope of implementation of the present invention. Anyone who is familiar with this technique can make equal changes and modifications without departing from the spirit and scope of the present invention. Should be covered within the scope of the patent of the present invention.

綜上所述,本發明係具有「產業利用性」、「新穎性」與「進步性」等專利要件;申請人爰依專利法之規定,向 鈞局提起發明專利之申請。In summary, the present invention has patent requirements such as "industrial applicability", "novelty", and "advancedness"; the applicant filed an application for a patent for invention with the Bureau of Patent in accordance with the provisions of the Patent Law.

1:具有線緩衝器的影像校正系統 10:主記憶體 20:影像校正器 30:快取記憶體 40:LUT記憶體 LB_1:線緩衝器 LB_2:線緩衝器 CB_22:快取區塊 CB_23:快取區塊 LB_3:線緩衝器 CB_31:快取區塊 CB_32:快取區塊 LB_4:線緩衝器 CB_41:快取區塊 CBG_1:第一快取區塊組 CBG_2:第二快取區塊組 LB_5:線緩衝器 LB_N:線緩衝器 L_1:輸入影像的第1資料線 L_2:輸入影像的第2資料線 S:具有線緩衝器的影像校正系統的實施方法 S10:設定快取記憶體 S20:產生輸出影像位址 S30:快取命中檢查 S40:快取像素及校正影像 S50:讀取主記憶體及更新線緩衝器 LB_1’:習知線緩衝器 LB_2’:線緩衝器 LB_3’:線緩衝器 L_1’:習知輸入影像的資料線 L_2’:習知輸入影像的資料線1: Image correction system with line buffer 10: Main memory 20: Image corrector 30: Cache memory 40: LUT memory LB_1: Line buffer LB_2: Line buffer CB_22: Cache block CB_23: Cache block LB_3: Line buffer CB_31: Cache block CB_32: Cache block LB_4: Line buffer CB_41: Cache block CBG_1: The first cache block group CBG_2: The second cache block group LB_5: Line buffer LB_N: Line buffer L_1: The first data line of the input image L_2: The second data line of the input image S: Implementation method of image correction system with line buffer S10: Set cache memory S20: Generate output image address S30: Cache hit check S40: Cache pixels and correct images S50: Read main memory and update line buffer LB_1’: Conventional Line Buffer LB_2’: Line buffer LB_3’: Line buffer L_1’: Learn the data line of the input image L_2’: Learn the data line of the input image

第1圖,為習知的線緩衝器讀取輸入影像之示意圖。 第2圖,為本發明的系統架構圖。 第3圖,為本發明的系統流程圖。 第4圖,為本發明的實施示意圖(一)。 第5圖,為本發明的實施示意圖(二)。 第6圖,為本發明的實施示意圖(三)。 第7圖,為本發明的另一較佳實施例。Figure 1 is a schematic diagram of a conventional line buffer reading input images. Figure 2 is a system architecture diagram of the present invention. Figure 3 is a system flow chart of the present invention. Figure 4 is a schematic diagram (1) of the implementation of the present invention. Figure 5 is a schematic diagram (2) of the implementation of the present invention. Figure 6 is a schematic diagram of the implementation of the present invention (3). Figure 7 is another preferred embodiment of the present invention.

1:具有線緩衝器的影像校正系統1: Image correction system with line buffer

10:主記憶體10: Main memory

20:影像校正器20: Image corrector

30:快取記憶體30: Cache memory

LB_1:線緩衝器LB_1: Line buffer

LB_2:線緩衝器LB_2: Line buffer

LB_N:線緩衝器LB_N: Line buffer

Claims (8)

一種具有線緩衝器的影像校正系統,包括: 一主記憶體,供以暫存一輸入影像; 一影像校正器,用以產生一輸出影像的線資料,且該輸出影像的至少一該線資料係由該輸入影像的複數個線資料執行一變形校正演算法而得; 一快取記憶體,分別耦接於該主記憶體與該影像校正器,該快取記憶體包含N個線緩衝器,其中該N個線緩衝器被定義為包含多個
Figure 03_image003
大小的快取區塊組,各該快取區塊組用於暫存該主記憶體最近擷取之該輸入影像的多個像素及該多個像素的一輸入影像位址,且各該快取區塊組儲存的該輸入影像位址,經組態為該輸入影像於相同或不同掃描線的列編號及位址標籤; 該影像校正器亦用於產生該輸出影像之該線資料的一輸出影像位址,且該輸出影像位址被定義為該輸出影像之其中一該線資料的列編號及位址標籤,並查找該輸出影像位址所對應的該輸入影像位址,以決定其中一該線緩衝器所儲存的該輸入影像位址是否快取命中;以及 若快取命中,該影像校正器從該線緩衝器的其中一該快取區塊組讀取該輸入影像的相關像素,以續行該變形校正演算法。
An image correction system with a line buffer includes: a main memory for temporarily storing an input image; an image corrector for generating line data of an output image, and at least one line data of the output image It is obtained by executing a distortion correction algorithm on a plurality of line data of the input image; a cache memory is respectively coupled to the main memory and the image corrector, the cache memory includes N line buffers , Where the N line buffers are defined as containing multiple
Figure 03_image003
A cache block group of a size, each cache block group is used to temporarily store a plurality of pixels of the input image recently captured by the main memory and an input image address of the plurality of pixels, and each of the cache blocks Take the input image address stored in the block group and configure it as the row number and address label of the input image on the same or different scan line; the image corrector is also used to generate one of the line data of the output image The output image address, and the output image address is defined as the row number and address label of one of the line data of the output image, and the input image address corresponding to the output image address is searched to determine which Whether the input image address stored in the line buffer is a cache hit; and if the cache hits, the image corrector reads the relevant pixels of the input image from one of the cache block groups of the line buffer To continue the deformation correction algorithm.
如申請專利範圍第1項的具有線緩衝器的影像校正系統,其中,若該線緩衝器儲存的該輸入影像位址並未快取命中,則該影像校正器從該主記憶體對應的該輸入影像位址讀取該輸入影像的相關像素,並令該主記憶體最近擷取之該輸入影像的該輸入影像位址,同步更新至該線緩衝器。For example, the image correction system with line buffer of the first item of the patent application, wherein, if the input image address stored in the line buffer is not cached, the image corrector will be from the main memory corresponding to the The input image address reads the relevant pixels of the input image, and causes the input image address of the input image recently captured by the main memory to be synchronously updated to the line buffer. 如申請專利範圍第1項的具有線緩衝器的影像校正系統,更包括分別耦接於該主記憶體與該影像校正器的一LUT記憶體,用於儲存該輸入影像與該輸出影像的位址轉換關係,以供該影像校正器從中查找該輸出影像位址所對應的該輸入影像位址。For example, the image correction system with a line buffer of the first item of the patent application further includes a LUT memory respectively coupled to the main memory and the image corrector for storing the input image and the output image. Address conversion relationship for the image corrector to find the input image address corresponding to the output image address. 如申請專利範圍第1項的具有線緩衝器的影像校正系統,其中,該變形校正演算法為應用一雙線性內插或一最臨近內插法的內插演算法。For example, the image correction system with a line buffer in the first patent application, wherein the distortion correction algorithm is an interpolation algorithm using a bilinear interpolation or a nearest interpolation method. 一種具有線緩衝器的影像校正系統的實施方法,包括: 一設定快取記憶體步驟:一快取記憶體經組態為分別耦接於一主記憶體與一影像校正器,該快取記憶體包含N個線緩衝器,其中該N個線緩衝器被定義為包含多個
Figure 03_image003
大小的快取區塊組,各該快取區塊組暫存該主記憶體最近擷取之一輸入影像的多個像素及該多個像素的一輸入影像位址,且各該快取區塊組儲存的該輸入影像位址,經組態為該輸入影像於相同或不同掃描線的列編號及位址標籤; 一產生輸出影像位址步驟:該影像校正器產生一輸出影像之一線資料的一輸出影像位址,該輸出影像的至少一該線資料可由暫存於該主記憶體的該輸入影像的複數個線資料執行一變形校正演算法而得,且該輸出影像位址被定義為該輸出影像之其中一該線資料的列編號及位址標籤; 一快取命中檢查步驟:該影像校正器查找該輸出影像位址所對應的一輸入影像位址,以決定其中一該線緩衝器所儲存的該輸入影像位址是否快取命中;以及 一快取像素及校正影像步驟:若快取命中,該影像校正器從該線緩衝器的其中一該快取區塊組讀取該輸入影像的相關像素,以續行該變形校正演算法。
An implementation method of an image correction system with a line buffer includes: a step of setting a cache memory: a cache memory is configured to be respectively coupled to a main memory and an image corrector, the cache memory The body contains N line buffers, where the N line buffers are defined as containing multiple
Figure 03_image003
Cache block group of the size, each cache block group temporarily stores a plurality of pixels of an input image captured by the main memory and an input image address of the plurality of pixels, and each cache area The input image address stored in the block group is configured as the row number and address label of the input image on the same or different scan lines; a step of generating an output image address: the image corrector generates one line data of an output image An output image address of the output image, at least one line data of the output image can be obtained by performing a distortion correction algorithm on a plurality of line data of the input image temporarily stored in the main memory, and the output image address is defined Is the row number and address label of one of the line data of the output image; a cache hit check step: the image corrector searches for an input image address corresponding to the output image address to determine one of the lines Whether the input image address stored in the buffer is a cache hit; and a step of fetching pixels and correcting the image: if the cache hits, the image corrector reads from one of the cache block groups in the line buffer The relevant pixels of the input image are continued with the distortion correction algorithm.
如申請專利範圍第5項的具有線緩衝器的影像校正系統的實施方法,其中,該快取命中檢查步驟的結果為快取失誤,接續執行一讀取主記憶體及更新線緩衝器步驟:該影像校正器從該主記憶體對應的該輸入影像位址讀取該輸入影像的相關像素,並令該主記憶體最近擷取之該輸入影像的該輸入影像位址,同步更新至該線緩衝器。For example, the method for implementing an image correction system with a line buffer in the scope of the patent application, wherein the result of the cache hit check step is a cache error, and a step of reading the main memory and updating the line buffer is successively performed: The image corrector reads the relevant pixels of the input image from the input image address corresponding to the main memory, and causes the input image address of the input image captured by the main memory to be updated to the line synchronously buffer. 如申請專利範圍第5項的具有線緩衝器的影像校正系統的實施方法,其中,該快取命中檢查步驟執行時,該影像校正器係依據一LUT記憶體所儲存的該輸入影像與該輸出影像的位址轉換關係,從中查找該輸出影像位址所對應的該輸入影像位址。For example, the implementation method of an image correction system with a line buffer in the scope of the patent application, wherein, when the cache hit check step is executed, the image corrector is based on the input image and the output stored in a LUT memory The image address conversion relationship is used to find the input image address corresponding to the output image address. 如申請專利範圍第5項的具有線緩衝器的影像校正系統的實施方法,其中,該變形校正演算法為應用一雙線性內插或一最臨近內插法的內插演算法。For example, the method for implementing an image correction system with a line buffer in the scope of the patent application, wherein the distortion correction algorithm is an interpolation algorithm applying a bilinear interpolation or a nearest interpolation method.
TW108137964A 2019-10-21 2019-10-21 Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading TW202118276A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108137964A TW202118276A (en) 2019-10-21 2019-10-21 Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108137964A TW202118276A (en) 2019-10-21 2019-10-21 Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading

Publications (1)

Publication Number Publication Date
TW202118276A true TW202118276A (en) 2021-05-01

Family

ID=77020692

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108137964A TW202118276A (en) 2019-10-21 2019-10-21 Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading

Country Status (1)

Country Link
TW (1) TW202118276A (en)

Similar Documents

Publication Publication Date Title
JP5663009B2 (en) Apparatus for displaying original image by warping or rotating, method thereof, computer program thereof, and recording medium recording the same
US20030058368A1 (en) Image warping using pixel pages
JP5602532B2 (en) Image processing apparatus and image processing method
CN109146793B (en) Pipelined image chroma format conversion scaling rotation superposition system
CN111861883A (en) Multi-channel video splicing method based on synchronous integral SURF algorithm
CN110322904A (en) Compress image information reading and control method thereof and device
US7768521B2 (en) Image processing apparatus and image processing method
US20070217002A1 (en) Screen synthesizing device
TW202118276A (en) Image correction system with line buffer and implementation method thereof solving problem including making the read efficiency of DRAM poorer and producing a situation of repetitive pixel reading
JP5947143B2 (en) Fisheye image correction apparatus and correction method
TWM591679U (en) Image correction system with line buffer
CN104268098A (en) On-chip cache system for transformation on ultrahigh-definition video frame rates
CN115203470B (en) Method, device and equipment for storing video image data and readable medium
CN112767228A (en) Image correction system with line buffer and implementation method thereof
CN107437235A (en) Distort Picture Calibration device and method
TWI635746B (en) Distorted image correcting apparatus and method
US8416252B2 (en) Image processing apparatus and memory access method thereof
JP5113174B2 (en) Method and apparatus for simultaneously generating multi-site FM screen dots
CN107168660B (en) Image processing cache system and method
JP3288327B2 (en) Video memory circuit
KR101520041B1 (en) Device and method of an memory interface for lens distortion correction
CN115082324B (en) Video image local rotation processing method, system, terminal and medium
TWI756771B (en) Image transformation method
JPH04354068A (en) Method and device for interpolating picture data
WO2008055411A1 (en) A method and apparatus using double error line memory to generate image halftone dots