US7848410B2 - Video decoding methods and devices - Google Patents
Video decoding methods and devices Download PDFInfo
- Publication number
- US7848410B2 US7848410B2 US11/018,970 US1897004A US7848410B2 US 7848410 B2 US7848410 B2 US 7848410B2 US 1897004 A US1897004 A US 1897004A US 7848410 B2 US7848410 B2 US 7848410B2
- Authority
- US
- United States
- Prior art keywords
- frame
- buffer
- previously stored
- decoding
- backward reference
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Definitions
- the invention relates to video processing methods, especially to video decoding method for decoding video data encoded using different encoding methods.
- MPEG-4 is an ISO/IEC standard developed by MPEG (Moving Picture Experts Group), the committee that also developed the Emmy Award winning standards known as MPEG-1 and MPEG-2.
- MPEG-4 is the successor to MPEG-1 and MPEG-2 video standards.
- ISO standard committee implemented this standard in 1998. Instead of using current frame-based video technology, it adopts the object-oriented concept, which integrates existing multimedia technologies, such as 2D/3D graphic, animation, video codec, multimedia streaming, interactive, and programmatic environments into a single architecture.
- a video stream is a sequence of video frames. Each frame is a still image. A video player displays one frame after another, usually at a rate close to 30 frames per second. Frames are divided into 16 ⁇ 16 pixel macroblocks (not shown). Each macroblock consists of four 8 ⁇ 8 luminance blocks and two 8 ⁇ 8 chrominance blocks (1 U and 1 V) (not shown). Macroblocks are the units for motion-compensated compression. Blocks are used for DCT compression.
- Video data complying with MPEG-4 format files is composed of three different types of frames, comprising intra-frames (I-frames), forward predicted frames (P-frames), and bidirectional predicted frames (B-frames).
- I-frame is encoded as a single image, with no reference to any past or future frames, referring to the fact that the various lossless and lossy compression techniques are performed relative to information that is contained only within the current frame, and not relative to any other frame in the video sequence. In other words, no temporal processing is performed outside of the current picture or frame.
- a P-frame is encoded relative to the past reference frame.
- a reference frame is a P- or I-frame. The past reference frame is the closest preceding reference frame.
- Each macroblock in a P-frame can be encoded either as an Intra-macroblock or as a Inter-macroblock.
- An Intra-macroblock is encoded just like a macroblock in an I-frame which is encoded with no reference.
- a B-frame is encoded relative to the past reference frame, the future reference frame, or both frames.
- the future reference frame is the closest following reference frame (I or P).
- the encoding for B-frames is similar to P-frames, except that motion vectors may refer to areas in the future reference frames. For macroblocks that use both past and future reference frames, the two 16 ⁇ 16 areas are averaged.
- a video stream is a sequence of video frames.
- An input encoded sequence of video frames for example, is represented as “I(0) P(3) B(1) B(2) P(6) B(4) B(5) I(9) B(7) B(8) P(12) B(11) P(12)” (the bracketed number is the display order of each frame).
- the output decoded sequence of the video frames is then represented as “I(0) B(1) B(2) P(3) B(4) B(5) P(6) B(7) B(8) I(9) B(10) B(11) P(12)”.
- Video data can be further composed of combined frames, each comprising both a P-frame and a B-frame or an I-frame and a B-frame, and empty frames (P e )
- FIG. 1 which shows a schematic diagram of a combined frame 100 (regarded as one frame to be introduced in the video data), comprising a P-frame and a B-frame, encoding processes of each frame are identical to independent ones.
- P e frames indicate predicted frames not comprising video data.
- Video data translated into playable video files must be encoded as MPEG-1/2/4, AVI, or other video formats due to the considerable file size.
- MPEG-4 video standards are qualifiable based on MPEG-4 system layers, and vendors develop their coders/decoders (CODECs) based individual requirements, such that video data encoded by one CODEC cannot be correctly decoded by other CODECs.
- CODECs coders/decoders
- DivX and Divio are popular encoding and decoding applications, utilizing MPEG-4 encoding standards to encode video images with a high compression rate, resulting in high image quality closest to MPEG-2 file format and low file size closest to MPEG-1 file format.
- CODECs claim to comply with MPEG-4 standards, their sampling synchronization mechanisms and output video sequences (as described above) are somewhat different, causing encoded video streams to be incompatible with each other.
- Some CODECs capable of decoding both of the described video sequences construct two decoding models for one video data and then determine whether the video data is encoded by Divx or Divio according to copyright information thereof. Such methods are not only time-consuming but also fail when the copyright information is modified or lost during decoding processes.
- Video decoding methods are provided.
- a first frame of video data is acquired, the first frame is assigned to the backward reference frame and the forward reference frame respectively (indicating the acquired frame is stored in a backward reference buffer and a forward reference buffer respectively), and a frame buffer is emptied.
- the next frame of the video data is acquired, and the frame type is then determined.
- Corresponding decoding operations are implemented according to the determined result, and if the frame is a B-frame, the frame is temporarily stored in the frame buffer.
- the decoded backward reference frame is output.
- the backward reference frame is then assigned to the forward reference frame, the current frame is decoded and assigned to the backward reference frame, and the frame buffer is emptied.
- the frame is a B-frame
- the decoded backward reference frame is output.
- the backward reference frame is then assigned to the forward reference frame, the first frame of the combined frame is decoded and assigned to the backward reference frame, and the other of the combined frame is stored in the frame buffer.
- the frame is a P-frame not comprising video data (empty frames, P e ) it is determined whether the frame buffer has a previously stored B-frame. If so, the previously stored B-frame is decoded and output, and the frame buffer is emptied. If not, the decoded backward reference frame is output.
- FIG. 1 is a schematic view of a combined frame comprising a P-frame and a B-frame;
- FIG. 2 is a flowchart of image processing for Divio
- FIG. 3 is a flowchart of image processing for Divx
- FIG. 4 is a flowchart of an embodiment of a video decoding method
- FIG. 5 is a schematic diagram of an embodiment of a video decoding video
- FIG. 6A is a schematic diagram illustrating the details of an embodiment of a video encoding method.
- FIG. 6B is a schematic diagram illustrating the details of another embodiment of a video encoding method.
- Embodiments of the invention disclose video decoding methods and devices. Some parameters are first defined for use in Figures regarding to the following embodiments of the invention. With to programming concepts, “Current” refers to a current acquired video data frame pointer, “Next” refers to a backward reference frame pointer, “Previous” refers to a forward reference frame pointer, and “Buffer” refers to a buffer pointer.
- GetNextSample( ) refers to a sub-function for acquiring the next frame of the video data
- Dump( ) refers to a sub-function for outputting a frame
- GetFirstFrame( ) refers to a sub-function for acquiring the first frame of a combined frame
- GetSecondFrame( ) refers to a sub-function for acquiring the other frame (the second frame) of the combined frame.
- a backward reference buffer and a forward reference buffer are provided in accordance with MPEG video standards, in which a frame to which the backward or forward reference frame pointer points (indicating an acquired frame is assigned to a backward or forward reference frame) will be stored in the backward or forward reference buffer, and such connections therebetween will not give unnecessary details.
- the frame is decoded and output (Dump(Current))
- the current acquired frame I or P frame
- the frame is a B-frame, it is decoded and output (Dump(Current)) (step S 252 ).
- embodiments of the invention further provide a frame buffer for temporarily storing a B-frame.
- FIG. 4 is a flowchart of an embodiment of a video decoding method.
- the frame is a B-frame
- it is then determined whether the frame buffer has a previously stored B-frame (If(Buffer)). If the frame buffer has the previously stored B-frame, the previously stored B-frame is decoded and output (Dump(Buffer)), and the frame is stored in the frame buffer (Buffer Current). If no previously stored B-frame is present in the frame buffer, the frame is decoded and output (Dump(Current)) (step S 452 ).
- the decoded backward reference frame is output (Dump(Next)).
- FIG. 5 is a schematic diagram of an embodiment of a video decoding video, comprising a decoding unit 510 , a buffer controller 520 , a backward reference buffer 530 , a forward reference buffer 540 , and a frame buffer 550 .
- Decoding unit 510 acquires the first frame (I-frame) of an input bitstream data 505 and buffer controller 520 assigns which to the backward reference frame and forward reference frame respectively (i.e. storing the first frame in backward reference buffer 530 and forward reference buffer 540 respectively).
- decoding unit 510 acquires the next frame of input bitstream data 505 , and determines frame type, implementing corresponding decoding operations according to the determining result.
- decoding unit 510 decodes and outputs the internal frame of backward reference buffer 530 as an output bitstream data 515 .
- Buffer controller 520 stores the internal frame of backward reference buffer 530 in forward reference buffer 540 , stores the frame in backward reference buffer 530 , and empties the frame buffer 550 .
- buffer controller 520 determines whether frame buffer 550 has a previously stored B-frame. If frame buffer 550 has a previously stored B-frame, decoding unit 510 decodes and outputs the previously stored B-frame and buffer controller 520 stores the frame in frame buffer 550 . If no previously stored B-frame is present in frame buffer 550 , decoding unit 510 decodes and outputs the frame.
- decoding unit 510 decodes and outputs the internal frame of backward reference buffer 530 .
- Buffer controller 520 stores the internal frame of backward reference buffer 530 in forward reference buffer 540 , the first frame of the combined frame in backward reference buffer 530 , and the second frame of the combined frame in frame buffer 550 .
- decoding unit 510 determines whether frame buffer 550 has a previously stored B-frame. If frame buffer 550 has a previously stored B-frame, decoding unit 510 decodes and outputs the previously stored B-frame, and buffer controller 520 empties frame buffer 550 . If no previously stored B-frame is present in frame buffer 550 , the decoding unit 510 decodes and outputs the internal frame of backward reference buffer 530 .
- FIG. 6A is a schematic diagram illustrating the details of an embodiment of a video encoding method.
- an input bitstream data shows “I(0) P(1) B(2) P(3) B(4) P e (5) B(6) I(7) B(8)”.
- the I(0)-frame the first frame
- it is decoded- and assigned to a backward reference frame and a forward reference frame, respectively, not implementing any decoding operation, such that no frame is output (as shown by the “x” symbol).
- the P(1)-frame is acquired, the backward reference frame (I(0)-frame) is output and is then assigned to the forward reference frame, and the P(1)-frame is decoded and assigned to the backward reference frame.
- the B(2)-frame is acquired, a frame buffer has no previously stored B-frame at present, so the B(2)-frame is directly decoded and output.
- the P(3)-frame is acquired, the backward reference frame (P(1)-frame) is output and assigned to the forward reference frame, and the P(3)-frame is decoded and assigned to the backward reference frame.
- the B(4)-frame is acquired, the frame buffer has no previously stored B-frame at present, so the B(4)-frame is directly decoded and output.
- the P e (5)-frame is acquired, the frame buffer has no previously stored B-frame at present, so the backward reference frame (P(3)-frame) is output.
- the B(6)-frame is acquired, the frame buffer has no previously stored B-frame at present, so the B(6)-frame is directly decoded and output.
- the I(7)-frame is acquired, the backward reference frame (P(3)-frame) is output and assigned to the forward reference frame, and the I(7)-frame is assigned to the backward reference frame.
- the B(8)-frame is acquired, the frame buffer has no previously stored B-frame at present, so the B(8)-frame is directly decoded and output.
- the B(8)-frame is the last frame of the input bitstream data and the frame buffer has no previously stored B-frame at present.
- the backward reference frame (I(7)-frame) is output, and the decoding process terminates.
- an output bitstream data represented as “I(0) B(2) P(1) B(4) P(3) B(6) P(3) B(8) I(7)” is acquired.
- FIG. 6B is a schematic diagram illustrating the details of another embodiment of a video encoding method.
- an input bitstream data shows “I(0) PB(1) B(2) P e (3) PB(4) B(S) P e (6) I(7) PB(8) B(9) P e (10)”.
- the I(0)-frame the first frame
- it is decoded and assigned to a backward reference frame and a forward reference frame, respectively, not implementing any decoding operation, such that no frame is output (as shown by the “x” symbol).
- the PB(1)-frame is acquired, the decoded backward reference frame (I(0)-frame) is output and is then assigned to the forward reference frame, the first frame (P(1)-frame) of the PB(1)-frame is decoded and assigned to the backward reference frame, and the second frame (B(1)-frame) of the PB(1)-frame is stored in a frame buffer.
- the B(2)-frame is acquired and the frame buffer has the previously stored B(1)-frame at present, so the B(1)-frame is decoded and output and the B(2)-frame is stored in the frame buffer.
- the P e (3)-frame is acquired and the frame buffer has the previously stored B(2)-frame at present, so the B(2)-frame is decoded and output and the frame buffer is emptied.
- the PB(4)-frame is acquired, the decoded backward reference frame (P(1)-frame) is output and assigned to the forward reference frame, the first frame (P(4)-frame) of the PB(4)-frame is decoded and assigned to the backward reference frame, and the second frame (B(4)-frame) of the PB(4)-frame is stored in the frame buffer.
- the B(5)-frame is acquired and the frame buffer has the previously stored B(4)-frame at present, so the B(4)-frame is decoded and output and the B(5)-frame is stored in the frame buffer.
- the P e (6)-frame is acquired and the frame buffer has the previously stored B(5)-frame at present, so the B(5)-frame is decoded and output and the frame buffer is emptied.
- the I(7)-frame is acquired, the decoded backward reference frame (P(4)-frame) is output and assigned to the forward reference frame, and the I(7)-frame is decoded and assigned to the backward reference frame.
- the PB(8)-frame is acquired, the decoded backward reference frame (I(7)-frame) is output and assigned to the forward reference frame, the first frame (P(8)-frame) of the PB(8)-frame is decoded and assigned to the backward reference frame, and the second frame (B(8)-frame) of the PB(8)-frame is stored in a frame buffer.
- the B(9)-frame is acquired and the frame buffer has the previously stored B(8)-frame at present, so the B(8)-frame is decoded and output and the B(9)-frame is stored in the frame buffer.
- the P e (10)-frame is acquired and the frame buffer has the previously stored B(9)-frame at present, so the B(9)-frame is decoded and output and the frame buffer is emptied.
- the P e (10)-frame is the last frame of the input bitstream data and the frame buffer has no previously stored B-frame at present.
- the decoded backward reference frame (P(8)-frame) is output, and the decoding process terminates.
- an output bitstream data represented as “I(0) B(1) B(2) P(1) B(4) B(5) P(4) I(7) B(8) B(9) P(8)” is acquired.
- Embodiments of the invention disclose video decoding methods, utilizing self-determined decoding rules for decoding video data encoded by any other encoder.
- Embodiments of the invention further provide a frame buffer for temporarily storing a B-frame, correctly decoding MPEG-4 format files and effectively rising system stability and reducing hardware cost.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (13)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW93131799A | 2004-10-20 | ||
TW093131799A TWI245548B (en) | 2004-10-20 | 2004-10-20 | Method and device for video decoding |
TW93131799 | 2004-10-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20060083306A1 US20060083306A1 (en) | 2006-04-20 |
US7848410B2 true US7848410B2 (en) | 2010-12-07 |
Family
ID=36180736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/018,970 Expired - Fee Related US7848410B2 (en) | 2004-10-20 | 2004-12-21 | Video decoding methods and devices |
Country Status (2)
Country | Link |
---|---|
US (1) | US7848410B2 (en) |
TW (1) | TWI245548B (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8427494B2 (en) * | 2004-01-30 | 2013-04-23 | Nvidia Corporation | Variable-length coding data transfer interface |
US8311088B2 (en) * | 2005-02-07 | 2012-11-13 | Broadcom Corporation | Method and system for image processing in a microprocessor for portable video communication devices |
CN100423580C (en) * | 2006-07-14 | 2008-10-01 | 杭州国芯科技有限公司 | Video decoding method |
WO2008088176A1 (en) * | 2007-01-17 | 2008-07-24 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
US8725504B1 (en) | 2007-06-06 | 2014-05-13 | Nvidia Corporation | Inverse quantization in audio decoding |
US8726125B1 (en) | 2007-06-06 | 2014-05-13 | Nvidia Corporation | Reducing interpolation error |
US8477852B2 (en) * | 2007-06-20 | 2013-07-02 | Nvidia Corporation | Uniform video decoding and display |
US8502709B2 (en) * | 2007-09-17 | 2013-08-06 | Nvidia Corporation | Decoding variable length codes in media applications |
US8849051B2 (en) * | 2007-09-17 | 2014-09-30 | Nvidia Corporation | Decoding variable length codes in JPEG applications |
US8704834B2 (en) * | 2007-12-03 | 2014-04-22 | Nvidia Corporation | Synchronization of video input data streams and video output data streams |
US8934539B2 (en) * | 2007-12-03 | 2015-01-13 | Nvidia Corporation | Vector processor acceleration for media quantization |
US8687875B2 (en) * | 2007-12-03 | 2014-04-01 | Nvidia Corporation | Comparator based acceleration for media quantization |
US9602821B2 (en) * | 2008-10-01 | 2017-03-21 | Nvidia Corporation | Slice ordering for video encoding |
US9307267B2 (en) * | 2008-12-11 | 2016-04-05 | Nvidia Corporation | Techniques for scalable dynamic data encoding and decoding |
US20170064301A1 (en) * | 2015-08-26 | 2017-03-02 | Zhan Ma | Methods and Apparatus for Use of Reference Block in Video Coding |
CN114257811A (en) * | 2021-12-21 | 2022-03-29 | 杭州雾联科技有限公司 | Cloud mobile phone delay processing method, device and medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621464A (en) * | 1994-02-03 | 1997-04-15 | Matsushita Electric Industrial Co., Ltd. | Method of reordering a decoded video picture sequence |
US5909224A (en) * | 1996-10-18 | 1999-06-01 | Samsung Electronics Company, Ltd. | Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment |
US5978509A (en) * | 1996-10-23 | 1999-11-02 | Texas Instruments Incorporated | Low power video decoder system with block-based motion compensation |
US20050123046A1 (en) * | 2003-12-03 | 2005-06-09 | Via Technologies, Inc. | Method and device for sharing MPEG frame buffers |
US6983017B2 (en) * | 2001-08-20 | 2006-01-03 | Broadcom Corporation | Method and apparatus for implementing reduced memory mode for high-definition television |
US6993251B1 (en) * | 2000-03-31 | 2006-01-31 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for concealing disk soft errors in recorded digital television signals |
USRE39455E1 (en) * | 1995-12-27 | 2007-01-02 | Matsushita Electric Industrial Co., Ltd. | Video coding method and decoding method and devices thereof |
-
2004
- 2004-10-20 TW TW093131799A patent/TWI245548B/en not_active IP Right Cessation
- 2004-12-21 US US11/018,970 patent/US7848410B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621464A (en) * | 1994-02-03 | 1997-04-15 | Matsushita Electric Industrial Co., Ltd. | Method of reordering a decoded video picture sequence |
USRE39455E1 (en) * | 1995-12-27 | 2007-01-02 | Matsushita Electric Industrial Co., Ltd. | Video coding method and decoding method and devices thereof |
US5909224A (en) * | 1996-10-18 | 1999-06-01 | Samsung Electronics Company, Ltd. | Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment |
US5978509A (en) * | 1996-10-23 | 1999-11-02 | Texas Instruments Incorporated | Low power video decoder system with block-based motion compensation |
US6993251B1 (en) * | 2000-03-31 | 2006-01-31 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for concealing disk soft errors in recorded digital television signals |
US6983017B2 (en) * | 2001-08-20 | 2006-01-03 | Broadcom Corporation | Method and apparatus for implementing reduced memory mode for high-definition television |
US20050123046A1 (en) * | 2003-12-03 | 2005-06-09 | Via Technologies, Inc. | Method and device for sharing MPEG frame buffers |
Also Published As
Publication number | Publication date |
---|---|
US20060083306A1 (en) | 2006-04-20 |
TWI245548B (en) | 2005-12-11 |
TW200614796A (en) | 2006-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7848410B2 (en) | Video decoding methods and devices | |
US11070833B2 (en) | Method and system for encoding video with overlay | |
US8659607B2 (en) | Efficient video decoding migration for multiple graphics processor systems | |
TWI603609B (en) | Simplify video random access restrictions and unit types | |
US10349069B2 (en) | Software hardware hybrid video encoder | |
RU2497302C2 (en) | Methodologies of copying and decoding of digital video with alternating resolution | |
CN100525456C (en) | Motion estimation apparatus | |
US20070147517A1 (en) | Video processing system capable of error resilience and video processing method for same | |
US10165290B2 (en) | Method for encoding digital video data | |
US5739862A (en) | Reverse playback of MPEG video | |
US20070291131A1 (en) | Apparatus and Method for Controlling Image Coding Mode | |
US8811483B2 (en) | Video processing apparatus and method | |
CN100539670C (en) | Editing of encoded A/V sequences | |
JPH0818979A (en) | Image processing device | |
US6829303B1 (en) | Methods and apparatus for decoding images using dedicated hardware circuitry and a programmable processor | |
KR101606931B1 (en) | Apparatus for recording/playing key frame still image and method for orerating the same | |
US8948263B2 (en) | Read/write separation in video request manager | |
US20040252762A1 (en) | System, method, and apparatus for reducing memory and bandwidth requirements in decoder system | |
JPH11308618A (en) | Image signal processor and method therefor, and image signal reproducing device | |
JP2002262295A (en) | Moving image decoder and moving image coder | |
JP2000156868A (en) | Method and device for decoding image | |
WO2021143678A1 (en) | Motion information list construction method in video encoding and decoding, device, and apparatus | |
JP2005123783A (en) | Encoder and encoding method | |
JP2001061145A (en) | Image coding device and method therefor, and image decoding device and method therefor | |
JP2006295705A (en) | Animation encoder, animation decoder, animation encoding method, animation decoding method, animation encoding program, and animation decoding program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INSTITUTE OF INFORMATION INDUSTRY, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HSU, WEN-HAO;REEL/FRAME:016117/0214 Effective date: 20041207 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
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: 20221207 |