WO2008048009A1 - Device and method for encoding/decoding bit-stream - Google Patents

Device and method for encoding/decoding bit-stream Download PDF

Info

Publication number
WO2008048009A1
WO2008048009A1 PCT/KR2007/004855 KR2007004855W WO2008048009A1 WO 2008048009 A1 WO2008048009 A1 WO 2008048009A1 KR 2007004855 W KR2007004855 W KR 2007004855W WO 2008048009 A1 WO2008048009 A1 WO 2008048009A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
information
unit
decoder
layer
Prior art date
Application number
PCT/KR2007/004855
Other languages
French (fr)
Inventor
Euee-S. Jang
Sun-Young Lee
Chung-Ku Lee
Original Assignee
Humax Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Humax Co., Ltd. filed Critical Humax Co., Ltd.
Publication of WO2008048009A1 publication Critical patent/WO2008048009A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • video data is converted into bitstream data by an encoder.
  • the bitstream is stored depending on an encoding type that satisfies the constraint condition of the encoder.
  • MPEG which is the constraint condition of the bitstream, requests syntax and semantics.
  • the present invention provides a method and device for encoding/decoding a bitstream that can apply a new set of commands to parse various types of bitstreams by a common syntax analysis method.
  • an aspect of the present invention features an encoder/a decoder and/or a unified codec device that can be universally used for various standards.
  • a decoding device that includes a table information storing unit; a decoder description decoder generating n numbers of table information corresponding to the decoding decription received from an encoder and storing them into the table information storing unit; and a decoding unit decoding encoded video data included in the bitstream received from the encoder by using the table information stored in the table information storing unit and outputting the corresponding result data.
  • the decoding unit may include a tool box containing 2 or more of functional units each implemented for processing a predetermined process; and a storing unit storing at least one of control signal/context information(CSCI) which is generated performing a process by at least one functional unit and data for decoding process.
  • the 2 or more of functional units may determine either activation or call corresponding to hierarchical structure of the encoded video data.
  • the table information to be stored in the table information storing unit may further include a default value table representing a relationship between actual values and code values during the entropy coding.
  • the decoding device may further include a dividing unit to divide the decoder description and the bitstream.
  • the decoder description may be composed of at least one table region and table information may be inserted to compose the table in each table region.
  • the table information may include specification information corresponding to codec number and profile and layer number for the bitstream decoding and the decoder description decoder may extract n number of tables corresponding to the specification information from the 2 or more of tables pre-stored in the table information storing unit.
  • M number of table regions among the n number of table regions may include specification information corresponding to the codec number and the profile and layer number for a pertinent table
  • k(n-m) number of table regions may include binary code information to compose a pertinet table
  • the decoder description decoder may extract the m number of tables corresponding to the specification information from the 2 or more of tables pre-stored in the table information storing unit and generate the k number of table by using the binary code information and then store the result in the table information storing unit.
  • the decoding functional units may determine either activation or call depending on the hierarchical structure of the encoded video data.
  • the hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a lower layer may be called by an upper layer.
  • An appropriate storage space may be assigned for each of the decoding functional units.
  • An encoding device may include: an encoding unit, generating bitstreams including the encoded video data corresponding to video data by using 2 or more of functional units which perform a function suggested by at least one encoding standard; a description encoder, generating decoder descriptions corresponding to n number of table information which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data.
  • both the bitstreams and the decoder descriptions may be provided to the decoder for the bitstream decoding.
  • the encoding device may further include a extended bitstream generating and outputting unit generating a extended bitstream by using the bitstreams and the decoder descriptions.
  • the n number of table information generated by the description encoder may include at least one chosen from a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU- control signal and context information table(FU-CSCIT) representing CSCI information requested for performing a process by the de
  • the decoder may control activation or call of one or more of decoding functional units corresponding to the highest layer by using the F-RT.
  • the decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region.
  • the table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables.
  • another aspect of the present invention features a decoding method/an encoding method that can be universally used for various standards and/or a recording medium recorded with a program for executing the method thereof.
  • a decoding method according to an embodiment of the invention may include generating and storing 2 or more of table information corresponding to the description information when bitstreams and description information are input; calling a parsing functional unit and one or more of decoding functional units for the highest layer by using one or more of table information.
  • the parsing functional unit may perform syntax parsing of the bitstream and the decoding functional unit of the highest layer may perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit.
  • CSCI control signal and context information
  • the first layer may be called by a second layer which is in an activation state.
  • the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data.
  • Video data corresponding to the bitstream may be outputted by performing one or more times of the process of each decoding functional unit specified in the description information.
  • the hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer.
  • the parsing functional unit and the decoding functional unit each may perform independently the corresponding function suggested by each decoding standard for the bitstream decoding, respectively.
  • the storing unit may include a CSCI storing unit storing control signal and context information(CSCI) generated by the parsing functional unit; and a data storing unit storing at least one of the data for decoding processing of the data corresponding to the encoded video data generated by the parsing functional unit and the processe data processed by the decoding functional unit.
  • CSCI control signal and context information
  • the table information may include a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data included in the bitstream and information of the lower layer per each hierarchy, a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and control signal and context information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
  • DHT decoding
  • the table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
  • DVD default value table
  • At least one of the control signal and context information(CSCI) and data to be decoded may be generated by using at least one chosen from the SET, the S-RT, and the CSCIT.
  • the decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region.
  • the invention provides a recording medium recorded with a program for executing a decoding method, wherein the recording medium is implemented with a program of commands executable in the decoding device and is recorded with a program readable by the decoding device, the decoding method including: generating and storing 2 or more of table information corresponding to the description information when bitstreams and description information are inputted; calling a parsing functional unit and one or more of decoding functional units corresponding to the highest layer by using one or more of table information.
  • the parsing functional unit may perform syntax parsing of the bitstream and the decoding functional unit of the highest layer may perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit.
  • CSCI control signal and context information
  • the first layer may be called by a second layer which is in an activation state.
  • the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data.
  • Video data corresponding to the bitstream may be outputted by performing one or more times of the process of each decoding functional unit specified in the description information.
  • the hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer.
  • the 2 or more of functional units included in the decoder may include at least one parsing functional unit for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data. Further the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data by table information included in the decoder descriptions.
  • the hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a first layer which is a deactivated state may be called by a second layer which is already activated according to table information included in the decoder description.
  • the table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
  • DVD default value table
  • the decoder may control activation or call of one or more of decoding functional units corresponding to the highest layer by using the F-RT.
  • the decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region.
  • the table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables.
  • the invention provides a recording medium recorded with a program for executing a decoding method, wherein the recording medium is implemented with a program of commands executable in the decoding device and is recorded with a program readable by the decoding device, the decoding method including: generating a bitstream including encoded video data corresponding to video data by 2 or more of functional units to perform each function suggested by at least one encoding standard; and generating decoder descriptions corresponding to n number of table information which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data.
  • the program may further include generating a extended bitstream by using the bitstreams and the decoder descriptions.
  • the 2 or more of functional units included in the decoder may include at least one parsing functional unit for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data. Further the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data by table information included in the decoder descriptions.
  • the hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a first layer which is a deactivated state may be called by a second layer which is already activated according to table information included in the decoder description.
  • the generated n number of table information may include at least one chosen from a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S- RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
  • the table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables.
  • FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder.
  • FIG. 2 is a schematic block diagram illustrating the structure of a typical encoder.
  • FIG. 3 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention.
  • FIG. 4 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram illustrating the structure of a decoding unit in accordance with an embodiment of the present invention.
  • FIG. 6 is a schematic block diagram illustrating the structure of a syntax parser in accordance with an embodiment of the present invention.
  • FIG. 7 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with an embodiment of the present invention.
  • FIG. 11 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fourth embodiment of the present invention.
  • FIG. 12 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fifth embodiment of the present invention.
  • FIG. 13 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a sixth embodiment of the present invention.
  • FIG. 14 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a seventh embodiment of the present invention.
  • FIG. 15 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an eigthth embodiment of the present invention.
  • FIG. 16 illustrates the hierarchical structure assigned by a decoding hierarchy table(DHT) in accordance with an embodiment of the present invention.
  • FIG. 17 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention.
  • FIG. 18 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention.
  • FIG. 19 illustrates the connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention.
  • FIG. 20 illustrates the inclusion relationship of a dedicated buffer space for storing control signal and context information (CSCI) data in accordance with an embodiment of the present invention.
  • CSCI control signal and context information
  • FIG. 21 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention.
  • FIG. 22 schematically illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder
  • FIG. 2 is a schematic block diagram illustrating the structure of the typical encoder.
  • variable length decoding unit 110 forms a quantized discrete cosine transform (DCT) coefficient by using a predetermined Huffman table
  • the inverse scanning unit 115 generates data having the same sequence as pertinent video data 140 by performing inverse scanning.
  • the inverse scanning unit 115 outputs a value in inverse order of scanning by various methods, hi the encoding, after performing the quantization, a scanning direction can be defined depending on the distribution of frequency range. Typically, a zig-zag scanning method can be used. However, various scanning methods per codec can be used.
  • Syntax parsing can be unitedly performed in the variable length decoding unit 110 or in an element for processing the bitstream prior to the variable length decoding unit 110. hi this case, since the same standard is applied to the corresponding encoder and decoder, the syntax parsing is processed only by a predetermined setting to correspond to the pertinent standard.
  • the inverse quantization unit 125 performs the inverse quantization of inverse- scanned data. In other words, the inverse quantization unit 125 returns DC and AC coefficients by using a quantization parameter (OP) designed in an encoding process.
  • OP quantization parameter
  • the inverse discrete cosine transform unit 130 calculates an actual video data pixel value to generate a video object plane (VOP) by performing inverse discrete cosine transform.
  • the VOP reconstruction unit 135 reconstructs a video signal by using the VOP generated by the inverse discrete cosine transform unit 130 and outputs the reconstructed signal.
  • an MPEG-4 encoder 200 typically includes a discrete cosine transform unit 210, a quantization unit 215, a DC/AC prediction unit 220, a scanning unit 230 and a variable length encoding unit 235.
  • Each element included in the encoder 200 performs the inverse functions of the corresponding elements of the decoder 100. This is well-known to those skilled in the art. Briefly describing, the encoder 200 converts a video signal (i.e. a digital video pixel value) to a frequency value through the DCT and the quantization and performs the encoding. Then, the encoder 200 performs variable length encoding to differentiate bit length according to the frequency number of information and outputs compressed bitstream format.
  • a video signal i.e. a digital video pixel value
  • the encoder 200 performs variable length encoding to differentiate bit length according to the frequency number of information and outputs compressed bitstream format.
  • FIG. 17 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention
  • FIG. 18 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention.
  • FIG. 19 illustrates the connection structure of an appropriate buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention
  • FIG. 20 illustrates the inclusion relation of an appropriate buffer space for storing control signal and context information (CSCI) in accordance with an embodiment of the present invention
  • FIG. 20 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention
  • FIG. 22 illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • CSCI control signal and context information
  • decoder descriptions are provided to the decoder 300 to generate table information to be extracted or used.
  • the decoder descriptions may be provided to the decoder 300 in a extended bitstream together with bitstreams or in an indepent data form from bitstreams. If the corresponding table information is pre-stored in a certain storing unit of the decoder 300, it is apparent that the providing of the decoder description be omitted. However, hereinafter a case, that the decoder descriptions are provided to the decoder 300 in a extended bitstream form with bitstreams, will be described.
  • the decoder 300 of the present invention has a different structure from the conventional decoder (refer to FIG. 1).
  • the decoder 300 according to an embodiment of the invention includes a dividing unit 310, a decoder description decoder 320, a table storing unit 330, and a decoding unit 340.
  • the dividing unit 310 divides a extended bitstream into a decoder description region and a typical bitstream 105 (hereinafter reffering to as "conventional bitstream").
  • the decoder description is inputted to the decoder description decoder 320 and the conventional bitstream is inputted to the decoding unit 340.
  • the extended bitstream may include decoder descriptions 410-470 and a conventional bitstram 105 as shown in FIG. 4.
  • the decoder description of the invention may be called a decoder description since the decoder description is information for recombination and/or reorganization of functional units included in the decoder 300 in order to decode the conventional bitstream 105 included in the extended bitstream.
  • FL 410, F-RT 420, FU- CSCIT 430, etc. are generated by using the decoder description
  • each partial information i.e., FL 410, F-RT 420, FU-CSCIT 430, etc.
  • the decoder description may be included a extended bitstream 305, as illustrated in FIG. 4 and provided to the decoder 300. It is also evident by those ordinary skilled in the art that the decoder description can be provided to the decoder 300 by an independent bitstream or data format.
  • the decoder description is described in a description method to be recognized and/or interpreted by the description decoder 320, in which the description method is a textual description method or a binary description method or the like.
  • the decoder description may include a functional unit list(FL) 410, a functional unit rule table(F-RT) 420, a functional unit control signal and context information table(FU-CSCIT) 430, a control signal and context information table(CSCIT) 440, a decoding hierarchy table(DHT) 445, a syntax element table(SET) 450, a syntax-rule table(S-RT) 460, a default value table(DVT) 470, and the like. It is evident that each table in the decoder description can be arranged in various orders.
  • the functional unit list(FL) 410, the functional unit rule table(F-RT) 420, the functional unit control signal and context information table(FU-CSCIT) 430, the control signal and context information table(CSCIT) 440, and the decoding hierarchy table(DHT) 445 may be used to build a recofiguable connection of each functional unit(as necessary, a table may be referred to as "a first decoder description").
  • the decoding hierarchy table(DHT) 445 may be information describing for hierarchical structure of each codec and a lower layer per each hierarchy (see FIG. 16).
  • the hierarchical structure of each codec may be described with upper layers and lower layers and may be subdivided into a sequence layer, a GOP layer, a VOP layer, a slice layer, a macro block layer, a block layer and the like.
  • Each codec is composed of at least one of those layers and at least one object may be included in each layer.
  • one or more of layer calling units i.e., GOP-I layer, GOP-2 layer, GOP-3 layer
  • one or more of layer calling units i.e., a picture- 1 layer, a picture-2 layer with performing the object of the GOP-I layer, picture-3, picture-4 with performing the object of the GOP-2 layer, etc.
  • layer calling units i.e., a picture- 1 layer, a picture-2 layer with performing the object of the GOP-I layer, picture-3, picture-4 with performing the object of the GOP-2 layer, etc.
  • an upper layer calls a lower layer in the activation process by calling in the hierarchical structure and it is apparent that an upper layer can be called by a lower layer, if necessary, based on table information.
  • the functional units in the activated layer start operation if control signal and context information for performing a predetermined process and data for decoding are stored in a storing unit 520.
  • the calling unit in the lower layer (the second layer) of the activated layer (the first layer) generates and performs an object of the corresponding layer (the second layer) if control signal and context information for performing a process by one or more of the decoding functional units of the included layer and data for decoding are stored in a storing unit 520. All decoding functional units in the corresponding object and at least one calling units of the lower layer (the third layer) included in the corresponding object are activated.
  • the control signal and context information table(CSCIT) 440, the decoding hierarchy table(DHT) 445, the syntax element table(SET) 450, the syntax-rule table(S- RT) 460, the default value table(DVT) 470, and the like may be used for the syntax parsing of the conventional bitstream 105 (as necessary, a table may be referred to as "a second decoder description").
  • a table may be referred to as "a second decoder description").
  • the type and function of the each decoder description information will be described in detail below.
  • the decoder description decoder 320 stores the decoder description inputted from the dividing unit 310 as 2 or more tables which are the types to be recognized by the decoding unit 340 in the table storing unit 330. It is not necessary that each table stored in the table storing unit is a typical type of table but enough that it is any information type to be recognized by the decoding unit 340. In other words, the decoder description decoder 320 converts data in a binary data format, etc. in the extended bitstream 305 to tables that the SYN parser 540 and/or the decoding control unit 530 can analyze, and stores the converted result tables in the table storing unit 330.
  • the decoder description decoder 320 may select a table corresponding thereto from the tables pre-stored in the table storing unit 330 to be used during the decoding without generating a new table for a whole table or a part of tables.
  • the decoder description decoder 320 may extract the table corresponding to an appropriate code from the tables pre-stored in the table storing unit 330 and generate a new table reflecting the amendment information.
  • the decoder description decoder 320 may generate a new table for a whole table or a part of tables to use during the decoding.
  • the decoding unit 340 may include a tool-box 510, a storing unit 520, and a decoding control unit 530 as shown in FIG. 5.
  • the storing unit 520 may further include a CSCI storing unit 522 to store control signal and context information generated by the syntax parser(SYN) 540 and a data storing unit 524 to store data to be decoded by the decoding processing unit 550.
  • the tool-box 510 may include the syntax parser(SYN) 540 and 2 or more of functional units decoding the data stored in the data storing unit 524 and outputting the result data. It is evident that the SYN parser 540 can be realized as one functional unit. It is also evident that the SYN parser 540 and the functional units can be realized as a combination of each program codes. In other words, the tool-box 510 is a region where the functional units can be realized to perform the corresponding functions, respectively so that each functional unit in the decoding processing unit 550 is activated by the decoding control unit 530 and outputs the encoded video data in the conventional bitstream 105 into video data.
  • a called parsing functional unit performs the syntax parsing of a bitstream and the decoding functional units perform the processing if CSCI required for performing a predetermined process and data for decoding are stored.
  • An upper layer may call functional units in a lower layer according to flow of CSCI and data and video data corresponding to the bitstream is outputted by performing one or more times of the process according to the need of all functional units described in the decoder description.
  • scheduling management of each codec and sysmtemic processing of each functional unit are provided by using the decoder description.
  • the decoding unit 340 of the present invention may perform simultaneously the syntax parsing process and the data decoding for outputting video data(see FIG. 22). Further, activation of the functional units in the decoding processing unit 550 is determimed by a unit of the hierarchical structure and each functional unit is independently determined for operation reservation or operation starting so that each functional unit can be operated systemically (for example, operation by forming sequential/parallel combinations between the functional units)
  • the SYN parser 540 included in the tool-box 510 may be set immediately to interprete the conventional bitstream 105 if the conventional bitstream 105 is inputted, regardless of a connection control of the decoding control unit 530.
  • the SYN parser 540 interpetes the inputted conventional bitstream 105 by using the DHT 445, the SET 450, the S-RT 460, the CSCIT 440, and the DVT 470, etc. and stores element information, which is the result of the syntax parsing, in the CSCI storing unit 522.
  • the CSCI storing unit 522 may be a buffer memory.
  • the element information may be control signal context information(CSCI).
  • the element information, which is parsed by the SYN parser 540 and stored in the CSCI storing unit 522, may be the parsed result value of a pertinent step, and at the same time, may be an input value for determining the syntax of the following bitstream.
  • the SYN parser 540 performs entropy decoding for a header of the syntax parsed conventional bitstream 105 and video data, and stores data encoded in a predetermined size (i.e., 1 pixel unit, 4x4 unit, 8x8 unit, etc.) in the data storing unit 524 to be used by the functional units of the decoding processing unit 550.
  • the SYN parser 540 may further store data to be used in the decoding step such as DC/ AC out of syntax in the data storing unit 524.
  • the data storing unit 524 may be a buffer memory and a dedicated buffer space may be predetermined per each functional unit.
  • Each dedicated buffer space may be set to have inclusion relationship per a hierarchy.
  • the activated functional unit may immediately start processing and if the processed result data is used as input data of another functional unit, may write the corresponding result data in the data storing unit 524.
  • parser 540 may be realized as a software program (including the combination of program codes).
  • the SYN parser 540 can include all functional units for syntax parsing regardless of the applied standard, functional units requested for a technology development process can be newly added, a previous functional unit can be amended and an unnecessary functional unit can be deleted. It is also evident that each functional unit included in the SYN parser 540 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
  • the NALP FU 610 is a functional unit parsing the network abstraction layer of MPEG-4 AVC
  • the SYNP FU 620 is a functional unit parsing the syntax of the bitstream.
  • the SYNP FU 620 can be included in the VLD FU 640.
  • the CTX FU 630 is a functional unit determining the VLC table of MPEG-4 AVC, and the VLD FU 640 is a functional unit performing an entropy decoding.
  • the decoding processing unit 550 processes the encoded data stored in the data storing unit 524 in a predetermined processing unit and outputs into video data in a predetermined size.
  • the processing unit of the encoded data can be predetermined to be applied differently for each functional unit or be generalized to be identical.
  • Functional units may be included in the decoding processing unit 550 to perform the above-described funtions according to each standard.
  • Each functional unit can be realized by an independent processing block (e.g. software program, the combination of command codes, function, etc.) or the decoding processing 550 may be realized as one combined processing block.
  • the decoding processing unit 550 perform an approptiate processing by a connection contol of the decoding control unit 530 even though it is realized as one combined processing block.
  • the decoding processing unit 550 inlcudes a deblocking functional unit (DF FU) 710, a VOP reconstructor functional unit (VR FU) 715, a frame field reordering functional unit (FFR FU) 720, an intra prediction and picture reconstruction functional unit (IPR FU) 730, an inverse transform functional unit (IT FU) 735, an inverse quantization functional unit 745, an inverse AC prediction functional unit (IAP FU) 755, an inverse scan functional unit (IS FU) 760 and a DC reconstruction (DCR FU) 765.
  • DF FU deblocking functional unit
  • VR FU VOP reconstructor functional unit
  • FFR FU frame field reordering functional unit
  • IPR FU intra prediction and picture reconstruction functional unit
  • IPR FU intra prediction and picture reconstruction functional unit
  • IAP FU inverse transform functional unit
  • IS FU inverse scan functional unit
  • DCR FU DC reconstruction
  • a IT 4 x 4 FU 740, an IQ 4 x 4 FU 750 and DCR 4 x 4 FU 770 process the block having 4 x 4 size. This is because there is a case that MPEG-4 AVC processes the block of 4 x 4 size, while MPEG- 1/2/4 processes the block of 8 x 8 size in transform, quantization.
  • each functional unit included in the decoding processing unit 550 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
  • the 730 is a functional unit performing the intra prediction of MPEG-4 AVC and storing the reconstructed pixel value.
  • the intra prediction of MPEG-4 AVC can be performed by the SPR FU.
  • the IT FU 735 is a functional unit performing the inverse transform of DC values and AC values
  • the IQ FU 745 is a functional unit performing the inverse quantization of AC vlaues.
  • Element information (for example, CSCI) which is the result value from the syntax parsing by using the second decoder description (that is, CSCIT 440, DHT 445, SET 450, S-RT 460, DVT 470) at the SYN parser 540 is stored in the CSCI storing unit 522.
  • the element information is stored with corresponding to CSCIT 440.
  • the CSCI storing unit 522 may be a buffer memory.
  • the element information stored in the CSCI storing unit 522 may be used as input data for performing the process of the SET 450 by the SYN parser 540 or as a control variable determining a connection index which is the following process by the S-RT 460
  • the element information stored in the CSCI storing unit 522 may be used when each functional unit, which the decoding control unit 530 activated in the hierarchical structure unit, performs mapping the input CSCI designated in the FU-CSCIT 430 with the element information stored in the CSCI storing unit 522 by referring the F-RT 420.
  • the SYN parser 540 can also store the element information in the data storing unit 524.
  • the decoding control unit 530 controls the activation of the SYN parser 540 and/or each functional unit included in the decoding processing unit 550 in order to decode the bitstream ecoded by various standards. In other words, the decoding control unit 530 controls each functional unit included in the decoding processing unit 550 to be activated per the hierarchical structure unit by referring to the F-RT 420. This is because input data for the functional unit in the lower layer can be result data processed by the functional unit of the upper layer.
  • the decoding control unit 530 uses FL 410, F-RT 420, FU-CSCIT 430, CSCIT
  • the encoded data can be converted to video data by systematical operation of 2 or more of functional units and the result can be output as illustrated in FIG. 7.
  • the order of operations by the functional units to convert into video data may be different according to each encoding standard and this is apparent to those skilled in the art.
  • the decoding hieracrchy table (DHT) 445 is a table describing information for codec hierarchical structure and lower layers per each hierarchy as shown in FIG. 16 and Table 1.
  • the DHT 445 may include an index catagory which is a layer number, a name catagory which is a name of each layer, a children hierarchy category which is a lower layer of a corresponding layer, etc.
  • a number of layers or a number of children hierarchies may be different according to codec. For example, when there are further VOP-3, MB-3, etc., it is apparent that layer number be correspondingly added, as illustrated in FIG 16.
  • a main function of the DHT 445 allows various implementations including sequential/parallel, single/multiple threads, sw/hw hybrid decoding of a decoding solution to compose using decoding descritptions by introducing the hierarchical structure to a given codec.
  • the hierarchical structure described with the DHT 445 in Table 1 is commonly used in the syntax parsing and decoding process. It is also apparent that another hierarchical structure can exist to be independently applied in the syntax parsing or in the decoding process.
  • the FU list(FL) 410 as shown in Table 2, is a table describing information for a list of each functional unit in the decoding processing unit 550, volume of input/output data, etc.
  • the FL 410 may further include a name of a dedicated buffer region where input data is written (or recording address of a pertinent data or address of buffer memory where a pertinent data is written) and a name of a dedicated buffer region where output data is to be written by a pertinent functional unit (or recording address of a pertinent data or address of buffer memory where a pertinent data is written).
  • Each functional unit can read input data and write processed output data by using the FL 410.
  • Input data and output data of the SYN parser 540, which generates element information, is not written in the FL 410. This is because the SYN parser 540 writes element information generated and stored in a determined position by using the SET 450.
  • the FL 410 may include only information for the functional units which perform the processing corresponding to that standard.
  • a pertinent video data is encoded by using a plurality of standards (e.g., when encoding standard is applied with a plurality of frame units)
  • information of the functional units according to a plurality of strandards is required to decode the corresponding encoded video data.
  • the FL 410 should include information of functional units according to a plurality of standards required for decoding the encoded video data from all functional units according to the corresponding plurality of standards.
  • the FL 410 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • FU - Rule Table (F-RT) 420 provides connection information of functional units to be used for decoding inputted conventional bitstream 105.
  • F-RT 420 as shown Table 3 below, is composed that an upper layer calls a lower layer by using the hierarchical structure specified in the DHT 445.
  • a FHO layer will be activated very first and since a FHl layer uses result data of FUl as input data, it will be then activated. Or after the FHl layer and the FHO layer can be activated at the same time, processing operaton can be reserved till the result data of FUl is stored in the data storing unit 524.
  • Each layer is generated as an object with guaranteed independence based on instance/object concept during the calling.
  • a pluraliry of FHl is generated such as FH 1 [0] , FH 1 [ 1 ] , FH 1 [2] , ... , FH 1 [n] and this structure may be applied to another layer(e.g., FHO, FH2, FH3, etc.).
  • a dedicated buffer space per each layer can be assigned.
  • CSCI or data for the processing by functional units in a particular hierarchical structure or a pertinent hierarchical structure is stored in each dedicated buffer space.
  • the F-RT 420 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the FU-CSCIT 430 includes index number which is 1:1 mapping to FU ID of the FL 410, CSCI information, and CSCI table element of the CSCIT 440 for mapping.
  • An arrangement order of the functional units of the FL 410 is mapped with that of the index number of the FU-CSCIT 430.
  • FU-A which is the first functional unit of Table 2 is mapped with index no. 1 which is the first index of the FU-CSCIT 430.
  • the FU-CSCIT 430 further includes information referring to how many interface sets are per index number. It means that a number of interface sets is a number of mappings.
  • D0092 of the FL 410 is assigned to have 1 interface set by the FU-CSCIT 430 and thus uses only CH2.C6 and CH2.C1 as element information.
  • D0098 of the FL 410 has 2 interface sets and thus uses CH3.C1 and CH3.C6 as element information in one case and CH4.C2 and CH4.C5 in the other case.
  • Each functional unit performs a predetermined processing by reading element information from the CSCI storing unit 522 or the data storing unit 524 and stores the generated output data in the data stoing unit 524.
  • the reason to assign a number of interface sets per each index number in the FU-CSCIT 430 is that a functional unit can perform a different processing operation according to a different data flow.
  • FU-A is a function which can be used in both MPEG-2 and MPEG-4
  • element information for processing encoded data by the MPEG-2 standard can be different from element information for processing encoded data by the MPEG-4 standard. Therefore, 2 or more of interface sets are required in order to classify element information requsted for encoded data processing according to each standard.
  • the CSCIT 440 describes details of the element information (e.g., CSCI) as the result information that the SYN parser 540 processes by using the SET 450, S-RT 460, etc.
  • the CSCIT 522 has all meaningful data (i.e., element information) that is processed from the conventional bitstream 105, stored in the CSCI storing unit 522 or the data storing unit 524, and used by the decoding processing unit 550.
  • the CSCIT 440 includes decoding hierarchy of each element information, an index as an identifier which is the identity number of the pertinent element information, a name of the pertinent element information, a type for designating the data structural characteristic of the pertinent element information (e.g., whether the pertinent element information is an integer type or an array type, etc.).
  • the CSCI information composed of layers may be used by a type of several arrays, if necessary, during the decoding.
  • the CSCIT 440 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the CSCIT 440, the DHT 445, the SET 450, the S-RT 460, and the DVT 470 which are used when the SYN parser 540 extracts and generates element information from the conventional bitstream 105 and stores the result in the CSCIT storing unit 522, will be described.
  • the CSCIT 440 and the DHT 445 have been explained above and their details will be thus omitted. 2
  • more of functional units as shown in Table 6 operate systematically each other to generate element information and store the result in the storing unit 520.
  • a type of element information can be different according to each encoding standard and it is apparent to those skilled in the art.
  • the SET 450 is a table that consists of information related to the syntax of the inputted conventional bitstream as shown in Table 6.
  • the SET 450 includes index of each syntax, element name, input data, and process by SET-PROC.
  • the index is an identifier S identifying each syntax used for the S-RT 460.
  • the element name can be named according to the meaning or function of the syntax.
  • the input data refers to nominal bit length of data inputted at a time in the conventional bitstream.
  • the SET-process describes which processing operation is undergone after receiving each bitstream syntax to generate the element information as the output data.
  • Output data is element information (that is, CSCI information (C), e.g., CH0.C1, etc.), which is provided by the S-RT 460 and stored in the CSCI storing unit 522 or the data storing unit 524.
  • C CSCI information
  • the S-RT 460 refers to layers and connection information between each syntax in the conventional bitstream 105 as shown in Table 7. In other words, the S-RT 460 has information indicating for an upper layer to call syntax of a lower layer and to move to next syntax.
  • the SYN parser 540 uses the R-ST 460 to read the conventional bitstream or to define the sequence of storing and/or updating the element information in the CSCI storing unit 522. As illustrated in FIG. 17, the SYN parser 540 is composed of several threads and performs syntax parsing per layer by referring to the S-RT 460 since an upper thread calls a lower thread.
  • the S-RT 460 includes decoding hierarchy of each syntax, index R, syntax #ID, input data (CSCI), and branch information.
  • the index R identifies each connection information(rule). Since the index S of syntax designates syntax that a particular connection index will process in each layer, the SYN parser 540 performs a designated process of the pertinent syntax by suing the
  • the input data refers to a list of element information to be used for condition determination for controlling the connection of the pertinent connection index.
  • the process result by the SET 450 is stored in the name of input data corresponding to syntax ID as described earlier.
  • the branch information refers to condition determining algorithm determining which connection index will be processed in next turn.
  • the branch information can directly determine the sequence and contents of data to be read. If the number of branch is l(e.g., in case that syntax #ID is Sl), no input data is provided.
  • the S-RT 460 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the DVT 470 is a table describing Huffman table information used by each encoder/decoder as shown in Table 8. Entropy coding is performed during each encoding in MPEG- 1/2/4/ A VC. At this time, the Huffman coding method is mainly used and the used information is the Huffman table. There should be provided Huffman table information to be used in a pertinent decoder during each decoding process to implement a unified codec. Therefore, decoder descriptions of the present invention include Huffman table information corresponding to each syntax during the syntax parsing. If Huffman table information corresponding to each standard is pre-stored in the table storing unit 330, the DVT transmission may be omitted or only codec number 1020 and profile and level number 1030 can be included as illustrated in FIG. 10.
  • the DVT 470 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the DVT 470 can be the following textual description.
  • DVT ⁇ ((0,1), (1,001), (2,010), (3,011), (4,0001), (5,000001), (6,000010), (7,000011), (8,000000001), (9,NULL)) ((0,0011), (1,00101), (2,00100), (3,1001), (4,00011),(5,0111), (6,000010), (7,1011), (8,00010), (9,000011), (10,0101), (11,1010), (12,0100), (13,1000), (14,0110), (15,11), (16,000000), (17,000001), (18,NULL)) ((0,011), (1,11), (2,10), (3,010), (4,001), (5,0001), (6,00001), (7,000001), (8,0000001), (9,00000001), (10,000000001), (11,0000000001), (12,00000000001), (13,NULL)) ((0,11), (1,10), (2,01), (3,001), (4,0001), (5,00001), (6,000001), (6,000001), (7,0000001),
  • the DVT 470 can be the following binary description. 000000111111111111111111111101111100001100011001000110100001 1011001000001001100000010011000001000110000011010010000000010000011111 0010000110010100101001010010000100100100101000110010001110011000001000 1001011001010001000110000011001000101001001010001000100001001000001000 1100001011001100000000011000000100000111110001101100010110001010000110 1000011001001000001001010000100110000001001110001010000000000101001 000000000000100 1000110010010000010010100001001100000010...
  • the storage space for each table can be reduced with binary description, the processing efficiency is improved, and the transmission time of the extended bitstream 305 including the decoder description is further reduced.
  • the decoding control unit 530 calls functional units of the highest layer assigned by the F-RT 420 in the table storing unit 330.
  • the called functional units stands by till the SYN parser 540 stores the CSCI information and/or data requested for the processing in the storing unit 520.
  • the SYN parser 540 reads syntax corresponding to the highest layer from rules of th S-RT 460, recognizes VS start code by the SET 450, and stores output value (that is, element information, CO) in the name of input data (CSCI) provided in the S-RT 460 in the CSCI storing unit 522 by reading a bit set as input value in the SET 450 (that is, 32 bits determined as input value at the SET 450) corresponding to the conventional bitstream 105 and performing the SET-process. What is element information stored in the CSCI storing unit 522 or in which layer will it be used, etc. is described in the CSCIT 440.
  • the VLD function e.g., index S74 of the SET 450
  • each activated functional unit in the decoding processing unit 550 verifies if all requested element information and/or data is stored to perform a predetermined process.
  • a pertinent functional unit can verify if all is stored by referring to the FU-CSCIT 430. Further, it can recognize what the corresponding element information is by mapping with the CSCIT 440.
  • the functional unit that stores the requested element information and/or data, performs a predetermined process and stores the processed result data in the data storing unit 524.
  • FIG. 22 illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • the syntax parsing by the SYN parser 540 and the data decoding by the decoding processing unit 550 can be independently performed by using the decoder description information.
  • the corresponding functional unit can perform a predetermined process.
  • each functional unit in the decoding processing unit 550 performing the decoding processing may perform independent function if result data of a different functional unit is not used as input data.
  • the decoder 300 of the present invention is not limited to that the decoding processing unit 550 can perform the operation after the syntax parsing is completed, but allows that the SYN parsing 540 and the decoding processing unit 550 can perform independently. It further allows that each functional unit in the decoding processing unit 550 can independently operate.
  • Information that is, table
  • Information can be composed for the syntax parsing of standards such as MPEG-2/MPEG- 4/MPEG-4 AVC, etc.
  • Commands used for composing each table can be READ, SEEK, FLUSH, IF, WHILE, UNTIL, DO-WHILE, DO-UNTIL, BREAK, SET, STOP, PUSH, etc. It is not necessary that all commands should be used in each table. It is apparent that certain commands per each table can be selected and used. Each command is described briefly.
  • the READ can be used for reading a certain bit in the bitstream.
  • the READ can be described as "READ bits B>CSCI;", in which "bits” is a number of bits to read, "B” is byte-alignment flag, ">CSCI” is CSCI index to store. "B” and “>CSCI” are optional and if ">CSCI” is not designated, it is set to store only in a variable IBS.
  • the SEEK is an instruction to read a certain bit in the bitstream but not to move file point.
  • the file point is a standard position during the operation such as reading a certain bit.
  • Parameters of the SEEK instruction can be the same as the READ.
  • the FLUSH can be used for moving a file point as much as a certain bit in the bitstream and parameters thereof can be similar to the READ.
  • the IF can be used in a form of "IF (condition) ⁇ ⁇ ⁇ ELSE ⁇ ⁇ ⁇ " and is a command to provide branch according to a given condition.
  • the UNTIL can be used in a form of "UNTIL (condition) ⁇ ⁇ ⁇ " and to repeatedly perform assigned blocks till a given condition is true.
  • the DO-WHILE can be used in a form of "DO ⁇ ⁇ ⁇ WHILE (condition)" and to perform a block prior to condition determination by modifying the WHILE.
  • the DO-UNTIL is used in a form of "DO ⁇ - ⁇ UNTIL (condition)" and to perform a block prior to condition determination by modifying the UNTIL.
  • all equations of the SET-PROC can be described within the parenthesis, operators, such as four arithmetical operations, assignment, comparison, addition/subtraction (++/--), bitwise operation, OR/ AND operation, determining the use of CSCI, etc., can be used.
  • the BREAK can be used to secede from the closest loop structure.
  • the SET can be used to set a flag determining the use of the designated CSCI and the CSCI to designate the flag is arranged and can be sorted with a comma (e.g., SET CO, C2;).
  • a comma e.g., SET CO, C2;
  • the STOP can be used to stop the syntax element processing which is currently in process and to move next.
  • the PUSH can be used to add data at the last region where data is written in an array CSCI and added value is arranged and sorted by comma(e.g., PUSH C8 8, 16, 32;).
  • the GO can be used to go a designated position.
  • GO SR# it is an instruction to go SR#
  • GO RT is an instruction to return to the called position.
  • the HEX can be used to represent that a value after the HEX command is hexadecimal digits.
  • the RLD is an interface for a RLD function which is supported in MPEG-4, and can be used in a form of "RLD index, layer, run, islastrun, t#;".
  • index, layer, run and islastrun can be CSCI storing RLD return values or variables and
  • t# represents Huffman table ID used in the RLD.
  • the VLD2 is a VLD function for MPEG-2 and can be used in a form of "VLD2 [t#] in > vl, v2, v3;”.
  • t# represents Huffman table ID used in the VLD, in represents an inputted index value
  • vl ⁇ v3 represent output values.
  • VLD4 is a VLD function for MPEG-4 and can be used in a form of "VLD4 [t#] > CSCI;".
  • t# represents Huffman table ID used in the VLD
  • >CSCI represents a CSCI index to be stored. If ">CSCI” is not designated as option, it is stored only in a variable IBS.
  • FIG. 8 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a first embodiment of the present invention
  • FIG. 9 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a second embodiment of the present invention
  • FIG. 10 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a third embodiment of the present invention
  • FIG. 11 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fourth embodiment of the present invention.
  • the extended bitstream 305 is the decoder description and may include SI 810 (that is, 00) which has no table information, codec number 820, and profile and level number 830.
  • the table information is pre-stored in the table storing unit 330 and the table information is not transmitted. Even though a pertinent conventional bitstream 105 sends basic information for which codec and profile and level are to be used, the decoding unit 340 can decode by using the designated tables.
  • the SET 450, the CSCIT 440, the FL 410, the FU-CSCIT 430, the DVT 470, etc. can be described per the applied standard (that is, codec), the F-RT 420, S-RT 460, etc. can be described per profile of each applied standard (see Table 10 and Table 11). Table 10. Table classification per codec
  • the extended bitstream 305 is the decoder description and may include the aforementioned table information and codec number corresponding to a part of the table information, hi this case, the SI 810 is set to be 10 in FIG. 10.
  • a configuration identifier 1010 can be included at the end of the table identifier 910 in order to determine which type the corresponding table information is composed of.
  • the extended bitstream 305 is the decoder description for the table information and updating information.
  • the decoder description for the table information can be one of the decoder descriptions explained by referring to FIG. 8 to FIG. 10 and the SI 810 is set to be a pertinent value.
  • the updating information may include a revision start code (RS code) 1120 and revision 1130.
  • the revision 1130 can be contents to insert, delete, or update rules of a particular table. A form thereof may be 'insert index into table-name defined;', 'delete index from table-name;', or 'update index in table-name(...);', etc.
  • each element must be systematically controlled such that a bitstream can be decoded with a decoding method corresponding to a pertinent encoding method by parsing the bitstream compressed by various encoding methods.
  • the extended bitstream 305 is composed of the decoder description region and the conventional bitstream 105. It is apparent to those skilled in the art that the conventional bitstream 105 is composed of encoded video data(or/and encoded audio data).
  • the decoder description region may be formed in a different structure according to codec characteristics to be applied for the decoding of the conventional bitstream 105.
  • a first decoder description structure may be applied when one codec standardized before is used.
  • a fourth decoder description structure may be applied.
  • the first decoder description structure is illustrated in FIG. 12.
  • the decoder description region may be composed of codec type 1150, codec number 1152, and profile and lever number 1154.
  • information for the codec to be applied is only described in the decoder description region. It is apprant that a size of each field may be balanced according to a size of information to be described even though each field is illustrated as 8 bits in FIG. 12.
  • the contents 1163 may be omitted or included according to the table type 1162.
  • the table type value is 0, it may be recognized that a conventional table (that is, a table recognized by codec type 1150, codec number 1152, profile and level number 1154 and tabe identifier 1160) is to be applied without any changing.
  • the contents 1163 maybe omitted.
  • the table type value is 1, it may be recognized that a part of a conventional table (that is, a table recognized by codec type 1150, codec number 1152, profile and level number 1154 and tabe identifier 1160) is to be changed and applied.
  • the changed content e.e., update command
  • the changed content including a command such as update, insert, and/or delete, etc. maybe information to revise table contents of the index correspond to the pertinent table.
  • the table type value is 2
  • a conventional table that is, a table recognized by the codec type 1150, the codec number 1152, the profile and leverl number 1154, and the tabe identifier 1160
  • the changed content e.g., content to newly define the pertinent table such as new command, etc.
  • the content field 1163 may be described in the content field 1163.
  • the third decoder description structure is illustrated in FIG. 14.
  • the decoder description region may be composed of a codec type 1150 and a table description 1156.
  • information about codec to be applied and content to be changed among the 7 tables may be described in the decoder description region.
  • the table description is independently provided to each table. That is, there can be 7 table descriptions in the decoder description region.
  • Each table description 1156 may include a table start code 1158, a table identifier 1160, a table type 1162, a content 1163, and a table end code 1164.
  • a size of each field may be balanced, if necessary.
  • the table type value is 0, it may be recognized that a conventional table (that is, a table recognized by the codec number 1152, the profile and level number 1154 and the tabe identifier 1160) is to be applied without any changing.
  • the codec number(codec_num) 1152 and the profile and level number(profile_layer_num) 1154 corresponding to a table to be applied are described in the content field 1163.
  • the table type 1162 value is 1, it may be recognized that a part of a conventional table (that is, a table recognized by the codec number 1152, the profile and level number 1154 and the tabe identifier 1160) is to be changed and applied.
  • codec number(codec_num) 1152 and the profile and level number(profile_layer_num) 1154 corresponding to a table to be applied are described in the content field 1163 and the changed contents (e.g., update command, etc) is described in the changed content field .
  • the table type 1162 value is 2
  • a conventional table that is, a table recognized by the tabe identifier 1160
  • the changed content e.g., content to newly define the pertinent table such as new command, etc.
  • codec information e.g., the codec number 1152, the profile and level number 1154.
  • new table information is defined, so that codec information is not needed.
  • the fourth decoder description structure is illustrated in FIG. 15.
  • the decoder description region may be composed of a codec type 1150 and a table description 1156.
  • the table description is independently provided to each table.
  • Each table description 1156 may include a table start code 1158, a table identifier 1160, a table type 1162, a content 1163, and a table end code 1164.
  • a size of each field may be balanced, if necessary.
  • the table type 1162 is a predetermined value (e.g., 2)
  • information(e.g., content to newly define a pertinent table such as new command) to describe a new table corresponding to the table indetifier 1160 is described in the content field 1163.
  • the codec type is 3, it is recognized that the decoding is performed by using new tables, the table bype 1162 is designated with 1 or the table type 1162 can be omitted.
  • the codec type is a 8 bit code which can be information to identify the codec type.
  • the codec number is a 8 bit code which can be information the codec code used.
  • the profile and lever number is also a 8 bit code which can be information to indicate the profile and level number for the codec.
  • the profile and level number may correspond to each MPEG standard.
  • bit is a random value of 3 to 34 bits representing a number of bits requested and B is one bit character sequence representing byte alignment.
  • ">" is one bit character sequence for printing output of the left side and VLD2(for MPEG-2) and VLD4(for MPEG-4) are functions for the entropy coding.
  • FIG. 23 is a block diagram illustrating an encoder in accordance with an embodiment of the present invention.
  • An encoder 2300 according to the present invention further includes a extended bitstream generating and outputting unit 2310 compared to the conventional encoder 200 as described in FIG. 2.
  • the extended bitstream generating and outputting unit 2310 generates decoder descriptions by using a control information list and reconfigurable connection for the conventional bitstream generation process generated by previous processings, input data for pertinent functional units, syntax information, and syntax connection information, etc.
  • a extended bitstream 305 is generated by using the generated decoder descriptions and the conventional bitstream 105 and transmitted to the decoder 300. Since the method of generating decoder description is easily understood to those skilled in the art, detailed explanation thereof is omitted.
  • the encoder 2300 has a tool-box including 2 or more of functional units and one or more of bitstreams are generated according to one or more of encoding standards by sequential combinations or systemical combinations of these functional units.
  • the variable length encoding unit 230 merely refers to an element (e.g. encoding unit) finally performing an encoding to generate the conventional bitstream 105 in the encoder 2300, but the present invention is not limited to the variable length encoding unit 230. Also this does not restrict the scope of claims of the present invention.
  • FIG. 23 assumes the case that the extended bitstream 305 generated by using the decoder description information and the conventional bitstream 105 is provided to the decoder.
  • the decoder description information can be provided to the decoder 300 by an additional data format or a bitstream format.
  • the extended bitstream generating and outputting unit 2310 is not provided at the end of the variable length encoding unit 235 and the extended bitstream generating and outputting unit 2310 is independently provided from the conventional encoding unit 200 to provide independently-generated information to the decoder 300.
  • the unified codec device and method in accordance with the present invention is mainly described based on the decoder. Considering that the relationship between the decoder and encoder is well-known to those skilled in the art and the encoder can easily be structured with the description related to the decoder only, it is evident that the present invention is not limited to the decoder.
  • the unified codec device and method of the present invention makes it easy to analyze a syntax element in a standard (or codec) or between different standards or to control the connection of pertinent functional units. In other words, in the present invention, there is no problem when changing the sequence of syntax elements in the bitstream generated according to a particular standard, inserting new elements and deleting a previous syntax element.
  • the decoder is not able to properly decode a corresponding bitstream in the manipulation of the syntax element. For example, if a structure of ABC bitstream information is changed to a structure of ACB, the decoder may not recognize the structure of ACB and thus impossible to perform a proper decoding. Similarly, for a structure of ABFC by adding F or another structure of AC by deleting B, the decoder may not recognize the structure and thus impossible to perform the proper decoding.
  • the first plurality of frames of encoded video data included in a extended bitstream is encoded by MPEG-2
  • the following plurality of frames is encoded by MPEG-4
  • the last plurality of frames is encoded by MPEG-I .
  • table information included in the decoder description to decode the encoded video data is described such way that each frame with a different encoding method allows functional units corresponding to each standard included in the tool-box 510 to be systemically combined and performed.
  • the present invention allows decoding a bitstream that is encoded by various types (syntax and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC) by using the same information recognizing method.
  • the present invention allows generating a extended bitstream including decoder descriptions for encoding a bitstream that can generate a extended bitstream including decoder description to decode bitstreams encoded by various types (syntax and semantics) in accordance with each standard by using the same information recognizing method.
  • the present invention allows suggesting scheduling management of each codec and systematic processing structure (i.e., parallel combination structure, sequential combination structure, independent processing structure, individual processing structure, etc.) of each functional unit by using the decoder description.
  • the present invention allows parsing a bitstream compressed by various encoding methods by using the same information analyzing method and controlling systematically each functional unit for decoding by using the parsed data. Further, the present invention allows universally applying a syntax analysis method to decode various types of bit streams. Further, the present invention allows applying a new set of commands to parse various types of bitstreams by a common syntax analysis method.
  • the present invention allows decoding easily bitstreams when a syntax element is changed, inserted, or deleted. Further, the present allows sharing elements used for the bitstream decoding of the element information (i.e. a result from syntax parsing) of analyzed syntax.
  • the present invention can be applied when video and still image codecs processing by a block unit besides MPEG- 1 , MPEG-2, MPEG-4 MPEG-4 AVC are unified.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Bitstream encoding/decoding method and device is provided. The decoding device calls a parsing functional unit and one or more of decoding functional units belonging to the highest layer by using 2 or more of table information generated corresponding to description information. The called parsing functional unit performs syntax parsing and the decoding functional units perform processing when CSCI information for performing a predetermined process and data for decoding are stored. The decoding furntional units of a lower layer are called according to the CSCI information and data and video data corresponding to the bitstream is outputted by performing the process of the decoding functional units. Therefore, it allows scheduling management of each codec using the decoder description and systematic processing of each functional unit.

Description

[DESCRIPTION]
[Invention Title] Device and method for encoding/decoding bitstream
[Technical Field]
The present invention relates to a unified codec and more particularly, to a mehtod and a device for encoding/decoding bitstream.
[Background]
Typically, video data is converted into bitstream data by an encoder. At this time, the bitstream is stored depending on an encoding type that satisfies the constraint condition of the encoder. MPEG, which is the constraint condition of the bitstream, requests syntax and semantics.
The syntax, which refers to the structure, format, or length of data, shows the sequence of expressing the data. In other words, the syntax is to meet a rule for encoding/decoding and defines the sequence, length, format, and the like of each element in the bitstream. The semantics refers to the meaning of each bit forming data. In other words, the semantics shows the meaning of each element in the bitstream.
Accordingly, various types of bitstreams can be generated depending on the encoding condition or the applied standard (or codec) of the encoder. Typically, each standard (e.g. MPEG- 1 , MPEG-2, MPEG-4, and MPEG-4 AVC, etc.) has different bitstream syntax.
Therefore, it can be said that the bitstream encoded according to each standard or encoding condition has different types (i.e. syntax and semantics). A decoder corresponding to a pertinent encoder may be used for the deciding of the bitstream. As described above, the conventional bitstream decoder has a restriction that must satisfy the constraint condition of the encoder. This restriction makes it difficult to implement a united decoder corresponding to a plurality of standards.
[Disclosure] [Technical Problem]
Accordingly, the present invention, which is designed to solve the aforementioned problems, provides a method and device for decoding a bitstream that is encoded by various types (syntax and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC) by using the same information recognizing method. Further, the present invention provides a method and device for encoding a bitstream that can generate a extended bitstream including decoder descriptions to decode bitstreams encoded by various types (syntax and semantics) in accordance with each standard by using the same information recognizing method. Further, the present invention provides a method and device for decoding a bitstream that can parse a bitstream compressed by various encoding methods by using the same information analyzing method and systematically control each functional unit for decoding by using the parsed data.
Further, the present invention provides a method and device for encoding a bitstream that can describe decoder descriptions more efficiently by employing hierarchical structure of codec to the syntax parsing and the decoding process.
Further, the present invention provides a method and device for decoding a bitstream that can suggest scheduling management of each codec and systematic processing structure (i.e., parallel combination structure, sequential combination structure, independent processing structure, individual processing structure, etc.) of each functional unit by using the decoder description.
Further, the present invention provides a method and device for encoding a bitstream that can design and build various systems only with the above described decoder descriptions. Further, the present invention provides a method and device for encoding/decoding a bitstream that can universially apply a syntax analysis method to decode various types of bitstreams.
Further, the present invention provides a method and device for encoding/decoding a bitstream that can apply a new set of commands to parse various types of bitstreams by a common syntax analysis method.
Further, the present invention provides a method and device for decoding a bitstream that can decode bitstreams even when a syntax element is changed, added, or deleted. Further, the present invention provides a method and device for decoding a bitstream that can share elements used for the bitstream decoding of the element information (i.e. a result from syntax parsing) of analyzed syntax.
Further, the present invention provides a method and device for decoding a bitstream that can use the element information of analyzed syntax for analyzing the syntax element of a following bitstream.
Further, the present invention provides a method and device for decoding a bitstream that can separate functions, which are included during various decoding processes suggested by several standards (codec), corresponding to each functional unit and provide the result into a tool-box Further, the present invention provides a method and device for decoding a bitstream that can selectively use only necessary functional units from the tool box to decode a bitstream encoded by various types.
Further, the present invention provides a method and device for decoding a bitstream that can allow easy changing, inserting, or deleting functional units stored in the tool box.
Further, the present invention is to aim at international standardization of codec unification for the bitstream decoding, generation of decoder descriptions to be processed by the same information analyzing method and establishment of extended bitstream.
Other problems that the present invention solves will become more apparent through the following description.
[Technical solution] To solve the above problems, an aspect of the present invention features an encoder/a decoder and/or a unified codec device that can be universally used for various standards.
According to an embodiment of the present invention, there is providing a decoding device that includes a table information storing unit; a decoder description decoder generating n numbers of table information corresponding to the decoding decription received from an encoder and storing them into the table information storing unit; and a decoding unit decoding encoded video data included in the bitstream received from the encoder by using the table information stored in the table information storing unit and outputting the corresponding result data. The decoding unit may include a tool box containing 2 or more of functional units each implemented for processing a predetermined process; and a storing unit storing at least one of control signal/context information(CSCI) which is generated performing a process by at least one functional unit and data for decoding process. Here, the 2 or more of functional units may determine either activation or call corresponding to hierarchical structure of the encoded video data.
The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer and a lower layer may be called by an upper layer.
The 2 or more of functional units each may be built to independently perform the corresponding function suggested by each decoding standard for the bitstream decoding.
The decoding functional units each may start operation by storing the CSCI information required to perform a predetermined process and data for decoding processing into the storing unit. A dedicated storage space may be assigned for each of the decoding functional units.
The storing unit may include a storing control signal and context information(CSCI) storing unit, storing control signal and context information(CSCI) generated by the parsing functional unit; and a data storing unit, storing at least one of data for decoding processing of data corresponding to the encoded video data generated by the parsing functional unit and data processed by the decoding functional unit.
The table information to be stored in the table information storing unit may include a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierarchy, and CSCI information which includes result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units, and a FU-control signal and context information table(FU- CSCIT) representing CSCI information for performing a process by the decoding functional units.
The table information to be stored in the table information storing unit may further include a default value table representing a relationship between actual values and code values during the entropy coding.
The decoding unit may further include a decoding control unit controlling activation or call of at least one decoding functional units corresponding to the highest layer by using the F-RT.
The parsing functional unit may generate at least one of the data of the CSCI information and data to be decoded by using at least one of the SET, the S-RT, and the CSCIT
The decoding functional unit may perform a predetermined process by using at least one of the FL, the F-RT, the FU-CSCIT, and the CSCIT.
When a extended bitstream, which the decoder description and the bitstream are united, is received from the encoder, the decoding device may further include a dividing unit to divide the decoder description and the bitstream.
The decoder description may be composed of at least one table region and table information may be inserted to compose the table in each table region.
The table information may include specification information corresponding to codec number and profile and layer number for the bitstream decoding and the decoder description decoder may extract n number of tables corresponding to the specification information from the 2 or more of tables pre-stored in the table information storing unit.
Table information inserted into each of the n number of table regions may include binary code information to compose each table and the decoder description decoder may generate n number of tables by using the binary code information and store the result in the table information storing unit.
M number of table regions among the n number of table regions may include specification information corresponding to the codec number and the profile and layer number for a pertinent table, k(n-m) number of table regions may include binary code information to compose a pertinet table, and the decoder description decoder may extract the m number of tables corresponding to the specification information from the 2 or more of tables pre-stored in the table information storing unit and generate the k number of table by using the binary code information and then store the result in the table information storing unit. A decoding device according to another embodiment of the present invention may include: a table storing unit; a decoder description decoder generating n number of table information corresponding to the decoder description received from the encoder and storing the result data in the table storing unit; a decoding unit including 2 or more of functional units pre-assigned with each process to be performed for decoding video data corresponding to encoded video data which are contained in the bitstream received from the encoder and outputting the result; and a decoding control unit performing activation or call of the functional units belonging to the highest layer corresponding to the hierarchical structure of the encoded video data. Here, when the processing data is stored in the information storing unit to perform a first layer of the hierarchical structure, the fist layer may be called by a second layer which is an activated state. The decoding functional unit of the called layer may start processing, when the process data is stored in the information storing unit to perform the appropriate process.
The 2 or more of functional units may include at least one parsing functional units for syntax parsing of a bitstream and 2 or more of decoding functional units for decoding the encoded video data. Here, process data to be stored in the information storing unit may include at least one of control signal and contex information generated with the process by the at least one functional unit and data for decoding process.
The decoding functional units may determine either activation or call depending on the hierarchical structure of the encoded video data. The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a lower layer may be called by an upper layer.
The 2 or more of functional units each may perform independently the function suggested by each decoding standard for the bitstream decoding. The decoding functional units each may start operation by storing the CSCI information required to perform a predetermined process and data for decoding processing into the storing unit.
An appropriate storage space may be assigned for each of the decoding functional units.
The storing unit may include a control signal and context information(CSCI) storing unit, storing control signal and context information(CSCI) generated by the parsing functional unit and a data storing unit, storing at least one of the data for decoding processing of the data corresponding to the encoded video data generated by the parsing functional unit and the processe data processed by the decoding functional unit.
The table information stored in the table information storing unit may include a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S- RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierarchy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
The table information stored in the table information storing unit may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
When a extended bitstream united with the decoder description and the bitstream is received from the encoder, the decoding device may further include a dividing unit to divide the decoder description and the bitstream.
An encoding device according to another embodiment of the present invention may include: an encoding unit, generating bitstreams including the encoded video data corresponding to video data by using 2 or more of functional units which perform a function suggested by at least one encoding standard; a description encoder, generating decoder descriptions corresponding to n number of table information which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data. Here, both the bitstreams and the decoder descriptions may be provided to the decoder for the bitstream decoding. The encoding device may further include a extended bitstream generating and outputting unit generating a extended bitstream by using the bitstreams and the decoder descriptions.
The 2 or more of functional units included in the decoder may include at least one parsing functional units for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data. Further, the decoding functional units may determine either activation or call depending on the hierarchical structure of the encoded video data by table information included in the decoder descriptions. The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer. A first layer which is a deactivated state may be called by a second layer which is already activated according to appropriate table information included in the decoder description. The n number of table information generated by the description encoder may include at least one chosen from a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU- control signal and context information table(FU-CSCIT) representing CSCI information requested for performing a process by the decoding functional units. The table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
The decoder may control activation or call of one or more of decoding functional units corresponding to the highest layer by using the F-RT. The decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region.
The table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables. To solve the above problems, another aspect of the present invention features a decoding method/an encoding method that can be universally used for various standards and/or a recording medium recorded with a program for executing the method thereof. A decoding method according to an embodiment of the invention may include generating and storing 2 or more of table information corresponding to the description information when bitstreams and description information are input; calling a parsing functional unit and one or more of decoding functional units for the highest layer by using one or more of table information. Here, the parsing functional unit may perform syntax parsing of the bitstream and the decoding functional unit of the highest layer may perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit. When the control signal and context information (CSCI) for performing a first layer corresponding to the hierarchical structure and data for decoding are stored in the storing unit, the first layer may be called by a second layer which is in an activation state.
The decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data. Video data corresponding to the bitstream may be outputted by performing one or more times of the process of each decoding functional unit specified in the description information. The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer.
The parsing functional unit and the decoding functional unit each may perform independently the corresponding function suggested by each decoding standard for the bitstream decoding, respectively.
The storing unit may include a CSCI storing unit storing control signal and context information(CSCI) generated by the parsing functional unit; and a data storing unit storing at least one of the data for decoding processing of the data corresponding to the encoded video data generated by the parsing functional unit and the processe data processed by the decoding functional unit.
The decoding functional units each may start operation by storing the CSCI information required to perform a predetermined process and data for decoding processing into the storing unit. A dedicated storage space may be assigned for each of the decoding functional units.
The table information may include a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data included in the bitstream and information of the lower layer per each hierarchy, a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and control signal and context information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
The table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
Activation or call of one or more of decoding functional units corresponding to the highest layer may be controlled by using the F-RT.
At least one of the control signal and context information(CSCI) and data to be decoded may be generated by using at least one chosen from the SET, the S-RT, and the CSCIT.
When the decoder descriptions and the bitstreams are received in a united extended bitstream format, the method may further comprise dividing the decoder descriptions and the bitstreams in the step of generating and storing 2 or more of table information.
The decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region. According to another embodiment of the invention, the invention provides a recording medium recorded with a program for executing a decoding method, wherein the recording medium is implemented with a program of commands executable in the decoding device and is recorded with a program readable by the decoding device, the decoding method including: generating and storing 2 or more of table information corresponding to the description information when bitstreams and description information are inputted; calling a parsing functional unit and one or more of decoding functional units corresponding to the highest layer by using one or more of table information. Here, the parsing functional unit may perform syntax parsing of the bitstream and the decoding functional unit of the highest layer may perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit. When the control signal and context information (CSCI) for performing a first layer corresponding to the hierarchical structure and data for decoding are stored in the storing unit, the first layer may be called by a second layer which is in an activation state. The decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data. Video data corresponding to the bitstream may be outputted by performing one or more times of the process of each decoding functional unit specified in the description information. The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer.
The parsing functional unit and the decoding functional unit each may perform independently the function suggested by each decoding standard for the bitstream decoding, respectively. The decoding functional units each may start operation by storing the CSCI information required to perform the predetermined process and data for decoding processing into the storing unit.
The table information may include a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data included in the bitstream and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and control signal and context information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure, a FU list(FL) representing a list of the decoding functional units, and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
According to another embodiment of the invention, an encoding method may include generating a bitstream including encoded video data corresponding to video data by uring 2 or more of functional units to perform each function suggested by one or more of encoding standards; and generating decoder description corresponding to n(a natural number) number of table information which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data. Here, both the bitstreams and the decoder descriptions may be provided to the decoder for the bitstream decoding. The encoding method may further include generating a extended bitstream by using the bitstreams and the decoder descriptions.
The 2 or more of functional units included in the decoder may include at least one parsing functional unit for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data. Further the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data by table information included in the decoder descriptions.
The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a first layer which is a deactivated state may be called by a second layer which is already activated according to table information included in the decoder description.
The generated n number of table information may include at least one chosen from a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S- RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units.
The table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
The decoder may control activation or call of one or more of decoding functional units corresponding to the highest layer by using the F-RT.
The decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region. The table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables.
According to another embodiment of the invention, the invention provides a recording medium recorded with a program for executing a decoding method, wherein the recording medium is implemented with a program of commands executable in the decoding device and is recorded with a program readable by the decoding device, the decoding method including: generating a bitstream including encoded video data corresponding to video data by 2 or more of functional units to perform each function suggested by at least one encoding standard; and generating decoder descriptions corresponding to n number of table information which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data.
The program may further include generating a extended bitstream by using the bitstreams and the decoder descriptions.
The 2 or more of functional units included in the decoder may include at least one parsing functional unit for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data. Further the decoding functional units may determine activation or call depending on the hierarchical structure of the encoded video data by table information included in the decoder descriptions.
The hierarchical structure may be composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a first layer which is a deactivated state may be called by a second layer which is already activated according to table information included in the decoder description.
The generated n number of table information may include at least one chosen from a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S- RT) designating names of connection information between the bitstream syntax, information for the lower layer to call per each hierachy, and CSCI information which includes the result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information by the hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between 2 or more of decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; and a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units. The table information may further include a default value table(DVT) representing a relationship between actual values and code values during the entropy coding.
The decoder may control activation or call of one or more of decoding functional units corresponding to the highest layer by using the F-RT. The decoder description may be composed of one or more of table regions and table information may be inserted to compose the table in each table region.
The table information may include a codec number for the bitstream decoding and specification information corresponding to a profile and layer number and the decoder may extract and use n number of tables corresponding to the specification information from the pre-stored 2 or more of tables. [Brief Description of the Drawings]
FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder. FIG. 2 is a schematic block diagram illustrating the structure of a typical encoder.
FIG. 3 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention.
FIG. 4 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an embodiment of the present invention.
FIG. 5 is a schematic block diagram illustrating the structure of a decoding unit in accordance with an embodiment of the present invention.
FIG. 6 is a schematic block diagram illustrating the structure of a syntax parser in accordance with an embodiment of the present invention. FIG. 7 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with an embodiment of the present invention.
FIG. 8 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a first embodiment of the present invention.
FIG. 9 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a second embodiment of the present invention. FIG. 10 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a third embodiment of the present invention.
FIG. 11 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fourth embodiment of the present invention. FIG. 12 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fifth embodiment of the present invention.
FIG. 13 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a sixth embodiment of the present invention.
FIG. 14 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a seventh embodiment of the present invention.
FIG. 15 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an eigthth embodiment of the present invention.
FIG. 16 illustrates the hierarchical structure assigned by a decoding hierarchy table(DHT) in accordance with an embodiment of the present invention. FIG. 17 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention.
FIG. 18 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention. FIG. 19 illustrates the connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention.
FIG. 20 illustrates the inclusion relationship of a dedicated buffer space for storing control signal and context information (CSCI) data in accordance with an embodiment of the present invention.
FIG. 21 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention.
FIG. 22 schematically illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
FIG. 23 is a block diagram illustrating a encoder in accordance with an embodiment of the present invention.
[Mode for Invention]
The above objects, features and advantages will become more apparent through the below description with reference to the accompanying drawings.
Since there can be a variety of permutations and embodiments of the present invention, certain embodiments will be illustrated and described with reference to the accompanying drawings. This, however, is by no means to restrict the present invention to certain embodiments, and shall be construed as including all permutations, equivalents and substitutes covered by the spirit and scope of the present invention. Throughout the drawings, similar elements are given similar reference numerals. Throughout the description of the present invention, when describing a certain technology is determined to evade the point of the present invention, the pertinent detailed description will be omitted. Terms such as "first" and "second" can be used in describing various elements, but the above elements shall not be restricted to the above terms. The above terms are used only to distinguish one element from the other. For instance, the first element can be named the second element, and vice versa, without departing the scope of claims of the present invention. The term "and/or" shall include the combination of a plurality of listed items or any of the plurality of listed items.
When one element is described as being "connected" or "accessed" to another element, it shall be construed as being connected or accessed to the other element directly but also as possibly having another element in between. On the other hand, if one element is described as being "directly connected" or "directly accessed" to another element, it shall be construed that there is no other element in between.
The terms used in the description are intended to describe certain embodiments only, and shall by no means restrict the present invention. Unless clearly used otherwise, expressions in the singular number include a plural meaning. In the present description, an expression such as "comprising" or "consisting of is intended to designate a characteristic, a number, a step, an operation, an element, a part or combinations thereof, and shall not be construed to preclude any presence or possibility of one or more other characteristics, numbers, steps, operations, elements, parts or combinations thereof.
Unless otherwise defined, all terms, including technical terms and scientific terms, used herein have the same meaning as how they are generally understood by those of ordinary skill in the art to which the invention pertains. Any term that is defined in a general dictionary shall be construed to have the same meaning in the context of the relevant art, and, unless otherwise defined explicitly, shall not be interpreted to have an idealistic or excessively formalistic meaning.
Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings. Identical or corresponding elements will be given the same reference numerals, regardless of the figure number, and any redundant description of the identical or corresponding elements will not be repeated.
FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder, and FIG. 2 is a schematic block diagram illustrating the structure of the typical encoder.
As illustrated in FIG. 1, an MPEG-4 decoder 100 typically includes a variable length decoding unit 110, an inverse scanning unit 115, an inverse DC/ AC prediction unit 120, an inverse quantization unit 125, an inverse discrete cosine transform unit 130 and a VOP reconstruction unit 135. It shall be evident that the decoder 100 can have a structure changed depending on an applying standard and some elements can be replaced with other elements.
If a transferred bitstream 105 is syntax-parsed and corresponding header information and encoded video data are extracted, the variable length decoding unit 110 forms a quantized discrete cosine transform (DCT) coefficient by using a predetermined Huffman table, the inverse scanning unit 115 generates data having the same sequence as pertinent video data 140 by performing inverse scanning. In other words, the inverse scanning unit 115 outputs a value in inverse order of scanning by various methods, hi the encoding, after performing the quantization, a scanning direction can be defined depending on the distribution of frequency range. Typically, a zig-zag scanning method can be used. However, various scanning methods per codec can be used.
Syntax parsing can be unitedly performed in the variable length decoding unit 110 or in an element for processing the bitstream prior to the variable length decoding unit 110. hi this case, since the same standard is applied to the corresponding encoder and decoder, the syntax parsing is processed only by a predetermined setting to correspond to the pertinent standard.
The inverse DC/ AC prediction unit 120 determines the direction of a reference block for prediction by using the size of the DCT coefficient at a frequency range.
The inverse quantization unit 125 performs the inverse quantization of inverse- scanned data. In other words, the inverse quantization unit 125 returns DC and AC coefficients by using a quantization parameter (OP) designed in an encoding process.
The inverse discrete cosine transform unit 130 calculates an actual video data pixel value to generate a video object plane (VOP) by performing inverse discrete cosine transform. The VOP reconstruction unit 135 reconstructs a video signal by using the VOP generated by the inverse discrete cosine transform unit 130 and outputs the reconstructed signal.
As illustrated in FIG. 2, an MPEG-4 encoder 200 typically includes a discrete cosine transform unit 210, a quantization unit 215, a DC/AC prediction unit 220, a scanning unit 230 and a variable length encoding unit 235.
Each element included in the encoder 200 performs the inverse functions of the corresponding elements of the decoder 100. This is well-known to those skilled in the art. Briefly describing, the encoder 200 converts a video signal (i.e. a digital video pixel value) to a frequency value through the DCT and the quantization and performs the encoding. Then, the encoder 200 performs variable length encoding to differentiate bit length according to the frequency number of information and outputs compressed bitstream format.
FIG. 3 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention, FIG. 4 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an embodiment of the present invention. FIG. 5 is a schematic block diagram illustrating the structure of a decoding unit in accordance with an embodiment of the present invention, FIG. 6 is a schematic block diagram illustrating the structure of a syntax parser in accordance with an embodiment of the present invention, FIG. 7 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with an embodiment of the present invention, FIG. 16 illustrates the hierarchical structure assigned by a decoding hierarchy table(DHT) in accordance with an embodiment of the present invention, FIG. 17 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention, FIG. 18 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention. FIG. 19 illustrates the connection structure of an appropriate buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention, FIG. 20 illustrates the inclusion relation of an appropriate buffer space for storing control signal and context information (CSCI) in accordance with an embodiment of the present invention, FIG. 20 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention, and FIG. 22 illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
In order to perform the encoding/decoding method according to the hierarchical structure of the invention, decoder descriptions are provided to the decoder 300 to generate table information to be extracted or used. The decoder descriptions may be provided to the decoder 300 in a extended bitstream together with bitstreams or in an indepent data form from bitstreams. If the corresponding table information is pre-stored in a certain storing unit of the decoder 300, it is apparent that the providing of the decoder description be omitted. However, hereinafter a case, that the decoder descriptions are provided to the decoder 300 in a extended bitstream form with bitstreams, will be described.
As illustrated FIG. 3, the decoder 300 of the present invention has a different structure from the conventional decoder (refer to FIG. 1). The decoder 300 according to an embodiment of the invention includes a dividing unit 310, a decoder description decoder 320, a table storing unit 330, and a decoding unit 340.
It is apparent that at least one of elements of the decoder 300(i.e., a dividing unit 310, a decoder description decoder 320, a decoding unit 340, etc.) be implemented to a software program (or a combination of program codes) to perform the functions hereinafter described.
The dividing unit 310 divides a extended bitstream into a decoder description region and a typical bitstream 105 (hereinafter reffering to as "conventional bitstream"). The decoder description is inputted to the decoder description decoder 320 and the conventional bitstream is inputted to the decoding unit 340.
The extended bitstream according to an embodiment of the invention may include decoder descriptions 410-470 and a conventional bitstram 105 as shown in FIG. 4. The decoder description of the invention may be called a decoder description since the decoder description is information for recombination and/or reorganization of functional units included in the decoder 300 in order to decode the conventional bitstream 105 included in the extended bitstream. Further, since FL 410, F-RT 420, FU- CSCIT 430, etc. are generated by using the decoder description, each partial information (i.e., FL 410, F-RT 420, FU-CSCIT 430, etc.) generated by using the decoder description in the invention may be called as partial decoder description. The table storing unit 330 where the partial decoder descriptions are stored may be called as description storing unit. Further, since the decoding unit 340 is formed in a decoder for decoding the conventional bitstream 105 by recombination and/or deorganization of functional units according to information of the partial decoder descriptions, it may called as a decoder forming unit in the present invention. The decoder description is information about conventional bitstream structure information and information related to the conventional bitstream encoding method (or connection information between functional units), which are to parse a bitstream, encoded by various encoding methods(or encoding standards), and/or a bitstream, encoded by functions that are selected by a user among various functions, by using a common analyzing method. The decoder description may be included a extended bitstream 305, as illustrated in FIG. 4 and provided to the decoder 300. It is also evident by those ordinary skilled in the art that the decoder description can be provided to the decoder 300 by an independent bitstream or data format. The decoder description is described in a description method to be recognized and/or interpreted by the description decoder 320, in which the description method is a textual description method or a binary description method or the like.
The decoder description may include a functional unit list(FL) 410, a functional unit rule table(F-RT) 420, a functional unit control signal and context information table(FU-CSCIT) 430, a control signal and context information table(CSCIT) 440, a decoding hierarchy table(DHT) 445, a syntax element table(SET) 450, a syntax-rule table(S-RT) 460, a default value table(DVT) 470, and the like. It is evident that each table in the decoder description can be arranged in various orders.
Here, the functional unit list(FL) 410, the functional unit rule table(F-RT) 420, the functional unit control signal and context information table(FU-CSCIT) 430, the control signal and context information table(CSCIT) 440, and the decoding hierarchy table(DHT) 445 may be used to build a recofiguable connection of each functional unit(as necessary, a table may be referred to as "a first decoder description").
Among these, the decoding hierarchy table(DHT) 445 may be information describing for hierarchical structure of each codec and a lower layer per each hierarchy (see FIG. 16). The hierarchical structure of each codec may be described with upper layers and lower layers and may be subdivided into a sequence layer, a GOP layer, a VOP layer, a slice layer, a macro block layer, a block layer and the like. Each codec is composed of at least one of those layers and at least one object may be included in each layer.
A process of decoding encoded video data composed of 2 or more layers is described briefly as follows. However, it is not limited to this method for decoding bitstreams corresponding to the hierarchical structure.
During the decoding, after an object in a first layer, which is the highest layer, is generated and performed, all decoding functional units included in the corresponding object and one or more of calling units of a second layer, which is a lower layer, included in the correspondidng object are activated. For example, if it is assumed that the hierarchical structure is constructed in order of a first layer, a second layer and a third layer, one or more of layer calling units (i.e., GOP-I layer, GOP-2 layer, GOP-3 layer) included in the second layer is activated by performing an object of the first layer(i.e., a sequence layer), one or more of layer calling units (i.e., a picture- 1 layer, a picture-2 layer with performing the object of the GOP-I layer, picture-3, picture-4 with performing the object of the GOP-2 layer, etc.) included in the third layer is activated by performing at least one object in the second layer. It is not limited to only that an upper layer calls a lower layer in the activation process by calling in the hierarchical structure and it is apparent that an upper layer can be called by a lower layer, if necessary, based on table information.
The functional units in the activated layer (the first layer) start operation if control signal and context information for performing a predetermined process and data for decoding are stored in a storing unit 520.
The calling unit in the lower layer (the second layer) of the activated layer (the first layer) generates and performs an object of the corresponding layer (the second layer) if control signal and context information for performing a process by one or more of the decoding functional units of the included layer and data for decoding are stored in a storing unit 520. All decoding functional units in the corresponding object and at least one calling units of the lower layer (the third layer) included in the corresponding object are activated.
As described, when an object of a certain layer is performed, its lower layer is and decoding functional units in the called layer perform a predetermined process. Functional units selected by a decoder description among the functional units included in each layer perform more than once and the encoded video data therefrom is reconstructed to video data and the result data is outputted.
The FU-CSCIT 440 may be referred to as decoder description information for mapping between element information stored in each functional unit of the decoding processing unit 550 and the CSCI storing unit, hi this case, the element information can be a conrol parameter for a decoding processing unit 550 and/or each functional unit of a SYN parser 540.
The control signal and context information table(CSCIT) 440, the decoding hierarchy table(DHT) 445, the syntax element table(SET) 450, the syntax-rule table(S- RT) 460, the default value table(DVT) 470, and the like may be used for the syntax parsing of the conventional bitstream 105 (as necessary, a table may be referred to as "a second decoder description"). The type and function of the each decoder description information will be described in detail below.
The decoder description decoder 320 stores the decoder description inputted from the dividing unit 310 as 2 or more tables which are the types to be recognized by the decoding unit 340 in the table storing unit 330. It is not necessary that each table stored in the table storing unit is a typical type of table but enough that it is any information type to be recognized by the decoding unit 340. In other words, the decoder description decoder 320 converts data in a binary data format, etc. in the extended bitstream 305 to tables that the SYN parser 540 and/or the decoding control unit 530 can analyze, and stores the converted result tables in the table storing unit 330.
The tables, which are to be stored in the table storing unit 330 by the decoder description analysis of the decoder description decoder 320, may include a FL 410, a F- RT 420, a FU-CSCIT 430, a CSCIT 440, a DHT 445, a SET 450, a S-RT 460, a DVT 470, etc. The decoder description decoder 320 may identify each table by referring to a table indentifier(TI) 910 as shown in FIG. 9.
Of course, it is not necessary that all tables should be included in the decoder description decoder but may be enough if a codec number 820 and a profile and layer number 830 are included as shown in FIG. 8, or if a codec number 1020 and a profile and layer numberl030 for a part of tables are included as shown in FIG. 10. When a codec number and a profile and layer number are included, the decoder description decoder 320 may select a table corresponding thereto from the tables pre-stored in the table storing unit 330 to be used during the decoding without generating a new table for a whole table or a part of tables. When a codec number, a profile and layer number, and amendment information are included, the decoder description decoder 320 may extract the table corresponding to an appropriate code from the tables pre-stored in the table storing unit 330 and generate a new table reflecting the amendment information. When a codec number and a profile and layer number are not included and description for generating a table is included, the decoder description decoder 320 may generate a new table for a whole table or a part of tables to use during the decoding.
In addition, the decoder description may further include revision information 1130 besides the decoder description(DD-T) 1110 for each table as shown in FIG. 11. Functions of each extended bitstream will be described in detail with reference to the accompanying drawings.
Tables divided by the decoder description decoder 320 are stored in the table storing unit 330. The table storing unit 320 may pre-store one or more tables which are corresponding to that, when the extended bitstream 305 includes a codec number and a profile and layer number, to be used by the decoding unit 340.
The decoding unit 340 may include a tool-box 510, a storing unit 520, and a decoding control unit 530 as shown in FIG. 5. The storing unit 520 may further include a CSCI storing unit 522 to store control signal and context information generated by the syntax parser(SYN) 540 and a data storing unit 524 to store data to be decoded by the decoding processing unit 550.
The tool-box 510 may include the syntax parser(SYN) 540 and 2 or more of functional units decoding the data stored in the data storing unit 524 and outputting the result data. It is evident that the SYN parser 540 can be realized as one functional unit. It is also evident that the SYN parser 540 and the functional units can be realized as a combination of each program codes. In other words, the tool-box 510 is a region where the functional units can be realized to perform the corresponding functions, respectively so that each functional unit in the decoding processing unit 550 is activated by the decoding control unit 530 and outputs the encoded video data in the conventional bitstream 105 into video data. The decoding control unit 530 may control to sequentially activate the functional units corresponding to each hierarchical structure (for example, activation sequence of a first layer, a second layer, a third layer, etc., at the time when the second layer is activated, the first layer may be kept in the activation state or be deactivated if the data processing is not necessary anymore). However, even though functional units in the same hierarchical structure are simultaneously activated, if a functional unit uses the result data processed by another functional unit as input data, the process is reserved till the result data is generated by the another functional unit and stored in the data storing unit 524. In other words, the decoding functional units each may belong to at least one divided layers according to the characteristics of codec. A called parsing functional unit performs the syntax parsing of a bitstream and the decoding functional units perform the processing if CSCI required for performing a predetermined process and data for decoding are stored. An upper layer may call functional units in a lower layer according to flow of CSCI and data and video data corresponding to the bitstream is outputted by performing one or more times of the process according to the need of all functional units described in the decoder description. Thus, scheduling management of each codec and sysmtemic processing of each functional unit are provided by using the decoder description.
That is, when the conventional bitstream is inputted in the decoding unit 340, the decoding control unit 530 activates the SYN parser 540, allows syntax parsing by using the S-RT 460, and controls to activate functional units in the highest layer with reference to the F-RT 420. Even though a part of the fist decoder description and the second decoder description is used at an initial state, the first decoder description and the second decoder description is eventually sysmtemically used by mutually referring to each other. Each activated functional unit waits for till all necessary CSCI and/or data are stored in the storing unit 520 for processing and performs its corresponding function when they are stored in the storing unit 520.
The decoding unit 340 of the present invention may perform simultaneously the syntax parsing process and the data decoding for outputting video data(see FIG. 22). Further, activation of the functional units in the decoding processing unit 550 is determimed by a unit of the hierarchical structure and each functional unit is independently determined for operation reservation or operation starting so that each functional unit can be operated systemically (for example, operation by forming sequential/parallel combinations between the functional units) The SYN parser 540 included in the tool-box 510 may be set immediately to interprete the conventional bitstream 105 if the conventional bitstream 105 is inputted, regardless of a connection control of the decoding control unit 530. This is for the functional units in the decoding processing unit 550 to perform post processings since the functional units may use element information which the SYN parser 540 interpretes and stores in the CSCI storing unig 522 and/or data(hereinafter, referring to as "encoded data") which the SYN parser 540 stores in the data storing unit 524.
The SYN parser 540 interpetes the inputted conventional bitstream 105 by using the DHT 445, the SET 450, the S-RT 460, the CSCIT 440, and the DVT 470, etc. and stores element information, which is the result of the syntax parsing, in the CSCI storing unit 522. For example, the CSCI storing unit 522 may be a buffer memory. The element information may be control signal context information(CSCI). The element information, which is parsed by the SYN parser 540 and stored in the CSCI storing unit 522, may be the parsed result value of a pertinent step, and at the same time, may be an input value for determining the syntax of the following bitstream.
Further, the SYN parser 540 performs entropy decoding for a header of the syntax parsed conventional bitstream 105 and video data, and stores data encoded in a predetermined size (i.e., 1 pixel unit, 4x4 unit, 8x8 unit, etc.) in the data storing unit 524 to be used by the functional units of the decoding processing unit 550. The SYN parser 540 may further store data to be used in the decoding step such as DC/ AC out of syntax in the data storing unit 524. The data storing unit 524 may be a buffer memory and a dedicated buffer space may be predetermined per each functional unit.
Each dedicated buffer space, as shown in FIG. 20 and FIG. 21 , may be set to have inclusion relationship per a hierarchy. Thus, when input data is written in the data storing unit 524, the activated functional unit may immediately start processing and if the processed result data is used as input data of another functional unit, may write the corresponding result data in the data storing unit 524. parser 540 may be realized as a software program (including the combination of program codes). Even though the SYN parser 540 is realized to perform 2 or more functions corresponding to 2 or more standards (for example, MPEG- 1/2/4/ A VC, etc.), respectively, the SYN parser 540 can perform an appropriate operation by using a decoding hierarchy table(DHT) 445, a syntax element table(SET) 450, a syntax-rule table(S-RT) 460, a control signal and context information table(CSCIT) 440, a default value table(DVT) 470, etc. Of course, the SYN parser 540 may be realized with subdivision into 2 or more of functional units as shown in FIG. 6 and it is apparent that each functional unit be realized as a combination of blocked program codes.
The function of the SYN parser 540 will be described below with particular description of each functional unit as shown in FIG. 6.
The SYN parser 540, as illustrated in FIG. 6, can include a network abstraction layer parsing functional unit (NALP FU) 610, a syntax parsing functional unit (SYNP FU) 620, a context determination functional unit (CTX FU) 630, a variable length decoding functional unit (VLD FU) 640, a run length decoding functional unit (RLD FU) 650 and a macro block generator functional unit (MBG FU) 660, etc.
Of course, it shall be evident that the SYN parser 540 can include all functional units for syntax parsing regardless of the applied standard, functional units requested for a technology development process can be newly added, a previous functional unit can be amended and an unnecessary functional unit can be deleted. It is also evident that each functional unit included in the SYN parser 540 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
The NALP FU 610 is a functional unit parsing the network abstraction layer of MPEG-4 AVC, and the SYNP FU 620 is a functional unit parsing the syntax of the bitstream. The SYNP FU 620 can be included in the VLD FU 640.
The CTX FU 630 is a functional unit determining the VLC table of MPEG-4 AVC, and the VLD FU 640 is a functional unit performing an entropy decoding.
The RLD FU 650 is a functional unit performing the entropy decoding of AC values, and the MBG FU 660 is a functional unit generating macro block data by coupling DC values with AC values. All or some of functional units in the aforementioned SYN parser 540 can be included in the VLD FU 640 depending on a system realizing method.
As described above, the SYN parser 540 can be realized as one software program or 2 or more of software programs (e.g. the VLD FU 640 is realized as an independent software program). A process, that the SYN parser 540 extracts or generates element information by using a first description information (that is, at least one of a decoding hierarchy table(DHT) 445, a syntax element table(SET) 450, a syntax-rule table(S-RT) 460, a control signal and context information table(CSCIT) 440, a default value table(DVT) 470) and stores the element inforation in the CSCI storing unit 522, will be described in detail when the decoding control unit 530 is described.
The decoding processing unit 550 processes the encoded data stored in the data storing unit 524 in a predetermined processing unit and outputs into video data in a predetermined size. The processing unit of the encoded data can be predetermined to be applied differently for each functional unit or be generalized to be identical. Functional units may be included in the decoding processing unit 550 to perform the above-described funtions according to each standard. Each functional unit can be realized by an independent processing block (e.g. software program, the combination of command codes, function, etc.) or the decoding processing 550 may be realized as one combined processing block. However, it is apparent that the decoding processing unit 550 perform an approptiate processing by a connection contol of the decoding control unit 530 even though it is realized as one combined processing block.
As illustrated in FIG. 7, the decoding processing unit 550 inlcudes a deblocking functional unit (DF FU) 710, a VOP reconstructor functional unit (VR FU) 715, a frame field reordering functional unit (FFR FU) 720, an intra prediction and picture reconstruction functional unit (IPR FU) 730, an inverse transform functional unit (IT FU) 735, an inverse quantization functional unit 745, an inverse AC prediction functional unit (IAP FU) 755, an inverse scan functional unit (IS FU) 760 and a DC reconstruction (DCR FU) 765. A IT 4 x 4 FU 740, an IQ 4 x 4 FU 750 and DCR 4 x 4 FU 770 process the block having 4 x 4 size. This is because there is a case that MPEG-4 AVC processes the block of 4 x 4 size, while MPEG- 1/2/4 processes the block of 8 x 8 size in transform, quantization.
It shall be evident that the decoding processing group 550 can include all functional units for data decoding function regardless of the applied standard, a functional unit requested for a technology development process can be newly added, a previous functional unit can be amended and an unnecessary functional unit can be deleted. For example, in the case of additionally requesting an IS 4 x 4 FU processing data with 4 x 4 block size, the decoding processing unit 550 can further include an appropriate functional unit. Also, the decoding processing unit 550 can further include a special prediction functional unit (SPR FU) for performing the intra prediction at the MPEG-4 AVC(not shown).
It is also evident that each functional unit included in the decoding processing unit 550 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
The DF FU 710 is the de-blocking filter of MPEG-4 AVC, and the VR FU 715 is a functional unit storing a reconstructed pixel. The FFR FU 720 is a functional unit for an interlaced mode, and the IPR FU
730 is a functional unit performing the intra prediction of MPEG-4 AVC and storing the reconstructed pixel value. As described above, the intra prediction of MPEG-4 AVC can be performed by the SPR FU.
The IT FU 735 is a functional unit performing the inverse transform of DC values and AC values, and the IQ FU 745 is a functional unit performing the inverse quantization of AC vlaues.
The IAP FU 755is a functional unit performing the inverse AC prediction of AC values, and the IS FU 760 is a functional unit performing the inverse scan of AC values. The DCR FU 765 is a functional unit performing the inverse prediction and inverse quantization of DC values. Each operation of the aforementioned SYN parser 540 and the decoding processing unit 550 is indepedently performed, and each functional unit in the decoding processing unit 550 performs independently its operation when the CSCI and/or data for the processing in the storing unit 520 is(are) stored after the decoding control unit 530 activates by the activation control.
Element information (for example, CSCI) which is the result value from the syntax parsing by using the second decoder description (that is, CSCIT 440, DHT 445, SET 450, S-RT 460, DVT 470) at the SYN parser 540 is stored in the CSCI storing unit 522. The element information is stored with corresponding to CSCIT 440. The CSCI storing unit 522 may be a buffer memory.
The element information stored in the CSCI storing unit 522 may be used as input data for performing the process of the SET 450 by the SYN parser 540 or as a control variable determining a connection index which is the following process by the S-RT 460 The element information stored in the CSCI storing unit 522 may be used when each functional unit, which the decoding control unit 530 activated in the hierarchical structure unit, performs mapping the input CSCI designated in the FU-CSCIT 430 with the element information stored in the CSCI storing unit 522 by referring the F-RT 420. As described above, if the element information can be used by the functional units in the decoding processing unit 550, the SYN parser 540 can also store the element information in the data storing unit 524.
The decoding control unit 530 controls the activation of the SYN parser 540 and/or each functional unit included in the decoding processing unit 550 in order to decode the bitstream ecoded by various standards. In other words, the decoding control unit 530 controls each functional unit included in the decoding processing unit 550 to be activated per the hierarchical structure unit by referring to the F-RT 420. This is because input data for the functional unit in the lower layer can be result data processed by the functional unit of the upper layer. The decoding control unit 530 uses FL 410, F-RT 420, FU-CSCIT 430, CSCIT
440, and DHT 445 to process the activation of each functional unit and the data econded by the each functional unit to video data and output the result.
The encoded data can be converted to video data by systematical operation of 2 or more of functional units and the result can be output as illustrated in FIG. 7. The order of operations by the functional units to convert into video data may be different according to each encoding standard and this is apparent to those skilled in the art.
Therefore, hereinafter a systemic relationship between tables of the first decoder description included in a extended bitstream which is used as basic information for systemic operation control of 2 or more of functional units, will be described. First, the decoding hieracrchy table (DHT) 445 is a table describing information for codec hierarchical structure and lower layers per each hierarchy as shown in FIG. 16 and Table 1.
Table 1. DHT(Decoding Hierarchy Table)
Figure imgf000052_0001
The DHT 445, as shown in Table 1, may include an index catagory which is a layer number, a name catagory which is a name of each layer, a children hierarchy category which is a lower layer of a corresponding layer, etc. A number of layers or a number of children hierarchies may be different according to codec. For example, when there are further VOP-3, MB-3, etc., it is apparent that layer number be correspondingly added, as illustrated in FIG 16.
The hierarchical structure of the DHT 445 of the present invention may combine a codec which is different from a base codec at any position in any layer by any method based on the base codec. In other words, several different codecs may be combined to a unified codec to provide a new codec which further allows video compression and decompression.
A main function of the DHT 445 allows various implementations including sequential/parallel, single/multiple threads, sw/hw hybrid decoding of a decoding solution to compose using decoding descritptions by introducing the hierarchical structure to a given codec.
The hierarchical structure described with the DHT 445 in Table 1 is commonly used in the syntax parsing and decoding process. It is also apparent that another hierarchical structure can exist to be independently applied in the syntax parsing or in the decoding process. Then, the FU list(FL) 410, as shown in Table 2, is a table describing information for a list of each functional unit in the decoding processing unit 550, volume of input/output data, etc.
Table 2. FL(FU List)
Figure imgf000054_0001
The FL 410 may further include a name of a dedicated buffer region where input data is written (or recording address of a pertinent data or address of buffer memory where a pertinent data is written) and a name of a dedicated buffer region where output data is to be written by a pertinent functional unit (or recording address of a pertinent data or address of buffer memory where a pertinent data is written). Each functional unit can read input data and write processed output data by using the FL 410. Input data and output data of the SYN parser 540, which generates element information, is not written in the FL 410. This is because the SYN parser 540 writes element information generated and stored in a determined position by using the SET 450. The FL 410 may include FU ID which is an identification number of each functional unit in the tool-box 510, FU name which is a name of each functional unit, input CSCI representing volume of input data, and output CSCI representing volume of result data(output data), etc. An arrangement order of the functional units in the FL 410 corresponds to FU arrangement order or index number of the FU-CSCIT 430. A name of each functional unit, which is described by referring to FIG. 7, may be written in a column of FU name.
A particular functional unit which is activated by the decoding control unit 530 reads necessary data from the data storing unit 524 by using FU-CSCIT 430, CSCIT 440, etc. and performs a predetermined process, and generates output data. The generated output data may be stored in the data storing unit 524 and the stored data in the storing unit 524 can be used as input data for a following process by a functional unit. Here, the functional unit is included in the decoding processing unit 550 and means a series of processings (e.g. ability, algorithm or function, etc.) which performs a predetermined process for input data and generates output data.
When the decoding unit 340 only uses one standard to decode encoded video data included in the conventional bitstream 105, the FL 410 may include only information for the functional units which perform the processing corresponding to that standard. However, when a pertinent video data is encoded by using a plurality of standards (e.g., when encoding standard is applied with a plurality of frame units), information of the functional units according to a plurality of strandards is required to decode the corresponding encoded video data. Thus, in this case, the FL 410 should include information of functional units according to a plurality of standards required for decoding the encoded video data from all functional units according to the corresponding plurality of standards.
Even though video data appies different encoding standards by a plurality of frame units, if a plurality of conventional bitstreams 105 and extended bitstreams 305 can be generated and provided by each applied encoding standard, each FL 410 includes only information of functional units corresponding to each standard.
The FL 410 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language. Then, FU - Rule Table (F-RT) 420 provides connection information of functional units to be used for decoding inputted conventional bitstream 105. F-RT 420, as shown Table 3 below, is composed that an upper layer calls a lower layer by using the hierarchical structure specified in the DHT 445.
Table 3. F-RT(FU - Rule Table)
Figure imgf000057_0001
F-RT 420, as shown in Table 3, includes decoding hierarchy representing each hierarchical structure, children representing functional units to be activated or lower layers to call, loop representing determination of loop operation, loop condition representing loop conditions when loop operation is required, input representing decording hierarchy or children as input information of each functional unit or a lower layer(or activation order), etc.
As shown in Table 3, a FHO layer will be activated very first and since a FHl layer uses result data of FUl as input data, it will be then activated. Or after the FHl layer and the FHO layer can be activated at the same time, processing operaton can be reserved till the result data of FUl is stored in the data storing unit 524.
Each layer is generated as an object with guaranteed independence based on instance/object concept during the calling. In other words, a pluraliry of FHl is generated such as FH 1 [0] , FH 1 [ 1 ] , FH 1 [2] , ... , FH 1 [n] and this structure may be applied to another layer(e.g., FHO, FH2, FH3, etc.). A dedicated buffer space per each layer can be assigned. As illustrated in FIG. 20 and FIG. 21, CSCI or data for the processing by functional units in a particular hierarchical structure or a pertinent hierarchical structure is stored in each dedicated buffer space. The F-RT 420 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
Then, FU-CSCIT(FU CSCI Table) 430 is a table for connecting element information stored in the CSCI storing unit 522 with element information(input CSCI) requested by each functional unit.
Table 4. FU-CSCIT(TU CSCI Table)
Figure imgf000059_0001
As shown in Table 4, the FU-CSCIT 430 includes index number which is 1:1 mapping to FU ID of the FL 410, CSCI information, and CSCI table element of the CSCIT 440 for mapping. An arrangement order of the functional units of the FL 410 is mapped with that of the index number of the FU-CSCIT 430. In other words, FU-A which is the first functional unit of Table 2 is mapped with index no. 1 which is the first index of the FU-CSCIT 430.
The FU-CSCIT 430 further includes information referring to how many interface sets are per index number. It means that a number of interface sets is a number of mappings. In other words, D0092 of the FL 410 is assigned to have 1 interface set by the FU-CSCIT 430 and thus uses only CH2.C6 and CH2.C1 as element information. However, D0098 of the FL 410 has 2 interface sets and thus uses CH3.C1 and CH3.C6 as element information in one case and CH4.C2 and CH4.C5 in the other case. Each functional unit performs a predetermined processing by reading element information from the CSCI storing unit 522 or the data storing unit 524 and stores the generated output data in the data stoing unit 524.
The reason to assign a number of interface sets per each index number in the FU-CSCIT 430 is that a functional unit can perform a different processing operation according to a different data flow. In other words, as shown in FIG. 18, if FU-A is a function which can be used in both MPEG-2 and MPEG-4, element information for processing encoded data by the MPEG-2 standard can be different from element information for processing encoded data by the MPEG-4 standard. Therefore, 2 or more of interface sets are required in order to classify element information requsted for encoded data processing according to each standard.
The FU-CSCIT 430 can be described not only by a textual description method or a binary description method (bit converted binary code form) but also by key minimum data of the table by using a pseudo script language.
The CSCIT 440, as shown in Table 5 below, describes details of the element information (e.g., CSCI) as the result information that the SYN parser 540 processes by using the SET 450, S-RT 460, etc. In other words, the CSCIT 522 has all meaningful data (i.e., element information) that is processed from the conventional bitstream 105, stored in the CSCI storing unit 522 or the data storing unit 524, and used by the decoding processing unit 550.
Table 5. CSCIT
Figure imgf000061_0001
Figure imgf000062_0001
Figure imgf000063_0001
As shown in Table 5, the CSCIT 440 includes decoding hierarchy of each element information, an index as an identifier which is the identity number of the pertinent element information, a name of the pertinent element information, a type for designating the data structural characteristic of the pertinent element information (e.g., whether the pertinent element information is an integer type or an array type, etc.). The CSCI information composed of layers may be used by a type of several arrays, if necessary, during the decoding. The CSCIT 440 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
Hereinafter, the CSCIT 440, the DHT 445, the SET 450, the S-RT 460, and the DVT 470, which are used when the SYN parser 540 extracts and generates element information from the conventional bitstream 105 and stores the result in the CSCIT storing unit 522, will be described. However, the CSCIT 440 and the DHT 445 have been explained above and their details will be thus omitted. 2 Or more of functional units as shown in Table 6 operate systematically each other to generate element information and store the result in the storing unit 520. A type of element information can be different according to each encoding standard and it is apparent to those skilled in the art. A sysmetic relationship between tables of the second decoder descriptions included in a extended bitstream, which 2 or more of functional units or the SYN parser 540, which is a combined functional unit, use to generate element information and store the result in the storing unit 520, will be explained.
First, the SET 450 is a table that consists of information related to the syntax of the inputted conventional bitstream as shown in Table 6.
Table 6. SETfSvntax Element Table)
Figure imgf000065_0001
The SET 450, as shown in Table 6, includes index of each syntax, element name, input data, and process by SET-PROC. Here, the index is an identifier S identifying each syntax used for the S-RT 460.
The element name can be named according to the meaning or function of the syntax. The input data refers to nominal bit length of data inputted at a time in the conventional bitstream. The SET-process describes which processing operation is undergone after receiving each bitstream syntax to generate the element information as the output data. Here, process by SET-PROC "READ 32 B:(IBS==HEX:IBO)»: ." corresponding to the index SO means that if "(IBS==HEX:IBO)" is satisfied with reading 32 bits, output(») the corresponding information. Output data is element information (that is, CSCI information (C), e.g., CH0.C1, etc.), which is provided by the S-RT 460 and stored in the CSCI storing unit 522 or the data storing unit 524.
The SET 450 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
Then, the S-RT 460 refers to layers and connection information between each syntax in the conventional bitstream 105 as shown in Table 7. In other words, the S-RT 460 has information indicating for an upper layer to call syntax of a lower layer and to move to next syntax. The SYN parser 540 uses the R-ST 460 to read the conventional bitstream or to define the sequence of storing and/or updating the element information in the CSCI storing unit 522. As illustrated in FIG. 17, the SYN parser 540 is composed of several threads and performs syntax parsing per layer by referring to the S-RT 460 since an upper thread calls a lower thread.
Table 7. S-RT(Svntax Rule Table)
Figure imgf000066_0001
Figure imgf000067_0001
Figure imgf000068_0001
As illustrated in Table 7, the S-RT 460 includes decoding hierarchy of each syntax, index R, syntax #ID, input data (CSCI), and branch information.
The index R identifies each connection information(rule). Since the index S of syntax designates syntax that a particular connection index will process in each layer, the SYN parser 540 performs a designated process of the pertinent syntax by suing the
SET 450. The input data refers to a list of element information to be used for condition determination for controlling the connection of the pertinent connection index. The process result by the SET 450 is stored in the name of input data corresponding to syntax ID as described earlier. The branch information refers to condition determining algorithm determining which connection index will be processed in next turn. The branch information can directly determine the sequence and contents of data to be read. If the number of branch is l(e.g., in case that syntax #ID is Sl), no input data is provided.
The S-RT 460 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
Finally, the DVT 470 is a table describing Huffman table information used by each encoder/decoder as shown in Table 8. Entropy coding is performed during each encoding in MPEG- 1/2/4/ A VC. At this time, the Huffman coding method is mainly used and the used information is the Huffman table. There should be provided Huffman table information to be used in a pertinent decoder during each decoding process to implement a unified codec. Therefore, decoder descriptions of the present invention include Huffman table information corresponding to each syntax during the syntax parsing. If Huffman table information corresponding to each standard is pre-stored in the table storing unit 330, the DVT transmission may be omitted or only codec number 1020 and profile and level number 1030 can be included as illustrated in FIG. 10.
Table 8. DVTfDefault Value Tabled
Figure imgf000070_0001
Figure imgf000071_0001
As shown in Table 8, the DVT 470 includes name of each Huffman table, actual value compressed and outputted by the Huffman decoding, and code value used when the compressed actual value is stored in the conventional bitstream 105. For example, if an actual value obtained with the compression of MCBPC value is 3, a code value 011 is written in the conventional bitstream 105 by the Huffman table mapping process (e.g., process by the SET 450). As another example, if VLD[I] is written in the process part of a particular index of the SET 450, a function of VLD is called, a code value can be obtained by reading the conventional bitstream 105 for the length predetermined by the corresponding function, and the corresponding actual value can be obtained by the Huffman table mapping process. Here, the used Huffman table is [1], which is the first table CBPY.
The DVT 470 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language. As an example, the DVT 470 can be the following textual description.
DVT {((0,1), (1,001), (2,010), (3,011), (4,0001), (5,000001), (6,000010), (7,000011), (8,000000001), (9,NULL)) ((0,0011), (1,00101), (2,00100), (3,1001), (4,00011),(5,0111), (6,000010), (7,1011), (8,00010), (9,000011), (10,0101), (11,1010), (12,0100), (13,1000), (14,0110), (15,11), (16,000000), (17,000001), (18,NULL)) ((0,011), (1,11), (2,10), (3,010), (4,001), (5,0001), (6,00001), (7,000001), (8,0000001), (9,00000001), (10,000000001), (11,0000000001), (12,00000000001), (13,NULL)) ((0,11), (1,10), (2,01), (3,001), (4,0001), (5,00001), (6,000001), (7,0000001), (8,00000001), (9,000000001), (10,0000000001), (11,00000000001), (12,000000000001), (13,NULL))... As another example, the DVT 470 can be the following binary description. 000000111111111111111111111111101111100001100011001000110100001 1011001000001001100000010011000001000110000011010010000000010000011111 0010000110010100101001010010000100100100101000110010001110011000001000 1001011001010001000110000011001000101001001010001000100001001000001000 1100001011001100000000011000000100000111110001101100010110001010000110 1000011001001000001001010000100110000001001110000001010000000000101001 0000000010101000000000010101100000000001000001111100010110001010000100 1000110010010000010010100001001100000010...
The storage space for each table can be reduced with binary description, the processing efficiency is improved, and the transmission time of the extended bitstream 305 including the decoder description is further reduced.
Hereinafter, the linking process between each table used by the SYN parser 540 and/or the decoding control unit 530 will be described.
First, the decoding control unit 530 calls functional units of the highest layer assigned by the F-RT 420 in the table storing unit 330. The called functional units stands by till the SYN parser 540 stores the CSCI information and/or data requested for the processing in the storing unit 520.
The SYN parser 540 reads syntax corresponding to the highest layer from rules of th S-RT 460, recognizes VS start code by the SET 450, and stores output value (that is, element information, CO) in the name of input data (CSCI) provided in the S-RT 460 in the CSCI storing unit 522 by reading a bit set as input value in the SET 450 (that is, 32 bits determined as input value at the SET 450) corresponding to the conventional bitstream 105 and performing the SET-process. What is element information stored in the CSCI storing unit 522 or in which layer will it be used, etc. is described in the CSCIT 440. The SYN parser 540 replaces the element information CO stored in the CSCI storing unit 522 for pertinent branch information of the S-RT 460 and performs the index processing corresponding to the result. For example, since branch information corresponding to index SH0.SH1 is 'CHO. CO= =1', if satisfied, it proceeds to index SR2 in the SHO layer but if not satisfied, it is determined as error. However, in the process where the SYN parser 540 generates element information by using the SET 450 and stores the result in the CSCI storing unit 522, if the VLD function is called (e.g., index S74 of the SET 450), the entropy encoding is performed by using the DVT 470. During this process, if element information is generated, it will be stored in the CSCI storing unit 522. During the SYN parser 540 stores the element information and/or data in the storing unit 520, each activated functional unit in the decoding processing unit 550 verifies if all requested element information and/or data is stored to perform a predetermined process. A pertinent functional unit can verify if all is stored by referring to the FU-CSCIT 430. Further, it can recognize what the corresponding element information is by mapping with the CSCIT 440. The functional unit, that stores the requested element information and/or data, performs a predetermined process and stores the processed result data in the data storing unit 524.
As described above, the functional units may be successively activated or called by hierarchical structure unit. The activation of the hierarchical structure unit can be controlled by the decoding control unit 530 which, for example, watches if the element information and/or data processing requested by a certain layer completes. If it is recognized that the element information and/or data requested to perform a predetermined process is stored, the called functional units read this and process. When each functional unit is connected sequentially or in parallel and performs the process, it provides same effect through such processes.
When layer(s) of the functional units reqested for converting into video data is(are) activated, the decoding unit 340 outputs video data corresponding to the inputted conventional bitstream 105. FIG. 22 illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention. As illustrated in FIG. 22, the syntax parsing by the SYN parser 540 and the data decoding by the decoding processing unit 550 can be independently performed by using the decoder description information. In other words, when the element information and/or data requested by each functional unit is stored for the data decoding, the corresponding functional unit can perform a predetermined process. Further, each functional unit in the decoding processing unit 550 performing the decoding processing may perform independent function if result data of a different functional unit is not used as input data.
Therefore, the decoder 300 of the present invention is not limited to that the decoding processing unit 550 can perform the operation after the syntax parsing is completed, but allows that the SYN parsing 540 and the decoding processing unit 550 can perform independently. It further allows that each functional unit in the decoding processing unit 550 can independently operate.
Hereinafter, commands of each table will be described in detail. Commands used in each table shown above are provided. Information (that is, table) can be composed for the syntax parsing of standards such as MPEG-2/MPEG- 4/MPEG-4 AVC, etc.
Commands used for composing each table can be READ, SEEK, FLUSH, IF, WHILE, UNTIL, DO-WHILE, DO-UNTIL, BREAK, SET, STOP, PUSH, etc. It is not necessary that all commands should be used in each table. It is apparent that certain commands per each table can be selected and used. Each command is described briefly.
First, the READ can be used for reading a certain bit in the bitstream. For example, the READ can be described as "READ bits B>CSCI;", in which "bits" is a number of bits to read, "B" is byte-alignment flag, ">CSCI" is CSCI index to store. "B" and ">CSCI" are optional and if ">CSCI" is not designated, it is set to store only in a variable IBS.
The SEEK is an instruction to read a certain bit in the bitstream but not to move file point. The file point is a standard position during the operation such as reading a certain bit. Parameters of the SEEK instruction can be the same as the READ. The FLUSH can be used for moving a file point as much as a certain bit in the bitstream and parameters thereof can be similar to the READ.
The IF can be used in a form of "IF (condition) { ~ } ELSE { ~ }" and is a command to provide branch according to a given condition.
The WHILE can be used in a form of "WHILE (condition) { ~ }" and to repeatedly perform assigned blocks during a given condition is true.
The UNTIL can be used in a form of "UNTIL (condition) { ~ }" and to repeatedly perform assigned blocks till a given condition is true.
The DO-WHILE can be used in a form of "DO { ~ } WHILE (condition)" and to perform a block prior to condition determination by modifying the WHILE. The DO-UNTIL is used in a form of "DO { - } UNTIL (condition)" and to perform a block prior to condition determination by modifying the UNTIL.
The ( - ) (compute) is used in a form of, for example, "(Cl l=(V2+3));". In other words, all equations of the SET-PROC can be described within the parenthesis, operators, such as four arithmetical operations, assignment, comparison, addition/subtraction (++/--), bitwise operation, OR/ AND operation, determining the use of CSCI, etc., can be used.
The BREAK can be used to secede from the closest loop structure.
The SET can be used to set a flag determining the use of the designated CSCI and the CSCI to designate the flag is arranged and can be sorted with a comma (e.g., SET CO, C2;).
The STOP can be used to stop the syntax element processing which is currently in process and to move next.
The PUSH can be used to add data at the last region where data is written in an array CSCI and added value is arranged and sorted by comma(e.g., PUSH C8 8, 16, 32;).
The GO can be used to go a designated position. For example, in case of GO SR#;;, it is an instruction to go SR# and GO RT is an instruction to return to the called position.
The HEX can be used to represent that a value after the HEX command is hexadecimal digits.
The RLD is an interface for a RLD function which is supported in MPEG-4, and can be used in a form of "RLD index, layer, run, islastrun, t#;". Here, index, layer, run and islastrun can be CSCI storing RLD return values or variables and t# represents Huffman table ID used in the RLD. The VLD2 is a VLD function for MPEG-2 and can be used in a form of "VLD2 [t#] in > vl, v2, v3;". Here, t# represents Huffman table ID used in the VLD, in represents an inputted index value, and vl~v3 represent output values.
Finally, the VLD4 is a VLD function for MPEG-4 and can be used in a form of "VLD4 [t#] > CSCI;". Here, t# represents Huffman table ID used in the VLD and ">CSCI" represents a CSCI index to be stored. If ">CSCI" is not designated as option, it is stored only in a variable IBS.
FIG. 8 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a first embodiment of the present invention, FIG. 9 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a second embodiment of the present invention, FIG. 10 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a third embodiment of the present invention, and FIG. 11 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fourth embodiment of the present invention.
As illustrated in FIG. 8 to FIG. 10, the decoder description included in the extended bitstream 305 can be composed to include not table information but only standard information (no table), to include all table information (full tables), or to include a part of table information (partial tables). In order to classify each of them, the decoder description information may include stream indentifier (SI) information and the
SI information is shown below.
Table 9. Stream Identifier
Figure imgf000080_0001
As illustrated in FIG. 9, the extended bitstream 305 is the decoder description and may include SI 810 (that is, 00) which has no table information, codec number 820, and profile and level number 830.
This is a case that the table information is pre-stored in the table storing unit 330 and the table information is not transmitted. Even though a pertinent conventional bitstream 105 sends basic information for which codec and profile and level are to be used, the decoding unit 340 can decode by using the designated tables.
The SET 450, the CSCIT 440, the FL 410, the FU-CSCIT 430, the DVT 470, etc. can be described per the applied standard (that is, codec), the F-RT 420, S-RT 460, etc. can be described per profile of each applied standard (see Table 10 and Table 11). Table 10. Table classification per codec
Figure imgf000081_0001
Table 11. Table classification per Profile and level
Figure imgf000081_0002
Figure imgf000082_0001
In case of MPEG-4 SP, the decoding method will be explained with using SET#3, FL#3, CSCIT#3, FU-CSCIT#3, DVT#3, F-RT#3-1, and S-RT#3-1 and when codec #3 and profile and level #2 are designated and transmitted, the decoding unit 340 can perform the decoding process by referring to the corresponding tables.
As illustrated in FIG. 9, the extended bitstream 305 is the decoder description and may include the aforementioned table information. Referring to FIG. 9, the SI 810 is set to be 01. Each table may include a table identifier (TI) 910, a table start code (TS code) 920, a table decription (TD) 930, and a table end code (TE code) 940. An order of the table identifier (TI) 910 and table start code (TS code) 920 may be exchanged and the table decription (TD) 930 may be described by a description method. Of course, an order of each table can be changed.
As illustrated in FIG. 10, the extended bitstream 305 is the decoder description and may include the aforementioned table information and codec number corresponding to a part of the table information, hi this case, the SI 810 is set to be 10 in FIG. 10.
Since types of the table information are not unified, a configuration identifier 1010 can be included at the end of the table identifier 910 in order to determine which type the corresponding table information is composed of.
Further, as illustrated in FIG. 11, the extended bitstream 305 is the decoder description for the table information and updating information. The decoder description for the table information can be one of the decoder descriptions explained by referring to FIG. 8 to FIG. 10 and the SI 810 is set to be a pertinent value. The updating information may include a revision start code (RS code) 1120 and revision 1130. The revision 1130 can be contents to insert, delete, or update rules of a particular table. A form thereof may be 'insert index into table-name (...);', 'delete index from table-name;', or 'update index in table-name(...);', etc. For example, when SlOO is inserted to SET#4, the revision 1130 may be in a form of "insert SlOO into SET#4 ("READ 1;IF(IBS= =1){SET C31 ;}");".
During the description decoder 320 reads the revision 1130 and performs the decoding of the corresponding extended bitstream 305, tables of revised contents are stored in the table storing unit 330. However, when the decoding completes, the tables stored in the table storing unit 330 should be restored to the original state. Determining if the decoding completes, it can be recognized when the decoding unit 340 or trigger provides completion notice to the description decoder 320 or the description decoder 320 detects the completion of the decoding unit 340. As described above, according to the present invention, existing profiles can be used by using the functional units provided in the conventional standard (that is, codec), a new decoder can be implemented by using the conventional functional units, and a new decoder can be implemented by using new functional units. In other words, various decoders can be implemented without any limitation.
Only, when new functional units are added in the tool-box 510, the algorithm corresponding to those functional units is added and the corresponding information is added to the FL 410. In this case, a compile process for the algorithm may be needed additionally. To realize unified codec, each element must be systematically controlled such that a bitstream can be decoded with a decoding method corresponding to a pertinent encoding method by parsing the bitstream compressed by various encoding methods.
In this case, the pertinent bitstream can be a bitstream of various shapes mixed with various standards (codecs) or another bitstream of various shapes generated by various encoding methods in one standard. Also, to support various encoding / decoding methods, it is necessary that various functions can be separated into independent units and desired units can be selected among the independent units to make them one codec (encoder and decoder).
Also, described above, the present invention can systemically connect and control each functional unit by use of the same information analyzing method regardless of an encoding method encoded with a bitstream by providing together decoder description information.
Also, the present invention can deal with the change or new addition of the syntax of a bitstream by only amending pertinent information or inserting the additional information. The present invention also can set the connection relationship of the functional units of the decoding processing unit 550 of the pertinent decoder and functional units by allowing a user to select a desired function of bitstream-level, frame- level and macro block-level (MB level) and forms the F-RT 420.
FIG. 12 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fifth embodiment of the present invention, FIG. 13 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a sixth embodiment of the present invention, FIG. 14 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a seventh embodiment of the present invention, and FIG. 15 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an eigthth embodiment of the present invention.
The extended bitstream 305 according to the present invention is composed of the decoder description region and the conventional bitstream 105. It is apparent to those skilled in the art that the conventional bitstream 105 is composed of encoded video data(or/and encoded audio data).
Here, the decoder description region may be formed in a different structure according to codec characteristics to be applied for the decoding of the conventional bitstream 105. In other words, first, a first decoder description structure may be applied when one codec standardized before is used.
Second, when a part of one codec standardized before is changed (that is, a part of 7 tables uses table contents corresponding to the pertinent codec as they are and another part of the tabes changes and uses), a second decoder description structure may be applied.
Third, when table information of a plurality of codecs standardized before is processed and used (that is, a part of the above-described 7 tables selectively uses table contents of the conventional plurality of codecs and another part of those tables is changed and used), a third decoder description structure may be applied. Fourth, when a new codec which is not standardized before is used (that is, the
7 tables composed with new contents all are transmitted), a fourth decoder description structure may be applied.
The described four decoder description structures can be classified according to codec type information. For example, in case of the first decoder description structure, "codec_type = 0" is set, in case of the second decoder description structure, "codecjype = 1" may be set, in case of the third decoder description structure, "codecjype = 2" may be set, and in case of the fourth decoder description structure, "codec_type = 3" may be set.
The first decoder description structure is illustrated in FIG. 12. According to the first decoder description structure in FIG. 12, the decoder description region may be composed of codec type 1150, codec number 1152, and profile and lever number 1154. In other words, according to the first decoder description structure, information for the codec to be applied is only described in the decoder description region. It is apprant that a size of each field may be balanced according to a size of information to be described even though each field is illustrated as 8 bits in FIG. 12.
The codec type is set as 0 (that is, codec_type=0) and it means that one codec among various conventional standardized codecs is used as it is.
The second decoder description structure is illustrated in FIG. 13. According to the second decoder description structure illustrated in FIG. 13, the decoder description region may be composed of codec type 1150, codec number 1152, profile and lever number 1154, and table description 1156. hi other words, according to the second decoder description structure, information for the codec to be applied and changed contents from the 7 tables will be described in the decoder description region. Here, the table description is independently provided to each table. That is, there can be 7 table descriptions in the decoder description region. Each table description 1156 may include table start code 1158, table identifier 1160, table type 1162, contents 1163, and table end code 1164. A size of each field may be balanced, if necessary. As described below, the contents 1163 may be omitted or included according to the table type 1162. For example, if the table type value is 0, it may be recognized that a conventional table (that is, a table recognized by codec type 1150, codec number 1152, profile and level number 1154 and tabe identifier 1160) is to be applied without any changing. Here, the contents 1163 maybe omitted.
If the table type value is 1, it may be recognized that a part of a conventional table (that is, a table recognized by codec type 1150, codec number 1152, profile and level number 1154 and tabe identifier 1160) is to be changed and applied. In this case, the changed content (e.e., update command) may be described in the concents 1263. The changed content (e.g., update command) including a command such as update, insert, and/or delete, etc. maybe information to revise table contents of the index correspond to the pertinent table.
If the table type value is 2, it may be recognized that a conventional table (that is, a table recognized by the codec type 1150, the codec number 1152, the profile and leverl number 1154, and the tabe identifier 1160) is to be completely changed (that is, change into the content defined in the content field 1163) and applied. In this case, the changed content (e.g., content to newly define the pertinent table such as new command, etc.) may be described in the content field 1163.
The third decoder description structure is illustrated in FIG. 14. According to the third decoder description structure illustrated in FIG. 14, the decoder description region may be composed of a codec type 1150 and a table description 1156. In other words, according to the third decoder description structure, information about codec to be applied and content to be changed among the 7 tables may be described in the decoder description region. Here, the table description is independently provided to each table. That is, there can be 7 table descriptions in the decoder description region.
Each table description 1156 may include a table start code 1158, a table identifier 1160, a table type 1162, a content 1163, and a table end code 1164. A size of each field may be balanced, if necessary.
For example, if the table type value is 0, it may be recognized that a conventional table (that is, a table recognized by the codec number 1152, the profile and level number 1154 and the tabe identifier 1160) is to be applied without any changing. In other words, the codec number(codec_num) 1152 and the profile and level number(profile_layer_num) 1154 corresponding to a table to be applied are described in the content field 1163. However, if the table type 1162 value is 1, it may be recognized that a part of a conventional table (that is, a table recognized by the codec number 1152, the profile and level number 1154 and the tabe identifier 1160) is to be changed and applied. In this case, the codec number(codec_num) 1152 and the profile and level number(profile_layer_num) 1154 corresponding to a table to be applied are described in the content field 1163 and the changed contents (e.g., update command, etc) is described in the changed content field .
However, if the table type 1162 value is 2, it may be recognized that a conventional table (that is, a table recognized by the tabe identifier 1160) is to be completely changed (that is, change to contents defined in the content field 1163) and applied. In this case, the changed content (e.g., content to newly define the pertinent table such as new command, etc.) may be described in the content field 1163. hi other words, as described above, if the table type 1162 is 0 or 1, a certain codec is used as it is or a part of tables is changed, so that codec information(e.g., the codec number 1152, the profile and level number 1154) is needed. On the other hand, if the table type is 2, new table information is defined, so that codec information is not needed.
The fourth decoder description structure is illustrated in FIG. 15. According to the fourth decoder description structure illustrated in FIG. 15, the decoder description region may be composed of a codec type 1150 and a table description 1156. hi other words, according to the third decoder description structure, information about codec to be applied and content to be changed among the 7 tables may be described in the decoder description region. Here, the table description is independently provided to each table.
Each table description 1156 may include a table start code 1158, a table identifier 1160, a table type 1162, a content 1163, and a table end code 1164. A size of each field may be balanced, if necessary.
For example, if the table type 1162 is a predetermined value (e.g., 2), information(e.g., content to newly define a pertinent table such as new command) to describe a new table corresponding to the table indetifier 1160 is described in the content field 1163. As described above, if the codec type is 3, it is recognized that the decoding is performed by using new tables, the table bype 1162 is designated with 1 or the table type 1162 can be omitted.
Hereinafter, the syntax structure of the decoder description region and the syntax structure of each field are shown as the following tables.
Table 12. Decoder description
Figure imgf000091_0001
Figure imgf000092_0002
Table 13. Codec Description
Figure imgf000092_0003
Table 14. Table Description
Figure imgf000092_0001
Figure imgf000093_0001
Table 15. Update Description
Figure imgf000093_0002
Figure imgf000094_0001
Table 16. New Description
Figure imgf000094_0002
Hereinafter, semantics of the decoder description is described with the following tables.
Table 17. Decoder description
Figure imgf000094_0003
0x04-0xFF RESERVED
Here, the codec type is a 8 bit code which can be information to identify the codec type.
Table 18. Codec Description
Figure imgf000095_0001
Here, the codec number is a 8 bit code which can be information the codec code used. The profile and lever number is also a 8 bit code which can be information to indicate the profile and level number for the codec. The profile and level number may correspond to each MPEG standard.
Table 19. Table DescriptionCTable Indetifief)
Figure imgf000095_0002
Figure imgf000096_0001
Here, the table start code may be 26 bit character sequesce OxFFFFFE of hexadecimal digits which means the beginning of the table description. The table indetifier may a 4 bit code as shown in Table 12.
Table 20. Table DescriptionfTable Type)
Figure imgf000096_0002
Here, the table type is a 4 bit code which is information to determine if a conventional table is to be kept or updated or a new table is to be generated. The table end cod may be 26 bit character sequesce OxFFFFFF of hexadecimal digits which means the end of the table description.
Table 21. Update Command for Infraction Set
Figure imgf000097_0001
Here, the index nuber may be a 4 bit character sequence indicating a certain table index and the table number may be a 32 bit character sequence which is a table identifier.
Table 22. New Command for Instruction Set
Figure imgf000097_0002
Figure imgf000098_0001
Here, the bit is a random value of 3 to 34 bits representing a number of bits requested and B is one bit character sequence representing byte alignment. ">" is one bit character sequence for printing output of the left side and VLD2(for MPEG-2) and VLD4(for MPEG-4) are functions for the entropy coding.
FIG. 23 is a block diagram illustrating an encoder in accordance with an embodiment of the present invention.
An encoder 2300 according to the present invention further includes a extended bitstream generating and outputting unit 2310 compared to the conventional encoder 200 as described in FIG. 2. The extended bitstream generating and outputting unit 2310 generates decoder descriptions by using a control information list and reconfigurable connection for the conventional bitstream generation process generated by previous processings, input data for pertinent functional units, syntax information, and syntax connection information, etc. A extended bitstream 305 is generated by using the generated decoder descriptions and the conventional bitstream 105 and transmitted to the decoder 300. Since the method of generating decoder description is easily understood to those skilled in the art, detailed explanation thereof is omitted. It is also apparent to those skilled in the art that the encoder 2300 has a tool-box including 2 or more of functional units and one or more of bitstreams are generated according to one or more of encoding standards by sequential combinations or systemical combinations of these functional units. Further, the variable length encoding unit 230 merely refers to an element (e.g. encoding unit) finally performing an encoding to generate the conventional bitstream 105 in the encoder 2300, but the present invention is not limited to the variable length encoding unit 230. Also this does not restrict the scope of claims of the present invention.
FIG. 23 assumes the case that the extended bitstream 305 generated by using the decoder description information and the conventional bitstream 105 is provided to the decoder.
However, as described above, the decoder description information can be provided to the decoder 300 by an additional data format or a bitstream format. In this case, it is evidently possible that the extended bitstream generating and outputting unit 2310 is not provided at the end of the variable length encoding unit 235 and the extended bitstream generating and outputting unit 2310 is independently provided from the conventional encoding unit 200 to provide independently-generated information to the decoder 300.
In the present description, the unified codec device and method in accordance with the present invention is mainly described based on the decoder. Considering that the relationship between the decoder and encoder is well-known to those skilled in the art and the encoder can easily be structured with the description related to the decoder only, it is evident that the present invention is not limited to the decoder. As described above, the unified codec device and method of the present invention makes it easy to analyze a syntax element in a standard (or codec) or between different standards or to control the connection of pertinent functional units. In other words, in the present invention, there is no problem when changing the sequence of syntax elements in the bitstream generated according to a particular standard, inserting new elements and deleting a previous syntax element.
Also, in accordance with a prior art, there is a problem that the decoder is not able to properly decode a corresponding bitstream in the manipulation of the syntax element. For example, if a structure of ABC bitstream information is changed to a structure of ACB, the decoder may not recognize the structure of ACB and thus impossible to perform a proper decoding. Similarly, for a structure of ABFC by adding F or another structure of AC by deleting B, the decoder may not recognize the structure and thus impossible to perform the proper decoding.
However, in the unified codec device and method of the present invention, since the decoder description included in the extended bitstream or the decoder description as independent data is provided to the decoder 300, the decoder 300 can perform the proper decoding operation.
The syntax analyzing method for the decoding device and the bitstream decoding in accordance with the present invention has been described based on the MPEG-4 AVC. However, it is evident that the present invention can be identically applied to the MPEG-I, MPEG-2, MPEG-4 and other video data encoding/decoding standards without any restriction.
It is also evident that each table can be described not only with information of reconfigurable connection of functional units for performing decoding according to one standard and processing processes requested according to a pertinent functional unit but also with information for performing decoding according to 2 or more standards.
For example, it is assumed that the first plurality of frames of encoded video data included in a extended bitstream is encoded by MPEG-2, the following plurality of frames is encoded by MPEG-4, and the last plurality of frames is encoded by MPEG-I . In this case, it is apparent that table information included in the decoder description to decode the encoded video data is described such way that each frame with a different encoding method allows functional units corresponding to each standard included in the tool-box 510 to be systemically combined and performed.
[Industrial Applicability]
The present invention allows decoding a bitstream that is encoded by various types (syntax and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC) by using the same information recognizing method. The present invention allows generating a extended bitstream including decoder descriptions for encoding a bitstream that can generate a extended bitstream including decoder description to decode bitstreams encoded by various types (syntax and semantics) in accordance with each standard by using the same information recognizing method.
Further, the present invention allows describing decoder descriptions more efficiently by employing hierarchical structure of codec to syntax parsing and decoding process.
Further, the present invention allows suggesting scheduling management of each codec and systematic processing structure (i.e., parallel combination structure, sequential combination structure, independent processing structure, individual processing structure, etc.) of each functional unit by using the decoder description.
Further, the present invention allows designing and building various systems only with the above described decoder descriptions.
Further, the present invention allows parsing a bitstream compressed by various encoding methods by using the same information analyzing method and controlling systematically each functional unit for decoding by using the parsed data. Further, the present invention allows universally applying a syntax analysis method to decode various types of bit streams. Further, the present invention allows applying a new set of commands to parse various types of bitstreams by a common syntax analysis method.
Further, the present invention allows decoding easily bitstreams when a syntax element is changed, inserted, or deleted. Further, the present allows sharing elements used for the bitstream decoding of the element information (i.e. a result from syntax parsing) of analyzed syntax.
Further, the present invention allows using the element information of analyzed syntax for analyzing the syntax element of a following bitstream.
Further, the present invention can be applied when video and still image codecs processing by a block unit besides MPEG- 1 , MPEG-2, MPEG-4 MPEG-4 AVC are unified.
Further, the present invention allows storing functions which are included during various decoding processes suggested by several standards (codec) and divided by each functional unit into a tool box. Further, the present invention can select and use only necessary functional units from the tool box to decode a bitstream encoded by various types.
Further, the present invention allows easy changing, inserting, or deleting functional units stored in the tool box. The drawings and detailed description are only examples of the present invention, serve only for describing the present invention and by no means limit or restrict the spirit and scope of the present invention. Thus, any person of ordinary skill in the art shall understand that a large number of permutations and other equivalent embodiments are possible. The true scope of the present invention must be defined only by the spirit of the appended claims.

Claims

[CLAIMS]
[Claim 1 ] A decoding device, comprising: a decription storing unit; a decoder description decoder storing n numbers of partial decoder descriptions, which are generated by using received decoder descriptions, in the decription storing unit; and a decoder forming unit decoding and outputting encoded video data included in bitstream received from a encoder to video data by using at least one partial decoder description(s) stored in the description storing unit.
[Claim 2 ] The decoding device of Claim 1 , wherein the decoder forming unit comprises: a tool-box including at least one functional unit each implemented for processing a predetermined process; and a storing unit storing at least one of control signal and context information(CSCI), produced performing a process by the at least one functional unit, and data for decoding processing, in which the at least one functional unit comprises at least one parsing functional units for syntzx parsing of a bitstream and 2 or more of decoding functional units for decoding the encoded video data, and the decoding functional units determines either activation or call according to hierarchical structure of the encoded video data.
[Claim 3 ] The decoding device of Claim 2, wherein the hierarchical structure is composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macro block layer and a block layer and a lower layer may be called by an upper layer.
[Claim 4] The decoding device of Claim 2, wherein the decoding functional units each performs operatioin when the control signal and context information(CSCI) for performing a predetermined process and data for decoding processing are stored in the storing unit.
[Claim 5 ] The decoding device of Claim 4, wherein a dedicated storage space is assigned for each of the decoding functional units.
[Claim 6] The decoding device of Claim 2, wherein the storing unit comprises: a control signal and context information(CSCI) storing unit storing control signal/context information(CSCI) generated by the parsing functional unit; and a data storing unit storing at least one of data for the decoding processing of data corresponding to the encoded video data generated by the parsing functional unit and processe data processed by the decoding functional unit.
[Claim 7] The decoding device of Claim 2, wherein the partial decoder descriptions stored in the description storing unit each is: a decoding hierarchy table(DHT) representing hierarchical structure for decoding the encoded video data and information of the lower layer per each hierarchy; a syntax element table(SET) representing a process to generate information for bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table(S-RT) designating names of connection information between the bitstream syntax, information for the lower layer per each hierarchy to call, and CSCI information which is result data generated by performing the SET process; a control signal and context information table(CSCIT) representing detailed information of the CSCI information per each hierarchical structure; a FU rule table(F-RT) representing an order of call or activation between at least one decoding functional units based on the hierarchical structure; a FU list(FL) representing a list of the decoding functional units; a FU-control signal and context information table(FU-CSCIT) representing CSCI information for performing a process by the decoding functional units; and a default value table(D VT) representing a relationship between actual values and code values during the entropy coding.
[Claim 8 ] The decoding device of Claim 7, wherein the decoding forming unit further comprises a decoding control unit controlling activation or call of at least one decoding functional units corresponding to the highest layer by using the F- RT.
[Claim 9] The decoding device of Claim 7, wherein the parsing functional unit generates at least one of data of the CSCI information and data to be decoded by using at least one of the SET, the S-RT, and the CSCIT.
[Claim 10] The decoding device of Claim 7, wherein the decoding functional unit performs a predetermined process by using at least one of the FL, the F- RT, the FU-CSCIT, and the CSCIT.
[Claim 11 ] A decoding device comprising: a description storing unit; a decoder description decoder generating n number(natural number) of partial decoder descriptions corresponding to the decoder description received from the encoder and storing the result data in the description storing unit; a decoding forming unit including 2 or more of functional unit pre-assigned with each process to be performed for decoding and outputting video data corresponding to encoded video data which are contained in the bitstream received from the encoder and a information storing unit storing the process data of each functional unit; and a decoding control unit performing activation or call of the functional units belonging to the highest layer corresponding to the hierarchical structure of the encoded video data.
[ Claim 12] The decoding device of Claim 11 , wherein the 2 or more of functional units comprises at least one parsing functional unit for syntzx parsing of a bitstream and 2 or more of decoding functional units for decoding the encoded video data, the process data to be stored in the information storing unit comprises at least one of control signal and contex information generated with the process by the at least one functional unit and data for decoding process.
[Claim 13] The decoding device of Claim 12, wherein the decoding functional units determine activation or call depending on the hierarchical structure of the encoded video data.
[Claim 14] The decoding device of Claim 12, wherein the decoding functional units each starts operation by storing the CSCI information requested to perform a predetermined process and data for decoding processing into the information storing unit.
[Claim 15] A decoding method comprising: generating and storing 2 or more of partial decoder descriptions corresponding to the description information when bitstreams and description information are inputted; and calling a parsing functional unit and one or more of decoding functional units corresponding to the highest layer by using one or more of partial decoder descriptions, wherein, the parsing functional unit performs syntax parsing of the bitstream and the decoding functional units of the highest layer perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit, when the control signal and context information (CSCI) for performing a first layer corresponding to the hierarchical structure and data for decoding are stored in the storing unit, the first layer is called by a second layer which is in an activation state.
[Claim 16] The decoding method of Claim 15, wherein the decoding functional units determine activation or call depending on the hierarchical structure of the encoded video data, video data corresponding to the bitstream is outputted by performing one or more times of the process of each decoding functional unit specified in the description information.
[Claim 17] The decoding method of Claim 15, wherein the storing unit comprises: a CSCI storing unit storing the control signal andcontext information(CSCI) generated by the parsing functional unit; and a data storing unit storing at least one of data for decoding processing of the data corresponding to the encoded video data generated by the parsing functional unit and the processe data processed by the decoding functional unit.
[Claim 18] The decoding method of Claim 18, wherein the decoding functional units each starts operation by storing the CSCI information requested to perform a predetermined process and data for decoding processing into the storing unit.
[ Claim 19] A recording medium recorded with a program wherein the recording medium is implemented with a program of commands executable in the decoding device and is recorded with a program readable by the decoding device, the recording medium recorded with a program comprising: generating and storing 2 or more of partial decoder descriptions corresponding to the description information when bitstreams and description information are inputte; calling a parsing functional unit and one or more of decoding functional units corresponding to the highest layer by using the one or more of partial decoder descriptions, wherein, the parsing functional unit performs syntax parsing of the bitstream and the decoding functional units of the highest layer perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit, when the control signal and context information (CSCI) for performing a first layer corresponding to the hierarchical structure and data for decoding are stored in the storing unit, the first layer may be called by a second layer which is in an activation state.
[Claim 20] An encoder device comprising: an encoding unit generating bitstreams including encoded video data corresponding to video data by using 2 or more of functional units which perform functions suggested by at least one encoding standard; and a description encoder generating decoder descriptions corresponding to n number(a natural number) of decorder descriptions which assign operation relations between the 2 or more of functional units included in the decoder for decoding the encoded video data, both the bitstreams and the decoder descriptions is provided to the decoder for the bitstream decoding.
[ Claim 21] The encoding device of Claim 20, further comprising a extended bitstream generating and outputting unit generating a extended bitstream by using the bitstreams and the decoder descriptions.
[Claim 22] A encoding method comprising: generating a bitstream including encoded video data corresponding to video data by uring 2 or more of functional units to perform each function suggested by one or more of encoding standards; and generating decoder description corresponding to n(a natural number) number of partial decorder description which assign operation relationships between the 2 or more of functional units included in the decoder for decoding the encoded video data, wherein, both the bitstreams and the decoder descriptions is provided to the decoder for the bitstream decoding.
[ Claim 23 ] The encoding method of Claim 22, further comprising generating a extended bitstream by using the bitstreams and the decoder descriptions.
[Claim 24] The encoding method of Claim 22, wherein the 2 or more of functional units included in the decoder comprise at least one parsing functional unit for syntax parsing of the bitstream and 2 or more of decoding functional units for decoding the encoded video data, the decoding functional units determines activation or call depending on the hierarchical structure of the encoded video data by the partial decorder description generated by the decoder descriptions.
[Claim 25 ] The encoding method of Claim 24, wherein the hierarchical structure is composed of at least one layer chosen from a sequence layer, a GOP layer, a picture layer, a slice layer, a macroblock layer and a block layer and a first layer which is a deactivated state is called by a second layer which is already activated according to the partial decorder description included in the decoder description.
PCT/KR2007/004855 2006-10-18 2007-10-04 Device and method for encoding/decoding bit-stream WO2008048009A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060101245A KR100813435B1 (en) 2006-10-18 2006-10-18 Device and method for encoding/decoding bit-stream
KR10-2006-0101245 2006-10-18

Publications (1)

Publication Number Publication Date
WO2008048009A1 true WO2008048009A1 (en) 2008-04-24

Family

ID=39314193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2007/004855 WO2008048009A1 (en) 2006-10-18 2007-10-04 Device and method for encoding/decoding bit-stream

Country Status (2)

Country Link
KR (1) KR100813435B1 (en)
WO (1) WO2008048009A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105594215A (en) * 2013-10-11 2016-05-18 夏普株式会社 Color information and chromaticity signaling
RU2635877C2 (en) * 2009-08-14 2017-11-16 Самсунг Электроникс Ко., Лтд. Video encoding method and device, video decoding method and device based on hierarchical coded block pattern information

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101465977B1 (en) * 2012-04-15 2014-12-01 삼성전자주식회사 Method and apparatus for encoding/decoding video for parallel processing
KR102114509B1 (en) * 2012-08-24 2020-05-22 아이큐브드 연구소 주식회사 Receiving device, transmission device, and image transmission method
KR102166158B1 (en) 2018-12-19 2020-10-15 (주)이머시브캐스트 Stereoscopic video encoding apparatus, stereoscopic video decoding apparatus and stereoscopic video display system including the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041065A2 (en) * 1999-11-29 2001-06-07 Koninklijke Philips Electronics N.V. Method for coding and decoding multimedia data
EP1439709A2 (en) * 2003-01-08 2004-07-21 LG Electronics Inc. Apparatus and method for supporting plural codecs
US20050117885A1 (en) * 2003-01-16 2005-06-02 Samsung Electronics Co., Ltd. DVD player and method of reproducing multimedia file using the DVD player
WO2006043795A1 (en) * 2004-10-22 2006-04-27 Humax Co., Ltd. Device and method for merging different video codec
KR20060066314A (en) * 2004-12-13 2006-06-16 엘지전자 주식회사 Processing apparatus and method for substitution picture of picture phone

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100606827B1 (en) 2004-01-27 2006-08-01 엘지전자 주식회사 Data architecture of VCT, method for judging transmitted stream, and broadcasting receiver

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041065A2 (en) * 1999-11-29 2001-06-07 Koninklijke Philips Electronics N.V. Method for coding and decoding multimedia data
EP1439709A2 (en) * 2003-01-08 2004-07-21 LG Electronics Inc. Apparatus and method for supporting plural codecs
US20050117885A1 (en) * 2003-01-16 2005-06-02 Samsung Electronics Co., Ltd. DVD player and method of reproducing multimedia file using the DVD player
WO2006043795A1 (en) * 2004-10-22 2006-04-27 Humax Co., Ltd. Device and method for merging different video codec
KR20060066314A (en) * 2004-12-13 2006-06-16 엘지전자 주식회사 Processing apparatus and method for substitution picture of picture phone

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2635877C2 (en) * 2009-08-14 2017-11-16 Самсунг Электроникс Ко., Лтд. Video encoding method and device, video decoding method and device based on hierarchical coded block pattern information
CN105594215A (en) * 2013-10-11 2016-05-18 夏普株式会社 Color information and chromaticity signaling
CN105594215B (en) * 2013-10-11 2019-04-23 夏普株式会社 Colouring information and coloration signaling

Also Published As

Publication number Publication date
KR100813435B1 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
US8711946B2 (en) Device and method for unified codes
US8331455B2 (en) Device and method for encoding/decoding video data
US8817886B2 (en) Bitstream decoding device having a toolbox with a plurality of functional units distinguishable via identification information and a corresponding method
WO2008048009A1 (en) Device and method for encoding/decoding bit-stream
US8774285B2 (en) Method and apparatus for adaptive decoding
US20100208829A1 (en) Bitstream decoding device and method having decoding solution
WO2008048010A1 (en) Device and method for encoding/decoding bit-stream
KR101380825B1 (en) Bitstream decoding device and method having decoding solution
EP2208347A2 (en) Bitstream decoding device and method
WO2009005225A1 (en) Device and method for encoding/decoding video data
WO2008123710A1 (en) Bitstream decoding device and method having decoding solution
US8565320B2 (en) Device and method for encoding/decoding video data
KR20080035421A (en) Device and method for encoding/decoding bit-stream
KR100767606B1 (en) Device and Method for unified codecs
KR100807100B1 (en) Device and Method for unified codecs
KR101305513B1 (en) Device and Method for encoding/decoding Video data
WO2009005226A1 (en) Device and method for encoding/decoding video data
KR20080006430A (en) Device and method for unified codecs
KR101305517B1 (en) Bitstream decoding device and method having decoding solution
KR101305516B1 (en) Bitstream decoding device and method having decoding solution
KR20080035420A (en) Device and method for encoding/decoding bit-stream
KR20070075270A (en) Device and method for unified codecs
KR20070098459A (en) Device and method for unified codecs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07833167

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07833167

Country of ref document: EP

Kind code of ref document: A1