The above and/or other aspects and advantages will become more apparent and more readily appreciated from the following detailed description of example embodiments taken in conjunction with the accompanying drawings, in which:
Example embodiments will now be described more fully with reference to the accompanying drawings. Embodiments, however, may be embodied in many different forms and should not be construed as being limited to the example embodiments set forth herein. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope to those skilled in the art. In the drawings, the thicknesses of layers and regions may be exaggerated for clarity.
It will be understood that when an element is referred to as being “on,” “connected to,” or “coupled to” to another component, it may be directly on, connected to, or coupled to the other component or intervening components may be present. In contrast, when a component is referred to as being “directly on,” “directly connected to,” or “directly coupled to” another component, there are no intervening components present. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that, although the terms first, second, third, etc., may be used herein to describe various elements, components, regions, layers, and/or sections, these elements, components, regions, layers, and/or sections should not be limited by these terms. These terms are only used to distinguish one element component, region, layer, and/or section from another element, component, region, layer, and/or section. For example, a first element, component, region, layer, and/or section could be termed a second element, component, region, layer, and/or section without departing from the teachings of the example embodiments.
Spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper,” and the like may be used herein for ease of description to describe one component and/or feature to another component and/or feature, or other component(s) and/or feature(s), as illustrated in the drawings. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, and/or components.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Reference will now be made to example embodiments, which are illustrated in the accompanying drawings, wherein like reference numerals may refer to like components throughout.
Referring to
The deblocking filter 210 may perform deblocking filtering in macroblock units. Generally, a single frame may be divided into macroblocks of 16×16 pixels and/or each of the macroblocks may be divided into sub-blocks of 4×4 pixels. The deblocking filter 210 according to example embodiments may set a macroblock group for at least one of the macroblocks and/or may sequentially perform deblocking filtering on the set macroblock groups. The control unit 220 may control the operation of the deblocking filter 210. The internal memory 230 may store the macroblock groups to be deblocking-filtered by the deblocking filter 210. The deblocking-filtered macroblock groups may be stored in the external memory 240.
The deblocking filter 210 may refer to a reference area or areas for deblocking filtering. For example, it may be assumed that there is a first macroblock group, that is deblocking-filtered, and a second macroblock group, that may be adjacent to the first macroblock group in the column direction and is to be deblocking-filtered. The deblocking filter 210 may refer, for example, to a reference area of the first macroblock group in order to perform deblocking filtering on the second macroblock group. The reference area may be defined by a specific block of a previously deblocking-filtered macroblock group referred to for deblocking filtering.
After the current macroblock group is deblocking-filtered, the external memory 240 may store the deblocking-filtered macroblock group and the reference area.
Referring to
Referring to
Let a macroblock group that may include the macroblocks a1, b1, c1, and d1 be a first macroblock group MBG_1 and a macroblock group that may include macroblocks a2, b2, c2, and d2 be a second macroblock group MBG_2. In
Once the macroblocks are grouped into the macroblock groups, deblocking filtering may start from the first macroblock group MBG_1 in the column direction. In other words, after deblocking filtering is performed on the first macroblock group MBG_1, it may be performed on the second macroblock group MBG_2. In this way, when deblocking filtering on the nth macroblock group MBG_n is completed, a macroblock group that may be adjacent to the first macroblock group MBG_1 in the row direction (e.g., a macroblock group that may include macroblocks e1, f1, g1, and h1), may be defined as a first macroblock group MBG_1′ and deblocking filtering may be resumed in the first macroblock group MBG_1′ in a manner similar to that described above. Thus, deblocking filtering on the entire frame 400 may be completed by performing deblocking filtering on macroblock groups included in the frame 400 in the column direction.
Referring to
First, the first macroblock group MBG_1 may be stored in the internal memory 230. It may not be necessary to perform deblocking filtering on a side (e.g., the left side) of the first macroblock group MBG_1, which is adjacent to the frame. However, deblocking filtering may be performed on boundaries between two adjacent macroblocks of the first macroblock group MBG_1. In other words, deblocking filtering may be performed on a boundary between the macroblocks a1 and b1, a boundary between the macroblocks b1 and c1, and/or a boundary between the macroblocks c1 and d1. After deblocking filtering is completed, the deblocking-filtered first macroblock group MBG_1 may be stored in the external memory 240 in operation S520.
When the second macroblock group MBG_2 is deblocking-filtered after deblocking filtering of the first macroblock group MBG_1, all or substantially all data stored in the internal memory 230, except for reference areas RF_1, RF_2, RF_3, and/or RF_4 of the first macroblock group MBG_1 referred to for deblocking filtering of the second macroblock group MBG_2 in operation S530, may be eliminated from the internal memory 230. The second macroblock group MBG_2 to be deblocking-filtered may be stored in the internal memory 230 in operation S540. Deblocking filtering may be performed on the second macroblock group MBG_2 stored in the internal memory 230 by referring to the reference areas RF_1, RF_2, RF_3, and/or RF_4 of the first macroblock group MBG_1 in operation S550. For example, deblocking filtering may be performed on a boundary between reference area RF_1 of the first macroblock group MBG_1 and adjacent macroblock a2, a boundary between reference area RF_2 of the first macroblock group MBG_1 and adjacent macroblock b2, a boundary between reference area RF_3 of the first macroblock group MBG_1 and adjacent macroblock c2, and/or a boundary between reference area RF_4 of the first macroblock group MBG_1 and adjacent macroblock d2. After deblocking filtering of the second macroblock group MBG_2 is completed, the deblocking-filtered second macroblock group MBG_2 and/or the reference areas RF_1, RF_2, RF_3, and/or RF_4 of the first macroblock group MBG_1 may be stored in the external memory 240 in operation S560.
The operations described above may be repeated until deblocking filtering of the nth macroblock group MBG_n is completed in operation S570. Once deblocking filtering of the nth macroblock group MBG_n is completed, a macroblock adjacent to the first macroblock group MBG_1 in the row direction (e.g., a macroblock group including the macroblocks e1, f1, g1, and h1) may be defined as a first macroblock group MGB_1′ and deblocking filtering may be resumed in the first macroblock group MBG_1′ in a manner similar to that described above in operation S590. The operations described above may be repeated until deblocking filtering of the entire frame is completed in operation S580.
The capacity of the internal memory 230 will be described with reference to
After the deblocking filtering is completed, all or substantially all data stored in the internal memory 230, except for the reference area or areas for the second macroblock group MGB_2′, may be eliminated from the internal memory 230. Thereafter, once a third macroblock group MGB_3′, a reference area RF_L located to the left side of the third macroblock group MGB_3′, and/or the reference areas RF_1′, RF_2′, RF_3′, and/or RF_4′of the second macroblock group MBG_2′ located above the macroblocks of the third macroblock group MGB_3′ are stored in the internal memory 230, deblocking filtering may be performed on the third macroblock group MGB_3′. Successive macroblock groups may be deblocking-filtered in a similar manner to that discussed above.
For example, it may be assumed that: deblocking filtering may be performed on a frame of 720×480 pixels; a macroblock may include 16×16 pixels; a reference area may include 4×16 pixels or 16×4 pixels; and/or a pixel may include 8 bits. Thus, the frame may have 45×30 macroblocks.
According to the related art, as many as forty-five macroblocks, forty-five 4×16 pixels reference areas, and one 16×4 pixels reference area should be stored in the internal memory at a given time in order to perform deblocking filtering on the frame. In other words, for storing just the reference area or areas, the internal memory should have a capacity of (45+1)×64×8=23,552 bits.
According to example embodiments, if 5 macroblocks are grouped into a macroblock group, it may be necessary to store only five macroblocks, five 4×16 pixels reference areas, and/or one 16×4 pixels reference area in the internal memory 230 at a given time in order to perform deblocking filtering on the frame. In other words, for storing just the reference area or areas, the internal memory may need to have a capacity of only (5+1)×64×8=3,072 bits. In other words, the capacity of the internal memory required by the reference area or areas may be reduced.
If there is a reference area located to the left side of the macroblock group in
The example embodiments may be applied to any case where deblocking filtering is performed in MPEG as well as H.264.
As described above, according to the example embodiments, by reducing a reference area or areas stored in an internal memory, deblocking filtering may be performed with an internal memory having a relatively small capacity. Since macroblocks may be deblocking-filtered in macroblock group units, bandwidth required to access external memory may also be reduced.
While example embodiments have been particularly shown and described, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2006-0077809 | Aug 2006 | KR | national |