A method and apparatus for generating an optimized bitstream. In the method, a bitstream including first and second processing units is received. The video processing units are encoded to generate syntax data for syntax elements of the video processing units. The syntax data of the video processing units are grouped according to the type of syntax element, and the groups are arranged in a predetermined order to produce the optimized bitstream.
|
13. A method of generating a media data bitstream, the method comprising:
encoding at least one processing unit to generate syntax data of at least one syntax element of the at least one video processing unit;
grouping the syntax data of the at least one processing unit into at least one group according to a type of the at least one syntax element;
allocating a header to each of the at least one group, wherein the header comprises information regarding the group to which the header belongs; and
arranging the at least one group in a predetermined order to generate the media data bitstream,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance or priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
1. A method of generating a video data bitstream, the method comprising:
encoding at least one video processing unit to generate syntax data of at least one syntax element of the at least one video processing unit;
grouping the syntax data of the at least one video processing unit into at least one group according to a type of the at least one syntax element;
allocating a header to each of the at least one group, wherein the header comprises information regarding the group to which the header belongs; and
arranging the at least one group in a predetermined order to generate the video data bitstream,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance of priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
17. An apparatus for generating a video data bitstream, the apparatus comprising:
an encoding unit that encodes at least one video processing unit to generate syntax data of at least one syntax element of the at least one video processing unit;
a grouping unit that groups the syntax data of the at least one video processing unit into at least one group according to a type of the at least one syntax element; and
a bitstream generation unit that allocates a header to each of the at least one group, respectively, wherein the header comprises location information of a header of a group subsequent to the at least one group in the predetermined order, and arranges the at least one group in a predetermined order to generate the video data bitstream,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance or priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
19. An apparatus for generating a media data bitstream, the apparatus comprising:
an encoding unit that encodes at least one processing unit to generate syntax data of at least one syntax element of at least one syntax element of the at least one processing unit;
a grouping unit that groups the syntax data of the at least one processing unit into at least one group according to a type of the at least one syntax element; and
a bitstream generation unit that allocates a header to each of the at least one group, respectively, wherein the header comprises location information of a header of a group subsequent to the at least one group in the predetermined order, and arranges the at least one group in a predetermined order to generate the media data bitstream,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance of priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
15. A method of parsing a media data bitstream, the method comprising:
receiving the media data bitstream, the media data bitstream generated by grouping syntax data of at least one syntax element of at least one processing unit into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order;
extracting the at least one group from the received bitstream;
parsing the at least one group and extracting the syntax data of the at least one group, respectively, to reconstruct data of the at least one processing unit; and
decoding the reconstructed data of the at least one processing unit,
wherein the at least one group comprises a header including information regarding the at least one group to which the header belongs,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance or priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
7. A method of parsing a video data bitstream, the method comprising:
receiving the video data bitstream, the video data bitstream generated by grouping syntax data of at least one syntax element of at least one video processing unit of the video data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order;
extracting the at least one group from the received bitstream;
parsing the at least one group and extracting the syntax data of the at least one group, respectively, to reconstruct data of the at least one video processing unit; and
decoding the reconstructed data of the at least one video processing unit,
wherein the at least one group comprises a header including information regarding the at least one group to which the header belongs,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance of priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
20. An apparatus for parsing a media data bitstream, the apparatus comprising:
a bitstream separation unit that receives the media data bitstream, the media data bitstream generated by grouping syntax data of at least one syntax element of at least one processing unit of the media data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order;
an extracting unit that extracts the at least one group from the received bitstream;
a reconstruction unit that parses the at least one group and extracts the syntax data of the at least one group, respectively, and reconstructs data of the at least one video processing unit; and
a decoding unit that decodes the reconstructed data of the at least one processing unit,
wherein, in the media data bitstream, each of the at least one group comprises a header including location information of a header of a group subsequent to the at least one group in the predetermined order,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance of priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
18. An apparatus for parsing a video data bitstream, the apparatus comprising:
a bitstream separation unit that receives the video data bitstream, is the video data bitstream generated by grouping syntax data of at least one syntax element of at least one video processing unit of the video data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order;
an extracting unit that extracts the at least one group from the received bitstream;
a reconstruction unit that parses the at least one group and extracts the syntax data of the at least one group, respectively, and reconstructs data of the at least one video processing unit; and
a decoding unit that decodes the reconstructed data of the at least one video processing unit,
wherein, in the video data bitstream, each of the at least one group comprises a header including location information of a header of a group subsequent to the at least one group in the predetermined order,
wherein the at least one group comprises a first group including a first header and a group of first syntax elements and a second group including a second header and a group of second syntax elements, and the at least one group is arranged according to importance or priority of the syntax elements included in the group of first syntax elements and the group of second syntax elements, and
wherein the first header of the first group comprises location information of the second header of the second group, the second group being arranged subsequent to the first group in the predetermined order.
2. The method of
wherein the method further comprises:
entropy encoding the first group and the second group according to a first encoding method and a second encoding method, respectively, the first and second encoding methods being different from each other; and
arranging the entropy encoded first and second groups in the predetermined order.
3. The method of
4. The method of
wherein the method further comprises:
error-correction encoding the first group and the second group according to a first encoding method and a second encoding method, respectively, the first and second encoding methods being different from each other.
5. The method of
6. A non-transitory computer readable recording medium having recorded thereon a program which, when executed by a computer, causes the computer to execute the method of
8. The method of
wherein the first group is entropy encoded according to a first encoding method and the second group is entropy encoded according to a second encoding method, the first and second encoding methods being different from each other.
9. The method of
10. The method of
wherein the first group is error-correction encoded according to a first encoding method and the second group is error-correction encoded according to a second encoding method, the first and second encoding methods being different from each other.
11. The method of
12. A non-transitory computer readable recording medium having recorded thereon a program which, when executed by a computer, causes the computer to execute the method of
14. A non-transitory computer readable recording medium having recorded thereon a program which, when executed by a computer, causes the computer to execute the method of
16. A non-transitory computer readable recording medium having recorded thereon a program which, when executed by a computer, causes the computer to execute the method of
21. The method of
22. The method of
23. The apparatus of
24. The apparatus of
25. The method of
26. The method of
|
This application claims priority from Korean Patent Application No. 10-2009-0083512, filed on Sep. 4, 2009, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
1. Field
The present disclosure relates to a method and apparatus for generating a media data bitstream, and more particularly, to a method and apparatus for generating a media data bitstream that contains data regarding at least one syntax element.
2. Description of the Related Art
Media data, such as video and/or audio signals, is compressed and encoded according to various compression encoding methods so that the media data can be more easily stored or transmitted. In general, compression encoding is performed in such a way that video and/or audio signals are expressed using syntax elements.
For example, a video signal is compressed and encoded by dividing the video signal into several blocks, each block having a predetermined size, and by generating a syntax element of a motion vector, a syntax element of an encoding mode, and a syntax element of a pixel value, with respect to each of the blocks.
The present disclosure provides a method and apparatus for generating a media data bitstream.
According to an exemplary embodiment, there is provided a method of generating a video data bitstream, the method including receiving a bitstream including at least one video processing unit, encoding the at least one video processing unit to generate syntax data of at least one syntax element of the at least one video processing unit; grouping the syntax data of the at least one video processing unit into at least one group according to a type of the at least one syntax element; and arranging the at least one group in a predetermined order to generate the video data bitstream.
The generating of the video data bitstream may further include allocating a header to each of the at least one group, wherein the header comprises information regarding the group to which the header belongs.
The header includes location information of a header of another group that is subsequent to the at least one group in the predetermined order.
The method may further include entropy encoding the at least one group according to different methods when the at least one group includes plural groups, respectively; and arranging the entropy encoded groups in the predetermined order.
The at least one syntax element may be one of a syntax element related to a motion vector, a syntax element related to an encoding mode, and a syntax element related to the value of a pixel.
The method may further include error-correction encoding the at least one group according to different methods when the at least one group includes plural groups, respectively.
According to another exemplary embodiment, there is provided a method of parsing a video data bitstream, the method including receiving the video data bitstream, is the video data bitstream generated by grouping syntax data of at least one syntax element of at least one video processing unit of the video data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order, extracting the at least one group from the received bitstream; parsing the at least one group and extracting the syntax data of the at least one group, respectively, to reconstruct data of the at least one video processing unit; and decoding the reconstructed data of the at least one video processing unit to generate the video data bitstream.
According to another exemplary embodiment, there is provided a method of generating a media data bitstream, the method including receiving a bitstream including at least one processing unit; encoding that at least one processing unit to generate syntax data of at least one syntax element of the at least one video processing unit; grouping the syntax data of the at least one processing unit into at least one group according to a type of the at least one syntax element; and arranging the at least one group in a predetermined order to generate the media data bitstream.
According to another aspect of the present invention, there is provided a method of parsing a media data bitstream, the method including receiving the media data bitstream, the media data bitstream generated by grouping syntax data of at least one syntax element of at least one processing unit into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order; extracting the at least one group from the received bitstream; parsing the at least one group and extracting the syntax data of the at least one group, respectively, to reconstruct data of the at least one processing unit; and decoding the reconstructed data of the at least one processing unit to generate the media data bitstream.
According to another exemplary embodiment, there is provided an apparatus for generating a video data bitstream, the apparatus including an encoding unit that encodes at least one video processing unit of a received bitstream to generate syntax data of at least one syntax element of the at least one video processing unit; a grouping unit that groups the syntax data of the at least one video processing unit into at least one group according to a type of the at least one syntax element; and a bitstream generation unit that arranges the at least one group in a predetermined order to generate the video data bitstream.
According to another aspect of the present invention, there is provided an apparatus for parsing a video data bitstream, the apparatus including a bitstream separation unit that receives the video data bitstream, is the video data bitstream generated by grouping syntax data of at least one syntax element of at least one video processing unit of the video data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order; an extracting unit that extracts the at least one group from the received bitstream; a reconstruction unit that parses the at least one group and extracts the syntax data of the at least one group, respectively, and reconstructs data of the at least one video processing unit; and a decoding unit that decodes the reconstructed data of the at least one video processing unit to generate the video data bitstream.
According to another exemplary embodiment, there is provided an apparatus for generating a media data bitstream, the apparatus including an encoding unit that encodes at least one processing unit of a received bitstream to generate syntax data of at least one syntax element of at least one syntax element of the at least one processing unit; a grouping unit that groups the syntax data of the at least one processing unit into at least one group according to a type of the at least one syntax element; and a bitstream generation unit that arranges the at least one group in a predetermined order to generate the media data bitstream.
According to another exemplary embodiment, there is provided an apparatus for parsing a media data bitstream, the apparatus including a bitstream separation unit that receives the media data bitstream, the media data bitstream generated by grouping syntax data of at least one syntax element of at least one processing unit of the media data bitstream into at least one group according to a type of the at least one syntax element, the at least one group arranged in a predetermined order; an extracting unit that extracts the at least one group from the received bitstream; a reconstruction unit that parses the at least one group and extracts the syntax data of the at least one group, respectively, and reconstructs data of the at least one video processing unit; and a decoding unit that decodes the reconstructed data of the at least one processing unit to generate the media data bitstream.
According to another aspect of the present invention, there is provided a computer readable recording medium having recorded thereon a program for causing a computer to execute the bitstream generating methods and the bitstream parsing methods.
The encoding unit 110 generates media data, which contains data regarding at least one syntax element, by encoding at least one media processing unit. That is, an audio/video (AV) signal is encoded using an encoding algorithm to generate media data of each of AV processing units. A video processing unit may be a block, e.g., a macroblock, which is included in one picture or one slice, and an audio processing unit may be an audio frame.
Media data, such as a video and/or audio signal, is divided and encoded into predetermined processing units. A video signal is encoded into video processing units, e.g., blocks, to generate video data, and an audio signal is encoded into audio frames to generate audio data. The bitstream generating apparatus 100 according to the current exemplary embodiment will now be described with respect to video data by referring to
The encoding unit 110 of
The syntax element of the motion vector is used to encode a motion vector representing relative motion between a reference block and a current block when the current block is encoded using inter prediction. The syntax element of the encoding mode defines an encoding mode used to encode the current block. The syntax element of the pixel value is used to encode the value of a pixel included in the current block and may be the syntax element of a residual value that is the difference between the pixel value and a predicted value thereof.
Referring to
Although
Referring back to
As illustrated in
Referring to
The predetermined order, in which the at least one group generated according to the type of the syntax element is arranged, is not limited, but according to an exemplary embodiment, the at least one group may be arranged according to the importance or priority of the syntax element. For example, a motion vector of video data is information that needs to be processed quickly during a decoding operation, since a reference picture should first be detected using the motion vector, to detect a reference block, when a motion of a block that is to be decoded is compensated for. Thus, as illustrated in
The bitstream generating apparatus 100 of
According to another exemplary embodiment, the bitstream generation unit 130 may encode the at least one group, which is generated according to the type of syntax element, according to different entropy encoding methods, as will be described in detail with reference to
The CABAC has a higher degree of complexity than the CAVLC, and thus the CABAC requires a greater amount of calculation for entropy encoding/decoding than the CAVLC. Thus, it is inefficient to encode the data regarding the encoding mode, which does not show a high compression rate when the data is entropy encoded, by using the CABAC.
Accordingly, the bitstream generation unit 130 of
According to another exemplary embodiment, the bitstream generation unit 130 may error-correction encode the at least one group generated according to the type of syntax element according to different methods, respectively, as will be described in detail with reference to
According to an exemplary embodiment, the bitstream generation unit 130 of
The bitstream extraction unit 610 receives a media data bitstream of at least one processing unit, which is generated by grouping the media data into at least one group according to the type of syntax element and arranging the at least one group in a predetermined order, and extracts the at least one group from the bitstream.
In the case of video data, a media data bitstream of at least one video processing unit, which is generated by grouping the media data into the at least one group according to the type of a syntax element, as illustrated in
If the at least one group is plural groups that have been entropy encoded according to different methods, respectively, then the groups are entropy decoded according to decoding methods corresponding to the different encoding methods, respectively. If the groups have been error-correction encoded according to different methods, respectively, then the groups are error-correction decoded according to decoding methods corresponding to the different encoding methods, respectively, and any errors that occur are corrected.
The reconstruction unit 620 reconstructs the media data of the at least one processing unit by parsing the at least one group extracted by the bitstream extraction unit 610. If the first to fourth groups 310 to 340 illustrated in
Each of the first to fourth groups 310 to 340 illustrated in
According to another exemplary embodiment, a specific group may be selectively parsed from among all the groups. For example, to detect only a part of video in which a motion occurs, the part of the video may be detected by parsing only the first group 310 related to a motion vector. In order to reconstruct only black and white video, the black and white video may be reconstructed by parsing only the third group 330, related to a luminance value, without having to parse the fourth group 340 related to a color difference signal value. Referring to
Referring back to
In operation 820, the bitstream generating apparatus 100 groups the media data of the at least one processing unit generated in operation 810 into at least one group according to the type of a syntax element. As illustrated in
In operation 830, the bitstream generating apparatus 100 generates a bitstream by arranging the at least one group generated in operation 820 in a predetermined order. However, the method is not limited to the predetermined order, and the at least one group may be arranged according to the importance or priority of a syntax element. Also, the header allocated to the at least one group may include location information of another group subsequent to the at least one group, i.e., location information of the header allocated to a subsequent group. When the at least one group is plural groups, the plural groups may be entropy encoded or error-correction encoded according to different methods, respectively.
In operation 920, the bitstream parsing apparatus 600 extracts the at least one group from the bitstream received in operation 910. The at least one group is separated from the bitstream based on a header allocated to the at least one group. The at least one group may be separated from the bitstream based on location information of another group subsequent to the at least one group, which is included in the header.
In operation 930, the bitstream parsing apparatus 600 reconstructs the media data of the at least one processing unit by parsing the at least one group separated in operation 920, respectively. The bitstream parsing apparatus 600 may parse media data, as illustrated in
In operation 940, the bitstream parsing apparatus 600 may decode the media data of the at least one processing unit reconstructed in operation 930 according to an AV decoding algorithm. An AV signal is reconstructed by decoding AV data.
A system and method according to an exemplary embodiment may be embodied as computer readable code recorded on a computer readable recording medium for causing a computer to implement the system or method when executing the computer readable code.
For example, each of the bitstream generating apparatus 100 and the bitstream parsing apparatus 600 may include a bus coupled to the elements of the bitstream generating apparatus 100 or the bitstream parsing apparatus 600 and at least one processor coupled to the bus. Also, each of the bitstream generating apparatus 100 and the bitstream parsing apparatus 600 may include a memory coupled to the bus to store a command, and coupled to the at least one processor in order to perform the command.
The computer readable medium may be any medium capable of storing data that is read and/or executed by a computer system, e.g., a read-only memory (ROM), a random access memory (RAM), a compact disc (CD)-ROM, a magnetic tape, a floppy disk, an optical data storage device, and so on. The computer readable medium can be distributed among computer systems that are interconnected through a network, and the system and method may be stored and implemented as computer readable code in the distributed system.
While the exemplary embodiments have been particularly shown and described, it is 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 exemplary embodiments as defined by the following claims.
Park, Jeong-hoon, Jung, Hae-kyung, Han, Woo-jin
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5361097, | Apr 02 1993 | RCA Thomson Licensing Corporation | Priority processing of encoded video signal including insertion of datastream null words during priority analysis intervals |
20020071485, | |||
20030066007, | |||
20060268855, | |||
20070009047, | |||
20090175349, | |||
20110001643, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 03 2010 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Mar 15 2019 | 4 years fee payment window open |
Sep 15 2019 | 6 months grace period start (w surcharge) |
Mar 15 2020 | patent expiry (for year 4) |
Mar 15 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 15 2023 | 8 years fee payment window open |
Sep 15 2023 | 6 months grace period start (w surcharge) |
Mar 15 2024 | patent expiry (for year 8) |
Mar 15 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 15 2027 | 12 years fee payment window open |
Sep 15 2027 | 6 months grace period start (w surcharge) |
Mar 15 2028 | patent expiry (for year 12) |
Mar 15 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |