KR20170052143A - Loop filter based on memory applied in video decoder - Google Patents
Loop filter based on memory applied in video decoder Download PDFInfo
- Publication number
- KR20170052143A KR20170052143A KR1020150154229A KR20150154229A KR20170052143A KR 20170052143 A KR20170052143 A KR 20170052143A KR 1020150154229 A KR1020150154229 A KR 1020150154229A KR 20150154229 A KR20150154229 A KR 20150154229A KR 20170052143 A KR20170052143 A KR 20170052143A
- Authority
- KR
- South Korea
- Prior art keywords
- filtering
- internal memory
- memory
- loop filter
- pixel data
- Prior art date
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present invention relates to a memory-based loop filter applied to a motion picture decoder.
A load data controller for loading loop filtering parameters and pixel data necessary for a loop filtering operation and storing the loop filtering parameters and the pixel data in an internal memory; horizontal edge filtering for pixel data stored in the internal memory; A single core filter for performing vertical edge filtering, and an output data controller for controlling the output of the horizontal border filtering and the output data on which the vertical border filtering is performed.
According to the present invention, since the data of one super block is sequentially stored in the double buffered internal memory, the capacity of the required internal memory can be reduced, and the processes of the horizontal border filtering and the vertical border filtering are all processed in one core filter Thus, it is possible to reduce the hardware resources and minimize the time loss of the peripheral device of the VP9 decoder by using a double buffered internal memory and a single core filter to divide the operation steps of the loop filter into a pipeline structure.
Description
The present invention relates to a memory based loop filter applied to a motion picture decoder. More particularly, the present invention relates to a hardware structure of a memory-based loop filter for a 4K class VP9 decoder, in which data of one super block is sequentially stored in a double buffered internal memory, and horizontal and vertical boundary filtering Based loop filter that processes all of the data in one core filter to reduce hardware resources.
VPx is a video compression codec product developed by On2 Technologies of USA. If the VP8 codec released in previous generation was a codec that compete with H.264, VP9 is a low-capacity, high-quality video Compression codec.
There is a growing demand for high-definition content such as full-HD content such as smartphones and tablets that support resolutions greater than full HD and PC monitors for 4K. However, it is also true that as the resolution increases, the file size becomes larger and the data usage becomes more difficult. With VP9, bandwidth is reduced to less than half that of existing video compression codecs, enabling smooth playback of high-definition video.
If the movie is streaming in the format used by the camera, use 18,000 Mbps, or 18 Gbps bandwidth for 4K picture quality. For this reason, video compression codec is used to reduce bandwidth usage as much as possible so that high-quality video can be streamed and played back. VP9 is a codec that connects VP8, but the basic principle is the same, but the bitrate can drop to half of the VP8, while maintaining the higher quality of VP9.
According to VP9, since the discontinuity of the pixels existing at the block boundary increases in the image processing of the block unit, a loop filtering operation is performed to remove the discontinuity at the boundary between the block and the block.
In the VP9 video, the super block is loop-filtered in units of prediction blocks. One super block consists of 64 pixels in the horizontal direction and 64 pixels in the vertical direction, totaling 4,096 pixels. The prediction block is 8 pixels in the horizontal direction, 8 pixels, and a total of 64 pixels. If the super-block is stored in the memory and the loop filtering operation is performed, the internal memory becomes large.
In addition, since the entire super block is stored in the internal memory, the peripheral device of the VP9 decoder waits until both the horizontal boundary filtering and the vertical boundary filtering are performed, thereby causing a time loss.
In addition, since a structure using a core filter for processing horizontal border filtering and vertical border filtering is used, there is a problem that a lot of hardware resources are used.
The present invention provides a memory-based loop filter capable of reducing a required internal memory capacity by sequentially storing data of one super block in a double buffered internal memory.
It is another object of the present invention to provide a memory-based loop filter capable of reducing hardware resources by processing both horizontal and vertical boundary filtering in one core filter.
The present invention also provides a memory-based loop filter capable of minimizing the time loss of a peripheral device of the VP9 decoder by using a double buffered internal memory and a single core filter to divide the operation steps of the loop filter into a pipeline structure And to provide a method of manufacturing the same.
The memory-based loop filter applied to the moving picture decoder according to the present invention includes a load data controller for loading loop filtering parameters and pixel data necessary for loop filtering operations and storing the loop filtering parameters and pixel data in an internal memory, A single core filter for performing horizontal edge filtering and vertical edge filtering on pixel data and an output data controller for controlling the output of the output data on which the horizontal border filtering and the vertical border filtering are performed .
In the memory-based loop filter applied to the moving picture decoder according to the present invention, the load data controller divides the pixel data into four horizontal and four vertical directions in the first and second internal memories constituting the internal memory, Buffered in units of prediction blocks and stored.
In the memory-based loop filter applied to the moving picture decoder according to the present invention, the super block including the pixel data has a size of 64 * 64 pixels, the prediction block has a size of 8 * 8 pixels, And processing is performed in units of the prediction blocks.
In the memory-based loop filter applied to the moving picture decoder according to the present invention, the moving picture decoder is a 4K class VP9 decoder.
According to the present invention, a memory-based loop filter capable of reducing the required internal memory capacity by sequentially storing data of one super block in a double buffered internal memory is provided.
In addition, a memory-based loop filter capable of reducing hardware resources is provided by processing both the horizontal boundary filtering and the vertical boundary filtering in one core filter.
In addition, a memory-based loop filter is provided that can minimize the time loss of the peripheral device of the VP9 decoder by using a double buffered internal memory and a single core filter to divide the operation steps of the loop filter into a pipeline structure It is effective.
1 is a block diagram of a memory-based loop filter according to an embodiment of the present invention.
2 is a diagram for explaining the operation of a memory-based loop filter according to an embodiment of the present invention.
It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.
The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It is not intended to be exhaustive or to limit the invention to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.
The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.
It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like are used to specify that there are features, numbers, steps, operations, elements, parts or combinations thereof described herein, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
Video compression is usually to reduce the amount of data representing a video signal by permanently eliminating certain redundant information in the video signal. For such compression techniques, there are various standards including MPEG, H.264, VPx, and the like.
Block-based video compression is performed on a pixel group basis with a certain size. The names of these pixel groups are various. For example, the H.264 standard specifies a 16 * 16 pixel group of pixels, referred to as a macroblock. In addition, the VPx standard specifies a group of pixels of 16 * 16 or 64 * 64 pixels, which is referred to as a super block. As such, each video frame can be divided into pixel groups, each group of pixels consisting of a plurality of smaller sized blocks. The pixel group and the blocks within the pixel group are compared with data found in the current frame or data found in the other frame to produce the predictive data and the error signal.
For example, the error signal for each block may be transformed using a discrete cosine transform (DCT), the transform coefficients obtained for each block may be quantized, and the quantized coefficients may be coded using context adaptive binary arithmetic coding ), Or the like.
The quantization level, which indicates the degree to which the transform coefficients are quantized, affects the number of bits used to represent the image data as well as the quality of the resulting decoded image. In general, when the quantization level is set to a high value, more coefficients are set to 0, resulting in a higher compression ratio, but the quality of the image is degraded. Conversely, when the quantization level is set to a low value, fewer coefficients are set to zero, resulting in better image quality, but the compression rate is poor.
Since the visual quality of the video may depend on how the quantization level is distributed over the frames in the video sequence, it is useful to control the quantization level over each frame. Some current techniques apply a uniform quantization level over each frame. However, these techniques do not consider applying low quantization levels to a portion of a visually more important frame (e.g., a human face, etc.). Similarly, these uniform quantization level techniques also do not consider applying a high quantization level to a portion of a visually less important frame (e.g., a background region, etc.).
It would be desirable to efficiently select the quantization level for each pixel group without increasing the overhead and computational complexity at the encoder / decoder.
Block artifacts appear as discontinuities between adjacent blocks. This discontinuity degrades the visual quality and degrades the reliability of the reconstructed frame for prediction of subsequent frames.
To remove this discontinuity, loop filtering in the reconstruction path can be applied to the reconstructed frame, and the invention to be described below is for this loop filtering. The choice of loop filter and the strength of the loop filter can have a significant impact on image quality. Too strong a filter may cause blurring and loss of detail, and a too weak filter may not adequately suppress discontinuity between adjacent blocks.
Although the description of the present invention has been described below with reference to the VP9 video coding format, the present invention may be implemented in connection with other video coding algorithms.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
1 is a block diagram of a memory-based loop filter according to an embodiment of the present invention.
1, a memory-based loop filter 1 according to an embodiment of the present invention includes a
The
For example, a super block including pixel data may have a size of 64 * 64 pixels, a prediction block may have a size of 8 * 8 pixels, and a super block may be configured to be processed in a prediction block unit.
For example, the
The
The
The column
The RDMA (Read Direct Memory Access)
The WDMA (Write Direct Memory Access)
The loop filter
2 is a diagram for explaining the operation of a memory-based loop filter according to an embodiment of the present invention.
2, in step S10, a process of loading the loop filtering parameters and the pixel data necessary for the loop filtering operation is performed by the
With reference to steps S10 and S20, a super block including pixel data has a size of 64 * 64 pixels, a prediction block has a size of 8 * 8 pixels, and a super block is processed in units of prediction blocks. The super block is loop-filtered in units of prediction blocks. One super block has 64 pixels in the horizontal direction and 64 pixels in the vertical direction, and a total of 4,096 pixels. The prediction block has 8 pixels in the horizontal direction and 8 pixels in the vertical direction. Pixels. If the super-block is stored in the memory and the loop filtering operation is performed, the internal memory becomes large. However, since the
In step S30, the
In step S40, a process of controlling the
As described above in detail, according to the present invention, a memory-based loop filter is provided which can reduce the required internal memory capacity by sequentially storing data of one super block in a double buffered internal memory .
In addition, a memory-based loop filter capable of reducing hardware resources is provided by processing both the horizontal boundary filtering and the vertical boundary filtering in one core filter.
In addition, a memory-based loop filter is provided that can minimize the time loss of the peripheral device of the VP9 decoder by using a double buffered internal memory and a single core filter to divide the operation steps of the loop filter into a pipeline structure It is effective.
1: loop filter
10: load data controller
12: first internal memory
14: Second internal memory
20: Single core filter
30: Output data controller
40: column data buffer memory
50: row data buffer memory
60: Output data controller
70: Read Direct Memory Access (RDMA) engine
80: Write Direct Memory Access (WDMA) engine
90: Loop filter main controller
Claims (4)
A load data controller for loading loop filtering parameters and pixel data necessary for loop filtering operations and storing the same in an internal memory;
A single core filter for performing horizontal edge filtering and vertical edge filtering on pixel data stored in the internal memory; And
And an output data controller for controlling output of the output data in which the horizontal boundary filtering and the vertical boundary filtering have been performed.
Wherein the load data controller stores the pixel data by double buffering the pixel data in a first internal memory and a second internal memory constituting the internal memory in units of four horizontally and vertically one prediction block units, A memory-based loop filter applied to
Wherein the super block including the pixel data has a size of 64 * 64 pixels, the prediction block has a size of 8 * 8 pixels, and the super block is processed in the prediction block unit. Memory based loop filter.
Wherein the motion picture decoder is a 4K class VP9 decoder.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150154229A KR20170052143A (en) | 2015-11-04 | 2015-11-04 | Loop filter based on memory applied in video decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150154229A KR20170052143A (en) | 2015-11-04 | 2015-11-04 | Loop filter based on memory applied in video decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170052143A true KR20170052143A (en) | 2017-05-12 |
Family
ID=58740396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150154229A KR20170052143A (en) | 2015-11-04 | 2015-11-04 | Loop filter based on memory applied in video decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170052143A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147849A (en) * | 2018-11-01 | 2020-05-12 | 联发科技股份有限公司 | Post-processing apparatus and post-processing method |
-
2015
- 2015-11-04 KR KR1020150154229A patent/KR20170052143A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147849A (en) * | 2018-11-01 | 2020-05-12 | 联发科技股份有限公司 | Post-processing apparatus and post-processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5907941B2 (en) | Method and apparatus for trimming video images | |
US8395634B2 (en) | Method and apparatus for processing information | |
US7362810B2 (en) | Post-filter for deblocking and deringing of video data | |
JP4668914B2 (en) | Image decoding device | |
US20180027241A1 (en) | Method and Apparatus for Multi-Level Region-of-Interest Video Coding | |
US20150215631A1 (en) | Parallel Coding with Overlapped Tiles | |
KR100624426B1 (en) | Pipeline decoding apparatus and method, and computer-readable recording media for storing computer program for controlling the apparatus | |
JP2012502592A (en) | Decoding system and method using parallel processing | |
KR20090094345A (en) | Memory reduced h264/mpeg-4 avc codec | |
US11202102B2 (en) | Optimized edge order for de-blocking filter | |
KR20090078494A (en) | Deblocking filtering method and deblocking filter for video data | |
US9386310B2 (en) | Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system | |
US9451251B2 (en) | Sub picture parallel transcoding | |
US7843993B2 (en) | Moving picture encoding apparatus having increased encoding speed and method thereof | |
JP2012085001A5 (en) | ||
US7680351B2 (en) | Video deblocking method and apparatus | |
JP2024081752A (en) | Information processing method, device, equipment, and storage medium | |
CN1792097A (en) | Video processing device with low memory bandwidth requirements | |
KR20170052143A (en) | Loop filter based on memory applied in video decoder | |
US20220210454A1 (en) | Video decoding and display system and memory accessing method thereof | |
KR101331093B1 (en) | Method and Apparatus for Interleaving Reference Pixel within a Single Bank of Video Memory, Video Codec System Including the Same | |
JP2009130599A (en) | Moving picture decoder | |
WO2013076897A1 (en) | Image processing device and image processing method | |
JP2010050833A (en) | Video coding device | |
US20210152832A1 (en) | Reconstructing transformed domain information in encoded video streams |