US8269786B2 - Method for reading and writing image data in memory - Google Patents
Method for reading and writing image data in memory Download PDFInfo
- Publication number
- US8269786B2 US8269786B2 US12/474,507 US47450709A US8269786B2 US 8269786 B2 US8269786 B2 US 8269786B2 US 47450709 A US47450709 A US 47450709A US 8269786 B2 US8269786 B2 US 8269786B2
- Authority
- US
- United States
- Prior art keywords
- columns
- data
- image data
- row
- section
- 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, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Definitions
- the present invention generally relates to a method for reading and writing image data in a memory, and more specifically, to a method for inputting image data in a memory in a data stream and outputting the image data from the memory in data blocks.
- Image data are expressed in a data stream generated by progressive scanning.
- Many standard algorithms for image processing for example, JPEG, M-JPEG, DV, MPEG2, MPEG4, H.261, and H.263 employ an encoding technique using data blocks as processing units.
- image processing image data expressed in a data stream are stored and then outputted to an encoder in data block units. Therefore, it is necessary to input data in a memory in a data stream and then output the data from the memory in data blocks.
- Data are sequentially written in 0th to 7th rows by a row and column sequential access technique (hereinafter also referred to as a first technique).
- a row and column sequential access technique By the row and column sequential access technique, data are first written sequentially in, for example, columns of the 0th row, then sequentially written in columns of the 1st row, and in subsequent rows in this manner.
- Data are sequentially written in 8th to 15th rows by the first technique, and the data of the 0th to 7th rows are read out in units of data blocks of 8 ⁇ 8 pixels. That is, all the data in the 0th to 7th rows are read out by sequentially reading a data block of ⁇ 0th to 7th rows; 0th to 7th columns ⁇ , a data block of ⁇ 0th to 7th rows; 8th to 15th columns ⁇ , a data block of ⁇ 0th to 7th rows; 16th to 23rd columns ⁇ . . . and the like. Since the data are written and read with the same speed, writing of the data in the 8th to 15th rows is finished at the same time as reading of the data of the 0th to 7th rows is finished.
- Data are sequentially written in the 0th to 7th rows by the first technique, and the data of the 8th to 15th rows are read out in units of data blocks of 8 ⁇ 8 pixels. That is, first, a data block of ⁇ 8th to 15th rows; 0th to 7th columns ⁇ is read, then a data block of ⁇ 8th to 15th rows; 8th to 15th columns ⁇ is read, a data block of ⁇ 8th to 15th rows; 16th to 23rd columns ⁇ is read . . . and the like until all the data in the 8th to 15th rows are read out. Then, the procedure returns to step 2.
- each cell in rows and columns of the memory is defined to have two bytes instead of one byte, for convenience.
- VGA Video Graphics Array
- FIGS. 1A to 1F show specific processes of the conventional method for reading and writing data in a memory.
- each cell in FIGS. 1A to 1F indicates two bytes, representing data of one pixel.
- FIG. 1A shows an initial state of writing data, in which data start to be written in a cell at a 0th row and a 0th column and then written in cells along the 0th row.
- FIG. 1B shows where writing of the data in the 0th to 7th rows is finished.
- FIG. 1C shows where data start to be written in the 8th row, and at the same time the written data start to be read out.
- the data are read out in units of data blocks of 8 ⁇ 8 pixels by the first technique.
- FIG. 1D shows where writing of the data in the 8th to 15th rows is going to be finished. At this time, the last data block of ⁇ 0th to 7th rows; 632nd to 639th columns ⁇ in the 0th to 7th rows is being read out as well.
- FIG. 1E shows where data start to be written again from the cell at the 0th row and 0th column, and at the same time, the data of the 8th to 15th rows are read out in units of data blocks of 8 ⁇ 8 pixels, by the first technique.
- FIG. 1F shows where writing of data in the 0th to 7th rows is going to be finished. At this time, the last data block of ⁇ 8th to 15th rows; 632nd to 639th columns ⁇ in the 8th to 15th rows is being read out as well.
- Table 1 shows conventional image sizes and required memory bytes.
- a method for reading and writing image data in a memory having n rows including 0th to (n ⁇ 1)th rows and A columns including 0th to (A ⁇ 1)th columns is provided.
- the image data are inputted to the memory in a data stream and outputted from the memory in data blocks each formed of n ⁇ n pixels that can be processed by an image processing algorithm, in which n is a number of rows and columns of the data block and A is an integer multiple of n ⁇ n and equal to or greater than a horizontal resolution B of the image data.
- the memory is divided into n rows and n sections. Each of the n sections includes A/n columns and is divided into blocks each including n rows and n columns.
- the method includes a first step of sequentially writing the image data in front B/n columns of the n sections in the 0th to (n ⁇ 2)th rows by a row and column sequential write technique to sequentially write the columns per row; a second step of sequentially writing the image data in the front B/n columns of the n sections in the (n ⁇ 1)th row per column, and reading the image data in the front B/n columns of the 0th section by a n-column data sequential row read technique to sequentially read the n rows and n columns in a row-major order in each successive one of the blocks, so that the read image data form the data blocks each formed of n ⁇ n pixels; a third step of sequentially writing the image data in the front B/n columns of the 0th to (n ⁇ 2)th sections by a section and row sequential write technique to sequentially write the B/n columns and n rows in a row-major order in each successive one of the sections, and sequentially reading the image data in the front B/n columns of the 1s
- a method for reading and writing image data in a memory having n rows including 0th to (n ⁇ 1)th rows and A columns including 0th to (A ⁇ 1)th columns is provided.
- the image data are inputted to the memory in a data stream and outputted from the memory in data blocks each formed of n ⁇ n pixels that can be processed by an image processing algorithm, in which n is a number of rows and columns of the data block and A is an integer multiple of n ⁇ n and equal to or greater than a horizontal resolution B of the image data.
- the memory is divided into n rows and n sections. Each of the n sections includes A/n columns and is divided into blocks each including n rows and n columns.
- the method includes a first step of sequentially writing the image data in front B/n columns of the 0th to (n ⁇ 2)th sections by a section and row sequential write technique to sequentially write the B/n columns and n rows in a row-major order in each successive one of the sections; a second step of sequentially writing the image data in the front B/n columns in the (n ⁇ 1)th section per row, and sequentially reading out the image data in the front B/n columns of each section in the 0th row by an n-column data sequential read technique in which, in sequence, n columns of a first block in the 0th section are read, followed by n columns of a first block in the next section, and so on until n columns of a first block in the (n ⁇ 1)th section are read, then reading n columns in next blocks of the respective 0 through (n ⁇ 1)th sections in the same sequential manner as that of the first block, and so on until last blocks of the respective 0th through (n ⁇ 1)th sections have been read, so that the
- FIGS. 1A to 1F are diagrams showing processes of a conventional method for reading and writing data in a memory
- FIG. 2 is a flowchart of a process to read and write data in a memory, according to one embodiment of the present invention
- FIGS. 3A to 3I are diagrams showing processes of a method for reading and writing data in a memory, according to the present invention.
- FIG. 4 is a flowchart of a process to read and write data in a memory, according to another embodiment of the present invention.
- FIGS. 3A to 3I show processes of a method for reading and writing data in a memory, of this embodiment.
- the method for reading and writing a memory according to one embodiment of the present invention is described in specifics below with reference to FIGS. 2 and 3A through 3 I.
- a memory is divided into n rows ⁇ n sections.
- the memory is divided into 8 rows ⁇ 8 sections.
- Each of the 8 sections includes 80 columns. Reading and writing of data are performed from/to this memory as follows.
- the data are sequentially written in front B/n columns of all sections in a (n ⁇ 1)th row per column, and the data of the front B/n columns in the 0th section are read out by a n-column data sequential row access technique (hereinafter also referred to as a second technique), so that the read data constitute data blocks each formed of n ⁇ n pixels (step 202 ). That is, as shown in FIG. 3C , data are sequentially written in front 80 columns of all the sections in the 7th row. When there are more than 640 columns in the memory, data are not written in cells of columns subsequent to the 79th column in each section of the 7th row. At the same time as writing data in the 7th row, the data of the 0th section start to be read out.
- a n-column data sequential row access technique hereinafter also referred to as a second technique
- This technique for reading data is called the n-column data sequential row access technique (second technique).
- second technique When the number of columns in the memory is more than 640, data have not been written in the cells of the columns subsequent to the 79th column in each row of the 0th section. Therefore, data are not read out from these cells either.
- Data are sequentially written in front B/n columns in the 0th to (n ⁇ 2)th sections by a section and row sequential access technique (hereinafter also referred to as a third technique), while the data of the front B/n columns in the 1st to (n ⁇ 1)th sections are sequentially read out per section by the second technique, so that the read data constitute the data blocks of n ⁇ n pixels.
- data are written in the front 80 columns of the 0th to 6th sections, starting from the 0th section.
- the data are written in the 0th row in the 0th section, 1st row in the 0th section, . . . and 7th row in the 0th section, and then in the 0th row in the 1st section, 1st row in the 1st section . . . in this manner sequentially up to the 7th row in the 6th section.
- This technique for writing data is called the section and row sequential access technique (third technique).
- the data are written in the 0th section by the third technique while the data in the front 80 columns of the 1st section are sequentially read out by the second technique.
- the read data constitute data blocks of 8 ⁇ 8 pixels.
- the data are read by a technique similar to step 202 .
- the number of columns in the memory is more than 640, data have not been written in cells of the columns subsequent to the 79th column in each row of the 1st to 7th sections. Therefore, data are not read out from these cells either.
- step 204 Data are sequentially written in the front B/n columns of the (n ⁇ 1)th section, and the data in the front B/n columns of each section in the 0th row are sequentially read out per section by a n-column data sequential section access technique (hereinafter also referred to as a fourth technique), so that the read data constitute data blocks of n ⁇ n pixels (step 204 ).
- a fourth technique n-column data sequential section access technique
- data are sequentially written in the front 80 columns of the 7th section by a technique similar to step 203 .
- the number of columns in the memory is more than 640, data are not written in cells in the columns subsequent to the 79th column in each row of the 7th section.
- the data in the 0th row are read out.
- the data in the 0th row are read out as follows.
- data of 8 columns are sequentially read out to form data blocks of 8 ⁇ 8 pixels. That is, first, the data of the 0th to 7th columns in each of the 0th to 7th sections are sequentially read out to form a data block of 8 ⁇ 8 pixels. Second, data of the 8th to 15th columns in each of the 0th to 7th sections are sequentially read out to form a data block of 8 ⁇ 8 pixels.
- n-column data sequential section access technique (hereinafter also referred to as a fourth technique).
- a fourth technique When the number of columns in the memory is more than 640, data have not been written in the cells of the columns subsequent to the 79th column in each section of the 0th row. Therefore, data are not read out of these cells either.
- reading and writing of the data are generally completed at the same time in the above-described steps.
- reading out of the data is delayed accordingly.
- an interval is inserted between writings of each row. Therefore, even when there is a constant delay in the output of data, the delay does not influence the input of data. That is, the operations to read out the data, of steps 202 , 203 , 204 , and 205 , may be synchronized with or delayed from the operations to write data in the corresponding steps, as long as data are not read and written from/to the same cell simultaneously.
- VGA image data can be read and written by using one cache having a size of 8 ⁇ 640 ⁇ 2 bytes. Therefore, a cache can be effectively used and the number of required bytes can be reduced.
- the method for reading and writing data in a memory according to the present invention is only applied to an image format having a horizontal resolution which is an integer multiple of n ⁇ n.
- the conventional method for reading and writing a memory is used for an image whose horizontal resolution is not an integer multiple of n ⁇ n, not so many memory bytes are required. Since an image format with a high resolution generally has a horizontal resolution that is an integer multiple of n ⁇ n, the number of bytes required for a memory to be used can be reduced to half according to the method for reading and writing a memory of the present invention, compared to the conventional method.
- steps 202 and 203 correspond to one reading and writing state while steps 204 and 205 correspond to the other reading and writing state.
- steps 202 , 203 , 204 , and 205 constitute one loop of operations.
- the loop starts from the row and column sequential access technique, which is the first technique. It can be easily conceived by those skilled in the art to start the loop of the steps of the present invention from the section and row sequential access technique, which is the third technique.
- FIG. 4 is a flowchart of a method for reading and writing data in a memory according to another embodiment of the present invention. A process of the method for reading and writing data in a memory according to another embodiment of the present invention is described below with reference to FIG. 4 .
- step S 401 Data are sequentially written in front B/n columns of the 0th to (n ⁇ 2)th sections by the section and row sequential access technique (third technique) (step S 401 ).
- data are written in front 80 columns of the 0th to 6th sections by the section and row sequential access technique (third technique), starting from the 0th section.
- the data are sequentially written in the 0th row of the 0th section, 1st row of the 0th section, . . . up to the 7th row of the 0th section, then in the 0th row of the 1st section, 1st row of the 1st section . . . up to the 7th row in the 6th section.
- the number of columns in the memory is more than 640, data are not written in the cells of the columns subsequent to the 79th column of each section in each row.
- Data of 8 columns in the 0th to 7th sections are sequentially read out, so as to constitute data blocks each formed of 8 ⁇ 8 pixels. That is, first, the data of the 0th to 7th columns in the 0th to 7th sections are read out, so as to constitute a data block of 8 ⁇ 8 pixels. Second, data of the 8th to 15th columns in the 0th to 7th sections are sequentially read out so as to constitute a data block of 8 ⁇ 8 pixels. At a tenth time, data of the 72nd to 79th columns in the 0th to 7th sections are sequentially read out so as to constitute a data block of 8 ⁇ 8 pixels. When the number of columns in the memory is more than 640, data have not been written in the cells of the columns subsequent to the 79th column in each section of the 0th row. Therefore, data are not read out from these cells either.
- the number of columns is more than 640
- data are not written in the cells of the columns subsequent to the 79th column in each section of each row.
- the data of the front 80 columns in each section in the 1st to 7th rows are sequentially read out by the fourth technique, so that the data read every time constitute a data block formed of 8 ⁇ 8 pixels.
- the data in each row are read by a technique similar to step 402 . If the number of columns in the memory is more than 640, data have not been written in the cells of the columns subsequent to the 79th column in each section of the 1st to 7th rows. Therefore, data are not read out of these cells either.
- the data are sequentially written in the 0th row of the 0th section, 1st row of the 0th section, . . . and then the 7th row in the 0th section, then in the 0th row of the 1st section, 1st row of the 1st section, . . . and the like in this manner up to the 7th row in the 6th section. If the number of columns in the memory is more than 640, data are not written in the cells of columns subsequent to the 79th column in each row of the 0th to 6th sections. As shown in FIG.
- the data are written in the 0th section, and the data in the front 80 columns of the 1st section are sequentially read out by the second technique performed per section, so that the read data constitute data blocks each formed of 8 ⁇ 8 pixels.
- the data are read by the technique similar to step 404 . While data are written in the 1st section, data are read from the 2nd section, while data are written in the 2nd section, data are read from the 3rd section, . . . and while data are written in the 6th section, data are read from the 7th section. If the number of columns in the memory is more than 640, data have not been written in the cells of columns subsequent to the 79th column of the 1st to 7th sections in each row. Therefore, data are not read out of these cells either. When data are written in the 6th section, the procedure returns to the state of FIG. 3G and is repeated.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Input (AREA)
- Memory System (AREA)
- Storing Facsimile Image Data (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101094208A CN101599167B (zh) | 2008-06-03 | 2008-06-03 | 存储器的存取方法 |
CN200810109420 | 2008-06-03 | ||
CN200810109420.8 | 2008-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090295817A1 US20090295817A1 (en) | 2009-12-03 |
US8269786B2 true US8269786B2 (en) | 2012-09-18 |
Family
ID=41379234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/474,507 Expired - Fee Related US8269786B2 (en) | 2008-06-03 | 2009-05-29 | Method for reading and writing image data in memory |
Country Status (3)
Country | Link |
---|---|
US (1) | US8269786B2 (zh) |
JP (1) | JP5359569B2 (zh) |
CN (1) | CN101599167B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI328390B (en) * | 2006-12-22 | 2010-08-01 | Sunplus Technology Co Ltd | Method for accessing image data and method for accessing yuv420 image data thereof |
US8355587B2 (en) * | 2010-04-11 | 2013-01-15 | Mediatek Inc. | Image processing apparatus capable of writing compressed data into frame buffer and reading buffered data from frame buffer alternately and related image processing method thereof |
US9836218B2 (en) * | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
CN108257582B (zh) * | 2018-01-30 | 2020-10-09 | 广东中星微电子有限公司 | 一种图像的显示缓冲方法和装置 |
CN108765341B (zh) * | 2018-05-29 | 2022-06-21 | 郑州云海信息技术有限公司 | 一种图像处理的方法及其装置 |
CN108881923B (zh) * | 2018-08-13 | 2021-03-12 | 昆山动芯微电子有限公司 | 减少jpeg编解码行缓冲容量的方法 |
CN110532219B (zh) * | 2019-06-25 | 2021-04-27 | 北京理工大学 | 一种基于fpga的去乒乓数据存储方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7394465B2 (en) * | 2005-04-20 | 2008-07-01 | Nokia Corporation | Displaying an image using memory control unit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4015890B2 (ja) * | 2002-06-28 | 2007-11-28 | 松下電器産業株式会社 | 画素ブロックデータ生成装置および画素ブロックデータ生成方法 |
EP1530373A2 (en) * | 2003-11-06 | 2005-05-11 | Matsushita Electric Industrial Co., Ltd. | Memory arrangement for a quick read access to image blocks according to a different scan order |
CN100578470C (zh) * | 2007-01-31 | 2010-01-06 | 浙江大学 | 基于裸设备的音视频数据存取方法和装置 |
-
2008
- 2008-06-03 CN CN2008101094208A patent/CN101599167B/zh not_active Expired - Fee Related
-
2009
- 2009-05-29 US US12/474,507 patent/US8269786B2/en not_active Expired - Fee Related
- 2009-06-01 JP JP2009132142A patent/JP5359569B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7394465B2 (en) * | 2005-04-20 | 2008-07-01 | Nokia Corporation | Displaying an image using memory control unit |
Also Published As
Publication number | Publication date |
---|---|
US20090295817A1 (en) | 2009-12-03 |
CN101599167A (zh) | 2009-12-09 |
JP2009295159A (ja) | 2009-12-17 |
JP5359569B2 (ja) | 2013-12-04 |
CN101599167B (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8269786B2 (en) | Method for reading and writing image data in memory | |
US8018472B2 (en) | Blending multiple display layers | |
US8989509B2 (en) | Streaming wavelet transform | |
US20090058866A1 (en) | Method for mapping picture addresses in memory | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
US20080044107A1 (en) | Storage device for storing image data and method of storing image data | |
US7184604B2 (en) | Wavelet processing apparatus and wavelet processing method | |
US8824814B2 (en) | Pixel data compression and decompression method | |
US8345055B2 (en) | Image display device | |
CN110570793B (zh) | 一种适配不同类型显示屏的测试方法、装置及终端设备 | |
US20100034475A1 (en) | Image compression/decompression device and method thereof | |
US7684650B2 (en) | Method for processing image frame output from an image sensor by an image processor | |
US20040218670A1 (en) | Method and apparatus for reducing the bandwidth required for transmitting video data for display | |
JP2011077970A (ja) | 画像処理装置、画像表示システム、電子機器及び画像処理方法 | |
KR100510677B1 (ko) | 메모리 억세스 제어 장치 | |
US20100254618A1 (en) | Method for Accessing Image Data and Related Apparatus | |
US11494869B2 (en) | Image processor having a compressing engine performing operations on each row of M*N data block | |
CN113658049A (zh) | 一种图像转置的方法、设备和计算机可读存储介质 | |
JP4109151B2 (ja) | 画像処理装置 | |
US20150091928A1 (en) | Image processing device and method thereof | |
JP4293503B2 (ja) | 画像処理装置 | |
TWI477142B (zh) | 影像處理電路及相關方法 | |
US7616820B2 (en) | System and method for reducing discontinuity of gray level in an image buffer memory | |
JP2020195038A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2007188400A (ja) | Dramへのアクセス方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: RICOH COMPANY, LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YU, CHUNJIE;YE, WENTAO;MORIMOTO, TSUYOSHI;AND OTHERS;REEL/FRAME:022752/0296 Effective date: 20090527 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200918 |